Files
Client/Tools/PatchSFX/PatchSFXDlg.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

104 lines
2.3 KiB
C++

// PatchSFXDlg.h : header file
//
#pragma once
#include "afxwin.h"
#include "afxcmn.h"
#include "afxmt.h"
#include "afxtempl.h"
#include "logedit.h"
struct SharedData
{
SharedData() { InitSharedData(); }
void InitSharedData()
{
m_bStopWorkerThread = FALSE;
m_nCurrentFiles = 0;
m_nCurrentDataSize = 0;
m_szCurrentExtract.Empty();
m_ProgressList.RemoveAll();
}
BOOL m_bStopWorkerThread;
int m_nCurrentFiles;
int m_nCurrentDataSize;
CString m_szCurrentExtract;
CList<CString> m_ProgressList;
};
// CPatchSFXDlg dialog
class CPatchSFXDlg : public CDialog
{
// Construction
public:
CPatchSFXDlg(CWnd* pParent = NULL); // standard constructor
// Dialog Data
enum { IDD = IDD_PATCHSFX_DIALOG };
protected:
virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support
// Implementation
protected:
HICON m_hIcon;
// Generated message map functions
virtual BOOL OnInitDialog();
afx_msg void OnPaint();
afx_msg void OnTimer(UINT_PTR nIDEvent);
afx_msg void OnBnClickedBtnExtractTo();
afx_msg void OnBnClickedBtnPatchNow();
afx_msg void OnClose();
afx_msg void OnBnClickedBtnPatchList();
afx_msg HCURSOR OnQueryDragIcon();
DECLARE_MESSAGE_MAP()
private:
static unsigned __stdcall ExtractWorker(void *pArg);
bool CheckExtractPosVersion();
void UpdateProgress(SharedData& sharedData);
void StopWorker();
CEdit m_edExtractPos;
CLogEdit m_edLog;
CString m_szFileProgress;
CProgressCtrl m_prgExtract;
CButton m_btnExtractPos;
CButton m_btnPatchAdvanced;
CButton m_btnPatchDone;
CButton m_btnPatchNow;
CButton m_btnPatchCancel;
CString m_szPatchFileName;
CString m_szInstalledPathKey;
CString m_szRegKeyValue;
ULONGLONG m_dwTotalFileSize;
DWORD m_dwMinver;
DWORD m_dwMaxver;
int m_nTotalFileNum;
HANDLE m_hExtractThread;
UINT m_nExtractThreadID;
CCriticalSection m_csProgress;
SharedData m_SharedData;
CString m_szCurrentExtract;
CList<CString> m_PatchFolderList;
public:
afx_msg void OnBnClickedPatchDone();
};