aboutsummaryrefslogtreecommitdiff
path: root/engines/sci/engine/guest_additions.cpp
AgeCommit message (Collapse)Author
2019-03-27SCI: Exclude GK1/QFG4 sync when SCI32 disabledsluicebox
2019-03-27SCI: Add cast to prev commit to fix buildssluicebox
2019-03-27SCI: Synchronize QFG4 control panel audio settingssluicebox
Fixes Audio button in control panel getting out of sync with the message mode set by ScummVM.
2019-03-27SCI: Fix broken speech after starting in text modesluicebox
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.
2018-09-04SCI32: Fix typoFilippos Karapetis
2018-09-04SCI32: Add more workarounds for Hoyle Classic GamesFilippos Karapetis
This fixes issues with Bridge and Backgammon. Now, Hoyle 5 and its variants should be in a very good state for testing
2018-09-01SCI32: Add a game option to double the videos in KQ7 by defaultFilippos Karapetis
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-08-30SCI32: Add audio volume sync support for Hoyle5Filippos Karapetis
2017-09-30SCI32: Fix support for RAMA demoColin Snover
Fixes Trac#10251.
2017-09-28SCI32: Add audio volume sync support for RAMAColin Snover
2017-09-23SCI32: Flush stub RAMA save game to diskColin Snover
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-23SCI32: Fix infinite reload in RAMA when loading from launcherColin Snover
2017-09-23SCI32: Add guest additions save/restore support for RAMAColin Snover
2017-09-23SCI32: Remove unnecessary use of strncmpColin Snover
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-14SCI32: Fix Phant2 "auto-save"Colin Snover
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-09SCI32: Fix Phant2 movie-vs-game playback volumesColin Snover
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-08SCI32: Fix volume config when changing volume from in-game Phant2 controlsColin Snover
2017-09-08SCI32: Toggle Phant2 content censoring from game optionsColin Snover
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-03SCI: Fix builds with SCI32 disabledColin Snover
2017-09-03SCI32: Fix load from launcher for LighthouseColin Snover
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-07-30SCI32: Add load from launcher support for Phant2Colin Snover
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-30SCI32: Implement Phant2 save/load integrationColin Snover
2017-07-30SCI32: Deduplicate guest additions save/load codeColin Snover
2017-07-30SCI32: Minor code deduplicationColin Snover
2017-07-30SCI32: Implement guest additions volume sync for Phant2Colin Snover
2017-07-24SCI32: Add music volume UI sync for MGDXColin Snover
2017-07-17SCI32: Add guest additions support for LSL7Colin Snover
2017-07-16SCI32: Remove duplicate callColin Snover
2017-07-16SCI32: Fix wrong GK1 sound volume syncColin Snover
Fixes Trac#9793.
2017-07-16SCI32: Improve GK1 narrator speech syncColin Snover
2017-06-09SCI32: Fix audio sync recursionColin Snover
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-05-20SCI: Always use SegManager::getObjectName to get object namesColin Snover
This ensures that all object name reading code works the same and is in one place in the codebase.
2017-05-06SCI32: Micro-optimize speedRoom comparisonColin Snover
2017-05-05SCI32: Set a savegame description if none was enteredTarek Soliman
This fixes the the SCI32 incarnation of Trac#5343 (defect#3061964): Savegames with no name can't be restored
2017-04-23SCI: Fix SCI3 exportsColin Snover
Export functions may be relocated above 64k in SCI3, but exports that do not have an entry in the relocation table must be handled the same as SCI1.1-2.1.
2017-04-22SCI: Fix compilation when SCI32 is disabledColin Snover
2017-04-22SCI32: Fix infinite recursion when loading invalid save from launcherColin Snover
2017-04-22SCI32: Fix launcher load for ShiversColin Snover
2017-04-22SCI: Implement delayed restore for SCI32 and move implementations to ↵Colin Snover
GuestAdditions
2017-04-22SCI32: Remove original save/load option from games without ScummVM save ↵Colin Snover
integration
2017-04-22SCI: Move ScummVM kernel calls to 0xe0Colin Snover
2017-04-22SCI: Move ScummVM save/restore to GuestAdditions and reimplement for SCI32Colin Snover
2017-04-21SCI: Improve audio volume & settings sync codeColin Snover
This patch includes enhancements to the ScummVM integration with SCI engine, with particular focus on SCI32 support. 1. Fixes audio volumes syncing erroneously to ScummVM in games that modify the audio volume without user action (e.g. SCI1.1 talkies that reduce music volume during speech playback). Now, volumes will only be synchronised when the user interacts with the game's audio settings. This mechanism works by looking for a known volume control object in the stack, and only syncing when the control object is present. (Ports and planes were researched and found unreliable.) 2. Fixes audio syncing in SCI32 games that do not set game volumes through kDoSoundMasterVolume/kDoAudioVolume, like GK1, GK2, Phant1, and Torin. 3. Fixes speech/subtitles syncing in SCI32 games that do not use global 90, like LSL6hires. 4. Fixes in-game volume controls in SCI32 games reflecting outdated audio volumes when a change is made during the game from the ScummVM launcher. 5. Fixes SCI32 games that would restore volumes from save games or reset volumes on startup, which caused game volumes to be out-of-sync with ScummVM when started. 6. ScummVM integration code for audio sync has been abstracted into a new GuestAdditions class. This keeps the ScummVM- specific code all in one place, with only small hooks into the engine code. ScummVM integrated save/load code should probably also go here in the future. Fixes Trac#9700.