Commit graph

292 commits

Author SHA1 Message Date
Filippos Karapetis
1cfa228906 ENGINES: Use pointers when deleting inside range loops 2025-03-27 13:47:57 +08:00
Filippos Karapetis
27bb882eb2 ILLUSIONS: Use C++ 11 range-based for loops 2025-03-27 13:47:57 +08:00
Eugene Sandulenko
879eba5c32
CONFIGURE: Replace mt32emu component with 'midi'
This component disables all MIDI-related things when unused,
including MT-32 emulator, Fluidsynth, TiMidity and Sonivox
2024-12-26 22:54:56 +01:00
Eugene Sandulenko
d780708c96 ENGINES: Add mt32emu as a feature and component
Add it to engines that have MIDI playback.

This essentially compiles the emulator only when an engine that
can potentially use it (e.g. MIDI) is enabled
2024-12-25 00:34:39 +01:00
Eugene Sandulenko
fdecb6afca ENGINES: Add components to configure.engine's explanatory comment 2024-12-25 00:34:39 +01:00
Eugene Sandulenko
5d5cfd82d1
I18N: Added more missing POTFILES entries 2024-11-08 01:29:59 +01:00
Eugene Sandulenko
e62aa1cb8a
I18N: Normalized "Left Click" to be in title case in keymaps 2024-11-04 15:36:23 +01:00
sluicebox
4200d6575c ALL: Return result from MetaEngine::removeSaveState 2024-10-18 09:41:03 +03:00
sluicebox
61e25cf780 ILLUSIONS: Fix resource memory leaks on exit 2024-10-01 09:30:45 -06:00
sluicebox
e23ce9acc9 ILLUSIONS: Fix memory leaks in FontResource 2024-10-01 09:30:02 -06:00
sluicebox
4e3ef0a15e ILLUSIONS: Fix memory leak in BackgroundInstance
Occurs in BBDOU when using the map to change rooms
2024-10-01 09:30:01 -06:00
sluicebox
1ebd95f0bc ILLUSIONS: Fix BBDOU screen palette memory leak 2024-10-01 09:30:01 -06:00
sluicebox
d03e6cb0f7 ILLUSIONS: Fix memory leak in ScriptResource 2024-10-01 09:30:01 -06:00
sluicebox
dce5ed562c ILLUSIONS: Fix memory leak in ScreenText 2024-10-01 09:30:00 -06:00
sluicebox
772476bc37 ILLUSIONS: Fix memory leaks in BBDOU special code 2024-10-01 09:30:00 -06:00
sluicebox
e88d3ef156 ILLUSIONS: Fix memory leaks in BBDOU inventory 2024-10-01 09:29:59 -06:00
Hubert Maier
dd8ac26dc7 JANITORIAL: Fix funtion typo in updatefunctions.h 2024-08-26 09:10:38 +03:00
NabeelShabbir
8e9019bc86 ILLUSIONS: Add keymapper support 2024-07-29 01:10:49 +03:00
Matthew Jimenez
a1f16858e6 ILLUSIONS: Add cheat debug console command 2024-07-29 01:09:11 +03: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
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
Matthew Jimenez
5219c99400 GRAPHICS: Move PaletteManager definition to a separate header 2024-03-12 12:24:00 +02:00
Le Philousophe
0ab0721905 ILLUSIONS: 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
sluicebox
8488741cec ILLUSIONS: Add error handling when opening wav files
Sound code now calls `error` if wav files can't be opened instead of
failing assertions. This is consistent with the code for midi files.

Fixes bug #14612 where an assertion failure was recorded in
Google Play Console, presumably due to a missing game file.
2023-11-27 15:55:00 +02:00
Walter Agazzi
79ffafde61 ILLUSIONS: Complete Duckman/BB do U detection titles 2023-01-02 13:46:39 +02:00
Donovan Watteau
614925d85a ILLUSIONS: JANITORIAL: Silence -Wbitwise-instead-of-logical warning 2022-11-11 20:39:31 +01:00
Hubert Maier
8089af6942
ILLUSIONS: Correct spelling mistake
neccessary -> necessary
2022-10-27 15:56:13 +02:00
Hubert Maier
c8964dc2b4
ILLUSIONS: Correct spelling mistake
neccessary -> necessary
2022-10-27 15:56:13 +02:00
Donovan Watteau
d85f349e18 ILLUSIONS: Fix an off-by-one in ScreenPalette::updateFaderPalette() 2022-10-27 04:21:26 +03:00
Cameron Cawley
f3b094e53f ENGINES: Change the MetaEngineDetection interface to match MetaEngine 2022-07-23 23:31:58 +02:00
Eugene Sandulenko
abea37c9bb
ALL: Update ScummVM project license to GPLv3+ 2021-12-26 18:48:43 +01:00
Eugene Sandulenko
94260b2f9f
ILLUSIONS: BBDOU: Add missing coma 2021-12-01 00:16:33 +01:00
Orgad Shaneh
49d745bbe4 ILLUSIONS: Use nullptr
Using clang-tidy modernize-use-nullptr
2021-11-14 15:51:59 +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
7adad5aaf5 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 7adad5aaf5.
2021-10-24 16:46:06 +02:00
Cameron Cawley
4c93db227a ILLUSIONS: Avoid using static objects with destructors 2021-09-02 21:41:14 +03: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
a933dc768c ILLUSIONS: Fix text handling crash on big-endian systems
The loop reversing the wide characters on big-endian systems would loop
until _tblPtr, which is way past all TalkEntry text parts, effectively
reversing the string multiple times at incorrect positions.  Thus, some
characters would remain in the incorrect endianness, and the game would
crash.

Trac tickets #11528 and #11236.
2021-07-04 01:20:22 +03:00
Orgad Shaneh
a05e54f00c JANITORIAL: Remove trailing whitespaces 2021-05-04 11:46:30 +03:00
Eugene Sandulenko
5e7fe2dc57
JANITORIAL: Replace spaces in indentation with tabs 2021-04-15 21:20:36 +02:00
Cameron Cawley
4ced49acd4 ENGINES: Changed AdvancedMetaEngine::createInstance to return a Common::Error 2020-12-04 20:57:14 +00: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
aryanrawlani28
f3b9477893 ENGINES: ALL: Add header guards for the new detection-header files. 2020-10-03 14:56:36 +02:00