AndywinXp
b96e01d72a
CREDITS: Update SCUMM and add BAGEL
2024-06-30 20:25:39 +02:00
Benjamin Funke
a65a19ac8c
GOB: Copy protection flag cleanup
2024-06-30 20:43:32 +03:00
Cameron Cawley
441b02d057
DETECTION: Use uint32 for ADGameFileDescription file size
2024-06-30 19:13:41 +02:00
ScummVM-Translations
b346673908
I18N: Update translation files
...
Updated by "Update PO files to match POT (msgmerge)" hook in Weblate.
Translation: ScummVM/scummvm
Translate-URL: https://translations.scummvm.org/projects/scummvm/scummvm/
2024-06-30 16:52:12 +00:00
athrxx
728153ec62
SCI: get rid of EGA driver implementation
...
This is more or less a leftover from the beginnings of my work on the
CGA and Hercules modes. The EGA driver implementation does
nothing except forward the data, so it can just run on the default.
Also remove an unnecessary buffer.
2024-06-30 19:51:49 +03:00
athrxx
e903472e61
SCI: fix CGA b/w and Hercules transitions
...
The engine makes use of OSystem::fillScreen() for the transitions.
I have implemented scaled variants for CGA b/w and Hercules.
2024-06-30 19:51:49 +03:00
ScummVM-Translations
9570671973
I18N: Update translations templates
2024-06-30 16:39:26 +00:00
ScummVM-Translations
705d203080
I18N: Update translation files
...
Updated by "Update PO files to match POT (msgmerge)" hook in Weblate.
Translation: ScummVM/scummvm
Translate-URL: https://translations.scummvm.org/projects/scummvm/scummvm/
2024-06-30 16:39:24 +00:00
Le Philousophe
09729ac9de
PLUGINS: Use override keyword
...
This silences a clang warning
2024-06-30 18:39:06 +02:00
Le Philousophe
d0e0ff60c5
GUI: Don't list available engines if this is too slow
2024-06-30 18:39:06 +02:00
Le Philousophe
34108724ed
ENGINES: Factorize sizing and writing functions for dynamic descriptions
2024-06-30 18:39:06 +02:00
Le Philousophe
ca2c49476f
GUI: Avoid engine plugin unload while creating AboutDialog
...
When in game, don't list engines if the PluginManagerUncached is used.
If the detection is built as a separate plugin, nothing is listed but
that's better than crashing.
2024-06-30 18:39:06 +02:00
Le Philousophe
a4fb9d6145
PLUGINS: Unload engine plugins while loading detection
...
This makes sure that the engine is never loaded while having the
detection.
The opposite is not (yet?) enforced to avoid crashing some unhandled
case.
2024-06-30 18:39:06 +02:00
Le Philousophe
b07a9388a4
ENGINES: Remove now useless Engine::getMetaEngineDetection
...
This function assumes that the detection plugin is loaded alongside the
engine plugin.
2024-06-30 18:39:06 +02:00
Le Philousophe
5169a395a5
PLUGINS: Remove now useless functions
...
These functions heavily rely on the fact that detection plugin and
engine plugin can be loaded at the same time.
2024-06-30 18:39:06 +02:00
Le Philousophe
07daa6c225
ENGINES: Simplify EngineManager::findTarget
...
Do not make it return the detection plugin. It's never used anymore and
tends to imply that detection plugin can be used alongside the engine
plugin.
2024-06-30 18:39:06 +02:00
Le Philousophe
a92dab8a8c
BASE: Unload detection plugin before running game
2024-06-30 18:39:06 +02:00
Le Philousophe
310063af6c
WINTERMUTE: Simplify engine plugin search
2024-06-30 18:39:06 +02:00
Le Philousophe
21bd468b9a
SCI: Simplify engine plugin search
2024-06-30 18:39:06 +02:00
Le Philousophe
bef5e4e0a5
GUI: Make EventRecorder not use detection to find engine plugin
...
This has not been tested though as the event manager seems broken on
these parts.
2024-06-30 18:39:06 +02:00
Le Philousophe
a835803695
GUI: Make engine options not depend on detection plugin
...
Load back detection plugin when closing and make sure nothing needs
engine plugin anymore before.
2024-06-30 18:39:06 +02:00
Le Philousophe
16e72ad181
GUI: Make listing saves not depend on detection
...
And unload detection before loading engine.
2024-06-30 18:39:06 +02:00
Le Philousophe
1c1667bf68
GUI: Fix listing of available engines when using uncached plugins
...
Also avoids loading detection while iterating over engines
2024-06-30 18:39:06 +02:00
Le Philousophe
d01827b509
GUI: Make auto saves update check work with PluginManagerUncached
...
This also unloads detection before loading the engines.
2024-06-30 18:39:06 +02:00
Le Philousophe
885208e8f2
BASE: Split listSaves in two parts
...
First get all the games using the detection plugins.
Then, list all the saves by loading all engines.
2024-06-30 18:39:06 +02:00
Le Philousophe
a1193a02eb
PLUGINS: Make findEnginePlugin publicly available
...
This will allow to remove getEngineFromDetectionPlugin which needs both
plugins loaded at the same time.
2024-06-30 18:39:06 +02:00
Le Philousophe
05a62249a9
PLUGINS: hide unloadAllPlugins from outside of PluginManager
...
This function will delete all plugins even those also stored in
_allEnginePlugins list which triggers a double free when cleaning up.
2024-06-30 18:39:06 +02:00
Le Philousophe
55ac8ba07f
PLUGINS: Remove default value for EngineMan::getPlugins argument
...
This is now obvious of which type is the list of plugins returned.
2024-06-30 18:39:06 +02:00
Le Philousophe
2575cdacff
PLUGINS: Cleanup when destroying PluginManagerUncached
...
This removes memory leaks when destroying the manager.
2024-06-30 18:39:06 +02:00
Le Philousophe
93b10df84a
PLUGINS: Rework (un)loading of detection plugin
...
Make the function more readable and avoid leaking memory when plugin is
loaded twice.
2024-06-30 18:39:06 +02:00
Le Philousophe
c9d701884b
PLUGINS: Reset pointer after deletion
...
This avoids error on double unload.
2024-06-30 18:39:06 +02:00
Le Philousophe
ebdcf6ccd6
ENGINES: Mark getName() functions as overrides
...
They do override PluginObject::getName().
This is more readable that calling this method is the same as calling it
on PluginObject.
2024-06-30 18:39:06 +02:00
Le Philousophe
c93f53b491
PLUGINS: Rename getEngineFromMetaEngine to getEngineFromDetectionPlugin
...
Update comments and variable names accordingly.
This now matches what this function really do.
2024-06-30 18:39:06 +02:00
Le Philousophe
5ded4aedec
PLUGINS: Don't call plugin->getType repeatedly
2024-06-30 18:39:06 +02:00
Le Philousophe
2645b1431c
PLUGINS: Rename findPlugin to findDetectionPlugin
...
This function does return a MetaEngineDetection plugin
2024-06-30 18:39:06 +02:00
Le Philousophe
ab4d6db36b
GLK: Split detection from running
...
This allows to not use the detection plugin while running the engine.
2024-06-30 18:39:06 +02:00
Le Philousophe
37de547ec1
ENGINES: Make AdvancedMetaEngine use ADDynamicGameDescription
...
This will allow to unload AdvancedMetaEngineDetection plugin as
soon as identifyGame is done and before loading the AdvancedMetaEngine.
2024-06-30 18:39:06 +02:00
Le Philousophe
7e0048b4a3
ENGINES: Add ADDynamicGameDescription class
...
This class manages a buffer where all data usually stored in detection
plugin will get copied before unloading the plugin and starting the
game.
This class expects that two functions are present in every
GameDescription: sizeBuffer which calculates how many bytes we will need
to store the entry in RAM and toBuffer which copies the data in the
buffer and fix the pointers in the class.
At the end, it is expected that an ADDynamicGameDescription doesn't
depend anymore on data stored in the detection plugin.
The AD_GAME_DESCRIPTION_HELPERS macro allow to implement these functions
in all GameDescription which don't have any pointer except those in
ADGameDescription.
2024-06-30 18:39:06 +02:00
Le Philousophe
a7d0db4947
ENGINES: Let MetaEngine delete the engine
...
This will allow to cleanup other data managed by the MetaEngine (game
descriptors).
2024-06-30 18:39:06 +02:00
Le Philousophe
b61bd3ff85
ENGINES: Create a type aware advanced meta engine
2024-06-30 18:39:06 +02:00
Le Philousophe
90b886097f
ENGINES: Create a type aware advanced detector
2024-06-30 18:39:06 +02:00
Le Philousophe
98d6f155d2
ENGINES: Split Engine::createInstance in two
...
This brings a cleaner separation between AdvancedMetaEngineDetection and
AdvancedMetaEngine.
2024-06-30 18:39:06 +02:00
ScummVM-Translations
449ce8be93
I18N: Update translations templates
2024-06-30 16:01:46 +00:00
Torbjörn Andersson
370dbd5c6f
SCUMM: Change prefix of game-specific options from GUIO_ to GAMEOPTION_
...
This is consistent with how the other engines do it, and help make them
stand out from the generic GUIO_ options.
2024-06-30 18:01:32 +02:00
Torbjörn Andersson
7ce9f05588
GOB: Add "Enable copy protection" engine checkbox
...
I only have a fraction of these (I wouldn't even recognize Adibou if I
saw it!) so I've just made the assumption that the copy protection for
Gobliiins 1, Gobliins 2, and Adibou 1 apply to all floppy versions and
none of the CD versions.
I've never seen the copy protection screen in my GOG floppy version of
Gobliiins 1 though. Also, the GOG floppy version of Goblins 3 shows a
copy protection screen, but apparently that's bypassed somehow without
checking the "copy_protection" setting?
2024-06-30 18:01:32 +02:00
Torbjörn Andersson
d344800805
MADS: Add GAMEOPTION_TTS_NARRATOR to the entry that was missing it
...
I don't know if it should also be on the demo, but either way it's less
important there.
2024-06-30 18:01:32 +02:00
Torbjörn Andersson
2a9f7759a3
SAGA: Only enable copy protection checkbox for floppy ITE
...
And the one CD version that "behaves like a DOS floppy version". Note
that I don't own any of these myself.
2024-06-30 18:01:32 +02:00
Torbjörn Andersson
c2241ee197
MM: XEEN: Add "Enable copy protection" engine checkbox
...
I assume this should apply to all Xeen games, but I don't know for sure.
2024-06-30 18:01:32 +02:00
Torbjörn Andersson
a80c167641
DREAMWEB: Add "Enable copy protection" engine checkbox
2024-06-30 18:01:32 +02:00
Torbjörn Andersson
28bfd6e977
AGOS: Add "Enable copy protection" engine checkbox
...
I don't have the floppy version of Simon 2, and I'm uncertain of the
actual effect of failing the copy protection in Waxworks and Simon 1.
But they are at the very least partly implemented.
2024-06-30 18:01:32 +02:00