summaryrefslogtreecommitdiffstats
path: root/src/core/file_sys
diff options
context:
space:
mode:
Diffstat (limited to 'src/core/file_sys')
-rw-r--r--src/core/file_sys/registered_cache.cpp13
-rw-r--r--src/core/file_sys/system_archive/system_version.cpp48
-rw-r--r--src/core/file_sys/vfs_real.cpp7
3 files changed, 24 insertions, 44 deletions
diff --git a/src/core/file_sys/registered_cache.cpp b/src/core/file_sys/registered_cache.cpp
index 066c6789a..7a646b5f1 100644
--- a/src/core/file_sys/registered_cache.cpp
+++ b/src/core/file_sys/registered_cache.cpp
@@ -58,14 +58,17 @@ static bool FollowsNcaIdFormat(std::string_view name) {
static std::string GetRelativePathFromNcaID(const std::array<u8, 16>& nca_id, bool second_hex_upper,
bool within_two_digit, bool cnmt_suffix) {
- if (!within_two_digit)
- return fmt::format(cnmt_suffix ? "{}.cnmt.nca" : "/{}.nca",
- Common::HexToString(nca_id, second_hex_upper));
+ if (!within_two_digit) {
+ const auto format_str = fmt::runtime(cnmt_suffix ? "{}.cnmt.nca" : "/{}.nca");
+ return fmt::format(format_str, Common::HexToString(nca_id, second_hex_upper));
+ }
Core::Crypto::SHA256Hash hash{};
mbedtls_sha256_ret(nca_id.data(), nca_id.size(), hash.data(), 0);
- return fmt::format(cnmt_suffix ? "/000000{:02X}/{}.cnmt.nca" : "/000000{:02X}/{}.nca", hash[0],
- Common::HexToString(nca_id, second_hex_upper));
+
+ const auto format_str =
+ fmt::runtime(cnmt_suffix ? "/000000{:02X}/{}.cnmt.nca" : "/000000{:02X}/{}.nca");
+ return fmt::format(format_str, hash[0], Common::HexToString(nca_id, second_hex_upper));
}
static std::string GetCNMTName(TitleType type, u64 title_id) {
diff --git a/src/core/file_sys/system_archive/system_version.cpp b/src/core/file_sys/system_archive/system_version.cpp
index 54704105b..9b76d007e 100644
--- a/src/core/file_sys/system_archive/system_version.cpp
+++ b/src/core/file_sys/system_archive/system_version.cpp
@@ -4,47 +4,29 @@
#include "core/file_sys/system_archive/system_version.h"
#include "core/file_sys/vfs_vector.h"
+#include "core/hle/api_version.h"
namespace FileSys::SystemArchive {
-namespace SystemVersionData {
-
-// This section should reflect the best system version to describe yuzu's HLE api.
-// TODO(DarkLordZach): Update when HLE gets better.
-
-constexpr u8 VERSION_MAJOR = 11;
-constexpr u8 VERSION_MINOR = 0;
-constexpr u8 VERSION_MICRO = 1;
-
-constexpr u8 REVISION_MAJOR = 1;
-constexpr u8 REVISION_MINOR = 0;
-
-constexpr char PLATFORM_STRING[] = "NX";
-constexpr char VERSION_HASH[] = "69103fcb2004dace877094c2f8c29e6113be5dbf";
-constexpr char DISPLAY_VERSION[] = "11.0.1";
-constexpr char DISPLAY_TITLE[] = "NintendoSDK Firmware for NX 11.0.1-1.0";
-
-} // namespace SystemVersionData
-
std::string GetLongDisplayVersion() {
- return SystemVersionData::DISPLAY_TITLE;
+ return HLE::ApiVersion::DISPLAY_TITLE;
}
VirtualDir SystemVersion() {
VirtualFile file = std::make_shared<VectorVfsFile>(std::vector<u8>(0x100), "file");
- file->WriteObject(SystemVersionData::VERSION_MAJOR, 0);
- file->WriteObject(SystemVersionData::VERSION_MINOR, 1);
- file->WriteObject(SystemVersionData::VERSION_MICRO, 2);
- file->WriteObject(SystemVersionData::REVISION_MAJOR, 4);
- file->WriteObject(SystemVersionData::REVISION_MINOR, 5);
- file->WriteArray(SystemVersionData::PLATFORM_STRING,
- std::min<u64>(sizeof(SystemVersionData::PLATFORM_STRING), 0x20ULL), 0x8);
- file->WriteArray(SystemVersionData::VERSION_HASH,
- std::min<u64>(sizeof(SystemVersionData::VERSION_HASH), 0x40ULL), 0x28);
- file->WriteArray(SystemVersionData::DISPLAY_VERSION,
- std::min<u64>(sizeof(SystemVersionData::DISPLAY_VERSION), 0x18ULL), 0x68);
- file->WriteArray(SystemVersionData::DISPLAY_TITLE,
- std::min<u64>(sizeof(SystemVersionData::DISPLAY_TITLE), 0x80ULL), 0x80);
+ file->WriteObject(HLE::ApiVersion::HOS_VERSION_MAJOR, 0);
+ file->WriteObject(HLE::ApiVersion::HOS_VERSION_MINOR, 1);
+ file->WriteObject(HLE::ApiVersion::HOS_VERSION_MICRO, 2);
+ file->WriteObject(HLE::ApiVersion::SDK_REVISION_MAJOR, 4);
+ file->WriteObject(HLE::ApiVersion::SDK_REVISION_MINOR, 5);
+ file->WriteArray(HLE::ApiVersion::PLATFORM_STRING,
+ std::min<u64>(sizeof(HLE::ApiVersion::PLATFORM_STRING), 0x20ULL), 0x8);
+ file->WriteArray(HLE::ApiVersion::VERSION_HASH,
+ std::min<u64>(sizeof(HLE::ApiVersion::VERSION_HASH), 0x40ULL), 0x28);
+ file->WriteArray(HLE::ApiVersion::DISPLAY_VERSION,
+ std::min<u64>(sizeof(HLE::ApiVersion::DISPLAY_VERSION), 0x18ULL), 0x68);
+ file->WriteArray(HLE::ApiVersion::DISPLAY_TITLE,
+ std::min<u64>(sizeof(HLE::ApiVersion::DISPLAY_TITLE), 0x80ULL), 0x80);
return std::make_shared<VectorVfsDirectory>(std::vector<VirtualFile>{file},
std::vector<VirtualDir>{}, "data");
}
diff --git a/src/core/file_sys/vfs_real.cpp b/src/core/file_sys/vfs_real.cpp
index d0b8fd046..3dad54f49 100644
--- a/src/core/file_sys/vfs_real.cpp
+++ b/src/core/file_sys/vfs_real.cpp
@@ -24,17 +24,12 @@ constexpr FS::FileAccessMode ModeFlagsToFileAccessMode(Mode mode) {
case Mode::Read:
return FS::FileAccessMode::Read;
case Mode::Write:
- return FS::FileAccessMode::Write;
case Mode::ReadWrite:
- return FS::FileAccessMode::ReadWrite;
case Mode::Append:
- return FS::FileAccessMode::Append;
case Mode::ReadAppend:
- return FS::FileAccessMode::ReadAppend;
case Mode::WriteAppend:
- return FS::FileAccessMode::Append;
case Mode::All:
- return FS::FileAccessMode::ReadAppend;
+ return FS::FileAccessMode::ReadWrite;
default:
return {};
}