Commit Graph

350 Commits

Author SHA1 Message Date
e79ea9f3a8 Ported form godot: Fix spatial viewport multitouch detection support
Regression introduced by #77497
- m4gr3d
8f44765831
2023-06-28 12:50:27 +02:00
bruvzg
db0014d68a Use current keyboard layout in OS_X11::keyboard_get_scancode_from_physical. 2023-06-28 12:20:43 +02:00
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
bruvzg
84e3dbd406 Use symbols from .pdb only, to avoid incorrect names in the backtrace when symbols are missing.
(cherry picked from commit d99c32668a55ec56442f01e51f698a0cedb96bff)
2022-12-12 12:19:44 +01:00
nyanpasu64
6064befd94 Fix burning CPU with udev disabled on Flatpak
Fixes #67355.

(cherry picked from commit 0cbd1c85a96384ef93978661e408ce7c1b721847)
2022-12-12 12:12:48 +01:00
Rémi Verschelde
8be8577da6 SCons: Remove redundant -fomit-frame-pointer and -ftree-vectorize
- `-fomit-frame-pointer` is included automatically by both GCC and
  Clang in `-O1` and above.
- `-ftree-vectorize` is included automatically by GCC in `-O2` and
  beyond, and seems always enabled by Clang.

Closes #66296. See that issue for a detailed investigation.

(cherry picked from commit c5c3d13dc0dbbf95a2350f57d69e7cdc546d395d)
2022-12-11 19:12:18 +01:00
47e2a193c4 Fix typo. 2022-11-30 19:36:35 +01:00
8eb69b8052 Fix android build. 2022-11-30 19:33:24 +01:00
Pedro J. Estébanez
53a2098620 Fix newlines not honored in Windows console
This is relevant when building with `windows_subsystem=console`.

(cherry picked from commit e14c5186e25020a3759f7e444eba00fb3aa82bb3)
2022-11-30 19:25:59 +01:00
Abdulrahman Al Zeidi
238cd5d5bf Fix static object destructors being called on gpu selection with X11
(cherry picked from commit 5860f81c18a2de8b3f38d5a58946939b5cc81425)
2022-11-30 19:20:36 +01:00
bruvzg
1c5271b0e3 Update activation hack to work on Ventura.
(cherry picked from commit 153d06d79b3a1411a632e7df778369bc170d16e0)
2022-11-30 19:20:09 +01:00
bruvzg
47ab7e8ff8 Fix ⌘ + . + other modifier triggering twice.
(cherry picked from commit bfbbe9c1d043cdd8550f5e41a8976d785da10c0f)
2022-11-30 19:08:06 +01:00
Riteo
658e19194d Actually set the execinfo flag on non-glibc systems
(cherry picked from commit a3b53538920e1a60102623a894533da76f127c22)
2022-11-30 19:07:45 +01:00
Hugo Locurcio
5b2fa8320b Automatically use execinfo for crash handler on *BSD and musl-based Linux
Co-authored-by: Rémi Verschelde <rverschelde@gmail.com>
(cherry picked from commit 8e04bffbcfd5dc846e15c5e6471f96693ee698fe)
2022-11-30 19:07:29 +01:00
ba39fa8970 Ported: Fix incorrect Android scancodes - madmiraal
Also ported:  Fix wrong android key mapping.
Fixes the wrong mapping of `Key::HOME`. Androids `KEYCODE_HOME` is in fact the hardware home button the right mapping is `KEYCODE_MOVE_HOME`.
Also adds mappings to keys that were not present before.
- HolonProduction
2f7de4c8ed
477d24b6d1
2022-11-30 18:58:00 +01:00
d0bb264cc2 Ported: Fix parsing of the keep_screen_on display setting.
- m4gr3d
d08e057194
2022-11-30 18:44:51 +01:00
bruvzg
07109aa595 Use image loader directly to avoid "resource as image file" errors.
(cherry picked from commit 908bef8eee145408bbf660e873279a978a0acb74)
2022-11-30 18:41:01 +01:00
Markus Sauermann
c3866cd58a Fix unused exitcode in macos export plugin
Fix that the exitcode is never set.

(cherry picked from commit 567a591f87749389e917b7713e8ab881859207e8)
2022-11-30 18:37:32 +01:00
bruvzg
41b9bb6502 Fix export button incorrectly disabled when using login/app password for notarization.
(cherry picked from commit aa117a128e48bb922df2c17e957fb29eedfad746)
2022-11-30 18:37:00 +01:00
19efacc416 Ported: Fix 'save & restart' logic for the Android Editor - m4gr3d
5aab84befb
2022-11-30 18:12:43 +01:00
Dan
cfc4f0f050 fix exporting Android APPLICATION_ATTRIBS (3.X) 2022-11-30 14:42:07 +01:00
bruvzg
f4d5d82a99 Windows icon export improvements.
Regenerate Windows icon on export to ensure correct icon size order.
Add support for using PNG/WebP/SVG files as an icon for Windows exports.
Allow using WebP/SVG files as icon for macOS exports.
Add option to select generated icons interpolation, and set default interpolation to Lanczos.
2022-11-30 14:38:28 +01:00
bruvzg
24e41be33d Disable Dock and Menu in fullscreen mode. 2022-11-30 14:23:00 +01:00
a3f2631d59 Ported: Add double_tap attribute to InputEventScreenTouch
This provides parity with the `InputEventMouseButton` allowing for proper conversion between the two events.
- m4gr3d
be4b07c3e4
2022-11-13 01:29:17 +01:00
db926ddd0c Ported: Add support for pointer capture - m4gr3d
5149311316
2022-11-13 01:13:22 +01:00
Zach Coleman
6fd82aca20 Add ProMotion Support to iOS Exports 2022-11-13 00:51:09 +01:00
Zach Coleman
8b12c8babf Add iOS UI Options 2022-11-13 00:50:47 +01:00
1875780dbe Ported: Update the clean task configuration
Running `gradlew clean` will now properly delete the generated build artifacts
- m4gr3d
71c76a4ff2
2022-11-13 00:34:19 +01:00
4f9137a7e5 Fix jni class access string. 2022-10-12 13:56:47 +02:00
6f4a778796 Don't try to include x86 assembly into non-x86 based platforms when cross compiling the x11 platform on x86. 2022-10-12 12:18:56 +02:00
47ee4c6415 Clean up exception ahndling and rtti flags for msvc. 2022-10-09 10:41:24 +02:00
2f68443761 Updated frt2 to the latest. https://github.com/efornara/frt/commits/2.0 2022-10-08 19:36:12 +02:00
e35409a37f Ported: flush buffered events
- efornara
bddcac35f5
2022-10-08 19:30:42 +02:00
078f558a1a Fix an another typo. 2022-10-08 19:11:36 +02:00
aad46d0e80 Fixed compile error. 2022-10-08 19:06:12 +02:00
d8a48e51bd Ported: Add cursor shape support for the Android platform - m4gr3d
46f091a803 (diff-654c896c53f1fe1db3c63e1f0409d7929b54f1e4e43b49b21a0a4eba4f945c15)
2022-10-08 19:03:10 +02:00
35249df651 Ported: Fix null in android keyboard handling.
- jasonwinterpixel
31fe6848e8
2022-10-08 18:32:02 +02:00
44381ae1d2 Ported: Change auto to default in cursor css settings.
- jasonwinterpixel
6812e66f33
2022-10-08 17:34:43 +02:00
Rémi Verschelde
a04ae000eb HTML5: Add missing OS::get_cursor_shape() implementation
Fixes #66835.
2022-10-08 17:31:11 +02:00
bruvzg
3c49c13d1a Fix WM_CHAR processing code using Unicode char instead of Virtual key. 2022-10-08 17:00:48 +02:00
Hugo Locurcio
2d2615e0ea Enable ANSI escape code processing on Windows 10 and later
This lets the engine and projects use the same color codes
in the terminal on all platforms.
2022-10-08 16:50:02 +02:00
bruvzg
160462c57b Simplify code signing options, add support for rcodesign tool for signing and notarization. 2022-10-08 16:37:21 +02:00
Ted Spikes
f66c0b7d91 Check for ios_simulator when building for x86_64
(cherry picked from commit 21f7bd0723be5ca594547074d01dd92e5bf35e9c)
2022-10-08 16:22:25 +02:00
Rémi Verschelde
fe5d1cc8ff SCons: Refactor handling of production flag and per-platform LTO defaults
Fixup to #63288.
See #65583 for the bug report.

Co-authored-by: Cyberrebell <chainsaw75@web.de>
(cherry picked from commit 35a15e619161798820b2bd6ff46178c5b7ccebcf)
2022-10-08 16:18:23 +02:00
42a9dc5e8d Fixed the android editor, now it can open projects again. Also smaller codestyle fixes. 2022-09-17 21:27:19 +02:00
f30076a9f5 Ported: Disable menus and functionality that are not relevant on the Android Editor port - m4gr3d
1f23bac645
2022-09-17 17:36:35 +02:00
6b9e851e5c Ported: Fix issue causing the project manager to crash because of missing path argument
In the process, the initialization logic is updated to show an error message and gracefully close the engine when setup errors occur.
- m4gr3d
4be7c91cd9
2022-09-17 17:27:50 +02:00
6e97e0c485 Fix android build. 2022-09-17 17:14:19 +02:00
7268ef04f7 Ported: Enable long press, pan and scale gestures for the Godot Android Editor
Fix the bug causing the editor to crash when running the project.
- m4gr3d
63df48a59c
2022-09-17 17:01:46 +02:00
0bb6a05a4e Removed now unneeded classes. 2022-09-17 16:35:58 +02:00
e8625c21fe Small improvements to the android platform. 2022-09-17 16:31:49 +02:00
554cf8c861 Fix android build. 2022-09-17 12:30:19 +02:00
ccba47dc7c Ported: Cleanup the Android input logic implementation - m4gr3d
440fa10246
2022-09-17 11:35:25 +02:00
0c1bfd8ea7 Fix inconsistent override warning. 2022-09-17 00:40:05 +02:00
Rémi Verschelde
72f7c01c22 HTML5: Fix warning with Emscripten 3.1.20
And use that version for CI.
2022-09-16 23:18:43 +02:00
Rémi Verschelde
c708c44180 SCons: Refactor LTO options with lto=<none|thin|full>
Adds support for LTO on macOS and Android.
Disable LTO by default on iOS even if `production=yes` is set.

Also add `linker` option to `server` platform missed in #63283.

Refactor code handling old arguments to make it simpler (breaks compat,
but is explicit enough about it and scripts are easy to fix).
2022-09-16 22:54:09 +02:00
Fredia Huya-Kouadio
a6a5b60235 Additional fixes to the Android get_current_dir() implementation. 2022-09-16 22:45:21 +02:00
bruvzg
1fce7ff540 Fix generation of duplicate locale property list files. 2022-09-16 22:34:51 +02:00
Rémi Verschelde
d4e240f487 Linux: Fix GNU ld detection for pck_embed linker script
(cherry picked from commit fce3602a1e892cbc35fb3aa409bdae835a37be4f)
2022-09-16 22:31:50 +02:00
bruvzg
11cebc25fa Use clang as assembler to ensure preprocessing is done, and add assembler "target" flag.
(cherry picked from commit e87377856174075e38b6d2ca338f28ffa0d9f59f)
2022-09-16 21:44:01 +02:00
bruvzg
b7d732b782 Add arch flag to assembler to fix build on ARM64 macOS / iOS.
(cherry picked from commit b767d2e0fdf835dc181bb21c8be69a35671b60b8)
2022-09-16 21:41:56 +02:00
bcf96a5840 Ported: Improve performance of screen_get_dpi() in Javascript
Replace a bisect with a single multiplication when calling
screen_get_dpi() in Javascript

Tested the value of
window.matchMedia(`(resolution:${(window.devicePixelRatio*96).toFixed(100)}dpi)`).matches
which is true except for values that cause a lot of rounding errors
(e.g. dpr : 0.3  => resolution: 28.799999999999997dpi)

Even in these cases the value matches the result of the previous
`findDPI()` method.
-jamie-pate
562d7c616d
2022-09-16 21:15:54 +02:00
Pedro J. Estébanez
8f26bc61b5 Clean iOS platform config of long gone macro
(cherry picked from commit 8c2a577350924d1f4a8e0a98ebf85bea96ea7e63)
2022-09-16 21:01:17 +02:00
3a99f0afa1 Fix warning. 2022-09-16 19:37:29 +02:00
Fredia Huya-Kouadio
076a1a3253 Fix issue with get_current_dir() returning the wrong path on Android 2022-09-16 19:36:41 +02:00
Nathan Franke
f20e0a9ab4 3.x: ios: force app store icon to be opaque, use proper errors, fix memory leak 2022-09-16 13:08:17 +02:00
e2d42db711 Also renamed the files. 2022-08-19 21:24:36 +02:00
cffe742085 Renamed the VisualServer to RenderringServer like in Godot4, as I think it's a lot better name for it. I did not yet rename the files. 2022-08-19 20:50:20 +02:00
b2e5cd5f2c Fix an another compile error. 2022-08-19 16:54:20 +02:00
c48381b86c Fix javascript build. 2022-08-19 16:23:02 +02:00
bd58e6b989 Fix android build. 2022-08-19 16:21:38 +02:00
58da70524b Ported: Add support for multiple virtual keyboard types - brianwinterpixel
ce24b48e50
2022-08-19 16:18:53 +02:00
56f71c7275 Ported: Refactor the export checking logic to improve separation of concerns - m4gr3d
d2213f76a9
2022-08-19 12:08:35 +02:00
6821dfb26e Ported: Disable threads used to check on plugins to load
The functionality is unavailable on Android (requires export capability) and unnecessarily consumes resources
- m4gr3d
3ac6b6a596
2022-08-19 02:37:43 +02:00
54c49a25a0 Ported: Fix issue preventing the Android Editor from displaying the project content
The issue was causing by a bug within the logic for `FileAccessFilesystemJAndroid#eof_reached()` causing that value to remain false after the eof was reached.
This in turn caused an infinite loop in the file scanner preventing the project's content from showing up.
-m4gr3d
30479543b0
2022-08-19 02:23:57 +02:00
6be9bf5dfe Cleaned up and added the skeleton modification stack implementations to the build. Also smaller fixes. 2022-08-18 15:41:28 +02:00
f8c50f271b Fix include. 2022-08-17 18:12:48 +02:00
9757c39f05 Moved a few more core classes. 2022-08-17 17:43:49 +02:00
99e94b08c4 Moved base input related classes to core/input. 2022-08-17 17:02:24 +02:00
04feb63860 Moved Engine and projectSettings. 2022-08-17 15:35:28 +02:00
be16fe23ad Moved the error macros. 2022-08-17 15:14:19 +02:00
220b2db443 Moved String and related classes under a string folder in core. 2022-08-17 14:19:55 +02:00
dc9cc716c7 Moved Object related classes under core/object. 2022-08-17 13:45:14 +02:00
9555ee56b9 Moved Variant related classes under a variant folder in core. 2022-08-17 13:17:12 +02:00
388b88678e Moved container related classes in core under a new containers directory. 2022-08-17 12:53:49 +02:00
e71e3ed897 Now Vector4, Vector4i, Projection, PoolVector4Array, PoolVector4iArray, are built in variant types. Also reordered the Variant's Type enum, renamed _RID in it to RID, fixed a few smaller issues and removed some very old compat code. 2022-08-16 21:55:56 +02:00
220954cf08 Backported most of the improvements to String from Godot4. 2022-08-15 22:54:03 +02:00
730bce8587 Renamed Quat to Quaternion for consistency with the other engine math classes. 2022-08-13 15:22:33 +02:00
4204828965 Ported: Improve some export error messages. - bruvzg
e0101e511c
2022-08-02 18:01:58 +02:00
Rémi Verschelde
2ca1470010 File: Re-add support to skip CR (\r) in File::get_as_text
This was removed in #63481, and we confirmed that it's better like this,
but we add back the possibility to strip CR as an option, to optionally
restore the previous behavior.

For performance this is done directly in `String::parse_utf8`.

Also fixes Android `FileAccess::get_line()` as this one _should_ strip CR.

Supersedes #63717.

(cherry picked from commit 1418f97c70a5551bdbfeea853cbc479b32ea9e08)
2022-08-02 17:58:32 +02:00
Rémi Verschelde
44c23ae9a5 SCons: Fix X11 use_lld fallback not being applied 2022-08-02 17:58:15 +02:00
a5381e1c18 Fix typo. 2022-08-02 16:29:52 +02:00
7a274ee454 Fix android editor build. 2022-08-02 16:27:43 +02:00
4a39f38bab Fix typo. 2022-07-30 00:54:25 +02:00
641c15f906 Ported: [3.x] HTML5: Add support for Input.vibrate_handheld() - pattlebass
fb7ecc748f
2022-07-30 00:29:14 +02:00
a917d1bed4 Ported: Address remaining scoped storage regressions
- Accelerate common path used to check the storage scope for a given path
- Update the logic for the `get_as_text()` method - previous logic loads the content of a text file one byte at a time
- m4gr3d
fc2c202312
2022-07-29 23:48:31 +02:00
Kevin Smith
3f1e2ac44d Use bigobj for release MSVC builds
Previously it was used only on debug builds, but recent
additions to variant_call.cpp have made that unit too
large even in release_debug.

It was originally set to debug only because using it
breaks mingw, so this only reinstates it for MSVC where
it shouldn't have any drawbacks (famous last words).

Test-Information:
Builds for me with
scons -j 40 platform=windows target=release_debug
and my game then runs from it.

(cherry picked from commit d8900e0020b21d449069ef2a301253371fb70a21)
2022-07-29 23:21:04 +02:00
679f5a7d64 Ported: SCons: Refactor Linux linker options with linker=<bfd|gold|lld|mold>
The new option is `linker` and lets the user specify the argument to
the`-fuse_ld=` linker flag directly. The supported options are:
- `default`: No change, typically uses GNU ld (bfd) unless the user or
  distro picked a different default `/usr/bin/ld`.
- `bfd`: GNU ld from binutils
- `gold`: GNU gold from binutils
- `lld`: lld from LLVM
- `mold`: mold, an extremely fast modern linker, not (yet) intended for
  use in production but great for development speed. Provided by distro
  `mold` package or needs to be compiled from source and installed to
  `/usr` otherwise.
Deprecates the `use_lld=yes` option, and make lld actually usable with
GCC too.
Not all the above are compatible or recommend for LTO, we recommend
using GNU ld with GCC LTO, or lld with LLVM ThinLTO.
- akien-mga
5bb3063eec
2022-07-29 23:18:06 +02:00
Hansem Ro
cedf68bf7f Do case-insensitive search for pen inversion detection 2022-07-29 22:36:49 +02:00
bruvzg
f8be7dd320 Improve OS.set_current_screen
Fix moving fullscreen windows on macOS and Windows
Fix window position on Linux/X11
2022-07-29 21:58:20 +02:00
e7100658d4 Ported: Fix exit code of --help and --version, and test them in CI
Corrects prior regression which caused ERROR output and exit code of 1. - Bromeon
861e155543
2022-07-29 21:45:04 +02:00