summaryrefslogtreecommitdiff
path: root/src/wieldmesh.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/wieldmesh.cpp')
-rw-r--r--src/wieldmesh.cpp23
1 files changed, 11 insertions, 12 deletions
diff --git a/src/wieldmesh.cpp b/src/wieldmesh.cpp
index dbec4a177..332c8ba22 100644
--- a/src/wieldmesh.cpp
+++ b/src/wieldmesh.cpp
@@ -146,10 +146,8 @@ public:
// Destructor
virtual ~ExtrusionMeshCache()
{
- for (std::map<int, scene::IMesh*>::iterator
- it = m_extrusion_meshes.begin();
- it != m_extrusion_meshes.end(); ++it) {
- it->second->drop();
+ for (auto &extrusion_meshe : m_extrusion_meshes) {
+ extrusion_meshe.second->drop();
}
m_cube->drop();
}
@@ -309,14 +307,15 @@ void WieldMeshSceneNode::setItem(const ItemStack &item, Client *client)
m_base_color = idef->getItemstackColor(item, client);
// If wield_image is defined, it overrides everything else
- if (def.wield_image != "") {
+ if (!def.wield_image.empty()) {
setExtruded(def.wield_image, def.wield_scale, tsrc, 1);
- m_colors.push_back(ItemPartColor());
+ m_colors.emplace_back();
return;
}
+
// Handle nodes
// See also CItemDefManager::createClientCached()
- else if (def.type == ITEM_NODE) {
+ if (def.type == ITEM_NODE) {
if (f.mesh_ptr[0]) {
// e.g. mesh nodes and nodeboxes
scene::SMesh *mesh = cloneMesh(f.mesh_ptr[0]);
@@ -377,9 +376,9 @@ void WieldMeshSceneNode::setItem(const ItemStack &item, Client *client)
}
return;
}
- else if (def.inventory_image != "") {
+ else if (!def.inventory_image.empty()) {
setExtruded(def.inventory_image, def.wield_scale, tsrc, 1);
- m_colors.push_back(ItemPartColor());
+ m_colors.emplace_back();
return;
}
@@ -455,9 +454,9 @@ void getItemMesh(Client *client, const ItemStack &item, ItemMesh *result)
result->needs_shading = true;
// If inventory_image is defined, it overrides everything else
- if (def.inventory_image != "") {
+ if (!def.inventory_image.empty()) {
mesh = getExtrudedMesh(tsrc, def.inventory_image);
- result->buffer_colors.push_back(ItemPartColor());
+ result->buffer_colors.emplace_back();
// Items with inventory images do not need shading
result->needs_shading = false;
} else if (def.type == ITEM_NODE) {
@@ -560,7 +559,7 @@ scene::SMesh *getExtrudedMesh(ITextureSource *tsrc, const std::string &imagename
}
void postProcessNodeMesh(scene::SMesh *mesh, const ContentFeatures &f,
- bool use_shaders, bool set_material, video::E_MATERIAL_TYPE *mattype,
+ bool use_shaders, bool set_material, const video::E_MATERIAL_TYPE *mattype,
std::vector<ItemPartColor> *colors)
{
u32 mc = mesh->getMeshBufferCount();