📄 config.h
字号:
nShortCut[104] = DIK_F10+K_CTRL; // Fit screen
nShortCut[105] = 0; // Left clip
// Cheat
nShortCut[110] = DIK_HOME+K_CTRL; // Search
nShortCut[111] = DIK_END+K_CTRL; // Cheat
nShortCut[112] = DIK_INSERT; // Cheat enable
nShortCut[113] = DIK_DELETE; // Cheat disable
nShortCut[114] = 0; // GameGenie
// Tools
nShortCut[116] = 0; // Pattern Viewer
nShortCut[117] = 0; // NameTable Viewer
nShortCut[118] = 0; // Palette Viewer
nShortCut[119] = 0; // Memory Viewer
// Quick Load/Save
nShortCut[256] = DIK_NUMPAD0+K_CTRL; // QuickLoad Slot0
nShortCut[257] = DIK_NUMPAD1+K_CTRL; // QuickLoad Slot1
nShortCut[258] = DIK_NUMPAD2+K_CTRL; // QuickLoad Slot2
nShortCut[259] = DIK_NUMPAD3+K_CTRL; // QuickLoad Slot3
nShortCut[260] = DIK_NUMPAD4+K_CTRL; // QuickLoad Slot4
nShortCut[261] = DIK_NUMPAD5+K_CTRL; // QuickLoad Slot5
nShortCut[262] = DIK_NUMPAD6+K_CTRL; // QuickLoad Slot6
nShortCut[263] = DIK_NUMPAD7+K_CTRL; // QuickLoad Slot7
nShortCut[264] = DIK_NUMPAD8+K_CTRL; // QuickLoad Slot8
nShortCut[265] = DIK_NUMPAD9+K_CTRL; // QuickLoad Slot9
nShortCut[266] = DIK_NUMPAD0+K_ALT; // QuickSave Slot0
nShortCut[267] = DIK_NUMPAD1+K_ALT; // QuickSave Slot1
nShortCut[268] = DIK_NUMPAD2+K_ALT; // QuickSave Slot2
nShortCut[269] = DIK_NUMPAD3+K_ALT; // QuickSave Slot3
nShortCut[270] = DIK_NUMPAD4+K_ALT; // QuickSave Slot4
nShortCut[271] = DIK_NUMPAD5+K_ALT; // QuickSave Slot5
nShortCut[272] = DIK_NUMPAD6+K_ALT; // QuickSave Slot6
nShortCut[273] = DIK_NUMPAD7+K_ALT; // QuickSave Slot7
nShortCut[274] = DIK_NUMPAD8+K_ALT; // QuickSave Slot8
nShortCut[275] = DIK_NUMPAD9+K_ALT; // QuickSave Slot9
}
};
class CCfgLanguage
{
public:
LCID lcID;
CHAR szLanguage[256];
void Default() {
lcID = NULL;
szLanguage[0] = 0;
}
};
class CCfgController
{
public:
WORD nButton[4][64];
WORD nRapid [4][ 2];
// 0:Crazy Climber
// 1:Famly Trainer
// 2:Exciting Boxing
// 3:Mahjang
WORD nExButton[4][64];
WORD nNsfButton[64];
WORD nVSUnisystem[64];
void Default() {
DefaultController1();
DefaultController2();
DefaultController3();
DefaultController4();
DefaultExController0();
DefaultExController1();
DefaultExController2();
DefaultExController3();
DefaultNsfController();
DefaultVSUnisystem();
}
void DefaultController1() {
for( INT i = 0; i < 64; i++ )
nButton[0][i] = 0;
nButton[0][ 0] = DIK_UP;
nButton[0][ 1] = DIK_DOWN;
nButton[0][ 2] = DIK_LEFT;
nButton[0][ 3] = DIK_RIGHT;
nButton[0][ 4] = DIK_X; // A
nButton[0][ 5] = DIK_Z; // B
nButton[0][ 6] = 0; // A Rapid
nButton[0][ 7] = 0; // B Rapid
nButton[0][ 8] = DIK_RSHIFT; // SELECT
nButton[0][ 9] = DIK_RETURN; // START
nRapid[0][0] = 0; // A Rapid speed
nRapid[0][1] = 0; // B Rapid speed
}
void DefaultController2() {
for( INT i = 0; i < 64; i++ )
nButton[1][i] = 0;
nButton[1][ 0] = DIK_NUMPAD8;
nButton[1][ 1] = DIK_NUMPAD2;
nButton[1][ 2] = DIK_NUMPAD4;
nButton[1][ 3] = DIK_NUMPAD6;
nButton[1][ 4] = DIK_N; // A
nButton[1][ 5] = DIK_B; // B
nButton[1][ 6] = 0; // A Rapid
nButton[1][ 7] = 0; // B Rapid
nButton[1][ 8] = 0; // SELECT
nButton[1][ 9] = 0; // START
nButton[1][10] = DIK_M; // Mic
nRapid[1][0] = 0; // A Rapid speed
nRapid[1][1] = 0; // B Rapid speed
}
void DefaultController3() {
for( INT i = 0; i < 64; i++ )
nButton[2][i] = 0;
nRapid[2][0] = 0; // A Rapid speed
nRapid[2][1] = 0; // B Rapid speed
}
void DefaultController4() {
for( INT i = 0; i < 64; i++ )
nButton[3][i] = 0;
nRapid[3][0] = 0; // A Rapid speed
nRapid[3][1] = 0; // B Rapid speed
}
void DefaultExController0() {
// Crazy Climber狠嫩白(幚嵺偵偼懚嵼偟側偄)
for( INT i = 0; i < 64; i++ )
nExButton[0][i] = 0;
// nExButton[0][ 0] = 0; // L up
// nExButton[0][ 1] = 0; // L down
// nExButton[0][ 2] = 0; // L left
// nExButton[0][ 3] = 0; // L right
// nExButton[0][ 4] = 0; // R up
// nExButton[0][ 5] = 0; // R down
// nExButton[0][ 6] = 0; // R left
// nExButton[0][ 7] = 0; // R right
}
void DefaultExController1() {
// Famly Trainer狠嫩白
for( INT i = 0; i < 64; i++ )
nExButton[1][i] = 0;
}
void DefaultExController2() {
// Exciting Boxing狠嫩白
for( INT i = 0; i < 64; i++ )
nExButton[2][i] = 0;
}
void DefaultExController3() {
// Mahjang狠嫩白
for( INT i = 0; i < 64; i++ )
nExButton[3][i] = 0;
}
void DefaultNsfController() {
for( INT i = 0; i < 64; i++ )
nNsfButton[i] = 0;
nNsfButton[ 0] = DIK_UP; // Play
nNsfButton[ 1] = DIK_DOWN; // Stop
nNsfButton[ 2] = DIK_LEFT; // Number -1
nNsfButton[ 3] = DIK_RIGHT; // Number +1
nNsfButton[ 4] = DIK_PRIOR; // Number +16
nNsfButton[ 5] = DIK_NEXT; // Number -16
}
void DefaultVSUnisystem() {
for( INT i = 0; i < 64; i++ )
nVSUnisystem[i] = 0;
nVSUnisystem[0] = DIK_C; // Coin
}
};
class CCfgMovie
{
public:
BYTE bUsePlayer[4];
BOOL bRerecord;
BOOL bLoopPlay;
BOOL bResetRec;
BOOL bPadDisplay;
void Default() {
bUsePlayer[0] = 0xFF;
bUsePlayer[1] = 0x00;
bUsePlayer[2] = 0x00;
bUsePlayer[3] = 0x00;
bRerecord = TRUE;
bLoopPlay = FALSE;
bResetRec = FALSE;
bPadDisplay = FALSE;
}
};
class CCfgLauncher
{
public:
RECT rcWindowPos;
BYTE bHeaderView [16];
BYTE nHeaderOrder[16];
SHORT nHeaderWidth[16];
INT nListSelect;
BOOL bSortDir;
INT nSortType;
BYTE bFolderUse[16];
CHAR szFolder[16][_MAX_PATH];
CHAR szLastSelect[_MAX_PATH];
void Default() {
rcWindowPos.left = rcWindowPos.right =
rcWindowPos.top = rcWindowPos.bottom = 0;
nListSelect = 0;
bSortDir = FALSE;
nSortType = 0;
INT i;
for( i = 0; i < 16; i++ ) {
bHeaderView [i] = TRUE;
nHeaderOrder[i] = i;
nHeaderWidth[i] = (i==0)?160:48;
}
for( i = 0; i < 16; i++ ) {
bFolderUse[i] = FALSE;
szFolder[i][0] = '\0';
}
szLastSelect[0] = '\0';
}
};
class CCfgExtraSound
{
public:
CHAR szExtSoundFile[ ESF_FILE_MAX ][ MAX_PATH ];
void Default() {
for( INT i = 0; i < ESF_FILE_MAX; i++ ) {
szExtSoundFile[i][0] = '\0';
}
}
};
class CCfgNetPlay
{
public:
RECT rcChatPos;
INT nRecentPort, nRecentHost;
CHAR szRecentPort[16][_MAX_PATH+1];
CHAR szRecentHost[16][_MAX_PATH+1];
CHAR szNick[_MAX_PATH+1];
void Default() {
rcChatPos.left = rcChatPos.right =
rcChatPos.top = rcChatPos.bottom = 0;
::lstrcpy( szNick, "NoName" );
for( INT i = 0; i < 16; i++ ) {
szRecentPort[i][0] = '\0';
szRecentHost[i][0] = '\0';
}
::lstrcpy( szRecentPort[0], "10000" );
::lstrcpy( szRecentHost[0], "localhost:10000" );
nRecentPort = 1;
nRecentHost = 1;
}
};
class CConfig
{
public:
CConfig() {
m_bKeyboardDisable = FALSE;
Default();
}
CCfgGeneral general;
CCfgPath path;
CCfgEmulator emulator;
CCfgGraphics graphics;
CCfgSound sound;
CCfgShortCut shortcut;
CCfgLanguage language;
CCfgController controller;
CCfgMovie movie;
CCfgLauncher launcher;
CCfgExtraSound extsound;
CCfgNetPlay netplay;
void Default() {
general.Default();
path.Default();
emulator.Default();
graphics.Default();
sound.Default();
shortcut.Default();
language.Default();
controller.Default();
movie.Default();
launcher.Default();
extsound.Default();
netplay.Default();
}
void Load();
void Save();
// Checker
void InputKeyboardDisable( BOOL bEnable ) {
m_bKeyboardDisable = bEnable;
}
BOOL ButtonCheck( INT nNo, INT nID );
BOOL ExButtonCheck( INT nNo, INT nID );
BOOL NsfButtonCheck( INT nID );
BOOL ButtonCheck( INT nID, WORD* pKey );
// Converter
string ShortcutToKeyName( INT nShortcut );
// Table
static INT SamplingRateTable[];
static INT ShortcutKeyID[];
protected:
BOOL m_bKeyboardDisable;
private:
};
// 屄暿僎乕儉僆僾僔儑儞
class CGameOption
{
public:
// for Cartridge
void Load( DWORD crc );
void Save( LPCSTR name, DWORD crc );
// for FDS
void Load( DWORD gid, DWORD mid );
void Save( LPCSTR name, DWORD gid, DWORD mid );
// Default曐懚
INT defRenderMethod;
INT defIRQtype;
BOOL defFrameIRQ;
BOOL defVideoMode;
// 僨乕僞
INT nRenderMethod;
INT nIRQtype;
BOOL bFrameIRQ;
BOOL bVideoMode;
protected:
private:
};
extern CConfig Config;
extern CGameOption GameOption;
#endif // !__CCONFIG_INCLUDED__
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -