Commit Graph

3699 Commits

Author SHA1 Message Date
ModProg
d9e24b72f7 [android] Fixed wrong button mask for right click 2021-08-16 18:49:12 +02:00
Hugo Locurcio
719ff68fdd
Improve the generated ZIP archive name when using Download Project Source
This makes for easier organization since downloading a project
several times (or several different projects) will result in more
meaningful file names.
2021-08-16 18:33:03 +02:00
Rémi Verschelde
1057a107e0
Merge pull request #51116 from Calinou/macos-fix-xbox-bluetooth-controllers
Fix Xbox controllers in Bluetooth mode on macOS
2021-08-16 17:50:10 +02:00
Hugo Locurcio
91a5ff9dc3
Fix Xbox controllers in Bluetooth mode on macOS
This prevents the D-pad up arrow from being registered as pressed
when it isn't, and pressing any direction from activating the next
arrow clockwise of it.

Co-authored-by: Scott Wadden <scott.wadden@gmail.com>
2021-08-16 17:06:05 +02:00
Hugo Locurcio
2cdace1749
Move the Android "clear previous install" setting to Editor Settings
This means the setting now applies to every project deployed from
the editor, rather than being per-export preset.
2021-08-16 05:59:48 +02:00
Rémi Verschelde
1833c8b233
Merge pull request #51587 from Calinou/use-unicode-multiplication-symbol
Use the Unicode multiplication symbol where relevant
2021-08-13 14:27:48 +02:00
Pedro J. Estébanez
e745088f1f Switch to input buffering on Android
Key, touch and joystick events will be passed directly from the UI thread to Godot, so they can benefit from agile input flushing.

As another consequence of this new way of passing events, less Java object are created at runtime (`Runnable`), which is good since the garbage collector needs to run less.

`AndroidInputHandler` is introduced to have a smaller cross-thread surface. `main_loop_request_go_back()` is removed in favor just inline calling `send_window_event()` at the most caller's convenience (i.e., leveraging the new `p_deferred`` parameter as appropriate).

Lastly, `get_mouse_position()` and `get_mouse_button_state()` now just call through `Input` to avoid the need of sync of mouse data tracked on the UI thread.
2021-08-13 11:45:50 +02:00
Pedro J. Estébanez
dc187324be Add input buffering framework
Input buffering is implicitly used by event accumulation, but this commit makes it more generic so it can be enabled for other uses.

