OSDN Git Service

Implement some separated XML data files.
authorDeskull <deskull@users.sourceforge.jp>
Sat, 17 May 2014 05:37:01 +0000 (14:37 +0900)
committerDeskull <deskull@users.sourceforge.jp>
Sat, 17 May 2014 05:37:01 +0000 (14:37 +0900)
Deeangband/GameWorld.cpp
Deeangband/GameWorld.h
lib-Vanilla/Authority.xml [new file with mode: 0644]
lib-Vanilla/Building.xml [new file with mode: 0644]
lib-Vanilla/Camp.xml [new file with mode: 0644]
lib-Vanilla/Dungeon.xml [new file with mode: 0644]
lib-Vanilla/Feature.xml

index fef69e0..c9bd9e8 100644 (file)
@@ -24,12 +24,58 @@ namespace Deeangband
        {
        }
 
-       void GameWorld::XMLSave(void)
+       void GameWorld::xmlSaveAuthority(void)
+       {
+               std::ofstream ofs("lib-Vanilla\\Authority.xml");
+               assert(ofs);
+               boost::archive::xml_oarchive oa(ofs);
+               oa << boost::serialization::make_nvp("Authority", this->authorityList);
+               ofs.close();
+       }
+
+       void GameWorld::xmlSaveBuilding(void)
+       {
+               std::ofstream ofs("lib-Vanilla\\Building.xml");
+               assert(ofs);
+               boost::archive::xml_oarchive oa(ofs);
+               oa << boost::serialization::make_nvp("Buildings", this->featureList);
+               ofs.close();
+       }
+
+       void GameWorld::xmlSaveCamp(void)
+       {
+               std::ofstream ofs("lib-Vanilla\\Camp.xml");
+               assert(ofs);
+               boost::archive::xml_oarchive oa(ofs);
+               oa << boost::serialization::make_nvp("Camps", this->featureList);
+               ofs.close();
+       }
+
+       void GameWorld::xmlSaveDungeon(void)
+       {
+               std::ofstream ofs("lib-Vanilla\\Dungeon.xml");
+               assert(ofs);
+               boost::archive::xml_oarchive oa(ofs);
+               oa << boost::serialization::make_nvp("Dungeons", this->featureList);
+               ofs.close();
+       }
+
+       void GameWorld::xmlSaveFeature(void)
        {
                std::ofstream ofs("lib-Vanilla\\Feature.xml");
                assert(ofs);
                boost::archive::xml_oarchive oa(ofs);
                oa << boost::serialization::make_nvp("Features", this->featureList);
+               ofs.close();
+       }
+
+       void GameWorld::XMLSave(void)
+       {
+               this->xmlSaveAuthority();
+               this->xmlSaveBuilding();
+               this->xmlSaveCamp();
+               this->xmlSaveDungeon();
+               this->xmlSaveFeature();
        }
 
        void GameWorld::XMLLoad(void)
index a667714..0090c7e 100644 (file)
@@ -76,6 +76,16 @@ namespace Deeangband
 
                friend class boost::serialization::access;
 
+               void GameWorld::xmlSaveAuthority(void);
+
+               void GameWorld::xmlSaveBuilding(void);
+
+               void GameWorld::xmlSaveCamp(void);
+
+               void GameWorld::xmlSaveDungeon(void);
+
+               void GameWorld::xmlSaveFeature(void);
+
                /*!
                * @brief \83N\83\89\83X\82Ì\83V\83\8a\83A\83\89\83C\83Y\82ð\90Ý\92è\82·\82é
                * @param archive \83A\81[\83J\83C\83u\89»\82·\82é\83N\83\89\83X\82Ì\83A\83h\83\8c\83X
diff --git a/lib-Vanilla/Authority.xml b/lib-Vanilla/Authority.xml
new file mode 100644 (file)
index 0000000..c672efc
--- /dev/null
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
+<!DOCTYPE boost_serialization>
+<boost_serialization signature="serialization::archive" version="10">
+<Authority class_id="0" tracking_level="0" version="0">
+       <count>1</count>
+       <item_version>0</item_version>
+       <item class_id="1" tracking_level="0" version="0">
+               <first>XXX_UNKNOWN</first>
+               <second class_id="2" tracking_level="0" version="1">
+                       <px class_id="3" tracking_level="1" version="10" object_id="_0">
+                               <Name></Name>
+                       </px>
+               </second>
+       </item>
+</Authority>
diff --git a/lib-Vanilla/Building.xml b/lib-Vanilla/Building.xml
new file mode 100644 (file)
index 0000000..d9e5719
--- /dev/null
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
+<!DOCTYPE boost_serialization>
+<boost_serialization signature="serialization::archive" version="10">
+<Buildings class_id="0" tracking_level="0" version="0">
+       <count>1</count>
+       <item_version>0</item_version>
+       <item class_id="1" tracking_level="0" version="0">
+               <first>XXX_UNKNOWN</first>
+               <second class_id="2" tracking_level="0" version="1">
+                       <px class_id="3" tracking_level="1" version="0" object_id="_0">
+                               <name>\96¢\92m\82Ì\92n\8c`</name>
+                               <tileID>-842150451</tileID>
+                       </px>
+               </second>
+       </item>
+</Buildings>
diff --git a/lib-Vanilla/Camp.xml b/lib-Vanilla/Camp.xml
new file mode 100644 (file)
index 0000000..9d32e21
--- /dev/null
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
+<!DOCTYPE boost_serialization>
+<boost_serialization signature="serialization::archive" version="10">
+<Camps class_id="0" tracking_level="0" version="0">
+       <count>1</count>
+       <item_version>0</item_version>
+       <item class_id="1" tracking_level="0" version="0">
+               <first>XXX_UNKNOWN</first>
+               <second class_id="2" tracking_level="0" version="1">
+                       <px class_id="3" tracking_level="1" version="0" object_id="_0">
+                               <name>\96¢\92m\82Ì\92n\8c`</name>
+                               <tileID>-842150451</tileID>
+                       </px>
+               </second>
+       </item>
+</Camps>
diff --git a/lib-Vanilla/Dungeon.xml b/lib-Vanilla/Dungeon.xml
new file mode 100644 (file)
index 0000000..f0254d9
--- /dev/null
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
+<!DOCTYPE boost_serialization>
+<boost_serialization signature="serialization::archive" version="10">
+<Dungeons class_id="0" tracking_level="0" version="0">
+       <count>1</count>
+       <item_version>0</item_version>
+       <item class_id="1" tracking_level="0" version="0">
+               <first>XXX_UNKNOWN</first>
+               <second class_id="2" tracking_level="0" version="1">
+                       <px class_id="3" tracking_level="1" version="0" object_id="_0">
+                               <name>\96¢\92m\82Ì\92n\8c`</name>
+                               <tileID>-842150451</tileID>
+                       </px>
+               </second>
+       </item>
+</Dungeons>
index ed39906..9bd7302 100644 (file)
@@ -14,5 +14,3 @@
                </second>
        </item>
 </Features>
-</boost_serialization>
-