Commit Graph

3448 Commits

Author SHA1 Message Date
Fredia Huya-Kouadio 5946b4bdc6 Migrate the Godot Editor java source file to Kotlin.
(cherry picked from commit 6b9a81900e)
2022-06-10 10:25:37 +02:00
bruvzg f5fa1ca944
Add readable export errors. Add RTL image vertical alignment support. 2022-06-08 17:56:28 +03:00
Fredia Huya-Kouadio 05fc140ee6 Misc editor tweaks and polishes:
- Using a bucketized approach to select the editor scale in order to avoid too high values
- Add default app dimensions: used on Android devices with free floating app windows to set the default app frame
- Add ability to launch the Game window in an adjacent frame when in multi window mode

(cherry picked from commit 6f7ec7f723)
2022-06-08 10:11:28 +02:00
Marcel Admiraal 9f0dba8b65 Ensure Android Java and Kotlin compile to the same version 2022-06-01 16:24:12 +01:00
Marcel Admiraal caaaef68b4 Only use Android fullscreen theme for splash screen
(cherry picked from commit d0cb299f04)
2022-06-01 00:29:46 +02:00
Marcel Admiraal 7a782edeaa Cleanup Android C++ code 2022-05-31 17:11:44 +01:00
Rémi Verschelde f880904c7a HTML5: Run `npm audit fix`
And re-add `node_modules` to `.gitignore` which I mistakenly removed
with an earlier cleanup.

(cherry picked from commit 6aa7449d60)
2022-05-25 14:59:03 +02:00
Rémi Verschelde 9d1d386bd0 HTML5: Enable mbedTLS module for Crypto object
Increases the size of the wasm by around 3% (~300-350 KiB).

This enables using the Crypto object for hashing, signing and encryption,
and therefore reduces the gap between the features of the HTML5 platform
and other platforms.

Closes https://github.com/godotengine/godot-proposals/issues/3574.

(cherry picked from commit 3ff6d794c0)
2022-05-25 14:52:57 +02:00
Rémi Verschelde 2b2a1b4c71 Android: Change export plugin poll to 300 ms
This removes the reliance on the not-so-fully-implemented Power API,
which throws an error in the HTML5 editor.

This was already changed to 200 ms in the master branch, and here I
picked 300 ms to be consistent with the iOS export plugin. All these
thread sleeps need to be re-assessed together to be made more
consistent (and possibly configurable - and most importantly battery
preserving by default).
2022-05-25 12:16:24 +02:00
Marcel Admiraal b66b153b8c Remove duplicate Android sensor listener registrations
(cherry picked from commit cf0f967e6d)
2022-05-24 00:06:20 +02:00
Rémi Verschelde e0ddaf7137
Merge pull request #61332 from m4gr3d/fix_restart_logic_3x 2022-05-23 22:25:44 +02:00
Fredia Huya-Kouadio b162e7ac39 Fix the logic to restart the Godot application 2022-05-23 13:15:25 -07:00
bruvzg c8978f58af [Windows, 3.x] Remove cached icon earlier, to prevent double free crash on exit. 2022-05-23 10:33:42 +03:00
ElCosmoXD 432e752028
Fixed the missing DLL's issue 2022-05-21 17:43:25 -04:00
Rémi Verschelde 7a70b4878b
Merge pull request #61021 from timothyqiu/wait-busy-3.x 2022-05-19 15:41:47 +02:00
Haoyu Qiu b657d0c76c Add dedicated macros for property name extraction
* Replace case-by-case extraction with PNAME & GNAME
* Fix group handling when group hint begins with property name
* Exclude properties that are PROPERTY_USAGE_NOEDITOR
2022-05-19 11:31:35 +08:00
Hugo Locurcio 0df7aa1e2c Increase compiler optimization when using `target=release` on iOS/Android
(cherry picked from commit 78b4ec2d4d)
2022-05-16 17:52:07 +02:00
Haoyu Qiu ddb7774099 Try to convert OS::execute() output to Unicode on Windows
(cherry picked from commit a71e808112)
2022-05-16 16:47:16 +02:00
bruvzg 2d3f5855c6 [Windows] Save and re-apply window icon when changing window style.
(cherry picked from commit b268c4b4bc)
2022-05-16 16:42:25 +02:00
Timo Schwarzer 8b55b80056
Fix vibration duration on iOS
Fixes #61063
2022-05-16 10:33:41 +02:00
Haoyu Qiu 4c70c5b0cd Swap the meaning of CURSOR_WAIT and CURSOR_BUSY 2022-05-14 10:24:25 +08:00
Andy Maloney 7c6564ef7e [3.x] Fix sign comparison error in platform/osx/os_osx.mm 2022-05-07 20:56:48 -04:00
Marcel Admiraal 89c758a4de Read and store joypad events in a separate thread on x11 platform 2022-05-05 16:15:33 +02:00
Rémi Verschelde 4dfc44ecc3
Merge pull request #60788 from akien-mga/3.x-cherrypicks 2022-05-05 15:54:33 +02:00
mdavisprog 53fb0440d3 Add OS::is_process_running function.
Adds the is_process_running function to the native OS class and exposes it to script.

