itemgroup.h and ItemGroupList typedef
authorPerttu Ahola <celeron55@gmail.com>
Sun, 4 Mar 2012 12:22:35 +0000 (14:22 +0200)
committerPerttu Ahola <celeron55@gmail.com>
Sat, 10 Mar 2012 09:28:13 +0000 (11:28 +0200)
src/content_sao.cpp
src/itemdef.h
src/nodedef.cpp
src/nodedef.h
src/serverremoteplayer.cpp
src/tool.cpp
src/tool.h

index cb4d81f9a6f7500b727f562556aa6881a6cb9fd0..b7a6db90676e404fb92c3289146f3bbee0414f1f 100644 (file)
@@ -724,7 +724,7 @@ void Oerkki1SAO::punch(ServerActiveObject *puncher, float time_from_last_punch)
        m_speed_f += dir*12*BS;
 
        // "Material" groups of the object
-       std::map<std::string, int> groups;
+       ItemGroupList groups;
        groups["snappy"] = 1;
        groups["choppy"] = 1;
        groups["fleshy"] = 3;
@@ -1419,7 +1419,7 @@ void MobV2SAO::punch(ServerActiveObject *puncher, float time_from_last_punch)
        
 
        // "Material" groups of the object
-       std::map<std::string, int> groups;
+       ItemGroupList groups;
        groups["snappy"] = 1;
        groups["choppy"] = 1;
        groups["fleshy"] = 3;
index 15734ff44450c8dab517edfdd8c23fd9827094d1..904b4a2210a6eb1c747d09f6ec27f04a5e6ce33a 100644 (file)
@@ -25,23 +25,10 @@ with this program; if not, write to the Free Software Foundation, Inc.,
 #include <string>
 #include <iostream>
 #include <set>
-#include <map>
+#include "itemgroup.h"
 class IGameDef;
 struct ToolCapabilities;
 
-/*
-       Some helpers
-*/
-
-static inline int itemgroup_get(const std::map<std::string, int> &groups,
-               const std::string &name)
-{
-       std::map<std::string, int>::const_iterator i = groups.find(name);
-       if(i == groups.end())
-               return 0;
-       return i->second;
-}
-
 /*
        Base item definition
 */
@@ -78,7 +65,7 @@ struct ItemDefinition
        bool liquids_pointable;
        // May be NULL. If non-NULL, deleted by destructor
        ToolCapabilities *tool_capabilities;
-       std::map<std::string, int> groups;
+       ItemGroupList groups;
 
        /*
                Cached stuff
index 7d0408eb72f85640a9feec5a3aa46929b8001e95..cc8009ab77b142ac86cab8b4416e8e2934d5a251 100644 (file)
@@ -154,7 +154,7 @@ void ContentFeatures::serialize(std::ostream &os)
        writeU8(os, 2); // version
        os<<serializeString(name);
        writeU16(os, groups.size());
-       for(std::map<std::string, int>::const_iterator
+       for(ItemGroupList::const_iterator
                        i = groups.begin(); i != groups.end(); i++){
                os<<serializeString(i->first);
                writeS16(os, i->second);
index 5196e02339f94ec4f9be8a07cfeced0d682bcf48..c875e0b752ef602a7c3412c37f54a50edd786a53 100644 (file)
@@ -28,6 +28,7 @@ with this program; if not, write to the Free Software Foundation, Inc.,
 #ifndef SERVER
 #include "tile.h"
 #endif
+#include "itemgroup.h"
 class IItemDefManager;
 class ITextureSource;
 class IGameDef;
@@ -148,7 +149,7 @@ struct ContentFeatures
        */
 
        std::string name; // "" = undefined node
-       std::map<std::string, int> groups; // Same as in itemdef
+       ItemGroupList groups; // Same as in itemdef
 
        // Visual definition
        enum NodeDrawType drawtype;
index 9dd4723fd527be0412ccb900533158cacc7bb105..c57794ea2f673393d634e7f16598eed10860c9a4 100644 (file)
@@ -182,7 +182,7 @@ void ServerRemotePlayer::punch(ServerActiveObject *puncher,
        }
        
        // "Material" groups of the player
-       std::map<std::string, int> groups;
+       ItemGroupList groups;
        groups["choppy"] = 2;
        groups["fleshy"] = 3;
 
index 69141f4e5a4b30be0884d3fc124217e87f2ce901..38994c620363f7382aae2ce41cc6b80b29b4e674 100644 (file)
@@ -68,7 +68,7 @@ void ToolCapabilities::deSerialize(std::istream &is)
        }
 }
 
-DigParams getDigParams(const std::map<std::string, int> &groups,
+DigParams getDigParams(const ItemGroupList &groups,
                const ToolCapabilities *tp, float time_from_last_punch)
 {
        //infostream<<"getDigParams"<<std::endl;
@@ -123,13 +123,13 @@ DigParams getDigParams(const std::map<std::string, int> &groups,
        return DigParams(result_diggable, result_time, wear_i);
 }
 
-DigParams getDigParams(const std::map<std::string, int> &groups,
+DigParams getDigParams(const ItemGroupList &groups,
                const ToolCapabilities *tp)
 {
        return getDigParams(groups, tp, 1000000);
 }
 
-HitParams getHitParams(const std::map<std::string, int> &groups,
+HitParams getHitParams(const ItemGroupList &groups,
                const ToolCapabilities *tp, float time_from_last_punch)
 {
        DigParams digprop = getDigParams(groups, tp,
@@ -145,7 +145,7 @@ HitParams getHitParams(const std::map<std::string, int> &groups,
        return HitParams(hp, wear);
 }
 
-HitParams getHitParams(const std::map<std::string, int> &groups,
+HitParams getHitParams(const ItemGroupList &groups,
                const ToolCapabilities *tp)
 {
        return getHitParams(groups, tp, 1000000);
index cc2401a0d49637e043396798d7f6d7112677bb53..d2a9c13c81a358d6ddbdd9b9898be60df77f1482 100644 (file)
@@ -24,6 +24,7 @@ with this program; if not, write to the Free Software Foundation, Inc.,
 #include <string>
 #include <iostream>
 #include <map>
+#include "itemgroup.h"
 
 struct ToolGroupCap
 {
@@ -84,10 +85,10 @@ struct DigParams
        {}
 };
 
-DigParams getDigParams(const std::map<std::string, int> &groups,
+DigParams getDigParams(const ItemGroupList &groups,
                const ToolCapabilities *tp, float time_from_last_punch);
 
-DigParams getDigParams(const std::map<std::string, int> &groups,
+DigParams getDigParams(const ItemGroupList &groups,
                const ToolCapabilities *tp);
 
 struct HitParams
@@ -101,10 +102,10 @@ struct HitParams
        {}
 };
 
-HitParams getHitParams(const std::map<std::string, int> &groups,
+HitParams getHitParams(const ItemGroupList &groups,
                const ToolCapabilities *tp, float time_from_last_punch);
 
-HitParams getHitParams(const std::map<std::string, int> &groups,
+HitParams getHitParams(const ItemGroupList &groups,
                const ToolCapabilities *tp);
 
 #endif