X-Git-Url: https://git.lizzy.rs/?a=blobdiff_plain;f=src%2Ftool.h;h=00fae48815c865723d9dc33e07a786274f8d95a1;hb=0ebaed430ad5cd2523d78d2e2c051576e948fe13;hp=f33152355c21e3cf5f9f3dc3bfa14c99195a1493;hpb=f3fe62a0bf9e775b3e6e838f104ab605a2238792;p=dragonfireclient.git diff --git a/src/tool.h b/src/tool.h index f33152355..00fae4881 100644 --- a/src/tool.h +++ b/src/tool.h @@ -17,29 +17,25 @@ with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ -#ifndef TOOL_HEADER -#define TOOL_HEADER +#pragma once #include "irrlichttypes.h" #include #include -#include "util/cpp11_container.h" #include "itemgroup.h" +#include struct ToolGroupCap { - UNORDERED_MAP times; - int maxlevel; - int uses; + std::unordered_map times; + int maxlevel = 1; + int uses = 20; - ToolGroupCap(): - maxlevel(1), - uses(20) - {} + ToolGroupCap() = default; bool getTime(int rating, float *time) const { - UNORDERED_MAP::const_iterator i = times.find(rating); + std::unordered_map::const_iterator i = times.find(rating); if (i == times.end()) { *time = 0; return false; @@ -47,11 +43,14 @@ struct ToolGroupCap *time = i->second; return true; } + + void toJson(Json::Value &object) const; + void fromJson(const Json::Value &json); }; -typedef UNORDERED_MAP ToolGCMap; -typedef UNORDERED_MAP DamageGroup; +typedef std::unordered_map ToolGCMap; +typedef std::unordered_map DamageGroup; struct ToolCapabilities { @@ -74,6 +73,8 @@ struct ToolCapabilities void serialize(std::ostream &os, u16 version) const; void deSerialize(std::istream &is); + void serializeJson(std::ostream &os) const; + void deserializeJson(std::istream &is); }; struct DigParams @@ -94,9 +95,6 @@ struct DigParams {} }; -DigParams getDigParams(const ItemGroupList &groups, - const ToolCapabilities *tp, float time_from_last_punch); - DigParams getDigParams(const ItemGroupList &groups, const ToolCapabilities *tp); @@ -119,15 +117,11 @@ HitParams getHitParams(const ItemGroupList &armor_groups, struct PunchDamageResult { - bool did_punch; - int damage; - int wear; - - PunchDamageResult(): - did_punch(false), - damage(0), - wear(0) - {} + bool did_punch = false; + int damage = 0; + int wear = 0; + + PunchDamageResult() = default; }; struct ItemStack; @@ -138,6 +132,3 @@ PunchDamageResult getPunchDamage( const ItemStack *punchitem, float time_from_last_punch ); - -#endif -