-
Notifications
You must be signed in to change notification settings - Fork 1
Sound Schemes
Sound schemes are used to define the sound behaviour for a map.
Each map is associated with up to two sound schemes (see map file formats).
Lists all possible sound schemes. The keys are used in the map files to refer to a specific scheme.
Entries in this file have the following format:
{1}{Hommlet interior #100}
The number behind the #
sign is actually important since it is the starting key for the sound definitions in schemelist.mes
.
Found in sound\schemelist.mes
. For each scheme found in the scheme index, this file lists up to 100 sound definitions. Interestingly enough, the internal data structure in ToEE only supports 25 lines and 2 special lines for combat intro and combat loop, but 100 lines are read.
100 lines starting with the key found after the hash in the index are read from this file. If for example the line in the index is Hommlet interior #100
, then keys 100 to 199 are read from schemelist.mes.
The format of lines in schemelist.mes is documented in schemelist and repeated here.
// SPECIFYING SOUND FILES:
// ~~~~~~~~~~~~~~~~~~~~~~~
// Specify sound file with either .WAV or .mp3 /VOL:60 extension
// SOON: it will assume .WAV files
// SOON: you can specify a sound file by #soundid# and it will look
/ it up in the SND_*.MES file for you (as indexed by SND_00INDEX.MES).
//
// OPTIONS:
// ~~~~~~~~
// PARSE RULES:
// ~~~~~~~~~~~~
// 1. There sound's name or #Sound_ID must appear first
// 2. Options must appear AFTER a single SPACE
// 3. Options must have one space between each of them
// 4. Options must have ZERO spaces within them (i.e.,: /FREQ:50)
// 5. See examples below
// ACTUAL OPTIONS:
// ~~~~~~~~~~~~~~~
// /LOOP - causes the sound to loop indefinitely (until that scheme is exited)
// (loop is exclusive of all other controls except VOL and TIME)
// /ANCHOR - this is a one-off song, play it immediately at the start of
// this scheme, do not continue playing it or anything.
// /OVER - this is a one-off-song, and at its termination, it brings back
// the previously-playing scheme.
// WARNINGS:
// You can only have ONE /over type sound per scheme. If you
// have multiple ones, the FIRST one that ends will cause the
// previous scheme to reload.
// /COMBATINTRO - this specifies the song to play once, when combat begins (it's never looped)
// /COMBATMUSIC - this specifies the song to play during combat (it's always looped)
// WARNINGS:
// /combatintro and /combatmusic do not combine with any other
// options, and there can be only one per scheme
// /FREQ: - frequency of occurrence (0-100) (default: 50)
// /FREQ:1 ; very rare occurrence
// /FREQ:100 ; very frequent occurrence
// /TIME: - range of times (in 24-hr units) (default: 0-23 inclusive)
// /TIME:6-8 ; from 6am to 8am
// /TIME:19-21 ; from 7pm to 9pm
// /TIME:12 ; only during the hour of noon
// /BAL: - range of balance ((L)0-100(R)) (default: 50)
// /BAL:50 ; always centered
// /BAL:30-70 ; range from left to right a bit
// /BAL:0-100 ; can scatter left/right anywhere
// /VOL: - range of volume (0-100) (default: 100)
// /VOL:10-50 ; ranges from pretty quiet to half-loud
// /VOL:80-100 ; ranges from pretty loud to full volume
// /SCATTER: - range of scatter (sets /BAL and /VOL) (default: 50)
// /SCATTER:0 ; equivalent to: /VOL:100 and /BAL:50 (this is default anyway)
// /SCATTER:50 ; equivalent to: /vol:50-100 and /BAL:25-75
// /SCATTER:100 ; equivalent to: /vol:50-100 and /BAL:0-100
// <programmer note: to change the above defaults, look for
// "SCATTERCOMMAND" in SoundGame.C>