Commit Graph

42 Commits

Author SHA1 Message Date
Florian Rival 43f5bd1c0e Allow to edit object properties, behaviors, variables and effects directly from the properties panel (#6898)
* When an object is selected (or when "Edit object" button is clicked in the properties panel after choosing an instance), the properties panel will show the properties of the object.
* This allows for fast edition of most elements of an object: appearance, properties, but also behaviors, variables and effects. Most workflow and iterations on your game should be faster, from adapting the appearance of a text to tweaking behaviors and updating the preview to check the result in realtime.
2024-09-27 10:56:39 +02:00
Clément Pasteau dc45f3dae5 Allow changing Opacity & Flip directly in Instance Properties Panel (#6935)
* This allows playing around with instances directly on the canvas instead of relying on the actions to flip or change opacity and needing to start a preview
2024-09-13 13:39:03 +02:00
D8H c7fcf48ba5 Hide a duplicated expression to get the text of a text input (#6892) 2024-08-28 14:07:23 +02:00
D8H cd3186d2d8 Fix duplicated "email" choice for text input type (#6803) 2024-07-26 12:22:36 +02:00
Clément Pasteau 196ea5e480 Fix multiplayer notifications (#6788)
Do not show in changelog
2024-07-24 15:14:53 +02:00
Florian Rival a51c223c9c Add experimental, work-in-progress visual editor for custom objects (aka "prefabs"/"templates") (#6699)
* Still to do: 
  * Properly handle effects (disable 3D effects) for layers
  * Handle hot reloading properly
  * Avoid duplicating the configuration of the custom object inside each object created from it. Instead, only store the modified values.
  * Add a "Extract as a custom object ("prefab")" when selecting instances in a scene.
  * Add a dialog to give choice between 2D or 3D object when creating one.
  * Make sure "behavior shared data" are properly handled (physics, pathfinding...)
  * Check if we need to give an expression to translate coordinates from the parent to the local custom object.
  * Ensure a deleted custom object does not break the editor

Co-authored-by: Davy Hélard <davy.helard@gmail.com>
2024-07-11 11:27:34 +02:00
Clément Pasteau 410fecf715 Multiplayer improvements (#6676)
* An object changing layer during the game is now properly moved to the layer on the other players games
* Video object can be synced as well
* Pathfinding behavior is now properly synced, allowing a smooth prediction on other players games
* Spine object is now synced as well
2024-06-18 16:52:41 +02:00
Clément Pasteau 0eb7b85e77 Improve multiplayer sync (#6672)
* Fix a rare case where the lobby was joined but did not appear as such in the interface
* Text inputs are now synced properly
* Add 2 new expressions for current player ping & username
* Fix Physics2 behavior being properly synced
2024-06-18 12:38:16 +02:00
D8H 75bfa5cb45 Unify variable instructions and handle local variables (#6459)
- Global or scene variables can be used with a unique action and condition.
- Object variables can be used with a unique action and condition.
- Variables need to be declared following the same logic as the new expression syntax.
- Local variable can be declared on events
- Extensions have their own variables
- Show a diagnostic report when a preview is launched and there are missing scene variables, object variables or behaviors.
  - This is especially useful if external events are shared between several scenes.
2024-05-20 23:14:07 +02:00
Arthur Pacaud (arthuro555) 31ef3fec58 Add TypeScript type checking to JsExtension.js files (#6321) 2024-03-09 17:22:12 +01:00
AlexandreS 6945409280 Fix: Update BBText hitboxes when text changes (#6385)
- Also: Deprecate current font family setting action that uses a string as input and create a new action that uses a selector instead.
2024-02-27 08:57:17 +01:00
D8H 44a0e22f97 Add autocompletion for "input type" action of text input objects (#6308) 2024-02-01 11:54:09 +01:00
Clément Pasteau a377467031 Revert "Type JsExtensions files with typescript" (#6220)
Don't show in changelog
2024-01-18 16:01:28 +01:00
Arthur Pacaud (arthuro555) ad18eab4ae Type JsExtension.js files with TypeScript (#6200)
* Also improve typing of the C++ Core classes in TypeScript.

Only show in developer changelog
2024-01-18 09:53:24 +01:00
D8H 1f852648ef Make games launch faster by loading resources in the background (#5572)
* Only the first scene and global objects resources (images, sounds, 3D models etc...) will be downloaded during launch of the game. This usually allows for a very fast loading time.
* Other scenes resources will continue to load in the background. It has no impact on the game performance as this is done on other threads by the browser or the engine running the game.
* Scenes are loaded in the order they are listed in the project manager.
* You can also use actions and expressions to prioritize a scene (if it's known that a level will be needed soon for example) or read the current loading progress. This allows to create lightweight scenes that can act as custom loading screens. Otherwise, the launch loading screen will be shown if a scene is still loading when launched.
* Read more about this on https://wiki.gdevelop.io/gdevelop5/all-features/resources-loading/.
2023-11-22 22:51:24 +01:00
D8H 4f98ffa9ab Fix memory some memory leaks in the scene editor (#5853) 2023-11-10 16:14:54 +01:00
D8H 1318523804 Fix a crash when objects are used after being deleted (#5865) 2023-11-02 13:09:54 +01:00
D8H ceb24f0edb Unify text expressions conditions and actions between objects (#5778) 2023-10-16 18:17:50 +02:00
D8H 18e8020bf5 Simplify the list of actions/conditions by removing duplicated actions/conditions that are common between objects (#5494)
* Actions, conditions and expressions related to opacity, size (width/height), scale, animations and other common features are now visible only once when you search for them in actions/conditions (instead of being shown once for every type of object supporting them). This reduces the risk of confusion for new or existing users, notably when multiple versions of the same action were returned by the search and was making it difficult to choose the proper one.
* Internally, this works thanks to default, built-in behaviors that are supported by the objects.
2023-08-25 11:11:55 +02:00
D8H c169c5037a Use instance default size as default custom size (#5334) 2023-05-23 09:41:43 +02:00
Clément Pasteau 212c58f67c Fix TextInput having extra margins on iOS (#5277) 2023-05-09 10:35:54 +02:00
Aurélien Vivet cc0a01bbdb Add an action to focus a text input object (#5268)
* Useful to let the player type something without having them manually clicking/touching the input on the screen.
2023-05-01 21:21:57 +02:00
D8H 94045aec91 Fix typo in comments and message strings (thanks @st-Wook!) (#5262)
Co-authored-by: supertree-wook <phk09242@supertree.co>
2023-04-28 11:58:51 +02:00
Florian Rival 4d1fde608b Fix missing translation marker
Don't show in changelog
2023-01-14 14:19:06 +01:00
Florian Rival e40666bd73 Improve wording of the action to set a Text Input read-only 2023-01-14 14:15:44 +01:00
Clément Pasteau 1b7d258727 Remove mentions of "experimental" for features and tools widely used and supported (#4749) 2022-12-26 15:02:56 +01:00
AlexandreS 41fa153ddf Add description to a certain amount of parameters in actions and conditions (#4716) 2022-12-20 13:59:10 +01:00
Clément Pasteau 473b16bbc1 Introduce no-unused-vars ts rule for GDJS & Extensions (#4469)
Do not show in changelog
2022-10-31 14:52:03 +01:00
D8H bc75d6003c Add back parts of a revert for the TextImput fix (#4453)
* Don't show in changelog
2022-10-30 14:20:53 +01:00
Clément Pasteau 398bff8492 Fix input not being positioned properly (#4450) 2022-10-28 11:11:24 +02:00
D8H 80cb6d697c Handle custom objects at runtime (#4294)
* Don't show in changelog
2022-10-18 13:36:48 +02:00
D8H a852e91690 Add missing expression group icons (#4353) 2022-10-04 14:56:59 +02:00
D8H 0706a54305 Reorganize extensions categories (#4345) 2022-10-04 10:37:27 +02:00
D8H 3aa636861c Custom objects take the icon of one of their sprite child (#4316)
* Don't show in changelogs.
2022-09-27 16:19:12 +02:00
AlexandreS 4100b24dfd Improve display of black icons on dark themes (#4302) 2022-09-16 12:22:11 +02:00
D8H b8e9bc801a Add a properties editor for custom objects (#4227)
* Don't show in changelogs
2022-09-02 14:13:41 +02:00
Aurélien Vivet 41c9069289 Disable the autocomplete for Text Input objects (#3895) 2022-06-01 16:56:19 +02:00
Florian Rival 50326e4d21 Add missing Text Input to the web-app (#3785)
Don't show in changelog
2022-03-29 13:17:44 +02:00
Florian Rival 67810b79ce Refactor some redundant code in Text Input tests (#3768)
Don't show in changelog
2022-03-21 23:08:54 +01:00
Florian Rival 649a36ac30 Fix text input wrongly staying visible even if hidden or layer visibility turned off (#3755) 2022-03-16 18:56:11 +01:00
Florian Rival 7496093e63 Fix text input not properly removed when a scene stops or is paused (#3689)
Don't show in changelog
2022-02-24 16:13:08 +00:00
Florian Rival 71e3b65134 Add a new "Text input" object (#3508)
* This object displays a field where the player can type a text.
* The cursor can be moved and the text can be selected and entered like any other input field according to the platform. For example, you can use all the usual keyboard shortcuts or emoji pickers on desktop. On mobile, all the usual gestures are supported, emoji pickers, text selection, clipboard...
* You can choose between different input field types: text, text area, email, password, phone number... This allows the keyboards to be adapted on mobile devices. The password field will also hide what is entered by the user.
  * Because the object is way more convenient to use (and actually works on mobile devices) than the Text Entry object, it is recommended you use it almost always instead of the Text Entry object.
* This object has 2 limitations, because it's using the native capabilities of the platform to display a "native" input field: the Z order can't be changed (the object is *always* displayed on top of the game) and no effects can be displayed. Because it's handled by the operating system, it may also slightly differ on each platform.
  * It's recommended you avoid displaying the object outside of a menu or a static UI, as it may not always display exactly at a position synchronised with the rest of the rendering of the game, especially if used in a fast paced or moving scene.
2022-02-13 15:18:31 +01:00