Metal Gear Sounds (Updated Classic)

Remake of MGSSounds

File Details

MGSSounds-v1.3.3.zip

  • R
  • Oct 17, 2025
  • 431.94 KB
  • 9
  • 1.15.7
  • Classic

File Name

MGSSounds-v1.3.3.zip

Supported Versions

  • 1.15.7

Changelog

All notable changes to MGSSounds will be documented in this file.

[v1.3.3] - 2025-10-17

Fixed

  • Options Command Error: Fixed "attempt to call global 'InterfaceOptionsFrame_OpenToCategory' (a nil value)" error when using /mgssounds options command
    • Removed deprecated InterfaceOptionsFrame_OpenToCategory API
    • Updated to use Settings.OpenToCategory API for Classic Era 1.15.4+
    • Simplified options panel registration to use Settings API directly

Technical

  • Replaced InterfaceOptionsFrame_OpenToCategory with Settings.OpenToCategory
  • Updated options panel registration to use Settings.RegisterCanvasLayoutCategory
  • Removed legacy API fallbacks no longer needed for current Classic Era version

[v1.3.2] - 2025-10-17

Fixed

  • Event Handler Error: Fixed "attempt to index global 'MGSSounds_Vars' (a nil value)" error that occurred when game events fired before addon initialization
    • Added nil check in OnEvent handler to prevent accessing uninitialized variables
    • ADDON_LOADED event now prioritized to ensure proper initialization order
    • All other events safely ignored until addon is fully loaded
  • Audio Channel Dropdown Display: Fixed dropdown showing "Custom" instead of saved audio channel value
    • Corrected initialization order for dropdown menu
    • Added UIDropDownMenu_SetText to properly display selected value
    • Implemented refresh function to update dropdown when options panel is reopened
    • Dropdown now correctly displays saved channel (e.g., "SFX") on UI reload

Technical

  • Modified OnEvent handler to prioritize ADDON_LOADED and check for nil MGSSounds_Vars
  • Updated dropdown initialization sequence: Initialize → SetSelectedValue → SetText
  • Added dropdown.refresh() method for dynamic UI updates
  • Stored dropdown reference in panel for refresh capability

[v1.3.1] - 2025-10-17

Fixed

  • Slash Command Error: Fixed "attempt to index global 'MGSSounds_Vars' (a nil value)" error when using slash commands before addon fully loads
    • Added safety check in Command function to ensure variables are initialized
    • Users now receive a friendly message if commands are used too early
  • Options Panel Disappearing: Fixed intermittent issue where options panel would not appear in Interface Options after UI reload
    • Implemented single-creation guarantee using optionsPanelCreated flag
    • Added automatic state refresh when panel is reopened
    • Panel now properly persists across UI reloads

Technical

  • Added initialization check at start of Command function
  • Implemented optionsPanelCreated flag to prevent duplicate panel creation
  • Added UI element references (masterToggle, scopeToggle, soundToggles) for dynamic updates
  • Panel now refreshes checkbox states on each show event

[v1.3.0] - 2025-10-17

Added

  • Hybrid Settings System: Choose between account-wide or character-specific settings
  • New /mgssounds scope command to toggle between account-wide and character-specific settings
  • New /mgssounds channel [channel] command to set audio channel (Master, Music, SFX, Ambience, Dialog)
  • New /mgssounds debug command to toggle debug output
  • New /mgssounds config command to open options panel
  • Options panel with graphical interface for all settings
  • "Use Character-Specific Settings" checkbox in options panel
  • "Reload UI" button that appears when scope setting is changed
  • Audio channel dropdown selector in options panel
  • Two-column layout for sound toggle checkboxes in options panel

Changed

  • Settings now use dual saved variables system:
    • MGSSounds_GlobalVars for account-wide settings
    • MGSSounds_CharVars for character-specific settings
    • MGSSounds_Vars automatically points to the active settings table
  • Updated help text to include new commands
  • Improved user feedback messages for all commands

Technical

  • Added useCharacterSettings flag in global variables to control settings scope
  • Implemented smart pointer system that switches between settings tables based on user preference
  • Options panel uses lazy initialization pattern (only creates UI on first show)
  • Backward compatible with existing installations (defaults to account-wide settings)

[v1.2.1] - Previous Release

Features

  • Combat sound (Metal Gear Solid alert)
  • Death sound
  • Trade request sound
  • Trade window sound
  • Trade cancel sound
  • Loot window sound
  • Loot collection sound
  • Whisper sound
  • Individual toggle commands for each sound
  • Master disable toggle
  • Per-character saved variables