summaryrefslogtreecommitdiff
path: root/platform
AgeCommit message (Collapse)Author
2021-05-31Implement shader cachingreduz
* 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-25Merge pull request #49069 from RandomShaper/android_data_backupRémi Verschelde
Allow basic user data backup on Android
2021-05-25Merge pull request #48422 from szymonm-google/android_orientation_fixRémi Verschelde
Fixed changing screen orientation on Android
2021-05-25Allow basic user data backup on AndroidPedro J. Estébanez
2021-05-25Merge pull request #49064 from RandomShaper/default_config_xcodeRémi Verschelde
Set schemes' build config to debug/release in iOS Xcode export
2021-05-25Rename File::get_len() get_length()Marcel Admiraal
2021-05-25Merge pull request #48955 from Calinou/editor-tweak-property-hintsRémi Verschelde
Tweak dozens of editor property hints for consistency
2021-05-25Set schemes' build config to debug/release in iOS Xcode exportPedro J. Estébanez
2021-05-25Tweak dozens of editor property hints for consistencyHugo Locurcio
- Update Viewport MSAA property hints to match the currently exposed values. - Add some performance hints to property hints.
2021-05-24Fixed screen orientation on AndroidSzymon Majewski
2021-05-24Merge pull request #48939 from Calinou/screen-orientation-use-enumRémi Verschelde
Use an enum to represent screen orientation in the Project Settings
2021-05-24Use an enum to represent screen orientation in the Project SettingsHugo Locurcio
- 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-24Merge pull request #46866 from bruvzg/symlinks_and_macos_gdn_framework_export_4Rémi Verschelde
2021-05-24Add GDNative Framework loading and export support.bruvzg
2021-05-24[macOS] Allow "on top" windows to enter full-screen mode.bruvzg
2021-05-22Merge pull request #48940 from omar-polo/add-openbsdRémi Verschelde
add OpenBSD to OS_LinuxBSD::get_name()
2021-05-22Add symlink API to the DirAccess (on macOS and Linux).bruvzg
2021-05-22[UWP] Add missing `get_scansym` argument.bruvzg
2021-05-21add OpenBSD to OS_LinuxBSD::get_name()Omar Polo
2021-05-21Merge pull request #48922 from akien-mga/os-xdg-dedup-codeRémi Verschelde
OS: Remove code duplicate in XDG paths handling
2021-05-21Merge pull request #48928 from Faless/js/4.x_fix_build_after_renameRémi Verschelde
[HTML5] Fix build after KEY_CTRL rename.
2021-05-21[HTML5] Fix build after KEY_CTRL rename.Fabio Alessandrelli
2021-05-21[HTML5] Add easy to use download API.Fabio Alessandrelli
New `JavaScript.download_buffer` method to create a prompt that let the user download a file.
2021-05-21OS: Remove code duplicate in XDG paths handlingRémi Verschelde
Follow-up to #48542.
2021-05-20Only allow absolute paths in XDG environment variablesHugo Locurcio
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-20Merge pull request #48719 from Faless/js/4.x_interfacesRémi Verschelde
[HTML5] Implement Godot <-> JavaScript interface.
2021-05-20[HTML5] Implement Godot <-> JavaScript interface.Fabio Alessandrelli
2021-05-20Fix typos with codespellRémi Verschelde
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-19Android: Add support for cursor iconsthebestnom
2021-05-19Android: Remove `-fno-integrated-as`, it can break arm64v8 buildRémi Verschelde
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[HTML5] Fix GDNative compilation with emcc 2.0.19+Fabio Alessandrelli
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-17Merge pull request #48168 from LightningAA/control-to-ctrl-4.0Rémi Verschelde
2021-05-17Make all file access 64-bit (uint64_t)Pedro J. Estébanez
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-12CI: Update JavaScript linter deps with known security vulnerabilitiesRémi Verschelde
jsdoc has no new release so I'm tracking this PR: https://github.com/jsdoc/jsdoc/pull/1906
2021-05-11SCons: Fix UWP build after #45315Rémi Verschelde
(cherry picked from commit d1f023c35b8bed3fc839fdc5d587a839568aab44)
2021-05-08Remove debugging prints in the Linux DisplayServerHugo Locurcio
Some Vulkan debugging prints were also changed to be printed only in verbose mode.
2021-05-08Merge pull request #48543 from Faless/js/4.x_target_fps_fixFabio Alessandrelli
[HTML5] Fix target_fps when window loses focus.
2021-05-07Rename "Control" key to "Ctrl" and add "_pressed" suffix to all ↵Lightning_A
InputEventWithModifiers properties/methods
2021-05-07[HTML5] Fix target_fps when window loses focus.Fabio Alessandrelli
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-07OS: Remove native video API only implemented on iOSRémi Verschelde
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-06[HTML5] Use 64KiB chunk size in JS HTTPClient.Fabio Alessandrelli
For consistency with the native one, and the documentation.
2021-05-06Rename `IP_Unix`, `IP_Address` and `TCP_Server` to remove underscoresHugo Locurcio
2021-05-04Merge pull request #48453 from JFonS/improve_raycast_module_scsubRémi Verschelde
Port changes to the "raycast" module build files from 3.x
2021-05-04Port changes to the "raycast" module build files from 3.xjfons
2021-05-04Rename `doubleclick` to `double_click`Aaron Franke
2021-04-30Merge pull request #48323 from naithar/fix/ios-virtual-keyboard-rangeRémi Verschelde
[iOS] Nonnegative start index for virtual keyboard range
2021-04-30[iOS] Nonnegative start index for virtual keyboard rangeSergey Minakov
2021-04-30[HTML5] Fix builds with recent emscripten versionsFabio Alessandrelli
Library suffix should be `.a`, the `EXTRA_` in `EXTRA_EXPORTED_RUNTIME_METHODS` is deprecated.
2021-04-29Replace remaining uses of `NULL` with `nullptr`Rémi Verschelde
Follow-up to #38736 (these uses were likely added after this PR was merged).
2021-04-28[Android] fix generateDevTemplatethebestnom