Commit graph

966 commits

Author SHA1 Message Date
lawnjelly
d56d1ff4d2 Deprecate NOTIFICATION_MOVED_IN_PARENT
* NOTIFICATION_MOVED_IN_PARENT makes node children management very inefficient.
* Replaced by a NOTIFICATION_CHILD_ORDER_CHANGED (and children_changed signal).
* Most of the previous tasks carried out by NOTIFICATION_MOVED_IN_PARENT are now done not more than a single time per frame.

This PR breaks compatibility (although this notification was very rarely used, even within the engine), but provides an alternate way to do the same.
2024-04-20 07:52:05 +01:00
Aleksey Kapustyanenko
99c8cd2b17 Rotary input for 3.x 2024-02-18 22:25:10 +04:00
Rémi Verschelde
8fe6d9db44
Sync controller mappings DB with SDL2 community repo
Synced with gabomdq/SDL_GameControllerDB@232c738ce0

(cherry picked from commit 10445d80d8)
2024-01-30 15:16:22 +01:00
Caroline Joy Bell
9c0bd332a5
Fix #if *_ENABLED inconsistencies, should check if defined
Co-authored-by: Rémi Verschelde <rverschelde@gmail.com>
2024-01-17 10:21:40 +01:00
Fredia Huya-Kouadio
e9045a6d03 Add Android project settings for gesture support
- Include project setting to enable long press for Android devices
- Include project setting to enable pan and scale gestures on Android devices
2023-11-03 05:25:18 -07:00
Rémi Verschelde
54640046a9
Sync controller mappings DB with SDL2 community repo
Synced with gabomdq/SDL_GameControllerDB@eb831f75ab

Fixes #83552.

(cherry picked from commit d3c0a7d598)
2023-10-30 14:51:07 +01:00
Rémi Verschelde
dc08fa9177
Sync controller mappings DB with SDL2 community repo
Synced with gabomdq/SDL_GameControllerDB@fc4b33c872

(cherry picked from commit e40b0b3ed8)
2023-10-30 14:49:14 +01:00
ryanabx
22c9ac1540 [3.x] Add --lsp-port as a command line argument 2023-09-20 23:59:50 -05:00
Hugo Locurcio
f84a202235
Mark debugger limits settings as requiring a restart
These settings are only read once on engine initialization.
2023-09-16 00:31:35 +02:00
Ricardo Subtil
d0d2680245
Ensure joy_connection_changed is emitted on the main thread
(cherry picked from commit 1bb73b0689)
2023-08-28 17:27:17 +02:00
Rémi Verschelde
dfed698ee3
Merge pull request #79706 from puzzud/3.x
[3.x] Prevent double input events on gamepad when running through steam input
2023-08-02 17:29:55 +02:00
lawnjelly
5162efbfe9 2D Fixed Timestep Interpolation
Adds support to canvas items and Camera2D.
2023-08-01 16:07:48 +01:00
puzzud
140440ee82 [3.x] Prevent double input events on gamepad when running through steam input #79706
Co-authored-by: Eoin O'Neill <eoinoneill1991@gmail.com>
2023-07-20 16:35:44 -04:00
lawnjelly
43e181a00a Single Compilation Unit build.
Adds support for simple SCU build.
This speeds up compilation by compiling multiple cpp files within a single translation unit.
2023-07-02 20:13:16 +01:00
lawnjelly
63d208d1b0 Input - fix just pressed and released with short presses
Previously if an action was both pressed and released on the same tick or frame, `is_action_just_pressed()` would return false, resulting in missed input.

This PR separately the timestamp for pressing and releasing so each can be tested independently.
2023-06-12 16:33:48 +01:00
Hugo Locurcio
d1c8c5dd30
Fix compilation of basis unit test 2023-06-08 21:57:59 +02:00
fabriceci
8245fd3275
Test, refactor and fix a bug in Basis.get_axis_angle
Backport of #63428.

Co-authored-by: juanFdS <juan9794@gmail.com>
2023-06-07 13:47:47 +02:00
Fredia Huya-Kouadio
94d6c3dcc6 Augment the InputEvent class with a CANCELED state
The `InputEvent` class currently supports the `pressed` and `released` states, which given the binary nature, is represented by a `bool` field.
This commit introduced the `CANCELED` state, which signals that an ongoing input event has been canceled.
To represent all the states, the `InputEventState` enum is added and the `InputEvent` logic is refactored accordingly.
2023-05-12 15:22:54 -07:00
Fredia Huya-Kouadio
2509c1691d Follow up to https://github.com/godotengine/godot/pull/76400 to fix input ANR in the Godot Android editor 2023-05-11 19:10:31 -07:00
Pedro J. Estébanez
e5b399be65 Allow concurrent buffering and dispatch of input events 2023-05-08 09:15:48 +02:00
Fredia Huya-Kouadio
f3cdff46fc Add benchmark logic
Add benchmarking measuring methods to `OS` to allow for platform specific overrides (e.g: can be used to hook into platform specific benchmarking and tracing capabilities).
2023-03-20 23:29:36 -07:00
Julien Reichardt
669749fa39
Fix Standard Gamepad Mapping triggers
(cherry picked from commit 0cec4fcc65)
2023-03-06 13:48:17 +01:00
Ricardo Subtil
e814861950
Change message of unknown joypad property from error to warning
(cherry picked from commit e841f13cdc)
2023-03-06 13:48:17 +01:00
Rémi Verschelde
bab7f1c0a6
Sync controller mappings DB with SDL2 community repo
Synced with gabomdq/SDL_GameControllerDB@436c7e3d54

(cherry picked from commit 20d6a698c7)
2023-03-06 13:48:17 +01:00
Rémi Verschelde
50c598e229
Sync controller mappings DB with SDL2 community repo
Synced with gabomdq/SDL_GameControllerDB@2e7bc45a45

(cherry picked from commit 99ae2d5212)
2023-03-06 13:48:17 +01:00
Julien Reichardt
2c18066231
Add PS3 controller guide button
(cherry picked from commit e926e1bb34)
2023-03-06 13:48:17 +01:00
Travis Veralrud
28b11a0785 iOS: Fix memory leak on touch input
Replaces iOS gesture with touch implementation

Fixes #66422

Remove godot_view_gesture_recognizer

It's now unused.

Remove input_devices/pointing/ios/touch_delay

Unused with removal of gesture.

Remove unused methods from interface

Implementation made obsolete in prior commit

Style conformance
2023-02-15 21:38:55 -08:00
Rémi Verschelde
617f5c5580
Merge pull request #64424 from RandomShaper/safe_input_synth_3.x
[3.x] Warn users about unsafe usage of `InputEvent`
2023-02-01 13:06:32 +01:00
Pedro J. Estébanez
9cd84224bd Warn users about unsafe usage of InputEvent 2023-01-31 14:41:27 +01:00
Rémi Verschelde
d4da275969
Merge pull request #69367 from dogboydog/3.x_csharp_build_exit_code
3.x Exit editor with non-zero return code if --build-solutions fails
2023-01-23 17:03:50 +01:00
Rémi Verschelde
1426cd3b3a
One Copyright Update to rule them all
As many open source projects have started doing it, we're removing the
current year from the copyright notice, so that we don't need to bump
it every year.

It seems like only the first year of publication is technically
relevant for copyright notices, and even that seems to be something
that many companies stopped listing altogether (in a version controlled
codebase, the commits are a much better source of date of publication
than a hardcoded copyright statement).

We also now list Godot Engine contributors first as we're collectively
the current maintainers of the project, and we clarify that the
"exclusive" copyright of the co-founders covers the timespan before
opensourcing (their further contributions are included as part of Godot
Engine contributors).

Also fixed "cf." Frenchism - it's meant as "refer to / see".

Backported from #70885.
2023-01-10 15:26:54 +01:00
Rémi Verschelde
5c42b82fd5
Merge pull request #70412 from Calinou/video-driver-change-require-restart
Fix Driver Name editor setting not requiring an editor restart
2022-12-22 08:56:43 +01:00
Hugo Locurcio
df301de95f
Fix Driver Name editor setting not requiring an editor restart 2022-12-21 18:59:01 +01:00
smix8
8e4f8c82c5 [3.x] Move navigation server finalize before physics server
Moves finalize_navigation_server() before physics server (and also OS in 3.x). The NavigationServer command queue can have objects from other servers like physics or visuals so it needs to be flushed before.
2022-12-20 11:16:47 +01:00
Fredia Huya-Kouadio
4110d48b63 Add boot splash for the Godot Editor 2022-12-16 09:54:50 -08:00
Rémi Verschelde
84d2f884f8
Sync controller mappings DB with SDL2 community repo
Synced with gabomdq/SDL_GameControllerDB@adf7ec1edf

(cherry picked from commit 5f35b1d516)
2022-12-12 14:49:23 +01:00
Fabio Alessandrelli
41b880582e
[Web] Add PS3 gamepad mapping for FF+Linux.
(cherry picked from commit 0fe0505f77)
2022-12-12 14:15:06 +01:00
dogboydog
6903922ace set exit code EXIT_FAILURE when --build-solutions fails 2022-11-29 23:25:28 -05:00
Rémi Verschelde
4769aa4499
Merge pull request #64564 from timothyqiu/word-wrap-3.x
[3.x] Fix `String::word_wrap()` for long words
2022-11-24 16:06:52 +01:00
Fredia Huya-Kouadio
5aab84befb Fix 'save & restart' logic for the Android Editor 2022-11-16 03:29:40 -08:00
Rémi Verschelde
92aedd5063
Merge pull request #68190 from ztc0611/3.x-ios-promotion
[3.x] Add ProMotion/High Refresh Rate Support to iOS Exports
2022-11-03 11:34:22 +01:00
Zach Coleman
e538771d4f [3.x] Add ProMotion Support to iOS Exports 2022-11-02 22:14:34 -04:00
Zach Coleman
5e7b0e3a61 [3.x] Add iOS UI Options 2022-11-02 22:13:18 -04:00
Fredia Huya-Kouadio
be4b07c3e4 Add double_tap attribute to InputEventScreenTouch
This provides parity with the `InputEventMouseButton` allowing for proper conversion between the two events.
2022-10-20 11:56:11 -07:00
Rémi Verschelde
506f7d8360 Merge pull request #64870 from MarcusElg/naninfprinting3.x
[3.x] Improve string formatting (%f) for inf and nan
2022-10-03 13:57:30 +02:00
Rémi Verschelde
7104647c65 Sync controller mappings DB with SDL2 community repo
Synced with gabomdq/SDL_GameControllerDB@81ddc73d17

(cherry picked from commit b33460c6ca)
2022-09-27 23:52:24 +02:00
Michael Alexsander
6f0c852c9b Port Input.action_press/release() changes 2022-09-26 22:25:10 -03:00
Andres Hernandez
477c7f9b74 Updated gamecontrollerdb.txt to latest to include new mappings for various controllers, including Xbox One, Nintendo Switch, Steam Deck, and 8BitDo
(cherry picked from commit 9054399900)
2022-09-09 14:11:50 +02:00
Haoyu Qiu
7ed2b09bc0 Fix parsing of XML CDATA and add test cases 2022-09-09 10:16:36 +08:00
Pedro J. Estébanez
5d0cd8659b Fix forwarding of CLI arguments taking an option
(cherry picked from commit 335a4099de)
2022-08-29 15:53:25 +02:00