[FEAT] Sounds can be replaced per-Theme/Level Pack

Started by WillLem, January 06, 2025, 04:16:30 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

WillLem

As of SLX 2.8.5, default sounds can now be replaced either by Theme (first priority) or Level Pack (second priority).

Replacing sounds by Theme

In your style's theme.nxtm file, the following lines can be added which will replace the corresponding default sound with any sound of your choice. The chosen sound must be present in the 'sounds' folder* for this to work (fallback to default applies on a per-sound basis if any are missing):

Sounds customisation for theme.nxtm
$SOUNDS
  ASSIGN_FAIL nameofsound
  ASSIGN_SKILL nameofsound
  BALLOON_INFLATE nameofsound
  BALLOON_POP nameofsound
  MENU_QUIT nameofsound
  EXIT nameofsound
  BRICK nameofsound
  COLLECT nameofsound
  COLLECT_ALL nameofsound
  DISARM_TRAP nameofsound
  DROWN nameofsound
  ENTRANCE nameofsound
  EXIT_UNLOCK nameofsound
  FAILURE_JINGLE nameofsound
  FALL_OFF nameofsound
  FIRE nameofsound
  FREEZE nameofsound
  GRENADE_THROW nameofsound
  JUMP nameofsound
  LASER nameofsound
  LETS_GO nameofsound
  OH_NO nameofsound
  MENU_OK nameofsound
  PICKUP nameofsound
  EXPLODE nameofsound
  RELEASE_RATE nameofsound
  SKILL_BUTTON nameofsound
  SPEAR_HIT nameofsound
  SPEAR_THROW nameofsound
  SPLAT nameofsound
  STEEL_OWW nameofsound
  SUCCESS_JINGLE nameofsound
  SWIM nameofsound
  TIME_UP nameofsound
  VINETRAP nameofsound
  ZOMBIE nameofsound
  ZOMBIE_FALL_OFF nameofsound
  ZOMBIE_OH_NO nameofsound
  ZOMBIE_PICKUP nameofsound
  ZOMBIE_SPLAT nameofsound
  ZOMBIE_EXIT nameofsound
$END

Implemented in commit c978975.

Replacing sounds by Level Pack

In a similar fashion to "success" and "failure" jingles, any default sound can now be replaced by simply dropping a replacement sound with the same name as the original into the root folder of the level pack.

Note that Theme sounds take priority over Level Pack sounds, so any levels in the pack which have a Theme with custom sounds will still have those applied (including the "failure" and "success" jingles).

Implemented in commit 0b38522.



Each method has its benefit; Theme sounds mean that any levels made in your style will always have that sound scheme applied (providing the end user has the relevant sounds present in the 'sounds' folder), and Level Pack sounds can simply be dropped into the root folder of the pack. It's a bit more effort for style creators, and the sounds are likely to be linked specifically to the style's theming, which is why Theme sounds will always be prioritised.



*Yes, it's not a typo - the 'sound' folder is now named 'sounds' because (a) it makes more sense, and (b) some of the sounds have been renamed for 2.8.5, so this will make sure that everyone has the latest version of the sounds folder.