Commit Graph
102 Commits
Author SHA1 Message Date
Willem Jan Palenstijn 857d2e7bef SCI: Rewrite MIDI channel remapping
This adds MIDI state tracking to allow channels to be temporarily
unmapped and later re-mapped when there are free device channels
available again.
2013-12-31 13:52:15 +01:00
Martin Kiewitz 551e263165 SCI: revert fix music start code
add workaround for eq2
the issue is known, but can't be properly fixed without rewriting the midiparser into a channel specific parser
previous commit caused issues in kq5/french and others
2013-09-22 20:13:33 +02:00
Martin Kiewitz f1b0a77408 SCI: fix music start code fixes eq2 bug #3037267
we start at offset 10 for sound SCI1 games. This is hardcoded in the interpreter. Also removing not handling signals on tick 0. This fixes Eco Quest 2 / Gonzales dancing in room 530. Thanks to wjp for the help.
2013-09-22 15:40:51 +02:00
Willem Jan Palenstijn 4b5ca10f68 Merge branch 'master' into sci_midiparser
Conflicts:
	engines/sci/sound/midiparser_sci.cpp
2013-09-21 20:05:47 +02:00
m-kiewitz 97b255ab33 SCI: fix dataInc signalling fixes bug #3035159
we set signal in parseNextEvent on dataInc events, which then effectively triggered 2 cues through kDoSoundUpdateCues instead of one. Fixes Freddy Pharkas Ballad intro on floppy + demos
2013-09-21 19:41:45 +02:00
Willem Jan Palenstijn a6d902df28 SCI: Handle !fireEvents in processEvent 2013-09-21 14:42:59 +02:00
Willem Jan Palenstijn 3792af8e95 AUDIO: Simplify SCI inFastForward flag by moving it to MidiParser 2013-09-21 09:31:08 +02:00
Willem Jan Palenstijn 11d425b76c SCI: Move MIDI event processing out of parseNextEvent 2013-09-21 01:43:04 +02:00
Willem Jan Palenstijn 5b23a251ce SCI: Fix too strict assert triggering in LSL5 2013-09-19 23:54:27 +02:00
m-kiewitz 1c9316cee0 SCI: longbow intro night rider fix (with help of wjp) - seems to fix bug 3489094 2013-09-16 00:34:49 +02:00
m-kiewitz 0fd15e6db3 SCI: fix tabs in last commit 2013-09-15 23:21:23 +02:00
m-kiewitz 0367d40647 SCI: disable signals when resuming music, so that debugger will work properly for longbow intro 2013-09-15 22:14:35 +02:00
Willem Jan Palenstijn 06cc30cf6c SCI: Add FIXME 2013-07-19 21:22:36 +02:00
Filippos Karapetis fef7d59c54 SCI: Rewrite the song loop comments in commit 6fa668e to make more sense 2013-07-08 12:32:12 +03:00
Filippos Karapetis 6fa668e32a SCI: Add some comments a possible TODO regarding song looping 2013-07-08 12:19:15 +03:00
Filippos Karapetis 0f30ba2f10 SCI: Fix bug #3614566 - "LSL6: ScummVM locks up at Electro-Shock room"
We now do the jumpToTick() for hold events after waiting for the delta
of the current event, like we do for the signal set events. This keeps
the fixes for the hold timings in QFG3, while not breaking LSL6.

Many thanks to wjp for pinpointing the actual cause of the issue.
2013-07-07 19:41:42 +03:00
Willem Jan Palenstijn f280789afe SCI: Don't suppress loop delta in SCI1 midi
This fixes bug #3293354.
2013-04-16 23:10:09 +02:00
Willem Jan Palenstijn 457f5da095 SCI: Don't suppress end-of-track delta in SCI0 midi
This fixes the main part of bug #3487090.
This seems to be a conversion error from SCI1's channel mixing to SCI0's
channel filtering code.
2013-04-16 23:04:33 +02:00
Willem Jan Palenstijn 841b6ca540 SCI: Revert "Add a more generic solution for the problem found in bug #3605269"
This reverts commit c6320a28e4.
SSCI does not interpret signals on other channels than 15.

Conflicts:
	engines/sci/sound/soundcmd.cpp
