Skip to content

feat: in-game options panel with per-alert sound picker (#6) - #9

Merged
lemillermicrosoft merged 1 commit into
mainfrom
feat/issue-6-config-ui-v2
Jul 30, 2026
Merged

feat: in-game options panel with per-alert sound picker (#6)#9
lemillermicrosoft merged 1 commit into
mainfrom
feat/issue-6-config-ui-v2

Conversation

@lemillermicrosoft

Copy link
Copy Markdown
Owner

Closes #6. Replaces the previously-stacked PR #7 (its base branch was deleted when #8 shipped v0.3.0).

Requested by deehoc via Discord DM:

User should be able to select which sound is used for different alerts in a nice config UI. in-game addon options would be a good way to do this, too.

What lands

  • New Options.lua module registered via InterfaceOptions_AddCategory (TBC 2.5.6 API). Reachable via ESC → Interface → AddOns → BlasterMaster, or /blaster options (alias /blaster config).
  • Per-alert sound dropdown for all 5 roles: Enter Combat (laser), Low HP Alarm (siren), Kill Jingle (oneUp), Level Up (fanfare), Crit (crit).
  • Preview button next to each dropdown — plays the currently selected file via PlaySoundFile.
  • Toggles for HUD enabled, Mute all sounds, Crit audio enabled.
  • Slider for Low HP Threshold (5%–95%, 5% steps).
  • Reset sounds button restores hardcoded defaults.
  • playSFX in BlasterMaster.lua now consults BlasterMaster_GetSfxPath(role) first (reads BlasterMasterDB.sfxMap), falls back to the hardcoded SFX table.
  • BlasterMasterDB.sfxMap persists per role → filename mapping.
  • Post-class-agnostic crit rework (v0.3.0): dropped the critShadow role from the panel.

How it works

  • Static file list: AUDIO_FILES[1..37] = "Blaster Master SFX (i).wav" — Lua can't ls, so this is baked in. If new files are added later, update AUDIO_FILES in Options.lua.
  • Dropdowns label entries as SFX 1 .. SFX 37. Post-MVP: friendly names once we know what each sound is.

Not in this PR

  • Volume slider per role (post-MVP — PlaySoundFile doesn't accept volume in this API).
  • LibSharedMedia integration.
  • Custom drag-and-drop of user files.
  • Per-character options.

Ship with !ship blastermaster after smoke-testing that the panel opens and previews work.

@lemillermicrosoft
lemillermicrosoft merged commit d01296a into main Jul 30, 2026
@lemillermicrosoft
lemillermicrosoft deleted the feat/issue-6-config-ui-v2 branch July 30, 2026 16:24
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.

feat: in-game options panel with per-alert sound picker

1 participant