OSDN Git Service

メッセージ履歴の表示をウィンドウの縦幅に合わせた。スクロールする行数はそのままにしている。
authorhabu <habu@0568b783-4c39-0410-ac80-bf13821ea2a2>
Tue, 12 Mar 2002 14:02:50 +0000 (14:02 +0000)
committerhabu <habu@0568b783-4c39-0410-ac80-bf13821ea2a2>
Tue, 12 Mar 2002 14:02:50 +0000 (14:02 +0000)
src/cmd4.c

index 45e9d30..a2ea9b2 100644 (file)
@@ -1193,8 +1193,12 @@ void do_cmd_messages(int num_now)
 
        char shower[80];
        char finder[80];
+       int wid, hgt;
 
 
+       /* Get size */
+       Term_get_size(&wid, &hgt);
+
        /* Wipe finder */
        strcpy(finder, "");
 
@@ -1221,7 +1225,7 @@ void do_cmd_messages(int num_now)
                Term_clear();
 
                /* Dump up to 20 lines of messages */
-               for (j = 0; (j < 20) && (i + j < n); j++)
+               for (j = 0; (j < hgt - 4) && (i + j < n); j++)
                {
                        cptr msg = message_str(i+j);
 
@@ -1229,7 +1233,7 @@ void do_cmd_messages(int num_now)
                        msg = (strlen(msg) >= q) ? (msg + q) : "";
 
                        /* Dump the messages, bottom to top */
-                       Term_putstr(0, 21-j, -1, (bool)(i+j < num_now ? TERM_WHITE : TERM_SLATE), msg);
+                       Term_putstr(0, hgt-j-3, -1, (bool)(i+j < num_now ? TERM_WHITE : TERM_SLATE), msg);
 
                        /* Hilite "shower" */
                        if (shower[0])
@@ -1263,9 +1267,9 @@ void do_cmd_messages(int num_now)
 
                /* Display prompt (not very informative) */
 #ifdef JP
-               prt("[ 'p' ¤Ç¹¹¤Ë¸Å¤¤¤â¤Î, 'n' ¤Ç¹¹¤Ë¿·¤·¤¤¤â¤Î, '/' ¤Ç¸¡º÷, ESC ¤ÇÃæÃÇ ]", 23, 0);
+               prt("[ 'p' ¤Ç¹¹¤Ë¸Å¤¤¤â¤Î, 'n' ¤Ç¹¹¤Ë¿·¤·¤¤¤â¤Î, '/' ¤Ç¸¡º÷, ESC ¤ÇÃæÃÇ ]", hgt - 1, 0);
 #else
-               prt("[Press 'p' for older, 'n' for newer, ..., or ESCAPE]", 23, 0);
+               prt("[Press 'p' for older, 'n' for newer, ..., or ESCAPE]", hgt - 1, 0);
 #endif
 
 
@@ -1303,9 +1307,9 @@ void do_cmd_messages(int num_now)
                {
                        /* Prompt */
 #ifdef JP
-                       prt("¶¯Ä´: ", 23, 0);
+                       prt("¶¯Ä´: ", hgt - 1, 0);
 #else
-                       prt("Show: ", 23, 0);
+                       prt("Show: ", hgt - 1, 0);
 #endif
 
 
@@ -1323,9 +1327,9 @@ void do_cmd_messages(int num_now)
 
                        /* Prompt */
 #ifdef JP
-                       prt("¸¡º÷: ", 23, 0);
+                       prt("¸¡º÷: ", hgt - 1, 0);
 #else
-                       prt("Find: ", 23, 0);
+                       prt("Find: ", hgt - 1, 0);
 #endif