Fixes most of the bugs I could find in the Level Designer after the 4.1 merge. Since the LD didn't run in build 0.1.6.alpha, I had no idea what was from 4.1 or not--so I just fixed everything I ran across.
Changes include:
Comment, typehint, and name-clarify everything I touch, as usual.
UI refactors to get everything working again, and hopefully more future-proof too.
Several LD-exclusive scripts were moved into the LD script folder.
Item panel's scroll area was changed to use a Godot native ScrollArea node. My eventual plan is to switch many LD widgets to native Godot nodes, but making the switch for this one actually fixed bugs--so I did it now instead of waiting for next PR. Note that because formatting graphics for the new system is outside the scope of this PR, the new scrollbar still uses Godot's built-in theme.
Now all items can be added without crashing on play.
Rotating blocks unexpectedly now show up in the items list. (They have no icon and can't be placed, but they do show up!)
The "Open Level" dialog now acts like an open dialog instead of a save dialog. Before, selecting a level would confirm overwrite before it could open it!
The glow shader was substantially rewritten to avoid deforming at high outline thicknesses. This change has had knock-on effects throughout the project; only most of the bugs introduced have been fixed thus far.
Fixed a bug where the LD music would jump to near-silent at the start of fading out.
To do before review:
[x] As mentioned earlier, one bug remains in the glow shader...the pause menu's shine icon has an outline which extends too far on two sides. Going to deal with this separately, as #289.
[x] In addition, item selection still needs to account for the new glow shader. Currently, selecting items from multiple atlases will cause some selected objects to bug out or even become invisible.
[x] Is Hermes meant to animate while moving forwards? (EDIT: Shima says no, only when turning. This is the current behavior, so we're good.)
[x] I've been keeping my to-do list in a text file at the project's root. Best to delete that before we merge.
Out of scope for this PR:
The serializer's condition has improved, but loading is still broken in multiple cases. We agreed on Discord that it would be better to build a new, more maintainable serializer than to fix the current one. That's a project unto itself.
The item pane scrollbar still uses the Godot default theme. Graphics changes are out of scope for this PR, and scrollbars in particular will require custom draw code to look the same as they did before.
Issue(s)
No GitHub issues, but these bugfixes are needed for LD work to begin in earnest.
Description of changes
Fixes most of the bugs I could find in the Level Designer after the 4.1 merge. Since the LD didn't run in build 0.1.6.alpha, I had no idea what was from 4.1 or not--so I just fixed everything I ran across.
Changes include:
To do before review:
As mentioned earlier, one bug remains in the glow shader...the pause menu's shine icon has an outline which extends too far on two sides.Going to deal with this separately, as #289.Out of scope for this PR:
Issue(s)
No GitHub issues, but these bugfixes are needed for LD work to begin in earnest.