Commit Graph
17 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 fab199d37e JANITORIAL: Make GPL headers uniform 2016-09-03 12:46:38 +02:00
Ori Avtalion 3564032330 JANITORIAL: Reduce audio header dependencies 2016-04-14 16:10:21 +03:00
Matthew Hoops bb12f77cbf BBVS: Fix compilation without translation enabled
A regression from 2a6cbd0
2015-12-21 17:58:09 -05:00
Eugene Sandulenko 2a6cbd05f8 BBVS: Since we're using GUI for menus, switch iGUI to the relevant language 2015-11-18 01:11:05 +01:00
Eugene Sandulenko 0a5e6e16b4 BBVS: Added Russian BBVS
Requires Russian to be selected in GUI font.
Fails on unknown codec at game beginning.
2015-11-14 01:03:33 +01:00
Filippos Karapetis 88e5998ee5 BBVS: Remove trailing whitespace 2014-10-28 16:24:45 +02:00
Strangerke 8481ff0e61 BVBS: Use a constant instead of a variable for the snapshot size 2014-03-20 19:31:40 +01:00
Strangerke e324f3e6be BVBS: Fix some uninitialized variables 2014-03-20 19:28:05 +01:00
Filippos Karapetis b56f8f2212 BBVS: Move some code out of bbvs.cpp 2014-02-22 20:34:52 +02:00
johndoe123 f0acfd4645 BBVS: Use int16 instead of int in Rect struct 2014-02-16 00:21:32 +01:00
johndoe123 6078bf7eba BBVS: Remove rectIntersection and use Rect::findIntersectingRect instead 2014-02-16 00:12:26 +01:00
johndoe123 3847654bcd BBVS: Fix include guard and include guard name comments for endifs 2014-02-15 23:48:08 +01:00
johndoe123 86b5192d1b BBVS: Use spaces instead of tabs for formatting 2014-02-15 23:39:05 +01:00
johndoe123 c31762d0c4 BBVS: Add easter egg videos handling 2014-01-30 20:16:38 +01:00
johndoe123 24fd658795 BBVS: Add loading/saving of minigame hiscores 2014-01-29 13:27:49 +01:00
johndoe123 5f4fc9a1dd BBVS: Initial commit 2014-01-29 13:27:47 +01:00