mirror of
https://github.com/minetest/minetest.git
synced 2024-12-23 22:52:25 +01:00
Cpp11 patchset 11: continue working on constructor style migration (#6004)
This commit is contained in:
parent
8f7785771b
commit
4faaadc8d5
@ -28,14 +28,6 @@ with this program; if not, write to the Free Software Foundation, Inc.,
|
||||
CachedMapBlockData
|
||||
*/
|
||||
|
||||
CachedMapBlockData::CachedMapBlockData():
|
||||
p(-1337,-1337,-1337),
|
||||
data(NULL),
|
||||
refcount_from_queue(0),
|
||||
last_used_timestamp(time(0))
|
||||
{
|
||||
}
|
||||
|
||||
CachedMapBlockData::~CachedMapBlockData()
|
||||
{
|
||||
assert(refcount_from_queue == 0);
|
||||
@ -47,16 +39,6 @@ CachedMapBlockData::~CachedMapBlockData()
|
||||
QueuedMeshUpdate
|
||||
*/
|
||||
|
||||
QueuedMeshUpdate::QueuedMeshUpdate():
|
||||
p(-1337,-1337,-1337),
|
||||
ack_block_to_server(false),
|
||||
urgent(false),
|
||||
crack_level(-1),
|
||||
crack_pos(0,0,0),
|
||||
data(NULL)
|
||||
{
|
||||
}
|
||||
|
||||
QueuedMeshUpdate::~QueuedMeshUpdate()
|
||||
{
|
||||
delete data;
|
||||
|
@ -27,25 +27,25 @@ with this program; if not, write to the Free Software Foundation, Inc.,
|
||||
|
||||
struct CachedMapBlockData
|
||||
{
|
||||
v3s16 p;
|
||||
MapNode *data; // A copy of the MapBlock's data member
|
||||
int refcount_from_queue;
|
||||
int last_used_timestamp;
|
||||
v3s16 p = v3s16(-1337, -1337, -1337);
|
||||
MapNode *data = nullptr; // A copy of the MapBlock's data member
|
||||
int refcount_from_queue = 0;
|
||||
int last_used_timestamp = std::time(0);
|
||||
|
||||
CachedMapBlockData();
|
||||
CachedMapBlockData() {}
|
||||
~CachedMapBlockData();
|
||||
};
|
||||
|
||||
struct QueuedMeshUpdate
|
||||
{
|
||||
v3s16 p;
|
||||
bool ack_block_to_server;
|
||||
bool urgent;
|
||||
int crack_level;
|
||||
v3s16 p = v3s16(-1337, -1337, -1337);
|
||||
bool ack_block_to_server = false;
|
||||
bool urgent = false;
|
||||
int crack_level = -1;
|
||||
v3s16 crack_pos;
|
||||
MeshMakeData *data; // This is generated in MeshUpdateQueue::pop()
|
||||
MeshMakeData *data = nullptr; // This is generated in MeshUpdateQueue::pop()
|
||||
|
||||
QueuedMeshUpdate();
|
||||
QueuedMeshUpdate(){};
|
||||
~QueuedMeshUpdate();
|
||||
};
|
||||
|
||||
@ -101,14 +101,11 @@ private:
|
||||
|
||||
struct MeshUpdateResult
|
||||
{
|
||||
v3s16 p;
|
||||
MapBlockMesh *mesh;
|
||||
bool ack_block_to_server;
|
||||
v3s16 p = v3s16(-1338, -1338, -1338);
|
||||
MapBlockMesh *mesh = nullptr;
|
||||
bool ack_block_to_server = false;
|
||||
|
||||
MeshUpdateResult()
|
||||
: p(-1338, -1338, -1338), mesh(NULL), ack_block_to_server(false)
|
||||
{
|
||||
}
|
||||
MeshUpdateResult() {}
|
||||
};
|
||||
|
||||
class MeshUpdateThread : public UpdateThread
|
||||
|
@ -117,10 +117,10 @@ public:
|
||||
virtual Biome *getBiomeAtIndex(size_t index, s16 y) const = 0;
|
||||
|
||||
// Result of calcBiomes bulk computation.
|
||||
biome_t *biomemap;
|
||||
biome_t *biomemap = nullptr;
|
||||
|
||||
protected:
|
||||
BiomeManager *m_bmgr;
|
||||
BiomeManager *m_bmgr = nullptr;
|
||||
v3s16 m_pmin;
|
||||
v3s16 m_csize;
|
||||
};
|
||||
|
@ -67,21 +67,6 @@ size_t DecorationManager::placeAllDecos(Mapgen *mg, u32 blockseed,
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
|
||||
Decoration::Decoration()
|
||||
{
|
||||
mapseed = 0;
|
||||
fill_ratio = 0;
|
||||
sidelen = 1;
|
||||
flags = 0;
|
||||
}
|
||||
|
||||
|
||||
Decoration::~Decoration()
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
void Decoration::resolveNodeNames()
|
||||
{
|
||||
getIdsFromNrBacklog(&c_place_on);
|
||||
@ -330,13 +315,6 @@ int DecoSimple::getHeight()
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
|
||||
DecoSchematic::DecoSchematic()
|
||||
{
|
||||
schematic = NULL;
|
||||
}
|
||||
|
||||
|
||||
size_t DecoSchematic::generate(MMVManip *vm, PcgRandom *pr, v3s16 p)
|
||||
{
|
||||
// Schematic could have been unloaded but not the decoration
|
||||
|
@ -64,8 +64,8 @@ struct CutoffData {
|
||||
|
||||
class Decoration : public ObjDef, public NodeResolver {
|
||||
public:
|
||||
Decoration();
|
||||
virtual ~Decoration();
|
||||
Decoration() {};
|
||||
virtual ~Decoration() {};
|
||||
|
||||
virtual void resolveNodeNames();
|
||||
|
||||
@ -76,13 +76,13 @@ public:
|
||||
virtual size_t generate(MMVManip *vm, PcgRandom *pr, v3s16 p) = 0;
|
||||
virtual int getHeight() = 0;
|
||||
|
||||
u32 flags;
|
||||
int mapseed;
|
||||
u32 flags = 0;
|
||||
int mapseed = 0;
|
||||
std::vector<content_t> c_place_on;
|
||||
s16 sidelen;
|
||||
s16 sidelen = 1;
|
||||
s16 y_min;
|
||||
s16 y_max;
|
||||
float fill_ratio;
|
||||
float fill_ratio = 0.0f;
|
||||
NoiseParams np;
|
||||
std::vector<content_t> c_spawnby;
|
||||
s16 nspawnby;
|
||||
@ -104,13 +104,13 @@ public:
|
||||
|
||||
class DecoSchematic : public Decoration {
|
||||
public:
|
||||
DecoSchematic();
|
||||
DecoSchematic() {};
|
||||
|
||||
virtual size_t generate(MMVManip *vm, PcgRandom *pr, v3s16 p);
|
||||
virtual int getHeight();
|
||||
|
||||
Rotation rotation;
|
||||
Schematic *schematic;
|
||||
Schematic *schematic = nullptr;
|
||||
};
|
||||
|
||||
|
||||
|
@ -72,14 +72,6 @@ void OreManager::clear()
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
|
||||
Ore::Ore()
|
||||
{
|
||||
flags = 0;
|
||||
noise = NULL;
|
||||
}
|
||||
|
||||
|
||||
Ore::~Ore()
|
||||
{
|
||||
delete noise;
|
||||
@ -232,8 +224,6 @@ void OreSheet::generate(MMVManip *vm, int mapseed, u32 blockseed,
|
||||
OrePuff::OrePuff() :
|
||||
Ore()
|
||||
{
|
||||
noise_puff_top = NULL;
|
||||
noise_puff_bottom = NULL;
|
||||
}
|
||||
|
||||
|
||||
@ -385,7 +375,6 @@ void OreBlob::generate(MMVManip *vm, int mapseed, u32 blockseed,
|
||||
OreVein::OreVein() :
|
||||
Ore()
|
||||
{
|
||||
noise2 = NULL;
|
||||
}
|
||||
|
||||
|
||||
|
14
src/mg_ore.h
14
src/mg_ore.h
@ -62,13 +62,13 @@ public:
|
||||
s16 y_min;
|
||||
s16 y_max;
|
||||
u8 ore_param2; // to set node-specific attributes
|
||||
u32 flags; // attributes for this ore
|
||||
u32 flags = 0; // attributes for this ore
|
||||
float nthresh; // threshold for noise at which an ore is placed
|
||||
NoiseParams np; // noise for distribution of clusters (NULL for uniform scattering)
|
||||
Noise *noise;
|
||||
Noise *noise = nullptr;
|
||||
std::unordered_set<u8> biomes;
|
||||
|
||||
Ore();
|
||||
Ore() {};
|
||||
virtual ~Ore();
|
||||
|
||||
virtual void resolveNodeNames();
|
||||
@ -104,8 +104,8 @@ public:
|
||||
|
||||
NoiseParams np_puff_top;
|
||||
NoiseParams np_puff_bottom;
|
||||
Noise *noise_puff_top;
|
||||
Noise *noise_puff_bottom;
|
||||
Noise *noise_puff_top = nullptr;
|
||||
Noise *noise_puff_bottom = nullptr;
|
||||
|
||||
OrePuff();
|
||||
virtual ~OrePuff();
|
||||
@ -127,7 +127,7 @@ public:
|
||||
static const bool NEEDS_NOISE = true;
|
||||
|
||||
float random_factor;
|
||||
Noise *noise2;
|
||||
Noise *noise2 = nullptr;
|
||||
|
||||
OreVein();
|
||||
virtual ~OreVein();
|
||||
@ -160,7 +160,7 @@ public:
|
||||
case ORE_VEIN:
|
||||
return new OreVein;
|
||||
default:
|
||||
return NULL;
|
||||
return nullptr;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -37,9 +37,9 @@ with this program; if not, write to the Free Software Foundation, Inc.,
|
||||
|
||||
|
||||
SchematicManager::SchematicManager(Server *server) :
|
||||
ObjDefManager(server, OBJDEF_SCHEMATIC)
|
||||
ObjDefManager(server, OBJDEF_SCHEMATIC),
|
||||
m_server(server)
|
||||
{
|
||||
m_server = server;
|
||||
}
|
||||
|
||||
|
||||
@ -69,10 +69,6 @@ void SchematicManager::clear()
|
||||
|
||||
Schematic::Schematic()
|
||||
{
|
||||
schemdata = NULL;
|
||||
slice_probs = NULL;
|
||||
flags = 0;
|
||||
size = v3s16(0, 0, 0);
|
||||
}
|
||||
|
||||
|
||||
|
@ -117,10 +117,10 @@ public:
|
||||
std::vector<std::pair<s16, u8> > *splist);
|
||||
|
||||
std::vector<content_t> c_nodes;
|
||||
u32 flags;
|
||||
u32 flags = 0;
|
||||
v3s16 size;
|
||||
MapNode *schemdata;
|
||||
u8 *slice_probs;
|
||||
MapNode *schemdata = nullptr;
|
||||
u8 *slice_probs = nullptr;
|
||||
};
|
||||
|
||||
class SchematicManager : public ObjDefManager {
|
||||
|
@ -204,8 +204,6 @@ Minimap::Minimap(IrrlichtDevice *device, Client *client)
|
||||
data->mode = MINIMAP_MODE_OFF;
|
||||
data->is_radar = false;
|
||||
data->map_invalidated = true;
|
||||
data->heightmap_image = NULL;
|
||||
data->minimap_image = NULL;
|
||||
data->texture = NULL;
|
||||
data->heightmap_texture = NULL;
|
||||
data->minimap_shape_round = g_settings->getBool("minimap_shape_round");
|
||||
@ -275,14 +273,14 @@ void Minimap::toggleMinimapShape()
|
||||
void Minimap::setMinimapShape(MinimapShape shape)
|
||||
{
|
||||
MutexAutoLock lock(m_mutex);
|
||||
|
||||
|
||||
if (shape == MINIMAP_SHAPE_SQUARE)
|
||||
data->minimap_shape_round = false;
|
||||
else if (shape == MINIMAP_SHAPE_ROUND)
|
||||
data->minimap_shape_round = true;
|
||||
|
||||
|
||||
g_settings->setBool("minimap_shape_round", data->minimap_shape_round);
|
||||
m_minimap_update_thread->deferUpdate();
|
||||
m_minimap_update_thread->deferUpdate();
|
||||
}
|
||||
|
||||
MinimapShape Minimap::getMinimapShape()
|
||||
|
@ -78,21 +78,19 @@ struct MinimapData {
|
||||
MinimapPixel minimap_scan[MINIMAP_MAX_SX * MINIMAP_MAX_SY];
|
||||
bool map_invalidated;
|
||||
bool minimap_shape_round;
|
||||
video::IImage *minimap_image;
|
||||
video::IImage *heightmap_image;
|
||||
video::IImage *minimap_mask_round;
|
||||
video::IImage *minimap_mask_square;
|
||||
video::ITexture *texture;
|
||||
video::ITexture *heightmap_texture;
|
||||
video::ITexture *minimap_overlay_round;
|
||||
video::ITexture *minimap_overlay_square;
|
||||
video::ITexture *player_marker;
|
||||
video::ITexture *object_marker_red;
|
||||
video::IImage *minimap_mask_round = nullptr;
|
||||
video::IImage *minimap_mask_square = nullptr;
|
||||
video::ITexture *texture = nullptr;
|
||||
video::ITexture *heightmap_texture = nullptr;
|
||||
video::ITexture *minimap_overlay_round = nullptr;
|
||||
video::ITexture *minimap_overlay_square = nullptr;
|
||||
video::ITexture *player_marker = nullptr;
|
||||
video::ITexture *object_marker_red = nullptr;
|
||||
};
|
||||
|
||||
struct QueuedMinimapUpdate {
|
||||
v3s16 pos;
|
||||
MinimapMapblock *data;
|
||||
MinimapMapblock *data = nullptr;
|
||||
};
|
||||
|
||||
class MinimapUpdateThread : public UpdateThread {
|
||||
@ -105,7 +103,7 @@ public:
|
||||
bool pushBlockUpdate(v3s16 pos, MinimapMapblock *data);
|
||||
bool popBlockUpdate(QueuedMinimapUpdate *update);
|
||||
|
||||
MinimapData *data;
|
||||
MinimapData *data = nullptr;
|
||||
|
||||
protected:
|
||||
virtual void doUpdate();
|
||||
|
@ -48,11 +48,7 @@ public:
|
||||
IGUIElement(gui::EGUIET_ELEMENT, env, parent, id,
|
||||
core::rect<s32>(0,0,100,100))
|
||||
{
|
||||
//m_force_regenerate_gui = false;
|
||||
|
||||
m_menumgr = menumgr;
|
||||
m_allow_focus_removal = false;
|
||||
m_screensize_old = v2u32(0,0);
|
||||
|
||||
setVisible(true);
|
||||
Environment->setFocus(this);
|
||||
@ -142,7 +138,7 @@ private:
|
||||
IMenuManager *m_menumgr;
|
||||
// This might be necessary to expose to the implementation if it
|
||||
// wants to launch other menus
|
||||
bool m_allow_focus_removal;
|
||||
bool m_allow_focus_removal = false;
|
||||
};
|
||||
|
||||
|
||||
|
@ -385,10 +385,8 @@ Json::Value getModstoreUrl(const std::string &url)
|
||||
#endif
|
||||
|
||||
ModMetadata::ModMetadata(const std::string &mod_name):
|
||||
m_mod_name(mod_name),
|
||||
m_modified(false)
|
||||
m_mod_name(mod_name)
|
||||
{
|
||||
m_stringvars.clear();
|
||||
}
|
||||
|
||||
void ModMetadata::clear()
|
||||
|
14
src/mods.h
14
src/mods.h
@ -42,19 +42,13 @@ struct ModSpec
|
||||
std::unordered_set<std::string> optdepends;
|
||||
std::unordered_set<std::string> unsatisfied_depends;
|
||||
|
||||
bool part_of_modpack;
|
||||
bool is_modpack;
|
||||
bool part_of_modpack = false;
|
||||
bool is_modpack = false;
|
||||
// if modpack:
|
||||
std::map<std::string,ModSpec> modpack_content;
|
||||
ModSpec(const std::string &name_="", const std::string &path_=""):
|
||||
name(name_),
|
||||
path(path_),
|
||||
depends(),
|
||||
optdepends(),
|
||||
unsatisfied_depends(),
|
||||
part_of_modpack(false),
|
||||
is_modpack(false),
|
||||
modpack_content()
|
||||
path(path_)
|
||||
{}
|
||||
};
|
||||
|
||||
@ -235,7 +229,7 @@ public:
|
||||
virtual bool setString(const std::string &name, const std::string &var);
|
||||
private:
|
||||
std::string m_mod_name;
|
||||
bool m_modified;
|
||||
bool m_modified = false;
|
||||
};
|
||||
|
||||
#endif
|
||||
|
@ -56,6 +56,7 @@ public:
|
||||
m_id_to_name.erase(id);
|
||||
m_name_to_id.erase(name);
|
||||
}
|
||||
|
||||
void eraseName(const std::string &name)
|
||||
{
|
||||
u16 id;
|
||||
|
@ -1923,11 +1923,6 @@ bool CNodeDefManager::nodeboxConnects(MapNode from, MapNode to, u8 connect_face)
|
||||
|
||||
NodeResolver::NodeResolver()
|
||||
{
|
||||
m_ndef = NULL;
|
||||
m_nodenames_idx = 0;
|
||||
m_nnlistsizes_idx = 0;
|
||||
m_resolve_done = false;
|
||||
|
||||
m_nodenames.reserve(16);
|
||||
m_nnlistsizes.reserve(4);
|
||||
}
|
||||
|
@ -207,24 +207,18 @@ enum PlantlikeStyle {
|
||||
|
||||
struct TileDef
|
||||
{
|
||||
std::string name;
|
||||
bool backface_culling; // Takes effect only in special cases
|
||||
bool tileable_horizontal;
|
||||
bool tileable_vertical;
|
||||
std::string name = "";
|
||||
bool backface_culling = true; // Takes effect only in special cases
|
||||
bool tileable_horizontal = true;
|
||||
bool tileable_vertical = true;
|
||||
//! If true, the tile has its own color.
|
||||
bool has_color;
|
||||
bool has_color = false;
|
||||
//! The color of the tile.
|
||||
video::SColor color;
|
||||
video::SColor color = video::SColor(0xFFFFFFFF);
|
||||
|
||||
struct TileAnimationParams animation;
|
||||
|
||||
TileDef() :
|
||||
name(""),
|
||||
backface_culling(true),
|
||||
tileable_horizontal(true),
|
||||
tileable_vertical(true),
|
||||
has_color(false),
|
||||
color(video::SColor(0xFFFFFFFF))
|
||||
TileDef()
|
||||
{
|
||||
animation.type = TAT_NONE;
|
||||
}
|
||||
@ -514,12 +508,12 @@ public:
|
||||
|
||||
void nodeResolveInternal();
|
||||
|
||||
u32 m_nodenames_idx;
|
||||
u32 m_nnlistsizes_idx;
|
||||
u32 m_nodenames_idx = 0;
|
||||
u32 m_nnlistsizes_idx = 0;
|
||||
std::vector<std::string> m_nodenames;
|
||||
std::vector<size_t> m_nnlistsizes;
|
||||
INodeDefManager *m_ndef;
|
||||
bool m_resolve_done;
|
||||
INodeDefManager *m_ndef = nullptr;
|
||||
bool m_resolve_done = false;
|
||||
};
|
||||
|
||||
#endif
|
||||
|
@ -36,18 +36,18 @@ with this program; if not, write to the Free Software Foundation, Inc.,
|
||||
class NodeTimer
|
||||
{
|
||||
public:
|
||||
NodeTimer(): timeout(0.), elapsed(0.) {}
|
||||
NodeTimer() {}
|
||||
NodeTimer(const v3s16 &position_):
|
||||
timeout(0.), elapsed(0.), position(position_) {}
|
||||
position(position_) {}
|
||||
NodeTimer(f32 timeout_, f32 elapsed_, v3s16 position_):
|
||||
timeout(timeout_), elapsed(elapsed_), position(position_) {}
|
||||
~NodeTimer() {}
|
||||
|
||||
|
||||
void serialize(std::ostream &os) const;
|
||||
void deSerialize(std::istream &is);
|
||||
|
||||
f32 timeout;
|
||||
f32 elapsed;
|
||||
|
||||
f32 timeout = 0.0f;
|
||||
f32 elapsed = 0.0f;
|
||||
v3s16 position;
|
||||
};
|
||||
|
||||
@ -58,12 +58,12 @@ public:
|
||||
class NodeTimerList
|
||||
{
|
||||
public:
|
||||
NodeTimerList(): m_next_trigger_time(-1.), m_time(0.) {}
|
||||
NodeTimerList() {}
|
||||
~NodeTimerList() {}
|
||||
|
||||
|
||||
void serialize(std::ostream &os, u8 map_format_version) const;
|
||||
void deSerialize(std::istream &is, u8 map_format_version);
|
||||
|
||||
|
||||
// Get timer
|
||||
NodeTimer get(const v3s16 &p) {
|
||||
std::map<v3s16, std::multimap<double, NodeTimer>::iterator>::iterator n =
|
||||
@ -128,8 +128,8 @@ public:
|
||||
private:
|
||||
std::multimap<double, NodeTimer> m_timers;
|
||||
std::map<v3s16, std::multimap<double, NodeTimer>::iterator> m_iterators;
|
||||
double m_next_trigger_time;
|
||||
double m_time;
|
||||
double m_next_trigger_time = -1.0;
|
||||
double m_time = 0.0;
|
||||
};
|
||||
|
||||
#endif
|
||||
|
@ -433,10 +433,6 @@ Noise::Noise(NoiseParams *np_, s32 seed, u32 sx, u32 sy, u32 sz)
|
||||
this->sy = sy;
|
||||
this->sz = sz;
|
||||
|
||||
this->persist_buf = NULL;
|
||||
this->gradient_buf = NULL;
|
||||
this->result = NULL;
|
||||
|
||||
allocBuffers();
|
||||
}
|
||||
|
||||
|
43
src/noise.h
43
src/noise.h
@ -102,26 +102,16 @@ private:
|
||||
#define NOISE_FLAG_SIMPLEX 0x10
|
||||
|
||||
struct NoiseParams {
|
||||
float offset;
|
||||
float scale;
|
||||
v3f spread;
|
||||
s32 seed;
|
||||
u16 octaves;
|
||||
float persist;
|
||||
float lacunarity;
|
||||
u32 flags;
|
||||
float offset = 0.0f;
|
||||
float scale = 1.0f;
|
||||
v3f spread = v3f(250, 250, 250);
|
||||
s32 seed = 12345;
|
||||
u16 octaves = 3;
|
||||
float persist = 0.6f;
|
||||
float lacunarity = 2.0f;
|
||||
u32 flags = NOISE_FLAG_DEFAULTS;
|
||||
|
||||
NoiseParams()
|
||||
{
|
||||
offset = 0.0f;
|
||||
scale = 1.0f;
|
||||
spread = v3f(250, 250, 250);
|
||||
seed = 12345;
|
||||
octaves = 3;
|
||||
persist = 0.6f;
|
||||
lacunarity = 2.0f;
|
||||
flags = NOISE_FLAG_DEFAULTS;
|
||||
}
|
||||
NoiseParams() {}
|
||||
|
||||
NoiseParams(float offset_, float scale_, v3f spread_, s32 seed_,
|
||||
u16 octaves_, float persist_, float lacunarity_,
|
||||
@ -138,13 +128,6 @@ struct NoiseParams {
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
// Convenience macros for getting/setting NoiseParams in Settings as a string
|
||||
// WARNING: Deprecated, use Settings::getNoiseParamsFromValue() instead
|
||||
#define NOISEPARAMS_FMT_STR "f,f,v3,s32,u16,f"
|
||||
//#define getNoiseParams(x, y) getStruct((x), NOISEPARAMS_FMT_STR, &(y), sizeof(y))
|
||||
//#define setNoiseParams(x, y) setStruct((x), NOISEPARAMS_FMT_STR, &(y))
|
||||
|
||||
class Noise {
|
||||
public:
|
||||
NoiseParams np;
|
||||
@ -152,10 +135,10 @@ public:
|
||||
u32 sx;
|
||||
u32 sy;
|
||||
u32 sz;
|
||||
float *noise_buf;
|
||||
float *gradient_buf;
|
||||
float *persist_buf;
|
||||
float *result;
|
||||
float *noise_buf = nullptr;
|
||||
float *gradient_buf = nullptr;
|
||||
float *persist_buf = nullptr;
|
||||
float *result = nullptr;
|
||||
|
||||
Noise(NoiseParams *np, s32 seed, u32 sx, u32 sy, u32 sz=1);
|
||||
~Noise();
|
||||
|
@ -24,27 +24,7 @@ with this program; if not, write to the Free Software Foundation, Inc.,
|
||||
#include "util/basic_macros.h"
|
||||
#include <sstream>
|
||||
|
||||
ObjectProperties::ObjectProperties():
|
||||
hp_max(1),
|
||||
physical(false),
|
||||
collideWithObjects(true),
|
||||
weight(5),
|
||||
collisionbox(-0.5,-0.5,-0.5, 0.5,0.5,0.5),
|
||||
visual("sprite"),
|
||||
mesh(""),
|
||||
visual_size(1,1),
|
||||
spritediv(1,1),
|
||||
initial_sprite_basepos(0,0),
|
||||
is_visible(true),
|
||||
makes_footstep_sound(false),
|
||||
automatic_rotate(0),
|
||||
stepheight(0),
|
||||
automatic_face_movement_dir(false),
|
||||
automatic_face_movement_dir_offset(0.0),
|
||||
backface_culling(true),
|
||||
nametag(""),
|
||||
nametag_color(255, 255, 255, 255),
|
||||
automatic_face_movement_max_rotation_per_sec(-1)
|
||||
ObjectProperties::ObjectProperties()
|
||||
{
|
||||
textures.push_back("unknown_object.png");
|
||||
colors.push_back(video::SColor(255,255,255,255));
|
||||
|
@ -29,28 +29,28 @@ with this program; if not, write to the Free Software Foundation, Inc.,
|
||||
struct ObjectProperties
|
||||
{
|
||||
// Values are BS=1
|
||||
s16 hp_max;
|
||||
bool physical;
|
||||
bool collideWithObjects;
|
||||
float weight;
|
||||
aabb3f collisionbox;
|
||||
std::string visual;
|
||||
std::string mesh;
|
||||
v2f visual_size;
|
||||
s16 hp_max = 1;
|
||||
bool physical = false;
|
||||
bool collideWithObjects = true;
|
||||
float weight = 5.0f;
|
||||
aabb3f collisionbox = aabb3f(-0.5f, -0.5f, -0.5f, 0.5f, 0.5f, 0.5f);
|
||||
std::string visual = "sprite";
|
||||
std::string mesh = "";
|
||||
v2f visual_size = v2f(1, 1);
|
||||
std::vector<std::string> textures;
|
||||
std::vector<video::SColor> colors;
|
||||
v2s16 spritediv;
|
||||
v2s16 spritediv = v2s16(1, 1);
|
||||
v2s16 initial_sprite_basepos;
|
||||
bool is_visible;
|
||||
bool makes_footstep_sound;
|
||||
float automatic_rotate;
|
||||
f32 stepheight;
|
||||
bool automatic_face_movement_dir;
|
||||
f32 automatic_face_movement_dir_offset;
|
||||
bool backface_culling;
|
||||
std::string nametag;
|
||||
video::SColor nametag_color;
|
||||
f32 automatic_face_movement_max_rotation_per_sec;
|
||||
bool is_visible = true;
|
||||
bool makes_footstep_sound = false;
|
||||
float automatic_rotate = 0.0f;
|
||||
f32 stepheight = 0.0f;
|
||||
bool automatic_face_movement_dir = false;
|
||||
f32 automatic_face_movement_dir_offset = 0.0f;
|
||||
bool backface_culling = true;
|
||||
std::string nametag = "";
|
||||
video::SColor nametag_color = video::SColor(255, 255, 255, 255);
|
||||
f32 automatic_face_movement_max_rotation_per_sec = -1.0f;
|
||||
std::string infotext;
|
||||
//! For dropped items, this contains item information.
|
||||
std::string wield_item;
|
||||
|
@ -76,8 +76,6 @@ Particle::Particle(
|
||||
m_texpos = texpos;
|
||||
m_texsize = texsize;
|
||||
m_animation = anim;
|
||||
m_animation_frame = 0;
|
||||
m_animation_time = 0.0;
|
||||
|
||||
// Color
|
||||
m_base_color = color;
|
||||
@ -88,7 +86,6 @@ Particle::Particle(
|
||||
m_velocity = velocity;
|
||||
m_acceleration = acceleration;
|
||||
m_expiration = expirationtime;
|
||||
m_time = 0;
|
||||
m_player = player;
|
||||
m_size = size;
|
||||
m_collisiondetection = collisiondetection;
|
||||
|
@ -86,7 +86,7 @@ private:
|
||||
void updateVertices();
|
||||
|
||||
video::S3DVertex m_vertices[4];
|
||||
float m_time;
|
||||
float m_time = 0.0f;
|
||||
float m_expiration;
|
||||
|
||||
ClientEnvironment *m_env;
|
||||
@ -110,8 +110,8 @@ private:
|
||||
bool m_vertical;
|
||||
v3s16 m_camera_offset;
|
||||
struct TileAnimationParams m_animation;
|
||||
float m_animation_time;
|
||||
int m_animation_frame;
|
||||
float m_animation_time = 0.0f;
|
||||
int m_animation_frame = 0;
|
||||
u8 m_glow;
|
||||
};
|
||||
|
||||
|
@ -30,11 +30,7 @@ with this program; if not, write to the Free Software Foundation, Inc.,
|
||||
|
||||
|
||||
Player::Player(const char *name, IItemDefManager *idef):
|
||||
inventory(idef),
|
||||
peer_id(PEER_ID_INEXISTENT),
|
||||
keyPressed(0),
|
||||
// protected
|
||||
m_speed(0,0,0)
|
||||
inventory(idef)
|
||||
{
|
||||
strlcpy(m_name, name, PLAYERNAME_SIZE);
|
||||
|
||||
|
50
src/player.h
50
src/player.h
@ -22,6 +22,7 @@ with this program; if not, write to the Free Software Foundation, Inc.,
|
||||
|
||||
#include "irrlichttypes_bloated.h"
|
||||
#include "inventory.h"
|
||||
#include "constants.h"
|
||||
#include <list>
|
||||
#include <mutex>
|
||||
|
||||
@ -32,22 +33,7 @@ with this program; if not, write to the Free Software Foundation, Inc.,
|
||||
|
||||
struct PlayerControl
|
||||
{
|
||||
PlayerControl()
|
||||
{
|
||||
up = false;
|
||||
down = false;
|
||||
left = false;
|
||||
right = false;
|
||||
jump = false;
|
||||
aux1 = false;
|
||||
sneak = false;
|
||||
LMB = false;
|
||||
RMB = false;
|
||||
pitch = 0;
|
||||
yaw = 0;
|
||||
sidew_move_joystick_axis = .0f;
|
||||
forw_move_joystick_axis = .0f;
|
||||
}
|
||||
PlayerControl() {}
|
||||
|
||||
PlayerControl(
|
||||
bool a_up,
|
||||
@ -81,20 +67,20 @@ struct PlayerControl
|
||||
sidew_move_joystick_axis = a_sidew_move_joystick_axis;
|
||||
forw_move_joystick_axis = a_forw_move_joystick_axis;
|
||||
}
|
||||
bool up;
|
||||
bool down;
|
||||
bool left;
|
||||
bool right;
|
||||
bool jump;
|
||||
bool aux1;
|
||||
bool sneak;
|
||||
bool zoom;
|
||||
bool LMB;
|
||||
bool RMB;
|
||||
float pitch;
|
||||
float yaw;
|
||||
float sidew_move_joystick_axis;
|
||||
float forw_move_joystick_axis;
|
||||
bool up = false;
|
||||
bool down = false;
|
||||
bool left = false;
|
||||
bool right = false;
|
||||
bool jump = false;
|
||||
bool aux1 = false;
|
||||
bool sneak = false;
|
||||
bool zoom = false;
|
||||
bool LMB = false;
|
||||
bool RMB = false;
|
||||
float pitch = 0.0f;
|
||||
float yaw = 0.0f;
|
||||
float sidew_move_joystick_axis = 0.0f;
|
||||
float forw_move_joystick_axis = 0.0f;
|
||||
};
|
||||
|
||||
class Map;
|
||||
@ -161,14 +147,14 @@ public:
|
||||
v2s32 local_animations[4];
|
||||
float local_animation_speed;
|
||||
|
||||
u16 peer_id;
|
||||
u16 peer_id = PEER_ID_INEXISTENT;
|
||||
|
||||
std::string inventory_formspec;
|
||||
|
||||
PlayerControl control;
|
||||
const PlayerControl& getPlayerControl() { return control; }
|
||||
|
||||
u32 keyPressed;
|
||||
u32 keyPressed = 0;
|
||||
|
||||
HudElement* getHud(u32 id);
|
||||
u32 addHud(HudElement* hud);
|
||||
|
@ -23,7 +23,7 @@ static Profiler main_profiler;
|
||||
Profiler *g_profiler = &main_profiler;
|
||||
ScopeProfiler::ScopeProfiler(
|
||||
Profiler *profiler, const std::string &name, ScopeProfilerType type)
|
||||
: m_profiler(profiler), m_name(name), m_timer(NULL), m_type(type)
|
||||
: m_profiler(profiler), m_name(name), m_type(type)
|
||||
{
|
||||
if (m_profiler)
|
||||
m_timer = new TimeTaker(m_name);
|
||||
|
@ -42,9 +42,7 @@ extern Profiler *g_profiler;
|
||||
class Profiler
|
||||
{
|
||||
public:
|
||||
Profiler()
|
||||
{
|
||||
}
|
||||
Profiler() {}
|
||||
|
||||
void add(const std::string &name, float value)
|
||||
{
|
||||
@ -195,9 +193,9 @@ public:
|
||||
ScopeProfilerType type = SPT_ADD);
|
||||
~ScopeProfiler();
|
||||
private:
|
||||
Profiler *m_profiler;
|
||||
Profiler *m_profiler = nullptr;
|
||||
std::string m_name;
|
||||
TimeTaker *m_timer;
|
||||
TimeTaker *m_timer = nullptr;
|
||||
enum ScopeProfilerType m_type;
|
||||
};
|
||||
|
||||
|
@ -26,8 +26,7 @@ with this program; if not, write to the Free Software Foundation, Inc.,
|
||||
|
||||
ReflowScan::ReflowScan(Map *map, INodeDefManager *ndef) :
|
||||
m_map(map),
|
||||
m_ndef(ndef),
|
||||
m_liquid_queue(nullptr)
|
||||
m_ndef(ndef)
|
||||
{
|
||||
}
|
||||
|
||||
|
@ -39,10 +39,10 @@ private:
|
||||
void scanColumn(int x, int z);
|
||||
|
||||
private:
|
||||
Map *m_map;
|
||||
INodeDefManager *m_ndef;
|
||||
Map *m_map = nullptr;
|
||||
INodeDefManager *m_ndef = nullptr;
|
||||
v3s16 m_block_pos, m_rel_block_pos;
|
||||
UniqueQueue<v3s16> *m_liquid_queue;
|
||||
UniqueQueue<v3s16> *m_liquid_queue = nullptr;
|
||||
MapBlock *m_lookup[3 * 3 * 3];
|
||||
u32 m_lookup_state_bitset;
|
||||
};
|
||||
|
@ -36,15 +36,7 @@ float RemotePlayer::m_setting_chat_message_limit_per_10sec = 0.0f;
|
||||
u16 RemotePlayer::m_setting_chat_message_limit_trigger_kick = 0;
|
||||
|
||||
RemotePlayer::RemotePlayer(const char *name, IItemDefManager *idef):
|
||||
Player(name, idef),
|
||||
protocol_version(0),
|
||||
m_sao(NULL),
|
||||
m_dirty(false),
|
||||
m_last_chat_message_sent(time(NULL)),
|
||||
m_chat_message_allowance(5.0f),
|
||||
m_message_rate_overhead(0),
|
||||
hud_hotbar_image(""),
|
||||
hud_hotbar_selected_image("")
|
||||
Player(name, idef)
|
||||
{
|
||||
if (!RemotePlayer::m_setting_cache_loaded) {
|
||||
RemotePlayer::m_setting_chat_message_limit_per_10sec =
|
||||
|
@ -134,7 +134,7 @@ public:
|
||||
|
||||
void setDirty(bool dirty) { m_dirty = true; }
|
||||
|
||||
u16 protocol_version;
|
||||
u16 protocol_version = 0;
|
||||
|
||||
private:
|
||||
/*
|
||||
@ -145,21 +145,21 @@ private:
|
||||
void serialize(std::ostream &os);
|
||||
void serializeExtraAttributes(std::string &output);
|
||||
|
||||
PlayerSAO *m_sao;
|
||||
bool m_dirty;
|
||||
PlayerSAO *m_sao = nullptr;
|
||||
bool m_dirty = false;
|
||||
|
||||
static bool m_setting_cache_loaded;
|
||||
static float m_setting_chat_message_limit_per_10sec;
|
||||
static u16 m_setting_chat_message_limit_trigger_kick;
|
||||
|
||||
u32 m_last_chat_message_sent;
|
||||
float m_chat_message_allowance;
|
||||
u16 m_message_rate_overhead;
|
||||
u32 m_last_chat_message_sent = std::time(0);
|
||||
float m_chat_message_allowance = 5.0f;
|
||||
u16 m_message_rate_overhead = 0;
|
||||
|
||||
bool m_day_night_ratio_do_override;
|
||||
float m_day_night_ratio;
|
||||
std::string hud_hotbar_image;
|
||||
std::string hud_hotbar_selected_image;
|
||||
std::string hud_hotbar_image = "";
|
||||
std::string hud_hotbar_selected_image = "";
|
||||
|
||||
std::string m_sky_type;
|
||||
video::SColor m_sky_bgcolor;
|
||||
|
@ -91,8 +91,7 @@ struct Entity {
|
||||
|
||||
RollbackManager::RollbackManager(const std::string & world_path,
|
||||
IGameDef * gamedef_) :
|
||||
gamedef(gamedef_),
|
||||
current_actor_is_guess(false)
|
||||
gamedef(gamedef_)
|
||||
{
|
||||
verbosestream << "RollbackManager::RollbackManager(" << world_path
|
||||
<< ")" << std::endl;
|
||||
|
@ -80,10 +80,10 @@ private:
|
||||
time_t suspect_t, v3s16 action_p, time_t action_t);
|
||||
|
||||
|
||||
IGameDef * gamedef;
|
||||
IGameDef *gamedef = nullptr;
|
||||
|
||||
std::string current_actor;
|
||||
bool current_actor_is_guess;
|
||||
bool current_actor_is_guess = false;
|
||||
|
||||
std::list<RollbackAction> action_todisk_buffer;
|
||||
std::list<RollbackAction> action_latest_buffer;
|
||||
|
@ -35,8 +35,8 @@ class InventoryManager;
|
||||
struct RollbackNode
|
||||
{
|
||||
std::string name;
|
||||
int param1;
|
||||
int param2;
|
||||
int param1 = 0;
|
||||
int param2 = 0;
|
||||
std::string meta;
|
||||
|
||||
bool operator == (const RollbackNode &other)
|
||||
@ -46,11 +46,7 @@ struct RollbackNode
|
||||
}
|
||||
bool operator != (const RollbackNode &other) { return !(*this == other); }
|
||||
|
||||
RollbackNode():
|
||||
param1(0),
|
||||
param2(0)
|
||||
{}
|
||||
|
||||
RollbackNode() {}
|
||||
RollbackNode(Map *map, v3s16 p, IGameDef *gamedef);
|
||||
};
|
||||
|
||||
@ -70,7 +66,7 @@ struct RollbackAction
|
||||
v3s16 p;
|
||||
RollbackNode n_old;
|
||||
RollbackNode n_new;
|
||||
|
||||
|
||||
std::string inventory_location;
|
||||
std::string inventory_list;
|
||||
u32 inventory_index;
|
||||
@ -103,13 +99,13 @@ struct RollbackAction
|
||||
inventory_add = add_;
|
||||
inventory_stack = inventory_stack_;
|
||||
}
|
||||
|
||||
|
||||
// String should not contain newlines or nulls
|
||||
std::string toString() const;
|
||||
|
||||
|
||||
// Eg. flowing water level changes are not important
|
||||
bool isImportant(IGameDef *gamedef) const;
|
||||
|
||||
|
||||
bool getPosition(v3s16 *dst) const;
|
||||
|
||||
bool applyRevert(Map *map, InventoryManager *imgr, IGameDef *gamedef) const;
|
||||
|
@ -156,41 +156,19 @@ Server::Server(
|
||||
m_simple_singleplayer_mode(simple_singleplayer_mode),
|
||||
m_dedicated(dedicated),
|
||||
m_async_fatal_error(""),
|
||||
m_env(NULL),
|
||||
m_con(PROTOCOL_ID,
|
||||
512,
|
||||
CONNECTION_TIMEOUT,
|
||||
ipv6,
|
||||
this),
|
||||
m_banmanager(NULL),
|
||||
m_rollback(NULL),
|
||||
m_enable_rollback_recording(false),
|
||||
m_emerge(NULL),
|
||||
m_script(NULL),
|
||||
m_itemdef(createItemDefManager()),
|
||||
m_nodedef(createNodeDefManager()),
|
||||
m_craftdef(createCraftDefManager()),
|
||||
m_event(new EventManager()),
|
||||
m_thread(NULL),
|
||||
m_time_of_day_send_timer(0),
|
||||
m_uptime(0),
|
||||
m_clients(&m_con),
|
||||
m_shutdown_requested(false),
|
||||
m_shutdown_ask_reconnect(false),
|
||||
m_shutdown_timer(0.0f),
|
||||
m_admin_chat(iface),
|
||||
m_ignore_map_edit_events(false),
|
||||
m_ignore_map_edit_events_peer_id(0),
|
||||
m_next_sound_id(0),
|
||||
m_mod_storage_save_timer(10.0f)
|
||||
m_admin_chat(iface)
|
||||
{
|
||||
m_liquid_transform_timer = 0.0;
|
||||
m_liquid_transform_every = 1.0;
|
||||
m_masterserver_timer = 0.0;
|
||||
m_emergethread_trigger_timer = 0.0;
|
||||
m_savemap_timer = 0.0;
|
||||
|
||||
m_step_dtime = 0.0;
|
||||
m_lag = g_settings->getFloat("dedicated_server_step");
|
||||
|
||||
if(path_world == "")
|
||||
|
48
src/server.h
48
src/server.h
@ -113,8 +113,8 @@ struct ServerSoundParams
|
||||
float fade = 0.0f;
|
||||
float pitch = 1.0f;
|
||||
bool loop = false;
|
||||
float max_hear_distance = 32*BS;
|
||||
v3f pos = v3f(0, 0, 0);
|
||||
float max_hear_distance = 32 * BS;
|
||||
v3f pos;
|
||||
u16 object = 0;
|
||||
std::string to_player = "";
|
||||
|
||||
@ -142,7 +142,7 @@ public:
|
||||
bool simple_singleplayer_mode,
|
||||
bool ipv6,
|
||||
bool dedicated,
|
||||
ChatInterface *iface = NULL
|
||||
ChatInterface *iface = nullptr
|
||||
);
|
||||
~Server();
|
||||
DISABLE_CLASS_COPY(Server);
|
||||
@ -521,32 +521,32 @@ private:
|
||||
MutexedVariable<std::string> m_async_fatal_error;
|
||||
|
||||
// Some timers
|
||||
float m_liquid_transform_timer;
|
||||
float m_liquid_transform_every;
|
||||
float m_masterserver_timer;
|
||||
float m_emergethread_trigger_timer;
|
||||
float m_savemap_timer;
|
||||
float m_liquid_transform_timer = 0.0f;
|
||||
float m_liquid_transform_every = 1.0f;
|
||||
float m_masterserver_timer = 0.0f;
|
||||
float m_emergethread_trigger_timer = 0.0f;
|
||||
float m_savemap_timer = 0.0f;
|
||||
IntervalLimiter m_map_timer_and_unload_interval;
|
||||
|
||||
// Environment
|
||||
ServerEnvironment *m_env;
|
||||
ServerEnvironment *m_env = nullptr;
|
||||
|
||||
// server connection
|
||||
con::Connection m_con;
|
||||
|
||||
// Ban checking
|
||||
BanManager *m_banmanager;
|
||||
BanManager *m_banmanager = nullptr;
|
||||
|
||||
// Rollback manager (behind m_env_mutex)
|
||||
IRollbackManager *m_rollback;
|
||||
bool m_enable_rollback_recording; // Updated once in a while
|
||||
IRollbackManager *m_rollback = nullptr;
|
||||
bool m_enable_rollback_recording = false; // Updated once in a while
|
||||
|
||||
// Emerge manager
|
||||
EmergeManager *m_emerge;
|
||||
EmergeManager *m_emerge = nullptr;
|
||||
|
||||
// Scripting
|
||||
// Envlock and conlock should be locked when using Lua
|
||||
ServerScripting *m_script;
|
||||
ServerScripting *m_script = nullptr;
|
||||
|
||||
// Item definition manager
|
||||
IWritableItemDefManager *m_itemdef;
|
||||
@ -569,21 +569,21 @@ private:
|
||||
|
||||
// A buffer for time steps
|
||||
// step() increments and AsyncRunStep() run by m_thread reads it.
|
||||
float m_step_dtime;
|
||||
float m_step_dtime = 0.0f;
|
||||
std::mutex m_step_dtime_mutex;
|
||||
|
||||
// current server step lag counter
|
||||
float m_lag;
|
||||
|
||||
// The server mainly operates in this thread
|
||||
ServerThread *m_thread;
|
||||
ServerThread *m_thread = nullptr;
|
||||
|
||||
/*
|
||||
Time related stuff
|
||||
*/
|
||||
|
||||
// Timer for sending time of day over network
|
||||
float m_time_of_day_send_timer;
|
||||
float m_time_of_day_send_timer = 0.0f;
|
||||
// Uptime of server in seconds
|
||||
MutexedVariable<double> m_uptime;
|
||||
/*
|
||||
@ -602,10 +602,10 @@ private:
|
||||
Random stuff
|
||||
*/
|
||||
|
||||
bool m_shutdown_requested;
|
||||
bool m_shutdown_requested = false;
|
||||
std::string m_shutdown_msg;
|
||||
bool m_shutdown_ask_reconnect;
|
||||
float m_shutdown_timer;
|
||||
bool m_shutdown_ask_reconnect = false;
|
||||
float m_shutdown_timer = 0.0f;
|
||||
|
||||
ChatInterface *m_admin_chat;
|
||||
std::string m_admin_nick;
|
||||
@ -629,7 +629,7 @@ private:
|
||||
all sending of information by itself.
|
||||
This is behind m_env_mutex
|
||||
*/
|
||||
bool m_ignore_map_edit_events;
|
||||
bool m_ignore_map_edit_events = false;
|
||||
/*
|
||||
If a non-empty area, map edit events contained within are left
|
||||
unsent. Done at map generation time to speed up editing of the
|
||||
@ -642,7 +642,7 @@ private:
|
||||
this peed id as the disabled recipient
|
||||
This is behind m_env_mutex
|
||||
*/
|
||||
u16 m_ignore_map_edit_events_peer_id;
|
||||
u16 m_ignore_map_edit_events_peer_id = 0;
|
||||
|
||||
// media files known to server
|
||||
std::unordered_map<std::string, MediaInfo> m_media;
|
||||
@ -651,7 +651,7 @@ private:
|
||||
Sounds
|
||||
*/
|
||||
std::unordered_map<s32, ServerPlayingSound> m_playing_sounds;
|
||||
s32 m_next_sound_id;
|
||||
s32 m_next_sound_id = 0;
|
||||
|
||||
/*
|
||||
Detached inventories (behind m_env_mutex)
|
||||
@ -662,7 +662,7 @@ private:
|
||||
std::map<std::string, std::string> m_detached_inventories_player;
|
||||
|
||||
std::unordered_map<std::string, ModMetadata *> m_mod_storages;
|
||||
float m_mod_storage_save_timer;
|
||||
float m_mod_storage_save_timer = 10.0f;
|
||||
};
|
||||
|
||||
/*
|
||||
|
@ -54,8 +54,7 @@ with this program; if not, write to the Free Software Foundation, Inc.,
|
||||
*/
|
||||
|
||||
ABMWithState::ABMWithState(ActiveBlockModifier *abm_):
|
||||
abm(abm_),
|
||||
timer(0)
|
||||
abm(abm_)
|
||||
{
|
||||
// Initialize timer to random value to spread processing
|
||||
float itv = abm->getTriggerInterval();
|
||||
@ -365,15 +364,7 @@ ServerEnvironment::ServerEnvironment(ServerMap *map,
|
||||
m_map(map),
|
||||
m_script(scriptIface),
|
||||
m_server(server),
|
||||
m_path_world(path_world),
|
||||
m_send_recommended_timer(0),
|
||||
m_active_block_interval_overload_skip(0),
|
||||
m_game_time(0),
|
||||
m_game_time_fraction_counter(0),
|
||||
m_last_clear_objects_time(0),
|
||||
m_recommended_send_interval(0.1),
|
||||
m_max_lag_estimate(0.1),
|
||||
m_player_database(NULL)
|
||||
m_path_world(path_world)
|
||||
{
|
||||
// Determine which database backend to use
|
||||
std::string conf_path = path_world + DIR_DELIM + "world.mt";
|
||||
|
@ -70,7 +70,7 @@ public:
|
||||
struct ABMWithState
|
||||
{
|
||||
ActiveBlockModifier *abm;
|
||||
float timer;
|
||||
float timer = 0.0f;
|
||||
|
||||
ABMWithState(ActiveBlockModifier *abm_);
|
||||
};
|
||||
@ -80,7 +80,7 @@ struct LoadingBlockModifierDef
|
||||
// Set of contents to trigger on
|
||||
std::set<std::string> trigger_contents;
|
||||
std::string name;
|
||||
bool run_at_every_load;
|
||||
bool run_at_every_load = false;
|
||||
|
||||
virtual ~LoadingBlockModifierDef() {}
|
||||
virtual void trigger(ServerEnvironment *env, v3s16 p, MapNode n){};
|
||||
@ -104,10 +104,7 @@ struct LBMContentMapping
|
||||
class LBMManager
|
||||
{
|
||||
public:
|
||||
LBMManager():
|
||||
m_query_mode(false)
|
||||
{}
|
||||
|
||||
LBMManager() {}
|
||||
~LBMManager();
|
||||
|
||||
// Don't call this after loadIntroductionTimes() ran.
|
||||
@ -128,7 +125,7 @@ public:
|
||||
private:
|
||||
// Once we set this to true, we can only query,
|
||||
// not modify
|
||||
bool m_query_mode;
|
||||
bool m_query_mode = false;
|
||||
|
||||
// For m_query_mode == false:
|
||||
// The key of the map is the LBM def's name.
|
||||
@ -399,35 +396,35 @@ private:
|
||||
// Outgoing network message buffer for active objects
|
||||
std::queue<ActiveObjectMessage> m_active_object_messages;
|
||||
// Some timers
|
||||
float m_send_recommended_timer;
|
||||
float m_send_recommended_timer = 0.0f;
|
||||
IntervalLimiter m_object_management_interval;
|
||||
// List of active blocks
|
||||
ActiveBlockList m_active_blocks;
|
||||
IntervalLimiter m_active_blocks_management_interval;
|
||||
IntervalLimiter m_active_block_modifier_interval;
|
||||
IntervalLimiter m_active_blocks_nodemetadata_interval;
|
||||
int m_active_block_interval_overload_skip;
|
||||
int m_active_block_interval_overload_skip = 0;
|
||||
// Time from the beginning of the game in seconds.
|
||||
// Incremented in step().
|
||||
u32 m_game_time;
|
||||
u32 m_game_time = 0;
|
||||
// A helper variable for incrementing the latter
|
||||
float m_game_time_fraction_counter;
|
||||
float m_game_time_fraction_counter = 0.0f;
|
||||
// Time of last clearObjects call (game time).
|
||||
// When a mapblock older than this is loaded, its objects are cleared.
|
||||
u32 m_last_clear_objects_time;
|
||||
u32 m_last_clear_objects_time = 0;
|
||||
// Active block modifiers
|
||||
std::vector<ABMWithState> m_abms;
|
||||
LBMManager m_lbm_mgr;
|
||||
// An interval for generally sending object positions and stuff
|
||||
float m_recommended_send_interval;
|
||||
float m_recommended_send_interval = 0.1f;
|
||||
// Estimate for general maximum lag as determined by server.
|
||||
// Can raise to high values like 15s with eg. map generation mods.
|
||||
float m_max_lag_estimate;
|
||||
float m_max_lag_estimate = 0.1f;
|
||||
|
||||
// peer_ids in here should be unique, except that there may be many 0s
|
||||
std::vector<RemotePlayer*> m_players;
|
||||
|
||||
PlayerDatabase *m_player_database;
|
||||
PlayerDatabase *m_player_database = nullptr;
|
||||
|
||||
// Particles
|
||||
IntervalLimiter m_particle_management_interval;
|
||||
|
Loading…
Reference in New Issue
Block a user