Commit graph

781 commits

Author SHA1 Message Date
Filippos Karapetis
49ae0d056d ACCESS: Use C++ 11 range-based for loops 2025-03-27 13:47:57 +08:00
Matthew Jimenez
1e99ce9d43 GRAPHICS: Use constexpr for palette constants 2025-02-26 11:11:43 +02:00
Eugene Sandulenko
b34411bc23
ENGINES: [a-k]*: Switched Debug Channels from bitfield to sequential enum 2025-02-22 15:51:24 +01: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
sluicebox
4200d6575c ALL: Return result from MetaEngine::removeSaveState 2024-10-18 09:41:03 +03:00
Donovan Watteau
52b297c406 ACCESS: Fix -Wunused-private-field warning
(Probably committed by mistake in the current keymapper integration tasks)
2024-08-17 09:24:54 +03:00
NabeelShabbir
e85b0412a2 BBVS: Add keymapper support 2024-07-27 23:39:37 +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
Cameron Cawley
1357bfe672 COMMON: Avoid including engine headers in common code for DebugChannelDef 2024-06-20 20:15:57 +01:00
Hubert Maier
75c94afbe9 JANITORIAL: Fix LARRRY typo in access martian_resources.cpp 2024-06-16 01:00:38 +03:00
Matthew Jimenez
5219c99400 GRAPHICS: Move PaletteManager definition to a separate header 2024-03-12 12:24:00 +02:00
Le Philousophe
6990c1ccbf ACCESS: Remove use of statically allocated variable
Even if this is a const and Rect is constexpr, this instantiation can't
be done at compile time as the parameters of Rect are defined in another
translation unit.
Using this construct make the compiler emit code at init which is
forbidden as per our rules.
2023-12-28 08:44:56 +01:00
Le Philousophe
e1aeab81f5 ACCESS: 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
86dc5c6453 ACCESS: Fix memory leak in playMovie. PVS-Studio V773 2023-10-30 11:28:13 -07:00
PushmePullyu
0c9921b741 ACCESS: Fix crash on inventory item dragging in Amazon: GoE
Clamp bounding box to valid dimensions when copying to the screen
surface during item dragging.

Fixes #14617
2023-09-11 23:20:09 +03:00
PushmePullyu
94cef883b3 ACCESS: Fix resource/file handle leak in Amazon:GoE
Fixes #14601
2023-09-04 10:32:19 +03:00
antoniou79
9c38762278 ACCESS: Fix warning for new Common::Point arrays
Warning comes from Walloc-size-larger-than

Warning text was:
" warning: argument 1 range [18446744073709551615, 18446744073709551615] exceeds maximum object size 9223372036854775807 [-Walloc-size-larger-than=]
 _walkOffDR = new Common::Point[dataCount]"
2023-08-09 14:54:14 +03:00
antoniou79
5efed15ec8 ACCESS: Add matching paths to SearchMan in case insensitive way
Previously the use of getChild("tdrom") was causing issues in File Systems such as on Android

getChild("tdrom") is "case sensitive" as the name given in the parameter is used for this FSNode,
but that name is not necessarily the actual name of the file or folder in the File System.
This can cause, then, methods such as FSNode::isDirectory() to fail.
Using the addSubDirectoryMatching() directly addresses this, since it can use a case insensitive
pattern to match folders and subfolders of folders, provided that folders are seperated
in the pattern with a forward slash.
2023-08-09 14:54:13 +03:00
Miro Kropacek
f85fde7707 ENGINES: ALL: Use new CursorMan API where applicable
This makes code not only cleaner but also friendly to 8-bit surfaces
where pitch != width.
2023-07-19 22:22:11 +02:00
Strangerke
f157ec8dcb ACCESS: Janitorial - Initialize some variables 2023-05-01 09:38:33 +01: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
Orgad Shaneh
c97917c8f5 ACCESS: Use nullptr
Using clang-tidy modernize-use-nullptr
2021-11-14 15:51:59 +02:00
D G Turner
1495eec3c8 ACCESS: Fix Duplicated Branch GCC Warnings 2021-10-29 17:45:17 +01: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
Eugene Sandulenko
9e0c45274d
ACCESS: Mark Martian demo as demo 2021-08-20 21:14:07 +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
Paul Gilbert
0136043f09 COMMON: Revert Change Rect and Point to have int32 fields
This reverts commit 1c3e7fb4e9.
2021-07-06 20:35:42 -07:00
Paul Gilbert
1c3e7fb4e9 COMMON: Change Rect and Point to have int32 fields 2021-07-04 18:24:26 -07:00
ysj1173886760
24e7c01c19 ACCESS: move debug channels to metaEngineDetection 2021-05-22 01:34:57 +02:00
Paul Gilbert
f7ff451d17 ACCESS: Mark Spanish Amazon as supported 2021-04-15 21:39:19 -07:00
Paul Gilbert
6f90770373 ACCESS: Added support for Spanish Amazon Guardians of Eden 2021-04-15 20:03:39 -07:00
Eugene Sandulenko
5e7fe2dc57
JANITORIAL: Replace spaces in indentation with tabs 2021-04-15 21:20:36 +02:00
Francisco Javier Diéguez Tirado
5025cf7a1b ACCESS: general messages from Spanish AMAZON.EXE 2021-04-13 21:22:35 -07:00
Francisco Javier Diéguez Tirado
d8c4ed4d9c ACCESS: Support Amazon Spanish in access.dat R/W
I assume we want to use stable language codes in access/resources.cpp
even if language.h keeps changing, so I've used language code "23" for
ES_ESP since this was the enum value in language.h the last time
access.dat was generated.

Note: we still need access.dat to be regenerated for the game to work,
but create_access should now be able to extract the needed info
from the Spanish version of AMAZON.EXE and the game should run fine
afterwards.
2021-04-12 18:33:53 -07:00
Cameron Cawley
4ced49acd4 ENGINES: Changed AdvancedMetaEngine::createInstance to return a Common::Error 2020-12-04 20:57:14 +00:00
Martin Gerhardy
ba04f1e466 ACCESS: replaced magic numbers with contants
they are used later on already to fill the allocated memory
2020-10-20 18:51:47 -07: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
aryanrawlani28
8189a05316 ENGINES: ALL: Adapt to changes for new plugins by defining a new detection module
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.
2020-10-03 14:56:36 +02:00
aryanrawlani28
c5325c68c9 ACCESS: Split detection code & adapt to new plugins. 2020-10-03 14:56:36 +02:00