diff --git a/desmume/src/windows/main.cpp b/desmume/src/windows/main.cpp index e8209e006..2928427f6 100644 --- a/desmume/src/windows/main.cpp +++ b/desmume/src/windows/main.cpp @@ -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; diff --git a/desmume/src/windows/resource.h b/desmume/src/windows/resource.h index 1a44d77a4..fadda3a86 100644 --- a/desmume/src/windows/resource.h +++ b/desmume/src/windows/resource.h @@ -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 diff --git a/desmume/src/windows/resources.rc b/desmume/src/windows/resources.rc index cc094bda2..f52987265 100644 --- a/desmume/src/windows/resources.rc +++ b/desmume/src/windows/resources.rc @@ -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 //