aboutsummaryrefslogtreecommitdiff
path: root/engines/sci
AgeCommit message (Collapse)Author
2018-08-21SCI: Enable detection entry for Hoyle 3 AmigaFilippos Karapetis
The game works correctly now
2018-08-21SCI: Add support for text loading in Hoyle 3 AmigaFilippos Karapetis
2018-08-21SCI: Add workaround for buggy script in Hoyle 3 AmigaFilippos Karapetis
2018-08-21SCI32: Add several workarounds for uninitialized reads in Hoyle 5Filippos Karapetis
2018-08-21SCI: Update commentFilippos Karapetis
2018-06-29SCI: Add LarryScale option to LSL7 demoThierry Crozat
I am not actually sure there is any scaling involved in the demo, but it plays perfectly with this option enabled, and this makes it consistent with the full game options.
2018-06-29SCI: Use LarryScale in games that support it, not just LSL7Torbjörn Andersson
This is the solution discussed in bug #10568 ("SCI: PHANT1: Crash on startup"). I believe that it's the correct solution, and that ScummVM will do the right thing, but I'm not 100% sure.
2018-06-29SCI: Fix shadowing warningEugene Sandulenko
2018-06-15SCI32: Only enable larry scaler for LSL7David Fioramonti
Fixes Trac#10568.
2018-06-03Merge pull request #1141 from DanielSWolf/larryscaleThierry Crozat
SCI: High-quality "LarryScale" cel scaler for LSL7
2018-05-28Merge pull request #1187 from bgK/detection-refactor-unknownBastien Bouclet
ENGINES: Return unknown game variants with the list of detected games
2018-05-20SCI: Update rad2deg usageDavid Fioramonti
2018-05-10ENGINES: Add unknown game variants to the game detector resultsBastien Bouclet
2018-04-22SCI: Change workaround for PalVary / Animate race conditionWillem Jan Palenstijn
The new approach is to delay kAnimate briefly (with an 68ms timeout) while there is a zero-tick PalVary running, so that it has time to trigger. The previous workaround would immediately process a zero-tick PalVaryInit/PalVaryReverse. This caused problems in QfG3 (bug #10304) where it interfered with PalVaryPause. The previous workaround could also be modified to handle pause/resume, but this new approach should be closer to SSCI's behaviour, which used a timer for a zero-tick PalVary too. This fixes bug #10304, and keeps #5298 fixed too.
2018-04-22JANITORIAL: Fix formattingAdrian Frühwirth
2018-04-07ALL: Load savegame thumbnail only when necessaryAdrian Frühwirth
This commit introduces the following changes: 1. Graphics::loadThumbnail() Now returns a boolean and takes a new argument skipThumbnail which defaults to false. In case of true, loadThumbnail() reads past the thumbnail data in the input stream instead of actually loading the thumbnail. This simplifies savegame handling where, up until now, many engines always read the whole savegame metadata (including the thumbnail) and then threw away the thumbnail when not needed (which is in almost all cases, the most common exception being MetaEngine::querySaveMetaInfos() which is responsible for loading savegame metadata for displaying it in the GUI launcher. 2. readSavegameHeader() Engines which already implement such a method (name varies) now take a new argument skipThumbnail (default: true) which is passed through to loadThumbnail(). This means that the default case for readSavegameHeader() is now _not_ loading the thumbnail from a savegame and just reading past it. In those cases, e.g. querySaveMetaInfos(), where we actually are interested in loading the thumbnail readSavegameHeader() needs to explicitely be called with skipThumbnail == false. Engines whose readSavegameHeader() (name varies) already takes an argument loadThumbnail have been adapted to have a similar prototype and semantics. I.e. readSaveHeader(in, loadThumbnail, header) now is readSaveHeader(in, header, skipThumbnail). 3. Error handling Engines which previously did not check the return value of readSavegameHeader() (name varies) now do so ensuring that possibly broken savegames (be it a broken thumbnail or something else) don't make it into the GUI launcher list in the first place.
2018-03-28SCI: Added overried specifiersEugene Sandulenko
2018-03-23JANITORIAL: Silence GCC warningAdrian Frühwirth
2018-03-23JANITORIAL: Silence GCC 7 fallthrough warningAdrian Frühwirth
This wasn't explicitly marked as intentional but it very much looks it. Committing separately in the unlikely case this needs to be reverted.
2018-03-16SCI: Add game option for enabling/disabling LarryScale in LSL7Daniel Wolf
All other SCI games continue using the default scaler.
2018-03-16SCI: Use LarryScale cel scaler instead of nearest-neighborDaniel Wolf
2018-02-01SCI: Avoid (false positive) uninitialized use warningWillem Jan Palenstijn
2018-02-01SCI: Sabotage qfg1vga's speed testWillem Jan Palenstijn
This ensures the detected speed will end up at the highest level. This improves the detail in Yorick's room (96), and slightly changes the timing in other rooms. Fixes bug #10296.
2018-01-31COMMON: Move VER macro for serializer into common codeColin Snover
2018-01-30SCI: Add detection entry for LB2 ES floppyColin Snover
Fixes Trac#10416.
2018-01-16SCI32: Fix PQ4 Barbie shoe points patch selectorDavid Fioramonti
The original script patch had the correct literal value but the wrong selector name in the comment for the literal value, so when it was converted to use a selector lookup in c5dce17b1f1392feb8825aba5addbc3999eeaa51, the patch broke because the wrong selector name was used. Fixes Trac#10392. Closes gh-1107.
2018-01-02SCI32: Fix segfault when SCI3 vocab isn't foundDan Church
Seen when attempting to detect and/or run the Shivers 2 demo. Closes gh-1106.
2017-12-26SCI: Added detection entries for Lighthouse German version - Bug #10359Matan Bareket
2017-12-26SCI: Added detection entries for SQ1 Russian version - Bug #10156Matan Bareket
2017-12-26SCI: Added detection entries for PQ2 English version 1.002.011 - Bug #9716Matan Bareket
2017-12-19SCI32: Add uninitialized read workaround for LSL6hiresColin Snover
Fixes Trac#10361.
2017-12-03SCI: Avoid buffer overflow in amigamac sound driverWillem Jan Palenstijn
By default, frac_t is interpreted as signed. The resulting range isn't large enough to store offsets, so we interpret it as unsigned here instead. Fixes a crash in QfG1/Mac where instrument->loop_size is 49457.
2017-12-01SCI: Partially clean up SCI16 video playback codeColin Snover
2017-11-28SCI32: Fix crash starting KQ7 demoColin Snover
Fixes Trac#10343.
2017-11-23SCI32: Remove ADGF_TESTING flags for releaseColin Snover
2017-11-19SCI32: Add Phantasmagoria IT detection entryColin Snover
Fixes Trac#10157.
2017-11-19SCI32: Add KQ7 1.51 FR detection entryColin Snover
Fixes Trac#10301.
2017-11-19SCI: Fix UB shifting negative integersColin Snover
2017-11-11SCI32: Fix integer overflow calculating audio durationColin Snover
Due to the need to calculate the audio duration with millisecond precision from the file size, it is possible to overflow a 32-bit integer in games with long background audio loops, like RAMA, during the calculation of the duration. It is also not necessary to give some framerate here, so eliminate the unnecessary explicit Timestamp construction with the second argument.
2017-10-29SCI: Fix UB in SegManager memcpy/strcpy operationsColin Snover
Passing overlapping buffers to C standard library memcpy, strcpy, and strncpy is undefined behavior. In SSCI these operations would perform a forward copy, and most stdlib implementations do the same, but at least newer Linux glibc on x86 copies bytes in reverse, so just using the standard library on this platform results in broken output. Because SSCI used a blind forward copy instead of memmove for overlapping copy operations, this patch implements an explicit forward copy to ensure that overlapping copies continue to operate the same as in SSCI. This fixes the Island of Dr. Brain v1.1 flamingo puzzle (script 185, flamingos::init, localCall 4c3) on platforms that do not perform forward copy in memcpy/strcpy/strncpy. Thanks to @moralrecordings for research on this bug and an initial patch using memmove. Closes gh-1034.
2017-10-21SCI: Allow lofsa string printing in disasm for all SCI versionsWillem Jan Palenstijn
2017-10-21SCI: Fix offsets in disasm for multi-param opcodesWillem Jan Palenstijn
This code was assuming that retval points to the start of the next instruction, which is only true if the current parameter is the last one. This fixes op_call printing.
2017-10-16SCI32: Fix cursor color when quitting for phant1David Fioramonti
When quitting the game at the main menu and hitting no or quitting the game while playing the cursor color over the buttons will be tan the first time rather than red. This fix makes it so it will be red. This was done by removing a check in HotSpot::doit() which checks the global193 value. Removing this check fixes the problem. Fixes Trac#9977. Thanks snover and wjp for your help.
2017-10-15SCI32: Tell OSystem to show/hide cursors as appropriateColin Snover
This is needed so that the system cursor can be appropriately hidden outside the game's draw area, to match the normal behaviour of ScummVM.
2017-10-08SCI32: Fix crash restoring save from endgame of RAMAColin Snover
Fixes Trac#10263.
2017-10-09SCI: Add QfG4 script patch to fix sliding down slope bug #9801Martin Kiewitz
It's quite difficult to patch. I hope this finally solved it.
2017-10-08SCI: Crazy Nick's Larry workaround bug #10184Martin Kiewitz
Added this already through last commit by accident Was supposed to get added by this. Workaround for reading uninitialized temp game bug.
2017-10-08SCI: Restrict some workarounds to certain tempsMartin Kiewitz
Also add a bit more documentation / Fix some documentation
2017-10-07SCI: Change index inside workaround tables to an index rangeMartin Kiewitz
So that one can specify an entire range of temp variables by using just one single entry.
2017-10-07SCI: Use explicit indexes in castlebrain/islandbrain word search workaroundsColin Snover