- 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.
* This adds support for configurable toolbar buttons in the GDevelop desktop editor that execute npm scripts from the project's package.json in external terminal windows. Buttons are defined in the `gdevelop-settings.yaml` file in the project directory.
For example, create a `gdevelop-settings.yaml` in your project root:
```
toolbarButtons:
- name: "Build"
icon: "🔨"
npmScript: "build"
- name: "Test"
icon: "🧪"
npmScript: "test"
```
* This was previously causing issues of GDevelop being stuck trying to log in, opening a new window should now open a completely different GDevelop that can be autonomous. (useful to open multiple projects at the same time for instance)
* 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.