UltraRogue: add logging.

The log file's name is temporarily defined in main.c.
This commit is contained in:
John "Elwin" Edwards 2017-02-26 16:51:29 -05:00
parent 92d1275f42
commit 8eebfc0c85
3 changed files with 37 additions and 0 deletions

View file

@ -53,6 +53,8 @@ static const char *rip[] =
0
};
void writelog(long amount, int lvl, int flags, int monst);
/*
death()
Do something really fun when he dies
@ -205,6 +207,9 @@ score(long amount, int lvl, int flags, int monst) /*ARGSUSED*/
char *packend;
if (flags != SCOREIT)
writelog(amount, lvl, flags, monst);
if (flags != WINNER && flags != TOTAL && flags != SCOREIT)
{
if (flags == CHICKEN)
@ -385,6 +390,31 @@ score(long amount, int lvl, int flags, int monst) /*ARGSUSED*/
}
}
void
writelog(long amount, int lvl, int flags, int monst)
{
char fate[80];
if (file_log == NULL)
return;
if (flags == KILLED) {
strcpy(fate, "killed by ");
killname(monst, fate + 10);
}
else if (flags == CHICKEN) {
strcpy(fate, "quit");
}
else if (flags == WINNER || flags == TOTAL) {
strcpy(fate, "escaped");
}
else
return;
fprintf(file_log, "%d %d %s %d %s %d %d %d %s\n", time(NULL), amount,
whoami, lvl, which_class(player.t_ctype), level, max_level,
has_artifact, fate);
fclose(file_log);
return;
}
void
total_winner(void)
{