# NaowhQOL

## [v1.4.2-6-gb3b709f](https://github.com/NAO-TEAM/NaowhQOL/tree/b3b709fdc0b1f35ad62c9a7d8bbb93907e4bc97a) (2026-02-24)
[Full Changelog](https://github.com/NAO-TEAM/NaowhQOL/compare/v1.4.2...b3b709fdc0b1f35ad62c9a7d8bbb93907e4bc97a) [Previous Releases](https://github.com/NAO-TEAM/NaowhQOL/releases)

- Release v1.5.0  
- Add speed text offset and thrill marker to Dragonriding  
    - Add X/Y offset sliders for speed text positioning (±400 range)  
    - Add optional thrill activation tick mark on speed bar (730% speed)  
    - Thrill marker defaults to off, 1px blue line  
- Custom Media Overhual  
    - New central media registration + ResolveFont() / ResolveBar() / MigrateDB()  
    - Added Media.lua before Widgets.lua to fix load order in toc  
    - Removed custom font array/locale detection; uses LSM as source of truth  
    - Added name-based lookups to bars  
    - Font/bar/sound pickers now store names, not paths  
    - Defaults use LSM names; added DefaultFontPath() helper; calls MigrateDB() on init  
    - SetFont() calls use ns.Media.ResolveFont(db.font) / ns.DefaultFontPath()  
    - Register all 40+ built-in WoW sounds with LSM; Play() now handles string names via ResolveSound(); added GetNameFromLegacy() reverse lookup + \_entryByName index; GetEntry() accepts string names  
    - Added DEFAULT\_SOUND = "Raid Warning", FALLBACK\_SOUND\_ID, ResolveSound() (handles string/number/table), MigrateSoundKey(), extended MigrateDB() with 4th soundKeys param  
    - CreateSoundPicker normalizes legacy formats to names on init; stores entry.name on selection; SetSound/GetSound handle name strings  
    - All sound defaults changed from 8959 / {id=8959} to "Raid Warning"; MigrateDB calls updated with sound keys for all modules  
    - Simplified PlayTimeSpiralAlert/PlayGatewayAlert — removed type-checking branches, delegate to SoundList.Play()  
    - Simplified sound playback to single SoundList.Play() call  
    - Simplified PlayMeleeSoundOnce/StartMeleeSound  
    - Default stance sound fallback → ns.Media.DEFAULT\_SOUND  
    - Updated legacy soundID → sound migration to produce a name string  
    - Sound picker fallbacks changed from 8959 to ns.Media.DEFAULT\_SOUND  
- Add TTS voice picker to Movement Alert module  
    - Add voice selection for Time Spiral TTS alerts  
    - Add voice selection for Gateway Shard TTS alerts  
    - Mirrors existing Focus Cast Bar TTS voice picker functionality  
- Modified Dragonriding to add an option to hide power bars  when flying  
- UI/UX Fixes  
