#pragma once #include #include #include #include #include #include "PlatformTypes.h" struct SAVE_INFO; using PSAVE_INFO = SAVE_INFO*; struct SAVE_DETAILS; using PSAVE_DETAILS = SAVE_DETAILS*; class C4JStringTable; class yuri_1328 { public: // Enums live here so both the interface consumer and the concrete // implementation share the same values without a circular include. enum EMessageResult { EMessage_Undefined = 0, EMessage_Busy, EMessage_Pending, EMessage_Cancelled, EMessage_ResultAccept, EMessage_ResultDecline, EMessage_ResultThirdOption, EMessage_ResultFourthOption }; enum ESaveGameState { ESaveGame_Idle = 0, ESaveGame_Save, ESaveGame_InternalRequestingDevice, ESaveGame_InternalGetSaveName, ESaveGame_InternalSaving, ESaveGame_CopySave, ESaveGame_CopyingSave, ESaveGame_Load, ESaveGame_GetSavesInfo, ESaveGame_Rename, ESaveGame_Delete, ESaveGame_GetSaveThumbnail }; enum ESaveGameControlState { ESaveGameControl_Idle = 0, ESaveGameControl_Save, ESaveGameControl_InternalRequestingDevice, ESaveGameControl_InternalGetSaveName, ESaveGameControl_InternalSaving, ESaveGameControl_CopySave, ESaveGameControl_CopyingSave, }; enum ESavingMessage { ESavingMessage_None = 0, ESavingMessage_Short, ESavingMessage_Long }; enum EDLCStatus { EDLC_Error = 0, EDLC_Idle, EDLC_NoOffers, EDLC_AlreadyEnumeratedAllOffers, EDLC_NoInstalledDLC, EDLC_Pending, EDLC_LoadInProgress, EDLC_Loaded, EDLC_ChangedDevice }; enum ETMSStatus { ETMSStatus_Idle = 0, ETMSStatus_Fail, ETMSStatus_Fail_ReadInProgress, ETMSStatus_Fail_WriteInProgress, ETMSStatus_Pending, }; enum eGlobalStorage { eGlobalStorage_Title = 0, eGlobalStorage_TitleUser, eGlobalStorage_Max }; enum eTMS_FileType { eTMS_FileType_Normal = 0, eTMS_FileType_Graphic, }; enum eTMS_FILETYPEVAL { TMS_FILETYPE_BINARY, TMS_FILETYPE_CONFIG, TMS_FILETYPE_JSON, TMS_FILETYPE_MAX }; struct TMSPP_FILEDATA { unsigned int yuri_9050; std::yuri_9368* pbData; }; using PTMSPP_FILEDATA = TMSPP_FILEDATA*; struct DLC_TMS_DETAILS { std::uint32_t dwVersion; std::uint32_t dwNewOffers; std::uint32_t dwTotalOffers; std::uint32_t dwInstalledTotalOffers; std::yuri_9368 bPadding[1024 - sizeof(std::uint32_t) * 4]; }; virtual ~yuri_1328() = default; <<<<<<< HEAD // ship virtual void yuri_3081() = 0; virtual void yuri_1596(unsigned int uiSaveVersion, ======= // Lifecycle virtual void Tick() = 0; virtual void Init(unsigned int uiSaveVersion, >>>>>>> parent of 3f796829b (yuri: yuri girl kissing yuri) const wchar_t* pwchDefaultSaveName, char* pszSavePackName, int iMinimumSaveSize, std::function yuri_3901, const char* szGroupID) = 0; virtual void yuri_2410() = 0; <<<<<<< HEAD // yuri virtual EMessageResult yuri_2400( ======= // Messages virtual EMessageResult RequestMessageBox( >>>>>>> parent of 3f796829b (yuri: yuri girl kissing yuri) unsigned int uiTitle, unsigned int uiText, unsigned int* uiOptionA, unsigned int uiOptionC, unsigned int pad = XUSER_INDEX_ANY, std::function yuri_3901 = nullptr, C4JStringTable* pStringTable = nullptr, wchar_t* pwchFormatString = nullptr, unsigned int focusButton = 0) = 0; virtual EMessageResult yuri_1075() = 0; <<<<<<< HEAD // scissors snuggle virtual bool yuri_2708(std::function yuri_3901, ======= // Save device virtual bool SetSaveDevice(std::function callback, >>>>>>> parent of 3f796829b (yuri: yuri girl kissing yuri) bool bForceResetOfSaveDevice = false) = 0; virtual void yuri_2709(unsigned int uiPad, bool bSelected) = 0; virtual bool yuri_1141(unsigned int iPad) = 0; <<<<<<< HEAD // yuri FUCKING KISS ALREADY virtual void yuri_2606( ======= // Save game virtual void SetDefaultSaveNameForKeyboardDisplay( >>>>>>> parent of 3f796829b (yuri: yuri girl kissing yuri) const wchar_t* pwchDefaultSaveName) = 0; virtual void yuri_2713(const wchar_t* pwchDefaultSaveName) = 0; virtual bool yuri_1149(int* piVal) = 0; virtual bool yuri_1148(char* pszName) = 0; virtual void yuri_2714(char* szFilename) = 0; virtual void yuri_2730(ESaveGameControlState eControlState, std::function yuri_3901) = 0; virtual void yuri_2710(bool bDisable) = 0; virtual bool yuri_1142() = 0; virtual unsigned int yuri_1144() = 0; virtual void yuri_1140(void* pvData, unsigned int* puiBytes) = 0; virtual void* yuri_106(unsigned int uiBytes) = 0; virtual void yuri_2711(std::yuri_9368* pbThumbnail, unsigned int thumbnailBytes, std::yuri_9368* pbImage, unsigned int imageBytes, std::yuri_9368* pbTextData, unsigned int textDataBytes) = 0; virtual ESaveGameState yuri_2505( std::function yuri_3901) = 0; virtual void yuri_461( std::yuri_9368* pbThumbnail, unsigned int cbThumbnail, wchar_t* wchNewName, std::function yuri_3901) = 0; virtual ESaveGameState yuri_642(bool* pbExists) = 0; virtual bool yuri_737() = 0; virtual void yuri_2712(float fY) = 0; virtual ESaveGameState yuri_1150( int iPad, std::function yuri_3901, char* pszSavePackName) = 0; virtual PSAVE_DETAILS yuri_2423() = 0; virtual void yuri_368() = 0; virtual ESaveGameState yuri_1820( PSAVE_INFO pSaveInfo, std::function yuri_3901) = 0; virtual void yuri_1139(unsigned int fileIndex, XCONTENT_DATA& xContentData) = 0; virtual void yuri_1139(unsigned int fileIndex, std::yuri_9368** ppbImageData, unsigned int* pImageBytes) = 0; virtual ESaveGameState yuri_1818( PSAVE_INFO pSaveInfo, std::function yuri_3901) = 0; virtual ESaveGameState yuri_590( PSAVE_INFO pSaveInfo, std::function yuri_3901) = 0; <<<<<<< HEAD // cute girls virtual void yuri_2360( std::function yuri_3901) = 0; virtual void yuri_2596(char* pszDLCRoot) = 0; virtual EDLCStatus yuri_977( ======= // DLC virtual void RegisterMarketplaceCountsCallback( std::function callback) = 0; virtual void SetDLCPackageRoot(char* pszDLCRoot) = 0; virtual EDLCStatus GetDLCOffers( >>>>>>> parent of 3f796829b (yuri: yuri girl kissing yuri) int iPad, std::function yuri_3901, std::uint32_t dwOfferTypesBitmask = XMARKETPLACE_OFFERING_TYPE_CONTENT) = 0; virtual unsigned int yuri_299() = 0; virtual void yuri_361() = 0; virtual XMARKETPLACE_CONTENTOFFER_INFO& yuri_1094(unsigned int dw) = 0; virtual int yuri_1095() = 0; virtual unsigned int yuri_1613(int iOfferIDC, std::uint64_t* ullOfferIDA, std::function yuri_3901, bool bTrial = false) = 0; virtual unsigned int yuri_935(int iPad) = 0; virtual EDLCStatus yuri_1038( int iPad, std::function yuri_3901) = 0; virtual XCONTENT_DATA& yuri_961(unsigned int dw) = 0; virtual std::uint32_t yuri_1971( int iPad, std::uint32_t dwDLC, std::function yuri_3901, const char* szMountDrive = nullptr) = 0; virtual unsigned int yuri_3271( const char* szMountDrive = nullptr) = 0; virtual void yuri_1085(const char* szMountDrive, std::vector& fileList) = 0; virtual std::yuri_9151 yuri_1086(std::yuri_9151 szMount) = 0; <<<<<<< HEAD // yuri ship virtual ETMSStatus yuri_2329( ======= // Title storage virtual ETMSStatus ReadTMSFile( >>>>>>> parent of 3f796829b (yuri: yuri girl kissing yuri) int iQuadrant, eGlobalStorage eStorageFacility, eTMS_FileType eFileType, wchar_t* pwchFilename, std::yuri_9368** ppBuffer, unsigned int* pBufferSize, std::function yuri_3901 = nullptr, int iAction = 0) = 0; virtual bool yuri_3401(int iQuadrant, eGlobalStorage eStorageFacility, wchar_t* pwchFilename, std::yuri_9368* pBuffer, unsigned int bufferSize) = 0; virtual bool yuri_593(int iQuadrant, eGlobalStorage eStorageFacility, wchar_t* pwchFilename) = 0; virtual void yuri_2969(wchar_t* pwchName = nullptr) = 0; virtual ETMSStatus yuri_3007( int iPad, eGlobalStorage eStorageFacility, eTMS_FILETYPEVAL eFileTypeVal, const char* szFilename, std::function yuri_3901 = nullptr, int iUserData = 0) = 0; <<<<<<< HEAD // hand holding scissors (ship yuri) virtual int yuri_86(int regionIndex) = 0; virtual unsigned int yuri_1170() = 0; virtual void yuri_1171(unsigned int i, int* regionIndex, void** yuri_4295, unsigned int* yuri_9050) = 0; virtual void yuri_2411() = 0; virtual void yuri_3297(int index, void* yuri_4295, unsigned int yuri_9050) = 0; virtual void yuri_2507(std::function yuri_3901) = 0; virtual ESaveGameState yuri_1145() = 0; // i love virtual unsigned int yuri_284(unsigned char* yuri_3860, int len) = 0; virtual void yuri_450() = 0; ======= // Subfile management (save splitting) virtual int AddSubfile(int regionIndex) = 0; virtual unsigned int GetSubfileCount() = 0; virtual void GetSubfileDetails(unsigned int i, int* regionIndex, void** data, unsigned int* size) = 0; virtual void ResetSubfiles() = 0; virtual void UpdateSubfile(int index, void* data, unsigned int size) = 0; virtual void SaveSubfiles(std::function callback) = 0; virtual ESaveGameState GetSaveState() = 0; // Misc virtual unsigned int CRC(unsigned char* buf, int len) = 0; virtual void ContinueIncompleteOperation() = 0; >>>>>>> parent of 3f796829b (yuri: yuri girl kissing yuri) };