// v0.0.X~v3.0.0 Alpha51までは、セーブデータの第1バイトがFAKE_MAJOR_VERというZangbandと互換性を取ったバージョン番号フィールドだった.
// v3.0.0 Alpha52以降は、バリアント名の長さフィールドとして再定義した.
// 10~13はその名残。変愚蛮怒から更にバリアントを切ったらこの評価は不要.
+ auto &system = AngbandSystem::get_instance();
auto tmp_major = tmp_ver[0];
auto is_old_ver = (10 <= tmp_major) && (tmp_major <= 13);
if (tmp_major == variant_length) {
throw(_("セーブデータのバリアントは変愚蛮怒以外です", "The variant of save data is other than Hengband!"));
}
- w_ptr->sf_extra = tmp_ver[version_length - 1];
+ system.savefile_key = tmp_ver[version_length - 1];
(void)fd_close(fd);
} else if (is_old_ver) {
- w_ptr->sf_extra = tmp_ver[3];
+ system.savefile_key = tmp_ver[3];
(void)fd_close(fd);
} else {
(void)fd_close(fd);
uint8_t version_patch{}; //!< 変愚蛮怒バージョン(パッチ番号)
uint8_t version_extra{}; //!< 変愚蛮怒バージョン(エクストラ番号)
+ uint8_t savefile_key{}; //!< セーブファイルエンコードキー(XOR)
+
void set_phase_out(bool new_status);
bool is_phase_out() const;
int get_max_range() const;
bool is_loading_now{}; /*!< ロード処理中フラグ...ロード直後にcalc_bonus()時の徳変化、及びsanity_blast()による異常を抑止する */
- byte sf_extra{}; //!< セーブファイルエンコードキー(XOR)
-
uint32_t sf_system{}; //!< OS情報 / OS information
uint32_t sf_when{}; //!< 作成日時 / Created Date
uint16_t sf_lives{}; //!< このセーブファイルで何人プレイしたか / Number of past "lives" with this file