/*
* Save a screen dump to a file
* @param creature_ptr プレーヤーへの参照ポインタ
+ * @param handle_stuff 画面更新用の関数ポインタ
* @return なし
*/
void do_cmd_save_screen(player_type *creature_ptr, void(*handle_stuff)(player_type*))
}
+static bool draw_white_characters(char buf[], FILE *fff, int wid, int hgt)
+{
+ bool okay = TRUE;
+ for (TERM_LEN y = 0; okay; y++)
+ {
+ if (!fgets(buf, 1024, fff)) okay = FALSE;
+
+ if (buf[0] == '\n' || buf[0] == '\0') break;
+ if (y >= hgt) continue;
+
+ for (TERM_LEN x = 0; x < wid - 1; x++)
+ {
+ if (buf[x] == '\n' || buf[x] == '\0') break;
+
+ Term_draw(x, y, TERM_WHITE, buf[x]);
+ }
+ }
+
+ return okay;
+}
+
+
/*
* @brief Load a screen dump from a file
*/
void do_cmd_load_screen(void)
{
- TERM_COLOR a = 0;
- SYMBOL_CODE c = ' ';
- bool okay = TRUE;
FILE *fff;
char buf[1024];
TERM_LEN wid, hgt;
screen_save();
Term_clear();
- for (TERM_LEN y = 0; okay; y++)
- {
- if (!fgets(buf, 1024, fff)) okay = FALSE;
-
- if (buf[0] == '\n' || buf[0] == '\0') break;
- if (y >= hgt) continue;
-
- for (TERM_LEN x = 0; x < wid - 1; x++)
- {
- if (buf[x] == '\n' || buf[x] == '\0') break;
-
- Term_draw(x, y, TERM_WHITE, buf[x]);
- }
- }
+ bool okay = draw_white_characters(buf, fff, wid, hgt);
+ TERM_COLOR a = TERM_DARK;
+ SYMBOL_CODE c = ' ';
for (TERM_LEN y = 0; okay; y++)
{
if (!fgets(buf, 1024, fff)) okay = FALSE;