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
Filippos Karapetis
4d159955a1
MADS: Set Rex to start from scene 101, like the original
...
There's a temporary hack to skip showing Rex's standing up animation
cause it takes ages to finish
2014-04-27 21:20:01 +03:00
Paul Gilbert
2cff7557fe
MADS: Beginnings of full screen dialogs
2014-04-26 22:35:28 -04:00
Paul Gilbert
bb5edf5426
MADS: Implemented more save/load logic
2014-04-26 11:01:21 -04:00