Commit Graph

263 Commits

Author SHA1 Message Date
florian.berthold d21f62ac7a ci: use per-job auto GITHUB_TOKEN (Gitea reserves GITEA_TOKEN) 2026-05-25 11:51:45 +02:00
florian.berthold 64c4102a4a ci: add .gitea/workflows/release.yml (tag -> per-addon zip release) 2026-05-25 11:13:43 +02:00
florian.berthold 34fc2cdc2f ci: add tools/build_zip.sh (git-archive per addon folder) 2026-05-25 11:13:42 +02:00
florian.berthold f4578c5139 chore: move addon into Leatrix_Plus/ + .gitattributes
Matches the Exiles fork-layout convention (each addon in its own folder).
2026-05-25 10:59:29 +02:00
florian.berthold 2863bd7e85 fix(minimap-icon): ship BLP, point icon at .blp not .tga
WoW's texture engine only loads .blp — `SetTexture` (and LibDBIcon)
strips any extension and looks for foo.blp. The addon previously passed
`minimapicon.tga` and only shipped a .tga, so the engine fell back to
the green placeholder icon on the minimap button.

Convert assets/minimapicon.tga to a DXT3/BLP2 (alpha-encoding 1, the
format proven to decode on the CoA 3.3.5 client — DXT5 doesn't), ship
it alongside the .tga, and update the LibDBIcon NewDataObject 'icon'
field to reference the .blp.

Also normalises the path casing (Interface\\AddOns\\… instead of
\\addons\\…) to match every other path in the file.
2026-05-24 19:52:28 +02:00
florian.berthold 41b9479a0a feat: HideCooldownErrors / MuteErrorSpeech option
Adds the 'Hide Ability not ready warnings' option to FasterLootPanel and
wires up a hook on UIErrorsFrame.AddMessage that suppresses the red
'Ability not ready', 'Spell is not ready' and 'Another action is in
progress' messages when the option is on. Other errors (out of range,
line of sight, etc.) still appear normally.

Includes the saved-var loaders / setters in eventHandler and the default
'Off' init in LeaPlusLC:Isolated().
2026-05-24 18:26:43 +02:00
florian.berthold 9157d38c40 fix: guard InterfaceOptions globals, SetHighlightTexture, dynamic class list
CoA-Beta client compat:

  - L15198 InterfaceOptions_AddCategory is nil on the CoA reworked
    FrameXML; guard with 'if InterfaceOptions_AddCategory then ... end'
    so the Plus options panel registration is skipped silently rather
    than aborting addon init.

  - L16477-16478 InterfaceOptionsFrame:HookScript and
    VideoOptionsFrame:HookScript are nil on the CoA client; guard each
    individually so PLAYER_LOGIN doesn't crash.

  - L17186 SetHighlightTexture(0) passes the integer 0 (FDID style)
    which silently no-ops on 3.3.5. Use "" so the highlight is
    actually cleared on locked Plus option buttons.

  - L20066 hardcoded 9-class list excluded DEATHKNIGHT and all CoA
    custom classes from LeaPlusDB.Cooldowns. Build the list dynamically
    via GetNumClasses + GetClassInfo so every playable class on the
    realm gets a cooldown table.
2026-05-24 18:26:43 +02:00
florian.berthold eab55eddb8 fix(minimap): right-click toggles config instead of ReloadUI
Right-click on Leatrix's minimap button previously fired ReloadUI() with
no modifier and no confirmation, which is far too easy to trigger by
accident. Make right-click behave the same as left-click (toggle the
config panel). UI reloads remain available via /reload.
2026-05-23 17:45:54 +02:00
florian.berthold a92f266a4b fix: prevent minimap-button C stack overflow, guard legacy options
The custom minimap-button hider re-HookScript'd OnEnter/OnLeave on every
button each 1s ticker cycle and re-hooked the Minimap OnUpdate on every
mouse enter. HookScript chains closures, so the handler chain grew until
firing it overflowed the C stack. Hook each button and the OnUpdate driver
only once via guard flags.

Also guard InterfaceOptionsControlsPanelAutoLootCorpse, absent on the CoA
client's reworked Controls panel.
2026-05-22 21:05:29 +02:00
florian.berthold 0e232e1e81 CoA: option to skip auto-loot for worldforged items
Adds a 'Skip auto-loot for Worldforged items' checkbox under the Faster
Looting cog menu. When enabled, the SpeedyAutoLoot fast path leaves
worldforged items in the loot window so you can review them before
deciding to keep, rather than auto-looting everything in sight.

Detection uses a hidden scanning tooltip: worldforged items show a
green 'Worldforged' line below the item name (visible on db.exil.es
tooltips too). Results are cached per itemLink to avoid re-scanning
the same item on every loot opportunity.

Skipped slots set self.isItemLocked so AutoLoot:ShowLootFrame keeps
the window open, matching the existing behaviour for loot above the
quality threshold.
2026-05-21 00:07:40 +02:00
florian.berthold 61090571de CoA: route item/spell/NPC/quest links to db.exil.es
db.exil.es is the CoA-aware item/spell DB; Wowhead doesn't know about
CoA's custom classes, spells, or worldforged items. Achievements aren't
indexed on db.exil.es yet, so those still go to Wowhead.

- item/spell/npc/quest URLs now use path syntax (db.exil.es/item/<id>).
- Fallback search routes to /items?q=… instead of Wowhead's /search.
- WowheadLinkComments toggle is now a no-op for db.exil.es URLs (no
  comments there); it still works for the achievement fallback.
