Commit Graph
611 Commits
Author SHA1 Message Date
David Fioramonti b47cae789b TINSEL: Fix displayed saved game month off by one
This corrects the displayed month for querySaveMetaInfos being a month
behind.
2018-08-07 18:38:40 -07:00
David Fioramonti f06cf65479 TINSEL: Add playTime to saved game and display it
Also bumps the saved game format version to 3.

I changed the order of how the data is saved so that the playtime could
be read in without skipping as much data.

This is because querySaveMetaInfos only needs the metafields where as
saveload::DoRestore() needs more of the header.

A crash was happening when trying to delete a saved game from the launcher.
It is because the engine is not initalized. I assign a dummy value to
resolve the issue.

Loading saved games from previous versions works.

When an old version saved game is loaded it will start with zero playtime.

Old saved games are shown as not having playtime data.
2018-08-03 14:52:47 +02:00
David Fioramonti aa60f14f52 TINSEL: Remove thumbnail support 2018-07-09 21:31:23 +01:00
David Fioramonti c47dc11c9a TINSEL: Show saved game creation time in load/save gui
Saved games inspected via the ScummVM load or save
gui will now show the year, month, day, hour, and minute
of its creation. This was already being saved in the
saved game header so no version bump is necessary.

This required adding kSavesSupportMetaInfo and
kSavesSupportCreationDate features. I also had to
add kSavesSupportThumbnail or the saved date is not
shown.

It was necessary to write querySaveMetaInfos.
2018-07-06 20:38:14 -07:00
Bastien Bouclet cf1ebf2951 ENGINES: Add unknown game variants to the game detector results 2018-05-10 09:04:23 +02:00
Adrian Frühwirth a20f90cbb7 JANITORIAL: Fix formatting 2018-04-22 00:56:21 +02:00
Paul Gilbert ea524fa792 TINSEL: Fix held items not in either inventory being lost 2018-04-20 22:27:33 -04:00
Paul Gilbert da79ac1d42 TINSEL: Fix hang in DW1 GRA when using items on Temple big hammer 2018-04-18 21:06:08 -04:00
Paul Gilbert 4c65db13df TINSEL: Fix loading DW1 savegames with a held item 2018-04-18 21:06:08 -04:00
Bastien Bouclet eae6930ae0 TINSEL: Remove now duplicate VER macro 2018-02-01 14:42:33 +01:00
Colin Snover 93d465f2e3 TINSEL: Increase maximum number of objects
This needs to be at least 374 to avoid crashes in the in-game
save/load dialogues with save games using the maximum 40 letters
per save game, so just round up to the next power of two (which
increases memory usage by a whopping ~20KiB) to give more than
enough space for long save game names.

