/** * Menu command: dump character dump to file. */ static void death_file(const char *title, int row) { char buf[1024]; char ftmp[80]; /* Get the filesystem-safe name and append .txt */ player_safe_name(ftmp, sizeof(ftmp), player->full_name, false); my_strcat(ftmp, ".txt", sizeof(ftmp)); if (get_file(ftmp, buf, sizeof buf)) { bool success; /* Dump a character file */ screen_save(); success = dump_save(buf); screen_load(); /* Check result */ if (success) msg("Character dump successful."); else msg("Character dump failed!"); /* Flush messages */ event_signal(EVENT_MESSAGE_FLUSH); } }
/** * Menu command: dump character dump to file. */ static void death_file(const char *title, int row) { char buf[1024]; char ftmp[80]; strnfmt(ftmp, sizeof(ftmp), "%s.txt", player_safe_name(player, false)); if (get_file(ftmp, buf, sizeof buf)) { bool success; /* Dump a character file */ screen_save(); success = dump_save(buf); screen_load(); /* Check result */ if (success) msg("Character dump successful."); else msg("Character dump failed!"); /* Flush messages */ event_signal(EVENT_MESSAGE_FLUSH); } }
static ssize_t dump_info_store(struct kobject *kobj, struct kobj_attribute *attr, const char *buf, size_t count) { if ((buf != NULL) && (*buf != '\0') && (!strncmp(buf, "dump", 4))) dump_save(); rdr_rm_over3_file(OM_ROOT_PATH); return count; }
/** * Hack -- change name */ void do_cmd_change_name(void) { ui_event ke; int mode = 0; const char *p; bool more = true; /* Prompt */ p = "['c' to change name, 'f' to file, 'h' to change mode, or ESC]"; /* Save screen */ screen_save(); /* Forever */ while (more) { /* Display the player */ display_player(mode); /* Prompt */ Term_putstr(2, 23, -1, COLOUR_WHITE, p); /* Query */ ke = inkey_ex(); if ((ke.type == EVT_KBRD)||(ke.type == EVT_BUTTON)) { switch (ke.key.code) { case ESCAPE: more = false; break; case 'c': { if(arg_force_name) msg("You are not allowed to change your name!"); else { char namebuf[32] = ""; /* Set player name */ if (get_character_name(namebuf, sizeof namebuf)) my_strcpy(player->full_name, namebuf, sizeof(player->full_name)); } break; } case 'f': { char buf[1024]; char fname[80]; /* Get the filesystem-safe name and append .txt */ player_safe_name(fname, sizeof(fname), player->full_name, false); my_strcat(fname, ".txt", sizeof(fname)); if (get_file(fname, buf, sizeof buf)) { if (dump_save(buf)) msg("Character dump successful."); else msg("Character dump failed!"); } break; } case 'h': case ARROW_LEFT: case ' ': mode = (mode + 1) % INFO_SCREENS; break; case 'l': case ARROW_RIGHT: mode = (mode - 1) % INFO_SCREENS; break; } } else if (ke.type == EVT_MOUSE) { if (ke.mouse.button == 1) { /* Flip through the screens */ mode = (mode + 1) % INFO_SCREENS; } else if (ke.mouse.button == 2) { /* exit the screen */ more = false; } else { /* Flip backwards through the screens */ mode = (mode - 1) % INFO_SCREENS; } } /* Flush messages */ event_signal(EVENT_MESSAGE_FLUSH); } /* Load screen */ screen_load(); }