Commit Graph

70 Commits

Author SHA1 Message Date
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 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
Aurélien Vivet 2ba2b3b509 Fix typo (#1833) 2020-06-21 22:05:34 +01:00
Aurélien Vivet 18be9f5450 Add more conditions/expressions to the Platformer Objects (#1819)
* Add the speed, jump speed and fall speed.
* Add condition to check if platforms can be grabbed
* Add condition to check if the object can jump
2020-06-18 08:41:15 +01:00
Florian Rival 9ed2665542 Fix ladder climbing speed not working on existing games
Don't show in changelog
2020-06-10 22:01:10 +01:00
Sanskar Bajpai ee338f6657 Add property to customize the ladder climbing speed for Platformer objects (#1578) 2020-06-10 21:43:59 +01:00
Florian Rival 50bdca3c44 Remove bad translation markers
Don't show in changelog
2020-05-30 23:12:05 +02:00
Florian Rival e5f229e3f7 Fix typo 2020-05-25 10:37:52 +02:00
Florian Rival ed7ddd2b67 Improve autocompletions for JavaScript code events and for the game engine 2020-05-17 19:30:58 +01:00
Florian Rival 804a07c56e Add "Jump sustain time" to Platformer Object behavior (#1650) 2020-04-14 11:24:45 +02:00
Florian Rival 57759aa1b8 Run auto formatting on platformerobjectruntimebehavior.spec.js 2020-04-13 21:39:38 +02:00
Garett Tok Ern Liang 348459481a Fix Left/Right Ctrl/Shift/Alt/Meta not recognised as separate keys (#1553) 2020-03-25 21:13:08 +01:00
Florian Rival 1193e1bbd0 Run Prettier autoformatting on some files 2020-03-19 23:17:38 +01:00
Arthur Pacaud 054e48227c Make object and behavior registering more explicit (#1379) 2020-01-17 22:49:24 +00:00
Florian Rival 7a1ce790d4 Make "Allow again jumping" action description clearer 2020-01-10 23:40:20 +00:00
Florian Rival 2f8840b2cf [codemod] Adapt sentences of action/conditions 2019-12-27 13:46:57 +01:00
Florian Rival 5df3afdb67 Adapt extension properties to new sentences + various changes 2019-12-27 13:46:57 +01:00
Bouh 2b4d263410 Fix selection dismissed when panning + some icons and descriptions (#1269) 2019-10-29 18:28:22 +00:00
Florian Rival 23987f63c7 Change sprites flipping to use the center point as center for flipping
As flipping can be considered as a way to "rotate" things, it makes sense to have it used as a center for flipping too.i
This is useful for objects that are moving and can be flipped according to if they are going left or right: they can now
be rotated and flipped "properly" (properly means that the center will stay at the same position when flipped/rotated)

This means that the center point won't move when the sprite is rotated or flipped.
The origin is still used as the point not moving in case of scaling. (this make sense because scaling is about the size, and origin about positioning)
This remove some calculations in the renderers, but add others in getDrawableX/Y and getCenterX/Y in case of flipping.
2019-10-26 11:04:23 +01:00
Florian Rival a3d5a731f6 Fix improper landing on jumpthru when jumping from behind in PlatformerObject behavior 2019-07-28 21:03:22 +01:00
Florian Rival aa7a4a4ff3 Rename onOwnerRemovedFromScene to onDestroy and fix onCreated/onDestroy calls
* Rename onOwnerRemovedFromScene to onDestroy (because it can be now called when a scene is destroyed)
* Fix it being not called when a scene is destroyed (so behavior don't get a chance to clean up what they have created)
* Fix onCreated being called before the object is fully initialized (for custom behaviors or behaviors relying on an object type)
2019-07-28 17:43:50 +01:00
Florian Rival c03b8dd0db Add test for gdjs.RuntimeScene with object and behaviors 2019-07-28 17:43:50 +01:00
Florian Rival 4483e0659a Rename 'Value to test' to 'Value to compare' 2019-06-19 21:28:58 +01:00
Florian Rival c2b123d20b Add NamedPropertyDescriptor 2019-06-16 17:08:55 +01:00
Florian Rival 3161f641d8 Rename ownerRemovedFromScene to onOwnerRemovedFromScene 2019-05-06 23:08:41 +01:00
Florian Rival 433dc763d1 Separate Behavior into BehaviorContent and Behavior, and add RuntimeBehavior for GDCpp 2019-05-03 22:47:21 +01:00
Florian Rival edd98d8bd5 [WIP] Clean old methods used only in GD4 in objects and behaviors 2019-04-21 10:20:32 +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
Florian Rival 01b7f81507 Fix regression on rounding of platformer object X position and skeleton collision 2018-12-26 23:22:10 +01:00
Florian Rival 0f24410a2e Fix platform engine 1-pixel offset bug
* "Bug" is fixed by ignoring edges when doing collision tests for
the platform engine.
* Also add an option to round coordinates and ensure pixel-perfect
alignement of characters on platforms (on by default)
* Also add an optional parameter to ignore edges when
doing a collision test (or when separating objects)
2018-12-26 23:22:10 +01:00
Florian Rival fb849be246 Fix AABB computation for rotate objects
AABB was not properly computed for rotated objects or objects
with a non default center/origin. This could create issues while checking
collisions and for behaviors/logic relying on spatial hashing (platformer,
pathfinding).

* Add benchmark to compare the speed of the implementation for non rotated object
(simple/faster) and for rotated objects (always exact but 12-15% slower).
* Add a method to render AABB of objects to ease debugging.
* Also add a test game.
* Add tests for AABB
* Add tests for getHitboxes for gdjs.SpriteRuntimeObject
2018-10-28 06:41:09 -07:00
Wend1go 0e9dfb3889 Add annotations to Platformer Object 2018-08-29 11:59:42 +02:00
Florian Rival 39887ccc80 Add help links in actions/conditions editor (#576)
* Add support for help links in InstructionParametersEditor.
* Add help paths for extensions/objects/behaviors/instructions
2018-08-07 23:03:50 +01:00
Florian Rival ca789c7b0b Fix PlatformerObject behavior not properly staying on floor after object resize 2018-07-12 23:11:24 +01:00
Florian Rival 3be5d85733 Update GDJS docs to use JSDoc 2018-07-04 22:26:02 +01:00
Florian Rival f7ae28bea9 Fix PlatformerObjectRuntimeBehavior using too much potential platforms for collision detection 2018-06-23 11:43:33 +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 6aa515d085 Merge branch 'master' into feature/browser-demo-merged-master 2017-09-10 00:18:09 +03:00
wild-master 0f4d73fae3 English translation improvements (#375) 2017-08-28 22:04:16 +02:00
Florian Rival 71ab16a76e [WIP] Add Extensions/ prefix to all includes files for JS extensions 2017-08-26 17:32:02 +02:00
Florian Rival 5281cd54cc Replace HSHG in platformruntimebehavior.js by RBush
TODO: Check if RBush create/destroy a lot of temporary JS objects and arrays
and try to reduce this.
2016-12-31 18:38:45 +01:00
Florian Rival 66ef1e0abf Refactor RuntimeObject and behaviors to allow per-layer timescale 2016-12-01 22:18:08 +01:00
Florian Rival 42022290b8 Refactor gdjs.RuntimeObject and behaviors to allow per-layer timescale 2016-12-01 22:18:08 +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 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 682efcbfdc Avoid allocation in gdjs.PlatformerObjectRuntimeBehavior and add TODO where allocations should be removed 2016-08-14 18:59:42 +02:00
Florian Rival f26357c9b8 Fix platformer objects stuck in floor when resized when the origin is not at the top left of the object 2016-07-02 18:30:51 +02:00
Florian Rival 7fe4a5c5ff Add unit test for platform ledge grabbing for the JS engine 2016-05-23 23:50:31 +02:00
Florian Rival b620737b18 Rework platform ledge grabbing mechanism 2016-05-16 22:31:33 +02:00