aboutsummaryrefslogtreecommitdiff
path: root/engines
AgeCommit message (Collapse)Author
2017-07-15SCI: Stop double-initialization of SCI0/1 objectsColin Snover
These objects should have been initialized only during the first pass. Double-initialization does not cause any visible problem problem during normal operation (mostly it just causes memory waste by making Object::_baseVars/_baseMethod double up their data), but could have silently allowed games to receive bogus data for an out-of-bounds property or method index, instead of raising an error.
2017-07-15SCI: Fix up Object::_baseMethod implementationColin Snover
1. In SCI0/1, selectors and offsets in the method block are stored contiguously (all selectors, then all offsets), with a null separator between the two runs. All the later versions of SCI instead interleave selectors & offsets. Since these values are already being copied into a new array anyway, code for reading method selectors/offsets is now simplified by interleaving this data when it is written into _baseMethod for SCI0/1, so the same equation for retrieving method selectors/offsets can be used across all SCI versions. 2. In SCI1.1-2.1 branch, the method count was being copied into the first entry of the array, which meant that SCI1.1-2.1 had extra code for dealing with the fact that the first entry was not an entry. This has been fixed, and the extra code removed. 3. Data was being overread into _baseMethod in all games SCI0-2.1. (SCI0/1 had an extra magic value of 2, and SCI1.1-2.1 had an extra magic value of 3). Reviewing history, it's not clear why this happened, other than that it appears to have been introduced at 7b0760f1bc5c28abcede041a6e3930f84ff3d319. My best guess is that this was a confusion between byte count and record count, where the intent was to read an extra 2 bytes for the null separator in SCI0/1, but it actually read 2 records instead. (I do not have a guess on why SCI1.1 ended up with a 3.) This overreading has been removed.
2017-07-15TITANIC: Fix range for timed volume transitionsPaul Gilbert
2017-07-15TITANIC: Endgame sequence sound fixesPaul Gilbert
2017-07-15TITANIC: Don't allow the same star to be locked on multiple timesPaul Gilbert
2017-07-15TITANIC: Fix locking stars in star control puzzle when Caps lock is onPaul Gilbert
2017-07-15TITANIC: Don't allow starfield to be shown if puzzle was skippedPaul Gilbert
2017-07-15CHEWY: More work on scene info handlingFilippos Karapetis
2017-07-15TITANIC: Fix incorrect calls to queueSoundBastien Bouclet
The sound type was being passed in the balance parameter.
2017-07-15SLUDGE: Move PixelFormat init to constructorSimei Yin
2017-07-15SLUDGE: Remove unused function displayFatalSimei Yin
2017-07-15SLUDGE: Clean unused extern variablesSimei Yin
2017-07-15SLUDGE: Clean useless #if 0'sSimei Yin
2017-07-15SLUDGE: Remove unused memwatchSimei Yin
2017-07-15SLUDGE: Remove gl-related graphics.hSimei Yin
2017-07-15SLUDGE: Remove openGl-related function fixFontSimei Yin
2017-07-15SLUDGE: Add a color into stack machineSimei Yin
2017-07-15SLUDGE: Add credit scrollingSimei Yin
2017-07-15SLUDGE: Complete parallaxSimei Yin
2017-07-15SLUDGE: Complete snapshotSimei Yin
2017-07-15TITANIC: Fix pause during intro credits cutscenePaul Gilbert
2017-07-15SLUDGE: Use String::format instead of sprintfSimei Yin
2017-07-15MOHAWK: Riven: Set more variables when starting new gamesBastien Bouclet
Fixes #9960.
2017-07-15MOHAWK: Riven: Stop sending empty rects when drawing transitionsBastien Bouclet
Fixes #9947.
2017-07-14MOHAWK: Riven: Implement transition offsetsBastien Bouclet
The games tries to match objects between the old and new card by offsetting the transition of the new card. Fixes #9947.
2017-07-14SLUDGE: Fix Unsigned vs. Signed Comparison Compiler Warnings.D G Turner
2017-07-14MOHAWK: Riven: Patch prison island dome switch sound changeBastien Bouclet
Fixes #9958.
2017-07-13SCI32: Add detection entry for Phantasmagoria FR 1.100.000Colin Snover
Fixes Trac#9910.
2017-07-13SLUDGE: Fix Visual Studio compilationPaul Gilbert
2017-07-13SCI32: Patch out bad rat view init code in PhantasmagoriaColin Snover
Fixes Trac#9957.
2017-07-13SCI32: Ignore chest view palette in PhantasmagoriaColin Snover
This fixes the 3-frame glitch that was also present in the original game when moving in the chapel from room 6500 to 6400 in chapter 7. Fixes Trac#9788.
2017-07-13SCI32: Move priority comparison of ScreenItems into its own functionColin Snover
Rendering bugs in ScummVM are often caused by buggy game scripts relying on the last ditch sort, which is not the same in ScummVM as in SSCI (since the SSCI last ditch sort relies on a different memory architecture and is super buggy). However, these bugs do not show up very frequently these days, so it is easy to forget all the places that need to be checked when debugging a rendering problem that appears to be caused by sorting failure. This commit breaks out the last ditch comparison formerly in Plane::calcLists to hopefully make it more visible to future programmers. Refs Trac#9957.
2017-07-13SCI32: Stop optimising palette mergesColin Snover
While this optimisation helped to reduce unnecessary palette updates in KQ7, it broke Phant1, which relies on changes to index 255 in the source palette causing palette invalidation. Refs Trac#9788.
2017-07-13SCI32: Add workaround for Phant1Colin Snover
2017-07-13SLUDGE: get random numberSimei Yin
2017-07-13SLUDGE: fix warningsSimei Yin
2017-07-13SLUDGE: Make UTF-8 code portableEugene Sandulenko
2017-07-13SLUDGE: Fix more warningsEugene Sandulenko
2017-07-13SLUDGE: Fix warningEugene Sandulenko
2017-07-13SLUDGE: Fix line endingsEugene Sandulenko
2017-07-13SLUDGE: int32_t -> int32Eugene Sandulenko
2017-07-13SLUDGE: remove CommonCode directory to have a flat structureyinsimei
2017-07-13SLUDGE: use multiple entries for language selectionyinsimei
2017-07-13SLUDGE: remove game settings from Sludge codeyinsimei
2017-07-13SLUDGE: delete a game that doesn't exist any moreyinsimei
2017-07-13SLUDGE: move namespace to functionlist.hyinsimei
2017-07-13SLUDGE: change global Common::String to public var of SludgeEngineyinsimei
2017-07-13SLUDGE: replace utf8 chars by codeyinsimei
2017-07-13SLUDGE: remove debug codeyinsimei
2017-07-13SLUDGE: replace char *by Common::Stringyinsimei