diff options
author | Elias Fleckenstein <eliasfleckenstein@web.de> | 2020-11-04 16:57:41 +0100 |
---|---|---|
committer | Elias Fleckenstein <eliasfleckenstein@web.de> | 2020-11-04 16:57:41 +0100 |
commit | 6ccb5835ff55d85156be91473c598eca9d6cb9a6 (patch) | |
tree | 7f1eaf8b94694c8e24e206909ba8f55a1ebfbb3e /src/objdef.cpp | |
parent | 244713971a976e43e8740b6a9d9d122e37020ef2 (diff) | |
download | dragonfireclient-6ccb5835ff55d85156be91473c598eca9d6cb9a6.tar.xz |
Revert "Make Lint Happy"
This reverts commit ad148587dcf5244c2d2011dba339786c765c54c4.
Diffstat (limited to 'src/objdef.cpp')
-rw-r--r-- | src/objdef.cpp | 42 |
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; } |