This is implemented on Windows and Unix platforms. A stub is provided for other platforms that do not support this function.

Documentation is updated to reflect new API function.

(cherry picked from commit f3c1232c59)
2022-05-05 15:02:46 +02:00
Fabio Alessandrelli cc12c69ea1 [JS] Add flag to disable weak symbols in ZSTD.
Weak symbols are currently broken in upstream emscripten.

(cherry picked from commit 070bd87aaa)
2022-05-05 14:07:56 +02:00
Fabio Alessandrelli 89c8a8d1dc Added missing signature.
(cherry picked from commit a4c3e915be)
2022-05-05 14:07:56 +02:00
Paulo Feodrippe c46bbdee53 Fix simulatenous touches for different touch types
(cherry picked from commit a6f06d57dc)
2022-05-05 13:49:50 +02:00
Marcel Admiraal fe60de2c6a Check for null when retrieving clip data item text on Android
(cherry picked from commit 5924e2b90e)
2022-05-05 13:44:00 +02:00
Rémi Verschelde 3b8818e5c4 Crash handler: Use `print_error` to include backtrace in logs 2022-05-05 12:13:04 +02:00
bruvzg 0be7de6e11 [3.x] Fix export plugins after embedded PCK loading changes. 2022-05-04 12:56:00 +03:00
Rémi Verschelde 917a749964
Merge pull request #60639 from m4gr3d/support_hand_tracking_v2_3x 2022-05-02 09:51:35 +02:00
Rémi Verschelde d8e702b010
Merge pull request #60552 from madmiraal/implement-3466-3.x
[3.x] Add a method for obtaining display cutouts on Android
2022-05-02 07:58:05 +02:00
bruvzg bea7c9be5d [3.x] Improve embedded PCK loading and exporting. 2022-04-28 11:11:48 +03:00
Fredy Huya-Kouadio 32ace78a3e Update Meta hand tracking version
https://developer.oculus.com/blog/presence-platforms-hand-tracking-api-gets-an-upgrade/
2022-04-27 21:14:49 -07:00
Rémi Verschelde d021cef134 Linux: Use pkg-config for alsa, libudev and GL too
It's not needed on most distros as those are found in standard lib
and include paths, but on NixOS they're all in non-standard prefixes,
so we need to rely on information provided by pkg-config.

Fixes #59913.

