#include #include #include "Main.h" // for hinst #include "Language.h" #include "resource.h" /******************************************************************************* * Definitions * *******************************************************************************/ #define MAX_LANGUAGES 45 #define MAX_LANNAME_LEN 100 #define MAX_STRINGS 300 #define MAX_STRING_LEN 400 typedef struct { int ID; char Str[MAX_STRING_LEN]; } LANG_STR; LANG_STR DefaultString[] = { { INI_CURRENT_LANG, "Current Language" }, { INI_AUTHOR, "Author" }, { INI_VERSION, "Version" }, { INI_DATE, "Date" }, { INI_HOMEPAGE, "Visit Home Page" }, { INI_CURRENT_RDB, "ROM Database (.RDS)" }, { INI_CURRENT_CHT, "Cheat Code file (.CDB)" }, { INI_CURRENT_RDX, "Extended Rom Info (.RDI)"}, { INI_TITLE, "About INI Files" }, /********************************************************************************* * Numbers * *********************************************************************************/ { NUMBER_0, "0" }, { NUMBER_1, "1" }, { NUMBER_2, "2" }, { NUMBER_3, "3" }, { NUMBER_4, "4" }, { NUMBER_5, "5" }, { NUMBER_6, "6" }, { NUMBER_7, "7" }, { NUMBER_8, "8" }, { NUMBER_9, "9" }, { MENU_FILE, "&File" }, { MENU_OPEN, "&Open Rom" }, { MENU_ROM_INFO, "Rom &Info...." }, { MENU_GAME_INFO, "&Game Information"}, { MENU_START, "Start Emulation" }, { MENU_END, "&End Emulation" }, { MENU_CHOOSE_ROM, "Choose Rom Directory..." }, { MENU_REFRESH, "Refresh Rom List" }, { MENU_RECENT_ROM, "Recent Rom" }, { MENU_RECENT_DIR, "Recent Rom Directories" }, { MENU_EXIT, "E&xit" }, { MENU_SYSTEM, "&System" }, { MENU_RESET, "&Reset" }, { MENU_PAUSE, "&Pause" }, { MENU_RESUME, "R&esume" }, { MENU_BITMAP, "Screenshot Capture" }, { MENU_LIMIT_FPS, "Limit FPS" }, { MENU_SAVE, "&Save" }, { MENU_SAVE_AS, "Save As..." }, { MENU_RESTORE, "&Restore" }, { MENU_LOAD, "Load..." }, { MENU_CURRENT_SAVE,"Current Save S&tate" }, { MENU_SLOT_DEFAULT,"Default" }, { MENU_SLOT_1, "Slot 1" }, { MENU_SLOT_2, "Slot 2" }, { MENU_SLOT_3, "Slot 3" }, { MENU_SLOT_4, "Slot 4" }, { MENU_SLOT_5, "Slot 5" }, { MENU_SLOT_6, "Slot 6" }, { MENU_SLOT_7, "Slot 7" }, { MENU_SLOT_8, "Slot 8" }, { MENU_SLOT_9, "Slot 9" }, { MENU_SLOT_10, "Slot 10" }, { MENU_CHEAT, "Cheats..." }, { MENU_GS_BUTTON, "GS Button" }, { MENU_OPTIONS, "&Options" }, { MENU_FULL_SCREEN, "&Full Screen" }, { MENU_ON_TOP, "&Always On &Top" }, { MENU_CONFG_GFX, "Configure Graphics Plugin..." }, { MENU_CONFG_AUDIO, "Configure Audio Plugin..." }, { MENU_CONFG_CTRL, "Configure Controller Plugin..." }, { MENU_CONFG_RSP, "Configure RSP Plugin..." }, { MENU_SHOW_CPU, "Show CPU usage %" }, { MENU_SETTINGS, "&Settings..." }, { MENU_DEBUGGER, "&Debugger" }, { MENU_LANGUAGE, "&Language" }, { MENU_HELP, "&Help" }, { MENU_USER_MAN, "&User Manual..." }, { MENU_GAME_FAQ, "&Game FAQ..." }, { MENU_ABOUT_INI, "About &INI Files" }, { MENU_ABOUT_PJ64, "&About Project 64" }, { MENU_FORUM, "Support &Forum" }, { MENU_HOMEPAGE, "&Homepage" }, { MENU_DISCORD, "&Discord" }, //Pop up Menu { POPUP_PLAY, "Play Game" }, { POPUP_INFO, "Rom Information" }, { POPUP_SETTINGS, "Edit Game Settings" }, { POPUP_CHEATS, "Edit Cheats" }, { POPUP_GAMEINFO, "Game Information"}, /********************************************************************************* * Rom Browser * *********************************************************************************/ //Rom Browser Fields { RB_FILENAME, "File Name" }, { RB_INTERNALNAME, "Internal Name" }, { RB_GOODNAME, "Good Name" }, { RB_STATUS, "Status" }, { RB_ROMSIZE, "Rom Size" }, { RB_NOTES_CORE, "Notes (Core)" }, { RB_NOTES_PLUGIN, "Notes (default plugins)" }, { RB_NOTES_USER, "Notes (User)" }, { RB_CART_ID, "Cartridge ID" }, { RB_RELEASE_VER, "Release Version" }, { RB_SDK_VER, "SDK Version" }, { RB_MANUFACTUER, "Manufacturer" }, { RB_COUNTRY, "Country" }, { RB_DEVELOPER, "Developer" }, { RB_CRC1, "CRC1" }, { RB_CRC2, "CRC2" }, { RB_CICCHIP, "CIC Chip" }, { RB_RELEASE_DATE, "Release Date" }, { RB_GENRE, "Genre" }, { RB_PLAYERS, "Players" }, { RB_FORCE_FEEDBACK,"Force Feedback" }, //Select Rom { SELECT_ROM_DIR, "Select current Rom Directory" }, //Messages { RB_NOT_GOOD_FILE,"Bad ROM? Use GoodN64 & check for updated INI" }, /********************************************************************************* * Options * *********************************************************************************/ //Options Title { OPTIONS_TITLE,STR_SETTINGS}, //Tabs { TAB_PLUGIN,"Plugins"}, { TAB_DIRECTORY,"Directories"}, { TAB_OPTIONS,"Options"}, { TAB_ROMSELECTION,"Rom Selection"}, { TAB_ADVANCED,"Advanced"}, { TAB_ROMSETTINGS,"Rom Settings"}, { TAB_ROMNOTES,"Rom Notes"}, { TAB_SHELLINTERGATION,"Shell Integration"}, //Plugin Dialog { PLUG_ABOUT, "About"}, { PLUG_RSP, " Reality Signal Processor plugin: "}, { PLUG_GFX, " Video (graphics) plugin: "}, { PLUG_AUDIO, " Audio (sound) plugin: "}, { PLUG_CTRL, " Input (controller) plugin: "}, //Directory Dialog { DIR_PLUGIN, " Plugin Directoy: "}, { DIR_ROM, " Rom Directory: "}, { DIR_AUTO_SAVE, " N64 Auto saves: "}, { DIR_INSTANT_SAVE, " Instant saves: "}, { DIR_SCREEN_SHOT, " Screenshots: "}, { DIR_ROM_DEFAULT, "Last folder that a rom was open from."}, { DIR_SELECT_PLUGIN, "Select Plugin Directory"}, { DIR_SELECT_ROM, "Select Rom Directory"}, { DIR_SELECT_AUTO, "Select Automatic save Directory"}, { DIR_SELECT_INSTANT,"Select Instant save Directory"}, { DIR_SELECT_SCREEN, "Select Screenshot Directory"}, //Options (general) Tab { OPTION_AUTO_SLEEP, "Pause emulation when window is not active?"}, { OPTION_AUTO_FULLSCREEN, "On loading a ROM go to full screen"}, { OPTION_BASIC_MODE, "Hide Advanced Settings"}, { OPTION_REMEMBER_CHEAT, "Remember selected cheats"}, //Rom Browser Tab { RB_MAX_ROMS, "Max # of Roms Remembered (Max 10):"}, { RB_ROMS, "roms"}, { RB_MAX_DIRS, "Max # of Rom Dirs Remembered (Max 10):"}, { RB_DIRS, "dirs"}, { RB_USE, "Use Rom Browser"}, { RB_DIR_RECURSION, "Use Directory recursion"}, { RB_AVALIABLE_FIELDS, "Available fields:"}, { RB_SHOW_FIELDS, "Show fields in this order:"}, { RB_ADD, "Add ->"}, { RB_REMOVE, "<- Remove"}, { RB_UP, "Up"}, { RB_DOWN, "Down"}, //Advanced Options { ADVANCE_INFO, "Most of these changes will not take effect till a new rom is opened or current rom is reset."}, { ADVANCE_DEFAULTS, "Core Defaults"}, { ADVANCE_CPU_STYLE, "CPU core style:"}, { ADVANCE_SMCM, "Self-mod code method:"}, { ADVANCE_MEM_SIZE, "Default Memory Size:"}, { ADVANCE_ABL, "Advanced Block Linking:"}, { ADVANCE_AUTO_START, "Start Emulation when rom is opened?"}, { ADVANCE_OVERWRITE, "Always overwrite default settings with ones from ini?"}, { ADVANCE_COMPRESS, "Automatically compress instant saves"}, { ADVANCE_CLEAR_MEMORY, "Clear Memory at Start of Emulation"}, { ADVANCE_USEDEBUGGER, "Enable Debugger (forces CPU Interpreter)" }, { ADVANCE_SHOREMORERRORS, "Show More Error Messages" }, //Rom Options { ROM_CPU_STYLE, "CPU core style:"}, { ROM_SMCM, "Self-modifying code Method:"}, { ROM_MEM_SIZE, "Memory Size:"}, { ROM_ABL, "Advanced Block Linking:"}, { ROM_SAVE_TYPE, "Default Save type:"}, { ROM_COUNTER_FACTOR, "Counter Factor:"}, { ROM_LARGE_BUFFER, "Larger Compile Buffer"}, { ROM_USE_TLB, "Use TLB"}, { ROM_REG_CACHE, "Register caching"}, { ROM_DELAY_SI, "Delay SI Interrupt"}, { ROM_AUDIO_SIGNAL, "RSP Audio Signal"}, { ROM_SP_HACK, "SP Hack"}, { ROM_DEFAULT, "Default"}, { ROM_DELAY_RDP, "Delay RDP Interrupt"}, { ROM_DELAY_RSP, "Delay RSP Interrupt"}, { ROM_EMULATE_AI, "Emulate AI"}, //Core Styles { CORE_INTERPTER, "Interpreter"}, { CORE_RECOMPILER, "Recompiler"}, { CORE_SYNC, "Synchronise Cores"}, //Self Mod Methods { SMCM_NONE, "None"}, { SMCM_CACHE, "Cache"}, { SMCM_PROECTED, "Protect Memory"}, { SMCM_CHECK_MEM, "Check Memory & Cache"}, { SMCM_CHANGE_MEM, "Change Memory & Cache"}, { SMCM_CHECK_ADV, "Check Memory Advance"}, //RDRAM Size { RDRAM_4MB, "4 MB"}, { RDRAM_8MB, "8 MB"}, //Advanced Block Linking { ABL_ON, "On"}, { ABL_OFF, "Off"}, //Save Type { SAVE_FIRST_USED, "Use First Used Save Type"}, { SAVE_4K_EEPROM, "4kbit Eeprom"}, { SAVE_16K_EEPROM, "16kbit Eeprom"}, { SAVE_SRAM, "32kbytes SRAM"}, { SAVE_FLASHRAM, "Flashram"}, //Shell Intergration Tab { SHELL_TEXT, "File extension association:"}, //Rom Notes { NOTE_STATUS, "Rom Status:"}, { NOTE_CORE, "Core Note:"}, { NOTE_PLUGIN, "Plugin Note:"}, /********************************************************************************* * ROM Information * *********************************************************************************/ //Rom Info Title Title { INFO_TITLE, "Rom Information"}, //Rom Info Text { INFO_ROM_NAME_TEXT, "ROM Name:"}, { INFO_FILE_NAME_TEXT, "File Name:"}, { INFO_LOCATION_TEXT, "Location:"}, { INFO_SIZE_TEXT, "Rom Size:"}, { INFO_CART_ID_TEXT, "Cartridge ID:"}, { INFO_RELEASE_VERSION, "Release Version:"}, { INFO_SDK_VERSION, "SDK Version:"}, { INFO_MANUFACTURER_TEXT, "Manufacturer:" }, { INFO_COUNTRY_TEXT, "Country:"}, { INFO_CRC1_TEXT, "CRC1:"}, { INFO_CRC2_TEXT, "CRC2:"}, { INFO_CIC_CHIP_TEXT, "CIC Chip:"}, /********************************************************************************* * Cheats * *********************************************************************************/ //Cheat List { CHEAT_TITLE, "Cheats"}, { CHEAT_LIST_FRAME, "Cheats:"}, { CHEAT_NOTES_FRAME, " Notes: "}, { CHEAT_MARK_ALL, "Mark All"}, { CHEAT_MARK_NONE, "Unmark All"}, //Add Cheat { CHEAT_ADDCHEAT_FRAME, "Add Cheat"}, { CHEAT_ADDCHEAT_NAME, "Name:"}, { CHEAT_ADDCHEAT_CODE, "Code:"}, { CHEAT_ADDCHEAT_INSERT, "Insert"}, { CHEAT_ADDCHEAT_CLEAR, "Clear"}, { CHEAT_ADDCHEAT_NOTES, " Cheat Notes: "}, { CHEAT_ADD_TO_DB, "Add to DB"}, { CHEAT_ADDCHEAT_ADD, "Add Cheat"}, { CHEAT_ADDCHEAT_NEW, "New Cheat"}, { CHEAT_ADDCHEAT_CODEDES,"
"}, { CHEAT_ADDCHEAT_OPT, "Options:"}, { CHEAT_ADDCHEAT_OPTDES, "