OSDN Git Service

[Fix] セーブファイルが相対パスで保存できない
authordis <dis.rogue@gmail.com>
Tue, 16 Jan 2024 08:38:33 +0000 (17:38 +0900)
committerdis <dis.rogue@gmail.com>
Tue, 16 Jan 2024 09:02:16 +0000 (18:02 +0900)
セーブファイルのフルパスとhengband.exe実行フォルダのパスが前方一致している場合、INIファイルに相対パスを保存する。

src/main-win.cpp

index d7549ef..9ad355f 100644 (file)
@@ -428,7 +428,8 @@ static void save_prefs(void)
     const auto path_length = angband_dir_str.length() - 4; // "\lib" を除く.
     angband_dir_str = angband_dir_str.substr(0, path_length);
     const auto savefile_str = savefile.string();
-    if (angband_dir_str == savefile_str) {
+    const auto savefile_dir_str = savefile_str.substr(0, path_length);
+    if (angband_dir_str == savefile_dir_str) {
         const auto relative_path = format(".\\%s", (savefile_str.data() + path_length));
         WritePrivateProfileStringA("Angband", "SaveFile", relative_path.data(), ini_file);
     } else {