Scripted UI, Map Workflow, & a Bunch of Bug Fixes
alot of bug hunting…
changes
scripting & ui
scripts can now actually interact with the UI system.
added bindings for things like:
- creating UI buttons, text, rects, and images
- finding UI elements
- destroying UI elements
these return wrapped objects with basic getters/setters for position, visibility, and button state
map workflow
spent a fair bit of time cleaning up the map editor flow.
- maps no longer get a fake default path on creation
- switching to the Map Editor tab now auto-creates a map (empty) if there isn’t one yet
-
mapFilePathnow stays project dir relative instead of randomly becoming absolute - tile materials are now shared properly instead of silently duplicating state
rendering & lifetime bugs
i’ve been doing alot of testing recently, so i found alot of bugs…
this was probably the biggest pain point.
- renderer submissions now keep materials and meshes alive for the frame instead of trusting the caller
- replaced the old
Shader::Default()singleton hack with a real fallback shader (internalshaders base) - fixed the lightmap quad so it keeps its own VAO and clears correctly when there are no lights
- fixed a
Texturemove bug that was double-deleting GL handles sometimes
editor polish
also cleaned up a bunch of editor behavior while I was in there.
- Ctrl+S now behaves correctly depending on whether editing a scene or a map
- scene loading now rebinds editor panels properly
- save/load dialogs now append file extensions automatically
- added more inline warnings in the inspector and panels (i.e if an entity has no material it will tell you it wont render)
and ive probably forgotten something else …
in summary ive just been testing out some UI/UX changed and hunting down bugs untill I feel it is ready to maybe start prearing some sort of demo :)