redraw_window() のように全ウィンドウフラグを指定したい場合、個別の値の
OR をとる方式だと、ウィンドウフラグを新設したとき漏れが出るおそれがある。
全ウィンドウフラグを表す定数 PW_ALL を enum window_redraw_type 内に新設。
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();
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);