Commit graph

88 commits

Author SHA1 Message Date
David Fioramonti
8405c5d5f0 SAGA: Don't show pause message in saved thumbnail
Fixes Trac#10008. Previously, the game would show
a paused game message in the thumbnail when the
game was saved using the gmm.
2018-06-03 19:36:58 +01:00
Bastien Bouclet
8fb149e3c7 ENGINES: Change MetaEngine::findGame to return a plain game descriptor 2018-05-10 09:04:23 +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
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
Johannes Schickel
0b6befdcc5 ENGINES: Make variable names of AdvancedMetaEngine conform to our guidelines.
_singleid   -> _singleId
_gameids    -> _gameIds
_guioptions -> _guiOptions
2016-03-08 19:01:13 +01:00
Johannes Schickel
ce8998760d SAGA: Let listSaves return list sorted on slot numbers. 2016-02-25 21:39:45 +01:00
Johannes Schickel
fee5944fe2 SAGA: Only request actual save slots in listSaves. 2016-01-26 16:35:30 +01:00
Johannes Schickel
c1be2aedbb SAGA: Make GPL headers consistent in themselves. 2014-02-18 02:39:37 +01:00
Filippos Karapetis
faa7579241 SAGA: Add support for played time 2012-11-11 23:32:07 +02:00
Johannes Schickel
48e6b80253 SAGA: Slight cleanup in querySaveMetaInfos implementation.
Saves are writable and deletable by default, there is no need to mark them
explicitly as such.
2012-07-03 18:39:46 +02:00
Torbjörn Andersson
a010038492 JANITORIAL: Remove unnecessary semicolons 2011-10-29 11:23:44 +02:00
Christoph Mallon
e35b4f20c1 GRAPHICS: Simplify the interface of Graphics::loadThumbnail().
Now it returns the Surface, so the caller does not need to create one and pass it.
2011-08-07 15:19:09 +02:00
Filippos Karapetis
0d3a2267c7 SAGA: Removed several game flags, which are now found more reliably on the fly
- The logo screens of all ITE versions are shown correctly now
- Wyrmkeep versions, demo versions with scene substitutes, demos with
mono music and demo versions with LE VOX encoded voices are all found
automatically now
2011-07-09 15:59:30 +03:00
Max Horn
593b929047 DETECTOR: Separate code for handling obsolete gameids from advanced detector
This includes a renaming of ADObsoleteGameID to Engine::ObsoleteGameID,
and AdvancedDetector::findGameID now is Engines::findGameID.

Doxygen comments were added or improved
2011-06-14 18:52:07 +02:00
Max Horn
7c992d6598 DETECTOR: Merge ADParams into AdvancedMetaEngine 2011-06-14 18:17:01 +02:00
Max Horn
6fb0d6e8e9 SAGA: Switch to alternate AdvancedMetaEngine, avoid ADParams 2011-06-10 22:15:44 +02:00
Max Horn
4827cc914a ENGINES: Change incorrect use of 'target' to 'gameid' 2011-06-10 22:15:40 +02:00
D G Turner
9c2759c1a7 SAGA: Replace snprintf() usage with Common::String::format()
Safer and less portability issues.
2011-06-02 20:54:49 +01:00
Max Horn
477d6233c3 ENGINES: Change 2nd param of Engine::saveGameState to Common::String 2011-06-02 18:31:59 +02:00
Thierry Crozat
3c59e37035 ENGINES: Unify engine names
This unifies the engine names in MetaEngine::getName() and the
credits. In particular drop "Engine" or "engine" from the names when
it was present and use expanded names in credits when the
MetaEngine uses it (e.g. "Beneath a Steel Sky" instead of "BASS").
2011-05-16 00:11:32 +01:00
strangerke
69b1485a22 GIT: Clean up: Suppress SVN tags, now useless 2011-05-12 01:16:22 +02:00
Max Horn
0ce2ca4e00 COMMON: Replace MKID_BE by MKTAG
MKID_BE relied on unspecified behavior of the C++ compiler,
and as such was always a bit unsafe. The new MKTAG macro
is slightly less elegant, but does no longer depend on the
behavior of the compiler.
Inspired by FFmpeg, which has an almost identical macro.
2011-04-12 16:53:15 +02:00
md5
80e362f6ea SAGA: Fixed bug #3275973 - "IHNM: Dialog options vanish" 2011-04-06 09:49:39 +03:00
Max Horn
efcfb40da9 SAGA: Add some const qualifiers to SagaEngine methods
svn-id: r53737
2010-10-23 15:45:22 +00:00
Andrew Kurushin
f24394b85f SAGA: replace Actor::_pathCell, Anim::*, Converse::text, IsoMap::*, Music::_songTable, ObjectMap::*, PalAnim::*, Scene::sceneLut, SndRes::_fxTable* malloc based arrays with Common::Array implementation
add ByteArray type
fix debug Tile Hittest frame drawing
debug 0x%x => 0x%X

svn-id: r53719
2010-10-22 23:13:17 +00:00
Eugene Sandulenko
44a39ffbc6 AdvancedDetector: Add new parameter directoryGlobs.
Without this parameter mass detection gave tons of false alarms.
Use globbing for narrowing down the depth search.

