987 Commits

Author SHA1 Message Date
Pedro J. Estébanez
49700eb84b Make physics interpolation compatible with separate-thread rendering 2025-12-28 09:49:06 +01:00
lawnjelly
5aed565de5 Merge pull request #107583 from bruvzg/non_ex_fs
[3.x] Backport nonexclusive fullscreen mode.
2025-08-29 15:32:49 +01:00
lawnjelly
0718852d2c Add EditorSettings EDITOR_GET_CACHED 2025-07-01 17:00:08 +01:00
lawnjelly
aec5bf47dd Optimize hotspots with Object::derives_from 2025-06-23 09:15:24 +01:00
Pāvels Nadtočajevs
62e7304ffe [3.x] Backport nonexclusive fullscreen mode. 2025-06-16 11:31:50 +03:00
Alexander Hartmann
7560e27316 Fix Xbox Controller on Android
(cherry picked from commit cf00265386)
2025-06-13 18:49:45 +01:00
lawnjelly
76e2eb6394 Merge pull request #92950 from exyxz/fix-editor-splash
[3.x] Fix double `TOOLS_ENABLED` checks from `NO_EDITOR_SPLASH`
2025-05-19 15:41:44 +01:00
lawnjelly
0758ad0612 Add GLOBAL_GET cached macros.
GLOBAL_GET is an expensive operation which should not be used each frame / tick.
This PR adds macros which do a cheaper revision check, and only call the expensive GLOBAL_GET when project settings have changed.

Co-authored-by: Lukas Tenbrink <lukas.tenbrink@gmail.com>
2025-03-18 16:28:40 +00:00
Rémi Verschelde
fd9bd108af CI: Update Ubuntu runners to 24.04, but keep 22.04 for Linux builds
Pin clang-format to version 16, and black to 24.10.0.
Keep using Ubuntu 22.04 for Linux builds for portability.
2024-11-07 12:50:17 +01:00
lawnjelly
287bc6f41e Add warning when calling is_action_just_pressed() from _input()
Calling `is_action_just_pressed()` and `is_action_just_released()` from `_input()` is liable to cause duplicate detection bugs in user code.
2024-09-29 07:51:02 +01:00
lawnjelly
26405db222 Merge pull request #95791 from timothyqiu/split-empty-3.x
[3.x] Fix `split_floats` behavior when spaces are used as separators
2024-09-24 14:32:12 +01:00
Haoyu Qiu
905e8a39bf Fix parsing of 4. in Expression 2024-09-12 09:48:20 +08:00
Haoyu Qiu
a808f3e877 Fix split_floats behavior when spaces are used as separators 2024-08-19 15:14:10 +08:00
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
Programneer
6879b1d29a Fix double TOOLS_ENABLED checks from NO_EDITOR_SPLASH. 2024-06-09 20:42:40 +02: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