* vita3k: Use C++17 nested namespace definition
* vita3k: Remove redundant call to c_str()
* vita3k: Prefer C++ header
* vita3k: Use structured bindings
* shader: Add explicit fallthrough
* vita3k: Cleanup headers and dependencies
* util: Add WIN32_LEAN_AND_MEAN before <Windows.h>
* modules: Remove redundant 'const' specifier on a constexpr variable
* modules: Remove redundant return statement at the end of a function with a void return type
* clang-format: Use C++20 standard
* vita3k: Insert new line at EOF
* host: rename filesystem.hpp to filesystem.h
Improvements
* lang: a bit more verbose error on wrong lang xml
Bugfixes
* kernel/sync_primitives: fix theoretically possible AV
* modules/SceAudio: a bit more correct sceAudioOutSetConfig
* fix wrong objects initialisation ({0} -> {})
Warning fixes
* clang warning: Macro argument should be enclosed in parentheses
[bugprone-macro-parentheses]
* modules: set unsigned type for Sce*ErrorCode enums
* clang warning: variable might be not be initialized
* clang warning: Function returns by const value. Consider returning by non-const value instead.
* clang warning: Prefer transparent functors [modernize-use-transparent-functors]
Refactoring
* io/device: move functions implementation from .h to .cpp file
* vita3k: fix fs::path usage
* clang warning: 'if' statement is unnecessary; deleting null pointer has no effect
* vita3k: use structured bindings and references in for-each-loops
* vita3k: simplify container operations, extract frequent operations to utility functions
* clang⚠️ 'contains' member function can be used
* kernel/sync_primitives: refactoring. drop unused parameter of handle_timeout
* vita3k: drop unused function parameters
* vita3k: fix typecasts
use static_cast instead of reinterpret casts if possible
use correct constants (1/1.0/1.0f)
correct variable types to minimise typecasts
use explicit typecasts (not everywhere)
replace c-style typecasts to c++ style typecasts (not everywhere)
* clang warning: remove redundant typecasts
* clang warning: Cast drops const qualifier
Optimisation
* vita3k: remove unused includes
* clang warning: Constness of returning variable prevents automatic move
[performance-no-automatic-move]
* clang warning: String concatenation results in allocation of unnecessary temporary strings
[performance-inefficient-string-concatenation]
* vita3k: use std::move
* vita3k: optimization. push_back -> emplace_back
* vita3k: fix datatypes to avoid unnesessary conversions
* clang warning: remove unneeded string->c_str->string conversion
* clang warning: The parameter is copied for each invocation but only used as a const reference; consider making it a const reference [performance-unnecessary-value-param]
* clang warning: 'find' called with a string literal consisting of a single character
[performance-faster-string-find]
* clang warning: Result of a postfix operator is discarded, consider replacing it with a prefix operator
* clang warning: Pass value parameters by const reference
Code cleanup
* io/io: remove once used variables
* net/posixsocket: remove struct keyword
* vita3k: use raw string literals to avoid excessive escaping
* vita3k: refactoring. replace Ptr<> to pointer in Sce functions
* vita3k: drop unused variables and incorrect comments
* clang warning: readability-inconsistent-declaration-parameter-name
* clang warning: Extra ';' after member function definition
* clang warning: Possible misuse of comma operator (, is used instead of ;)
* clang warning: Algorithm accepting an iterator and a count can be used
* clang warning: Declaration and assignment can be joined
* clang warning: Type trait can be simplified using a template alias or a variable template
* vita3k: cleanup class methods
remove unimplemented (and obviously not used) methods
move deleted methods to public
change empty body to =default
remove auto constructors
set member default values
avoid not need conversion string->wstring->string for linux and macos
native logging of fs::path
more correct conversion from std path to boost path
refactor pathes for shaders compiler, shorten parameters lists
crypto::hex_string: remove not needed null character as last character in string
Fixes an issue where if Vita3K is called to run from an AppImage (not AS an AppImage) it will incorrectly believe that it is running AS an AppImage, and try to read its files from a place they do not exist.
app: Fixes to support changes to emuenv, move path init from main.cpp to app::init_paths()
compat: Fixes to support changes to emuenv
config: Fixes to support changes to emuenv
lang: Fixes to support changes to emuenv
util: Fixes to support changes to emuenv
Note: End-users wishing to use the base_dir as their storage for user-data (original behavior)
can do so under Linux by running the following in a terminal or shell script (Windows and other OSes are not affected by this commit):
'XDG_DATA_DIRS="./" XDG_CACHE_HOME="./" XDG_CONFIG_HOME="./" ./Vita3K'
This change is needed to build flatpaks (Issue Vita3K/Vita3K#1418) and to fix Issue Vita3K/Vita3K#664 (use XDG directory standard for store config and logs).