aboutsummaryrefslogtreecommitdiff
path: root/engines/agi
diff options
context:
space:
mode:
authorKari Salminen2008-04-03 22:15:59 +0000
committerKari Salminen2008-04-03 22:15:59 +0000
commit510a81bbd87dd95911e983edc6d331149f18d418 (patch)
treee73e91c3241e1ec6547a15a58b256e641ad42606 /engines/agi
parent10233af59f0ff5ccede5afb04fe7379a09346294 (diff)
downloadscummvm-rg350-510a81bbd87dd95911e983edc6d331149f18d418.tar.gz
scummvm-rg350-510a81bbd87dd95911e983edc6d331149f18d418.tar.bz2
scummvm-rg350-510a81bbd87dd95911e983edc6d331149f18d418.zip
Add Apple IIGS MIDI program number to instrument number mappings (Both for the older instrument set used by SQ1 only and for the newer instrument set used by all the other tested Apple IIGS games).
svn-id: r31371
Diffstat (limited to 'engines/agi')
-rw-r--r--engines/agi/sound.cpp14
-rw-r--r--engines/agi/sound.h1
2 files changed, 13 insertions, 2 deletions
diff --git a/engines/agi/sound.cpp b/engines/agi/sound.cpp
index 322cefde08..a7101aa8b6 100644
--- a/engines/agi/sound.cpp
+++ b/engines/agi/sound.cpp
@@ -231,12 +231,22 @@ bool IIgsSampleHeader::finalize(Common::SeekableReadStream &uint8Wave) {
/** Older Apple IIGS AGI instrument set. Used only by Space Quest I (AGI v1.002). */
static const instrumentSetInfo instSetV1 = {
- 1192, 26, "7ee16bbc135171ffd6b9120cc7ff1af2", "edd3bf8905d9c238e02832b732fb2e18"
+ 1192, 26, "7ee16bbc135171ffd6b9120cc7ff1af2", "edd3bf8905d9c238e02832b732fb2e18",
+ {19, 20, 22, 23, 21, 24, 5, 5, 5, 5,
+ 6, 7, 10, 9, 11, 9, 15, 8, 5, 5,
+ 17, 16, 18, 12, 14, 5, 5, 5, 5, 5,
+ 0, 1, 2, 9, 3, 4, 15, 2, 2, 2,
+ 25, 13, 13, 25, 5, 5, 5, 5, 5, 5}
};
/** Newer Apple IIGS AGI instrument set (AGI v1.003+). Used by all others than Space Quest I. */
static const instrumentSetInfo instSetV2 = {
- 1292, 28, "b7d428955bb90721996de1cbca25e768", "c05fb0b0e11deefab58bc68fbd2a3d07"
+ 1292, 28, "b7d428955bb90721996de1cbca25e768", "c05fb0b0e11deefab58bc68fbd2a3d07",
+ {21, 22, 24, 25, 23, 26, 6, 6, 6, 6,
+ 7, 9, 12, 8, 13, 11, 17, 10, 6, 6,
+ 19, 18, 20, 14, 16, 6, 6, 6, 6, 6,
+ 0, 1, 2, 4, 3, 5, 17, 2, 2, 2,
+ 27, 15, 15, 27, 6, 6, 6, 6, 6, 6}
};
/** Information about different Apple IIGS AGI executables. */
diff --git a/engines/agi/sound.h b/engines/agi/sound.h
index 2e6902111c..bfe4b52886 100644
--- a/engines/agi/sound.h
+++ b/engines/agi/sound.h
@@ -323,6 +323,7 @@ struct instrumentSetInfo {
uint instCount; ///< Amount of instrument in the set
const char *md5; ///< MD5 hex digest of the whole instrument set
const char *waveFileMd5; ///< MD5 hex digest of the wave file (i.e. the sample data used by the instruments)
+ const uint midiProgToInst[50]; ///< Lookup table for the MIDI program number to instrument number mapping
};
/** Apple IIGS AGI executable file information. */