aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2017-09-22COMMON: Remove DisposeAfterUse default value from dynamic write memory streamsBastien Bouclet
The default value was DisposeAfterUse::NO, which made it very easy to accidentally leak memory by omitting to specify a value.
2017-09-22ALL: Specify the DisposeAfterUse constructor argument for dynamic memory ↵Bastien Bouclet
write streams
2017-09-22ZVISION: Fix leaking save / thumbnail MemoryWriteStreamDynamic buffersBastien Bouclet
2017-09-22SWORD25: Fix leaking the lua state MemoryWriteStreamDynamic bufferBastien Bouclet
2017-09-22SWORD25: Fix leaking the save thumbnail MemoryWriteStreamDynamicBastien Bouclet
2017-09-22SWORD1: Fix leaking the save thumbnail MemoryWriteStreamDynamic bufferBastien Bouclet
2017-09-22GNAP: Fix leaking the save thumbnail MemoryWriteStreamDynamic bufferBastien Bouclet
2017-09-22FULLPIPE: Fix leaking the save MemoryWriteStreamDynamic bufferBastien Bouclet
2017-09-22DM: Fix leaking the save thumbnail MemoryWriteStreamDynamic bufferBastien Bouclet
2017-09-22NETWORKING: Changed NetworkReadStream not to subclass MemoryReadWriteStreamBastien Bouclet
Also fix the MemoryReadWriteStream managed buffer being leaked. Fixes #9718.
2017-09-22XEEN: Change OutFile not to subclass MemoryWriteStreamDynamicBastien Bouclet
Also fix leaking the MemoryWriteStreamDynamic buffer storage
2017-09-22XEEN: Change SavesManager to use a map of pointers to MemoryWriteStreamDynamicBastien Bouclet
Our implementation of HashMap does not allow value types without a zero-argument constructor.
2017-09-21IMAGE: Remove unused end info structs from PNG codeColin Snover
Thanks to @dafioram for noticing the problem & sending an initial patch, and to @wjp for noticing further that the PNG reader did not even use the end info struct it created either. Fixes Trac#10217. Closes gh-1028.
2017-09-21TITANIC: DE: Add miscellaneous missed sound translationsPaul Gilbert
2017-09-21TITANIC: DE: More sound translationsPaul Gilbert
2017-09-21VIDEO: Change QT edit list to a Common::ArrayBastien Bouclet
And fix an out of bounds acces when seeking to the end of a video. Skipping samples is needed even when seeking through silent edits because a silent stream is queued for those. Fixes #10219.
2017-09-20TITANIC: DE: Adding sound translationsPaul Gilbert
2017-09-20TITANIC: DE: Adding sound translationsPaul Gilbert
2017-09-20Merge pull request #1024 from wjp/detection_searchmanWillem Jan Palenstijn
Clean up use of SearchMan in fallback detection
2017-09-20CGE2: Clean up SearchMan after fallbackDetectWillem Jan Palenstijn
2017-09-20CGE: Clean up SearchMan after fallbackDetectWillem Jan Palenstijn
2017-09-20SLUDGE: Skip SearchMan detour in fallback detectionWillem Jan Palenstijn
2017-09-20DIRECTOR: Skip SearchMan detour in fallback detectionWillem Jan Palenstijn
2017-09-20SCI: Fix detection of end of audio map & entry size in SCI32Colin Snover
Torin RU map 38140 has an unusual terminator entry; instead of a normal terminating entry of 11 FFs, its terminating entry is 03 FF FF FF FF C4 36 01 FF FF FF. So, two changes are made: 1. The end-of-map check is now the same as in SSCI1.1+ and only checks that the final byte of the Audio36 tuple is 0xFF, instead of the entire tuple; 2. The unneeded entry size heuristic has been turned off for all SCI32 games. A quick check of the English versions of LB2CD, EQ1CD, SQ4CD, and KQ6CD, as well as all English SCI32 games, indicates that this approach seems to be working correctly. Fixes Trac#10188.
2017-09-20TITANIC: DE: Add translations for playGlobalSound callsPaul Gilbert
2017-09-20TITANIC: DE: Add translations for loadSound callsPaul Gilbert
2017-09-20MOHAWK: Riven: Move the water effect to its own classBastien Bouclet
Fixes the per frame scripts being leaked. Fixes #10215.
2017-09-20MOHAWK: Riven: Plug memory leak when savingBastien Bouclet
Fixes #10216.
2017-09-19TITANIC: DE: Adding German translationsPaul Gilbert
2017-09-19TITANIC: DE: Sound changes for BombPaul Gilbert
2017-09-19SCI32: Support RAMA's single sound effects volumeColin Snover
The original installer copied RESOURCE.SFX to the hard drive so there was only one RESOURCE.SFX on CD 1. Instead of requiring users to create duplicates, just use the single RESOURCE.SFX if it exists.
2017-09-19SCI32: Fix inconsistent patch instruction commentsColin Snover
I missed these lines when going through things earlier.
2017-09-19NEWS: Extend SCI game versions to reflect SCI3 being supportedColin Snover
2017-09-19SCI32: Put superclass address in r_acc for SCI3 super callsColin Snover
This fixes a problem in Lighthouse 2.0a where the mini-sub would fail to start playing the animation of the shipwreck when clicking on the throttle. In SSCI, in SCI3 only, r_acc was (inadvertently?) set to the superclass object ID whenever a super call was made. This happened because OP_super would call to get the superclass object ID, the calling conventions of the compiler put this return value into EAX, and then the PMachine message processing code put whatever was in EAX into r_acc before each message was processed. In the game code, there are a sequence of steps that look like this: * First, throttle::doVerb is called when throttle is clicked on; * Which calls getRobot::doit to tell the shipwreck robot to start playing; * Which calls wreckBot::init to reset the Robot for the animation; * Which calls Hiliter::hotVerbs(0) to remove cursor hotspots; * Which calls Hiliter::dispose to clean up since it is not used; * Which causes Hiliter::verbList to get set to 0. * Later, verbList is loaded into r_acc, and it is still 0; * Then, Hiliter::dispose makes a super call to Obj::dispose; * Then, Obj::dispose does nothing except call kDisposeClone, which does not mutate r_acc, so r_acc is still 0 from verbList; * Then we return back through 5 calls to throttle::doVerb; * Then throttle::doVerb checks that r_acc is non-zero, and if so, adds wreckBot to theDoits global, allowing the animation to occur. In ScummVM, without setting r_acc in the super call, the non-zero check failed and the wreckBot didn't get put into theDoits, so the entire sequence fell apart. In SSCI, the non-zero check happened to succeed because the Obj::dispose super call put the Obj class into the accumulator. So now we do that too, and now Lighthouse 2.0a works here. Earlier versions of SSCI used EAX for other things in between the OP_super call and the message processing, so would set r_acc from different data, so this change does not apply to those versions.
2017-09-19SCI: Allow multi-step tracing with step-over in debuggerColin Snover
2017-09-19SCI32: Fix GfxFrameout::addPlane from causing possible leaksColin Snover
2017-09-19SCI32: Remove never-read default valuesColin Snover
2017-09-19SCI32: Add audio dump debugger commandColin Snover
2017-09-19SCI32: Don't warp the mouse twice when its position has been restrictedColin Snover
2017-09-19SCI32: Flush all events before warping mouseColin Snover
This improves the behaviour at the end of PQ4 when navigating the warehouse with the flashlight by getting rid of mouse events that may have been queued before the mouse warp to the other side of the screen is performed. Without this, frequently, those extra events would then be processed and cause the mouse to jump back to the opposite side of the screen, triggering another navigation in the opposite direction. This patch really only helps when mouse capture is enabled in ScummVM as well, but it does allow the sequence to be played pretty much normally in that situation. Additional (pending) patches to ScummVM itself are needed to move the mouse to the correct place when mouse capture is off and the system mouse moves outside of the game window. Refs Trac#9689.
2017-09-19SCI32: Add Lighthouse Glider demo to detection tableColin Snover
2017-09-19SCI32: Promote Lighthouse demos to ADGF_TESTINGColin Snover
2017-09-19SCI32: Hide warning about CD-ROM speed setting in kGetSierraProfileIntColin Snover
In the DOS interpreters, this function is a no-op. Lighthouse calls it regardless of platform, so dummy it out for non-Windows platforms. This is not known to address any particular issue, and is really just to eliminate the warning about an unknown configuration setting when starting Lighthouse in a manner that is compatible with the original interpreter.
2017-09-19SCI: Stop EngineState::wait mutating r_accColin Snover
This wait function is used by kernel calls other than kWait, and those other functions do not mutate r_acc in SSCI.
2017-09-19TITANIC: Fix memory leaks on shutdownPaul Gilbert
2017-09-19TITANIC: Remove redundant surface ccreation from DirectDrawManagerPaul Gilbert
2017-09-18TITANIC: Fix identified redundant tests & assignmentsPaul Gilbert
2017-09-18TITANIC: Add missing return check in BellbotScript::processPaul Gilbert
2017-09-18TITANIC: Fix floor calculation in CChevCode::getChevFloorNumPaul Gilbert
2017-09-18TITANIC: Add engine to lists within READMEPaul Gilbert