Commit Graph

98 Commits

Author SHA1 Message Date
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
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 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 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 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
Florian Rival 2851a20787 Add persistentUuid to gd::InitialInstance 2020-07-25 14:22:59 +01:00
Florian Rival b76df0247d Fix "Trigger Once" not working properly when used in a behavior
Don't show the rest in the changelog:

This was because the OnceTriggers were shared with the runtime scene. Now each behavior has its set of Once Triggers. This means that Once Triggers "survive" if the behavior is deactivated then activated again.

Added integration test for generated behavior

Fix #1843
2020-07-06 23:47:17 +02:00
Florian Rival 07d770148f Fix BBText line heights broken in the preview and exported games
* Also improve BBText performance when rendered in the scene editor.

Don't show the rest in changelog:
* This was due to the font measurement being incorrectly done by Pixi.js because the font family was having a dot in its name. It should have been quoted but for some reason is not. Instead, ensure all font family names are slugified so we don't risk such incompatibilities in the future.
* Also rework deprecated text object font handling to entirely avoid having to declare the font families at the export time.

Fix #1521
2020-06-25 21:23:24 +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 92015e8182 Add missing typing in GDevelop.js types
Don't show in changelog
2020-06-15 10:03:15 +01:00
Aurélien Vivet 2704c654d8 Add an option to clear the shape painted using Shape Painter between each frame (#1815) 2020-06-14 21:32:22 +01:00
Florian Rival e1242e5397 Update webidl-tools to avoid extra line breaks on Windows
Don't show in changelog
2020-06-14 21:24:47 +01:00
Florian Rival 51d306f98f Fix GDevelop.js types generation on Windows
Don't show in changelog
2020-06-14 20:14:52 +01:00
Florian Rival eb2da55504 Prevent a behavior to be selected in a function parameter if it's incompatible with the object 2020-06-13 23:51:33 +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
Florian Rival 6a3af0d57a Fix importing of GDevelop.js to newIDE
Was failing when newIDE was not installed.
Don't show in changelog.
2020-05-18 09:41:23 +02:00
Florian Rival 5556766059 Speed up GDevelop.js compilation when "-- --dev" is specified
* This is done by compiling to wasm, without re-translating to JS, which is fine as it's for development only.
2020-05-17 22:37:13 +02:00
Florian Rival 93e8dd4002 Improve GDJS code generation integration tests 2020-05-04 17:33:22 +01:00
Florian Rival b91a2da81c Fix subconditions with custom generated code conditions (like And condition with Equal condition)
* Fix #1729.
* Add an integration test, to test the generated code.
2020-05-04 17:33:22 +01:00
Florian Rival 4bfbd7c78f Add autocompletions when typing an expression
Add ExpressionAutocompletion, ExpressionAutocompletionsDisplayer, ExpressionAutocompletionsHandler.
2020-04-10 19:58:12 +02:00
Aurélien Vivet 94303fccc2 Update required CMake version for GDevelop.js (#1600) 2020-03-30 16:05:24 +02:00
Aurélien Vivet 33949fd93c Add option to use MinGW instead ninja for GDevelop.js (#1599) 2020-03-29 23:21:55 +02:00
Florian Rival 66b3ec1686 Rename IsInformative to IsExact in ExpressionCompletionFinder 2020-03-23 23:32:33 +01:00
Jimil Desai 7bcaf55342 Fix warning not showing when using a digit as first character for a name (#1560) 2020-03-22 15:24:28 +01:00
Florian Rival 03cc406459 Fix tests 2020-03-18 15:03:11 +01:00
Florian Rival 22c6a57394 Improve completions from ExpressionCompletionFinder 2020-03-02 22:11:31 +00:00
Florian Rival ca6f11b55a Support for describing completions to display for an expression (#1447) 2020-02-22 14:27:43 +00:00
Florian Rival 0d60a54fa7 Add support for extension lifecycle events function 2020-02-14 16:58:05 +00:00
Florian Rival b9c1f5f6a7 Add LayoutCodeGenerator 2020-02-11 21:26:00 +00:00
Florian Rival 243bc93fe5 Add EventsFunctionsExtensionCodeGenerator 2020-02-11 20:45:20 +00:00
Florian Rival bac8aa14fa Fix Windows tests and add AppVeyor CI 2020-02-08 10:43:45 +00:00
Florian Rival 3ebb483e32 Update GDevelop.js Windows build to use embedded Ninja instead of MinGW make 2020-02-08 00:29:19 +00:00
Florian Rival 991378e004 Remove debug message 2020-02-05 21:42:28 +00:00
Florian Rival dfaee92d24 Fix GDevelop.js tests on Windows 2020-02-05 21:35:28 +00:00
Florian Rival b07c71cb9c Exclude emsdk from tests in GDevelop.js 2020-02-05 21:27:41 +00:00
Florian Rival cb0c0f903f Avoid full rebuild when changing a CMake parameter in GDevelop.js 2020-02-05 20:52:03 +00:00
Florian Rival 7bf892c7eb Upgrade to Emscripten 1.39.6 2020-02-02 19:32:09 +00:00
Aurélien Vivet ce4fdbe4f8 Add option to search in event texts (comments, group names) (#1398) 2020-02-01 18:45:15 +00:00
Florian Rival 1e1c5f7206 Fix drag'n'drop of selected event invalidating the event in memory (potential crash) 2020-02-01 12:33:50 +00:00
Florian Rival 5690de71c5 Remove useless define in GDevelop.js 2020-01-30 08:24:48 +00:00
Florian Rival bff43ee771 Remove dead code related to old ExpressionParser 2020-01-27 22:08:48 +00:00
Florian Rival 285ff6f5f5 Update the script to extract expressions reference 2020-01-19 15:29:59 +00:00
Florian Rival 010b52ced6 Update documentation urls to docs.gdevelop-app.com/... 2020-01-12 18:45:39 +00:00
Florian Rival 9d3cd9f110 Add option to automatically resize game resolution to window size
* Also refactor:
  * method names related to window/game resolution
  * runtime game renderer size handling

* Update ProjectPropertiesDialog
2020-01-02 21:33:36 +00:00
Florian Rival 9eb548452a Add MoveEventsFunctionParameter and MoveBehaviorEventsFunctionParameter in WholeProjectRefactorer 2019-12-27 22:21:24 +01:00
Florian Rival 5df3afdb67 Adapt extension properties to new sentences + various changes 2019-12-27 13:46:57 +01:00