case ACT_CAST_BA_STAR:
{
- int num = damroll(5, 3);
- int y = 0, x = 0;
+ HIT_POINT num = damroll(5, 3);
+ POSITION y = 0, x = 0;
int attempts;
msg_format(_("%sが稲妻で覆われた...","The %s is surrounded by lightning..."), name);
for (k = 0; k < num; k++)
{
object_type forge;
object_type *q_ptr;
- int i;
+ IDX i;
artifact_type *a_ptr = &a_info[a_idx];
extern bool msg_flag;
extern s16b running;
extern s16b resting;
-extern s16b cur_hgt;
-extern s16b cur_wid;
-extern s16b dun_level;
+extern POSITION cur_hgt;
+extern POSITION cur_wid;
+extern DEPTH dun_level;
extern s16b num_repro;
-extern s16b object_level;
-extern s16b monster_level;
-extern s16b base_level;
+extern DEPTH object_level;
+extern DEPTH monster_level;
+extern DEPTH base_level;
extern s32b turn;
extern s32b turn_limit;
extern s32b dungeon_turn;
typedef u32b STR_OFFSET; /*!< テキストオフセットの型定義 */
-typedef byte DEPTH; /*!< ゲーム中の階層レベルの型定義 */
+typedef s32b DEPTH; /*!< ゲーム中の階層レベルの型定義 */
typedef byte RARITY; /*!< ゲーム中の希少度の型定義 */
/*** Basic info ***/
/* Header info */
- rd_s16b(&dun_level);
+ rd_s16b(&tmp16s);
+ dun_level = (DEPTH)tmp16s;
if (z_older_than(10, 3, 8)) dungeon_type = DUNGEON_ANGBAND;
else rd_byte(&dungeon_type);
/* Set the base level for old versions */
base_level = dun_level;
- rd_s16b(&base_level);
+ rd_s16b(&tmp16s);
+ base_level = (DEPTH)tmp16s;
rd_s16b(&num_repro);
rd_s16b(&tmp16s);
rd_s16b(&tmp16s);
p_ptr->x = (int)tmp16s;
if (z_older_than(10, 3, 13) && !dun_level && !p_ptr->inside_arena) {p_ptr->y = 33;p_ptr->x = 131;}
- rd_s16b(&cur_hgt);
- rd_s16b(&cur_wid);
+ rd_s16b(&tmp16s);
+ cur_hgt = (POSITION)tmp16s;
+ rd_s16b(&tmp16s);
+ cur_wid = (POSITION)tmp16s;
rd_s16b(&tmp16s); /* max_panel_rows */
rd_s16b(&tmp16s); /* max_panel_cols */
{
/*** Not a saved floor ***/
- rd_s16b(&dun_level);
+ rd_s16b(&tmp16s);
+ dun_level = (DEPTH)tmp16s;
base_level = dun_level;
}
else
if (tmp16s != sf_ptr->lower_floor_id) return 171;
}
- rd_s16b(&base_level);
+ rd_s16b(&tmp16s);
+ base_level = (DEPTH)tmp16s;
rd_s16b(&num_repro);
rd_u16b(&tmp16u);
rd_u16b(&tmp16u);
p_ptr->x = (int)tmp16u;
- rd_s16b(&cur_hgt);
- rd_s16b(&cur_wid);
+ rd_s16b(&tmp16s);
+ cur_hgt = (POSITION)tmp16s;
+ rd_s16b(&tmp16s);
+ cur_wid = (POSITION)tmp16s;
rd_byte(&p_ptr->feeling);
\r
/* Function prototype */\r
\r
-static bool is_already_running();\r
+static bool is_already_running(void);\r
\r
\r
/* bg */\r
*\n
* A "direction" of "5" means "pick a random direction".\n
*/
-static void process_monster(int m_idx)
+static void process_monster(IDX m_idx)
{
monster_type *m_ptr = &m_list[m_idx];
monster_race *r_ptr = &r_info[m_ptr->r_idx];
{
/*** Not a saved floor ***/
- wr_s16b(dun_level);
+ wr_s16b((s16b)dun_level);
}
else
{
wr_s16b(sf_ptr->lower_floor_id);
}
- wr_u16b(base_level);
+ wr_u16b((u16b)base_level);
wr_u16b(num_repro);
wr_u16b((u16b)p_ptr->y);
wr_u16b((u16b)p_ptr->x);
- wr_u16b(cur_hgt);
- wr_u16b(cur_wid);
+ wr_u16b((u16b)cur_hgt);
+ wr_u16b((u16b)cur_wid);
wr_byte(p_ptr->feeling);
s16b running; /* Current counter for running, if any */
s16b resting; /* Current counter for resting, if any */
-s16b cur_hgt; /* Current dungeon height */
-s16b cur_wid; /* Current dungeon width */
-s16b dun_level; /* Current dungeon level */
+POSITION cur_hgt; /* Current dungeon height */
+POSITION cur_wid; /* Current dungeon width */
+DEPTH dun_level; /* Current dungeon level */
s16b num_repro; /* Current reproducer count */
-s16b object_level; /* Current object creation level */
-s16b monster_level; /* Current monster creation level */
-s16b base_level; /* Base dungeon level */
+DEPTH object_level; /* Current object creation level */
+DEPTH monster_level; /* Current monster creation level */
+DEPTH base_level; /* Base dungeon level */
s32b turn; /*!< 画面表示上のゲーム時間基準となるターン / Current game turn */
s32b turn_limit; /*!< turnの最大値 / Limit of game turn */