For desktop OSs it's currently not feasible given main and UI threads are the same).
2021-08-13 11:19:19 +02:00
Pedro J. Estébanez
7c864d41c9 Improve input event accumulation
- API has been simplified: all events now go through `parse_input_event()`. Whether they are accumulated or not depends on the `use_accumulated_input` flag.
- Event accumulation is now thread-safe (it was not needed so far, but it prepares the ground for the following changes).
- Touch drag events now support accumulation.
2021-08-13 11:19:19 +02:00
Rémi Verschelde
af70288ee0
Merge pull request #51586 from m4gr3d/investigate_godot_resume_stalls_master
Resolve issue where the Godot app remains stuck when resuming.
2021-08-13 08:43:59 +02:00
Rémi Verschelde
4c53669d8a
Merge pull request #51524 from RandomShaper/faster_vma
Upgrade Vulkan Memory Allocator, use Volk on Android
2021-08-13 08:42:58 +02:00
Fredia Huya-Kouadio
e73e336e3b Add support for prompting the user to retain app data on uninstall.
Supported on Android 10 and higher.
2021-08-12 22:16:14 -07:00
Fredia Huya-Kouadio
28a99e4cf6 Resolve issue where the Godot app remains stuck when resuming.
This was caused by the fact that a new instance of Godot was created at resume while a previous instance already existed.
The previous instance would then go through its cleanup lifecycle, and would thus attempt to close the entire app, leading to the system to restart the app, thus starting the cycle anew.
The fix involves reusing the previous instance of Godot if one is available instead of creating a new one, as well as giving control to the host activity for how the process should be terminated.
2021-08-12 21:05:18 -07:00
Pedro J. Estébanez
7b7e17a626 Upgrade Vulkan memory allocator 2021-08-13 00:05:41 +02:00
Rémi Verschelde
554312a3b2
Android: Use volk instead of NDK Vulkan headers
We no longer build the Vulkan loader, and volk lets us load it dynamically.
Roblox uses volk on Android so it should work well for us too.
2021-08-12 23:39:30 +02:00
Hugo Locurcio
7612cff432
Use the Unicode multiplication symbol where relevant 2021-08-12 21:45:33 +02:00
Rémi Verschelde
6f043f7a19
Merge pull request #50771 from naithar/feature/platform-export-refactoring-4.0 2021-08-12 17:22:43 +02:00
Sergey Minakov
253581f85c Split uwp platform export template into multiple files 2021-08-12 17:18:37 +03:00
Sergey Minakov
9f49255bee Split javascript export template into multiple files 2021-08-12 17:18:36 +03:00
Sergey Minakov
6627f18e0f Split windows platform export template into multiple files 2021-08-12 17:18:36 +03:00
Sergey Minakov
d18dc7f41c Split osx platform export template into multiple files 2021-08-12 17:18:34 +03:00
Sergey Minakov
ed49e038ec Split android platform export template into multiple files 2021-08-12 17:15:02 +03:00
Sergey Minakov
968b712a97 Split iphone platform export template into multiple files 2021-08-12 16:56:17 +03:00
Marcus Brummer
20b3e2cc94 Properly finishes Godot's Android activity when destroyed by the system 2021-08-12 15:33:51 +02:00
bruvzg
133f678f85 Remove unnecessary iOS linker flags. 2021-08-12 14:25:16 +03:00
bruvzg
d7957a2a20 Use "volk" instead of statically linked Vulkan loader. 2021-08-12 14:25:15 +03:00
Aaron Franke
fa3a32a2d6
Use Key enum instead of plain integers 2021-08-10 16:26:55 -05:00
bruvzg
ae7dbb678c [macOS] Move captured mouse cursor to the center when window gain focus. 2021-08-08 22:27:57 +03:00
Sergey Minakov
ae91e372d1 [iOS] Use platform generated api to initialize iOS plugins 2021-08-06 23:28:37 +03:00
Georg Wacker
63ba15a518 Fix vertical scroll/zoom for precision touchpad
Adds factor data for vertical mousewheel event, in line with horizontal mousewheel event
2021-08-06 15:06:11 +02:00
Haoyu Qiu
1d5332069b Make progress and errors translatable when exporting to Android 2021-08-01 17:16:16 +08:00
Rémi Verschelde
c191cfbddf
Windows: Fix build with SCons 4.2.0 2021-08-01 10:08:20 +02:00
Fredia Huya-Kouadio
ace6df6947 Fix custom build export 2021-07-27 09:15:45 -07:00
vitika9
1add8b3172 Removed Redundant assignement of name inside configure_joypad function 2021-07-27 14:51:42 +05:30
Rémi Verschelde
438be4422f
Merge pull request #50878 from bruvzg/debug_entitlement
[macOS] Add "debugging" (`get-task-allow`) to the export options.
2021-07-26 10:52:09 +02:00
bruvzg
2dd6c3eb09 [macOS] Add "debugging" (get-task-allow) to the export options, to allow using native debugger. 2021-07-26 11:28:52 +03:00
luz paz
2e0044c93d Remove unnecessary 'pass' statement
ref: https://lgtm.com/projects/g/godotengine/godot/?mode=tree&ruleFocus=910088
2021-07-25 11:56:24 -04:00
luz paz
3564c16cb8
Fix various typos with codespell
Found via `codespell -q 3 -S ./thirdparty,*.po,./DONORS.md -L ackward,ang,ans,ba,beng,cas,childs,childrens,dof,doubleclick,fave,findn,hist,inout,leapyear,lod,nd,numer,ois,ony,paket,seeked,sinc,switchs,te,uint`
2021-07-25 11:21:51 +02:00
Aaron Franke
4e6efd1b07
Use C++ iterators for Lists in many situations 2021-07-23 17:38:28 -04:00
bruvzg
618eb27e8b Move alert function from DisplayServer to OS. 2021-07-22 21:50:35 +03:00
bruvzg
53f84e39fd Fix MoltenVK static linking on macOS (add missing include path, Vulkan SDK path option, use xcframework instead of static framework). 2021-07-22 16:29:24 +03:00
Rémi Verschelde
ab732fe3eb
Merge pull request #50712 from nekomatata/x11-popup-focus-fix
Fix popup closing immediately after showing on some Linux WMs
2021-07-22 09:27:48 +02:00
PouleyKetchoupp
e030360b88 Fix popup closing immediately after showing on some Linux WMs
When a popup is going to be closed, switch focus to the parent only if
the popup is still being focused.

Fixes some cases with specific WMs where due to the order of events, a
new popup could be immediately unfocused because a previously opened
and closed popup is switching focus to the parent.
2021-07-21 12:28:39 -07:00
ne0fhyk
fa587778d8 Disable resource optimizations for release builds as it breaks the legacy build system. 2021-07-20 16:44:04 -07:00
Rémi Verschelde
b4baec08cf
Merge pull request #50206 from groud/undoredo_increase_args_count
Increase the number of arguments accepted by UndoRedo methods
2021-07-20 09:50:01 +02:00
reduz
6631f66c2a Optimize StringName usage
* Added a new macro SNAME() that constructs and caches a local stringname.
* Subsequent usages use the cached version.
* Since these use a global static variable, a second refcounter of static usages need to be kept for cleanup time.
* Replaced all theme usages by this new macro.
* Replace all signal emission usages by this new macro.
* Replace all call_deferred usages by this new macro.

This is part of ongoing work to optimize GUI and the editor.
2021-07-18 21:20:02 -03:00
Hendrik Brucker
38578a8095 Modernize Display server to use override keyword 2021-07-16 21:39:13 +02:00
Rémi Verschelde
296b713ee8
Merge pull request #50481 from reduz/install-android-build-sources
Added ability to load Android build sources from file.
2021-07-15 18:22:26 +02:00
Fabio Alessandrelli
7431586286 [HTML5] Make threads build the default.
Non-threads build are broken anyway.
2021-07-15 15:33:39 +02:00
reduz
6639cc9853 Addes ability to load build sources from file.
* If not present, the dialog asks to load build sources from a file.
* The export templates check now also verifies that build sources are installed and skips the template check.

