summaryrefslogtreecommitdiff
path: root/drivers/unix/os_unix.cpp
AgeCommit message (Collapse)Author
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-10-29Disable logging until the logs location is sorted outRémi Verschelde
Temporary workaround for #12277.
2017-10-11Use execvp instead of execv to allow OS.execute() to search through PATH.Elia Argentieri
Fix #12003.
2017-10-03OS::execute can now read from stderr too when executing with a pipeMarcelo 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-08-29Merge pull request #10552 from RandomShaper/improve-posixRémi Verschelde
Improve Mac/UNIX conformance/reliability
2017-08-27Use HTTPS URL for Godot's website in the headersRémi Verschelde
2017-08-24Make OS::delay_usec() more reliable on UNIXPedro J. Estébanez
Implemented with `nanosleep()`. `usleep()` is deprecated. Also loops to ensure that __at least__ the requested time is waited, accounting for spurious interruptions. May help in situations like reattempting to connect to the debugger.
2017-08-07Makes all Godot API's methods Lower CaseIndah Sylvia
2017-07-27added an optional parameter to OS symbol lookupKarroffel
When looking up a symbol from a library, previously an error was shown when the symbol did not exist. That caused confusion when the lookup was completely optional. This adds a new parameter to that method so that those errors can be handled manually if needed.
2017-07-19-Renamed GlobalConfig to ProjectSettings, makes more sense.Juan Linietsky
-Added system for feature overrides, it's pretty cool :)
2017-07-17-Reorganized all properties of project settings (Sorry, Again).Juan Linietsky
(Lot's of bloat accumulated, so it was time for clean up.) -Made EditorSettings and ProjectSettings search more useful (search in sections too)
2017-07-16get_executable_path slight change to make it work under OpenBSDDavid Carlier
2017-04-08Add "Godot Engine contributors" copyright lineRémi Verschelde
2017-04-06[DLScript] fixed android builds nowKarroffel
... really.
2017-04-03increased maximum number of scripting languagesKarroffel
2017-03-29Added methods for opening dynamic libraries to OSKarroffel
2017-03-05A Whole New World (clang-format edition)Rémi Verschelde
I can show you the code Pretty, with proper whitespace Tell me, coder, now when did You last write readable code? I can open your eyes Make you see your bad indent Force you to respect the style The core devs agreed upon A whole new world A new fantastic code format A de facto standard With some sugar Enforced with clang-format A whole new world A dazzling style we all dreamed of And when we read it through It's crystal clear That now we're in a whole new world of code
2017-02-21-renamed globals.h to global_config.cpp (this seems to have caused a few ↵Juan Linietsky
modified files) -.pck and .zip exporting redone, seems to be working..
2017-02-09Add a simple signal handler for SIGCHLD on UnixHein-Pieter van Braam
This fixes #6631
2017-02-06Several bugfixes, improving the import workflowJuan Linietsky
2017-01-07Memory pool vectors (DVector) have been enormously simplified in code, and ↵Juan Linietsky
renamed to PoolVector
2017-01-06-Changed memory functions, Memory::alloc_static*, simplified them, made them ↵Juan Linietsky
aligned to 16 -Changed Vector<> template to fit this.
2017-01-05-Changed most project settings in the engine, so they have major and minor ↵Juan Linietsky
categories. -Changed SectionedPropertyEditor to support this -Renamed Globals singleton to GlobalConfig, makes more sense. -Changed the logic behind persisten global settings, instead of the persist checkbox, a revert button is now available
2017-01-02Merge remote-tracking branch 'origin/gles3' into gles3-on-masterRémi Verschelde
Various merge conflicts have been fixed manually and some mistakes might have been made - time will tell :)
2017-01-01Welcome in 2017, dear changelog reader!Rémi Verschelde
That year should bring the long-awaited OpenGL ES 3.0 compatible renderer with state-of-the-art rendering techniques tuned to work as low as middle end handheld devices - without compromising with the possibilities given for higher end desktop games of course. Great times ahead for the Godot community and the gamers that will play our games!
2016-11-30OS additions and fixes for WebAssembly/asm.jseska
- Implement alert, shell_open, set_window_title - Add locale lookup, fixes #2477 - Print without color control sequences - Move get_executable_path implementation to OS_JavaScript
2016-10-102D Shaders are working again using the new syntax, though all is buggy in ↵Juan Linietsky
general
2016-08-13Remove some unused variablesJohan Manuel
2016-07-17Remove some noisy debug printsRémi Verschelde
Part of #5031
2016-06-03change invalid characters when get user data dir on Windows & Unixvolzhs
Can't create user data folder when project name has ``\ / : * ? " < > |`` characters on OS_Windows & OS_Unix. So, change it to ``-`` to be able to make folder. fixes #4928 and it's altanative to #4986.
2016-04-20Implements get_executable_path for OS X should proc_pidpath in os_osx.mm ↵Aren Villanueva
doesn't succeed. Silences the warning for javascript as the function currently appears superfluous.
2016-03-16Add function to convert Date time from a dictionary to EpochKyle Luce
- Also changed get_time_from_unix_time to get_date_time_from_unix_time to be consistent. Ticket: https://github.com/godotengine/godot/issues/4038
2016-03-13Fixes the month consistency issue in enums and get_date etcKyle Luce
- Also updated the docs to reflect this. - Added some vim temp files to gitignore - Changed NaCL to be consistent with the other OS_Unix::get_date implementation (added 1 to month to map to 1-12) Ticket: https://github.com/godotengine/godot/issues/4025
2016-01-13improve reporting of error in wrong inheritance for autoload scriptJuan Linietsky
2016-01-11Merge pull request #3230 from touilleMan/issue-55Rémi Verschelde
Remove unnecessary null pointer checks
2016-01-10-Removed OS.get_system_time_msec(), this is undoable on Windows and also ↵Juan Linietsky
unusable from GDscript due to precision. -Added, instead an OS.get_system_time_secs(), which is 32 bits friendly, fixes #3143
2016-01-04Remove unnecessary null pointer checksEmmanuel Leblond
2016-01-01Update copyright to 2016 in headersGeorge Marques
2015-11-30Make the setting unix-only.est31
For this, put the detection into the OS class and its subclass.
2015-11-10Fix error messages forcing a white font for subsequent messagesRémi Verschelde
This is achieved using the "no specific formatting" \E[0m tag. Fixes #2566. Also remove the hardcoded black background colour and use default bolded terminal font for error message. Error logs should now look good both on terminals with a dark and light background colour.
2015-11-10Display error type (error, warning, script error) in OS::print_errorRémi Verschelde
Previously all types of errors would be shown as ERROR, thus making for example warnings (WARN_PRINT) somewhat aggressive. ERROR is displayed in red, WARNING in yellow and SCRIPT ERROR in magenta (though the latter does not seem used so far). Fixes #1127.
2015-10-17Merge pull request #2365 from Mavhod/patch-1Juan Linietsky
get_date on Linux
2015-09-10Removing locatime so this function compiles again.Juan Linietsky
I don't think it has any practical use anyway.
2015-09-09fixed localtime thing for ios, not tested anywhere elseAriel Manzur
2015-08-13add ()Mavhod
Sorry, firt time I put it but had no compiled for check.
2015-08-13get_date on LinuxMavhod
tm_mon is 0-11
2015-08-06tested and fixed unix os_system_time_msec()xodene
2015-08-06Add OS.get_system_time_msecMaximillian