X-Git-Url: http://git.osdn.net/view?a=blobdiff_plain;f=src%2Futil.c;h=e1972e37fbf0d13560b8af0f09fad103024fda4a;hb=97ab6e743be47c3c082d699ddf862a792fe08e9b;hp=8270bad08705caad106482b9040984756e5e97ca;hpb=9e22dc72a9eb2b1c4f7968d7081d9177b7468334;p=hengband%2Fhengband.git diff --git a/src/util.c b/src/util.c index 8270bad08..e1972e37f 100644 --- a/src/util.c +++ b/src/util.c @@ -11,6 +11,7 @@ /* Purpose: Angband utilities -BEN- */ #include "angband.h" +#include "monster-hook.h" static int num_more = 0; @@ -283,7 +284,6 @@ static errr path_temp(char *buf, int max) /* Temp file */ s = tmpnam(NULL); - /* Oops */ if (!s) return (-1); /* Format to length */ @@ -438,9 +438,7 @@ FILE *my_fopen_temp(char *buf, int max) errr my_fgets(FILE *fff, char *buf, huge n) { huge i = 0; - char *s; - char tmp[1024]; /* Read a line */ @@ -529,10 +527,8 @@ errr my_fgets(FILE *fff, char *buf, huge n) /* * Hack -- replacement for "fputs()" - * * Dump a string, plus a newline, to a file - * - * XXX XXX XXX Process internal weirdness? + * Process internal weirdness? */ errr my_fputs(FILE *fff, cptr buf, huge n) { @@ -562,18 +558,6 @@ errr my_fputs(FILE *fff, cptr buf, huge n) /* - * Code Warrior is a little weird about some functions - */ -#ifdef BEN_HACK -extern int open(const char *, int, ...); -extern int close(int); -extern int read(int, void *, unsigned int); -extern int write(int, const void *, unsigned int); -extern long lseek(int, long, int); -#endif /* BEN_HACK */ - - -/* * The Macintosh is a little bit brain-dead sometimes */ #ifdef MACINTOSH @@ -605,7 +589,6 @@ errr fd_kill(cptr file) /* Remove */ (void)remove(buf); - /* XXX XXX XXX */ return (0); } @@ -627,7 +610,6 @@ errr fd_move(cptr file, cptr what) /* Rename */ (void)rename(buf, aux); - /* XXX XXX XXX */ return (0); } @@ -678,23 +660,14 @@ errr fd_copy(cptr file, cptr what) fd_close(src_fd); fd_close(dst_fd); - /* XXX XXX XXX */ return (0); } /* * Hack -- attempt to open a file descriptor (create file) - * * This function should fail if the file already exists - * * Note that we assume that the file should be "binary" - * - * XXX XXX XXX The horrible "BEN_HACK" code is for compiling under - * the CodeWarrior compiler, in which case, for some reason, none - * of the "O_*" flags are defined, and we must fake the definition - * of "O_RDONLY", "O_WRONLY", and "O_RDWR" in "A-win-h", and then - * we must simulate the effect of the proper "open()" call below. */ int fd_make(cptr file, BIT_FLAGS mode) { @@ -703,19 +676,6 @@ int fd_make(cptr file, BIT_FLAGS mode) /* Hack -- Try to parse the path */ if (path_parse(buf, 1024, file)) return (-1); -#ifdef BEN_HACK - - /* Check for existance */ - /* if (fd_close(fd_open(file, O_RDONLY | O_BINARY))) return (1); */ - - /* Mega-Hack -- Create the file */ - (void)my_fclose(my_fopen(file, "wb")); - - /* Re-open the file for writing */ - return (open(buf, O_WRONLY | O_BINARY, mode)); - -#else /* BEN_HACK */ - #if defined(MAC_MPW) || defined(MACH_O_CARBON) { int fdes; @@ -726,12 +686,11 @@ int fd_make(cptr file, BIT_FLAGS mode) /* Return the descriptor */ return (fdes); } -# else +#else /* Create the file, fail if exists, write-only, binary */ return (open(buf, O_CREAT | O_EXCL | O_WRONLY | O_BINARY, mode)); -# endif +#endif -#endif /* BEN_HACK */ } @@ -936,7 +895,6 @@ errr fd_close(int fd) /* Close */ (void)close(fd); - /* XXX XXX XXX */ return (0); } @@ -947,7 +905,7 @@ errr fd_close(int fd) /* - * XXX XXX XXX Important note about "colors" XXX XXX XXX + * Important note about "colors" * * The "TERM_*" color definitions list the "composition" of each * "Angband color" in terms of "quarters" of each of the three color @@ -1588,8 +1546,6 @@ static sint macro_find_ready(cptr pat) n = i; s = t; } - - /* Result */ return (n); } @@ -1598,15 +1554,15 @@ static sint macro_find_ready(cptr pat) * Add a macro definition (or redefinition). * * We should use "act == NULL" to "remove" a macro, but this might make it - * impossible to save the "removal" of a macro definition. XXX XXX XXX + * impossible to save the "removal" of a macro definition. * * We should consider refusing to allow macros which contain existing macros, * or which are contained in existing macros, because this would simplify the - * macro analysis code. XXX XXX XXX + * macro analysis code. * * We should consider removing the "command macro" crap, and replacing it * with some kind of "powerful keymap" ability, but this might make it hard - * to change the "roguelike" option from inside the game. XXX XXX XXX + * to change the "roguelike" option from inside the game. */ errr macro_add(cptr pat, cptr act) { @@ -1760,7 +1716,7 @@ void select_floor_music(void) return; } - for(i = 0; i < max_quests; i++) + for(i = 0; i < max_q_idx; i++) { // TODO マクロで類似条件を統合すること if(quest[i].status == QUEST_STATUS_TAKEN && (quest[i].type == QUEST_TYPE_KILL_LEVEL || quest[i].type == QUEST_TYPE_RANDOM) && @@ -1826,7 +1782,7 @@ void select_floor_music(void) * Only 500 (0+1+2+...+29+30) milliseconds may elapse between each key in * the macro trigger sequence. If a key sequence forms the "prefix" of a * macro trigger, 500 milliseconds must pass before the key sequence is - * known not to be that macro trigger. XXX XXX XXX + * known not to be that macro trigger. */ static char inkey_aux(void) { @@ -1910,7 +1866,6 @@ static char inkey_aux(void) /* Excessive delay */ if (w >= 10) break; - /* Delay */ Term_xtra(TERM_XTRA_DELAY, w); } } @@ -2005,7 +1960,7 @@ static void forget_macro_action(void) /* - * Mega-Hack -- special "inkey_next" pointer. XXX XXX XXX + * Mega-Hack -- special "inkey_next" pointer. * * This special pointer allows a sequence of keys to be "inserted" into * the stream of keys returned by "inkey()". This key sequence will not @@ -2018,7 +1973,7 @@ static cptr inkey_next = NULL; #ifdef ALLOW_BORG /* - * Mega-Hack -- special "inkey_hack" hook. XXX XXX XXX + * Mega-Hack -- special "inkey_hack" hook. * * This special function hook allows the "Borg" (see elsewhere) to take * control of the "inkey()" function, and substitute in fake keypresses. @@ -2205,11 +2160,9 @@ char inkey(void) /* Wait for (and remove) a pending key */ if (0 == Term_inkey(&ch, TRUE, TRUE)) { - /* Done */ break; } - /* Oops */ break; } @@ -2219,7 +2172,6 @@ char inkey(void) /* Check for (and remove) a pending key */ if (0 == Term_inkey(&ch, FALSE, TRUE)) { - /* Done */ break; } @@ -2232,12 +2184,10 @@ char inkey(void) /* Excessive delay */ if (w >= 100) break; - /* Delay */ Term_xtra(TERM_XTRA_DELAY, w); } } - /* Done */ break; } @@ -2251,8 +2201,6 @@ char inkey(void) { /* Strip this key */ ch = 0; - - /* Continue */ continue; } @@ -2593,7 +2541,6 @@ void message_add(cptr str) now_message++; } - /* Done */ break; } @@ -2816,13 +2763,13 @@ static void msg_flush(int x) * The global "msg_flag" variable can be cleared to tell us to * "erase" any "pending" messages still on the screen. * - * XXX XXX XXX Note that we must be very careful about using the + * Note that we must be very careful about using the * "msg_print()" functions without explicitly calling the special * "msg_print(NULL)" function, since this may result in the loss * of information if the screen is cleared, or if anything is * displayed on the top line. * - * XXX XXX XXX Note that "msg_print(NULL)" will clear the top line + * Note that "msg_print(NULL)" will clear the top line * even if no messages are pending. This is probably a hack. */ void msg_print(cptr msg) @@ -2847,7 +2794,6 @@ void msg_print(cptr msg) /* Hack -- flush when requested or needed */ if (p && (!msg || ((p + n) > 72))) { - /* Flush */ msg_flush(p); /* Forget it */ @@ -2874,7 +2820,7 @@ void msg_print(cptr msg) } /* New Message Length */ - n = (buf ? strlen(buf) : 0); + n = strlen(buf); /* Memorize the message */ if (character_generated) message_add(buf); @@ -2959,7 +2905,6 @@ void msg_print(cptr msg) /* Memorize the tail */ /* if (character_generated) message_add(t); */ - /* Window stuff */ p_ptr->window |= (PW_MESSAGE); window_stuff(); @@ -3094,7 +3039,7 @@ void msg_format_wizard(int cheat_type, cptr fmt, ...) * At the given location, using the given attribute, if allowed, * add the given string. Do not clear the line. */ -void c_put_str(byte attr, cptr str, int row, int col) +void c_put_str(TERM_COLOR attr, cptr str, int row, int col) { /* Position cursor, Dump the attr/text */ Term_putstr(col, row, -1, attr, str); @@ -3209,7 +3154,7 @@ void c_roff(byte a, cptr str) { int i, n = 0; - byte av[256]; + TERM_COLOR av[256]; char cv[256]; /* Wrap word */ @@ -3622,7 +3567,7 @@ bool get_string(cptr prompt, char *buf, int len) { bool res; - /* Paranoia XXX XXX XXX */ + /* Paranoia */ msg_print(NULL); /* Display prompt */ @@ -3633,8 +3578,6 @@ bool get_string(cptr prompt, char *buf, int len) /* Clear prompt */ prt("", 0, 0); - - /* Result */ return (res); } @@ -3672,7 +3615,7 @@ bool get_check_strict(cptr prompt, BIT_FLAGS mode) num_more = 0; } - /* Paranoia XXX XXX XXX */ + /* Paranoia */ msg_print(NULL); if (!rogue_like_commands) @@ -3774,7 +3717,7 @@ bool get_check_strict(cptr prompt, BIT_FLAGS mode) */ bool get_com(cptr prompt, char *command, bool z_escape) { - /* Paranoia XXX XXX XXX */ + /* Paranoia */ msg_print(NULL); /* Display a prompt */ @@ -3828,8 +3771,6 @@ QUANTITY get_quantity(cptr prompt, QUANTITY max) return (amt); } -#ifdef ALLOW_REPEAT /* TNB */ - /* Get the item index */ result = repeat_pull(&code); amt = (QUANTITY)code; @@ -3845,8 +3786,6 @@ QUANTITY get_quantity(cptr prompt, QUANTITY max) return (amt); } -#endif /* ALLOW_REPEAT -- TNB */ - /* Build a prompt if needed */ if (!prompt) { @@ -3857,7 +3796,7 @@ QUANTITY get_quantity(cptr prompt, QUANTITY max) prompt = tmp; } - /* Paranoia XXX XXX XXX */ + /* Paranoia */ msg_print(NULL); /* Display prompt */ @@ -3893,19 +3832,15 @@ QUANTITY get_quantity(cptr prompt, QUANTITY max) /* Enforce the minimum */ if (amt < 0) amt = 0; -#ifdef ALLOW_REPEAT /* TNB */ - if (amt) repeat_push((COMMAND_CODE)amt); -#endif /* ALLOW_REPEAT -- TNB */ - /* Return the result */ return (amt); } /* - * Pause for user response XXX XXX XXX + * Pause for user response */ void pause_line(int row) { @@ -4402,7 +4337,7 @@ static char inkey_from_menu(void) * Note that this command is used both in the dungeon and in * stores, and must be careful to work in both situations. * - * Note that "p_ptr->command_new" may not work any more. XXX XXX XXX + * Note that "p_ptr->command_new" may not work any more. */ void request_command(int shopping) { @@ -4565,8 +4500,6 @@ void request_command(int shopping) { /* Clear count */ command_arg = 0; - - /* Continue */ continue; } } @@ -4603,8 +4536,6 @@ void request_command(int shopping) /* Start using the buffer */ inkey_next = request_command_buffer; - - /* Continue */ continue; } @@ -4616,7 +4547,6 @@ void request_command(int shopping) /* Use command */ command_cmd = (byte)cmd; - /* Done */ break; } @@ -4855,8 +4785,6 @@ int get_keymap_dir(char ch) } -#ifdef ALLOW_REPEAT /* TNB */ - #define REPEAT_MAX 20 /* Number of chars saved */ @@ -4932,8 +4860,6 @@ void repeat_check(void) } } -#endif /* ALLOW_REPEAT -- TNB */ - #ifdef SORT_R_INFO