OSDN Git Service

get_checkの [y/n]のメッセージを履歴に残すようにしてみた。
authormogami <mogami@0568b783-4c39-0410-ac80-bf13821ea2a2>
Sat, 9 Mar 2002 09:56:33 +0000 (09:56 +0000)
committermogami <mogami@0568b783-4c39-0410-ac80-bf13821ea2a2>
Sat, 9 Mar 2002 09:56:33 +0000 (09:56 +0000)
残って欲しくないところは get_check_strict("...", 4); とすればよい。

src/cmd4.c
src/effects.c
src/util.c

index d272c9b..c7ee1c1 100644 (file)
@@ -5324,9 +5324,9 @@ void do_cmd_save_screen(void)
        }
 
 #ifdef JP
-       if (get_check("HTML¤Ç½ÐÎϤ·¤Þ¤¹¤«¡©"))
+       if (get_check_strict("HTML¤Ç½ÐÎϤ·¤Þ¤¹¤«¡©", 4))
 #else
-       if (get_check("Save screen dump as HTML? "))
+       if (get_check_strict("Save screen dump as HTML? ", 4))
 #endif
        {
                do_cmd_save_screen_html();
index 5d6ff13..db780c7 100644 (file)
@@ -5034,7 +5034,7 @@ bool take_hit(int damage_type, int damage, cptr hit_from, int monspell)
                        flush();
 
 #ifdef JP
-if (get_check("²èÌ̤òÊݸ¤·¤Þ¤¹¤«¡©"))
+if (get_check_strict("²èÌ̤òÊݸ¤·¤Þ¤¹¤«¡©", 4))
 #else
                        if (get_check("Dump the screen? "))
 #endif
index 9f19b58..4a3f6f0 100644 (file)
@@ -3322,8 +3322,8 @@ bool get_check(cptr prompt)
  *
  * mode & 0x01 : force user to answer "YES" or "N"
  * mode & 0x02 : don't allow ESCAPE key
+ * mode & 0x04 : no message_add
  */
-#define CHECK_STRICT 0
 bool get_check_strict(cptr prompt, int mode)
 {
        int i;
@@ -3346,20 +3346,6 @@ bool get_check_strict(cptr prompt, int mode)
        /* Hack -- Build a "useful" prompt */
        if (mode & 1)
        {
-#if CHECK_STRICT
-#ifdef JP
-               /* (79-8)¥Ð¥¤¥È¤Î»ØÄê, prompt¤¬Ä¹¤«¤Ã¤¿¾ì¹ç, 
-                  (79-9)ʸ»ú¤Î¸å½ªÃ¼Ê¸»ú¤¬½ñ¤­¹þ¤Þ¤ì¤ë.     
-                  ±Ñ¸ì¤ÎÊý¤Îstrncpy¤È¤Ï°ã¤¦¤Î¤ÇÃí°Õ.
-                  else¤ÎÊý¤Îʬ´ô¤âƱÍÍ. --henkma
-               */
-               mb_strlcpy(buf, prompt, 80-8);
-#else
-               strncpy(buf, prompt, 79-8);
-               buf[79-8]='\0';
-#endif
-               strcat(buf, "[yes/no]");
-#else
 #ifdef JP
                /* (79-8)¥Ð¥¤¥È¤Î»ØÄê, prompt¤¬Ä¹¤«¤Ã¤¿¾ì¹ç, 
                   (79-9)ʸ»ú¤Î¸å½ªÃ¼Ê¸»ú¤¬½ñ¤­¹þ¤Þ¤ì¤ë.     
@@ -3373,7 +3359,6 @@ bool get_check_strict(cptr prompt, int mode)
 #endif
                strcat(buf, "[(O)k/(C)ancel]");
 
-#endif
        }
        else
        {
@@ -3389,62 +3374,18 @@ bool get_check_strict(cptr prompt, int mode)
        /* Prompt for it */
        prt(buf, 0, 0);
 
+       if (!(mode & 4))
+       {
+               /* HACK : Add the line to message buffer */
+               message_add(buf);
+               p_ptr->window |= (PW_MESSAGE);
+               window_stuff();
+       }
+
        /* Get an acceptable answer */
        while (TRUE)
        {
                i = inkey();
-#if CHECK_STRICT /* ¤³¤³¤«¤é(¤Á¤ç¤Ã¤ÈŤ¤¤Î¤Ç¥³¥á¥ó¥È) */
-               if (i == 'y' || i == 'Y')
-               {
-                       if (!(mode & 1))
-                               break;
-                       else
-                       {
-#ifdef JP
-                               prt("y (YES¤ÈÆþÎϤ·¤Æ¤¯¤À¤µ¤¤)", 0, strlen(buf));
-#else
-                               prt("y (Please answer YES.)", 0, strlen(buf));
-#endif
-                               i = inkey();
-                               if (i == 'e' || i == 'E')
-                               {
-#ifdef JP
-                                       prt("e (YES¤ÈÆþÎϤ·¤Æ¤¯¤À¤µ¤¤)", 0, strlen(buf)+1);
-#else
-                                       prt("e (Please answer YES.)", 0, strlen(buf)+1);
-#endif
-                                       i = inkey();
-                                       if (i == 's' || i == 'S')
-                                       {
-                                               i = 'y';
-                                               break;
-                                       }
-                                       prt("", 0, strlen(buf)+1);
-                               }
-                               prt("", 0, strlen(buf));
-                       }
-               }
-               if (!(mode & 2) && (i == ESCAPE)) break;
-               if (i == 'N' || i == 'n')
-               {
-                       if (!(mode & 1))
-                               break;
-                       else
-                       {
-#ifdef JP
-                               prt("n (NO¤ÈÆþÎϤ·¤Æ¤¯¤À¤µ¤¤)", 0, strlen(buf));
-#else
-                               prt("n (Please answer NO.)", 0, strlen(buf));
-#endif
-                               i = inkey();
-                               if (i == 'o' || i == 'O')
-                               {
-                                               break;
-                               }
-                               prt("", 0, strlen(buf));
-                       }
-               }
-#else
                if ( mode & 1 )
                {
                        if ( i == 'o' || i == 'O' )
@@ -3469,7 +3410,6 @@ bool get_check_strict(cptr prompt, int mode)
                {
                                break;
                }
-#endif /* ¤³¤³¤Þ¤Ç(¤Á¤ç¤Ã¤ÈŤ¤¤Î¤Ç¥³¥á¥ó¥È) */
                bell();
        }