aboutsummaryrefslogtreecommitdiff
path: root/engines/sci/engine
AgeCommit message (Collapse)Author
2016-10-15SCI32: Fix crash clicking quit button during LSL6hires creditsColin Snover
2016-10-15SCI32: Fix crash in LSL6hires endingColin Snover
Fixes Trac#9613.
2016-10-15SCI32: Fix kPalVary(SetVary) in SCI2.1early gamesColin Snover
Game scripts pass an extra argument which is never used in SSCI. This happens e.g. when warping from room 620 to room 860 in LSL6hires. Adding a signature for kPalVarySetVary for SCI2.1early games only does not work because KQ7 1.51 is detected as SCI2.1early but the interpreter includes kPalVary code that matches SCI2.1mid. Fixes Trac#9611.
2016-10-14SCI: Ensure export breakpoints always trigger on export callsColin Snover
Previously, export calls to non-existing functions would act like there was never an export call, and the breakpoint would never be triggered.
2016-10-14SCI32: Fix slow transitions in SQ6Colin Snover
2016-10-14SCI: Make -propDict- unique for each classWillem Jan Palenstijn
Previously, this was using the offset of the property dict inside the script. However, this isn't unique. For example, SQ6's DPath and PolyPath classes both have their property dict at offset 8 of their respective scripts. This would break Obj::isMemberOf. Closes #846.
2016-10-12SCI: Add modified workaround for Simbani bridge room for GOGWillem Jan Palenstijn
The GOG version comes with a fan patch that uses rm470::name to store a timer to rate-limit rm470::doit. This breaks the workaround detection since that uses the name field.
2016-10-11SCI32: Fix garbage collection of objects stored in IntArraysColin Snover
2016-10-09SCI: Fix memory leakColin Snover
2016-10-09SCI32: Clarify some identifiersColin Snover
transparentColor -> skipColor displace -> origin scaledWidth -> xResolution scaledHeight -> yResolution
2016-10-09SCI32: Change storage type of int16 arrays to hold reg_ts insteadColin Snover
Memory references and integers in SSCI are both 16-bit numbers, so game scripts frequently (incorrectly) use an IntArray instead of an IDArray for holding references. Since references in ScummVM are 32-bit reg_ts, IntArray entries must be large enough to hold reg_ts in order to be compatible with game scripts that store references in integer arrays. The alternative solution is to find and patch all incorrect use of IntArray across all games. This is possible, but a bit risky from a save game stability perspective, since incorrect IntArray usage is sometimes not apparent until well after the array is instantiated (like GK1's global interview array). This change invalidates existing SCI32 save games.
2016-10-09JANITORIAL: Remove trailing spacesEugene Sandulenko
2016-10-08SCI: Release SCI music mutex earlier in reconstructPlayListWillem Jan Palenstijn
This avoids a deadlock where the main thread (via reconstructPlayList) tries to acquire the mixer lock (in soundPlay) while holding the SCI music lock, and the audio thread is holding the mixer lock and tries to acquire the SCI music lock (in miditimerCallback). Bug #6691.
2016-10-05SCI32: Fix uninitialized read when starting a new game in LSL6hiresColin Snover
2016-10-05SCI32: Fix deleting save games in native save/load dialogueColin Snover
2016-10-05SCI32: Fix version file read failure in LSL6hiresColin Snover
2016-10-01SCI32: Fix crash when trying to interrogate bartender in GK1Colin Snover
2016-10-01SCI32: Stub kGraphColin Snover
This kernel call exists only in SCI2 and is a null subroutine. It is called at the beginning of GK1.
2016-10-01SCI32: Use selector lookup in Torin script patch instead of magic numbersColin Snover
2016-10-01SCI32: Fix signature of kString(ArraySetElements) to allow 0 argsColin Snover
2016-10-01SCI32: Fix interrogation screen crash in GK1Colin Snover
2016-09-30SCI32: Sync subtitle text speed with ScummVM GUIColin Snover
2016-09-30SCI: Bump save game number to fix save game compatibilityColin Snover
Version 38 save games were added to the 1.9 release branch with only changes to SCI32 cursor support; shortly thereafter, changes to the general (SCI16+SCI32) save game metadata were committed to master -- without bumping the save game version number. This prevented SCI16 save games from loading correctly in 1.10pre, since the engine expected that version 38 games would have this extra metadata, but they don't.
2016-09-30SCI32: Give savegame-only methods internal linkageColin Snover
2016-09-30SCI32: Reset saved parts of GfxPalette32 when loading save gamesColin Snover
2016-09-30SCI32: Fix some buildbot compiler warningsColin Snover
2016-09-30SCI32: Fix buildWillem Jan Palenstijn
2016-09-29SCI32: Clean up and document GfxPalette32Colin Snover
2016-09-29SCI: Deduplicate call origin formattingColin Snover
2016-09-29SCI: Add prefix to global variable constantsColin Snover
2016-09-29SCI32: Fix kArray signatureColin Snover
2016-09-29SCI32: Fix whitespaceColin Snover
2016-09-29SCI32: Add workaround for kNumCelsColin Snover
This workaround may be able to be vastly simplified in the future since, so far, simply returning the number of cels in loop 0 is enough to make all the scripts with this bug work as expected.
2016-09-29SCI32: Fix SQ6 crash using the special button in Stooge Fighter 3Colin Snover
2016-09-29SCI32: Ease debugging of wrong array typesColin Snover
2016-09-29SCI32: Fix SQ6 crash in Holocabana control panelColin Snover
2016-09-29SCI32: Implement kBitmapCreateFromView and kBitmapGetInfoColin Snover
Used by Torin room 40300 to perform pathfinding by bitmap.
2016-09-29SCI32: Fix Torin inventory crash caused by wrong array typeColin Snover
2016-09-29SCI32: Disable "change directory" button in native save/load dialogueColin Snover
2016-09-29SCI32: Fix compilation warningsColin Snover
2016-09-29SCI32: Fix warnings and incompatible save games when built without SCI32Colin Snover
2016-09-29SCI: Rename "until" to "thru" in kernel call signaturesColin Snover
Kernel calls with these signatures are inclusive of the engine version given in the name; this change makes it clearer that this is the case.
2016-09-29SCI32: Put brackets around rest parametersColin Snover
The kernel signature * means "one or more", not "zero or more" as might be expected from the otherwise regex-like syntax.
2016-09-29SCI32: Add mark for KQ7 in script patchesColin Snover
2016-09-29SCI32: Emulate MGDX ego view metadataColin Snover
2016-09-29SCI32: Fix deleting save games in KQ7Colin Snover
2016-09-29SCI32: Fix multiple bugs in kSaveColin Snover
1. Shift save numbers up/down for game scripts that rely on save game numbers starting from 0 to work correctly 2. Add fake file operations to support KQ7 save games 3. Hide autosave games from native save/load list to match SSCI.
2016-09-29SCI32: Emulate Shivers 1 game score metadataColin Snover
2016-09-29SCI32: Increase allowed number of save games in native save/loadColin Snover
This is applied only to games where the standard save/load dialogue is used; games like KQ7 and Phantasmagoria, which use a non-standard UI for save games, are still limited to the number of saves originally supported.
2016-09-29SCI32: Improve MGDX supportColin Snover
Audio directory switching is temporarily disabled because it causes use-after-free in the resource manager.