Commit graph

535 commits

Author SHA1 Message Date
Torbjörn Andersson
7a4ef28177 PEGASUS: Replaced cicn cursor loader, fixing #15600 in the process
The cicn cursor loader was introduced recently for the Mac SCUMM v6-7
games. I still haven't played Pegasus Prime, but I have forced it to
load all the nine cursors (ID 128-133, 900-901, and 20000) and it seems
to work fine for all of them. At least after I made a few fixes to the
loader itself.

I did get some crashes with the old code when trying to compare them, so
it's possible that we should backport this to 2.9. But I haven't seen
any bug reports about it, so maybe not...?
2025-01-04 11:54:58 +01:00
Eugene Sandulenko
aa43f4f5e7 CONFIGRE: Added theoradec component and marked all the relevant engines 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
Hubert Maier
4355955a15 JANITORIAL: PEGASUS: Fix typos 2024-09-16 10:31:30 +03:00
Cameron Cawley
c3dc4e00fd PEGASUS: Make use of the ADGF_DVD flag 2024-07-06 07:57:24 +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
Eugene Sandulenko
1d6f7b05ea
JANITORIAL: Clean up some English language 2024-01-21 00:28:44 +01:00
antoniou79
803ae263da PEGASUS: Clarify use of enableEditListBoundsCheckQuirk() in comment 2024-01-15 09:10:07 +02:00
antoniou79
75165fc91b PEGASUS: Use quicktime workaround for movies
This is a proposed solution for bug report #14855

The workaround, enableEditListBoundsCheckQuirk(true), is applied to movies
loaded with Movie::initFromMovieFile(), which is where the problematic video file
is loaded from.
The problematic video file is under path "Images/AI/Caldoria/XAE1"

Not all files loaded from Movie::initFromMovieFile() need the workaround, but for the few I tested, it didn't seem to have side-effects on them.
This change, as of yet, does not apply the workaround to video files loaded elsewhere in the engine (ie. outside Movie::initFromMovieFile())
2024-01-14 09:36:20 -08:00
Cameron Cawley
87cb6d4315 PEGASUS: Use OSystem::setShakePos() for shaking the screen 2023-12-29 20:33:08 +02:00
Cameron Cawley
43e36954bc PEGASUS: Fix detection for the DVD demo 2023-12-29 20:31:23 +02:00
Le Philousophe
ffe2ad5446 PEGASUS: 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
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
Eugene Sandulenko
b733efb53d
PEGASUS: Fix startup crash when g_vm is not yet take its value 2022-11-17 20:31:53 +01:00
Eugene Sandulenko
c585e07c3c
PEGASUS: Remove redundant assignments 2022-09-28 11:30:01 +02:00
Eugene Sandulenko
5eac0c0324
PEGASUS: Get rid of g_engine type cast 2022-09-28 11:30:00 +02:00
Cameron Cawley
f3b094e53f ENGINES: Change the MetaEngineDetection interface to match MetaEngine 2022-07-23 23:31:58 +02:00
Thunderforge
fd129ebc0c JANITORIAL: "Mac OS X" and "OS X" to "macOS" in comments
Apple's desktop operating system was formerly called "Mac OS X" and "OS X", but since 2016 it has been called "macOS" (starting with version 10.12).

Changing across all comments and documentation to use this current terminology, except in cases where the historical versions are explicitly referenced. No code changes are made; we should consider changing those in future PRs.
2022-01-29 14:15:05 +01:00
Eugene Sandulenko
abea37c9bb
ALL: Update ScummVM project license to GPLv3+ 2021-12-26 18:48:43 +01:00
Orgad Shaneh
3bc29bd60f PEGASUS: Use nullptr
Using clang-tidy modernize-use-nullptr
2021-11-14 15:51:59 +02:00
Orgad Shaneh
fc95bf1eca PEGASUS: Use override
Using clang-tidy modernize-use-override
2021-11-14 14:34:14 +02:00
D G Turner
4e0c064173 PEGASUS: Fix GCC Signed vs. Unsigned Compiler Warning 2021-11-11 02:25:50 +00: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
Torbjörn Andersson
d5f50eb0e2 PEGASUS: Update detection entries 2021-10-19 14:57:35 +02:00
Eugene Sandulenko
b6dbb42daa
PEGASUS: Updated few md5s after MacResMan changes 2021-10-19 13:05:22 +03:00
Eugene Sandulenko
ac4476f555
PEGASUS: Marked invalid Mac detection entries after MacResMan changes 2021-10-17 20:48:03 +03:00
trembyle
09681d58c1 PEGASUS: Add detection for v1.0 demo
The demo that was distributed in the 90s is slightly different than
the one later made available on Presto's website. At the time, this
was published by Bandai and retains some of their branding in the
splash screen and credits.
2021-09-19 14:52:46 +02:00
djsrv
909595176a COMMON: Use Path type in MacResManager functions 2021-08-07 10:44:37 +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
baccbedf50 GRAPHICS: Changed surface classes sizes from uint16 to int16 2021-07-04 18:24:27 -07:00
Paul Gilbert
1c3e7fb4e9 COMMON: Change Rect and Point to have int32 fields 2021-07-04 18:24:26 -07:00
Cameron Cawley
9fea5ff073 PEGASUS: Handle custom engine actions in showTempScreen() 2021-04-19 03:13:11 +03:00
Cameron Cawley
4e33d6ad2b PEGASUS: Handle mouse wheel events using the keymapper 2021-04-19 03:13:11 +03:00
Cameron Cawley
da960cd939 GUI: Add EE to the GUI keymap 2021-04-18 15:28:51 +02:00
D G Turner
13b501825e PEGASUS: Fix Switch Fallthrough GCC Compiler Warnings 2021-03-18 23:37:05 +00:00
Eugene Sandulenko
adaf5bb3b9 PEGASUS: Import the DVD version patch from GOG.com
Co-Authored-By: Keith Kaisershot <keithkaisershot@gmail.com>
Co-Authored-By: Matthew Hoops <clone2727@gmail.com>
Co-Authored-By: Bastien Bouclet <bastien.bouclet@gmail.com>
2021-03-17 17:32:53 +01: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
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