681 Commits

Author SHA1 Message Date
David Fioramonti
2649c429db LAB: By default skip thumbnail loading for readSaveGameHeader
This changes the convention back to skipping the thumbnail loading
for readSaveGameHeader. querySaveMetaInfos is the only place it
shouldn't be skipped.
2018-08-03 14:51:12 +02:00
David Fioramonti
75587c3c66 LAB: Fix thumbnail issues
Fixes Trac#10619.

The thumbnail loading for the saved games was defaulting to
disabled so no thumbnail was being loaded and this caused trying
to show the thumbnail to crash scummvm.

So I have set the thumbnail pointer to be null if the thumbnail
doesn't get loaded and I've set the thumnail to not be skipped
so that thumbnails get shown when using the gui.
2018-07-25 10:15:32 +02:00
Adrian Frühwirth
c4edac23b2 LAB: Fix UB (use of deallocated memory) 2018-05-05 17:54:46 +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
Colin Snover
432fd522d2 ENGINES: Remove default1x scaler flag
This flag is removed for a few reasons:

* Engines universally set this flag to true for widths > 320,
  which made it redundant everywhere;
* This flag functioned primarily as a "force 1x scaler" flag,
  since its behaviour was almost completely undocumented and users
  would need to figure out that they'd need an explicit non-default
  scaler set to get a scaler to operate at widths > 320;
* (Most importantly) engines should not be in the business of
  deciding how the backend may choose to render its virtual screen.
  The choice of rendering behaviour belongs to the user, and the
  backend, in that order.

A nearby future commit restores the default1x scaler behaviour in
the SDL backend code for the moment, but in the future it is my
hope that there will be a better configuration UI to allow users
to specify how they want scaling to work for high resolutions.
2017-10-07 12:30:29 -05:00
Alexandre Detiste
f8388db32b JANITORIAL: Typos
I've not fixed this one, maybe it's on purpose:

RELASE -> RELEASE

engines/mads/staticres.cpp:const char *const kGameReleaseTitleStr =
"GAME RELASE VERSION INFO";
2016-10-31 09:56:43 +01:00
Eugene Sandulenko
dead4aa014 JANITORIAL: Remove trailing spaces 2016-10-09 14:59:58 +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
Hubert Maier
f91cab147e Fix LAB copyright sign 2016-05-29 15:13:27 +03:00
Filippos Karapetis
b2ec7acbf7 LAB: Fix waiting for sounds embedded in animations
A regression of 75d1385c8d1ba61b5740a0b43966d3c2f111440d
2016-05-17 11:22:27 +03:00
Ori Avtalion
3564032330 JANITORIAL: Reduce audio header dependencies 2016-04-14 16:10:21 +03:00
Johannes Schickel
7fde01b658 LAB: Remove gap handling from removeSaveState.
This removes the annoying behavior that removing a save state causes your
physical files to be renamed.
2016-03-08 19:07:48 +01: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
Bendegúz
82e73c38fc LAB: Process events during ending sequence
LAB: Fix bug #7022 - Events not processed during ending sequence
2016-03-05 15:33:34 +01:00
Kirben
1ad3b6d3cf LAB: Remove ADGF_TESTING from DOS version of Labyrinth of Time. 2016-02-28 11:13:49 +11:00
Johannes Schickel
c31fdb1efc LAB: Let listSaves return list sorted on slot numbers. 2016-02-25 21:39:45 +01:00
Johannes Schickel
9d3fdfc300 LAB: Enable by default.
Thanks to tsoliman for noticing.
2016-02-10 07:00:16 +01:00
Filippos Karapetis
c5d78ecd63 LAB: Allow saving/loading in animated scenes - bug #7014 2016-02-08 00:19:06 +02:00
Filippos Karapetis
eb97c05ccc LAB: Merge all the different scene restoring code after saving/loading 2016-02-08 00:19:05 +02:00
Filippos Karapetis
e6fbf372fb LAB: Fix wrong glowing belt file in getInvName()
A regression from 4fb53ad170f483bbce2e27643cd3ee1fa604cebd
2016-02-02 21:19:59 +02:00
Willem Jan Palenstijn
727ba4f2b1 LAB: Fix loading rules from room 0
Regression from cd3ebf687c0e783147723095056d72684eddd347.

