aboutsummaryrefslogtreecommitdiff
path: root/engines/sci/sfx
diff options
context:
space:
mode:
Diffstat (limited to 'engines/sci/sfx')
-rw-r--r--engines/sci/sfx/doc/README7
-rw-r--r--engines/sci/sfx/doc/patch001.txt118
-rw-r--r--engines/sci/sfx/doc/sound01.txt213
-rw-r--r--engines/sci/sfx/lists/GM.txt177
-rw-r--r--engines/sci/sfx/lists/gm_patches.cpp200
-rw-r--r--engines/sci/sfx/lists/mt32_timbres.cpp183
-rw-r--r--engines/sci/sfx/tests/stubs.c9
-rw-r--r--engines/sci/sfx/tests/tests.cpp162
-rw-r--r--engines/sci/sfx/tests/tests.vcproj158
9 files changed, 0 insertions, 1227 deletions
diff --git a/engines/sci/sfx/doc/README b/engines/sci/sfx/doc/README
deleted file mode 100644
index 502ad7d619..0000000000
--- a/engines/sci/sfx/doc/README
+++ /dev/null
@@ -1,7 +0,0 @@
-The files in this direcory are a bit outdated. There are some small non
-critical errors in "patch.001", they are obvious if you bother to read
-the source (which is correct). "sound01.txt" is just meant to give you a
-basic understanding of the structures invovled in
-SCI01/SCI1/SCI1.1/SCI32 sound resources.
-
-Ravi has made some really good documentation for SCI0.
diff --git a/engines/sci/sfx/doc/patch001.txt b/engines/sci/sfx/doc/patch001.txt
deleted file mode 100644
index 0037eea9b4..0000000000
--- a/engines/sci/sfx/doc/patch001.txt
+++ /dev/null
@@ -1,118 +0,0 @@
-SCI patch.001 Resource Format Revision 0.1
-Rickard Lind 1999-12-16
-
-The patch.001 file for Roland MT-32, MT-100, LAPC-1, CM-32L and CM-64.
-
-This specification will sometimes look very incomprehensible without some
-knowledge concerning the MT-32 MIDI implementation.
-Have a look at http://members.xoom.com/_XMCM/TomLewandowski/docs.html
-
-
-1. The header (494 bytes) which is always present.
-
-Offset Size Type Description
-----------------------------------------------------------------------------
- 0x000 2 89 00 First Two Bytes
- 0x002 20 ASCII String for MT-32 Display ("*It's Only A Model* ")
- 0x016 20 ASCII String for MT-32 Display (" CAMELOT, CAMELOT! ")
- 0x02a 20 ASCII String for MT-32 Display ("Ham & Jam & SpamAlot")
- 0x03e 2 word MT-32 Master Volume
- 0x040 1 Index in Predefined reverb settings at 0x04c (0-10)
- 0x041 11 MT-32 SysEx block setting reverb
- (last 3 bytes are dummies)
- 0x04c 3 Predefined reverb setting #1 (Mode, Time, Level)
- : : :
- 0x06a 3 Predefined reverb setting #11
- 0x06d 8 MT-32 Patch Memory #1 (see Patch Memory description below)
- : : :
- 0x1e5 8 MT-32 Patch Memory #48
- 0x1ed 1 n = Number of Timbre Memory (0-64 userdefined instruments)
-----------------------------------------------------------------------------
-
-
- Patch Memory description
-
- Offset Description
- --------------------------------------------------------------------
- 0x00 Timbre Group (0 = Bank A, 1 = Bank B, 2 = Memory, 3 = Rythm)
- 0x01 Timbre Number (0 - 63)
- 0x02 Key Shift (0-48) [-24 - +24]
- 0x03 Fine Tune (0-100) [-50 - +50]
- 0x04 Bender Range (0-24)
- 0x05 Assign Mode (0 = Poly 1, 1 = Poly 2, 2 = Poly 3, 3 = Poly 4)
- 0x06 Reverb Switch (0 = OFF, 1 = ON)
- 0x07 Dummy
- --------------------------------------------------------------------
-
- Mapping MT-32 to GM instruments is done with Timbre Group and
- Timbre Number.
-
- Instrument 0-63: Bank A, 0-63
- Instrument 64-127: Bank B, 0-63
-
-
-2. The Timbre Memory block (if n > 0), offset relative to 0x1ee
-
-Offset Size Type Description
-------------------------------------------------------------------------------
- 0x000 246 MT-32 Timbre Memory #1 (see Timbre Memory description below)
- : : :
- 0x??? 246 MT-32 Timbre Memory #n
-------------------------------------------------------------------------------
-
-
- Timbre Memory description
-
- Offset Size Description
- -----------------------------------------------------------------------
- 0x00 10 Timbre Name (ASCII String)
- 0x0a See http://members.xoom.com/_XMCM/TomLewandowski/lapc1.txt
- -----------------------------------------------------------------------
-
-
-3. Second MT-32 Patch Memory Block, offset realtive to 0x1ee + n * 246
-
-Offset Size Description
----------------------------------------------------
- 0x000 2 0xab 0xcd (if this this is not present
- there is no second block)
- 0x002 8 MT-32 Patch Memory #49
- : : :
- 0x17a 8 MT-32 Patch Memory #96
----------------------------------------------------
-
-
-4. Block for setting up Patch Temporary Area (rythm part) and
- System Area - Partial Reserve, offset relative to 0x370 + n * 246
-
-Offset Size Description
----------------------------------------------------
- 0x000 2 0xdc 0xba (if this this is not present
- this block is non existent)
- 0x002 4 Rythm Setup for Key #24 (see below)
- : : :
- 0x0fe 4 Rythm Setup for Key #87
- 0x102 9 System Area - Partial Reserve
----------------------------------------------------
-
- Rythm Setup description
- See http://members.xoom.com/_XMCM/TomLewandowski/lapc1.txt
-
-
-TODO:
-
- * Clearly describe which parts are interesting for a quick and dirty
- GeneralMidi/patch.001/FreeSCI implementation
-
- * Describe how the Sierra MT-32 driver uses patch.001
-
- * Make this readable to someone who has not been reading reference
- manuals since early childhood
-
- * SGML
-
-
-Revision history
-
- Revision 0.1 - 1999-12-16
- - First pre-release of the specification
diff --git a/engines/sci/sfx/doc/sound01.txt b/engines/sci/sfx/doc/sound01.txt
deleted file mode 100644
index 8aae367da7..0000000000
--- a/engines/sci/sfx/doc/sound01.txt
+++ /dev/null
@@ -1,213 +0,0 @@
-The SCI01+ sound resource format
-
-Originally written by Rickard Lind, 2000-01-05
-Extensively rewritten by Lars Skovlund, 2002-10-27
-Again updated by Lars Skovlund, 2005-10-12
-
-Used in:
-Quest for Glory II: Trial by Fire (QfG2)
-Christmas greeting card 1990 (CC1990)
-
-The magic number (84 00) is left out, offset 0 is directly after these two
-bytes.
-
-If you examine a SCI01 sound resource use "sciunpack --without-header" to
-get the pointers within the file correct for your hex viewer.
-
-DESCRIPTION
------------
-
-The SCI01 sound resource consists of a number of track lists and the
-tracks themselves. There is one track list for (almost) every piece of
-sound hardware supported by the game. Each track either contains track
-data for one specific channel or a digital sample.
-
-SCI1 resources are the same, except that sample chunks are no longer
-allowed (since they are now separate resources).
-
- Optional Priority Header
- ------------------------
-
- Some SCI1 songs contain an 8-byte header before the track list. At
- least on PC platforms, its data is mostly unused. The priority value
- is used if the script does not override it.
-
- offset size description
- -------------------------------------------------------
- 0 byte 0xf0 Priority header marker byte
- 1 byte Recommended priority for this song
- 2 6 bytes Apparently unused
-
- Track List
- ----------
-
- The track list tells us which tracks are to be played on particular
- hardware platforms. Each entry either terminates the previous list
- or contains an entry for the current one.
-
- List Termination
- ----------------
-
- offset size description
- -----------------------
- 0 byte 0xff
- 1 byte Hardware ID of next list, 0xff if none
-
- List Entry
- ----------
-
- offset size description
- -----------------------
- 0 byte 0
- 1 byte 0
- 2 word Data Chunk pointer
- 4 word Data Chunk size
-
- The very first list in a file looks a little odd, in that it
- starts with a single byte which tells us the hardware ID
- associated with the first list (0 in all the cases I've seen)
- followed by list entries as usual.
-
- Known Hardware IDs
- ------------------
-
- Some of these are used by multiple drivers, probably because they
- support the same number of polyphonic voices. Note that the
- hardware ID does not necessarily tell us whether samples are
- supported - thus, the list for Roland MT-32 also contains sample
- tracks, because the user may also have a Sound Blaster card
- connected. SCI1 most likely has more hardware IDs than these.
-
- 0x00 - Sound Blaster, Adlib
- 0x06 - MT-32 with Sound Blaster (for digital audio)
- 0x09 - CMS/Game Blaster
- 0x0c - Roland MT-32
- 0x12 - PC Speaker
- 0x13 - IBM PS/1, Tandy 3-voice
-
- Data Chunks
- -----------
-
- In the sound resources of QfG2 and CC1990 I've seen two types of Data
- Chunks, Sample and MIDI channel track.
-
-
- Sample Chunk
- ------------
-
- offset size description
- -----------------------
- 0 byte =0xfe
- 1 byte !=0xfe (always 0 in QfG2 and CC1990)
- 2 word Sample rate (Hz)
- 4 word Sample length
- 6 word Sample point 1 (begin?)
- 8 word Sample point 2 (end?)
- 10 Unsigned 8-bit mono sample data
-
-
- MIDI channel track Chunk
- ------------------------
-
- This chunk begins with a 2 byte header. The low nibble of the
- first byte indicates the channel number. The high nibble controls
- certain aspects of (dynamic) track channel/hardware channel mapping.
-
- The second byte tells us how many notes will be
- playing simultaneously in the channel. From the third byte onward
- is the MIDI track data which looks just like normal SCI0 MIDI
- track data, but all status bytes are targeted at one specific MIDI
- channel.
-
-Example, sound.833 from QfG2 (--without-header)
------------------------------------------------
-
-offset data description
-------------------------
- 0000 00 Hardware ID for first track list
- 0001 00 Track list continuation
- 0002 00 Same hardware device
- 0003 003F Data Chunk pointer (Little Endian)
- 0005 0013 Data Chunk length (LE)
- 0007 00 Track list continuation
- 0008 00 Same hardware device
- 0009 006A Data Chunk pointer (LE)
- 000B 0015 Data Chunk length (LE)
- 000D FF Next track list
- 000E 09 for hardware device 0x09
- 000F 00 Track list continuation
- 0010 00 Same hardware device
- 0011 003F Data Chunk pointer (LE)
- 0013 0013 Data Chunk length (LE)
- 0015 00 Track list continuation
- 0016 00 Same hardware device
- 0017 0052 Data Chunk pointer (LE)
- 0019 0018 Data Chunk length (LE)
- 001B 00 Track list continuation
- 001C 00 Same hardware device
- 001D 0094 Data Chunk pointer (LE)
- 001F 0012 Data Chunk length (LE)
- 0021 FF Next track list
- 0022 0C for hardware device 0x0C
- 0023 00 Track list continuation
- 0024 00 Same hardware device
- 0025 003F Data Chunk pointer (LE)
- 0027 0013 Data Chunk length (LE)
- 0029 00 Track list continuation
- 002A 00 Same hardware device
- 002B 0052 Data Chunk pointer (LE)
- 002D 0018 Data Chunk length (LE)
- 002F FF Next track list
- 0030 13 for hardware device 0x13
- 0031 00 Track list continuation
- 0032 00 Same hardware device
- 0033 003F Data Chunk pointer (LE)
- 0035 0013 Data Chunk length (LE)
- 0037 00 Track list continuation
- 0038 00 Same hardware device
- 0039 007F Data Chunk pointer (LE)
- 003B 0015 Data Chunk length (LE)
-
- 003D FF FF Sequence Control - End of Sequence Blocks
- ------------------------------------------------------------
- 003F 0F MIDI Track channel 15 (control channel)
- 0040 01 One note playing on track (probably just to satisfy the
- MIDI engine)
- 0041 MIDI Track data like SCI0
- 0052 02 MIDI Track channel 2
- 0053 02 Two notes playing on track
- 0054 MIDI Track data like SCI0
- 006A 03 MIDI Track channel 3
- 006B 01 One note playing on track
- 006C MIDI Track data like SCI0
- 007F 0A MIDI Track channel 10
- 0080 01 One note playing on track
- 0081 MIDI Track data like SCI0
- 0094 02 MIDI Track channel 2
- 0095 01 One note playing on track
- 0096 MIDI Track data like SCI0
-
-Addendum (provided by Lars Skovlund)
-------------------------------------
-
-First of all, tracks do not loop individually. No loop signals are
-reported.
-
-Absolute cues are generally stored in the signal selector, and
-cumulative cues are generally stored in the dataInc selector, with
-some interesting twists:
-
-1. The server's record of the absolute cue value is reset as part of
- UPDATE_CUES.
-2. When a cumulative cue is reported to the VM object, it will be
- placed in _both_ fields. In such a case, a constant of 0x7f will be
- added to the _signal_ selector only, to be able to distinguish the
- two kinds of cue (this has already been coded).
-3. The above only happens if the sound does not use absolute cues
- (i.e. if the signal is 0 a priori). Note that, because of 1)
- above, this does not cause problems neither with successive
- cumulative cues nor with mixed cumulative/absolute cues.
-4. A signal of 0xff will stop the sound object playing. This may be
- for purely internal purposes.
-5. There no longer is a field indicating the amount of increment for
- a cue.
diff --git a/engines/sci/sfx/lists/GM.txt b/engines/sci/sfx/lists/GM.txt
deleted file mode 100644
index eea2510447..0000000000
--- a/engines/sci/sfx/lists/GM.txt
+++ /dev/null
@@ -1,177 +0,0 @@
-/*000 00*/ "Acoustic Grand Piano",
-/*001 01*/ "Bright Acoustic Piano",
-/*002 02*/ "Electric Grand Piano",
-/*003 03*/ "Honky-tonk Piano",
-/*004 04*/ "Electric Piano 1",
-/*005 05*/ "Electric Piano 2",
-/*006 06*/ "Harpsichord",
-/*007 07*/ "Clavinet",
-/*008 08*/ "Celesta",
-/*009 09*/ "Glockenspiel",
-/*010 0A*/ "Music Box",
-/*011 0B*/ "Vibraphone",
-/*012 0C*/ "Marimba",
-/*013 0D*/ "Xylophone",
-/*014 0E*/ "Tubular Bells",
-/*015 0F*/ "Dulcimer",
-/*016 10*/ "Drawbar Organ",
-/*017 11*/ "Percussive Organ",
-/*018 12*/ "Rock Organ",
-/*019 13*/ "Church Organ",
-/*020 14*/ "Reed Organ",
-/*021 15*/ "Accordion",
-/*022 16*/ "Harmonica",
-/*023 17*/ "Tango Accordion",
-/*024 18*/ "Acoustic Guitar (nylon)",
-/*025 19*/ "Acoustic Guitar (steel)",
-/*026 1A*/ "Electric Guitar (jazz)",
-/*027 1B*/ "Electric Guitar (clean)",
-/*028 1C*/ "Electric Guitar (muted)",
-/*029 1D*/ "Overdriven Guitar",
-/*030 1E*/ "Distortion Guitar",
-/*031 1F*/ "Guitar Harmonics",
-/*032 20*/ "Acoustic Bass",
-/*033 21*/ "Electric Bass (finger)",
-/*034 22*/ "Electric Bass (pick)",
-/*035 23*/ "Fretless Bass",
-/*036 24*/ "Slap Bass 1",
-/*037 25*/ "Slap Bass 2",
-/*038 26*/ "Synth Bass 1",
-/*039 27*/ "Synth Bass 2",
-/*040 28*/ "Violin",
-/*041 29*/ "Viola",
-/*042 2A*/ "Cello",
-/*043 2B*/ "Contrabass",
-/*044 2C*/ "Tremolo Strings",
-/*045 2D*/ "Pizzicato Strings",
-/*046 2E*/ "Orchestral Harp",
-/*047 2F*/ "Timpani",
-/*048 30*/ "String Ensemble 1",
-/*049 31*/ "String Ensemble 2",
-/*050 32*/ "SynthStrings 1",
-/*051 33*/ "SynthStrings 2",
-/*052 34*/ "Choir Aahs",
-/*053 35*/ "Voice Oohs",
-/*054 36*/ "Synth Voice",
-/*055 37*/ "Orchestra Hit",
-/*056 38*/ "Trumpet",
-/*057 39*/ "Trombone",
-/*058 3A*/ "Tuba",
-/*059 3B*/ "Muted Trumpet",
-/*060 3C*/ "French Horn",
-/*061 3D*/ "Brass Section",
-/*062 3E*/ "SynthBrass 1",
-/*063 3F*/ "SynthBrass 2",
-
-/*064 40*/ "Soprano Sax",
-/*065 41*/ "Alto Sax",
-/*066 42*/ "Tenor Sax",
-/*067 43*/ "Baritone Sax",
-/*068 44*/ "Oboe",
-/*069 45*/ "English Horn",
-/*070 46*/ "Bassoon",
-/*071 47*/ "Clarinet",
-/*072 48*/ "Piccolo",
-/*073 49*/ "Flute",
-/*074 4A*/ "Recorder",
-/*075 4B*/ "Pan Flute",
-/*076 4C*/ "Blown Bottle",
-/*077 4D*/ "Shakuhachi",
-/*078 4E*/ "Whistle",
-/*079 4F*/ "Ocarina",
-/*080 50*/ "Lead 1 (square)",
-/*081 51*/ "Lead 2 (sawtooth)",
-/*082 52*/ "Lead 3 (calliope)",
-/*083 53*/ "Lead 4 (chiff)",
-/*084 54*/ "Lead 5 (charang)",
-/*085 55*/ "Lead 6 (voice)",
-/*086 56*/ "Lead 7 (fifths)",
-/*087 57*/ "Lead 8 (bass+lead)",
-/*088 58*/ "Pad 1 (new age)",
-/*089 59*/ "Pad 2 (warm)",
-/*090 5A*/ "Pad 3 (polysynth)",
-/*091 5B*/ "Pad 4 (choir)",
-/*092 5C*/ "Pad 5 (bowed)",
-/*093 5D*/ "Pad 6 (metallic)",
-/*094 5E*/ "Pad 7 (halo)",
-/*095 5F*/ "Pad 8 (sweep)",
-/*096 60*/ "FX 1 (rain)",
-/*097 61*/ "FX 2 (soundtrack)",
-/*098 62*/ "FX 3 (crystal)",
-/*099 63*/ "FX 4 (atmosphere)",
-/*100 64*/ "FX 5 (brightness)",
-/*101 65*/ "FX 6 (goblins)",
-/*102 66*/ "FX 7 (echoes)",
-/*103 67*/ "FX 8 (sci-fi)",
-/*104 68*/ "Sitar",
-/*105 69*/ "Banjo",
-/*106 6A*/ "Shamisen",
-/*107 6B*/ "Koto",
-/*108 6C*/ "Kalimba",
-/*109 6D*/ "Bag pipe",
-/*110 6E*/ "Fiddle",
-/*111 6F*/ "Shannai",
-/*112 70*/ "Tinkle Bell",
-/*113 71*/ "Agogo",
-/*114 72*/ "Steel Drums",
-/*115 73*/ "Woodblock",
-/*116 74*/ "Taiko Drum",
-/*117 75*/ "Melodic Tom",
-/*118 76*/ "Synth Drum",
-/*119 77*/ "Reverse Cymbal",
-/*120 78*/ "Guitar Fret Noise",
-/*121 79*/ "Breath Noise",
-/*122 7A*/ "Seashore",
-/*123 7B*/ "Bird Tweet",
-/*124 7C*/ "Telephone Ring",
-/*125 7D*/ "Helicopter",
-/*126 7E*/ "Applause",
-/*127 7F*/ "Gunshot"
-
-/*035 23*/ "Acoustic Bass Drum",
-/*036 24*/ "Bass Drum 1",
-/*037 25*/ "Side Stick",
-/*038 26*/ "Acoustic Snare",
-/*039 27*/ "Hand Clap",
-/*040 28*/ "Electric Snare",
-/*041 29*/ "Low Floor Tom",
-/*042 2A*/ "Closed Hi-Hat",
-/*043 2B*/ "High Floor Tom",
-/*044 2C*/ "Pedal Hi-Hat",
-/*045 2D*/ "Low Tom",
-/*046 2E*/ "Open Hi-Hat",
-/*047 2F*/ "Low-Mid Tom",
-/*048 30*/ "Hi-Mid Tom",
-/*049 31*/ "Crash Cymbal 1",
-/*050 32*/ "High Tom",
-/*051 33*/ "Ride Cymbal 1",
-/*052 34*/ "Chinese Cymbal",
-/*053 35*/ "Ride Bell",
-/*054 36*/ "Tambourine",
-/*055 37*/ "Splash Cymbal",
-/*056 38*/ "Cowbell",
-/*057 39*/ "Crash Cymbal 2",
-/*058 3A*/ "Vibraslap",
-/*059 3B*/ "Ride Cymbal 2",
-/*060 3C*/ "Hi Bongo",
-/*061 3D*/ "Low Bongo",
-/*062 3E*/ "Mute Hi Conga",
-/*063 3F*/ "Open Hi Conga",
-/*064 40*/ "Low Conga",
-/*065 41*/ "High Timbale",
-/*066 42*/ "Low Timbale",
-/*067 43*/ "High Agogo",
-/*068 44*/ "Low Agogo",
-/*069 45*/ "Cabasa",
-/*070 46*/ "Maracas",
-/*071 47*/ "Short Whistle",
-/*072 48*/ "Long Whistle",
-/*073 49*/ "Short Guiro",
-/*074 4A*/ "Long Guiro",
-/*075 4B*/ "Claves",
-/*076 4C*/ "Hi Wood Block",
-/*077 4D*/ "Low Wood Block",
-/*078 4E*/ "Mute Cuica",
-/*079 4F*/ "Open Cuica",
-/*080 50*/ "Mute Triangle",
-/*081 51*/ "Open Triangle"
diff --git a/engines/sci/sfx/lists/gm_patches.cpp b/engines/sci/sfx/lists/gm_patches.cpp
deleted file mode 100644
index 0e32d5f7b5..0000000000
--- a/engines/sci/sfx/lists/gm_patches.cpp
+++ /dev/null
@@ -1,200 +0,0 @@
-/***************************************************************************
- gm_patches.c Copyright (C) 2000 Rickard Lind
-
-
- This program may be modified and copied freely according to the terms of
- the GNU general public license (GPL), as long as the above copyright
- notice and the licensing information contained herein are preserved.
-
- Please refer to www.gnu.org for licensing details.
-
- This work is provided AS IS, without warranty of any kind, expressed or
- implied, including but not limited to the warranties of merchantibility,
- noninfringement, and fitness for a specific purpose. The author will not
- be held liable for any damage caused by this work or derivatives of it.
-
- By using this source code, you agree to the licensing terms as stated
- above.
-
-***************************************************************************/
-
-char *GM_Patch[128] = {
- /*000*/ "Acoustic Grand Piano",
- /*001*/ "Bright Acoustic Piano",
- /*002*/ "Electric Grand Piano",
- /*003*/ "Honky-tonk Piano",
- /*004*/ "Electric Piano 1",
- /*005*/ "Electric Piano 2",
- /*006*/ "Harpsichord",
- /*007*/ "Clavinet",
- /*008*/ "Celesta",
- /*009*/ "Glockenspiel",
- /*010*/ "Music Box",
- /*011*/ "Vibraphone",
- /*012*/ "Marimba",
- /*013*/ "Xylophone",
- /*014*/ "Tubular Bells",
- /*015*/ "Dulcimer",
- /*016*/ "Drawbar Organ",
- /*017*/ "Percussive Organ",
- /*018*/ "Rock Organ",
- /*019*/ "Church Organ",
- /*020*/ "Reed Organ",
- /*021*/ "Accordion",
- /*022*/ "Harmonica",
- /*023*/ "Tango Accordion",
- /*024*/ "Acoustic Guitar (nylon)",
- /*025*/ "Acoustic Guitar (steel)",
- /*026*/ "Electric Guitar (jazz)",
- /*027*/ "Electric Guitar (clean)",
- /*028*/ "Electric Guitar (muted)",
- /*029*/ "Overdriven Guitar",
- /*030*/ "Distortion Guitar",
- /*031*/ "Guitar Harmonics",
- /*032*/ "Acoustic Bass",
- /*033*/ "Electric Bass (finger)",
- /*034*/ "Electric Bass (pick)",
- /*035*/ "Fretless Bass",
- /*036*/ "Slap Bass 1",
- /*037*/ "Slap Bass 2",
- /*038*/ "Synth Bass 1",
- /*039*/ "Synth Bass 2",
- /*040*/ "Violin",
- /*041*/ "Viola",
- /*042*/ "Cello",
- /*043*/ "Contrabass",
- /*044*/ "Tremolo Strings",
- /*045*/ "Pizzicato Strings",
- /*046*/ "Orchestral Harp",
- /*047*/ "Timpani",
- /*048*/ "String Ensemble 1",
- /*049*/ "String Ensemble 2",
- /*050*/ "SynthStrings 1",
- /*051*/ "SynthStrings 2",
- /*052*/ "Choir Aahs",
- /*053*/ "Voice Oohs",
- /*054*/ "Synth Voice",
- /*055*/ "Orchestra Hit",
- /*056*/ "Trumpet",
- /*057*/ "Trombone",
- /*058*/ "Tuba",
- /*059*/ "Muted Trumpet",
- /*060*/ "French Horn",
- /*061*/ "Brass Section",
- /*062*/ "SynthBrass 1",
- /*063*/ "SynthBrass 2",
- /*064*/ "Soprano Sax",
- /*065*/ "Alto Sax",
- /*066*/ "Tenor Sax",
- /*067*/ "Baritone Sax",
- /*068*/ "Oboe",
- /*069*/ "English Horn",
- /*070*/ "Bassoon",
- /*071*/ "Clarinet",
- /*072*/ "Piccolo",
- /*073*/ "Flute",
- /*074*/ "Recorder",
- /*075*/ "Pan Flute",
- /*076*/ "Blown Bottle",
- /*077*/ "Shakuhachi",
- /*078*/ "Whistle",
- /*079*/ "Ocarina",
- /*080*/ "Lead 1 (square)",
- /*081*/ "Lead 2 (sawtooth)",
- /*082*/ "Lead 3 (calliope)",
- /*083*/ "Lead 4 (chiff)",
- /*084*/ "Lead 5 (charang)",
- /*085*/ "Lead 6 (voice)",
- /*086*/ "Lead 7 (fifths)",
- /*087*/ "Lead 8 (bass+lead)",
- /*088*/ "Pad 1 (new age)",
- /*089*/ "Pad 2 (warm)",
- /*090*/ "Pad 3 (polysynth)",
- /*091*/ "Pad 4 (choir)",
- /*092*/ "Pad 5 (bowed)",
- /*093*/ "Pad 6 (metallic)",
- /*094*/ "Pad 7 (halo)",
- /*095*/ "Pad 8 (sweep)",
- /*096*/ "FX 1 (rain)",
- /*097*/ "FX 2 (soundtrack)",
- /*098*/ "FX 3 (crystal)",
- /*099*/ "FX 4 (atmosphere)",
- /*100*/ "FX 5 (brightness)",
- /*101*/ "FX 6 (goblins)",
- /*102*/ "FX 7 (echoes)",
- /*103*/ "FX 8 (sci-fi)",
- /*104*/ "Sitar",
- /*105*/ "Banjo",
- /*106*/ "Shamisen",
- /*107*/ "Koto",
- /*108*/ "Kalimba",
- /*109*/ "Bag pipe",
- /*110*/ "Fiddle",
- /*111*/ "Shannai",
- /*112*/ "Tinkle Bell",
- /*113*/ "Agogo",
- /*114*/ "Steel Drums",
- /*115*/ "Woodblock",
- /*116*/ "Taiko Drum",
- /*117*/ "Melodic Tom",
- /*118*/ "Synth Drum",
- /*119*/ "Reverse Cymbal",
- /*120*/ "Guitar Fret Noise",
- /*121*/ "Breath Noise",
- /*122*/ "Seashore",
- /*123*/ "Bird Tweet",
- /*124*/ "Telephone Ring",
- /*125*/ "Helicopter",
- /*126*/ "Applause",
- /*127*/ "Gunshot"
-};
-
-char *GM_RhythmKey[47] = {
- /*035*/ "Acoustic Bass Drum",
- /*036*/ "Bass Drum 1",
- /*037*/ "Side Stick",
- /*038*/ "Acoustic Snare",
- /*039*/ "Hand Clap",
- /*040*/ "Electric Snare",
- /*041*/ "Low Floor Tom",
- /*042*/ "Closed Hi-Hat",
- /*043*/ "High Floor Tom",
- /*044*/ "Pedal Hi-Hat",
- /*045*/ "Low Tom",
- /*046*/ "Open Hi-Hat",
- /*047*/ "Low-Mid Tom",
- /*048*/ "Hi-Mid Tom",
- /*049*/ "Crash Cymbal 1",
- /*050*/ "High Tom",
- /*051*/ "Ride Cymbal 1",
- /*052*/ "Chinese Cymbal",
- /*053*/ "Ride Bell",
- /*054*/ "Tambourine",
- /*055*/ "Splash Cymbal",
- /*056*/ "Cowbell",
- /*057*/ "Crash Cymbal 2",
- /*058*/ "Vibraslap",
- /*059*/ "Ride Cymbal 2",
- /*060*/ "Hi Bongo",
- /*061*/ "Low Bongo",
- /*062*/ "Mute Hi Conga",
- /*063*/ "Open Hi Conga",
- /*064*/ "Low Conga",
- /*065*/ "High Timbale",
- /*066*/ "Low Timbale",
- /*067*/ "High Agogo",
- /*068*/ "Low Agogo",
- /*069*/ "Cabasa",
- /*070*/ "Maracas",
- /*071*/ "Short Whistle",
- /*072*/ "Long Whistle",
- /*073*/ "Short Guiro",
- /*074*/ "Long Guiro",
- /*075*/ "Claves",
- /*076*/ "Hi Wood Block",
- /*077*/ "Low Wood Block",
- /*078*/ "Mute Cuica",
- /*079*/ "Open Cuica",
- /*080*/ "Mute Triangle"
- /*081*/ "Open Triangle"
-};
diff --git a/engines/sci/sfx/lists/mt32_timbres.cpp b/engines/sci/sfx/lists/mt32_timbres.cpp
deleted file mode 100644
index 6cbf1c415a..0000000000
--- a/engines/sci/sfx/lists/mt32_timbres.cpp
+++ /dev/null
@@ -1,183 +0,0 @@
-/***************************************************************************
- mt_32_timbres.c Copyright (C) 2000 Rickard Lind
-
-
- This program may be modified and copied freely according to the terms of
- the GNU general public license (GPL), as long as the above copyright
- notice and the licensing information contained herein are preserved.
-
- Please refer to www.gnu.org for licensing details.
-
- This work is provided AS IS, without warranty of any kind, expressed or
- implied, including but not limited to the warranties of merchantibility,
- noninfringement, and fitness for a specific purpose. The author will not
- be held liable for any damage caused by this work or derivatives of it.
-
- By using this source code, you agree to the licensing terms as stated
- above.
-
-***************************************************************************/
-
-char *MT32_Timbre[128] = {
- /*000*/ "AcouPiano1",
- /*001*/ "AcouPiano2",
- /*002*/ "AcouPiano3",
- /*003*/ "ElecPiano1",
- /*004*/ "ElecPiano2",
- /*005*/ "ElecPiano3",
- /*006*/ "ElecPiano4",
- /*007*/ "Honkytonk ",
- /*008*/ "Elec Org 1",
- /*009*/ "Elec Org 2",
- /*010*/ "Elec Org 3",
- /*011*/ "Elec Org 4",
- /*012*/ "Pipe Org 1",
- /*013*/ "Pipe Org 2",
- /*014*/ "Pipe Org 3",
- /*015*/ "Accordion ",
- /*016*/ "Harpsi 1 ",
- /*017*/ "Harpsi 2 ",
- /*018*/ "Harpsi 3 ",
- /*019*/ "Clavi 1 ",
- /*020*/ "Clavi 2 ",
- /*021*/ "Clavi 3 ",
- /*022*/ "Celesta 1 ",
- /*023*/ "Celesta 2 ",
- /*024*/ "Syn Brass1",
- /*025*/ "Syn Brass2",
- /*026*/ "Syn Brass3",
- /*027*/ "Syn Brass4",
- /*028*/ "Syn Bass 1",
- /*029*/ "Syn Bass 2",
- /*030*/ "Syn Bass 3",
- /*031*/ "Syn Bass 4",
- /*032*/ "Fantasy ",
- /*033*/ "Harmo Pan ",
- /*034*/ "Chorale ",
- /*035*/ "Glasses ",
- /*036*/ "Soundtrack",
- /*037*/ "Atmosphere",
- /*038*/ "Warm Bell ",
- /*039*/ "Funny Vox ",
- /*040*/ "Echo Bell ",
- /*041*/ "Ice Rain ",
- /*042*/ "Oboe 2001 ",
- /*043*/ "Echo Pan ",
- /*044*/ "DoctorSolo",
- /*045*/ "Schooldaze",
- /*046*/ "BellSinger",
- /*047*/ "SquareWave",
- /*048*/ "Str Sect 1",
- /*049*/ "Str Sect 2",
- /*050*/ "Str Sect 3",
- /*051*/ "Pizzicato ",
- /*052*/ "Violin 1 ",
- /*053*/ "Violin 2 ",
- /*054*/ "Cello 1 ",
- /*055*/ "Cello 2 ",
- /*056*/ "Contrabass",
- /*057*/ "Harp 1 ",
- /*058*/ "Harp 2 ",
- /*059*/ "Guitar 1 ",
- /*060*/ "Guitar 2 ",
- /*061*/ "Elec Gtr 1",
- /*062*/ "Elec Gtr 2",
- /*063*/ "Sitar ",
- /*064*/ "Acou Bass1",
- /*065*/ "Acou Bass2",
- /*066*/ "Elec Bass1",
- /*067*/ "Elec Bass2",
- /*068*/ "Slap Bass1",
- /*069*/ "Slap Bass2",
- /*070*/ "Fretless 1",
- /*071*/ "Fretless 2",
- /*072*/ "Flute 1 ",
- /*073*/ "Flute 2 ",
- /*074*/ "Piccolo 1 ",
- /*075*/ "Piccolo 2 ",
- /*076*/ "Recorder ",
- /*077*/ "Panpipes ",
- /*078*/ "Sax 1 ",
- /*079*/ "Sax 2 ",
- /*080*/ "Sax 3 ",
- /*081*/ "Sax 4 ",
- /*082*/ "Clarinet 1",
- /*083*/ "Clarinet 2",
- /*084*/ "Oboe ",
- /*085*/ "Engl Horn ",
- /*086*/ "Bassoon ",
- /*087*/ "Harmonica ",
- /*088*/ "Trumpet 1 ",
- /*089*/ "Trumpet 2 ",
- /*090*/ "Trombone 1",
- /*091*/ "Trombone 2",
- /*092*/ "Fr Horn 1 ",
- /*093*/ "Fr Horn 2 ",
- /*094*/ "Tuba ",
- /*095*/ "Brs Sect 1",
- /*096*/ "Brs Sect 2",
- /*097*/ "Vibe 1 ",
- /*098*/ "Vibe 2 ",
- /*099*/ "Syn Mallet",
- /*100*/ "Wind Bell ",
- /*101*/ "Glock ",
- /*102*/ "Tube Bell ",
- /*103*/ "Xylophone ",
- /*104*/ "Marimba ",
- /*105*/ "Koto ",
- /*106*/ "Sho ",
- /*107*/ "Shakuhachi",
- /*108*/ "Whistle 1 ",
- /*109*/ "Whistle 2 ",
- /*110*/ "BottleBlow",
- /*111*/ "BreathPipe",
- /*112*/ "Timpani ",
- /*113*/ "MelodicTom",
- /*114*/ "Deep Snare",
- /*115*/ "Elec Perc1",
- /*116*/ "Elec Perc2",
- /*117*/ "Taiko ",
- /*118*/ "Taiko Rim ",
- /*119*/ "Cymbal ",
- /*120*/ "Castanets ",
- /*121*/ "Triangle ",
- /*122*/ "Orche Hit ",
- /*123*/ "Telephone ",
- /*124*/ "Bird Tweet",
- /*125*/ "OneNoteJam",
- /*126*/ "WaterBells",
- /*127*/ "JungleTune"
-};
-
-char *MT32_RhythmTimbre[30] = {
- /*00*/ "Acou BD ",
- /*01*/ "Acou SD ",
- /*02*/ "Acou HiTom",
- /*03*/ "AcouMidTom",
- /*04*/ "AcouLowTom",
- /*05*/ "Elec SD ",
- /*06*/ "Clsd HiHat",
- /*07*/ "OpenHiHat1",
- /*08*/ "Crash Cym ",
- /*09*/ "Ride Cym ",
- /*10*/ "Rim Shot ",
- /*11*/ "Hand Clap ",
- /*12*/ "Cowbell ",
- /*13*/ "Mt HiConga",
- /*14*/ "High Conga",
- /*15*/ "Low Conga ",
- /*16*/ "Hi Timbale",
- /*17*/ "LowTimbale",
- /*18*/ "High Bongo",
- /*19*/ "Low Bongo ",
- /*20*/ "High Agogo",
- /*21*/ "Low Agogo ",
- /*22*/ "Tambourine",
- /*23*/ "Claves ",
- /*24*/ "Maracas ",
- /*25*/ "SmbaWhis L",
- /*26*/ "SmbaWhis S",
- /*27*/ "Cabasa ",
- /*28*/ "Quijada ",
- /*29*/ "OpenHiHat2"
-};
diff --git a/engines/sci/sfx/tests/stubs.c b/engines/sci/sfx/tests/stubs.c
deleted file mode 100644
index 06da6f9419..0000000000
--- a/engines/sci/sfx/tests/stubs.c
+++ /dev/null
@@ -1,9 +0,0 @@
-int sciprintf(char *fmt,...)
-{
- return 0;
-}
-
-int sfx_pcm_available()
-{
- return 1;
-} \ No newline at end of file
diff --git a/engines/sci/sfx/tests/tests.cpp b/engines/sci/sfx/tests/tests.cpp
deleted file mode 100644
index 0999d3615f..0000000000
--- a/engines/sci/sfx/tests/tests.cpp
+++ /dev/null
@@ -1,162 +0,0 @@
-#include <stdio.h>
-#include <sfx_iterator.h>
-
-#define TESTEQUAL(x, y) if(x != y) printf("test failure: expected %04x, got %04x @ file %s line %d \n", x, y, __FILE__, __LINE__);
-
-static char calledDeathListenerCallback;
-
-static unsigned char song[] = {
-// PCM not present
- 0,
-// channel defs
- 0, 0x20, 0, 0x21, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
-// note on, wait, note off
- 0xAA,
- 0x90, 0xAA, 0xAA,
- 0xAA,
- 0x80, 0xAA, 0xAA,
- 0xAA,
- 0x91, 0xAA, 0xAA,
- 0xAA,
- 0x81, 0xAA, 0xAA,
- 0xAA,
-// end track
- 0xFC
-};
-
-#define SONG_CMD_COUNT 10
-
-#define TEST_SETUP() \
- unsigned char cmds[4] = {0}; \
- int result = 0; \
- int message; \
- int i; \
-\
- song_iterator_t *it = songit_new(song, sizeof(song), 0, 0); \
- it->init(it); \
- SIMSG_SEND(it, SIMSG_SET_PLAYMASK(0x20));\
- calledDeathListenerCallback = 0;
-
-#define TEST_TEARDOWN() \
- songit_free(it);
-
-
-void testFinishSong() {
- TEST_SETUP();
- message = songit_next(&it, &cmds, &result, IT_READER_MASK_ALL);
- TESTEQUAL(0xAA, message);
-
- message = songit_next(&it, &cmds, &result, IT_READER_MASK_ALL);
- TESTEQUAL(0, message);
- TESTEQUAL(3, result);
-
- for (i = 0; i < SONG_CMD_COUNT - 2; i++) {
- message = songit_next(&it, &cmds, &result, IT_READER_MASK_ALL);
- }
-
- TESTEQUAL(SI_FINISHED, message);
-
- TEST_TEARDOWN();
-}
-
-
-void DeathListenerCallback(void *v1, void *v2) {
- calledDeathListenerCallback++;
- return;
-}
-
-void testDeathListener() {
- TEST_SETUP();
-
- song_iterator_add_death_listener(
- it,
- it,
- (void(*)(void *, void*))DeathListenerCallback);
-
- for (i = 0; i < SONG_CMD_COUNT; i++) {
- message = songit_next(&it, &cmds, &result, IT_READER_MASK_ALL);
- }
-
- TESTEQUAL(SI_FINISHED, message);
-
- TEST_TEARDOWN();
-
- TESTEQUAL(1, calledDeathListenerCallback);
-}
-
-void testMultipleDeathListeners() {
- TEST_SETUP();
-
- song_iterator_add_death_listener(
- it,
- it,
- (void(*)(void *, void*))DeathListenerCallback);
-
- song_iterator_add_death_listener(
- it,
- it,
- (void(*)(void *, void*))DeathListenerCallback);
-
- for (i = 0; i < SONG_CMD_COUNT; i++) {
- message = songit_next(&it, &cmds, &result, IT_READER_MASK_ALL);
- }
-
- TESTEQUAL(SI_FINISHED, message);
-
- TEST_TEARDOWN();
-
- TESTEQUAL(2, calledDeathListenerCallback);
-}
-
-void testStopSong() {
- TEST_SETUP();
- SIMSG_SEND(it, SIMSG_STOP);
-
- message = songit_next(&it, &cmds, &result, IT_READER_MASK_ALL);
- TESTEQUAL(SI_FINISHED, message);
-
- TEST_TEARDOWN();
-}
-
-void testStopLoopedSong() {
- TEST_SETUP();
-
- SIMSG_SEND(it, SIMSG_SET_LOOPS(3));
- message = songit_next(&it, &cmds, &result, IT_READER_MASK_ALL);
- TESTEQUAL(0xAA, message);
-
- SIMSG_SEND(it, SIMSG_STOP);
- message = songit_next(&it, &cmds, &result, IT_READER_MASK_ALL);
- TESTEQUAL(SI_FINISHED, message);
-
- TEST_TEARDOWN();
-}
-
-void testChangeSongMask() {
- TEST_SETUP();
-
- message = songit_next(&it, &cmds, &result, IT_READER_MASK_ALL);
- TESTEQUAL(0xAA, message);
-
- SIMSG_SEND(it, SIMSG_SET_PLAYMASK(0x40));
- message = songit_next(&it, &cmds, &result, IT_READER_MASK_ALL);
- TESTEQUAL(0, message);
- TESTEQUAL(0, result);
-
- TEST_TEARDOWN();
-}
-
-
-int main(int argc, char* argv[]) {
- testFinishSong();
- testDeathListener();
- testMultipleDeathListeners();
- testStopSong();
- testStopLoopedSong();
- testChangeSongMask();
- return 0;
-}
-
diff --git a/engines/sci/sfx/tests/tests.vcproj b/engines/sci/sfx/tests/tests.vcproj
deleted file mode 100644
index a50c794bce..0000000000
--- a/engines/sci/sfx/tests/tests.vcproj
+++ /dev/null
@@ -1,158 +0,0 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
- ProjectType="Visual C++"
- Version="7.10"
- Name="tests"
- ProjectGUID="{3C6F6B16-D092-495C-B611-03FFDBFF27FC}"
- Keyword="Win32Proj">
- <Platforms>
- <Platform
- Name="Win32"/>
- </Platforms>
- <Configurations>
- <Configuration
- Name="Debug|Win32"
- OutputDirectory="Debug"
- IntermediateDirectory="Debug"
- ConfigurationType="1"
- CharacterSet="2">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories="..\..\include;..\..\include\win32"
- PreprocessorDefinitions="PACKAGE=\&quot;freesci\&quot;;HAVE_GETOPT_H;HAVE_LIBPNG;VERSION=__TIMESTAMP__;_DEBUG;WIN32;_CONSOLE;HAVE_STRING_H;HAVE_MEMCHR"
- MinimalRebuild="TRUE"
- BasicRuntimeChecks="3"
- RuntimeLibrary="5"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="TRUE"
- DebugInformationFormat="4"
- CompileAs="1"/>
- <Tool
- Name="VCCustomBuildTool"/>
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="winmm.lib"
- OutputFile="$(OutDir)/tests.exe"
- LinkIncremental="2"
- GenerateDebugInformation="TRUE"
- ProgramDatabaseFile="$(OutDir)/tests.pdb"
- SubSystem="1"
- TargetMachine="1"/>
- <Tool
- Name="VCMIDLTool"/>
- <Tool
- Name="VCPostBuildEventTool"/>
- <Tool
- Name="VCPreBuildEventTool"/>
- <Tool
- Name="VCPreLinkEventTool"/>
- <Tool
- Name="VCResourceCompilerTool"/>
- <Tool
- Name="VCWebServiceProxyGeneratorTool"/>
- <Tool
- Name="VCXMLDataGeneratorTool"/>
- <Tool
- Name="VCWebDeploymentTool"/>
- <Tool
- Name="VCManagedWrapperGeneratorTool"/>
- <Tool
- Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
- </Configuration>
- <Configuration
- Name="Release|Win32"
- OutputDirectory="Release"
- IntermediateDirectory="Release"
- ConfigurationType="1"
- CharacterSet="2">
- <Tool
- Name="VCCLCompilerTool"
- AdditionalIncludeDirectories="..\..\include"
- PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
- RuntimeLibrary="4"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="TRUE"
- DebugInformationFormat="3"/>
- <Tool
- Name="VCCustomBuildTool"/>
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="winmm.lib"
- OutputFile="$(OutDir)/tests.exe"
- LinkIncremental="1"
- GenerateDebugInformation="TRUE"
- SubSystem="1"
- OptimizeReferences="2"
- EnableCOMDATFolding="2"
- TargetMachine="1"/>
- <Tool
- Name="VCMIDLTool"/>
- <Tool
- Name="VCPostBuildEventTool"/>
- <Tool
- Name="VCPreBuildEventTool"/>
- <Tool
- Name="VCPreLinkEventTool"/>
- <Tool
- Name="VCResourceCompilerTool"/>
- <Tool
- Name="VCWebServiceProxyGeneratorTool"/>
- <Tool
- Name="VCXMLDataGeneratorTool"/>
- <Tool
- Name="VCWebDeploymentTool"/>
- <Tool
- Name="VCManagedWrapperGeneratorTool"/>
- <Tool
- Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
- </Configuration>
- </Configurations>
- <References>
- </References>
- <Files>
- <Filter
- Name="Source Files"
- Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx"
- UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}">
- <File
- RelativePath="..\..\sfx\iterator.c">
- </File>
- <File
- RelativePath="..\..\sfx\pcm-iterator.c">
- </File>
- <File
- RelativePath="..\..\scicore\sci_memory.c">
- </File>
- <File
- RelativePath=".\stubs.c">
- </File>
- <File
- RelativePath=".\tests.cpp">
- </File>
- <File
- RelativePath="..\..\scicore\tools.c">
- </File>
- </Filter>
- <Filter
- Name="Header Files"
- Filter="h;hpp;hxx;hm;inl;inc;xsd"
- UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}">
- <File
- RelativePath="..\..\include\win32\sci_win32.h">
- </File>
- </Filter>
- <Filter
- Name="Resource Files"
- Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx"
- UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}">
- </Filter>
- <File
- RelativePath=".\ReadMe.txt">
- </File>
- </Files>
- <Globals>
- </Globals>
-</VisualStudioProject>