The autosave refactoring that was done in
7adad5aaf5831dc5adcee140f38aacc4a5db2518 used g_engine for identifying the
autosave slot. This worked for in-game save/load, but doesn't fit when
called from the launcher.
Fix by passing MetaEngine to SaveStateDescriptor ctor and using it for this
query.
Amends 7adad5aaf5831dc5adcee140f38aacc4a5db2518.
This employs a "lazy" approach: the "format" for the credits stays
exactly as it was, i.e., perl code. Of course one may want to change
this to another format (e.g. YAML, JSON, XML; or also shell script or
AWK, like `configure.engine` uses). But I deliberately kept it simple,
to get a minimal change that is easy to verify. Any further changes to
e.g. the format can be layered atop this.
The game was crashing if the help dialog was shown before the Intro.
This happened because of an out of bounds rectangle and affected both
the English and Spanish versions.
It seems like this was never reported as a bug, but I just happened to
find when doing some testing of the game dialogs.
The story with Ringworld Spanish is the same as Blue Force Spanish.
It was originally released on Floppy, and the CD version is just the
installed Floppy version put onto CD. But it does not contain any audio
tracks at all, and is best handled as Floppy.
Text was extracted from the Spanish RING.EXE using a hex editor.
These include the options menu, dialogs, and inventory items.
Now the game plays fully in Spanish, like the original version.
Note that some menu options were originally translated in different
ways for Ringworld and Blue Force (e.g. Save -> Salvar/Guardar).
The messages were taken from a hexdump of BLUE.EXE
With these changes, the ScummVM version runs exactly like the original
Spanish version, including the intro, the in-game menus, the dialogs and
the map locations.
Changes done to the engine preserve the original behaviour of the
English version.
The Spanish version by Erbe Software originally came out on floppies.
It was released on CD later, but the content was the same as the floppy
version.
The game version was 1.11 (same as the last known English version)
so there were no changes made to the engine and there was no reason
why it should not work wth the English ScummVM engine.
The engine was crashing with the Spanish version because it was handled
as the English CD version, which has a different file structure.
If handled as the Floppy version, all is fine.
For each engine:
- Make a new folder detection
- Move detection-related files inside the folder
- Add a new module "enginename/detection"
- Add DETECT_OBJS here
- Adjust the normal engine module to remove detect_objs
- Adjust every file for the new changes.
Up until last commit, everything was working fine but the amount of files changed was too large. This commit tries to reduce the changes.
- Add a fake constructor to Keymap, text-to-speech, setDescription (save-state)
- Redirecting functions for PopUpWidget::appendEntry, ButtonWidget::setLabel, GUIErrorMessage
- Use the above functions and constructors to reduce changes in Engines
- Fix warnings being in unicode. Only output english text in - Warnings, Errors, etc.
- Mark some strings as "translation" strings. (Not yet added to POTFILES)
- Remove some CP related things from po/modules.mk
- Previously used some Common::convertToU32 where it was not necessary, replace this with u32constructor
- Where necessary as in, where translated messages are used.
- GUIErrorMessage now takes in U32String
- error messages across some engines use U32Strings. they are changed because they show a message dialog.