Commit Graph

248 Commits

Author SHA1 Message Date
c978f27634 Implemented switching between the running game and the editor in the android editor. 2023-06-15 10:21:23 +02:00
0a4065bb9e Fix error. 2023-06-11 13:56:35 +02:00
59c6ca8d85 Fix android build. 2023-06-11 13:46:15 +02:00
dbbfcdd526 Ported: Fix issue causing the Android editor to crash when creating a new AudioStreamMicrophone
Fixes #73801
- m4gr3d
9c334fa242
2023-06-11 13:40:47 +02:00
d7499a0868 Ported: Improve touchpad and mouse support for the Android editor
- m4gr3d
ccd36e0dbe
2023-06-11 13:29:53 +02:00
d6f5dd35e8 Ported: Enable granular control of touchscreen related settings
- m4gr3d
61e41facc7
2023-06-11 12:57:25 +02:00
4f2f3f4cf0 Fix android editor build. 2023-06-11 10:45:38 +02:00
3331a7ae04 Ported: 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.
- m4gr3d
94d6c3dcc6
2023-06-11 10:26:23 +02:00
7e64510427 Ported: Add setting to control the window used to run the project for the Android editor
The follow options were added to the (new) `run/window_placement/android_window` editor setting:

- `Auto`: choose how to run the project based on the device screen size
- `Same as Editor`: run the project in the same window as the editor
- `Side-by-side with Editor`: run the project in an adjacent window to the editor
- m4gr3d
b5a908c985
Removed my force launch adjacent solution in favor of this.
2023-06-11 09:52:39 +02:00
Rémi Verschelde
90cd6b3cdc Linux: Don't use udev for joypad hotloading when running in a sandbox
udev doesn't work in sandboxes, notably the new Steam container runtime
as found notably on the Steam Deck, and in Flatpak/Snap packages.

Like SDL does, when we detect such a containerized environment, we fall
back to parsing `/dev/input` directly.
See smcv's comments in #76879 for details.

Fixes #76879.

(cherry picked from commit 788cb74cc676627b6c9b7e29a47200141cca92ff)
2023-06-11 08:47:41 +02:00
ca982ac507 Ported: 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).
- m4gr3d
Also contains some mouse pointer improvements.
2023-05-01 15:32:01 +02:00
Fredia Huya-Kouadio
d54b5ad8f8 Downgrade android gradle plugin to version 7.2.1.
Version 7.3.0 changes the build layout which causes updates to the generated shared libraries to not be picked up.
2023-05-01 12:01:13 +02:00
e32e0af40f Ported: Fix null in android text entry system.
- jasonwinterpixel
cec8e09948
2023-04-20 23:46:17 +02:00
6bba08c00b Ported: Bump the target SDK version to 33 (Android 13)
- m4gr3d
2803c471e8
2023-04-15 11:15:16 +02:00
76f9237411 Ported: Fix directory access when the running app has the All files access permission
- m4gr3d
e2c7d3e6c0
2023-04-15 11:11:29 +02:00
Chris Weber
a8137bb4c1 increased max touches to 32 for ios
(cherry picked from commit 54bd204377fb73a5871946005bd7cbbad4b91df9)
2023-03-12 19:13:26 +01:00
PrecisionRender
79492d4ecb Fix Xbox Series controller duplicate input
(cherry picked from commit e9400867b3aff74ef0b4d3ba3a7b9f3efc357bfc)
2023-03-12 15:41:15 +01:00
Juan Linietsky
8ff42d39ee Fix AltGR getting stuck on Windows right alt-tab
Fixes #28511.

