Commit Graph
31 Commits
Author SHA1 Message Date
Adrian Frühwirth be351e2432 ZVISION: Add play time metadata to savegames
Fixes Trac#10266.
2018-05-03 19:25:22 +02:00
Adrian Frühwirth f20015f526 ZVISION: Fix crash when loading a savegame
Commit 00e59a3122 introduced a change to savegame handling which
results in savegame thumbnails only being loaded when necessary.
ZVISION's readSaveGameHeader() doesn't under all circumstances
initialize the thumbnail pointer and 00e59a3122 failed to remove an
otherwise unnecessary delete which resulted in the uninitialized
thumbnail pointer being passed to delete (UB).

Thanks to eriktorbjorn for noticing.
2018-04-18 20:18:05 +02:00
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
Bastien Bouclet 1b3cc08b75 ZVISION: Fix leaking save / thumbnail MemoryWriteStreamDynamic buffers 2017-09-22 07:06:20 +02:00
Ben Castricum e95c2cc3ff ALL: save file => saved game 2016-11-29 21:10:59 +01:00
rootfather 89168bb000 ZVISION: Enable translation for some more strings 2016-11-26 16:14:28 +01:00
Eugene Sandulenko fab199d37e JANITORIAL: Make GPL headers uniform 2016-09-03 12:46:38 +02:00
David Russo fd8ac7ea79 ZVISION: Change mentions of ZVision to Z-Vision
To match official documentation (e.g. game manual, credits).
2015-07-07 15:24:25 +01:00
Filippos Karapetis f04ef8b728 ZVISION: Fix script bug #6793 in Zork Nemesis 2015-02-16 12:11:50 +02:00
Marisa-Chan f46af2eded ZVISION: Fix bug #6787 init lzss window by same values as in original game 2015-01-28 09:26:45 +06:00
Filippos Karapetis f7e0d1e958 ZVISION: Fix shadowed variable
A bug in commit 21e9007d80. Thanks to fingolfin for pointing it out
2015-01-23 03:01:29 +02:00
Sven Hesse 3f66f28624 ZVISION: Remove trailing whitespace 2015-01-18 20:35:51 +01:00
Filippos Karapetis 7c23eae102 ZVISION: Fix path handling in case-sensitive file systems (bug #6775)
A regression from commit d70503cc98. Thanks to wjp for bisecting.
2015-01-18 21:30:07 +02:00
Filippos Karapetis 21e9007d80 Revert "ZVISION: Remove ActionRestoreGame and loading of r.svr (restart slot)"
This reverts commit 9f642074ba, as it
broke the credits screen in ZGI.

This has been rewritten to use the common save code
2015-01-10 22:03:15 +02:00
Filippos Karapetis 79b92fe046 ZVISION: Clean up save logic, and fix a thumbnail-related FIXME
This fixes the save game thumbnails when using the original save/load
screens
2015-01-09 01:09:53 +02:00
Filippos Karapetis 345b33d9f0 ZVISION: Remove dead code 2015-01-09 00:38:15 +02:00
Filippos Karapetis 913075df90 ZVISION: Also handle paths in NEMESIS.ZIX for the DVD ver. of Nemesis 2015-01-08 01:44:06 +02:00
Filippos Karapetis 474ef74122 ZVISION: Check the validity of ZIX files 2015-01-07 23:49:13 +02:00
Filippos Karapetis 07ad10babe ZVISION: Handle sound patches (.src files) dynamically 2015-01-07 23:49:12 +02:00
Filippos Karapetis d70503cc98 ZVISION: Cleanup the ZIX file code
Also, add handling for 3 CDs, for Zork: Nemesis
2015-01-07 11:42:25 +02:00
Filippos Karapetis 9420cc2faa ZVISION: Also handle paths in INQUIS.ZIX for the DVD version of ZGI 2015-01-07 11:42:24 +02:00
Filippos Karapetis 976b4adb4e ZVISION: Add support for unmodified INQUIS.ZIX files
This will greatly help users copy the unmodified file from the game
CDs of ZGI and get the game working straight away
2015-01-02 00:31:19 +02:00
Filippos Karapetis e5f0ee2271 ZVISION: Implement auto-saving 2014-12-26 18:22:18 +02:00
Filippos Karapetis 4d0ebfaa22 ZVISION: Move the save manager together with the other file classes 2014-12-26 04:03:20 +02:00
Filippos Karapetis 965dafe31b ZVISION: Implement the "dumpallscripts" console command again 2014-12-21 23:33:01 +02:00
Filippos Karapetis b41b3e1a89 ZVISION: Fix code formatting 2014-12-20 18:06:26 +02:00
Marisa-Chan 6c5c1828e1 ZVISION: Fix unchecked return value (CID 1257092) 2014-12-19 17:15:21 +06:00
Marisa-Chan 74ea583a4e ZVISION: Fix uninitialized scalar field (CID 1109700) 2014-12-19 15:38:28 +06:00
Marisa-Chan 30212e4579 ZVISION: Fix array compared against 0 (CID 1109648) 2014-12-19 15:30:03 +06:00
Filippos Karapetis 8efcc3cf26 ZVISION: Bugfix for addDir() - fixes the Nemesis subtitle patch 2014-12-16 03:46:31 +02:00
Filippos Karapetis d8a961244d ZVISION: Move all the file-related classes together 2014-12-16 01:58:56 +02:00