#Warn #NoEnv ConfigFilename := "MassEffectLauncher.ini" ; Load saved language choices from the config file SetWorkingDir % A_ScriptDir IniRead, LangChoice, %ConfigFilename%, Language, Lang, English IniRead, EnglishVOChoice, %ConfigFilename%, Language, EnglishVO, 0 ; Determine starting index of the language selector GUI LangIndices := {"English": 1, "French": 2, "German": 3, "Spanish": 4, "Italian": 5, "Russian": 6, "Polish": 7, "Japanese": 8} if (not LangIndex := LangIndices[LangChoice]) { LangIndex := 1 } ; Determine whether the English VO checkbox GUI is to be started checked EnglishVOChecked := EnglishVOChoice ? "Checked" : "" ; Subtitle font size: Small = 16; Medium = 20; Large = 24 Commandline := " -NoHomeDir -SeekFreeLoadingPCConsole -locale {locale} -Subtitles 20" CommandlineOverrideLang := " -OVERRIDELANGUAGE=" ; Used by ME1 and ME2 CommandlineLang := " -language=" ; Used by ME3 Gui, Add, Button, w200 h50 gME1, Mass Effect 1 Gui, Add, Button, w200 h50 gME2, Mass Effect 2 Gui, Add, Button, w200 h50 gME3, Mass Effect 3 Gui, Add, Text, w200 0x10 Gui, Add, DropDownList, yp8 w115 vLangChoice Choose%LangIndex% Section, English|French|German|Spanish|Italian|Russian|Polish|Japanese Gui, Add, CheckBox, ys+4 vEnglishVOChoice %EnglishVOChecked%, English VO Gui, Show,, MELo v2.1 Return ME1: Gui, Submit Gosub, SaveConfig Gosub, Set%LangChoice% SetWorkingDir % A_ScriptDir . "\..\ME1\Binaries\Win64" RunWait % A_ScriptDir . "\..\ME1\Binaries\Win64\MassEffect1.exe" . Commandline . CommandlineOverrideLang . ME1Lang Gui, Show Return ME2: Gui, Submit Gosub, SaveConfig Gosub, Set%LangChoice% SetWorkingDir % A_ScriptDir . "\..\ME2\Binaries\Win64" RunWait % A_ScriptDir . "\..\ME2\Binaries\Win64\MassEffect2.exe" . Commandline . CommandlineOverrideLang . ME2Lang Gui, Show Return ME3: Gui, Submit Gosub, SaveConfig Gosub, Set%LangChoice% SetWorkingDir % A_ScriptDir . "\..\ME3\Binaries\Win64" RunWait % A_ScriptDir . "\..\ME3\Binaries\Win64\MassEffect3.exe" . Commandline . CommandlineLang . ME3Lang Gui, Show Return SetEnglish: ME1Lang := "INT" ME2Lang := "INT" ME3Lang := "INT" Return SetFrench: ME1Lang := EnglishVOChoice ? "FE" : "FR" ME2Lang := EnglishVOChoice ? "FRE" : "FRA" ME3Lang := EnglishVOChoice ? "FRE" : "FRA" Return SetGerman: ME1Lang := EnglishVOChoice ? "GE" : "DE" ME2Lang := EnglishVOChoice ? "DEE" : "DEU" ME3Lang := EnglishVOChoice ? "DEE" : "DEU" Return SetSpanish: ME1Lang := "ES" ME2Lang := "ESN" ME3Lang := "ESN" Return SetItalian: ME1Lang := EnglishVOChoice ? "IE" : "IT" ME2Lang := EnglishVOChoice ? "ITE" : "ITA" ME3Lang := EnglishVOChoice ? "ITE" : "ITA" Return SetRussian: ME1Lang := EnglishVOChoice ? "RU" : "RA" ME2Lang := "RUS" ME3Lang := "RUS" Return SetPolish: ME1Lang := EnglishVOChoice ? "PL" : "PLPC" ME2Lang := EnglishVOChoice ? "POE" : "POL" ME3Lang := "POL" Return SetJapanese: ME1Lang := "JA" ME2Lang := "JPN" ME3Lang := "JPN" Return SaveConfig: SetWorkingDir % A_ScriptDir IniWrite, %LangChoice%, %ConfigFilename%, Language, Lang IniWrite, %EnglishVOChoice%, %ConfigFilename%, Language, EnglishVO Return GuiClose: Gui, Submit, NoHide Gosub, SaveConfig ExitApp