Commit Graph

427 Commits

Author SHA1 Message Date
d2573c1636 Fix decoding UTF-8 filenames on unzipping. 2022-01-05 14:31:20 +02:00
f107139979 Rename Project Window width and height settings to match their function 2022-01-04 13:59:16 +00:00
fe52458154 Update copyright statements to 2022
Happy new year to the wonderful Godot community!
2022-01-03 21:27:34 +01:00
bdf8340e59 Merge pull request #43181 from nathanfranke/string-empty
Replace String comparisons with "", String() to is_empty()
2021-12-10 08:56:31 +01:00
89b8de71c0 Merge pull request #55767 from m4gr3d/config_hand_tracking_frequency_master 2021-12-09 23:04:41 +01:00
e3b0282080 Merge pull request #55759 from m4gr3d/enable_exclude_from_recents_master 2021-12-09 23:03:10 +01:00
862c0d06fb Add support for configuring the xr hand tracking frequency mode 2021-12-09 12:25:48 -08:00
cfa81ff32a Enable configuration of the android:excludeFromRecents activity attribute. 2021-12-09 08:50:47 -08:00
49403cbfa0 Replace String comparisons with "", String() to is_empty()
Also:
- Adds two stress tests to test_string.h
- Changes to .empty() on std::strings
2021-12-09 04:48:38 -06:00
2e7e6502dd Add configs to specify the min and target sdk versions. 2021-12-08 09:13:07 -08:00
e078f970db Rename remove() to remove_at() when removing by index 2021-11-23 18:58:57 -07:00
882ec0d611 Add support for OpenXR export configurations. 2021-11-20 06:10:44 -08:00
cab870e9d3 Drop pointless Android depth buffer setting 2021-11-15 11:02:01 +01:00
8a15e404b2 Merge pull request #54463 from RandomShaper/fix_gl3_32bits 2021-11-09 11:55:26 +01:00
665d29c16d Fix new projects always being created with OpenGL
Only Vulkan is fully implemented for now, so OpenGL isn't available
in the project manager yet.

This also makes the rendering driver checks use lowercase names
everywhere for consistency.
2021-11-01 22:04:36 +01:00
07adf1193d Drop broken Android 32-bit framebuffer setting for a reliable one for depth buffer 2021-11-01 14:04:24 +01:00
8a10bb7d0d Use OpenGL 3.3 core profile instead of compatibility profile
- Rename OpenGL to GLES3 in the source code per community feedback.
  - The renderer is still exposed as "OpenGL 3" to the user.
- Hide renderer selection dropdown until OpenGL support is more mature.
  - The renderer can still be changed in the Project Settings or using
    the `--rendering-driver opengl` command line argument.
- Remove commented out exporter code.
- Remove some OpenGL/DisplayServer-related debugging prints.
2021-10-31 15:56:45 +01:00
ce97ddbcb1 Rename GLES2 driver to OpenGL to prepare for the upgrade to GLES3
- Use lowercase driver names for the `--rendering-driver`
  command line argument.
2021-10-30 02:05:49 +02:00
e3491a3744 Add GLES2 2D renderer + Linux display manager
First implementation with Linux display manager.

- Add single-threaded mode for EditorResourcePreview (needed for OpenGL).

Co-authored-by: clayjohn <claynjohn@gmail.com>
Co-authored-by: Fabio Alessandrelli <fabio.alessandrelli@gmail.com>
2021-10-30 02:05:48 +02:00
3a6be64c12 clang-format: Various fixes to comments alignment from clang-format 13
All reviewed manually and occasionally rewritten to avoid bad auto formatting.
2021-10-28 15:43:36 +02:00
3b11e33a09 clang-format: Disable alignment of operands, too unreliable
Sets `AlignOperands` to `DontAlign`.

