aboutsummaryrefslogtreecommitdiff
path: root/engines/sci/engine
AgeCommit message (Collapse)Author
2016-08-19SCI32: Add kPlayVMDGetStatus kernel callColin Snover
Used by Lighthouse.
2016-08-19SCI: Remove references to SCI32 features from SCI16 video playerColin Snover
2016-08-19SCI32: Remove CoordAdjuster32, at least for the momentColin Snover
This may come back in the future to deduplicate some gfx code, but SCI32 had two different inlined ways of doing coordinate conversions with different rounding methods, so CoordAdjuster32 didn't get used when the graphics system was rewritten. At the moment, SCI32 code uses the mulru/mulinc methods from helper.h for scaling up/down coordinates.
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: Add kSetNowSeen variant for older SCI32 gamesColin Snover
KQ7 2.00b, PQ:SWAT, Phant1, GK2, and Torin are all verified as using the 'ignore' variant; SQ6 and QFG4CD are verified as using the 'fail' variant. MGDX and Shivers could not be checked as they have only Phar Lap Win16 executables, so took a guess based on their release dates.
2016-08-19SCI32: Address TODO in seg_manager.hColin 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-13SCI: Fix sign comparison warningColin Snover
2016-08-13SCI: Fix pointer invalidation caused by array storage movesColin Snover
When objects are added to a SegmentObjTable, it may cause the internal storage for the table to expand and move to a new region of memory. When this happens, all pointers to objects held by a SegmentObjTable of the same type would be invalidated, due to an implementation detail that should not be exposed. To prevent this, objects are now allocated separately on the heap, so even if the table's storage moves due to insertions, the objects owned by the table will not, so references remain valid for the lifetime of the object.
2016-08-13SCI: Fix pseudo mouse in various SCI1 games like e.g. Larry5Martin Kiewitz
Pseudo mouse was functionality in SCI1+ games, that allowed the user to control the mouse via keyboard cursor keys. This new class only worked, when a tiny difference inside the keyboard driver happened on kMapKeyToDir calls. We previously tried to enable this behavior depending on cursor type, but this didn't work correctly (Larry 5 for example was not detected as such, but had PseudoMouse support).
2016-08-12SCI32: Fix crash when multiple nodes are deleted during kListEachElementDoColin Snover
This happens in e.g. Phant1, when walking from dining, to reception, to up the stairs.
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-11Merge pull request #798 from wjp/torin_savingFilippos Karapetis
SCI32: Support Torin's autosave system
2016-08-11SCI32: Don't use autosave.cat in TorinWillem Jan Palenstijn
2016-08-09SCI: Fix sq4 workaround room 391, fixes bug #7179Martin Kiewitz
doCatalog::mode does not exist, the method is actually doCatalog::changeState This issue has been in there since the workaround was added through commit 20b1d80d598e6f741e28c9a85d186e463d111816
2016-08-06SCI32: Actually save and load remapsColin Snover
2016-08-01SCI: Fix warningsEugene Sandulenko
2016-08-01SCI32: Implement bitmap save routineColin Snover
2016-08-01SCI32: Fix invalid memory access after BitmapTable is extendedColin Snover
When new bitmaps are added and the underlying Common::Array needs to move to expand, this invalidates all pointers to bitmaps, which makes it basically impossible to use the bitmap segment since you never know if a reference is going to be invalidated due to an array move. To solve this, BitmapTable is changed to hold pointers to SciBitmaps that are allocated separately on the heap instead, so when those bitmaps are looked up, the resulting pointers are valid for the lifetime of the bitmap, instead of the lifetime of the Common::Array used internally by BitmapTable.
2016-08-01SCI32: Add bitmap segment and remove GC option from hunk segmentColin 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-08-01SCI32: Enable optional explicit memory management of hunk entriesColin Snover
Bitmaps in ScrollWindow and Robot code are managed by the kernel and not by game scripts, although they must be able to be referenced through a reg_t. To prevent incorrect GC of bitmaps that are in use but not referenced by any game script, explicit memory management of hunk entries can be enabled.
2016-07-29SCI32: Support Torin's autosave systemWillem Jan Palenstijn
Torin has two sets of saves: autosave.### and torinsg.###, both with their own slots and .cat file. The autosave system uses autosave.000 and autosave.001. It also checks the presence of autosave.cat to determine if it should show the chapter selection menu on startup.
2016-07-27SCI32: Fix kShowMovie calls crashing SCI32Colin Snover
This will all be overhauled in the future but for now it is best not to crash when playing AVI/SEQ files.
2016-07-25Merge pull request #789 from OmerMor/hoyle5Martin Kiewitz
Add detection to the Hoyle 5 family of games
2016-07-25SCI: Add detection to the Hoyle 5 family of gamesOmer Mor
Added games are: Hoyle Classic Games Hoyle Bridge Hoyle Children's Collection Hoyle Solitaire (CD and Hard Drive versions) Additionaly, kGetConfig was modified to support two settings used by these games: "laptop" and "jumpto".
2016-07-24SCI32: Fix KQ7 uninitialized readColin Snover
2016-07-12SCI32: Disable kernel call 0x23 on LSL6hiresColin Snover
LSL6hires calls 0x23 (Graph/Robot) from game scripts, but it is a null function in the game's interpreter.
2016-07-11SCI: Update script patch commentsMartin Kiewitz
2016-07-11SCI32: Add detection for Hoyle 5 demoColin Snover
2016-07-11SCI32: Improve kq7 subtitle script patchMartin Kiewitz
Subtitle box should now always use color 255, which should be white all the time. Normally it uses color 7, which is white most of the time, but for example pink/purple at the start of chapter 5.
2016-07-11SCI32: Split GfxPalette and GfxPalette32 + HunkPaletteColin Snover
2016-07-11SCI32: Split kPalCycle into subop functionsColin Snover
2016-07-11SCI32: Fix an issue with the KQ7 subtitles script patchMartin Kiewitz
Volume was lowered, but not raised afterwards for certain cases Original script patch was commited in b676530528349842ad178d02a2cbe49a0facd68e
2016-07-10SCI32: Add script patch to fix/improve KQ7 subtitlesMartin Kiewitz
Needs lots of testing of course Applies to 1.51 and 2.00
2016-07-10SCI32: Clean up Video32/VMDPlayerColin Snover
2016-07-10SCI32: Implement kPlayVMDColin Snover
2016-07-06Merge pull request #775 from wjp/sci32_readwriteWillem Jan Palenstijn
SCI32: Improve FileIO read-write support
2016-07-06SCI32: Add SaveFileRewriteStream for read/write access to filesWillem Jan Palenstijn
At least Phantasmagoria and PQ:SWAT require this. This adds a ReadStream/WriteStream to support this. It replaces the previous VirtualIndexFile which required reimplementation of most read/write functions.
2016-07-06SCI: Fix typo in script patch comment (longbow arithmetic bug)Martin Kiewitz
Wasn't bug #6571, but bug #6751 Thanks to omer_mor for spotting it
2016-07-04SCI: Adding script patch for longbow arithmetic berry bush bugMartin Kiewitz
Fixes bug #6571
2016-07-02SCI: Remove presumably long-outdated FIXMEWillem Jan Palenstijn
2016-07-02SCI: Remove unexpected side effect from ExecStack constructorWillem Jan Palenstijn
The ExecStack constructor set argp[0] to argc before. This is now moved to the caller, to make this action more explicit.