From 90dffe3fc16dd60166c53bafa2b3157737f39225 Mon Sep 17 00:00:00 2001
From: Subv <subv2112@gmail.com>
Date: Sun, 4 Jan 2015 09:10:27 -0500
Subject: [PATCH] Archives: Make SYSTEM_ID and SDCARD_ID strings

---
 src/core/file_sys/archive_extsavedata.cpp    | 5 +++--
 src/core/file_sys/archive_savedata.cpp       | 3 ++-
 src/core/file_sys/archive_savedatacheck.cpp  | 2 +-
 src/core/file_sys/archive_systemsavedata.cpp | 2 +-
 src/core/hle/service/fs/archive.cpp          | 4 ++--
 src/core/hle/service/fs/archive.h            | 4 ++--
 6 files changed, 11 insertions(+), 9 deletions(-)

diff --git a/src/core/file_sys/archive_extsavedata.cpp b/src/core/file_sys/archive_extsavedata.cpp
index 5de2aae439..50ca878e29 100644
--- a/src/core/file_sys/archive_extsavedata.cpp
+++ b/src/core/file_sys/archive_extsavedata.cpp
@@ -27,9 +27,10 @@ static std::string GetExtSaveDataPath(const std::string& mount_point, const Path
 
 static std::string GetExtDataContainerPath(const std::string& mount_point, bool shared) {
     if (shared)
-        return Common::StringFromFormat("%sdata/%32x/extdata/", mount_point.c_str(), ID0);
+        return Common::StringFromFormat("%sdata/%s/extdata/", mount_point.c_str(), SYSTEM_ID.c_str());
     
-    return Common::StringFromFormat("%sNintendo 3DS/%32x/%32x/extdata/", mount_point.c_str(), ID0, ID1);
+    return Common::StringFromFormat("%sNintendo 3DS/%s/%s/extdata/", mount_point.c_str(), 
+            SYSTEM_ID.c_str(), SDCARD_ID.c_str());
 }
 
 Archive_ExtSaveData::Archive_ExtSaveData(const std::string& mount_location, bool shared)
diff --git a/src/core/file_sys/archive_savedata.cpp b/src/core/file_sys/archive_savedata.cpp
index f189692fa8..ecce7c1053 100644
--- a/src/core/file_sys/archive_savedata.cpp
+++ b/src/core/file_sys/archive_savedata.cpp
@@ -18,7 +18,8 @@
 namespace FileSys {
 
 static std::string GetSaveDataContainerPath(const std::string& mount_point) {
-    return Common::StringFromFormat("%sNintendo 3DS/%32x/%32x/title/", mount_point.c_str(), ID0, ID1);
+    return Common::StringFromFormat("%sNintendo 3DS/%s/%s/title/", mount_point.c_str(), 
+            SYSTEM_ID.c_str(), SDCARD_ID.c_str());
 }
 
 static std::string GetSaveDataPath(const std::string& mount_point, u64 program_id) {
diff --git a/src/core/file_sys/archive_savedatacheck.cpp b/src/core/file_sys/archive_savedatacheck.cpp
index dcd563773c..6f45d13dd2 100644
--- a/src/core/file_sys/archive_savedatacheck.cpp
+++ b/src/core/file_sys/archive_savedatacheck.cpp
@@ -13,7 +13,7 @@
 namespace FileSys {
 
 static std::string GetSaveDataCheckContainerPath(const std::string& mount_point) {
-    return Common::StringFromFormat("%stitle/", mount_point.c_str(), ID0);
+    return Common::StringFromFormat("%s%s/title", mount_point.c_str(), SYSTEM_ID.c_str());
 }
 
 static std::string GetSaveDataCheckPath(const std::string& mount_point, u32 high, u32 low) {
diff --git a/src/core/file_sys/archive_systemsavedata.cpp b/src/core/file_sys/archive_systemsavedata.cpp
index 615f50e20d..c2a5d641a8 100644
--- a/src/core/file_sys/archive_systemsavedata.cpp
+++ b/src/core/file_sys/archive_systemsavedata.cpp
@@ -24,7 +24,7 @@ static std::string GetSystemSaveDataPath(const std::string& mount_point, u64 sav
 }
 
 static std::string GetSystemSaveDataContainerPath(const std::string& mount_point) {
-    return Common::StringFromFormat("%sdata/%32x/sysdata/", mount_point.c_str(), ID0);
+    return Common::StringFromFormat("%sdata/%s/sysdata/", mount_point.c_str(), SYSTEM_ID.c_str());
 }
 
 Archive_SystemSaveData::Archive_SystemSaveData(const std::string& mount_point, u64 save_id)
diff --git a/src/core/hle/service/fs/archive.cpp b/src/core/hle/service/fs/archive.cpp
index f332d6f1f6..e627f1d64e 100644
--- a/src/core/hle/service/fs/archive.cpp
+++ b/src/core/hle/service/fs/archive.cpp
@@ -36,8 +36,8 @@ namespace std {
     };
 }
 
-const u32 SYSTEM_ID = 0;
-const u32 SDCARD_ID = 0;
+const std::string SYSTEM_ID = "00000000000000000000000000000000";
+const std::string SDCARD_ID = "00000000000000000000000000000000";
 
 namespace Service {
 namespace FS {
diff --git a/src/core/hle/service/fs/archive.h b/src/core/hle/service/fs/archive.h
index f91a3d5f44..b3f2134f2d 100644
--- a/src/core/hle/service/fs/archive.h
+++ b/src/core/hle/service/fs/archive.h
@@ -11,9 +11,9 @@
 #include "core/hle/result.h"
 
 /// The unique system identifier hash, also known as ID0
-extern const u32 SYSTEM_ID;
+extern const std::string SYSTEM_ID;
 /// The scrambled SD card CID, also known as ID1
-extern const u32 SDCARD_ID;
+extern const std::string SDCARD_ID;
 
 namespace Service {
 namespace FS {
-- 
GitLab