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