/** * Display the winner crown */ static void display_winner(void) { char buf[1024]; ang_file *fp; int wid, hgt; int i = 2; int width = 0; path_build(buf, sizeof(buf), ANGBAND_DIR_SCREENS, "crown.txt"); fp = file_open(buf, MODE_READ, FTYPE_TEXT); Term_clear(); Term_get_size(&wid, &hgt); if (fp) { /* Get us the first line of file, which tells us how long the */ /* longest line is */ file_getl(fp, buf, sizeof(buf)); sscanf(buf, "%d", &width); if (!width) width = 25; /* Dump the file to the screen */ while (file_getl(fp, buf, sizeof(buf))) put_str(buf, i++, (wid/2) - (width/2)); file_close(fp); } put_str_centred(i, 0, wid, "All Hail the Mighty Champion!"); event_signal(EVENT_INPUT_FLUSH); pause_line(Term); }
/** * Display the tombstone */ static void print_tomb(void) { ang_file *fp; char buf[1024]; int line = 0; time_t death_time = (time_t)0; Term_clear(); (void)time(&death_time); /* Open the death file */ path_build(buf, sizeof(buf), ANGBAND_DIR_SCREENS, "dead.txt"); fp = file_open(buf, MODE_READ, FTYPE_TEXT); if (fp) { while (file_getl(fp, buf, sizeof(buf))) put_str(buf, line++, 0); file_close(fp); } line = 7; put_str_centred(line++, 8, 8+31, "%s", op_ptr->full_name); put_str_centred(line++, 8, 8+31, "the"); if (player->total_winner) put_str_centred(line++, 8, 8+31, "Magnificent"); else put_str_centred(line++, 8, 8+31, "%s", player->class->title[(player->lev - 1) / 5]); line++; put_str_centred(line++, 8, 8+31, "%s", player->class->name); put_str_centred(line++, 8, 8+31, "Level: %d", (int)player->lev); put_str_centred(line++, 8, 8+31, "Exp: %d", (int)player->exp); put_str_centred(line++, 8, 8+31, "AU: %d", (int)player->au); put_str_centred(line++, 8, 8+31, "Killed on Level %d", player->depth); put_str_centred(line++, 8, 8+31, "by %s.", player->died_from); line++; put_str_centred(line++, 8, 8+31, "by %-.24s", ctime(&death_time)); }
/* * Display the winner crown */ static void display_winner(void) { char buf[1024]; ang_file *fp; int wid, hgt; int i = 2; int width = 0; path_build(buf, sizeof(buf), ANGBAND_DIR_FILE, "crown.txt"); fp = file_open(buf, MODE_READ, -1); Term_clear(); Term_get_size(&wid, &hgt); if (fp) { /* Get us the first line of file, which tells us how long the */ /* longest line is */ file_getl(fp, buf, sizeof(buf)); sscanf(buf, "%d", &width); if (!width) width = 25; /* Dump the file to the screen */ while (file_getl(fp, buf, sizeof(buf))) put_str(buf, i++, (wid/2) - (width/2)); file_close(fp); } put_str_centred(i, 0, wid, "All Hail the Mighty %s!", p_ptr->sex->winner); flush(); pause_line(Term); }