summaryrefslogtreecommitdiff
path: root/platform
AgeCommit message (Collapse)Author
2021-03-12Non functional to non-functionalMrBrain295
2021-03-12[HTML5] Drag and drop zip in project manager.Fabio Alessandrelli
With a very nice hack, a new hidden configuration option that delays dropped files removal at exit. This still leaks while the project manager is running, but will clear memory as soon as it exits or load something. (reminder, dropped files are reguarly removed after the signal is emitted specifically to avoid leaks, but I prefer hacking the HTML5 config then the project manager).
2021-03-11[HTML5] Opt-in virtual keyboard support.Fabio Alessandrelli
Added as an export option "Experimental Virtual Keyboard". There is no zoom, so text/line edit must be in the top part of the screen, or it will get hidden by the virtual keyboard. UTF8/Latin-1 only (I think regular UTF-8 should work out of the box in 4.0 but I can't test it). It uses an hidden textarea or input, based on the multiline variable, and only gets activated if the device has a touchscreen. This could cause problems on devices with both touchscreen and a real keyboard (although input should still work in general with some minor focus issues). I'm thinking of a system to detect the first physical keystroke and disable it in case, but it might do more harm then good, so it must be well thought.
2021-03-10[HTML5] Properly set canvas size during setup.Fabio Alessandrelli
It used to be updated before the first iteration, causing the window/viewport size values to be incorrect during the initialization phase (e.g. during the first `_ready` notification).
2021-03-08[HTML5] Respect allow_hidpi option during setupFabio Alessandrelli
The option was forced to `true` before, unlike on other platforms.
2021-03-08Merge pull request #46796 from Faless/js/4.x_pwa_simpleRémi Verschelde
[HTML5] Add PWA support to the editor page.
2021-03-08[HTML5] Add PWA support to the editor page.Fabio Alessandrelli
This allows to install it as an app, and provide offline support (after the first run). Practically, this boils down to adding a JSON file as a manifest, an offline page to be displayed when the cached files are not avaialble, and a JS file to cache resources and return them. The reason for the "first run requirements" is that some browsers, will emit an "install" by just visiting the page (to see if the JS code is compatibile), and we do not want to force casual visitors to just download the 10 MiB+ compressed editor WebAssembly file without pressing the start button. Special thanks to Hugo Locurcio (Calinou) for the initial work.
2021-03-08[HTML5] Catch audio worklet errors on disconnect.Fabio Alessandrelli
Which could happen if the worklet was not fully loaded, or the audio context had already aborted.
2021-03-08Linux: Fix PRIME detection on SteamRémi Verschelde
To avoid trying to do PRIME detection on fake `libGL.so` as used by e.g. Renderdoc or Primus, we skip detection if there's a `libGL.so` in `LD_LIBRARY_PATH`... and our luck is that Steam defines it and includes system paths too, thus the actual system `libGL`... 🤦 So if we detect Steam, we skip this check. Co-authored-by: Hein-Pieter van Braam-Stewart <hp@tmm.cx>
2021-03-06[HTML5] Replace XMLHttpRequest with Fetch.Fabio Alessandrelli
This has some advantages: - Streaming/chunked response support. - Broader headers support.
2021-03-05[HTML5] Rename heapCopy to heapSlice.Fabio Alessandrelli
New heapCopy function copies a TypedArray to the heap.
2021-03-05[HTML5] Export process writes sizes in template.Fabio Alessandrelli
This allow the loading bar to be much more reliable, even in cases where realible stream loading status is not detectable (server-side compression, chunked encoding).
2021-03-05[HTML5] Preloader fetch, streaming instantiation.Fabio Alessandrelli
2021-03-03Merge pull request #43768 from sjml/mac-mono-export-fixRémi Verschelde
Mono/macOS: Separate data dir into frameworks and resources for codesigning
2021-03-03Merge pull request #46621 from bruvzg/macos_export_entitlemenst_4Rémi Verschelde
[macOS] Add entitlements config and export template `dylib` signing to the export.
2021-03-03Mono/macOS: Separate data dir into frameworks and resources for codesigningShane Liesegang
Co-authored-by: Ignacio Etcheverry <ignalfonsore@gmail.com>
2021-03-03[macOS] Add entitlements config and export template `dylib` signing to the ↵bruvzg
export.
2021-03-02add msan sanitizer option for linus/bsd, lsan option for osxJordan Schidlowsky
2021-02-28Fix out of bounds array access on DisplayServerX11 codePedro Rodrigues
The problem happened on methods `screen_get_position`, `screen_get_usable_rect` and `window_set_current_screen` when they were passed a negative screen value. Fixes: - #46184 - #46185 - #46186
2021-02-27Merge pull request #46457 from m4gr3d/fix_invalid_missing_templates_error_masterRémi Verschelde
Fix invalid missing template error when the Android build template is not installed
2021-02-26Fix invalid missing template error when the Android build template is not ↵Fredia Huya-Kouadio
installed.
2021-02-26Update the logic to load Godot Android plugins packaged into the binary.Fredia Huya-Kouadio
The previous logic had the side effect of imposing a limit of one plugin per `aar` binary. The update lifts that restriction.
2021-02-26Merge pull request #46446 from Faless/js/4.x_jsdocRémi Verschelde
[HTML5] Document Engine and EngineConfig (jsdoc).
2021-02-26[HTML5] Make editor HTML build tag scons4-proof.Fabio Alessandrelli
We used to have it like `$GODOT_VERSION` which caused inconsistencies between different scons versions when substituting it. It's now `@GODOT_VERSION@`, which is safe on both scons3 and scons4.
2021-02-26[HTML5] Add jsdoc2rst tool.Fabio Alessandrelli
A template for `jsdoc` that generat the HTML5 public classref. The script can be run via `npm run docs` to print to stdout. You can dry run via `npm run docs -- --d dry-run` or write to file via `npm run docs -- -d /path/to/file.rst` Also update Makefile in `doc/` and add dry run test to CI.
2021-02-26[HTML5] Document Engine and EngineConfig (jsdoc).Fabio Alessandrelli
This commit also removes the utils.js engine file, moving some of it's content to config.js and some to engine.js .
2021-02-25Merge pull request #46403 from m4gr3d/fix_android_resources_inclusion_masterRémi Verschelde
Update the filtering logic to properly handle directories with `.gdignore` files
2021-02-25Merge pull request #46402 from nekomatata/natvis-local-vectorRémi Verschelde
Added LocalVector to Visual Studio debugger visualization
2021-02-24Update the filtering logic to properly handle directories with `.gdignore` ↵Fredia Huya-Kouadio
files.
2021-02-24Added LocalVector to Visual Studio debugger visualizationPouleyKetchoupp
2021-02-24Merge pull request #46381 from m4gr3d/update_godot_fragment_lifecycle_masterRémi Verschelde
Update the initialization timeline for the Godot fragment
2021-02-24Update the initialization timeline for the Godot fragment to be more ↵Fredia Huya-Kouadio
consistent with the previous activity based timeline.
2021-02-24Add logic to record the version of the Godot engine for the Android platform.Fredia Huya-Kouadio
2021-02-23Allow static linking with libatomic using clangHein-Pieter van Braam-Stewart
When using use_static_cpp we want to statically link with atomic as well to make sure we don't incur any new runtime dependencies. Scons doesn't quite support this so we do this little trick.
2021-02-22Use -latomic when using clang (server platform)Hein-Pieter van Braam-Stewart
version of c9b3a00a63fafa546bf402e32fd21ebe7f274b43 for the server platform
2021-02-20Merge pull request #46256 from hpvb/dri-prime-amd-masterHein-Pieter van Braam
Add 'AMD' GPU vendor name to PRIME detector
2021-02-20Add 'AMD' GPU vendor name to PRIME detectorHein-Pieter van Braam-Stewart
Apparently some recent Mesa version also changed AMD's vendor string. In addition I found a small uninitialized variable that's corrected now.
2021-02-20Use -latomic when linking whe using clang on LinuxHein-Pieter van Braam-Stewart
According to the LLVM documentation when using GNU's libstdc++ clang will not automatically link with -latomic. This is necessary since we merged c++11 atomics support. This fixes linking using Clang on Linux
2021-02-20An update to the dylibloader for older inttypesHein-Pieter van Braam-Stewart
This #define's older inttypes to their newer versions and #includes <stdint.h> in the generated files. This will help with older glibc/compiler versions using headers generated on newer systems. This closes #46223
2021-02-19Merge pull request #46200 from Faless/js/4.x_canvas_size_prRémi Verschelde
[HTML5] Easier HTML templates, better canvas size handling
2021-02-19[HTML5] Better fullscreen, canvas resizing.Fabio Alessandrelli
Three canvas resize policies: - `None`: Godot window settings are ignored. - `Project`: Godot handles the canvas like a native app (resizing it when setting the window size). - `Adaptive`: Canvas size will always adapt to browser window size. Use `None` if you want to control the canvas size with custom JavaScript code.
2021-02-19[HTML5] Easier HTML templates, better deinit/cleanup.Fabio Alessandrelli
2021-02-18Merge pull request #46131 from bruvzg/move_tablet_to_dsRémi Verschelde
Move tablet driver API from OS to DisplayServer
2021-02-18Merge pull request #45617 from RandomShaper/modernize_atomicsRémi Verschelde
Modernize atomics (and fix `volatile`)
2021-02-18Modernize atomicsPedro J. Estébanez
- Based on C++11's `atomic` - Reworked `SafeRefCount` (based on the rewrite by @hpvb) - Replaced free atomic functions by the new `SafeNumeric<T>` - Replaced wrong cases of `volatile bool` by the new `SafeFlag` - Platform-specific implementations no longer needed Co-authored-by: Hein-Pieter van Braam-Stewart <hp@tmm.cx>
2021-02-18Move tablet driver API from OS to DisplayServer.bruvzg
2021-02-18Reorganize Project Settingsreduz
-Advanced Settings toggle also hides advanced properties when disabled -Simplified Advanced Bar (errors were just plain redundant) -Reorganized rendering quality settings. -Reorganized miscelaneous settings for clean up.
2021-02-18Disable engine splash logic on Android; this is now handled by the Android ↵Fredia Huya-Kouadio
theme api. In addition, add support for scaling and applying filter to the splash screen on Android. One limitation of the api being used is that the splash screen aspect ratio is not maintained when it's scaled up.
2021-02-18Merge pull request #46161 from akien-mga/linux-joypads-udev-fallbackRémi Verschelde
Linux: Fix fallback logic when udev fails creating a context
2021-02-18Linux: Fix fallback logic when udev fails creating a contextRémi Verschelde
Thanks to Noshyaar for pointing out the bug.