svn-id: r49788
2010-06-15 10:59:23 +00:00
Eugene Sandulenko
4d517ed0e9 Extended advancedDetector with depth parameter.
Now AD can search nested directories. By default it is turned off,
but there is new parameter to ADParameters struct. Usually value
of 2 is good enough for all purposes.

svn-id: r49653
2010-06-14 14:50:23 +00:00
Max Horn
cac0ac66e2 COMMON: Get rid of Common::StringList
svn-id: r48287
2010-03-18 15:54:40 +00:00
Filippos Karapetis
b4f1960318 Reverted parts of revisions #44298, #44299 and #44300, to prevent warnings and issues in compilers which don't support NORETURN
svn-id: r44314
2009-09-24 17:52:53 +00:00
Filippos Karapetis
6b79910bcb Fixed some more warnings about unreachable code
svn-id: r44300
2009-09-24 10:15:50 +00:00
Johannes Schickel
595501b60c Fix bug #2827459 "ITE: Ingame GUI does not list slots 96-99", by defining in SagaMetaEngine that the last valid save slot for SAGA is slot 95.
svn-id: r42845
2009-07-27 17:48:40 +00:00
Eugene Sandulenko
1bd6f6c99f Added game GUI options to advancedDetector and updated all engines
svn-id: r41272
2009-06-06 17:56:41 +00:00
Max Horn
fb79b18571 Changed SaveFileManager methods to take Common::String params (instead of char pointers)
svn-id: r41000
2009-05-29 14:38:22 +00:00
Jordi Vilalta Prat
047f116515 Renamed MetaEngine::getCopyright() to getOriginalCopyright() to better match the meaning of the returned string, as discussed some time ago in scummvm-devel
svn-id: r39132
2009-03-05 12:04:58 +00:00
Max Horn
28cf213605 Moved AdvancedDetector from common/ to engines/
svn-id: r36132
2009-01-29 22:13:01 +00:00
Filippos Karapetis
80832ffb8f Got rid of explicit game sound info
svn-id: r35727
2009-01-04 15:44:33 +00:00
Filippos Karapetis
203358bcb7 Improved handling of sound resources
svn-id: r35724
2009-01-04 14:38:03 +00:00
Filippos Karapetis
90d762c261 Wrapped more engine-specific code around appropriate ifdefs
svn-id: r35679
2009-01-02 19:10:51 +00:00
Eugene Sandulenko
007c39a84d Let compiled subengines be visible in About dialog.
svn-id: r35677
2009-01-02 18:20:15 +00:00
Filippos Karapetis
d5b6996c45 - Split the IHNM script functions into a different file
- Added two new defines, ENABLE_IHNM and ENABLE_SAGA2 (enabled by default), which can be used to remove the parts of the SAGA engine which are specific to IHNM and SAGA 2 games. Hopefully, this will reduce the size of the engine even more for platforms with little memory (e.g. the Nintendo DS)

svn-id: r35672
2009-01-02 16:52:38 +00:00
Eugene Sandulenko
696897b058 Whoa! Removing trailing spaces.
svn-id: r35648
2009-01-01 15:06:43 +00:00
Filippos Karapetis
9a5f45a40c - IHNM Mac loads correctly again
- Removed isBigEndian from GameSoundInfo
- Removed GF_BIG_ENDIAN_DATA
- Stopped loading the options panel for non-interactive ITE demos (it doesn't exist)
- Fixed crash when exiting from non-interactive ITE demos

svn-id: r35615
2008-12-29 17:30:29 +00:00
Filippos Karapetis
9a57f42399 logicalWidth -> width
logicalHeight -> height

svn-id: r35488
2008-12-22 14:36:58 +00:00
Filippos Karapetis
437384a838 - Split the SAGA resource manager in 3 different ones, depending on the resource type (RSC for ITE, RES for IHNM and HRS for DINO/FTA2). The SAGA 2 HRS resource manager is still a stub
- Added detection for the voice file of FTA2

svn-id: r35484
2008-12-22 14:13:15 +00:00
Filippos Karapetis
2257db88d3 - Added some stubs for the SAGA2 games dino and fta2
- Stopped loading the isomap and puzzle game modules for IHNM, as they are not used for that game (this saves some memory for IHNM)
- Removed getDisplayWidth() and getDisplayHeight()

svn-id: r35473
2008-12-21 22:52:44 +00:00
Filippos Karapetis
d0f4f97ea9 Cleaned up the mess with game IDs and game types: removed game types, reduced the game IDs and added game features where necessary
svn-id: r35467
2008-12-21 15:59:05 +00:00
Filippos Karapetis
a859e2c1c9 Cleanup
svn-id: r34988
2008-11-10 18:51:51 +00:00
Filippos Karapetis
3ccfce260f SAGA save games now contain thumbnails and creation date/time (visible from the GMM save/load screens)
svn-id: r34986
2008-11-10 14:11:30 +00:00
Filippos Karapetis
f5729a4a8b - The GMM save dialog is now working for all engines which support the appropriate features
- Added a new method to the MetaEngine class, getMaximumSaveSlot(), and implemented it in all engines for which the listSavefiles() method is implemented (it goes together with the listSavefiles method). It is used to fill the unused save slots in the save/load dialogs of each engine, so that the user can create new save games in empty slots
- Unified the save/load dialog list numbering in the GMM load/save screens and in the load screen of the main menu (before a game is started)

svn-id: r34963
2008-11-09 16:13:34 +00:00