AGS 3.4.1 Patch 1
Short version : How to run an embedded AGS game, when the parent and the child don't necessarily have the same languages (apart from English) ?Imagine this :
- You have an AGS game that you compile into a .EXE game.
- That game has two translations : "English" and "German". They appear as .TRA files alongside the .EXE file.
- You have another game that you compile into a .AGS file, and that you then place into the folder of the .EXE file
- That second game has two translations: "English" and "ITA". You put ITA.TRA in the same folder as all other files (.EXE, .AGS, .TRA) and you don't care about English.TRA (As there's also a file named English.TRA that belongs to the first game). The game's default language is English anyway.
Your goal :
- You run the setup program of the first game and select language "German", then "Save and run".
- You prepare the call to the child game by doing Game.ChangeTranslation("English") -- so that the child game starts with a translation that is shared by both
- You do RunGame("secondgame.ags")
- Inside of the child game you do Game.ChangeTranslation("ITA")
On the paper I thought this would work.
But when I try, this happens :
- Game.ChangeTranslation("English") works (returns true)
- RunGame("secondgame.ags") works
- But then I have an error message telling me that seconggame doesn't support "German". I don't understand why it complains as I forced it to start with "English"?
What am I doing wrong? Is there a better practice?I'm trying to keep manual maintenance to a minimum, that's why I don't merge the translation files of the first and second game (apart from English).