aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2017-06-17SCI32: Avoid out-of-bounds read of pixel data in kIsOnMeColin Snover
Fixes Trac#9761, Trac#9844, Trac#9850, Trac#9851.
2017-06-17VIDEO: Wrap out-of-range VMD audio samples instead of clippingColin Snover
The 16-bit DPCM decompressors in SSCI and Urban Runner use a 16-bit register to store sample data, without any special handling of overflow. As such, out-of-range samples simply wrap around, rather than getting clipped. It is not totally clear if the wrapping behaviour was intentionally exploited to handle extreme transients, but in any case, videos like GK2 5280.VMD that generate samples outside the signed 16-bit range cause a loud pop when using clipping, but play back correctly when wrapping.
2017-06-17SCI32: Support old-format 8-bit DPCM coding for SCI2Colin Snover
2017-06-17SCI32: Implement engine-accurate DPCM overflow behaviourColin Snover
DPCM decompression algorithms in SSCI operate directly on 8- and 16-bit registers, so any sample that ends up being out-of-range during decompression gets wrapped by the CPU, not clipped. This does not fix any known problem with AUD files, but there are some VMDs (e.g. GK2 5280.VMD) which are known to contain OOR samples. Making this code more accurate should prevent trouble with any other similar files.
2017-06-17SCI: State SCI version in error if kernel subop detection failsColin Snover
2017-06-17TITANIC: Fix maintaining total playtime for savegamesPaul Gilbert
2017-06-17TITANIC: Minor cleanups, comments, and feature flags to meta enginePaul Gilbert
2017-06-17DEVTOOLS: Added German MissiveOMat data to create_titanicPaul Gilbert
2017-06-17CHEWY: Fix a bug in loadSceneInfo()Filippos Karapetis
2017-06-16DEVTOOLS: More create_titanic German corrections thanks to LightkeyPaul Gilbert
2017-06-16DEVTOOLS: Fix incorrect German text in create_titanicPaul Gilbert
2017-06-16DEVTOOLS: Add missing /DE suffix to German resource in create_titanicPaul Gilbert
2017-06-16DEVTOOLS: Add German pronoun list to create_titanicPaul Gilbert
2017-06-16DEVTOOLS: Add German parser strings to create_titanicPaul Gilbert
2017-06-15TITANIC: Fix single incorrect frame showing when Bellbot leavesPaul Gilbert
2017-06-16I18N: Update translation (Ukrainian)Eugene Sandulenko
Currently translated at 99.5% (953 of 957 strings)
2017-06-15TITANIC: Have ship announcements use the speech sound typePaul Gilbert
2017-06-13GUI: Focus the first 'focusable' widget when rebuilding dialogsBastien Bouclet
Fixes Trac#9838.
2017-06-13SCI32: Add detection for PQ4, French CD versionBastien Bouclet
2017-06-12TITANIC: Fix bots to do more than a single idle sequencePaul Gilbert
2017-06-12TITANIC: Fix saying goodbye to BellbotPaul Gilbert
2017-06-12TITANIC: Add missing addNode to WC_ABSTRACT handlingPaul Gilbert
2017-06-11TITANIC: Fix brief black boxes on fires in CanalPaul Gilbert
2017-06-11TITANIC: Rename viewChange to freeSurfacePaul Gilbert
2017-06-11TITANIC: CGameManager viewChange better named as roomChangePaul Gilbert
2017-06-11ADL: Set ADGF_TESTING for hires4Walter van Niftrik
2017-06-11ADL: Fix hires4 dropped item drawingWalter van Niftrik
2017-06-10TITANIC: Fix BellBot getting clipped incorrectly when walking off-screenPaul Gilbert
2017-06-11I18N: Update translations templatesThierry Crozat
2017-06-10SCI: Tidy Script errors & ensure script number exists in all of themColin Snover
2017-06-10SCI32: Fix detection and loading of localized resources in TorinColin Snover
Italian still needs to be fixed, but nobody seems to have access to this version at the moment. Fixes Trac#9772.
2017-06-10VOYEUR: Fix backgrounds not showing for static roomsPaul Gilbert
2017-06-10I18N: Update translations templatesThierry Crozat
2017-06-10SCI: Expand kernel breakpoint pattern matching for negative matchesWillem Jan Palenstijn
See matchKernelBreakpointPattern() for samples. The main envisioned use is DoSound*,!DoSoundUpdateCues to match all DoSound sub-functions except DoSoundUpdateCues.
2017-06-10SCI: Change 'none' breakpoint action to 'ignore' for consistencyWillem Jan Palenstijn
2017-06-10SCI: Clean up breakpoint code (indentation, consistency)Willem Jan Palenstijn
2017-06-10SCI: Move bpk/logkernel to main breakpoint infrastructureWillem Jan Palenstijn
This changes the syntax for bpk and logkernel: Enable breakpoint on kernel call: bpk FrameOut Enable logging for kernel call: bpk FrameOut log For backward compatibility this has an alias: logkernel FrameOut Removing a kernel call breakpoint is done with bp_del/bc now.
2017-06-10SCI: Print breakpoint info on creationWillem Jan Palenstijn
2017-06-10SCI: Allow setting bp action directly on creationWillem Jan Palenstijn
2017-06-10SCI: Allow multiple breakpoints with same trigger but different actionWillem Jan Palenstijn
2017-06-10SCI: Add inspect, none breakpoint actionsWillem Jan Palenstijn
2017-06-10SCI: Move printObject from console to scriptdebugWillem Jan Palenstijn
2017-06-10SCI: Add break/log/backtrace actions for triggered breakpointsWillem Jan Palenstijn
The action can be set using the new console command bp_action/bpact.
2017-06-10SCI: Add underscores to Breakpoint member variablesWillem Jan Palenstijn
2017-06-10SCI: Remove union from BreakpointWillem Jan Palenstijn
2017-06-10SCI: Move backtrace output to scriptdebug.cppWillem Jan Palenstijn
2017-06-10SCI: Handle selector read/write breakpoints from opcodesWillem Jan Palenstijn
2017-06-10SCI: Move scriptdebug declarations to separate headerWillem Jan Palenstijn
2017-06-10SCI: Fix wildcard selector breakpointsWillem Jan Palenstijn
0f9c33e02f1cb2c740c1eb0dcaad96dd22ec29e7 in 2011 broke selector breakpoints of the type "ObjName::", which previously caught all selector sends of the named object. Thanks to TMM and snover for noticing.
2017-06-10SCI: Start engine at tick 1Colin Snover
In SSCI, games could never start at tick 0 because the video benchmarking code on game startup would take several ticks to run. In ScummVM, where the benchmarking code is disabled, it becomes possible for games to start at tick 0. This can break a lot of kernel code, which uses tick 0 as a special value indicating that a feature is not active. For example, in GK2, the music at the start of the game will not fade in on systems that are fast enough to start audio playback at tick 0, since a fade start tick of 0 is used to indicate audio fade is disabled. Fixes Trac#9830.