This makes Android development easier.
2021-07-15 10:14:08 -03:00
Fabio Alessandrelli
3d8acc7a54 [HTML5] Fix build (with module_webxr_enabled=no).
The XR API changed a bit, and it's not just a rename, though probably an
easy update for someone who is qualified :).
2021-07-15 14:37:21 +02:00
Rémi Verschelde
06568bbfdf
Misc cleanup of header includes
Was looking for misuse of module headers without checking that the module is
actually enabled and got carried away...
2021-07-15 00:46:43 +02:00
Rémi Verschelde
dcabc27337
Merge pull request #50409 from godot-joe/fix-ambiguous-variant-on-debian-10-build
Fixes ambiguous variant error for build on Debian 10 (Buster) using clang v7
2021-07-14 14:58:36 +02:00
Sergey Minakov
aa321f0a24 [iOS] Fix plugin configuration loading
Clear ConfigFile parameter before loading new file.
Ignore duplicate input plist keys
2021-07-13 21:30:19 +03:00
Rémi Verschelde
681b1bb306
Merge pull request #50422 from Faless/js/4.x_memory_initial_32
[HTML5] Raise default initial memory to 32 MiB.
2021-07-13 17:02:22 +02:00
Rémi Verschelde
a4af76077a
Merge pull request #50418 from Calinou/fix-to-stop-word-casing
Fix casing of the "to" stop word in editor strings
2021-07-13 16:26:21 +02:00
Fabio Alessandrelli
897c906ebf [HTML5] Raise default initial memory to 32 MiB.
The memory was resized in any case during start.

Mitigate Chromium issue:
https://bugs.chromium.org/p/v8/issues/detail?id=11863

Also fix a warning about SAFE_HEAP being a linker only flag.
2021-07-13 15:51:00 +02:00
Hugo Locurcio
a3fbd68781
Fix casing of the "to" stop word in editor strings
This also fixes a C# documentation example that had one of its
strings incorrectly converted.
2021-07-13 15:29:06 +02:00
reduz
5ad4f26659 Implement the ability to disable classes
* This PR adds the ability to disable classes when building.
* For now it's only possible to do this via command like:
  `scons disable_classes=RayCast2D,Area3D`
* Eventually, a proper UI will be implemented to create a build config file to do this at large scale, as well as detect what is used in the project.
2021-07-13 09:25:14 -03:00
joe
b627fcd2cd Fix for ambiguous variant error during build on Debian 10(Buster) using clang v7 2021-07-13 03:44:03 +01:00
Hugo Locurcio
a2d5f191d8
Merge pull request #48622 from Geometror/reimplement-disableable-vsync 2021-07-10 01:02:23 +02:00
bruvzg
f37981b83f [macOS, Mono] Automatically enable JIT entitlements for the Mono exports. 2021-07-09 22:47:43 +03:00
likeich
0314e04939 Fix linux use after free
Fixes #50032
2021-07-08 22:34:07 -04:00
Fabio Alessandrelli
d4e302a3a4 [HTML5] Fix JavaScript string parsing with new interface.
Strings are UTF-8 encoded and should be parsed as such, while it was
being parsed as a C string before.
2021-07-07 15:44:29 +02:00
Rémi Verschelde
5d7c23dcc6
Merge pull request #50220 from madmiraal/fix-50125
Queue the calls to GodotLib.key when Android virtual done is pressed
2021-07-06 23:46:21 +02:00
Gilles Roudière
2f9a0268dd Increase the number of arguments accepted by UndoRedo methods 2021-07-06 18:52:28 +02:00
Marcel Admiraal
57317ce7b8 Remove Android onKeyMultiple override 2021-07-06 17:39:42 +01:00
Marcel Admiraal
1856f16378 Queue the calls to GodotLib.key when Android virtual done is pressed 2021-07-06 17:32:09 +01:00
Rémi Verschelde
c47b6f4b5c
Merge pull request #50107 from madmiraal/android-use-lambdas
Replace single method anonymous classes with lambdas in Godot Java code
2021-07-06 18:10:38 +02:00
Hendrik Brucker
043ae91560 Restructure and reimplement vsync options
-Add a v-sync mode setting which allows to choose between DISABLED, ON, ADAPTIVE and MAILBOX
-Removed the V-Sync via Compositor option
2021-07-06 16:34:26 +02:00
Rémi Verschelde
7931ebb7bb
Merge pull request #39139 from ThakeeNathees/windows-err-to-stderr
Windows error logs directed to stderr
2021-07-06 12:14:29 +02:00
Rémi Verschelde
f2d8bad2d1
Merge pull request #50109 from madmiraal/android-static-inner-classes
Use static inner classes in Godot Java code
2021-07-05 14:18:26 +02:00
miere43
119a59f872 Replace backslash with forward slash in OS_Windows path methods 2021-07-04 09:04:21 +03:00
Marcel Admiraal
23e152040b Use static inner classes in Godot Java code 2021-07-03 05:50:04 +01:00
Marcel Admiraal
a7825ca12a Replace single method anonymous classes with lambdas in Godot Java code 2021-07-03 05:13:31 +01:00
Rémi Verschelde
f2229bb1ea
Merge pull request #50085 from madmiraal/android-replace-stringbuffer
Use StringBuilder instead StringBuffer in Godot Java code
2021-07-02 22:09:50 +02:00
Rémi Verschelde
aee59c3547
Merge pull request #50083 from madmiraal/android-fix-raw-use
Fix raw use of parameterized Class
2021-07-02 22:09:39 +02:00
Marcel Admiraal
3f95bbed73 Remove redundant explicit types in Godot Java code 2021-07-02 17:45:30 +01:00
Marcel Admiraal
61ee51d2bf Use StringBuilder instead StringBuffer in Godot Java code 2021-07-02 16:57:12 +01:00
Rémi Verschelde
710effdaad
Merge pull request #50078 from madmiraal/android-remove-unused-imports 2021-07-02 17:45:29 +02:00
Marcel Admiraal
d237f7d33d Fix raw use of parameterized Class 2021-07-02 16:35:52 +01:00
thebestnom
e200195564 Android: Initialize mouse mode 2021-07-02 18:00:33 +03:00
Marcel Admiraal
a38fd4a4c2 Remove unused imports from Android Java code 2021-07-02 12:57:55 +01:00
Rémi Verschelde
6ef0b8fcd3
Merge pull request #50074 from madmiraal/android-replace-c-array
Use Java array declarations not C-style declarations in Android Java code
2021-07-02 13:44:22 +02:00
Rémi Verschelde
42184dd6d5
Merge pull request #50072 from madmiraal/android-remove-interface-modifiers
Remove redundant interface modifiers from Android Java code
2021-07-02 12:35:14 +02:00
Marcel Admiraal
721b3d56c5 Use Java array declarations not C-style declarations in Android Java code 2021-07-02 11:09:09 +01:00
Marcel Admiraal
a74e803a4f Remove redundant interface modifiers from Android Java code 2021-07-02 09:37:45 +01:00
Marcel Admiraal
360447001d Remove unnecessary semicolons from Android Java code 2021-07-02 08:54:09 +01:00
Rémi Verschelde
40a594c6ea
Android: Add isGame application attribute, default to true
It can be turned off in the export preset with `package/classify_as_game`.

