Commit Graph

1672 Commits

Author SHA1 Message Date
D8H 92e449558b Allow extensions to set different icons for behaviors and objects (#8472) 2026-04-02 20:14:19 +02:00
Clément Pasteau 790d6409cb Remove flagging the game as mobile on every build (#8465) 2026-04-01 10:09:14 +02:00
Florian Rival a22a8f569d Fix various issues and crashes when reloading/editing resoures in or outside the editor (#8455) 2026-03-31 10:57:03 +02:00
Florian Rival 950ad0df4c Refactor extension validation scanning to use common events traversal methods (#8448)
Only show in developer changelog
2026-03-27 15:07:05 +01:00
Gleb Volkov 9f9a26017d Extend Diagnostic Report to cover extension function events (#8438)
- Diagnostic Report previously only scanned layout (scene) events and external events for validation errors. This PR extends the report to also scan events inside extension functions - including top-level ("free") functions, behavior functions, and object functions - detecting missing instructions and invalid parameters.
- Store-installed extensions are excluded from the scan
- Disabled ("commented out") events and their sub-events are skipped everywhere, not just in extensions.
2026-03-27 12:55:29 +01:00
D8H cc71af5433 Fix a crash when installing an asset with buttons if some behaviors are missing (#8439) 2026-03-26 13:54:08 +01:00
D8H 63ffca8f77 Update the tree of functions in extensions editor with a new set of icons (#8424) 2026-03-23 15:24:29 +01:00
D8H c5259b6962 Fix embedded resource links when importing a GDO (#8419) 2026-03-20 15:44:40 +01:00
Florian Rival fd6e778a54 Fix potential crashes of the Objects panel (#8413) 2026-03-19 16:37:16 +01:00
D8H 2c8dc0921c Fix missing spine files when exporting GDO files (#8405) 2026-03-17 16:02:30 +01:00
Florian Rival 2b0b8b9b91 Improve context of UseAfterFreeError (#8406) 2026-03-17 16:00:41 +01:00
D8H 10878ca42d Fix setters being put in the root folder (#8399)
- Don't show in changelog
2026-03-16 17:46:10 +01:00
D8H a0a6d5a4eb Fix the displayed group of functions that are not in any folders (#8395) 2026-03-16 12:50:14 +01:00
Florian Rival efa780179e Add memory tracking to additional container classes (#8392)
Only show in developer changelog
2026-03-16 11:44:23 +01:00
D8H 9d0d86e6fb Fix missing extension dependencies in GDO files (#8372)
Also fix an exception when importing a GDO file with an extension without a valid version number
2026-03-11 17:27:59 +01:00
D8H f06ad21cc4 Fix number formatting to use 16 digits instead of 17 (#8373) 2026-03-11 16:20:26 +01:00
Florian Rival deba07f103 Add "MemoryTracked" classes and "UseAfterFreeError" (#8359)
- This will track alive/dead instances of some C++ classes and will throw a JS error in case of usage of a already destroyed object from JavaScript. This should avoid crashing/corrupting the wasm/C++ side by calling a method on an object already destroyed. Instead the exception stays on JS side, without reaching the C++ implementation.

Only show in developer changelog
2026-03-09 14:52:56 +01:00
Florian Rival f1a182b643 Extract instruction name parsing into reusable utility method (#8362)
Don't show in changelog
2026-03-09 13:53:51 +01:00
D8H 0d3b3c3aca Add support for folders to organize functions in the extension editor (#8357) 2026-03-09 11:57:52 +01:00
ViktorVovk 68d87da97b Add "internal instruction name" search criterion in Events Sheet search panel (#8356)
Only show in developer changelog
2026-03-09 09:26:14 +01:00
Florian Rival 468ce851da Fix variable of objects used in events broken after opening the object editor 2026-03-05 12:01:57 +01:00
Florian Rival 48ee325034 Persist properties panel scroll position for instances and objects (#8337) 2026-02-28 12:55:30 +01:00
D8H 50353ab676 Allow to import asset pack files (GDO) (#8296) 2026-02-26 17:16:47 +01:00
Florian Rival dc62aea8d8 Add support for ordering For Each by an expression, with optional limit (#8319)
- For advanced use cases where it's important to run events on each instance of an object with an ordering, the For Each can now have an ordering: an expression can be written and will be evaluated for each instance separately. The For Each will then execute for each instance in the order of the result of the expression.
- It's possible to change the direction (ascending or descending)
- It's also possible to give a limit (for example, 1 will allow to pick just the instance with the highest/lowest value for the expression).
- Examples are provided in the UI for common use cases (maximum value of a variable, health points, ammo, distance to another object...)
2026-02-25 10:37:59 +01:00
D8H af5204af31 Fix property group wrongly set when dragging a folder to the root (#8312) 2026-02-23 12:50:59 +01:00
Florian Rival 9934457b39 Add a short description for all extensions and dimension field (2D, 3D, 2D/3D or n/a) (#8303)
Only show in developer changelog
2026-02-21 13:10:41 +01:00
Florian Rival abe44723ba Fix else events not working properly when after a disabled event or comment (#8293)
- Also fix generated code for events (and Else) not working with 'use strict' (only show in developer changelog)
- Also improve the UI to not show horizontal bars for disabled events and comments
2026-02-19 17:14:24 +01:00
Aurélien Vivet 13710a2dc9 Improve resource tab with shortcuts (#8115)
- Rename, Delete, navigate with arrows
- Also fix preview blinking with wrong dimensions for a frame
2026-02-19 17:12:41 +01:00
Gleb Volkov a0d4bfbe72 Improve the Diagnostic Report (#8090)
- Add a shortcut (**F7** by default) and command in the command palette to open diagnostic report at any time
- The report now scans project for missing actions/conditions/expressions from extensions and reports invalid parameters (shown with red underline in Events Sheet)
- Click on error location to navigate directly to the event
2026-02-16 14:33:46 +01:00
Florian Rival 6bb56c6e5b Add support for local variables for loop events (While, Repeat, For Each, For Each Child Variable) and loop counter variable (#8273)
- "For Each Child Variable" now also properly support choosing local variables for the variable to iterate on, and for the variable where to store the child and the optional variable where to store the name.
- The loop counter starts from 0 and is automatically increased by 1 each time the event is repeated.
2026-02-15 16:14:04 +01:00
danvervlad f1401b33c7 Add support for marking extension functions as deprecated, with visual warnings/explanations (#8156) 2026-02-12 19:37:55 +01:00
Gleb Volkov dd40a997d9 Add support for setting a custom help URL for extension actions/conditions/expressions (#8103)
Only show in developer changelog
2026-02-10 16:04:38 +01:00
ViktorVovk 12b7ed5c26 Add support for skin management in Spine objects (#8229) 2026-02-10 15:54:59 +01:00
D8H deb802cfec Allow to override behavior properties on object instances (#8171)
* For now, this is limited to instances inside custom objects. This will be made available in the future for all instances in scenes if this works well.
2026-02-09 16:21:24 +01:00
Florian Rival 17443587b9 Add Else event (#8216)
* This is not finished yet:
  - Documentation needs to be written.
  - Menu item (and shortcut?) to quickly toggle between a standard event and a else event must be added so it's easy to switch from one to the other.
  - Design must be adapted to make it clearer that the else event is "linked" to the previous one and is not run if the previous event is run.
2026-02-07 17:15:01 +01:00
D8H 080fc35c14 Fix property value loss when renaming a property in the extension editor (#8211) 2026-02-05 19:30:53 +01:00
Florian Rival 813bf812ce Change action internal name "ChangePlan" to "SetZOrder" (#8207)
Only show in developer changelog
2026-02-03 17:08:08 +01:00
Florian Rival 7b7d36459b Refine 'Trigger Once' condition description
Only show in developer changelog
2026-01-30 16:27:47 +01:00
Clément Pasteau a55131e57e Fix typo choice propertyDescriptior (#8193)
Do not show in changelog
2026-01-30 11:14:35 +01:00
Florian Rival ca27c7a730 Fix regression when rendering legacy custom objects using anchor
Don't show in changelog
2026-01-29 20:33:07 +01:00
D8H 74a60f6a12 Remove a failing test on float printing since we only use double (#8181) 2026-01-28 10:40:16 +01:00
D8H 26cbf36263 Allow extensions to give choices between a set of numbers (#8159) 2026-01-22 11:33:53 +01:00
Florian Rival c1f4ebf3f6 Change default scene background color to a less dull color 2026-01-20 11:01:04 +01:00
D8H 1cbc1de05a Fix simple tilemap object being in the wrong category (#8139) 2026-01-17 19:48:03 +01:00
D8H 85c62cbac7 Improve the list of objects, in the new object dialog, with objects provided by extensions (#8126)
- Extensions, behaviors and objects lists now follow the same layout
- Assets are suggested for most custom objects provided by extensions
- Also fix private objects not appearing in the list from within the
extension
2026-01-15 14:07:20 +01:00
Florian Rival ad31f31606 Rename French action and condition internal names to English (#8124)
Only show in developer changelog
2026-01-13 15:39:38 +01:00
D8H 494e330787 Display properties of objects/behaviors in the extension editor in a tree (#8095)
- This allows to easily visualize, group and move properties around.
- Browsing properties is faster and clearer.
2026-01-09 18:35:33 +01:00
D8H f60574c154 Fix variable or property initial values wrongly rounded to 6 digits (#8113) 2026-01-08 16:34:54 +01:00
Florian Rival ca5bb93636 Speed up cloud project saves (#8083) 2025-12-23 16:47:49 +01:00
Florian Rival a9b5f282db Limit impact of potential memory corruption when serializing instructions 2025-12-19 10:57:36 +01:00