You are viewing a potentially older version of this package. View all versions.
Cray-NowWatchThisDrive-0.2.1 icon

NowWatchThisDrive

Replaces the nice-shot announcer line with the now-watch-this-drive clip on a 100% charged swing.

Date uploaded 3 months ago
Version 0.2.1
Download link Cray-NowWatchThisDrive-0.2.1.zip
Downloads 157
Dependency string Cray-NowWatchThisDrive-0.2.1

This mod requires the following mods to function

BepInEx-BepInExPack-5.4.2305 icon
BepInEx-BepInExPack

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

Preferred version: 5.4.2305

README

NowWatchThisDrive

Replaces the announcer's "nice shot" audio with the classic "now watch this drive" clip whenever you pull off a 100%-charged swing.

Install

Via r2modman or Thunderstore Mod Manager — search for Cray-NowWatchThisDrive and install.

Manual install: drop both files into <r2modman profile>/BepInEx/plugins/Cray-NowWatchThisDrive/:

  • NowWatchThisDrive.dll
  • NowWatchThisDrive.wav

Requires BepInExPack 5.4.2305.

How it works

Super Battle Golf has Unity's native audio disabled and routes everything through FMOD. The mod preloads the bundled WAV through FMODUnity.RuntimeManager.CoreSystem.createSound, then Harmony-prefixes CourseManager.PlayAnnouncerLineLocalOnly — when the announcer would play NiceShot, we play the override clip instead and skip the vanilla FMOD event. Every other announcer line (hole-in-one, overtime, …) is untouched.

Building from source

Requirements: .NET SDK 7.0+, a Super Battle Golf install (Steam default path is auto-detected).

git clone https://github.com/Calen-Ray/SBG-now-watch-this-drive.git
cd SBG-now-watch-this-drive
dotnet build -c Release

Override the game path or r2modman profile by copying Developer.props.example to Developer.props and editing.

Swapping the audio clip

Source WAV is Audio/NowWatchThisDrive.wav (16-bit PCM, 44.1 kHz stereo). Replace the file and rebuild. If starting from an mp3/ogg, convert first:

ffmpeg -y -i source.mp3 -acodec pcm_s16le -ar 44100 -ac 2 Audio/NowWatchThisDrive.wav

Packaging for Thunderstore

pwsh tools/package.ps1

Produces artifacts/Cray-NowWatchThisDrive-<version>.zip ready to upload.

Releasing

Automated via .github/workflows/release.yml — publishing a GitHub Release uploads the attached zip to Thunderstore.

One-time setup. Add a THUNDERSTORE_TOKEN repository secret (Settings -> Secrets and variables -> Actions). The token comes from thunderstore.io/settings/teams/ under the Cray team.

Cut a release:

# 1. Bump version_number in manifest.json and add a CHANGELOG.md entry.
# 2. Commit + tag + push.
git commit -am "Release v0.2.0"
git tag v0.2.0
git push --follow-tags

# 3. Build the zip locally (CI can't build — hosted runners don't have the game DLLs).
pwsh tools/package.ps1

# 4. Create the GitHub Release with the zip attached; the workflow publishes on release.published.
gh release create v0.2.0 artifacts/Cray-*-*.zip --notes-file CHANGELOG.md

Credits

License

MIT — see LICENSE.

CHANGELOG

Changelog

v0.4.0

  • Swinger now hears their own clip as full-quality 2D audio (no positional attenuation), restoring pre-3D playback feel.
  • Other players in a multiplayer lobby still hear the clip as 3D audio positioned at the swinger's hit point.
  • Tightened 3D rolloff range (8m–60m linear) so distance cues are audibly distinct rather than collapsing to L/R panning only.

v0.3.2

  • Added verbose diagnostic logging around the NiceShot announcer intercept, SwingNiceShot VFX hook, and each FMOD playback step to isolate freezes during trigger-time audio execution.

v0.3.1

  • Removed the custom Mirror audio replication messages that could disconnect clients without the mod.
  • Drive clip playback now follows the game's existing replicated SwingNiceShot VFX event instead.

v0.3.0

  • Replicate perfect-swing clip playback to all modded clients in a match via Mirror.
  • Play the clip as 3D FMOD audio from the emitting golfer's position instead of only locally.

v0.2.1

  • New icon / cover art by MultipleBees. Original high-res art kept in cover-art/.
  • Added .github/workflows/release.yml so publishing a GitHub Release auto-uploads the zip to Thunderstore.

v0.2.0

  • Updated bundled audio clip.
  • Route audio playback through FMOD (Unity's native audio is disabled in the game build).
  • Reference assets deploy alongside the DLL in the Thunderstore package layout.

v0.1.0

  • Initial release.
  • Intercepts CourseManager.PlayAnnouncerLineLocalOnly(NiceShot) and plays the override clip.