Upstream definition: https://developer.android.com/guide/topics/manifest/application-element#isGame

> `android:isGame`
>
> Whether or not the application is a game. The system may group together
> applications classifed as games or display them separately from other
> applications.

Also fixes replacing `android:allowBackup` in custom builds.
2021-07-01 11:00:23 +02:00
Marcel Admiraal
8270e101a7 Fix unchecked call to put() warning in GodotInputHandler.java 2021-06-30 12:13:05 +01:00
Rémi Verschelde
52e3f986ac
Merge pull request #49911 from madmiraal/fix-49878
Add GDNative libraries to Android custom Gradle builds
2021-06-29 14:58:23 +02:00
Rémi Verschelde
871a338376
Merge pull request #49910 from Faless/js/4.x_canvas_resize
[HTML5] Add option to focus canvas on start.
2021-06-29 12:40:25 +02:00
Marcel Admiraal
7b63f0a22d Add GDNative libraries to Android custom Gradle builds 2021-06-29 09:26:28 +01:00
bruvzg
8f7c2ccefd [Windows Export] Use temporary file for osslsigncode signing. 2021-06-29 10:38:28 +03:00
Rémi Verschelde
a738ddb9a4
Merge pull request #35536 from shroudedcode/keep-screen-on-linux
Make "Keep screen on" work on Linux
2021-06-27 19:33:23 +02:00
Fabio Alessandrelli
c12fca57f4 [HTML5] Add option to focus canvas on start.
Enabled by default.
2021-06-25 19:07:17 +02:00
Fabio Alessandrelli
fdccc0b219
Merge pull request #49889 from timothyqiu/url-path
Strip query string when parsing HTTP request line for path
2021-06-24 23:52:53 +02:00
Haoyu Qiu
91477cd4a9 Strip query string when parsing HTTP request line for path 2021-06-25 00:20:28 +08:00
ne0fhyk
d1a9363c4c Update config versions and deprecate the use of the jcenter maven repo. 2021-06-24 08:58:56 -07:00
Rémi Verschelde
e55be041d8
Merge pull request #49833 from m4gr3d/add_support_for_custom_debug_keystore_master
Add support for custom debug keystore
2021-06-23 15:28:25 +02:00
Fabio Alessandrelli
b00c4a4360 [Net] Makes HTTPClient a custom instance class. 2021-06-23 14:10:45 +02:00
Fabio Alessandrelli
421e771012 [Net] Unify HTTPClient request and request_raw. 2021-06-23 13:53:43 +02:00
bruvzg
f7797bf1b3 [macOS] Fix custom mouse cursor not set after mouse mode change. 2021-06-23 10:51:01 +03:00
ne0fhyk
532b0e3462 Add support for custom debug keystore. 2021-06-22 10:05:55 -07:00
Rémi Verschelde
277db14b64
Merge pull request #49803 from naithar/feature/ios-plugin-multitype-plist-4.0
[4.0] [iOS] Support multiple `plist` types in plugin
2021-06-22 12:48:55 +02:00
Sergey Minakov
771e3aae1e [iOS] Support multiple plist types 2021-06-21 18:17:41 +03:00
Niklas Higi
0c83a23ab5
Add "Keep screen on" feature to DisplayServerX11 2021-06-20 21:57:33 +02:00
Aaron Franke
0ce49800ac
Use mouse and joypad enums instead of plain integers
Also MIDIMessage
2021-06-20 11:54:24 -04:00
Aaron Franke
e919d894f8
Move many input enums to their own file 2021-06-20 11:53:01 -04:00
Lightning_A
e28fd07b2b Rename instance()->instantiate() when it's a verb 2021-06-19 20:49:18 -06:00
Rémi Verschelde
d88be9b70c
Merge pull request #44806 from madmiraal/consolidate_json
Consolidate JSON, JSONParseResults and JSONParser into JSON
2021-06-19 21:45:34 +02:00
Marcel Admiraal
de2acbd495 Add adb output to error message when install fails 2021-06-19 17:46:57 +01:00
Marcel Admiraal
2bafcd3422 Consolidate JSON, JSONParseResults and JSONParser into JSON
Renames JSON.parse_string() to parse()
Renames JSON.decode_data() to stringify()
2021-06-19 08:01:40 +01:00
Fabio Alessandrelli
ad5bdaf5aa [HTML5] JS callback functions now returns passed value.
JavaScript callbacks created via the `JavaScript.create_callback` method
used to always return void.

