#pragma once #include "4J_Storage.h" class CDLC { public: struct DriveMapping { std::string m_szDirectoryPath; std::string m_szMountPath; }; XCONTENT_DATA& GetDLC(DWORD dw); CDLC(void); C4JStorage::EDLCStatus GetOffers(int iPad, int(*Func)(LPVOID, int, DWORD, int), LPVOID lpParam, DWORD dwOfferTypesBitmask = XMARKETPLACE_OFFERING_TYPE_CONTENT); void ClearOffers(); C4JStorage::EDLCStatus GetInstalledDLC(int iPad, int(*Func)(LPVOID, int, int), LPVOID lpParam); DWORD MountInstalledDLC(int iPad, DWORD dwDLC, int(*Func)(LPVOID, int, DWORD, DWORD), LPVOID lpParam, LPCSTR szMountDrive = NULL); DWORD UnmountInstalledDLC(LPCSTR szMountDrive = NULL); void GetMountedDLCFileList(const char* szMountDrive, std::vector& fileList); std::string GetMountedPath(std::string szMount); void SetDLCProductCode(const char* szProductCode); void SetProductUpgradeKey(const char* szProductCode); int GetAvailableDLCCount(int iPad); void SetPackageRoot(char* pszDLCRoot); void Tick(void); void AddInstalled(XCONTENT_DATA* data); DWORD CancelOffers(void); DWORD dword0; int (*m_pInstalledDLCFunc)(LPVOID, int, int); LPVOID m_pInstalledDLCParam; BYTE gap18[16]; int m_iHasNewInstalledDLCs; std::vector m_vInstalledDLCs; BYTE gap48[4]; DWORD m_iHasNewMountedDLCs; int (*m_pMountedDLCFunc)(LPVOID, int, DWORD, DWORD); LPVOID m_pMountedDLCParam; std::string m_szMountPath; DWORD m_uiCurrentMappedDLC; DWORD dword94; char* m_szPackageRoot; BYTE gapA0[16]; DWORD dwordB0; BYTE gapC0[12]; DWORD dwordC0; std::vector m_vDLCDriveMappings; char m_szDLCProductCode[16]; char m_szProductUpgradeKey[60]; };