Co-authored-by: David Lewis <davidalewis00@gmail.com>
(cherry picked from commit 07ad066420)
2022-04-27 12:34:58 +02:00
Marcel Admiraal 9a4d4ec2d5 Remove superfluous null check
(cherry picked from commit 988432b8bb)
2022-04-27 12:25:58 +02:00
Marcel Admiraal 76b5c31433 Replace index iterators with for each loops.
(cherry picked from commit 334ebd7eb7)
2022-04-27 12:25:47 +02:00
Marcel Admiraal 23b649b673 Remove superfluous check for minimum Android SDK.
(cherry picked from commit 2f225bf2c5)
2022-04-27 12:25:34 +02:00
Timo Schwarzer 8fb9c96df9 Vibrate using iOS haptics engine on supported devices (3.x) 2022-04-27 09:46:42 +02:00
Marcel Admiraal ec2270b88f Add a method for obtaining display cutouts on Android 2022-04-26 13:52:33 +02:00
Haoyu Qiu 95d861694a Fix several OS_X11 memory leaks 2022-04-26 08:39:55 +08:00
Rémi Verschelde ba21c76b46
Merge pull request #60442 from madmiraal/remove-superfluous-inputmanager-3.x 2022-04-25 15:42:06 +02:00
Fredy Huya-Kouadio 7a88d5bf28 Fix the issue causing the screen to be black after resuming when in low processor mode.
This is done by forcing a redraw and buffers swap when resuming the app.
2022-04-25 00:20:44 -07:00
Marcel Admiraal b5402818d7 Remove superfluous Android InputManager interface and implementation 2022-04-22 19:10:01 +02:00
Fredia Huya-Kouadio a3b445d7e8 Remove duplicate `resizable` settings
(cherry picked from commit f1a7caf9bb)
2022-04-13 11:43:49 +02:00
Fredia Huya-Kouadio 4ff726b933 Update `resize` settings:
- Unlock resizing for the Godot Editor
- Add an option to specify whether a game is resizeable for the Godot template

(cherry picked from commit 3f299e9255)
2022-04-13 11:43:49 +02:00
Lyuma f28309aa86 Keep editor at normal priority on windows.
The multithreaded importer often causes system-wide hangs when importing more than 20 files at a time.
Running the editor at normal priority allows other applications on the system to be responsive during long imports.

(cherry picked from commit ee02a7f785)
2022-04-13 11:43:48 +02:00
bruvzg 1f51bae294
[macOS, 3.x] Fix OpenGL color space on HDR displays. 2022-04-13 10:34:09 +03:00
C.Even cfe0991b20 Retrieve primary monitor size in fullscreen mode
* Fixes #21674
2022-04-07 18:51:16 +08:00
Fredia Huya-Kouadio 3ba0508f79 Update the editor display scale based on the device's scaled density 2022-04-04 04:18:56 -07:00
Haoyu Qiu bccd23f4bf Fix memory leak when handling Linux primary clipboard 2022-04-01 21:55:53 +08:00
ConteZero 59fb6c9ef0 Fix X11 is_window_maximized 2022-03-31 23:10:32 +02:00
Rémi Verschelde 3c0d32562b
Merge pull request #59606 from m4gr3d/fix_low_processor_mode_3x
[3.x] Fix flickering issues with low processor mode on Android
2022-03-29 22:51:32 +02:00
Fredia Huya-Kouadio 8ca32d1727 Fix flickering issues with low processor mode on Android 2022-03-29 12:17:25 -07:00
pkowal 5e5154e5b9 Change godot.ico to uncompressed/fixed size
(cherry picked from commit d469cfb2ab)
2022-03-28 23:43:46 +02:00
Fredy Huya-Kouadio 6f2442b17a Cleanup the gradle build configuration
These changes resolve the inconsistency between gradle and scons targets by configuring the gradle buildtypes to match the scons targets.
2022-03-28 08:12:55 -07:00
Fredy Huya-Kouadio cb0b2aefc3 Android port of the Godot Editor
These set of changes focus primarily on getting the core logic and overall Godot Editor UI and functionality up and running natively on Android devices.
UI tweaks / cleanup / polish, as well configuration for Android specific functionality / restrictions will be addressed in follow-up PRs iteratively based on feedback.

Co-authored-by: thebestnom <shoval.arad@gmail.com>
2022-03-28 07:54:10 -07:00
ztco224 658877c350 Fix DST Error on Windows
(cherry picked from commit 4802f15231)
2022-03-17 15:49:58 +01:00
Fredia Huya-Kouadio b8178a7f0a Setup logic to publish the Godot Android library to MavenCentral
(cherry picked from commit a2bf47de2b)
2022-03-17 14:45:19 +01:00
Rémi Verschelde 6c2bd12031 Revert "Fix detected leaks/heap-use-after-free by AddressSanitizer at startup"
This reverts commit 3f94ea6271.

