Commit Graph

35 Commits

Author SHA1 Message Date
Harsimran Singh Virk 599ccb677f Add support for visual effects ("shaders") on objects. (#2901)
* This allows to generate interesting visual effects, which can be controlled by events. For example, you can use an outline on an object to highlight, make the player glow when launching a spell, blur objects, etc...
* A new "effects" tab is now present in the objects editor. From there, you can add visual effects, that were already available for layers, customize them from this editor.
* Actions and conditions are available to manipulate effects and change their parameters during the game.
* Learn more on the wiki: http://wiki.compilgames.net/doku.php/gdevelop5/objects/effects

Co-authored-by: Florian Rival <Florian.Rival@gmail.com>
2021-08-20 15:01:06 +02:00
Florian Rival 280377cc98 Fix RGB colors with a component at 0 not applied to the ambient light color
Fix #2734
2021-06-12 15:02:49 +01: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
Arthur Pacaud baa597f6ae Improve overall GDJS typing (#2401)
Only show in developer changelog
2021-03-03 14:41:13 +00:00
Florian Rival 17d390fe64 Translate TileMap to TypeScript
Don't show in changelog
2021-01-08 19:55:26 +01:00
Florian Rival 65d3688052 Fix duplicate classes in the generated GDJS documentation
Don't show in changelog
2021-01-08 19:55:20 +01:00
Florian Rival 7ef2e40066 Add more various fixes for TypeScript and code style
Don't show in changelog
2021-01-08 19:55:01 +01:00
Florian Rival d639e0ea6e Translate more files to TypeScript
Don't show in changelog
2021-01-08 19:54:52 +01:00
Todor Imreorov 469310fa7d Add Tilemap: an object to display tile-based maps made using Tiled (#2147)
* Read the step-by-step explanations on how to use this object:  http://wiki.compilgames.net/doku.php/gdevelop5/objects/tilemap
* Download Tiled on https://mapeditor.org to author your own map/objects
2021-01-04 15:38:54 +01:00
Florian Rival 105171e76b Move typedef to top of file
Don't show in changelog
2020-12-23 18:41:37 +01:00
Harsimran Singh Virk b7902bb141 Add support for dynamic 2D lights (#1881)
* This adds a **Light** object that can be added on the scene, with a customizable color and radius.
* Add the **Light Obstacle** behavior to the object that must acts as obstacle (walls, etc...) to the lights.
* You can customize the ambient color of the rest of the scene from almost white (useful to show light shadows) to entirely black (useful for horror/exploration games) or any color.
* Use effects on the "Lighting" layer like "Kawase Blur" to achieve soft shadows.
2020-08-17 17:48:26 +02:00
Florian Rival 5f54583ff5 Add TypeScript checks to gdjs.RuntimeScene, gdjs
Only show in developer changelog
2020-08-05 18:47:39 +02:00
Florian Rival ee49ca6c14 Add support for layer re-ordering in hot reloading
Don't show in changelog
2020-07-25 23:27:23 +01:00
Florian Rival cc158a9250 Add some standard libraries to the libraries used by Typescript to do the type checking
Don't show in changelog
2020-07-25 18:31:38 +01:00
Florian Rival a91ccacb89 Improve typing in hot-reloader.js
Promise and other specific standard types can actually be imported using a triple slash directive.

Don't show in changelog
2020-07-25 18:27:05 +01:00
Florian Rival 3bf40cd46c Fix hot-reloading of extensions in Network Preview and fix reloading of some events generated code files
Don't show in changelog
2020-07-25 14:23:02 +01:00
Florian Rival aa823c1287 Make Network Preview (Preview over Wifi) compatible with live preview ("hot reloading")
* Also allow the debugger to work with games run using Network Preview (Preview over Wifi), including on other devices (phones, tablets...)

Don't show the rest in the changelog:

This removes the "live reloading" of the network preview and makes the hot-reloading and debugging to work with the network preview.
2020-07-25 14:23:02 +01:00
Florian Rival 24a666ab83 Fix hot-reloading of Anchor behavior and BBText and Text objects width
Don't show in changelog
2020-07-25 14:23:02 +01:00
Florian Rival c385aae845 Add support for "hot reloading" of previews (apply changes to preview without restarting) 2020-07-25 14:23:01 +01:00
Florian Rival 3a9f896f04 Add hot reloader (electron app only) 2020-07-25 14:23:00 +01:00
Arthur Pacaud 689904bda5 Add an action to pause the game during a preview (#1806)
* This is useful to then inspect the game with the Debugger.
2020-06-14 20:07:44 +01:00
Arthur Pacaud 922019eef0 Add type checking for WebsocketDebuggerClient (#1664) 2020-04-17 22:01:31 +02:00
Arthur Pacaud 2e42fc01be Fix gdjs.WebsocketDebuggerClient (#1662) 2020-04-16 16:35:10 +02:00
Arthur Pacaud d8546c5547 Add doc and type annotations to gdjs.WebsocketDebuggerClient (#1637) 2020-04-11 18:37:28 +02:00
Florian Rival d7abf86050 Fix preview crash with Firefox 2019-04-22 11:33:50 +01:00
Florian Rival ed24871130 Fix crash in profiler when using a lot of nested groups 2019-01-23 22:12:49 +00:00
Florian Rival 5778131deb Improve debugger performance 2019-01-23 21:52:31 +00:00
Florian Rival e4b2fe677b Fix Debugger with Pathfinding behavior (fix #570)
This was due to the HSHG grid being serialized.
Also removed unnecessary circular serialization of behavior owners
2018-08-01 08:52:35 +01:00
Florian Rival 3be5d85733 Update GDJS docs to use JSDoc 2018-07-04 22:26:02 +01:00
Florian Rival 5468ea19b3 Fix profiler not stopped (and user unable to get results) when changing scene 2018-06-25 21:50:55 +01:00
Florian Rival 5fc9a4a51a Improve Profiler 2018-06-24 00:06:04 +01:00
Florian Rival eb6461c819 Refactor serialization in websocket-debugger-client 2018-06-23 11:43:32 +01:00
Florian Rival 1a3bd2423d [WIP] Add support for profiler in GDJS 2018-06-23 11:43:32 +01:00
Florian Rival be3cc48e32 Add RuntimeObject/VariablesContainerInspector for Debugger with live editing 2018-04-23 22:15:21 +01:00
Florian Rival a53de69c4e [WIP] Implement a basic client/server debugger for GDJS games 2018-04-23 22:15:20 +01:00