Commit Graph

122 Commits

Author SHA1 Message Date
Florian Rival 468ce851da Fix variable of objects used in events broken after opening the object editor 2026-03-05 12:01:57 +01:00
D8H 07a898329f Fix clone function for maps (#7978)
- Don't show in changelog
2025-11-13 15:37:56 +01:00
D8H 13581264ef Fix resources used in behavior configurations were not exported (#7941) 2025-11-13 14:04:59 +01:00
Clément Pasteau ae09ad50ec Automatically translate reviewed extensions and their actions and conditions (#7478) 2025-03-21 15:09:06 +01:00
Florian Rival 58ba2668c2 Add clang-tidy and builds with assertions/memory sanitizers for libGD.js (#7051)
Only show in developer changelog
2024-10-14 12:06:42 +02:00
Florian Rival 9c62a5e0f1 Fix unserialization of quick customization settings
Also remove VersionPriv.h from source control

Don't show in changelog
2024-08-19 12:13:12 +02:00
Florian Rival ad31a7843a Add VersionPriv.h to git ignored files [skip ci]
Don't show in changelog
2024-08-18 18:15:29 +02:00
Vladyslav Pohorielov 6e7fc75e75 Fix GDevelop project files so they are versioned with the same version as the editor (#6859)
Only show in developer changelog
2024-08-14 21:10:11 +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
Aurélien Vivet 5b1e3565d3 Remove dead code (TinyXml) (#6754)
Only show in developer changelog
2024-07-05 17:45:57 +02:00
D8H 91a02d132f Remove the dependency to SFML (#3865)
* This allows to run Core tests more easily.
2022-05-13 13:27:41 +02:00
D8H d40e360b8a Add support for behaviors based on other behaviors ("behavior composition") (#2781)
* This allows [custom behaviors](http://wiki.compilgames.net/doku.php/gdevelop5/behaviors/events-based-behaviors), that you can create in your project or get from extensions, to require the presence of one or multiple other behaviors on an object.
  * This is an advanced feature that is helpful to create behaviors that are based on other. For example, a behavior "Platformer enemy" using the "Platformer object" behavior and adding specific actions, conditions and logic to make an enemy chase the player.
  * If you create a behavior and want to use this, just go to the properties of this behavior and add a new property. Choose the type "Required Behavior" for this property. You can then use this new behavior in the events of the behavior you just edited.
* To use a behavior based on another, you don't need to do anything special! Just add it to your object as usual: any missing behavior will be added to your object, so you can start using it immediately.
2021-09-06 19:51:42 +01:00
Florian Rival 1a27f689e0 Remove deprecated/unused/unmaintained GDCpp code (#2930)
* This also includes extensions code.

Only show in developer changelog
2021-08-17 14:34:58 +02:00
Arthur Pacaud 4ec14ed498 Add Array and Boolean variables (#2137)
* In the list of variables (of the scene, of an object or global variables), you can now specify the type of the variable: number, text, boolean, array or structure.
* Boolean variables can be "true" or "false. They can have their values checked with conditions, and updated with actions. They are a good way to store information about if something is enabled or not (is an item equipped, is something selected, etc...).
* Array variables can contain multiple values, indexed by a number. New values, including any kind of variables, can be appended to an array during the game. Arrays can also have a value removed, and using the event "For each child variable", you can run conditions and actions for each value that is present in the array.
* Boolean and arrays are also supported when you transform a variable from or to the JSON format - which is ideal to send web requests, read configuration files or store any kind of arbitrary data.
* Finally, note that array values can themselves be arrays, structures or any variable. This can be useful to construct advanced logic. You can also access arrays (as well as any variable) from JavaScript code block events.
2021-03-07 21:53:12 +00:00
Florian Rival 09bedc6ce5 Ensure events generated code is stable across code generation.
This is done by given unique identifiers to "Trigger Once" conditions (stable given the same object in memory) and events list function names (stable given events with same content).

This avoids useless hot-reloading and re-triggering Trigger Once conditions after a hot-reloading.

Don't show in changelog
2020-07-25 14:23:01 +01:00
Florian Rival 2851a20787 Add persistentUuid to gd::InitialInstance 2020-07-25 14:22:59 +01:00
Florian Rival 7bf892c7eb Upgrade to Emscripten 1.39.6 2020-02-02 19:32:09 +00:00
Florian Rival 337a36ee90 Refactor drag'n'drop in SortableVirtualizedItemListi and objects drag to scene
* Use a drop indicator and remove react-sortable-hoc
* Drag to scene can now follow the cursor with a temporary instance, to get an immediate feedback/preview of the object

TODO: Refactor the instance creation to use TemporaryInstances
2019-10-03 23:10:13 +01:00
Florian Rival 7925e75652 [WIP] Add EventsBasedBehavior 2019-04-26 14:12:59 +01:00
Florian Rival 338f062781 Refactor EventsFunctionsExtension to use EventsFunctionsContainer/SerializableWithNameList 2019-04-26 14:12:59 +01:00
Florian Rival b9680e26e7 [WIP] Remove almost all remaining references to wxWidgets/GD4 IDE related code from codebase 2019-04-23 13:08:22 +01:00
Florian Rival 87adc2cab9 [WIP] Clean old methods used only in GD4 in objects and behaviors (3) 2019-04-21 20:52:48 +01:00
Florian Rival d59f40ff5d [WIP] Clean old methods used only in GD4 in objects and behaviors (2) 2019-04-21 19:40:05 +01: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
Lizard-13 48465425e4 Fix include order (#527) 2018-06-18 23:51:26 +01:00
Florian Rival a8559bfbbc Add clang-format to format (C++) source files automatically (#491)
* Update all CMakeLists of extensions to use clang-format
* Run clang-format on all Extensions
* Update GDCore CMakeLists.txt to add clang-format
* Run clang-format on GDCore files
* Update GDJS and GDCpp CMakeLists.txt to add clang-format
* Run clang-format on GDCpp and GDJS files
2018-05-09 15:57:38 -07:00
Florian Rival 443c49f83e Fix regression due to broken Variable and VariablesContainer copy ctor and assignement operator 2018-04-04 15:10:08 +02:00
Florian Rival 23736e8981 [WIP] Add color picker in ScenePropertiesDialog of newIDE 2017-05-13 12:13:19 +02:00
Victor Levasseur 880ccad7f5 Fix buffer size of gd::FileStream on Windows
(let the system use its default parameter)
2016-12-02 01:30:21 +01:00
Florian Rival 69b2a41caa Fix FileStream constructor on OS X 2016-11-30 22:55:51 +01:00
Victor Levasseur b6d92d69bc Improve message handling in FullProjectCompiler 2016-11-26 14:59:22 +01:00
Victor Levasseur ea5d92a289 Fix FileStream::close 2016-11-26 02:00:50 +01:00
Victor Levasseur 7c14f9dd39 Fix gd::FileStream ctor 2016-11-23 23:11:25 +01:00
Victor Levasseur d20b5a0fbb gd::Object and RuntimeObject are now cloned in unique_ptr 2016-11-15 08:33:56 +01:00
Victor Levasseur 3b75fd6df4 Add gd::FileStream (#312)
* Fix unicode paths on Windows for XML files
* Add a fstream equivalent that supports gd::String paths (with characters outside the current codepage on Windows)
* Add a sf::InputStream subclass for the same purpose
* Use gd::FileStream in DatFile and ResourcesLoader
* Replace remaining i/ofstream with gd::FileStream
2016-11-13 16:24:11 +01:00
Victor Levasseur 72df404d7f Automatic versioning (#311)
* Use the port number in SendHttpRequest and DownloadFile

* Fix "Custom size" and "Custom viewports" not displayed in layer propgrid

* Fix Fedora spec file

* Use automatic versioning from git

* A "correct" version number is now generated even if git is unable to find a tag
2016-11-11 11:32:56 +01:00
Florian Rival 179183f414 Bump version 2016-11-02 23:11:29 +01:00
Florian Rival f1509cf7b8 Bump version 2016-10-16 00:03:40 +02:00
Victor Levasseur 1bf86461f0 Use std::vector<std::unique_ptr> to store objects in gd::Project 2016-09-18 13:45:45 +02:00
Florian Rival d70204b24c Fix compilation on OS X 10.11 by removing deprecated GLU calls 2016-08-07 22:26:41 +02:00
Victor Levasseur af8d2fc5d8 Fix linking failing when GDevelop is installed in a path containing spaces 2016-08-01 14:33:59 +02:00
Florian Rival db074c7f57 Bump version 2016-06-27 23:54:39 +02:00
Florian Rival f67206940e Version bump 2016-04-17 15:16:42 +02:00
Florian Rival 61b01aa1a1 Version bump 2016-04-09 17:32:30 +02:00
Florian Rival bec51c705b Update some extensions to be created on Android 2016-02-09 19:40:47 +01:00
Florian Rival 6a74d8c75f Version bump 2016-01-17 13:29:21 +01:00
Florian Rival e444e80493 Update copyrights year 2016-01-14 19:46:56 +01:00
Victor Levasseur 46e6ecd72a Add gd::HelpFileAccess::OpenPage to open a page without passing its whole URL.
The webpage is assumed to be stored on the wiki and the language is automatically added to the URL if needed
2015-10-25 17:43:18 +01:00
Florian Rival ef3e145f42 Version bump 2015-09-20 17:51:07 +02:00
Florian Rival 5612333c55 Version bump 2015-09-13 22:17:46 +02:00