Skip to content
RF DataData reference
RU

Client resources

Sounds

waveList.spt and BGMList.spt

Total 7 Known 6 Derived 0 Unused 1

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.

FileWho reads itWhat it defines
Snd\waveList.sptclient at startall short sounds: number → path to .wav
Snd\BGMList.sptclient at startboss music: line → path to .mp3; only the line order matters
DataTable\<language>\EventSound.edfclientwhich boss starts which music (a BGMList line); not in the registry yet
Map\<map>\<map>.ebpclient on map loadmap sounds: ambience (type 0), EAX reverb zone (1), map music (2)
R3Engine.ini [Sound]clienton/off and volumes (the “Localization” category)

How it works

  • waveList.spt: one record per line id<TAB>path[<TAB>loop]; a comment is a separate line with ; without words starting with a digit or 0x — 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 both MagicSptList and waveList).
  • The player damage sounds 277063…277076 are unused.
  • Boss music plays when an EventSound.edf line points to an existing BGMList line and a monster with the boss flag in Character.edf.

Files of the category

3 in the registry
FileSideFormatLevelCorporaRecordDigestNote
DataTable\EventSound.edfclientedfpostponed (later)AoP –, GU ✓, Sirin ✓sounds.mdlater 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.sptclientsptready for fullAoP ✓, GU ✓, Sirin ✓sounds.md—
Snd\waveList.sptclientsptready for fullAoP ✓, 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.

Short sounds

Snd\waveList.spt

Total 4 Known 4 Derived 0 Unused 0

Music

Snd\BGMList.spt

Total 3 Known 2 Derived 0 Unused 1

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

OffsetFieldWhy unusedData
—number at the start of the line
unused
sounds.md §6.1: “The number at the start of the line is unused” [code 008A6910]
—
RF Online is a trademark of its owners. The reference is compiled from research for content development. Built 01.11.2026 · field catalog dated 29.10.2026 · Adagio UI 0.5.0