Version 0.8.0
Released July 18th, 2025
Breaking Changes
- Rewritten
uimodule:- Base implementation under
Element. - Reintroduction to
Anchor- allowing anchored transform data to make things easier. - Parent/child changes dispatched down the chain - if you change the transform of the parent, all children will change.
- Transform (position and size) data is found under the
boundsattribute. - OpenGL code is no longer maintained:
- Due to a vast amount of OpenGL contexts made by developers, it's impossible to make one renderer that works for everyone.
- We tried with
y_flippedin the past, but it didn't work effectively enough to make this reasonable. - To utilize OpenGL rendering, UI elements'
render_openglmethod must be overwritten with your implementation of OpenGL render code. - All necessary objects needed to render with OpenGL should be exposed per
UIelement, and should be updated every time the content of theUIelement is updated.
- All tweening-related functionality is localized to each UI object.
- Only
FrameandTextwill be maintained. All other implementations likeImage,Button,Checkbox, etc. may be added in the future.
- Base implementation under
- All
on_joy_...methods inScenehave been renamed toon_joystick_...to maintain readability. Scene.on_tweenhas been removed as eachUIelement has it's own tweening system and callback.
Additions
- New
versionvariable underwamemodule for dynamic/static version checking. - Allowed to change fixed update interval during gameloop (if required).
- New
pluginmodule:- Allows different developers to share code and run them in different engine instances.
- For example, if one developer makes an FPS display that other developers want to use, other developers can just import the code - just drag and drop.
- Plugins can be stored on our
Wame-PluginsGitHub repository. To add to this list, contact us in our Discord. - Documentation page added for making plugins as well.
- New logging system:
Enginehas a built-in logger, but isn't exposed to it's public API.- Each
Pluginwill integrate with theEngine's logger as a separate source. - Since
printcalls are expensive and timely in game loops, each log is queued and printed in a separate thread.
Fixes
Engine.set_sceneattempted todelthe current scene when switching but had no deleter.Scene.on_key_pressingevent listener dispatched events toon_key_pressedrather thanon_key_pressing.Scene.on_key_pressingevent listener was dispatching scan codes rather than key codes.