Commit Graph

21 Commits

Author SHA1 Message Date
Fannie Yan 1b86c23b92 Replace leaderboards when a user opens a game template (#4094)
* Replace leaderboards when a user opens a game template
2022-07-12 15:33:55 +02:00
Fannie Yan 5118421de7 Suggest all expression types in Text fields (#4033)
* Suggest all expressions in autocompletion suggestion and in expression selector for Text parameter fields
* Automatically convert number expressions to Text (using ToString()) when needed
2022-06-15 15:58:06 +02:00
D8H 763aa0aa25 Show expression errors directly in the event sheet (#3823) 2022-06-03 23:02:51 +02:00
AlexandreS 46a12e6758 When browsing search results in event sheet, start from currently selected event 2022-02-11 09:22:13 +01: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
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 d1f4d26e49 Fix color of grids in scene editor not properly persisted
* Also make the update real time (any change in the settings are shown directly in the editor)

Don't show the rest in the changelog:

* Add various Flow typings where missing (SetupGridDialog and various InstancesEditor files)
* Serialize the settings into a generic "EditorSetting" (so that the Project is agnostic of any editor related stuff)
* Rename uiSettings/options/LayoutEditorCanvasOptions to InstancesEditorSettings
  * Handle everything inside the IDE (so that the Project remains agnostic of any editor related stuff)

Note that in the future, this kind of EditorSetting that is stored inside the project could be moved to its own structure (living outside of the project file).
2021-08-12 17:05:32 +02:00
D8H 3125956dfc In the variables editor, add autocompletion for variables that are used in events but not yet defined in the list (#2665)
* This means that if you use a scene, global or object variable in your events, it will be suggested the next time you open the variables editor of the scene, project or of an object, when you enter the name of a new variable.
* Note that this works only for now for variables that are not arrays or structures.
2021-05-25 23:37:25 +01:00
Harsimran Singh Virk afbb316bd2 Refactor gd::Layer to use a gd::EffectsContainer (#2645)
Only show in developer changelog
2021-05-22 00:22:58 +01:00
Arthur Pacaud a27d1e97bc Rework GetUsedExtensions (#2588)
Only show in developer changelog
2021-05-07 22:46:02 +02:00
Aurélien Vivet 9d09ad4dd9 Add Bitmap Text objects, an efficient way to display texts using custom "bitmap fonts" (#2432)
* This allows to display texts on screen that use a "bitmap font", generated with softwares like [BMFont](https://www.angelcode.com/products/bmfont/) or [bmGlyph](http://www.bmglyph.com/).
* Bitmap fonts allow advanced effects and custom design of each character, with complete control over the appearance of the text. This is useful for making a custom score counter, titles, button labels...
* They also render very well in a pixel-perfect, pixel-art or retro-like game.
* Finally, these Bitmap Texts are fast and efficient to render on screen: useful for scores or texts that are updated frequently.
2021-05-07 14:57:00 +01:00
Florian Rival 3017798283 Remove deprecated/unmaintained SkeletonObject extension (#2509)
This should probably be restarted from scratch with a well known/battle tested library.

Don't show in changelog
2021-04-03 23:58:02 +01:00
Florian Rival a996c5413f Improve speed of auto-save/save/load of projects
This makes autosave 70% faster, saving a project 30% faster, preview slighlty faster.

- Switch to RapidJSON for serialization inside the Core.
- Avoid extra pair of JSON.parse/JSON.stringify for autosaves
- Fix float used instead of double in the SerializerElement/Value JS bindings
2021-03-13 21:34:53 +00: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 dda7cd9d5b Add new functions to declare expressions, conditions and actions at the same time.
Only show in developer changelog
2021-02-18 17:40:25 +01:00
Aurélien Vivet eb7122584b Add menu item to move up and down parameters of functions and behavior methods (#1340) 2021-01-18 22:59:59 +00:00
Arthur Pacaud c5fe498a1f Add a for each structure event (#2113)
* Add a for each structure event

* Apply review instructions to newIDE

* Fix naming in code generator

* Rename ForEachStructure

--> ForEachChildVariable

* Rename Structure and Variable

--> IterableVariableName and IteratorVariableName

* Delete old file

* Fix flow typing

* Remove unecessary includes

* Add key iterator, make iterators optional

* Clean up ForEachChildVariableEvent.js

* Add method on gdjs.Variable to replace children

* Add word warp to the event label
2020-11-29 18:50:07 +00:00
Florian Rival 8c6b9ef044 Add a basic Asset Store for the web-app 2020-10-14 23:36:21 +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 3a9f896f04 Add hot reloader (electron app only) 2020-07-25 14:23:00 +01:00
Florian Rival 2ca593ba2b Add automatically generated types for GDevelop.js (#1800)
Don't show in changelog
2020-06-09 22:02:18 +01:00