Code modernization: src/m* (part 2)
[oweals/minetest.git] / src / nodedef.cpp
index 6bb2bf9047792cac1c699f1fd86a4f6a89b5f55b..651418cd80c46029020f29c1563b46098d6b3e9b 100644 (file)
@@ -22,6 +22,7 @@ with this program; if not, write to the Free Software Foundation, Inc.,
 #include "itemdef.h"
 #ifndef SERVER
 #include "mesh.h"
+#include "shader.h"
 #include "client.h"
 #include "client/renderingengine.h"
 #include "client/tile.h"
@@ -637,7 +638,10 @@ void ContentFeatures::fillTileAttribs(ITextureSource *tsrc, TileLayer *tile,
                tile->material_flags &= ~MATERIAL_FLAG_ANIMATION;
        } else {
                std::ostringstream os(std::ios::binary);
-               tile->frames.resize(frame_count);
+               if (!tile->frames) {
+                       tile->frames = std::make_shared<std::vector<FrameSpec>>();
+               }
+               tile->frames->resize(frame_count);
 
                for (int i = 0; i < frame_count; i++) {
 
@@ -652,7 +656,7 @@ void ContentFeatures::fillTileAttribs(ITextureSource *tsrc, TileLayer *tile,
                        if (tile->normal_texture)
                                frame.normal_texture = tsrc->getNormalTexture(os.str());
                        frame.flags_texture = tile->flags_texture;
-                       tile->frames[i] = frame;
+                       (*tile->frames)[i] = frame;
                }
        }
 }