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>
86 lines
2.0 KiB
C++
86 lines
2.0 KiB
C++
#pragma once
|
|
#include "logedit.h"
|
|
#include "afxcmn.h"
|
|
#include "afxmt.h"
|
|
|
|
// CManualPatchPage 대화 상자입니다.
|
|
class CPMSetting;
|
|
|
|
|
|
struct MPProgressData
|
|
{
|
|
CList<CString> m_ProgressList;
|
|
CList<CString> m_ErrorList;
|
|
CList<CString> m_TotalProgressList;
|
|
|
|
ULONGLONG m_dwTotalFileSize;
|
|
ULONGLONG m_dwCurrentFileSize;
|
|
int m_nTotalFiles;
|
|
int m_nAddedFiles;
|
|
BOOL m_bStopWorkerThread;
|
|
};
|
|
|
|
class CManualPatchPage : public CPropertyPage
|
|
{
|
|
DECLARE_DYNAMIC(CManualPatchPage)
|
|
|
|
public:
|
|
CManualPatchPage(CPMSetting& pmSetting, DWORD dwPatchVersion);
|
|
virtual ~CManualPatchPage();
|
|
|
|
// 대화 상자 데이터입니다.
|
|
enum { IDD = IDD_MANUAL_PATCH };
|
|
|
|
protected:
|
|
virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV 지원입니다.
|
|
|
|
DECLARE_MESSAGE_MAP()
|
|
|
|
public:
|
|
|
|
// 패치 상태를 업데이트한다.
|
|
void UpdateManualPatchStatus(MPProgressData& progressData);
|
|
|
|
private:
|
|
|
|
// 패치 작업 스레드
|
|
static unsigned __stdcall ManualPatchWorker(void* pArg);
|
|
|
|
// 패치 작업 스레드 관련 함수
|
|
void InitMPWorkerData();
|
|
void StopWorker();
|
|
|
|
// 이벤트 처리 함수들
|
|
afx_msg void OnBnClickedMpCreate();
|
|
afx_msg void OnBnClickedMpCancel();
|
|
afx_msg void OnBnClickedBtnMpSelectFile();
|
|
afx_msg void OnTimer(UINT_PTR nIDEvent);
|
|
afx_msg void OnBnClickedClearLog();
|
|
|
|
virtual BOOL OnInitDialog();
|
|
virtual BOOL OnSetActive();
|
|
afx_msg void OnClose();
|
|
|
|
CPMSetting& m_pmSettingOption;
|
|
|
|
CString m_szMPFolder;
|
|
CString m_szMPSFXFile;
|
|
CString m_szMPFileName;
|
|
CString m_szPatchType;
|
|
|
|
CLogEdit m_edProgressLog;
|
|
CLogEdit m_edErrLog;
|
|
|
|
DWORD m_dwMPMaxver;
|
|
DWORD m_dwMPMinver;
|
|
|
|
HANDLE m_hManualPatchThread;
|
|
|
|
CString m_szFileProgress;
|
|
CProgressCtrl m_TotalProgressBar;
|
|
|
|
// 크리티컬 섹션으로 보호되는 부분.
|
|
CCriticalSection m_ProgressLock;
|
|
MPProgressData m_ProgressData;
|
|
};
|