`clang-format` developers seem to mostly care about space-based indentation and
every other version of clang-format breaks the bad mismatch of tabs and spaces
that it seems to use for operand alignment. So it's better without, so that it
respects our two-tabs `ContinuationIndentWidth`.
2021-10-28 15:19:35 +02:00
9204a3a50e Android: Properly validate godot_project_name_string for Android special chars
Fixes #52659.
2021-10-26 10:01:09 +02:00
b1b14e5fd7 Build for 64-bit ARM by default when compiling or exporting for Android
All Android devices that support Vulkan support 64-bit ARM.

This also removes NEON opt-out code for ARMv7 as pretty much all
ARMv7 devices also support NEON.
2021-10-12 16:35:49 +02:00
431ccdb057 Pass the correct export_format argument to locate the assets directory when exporting. 2021-10-11 08:24:21 -07:00
5bbfe0b5a8 Add support for Play Asset Delivery.
This only adds support for a subset of Play Asset Delivery: this causes a single install-time asset pack to always be present, but doesn't add support for dynamically downloaded asset packs.
2021-09-15 06:06:11 -07:00
58388f8cec Merge pull request #47391 from Calinou/platform-feature-tags-lowercase
Make platform feature tag names lowercase
2021-09-07 16:30:50 -03:00
ebac430445 Merge pull request #52159 from m4gr3d/addoculus_openxr_
Update the AndroidManifest to enable access to Oculus OpenXR runtime
2021-09-01 21:09:28 -07:00
2daaf0fdc3 Make platform feature tag names lowercase
Feature tag names are still case-sensitive, but this makes built-in
feature tags more consistent.

- `Windows` -> `windows`
- `OSX` -> `osx`
- `LinuxBSD` -> `linuxbsd`
- `Android` -> `android`
- `iOS` -> `ios`
- `HTML5` -> `html5`
- `JavaScript` -> `javascript`
- `UWP` -> `uwp`
2021-08-31 20:34:44 +02:00
d11c1afc04 Rename String::is_rel_path to String::is_relative_path 2021-08-29 20:41:29 -04:00
9f4aa1f5ad Update the AndroidManifest to enable access to Oculus OpenXR runtime. 2021-08-27 11:12:25 -07:00
b4cea10771 Merge pull request #49756 from Calinou/android-export-move-clear-previous-install-setting
Move the Android "clear previous install" setting to Editor Settings
2021-08-22 23:30:13 +00:00
3a00ff1cce Add partial support for Android scoped storage.
This is done by providing API access to app specific directories which don't have any limitations and allows us to bump the target sdk version to 30.
In addition, we're also bumping the min sdk version to 19 as version 18 is no longer supported by Google Play Services and only account of 0.3% of Android devices.
2021-08-16 23:11:56 -07:00
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
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
ed49e038ec Split android platform export template into multiple files 2021-08-12 17:15:02 +03:00
1d5332069b Make progress and errors translatable when exporting to Android 2021-08-01 17:16:16 +08:00
ace6df6947 Fix custom build export 2021-07-27 09:15:45 -07:00
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
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
7b63f0a22d Add GDNative libraries to Android custom Gradle builds 2021-06-29 09:26:28 +01:00
532b0e3462 Add support for custom debug keystore. 2021-06-22 10:05:55 -07:00
e28fd07b2b Rename instance()->instantiate() when it's a verb 2021-06-19 20:49:18 -06:00
de2acbd495 Add adb output to error message when install fails 2021-06-19 17:46:57 +01:00
ac73059b56 Merge pull request #49123 from aaronfranke/it-is-time
Add a Time singleton
2021-06-12 22:55:25 +02:00
f64fea1b23 Add Time singleton 2021-06-11 09:32:39 -04:00
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
af3ee1c860 Merge pull request #48963 from HaywardMorihara/export-android-keystore-debug-warnings
Exporting -> Android: Keystore Warnings
2021-06-01 15:22:05 +02:00
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
1179421068 Allow basic user data backup on Android 2021-05-25 17:47:32 +02:00
2cf19293ba Exporting: Android Debug Keystore Warnings 2021-05-24 19:48:29 -04:00