48 Commits

Author SHA1 Message Date
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
D8H 1cbc1de05a Fix simple tilemap object being in the wrong category (#8139) 2026-01-17 19:48:03 +01: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
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
Arthur Pacaud (arthuro555) 31ef3fec58 Add TypeScript type checking to JsExtension.js files (#6321) 2024-03-09 17:22:12 +01:00
Clément Pasteau a377467031 Revert "Type JsExtensions files with typescript" (#6220)
Don't show in changelog
2024-01-18 16:01:28 +01:00
Arthur Pacaud (arthuro555) ad18eab4ae Type JsExtension.js files with TypeScript (#6200)
* Also improve typing of the C++ Core classes in TypeScript.

Only show in developer changelog
2024-01-18 09:53:24 +01:00
AlexandreS b180f5032e Fix getThumbanil static methods (#5902)
Don't show in changelog
2023-11-13 13:59:04 +01:00
D8H 4f98ffa9ab Fix memory some memory leaks in the scene editor (#5853) 2023-11-10 16:14:54 +01:00
D8H c169c5037a Use instance default size as default custom size (#5334) 2023-05-23 09:41:43 +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
AlexandreS 9716ff14ed Fix: Use correct default values for effects with color parameters (#4891) 2023-02-03 12:06:26 +01:00
D8H 3aa636861c Custom objects take the icon of one of their sprite child (#4316)
* Don't show in changelogs.
2022-09-27 16:19:12 +02:00
D8H b8e9bc801a Add a properties editor for custom objects (#4227)
* Don't show in changelogs
2022-09-02 14:13:41 +02:00
Florian Rival 67718a364b Fix missing https in wiki links
Don't show in changelog
2022-05-13 12:49:02 +02:00
Florian Rival e9b600d885 Update links to the new wiki
Don't show in changelog
2022-05-13 12:43:25 +02:00
Florian Rival 5d2e0786ee Sort actions/conditions in categories add icons to their groups (#3583)
* This should make it easier to identify and find actions/conditions. Categories give more clarity and icons help to identify what's available without reading everything.
2022-02-03 11:45:53 +01:00
Florian Rival 43d55112cc Display objects in categories when creating a new object (#3562)
Don't show in changelog
2022-01-29 16:02:34 +00:00
D8H 0fd9173069 Improve consistency of behavior descriptions by starting them with a verb. (#3484) 2022-01-17 17:05:37 +00:00
D8H b3e0540fed Group properties in some behaviors for enhanced clarity (#3373)
* Also allow custom behaviors made in the editor to define property groups.
2021-12-22 17:10:06 +00:00
Florian Rival 741c457d7f Use double for instances position/angle/size instead of float and various other fields
Fix issues with precision of serialized JSON after the switch to RapidJSON

Don't show in changelog
2021-03-13 21:34:53 +00:00
Florian Rival 59c9812208 Only add the AdMob plugin when the AdMob App Id is set (#1940)
Don't show in changelog
2020-08-24 22:54:51 +01:00
Arthur Pacaud cafa0d512f Allow extensions to declare dependencies (npm, cordova...) and custom properties in the project (#1717)
Only show in developer changelog
2020-08-24 20:51:10 +01:00
Florian Rival 9b178bc985 Fix "Remove Unused Images" removing images used by BBText object
Don't show the rest in changelog:
* More generally, fix resources exposed by any object declared in JavaScript
* Refactored GetProperties (and UpdateProperty) across behavior/object/behavior shared data to remove the dependency on gd::Project.
2020-06-23 22:40:38 +01:00
Florian Rival 0f30c2d614 Fix memory leak leading to a crash in the editor when having a BB Text in the scene.
* Also fix similar smaller memory leak when using other features.

Don't show the rest in changelog:
This avoids calling new gd.PropertyDescriptor every time properties of an object/behavior are accessed, which would result in these gd.PropertyDescriptor to be never destroyed. This would fill up the memory, especially quickly with the BB Text object as properties are queried to render the instances on screen.
"getOrCreate" is now exposed for the map of properties, which is cleaner and memory leak free.
2020-06-20 17:59:27 +01:00
Florian Rival 9d015b9cd1 Add Flow static typing to JsExtension.js files 2020-06-20 16:57:21 +01:00
Florian Rival fc5905b7f4 Update descriptions of extensions
Don't show in changelog
2020-06-20 16:57:21 +01:00
Florian Rival 479584c3ef Also show parameter names and descriptions for checkbox in EffectsList 2019-12-27 17:33:26 +01:00
Bouh 42ddf9b41a Add Displacement, ColorMap, Pixelate and Reflection effects (#1329) 2019-12-26 17:38:28 +01:00
Florian Rival 50adbfaae9 Add support for booleans in effects parameters 2019-12-21 15:16:15 +01:00
Florian Rival ec9a629124 Add optional description to effect properties 2019-12-21 12:04:08 +01:00
Florian Rival 977dc27bd0 Add update for effects + colors and resources for effect parameters 2019-12-21 12:04:08 +01:00
Florian Rival 81aa68e69d Add back existing effects as an "Effect" extension
* Add tests for EnumerateEffects.
* Ensure fake effects are present for Storybook stories.
2019-12-17 09:04:00 +00:00
Florian Rival 8891c91d61 Add EffectMetadata and AddEffect to extensions
* Allow extensions to store EffectMetadata.
* Rework gdjs.PixiFiltersTools to allow new effects to be dynamically registered.
* Update EffectsList to read effects from extensions.
* Update GDJS ExporterHelper to export include files for effects
* Rename effectName to effectType to avoid confusions in gd::Effect
2019-12-17 09:04:00 +00:00
Bouh 76165908fc Add help button for Video object (#1244) 2019-10-02 00:20:21 +02:00
Florian Rival 433dc763d1 Separate Behavior into BehaviorContent and Behavior, and add RuntimeBehavior for GDCpp 2019-05-03 22:47:21 +01:00
Florian Rival 20ce83ccfe Add image resource to the dummy example object 2019-02-23 14:58:05 +00:00
Florian Rival 43230003b8 Fix ExampleJsExtension broken after internationalization 2019-02-09 14:08:22 +00:00
Florian Rival 02c65bcf66 [WIP] Add translations support, using js-lingui, to newIDE (including libGD.js)
* Upgrade to Flow 0.92 and make fixes for it
* Convert all extensions to use _("...") instead of t("...") for translations,
  to be able to be parsed by gettext
* Handle translation in JS extensions
* Move Providers out of MainFrame
* Remove i18next
* Adapt ExtractTranslations script to handle js files (for extensions)
2019-02-09 14:08:22 +00:00
Florian Rival 6ddace1ec4 Add an example of an object action in ExampleJsExtension 2019-02-06 23:34:43 +00:00
Florian Rival 50ebf6e5a2 Add support for creating objects in JS extensions + example 2019-01-05 12:03:24 +00:00
Florian Rival f61f525e61 Update GitHub links from 4ian/GD to 4ian/GDevelop 2018-09-09 22:29:32 +01:00
Florian Rival 303a489a41 Adapt JsExtensionsLoader to allow it to be used from Node.js 2018-08-24 16:57:37 +01:00
Florian Rival 91ff59e846 Switch back to ES5 for JsExtension.js 2018-07-11 22:28:31 +01:00
Florian Rival 6b850e82e7 Add extensions sanity tests 2018-07-11 19:33:47 +01:00
Florian Rival 896446f640 Fix missing calls to t("...") in ExampleJsExtension 2018-07-09 22:21:20 +01:00
Florian Rival 0019da90c7 Update documentation about implementing JavaScript extensions 2018-07-05 23:38:51 +01:00
Florian Rival 57fbe470b7 Add ExampleJsExtension 2018-07-04 00:20:03 +01:00