1
0
Fork 0
mirror of https://github.com/luanti-org/luanti.git synced 2025-06-27 16:36:03 +00:00

Cpp11 initializers 2 (#5999)

* C++11 patchset 10: continue cleanup on constructors

* Drop obsolete bool MainMenuData::enable_public (setting is called with cURL in server loop)

* More classes cleanup

* More classes cleanup + change NULL tests to boolean tests
This commit is contained in:
Loïc Blot 2017-06-17 19:11:28 +02:00 committed by GitHub
parent 76be103a91
commit 8f7785771b
59 changed files with 326 additions and 639 deletions

View file

@ -42,63 +42,6 @@ class VoxelManipulator;
#define BLOCK_TIMESTAMP_UNDEFINED 0xffffffff
/*// Named by looking towards z+
enum{
FACE_BACK=0,
FACE_TOP,
FACE_RIGHT,
FACE_FRONT,
FACE_BOTTOM,
FACE_LEFT
};*/
// NOTE: If this is enabled, set MapBlock to be initialized with
// CONTENT_IGNORE.
/*enum BlockGenerationStatus
{
// Completely non-generated (filled with CONTENT_IGNORE).
BLOCKGEN_UNTOUCHED=0,
// Trees or similar might have been blitted from other blocks to here.
// Otherwise, the block contains CONTENT_IGNORE
BLOCKGEN_FROM_NEIGHBORS=2,
// Has been generated, but some neighbors might put some stuff in here
// when they are generated.
// Does not contain any CONTENT_IGNORE
BLOCKGEN_SELF_GENERATED=4,
// The block and all its neighbors have been generated
BLOCKGEN_FULLY_GENERATED=6
};*/
#if 0
enum
{
NODECONTAINER_ID_MAPBLOCK,
NODECONTAINER_ID_MAPSECTOR,
NODECONTAINER_ID_MAP,
NODECONTAINER_ID_MAPBLOCKCACHE,
NODECONTAINER_ID_VOXELMANIPULATOR,
};
class NodeContainer
{
public:
virtual bool isValidPosition(v3s16 p) = 0;
virtual MapNode getNode(v3s16 p) = 0;
virtual void setNode(v3s16 p, MapNode & n) = 0;
virtual u16 nodeContainerId() const = 0;
MapNode getNodeNoEx(v3s16 p)
{
try{
return getNode(p);
}
catch(InvalidPositionException &e){
return MapNode(CONTENT_IGNORE);
}
}
};
#endif
////
//// MapBlock modified reason flags
////
@ -128,7 +71,7 @@ public:
//// MapBlock itself
////
class MapBlock /*: public NodeContainer*/
class MapBlock
{
public:
MapBlock(Map *parent, v3s16 pos, IGameDef *gamedef, bool dummy=false);
@ -198,7 +141,7 @@ public:
inline bool isDummy()
{
return (data == NULL);
return !data;
}
inline void unDummify()
@ -298,7 +241,7 @@ public:
inline bool isValidPosition(s16 x, s16 y, s16 z)
{
return data != NULL
return data
&& x >= 0 && x < MAP_BLOCKSIZE
&& y >= 0 && y < MAP_BLOCKSIZE
&& z >= 0 && z < MAP_BLOCKSIZE;
@ -350,7 +293,7 @@ public:
inline MapNode getNodeNoCheck(s16 x, s16 y, s16 z, bool *valid_position)
{
*valid_position = data != NULL;
*valid_position = data != nullptr;
if (!valid_position)
return MapNode(CONTENT_IGNORE);
@ -380,7 +323,7 @@ public:
inline void setNodeNoCheck(s16 x, s16 y, s16 z, MapNode & n)
{
if (data == NULL)
if (!data)
throw InvalidPositionException();
data[z * zstride + y * ystride + x] = n;
@ -579,7 +522,7 @@ public:
*/
#ifndef SERVER // Only on client
MapBlockMesh *mesh;
MapBlockMesh *mesh = nullptr;
#endif
NodeMetadataList m_node_metadata;
@ -615,15 +558,15 @@ private:
If NULL, block is a dummy block.
Dummy blocks are used for caching not-found-on-disk blocks.
*/
MapNode *data;
MapNode *data = nullptr;
/*
- On the server, this is used for telling whether the
block has been modified from the one on disk.
- On the client, this is used for nothing.
*/
u32 m_modified;
u32 m_modified_reason;
u32 m_modified = MOD_STATE_WRITE_NEEDED;
u32 m_modified_reason = MOD_REASON_INITIAL;
/*
When propagating sunlight and the above block doesn't exist,
@ -633,7 +576,7 @@ private:
undeground with nothing visible above the ground except
caves.
*/
bool is_underground;
bool is_underground = false;
/*!
* Each bit indicates if light spreading was finished
@ -643,33 +586,33 @@ private:
* night X-, night Y-, night Z-, night Z+, night Y+, night X+,
* day X-, day Y-, day Z-, day Z+, day Y+, day X+.
*/
u16 m_lighting_complete;
u16 m_lighting_complete = 0xFFFF;
// Whether day and night lighting differs
bool m_day_night_differs;
bool m_day_night_differs_expired;
bool m_day_night_differs = false;
bool m_day_night_differs_expired = true;
bool m_generated;
bool m_generated = false;
/*
When block is removed from active blocks, this is set to gametime.
Value BLOCK_TIMESTAMP_UNDEFINED=0xffffffff means there is no timestamp.
*/
u32 m_timestamp;
u32 m_timestamp = BLOCK_TIMESTAMP_UNDEFINED;
// The on-disk (or to-be on-disk) timestamp value
u32 m_disk_timestamp;
u32 m_disk_timestamp = BLOCK_TIMESTAMP_UNDEFINED;
/*
When the block is accessed, this is set to 0.
Map will unload the block when this reaches a timeout.
*/
float m_usage_timer;
float m_usage_timer = 0;
/*
Reference count; currently used for determining if this block is in
the list of blocks to be drawn.
*/
int m_refcount;
int m_refcount = 0;
};
typedef std::vector<MapBlock*> MapBlockVect;