It broke `detect_prime`'s main purpose which is to detect GPUs and use
the best one available.
2022-03-15 09:34:57 +01:00
ConteZero 2ff0735329 Added primary clipboard for Linux 2022-03-14 15:28:36 +01:00
Rémi Verschelde 3f08b72361
Merge pull request #56036 from Rubonnek/fix-startup-leaks-and-use-after-free 2022-03-13 18:09:55 +01:00
Hugo Locurcio cec7c908ca
Add `get_screen_refresh_rate()` to OS
This method can be used to get the refresh rate of a given screen.
It is supported on Windows, macOS, Linux, Android and iOS (but not
HTML5).
2022-03-10 22:10:48 +01:00
Rémi Verschelde 8975470bc2
Merge pull request #58336 from maiself/fix-directory-delete-linux-3.x 2022-03-10 21:29:55 +01:00
bruvzg fa56990170 [macOS and iOS export] Add localized application name to the translation .plist files.
(cherry picked from commit 5fdea69276)
2022-03-10 17:18:40 +01:00
Rémi Verschelde a73bd2dec4 Revert "[HTML5] Fetch API now passes credentials."
(cherry picked from commit 63df46c238)
2022-03-09 09:53:26 +01:00
Rémi Verschelde 85b4848ca8
Merge pull request #54188 from Rubonnek/increase_var_arg_max_3x 2022-03-08 13:10:48 +01:00
Wilson E. Alvarez 424dbf70af
Increase VARIANT_ARG_MAX to 8 2022-03-07 10:03:49 -05:00
Haoyu Qiu 9d6f4a76d1 Fix X11 memory leak after drag & drop file into the editor 2022-03-04 17:50:28 +08:00
Sergey Minakov e3cd47f6cc [iOS] Fix multitouch not working correctly
(cherry picked from commit 15ef056997)
2022-03-02 11:00:26 +01:00
Haoyu Qiu 1348f868c9 Make string inside TTR() single-line 2022-02-28 20:09:34 +08:00
Mai Lavelle 2c00b90613 Fix deleting of directories on Linux
Trailing slash of directories was mishandled, and incorrect derived paths
were formed. Stripping the slash fixes this.
2022-02-20 08:43:44 -05:00
Sergey Minakov 4282076ab5 [iOS] Fix incorrect method name for input dragging event
(cherry picked from commit 8b3ac9479e)
2022-02-19 15:40:01 +01:00
Rémi Verschelde 47e34dc4e2
Merge pull request #58157 from Calinou/os-add-get-processor-name-3.x 2022-02-17 12:34:16 +01:00
Hugo Locurcio 7f9e974a8b
Add an `OS.get_processor_name()` method
This method can be used to get the CPU model name.
It can be used in conjunction with
`VisualServer.get_video_adapter_name()` and
`VisualServer.get_video_adapter_vendor()` for annotating benchmarks
and automatic graphics quality configuration.
2022-02-16 18:39:02 +01:00
Rémi Verschelde 9f09251027
i18n: Sync editor translations with Weblate
Minor proofreading of new OSX export strings.
2022-02-16 09:55:45 +01:00
Fabio Alessandrelli 8988a9bcec
[HTML5] Fetch API now passes credentials.
Used default value before, i.e. "same-origin", now uses "include" (i.e.
include for cross-origin if cross-origin is allowed).

(cherry picked from commit ffe248cbdf)
2022-02-11 09:50:59 +01:00
Rémi Verschelde 7a16bb2ee4
Fix typos with codespell
Using codespell 2.2-dev from current git.

Added `misc/scripts/codespell.sh` to make it easier to run it once in a
while and update the skip and ignore lists.

(cherry picked from commit 1bdb82c64e)
2022-02-11 09:50:59 +01:00
NeilKleistGao ef0ec3fcfd
Add warning for Windows export when rcedit is not configured 2022-02-11 09:50:57 +01:00
bruvzg 6bcb24f1b8
Add empty translation files to the exported app bundle, to allow translation detection by the OS.
(cherry picked from commit 2eeff4caec)
2022-02-11 09:50:56 +01:00
Rémi Verschelde f50c7f7415
Core: Move generated `VERSION_HASH` to a `.cpp` file
This lets us have its definition in `core/version.h` and avoid
rebuilding a handful of files every time the commit hash changes.

