Commit Graph
59 Commits
Author SHA1 Message Date
aryanrawlani28 08e9eb3f18 SCI: Use Strings for SaveGameDescription
- Because Unicode input is not supported, resulting input strings are always ascii and no need to store as U32.
2020-08-30 14:43:41 +02:00
aryanrawlani28 bed05ea134 GUI: U32: Fix compilation errors across entire project
After the initial changes just to scummvm/gui for u32, this commit includes the whole project

- Widget creations now always have u32 descriptions, labels, or tooltips
- Message dialogs make use of default arguments instead of providing the same argument explicitly
- encode String::format properly before passing on as argument where necessary
- Modify hugo utils (yesNoBox and notify box) to use u32
- Also provide fake constructors for the above which redirect to the u32 constructor
- Convert all keymap descriptions to u32 across all engines
- showConfirmationDialog in mohawk now uses u32
- showScummVMDialog also uses u32
- Scumm engine has dialogs now which use u32
- General fixes and wrapping convertToU32String for setLabels and related functions
- Add a fake constructor to MesssageDialog which redirects to the u32 constructor
2020-08-30 14:43:41 +02:00
sluicebox 5f9111f9ed SCI: Fix LSL6 low-resolution volume synchronization
Applies the LSL6 volume sync to the SCI16 (lo-res) versions as well as
the SCI32 (hi-res) versions.
2020-07-10 14:29:32 -07:00
sluicebox 45a7c33b9a SCI32: Sync SQ6 speech and subtitle button states 2020-06-09 01:40:47 -07:00
sluicebox b57c205e30 SCI: Add support for QFG3 automatic saves
Fixes bug #11421
2020-04-21 12:10:09 -07:00
sluicebox 2b1bfeeee5 SCI32: Fix KQ7 Mac logic in restore from launcher 2020-04-20 19:26:14 -07:00
sluicebox 12d37a352b SCI32: Implement KQ7/SHIVERS custom Mac saving
Implements the custom Mac save and restore kPlatform subops
for KQ7 and Shivers. Still TODO: Mothergoose and Lighthouse.
2020-04-19 23:46:13 -07:00
sluicebox 916ce02661 SCI: Factor save game code into functions
Factors some common save game code into functions and creates an
overload of GuestAdditions::runSaveRestore that doesn't rely on
SCI memory for returning the description string, all of which will
be used by the custom save/restore kMacPlatform32 subops.
2020-04-19 23:33:54 -07:00
sluicebox 6975acd5a1 SCI32: Fix TORIN/LSL7 Mac save/restore patch 2020-04-18 01:46:40 -07:00
sluicebox 5b8dd68d21 SCI32: Add PQ4 Mac save/restore workarounds 2020-04-17 17:47:58 -07:00
D G Turner d11c61db14 SCI: Fix Missing Default Switch Cases
These are flagged by GCC if -Wswitch-default is enabled.
2019-12-01 05:06:31 +00:00
sluicebox 6444d279fe SCI32: Fix LSL6 Hires Mac restore from launcher 2019-10-31 04:31:06 -07:00
Filippos Karapetis 2df38d8b2c SCI32: Handle the special Bridge save/load screens in Hoyle 5
Fixes saving/loading the Bridge hands using the ScummVM save/load
screens - bug #11174
2019-10-05 15:49:26 +03:00
Filippos Karapetis 8c439af8cc SCI32: Fix typo in kGlobalVarHoyle5ResponseTime 2019-09-29 23:44:00 +03:00
sluicebox 188c64349f SCI32: Sync HOYLE5 Bridge volume control 2019-09-28 17:41:01 -07:00
sluicebox 698ca464d7 SCI32: Fix loading autosaves (slot 0)
Fixes bugs in trac #11029:

