aboutsummaryrefslogtreecommitdiff
path: root/engines/sci/engine/kernel_tables.h
AgeCommit message (Collapse)Author
2016-12-11SCI32: Add workarounds for Hoyle5 Crazy EightsColin Snover
2016-12-11SCI32: Implement List sortColin Snover
Used by Hoyle5. Also includes a tiny amount of cleanup in kAddAfter for consistency with kAddBefore.
2016-12-11SCI32: Add workaround for Hoyle5 startup call to kPlatformColin Snover
Fixes Trac#9665.
2016-11-04SCI32: Implement kPlayVMDIgnorePalettesColin Snover
Used in Shivers room 35170 when pressing the play button.
2016-10-15SCI32: Fix crash clicking quit button during LSL6hires creditsColin Snover
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-09SCI32: Clarify some identifiersColin Snover
transparentColor -> skipColor displace -> origin scaledWidth -> xResolution scaledHeight -> yResolution
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: Fix signature of kString(ArraySetElements) to allow 0 argsColin Snover
2016-09-29SCI32: Fix kArray signatureColin Snover
2016-09-29SCI32: Implement kBitmapCreateFromView and kBitmapGetInfoColin Snover
Used by Torin room 40300 to perform pathfinding by bitmap.
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: Implement ScummVM save/loadColin Snover
2016-09-29SCI32: Implement kSave for standard-save SCI32 gamesColin Snover
Games with custom save code (KQ7, MGDX, PQ:SWAT, Shivers) are not fully supported yet.
2016-09-29SCI32: Fix "new game" and auto-save functionalityColin Snover
2016-09-29SCI32: Start implementing kSave for SCI32Colin Snover
2016-09-29SCI32: Clean up and fix some SCI32-only kFileIO operationsColin Snover
2016-09-29SCI32: Add support for kPrintDebugColin Snover
2016-09-29SCI32: Implement kSetHotRectanglesColin Snover
Used only by chapter 7 of Phant1.
2016-09-29SCI32: Fix kFileIOOpen signatureColin Snover
The mode argument is required in SCI32 too; Torin just had a script bug.
2016-09-29SCI32: Rewrite kArray & kStringColin Snover
This change invalidates earlier SCI32 save games, which separated arrays and strings in an incompatible manner. Old save games contain invalid references to a string segment which no longer exists, and contain incompatible array structures that lack critical type information.
2016-09-29SCI: Fix whitespaceColin Snover
2016-08-27SCI32: Allow invalid bitmap references to be passed to kBitmapDestroyColin Snover
SSCI explicitly ignored invalid references passed to this function. Fixes GK1 room 410, when using the Rada Drum book on the drummer.
2016-08-25SCI32: Add a workaround when starting a new game in PhantasmagoriaFilippos Karapetis
This workaround is needed when starting a new game from a chapter after the first one
2016-08-25SCI32: Fix the signature of kDoAudioCritical, and add documentationFilippos Karapetis
This is used in Phantasmagoria, chapter 3, nursery (room 14200), during the "ghost lullaby" event. It is used to make the lullaby sound exclusive, but it really doesn't make any major difference. Also, the documentation has been adjusted to contain this information. Finally, the documentation has been adjusted to use 80 columns
2016-08-24SCI32: Add workarounds for a bug in Torin, in an animation of LycentiaFilippos Karapetis
2016-08-22SCI32: Move the SCI32 Mac cursor handling code into GfxCursor32Filippos Karapetis
This was left in the SCI16 code in commit 80d9182554
2016-08-22SCI32: Add stubs for the kPlayVMDSetPreload and kPaletteSetGamma callsFilippos Karapetis
These were introduced in SCI3, and are used by RAMA. We don't preload videos, so we don't really need kPlayVMDSetPreload, but kPaletteSetGamma may need an implementation. With these two stubs, the main menu of RAMA is working again
2016-08-22SCI32: Reorder the SCI32 palette kernel call assignmentsFilippos Karapetis
2016-08-19SCI32: Bug fixes to PQ:SWAT script bugs and kList callsColin Snover
2016-08-19SCI32: Partially implement kCDColin Snover
2016-08-19SCI32: Add kPlayVMDGetStatus kernel callColin Snover
Used by Lighthouse.
2016-08-19SCI32: Fix kGlobalToLocal and kLocalToGlobalColin Snover
Fixes (at least) the native SCI save dialogs.
2016-08-19SCI32: Implement kRobotColin Snover
2016-08-19SCI32: Split kPlatform for SCI32Colin Snover
2016-08-19SCI32: Implement kShakeScreen for SCI32Colin Snover
2016-08-19SCI32: Remove GfxScreen from SCI32Colin Snover
2016-08-19SCI32: Implement SCI32 cursor supportColin Snover
2016-08-12SCI32: Implement kShowMovieColin Snover
2016-08-11SCI32: Temporarily revert kShowMovie due to buildbot failuresColin Snover
Revert "SCI32: Fix KQ7 1.51 video background" This reverts commit c8affb54cca259f37522216bad739be085bf9caa. Revert "SCI32: Fix crash when kShowMovie is called but the video cannot be found" This reverts commit 93b06f4a9e08de281ee7eb9c780ceac147c3fb23. Revert "SCI32: Fix KQ7 1.51 basic video playback" This reverts commit cdab24aa07c18ad4a25a1659f7fca15cca5e358e. Revert "SCI32: Additional Video32 documentation" This reverts commit 4ff0924e57a9bc9101ee0799a967fe3373dd2574. Revert "SCI32: Implement kShowMovie" This reverts commit 13297c19298c5ad73c9e996c5c31ca91de124911.
2016-08-11SCI32: Implement kShowMovieColin Snover
2016-08-01SCI32: Add 6-argument signature of kAddPicAtColin Snover
This is used by Torin in room 50900.
2016-08-01SCI32: Implement plane transitions (kSetShowStyle and kSetScroll)Colin Snover
This commit implements all of the known plane transitions from SCI2 through SCI2.1mid games. Because kSetShowStyle is always called indirectly via the Styler game script, it is difficult to find all the places where transitions are used. As such, transitions that appeared to never be used have been added as stubs which will trigger a game crash with a message to report what was being done, so any missed transition types can be identified quickly and then implemented.
2016-07-11SCI32: Split GfxPalette and GfxPalette32 + HunkPaletteColin Snover
2016-07-11SCI32: Split kPalCycle into subop functionsColin Snover
2016-07-10SCI32: Clean up Video32/VMDPlayerColin Snover
2016-07-10SCI32: Implement kPlayVMDColin Snover
2016-06-26SCI32: Fix broken Remap implementationColin Snover
Remap would crash SCI2.1early games with 19 remap slots, and did not actually work in most cases in SCI2.1mid+ games. The SCI16 implementation was moved to its own separate file but was otherwise touched as little as possible, so may still have similar problems to the SCI32 code. 1. Split SCI16 and SCI32 code into separate files 2. Use -32 prefixes for SCI32 code and no prefix for SCI16 code, where possible, to match other existing code 3. Avoid accidental corruption of values from the VM that may be valid when signed or larger than 8 bits 4. Added documentation 5. Add missing remap CelObj calls 6. Inline where possible in performance-critical code paths 7. Fix bad `matchColor` function, and move it from GfxPalette to GfxRemap32 since it is only used by GfxRemap32 8. Fix bad capitalisation in getCycleMap 9. Remove unnecessary initialisation of SingleRemaps 10. Update architecture to more closely mirror how SSCI worked 11. Clarify the purpose of each type of remap type (and associated variable names) 12. Split large `apply` function into smaller units 13. Fix buffer overrun when loading a SCI2.1early game with remap 14. Remove use of `#define` constants 15. Warn instead of crashing with an error on invalid input (to match SSCI more closely) 16. Change the collision avoidance mechanism between the RemapType enum and remap kernel functions 17. Add save/load function
2016-06-21SCI32: Implement basic kMessageBoxColin Snover
This kernel call seems only to be used by KQ7 1.51 (which was Windows-only) to send warnings to the user. It was easy enough to do a basic implementation in the ScummVM GUI rather than just make it an empty call, so now it is a thing.