aboutsummaryrefslogtreecommitdiff
path: root/engines/sci
AgeCommit message (Collapse)Author
2017-01-05SCI32: Add validity checks to kList iteration methodsColin Snover
In GK2, restoring a save game causes the segment manager to reset in the middle of a kListFirstTrue call, which invalidates all pointers and reg_ts to stored data. This means that when kListFirstTrue tries to decrement the list recursion counter at the end of iteration, it is writing to freed memory, potentially resulting in heap corruption. SCI3 added checks to prevent this from happening, but these checks seem like they should have also been applied to some SCI2.1 games as well (like GK2). Since there should be no negative side-effect to this check, it is applied universally to all SCI32 games.
2017-01-02SCI32: Load VMDs from resource bundlesColin Snover
GK2 includes some VMDs in the RESSCI.00n volume bundles for the chase scene at the end of Chapter 6.
2017-01-02SCI32: Remove invalid GUIO options from GK2Colin Snover
2017-01-01SCI: Fix PQ2 crash reading second page of files in jailColin Snover
This fixes the crash in PQ2 1.002.011. There is another workaround for the same problem from ticket Trac#5223, but it uses a different method name that does not match in this version of PQ2. Fixes Trac#9670.
2016-12-21SCI: Fix kq6 CD audio+subtitle script patchMartin Kiewitz
Original patch caused a text window to be shown at the cliffs (copy protection), even when audio-only mode was active.
2016-12-19SCI32: Improve ScreenItem missing resource errorColin Snover
2016-12-19SCI32: Add support for alternate graphics selectorsColin Snover
Used by at least Phantasmagoria 2.
2016-12-19SCI32: Undefine macro for SciBitmap when it is done being usedColin Snover
2016-12-19SCI32: Generalize Phant1 kArraySetElements workaroundColin Snover
This bug exists in a system script that is called from many, many rooms, so it is simpler to just make the workaround apply to all rooms.
2016-12-19SCI32: Change plane and screen item sorting algorithmColin Snover
SSCI's last resort comparison here was to compare the object IDs of planes & screen items, but this randomly breaks (at least) the "you have died" dialog at the end of Phant1, and text & buttons in Hoyle5, even in SSCI itself. This commit changes last resort comparison to use a monotonically increasing ID instead, which keeps objects with identical priority & z-index in creation order when compared. Fixes Trac#9585.
2016-12-19SCI32: Fix incorrect parsing of empty |f| text escape codeColin Snover
This sequence is used in Hoyle5 when viewing the rules for a game.
2016-12-19SCI32: Fix nitpicky output errors in SCI32 bitmap debuggingColin Snover
2016-12-19SCI32: Add segment table debugging info for SCI32 arraysColin Snover
2016-12-18SCI32: Disable load button in F5 menu for Phant1 & Hoyle5Colin Snover
These games either don't have saves (Hoyle) or the saves bypass the normal save game system so are unidentifiable by ScummVM (Phant1).
2016-12-18SCI: Clarify the SciEngine::canSaveGameStateCurrently situationColin Snover
2016-12-18SCI32: Fix handling of rewritable files opened with mode 1Colin Snover
In SSCI, all files opened through kFileIO are writable. Most of the time this does not matter and the engine can get away with using read-only streams, but when chase.dat is opened by Phant1 from the retry dialogue during the chase, it needs to be writable because game code puts a '98' marker in the chase data. If this write does not occur, the game gets stuck in a loop looking for the marker.
2016-12-18SCI32: Disable launcher load for PhantasmagoriaColin Snover
This game has its own custom save/load system that bypasses the normal SCI save game system and performs raw file IO, so its save files are not identifiable as ScummVM saves.
2016-12-18SCI: Fail gracefully when attempting to write to a read-only fdColin Snover
2016-12-18SCI: Remove restriction on backwards seekingColin Snover
SaveFileRewriteStream enables backwards seeking, which is necessary for the chase.dat in Phant1 to be parsed correctly by the game.
2016-12-18SCI: Remove unused second parameter to SegManager::getStringColin Snover
2016-12-18SCI32: Simplify workaround commentColin Snover
It is not necessary to explain what is happening, just how to reproduce it.
2016-12-18SCI32: Add workaround for bad kArraySetElements call at end of Phant1Colin Snover
2016-12-18SCI32: Fix overwriting of file content when opened in append modeColin Snover
Fixes Trac#9586, Trac#9587.
2016-12-17SCI32: Fix bitmap surface memory leaks in video playersColin Snover
Fixes Trac#9662.
2016-12-17SCI32: Improve SciBitmap segment table debugging outputColin Snover
2016-12-12SCI32: Adjust transition timingsColin Snover
Transition timings were originally chosen largely by feel in SQ6, as there was little other evidence to determine the correct speed. As additional games started being playable in ScummVM, it became apparent that these speeds were not quite right. Additional adjustments may be needed in the future, but these new timings seem to be somewhat closer to expectations than before.
2016-12-12SCI32: Add workaround for hearts game in Hoyle5Colin Snover
2016-12-12SCI: Ensure bytecode/BWT for "file" op is also printedColin Snover
Learning the bytecode for file op is necessary when creating workaround signatures, as the signature-finding mechanism does not currently ignore line/file instructions.
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-11SCI: Add KQ5 0.000.062 VGA signatureColin Snover
Closes Trac#9624.
2016-12-11SCI: Add SQ3 1.0P signatureColin Snover
Closes Trac#9626. Closes gh-858.
2016-12-11SCI32: Add workaround for Hoyle5 startup call to kPlatformColin Snover
Fixes Trac#9665.
2016-12-11SCI32: Add a workaround for kDoSoundPlay for KQ7 demoOmer Mor
2016-12-10SCI: Fix buffer overflows in GfxPicture circle drawingColin Snover
Fixes Trac#9660.
2016-12-03SCI: Remove unnecessary duplicate shadowing variableColin Snover
2016-12-03SCI: Fix invalid read of LB2 audio map 448Colin Snover
2016-12-03SCI: Update engine status commentColin Snover
2016-12-03SCI: Remove unnecessary lock in SegManagerColin Snover
2016-12-03SCI: Remove use of snprintfColin Snover
2016-12-03SCI: Deduplicate text-reading code in kGetFarTextColin Snover
2016-12-03SCI: Remove unnecessary indirection in Resource::loadPatchColin Snover
2016-12-03SCI: Clean up some commentsColin Snover
2016-12-03SCI: Fix buffer overflow in AmigaMac sound driverColin Snover
2016-12-03SCI: Fix non-responsive application warning during sysex transfersColin Snover
This also fixes the display of the startup LCD message, which had been delayed until after the sysex transfer was finished.
2016-12-03SCI32: Fix LSL6hires text speed sliderColin Snover
For whatever reason, this game uses a different global for specifying the text speed.
2016-11-29ALL: Remove comma before the word 'instead'Ben Castricum
2016-11-26SCI: Update POTFILESrootfather
2016-11-20SCI32: Fix reading view, pic, and palette patchesColin Snover
Unlike SCI16 games, the location of data within SCI32 patch files is calculated on a per-resource-type basis by the game engine, instead of by reading byte 1 of the patch file.
2016-11-20SCI32: Add recursion code to kListFirstTrue and kListAllTrueColin Snover
This change ensures that these kernel calls operate in the same manner that they did in SSCI.