(cherry picked from commit e01452adb0ac51bbbb0304773b1efd28ca1a3f2d)
2023-03-12 15:40:32 +01:00
930dccc430 Ported: iOS: Implement missing gamepad.buttonOptions, buttonMenu, and buttonHome joy buttons.
- BZ1234567890
0a85e4db71
2023-03-12 15:32:44 +01:00
9fb30c4441 Ported: Use the new API for virtual keyboard height detection on Android, bugfix .
- necrashter
9bdb585318
2023-03-12 15:26:58 +01:00
75ed28f2b3 Ported: 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
- tbveralrud
28b11a0785
2023-03-12 14:08:29 +01:00
0d12c7ed08 Ported: Fix the issue causing long-press on a selected node on the scene tree to trigger both the context menu and the rename functionality.
- m4gr3d
6528f984fe
2023-03-12 13:03:41 +01:00
0eb9d6648f Added a setting to force launch the project in an adjacent window in the android editor. 2023-02-08 09:25:47 +01:00
7f358b25a6 Fix missing import. 2023-02-07 10:38:29 +01:00
e9c3603024 Fix an another typo. 2023-02-07 09:46:51 +01:00
fdd62f1d9a Fix typo. 2023-02-07 08:55:00 +01:00
f05211351b Fix typos. 2023-02-07 03:09:55 +01:00
de642e971d Ported: Implement file provider capabilities. The previously used file sharing api was restricted after Android N causing the engine to crash whenever used on devices running Android N or higher.
- m4gr3d
b04c9a71f4
2023-02-07 02:58:31 +01:00
db67fa53ea Ported: Add a theme usability setting which updates the touch area of UI elements (e.g: scrollbar) for the editor on touchscreen devices
- m4gr3d
8170b7ae1e
2023-02-07 02:50:11 +01:00
e6248b33ab Ported: Provide a delegate implementation for the killProcess logic on Android
The implementation forwards the kill request to the Godot host for handling. If the Godot host is unable to handle the request, it falls back to the `OS_Unix::kill(...)` implementation.
- m4gr3d
48a55ffad3
2023-02-07 02:44:47 +01:00
2e7ee5cef6 Ported: Update the logic to calculate the screen scale on Android
Takes into account the ratio between the screen size and the default window dimensions.
- m4gr3d
48aedb239e
2023-02-07 02:22:44 +01:00
Jordan Schidlowsky
c2d57b6898 Windows: Fix heap overflow setting native icon
Fixes #71697.
2023-02-07 02:15:31 +01:00
79842beb9a Ported: Expose OS.read_string_from_stdin() to the scripting API
This can be used in scripts to read user input in a blocking manner.
This also removes the unused `block` argument, which is always `true`.
- Calinou
badcfa2523
2023-02-07 01:07:31 +01:00
33ab320721 Fix sprintf deprecation warning on osx. 2023-01-23 22:03:48 +01:00
b03baa989b Ported: Bump json5 from 1.0.1 to 1.0.2 in /platform/web
Bumps [json5](https://github.com/json5/json5) from 1.0.1 to 1.0.2.
- [Release notes](https://github.com/json5/json5/releases)
- [Changelog](https://github.com/json5/json5/blob/main/CHANGELOG.md)
- [Commits](json5/json5@v1.0.1...v1.0.2)

---
updated-dependencies:
- dependency-name: json5
  dependency-type: indirect
...

90132061f5
2023-01-16 14:22:10 +01:00
Marius Seufzer
568823dbcc iOS: Add new model identifiers for DPI metrics
Co-authored-by: bruvzg <7645683+bruvzg@users.noreply.github.com>
(cherry picked from commit ee5057a42e52e2e5b87ee0e6423ac3669ec22cd8)
2023-01-16 14:16:28 +01:00
bruvzg
f8afe1af5e Fix stylus tilt Y direction.
(cherry picked from commit 5478f9b842431358a0a3b974da9ea8cb109d7001)
2023-01-16 14:15:57 +01:00
Fabio Alessandrelli
f2682927f0 Expose API to force file system sync. 2023-01-16 14:15:08 +01:00
7b0a6b3da8 More fixes. 2023-01-16 01:55:43 +01:00
ee1a7ad8ce Fixed more typos. 2023-01-16 01:22:29 +01:00
5d2cd49139 Fix typos. 2023-01-16 00:54:48 +01:00
2cd4e4d828 Renamed Set to RBSet. 2023-01-15 19:42:08 +01:00
1b0aac6028 Renamed Map to RBMap. 2023-01-15 19:12:50 +01:00
faf7b1573f Fix warnings. 2022-12-31 16:02:27 +01:00
213f393293 Fix typos with codespell. 2022-12-22 19:51:25 +01:00
9f9113c1b2 Ported: Upgrade Android gradle plugin to version 7.2.1 - m4gr3d
de45636fd3
2022-12-22 17:48:33 +01:00
b6252e8d3a Ported: [Web] Add the "serve" and "run" scons targets.
You can now run the test HTTP server by calling:
scons p=javascript serve
If you also wish to run the browser, call instead:
scons p=javascript run
The default listen port is 8060, but can be overriden via the env
variable GODOT_WEB_TEST_PORT which must be a valid integer.
- Faless
eda014197f
2022-12-22 17:45:13 +01:00
91e598aa7b Ported: SCons: Cleanup DEBUG, _DEBUG and NDEBUG defines
- `_DEBUG` is MSVC specific so it didn't make much sense to define for
  Android and iOS builds.
- iOS was the only platform to define `DEBUG`. We don't use it anywhere
  outside thirdparty code, which we usually don't intend to debug, so it
  seems better to be consistent with other platforms.
- Consistently define `NDEBUG` to disable assert behavior in both `release`
  and `release_debug` targets. This used to be set for `release` for all
  platforms, and `release_debug` for Android and iOS only.
- Due to the above, I removed the only use we made of `assert()` in Godot
  code, which was only implemented for Unix anyway, should have been
  `DEV_ENABLED`, and is in PoolAllocator which we don't actually use.
- The denoise and recast modules keep defining `NDEBUG` even for the `debug`
  target as we don't want OIDN and Embree asserting all over the place.
- akien-mga
b0b759e6da
2022-12-22 17:42:54 +01:00
4baf6dd61d Ported: Replace local web server setup for web editor with a Python-based solution
This makes it easier to set up, as you always have Python installed
when building Godot. On the other hand, you don't always have Node.js
+ npm installed (and you may not want to spend time running `npm install`).
- Calinou, akien-mga
816db5c215
2022-12-22 16:38:31 +01:00
Dennis Ranke
6c85c2389b handle ambiguous input events as touch events
there can be events can have both SOURCE_TOUCHSCREEN and SOURCE_STYLUS. handle them as touch events rather than mouse events.

(cherry picked from commit 408000752cb39f93b2639fdeefb783e4dd76910f)
2022-12-22 13:56:16 +01:00