OSDN Git Service

Implement serialization from GameWorld class.
authorDeskull <deskull@users.sourceforge.jp>
Sun, 20 Apr 2014 10:27:15 +0000 (19:27 +0900)
committerDeskull <deskull@users.sourceforge.jp>
Sun, 20 Apr 2014 10:27:15 +0000 (19:27 +0900)
15 files changed:
Deeangband/Authority.h
Deeangband/Building.h
Deeangband/Camp.h
Deeangband/Discipline.h
Deeangband/Door.h
Deeangband/Dungeon.h
Deeangband/Feature.h
Deeangband/Floor.h
Deeangband/GameWorld.h
Deeangband/ItemEgo.h
Deeangband/ItemTemplate.h
Deeangband/Karma.h
Deeangband/Quest.h
Deeangband/Skill.h
Deeangband/Species.h

index efc618c..df87441 100644 (file)
@@ -27,6 +27,8 @@ namespace Deeangband
 
                NAME name; //!< \8c \94\\82Ì\96¼\91O
 
+               friend class boost::serialization::access;
+
                /*!
                * @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
@@ -43,6 +45,7 @@ namespace Deeangband
 
        public:
 
+
                /*! 
                * @brief Authority\83N\83\89\83X\83R\83\93\83X\83g\83\89\83N\83^(GameElement\83\81\83\93\83o\91Î\89\9e)
                * @param id GameElement\82ÌID
index 97efc61..392c950 100644 (file)
@@ -25,6 +25,8 @@ namespace Deeangband
 
                NAME buildingName;
 
+               friend class boost::serialization::access;
+
                /*!
                * @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
index e971315..230d3cd 100644 (file)
@@ -25,6 +25,8 @@ namespace Deeangband
 
                NAME name;
 
+               friend class boost::serialization::access;
+
                /*!
                * @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
index 2380749..35320cf 100644 (file)
@@ -49,11 +49,7 @@ namespace Deeangband
                */
                template<class Archive> void serialize(Archive &archive, const unsigned int fileVersion) 
                {
-                       int id;
-                       for(id = 0; id < MAX_DISCIPLINE_TYPES; id++)
-                       {
-                               archive & BOOST_SERIALIZATION_NVP(discipilinePoint[id]);
-                       }
+                       archive & BOOST_SERIALIZATION_NVP(disciplinePoint);
                }
 
 
