]> git.lizzy.rs Git - dragonfireclient.git/blobdiff - src/nodedef.h
Zoom: Move enabling zoom to a new player object property
[dragonfireclient.git] / src / nodedef.h
index 97697e746dd6a6d0fc7077bfb3caf727929afd21..1392e51d41005cfb93d9d905cf35f62930d65f64 100644 (file)
@@ -17,19 +17,17 @@ with this program; if not, write to the Free Software Foundation, Inc.,
 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
 */
 
-#ifndef NODEDEF_HEADER
-#define NODEDEF_HEADER
+#pragma once
 
 #include "irrlichttypes_bloated.h"
 #include <string>
 #include <iostream>
 #include <map>
 #include <list>
-#include "util/numeric.h"
 #include "mapnode.h"
 #ifndef SERVER
 #include "client/tile.h"
-#include "shader.h"
+#include <IMeshManipulator.h>
 class Client;
 #endif
 #include "itemgroup.h"
@@ -139,7 +137,7 @@ class TextureSettings {
        bool enable_mesh_cache;
        bool enable_minimap;
 
-       TextureSettings() {}
+       TextureSettings() = default;
 
        void readSettings();
 };
@@ -186,6 +184,8 @@ enum NodeDrawType
        NDT_GLASSLIKE_FRAMED_OPTIONAL,
        // Uses static meshes
        NDT_MESH,
+       // Combined plantlike-on-solid
+       NDT_PLANTLIKE_ROOTED,
 };
 
 // Mesh options for NDT_PLANTLIKE with CPT2_MESHOPTIONS
@@ -224,7 +224,8 @@ struct TileDef
        }
 
        void serialize(std::ostream &os, u16 protocol_version) const;
-       void deSerialize(std::istream &is, const u8 contentfeatures_version, const NodeDrawType drawtype);
+       void deSerialize(std::istream &is, u8 contentfeatures_version,
+               NodeDrawType drawtype);
 };
 
 #define CF_SPECIAL_COUNT 6
@@ -369,7 +370,7 @@ struct ContentFeatures
        */
 
        ContentFeatures();
-       ~ContentFeatures();
+       ~ContentFeatures() = default;
        void reset();
        void serialize(std::ostream &os, u16 protocol_version) const;
        void deSerialize(std::istream &is);
@@ -411,8 +412,9 @@ struct ContentFeatures
 
 class INodeDefManager {
 public:
-       INodeDefManager(){}
-       virtual ~INodeDefManager(){}
+       INodeDefManager() = default;
+       virtual ~INodeDefManager() = default;
+
        // Get node definition
        virtual const ContentFeatures &get(content_t c) const=0;
        virtual const ContentFeatures &get(const MapNode &n) const=0;
@@ -438,9 +440,9 @@ class INodeDefManager {
 
 class IWritableNodeDefManager : public INodeDefManager {
 public:
-       IWritableNodeDefManager(){}
-       virtual ~IWritableNodeDefManager(){}
-       virtual IWritableNodeDefManager* clone()=0;
+       IWritableNodeDefManager() = default;
+       virtual ~IWritableNodeDefManager() = default;
+
        // Get node definition
        virtual const ContentFeatures &get(content_t c) const=0;
        virtual const ContentFeatures &get(const MapNode &n) const=0;
@@ -515,5 +517,3 @@ class NodeResolver {
        INodeDefManager *m_ndef = nullptr;
        bool m_resolve_done = false;
 };
-
-#endif