summaryrefslogtreecommitdiff
path: root/platform
AgeCommit message (Collapse)Author
2020-11-11Merge pull request #43443 from Faless/js/4.0_audio_workletRémi Verschelde
[HTML5] Port inline JS code to libraries, AudioWorklet support.
2020-11-10[HTML5] AudioWorklet API implementation.Fabio Alessandrelli
Rewrote AudioDriverJavaScript to support multiple processor nodes. The old (and deprecated) ScriptProcessorNode when threads are not available, and the new AudioWorklet API when threads are enabled. The new implementation uses two ring buffers and a shared state to communicated with the AudioWorklet thread. The audio.worklet.js JavaScript file is always added to the export template, but only really used (and downloaded) in the thread build.
2020-11-10iOS Export: support multi-target pluginSergey Minakov
Plugins can use 'binary_name.a' or 'binary_name.release.a' and 'binary_name.debug.a' for plugin library.
2020-11-10iOS Export: export modification to support pluginsSergey Minakov
Added plugin configuration. Export options now use plugins that could be enabled/disabled. Plugin changes are observed at runtime.
2020-11-10iOS: change platform code to support pluginsSergey Minakov
2020-11-10iOS Modules: separate main platform code from modulesSergey Minakov
Moved previously builtin modules 'GameCenter', 'AppStore', 'iCloud' to separate modules to be represented as plugin. Modified 'ARKit' and 'Camera' to not be builtin into engine and work as plugin. Changed platform code so it's not affected by the move. Modified Xcode project file to remove parameters that doesn't make any effect. Added basic '.gdip' plugin config file.
2020-11-10[HTML5] Port JavaScript inline code to libraries.Fabio Alessandrelli
The API is implemented in javascript, and generates C functions that can be called from godot. This allows much cleaner code replacing all `EM_ASM` calls in our C++ code with plain C function calls. This also gets rid of few hacks and comes with few optimizations (e.g. custom cursor shapes should be much faster now).
2020-11-10[HTML5] Update syntax for lto.Fabio Alessandrelli
2020-11-09Merge pull request #43412 from akien-mga/variant-rename-_RID-to-RIDRémi Verschelde
Variant: Rename Type::_RID to Type::RID
2020-11-09Variant: Rename Type::_RID to Type::RIDRémi Verschelde
The underscore prefix was used to avoid the conflict between the `RID` class name and the matching enum value in `Variant::Type`. This can be fixed differently by prefixing uses of the `RID` class in `Variant` with the scope resolution operator, as done already for `AABB`.
2020-11-09Remove `debug_symbols=full` in favor of `debug_symbols=yes`Hugo Locurcio
`debug_symbols=yes` will now behave like `debug_symbols=full` did before. The difference in compressed file sizes is not that large, which means there isn't much point in having two different values. This helps make the buildsystem easier to understand.
2020-11-07Reorganized core/ directory, it was too fatty alreadyreduz
-Removed FuncRef, since Callable makes it obsolete -Removed int_types.h as its obsolete in c++11+ -Changed color names code
2020-11-06[HTML5] Fix audio buffer size and latency hint.Fabio Alessandrelli
The size of the audio buffer was incorrectly doubled when creating the script processor. latencyHint is expressed in seconds, not milliseconds. Additionally, on some browsers it actually affect the performance and stability of the audio driver. For this reason it has been completely disabled (interactive) and a not has been left for future reference.
2020-11-06Merge pull request #43353 from madmiraal/fix-43352Rémi Verschelde
Use LONG instead of DWORD (unsigned int) when interacting with DIJOFS constants
2020-11-06Use LONG instead of DWORD (unsigned int) when interacting with DIJOFS constants.unknown
2020-11-06Merge pull request #43051 from Ev1lbl0w/bugfix-path-inconsistencyRémi Verschelde
Changed path behaviour for Windows
2020-10-30[iOS] Add missing ARC flag to the simulator build.bruvzg
2020-10-30Merge pull request #37158 from thebestnom/android-click-supportRémi Verschelde
Support mouse events on Android
2020-10-29Add a separate `nativeSrcsConfigs` module to handle Android Studio ↵Fredia Huya-Kouadio
constraints for native code editor support.
2020-10-28Update the gradle pluginsFredia Huya-Kouadio
2020-10-28Merge pull request #42361 from akien-mga/vulkan-layers-opt-inRémi Verschelde
Vulkan: Make validation layers optional
2020-10-28Merge pull request #43153 from nekomatata/android-build-version-closeRémi Verschelde
Release .build_version file handle in Android custom build export
2020-10-28Merge pull request #43053 from Ev1lbl0w/bugfix-shell-openRémi Verschelde
Changed shell_open behaviour
2020-10-28Release .build_version file handle in Android custom build exportPouleyKetchoupp
2020-10-27Implement OS.get_window_safe_area() for AndroidMark Riedesel
2020-10-27Vulkan: Make validation layers optionalRémi Verschelde
They're now disabled by default, and can be enabled with the command line argument `--vk-layers`. When enabled, the errors about them being missing are now warnings, as users were confused and thought this meant Vulkan is broken for them. Fix crash in `~VulkanContext` when validation layers are disabled (exposed by this PR since before they could not be disabled without source modification). Also moved VulkanContext member initializations to header. Fixes #37102.
2020-10-26Changed shell_open behaviourEv1lbl0w
2020-10-24Changed path behaviour for WindowsEv1lbl0w
2020-10-23Fix android apk contents having mtime 1 month in futureMark Riedesel
minizip documentation describes tm_mon as expecting the number of months since January - [0, 11], but the month returned by OS.get_date() is in the range of [1, 12].
2020-10-20Merge pull request #42772 from bruvzg/macos_inertiaRémi Verschelde
[macOS] Suppress momentum scrolling after key press.
2020-10-20Merge pull request #42853 from naithar/fix/in-app-store-masterRémi Verschelde
[4.0] [iOS] InAppStore fixes
2020-10-18Refactor MethodBind to use variadic templatesreduz
Removed make_binders and the old style generated binders.
2020-10-16iOS: fix in app storeSergey Minakov
Enforce strong reference for SKRequests and delegate objects for transactions to work correctly
2020-10-14[HTML5] Add JavaScriptToolsEditorPlugin.Fabio Alessandrelli
A new editor plugin, specific to HTML5, that provide some extra features needed to make the editor usable on that platform. For now, it adds a "Download project sources" option in the "Tool" menu, so the user can download the work done as a zip file (from the browser storage).
2020-10-14Add JavaScript editor html file.Fabio Alessandrelli
2020-10-14[HTML5] Close IDBFS database on exit.Fabio Alessandrelli
This should be made available in emscripten in a decent way. Possibly after unmount, to free the database lock and allow performing operations on it from javascript after the Emscripten Runtime has exited.
2020-10-14[HTML5] Expose request_quit via Engine class.Fabio Alessandrelli
So it can be called when closure compiler is enabled.
2020-10-14Increase HTML5 THREADPOOL size.Fabio Alessandrelli
This fixes a "random" deadlock when quitting the editor. I still haven't figure out the root cause, but having a bigger seems to greatly mitigate the issue. The new pool size (pre-allocated threads) is now 8.
2020-10-13[macOS] Suppress momentum scrolling after key press or modifier change to ↵bruvzg
prevent unexpected change of action.
2020-10-09[Windows, MSVC] Correctly set source file encoding.bruvzg
2020-10-09Android: Mouse Implementationthebestnom
Implement mouse Move touch to inputManager Change to use android/input.h
2020-10-08Merge pull request #42647 from nekomatata/x11-unfocus-crash-fixRémi Verschelde
Fix x11 display server crash when deleting popup window when unfocused
2020-10-08Fix x11 display server crash when deleting popup window when unfocusedPouleyKetchoupp
On FocusOut events, the window could be destroyed while propagating WINDOW_EVENT_FOCUS_OUT event, which causes the WindowData to be invalidated, and still used for calls to XUnsetICFocus. This change moves calls to XUnsetICFocus, and also XSetICFocus in FocusIn events, before propagating the change of focus event to the engine, to be safe in any case. Also setting xic member to nullptr after all calls to XDestroyIC to keep things clean and consistent. Fixes #42645
2020-10-08Fixed an issue in UWP export caused by duplicate entry for extensions in ↵unknown
content types file.
2020-10-08SCons: Refactor and cleanup warnings definitionRémi Verschelde
2020-10-06SCons: Add windows_subsystem=default, restores original behaviorRémi Verschelde
We want debug builds to have a console and easy stdout redirection by default. Windows makes reading the stdout/stderr stream from gui applications too cumbersome (and most users don't know about it, and just wonder why they don't see a thing).
2020-10-04[HTML5] Scons now expects "emcc" to be in PATH.Fabio Alessandrelli
No longer parse emscripten/emsdk config to detect emcc/node paths. Use WhereIs to find "emcc" and "node", look for "node_modules" in "emcc" path.
2020-10-02Merge pull request #42505 from Faless/js/4.0_audio_threadsRémi Verschelde
[HTML5] Move audio processing to thread when threads are enabled.
2020-10-02[HTML5] Run Audio process in thread when availableFabio Alessandrelli
This should fix some of the audio stuttering issues when the HTML5 export is compiled with threads support. The API should be ported to AudioWorklet to (hopefully) be perfect. That though, cannot be backported to 3.2 due to extra restriction of AudioWorklet (which only runs in SecureContext, and needs a polyfill for Safari).
2020-10-02iOS: Native video refactoringSergey Minakov
Moved native video handling to separate view.