mirror of
https://github.com/minetest/minetest.git
synced 2024-11-27 01:53:45 +01:00
Cpp11 initializers: last src root changeset (#6022)
* Cpp11 initializers: last src root changeset Finish to migrate all src root folder files to C++11 constructor initializers
This commit is contained in:
parent
12aad731ad
commit
1425c6def1
@ -24,11 +24,6 @@ with this program; if not, write to the Free Software Foundation, Inc.,
|
||||
|
||||
ServerActiveObject::ServerActiveObject(ServerEnvironment *env, v3f pos):
|
||||
ActiveObject(0),
|
||||
m_known_by_count(0),
|
||||
m_removed(false),
|
||||
m_pending_deactivation(false),
|
||||
m_static_exists(false),
|
||||
m_static_block(1337,1337,1337),
|
||||
m_env(env),
|
||||
m_base_position(pos)
|
||||
{
|
||||
@ -82,7 +77,7 @@ ItemStack ServerActiveObject::getWieldedItem() const
|
||||
if(inv)
|
||||
{
|
||||
const InventoryList *list = inv->getList(getWieldList());
|
||||
if(list && (getWieldIndex() < (s32)list->getSize()))
|
||||
if(list && (getWieldIndex() < (s32)list->getSize()))
|
||||
return list->getItem(getWieldIndex());
|
||||
}
|
||||
return ItemStack();
|
||||
|
@ -204,7 +204,7 @@ public:
|
||||
deleted until this is 0 to keep the id preserved for the right
|
||||
object.
|
||||
*/
|
||||
u16 m_known_by_count;
|
||||
u16 m_known_by_count = 0;
|
||||
|
||||
/*
|
||||
- Whether this object is to be removed when nobody knows about
|
||||
@ -215,7 +215,7 @@ public:
|
||||
to be deleted.
|
||||
- This can be set to true by anything else too.
|
||||
*/
|
||||
bool m_removed;
|
||||
bool m_removed = false;
|
||||
|
||||
/*
|
||||
This is set to true when an object should be removed from the active
|
||||
@ -226,17 +226,17 @@ public:
|
||||
m_known_by_count is true, object is deleted from the active object
|
||||
list.
|
||||
*/
|
||||
bool m_pending_deactivation;
|
||||
bool m_pending_deactivation = false;
|
||||
|
||||
/*
|
||||
Whether the object's static data has been stored to a block
|
||||
*/
|
||||
bool m_static_exists;
|
||||
bool m_static_exists = false;
|
||||
/*
|
||||
The block from which the object was loaded from, and in which
|
||||
a copy of the static data resides.
|
||||
*/
|
||||
v3s16 m_static_block;
|
||||
v3s16 m_static_block = v3s16(1337,1337,1337);
|
||||
|
||||
/*
|
||||
Queue of messages to be sent to the client
|
||||
|
@ -73,15 +73,10 @@ struct ValueSpec {
|
||||
};
|
||||
|
||||
struct SettingsEntry {
|
||||
SettingsEntry() :
|
||||
group(NULL),
|
||||
is_group(false)
|
||||
{}
|
||||
SettingsEntry() {}
|
||||
|
||||
SettingsEntry(const std::string &value_) :
|
||||
value(value_),
|
||||
group(NULL),
|
||||
is_group(false)
|
||||
value(value_)
|
||||
{}
|
||||
|
||||
SettingsEntry(Settings *group_) :
|
||||
@ -89,9 +84,9 @@ struct SettingsEntry {
|
||||
is_group(true)
|
||||
{}
|
||||
|
||||
std::string value;
|
||||
Settings *group;
|
||||
bool is_group;
|
||||
std::string value = "";
|
||||
Settings *group = nullptr;
|
||||
bool is_group = false;
|
||||
};
|
||||
|
||||
typedef std::unordered_map<std::string, SettingsEntry> SettingEntries;
|
||||
|
19
src/shader.h
19
src/shader.h
@ -44,16 +44,13 @@ std::string getShaderPath(const std::string &name_of_shader,
|
||||
const std::string &filename);
|
||||
|
||||
struct ShaderInfo {
|
||||
std::string name;
|
||||
video::E_MATERIAL_TYPE base_material;
|
||||
video::E_MATERIAL_TYPE material;
|
||||
u8 drawtype;
|
||||
u8 material_type;
|
||||
s32 user_data;
|
||||
std::string name = "";
|
||||
video::E_MATERIAL_TYPE base_material = video::EMT_SOLID;
|
||||
video::E_MATERIAL_TYPE material = video::EMT_SOLID;
|
||||
u8 drawtype = 0;
|
||||
u8 material_type = 0;
|
||||
|
||||
ShaderInfo(): name(""), base_material(video::EMT_SOLID),
|
||||
material(video::EMT_SOLID),
|
||||
drawtype(0), material_type(0) {}
|
||||
ShaderInfo() {}
|
||||
virtual ~ShaderInfo() {}
|
||||
};
|
||||
|
||||
@ -85,11 +82,11 @@ template <typename T, std::size_t count=1>
|
||||
class CachedShaderSetting {
|
||||
const char *m_name;
|
||||
T m_sent[count];
|
||||
bool has_been_set;
|
||||
bool has_been_set = false;
|
||||
bool is_pixel;
|
||||
protected:
|
||||
CachedShaderSetting(const char *name, bool is_pixel) :
|
||||
m_name(name), has_been_set(false), is_pixel(is_pixel)
|
||||
m_name(name), is_pixel(is_pixel)
|
||||
{}
|
||||
public:
|
||||
void set(const T value[count], video::IMaterialRendererServices *services)
|
||||
|
32
src/sky.cpp
32
src/sky.cpp
@ -14,15 +14,7 @@
|
||||
|
||||
Sky::Sky(scene::ISceneNode* parent, scene::ISceneManager* mgr, s32 id,
|
||||
ITextureSource *tsrc):
|
||||
scene::ISceneNode(parent, mgr, id),
|
||||
m_visible(true),
|
||||
m_fallback_bg_color(255, 255, 255, 255),
|
||||
m_first_update(true),
|
||||
m_brightness(0.5),
|
||||
m_cloud_brightness(0.5),
|
||||
m_bgcolor_bright_f(1, 1, 1, 1),
|
||||
m_skycolor_bright_f(1, 1, 1, 1),
|
||||
m_cloudcolor_bright_f(1, 1, 1, 1)
|
||||
scene::ISceneNode(parent, mgr, id)
|
||||
{
|
||||
setAutomaticCulling(scene::EAC_OFF);
|
||||
m_box.MaxEdge.set(0, 0, 0);
|
||||
@ -85,8 +77,6 @@ Sky::Sky(scene::ISceneNode* parent, scene::ISceneManager* mgr, s32 id,
|
||||
}
|
||||
|
||||
m_directional_colored_fog = g_settings->getBool("directional_colored_fog");
|
||||
|
||||
m_clouds_enabled = true;
|
||||
}
|
||||
|
||||
|
||||
@ -109,7 +99,7 @@ void Sky::render()
|
||||
|
||||
if (!camera || !driver)
|
||||
return;
|
||||
|
||||
|
||||
ScopeProfiler sp(g_profiler, "Sky::render()", SPT_AVG);
|
||||
|
||||
// Draw perspective skybox
|
||||
@ -138,7 +128,7 @@ void Sky::render()
|
||||
float moonsize = 0.04;
|
||||
video::SColorf mooncolor_f(0.50, 0.57, 0.65, 1);
|
||||
video::SColorf mooncolor2_f(0.85, 0.875, 0.9, 1);
|
||||
|
||||
|
||||
float nightlength = 0.415;
|
||||
float wn = nightlength / 2;
|
||||
float wicked_time_of_day = 0;
|
||||
@ -181,11 +171,11 @@ void Sky::render()
|
||||
const f32 o = 0.0f;
|
||||
static const u16 indices[4] = {0, 1, 2, 3};
|
||||
video::S3DVertex vertices[4];
|
||||
|
||||
|
||||
driver->setMaterial(m_materials[1]);
|
||||
|
||||
|
||||
video::SColor cloudyfogcolor = m_bgcolor;
|
||||
|
||||
|
||||
// Draw far cloudy fog thing blended with skycolor
|
||||
for (u32 j = 0; j < 4; j++) {
|
||||
video::SColor c = cloudyfogcolor.getInterpolated(m_skycolor, 0.45);
|
||||
@ -361,7 +351,7 @@ void Sky::render()
|
||||
vertices[i].Pos.rotateXYBy(wicked_time_of_day * 360 - 90);
|
||||
}
|
||||
driver->drawIndexedTriangleFan(&vertices[0], 4, indices, 2);
|
||||
|
||||
|
||||
d = moonsize * 1.3;
|
||||
c = mooncolor;
|
||||
c.setAlpha(0.15 * 255);
|
||||
@ -466,7 +456,7 @@ void Sky::render()
|
||||
indices, SKY_STAR_COUNT, video::EVT_STANDARD,
|
||||
scene::EPT_QUADS, video::EIT_16BIT);
|
||||
} while(0);
|
||||
|
||||
|
||||
// Draw far cloudy fog thing below east and west horizons
|
||||
for (u32 j = 0; j < 2; j++) {
|
||||
video::SColor c = cloudyfogcolor;
|
||||
@ -510,7 +500,7 @@ void Sky::update(float time_of_day, float time_brightness,
|
||||
m_time_of_day = time_of_day;
|
||||
m_time_brightness = time_brightness;
|
||||
m_sunlight_seen = sunlight_seen;
|
||||
|
||||
|
||||
bool is_dawn = (time_brightness >= 0.20 && time_brightness < 0.35);
|
||||
|
||||
/*
|
||||
@ -535,7 +525,7 @@ void Sky::update(float time_of_day, float time_brightness,
|
||||
video::SColorf skycolor_bright_normal_f = video::SColor(255, 140, 186, 250);
|
||||
video::SColorf skycolor_bright_dawn_f = video::SColor(255, 180, 186, 250);
|
||||
video::SColorf skycolor_bright_night_f = video::SColor(255, 0, 107, 255);
|
||||
|
||||
|
||||
// pure white: becomes "diffuse light component" for clouds
|
||||
video::SColorf cloudcolor_bright_normal_f = video::SColor(255, 255, 255, 255);
|
||||
// dawn-factoring version of pure white (note: R is above 1.0)
|
||||
@ -555,7 +545,7 @@ void Sky::update(float time_of_day, float time_brightness,
|
||||
else
|
||||
m_brightness = m_brightness * 0.98 + direct_brightness * 0.02;
|
||||
}
|
||||
|
||||
|
||||
m_clouds_visible = true;
|
||||
float color_change_fraction = 0.98;
|
||||
if (sunlight_seen) {
|
||||
|
20
src/sky.h
20
src/sky.h
@ -117,25 +117,25 @@ private:
|
||||
return result;
|
||||
}
|
||||
|
||||
bool m_visible;
|
||||
video::SColor m_fallback_bg_color; // Used when m_visible=false
|
||||
bool m_first_update;
|
||||
bool m_visible = true;
|
||||
// Used when m_visible=false
|
||||
video::SColor m_fallback_bg_color = video::SColor(255, 255, 255, 255);
|
||||
bool m_first_update = true;
|
||||
float m_time_of_day;
|
||||
float m_time_brightness;
|
||||
bool m_sunlight_seen;
|
||||
float m_brightness;
|
||||
float m_cloud_brightness;
|
||||
float m_brightness = 0.5f;
|
||||
float m_cloud_brightness = 0.5f;
|
||||
bool m_clouds_visible; // Whether clouds are disabled due to player underground
|
||||
bool m_clouds_enabled; // Initialised to true, reset only by set_sky API
|
||||
bool m_clouds_enabled = true; // Initialised to true, reset only by set_sky API
|
||||
bool m_directional_colored_fog;
|
||||
video::SColorf m_bgcolor_bright_f;
|
||||
video::SColorf m_skycolor_bright_f;
|
||||
video::SColorf m_cloudcolor_bright_f;
|
||||
video::SColorf m_bgcolor_bright_f = video::SColorf(1.0f, 1.0f, 1.0f, 1.0f);
|
||||
video::SColorf m_skycolor_bright_f = video::SColorf(1.0f, 1.0f, 1.0f, 1.0f);
|
||||
video::SColorf m_cloudcolor_bright_f = video::SColorf(1.0f, 1.0f, 1.0f, 1.0f);
|
||||
video::SColor m_bgcolor;
|
||||
video::SColor m_skycolor;
|
||||
video::SColorf m_cloudcolor_f;
|
||||
v3f m_stars[SKY_STAR_COUNT];
|
||||
video::S3DVertex m_star_vertices[SKY_STAR_COUNT * 4];
|
||||
video::ITexture *m_sun_texture;
|
||||
video::ITexture *m_moon_texture;
|
||||
video::ITexture *m_sun_tonemap;
|
||||
|
@ -90,9 +90,7 @@ void sockets_cleanup()
|
||||
|
||||
Address::Address()
|
||||
{
|
||||
m_addr_family = 0;
|
||||
memset(&m_address, 0, sizeof(m_address));
|
||||
m_port = 0;
|
||||
}
|
||||
|
||||
Address::Address(u32 address, u16 port)
|
||||
|
@ -103,13 +103,13 @@ public:
|
||||
void print(std::ostream *s) const;
|
||||
std::string serializeString() const;
|
||||
private:
|
||||
unsigned int m_addr_family;
|
||||
unsigned int m_addr_family = 0;
|
||||
union
|
||||
{
|
||||
struct sockaddr_in ipv4;
|
||||
struct sockaddr_in6 ipv6;
|
||||
} m_address;
|
||||
u16 m_port; // Port is separate from sockaddr structures
|
||||
u16 m_port = 0; // Port is separate from sockaddr structures
|
||||
};
|
||||
|
||||
class UDPSocket
|
||||
|
@ -29,15 +29,11 @@ with this program; if not, write to the Free Software Foundation, Inc.,
|
||||
|
||||
struct StaticObject
|
||||
{
|
||||
u8 type;
|
||||
u8 type = 0;
|
||||
v3f pos;
|
||||
std::string data;
|
||||
|
||||
StaticObject():
|
||||
type(0),
|
||||
pos(0,0,0)
|
||||
{
|
||||
}
|
||||
StaticObject() {}
|
||||
StaticObject(u8 type_, v3f pos_, const std::string &data_):
|
||||
type(type_),
|
||||
pos(pos_),
|
||||
@ -88,7 +84,7 @@ public:
|
||||
|
||||
void serialize(std::ostream &os);
|
||||
void deSerialize(std::istream &is);
|
||||
|
||||
|
||||
/*
|
||||
NOTE: When an object is transformed to active, it is removed
|
||||
from m_stored and inserted to m_active.
|
||||
|
@ -26,8 +26,6 @@ with this program; if not, write to the Free Software Foundation, Inc.,
|
||||
|
||||
class Settings;
|
||||
|
||||
#define WORLDNAME_BLACKLISTED_CHARS "/\\"
|
||||
|
||||
struct SubgameSpec
|
||||
{
|
||||
std::string id; // "" = game does not exist
|
||||
@ -37,15 +35,15 @@ struct SubgameSpec
|
||||
std::string name;
|
||||
std::string menuicon_path;
|
||||
|
||||
SubgameSpec(const std::string &id_="",
|
||||
const std::string &path_="",
|
||||
const std::string &gamemods_path_="",
|
||||
const std::set<std::string> &addon_mods_paths_=std::set<std::string>(),
|
||||
const std::string &name_="",
|
||||
const std::string &menuicon_path_=""):
|
||||
SubgameSpec(const std::string &id_ = "",
|
||||
const std::string &path_ = "",
|
||||
const std::string &gamemods_path_ = "",
|
||||
const std::set<std::string> &addon_mods_paths_ = std::set<std::string>(),
|
||||
const std::string &name_ = "",
|
||||
const std::string &menuicon_path_ = ""):
|
||||
id(id_),
|
||||
path(path_),
|
||||
gamemods_path(gamemods_path_),
|
||||
gamemods_path(gamemods_path_),
|
||||
addon_mods_paths(addon_mods_paths_),
|
||||
name(name_),
|
||||
menuicon_path(menuicon_path_)
|
||||
|
@ -52,13 +52,7 @@ class TerminalChatConsole : public Thread {
|
||||
public:
|
||||
|
||||
TerminalChatConsole() :
|
||||
Thread("TerminalThread"),
|
||||
m_log_level(LL_ACTION),
|
||||
m_utf8_bytes_to_wait(0),
|
||||
m_kill_requested(NULL),
|
||||
m_esc_mode(false),
|
||||
m_game_time(0),
|
||||
m_time_of_day(0)
|
||||
Thread("TerminalThread")
|
||||
{}
|
||||
|
||||
void setup(
|
||||
@ -74,7 +68,7 @@ public:
|
||||
virtual void *run();
|
||||
|
||||
// Highly required!
|
||||
void clearKillStatus() { m_kill_requested = NULL; }
|
||||
void clearKillStatus() { m_kill_requested = nullptr; }
|
||||
|
||||
void stopAndWaitforThread();
|
||||
|
||||
@ -102,10 +96,10 @@ private:
|
||||
~CursesInitHelper() { cons->deInitOfCurses(); }
|
||||
};
|
||||
|
||||
int m_log_level;
|
||||
int m_log_level = LL_ACTION;
|
||||
std::string m_nick;
|
||||
|
||||
u8 m_utf8_bytes_to_wait;
|
||||
u8 m_utf8_bytes_to_wait = 0;
|
||||
std::string m_pending_utf8_bytes;
|
||||
|
||||
std::list<std::string> m_nicks;
|
||||
@ -114,16 +108,16 @@ private:
|
||||
int m_rows;
|
||||
bool m_can_draw_text;
|
||||
|
||||
bool *m_kill_requested;
|
||||
bool *m_kill_requested = nullptr;
|
||||
ChatBackend m_chat_backend;
|
||||
ChatInterface *m_chat_interface;
|
||||
|
||||
TermLogOutput m_log_output;
|
||||
|
||||
bool m_esc_mode;
|
||||
bool m_esc_mode = false;
|
||||
|
||||
u64 m_game_time;
|
||||
u32 m_time_of_day;
|
||||
u64 m_game_time = 0;
|
||||
u32 m_time_of_day = 0;
|
||||
};
|
||||
|
||||
extern TerminalChatConsole g_term_console;
|
||||
|
21
src/tool.h
21
src/tool.h
@ -28,13 +28,10 @@ with this program; if not, write to the Free Software Foundation, Inc.,
|
||||
struct ToolGroupCap
|
||||
{
|
||||
std::unordered_map<int, float> times;
|
||||
int maxlevel;
|
||||
int uses;
|
||||
int maxlevel = 1;
|
||||
int uses = 20;
|
||||
|
||||
ToolGroupCap():
|
||||
maxlevel(1),
|
||||
uses(20)
|
||||
{}
|
||||
ToolGroupCap() {}
|
||||
|
||||
bool getTime(int rating, float *time) const
|
||||
{
|
||||
@ -118,15 +115,11 @@ HitParams getHitParams(const ItemGroupList &armor_groups,
|
||||
|
||||
struct PunchDamageResult
|
||||
{
|
||||
bool did_punch;
|
||||
int damage;
|
||||
int wear;
|
||||
bool did_punch = false;
|
||||
int damage = 0;
|
||||
int wear = 0;
|
||||
|
||||
PunchDamageResult():
|
||||
did_punch(false),
|
||||
damage(0),
|
||||
wear(0)
|
||||
{}
|
||||
PunchDamageResult() {}
|
||||
};
|
||||
|
||||
struct ItemStack;
|
||||
|
@ -130,19 +130,10 @@ static void load_button_texture(button_info* btn, const char* path,
|
||||
|
||||
AutoHideButtonBar::AutoHideButtonBar(IrrlichtDevice *device,
|
||||
IEventReceiver* receiver) :
|
||||
m_texturesource(NULL),
|
||||
m_driver(device->getVideoDriver()),
|
||||
m_guienv(device->getGUIEnvironment()),
|
||||
m_receiver(receiver),
|
||||
m_active(false),
|
||||
m_visible(true),
|
||||
m_timeout(0),
|
||||
m_timeout_value(3),
|
||||
m_initialized(false),
|
||||
m_dir(AHBB_Dir_Right_Left)
|
||||
m_receiver(receiver)
|
||||
{
|
||||
m_screensize = device->getVideoDriver()->getScreenSize();
|
||||
|
||||
}
|
||||
|
||||
void AutoHideButtonBar::init(ISimpleTextureSource* tsrc,
|
||||
@ -416,16 +407,7 @@ void AutoHideButtonBar::show()
|
||||
TouchScreenGUI::TouchScreenGUI(IrrlichtDevice *device, IEventReceiver* receiver):
|
||||
m_device(device),
|
||||
m_guienv(device->getGUIEnvironment()),
|
||||
m_camera_yaw_change(0.0),
|
||||
m_camera_pitch(0.0),
|
||||
m_visible(false),
|
||||
m_move_id(-1),
|
||||
m_receiver(receiver),
|
||||
m_move_has_really_moved(false),
|
||||
m_move_downtime(0),
|
||||
m_move_sent_as_mouse_event(false),
|
||||
// use some downlocation way off screen as init value to avoid invalid behaviour
|
||||
m_move_downlocation(v2s32(-10000, -10000)),
|
||||
m_settingsbar(device, receiver),
|
||||
m_rarecontrolsbar(device, receiver)
|
||||
{
|
||||
@ -474,8 +456,6 @@ void TouchScreenGUI::init(ISimpleTextureSource* tsrc)
|
||||
u32 button_size = getGuiButtonSize();
|
||||
m_visible = true;
|
||||
m_texturesource = tsrc;
|
||||
m_control_pad_rect = rect<s32>(0, m_screensize.Y - 3 * button_size,
|
||||
3 * button_size, m_screensize.Y);
|
||||
/*
|
||||
draw control pad
|
||||
0 1 2
|
||||
|
@ -76,7 +76,7 @@ struct button_info
|
||||
float repeatdelay;
|
||||
irr::EKEY_CODE keycode;
|
||||
std::vector<int> ids;
|
||||
IGUIButton *guibutton = NULL;
|
||||
IGUIButton *guibutton = nullptr;
|
||||
bool immediate_release;
|
||||
};
|
||||
|
||||
@ -114,11 +114,10 @@ public:
|
||||
void show();
|
||||
|
||||
private:
|
||||
ISimpleTextureSource *m_texturesource;
|
||||
ISimpleTextureSource *m_texturesource = nullptr;
|
||||
irr::video::IVideoDriver *m_driver;
|
||||
IGUIEnvironment *m_guienv;
|
||||
IEventReceiver *m_receiver;
|
||||
v2u32 m_screensize;
|
||||
button_info m_starter;
|
||||
std::vector<button_info *> m_buttons;
|
||||
|
||||
@ -126,15 +125,15 @@ private:
|
||||
v2s32 m_lower_right;
|
||||
|
||||
/* show settings bar */
|
||||
bool m_active;
|
||||
bool m_active = false;
|
||||
|
||||
bool m_visible;
|
||||
bool m_visible = true;
|
||||
|
||||
/* settings bar timeout */
|
||||
float m_timeout;
|
||||
float m_timeout_value;
|
||||
bool m_initialized;
|
||||
autohide_button_bar_dir m_dir;
|
||||
float m_timeout = 0.0f;
|
||||
float m_timeout_value = 3.0f;
|
||||
bool m_initialized = false;
|
||||
autohide_button_bar_dir m_dir = AHBB_Dir_Right_Left;
|
||||
};
|
||||
|
||||
class TouchScreenGUI
|
||||
@ -177,18 +176,16 @@ private:
|
||||
bool m_visible; // is the gui visible
|
||||
|
||||
/* value in degree */
|
||||
double m_camera_yaw_change;
|
||||
double m_camera_pitch;
|
||||
double m_camera_yaw_change = 0.0;
|
||||
double m_camera_pitch = 0.0;
|
||||
|
||||
line3d<f32> m_shootline;
|
||||
|
||||
rect<s32> m_control_pad_rect;
|
||||
|
||||
int m_move_id;
|
||||
bool m_move_has_really_moved;
|
||||
s64 m_move_downtime;
|
||||
bool m_move_sent_as_mouse_event;
|
||||
v2s32 m_move_downlocation;
|
||||
int m_move_id = -1;
|
||||
bool m_move_has_really_moved = false;
|
||||
s64 m_move_downtime = 0;
|
||||
bool m_move_sent_as_mouse_event = false;
|
||||
v2s32 m_move_downlocation = v2s32(-10000, -10000);
|
||||
|
||||
button_info m_buttons[after_last_element_id];
|
||||
|
||||
@ -206,9 +203,6 @@ private:
|
||||
std::wstring caption, bool immediate_release,
|
||||
float repeat_delay = BUTTON_REPEAT_DELAY);
|
||||
|
||||
/* load texture */
|
||||
void loadButtonTexture(button_info *btn, const char *path, rect<s32> button_rect);
|
||||
|
||||
struct id_status
|
||||
{
|
||||
int id;
|
||||
|
@ -33,9 +33,7 @@ u64 emerge_load_time = 0;
|
||||
u64 clearflag_time = 0;
|
||||
|
||||
|
||||
VoxelManipulator::VoxelManipulator():
|
||||
m_data(NULL),
|
||||
m_flags(NULL)
|
||||
VoxelManipulator::VoxelManipulator()
|
||||
{
|
||||
}
|
||||
|
||||
@ -49,9 +47,9 @@ void VoxelManipulator::clear()
|
||||
// Reset area to volume=0
|
||||
m_area = VoxelArea();
|
||||
delete[] m_data;
|
||||
m_data = NULL;
|
||||
m_data = nullptr;
|
||||
delete[] m_flags;
|
||||
m_flags = NULL;
|
||||
m_flags = nullptr;
|
||||
}
|
||||
|
||||
void VoxelManipulator::print(std::ostream &o, INodeDefManager *ndef,
|
||||
|
41
src/voxel.h
41
src/voxel.h
@ -60,11 +60,8 @@ class VoxelArea
|
||||
{
|
||||
public:
|
||||
// Starts as zero sized
|
||||
VoxelArea():
|
||||
MinEdge(1,1,1),
|
||||
MaxEdge(0,0,0)
|
||||
{
|
||||
}
|
||||
VoxelArea() {}
|
||||
|
||||
VoxelArea(v3s16 min_edge, v3s16 max_edge):
|
||||
MinEdge(min_edge),
|
||||
MaxEdge(max_edge)
|
||||
@ -325,22 +322,22 @@ public:
|
||||
}
|
||||
|
||||
// Edges are inclusive
|
||||
v3s16 MinEdge;
|
||||
v3s16 MinEdge = v3s16(1,1,1);
|
||||
v3s16 MaxEdge;
|
||||
};
|
||||
|
||||
// unused
|
||||
#define VOXELFLAG_UNUSED (1<<0)
|
||||
// unused
|
||||
#define VOXELFLAG_UNUSED (1 << 0)
|
||||
// no data about that node
|
||||
#define VOXELFLAG_NO_DATA (1<<1)
|
||||
#define VOXELFLAG_NO_DATA (1 << 1)
|
||||
// Algorithm-dependent
|
||||
#define VOXELFLAG_CHECKED1 (1<<2)
|
||||
#define VOXELFLAG_CHECKED1 (1 << 2)
|
||||
// Algorithm-dependent
|
||||
#define VOXELFLAG_CHECKED2 (1<<3)
|
||||
#define VOXELFLAG_CHECKED2 (1 << 3)
|
||||
// Algorithm-dependent
|
||||
#define VOXELFLAG_CHECKED3 (1<<4)
|
||||
#define VOXELFLAG_CHECKED3 (1 << 4)
|
||||
// Algorithm-dependent
|
||||
#define VOXELFLAG_CHECKED4 (1<<5)
|
||||
#define VOXELFLAG_CHECKED4 (1 << 5)
|
||||
|
||||
enum VoxelPrintMode
|
||||
{
|
||||
@ -570,29 +567,17 @@ public:
|
||||
VoxelArea m_area;
|
||||
|
||||
/*
|
||||
NULL if data size is 0 (extent (0,0,0))
|
||||
nullptr if data size is 0 (extent (0,0,0))
|
||||
Data is stored as [z*h*w + y*h + x]
|
||||
*/
|
||||
MapNode *m_data;
|
||||
MapNode *m_data = nullptr;
|
||||
|
||||
/*
|
||||
Flags of all nodes
|
||||
*/
|
||||
u8 *m_flags;
|
||||
u8 *m_flags = nullptr;
|
||||
|
||||
static const MapNode ContentIgnoreNode;
|
||||
|
||||
//TODO: Use these or remove them
|
||||
//TODO: Would these make any speed improvement?
|
||||
//bool m_pressure_route_valid;
|
||||
//v3s16 m_pressure_route_surface;
|
||||
|
||||
/*
|
||||
Some settings
|
||||
*/
|
||||
//bool m_disable_water_climb;
|
||||
|
||||
private:
|
||||
};
|
||||
|
||||
#endif
|
||||
|
@ -1402,14 +1402,9 @@ void repair_block_light(ServerMap *map, MapBlock *block,
|
||||
modified_blocks);
|
||||
}
|
||||
|
||||
VoxelLineIterator::VoxelLineIterator(
|
||||
const v3f &start_position,
|
||||
const v3f &line_vector) :
|
||||
VoxelLineIterator::VoxelLineIterator(const v3f &start_position, const v3f &line_vector) :
|
||||
m_start_position(start_position),
|
||||
m_line_vector(line_vector),
|
||||
m_next_intersection_multi(10000.0f, 10000.0f, 10000.0f),
|
||||
m_intersection_multi_inc(10000.0f, 10000.0f, 10000.0f),
|
||||
m_step_directions(1.0f, 1.0f, 1.0f)
|
||||
m_line_vector(line_vector)
|
||||
{
|
||||
m_current_node_pos = floatToInt(m_start_position, 1);
|
||||
|
||||
|
@ -123,17 +123,17 @@ public:
|
||||
* which multiplying the line's vector gives a vector that ends
|
||||
* on the intersection of two nodes.
|
||||
*/
|
||||
v3f m_next_intersection_multi;
|
||||
v3f m_next_intersection_multi = v3f(10000.0f, 10000.0f, 10000.0f);
|
||||
/*!
|
||||
* Each component stores the smallest positive number, by which
|
||||
* m_next_intersection_multi's components can be increased.
|
||||
*/
|
||||
v3f m_intersection_multi_inc;
|
||||
v3f m_intersection_multi_inc = v3f(10000.0f, 10000.0f, 10000.0f);
|
||||
/*!
|
||||
* Direction of the line. Each component can be -1 or 1 (if a
|
||||
* component of the line's vector is 0, then there will be 1).
|
||||
*/
|
||||
v3s16 m_step_directions;
|
||||
v3s16 m_step_directions = v3s16(1, 1, 1);
|
||||
//! Position of the current node.
|
||||
v3s16 m_current_node_pos;
|
||||
//! If true, the next node will intersect the line, too.
|
||||
|
@ -199,10 +199,8 @@ WieldMeshSceneNode::WieldMeshSceneNode(
|
||||
bool lighting
|
||||
):
|
||||
scene::ISceneNode(parent, mgr, id),
|
||||
m_meshnode(NULL),
|
||||
m_material_type(video::EMT_TRANSPARENT_ALPHA_CHANNEL_REF),
|
||||
m_lighting(lighting),
|
||||
m_bounding_box(0.0, 0.0, 0.0, 0.0, 0.0, 0.0)
|
||||
m_lighting(lighting)
|
||||
{
|
||||
m_enable_shaders = g_settings->getBool("enable_shaders");
|
||||
m_anisotropic_filter = g_settings->getBool("anisotropic_filter");
|
||||
@ -211,7 +209,7 @@ WieldMeshSceneNode::WieldMeshSceneNode(
|
||||
|
||||
// If this is the first wield mesh scene node, create a cache
|
||||
// for extrusion meshes (and a cube mesh), otherwise reuse it
|
||||
if (g_extrusion_mesh_cache == NULL)
|
||||
if (!g_extrusion_mesh_cache)
|
||||
g_extrusion_mesh_cache = new ExtrusionMeshCache();
|
||||
else
|
||||
g_extrusion_mesh_cache->grab();
|
||||
@ -232,11 +230,11 @@ WieldMeshSceneNode::~WieldMeshSceneNode()
|
||||
{
|
||||
sanity_check(g_extrusion_mesh_cache);
|
||||
if (g_extrusion_mesh_cache->drop())
|
||||
g_extrusion_mesh_cache = NULL;
|
||||
g_extrusion_mesh_cache = nullptr;
|
||||
}
|
||||
|
||||
void WieldMeshSceneNode::setCube(const ContentFeatures &f,
|
||||
v3f wield_scale, ITextureSource *tsrc)
|
||||
v3f wield_scale)
|
||||
{
|
||||
scene::IMesh *cubemesh = g_extrusion_mesh_cache->createCube();
|
||||
scene::SMesh *copy = cloneMesh(cubemesh);
|
||||
@ -252,7 +250,7 @@ void WieldMeshSceneNode::setExtruded(const std::string &imagename,
|
||||
{
|
||||
video::ITexture *texture = tsrc->getTexture(imagename);
|
||||
if (!texture) {
|
||||
changeToMesh(NULL);
|
||||
changeToMesh(nullptr);
|
||||
return;
|
||||
}
|
||||
|
||||
@ -335,13 +333,13 @@ void WieldMeshSceneNode::setItem(const ItemStack &item, Client *client)
|
||||
def.wield_scale * WIELD_SCALE_FACTOR
|
||||
/ (BS * f.visual_scale));
|
||||
} else if (f.drawtype == NDT_AIRLIKE) {
|
||||
changeToMesh(NULL);
|
||||
changeToMesh(nullptr);
|
||||
} else if (f.drawtype == NDT_PLANTLIKE) {
|
||||
setExtruded(tsrc->getTextureName(f.tiles[0].layers[0].texture_id),
|
||||
def.wield_scale, tsrc,
|
||||
f.tiles[0].layers[0].animation_frame_count);
|
||||
} else if (f.drawtype == NDT_NORMAL || f.drawtype == NDT_ALLFACES) {
|
||||
setCube(f, def.wield_scale, tsrc);
|
||||
setCube(f, def.wield_scale);
|
||||
} else {
|
||||
MeshMakeData mesh_make_data(client, false);
|
||||
MapNode mesh_make_node(id, 255, 0);
|
||||
@ -373,14 +371,14 @@ void WieldMeshSceneNode::setItem(const ItemStack &item, Client *client)
|
||||
}
|
||||
|
||||
// no wield mesh found
|
||||
changeToMesh(NULL);
|
||||
changeToMesh(nullptr);
|
||||
}
|
||||
|
||||
void WieldMeshSceneNode::setColor(video::SColor c)
|
||||
{
|
||||
assert(!m_lighting);
|
||||
scene::IMesh *mesh=m_meshnode->getMesh();
|
||||
if (mesh == NULL)
|
||||
scene::IMesh *mesh = m_meshnode->getMesh();
|
||||
if (!mesh)
|
||||
return;
|
||||
|
||||
u8 red = c.getRed();
|
||||
@ -408,7 +406,7 @@ void WieldMeshSceneNode::render()
|
||||
|
||||
void WieldMeshSceneNode::changeToMesh(scene::IMesh *mesh)
|
||||
{
|
||||
if (mesh == NULL) {
|
||||
if (!mesh) {
|
||||
scene::IMesh *dummymesh = g_extrusion_mesh_cache->createCube();
|
||||
m_meshnode->setVisible(false);
|
||||
m_meshnode->setMesh(dummymesh);
|
||||
@ -438,7 +436,7 @@ void getItemMesh(Client *client, const ItemStack &item, ItemMesh *result)
|
||||
g_extrusion_mesh_cache->grab();
|
||||
}
|
||||
|
||||
scene::SMesh *mesh = NULL;
|
||||
scene::SMesh *mesh = nullptr;
|
||||
|
||||
// Shading is on by default
|
||||
result->needs_shading = true;
|
||||
@ -499,20 +497,18 @@ void getItemMesh(Client *client, const ItemStack &item, ItemMesh *result)
|
||||
rotateMeshXZby(mesh, -45);
|
||||
rotateMeshYZby(mesh, -30);
|
||||
|
||||
postProcessNodeMesh(mesh, f, false, false, NULL,
|
||||
&result->buffer_colors);
|
||||
postProcessNodeMesh(mesh, f, false, false, nullptr, &result->buffer_colors);
|
||||
}
|
||||
result->mesh = mesh;
|
||||
}
|
||||
|
||||
|
||||
|
||||
scene::SMesh * getExtrudedMesh(ITextureSource *tsrc,
|
||||
const std::string &imagename)
|
||||
scene::SMesh *getExtrudedMesh(ITextureSource *tsrc, const std::string &imagename)
|
||||
{
|
||||
video::ITexture *texture = tsrc->getTextureForMesh(imagename);
|
||||
if (!texture) {
|
||||
return NULL;
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
core::dimension2d<u32> dim = texture->getSize();
|
||||
|
@ -38,13 +38,13 @@ struct ItemPartColor
|
||||
* will be used instead of the specific color of the
|
||||
* buffer.
|
||||
*/
|
||||
bool override_base;
|
||||
bool override_base = false;
|
||||
/*!
|
||||
* The color of the buffer.
|
||||
*/
|
||||
video::SColor color;
|
||||
video::SColor color = 0;
|
||||
|
||||
ItemPartColor() : override_base(false), color(0) {}
|
||||
ItemPartColor() {}
|
||||
|
||||
ItemPartColor(bool override, video::SColor color)
|
||||
: override_base(override), color(color)
|
||||
@ -54,7 +54,7 @@ struct ItemPartColor
|
||||
|
||||
struct ItemMesh
|
||||
{
|
||||
scene::IMesh *mesh;
|
||||
scene::IMesh *mesh = nullptr;
|
||||
/*!
|
||||
* Stores the color of each mesh buffer.
|
||||
*/
|
||||
@ -63,9 +63,9 @@ struct ItemMesh
|
||||
* If false, all faces of the item should have the same brightness.
|
||||
* Disables shading based on normal vectors.
|
||||
*/
|
||||
bool needs_shading;
|
||||
bool needs_shading = true;
|
||||
|
||||
ItemMesh() : mesh(NULL), buffer_colors(), needs_shading(true) {}
|
||||
ItemMesh() {}
|
||||
};
|
||||
|
||||
/*
|
||||
@ -78,7 +78,7 @@ public:
|
||||
s32 id = -1, bool lighting = false);
|
||||
virtual ~WieldMeshSceneNode();
|
||||
|
||||
void setCube(const ContentFeatures &f, v3f wield_scale, ITextureSource *tsrc);
|
||||
void setCube(const ContentFeatures &f, v3f wield_scale);
|
||||
void setExtruded(const std::string &imagename, v3f wield_scale,
|
||||
ITextureSource *tsrc, u8 num_frames);
|
||||
void setItem(const ItemStack &item, Client *client);
|
||||
@ -97,7 +97,7 @@ private:
|
||||
void changeToMesh(scene::IMesh *mesh);
|
||||
|
||||
// Child scene node with the current wield mesh
|
||||
scene::IMeshSceneNode *m_meshnode;
|
||||
scene::IMeshSceneNode *m_meshnode = nullptr;
|
||||
video::E_MATERIAL_TYPE m_material_type;
|
||||
|
||||
// True if EMF_LIGHTING should be enabled.
|
||||
|
Loading…
Reference in New Issue
Block a user