#include "floor/floor-events.h"
#include "game-option/runtime-arguments.h"
#include "game-option/special-options.h"
-#include "io/record-play-movie.h"
#include "io/files-util.h"
#include "io/inet.h"
#include "io/input-key-acceptor.h"
+#include "io/record-play-movie.h"
#include "io/signal-handlers.h"
#include "io/write-diary.h"
#include "main/angband-initializer.h"
#include "util/string-processor.h"
#include "view/display-map.h"
#include "view/display-messages.h"
+#include "wizard/spoiler-util.h"
+#include "wizard/wizard-spoiler.h"
#include "world/world.h"
#ifdef WINDOWS
+#include "direct.h"
#include "dungeon/dungeon.h"
+#include "locale.h"
#include "save/save.h"
-#include <direct.h>
-#include <locale.h>
-#include <windows.h>
+#include "windows.h"
/*
* Available graphic modes
strcpy(buf, use_bg ? "1" : "0");
WritePrivateProfileString("Angband", "BackGround", buf, ini_file);
WritePrivateProfileString("Angband", "BackGroundBitmap", bg_bitmap_file[0] != '\0' ? bg_bitmap_file : "bg.bmp", ini_file);
+ WritePrivateProfileString("Angband", "SaveFile", savefile, ini_file);
for (int i = 0; i < MAX_TERM_DATA; ++i) {
save_prefs_aux(i);
arg_music = (GetPrivateProfileInt("Angband", "Music", 0, ini_file) != 0);
use_bg = GetPrivateProfileInt("Angband", "BackGround", 0, ini_file);
GetPrivateProfileString("Angband", "BackGroundBitmap", "bg.bmp", bg_bitmap_file, 1023, ini_file);
+ GetPrivateProfileString("Angband", "SaveFile", "", savefile, 1023, ini_file);
for (int i = 0; i < MAX_TERM_DATA; ++i) {
load_prefs_aux(i);
}
char wav_path[1024];
char *zz[SAMPLE_SOUND_MAX];
- path_build(ini_path, 1024, ANGBAND_DIR_XTRA_SOUND, "sound.cfg");
+ path_build(ini_path, 1024, ANGBAND_DIR_XTRA_SOUND, "sound_debug.cfg");
+ if (GetPrivateProfileString("Device", "type", "", mci_device_type, 256, ini_path) == 0) {
+ path_build(ini_path, 1024, ANGBAND_DIR_XTRA_SOUND, "sound.cfg");
+ GetPrivateProfileString("Device", "type", "", mci_device_type, 256, ini_path);
+ }
+
for (int i = 0; i < SOUND_MAX; i++) {
GetPrivateProfileString("Sound", angband_sound_name[i], "", tmp, 1024, ini_path);
int num = tokenize_whitespace(tmp, SAMPLE_SOUND_MAX, zz);
for (int j = 0; j < num; j++) {
- /* Access the sound */
path_build(wav_path, 1024, ANGBAND_DIR_XTRA_SOUND, zz[j]);
-
- /* Save the sound filename, if it exists */
if (check_file(wav_path))
sound_file[i][j] = string_make(zz[j]);
}
char *zz[SAMPLE_MUSIC_MAX];
char key[80];
- path_build(ini_path, 1024, ANGBAND_DIR_XTRA_MUSIC, "music.cfg");
- GetPrivateProfileString("Device", "type", "", mci_device_type, 256, ini_path);
+ path_build(ini_path, 1024, ANGBAND_DIR_XTRA_MUSIC, "music_debug.cfg");
+ if (GetPrivateProfileString("Device", "type", "", mci_device_type, 256, ini_path) == 0) {
+ path_build(ini_path, 1024, ANGBAND_DIR_XTRA_MUSIC, "music.cfg");
+ GetPrivateProfileString("Device", "type", "", mci_device_type, 256, ini_path);
+ }
+
for (int i = 0; i < MUSIC_BASIC_MAX; i++) {
GetPrivateProfileString("Basic", angband_music_basic_name[i], "", tmp, 1024, ini_path);
int num = tokenize_whitespace(tmp, SAMPLE_MUSIC_MAX, zz);
td = &data[i];
my_td = td;
- td->w = CreateWindowEx(
- td->dwExStyle, AngList, td->s, td->dwStyle, td->pos_x, td->pos_y, td->size_wid, td->size_hgt, HWND_DESKTOP, NULL, hInstance, NULL);
+ td->w
+ = CreateWindowEx(td->dwExStyle, AngList, td->s, td->dwStyle, td->pos_x, td->pos_y, td->size_wid, td->size_hgt, HWND_DESKTOP, NULL, hInstance, NULL);
my_td = NULL;
if (!td->w)
if (!*s)
return;
- strcat(savefile, s);
+ strcpy(savefile, s);
validate_file(savefile);
game_in_progress = TRUE;
play_game(player_ptr, FALSE, FALSE);
} else {
game_in_progress = TRUE;
term_flush();
+ strcpy(savefile, "");
play_game(player_ptr, TRUE, FALSE);
quit(NULL);
}
p_ptr->panic_save = 1;
signals_ignore_tstp();
(void)strcpy(p_ptr->died_from, _("(緊急セーブ)", "(panic save)"));
- (void)save_player(p_ptr);
+ (void)save_player(p_ptr, SAVE_TYPE_CLOSE_GAME);
quit(NULL);
return 0;
}
term_resize(td->cols, td->rows);
term_activate(old_term);
InvalidateRect(td->w, NULL, TRUE);
- p_ptr->window = 0xFFFFFFFF;
+ p_ptr->window_flags = 0xFFFFFFFF;
handle_stuff(p_ptr);
}
validate_dir(ANGBAND_DIR_INFO, FALSE);
validate_dir(ANGBAND_DIR_PREF, TRUE);
validate_dir(ANGBAND_DIR_SAVE, FALSE);
+ validate_dir(ANGBAND_DIR_DEBUG_SAVE, FALSE);
validate_dir(ANGBAND_DIR_USER, TRUE);
validate_dir(ANGBAND_DIR_XTRA, TRUE);
path_build(path, sizeof(path), ANGBAND_DIR_FILE, _("news_j.txt", "news.txt"));
}
/*!
+ * @brief コマンドラインから全スポイラー出力を行う
+ * Create Spoiler files from Command Line
+ * @return spoiler_output_status
+ */
+static spoiler_output_status create_debug_spoiler(LPSTR cmd_line)
+{
+ char *s, *option;
+ s = cmd_line;
+ if (!*s)
+ return SPOILER_OUTPUT_CANCEL;
+ option = "--output-spoilers";
+
+ if (strncmp(s, option, strlen(option)) != 0)
+ return SPOILER_OUTPUT_CANCEL;
+
+ init_stuff();
+ init_angband(p_ptr, process_autopick_file_command, TRUE);
+
+ return output_all_spoilers();
+}
+
+/*!
* todo よく見るとhMutexはちゃんと使われていない……?
* @brief (Windows固有)変愚蛮怒が起動済かどうかのチェック
*/
return FALSE;
}
+ switch (create_debug_spoiler(lpCmdLine)) {
+ case SPOILER_OUTPUT_SUCCESS:
+ fprintf(stdout, "Successfully created a spoiler file.");
+ quit(NULL);
+ return 0;
+ case SPOILER_OUTPUT_FAIL_FOPEN:
+ fprintf(stderr, "Cannot create spoiler file.");
+ quit(NULL);
+ return 0;
+ case SPOILER_OUTPUT_FAIL_FCLOSE:
+ fprintf(stderr, "Cannot close spoiler file.");
+ quit(NULL);
+ return 0;
+ default:
+ break;
+ }
+
if (hPrevInst == NULL) {
wc.style = CS_CLASSDC;
wc.lpfnWndProc = AngbandWndProc;
signals_init();
term_activate(term_screen);
- init_angband(p_ptr, process_autopick_file_command);
+ init_angband(p_ptr, process_autopick_file_command, FALSE);
initialized = TRUE;
check_for_save_file(p_ptr, lpCmdLine);
prt(_("[ファイル] メニューの [新規] または [開く] を選択してください。", "[Choose 'New' or 'Open' from the 'File' menu]"), 23, _(8, 17));