aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2017-04-22SCI: Move ScummVM save/restore to GuestAdditions and reimplement for SCI32Colin Snover
2017-04-21SCI: Improve audio volume & settings sync codeColin Snover
This patch includes enhancements to the ScummVM integration with SCI engine, with particular focus on SCI32 support. 1. Fixes audio volumes syncing erroneously to ScummVM in games that modify the audio volume without user action (e.g. SCI1.1 talkies that reduce music volume during speech playback). Now, volumes will only be synchronised when the user interacts with the game's audio settings. This mechanism works by looking for a known volume control object in the stack, and only syncing when the control object is present. (Ports and planes were researched and found unreliable.) 2. Fixes audio syncing in SCI32 games that do not set game volumes through kDoSoundMasterVolume/kDoAudioVolume, like GK1, GK2, Phant1, and Torin. 3. Fixes speech/subtitles syncing in SCI32 games that do not use global 90, like LSL6hires. 4. Fixes in-game volume controls in SCI32 games reflecting outdated audio volumes when a change is made during the game from the ScummVM launcher. 5. Fixes SCI32 games that would restore volumes from save games or reset volumes on startup, which caused game volumes to be out-of-sync with ScummVM when started. 6. ScummVM integration code for audio sync has been abstracted into a new GuestAdditions class. This keeps the ScummVM- specific code all in one place, with only small hooks into the engine code. ScummVM integrated save/load code should probably also go here in the future. Fixes Trac#9700.
2017-04-18TITANIC: Cleanup of CStarControlSub26 fn5Paul Gilbert
2017-04-18TITANIC: Fixes for CStarControlSub25 fn2Paul Gilbert
2017-04-18SCI: Fix handling of buggy SCI0 export tablesColin Snover
The previous fix for this bug was incorrect; it only happened to work because of another bug: the number of exports was being read incorrectly (reading the byte size of the export block, not the number of exports), so the validation check for the export number always passed. Then, the "small" offsets that were seen were actually either invalid reads into the header of the next block in the script (KQ4), or reads into the bad first export table which contained an unfilled offset (Camelot). Once the incorrect number of exports was fixed, the previous "fix" broke in KQ4 because the export number validation started to work correctly and the first export table does not have enough entries (needs 2, has 1). This patch fixes the bug by using the last export table in SCI0 scripts instead of the first export table. (This does not affect most scripts, since only the buggy scripts have more than one export table.) Fixes Trac#9731.
2017-04-18JANITORIAL: Remove superfluous semicolonsTorbjörn Andersson
2017-04-17DIRECTOR: Fix event processingEugene Sandulenko
2017-04-17TITANIC: Further renamings of CStarMover fieldsPaul Gilbert
2017-04-17TITANIC: Renamings for CCameraMover fields and methodsPaul Gilbert
2017-04-17I18N: Update translation (German)Lothar Serra Mari
Currently translated at 100.0% (946 of 946 strings)
2017-04-17I18N: Regenerate translations data fileThierry Crozat
2017-04-16TITANIC: Further positioning renamesPaul Gilbert
2017-04-16TITANIC: Renamings for positions and orientationsPaul Gilbert
2017-04-16TITANIC: Renamings for mover position updatesPaul Gilbert
2017-04-16TITANIC: Renaming of camera setting position & orientationPaul Gilbert
2017-04-16TITANIC: Renaming for viewport position poses and access methodsPaul Gilbert
2017-04-16TITANIC: Rename CStarControlSub13 to CViewportPaul Gilbert
2017-04-16SCI: Improve MidiParser_SCI robustness against bad sound resourcesColin Snover
1. KQ4 sound 104 has an extra 0xFC (MIDI Stop command/kEndOfTrack) at the end of the resource, which causes an out-of-bounds read because the filtering loop continues after the first 0xFC and unconditionally attempts to read 2 bytes (expecting there to always be a delta value + a command, whereas in this file there is only another kEndOfTrack command). This is corrected by exiting the filtering loop when a kEndOfTrack is encountered and there is not enough data remaining in the resource to continue reading. 2. KQ5 sound 699 is truncated, which causes the parser to attempt to read past the end of the resource. This is addressed by adding bounds checks that exit the mix loop early if there is no more data available to read. This allows truncated sounds to be played as far as possible (previously, trying to read truncated resources would result in a fatal error). 3. midiMixChannels allocates an arbitrary amount of raw memory for the mixed MIDI sequence, without performing any bounds checking when writing to this memory, potentially leading to a crash or silent corruption of adjacent memory. This is mitigated by using SciSpan instead of a raw pointer for the mixed data. Fixes Trac#9727.
2017-04-16TITANIC: Extra debugging info for starfield movementPaul Gilbert
2017-04-16TITANIC: Renamed CStarControlSub20 to CCameraMoverPaul Gilbert
2017-04-16NEWS: Mention improved handling of joysticksThierry Crozat
2017-04-16TITANIC: Fix GCC Unused Variable Warning.D G Turner
2017-04-15TITANIC: Renaming methods for setting camera movementPaul Gilbert
2017-04-15TITANIC: Renaming movement counter fieldsPaul Gilbert
2017-04-15TITANIC: Movement starting to work when star is clickedPaul Gilbert
2017-04-15TITANIC: Renaming and fixes for movers active flagPaul Gilbert
2017-04-15TITANIC: Remove hard-coded starfield positionPaul Gilbert
2017-04-15TITANIC: Fixes for setting up star closeup sphere dataPaul Gilbert
2017-04-14DIRECTOR: Lingo: Added stub for generic event handlersEugene Sandulenko
2017-04-14SCI: Fix speech in QfG IV on big endian platformsThierry Crozat
2017-04-13DIRECTOR: D5 Shared Cast loading.stevenhoefel
2017-04-12TITANIC: Fix centroid calculations in star drawing methodsPaul Gilbert
2017-04-12I18N: Update translation (Italian)Paolo Bossi
Currently translated at 100.0% (946 of 946 strings)
2017-04-12I18N: Update translation (Spanish)Eugene Sandulenko
Currently translated at 98.9% (936 of 946 strings)
2017-04-12I18N: Update translation (Spanish)pablobecerra
Currently translated at 98.9% (936 of 946 strings)
2017-04-10TITANIC: Further cleanup of CStarCloseup drawPaul Gilbert
2017-04-10TITANIC: Cleaning up CStarCloseup drawPaul Gilbert
2017-04-10TITANIC: If statement fix in CStarCloseUp drawPaul Gilbert
2017-04-10TITANIC: Formatting fixPaul Gilbert
2017-04-10TITANIC: Temporarily lock camera for testing star closeup renderingPaul Gilbert
2017-04-10I18N: Update translation (Italian)Paolo Bossi
Currently translated at 100.0% (946 of 946 strings)
2017-04-10I18N: Update translation (Hungarian)George Kormendi
Currently translated at 99.7% (944 of 946 strings)
2017-04-10BLADERUNNER: added Leon AI scriptPeter Kohaut
Happy incept day Leon!
2017-04-10I18N: Update translation (Dutch)Ben Castricum
Currently translated at 100.0% (946 of 946 strings)
2017-04-10I18N: Update translation (Russian)Eugene Sandulenko
Currently translated at 100.0% (946 of 946 strings)
2017-04-10I18N: Update translation (Ukrainian)Eugene Sandulenko
Currently translated at 100.0% (946 of 946 strings)
2017-04-10I18N: Regenerate translations data fileThierry Crozat
2017-04-09TITANIC: Fix CStarControlSub13 setPositionPaul Gilbert
2017-04-09TITANIC: Fix incorrect indexing in CStarCloseup setup2Paul Gilbert
2017-04-09TITANIC: Renaming of CStarCamera methodsPaul Gilbert