From 6781716712e9309caa71ae84b1e9649cf1d8750b Mon Sep 17 00:00:00 2001 From: zeromus Date: Sat, 5 Dec 2009 16:38:32 +0000 Subject: [PATCH] win32: add japanese language patch --- desmume/ChangeLog | 2 ++ desmume/src/windows/main.cpp | 21 +++++++++++++++------ desmume/src/windows/resource.h | 11 ++++++----- desmume/src/windows/resources.rc | Bin 629258 -> 811722 bytes 4 files changed, 23 insertions(+), 11 deletions(-) diff --git a/desmume/ChangeLog b/desmume/ChangeLog index a07377135..8d6ed2542 100644 --- a/desmume/ChangeLog +++ b/desmume/ChangeLog @@ -5,6 +5,7 @@ General/Core: bug: fix dma address reloading bug: fix rom close memory corruption bug: fix div and sqrt busy flag bug + bug: fix vectest Graphics: bug: fix a mistakenly rendered OBJ window @@ -13,6 +14,7 @@ Windows: bug: fix 16bpp display bug: more fixes to multi-gamepads enh: add EPX and EPX1.5X resize filters + enh: add a japanese translation which will soon be stale like the others 0.9.4 -> 0.9.5 (r2437-r3075) diff --git a/desmume/src/windows/main.cpp b/desmume/src/windows/main.cpp index 6382230cd..466afbb8a 100644 --- a/desmume/src/windows/main.cpp +++ b/desmume/src/windows/main.cpp @@ -1912,6 +1912,11 @@ void SetLanguage(int langid) setLanguage(MAKELCID(MAKELANGID(LANG_ITALIAN, SUBLANG_ITALIAN), SORT_DEFAULT)); SetThreadLocale(MAKELCID(MAKELANGID(LANG_ITALIAN, SUBLANG_ITALIAN), SORT_DEFAULT)); break; + case 5: + // Japanese + setLanguage(MAKELCID(MAKELANGID(LANG_JAPANESE, SUBLANG_DEFAULT), SORT_DEFAULT)); + SetThreadLocale(MAKELCID(MAKELANGID(LANG_JAPANESE, SUBLANG_DEFAULT), SORT_DEFAULT)); + break; default: break; break; @@ -1931,7 +1936,7 @@ void SaveLanguage(int langid) void CheckLanguage(UINT id) { int i; - for (i = IDC_LANGENGLISH; i < IDC_LANG_CHINESE_SIMPLIFIED+1; i++) + for (i = IDC_LANGENGLISH; i < IDC_LANGJAPANESE+1; i++) MainWindow->checkMenu(i, false); MainWindow->checkMenu(id, true); @@ -4822,6 +4827,11 @@ LRESULT CALLBACK WindowProcedure (HWND hwnd, UINT message, WPARAM wParam, LPARAM ChangeLanguage(1); CheckLanguage(LOWORD(wParam)); return 0; + case IDC_LANGDANISH: + SaveLanguage(2); + ChangeLanguage(2); + CheckLanguage(LOWORD(wParam)); + return 0; case IDC_LANG_CHINESE_SIMPLIFIED: SaveLanguage(3); ChangeLanguage(3); @@ -4832,12 +4842,11 @@ LRESULT CALLBACK WindowProcedure (HWND hwnd, UINT message, WPARAM wParam, LPARAM ChangeLanguage(4); CheckLanguage(LOWORD(wParam)); return 0; - - case IDC_LANGDANISH: - SaveLanguage(2); - ChangeLanguage(2); + case IDC_LANGJAPANESE: + SaveLanguage(5); + ChangeLanguage(5); CheckLanguage(LOWORD(wParam)); - return 0; + return 0; case IDC_FRAMELIMIT: FrameLimit ^= 1; diff --git a/desmume/src/windows/resource.h b/desmume/src/windows/resource.h index e981c8607..636d47817 100644 --- a/desmume/src/windows/resource.h +++ b/desmume/src/windows/resource.h @@ -94,8 +94,11 @@ #define IDC_LANGENGLISH 210 #define IDC_LANGFRENCH 211 #define IDC_LANGDANISH 212 -#define IDM_MGPU 213 -#define IDM_SGPU 214 +#define IDC_LANG_CHINESE_SIMPLIFIED 213 +#define IDC_LANGITALIAN 214 +#define IDC_LANGJAPANESE 215 +#define IDM_MGPU 219 +#define IDM_SGPU 220 #define IDC_FRAMESKIPAUTO 221 #define IDC_8_BIT 302 #define IDC_16_BIT 303 @@ -690,7 +693,6 @@ #define IDM_FILE_RECORDWAV 40017 #define IDM_EXPORTBACKUPMEMORY 40018 #define IDM_STOPMOVIE 40019 -#define IDC_LANG_CHINESE_SIMPLIFIED 40020 #define IDM_SCREENSEP_NDSGAP2 40021 #define IDM_SCREENSEP_DRAGEDIT 40022 #define IDM_SCREENSEP_COLORWHITE 40023 @@ -805,13 +807,12 @@ #define IDM_RENDER_HQ2XS 60081 #define IDM_RENDER_LQ2X 60082 #define IDM_RENDER_LQ2XS 60083 -#define IDC_LANGITALIAN 60084 // Next default values for new objects // #ifdef APSTUDIO_INVOKED #ifndef APSTUDIO_READONLY_SYMBOLS -#define _APS_NEXT_RESOURCE_VALUE 105 +#define _APS_NEXT_RESOURCE_VALUE 106 #define _APS_NEXT_COMMAND_VALUE 40008 #define _APS_NEXT_CONTROL_VALUE 1020 #define _APS_NEXT_SYMED_VALUE 101 diff --git a/desmume/src/windows/resources.rc b/desmume/src/windows/resources.rc index fdcd03790c5d4d3bbafff70bbcfadb4562131180..6116936f5af1b7e62edd5ab9d1025225eede14ed 100644 GIT binary patch delta 20925 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 X?zth#chl|jkwB_UGCu%&KjHrX$tL?C delta 7758 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