int test_newgame(void *state) { /* Try making a new game */ cmdq_push(CMD_BIRTH_INIT); cmdq_push(CMD_BIRTH_RESET); cmdq_push(CMD_CHOOSE_RACE); cmd_set_arg_choice(cmdq_peek(), "choice", 0); cmdq_push(CMD_CHOOSE_CLASS); cmd_set_arg_choice(cmdq_peek(), "choice", 0); cmdq_push(CMD_ROLL_STATS); cmdq_push(CMD_NAME_CHOICE); cmd_set_arg_string(cmdq_peek(), "name", "Tester"); cmdq_push(CMD_ACCEPT_CHARACTER); cmdq_execute(CMD_BIRTH); eq(player->is_dead, FALSE); cave_generate(&cave, player); on_new_level(); noteq(cave, NULL); eq(player->chp, player->mhp); eq(player->food, PY_FOOD_FULL - 1); /* Should be all set up to save properly now */ eq(savefile_save("Test1"), TRUE); /* Make sure it saved properly */ eq(file_exists("Test1"), TRUE); ok; }
/** * ------------------------------------------------------------------------ * Asking for the player's chosen name. * ------------------------------------------------------------------------ */ static enum birth_stage get_name_command(void) { enum birth_stage next; char name[32]; if (get_character_name(name, sizeof(name))) { cmdq_push(CMD_NAME_CHOICE); cmd_set_arg_string(cmdq_peek(), "name", name); next = BIRTH_HISTORY_CHOICE; } else { next = BIRTH_BACK; } return next; }
/* ------------------------------------------------------------------------ * Asking for the player's chosen name. * ------------------------------------------------------------------------ */ static enum birth_stage get_name_command(void) { enum birth_stage next; char name[32]; if (get_name(name, sizeof(name))) { cmd_insert(CMD_NAME_CHOICE); cmd_set_arg_string(cmd_get_top(), 0, name); next = BIRTH_FINAL_CONFIRM; } else { next = BIRTH_BACK; } return next; }
void textui_obj_inscribe(object_type *o_ptr, int item) { char o_name[80]; char tmp[80] = ""; object_desc(o_name, sizeof(o_name), o_ptr, ODESC_PREFIX | ODESC_FULL); msg_format("Inscribing %s.", o_name); message_flush(); /* Use old inscription */ if (o_ptr->note) strnfmt(tmp, sizeof(tmp), "%s", quark_str(o_ptr->note)); /* Get a new inscription (possibly empty) */ if (get_string("Inscription: ", tmp, sizeof(tmp))) { cmd_insert(CMD_INSCRIBE); cmd_set_arg_item(cmd_get_top(), 0, item); cmd_set_arg_string(cmd_get_top(), 1, tmp); } }
/** * ------------------------------------------------------------------------ * Allowing the player to choose their history. * ------------------------------------------------------------------------ */ static enum birth_stage get_history_command(void) { enum birth_stage next = 0; struct keypress ke; char old_history[240]; /* Save the original history */ my_strcpy(old_history, player->history, sizeof(old_history)); /* Ask for some history */ prt("Accept character history? [y/n]", 0, 0); ke = inkey(); /* Quit, go back, change history, or accept */ if (ke.code == KTRL('X')) { quit(NULL); } else if (ke.code == ESCAPE) { next = BIRTH_BACK; } else if (ke.code == 'N' || ke.code == 'n') { char history[240]; my_strcpy(history, player->history, sizeof(history)); switch (edit_text(history, sizeof(history))) { case -1: next = BIRTH_BACK; case 0: cmdq_push(CMD_HISTORY_CHOICE); cmd_set_arg_string(cmdq_peek(), "history", history); next = BIRTH_HISTORY_CHOICE; } } else { next = BIRTH_FINAL_CONFIRM; } return next; }
int test_magic_missile(void *state) { /* Try making a new game */ cmdq_push(CMD_BIRTH_INIT); cmdq_push(CMD_BIRTH_RESET); cmdq_push(CMD_CHOOSE_RACE); cmd_set_arg_choice(cmdq_peek(), "choice", 4); cmdq_push(CMD_CHOOSE_CLASS); cmd_set_arg_choice(cmdq_peek(), "choice", 1); cmdq_push(CMD_ROLL_STATS); cmdq_push(CMD_NAME_CHOICE); cmd_set_arg_string(cmdq_peek(), "name", "Tyrion"); cmdq_push(CMD_ACCEPT_CHARACTER); cmdq_execute(CMD_BIRTH); eq(player->is_dead, FALSE); cave_generate(&cave, player); on_new_level(); notnull(cave); eq(player->chp, player->mhp); eq(player->food, PY_FOOD_FULL - 1); cmdq_push(CMD_STUDY); cmd_set_arg_choice(cmdq_peek(), "spell", 0); run_game_loop(); cmdq_push(CMD_CAST); cmd_set_arg_choice(cmdq_peek(), "spell", 0); cmd_set_arg_target(cmdq_peek(), "target", 2); run_game_loop(); noteq(player->csp, player->msp); ok; }