From: Hourier Date: Sun, 7 Jun 2020 01:28:22 +0000 (+0900) Subject: [Refactor] #40399 Separated visuals-reseter.c/h from object1.c/h X-Git-Url: http://git.osdn.net/view?a=commitdiff_plain;h=1d82dc0542023481b93aef214edecd169abb7bc1;p=hengband%2Fhengband.git [Refactor] #40399 Separated visuals-reseter.c/h from object1.c/h --- diff --git a/Hengband/Hengband/Hengband.vcxproj b/Hengband/Hengband/Hengband.vcxproj index cf5e11aeb..523b0c36e 100644 --- a/Hengband/Hengband/Hengband.vcxproj +++ b/Hengband/Hengband/Hengband.vcxproj @@ -169,6 +169,7 @@ + @@ -498,6 +499,7 @@ + diff --git a/Hengband/Hengband/Hengband.vcxproj.filters b/Hengband/Hengband/Hengband.vcxproj.filters index 6c6841d55..4b1664e53 100644 --- a/Hengband/Hengband/Hengband.vcxproj.filters +++ b/Hengband/Hengband/Hengband.vcxproj.filters @@ -1235,6 +1235,9 @@ perception + + core + @@ -2635,6 +2638,9 @@ perception + + core + diff --git a/src/Makefile.am b/src/Makefile.am index 8f3762d6f..3a6826689 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -108,6 +108,7 @@ hengband_SOURCES = \ core/player-processor.c core/player-processor.h \ core/scores.c core/scores.h \ core/sort.c core/sort.h \ + core/visuals-reseter.c core/visuals-reseter.h \ \ dungeon/dungeon.c dungeon/dungeon.h \ dungeon/dungeon-processor.c dungeon/dungeon-processor.h \ diff --git a/src/cmd-io/cmd-process-screen.c b/src/cmd-io/cmd-process-screen.c index 98bd6d872..970953298 100644 --- a/src/cmd-io/cmd-process-screen.c +++ b/src/cmd-io/cmd-process-screen.c @@ -7,11 +7,11 @@ #include "cmd-io/cmd-process-screen.h" #include "cmd/cmd-draw.h" +#include "core/stuff-handler.h" +#include "core/visuals-reseter.h" #include "io/files-util.h" -#include "object/object1.h" #include "term/gameterm.h" #include "term/term-color-types.h" -#include "core/stuff-handler.h" // Encode the screen colors static char hack[17] = "dwsorgbuDWvyRGBU"; diff --git a/src/cmd/cmd-visuals.c b/src/cmd/cmd-visuals.c index 782aaf5e0..f0115cd89 100644 --- a/src/cmd/cmd-visuals.c +++ b/src/cmd/cmd-visuals.c @@ -1,5 +1,6 @@ #include "cmd/cmd-visuals.h" #include "cmd/cmd-draw.h" +#include "core/visuals-reseter.h" #include "io/files-util.h" #include "io/read-pref-file.h" #include "knowledge/knowledge-features.h" @@ -9,7 +10,6 @@ #include "object/object-flavor.h" #include "object/object-generator.h" #include "object/object-kind.h" -#include "object/object1.h" #include "term/term-color-types.h" #include "view/display-main-window.h" // 暫定。後で消す. diff --git a/src/core/game-play.c b/src/core/game-play.c index d67c7a487..3baf53e2e 100644 --- a/src/core/game-play.c +++ b/src/core/game-play.c @@ -19,6 +19,7 @@ #include "core/player-processor.h" #include "core/scores.h" #include "core/stuff-handler.h" +#include "core/visuals-reseter.h" #include "dungeon/dungeon-processor.h" #include "floor/floor-events.h" #include "floor/floor-save.h" @@ -39,7 +40,6 @@ #include "market/bounty.h" #include "monster/creature.h" #include "object/object-flavor.h" -#include "object/object1.h" #include "player/player-class.h" #include "player/player-effects.h" #include "player/player-personalities-table.h" diff --git a/src/core/visuals-reseter.c b/src/core/visuals-reseter.c new file mode 100644 index 000000000..d329a052a --- /dev/null +++ b/src/core/visuals-reseter.c @@ -0,0 +1,40 @@ +#include "core/visuals-reseter.h" +#include "grid/feature.h" +#include "io/read-pref-file.h" +#include "object/object-kind.h" + +/*! + * @brief オブジェクト、地形の表示シンボルなど初期化する / Reset the "visual" lists + * @param owner_ptr プレーヤーへの参照ポインタ + * @param process_autopick_file_command 自動拾いファイル読み込みへの関数ポインタ + * @return なし + */ +void reset_visuals(player_type *owner_ptr, void (*process_autopick_file_command)(char *)) +{ + for (int i = 0; i < max_f_idx; i++) { + feature_type *f_ptr = &f_info[i]; + for (int j = 0; j < F_LIT_MAX; j++) { + f_ptr->x_attr[j] = f_ptr->d_attr[j]; + f_ptr->x_char[j] = f_ptr->d_char[j]; + } + } + + for (int i = 0; i < max_k_idx; i++) { + object_kind *k_ptr = &k_info[i]; + k_ptr->x_attr = k_ptr->d_attr; + k_ptr->x_char = k_ptr->d_char; + } + + for (int i = 0; i < max_r_idx; i++) { + monster_race *r_ptr = &r_info[i]; + r_ptr->x_attr = r_ptr->d_attr; + r_ptr->x_char = r_ptr->d_char; + } + + char *pref_file = use_graphics ? "graf.prf" : "font.prf"; + char *base_name = use_graphics ? "graf-%s.prf" : "font-%s.prf"; + char buf[1024]; + process_pref_file(owner_ptr, pref_file, process_autopick_file_command); + sprintf(buf, base_name, owner_ptr->base_name); + process_pref_file(owner_ptr, buf, process_autopick_file_command); +} diff --git a/src/core/visuals-reseter.h b/src/core/visuals-reseter.h new file mode 100644 index 000000000..41253e1b5 --- /dev/null +++ b/src/core/visuals-reseter.h @@ -0,0 +1,5 @@ +#pragma once + +#include "system/angband.h" + +void reset_visuals(player_type *owner_ptr, void (*process_autopick_file_command)(char *)); diff --git a/src/io/report.c b/src/io/report.c index b98240a66..4713281e3 100644 --- a/src/io/report.c +++ b/src/io/report.c @@ -5,19 +5,18 @@ * @author Hengband Team */ -#include "system/angband.h" #include "io/report.h" -#include "floor/floor.h" -#include "core/turn-compensator.h" -#include "system/angband-version.h" #include "core/stuff-handler.h" -#include "io/inet.h" +#include "core/turn-compensator.h" +#include "core/visuals-reseter.h" #include "dungeon/dungeon.h" -#include "player/player-personality.h" +#include "floor/floor.h" #include "io-dump/character-dump.h" -#include "world/world.h" +#include "io/inet.h" +#include "player/player-personality.h" +#include "system/angband-version.h" #include "term/gameterm.h" -#include "object/object1.h" +#include "world/world.h" #ifdef WORLD_SCORE diff --git a/src/io/report.h b/src/io/report.h index 6bcc9995e..546c78e74 100644 --- a/src/io/report.h +++ b/src/io/report.h @@ -1,5 +1,7 @@ #pragma once +#include "system/angband.h" + extern concptr screen_dump; #ifdef WORLD_SCORE diff --git a/src/main-win.c b/src/main-win.c index 062268e40..9e0dc5ccc 100644 --- a/src/main-win.c +++ b/src/main-win.c @@ -97,6 +97,7 @@ #include "core/scores.h" #include "core/special-internal-keys.h" #include "core/stuff-handler.h" +#include "core/visuals-reseter.h" #include "dungeon/quest.h" #include "floor/floor-events.h" #include "floor/floor.h" @@ -108,7 +109,6 @@ #include "main/init.h" #include "main/music-definitions-table.h" #include "main/sound-definitions-table.h" -#include "object/object1.h" #include "system/angband-version.h" #include "system/angband.h" #include "system/system-variables.h" diff --git a/src/object/object1.c b/src/object/object1.c index 585a10613..7f34554da 100644 --- a/src/object/object1.c +++ b/src/object/object1.c @@ -43,47 +43,6 @@ #include "view/display-main-window.h" /*! - * @brief オブジェクト、地形の表示シンボルなど初期化する / Reset the "visual" lists - * @param owner_ptr プレーヤーへの参照ポインタ - * @param process_autopick_file_command 自動拾いファイル読み込みへの関数ポインタ - * @return なし - */ -void reset_visuals(player_type *owner_ptr, void(*process_autopick_file_command)(char*)) -{ - for (int i = 0; i < max_f_idx; i++) - { - feature_type *f_ptr = &f_info[i]; - for (int j = 0; j < F_LIT_MAX; j++) - { - f_ptr->x_attr[j] = f_ptr->d_attr[j]; - f_ptr->x_char[j] = f_ptr->d_char[j]; - } - } - - for (int i = 0; i < max_k_idx; i++) - { - object_kind *k_ptr = &k_info[i]; - k_ptr->x_attr = k_ptr->d_attr; - k_ptr->x_char = k_ptr->d_char; - } - - for (int i = 0; i < max_r_idx; i++) - { - monster_race *r_ptr = &r_info[i]; - r_ptr->x_attr = r_ptr->d_attr; - r_ptr->x_char = r_ptr->d_char; - } - - char *pref_file = use_graphics ? "graf.prf" : "font.prf"; - char *base_name = use_graphics ? "graf-%s.prf" : "font-%s.prf"; - char buf[1024]; - process_pref_file(owner_ptr, pref_file, process_autopick_file_command); - sprintf(buf, base_name, owner_ptr->base_name); - process_pref_file(owner_ptr, buf, process_autopick_file_command); -} - - -/*! * @brief オブジェクトのフラグ類を配列に与える * Obtain the "flags" for an item * @param o_ptr フラグ取得元のオブジェクト構造体ポインタ diff --git a/src/object/object1.h b/src/object/object1.h index 227a0d803..3006958b4 100644 --- a/src/object/object1.h +++ b/src/object/object1.h @@ -5,14 +5,11 @@ #define OBJ_GOLD_LIST 480 /* First "gold" entry */ -void reset_visuals(player_type *owner_ptr, void (*process_autopick_file_command)(char *)); void object_flags(object_type *o_ptr, BIT_FLAGS flgs[TR_FLAG_SIZE]); void object_flags_known(object_type *o_ptr, BIT_FLAGS flgs[TR_FLAG_SIZE]); concptr item_activation(object_type *o_ptr); - char index_to_label(int i); s16b wield_slot(player_type *owner_ptr, object_type *o_ptr); - bool check_book_realm(player_type *owner_ptr, const tval_type book_tval, const OBJECT_SUBTYPE_VALUE book_sval); object_type *ref_item(player_type *owner_ptr, INVENTORY_IDX item); TERM_COLOR object_attr(object_type *o_ptr);