summaryrefslogtreecommitdiff
path: root/platform
AgeCommit message (Collapse)Author
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
2020-09-03Merge pull request #41332 from bruvzg/win_subsys_optionRémi Verschelde
Revert #41164, add subsystem build option.
2020-09-03Fix drag and drop between windows in X11 display serverPouleyKetchoupp
Proper implementation for get_window_at_screen_position: Now getting the topmost last active window when overlapping. Mouse drag & release events: They are now propagated through the current focused window, in order to make it consistent with the engine expectations and the Windows display server implementation.
2020-09-03Merge pull request #41456 from nekomatata/x11-fix-popupsRémi Verschelde
Popup fixes for X11 display server
2020-08-30Fix issue causing the textedit to move upwardFredia Huya-Kouadio
2020-08-27Merge pull request #41550 from ↵Rémi Verschelde
godotengine/revert-40671-virtual-keyboard-height-fix Revert "Fix virtual keyboard height regression"
2020-08-26Merge pull request #41549 from ↵Rémi Verschelde
godotengine/revert-40484-android-virtual-keyboard-adjustment Revert "Disable virtual keyboard focus adjustment on Android"
2020-08-26Revert "Fix virtual keyboard height regression"Fredia Huya-Kouadio
2020-08-26Revert "Disable virtual keyboard focus adjustment on Android"Fredia Huya-Kouadio
2020-08-26Revert "Move PopupWindow logic to GodotEditText on Android"Fredia Huya-Kouadio
2020-08-26Fix WINDOW_EVENT_FOCUS_IN for popups on WindowsPouleyKetchoupp
On Windows, WINDOW_EVENT_FOCUS_IN was never sent by the display server for popups, because WM_ACTIVATE events are received during the call to _update_window_style, which happened before the callbacks were set. This was causing some issues with the way Popup is now handling closing on parent focus. Now _update_window_style is only called during show_window, after Window initialized callbacks.
2020-08-26Fix menu popups delay and focus in X11 display serverPouleyKetchoupp
Now using override_redirect for menu & tooltip popups to prevent the WM from interfering with them, so we have more control over focus management and avoid a delay before they show up.
2020-08-25[macOS] Fix heap use-after-free in DisplayServer.bruvzg