summaryrefslogtreecommitdiff
path: root/platform/uwp
AgeCommit message (Collapse)Author
2018-07-26Reduce unnecessary COW on Vector by make writing explicitHein-Pieter van Braam
This commit makes operator[] on Vector const and adds a write proxy to it. From now on writes to Vectors need to happen through the .write proxy. So for instance: Vector<int> vec; vec.push_back(10); std::cout << vec[0] << std::endl; vec.write[0] = 20; Failing to use the .write proxy will cause a compilation error. In addition COWable datatypes can now embed a CowData pointer to their data. This means that String, CharString, and VMap no longer use or derive from Vector. _ALWAYS_INLINE_ and _FORCE_INLINE_ are now equivalent for debug and non-debug builds. This is a lot faster for Vector in the editor and while running tests. The reason why this difference used to exist is because force-inlined methods used to give a bad debugging experience. After extensive testing with modern compilers this is no longer the case.
2018-07-20Fix some more build issues after c69de2ba4Rémi Verschelde
Fixes #20301.
2018-07-18Style: Format code with clang-format 6.0.1Rémi Verschelde
2018-07-17Fix keep screen on property path for Android/iOS/UWPvolzhs
2018-07-12UWP: Add support for GLES2 driverGeorge Marques
2018-06-07Tweak some help texts in the build systemHugo Locurcio
This also removes `unix_global_settings_path` from SConstruct since it is no longer used.
2018-05-09For uwp the ARM architecture needs to be in lower caseHein-Pieter van Braam
2018-05-02Merge pull request #17196 from RandomShaper/improve-gui-touchRémi Verschelde
Implement universal translation of touch to mouse (3.1)
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-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-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-15Added missing import BoolVariableBastiaan Olij
Didn't like the missing BoolVariable :)
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-02-21Fix typos with codespellluz.paz
Found via `codespell -q 3 --skip="./thirdparty,./editor/translations" -I ../godot-word-whitelist.txt` Whitelist consists of: ``` ang doubleclick lod nd que te unselect ```
2018-02-20Link bcrypt lib in window and UWPFabio Alessandrelli
2018-01-05Add missing copyright headers and fix formattingRémi Verschelde
Using `misc/scripts/fix_headers.py` on all Godot files. Some missing header guards were added, and the header inclusion order was fixed in the Bullet module.
2018-01-04Change OS::initialize signature to return Error (fix segfault on x11)Emmanuel Leblond
2018-01-03Merge pull request #12814 from guilhermefelipecgs/add_hardware_custom_cursorRémi Verschelde
Custom hardware-accelerated mouse cursor
2018-01-01Merge pull request #15246 from vnen/uwp-gdnativeGeorge Marques
Make GDNative DLLs work on UWP
2018-01-01Make GDNative DLLs work on UWPGeorge Marques
2018-01-01Update copyright statements to 2018Rémi Verschelde
Happy new year to the wonderful Godot community!
2017-12-26Add option to sign UWP exports with signtoolGeorge Marques
Windows-only.
2017-12-17Add implementation for custom hardware cursorGuilherme Silva
2017-12-16Merge pull request #14597 from NathanWarden/linux_extensionsRémi Verschelde
Updated Linux template extensions to match architecture.
2017-12-15Move windows networking class to drivers/windows/Fabio Alessandrelli
Also rename stream_peer_winsock.* to stream_peer_tcp_winsock.* and StreamPeerWinsock to StreamPeerTCPWinsock.
2017-12-12Updated Linux template extensions to match architecture.Nathan Warden
2017-12-09Fixes vsync setting ignored when using a separate thread for renderingStefano Bonicatti
Setting the vsync in the main thread, after the rendering thread starts and takes the OpenGL context fails, so we need to do that before. Also, for some reason, the main thread cannot make current the context anymore. Fixes #13447
2017-12-07Style: Apply new clang-format 5.0 style to all filesRémi Verschelde
2017-11-29Enhanced iOS and UWP logo on Export dialogIndah Sylvia
2017-11-28disable caching for targets using helper functionsRhody Lugo
2017-11-28use the same cache for all branches for appveyorRhody Lugo
2017-11-25Made Vector::ptrw explicit for writing, compiler was sometimes using the ↵Juan Linietsky
wrong function, leading to unnecesary copy on writes and reduced performance.
2017-11-21Return and repair file loggingRuslan Mustakov
And make it configurable, too.
2017-11-20Merge pull request #12988 from akien-mga/xdg-home-pathsRémi Verschelde
Add support for XDG Base Directory spec
2017-11-19Use new XDG folders to dehardcode pathsRémi Verschelde
2017-11-19Cleanup old references to GLES2 rendererRémi Verschelde
There are still some left in the Android Java code, even stuff to swap between GLES1 and GLES2 support from early Godot days... would be good to see some cleanup there too one day. The "graphics/api" option for Android exports is removed, as only GLES 3.0 is supported. It can be readded when GLES 2.0 support comes back. Fixes #13004.
2017-11-17EditorSettings: Rename settings_path to settings_dirRémi Verschelde
Also to prepare for upcoming refactoring for XDG support.
2017-11-17Rename OS::get_data_dir to OS::get_user_data_dirRémi Verschelde
Will be needed to avoid confusion with system data path (XDG_DATA_HOME) and editor data dir in upcoming refactoring.
2017-11-09Remove get_default_video_mode definition on OSX/iOSRémi Verschelde
It had been missed in d09160a8b67fdc60e8108962c4e9bd4c0bc7f13e and broke compilation for those platforms. Took the opportunity to run clang-format on the code base to fix some corner cases that went through our static tests/were overlooked recently.
2017-11-09UWP: Update to build with Windows SDK 10.16229.0George Marques
- Update the OpenSSL shim to work with the new SDK - Change the ARM platform detection to work with VS2017
2017-11-09Make video mode initialization more intuitive, fixes #12022Juan Linietsky
2017-11-03Merge pull request #12262 from AndreaCatania/pplugJuan Linietsky
Physics server plug
2017-11-04Implemented physics plugAndreaCatania
Moved init_physics Implemented physics 2D plug Fix clang Fix clang Fix static check Fix clang Fix static check Moved physics server initialization Moved physics server settings initialization
2017-10-29Disable logging until the logs location is sorted outRémi Verschelde
Temporary workaround for #12277.
2017-10-22Add WindowsTerminalLogger to UWP buildGeorge Marques
2017-10-03OS::execute can now read from stderr too when executing with a pipeMarcelo Fernandez
2017-10-02Merge pull request #11568 from endragor/loggersAndreas Haas
Extract logging logic
2017-09-25Use BoolVariable in target/component/advanced options.Elliott Sales de Andrade
2017-09-25Extract logging logicRuslan Mustakov
Previously logging logic was scattered over OS class implementations with plenty of duplication. Major changes in this commit: - Extracted logging logic into a separate Logger hierarchy. It allows easy configuration of logging mechanism depending on compile-time or run-time configuration. - Implemented RotatedFileLogger which is usually used with StdLogger, providing persistency of logs. It is often important to be able to obtain logs of the game even in production to be able to understand what happened prior to some problem. On mobile there previously was no way to obtain the logs aside from having the device connected to your machine. - flush() is not performed in release mode for every logged line. It is only performed for errors.
2017-09-21UWP: Fix build issue about Object ambiguityGeorge Marques