summaryrefslogtreecommitdiffstats
path: root/crawl-ref/source/files.cc
diff options
context:
space:
mode:
authorzelgadis <zelgadis@c06c8d41-db1a-0410-9941-cceddc491573>2007-09-15 23:33:50 +0000
committerzelgadis <zelgadis@c06c8d41-db1a-0410-9941-cceddc491573>2007-09-15 23:33:50 +0000
commitfa763ba1bc7285247a5b1438d59633383a80cf6c (patch)
treef4b632fea66f43dc6c1415fdaa4feead0b6ff90d /crawl-ref/source/files.cc
parent4d88632cb99d368956dec86732f7d275ffb941e8 (diff)
downloadcrawl-ref-fa763ba1bc7285247a5b1438d59633383a80cf6c.tar.gz
crawl-ref-fa763ba1bc7285247a5b1438d59633383a80cf6c.zip
Split off portions of externs.h and enum.h into other files. The
crawl_environment, player and monsters classes have been left in externs.h, which necessitates that all of the enums references by those classes stay in enums.h, since you can't forward declare an enum. However, it's a start. Also, portions of misc.{cc,h} have been split off into traps.{cc,h}, place.{cc,h} and terrain.{cc,h} git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@2095 c06c8d41-db1a-0410-9941-cceddc491573
Diffstat (limited to 'crawl-ref/source/files.cc')
-rw-r--r--crawl-ref/source/files.cc18
1 files changed, 13 insertions, 5 deletions
diff --git a/crawl-ref/source/files.cc b/crawl-ref/source/files.cc
index 1627aecbd6..326d59706e 100644
--- a/crawl-ref/source/files.cc
+++ b/crawl-ref/source/files.cc
@@ -60,10 +60,13 @@
#include "cloud.h"
#include "clua.h"
#include "debug.h"
+#include "direct.h"
#include "dungeon.h"
+#include "initfile.h"
#include "itemname.h"
#include "itemprop.h"
#include "items.h"
+#include "Kills.h"
#include "libutil.h"
#include "mapmark.h"
#include "message.h"
@@ -73,12 +76,16 @@
#include "mstuff2.h"
#include "mtransit.h"
#include "notes.h"
+#include "output.h"
+#include "place.h"
#include "player.h"
#include "randart.h"
#include "skills2.h"
#include "stash.h"
+#include "state.h"
#include "stuff.h"
#include "tags.h"
+#include "terrain.h"
#include "travel.h"
#include "tutorial.h"
#include "view.h"
@@ -172,7 +179,7 @@ bool is_packed_save(const std::string &name)
player read_character_info(const std::string &savefile)
{
player fromfile;
- player backup = you;
+ player backup;
FILE *charf = fopen(savefile.c_str(), "rb");
if (!charf)
@@ -181,12 +188,13 @@ player read_character_info(const std::string &savefile)
char majorVersion = 0;
char minorVersion = 0;
+ backup.copy_from(you);
if (determine_version(charf, majorVersion, minorVersion)
&& majorVersion == SAVE_MAJOR_VERSION)
{
restore_tagged_file(charf, TAGTYPE_PLAYER_NAME, minorVersion);
- fromfile = you;
- you = backup;
+ fromfile.copy_from(you);
+ you .copy_from(backup);
}
fclose(charf);
@@ -1040,7 +1048,7 @@ void save_game(bool leave_game, const char *farewellmsg)
FILE *killf = fopen(killFile.c_str(), "wb");
if (killf)
{
- you.kills.save(killf);
+ you.kills->save(killf);
fclose(killf);
DO_CHMOD_PRIVATE(killFile.c_str());
}
@@ -1239,7 +1247,7 @@ void restore_game(void)
FILE *killf = fopen(killFile.c_str(), "rb");
if (killf)
{
- you.kills.load(killf);
+ you.kills->load(killf);
fclose(killf);
}