Delete shapes.lua
This commit is contained in:
-75
@@ -1,75 +0,0 @@
|
||||
-- shapes.lua - Minimap shape masks for SexyMap OctoWoW Edition
|
||||
-- Provides CApplyShape() which clips the minimap to a given shape
|
||||
--
|
||||
-- IMPORTANT: We use Minimap:SetMaskTexture() instead of creating overlay textures.
|
||||
-- Creating an overlay texture on top of the minimap blocks the map content and causes
|
||||
-- the minimap to appear as pure white. SetMaskTexture clips the minimap to the shape
|
||||
-- without covering it.
|
||||
--
|
||||
-- In WoW 1.12, SetMaskTexture(nil) does NOT remove the mask — it falls back to
|
||||
-- the default round mask. This means there is no way to show a truly square
|
||||
-- minimap via mask alone. For square shapes, we use the circle mask and rely
|
||||
-- on the border/backdrop visuals to give a square appearance.
|
||||
|
||||
local _G = getfenv(0)
|
||||
|
||||
-- The default round minimap mask.
|
||||
-- IMPORTANT: "Interface\Minimap\UI-Minimap-Background" is NOT a mask — it's a
|
||||
-- decorative border texture. Using it with SetMaskTexture causes green rendering.
|
||||
-- The correct default mask is the circle.blp we ship with the addon.
|
||||
local DEFAULT_MASK = "Interface\\AddOns\\SexyMap\\shapes\\circle.blp"
|
||||
|
||||
-- Shape texture paths (addon-local BLP files in shapes/ directory)
|
||||
-- All paths include .blp because SetMaskTexture does NOT auto-append .blp
|
||||
-- (unlike SetBackdrop which does auto-append it).
|
||||
local shapeTextures = {
|
||||
["Round"] = "Interface\\AddOns\\SexyMap\\shapes\\circle.blp",
|
||||
["Square"] = "Square", -- special: no mask change, keep default round
|
||||
["Diamond"] = "Interface\\AddOns\\SexyMap\\shapes\\diamond.blp",
|
||||
["Hexagon"] = "Interface\\AddOns\\SexyMap\\shapes\\hexagon.blp",
|
||||
["Octagon"] = "Interface\\AddOns\\SexyMap\\shapes\\octagon.blp",
|
||||
["Heart"] = "Interface\\AddOns\\SexyMap\\shapes\\heart.blp",
|
||||
["Snowflake"] = "Interface\\AddOns\\SexyMap\\shapes\\circle.blp",
|
||||
["LL Corner Rounded"] = "Interface\\AddOns\\SexyMap\\shapes\\bottomleft.blp",
|
||||
["LR Corner Rounded"] = "Interface\\AddOns\\SexyMap\\shapes\\bottomright.blp",
|
||||
["UL Corner Rounded"] = "Interface\\AddOns\\SexyMap\\shapes\\circle.blp", -- fallback, no topleft BLP
|
||||
["UR Corner Rounded"] = "Interface\\AddOns\\SexyMap\\shapes\\circle.blp", -- fallback, no topright BLP
|
||||
["Large Circle"] = "Interface\\AddOns\\SexyMap\\shapes\\largecircle.blp",
|
||||
["Route66"] = "Interface\\AddOns\\SexyMap\\shapes\\circle.blp",
|
||||
["Deathsky"] = "Interface\\AddOns\\SexyMap\\shapes\\deathsky_mask.blp",
|
||||
["VFX Border"] = "Interface\\AddOns\\SexyMap\\shapes\\circle.blp",
|
||||
["Left"] = "Interface\\AddOns\\SexyMap\\shapes\\left.blp",
|
||||
["Bottom"] = "Interface\\AddOns\\SexyMap\\shapes\\bottom.blp",
|
||||
}
|
||||
|
||||
function CApplyShape(shapeName)
|
||||
if not shapeName then return end
|
||||
|
||||
local texPath = shapeTextures[shapeName]
|
||||
|
||||
if not texPath then
|
||||
-- Unknown shape: apply default round mask
|
||||
Minimap:SetMaskTexture(DEFAULT_MASK)
|
||||
return
|
||||
end
|
||||
|
||||
-- Square shape: keep the default round mask.
|
||||
-- WoW 1.12 does not support removing the mask entirely (SetMaskTexture(nil)
|
||||
-- just resets to the default round mask). The square appearance for presets
|
||||
-- like "Ruins" and "Simple Square" comes from their border textures and
|
||||
-- backdrop frame, not from the minimap mask shape.
|
||||
if texPath == "Square" then
|
||||
Minimap:SetMaskTexture(DEFAULT_MASK)
|
||||
return
|
||||
end
|
||||
|
||||
-- Use SetMaskTexture to clip the minimap to the shape.
|
||||
-- pcall protects against invalid texture paths
|
||||
local ok, err = pcall(function()
|
||||
Minimap:SetMaskTexture(texPath)
|
||||
end)
|
||||
if not ok then
|
||||
-- Fallback to default round mask if the texture failed to load
|
||||
Minimap:SetMaskTexture(DEFAULT_MASK)
|
||||
end
|
||||
end
|
||||
Reference in New Issue
Block a user