aboutsummaryrefslogtreecommitdiff
path: root/src/objdef.cpp
diff options
context:
space:
mode:
authorElias Fleckenstein <eliasfleckenstein@web.de>2020-11-04 16:57:41 +0100
committerElias Fleckenstein <eliasfleckenstein@web.de>2020-11-04 16:57:41 +0100
commit6ccb5835ff55d85156be91473c598eca9d6cb9a6 (patch)
tree7f1eaf8b94694c8e24e206909ba8f55a1ebfbb3e /src/objdef.cpp
parent244713971a976e43e8740b6a9d9d122e37020ef2 (diff)
downloaddragonfireclient-6ccb5835ff55d85156be91473c598eca9d6cb9a6.tar.xz
Revert "Make Lint Happy"
This reverts commit ad148587dcf5244c2d2011dba339786c765c54c4.
Diffstat (limited to 'src/objdef.cpp')
-rw-r--r--src/objdef.cpp42
1 files changed, 29 insertions, 13 deletions
diff --git a/src/objdef.cpp b/src/objdef.cpp
index 6a5294271..482544d37 100644
--- a/src/objdef.cpp
+++ b/src/objdef.cpp
@@ -28,12 +28,14 @@ ObjDefManager::ObjDefManager(IGameDef *gamedef, ObjDefType type)
m_ndef = gamedef ? gamedef->getNodeDefManager() : NULL;
}
+
ObjDefManager::~ObjDefManager()
{
for (size_t i = 0; i != m_objects.size(); i++)
delete m_objects[i];
}
+
ObjDefHandle ObjDefManager::add(ObjDef *obj)
{
assert(obj);
@@ -49,12 +51,14 @@ ObjDefHandle ObjDefManager::add(ObjDef *obj)
return obj->handle;
}
+
ObjDef *ObjDefManager::get(ObjDefHandle handle) const
{
u32 index = validateHandle(handle);
return (index != OBJDEF_INVALID_INDEX) ? getRaw(index) : NULL;
}
+
ObjDef *ObjDefManager::set(ObjDefHandle handle, ObjDef *obj)
{
u32 index = validateHandle(handle);
@@ -63,13 +67,14 @@ ObjDef *ObjDefManager::set(ObjDefHandle handle, ObjDef *obj)
ObjDef *oldobj = setRaw(index, obj);
- obj->uid = oldobj->uid;
- obj->index = oldobj->index;
+ obj->uid = oldobj->uid;
+ obj->index = oldobj->index;
obj->handle = oldobj->handle;
return oldobj;
}
+
u32 ObjDefManager::addRaw(ObjDef *obj)
{
size_t nobjects = m_objects.size();
@@ -86,18 +91,22 @@ u32 ObjDefManager::addRaw(ObjDef *obj)
m_objects.push_back(obj);
- infostream << "ObjDefManager: added " << getObjectTitle() << ": name=\""
- << obj->name << "\" index=" << obj->index << " uid=" << obj->uid
- << std::endl;
+ infostream << "ObjDefManager: added " << getObjectTitle()
+ << ": name=\"" << obj->name
+ << "\" index=" << obj->index
+ << " uid=" << obj->uid
+ << std::endl;
return nobjects;
}
+
ObjDef *ObjDefManager::getRaw(u32 index) const
{
return m_objects[index];
}
+
ObjDef *ObjDefManager::setRaw(u32 index, ObjDef *obj)
{
ObjDef *old_obj = m_objects[index];
@@ -105,6 +114,7 @@ ObjDef *ObjDefManager::setRaw(u32 index, ObjDef *obj)
return old_obj;
}
+
ObjDef *ObjDefManager::getByName(const std::string &name) const
{
for (size_t i = 0; i != m_objects.size(); i++) {
@@ -116,6 +126,7 @@ ObjDef *ObjDefManager::getByName(const std::string &name) const
return NULL;
}
+
void ObjDefManager::clear()
{
for (size_t i = 0; i != m_objects.size(); i++)
@@ -124,20 +135,24 @@ void ObjDefManager::clear()
m_objects.clear();
}
+
u32 ObjDefManager::validateHandle(ObjDefHandle handle) const
{
ObjDefType type;
u32 index;
u32 uid;
- bool is_valid = (handle != OBJDEF_INVALID_HANDLE) &&
- decodeHandle(handle, &index, &type, &uid) &&
- (type == m_objtype) && (index < m_objects.size()) &&
- (m_objects[index]->uid == uid);
+ bool is_valid =
+ (handle != OBJDEF_INVALID_HANDLE) &&
+ decodeHandle(handle, &index, &type, &uid) &&
+ (type == m_objtype) &&
+ (index < m_objects.size()) &&
+ (m_objects[index]->uid == uid);
return is_valid ? index : -1;
}
+
ObjDefHandle ObjDefManager::createHandle(u32 index, ObjDefType type, u32 uid)
{
ObjDefHandle handle = 0;
@@ -151,8 +166,9 @@ ObjDefHandle ObjDefManager::createHandle(u32 index, ObjDefType type, u32 uid)
return handle ^ OBJDEF_HANDLE_SALT;
}
-bool ObjDefManager::decodeHandle(
- ObjDefHandle handle, u32 *index, ObjDefType *type, u32 *uid)
+
+bool ObjDefManager::decodeHandle(ObjDefHandle handle, u32 *index,
+ ObjDefType *type, u32 *uid)
{
handle ^= OBJDEF_HANDLE_SALT;
@@ -162,8 +178,8 @@ bool ObjDefManager::decodeHandle(
return false;
*index = get_bits(handle, 0, 18);
- *type = (ObjDefType)get_bits(handle, 18, 6);
- *uid = get_bits(handle, 24, 7);
+ *type = (ObjDefType)get_bits(handle, 18, 6);
+ *uid = get_bits(handle, 24, 7);
return true;
}