OSDN Git Service

Fix serialization.
authorDeskull <deskull@users.sourceforge.jp>
Sun, 20 Apr 2014 10:33:55 +0000 (19:33 +0900)
committerDeskull <deskull@users.sourceforge.jp>
Sun, 20 Apr 2014 10:33:55 +0000 (19:33 +0900)
Deeangband/Creature.h
Deeangband/Dungeon.h
Deeangband/Effect.h

index f21360f..222e340 100644 (file)
 namespace Deeangband
 {
 
-       /*
-       template<> struct version<Deeangband::Creature>
-{                                                                      
-    typedef mpl::int_<10> type;                                         
-    typedef mpl::integral_c_tag tag;                                   
-    BOOST_STATIC_CONSTANT(int, value = version::type::value);          
-    BOOST_MPL_ASSERT((boost::mpl::less<boost::mpl::int_<10>, boost::mpl::int_<256>>));                                                                
-};    */                                                                 
-
-
        /*!
        * @class Creature
        * @brief \83N\83\8a\81[\83`\83\83\81[\82Ì\83N\83\89\83X
index a40f940..c27f353 100644 (file)
@@ -59,14 +59,17 @@ namespace Deeangband
                * @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(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(guardianSpecies);
+                       if(version >= 0)
+                       {
+                               archive & boost::serialization::make_nvp("MinDepth", minDepth);
+                               archive & boost::serialization::make_nvp("MaxDepth", maxDepth);
+                               archive & boost::serialization::make_nvp("OuterWallFeature", outerWallFeature);
+                               archive & boost::serialization::make_nvp("InnerWallFeature", innerWallFeature);
+                               archive & boost::serialization::make_nvp("ControllCamp", controlCamp);
+                               archive & boost::serialization::make_nvp("GuardianSpecies", guardianSpecies);
+                       }
                }
 
 
index cb60f6d..fa7e4b9 100644 (file)
@@ -74,8 +74,12 @@ namespace Deeangband
                * @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) 
                {
+                       if(version >= 0)
+                       {
+                               archive & boost::serialization::make_nvp("Name", name);
+                       }
                }
 
        public: