summaryrefslogtreecommitdiffstats
path: root/crawl-ref/source/files.cc
diff options
context:
space:
mode:
Diffstat (limited to 'crawl-ref/source/files.cc')
-rw-r--r--crawl-ref/source/files.cc21
1 files changed, 21 insertions, 0 deletions
diff --git a/crawl-ref/source/files.cc b/crawl-ref/source/files.cc
index 183ab171a5..ec7a0169d6 100644
--- a/crawl-ref/source/files.cc
+++ b/crawl-ref/source/files.cc
@@ -1442,6 +1442,17 @@ void save_game(bool leave_game, const char *farewellmsg)
DO_CHMOD_PRIVATE(tutorFile.c_str());
}
+ /* messages */
+ std::string msgFile = get_savedir_filename(you.your_name, "", "msg");
+ FILE *msgf = fopen(msgFile.c_str(), "wb");
+ if (msgf)
+ {
+ writer outf(msgf);
+ save_messages(outf);
+ fclose(msgf);
+ DO_CHMOD_PRIVATE(msgFile.c_str());
+ }
+
std::string charFile = get_savedir_filename(you.your_name, "", "sav");
FILE *charf = fopen(charFile.c_str(), "wb");
if (!charf)
@@ -1635,6 +1646,16 @@ void restore_game(void)
load_tutorial(inf);
fclose(tutorf);
}
+
+ /* messages */
+ std::string msgFile = get_savedir_filename(you.your_name, "", "msg");
+ FILE *msgf = fopen(msgFile.c_str(), "rb");
+ if (msgf)
+ {
+ reader inf(msgf);
+ load_messages(inf);
+ fclose(msgf);
+ }
}
static void _restore_level(const level_id &original)