2026-05-21 00:05:23 +02:00
florian.berthold dd8735a358 ci: preserve upstream line endings for clean upstream diffs 2026-05-21 00:03:04 +02:00
Sattva 225cdf4594 feat-disenchant: hide debugs 2025-06-05 17:06:18 +03:00
Sattva cb216f5941 feat: add disenchant roll warning bypass to NoConfirmLoot
- Register CONFIRM_DISENCHANT_ROLL event for disenchant confirmations
- Auto-confirm and hide popup when disenchanting valuable items
2025-06-05 17:06:07 +03:00
Sattva 9cf7e1e9cf flight-timers: #6 address ping issue x2 2025-05-23 08:32:57 +03:00
Sattva 7b999bc91f flight-timers: #6 address ping issue 2025-05-22 03:53:40 +03:00
Sattva 0ffd48db48 media: remove extra 1s play-time
it was made by original author, idk why.
in result we were getting tracks to be starting all over again for 1-2 seconds, sometimes.

now is all good
2025-05-20 10:14:21 +03:00
Sattva e875e4a6cc media-random: also remember tracks that have duration < 15 sec
not really necessary now, but good for future
2025-05-20 09:14:19 +03:00
Sattva fbc2fcb97b media: add locales 2025-05-19 14:11:49 +03:00
Sattva 1391603225 media: fix headers click bug 2025-05-19 14:04:24 +03:00
Sattva 8bd19d2819 misc: fix visual bug 2025-05-19 13:01:05 +03:00
Sattva 2cb52bd67c misc: prepare to fix bug 2025-05-19 13:01:04 +03:00
Sattva c80ba3048d media-visual: more reposition 2025-05-19 12:25:56 +03:00
Sattva 2f432c4e9f media-visual: more visuals
repositions
2025-05-19 12:20:29 +03:00
Sattva 988cededac media: reposition search, stop 2025-05-19 11:56:02 +03:00
Sattva b6532e8878 media: reposition stop button 2025-05-19 11:41:57 +03:00
Sattva f3a47f6a9b media: rename "NEW" to "New Tracks" 2025-05-19 11:22:33 +03:00
Sattva 802b4f0cf9 media-visual: reposition menu buttons
"new" and "random" now are below all buttons with offset
2025-05-19 10:51:48 +03:00
Sattva b7cbe0524f media-random: reset button if < 20 random tracks left to play 2025-05-19 10:34:06 +03:00
Sattva a3dceed499 media-random: fallback if user has no tracks left
prompt him to reset.
2025-05-19 09:42:22 +03:00
Sattva fb848e874d media-new: fix 2 data lines 2025-05-19 08:49:02 +03:00
Sattva 28fac95b39 Merge pull request #5 from Sattva-108/media-random-but-new-tracks-only
300+ new media, smart Random playlist.
2025-05-19 08:23:54 +03:00
Sattva d816fa752c media-new: locales for new tracks! 2025-05-19 08:09:58 +03:00
Sattva d8a7d7a23e media-new: compact DB!
less line breaks
2025-05-19 06:53:25 +03:00
Sattva 8f75372f4c media: 200+ new tracks
Thank you EpicMusicPlayer

Added category: NEW
2025-05-19 06:46:17 +03:00
Sattva 185ab6e7dc media: compact WoTLK dungeons data!
~500 lines to 24 lines!
2025-05-19 05:39:37 +03:00
Sattva 764af6768e media: durations Eastern Kingdoms 2025-05-19 05:26:13 +03:00
Sattva 21305cafca media: durations Kalimdor 2025-05-19 05:17:37 +03:00
Sattva 9af943d5fb media: durations vanilla dungeons 2025-05-19 05:13:41 +03:00
Sattva dd16a50f4a media: durations tbc dungeons 2025-05-19 05:11:17 +03:00
Sattva 51ed6eba4b media: durations various 2025-05-19 05:08:34 +03:00
Sattva a5d2762495 media: durations wotlk 2025-05-19 04:57:18 +03:00
Sattva 54a39bc1b6 media: fix incorrect duration
since we backported the addon from WoTLK classic, some tracks, have incorrect duration (usually +1s)

which results in wrong ending of the track, it starts all over again for 1 sec.

so this is the process of fixing it.

we getting EpicMusicPlayer data compare to ours and fix our DB durations for incorrect tracks data.
2025-05-19 04:44:35 +03:00
Sattva 6290aaf3d0 media: prevent same track showing twice in random list
- Random list now avoids showing the same track more than once
- Even if a track appears in multiple zones, it will only show once
2025-05-19 04:27:14 +03:00
Sattva 4fc3576211 media: remember listened music in random mode
- Show and Play only tracks, that you haven't heard yet!
2025-05-19 02:33:24 +03:00
Sattva 27b041374a media: movies are back! 2025-05-18 07:45:16 +03:00
Sattva d518a7fe1a media: trim paths from display 2025-05-18 05:49:06 +03:00
Sattva 9fba331bf7 media: highlight playing track 2025-05-18 05:21:38 +03:00
Sattva f5e71c339a media: search-box visual 2025-05-18 04:48:41 +03:00
Sattva 393d38f090 media: 404 new tracks
my biggest thanks to:
EpicMusicPlayer
it had them all, what a great job by them.
Added missing WoTLK dungeon tracks.
2025-05-18 01:13:44 +03:00