Commit Graph

40 Commits

Author SHA1 Message Date
Clément Pasteau 953ac79213 Fix PointAttachmentRotationWorld for Spine (#8802) 2026-07-03 16:42:56 +02:00
Clément Pasteau b584df4ce8 Fix Spine upgrade wrongly breaking require calls (#8730)
Only show in developer changelog
2026-06-17 11:26:18 +02:00
Gleb Volkov f6872bd7a1 Migrate Spine extension to @esotericsoftware/spine-pixi-v7 (#8595)
- Replace the third-party `pixi-spine@4.0.4` with the official Esoteric Software runtime for PixiJS v7 (`@esotericsoftware/spine-pixi-v7@4.2.116`).
- The new runtime only fully supports skeletons exported from **Spine 4.2**. Older exports (e.g. 4.0) may partially render but mesh deformations won't work due to a Spine JSON schema change (`deform` → `attachments`).
2026-06-16 10:23:52 +02:00
Florian Rival 45ac7aaa3d Fix Spine objects not properly loading in the editor anymore (#8476)
- Also fix hot reloading of Spine objects in preview and the 3D editor
2026-04-02 14:45:55 +02: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 f1ff3d2e69 Fix tests and types
Don't show in changelog
2026-02-10 16:19:52 +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
D8H 1cbc1de05a Fix simple tilemap object being in the wrong category (#8139) 2026-01-17 19:48:03 +01:00
Florian Rival 8df005e30b Fix AI agent tool version + fix formatting
Don't show in changelog
2026-01-15 15:40:33 +01:00
ViktorVovk 4080bc5f1b Add point attachment rotation and scale conditions/expressions for Spine (#8125)
Co-authored-by: Viktor Vovk <vvovk@playtika.com>
2026-01-15 14:51:47 +01:00
ViktorVovk 1d5e06ca35 Fix loading of resources not properly retried when a resource can't be loaded (for example: network error) (#8060)
* Typically, when resources are downloaded from a CDN, then sometimes, for
various reasons, a request for a resource may fail. In such cases, it’s
very useful to have retry for avoiding intermittent issues.
2026-01-06 12:37:04 +01:00
Florian Rival f7a821f980 Add categories to classes for game engine documentation (#8076) 2025-12-18 17:12:07 +01:00
Florian Rival 3846a1553b Experimental in-game editor (#7974)
Co-authored-by: Davy Hélard <davy.helard@gmail.com>

Don't show in changelog
2025-11-11 18:22:37 +01:00
D8H 59f94af23f Display a placeholder when the Spine resource is invalid (#7966) 2025-11-06 19:10:54 +01:00
Florian Rival c7f8a7a2eb Fix formatting 2025-10-05 23:44:53 +02:00
danvervlad 77f821250a Add internal flag allowing to disable entirely hitboxes of Spine objects to avoid unnecessary recomputations (#7834)
Only show in developer changelog
2025-10-03 18:30:37 +02:00
Clément Pasteau e174136fb4 New Save & Load built-in actions (#7811)
* New actions are available to save & load the game state, making Saving & Loading as easy as adding 1 action to your game!
* While it will work in most cases, it has a few limitations and hasn't been thoroughly tested on all types of objects/behaviors and games, so it is for the moment tagged as **Experimental** while we gather feedback and improve it
* Check out the wiki for more info: https://wiki.gdevelop.io/gdevelop5/all-features/save-state
2025-09-29 15:38:37 +02:00
D8H 0cbd6e2fe9 Fix cached materials not being cleared when unloading resources (#7780) 2025-08-11 15:50:22 +02:00
D8H d16b3e8154 Fix multiplayer synchronization of custom object positions (#7715)
---------

Co-authored-by: Clément Pasteau <4895034+ClementPasteau@users.noreply.github.com>
2025-07-15 13:38:23 +02:00
ViktorVovk 5c71a4da56 Allow to unload scene resources when a scene is exited (#7381)
* This adds two new settings, available in the Project Properties and in the Scene Properties dialog, to allow to specify the strategy for preloading resources of the scenes and unloading them. By default, a game will preload in background the resources of all scenes. It will never unload these resources (so scene switching is fast).
* You can now choose to unload the resources of a scene when the scene is left using the "Resources unloading" field. If the scene is launched again later, it will load its resources again.
* You can also choose to change the preloading to disable it for all scenes (by modifying the setting in the project properties) or enable it/disable it on a scene by scene basis. This can be useful for large or modular games where you anticipate the player to only play some scenes, or if you want to reduce the resources that needs to be loaded on a web game.
2025-07-02 16:09:52 +02:00
Clément Pasteau 98b3687157 Fix cmake version for mac builds (#7531)
Do not show in changelog
2025-04-04 11:20:20 +02:00
D8H 187018cdd3 [Spine] Fix "Animation finished" condition (#7464) 2025-03-10 17:57:27 +01:00
D8H 752d047464 Upgrade GDJS to Prettier 3.4.2 (#7398)
- Don't show in changelog
2025-02-12 18:50:02 +01:00
D8H 7a21f9533e Upgrade to TypeScript 5.4.5 (#7394)
- Don't show in changelog
2025-02-12 17:51:36 +01:00
Clément Pasteau 03eca4de4b Upgrade pixi to 7.4.2 (#7190) 2025-02-11 14:20:59 +01:00
danvervlad 1172326ae0 Add "dispose" method to RuntimeGame and various classes (#7118)
* This allows to fully release resources, textures and anything else that is linked to a gdjs.RuntimeGame. This can be useful if multiple games must be loaded/unloaded/changed in a single web page.

Only show in developer changelog
2024-11-12 17:19:50 +01:00
Florian Rival e7decc7b92 Fix silent exceptions when resource loading finished after an instance was reset/removed (#7054)
Only show in developer changelog
2024-10-15 12:39:20 +02:00
Florian Rival 43f5bd1c0e Allow to edit object properties, behaviors, variables and effects directly from the properties panel (#6898)
* When an object is selected (or when "Edit object" button is clicked in the properties panel after choosing an instance), the properties panel will show the properties of the object.
* This allows for fast edition of most elements of an object: appearance, properties, but also behaviors, variables and effects. Most workflow and iterations on your game should be faster, from adapting the appearance of a text to tweaking behaviors and updating the preview to check the result in realtime.
2024-09-27 10:56:39 +02:00
Clément Pasteau dc45f3dae5 Allow changing Opacity & Flip directly in Instance Properties Panel (#6935)
* This allows playing around with instances directly on the canvas instead of relying on the actions to flip or change opacity and needing to start a preview
2024-09-13 13:39:03 +02:00
Vladyslav Pohorielov 505debd60c Add expressions to get Spine point attachments positions (#6907) 2024-09-02 10:35:30 +02:00
D8H 4b70653a0b Add animation autocompletion for object groups (#6817) 2024-07-31 10:19:31 +02:00
Florian Rival a51c223c9c Add experimental, work-in-progress visual editor for custom objects (aka "prefabs"/"templates") (#6699)
* Still to do: 
  * Properly handle effects (disable 3D effects) for layers
  * Handle hot reloading properly
  * Avoid duplicating the configuration of the custom object inside each object created from it. Instead, only store the modified values.
  * Add a "Extract as a custom object ("prefab")" when selecting instances in a scene.
  * Add a dialog to give choice between 2D or 3D object when creating one.
  * Make sure "behavior shared data" are properly handled (physics, pathfinding...)
  * Check if we need to give an expression to translate coordinates from the parent to the local custom object.
  * Ensure a deleted custom object does not break the editor

Co-authored-by: Davy Hélard <davy.helard@gmail.com>
2024-07-11 11:27:34 +02:00
Florian Rival e92d8496ac Add missing Spine Runtime license agreement and link to Spine website (#6701) 2024-06-21 18:18:03 +02:00
Clément Pasteau 410fecf715 Multiplayer improvements (#6676)
* An object changing layer during the game is now properly moved to the layer on the other players games
* Video object can be synced as well
* Pathfinding behavior is now properly synced, allowing a smooth prediction on other players games
* Spine object is now synced as well
2024-06-18 16:52:41 +02:00
D8H 7d8afef1ad Fix collision mask of rotated Spine objects (#6482)
- Fixes rotation of Spine objects in the editor.
2024-03-27 16:35:55 +01:00
Arthur Pacaud (arthuro555) 31ef3fec58 Add TypeScript type checking to JsExtension.js files (#6321) 2024-03-09 17:22:12 +01:00
Vladyslav Pohorielov 08dfb4d36b Include PixiJS Spine pre-built files as part of the extension, like other extensions (#6340)
Only show in developer changelog
2024-03-05 15:28:23 +01:00
Vladyslav Pohorielov c25803c122 Fix Spine resources not loaded properly in games in the web-app version of GDevelop (#6416) 2024-03-04 16:03:48 +01:00
Vladyslav Pohorielov d0005ba2cb Add support for Spine objects (2D skeletal animation) (#5927)
* This allows to use animatable 2D objects created with Spine (purchase a licence on [their website](https://esotericsoftware.com/) if you're interested).
* 2D skeletal animation allows for very smooth animations, and keep resource usage low compared to animations made of frames like Sprite objects. It's perfect for 2D games and can be used for animated characters, avatars, UI elements.
* Many thanks to @f0nar and @LousyMolars for their work on this new feature and associated game examples!

---------

Co-authored-by: Vladyslav Pohorielov <vpohorielov@playtika.com>
Co-authored-by: Gleb Volkov <glebusheg@gmail.com>
Co-authored-by: Florian Rival <Florian.rival@gmail.com>
Co-authored-by: Davy Hélard <davy.helard@gmail.com>
2024-01-17 18:19:08 +01:00