OSDN Git Service

Merge pull request #3845 from dis-/feature/refactor-save-floors
[hengbandforosx/hengbandosx.git] / src / io / files-util.h
1 #pragma once
2
3 #include "system/angband.h"
4 #include <filesystem>
5 #include <optional>
6 #include <string>
7 #include <string_view>
8
9 extern std::filesystem::path savefile; //!< セーブファイルのフルパス
10 extern std::string savefile_base; //!< セーブファイル名
11 extern std::filesystem::path debug_savefile; //!< デバッグセーブファイルのフルパス
12
13 extern std::filesystem::path ANGBAND_DIR;
14 extern std::filesystem::path ANGBAND_DIR_APEX;
15 extern std::filesystem::path ANGBAND_DIR_BONE;
16 extern std::filesystem::path ANGBAND_DIR_DATA;
17 extern std::filesystem::path ANGBAND_DIR_EDIT;
18 extern std::filesystem::path ANGBAND_DIR_SCRIPT;
19 extern std::filesystem::path ANGBAND_DIR_FILE;
20 extern std::filesystem::path ANGBAND_DIR_HELP;
21 extern std::filesystem::path ANGBAND_DIR_INFO;
22 extern std::filesystem::path ANGBAND_DIR_PREF;
23 extern std::filesystem::path ANGBAND_DIR_SAVE;
24 extern std::filesystem::path ANGBAND_DIR_DEBUG_SAVE;
25 extern std::filesystem::path ANGBAND_DIR_USER;
26 extern std::filesystem::path ANGBAND_DIR_XTRA;
27
28 class PlayerType;
29 typedef void (*update_playtime_pf)(void);
30
31 void file_character(PlayerType *player_ptr, std::string_view filename);
32 std::optional<std::string> get_random_line(concptr file_name, int entry);
33 void read_dead_file();
34
35 #ifdef JP
36 std::optional<std::string> get_random_line_ja_only(concptr file_name, int entry, int count);
37 #endif
38 errr counts_write(PlayerType *player_ptr, int where, uint32_t count);
39 uint32_t counts_read(PlayerType *player_ptr, int where);