Files
Client/Tools/PatchMaker/ManualPatchPage.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

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;
};