*/
#include "angband.h"
-
+#include "cmd-pet.h"
+#include "world.h"
+#include "player-status.h"
/*
{
int day, hour, min;
FILE *fff = NULL;
- char file_name[80];
+ GAME_TEXT file_name[MAX_NLEN];
char buf[1024];
cptr note_level = "";
bool do_level = TRUE;
char note_level_buf[40];
- int q_idx;
+ QUEST_IDX q_idx;
static bool disable_nikki = FALSE;
else if (!dun_level)
note_level = _("地上:", "Surface:");
else if (q_idx && (is_fixed_quest_idx(q_idx)
- && !((q_idx == QUEST_OBERON) || (q_idx == QUEST_SERPENT))))
+ && !((q_idx == QUEST_OBERON) || (q_idx == QUEST_SERPENT))))
note_level = _("クエスト:", "Quest:");
else
{
}
case NIKKI_RAND_QUEST_C:
{
- char name[80];
+ GAME_TEXT name[MAX_NLEN];
strcpy(name, r_name+r_info[quest[num].r_idx].name);
fprintf(fff, _(" %2d:%02d %20s ランダムクエスト(%s)を達成した。\n",
" %2d:%02d %20s completed random quest '%s'\n"), hour, min, note_level, name);
}
case NIKKI_RAND_QUEST_F:
{
- char name[80];
+ GAME_TEXT name[MAX_NLEN];
strcpy(name, r_name+r_info[quest[num].r_idx].name);
fprintf(fff, _(" %2d:%02d %20s ランダムクエスト(%s)から逃げ出した。\n",
" %2d:%02d %20s ran away from quest '%s'.\n"), hour, min, note_level, name);
fprintf(fff, _(" %2d:%02d %20s %s%sの最深階を%d階にセットした。\n",
" %2d:%02d %20s reset recall level of %s to %d %s.\n"), hour, min, note_level, note,
_(d_name + d_info[num].name, (int)max_dlv[num]),
- _(max_dlv[num], d_name + d_info[num].name));
+ _((int)max_dlv[num], d_name + d_info[num].name));
break;
}
case NIKKI_STAIR:
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]),
- _(max_dlv[dungeon_type], d_name+d_info[dungeon_type].name));
+ _((int)max_dlv[dungeon_type], d_name+d_info[dungeon_type].name));
else
fprintf(fff, _(" %2d:%02d %20s 帰還を使って地上へと戻った。\n", " %2d:%02d %20s recalled from dungeon to surface.\n"), hour, min, note_level);
break;
static void do_cmd_disp_nikki(void)
{
char nikki_title[256];
- char file_name[80];
+ GAME_TEXT file_name[MAX_NLEN];
char buf[1024];
char tmp[80];
#ifdef JP
if (p_ptr->pclass == CLASS_WARRIOR || p_ptr->pclass == CLASS_MONK || p_ptr->pclass == CLASS_SAMURAI || p_ptr->pclass == CLASS_BERSERKER)
strcpy(tmp,subtitle[randint0(MAX_SUBTITLE-1)]);
- else if (p_ptr->pclass == CLASS_MAGE || p_ptr->pclass == CLASS_HIGH_MAGE || p_ptr->pclass == CLASS_SORCERER)
+ else if (IS_WIZARD_CLASS())
strcpy(tmp,subtitle[randint0(MAX_SUBTITLE-1)+1]);
else strcpy(tmp,subtitle[randint0(MAX_SUBTITLE-2)+1]);
*/
static void do_cmd_erase_nikki(void)
{
- char file_name[80];
+ GAME_TEXT file_name[MAX_NLEN];
char buf[256];
FILE *fff = NULL;
/* File type is "TEXT" */
FILE_TYPE(FILE_TYPE_TEXT);
-
- /* Save the screen */
screen_save();
/* Interact until done */
while (1)
{
- /* Clear screen */
Term_clear();
/* Ask for a choice */
/* Prompt */
i = inkey();
- /* Done */
if (i == ESCAPE) break;
switch (i)
bell();
}
- /* Flush messages */
- msg_print(NULL);
+ msg_erase();
}
-
- /* Restore the screen */
screen_load();
}
p_ptr->notice |= (PN_COMBINE | PN_REORDER);
- /* Update torch */
p_ptr->update |= (PU_TORCH);
-
- /* Update stuff */
p_ptr->update |= (PU_BONUS | PU_HP | PU_MANA | PU_SPELLS);
-
- /* Forget lite/view */
p_ptr->update |= (PU_UN_VIEW | PU_UN_LITE);
-
- /* Update lite/view */
p_ptr->update |= (PU_VIEW | PU_LITE | PU_MON_LITE);
-
- /* Update monsters */
p_ptr->update |= (PU_MONSTERS);
- /* Redraw everything */
p_ptr->redraw |= (PR_WIPE | PR_BASIC | PR_EXTRA | PR_MAP | PR_EQUIPPY);
- /* Window stuff */
p_ptr->window |= (PW_INVEN | PW_EQUIP | PW_SPELL | PW_PLAYER);
-
- /* Window stuff */
p_ptr->window |= (PW_MESSAGE | PW_OVERHEAD | PW_DUNGEON | PW_MONSTER | PW_OBJECT);
update_playtime();
- /* Hack -- update */
handle_stuff();
if (p_ptr->prace == RACE_ANDROID) calc_android_exp();
/* Activate */
Term_activate(angband_term[j]);
-
- /* Redraw */
Term_redraw();
-
- /* Refresh */
Term_fresh();
-
- /* Restore */
Term_activate(old);
}
}
char tmp[160];
-
- /* Save the screen */
screen_save();
/* Forever */
{
mode++;
}
-
- /* Oops */
else
{
bell();
}
- /* Flush messages */
- msg_print(NULL);
+ msg_erase();
}
-
- /* Restore the screen */
screen_load();
-
- /* Redraw everything */
p_ptr->redraw |= (PR_WIPE | PR_BASIC | PR_EXTRA | PR_MAP | PR_EQUIPPY);
handle_stuff();
*/
void do_cmd_message_one(void)
{
- /* Recall one message XXX XXX XXX */
+ /* Recall one message */
prt(format("> %s", message_str(0)), 0, 0);
}
int wid, hgt;
int num_lines;
- /* Get size */
Term_get_size(&wid, &hgt);
/* Number of message lines in a screen */
/* Start on first message */
i = 0;
-
- /* Save the screen */
screen_save();
-
- /* Clear screen */
Term_clear();
/* Process requests until done */
Term_erase(0, num_lines + 1 - j, 255);
}
- /* Display header XXX XXX XXX */
+ /* Display header */
/* translation */
prt(format(_("以前のメッセージ %d-%d 全部で(%d)", "Message Recall (%d-%d of %d)"),
i, i + j - 1, n), 0, 0);
prt(_("[ 'p' で更に古いもの, 'n' で更に新しいもの, '/' で検索, ESC で中断 ]",
"[Press 'p' for older, 'n' for newer, ..., or ESCAPE]"), hgt - 1, 0);
- /* Get a command */
skey = inkey_special(TRUE);
/* Exit on Escape */
}
else strcpy(shower_str, back_str);
- /* Okay */
continue;
/* Hack -- handle find */
/* New location */
i = z;
- /* Done */
break;
}
}
/* Hack -- Error of some kind */
if (i == j) bell();
}
-
- /* Restore the screen */
screen_load();
}
-
-/*!
- * チートオプションの最大数 / Number of cheating options
- */
-#define CHEAT_MAX 9
-
-/*!
- * チーとオプションの定義テーブル / Cheating options
- */
-static option_type cheat_info[CHEAT_MAX] =
-{
- { &cheat_peek, FALSE, 255, 0x01, 0x00,
- "cheat_peek", _("アイテムの生成をのぞき見る", "Peek into object creation")
- },
-
- { &cheat_hear, FALSE, 255, 0x02, 0x00,
- "cheat_hear", _("モンスターの生成をのぞき見る", "Peek into monster creation")
- },
-
- { &cheat_room, FALSE, 255, 0x04, 0x00,
- "cheat_room", _("ダンジョンの生成をのぞき見る", "Peek into dungeon creation")
- },
-
- { &cheat_xtra, FALSE, 255, 0x08, 0x00,
- "cheat_xtra", _("その他の事をのぞき見る", "Peek into something else")
- },
-
- { &cheat_know, FALSE, 255, 0x10, 0x00,
- "cheat_know", _("完全なモンスターの思い出を知る", "Know complete monster info")
- },
-
- { &cheat_live, FALSE, 255, 0x20, 0x00,
- "cheat_live", _("死を回避することを可能にする", "Allow player to avoid death")
- },
-
- { &cheat_save, FALSE, 255, 0x40, 0x00,
- "cheat_save", _("死んだ時セーブするか確認する", "Ask for saving death")
- },
-
- { &cheat_diary_output, FALSE, 255, 0x80, 0x00,
- "cheat_diary_output", _("ウィザードログを日記に出力する", "Output wizard log to diary.")
- },
-
- { &cheat_turn, FALSE, 255, 0x81, 0x00,
- "cheat_turn", _("ゲームメッセージにターン表示を行う", "Put turn to game message.")
- }
-
-
-};
-
/*!
* @brief チートオプションを変更するコマンドのメインルーチン
* Interact with some options for cheating
static void do_cmd_options_cheat(cptr info)
{
char ch;
-
int i, k = 0, n = CHEAT_MAX;
-
char buf[80];
-
-
- /* Clear screen */
Term_clear();
/* Interact with the player */
while (TRUE)
{
- int dir;
+ DIRECTION dir;
- /* Prompt XXX XXX XXX */
+ /* Prompt */
sprintf(buf, _("%s ( リターンで次へ, y/n でセット, ESC で決定 )", "%s (RET to advance, y/n to set, ESC to accept) "), info);
prt(buf, 0, 0);
/*!
- * 自動セーブオプションテーブル
- */
-static option_type autosave_info[2] =
-{
- { &autosave_l, FALSE, 255, 0x01, 0x00,
- "autosave_l", _("新しい階に入る度に自動セーブする", "Autosave when entering new levels") },
-
- { &autosave_t, FALSE, 255, 0x02, 0x00,
- "autosave_t", _("一定ターン毎に自動セーブする", "Timed autosave") },
-};
-
-/*!
* @brief セーブ頻度ターンの次の値を返す
* @param current 現在のセーブ頻度ターン値
* @return 次のセーブ頻度ターン値
*/
static void do_cmd_options_autosave(cptr info)
{
- char ch;
-
- int i, k = 0, n = 2;
-
- char buf[80];
-
+ char ch;
+ int i, k = 0, n = 2;
+ char buf[80];
- /* Clear screen */
Term_clear();
/* Interact with the player */
while (TRUE)
{
- /* Prompt XXX XXX XXX */
+ /* Prompt */
sprintf(buf, _("%s ( リターンで次へ, y/n でセット, F で頻度を入力, ESC で決定 ) ",
"%s (RET to advance, y/n to set, 'F' for frequency, ESC to accept) "), info);
/* Display the option text */
sprintf(buf, "%-48s: %s (%s)",
- autosave_info[i].o_desc,
- (*autosave_info[i].o_var ? _("はい ", "yes") : _("いいえ", "no ")),
- autosave_info[i].o_text);
+ autosave_info[i].o_desc,
+ (*autosave_info[i].o_var ? _("はい ", "yes") : _("いいえ", "no ")),
+ autosave_info[i].o_text);
c_prt(a, buf, i + 2, 0);
}
prt(format(_("自動セーブの頻度: %d ターン毎", "Timed autosave frequency: every %d turns"), autosave_freq), 5, 0);
/* Notice options on this "page" */
if (option_info[i].o_page == page) opt[n++] = i;
}
-
-
- /* Clear screen */
Term_clear();
/* Interact with the player */
while (TRUE)
{
- int dir;
+ DIRECTION dir;
- /* Prompt XXX XXX XXX */
+ /* Prompt */
sprintf(buf, _("%s (リターン:次, %sESC:終了, ?:ヘルプ) ", "%s (RET:next, %s, ?:help) "),
info, browse_only ? _("", "ESC:exit") : _("y/n:変更, ", "y/n:change, ESC:accept"));
prt(buf, 0, 0);
static void do_cmd_options_win(void)
{
int i, j, d;
- int y = 0;
- int x = 0;
+ TERM_LEN y = 0;
+ TERM_LEN x = 0;
char ch;
bool go = TRUE;
u32b old_flag[8];
old_flag[j] = window_flag[j];
}
-
- /* Clear screen */
Term_clear();
/* Interact */
while (go)
{
- /* Prompt XXX XXX XXX */
+ /* Prompt */
prt(_("ウィンドウ・フラグ (<方向>で移動, tでチェンジ, y/n でセット, ESC)", "Window Flags (<dir>, t, y, n, ESC) "), 0, 0);
/* Display the windows */
/* Activate */
Term_activate(angband_term[j]);
-
- /* Erase */
Term_clear();
-
- /* Refresh */
Term_fresh();
-
- /* Restore */
Term_activate(old);
}
}
void do_cmd_options(void)
{
char k;
- int i, d, skey;
- int y = 0;
-
- /* Save the screen */
+ int d, skey;
+ TERM_LEN i, y = 0;
screen_save();
/* Interact */
/* Does not list cheat option when cheat option is off */
if (!p_ptr->noscore && !allow_debug_opts) n--;
-
- /* Clear screen */
Term_clear();
/* Why are we here */
/* Unknown option */
default:
{
- /* Oops */
bell();
break;
}
}
- /* Flush messages */
- msg_print(NULL);
+ msg_erase();
}
-
- /* Restore the screen */
screen_load();
/* Hack - Redraw equippy chars */
* Ask for a "user pref line" and process it
* @return なし
* @details
- * XXX XXX XXX Allow absolute file names?
+ * Allow absolute file names?
*/
void do_cmd_pref(void)
{
int n = 0;
char tmp[1024];
- /* Flush */
flush();
/* Do not process macros */
/* Terminate */
buf[n] = '\0';
- /* Flush */
flush();
-
/* Convert the trigger */
ascii_to_text(tmp, buf);
* @details
* <pre>
* Note that both "flush()" calls are extremely important. This may
- * no longer be true, since "util.c" is much simpler now. XXX XXX XXX
+ * no longer be true, since "util.c" is much simpler now.
* </pre>
*/
static void do_cmd_macro_aux_keymap(char *buf)
{
char tmp[1024];
-
- /* Flush */
flush();
-
/* Get a key */
buf[0] = inkey();
buf[1] = '\0';
-
/* Convert to ascii */
ascii_to_text(tmp, buf);
/* Hack -- display the trigger */
Term_addstr(-1, TERM_WHITE, tmp);
-
- /* Flush */
flush();
}
char key[1024];
char buf[1024];
- int mode;
+ BIT_FLAGS mode;
/* Roguelike */
if (rogue_like_commands)
if (!act) continue;
/* Encode the key */
- buf[0] = i;
+ buf[0] = (char)i;
buf[1] = '\0';
ascii_to_text(key, buf);
* <pre>
* Note that the macro "action" must be defined before the trigger.
*
- * Could use some helpful instructions on this page. XXX XXX XXX
+ * Could use some helpful instructions on this page.
* </pre>
*/
void do_cmd_macros(void)
char buf[1024];
- int mode;
+ BIT_FLAGS mode;
/* Roguelike */
/* File type is "TEXT" */
FILE_TYPE(FILE_TYPE_TEXT);
-
- /* Save screen */
screen_save();
/* Process requests until done */
while (1)
{
- /* Clear screen */
Term_clear();
-
- /* Describe */
prt(_("[ マクロの設定 ]", "Interact with Macros"), 2, 0);
/* Describe that action */
/* Prompt */
prt(_("コマンド: ", "Command: "), 16, 0);
- /* Get a command */
i = inkey();
/* Leave */
#endif /* ALLOW_MACROS */
- /* Oops */
else
{
- /* Oops */
bell();
}
- /* Flush messages */
- msg_print(NULL);
+ msg_erase();
}
-
- /* Load screen */
screen_load();
}
* @param max ビジュアルIDの最大数
* @return 指定が実際に行われた場合TRUE、キャンセルされた場合FALSE
*/
-static bool cmd_visuals_aux(int i, int *num, int max)
+static bool cmd_visuals_aux(int i, IDX *num, IDX max)
{
if (iscntrl(i))
{
char str[10] = "";
- int tmp;
+ IDX tmp;
sprintf(str, "%d", *num);
if (!get_string(format("Input new number(0-%d): ", max-1), str, 4))
return FALSE;
- tmp = strtol(str, NULL, 0);
+ tmp = (IDX)strtol(str, NULL, 0);
if (tmp >= 0 && tmp < max)
*num = tmp;
}
prt(format("コマンド: %s", choice_msg ? choice_msg : _("", "")), 15, 0);
}
-static void do_cmd_knowledge_monsters(bool *need_redraw, bool visual_only, int direct_r_idx);
-static void do_cmd_knowledge_objects(bool *need_redraw, bool visual_only, int direct_k_idx);
-static void do_cmd_knowledge_features(bool *need_redraw, bool visual_only, int direct_f_idx, int *lighting_level);
+static void do_cmd_knowledge_monsters(bool *need_redraw, bool visual_only, IDX direct_r_idx);
+static void do_cmd_knowledge_objects(bool *need_redraw, bool visual_only, IDX direct_k_idx);
+static void do_cmd_knowledge_features(bool *need_redraw, bool visual_only, IDX direct_f_idx, IDX *lighting_level);
/*
* Interact with "visuals"
char tmp[160];
char buf[1024];
bool need_redraw = FALSE;
- const char *empty_symbol = "<< ? >>";
+ cptr empty_symbol = "<< ? >>";
if (use_bigtile) empty_symbol = "<< ?? >>";
/* File type is "TEXT" */
FILE_TYPE(FILE_TYPE_TEXT);
-
- /* Save the screen */
screen_save();
/* Interact until done */
while (1)
{
- /* Clear screen */
Term_clear();
/* Ask for a choice */
/* Prompt */
i = inkey();
- /* Done */
if (i == ESCAPE) break;
switch (i)
/* Close */
close_auto_dump();
- /* Message */
msg_print(_("モンスターの[色/文字]をファイルに書き出しました。", "Dumped monster attr/chars."));
break;
case '2':
{
static cptr mark = "Object attr/chars";
- IDX k_idx;
+ KIND_OBJECT_IDX k_idx;
/* Prompt */
prt(_("コマンド: アイテムの[色/文字]をファイルに書き出します", "Command: Dump object attr/chars"), 15, 0);
/* Dump objects */
for (k_idx = 0; k_idx < max_k_idx; k_idx++)
{
- char o_name[80];
+ GAME_TEXT o_name[MAX_NLEN];
object_kind *k_ptr = &k_info[k_idx];
/* Skip non-entries */
/* Close */
close_auto_dump();
- /* Message */
msg_print(_("アイテムの[色/文字]をファイルに書き出しました。", "Dumped object attr/chars."));
break;
/* Close */
close_auto_dump();
- /* Message */
msg_print(_("地形の[色/文字]をファイルに書き出しました。", "Dumped feature attr/chars."));
break;
case '4':
{
static cptr choice_msg = _("モンスターの[色/文字]を変更します", "Change monster attr/chars");
- static int r = 0;
+ static IDX r = 0;
prt(format(_("コマンド: %s", "Command: %s"), choice_msg), 15, 0);
while (1)
{
monster_race *r_ptr = &r_info[r];
- char c;
- int t;
+ int c;
+ IDX t;
- byte da = r_ptr->d_attr;
+ TERM_COLOR da = r_ptr->d_attr;
byte dc = r_ptr->d_char;
- byte ca = r_ptr->x_attr;
+ TERM_COLOR ca = r_ptr->x_attr;
byte cc = r_ptr->x_char;
/* Label the object */
Term_putstr(0, 22, -1, TERM_WHITE,
_("コマンド (n/N/^N/a/A/^A/c/C/^C/v/V/^V): ", "Command (n/N/^N/a/A/^A/c/C/^C/v/V/^V): "));
- /* Get a command */
i = inkey();
/* All done */
{
case 'n':
{
- int prev_r = r;
+ IDX prev_r = r;
do
{
if (!cmd_visuals_aux(i, &r, max_r_idx))
break;
case 'v':
do_cmd_knowledge_monsters(&need_redraw, TRUE, r);
-
- /* Clear screen */
Term_clear();
print_visuals_menu(choice_msg);
break;
case '5':
{
static cptr choice_msg = _("アイテムの[色/文字]を変更します", "Change object attr/chars");
- static int k = 0;
+ static IDX k = 0;
prt(format(_("コマンド: %s", "Command: %s"), choice_msg), 15, 0);
/* Hack -- query until done */
while (1)
{
object_kind *k_ptr = &k_info[k];
- char c;
- int t;
+ int c;
+ IDX t;
- byte da = k_ptr->d_attr;
- byte dc = k_ptr->d_char;
- byte ca = k_ptr->x_attr;
- byte cc = k_ptr->x_char;
+ TERM_COLOR da = k_ptr->d_attr;
+ SYMBOL_CODE dc = k_ptr->d_char;
+ TERM_COLOR ca = k_ptr->x_attr;
+ SYMBOL_CODE cc = k_ptr->x_char;
/* Label the object */
Term_putstr(5, 17, -1, TERM_WHITE,
Term_putstr(0, 22, -1, TERM_WHITE,
_("コマンド (n/N/^N/a/A/^A/c/C/^C/v/V/^V): ", "Command (n/N/^N/a/A/^A/c/C/^C/v/V/^V): "));
- /* Get a command */
i = inkey();
/* All done */
{
case 'n':
{
- int prev_k = k;
+ IDX prev_k = k;
do
{
if (!cmd_visuals_aux(i, &k, max_k_idx))
break;
case 'v':
do_cmd_knowledge_objects(&need_redraw, TRUE, k);
-
- /* Clear screen */
Term_clear();
print_visuals_menu(choice_msg);
break;
case '6':
{
static cptr choice_msg = _("地形の[色/文字]を変更します", "Change feature attr/chars");
- static int f = 0;
- static int lighting_level = F_LIT_STANDARD;
+ static IDX f = 0;
+ static IDX lighting_level = F_LIT_STANDARD;
prt(format(_("コマンド: %s", "Command: %s"), choice_msg), 15, 0);
/* Hack -- query until done */
while (1)
{
feature_type *f_ptr = &f_info[f];
- char c;
- int t;
+ int c;
+ IDX t;
- byte da = f_ptr->d_attr[lighting_level];
+ TERM_COLOR da = f_ptr->d_attr[lighting_level];
byte dc = f_ptr->d_char[lighting_level];
- byte ca = f_ptr->x_attr[lighting_level];
+ TERM_COLOR ca = f_ptr->x_attr[lighting_level];
byte cc = f_ptr->x_char[lighting_level];
/* Label the object */
"Command (n/N/^N/a/A/^A/c/C/^C/l/L/^L/d/D/^D/v/V/^V): ");
#endif
- /* Get a command */
i = inkey();
/* All done */
{
case 'n':
{
- int prev_f = f;
+ IDX prev_f = f;
do
{
if (!cmd_visuals_aux(i, &f, max_f_idx))
break;
case 'v':
do_cmd_knowledge_features(&need_redraw, TRUE, f, &lighting_level);
-
- /* Clear screen */
Term_clear();
print_visuals_menu(choice_msg);
break;
/* Modify feature attr/chars (visual mode) */
case '9':
{
- int lighting_level = F_LIT_STANDARD;
+ IDX lighting_level = F_LIT_STANDARD;
do_cmd_knowledge_features(&need_redraw, TRUE, -1, &lighting_level);
break;
}
/* Reset */
reset_visuals();
- /* Message */
msg_print(_("画面上の[色/文字]を初期値にリセットしました。", "Visual attr/char tables reset."));
need_redraw = TRUE;
break;
break;
}
- /* Flush messages */
- msg_print(NULL);
+ msg_erase();
}
-
- /* Restore the screen */
screen_load();
if (need_redraw) do_cmd_redraw();
/* File type is "TEXT" */
FILE_TYPE(FILE_TYPE_TEXT);
-
- /* Save the screen */
screen_save();
/* Interact until done */
while (1)
{
- /* Clear screen */
Term_clear();
/* Ask for a choice */
/* Prompt */
i = inkey();
- /* Done */
if (i == ESCAPE) break;
/* Load a 'pref' file */
/* Close */
close_auto_dump();
- /* Message */
msg_print(_("カラーの設定をファイルに書き出しました。", "Dumped color redefinitions."));
}
Term_putstr(0, 14, -1, TERM_WHITE,
_("コマンド (n/N/k/K/r/R/g/G/b/B): ", "Command (n/N/k/K/r/R/g/G/b/B): "));
-
- /* Get a command */
i = inkey();
/* All done */
bell();
}
- /* Flush messages */
- msg_print(NULL);
+ msg_erase();
}
-
- /* Restore the screen */
screen_load();
}
* mode & 0x01 : check for non-empty group
* mode & 0x02 : visual operation only
*/
-static int collect_monsters(int grp_cur, s16b mon_idx[], byte mode)
+static IDX collect_monsters(IDX grp_cur, IDX mon_idx[], BIT_FLAGS8 mode)
{
- int i, mon_cnt = 0;
+ IDX i;
+ IDX mon_cnt = 0;
int dummy_why;
/* Get a list of x_char in this group */
* mode & 0x01 : check for non-empty group
* mode & 0x02 : visual operation only
*/
-static int collect_objects(int grp_cur, int object_idx[], byte mode)
+static int collect_objects(int grp_cur, IDX object_idx[], BIT_FLAGS8 mode)
{
- int i, j, k, object_cnt = 0;
+ IDX i;
+ int j, k, object_cnt = 0;
/* Get a list of x_char in this group */
byte group_tval = object_group_tval[grp_cur];
*
* mode & 0x01 : check for non-empty group
*/
-static int collect_features(int grp_cur, int *feat_idx, byte mode)
+static int collect_features(int grp_cur, IDX *feat_idx, BIT_FLAGS8 mode)
{
- int i, feat_cnt = 0;
+ IDX i;
+ int feat_cnt = 0;
/* Unused; There is a single group. */
(void)grp_cur;
{
int i, y, x;
- byte a = 0;
+ TERM_COLOR a = 0;
char c = ' ';
bool okay = TRUE;
/* Append to the file */
fff = my_fopen(buf, "r");
- /* Oops */
if (!fff) {
msg_format(_("%s を開くことができませんでした。", "Failed to open %s."), buf);
msg_print(NULL);
return;
}
-
- /* Save the screen */
screen_save();
-
- /* Clear the screen */
Term_clear();
-
/* Load the screen */
for (y = 0; okay; y++)
{
for (i = 0; i < 16; i++)
{
/* Use attr matches */
- if (hack[i] == buf[x]) a = i;
+ if (hack[i] == buf[x]) a = (byte_hack)i;
}
/* Put the attr/char */
my_fclose(fff);
- /* Message */
prt(_("ファイルに書き出された画面(記念撮影)をロードしました。", "Screen dump loaded."), 0, 0);
flush();
inkey();
-
- /* Restore the screen */
screen_load();
}
/* XTRA HACK RESLIST */
-static void do_cmd_knowledge_inven_aux(FILE *fff, object_type *o_ptr, int *j, byte tval, char *where)
+static void do_cmd_knowledge_inven_aux(FILE *fff, object_type *o_ptr, int *j, OBJECT_TYPE_VALUE tval, char *where)
{
- char o_name[MAX_NLEN];
- u32b flgs[TR_FLAG_SIZE];
+ GAME_TEXT o_name[MAX_NLEN];
+ BIT_FLAGS flgs[TR_FLAG_SIZE];
if (!o_ptr->k_idx) return;
if (o_ptr->tval != tval) return;
{
FILE *fff;
- char file_name[1024];
+ GAME_TEXT file_name[1024];
store_type *st_ptr;
- byte tval;
+ OBJECT_TYPE_VALUE tval;
int i = 0;
int j = 0;
do_cmd_knowledge_inven_aux(fff, &st_ptr->stock[i], &j, tval, where);
}
}
-
- /* Close the file */
my_fclose(fff);
/* Display the file contents */
{
int y, x, i;
- byte a = 0, old_a = 0;
+ TERM_COLOR a = 0, old_a = 0;
char c = ' ';
FILE *fff, *tmpfff;
/* Append to the file */
fff = my_fopen(filename, "w");
- /* Oops */
if (!fff) {
if (message) {
msg_format(_("ファイル %s を開けませんでした。", "Failed to open file %s."), filename);
return;
}
-
- /* Save the screen */
- if (message)
- screen_save();
+ if (message) screen_save();
/* Build the filename */
path_build(buf, sizeof(buf), ANGBAND_DIR_USER, "htmldump.prf");
/* Close it */
my_fclose(fff);
- /* Message */
if (message) {
msg_print(_("画面(記念撮影)をファイルに書き出しました。", "Screen dump saved."));
msg_print(NULL);
}
-
- /* Restore the screen */
if (message)
screen_load();
}
{
use_graphics = FALSE;
reset_visuals();
-
- /* Redraw everything */
p_ptr->redraw |= (PR_WIPE | PR_BASIC | PR_EXTRA | PR_MAP | PR_EQUIPPY);
-
- /* Hack -- update */
handle_stuff();
}
{
int y, x;
- byte a = 0;
+ TERM_COLOR a = 0;
char c = ' ';
FILE *fff;
/* Append to the file */
fff = my_fopen(buf, "w");
- /* Oops */
if (!fff)
{
msg_format(_("ファイル %s を開けませんでした。", "Failed to open file %s."), buf);
return;
}
-
- /* Save the screen */
screen_save();
/* Skip a line */
fprintf(fff, "\n");
-
/* Close it */
my_fclose(fff);
- /* Message */
msg_print(_("画面(記念撮影)をファイルに書き出しました。", "Screen dump saved."));
msg_print(NULL);
-
- /* Restore the screen */
screen_load();
}
{
use_graphics = TRUE;
reset_visuals();
-
- /* Redraw everything */
p_ptr->redraw |= (PR_WIPE | PR_BASIC | PR_EXTRA | PR_MAP | PR_EQUIPPY);
-
- /* Hack -- update */
handle_stuff();
}
}
*/
static void do_cmd_knowledge_artifacts(void)
{
- int i, k, x, y, n = 0;
+ IDX i;
+ IDX k;
+ POSITION x, y;
+ int n = 0;
IDX z;
u16b why = 3;
- s16b *who;
+ IDX *who;
FILE *fff;
- char file_name[1024];
+ GAME_TEXT file_name[1024];
- char base_name[MAX_NLEN];
+ GAME_TEXT base_name[MAX_NLEN];
bool *okay;
{
cave_type *c_ptr = &cave[y][x];
- s16b this_o_idx, next_o_idx = 0;
+ 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)
{
object_type *o_ptr;
-
- /* Acquire object */
o_ptr = &o_list[this_o_idx];
/* Acquire next object */
{
object_type forge;
object_type *q_ptr;
-
- /* Get local object */
q_ptr = &forge;
/* Create fake object */
/* Free the "okay" array */
C_KILL(okay, max_a_idx, bool);
-
- /* Close the file */
my_fclose(fff);
/* Display the file contents */
*/
static void do_cmd_knowledge_uniques(void)
{
- int i, k, n = 0;
+ IDX i;
+ int k, n = 0;
u16b why = 2;
- s16b *who;
+ IDX *who;
FILE *fff;
- char file_name[1024];
+ GAME_TEXT file_name[1024];
int n_alive[10];
int n_alive_surface = 0;
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 */
{
monster_race *r_ptr = &r_info[who[k]];
- /* Print a message */
fprintf(fff, _(" %s (レベル%d)\n", " %s (level %d)\n"), r_name + r_ptr->name, (int)r_ptr->level);
}
/* Free the "who" array */
C_KILL(who, max_r_idx, s16b);
-
- /* Close the file */
my_fclose(fff);
/* Display the file contents */
*/
static void do_cmd_knowledge_weapon_exp(void)
{
- int i, j, num, weapon_exp;
+ int i, num, weapon_exp;
+ KIND_OBJECT_IDX j;
FILE *fff;
- char file_name[1024];
+ GAME_TEXT file_name[1024];
char tmp[30];
/* Open a new file */
}
}
}
-
- /* Close the file */
my_fclose(fff);
/* Display the file contents */
*/
static void do_cmd_knowledge_spell_exp(void)
{
- int i = 0, spell_exp, exp_level;
+ SPELL_IDX i = 0;
+ int spell_exp, exp_level;
FILE *fff;
const magic_type *s_ptr;
- char file_name[1024];
+ GAME_TEXT file_name[1024];
/* Open a new file */
fff = my_fopen_temp(file_name, 1024);
fprintf(fff, "\n");
}
}
-
- /* Close the file */
my_fclose(fff);
/* Display the file contents */
FILE *fff;
- char file_name[1024];
- char skill_name[3][20]={_("マーシャルアーツ", "Martial Arts "),
+ GAME_TEXT file_name[1024];
+ GAME_TEXT skill_name[3][20]={_("マーシャルアーツ", "Martial Arts "),
_("二刀流 ", "Dual Wielding "),
_("乗馬 ", "Riding ")};
if (cheat_xtra) fprintf(fff, " %d", skill_exp);
fprintf(fff, "\n");
}
-
- /* Close the file */
my_fclose(fff);
/* Display the file contents */
int i;
FILE *fff;
monster_type *m_ptr;
- char pet_name[80];
+ GAME_TEXT pet_name[MAX_NLEN];
int t_friends = 0;
int show_upkeep = 0;
- char file_name[1024];
+ GAME_TEXT file_name[1024];
/* Open a new file */
#endif
-
- /* Close the file */
my_fclose(fff);
/* Display the file contents */
* @brief 現在のペットを表示するコマンドのメインルーチン /
* Total kill count
* @return なし
- * @note the player ghosts are ignored. XXX XXX XXX
+ * @note the player ghosts are ignored.
*/
static void do_cmd_knowledge_kill_count(void)
{
- int i, k, n = 0;
+ IDX i;
+ int k, n = 0;
u16b why = 2;
- s16b *who;
+ IDX *who;
FILE *fff;
- char file_name[1024];
+ GAME_TEXT file_name[1024];
s32b Total = 0;
}
else
{
- s16b This = r_ptr->r_pkills;
+ MONSTER_NUMBER This = r_ptr->r_pkills;
if (This > 0)
{
if (dead)
{
- /* Print a message */
- fprintf(fff, " %s\n",
- (r_name + r_ptr->name));
+ fprintf(fff, " %s\n", (r_name + r_ptr->name));
Total++;
}
}
else
{
- s16b This = r_ptr->r_pkills;
+ MONSTER_NUMBER This = r_ptr->r_pkills;
if (This > 0)
{
#ifdef JP
/* p,tは人と数える by ita */
if (my_strchr("pt", r_ptr->d_char))
- fprintf(fff, " %3d 人の %s\n", This, r_name + r_ptr->name);
+ fprintf(fff, " %3d 人の %s\n", (int)This, r_name + r_ptr->name);
else
- fprintf(fff, " %3d 体の %s\n", This, r_name + r_ptr->name);
+ fprintf(fff, " %3d 体の %s\n", (int)This, r_name + r_ptr->name);
#else
if (This < 2)
{
#ifdef JP
fprintf(fff," 合計: %lu 体を倒した。\n", (unsigned long int)Total);
#else
- fprintf(fff," Total: %lu creature%s killed.\n",
- (unsigned long int)Total, (Total == 1 ? "" : "s"));
+ fprintf(fff," Total: %lu creature%s killed.\n", (unsigned long int)Total, (Total == 1 ? "" : "s"));
#endif
/* Free the "who" array */
C_KILL(who, max_r_idx, s16b);
-
- /* Close the file */
my_fclose(fff);
/* Display the file contents */
* @param grp_top 現在の選択リスト最上部ID
* @return なし
*/
-static void display_group_list(int col, int row, int wid, int per_page,
- int 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[], cptr group_text[], int grp_cur, int grp_top)
{
int i;
int grp = grp_idx[grp_top + i];
/* Choose a color */
- byte attr = (grp_top + i == grp_cur) ? TERM_L_BLUE : TERM_WHITE;
+ TERM_COLOR attr = (grp_top + i == grp_cur) ? TERM_L_BLUE : TERM_WHITE;
/* Erase the entire line */
Term_erase(col, row + i, wid);
/*
* Move the cursor in a browser window
*/
-static void browser_cursor(char ch, int *column, IDX *grp_cur, IDX grp_cnt,
- IDX *list_cur, IDX list_cnt)
+static void browser_cursor(char ch, int *column, IDX *grp_cur, int grp_cnt,
+ IDX *list_cur, int list_cnt)
{
int d;
int col = *column;
int browser_rows;
int wid, hgt;
- /* Get size */
Term_get_size(&wid, &hgt);
browser_rows = hgt - 8;
/*
* Display visuals.
*/
-static void display_visual_list(int col, int row, int height, int width, byte attr_top, byte char_left)
+static void display_visual_list(int col, int row, int height, int width, TERM_COLOR attr_top, byte char_left)
{
int i, j;
{
byte a;
char c;
- int x = col + j;
- int y = row + i;
+ TERM_LEN x = col + j;
+ TERM_LEN y = row + i;
int ia, ic;
/* Bigtile mode uses double width */
/*
* Place the cursor at the collect position for visual mode
*/
-static void place_visual_list_cursor(int col, int row, byte a, byte c, byte attr_top, byte char_left)
+static void place_visual_list_cursor(TERM_LEN col, TERM_LEN row, TERM_COLOR a, byte c, TERM_COLOR attr_top, byte char_left)
{
int i = (a & 0x7f) - attr_top;
int j = c - char_left;
- int x = col + j;
- int y = row + i;
+ TERM_LEN x = col + j;
+ TERM_LEN y = row + i;
/* Bigtile mode uses double width */
if (use_bigtile) x += j;
/*
* Clipboard variables for copy&paste in visual mode
*/
-static byte attr_idx = 0;
+static TERM_COLOR attr_idx = 0;
static byte char_idx = 0;
/* Hack -- for feature lighting */
-static byte attr_idx_feat[F_LIT_MAX];
+static TERM_COLOR attr_idx_feat[F_LIT_MAX];
static byte char_idx_feat[F_LIT_MAX];
/*
*/
static bool visual_mode_command(char ch, bool *visual_list_ptr,
int height, int width,
- byte *attr_top_ptr, byte *char_left_ptr,
- byte *cur_attr_ptr, byte *cur_char_ptr, bool *need_redraw)
+ TERM_COLOR *attr_top_ptr, byte *char_left_ptr,
+ TERM_COLOR *cur_attr_ptr, SYMBOL_CODE *cur_char_ptr, bool *need_redraw)
{
- static byte attr_old = 0, char_old = 0;
+ static TERM_COLOR attr_old = 0;
+ static SYMBOL_CODE char_old = 0;
switch (ch)
{
/* Display lines until done */
for (i = 0; i < per_page && (mon_idx[mon_top + i] >= 0); i++)
{
- byte attr;
+ TERM_COLOR attr;
/* Get the race index */
- int r_idx = mon_idx[mon_top + i] ;
+ MONRACE_IDX r_idx = mon_idx[mon_top + i] ;
/* Access the race */
monster_race *r_ptr = &r_info[r_idx];
/*
* Display known monsters.
*/
-static void do_cmd_knowledge_monsters(bool *need_redraw, bool visual_only, int direct_r_idx)
+static void do_cmd_knowledge_monsters(bool *need_redraw, bool visual_only, IDX direct_r_idx)
{
- int i, len, max;
+ IDX i;
+ int len, max;
IDX grp_cur, grp_top, old_grp_cur;
IDX mon_cur, mon_top;
IDX grp_cnt, grp_idx[100];
bool redraw;
bool visual_list = FALSE;
- byte attr_top = 0, char_left = 0;
+ TERM_COLOR attr_top = 0;
+ byte char_left = 0;
int browser_rows;
- POSITION wid, hgt;
+ TERM_LEN wid, hgt;
- byte mode;
+ BIT_FLAGS8 mode;
- /* Get size */
Term_get_size(&wid, &hgt);
browser_rows = hgt - 8;
{
/* Mega Hack -- track this monster race */
if (mon_cnt) monster_race_track(mon_idx[mon_cur]);
-
- /* Hack -- handle stuff */
handle_stuff();
}
/*
* Display the objects in a group.
*/
-static void display_object_list(int col, int row, int per_page, int object_idx[],
+static void display_object_list(int col, int row, int per_page, IDX object_idx[],
int object_cur, int object_top, bool visual_only)
{
int i;
/* Display lines until done */
for (i = 0; i < per_page && (object_idx[object_top + i] >= 0); i++)
{
- char o_name[80];
- byte a, c;
+ GAME_TEXT o_name[MAX_NLEN];
+ TERM_COLOR a;
+ byte c;
object_kind *flavor_k_ptr;
/* Get the object index */
- int k_idx = object_idx[object_top + i];
+ KIND_OBJECT_IDX k_idx = object_idx[object_top + i];
/* Access the object */
object_kind *k_ptr = &k_info[k_idx];
/* Choose a color */
- byte attr = ((k_ptr->aware || visual_only) ? TERM_WHITE : TERM_SLATE);
+ TERM_COLOR attr = ((k_ptr->aware || visual_only) ? TERM_WHITE : TERM_SLATE);
byte cursor = ((k_ptr->aware || visual_only) ? TERM_L_BLUE : TERM_BLUE);
/*
* Describe fake object
*/
-static void desc_obj_fake(IDX k_idx)
+static void desc_obj_fake(KIND_OBJECT_IDX k_idx)
{
object_type *o_ptr;
object_type object_type_body;
-
- /* Get local object */
o_ptr = &object_type_body;
-
- /* Wipe the object */
object_wipe(o_ptr);
/* Create the artifact */
/* Hack - mark as fake */
/* term_obj_real = FALSE; */
-
- /* Hack -- Handle stuff */
handle_stuff();
if (!screen_object(o_ptr, SCROBJ_FAKE_OBJECT | SCROBJ_FORCE_DETAIL))
*/
static void do_cmd_knowledge_objects(bool *need_redraw, bool visual_only, IDX direct_k_idx)
{
- int i, len, max;
+ IDX i;
+ int len, max;
IDX grp_cur, grp_top, old_grp_cur;
IDX object_old, object_cur, object_top;
- int grp_cnt, grp_idx[100];
+ int grp_cnt;
+ IDX grp_idx[100];
int object_cnt;
- int *object_idx;
+ IDX *object_idx;
int column = 0;
bool flag;
bool redraw;
bool visual_list = FALSE;
- byte attr_top = 0, char_left = 0;
+ TERM_COLOR attr_top = 0;
+ byte char_left = 0;
int browser_rows;
int wid, hgt;
byte mode;
- /* Get size */
Term_get_size(&wid, &hgt);
browser_rows = hgt - 8;
/* Allocate the "object_idx" array */
- C_MAKE(object_idx, max_k_idx, int);
+ C_MAKE(object_idx, max_k_idx, IDX);
max = 0;
grp_cnt = 0;
/* The "current" object changed */
if (object_old != object_idx[object_cur])
{
- /* Hack -- handle stuff */
handle_stuff();
/* Remember the "current" object */
}
/* Free the "object_idx" array */
- C_KILL(object_idx, max_k_idx, int);
+ C_KILL(object_idx, max_k_idx, IDX);
}
/*
* Display the features in a group.
*/
-static void display_feature_list(int col, int row, int per_page, int *feat_idx,
- int feat_cur, int feat_top, bool visual_only, int lighting_level)
+static void display_feature_list(int col, int row, int per_page, FEAT_IDX *feat_idx,
+ FEAT_IDX feat_cur, FEAT_IDX feat_top, bool visual_only, int lighting_level)
{
int lit_col[F_LIT_MAX], i, j;
int f_idx_col = use_bigtile ? 62 : 64;
/* Display lines until done */
for (i = 0; i < per_page && (feat_idx[feat_top + i] >= 0); i++)
{
- byte attr;
+ TERM_COLOR attr;
/* Get the index */
- int f_idx = feat_idx[feat_top + i];
+ FEAT_IDX f_idx = feat_idx[feat_top + i];
/* Access the index */
feature_type *f_ptr = &f_info[f_idx];
/*
* Interact with feature visuals.
*/
-static void do_cmd_knowledge_features(bool *need_redraw, bool visual_only, int direct_f_idx, int *lighting_level)
+static void do_cmd_knowledge_features(bool *need_redraw, bool visual_only, IDX direct_f_idx, IDX *lighting_level)
{
- int i, len, max;
- int grp_cur, grp_top, old_grp_cur;
+ IDX i;
+ int len, max;
+ IDX grp_cur, grp_top, old_grp_cur;
IDX feat_cur, feat_top;
- int grp_cnt, grp_idx[100];
+ int grp_cnt;
+ IDX grp_idx[100];
int feat_cnt;
- int *feat_idx;
+ IDX *feat_idx;
int column = 0;
bool flag;
bool redraw;
bool visual_list = FALSE;
- byte attr_top = 0, char_left = 0;
+ TERM_COLOR attr_top = 0;
+ byte char_left = 0;
int browser_rows;
int wid, hgt;
- byte attr_old[F_LIT_MAX];
- byte char_old[F_LIT_MAX];
- byte *cur_attr_ptr, *cur_char_ptr;
+ TERM_COLOR attr_old[F_LIT_MAX];
+ SYMBOL_CODE char_old[F_LIT_MAX];
+ 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);
- /* Get size */
Term_get_size(&wid, &hgt);
browser_rows = hgt - 8;
/* Allocate the "feat_idx" array */
- C_MAKE(feat_idx, max_f_idx, int);
+ C_MAKE(feat_idx, max_f_idx, IDX);
max = 0;
grp_cnt = 0;
else if ((ch == 'D') || (ch == 'd'))
{
- byte prev_x_attr = f_ptr->x_attr[*lighting_level];
+ TERM_COLOR prev_x_attr = f_ptr->x_attr[*lighting_level];
byte prev_x_char = f_ptr->x_char[*lighting_level];
apply_default_feat_lighting(f_ptr->x_attr, f_ptr->x_char);
}
/* Free the "feat_idx" array */
- C_KILL(feat_idx, max_f_idx, int);
+ C_KILL(feat_idx, max_f_idx, IDX);
}
int i;
FILE *fff;
- char file_name[1024];
+ GAME_TEXT file_name[1024];
/* Open a new file */
fprintf(fff,"\n%s\n", _("賞金首はもう残っていません。", "There is no more wanted monster."));
}
}
-
- /* Close the file */
- my_fclose(fff);
+ my_fclose(fff);
/* Display the file contents */
show_file(TRUE, file_name, _("賞金首の一覧", "Wanted monsters"), 0, 0);
*/
static void do_cmd_knowledge_virtues(void)
{
- FILE *fff;
-
- char file_name[1024];
-
-
+ FILE *fff;
+ GAME_TEXT file_name[1024];
+
/* Open a new file */
fff = my_fopen_temp(file_name, 1024);
if (!fff) {
fprintf(fff, _("現在の属性 : %s\n\n", "Your alighnment : %s\n\n"), your_alignment());
dump_virtues(fff);
}
-
- /* Close the file */
- my_fclose(fff);
+ my_fclose(fff);
/* Display the file contents */
show_file(TRUE, file_name, _("八つの徳", "Virtues"), 0, 0);
{
FILE *fff;
- char file_name[1024];
+ GAME_TEXT file_name[1024];
int i;
-
-
+
/* Open a new file */
fff = my_fopen_temp(file_name, 1024);
if (!fff) {
fprintf(fff, _("%c%-12s : %3d 階\n", "%c%-16s : level %3d\n"), seiha ? '!' : ' ', d_name + d_info[i].name, (int)max_dlv[i]);
}
}
-
- /* Close the file */
- my_fclose(fff);
+ my_fclose(fff);
/* Display the file contents */
show_file(TRUE, file_name, _("今までに入ったダンジョン", "Dungeon"), 0, 0);
{
FILE *fff;
- char file_name[1024];
+ GAME_TEXT file_name[1024];
int percent, v_nr;
/* Open a new file */
}
dump_yourself(fff);
-
- /* Close the file */
my_fclose(fff);
/* Display the file contents */
{
char tmp_str[120];
char rand_tmp_str[120] = "\0";
- char name[80];
+ GAME_TEXT name[MAX_NLEN];
monster_race *r_ptr;
IDX i;
int rand_level = 100;
fprintf(fff, _("《遂行中のクエスト》\n", "< Current Quest >\n"));
- for (i = 1; i < max_quests; i++)
+ for (i = 1; i < max_q_idx; i++)
{
if ((quest[i].status == QUEST_STATUS_TAKEN) ||
((quest[i].status == QUEST_STATUS_STAGE_COMPLETED) && (quest[i].type == QUEST_TYPE_TOWER)) ||
{
#ifdef JP
sprintf(note," - %d 体の%sを倒す。(あと %d 体)",
- quest[i].max_num, name, quest[i].max_num - quest[i].cur_num);
+ (int)quest[i].max_num, name, (int)(quest[i].max_num - quest[i].cur_num));
#else
plural_aux(name);
sprintf(note," - kill %d %s, have killed %d.",
- quest[i].max_num, name, quest[i].cur_num);
+ (int)quest[i].max_num, name, (int)quest[i].cur_num);
#endif
}
else
artifact_type *a_ptr = &a_info[quest[i].k_idx];
object_type forge;
object_type *q_ptr = &forge;
- IDX k_idx = lookup_kind(a_ptr->tval, a_ptr->sval);
+ KIND_OBJECT_IDX k_idx = lookup_kind(a_ptr->tval, a_ptr->sval);
object_prep(q_ptr, k_idx);
q_ptr->name1 = quest[i].k_idx;
q_ptr->ident = IDENT_STORE;
case QUEST_TYPE_KILL_NUMBER:
#ifdef JP
sprintf(note," - %d 体のモンスターを倒す。(あと %d 体)",
- quest[i].max_num, quest[i].max_num - quest[i].cur_num);
+ (int)quest[i].max_num, (int)(quest[i].max_num - quest[i].cur_num));
#else
sprintf(note," - Kill %d monsters, have killed %d.",
- quest[i].max_num, quest[i].cur_num);
+ (int)quest[i].max_num, (int)quest[i].cur_num);
#endif
break;
{
#ifdef JP
sprintf(rand_tmp_str," %s (%d 階) - %d 体の%sを倒す。(あと %d 体)\n",
- quest[i].name, quest[i].level,
- quest[i].max_num, name, quest[i].max_num - quest[i].cur_num);
+ quest[i].name, (int)quest[i].level,
+ (int)quest[i].max_num, name, (int)(quest[i].max_num - quest[i].cur_num));
#else
plural_aux(name);
sprintf(rand_tmp_str," %s (Dungeon level: %d)\n Kill %d %s, have killed %d.\n",
- quest[i].name, quest[i].level,
- quest[i].max_num, name, quest[i].cur_num);
+ quest[i].name, (int)quest[i].level,
+ (int)quest[i].max_num, name, (int)quest[i].cur_num);
#endif
}
else
{
-#ifdef JP
- sprintf(rand_tmp_str," %s (%d 階) - %sを倒す。\n",
- quest[i].name, quest[i].level, name);
-#else
- sprintf(rand_tmp_str," %s (Dungeon level: %d)\n Kill %s.\n",
- quest[i].name, quest[i].level, name);
-#endif
+ sprintf(rand_tmp_str,_(" %s (%d 階) - %sを倒す。\n", " %s (Dungeon level: %d)\n Kill %s.\n"),
+ quest[i].name, (int)quest[i].level, name);
}
}
}
if (is_fixed_quest_idx(q_idx))
{
/* Set the quest number temporary */
- int old_quest = p_ptr->inside_quest;
+ IDX old_quest = p_ptr->inside_quest;
p_ptr->inside_quest = q_idx;
_(" %-35s (%3d階) - 不戦勝 - %s\n",
" %-35s (Dungeon level: %3d) - Unearned - %s\n") ,
r_name+r_info[q_ptr->r_idx].name,
- q_ptr->level, playtime_str);
+ (int)q_ptr->level, playtime_str);
}
else
{
_(" %-35s (%3d階) - レベル%2d - %s\n",
" %-35s (Dungeon level: %3d) - level %2d - %s\n") ,
r_name+r_info[q_ptr->r_idx].name,
- q_ptr->level,
+ (int)q_ptr->level,
q_ptr->complev,
playtime_str);
}
sprintf(tmp_str,
_(" %-35s (危険度:%3d階相当) - レベル%2d - %s\n",
" %-35s (Danger level: %3d) - level %2d - %s\n") ,
- q_ptr->name, q_ptr->level, q_ptr->complev, playtime_str);
+ q_ptr->name, (int)q_ptr->level, q_ptr->complev, playtime_str);
}
fputs(tmp_str, fff);
/*
* Print all finished quests
*/
-void do_cmd_knowledge_quests_completed(FILE *fff, int quest_num[])
+void do_cmd_knowledge_quests_completed(FILE *fff, IDX quest_num[])
{
int i;
int total = 0;
fprintf(fff, _("《達成したクエスト》\n", "< Completed Quest >\n"));
- for (i = 1; i < max_quests; i++)
+ for (i = 1; i < max_q_idx; i++)
{
- int q_idx = quest_num[i];
+ IDX q_idx = quest_num[i];
quest_type* const q_ptr = &quest[q_idx];
if (q_ptr->status == QUEST_STATUS_FINISHED &&
/*
* Print all failed quests
*/
-void do_cmd_knowledge_quests_failed(FILE *fff, int quest_num[])
+void do_cmd_knowledge_quests_failed(FILE *fff, IDX quest_num[])
{
- int i;
+ IDX i;
int total = 0;
fprintf(fff, _("《失敗したクエスト》\n", "< Failed Quest >\n"));
- for (i = 1; i < max_quests; i++)
+ for (i = 1; i < max_q_idx; i++)
{
- int q_idx = quest_num[i];
+ 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)) &&
int total = 0;
fprintf(fff, _("《残りのランダムクエスト》\n", "< Remaining Random Quest >\n"));
- for (i = 1; i < max_quests; i++)
+ for (i = 1; i < max_q_idx; i++)
{
/* No info from "silent" quests */
if (quest[i].flags & QUEST_FLAG_SILENT) continue;
total++;
/* Print the quest info */
-#ifdef JP
- sprintf(tmp_str, " %s (%d階, %s)\n",
- quest[i].name, quest[i].level, r_name+r_info[quest[i].r_idx].name);
-#else
- sprintf(tmp_str, " %s (%d, %s)\n",
- quest[i].name, quest[i].level, r_name+r_info[quest[i].r_idx].name);
-#endif
+ sprintf(tmp_str, _(" %s (%d階, %s)\n", " %s (%d, %s)\n"),
+ quest[i].name, (int)quest[i].level, r_name+r_info[quest[i].r_idx].name);
fputs(tmp_str, fff);
}
}
bool ang_sort_comp_quest_num(vptr u, vptr v, int a, int b)
{
- int *q_num = (int *)u;
+ QUEST_IDX *q_num = (QUEST_IDX *)u;
quest_type *qa = &quest[q_num[a]];
quest_type *qb = &quest[q_num[b]];
/* Unused */
(void)v;
- return (qa->comptime <= qb->comptime);
+ return (qa->comptime != qb->comptime) ?
+ (qa->comptime < qb->comptime) :
+ (qa->level <= qb->level);
}
void ang_sort_swap_quest_num(vptr u, vptr v, int a, int b)
{
- int *q_num = (int *)u;
- int tmp;
+ QUEST_IDX *q_num = (QUEST_IDX *)u;
+ QUEST_IDX tmp;
/* Unused */
(void)v;
static void do_cmd_knowledge_quests(void)
{
FILE *fff;
- char file_name[1024];
- int *quest_num, dummy, i;
+ GAME_TEXT file_name[1024];
+ IDX *quest_num;
+ int dummy;
+ IDX i;
/* Open a new file */
fff = my_fopen_temp(file_name, 1024);
}
/* Allocate Memory */
- C_MAKE(quest_num, max_quests, int);
+ C_MAKE(quest_num, max_q_idx, IDX);
/* Sort by compete level */
- for (i = 1; i < max_quests; i++) quest_num[i] = i;
+ for (i = 1; i < max_q_idx; i++) quest_num[i] = i;
ang_sort_comp = ang_sort_comp_quest_num;
ang_sort_swap = ang_sort_swap_quest_num;
- ang_sort(quest_num, &dummy, max_quests);
+ ang_sort(quest_num, &dummy, max_q_idx);
/* Dump Quest Information */
do_cmd_knowledge_quests_current(fff);
fputc('\n', fff);
do_cmd_knowledge_quests_wiz_random(fff);
}
-
- /* Close the file */
my_fclose(fff);
/* Display the file contents */
fd_kill(file_name);
/* Free Memory */
- C_KILL(quest_num, max_quests, int);
+ C_KILL(quest_num, max_q_idx, IDX);
}
FILE *fff;
int i;
- char file_name[1024];
+ GAME_TEXT file_name[1024];
store_type *st_ptr;
- char o_name[MAX_NLEN];
+ GAME_TEXT o_name[MAX_NLEN];
cptr paren = ")";
process_dungeon_file("w_info.txt", 0, 0, max_wild_y, max_wild_x);
if (st_ptr->stock_num)
{
#ifdef JP
- int x = 1;
+ TERM_LEN x = 1;
#endif
/* Header with name of the town */
fprintf(fff, _(" [ 我が家のアイテム ]\n", " [Home Inventory]\n"));
fprintf(fff, "\n\n");
}
}
-
- /* Close the file */
my_fclose(fff);
/* Display the file contents */
{
int k;
FILE *fff;
- char file_name[1024];
+ GAME_TEXT file_name[1024];
/* Open a new file */
fff = my_fopen_temp(file_name, 1024);
{
tmp = _("拾う", "Pickup");
}
- else /* if (act & DO_QUERY_AUTOPICK) */ /* Obvious */
+ else
{
tmp = _("確認", "Query");
}
string_free(tmp);
fprintf(fff, "\n");
}
- /* Close the file */
my_fclose(fff);
/* Display the file contents */
show_file(TRUE, file_name, _("自動拾い/破壊 設定リスト", "Auto-picker/Destroyer"), 0, 0);
/* File type is "TEXT" */
FILE_TYPE(FILE_TYPE_TEXT);
-
- /* Save the screen */
screen_save();
/* Interact until done */
while (1)
{
- /* Clear screen */
Term_clear();
/* Ask for a choice */
-#ifdef JP
- prt(format("%d/2 ページ", (p+1)), 2, 65);
- prt("現在の知識を確認する", 3, 0);
-#else
- prt(format("page %d/2", (p+1)), 2, 65);
- prt("Display current knowledge", 3, 0);
-#endif
+ prt(format(_("%d/2 ページ", "page %d/2"), (p+1)), 2, 65);
+ prt(_("現在の知識を確認する", "Display current knowledge"), 3, 0);
/* Give some choices */
#ifdef JP
}
#endif
/* Prompt */
-#ifdef JP
- prt("-続く-", 17, 8);
- prt("ESC) 抜ける", 21, 1);
- prt("SPACE) 次ページ", 21, 30);
+ prt(_("-続く-", "-more-"), 17, 8);
+ prt(_("ESC) 抜ける", "ESC) Exit menu"), 21, 1);
+ prt(_("SPACE) 次ページ", "SPACE) Next page"), 21, 30);
/*prt("-) 前ページ", 21, 60);*/
- prt("コマンド:", 20, 0);
-#else
- prt("-more-", 17, 8);
- prt("ESC) Exit menu", 21, 1);
- prt("SPACE) Next page", 21, 30);
- /*prt("-) Previous page", 21, 60);*/
- prt("Command: ", 20, 0);
-#endif
-
- /* Prompt */
+ prt(_("コマンド:", "Command: "), 20, 0);
i = inkey();
- /* Done */
if (i == ESCAPE) break;
switch (i)
{
break;
case '0': /* Feature list */
{
- int lighting_level = F_LIT_STANDARD;
+ IDX lighting_level = F_LIT_STANDARD;
do_cmd_knowledge_features(&need_redraw, FALSE, -1, &lighting_level);
}
break;
bell();
}
- /* Flush messages */
- msg_print(NULL);
+ msg_erase();
}
-
- /* Restore the screen */
screen_load();
if (need_redraw) do_cmd_redraw();
{
/* File type is "TEXT" */
FILE_TYPE(FILE_TYPE_TEXT);
-
- /* Save the screen */
screen_save();
/* Quest info */
do_cmd_knowledge_quests();
-
- /* Restore the screen */
screen_load();
}
if (day < MAX_DAYS) sprintf(day_buf, "%d", day);
else strcpy(day_buf, "*****");
- /* Message */
#ifdef JP
msg_format("%s日目, 時刻は%d:%02d %sです。",
day_buf, (hour % 12 == 0) ? 12 : (hour % 12),
/* Open this file */
fff = my_fopen(buf, "rt");
- /* Oops */
if (!fff) return;
/* Find this time */
}
}
- /* Message */
msg_print(desc);
-
- /* Close the file */
my_fclose(fff);
}