-#include "save/monster-writer.h"
+#include "save/monster-writer.h"
#include "load/old/monster-flag-types-savefile50.h"
#include "monster-race/monster-race.h"
#include "monster/monster-info.h"
#include "monster/monster-status.h"
#include "save/save-util.h"
-#include "system/monster-race-definition.h"
-#include "system/monster-type-definition.h"
+#include "system/monster-entity.h"
+#include "system/monster-race-info.h"
#include "util/bit-flags-calculator.h"
#include "util/enum-converter.h"
-#include "util/quarks.h"
-static void write_monster_flags(monster_type *m_ptr, BIT_FLAGS *flags)
+static void write_monster_flags(MonsterEntity *m_ptr, BIT_FLAGS *flags)
{
if (!m_ptr->is_original_ap()) {
set_bits(*flags, SaveDataMonsterFlagType::AP_R_IDX);
set_bits(*flags, SaveDataMonsterFlagType::CONFUSED);
}
- if (monster_fear_remaining(m_ptr)) {
+ if (m_ptr->is_fearful()) {
set_bits(*flags, SaveDataMonsterFlagType::MONFEAR);
}
set_bits(*flags, SaveDataMonsterFlagType::TARGET_X);
}
- if (monster_invulner_remaining(m_ptr)) {
+ if (m_ptr->is_invulnerable()) {
set_bits(*flags, SaveDataMonsterFlagType::INVULNER);
}
set_bits(*flags, SaveDataMonsterFlagType::MFLAG2);
}
- if (m_ptr->nickname) {
+ if (m_ptr->is_named()) {
set_bits(*flags, SaveDataMonsterFlagType::NICKNAME);
}
wr_u32b(*flags);
}
-static void write_monster_info(monster_type *m_ptr, const BIT_FLAGS flags)
+static void write_monster_info(MonsterEntity *m_ptr, const BIT_FLAGS flags)
{
byte tmp8u;
if (any_bits(flags, SaveDataMonsterFlagType::FAST)) {
}
if (any_bits(flags, SaveDataMonsterFlagType::NICKNAME)) {
- wr_string(quark_str(m_ptr->nickname));
+ wr_string(m_ptr->nickname);
}
if (any_bits(flags, SaveDataMonsterFlagType::PARENT)) {
* @brief モンスター情報を書き込む / Write a "monster" record
* @param m_ptr モンスター情報保存元ポインタ
*/
-void wr_monster(monster_type *m_ptr)
+void wr_monster(MonsterEntity *m_ptr)
{
BIT_FLAGS flags = 0x00000000;
write_monster_flags(m_ptr, &flags);
*/
void wr_lore(MonsterRaceId r_idx)
{
- auto *r_ptr = &r_info[r_idx];
+ auto *r_ptr = &monraces_info[r_idx];
wr_s16b((int16_t)r_ptr->r_sights);
wr_s16b((int16_t)r_ptr->r_deaths);
wr_s16b((int16_t)r_ptr->r_pkills);
wr_FlagGroup(r_ptr->r_kind_flags, wr_byte);
wr_FlagGroup(r_ptr->r_drop_flags, wr_byte);
wr_FlagGroup(r_ptr->r_feature_flags, wr_byte);
+ wr_FlagGroup(r_ptr->r_special_flags, wr_byte);
wr_byte((byte)r_ptr->max_num);
wr_s16b(r_ptr->floor_id);