summaryrefslogtreecommitdiffstats
path: root/core/os/os.cpp
Commit message (Collapse)AuthorAgeFilesLines
...
* Convert uses of `DirAccess *` to `DirAccessRef` to prevent memleaksRémi Verschelde2022-03-111-6/+2
| | | | | | | | `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>
* Style: Cleanup single-line blocks, semicolons, dead codeRémi Verschelde2022-02-161-2/+4
| | | | | 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/+4
| | | | | | | | 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 multiple missing UTF-8 decoding.bruvzg2022-01-061-1/+1
|
* 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-3/+3
| | | | | | Also: - Adds two stress tests to test_string.h - Changes to .empty() on std::strings
* Add support for PowerPC familyDaniel Kolesa2021-11-011-0/+9
|
* Add support for the RISC-V architectureAaron Franke2021-10-221-0/+9
| | | | Supports RV64GC (RISC-V 64-bit with general-purpose and compressed-instruction extensions)
* Implement toast notifications in the editorGilles Roudière2021-10-141-2/+2
|
* GDScript completion: Handle quote style ad-hoc to remove editor dependencyRémi Verschelde2021-10-041-1/+0
| | | | | | | | `core` and `scene` shouldn't depend on `editor`, so they can't query this style setting in `get_argument_options`. But we can handle it after the fact in GDScript's completion code. Also cleans up a couple extra unused invalid includes in `core`.
* Merge pull request #48685 from bruvzg/bundle_icon_4Rémi Verschelde2021-09-301-0/+5
|\
| * [macOS] Prefer .app bundle icon over the default one.bruvzg2021-05-131-0/+5
| |
* | Implement `OS::get_locale_language()` helper methodRémi Verschelde2021-09-161-0/+6
| | | | | | | | | | | | | | | | | | This method extracts the 2 or 3-letter language code from `OS::get_locale()`, making it easier for users to identify the "main" language code for users that might have different OS locales due to different OS or region, but should be matched to the same translation (e.g. "generic" Spanish). Fixes #40703.
* | --single-window is passed through project manager.Jacob Edie2021-09-151-0/+4
| | | | | | | | This means you can start godot with --single-window
* | Make platform feature tag names lowercaseHugo Locurcio2021-08-311-1/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Feature tag names are still case-sensitive, but this makes built-in feature tags more consistent. - `Windows` -> `windows` - `OSX` -> `osx` - `LinuxBSD` -> `linuxbsd` - `Android` -> `android` - `iOS` -> `ios` - `HTML5` -> `html5` - `JavaScript` -> `javascript` - `UWP` -> `uwp`
* | Add partial support for Android scoped storage.ne0fhyk2021-08-161-6/+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.
* | OS: Fix used resource debug printsRémi Verschelde2021-08-061-1/+1
| | | | | | | | | | | | These methods were broken by 22419082d9bedbc9dc060ea5784bb0871f8710a3 5 years ago and nobody complained, so maybe they're not so useful... But at least this should restore them to a working state.
* | [Headless] Add --headless switch (no rendering, no audio).Fabio Alessandrelli2021-08-031-8/+0
| | | | | | | | | | Also remove now unused "--no-window" option, and relative OS getter and setter.
* | Move `alert` function from `DisplayServer` to `OS`.bruvzg2021-07-221-0/+4
| |
* | Merge pull request #49123 from aaronfranke/it-is-timeRémi Verschelde2021-06-121-31/+2
|\ \ | | | | | | Add a Time singleton
| * | Add Time singletonAaron Franke2021-06-111-31/+2
| | |
* | | Core: Move DirAccess and FileAccess to `core/io`Rémi Verschelde2021-06-111-2/+2
|/ / | | | | | | | | File handling APIs are typically considered part of I/O, and we did have most `FileAccess` implementations in `core/io` already.
* / Add OS.get_external_data_dir() to get Android external directoryMarcel Admiraal2021-06-101-0/+5
|/
* Add flag to stop printing to stdout/stderrGeorge Marques2021-04-061-0/+28
| | | | | This allows the terminal output to be suppressed but still be captured by print/error handlers.
* 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 🎆
* Static analyzer fixes:bruvzg2020-12-091-4/+0
| | | | | | Removes unused code in OS. Fixes return types. Fixes few typos.
* Reorganized core/ directory, it was too fatty alreadyreduz2020-11-071-1/+1
| | | | | | -Removed FuncRef, since Callable makes it obsolete -Removed int_types.h as its obsolete in c++11+ -Changed color names code
* OS: Remove unused get_splash_tick_msecRémi Verschelde2020-09-241-4/+0
| | | | | | It was added in 3e20391bf607dc7c452b056854aed4a8c99ba0f6 but it doesn't seem particularly useful, and it was only implemented for the custom splash branch and not the default one, so it could return an uninitialized int.
* Keep debug & verbose options after loading project from project managerPouleyKetchoupp2020-07-091-0/+4
|
* Move frame delaying functions from Main to OS.Fabio Alessandrelli2020-06-301-0/+36
| | | | | Will allow specific platforms to override it and avoid blocking on the main/GUI thread.
* Merge pull request #39189 from touilleMan/issue-38925Rémi Verschelde2020-06-151-9/+1
|\ | | | | Unify OS.get_system_time_* and OS.get_unix_time
| * Remove OS.get_system_time_secs/get_system_time_msecs and change ↵Emmanuel Leblond2020-05-311-9/+1
| | | | | | | | OS.get_unix_time return type to double
* | Print errors when calling MIDI input methods on unsupported platformsHugo Locurcio2020-05-311-1/+5
|/ | | | This partially addresses #32065.
* Style: Remove unnecessary semicolons from `core`Rémi Verschelde2020-05-191-8/+9
| | | | | | | | | | Semicolons are not necessary after function definitions or control flow blocks, and having some code use them makes things inconsistent (and occasionally can mess up `clang-format`'s formatting). Removing them is tedious work though, I had to do this manually (regex + manual review) as I couldn't find a tool for that. All other code folders would need to get the same treatment.
* Style: Fix unnecessary semicolons that confused clang-formatRémi Verschelde2020-05-191-3/+2
|
* Style: Enforce braces around if blocks and loopsRémi Verschelde2020-05-141-12/+23
| | | | | Using clang-tidy's `readability-braces-around-statements`. https://clang.llvm.org/extra/clang-tidy/checks/readability-braces-around-statements.html
* Style: Enforce separation line between function definitionsRémi Verschelde2020-05-141-0/+4
| | | | | | | | | | | | | | | | | | | | | | | I couldn't find a tool that enforces it, so I went the manual route: ``` find -name "thirdparty" -prune \ -o -name "*.cpp" -o -name "*.h" -o -name "*.m" -o -name "*.mm" \ -o -name "*.glsl" > files perl -0777 -pi -e 's/\n}\n([^#])/\n}\n\n\1/g' $(cat files) misc/scripts/fix_style.sh -c ``` This adds a newline after all `}` on the first column, unless they are followed by `#` (typically `#endif`). This leads to having lots of places with two lines between function/class definitions, but clang-format then fixes it as we enforce max one line of separation. This doesn't fix potential occurrences of function definitions which are indented (e.g. for a helper class defined in a .cpp), but it's better than nothing. Also can't be made to run easily on CI/hooks so we'll have to be careful with new code. Part of #33027.
* Style: clang-format: Disable KeepEmptyLinesAtTheStartOfBlocksRémi Verschelde2020-05-141-48/+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.
* Port member initialization from constructor to declaration (C++11)Rémi Verschelde2020-05-141-15/+0
| | | | | | | | | | Using `clang-tidy`'s `modernize-use-default-member-init` check and manual review of the changes, and some extra manual changes that `clang-tidy` failed to do. Also went manually through all of `core` to find occurrences that `clang-tidy` couldn't handle, especially all initializations done in a constructor without using initializer lists.
* 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-8/+8
|
* 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-226/+1
|
* Refactored Input, create DisplayServer and DisplayServerX11Juan Linietsky2020-03-261-1/+1
|
* PoolVector is gone, replaced by VectorJuan Linietsky2020-02-181-6/+2
| | | | | Typed `PoolTypeArray` types are now renamed `PackedTypeArray` and are sugar for `Vector<Type>`.
* Remove incomplete battery status/power APIRémi Verschelde2020-02-141-10/+0
| | | | | | | | | | | It was initially implemented in #5871 for Godot 3.0, but never really completed or thoroughly tested for most platforms. It then stayed in limbo and nobody seems really keen to finish it, so it's better to remove it in 4.0, and re-add eventually (possibly with a different API) if there's demand and an implementation confirmed working on all platforms. Closes #8770.
* Add runtime GLES2 / Vulkan context selection.bruvzg2020-02-111-4/+2
|
* Add static Vulkan loader.bruvzg2020-02-111-0/+2
| | | | | Initial Vulkan support for Windows. Initial Vulkan support for macOS.
* Remove duplicate WARN_PRINT macro.Marcel Admiraal2020-02-051-1/+1
|
* Android virtual keyboard respecting LineEdit max length.Bruno Lourenço2020-01-231-1/+1
|