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
1f2290cd30
FULLPIPE: Fix bug #10317 : Save game metadata is missing
2017-12-02 00:53:57 +01:00
Colin Snover
c9327f2985
FULLPIPE: Fix memory leaks of PreloadItems
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
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
c3a3d7ef98
FULLPIPE: Change _gameName into a Common::String
2016-12-20 01:55:51 +02:00
Eugene Sandulenko
a62d29ab86
FULLPIPE: Revert memory leak fixing as that introduced tons of regressions
2016-12-13 18:15:41 +01:00
Eugene Sandulenko
c5e55878ad
FULLPIPE: Plug more memory leaks
2016-12-12 23:35:32 +01:00
Eugene Sandulenko
ffe52deeed
FULLPIPE: Implement switching scenes from the map
2016-12-09 16:58:31 +01:00
Eugene Sandulenko
a687ae3daf
FULLPIPE: Add support loading/saving from GMM
2016-09-27 19:10:07 +02:00
Eugene Sandulenko
cf4452388c
FULLPIPE: Save ScummVM-specific header with the saves
2016-09-20 19:34:48 +02:00
Eugene Sandulenko
ca1eb70fd8
FULLPIPE: Read playtime and save date from save headers
2016-09-20 19:34:48 +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
7e07e01963
FULLPIPE: Renames in PreloadItem
2016-09-05 00:03:14 +02:00
Eugene Sandulenko
9552dabaab
FULLPIPE: Implement GameLoader::saveScenePicAniInfos(). Now object states are restored
2016-09-04 00:57:43 +02:00
Eugene Sandulenko
9630e28bd9
FULLPIPE: Implement FullpipeEngine::restartGame()
2014-05-03 11:37:13 +03:00
Eugene Sandulenko
c7d017e166
FULLPIPE: Implement ModalSaveGame::getFileInfo() and stubbed saveload support
2014-05-01 12:06:40 +03:00
Eugene Sandulenko
39f771a3c5
FULLPIPE: Implement ModalSaveGame::saveload()
2014-05-01 09:44:47 +03:00
Johannes Schickel
387fe8c141
FULLPIPE: Make GPL headers consistent in themselves.
2014-02-18 02:39:34 +01:00
Eugene Sandulenko
f710418ae5
FULLPIPE: Implement preloadCallback()
2014-01-10 21:31:18 +02:00
Eugene Sandulenko
ea66761b04
FULLPIPE: Implement sceneHandler11_hitMan()
2013-12-27 21:23:59 +02:00
Eugene Sandulenko
5fc18c023d
FULLPIPE: Implement sceneHandler06()
2013-12-16 22:28:11 +02:00
Eugene Sandulenko
4a6ede35e7
FULLPIPE: CGameLoader -> GameLoader
2013-09-18 19:39:54 +04:00
Eugene Sandulenko
918d2f175a
FULLPIPE: CGameVar -> GameVar
2013-09-18 19:39:54 +04:00
Eugene Sandulenko
1ce1712b7b
FULLPIPE: Remove C* prefix from inventory classes
2013-09-18 19:39:53 +04:00
Eugene Sandulenko
c354981037
FULLPIPE: Remove C* prefix from input classes
2013-09-18 19:39:53 +04:00
Eugene Sandulenko
3bd3431ad4
FULLPIPE: Remove C* prefixes from interaction classes
2013-09-18 19:39:53 +04:00
Eugene Sandulenko
5d25dd3b36
FULLPIPE: Remove C* prefixes from motion classes
2013-09-18 19:39:53 +04:00
Eugene Sandulenko
4db215a511
FULLPIPE: Move PreloadItem methods where they belong
2013-09-14 00:14:49 +03:00
Eugene Sandulenko
e8f4c28d10
FULLPIPE: Move Sc2 to gameloader.h
2013-09-12 22:51:21 +03:00
Eugene Sandulenko
6cd830fb1b
FULLPIPE: Implement CGameLoader::preloadScene()
2013-09-12 22:51:21 +03:00
Eugene Sandulenko
7e08d4f6b2
FULLPIPE: Move PreloadItems to gameloader.h
2013-09-12 22:51:21 +03:00
Eugene Sandulenko
4db2d7e21b
FULLPIPE: Fix crash
2013-09-06 14:51:14 +03:00
Eugene Sandulenko
cee12678dc
FULLPIPE: Implement sceneHandler01()
2013-09-06 14:51:12 +03:00
Eugene Sandulenko
6e64897e72
FULLPIPE: Rename some CGameLoader members
2013-09-06 14:51:09 +03:00
Eugene Sandulenko
856eb1b0fa
FULLPIPE: Implemented FullpipeEngine::updateScreen()
2013-09-06 14:51:09 +03:00
Eugene Sandulenko
94fedf0128
FULLPIPE: Finished stubbing loadGam()
2013-09-06 14:51:07 +03:00
Eugene Sandulenko
4dc3481ec1
FULLPIPE: Moved Messge class to messages.cpp
2013-09-06 14:51:06 +03:00
Eugene Sandulenko
aaf5bae026
FULLPIPE: Fixed initial scene drawing. Scene bg is shown
2013-09-06 14:51:05 +03:00
Eugene Sandulenko
7aa2377bf7
FULLPIPE: Initial stubs for input system
2013-09-06 14:51:04 +03:00
Eugene Sandulenko
82b596a31e
FULLPIPE: Several methods for motion controller
2013-09-06 14:51:04 +03:00
Eugene Sandulenko
c4499bb4b2
FULLPIPE: Further work on sceneSwitcher
2013-09-06 14:51:04 +03:00
Eugene Sandulenko
62cbdd81f0
FULLPIPE: Further work on sceneSwitcher.
...
Reduced header dependency.
Put CGameLoader into separate files.
2013-09-06 14:51:03 +03:00