#pragma once #include #include ////////////////////////////////////////////////////////////////////////// #pragma pack(push) #pragma pack(4) #define MAX_PACKAGE_FILE_NAME_LENGTH 50 #define MAX_FILE_NAME_LENGTH 200 struct FilePatchInfoRecord { char szFileName[MAX_FILE_NAME_LENGTH]; // (°ÔÀÓ·çÆ®·ÎºÎÅÍÀÇ)¼­ºêÆú´õ¸í+ÆÄÀϸí char szPackageFileName[MAX_PACKAGE_FILE_NAME_LENGTH]; // ³â¿ùÀÏ_½ÃºÐ_nnn (È®ÀåÀÚ ".zip" Á¦¿Ü) DWORD dwSize; DWORD dwCRC32; DWORD dwVersion; FilePatchInfoRecord() { szFileName[0] = '\0'; szPackageFileName[0] = '\0'; dwSize = 0; dwCRC32 = 0; dwVersion = 100; } }; ////////////////////////////////////////////////////////////////////////// struct PTR_STRING { char* m_pStr; PTR_STRING( char* p ) { m_pStr = p; } }; struct PTR_STRING_LESS { bool operator()( const PTR_STRING ps1, const PTR_STRING ps2 ) const { return ( stricmp( ps1.m_pStr , ps2.m_pStr ) < 0 ); } }; ////////////////////////////////////////////////////////////////////////// class CPatchInfoList { public: bool Load( const char* szFileName ); bool Save( const char* szFileName ); void Reset(); void SetVersion( DWORD dwVer ) { m_dwVersion = dwVer; } DWORD GetVersion() { return m_dwVersion; } std::vector &GetList() { return m_vecPatchInfo; } bool LoadV1( const char* szFileName ); protected: DWORD m_dwVersion; std::vector m_vecPatchInfo; static const char* ms_cszHeaderString; }; #pragma pack(pop)