OSDN Git Service

[Fix] Auto-MoreがOFFのとき、過剰に-more-がカットされる
authordis- <dis.rogue@gmail.com>
Sun, 7 Feb 2021 11:28:42 +0000 (20:28 +0900)
committerdis- <dis.rogue@gmail.com>
Sun, 7 Feb 2021 11:28:42 +0000 (20:28 +0900)
is_msg_window_flowed()を分離する際、そのロジックを使用する箇所を間違えていた。
以前の実装に合わせるのであれば、auto-more ONのときのメッセージ流量を調節するために使用するのが正しい。
auto-more OFFのときは単にnum_moreの値によってmoreの表示有無を決定する。

src/view/display-messages.c

index 7baae17..941f13f 100644 (file)
@@ -277,10 +277,12 @@ bool is_msg_window_flowed(void)
 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) {