YoYoGames / GameMaker-Bugs

Public tracking for GameMaker bugs
23 stars 8 forks source link

Debug Overlay FlexPanel display claims "unknown flexpanel style key height, nodes, padding, width" #7601

Open gm-bug-reporter[bot] opened 3 weeks ago

gm-bug-reporter[bot] commented 3 weeks ago

Description

The FlexPanel debug overlay display does not appear to work. The right panel displays only a gray box, while the logs indicate that none of the tags are valid even though they are (the object might be malformed when passing it to Yoga).

Immediately after the game loads, this shows up in the logs:

**. Entering main loop. **. unknown flexpanel style key height unknown flexpanel style key nodes unknown flexpanel style key padding unknown flexpanel style key width

Steps To Reproduce

1) Create any project with any template 2) Make sure one of the objects enables the debug overlay 3) Enable FlexPanel in the debug overlay 4) Check the logs for the unknown style keys

Which version of GameMaker are you reporting this issue for?

IDE v2024.8.1.171 Runtime v2024.8.1.218

Which operating system(s) are you seeing the problem on?

Windows 10.0.22631.0

Which platform(s) are you seeing the problem on?

Windows

Attached Files

65fe1be7-772e-4830-81a5-a61e1b2ae26b

zzhamzz commented 3 weeks ago

I think you need to call flexpanel_calculate_layout in code at least one.

Otherwise the debug overlay does not function?

gjoyner commented 3 weeks ago

Hi! This was the bug report I submitted. I thought about that too, but it takes 4 arguments, which I wouldn't have if I was just using the overlay to experiment.

zzhamzz commented 3 weeks ago

Just make a node and delete it. Then the overlay will work.

show_debug_overlay(true);
var flex_root = flexpanel_create_node({});
flexpanel_calculate_layout(flex_root, room_width, room_height, flexpanel_direction.LTR);
flexpanel_delete_node(flex_root);
gjoyner commented 3 weeks ago

That does make it work! Feels kinda odd you have to do this if the panel is there for the sake of messing around so you can move it to your own code. Might be good to have it automatically do it for the debug overlay, or make a mention of doing this in the documentation section for the FlexPanel overlay.

This does get me to where I mess with it though. Much appreciated!

zzhamzz commented 3 weeks ago

"Feels kinda odd you have to do this if the panel is there for the sake of messing around so you can move it to your own code. "

Yeah. I would still call it a bug.

gnysek commented 3 weeks ago

It should work with zero code (and was working like that at some point). Definitely a bug.