With this patch they return the value returned by the Godot function as
one would expect.
2021-06-18 17:47:48 +02:00
Hugo Locurcio
8556dd1bef
Improve crash handler message display
- State the Godot version and full hash in the backtrace.
- Add decoration around the crash backtrace, both to make it stand out
  from other messages and help the user figure out what they should copy.
2021-06-17 20:05:16 +02:00
Gromph
c87e49d7bc
UWP: Keep upstream names for capabilities preset settings to avoid mismatch
The previous code used `camelcase_to_underscore` to prettify the names for
display in the export preset, but it leads to inconsistencies if we don't make
sure to do the reverse operation when writing to the `AppxManifest.xml`.

It's simpler to keep the same names as in the manifest, which is also what
users will see referenced in MS documentation.

Fixes #47900.

Co-authored-by: Rémi Verschelde <rverschelde@gmail.com>
2021-06-17 12:59:17 +02:00
Rémi Verschelde
91d6382786
Merge pull request #49594 from bruvzg/macos_app_category
Add LSApplicationCategoryType to the template and export dialog.
2021-06-15 14:53:42 +02:00
Rémi Verschelde
88e671e0b7
Merge pull request #49592 from Faless/js/4.x_fix_sigs
[HTML5] Fix build without eval, library functions signatures.
2021-06-15 00:01:54 +02:00
Fabio Alessandrelli
a1cbb6daa6 [HTML5] Update eslint and jsdoc dependencies. 2021-06-14 13:42:03 +02:00
bruvzg
cb480376d8 Add LSApplicationCategoryType to the template and export dialog. 2021-06-14 14:28:34 +03:00
Fabio Alessandrelli
049b5159f1 [HTML5] Fix JS build without eval.
Also fix download_buffer return type.
2021-06-14 12:32:53 +02:00
Fabio Alessandrelli
9b7b0a28b9 [HTML5] Fix some JS library signature. 2021-06-14 12:32:32 +02:00
Rémi Verschelde
ac73059b56
Merge pull request #49123 from aaronfranke/it-is-time
Add a Time singleton
2021-06-12 22:55:25 +02:00
Pedro J. Estébanez
04688b92ff Rename Reference to RefCounted 2021-06-11 18:48:42 +02:00
Rémi Verschelde
8d4046929c
Merge pull request #49511 from akien-mga/core-diraccess-fileaccess-io
Core: Move DirAccess and FileAccess to `core/io`
2021-06-11 16:51:10 +02:00
Rémi Verschelde
6b0183ec89
Merge pull request #49279 from Calinou/rename-string-is-abs-path-method
Rename `String.is_abs_path()` to `String.is_absolute_path()`
2021-06-11 15:58:16 +02:00
Aaron Franke
f64fea1b23
Add Time singleton 2021-06-11 09:32:39 -04:00
Rémi Verschelde
9e328bb5b7
Core: Move DirAccess and FileAccess to core/io
File handling APIs are typically considered part of I/O, and we did have most
`FileAccess` implementations in `core/io` already.
2021-06-11 14:52:39 +02:00
Rémi Verschelde
bc1fcb9c65
Merge pull request #49435 from madmiraal/add-android-external-dir
Add OS.get_external_data_dir() to get Android external directory
2021-06-10 22:11:02 +02:00
Marcel Admiraal
b3a962945e Add OS.get_external_data_dir() to get Android external directory 2021-06-10 16:48:17 +01:00
Marcel Admiraal
4ba2ed332e Remove unused AudioDriverAndroid from Android 2021-06-10 08:32:56 +01:00
Arthur Bikmullin
ee2bea7a86
Fixed missed IDHandler dependency in GodotFetch 2021-06-08 00:20:24 +02:00
Rémi Verschelde
d567abd714
Merge pull request #49382 from akien-mga/misc-cleanup
Style: Cleanup uses of double spaces between words
2021-06-07 11:57:47 +02:00
Rémi Verschelde
c1c76850cb
Style: Cleanup uses of double spaces between words
Or after punctuation. Tried to leave third-party stuff alone, unless it has
been heavily modified for Godot.
2021-06-07 11:03:08 +02:00
Marcel Admiraal
78e791045c Update Gradle archiveName and destinationDir properties 2021-06-07 06:41:10 +01:00
Marcel Admiraal
8acd13a456 Rename Quat to Quaternion 2021-06-04 18:14:32 +01:00
Rémi Verschelde
5d9cab3aeb
Merge pull request #38430 from aaronfranke/transform3d 2021-06-03 23:07:21 +02:00
Aaron Franke
98aa3b669e
Add MOUSE_MODE_CONFINED_HIDDEN
Co-authored-by: Hugo Locurcio <hugo.locurcio@hugo.pro>
2021-06-03 11:44:28 -04:00
Hugo Locurcio
5ea1c75d63
Rename String.is_abs_path() to String.is_absolute_path()
This is more consistent with `NodePath.is_absolute()`.
2021-06-03 16:00:06 +02:00
Aaron Franke
08a85352fb
Rename Variant TRANSFORM to TRANSFORM3D
Also _transform to _transform3d
2021-06-03 07:30:01 -04:00
Hendrik Brucker
6abd842a5a Fixed window_can_draw of DisplayServerWindows 2021-06-02 12:51:36 +02:00
Fabio Alessandrelli
8cdef21d6c Move remaining dummy drivers to servers. 2021-06-01 16:50:32 +02:00
Fabio Alessandrelli
8594613f94 LinuxBSD now compiles without vulkan/x11. 2021-06-01 16:27:54 +02:00
Fabio Alessandrelli
ae04dac2db Remove server platform 2021-06-01 16:27:54 +02:00
Rémi Verschelde
af3ee1c860
Merge pull request #48963 from HaywardMorihara/export-android-keystore-debug-warnings
Exporting -> Android: Keystore Warnings
2021-06-01 15:22:05 +02:00
Rémi Verschelde
596eb783fe
Merge pull request #49050 from reduz/implement-spirv-cache
Implement shader caching
2021-05-31 11:02:19 +02:00
Rémi Verschelde
f7bcada709
Merge pull request #49137 from RandomShaper/ios_targeted_family
Add iOS export option for device family
2021-05-31 10:34:49 +02:00
reduz
0d2e02945b Implement shader caching
* Shader compilation is now cached. Subsequent loads take less than a millisecond.
* Improved game, editor and project manager startup time.
* Editor uses .godot/shader_cache to store shaders.
* Game uses user://shader_cache
* Project manager uses $config_dir/shader_cache
* Options to tweak shader caching in project settings.
* Editor path configuration moved from EditorSettings to new class, EditorPaths, so it can be available early on (before shaders are compiled).
* Reworked ShaderCompilerRD to ensure deterministic shader code creation (else shader may change and cache will be invalidated).
* Added shader compression with SMOLV: https://github.com/aras-p/smol-v
2021-05-31 10:13:09 +02:00
Pedro J. Estébanez
19ae8193ee Add iOS export option for device family 2021-05-27 11:46:22 +02:00
Rémi Verschelde
ae5735af60
Merge pull request #49069 from RandomShaper/android_data_backup
Allow basic user data backup on Android
2021-05-25 18:06:46 +02:00
Rémi Verschelde
72a7ddaddc
Merge pull request #48422 from szymonm-google/android_orientation_fix
Fixed changing screen orientation on Android
2021-05-25 18:06:00 +02:00
Pedro J. Estébanez
1179421068 Allow basic user data backup on Android 2021-05-25 17:47:32 +02:00
Rémi Verschelde
6b6a351aa1
Merge pull request #49064 from RandomShaper/default_config_xcode
Set schemes' build config to debug/release in iOS Xcode export
2021-05-25 17:46:38 +02:00
Marcel Admiraal
da5d7db610 Rename File::get_len() get_length() 2021-05-25 11:54:28 +01:00
Rémi Verschelde
9bc2ba3b64
Merge pull request #48955 from Calinou/editor-tweak-property-hints
Tweak dozens of editor property hints for consistency
2021-05-25 11:44:43 +02:00
Pedro J. Estébanez
1534b4e65e Set schemes' build config to debug/release in iOS Xcode export 2021-05-25 10:26:54 +02:00
Hugo Locurcio
87f503310b
Tweak dozens of editor property hints for consistency
- Update Viewport MSAA property hints to match the currently
  exposed values.
