Commit Graph

44 Commits

Author SHA1 Message Date
Florian Rival a9b5f282db Limit impact of potential memory corruption when serializing instructions 2025-12-19 10:57:36 +01:00
Florian Rival 29ad7308c3 Introduce an experimental AI agent (#7659)
- This is an AI agent that takes a request and takes actions on a project: it can create scenes, find and create objects, add, remove behaviors, modify them, put instances on the scene, create or modify events, and more to come (layers, setup leaderboards, etc...).
- It's still in beta and there is room for improvement on many things, but is already useful for prototyping and learning - beginners notably are able to see what the AI can do and learn the concepts of GDevelop. For intermediate and power users, it's useful to try new things, or get things done while working on something else.
- Experiment with it and always make backup of your project before starting - in the future restoration points will be added to go back to a previous state if the result is not good or broken.
2025-06-17 16:25:03 +02:00
D8H 011abaf808 Allow drag and drop in the extension function parameter editor (#6847) 2024-08-20 10:29:52 +02:00
D8H 71f20d7852 Refactor to make some ParameterMetadata attributes private (type, supplementaryInformation and optional) (#4437) 2022-10-29 13:02:18 +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
Florian Rival 5495257732 Reduce size of events in JSON by not writing empty events/sub-instructions arrays (#3975)
Only show in developer changelog
2022-05-31 17:24:01 +02:00
Florian Rival 7597dbe0d1 Add (new) conditions and expressions to compare the number of instances picked or living on the scene (#3842)
* Add `PickedInstancesCount` and `SceneInstancesCount` expressions, to replace `Count`. These expressions don't do any "picking" of instances, so they are safe to use anywhere without "weird" side effects.
* Equivalent conditions are available for all objects. These conditions allow to check at any point in your events the number of instances living on the scene or picked by actions/conditions.
  * This is useful to check if enough objects are picked by a condition before launching an action. 
  * Because this condition does not change the already picked objects, it's safe to use anywhere without any side effect.

Only show the rest in the developer changelog:
* Allow to read events missing some fields (like `disabled`, `folded`).
* Reduce the useless information stored in project JSON files by not storing the fields if they have their default value.
2022-04-23 16:35:10 +02:00
Florian Rival a4c372d945 Convert PointX/PointY argument to a string 2019-01-28 23:16:20 +00: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 ceb8b4dde1 Merge serialization methods for instructions and add serialization methods to InstructionsList 2017-08-20 17:22:23 +02:00
Florian Rival 7b8e1c70ba Fix EventsListSerialization::UnserializeEventsFrom not deleting existing events 2017-01-22 17:22:31 +01:00
Victor Levasseur d20b5a0fbb gd::Object and RuntimeObject are now cloned in unique_ptr 2016-11-15 08:33:56 +01:00
Florian Rival e444e80493 Update copyrights year 2016-01-14 19:46:56 +01:00
Florian Rival 63cb853d72 Change file organization (Events, Extensions + more folders) 2015-11-01 11:26:40 +01:00
Florian Rival b24e37ff01 Refactoring to use gd::String::FindAndReplace 2015-08-24 19:24:38 +02:00
Victor Levasseur 9552cb75b8 Merge remote-tracking branch 'upstream/feature/behavior-renaming' into replace-uint-with-size_t 2015-08-19 19:13:51 +02:00
Victor Levasseur cc6810e3f6 Replace unsigned int with std::size_t where it's possible 2015-08-18 18:43:39 +02:00
Florian Rival 510cb4e7c0 Fix file not renamed and compatibility with GD3.x projects 2015-08-18 18:16:27 +02:00
Florian Rival 428e72914d [WIP] Rename Automatism to Behavior 2015-08-17 23:52:59 +02:00
victorlevasseur c98e97e60a Merge remote-tracking branch 'upstream/master' into utf8-gdstring
Conflicts:
	.travis.yml
	Core/GDCore/BuiltinExtensions/SpriteExtension/Dialogs/SpriteObjectEditor.cpp
	Core/GDCore/Events/Builtin/ForEachEvent.h
	Core/GDCore/Events/Event.cpp
	Core/GDCore/Events/Event.h
	Core/GDCore/Events/EventMetadata.cpp
	Core/GDCore/Events/EventMetadata.h
	Core/GDCore/Events/ExpressionMetadata.h
	Core/GDCore/Events/Instruction.h
	Core/GDCore/Events/InstructionMetadata.h
	Core/GDCore/IDE/Dialogs/EditLayerDialog.cpp
	Core/GDCore/PlatformDefinition/Object.cpp
	Core/GDCore/PlatformDefinition/PlatformExtension.cpp
	Core/GDCore/PlatformDefinition/PlatformExtension.h
	Extensions/Function/Extension.cpp
	Extensions/TextObject/TextObject.h
	Extensions/TimedEvent/Extension.cpp
	GDCpp/GDCpp/BuiltinExtensions/CommonInstructionsExtension.cpp
	GDCpp/GDCpp/BuiltinExtensions/KeyboardTools.h
	GDCpp/GDCpp/BuiltinExtensions/MouseTools.h
	GDCpp/GDCpp/BuiltinExtensions/SceneExtension.cpp
	GDCpp/GDCpp/InputManager.cpp
	GDCpp/GDCpp/RuntimeSpriteObject.cpp
	GDCpp/GDCpp/RuntimeSpriteObject.h
	GDJS/GDJS/BuiltinExtensions/BaseObjectExtension.cpp
	GDJS/GDJS/BuiltinExtensions/CommonInstructionsExtension.cpp
	GDJS/GDJS/BuiltinExtensions/SceneExtension.cpp
	GDJS/GDJS/BuiltinExtensions/VariablesExtension.cpp
	GDJS/GDJS/Exporter.cpp
	GDJS/GDJS/Exporter.h
	IDE/Dialogs/ObjectsEditor.cpp
	IDE/Preferences.cpp
2015-07-06 15:16:59 +02:00
Victor Levasseur 0a1542ba73 Replace all std::string by gd::String in GDCore
Add some other methods to gd::String (insert, ...)
2015-07-04 23:58:06 +02:00
Florian Rival 5896d6d327 Add BaseEvent getter/setter for folded member. Fixes for emscripten bindings 2015-05-24 15:01:59 +12:00
Florian Rival cb0acf7e6c Remove some CppCheck warnings 2015-05-05 22:10:51 +12:00
Florian Rival cebad7cd62 Revert "Revert "Store instructions as shared pointers instead of as values""
This reverts commit 755807b075.
2015-05-05 21:27:15 +12:00
Florian Rival 755807b075 Revert "Store instructions as shared pointers instead of as values" 2015-05-05 00:08:31 +12:00
Victor Levasseur 91692c4d29 Replace std::vector<gd::Instruction> by a custom class managing an array of std::shared_ptr<gd::Instruction> 2015-05-02 11:04:55 +02:00
Florian Rival 2317368415 Merge branch 'remove-boost' of https://github.com/victorlevasseur/GD into c++11
Conflicts:
	GDCpp/GDCpp/ObjInstancesHolder.cpp
2015-01-25 20:12:14 +01:00
Florian Rival 64e6860718 Version bump.
Updated copyrights.
2015-01-22 21:22:01 +01:00
victorlevasseur ae1f6d61b3 Remove boost dependency (boost::to_upper still remaining) 2015-01-18 21:09:45 +01:00
Florian Rival 40a82c61ea Switched from LGPL and zlib/png licenses to MIT License. 2014-11-30 16:59:51 +01:00
Florian Rival 7d3ada265c Replaced "Game Develop" by "GDevelop" 2014-09-24 16:25:13 +02:00
Florian Rival f6216da3ed Work in progress for tests.
Events Clone method now return a raw pointer.
2014-08-10 22:24:06 +02:00
Florian Rival 8844642ae0 Updated copyrights.
Added doxygen files.
Cleaned some files.
2014-06-26 00:20:36 +02:00
Florian Rival 0bff141691 Started converting LoadFromXml and SaveToXml to the new serialization classes.
Fixed strange bug where abs was returning int instead of float.
2014-04-28 23:32:53 +02:00
Florian Rival c9f8c37aa6 Started excluding parts of code from emscripten build. 2014-04-16 17:20:01 +02:00
Florian Rival 830e1dbb02 All events are now managed using gd::EventsList. 2014-04-10 10:55:29 +02:00
Florian Rival 830b533c6d Updated GDCore which was not up-to-date.
Binaries are now produced in a directory named with the build type and the os short name.
Added all files that are not binaries.
2014-04-01 00:19:58 +02:00
Florian e35df56900 Added support for structure variables and new way of handling variables in instructions.
TODO: Support for structure variables in ChooseVariableDialog.

git-svn-id: svn://localhost@1172 8062f311-0dae-4547-b526-b8ab9ac864a5
2013-08-27 16:22:56 +00:00
Florian 15950cde32 Fixes for compilation on Linux.
git-svn-id: svn://localhost@1123 8062f311-0dae-4547-b526-b8ab9ac864a5
2013-07-02 21:21:35 +00:00
Florian f9c4d9c435 Fixed sub conditions badly adapted when opening a GD2.x game.
git-svn-id: svn://localhost@1043 8062f311-0dae-4547-b526-b8ab9ac864a5
2013-06-17 13:04:26 +00:00
Florian bee9eaaee9 Adapted code generation to handle the requirements of a code generation made without creating temporaries.
Adapted LayoutEditorCanvas and Object to handle objects with an origin which is not (0;0).

git-svn-id: svn://localhost@996 8062f311-0dae-4547-b526-b8ab9ac864a5
2013-05-19 22:18:41 +00:00
Florian 731728c749 Old MapForObjectsOfParameter* and PtrToObjectOfParameter parameters type replaced by objectList* and objectPtr parameters type -> No need for useless parameters.
git-svn-id: svn://localhost@991 8062f311-0dae-4547-b526-b8ab9ac864a5
2013-05-12 20:41:43 +00:00
Florian 82b94ee975 Inverted order for relationalOperator and operator parameters and their associated expression parameters.
Added update functions for games created with GD 2.x

git-svn-id: svn://localhost@988 8062f311-0dae-4547-b526-b8ab9ac864a5
2013-05-11 18:03:51 +00:00
Florian 95c8dfaf62 Merged CoreWithImplementation ( i.e: Game Develop 3 ) branch with trunk.
git-svn-id: svn://localhost@972 8062f311-0dae-4547-b526-b8ab9ac864a5
2013-05-06 20:18:03 +00:00