2013-04-05 21:14:55 +02:00
Filippos Karapetis c6320a28e4 SCI: Add a more generic solution for the problem found in bug #3605269
We now accept signals from all channels if channel 15 is missing. This
is a very rare edge case, but our behavior is now somewhat closer to what
the original interpreter seems to be doing. Mordack's appearance animation
is now synced properly. The more generic workaround works for songs 1840
and 1843, but not for 1849, which is still problematic and we still resort
to manually changing its dataInc selector
2013-04-02 10:03:48 +03:00
Alyssa Milburn f08978a075 JANITORIAL: Remove underscores from MidiParser variable names. 2012-09-07 23:04:34 +02:00
Filippos Karapetis 38dc6640dc SCI: Reset parameters for all channels used by a song when it starts 2011-11-20 20:59:31 +02:00
Filippos Karapetis 2798c65d75 SCI: Fixed bug #3297883 - "SCI: LB1 (Amiga) - Intro stuck" 2011-08-28 14:07:42 +03:00
Filippos Karapetis 4f3b85f4ef SCI: Fixed bug #3311911 - "SCI: QFG3: Intro music abruptly stops" 2011-08-26 11:30:19 +03:00
md5 3b75ff9132 SCI: Added a warning for SCI0 games like in bug #3297881
LB1 Amiga doesn't contain MT-32 music tracks. Added a warning for this
situation
2011-05-12 04:34:20 +03:00
strangerke 69b1485a22 GIT: Clean up: Suppress SVN tags, now useless 2011-05-12 01:16:22 +02:00
Filippos Karapetis 0312235f67 SCI: Removed bogus warning
svn-id: r54512
2010-11-27 18:27:02 +00:00
Filippos Karapetis 49afe9ccff SCI: Fix for bug #3119713 - "PQ2: song-specific reverb changes are ignored" (thanks to waltervn)
svn-id: r54509
2010-11-27 17:29:42 +00:00
Walter van Niftrik 52b89206c0 SCI: Pull reverb default directly from control channel.
svn-id: r54499
2010-11-26 14:35:46 +00:00
Filippos Karapetis e793d62c8d Fixed bug with r54485
svn-id: r54488
2010-11-26 00:10:51 +00:00
Filippos Karapetis 069309f88a SCI: set the reverb setting of the current song when a relevant event is fired from the MIDI stream
svn-id: r54485
2010-11-26 00:05:27 +00:00
Filippos Karapetis 11ac03b7ab SCI: Global reverb can't be 127. Some cleanup
svn-id: r54482
2010-11-25 22:16:22 +00:00
Filippos Karapetis 601494cad4 SCI: implemented reverb handling and related functionality
svn-id: r54478
2010-11-25 16:09:45 +00:00
Filippos Karapetis dcd1326970 SCI: Some renaming and added several TODOs concerning reverb
svn-id: r54461
2010-11-24 16:01:30 +00:00
Filippos Karapetis 9493b9add5 SCI: Moved handling of special reverb value 127 outside of the MIDI driver
svn-id: r54459
2010-11-24 14:51:29 +00:00
Filippos Karapetis d438b739cf SCI: Also send a sustain off on a notes off event (patch from bug #3116608)
svn-id: r54429
2010-11-23 16:03:30 +00:00
Martin Kiewitz 64313cd7f1 SCI: set master volume correctly
and merge it together with global volume, fixes bug #3053104)

svn-id: r52484
2010-09-01 19:20:17 +00:00
Filippos Karapetis c969090ef8 SCI: Only perform queuing of song signals for SCI0, where we handle the updating of song queues ourselves. Newer games handle signaling on their own, thus we shouldn't interfere with this. Fixes bug #3045913 - "PHARKAS CD: Crash at the start menu" (a regression from rev #52043)
svn-id: r52195
2010-08-18 20:00:18 +00:00
Martin Kiewitz 4be0eb985e SCI: queuing signal, if signal not passed to scripts
fixes laura bow 1 when knocking at the door in the attic, scripts wait for 0xb in that case, sound resource sets 0xb and then immediately ends. This resulted in the scripts only getting the termination signal, so they waited endlessly. (bug #3042981)

svn-id: r52043
2010-08-12 15:45:53 +00:00
Martin Kiewitz 7487b51e87 SCI: not error()ing out on no free channels
instead we just ignore such channels. I'm not sure how sierra sci behaved in that case, they ignored channels as well, but maybe they removed them from earlier music

svn-id: r51715
2010-08-03 21:38:26 +00:00
Martin Kiewitz f771a2bbc7 SCI: fix regression of r50463
also check delta, because _play_tick does not include delta at that point - fixing sq1 ship takeoff

svn-id: r51067
2010-07-20 17:28:10 +00:00
Martin Kiewitz 539d10ea11 SCI: adding sound version 2.1, to properly add sci2.1 signature for kDoSound(play)
svn-id: r50878
2010-07-14 11:29:55 +00:00
Martin Kiewitz 19d4374cbd SCI: erroring out on unsupported soundversion in midiparser
svn-id: r50849
2010-07-13 18:15:19 +00:00
Martin Kiewitz 15f9f37d4d SCI: removing ignoring of channel volume change code from r50463, the lsl5 issue was actually caused by the old volume adjust code that was also causing the issues in gk1
svn-id: r50466
2010-06-28 22:26:28 +00:00
Martin Kiewitz 668d820afd SCI: its lsl5 sound resource 294, not 274 (changed comment only)
svn-id: r50465
2010-06-28 22:14:03 +00:00
Martin Kiewitz 805374ff4e SCI: ignoring set signal on tick 0 directly in parseNextEvent instead of filtering, also now ignoring channel volume changes on tick 0 (fixes lsl5 fading of sound 274, almost at the end), fixing also fading in gk1 and enabling fading in sci32 again
svn-id: r50463
2010-06-28 22:06:19 +00:00
Martin Kiewitz d8e4160f34 SCI: remove clipping of volume inside SciMidiParser::setvolume
svn-id: r50456
2010-06-28 20:17:43 +00:00
Martin Kiewitz 22a8b2236e SCI: set volume all the time, fixes volume being 0 after fading in sci0
svn-id: r50418
2010-06-28 10:48:09 +00:00
Martin Kiewitz caa4479bdf SCI: changed the way setVolume works for sci0 back to the way it was from r50414, because adlib driver doesn't support channel volume changes for sci0 games, fixes fading in those games
svn-id: r50417
2010-06-28 10:36:10 +00:00
Martin Kiewitz 92cc16e6a5 SCI: reordering and cleanup, removing debug code from sci0 mix-code
svn-id: r50415
2010-06-28 10:00:12 +00:00