Commit Graph

3427 Commits

Author SHA1 Message Date
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
Fabio Alessandrelli 822da984bb
[Net] Fix get_response_body_length for large files.
Parsing was fixed, but not the return value for the exposed getter.

(cherry picked from commit 01e5e98312)
2022-01-25 18:23:04 +01:00
Hugo Locurcio 96a325dec8
Force threads when compiling web editor instead of erroring out
This makes the build process more seamless. A similar option is
already forced for initial memorywhen needed.

(cherry picked from commit da19898c24)
2022-01-25 18:12:19 +01:00
Rémi Verschelde ed869729ae
Merge pull request #56755 from madmiraal/fix-45592-3.x 2022-01-24 10:06:24 +01:00
lawnjelly adf14bfdde Add nodiscard to core math classes to catch c++ errors.
A common source of errors is to call functions (such as round()) expecting them to work in place, but them actually being designed only to return the processed value. Not using the return value in this case in indicative of a bug, and can be flagged as a warning by using the [[nodiscard]] attribute.
2022-01-20 17:28:31 +00:00
Rémi Verschelde a9b10054b8
Merge pull request #56950 from timothyqiu/has-clipboard-3.x 2022-01-20 12:09:53 +01:00
bruvzg 30ee208bd9
[macOS export, 3.x] Implements ad-hoc signing on Linux/Windows, adds extra privacy settings, entitlements warnings and error checking. 2022-01-20 10:46:29 +02:00
bruvzg 0e5f063b5b
Improve iOS icon / loading screen export.
Merge "required" / "optional" icons into a single list.
Remove "generate_missing" and automatically rescale icons / loading screens that are missing or have incorrect size.
Print warning if icon or loading screen has incorrect size.
2022-01-19 16:04:16 +01:00
Haoyu Qiu 76297e744d Add `OS.has_clipboard()` to check clipboard content 2022-01-19 20:19:06 +08:00
Rémi Verschelde c938104a88
Merge pull request #56630 from Pineapple/replace-find-last 2022-01-18 16:36:52 +01:00
Rémi Verschelde 1ee44b2366
ImageLoader: Remove references to unsupported svgz extension
I don't see any reference to gzip/svgz supported in the nanosvg library,
and the handful of test gzip compressed svgz files I tried failed loading.

Also cleaning a couple missing includes in platform export code.
2022-01-17 10:52:32 +01:00
Rémi Verschelde 879244c54e
Merge pull request #56015 from bruvzg/phy_code_conv 2022-01-16 11:36:26 +01:00
Marcel Admiraal 949ea2b326 Simplify InputDefault::joy_axis code by using float instead of struct JoyAxis 2022-01-14 15:36:35 +00:00
Rémi Verschelde a627cdafc5
Update copyright statements to 2022
Happy new year to the wonderful Godot community!
2022-01-13 15:54:13 +01:00
Marcel Admiraal b7545631de Use mouse event relative motion to calculate mouse speed 2022-01-13 10:29:57 +00:00
Bartłomiej T. Listwon 2f92d5900a
UWP: Simplify QueryPerformanceCounter usage
(cherry picked from commit 24fe82da63)
2022-01-12 17:33:02 +01:00
Bartłomiej T. Listwon e1429dd80f
Windows: Simplify QueryPerformanceCounter usage
(cherry picked from commit 5ba38fb208)
2022-01-12 17:32:50 +01:00
bruvzg 16bb18c453
[macOS] Improve window activation hack.
(cherry picked from commit 927105692f)
2022-01-12 17:28:08 +01:00
Rémi Verschelde 123fcfaf83
Merge pull request #56676 from winterpixelgames/3.x-android-keystore-paths 2022-01-12 16:46:00 +01:00
Bastiaan Olij 4df4d72caf
Wrong call for create_offscreen_gl
We need to use `CallVoidMethod` instead of `CallBooleanMethod` to call `create_offscreen_gl`.
2022-01-12 11:01:24 +11:00
Jason Knight 39070291ef Android export plugin passes absolute file paths to gradle for keystores. 2022-01-10 15:16:00 -06:00
Rémi Verschelde 8a192cd0ab
Merge pull request #55987 from bruvzg/wt🤎3 2022-01-10 16:43:56 +01:00