AxibugEmuOnline/References/VirtuaNESex_src_191105/CheatDlg.h
2024-08-05 17:58:53 +08:00

176 lines
3.4 KiB
C++

//
// チートダイアログクラス
//
#ifndef __CCHEATDLG_INCLUDED__
#define __CCHEATDLG_INCLUDED__
#define WIN32_LEAN_AND_MEAN
#include <windows.h>
#include <list>
#include <vector>
#include <string>
using namespace std;
#include "Wnd.h"
#include "cheat.h"
// サーチダイアログ
class CSearchDlg : public CWnd
{
public:
// Override from CWnd
BOOL Create( HWND hWndParent );
void Destroy();
protected:
void OnListUpdate();
// Utils
DWORD GetNesMemory( INT length, DWORD addr );
DWORD GetSearchMemory( INT length, DWORD addr );
DWORD GetSearchMemoryOld( INT length, DWORD addr );
BOOL CompareData( INT type, DWORD dataA, DWORD dataB );
BOOL CompareRange( INT length, DWORD dataA, DWORD dataB, DWORD range );
// Message map
DLG_MESSAGE_MAP()
DLGMSG OnInitDialog( DLGMSGPARAM );
DLGMSG OnActivate( DLGMSGPARAM );
DLGMSG OnClose( DLGMSGPARAM );
DLGMSG OnContextMenu( DLGMSGPARAM );
DLGCMD OnOK( DLGCMDPARAM );
DLGCMD OnCancel( DLGCMDPARAM );
DLGCMD OnRadixCommand( DLGCMDPARAM );
DLGCMD OnLengthCommand( DLGCMDPARAM );
DLGCMD OnStart( DLGCMDPARAM );
DLGCMD OnUpdate( DLGCMDPARAM );
DLGCMD OnUndo( DLGCMDPARAM );
DLGCMD OnSearchCommand( DLGCMDPARAM );
DLGCMD OnSearchData( DLGCMDPARAM );
DLGCMD OnWriteData( DLGCMDPARAM );
DLGCMD OnCodeAppend( DLGCMDPARAM );
//
DLGNOTIFY OnDoubleClickListView( DLGNOTIFYPARAM );
private:
HMENU m_hMenu;
HMENU m_hSubMenu;
BOOL m_bShortCutDisable;
WORD m_Address;
INT m_nRadix;
INT m_nLength;
struct RESULT {
BYTE RAM_N[0x0800]; // RAM New value
BYTE RAM_O[0x0800]; // RAM Old value
BYTE RAM_F[0x0800]; // RAM Flag
BYTE SRAM_N[0x2000]; // RAM New value
BYTE SRAM_O[0x2000]; // RAM Old value
BYTE SRAM_F[0x2000]; // RAM Flag
};
struct RESULT m_Result; // 今回データ
struct RESULT m_ResultOld; // 1回前
};
// チートコード編集ダイアログ
class CCheatCodeEditDlg : public CWnd
{
public:
// Override from CWnd
INT DoModal( HWND hWndParent );
//
CHEATCODE m_Code;
INT m_nRadix;
protected:
// Message map
DLG_MESSAGE_MAP()
DLGMSG OnInitDialog( DLGMSGPARAM );
DLGCMD OnOK( DLGCMDPARAM );
DLGCMD OnCancel( DLGCMDPARAM );
//
private:
};
// チートコード入力ダイアログ
class CCheatCodeInputDlg : public CWnd
{
public:
// Override from CWnd
INT DoModal( HWND hWndParent );
string m_Codes;
string m_Comment;
protected:
// Message map
DLG_MESSAGE_MAP()
DLGMSG OnInitDialog( DLGMSGPARAM );
DLGCMD OnOK( DLGCMDPARAM );
DLGCMD OnCancel( DLGCMDPARAM );
//
private:
};
// チートコードダイアログ
class CCheatCodeDlg : public CWnd
{
public:
// Override from CWnd
INT DoModal( HWND hWndParent );
protected:
void OnListUpdate();
// Message map
DLG_MESSAGE_MAP()
DLGMSG OnInitDialog( DLGMSGPARAM );
DLGMSG OnDestroy( DLGMSGPARAM );
DLGMSG OnTimer( DLGMSGPARAM );
DLGNOTIFY OnKeyDownListView( DLGNOTIFYPARAM );
DLGNOTIFY OnClickListView( DLGNOTIFYPARAM );
DLGNOTIFY OnDblClkListView( DLGNOTIFYPARAM );
DLGCMD OnOK( DLGCMDPARAM );
DLGCMD OnCancel( DLGCMDPARAM );
DLGCMD OnEnable( DLGCMDPARAM );
DLGCMD OnDisable( DLGCMDPARAM );
DLGCMD OnClear( DLGCMDPARAM );
DLGCMD OnRemove( DLGCMDPARAM );
DLGCMD OnInput( DLGCMDPARAM );
DLGCMD OnEdit( DLGCMDPARAM );
DLGCMD OnLoad( DLGCMDPARAM );
DLGCMD OnSave( DLGCMDPARAM );
// Image List
HIMAGELIST m_hImageList;
// Timer
UINT m_uTimerID;
// Temp buffer
vector<CHEATCODE> m_CheatCode;
private:
};
#endif // !__CCHEATDLG_INCLUDED__