Commit graph

15 commits

Author SHA1 Message Date
Bastien Bouclet
9a4c0ae281 ENGINES: Normalize the getName() result of metaengines
Also-By: Matthew Hoops <clone2727@gmail.com>
2018-12-10 06:47:27 +01:00
Adrian Frühwirth
b1b83ac954 Revert "TITANIC: Fix memory leak due to save thumbnail changes"
This was a miss in commit 00e59a3122. The new parameter was supposed
to be called skipThumbnail and default to true instead.
For consistency's sake (the rest of the tree uses skipThumbnail, not
loadThumbnail) I'm reverting this and will separately update the
declaration to how it should have been from the beginning.

Thanks dreammaster!
2018-04-22 22:42:40 +02:00
Paul Gilbert
ab3f397e2d TITANIC: Fix memory leak due to save thumbnail changes 2018-04-22 11:44:15 -04: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
David Fioramonti
c96b01b82e TITANIC: Reduce header includes for titanic.h
I reduced the header includes a lot in Titanic.h and forward
declared when I could. Titanic.h was including a lot and
a lot of functions that were including it were not using its
API. This will help make it more clear which implementation
files are using which class since they will just need to include
which ones they need.

I also moved the debug related items in Titanic.h into the debugger
header.

I also reordered several of the the header includes to be local to
global.
2017-08-24 04:06:54 -07:00
Paul Gilbert
503b9c16d2 TITANIC: Don't show invalid meta info for original game saves 2017-08-05 18:34:50 -04:00
David Fioramonti
eb05082617 TITANIC: Allow last saved game to be loaded 2017-08-03 16:14:20 -07:00
David Fioramonti
293df6a68f TITANIC: Max saved games const centralized
Before the const specifying the max number of save/load games was
in titanic.h, core/project_item.cpp, main_game_window, and detection.cpp.

Since they all inherit from titanic.h they should just use the const there.

Also the saved game const in core/project_item.cpp was named differently
so I also changed that.
2017-08-03 16:13:34 -07:00
Paul Gilbert
9b09900a07 TITANIC: Minor cleanups, comments, and feature flags to meta engine 2017-06-17 13:15:23 -04:00
Eugene Sandulenko
dead4aa014 JANITORIAL: Remove trailing spaces 2016-10-09 14:59:58 +02:00
Paul Gilbert
a4d577beff TITANIC: Add kSimpleSavesNames to features list 2016-09-02 18:56:30 -04:00
Paul Gilbert
c918602800 TITANIC: Fix some warnings 2016-07-23 12:11:09 -04:00
Paul Gilbert
4f08292c8c TITANIC: Add support for arbitrary window event targets
Also moved all standard game event methods to CMainGameWindow. This
will allow for the Continue Save dialog to be added in and get
events instead of the game window
2016-07-22 21:54:48 -04:00
Paul Gilbert
1102203396 TITANIC: Add missing engine saving functionality 2016-07-20 18:49:41 -04:00
Paul Gilbert
93c28c7970 TITANIC: Initial engine skeleton 2016-02-05 20:39:42 -05:00