This fixes bug #6997.
2016-02-02 00:18:34 +01:00
Johannes Schickel
b2db9434de LAB: Only request actual save slots in listSaves. 2016-01-26 16:35:30 +01:00
Strangerke
6e95d092f5 LAB: Fix the coordinates of the inventory buttons of the non-Windows versions 2016-01-26 00:31:52 +01:00
Strangerke
75d1385c8d LAB: Wait for the end of sound effects when they are played in Diff files. Fixes toilet noises. 2016-01-25 01:11:51 +01:00
Strangerke
2f03bc7776 LAB: Add a workaround to load the right file in rooms 121 & 122 (Dos and Windows) 2016-01-25 00:35:38 +01:00
Strangerke
fb34336863 LAB: Do not crash the DOS version in case of missing file as some files are known to be missing in the original 2016-01-25 00:21:28 +01:00
Strangerke
78b9a903ad LAB: Add a workaround for DOS version using long filenames 2016-01-24 13:34:37 +01:00
Strangerke
9793201dea LAB: Remove testing flag on the Amiga version, set it as unsupported 2016-01-24 01:38:29 +01:00
Strangerke
4c43e575b3 LAB: Fix DOS filename in speciallocks 2016-01-24 01:36:00 +01:00
Filippos Karapetis
792ae03373 LAB: Mark all versions as testing 2016-01-23 03:18:52 +02:00
Filippos Karapetis
617ca2e306 LAB: Move mouse code in interfaceOn, for consistency with interfaceOff 2016-01-23 03:18:52 +02:00
Filippos Karapetis
f3cdd217ba LAB: Get rid of _interfaceOff 2016-01-15 21:03:58 +02:00
Filippos Karapetis
afa75b7047 LAB: Separate the interface from the event manager 2016-01-15 21:03:57 +02:00
Filippos Karapetis
ad1aac46ce LAB: Remove superfluous calls to updateEvents()
These are leftovers, as updateEvents() was called to fill in the music
buffer
2016-01-14 23:41:36 +02:00
Filippos Karapetis
924d43b7aa LAB: Better separation of the event and interface code 2016-01-14 23:41:35 +02:00
Filippos Karapetis
46fdd5e7a4 LAB: Clean up the trial warning handling code 2016-01-14 23:41:35 +02:00
Filippos Karapetis
e8d1100fec LAB: Allow the game to be launched from the GAME folder
The FONTS folder is pretty much useless, so if a user points ScummVM
to the GAME folder, handle the game files properly
2016-01-14 23:41:34 +02:00
Filippos Karapetis
280bd0f7c2 LAB: Read the header of DIFF files when opening them 2016-01-14 23:41:34 +02:00
Filippos Karapetis
b61ade788e LAB: Call checkRoomMusic() when changing a room 2016-01-14 23:41:33 +02:00
Filippos Karapetis
374a76c89f LAB: Use the sample speed value instead of a define for game music 2016-01-14 23:41:33 +02:00
Filippos Karapetis
ce5f8f32cb LAB: Clean up the event loops of special game screens 2016-01-14 23:41:32 +02:00
Filippos Karapetis
816381bbfe LAB: Move frame waiting outside setAmigaPal() 2016-01-14 23:41:32 +02:00
Filippos Karapetis
0f45658259 LAB: Fix accidental change to code style 2016-01-14 23:41:31 +02:00
Filippos Karapetis
4f0985c2de LAB: Hide the mouse cursor while fading when closing the map 2016-01-14 23:41:31 +02:00
Filippos Karapetis
1d4a62a028 LAB: Properly update the screen in monitors 2016-01-14 23:41:31 +02:00
Filippos Karapetis
241c9829f6 LAB: Rename doCloseup() to reflect its actual purpose 2016-01-14 23:41:30 +02:00
Filippos Karapetis
cd2520b795 LAB: Get rid of setDirection()
A leftover from code restructuring
2016-01-14 23:41:30 +02:00
Filippos Karapetis
463f889447 LAB: Rename the members of the CrumbData struct
This helps to distinguish them from the LabEngine variables
2016-01-14 23:41:29 +02:00
Filippos Karapetis
cb0f7e8a92 LAB: Cleanup and reorder the music code 2016-01-14 23:41:29 +02:00