OSDN Git Service

#38768 [Fix] Oopsもろとも置換で消してしまった重要処理を差し戻し。
authorDeskull <deskull@users.sourceforge.jp>
Sun, 25 Nov 2018 13:05:10 +0000 (22:05 +0900)
committerDeskull <deskull@users.sourceforge.jp>
Sun, 25 Nov 2018 13:06:32 +0000 (22:06 +0900)
/ Remand important processes erasing with nasty "/* Oops */".

src/load.c
src/monster2.c
src/save.c

index 11bb61e..061f285 100644 (file)
@@ -1750,6 +1750,7 @@ static void rd_extra(void)
        p_ptr->realm1 = (REALM_IDX)tmp8u;
        rd_byte(&tmp8u);
        p_ptr->realm2 = (REALM_IDX)tmp8u;
+       rd_byte(&tmp8u);
 
        if (z_older_than(10, 4, 4))
        {
@@ -1774,7 +1775,7 @@ static void rd_extra(void)
        for (i = 0; i < 6; i++) rd_s16b(&p_ptr->stat_max_max[i]);
        for (i = 0; i < 6; i++) rd_s16b(&p_ptr->stat_cur[i]);
 
-
+       strip_bytes(24);
        rd_s32b(&p_ptr->au);
 
        rd_s32b(&p_ptr->max_exp);
@@ -2207,6 +2208,7 @@ static void rd_extra(void)
        p_ptr->autopick_autoregister = tmp8u ? TRUE : FALSE;
 
        rd_byte(&tmp8u);
+       rd_byte(&tmp8u);
        p_ptr->action = (ACTION_IDX)tmp8u;
        if (!z_older_than(10, 4, 3))
        {
index faa095b..f60cf8f 100644 (file)
@@ -1976,6 +1976,7 @@ void sanity_blast(monster_type *m_ptr, bool necro)
                        return; /* Cannot see it for some reason */
 
                if (!(r_ptr->flags2 & RF2_ELDRITCH_HORROR))
+                       return;
 
                if (is_pet(m_ptr))
                        return; /* Pet eldritch horrors are safe most of the time */
index f5b87bf..c9de5f7 100644 (file)
@@ -627,6 +627,7 @@ static void wr_extra(void)
        wr_byte(p_ptr->psex);
        wr_byte((byte_hack)p_ptr->realm1);
        wr_byte((byte_hack)p_ptr->realm2);
+       wr_byte(0);
 
        wr_byte((byte)p_ptr->hitdie);
        wr_u16b(p_ptr->expfact);
@@ -712,6 +713,10 @@ static void wr_extra(void)
                wr_s16b((s16b)max_dlv[i]);
 
        /* More info */
+       wr_s16b(0);
+       wr_s16b(0);
+       wr_s16b(0);
+       wr_s16b(0);
        wr_s16b(p_ptr->sc);
        wr_s16b(p_ptr->concent);
 
@@ -790,6 +795,7 @@ static void wr_extra(void)
        wr_u32b(p_ptr->special_defense);
        wr_byte(p_ptr->knowledge);
        wr_byte(p_ptr->autopick_autoregister);
+       wr_byte(0);
        wr_byte((byte_hack)p_ptr->action);
        wr_byte(0);
        wr_byte(preserve_mode);
@@ -799,6 +805,9 @@ static void wr_extra(void)
        for (i = 0; i < 12; i++) wr_u32b(0L);
 
        /* Ignore some flags */
+       wr_u32b(0L);
+       wr_u32b(0L);
+       wr_u32b(0L);
 
 
        /* Write the "object seeds" */