is_msg_window_flowed()を分離する際、そのロジックを使用する箇所を間違えていた。
以前の実装に合わせるのであれば、auto-more ONのときのメッセージ流量を調節するために使用するのが正しい。
auto-more OFFのときは単にnum_moreの値によってmoreの表示有無を決定する。
static void msg_flush(player_type *player_ptr, int x)
{
byte a = TERM_L_BLUE;
- bool show_more = is_msg_window_flowed();
+ bool show_more = (num_more >= 0);
if (auto_more && (quick_messages || !player_ptr->now_damaged))
- show_more = FALSE;
+ show_more = is_msg_window_flowed();
+
+ player_ptr->now_damaged = FALSE;
player_ptr->now_damaged = FALSE;
if (!player_ptr->playing || show_more) {