summaryrefslogtreecommitdiff
path: root/platform
AgeCommit message (Collapse)Author
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-09[Windows, MSVC] Correctly set source file encoding.bruvzg
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.
2020-10-02iOS: RefactoringSergey Minakov
Enabled ARC for iOS. Weakify/Strongify macros for objc blocks. Removed old version checks. Specific types for ObjC++ modules to exclude unneeded bridging. Separate DeviceMetrics class for device specific data. Replaced old/deprecated functionality.
2020-10-02Add extra suffix for HTML5 thread builds.Fabio Alessandrelli
2020-10-02Add COOP/COEP headers to HTML5 "run" server.Fabio Alessandrelli
This allow the page to be considered a SecureContext if the address is localhost (127.0.0.1/::1) and let Firefox (and future Chrome versions) enable extra features needed for the HTML5 threaded export.
2020-10-01Fix `screen_get_dpi` on macOS for non fractional display scales and restore ↵bruvzg
documentation.
2020-10-01Merge pull request #40582 from PoqXert/game-center-4.0Rémi Verschelde
[4.0] iOS Game Center improvements
2020-10-01iOS: move touch delay to settingsSergey Minakov
2020-09-30Merge pull request #41910 from nekomatata/x11-inputs-lag-fixRémi Verschelde
Fix issues related to delay when processing events on X11 display server
2020-09-29Merge pull request #42381 from timothyqiu/osx-hiddenRémi Verschelde
Hide special folders in FileDialog for macOS
2020-09-28Merge pull request #41385 from m4gr3d/fix_splash_loading_masterRémi Verschelde
Fix splash screen loading on Android
2020-09-28Merge pull request #42262 from akien-mga/ios-pvrtc-fixesRémi Verschelde
iOS: Fix multiple issues with PVRTC import, disable ETC1
2020-09-28Merge pull request #42327 from bruvzg/4_mac_captured_fixRémi Verschelde
[macOS] Fix mouse position in captured mode.
2020-09-28Hides special folders in FileDialog for macOSHaoyu Qiu
2020-09-27Add all headers to VS ProjectBartłomiej T. Listwon
2020-09-25Fix delay to process clipboard content from Godot in other programsPouleyKetchoupp
When pasting clipboard content from Godot to other applications, multiple SelectionRequest events are sent to Godot in order to access the data. It could take a long time before the data is ready for the other app because events were processed one by one on the main thread, especially when Godot is unfocused and runs at low frequency. With this change, SelectionRequest events are directly handled on the separate event polling thread to minimize this delay. This change also replaces clipboard_get() calls in SelectionRequest with a direct access to internal_clipboard, since in this case we know Godot is the owner of the clipboard content and it's not necessary to query the x server for it.
2020-09-25[macOS] Fix mouse position in captured mode.bruvzg
2020-09-24Fix general keyboard input lag on X11 display serverPouleyKetchoupp
This change makes keyboard inputs more responsive on Linux, especially when the FPS is lower on slower configurations. Polling events from the x server is done on a separate thread to avoid a frame delay with inputs, due to first sending the event to the input manager with XFilterEvent then processing the new event only on the next frame. Calls to Input Manager functions like XSetICFocus, XUnsetICFocus and XSetICValues use a mutex, because they are polling events internally and would otherwise interfere with our own thread process for polling events which can cause a deadlock in some cases. XUnsetICFocus is called instead of XSetICFocus on FocusOut events, so the input manager can be properly notified of focus changes. clipboard_get now uses a blocking call to poll for a specific event type when waiting for a SelectionNotify event, instead of polling all events and filtering them afterwards.
2020-09-23iOS: Fix multiple issues with PVRTC import, disable ETC1Vasiliy Makarov
Fixes: #28683, #28621, #28596 and maybe others For iOS we enable pvrtc feature by default for all backends Etc1 for iOS doesn't have any sense, so it disabled. Fixed checks in export editor. Fixed pvrtc encoding procedure. Edit by Akien: Forward-ported from #38076, this may not make sense as is for Godot 4.0, but it's important that we have the latest code in sync with 3.2 for when more rendering backends and proper iOS support are added back. Co-authored-by: Rémi Verschelde <rverschelde@gmail.com>
2020-09-23Merge pull request #42178 from Faless/js/sync_fs_size_handlersRémi Verschelde
[HTML5] Synchronous main, better persistence, handlers fixes, optional full screen.
2020-09-23JS synchronous start, better persistent FS sync.Fabio Alessandrelli
The engine now expects to emscripten FS to be setup and sync-ed before main is called. This is exposed via `Module["initFS"]` which also allows to setup multiple persistence paths (internal use only for now). Additionally, FS syncing is done **once** for every loop if at least one file in a persistent path was open for writing and closed, and if the FS is not syncing already. This should potentially fix issues reported by users where "autosave" would not work on the web (never calling `syncfs` because of too many writes).
2020-09-23Make canvas resize optional in HTML5.Fabio Alessandrelli
2020-09-23Better HiDPI support in HTML5.Fabio Alessandrelli
2020-09-23Window event listener do not use capture.Fabio Alessandrelli
2020-09-23Small refactor to JavaScript handlers.Fabio Alessandrelli
Crated helper class in native/utils.js. Simplify code in OS/DisplayServer.
2020-09-23Expose request_quit method to JS in HTML5 export.Fabio Alessandrelli
2020-09-18Add overridable init method for the Godot fragment instance.Fredia Huya-Kouadio
2020-09-18[HTML5] Add override keyword, cleanup methods.Fabio Alessandrelli
2020-09-18Fix typos with codespellRémi Verschelde
Using codespell 1.17.1. Method: ``` $ cat > ../godot-word-whitelist.txt << EOF ang curvelinear dof doubleclick fave findn 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 ```
2020-09-18X11: Try to load libXrandr.so.3 if libXrandr.so.2 isn't foundRémi Verschelde
All Linux distros, and FreeBSD and OpenBSD seem to have libXrandr.so.2, but for some reason recent NetBSD versions seem to have libXrandr.so.3 now.
2020-09-18Linux/BSD: Fix support for NetBSDRémi Verschelde
Add __NetBSD__ to `platform_config.h` so that it can find `alloca` and use the proper `pthread_setname_np` format. Rename RANDOM_MAX to avoid conflict with NetBSD stdlib. Fixes #42145.
2020-09-17Add window click-through support.bruvzg
2020-09-14Only display the Windows toggle console option if it can actually be usedHugo Locurcio
2020-09-10Remove unused Python imports.Marcel Admiraal
2020-09-09Explicitly add implicitly added semicolons.Marcel Admiraal
2020-09-05Adds PCK encryption support (using script encryption key for export).bruvzg
Change default encryption mode from ECB to CFB.
2020-09-03[Complex Test Layouts] Change `String` to use UTF-32 encoding on all platforms.bruvzg