OSDN Git Service

Merge branch 'develop' into macos-develop
[hengbandforosx/hengbandosx.git] / src / save / save.cpp
index a5efd7b..5e5a05e 100644 (file)
@@ -1,4 +1,4 @@
-/*!
+/*!
  * @file save.c
  * @brief セーブファイル書き込み処理 / Purpose: interact with savefiles
  * @date 2014/07/12
@@ -265,7 +265,8 @@ static bool save_player_aux(PlayerType *player_ptr, const std::filesystem::path
     if (fd >= 0) {
         (void)fd_close(fd);
         safe_setuid_grab();
-        saving_savefile = angband_fopen(path, FileOpenMode::WRITE, true);
+        saving_savefile = angband_fopen(path, FileOpenMode::WRITE, true,
+            FileOpenType::SAVE);
         safe_setuid_drop();
         if (saving_savefile) {
             if (wr_savefile_new(player_ptr, type)) {
@@ -311,6 +312,11 @@ bool save_player(PlayerType *player_ptr, SaveType type)
     auto savefile_new = ss_new.str();
     safe_setuid_grab();
     fd_kill(savefile_new);
+    if (type == SaveType::DEBUG) {
+        const auto debug_save_dir = std::filesystem::path(debug_savefile).remove_filename();
+        std::error_code ec;
+        std::filesystem::create_directory(debug_save_dir, ec);
+    }
     safe_setuid_drop();
     update_playtime();
     bool result = false;