(cherry picked from commit 90162851a7)
2022-02-10 13:06:56 +01:00
Rémi Verschelde f72753ca0c
Merge pull request #57604 from naithar/fix/godot-view-touch-3.x 2022-02-09 11:05:51 +01:00
Fabio Alessandrelli 4c23a902c1 [HTML5] Implement JavaScript PWA update callbacks.
Allows detecting when a new version of the progressive web app service
worker is waiting (i.e. an update is pending), along a function to force
the update and reload all clients.
2022-02-06 18:33:13 +01:00
Fabio Alessandrelli 73f396572a [HTML5] PWA service worker prefers cached version.
Use an offline first approach, where we prefer the cached version over
the network one.
This forces games using PWA to always re-export the project and not just
the PCK, so that the service worker version gets updated correctly, and
the end-user cache is correctly cleared on update.
2022-02-06 18:33:13 +01:00
Fabio Alessandrelli 4a52016aa9
Revert "[HTML5] Better engine config parsing."
This reverts commit 2f509f1b12.

Breaks closure compiler builds.
And adds a warning for future readers.

(cherry picked from commit 6d3d17651a)
2022-02-04 00:16:15 +01:00
Sergey Minakov aba5f6d9be [iOS] Fix touch handling for overlay views
Workaround for GodotView touches being called from UIWindow on different UIView input
2022-02-03 23:53:31 +03:00
Rémi Verschelde 94dd9c26dd
Server: Fix skip libstdc++ static linking on macOS
Fixes #48161.
2022-02-03 17:54:59 +01:00
bruvzg f44b7c3188
Fix iOS export with manually specified signing/provisioning data.
(cherry picked from commit 57db989a97)
2022-02-03 11:30:17 +01:00
Rémi Verschelde fdbcd002f6
Merge pull request #57512 from bruvzg/console_build 2022-02-02 23:06:36 +01:00
Rémi Verschelde 58edf04240
Windows: Fix GCC -fpermissive error with 'pck' section workaround
Follow-up to #57450.

(cherry picked from commit 5a1f42b322)
2022-02-01 12:20:19 +01:00
bruvzg 3095dcef19
[3.x] Backport Windows subsystem build option. 2022-02-01 13:03:15 +02:00
bruvzg ba2e891ec8
[Windows] Disable console I/O redirection, if it's already redirected to the pipe or file.
(cherry picked from commit 99a1e552ac)
2022-01-31 22:54:24 +01:00
Fabio Alessandrelli 82c83a0636
[HTML5] Fix gamepad samples not being properly reset.
(cherry picked from commit 93968e1451)
2022-01-31 22:54:24 +01:00
Fabio Alessandrelli 6209eede00
[HTML5] Better engine config parsing.
(cherry picked from commit 2f509f1b12)
2022-01-31 22:54:23 +01:00
Bartłomiej T. Listwon 423a90043d
Prevent LTCG (MSVC LTO) from removing "pck" section
(cherry picked from commit e4bde938a1)
2022-01-31 22:54:22 +01:00
Fredia Huya-Kouadio 5deeb38a70 Fix XR Android manifest metadata
- Adds the parameters for supported Meta devices, which is required to access some device specific capabilities
- Remove the 'com.samsung.android.vr.application.mode' metadata when we're not using the VrApi plugin
2022-01-26 08:58:47 -08:00
bruvzg eb975b7cea
[Export, 3.x] Instead of removing unsupported options, hide it. 2022-01-25 21:18:22 +02:00
Haoyu Qiu f8afd16c89
Fix memory leak when move to trash fails on Linux
(cherry picked from commit 8be49838b3)
2022-01-25 18:55:52 +01:00
Hugo Locurcio 4f1f76c7ce
Add local web server configuration designed for web editor development
Running `npm run serve` in `platform/javascript/` will start
a web server that uses `bin/` as its root folder. This means you
can extract a compiled web editor ZIP in this folder and immediately
be able to test the web editor.

Headers required for the use of SharedArrayBuffer are automatically
added to every response.

(cherry picked from commit 9ef9bfb12c)
2022-01-25 18:23:39 +01:00