Commit Graph
123 Commits
Author SHA1 Message Date
David Fioramonti 1ff0aba6c4 FULLPIPE: Reduce duplicate header includes
Remove duplicate headers in two files and ordered
the headers similar to other fullpipe files.
2018-05-05 06:58:47 +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
Adrian Frühwirth c750a8e6be FULLPIPE: Fix playtime not being read from savegames
Fixes Trac#10394.
2018-03-24 23:38:36 +01:00
Adrian Frühwirth abe9f0fa15 FULLPIPE: Use zero playtime when filling dummy header
This is a tad more meaningful than a random value, especially should we
for some reason use dummy header information to actually set playtime in
the future.
2018-03-24 23:38:34 +01:00
Eugene Sandulenko 1f2290cd30 FULLPIPE: Fix bug #10317: Save game metadata is missing 2017-12-02 00:53:57 +01:00
Colin Snover 2cc79fe9c8 FULLPIPE: Fix memory leaks restoring save games 2017-11-18 22:35:12 +01:00
Colin Snover bb26bf7994 FULLPIPE: Fix memory leaks and unnecessary indirect allocations in Motion and Sc2 2017-11-18 22:35:12 +01:00
Colin Snover e2367f3ed2 FULLPIPE: Remove unnecessary and unsafe C-style casts 2017-11-18 22:35:12 +01:00
Colin Snover 14a6ff0810 FULLPIPE: Fix memory leaks of MovTable and remove unnecessary extra class 2017-11-18 22:35:12 +01:00
Colin Snover 1337f04122 FULLPIPE: Fix memory leaks of SceneTag 2017-11-18 22:35:12 +01:00
Colin Snover 5c89c39325 FULLPIPE: Fix memory leak of save game thumbnail 2017-11-18 22:35:12 +01:00
Colin Snover ff96db23df FULLPIPE: Fix leaks and unnecessary extra allocations in FullpipeEngine 2017-11-18 22:35:12 +01:00
Filippos Karapetis a93c8c5d3e Unify all string function parameters to be const Common::String &
Thanks to wjp for the suggestion
2017-03-24 00:56:11 +02:00
Filippos Karapetis 93982b2ca9 FULLPIPE: Change more object-related functions to use Common::String 2017-03-22 04:32:23 +02:00
Filippos Karapetis f3e81b5f17 FULLPIPE: Use Common::String in all scene object names 2017-03-22 04:11:49 +02:00
Filippos Karapetis 728b23af2a FULLPIPE: Change transCyrillic() to accept a Common::String 2017-03-22 04:07:33 +02:00
Filippos Karapetis 8a16f9d785 FULLPIPE: Delete temporary memory streams used with MfcArchive 2016-12-20 02:13:18 +02:00
Eugene Sandulenko b930b4a74f FULLPIPE: Implement Russian demo differences 2016-12-11 18:36:08 +01:00
Eugene Sandulenko 8f4a662b1d FULLPIPE: Simplify demo check in the engine 2016-12-11 18:36:08 +01:00
Eugene Sandulenko 5745c0d09e FULLPIPE: Beginnings of support of Russian demo 2016-12-11 00:08:40 +01:00
Torbjörn Andersson 75e2770fae FULLPIPE: Silence GCC warnings (mostly signed/unsigned ones) 2016-11-28 06:42:47 +01:00
Eugene Sandulenko a687ae3daf FULLPIPE: Add support loading/saving from GMM 2016-09-27 19:10:07 +02:00
Eugene Sandulenko 37f4b36f7f FULLPIPE: Add support for loading from launcher 2016-09-27 18:29:05 +02:00
Eugene Sandulenko 804c6ab713 FULLPIPE: Remove redundant debug output 2016-09-25 20:05:55 +02:00
Eugene Sandulenko d367f0fb7c FULLPIPE: Fix loading saves 2016-09-25 20:03:50 +02:00
Eugene Sandulenko cc0ad208aa FULLPIPE: Added more debug output to saveload code 2016-09-25 19:39:07 +02:00
Eugene Sandulenko a46ac56015 FULLPIPE: Added more debug info to saveload code 2016-09-23 18:28:01 +02:00
Eugene Sandulenko 41fea11ce6 FULLPIPE: Furhter simplification of loading code 2016-09-21 08:46:19 +02:00
Eugene Sandulenko a5d9834780 FULLPIPE: Optimize savegame loading 2016-09-21 08:11:55 +02:00
Eugene Sandulenko 4b93ebedf1 FULLPIPE: Correctly fill out dummy header on reading failure 2016-09-20 19:34:48 +02:00
Eugene Sandulenko cf4452388c FULLPIPE: Save ScummVM-specific header with the saves 2016-09-20 19:34:48 +02:00
Eugene Sandulenko ac7eb25ef0 FULLPIPE: Move more stuff to stateloader.cpp 2016-09-20 19:34:48 +02:00
Eugene Sandulenko a60558071d FULLPIPE: Fix game save/load 2016-09-19 19:17:02 +02:00
Eugene Sandulenko 783d968e20 FULLPIPE: Fix saving object to savegames 2016-09-19 18:58:39 +02:00
Eugene Sandulenko 1e9351efaf FULLPIPE: Added debug info to saveload code 2016-09-19 18:13:31 +02:00
Eugene Sandulenko 26142799ad FULLPIPE: Correct slot number on loading 2016-09-19 18:13:31 +02:00
Eugene Sandulenko 61d8ec8b7f FULLPIPE: Implemented savefile loading 2016-09-18 22:45:37 +02:00
Eugene Sandulenko a6d71c941d FULLPIPE: Moved save-related functions to statesaver.cpp 2016-09-18 09:37:37 +02:00
Eugene Sandulenko b413d01113 FULLPIPE: Implement map saving and save obfuscation 2016-09-18 09:37:37 +02:00
Eugene Sandulenko 60e3b9fd64 FULLPIPE: Further work on game saving 2016-09-16 22:15:24 +02:00
Eugene Sandulenko d3cf9ed9c0 FULLPIPE: More signed reads 2016-08-29 22:23:45 +02:00
Eugene Sandulenko 6ac435099c FULLPIPE: Split all debug output by channels 2016-07-28 00:37:32 +03:00
Eugene Sandulenko 0fe605be4b FULLPIPE: Implement GameVar::~GameVar() 2014-06-12 10:16:53 +03:00
Eugene Sandulenko 6b0d938737 FULLPIPE: Removed couple of PtrList usages for code clarity 2014-05-02 12:09:42 +03:00
Johannes Schickel 387fe8c141 FULLPIPE: Make GPL headers consistent in themselves. 2014-02-18 02:39:34 +01:00
Eugene Sandulenko f8d835d0af FULLPIPE: Implement FullpipeEngine::updateMap() 2014-01-14 13:14:33 +02:00
Eugene Sandulenko f710418ae5 FULLPIPE: Implement preloadCallback() 2014-01-10 21:31:18 +02:00
Eugene Sandulenko 71c8d5edd0 FULLPIPE: Stubbed and implemented some class destructors 2014-01-08 18:37:39 +02:00
Eugene Sandulenko 3f8c39341c FULLPIPE: Correctly implement scene switching from command line 2013-12-28 23:42:06 +02:00
Eugene Sandulenko 90532c78a2 FULLPIPE: g_fullpipe -> g_fp for brevity 2013-12-21 16:42:49 +02:00