From: dis- Date: Fri, 29 Jan 2021 09:36:09 +0000 (+0900) Subject: [Fix] #41361 auto-moreオプションが効いていない場合がある X-Git-Tag: vmacos3.0.0-alpha52~462^2 X-Git-Url: http://git.osdn.net/view?a=commitdiff_plain;h=5a1faa0419cab1398e312323d41bc9912e07a74d;p=hengbandforosx%2Fhengbandosx.git [Fix] #41361 auto-moreオプションが効いていない場合がある 該当の処理部を整理し挙動を修正した。 --- diff --git a/src/view/display-messages.c b/src/view/display-messages.c index 7d135cee4..f653c9cac 100644 --- a/src/view/display-messages.c +++ b/src/view/display-messages.c @@ -255,29 +255,32 @@ void message_add(concptr str) } } +bool is_msg_window_flowed(void) { + int i; + for (i = 0; i < 8; i++) { + if (angband_term[i] && (window_flag[i] & PW_MESSAGE)) + break; + } + if (i < 8) { + if (num_more < angband_term[i]->hgt) + return FALSE; + } + return TRUE; +} + /* * Hack -- flush */ static void msg_flush(player_type *player_ptr, int x) { byte a = TERM_L_BLUE; - bool nagasu = FALSE; - if ((auto_more && !player_ptr->now_damaged) || num_more < 0) { - int i; - for (i = 0; i < 8; i++) { - if (angband_term[i] && (window_flag[i] & PW_MESSAGE)) - break; - } - if (i < 8) { - if (num_more < angband_term[i]->hgt) - nagasu = TRUE; - } else { - nagasu = TRUE; - } - } + bool show_more = !auto_more || is_msg_window_flowed(); + + if (auto_more && (quick_messages || !player_ptr->now_damaged)) + show_more = FALSE; player_ptr->now_damaged = FALSE; - if (!player_ptr->playing || !nagasu) { + if (!player_ptr->playing || show_more) { term_putstr(x, 0, -1, a, _("-続く-", "-more-")); while (TRUE) { int cmd = inkey();