summaryrefslogtreecommitdiff
path: root/core/os
AgeCommit message (Collapse)Author
2017-12-17Merge pull request #14635 from poke1024/getlineRémi Verschelde
Faster FileAccess::get_line()
2017-12-16Add epic hack so vsync can be toggled in run-time from script. Fixes #14458.Juan Linietsky
Call needs to be routed via visual server to reach the proper thread.
2017-12-16Faster FileAccess::get_line()poke1024
2017-12-16Remove get_stack_bottomRuslan Mustakov
It's not used in godot-nim any longer and there were no other uses for it.
2017-12-14Fix type mismatch in OS::set_borderless_windowRémi Verschelde
Closes #14663.
2017-12-14-Add lightmapperJuan Linietsky
-Fixes to unwrapper (remove degenerates), makes Thekla not crash -Added optional cancel button in EditorProgress -Added function to force processing of events (needed for cancel button)
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 clang-format again on all filesRémi Verschelde
Fixes issues introduced by newer clang-format versions or commits pushed directly without using the clang-format pre-commit hook.
2017-12-06Fix Windows-to-Linux export errorPedro J. Estébanez
Now chmod() returns ERR_UNAVAILABLE by default, to signal the caller the problem is lack of support instead of a failed operation.
2017-11-30Changed the dynamic library open function to allow setting the path of the ↵Juan Linietsky
library to open extra libraries.
2017-11-26Allow customizing user:// path (folder in OS::get_data_path())Rémi Verschelde
This allows to specify any valid folder name (including with subfolders) to use as user:// on all platforms. The folder is constrained to the platform-specific OS::get_data_path() (typically what `XDG_DATA_HOME` resolves to). Fixes #13236.
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-24Core: Bind InputEventGesture events.Andreas Haas
2017-11-22Modified low processor sleep to 8000 and made it customizable (should be ↵Juan Linietsky
customizable for editor too)
2017-11-21Merge pull request #13130 from endragor/gdnative-android-exportRémi Verschelde
Proper GDNative export on Android
2017-11-21Merge pull request #11933 from cxong/masterJuan Linietsky
Use "Command" instead of "Meta" for macOS (#1619)
2017-11-21Proper GDNative export on AndroidRuslan Mustakov
2017-11-21Merge pull request #13133 from endragor/resurrect-file-loggingRémi Verschelde
Return and repair file logging
2017-11-21Return and repair file loggingRuslan Mustakov
And make it configurable, too.
2017-11-21Native pan and zoom for macOSBernhard Liebl
2017-11-21Allow configuring iOS exportRuslan Mustakov
- EditorExportPlugin's _export_begin accepts all the arguments related to the current export (is_debug, path, flags). - EditorExportPlugin API is extended with methods allowing to configure iOS export: add_ios_framework, add_ios_plist_content, add_ios_linker_flags, add_ios_bundle_file. - iOS export template now contains Godot as a static library so that it can be linked with third-party Frameworks and GDNative static libraries. - Adds method to DirAccess for recursive copying of a directory. - Fixes iOS export to work with Xcode 9 (released recently).
2017-11-20Merge pull request #12387 from santouits/x1111Rémi Verschelde
Fix x11 boot logo position in fullscreen and in maximized
2017-11-20Merge pull request #13006 from hoelzl/pr-placement-deleteRémi Verschelde
Add placement deletes to avoid warnings on VC++
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 placement deletes to avoid warnings on VC++Matthias Hoelzl
When compiling with VC++ 2017, Godot generates huge numbers of C4291 warnings about missing placement delete. I have not found a way to disable these warnings using compiler options: AFAICT there is no equivalent to `-f-no-exceptions` for VC++ (there is only /EH to change the exception-handling model, /GX is deprecated) and adding /wd4291 to the `disable_nonessential_warnings` list in the `SConstruct` file or even compiling with `warnings=no` does not disable the messages. Placement delete is only called when placement new throws an exception, since Godot doesn't use exceptions this change should have no runtime effect. Fixes #12654 (probably, difficult to say without log)
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-26Fix x11 boot logo position in fullscreen and in maximizedsantouits
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-08Use "Command" instead of "Meta" for macOS (#1619)Cong
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.