Fixes Trac#6748.
2017-11-19 23:04:32 -06: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
Torbjörn Andersson 70a2ca8b7d JANITORIAL: Silence more GCC 7 warnings
All these fall through were marked as deliberate, so again I've only
changed the comment to silence GCC.
2017-08-06 13:30:51 +02:00
Paul Gilbert 9cda101b89 TINSEL: Fix some DW2 text/voice not playing all the way through 2017-07-16 11:07:39 -04:00
Ben Castricum 6f38c1e55d ALL: game state => saved game 2016-11-29 20:15:20 +01: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
Eugene Sandulenko 406b8cf33b TINSEL: Move debug channel registration to the very top of the engine constructor 2016-07-28 11:45:33 +03:00
Eugene Sandulenko 4dc60b525d TINSEL: Fix class initialization 2016-06-17 12:10:11 +02:00
Eugene Sandulenko f225442ad0 TINSEL: Fix illegal memory reads.
In case of "unnamed" case (see line 582) we were memcpy'ing 31 byte from
the heap.
2016-05-31 17:12:18 +02:00
Eugene Sandulenko 89890523c2 TINSEL: Guard against illegal memory writes 2016-05-31 17:12:18 +02:00
Eugene Sandulenko cf42883f5e TOON: Init memory before usage 2016-05-31 17:12:18 +02:00
Eugene Sandulenko 843694933d TINSEL: Fix out-of-bounds array access 2016-05-18 12:38:15 +02:00
Eugene Sandulenko 33abb6118f ALL: Change main engine header guard defines to <directory>_<engine>_H
Recently we started to use this as new semantics, although in the past
we used simly <engine>_H. Now these guard defines are consistent with
rest of the files which are used in the engines.
2016-05-17 18:21:30 +02:00
Eugene Sandulenko a57aa55999 TINSEL: Safer string manipulation 2016-05-11 12:32:18 +02:00
Eugene Sandulenko ea5ac5e626 TINSEL: Fix number of buffer overruns 2016-05-09 14:36:59 +02:00
Ori Avtalion 3564032330 JANITORIAL: Reduce audio header dependencies 2016-04-14 16:10:21 +03:00
Matthew Hoops aa6ff44440 BACKENDS: Only expose one set of functions for AudioCDManager
Engines should only have to call one set of functions and not decide between the two. In fact, the 'emulation' API was documented to just call the 'real CD' API.
2016-03-13 13:57:19 +01:00
Matthew Hoops fb6fe1332a BACKENDS: Move to an openCD() without parameters as the public API 2016-03-13 13:52:24 +01:00
Johannes Schickel 3aecd8ef2a ENGINES: Make variable names of ADGameDescription conform to our guidelines.
gameid     -> gameId
guioptions -> guiOptions
2016-03-08 19:01:38 +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
Johannes Schickel cae26227a0 TINSEL: Let listSaves return list sorted on slot numbers. 2016-02-25 21:39:45 +01:00
Martin Kiewitz 1d8646ee01 TINSEL: Enable Miles Audio for DW1+DW1CD Demo only
DW1 floppy demo doesn't seem to have audio at all
2016-02-09 02:14:08 +01:00
Marcus Comstedt 2a1b80fe18 TINSEL: Fix crash on big-endian hosts 2016-02-08 21:26:37 +01:00
Marcus Comstedt 9b7ab59fbb TINSEL: Fix crash when error() is called early 2016-02-07 13:03:52 +01:00
Johannes Schickel 140d571f22 TINSEL: Only request actual save slots in listSaves. 2016-01-26 16:35:30 +01:00
Eugene Sandulenko c7695cc929 TINSEL: Added detection for DW1 fan translation 2016-01-10 09:21:03 +01:00
Ori Avtalion d8045c6727 JANITORIAL: Fix clang printf warnings 2016-01-07 14:55:32 +02:00
Paul Gilbert bf4ab6d52a TINSEL: Remove redundant assert check in SetHookScene
In the original, a second SetHookScene call can validly occur due to first
placing the cover-switched book in the bookcase, and then by the thief
leaving if his arrival happens immediately.
2015-12-01 21:48:14 -05:00
Martin Kiewitz 4e852a691b TINSEL: DW1: Improve timbre file error message
it now mentions all the possible file names.
2015-10-24 20:25:48 +02:00
Martin Kiewitz 0800d67f65 TINSEL: DW1: enable Miles Audio for DOS only 2015-07-04 23:08:27 +02:00
Martin Kiewitz 3f31b5ba64 TINSEL: DW1: Miles Audio AdLib MIDPAK.AD support
- added support for MIDPAK.AD timbre files on top
FAT.OPL. FAT.OPL gets copied by installer into MIDPAK.AD for this version
- changed order of timbre file checking
- adjusted and improved comments about discworld 1 versions
2015-07-04 22:20:34 +02:00
Martin Kiewitz b8bec0aaa0 TINSEL: DW1: Miles Audio AdLib support for FAT.OPL
eriktorbjorn owns a version of DW1, that only has FAT.OPL and no
SAMPLE.AD/SAMPLE.OPL. We check if SAMPLE.AD/.OPL are available,
if not we try our luck with FAT.OPL
2015-07-04 21:37:24 +02:00
Kirben fba886a21f TINSEL: Add drivers sub folder in Discworld 1, for Miles audio files. 2015-07-04 13:51:45 +10:00
Matthew Hoops a1e2986056 TINSEL: Silence a gcc warning 2015-06-28 20:05:24 -04:00
Martin Kiewitz 60903c2908 TINSEL: DW1: MT32: don't pass timbre file
because the game does not have one
2015-06-28 12:49:12 +02:00
Martin Kiewitz 63656348a7 TINSEL: DW1: add support for Miles Audio driver
- AdLib + MT32 support
2015-06-28 02:10:18 +02:00
Torbjörn Andersson 497324467f TINSEL: Move object creation from constructor to run()
Moved the creation of _midiMusic, _pcmMusic, _sound and _bmv from
the constructor to run(). It was reported on the forum that the
MT-32 emulator didn't work for Discworld, and I'm speculating that
this is because it was being initialized before the "extra path"
had been added to the search path.

It's likely that not all of these objects are needed for every
version of the game. Fixing that is left as an exercise for
someone more familiar with the different game versions than me.
2014-10-17 19:19:55 +02:00
Johannes Schickel ae4ffe01f0 ALL: Rename Debugger::DCmd_Register to Debugger::registerCmd. 2014-05-27 02:04:08 +02:00
Johannes Schickel daa8d57a86 ALL: Rename Debugger::DebugPrintf to Debugger::debugPrintf. 2014-05-27 02:04:07 +02:00