37 Commits

Author SHA1 Message Date
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
Adrian Frühwirth
114bedc5fe SHERLOCK: Let listSaves return list sorted on slot numbers 2018-03-26 01:07:32 +02:00
Paul Gilbert
da4d4d8272 SHERLOCK: Remove redundant derived Serializer class 2017-08-07 19:08:03 -04:00
Eugene Sandulenko
989749b6e5 SHERLOCK: Use # as savefile matching pattern 2016-06-08 10:17:16 +02:00
Paul Gilbert
8950549b44 SHERLOCK: Further fixes to character movement across saves
Restoring movement across save didn't work, so properly handle
stopping any moving characters when loading a savegame
2015-08-16 13:42:58 -04:00
Paul Gilbert
96dea8fd7f SHERLOCK: RT: Fix savegame numbering in original saves dialog 2015-07-30 20:54:48 -04:00
Paul Gilbert
ab1ffde9aa SHERLOCK: Don't set _justLoaded when saving a game 2015-07-26 19:01:17 -04:00
Paul Gilbert
e77f9f1779 SHERLOCK: RT: Hook up ScummVM save/load dialogs in-game 2015-07-25 10:27:49 -04:00
Paul Gilbert
fc0cf31fde SHERLOCK: RT: Skeleton class for Files dialog 2015-07-24 22:14:40 -04:00
Paul Gilbert
92ac962718 SHERLOCK: RT: Further split-off of Scalpel-specific code 2015-06-25 20:42:02 -04:00
Filippos Karapetis
7e6539f400 SHERLOCK: Use IS_3DO in more places 2015-06-16 10:02:32 +03:00
Martin Kiewitz
fc8177cdd3 SHERLOCK: 3DO: don't get palette for saving game
makes it possible to save in the 3DO version
2015-06-14 23:24:38 +02:00
Paul Gilbert
af2a1a3351 SHERLOCK: Refactoring, cleanup, and fixes for savegame code 2015-06-07 19:18:14 -04:00
Paul Gilbert
feff241ef7 SHERLOCK: Replace another ONSCREEN_FILES_COUNT value 2015-05-20 21:18:49 -04:00
Paul Gilbert
46e85f389f SHERLOCK: Go to save mode when clicking empty save slot 2015-05-20 21:15:33 -04:00
Strangerke
456e0c584f SHERLOCK: Use a bit more MenuMode and SaveMode 2015-05-19 20:07:24 +02:00
Paul Gilbert
6f9693102f SHERLOCK: Further minor cleanups 2015-05-19 09:35:53 -04:00
Paul Gilbert
033241eb43 SHERLOCK: Corrected incorrect method name in SaveManager 2015-05-19 09:19:42 -04:00
Paul Gilbert
06b39671e3 SHERLOCK: Further cleanup for SaveManager 2015-05-19 09:17:04 -04:00
Paul Gilbert
fa35249a24 SHERLOCK: More syntactic fixes 2015-05-19 08:01:06 -04:00
Paul Gilbert
dac49ddab4 SHERLOCK: Syntactic fix and define for SaveManager 2015-05-19 07:53:45 -04:00
Paul Gilbert
1df183ffcb SHERLOCK: Move method comments from cpp to headers 2015-05-19 07:37:55 -04:00
Paul Gilbert
8d426ca464 SHERLOCK: Added more of the game options to the Engine tab 2015-05-18 20:43:26 -04:00
sirlemonhead
5e351b6bf3 SHERLOCK: Replace scumm_stricmp() with equalsIgnoreCase() 2015-05-17 20:41:46 +01:00
Paul Gilbert
24b93a14be SHERLOCK: Renamed graphics.cpp to surface.cpp 2015-05-13 20:05:19 -04:00
Willem Jan Palenstijn
902b791165 SHERLOCK: Make copyright headers consistent 2015-05-09 18:06:05 +02:00
Strangerke
d9e93f8e01 SHERLOCK: some code formatting 2015-05-07 19:33:44 +02:00
Paul Gilbert
f97e550d86 SHERLOCK: Don't mark leaving scene as visited during savegame loads 2015-05-02 17:48:07 -10:00
Paul Gilbert
65eb390ead SHERLOCK: Cleanup and moving of map variables into Map class 2015-04-26 18:29:20 -05:00
Paul Gilbert
2379824e32 SHERLOCK: Fix saving and display of inventory items 2015-04-25 04:42:15 -05:00
Paul Gilbert
acf0b01ad8 SHERLOCK: Hook up saving and loading via GMM 2015-04-22 07:08:01 -05:00
Paul Gilbert
8b0e8cd505 SHERLOCK: Hook up savegames to launcher 2015-04-22 06:25:04 -05:00
Paul Gilbert
27938653a5 SHERLOCK: Further fixes for entering savegame names 2015-04-22 04:44:55 -05:00
Paul Gilbert
e08520cca9 SHERLOCK: Fix Files saves listing and save name entry 2015-04-22 02:32:25 -05:00
Paul Gilbert
0984405a0d SHERLOCK: Implement savegame synchronization 2015-04-21 22:51:03 -05:00
Paul Gilbert
3186016370 SHERLOCK: Implemented save game dialog event handling 2015-04-21 18:25:06 -05:00
Paul Gilbert
6fe65dc719 SHERLOCK: Beginnins of SaveManager class 2015-04-21 03:48:21 -05:00