- Add some performance hints to property hints.
2021-05-25 02:50:35 +02:00
Szymon Majewski
5634093703 Fixed screen orientation on Android 2021-05-24 16:58:35 -07:00
Nathaniel Morihara
2cf19293ba Exporting: Android Debug Keystore Warnings 2021-05-24 19:48:29 -04:00
Rémi Verschelde
af03e9c830
Merge pull request #48939 from Calinou/screen-orientation-use-enum
Use an enum to represent screen orientation in the Project Settings
2021-05-24 19:53:19 +02:00
Hugo Locurcio
660952a857
Use an enum to represent screen orientation in the Project Settings
- Tweak the setting property hint to be more informative.
- Make the setting a "basic" setting so it appears when Advanced Settings
  is disabled.
- Remove redundant orientation setting in the iOS export preset.
  The project setting is now used (like on Android).

Projects upgrading from a previous version will have to set the
screen orientation again in the Project Settings if it wasn't set
to the default value ("landscape").
2021-05-24 18:53:10 +02:00
Rémi Verschelde
65eff1cfdd
Merge pull request #46866 from bruvzg/symlinks_and_macos_gdn_framework_export_4 2021-05-24 15:14:02 +02:00
bruvzg
a1cb6f07a1
Add GDNative Framework loading and export support. 2021-05-24 12:49:05 +03:00
bruvzg
d14eae141e
[macOS] Allow "on top" windows to enter full-screen mode. 2021-05-24 10:53:01 +03:00
Rémi Verschelde
43e843ac98
Merge pull request #48940 from omar-polo/add-openbsd
add OpenBSD to OS_LinuxBSD::get_name()
2021-05-22 18:35:42 +02:00
bruvzg
139a9d6370
Add symlink API to the DirAccess (on macOS and Linux). 2021-05-22 17:33:34 +03:00
bruvzg
494c54b98c
[UWP] Add missing get_scansym argument. 2021-05-22 16:39:31 +03:00
Omar Polo
3bff838cee add OpenBSD to OS_LinuxBSD::get_name() 2021-05-21 21:35:31 +02:00
Rémi Verschelde
2687ac2720
Merge pull request #48922 from akien-mga/os-xdg-dedup-code
OS: Remove code duplicate in XDG paths handling
2021-05-21 19:04:48 +02:00
Rémi Verschelde
2362a59a11
Merge pull request #48928 from Faless/js/4.x_fix_build_after_rename
[HTML5] Fix build after KEY_CTRL rename.
2021-05-21 18:33:15 +02:00
Fabio Alessandrelli
923131ec28 [HTML5] Fix build after KEY_CTRL rename. 2021-05-21 15:53:23 +02:00
Fabio Alessandrelli
fdf66a21f1 [HTML5] Add easy to use download API.
New `JavaScript.download_buffer` method to create a prompt that let the
user download a file.
2021-05-21 15:31:23 +02:00
Rémi Verschelde
0e1d45b210
OS: Remove code duplicate in XDG paths handling
Follow-up to #48542.
2021-05-21 12:49:09 +02:00
Hugo Locurcio
011a99316a
Only allow absolute paths in XDG environment variables
The XDG Base Directory specification does not allow using relative paths
(which broke things in Godot anyway). If a relative path is detected,
it should be ignored.
2021-05-20 18:37:28 +02:00
Rémi Verschelde
aa5552278d
Merge pull request #48719 from Faless/js/4.x_interfaces
[HTML5] Implement Godot <-> JavaScript interface.
2021-05-20 17:13:02 +02:00
Fabio Alessandrelli
9811035ebf [HTML5] Implement Godot <-> JavaScript interface. 2021-05-20 14:33:18 +02:00
Rémi Verschelde
4219a4cb6f
Fix typos with codespell
Using codespell 2.0.0.

