diff --git a/CHANGELOG-lowgc.md b/CHANGELOG-lowgc.md index 20deb17..0aeff61 100644 --- a/CHANGELOG-lowgc.md +++ b/CHANGELOG-lowgc.md @@ -15,6 +15,10 @@ Each [skrymsli](https://github.com/skrymsli/Puppeteer) commit was only kept if i brings the cost back to the OldManAlpha level (5.3 µs per event) and adds about 2 bytes of garbage per raid-wide tick. +## Addition from fey/Puppeteer + +- **Test UI shows raid frames outside a raid** ([fey](https://github.com/fey/Puppeteer), `fix/testui-raid-frames`): kept. While `/pt testui` is on, every frame group shows (Party, Pets, Raid, Raid Pets) whatever your real group is, and Hide While Solo no longer hides the test frames. Turning test mode off restores the normal rules. No effect outside test mode. + ## Why WoW 1.12 runs Lua 5.0, whose collector stops the game and walks the whole heap whenever enough garbage piles up. diff --git a/PTUnitFrameGroup.lua b/PTUnitFrameGroup.lua index 47a34b6..68cc40a 100644 --- a/PTUnitFrameGroup.lua +++ b/PTUnitFrameGroup.lua @@ -64,7 +64,9 @@ function PTUnitFrameGroup:New(name, environment, units, petGroup, profile, sortB end function PTUnitFrameGroup:EvaluateShown() - if self:CanShowInEnvironment(Puppeteer.CurrentlyInRaid and "raid" or "party") and self:ShowCondition() then + -- Test mode shows every group (raid groups too) whatever the real group is + local environment = Puppeteer.CurrentlyInRaid and "raid" or "party" + if (Puppeteer.TestUI or self:CanShowInEnvironment(environment)) and self:ShowCondition() then self:Show() self:UpdateUIPositions() else @@ -77,7 +79,8 @@ function PTUnitFrameGroup:ShowCondition() return false end - if PTOptions.HideWhileSolo and (GetNumPartyMembers() == 0 and GetNumRaidMembers() == 0) then + if not Puppeteer.TestUI and PTOptions.HideWhileSolo + and (GetNumPartyMembers() == 0 and GetNumRaidMembers() == 0) then return false end