summaryrefslogtreecommitdiff
path: root/platform
AgeCommit message (Collapse)Author
2020-01-07Export: Improve usability of command line interfaceRémi Verschelde
I'm barely scratching the surface of the changes needed to make the --export command line interface easy to use, but this should already improve things somewhat. - Streamline `can_export()` templates check in all platforms, checking first for the presence of official templates, then of any defined custom template, and reporting on the absence of any. Shouldn't change the actual return value much which is still true if either release or debug is usable - we might want to change that eventually and better validate against the requested target. - Fix discrepancy between platforms using `custom_package/debug` and `custom_template/debug` (resp. `release`). All now use `custom_template`, which will break compatibility for `export_presets.cfg` with earlier projects (but is easy to fix). - Use `can_export()` when attempting a command line export and report the same errors that would be shown in the editor. - Improve error reporting after a failed export attempt, handling missing template and invalid path more gracefully. - Cleanup of unused stuff in EditorNode around the export workflow. - Improve --export documentation in --help a bit. Fixes #16949 (at least many of the misunderstandings listed there). Fixes #18470.
2020-01-06PCK: Set VERSION_PATCH in header, factor out header magicJoost Heitbrink
Unify pack file version and magic to avoid hardcoded literals. `version.py` now always includes `patch` even for the first release in a new stable branch (e.g. 3.2). The public name stays without the patch number, but `Engine.get_version_info()` already included `patch == 0`, and we can remove some extra handling of undefined `VERSION_PATCH` this way. Co-authored-by: Rémi Verschelde <rverschelde@gmail.com>
2020-01-06Merge pull request #33967 from Calinou/add-os-is-window-focusedRémi Verschelde
Add an `OS.is_window_focused()` getter
2020-01-01Update copyright statements to 2020Rémi Verschelde
Happy new year to the wonderful Godot community! We're starting a new decade with a well-established, non-profit, free and open source game engine, and tons of further improvements in the pipeline from hundreds of contributors. Godot will keep getting better, and we're looking forward to all the games that the community will keep developing and releasing with it.
2019-12-30Replace the android.defaultConfig.applicationId in build.gradle with the ↵fhuya
package/unique_name.
2019-12-24Cleans up headers included in editor_node.hHaoyu Qiu
2019-12-22i18n: Sync translations with Weblate + update templateRémi Verschelde
Also fix a few stray clang-format formatting errors that passed through CI unnoticed.
2019-12-17Fix crash on Android with no manifest permissions.Fabio Alessandrelli
API allows for null array of permissions. It is now normalized with an empty array.
2019-12-14Merge pull request #33910 from Faless/net/android_mlockRémi Verschelde
Acquire MulticastLock on Android when using broadcast/multicast
2019-12-14Add Android NetSocket implementation.Fabio Alessandrelli
Automatically acquire and release multicast lock when needed.
2019-12-14Add GodotNetUtils Java class for Android.Fabio Alessandrelli
Provides access to a MulticastLock. As specified by the Android API, broadcast/multicast packets may be filtered on some phones unless the application explicitly acquires a "MulticastLock".
2019-12-14Merge pull request #34338 from Catchawink/masterRémi Verschelde
Fixed an issue with capturing audio from microphones in macOS.
2019-12-13Added microphone and camera usage descriptions to macOS builds.Catchawink
2019-12-14Change bundle name rules on iOS to match Apple's requirementsJonas Bernemann
Changed the bundle identifier verification to match the official verficiation. https://developer.apple.com/documentation/bundleresources/information_property_list/cfbundleidentifier This help developers to migrate existing games to godot without constantly having to change the bundle identifier in the generated XCode project.
2019-12-13Merge pull request #34229 from NoFr1ends/fix-home-indicator-iosRémi Verschelde
Allow to change the home indicator behaviour on iOS
2019-12-13Add project setting to hide home indicator on iOSJonas Bernemann
On iOS devices without a physical home button iOS shows a home indicator instead. This is often in the way of the UI or the game. Added a project setting to disable hidden home indicator. The default value is to hide the home indicator
2019-12-11SCons: Add 'split_libmodules' option to workaround linker issueRémi Verschelde
The new 'split_libmodules=yes' option is useful to work around linker command line size limitations when linking a huge number of objects. We're currently over 64k chars when linking libmodules.a on Windows with MinGW, which triggers issues as seen in #30892. Even on Linux, we can also reach linker command line size limitations by adding more custom modules. We force this option to True for MinGW on Windows, which fixes #30892. Additional changes to lib splitting: - Fix linking of the split module libs with interdependent symbols, hacking our way into LINKCOM and SHLINKCOM to set the `--start-group` and `--end-group` flags. - Fix Python 3 compatibility in `methods.split_lib()`. - Drop seemingly obsolete condition for 'msys' on 'posix'. - Drop the unnecessary 'split_drivers' as the drivers lib is no longer too big since we moved all thirdparty builds to modules. Co-authored-by: Hein-Pieter van Braam-Stewart <hp@tmm.cx>
2019-12-08[macOS] Send resize event without actually resizing window on backing change.bruvzg
Co-authored-by: Haoyu Qiu <timothyqiu32@gmail.com>
2019-12-06iOS: Disable armv7 as target arch by defaultRémi Verschelde
We no longer compile for armv7 and x86 in the official export templates, as those architectures are no longer relevant for iOS. If users really want to support armv7 (used on devices from before September 2013, e.g. iPhone 5), they can still build their own templates and toggle the option. We might remove the option altogether in a later release to avoid the confusion for users that might tick the checkbox without having compiled their own templates. Fixes #34135.
2019-12-04Added support for vertical syncing via the Windows OS compositor (DWM.)TerminalJack
2019-12-03Merge pull request #34079 from KoBeWi/rcexportRémi Verschelde
Don't stop export if rcedit path is invalid
2019-12-03Don't stop export if rcedit path is invalidTomasz Chabora
2019-12-03Emscripten: Re-add BINARYEN_TRAP_MODE='clamp' for fastcompRémi Verschelde
The option is needed when using the 'fastcomp' backend (default before 1.39.0), and must not be defined when using 'upstream' (new default). So we define it conditionally to support both backends. Follow-up to #30751.
2019-12-03[iOS] Add export options to control external access to user data.bruvzg
2019-12-01iOS modular build and export implementation.bruvzg
2019-11-28Add an `OS.is_window_focused()` getterHugo Locurcio
This makes it possible to know whether the window is focused at a given time, without having to track the focus state manually using `NOTIFICATION_WM_FOCUS_IN` and `NOTIFICATION_WM_FOCUS_OUT`. This partially addresses #33928.
2019-11-28Merge pull request #32854 from cooperra/fix-wireless-adb-debuggingRémi Verschelde
Fix Android deploy with Remote Debug or Network FS over Wi-Fi
2019-11-25Merge pull request #33883 from bruvzg/mac_localeRémi Verschelde
[macOS] Fix locale detection.
2019-11-25Fix inverted value check in UWP export packagerGeorge Marques
2019-11-25[macOS] Fix locale detection.bruvzg
2019-11-25Merge pull request #33862 from Faless/net/http_request_chunk_sizeRémi Verschelde
Add download_chunk_size property to HTTPRequest.
2019-11-24Add download_chunk_size property to HTTPRequest.Fabio Alessandrelli
This allows setting the `read_chunk_size` of the internal HTTPClient. This is important to reduce the allocation overhead and number of file writes when downloading large files, allowing for better download speed.
2019-11-22Style: Add missing copyright headersRémi Verschelde
2019-11-22Fix typos with codespellRémi Verschelde
Using codespell 1.16.0. Method: ``` $ cat > ../godot-word-whitelist.txt << EOF ang curvelinear dof doubleclick 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 ```
2019-11-21[macOS] Remove CVDisplayLink v-sync hack.bruvzg
2019-11-20pcre2: Use scons option to disable JIT on some platformsRémi Verschelde
Third-party platforms (e.g. console ports) need to be able to disable JIT support in the regex module too, so it can't be hardcoded in the module SCsub. This is cleaner this way anyway. Fixes #19316.
2019-11-19HTML5: Explicitly link idbfs.js for IDBFS supportRémi Verschelde
Upstream Emscripten changed this in 1.39.1+, so IDBFS is no longer included by default and has to be linked manually. The explicit linking doesn't seem to be problematic on earlier versions (tested `1.38.47-upstream`). Fixes #33724.
2019-11-15HTML5: Fix support for Emscripten 1.39.1+Rémi Verschelde
A change in upstream Emscripten 1.39.1+ made our buildsystem error out where it was previously only issuing a warning: ``` [ 5%] Linking Static Library ==> main/libmain.javascript.opt.bc shared:WARNING: Assuming object file output in the absence of `-c`, based on output filename. Please add with `-c` or `-r` to avoid this warning Ranlib Library ==> main/libmain.javascript.opt.bc /opt/emsdk/upstream/bin/llvm-ranlib: error: unable to load 'main/libmain.javascript.opt.bc': file too small to be an archive ``` As advised on emscripten-core/emscripten#9806, we should be using `emar` here to create the static library and not `emcc`. This was apparently done to workaround Emscripten issues in the past, but evidently this is no longer necessary. The rest of the `env` redefinitions should probably be re-assessed against the current state of Emscripten. Fixes #33374.
2019-11-13Merge pull request #33536 from akien-mga/revert-25474-android-gesturesRémi Verschelde
Revert "Android : implement InputEventMagnifyGesture and InputEventPanGesture"
2019-11-12X11: Fix memory leak in handle_key_eventRémi Verschelde
Extracted from #27189.
2019-11-11Merge pull request #33482 from piratesephiroth/masterRémi Verschelde
Set ShellExecuteW's verb to NULL - fixes #33388
2019-11-11Revert "Android : implement InputEventMagnifyGesture and InputEventPanGesture"Rémi Verschelde
This reverts commit 9cc66495cfb6393102ce5ad4e82f2ccb716b9b33. This caused regressions with the handling of screen drag events. Fixes #33428. Fixes #33459. Fixes #33470.
2019-11-09[UWP] [Export] added additional checks for blank valuespiratesephiroth
`Short Name` and `Publisher Display Name` are mandatory. You can't even sign the app package without them in the manifest.
2019-11-09Set ShellExecuteW's verb to NULL - fixes #33388piratesephiroth
from https://docs.microsoft.com/en-us/windows/win32/api/shellapi/nf-shellapi-shellexecutew >the default verb is used, if available. If not, the "open" verb is used. If neither verb is available, the system uses the first verb listed in the registry. so "open" is redundant at best
2019-11-07Fix graphic tablet input coordinates on Windows.bruvzg
2019-11-05Fix crash on exit or resume on iOS 13Max
Fixes #7966.
2019-11-02Android : implement InputEventMagnifyGesture and InputEventPanGestureJérémy Zurcher
sets threshold constants PAN_GESTURE_MIN_DELTA and MAGNIFY_GESTURE_MIN_FACTOR
2019-10-30[macOS, Windows, X11] Add graphic tablet pen pressure and tilt support to ↵bruvzg
InputEventMouseMotion event.
2019-10-29Update natvis file to display Node class correctly in Visual Studio debuggerPouleyKetchoupp
2019-10-27Fix invalid window border when toggled from fullscreen to windowed modeYuri Roubinsky