aboutsummaryrefslogtreecommitdiff
path: root/engines/sci
AgeCommit message (Collapse)Author
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: Fix crash when destroying GfxTransitions32Colin Snover
2016-08-01SCI32: Add bitmap segment and remove GC option from hunk segmentColin Snover
2016-08-01SCI32: Don't crash on zero-dimension show rectsColin Snover
In the original engine this would have simply resulted in no draw, but ScummVM is more strict about it. It is not 100% clear whether these are normal and should be allowed or not, so for the moment we'll emit a warning whenever a zero-dimension show rect is seen. For now they only seem to be generated by plane transitions, and these zero-dimension screen items cannot simply be omitted because the 2.1early transitions code requires a fixed number of screen items per step.
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-30SCI32: Fix crash in Torin when opening save dialogColin Snover
2016-07-27SCI32: Give default skip color a nameColin Snover
2016-07-27SCI32: Remove dead placeholder rendering codeColin Snover
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-27SCI32: Re-enable the high resolution mode option for GK1Colin Snover
2016-07-27SCI32: Use extern instead of #include frameout.h for splitRectsColin Snover
2016-07-27SCI32: Fix backwards kFrameOut throttle timingsColin Snover
2016-07-27SCI32: Handle remap data outside the game's remap rangeColin Snover
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 Video32 breaking when quitting during video playbackColin Snover
2016-07-24SCI32: Fix bad VMD palettes in GK2Colin Snover
2016-07-24SCI: Fix memory leaks in ResourceManagerColin Snover
2016-07-24SCI32: Improve behaviour of screen transitionsColin Snover
1. Use the same throttling speed as normal frameouts. The old throttling speed seemed a bit too slow. 2. Exit the event loop immediately if the engine is supposed to quit, instead of forcing the user to wait until the transition has finished before quitting.
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-12SCI32: Fix unnecessary palette updatesColin Snover
Some games load palettes that include color 255, but this is hardcoded to white in SSCI, so just ignore it during merges since it is ignored when the hardware palette is updated anyway.
2016-07-12SCI32: Avoid flash of incorrect colour when palettes are changedColin Snover
Avoid forcing the screen to refresh after a palette change if the screen is also about to be drawn to, as the palette change + draw is intended to be an atomic operation.
2016-07-11SCI32: Fix broken background volume in Torin during speechColin Snover
2016-07-11Revert "SCI32: Add blackline option to KQ7 2.00b DOS"Colin Snover
This reverts commit 1ab87e3f8f24b19f5b9257dd9e6c5118b1a00f1d. VMD and DUK are the formats that get blacklined, not Robot.
2016-07-11SCI32: Add ADGF_DEMO flag to Hoyle 5 detectionColin Snover
2016-07-11SCI32: Add blackline option to KQ7 2.00b DOSColin Snover
KQ7 DOS uses Robot video in place of AVI.
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: Give planes a default typeColin Snover
With the addition of the transparent pic type code, the _type property would be read uninitialised by setType if _pictureId was set to kPlanePic. CID 1357230, 1357231.
2016-07-11SCI32: Guard against no split countColin Snover
CID 1357229.
2016-07-11SCI32: Silence non-monitored channels while monitoring is activeColin Snover
2016-07-11SCI32: Fix incorrect logic of cycler overflowColin Snover
2016-07-11SCI32: Minor cleanup of GfxPalette32Colin Snover
2016-07-11SCI32: Fix bad output caused by missing palette copiesColin Snover
Sometimes, games accidentally use palette entries that are not marked as used and expect them to be a particular colour, like the Phantasmagoria title screen, or the white palette entry (always 255 in DOS/Win).
2016-07-11SCI32: Fix sign comparison warningColin Snover
2016-07-11SCI32: Split GfxPalette and GfxPalette32 + HunkPaletteColin Snover
2016-07-11SCI32: Split kPalCycle into subop functionsColin Snover
2016-07-11SCI32: Fix audio deadlocksColin Snover
Several functions in Audio32 would call into the mixer to pause or resume the audio handle, which would cause a deadlock if the mixer's mixCallback timer fired while one of these functions was running on the main thread. To address this, calls to mixer to pause/unpause the digital audio handle have been removed. Since this was just an optimisation to prevent unnecessary calls to fill the audio buffer, the only problem now is that a tiny amount of CPU is wasted on unnecessary callbacks to read from the empty SCI mixer.
2016-07-11SCI32: Minor Audio32 cleanupColin 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: Re-enable KQ7 subtitles, but with a warning on game startColin Snover
2016-07-10SCI32: Disable KQ7 subtitlesColin Snover
The subtitles in KQ7 were not finished and don't quite work right, drawing off the screen and in weird positions. They could probably be fixed with some aggressive script patching, but for now, they are just disabled (as they are in the official release).
2016-07-10SCI32: Use #defines to reduce duplication of game optionsColin Snover
2016-07-10SCI32: Clean up Video32/VMDPlayerColin Snover
2016-07-10SCI32: Add support for blacklined videoColin Snover
Ow. My eyeballs.