projects
/
oweals
/
minetest.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Fix an alone if to be with a missing else
[oweals/minetest.git]
/
src
/
tool.h
diff --git
a/src/tool.h
b/src/tool.h
index 18c09dca3b85df3f2fc7ab41e403fa325760ff20..00fae48815c865723d9dc33e07a786274f8d95a1 100644
(file)
--- a/
src/tool.h
+++ b/
src/tool.h
@@
-1,6
+1,6
@@
/*
/*
-Minetest
-c55
-Copyright (C) 2010-201
1
celeron55, Perttu Ahola <celeron55@gmail.com>
+Minetest
+Copyright (C) 2010-201
3
celeron55, Perttu Ahola <celeron55@gmail.com>
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as published by
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as published by
@@
-17,62
+17,64
@@
with this program; if not, write to the Free Software Foundation, Inc.,
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*/
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*/
-#ifndef TOOL_HEADER
-#define TOOL_HEADER
+#pragma once
#include "irrlichttypes.h"
#include <string>
#include <iostream>
#include "irrlichttypes.h"
#include <string>
#include <iostream>
-#include <map>
#include "itemgroup.h"
#include "itemgroup.h"
+#include <json/json.h>
struct ToolGroupCap
{
struct ToolGroupCap
{
- std::map<int, float> times;
- int maxlevel;
- int uses;
+ std::
unordered_
map<int, float> times;
+ int maxlevel
= 1
;
+ int uses
= 20
;
- ToolGroupCap():
- maxlevel(1),
- uses(20)
- {}
+ ToolGroupCap() = default;
bool getTime(int rating, float *time) const
{
bool getTime(int rating, float *time) const
{
- std::map<int, float>::const_iterator i = times.find(rating);
- if
(i == times.end())
{
+ std::
unordered_
map<int, float>::const_iterator i = times.find(rating);
+ if
(i == times.end())
{
*time = 0;
return false;
}
*time = i->second;
return true;
}
*time = 0;
return false;
}
*time = i->second;
return true;
}
+
+ void toJson(Json::Value &object) const;
+ void fromJson(const Json::Value &json);
};
};
-// CLANG SUCKS DONKEY BALLS
-typedef std::
map<std::string, struct ToolGroupCap> ToolGCMa
p;
+typedef std::unordered_map<std::string, struct ToolGroupCap> ToolGCMap;
+typedef std::
unordered_map<std::string, s16> DamageGrou
p;
struct ToolCapabilities
{
float full_punch_interval;
int max_drop_level;
struct ToolCapabilities
{
float full_punch_interval;
int max_drop_level;
- // CLANG SUCKS DONKEY BALLS
ToolGCMap groupcaps;
ToolGCMap groupcaps;
+ DamageGroup damageGroups;
ToolCapabilities(
float full_punch_interval_=1.4,
int max_drop_level_=1,
ToolCapabilities(
float full_punch_interval_=1.4,
int max_drop_level_=1,
- // CLANG SUCKS DONKEY BALLS
-
ToolGCMap groupcaps_=ToolGCMa
p()
+ const ToolGCMap &groupcaps_ = ToolGCMap(),
+
const DamageGroup &damageGroups_ = DamageGrou
p()
):
full_punch_interval(full_punch_interval_),
max_drop_level(max_drop_level_),
):
full_punch_interval(full_punch_interval_),
max_drop_level(max_drop_level_),
- groupcaps(groupcaps_)
+ groupcaps(groupcaps_),
+ damageGroups(damageGroups_)
{}
{}
- void serialize(std::ostream &os) const;
+ void serialize(std::ostream &os
, u16 version
) const;
void deSerialize(std::istream &is);
void deSerialize(std::istream &is);
+ void serializeJson(std::ostream &os) const;
+ void deserializeJson(std::istream &is);
};
struct DigParams
};
struct DigParams
@@
-84,8
+86,8
@@
struct DigParams
u16 wear;
std::string main_group;
u16 wear;
std::string main_group;
- DigParams(bool a_diggable
=false, float a_time=0, u16 a_wear=
0,
-
std::string a_main_group=
""):
+ DigParams(bool a_diggable
= false, float a_time = 0.0f, u16 a_wear =
0,
+
const std::string &a_main_group =
""):
diggable(a_diggable),
time(a_time),
wear(a_wear),
diggable(a_diggable),
time(a_time),
wear(a_wear),
@@
-93,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);
DigParams getDigParams(const ItemGroupList &groups,
const ToolCapabilities *tp);
@@
-103,33
+102,26
@@
struct HitParams
{
s16 hp;
s16 wear;
{
s16 hp;
s16 wear;
- std::string main_group;
- HitParams(s16 hp_=0, s16 wear_=0
, std::string main_group_=""
):
+ HitParams(s16 hp_=0, s16 wear_=0):
hp(hp_),
hp(hp_),
- wear(wear_),
- main_group(main_group_)
+ wear(wear_)
{}
};
{}
};
-HitParams getHitParams(const ItemGroupList &groups,
+HitParams getHitParams(const ItemGroupList &
armor_
groups,
const ToolCapabilities *tp, float time_from_last_punch);
const ToolCapabilities *tp, float time_from_last_punch);
-HitParams getHitParams(const ItemGroupList &groups,
+HitParams getHitParams(const ItemGroupList &
armor_
groups,
const ToolCapabilities *tp);
struct PunchDamageResult
{
const ToolCapabilities *tp);
struct PunchDamageResult
{
- bool did_punch;
- int damage;
- int wear;
- std::string main_group;
+ bool did_punch = false;
+ int damage = 0;
+ int wear = 0;
- PunchDamageResult():
- did_punch(false),
- damage(0),
- wear(0)
- {}
+ PunchDamageResult() = default;
};
struct ItemStack;
};
struct ItemStack;
@@
-140,6
+132,3
@@
PunchDamageResult getPunchDamage(
const ItemStack *punchitem,
float time_from_last_punch
);
const ItemStack *punchitem,
float time_from_last_punch
);
-
-#endif
-