Skip to content

Add: AudioManager API for sound effects, music, and dialogue - #14

Open
Trident35ro wants to merge 2 commits into
eris-webserv:mainfrom
Trident35ro:audio
Open

Trident35ro wants to merge 2 commits into
eris-webserv:mainfrom
Trident35ro:audio

Conversation

@Trident35ro

Copy link
Copy Markdown
Contributor

Wraps AudioControl so mods can play SFX/dialogue, control battle and background music, and register custom tracks into the exploration music rotation. Behavior (PickSong's selection logic, PlayBattleMusic's no-op-if-playing gate, etc.) was recovered from libil2cpp.so via IDA since managed sources only expose stripped method bodies. No unit tests: IAudioControl needs AudioClip, and the Tests project has no Unity/game interop reference, same as Chunks.

Wired into HAMHMod.Load().

Wraps AudioControl so mods can play SFX/dialogue, control battle and
background music, and register custom tracks into the exploration
music rotation. Behavior (PickSong's selection logic, PlayBattleMusic's
no-op-if-playing gate, etc.) was recovered from libil2cpp.so via IDA
since managed sources only expose stripped method bodies. No unit
tests: IAudioControl needs AudioClip, and the Tests project has no
Unity/game interop reference, same as Chunks.

Wired into HAMHMod.Load().
Explicitly selecting the overload via new Type[] { typeof(string[]) }
failed to resolve at runtime, throwing and aborting Harmony's PatchAll()
foreach before the battle-music patches applied (same failure class as
the ChunkControl_HostGetChunk_Patch fix). PickSong isn't overloaded, so
patching by name only sidesteps it.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant