Commit Graph

973 Commits

Author SHA1 Message Date
lawnjelly 9221e6a466 Fix physics tick count in `Input.action_press` and `Input.action_release`
The physics tick count was not yet updated there.
2024-07-16 07:11:27 +01:00
lawnjelly 40961d62e2 Fix physics tick counter
The counter is now incremented at the start of a physics tick rather than the end.
2024-07-01 08:58:02 +01:00
lawnjelly d80b206643 Physics Interpolation - refactor client interpolation pump
* Move client interpolation pump to earlier in the iteration before 3D physics synced
* Allow `get_global_transform_interpolated()` to prime the client interpolation inside a physics tick
2024-06-19 08:44:33 +01:00
smix8 c9258a2a68 Backport NavigationServerDummy
Backports the NavigationServer3DDummy from Godot 4 to compile Godot without NavigationServer module.
2024-05-22 00:52:23 +02:00
Programneer ffb2038903 [3.x] Don't define NO_EDITOR_SPLASH in export templates 2024-05-14 18:13:02 +02:00
Rémi Verschelde 43fa189927
Sync controller mappings DB with SDL 2 community repo
Synced with mdqinc/SDL_GameControllerDB@5b4efa3a20

(cherry picked from commit 1da02fa7be)
2024-04-25 16:24:13 +02:00
Rémi Verschelde 33bd19e123
Sync controller mappings DB with SDL 2 community repo
Synced with mdqinc/SDL_GameControllerDB@4c9b8dace8

(cherry picked from commit 6772047e50)
2024-04-25 16:24:13 +02:00
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