87 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
Paul Gilbert
1f26a75bb9 VOYEUR: Don't reset mansion view position after looking at rooms 2014-06-08 14:17:25 -04:00
Strangerke
fe2e33e585 VOYEUR: Update engine status in header comment 2014-03-07 16:36:40 +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
31d3171b65 VOYEUR: Remove a useless parameter in doTimeBar() 2014-02-20 07:43:41 +01:00
Johannes Schickel
36ac801a4d VOYEUR: Make GPL headers consistent in themselves. 2014-02-18 02:43:50 +01:00
Strangerke
e7cc3fc4df VOYEUR: Use American English instead of British English in several places 2014-02-12 07:54:14 +01:00
Paul Gilbert
d3f4156e6a VOYEUR: Clean up, commenting, and bugfixes for checking for murder 2014-02-03 22:02:28 -05:00
Paul Gilbert
2234724891 VOYEUR: Clean up debug channels 2014-02-03 00:07:29 -05:00
Paul Gilbert
4ef57db61a VOYEUR: General field renaming and comments 2014-02-02 22:38:27 -05:00
Paul Gilbert
63a06bc3f7 VOYEUR: Refactored code for showing ending news into separate method 2014-02-02 17:33:42 -05:00
Paul Gilbert
647a2ded95 VOYEUR: Set up enum for event flags, and improved blinking record indicator 2014-02-01 23:33:30 -05:00
Paul Gilbert
54c479c3d9 VOYEUR: Bugfixes for computer event display 2014-02-01 22:22:34 -05:00
Paul Gilbert
10f9c2fb03 VOYEUR: Added method comments for SVoy and some of VoyeurEngine class methods 2014-02-01 15:18:27 -05:00
Paul Gilbert
37402e06e5 VOYEUR: Correct mistake in debugger command.. it's time expired, not remaining 2014-02-01 11:29:49 -05:00
Paul Gilbert
77e86b3d48 VOYEUR: Renaming of _videoId to _audioVideoId and extra comments 2014-01-30 22:10:59 -05:00
Paul Gilbert
b247d8d0a7 VOYEUR: Fix for aborting out of sending someoneo the tape 2014-01-20 22:59:13 -05:00
Paul Gilbert
8792e4f97b VOYEUR: Fix anonymous resource in reviewTape to a hotspot list 2014-01-18 07:58:16 -05:00
Paul Gilbert
dfe3d8b4ce VOYEUR: Preliminary savegame functionality 2014-01-08 23:31:34 -05:00
Paul Gilbert
2a206ebd7f VOYEUR: Moved SVoy and game events to their own file 2014-01-06 22:01:36 -05:00
Strangerke
6dff157459 VOYEUR: Remove a couple of useless variables, change type of some other to use booleans, add CHECKME 2014-01-07 00:06:16 +01:00
Strangerke
12386de64b VOYEUR: Remove an unused variable and constant 2014-01-06 08:03:09 +01:00
Paul Gilbert
c884d5bf14 VOYEUR: Added a state field for current game area 2014-01-05 16:47:03 -05:00
Paul Gilbert
9c2b761b31 VOYEUR: Rename the old _playStamp1/2 variables to have better names 2014-01-05 14:54:55 -05:00
Paul Gilbert
1690ffb2bf VOYEUR: Moved _stampFlags to VoyeurEngine 2014-01-05 14:41:09 -05:00
Paul Gilbert
ce5b8c54a9 VOYEUR: Hooked up debugger, and added a 'time' command 2014-01-03 20:11:00 -10:00
Paul Gilbert
bbecd20818 VOYEUR: Variable renaming for Video Id 2014-01-03 11:00:12 -10:00
Paul Gilbert
2db6d543a0 VOYEUR: Tweaked vertical scroll area/rate for viewing mansion 2014-01-03 10:20:44 -10:00
Paul Gilbert
1c3708630b VOYEUR: Replaced original game mansion scrolling with a more effective one
The original had the cursor fixed in the middle of the screen, and
scrolled the mansion view as the mouse moves. Since this doesn't really
work for windowed mode nor tablets, I've replaced it with a new version
that scrolls when the mouse cursor is near any edge of the screen
2014-01-03 09:20:53 -10:00
Paul Gilbert
5c20b3c331 VOYEUR: Implementing game end methods 2013-12-31 16:08:00 -10:00
Paul Gilbert
3fd1abbe32 VOYEUR: Implemented playAVideo code, and support for RLV3 videos 2013-12-29 21:12:03 +11:00
Paul Gilbert
b08e80cd66 VOYEUR: Implemented evidence display code 2013-12-28 18:37:37 +11:00
Paul Gilbert
554756f93f VOYEUR: Fix prototype for playAVideoDuration 2013-12-26 09:36:27 +11:00
Paul Gilbert
906f2546b4 VOYEUR: Implemented getChooseButton 2013-12-26 09:35:27 +11:00
Paul Gilbert
88c9dac8c0 VOYEUR: Implemented playAVideoDuration 2013-12-26 07:30:46 +11:00
Paul Gilbert
6e1a7abeef VOYEUR: Implemented checkForIncriminate 2013-12-25 19:38:32 +11:00
Paul Gilbert
c5f9cf9134 VOYEUR: Implemented doGossip 2013-12-25 15:43:18 +11:00
Paul Gilbert
fa6eb76d66 VOYEUR: Implemented further event methods, and miscellaneous 2013-12-24 16:32:50 +11:00
Paul Gilbert
156f78e7cd VOYEUR: Bugfixes and move for doScroll method 2013-12-24 10:32:41 +11:00
Paul Gilbert
4f9c900a03 VOYEUR: Fixes for video camera battery countdown 2013-12-24 07:38:39 +11:00
Paul Gilbert
171d159489 VOYEUR: Implemented doRoom method 2013-12-20 22:51:31 -05:00
Paul Gilbert
a73ea5c3dc VOYEUR: Beginnings of camera spy screen 2013-12-19 09:25:40 -05:00