Method:
```
$ cat > ../godot-word-whitelist.txt << EOF
ang
curvelinear
dof
doubleclick
fave
findn
GIRD
leapyear
lod
merchantibility
nd
numer
ois
ony
que
seeked
synching
te
uint
unselect
webp
EOF

$ codespell -w -q 3 -I ../godot-word-whitelist.txt --skip="./thirdparty,*.po"
$ git diff // undo unwanted changes
```
2021-05-20 12:38:56 +02:00
thebestnom
f5b5e00a01 Android: Add support for cursor icons 2021-05-19 22:01:51 +03:00
Rémi Verschelde
23f7c75126
Android: Remove -fno-integrated-as, it can break arm64v8 build
We found that this flag causes this error on PR #48812 which does not add any
fancy inline assembly:
```
/tmp/tile_set-ce236a.s: Assembler messages:
/tmp/tile_set-ce236a.s:34676: Error: selected processor does not support `bfc x0,#32,#32'
clang++: error: assembler command failed with exit code 1 (use -v to see invocation)
```

That flag is mentioned in various errors related to assembler failures on
arm64v8 with Clang from the Android NDK.

It was added in Godot in #6958 when migrating from GCC to Clang, and is indeed
referenced in the NDK's Clang migration guide:
https://android.googlesource.com/platform/ndk/+/master/docs/ClangMigration.md

> Especially for ARM and ARM64, Clang is much stricter about assembler rules
> than GCC/GAS. Use `-fno-integrated-as` if Clang reports errors in inline
> assembly or assembly files that you don't wish to modernize.

We don't get those errors nowadays so it seems the flag is no longer needed.
2021-05-19 18:55:43 +02:00
Fabio Alessandrelli
14c057eab6 [HTML5] Fix GDNative compilation with emcc 2.0.19+
Add `WARN_ON_UNDEFINED_SYMBOLS=0` for the main module (which defines
`godot_js_main` as extern coming from the "side" module, i.e. the main
Godot binary).
2021-05-19 11:51:32 +02:00
Rémi Verschelde
6c367f8e0d
Merge pull request #48168 from LightningAA/control-to-ctrl-4.0 2021-05-17 17:38:02 +02:00
Pedro J. Estébanez
469fa47e06
Make all file access 64-bit (uint64_t)
This changes the types of a big number of variables.

General rules:
- Using `uint64_t` in general. We also considered `int64_t` but eventually
  settled on keeping it unsigned, which is also closer to what one would expect
  with `size_t`/`off_t`.
- We only keep `int64_t` for `seek_end` (takes a negative offset from the end)
  and for the `Variant` bindings, since `Variant::INT` is `int64_t`. This means
  we only need to guard against passing negative values in `core_bind.cpp`.
- Using `uint32_t` integers for concepts not needing such a huge range, like
  pages, blocks, etc.

In addition:
- Improve usage of integer types in some related places; namely, `DirAccess`,
  core binds.

Note:
- On Windows, `_ftelli64` reports invalid values when using 32-bit MinGW with
  version < 8.0. This was an upstream bug fixed in 8.0. It breaks support for
  big files on 32-bit Windows builds made with that toolchain. We might add a
  workaround.

Fixes #44363.
Fixes godotengine/godot-proposals#400.

Co-authored-by: Rémi Verschelde <rverschelde@gmail.com>
2021-05-17 15:06:19 +02:00
bruvzg
11ccfad1aa
[macOS] Prefer .app bundle icon over the default one. 2021-05-13 09:25:09 +03:00
Rémi Verschelde
e743b6b24c
CI: Update JavaScript linter deps with known security vulnerabilities
jsdoc has no new release so I'm tracking this PR:
https://github.com/jsdoc/jsdoc/pull/1906
2021-05-12 10:32:38 +02:00
Rémi Verschelde
ba095ae567
SCons: Fix UWP build after #45315
(cherry picked from commit d1f023c35b)
2021-05-11 14:14:48 +02:00
Hugo Locurcio
064ca9adae
Remove debugging prints in the Linux DisplayServer
Some Vulkan debugging prints were also changed to be printed only
in verbose mode.
2021-05-08 19:07:50 +02:00
Fabio Alessandrelli
871d067aa9
Merge pull request #48543 from Faless/js/4.x_target_fps_fix
[HTML5] Fix target_fps when window loses focus.
2021-05-08 11:02:50 +02:00
Lightning_A
97fecd1b69 Rename "Control" key to "Ctrl" and add "_pressed" suffix to all InputEventWithModifiers properties/methods 2021-05-07 14:00:50 -06:00
Fabio Alessandrelli
a1fe6d6899 [HTML5] Fix target_fps when window loses focus.
We don't get updates when the window is unfocused/minimized, so we must
detect the situation where the counted ticks start drifting away
resulting in more frames drawn than needed.
This commit adds a check to ensure that the target ticks do not drift
away more than one second.
2021-05-07 21:51:14 +02:00
Rémi Verschelde
35ec0e9be7
OS: Remove native video API only implemented on iOS
See discussion in #43811, it was only implemented on iOS and even that
implementation was fairly limited. This would best be provided as plugins
for Android and iOS without cluttering the shared OS API.
2021-05-07 20:40:24 +02:00
Fabio Alessandrelli
6243835619 [HTML5] Use 64KiB chunk size in JS HTTPClient.
For consistency with the native one, and the documentation.
2021-05-06 14:00:52 +02:00
Hugo Locurcio
3f078c99f6
Rename IP_Unix, IP_Address and TCP_Server to remove underscores 2021-05-06 02:52:01 +02:00
Rémi Verschelde
dfbabcdaeb
Merge pull request #48453 from JFonS/improve_raycast_module_scsub
Port changes to the "raycast" module build files from 3.x
2021-05-04 17:55:25 +02:00
jfons
575543ce53 Port changes to the "raycast" module build files from 3.x 2021-05-04 17:21:41 +02:00
Aaron Franke
0de9a7d803
Rename doubleclick to double_click 2021-05-04 04:38:08 -04:00
Rémi Verschelde
a91effc791
Merge pull request #48323 from naithar/fix/ios-virtual-keyboard-range
[iOS] Nonnegative start index for virtual keyboard range
2021-04-30 11:47:49 +02:00
Sergey Minakov
275772818d [iOS] Nonnegative start index for virtual keyboard range 2021-04-30 11:44:32 +03:00
Fabio Alessandrelli
8e2c237008 [HTML5] Fix builds with recent emscripten versions
Library suffix should be `.a`, the `EXTRA_` in
`EXTRA_EXPORTED_RUNTIME_METHODS` is deprecated.
2021-04-30 08:01:26 +02:00
Rémi Verschelde
5b16020846
Replace remaining uses of NULL with nullptr
Follow-up to #38736 (these uses were likely added after this PR was merged).
2021-04-29 11:53:27 +02:00
thebestnom
47bf216af9 [Android] fix generateDevTemplate 2021-04-28 21:59:42 +03:00