aboutsummaryrefslogtreecommitdiff
path: root/engines/sci
AgeCommit message (Collapse)Author
2017-09-08SCI: Improve array bounds safety checkColin Snover
There is no practical risk now since the enum and array sizes are the same, but there is no reason to rely on a separate data structure to avoid potential out-of-bounds index use here instead of just checking the array size directly, which is always safe.
2017-09-04COMMON: Add helper macro for printing rectsColin Snover
2017-09-04SCI32: Fix creating over 20 saves in Phant2 native save gameColin Snover
2017-09-04SCI32: Disable save game mangling in Phant2Colin Snover
Fixes Trac#10035.
2017-09-04SCI: Remove already-finished TODOColin Snover
2017-09-04SCI: Allow deep inspection of objects in debuggerColin Snover
2017-09-03SCI: Fix builds with SCI32 disabledColin Snover
2017-09-03SCI32: Exit early from screen shake if engine is quittingColin Snover
2017-09-03SCI32: Ignore bad audio map entries on GK2 DE CD 6Colin Snover
This patch also cleans up the GK2 audio map blacklisting code to reduce the number of redundant checks being made during audio map processing. Fixes Trac#10172.
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-09-03SCI32: Fix closing a Robot when its Plane has been destroyed alreadyColin Snover
This can happen during game restores in at least Lighthouse, which has a Robot on the menu screen whose plane is deleted prior to a call to kRestoreGame32 (which closes the Robot).
2017-09-03SCI32: Make audio resource size mismatch non-fatalColin Snover
Lighthouse audio.225 in RESSCI.002 (US English 1.0C) triggers this condition; the audio resource says its data is one byte larger than the recorded size in the volume. In this case, just use the smaller of the two values for the size, to avoid overreads.
2017-09-03SCI32: Fix Lighthouse GUIOsColin Snover
2017-09-03SCI32: Correct LSL7 demo GUIOsColin Snover
2017-09-03SCI32: Add standard SRDialog patches to LighthouseColin Snover
2017-09-03SCI32: Fix crash after credits in LighthouseColin Snover
2017-09-03SCI32: Clip videos to the screenColin Snover
This is needed for 8.VMD in Lighthouse (room 380, the credits room), which is rendered partially off the bottom of the screen. OSystem does not accept rects that are offscreen. Technically this video probably should not have been doubled vertically by game scripts, but there is not enough space to fix the rendering with a regular script patch, and it is a very unimportant video.
2017-09-03SCI32: Implement kCelLinkColin Snover
kCelLink exists in SSCI since 2.1mid, but it is only known to be used in Lighthouse, during the weapon creation puzzle near the end of the game.
2017-08-26SCI32: Ignore invalid audio maps in Phant2 FRColin Snover
Fixes Trac#10049.
2017-08-26SCI32: Ignore invalid audio map in GK2 DEColin Snover
Fixes Trac#10143.
2017-08-26SCI32: Limit existing bad audio map resource skips by languageColin Snover
Since audio maps change when game speech is localised, it makes sense to limit audio map skips by language until it turns out that the same problem exists in more than one language release, so we do not accidentally skip a map that is bad in one language, but OK in another language.
2017-08-26SCI32: Allow changing SFX/speech volume in GK2Colin Snover
Originally, changing the SFX volume from ScummVM was disabled because the game itself only allowed adjustment of music volume, so adjusting the SFX volume would indirectly affect the music volume. On reflection, allowing the adjustment of SFX volume even though this also changes the music volume seems preferable to not allowing any adjustment of the SFX/speech volumes.
2017-08-26SCI32: Fix SFX volume being misapplied to music & speech in some gamesColin Snover
This was happening in games with game scripts that control the master volume themselves by applying the master volume to each channel sent to the kernel, instead of relying on the kernel to manage the master volume for them.
2017-08-25SCI32: Stop blacklisting 37.MAP from PhantasmagoriaColin Snover
It turns out that GOG.com version of Phantasmagoria needs the 37.MAP patch file because for some reason the 37.MAP in RESSCI.000 is empty (36 bytes, versus the correct file which is ~1kB). Fortunately, this file is the same across all CDs in the original US release, so hopefully unblocking this patch will not cause any problems for any of the CD releases either. Fixes Trac#10161.
2017-08-25JANITORIAL: Remove unnecessary semicolonTorbjörn Andersson
2017-08-07SCI32: Add script patch for last action sequence in PQ4Martin Kiewitz
To also turn ::ticks into ::seconds For further information see 5a4840e
2017-08-07SCI32: Add script patch for Bitty Kitty / Barbie game glitchMartin Kiewitz
Fixes bug #9849 Which is a pseudo-game-breaking glitch of the game itself. Applies to at least English+German floppy and English CD version.
2017-08-06SCI32: Add script patches for action sequences in city hallMartin Kiewitz
2017-08-06JANITORIAL: Silence more GCC 7 warningsTorbjörn Andersson
All these fall through were marked as deliberate, so again I've only changed the comment to silence GCC.
2017-08-06JANITORIAL: Silence some GCC 7 warningsTorbjörn Andersson
We have lots and lots of -Wimplicit-fallthrough warnings, and I don't know if it's worth fixing them or not. But if we want to, this is how it can be done.
2017-08-04SCI32: Always initialize RobotDecoder::_syncFrameColin Snover
This flag previously was only being initialized in Robot files with audio. This means the flag was incorrectly carried to Robots without audio, and if the first Robot played by the game had no audio, it would be a garbage read. (This latter thing happens at the beginning of Lighthouse.)
2017-08-04SCI32: Fix loading audio resources from RESSCI.PATColin Snover
This is used by Lighthouse.
2017-07-30SCI32: Add ADGF_CD flag to Phant2 detection entriesColin Snover
2017-07-30SCI32: Promote Phant2 to ADGF_TESTINGColin Snover
2017-07-30SCI32: Increase maximum save games for Phant2Colin Snover
2017-07-30SCI32: Make sure audio is not paused from the futureColin Snover
This can occur when a save game from the past is loaded and the audio system was paused prior to loading the save game. This was fixed eventually in SSCI somewhere around GK2, since it pauses all audio before restoring a game and then resumes it after the save game is loaded (after all of the audio channels have been added from the save game). Since this would seem to be a problem for earlier games as well, this change is applied universally instead of being conditionally applied only to the games with interpreters containing this change. This patch contains some additional sanity checks that emit warnings if individual channels end up being started from the future. There was never such checking in SSCI, and it does not seem likely to ever happen, but it is unclear right now if this is an actual problem or not.
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-30SCI: Show inherited methods when viewing an object in the debuggerColin Snover
2017-07-30SCI32: Fix breakpoints on reading/writing selectors in SCI3Colin Snover
2017-07-30SCI32: Indicate that LSL7 and Torin use the same save/load codeColin Snover
2017-07-30SCI32: Fix Phant2 game nameColin Snover
The game was originally titled "Phantasmagoria: A Puzzle of Flesh", but the publisher now seem to be titling it "Phantasmagoria 2: A Puzzle of Flesh". It was never referred to using roman numerals in any release as far as I can find (the French "Fatal Obsessions" release was just "Phantasmagoria: Obsessions Fatales").
2017-07-30SCI32: Minor code deduplicationColin Snover
2017-07-30SCI32: Implement guest additions volume sync for Phant2Colin Snover
2017-07-30SCI: Expose API for retrieving multiple objects with the same nameColin Snover
This is needed by Phant2 guest additions to find the correct slider for the music volume, since the sliders have no unique name.
2017-07-30SCI32: Update Phant2 GUIOs to reflect game featuresColin Snover
2017-07-30SCI32: Add uninitialized read workaround for Phant2Colin Snover
2017-07-30SCI32: Add workaround entry for PQ4 floppy city hall room 390Martin Kiewitz
To fix an uninitialized read when clicking somewhere to walk around in city hall.
2017-07-30SCI32: Add script patch for PQ4 floppy computer issueMartin Kiewitz
This fixes buggy PQ4 system script code and makes entering user and password on the police computer not trigger a signature mismatch anymore. Script code was fixed by Sierra in PQ4 CD.