410 Commits

Author SHA1 Message Date
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
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
d4242bf32a DRAGONS: Migrate engine to Path 2023-12-24 13:19:25 +01:00
Eugene Sandulenko
ec2dd2726b ENGINES: Added optional parameter to canSave/LoadGameStateCurrently() for indicating the reason 2023-12-08 12:21:16 +01:00
Eugene Sandulenko
71b3ba59ee
DRAGONS: Added workaround for crash in German release. Bug #13925 2023-11-25 19:46:35 -08:00
sluicebox
e810d90a7f DRAGONS: Delete array instead of object. PVS-Studio V611 2023-10-31 14:20:25 -07:00
D G Turner
24163511b0 DRAGONS: Fix Unused Variable GCC Compiler Warning 2023-07-09 02:58:38 +01:00
elasota
08a22eae79 DRAGONS: Fix negation of unsigned integer warning (0x8000000 is out of range for signed int) 2023-07-08 22:02:00 +03:00
Donovan Watteau
605a184e6b DRAGONS: Print less noisy debug output by default 2023-05-22 23:12:07 +01:00
Walter Agazzi
c6e2cfb6e6 DRAGONS: Convert uint texts to standard char
Also update AddAsciiText method to support special characters
2023-03-05 01:25:04 +01:00
Walter Agazzi
c07bbf1a5a DRAGONS: Add blank line to GBR copyright 2023-03-05 01:25:04 +01:00
Walter Agazzi
aae59da8e8 DRAGONS: Fix alignment of French main menu 2023-03-05 01:25:04 +01:00
Walter Agazzi
4c59e2c23a DRAGONS: Add localized main menu 2023-03-05 01:25:04 +01:00
Walter Agazzi
125468533e DRAGONS: Fix copyright blank lines to match original 2023-03-05 01:25:04 +01:00
Walter Agazzi
fc4fdd4de1 DRAGONS: Hide "previews" menuitem on non-US releases 2023-03-05 01:25:04 +01:00
Walter Agazzi
e096f5ef39 DRAGONS: Add GRB copyright text 2023-03-05 01:25:04 +01:00
Walter Agazzi
2efc7fb55e DRAGONS: Add localized copyright for DE/FR 2023-03-05 01:25:04 +01:00
Walter Agazzi
6f7404151d DRAGONS: Convert copyright screen to uint16 2023-03-05 01:25:04 +01:00
D G Turner
b7831c7755 DRAGONS: Fix Format Truncation GCC Compiler Warnings 2023-02-14 23:48:06 +00:00
Walter Agazzi
1831433665 DRAGONS: Open GMM when choosing options
Open GMM when choosing "options" in the main menu, instead of
 bouncing back the selection
2022-12-01 11:59:48 +01:00
Donovan Watteau
baea7a3adc DRAGONS: Fix MSVC C4309 enum sign warning 2022-11-29 01:37:55 +01:00
Le Philousophe
fcda5809b8 DRAGONS: Don't use unsafe sprintf and vsprintf 2022-10-23 22:46:19 +02:00
antoniou79
adc0861c0a DRAGONS: Fix depracted url for data files and put url in a const char var 2022-08-21 18:39:30 +03:00
Cameron Cawley
f3b094e53f ENGINES: Change the MetaEngineDetection interface to match MetaEngine 2022-07-23 23:31:58 +02:00
Filippos Karapetis
ec16ebbf96 Revert "SCUMM: Refactor the workaround for the broken sample in Indy4"
This reverts commit c59df76164573928d189503a93e10e87b3b7b590.
2022-04-16 14:25:51 +03:00
Filippos Karapetis
c59df76164 SCUMM: Refactor the workaround for the broken sample in Indy4
This makes the workaround code more self-contained
2022-04-16 14:23:02 +03:00
Eugene Sandulenko
abea37c9bb
ALL: Update ScummVM project license to GPLv3+ 2021-12-26 18:48:43 +01:00
Orgad Shaneh
9937cc49bb DRAGONS: Use nullptr
Using clang-tidy modernize-use-nullptr
2021-11-14 15:51:59 +02:00
Orgad Shaneh
ee57380de7 ENGINES: JANITORIAL: Remove 'virtual' when override is specified 2021-11-14 14:32:04 +02:00
Orgad Shaneh
78ef6203de ENGINES: Fix getSavegameFile for almost all engines
Use kSimpleSavesNames correctly, add where needed, remove where needed.

