//
// Created by 86185 on 2021/5/8.
//

#ifndef _TSTORYCONFIG_H_
#define _TSTORYCONFIG_H_
#include "global_func.h"

struct TGoldenBootPack {
  int num;
  int Cost;
};

struct TPromoText {
  int id;
  char text[0x100];
};

struct TTrig {
  int Type;
  int Param;
};

// 0x3A0
struct TPromo {
  bool Enabled_b50;
  int ID_b54;
  long DateStart_b58;
  long EDateEnd_b5c;
  int Depend_b64;
  int Users_b64;
  char IapID_b68[0x20];
  int ProductIndex_b88;
  int Start_b8c;
  int StageIncrement_b90;
  int MinsIncrement_b94;
  int End_b98;
  bool InSideStory_b9c;
  int PerDay_ba0;
  int Bux_ba4;
  int MaxBux_ba8;
  char Energy_bac;
  int PurchaseMax_bb0;
  char Shop_bb4;
  char Boot_bb5;
  int Savings_BB8;
  struct TPromoText TitleText_BBc;
  struct TPromoText DescText_CC0;
  struct TPromoText PackText_DC4;
  int DisplayTime_ec8;
  int BlockTime_ecc;
  struct TTrig TrigList_ed0[4];
};

// 0xC
struct TEEListRecord {
  int ID;
  float name;
  int Credits;
};

// 0x38
struct TAdvertisingUserType {
  int VideoInitialFE_63BC;
  int VideoInitialInGame_63c0;
  int VideoRepeatFE_63c4;
  int VideoRepeatInGame_63c8;
  int FullScreenInitial_63cc;
  int FullScreenRepeat_63D0;
  char LevelSelectVideos_63D4;
  int IntroduceVideoEnergy_63D8;
  int IntroduceVideoShop_63DC;
  int IntroduceVideoPostStage_63e0;
  int IntroduceVideoInGame_63e4;
  int IntroduceFullPage_63e8;
  int IntroduceBanner_63ec;
  bool LevelsRefresh_63f0;
};

// 69b4
struct TStoryConfig {
  bool v1_0;
  int Version_4;
  int ConfigFileRefreshTime_8;
  int ConfigFileRefreshTime_c;
  int SessionSignInLength_10;
  int ReplayCamera_14;
  char CameraName_18[32][32];
  struct TPoint3D CameraPos_418[32];
  char DisableSPC_598;
  int FirstPurchasePercent_59C;
  int Start_5a0;
  int VideoClipCurrency_5a4;
  int VideoClipEnergy_5a8;
  int filed_5ac;
  int filed_5b0;
  int filed_5b4;
  bool filed_5b8;
  int SocialLogin_5bc;
  int SocialLink_5c0;
  int SocialPost_5c4;
  int RewindCosts_5c8[10];
  int UnlockMultiple_5F0;
  int SeasonUnlockMaxClamp_5F4;
  int SeasonUnlockMinClamp_5F8;
  int CareerReset_5fc;
  int EnergyRestoreAmount_600;
  int EnergyRestoreTime_604;
  int EnergyFailCost_608;
  int EnergyRestoreCredits_60c;
  int FreeRewind_610;
  int GoldenBootsPackCount_614;
  struct TGoldenBootPack *GoldenBootPackList_618;
  char IapID_61c[5][256];
  int Amount_B1C[5];
  int BestValue_b30;
  int MostPopular_b34;
  char Amountstart_b38[5];
  char filed_b3d[3];
  int ToLow_b40;
  int ToHigh_b44;
  int ToFreeLTS_ToFreeLTNS_b48;
  bool isToFreeLTS_b4c;
  struct TPromo PromoNodeList_b50[20];
  char UnlimitedIapID_53D0[256];
  int Unlimited_54D0;
  int PlayerCustomisationNumber_54D4[64];
  int PlayerCustomisationHairStyle_55D4[64];
  int PlayerCustomisationHairColour_56D4[64];
  int PlayerCustomisationFacialHair_57D4[64];
  int PlayerCustomisationBoots_58D4[64];
  int PlayerCustomisationNumberCount_59D4;
  int PlayerCustomisationHairStyleCount_59D8;
  int PlayerCustomisationHairColourCount_59DC;
  int PlayerCustomisationFacialHairCount_59E0;
  int PlayerCustomisationBootsCount_59e4;
  int PlayerCustomisationShirtNumbers_59E8[64];
  int InitRangeStart_5AE8;
  int InitRangeEnd_5AEC;
  int ShirtOrderPos_5AF0[40];
  bool ShowEventsBeforeActiveStage_5b90;
  char StartupMessageText_5b91[2047];
  int filed_6390;
  int StartupMessageID_6394;
  int filed_6398;
  int DownloadListStages_639c;
  int DownloadListAdBoards_63A0;
  int DownloadListAdText_63A4;
  int filed_63a8;
  int filed_63ac;
  int filed_63b0;
  int filed_63b4;
  int filed_63b8;
  struct TAdvertisingUserType AdvertisingUserTypeList_63BC[7];
  float RadiusScale_6544;
  char Reveal_6548;
  char filed_6549;
  char filed_654a;
  char filed_654b;
  int filed_654c;
  int filed_6550;
  bool FBLogin_6554;
  char FBScores_6555;
  char FBLink_6556[128];
  bool TWFollow_65D6;
  char FBAPI_65D7[8];
  int CrossPromotionText_65e0;
  char CrossPromotionImage_65E4[128];
  char CrossPromotionLink_6664[128];
  int CrossPromotionShow_66e4;
  int CrossPromotionStage_66e8;
  int CrossPromotionUsers_66ec;
  int CrossPromotionStart_66f0;
  int CrossPromotionEnd_66f4;
  char CrossPromotionPackageName_66F8[128];
  bool IsSeasonUnlocked_6778;
  bool Update_6779;
  char filed_677a;
  char filed_677b;
  struct TEEListRecord EEListRecordc_677c[3];
  char CCustomTextInfo_67a0;
  char IAPValidate_67a1;
  int EDTest_67a4;
  int Housekeeping_67a8;
  char DiamondMedal_67ac;
  char ObsidianMedal_67ad;
  bool GoogleCloud_67ae;
  char GfxOptHelp_67AF[512];
  int TOSID_69b0;
};

extern TStoryConfig STY_tConfig;
#endif  //_TSTORYCONFIG_H_
