summaryrefslogtreecommitdiffstats
path: root/platform/linuxbsd/os_linuxbsd.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Load fontconfig libraries dynamically.bruvzg2022-07-271-1/+17
|
* Fix Linux build without fontconfig.bruvzg2022-07-271-3/+3
|
* Implement support for loading system fonts on Linux, macOS / iOS and Windows.bruvzg2022-07-261-0/+89
|
* Improve embedded PCK loading and exporting.bruvzg2022-04-201-0/+85
| | | | | | | | | | Windows export process: Limit size of executable with embedded PCK to 4 GB. Use "rcedit" before embedding PCK. Capture and process "rcedit" errors. Windows, Linux: Add support for PCK loading from executable "pck" section.
* Narrow FileAccess scope to prevent deadlocks.bruvzg2022-04-121-3/+5
|
* Make FileAccess and DirAccess classes reference counted.bruvzg2022-04-111-10/+8
|
* Convert uses of `DirAccess *` to `DirAccessRef` to prevent memleaksRémi Verschelde2022-03-111-2/+1
| | | | | | | | `DirAccess *` needs to be deleted manually, and this is often forgotten especially when doing early returns with `ERR_FAIL_COND`. `DirAccessRef` is deleted automatically when it goes out of scope. Co-authored-by: bruvzg <7645683+bruvzg@users.noreply.github.com>
* Merge pull request #58335 from maiself/fix-directory-delete-linuxRémi Verschelde2022-03-101-19/+20
|\
| * Fix deleting of directories on LinuxMai Lavelle2022-02-201-19/+20
| | | | | | | | | | Trailing slash of directories was mishandled, and incorrect derived paths were formed. Stripping the slash fixes this.
* | Add missing header for headless buildsMmAaXx5002022-03-091-0/+1
|/
* Style: Cleanup single-line blocks, semicolons, dead codeRémi Verschelde2022-02-161-1/+1
| | | | | Remove currently unused implementation of TextureBasisU, could be re-added later on if needed and ported.
* Add an `OS.get_processor_name()` methodHugo Locurcio2022-02-151-0/+14
| | | | | | | | This method can be used to get the CPU model name. It can be used in conjunction with `RenderingServer.get_video_adapter_name()` and `RenderingServer.get_video_adapter_vendor()` for annotating benchmarks and automatic graphics quality configuration.
* Fix memory leak when move to trash fails on LinuxHaoyu Qiu2022-01-251-5/+3
|
* Fix multiple missing UTF-8 decoding.bruvzg2022-01-061-2/+2
|
* Update copyright statements to 2022Rémi Verschelde2022-01-031-2/+2
| | | | Happy new year to the wonderful Godot community!
* Replace String comparisons with "", String() to is_empty()Nathan Franke2021-12-091-4/+4
| | | | | | Also: - Adds two stress tests to test_string.h - Changes to .empty() on std::strings
* Merge pull request #51429 from omar-polo/fix-basenameRémi Verschelde2021-10-091-1/+4
|\
| * use .get_file() instead of basename(3)Omar Polo2021-10-081-1/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | On OpenBSD the compiler complains that calling basename(3) would lose const qualifier. basename(3) is defined as char *basename(char *); and can, accorgindly to the POSIX.1, modify the passed string. This uses the .get_file() method. The check is necessary because file_name could be a directory, in which case .get_file() would return an empty string. The .get_base_dir().get_file() idiom is already used. The usage of get_file() and the check were suggested by theraot, thanks!
* | Add partial support for Android scoped storage.ne0fhyk2021-08-161-1/+1
| | | | | | | | | | This is done by providing API access to app specific directories which don't have any limitations and allows us to bump the target sdk version to 30. In addition, we're also bumping the min sdk version to 19 as version 18 is no longer supported by Google Play Services and only account of 0.3% of Android devices.
* | Fix various typos with codespellluz paz2021-07-251-1/+1
| | | | | | | | Found via `codespell -q 3 -S ./thirdparty,*.po,./DONORS.md -L ackward,ang,ans,ba,beng,cas,childs,childrens,dof,doubleclick,fave,findn,hist,inout,leapyear,lod,nd,numer,ois,ony,paket,seeked,sinc,switchs,te,uint`
* | Move `alert` function from `DisplayServer` to `OS`.bruvzg2021-07-221-0/+64
| |
* | Fix for ambiguous variant error during build on Debian 10(Buster) using clang v7joe2021-07-131-1/+1
| |
* | Merge pull request #49123 from aaronfranke/it-is-timeRémi Verschelde2021-06-121-2/+2
|\ \ | | | | | | Add a Time singleton
| * | Add Time singletonAaron Franke2021-06-111-2/+2
| |/
* | Merge pull request #49511 from akien-mga/core-diraccess-fileaccess-ioRémi Verschelde2021-06-111-1/+1
|\ \ | | | | | | Core: Move DirAccess and FileAccess to `core/io`
| * | Core: Move DirAccess and FileAccess to `core/io`Rémi Verschelde2021-06-111-1/+1
| |/ | | | | | | | | File handling APIs are typically considered part of I/O, and we did have most `FileAccess` implementations in `core/io` already.
* / Rename `String.is_abs_path()` to `String.is_absolute_path()`Hugo Locurcio2021-06-031-3/+3
|/ | | | This is more consistent with `NodePath.is_absolute()`.
* add OpenBSD to OS_LinuxBSD::get_name()Omar Polo2021-05-211-0/+2
|
* Only allow absolute paths in XDG environment variablesHugo Locurcio2021-05-201-3/+18
| | | | | | The XDG Base Directory specification does not allow using relative paths (which broke things in Godot anyway). If a relative path is detected, it should be ignored.
* Unify URI encoding/decoding and add to C#Aaron Franke2021-01-281-1/+1
| | | | http_escape and percent_encode have been unified into uri_encode, and http_unescape and percent_decode have been unified into uri_decode.
* Split OS::execute into two methodsMarcel Admiraal2021-01-091-10/+10
| | | | | 1. execute(): Executes a command and returns the results. 2. create_process(): Creates a new process and returns the new process' id.
* Update copyright statements to 2021Rémi Verschelde2021-01-011-2/+2
| | | | | | | | | | | | | | Happy new year to the wonderful Godot community! 2020 has been a tough year for most of us personally, but a good year for Godot development nonetheless with a huge amount of work done towards Godot 4.0 and great improvements backported to the long-lived 3.2 branch. We've had close to 400 contributors to engine code this year, authoring near 7,000 commit! (And that's only for the `master` branch and for the engine code, there's a lot more when counting docs, demos and other first-party repos.) Here's to a great year 2021 for all Godot users 🎆
* Merge pull request #44593 from madmiraal/rename-mainloop-methodsRémi Verschelde2020-12-281-2/+2
|\ | | | | Rename MainLoop methods to match Node methods
| * Rename MainLoop methods to match Node methodsMarcel Admiraal2020-12-221-2/+2
| |
* | Rename empty() to is_empty()Marcel Admiraal2020-12-281-2/+2
|/
* Fixes move_to_trash() on LinuxDavid Kennedy2020-12-071-32/+114
| | | | Fixes #42840 OS move_to_trash() on Linux is not compliant with the Freedesktop specification
* Changed shell_open behaviourEv1lbl0w2020-10-261-6/+27
|
* Port ClassDB tests to use doctestAndrii Doroshenko (Xrayez)2020-08-161-1/+3
| | | | | | | | | | | | | | | | | | | | | | Extracted the most minimal core initialization functionality from `setup()` and `setup2()` so that `ClassDB` could be tested properly (input, audio, rendering, physics etc, are excluded). Display and rendering servers/singletons are not initialized at all. Due to the fact that most subsystems are disabled, fixed various crashes in the process (in order): - `AcceptDialog` OK/cancel swap behavior (used `DisplayServer` while `register_scene_types()`); - `make_default_theme` which depends on `RenderingServer`; - `XRServer` singleton access while calling `register_modules_types()`; - hidden bug in a way joypads are cleaned up (MacOS and Linux only). Removed manual `ClassDB` init/cleanup calls from `test_validate_testing.h`. ClassDB tests: Co-authored-by: Ignacio Etcheverry <ignalfonsore@gmail.com>
* X11: Ensure XGetWindowProperty data gets freedRémi Verschelde2020-06-291-8/+5
| | | | And cleanup includes a bit.
* Style: Enforce braces around if blocks and loopsRémi Verschelde2020-05-141-7/+14
| | | | | Using clang-tidy's `readability-braces-around-statements`. https://clang.llvm.org/extra/clang-tidy/checks/readability-braces-around-statements.html
* Style: clang-format: Disable KeepEmptyLinesAtTheStartOfBlocksRémi Verschelde2020-05-141-25/+0
| | | | | | | | | | | | | | Which means that reduz' beloved style which we all became used to will now be changed automatically to remove the first empty line. This makes us lean closer to 1TBS (the one true brace style) instead of hybridating it with some Allman-inspired spacing. There's still the case of braces around single-statement blocks that needs to be addressed (but clang-format can't help with that, but clang-tidy may if we agree about it). Part of #33027.
* Rename InputFilter back to InputRémi Verschelde2020-04-281-1/+1
| | | | | | | | | | | | | | | | It changed name as part of the DisplayServer and input refactoring in #37317, with the rationale that input no longer goes through the main loop, so the previous Input singleton now only does filtering. But the gains in consistency are quite limited in the renaming, and it breaks compatibility for all scripts and tutorials that access the Input singleton via the scripting language. A temporary option was suggested to keep the scripting singleton named `Input` even if its type is `InputFilter`, but that adds inconsistency and breaks C#. Fixes godotengine/godot-proposals#639. Fixes #37319. Fixes #37690.
* Replace NULL with nullptrlupoDharkael2020-04-021-5/+5
|
* Refactored input, goes all via windows now.Juan Linietsky2020-03-261-1/+1
| | | | Also renamed Input to InputFilter because all it does is filter events.
* Effective DisplayServer separation, rename X11 -> LinuxBSDJuan Linietsky2020-03-261-0/+381