win32: fix joystick up/down; add something back for rumble support, but still havent tested it

This commit is contained in:
zeromus 2009-02-10 08:21:48 +00:00
parent 07ca5cc0a3
commit 3cb5c4a7c1
6 changed files with 336 additions and 222 deletions

View File

@ -886,6 +886,10 @@
RelativePath="..\bios.h"
>
</File>
<File
RelativePath=".\bitmap1.bmp"
>
</File>
<File
RelativePath="..\bits.h"
>

View File

@ -1,7 +1,7 @@
<?xml version="1.0" encoding="shift_jis"?>
<VisualStudioProject
ProjectType="Visual C++"
Version="9,00"
Version="9.00"
Name="DeSmuME_VS2008"
ProjectGUID="{9F5F72A1-D3A5-4918-B460-E076B16D10A9}"
RootNamespace="DeSmuME"
@ -1036,6 +1036,10 @@
RelativePath=".\lightView.h"
>
</File>
<File
RelativePath=".\main.h"
>
</File>
<File
RelativePath=".\mapView.h"
>

View File

@ -609,7 +609,7 @@ void S9xUpdateJoyState()
else
{
CheckAxis_game(JoyStatus.lX,-10000,10000,Joystick[0].Left,Joystick[0].Right);
CheckAxis_game(JoyStatus.lY,-10000,10000,Joystick[0].Down,Joystick[0].Up);
CheckAxis_game(JoyStatus.lY,-10000,10000,Joystick[0].Up,Joystick[0].Down);
switch (JoyStatus.rgdwPOV[0])
{
@ -1127,7 +1127,7 @@ COLORREF CheckHotKey( WORD Key, int modifiers)
return white;
}
void InitInputCustomControl()
static void InitCustomControls()
{
WNDCLASSEX wc;
@ -1148,12 +1148,6 @@ void InitInputCustomControl()
RegisterClassEx(&wc);
}
void InitKeyCustomControl()
{
WNDCLASSEX wc;
wc.cbSize = sizeof(wc);
wc.lpszClassName = szHotkeysClassName;
wc.hInstance = GetModuleHandle(0);
@ -1171,22 +1165,7 @@ void InitKeyCustomControl()
RegisterClassEx(&wc);
}
//HWND CreateInputCustom(HWND hwndParent)
//{
// HWND hwndCtrl;
//
// hwndCtrl = CreateWindowEx(
// WS_EX_CLIENTEDGE, // give it a standard border
// szClassName,
// _T("A custom control"),
// WS_VISIBLE | WS_CHILD,
// 0, 0, 100, 100,
// hwndParent,
// NULL, GetModuleHandle(0), NULL
// );
//
// return hwndCtrl;
//}
InputCust * GetInputCustom(HWND hwnd)
{
return (InputCust *)GetWindowLong(hwnd, 0);
@ -1759,7 +1738,6 @@ INT_PTR CALLBACK DlgInputConfig(HWND hDlg, UINT msg, WPARAM wParam, LPARAM lPara
//HBRUSH g_hbrBackground;
InitInputCustomControl();
switch(msg)
{
case WM_INITDIALOG:
@ -2197,37 +2175,21 @@ void S9xWinScanJoypads ()
//#endif
}
//void NDS_inputInit()
//{
// int i;
// memset(keyPad, 0, sizeof(keyPad));
//
// for (i=0; i < MAXKEYPAD; i++)
// {
// char buf[64];
// memset(buf, 0, sizeof(buf));
// wsprintf(buf,"Key_%s", keyPadNames[i]);
// keyPad[i] = GetPrivateProfileInt("NDS_Input",buf,keyPadDefs[i], IniName);
// if (keyPad[i]>255)
// {
// if (!input->JoystickEnabled())
// {
// keyPad[i] = keyPadDefs[i];
// }
// }
// }
//
// FeedbackON = NDS_inputFeedback;
//}
void input_feedback(BOOL enable)
{
//input->JoystickFeedback(enable);
if (!Feedback) return;
if (!pEffect) return;
if (enable)
pEffect->Start(2, 0);
else
pEffect->Stop();
}
void input_init()
{
InitCustomControls();
di_init();
FeedbackON = input_feedback;
}
@ -2259,10 +2221,14 @@ void input_process()
void RunInputConfig()
{
DialogBox(hAppInst, MAKEINTRESOURCE(IDD_INPUTCONFIG), MainWindow->getHWnd(), DlgInputConfig);
}
void RunHotkeyConfig()
{
DialogBox(hAppInst, MAKEINTRESOURCE(IDD_KEYCUSTOM), MainWindow->getHWnd(), DlgInputConfig);
}
/**********************************************************************************
Snes9x - Portable Super Nintendo Entertainment System (TM) emulator.

View File

@ -1144,8 +1144,6 @@ int WINAPI WinMain (HINSTANCE hThisInstance,
}
InitializeCriticalSection(&win_sync);
InitInputCustomControl();
InitKeyCustomControl();
#ifdef GDB_STUB
gdbstub_handle_t arm9_gdb_stub;
@ -1689,6 +1687,131 @@ void OpenRecentROM(int listNum)
NDS_UnPause();
}
LRESULT OpenFile()
{
HWND hwnd = MainWindow->getHWnd();
int filterSize = 0, i = 0;
OPENFILENAME ofn;
char filename[MAX_PATH] = "",
fileFilter[512]="";
NDS_Pause(); //Stop emulation while opening new rom
ZeroMemory(&ofn, sizeof(ofn));
ofn.lStructSize = sizeof(ofn);
ofn.hwndOwner = hwnd;
// To avoid #ifdef hell, we'll do a little trick, as lpstrFilter
// needs 0 terminated string, and standard string library, of course,
// can't help us with string creation: just put a '|' were a string end
// should be, and later transform prior assigning to the OPENFILENAME structure
strncpy (fileFilter, "NDS ROM file (*.nds)|*.nds|NDS/GBA ROM File (*.ds.gba)|*.ds.gba|",512);
#ifdef HAVE_LIBZZIP
strncpy (fileFilter, "All Usable Files (*.nds, *.ds.gba, *.zip, *.gz)|*.nds;*.ds.gba;*.zip;*.gz|",512);
#endif
#ifdef HAVE_LIBZZIP
strncat (fileFilter, "Zipped NDS ROM file (*.zip)|*.zip|",512 - strlen(fileFilter));
#endif
#ifdef HAVE_LIBZ
strncat (fileFilter, "GZipped NDS ROM file (*.gz)|*.gz|",512 - strlen(fileFilter));
#endif
strncat (fileFilter, "Any file (*.*)|*.*||",512 - strlen(fileFilter));
filterSize = strlen(fileFilter);
for (i = 0; i < filterSize; i++)
{
if (fileFilter[i] == '|') fileFilter[i] = '\0';
}
ofn.lpstrFilter = fileFilter;
ofn.nFilterIndex = 1;
ofn.lpstrFile = filename;
ofn.nMaxFile = MAX_PATH;
ofn.lpstrDefExt = "nds";
ofn.Flags = OFN_NOCHANGEDIR;
if(!GetOpenFileName(&ofn))
{
if (romloaded)
NDS_UnPause(); //Restart emulation if no new rom chosen
return 0;
}
//LOG("%s\r\n", filename);
#ifdef EXPERIMENTAL_GBASLOT
if(LoadROM(filename))
#else
if(LoadROM(filename, bad_glob_cflash_disk_image_file))
#endif
{
EnableMenuItem(mainMenu, IDM_EXEC, MF_GRAYED);
EnableMenuItem(mainMenu, IDM_PAUSE, MF_ENABLED);
EnableMenuItem(mainMenu, IDM_RESET, MF_ENABLED);
EnableMenuItem(mainMenu, IDM_GAME_INFO, MF_ENABLED);
EnableMenuItem(mainMenu, IDM_IMPORTBACKUPMEMORY, MF_ENABLED);
EnableMenuItem(mainMenu, IDM_CHEATS_LIST, MF_ENABLED);
EnableMenuItem(mainMenu, IDM_CHEATS_SEARCH, MF_ENABLED);
romloaded = TRUE;
NDS_UnPause();
}
return 0;
}
//TODO - async key state? for real?
int GetModifiers(int key)
{
int modifiers = 0;
if (key == VK_MENU || key == VK_CONTROL || key == VK_SHIFT)
return 0;
if(GetAsyncKeyState(VK_MENU )) modifiers |= CUSTKEY_ALT_MASK;
if(GetAsyncKeyState(VK_CONTROL)) modifiers |= CUSTKEY_CTRL_MASK;
if(GetAsyncKeyState(VK_SHIFT )) modifiers |= CUSTKEY_SHIFT_MASK;
return modifiers;
}
int HandleKeyMessage(WPARAM wParam, LPARAM lParam, int modifiers)
{
//some crap from snes9x I dont understand with toggles and macros...
bool hitHotKey = false;
if((wParam == 0 || wParam == VK_ESCAPE)) // if it's the 'disabled' key, it's never pressed as a hotkey
return 0;
return 0;
}
void RunConfig(int num)
{
HWND hwnd = MainWindow->getHWnd();
bool tpaused=false;
if (execute)
{
tpaused=true;
NDS_Pause();
}
switch(num) {
case 0:
void RunInputConfig();
RunInputConfig();
break;
case 1:
/*void RunHotkeyConfig();
RunHotkeyConfig();*/
break;
case 2:
DialogBox(hAppInst,MAKEINTRESOURCE(IDD_FIRMSETTINGS), hwnd, (DLGPROC) FirmConfig_Proc);
break;
}
if (tpaused)
NDS_UnPause();
}
//========================================================================================
LRESULT CALLBACK WindowProcedure (HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
{
@ -1877,72 +2000,7 @@ LRESULT CALLBACK WindowProcedure (HWND hwnd, UINT message, WPARAM wParam, LPARAM
return 0;
case ACCEL_CTRL_O:
case IDM_OPEN:
{
int filterSize = 0, i = 0;
OPENFILENAME ofn;
char filename[MAX_PATH] = "",
fileFilter[512]="";
NDS_Pause(); //Stop emulation while opening new rom
ZeroMemory(&ofn, sizeof(ofn));
ofn.lStructSize = sizeof(ofn);
ofn.hwndOwner = hwnd;
// To avoid #ifdef hell, we'll do a little trick, as lpstrFilter
// needs 0 terminated string, and standard string library, of course,
// can't help us with string creation: just put a '|' were a string end
// should be, and later transform prior assigning to the OPENFILENAME structure
strncpy (fileFilter, "NDS ROM file (*.nds)|*.nds|NDS/GBA ROM File (*.ds.gba)|*.ds.gba|",512);
#ifdef HAVE_LIBZZIP
strncpy (fileFilter, "All Usable Files (*.nds, *.ds.gba, *.zip, *.gz)|*.nds;*.ds.gba;*.zip;*.gz|",512);
#endif
#ifdef HAVE_LIBZZIP
strncat (fileFilter, "Zipped NDS ROM file (*.zip)|*.zip|",512 - strlen(fileFilter));
#endif
#ifdef HAVE_LIBZ
strncat (fileFilter, "GZipped NDS ROM file (*.gz)|*.gz|",512 - strlen(fileFilter));
#endif
strncat (fileFilter, "Any file (*.*)|*.*||",512 - strlen(fileFilter));
filterSize = strlen(fileFilter);
for (i = 0; i < filterSize; i++)
{
if (fileFilter[i] == '|') fileFilter[i] = '\0';
}
ofn.lpstrFilter = fileFilter;
ofn.nFilterIndex = 1;
ofn.lpstrFile = filename;
ofn.nMaxFile = MAX_PATH;
ofn.lpstrDefExt = "nds";
ofn.Flags = OFN_NOCHANGEDIR;
if(!GetOpenFileName(&ofn))
{
if (romloaded)
NDS_UnPause(); //Restart emulation if no new rom chosen
return 0;
}
//LOG("%s\r\n", filename);
#ifdef EXPERIMENTAL_GBASLOT
if(LoadROM(filename))
#else
if(LoadROM(filename, bad_glob_cflash_disk_image_file))
#endif
{
EnableMenuItem(mainMenu, IDM_EXEC, MF_GRAYED);
EnableMenuItem(mainMenu, IDM_PAUSE, MF_ENABLED);
EnableMenuItem(mainMenu, IDM_RESET, MF_ENABLED);
EnableMenuItem(mainMenu, IDM_GAME_INFO, MF_ENABLED);
EnableMenuItem(mainMenu, IDM_IMPORTBACKUPMEMORY, MF_ENABLED);
EnableMenuItem(mainMenu, IDM_CHEATS_LIST, MF_ENABLED);
EnableMenuItem(mainMenu, IDM_CHEATS_SEARCH, MF_ENABLED);
romloaded = TRUE;
NDS_UnPause();
}
}
return 0;
return OpenFile();
case IDM_PRINTSCREEN:
{
OPENFILENAME ofn;
@ -2418,35 +2476,17 @@ LRESULT CALLBACK WindowProcedure (HWND hwnd, UINT message, WPARAM wParam, LPARAM
if(tpaused) NDS_UnPause();
}
return 0;
case IDM_CONFIG:
{
bool tpaused=false;
if (execute)
{
tpaused=true;
NDS_Pause();
}
//InputConfig(hwnd);
void RunInputConfig();
RunInputConfig();
if (tpaused)
NDS_UnPause();
}
return 0;
case IDM_CONFIG:
RunConfig(0);
return 0;
case IDM_HOTKEY_CONFIG:
RunConfig(1);
return 0;
case IDM_FIRMSETTINGS:
{
bool tpaused=false;
if (execute)
{
tpaused=true;
NDS_Pause();
}
DialogBox(hAppInst,MAKEINTRESOURCE(IDD_FIRMSETTINGS), hwnd, (DLGPROC) FirmConfig_Proc);
if (tpaused)
NDS_UnPause();
return 0;
}
RunConfig(2);
return 0;
case IDC_FRAMESKIPAUTO:
case IDC_FRAMESKIP0:
case IDC_FRAMESKIP1:
@ -2604,6 +2644,14 @@ LRESULT CALLBACK WindowProcedure (HWND hwnd, UINT message, WPARAM wParam, LPARAM
WritePrivateProfileInt("Video", "Window height", (rc.bottom - rc.top), IniName);
}
break;
case WM_SYSKEYDOWN:
{
int modifiers = GetModifiers(wParam);
if(!HandleKeyMessage(wParam,lParam, modifiers))
return 0;
break;
}
case IDM_DEFSIZE:
{

View File

@ -450,3 +450,83 @@
#define IDC_AUTO_UPDATE2 111
#define IDC_VISIBLE 1019
#define IDM_ABOUT 40003
#define IDC_LABEL_HK1 60001
#define IDC_LABEL_HK4 60002
#define IDC_LABEL_HK2 60003
#define IDC_LABEL_HK3 60004
#define IDC_LABEL_HK6 60005
#define IDC_LABEL_HK11 60006
#define IDC_LABEL_HK8 60007
#define IDC_LABEL_HK12 60008
#define IDC_LABEL_HK9 60009
#define IDC_LABEL_HK7 60010
#define IDC_HOTKEY1 60011
#define IDC_HOTKEY2 60012
#define IDC_HOTKEY3 60013
#define IDC_HOTKEY4 60014
#define IDC_HOTKEY5 60015
#define IDC_HOTKEY6 60016
#define IDC_HOTKEY7 60017
#define IDC_HOTKEY8 60018
#define IDC_HOTKEY9 60019
#define IDC_HOTKEY10 60020
#define IDC_HOTKEY11 60021
#define IDC_HOTKEY12 60022
#define IDC_HOTKEY13 60023
#define IDC_SAVE1 60024
#define IDC_LABEL_UP1 60025
#define IDC_SAVE2 60026
#define IDC_LABEL_UP2 60027
#define IDC_SAVE3 60028
#define IDC_LABEL_UP3 60029
#define IDC_SAVE4 60030
#define IDC_LABEL_UP4 60031
#define IDC_SAVE5 60032
#define IDC_LABEL_UP5 60033
#define IDC_SAVE6 60034
#define IDC_LABEL_UP6 60035
#define IDC_SAVE7 60036
#define IDC_LABEL_UP7 60037
#define IDC_SAVE8 60038
#define IDC_LABEL_UP8 60039
#define IDC_SAVE9 60040
#define IDC_LABEL_UP9 60041
#define IDC_SAVE10 60042
#define IDC_LABEL_UP10 60043
#define IDC_SAVE11 60044
#define IDC_LABEL_UP11 60045
#define IDC_SAVE12 60046
#define IDC_LABEL_UP12 60047
#define IDC_SAVE13 60048
#define IDC_LABEL_UP13 60049
#define IDC_SAVE14 60050
#define IDC_LABEL_UP14 60051
#define IDC_SAVE15 60052
#define IDC_LABEL_UP15 60053
#define IDC_SAVE16 60054
#define IDC_LABEL_UP16 60055
#define IDC_SAVE17 60056
#define IDC_LABEL_UP17 60057
#define IDC_SAVE18 60058
#define IDC_LABEL_UP18 60059
#define IDC_SAVE19 60060
#define IDC_LABEL_UP19 60061
#define IDC_SAVE20 60062
#define IDC_LABEL_UP20 60063
#define IDC_SAVE21 60064
#define IDC_LABEL_UP21 60065
#define IDC_LABEL_HK5 60066
#define IDC_LABEL_HK10 60067
#define IDC_LABEL_HK13 60068
#define IDC_LABEL_UP22 60069
#define IDC_SLOTMINUS 60070
#define IDC_LABEL_UP23 60071
#define IDC_SLOTPLUS 60072
#define IDC_LABEL_UP24 60073
#define IDC_SLOTSAVE 60074
#define IDC_LABEL_UP25 60075
#define IDC_SLOTLOAD 60076
#define IDC_HKCOMBO 60077
#define IDD_KEYCUSTOM 60078
#define IDM_HOTKEY_CONFIG 60079

View File

@ -120,6 +120,7 @@ BEGIN
END
MENUITEM "3D settings", IDM_3DCONFIG
MENUITEM "Indput Indstillinger", IDM_CONFIG
MENUITEM "Hotkey Config", IDM_HOTKEY_CONFIG
MENUITEM "Lyd Indstillinger", IDM_SOUNDSETTINGS
MENUITEM "Firmware Indstillinger", IDM_FIRMSETTINGS
POPUP "&Frame Skip"
@ -274,6 +275,7 @@ BEGIN
END
MENUITEM "3D Settings", IDM_3DCONFIG
MENUITEM "Control Config", IDM_CONFIG
MENUITEM "Hotkey Config", IDM_HOTKEY_CONFIG
MENUITEM "Sound Settings", IDM_SOUNDSETTINGS
MENUITEM "Firmware Settings", IDM_FIRMSETTINGS
POPUP "&Frame Skip"
@ -428,6 +430,7 @@ BEGIN
END
MENUITEM "Config. 3D", IDM_3DCONFIG
MENUITEM "Config. des contrôles", IDM_CONFIG
MENUITEM "Hotkey Config", IDM_HOTKEY_CONFIG
MENUITEM "Config. du son", IDM_SOUNDSETTINGS
MENUITEM "Config. du firmware", IDM_FIRMSETTINGS
POPUP "&Frame Skip"
@ -767,81 +770,6 @@ BEGIN
END
LANGUAGE LANG_DANISH, SUBLANG_DANISH_DENMARK
IDD_CONFIG DIALOGEX 0, 0, 125, 227
STYLE DS_MODALFRAME | DS_SETFOREGROUND | DS_SETFONT | WS_BORDER | WS_CAPTION | WS_DLGFRAME | WS_POPUP | WS_SYSMENU
CAPTION "Konfigurer Input"
FONT 8, "MS Sans Serif", 0, 0, 1
BEGIN
DEFPUSHBUTTON "OK", IDC_FERMER, 67, 208, 50, 14, BS_DEFPUSHBUTTON
PUSHBUTTON "Standard", IDC_BUTTON1, 7, 208, 50, 14, BS_PUSHBUTTON
COMBOBOX IDC_COMBO1, 46, 13, 59, 14, WS_TABSTOP | WS_VSCROLL | WS_TABSTOP | CBS_DROPDOWNLIST
LTEXT "Op:", IDC_STATIC, 17, 14, 27, 10, SS_LEFT
COMBOBOX IDC_COMBO4, 46, 29, 59, 14, WS_TABSTOP | WS_VSCROLL | WS_TABSTOP | CBS_DROPDOWNLIST
LTEXT "Ned:", IDC_STATIC, 17, 31, 28, 9, SS_LEFT
COMBOBOX IDC_COMBO2, 46, 45, 59, 14, WS_TABSTOP | WS_VSCROLL | WS_TABSTOP | CBS_DROPDOWNLIST
LTEXT "Venstre:", IDC_STATIC, 17, 47, 28, 9, SS_LEFT
COMBOBOX IDC_COMBO3, 46, 61, 59, 14, WS_TABSTOP | WS_VSCROLL | WS_TABSTOP | CBS_DROPDOWNLIST
LTEXT "Højre:", IDC_STATIC, 17, 63, 28, 9, SS_LEFT
COMBOBOX IDC_COMBO7, 46, 77, 59, 14, WS_TABSTOP | WS_VSCROLL | WS_TABSTOP | CBS_DROPDOWNLIST
LTEXT "A:", IDC_STATIC, 18, 78, 28, 9, SS_LEFT
COMBOBOX IDC_COMBO8, 46, 92, 59, 14, WS_TABSTOP | WS_VSCROLL | WS_TABSTOP | CBS_DROPDOWNLIST
LTEXT "B:", IDC_STATIC, 17, 94, 28, 9, SS_LEFT
COMBOBOX IDC_COMBO10, 46, 108, 59, 14, WS_TABSTOP | WS_VSCROLL | WS_TABSTOP | CBS_DROPDOWNLIST
LTEXT "L:", IDC_STATIC, 17, 110, 28, 9, SS_LEFT
COMBOBOX IDC_COMBO11, 46, 124, 59, 14, WS_TABSTOP | WS_VSCROLL | WS_TABSTOP | CBS_DROPDOWNLIST
LTEXT "R:", IDC_STATIC, 17, 126, 28, 9, SS_LEFT
COMBOBOX IDC_COMBO6, 46, 140, 59, 14, WS_TABSTOP | WS_VSCROLL | WS_TABSTOP | CBS_DROPDOWNLIST
LTEXT "X:", IDC_STATIC, 17, 142, 28, 9, SS_LEFT
COMBOBOX IDC_COMBO5, 46, 156, 59, 14, WS_TABSTOP | WS_VSCROLL | WS_TABSTOP | CBS_DROPDOWNLIST
LTEXT "Y:", IDC_STATIC, 17, 158, 28, 9, SS_LEFT
GROUPBOX "", IDC_STATIC, 7, 3, 111, 203
COMBOBOX IDC_COMBO9, 46, 172, 59, 14, WS_TABSTOP | WS_VSCROLL | WS_TABSTOP | CBS_DROPDOWNLIST
LTEXT "Start:", IDC_STATIC, 17, 174, 28, 9, SS_LEFT
COMBOBOX IDC_COMBO12, 46, 188, 59, 14, WS_TABSTOP | WS_VSCROLL | WS_TABSTOP | CBS_DROPDOWNLIST
LTEXT "Select:", IDC_STATIC, 17, 190, 28, 9, SS_LEFT
END
LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
IDD_CONFIG DIALOGEX 0, 0, 125, 227
STYLE DS_MODALFRAME | DS_SETFOREGROUND | DS_SETFONT | WS_BORDER | WS_CAPTION | WS_DLGFRAME | WS_POPUP | WS_SYSMENU
CAPTION "Configure Keys"
FONT 8, "MS Sans Serif", 0, 0, 1
BEGIN
DEFPUSHBUTTON "OK", IDC_FERMER, 67, 208, 50, 14, BS_DEFPUSHBUTTON
PUSHBUTTON "Default", IDC_BUTTON1, 7, 208, 50, 14, BS_PUSHBUTTON
COMBOBOX IDC_COMBO1, 46, 13, 59, 14, WS_TABSTOP | WS_VSCROLL | WS_TABSTOP | CBS_DROPDOWNLIST
LTEXT "Up:", IDC_STATIC, 17, 14, 27, 10, SS_LEFT
COMBOBOX IDC_COMBO4, 46, 29, 59, 14, WS_TABSTOP | WS_VSCROLL | WS_TABSTOP | CBS_DROPDOWNLIST
LTEXT "Down:", IDC_STATIC, 17, 31, 28, 9, SS_LEFT
COMBOBOX IDC_COMBO2, 46, 45, 59, 14, WS_TABSTOP | WS_VSCROLL | WS_TABSTOP | CBS_DROPDOWNLIST
LTEXT "Left:", IDC_STATIC, 17, 47, 28, 9, SS_LEFT
COMBOBOX IDC_COMBO3, 46, 61, 59, 14, WS_TABSTOP | WS_VSCROLL | WS_TABSTOP | CBS_DROPDOWNLIST
LTEXT "Right:", IDC_STATIC, 17, 63, 28, 9, SS_LEFT
COMBOBOX IDC_COMBO7, 46, 77, 59, 14, WS_TABSTOP | WS_VSCROLL | WS_TABSTOP | CBS_DROPDOWNLIST
LTEXT "A:", IDC_STATIC, 18, 78, 28, 9, SS_LEFT
COMBOBOX IDC_COMBO8, 46, 92, 59, 14, WS_TABSTOP | WS_VSCROLL | WS_TABSTOP | CBS_DROPDOWNLIST
LTEXT "B:", IDC_STATIC, 17, 94, 28, 9, SS_LEFT
COMBOBOX IDC_COMBO10, 46, 108, 59, 14, WS_TABSTOP | WS_VSCROLL | WS_TABSTOP | CBS_DROPDOWNLIST
LTEXT "L:", IDC_STATIC, 17, 110, 28, 9, SS_LEFT
COMBOBOX IDC_COMBO11, 46, 124, 59, 14, WS_TABSTOP | WS_VSCROLL | WS_TABSTOP | CBS_DROPDOWNLIST
LTEXT "R:", IDC_STATIC, 17, 126, 28, 9, SS_LEFT
COMBOBOX IDC_COMBO6, 46, 140, 59, 14, WS_TABSTOP | WS_VSCROLL | WS_TABSTOP | CBS_DROPDOWNLIST
LTEXT "X:", IDC_STATIC, 17, 142, 28, 9, SS_LEFT
COMBOBOX IDC_COMBO5, 46, 156, 59, 14, WS_TABSTOP | WS_VSCROLL | WS_TABSTOP | CBS_DROPDOWNLIST
LTEXT "Y:", IDC_STATIC, 17, 158, 28, 9, SS_LEFT
GROUPBOX "", IDC_STATIC, 7, 3, 111, 203
COMBOBOX IDC_COMBO9, 46, 172, 59, 14, WS_TABSTOP | WS_VSCROLL | WS_TABSTOP | CBS_DROPDOWNLIST
LTEXT "Start:", IDC_STATIC, 17, 174, 28, 9, SS_LEFT
COMBOBOX IDC_COMBO12, 46, 188, 59, 14, WS_TABSTOP | WS_VSCROLL | WS_TABSTOP | CBS_DROPDOWNLIST
LTEXT "Select:", IDC_STATIC, 17, 190, 28, 9, SS_LEFT
END
LANGUAGE LANG_DANISH, SUBLANG_DANISH_DENMARK
IDD_DESASSEMBLEUR_VIEWER7 DIALOGEX 0, 0, 380, 186
STYLE DS_CENTER | DS_SETFONT | WS_BORDER | WS_CAPTION | WS_DLGFRAME
@ -2319,6 +2247,90 @@ BEGIN
CONTROL " ",IDC_DEBUG,"InputCustom",WS_DISABLED | WS_TABSTOP,163,120,71,12,WS_EX_CLIENTEDGE
END
IDD_KEYCUSTOM DIALOGEX 0, 0, 349, 203
STYLE DS_SETFONT | DS_MODALFRAME | DS_3DLOOK | DS_CENTER | WS_POPUP | WS_CLIPCHILDREN | WS_CAPTION
CAPTION "Customize Special Keys"
FONT 8, "MS Sans Serif", 0, 0, 0x1
BEGIN
PUSHBUTTON "Cancel",IDCANCEL,66,182,50,14
PUSHBUTTON "OK",IDOK,16,182,50,14
RTEXT "speed +",IDC_LABEL_HK1,4,8,58,8
RTEXT "frame advance",IDC_LABEL_HK4,2,47,59,8
RTEXT "speed -",IDC_LABEL_HK2,3,21,59,8
RTEXT "pause",IDC_LABEL_HK3,2,34,60,8
RTEXT "skip +",IDC_LABEL_HK6,2,74,60,8
RTEXT "movie frame count",IDC_LABEL_HK11,0,138,62,8
RTEXT "superscope turbo",IDC_LABEL_HK8,0,98,62,8
RTEXT "movie read-only",IDC_LABEL_HK12,3,150,59,8
RTEXT "superscope pause",IDC_LABEL_HK9,2,111,60,8
RTEXT "skip -",IDC_LABEL_HK7,3,85,59,8
CONTROL "",IDC_HOTKEY1,"InputCustomHot",WS_TABSTOP,66,5,98,12,WS_EX_CLIENTEDGE
CONTROL "",IDC_HOTKEY2,"InputCustomHot",WS_TABSTOP,66,18,98,12,WS_EX_CLIENTEDGE
CONTROL "",IDC_HOTKEY3,"InputCustomHot",WS_TABSTOP,66,31,98,12,WS_EX_CLIENTEDGE
CONTROL "",IDC_HOTKEY4,"InputCustomHot",WS_TABSTOP,66,45,98,12,WS_EX_CLIENTEDGE
CONTROL "",IDC_HOTKEY5,"InputCustomHot",WS_TABSTOP,66,58,98,12,WS_EX_CLIENTEDGE
CONTROL "",IDC_HOTKEY6,"InputCustomHot",WS_TABSTOP,66,70,98,12,WS_EX_CLIENTEDGE
CONTROL "",IDC_HOTKEY7,"InputCustomHot",WS_TABSTOP,66,83,98,12,WS_EX_CLIENTEDGE
CONTROL "",IDC_HOTKEY8,"InputCustomHot",WS_TABSTOP,66,96,98,12,WS_EX_CLIENTEDGE
CONTROL "",IDC_HOTKEY9,"InputCustomHot",WS_TABSTOP,66,109,98,12,WS_EX_CLIENTEDGE
CONTROL "",IDC_HOTKEY10,"InputCustomHot",WS_TABSTOP,66,122,98,12,WS_EX_CLIENTEDGE
CONTROL "",IDC_HOTKEY11,"InputCustomHot",WS_TABSTOP,66,135,98,12,WS_EX_CLIENTEDGE
CONTROL "",IDC_HOTKEY12,"InputCustomHot",WS_TABSTOP,66,149,98,12,WS_EX_CLIENTEDGE
CONTROL "",IDC_HOTKEY13,"InputCustomHot",WS_TABSTOP,66,162,98,12,WS_EX_CLIENTEDGE
CONTROL "",IDC_SAVE1,"InputCustomHot",WS_TABSTOP,192,5,60,12,WS_EX_CLIENTEDGE
RTEXT "save1",IDC_LABEL_UP2,170,21,20,8
CONTROL "",IDC_SAVE2,"InputCustomHot",WS_TABSTOP,192,18,60,12,WS_EX_CLIENTEDGE
RTEXT "save2",IDC_LABEL_UP3,170,34,20,8
CONTROL "",IDC_SAVE3,"InputCustomHot",WS_TABSTOP,192,31,60,12,WS_EX_CLIENTEDGE
RTEXT "save3",IDC_LABEL_UP4,170,47,20,8
CONTROL "",IDC_SAVE4,"InputCustomHot",WS_TABSTOP,192,45,60,12,WS_EX_CLIENTEDGE
RTEXT "save4",IDC_LABEL_UP5,170,58,20,8
CONTROL "",IDC_SAVE5,"InputCustomHot",WS_TABSTOP,192,58,60,12,WS_EX_CLIENTEDGE
RTEXT "save5",IDC_LABEL_UP6,170,72,20,8
CONTROL "",IDC_SAVE6,"InputCustomHot",WS_TABSTOP,192,71,60,12,WS_EX_CLIENTEDGE
RTEXT "save6",IDC_LABEL_UP7,170,85,20,8
CONTROL "",IDC_SAVE7,"InputCustomHot",WS_TABSTOP,192,82,60,12,WS_EX_CLIENTEDGE
RTEXT "save7",IDC_LABEL_UP8,170,98,20,8
CONTROL "",IDC_SAVE8,"InputCustomHot",WS_TABSTOP,192,96,60,12,WS_EX_CLIENTEDGE
RTEXT "save8",IDC_LABEL_UP9,170,112,20,8
CONTROL "",IDC_SAVE9,"InputCustomHot",WS_TABSTOP,192,109,60,12,WS_EX_CLIENTEDGE
RTEXT "save9",IDC_LABEL_UP10,170,125,20,8
CONTROL "",IDC_SAVE10,"InputCustomHot",WS_TABSTOP,192,122,60,12,WS_EX_CLIENTEDGE
RTEXT "save0",IDC_LABEL_UP11,170,8,20,8
CONTROL "",IDC_SAVE11,"InputCustomHot",WS_TABSTOP,279,5,60,12,WS_EX_CLIENTEDGE
RTEXT "load1",IDC_LABEL_UP12,257,21,20,8
CONTROL "",IDC_SAVE12,"InputCustomHot",WS_TABSTOP,279,18,60,12,WS_EX_CLIENTEDGE
RTEXT "load2",IDC_LABEL_UP13,257,34,20,8
CONTROL "",IDC_SAVE13,"InputCustomHot",WS_TABSTOP,279,31,60,12,WS_EX_CLIENTEDGE
RTEXT "load3",IDC_LABEL_UP14,257,48,20,8
CONTROL "",IDC_SAVE14,"InputCustomHot",WS_TABSTOP,279,45,60,12,WS_EX_CLIENTEDGE
RTEXT "load4",IDC_LABEL_UP15,257,61,20,8
CONTROL "",IDC_SAVE15,"InputCustomHot",WS_TABSTOP,279,58,60,12,WS_EX_CLIENTEDGE
RTEXT "load5",IDC_LABEL_UP16,257,72,20,8
CONTROL "",IDC_SAVE16,"InputCustomHot",WS_TABSTOP,279,71,60,12,WS_EX_CLIENTEDGE
RTEXT "load6",IDC_LABEL_UP17,257,85,20,8
CONTROL "",IDC_SAVE17,"InputCustomHot",WS_TABSTOP,279,82,60,12,WS_EX_CLIENTEDGE
RTEXT "load7",IDC_LABEL_UP18,257,98,20,8
CONTROL "",IDC_SAVE18,"InputCustomHot",WS_TABSTOP,279,96,60,12,WS_EX_CLIENTEDGE
RTEXT "load8",IDC_LABEL_UP19,257,111,20,8
CONTROL "",IDC_SAVE19,"InputCustomHot",WS_TABSTOP,279,109,60,12,WS_EX_CLIENTEDGE
RTEXT "load9",IDC_LABEL_UP20,257,125,20,8
CONTROL "",IDC_SAVE20,"InputCustomHot",WS_TABSTOP,279,122,60,12,WS_EX_CLIENTEDGE
RTEXT "load0",IDC_LABEL_UP21,257,8,20,8
RTEXT "fast forward",IDC_LABEL_HK5,3,61,58,8
RTEXT "show pressed keys",IDC_LABEL_HK10,1,125,61,8
RTEXT "save screenshot",IDC_LABEL_HK13,3,163,59,8
RTEXT "slot-",IDC_LABEL_UP22,170,138,20,8
CONTROL "",IDC_SLOTMINUS,"InputCustomHot",WS_TABSTOP,192,135,60,12,WS_EX_CLIENTEDGE
RTEXT "slot+",IDC_LABEL_UP23,257,138,20,8
CONTROL "",IDC_SLOTPLUS,"InputCustomHot",WS_TABSTOP,279,135,60,12,WS_EX_CLIENTEDGE
RTEXT "save#",IDC_LABEL_UP24,166,151,23,8
CONTROL "",IDC_SLOTSAVE,"InputCustomHot",WS_TABSTOP,192,149,60,12,WS_EX_CLIENTEDGE
RTEXT "load#",IDC_LABEL_UP25,253,151,23,8
CONTROL "",IDC_SLOTLOAD,"InputCustomHot",WS_TABSTOP,279,149,60,12,WS_EX_CLIENTEDGE
LTEXT "Blue means the hotkey is already mapped.\nPink means it conflicts with a game button.\nRed means it's reserved by Windows.\nA hotkey can be disabled using Escape.",IDC_LABEL_BLUE,208,164,136,32
COMBOBOX IDC_HKCOMBO,134,183,60,60,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
END
//
// Accelerator resources