* the existing "number of turns to protect for", and where each hit
* by a monster will reduce the shield by that amount.
*
- * XXX XXX XXX
+ *
*/
#include "angband.h"
+#include "generate.h"
+#include "trap.h"
/*
*/
static void note(cptr msg)
{
- static int y = 2;
+ static TERM_LEN y = 2;
/* Draw the message */
prt(msg, y, 0);
/* Kind */
rd_s16b(&o_ptr->k_idx);
- /* Location */
rd_byte(&tmp8u);
o_ptr->iy = (POSITION)tmp8u;
rd_byte(&tmp8u);
static void rd_item(object_type *o_ptr)
{
object_kind *k_ptr;
- u32b flags;
+ BIT_FLAGS flags;
char buf[128];
byte_hack tmp8u;
s16b tmp16s;
/* Kind */
rd_s16b(&o_ptr->k_idx);
- /* Location */
rd_byte(&tmp8u);
o_ptr->iy = (POSITION)tmp8u;
rd_byte(&tmp8u);
if(h_older_than(2,1,2,4))
{
- u32b flgs[TR_FLAG_SIZE];
+ BIT_FLAGS flgs[TR_FLAG_SIZE];
object_flags(o_ptr, flgs);
if ((o_ptr->name2 == EGO_DARK) || (o_ptr->name2 == EGO_ANCIENT_CURSE) || (o_ptr->name1 == ART_NIGHT))
}
else
{
- rd_u32b(&m_ptr->dealt_damage);
+ rd_s32b(&m_ptr->dealt_damage);
}
rd_s16b(&m_ptr->mtimed[MTIMED_CSLEEP]);
else
m_ptr->smart = 0;
- if (z_older_than(10, 4, 5))
+ if (z_older_than(10, 4, 5)) {
m_ptr->exp = 0;
- else
- tmp32u = 0;
+ } else {
rd_u32b(&tmp32u);
m_ptr->exp = tmp32u;
+ }
if (z_older_than(10, 2, 2))
{
*/
static void rd_monster(monster_type *m_ptr)
{
- u32b flags;
+ BIT_FLAGS flags;
char buf[128];
byte tmp8u;
s16b tmp16s;
}
else
{
- rd_u32b(&m_ptr->dealt_damage);
+ rd_s32b(&m_ptr->dealt_damage);
}
/* Monster race index of its appearance */
{
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;
- u32b flag[8];
- u32b mask[8];
-
-
- /*** Oops ***/
+ BIT_FLAGS flag[8];
+ BIT_FLAGS mask[8];
/* Ignore old options */
strip_bytes(16);
-
/*** Special info */
/* Read "delay_factor" */
mana_warn = b;
}
-
/*** Cheating options ***/
rd_u16b(&c);
cheat_save = (c & 0x4000) ? TRUE : FALSE;
cheat_diary_output = (c & 0x8000) ? TRUE : FALSE;
cheat_turn = (c & 0x0080) ? TRUE : FALSE;
+ cheat_sight = (c & 0x0040) ? TRUE : FALSE;
rd_byte((byte *)&autosave_l);
rd_byte((byte *)&autosave_t);
* @brief ダミー情報スキップ / Hack -- strip the "ghost" info
* @return なし
* @details
- * XXX XXX XXX This is such a nasty hack it hurts.
+ * This is such a nasty hack it hurts.
*/
static void rd_ghost(void)
{
}
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);
}
/* 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); /* oops */
+ rd_byte(&tmp8u);
if (z_older_than(10, 4, 4))
{
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); /* oops */
-
+ 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);
}
}
- /* Repair maximum player level XXX XXX XXX */
+ /* Repair maximum player level */
if (p_ptr->max_plv < p_ptr->lev) p_ptr->max_plv = p_ptr->lev;
/* More info */
rd_byte(&tmp8u);
p_ptr->autopick_autoregister = tmp8u ? TRUE : FALSE;
- rd_byte(&tmp8u); /* oops */
+ 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 */
/* Warning -- backpack is full */
else if (inven_cnt == INVEN_PACK)
{
- /* Oops */
note(_("持ち物の中のアイテムが多すぎる!", "Too many items in the inventory!"));
/* Fail */
rd_s16b(&tmp16s);
base_level = (DEPTH)tmp16s;
- rd_s16b(&num_repro);
+ rd_s16b(&tmp16s);
+ num_repro = (MONSTER_NUMBER)tmp16s;
rd_s16b(&tmp16s);
p_ptr->y = (POSITION)tmp16s;
rd_s16b(&tmp16s);
/* Read the dungeon items */
for (i = 1; i < limit; i++)
{
- IDX o_idx;
+ OBJECT_IDX o_idx;
object_type *o_ptr;
/* Get a new record */
o_idx = o_pop();
- /* Oops */
if (i != o_idx)
{
note(format(_("アイテム配置エラー (%d <> %d)", "Object allocation error (%d <> %d)"), i, o_idx));
rd_item(o_ptr);
- /* XXX XXX XXX XXX XXX */
+ /* XXX XXX */
/* Monster */
if (o_ptr->held_m_idx)
/* Get a new record */
m_idx = m_pop();
- /* Oops */
if (i != m_idx)
{
note(format(_("モンスター配置エラー (%d <> %d)", "Monster allocation error (%d <> %d)"), i, m_idx));
rd_s16b(&tmp16s);
base_level = (DEPTH)tmp16s;
- rd_s16b(&num_repro);
+ rd_s16b(&tmp16s);
+ num_repro = (MONSTER_NUMBER)tmp16s;
rd_u16b(&tmp16u);
p_ptr->y = (POSITION)tmp16u;
cave_template_type *ct_ptr = &templates[i];
/* Read it */
- rd_u16b(&ct_ptr->info);
+ rd_u16b(&tmp16u);
+ ct_ptr->info = (BIT_FLAGS)tmp16u;
if (h_older_than(1, 7, 0, 2))
{
rd_byte(&tmp8u);
/* Read the dungeon items */
for (i = 1; i < limit; i++)
{
- IDX o_idx;
+ OBJECT_IDX o_idx;
object_type *o_ptr;
/* Get a new record */
o_idx = o_pop();
- /* Oops */
if (i != o_idx) return 152;
/* Acquire place */
/* Get a new record */
m_idx = m_pop();
- /* Oops */
if (i != m_idx) return 162;
saved_floor_type *sf_ptr = &saved_floors[i];
rd_s16b(&sf_ptr->floor_id);
- rd_byte(&sf_ptr->savefile_id);
+ rd_byte(&tmp8u);
+ sf_ptr->savefile_id = (s16b)tmp8u;
rd_s16b(&tmp16s);
sf_ptr->dun_level = (DEPTH)tmp16s;
}
/* Incompatible save files */
- if (max_quests_load > max_quests)
+ if (max_quests_load > max_q_idx)
{
note(format(_("クエストが多すぎる(%u)!", "Too many (%u) quests!"), max_quests_load));
return (23);
for (i = 0; i < max_quests_load; i++)
{
- if (i < max_quests)
+ if (i < max_q_idx)
{
quest_type* const q_ptr = &quest[i];
if (!z_older_than(11, 0, 9))
{
- char buf[SCREEN_BUF_SIZE];
+ char buf[SCREEN_BUF_MAX_SIZE];
rd_string(buf, sizeof(buf));
if (buf[0]) screen_dump = string_make(buf);
}
/* 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;
}