From 655ace417d075d261616132c724b694c5c06b22b Mon Sep 17 00:00:00 2001 From: Hourier Date: Thu, 11 Jun 2020 21:21:08 +0900 Subject: [PATCH] [Refactor] #40014 Made lore-util.c/h to prepare to divide monster-lore.c --- Hengband/Hengband/Hengband.vcxproj | 2 ++ Hengband/Hengband/Hengband.vcxproj.filters | 6 ++++++ src/Makefile.am | 7 ++++--- src/lore/lore-util.c | 20 ++++++++++++++++++++ src/lore/lore-util.h | 28 ++++++++++++++++++++++++++++ 5 files changed, 60 insertions(+), 3 deletions(-) create mode 100644 src/lore/lore-util.c create mode 100644 src/lore/lore-util.h diff --git a/Hengband/Hengband/Hengband.vcxproj b/Hengband/Hengband/Hengband.vcxproj index e83d5aad8..b53fe7158 100644 --- a/Hengband/Hengband/Hengband.vcxproj +++ b/Hengband/Hengband/Hengband.vcxproj @@ -187,6 +187,7 @@ + @@ -539,6 +540,7 @@ + diff --git a/Hengband/Hengband/Hengband.vcxproj.filters b/Hengband/Hengband/Hengband.vcxproj.filters index d083b2f48..2e4942233 100644 --- a/Hengband/Hengband/Hengband.vcxproj.filters +++ b/Hengband/Hengband/Hengband.vcxproj.filters @@ -1283,6 +1283,9 @@ lore + + lore + @@ -2818,6 +2821,9 @@ lore + + lore + diff --git a/src/Makefile.am b/src/Makefile.am index 3a82959e9..6db5364bb 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -228,6 +228,10 @@ hengband_SOURCES = \ \ locale/japanese.c locale/japanese.h locale/english.c locale/english.h \ \ + lore/lore-store.c lore/lore-store.h \ + lore/lore-util.c lore/lore-util.h \ + lore/monster-lore.c lore/monster-lore.h \ + \ main.c main-x11.c main-gcu.c \ \ main/music-definitions-table.c main/music-definitions-table.h \ @@ -316,9 +320,6 @@ hengband_SOURCES = \ monster-attack/monster-attack-util.c monster-attack/monster-attack-util.h \ monster-attack/monster-eating.c monster-attack/monster-eating.h \ \ - lore/lore-store.c lore/lore-store.h \ - lore/monster-lore.c lore/monster-lore.h \ - \ monster-race/monster-race.c monster-race/monster-race.h \ monster-race/monster-race-hook.c monster-race/monster-race-hook.h \ monster-race/race-flags-resistance.h \ diff --git a/src/lore/lore-util.c b/src/lore/lore-util.c new file mode 100644 index 000000000..08368952e --- /dev/null +++ b/src/lore/lore-util.c @@ -0,0 +1,20 @@ +#include "lore/lore-util.h" + +lore_type *initialize_lore_type(lore_type *lore_ptr, MONRACE_IDX r_idx, BIT_FLAGS mode) +{ + lore_ptr->nightmare = ironman_nightmare && !(mode & 0x02); + lore_ptr->r_ptr = &r_info[r_idx]; + lore_ptr->speed = lore_ptr->nightmare ? lore_ptr->r_ptr->speed + 5 : lore_ptr->r_ptr->speed; + lore_ptr->drop_gold = lore_ptr->r_ptr->r_drop_gold; + lore_ptr->drop_item = lore_ptr->r_ptr->r_drop_item; + lore_ptr->flags1 = (lore_ptr->r_ptr->flags1 & lore_ptr->r_ptr->r_flags1); + lore_ptr->flags2 = (lore_ptr->r_ptr->flags2 & lore_ptr->r_ptr->r_flags2); + lore_ptr->flags3 = (lore_ptr->r_ptr->flags3 & lore_ptr->r_ptr->r_flags3); + lore_ptr->flags4 = (lore_ptr->r_ptr->flags4 & lore_ptr->r_ptr->r_flags4); + lore_ptr->a_ability_flags1 = (lore_ptr->r_ptr->a_ability_flags1 & lore_ptr->r_ptr->r_flags5); + lore_ptr->a_ability_flags2 = (lore_ptr->r_ptr->a_ability_flags2 & lore_ptr->r_ptr->r_flags6); + lore_ptr->flags7 = (lore_ptr->r_ptr->flags7 & lore_ptr->r_ptr->flags7); + lore_ptr->flagsr = (lore_ptr->r_ptr->flagsr & lore_ptr->r_ptr->r_flagsr); + lore_ptr->reinforce = FALSE; + return lore_ptr; +} diff --git a/src/lore/lore-util.h b/src/lore/lore-util.h new file mode 100644 index 000000000..5b99f5a89 --- /dev/null +++ b/src/lore/lore-util.h @@ -0,0 +1,28 @@ +#pragma once + +#include "system/angband.h" +#include "monster-race/monster-race.h" + +typedef struct lore_type { +#ifdef JP + char jverb_buf[64]; +#else + bool sin = FALSE; +#endif + bool nightmare; + monster_race *r_ptr; + SPEED speed; + ITEM_NUMBER drop_gold; + ITEM_NUMBER drop_item; + BIT_FLAGS flags1; + BIT_FLAGS flags2; + BIT_FLAGS flags3; + BIT_FLAGS flags4; + BIT_FLAGS a_ability_flags1; + BIT_FLAGS a_ability_flags2; + BIT_FLAGS flags7; + BIT_FLAGS flagsr; + bool reinforce; +} lore_type; + +lore_type *initialize_lore_type(lore_type *lore_ptr, MONRACE_IDX r_idx, BIT_FLAGS mode); -- 2.11.0