/* * Add an entry with text `event` to the history list, with type `type` * ("HISTORY_xxx" in defines.h), and artifact number `id` (0 for everything * else). * * Return TRUE on success. */ bool history_add_full(u16b type, byte a_idx, s16b dlev, s16b clev, s32b turn, const char *text) { /* Allocate the history list if needed */ if (!history_list) history_init(HISTORY_BIRTH_SIZE); /* Expand the history list if appropriate */ else if ((history_ctr == history_size) && !history_set_num(history_size + 10)) return FALSE; /* History list exists and is not full. Add an entry at the current counter location. */ history_list[history_ctr].type = type; history_list[history_ctr].dlev = dlev; history_list[history_ctr].clev = clev; history_list[history_ctr].a_idx = a_idx; history_list[history_ctr].turn = turn; my_strcpy(history_list[history_ctr].event, text, sizeof(history_list[history_ctr].event)); history_ctr++; return TRUE; }
/** * Add an entry with text `event` to the history list, with type `type` * ("HIST_xxx" in player-history.h), and artifact number `id` (0 for * everything else). * * Return true on success. */ bool history_add_full(bitflag *type, struct artifact *artifact, s16b dlev, s16b clev, s32b turnno, const char *text) { /* Allocate or expand the history list as needed */ if (!history_list) history_init(HISTORY_BIRTH_SIZE); else if ((history_ctr == history_size) && !history_set_num(history_size + 10)) return false; /* History list exists and is not full. Add an entry at the current * counter location. */ hist_copy(history_list[history_ctr].type, type); history_list[history_ctr].dlev = dlev; history_list[history_ctr].clev = clev; history_list[history_ctr].a_idx = artifact ? artifact->aidx : 0; history_list[history_ctr].turn = turnno; my_strcpy(history_list[history_ctr].event, text, sizeof(history_list[history_ctr].event)); history_ctr++; return true; }