Mercurial > hg > early-roguelike
diff urogue/rip.c @ 268:4ab49e42dd6a
UltraRogue: add logging.
The log file's name is temporarily defined in main.c.
author | John "Elwin" Edwards |
---|---|
date | Sun, 26 Feb 2017 16:51:29 -0500 |
parents | 911f0aa6e758 |
children | 1bbdd13ec585 |
line wrap: on
line diff
--- a/urogue/rip.c Sun Feb 26 14:58:49 2017 -0500 +++ b/urogue/rip.c Sun Feb 26 16:51:29 2017 -0500 @@ -53,6 +53,8 @@ 0 }; +void writelog(long amount, int lvl, int flags, int monst); + /* death() Do something really fun when he dies @@ -205,6 +207,9 @@ char *packend; + if (flags != SCOREIT) + writelog(amount, lvl, flags, monst); + if (flags != WINNER && flags != TOTAL && flags != SCOREIT) { if (flags == CHICKEN) @@ -386,6 +391,31 @@ } 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) { struct linked_list *item;