Files
Client/Tools/LauncherMY/UpdateManager.h
LGram16 e067522598 Initial commit: ROW Client source code
Game client codebase including:
- CharacterActionControl: Character and creature management
- GlobalScript: Network, items, skills, quests, utilities
- RYLClient: Main client application with GUI and event handlers
- Engine: 3D rendering engine (RYLGL)
- MemoryManager: Custom memory allocation
- Library: Third-party dependencies (DirectX, boost, etc.)
- Tools: Development utilities

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-29 16:24:34 +09:00

119 lines
2.3 KiB
C++

#pragma once
#include "HTTPFile.h"
//#include "List.h"
//using namespace RTL;
//#include "../ZipLib/RZipRapper.h"
#include "GradientStatic.h"
#include <PatchCommon/PatchInfoList.h>
#pragma warning( disable : 4786 )
#include <vector>
#include <map>
//UINT AFXAPI HashKey(CString& string);
class CUpdateManager
{
public:
void Init();
bool ProcessNoticeFiles();
bool LoadServerPatchInfo();
// bool LoadLocalPatchInfoCache();
bool CollectDownloadFileList( bool bFileCheckMode );
bool DownloadUpdateFile();
bool ExtractPatchFiles();
void AddToPkg2FileNameBucket( char* szPkgName, char* szFileName );
bool CleanUp();
void Terminate()
{
m_bTerminate = true;
}
void SetServerClosed( bool b )
{
m_bServerClosed = b;
}
static BOOL m_bUpdateLogin;
CHTTPFile m_HTTPFile;
CString m_strServerPath;
void SetVersion( int nVersion ) { m_nVersion = nVersion; }
int GetVersion() { return m_nVersion; }
void SetRootPath( CString strRootPath ) { m_strRootPath = strRootPath; }
void SetProgressInfo( float* pfFileProgressPercentage, float* pfProgressPercentage, CGradientStatic *pInfoWnd, CWnd *pDisplayWnd)
{
m_pInfoWnd = pInfoWnd;
m_pDisplayWnd = pDisplayWnd;
m_pfProgressPercentage = pfProgressPercentage;
m_pfFileProgressPercentage = pfFileProgressPercentage;
m_HTTPFile.SetProgressWnd( m_pDisplayWnd , m_pInfoWnd, pfFileProgressPercentage );
}
CUpdateManager();
~CUpdateManager();
// void Update( CString strPath );
private:
int m_nVersion;
bool m_bServerClosed;
CGradientStatic *m_pDisplayState;
CWnd *m_pZipCountDisplayState;
CString m_strRootPath;
float* m_pfProgressPercentage;
float* m_pfFileProgressPercentage;
int m_nFileCount;
CPatchInfoList m_ServerFileInfoList;
struct IndexPair
{
int IdxServer;
int idxLocal;
};
//CMap<CString, CString&, CArray<IndexPair, IndexPair&>*, CArray<IndexPair, IndexPair&>* > m_mapPackageName2IndexPairArray;
std::map< PTR_STRING, std::vector< char* > *, PTR_STRING_LESS > m_mapPackageName2FileNameVectorPtr;
static CGradientStatic *m_pInfoWnd;
static CWnd *m_pDisplayWnd;
bool m_bTerminate;
// bool SaveLocalCache();
// bool CreateFileInfoCache();
long GetFileCountInSubDir( const char* szSubDirName );
//void LoadClientFileInfoCacheList();
//void SaveClientFileInfoCacheList();
};