Restructure modules with per-module addon subdirs
- Each module (outline, interact, screenshot) now has its own addon/ subdir with .toc, .lua, and Bindings.xml - Core WeirdUtils addon lives in src/core/addon/ - build.zig supports compile-time feature gating via -D options - main.zig uses build_options for conditional imports and addon embedding - Module addons only load when their module is compiled in - 'zig build all-variants' produces full.dll + 3 single-module DLLs
This commit is contained in:
@@ -0,0 +1,11 @@
|
||||
<Bindings>
|
||||
<Binding name="Interact" header="INTERACT">
|
||||
InteractNearest(0)
|
||||
</Binding>
|
||||
<Binding name="Interact (auto-loot)">
|
||||
InteractNearest(1)
|
||||
</Binding>
|
||||
<Binding name="Loot All Corpses">
|
||||
LootAllCorpses()
|
||||
</Binding>
|
||||
</Bindings>
|
||||
@@ -0,0 +1,31 @@
|
||||
-- Interact addon (embedded in DLL, loaded from memory)
|
||||
-- Part of WeirdUtils - only loaded when interact module is compiled
|
||||
|
||||
INTERACT_VERSION = 1
|
||||
|
||||
BINDING_HEADER_INTERACT = "Interact"
|
||||
|
||||
local frame = CreateFrame("Frame")
|
||||
frame:RegisterEvent("ADDON_LOADED")
|
||||
frame:RegisterEvent("PLAYER_LOGIN")
|
||||
|
||||
frame:SetScript("OnEvent", function()
|
||||
if event == "PLAYER_LOGIN" then
|
||||
DEFAULT_CHAT_FRAME:AddMessage("|cff00ff00Interact|r v" .. INTERACT_VERSION .. " loaded")
|
||||
end
|
||||
end)
|
||||
|
||||
SLASH_INTERACT1 = "/interact"
|
||||
SlashCmdList["INTERACT"] = function(msg)
|
||||
msg = string.lower(msg or "")
|
||||
if msg == "" or msg == "help" then
|
||||
DEFAULT_CHAT_FRAME:AddMessage("|cff00ff00Interact|r commands:")
|
||||
DEFAULT_CHAT_FRAME:AddMessage(" /interact - Show this help")
|
||||
DEFAULT_CHAT_FRAME:AddMessage(" Key bind: Interact - Interact with nearest NPC/object")
|
||||
DEFAULT_CHAT_FRAME:AddMessage(" Key bind: Interact (auto-loot) - Interact and auto-loot")
|
||||
DEFAULT_CHAT_FRAME:AddMessage(" Key bind: Loot All Corpses - Loot all nearby corpses")
|
||||
DEFAULT_CHAT_FRAME:AddMessage(" /run InteractNearest(0) - Interact without loot")
|
||||
DEFAULT_CHAT_FRAME:AddMessage(" /run InteractNearest(1) - Interact with auto-loot")
|
||||
DEFAULT_CHAT_FRAME:AddMessage(" /run LootAllCorpses() - Loot all nearby corpses")
|
||||
end
|
||||
end
|
||||
@@ -0,0 +1,8 @@
|
||||
## Interface: 11200
|
||||
## Title: Interact
|
||||
## Notes: Nearest NPC/object interaction and bulk looting
|
||||
## Version: 1.0
|
||||
## Dependencies: WeirdUtils
|
||||
|
||||
Interact.lua
|
||||
Bindings.xml
|
||||
Reference in New Issue
Block a user