Commit graph

23 commits

Author SHA1 Message Date
Jochen Hoenicke
185d563690 A different fix for Bugs item #788531.
Allocate a 4th channel and map all accesses to out of bounds
channels to this channel.

svn-id: r9705
2003-08-15 12:48:47 +00:00
Jamieson Christian
c0730f6cb9 Fix for Bug [788531] Indy3VGA - Access violation with PC Speaker "travel" music
Checked for OOB channel clear command. The "travel" music
in question seems to try to clear channel 4 when there are
only channels 0-3. Now we check and bail if OOB.

Perhaps this isn't quite the correct thing to do. Would
channel 4 be significant, as in perhaps "clear ALL channels"?
Hoenicke should answer this one.

svn-id: r9700
2003-08-15 07:10:30 +00:00
Jochen Hoenicke
fa457b95c1 Don't create imuse for v1 and v2 games (otherwise getSoundStatus doesn't work).
PCjr support for V1 games, bug fix in speaker support.
set_pcjr is now called by Player_V2 constructor according to midi driver.
Renaming of member variables to begin with an underscore.

svn-id: r9692
2003-08-14 19:41:40 +00:00
Jamieson Christian
d38a028996 More monkeyvga credits fix for -epcspk/pcjr
svn-id: r9666
2003-08-13 17:38:05 +00:00
Jamieson Christian
2ad09e7857 Fix monkeyvga hang when using -epcspk/pcjr
svn-id: r9665
2003-08-13 17:18:31 +00:00
Jochen Hoenicke
fef62655f8 Fixed the freqency of one note. This bug is also in the original Lucas
Arts Games...

svn-id: r9648
2003-08-12 15:40:24 +00:00
Max Horn
4ae47a74bf added support for output sample rates > 32767 (still limited to a max of 65535, but all we care about are 44100 and 48000 anyway)
svn-id: r9510
2003-08-05 17:52:47 +00:00
Max Horn
c10905b975 cleanup
svn-id: r8662
2003-06-27 00:10:17 +00:00
Max Horn
acec45a483 cleanup
svn-id: r8494
2003-06-15 01:00:43 +00:00
Jochen Hoenicke
f1b3e170e9 This should be the right check for header_len.
I first thought that old games did not have GF_SMALL_HEADER.

svn-id: r8379
2003-06-07 09:48:10 +00:00
Max Horn
86df3537b9 replaced GF_AFTER with _version
svn-id: r8372
2003-06-07 00:13:26 +00:00
Torbjörn Andersson
229c5bb328 I have no idea if this is right, but at least sound seems to be working
again in Maniac Mansion, Zak and EGA Loom.

svn-id: r8365
2003-06-06 23:22:59 +00:00
Jochen Hoenicke
ce0352eab2 Added a fix for music_timer in V3 games.
svn-id: r8361
2003-06-06 21:56:37 +00:00
Jochen Hoenicke
9533f5605a Synchronize channels playing the same frequency. This prevents
interference effects.

svn-id: r8318
2003-06-05 08:45:24 +00:00
Jochen Hoenicke
16b47e4f95 I forgot one note_length entry.
svn-id: r8247
2003-06-01 17:27:20 +00:00
Jochen Hoenicke
ff5705b32c Added VAR_MUSIC_TIMER support to playerV2. Now Zak intro is synchronized.
svn-id: r8245
2003-06-01 16:42:29 +00:00
Jochen Hoenicke
ed0080e55b Added new note-lengths of indy3ega/loom. Fixed internote spacing.
svn-id: r8242
2003-06-01 15:56:40 +00:00
Max Horn
1d47bfa7cd fixed warning
svn-id: r8188
2003-05-31 17:29:47 +00:00
Jochen Hoenicke
3290d618d6 Made thread-safe.
PCjr support.
Rewrote the generator, so I can reuse more code between PCjr and speaker output.
Added function to set master volume and to switch between PCjr and speaker.

svn-id: r8185
2003-05-31 16:54:46 +00:00
Jochen Hoenicke
6f41b17fcd Added missing random freqmod entries (water doesn't beep anymore :)
Removed extra newlines from debugging output.

svn-id: r8166
2003-05-31 11:23:25 +00:00
Jochen Hoenicke
7a37232aae Cleaned up the sample generator.
Added support for new opcodes as they are in Loom.
I didn't enable Loom sound, as there are some issues (indyega, loomdemo) that
need to be resolved first.

svn-id: r8165
2003-05-31 11:01:16 +00:00
Jamieson Christian
b47d76222f Fixed shadow variable
svn-id: r8025
2003-05-26 22:19:12 +00:00
Jamieson Christian
dbad55e532 Added Hoenicke's PC-speaker waveform generator
and script interpreter for GF_OLD_BUNDLE music resources.

We'll try to get the waveform generator into a
MidiDriver wrapper for use with the 'SPK' resources
of later games, but this is usable for now.

Great work, Hoenicke!

svn-id: r8023
2003-05-26 22:03:04 +00:00