Trac #12977
2021-11-10 21:49:48 +00:00
Orgad Shaneh
fe104cc337 ENGINES: Use MetaEngine consistently for getting autosave slot
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.
2021-10-24 16:46:06 +02:00
Orgad Shaneh
7adad5aaf5 ENGINES: Streamline auto-save write/delete protection
Some engines call setAutosave and some don't. isAutosave is used to
determine if a saved game is an autosave, but in fact, on most cases it
just falls back to comparing the name to "Autosave".

This is wrong for several reasons:
* Older versions of ScummVM used Autosave 0.
* The name "Autosave" is translated, so if you change the language, it
  won't be detected.

Instead of relying on the name, use the well-known getAutosaveSlot() from
Engine/MetaEngine.

Fixes #12735.
2021-08-23 13:34:35 +02:00
Max Horn
2f1f8f502e DEVTOOLS: move credits from devtools/credits.pl to engines
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.
2021-08-05 00:01:46 +02:00
Donovan Watteau
77cad3b5d6 DRAGONS: More visual fixes for big-endian systems
Fix text and shadows so that graphics are now nearly the same between
little-endian and big-endian systems.

See https://bugs.scummvm.org/ticket/11710.
2021-04-27 04:01:44 +01:00
Cameron Cawley
ef0048fa77 COMMON: Add standard actions for mouse button clicks 2021-04-06 11:15:42 +03:00
Orgad Shaneh
e97fe996f2 DRAGONS: Fix format warning on MinGW64
pointer and long are not equivalent. Cast to int.
2021-03-24 22:56:01 +02:00
Donovan Watteau
b40541d0fb DRAGONS: Incomplete attempt at improving big-endian compatibility
It seems that screen content must be written in native endianness
here, not in little-endian.

This appears to fix most scenes, cutscenes, and the bag.

Shadows, menus, and text are still wrong. Audio hasn't been tested
yet.

See https://bugs.scummvm.org/ticket/11710.
2021-03-17 01:10:52 +02:00
Orgad Shaneh
cb7c6fb83e DRAGONS: Remove unused private member
Reported by Clang.
2021-03-16 02:44:37 +02:00
SupSuper
70dc08f46e JANITORIAL: Cleanup inconsistent includes 2021-02-22 10:54:07 +00:00
Cameron Cawley
4ced49acd4 ENGINES: Changed AdvancedMetaEngine::createInstance to return a Common::Error 2020-12-04 20:57:14 +00:00
Eugene Sandulenko
10793ed9fa DRAGONS: Use AD_ENTRY2s in the detection table 2020-11-28 14:06:41 +01:00
Eugene Sandulenko
5936026209 ALL: Clarify POTFILES, remove redundant common/translations.h includes 2020-11-10 03:03:49 +01:00
Fiodar Stryzhniou
6a7340f744 SYMBIAN: sync with 2.2.0 release.
Added new project files, build fixes.
2020-10-16 17:06:05 +02:00
Eugene Sandulenko
366a5f479d DRAGONS: Added override keyword 2020-10-14 19:39:46 +02:00
Eugene Sandulenko
7ff34bc9ec PLUGINS: MetaEngineStatic -> MetaEngineDetection 2020-10-11 23:14:39 +02:00
Eugene Sandulenko
7ea6781043 PLUGINS: PLUGIN_TYPE_METAENGINE -> PLUGIN_TYPE_ENGINE_DETECTION 2020-10-11 23:12:32 +02:00
aryanrawlani28
d26bbe521c ENGINES: ALL: Finish renaming ME & AME classes
- ME -> MetaEngineStatic (static parts)
- MEC -> MetaEngine (dynamic parts)
2020-10-03 14:56:36 +02:00
aryanrawlani28
a56dc094b9 ENGINES: ALL: Move detection_enums -> detection.h
- Cleans up headers quite a bit.
2020-10-03 14:56:36 +02:00
aryanrawlani28
29ceb07959 ENGINES: ALL: Revert detection submodule to be directly present in the engine directory
- DETECT_OBJS are present and added inside an engine's modules.mk file.
2020-10-03 14:56:36 +02:00