Reforged 2.0 origin frames bug (feature?) introduced

Level 15
Joined
Feb 7, 2020
Messages
398
Anyone already have this figured out?

Reforged 2.0 updated the console textures and the standard hide method doesn't work anymore. Tried below with no luck.

Lua:
function test_hide_ui()

BlzFrameSetVisible(BlzGetFrameByName("ConsoleTexture01", 0), false)
BlzFrameSetVisible(BlzGetFrameByName("ConsoleTexture02", 0), false)
BlzFrameSetVisible(BlzGetFrameByName("ConsoleTexture03", 0), false)
BlzFrameSetVisible(BlzGetFrameByName("ConsoleTexture04", 0), false)
BlzFrameSetVisible(BlzGetFrameByName("ConsoleTexture05", 0), false)
BlzFrameSetVisible(BlzGetFrameByName("ConsoleTexture06", 0), false)
BlzHideOriginFrames(true)
BlzEnableUIAutoPosition(false)

end
 

Attachments

  • WC3ScrnShot_111324_125403_000.png
    WC3ScrnShot_111324_125403_000.png
    6.2 MB · Views: 54
Level 21
Joined
May 16, 2012
Messages
644
It seems that they changed some of the hierarchy of the native frames. I don`t recommend using BlzHideOriginFrames(true) to hide the base UI. I have been testing with one of my projects and the following seem to work:

JASS:
call BlzEnableUIAutoPosition(false)
call BlzFrameSetAlpha(BlzGetFrameByName("SimpleInventoryCover", 0), 0)
call BlzFrameSetScale(BlzGetFrameByName("InventoryText", 0), 0.0001)
call BlzFrameSetAbsPoint(BlzGetFrameByName("ConsoleUI", 0), FRAMEPOINT_TOPLEFT, 0.0, 0.633)
call BlzFrameSetVisible(BlzGetFrameByName("ResourceBarFrame", 0), false)
call BlzFrameSetVisible(BlzGetFrameByName("UpperButtonBarFrame", 0), false)
call BlzFrameSetVisible(BlzFrameGetChild(BlzFrameGetChild(BlzGetOriginFrame(ORIGIN_FRAME_GAME_UI, 0), 5),0), false)
call BlzFrameSetParent(BlzGetFrameByName("MiniMapFrame", 0), BlzGetFrameByName("ConsoleUIBackdrop", 0))

this line:

JASS:
call BlzFrameSetVisible(BlzFrameGetChild(BlzGetFrameByName("ConsoleUI", 0), 7), false)

which was part of the original code above seems to be making the game crash on start as well.

It`s wonderful how they just don't post the changelog of breaking changes to Natives in their releases...
 
This patch (2.0) changed these fdf from framedef/ui/.
alliancedialog.fdf
allianceslot.fdf
cinematicpanel.fdf
consoleui.fdf
escmenutemplates.fdf
heropanel.fdf
heropanelelement.fdf
inventorybar.fdf
minimapframe.fdf
observersimpleinfopanel.fdf
productionpanelrow.fdf
productionpanelunit.fdf
replaypanelv1.fdf
replaypanelv2.fdf

Most important consoleui.fdf.


("ConsoleUI",0) 's children were moved and there are 2 new children
("ConsoleTopBar", 0) & ("ConsoleBottomBar",0)

"ConsoleTexture0X" are now children of
("ConsoleTopBar",0)
("ConsoleBottomBar",0)

("ConsoleBottomBar",0) became a parent of many frames of the bottom of screen and many place themself relative to it.

("ConsoleTopBar", 0) all of TopUI background "ConsoleTexture0X"

("ConsoleBottomBar",0) has 5 children
[0] ("ConsoleBottomBarOverlay", 0)
[1] ("CommandBarFrame", 0)
[2] ("SimpleInfoPanelUnitDetail", 0) Parent
[3] IdleWorkerFace
[4] ORIGIN_FRAME_UBERTOOLTIP
[x] all of bottomUI background "ConsoleTexture0X"

Idleworker is now BlzFrameGetChild(BlzGetFrameByName("ConsoleBottomBar", 0), 3)

These 2 new frames technicaly allow to hide background ui textures with map script only and still keep the other ui.
Lua:
BlzFrameSetVisible(BlzGetFrameByName("ConsoleTopBar", 0), false)
BlzFrameSetParent(BlzGetFrameByName("CommandBarFrame", 0), BlzGetFrameByName("ConsoleUI", 0))
BlzFrameSetParent(BlzFrameGetParent(BlzGetFrameByName("SimpleInfoPanelUnitDetail", 0)), BlzGetFrameByName("ConsoleUI", 0))
BlzFrameSetParent(BlzGetOriginFrame(ORIGIN_FRAME_UBERTOOLTIP , 0), BlzGetFrameByName("ConsoleUI", 0))
BlzFrameSetVisible(BlzGetFrameByName("ConsoleBottomBar", 0), false)

BlzHideOriginFrames(true) does not hide ui background textures right now.

The children of ConsoleUI also changed:
[0] "ConsoleTopBar", 0
[1] "ConsoleBottomBar", 0
[2] "ResourceBarFrame",0
[3] "UpperButtonBarFrame",0
[4] "MiniMapButtonBar",0
[5] command button mouse deadzone
[6] Hero ButtonBar
[7] World Object Hover info (exist after any object was hovered with the mouse)

previous was
[0]"CommandBarFrame",0
[1] ("SimpleInfoPanelUnitDetail", 0) Parent
[7] Idle worker Button Container
[8] World Object Hover info (exist after any object was hovered with the mouse)
 
Top