Commit graph

19 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
82b28c9292 GNAP: Enable engine for the release 2016-10-07 11:53:31 +02:00
Strangerke
5be720cdeb GNAP: Add detection for another English version 2016-09-24 00:11:53 +02:00
Eugene Sandulenko
c4237a9303 GNAP: Added detection for alternative Russian version 2016-09-03 17:54:39 +02:00
Alexander Tkachev
b665fc933d ALL: Make simpleSaveNames() a MetaEngineFeature
Added it into hasFeature() of all engines which returned `true` in
simpleSaveNames() before.

As mentioned in #788, SCI is not always using simple names, so it
doesn't have such feature now.
2016-08-24 16:07:55 +06:00
Alexander Tkachev
ab1d160ec8 ALL: Add MetaEngine::simpleSaveNames()
Engines with "simple" savenames would support "Run in background" in
save/load dialog and gradual save slots unlocking. Other engines
save/load feature would be locked until save sync is over.
2016-08-24 16:07:55 +06:00
Strangerke
81d7bc6d0c GNAP: Mark game as TESTING 2016-06-09 07:59:27 +02:00
Strangerke
73c366ac5b GNAp: Remove an unused variable 2016-05-30 07:14:16 +02:00
sylvaintv
879d8e6603 GNAP: Fix corrupted savegame title in GUI 2016-05-30 00:44:12 +02:00
Strangerke
7eeb50e488 GNAP: As suggested by Tsoliman, tag the games as unstable 2016-05-23 18:53:07 +02:00
Strangerke
3bf35331ab GNAP: Add thumbnails, rewrite partially querySaveMetaInfos.
Gnap's hand and device are in the middle of the screen, there's place for improvement
2016-05-19 00:13:01 +02:00
Strangerke
4c37381a8e GNAP: Add missing stars in header, change include guard name in gnap.h 2016-05-17 22:05:35 +02:00
Strangerke
25fc9c0a13 GNAP: Janitorial - Remove trailing spaces and tabs 2016-05-10 12:14:47 +02:00
Strangerke
9503f9bdc8 GNAP: Add detection for the russian version 2016-05-10 09:54:21 +02:00
Strangerke
03027be392 GNAP: Fix hasFeature 2016-05-10 09:54:21 +02:00
Strangerke
f1738f457f GNAP: Add savegames (not fully working yet) 2016-05-10 09:54:21 +02:00
Strangerke
c4f5dd0209 GNAP: Fix compilation 2016-05-10 09:54:21 +02:00
Strangerke
2a23b8d90c GNAP: Update copyright 2016-05-10 09:54:21 +02:00
johndoe123
d80c7605a0 GNAP: Initial commit 2016-05-10 09:54:21 +02:00