X-Git-Url: http://git.osdn.net/view?a=blobdiff_plain;f=src%2Fcmd4.c;h=7fc9c33fce758c40388fedf90773f22ad3c21089;hb=b138823cd6c5891a1c8ea857c34503f59131c163;hp=7db4847109b680478e905995d8e4381d6175d002;hpb=bf3562737ea5c7bb69f6b1393d903d3aea8272cd;p=hengband%2Fhengband.git diff --git a/src/cmd4.c b/src/cmd4.c index 7db484710..f8b48e5aa 100644 --- a/src/cmd4.c +++ b/src/cmd4.c @@ -40,7 +40,16 @@ */ #include "angband.h" - +#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" /* @@ -56,7 +65,7 @@ static char auto_dump_footer[] = "# ^^^^^^^== %s ==^^^^^^^"; * 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; @@ -65,7 +74,7 @@ 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; @@ -227,9 +236,9 @@ static void remove_auto_dump(cptr orig_file) * 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]; @@ -261,7 +270,7 @@ static void auto_dump_printf(cptr fmt, ...) * @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]; @@ -334,7 +343,7 @@ static void close_auto_dump(void) * @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) @@ -360,16 +369,16 @@ cptr get_ordinal_number_suffix(int num) * @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; - char file_name[80]; + GAME_TEXT file_name[MAX_NLEN]; char buf[1024]; - cptr note_level = ""; + concptr note_level = ""; bool do_level = TRUE; char note_level_buf[40]; - int q_idx; + QUEST_IDX q_idx; static bool disable_nikki = FALSE; @@ -383,7 +392,7 @@ errr do_cmd_write_nikki(int type, int num, cptr note) type == NIKKI_RAND_QUEST_F || type == NIKKI_TO_QUEST) { - int old_quest; + QUEST_IDX old_quest; old_quest = p_ptr->inside_quest; p_ptr->inside_quest = (quest[num].type == QUEST_TYPE_RANDOM) ? 0 : num; @@ -417,23 +426,23 @@ errr do_cmd_write_nikki(int type, int num, cptr note) 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)))) + && !((q_idx == QUEST_OBERON) || (q_idx == QUEST_SERPENT)))) note_level = _("ã¯ã¨ã¹ã:", "Quest:"); else { #ifdef JP - sprintf(note_level_buf, "%dé(%s):", 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, 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; } @@ -464,6 +473,11 @@ errr do_cmd_write_nikki(int type, int num, cptr note) fprintf(fff, _(" %2d:%02d %20s %sãçºè¦ããã\n", " %2d:%02d %20s discovered %s.\n"), hour, min, note_level, note); break; } + case NIKKI_ART_SCROLL: + { + fprintf(fff, _(" %2d:%02d %20s å·»ç©ã«ãã£ã¦%sãçæããã\n", " %2d:%02d %20s created %s by scroll.\n"), hour, min, note_level, note); + break; + } case NIKKI_UNIQUE: { fprintf(fff, _(" %2d:%02d %20s %sãåããã\n", " %2d:%02d %20s defeated %s.\n"), hour, min, note_level, note); @@ -485,7 +499,7 @@ errr do_cmd_write_nikki(int type, int num, cptr note) } 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); @@ -493,7 +507,7 @@ errr do_cmd_write_nikki(int type, int num, cptr note) } 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); @@ -503,21 +517,21 @@ errr do_cmd_write_nikki(int type, int num, cptr note) { 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: { 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, max_dlv[num]), - _(max_dlv[num], d_name + d_info[num].name)); + _(d_name + d_info[num].name, (int)max_dlv[num]), + _((int)max_dlv[num], d_name + d_info[num].name)); break; } case NIKKI_STAIR: { - cptr to; + concptr to; if (q_idx && (is_fixed_quest_idx(q_idx) && !((q_idx == QUEST_OBERON) || (q_idx == QUEST_SERPENT)))) { @@ -525,8 +539,8 @@ errr do_cmd_write_nikki(int type, int num, cptr note) } 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; @@ -535,8 +549,8 @@ errr do_cmd_write_nikki(int type, int num, cptr note) { 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, max_dlv[dungeon_type]), - _(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; @@ -591,11 +605,11 @@ errr do_cmd_write_nikki(int type, int num, cptr note) } 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); @@ -603,11 +617,11 @@ errr do_cmd_write_nikki(int type, int num, cptr note) } 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); @@ -680,12 +694,19 @@ errr do_cmd_write_nikki(int type, int num, cptr note) case RECORD_NAMED_PET_LOSE_PARENT: fprintf(fff, _("%sã®å¬åè ãæ¢ã«ããªãããæ¶ãå»ã£ãã\n", "%s disappeared because there does not exist summoner.\n"), note); break; + + default: fprintf(fff, "\n"); break; } break; } + + case NIKKI_WIZARD_LOG: + fprintf(fff, "%s\n", note); + break; + default: break; } @@ -709,7 +730,7 @@ errr do_cmd_write_nikki(int type, int num, cptr note) 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 @@ -786,16 +807,14 @@ static void do_cmd_disp_nikki(void) 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]); #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 */ @@ -846,7 +865,7 @@ static void do_cmd_last_get(void) */ static void do_cmd_erase_nikki(void) { - char file_name[80]; + GAME_TEXT file_name[MAX_NLEN]; char buf[256]; FILE *fff = NULL; @@ -879,14 +898,11 @@ void do_cmd_nikki(void) /* 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 */ @@ -906,7 +922,6 @@ void do_cmd_nikki(void) /* Prompt */ i = inkey(); - /* Done */ if (i == ESCAPE) break; switch (i) @@ -931,11 +946,8 @@ void do_cmd_nikki(void) bell(); } - /* Flush messages */ - msg_print(NULL); + msg_erase(); } - - /* Restore the screen */ screen_load(); } @@ -957,45 +969,27 @@ void do_cmd_nikki(void) 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); - - - /* Update torch */ + p_ptr->update |= (PU_COMBINE | PU_REORDER); 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(); @@ -1009,14 +1003,8 @@ void do_cmd_redraw(void) /* Activate */ Term_activate(angband_term[j]); - - /* Redraw */ Term_redraw(); - - /* Refresh */ Term_fresh(); - - /* Restore */ Term_activate(old); } } @@ -1035,8 +1023,6 @@ void do_cmd_change_name(void) char tmp[160]; - - /* Save the screen */ screen_save(); /* Forever */ @@ -1096,21 +1082,14 @@ void do_cmd_change_name(void) { 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(); @@ -1124,7 +1103,7 @@ void do_cmd_change_name(void) */ void do_cmd_message_one(void) { - /* Recall one message XXX XXX XXX */ + /* Recall one message */ prt(format("> %s", message_str(0)), 0, 0); } @@ -1157,11 +1136,10 @@ void do_cmd_messages(int num_now) char shower_str[81]; char finder_str[81]; char back_str[81]; - cptr shower = NULL; + concptr shower = NULL; int wid, hgt; int num_lines; - /* Get size */ Term_get_size(&wid, &hgt); /* Number of message lines in a screen */ @@ -1178,11 +1156,7 @@ void do_cmd_messages(int num_now) /* Start on first message */ i = 0; - - /* Save the screen */ screen_save(); - - /* Clear screen */ Term_clear(); /* Process requests until done */ @@ -1194,7 +1168,7 @@ void do_cmd_messages(int num_now) /* 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); @@ -1202,7 +1176,7 @@ void do_cmd_messages(int num_now) /* Hilite "shower" */ if (shower && shower[0]) { - cptr str = msg; + concptr str = msg; /* Display matches */ while ((str = my_strstr(str, shower)) != NULL) @@ -1224,21 +1198,15 @@ void do_cmd_messages(int num_now) Term_erase(0, num_lines + 1 - j, 255); } - /* Display header XXX XXX XXX */ -#ifdef JP + /* Display header */ /* translation */ - prt(format("以åã®ã¡ãã»ã¼ã¸ %d-%d å ¨é¨ã§(%d)", - i, i + j - 1, n), 0, 0); -#else - prt(format("Message Recall (%d-%d of %d)", + prt(format(_("以åã®ã¡ãã»ã¼ã¸ %d-%d å ¨é¨ã§(%d)", "Message Recall (%d-%d of %d)"), i, i + j - 1, n), 0, 0); -#endif /* Display prompt (not very informative) */ 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 */ @@ -1263,7 +1231,6 @@ void do_cmd_messages(int num_now) } else strcpy(shower_str, back_str); - /* Okay */ continue; /* Hack -- handle find */ @@ -1294,7 +1261,7 @@ void do_cmd_messages(int num_now) /* 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)) @@ -1302,7 +1269,6 @@ void do_cmd_messages(int num_now) /* New location */ i = z; - /* Done */ break; } } @@ -1370,76 +1336,29 @@ void do_cmd_messages(int num_now) /* Hack -- Error of some kind */ if (i == j) bell(); } - - /* Restore the screen */ screen_load(); } - -/*! - * ãã¼ããªãã·ã§ã³ã®æå¤§æ° / Number of cheating options - */ -#define CHEAT_MAX 7 - -/*! - * ãã¼ã¨ãªãã·ã§ã³ã®å®ç¾©ãã¼ãã« / 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") - } -}; - /*! * @brief ãã¼ããªãã·ã§ã³ãå¤æ´ããã³ãã³ãã®ã¡ã¤ã³ã«ã¼ãã³ * Interact with some options for cheating * @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; - 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); @@ -1548,18 +1467,6 @@ static void do_cmd_options_cheat(cptr info) /*! - * èªåã»ã¼ããªãã·ã§ã³ãã¼ãã« - */ -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 次ã®ã»ã¼ãé »åº¦ã¿ã¼ã³å¤ @@ -1587,22 +1494,18 @@ static s16b toggle_frequency(s16b current) * @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; - - 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); @@ -1618,9 +1521,9 @@ static void do_cmd_options_autosave(cptr 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); @@ -1706,7 +1609,7 @@ static void do_cmd_options_autosave(cptr info) * @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; @@ -1725,17 +1628,14 @@ void do_cmd_options_aux(int page, cptr info) /* 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); @@ -1858,14 +1758,10 @@ void do_cmd_options_aux(int page, cptr info) 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]; @@ -1876,14 +1772,12 @@ static void do_cmd_options_win(void) 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 (
* 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. **/ 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(); } @@ -2574,15 +2443,15 @@ static void do_cmd_macro_aux_keymap(char *buf) * @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]; char buf[1024]; - int mode; + BIT_FLAGS mode; /* Roguelike */ if (rogue_like_commands) @@ -2612,7 +2481,7 @@ static errr keymap_dump(cptr fname) /* Dump them */ for (i = 0; i < 256; i++) { - cptr act; + concptr act; /* Loop up the keymap */ act = keymap_act[mode][i]; @@ -2621,7 +2490,7 @@ static errr keymap_dump(cptr fname) if (!act) continue; /* Encode the key */ - buf[0] = i; + buf[0] = (char)i; buf[1] = '\0'; ascii_to_text(key, buf); @@ -2649,7 +2518,7 @@ static errr keymap_dump(cptr fname) *
* 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. **/ void do_cmd_macros(void) @@ -2660,7 +2529,7 @@ void do_cmd_macros(void) char buf[1024]; - int mode; + BIT_FLAGS mode; /* Roguelike */ @@ -2678,18 +2547,13 @@ void do_cmd_macros(void) /* 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 */ @@ -2719,7 +2583,6 @@ void do_cmd_macros(void) /* Prompt */ prt(_("ã³ãã³ã: ", "Command: "), 16, 0); - /* Get a command */ i = inkey(); /* Leave */ @@ -2908,7 +2771,7 @@ void do_cmd_macros(void) /* Query a keymap */ else if (i == '7') { - cptr act; + concptr act; /* Prompt */ prt(_("ã³ãã³ã: ãã¼é ç½®ã®ç¢ºèª", "Command: Query a keymap"), 16, 0); @@ -3038,25 +2901,20 @@ void do_cmd_macros(void) #endif /* ALLOW_MACROS */ - /* Oops */ else { - /* Oops */ bell(); } - /* Flush messages */ - msg_print(NULL); + msg_erase(); } - - /* Load screen */ screen_load(); } /*! * @brief ãã£ã©ã¯ã¿è²ã®ææè¡¨ç¾ */ -static cptr lighting_level_str[F_LIT_MAX] = +static concptr lighting_level_str[F_LIT_MAX] = { #ifdef JP "æ¨æºè²", @@ -3077,19 +2935,19 @@ static cptr lighting_level_str[F_LIT_MAX] = * @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; } @@ -3106,7 +2964,7 @@ static bool cmd_visuals_aux(int i, int *num, int max) * @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); @@ -3131,9 +2989,9 @@ static void print_visuals_menu(cptr choice_msg) 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" @@ -3144,20 +3002,17 @@ void do_cmd_visuals(void) char tmp[160]; char buf[1024]; bool need_redraw = FALSE; - const char *empty_symbol = "<< ? >>"; + concptr 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 */ @@ -3166,7 +3021,6 @@ void do_cmd_visuals(void) /* Prompt */ i = inkey(); - /* Done */ if (i == ESCAPE) break; switch (i) @@ -3196,7 +3050,7 @@ void do_cmd_visuals(void) /* 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); @@ -3238,7 +3092,6 @@ void do_cmd_visuals(void) /* Close */ close_auto_dump(); - /* Message */ msg_print(_("ã¢ã³ã¹ã¿ã¼ã®[è²/æå]ããã¡ã¤ã«ã«æ¸ãåºãã¾ããã", "Dumped monster attr/chars.")); break; @@ -3247,7 +3100,8 @@ void do_cmd_visuals(void) /* Dump object attr/chars */ case '2': { - static cptr mark = "Object attr/chars"; + static concptr mark = "Object attr/chars"; + KIND_OBJECT_IDX k_idx; /* Prompt */ prt(_("ã³ãã³ã: ã¢ã¤ãã ã®[è²/æå]ããã¡ã¤ã«ã«æ¸ãåºãã¾ã", "Command: Dump object attr/chars"), 15, 0); @@ -3271,10 +3125,10 @@ void do_cmd_visuals(void) auto_dump_printf(_("\n# ã¢ã¤ãã ã®[è²/æå]ã®è¨å®\n\n", "\n# Object attr/char definitions\n\n")); /* Dump objects */ - for (i = 0; i < max_k_idx; i++) + for (k_idx = 0; k_idx < max_k_idx; k_idx++) { - char o_name[80]; - object_kind *k_ptr = &k_info[i]; + GAME_TEXT o_name[MAX_NLEN]; + object_kind *k_ptr = &k_info[k_idx]; /* Skip non-entries */ if (!k_ptr->name) continue; @@ -3282,14 +3136,14 @@ void do_cmd_visuals(void) if (!k_ptr->flavor) { /* Tidy name */ - strip_name(o_name, i); + strip_name(o_name, k_idx); } else { object_type forge; /* Prepare dummy object */ - object_prep(&forge, i); + object_prep(&forge, k_idx); /* Get un-shuffled flavor name */ object_desc(o_name, &forge, OD_FORCE_FLAVOR); @@ -3299,14 +3153,13 @@ void do_cmd_visuals(void) auto_dump_printf("# %s\n", o_name); /* Dump the object attr/char info */ - auto_dump_printf("K:%d:0x%02X/0x%02X\n\n", i, + auto_dump_printf("K:%d:0x%02X/0x%02X\n\n", (int)k_idx, (byte)(k_ptr->x_attr), (byte)(k_ptr->x_char)); } /* Close */ close_auto_dump(); - /* Message */ msg_print(_("ã¢ã¤ãã ã®[è²/æå]ããã¡ã¤ã«ã«æ¸ãåºãã¾ããã", "Dumped object attr/chars.")); break; @@ -3315,7 +3168,7 @@ void do_cmd_visuals(void) /* 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); @@ -3362,7 +3215,6 @@ void do_cmd_visuals(void) /* Close */ close_auto_dump(); - /* Message */ msg_print(_("å°å½¢ã®[è²/æå]ããã¡ã¤ã«ã«æ¸ãåºãã¾ããã", "Dumped feature attr/chars.")); break; @@ -3371,8 +3223,8 @@ void do_cmd_visuals(void) /* Modify monster attr/chars (numeric operation) */ case '4': { - static cptr choice_msg = _("ã¢ã³ã¹ã¿ã¼ã®[è²/æå]ãå¤æ´ãã¾ã", "Change monster attr/chars"); - static int r = 0; + static concptr choice_msg = _("ã¢ã³ã¹ã¿ã¼ã®[è²/æå]ãå¤æ´ãã¾ã", "Change monster attr/chars"); + static MONRACE_IDX r = 0; prt(format(_("ã³ãã³ã: %s", "Command: %s"), choice_msg), 15, 0); @@ -3380,12 +3232,12 @@ void do_cmd_visuals(void) 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 */ @@ -3410,7 +3262,6 @@ void do_cmd_visuals(void) 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 */ @@ -3424,7 +3275,7 @@ void do_cmd_visuals(void) { case 'n': { - int prev_r = r; + IDX prev_r = r; do { if (!cmd_visuals_aux(i, &r, max_r_idx)) @@ -3450,8 +3301,6 @@ void do_cmd_visuals(void) break; case 'v': do_cmd_knowledge_monsters(&need_redraw, TRUE, r); - - /* Clear screen */ Term_clear(); print_visuals_menu(choice_msg); break; @@ -3464,21 +3313,21 @@ void do_cmd_visuals(void) /* Modify object attr/chars (numeric operation) */ case '5': { - static cptr choice_msg = _("ã¢ã¤ãã ã®[è²/æå]ãå¤æ´ãã¾ã", "Change object attr/chars"); - static int k = 0; + static concptr choice_msg = _("ã¢ã¤ãã ã®[è²/æå]ãå¤æ´ãã¾ã", "Change object attr/chars"); + 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, @@ -3503,7 +3352,6 @@ void do_cmd_visuals(void) 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 */ @@ -3517,7 +3365,7 @@ void do_cmd_visuals(void) { case 'n': { - int prev_k = k; + IDX prev_k = k; do { if (!cmd_visuals_aux(i, &k, max_k_idx)) @@ -3543,8 +3391,6 @@ void do_cmd_visuals(void) break; case 'v': do_cmd_knowledge_objects(&need_redraw, TRUE, k); - - /* Clear screen */ Term_clear(); print_visuals_menu(choice_msg); break; @@ -3557,21 +3403,21 @@ void do_cmd_visuals(void) /* Modify feature attr/chars (numeric operation) */ case '6': { - static cptr choice_msg = _("å°å½¢ã®[è²/æå]ãå¤æ´ãã¾ã", "Change feature attr/chars"); - static int f = 0; - static int lighting_level = F_LIT_STANDARD; + 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); /* 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 */ @@ -3608,7 +3454,6 @@ void do_cmd_visuals(void) "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 */ @@ -3622,7 +3467,7 @@ void do_cmd_visuals(void) { case 'n': { - int prev_f = f; + IDX prev_f = f; do { if (!cmd_visuals_aux(i, &f, max_f_idx)) @@ -3655,8 +3500,6 @@ void do_cmd_visuals(void) break; case 'v': do_cmd_knowledge_features(&need_redraw, TRUE, f, &lighting_level); - - /* Clear screen */ Term_clear(); print_visuals_menu(choice_msg); break; @@ -3679,7 +3522,7 @@ void do_cmd_visuals(void) /* 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; } @@ -3692,7 +3535,6 @@ void do_cmd_visuals(void) /* Reset */ reset_visuals(); - /* Message */ msg_print(_("ç»é¢ä¸ã®[è²/æå]ãåæå¤ã«ãªã»ãããã¾ããã", "Visual attr/char tables reset.")); need_redraw = TRUE; break; @@ -3703,11 +3545,8 @@ void do_cmd_visuals(void) break; } - /* Flush messages */ - msg_print(NULL); + msg_erase(); } - - /* Restore the screen */ screen_load(); if (need_redraw) do_cmd_redraw(); @@ -3729,15 +3568,12 @@ void do_cmd_colors(void) /* 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 */ @@ -3756,7 +3592,6 @@ void do_cmd_colors(void) /* Prompt */ i = inkey(); - /* Done */ if (i == ESCAPE) break; /* Load a 'pref' file */ @@ -3789,7 +3624,7 @@ void do_cmd_colors(void) /* Dump colors */ else if (i == '2') { - static cptr mark = "Colors"; + static concptr mark = "Colors"; /* Prompt */ prt(_("ã³ãã³ã: ã«ã©ã¼ã®è¨å®ããã¡ã¤ã«ã«æ¸ãåºãã¾ã", "Command: Dump colors"), 8, 0); @@ -3820,7 +3655,7 @@ void do_cmd_colors(void) 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; @@ -3839,7 +3674,6 @@ void do_cmd_colors(void) /* Close */ close_auto_dump(); - /* Message */ msg_print(_("ã«ã©ã¼ã®è¨å®ããã¡ã¤ã«ã«æ¸ãåºãã¾ããã", "Dumped color redefinitions.")); } @@ -3854,7 +3688,7 @@ void do_cmd_colors(void) /* Hack -- query until done */ while (1) { - cptr name; + concptr name; byte j; /* Clear */ @@ -3889,8 +3723,6 @@ void do_cmd_colors(void) 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 */ @@ -3924,12 +3756,9 @@ void do_cmd_colors(void) bell(); } - /* Flush messages */ - msg_print(NULL); + msg_erase(); } - - /* Restore the screen */ screen_load(); } @@ -3960,9 +3789,13 @@ void do_cmd_note(void) */ 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); +#else msg_format(_("å¤æè®æ(Hengband) %d.%d.%d", "You are playing Hengband %d.%d.%d."), - FAKE_VER_MAJOR-10, FAKE_VER_MINOR, FAKE_VER_PATCH); + FAKE_VER_MAJOR - 10, FAKE_VER_MINOR, FAKE_VER_PATCH); +#endif } @@ -3970,7 +3803,7 @@ void do_cmd_version(void) /* * 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."), @@ -3985,7 +3818,7 @@ static cptr do_cmd_feeling_text[11] = _("ãªãã¦éå±ãªã¨ããã ...", "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."), @@ -4000,7 +3833,7 @@ static cptr do_cmd_feeling_text_combat[11] = _("ãªãã¦éå±ãªã¨ããã ...", "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."), @@ -4022,17 +3855,19 @@ static cptr do_cmd_feeling_text_lucky[11] = */ 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; @@ -4045,7 +3880,7 @@ void do_cmd_feeling(void) } /* 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; @@ -4066,7 +3901,7 @@ void do_cmd_feeling(void) /* * Description of each monster group. */ -static cptr monster_group_text[] = +static concptr monster_group_text[] = { #ifdef JP "ã¦ãã¼ã¯", /* "Uniques" */ @@ -4199,7 +4034,7 @@ static cptr monster_group_text[] = * 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, @@ -4296,13 +4131,14 @@ static bool ang_sort_comp_monster_level(vptr u, vptr v, int a, int b) * 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 */ - 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); @@ -4391,7 +4227,7 @@ static int collect_monsters(int grp_cur, s16b mon_idx[], byte mode) /* * Description of each monster group. */ -static cptr object_group_text[] = +static concptr object_group_text[] = { #ifdef JP "ããã³", /* "Mushrooms" */ @@ -4542,9 +4378,10 @@ static byte object_group_tval[] = * 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 KIND_OBJECT_IDX collect_objects(int grp_cur, KIND_OBJECT_IDX object_idx[], BIT_FLAGS8 mode) { - int i, 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]; @@ -4611,7 +4448,7 @@ static int collect_objects(int grp_cur, int object_idx[], byte mode) /* * Description of each feature group. */ -static cptr feature_group_text[] = +static concptr feature_group_text[] = { "terrains", NULL @@ -4624,9 +4461,10 @@ static cptr feature_group_text[] = * * mode & 0x01 : check for non-empty group */ -static int collect_features(int grp_cur, int *feat_idx, byte mode) +static FEAT_IDX collect_features(int grp_cur, FEAT_IDX *feat_idx, BIT_FLAGS8 mode) { - int i, feat_cnt = 0; + FEAT_IDX i; + FEAT_IDX feat_cnt = 0; /* Unused; There is a single group. */ (void)grp_cur; @@ -4710,18 +4548,14 @@ static char hack[17] = "dwsorgbuDWvyRGBU"; */ void do_cmd_load_screen(void) { - int i, y, x; - - byte a = 0; - char c = ' '; - + int i; + TERM_LEN y, x; + TERM_COLOR a = 0; + SYMBOL_CODE c = ' '; bool okay = TRUE; - FILE *fff; - char buf[1024]; - - int wid, hgt; + TERM_LEN wid, hgt; Term_get_size(&wid, &hgt); @@ -4731,21 +4565,15 @@ void do_cmd_load_screen(void) /* 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++) { @@ -4794,7 +4622,7 @@ void do_cmd_load_screen(void) 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 */ @@ -4802,26 +4630,21 @@ void do_cmd_load_screen(void) } } - /* Close it */ my_fclose(fff); - - /* Message */ prt(_("ãã¡ã¤ã«ã«æ¸ãåºãããç»é¢(è¨å¿µæ®å½±)ããã¼ããã¾ããã", "Screen dump loaded."), 0, 0); flush(); inkey(); - - /* Restore the screen */ screen_load(); } -cptr inven_res_label = _(" é ¸é»ç«å·æ¯å éç ´è½çå æ²å£ ç²æä¹±çºéå½ææ¶å¾©æµ®", +concptr inven_res_label = _(" é ¸é»ç«å·æ¯å éç ´è½çå æ²å£ ç²æä¹±çºéå½ææ¶å¾©æµ®", " AcElFiCoPoLiDkShSoNtNxCaDi BlFeCfFaSeHlEpSdRgLv"); @@ -4842,10 +4665,10 @@ cptr inven_res_label = _(" é ¸é»ç«å·æ¯å é /* 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; @@ -4941,16 +4764,13 @@ static void do_cmd_knowledge_inven_aux(FILE *fff, object_type *o_ptr, int *j, by static void do_cmd_knowledge_inven(void) { 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; - char where[32]; + char where[32]; /* Open a new file */ fff = my_fopen_temp(file_name, 1024); @@ -4981,15 +4801,13 @@ static void do_cmd_knowledge_inven(void) 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++) { do_cmd_knowledge_inven_aux(fff, &st_ptr->stock[i], &j, tval, where); } } - - /* Close the file */ my_fclose(fff); /* Display the file contents */ @@ -5002,34 +4820,35 @@ static void do_cmd_knowledge_inven(void) void do_cmd_save_screen_html_aux(char *filename, int message) { - int y, x, i; + TERM_LEN y, x; + int i; - byte a = 0, old_a = 0; + TERM_COLOR a = 0, old_a = 0; char c = ' '; FILE *fff, *tmpfff; 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[] = { "\n\n", "
", 0, }; - cptr html_foot[] = { + concptr html_foot[] = { "\n", "\n\n", 0, }; - int wid, hgt; + TERM_LEN wid, hgt; Term_get_size(&wid, &hgt); @@ -5039,7 +4858,6 @@ void do_cmd_save_screen_html_aux(char *filename, int message) /* Append to the file */ fff = my_fopen(filename, "w"); - /* Oops */ if (!fff) { if (message) { msg_format(_("ãã¡ã¤ã« %s ãéãã¾ããã§ããã", "Failed to open file %s."), filename); @@ -5048,10 +4866,7 @@ void do_cmd_save_screen_html_aux(char *filename, int message) 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"); @@ -5086,7 +4901,7 @@ void do_cmd_save_screen_html_aux(char *filename, int message) 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)); @@ -5145,13 +4960,10 @@ void do_cmd_save_screen_html_aux(char *filename, int message) /* Close it */ my_fclose(fff); - /* Message */ if (message) { msg_print(_("ç»é¢(è¨å¿µæ®å½±)ããã¡ã¤ã«ã«æ¸ãåºãã¾ããã", "Screen dump saved.")); msg_print(NULL); } - - /* Restore the screen */ if (message) screen_load(); } @@ -5215,11 +5027,7 @@ void do_cmd_save_screen(void) { use_graphics = FALSE; reset_visuals(); - - /* Redraw everything */ p_ptr->redraw |= (PR_WIPE | PR_BASIC | PR_EXTRA | PR_MAP | PR_EQUIPPY); - - /* Hack -- update */ handle_stuff(); } @@ -5237,13 +5045,10 @@ void do_cmd_save_screen(void) } else /* Dump the screen as text */ { - int y, x; - - byte a = 0; - char c = ' '; - + TERM_LEN y, x; + TERM_COLOR a = 0; + SYMBOL_CODE c = ' '; FILE *fff; - char buf[1024]; /* Build the filename */ @@ -5255,7 +5060,6 @@ void do_cmd_save_screen(void) /* Append to the file */ fff = my_fopen(buf, "w"); - /* Oops */ if (!fff) { msg_format(_("ãã¡ã¤ã« %s ãéãã¾ããã§ããã", "Failed to open file %s."), buf); @@ -5263,8 +5067,6 @@ void do_cmd_save_screen(void) return; } - - /* Save the screen */ screen_save(); @@ -5315,15 +5117,11 @@ void do_cmd_save_screen(void) /* 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(); } @@ -5331,11 +5129,7 @@ void do_cmd_save_screen(void) { use_graphics = TRUE; reset_visuals(); - - /* Redraw everything */ p_ptr->redraw |= (PR_WIPE | PR_BASIC | PR_EXTRA | PR_MAP | PR_EQUIPPY); - - /* Hack -- update */ handle_stuff(); } } @@ -5429,15 +5223,16 @@ static void ang_sort_art_swap(vptr u, vptr v, int a, int b) */ static void do_cmd_knowledge_artifacts(void) { - int i, k, z, x, y, n = 0; + ARTIFACT_IDX i; + ARTIFACT_IDX k; + POSITION x, y; + int n = 0; + ARTIFACT_IDX z; u16b why = 3; - s16b *who; - + ARTIFACT_IDX *who; FILE *fff; - - char file_name[1024]; - - char base_name[MAX_NLEN]; + GAME_TEXT file_name[1024]; + GAME_TEXT base_name[MAX_NLEN]; bool *okay; @@ -5451,7 +5246,7 @@ static void do_cmd_knowledge_artifacts(void) } /* 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); @@ -5475,21 +5270,19 @@ static void do_cmd_knowledge_artifacts(void) } /* 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]; - 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) + for (this_o_idx = g_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]; + o_ptr = ¤t_floor_ptr->o_list[this_o_idx]; /* Acquire next object */ next_o_idx = o_ptr->next_o_idx; @@ -5552,8 +5345,6 @@ static void do_cmd_knowledge_artifacts(void) { object_type forge; object_type *q_ptr; - - /* Get local object */ q_ptr = &forge; /* Create fake object */ @@ -5574,12 +5365,10 @@ static void do_cmd_knowledge_artifacts(void) } /* 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); - - /* Close the file */ my_fclose(fff); /* Display the file contents */ @@ -5596,13 +5385,14 @@ static void do_cmd_knowledge_artifacts(void) */ 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; @@ -5617,13 +5407,13 @@ static void do_cmd_knowledge_uniques(void) 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); /* Scan the monsters */ for (i = 1; i < max_r_idx; i++) @@ -5699,14 +5489,11 @@ static void do_cmd_knowledge_uniques(void) { 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, r_ptr->level); + 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 */ @@ -5722,11 +5509,13 @@ static void do_cmd_knowledge_uniques(void) */ static void do_cmd_knowledge_weapon_exp(void) { - int i, j, num, weapon_exp; + int i, num; + SUB_EXP weapon_exp; + KIND_OBJECT_IDX j; FILE *fff; - char file_name[1024]; + GAME_TEXT file_name[1024]; char tmp[30]; /* Open a new file */ @@ -5762,8 +5551,6 @@ static void do_cmd_knowledge_weapon_exp(void) } } } - - /* Close the file */ my_fclose(fff); /* Display the file contents */ @@ -5781,12 +5568,14 @@ static void do_cmd_knowledge_weapon_exp(void) */ static void do_cmd_knowledge_spell_exp(void) { - int i = 0, spell_exp, exp_level; + SPELL_IDX i = 0; + SUB_EXP spell_exp; + int 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); @@ -5851,8 +5640,6 @@ static void do_cmd_knowledge_spell_exp(void) fprintf(fff, "\n"); } } - - /* Close the file */ my_fclose(fff); /* Display the file contents */ @@ -5875,9 +5662,13 @@ static void do_cmd_knowledge_skill_exp(void) FILE *fff; char file_name[1024]; - char skill_name[3][20]={_("ãã¼ã·ã£ã«ã¢ã¼ã", "Martial Arts "), - _("äºåæµ ", "Dual Wielding "), - _("ä¹é¦¬ ", "Riding ")}; + char skill_name[GINOU_TEMPMAX][20] = + { + _("ãã¼ã·ã£ã«ã¢ã¼ã", "Martial Arts "), + _("äºåæµ ", "Dual Wielding "), + _("ä¹é¦¬ ", "Riding "), + _("ç¾ ", "Shield ") + }; /* Open a new file */ fff = my_fopen_temp(file_name, 1024); @@ -5887,7 +5678,7 @@ static void do_cmd_knowledge_skill_exp(void) 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]); @@ -5897,8 +5688,6 @@ static void do_cmd_knowledge_skill_exp(void) if (cheat_xtra) fprintf(fff, " %d", skill_exp); fprintf(fff, "\n"); } - - /* Close the file */ my_fclose(fff); /* Display the file contents */ @@ -5936,10 +5725,10 @@ void plural_aux(char *Name) } 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) { @@ -6044,10 +5833,10 @@ static void do_cmd_knowledge_pets(void) 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 */ @@ -6081,16 +5870,12 @@ static void do_cmd_knowledge_pets(void) 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); - - /* Close the file */ my_fclose(fff); /* Display the file contents */ @@ -6105,17 +5890,16 @@ static void do_cmd_knowledge_pets(void) * @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; + MONRACE_IDX i; + int k, n = 0; u16b why = 2; - s16b *who; - + MONRACE_IDX *who; FILE *fff; - - char file_name[1024]; + GAME_TEXT file_name[1024]; s32b Total = 0; @@ -6124,13 +5908,13 @@ static void do_cmd_knowledge_kill_count(void) 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 */ @@ -6151,7 +5935,7 @@ static void do_cmd_knowledge_kill_count(void) } else { - s16b This = r_ptr->r_pkills; + MONSTER_NUMBER This = r_ptr->r_pkills; if (This > 0) { @@ -6199,24 +5983,22 @@ static void do_cmd_knowledge_kill_count(void) 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) { @@ -6248,15 +6030,12 @@ static void do_cmd_knowledge_kill_count(void) #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 */ @@ -6280,8 +6059,7 @@ static void do_cmd_knowledge_kill_count(void) * @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[], concptr group_text[], int grp_cur, int grp_top) { int i; @@ -6292,7 +6070,7 @@ static void display_group_list(int col, int row, int wid, int per_page, 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); @@ -6306,13 +6084,13 @@ static void display_group_list(int col, int row, int wid, int per_page, /* * Move the cursor in a browser window */ -static void browser_cursor(char ch, int *column, int *grp_cur, int grp_cnt, - int *list_cur, int 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 grp = *grp_cur; - int list = *list_cur; + IDX grp = *grp_cur; + IDX list = *list_cur; /* Extract direction */ if (ch == ' ') @@ -6338,7 +6116,6 @@ static void browser_cursor(char ch, int *column, int *grp_cur, int grp_cnt, int browser_rows; int wid, hgt; - /* Get size */ Term_get_size(&wid, &hgt); browser_rows = hgt - 8; @@ -6391,7 +6168,7 @@ static void browser_cursor(char ch, int *column, int *grp_cur, int grp_cnt, int old_grp = grp; /* Move up or down */ - grp += ddy[d]; + grp += (IDX)ddy[d]; /* Verify */ if (grp >= grp_cnt) grp = grp_cnt - 1; @@ -6403,7 +6180,7 @@ static void browser_cursor(char ch, int *column, int *grp_cur, int grp_cnt, else { /* Move up or down */ - list += ddy[d]; + list += (IDX)ddy[d]; /* Verify */ if (list >= list_cnt) list = list_cnt - 1; @@ -6418,7 +6195,7 @@ static void browser_cursor(char ch, int *column, int *grp_cur, int grp_cnt, /* * 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; @@ -6437,11 +6214,10 @@ static void display_visual_list(int col, int row, int height, int width, byte at /* Display columns until done */ for (j = 0; j < width; j++) { - byte a; - char c; - int x = col + j; - int y = row + i; - int ia, ic; + TERM_COLOR a, ia; + SYMBOL_CODE c, ic; + TERM_LEN x = col + j; + TERM_LEN y = row + i; /* Bigtile mode uses double width */ if (use_bigtile) x += j; @@ -6454,8 +6230,8 @@ static void display_visual_list(int col, int row, int height, int width, byte at (!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; @@ -6470,13 +6246,13 @@ static void display_visual_list(int col, int row, int height, int width, byte at /* * 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; @@ -6489,22 +6265,23 @@ static void place_visual_list_cursor(int col, int row, byte a, byte c, byte attr /* * Clipboard variables for copy&paste in visual mode */ -static byte attr_idx = 0; -static byte char_idx = 0; +static TERM_COLOR attr_idx = 0; +static SYMBOL_CODE char_idx = 0; /* Hack -- for feature lighting */ -static byte attr_idx_feat[F_LIT_MAX]; -static byte char_idx_feat[F_LIT_MAX]; +static TERM_COLOR attr_idx_feat[F_LIT_MAX]; +static SYMBOL_CODE char_idx_feat[F_LIT_MAX]; /* * Do visual mode command -- Change symbols */ 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) { @@ -6591,8 +6368,8 @@ static bool visual_mode_command(char ch, bool *visual_list_ptr, { 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; @@ -6603,8 +6380,8 @@ static bool visual_mode_command(char ch, bool *visual_list_ptr, 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; @@ -6640,10 +6417,10 @@ static void display_monster_list(int col, int row, int per_page, s16b mon_idx[], /* 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]; @@ -6692,34 +6469,35 @@ static void display_monster_list(int col, int row, int per_page, s16b mon_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; - 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 i; + int len, max; + 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; 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; + TERM_LEN wid, hgt; - byte mode; + BIT_FLAGS8 mode; - /* Get size */ Term_get_size(&wid, &hgt); 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; @@ -6779,22 +6557,12 @@ static void do_cmd_knowledge_monsters(bool *need_redraw, bool visual_only, int d 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++) { @@ -6853,19 +6621,11 @@ static void do_cmd_knowledge_monsters(bool *need_redraw, bool visual_only, int d } /* 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("