You are viewing a potentially older version of this package. View all versions.
loaforc-loaforcsSoundAPI-1.0.0 icon

loaforcsSoundAPI

A soundtool made to give Soundpack creators ultimate control.

Date uploaded a year ago
Version 1.0.0
Download link loaforc-loaforcsSoundAPI-1.0.0.zip
Downloads 253
Dependency string loaforc-loaforcsSoundAPI-1.0.0

This mod requires the following mods to function

BepInEx-BepInExPack-5.4.2100 icon
BepInEx-BepInExPack

BepInEx pack for Mono Unity games. Preconfigured and ready to use.

Preferred version: 5.4.2100

README

ADVANCED COMPANY CAUSES ISSUES, READ MORE

loaforcsSoundAPI

A soundtool made to give Sound-Pack creators ultimate control, and users the ultimate experience.

[!IMPORTANT] Absolutely not meant as a replacement for LCSoundTool and CustomSounds. This sound replacement API is much, much more complex than either of those and is meant for advanced users.

ADVANCED COMPANY ISSUES

Currently Advanced Company does some weird things to audio sources that can cause an incompatibility with loaforcsSoundAPI, for more you can see this github issue. Just know you may receive limited support with Advanced Company installed while we try and work out the issue.

Ultimate Experience

loaforcsSoundAPI makes use of Multithreading, splitting sound loading into two steps. With very little effort LethalResonance was decreased from 4 seconds of time during startup to just under 250 ms.

Ultimate Control

loaforcsSoundAPI affords a Sound-Pack creator much more control over how their sounds are played and how they organise.

A simple tutorial to make a sound pack is available in the github wiki. A couple templates are avaliable as well.

Main Benefits

  • Custom File Structure Hierachy
  • Intuitive variations for sounds
  • Mapping multiple sounds to the same sounds
  • Sound-packs can create config options just like regular mods
  • Swap out audio clips live based on what is happening ingame.

CHANGELOG

2.0.1

  • Replacements and sounds with a condition that are labelled as constant are now skipped when loading, as opposed to just entire replacer files
  • Conditional objects marked with constant also now skip validation and mapping (meaning custom conditions/mappings from mods can be properly used like a soft-dependency)
  • Fixed an issue where it was impossible for some sounds to be randomly chosen
  • Added validation error for missing mapping
  • When logging validation errors, the log source now has soundpack. infront of the sound pack name
  • Changed resetsat to resets_at for the counter condition
  • Added logs for when SoundAPI handles DebugLogSources
  • Added smarter internal logic to handle SoundAPI updating some AudioSources. Should maybe be more performant
  • Fixed an issue where the MatchStrings DebugLogSource did not log anything unless GenerateReports was also enabled.

2.0.2

  • woops

2.0.3

  • fixed an issue where if SoundAPI had nothing to load, it would spin infinitely.

2.0.4

  • bleh

2.0.5

  • upload to R.E.P.O.

2.0.6

  • fixed an issue where SoundAPI would cause many issues if a loaded sound-pack tried to reference files that didn't exist.
  • fixed an issue where SoundAPI would stop audio sources from playing if they were marked as playOnAwake and loaded with a scene.
    • note: this has a temporary config to disable it, as i'm not entirely sure if this will fully work
  • added an extra check to prevent duplicate sound-packs from loading.
  • added a warning log if no sound-packs loaded.

2.0.7

  • uploaded to PEAK
  • removed previously temporary config
  • add metadata spoofing (fixes config names in Gale acting strange)
  • added a new experiment
    • audio clip spoofing: enabling this experiment makes soundapi lie in some cases to other mods and the vanilla game about the true audioclip. this can help improve compatibilty

2.0.8

  • hopefully fixed some issues with audio clip spoofing
  • fixed an edge case where when a prefab was instantiated with a disabled playOnAwake audio source soundapi would try to play it (harmless, only a warning log)
  • fixed config generation so that soundpacks which do not define config do not create a file.