Releases: phosxd/PowerKey
1.5.1
1.5.0
A bunch of useful new features!
Highlights:
Translations:
- Added a "Translations" system that translates properties of every Node in the project at run-time. Offers a functionality much more like the standard Godot translation system, while keeping all the advantages of PowerKey.
PKExpressions Editor Dropdown:
- Added "Store Parsed" option. Enabling it will make it so the expressions do not have to be parsed during run-time, however it may inflate your scene file size a little as it needs to store the parsed data on the Node.
- Added "Builder" button. When pressed, it shows a pop-up menu with a UI that lets you build a PKExpression without needing to know the syntax. When you press "Done", it will add the expression to a new line in the Text editor.
PKExpression Engine:
- Added "Eval" PKExp type. Allows user to safely execute Godot Expressions to do mathematical operations, value definition, and even safe function calls.
- Now highlights PKExp syntax in the PKExp Editor. Uses GDScript highlighting for segments of "Execute" & "Eval" PKExp types.
Other Changes:
PKExpression Engine:
- Can now specify an optional "frequency" parameter for a "Link" expression to set how frequently it updates.
- In a "Link" or "Assign" PKExpression, you can now access properties and elements from nearly every built-in type including arrays. Instead of only being to access the properties of a Dictionary or Object.
- Now throws error when invalid number of parameters used for that expression type.
- Now throws error when parsing an empty line.
Stress Test:
- Now shows
Parse Time&Job Timeinformation.
Example Scene:
- Renamed labels to be more descriptive.
- Added "Slow Counter" label to utilize "frequency" parameter for "Link" PKExps.
- Use "Eval" PKExp type instead of "Exeecute" for the "Random Number" label.
Other:
- Rewrote entire "PKExpressions" guide page to be more descriptive & helpful.
- Fixed the PKExps Editor Dropdown label & the "PowerKey" tab icon not being scaled with the Editor scale. #1 .
1.4.2
General QOL changes, refactoring & fixes.
- Now says at which character the error was found, when parsing a PKExpression.
- Merged the "About" & "Getting Started" guide pages.
- Switched to using
StringNameinstead ofStringfor "PKExpressions" metadata on Nodes. For compatibility, if the metadata is aStringthen it is still accepted, then converted intoStringName. - Refactored some code, to make future changes/additions easier.
- Various parsing changes for optimization.
- Various fixes.
Relevant fixes & optimizations. Update recommended.
NOTE: This release introduced a new bug where the error message for when a PKExpression accesses properties from an unsupported built-in type would not be formatted correctly. Not a huge issue so I wont re-release this just for a tiny fix, just be aware.
1.4.1
Huge optimization improvements & some general improvements.
- Both "Link" & "Execute" expression types are now MUCH more performant overall. This is due to many different changes made with how they are processed.
- Implemented simpler & more optimized method of hooking & evaluating Nodes during runtime.
- Added expression caching. Helps with repetitive expressions.
- Smarter config file loading. No longer resets whole file when a value is missing.
- "Assign" & "Link" PKExpressions are now allowed to access properties from a
Vector2, if the property exists. - Fixed various issues.
Important optimizations. Update highly recommended.
1.4.0
- Overhauled the Stress Test scene. More options available.
- Fixed huge memory leak when processing "Execute" or "Link" PKExpressions. Now also uses far less RAM in general.
- Added descriptive PKExpression parsing errors, also show in the Text Editor.
- Added comment support for PKExpression Text Editor.
- Fixed many other issues.
Fixes very important issues, update highly recommended.
1.3.0
- Added experimental "Link" PKExpression type.
- Added "Stress Test" scene.
- Parsing improvements.
- Fixed various issues.
Update recommended.
NOTE: Plug-in version in "plugin.cfg" states as 1.2.0, which is incorrect.
ISSUE: Giant memory leak when using "Link" & "Execute" expression types. This is going to be fixed in version 1.4.0.
1.2.0
- Added in-editor PKExpression syntax checking.
- Added "Print any PKExpression processed" debug option in Configuration menu.
- Various fixes.
Warning:
(Fixed in v1.3.0) Nodes instantiated after initial launch of project are not evaluated, so they will not automatically process their PKExpressions.