Client resources
Sounds
waveList.spt and BGMList.spt
Overview
Sounds are chosen only by the client from its own tables and events: the server knows nothing about them. The engine is Miles Sound System (mss32.dll); short sounds are WAV PCM/ADPCM and MP3, music is any format Miles opens by name.
| File | Who reads it | What it defines |
|---|---|---|
Snd\waveList.spt | client at start | all short sounds: number → path to .wav |
Snd\BGMList.spt | client at start | boss music: line → path to .mp3; only the line order matters |
DataTable\<language>\EventSound.edf | client | which boss starts which music (a BGMList line); not in the registry yet |
Map\<map>\<map>.ebp | client on map load | map sounds: ambience (type 0), EAX reverb zone (1), map music (2) |
R3Engine.ini [Sound] | client | on/off and volumes (the “Localization” category) |
How it works
waveList.spt: one record per lineid<TAB>path[<TAB>loop]; a comment is a separate line with;without words starting with a digit or0x— the loader takes such words for ids. On a duplicate id the first record applies. Path ≤ 58 characters relative to the client folder.- Which id an event plays: a monster —
95000 + effect code × 40 + slot(0 required for attack, 1–8 attack variants, 9–13, 30…, 33… idle); force —100 + 18 × (code & 0xFF) + 4608 × ((code >> 8) & 0xF) + 6 × grade + phase; a skill — the hex magic id with the weapon kind; an item on the ground — by model; animus, tower, MAU, projectile — sound id = event magic id (present in bothMagicSptListandwaveList). - The player damage sounds
277063…277076are unused. - Boss music plays when an
EventSound.edfline points to an existingBGMListline and a monster with the boss flag inCharacter.edf.
Files of the category
3 in the registry| File | Side | Format | Level | Corpora | Record | Digest | Note |
|---|---|---|---|---|---|---|---|
DataTable\EventSound.edf | client | edf | postponed (later) | AoP –, GU ✓, Sirin ✓ | sounds.md | later work (user decision 29.10.2026). The right place is DataTable\<language>\EventSound.edf: the client reads it there; in the GU (Odin) and local clients the file lies in DataTable\ and is not read (sounds.md §6.2). The studio build puts the file into the language folder | |
Snd\BGMList.spt | client | spt | ready for full | AoP ✓, GU ✓, Sirin ✓ | sounds.md | — | |
Snd\waveList.spt | client | spt | ready for full | AoP ✓, GU ✓, Sirin ✓ | sounds.md | — |
“ready for full” — the format is understood and the fields are described; “derived” — the file is assembled from another; “opaque” — the format is not fully known; “postponed” and “out of scope” — the studio does not edit the file.
Sections of the category
The files of the category are split into groups; every group and subgroup has its own page with the fields of its files only.
Unused parameters
Fields that neither the server nor the client reads. For each: why it was decided so and where that was established. The editor keeps their bytes as they are.
Snd\BGMList.spt client file
| Offset | Field | Why unused | Data |
|---|---|---|---|
— | number at the start of the line | unused sounds.md §6.1: “The number at the start of the line is unused” [code 008A6910] | — |