The layout is not good and needs more work. I haven't
yet understood how the theme layout code has to be used.
I commit this nonetheless, since it is the only way to access
the music quality settings for MI1.
There was discussion a while back about how people may want to enable
some of the SCUMM enhancements, but not all since some of them affect
gameplay beyond simple bugfixing. This is an initial attempt at the GUI
part of it. The details are very much still up for discussion.
We currently have two widget types for sliders: "Slider" and
"WideSlider". This eliminates the latter, making all sliders use the
available space. This arguably makes them look better, and should make
them easier to manipulate on touch devices like phones.
Did I say "all"? Not quite. In the high resolution layout, the volume
sliders share space with the "Mute all" checkbox. The layout engine does
not cope well with two side-by-side layouts of indeterminate width,
apparently, so there we set a width, cross our fingers and hope that the
checkbox will still have enough space in all translations.
Before the original SCUMM GUI and menus were implemented in ScummVM,
opening the F5 menu when playing DOTT would give localized strings to
(almost) any player.
Now that we can display the original F5 menu, a language accessibility
regression shows up, in that the original CD release of DOTT just
harcoded some of the menu strings in English (such as "Display Text",
"SFX", and so on).
This was fixed in Sam & Max CD (which uses the same menu but with
different colors) and all later games, so it appears to be fair to
bring the official Sam & Max menu translations to DOTT, as an
enhancement.
The seven-year-old me playing DOTT would have been happy to understand
what those settings meant, back then :)
Trac#13947.
Add the "use original gui" checkbox to the custom Loom EGA/VGA
and Monkey 1 CD version game options window.
Also slightly change to layout for consistency with
the other games.
This replaces every single strcpy call in the engine with
Common::strlcpy.
Some of these might cases seem a bit pointless, but it is
supposed to discourage future use of strcpy. If people don't
see a single occasion of it they might think twice before they
use it...
I have added the French strings provided by dwa and made
a little decoder that transfers the character to cp850 if
needed.
This way we can support both original pause/restart/quit
dialogs and the ones that we currently have.
The recent PR 4204 made me aware of some things I had kind of tried to ignore when I updated these dialogs for CJK font support.
Currently, the language for the pause/restart/quit messages is tied to the GUI/launcher language and the translation manager is used to translate the. E. g., if you start the French version of MM or ZAK and have a launcher language setting of English, you will get the English pause/restart/quit messages. If you set the launcher language to French you will get it the French ones. Also, the encodings from the translation manager aren't compatible with the game string encodings (mostly solved by PR 4204, though).
This commit now gets rid of any translation manager use here. Instead, we tie the translations for these messages to the game language.
I have included all strings for the v1/v2 language variants I found in the detection table.
I am interested in having the exact original messages here. However, I have only inserted them from the English interpreters, since those are all I have. For the other languages, for the time being, I have just used the texts from the translation manager and reencoded those with codepage 850. So, if anyone has access to an original v1/v2 interpreter in French, Italian, German, Spanish, Russian or Swedish, he/she might want to extract and replace the strings here with the correct ones...
The tracks built for the SE Talkie already have little to no silence at
the beginning, and the outlook has its own separate track instead of a
continuation of the first one.
That means the settings are of limited use here, and removing them
simplifies the code.