Commit Graph

1036 Commits

Author SHA1 Message Date
Cameron Cawley
ff530edcb1 GRAPHICS: Deprecate ManagedSurface methods that implicitly copy pixel data 2024-07-02 13:31:18 +01: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
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
Cameron Cawley
1357bfe672 COMMON: Avoid including engine headers in common code for DebugChannelDef 2024-06-20 20:15:57 +01:00
D G Turner
0d286b7081 MM: MM1: Remove Stray Semicolon From Map14 Class Code
This causes a warning if -Wpedantic is passed to GCC.
2024-06-04 01:11:36 +01:00
Paul Gilbert
80e83c1a4b GRAPHICS: Support Graphics::Palette in PaletteManager 2024-06-01 11:38:27 -07:00
Paul Gilbert
2bc022fb8c MM: MM1: Use Graphics::Palette::createEGAPalette 2024-06-01 11:26:17 -07:00
Eugene Sandulenko
c5e57db522
MM: Remove moved file from POTFILES 2024-05-22 21:58:59 +02:00
Filippos Karapetis
3bd3a29353 MM: MM1: Use true/false keywords for boolean variables 2024-05-13 09:47:29 +03:00
D G Turner
1e833ee164 MM: XEEN: Fix Unused Variable GCC Compiler Warning 2024-05-05 17:37:23 +01:00
Paul Gilbert
cf4b595166 MM: Move engine_data.cpp into Common namespace 2024-05-05 13:27:01 +02:00
Paul Gilbert
133c189e53 MM: MM1: Further MM1 startup fix 2024-05-02 18:30:56 -07:00
Paul Gilbert
9bf01106fd MM: MM1: Fix crash on startup 2024-05-01 21:55:58 -07:00
Paul Gilbert
11b9df5d63 MM: XEEN: Fix error starting Swords 2024-05-01 21:07:04 -07:00
Paul Gilbert
11417e5b5c MM: XEEN: In console load command, print out filename it's looking for 2024-04-26 21:43:58 -07:00
Walter Agazzi
2ae4cb8acb MM: Add detection entry for spanish Xeen
TRAC #14976
2024-03-21 13:03:09 +01:00
Matthew Jimenez
5219c99400 GRAPHICS: Move PaletteManager definition to a separate header 2024-03-12 12:24:00 +02:00
NoSFeRaTU
c853d0c8a2 MM: XEEN: Added postprocessing in MT32 driver
Added missing postprocessing functionallity and so resolved relevant TODOs.
Make sure last_note table is always initialized with 0xFF.
Added previously missing sound effect when Efx is enabled in control panel.
2024-02-17 13:16:51 -10:00
NoSFeRaTU
13d9d5f9ab MM: XEEN: Better wording in some comments 2024-02-17 13:16:51 -10:00
NoSFeRaTU
44477f22f1 MM: XEEN: MidiDriver close and cleanup 2024-02-17 13:16:51 -10:00
NoSFeRaTU
f19ac248bd MM: XEEN: Initial MT32/LAPC-1 support
Some non-essential subroutines in fxEndSubroutine is not implemented.
Support is currently the same as original game, so Roland GS and there are no conversion to GM.
Music tracks requires at least MT32-compatible device with support of capital tone fallback in ROM.
Game is also extensively uses extended sounds found in CM-32L for sound effects, MT-32 will produce silence for those.
So using in combination with real CM-32L or emulated one is the best for now.
2024-02-17 13:16:51 -10:00
NoSFeRaTU
d1a10e38ca MM: XEEN: Fix sound effects regression
There is a regression introduced in commit 94cee9d which affects effects with countdown, like screaking door effect, and cause them to stop abruptly.
2024-02-17 13:16:51 -10:00
NoSFeRaTU
7c8ed5b574 MM: MM1: Support for non-vanilla version
There is version of MM1 in the wild which have some differences with floppy version of vanilla. Support resources from it too.
2024-02-17 13:16:51 -10:00
Paul Gilbert
e77b114a03 MM: MM1: Remove redundant call to updateMonsterStatus 2024-01-07 11:36:28 -08:00
Lothar Serra Mari
ec964e5949 MM: Enable engine by default 2023-12-31 12:04:45 +02:00
Le Philousophe
0512d96b47 MM: Migrate engine to Path 2023-12-24 13:19:25 +01:00
D G Turner
ccd7f65e5b MM: MM1: Fix GCC ABI Mangling Warnings Caused By Lambda Functions
These warnings are emitted from GCC-13 when -Wabi is passed.
2023-12-18 19:48:02 -10:00
Lothar Serra Mari
203a2878e1 MM: Clear ADGF_TESTING flags 2023-12-15 13:41:17 +01:00
Eugene Sandulenko
ec2dd2726b ENGINES: Added optional parameter to canSave/LoadGameStateCurrently() for indicating the reason 2023-12-08 12:21:16 +01:00
D G Turner
4bf543f6e7 MM: XEEN: Fix Overloaded Virtuals Shadowing Warnings
These are emitted by GCC-13 if -Woverloaded-virtual is passed.
2023-12-03 22:32:07 +00:00
Paul Gilbert
2f0d5aef05 MM: XEEN: Fix loading German resources 2023-11-11 20:04:08 -10:00
Paul Gilbert
228c64e04b MM: MM1: Fix displaying character info from Inn 2023-11-05 17:43:45 -10:00
Paul Gilbert
8a48164347 MM: MM1: Fix current HP display in Character Info view 2023-11-05 17:20:44 -10:00
Paul Gilbert
141f97e735 MM: MM1: Fix setting SP for created magic casters 2023-11-05 17:01:35 -10:00
Paul Gilbert
1e2f93c252 MM: MM1: Fix restoring HP during resting 2023-11-05 11:30:34 -10:00
Paul Gilbert
06655e124b MM: MM1: Don't freeze like original in rest if attributes reach 0 2023-11-05 11:30:34 -10:00
Paul Gilbert
ddc1a485b7 MM: MM1: Split _age into _age and _ageDayCtr
I originally thought _age was an attribute pair, but the second
field is actually a counter that's incremented during rest,
and when it overflows increases the character's age by a year.
As such they are distinct fields. And in fact, separating it
revealed multiple places the "current" field was being changed
when the base _age was intended. These are all fixed now.
2023-11-04 22:14:26 -10:00
Eugene Sandulenko
a2c96b6233
MM: XEEN: Remove unused variable 2023-09-19 14:44:18 +02:00
Eugene Sandulenko
5a2fbed061
MM: MM1: Remove redundant copy constructor
Default one will work equally fine
2023-09-19 14:43:51 +02:00
Eugene Sandulenko
15866dc113
MM: MM1: Comment out unused class variables 2023-09-19 14:43:25 +02:00
elasota
9892bedc61 COMMON: Add createReadStreamForAltStream to open Mac resource fork and metadata streams 2023-08-30 00:31:00 +02:00
Paul Gilbert
9a9f2e3faf MM: MM1: Fixes for casting energy blast (and other iterative spells) 2023-08-15 20:11:13 -07:00
Paul Gilbert
f934b0b64f MM: MM1: Fix monster selection after first monster killed 2023-08-14 19:09:58 -07:00
Paul Gilbert
06c1d02522 MM: MM1: Add missing param guard to getRandomNumber 2023-08-14 18:59:21 -07:00
Paul Gilbert
c599d4f861 MM: MM1: Fix setting up random monster list for combat 2023-08-13 18:56:18 -07:00
Paul Gilbert
0e3c70d523 MM: MM1: Fix enhanced mode combat crash 2023-08-13 17:58:01 -07:00
Paul Gilbert
03470bf83c MM: MM1: Hopefully fix new deprecated InfoMessage warnings 2023-08-13 17:36:56 -07:00
D G Turner
79ac349b9c MM: MM1: Fix Likely Oversight of Field in Custom Copy Assignment Operator 2023-08-14 01:15:55 +01:00