Commit Graph

907 Commits

Author SHA1 Message Date
ClementPasteau fc23517bae Upgrade Pixi.js to 6.1.2 (#3026) 2021-09-13 17:45:27 +02: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
D8H 8780f2f415 Add tests for platformer objects on slope junctions (#3016)
Only show in developer changelog
2021-09-06 10:57:56 +01:00
ClementPasteau 287ebd4244 Allow colors to be used for Behavior properties (#2980) 2021-08-27 15:45:46 +02:00
ClementPasteau 64b63d4efa Rework the color fields to allow to enter colors as R;G;B directly in the field (#2972) 2021-08-27 10:34:55 +02:00
ClementPasteau 8be448fd0e Allow rounding pixels when rendering on a project level (#2965) 2021-08-24 10:44:06 +02:00
Harsimran Singh Virk 6667a0005c Remove deprecated/unmaintained Cocos2d-JS renderer files (#2956)
Only show in developer changelog
2021-08-23 12:27:47 +02:00
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 58917aec02 Improve typing of TestRuntimeObject (#2943)
Only show in developer changelog
2021-08-19 10:11:16 +02:00
Arthur Pacaud 9173e704be Move variable event tools to their own file (#2870)
Only show in developer changelog
2021-08-17 21:17:58 +02:00
Florian Rival 1a27f689e0 Remove deprecated/unused/unmaintained GDCpp code (#2930)
* This also includes extensions code.

Only show in developer changelog
2021-08-17 14:34:58 +02:00
Florian Rival 32978c22e8 Fix games crashing when an unknown action/condition was used (could come from a deleted extension) 2021-08-16 19:36:52 +02:00
ClementPasteau 6b0ff984f2 Fix Panel Sprite initial opacity not being correctly applied (#2873)
Fix Panel Sprite initial opacity not being correctly applied
2021-08-05 14:25:43 +02:00
Florian Rival ff42591354 Increase the GDJS tests Karma timeout (#2861)
Semaphore CI tests were sometimes timing out, notably the ones involving PixiJS and real resources to load.

Don't show in changelog
2021-08-03 16:20:35 +02:00
Arthur Pacaud 068fbe653a Add new lines between functions back in TS files (#2859)
Only show in developer changelog
2021-08-03 14:35:07 +02:00
Florian Rival 287a17b634 Add a maximum size for the GDevelop logo so that it's not too big on large resolutions 2021-07-20 18:13:42 +01:00
Florian Rival 8174bca3b1 Fix progress bar not shown if GDevelop logo was hidden
Don't show in changelog
2021-07-19 21:41:24 +01:00
Florian Rival 7f6388c6f5 Make the loading screen customizable (#2814)
* Allow to choose the style of the GDevelop logo (light, dark, colored or plain)
* Allow to choose the background color and an optional background image
* Allow to choose the size of the progress bar (with a minimum and maximum size)
* Allow to choose the duration of the fade in animations and the minimum time the loading screen is shown
* Use the **new preview button in the game properties** dialog to run a preview with the loading screen shown
2021-07-19 19:52:25 +01:00
Florian Rival 1b965b65a4 Fix variables not shown properly in the debugger
* This removes toJSON method on gdjs.Variable. This was just introduced in beta 111, if you're using it, please use toJSObject instead and JSON.stringify.
2021-07-14 22:08:00 +01:00
Florian Rival f1120238ec Slightly improve rendering scheduling for games 2021-07-13 13:51:32 +01:00
Florian Rival 5d6a2bb3a0 Fix GDJS tests (regression since rework of GDJS build in the editor)
Don't show in changelog
2021-07-13 13:46:32 +01:00
Florian Rival f3a49ad2cf Speed up GDJS build (including at editor startup) in development
This reduces the number of copied files (let esbuild build directly in the proper output folder).
Also avoid copying the source files after every change (avoiding ~3-4 seconds of copy).

Overall, a change in GDJS/Extensions results in 1-3 seconds of build, instead of almost 10 sometimes due to the large number of file copies.

Only show in developer changelog
2021-07-12 18:11:17 +01:00
Florian Rival 965f7aab32 Fix getting the length of an object array always returning 0 2021-06-22 10:16:43 +02:00
Arthur Pacaud 1d5eb8e529 Move JSON and JS variable conversions to gdjs.Variable (#2740)
Only show in developer changelog
2021-06-16 16:59:12 +01: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 fc8b724e3c Export extension dependencies exported when the extension is used (#2671)
* This for example allow to export the vibration extension only if it's used in events.

Only show in developer changelog
2021-06-06 16:45:47 +01:00
Florian Rival 473661b8a2 Fix typings 2021-06-06 15:36:01 +01:00
Florian Rival 350fea08bf Enable serialization of effects in gd::Object
Don't show in changelog
2021-06-05 16:55:28 +01:00
Harsimran Singh Virk 83db8ce272 Added Effects Container in gd::Object (#2683)
Only show in developer changelog
2021-05-31 22:22:08 +01:00
Florian Rival 7b3987bae4 Upgrade TypeScript to version 4.3.2 for GDJS game engine (#2688)
Only show in developer changelog
2021-05-27 12:37:54 +01:00
Aurélien Vivet c242e1747b Fix "debug draw" not taking into account camera zoom and rotation (#2636) 2021-05-12 18:55:37 +01:00
Florian Rival 87c5007a25 Add Bitmap Text example
Don't show in changelog
2021-05-09 19:45:29 +01: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 cbdfd344e3 Fix shortcut in preview and text entry not working anymore
Fix #2605

Don't show in changelog
2021-05-06 19:29:18 +01:00
Florian Rival 3266559cb6 Add actions, conditions and expressions to get the position of an object center or set its position using its center (#2593)
* This is useful for making concise actions or conditions.
* This is also useful because for some objects, the center is not located at half the width and the height of the object.
* You can use `Object.CenterX()` and `Object.CenterY()` to get the position of the center of an object in an expression.
2021-05-02 18:43:28 +01:00
Florian Rival c295456231 Fix sprite objects updating their displayed image one frame too late (#2597)
* This fixes some "flickering" when a sprite is just created, when a scene is changed or when external layout objects are created on a scene.

Fixes #1285
2021-05-01 18:05:25 +01:00
Florian Rival 79e033d57b Increase timeout for GDJS tests and fix a type issue
Don't show in changelog
2021-04-30 11:48:08 +02:00
Florian Rival f0fc709a84 Fix tests (fix regression due to inexact rad/deg conversion) 2021-04-30 09:57:31 +02:00
Aurélien Vivet 50278b1ab2 Fix page scrolling when keyboard was used in games embedded in web pages (#2589) 2021-04-27 21:38:53 +01:00
Aurélien Vivet 5f4fde7a56 Add new expressions XFromAngleAndDistance and YFromAngleAndDistance (#2558) 2021-04-25 21:08:29 +01:00
Arthur Pacaud 5ecdfa1c7f Convert Firebase extension to TypeScript (#2417)
Only show in developer changelog
2021-04-24 17:58:36 +02:00
Arthur Pacaud 6f64fd3d1c Fix "Sound is playing" condition not consistent when an audio file is being loaded (#2555)
* Because of this, this could create some glitches when playing sounds using the condition to check if a sound was already playing (for example, it could trigger multiple times a sound).
2021-04-18 18:34:05 +01:00
D8H 4b3fa9fc39 Fix hitboxes not invalidated in TestRuntimeObject (#2534)
Only show in developer changelog
2021-04-11 20:22:54 +01:00
Florian Rival 54ef7482cf Fix performance issues on iOS by upgrading internal rendering engine to PixiJS v6 (#2447)
* Thanks @Bouh and @arthuro555 for the help!

Co-authored-by: Bouh <bouh.vivez@gmail.com>
2021-04-09 23:58:18 +01:00
Florian Rival 86eff4e408 Fix sounds/musics playing for a very short time at the default volume instead of the specified one
Fix #2490
2021-04-08 23:59:34 +01:00
D8H 49827984ac Allow an object moving vertically to change direction when diagonals are forbidden in the Top-down behavior. (#2516)
* If multiple keys are pressed, the last one is used to move the object.
2021-04-07 00:19:05 +01:00
Florian Rival fada85d41d Fix export to Android/iOS failing if AdMob id was containing invalid characters (#2510) 2021-04-05 13:31:12 +01:00
Aurélien Vivet 55da9eb2ef Add an action to display collision hitboxes and points of objects during the game (#2394)
* This is useful to check the proper set up of objects and check the position of points of objects during the game.
2021-04-02 00:11:22 +01:00
Arthur Pacaud 1640ca49d7 Fix games hanging when using an empty While event (#2480) 2021-03-28 16:55:22 +01:00
Florian Rival 019920009a Fix ToJSON wrongly transforming an empty string to a variable containing the number 0 (#2475) 2021-03-27 15:44:45 +00:00