OSDN Git Service

引退時のスクリーンダンプ用にサーペントを倒した瞬間の画面を使うようにした。
authorhabu <habu@0568b783-4c39-0410-ac80-bf13821ea2a2>
Fri, 25 Jan 2002 20:15:14 +0000 (20:15 +0000)
committerhabu <habu@0568b783-4c39-0410-ac80-bf13821ea2a2>
Fri, 25 Jan 2002 20:15:14 +0000 (20:15 +0000)
また、待機と将来の引退の為にセーブファイルに保存するようにした。
セーブファイルの仕様が変わったのでバージョンが一つ上がっているので注意。

src/cmd4.c
src/defines.h
src/load.c
src/save.c
src/xtra2.c

index 5ab0672..10b9613 100644 (file)
@@ -5027,7 +5027,6 @@ static void do_cmd_knowledge_inven(void)
 /*
  * Make screen dump to buffer
  */
-#define SCREEN_BUF_SIZE 65536
 cptr make_screen_dump(void)
 {
        int y, x, i;
index 897bd7b..40890e9 100644 (file)
@@ -51,7 +51,7 @@
 #define FAKE_VERSION   0
 #define FAKE_VER_MAJOR 11
 #define FAKE_VER_MINOR 0
-#define FAKE_VER_PATCH 8
+#define FAKE_VER_PATCH 9
 
 #define ANGBAND_2_8_1
 #define ZANGBAND
@@ -4808,3 +4808,5 @@ extern int PlayerUID;
 
 #define MAX_MACRO_MOD 12
 #define MAX_MACRO_TRIG 200
+
+#define SCREEN_BUF_SIZE 65536           /* max screen dump buffer size */
index c1084ad..e58f0ee 100644 (file)
@@ -2939,6 +2939,13 @@ note("
                rd_s16b(&p_ptr->pet_extra_flags);
        }
 
+       if (!z_older_than(11, 0, 9))
+       {
+               char buf[SCREEN_BUF_SIZE];
+               rd_string(buf, SCREEN_BUF_SIZE);
+               if (buf[0]) screen_dump = string_make(buf);
+       }
+
        if (death)
        {
                for (i = MIN_RANDOM_QUEST; i < MAX_RANDOM_QUEST + 1; i++)
index a103fb5..d35e414 100644 (file)
@@ -872,7 +872,7 @@ static void wr_ghost(void)
 
        /* Name */
 #ifdef JP
-wr_string("ÉÔÀµ¤Ê¥´¡¼¥¹¥È");
+       wr_string("ÉÔÀµ¤Ê¥´¡¼¥¹¥È");
 #else
        wr_string("Broken Ghost");
 #endif
@@ -1602,6 +1602,16 @@ static bool wr_savefile_new(void)
        wr_s16b(p_ptr->pet_follow_distance);
        wr_s16b(p_ptr->pet_extra_flags);
 
+       /* Write screen dump for sending score */
+       if (screen_dump && (wait_report_score || !death))
+       {
+               wr_string(screen_dump);
+       }
+       else
+       {
+               wr_string("");
+       }
+
        /* Player is not dead, write the dungeon */
        if (!death)
        {
@@ -1853,7 +1863,7 @@ bool load_player(void)
        {
                /* Give a message */
 #ifdef JP
-msg_print("¥»¡¼¥Ö¥Õ¥¡¥¤¥ë¤¬¤¢¤ê¤Þ¤»¤ó¡£");
+               msg_print("¥»¡¼¥Ö¥Õ¥¡¥¤¥ë¤¬¤¢¤ê¤Þ¤»¤ó¡£");
 #else
                msg_print("Savefile does not exist.");
 #endif
@@ -1891,7 +1901,7 @@ msg_print("
 
                        /* Message */
 #ifdef JP
-msg_print("¥»¡¼¥Ö¥Õ¥¡¥¤¥ë¤Ï¸½ºß»ÈÍÑÃæ¤Ç¤¹¡£");
+                       msg_print("¥»¡¼¥Ö¥Õ¥¡¥¤¥ë¤Ï¸½ºß»ÈÍÑÃæ¤Ç¤¹¡£");
 #else
                        msg_print("Savefile is currently in use.");
 #endif
@@ -1926,7 +1936,7 @@ msg_print("
 
                /* Message (below) */
 #ifdef JP
-if (err) what = "¥»¡¼¥Ö¥Õ¥¡¥¤¥ë¤ò³«¤±¤Þ¤»¤ó¡£";
+               if (err) what = "¥»¡¼¥Ö¥Õ¥¡¥¤¥ë¤ò³«¤±¤Þ¤»¤ó¡£";
 #else
                if (err) what = "Cannot open savefile";
 #endif
@@ -1947,7 +1957,7 @@ if (err) what = "
 
                /* What */
 #ifdef JP
-if (err) what = "¥»¡¼¥Ö¥Õ¥¡¥¤¥ë¤òÆɤá¤Þ¤»¤ó¡£";
+               if (err) what = "¥»¡¼¥Ö¥Õ¥¡¥¤¥ë¤òÆɤá¤Þ¤»¤ó¡£";
 #else
                if (err) what = "Cannot read savefile";
 #endif
@@ -2013,7 +2023,7 @@ if (err) what = "
 
                /* Message (below) */
 #ifdef JP
-if (err) what = "¥»¡¼¥Ö¥Õ¥¡¥¤¥ë¤ò²òÀϽÐÍè¤Þ¤»¤ó¡£";
+               if (err) what = "¥»¡¼¥Ö¥Õ¥¡¥¤¥ë¤ò²òÀϽÐÍè¤Þ¤»¤ó¡£";
 #else
                if (err) what = "Cannot parse savefile";
 #endif
@@ -2028,7 +2038,7 @@ if (err) what = "
 
                /* Message (below) */
 #ifdef JP
-if (err) what = "¥»¡¼¥Ö¥Õ¥¡¥¤¥ë¤¬²õ¤ì¤Æ¤¤¤Þ¤¹";
+               if (err) what = "¥»¡¼¥Ö¥Õ¥¡¥¤¥ë¤¬²õ¤ì¤Æ¤¤¤Þ¤¹";
 #else
                if (err) what = "Broken savefile";
 #endif
@@ -2045,7 +2055,7 @@ if (err) what = "
                {
                        /* Message */
 #ifdef JP
-what = "̵¸ú¤Ê¥¿¥¤¥à¡¦¥¹¥¿¥ó¥×¤Ç¤¹";
+                       what = "̵¸ú¤Ê¥¿¥¤¥à¡¦¥¹¥¿¥ó¥×¤Ç¤¹";
 #else
                        what = "Invalid timestamp";
 #endif
@@ -2069,7 +2079,7 @@ what = "̵
                        if (z_major == 2 && z_minor == 0 && z_patch == 6)
                        {
 #ifdef JP
-msg_print("¥Ð¡¼¥¸¥ç¥ó 2.0.* ÍѤΥ»¡¼¥Ö¥Õ¥¡¥¤¥ë¤òÊÑ´¹¤·¤Þ¤·¤¿¡£");
+                               msg_print("¥Ð¡¼¥¸¥ç¥ó 2.0.* ÍѤΥ»¡¼¥Ö¥Õ¥¡¥¤¥ë¤òÊÑ´¹¤·¤Þ¤·¤¿¡£");
 #else
                                msg_print("Converted a 2.0.* savefile.");
 #endif
@@ -2079,7 +2089,7 @@ msg_print("
                        {
                                /* Message */
 #ifdef JP
-msg_format("¥Ð¡¼¥¸¥ç¥ó %d.%d.%d ÍѤΥ»¡¼¥Ö¡¦¥Õ¥¡¥¤¥ë¤òÊÑ´¹¤·¤Þ¤·¤¿¡£",
+                               msg_format("¥Ð¡¼¥¸¥ç¥ó %d.%d.%d ÍѤΥ»¡¼¥Ö¡¦¥Õ¥¡¥¤¥ë¤òÊÑ´¹¤·¤Þ¤·¤¿¡£",
 #else
                                msg_format("Converted a %d.%d.%d savefile.",
 #endif
@@ -2152,7 +2162,7 @@ msg_format("
 
        /* Message */
 #ifdef JP
-msg_format("¥¨¥é¡¼(%s)¤¬¥Ð¡¼¥¸¥ç¥ó%d.%d.%d ÍÑ¥»¡¼¥Ö¥Õ¥¡¥¤¥ëÆɤ߹þÃæ¤ËȯÀ¸¡£",
+       msg_format("¥¨¥é¡¼(%s)¤¬¥Ð¡¼¥¸¥ç¥ó%d.%d.%d ÍÑ¥»¡¼¥Ö¥Õ¥¡¥¤¥ëÆɤ߹þÃæ¤ËȯÀ¸¡£",
 #else
        msg_format("Error (%s) reading %d.%d.%d savefile.",
 #endif
index 8d56347..967da08 100644 (file)
@@ -1750,6 +1750,12 @@ msg_format("%^s
 #endif
 
                                msg_format("%^s %s", m_name, line_got);
+
+                       if (m_ptr->r_idx == MON_SERPENT)
+                       {
+                               /* Make screen dump */
+                               screen_dump = make_screen_dump();
+                       }
                }
 
                if (!(d_info[dungeon_type].flags1 & DF1_BEGINNER))