124 Commits

Author SHA1 Message Date
Filippos Karapetis
c6b164a0aa MADS: Split V2 games into a new subengine
Fixes bug #11759
2021-01-09 00:58:36 +02:00
Paul Gilbert
9f175c4053 ENGINES: Cleanup of savegame filenames generation
This removes filename methods when it matched the Engine method.
Secondly, ensuring there was an overriden getSaveStateName method
for engines that didn't do the standard target.00x save filenames
2020-02-16 15:44:28 -08:00
D G Turner
e75722665d MADS: Fix Missing Default Switch Cases
These are flagged by GCC if -Wswitch-default is enabled.
2019-12-06 03:34:11 +00:00
Adrian Frühwirth
00e59a3122 ALL: Load savegame thumbnail only when necessary
This commit introduces the following changes:

1. Graphics::loadThumbnail()

   Now returns a boolean and takes a new argument skipThumbnail which
   defaults to false. In case of true, loadThumbnail() reads past the
   thumbnail data in the input stream instead of actually loading the
   thumbnail. This simplifies savegame handling where, up until now,
   many engines always read the whole savegame metadata (including
   the thumbnail) and then threw away the thumbnail when not needed
   (which is in almost all cases, the most common exception being
   MetaEngine::querySaveMetaInfos() which is responsible for loading
   savegame metadata for displaying it in the GUI launcher.

2. readSavegameHeader()

   Engines which already implement such a method (name varies) now take
   a new argument skipThumbnail (default: true) which is passed
   through to loadThumbnail(). This means that the default case for
   readSavegameHeader() is now _not_ loading the thumbnail from a
   savegame and just reading past it. In those cases, e.g.
   querySaveMetaInfos(), where we actually are interested in loading
   the thumbnail readSavegameHeader() needs to explicitely be called
   with skipThumbnail == false.

   Engines whose readSavegameHeader() (name varies) already takes an
   argument loadThumbnail have been adapted to have a similar
   prototype and semantics.
   I.e. readSaveHeader(in, loadThumbnail, header) now is
   readSaveHeader(in, header, skipThumbnail).

3. Error handling

   Engines which previously did not check the return value of
   readSavegameHeader() (name varies) now do so ensuring that possibly
   broken savegames (be it a broken thumbnail or something else) don't
   make it into the GUI launcher list in the first place.
2018-04-07 09:26:20 +02:00
Paul Gilbert
b4e3d4abc1 MADS: Changed engine to use Graphics::ManagedSurface 2016-03-14 20:56:26 -04:00
Strangerke
76c227b2eb MADS: Refactor camera code 2015-11-24 21:47:53 +01:00
Strangerke
2c158d0e41 MADS: initialize some variables 2015-11-24 17:59:44 +01:00
Strangerke
9dc814e03f MADS: Implement some more Camera code 2015-11-16 10:35:52 +01:00
Strangerke
ec3a4b994a MADS: Some work on Camera 2015-11-16 00:31:09 +01:00
Strangerke
002a59c540 MADS: Implement syncTimers, add SyncType enum, modify all the calls to syncTimers 2015-11-12 00:52:21 +01:00
Strangerke
af7a233d97 MADS: Phantom: Implement scene 310 2015-10-29 03:17:14 +01:00
Strangerke
7a6bc4f8cf MADS: Phantom: Implement scene 109 2015-10-19 07:15:42 +02:00
Strangerke
79fbcb96c3 MADS: Add logic for scene 103, some rework on animations 2015-10-15 11:21:31 +02:00
Strangerke
63ad675abf MADS: Allow multiple animations for Phantom and later games 2015-09-21 21:18:19 +02:00
Johannes Schickel
5dd69b4dd1 MADS: Make GPL header consistent with what we normally use. 2015-05-09 15:56:27 +02:00
Filippos Karapetis
ec999f1cb7 MADS: Plug some memory leaks
Surfaces should be freed (to free their inner allocated surface
buffers) before being deleted
2015-04-09 13:44:39 +03:00
Paul Gilbert
d9168c8fae MADS: Fix placement of blowgun in easy mode 2015-04-05 15:28:10 -05:00
Paul Gilbert
0f02cdb4aa MADS: Fix crash in stream crossing death, simplify SpriteSets class 2015-03-14 10:11:19 -04:00
Paul Gilbert
c80c74e499 MADS: Refactoring of text/animation views to show outside game loop 2015-03-07 17:01:07 -05:00
Paul Gilbert
076ce7e6c1 MADS: Implement scroll wheel support for scrolling inventory 2015-02-21 17:45:20 -05:00
Paul Gilbert
d31e602add MADS: Allow Escape key to close game options dialog 2015-02-14 16:54:47 -05:00
Paul Gilbert
926404bd10 MADS: Renamings of Layer and a transition type 2015-01-17 20:51:52 -05:00
Filippos Karapetis
01e8286e1c MADS: Remove trailing whitespace 2014-10-28 16:19:26 +02:00
Paul Gilbert
dbfe4972e3 MADS: Remove deprecated code from AnimationView and a bunch of out-of-date TODOs 2014-10-18 11:55:30 -04:00
Paul Gilbert
dd7b6f9c80 MADS: Cleanup of fields and constants usage 2014-06-28 22:56:51 -04:00
Paul Gilbert
92cc2a7bc8 MADS: Create savegame thumbnail from scenes before opening in-game dialogs 2014-06-28 22:40:25 -04:00
Paul Gilbert
2b8820f3f6 MADS: More setup code for the difficulty dialog 2014-06-07 14:10:31 -04:00
Torbjörn Andersson
2eb80dd811 MADS: Remove unused variable 2014-06-07 12:24:44 +02:00
Paul Gilbert
17cc86d172 MADS: Refactoring and cleanup of the game startup code 2014-06-06 20:04:46 -04:00
Paul Gilbert
9dc2aabb62 MADS: Remove redundant Palette::close method 2014-06-03 22:27:33 -04:00
Filippos Karapetis
6d6afda883 MADS: Properly set the scene revisited flag when loading a saved game 2014-06-01 15:18:31 +03:00
Paul Gilbert
a96f260653 MADS: Change order of savegame loading to fix scene 318 2014-05-30 20:41:55 -04:00
Strangerke
91728aae9b MADS: Initialize several other variables 2014-05-27 21:51:08 +02:00
Paul Gilbert
c06e330ba8 MADS: Fix displaying multi-line messages in conversation with village girl 2014-05-26 21:25:18 -04:00
Johannes Schickel
9866aba2e4 MADS: Slight formatting fixes. 2014-05-27 00:58:25 +02:00
Paul Gilbert
786c771bb8 MADS: Implement screen shaking 2014-05-24 16:36:34 -04:00
Paul Gilbert
0d54216beb MADS: Fix checks for assets count when calling releasePlayerSprites 2014-05-24 15:05:23 -04:00
Paul Gilbert
6bfc9ce8f2 MADS: Completely remove synchronizeString in favour of syncString 2014-05-20 21:22:01 -04:00
Strangerke
6d1fc8256f MADS: Some more British -> American English modifications 2014-05-19 20:56:03 +02:00
Strangerke
e1a06ae543 MADS: Replace _ongoingGame by the use of quitGame() 2014-05-18 12:34:15 +02:00
Strangerke
e7bef9019a MADS: Implement scene 803, add an ongoingGame global flag to exit the multiple game loops 2014-05-18 12:29:48 +02:00
Paul Gilbert
59da02fa9a MADS: Hook in the section 1 sound player 2014-05-12 20:21:33 -04:00
Filippos Karapetis
b7dd01fdef MADS: Remove trailing whitespace 2014-05-08 11:43:23 +03:00
Paul Gilbert
800ff80c52 MADS: Default to first inventory item after loading a savegame 2014-05-03 13:20:29 -04:00
Paul Gilbert
84159c59ef MADS: Savegames are now working 2014-05-03 11:09:28 -04:00
Paul Gilbert
a54aeaccce MADS: Misc savegame fixes and added meta query info 2014-05-02 21:29:33 -04:00
Paul Gilbert
e258419a3e MADS: Add some further savegame loading logic 2014-05-01 22:42:47 -04:00
Paul Gilbert
b5949010a6 MADS: Implemented more savegame synchronization 2014-05-01 22:36:36 -04:00
Paul Gilbert
57bf0673d7 MADS: Default game to impossible difficulty by default 2014-05-01 09:16:48 -04:00
Filippos Karapetis
76950bf0ac MADS: Add skeleton classes for Phantom and Dragonsphere 2014-04-27 21:20:01 +03:00