- Slot 1 loading when user selects slot 0 in ScummVM UI
- Slot 1 loading when slot 0 specified on command line
- QFG4 slot 0 not appearing in game's original Restore UI
2019-09-12 11:58:20 -07:00
sluicebox 15700fc001 SCI: Exclude GK1/QFG4 sync when SCI32 disabled 2019-03-27 12:54:11 -07:00
sluicebox a1d950945f SCI: Add cast to prev commit to fix builds 2019-03-27 12:19:11 -07:00
sluicebox 408eeac55c SCI: Synchronize QFG4 control panel audio settings
Fixes Audio button in control panel getting out of sync with
the message mode set by ScummVM.
2019-03-27 20:21:37 +02:00
sluicebox 9c8d425f64 SCI: Fix broken speech after starting in text mode
Fixes bug #10924 where starting or restoring in text mode and then
changing to speech mode within a game results in muted speech.

This is a regression introduced between 1.9 and 2.0, probably as part
of the synchronization refactor that created GuestAdditions.
2019-03-27 07:49:42 +02:00
Filippos Karapetis b26abc7926 SCI32: Fix typo 2018-09-04 23:44:39 +03:00
Filippos Karapetis 4913cd4eb2 SCI32: Add more workarounds for Hoyle Classic Games
This fixes issues with Bridge and Backgammon. Now, Hoyle 5 and its
variants should be in a very good state for testing
2018-09-04 23:36:20 +03:00
Filippos Karapetis 7f83640894 SCI32: Add a game option to double the videos in KQ7 by default
Scaling works correctly with the Windows variant, which uses AVI files,
but the DOS variant uses Robot videos, and the way scaling is done
there is different, and is not working yet with KQ7 DOS. Nonetheless,
both versions are included in the game, so it's not a major issue.
2018-09-01 13:14:38 +03:00
Filippos Karapetis 18837ded6e SCI32: Add audio volume sync support for Hoyle5 2018-08-30 23:51:00 +03:00
Colin Snover b2966f3fc8 SCI32: Fix support for RAMA demo
Fixes Trac#10251.
2017-09-30 01:08:12 -05:00
Colin Snover cd6130cdd6 SCI32: Add audio volume sync support for RAMA 2017-09-28 14:58:17 -05:00
Colin Snover fcf707e20a SCI32: Flush stub RAMA save game to disk
If this is not done and the file is buffered, it will not show up
in the list of save games, and the new save will fail.
2017-09-23 21:39:58 -05:00
Colin Snover 602de8363b SCI32: Fix infinite reload in RAMA when loading from launcher 2017-09-23 20:57:02 -05:00
Colin Snover 9c28c25b67 SCI32: Add guest additions save/restore support for RAMA 2017-09-23 20:57:01 -05:00
Colin Snover 475bb5f91a SCI32: Remove unnecessary use of strncmp
One of the strings is a static string of the same size as the size
passed to strncmp so there is no point in not just using strcmp.
2017-09-23 20:57:01 -05:00
Colin Snover 029eeeb803 SCI32: Fix Phant2 "auto-save"
The game has a feature where it will automatically create a save
game when you quit the game through the in-game control panel (or
when you die, for some reason).

Unfortunately, due to bad programming, this automatic save would
just overwrite whatever was in save slot 1 (slot 0 in the original
interpreter). Find this attempt to auto-save the game and redirect
it to the auto-save slot. This might not be totally correct, but
it is at least better than destroying a save game.

Fixes Trac#10201.
2017-09-14 20:45:02 -05:00
Colin Snover e137d01967 SCI32: Fix Phant2 movie-vs-game playback volumes
This update should give the game the default mix it receives in
Windows. If necessary, the half-volume audio bug in the DOS
interpreter can be added as an additional hack for this game, since
there are still some sub-par audio mixes that might need additional
correction (like Curtis talking to Blob when taking her out of the
cage in his apartment at the start of the game) which were also
bad in the Windows version of the game.

