sounds.ini (Episode)
sounds.ini - Overriding rules to play custom sound effects while playing an episode or a level, or set-up the Sound FX to add a real-time stream effects applied per section on levels (for example, echoes in caves). It's a file named "sounds.ini", placed at the episode root directory to apply settings for the whole episode, or at level data directory to apply settings for the single level only.
Don't confuse with the configuration-package wide sounds.ini which has the different role.
Sound overriding
There are sections that can be used to override a sound effect with another.
This section is supported by the Moondust Engine, TheXTech, and the SMBX2.
Where the asterisk "*" in the section title, is the sound ID that you want to override by an episode/level-supplied sound file. For example, "sound-42".
| [ sound-* ] | |||
|---|---|---|---|
| Parameter | Allowed values | Example value | Description |
| name | string | name = "Jump" | Title of sound effect. |
| file | string | file = "player-jump.ogg" | File name of sound file, relative to the INI file itself. Possible to write relative paths like "subfolder/file1.ogg" or "../some/thing.ogg". |
Sound FX
There are options which allows you to set up the real-time sound effects to make a richer atmosphere on your levels.
Important note: This feature is exclusive for TheXTech engine and IS NOT AVAILABLE at Moondust Engine, SMBX2, or SMBX-38A.
Note: World maps aren't supported yet.
FX entries
There are configs which defining a real-time effect settings that can be re-used many times.
Where the asterisk "*" in the section title, is the effect name. This is an unique name of the effect that gets referred to be assigned to a level section. For example, "fx-cave".
| [ fx-* ] | |||
|---|---|---|---|
| Parameter | Allowed values | Example value | Description |
| fx | Enum | fx = none | Effect type. Allowed values:
|
| spc-echo-off | bool | spc-echo-off = false | Disable built-in echo of SPC files, making them sound plain. Use this option to avoid the messy sounding when echo effect gets applied twice. |
Echo only: Settings related to the "echo" sound effect. | |||
| echo-on | int (1/0) | echo-on = 0 | Enables the echo effect. |
| delay | int (0...127) | delay = 0 | The maximum delay of the echo effect. |
| feedback | int (0...127) | feedback = 0 | How long the echo will repeat. |
| main-volume-left | int (0-127) | main-volume-left = 96 | The source volume level for left channel. |
| main-volume-right | int (0-127) | main-volume-right = 96 | The source volume level for right channel. |
| echo-volume-left | int (0-127) | echo-volume-left = 96 | The echo part volume level for left channel. |
| echo-volume-right | int (0-127) | echo-volume-right = 96 | The echo part volume level for right channel. |
| fir-0 | int (-127...127) | fir-0 = 127 | The value of the FIR filter 1st pass. |
| fir-1 | int (-127...127) | fir-1 = 127 | The value of the FIR filter 2nd pass. |
| fir-2 | int (-127...127) | fir-2 = 127 | The value of the FIR filter 3rd pass. |
| fir-3 | int (-127...127) | fir-3 = 127 | The value of the FIR filter 4th pass. |
| fir-4 | int (-127...127) | fir-4 = 127 | The value of the FIR filter 5th pass. |
| fir-5 | int (-127...127) | fir-5 = 127 | The value of the FIR filter 6th pass. |
| fir-6 | int (-127...127) | fir-6 = 127 | The value of the FIR filter 7th pass. |
| fir-7 | int (-127...127) | fir-7 = 127 | The value of the FIR filter 8th pass. |
Reverb only: Settings related to the "reverb" sound effect. | |||
| mode | int 0, 1 | mode = 0 | Reverb mode: 0 - normal, 1 - freezing |
| room-size | float 0.0...1.0 | room-size = 0 | The volume of room. |
| damping | float 0.0...1.0 | damping = 0 | The time of damping. |
| wet-level | float 0.0...1.0 | wet-level = 0 | The level of post-processed reverb part. |
| dry-level | float 0.0...1.0 | dry-level = 0 | The level of not-procesed source reverb part. |
| width | float 0.0...1.0 | width = 0 | Width of the room. |
FX assignment
There are sections that being used to assign one of existing FX entries to the section of the level.
Where the asterisk "*" in the section title, is the 0-based Section Number. This is a section number being used to assign specific effect by name to the section. For example, "section-fx-0" to assign an effect to the first section, or "section-fx-20" to assign the effect to the 21'st section.
| [ section-fx-* ] | |||
|---|---|---|---|
| Parameter | Allowed values | Example value | Description |
| custom-fx | string | custom-fx = "cave" | The name of effect entry to assign. |
Links
- Tutorial for the Sound FX at TheXTech - TheXTech documentation page.