#include "cmd-pet.h"
#include "world.h"
#include "player-status.h"
+#include "sort.h"
+#include "mutation.h"
+#include "quest.h"
+#include "store.h"
+#include "artifact.h"
+#include "avatar.h"
+#include "object-hook.h"
/*
* Variables for auto dump
*/
static FILE *auto_dump_stream;
-static cptr auto_dump_mark;
+static concptr auto_dump_mark;
static int auto_dump_line_num;
* Remove old lines automatically generated before.
* @param orig_file 消去を行うファイル名
*/
-static void remove_auto_dump(cptr orig_file)
+static void remove_auto_dump(concptr orig_file)
{
FILE *tmp_fff, *orig_fff;
* Dump a formatted line, using "vstrnfmt()".
* @param fmt 出力内容
*/
-static void auto_dump_printf(cptr fmt, ...)
+static void auto_dump_printf(concptr fmt, ...)
{
- cptr p;
+ concptr p;
va_list vp;
char buf[1024];
* @param mark 出力するヘッダマーク
* @return ファイルポインタを取得できたらTRUEを返す
*/
-static bool open_auto_dump(cptr buf, cptr mark)
+static bool open_auto_dump(concptr buf, concptr mark)
{
char header_mark_str[80];
* @param num number
* @return pointer of suffix string.
*/
-cptr get_ordinal_number_suffix(int num)
+concptr get_ordinal_number_suffix(int num)
{
num = ABS(num) % 100;
switch (num % 10)
* @param note 日記内容のIDに応じた文字列参照ポインタ
* @return エラーID
*/
-errr do_cmd_write_nikki(int type, int num, cptr note)
+errr do_cmd_write_nikki(int type, int num, concptr note)
{
int day, hour, min;
FILE *fff = NULL;
GAME_TEXT file_name[MAX_NLEN];
char buf[1024];
- cptr note_level = "";
+ concptr note_level = "";
bool do_level = TRUE;
char note_level_buf[40];
QUEST_IDX q_idx;
type == NIKKI_RAND_QUEST_F ||
type == NIKKI_TO_QUEST)
{
- IDX old_quest;
+ QUEST_IDX old_quest;
old_quest = p_ptr->inside_quest;
p_ptr->inside_quest = (quest[num].type == QUEST_TYPE_RANDOM) ? 0 : num;
return (-1);
}
- q_idx = quest_number(dun_level);
+ q_idx = quest_number(current_floor_ptr->dun_level);
if (write_level)
{
if (p_ptr->inside_arena)
note_level = _("アリーナ:", "Arane:");
- else if (!dun_level)
+ else if (!current_floor_ptr->dun_level)
note_level = _("地上:", "Surface:");
else if (q_idx && (is_fixed_quest_idx(q_idx)
&& !((q_idx == QUEST_OBERON) || (q_idx == QUEST_SERPENT))))
else
{
#ifdef JP
- sprintf(note_level_buf, "%d階(%s):", (int)dun_level, d_name+d_info[dungeon_type].name);
+ sprintf(note_level_buf, "%d階(%s):", (int)current_floor_ptr->dun_level, d_name+d_info[p_ptr->dungeon_idx].name);
#else
- sprintf(note_level_buf, "%s L%d:", d_name+d_info[dungeon_type].name, (int)dun_level);
+ sprintf(note_level_buf, "%s L%d:", d_name+d_info[p_ptr->dungeon_idx].name, (int)current_floor_ptr->dun_level);
#endif
note_level = note_level_buf;
}
{
fprintf(fff, _(" %2d:%02d %20s %sの最深階%d階に到達した。\n",
" %2d:%02d %20s reached level %d of %s for the first time.\n"), hour, min, note_level,
- _(d_name+d_info[dungeon_type].name, num),
- _(num, d_name+d_info[dungeon_type].name));
+ _(d_name+d_info[p_ptr->dungeon_idx].name, num),
+ _(num, d_name+d_info[p_ptr->dungeon_idx].name));
break;
}
case NIKKI_TRUMP:
}
case NIKKI_STAIR:
{
- cptr to;
+ concptr to;
if (q_idx && (is_fixed_quest_idx(q_idx)
&& !((q_idx == QUEST_OBERON) || (q_idx == QUEST_SERPENT))))
{
}
else
{
- if (!(dun_level+num)) to = _("地上", "the surface");
- else to = format(_("%d階", "level %d"), dun_level+num);
+ if (!(current_floor_ptr->dun_level+num)) to = _("地上", "the surface");
+ else to = format(_("%d階", "level %d"), current_floor_ptr->dun_level+num);
}
fprintf(fff, _(" %2d:%02d %20s %sへ%s。\n", " %2d:%02d %20s %s %s.\n"), hour, min, note_level, _(to, note), _(note, to));
break;
{
if (!num)
fprintf(fff, _(" %2d:%02d %20s 帰還を使って%sの%d階へ下りた。\n", " %2d:%02d %20s recalled to dungeon level %d of %s.\n"),
- hour, min, note_level, _(d_name+d_info[dungeon_type].name, (int)max_dlv[dungeon_type]),
- _((int)max_dlv[dungeon_type], d_name+d_info[dungeon_type].name));
+ hour, min, note_level, _(d_name+d_info[p_ptr->dungeon_idx].name, (int)max_dlv[p_ptr->dungeon_idx]),
+ _((int)max_dlv[p_ptr->dungeon_idx], d_name+d_info[p_ptr->dungeon_idx].name));
else
fprintf(fff, _(" %2d:%02d %20s 帰還を使って地上へと戻った。\n", " %2d:%02d %20s recalled from dungeon to surface.\n"), hour, min, note_level);
break;
}
case NIKKI_WIZ_TELE:
{
- cptr to;
- if (!dun_level)
+ concptr to;
+ if (!current_floor_ptr->dun_level)
to = _("地上", "the surface");
else
- to = format(_("%d階(%s)", "level %d of %s"), dun_level, d_name+d_info[dungeon_type].name);
+ to = format(_("%d階(%s)", "level %d of %s"), current_floor_ptr->dun_level, d_name+d_info[p_ptr->dungeon_idx].name);
fprintf(fff, _(" %2d:%02d %20s %sへとウィザード・テレポートで移動した。\n",
" %2d:%02d %20s wizard-teleport to %s.\n"), hour, min, note_level, to);
}
case NIKKI_PAT_TELE:
{
- cptr to;
- if (!dun_level)
+ concptr to;
+ if (!current_floor_ptr->dun_level)
to = _("地上", "the surface");
else
- to = format(_("%d階(%s)", "level %d of %s"), dun_level, d_name+d_info[dungeon_type].name);
+ to = format(_("%d階(%s)", "level %d of %s"), current_floor_ptr->dun_level, d_name+d_info[p_ptr->dungeon_idx].name);
fprintf(fff, _(" %2d:%02d %20s %sへとパターンの力で移動した。\n",
" %2d:%02d %20s used Pattern to teleport to %s.\n"), hour, min, note_level, to);
else strcpy(tmp,subtitle[randint0(MAX_SUBTITLE-2)+1]);
#ifdef JP
- sprintf(nikki_title, "「%s%s%sの伝説 -%s-」",
- ap_ptr->title, ap_ptr->no ? "の" : "", p_ptr->name, tmp);
+ sprintf(nikki_title, "「%s%s%sの伝説 -%s-」", ap_ptr->title, ap_ptr->no ? "の" : "", p_ptr->name, tmp);
#else
- sprintf(nikki_title, "Legend of %s %s '%s'",
- ap_ptr->title, p_ptr->name, tmp);
+ sprintf(nikki_title, "Legend of %s %s '%s'", ap_ptr->title, p_ptr->name, tmp);
#endif
/* Display the file contents */
sprintf(buf,_("%sの入手を記録します。", "Do you really want to record getting %s? "),record_o_name);
if (!get_check(buf)) return;
- turn_tmp = turn;
- turn = record_turn;
+ turn_tmp = current_world_ptr->game_turn;
+ current_world_ptr->game_turn = record_turn;
sprintf(buf,_("%sを手に入れた。", "descover %s."), record_o_name);
do_cmd_write_nikki(NIKKI_BUNSHOU, 0, buf);
- turn = turn_tmp;
+ current_world_ptr->game_turn = turn_tmp;
}
/*!
void do_cmd_redraw(void)
{
int j;
-
term *old = Term;
/* Hack -- react to changes */
Term_xtra(TERM_XTRA_REACT, 0);
-
/* Combine and Reorder the pack (later) */
- p_ptr->notice |= (PN_COMBINE | PN_REORDER);
-
-
+ p_ptr->update |= (PU_COMBINE | PU_REORDER);
p_ptr->update |= (PU_TORCH);
p_ptr->update |= (PU_BONUS | PU_HP | PU_MANA | PU_SPELLS);
p_ptr->update |= (PU_UN_VIEW | PU_UN_LITE);
char shower_str[81];
char finder_str[81];
char back_str[81];
- cptr shower = NULL;
+ concptr shower = NULL;
int wid, hgt;
int num_lines;
/* Dump up to 20 lines of messages */
for (j = 0; (j < num_lines) && (i + j < n); j++)
{
- cptr msg = message_str(i+j);
+ concptr msg = message_str(i+j);
/* Dump the messages, bottom to top */
c_prt((i + j < num_now ? TERM_WHITE : TERM_SLATE), msg, num_lines + 1 - j, 0);
/* Hilite "shower" */
if (shower && shower[0])
{
- cptr str = msg;
+ concptr str = msg;
/* Display matches */
while ((str = my_strstr(str, shower)) != NULL)
/* Scan messages */
for (z = i + 1; z < n; z++)
{
- cptr msg = message_str(z);
+ concptr msg = message_str(z);
/* Search for it */
if (my_strstr(msg, finder_str))
* @param info 表示メッセージ
* @return なし
*/
-static void do_cmd_options_cheat(cptr info)
+static void do_cmd_options_cheat(concptr info)
{
char ch;
int i, k = 0, n = CHEAT_MAX;
* @param info 表示メッセージ
* @return なし
*/
-static void do_cmd_options_autosave(cptr info)
+static void do_cmd_options_autosave(concptr info)
{
char ch;
int i, k = 0, n = 2;
* @param info 表示メッセージ
* @return なし
*/
-void do_cmd_options_aux(int page, cptr info)
+void do_cmd_options_aux(int page, concptr info)
{
char ch;
int i, k = 0, n = 0, l;
{
byte a = TERM_WHITE;
- cptr s = angband_term_name[j];
+ concptr s = angband_term_name[j];
/* Use color */
if (j == x) a = TERM_L_BLUE;
{
byte a = TERM_WHITE;
- cptr str = window_flag_desc[i];
+ concptr str = window_flag_desc[i];
/* Use color */
if (i == y) a = TERM_L_BLUE;
static struct opts
{
char key;
- cptr name;
+ concptr name;
int row;
}
option_fields[OPT_NUM] =
* @param fname ファイル名
* @return なし
*/
-static errr macro_dump(cptr fname)
+static errr macro_dump(concptr fname)
{
- static cptr mark = "Macro Dump";
+ static concptr mark = "Macro Dump";
int i;
* @return エラーコード
* @details
*/
-static errr keymap_dump(cptr fname)
+static errr keymap_dump(concptr fname)
{
- static cptr mark = "Keymap Dump";
+ static concptr mark = "Keymap Dump";
int i;
char key[1024];
/* Dump them */
for (i = 0; i < 256; i++)
{
- cptr act;
+ concptr act;
/* Loop up the keymap */
act = keymap_act[mode][i];
/* Query a keymap */
else if (i == '7')
{
- cptr act;
+ concptr act;
/* Prompt */
prt(_("コマンド: キー配置の確認", "Command: Query a keymap"), 16, 0);
/*!
* @brief キャラクタ色の明暗表現
*/
-static cptr lighting_level_str[F_LIT_MAX] =
+static concptr lighting_level_str[F_LIT_MAX] =
{
#ifdef JP
"標準色",
* @param choice_msg 選択メッセージ
* @return なし
*/
-static void print_visuals_menu(cptr choice_msg)
+static void print_visuals_menu(concptr choice_msg)
{
prt(_("[ 画面表示の設定 ]", "Interact with Visuals"), 1, 0);
char tmp[160];
char buf[1024];
bool need_redraw = FALSE;
- cptr empty_symbol = "<< ? >>";
+ concptr empty_symbol = "<< ? >>";
if (use_bigtile) empty_symbol = "<< ?? >>";
/* Dump monster attr/chars */
case '1':
{
- static cptr mark = "Monster attr/chars";
+ static concptr mark = "Monster attr/chars";
/* Prompt */
prt(_("コマンド: モンスターの[色/文字]をファイルに書き出します", "Command: Dump monster attr/chars"), 15, 0);
/* Dump object attr/chars */
case '2':
{
- static cptr mark = "Object attr/chars";
+ static concptr mark = "Object attr/chars";
KIND_OBJECT_IDX k_idx;
/* Prompt */
/* Dump feature attr/chars */
case '3':
{
- static cptr mark = "Feature attr/chars";
+ static concptr mark = "Feature attr/chars";
/* Prompt */
prt(_("コマンド: 地形の[色/文字]をファイルに書き出します", "Command: Dump feature attr/chars"), 15, 0);
/* Modify monster attr/chars (numeric operation) */
case '4':
{
- static cptr choice_msg = _("モンスターの[色/文字]を変更します", "Change monster attr/chars");
- static IDX r = 0;
+ static concptr choice_msg = _("モンスターの[色/文字]を変更します", "Change monster attr/chars");
+ static MONRACE_IDX r = 0;
prt(format(_("コマンド: %s", "Command: %s"), choice_msg), 15, 0);
/* Modify object attr/chars (numeric operation) */
case '5':
{
- static cptr choice_msg = _("アイテムの[色/文字]を変更します", "Change object attr/chars");
+ static concptr choice_msg = _("アイテムの[色/文字]を変更します", "Change object attr/chars");
static IDX k = 0;
prt(format(_("コマンド: %s", "Command: %s"), choice_msg), 15, 0);
/* Modify feature attr/chars (numeric operation) */
case '6':
{
- static cptr choice_msg = _("地形の[色/文字]を変更します", "Change feature attr/chars");
+ static concptr choice_msg = _("地形の[色/文字]を変更します", "Change feature attr/chars");
static IDX f = 0;
static IDX lighting_level = F_LIT_STANDARD;
prt(format(_("コマンド: %s", "Command: %s"), choice_msg), 15, 0);
/* Dump colors */
else if (i == '2')
{
- static cptr mark = "Colors";
+ static concptr mark = "Colors";
/* Prompt */
prt(_("コマンド: カラーの設定をファイルに書き出します", "Command: Dump colors"), 8, 0);
int gv = angband_color_table[i][2];
int bv = angband_color_table[i][3];
- cptr name = _("未知", "unknown");
+ concptr name = _("未知", "unknown");
/* Skip non-entries */
if (!kv && !rv && !gv && !bv) continue;
/* Hack -- query until done */
while (1)
{
- cptr name;
+ concptr name;
byte j;
/* Clear */
*/
void do_cmd_version(void)
{
- /* Silly message */
-
#if FAKE_VER_EXTRA > 0
msg_format(_("変愚蛮怒(Hengband) %d.%d.%d.%d", "You are playing Hengband %d.%d.%d.%d."),
FAKE_VER_MAJOR-10, FAKE_VER_MINOR, FAKE_VER_PATCH, FAKE_VER_EXTRA);
/*
* Array of feeling strings
*/
-static cptr do_cmd_feeling_text[11] =
+static concptr do_cmd_feeling_text[11] =
{
_("この階の雰囲気を感じとれなかった...", "Looks like any other level."),
_("この階には何か特別なものがあるような気がする。", "You feel there is something special about this level."),
_("なんて退屈なところだ...", "What a boring place...")
};
-static cptr do_cmd_feeling_text_combat[11] =
+static concptr do_cmd_feeling_text_combat[11] =
{
_("この階の雰囲気を感じとれなかった...", "Looks like any other level."),
_("この階には何か特別なものがあるような気がする。", "You feel there is something special about this level."),
_("なんて退屈なところだ...", "What a boring place...")
};
-static cptr do_cmd_feeling_text_lucky[11] =
+static concptr do_cmd_feeling_text_lucky[11] =
{
_("この階の雰囲気を感じとれなかった...", "Looks like any other level."),
_("この階には何か特別なものがあるような気がする。", "You feel there is something special about this level."),
*/
void do_cmd_feeling(void)
{
+ if (p_ptr->wild_mode) return;
+
/* No useful feeling in quests */
- if (p_ptr->inside_quest && !random_quest_number(dun_level))
+ if (p_ptr->inside_quest && !random_quest_number(current_floor_ptr->dun_level))
{
msg_print(_("典型的なクエストのダンジョンのようだ。", "Looks like a typical quest level."));
return;
}
/* No useful feeling in town */
- else if (p_ptr->town_num && !dun_level)
+ else if (p_ptr->town_num && !current_floor_ptr->dun_level)
{
- if (!strcmp(town[p_ptr->town_num].name, _("荒野", "wilderness")))
+ if (!strcmp(town_info[p_ptr->town_num].name, _("荒野", "wilderness")))
{
msg_print(_("何かありそうな荒野のようだ。", "Looks like a strange wilderness."));
return;
}
/* No useful feeling in the wilderness */
- else if (!dun_level)
+ else if (!current_floor_ptr->dun_level)
{
msg_print(_("典型的な荒野のようだ。", "Looks like a typical wilderness."));
return;
/*
* Description of each monster group.
*/
-static cptr monster_group_text[] =
+static concptr monster_group_text[] =
{
#ifdef JP
"ユニーク", /* "Uniques" */
* Symbols of monsters in each group. Note the "Uniques" group
* is handled differently.
*/
-static cptr monster_group_char[] =
+static concptr monster_group_char[] =
{
(char *) -1L,
(char *) -2L,
int dummy_why;
/* Get a list of x_char in this group */
- cptr group_char = monster_group_char[grp_cur];
+ concptr group_char = monster_group_char[grp_cur];
/* XXX Hack -- Check if this is the "Uniques" group */
bool grp_unique = (monster_group_char[grp_cur] == (char *) -1L);
int j;
for (j = 0; j < MAX_KUBI; j++)
{
- if (kubi_r_idx[j] == i || kubi_r_idx[j] - 10000 == i ||
+ if (current_world_ptr->bounty_r_idx[j] == i || current_world_ptr->bounty_r_idx[j] - 10000 == i ||
(p_ptr->today_mon && p_ptr->today_mon == i))
{
wanted = TRUE;
/*
* Description of each monster group.
*/
-static cptr object_group_text[] =
+static concptr object_group_text[] =
{
#ifdef JP
"キノコ", /* "Mushrooms" */
* mode & 0x01 : check for non-empty group
* mode & 0x02 : visual operation only
*/
-static int collect_objects(int grp_cur, IDX object_idx[], BIT_FLAGS8 mode)
+static KIND_OBJECT_IDX collect_objects(int grp_cur, KIND_OBJECT_IDX object_idx[], BIT_FLAGS8 mode)
{
- IDX i;
- int j, k, object_cnt = 0;
+ KIND_OBJECT_IDX i, object_cnt = 0;
+ int j, k;
/* Get a list of x_char in this group */
byte group_tval = object_group_tval[grp_cur];
/*
* Description of each feature group.
*/
-static cptr feature_group_text[] =
+static concptr feature_group_text[] =
{
"terrains",
NULL
*
* mode & 0x01 : check for non-empty group
*/
-static int collect_features(int grp_cur, IDX *feat_idx, BIT_FLAGS8 mode)
+static FEAT_IDX collect_features(int grp_cur, FEAT_IDX *feat_idx, BIT_FLAGS8 mode)
{
- IDX i;
- int feat_cnt = 0;
+ FEAT_IDX i;
+ FEAT_IDX feat_cnt = 0;
/* Unused; There is a single group. */
(void)grp_cur;
*/
void do_cmd_load_screen(void)
{
- int i, y, x;
-
+ int i;
+ TERM_LEN y, x;
TERM_COLOR a = 0;
- char c = ' ';
-
+ SYMBOL_CODE c = ' ';
bool okay = TRUE;
-
FILE *fff;
-
char buf[1024];
-
- int wid, hgt;
+ TERM_LEN wid, hgt;
Term_get_size(&wid, &hgt);
}
}
-
/* Close it */
my_fclose(fff);
-
prt(_("ファイルに書き出された画面(記念撮影)をロードしました。", "Screen dump loaded."), 0, 0);
flush();
-cptr inven_res_label = _(" 酸電火冷毒光闇破轟獄因沌劣 盲怖乱痺透命感消復浮",
+concptr inven_res_label = _(" 酸電火冷毒光闇破轟獄因沌劣 盲怖乱痺透命感消復浮",
" AcElFiCoPoLiDkShSoNtNxCaDi BlFeCfFaSeHlEpSdRgLv");
static void do_cmd_knowledge_inven(void)
{
FILE *fff;
-
GAME_TEXT file_name[1024];
-
store_type *st_ptr;
-
OBJECT_TYPE_VALUE tval;
int i = 0;
int j = 0;
- char where[32];
+ char where[32];
/* Open a new file */
fff = my_fopen_temp(file_name, 1024);
do_cmd_knowledge_inven_aux(fff, &inventory[i], &j, tval, where);
}
- st_ptr = &town[1].store[STORE_HOME];
+ st_ptr = &town_info[1].store[STORE_HOME];
strcpy(where, _("家", "H "));
for (i = 0; i < st_ptr->stock_num; i++)
{
void do_cmd_save_screen_html_aux(char *filename, int message)
{
- int y, x, i;
+ TERM_LEN y, x;
+ int i;
TERM_COLOR a = 0, old_a = 0;
char c = ' ';
char buf[2048];
int yomikomu = 0;
- cptr tags[4] = {
+ concptr tags[4] = {
"HEADER_START:",
"HEADER_END:",
"FOOTER_START:",
"FOOTER_END:",
};
- cptr html_head[] = {
+ concptr html_head[] = {
"<html>\n<body text=\"#ffffff\" bgcolor=\"#000000\">\n",
"<pre>",
0,
};
- cptr html_foot[] = {
+ concptr html_foot[] = {
"</pre>\n",
"</body>\n</html>\n",
0,
};
- int wid, hgt;
+ TERM_LEN wid, hgt;
Term_get_size(&wid, &hgt);
for (x = 0; x < wid - 1; x++)
{
int rv, gv, bv;
- cptr cc = NULL;
+ concptr cc = NULL;
/* Get the attr/char */
(void)(Term_what(x, y, &a, &c));
}
else /* Dump the screen as text */
{
- int y, x;
-
+ TERM_LEN y, x;
TERM_COLOR a = 0;
- char c = ' ';
-
+ SYMBOL_CODE c = ' ';
FILE *fff;
-
char buf[1024];
/* Build the filename */
*/
static void do_cmd_knowledge_artifacts(void)
{
- IDX i;
- IDX k;
+ ARTIFACT_IDX i;
+ ARTIFACT_IDX k;
POSITION x, y;
int n = 0;
- IDX z;
+ ARTIFACT_IDX z;
u16b why = 3;
- IDX *who;
-
+ ARTIFACT_IDX *who;
FILE *fff;
-
GAME_TEXT file_name[1024];
-
GAME_TEXT base_name[MAX_NLEN];
bool *okay;
}
/* Allocate the "who" array */
- C_MAKE(who, max_a_idx, s16b);
+ C_MAKE(who, max_a_idx, ARTIFACT_IDX);
/* Allocate the "okay" array */
C_MAKE(okay, max_a_idx, bool);
}
/* Check the dungeon */
- for (y = 0; y < cur_hgt; y++)
+ for (y = 0; y < current_floor_ptr->height; y++)
{
- for (x = 0; x < cur_wid; x++)
+ for (x = 0; x < current_floor_ptr->width; x++)
{
- cave_type *c_ptr = &cave[y][x];
+ grid_type *g_ptr = ¤t_floor_ptr->grid_array[y][x];
OBJECT_IDX this_o_idx, next_o_idx = 0;
/* Scan all objects in the grid */
- for (this_o_idx = c_ptr->o_idx; this_o_idx; this_o_idx = next_o_idx)
+ for (this_o_idx = g_ptr->o_idx; this_o_idx; this_o_idx = next_o_idx)
{
object_type *o_ptr;
- o_ptr = &o_list[this_o_idx];
-
- /* Acquire next object */
+ o_ptr = ¤t_floor_ptr->o_list[this_o_idx];
next_o_idx = o_ptr->next_o_idx;
/* Ignore non-artifacts */
}
/* Free the "who" array */
- C_KILL(who, max_a_idx, s16b);
+ C_KILL(who, max_a_idx, ARTIFACT_IDX);
/* Free the "okay" array */
C_KILL(okay, max_a_idx, bool);
}
/* Allocate the "who" array */
- C_MAKE(who, max_r_idx, s16b);
+ C_MAKE(who, max_r_idx, MONRACE_IDX);
/* Scan the monsters */
for (i = 1; i < max_r_idx; i++)
*/
static void do_cmd_knowledge_weapon_exp(void)
{
- int i, num, weapon_exp;
+ int i, num;
+ SUB_EXP weapon_exp;
KIND_OBJECT_IDX j;
FILE *fff;
static void do_cmd_knowledge_spell_exp(void)
{
SPELL_IDX i = 0;
- int spell_exp, exp_level;
+ SUB_EXP spell_exp;
+ int exp_level;
FILE *fff;
const magic_type *s_ptr;
FILE *fff;
- GAME_TEXT file_name[1024];
- GAME_TEXT skill_name[3][20]={_("マーシャルアーツ", "Martial Arts "),
- _("二刀流 ", "Dual Wielding "),
- _("乗馬 ", "Riding ")};
+ char file_name[1024];
+ char skill_name[GINOU_TEMPMAX][20] =
+ {
+ _("マーシャルアーツ", "Martial Arts "),
+ _("二刀流 ", "Dual Wielding "),
+ _("乗馬 ", "Riding "),
+ _("盾 ", "Shield ")
+ };
/* Open a new file */
fff = my_fopen_temp(file_name, 1024);
return;
}
- for (i = 0; i < 3; i++)
+ for (i = 0; i < GINOU_TEMPMAX; i++)
{
skill_exp = p_ptr->skill_exp[i];
fprintf(fff, "%-20s ", skill_name[i]);
}
else if (my_strstr(Name, " of "))
{
- cptr aider = my_strstr(Name, " of ");
+ concptr aider = my_strstr(Name, " of ");
char dummy[80];
int i = 0;
- cptr ctr = Name;
+ concptr ctr = Name;
while (ctr < aider)
{
for (i = m_max - 1; i >= 1; i--)
{
/* Access the monster */
- m_ptr = &m_list[i];
+ m_ptr = ¤t_floor_ptr->m_list[i];
/* Ignore "dead" monsters */
if (!m_ptr->r_idx) continue;
fprintf(fff, "----------------------------------------------\n");
#ifdef JP
fprintf(fff, " 合計: %d 体のペット\n", t_friends);
- fprintf(fff, " 維持コスト: %d%% MP\n", show_upkeep);
#else
- fprintf(fff, " Total: %d pet%s.\n",
- t_friends, (t_friends == 1 ? "" : "s"));
- fprintf(fff, " Upkeep: %d%% mana.\n", show_upkeep);
+ fprintf(fff, " Total: %d pet%s.\n", t_friends, (t_friends == 1 ? "" : "s"));
#endif
+ fprintf(fff, _(" 維持コスト: %d%% MP\n", " Upkeep: %d%% mana.\n"), show_upkeep);
my_fclose(fff);
*/
static void do_cmd_knowledge_kill_count(void)
{
- IDX i;
+ MONRACE_IDX i;
int k, n = 0;
u16b why = 2;
- IDX *who;
-
+ MONRACE_IDX *who;
FILE *fff;
-
GAME_TEXT file_name[1024];
s32b Total = 0;
fff = my_fopen_temp(file_name, 1024);
if (!fff) {
- msg_format(_("一時ファイル %s を作成できませんでした。", "Failed to create temporary file %s."), file_name);
- msg_print(NULL);
- return;
+ msg_format(_("一時ファイル %s を作成できませんでした。", "Failed to create temporary file %s."), file_name);
+ msg_print(NULL);
+ return;
}
/* Allocate the "who" array */
- C_MAKE(who, max_r_idx, s16b);
+ C_MAKE(who, max_r_idx, MONRACE_IDX);
{
/* Monsters slain */
* @param grp_top 現在の選択リスト最上部ID
* @return なし
*/
-static void display_group_list(int col, int row, int wid, int per_page, IDX grp_idx[], cptr group_text[], int grp_cur, int grp_top)
+static void display_group_list(int col, int row, int wid, int per_page, IDX grp_idx[], concptr group_text[], int grp_cur, int grp_top)
{
int i;
int old_grp = grp;
/* Move up or down */
- grp += ddy[d];
+ grp += (IDX)ddy[d];
/* Verify */
if (grp >= grp_cnt) grp = grp_cnt - 1;
else
{
/* Move up or down */
- list += ddy[d];
+ list += (IDX)ddy[d];
/* Verify */
if (list >= list_cnt) list = list_cnt - 1;
/* Display columns until done */
for (j = 0; j < width; j++)
{
- byte a;
- char c;
+ TERM_COLOR a, ia;
+ SYMBOL_CODE c, ic;
TERM_LEN x = col + j;
TERM_LEN y = row + i;
- int ia, ic;
/* Bigtile mode uses double width */
if (use_bigtile) x += j;
(!use_graphics && ic > 0x7f))
continue;
- a = (byte)ia;
- c = (char)ic;
+ a = ia;
+ c = ic;
/* Force correct code for both ASCII character and tile */
if (c & 0x80) a |= 0x80;
* Clipboard variables for copy&paste in visual mode
*/
static TERM_COLOR attr_idx = 0;
-static byte char_idx = 0;
+static SYMBOL_CODE char_idx = 0;
/* Hack -- for feature lighting */
static TERM_COLOR attr_idx_feat[F_LIT_MAX];
-static byte char_idx_feat[F_LIT_MAX];
+static SYMBOL_CODE char_idx_feat[F_LIT_MAX];
/*
* Do visual mode command -- Change symbols
{
int eff_width;
int d = get_keymap_dir(ch);
- byte a = (*cur_attr_ptr & 0x7f);
- byte c = *cur_char_ptr;
+ TERM_COLOR a = (*cur_attr_ptr & 0x7f);
+ SYMBOL_CODE c = *cur_char_ptr;
if (use_bigtile) eff_width = width / 2;
else eff_width = width;
if ((a == 0x7f) && (ddy[d] > 0)) d = 0;
if ((c == 0xff) && (ddx[d] > 0)) d = 0;
- a += ddy[d];
- c += ddx[d];
+ a += (TERM_COLOR)ddy[d];
+ c += (SYMBOL_CODE)ddx[d];
/* Force correct code for both ASCII character and tile */
if (c & 0x80) a |= 0x80;
browser_rows = hgt - 8;
/* Allocate the "mon_idx" array */
- C_MAKE(mon_idx, max_r_idx, s16b);
+ C_MAKE(mon_idx, max_r_idx, MONRACE_IDX);
max = 0;
grp_cnt = 0;
if (redraw)
{
clear_from(0);
-
-#ifdef JP
- prt(format("%s - モンスター", !visual_only ? "知識" : "表示"), 2, 0);
- if (direct_r_idx < 0) prt("グループ", 4, 0);
- prt("名前", 4, max + 3);
+ prt(format(_("%s - モンスター", "%s - monsters"), !visual_only ? _("知識", "Knowledge") : _("表示", "Visuals")), 2, 0);
+ if (direct_r_idx < 0) prt(_("グループ", "Group"), 4, 0);
+ prt(_("名前", "Name"), 4, max + 3);
if (p_ptr->wizard || visual_only) prt("Idx", 4, 62);
- prt("文字", 4, 67);
- if (!visual_only) prt("殺害数", 4, 72);
-#else
- prt(format("%s - monsters", !visual_only ? "Knowledge" : "Visuals"), 2, 0);
- if (direct_r_idx < 0) prt("Group", 4, 0);
- prt("Name", 4, max + 3);
- if (p_ptr->wizard || visual_only) prt("Idx", 4, 62);
- prt("Sym", 4, 68);
- if (!visual_only) prt("Kills", 4, 73);
-#endif
+ prt(_("文字", "Sym"), 4, 67);
+ if (!visual_only) prt(_("殺害数", "Kills"), 4, 72);
for (i = 0; i < 78; i++)
{
}
/* Prompt */
-#ifdef JP
- prt(format("<方向>%s%s%s, ESC",
- (!visual_list && !visual_only) ? ", 'r'で思い出を見る" : "",
- visual_list ? ", ENTERで決定" : ", 'v'でシンボル変更",
- (attr_idx || char_idx) ? ", 'c', 'p'でペースト" : ", 'c'でコピー"),
- hgt - 1, 0);
-#else
- prt(format("<dir>%s%s%s, ESC",
- (!visual_list && !visual_only) ? ", 'r' to recall" : "",
- visual_list ? ", ENTER to accept" : ", 'v' for visuals",
- (attr_idx || char_idx) ? ", 'c', 'p' to paste" : ", 'c' to copy"),
+ prt(format(_("<方向>%s%s%s, ESC", "<dir>%s%s%s, ESC"),
+ (!visual_list && !visual_only) ? _(", 'r'で思い出を見る", ", 'r' to recall") : "",
+ visual_list ? _(", ENTERで決定", ", ENTER to accept") : _(", 'v'でシンボル変更", ", 'v' for visuals"),
+ (attr_idx || char_idx) ? _(", 'c', 'p'でペースト", ", 'c', 'p' to paste") : _(", 'c'でコピー", ", 'c' to copy")),
hgt - 1, 0);
-#endif
/* Get the current monster */
r_ptr = &r_info[mon_idx[mon_cur]];
}
/* Free the "mon_idx" array */
- C_KILL(mon_idx, max_r_idx, s16b);
+ C_KILL(mon_idx, max_r_idx, MONRACE_IDX);
}
{
GAME_TEXT o_name[MAX_NLEN];
TERM_COLOR a;
- byte c;
+ SYMBOL_CODE c;
object_kind *flavor_k_ptr;
/* Get the object index */
int grp_cnt;
IDX grp_idx[100];
int object_cnt;
- IDX *object_idx;
+ OBJECT_IDX *object_idx;
int column = 0;
bool flag;
byte char_left = 0;
int browser_rows;
- int wid, hgt;
+ TERM_LEN wid, hgt;
byte mode;
browser_rows = hgt - 8;
/* Allocate the "object_idx" array */
- C_MAKE(object_idx, max_k_idx, IDX);
+ C_MAKE(object_idx, max_k_idx, KIND_OBJECT_IDX);
max = 0;
grp_cnt = 0;
}
/* Free the "object_idx" array */
- C_KILL(object_idx, max_k_idx, IDX);
+ C_KILL(object_idx, max_k_idx, KIND_OBJECT_IDX);
}
TERM_COLOR *cur_attr_ptr;
SYMBOL_CODE *cur_char_ptr;
- (void)C_WIPE(attr_old, F_LIT_MAX, byte);
- (void)C_WIPE(char_old, F_LIT_MAX, byte);
+ (void)C_WIPE(attr_old, F_LIT_MAX, TERM_COLOR);
+ (void)C_WIPE(char_old, F_LIT_MAX, SYMBOL_CODE);
Term_get_size(&wid, &hgt);
{
clear_from(0);
-#ifdef JP
- prt("表示 - 地形", 2, 0);
- if (direct_f_idx < 0) prt("グループ", 4, 0);
- prt("名前", 4, max + 3);
+ prt(_("表示 - 地形", "Visuals - features"), 2, 0);
+ if (direct_f_idx < 0) prt(_("グループ", "Group"), 4, 0);
+ prt(_("名前", "Name"), 4, max + 3);
if (use_bigtile)
{
if (p_ptr->wizard || visual_only) prt("Idx", 4, 62);
- prt("文字 ( l/ d)", 4, 66);
+ prt(_("文字 ( l/ d)", "Sym ( l/ d)"), 4, 66);
}
else
{
if (p_ptr->wizard || visual_only) prt("Idx", 4, 64);
- prt("文字 (l/d)", 4, 68);
+ prt(_("文字 (l/d)", "Sym (l/d)"), 4, 68);
}
-#else
- prt("Visuals - features", 2, 0);
- if (direct_f_idx < 0) prt("Group", 4, 0);
- prt("Name", 4, max + 3);
- if (use_bigtile)
- {
- if (p_ptr->wizard || visual_only) prt("Idx", 4, 62);
- prt("Sym ( l/ d)", 4, 67);
- }
- else
- {
- if (p_ptr->wizard || visual_only) prt("Idx", 4, 64);
- prt("Sym (l/d)", 4, 69);
- }
-#endif
for (i = 0; i < 78; i++)
{
}
/* Prompt */
-#ifdef JP
- prt(format("<方向>%s, 'd'で標準光源効果%s, ESC",
- visual_list ? ", ENTERで決定, 'a'で対象明度変更" : ", 'v'でシンボル変更",
- (attr_idx || char_idx) ? ", 'c', 'p'でペースト" : ", 'c'でコピー"),
+ prt(format(_("<方向>%s, 'd'で標準光源効果%s, ESC", "<dir>%s, 'd' for default lighting%s, ESC"),
+ visual_list ? _(", ENTERで決定, 'a'で対象明度変更", ", ENTER to accept, 'a' for lighting level") : _(", 'v'でシンボル変更", ", 'v' for visuals"),
+ (attr_idx || char_idx) ? _(", 'c', 'p'でペースト", ", 'c', 'p' to paste") : _(", 'c'でコピー", ", 'c' to copy")),
hgt - 1, 0);
-#else
- prt(format("<dir>%s, 'd' for default lighting%s, ESC",
- visual_list ? ", ENTER to accept, 'a' for lighting level" : ", 'v' for visuals",
- (attr_idx || char_idx) ? ", 'c', 'p' to paste" : ", 'c' to copy"),
- hgt - 1, 0);
-#endif
/* Get the current feature */
f_ptr = &f_info[feat_idx[feat_cur]];
}
/* Free the "feat_idx" array */
- C_KILL(feat_idx, max_f_idx, IDX);
+ C_KILL(feat_idx, max_f_idx, FEAT_IDX);
}
{
bool listed = FALSE;
-#ifdef JP
- fprintf(fff, "今日のターゲット : %s\n", (p_ptr->today_mon ? r_name + r_info[p_ptr->today_mon].name : "不明"));
+ fprintf(fff, _("今日のターゲット : %s\n", "Today target : %s\n"),
+ (p_ptr->today_mon ? r_name + r_info[p_ptr->today_mon].name : _("不明", "unknown")));
fprintf(fff, "\n");
- fprintf(fff, "賞金首リスト\n");
-#else
- fprintf(fff, "Today target : %s\n", (p_ptr->today_mon ? r_name + r_info[p_ptr->today_mon].name : "unknown"));
- fprintf(fff, "\n");
- fprintf(fff, "List of wanted monsters\n");
-#endif
+ fprintf(fff, _("賞金首リスト\n", "List of wanted monsters\n"));
fprintf(fff, "----------------------------------------------\n");
for (i = 0; i < MAX_KUBI; i++)
{
- if (kubi_r_idx[i] <= 10000)
+ if (current_world_ptr->bounty_r_idx[i] <= 10000)
{
- fprintf(fff,"%s\n", r_name + r_info[kubi_r_idx[i]].name);
+ fprintf(fff,"%s\n", r_name + r_info[current_world_ptr->bounty_r_idx[i]].name);
listed = TRUE;
}
}
/*
-* Dungeon
-*
-*/
+ * Dungeon
+ */
static void do_cmd_knowledge_dungeon(void)
{
FILE *fff;
(2 * p_ptr->hitdie +
((PY_MAX_LEVEL - 1+3) * (p_ptr->hitdie + 1))));
-#ifdef JP
- if (p_ptr->knowledge & KNOW_HPRATE) fprintf(fff, "現在の体力ランク : %d/100\n\n", percent);
- else fprintf(fff, "現在の体力ランク : ???\n\n");
- fprintf(fff, "能力の最大値\n\n");
-#else
- if (p_ptr->knowledge & KNOW_HPRATE) fprintf(fff, "Your current Life Rating is %d/100.\n\n", percent);
- else fprintf(fff, "Your current Life Rating is ???.\n\n");
- fprintf(fff, "Limits of maximum stats\n\n");
-#endif
- for (v_nr = 0; v_nr < 6; v_nr++)
+ if (p_ptr->knowledge & KNOW_HPRATE)
+ fprintf(fff, _("現在の体力ランク : %d/100\n\n", "Your current Life Rating is %d/100.\n\n"), percent);
+ else fprintf(fff, _("現在の体力ランク : ???\n\n", "Your current Life Rating is ???.\n\n"));
+
+ fprintf(fff, _("能力の最大値\n\n", "Limits of maximum stats\n\n"));
+ for (v_nr = 0; v_nr < A_MAX; v_nr++)
{
if ((p_ptr->knowledge & KNOW_STAT) || p_ptr->stat_max[v_nr] == p_ptr->stat_max_max[v_nr]) fprintf(fff, "%s 18/%d\n", stat_names[v_nr], p_ptr->stat_max_max[v_nr]-18);
else fprintf(fff, "%s ???\n", stat_names[v_nr]);
char rand_tmp_str[120] = "\0";
GAME_TEXT name[MAX_NLEN];
monster_race *r_ptr;
- IDX i;
+ QUEST_IDX i;
int rand_level = 100;
int total = 0;
(quest[i].status == QUEST_STATUS_COMPLETED))
{
/* Set the quest number temporary */
- IDX old_quest = p_ptr->inside_quest;
+ QUEST_IDX old_quest = p_ptr->inside_quest;
int j;
/* Clear the text */
/*
* Print all finished quests
*/
-void do_cmd_knowledge_quests_completed(FILE *fff, IDX quest_num[])
+void do_cmd_knowledge_quests_completed(FILE *fff, QUEST_IDX quest_num[])
{
- int i;
- int total = 0;
+ QUEST_IDX i;
+ QUEST_IDX total = 0;
fprintf(fff, _("《達成したクエスト》\n", "< Completed Quest >\n"));
for (i = 1; i < max_q_idx; i++)
{
- IDX q_idx = quest_num[i];
+ QUEST_IDX q_idx = quest_num[i];
quest_type* const q_ptr = &quest[q_idx];
- if (q_ptr->status == QUEST_STATUS_FINISHED &&
- do_cmd_knowledge_quests_aux(fff, q_idx))
+ if (q_ptr->status == QUEST_STATUS_FINISHED && do_cmd_knowledge_quests_aux(fff, q_idx))
{
- ++ total;
+ ++total;
}
}
if (!total) fprintf(fff, _(" なし\n", " Nothing.\n"));
/*
* Print all failed quests
*/
-void do_cmd_knowledge_quests_failed(FILE *fff, IDX quest_num[])
+void do_cmd_knowledge_quests_failed(FILE *fff, QUEST_IDX quest_num[])
{
- IDX i;
- int total = 0;
+ QUEST_IDX i;
+ QUEST_IDX total = 0;
fprintf(fff, _("《失敗したクエスト》\n", "< Failed Quest >\n"));
for (i = 1; i < max_q_idx; i++)
{
- IDX q_idx = quest_num[i];
+ QUEST_IDX q_idx = quest_num[i];
quest_type* const q_ptr = &quest[q_idx];
if (((q_ptr->status == QUEST_STATUS_FAILED_DONE) || (q_ptr->status == QUEST_STATUS_FAILED)) &&
do_cmd_knowledge_quests_aux(fff, q_idx))
{
- ++ total;
+ ++total;
}
}
if (!total) fprintf(fff, _(" なし\n", " Nothing.\n"));
*/
static void do_cmd_knowledge_quests_wiz_random(FILE *fff)
{
- char tmp_str[120];
- int i;
- int total = 0;
+ GAME_TEXT tmp_str[120];
+ QUEST_IDX i;
+ QUEST_IDX total = 0;
fprintf(fff, _("《残りのランダムクエスト》\n", "< Remaining Random Quest >\n"));
for (i = 1; i < max_q_idx; i++)
}
/* Allocate Memory */
- C_MAKE(quest_num, max_q_idx, IDX);
+ C_MAKE(quest_num, max_q_idx, QUEST_IDX);
/* Sort by compete level */
for (i = 1; i < max_q_idx; i++) quest_num[i] = i;
fd_kill(file_name);
/* Free Memory */
- C_KILL(quest_num, max_q_idx, IDX);
+ C_KILL(quest_num, max_q_idx, QUEST_IDX);
}
GAME_TEXT file_name[1024];
store_type *st_ptr;
GAME_TEXT o_name[MAX_NLEN];
- cptr paren = ")";
+ concptr paren = ")";
- process_dungeon_file("w_info.txt", 0, 0, max_wild_y, max_wild_x);
+ process_dungeon_file("w_info.txt", 0, 0, current_world_ptr->max_wild_y, current_world_ptr->max_wild_x);
/* Open a new file */
fff = my_fopen_temp(file_name, 1024);
if (fff)
{
/* Print all homes in the different towns */
- st_ptr = &town[1].store[STORE_HOME];
+ st_ptr = &town_info[1].store[STORE_HOME];
/* Home -- if anything there */
if (st_ptr->stock_num)
for (k = 0; k < max_autopick; k++)
{
- cptr tmp;
+ concptr tmp;
byte act = autopick_list[k].action;
if (act & DONT_AUTOPICK)
{
if (day < MAX_DAYS) sprintf(day_buf, "%d", day);
else strcpy(day_buf, "*****");
-#ifdef JP
- msg_format("%s日目, 時刻は%d:%02d %sです。",
- day_buf, (hour % 12 == 0) ? 12 : (hour % 12),
- min, (hour < 12) ? "AM" : "PM");
-#else
- msg_format("This is day %s. The time is %d:%02d %s.",
- day_buf, (hour % 12 == 0) ? 12 : (hour % 12),
- min, (hour < 12) ? "AM" : "PM");
-#endif
-
+ msg_format(_("%s日目, 時刻は%d:%02d %sです。", "This is day %s. The time is %d:%02d %s."),
+ day_buf, (hour % 12 == 0) ? 12 : (hour % 12), min, (hour < 12) ? "AM" : "PM");
/* Find the path */
if (!randint0(10) || p_ptr->image)