Fixes Trac#10165.
2017-09-09 23:29:57 -05:00
Colin Snover 14b3ed6414 SCI32: Fix volume config when changing volume from in-game Phant2 controls 2017-09-08 22:49:28 -05:00
Colin Snover f11b0a4ff5 SCI32: Toggle Phant2 content censoring from game options
To enable the optional content censoring mode, Phant2 looks
for a RESDUK.PAT file, which is normally placed by the game's
installer if the user chose to enable censorship. If the file
exists, the game reads an unlock password out of the file and
asks the user to enter the password when starting a new game to
create an uncensored game, or to click a "less intense" button
to start the game with censoring. The censorship state of the
game is then persisted in the save game file, and installations
with the RESDUK.PAT file need to enter the password again in
order to restore any of the uncensored saves.

Since we do not have an installer that can enable this feature,
add a game option toggle to enable/disable censoring (for the
releases that have the optional censorship mode) instead so the
censored content feature is available for anyone that wants to use
it. This flag is restored from ScummVM whenever a save game is
loaded, so it can be toggled on or off at any point without
needing a separate save game, unlike in the original interpreter.
2017-09-08 16:03:24 -05:00
Colin Snover 96f702e9a8 SCI: Fix builds with SCI32 disabled 2017-09-03 21:39:22 -05:00
Colin Snover 6e35676a9e SCI32: Fix load from launcher for Lighthouse
Launcher loads of games without a saved Robot were fine, but games
that were saved with a Robot (e.g. room 480 when facing the water)
would crash.
2017-09-03 20:58:09 -05:00
Colin Snover 5c3a2cf16a SCI32: Add load from launcher support for Phant2
Adding a hook into kPlayDuck to skip the intro video feels kind of
crappy, but it seemed simpler, consistent with the other hooks for
launch loading, and therefore preferable versus hot-patching the
script or messing with PC in the VM or something.
2017-07-30 19:21:55 -05:00
Colin Snover 49e8f05714 SCI32: Implement Phant2 save/load integration 2017-07-30 19:10:50 -05:00
Colin Snover 325fd1a3ef SCI32: Deduplicate guest additions save/load code 2017-07-30 19:10:50 -05:00
Colin Snover ba4c28418f SCI32: Minor code deduplication 2017-07-30 19:10:50 -05:00
Colin Snover b13777da8c SCI32: Implement guest additions volume sync for Phant2 2017-07-30 19:10:50 -05:00
Colin Snover 97f7308da3 SCI32: Add music volume UI sync for MGDX 2017-07-24 19:36:38 -05:00
Colin Snover afe344cc1f SCI32: Add guest additions support for LSL7 2017-07-17 22:42:18 -05:00
Colin Snover 2b7b9ec518 SCI32: Remove duplicate call 2017-07-16 21:25:27 -05:00
Colin Snover 2c1a8790b3 SCI32: Fix wrong GK1 sound volume sync
Fixes Trac#9793.
2017-07-16 21:25:27 -05:00
Colin Snover 5fa0e4b780 SCI32: Improve GK1 narrator speech sync 2017-07-16 21:25:27 -05:00
Colin Snover 57d257b36a SCI32: Fix audio sync recursion
Calling to SciEngine::syncSoundSettings from GuestAdditions
recurses back into GuestAdditions, which is obviously not
desirable. Even when it didn't manage to cause infinite recursion
(as in SQ6 demo), it would make the UI behave in broken ways (e.g.
the +/- buttons on the music slider in SQ6 would not work because
the UI would just get updated immediately back to the closest
rounded value).
2017-06-09 23:30:10 -05:00
Colin Snover bc9835ba5e SCI: Always use SegManager::getObjectName to get object names
This ensures that all object name reading code works the same and
is in one place in the codebase.
2017-05-20 21:14:18 -05:00
Colin Snover b73e275b42 SCI32: Micro-optimize speedRoom comparison 2017-05-06 10:38:58 -05:00
Tarek Soliman f30f34cbde SCI32: Set a savegame description if none was entered
This fixes the the SCI32 incarnation of Trac#5343
(defect#3061964): Savegames with no name can't be restored
2017-05-05 12:38:04 -05:00