aboutsummaryrefslogtreecommitdiff
path: root/engines/sci/engine
AgeCommit message (Collapse)Author
2017-07-13SCI32: Patch out bad rat view init code in PhantasmagoriaColin Snover
Fixes Trac#9957.
2017-07-13SCI32: Add workaround for Phant1Colin Snover
2017-07-09SCI32: Fix kObjectIntersectWillem Jan Palenstijn
It was using SCI16 calls to get the NowSeenRects. This fixes #9855.
2017-07-07SCI32: Add workarounds for PQ4Colin Snover
2017-07-07SCI32: Force General MIDI for games that support nothing elseColin Snover
* MGDX has only GM music; * KQ7 1.x's AdLib data is incomplete, so is not usable even though it is partially there Fixes Trac#9789.
2017-07-06SCI32: Improve kPlayVMD renderingColin Snover
1. Added a new game option for linear interpolation when scaling overlay-mode video in ScummVM builds with USE_RGB_COLOR; 2. Implemented SCI2.1-variant of the VMD player renderer (fixes Trac#9857), which bypasses the engine's normal rendering pipeline; 3. Improved accuracy of the SCI3-variant of the VMD player by writing HunkPalettes into the VMD's CelObjMem instead of submitting palettes directly to GfxPalette32.
2017-07-06SCI32: Improve kShowMovieWin (AVI) renderingColin Snover
1. Added a new game option for linear interpolation when scaling video in ScummVM builds with USE_RGB_COLOR; 2. 8bpp videos that put black in a palette index other than 0 (KQ7) should now always render correctly without the earlier game-specific workarounds which did not work very well; 3. Data from game scripts regarding video size and position are now ignored, since games always just try to show videos in the middle of the screen, but frequently get this a little bit wrong, causing either bad aspect ratios or off-center videos; 4. Builds without USE_RGB_COLOR support will not crash when attempting to play >8bpp AVIs, like those from KQ7 2.00b. Fixes Trac#9843, Trac#9762.
2017-07-06SCI32: Add workaround for SQ6Colin Snover
2017-07-06SCI32: Centralise OSystem screen updatesColin Snover
2017-07-01SCI: Fix typo in pq3 script patchMartin Kiewitz
2017-07-01SCI: Add script patch for pq3, points for giving locket (bug #9862)Martin Kiewitz
This script patch will fix not getting 10 points for giving the locket to Marie.
2017-06-24SCI32: Replace Torin dragon's cave patch with a better patchColin Snover
The previous script patch for this bug was much simpler and targeted the bad code that hangs, instead of the bad code that caused the unexpected flag setting, but this caused glitches in the dragon's cave that couldn't really be fixed since different animations relied on some common code for positioning Boogle. So, now, this more complicated patch fixes the fast-forward code in the seraglio to set Boogle's in-the-bag flag, which is what the dragon's cave needs in order to not hang when worming Boogle. Also, because this patch now targets the code that caused the bad flag state, instead of the code that hangs on the bad state, any save game in the dragon's cave with the bag flag setting will need to be fixed by exiting and re-entering the dragon's cave. Refs Trac#9836.
2017-06-24SCI32: Fix Boogle warp glitch caused by previous game patchColin Snover
Refs Trac#9836.
2017-06-23SCI32: Add patch for game script bug in Torin dragon's caveColin Snover
Fixes Trac#9836.
2017-06-19SCI32: Create Torin-specific save game count limitation removerColin Snover
Fixes Trac#9840.
2017-06-19SCI32: Add workaround for invalid kFrameOut call in PQ4Colin Snover
Fixes Trac#9848.
2017-06-19SCI32: Add workaround for uninitialised read in PQ4Colin Snover
Fixes Trac#9847.
2017-06-19SCI32: Add workaround for invalid kPalVarySetStart call in PQ4Colin Snover
Fixes Trac#9845.
2017-06-18SCI: Switch SCI2 games to use Audio32Colin Snover
Upon investigation of Sound code across SCI32 games, it was determined that there are actually (at least) 3 different revisions, not just a single SCI2.1 version. This patch only changes the parts of Sound code that are relevant to the correct use of Audio32. Fixes Trac#9736, Trac#9756, Trac#9767, Trac#9791.
2017-06-17SCI: State SCI version in error if kernel subop detection failsColin Snover
2017-06-10SCI: Tidy Script errors & ensure script number exists in all of themColin Snover
2017-06-10SCI: Expand kernel breakpoint pattern matching for negative matchesWillem Jan Palenstijn
See matchKernelBreakpointPattern() for samples. The main envisioned use is DoSound*,!DoSoundUpdateCues to match all DoSound sub-functions except DoSoundUpdateCues.
2017-06-10SCI: Clean up breakpoint code (indentation, consistency)Willem Jan Palenstijn
2017-06-10SCI: Move bpk/logkernel to main breakpoint infrastructureWillem Jan Palenstijn
This changes the syntax for bpk and logkernel: Enable breakpoint on kernel call: bpk FrameOut Enable logging for kernel call: bpk FrameOut log For backward compatibility this has an alias: logkernel FrameOut Removing a kernel call breakpoint is done with bp_del/bc now.
2017-06-10SCI: Allow multiple breakpoints with same trigger but different actionWillem Jan Palenstijn
2017-06-10SCI: Add inspect, none breakpoint actionsWillem Jan Palenstijn
2017-06-10SCI: Move printObject from console to scriptdebugWillem Jan Palenstijn
2017-06-10SCI: Add break/log/backtrace actions for triggered breakpointsWillem Jan Palenstijn
The action can be set using the new console command bp_action/bpact.
2017-06-10SCI: Add underscores to Breakpoint member variablesWillem Jan Palenstijn
2017-06-10SCI: Move backtrace output to scriptdebug.cppWillem Jan Palenstijn
2017-06-10SCI: Handle selector read/write breakpoints from opcodesWillem Jan Palenstijn
2017-06-10SCI: Move scriptdebug declarations to separate headerWillem Jan Palenstijn
2017-06-10SCI: Fix wildcard selector breakpointsWillem Jan Palenstijn
0f9c33e02f1cb2c740c1eb0dcaad96dd22ec29e7 in 2011 broke selector breakpoints of the type "ObjName::", which previously caught all selector sends of the named object. Thanks to TMM and snover for noticing.
2017-06-10SCI32: Fix uninitialized temp read in TorinColin Snover
Fixes Trac#9810.
2017-06-10SCI32: Fix uninitialized temp read in LSL6hiresColin Snover
Fixes Trac#9811.
2017-06-09SCI: Remove some unused #includesColin 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-06-09SCI32: Implement kLock & kDoAudio(1) for SCI32Colin Snover
1. Unlocking all resources of a type using a resource ID of -1 is gone in SCI32; 2. Audio locks need to be serialized starting in GK2 for the game's modified kDoAudio(1) call; 3. Audio locks in SCI3 must work more like SSCI, since at least Lighthouse's `BackMusic::fade` method will attempt to unlock audio that was never locked by a script. In SSCI (and now in ScummVM too) this is a no-op; previously in ScummVM, it would remove Audio32's own lock on the audio resource, resulting in a use-after-free; 4. kDoAudio(1) starting in GK2 returns the number of active *not-in-memory* channels being played, not the total number of active channels. Fixes Trac#9675.
2017-06-09SCI: Do not lock Audio36/Sync36 in kLock for SCI1.1Colin Snover
This is not known to fix any problem, but was a noted difference in the implementation between ScummVM and SSCI.
2017-06-09SCI: Lock Audio resource types when digital SFX is enabledColin Snover
This seems to have been added in SCI1.1 and continued through SCI32; older games with digital SFX (like KQ5CD) did not convert the resource type in kLock. This is not known to fix any problem, but was a noted difference in the implementation between ScummVM and SSCI.
2017-06-09SCI: Remove unnecessary conditionColin Snover
Argument count validation for kernel calls is performed through the kernel table signature, so checking here is not necessary.
2017-06-09SCI: Fix typo in commentColin Snover
2017-06-09SCI: Remove unhelpful commentColin Snover
2017-06-09SCI: Add serialization for ResourceIdColin Snover
2017-06-09SCI: Implement Serializable for ObjectColin Snover
2017-05-31SCI32: Return CD speed in kPlatformColin Snover
This fixes missing playback of some videos in Rama, like the background video that plays when selecting an email at the computer at the start of the game.
2017-05-30SCI: SQ4CD: Limit workaround for Russian SQ4 to room 150+900Martin Kiewitz
As proposed by bluegr
2017-05-29SCI: SQ4CD: Remove room restriction of existing workarounds for endMartin Kiewitz
Fixes bug #9812
2017-05-29SCI32: GK1: Add second beignet timer issue script patchMartin Kiewitz
Should solve bug #9805
2017-05-27SCI32: Remove dead codeColin Snover