summaryrefslogtreecommitdiff
path: root/platform
AgeCommit message (Collapse)Author
2018-05-02Merge pull request #17196 from RandomShaper/improve-gui-touchRémi Verschelde
Implement universal translation of touch to mouse (3.1)
2018-05-01Merge pull request #18291 from akien-mga/coverity-uninitialized-scalar-varRémi Verschelde
Fix Coverity reports of uninitialized scalar variable
2018-04-30Implement universal translation of touch to mousePedro J. Estébanez
Now generating mouse events from touch is optional (on by default) and it's performed by `InputDefault` instead of having each OS abstraction doing it. (*) The translation algorithm waits for a touch index to be pressed and tracks it translating its events to mouse events until it is raised, while ignoring other pointers. Furthermore, to avoid an stuck "touch mouse", since not all platforms may report touches raised when the window is unfocused, it checks if touches are still down by the time it's focused again and if so it resets the state of the emulated mouse. *: In the case of Windows, since it already provides touch-to-mouse translation by itself, "echo" mouse events are filtered out to have it working like the rest. On X11 a little hack has been needed to avoid a case of a spurious mouse motion event that is generated during touch interaction. Plus: Improve/fix tracking of current mouse position. ** Summary of changes to settings: ** - `display/window/handheld/emulate_touchscreen` becomes `input/pointing_devices/emulate_touch_from_mouse` - New setting: `input/pointing_devices/emulate_mouse_from_touch`
2018-04-26Fix _export_begin not being called when exporting to androidIgnacio Etcheverry
2018-04-22Change ".." punctuation for "..." in editor strings (#16507)Hugo Locurcio
2018-04-19Provide error details when in-app purchase failsRuslan Mustakov
2018-04-19Fix Coverity reports of uninitialized scalar variableRémi Verschelde
Fixes most current reports on Coverity Scan of uninitialized scalar variable (CWE-457): https://cwe.mitre.org/data/definitions/457.html These happen most of the time (in our code) when instanciating structs without a constructor (or with an incomplete one), and later returning the instance. This is sometimes intended though, as some parameters are only used in some situations and should not be double-initialized for performance reasons (e.g. `constant` in ShaderLanguage::Token).
2018-04-16Fix Android input source checksRuslan Mustakov
Input source types are not pure bit flags, they are combinations of flags, so != 0 check was incorrect and resulted in crashes later, when trying to obtain the device.
2018-04-11iPhone X support and iOS-related fixesRuslan Mustakov
Starting from April 2018 Apple no longer accepts apps that do not support iPhone X. For games this mainly means respecting the safe area, unobstructed by notch and virtual home button. UI controls must be placed within the safe area so that users can interact with them. This commit: - Adds OS::get_window_safe_area method that returns unobscured area of the window, where interactive controls should be rendered. - Reorganizes how launch screens are exported - the previous way was incorrect and modern iPhones did not pick up the correct screens and because of that used a non-native resolution to render the game. - Adds launch screen options for iPhone X. - Makes launch screens optional in the export template. If not specified, a white screen will be used. - Adds App Store icon (1024x1024) export option as it now has to be bundled with the app instead of being provided in iTunes Connect. - Fixes crash when launching games in iOS Simulator. It happened because controllerWasConnected callback came before the engine was initialized. Now in such case the controllers will be queued up and registered after initialization is done. - Fixes issue with the virtual keyboard where for some reason autocorrection panel would intersect with the keyboard itself and not allow you to use the top row of the keyboard. This is fixed by disabling autocorrection altogether. Closes #17358. Fixes #17428. Fixes #17331.
2018-04-09Fix custom cursor when it's hiddenGuilherme Felipe
[Linux] Ensures that the custom cursor will be used when changing to MOUSE_MODE_VISIBLE. Fix #3086 [Windows] Fix cursor flickering when MOUSE_MODE_HIDDEN. [Mac] Fix possible cursor flicker when MOUSE_MODE_HIDDEN.
2018-04-07Merge pull request #17742 from marcelofg55/audio_device_listJuan Linietsky
Added new audio device functions to set/get the audio device
2018-04-05Remove size restriction for mouse cursorGuilherme Felipe
2018-04-05Merge pull request #17827 from bruvzg/macos_shortcut_key_remapping_fixRémi Verschelde
[macOS] Fix keyboard shortcuts on non QWERTY keyboard layouts.
2018-04-04Merge pull request #17777 from bruvzg/macos_exit_codeRémi Verschelde
[macOS] Return exit code specified by `OS.exit_code` parameter.
2018-04-04Merge pull request #17792 from eska014/enginejs-preloadpathsRémi Verschelde
Handle directories in engine.js preloadFile()
2018-04-04Merge pull request #17801 from endragor/android-input-checksRémi Verschelde
Add safety checks when handling Android input
2018-04-03Merge pull request #17880 from litdeviant/masterRémi Verschelde
Fix UpdatePowerInfo method implementation in PowerIphone class
2018-04-03Merge pull request #17836 from eska014/detect-emconfigRémi Verschelde
Detect and configure JavaScript build per Emscripten configuration file
2018-04-02Merge pull request #17844 from Faless/uwp_fixRémi Verschelde
Fix UWP build after #17194
2018-03-31Fix UpdatePowerInfo method implementation in PowerIphone classIgors Vaitkus
2018-03-30Fix bug in HTML5 HTTPClient.Fabio Alessandrelli
The URL parameter already has a slash, adding an extra one results in an invalid resource path
2018-03-29Fix UWP build after #17194Fabio Alessandrelli
`uwp/detect.py` was not setting the `env.msvc` variable to true causing scons to pass wrong arguments to `msvc` (using `clang/gcc` options) which in turn break the build due to `-Werror=return-type` not being recognized by ms compiler.
2018-03-29Detect and configure JavaScript build per Emscripten configuration fileLeon Krause
2018-03-28[macOS] Fix keyboard shortcuts on non QWERTY keyboard layouts.bruvzg
2018-03-28Fix IPhone and OSX cross compilationFabio Alessandrelli
2018-03-27Add safety checks when handling Android inputRuslan Mustakov
It is possible that input comes before the engine is fully initialized. This fixes the crashes that ocurred when that happens.
2018-03-27Fix engine.js startGame() when loading from directoryLeon Krause
2018-03-27Allow custom path when using engine.js preloadFile() with URLLeon Krause
2018-03-27Fix engine.js preloadFile() with directoriesLeon Krause
2018-03-27Expose Emscripten libs to engine.js discreetlyLeon Krause
2018-03-26Added new audio device functions to set/get the audio deviceMarcelo Fernandez
2018-03-26Merge pull request #17760 from eska014/html5-refactorRémi Verschelde
Refactor HTML5 platform build script
2018-03-26Refactor JavaScript platform build scriptLeon Krause
2018-03-26[macOS] Return exit code specified by `OS.exit_code` parameter.bruvzg
2018-03-23Revert "Implement OS_OSX::execute"bruvzg
This reverts commit e42576548f2c0ae2c6cb24ce2b0437ffb8978d65.
2018-03-22Fix dragging window from non-retina to retina display.bruvzg
2018-03-22Fix several in-class initialization clang warningMarcelo Fernandez
2018-03-21Merge pull request #17653 from eska014/rwlock-dummyRémi Verschelde
Add RWLockDummy for NO_THREADS builds
2018-03-21Prevent android to split-screenXavier Sellier
2018-03-20Merge pull request #17645 from volzhs/android-device-infoRémi Verschelde
Fix getting Android device information
2018-03-20Fix getting Android device informationvolzhs
Fix #17644
2018-03-20Add RWLockDummy for NO_THREADS buildsLeon Krause
2018-03-19Implement OS_OSX::executebruvzg
2018-03-18Disable Emscripten assertions in release_debug buildsLeon Krause
The messages generated by some assertions can be confusing to users.
2018-03-16Fix typo in engine.jsLeon Krause
2018-03-15Fix MinGW cross-buildbruvzg
2018-03-15Added missing import BoolVariableBastiaan Olij
Didn't like the missing BoolVariable :)
2018-03-15Check only for WebGL 1.0, move test to HTML fileLeon Krause
Whether to use WebGL 1.0 or 2.0 can only be determined at runtime after reading project settings, so check for the lower version. The test is now in the HTML file, so if desired WebGL 2.0 can be checked early by changing the behaviour there.
2018-03-13Enable SCons to autodetect Windows MSVC compilerGary Oberbrunner
SCons has good compiler detection logic for MSVC compilers. Up to now, Godot hasn't used it; it depends on passed-in OS environment vars from a specific Visual Studio cmd.exe windows. This makes it harder to build from a msys or cygwin shell. This change allows SCons to autodetect Visual Studio unless it sees VCINSTALLDIR in the os.environ. It also adds a 'msvc_version' arg for manual specification of compiler version, and uses the existing 'bits' arg to specify the target architecture. More detail could be added as desired. It also adds 'use_mingw' to always use mingw, even if Visual Studio is installed. That uses the existing mingw setup logic. If people are used to building Godot in a Visual Studio cmd window, this should not change the behavior in that case, since VCINSTALLDIR will be set in those windows. (However, note that you could now unset that var and build with any other MSVC version or target arch, even in that window.) I refactored much of platform/windows/detect.py during this, to simplify and clarify the logic. I also cleaned up a bunch of env var settings in windows/detect.py and SConstruct to use modern SCons idioms and simplify things. I suspect this will also enable using the Intel compiler on Windows, though that hasn't been tested.
2018-03-13Merge pull request #17311 from marcelofg55/export_err_checksRémi Verschelde
Improved error checking at EditorExportPlatformPC::export_project