Thanks! The language fix removes a weight from my shoulders.
This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.
Show posts MenuQuote from: Crimson Wizard on Wed 27/05/2020 13:44:51
Do I understand correctly that there's no engine sources, and the engine is available as a compiled executable that can run game data, such as this "Delores" source?
Quote from: Khris on Wed 27/05/2020 10:34:40
For react-native there's Expo: https://docs.expo.io/distribution/app-signing/
Quote from: Crimson Wizard on Sat 23/05/2020 00:04:54Cool, thanks.
It did not come with Ubuntu when I installed it on VM, but it was as easy to install as "sudo apt-get install curl".
Quote from: Crimson Wizard on Tue 26/05/2020 13:51:47Quote from: Monsieur OUXX on Tue 26/05/2020 13:43:43
It knows the .exe but it doesn't know which .cfg and which .tra to use. Or at least I thought so.
I can't understand what do you mean. How would it work if it did not know which cfg to use...
(X) I want to run the game in full screen ( ) I want to run the game in a window |
What is the thing you dislike the most? ( ) I don't like black borders around the game I want the game to be displayed on the entirety of my screen, even if it makes it slightly blurry (X) I don't like bluriness I want the game to be as sharp as possible, even if it means small black borders around the game |
We have calculated that the ideal enlargement factor for your game is 3x. Do you agree with this? (X) Yes, please run the game as big as possible This will apply the 3x scaling factor ( ) No, please stay moderate This will apply the 2x scaling factor. The game will use about 1/4 of your screen. ( ) No, I don't want any enlargement at all. This will apply the 1x scaling factor. Your game might appear very small on a screen with a high resolution. |
Quote from: Crimson Wizard on Mon 25/05/2020 15:04:47It knows the .exe but it doesn't know which .cfg and which .tra to use. Or at least I thought so.Quote from: Monsieur OUXX on Mon 25/05/2020 14:25:55
A more general fix would be for winsetup to know what exe it targets, what .cfg file it uses,...
But it does know that.
Quote from: Crimson Wizard on Mon 25/05/2020 15:04:47It's good! But it becomes bad if it gets confused with the settings (again: because it can't tell which .tra files are meant for it and just displays all of them).
Not sure I understand this, are you saying that generic winsetup is good or bad?
Quote from: Cassiebsg on Mon 25/05/2020 19:26:00The only reason we do that is because of this issue with the translations. Cassiebsg you didn't see that but that's already how it worked in Relic of the Viking 1.0 : All the translations (both for the parent game and the embedded game) appear in the list, that's an issue.
I don't like the "we forbid the access to winsetup.exe" option...That's the first thing I run in any AGS game! And I will not play any game that doesn't provide it.
Quote from: Monsieur OUXX on Mon 25/05/2020 12:18:45
This means there's a mistake in winsetup that should be fixed: it should test whether TRA belongs to the current game.
Quote from: Crimson Wizard on Mon 25/05/2020 11:16:37Well that's what I was hoping and that's the scenario I indentified as the only one that could possible work. I wasn't hoping for more.
Default translation ("") works simply because there's "default" in any game.
Quote from: Crimson Wizard on Mon 25/05/2020 11:16:37I think that you're entering a dangerous realm here; Indeed the language setting should be even more restrictive, but do we really want that? It increases the risk of you making a mistake on engine-development end, and the risk of the game maker making a mistake on their end.
But this means that neither ChangeTranslation neither config from game B should be applied for game A at all. What's the point if you must run ChangeTranslation("") before RunAGSGame to simply make it run? Perhaps, better make RunAGSGame reset translation to default on its own?
How translation setting is supposed to work anyway in case there are two games bundled together? I'd rather find old developers who used RunAGSGame earlier to know what was the expected behavior in this case.
Quote
Solution for a normal game (no "RunAGSGame") :
- Make the end-user use winsetup.exe if they know about it
=> If they don't, then at first startup "game default" is selected
=> If they do, then at first startup the language is the one they selected
- When the game quits the language hasn't changed and remains the same in acsetup.cfg until next startup
Quote
Solution for a normal game (no "RunAGSGame") that lets the payer choose the language in-game :
- in game_start, the game tests the value of the current translation. If it's "" it means that the player didn't explicitly pick a language.
- Depending on that value and how much we want the player to choose, then :
=> No matter what the player has selected in winsetup.exe, the game immediately does a Game.ChangeTranslation("") at startup
=> The game displays a custom GUI asking to pick a language
=> If the user picks English, then we do Game.ChangeTranslation("English") to be able to tell the difference with "".
Note: One extra benefit of having an explicit "English" .tra file is that the Tumbleweed and 9verb modules rely on a GUI_LANGUAGE entry that must be translated to "en" in English.tra.
- When the game quits the language is remembered in acsetup.cfg until next startup, so we can decide not to display the languageselection GUI at next startup
Quote
Solution for a game containing another game (uses "RunAGSGame"):
- we forbid the access to winsetup.exe. A game that starts for the first time with something else than "game default" is considered corrupt.
The reason for that is that winsetup.exe displays the list of .TRA files for both games. If the parent game has "English" and the child game has "EN", then you will see both in the list.
If the player is a smart arse and tries to force-pick a .TRA entry belonging to the child game, then the game will crash at startup anyways (built-in AGS engine check).
- As an extra safety, we do Game.ChangeTranslation("") in game_start but I'm not even sure that's needed.
- in game_start, the game reads the value of the language in a custom .ini file.
=> If the value does not exist or is not recognized as a correct value for the parent game, then the game displays the "select language" custom GUI
=> We update that value in the .ini file
=> We go Game.ChangeTranslation based on that value.
- Just before calling RunAGSGame, we do Game.ChangeTranslation(""). Thanks to your patch, the child game knows to start with "" and doesn't get confused with the parent's .TRA files.
=> For convenience, in the child game we display the custom language seection screen every time, but we could totally save it into a .ini file too.
- When any of these games exit, then some value is saved in acsetup.cfg
=> I don't care what the value is because the mechanisms described above help me work around it.
Quote from: Crimson Wizard on Sun 24/05/2020 23:54:19
Here's the patched engine: https://www.dropbox.com/s/yyxbt7h2x97460p/acwin-3.5.0-p3--runagsgame-trs.zip?dl=1
Please tell if it works for you now.
Quote from: Crimson Wizard on Sun 24/05/2020 15:31:38
I am not sure I understand how does not it find "whatever.tra" if it lies in same folder.
Quote from: Crimson Wizard on Sun 24/05/2020 15:31:38Yes but it means that game1 reads which language it should boot with from acsetup.cfg. And that's problematic because:
ChangeTranslation was called in game2, but then game1 does its own initialization at startup.
By continuing to use this site you agree to the use of cookies. Please visit this page to see exactly how we use these.
Page created in 0.215 seconds with 16 queries.