index 2eb0f7d..3ae3f6c 100644 (file)
@@ -32,10 +32,12 @@ private:
         * @param fileVersion \83t\83@\83C\83\8b\83o\81[\83W\83\87\83\93
         * @return XMLSerialize\83e\83\93\83v\83\8c\81[\83g
         */
-       template<class Archive> void serialize(Archive &archive, const unsigned int fileVersion) 
+       template<class Archive> void serialize(Archive &archive, const unsigned int version) 
        {
-               archive & BOOST_SERIALIZATION_NVP(floorID);
-               archive & BOOST_SERIALIZATION_NVP(position);
+               if(version >= 0)
+               {
+                       archive & boost::serialization::make_nvp("Position", position);
+               }
        }
 
 public:
index b12505d..a40f940 100644 (file)
@@ -49,7 +49,7 @@ namespace Deeangband
                ID outerWallFeature; //!< \8aî\96{\8aO\95Ç\92n\8c`ID
                ID innerWallFeature; //!< \8aî\96{\93à\95Ç\92n\8c`ID
                ID controlCamp;      //!< \8f\8a\97L\90w\89cID
-               ID gurdianSpecies;   //!< \83_\83\93\83W\83\87\83\93\82Ì\8eç\8cì\8eÒID
+               ID guardianSpecies;   //!< \83_\83\93\83W\83\87\83\93\82Ì\8eç\8cì\8eÒID
 
                friend class boost::serialization::access;
 
@@ -61,12 +61,12 @@ namespace Deeangband
                */
                template<class Archive> void serialize(Archive &archive, const unsigned int fileVersion) 
                {
-                       archive & BOOST_SERIALIZATION_NVP(mixDepth);
+                       archive & BOOST_SERIALIZATION_NVP(minDepth);
                        archive & BOOST_SERIALIZATION_NVP(maxDepth);
                        archive & BOOST_SERIALIZATION_NVP(outerWallFeature);
                        archive & BOOST_SERIALIZATION_NVP(innerWallFeature);
                        archive & BOOST_SERIALIZATION_NVP(controlCamp);
-                       archive & BOOST_SERIALIZATION_NVP(GetGurdianSpecies);
+                       archive & BOOST_SERIALIZATION_NVP(guardianSpecies);
                }
 
 
index 3646aac..88a086a 100644 (file)
@@ -39,9 +39,9 @@ namespace Deeangband
                {
                        archive & BOOST_SERIALIZATION_NVP(name);
                        archive & BOOST_SERIALIZATION_NVP(tileID);
-                       archive & BOOST_SERIALIZATION_NVP(symbol);
-                       archive & BOOST_SERIALIZATION_NVP(symColor);
-                       archive & BOOST_SERIALIZATION_NVP(backColor);
+                       //archive & BOOST_SERIALIZATION_NVP(symbol);
+                       //archive & BOOST_SERIALIZATION_NVP(symColor);
+                       //archive & BOOST_SERIALIZATION_NVP(backColor);
                }
 
        public:
index e999a1a..776dd9c 100644 (file)
@@ -14,6 +14,7 @@
 #include "GameWorld.h"
 #include "GameElement.h"
 #include "Square.h"
+#include "Door.h"
 
 namespace Deeangband
 {
@@ -42,9 +43,9 @@ namespace Deeangband
                {
                        if(version >= 0)
                        {
-                               boost::serialization::make_nvp("Doors", doors);
-                               boost::serialization::make_nvp("Width", width);
-                               boost::serialization::make_nvp("Height", height);
+                               archive & boost::serialization::make_nvp("Doors", doors);
+                               archive & boost::serialization::make_nvp("Width", width);
+                               archive & boost::serialization::make_nvp("Height", height);
                        }
                }
 
index e725b33..314caa7 100644 (file)
@@ -85,6 +85,23 @@ namespace Deeangband
                {
                        if(version >= 0)
                        {
+                               archive & boost::serialization::make_nvp("Authorities", authorityList);
+                               archive & boost::serialization::make_nvp("Buildings", buildingList);
+                               archive & boost::serialization::make_nvp("Camps", campList);
+                               archive & boost::serialization::make_nvp("Dungeons", dungeonList);
+                               archive & boost::serialization::make_nvp("Effects", effectList);
+                               archive & boost::serialization::make_nvp("Features", featureList);
+                               archive & boost::serialization::make_nvp("FixedArtifacts", fixedArtifactList);
+                               archive & boost::serialization::make_nvp("ItemBases", itemBaseList);
+                               archive & boost::serialization::make_nvp("ItemEgos", itemEgoList);
+                               archive & boost::serialization::make_nvp("ItemTraits", itemTraitList);
+                               archive & boost::serialization::make_nvp("Karmas", karmaList);
+                               archive & boost::serialization::make_nvp("Quests", questList);
+                               archive & boost::serialization::make_nvp("Skills", skillList);
+                               archive & boost::serialization::make_nvp("Species", speciesList);
+                               archive & boost::serialization::make_nvp("TrapBases", trapBaseList);
+
+                               archive & boost::serialization::make_nvp("Authorities", authorityList);
                                archive & boost::serialization::make_nvp("Creatures", creatureList);
                                archive & boost::serialization::make_nvp("Items", itemList);
                                archive & boost::serialization::make_nvp("Floors", floorList);
index 6017e74..c54ac0e 100644 (file)
@@ -33,6 +33,7 @@ namespace Deeangband
                SavingTable plusSaving; //!< \92Ç\89Á\83Z\81[\83r\83\93\83O\8fC\90³
 
                friend class boost::serialization::access;
+
                template<class Archive> void serialize(Archive &archive, const unsigned int) 
                {
                        archive & BOOST_SERIALIZATION_NVP(name);
index 81421a6..b349d65 100644 (file)
@@ -26,7 +26,7 @@ namespace Deeangband
        */
        class ItemTemplate : public GameElement
        {
-       private:
+       protected:
 
                Dice baseDamage; //!< \83x\81[\83X\83_\83\81\81[\83W\82Ì\83_\83C\83X
                WEIGHT weight; //!< \83A\83C\83e\83\80\82Ì\8fd\97Ê
index 4cc2543..4af0dcd 100644 (file)
@@ -65,8 +65,11 @@ namespace Deeangband
        class Karma : public CreatureTemplate
        {
        private:
+
                Discipline desciplinePlus; //!< \8fC\97{\92l\8fC\90³
 
+               friend class boost::serialization::access;
+
                /*!
                * @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
index fbf61f8..4b0af1d 100644 (file)
@@ -22,8 +22,11 @@ namespace Deeangband
        {
 
        private:
+
                std::string name; //!< \83N\83G\83X\83g\96¼
 
+               friend class boost::serialization::access;
+
                /*!
                * @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
index 7f879c0..3c5145b 100644 (file)
@@ -30,6 +30,8 @@ namespace Deeangband
                std::string name;
                std::string details;
 
+               friend class boost::serialization::access;
+
                /*!
                * @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
index 87ee355..41ac76a 100644 (file)
@@ -47,7 +47,7 @@ namespace Deeangband
                        archive & BOOST_SERIALIZATION_NVP(averageHeight);
                        archive & BOOST_SERIALIZATION_NVP(averageWeight);
                        archive & BOOST_SERIALIZATION_NVP(baseFeed);
-                       archive & BOOST_SERIALIZATION_NVP(divineLebel);
+                       archive & BOOST_SERIALIZATION_NVP(divineLevel);
                        archive & BOOST_SERIALIZATION_NVP(baseCamp);
                        archive & BOOST_SERIALIZATION_NVP(baseStatus);
                }