OSDN Git Service
(root)
/
hengband
/
hengband.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
#37449 (2.2.0.75) ゲームメッセージのログ拡張に伴って発生したセーブデータのトラブルを修正。 / Fix trouble of savedata...
[hengband/hengband.git]
/
src
/
load.c
diff --git
a/src/load.c
b/src/load.c
index
65e58dd
..
11db047
100644
(file)
--- a/
src/load.c
+++ b/
src/load.c
@@
-1182,8
+1182,8
@@
static void rd_lore(int r_idx)
r_ptr->r_flags2 &= r_ptr->flags2;
r_ptr->r_flags3 &= r_ptr->flags3;
r_ptr->r_flags4 &= r_ptr->flags4;
r_ptr->r_flags2 &= r_ptr->flags2;
r_ptr->r_flags3 &= r_ptr->flags3;
r_ptr->r_flags4 &= r_ptr->flags4;
- r_ptr->r_flags5 &= r_ptr->
flags5
;
- r_ptr->r_flags6 &= r_ptr->
flags6
;
+ r_ptr->r_flags5 &= r_ptr->
a_ability_flags1
;
+ r_ptr->r_flags6 &= r_ptr->
a_ability_flags2
;
r_ptr->r_flagsr &= r_ptr->flagsr;
}
r_ptr->r_flagsr &= r_ptr->flagsr;
}
@@
-1436,6
+1436,7
@@
static void rd_options(void)
cheat_know = (c & 0x1000) ? TRUE : FALSE;
cheat_live = (c & 0x2000) ? TRUE : FALSE;
cheat_save = (c & 0x4000) ? TRUE : FALSE;
cheat_know = (c & 0x1000) ? TRUE : FALSE;
cheat_live = (c & 0x2000) ? TRUE : FALSE;
cheat_save = (c & 0x4000) ? TRUE : FALSE;
+ cheat_diary_output = (c & 0x8000) ? TRUE : FALSE;
rd_byte((byte *)&autosave_l);
rd_byte((byte *)&autosave_t);
rd_byte((byte *)&autosave_l);
rd_byte((byte *)&autosave_t);
@@
-1623,7
+1624,7
@@
static void rd_extra(void)
s16b tmp16s;
u16b tmp16u;
s16b tmp16s;
u16b tmp16u;
- rd_string(p
layer_name, sizeof(player_
name));
+ rd_string(p
_ptr->name, sizeof(p_ptr->
name));
rd_string(p_ptr->died_from, sizeof(p_ptr->died_from));
rd_string(p_ptr->died_from, sizeof(p_ptr->died_from));
@@
-1704,7
+1705,7
@@
static void rd_extra(void)
for (i = 0; i < 5; i++) for (j = 0; j < 60; j++) rd_s16b(&p_ptr->weapon_exp[i][j]);
else
for (i = 0; i < 5; i++) for (j = 0; j < 64; j++) rd_s16b(&p_ptr->weapon_exp[i][j]);
for (i = 0; i < 5; i++) for (j = 0; j < 60; j++) rd_s16b(&p_ptr->weapon_exp[i][j]);
else
for (i = 0; i < 5; i++) for (j = 0; j < 64; j++) rd_s16b(&p_ptr->weapon_exp[i][j]);
- for (i = 0; i <
10
; i++) rd_s16b(&p_ptr->skill_exp[i]);
+ for (i = 0; i <
GINOU_MAX
; i++) rd_s16b(&p_ptr->skill_exp[i]);
if (z_older_than(10, 4, 1))
{
if (p_ptr->pclass != CLASS_BEASTMASTER) p_ptr->skill_exp[GINOU_RIDING] /= 2;
if (z_older_than(10, 4, 1))
{
if (p_ptr->pclass != CLASS_BEASTMASTER) p_ptr->skill_exp[GINOU_RIDING] /= 2;
@@
-1749,7
+1750,7
@@
static void rd_extra(void)
if (z_older_than(10, 0, 1))
{
if (z_older_than(10, 0, 1))
{
- for (i = 0; i <
OLD_
MAX_MANE; i++)
+ for (i = 0; i < MAX_MANE; i++)
{
p_ptr->mane_spell[i] = -1;
p_ptr->mane_dam[i] = 0;
{
p_ptr->mane_spell[i] = -1;
p_ptr->mane_dam[i] = 0;
@@
-2368,20
+2369,40
@@
static void rd_messages(void)
int i;
char buf[128];
int i;
char buf[128];
- s16b num;
- /* Total */
- rd_s16b(&num);
+ if (h_older_than(2, 2, 0, 75))
+ {
+ s16b num;
+ /* Total */
+ rd_s16b(&num);
+
+ /* Read the messages */
+ for (i = 0; i < num; i++)
+ {
+ /* Read the message */
+ rd_string(buf, sizeof(buf));
- /* Read the messages */
- for (i = 0; i < num; i++)
+ /* Save the message */
+ message_add(buf);
+ }
+ }
+ else
{
{
- /* Read the message */
- rd_string(buf, sizeof(buf));
+ u32b num;
+ /* Total */
+ rd_u32b(&num);
- /* Save the message */
- message_add(buf);
+ /* Read the messages */
+ for (i = 0; i < num; i++)
+ {
+ /* Read the message */
+ rd_string(buf, sizeof(buf));
+
+ /* Save the message */
+ message_add(buf);
+ }
}
}
+
}
}
@@
-3384,7
+3405,6
@@
static errr rd_savefile_new_aux(void)
/* Read the object memory */
for (i = 0; i < tmp16u; i++)
{
/* Read the object memory */
for (i = 0; i < tmp16u; i++)
{
- byte tmp8u;
object_kind *k_ptr = &k_info[i];
rd_byte(&tmp8u);
object_kind *k_ptr = &k_info[i];
rd_byte(&tmp8u);