diff options
author | Jude Melton-Houghton <jwmhjwmh@gmail.com> | 2022-10-05 07:55:33 -0400 |
---|---|---|
committer | Jude Melton-Houghton <jwmhjwmh@gmail.com> | 2022-10-09 13:43:48 -0400 |
commit | 8f996e4a7cf7b1fa1ca683cbc37327a790e09ddc (patch) | |
tree | 0d50c87601c67555bbaf49331d22e6c44250b2b0 /src/mapblock.h | |
parent | 7a28f2c4fa50957a019a8d44856b7aa0cea306eb (diff) | |
download | minetest-8f996e4a7cf7b1fa1ca683cbc37327a790e09ddc.tar.xz |
Remove unused MapBlock functionality
Diffstat (limited to 'src/mapblock.h')
-rw-r--r-- | src/mapblock.h | 87 |
1 files changed, 14 insertions, 73 deletions
diff --git a/src/mapblock.h b/src/mapblock.h index a86db7b70..0aa0139c6 100644 --- a/src/mapblock.h +++ b/src/mapblock.h @@ -73,7 +73,7 @@ class VoxelManipulator; class MapBlock { public: - MapBlock(Map *parent, v3s16 pos, IGameDef *gamedef, bool dummy=false); + MapBlock(Map *parent, v3s16 pos, IGameDef *gamedef); ~MapBlock(); /*virtual u16 nodeContainerId() const @@ -88,11 +88,8 @@ public: void reallocate() { - delete[] data; - data = new MapNode[nodecount]; for (u32 i = 0; i < nodecount; i++) data[i] = MapNode(CONTENT_IGNORE); - raiseModified(MOD_STATE_WRITE_NEEDED, MOD_REASON_REALLOCATE); } @@ -140,17 +137,6 @@ public: //// Flags //// - inline bool isDummy() const - { - return !data; - } - - inline void unDummify() - { - assert(isDummy()); // Pre-condition - reallocate(); - } - // is_underground getter/setter inline bool getIsUnderground() { @@ -242,8 +228,7 @@ public: inline bool isValidPosition(s16 x, s16 y, s16 z) { - return data - && x >= 0 && x < MAP_BLOCKSIZE + return x >= 0 && x < MAP_BLOCKSIZE && y >= 0 && y < MAP_BLOCKSIZE && z >= 0 && z < MAP_BLOCKSIZE; } @@ -274,7 +259,7 @@ public: return getNode(p.X, p.Y, p.Z, &is_valid); } - inline void setNode(s16 x, s16 y, s16 z, MapNode & n) + inline void setNode(s16 x, s16 y, s16 z, MapNode n) { if (!isValidPosition(x, y, z)) throw InvalidPositionException(); @@ -283,7 +268,7 @@ public: raiseModified(MOD_STATE_WRITE_NEEDED, MOD_REASON_SET_NODE); } - inline void setNode(v3s16 p, MapNode & n) + inline void setNode(v3s16 p, MapNode n) { setNode(p.X, p.Y, p.Z, n); } @@ -292,46 +277,23 @@ public: //// Non-checking variants of the above //// - inline MapNode getNodeNoCheck(s16 x, s16 y, s16 z, bool *valid_position) + inline MapNode getNodeNoCheck(s16 x, s16 y, s16 z) { - *valid_position = data != nullptr; - if (!*valid_position) - return {CONTENT_IGNORE}; - return data[z * zstride + y * ystride + x]; } - inline MapNode getNodeNoCheck(v3s16 p, bool *valid_position) + inline MapNode getNodeNoCheck(v3s16 p) { - return getNodeNoCheck(p.X, p.Y, p.Z, valid_position); + return getNodeNoCheck(p.X, p.Y, p.Z); } - //// - //// Non-checking, unsafe variants of the above - //// MapBlock must be loaded by another function in the same scope/function - //// Caller must ensure that this is not a dummy block (by calling isDummy()) - //// - - inline const MapNode &getNodeUnsafe(s16 x, s16 y, s16 z) + inline void setNodeNoCheck(s16 x, s16 y, s16 z, MapNode n) { - return data[z * zstride + y * ystride + x]; - } - - inline const MapNode &getNodeUnsafe(v3s16 &p) - { - return getNodeUnsafe(p.X, p.Y, p.Z); - } - - inline void setNodeNoCheck(s16 x, s16 y, s16 z, MapNode & n) - { - if (!data) - throw InvalidPositionException(); - data[z * zstride + y * ystride + x] = n; raiseModified(MOD_STATE_WRITE_NEEDED, MOD_REASON_SET_NODE_NO_CHECK); } - inline void setNodeNoCheck(v3s16 p, MapNode & n) + inline void setNodeNoCheck(v3s16 p, MapNode n) { setNodeNoCheck(p.X, p.Y, p.Z, n); } @@ -432,12 +394,12 @@ public: //// Node Timers //// - inline NodeTimer getNodeTimer(const v3s16 &p) + inline NodeTimer getNodeTimer(v3s16 p) { return m_node_timers.get(p); } - inline void removeNodeTimer(const v3s16 &p) + inline void removeNodeTimer(v3s16 p) { m_node_timers.remove(p); } @@ -473,23 +435,6 @@ private: void deSerialize_pre22(std::istream &is, u8 version, bool disk); - /* - Used only internally, because changes can't be tracked - */ - - inline MapNode &getNodeRef(s16 x, s16 y, s16 z) - { - if (!isValidPosition(x, y, z)) - throw InvalidPositionException(); - - return data[z * zstride + y * ystride + x]; - } - - inline MapNode &getNodeRef(v3s16 &p) - { - return getNodeRef(p.X, p.Y, p.Z); - } - public: /* Public member variables @@ -536,11 +481,7 @@ private: IGameDef *m_gamedef; - /* - If NULL, block is a dummy block. - Dummy blocks are used for caching not-found-on-disk blocks. - */ - MapNode *data = nullptr; + MapNode *const data; /* - On the server, this is used for telling whether the @@ -624,12 +565,12 @@ inline bool blockpos_over_max_limit(v3s16 p) /* Returns the position of the block where the node is located */ -inline v3s16 getNodeBlockPos(const v3s16 &p) +inline v3s16 getNodeBlockPos(v3s16 p) { return getContainerPos(p, MAP_BLOCKSIZE); } -inline void getNodeBlockPosWithOffset(const v3s16 &p, v3s16 &block, v3s16 &offset) +inline void getNodeBlockPosWithOffset(v3s16 p, v3s16 &block, v3s16 &offset) { getContainerPosWithOffset(p, MAP_BLOCKSIZE, block, offset); } |