* @brief オプションテーブル /
* Available Options
*/
-const std::array<option_type, MAX_OPTION_INFO> option_info = {{ /*** Input Options ***/
+const std::array<const option_type, MAX_OPTION_INFO> option_info = {{
+ /*** Input Options ***/
{ &rogue_like_commands, FALSE, OPT_PAGE_INPUT, 0, 0, "rogue_like_commands", _("ローグ風キー配置を使用する", "Rogue-like commands") },
{ &always_pickup, FALSE, OPT_PAGE_INPUT, 0, 5, "always_pickup", _("常にアイテムを拾う", "Pick things up by default") },
{ &powerup_home, TRUE, OPT_PAGE_BIRTH, 4, 3, "powerup_home", _("我が家を拡張する(*)", "Increase capacity of your home (*)") },
+ { &keep_savefile, TRUE, OPT_PAGE_BIRTH, 4, 4, "keep_savefile", _("同一のセーブファイルでゲームを開始する(*)", "Start game with same savefile thet is loaded (*)") },
+
/*** Easy Object Auto-Destroyer ***/
{ &destroy_items, FALSE, OPT_PAGE_AUTODESTROY, 7, 0, "destroy_items", _("アイテムの簡易自動破壊を使用する", "Use easy auto-destroyer") },
#pragma once
#include "system/angband.h"
-
#include <array>
/*
concptr o_desc{};
};
-#define MAX_OPTION_INFO 124
+#define MAX_OPTION_INFO 125
#define MAX_CHEAT_OPTIONS 10
#define MAX_AUTOSAVE_INFO 2
-extern const std::array<option_type, MAX_OPTION_INFO> option_info;
+extern const std::array<const option_type, MAX_OPTION_INFO> option_info;
extern const option_type cheat_info[MAX_CHEAT_OPTIONS];
extern const option_type autosave_info[MAX_AUTOSAVE_INFO];
#include "player/process-name.h"
#include "autopick/autopick-reader-writer.h"
#include "core/asking-player.h"
+#include "game-option/birth-options.h"
#include "io/files-util.h"
#include "player/player-personality.h"
#include "term/screen-processor.h"
if (!creature_ptr->base_name[0])
strcpy(creature_ptr->base_name, "PLAYER");
+ if (!keep_savefile || !savefile[0]) {
#ifdef SAVEFILE_MUTABLE
- sf = TRUE;
+ sf = TRUE;
#endif
- if (!savefile_base[0] && savefile[0]) {
- concptr s = savefile;
- while (TRUE) {
- concptr t;
- t = angband_strstr(s, PATH_SEP);
- if (!t)
- break;
- s = t + 1;
+ if (!savefile_base[0] && savefile[0]) {
+ concptr s = savefile;
+ while (TRUE) {
+ concptr t;
+ t = angband_strstr(s, PATH_SEP);
+ if (!t)
+ break;
+ s = t + 1;
+ }
+
+ strcpy(savefile_base, s);
}
- strcpy(savefile_base, s);
- }
+ if (!savefile_base[0] || !savefile[0])
+ sf = TRUE;
- if (!savefile_base[0] || !savefile[0])
- sf = TRUE;
-
- if (sf) {
- char temp[128];
- strcpy(savefile_base, creature_ptr->base_name);
+ if (sf) {
+ char temp[128];
+ strcpy(savefile_base, creature_ptr->base_name);
#ifdef SAVEFILE_USE_UID
- /* Rename the savefile, using the creature_ptr->player_uid and creature_ptr->base_name */
- (void)sprintf(temp, "%d.%s", creature_ptr->player_uid, creature_ptr->base_name);
+ /* Rename the savefile, using the creature_ptr->player_uid and creature_ptr->base_name */
+ (void)sprintf(temp, "%d.%s", creature_ptr->player_uid, creature_ptr->base_name);
#else
- /* Rename the savefile, using the creature_ptr->base_name */
- (void)sprintf(temp, "%s", creature_ptr->base_name);
+ /* Rename the savefile, using the creature_ptr->base_name */
+ (void)sprintf(temp, "%s", creature_ptr->base_name);
#endif
- path_build(savefile, sizeof(savefile), ANGBAND_DIR_SAVE, temp);
+ path_build(savefile, sizeof(savefile), ANGBAND_DIR_SAVE, temp);
+ }
}
if (current_world_ptr->character_generated && !streq(old_player_base, creature_ptr->base_name)) {
term_erase(34, 1, 255);
c_put_str(TERM_L_BLUE, tmp, 1, 34);
clear_from(22);
-}
\ No newline at end of file
+}