Commit Graph
22 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
Eugene Sandulenko 1f2290cd30 FULLPIPE: Fix bug #10317: Save game metadata is missing 2017-12-02 00:53:57 +01:00
Colin Snover 5c89c39325 FULLPIPE: Fix memory leak of save game thumbnail 2017-11-18 22:35:12 +01:00
Eugene Sandulenko d4313bf6b5 FULLPIPE: Decrease header dependency 2016-12-26 19:13:28 +01:00
Eugene Sandulenko 8f4a662b1d FULLPIPE: Simplify demo check in the engine 2016-12-11 18:36:08 +01:00
Eugene Sandulenko 5f26c445c9 FULLPIPE: Implemented support for German demo 2016-12-10 17:15:49 +01:00
Eugene Sandulenko 2a1651991a FULLPIPE: Added detection for English Steam version 2016-12-06 19:46:13 +01:00
Eugene Sandulenko 1b1aba305e FULLPIPE: Added detection for Russian demo version.
Crashes as startup
2016-12-04 15:21:37 +01:00
Eugene Sandulenko 137173aee3 FULLPIPE: Add detection for Estonian version 2016-12-04 15:21:37 +01:00
Eugene Sandulenko 5a92417fb7 FULLPIPE: Added detection for German Demo and using different file for version detection 2016-12-03 22:57:18 +01:00
Eugene Sandulenko f74463147e FULLPIPE: Fix detected language for German version 2016-12-02 15:40:38 +01:00
Eugene Sandulenko ec7ab8a3a2 FULLPIPE: Increase number of saveslots.
Original save/load menu supports only 8 saves.
2016-09-30 22:35:55 +02:00
Eugene Sandulenko a687ae3daf FULLPIPE: Add support loading/saving from GMM 2016-09-27 19:10:07 +02:00
Eugene Sandulenko b783f0b528 FULLPIPE: Mark that the engine has simple save names 2016-09-27 18:32:52 +02:00
Johannes Schickel 3aecd8ef2a ENGINES: Make variable names of ADGameDescription conform to our guidelines.
gameid     -> gameId
guioptions -> guiOptions
2016-03-08 19:01:38 +01:00
Johannes Schickel 0b6befdcc5 ENGINES: Make variable names of AdvancedMetaEngine conform to our guidelines.
_singleid   -> _singleId
_gameids    -> _gameIds
_guioptions -> _guiOptions
2016-03-08 19:01:13 +01:00
Johannes Schickel e5feb43392 FULLPIPE: Let listSaves return list sorted on slot numbers. 2016-02-25 21:39:45 +01:00
Johannes Schickel 8f77efae96 FULLPIPE: Only request actual save slots in listSaves. 2016-01-26 16:35:30 +01:00
Eugene Sandulenko c7d017e166 FULLPIPE: Implement ModalSaveGame::getFileInfo() and stubbed saveload support 2014-05-01 12:06:40 +03:00
Johannes Schickel 387fe8c141 FULLPIPE: Make GPL headers consistent in themselves. 2014-02-18 02:39:34 +01:00
Eugene Sandulenko 693ed1e988 FULLPIPE: Drop game platform in autogenerated gameid since only Windows version existed 2013-09-09 00:38:06 +03:00
Eugene Sandulenko 26e6f50860 FULLPIPE: Initial engine skeleton with detection 2013-09-04 11:53:13 +03:00