Added an option to separate the screens. ATM the gap between the screens is white, maybe you won't like it, I'll try to make it prettier in the future.

There are 3 options:
-No separation (screens stuck together)
-Narrow border (5-pixel border, like NO$GBA)
-DS (90-pixel gap, approximatively reproduces the gap on the DS)

Also added the missing Help->About menu item to the French and Danish menus.
This commit is contained in:
luigi__ 2009-02-13 14:29:07 +00:00
parent 017949cacb
commit 096ff9dd4c
3 changed files with 459 additions and 292 deletions

View File

@ -148,10 +148,13 @@ WINCLASS *MainWindow=NULL;
//HDC hdc;
HACCEL hAccel;
HINSTANCE hAppInst = NULL;
RECT MainWindowRect;
RECT MainScreenRect, SubScreenRect, GapRect;
RECT MainScreenSrcRect, SubScreenSrcRect;
int WndX = 0;
int WndY = 0;
int ScreenGap = 0;
//=========================== view tools
TOOLSCLASS *ViewDisasm_ARM7 = NULL;
TOOLSCLASS *ViewDisasm_ARM9 = NULL;
@ -174,6 +177,8 @@ BOOL click = FALSE;
BOOL finished = FALSE;
BOOL romloaded = FALSE;
void SetScreenGap(int gap);
void SetRotate(HWND hwnd, int rot);
BOOL ForceRatio = TRUE;
@ -331,60 +336,15 @@ DWORD GPU_height = 192*2;
DWORD rotationstartscan = 192;
DWORD rotationscanlines = 192*2;
void SetWindowClientSize(HWND hwnd, int cx, int cy) //found at: http://blogs.msdn.com/oldnewthing/archive/2003/09/11/54885.aspx
{
HMENU hmenu = GetMenu(hwnd);
RECT rcWindow = { 0, 0, cx, cy };
/*
* First convert the client rectangle to a window rectangle the
* menu-wrap-agnostic way.
*/
AdjustWindowRect(&rcWindow, WS_CAPTION| WS_SYSMENU |WS_MINIMIZEBOX | WS_CLIPCHILDREN | WS_CLIPSIBLINGS, hmenu != NULL);
/*
* If there is a menu, then check how much wrapping occurs
* when we set a window to the width specified by AdjustWindowRect
* and an infinite amount of height. An infinite height allows
* us to see every single menu wrap.
*/
if (hmenu) {
RECT rcTemp = rcWindow;
rcTemp.bottom = 0x7FFF; /* "Infinite" height */
SendMessage(hwnd, WM_NCCALCSIZE, FALSE, (LPARAM)&rcTemp);
/*
* Adjust our previous calculation to compensate for menu
* wrapping.
*/
rcWindow.bottom += rcTemp.top;
}
SetWindowPos(hwnd, NULL, WndX, WndY, rcWindow.right - rcWindow.left,
rcWindow.bottom - rcWindow.top, SWP_NOMOVE | SWP_NOZORDER);
if (lpBackSurface!=NULL)
{
IDirectDrawSurface7_Release(lpBackSurface);
memset(&ddsd, 0, sizeof(ddsd));
ddsd.dwSize = sizeof(ddsd);
ddsd.dwFlags = DDSD_CAPS | DDSD_HEIGHT | DDSD_WIDTH;
ddsd.ddsCaps.dwCaps = DDSCAPS_OFFSCREENPLAIN;
ddsd.dwWidth = cx;
ddsd.dwHeight = cy;
IDirectDraw7_CreateSurface(lpDDraw, &ddsd, &lpBackSurface, NULL);
}
}
void ScaleScreen(float factor)
{
if((GPU_rotation == 0) || (GPU_rotation == 180))
if((GPU_rotation == 90) || (GPU_rotation == 270))
{
MainWindow->setClientSize((256 * factor), (384 * factor));
MainWindow->setClientSize(((384 + ScreenGap) * factor), (256 * factor));
}
else
{
MainWindow->setClientSize((384 * factor), (256 * factor));
MainWindow->setClientSize((256 * factor), ((384 + ScreenGap) * factor));
}
}
@ -404,7 +364,7 @@ void translateXY(s32& x, s32& y)
break;
case 270:
x = 255-ty;
y = (tx-192);
y = (tx-192-ScreenGap);
break;
}
}
@ -627,7 +587,7 @@ void Display()
memset(&ddsd, 0, sizeof(ddsd));
ddsd.dwSize = sizeof(ddsd);
ddsd.dwFlags=DDSD_ALL;
res=IDirectDrawSurface7_Lock(lpBackSurface,NULL,&ddsd,DDLOCK_WAIT, NULL);
res = lpBackSurface->Lock(NULL, &ddsd, DDLOCK_WAIT, NULL);
if (res == DD_OK)
{
@ -682,14 +642,39 @@ void Display()
}
else
INFO("16bit depth color not supported");
IDirectDrawSurface7_Unlock(lpBackSurface,(LPRECT)ddsd.lpSurface);
if (IDirectDrawSurface7_Blt(lpPrimarySurface,&MainWindowRect,lpBackSurface,0, DDBLT_WAIT,0)==DDERR_SURFACELOST)
lpBackSurface->Unlock((LPRECT)ddsd.lpSurface);
// Main screen
if(lpPrimarySurface->Blt(&MainScreenRect, lpBackSurface, &MainScreenSrcRect, DDBLT_WAIT, 0) == DDERR_SURFACELOST)
{
LOG("DirectDraw buffers is lost\n");
if (IDirectDrawSurface7_Restore(lpPrimarySurface)==DD_OK)
if(IDirectDrawSurface7_Restore(lpPrimarySurface) == DD_OK)
IDirectDrawSurface7_Restore(lpBackSurface);
}
// Sub screen
if(lpPrimarySurface->Blt(&SubScreenRect, lpBackSurface, &SubScreenSrcRect, DDBLT_WAIT, 0) == DDERR_SURFACELOST)
{
LOG("DirectDraw buffers is lost\n");
if(IDirectDrawSurface7_Restore(lpPrimarySurface) == DD_OK)
IDirectDrawSurface7_Restore(lpBackSurface);
}
// Gap
if(ScreenGap > 0)
{
HDC dc;
HBRUSH brush;
dc = GetDC(MainWindow->getHWnd());
brush = CreateSolidBrush(RGB(255, 255, 255));
FillRect(dc, &GapRect, brush);
DeleteObject((HGDIOBJ)brush);
ReleaseDC(MainWindow->getHWnd(), dc);
}
}
else
{
@ -1019,6 +1004,10 @@ int MenuInit()
MainWindow->checkMenu(IDC_ROTATE180, MF_BYCOMMAND | ((GPU_rotation==180)?MF_CHECKED:MF_UNCHECKED));
MainWindow->checkMenu(IDC_ROTATE270, MF_BYCOMMAND | ((GPU_rotation==270)?MF_CHECKED:MF_UNCHECKED));
MainWindow->checkMenu(IDM_SCREENSEP_NONE, MF_BYCOMMAND | ((ScreenGap==0)?MF_CHECKED:MF_UNCHECKED));
MainWindow->checkMenu(IDM_SCREENSEP_BORDER, MF_BYCOMMAND | ((ScreenGap==5)?MF_CHECKED:MF_UNCHECKED));
MainWindow->checkMenu(IDM_SCREENSEP_NDSGAP, MF_BYCOMMAND | ((ScreenGap==90)?MF_CHECKED:MF_UNCHECKED));
recentromsmenu = LoadMenu(hAppInst, "RECENTROMS");
GetRecentRoms();
@ -1203,10 +1192,11 @@ int WINAPI WinMain (HINSTANCE hThisInstance,
WndX = GetPrivateProfileInt("Video","WindowPosX", CW_USEDEFAULT, IniName);
WndY = GetPrivateProfileInt("Video","WindowPosY", CW_USEDEFAULT, IniName);
frameCounterDisplay = GetPrivateProfileInt("Display","FrameCounter", 0, IniName);
ScreenGap = GetPrivateProfileInt("Display", "ScreenGap", 0, IniName);
//sprintf(text, "%s", DESMUME_NAME_AND_VERSION);
MainWindow = new WINCLASS(CLASSNAME, hThisInstance);
DWORD dwStyle = WS_CAPTION| WS_SYSMENU | WS_SIZEBOX | WS_MINIMIZEBOX | WS_CLIPCHILDREN | WS_CLIPSIBLINGS;
if (!MainWindow->create(DESMUME_NAME_AND_VERSION, WndX/*CW_USEDEFAULT*/, WndY/*CW_USEDEFAULT*/, 256,384,
if (!MainWindow->create(DESMUME_NAME_AND_VERSION, WndX/*CW_USEDEFAULT*/, WndY/*CW_USEDEFAULT*/, 256,384+ScreenGap,
WS_CAPTION| WS_SYSMENU | WS_SIZEBOX | WS_MINIMIZEBOX | WS_CLIPCHILDREN | WS_CLIPSIBLINGS,
NULL))
{
@ -1238,11 +1228,11 @@ int WINAPI WinMain (HINSTANCE hThisInstance,
if((GPU_rotation == 90) || (GPU_rotation == 270))
{
MainWindow->setMinSize(384, 256);
MainWindow->setMinSize(384+ScreenGap, 256);
}
else
{
MainWindow->setMinSize(256, 384);
MainWindow->setMinSize(256, 384+ScreenGap);
}
{
@ -1466,24 +1456,156 @@ int WINAPI WinMain (HINSTANCE hThisInstance,
return 0;
}
void GetWndRect(HWND hwnd)
void UpdateWndRects(HWND hwnd)
{
POINT ptClient;
RECT rc;
GetClientRect(hwnd,&rc);
ptClient.x=rc.left;
ptClient.y=rc.top;
ClientToScreen(hwnd,&ptClient);
MainWindowRect.left=ptClient.x;
MainWindowRect.top=ptClient.y;
WndX = ptClient.x;
WndY = ptClient.y;
ptClient.x=rc.right;
ptClient.y=rc.bottom;
ClientToScreen(hwnd,&ptClient);
MainWindowRect.right=ptClient.x;
MainWindowRect.bottom=ptClient.y;
int wndWidth, wndHeight;
int defHeight = (384 + ScreenGap);
float ratio;
int oneScreenHeight, gapHeight;
GetClientRect(hwnd, &rc);
if((GPU_rotation == 90) || (GPU_rotation == 270))
{
wndWidth = (rc.bottom - rc.top);
wndHeight = (rc.right - rc.left);
}
else
{
wndWidth = (rc.right - rc.left);
wndHeight = (rc.bottom - rc.top);
}
ratio = ((float)wndHeight / (float)defHeight);
oneScreenHeight = (192 * ratio);
gapHeight = (wndHeight - (oneScreenHeight * 2));
if((GPU_rotation == 90) || (GPU_rotation == 270))
{
// Main screen
ptClient.x = rc.left;
ptClient.y = rc.top;
ClientToScreen(hwnd, &ptClient);
MainScreenRect.left = ptClient.x;
MainScreenRect.top = ptClient.y;
ptClient.x = (rc.left + oneScreenHeight);
ptClient.y = (rc.top + wndWidth);
ClientToScreen(hwnd, &ptClient);
MainScreenRect.right = ptClient.x;
MainScreenRect.bottom = ptClient.y;
// Sub screen
ptClient.x = (rc.left + oneScreenHeight + gapHeight);
ptClient.y = rc.top;
ClientToScreen(hwnd, &ptClient);
SubScreenRect.left = ptClient.x;
SubScreenRect.top = ptClient.y;
ptClient.x = (rc.left + oneScreenHeight + gapHeight + oneScreenHeight);
ptClient.y = (rc.top + wndWidth);
ClientToScreen(hwnd, &ptClient);
SubScreenRect.right = ptClient.x;
SubScreenRect.bottom = ptClient.y;
// Gap
GapRect.left = (rc.left + oneScreenHeight);
GapRect.top = rc.top;
GapRect.right = (rc.left + oneScreenHeight + gapHeight);
GapRect.bottom = (rc.top + wndWidth);
}
else
{
// Main screen
ptClient.x = rc.left;
ptClient.y = rc.top;
ClientToScreen(hwnd, &ptClient);
MainScreenRect.left = ptClient.x;
MainScreenRect.top = ptClient.y;
ptClient.x = (rc.left + wndWidth);
ptClient.y = (rc.top + oneScreenHeight);
ClientToScreen(hwnd, &ptClient);
MainScreenRect.right = ptClient.x;
MainScreenRect.bottom = ptClient.y;
// Sub screen
ptClient.x = rc.left;
ptClient.y = (rc.top + oneScreenHeight + gapHeight);
ClientToScreen(hwnd, &ptClient);
SubScreenRect.left = ptClient.x;
SubScreenRect.top = ptClient.y;
ptClient.x = (rc.left + wndWidth);
ptClient.y = (rc.top + oneScreenHeight + gapHeight + oneScreenHeight);
ClientToScreen(hwnd, &ptClient);
SubScreenRect.right = ptClient.x;
SubScreenRect.bottom = ptClient.y;
// Gap
GapRect.left = rc.left;
GapRect.top = (rc.top + oneScreenHeight);
GapRect.right = (rc.left + wndWidth);
GapRect.bottom = (rc.top + oneScreenHeight + gapHeight);
}
}
void UpdateScreenRects()
{
if((GPU_rotation == 90) || (GPU_rotation == 270))
{
// Main screen
MainScreenSrcRect.left = 0;
MainScreenSrcRect.top = 0;
MainScreenSrcRect.right = 192;
MainScreenSrcRect.bottom = 256;
// Sub screen
SubScreenSrcRect.left = 192;
SubScreenSrcRect.top = 0;
SubScreenSrcRect.right = 384;
SubScreenSrcRect.bottom = 256;
}
else
{
// Main screen
MainScreenSrcRect.left = 0;
MainScreenSrcRect.top = 0;
MainScreenSrcRect.right = 256;
MainScreenSrcRect.bottom = 192;
// Sub screen
SubScreenSrcRect.left = 0;
SubScreenSrcRect.top = 192;
SubScreenSrcRect.right = 256;
SubScreenSrcRect.bottom = 384;
}
}
void SetScreenGap(int gap)
{
RECT rc;
int height, width;
int oldgap, diff;
GetClientRect(MainWindow->getHWnd(), &rc);
width = (rc.right - rc.left);
height = (rc.bottom - rc.top);
oldgap = ScreenGap;
ScreenGap = gap;
if((GPU_rotation == 90) || (GPU_rotation == 270))
{
diff = ((gap - oldgap) * (height / 256.0f));
MainWindow->setMinSize((384 + gap), 256);
MainWindow->setClientSize(width+diff, height);
}
else
{
diff = ((gap - oldgap) * (width / 256.0f));
MainWindow->setMinSize(256, (384 + gap));
MainWindow->setClientSize(width, height+diff);
}
}
//========================================================================================
@ -1536,6 +1658,7 @@ void SetRotate(HWND hwnd, int rot)
GPU_height = 192*2;
rotationstartscan = 192;
rotationscanlines = 192*2;
MainWindow->setMinSize(GPU_width, (GPU_height + ScreenGap));
break;
case 90:
@ -1544,6 +1667,7 @@ void SetRotate(HWND hwnd, int rot)
GPU_height = 256;
rotationstartscan = 0;
rotationscanlines = 256;
MainWindow->setMinSize((GPU_width + ScreenGap), GPU_height);
break;
case 180:
@ -1552,6 +1676,7 @@ void SetRotate(HWND hwnd, int rot)
GPU_height = 192*2;
rotationstartscan = 0;
rotationscanlines = 192*2;
MainWindow->setMinSize(GPU_width, (GPU_height + ScreenGap));
break;
case 270:
@ -1560,10 +1685,10 @@ void SetRotate(HWND hwnd, int rot)
GPU_height = 256;
rotationstartscan = 0;
rotationscanlines = 256;
MainWindow->setMinSize((GPU_width + ScreenGap), GPU_height);
break;
}
MainWindow->setMinSize(GPU_width, GPU_height);
MainWindow->setClientSize(newwidth, newheight);
/* Recreate the DirectDraw back buffer */
@ -1589,6 +1714,8 @@ void SetRotate(HWND hwnd, int rot)
WritePrivateProfileInt("Video","Window Rotate",GPU_rotation,IniName);
gpu_SetRotateScreen(GPU_rotation);
UpdateScreenRects();
}
static void AviEnd()
@ -1874,6 +2001,7 @@ LRESULT CALLBACK WindowProcedure (HWND hwnd, UINT message, WPARAM wParam, LPARAM
case WM_CREATE:
{
UpdateScreenRects();
return 0;
}
case WM_DESTROY:
@ -1899,6 +2027,7 @@ LRESULT CALLBACK WindowProcedure (HWND hwnd, UINT message, WPARAM wParam, LPARAM
//Save frame counter status
WritePrivateProfileInt("Display", "FrameCounter", frameCounterDisplay, IniName);
WritePrivateProfileInt("Display", "ScreenGap", ScreenGap, IniName);
SaveRecentRoms();
NDS_DeInit();
ExitRunLoop();
@ -1908,7 +2037,7 @@ LRESULT CALLBACK WindowProcedure (HWND hwnd, UINT message, WPARAM wParam, LPARAM
SendMessage(hwnd, WM_PAINT, 0, 0x12345678);
return 0;
case WM_MOVE:
GetWndRect(hwnd);
UpdateWndRects(hwnd);
return 0;
case WM_SIZING:
{
@ -1954,7 +2083,7 @@ LRESULT CALLBACK WindowProcedure (HWND hwnd, UINT message, WPARAM wParam, LPARAM
default:
{
NDS_UnPause();
GetWndRect(hwnd);
UpdateWndRects(hwnd);
}
break;
}
@ -1997,26 +2126,28 @@ LRESULT CALLBACK WindowProcedure (HWND hwnd, UINT message, WPARAM wParam, LPARAM
RECT r ;
s32 x = (s32)((s16)LOWORD(lParam));
s32 y = (s32)((s16)HIWORD(lParam));
GetClientRect(hwnd,&r) ;
GetClientRect(hwnd,&r);
int defwidth = 256, defheight = (384+ScreenGap);
int winwidth = (r.right-r.left), winheight = (r.bottom-r.top);
// translate from scaling (screen resolution to 256x384 or 512x192)
switch (GPU_rotation)
{
case 0:
case 180:
x = (x*256) / (r.right - r.left) ;
y = (y*384) / (r.bottom - r.top) ;
x = (x*defwidth) / winwidth;
y = (y*defheight) / winheight;
break ;
case 90:
case 270:
x = (x*384) / (r.right - r.left) ;
y = (y*256) / (r.bottom - r.top) ;
x = (x*defheight) / winwidth;
y = (y*defwidth) / winheight;
break ;
}
//translate for rotation
if (GPU_rotation != 0)
translateXY(x,y);
else
y-=192;
y-=(192+ScreenGap);
if(x<0) x = 0; else if(x>255) x = 255;
if(y<0) y = 0; else if(y>192) y = 192;
NDS_setTouchPos(x, y);
@ -2519,6 +2650,33 @@ LRESULT CALLBACK WindowProcedure (HWND hwnd, UINT message, WPARAM wParam, LPARAM
ChangeLanguage(2);
CheckLanguage(LOWORD(wParam));
return 0;
case IDM_SCREENSEP_NONE:
{
SetScreenGap(0);
MainWindow->checkMenu(IDM_SCREENSEP_NONE, MF_BYCOMMAND | MF_CHECKED);
MainWindow->checkMenu(IDM_SCREENSEP_BORDER, MF_BYCOMMAND | MF_UNCHECKED);
MainWindow->checkMenu(IDM_SCREENSEP_NDSGAP, MF_BYCOMMAND | MF_UNCHECKED);
UpdateWndRects(hwnd);
}
return 0;
case IDM_SCREENSEP_BORDER:
{
SetScreenGap(5);
MainWindow->checkMenu(IDM_SCREENSEP_NONE, MF_BYCOMMAND | MF_UNCHECKED);
MainWindow->checkMenu(IDM_SCREENSEP_BORDER, MF_BYCOMMAND | MF_CHECKED);
MainWindow->checkMenu(IDM_SCREENSEP_NDSGAP, MF_BYCOMMAND | MF_UNCHECKED);
UpdateWndRects(hwnd);
}
return 0;
case IDM_SCREENSEP_NDSGAP:
{
SetScreenGap(90);
MainWindow->checkMenu(IDM_SCREENSEP_NONE, MF_BYCOMMAND | MF_UNCHECKED);
MainWindow->checkMenu(IDM_SCREENSEP_BORDER, MF_BYCOMMAND | MF_UNCHECKED);
MainWindow->checkMenu(IDM_SCREENSEP_NDSGAP, MF_BYCOMMAND | MF_CHECKED);
UpdateWndRects(hwnd);
}
return 0;
case IDM_WEBSITE:
ShellExecute(NULL, "open", "http://desmume.sourceforge.net", NULL, NULL, SW_SHOWNORMAL);
return 0;

View File

@ -9,13 +9,13 @@
#define IDC_STEP 104
#define IDD_MEM_VIEWER7 104
#define IDC_SETPNUM 105
#define IDD_CONFIG 105
#define IDC_SCROLLER 106
#define IDD_SOUNDSETTINGS 106
#define IDC_GO 107
#define IDC_AUTO_UPDATE 108
#define IDM_MEMORY 109
#define IDM_DISASSEMBLER 110
#define IDC_AUTO_UPDATE2 111
#define IDD_3DSETTINGS 111
#define IDM_GAME_INFO 111
#define IDD_GBASLOT 113
@ -71,15 +71,6 @@
#define IDC_COMBO2 161
#define IDC_COMBO3 162
#define IDC_COMBO4 163
#define IDC_COMBO5 164
#define IDC_COMBO6 165
#define IDC_COMBO7 166
#define IDC_COMBO8 167
#define IDC_COMBO9 168
#define IDC_COMBO10 169
#define IDC_COMBO11 170
#define IDC_COMBO12 171
#define IDC_BUTTON1 173
#define IDM_CONFIG 180
#define IDD_INPUT 181
#define IDC_SAVETYPE1 182
@ -207,6 +198,7 @@
#define IDC_AUTOUPDATE_ASM 1018
#define IDC_BGMAP_PRIO 1018
#define IDC_BGMAP_PAL 1019
#define IDC_VISIBLE 1019
#define IDC_BGMAP_SIZE 1020
#define IDC_IPCFIFO9 1020
#define IDC_BGMAP_SCROLL 1021
@ -380,26 +372,17 @@
#define IDC_LIGHT_VIEWER_LIGHT3COLOR_COLORCTRL 1332
#define IDC_LIGHT_VIEWER_LIGHT3COLOR_EDIT 1333
#define IDC_LIGHT_VIEWER_LIGHT3VECTOR_EDIT 1334
#define ACCEL_P 40004
#define ACCEL_SPACEBAR 40005
#define ACCEL_N 40007
#define IDM_SCREENSEP_NONE 40000
#define IDM_SCREENSEP_BORDER 40001
#define IDM_SCREENSEP_NDSGAP 40002
#define IDM_ABOUT 40003
#define ID_VIEW_FRAMECOUNTER 40009
#define ID_VIEW_DISPLAYFPS 40010
#define IDM_FILE_RECORDAVI 40015
#define IDM_FILE_STOPAVI 40016
#define ACCEL_I 40018
#define ACCEL_0 40020
#define ACCEL_1 40021
#define ACCEL_3 40023
#define ACCEL_2 40024
#define ACCEL_4 40025
#define ACCEL_5 40026
#define ACCEL_6 40027
#define ACCEL_7 40028
#define ACCEL_8 40029
#define ACCEL_9 40030
#define ACCEL_CTRL_O 40032
#define ID_FILE_RECENTROM 40034
#define IDC_SAVETYPE7 40037
#define IDM_DEFSIZE 40038
#define IDM_3DCONFIG 40040
#define IDM_GBASLOT 40042
@ -446,51 +429,47 @@
#define IDC_LABEL_BLUE 50036
#define IDC_LID 50037
#define IDD_INPUTCONFIG 50038
#define IDC_SAVETYPE7 40037
#define IDC_AUTO_UPDATE2 111
#define IDC_VISIBLE 1019
#define IDM_ABOUT 40003
#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_HOTKEY14 60024
#define IDC_HOTKEY15 60025
#define IDC_HOTKEY16 60026
#define IDC_HOTKEY17 60027
#define IDC_HOTKEY18 60028
#define IDC_HOTKEY19 60029
#define IDC_HOTKEY20 60030
#define IDC_LABEL_HK1 60001
#define IDC_LABEL_HK2 60002
#define IDC_LABEL_HK3 60003
#define IDC_LABEL_HK4 60004
#define IDC_LABEL_HK5 60005
#define IDC_LABEL_HK6 60006
#define IDC_LABEL_HK7 60007
#define IDC_LABEL_HK8 60008
#define IDC_LABEL_HK9 60009
#define IDC_LABEL_HK10 60031
#define IDC_LABEL_HK11 60032
#define IDC_LABEL_HK12 60033
#define IDC_LABEL_HK13 60034
#define IDC_LABEL_HK14 60035
#define IDC_LABEL_HK15 60036
#define IDC_LABEL_HK16 60037
#define IDC_LABEL_HK17 60038
#define IDC_LABEL_HK18 60049
#define IDC_LABEL_HK19 60040
#define IDC_LABEL_HK20 60041
#define IDC_HKCOMBO 60077
#define IDD_KEYCUSTOM 60078
#define IDM_HOTKEY_CONFIG 60079
#define IDC_INTERPOLATECOLOR 70000
#define IDC_LABEL_HK1 60001
#define IDC_LABEL_HK2 60002
#define IDC_LABEL_HK3 60003
#define IDC_LABEL_HK4 60004
#define IDC_LABEL_HK5 60005
#define IDC_LABEL_HK6 60006
#define IDC_LABEL_HK7 60007
#define IDC_LABEL_HK8 60008
#define IDC_LABEL_HK9 60009
#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_HOTKEY14 60024
#define IDC_HOTKEY15 60025
#define IDC_HOTKEY16 60026
#define IDC_HOTKEY17 60027
#define IDC_HOTKEY18 60028
#define IDC_HOTKEY19 60029
#define IDC_HOTKEY20 60030
#define IDC_LABEL_HK10 60031
#define IDC_LABEL_HK11 60032
#define IDC_LABEL_HK12 60033
#define IDC_LABEL_HK13 60034
#define IDC_LABEL_HK14 60035
#define IDC_LABEL_HK15 60036
#define IDC_LABEL_HK16 60037
#define IDC_LABEL_HK17 60038
#define IDC_LABEL_HK19 60040
#define IDC_LABEL_HK20 60041
#define IDC_LABEL_HK18 60049
#define IDC_HKCOMBO 60077
#define IDD_KEYCUSTOM 60078
#define IDM_HOTKEY_CONFIG 60079
#define IDC_INTERPOLATECOLOR 70000

View File

@ -1,4 +1,4 @@
// Generated by ResEdit 1.4.4.16
// Generated by ResEdit 1.4.4.18
// Copyright (C) 2006-2008
// http://www.resedit.net
@ -101,6 +101,12 @@ BEGIN
MENUITEM "3x", IDC_WINDOW3X
MENUITEM "4x", IDC_WINDOW4X
END
POPUP "Screen separation"
BEGIN
MENUITEM "None\t(0 px)", IDM_SCREENSEP_NONE
MENUITEM "Narrow border\t(5 px)", IDM_SCREENSEP_BORDER
MENUITEM "DS\t(90 px)", IDM_SCREENSEP_NDSGAP
END
MENUITEM "&Bevar Højde og Bredde", IDC_FORCERATIO
MENUITEM "Default size", IDM_DEFSIZE
MENUITEM SEPARATOR
@ -120,7 +126,7 @@ BEGIN
END
MENUITEM "3D settings", IDM_3DCONFIG
MENUITEM "Indput Indstillinger", IDM_CONFIG
MENUITEM "Hotkey Config", IDM_HOTKEY_CONFIG
MENUITEM "Hotkey Config", IDM_HOTKEY_CONFIG
MENUITEM "Lyd Indstillinger", IDM_SOUNDSETTINGS
MENUITEM "Firmware Indstillinger", IDM_FIRMSETTINGS
POPUP "&Frame Skip"
@ -174,6 +180,7 @@ BEGIN
MENUITEM "&Hjemmeside", IDM_WEBSITE
MENUITEM "&Forums", IDM_FORUM
MENUITEM "&Indsend Fejl Rapport", IDM_SUBMITBUGREPORT
MENUITEM "About", IDM_ABOUT
END
END
@ -255,6 +262,12 @@ BEGIN
MENUITEM "3x", IDC_WINDOW3X
MENUITEM "4x", IDC_WINDOW4X
END
POPUP "Screen separation"
BEGIN
MENUITEM "None\t(0 px)", IDM_SCREENSEP_NONE
MENUITEM "Narrow border\t(5 px)", IDM_SCREENSEP_BORDER
MENUITEM "DS\t(90 px)", IDM_SCREENSEP_NDSGAP
END
MENUITEM "&Force Maintain Ratio", IDC_FORCERATIO
MENUITEM "Default size", IDM_DEFSIZE
MENUITEM SEPARATOR
@ -275,7 +288,7 @@ BEGIN
END
MENUITEM "3D Settings", IDM_3DCONFIG
MENUITEM "Control Config", IDM_CONFIG
MENUITEM "Hotkey Config", IDM_HOTKEY_CONFIG
MENUITEM "Hotkey Config", IDM_HOTKEY_CONFIG
MENUITEM "Sound Settings", IDM_SOUNDSETTINGS
MENUITEM "Firmware Settings", IDM_FIRMSETTINGS
POPUP "&Frame Skip"
@ -411,6 +424,12 @@ BEGIN
MENUITEM "3x", IDC_WINDOW3X
MENUITEM "4x", IDC_WINDOW4X
END
POPUP "Séparation écrans"
BEGIN
MENUITEM "Aucune\t(0 px)", IDM_SCREENSEP_NONE
MENUITEM "Bordure fine\t(5 px)", IDM_SCREENSEP_BORDER
MENUITEM "DS\t(90 px)", IDM_SCREENSEP_NDSGAP
END
MENUITEM "Conserver le ratio", IDC_FORCERATIO
MENUITEM "Taille par défaut", IDM_DEFSIZE
MENUITEM SEPARATOR
@ -430,7 +449,7 @@ BEGIN
END
MENUITEM "Config. 3D", IDM_3DCONFIG
MENUITEM "Config. des contrôles", IDM_CONFIG
MENUITEM "Hotkey Config", IDM_HOTKEY_CONFIG
MENUITEM "Hotkey Config", IDM_HOTKEY_CONFIG
MENUITEM "Config. du son", IDM_SOUNDSETTINGS
MENUITEM "Config. du firmware", IDM_FIRMSETTINGS
POPUP "&Frame Skip"
@ -484,6 +503,7 @@ BEGIN
MENUITEM "Site &web", IDM_WEBSITE
MENUITEM "&Forums", IDM_FORUM
MENUITEM "&Soumettre un report de bug", IDM_SUBMITBUGREPORT
MENUITEM "A propos", IDM_ABOUT
END
END
@ -600,6 +620,45 @@ END
LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
IDD_BGMAP_VIEWER DIALOG 0, 0, 495, 320
STYLE DS_CENTER | DS_MODALFRAME | DS_SHELLFONT | WS_VISIBLE | WS_BORDER | WS_CAPTION | WS_DLGFRAME | WS_POPUP | WS_SYSMENU
CAPTION "BG map viewer"
FONT 8, "MS Sans Serif"
BEGIN
PUSHBUTTON "Close", IDCANCEL, 5, 301, 50, 14, BS_PUSHBUTTON
GROUPBOX "Map info", IDC_STATIC, 5, 23, 142, 230
COMBOBOX IDC_BGMAP_SEL, 5, 5, 142, 154, CBS_DROPDOWNLIST | CBS_HASSTRINGS
LTEXT "BG control : ", IDC_STATIC, 15, 35, 60, 8, SS_LEFT
LTEXT "Char base :", IDC_STATIC, 15, 65, 60, 8, SS_LEFT
LTEXT "Screen base :", IDC_STATIC, 15, 80, 60, 8, SS_LEFT
LTEXT "Priority :", IDC_STATIC, 15, 95, 60, 8, SS_LEFT
LTEXT "Type :", IDC_STATIC, 15, 50, 60, 8, SS_LEFT
LTEXT "Palette :", IDC_STATIC, 15, 110, 60, 8, SS_LEFT
LTEXT "Size :", IDC_STATIC, 15, 125, 60, 8, SS_LEFT
LTEXT "Scroll :", IDC_STATIC, 15, 140, 60, 8, SS_LEFT
LTEXT "Mosaic :", IDC_STATIC, 15, 210, 60, 8, SS_LEFT
LTEXT "Rot/scale :", IDC_STATIC, 15, 155, 60, 8, SS_LEFT
LTEXT "Special effect :", IDC_STATIC, 15, 225, 60, 8, SS_LEFT
LTEXT "Windows :", IDC_STATIC, 15, 240, 60, 8, SS_LEFT
LTEXT "Rot/scale params :", IDC_STATIC, 15, 170, 60, 8, SS_LEFT
LTEXT "BGxCNT here", IDC_BGMAP_BGXCNT, 75, 35, 68, 8, SS_LEFT
LTEXT "type here", IDC_BGMAP_TYPE, 75, 50, 68, 8, SS_LEFT
LTEXT "charbase here", IDC_BGMAP_CHARBASE, 75, 65, 68, 8, SS_LEFT
LTEXT "screenbase here", IDC_BGMAP_SCRBASE, 75, 80, 68, 8, SS_LEFT
LTEXT "prio here", IDC_BGMAP_PRIO, 75, 95, 68, 8, SS_LEFT
LTEXT "pal here", IDC_BGMAP_PAL, 75, 110, 68, 8, SS_LEFT
LTEXT "size here", IDC_BGMAP_SIZE, 75, 125, 68, 8, SS_LEFT
LTEXT "scroll (x,y) here", IDC_BGMAP_SCROLL, 75, 140, 68, 8, SS_LEFT
LTEXT "{yes/no} here", IDC_BGMAP_ROTSCALE, 75, 155, 68, 8, SS_LEFT
LTEXT "pa/pb/pc/pd here\npa/pb/pc/pd here\npa/pb/pc/pd here\npa/pb/pc/pd here\n", IDC_BGMAP_ROTSCALEPARAMS, 75, 170, 68, 35, SS_LEFT
LTEXT "mosaic here", IDC_BGMAP_MOSAIC, 75, 210, 68, 8, SS_LEFT
LTEXT "special effect here", IDC_BGMAP_SPECEFF, 75, 225, 68, 8, SS_LEFT
LTEXT "windows here", IDC_BGMAP_WINDOWS, 75, 240, 68, 8, SS_LEFT
END
LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
IDD_CHEAT_ADD DIALOGEX 0, 0, 121, 207
STYLE DS_CENTER | DS_MODALFRAME | DS_SHELLFONT | WS_BORDER | WS_CAPTION | WS_DLGFRAME | WS_POPUP | WS_SYSMENU
@ -776,6 +835,7 @@ BEGIN
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
@ -1148,45 +1208,6 @@ END
LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
IDD_BGMAP_VIEWER DIALOG 0, 0, 495, 320
STYLE DS_CENTER | DS_MODALFRAME | DS_FIXEDSYS | WS_VISIBLE | WS_BORDER | WS_CAPTION | WS_DLGFRAME | WS_POPUP | WS_SYSMENU
CAPTION "BG map viewer"
FONT 8, "MS Sans Serif"
BEGIN
PUSHBUTTON "Close", IDCANCEL, 5, 301, 50, 14, BS_PUSHBUTTON
GROUPBOX "Map info", IDC_STATIC, 5, 23, 142, 230
COMBOBOX IDC_BGMAP_SEL, 5, 5, 142, 154, CBS_DROPDOWNLIST | CBS_HASSTRINGS
LTEXT "BG control : ", IDC_STATIC, 15, 35, 60, 8, SS_LEFT
LTEXT "Char base :", IDC_STATIC, 15, 65, 60, 8, SS_LEFT
LTEXT "Screen base :", IDC_STATIC, 15, 80, 60, 8, SS_LEFT
LTEXT "Priority :", IDC_STATIC, 15, 95, 60, 8, SS_LEFT
LTEXT "Type :", IDC_STATIC, 15, 50, 60, 8, SS_LEFT
LTEXT "Palette :", IDC_STATIC, 15, 110, 60, 8, SS_LEFT
LTEXT "Size :", IDC_STATIC, 15, 125, 60, 8, SS_LEFT
LTEXT "Scroll :", IDC_STATIC, 15, 140, 60, 8, SS_LEFT
LTEXT "Mosaic :", IDC_STATIC, 15, 210, 60, 8, SS_LEFT
LTEXT "Rot/scale :", IDC_STATIC, 15, 155, 60, 8, SS_LEFT
LTEXT "Special effect :", IDC_STATIC, 15, 225, 60, 8, SS_LEFT
LTEXT "Windows :", IDC_STATIC, 15, 240, 60, 8, SS_LEFT
LTEXT "Rot/scale params :", IDC_STATIC, 15, 170, 60, 8, SS_LEFT
LTEXT "BGxCNT here", IDC_BGMAP_BGXCNT, 75, 35, 68, 8, SS_LEFT
LTEXT "type here", IDC_BGMAP_TYPE, 75, 50, 68, 8, SS_LEFT
LTEXT "charbase here", IDC_BGMAP_CHARBASE, 75, 65, 68, 8, SS_LEFT
LTEXT "screenbase here", IDC_BGMAP_SCRBASE, 75, 80, 68, 8, SS_LEFT
LTEXT "prio here", IDC_BGMAP_PRIO, 75, 95, 68, 8, SS_LEFT
LTEXT "pal here", IDC_BGMAP_PAL, 75, 110, 68, 8, SS_LEFT
LTEXT "size here", IDC_BGMAP_SIZE, 75, 125, 68, 8, SS_LEFT
LTEXT "scroll (x,y) here", IDC_BGMAP_SCROLL, 75, 140, 68, 8, SS_LEFT
LTEXT "{yes/no} here", IDC_BGMAP_ROTSCALE, 75, 155, 68, 8, SS_LEFT
LTEXT "pa/pb/pc/pd here\npa/pb/pc/pd here\npa/pb/pc/pd here\npa/pb/pc/pd here\n", IDC_BGMAP_ROTSCALEPARAMS, 75, 170, 68, 35, SS_LEFT
LTEXT "mosaic here", IDC_BGMAP_MOSAIC, 75, 210, 68, 8, SS_LEFT
LTEXT "special effect here", IDC_BGMAP_SPECEFF, 75, 225, 68, 8, SS_LEFT
LTEXT "windows here", IDC_BGMAP_WINDOWS, 75, 240, 68, 8, SS_LEFT
END
LANGUAGE LANG_DANISH, SUBLANG_DANISH_DENMARK
IDD_FIRMSETTINGS DIALOG 0, 0, 161, 145
STYLE DS_MODALFRAME | DS_SETFONT | WS_VISIBLE | WS_BORDER | WS_CAPTION | WS_DLGFRAME | WS_POPUP | WS_SYSMENU
@ -1442,6 +1463,57 @@ END
LANGUAGE LANG_FRENCH, SUBLANG_FRENCH
IDD_INPUTCONFIG DIALOGEX 0, 0, 339, 148
STYLE DS_MODALFRAME | DS_SHELLFONT | WS_BORDER | WS_CAPTION | WS_DLGFRAME | WS_POPUP | WS_SYSMENU
CAPTION "Control Config"
FONT 8, "MS Shell Dlg", 400, 0, 1
BEGIN
CONTROL "WOG!", IDC_UP, "InputCustom", 0x50010000, 52, 15, 71, 12, 0x00000200
CONTROL "", IDC_LEFT, "InputCustom", 0x50010000, 52, 29, 71, 12, 0x00000200
CONTROL "", IDC_DOWN, "InputCustom", 0x50010000, 52, 42, 71, 12, 0x00000200
CONTROL "", IDC_RIGHT, "InputCustom", 0x50010000, 52, 55, 71, 12, 0x00000200
CONTROL "", IDC_B, "InputCustom", 0x50010000, 52, 68, 71, 12, 0x00000200
CONTROL "", IDC_A, "InputCustom", 0x50010000, 52, 81, 71, 12, 0x00000200
CONTROL "", IDC_Y, "InputCustom", 0x50010000, 52, 94, 71, 12, 0x00000200
CONTROL "", IDC_X, "InputCustom", 0x50010000, 52, 107, 71, 12, 0x00000200
CONTROL " ", IDC_START, "InputCustom", 0x50010000, 163, 15, 71, 12, 0x00000200
CONTROL " ", IDC_SELECT, "InputCustom", 0x50010000, 163, 29, 71, 12, 0x00000200
CONTROL " ", IDC_L, "InputCustom", 0x50010000, 163, 42, 71, 12, 0x00000200
CONTROL " ", IDC_R, "InputCustom", 0x50010000, 163, 55, 71, 12, 0x00000200
CONTROL " ", IDC_UPLEFT, "InputCustom", 0x58010000, 163, 68, 71, 12, 0x00000200
CONTROL " ", IDC_UPRIGHT, "InputCustom", 0x58010000, 163, 81, 71, 12, 0x00000200
CONTROL " ", IDC_DWNRIGHT, "InputCustom", 0x58010000, 163, 94, 71, 12, 0x00000200
CONTROL " ", IDC_DWNLEFT, "InputCustom", 0x58010000, 163, 107, 71, 12, 0x00000200
PUSHBUTTON "Cancel", IDCANCEL, 293, 119, 39, 14, BS_PUSHBUTTON
PUSHBUTTON "OK", IDOK, 245, 119, 41, 14, BS_PUSHBUTTON
LTEXT "Blue means the button is already mapped.\nPink means it conflicts with a custom hotkey.\nRed means it's reserved by Windows.\nButtons can be disabled using Escape.\nGrayed buttons arent supported yet (sorry!)", IDC_LABEL_BLUE, 246, 10, 80, 88, SS_LEFT
RTEXT "UP", IDC_LABEL_UP, 10, 18, 38, 8, SS_RIGHT
RTEXT "RIGHT", IDC_LABEL_RIGHT, 8, 58, 41, 8, SS_RIGHT
RTEXT "LEFT", IDC_LABEL_LEFT, 11, 31, 37, 8, SS_RIGHT
RTEXT "DOWN", IDC_LABEL_DOWN, 10, 45, 39, 8, SS_RIGHT
RTEXT "A", IDC_LABEL_A, 10, 83, 38, 8, SS_RIGHT
RTEXT "X", IDC_LABEL_X, 8, 109, 39, 8, SS_RIGHT
RTEXT "B", IDC_LABEL_B, 11, 71, 37, 8, SS_RIGHT
RTEXT "Y", IDC_LABEL_Y, 8, 97, 40, 8, SS_RIGHT
RTEXT "L", IDC_LABEL_L, 136, 44, 24, 8, SS_RIGHT
RTEXT "START", IDC_LABEL_START, 136, 18, 24, 8, SS_RIGHT
RTEXT "R", IDC_LABEL_R, 136, 57, 24, 8, SS_RIGHT
RTEXT "SELECT", IDC_LABEL_SELECT, 132, 31, 28, 8, SS_RIGHT
RTEXT "UP LEFT", IDC_LABEL_UPLEFT, 130, 71, 30, 8, SS_RIGHT
RTEXT "DN RIGHT", IDC_LABEL_DOWNRIGHT, 124, 97, 36, 8, SS_RIGHT
RTEXT "UP RIGHT", IDC_LABEL_UPRIGHT, 124, 84, 36, 8, SS_RIGHT
RTEXT "DN LEFT", IDC_LABEL_DOWNLEFT, 129, 109, 31, 8, SS_RIGHT
AUTOCHECKBOX "Allow Left+Rt/Up+Dn", IDC_ALLOWLEFTRIGHT, 245, 102, 87, 11, BS_AUTOCHECKBOX
GROUPBOX "Buttons", IDC_STATIC, 7, 7, 234, 129, 0, WS_EX_TRANSPARENT
CONTROL "", IDC_LID, "InputCustom", 0x50010000, 52, 120, 71, 12, 0x00000200
RTEXT "LID", IDC_LABEL_X2, 8, 121, 39, 8, SS_RIGHT
RTEXT "DEBUG", IDC_LABEL_X3, 127, 123, 29, 8, SS_RIGHT
CONTROL " ", IDC_DEBUG, "InputCustom", 0x58010000, 163, 120, 71, 12, 0x00000200
END
LANGUAGE LANG_DANISH, SUBLANG_DANISH_DENMARK
IDD_IO_REG DIALOGEX 0, 0, 150, 200
STYLE DS_CENTER | DS_SETFONT | WS_BORDER | WS_CAPTION | WS_DLGFRAME
@ -1589,6 +1661,60 @@ END
LANGUAGE LANG_FRENCH, SUBLANG_FRENCH
IDD_KEYCUSTOM DIALOGEX 0, 0, 382, 180
STYLE DS_3DLOOK | DS_CENTER | DS_MODALFRAME | DS_SETFONT | WS_BORDER | WS_CAPTION | WS_CLIPCHILDREN | WS_DLGFRAME | WS_POPUP
CAPTION "Customize Special Keys"
FONT 8, "MS Sans Serif", 0, 0, 1
BEGIN
PUSHBUTTON "OK", IDOK, 16, 159, 50, 14, BS_PUSHBUTTON
PUSHBUTTON "Cancel", IDCANCEL, 66, 159, 50, 14, BS_PUSHBUTTON
RTEXT "Item #01", IDC_LABEL_HK1, 2, 7, 80, 8, SS_RIGHT
RTEXT "Item #02", IDC_LABEL_HK2, 2, 20, 80, 8, SS_RIGHT
RTEXT "Item #03", IDC_LABEL_HK3, 2, 33, 80, 8, SS_RIGHT
RTEXT "Item #04", IDC_LABEL_HK4, 2, 47, 80, 8, SS_RIGHT
RTEXT "Item #05", IDC_LABEL_HK5, 2, 60, 80, 8, SS_RIGHT
RTEXT "Item #06", IDC_LABEL_HK6, 2, 72, 80, 8, SS_RIGHT
RTEXT "Item #07", IDC_LABEL_HK7, 2, 85, 80, 8, SS_RIGHT
RTEXT "Item #08", IDC_LABEL_HK8, 2, 98, 80, 8, SS_RIGHT
RTEXT "Item #09", IDC_LABEL_HK9, 2, 111, 80, 8, SS_RIGHT
RTEXT "Item #10", IDC_LABEL_HK10, 2, 124, 80, 8, SS_RIGHT
RTEXT "Item #11", IDC_LABEL_HK11, 192, 7, 80, 8, SS_RIGHT
RTEXT "Item #12", IDC_LABEL_HK12, 192, 20, 80, 8, SS_RIGHT
RTEXT "Item #13", IDC_LABEL_HK13, 192, 33, 80, 8, SS_RIGHT
RTEXT "Item #14", IDC_LABEL_HK14, 192, 47, 80, 8, SS_RIGHT
RTEXT "Item #15", IDC_LABEL_HK15, 192, 60, 80, 8, SS_RIGHT
RTEXT "Item #16", IDC_LABEL_HK16, 192, 72, 80, 8, SS_RIGHT
RTEXT "Item #17", IDC_LABEL_HK17, 192, 85, 80, 8, SS_RIGHT
RTEXT "Item #18", IDC_LABEL_HK18, 192, 98, 80, 8, SS_RIGHT
RTEXT "Item #19", IDC_LABEL_HK19, 192, 111, 80, 8, SS_RIGHT
RTEXT "Item #20", IDC_LABEL_HK20, 192, 124, 80, 8, SS_RIGHT
CONTROL "", IDC_HOTKEY1, "InputCustomHot", 0x50010000, 86, 5, 98, 12, 0x00000200
CONTROL "", IDC_HOTKEY2, "InputCustomHot", 0x50010000, 86, 18, 98, 12, 0x00000200
CONTROL "", IDC_HOTKEY3, "InputCustomHot", 0x50010000, 86, 31, 98, 12, 0x00000200
CONTROL "", IDC_HOTKEY4, "InputCustomHot", 0x50010000, 86, 45, 98, 12, 0x00000200
CONTROL "", IDC_HOTKEY5, "InputCustomHot", 0x50010000, 86, 58, 98, 12, 0x00000200
CONTROL "", IDC_HOTKEY6, "InputCustomHot", 0x50010000, 86, 70, 98, 12, 0x00000200
CONTROL "", IDC_HOTKEY7, "InputCustomHot", 0x50010000, 86, 83, 98, 12, 0x00000200
CONTROL "", IDC_HOTKEY8, "InputCustomHot", 0x50010000, 86, 96, 98, 12, 0x00000200
CONTROL "", IDC_HOTKEY9, "InputCustomHot", 0x50010000, 86, 109, 98, 12, 0x00000200
CONTROL "", IDC_HOTKEY10, "InputCustomHot", 0x50010000, 86, 122, 98, 12, 0x00000200
CONTROL "", IDC_HOTKEY11, "InputCustomHot", 0x50010000, 276, 5, 98, 12, 0x00000200
CONTROL "", IDC_HOTKEY12, "InputCustomHot", 0x50010000, 276, 18, 98, 12, 0x00000200
CONTROL "", IDC_HOTKEY13, "InputCustomHot", 0x50010000, 276, 31, 98, 12, 0x00000200
CONTROL "", IDC_HOTKEY14, "InputCustomHot", 0x50010000, 276, 45, 98, 12, 0x00000200
CONTROL "", IDC_HOTKEY15, "InputCustomHot", 0x50010000, 276, 58, 98, 12, 0x00000200
CONTROL "", IDC_HOTKEY16, "InputCustomHot", 0x50010000, 276, 70, 98, 12, 0x00000200
CONTROL "", IDC_HOTKEY17, "InputCustomHot", 0x50010000, 276, 83, 98, 12, 0x00000200
CONTROL "", IDC_HOTKEY18, "InputCustomHot", 0x50010000, 276, 96, 98, 12, 0x00000200
CONTROL "", IDC_HOTKEY19, "InputCustomHot", 0x50010000, 276, 109, 98, 12, 0x00000200
CONTROL "", IDC_HOTKEY20, "InputCustomHot", 0x50010000, 276, 122, 98, 12, 0x00000200
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, 238, 140, 136, 32, SS_LEFT
COMBOBOX IDC_HKCOMBO, 16, 141, 168, 60, WS_TABSTOP | WS_VSCROLL | WS_TABSTOP | CBS_DROPDOWNLIST
END
LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
IDD_LIGHT_VIEWER DIALOGEX 0, 0, 197, 89
STYLE DS_CENTER | DS_SHELLFONT | WS_BORDER | WS_CAPTION | WS_DLGFRAME
@ -2205,104 +2331,8 @@ BEGIN
LTEXT "secs", IDC_STATIC, 428, 167, 16, 8, SS_LEFT
END
IDD_INPUTCONFIG DIALOGEX 0, 0, 339, 148
STYLE DS_SETFONT | DS_MODALFRAME | DS_FIXEDSYS | WS_POPUP | WS_CAPTION | WS_SYSMENU
CAPTION "Control Config"
FONT 8, "MS Shell Dlg", 400, 0, 0x1
BEGIN
CONTROL "WOG!",IDC_UP,"InputCustom",WS_TABSTOP,52,15,71,12,WS_EX_CLIENTEDGE
CONTROL "",IDC_LEFT,"InputCustom",WS_TABSTOP,52,29,71,12,WS_EX_CLIENTEDGE
CONTROL "",IDC_DOWN,"InputCustom",WS_TABSTOP,52,42,71,12,WS_EX_CLIENTEDGE
CONTROL "",IDC_RIGHT,"InputCustom",WS_TABSTOP,52,55,71,12,WS_EX_CLIENTEDGE
CONTROL "",IDC_B,"InputCustom",WS_TABSTOP,52,68,71,12,WS_EX_CLIENTEDGE
CONTROL "",IDC_A,"InputCustom",WS_TABSTOP,52,81,71,12,WS_EX_CLIENTEDGE
CONTROL "",IDC_Y,"InputCustom",WS_TABSTOP,52,94,71,12,WS_EX_CLIENTEDGE
CONTROL "",IDC_X,"InputCustom",WS_TABSTOP,52,107,71,12,WS_EX_CLIENTEDGE
CONTROL " ",IDC_START,"InputCustom",WS_TABSTOP,163,15,71,12,WS_EX_CLIENTEDGE
CONTROL " ",IDC_SELECT,"InputCustom",WS_TABSTOP,163,29,71,12,WS_EX_CLIENTEDGE
CONTROL " ",IDC_L,"InputCustom",WS_TABSTOP,163,42,71,12,WS_EX_CLIENTEDGE
CONTROL " ",IDC_R,"InputCustom",WS_TABSTOP,163,55,71,12,WS_EX_CLIENTEDGE
CONTROL " ",IDC_UPLEFT,"InputCustom",WS_DISABLED | WS_TABSTOP,163,68,71,12,WS_EX_CLIENTEDGE
CONTROL " ",IDC_UPRIGHT,"InputCustom",WS_DISABLED | WS_TABSTOP,163,81,71,12,WS_EX_CLIENTEDGE
CONTROL " ",IDC_DWNRIGHT,"InputCustom",WS_DISABLED | WS_TABSTOP,163,94,71,12,WS_EX_CLIENTEDGE
CONTROL " ",IDC_DWNLEFT,"InputCustom",WS_DISABLED | WS_TABSTOP,163,107,71,12,WS_EX_CLIENTEDGE
PUSHBUTTON "Cancel",IDCANCEL,293,119,39,14
PUSHBUTTON "OK",IDOK,245,119,41,14
LTEXT "Blue means the button is already mapped.\nPink means it conflicts with a custom hotkey.\nRed means it's reserved by Windows.\nButtons can be disabled using Escape.\nGrayed buttons arent supported yet (sorry!)",IDC_LABEL_BLUE,246,10,80,88
RTEXT "UP",IDC_LABEL_UP,10,18,38,8
RTEXT "RIGHT",IDC_LABEL_RIGHT,8,58,41,8
RTEXT "LEFT",IDC_LABEL_LEFT,11,31,37,8
RTEXT "DOWN",IDC_LABEL_DOWN,10,45,39,8
RTEXT "A",IDC_LABEL_A,10,83,38,8
RTEXT "X",IDC_LABEL_X,8,109,39,8
RTEXT "B",IDC_LABEL_B,11,71,37,8
RTEXT "Y",IDC_LABEL_Y,8,97,40,8
RTEXT "L",IDC_LABEL_L,136,44,24,8
RTEXT "START",IDC_LABEL_START,136,18,24,8
RTEXT "R",IDC_LABEL_R,136,57,24,8
RTEXT "SELECT",IDC_LABEL_SELECT,132,31,28,8
RTEXT "UP LEFT",IDC_LABEL_UPLEFT,130,71,30,8
RTEXT "DN RIGHT",IDC_LABEL_DOWNRIGHT,124,97,36,8
RTEXT "UP RIGHT",IDC_LABEL_UPRIGHT,124,84,36,8
RTEXT "DN LEFT",IDC_LABEL_DOWNLEFT,129,109,31,8
CONTROL "Allow Left+Rt/Up+Dn",IDC_ALLOWLEFTRIGHT,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,245,102,87,11
GROUPBOX "Buttons",IDC_STATIC,7,7,234,129,0,WS_EX_TRANSPARENT
CONTROL "",IDC_LID,"InputCustom",WS_TABSTOP,52,120,71,12,WS_EX_CLIENTEDGE
RTEXT "LID",IDC_LABEL_X2,8,121,39,8
RTEXT "DEBUG",IDC_LABEL_X3,127,123,29,8
CONTROL " ",IDC_DEBUG,"InputCustom",WS_DISABLED | WS_TABSTOP,163,120,71,12,WS_EX_CLIENTEDGE
END
IDD_KEYCUSTOM DIALOGEX 0, 0, 382, 180
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 "OK",IDOK,16,159,50,14
PUSHBUTTON "Cancel",IDCANCEL,66,159,50,14
RTEXT "Item #01",IDC_LABEL_HK1,2,7,80,8
RTEXT "Item #02",IDC_LABEL_HK2,2,20,80,8
RTEXT "Item #03",IDC_LABEL_HK3,2,33,80,8
RTEXT "Item #04",IDC_LABEL_HK4,2,47,80,8
RTEXT "Item #05",IDC_LABEL_HK5,2,60,80,8
RTEXT "Item #06",IDC_LABEL_HK6,2,72,80,8
RTEXT "Item #07",IDC_LABEL_HK7,2,85,80,8
RTEXT "Item #08",IDC_LABEL_HK8,2,98,80,8
RTEXT "Item #09",IDC_LABEL_HK9,2,111,80,8
RTEXT "Item #10",IDC_LABEL_HK10,2,124,80,8
RTEXT "Item #11",IDC_LABEL_HK11,192,7,80,8
RTEXT "Item #12",IDC_LABEL_HK12,192,20,80,8
RTEXT "Item #13",IDC_LABEL_HK13,192,33,80,8
RTEXT "Item #14",IDC_LABEL_HK14,192,47,80,8
RTEXT "Item #15",IDC_LABEL_HK15,192,60,80,8
RTEXT "Item #16",IDC_LABEL_HK16,192,72,80,8
RTEXT "Item #17",IDC_LABEL_HK17,192,85,80,8
RTEXT "Item #18",IDC_LABEL_HK18,192,98,80,8
RTEXT "Item #19",IDC_LABEL_HK19,192,111,80,8
RTEXT "Item #20",IDC_LABEL_HK20,192,124,80,8
CONTROL "",IDC_HOTKEY1,"InputCustomHot",WS_TABSTOP,86,5,98,12,WS_EX_CLIENTEDGE
CONTROL "",IDC_HOTKEY2,"InputCustomHot",WS_TABSTOP,86,18,98,12,WS_EX_CLIENTEDGE
CONTROL "",IDC_HOTKEY3,"InputCustomHot",WS_TABSTOP,86,31,98,12,WS_EX_CLIENTEDGE
CONTROL "",IDC_HOTKEY4,"InputCustomHot",WS_TABSTOP,86,45,98,12,WS_EX_CLIENTEDGE
CONTROL "",IDC_HOTKEY5,"InputCustomHot",WS_TABSTOP,86,58,98,12,WS_EX_CLIENTEDGE
CONTROL "",IDC_HOTKEY6,"InputCustomHot",WS_TABSTOP,86,70,98,12,WS_EX_CLIENTEDGE
CONTROL "",IDC_HOTKEY7,"InputCustomHot",WS_TABSTOP,86,83,98,12,WS_EX_CLIENTEDGE
CONTROL "",IDC_HOTKEY8,"InputCustomHot",WS_TABSTOP,86,96,98,12,WS_EX_CLIENTEDGE
CONTROL "",IDC_HOTKEY9,"InputCustomHot",WS_TABSTOP,86,109,98,12,WS_EX_CLIENTEDGE
CONTROL "",IDC_HOTKEY10,"InputCustomHot",WS_TABSTOP,86,122,98,12,WS_EX_CLIENTEDGE
CONTROL "",IDC_HOTKEY11,"InputCustomHot",WS_TABSTOP,276,5,98,12,WS_EX_CLIENTEDGE
CONTROL "",IDC_HOTKEY12,"InputCustomHot",WS_TABSTOP,276,18,98,12,WS_EX_CLIENTEDGE
CONTROL "",IDC_HOTKEY13,"InputCustomHot",WS_TABSTOP,276,31,98,12,WS_EX_CLIENTEDGE
CONTROL "",IDC_HOTKEY14,"InputCustomHot",WS_TABSTOP,276,45,98,12,WS_EX_CLIENTEDGE
CONTROL "",IDC_HOTKEY15,"InputCustomHot",WS_TABSTOP,276,58,98,12,WS_EX_CLIENTEDGE
CONTROL "",IDC_HOTKEY16,"InputCustomHot",WS_TABSTOP,276,70,98,12,WS_EX_CLIENTEDGE
CONTROL "",IDC_HOTKEY17,"InputCustomHot",WS_TABSTOP,276,83,98,12,WS_EX_CLIENTEDGE
CONTROL "",IDC_HOTKEY18,"InputCustomHot",WS_TABSTOP,276,96,98,12,WS_EX_CLIENTEDGE
CONTROL "",IDC_HOTKEY19,"InputCustomHot",WS_TABSTOP,276,109,98,12,WS_EX_CLIENTEDGE
CONTROL "",IDC_HOTKEY20,"InputCustomHot",WS_TABSTOP,276,122,98,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,238,140,136,32
COMBOBOX IDC_HKCOMBO,16,141,168,60,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
END
//
// Accelerator resources
//