Commit graph

47 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
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
7b9b1b2f3a ZVISION: Remove gap handling from removeSaveState.
This removes the annoying behavior that removing a save state causes your
physical files to be renamed.

As discussed with RichieSams and wjp.
2016-02-25 21:49:43 +01:00
Johannes Schickel
d38a22011e ZVISION: Let listSaves return list sorted on slot numbers. 2016-02-25 21:39:45 +01:00
Johannes Schickel
224a634d7e ZVISION: Only request actual save slots in listSaves. 2016-01-26 16:35:30 +01:00
Johannes Schickel
045717ca2c ZVISION: Use tabs for indentation in detection.cpp. 2015-12-28 00:18:30 +01:00
David Russo
e323853598 ZVISION: Reorganize detection data
Migrated static detection data to detection_tables.h
and removed the need for detection.h includes. Also
edited game option descriptions.
2015-07-07 15:24:26 +01: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
Torbjörn Andersson
76eadc75e2 ZVISION: Add detection for Italian Zork Nemeis (bug #6786) 2015-01-31 19:43:57 +01:00
Filippos Karapetis
11e429672e ZVISION: Add detection for the Spanish version of ZGI (bug #6764) 2015-01-16 01:52:24 +02:00
RichieSams
fb97e58886 ZVISION: Add support for German ZGI - CD version
Fixes #6760
2015-01-13 19:53:38 -06:00
Bastien Bouclet
4b1cec6247 ZVISION: Add detection for the French version of ZGI 2015-01-13 15:47:30 +01:00
RichieSams
468a26be40 ZVISION: Add detection for Nemesis CD - German version
CSCR.ZFS is the same between the German and the French versions. Therefore
we added a detection entry using the language file NEMESIS.STR
2015-01-10 22:19:46 -06: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
9e1510e715 ZVISION: Provide a better description for the double FPS game option 2015-01-09 00:37:16 +02:00
Filippos Karapetis
339abc781c ZVISION: Add detection for the French version of Zork: Nemesis 2015-01-07 23:49:12 +02:00
Filippos Karapetis
4ffaf4df37 ZVISION: Add stubs for the hires VOB MPEG2 videos of ZGI DVD
VOB file handling is based on clone2727's work. The lowres videos are
played for now, until AC3 sound handling is implemented
2015-01-07 11:42:27 +02:00
Filippos Karapetis
1016838bd5 ZVISION: Add support for disabling animations while turning
Also, clean up and document game configuration options, and add a TODO
for QSound support
2014-12-27 16:34:27 +02:00
Filippos Karapetis
ba40b3ea49 ZVISION: Clean up the game settings 2014-12-27 14:29:56 +02:00
Filippos Karapetis
e5f0ee2271 ZVISION: Implement auto-saving 2014-12-26 18:22:18 +02:00
Filippos Karapetis
e4b2913e4a ZVISION: Reorder the detection entries 2014-12-26 04:05:48 +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
ecb1979245 ZVISION: Implement more advanced engine features
Save game thumbnails and save game creation date have now been
implemented
2014-12-08 01:25:27 +02:00
Filippos Karapetis
ec1fdeb25a ZVISION: Implement several advanced engine features and ScummVM dialogs
The functionality to return to launcher, list saves, delete saves, load
games from the launcher and load and save games during runtime has been
implemented. Also, ScummVM save/load dialogs have been implemented.
Saved games now have three numbers in their file extension, bumping the
possible save game slots up to 999
2014-12-08 01:08:27 +02:00
Filippos Karapetis
2a4a6df5f2 ZVISION: Remove superfluous spacing and reorder some includes 2014-12-03 01:12:35 +02:00
Kevin Becker
deeeb0646f ZVISION: Added detection for Zork Grand Inquisitor English DVD version. 2014-11-19 07:44:44 -05:00
Kevin Becker
b12b1e1d25 ZVISION: Added detection for Zork Nemesis English Demo. 2014-11-19 07:44:23 -05:00
Kevin Becker
f7b2cd0a7d ZVISION: Added detection for Zork Grand Inquisitor English Demo. 2014-11-19 07:44:03 -05:00
Marisa-Chan
8b18ba64ae ZVISION: Add support for doubleFPS feature 2014-10-23 17:13:56 +07:00
Marisa-Chan
45589950c0 Merge remote-tracking branch 'upstream/master' into zvision
Conflicts:
	engines/zvision/animation/rlf_animation.cpp
	engines/zvision/animation_control.h
	engines/zvision/core/console.cpp
	engines/zvision/core/events.cpp
	engines/zvision/cursors/cursor.cpp
	engines/zvision/cursors/cursor_manager.cpp
	engines/zvision/cursors/cursor_manager.h
	engines/zvision/fonts/truetype_font.cpp
	engines/zvision/graphics/render_manager.cpp
	engines/zvision/graphics/render_manager.h
	engines/zvision/inventory/inventory_manager.h
	engines/zvision/inventory_manager.h
	engines/zvision/meta_animation.h
	engines/zvision/module.mk
	engines/zvision/scripting/actions.cpp
	engines/zvision/scripting/control.h
	engines/zvision/scripting/controls/animation_control.cpp
	engines/zvision/scripting/controls/animation_control.h
	engines/zvision/scripting/controls/input_control.cpp
	engines/zvision/scripting/controls/lever_control.cpp
	engines/zvision/scripting/controls/timer_node.cpp
	engines/zvision/scripting/controls/timer_node.h
	engines/zvision/scripting/puzzle.h
	engines/zvision/scripting/scr_file_handling.cpp
	engines/zvision/scripting/script_manager.cpp
	engines/zvision/scripting/script_manager.h
	engines/zvision/sidefx.cpp
	engines/zvision/sound/zork_raw.cpp
	engines/zvision/sound/zork_raw.h
	engines/zvision/video/video.cpp
	engines/zvision/video/zork_avi_decoder.h
	engines/zvision/zvision.cpp
	engines/zvision/zvision.h
2014-06-13 21:43:04 +07:00
Johannes Schickel
aa4c5d46f7 ZVISION: Make GPL headers consistent in themselves. 2014-02-18 02:39:40 +01:00
RichieSams
b6af5ae40a ZVISION: Change ZGI detection entry platform to Windows from DOS
ZGI wasn't released on DOS
2013-10-25 18:10:50 -05:00
Marisa-Chan
25834faf07 ZVISION: Style modifing by astyle. 2013-10-20 18:39:06 +00:00
Marisa-Chan
cf99a88322 ZVISION: Change platform detection of ZGI, dos->win. 2013-10-18 19:48:57 +00:00
RichieSams
bad28dc158 ZVISION: Standardize includes order and format
Format is:
common/scummsys.h    (Only if a .cpp file)

header file for this file (Only if a .cpp file)

zengine includes

other includes, grouped by module
2013-10-02 09:10:00 -05:00
RichieSams
11576c5aa9 ZVISION: Rename ZVisionGameIds to use standard format 2013-09-29 21:41:43 -05:00
richiesams
623b2625ff ZVISION: Properly end the AD table 2013-08-05 11:53:58 -05:00
Filippos Karapetis
89d8496dba ZVISION: Add detection entry and directories for ZGI 2013-08-04 13:32:55 -05:00
richiesams
a30f49b556 ZVISION: Add a game type enum to detection
This is needed for sound file differentiation
2013-08-04 13:32:19 -05:00
richiesams
16cc970c9e ZVISION: Normalize remaining CRLF to LF for the remote 2013-08-04 13:31:58 -05:00
richiesams
8ae85892d6 ZVISION: Alter video handling to follow the new video audio track wrapper.
Commit 7a49802c01b0c39be4e86335689db8f3359fde68 created an audio track
hook that allows video decoding to use a differnt audio track encoding method

Also, re-normalize line endings
2013-08-04 13:31:41 -05:00
richiesams
5d64107ff3 ZVISION: normalized file endings 2013-08-04 13:31:40 -05:00
richiesams
0303850bf7 ZVISION: Allow detection to go off inner directory
Game detection needs to be off an actual resource, but all the resources
are in subdirectories. This updates the code to search for the specific
subdirectory.
2013-08-04 13:30:32 -05:00
richiesams
d0b341e6ca ZVISION: Create zvision bare structure
Add zvision base engine to engines/zvision as well as
modify the necessary engine files (configure.engines, etc.)
in order for it to be recognized.
2013-08-04 13:29:44 -05:00