* @param x2 2点目のx座標
* @return 2点間の距離
*/
-int distance (int y1, int x1, int y2, int x2)
+POSITION distance (POSITION y1, POSITION x1, POSITION y2, POSITION x2)
{
- int dy = (y1 > y2) ? (y1 - y2) : (y2 - y1);
- int dx = (x1 > x2) ? (x1 - x2) : (x2 - x1);
+ POSITION dy = (y1 > y2) ? (y1 - y2) : (y2 - y1);
+ POSITION dx = (x1 > x2) ? (x1 - x2) : (x2 - x1);
/* Squared distance */
- int target = (dy * dy) + (dx * dx);
+ POSITION target = (dy * dy) + (dx * dx);
/* Approximate distance: hypot(dy,dx) = max(dy,dx) + min(dy,dx) / 2 */
- int d = (dy > dx) ? (dy + (dx>>1)) : (dx + (dy>>1));
+ POSITION d = (dy > dx) ? (dy + (dx>>1)) : (dx + (dy>>1));
- int err;
+ POSITION err;
/* Simple case */
if (!dy || !dx) return d;
* @param feat 地形情報のID
* @return 罠持ちの地形ならばTRUEを返す。
*/
-bool is_trap(int feat)
+bool is_trap(IDX feat)
{
return have_flag(f_info[feat].flags, FF_TRAP);
}
* @param feat 地形情報のID
* @return 閉じたドアのある地形ならばTRUEを返す。
*/
-bool is_closed_door(int feat)
+bool is_closed_door(IDX feat)
{
feature_type *f_ptr = &f_info[feat];
static void do_cmd_knowledge_monsters(bool *need_redraw, bool visual_only, int direct_r_idx)
{
int i, len, max;
- int grp_cur, grp_top, old_grp_cur;
- int mon_cur, mon_top;
- int grp_cnt, grp_idx[100];
- int mon_cnt;
- s16b *mon_idx;
+ IDX grp_cur, grp_top, old_grp_cur;
+ IDX mon_cur, mon_top;
+ IDX grp_cnt, grp_idx[100];
+ IDX mon_cnt;
+ IDX *mon_idx;
int column = 0;
bool flag;
byte attr_top = 0, char_left = 0;
int browser_rows;
- int wid, hgt;
+ POSITION wid, hgt;
byte mode;
static void do_cmd_knowledge_objects(bool *need_redraw, bool visual_only, IDX direct_k_idx)
{
int i, len, max;
- int grp_cur, grp_top, old_grp_cur;
+ IDX grp_cur, grp_top, old_grp_cur;
IDX object_old, object_cur, object_top;
int grp_cnt, grp_idx[100];
int object_cnt;
}
/* Print the quest info */
-#ifdef JP
- sprintf(tmp_str, " %s (危険度:%d階相当)%s\n",
- quest[i].name, quest[i].level, note);
-#else
- sprintf(tmp_str, " %s (Danger level: %d)%s\n",
- quest[i].name, quest[i].level, note);
-#endif
+ sprintf(tmp_str, _(" %s (危険度:%d階相当)%s\n", " %s (Danger level: %d)%s\n"),
+ quest[i].name, (int)quest[i].level, note);
fputs(tmp_str, fff);
if (request_list || use_menu)
{
byte y, x = 0;
- int ctr, chance;
+ OBJECT_SUBTYPE_VALUE ctr;
+ int chance;
IDX k_idx;
char dummy[80];
POSITION x1, y1;
sprintf(ppp, _("テレポート先:(%d-%d)", "Teleport to level (%d-%d): "), min_level, max_level);
/* Default */
- sprintf(tmp_val, "%d", (DEPTH)dun_level);
+ sprintf(tmp_val, "%d", (int)dun_level);
/* Ask for a level */
if (!get_string(ppp, tmp_val, 10)) return;
{
/* Determine how many rods are charging. */
TIME_EFFECT temp = (o_ptr->timeout + (k_ptr->pval - 1)) / k_ptr->pval;
- if (temp > o_ptr->number) temp = o_ptr->number;
+ if (temp > o_ptr->number) temp = (TIME_EFFECT)o_ptr->number;
/* Decrease timeout by that number. */
o_ptr->timeout -= temp;
do
{
- new_race = randint0(MAX_RACES);
+ new_race = (CHARACTER_IDX)randint0(MAX_RACES);
}
while ((new_race == p_ptr->prace) || (new_race == RACE_ANDROID));
extern void dump_yourself(FILE *fff);
/* cave.c */
-extern int distance(int y1, int x1, int y2, int x2);
-extern bool is_trap(int feat);
+extern POSITION distance(POSITION y1, POSITION x1, POSITION y2, POSITION x2);
+extern bool is_trap(IDX feat);
extern bool is_known_trap(cave_type *c_ptr);
-extern bool is_closed_door(int feat);
+extern bool is_closed_door(IDX feat);
extern bool is_hidden_door(cave_type *c_ptr);
extern bool los(int y1, int x1, int y2, int x2);
extern void update_local_illumination(int y, int x);
typedef s16b PLAYER_LEVEL; /*!< ゲーム中のプレイヤーレベルの型を定義 */
typedef int DIRECTION; /*!< ゲーム中の方角の型定義 */
+typedef s32b EXP; /*!< ゲーム中の主経験値の型定義 */
typedef s16b SUB_EXP; /*!< ゲーム中の副経験値の型定義 */
typedef byte OBJECT_TYPE_VALUE; /*!< ゲーム中のアイテム主分類の型定義 */
/* Save the values */
e_ptr->level = level;
- e_ptr->rarity = rarity;
+ e_ptr->rarity = (RARITY)rarity;
/* e_ptr->weight = wgt; */
e_ptr->cost = cost;
}
int object; /* Object */
int ego; /* Ego-Item */
int artifact; /* Artifact */
- int trap; /* Trap */
+ IDX trap; /* Trap */
int cave_info; /* Flags for CAVE_MARK, CAVE_GLOW, CAVE_ICKY, CAVE_ROOM */
int special; /* Reserved for special terrain info */
int random; /* Number of the random effect */
{
if (a_info[artifact_index].cur_num)
{
- int k_idx = lookup_kind(TV_SCROLL, SV_SCROLL_ACQUIREMENT);
+ IDX k_idx = lookup_kind(TV_SCROLL, SV_SCROLL_ACQUIREMENT);
object_type forge;
object_type *q_ptr = &forge;
q_ptr->cur_num = atoi(zz[4]);
q_ptr->max_num = atoi(zz[5]);
q_ptr->level = atoi(zz[6]);
- q_ptr->r_idx = atoi(zz[7]);
- q_ptr->k_idx = atoi(zz[8]);
+ q_ptr->r_idx = (IDX)atoi(zz[7]);
+ q_ptr->k_idx = (IDX)atoi(zz[8]);
q_ptr->dungeon = atoi(zz[9]);
if (num > 10)
for (idx = 2; idx < num; idx++)
{
- int a_idx = atoi(zz[idx]);
+ IDX a_idx = (IDX)atoi(zz[idx]);
if (a_idx < 1) continue;
if (a_info[a_idx].cur_num > 0) continue;
count++;
s16b type; /*!< クエストの種別 / The quest type */
char name[60]; /*!< クエスト名 / Quest name */
- s16b level; /*!< 処理階層 / Dungeon level */
- s16b r_idx; /*!< クエスト対象のモンスターID / Monster race */
-
+ DEPTH level; /*!< 処理階層 / Dungeon level */
+ IDX r_idx; /*!< クエスト対象のモンスターID / Monster race */
+
s16b cur_num; /*!< 撃破したモンスターの数 / Number killed */
s16b max_num; /*!< 求められるモンスターの撃破数 / Number required */
PRICE au; /* Current Gold */
- s32b max_max_exp; /* Max max experience (only to calculate score) */
- s32b max_exp; /* Max experience */
- s32b exp; /* Cur experience */
- u32b exp_frac; /* Cur exp frac (times 2^16) */
+ EXP max_max_exp; /* Max max experience (only to calculate score) */
+ EXP max_exp; /* Max experience */
+ EXP exp; /* Cur experience */
+ EXP exp_frac; /* Cur exp frac (times 2^16) */
PLAYER_LEVEL lev; /* Level */
* @param k ベースアイテムID
* @return なし
*/
-static void kind_info(char *buf, char *dam, char *wgt, char *chance, int *lev, s32b *val, int k)
+static void kind_info(char *buf, char *dam, char *wgt, char *chance, DEPTH *lev, s32b *val, IDX k)
{
object_type forge;
object_type *q_ptr;
*/
static void spoil_artifact(cptr fname)
{
- int i, j;
+ int i;
+ IDX j;
object_type forge;
object_type *q_ptr;