#include "angband.h"
#include "generate.h"
#include "trap.h"
+#include "mutation.h"
+#include "quest.h"
+#include "store.h"
+#include "artifact.h"
+#include "avatar.h"
/*
* @details
* Avoid the top two lines, to avoid interference with "msg_print()".
*/
-static void note(cptr msg)
+static void note(concptr msg)
{
static TERM_LEN y = 2;
}
rd_s16b(&m_ptr->mtimed[MTIMED_CSLEEP]);
- rd_byte(&m_ptr->mspeed);
+
+ rd_byte(&tmp8u);
+ m_ptr->mspeed = tmp8u;
+
if (z_older_than(10, 4, 2))
{
rd_byte(&tmp8u);
if (flags & SAVE_MON_CSLEEP) rd_s16b(&m_ptr->mtimed[MTIMED_CSLEEP]);
else m_ptr->mtimed[MTIMED_CSLEEP] = 0;
- rd_byte(&m_ptr->mspeed);
+ rd_byte(&tmp8u);
+ m_ptr->mspeed = tmp8u;
rd_s16b(&m_ptr->energy_need);
{
object_type forge;
object_type *q_ptr;
-
- /* Get local object */
q_ptr = &forge;
-
- /* Wipe the object */
object_wipe(q_ptr);
/* Read the item */
static void rd_options(void)
{
int i, n;
-
byte b;
-
u16b c;
BIT_FLAGS flag[8];
BIT_FLAGS mask[8];
-
- /*** Oops ***/
-
/* Ignore old options */
strip_bytes(16);
-
/*** Special info */
/* Read "delay_factor" */
mana_warn = b;
}
-
/*** Cheating options ***/
rd_u16b(&c);
}
rd_byte(&previous_char.psex);
- rd_byte(&previous_char.prace);
- rd_byte(&previous_char.pclass);
- rd_byte(&previous_char.pseikaku);
+ rd_byte(&tmp8u);
+ previous_char.prace = (RACE_IDX)tmp8u;
+ rd_byte(&tmp8u);
+ previous_char.pclass = (CLASS_IDX)tmp8u;
+ rd_byte(&tmp8u);
+ previous_char.pseikaku = (CHARACTER_IDX)tmp8u;
rd_byte(&tmp8u);
previous_char.realm1 = (REALM_IDX)tmp8u;
rd_byte(&tmp8u);
rd_s16b(&previous_char.sc);
rd_s32b(&previous_char.au);
- for (i = 0; i < 6; i++) rd_s16b(&previous_char.stat_max[i]);
- for (i = 0; i < 6; i++) rd_s16b(&previous_char.stat_max_max[i]);
+ for (i = 0; i < A_MAX; i++) rd_s16b(&previous_char.stat_max[i]);
+ for (i = 0; i < A_MAX; i++) rd_s16b(&previous_char.stat_max_max[i]);
for (i = 0; i < PY_MAX_LEVEL; i++)
{
}
/* Class/Race/Seikaku/Gender/Spells */
- rd_byte(&p_ptr->prace);
- rd_byte(&p_ptr->pclass);
- rd_byte(&p_ptr->pseikaku);
+ rd_byte(&tmp8u);
+ p_ptr->prace = (RACE_IDX)tmp8u;
+ rd_byte(&tmp8u);
+ p_ptr->pclass = (CLASS_IDX)tmp8u;
+ rd_byte(&tmp8u);
+ p_ptr->pseikaku = (CHARACTER_IDX)tmp8u;
rd_byte(&p_ptr->psex);
rd_byte(&tmp8u);
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))
{
rd_s16b(&p_ptr->wt);
/* Read the stat info */
- for (i = 0; i < 6; i++) rd_s16b(&p_ptr->stat_max[i]);
- 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]);
-
+ for (i = 0; i < A_MAX; i++) rd_s16b(&p_ptr->stat_max[i]);
+ for (i = 0; i < A_MAX; i++) rd_s16b(&p_ptr->stat_max_max[i]);
+ for (i = 0; i < A_MAX; i++) rd_s16b(&p_ptr->stat_cur[i]);
+ strip_bytes(24);
rd_s32b(&p_ptr->au);
rd_s32b(&p_ptr->max_exp);
}
else
{
- rd_byte(&p_ptr->start_race);
+ rd_byte(&tmp8u);
+ p_ptr->start_race = (RACE_IDX)tmp8u;
rd_s32b(&tmp32s);
p_ptr->old_race1 = (BIT_FLAGS)tmp32s;
rd_s32b(&tmp32s);
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))
{
/* Nope, we reached the end */
if (n == 0xFFFF) break;
-
- /* Get local object */
q_ptr = &forge;
-
- /* Wipe the object */
object_wipe(q_ptr);
/* Read the item */
/* Wield equipment */
if (n >= INVEN_RARM)
{
- /* Player touches it */
q_ptr->marked |= OM_TOUCHED;
-
- /* Copy object */
object_copy(&inventory[n], q_ptr);
/* Add the weight */
/* Get a slot */
n = slot++;
- /* Player touches it */
q_ptr->marked |= OM_TOUCHED;
-
- /* Copy object */
object_copy(&inventory[n], q_ptr);
/* Add the weight */
/* Check for errors */
if (ferror(fff)) err = -1;
-
- /* Close the file */
my_fclose(fff);
-
- /* Result */
return (err);
}
/* Check for errors */
if (ferror(fff)) ok = FALSE;
-
- /* Close the file */
my_fclose(fff);
/* Grab permissions */
/* Restore old knowledge */
kanji_code = old_kanji_code;
-
- /* Result */
return ok;
}