mirror of
https://github.com/luanti-org/luanti.git
synced 2025-06-27 16:36:03 +00:00
Remove unused MapBlock functionality
This commit is contained in:
parent
7a28f2c4fa
commit
8f996e4a7c
9 changed files with 110 additions and 250 deletions
|
@ -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)
|
||||
{
|
||||
*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)
|
||||
{
|
||||
return getNodeNoCheck(p.X, p.Y, p.Z, valid_position);
|
||||
}
|
||||
|
||||
////
|
||||
//// 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 MapNode getNodeNoCheck(s16 x, s16 y, s16 z)
|
||||
{
|
||||
return data[z * zstride + y * ystride + x];
|
||||
}
|
||||
|
||||
inline const MapNode &getNodeUnsafe(v3s16 &p)
|
||||
inline MapNode getNodeNoCheck(v3s16 p)
|
||||
{
|
||||
return getNodeUnsafe(p.X, p.Y, p.Z);
|
||||
return getNodeNoCheck(p.X, p.Y, p.Z);
|
||||
}
|
||||
|
||||
inline void setNodeNoCheck(s16 x, s16 y, s16 z, MapNode & n)
|
||||
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);
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue