Commit Graph

146 Commits

Author SHA1 Message Date
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
8107f6fea6 Fix an another import. 2022-07-29 21:05:20 +02:00
28222d21e5 Ported: HTML5: Make OS.get_locale() match other platforms
- pattlebass
82c3e6229b
2022-07-29 20:54:31 +02:00
Pedro J. Estébanez
8c662ff234 Flush accumulated input events on iOS 2022-07-29 20:51:50 +02:00
17f9583dc0 Fix imports. 2022-07-29 20:33:57 +02:00