summaryrefslogtreecommitdiff
path: root/core/os
AgeCommit message (Collapse)Author
2017-11-20Pass engine name and version parts as proper stringsRémi Verschelde
Removes the need for _MKSTR all over the place which has the drawback of converting _MKSTR(UNKNOWN_DEFINE) to "UKNOWN_DEFINE" instead of throwing a compilation error.
2017-11-19Add initial support for the XDG Base Directory specRémi Verschelde
Spec version 0.7 from https://standards.freedesktop.org/basedir-spec/basedir-spec-0.7.html (latest as of this commit). Three virtual methods are added to OS for the various XDG paths we will use: - OS::get_data_path gives XDG_DATA_HOME, or if missing: ~/.local/share on X11, ~/Library/Application Support/ on macOS and %APPDATA% on Windows - OS::get_config_path gives XDG_CONFIG_HOME, or if missing: ~/.config on X11, ~/Library/Application Support/ on macOS and %APPDATA% on Windows - OS::get_cache_path gives XDG_CACHE_HOME, or if missing: ~/.cache on X11, ~/Library/Caches on macOS and %APPDATA% on Windows So for Windows there are no changes, for Linux we follow the full split spec and for macOS stuff will move from ~/.godot to ~/Library/Application Support/Godot. Support for system-wide installation of templates on Unix was removed for now, as it's a bit hackish and I don't think anyone uses it. user:// will still be OS::get_data_path() + "/godot/app_userdata/$name" by default, but when using the application/config/use_shared_user_dir option it will now use XDG_DATA_HOME/$name, e.g. ~/.local/share/MyGame. For now everything still goes in EditorSettings::get_settings_dir(), but this will be changed in a later commit to make use of the new splitting where relevant. Part of #3513.
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-09Make video mode initialization more intuitive, fixes #12022Juan Linietsky
2017-11-08Increase joystick axis from 8 to 10Bastiaan Olij
2017-10-30Add Colemak keybindings to editor for osxN0hbdy
2017-10-23move button/joy constants to enumsjagt
2017-10-22Bind MainLoop.notif_wm_go_back_requestPoommetee Ketson
2017-10-21Fix InputEventJoypadMotion::action_match for 0 axis values.Patrick Yates
Make action_match ignore the sign if axis value is 0. This means that an axis value of 0 will match actions defined for both positive and negative values, as expected. Fixes #12223
2017-10-11Merge pull request #12039 from Hinsbart/expose_joy_connectionRémi Verschelde
Input: expose joy_connection_changed() [ci skip]
2017-10-11Input: expose joy_connection_changed()Andreas Haas
2017-10-09Merge pull request #11810 from marcelofg55/osx_export_improvRémi Verschelde
OS X export code improvements
2017-10-05Make sure to obey hidpi to off by default, as present in project settings. ↵Juan Linietsky
Set it to on by default for editor. Many integrated GPUs can't really get enough performance to play games at hidpi, so this should be enabled manually.
2017-10-04Merge pull request #11823 from endragor/virtual-keyboard-heightGilles Roudiere
Allow to obtain virtual keyboard height
2017-10-04Allow to obtain virtual keyboard heightRuslan Mustakov
On mobile platforms virtual keyboards take up significant amount of screen space and UI containing a text box may need to be adjusted after the keyboard appears to keep the text box visible to user. This commit adds a way to obtain virtual keyabord height so that controls are aware of how much they need to move.
2017-10-03fixed the OS.has_feature() API, and added support for 32 and 64.Juan Linietsky
2017-10-03OS::execute can now read from stderr too when executing with a pipeMarcelo Fernandez
2017-10-03Merge pull request #11782 from eska014/persistent-userfs-testHein-Pieter van Braam
Add OS::is_userfs_persistent, allow starting HTML5 platform in private mode
2017-10-02Merge pull request #11568 from endragor/loggersAndreas Haas
Extract logging logic
2017-10-02Add OS::is_userfs_persistent to check user:// persistenceLeon Krause
Allows starting HTML5 export when IndexedDB is not available.
2017-09-25FileSystemDock will now remove files/dirs to trashcan using OS::move_to_trashMarcelo Fernandez
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-20Rename pos to position in user facing methods and variablesletheed
Rename user facing methods and variables as well as the corresponding C++ methods according to the folloming changes: * pos -> position * rot -> rotation * loc -> location C++ variables are left as is.
2017-09-19Fix MSVC compilation errorsKonstantin Zaitsev
2017-09-17Fix x11 exported executables not getting the +x flagMarcelo Fernandez
2017-09-15Merge pull request #11230 from maxim-sheronov/fix_enum_bindingsThomas Herzog
Fix enums bindings
2017-09-13Fix enums bindingsMaxim Sheronov
Add missed bindings for enums Move some enums to class to have correct output of api.json
2017-09-13Added a crash handler to dump the backtrace on Windows, Linux and OS XMarcelo Fernandez
2017-09-13Style: Apply clang-format to @reduz's changesRémi Verschelde
[ci skip]
2017-09-12Changed the doc class generation to individual files per class. It is also ↵Juan Linietsky
possible to save module files in module directories and the build system will recognize them.
2017-09-02Fix use of unitialized variablesHein-Pieter van Braam
The second in my quest to make Godot 3.x compile with -Werror on GCC7
2017-08-27Dead code tells no talesRémi Verschelde
2017-08-27Use HTTPS URL for Godot's website in the headersRémi Verschelde
2017-08-24Convert Object::cast_to() to the static versionHein-Pieter van Braam
Currently we rely on some undefined behavior when Object->cast_to() gets called with a Null pointer. This used to work fine with GCC < 6 but newer versions of GCC remove all codepaths in which the this pointer is Null. However, the non-static cast_to() was supposed to be null safe. This patch makes cast_to() Null safe and removes the now redundant Null checks where they existed. It is explained in this article: https://www.viva64.com/en/b/0226/
2017-08-25Show proper string with InputEvent.as_text()volzhs
2017-08-22Merge pull request #10487 from marcelofg55/curscr_as_defaultRémi Verschelde
p_screen param from get_screen_* funcs now default to the current screen
2017-08-22Merge pull request #10254 from marcelofg55/masterRémi Verschelde
Added notification const NOTIFICATION_WM_ABOUT
2017-08-21p_screen param from get_screen_* funcs now default to the current screenMarcelo Fernandez
2017-08-20ClassDB: Provide the enum name of integer constantsIgnacio Etcheverry
2017-08-17Added notification const NOTIFICATION_WM_ABOUTMarcelo Fernandez
2017-08-16Synchronize parameter names in definition and declarationTwistedTwigleg
Fixes #10244.
2017-08-12InputEventJoypadMotion: Add missing is_pressed() method.Andreas Haas
2017-08-11Merge pull request #10142 from bruvzg/3.0-osx-imeRémi Verschelde
Add IME support (macOS)
2017-08-10Removes type information from method bindsIgnacio Etcheverry
2017-08-09Implement NSTextInputClient protocol for IMEbruvzg
2017-08-07Makes all Godot API's methods Lower CaseIndah Sylvia
2017-08-06Rename KEY_RETURN to KEY_ENTER and KEY_ENTER to KEY_KP_ENTERBojidar Marinov
Closes #7695
2017-08-01Use atomics for memory use trackingPedro J. Estébanez
Plus: - An allocation is counted only after checking its success. - Max usage is updated after growing reallocs as well. - Drop unused header. - Changed the 0xFFF.. at get_mem_available() to -1 with a comment telling it's the same, but more universal.
2017-07-30Style: Apply clang-format on all filesRémi Verschelde
Thus fixing some invalid changes that had still made it to the master branch.