I tried to make it resizable the easy way, didn't work well. Perhaps adding invisible strips acting as resize handlers and resizing manually could work, but currently I'm not striving to implement that (too much work for uncertain results
). But... as you've shown you're not afraid of Lua, here's something you can use:
Lua Code:
function hackCharacterSheetSize(centerY, desiredHeight)
local panel = ZO_StatsPanel
local background = ZO_SharedStatsBackground
local backgroundTexture = ZO_SharedStatsBackgroundBG
local screenHeight = GuiRoot:GetHeight()
local centerY = zo_clamp(centerY, screenHeight / -3, screenHeight / 3)
local desiredHeight = zo_clamp(desiredHeight, 215, screenHeight)
local scaleY = desiredHeight / 750
-- set background position and size
background:ClearAnchors()
background:SetAnchor(RIGHT, nil, RIGHT, 0, 20 + centerY)
background:SetHeight(750 * scaleY)
-- scale background texture
backgroundTexture:ClearAnchors()
backgroundTexture:SetAnchor(TOPLEFT, nil, TOPLEFT, -75, -75 * scaleY)
backgroundTexture:SetHeight(1024 * scaleY)
-- anchor panel to background (originally they were independent)
panel:ClearAnchors()
panel:SetAnchor(TOPRIGHT, background, TOPRIGHT, 0, 8 * scaleY)
panel:SetAnchor(BOTTOMLEFT, background, BOTTOMLEFT, 0, -12 * scaleY)
end
Just drop it in an add-on, then you can experiment a bit with it ingame using
/script hackCharacterSheetSize(offsetY, height)
/script hackCharacterSheetSize(0, 750)
-- that's the original position & size
/script hackCharacterSheetSize(-150, 550)
-- will move it up and shrink
/script hackCharacterSheetSize(0, 900)
-- will enlarge it, with this height mine takes almost all unshaded space, background spilling into top and bottom strips
When you find the right values, you can insert that call into function MovableStats:SetUpTitleSection() for example.