OSDN Git Service

[Refactor] 全ウィンドウフラグを表す定数 PW_ALL を新設
authortaotao54321 <taotao54321@gmail.com>
Wed, 17 Feb 2021 10:28:53 +0000 (19:28 +0900)
committertaotao54321 <taotao54321@gmail.com>
Wed, 17 Feb 2021 10:28:53 +0000 (19:28 +0900)
redraw_window() のように全ウィンドウフラグを指定したい場合、個別の値の
OR をとる方式だと、ウィンドウフラグを新設したとき漏れが出るおそれがある。

全ウィンドウフラグを表す定数 PW_ALL を enum window_redraw_type 内に新設。

src/core/window-redrawer.c
src/core/window-redrawer.h

index 5a52b7c..4e4dada 100644 (file)
@@ -34,9 +34,7 @@ void redraw_window(void)
     if (!current_world_ptr->character_dungeon)
         return;
 
-    p_ptr->window_flags |= (PW_INVEN | PW_EQUIP | PW_SPELL | PW_PLAYER);
-    p_ptr->window_flags |= (PW_MESSAGE | PW_OVERHEAD | PW_DUNGEON | PW_MONSTER | PW_OBJECT);
-    p_ptr->window_flags |= PW_MONSTER_LIST;
+    p_ptr->window_flags = PW_ALL;
 
     handle_stuff(p_ptr);
     term_redraw();
index 4444251..92c910b 100644 (file)
@@ -14,6 +14,8 @@ typedef enum window_redraw_type {
     PW_OBJECT = 0x00000200L, /*!<サブウィンドウ描画フラグ: アイテムの知識 / Display object recall */
     PW_DUNGEON = 0x00000400L, /*!<サブウィンドウ描画フラグ: ダンジョンの地形 / Display dungeon view */
     PW_SNAPSHOT = 0x00000800L, /*!<サブウィンドウ描画フラグ: 記念写真 / Display snap-shot */
+
+    PW_ALL = (PW_INVEN | PW_EQUIP | PW_SPELL | PW_PLAYER | PW_MONSTER_LIST | PW_MESSAGE | PW_OVERHEAD | PW_MONSTER | PW_OBJECT | PW_DUNGEON | PW_SNAPSHOT),
 } window_redraw_type;
 
 void redraw_window(void);