/* Temp file */
s = tmpnam(NULL);
- /* Oops */
if (!s) return (-1);
/* Format to length */
errr my_fgets(FILE *fff, char *buf, huge n)
{
huge i = 0;
-
char *s;
-
char tmp[1024];
/* Read a line */
/*
* 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)
{
/*
- * 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
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)
{
/* 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;
/* 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 /* BEN_HACK */
+#endif
}
/*
- * 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
n = i;
s = t;
}
-
- /* Result */
return (n);
}
* 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)
{
* 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)
{
/* Excessive delay */
if (w >= 10) break;
- /* Delay */
Term_xtra(TERM_XTRA_DELAY, w);
}
}
/*
- * 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
#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.
break;
}
- /* Oops */
break;
}
/* Excessive delay */
if (w >= 100) break;
- /* Delay */
Term_xtra(TERM_XTRA_DELAY, w);
}
}
{
/* Strip this key */
ch = 0;
-
- /* Continue */
continue;
}
* 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)
/* Hack -- flush when requested or needed */
if (p && (!msg || ((p + n) > 72)))
{
- /* Flush */
msg_flush(p);
/* Forget it */
{
bool res;
- /* Paranoia XXX XXX XXX */
+ /* Paranoia */
msg_print(NULL);
/* Display prompt */
/* Clear prompt */
prt("", 0, 0);
-
- /* Result */
return (res);
}
num_more = 0;
}
- /* Paranoia XXX XXX XXX */
+ /* Paranoia */
msg_print(NULL);
if (!rogue_like_commands)
*/
bool get_com(cptr prompt, char *command, bool z_escape)
{
- /* Paranoia XXX XXX XXX */
+ /* Paranoia */
msg_print(NULL);
/* Display a prompt */
return (amt);
}
-#ifdef ALLOW_REPEAT /* TNB */
-
/* Get the item index */
result = repeat_pull(&code);
amt = (QUANTITY)code;
return (amt);
}
-#endif /* ALLOW_REPEAT -- TNB */
-
/* Build a prompt if needed */
if (!prompt)
{
prompt = tmp;
}
- /* Paranoia XXX XXX XXX */
+ /* Paranoia */
msg_print(NULL);
/* Display prompt */
/* 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)
{
* 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)
{
{
/* Clear count */
command_arg = 0;
-
- /* Continue */
continue;
}
}
/* Start using the buffer */
inkey_next = request_command_buffer;
-
- /* Continue */
continue;
}
}
-#ifdef ALLOW_REPEAT /* TNB */
-
#define REPEAT_MAX 20
/* Number of chars saved */
}
}
-#endif /* ALLOW_REPEAT -- TNB */
-
#ifdef SORT_R_INFO