Popochiu v2.1.1
Popochiu 2.1.1 is more than your typical patch release. Alongside four solid bug fixes,
including a Godot 4.6 compatibility fix and a stubborn region-scaling issue, we've shipped
two features that have been on the roadmap since practically the beginning: automatic collision
polygon tracing for Character and Props, and a dedicated in-viewport gizmo for editing
polygons. Oh, and we're officially closing issue #10. Practically a founding member of this
project! We hope it enjoys its retirement.
Fixes
- The "moonwalk" caused by Anti-Glide animation desynchronizing character position after a teleport has been resolved: subsequent
walk_tocalls now start from the correct location. - Camera limits are now correctly computed from game resolution, fixing visual glitches with non-default Stretch mode and aspect configurations.
- Room state restore no longer fails on Godot 4.6: polygon and outline properties are now correctly converted between
ArrayandPackedVector2Array, preventing corrupted geometry or runtime errors when entering or loading rooms. - Exiting a scaling region now correctly resets the character's scale and walk speed, fixing a physics-frame race condition where the scaling would persist indefinitely after leaving the area.
Improvements
- Clickable props and hotspots can now auto-trace their interaction polygon from the sprite texture: a single button now traces the collider around non-transparent pixels, and the Aseprite importer now has an optional toggle to do it automatically at import time. - Thanks to @drbbgh for the actual logic of this feature.
- A dedicated gizmo for editing polygons is now available directly in the 2D viewport: add, move, and delete vertices on interaction polygons and walkable areas immediately and without leaving the scene. This is a huge quality-of-life improvement for game devs but it also remove a lot of very complex code to keep the old polygon editor working. Also, it paves the road to multi-polygon interaction areas, a feature that will come in a future release.
- Characters now have a
walk_speed_overrideproperty and areset_walk_speed()helper to make them rush or slow down at runtime without touching their base speed. - A new
stop_talking()method lets you cancel a character's current dialog line programmatically (and immediately). This won't exit an active dialog tree, just stop a runningsay()call (you can callexit_dialog()for that). - Region behavior can now be fine-tuned per character: new
ignore_region_scalingandignore_region_tintingflags let specific characters bypass region effects, whilescaling_adjust_speedcontrols whether walk speed is adjusted proportionally to scale. - Regions now expose a set of query functions:
get_characters(),get_markers(),has_character(), andhas_marker()let game scripts inspect what's currently inside any floor region. - A
.gdlintrcand an.editorconfighave been added to the addon folder, making it easier to lint GDScript and configure indentation in external editors. - Thanks to @idbrii.
Documentation
That's not new in 2.1.1 but, all public engine classes still ship with GDScript documentation
comments (##), meaning Godot's built-in help system can surface Popochiu's API directly in the
editor, no browser required. Just press F1.
Final Notes
This is a safe update from v2.1.0 and no migration steps are required.
If you were on Godot 4.6 and experiencing corrupted polygons or runtime errors when entering
rooms or loading saves, the fix in #502 addresses that directly, so you can remove any workarounds
you may have applied.