Commit Graph
161 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
Paul Gilbert 659fdfaf9e VOYEUR: Workaround original game using invalid hotspot Ids 2017-08-07 19:20:05 -04:00
Paul Gilbert c05a09d337 VOYEUR: Changed engine to use Graphics::ManagedSurface 2016-03-14 20:56:30 -04:00
Strangerke 427850b78d VOYEUR: Remove useless global variable 2015-12-02 11:41:55 +01:00
Paul Gilbert ff84741d39 VOYEUR: Fix crash when playing video #42 2014-07-03 21:00:17 -04:00
Paul Gilbert 1f26a75bb9 VOYEUR: Don't reset mansion view position after looking at rooms 2014-06-08 14:17:25 -04:00
Sven Hesse fc250701c5 VOYEUR: Janitorial - Remove trailing whitespace 2014-05-28 23:30:29 +02:00
Paul Gilbert 8d31150c09 VOYEUR: Fix showing credits in the introduction 2014-05-26 15:12:11 -04:00
Strangerke 72770f2341 VOYEUR: Fix some missing variable initializations 2014-03-16 12:06:24 +01:00
Strangerke dd16e5f91c VOYEUR: Get rid of some magic values 2014-03-14 08:08:31 +01:00
Strangerke 540566443f VOYEUR: Simplify the use of _vPort 2014-03-13 06:39:25 +01:00
Strangerke 118e7395c3 VOYEUR: Another try to get rid of the hidden overloaded functions 2014-03-09 21:34:32 +01:00
Strangerke 857a017e8c VOYEUR: Remove a default parameter in RL2Decoder::loadfile() 2014-03-09 20:22:47 +01:00
Strangerke 2dac5b76b0 VOYEUR: Remove useless VoyeurEngine pointer in SoundManager 2014-03-09 19:33:28 +01:00
Strangerke bc8486a76b VOYEUR: Fix memory leak when quitting in showTitleScreen() 2014-03-05 08:16:49 +01:00
Strangerke afb785e5c1 VOYEUR: Some cleanup related to the onOff and pick masks 2014-03-05 07:59:39 +01:00
Strangerke 4e68a67613 VOYEUR: Fix the new password behavior (still not saved, just as in the original) 2014-03-04 08:26:37 +01:00
Strangerke c6467bcc1d VOYEUR: Refresh mouse events in safe screen, fixing the 'enter password' behavior 2014-03-04 08:01:25 +01:00
Strangerke f0111e92dc VOYEUR: Rewrite hotspot code in doLock() 2014-03-03 23:04:51 +01:00
Strangerke 834cd6cc50 VOYEUR: Remove 2 parameters matching the default parameter in function calls 2014-03-03 18:55:00 +01:00
Strangerke 558887c1f1 VOYEUR: Fix the value of the CMapResource used in the fading of showConversionScreen() 2014-03-01 00:15:41 +01:00
Strangerke 7efe29249b VOYEUR: Match the original and test _iForcedDeath after doHeadTitle() 2014-03-01 00:04:43 +01:00
Strangerke 885013febb VOYEUR: Remove initializeManagers() 2014-02-27 08:17:26 +01:00
Strangerke e44690dae9 VOYEUR: Remove setVm from GraphicsManager 2014-02-27 08:15:29 +01:00
Strangerke 6dd0a81fdf VOYEUR: Remove setVm from FilesManager 2014-02-27 08:09:57 +01:00
Strangerke 9f74d13c57 VOYEUR: Remove setVm from EventManager 2014-02-27 07:29:49 +01:00
Strangerke 9278ec342c VOYEUR: Remove setVm from SoundManager 2014-02-27 07:12:43 +01:00
Strangerke 8215f59861 VOYEUR: Remove setVm from Debugger 2014-02-26 22:54:13 +01:00
Strangerke ccde2d5b76 VOYEUR: Remove setVm from SVoy 2014-02-26 22:45:16 +01:00
Strangerke 62d846d717 VOYEUR: Remove a useless function 2014-02-26 07:43:11 +01:00
Strangerke 36a4cda68e VOYEUR: Fix comment related to iForcedDeath 2014-02-20 23:34:56 +01:00
Strangerke 5a57838416 VOYEUR: Add iForcedDeath as a boot parameter 2014-02-20 21:31:19 +01:00
Strangerke 29b9bba62c VOYEUR: Remove useless function in SoundManager 2014-02-20 00:48:35 +01:00
Strangerke 8d25112e14 VOYEUR: Some British to American English 2014-02-19 21:45:29 +01:00
Strangerke 0002eb0eaa VOYEUR: Remove some useless variables 2014-02-18 19:53:31 +01:00
Strangerke 1434940253 VOYEUR: Remove useless variable in synchronize 2014-02-18 18:58:58 +01:00
Johannes Schickel 36ac801a4d VOYEUR: Make GPL headers consistent in themselves. 2014-02-18 02:43:50 +01:00
Paul Gilbert dc8b58a0f9 VOYEUR: Changed signature check for savegames to use MKTAG 2014-02-17 16:16:37 -05:00
Strangerke 013522457c VOYEUR: Remove useless fields in Events, some renaming 2014-02-13 08:44:06 +01:00
Strangerke e7cc3fc4df VOYEUR: Use American English instead of British English in several places 2014-02-12 07:54:14 +01:00
Strangerke 1b7a4cf4a0 VOYEUR: Initialize properly a couple of Bolt variables 2014-02-12 07:36:37 +01:00
Strangerke 9608a52162 VOYEUR: Reduce the scope of a couple of variables 2014-02-10 07:56:35 +01:00
Paul Gilbert e3b666a27a VOYEUR: Standardised delay amount between frame checks in video playback methods 2014-02-07 20:46:02 -05:00
Paul Gilbert 9d86715e30 VOYEUR: Renaming SVoy fields 2014-02-07 20:40:04 -05:00
Paul Gilbert f6c6871918 VOYEUR: Fix preloading incriminating videos if the debug _iForceDeath is set 2014-02-05 09:00:43 -05:00
Paul Gilbert d0ca824a62 VOYEUR: Opening sequence video should not be completely skipped 2014-02-05 08:41:33 -05:00
Paul Gilbert eca87a63e9 VOYEUR: Renamings for the fields of the new StateResource class 2014-02-04 22:38:35 -05:00
Paul Gilbert f075f0336e VOYEUR: Convert ControlResource::_ptr raw data to a deserialized state object 2014-02-04 22:23:15 -05:00
Paul Gilbert bb37927afd VOYEUR: Cleaner implementation of RL2Decoder seek 2014-02-04 00:14:48 -05:00
Paul Gilbert 77d8810b19 VOYEUR: Converted RL2 header getFrameRate to use Common::Rational 2014-02-04 00:05:56 -05:00