From f043cc81355db82f62da15b35cdfe656bf5c91c9 Mon Sep 17 00:00:00 2001 From: Barry Harris <44396066+barry65536@users.noreply.github.com> Date: Thu, 15 Dec 2011 16:18:10 +0000 Subject: [PATCH] Converted all the strings I can see to support localisation, and upped the number of allowed localisable resources to 2000 --- src/burner/win32/app.rc | 15 +- src/burner/win32/drv.cpp | 2 +- src/burner/win32/ips_manager.cpp | 24 +- src/burner/win32/localise.cpp | 8 +- src/burner/win32/menu.cpp | 2 +- src/burner/win32/neocdsel.cpp | 8 +- src/burner/win32/resource.h | 31 ++- src/burner/win32/resource_string.h | 433 ++++++++++++++++------------- src/burner/win32/sel.cpp | 110 ++++---- src/burner/win32/string.rc | 49 +++- 10 files changed, 400 insertions(+), 282 deletions(-) diff --git a/src/burner/win32/app.rc b/src/burner/win32/app.rc index 59ede4461..6bc6ea639 100644 --- a/src/burner/win32/app.rc +++ b/src/burner/win32/app.rc @@ -1,4 +1,5 @@ //Microsoft Developer Studio generated resource script. +//Microsoft Developer Studio generated resource script. // #include "resource.h" @@ -560,7 +561,7 @@ BEGIN GROUPBOX "",IDC_STATIC1,2,0,470,298 CONTROL "",IDC_STATIC_INFOBOX,"Static",SS_WHITERECT | SS_SUNKEN,8,190,250,100 EDITTEXT IDC_TEXTCOMMENT,8,190,458,100,ES_MULTILINE | ES_READONLY | NOT WS_BORDER | NOT WS_TABSTOP | WS_VSCROLL - RTEXT "Language:", IDC_STATIC, 8, 170, 40, 10, SS_CENTERIMAGE + RTEXT "Language:", IDC_IPSMAN_LANGUAGE, 8, 170, 40, 10, SS_CENTERIMAGE COMBOBOX IDC_CHOOSE_LIST, 60, 169, 100, 128, CBS_DROPDOWNLIST | WS_CHILD | WS_VISIBLE | WS_TABSTOP | WS_VSCROLL CONTROL "Deselect All",IDC_IPSMAN_DESELECTALL,"Button",WS_TABSTOP,170,169,58,13 CONTROL "",IDC_SCREENSHOT_H,"Static",SS_BITMAP | SS_REALSIZEIMAGE | SS_SUNKEN,262,10,106,100, WS_EX_CLIENTEDGE @@ -579,7 +580,7 @@ BEGIN PUSHBUTTON "Cancel",IDCANCEL,208,252,50,14 CONTROL "",IDC_MVS_CART1,"Static",SS_BITMAP | SS_REALSIZEIMAGE | SS_SUNKEN,8,8,48,36 - CONTROL "Slot 1", IDC_STATIC,"Edit",ES_LEFT | ES_AUTOHSCROLL | ES_READONLY | WS_CHILD | WS_VISIBLE,61,9,20,8 + LTEXT "Slot 1", IDC_MVS_SLOT1,61,9,20,8,SS_CENTERIMAGE CONTROL "", IDC_MVS_TEXTROMNAME1,"Edit",ES_LEFT | ES_AUTOHSCROLL | ES_READONLY | WS_CHILD | WS_VISIBLE,85,9,172,8 CONTROL "", IDC_MVS_TEXTCOMMENT1,"Edit",ES_LEFT | ES_AUTOHSCROLL | ES_READONLY | WS_CHILD | WS_VISIBLE,61,21,196,8 CONTROL "", IDC_MVS_TEXTSYSTEM1,"Edit",ES_LEFT | ES_AUTOHSCROLL | ES_READONLY | WS_CHILD | WS_VISIBLE,61,33,196,8 @@ -587,7 +588,7 @@ BEGIN PUSHBUTTON "Select...",IDC_MVS_SELECT1,262,30,50,14 CONTROL "",IDC_MVS_CART2,"Static",SS_BITMAP | SS_REALSIZEIMAGE | SS_SUNKEN,8,48,48,36 - CONTROL "Slot 2", IDC_STATIC,"Edit",ES_LEFT | ES_AUTOHSCROLL | ES_READONLY | WS_CHILD | WS_VISIBLE,61,49,20,8 + LTEXT "Slot 2", IDC_MVS_SLOT2,61,49,20,8,SS_CENTERIMAGE CONTROL "", IDC_MVS_TEXTROMNAME2,"Edit",ES_LEFT | ES_AUTOHSCROLL | ES_READONLY | WS_CHILD | WS_VISIBLE,85,49,172,8 CONTROL "", IDC_MVS_TEXTCOMMENT2,"Edit",ES_LEFT | ES_AUTOHSCROLL | ES_READONLY | WS_CHILD | WS_VISIBLE,61,61,196,8 CONTROL "", IDC_MVS_TEXTSYSTEM2,"Edit",ES_LEFT | ES_AUTOHSCROLL | ES_READONLY | WS_CHILD | WS_VISIBLE,61,73,196,8 @@ -595,7 +596,7 @@ BEGIN PUSHBUTTON "Select...",IDC_MVS_SELECT2,262,70,50,14 CONTROL "",IDC_MVS_CART3,"Static",SS_BITMAP | SS_REALSIZEIMAGE | SS_SUNKEN,8,88,48,36 - CONTROL "Slot 3", IDC_STATIC,"Edit",ES_LEFT | ES_AUTOHSCROLL | ES_READONLY | WS_CHILD | WS_VISIBLE,61,89,20,8 + LTEXT "Slot 3", IDC_MVS_SLOT3,61,89,20,8,SS_CENTERIMAGE CONTROL "", IDC_MVS_TEXTROMNAME3,"Edit",ES_LEFT | ES_AUTOHSCROLL | ES_READONLY | WS_CHILD | WS_VISIBLE,85,89,172,8 CONTROL "", IDC_MVS_TEXTCOMMENT3,"Edit",ES_LEFT | ES_AUTOHSCROLL | ES_READONLY | WS_CHILD | WS_VISIBLE,61,101,196,8 CONTROL "", IDC_MVS_TEXTSYSTEM3,"Edit",ES_LEFT | ES_AUTOHSCROLL | ES_READONLY | WS_CHILD | WS_VISIBLE,61,113,196,8 @@ -603,7 +604,7 @@ BEGIN PUSHBUTTON "Select...",IDC_MVS_SELECT3,262,110,50,14 CONTROL "",IDC_MVS_CART4,"Static",SS_BITMAP | SS_REALSIZEIMAGE | SS_SUNKEN,8,128,48,36 - CONTROL "Slot 4", IDC_STATIC,"Edit",ES_LEFT | ES_AUTOHSCROLL | ES_READONLY | WS_CHILD | WS_VISIBLE,61,129,20,8 + LTEXT "Slot 4", IDC_MVS_SLOT4,61,129,20,8,SS_CENTERIMAGE CONTROL "", IDC_MVS_TEXTROMNAME4,"Edit",ES_LEFT | ES_AUTOHSCROLL | ES_READONLY | WS_CHILD | WS_VISIBLE,85,129,172,8 CONTROL "", IDC_MVS_TEXTCOMMENT4,"Edit",ES_LEFT | ES_AUTOHSCROLL | ES_READONLY | WS_CHILD | WS_VISIBLE,61,141,196,8 CONTROL "", IDC_MVS_TEXTSYSTEM4,"Edit",ES_LEFT | ES_AUTOHSCROLL | ES_READONLY | WS_CHILD | WS_VISIBLE,61,153,196,8 @@ -611,7 +612,7 @@ BEGIN PUSHBUTTON "Select...",IDC_MVS_SELECT4,262,150,50,14 CONTROL "",IDC_MVS_CART5,"Static",SS_BITMAP | SS_REALSIZEIMAGE | SS_SUNKEN,8,168,48,36 - CONTROL "Slot 5", IDC_STATIC,"Edit",ES_LEFT | ES_AUTOHSCROLL | ES_READONLY | WS_CHILD | WS_VISIBLE,61,169,20,8 + LTEXT "Slot 5", IDC_MVS_SLOT5,61,169,20,8,SS_CENTERIMAGE CONTROL "", IDC_MVS_TEXTROMNAME5,"Edit",ES_LEFT | ES_AUTOHSCROLL | ES_READONLY | WS_CHILD | WS_VISIBLE,85,169,172,8 CONTROL "", IDC_MVS_TEXTCOMMENT5,"Edit",ES_LEFT | ES_AUTOHSCROLL | ES_READONLY | WS_CHILD | WS_VISIBLE,61,181,196,8 CONTROL "", IDC_MVS_TEXTSYSTEM5,"Edit",ES_LEFT | ES_AUTOHSCROLL | ES_READONLY | WS_CHILD | WS_VISIBLE,61,193,196,8 @@ -619,7 +620,7 @@ BEGIN PUSHBUTTON "Select...",IDC_MVS_SELECT5,262,190,50,14 CONTROL "",IDC_MVS_CART6,"Static",SS_BITMAP | SS_REALSIZEIMAGE | SS_SUNKEN,8,208,48,36 - CONTROL "Slot 6", IDC_STATIC,"Edit",ES_LEFT | ES_AUTOHSCROLL | ES_READONLY | WS_CHILD | WS_VISIBLE,61,209,20,8 + LTEXT "Slot 6", IDC_MVS_SLOT6,61,209,20,8,SS_CENTERIMAGE CONTROL "", IDC_MVS_TEXTROMNAME6,"Edit",ES_LEFT | ES_AUTOHSCROLL | ES_READONLY | WS_CHILD | WS_VISIBLE,85,209,172,8 CONTROL "", IDC_MVS_TEXTCOMMENT6,"Edit",ES_LEFT | ES_AUTOHSCROLL | ES_READONLY | WS_CHILD | WS_VISIBLE,61,221,196,8 CONTROL "", IDC_MVS_TEXTSYSTEM6,"Edit",ES_LEFT | ES_AUTOHSCROLL | ES_READONLY | WS_CHILD | WS_VISIBLE,61,233,196,8 diff --git a/src/burner/win32/drv.cpp b/src/burner/win32/drv.cpp index 771661658..0dd93a83e 100644 --- a/src/burner/win32/drv.cpp +++ b/src/burner/win32/drv.cpp @@ -136,7 +136,7 @@ int DrvInit(int nDrvNum, bool bRestore) if ((BurnDrvGetHardwareCode() & HARDWARE_PUBLIC_MASK) == HARDWARE_SNK_NEOCD) { if (CDEmuInit()) { - FBAPopupAddText(PUF_TEXT_NO_TRANSLATE, _T("Couldn't initialise CD emulation.\n")); + FBAPopupAddText(PUF_TEXT_DEFAULT, MAKEINTRESOURCE(IDS_ERR_CDEMU_INI_FAIL)); FBAPopupDisplay(PUF_TYPE_ERROR); POST_INITIALISE_MESSAGE; diff --git a/src/burner/win32/ips_manager.cpp b/src/burner/win32/ips_manager.cpp index 20f319319..781a25f59 100644 --- a/src/burner/win32/ips_manager.cpp +++ b/src/burner/win32/ips_manager.cpp @@ -377,18 +377,18 @@ static int IpsManagerInit() SetWindowText(hIpsDlg, szText); // Fill the combo box - _stprintf(szLanguages[0], _T("English (US)")); - _stprintf(szLanguages[1], _T("Simplified Chinese")); - _stprintf(szLanguages[2], _T("Traditional Chinese")); - _stprintf(szLanguages[3], _T("Japanese")); - _stprintf(szLanguages[4], _T("Korean")); - _stprintf(szLanguages[5], _T("French")); - _stprintf(szLanguages[6], _T("Spanish")); - _stprintf(szLanguages[7], _T("Italian")); - _stprintf(szLanguages[8], _T("German")); - _stprintf(szLanguages[9], _T("Portuguese")); - _stprintf(szLanguages[10], _T("Polish")); - _stprintf(szLanguages[11], _T("Hungarian")); + _stprintf(szLanguages[0], FBALoadStringEx(hAppInst, IDS_LANG_ENGLISH_US, true)); + _stprintf(szLanguages[1], FBALoadStringEx(hAppInst, IDS_LANG_SIMP_CHINESE, true)); + _stprintf(szLanguages[2], FBALoadStringEx(hAppInst, IDS_LANG_TRAD_CHINESE, true)); + _stprintf(szLanguages[3], FBALoadStringEx(hAppInst, IDS_LANG_JAPANESE, true)); + _stprintf(szLanguages[4], FBALoadStringEx(hAppInst, IDS_LANG_KOREAN, true)); + _stprintf(szLanguages[5], FBALoadStringEx(hAppInst, IDS_LANG_FRENCH, true)); + _stprintf(szLanguages[6], FBALoadStringEx(hAppInst, IDS_LANG_SPANISH, true)); + _stprintf(szLanguages[7], FBALoadStringEx(hAppInst, IDS_LANG_ITALIAN, true)); + _stprintf(szLanguages[8], FBALoadStringEx(hAppInst, IDS_LANG_GERMAN, true)); + _stprintf(szLanguages[9], FBALoadStringEx(hAppInst, IDS_LANG_PORTUGUESE, true)); + _stprintf(szLanguages[10], FBALoadStringEx(hAppInst, IDS_LANG_POLISH, true)); + _stprintf(szLanguages[11], FBALoadStringEx(hAppInst, IDS_LANG_HUNGARIAN, true)); _stprintf(szLanguageCodes[0], _T("en_US")); _stprintf(szLanguageCodes[1], _T("zh_CN")); diff --git a/src/burner/win32/localise.cpp b/src/burner/win32/localise.cpp index 3a10823ab..5d353df6a 100644 --- a/src/burner/win32/localise.cpp +++ b/src/burner/win32/localise.cpp @@ -6,7 +6,7 @@ bool bLocalisationActive = false; TCHAR szLocalisationTemplate[MAX_PATH] = _T(""); -static const unsigned int nMaxResources = 1000; +static const unsigned int nMaxResources = 2000; static int nFBACodepage; @@ -1561,7 +1561,7 @@ void FBALocaliseExit() bLocalisationActive = false; if (FBAResourceInfo) { - for (int i = 0; i < 1000; i++) { + for (unsigned int i = 0; i < nMaxResources; i++) { if (FBAResourceInfo[i].nResourceFlags & RES_DEALLOCATE) { if (FBAResourceInfo[i].pResourceTranslation) { free(FBAResourceInfo[i].pResourceTranslation); @@ -1597,12 +1597,12 @@ int FBALocaliseInit(TCHAR* pszTemplate) return 0; } - FBAResourceInfo = (FBAResourceInfo_t*)malloc(1000 * sizeof(FBAResourceInfo_t)); + FBAResourceInfo = (FBAResourceInfo_t*)malloc(nMaxResources * sizeof(FBAResourceInfo_t)); if (FBAResourceInfo == NULL) { return 1; } - memset(FBAResourceInfo, 0, 1000 * sizeof(FBAResourceInfo_t)); + memset(FBAResourceInfo, 0, nMaxResources * sizeof(FBAResourceInfo_t)); nRet = FBALocaliseParseFile(pszTemplate); if (nRet > 0) { diff --git a/src/burner/win32/menu.cpp b/src/burner/win32/menu.cpp index fb50ec42d..0a5548c0a 100644 --- a/src/burner/win32/menu.cpp +++ b/src/burner/win32/menu.cpp @@ -1037,7 +1037,7 @@ void MenuUpdate() SetMenuItemInfo(hMenu, MENU_PREVIOUSGAMES1 + i, FALSE, &menuItemInfo); EnableMenuItem(hMenu, MENU_PREVIOUSGAMES1 + i, MF_ENABLED | MF_BYCOMMAND); } else { - _tcscpy(szText, _T("no game selected")); + _tcscpy(szText, FBALoadStringEx(hAppInst, IDS_MENU_6, true)); menuItemInfo.dwTypeData = szText; menuItemInfo.cch = _tcslen(szText); diff --git a/src/burner/win32/neocdsel.cpp b/src/burner/win32/neocdsel.cpp index 6c983dba8..76924aa79 100644 --- a/src/burner/win32/neocdsel.cpp +++ b/src/burner/win32/neocdsel.cpp @@ -119,11 +119,11 @@ static void NeoCDList_InitListView() LvCol.mask = LVCF_TEXT | LVCF_WIDTH | LVCF_SUBITEM; LvCol.cx = 445; - LvCol.pszText = _T("Title"); + LvCol.pszText = FBALoadStringEx(hAppInst, IDS_NGCD_TITLE, true); SendMessage(hListView, LVM_INSERTCOLUMN , 0, (LPARAM)&LvCol); LvCol.cx = 70; - LvCol.pszText = _T("NGCD-ID"); + LvCol.pszText = FBALoadStringEx(hAppInst, IDS_NGCD_NGCDID, true); SendMessage(hListView, LVM_INSERTCOLUMN , 1, (LPARAM)&LvCol); // Setup ListView Icons @@ -1008,7 +1008,9 @@ static INT_PTR CALLBACK NeoCDList_WndProc(HWND hDlg, UINT Msg, WPARAM wParam, LP TreeView_SetItemHeight(hListView, 40); - SetWindowText(hDlg, _T(APP_TITLE) _T(SEPERATOR_1) _T("Neo Geo CDZ") _T(SEPERATOR_1) _T("Select Game")); + TCHAR szDialogTitle[200]; + _stprintf(szDialogTitle, FBALoadStringEx(hAppInst, IDS_NGCD_DIAG_TITLE, true), _T(APP_TITLE), _T(SEPERATOR_1), _T(SEPERATOR_1)); + SetWindowText(hDlg, szDialogTitle); hProcessThread = (HANDLE)_beginthreadex(NULL, 0, NeoCDList_DoProc, NULL, 0, &ProcessThreadID); diff --git a/src/burner/win32/resource.h b/src/burner/win32/resource.h index d1efa5a23..8c25a2a51 100644 --- a/src/burner/win32/resource.h +++ b/src/burner/win32/resource.h @@ -58,12 +58,12 @@ #define IDR_MENU_AUD_PLUGIN_2 131 #define IDR_ACCELERATOR 150 -#define MENU_MENU_0 1000 -#define MENU_MENU_1 1001 -#define MENU_MENU_2 1002 -#define MENU_MENU_3 1003 -#define MENU_MENU_4 1004 -#define MENU_MENU_5 1005 +#define MENU_MENU_0 2000 +#define MENU_MENU_1 2001 +#define MENU_MENU_2 2002 +#define MENU_MENU_3 2003 +#define MENU_MENU_4 2004 +#define MENU_MENU_5 2005 #define IDC_INPD_LIST 20000 #define IDC_INPD_NEWMACRO 20001 @@ -184,12 +184,13 @@ #define IDC_ROMSAVAILABLEINFO 20126 #define IDC_INPD_SAVE_AS_PRESET 20127 #define IDC_LIST2 20128 -#define IDC_IPSMAN_DESELECTALL 20129 -#define IDC_SEL_IPSMANAGER 20130 -#define IDC_SEL_APPLYIPS 20131 -#define IDC_SEL_IPSGROUP 20132 -#define IDC_SEL_SEARCH 20133 -#define IDC_SEL_SEARCHGROUP 20134 +#define IDC_IPSMAN_LANGUAGE 20129 +#define IDC_IPSMAN_DESELECTALL 20130 +#define IDC_SEL_IPSMANAGER 20131 +#define IDC_SEL_APPLYIPS 20132 +#define IDC_SEL_IPSGROUP 20133 +#define IDC_SEL_SEARCH 20134 +#define IDC_SEL_SEARCHGROUP 20135 #define IDC_SUPPORTDIR_EDIT1 20150 #define IDC_SUPPORTDIR_EDIT2 20151 @@ -307,6 +308,12 @@ #define IDC_MVS_CLEAR4 20733 #define IDC_MVS_CLEAR5 20734 #define IDC_MVS_CLEAR6 20735 +#define IDC_MVS_SLOT1 20736 +#define IDC_MVS_SLOT2 20737 +#define IDC_MVS_SLOT3 20738 +#define IDC_MVS_SLOT4 20739 +#define IDC_MVS_SLOT5 20740 +#define IDC_MVS_SLOT6 20741 #define IDC_NCD_LIST 20800 #define IDC_NCD_FRONT_PIC 20801 diff --git a/src/burner/win32/resource_string.h b/src/burner/win32/resource_string.h index 288e4dc5d..3cebd88bd 100644 --- a/src/burner/win32/resource_string.h +++ b/src/burner/win32/resource_string.h @@ -1,230 +1,277 @@ // This in increments of 2, otherwise creating a localisation template is broken with GCC -#define IDS_ERROR (IDS_STRING + 600) +#define IDS_ERROR (IDS_STRING + 1600) -#define IDS_FIRSTRUN1 (IDS_STRING + 0) -#define IDS_FIRSTRUN2 (IDS_STRING + 2) -#define IDS_FIRSTRUN3A (IDS_STRING + 4) -#define IDS_FIRSTRUN3B (IDS_STRING + 6) +#define IDS_FIRSTRUN1 (IDS_STRING + 0) +#define IDS_FIRSTRUN2 (IDS_STRING + 2) +#define IDS_FIRSTRUN3A (IDS_STRING + 4) +#define IDS_FIRSTRUN3B (IDS_STRING + 6) -#define IDS_CHEAT_NAME (IDS_STRING + 10) -#define IDS_CHEAT_STATUS (IDS_STRING + 12) +#define IDS_CHEAT_NAME (IDS_STRING + 20) +#define IDS_CHEAT_STATUS (IDS_STRING + 22) -#define IDS_INPUT_INPUT (IDS_STRING + 20) -#define IDS_INPUT_MAPPING (IDS_STRING + 22) -#define IDS_INPUT_STATE (IDS_STRING + 24) -#define IDS_INPUT_INP_PLAYER (IDS_STRING + 26) -#define IDS_INPUT_INP_KEYBOARD (IDS_STRING + 28) -#define IDS_INPUT_INP_JOYSTICK (IDS_STRING + 30) -#define IDS_INPUT_INP_XARCADEL (IDS_STRING + 32) -#define IDS_INPUT_INP_XARCADER (IDS_STRING + 34) -#define IDS_INPUT_INP_HOTRODL (IDS_STRING + 36) -#define IDS_INPUT_INP_HOTRODR (IDS_STRING + 38) -#define IDS_INPUT_ANALOG_ABS (IDS_STRING + 40) -#define IDS_INPUT_ANALOG_AUTO (IDS_STRING + 42) -#define IDS_INPUT_ANALOG_NORMAL (IDS_STRING + 44) +#define IDS_INPUT_INPUT (IDS_STRING + 40) +#define IDS_INPUT_MAPPING (IDS_STRING + 42) +#define IDS_INPUT_STATE (IDS_STRING + 44) +#define IDS_INPUT_INP_PLAYER (IDS_STRING + 46) +#define IDS_INPUT_INP_KEYBOARD (IDS_STRING + 48) +#define IDS_INPUT_INP_JOYSTICK (IDS_STRING + 50) +#define IDS_INPUT_INP_XARCADEL (IDS_STRING + 52) +#define IDS_INPUT_INP_XARCADER (IDS_STRING + 54) +#define IDS_INPUT_INP_HOTRODL (IDS_STRING + 56) +#define IDS_INPUT_INP_HOTRODR (IDS_STRING + 58) +#define IDS_INPUT_ANALOG_ABS (IDS_STRING + 60) +#define IDS_INPUT_ANALOG_AUTO (IDS_STRING + 62) +#define IDS_INPUT_ANALOG_NORMAL (IDS_STRING + 64) -#define IDS_DIP_GROUP (IDS_STRING + 50) -#define IDS_DIP_SETTING (IDS_STRING + 52) +#define IDS_DIP_GROUP (IDS_STRING + 80) +#define IDS_DIP_SETTING (IDS_STRING + 82) -#define IDS_INPSET_MOVENAME (IDS_STRING + 60) -#define IDS_INPSET_MOVE (IDS_STRING + 62) -#define IDS_INPSET_WAITING (IDS_STRING + 64) +#define IDS_INPSET_MOVENAME (IDS_STRING + 100) +#define IDS_INPSET_MOVE (IDS_STRING + 102) +#define IDS_INPSET_WAITING (IDS_STRING + 104) -#define IDS_MEMCARD_CREATE (IDS_STRING + 70) -#define IDS_MEMCARD_SELECT (IDS_STRING + 72) +#define IDS_MEMCARD_CREATE (IDS_STRING + 120) +#define IDS_MEMCARD_SELECT (IDS_STRING + 122) -#define IDS_PROGRESS_LOADING (IDS_STRING + 80) +#define IDS_PROGRESS_LOADING (IDS_STRING + 140) -#define IDS_REPLAY_RECORD (IDS_STRING + 82) -#define IDS_REPLAY_REPLAY (IDS_STRING + 84) +#define IDS_REPLAY_RECORD (IDS_STRING + 150) +#define IDS_REPLAY_REPLAY (IDS_STRING + 152) -#define IDS_ROMS_SELECT_DIR (IDS_STRING + 90) +#define IDS_ROMS_SELECT_DIR (IDS_STRING + 160) -#define IDS_STATE_LOAD (IDS_STRING + 100) -#define IDS_STATE_SAVE (IDS_STRING + 102) -#define IDS_STATE_ACTIVESLOT (IDS_STRING + 104) -#define IDS_STATE_LOADED (IDS_STRING + 106) -#define IDS_STATE_LOAD_ERROR (IDS_STRING + 108) -#define IDS_STATE_SAVED (IDS_STRING + 110) -#define IDS_STATE_SAVE_ERROR (IDS_STRING + 112) +#define IDS_STATE_LOAD (IDS_STRING + 180) +#define IDS_STATE_SAVE (IDS_STRING + 182) +#define IDS_STATE_ACTIVESLOT (IDS_STRING + 184) +#define IDS_STATE_LOADED (IDS_STRING + 186) +#define IDS_STATE_LOAD_ERROR (IDS_STRING + 188) +#define IDS_STATE_SAVED (IDS_STRING + 190) +#define IDS_STATE_SAVE_ERROR (IDS_STRING + 192) -#define IDS_DAT_GENERATE (IDS_STRING + 120) -#define IDS_SCRN_NOGAME (IDS_STRING + 122) +#define IDS_DAT_GENERATE (IDS_STRING + 220) +#define IDS_SCRN_NOGAME (IDS_STRING + 222) -#define IDS_NETPLAY_START (IDS_STRING + 130) -#define IDS_NETPLAY_START_YOU (IDS_STRING + 132) -#define IDS_NETPLAY_START_TOTAL (IDS_STRING + 134) -#define IDS_NETPLAY_DROP (IDS_STRING + 136) -#define IDS_NETPLAY_TOOMUCH (IDS_STRING + 138) +#define IDS_NETPLAY_START (IDS_STRING + 240) +#define IDS_NETPLAY_START_YOU (IDS_STRING + 242) +#define IDS_NETPLAY_START_TOTAL (IDS_STRING + 244) +#define IDS_NETPLAY_DROP (IDS_STRING + 246) +#define IDS_NETPLAY_TOOMUCH (IDS_STRING + 248) -#define IDS_SSHOT_SAVED (IDS_STRING + 150) -#define IDS_SSHOT_ERROR (IDS_STRING + 152) +#define IDS_SSHOT_SAVED (IDS_STRING + 260) +#define IDS_SSHOT_ERROR (IDS_STRING + 262) -#define IDS_SOUND_NOVOLUME (IDS_STRING + 160) -#define IDS_SOUND_VOLUMESET (IDS_STRING + 162) -#define IDS_SOUND_MUTE (IDS_STRING + 164) -#define IDS_SOUND_MUTE_OFF (IDS_STRING + 166) +#define IDS_SOUND_NOVOLUME (IDS_STRING + 280) +#define IDS_SOUND_VOLUMESET (IDS_STRING + 282) +#define IDS_SOUND_MUTE (IDS_STRING + 284) +#define IDS_SOUND_MUTE_OFF (IDS_STRING + 286) -#define IDS_DISK_REPLAY (IDS_STRING + 180) -#define IDS_DISK_THIS_REPLAY (IDS_STRING + 182) -#define IDS_DISK_FILE_REPLAY (IDS_STRING + 184) -#define IDS_DISK_STATE (IDS_STRING + 186) -#define IDS_DISK_THIS_STATE (IDS_STRING + 188) -#define IDS_DISK_FILE_STATE (IDS_STRING + 190) -#define IDS_DISK_SOUND (IDS_STRING + 192) -#define IDS_DISK_THIS_SOUND (IDS_STRING + 194) -#define IDS_DISK_FILE_SOUND (IDS_STRING + 196) -#define IDS_DISK_FILE_CARD (IDS_STRING + 198) -#define IDS_DISK_ALL_CARD (IDS_STRING + 200) -#define IDS_DISK_ALL_DAT (IDS_STRING + 202) -#define IDS_DISK_TEXT (IDS_STRING + 204) -#define IDS_DISK_FILE_PATCH (IDS_STRING + 206) +#define IDS_DISK_REPLAY (IDS_STRING + 300) +#define IDS_DISK_THIS_REPLAY (IDS_STRING + 302) +#define IDS_DISK_FILE_REPLAY (IDS_STRING + 304) +#define IDS_DISK_STATE (IDS_STRING + 306) +#define IDS_DISK_THIS_STATE (IDS_STRING + 308) +#define IDS_DISK_FILE_STATE (IDS_STRING + 310) +#define IDS_DISK_SOUND (IDS_STRING + 312) +#define IDS_DISK_THIS_SOUND (IDS_STRING + 314) +#define IDS_DISK_FILE_SOUND (IDS_STRING + 316) +#define IDS_DISK_FILE_CARD (IDS_STRING + 318) +#define IDS_DISK_ALL_CARD (IDS_STRING + 320) +#define IDS_DISK_ALL_DAT (IDS_STRING + 322) +#define IDS_DISK_TEXT (IDS_STRING + 324) +#define IDS_DISK_FILE_PATCH (IDS_STRING + 326) -#define IDS_DISK_SAVEREPORT (IDS_STRING + 220) +#define IDS_DISK_SAVEREPORT (IDS_STRING + 340) -#define IDS_GAMELANG_LOAD (IDS_STRING + 230) -#define IDS_GAMELANG_EXPORT (IDS_STRING + 232) +#define IDS_GAMELANG_LOAD (IDS_STRING + 360) +#define IDS_GAMELANG_EXPORT (IDS_STRING + 362) -#define IDS_ROMINFO_DIALOGTITLE (IDS_STRING + 240) -#define IDS_ROMINFO_ROMS (IDS_STRING + 242) -#define IDS_ROMINFO_SAMPLES (IDS_STRING + 244) +#define IDS_ROMINFO_DIALOGTITLE (IDS_STRING + 400) +#define IDS_ROMINFO_ROMS (IDS_STRING + 402) +#define IDS_ROMINFO_SAMPLES (IDS_STRING + 404) +#define IDS_ROMINFO_NAME (IDS_STRING + 406) +#define IDS_ROMINFO_SIZE (IDS_STRING + 408) +#define IDS_ROMINFO_CRC32 (IDS_STRING + 410) +#define IDS_ROMINFO_TYPE (IDS_STRING + 412) +#define IDS_ROMINFO_FLAGS (IDS_STRING + 414) +#define IDS_ROMINFO_ESSENTIAL (IDS_STRING + 416) +#define IDS_ROMINFO_OPTIONAL (IDS_STRING + 418) +#define IDS_ROMINFO_PROGRAM (IDS_STRING + 420) +#define IDS_ROMINFO_GRAPHICS (IDS_STRING + 422) +#define IDS_ROMINFO_SOUND (IDS_STRING + 424) +#define IDS_ROMINFO_BIOS (IDS_STRING + 426) +#define IDS_ROMINFO_NODUMP (IDS_STRING + 428) -#define IDS_SPATH_PREVIEW (IDS_STRING + 270) -#define IDS_SPATH_TITLES (IDS_STRING + 272) -#define IDS_SPATH_CHEATS (IDS_STRING + 274) -#define IDS_SPATH_HISCORE (IDS_STRING + 276) -#define IDS_SPATH_SAMPLES (IDS_STRING + 278) -#define IDS_SPATH_IPS (IDS_STRING + 280) -#define IDS_SPATH_NGCD_ISOS (IDS_STRING + 282) -#define IDS_SPATH_NGCD_COVERS (IDS_STRING + 284) +#define IDS_SPATH_PREVIEW (IDS_STRING + 450) +#define IDS_SPATH_TITLES (IDS_STRING + 452) +#define IDS_SPATH_CHEATS (IDS_STRING + 454) +#define IDS_SPATH_HISCORE (IDS_STRING + 456) +#define IDS_SPATH_SAMPLES (IDS_STRING + 458) +#define IDS_SPATH_IPS (IDS_STRING + 460) +#define IDS_SPATH_NGCD_ISOS (IDS_STRING + 462) +#define IDS_SPATH_NGCD_COVERS (IDS_STRING + 464) -#define IDS_ROMPATH_1 (IDS_STRING + 300) -#define IDS_ROMPATH_2 (IDS_STRING + 302) -#define IDS_ROMPATH_3 (IDS_STRING + 304) -#define IDS_ROMPATH_4 (IDS_STRING + 306) -#define IDS_ROMPATH_5 (IDS_STRING + 308) -#define IDS_ROMPATH_6 (IDS_STRING + 310) -#define IDS_ROMPATH_7 (IDS_STRING + 312) -#define IDS_ROMPATH_8 (IDS_STRING + 314) +#define IDS_ROMPATH_1 (IDS_STRING + 480) +#define IDS_ROMPATH_2 (IDS_STRING + 482) +#define IDS_ROMPATH_3 (IDS_STRING + 484) +#define IDS_ROMPATH_4 (IDS_STRING + 486) +#define IDS_ROMPATH_5 (IDS_STRING + 488) +#define IDS_ROMPATH_6 (IDS_STRING + 490) +#define IDS_ROMPATH_7 (IDS_STRING + 492) +#define IDS_ROMPATH_8 (IDS_STRING + 494) -#define IDS_PRESET_SAVED (IDS_STRING + 320) +#define IDS_PRESET_SAVED (IDS_STRING + 520) -#define IDS_CD_SELECT_IMAGE (IDS_STRING + 330) +#define IDS_CD_SELECT_IMAGE (IDS_STRING + 540) -#define IDS_SEL_FILTERS (IDS_STRING + 340) -#define IDS_SEL_HARDWARE (IDS_STRING + 342) -#define IDS_SEL_CAVE (IDS_STRING + 344) -#define IDS_SEL_CPS1 (IDS_STRING + 346) -#define IDS_SEL_CPS2 (IDS_STRING + 348) -#define IDS_SEL_CPS3 (IDS_STRING + 350) -#define IDS_SEL_NEOGEO (IDS_STRING + 352) -#define IDS_SEL_PGM (IDS_STRING + 354) -#define IDS_SEL_PSIKYO (IDS_STRING + 356) -#define IDS_SEL_SEGA (IDS_STRING + 358) -#define IDS_SEL_TAITO (IDS_STRING + 360) -#define IDS_SEL_TOAPLAN (IDS_STRING + 362) -#define IDS_SEL_MISCPRE90S (IDS_STRING + 364) -#define IDS_SEL_MISCPOST90S (IDS_STRING + 366) -#define IDS_SEL_MEGADRIVE (IDS_STRING + 368) -#define IDS_SEL_PACMAN (IDS_STRING + 370) -#define IDS_SEL_KONAMI (IDS_STRING + 372) -#define IDS_SEL_GALAXIAN (IDS_STRING + 374) -#define IDS_SEL_IREM (IDS_STRING + 376) -#define IDS_SEL_BOARDTYPE (IDS_STRING + 378) -#define IDS_SEL_BOOTLEG (IDS_STRING + 380) -#define IDS_SEL_PROTOTYPE (IDS_STRING + 382) -#define IDS_SEL_HACK (IDS_STRING + 384) -#define IDS_SEL_HOMEBREW (IDS_STRING + 386) -#define IDS_SEL_DEMO (IDS_STRING + 388) -#define IDS_SEL_GENUINE (IDS_STRING + 390) +#define IDS_SEL_FILTERS (IDS_STRING + 560) +#define IDS_SEL_HARDWARE (IDS_STRING + 562) +#define IDS_SEL_CAVE (IDS_STRING + 564) +#define IDS_SEL_CPS1 (IDS_STRING + 566) +#define IDS_SEL_CPS2 (IDS_STRING + 568) +#define IDS_SEL_CPS3 (IDS_STRING + 570) +#define IDS_SEL_NEOGEO (IDS_STRING + 572) +#define IDS_SEL_PGM (IDS_STRING + 574) +#define IDS_SEL_PSIKYO (IDS_STRING + 576) +#define IDS_SEL_SEGA (IDS_STRING + 578) +#define IDS_SEL_TAITO (IDS_STRING + 580) +#define IDS_SEL_TOAPLAN (IDS_STRING + 582) +#define IDS_SEL_MISCPRE90S (IDS_STRING + 584) +#define IDS_SEL_MISCPOST90S (IDS_STRING + 586) +#define IDS_SEL_MEGADRIVE (IDS_STRING + 588) +#define IDS_SEL_PACMAN (IDS_STRING + 590) +#define IDS_SEL_KONAMI (IDS_STRING + 592) +#define IDS_SEL_GALAXIAN (IDS_STRING + 594) +#define IDS_SEL_IREM (IDS_STRING + 596) +#define IDS_SEL_BOARDTYPE (IDS_STRING + 598) +#define IDS_SEL_BOOTLEG (IDS_STRING + 600) +#define IDS_SEL_PROTOTYPE (IDS_STRING + 602) +#define IDS_SEL_HACK (IDS_STRING + 604) +#define IDS_SEL_HOMEBREW (IDS_STRING + 606) +#define IDS_SEL_DEMO (IDS_STRING + 608) +#define IDS_SEL_GENUINE (IDS_STRING + 610) +#define IDS_SEL_SETSTATUS (IDS_STRING + 612) -#define IDS_GENRE (IDS_STRING + 410) -#define IDS_GENRE_HORSHOOT (IDS_STRING + 412) -#define IDS_GENRE_VERSHOOT (IDS_STRING + 414) -#define IDS_GENRE_SCRFIGHT (IDS_STRING + 416) -#define IDS_GENRE_VSFIGHT (IDS_STRING + 418) -#define IDS_GENRE_BIOS (IDS_STRING + 420) -#define IDS_GENRE_BREAKOUT (IDS_STRING + 422) -#define IDS_GENRE_CASINO (IDS_STRING + 424) -#define IDS_GENRE_BALLPADDLE (IDS_STRING + 426) -#define IDS_GENRE_MAZE (IDS_STRING + 428) -#define IDS_GENRE_MINIGAMES (IDS_STRING + 430) -#define IDS_GENRE_PINBALL (IDS_STRING + 432) -#define IDS_GENRE_PLATFORM (IDS_STRING + 434) -#define IDS_GENRE_PUZZLE (IDS_STRING + 436) -#define IDS_GENRE_QUIZ (IDS_STRING + 438) -#define IDS_GENRE_SPORTSMISC (IDS_STRING + 440) -#define IDS_GENRE_SPORTSFOOTBALL (IDS_STRING + 442) -#define IDS_GENRE_MISC (IDS_STRING + 444) -#define IDS_GENRE_MAHJONG (IDS_STRING + 446) -#define IDS_GENRE_RACING (IDS_STRING + 448) -#define IDS_GENRE_SHOOT (IDS_STRING + 450) +#define IDS_GENRE (IDS_STRING + 650) +#define IDS_GENRE_HORSHOOT (IDS_STRING + 652) +#define IDS_GENRE_VERSHOOT (IDS_STRING + 654) +#define IDS_GENRE_SCRFIGHT (IDS_STRING + 656) +#define IDS_GENRE_VSFIGHT (IDS_STRING + 658) +#define IDS_GENRE_BIOS (IDS_STRING + 660) +#define IDS_GENRE_BREAKOUT (IDS_STRING + 662) +#define IDS_GENRE_CASINO (IDS_STRING + 664) +#define IDS_GENRE_BALLPADDLE (IDS_STRING + 666) +#define IDS_GENRE_MAZE (IDS_STRING + 668) +#define IDS_GENRE_MINIGAMES (IDS_STRING + 670) +#define IDS_GENRE_PINBALL (IDS_STRING + 672) +#define IDS_GENRE_PLATFORM (IDS_STRING + 674) +#define IDS_GENRE_PUZZLE (IDS_STRING + 676) +#define IDS_GENRE_QUIZ (IDS_STRING + 678) +#define IDS_GENRE_SPORTSMISC (IDS_STRING + 680) +#define IDS_GENRE_SPORTSFOOTBALL (IDS_STRING + 682) +#define IDS_GENRE_MISC (IDS_STRING + 684) +#define IDS_GENRE_MAHJONG (IDS_STRING + 686) +#define IDS_GENRE_RACING (IDS_STRING + 688) +#define IDS_GENRE_SHOOT (IDS_STRING + 690) -#define IDS_FAMILY (IDS_STRING + 470) -#define IDS_FAMILY_MSLUG (IDS_STRING + 472) -#define IDS_FAMILY_SF (IDS_STRING + 474) -#define IDS_FAMILY_KOF (IDS_STRING + 476) -#define IDS_FAMILY_DSTLK (IDS_STRING + 478) -#define IDS_FAMILY_FATFURY (IDS_STRING + 480) -#define IDS_FAMILY_SAMSHO (IDS_STRING + 482) -#define IDS_FAMILY_19XX (IDS_STRING + 484) -#define IDS_FAMILY_SONICWI (IDS_STRING + 486) -#define IDS_FAMILY_PWRINST (IDS_STRING + 488) -#define IDS_FAMILY_OTHER (IDS_STRING + 490) +#define IDS_FAMILY (IDS_STRING + 740) +#define IDS_FAMILY_MSLUG (IDS_STRING + 742) +#define IDS_FAMILY_SF (IDS_STRING + 744) +#define IDS_FAMILY_KOF (IDS_STRING + 746) +#define IDS_FAMILY_DSTLK (IDS_STRING + 748) +#define IDS_FAMILY_FATFURY (IDS_STRING + 750) +#define IDS_FAMILY_SAMSHO (IDS_STRING + 752) +#define IDS_FAMILY_19XX (IDS_STRING + 754) +#define IDS_FAMILY_SONICWI (IDS_STRING + 756) +#define IDS_FAMILY_PWRINST (IDS_STRING + 758) +#define IDS_FAMILY_OTHER (IDS_STRING + 760) -#define IDS_IPSMANAGER_TITLE (IDS_STRING + 510) +#define IDS_IPSMANAGER_TITLE (IDS_STRING + 800) -#define IDS_MENU_0 (IDS_STRING + 520) -#define IDS_MENU_1 (IDS_STRING + 522) -#define IDS_MENU_2 (IDS_STRING + 524) -#define IDS_MENU_3 (IDS_STRING + 526) -#define IDS_MENU_4 (IDS_STRING + 528) -#define IDS_MENU_5 (IDS_STRING + 530) +#define IDS_NGCD_DIAG_TITLE (IDS_STRING + 810) +#define IDS_NGCD_TITLE (IDS_STRING + 812) +#define IDS_NGCD_NGCDID (IDS_STRING + 814) -#define IDS_ERR_ERROR (IDS_ERROR + 0) -#define IDS_ERR_WARNING (IDS_ERROR + 2) -#define IDS_ERR_INFORMATION (IDS_ERROR + 4) -#define IDS_ERR_UNKNOWN (IDS_ERROR + 6) +#define IDS_MENU_0 (IDS_STRING + 840) +#define IDS_MENU_1 (IDS_STRING + 842) +#define IDS_MENU_2 (IDS_STRING + 844) +#define IDS_MENU_3 (IDS_STRING + 846) +#define IDS_MENU_4 (IDS_STRING + 848) +#define IDS_MENU_5 (IDS_STRING + 840) +#define IDS_MENU_6 (IDS_STRING + 842) -#define IDS_ERR_LOAD_OK (IDS_ERROR + 10) -#define IDS_ERR_LOAD_PROBLEM (IDS_ERROR + 12) -#define IDS_ERR_LOAD_NODATA (IDS_ERROR + 14) -#define IDS_ERR_LOAD_ESS_MISS (IDS_ERROR + 16) -#define IDS_ERR_LOAD_ESS_BAD (IDS_ERROR + 18) -#define IDS_ERR_LOAD_DATA_MISS (IDS_ERROR + 20) -#define IDS_ERR_LOAD_DATA_BAD (IDS_ERROR + 22) -#define IDS_ERR_LOAD_FOUND (IDS_ERROR + 24) -#define IDS_ERR_LOAD_NOTFOUND (IDS_ERROR + 26) -#define IDS_ERR_LOAD_INVALID (IDS_ERROR + 28) -#define IDS_ERR_LOAD_CRC (IDS_ERROR + 30) -#define IDS_ERR_LOAD_SMALL (IDS_ERROR + 32) -#define IDS_ERR_LOAD_LARGE (IDS_ERROR + 34) -#define IDS_ERR_LOAD_DET_ESS (IDS_ERROR + 36) -#define IDS_ERR_LOAD_DET_PRG (IDS_ERROR + 38) -#define IDS_ERR_LOAD_DET_BIOS (IDS_ERROR + 40) -#define IDS_ERR_LOAD_DET_GRA (IDS_ERROR + 42) -#define IDS_ERR_LOAD_DET_SND (IDS_ERROR + 44) -#define IDS_ERR_LOAD_DET_ROM (IDS_ERROR + 46) -#define IDS_ERR_LOAD_REQUEST (IDS_ERROR + 48) -#define IDS_ERR_LOAD_DISK (IDS_ERROR + 50) -#define IDS_ERR_LOAD_DISK_CRC (IDS_ERROR + 52) +#define IDS_LANG_ENGLISH_US (IDS_STRING + 900) +#define IDS_LANG_SIMP_CHINESE (IDS_STRING + 902) +#define IDS_LANG_TRAD_CHINESE (IDS_STRING + 904) +#define IDS_LANG_JAPANESE (IDS_STRING + 906) +#define IDS_LANG_KOREAN (IDS_STRING + 908) +#define IDS_LANG_FRENCH (IDS_STRING + 910) +#define IDS_LANG_SPANISH (IDS_STRING + 912) +#define IDS_LANG_ITALIAN (IDS_STRING + 914) +#define IDS_LANG_GERMAN (IDS_STRING + 916) +#define IDS_LANG_PORTUGUESE (IDS_STRING + 918) +#define IDS_LANG_POLISH (IDS_STRING + 920) +#define IDS_LANG_HUNGARIAN (IDS_STRING + 922) -#define IDS_ERR_BURN_INIT (IDS_ERROR + 60) +#define IDS_CLONE_OF (IDS_STRING + 1400) +#define IDS_ROMS_FROM_1 (IDS_STRING + 1402) +#define IDS_ROMS_FROM_2 (IDS_STRING + 1404) +#define IDS_BOARD_ROMS_FROM (IDS_STRING + 1406) +#define IDS_SAMPLES_FROM (IDS_STRING + 1408) +#define IDS_NUM_PLAYERS (IDS_STRING + 1410) +#define IDS_NUM_PLAYERS_MAX (IDS_STRING + 1412) +#define IDS_HARDWARE_DESC (IDS_STRING + 1414) +#define IDS_MVS_CARTRIDGE (IDS_STRING + 1416) +#define IDS_HISCORES_SUPPORTED (IDS_STRING + 1418) +#define IDS_CARTRIDGE (IDS_STRING + 1420) +#define IDS_HARDWARE (IDS_STRING + 1422) +#define IDS_EMPTY (IDS_STRING + 1424) -#define IDS_ERR_UI_NOSUPPORT (IDS_ERROR + 70) -#define IDS_ERR_UI_WINDOW (IDS_ERROR + 72) -#define IDS_ERR_UI_MODULE (IDS_ERROR + 74) -#define IDS_ERR_UI_TRIPLE (IDS_ERROR + 76) -#define IDS_ERR_UI_FULL_NOMODE (IDS_ERROR + 78) -#define IDS_ERR_UI_FULL_PROBLEM (IDS_ERROR + 80) -#define IDS_ERR_UI_FULL_CUSTRES (IDS_ERROR + 82) +#define IDS_ERR_ERROR (IDS_ERROR + 0) +#define IDS_ERR_WARNING (IDS_ERROR + 2) +#define IDS_ERR_INFORMATION (IDS_ERROR + 4) +#define IDS_ERR_UNKNOWN (IDS_ERROR + 6) -#define IDS_ERR_DISK_CREATE (IDS_ERROR + 90) -#define IDS_ERR_DISK_LOAD (IDS_ERROR + 92) -#define IDS_ERR_DISK_UNAVAIL (IDS_ERROR + 94) -#define IDS_ERR_DISK_TOONEW (IDS_ERROR + 96) -#define IDS_ERR_DISK_TOOOLD (IDS_ERROR + 98) +#define IDS_ERR_LOAD_OK (IDS_ERROR + 10) +#define IDS_ERR_LOAD_PROBLEM (IDS_ERROR + 12) +#define IDS_ERR_LOAD_NODATA (IDS_ERROR + 14) +#define IDS_ERR_LOAD_ESS_MISS (IDS_ERROR + 16) +#define IDS_ERR_LOAD_ESS_BAD (IDS_ERROR + 18) +#define IDS_ERR_LOAD_DATA_MISS (IDS_ERROR + 20) +#define IDS_ERR_LOAD_DATA_BAD (IDS_ERROR + 22) +#define IDS_ERR_LOAD_FOUND (IDS_ERROR + 24) +#define IDS_ERR_LOAD_NOTFOUND (IDS_ERROR + 26) +#define IDS_ERR_LOAD_INVALID (IDS_ERROR + 28) +#define IDS_ERR_LOAD_CRC (IDS_ERROR + 30) +#define IDS_ERR_LOAD_SMALL (IDS_ERROR + 32) +#define IDS_ERR_LOAD_LARGE (IDS_ERROR + 34) +#define IDS_ERR_LOAD_DET_ESS (IDS_ERROR + 36) +#define IDS_ERR_LOAD_DET_PRG (IDS_ERROR + 38) +#define IDS_ERR_LOAD_DET_BIOS (IDS_ERROR + 40) +#define IDS_ERR_LOAD_DET_GRA (IDS_ERROR + 42) +#define IDS_ERR_LOAD_DET_SND (IDS_ERROR + 44) +#define IDS_ERR_LOAD_DET_ROM (IDS_ERROR + 46) +#define IDS_ERR_LOAD_REQUEST (IDS_ERROR + 48) +#define IDS_ERR_LOAD_DISK (IDS_ERROR + 50) +#define IDS_ERR_LOAD_DISK_CRC (IDS_ERROR + 52) + +#define IDS_ERR_BURN_INIT (IDS_ERROR + 60) + +#define IDS_ERR_UI_NOSUPPORT (IDS_ERROR + 70) +#define IDS_ERR_UI_WINDOW (IDS_ERROR + 72) +#define IDS_ERR_UI_MODULE (IDS_ERROR + 74) +#define IDS_ERR_UI_TRIPLE (IDS_ERROR + 76) +#define IDS_ERR_UI_FULL_NOMODE (IDS_ERROR + 78) +#define IDS_ERR_UI_FULL_PROBLEM (IDS_ERROR + 80) +#define IDS_ERR_UI_FULL_CUSTRES (IDS_ERROR + 82) + +#define IDS_ERR_DISK_CREATE (IDS_ERROR + 90) +#define IDS_ERR_DISK_LOAD (IDS_ERROR + 92) +#define IDS_ERR_DISK_UNAVAIL (IDS_ERROR + 94) +#define IDS_ERR_DISK_TOONEW (IDS_ERROR + 96) +#define IDS_ERR_DISK_TOOOLD (IDS_ERROR + 98) #define IDS_ERR_NO_NETPLAYDLL (IDS_ERROR + 110) #define IDS_ERR_NO_DRIVER_SELECTED (IDS_ERROR + 112) #define IDS_ERR_NO_DRIVER_SEL_SLOT1 (IDS_ERROR + 114) +#define IDS_ERR_NON_WORKING (IDS_ERROR + 116) +#define IDS_ERR_CDEMU_INI_FAIL (IDS_ERROR + 118) diff --git a/src/burner/win32/sel.cpp b/src/burner/win32/sel.cpp index 6e6083efa..e8799ec60 100644 --- a/src/burner/win32/sel.cpp +++ b/src/burner/win32/sel.cpp @@ -471,7 +471,7 @@ static int SelListMake() // Update the status info TCHAR szRomsAvailableInfo[128] = _T(""); - _stprintf(szRomsAvailableInfo, _T("Showing %i of %i sets [%i Unavailable sets]"), nTmpDrvCount, nBurnDrvCount - 3, nMissingDrvCount); + _stprintf(szRomsAvailableInfo, FBALoadStringEx(hAppInst, IDS_SEL_SETSTATUS, true), nTmpDrvCount, nBurnDrvCount - 3, nMissingDrvCount); SendDlgItemMessage(hSelDlg, IDC_DRVCOUNT, WM_SETTEXT, 0, (LPARAM)(LPCTSTR)szRomsAvailableInfo); return 0; @@ -556,7 +556,9 @@ static void SelOkay() #if NON_WORKING_PROMPT_ON_LOAD if (!CheckWorkingStatus(nSelect)) { - if (MessageBox(hSelDlg, _T("This game isn't working. Load it anyway?"), _T("Warning!"), MB_YESNO | MB_DEFBUTTON2 | MB_ICONWARNING) == IDNO) { + TCHAR szWarningText[1024]; + _stprintf(szWarningText, _T("%s"), FBALoadStringEx(hAppInst, IDS_ERR_WARNING, true)); + if (MessageBox(hSelDlg, FBALoadStringEx(hAppInst, IDS_ERR_NON_WORKING, true), szWarningText, MB_YESNO | MB_DEFBUTTON2 | MB_ICONWARNING) == IDNO) { return; } } @@ -1580,7 +1582,7 @@ static INT_PTR CALLBACK DialogProc(HWND hDlg, UINT Msg, WPARAM wParam, LPARAM lP int nOldDrvSelect = nBurnDrvActive; TCHAR* pszName = BurnDrvGetText(DRV_PARENT); - _stprintf(szItemText + _tcslen(szItemText), _T(" (clone of %s"), BurnDrvGetText(DRV_PARENT)); + _stprintf(szItemText + _tcslen(szItemText), FBALoadStringEx(hAppInst, IDS_CLONE_OF, true), BurnDrvGetText(DRV_PARENT)); for (nBurnDrvActive = 0; nBurnDrvActive < nBurnDrvCount; nBurnDrvActive++) { if (!_tcsicmp(pszName, BurnDrvGetText(DRV_NAME))) { @@ -1589,19 +1591,19 @@ static INT_PTR CALLBACK DialogProc(HWND hDlg, UINT Msg, WPARAM wParam, LPARAM lP } if (nBurnDrvActive < nBurnDrvCount) { if (BurnDrvGetText(DRV_PARENT)) { - _stprintf(szItemText + _tcslen(szItemText), _T(", uses ROMs from %s"), BurnDrvGetText(DRV_PARENT)); + _stprintf(szItemText + _tcslen(szItemText), FBALoadStringEx(hAppInst, IDS_ROMS_FROM_1, true), BurnDrvGetText(DRV_PARENT)); } } nBurnDrvActive = nOldDrvSelect; bBracket = true; } else { if (BurnDrvGetTextA(DRV_PARENT)) { - _stprintf(szItemText + _tcslen(szItemText), _T("%suses ROMs from %s"), bBracket ? _T(", ") : _T(" ("), BurnDrvGetText(DRV_PARENT)); + _stprintf(szItemText + _tcslen(szItemText), FBALoadStringEx(hAppInst, IDS_ROMS_FROM_2, true), bBracket ? _T(", ") : _T(" ("), BurnDrvGetText(DRV_PARENT)); bBracket = true; } } if (BurnDrvGetTextA(DRV_SAMPLENAME)) { - _stprintf(szItemText + _tcslen(szItemText), _T("%suses samples from %s"), bBracket ? _T(", ") : _T(" ("), BurnDrvGetText(DRV_SAMPLENAME)); + _stprintf(szItemText + _tcslen(szItemText), FBALoadStringEx(hAppInst, IDS_SAMPLES_FROM, true), bBracket ? _T(", ") : _T(" ("), BurnDrvGetText(DRV_SAMPLENAME)); bBracket = true; } if (bBracket) { @@ -1615,29 +1617,31 @@ static INT_PTR CALLBACK DialogProc(HWND hDlg, UINT Msg, WPARAM wParam, LPARAM lP bool bUseInfo = false; if (BurnDrvGetFlags() & BDF_PROTOTYPE) { - _stprintf(szItemText + _tcslen(szItemText), _T("prototype")); + _stprintf(szItemText + _tcslen(szItemText), FBALoadStringEx(hAppInst, IDS_SEL_PROTOTYPE, true)); bUseInfo = true; } if (BurnDrvGetFlags() & BDF_BOOTLEG) { - _stprintf(szItemText + _tcslen(szItemText), _T("%sbootleg"), bUseInfo ? _T(", ") : _T("")); + _stprintf(szItemText + _tcslen(szItemText), FBALoadStringEx(hAppInst, IDS_SEL_BOOTLEG, true), bUseInfo ? _T(", ") : _T("")); bUseInfo = true; } if (BurnDrvGetFlags() & BDF_HACK) { - _stprintf(szItemText + _tcslen(szItemText), _T("%shack"), bUseInfo ? _T(", ") : _T("")); + _stprintf(szItemText + _tcslen(szItemText), FBALoadStringEx(hAppInst, IDS_SEL_HACK, true), bUseInfo ? _T(", ") : _T("")); bUseInfo = true; } if (BurnDrvGetFlags() & BDF_HOMEBREW) { - _stprintf(szItemText + _tcslen(szItemText), _T("%shomebrew"), bUseInfo ? _T(", ") : _T("")); + _stprintf(szItemText + _tcslen(szItemText), FBALoadStringEx(hAppInst, IDS_SEL_HOMEBREW, true), bUseInfo ? _T(", ") : _T("")); bUseInfo = true; } if (BurnDrvGetFlags() & BDF_DEMO) { - _stprintf(szItemText + _tcslen(szItemText), _T("%sdemo"), bUseInfo ? _T(", ") : _T("")); + _stprintf(szItemText + _tcslen(szItemText), FBALoadStringEx(hAppInst, IDS_SEL_DEMO, true), bUseInfo ? _T(", ") : _T("")); bUseInfo = true; } - _stprintf(szItemText + _tcslen(szItemText), _T("%s%i player%s"), bUseInfo ? _T(", ") : _T(""), BurnDrvGetMaxPlayers(), (BurnDrvGetMaxPlayers() != 1) ? _T("s max") : _T("")); + TCHAR szPlayersMax[100]; + _stprintf(szPlayersMax, FBALoadStringEx(hAppInst, IDS_NUM_PLAYERS_MAX, true)); + _stprintf(szItemText + _tcslen(szItemText), FBALoadStringEx(hAppInst, IDS_NUM_PLAYERS, true), bUseInfo ? _T(", ") : _T(""), BurnDrvGetMaxPlayers(), (BurnDrvGetMaxPlayers() != 1) ? szPlayersMax : _T("")); bUseInfo = true; if (BurnDrvGetText(DRV_BOARDROM)) { - _stprintf(szItemText + _tcslen(szItemText), _T("%suses board-ROMs from %s"), bUseInfo ? _T(", ") : _T(""), BurnDrvGetText(DRV_BOARDROM)); + _stprintf(szItemText + _tcslen(szItemText), FBALoadStringEx(hAppInst, IDS_BOARD_ROMS_FROM, true), bUseInfo ? _T(", ") : _T(""), BurnDrvGetText(DRV_BOARDROM)); SendMessage(hInfoText[i], WM_SETTEXT, (WPARAM)0, (LPARAM)szItemText); EnableWindow(hInfoLabel[i], TRUE); bUseInfo = true; @@ -1647,7 +1651,11 @@ static INT_PTR CALLBACK DialogProc(HWND hDlg, UINT Msg, WPARAM wParam, LPARAM lP break; } case 2: { - _stprintf(szItemText, _T("%s (%s, %s hardware)"), BurnDrvGetTextA(DRV_MANUFACTURER) ? BurnDrvGetText(nGetTextFlags | DRV_MANUFACTURER) : _T("unknown"), BurnDrvGetText(DRV_DATE), ((BurnDrvGetHardwareCode() & HARDWARE_SNK_MVS) == HARDWARE_SNK_MVS) ? _T("Neo Geo MVS Cartidge") : BurnDrvGetText(nGetTextFlags | DRV_SYSTEM)); + TCHAR szUnknown[100]; + TCHAR szCartridge[100]; + _stprintf(szUnknown, FBALoadStringEx(hAppInst, IDS_ERR_UNKNOWN, true)); + _stprintf(szCartridge, FBALoadStringEx(hAppInst, IDS_MVS_CARTRIDGE, true)); + _stprintf(szItemText, FBALoadStringEx(hAppInst, IDS_HARDWARE_DESC, true), BurnDrvGetTextA(DRV_MANUFACTURER) ? BurnDrvGetText(nGetTextFlags | DRV_MANUFACTURER) : szUnknown, BurnDrvGetText(DRV_DATE), ((BurnDrvGetHardwareCode() & HARDWARE_SNK_MVS) == HARDWARE_SNK_MVS) ? szCartridge : BurnDrvGetText(nGetTextFlags | DRV_SYSTEM)); SendMessage(hInfoText[i], WM_SETTEXT, (WPARAM)0, (LPARAM)szItemText); EnableWindow(hInfoLabel[i], TRUE); break; @@ -1677,7 +1685,7 @@ static INT_PTR CALLBACK DialogProc(HWND hDlg, UINT Msg, WPARAM wParam, LPARAM lP case 4: { _stprintf(szItemText, _T("%s"), BurnDrvGetTextA(DRV_COMMENT) ? BurnDrvGetText(nGetTextFlags | DRV_COMMENT) : _T("")); if (BurnDrvGetFlags() & BDF_HISCORE_SUPPORTED) { - _stprintf(szItemText + _tcslen(szItemText), _T("%shigh scores supported"), _tcslen(szItemText) ? _T(", ") : _T("")); + _stprintf(szItemText + _tcslen(szItemText), FBALoadStringEx(hAppInst, IDS_HISCORES_SUPPORTED, true), _tcslen(szItemText) ? _T(", ") : _T("")); } SendMessage(hInfoText[i], WM_SETTEXT, (WPARAM)0, (LPARAM)szItemText); EnableWindow(hInfoLabel[i], TRUE); @@ -1775,19 +1783,19 @@ static INT_PTR CALLBACK RomInfoDialogProc(HWND hDlg, UINT Msg, WPARAM wParam, LP memset(&LvCol, 0, sizeof(LvCol)); LvCol.mask = LVCF_TEXT | LVCF_WIDTH | LVCF_SUBITEM; LvCol.cx = 200; - LvCol.pszText = _T("Name"); + LvCol.pszText = FBALoadStringEx(hAppInst, IDS_ROMINFO_NAME, true); SendMessage(hList, LVM_INSERTCOLUMN , 0, (LPARAM)&LvCol); LvCol.cx = 100; - LvCol.pszText = _T("Size (bytes)"); + LvCol.pszText = FBALoadStringEx(hAppInst, IDS_ROMINFO_SIZE, true); SendMessage(hList, LVM_INSERTCOLUMN , 1, (LPARAM)&LvCol); LvCol.cx = 100; - LvCol.pszText = _T("CRC32"); + LvCol.pszText = FBALoadStringEx(hAppInst, IDS_ROMINFO_CRC32, true); SendMessage(hList, LVM_INSERTCOLUMN , 2, (LPARAM)&LvCol); LvCol.cx = 200; - LvCol.pszText = _T("Type"); + LvCol.pszText = FBALoadStringEx(hAppInst, IDS_ROMINFO_TYPE, true); SendMessage(hList, LVM_INSERTCOLUMN , 3, (LPARAM)&LvCol); LvCol.cx = 100; - LvCol.pszText = _T("Flags"); + LvCol.pszText = FBALoadStringEx(hAppInst, IDS_ROMINFO_FLAGS, true); SendMessage(hList, LVM_INSERTCOLUMN , 4, (LPARAM)&LvCol); LvCol.cx = 100; @@ -1801,8 +1809,8 @@ static INT_PTR CALLBACK RomInfoDialogProc(HWND hDlg, UINT Msg, WPARAM wParam, LP char nLen[10] = ""; char nCrc[8] = ""; char *szRomName = NULL; - char Type[100] = ""; - char FormatType[100] = ""; + TCHAR Type[100] = _T(""); + TCHAR FormatType[100] = _T(""); memset(&ri, 0, sizeof(ri)); @@ -1829,24 +1837,24 @@ static INT_PTR CALLBACK RomInfoDialogProc(HWND hDlg, UINT Msg, WPARAM wParam, LP SendMessage(hList, LVM_SETITEM, 0, (LPARAM)&LvItem); } - if (ri.nType & BRF_ESS) sprintf(Type, "%s, Essential", Type); - if (ri.nType & BRF_OPT) sprintf(Type, "%s, Optional", Type); - if (ri.nType & BRF_PRG) sprintf(Type, "%s, Program", Type); - if (ri.nType & BRF_GRA) sprintf(Type, "%s, Graphics", Type); - if (ri.nType & BRF_SND) sprintf(Type, "%s, Sound", Type); - if (ri.nType & BRF_BIOS) sprintf(Type, "%s, BIOS", Type); + if (ri.nType & BRF_ESS) _stprintf(Type, FBALoadStringEx(hAppInst, IDS_ROMINFO_ESSENTIAL, true), Type); + if (ri.nType & BRF_OPT) _stprintf(Type, FBALoadStringEx(hAppInst, IDS_ROMINFO_OPTIONAL, true), Type); + if (ri.nType & BRF_PRG) _stprintf(Type, FBALoadStringEx(hAppInst, IDS_ROMINFO_PROGRAM, true), Type); + if (ri.nType & BRF_GRA) _stprintf(Type, FBALoadStringEx(hAppInst, IDS_ROMINFO_GRAPHICS, true), Type); + if (ri.nType & BRF_SND) _stprintf(Type, FBALoadStringEx(hAppInst, IDS_ROMINFO_SOUND, true), Type); + if (ri.nType & BRF_BIOS) _stprintf(Type, FBALoadStringEx(hAppInst, IDS_ROMINFO_BIOS, true), Type); for (int j = 0; j < 98; j++) { FormatType[j] = Type[j + 2]; } LvItem.iSubItem = 3; - LvItem.pszText = ANSIToTCHAR(FormatType, NULL, 0); + LvItem.pszText = FormatType; SendMessage(hList, LVM_SETITEM, 0, (LPARAM)&LvItem); LvItem.iSubItem = 4; LvItem.pszText = _T(""); - if (ri.nType & BRF_NODUMP) LvItem.pszText = _T("No Dump"); + if (ri.nType & BRF_NODUMP) LvItem.pszText = FBALoadStringEx(hAppInst, IDS_ROMINFO_NODUMP, true); SendMessage(hList, LVM_SETITEM, 0, (LPARAM)&LvItem); RomPos++; @@ -1869,8 +1877,8 @@ static INT_PTR CALLBACK RomInfoDialogProc(HWND hDlg, UINT Msg, WPARAM wParam, LP char nLenBoard[10] = ""; char nCrcBoard[8] = ""; char *szBoardRomName = NULL; - char BoardType[100] = ""; - char BoardFormatType[100] = ""; + TCHAR BoardType[100] = _T(""); + TCHAR BoardFormatType[100] = _T(""); memset(&riBoard, 0, sizeof(riBoard)); @@ -1896,24 +1904,24 @@ static INT_PTR CALLBACK RomInfoDialogProc(HWND hDlg, UINT Msg, WPARAM wParam, LP SendMessage(hList, LVM_SETITEM, 0, (LPARAM)&LvItem); } - if (riBoard.nType & BRF_ESS) sprintf(BoardType, "%s, Essential", BoardType); - if (riBoard.nType & BRF_OPT) sprintf(BoardType, "%s, Optional", BoardType); - if (riBoard.nType & BRF_PRG) sprintf(BoardType, "%s, Program", BoardType); - if (riBoard.nType & BRF_GRA) sprintf(BoardType, "%s, Graphics", BoardType); - if (riBoard.nType & BRF_SND) sprintf(BoardType, "%s, Sound", BoardType); - if (riBoard.nType & BRF_BIOS) sprintf(BoardType, "%s, BIOS", BoardType); + if (riBoard.nType & BRF_ESS) _stprintf(BoardType, FBALoadStringEx(hAppInst, IDS_ROMINFO_ESSENTIAL, true), BoardType); + if (riBoard.nType & BRF_OPT) _stprintf(BoardType, FBALoadStringEx(hAppInst, IDS_ROMINFO_OPTIONAL, true), BoardType); + if (riBoard.nType & BRF_PRG) _stprintf(BoardType, FBALoadStringEx(hAppInst, IDS_ROMINFO_PROGRAM, true), BoardType); + if (riBoard.nType & BRF_GRA) _stprintf(BoardType, FBALoadStringEx(hAppInst, IDS_ROMINFO_GRAPHICS, true), BoardType); + if (riBoard.nType & BRF_SND) _stprintf(BoardType, FBALoadStringEx(hAppInst, IDS_ROMINFO_SOUND, true), BoardType); + if (riBoard.nType & BRF_BIOS) _stprintf(BoardType, FBALoadStringEx(hAppInst, IDS_ROMINFO_BIOS, true), BoardType); for (int k = 0; k < 98; k++) { BoardFormatType[k] = BoardType[k + 2]; } LvItem.iSubItem = 3; - LvItem.pszText = ANSIToTCHAR(BoardFormatType, NULL, 0); + LvItem.pszText = BoardFormatType; SendMessage(hList, LVM_SETITEM, 0, (LPARAM)&LvItem); LvItem.iSubItem = 4; LvItem.pszText = _T(""); - if (riBoard.nType & BRF_NODUMP) LvItem.pszText = _T("No Dump"); + if (riBoard.nType & BRF_NODUMP) LvItem.pszText = FBALoadStringEx(hAppInst, IDS_ROMINFO_NODUMP, true); SendMessage(hList, LVM_SETITEM, 0, (LPARAM)&LvItem); RomPos++; @@ -1930,7 +1938,7 @@ static INT_PTR CALLBACK RomInfoDialogProc(HWND hDlg, UINT Msg, WPARAM wParam, LP memset(&LvCol, 0, sizeof(LvCol)); LvCol.mask = LVCF_TEXT | LVCF_WIDTH | LVCF_SUBITEM; LvCol.cx = 200; - LvCol.pszText = _T("Name"); + LvCol.pszText = FBALoadStringEx(hAppInst, IDS_ROMINFO_NAME, true); SendMessage(hList, LVM_INSERTCOLUMN , 0, (LPARAM)&LvCol); memset(&LvItem, 0, sizeof(LvItem)); @@ -2030,7 +2038,7 @@ static void UpdateInfoROMInfo() int nOldDrvSelect = nBurnDrvActive; TCHAR* pszName = BurnDrvGetText(DRV_PARENT); - _stprintf(szItemText + _tcslen(szItemText), _T(" (clone of %s"), BurnDrvGetText(DRV_PARENT)); + _stprintf(szItemText + _tcslen(szItemText), FBALoadStringEx(hAppInst, IDS_CLONE_OF, true), BurnDrvGetText(DRV_PARENT)); for (nBurnDrvActive = 0; nBurnDrvActive < nBurnDrvCount; nBurnDrvActive++) { if (!_tcsicmp(pszName, BurnDrvGetText(DRV_NAME))) { @@ -2039,19 +2047,19 @@ static void UpdateInfoROMInfo() } if (nBurnDrvActive < nBurnDrvCount) { if (BurnDrvGetText(DRV_PARENT)) { - _stprintf(szItemText + _tcslen(szItemText), _T(", uses ROMs from %s"), BurnDrvGetText(DRV_PARENT)); + _stprintf(szItemText + _tcslen(szItemText), FBALoadStringEx(hAppInst, IDS_ROMS_FROM_1, true), BurnDrvGetText(DRV_PARENT)); } } nBurnDrvActive = nOldDrvSelect; bBracket = true; } else { if (BurnDrvGetTextA(DRV_PARENT)) { - _stprintf(szItemText + _tcslen(szItemText), _T("%suses ROMs from %s"), bBracket ? _T(", ") : _T(" ("), BurnDrvGetText(DRV_PARENT)); + _stprintf(szItemText + _tcslen(szItemText), FBALoadStringEx(hAppInst, IDS_ROMS_FROM_2, true), bBracket ? _T(", ") : _T(" ("), BurnDrvGetText(DRV_PARENT)); bBracket = true; } } if (BurnDrvGetText(DRV_BOARDROM)) { - _stprintf(szItemText + _tcslen(szItemText), _T("%suses board-ROMs from %s"), bBracket ? _T(", ") : _T(" ("), BurnDrvGetText(DRV_BOARDROM)); + _stprintf(szItemText + _tcslen(szItemText), FBALoadStringEx(hAppInst, IDS_BOARD_ROMS_FROM, true), bBracket ? _T(", ") : _T(" ("), BurnDrvGetText(DRV_BOARDROM)); bBracket = true; } if (bBracket) { @@ -2073,8 +2081,14 @@ static void UpdateInfoRelease() int nGetTextFlags = nLoadMenuShowX & ASCIIONLY ? DRV_ASCIIONLY : 0; TCHAR szItemText[256] = _T(""); - _stprintf(szItemText, _T("%s (%s, %s %s)"), BurnDrvGetTextA(DRV_MANUFACTURER) ? BurnDrvGetText(nGetTextFlags | DRV_MANUFACTURER) : _T("unknown"), BurnDrvGetText(DRV_DATE), - BurnDrvGetText(nGetTextFlags | DRV_SYSTEM), (BurnDrvGetHardwareCode() & HARDWARE_PREFIX_CARTRIDGE) ? _T("cartridge") : _T("hardware")); + TCHAR szUnknown[100]; + TCHAR szCartridge[100]; + TCHAR szHardware[100]; + _stprintf(szUnknown, FBALoadStringEx(hAppInst, IDS_ERR_UNKNOWN, true)); + _stprintf(szCartridge, FBALoadStringEx(hAppInst, IDS_CARTRIDGE, true)); + _stprintf(szHardware, FBALoadStringEx(hAppInst, IDS_HARDWARE, true)); + _stprintf(szItemText, _T("%s (%s, %s %s)"), BurnDrvGetTextA(DRV_MANUFACTURER) ? BurnDrvGetText(nGetTextFlags | DRV_MANUFACTURER) : szUnknown, BurnDrvGetText(DRV_DATE), + BurnDrvGetText(nGetTextFlags | DRV_SYSTEM), (BurnDrvGetHardwareCode() & HARDWARE_PREFIX_CARTRIDGE) ? szCartridge : szHardware); if (hInfoText[2]) { SendMessage(hInfoText[2], WM_SETTEXT, (WPARAM)0, (LPARAM)szItemText); @@ -2158,7 +2172,7 @@ static int MVSpreviewUpdateSlot(int nSlot, HWND hDlg) } else { hMVSpreview[nSlot] = PNGLoadBitmap(hDlg, NULL, 72, 54, 4); - SendMessage(hInfoText[0], WM_SETTEXT, (WPARAM)0, (LPARAM)_T("Empty")); + SendMessage(hInfoText[0], WM_SETTEXT, (WPARAM)0, (LPARAM)FBALoadStringEx(hAppInst, IDS_EMPTY, true)); } SendDlgItemMessage(hDlg, IDC_MVS_CART1 + nSlot, STM_SETIMAGE, IMAGE_BITMAP, (LPARAM)hMVSpreview[nSlot]); diff --git a/src/burner/win32/string.rc b/src/burner/win32/string.rc index af544182d..63450f515 100644 --- a/src/burner/win32/string.rc +++ b/src/burner/win32/string.rc @@ -88,6 +88,18 @@ BEGIN IDS_ROMINFO_DIALOGTITLE "Rom Information" IDS_ROMINFO_ROMS "Rom Info" IDS_ROMINFO_SAMPLES "Sample Info" + IDS_ROMINFO_NAME "Name" + IDS_ROMINFO_SIZE "Size (bytes)" + IDS_ROMINFO_CRC32 "CRC32" + IDS_ROMINFO_TYPE "Type" + IDS_ROMINFO_FLAGS "Flags" + IDS_ROMINFO_ESSENTIAL "%s, Essential" + IDS_ROMINFO_OPTIONAL "%s, Optional" + IDS_ROMINFO_PROGRAM "%s, Program" + IDS_ROMINFO_GRAPHICS "%s, Graphics" + IDS_ROMINFO_SOUND "%s, Sound" + IDS_ROMINFO_BIOS "%s, BIOS" + IDS_ROMINFO_NODUMP "%s, No Dump" IDS_SPATH_PREVIEW "Previews" IDS_SPATH_TITLES "Titles" @@ -137,6 +149,7 @@ BEGIN IDS_SEL_HOMEBREW "Homebrew" IDS_SEL_DEMO "Demo" IDS_SEL_GENUINE "Genuine" + IDS_SEL_SETSTATUS "Showing %i of %i sets [%i Unavailable sets]" IDS_GENRE "Genre" IDS_GENRE_HORSHOOT "Shooter - Horizontal" @@ -174,14 +187,46 @@ BEGIN IDS_IPSMANAGER_TITLE "IPS Patch Manager" + IDS_NGCD_DIAG_TITLE "%s%sNeo Geo CDZ%sSelect Game" + IDS_NGCD_TITLE "Title" + IDS_NGCD_NGCDID "NGCD-ID" + IDS_MENU_0 "&Arcade" IDS_MENU_1 "&Other..." IDS_MENU_2 "&Other Gamma value..." IDS_MENU_3 "Adjust &CPU speed..." IDS_MENU_4 "Load state from active slot (no %d)\tF9" IDS_MENU_5 "Save state to active slot (no %d)\tF10" + IDS_MENU_6 "no game selected" - IDS_ERR_ERROR "Error" + IDS_LANG_ENGLISH_US "English (US)" + IDS_LANG_SIMP_CHINESE "Simplified Chinese" + IDS_LANG_TRAD_CHINESE "Traditional Chinese" + IDS_LANG_JAPANESE "Japanese" + IDS_LANG_KOREAN "Korean" + IDS_LANG_FRENCH "French" + IDS_LANG_SPANISH "Spanish" + IDS_LANG_ITALIAN "Italian" + IDS_LANG_GERMAN "German" + IDS_LANG_PORTUGUESE "Portuguese" + IDS_LANG_POLISH "Polish" + IDS_LANG_HUNGARIAN "Hungarian" + + IDS_CLONE_OF " (clone of %s" + IDS_ROMS_FROM_1 ", uses ROMs from %s" + IDS_ROMS_FROM_2 "%suses ROMs from %s" + IDS_BOARD_ROMS_FROM "%suses board-ROMs from %s" + IDS_SAMPLES_FROM "%suses samples from %s" + IDS_NUM_PLAYERS "%s%i player%s" + IDS_NUM_PLAYERS_MAX "s max" + IDS_HARDWARE_DESC "%s (%s, %s hardware)" + IDS_MVS_CARTRIDGE "Neo Geo MVS Cartidge" + IDS_HISCORES_SUPPORTED "%shigh scores supported" + IDS_CARTRIDGE "cartridge" + IDS_HARDWARE "hardware" + IDS_EMPTY "Empty" + + IDS_ERR_ERROR "Error" IDS_ERR_WARNING "Warning" IDS_ERR_INFORMATION "Information" IDS_ERR_UNKNOWN "Unknown" @@ -228,4 +273,6 @@ BEGIN IDS_ERR_NO_NETPLAYDLL "Error finding 'kailleraclient.dll'." IDS_ERR_NO_DRIVER_SELECTED "No driver has been selected from the list." IDS_ERR_NO_DRIVER_SEL_SLOT1 "No driver has been selected for slot 1." + IDS_ERR_NON_WORKING "This game isn't working. Load it anyway?" + IDS_ERR_CDEMU_INI_FAIL "Couldn't initialise CD emulation." END