Commit Graph

150 Commits

Author SHA1 Message Date
D8H e2de846279 Allow to load and unload objects from other scenes (#8592)
- Also fix manually loaded objects not being unload with their scene
2026-05-14 10:56:19 +02:00
D8H 0b3f8e7205 Improve types for TypeScript 6 (#8591)
Only show in developer changelog
2026-05-13 12:07:46 +02:00
D8H 8e50ddefe4 Allow to configure object resources to be loaded independently from the scene (#8514)
- This is an advanced, experimental feature which is subject to changes. It's in most cases not useful, unless you have a large game or low end devices for which controlling memory usage is important. It's mostly useful to delay loading of large custom objects.
- Objects can be configured so that its resources are not loaded when the scene is loaded. Instead, you can use an action to manually load the resources used by it. When the loading is done (this can be checked using a condition), the object can then be created.
  Be careful: if an object assets are not loaded, it will be broken when displayed on screen.
2026-05-04 10:45:51 +02:00
D8H f7012ebfd6 Fix created child objects instances in custom objects being picked twice (#8559) 2026-05-04 09:37:51 +02:00
Florian Rival f7a821f980 Add categories to classes for game engine documentation (#8076) 2025-12-18 17:12:07 +01:00
Florian Rival 4d819442fa Fix broken 'Pick nearest' action 2025-12-01 14:00:37 +01:00
Florian Rival 3c0bb83032 Add "Pick Nearest" and "Rotate toward object" action (#7883) 2025-10-07 11:59:07 +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
Florian Rival 5e3dfb0e9c Add condition to check if a key was just pressed (#7808) 2025-09-04 17:32:25 +02:00
D8H ee435f7081 Fix the tint action of Sprite to handle floating point color components (#7772) 2025-08-08 15:57:19 +02:00
D8H c338e16e4f Fix the "cursor is on" condition when used on custom object parent object (#7712) 2025-07-14 17:46:11 +02:00
Arthur Pacaud (arthuro555) bbe2d1854e Update "Pick all instances" to avoid crashes when a lot of objects are picked (#7439) 2025-07-03 23:29:44 +02:00
D8H a571445e0e Allow custom objects to self-destruct (#7605) 2025-05-12 14:03:21 +02:00
AlexandreS b9a7786ab0 Add an action to join a lobby in one-click (#7352) 2025-02-06 18:04:41 +01:00
Florian Rival 5261f5a431 Remove logs for audio events when manipulating a sound/music on an unused channel (#7260) 2024-12-29 15:50:05 +01:00
D8H 484a0daec4 Show the tolerance in the sentence of "Is object turned toward" condition (#7022) 2024-10-10 16:25:38 +02:00
D8H 2c3dbbbbde Fix an exception when a touch is ended and then started in the same frame at runtime (#7025) 2024-10-08 11:45:40 +02:00
D8H 886fdb464e Fix a regression on the 1st scene loading (#6630)
- Don't show in changelog
2024-06-06 13:15:59 +02:00
D8H 75bfa5cb45 Unify variable instructions and handle local variables (#6459)
- Global or scene variables can be used with a unique action and condition.
- Object variables can be used with a unique action and condition.
- Variables need to be declared following the same logic as the new expression syntax.
- Local variable can be declared on events
- Extensions have their own variables
- Show a diagnostic report when a preview is launched and there are missing scene variables, object variables or behaviors.
  - This is especially useful if external events are shared between several scenes.
2024-05-20 23:14:07 +02:00
D8H 3ae5db2a49 Fix scale and camera zoom tweens from setting NaN when the initial value was 0 (#6178) 2024-01-15 14:44:10 +01:00
D8H 1f852648ef Make games launch faster by loading resources in the background (#5572)
* Only the first scene and global objects resources (images, sounds, 3D models etc...) will be downloaded during launch of the game. This usually allows for a very fast loading time.
* Other scenes resources will continue to load in the background. It has no impact on the game performance as this is done on other threads by the browser or the engine running the game.
* Scenes are loaded in the order they are listed in the project manager.
* You can also use actions and expressions to prioritize a scene (if it's known that a level will be needed soon for example) or read the current loading progress. This allows to create lightweight scenes that can act as custom loading screens. Otherwise, the launch loading screen will be shown if a scene is still loading when launched.
* Read more about this on https://wiki.gdevelop.io/gdevelop5/all-features/resources-loading/.
2023-11-22 22:51:24 +01:00
Florian Rival 0a0811e355 Fix crash with 'Put the object around another' action when target object was not existing (#5931) 2023-11-21 17:11:37 +01:00
D8H 9a42ae11ad Tween extension rework (#5710)
Fix bugs and change implementation for a better maintainability.
2023-10-19 11:24:32 +02:00
AlexandreS 9298026179 Add possibility to set Z offset when creating instances from external layout (#5704) 2023-10-10 09:40:10 +02:00
D8H 9f4b12ce8a Add missing text parameter types for event-based extensions (#5689)
* Replace "effect parameter" with "effect property" in the UI and documentation.
* Inline property fields for effect name and property.
2023-09-27 11:05:19 +02:00
Florian Rival 0dc513317c Revert "Update createObjectsFrom and createObjectsFromExternalLayout to return a list of objects that it creates. (#5658)" (#5660)
This reverts commit 3e85242165.
2023-09-15 14:46:33 +02:00
Dawid Fatyga 3e85242165 Update createObjectsFrom and createObjectsFromExternalLayout to return a list of objects that it creates. (#5658)
Only show in developer changelog
2023-09-15 14:45:25 +02:00
D8H 255ef1d8ef Add an antialising setting for 3D (#5381) 2023-06-08 09:57:34 +02:00
Aurélien Vivet 714a9f1198 Add a condition to check if a scene exists (#5297) 2023-05-19 09:24:15 +02:00
supertree-wook 0a03cbb89c Add support for mouse "Forward" and "Back" buttons (#5278) 2023-05-13 16:52:30 +02:00
D8H 94045aec91 Fix typo in comments and message strings (thanks @st-Wook!) (#5262)
Co-authored-by: supertree-wook <phk09242@supertree.co>
2023-04-28 11:58:51 +02:00
D8H e52faae332 Test the create action picking (#5178)
* Useful for dev only
2023-03-31 13:27:34 +02:00
Clément Pasteau fbb23f86cd Rename and add more actions, conditions and expressions to manipulate array variables (#4904) 2023-02-08 16:53:57 +01:00
Arthur Pacaud b1039c6146 Add support for asynchronous actions in extensions in the editor (#4819)
* By marking an action as asynchronous, the actions and sub-events following it will wait for it to end. This is similar to the "Wait X seconds" action.
* Don't forget to use the action *"End asynchronous function"* in the events to mark the end of the action. Otherwise, the action will never end.
2023-02-02 12:30:17 +01:00
D8H 4f4b2b7901 Replace touch conditions to also handle the mouse (#4785)
* Add expressions to get the mouse cursor position without touches moving it.
2023-01-17 15:27:58 +01:00
D8H 86635e4f66 Add a condition to check if the game has just resumed (#4824)
* It can be useful to display a pause menu when the player come back to the game.
2023-01-16 13:34:38 +01:00
Florian Rival 3213985a81 Add two expressions to replace one or all occurrences of a text in another (#4809)
* `StrReplaceOne` can be used to replace one occurrence of a "pattern" in a text by another.
* `StrReplaceAll` can be used to replace all occurrences of a "pattern" in a text by another.
2023-01-10 12:39:59 +01:00
AlexandreS 5d3f1a502c Fix release 152 issues (#4683)
Do not show in changelog
2022-12-14 14:47:56 +01:00
AlexandreS 237786b0a0 Add lerp angle expression which takes the shortest path between two angles (#4664)
Co-authored-by: Tristan Rhodes <tristan.rhodes@gmail.com>
2022-12-12 11:37:43 +01:00
Clément Pasteau 473b16bbc1 Introduce no-unused-vars ts rule for GDJS & Extensions (#4469)
Do not show in changelog
2022-10-31 14:52:03 +01:00
D8H 80cb6d697c Handle custom objects at runtime (#4294)
* Don't show in changelog
2022-10-18 13:36:48 +02:00
AlexandreS 1b8510655e Revert "Add expression and condition to get highest z order of a layer (#4346)" (#4359)
Don't show in changelog
2022-10-06 10:34:41 +02:00
AlexandreS 79d6281061 Add expression and condition to get highest z order of a layer (#4346) 2022-10-04 14:31:49 +02:00
Aurélien Vivet 35084de4f6 Add a new expression: Pi number (3.1415...) (#4304) 2022-09-16 10:30:46 +02:00
Florian Rival 21b525ab98 Fix raycast condition not working properly on objects with multiple hitboxes (#4186) 2022-08-09 11:21:57 +02:00
Arthur Pacaud 2124133b4a Add an option to wait for a network request action to end before running other actions (#4023)
* In the future, there will be other actions where you can optionally wait for their tasks to be finished before running the rest of the actions. It makes logic easier and more straightforward to express in events.
* This is similar to the Wait action, except that it's optional.
2022-07-05 23:58:08 +02:00
Fannie Yan 5bdc9769df Add camera borders expressions and conditions (#3999)
* Add CameraBorderLeft, CameraBorderRight, CameraBorderTop and CameraBorderBottom expressions and conditions
* Add CameraCenterX and CameraCenterY expressions and hide CameraX and CameraY expressions
2022-06-08 10:01:45 +02:00
AlexandreS 55a6306f05 Fix range of volume on fade sound/music action
* ⚠️ This action was introduced with a buggy range (0 to 1 instead of 0 to 100). If you happen to use it, please update the range of volume used once the GDevelop new version is installed
2022-05-16 17:00:02 +02:00
Florian Rival 7cdc92c776 Introduce the "Wait X seconds" action (#3852)
* This action allow to wait for a few seconds before continuing to run the next actions and sub-events.
* It is perfect to create cut scenes, advanced logic or just run things progressively without relying on timers. In a lot of cases, it's simpler and faster to use this new action.
* The action remember the picked objects: it works like an usual event, but run the actions (and sub-events) a bit later in time. While the action wait, other events continue to run as usual.
* Thanks to @arthuro555 for the ground work and follow up on this new feature.

Only show the rest in developer changelog:

* Add support for asynchronous actions (including for objects).
* Add exhaustive test cases for asynchronous actions. 

Co-authored-by: Arthur Pacaud <arthur.pacaud@hotmail.fr>
2022-05-02 19:44:15 +02:00
Oxey405 cdddcafa68 Add an action to fade a sound or a music on a channel to a new volume (#3724) 2022-04-28 11:17:46 +02:00