]> git.lizzy.rs Git - dragonfireclient.git/blobdiff - src/map.h
Fix unnecessary exception use in Map::isNodeUnderground
[dragonfireclient.git] / src / map.h
index 50fffa57714b45f07c8088532c73dccc08ac2165..5c0a01d2ecc943e7b94eef32f2d9c654c88c19bf 100644 (file)
--- a/src/map.h
+++ b/src/map.h
@@ -63,8 +63,7 @@ enum MapEditEventType{
        MEET_REMOVENODE,
        // Node swapped (changed without metadata change)
        MEET_SWAPNODE,
-       // Node metadata of block changed (not knowing which node exactly)
-       // p stores block coordinate
+       // Node metadata changed
        MEET_BLOCK_NODE_METADATA_CHANGED,
        // Anything else (modified_blocks are set unsent)
        MEET_OTHER
@@ -76,7 +75,7 @@ struct MapEditEvent
        v3s16 p;
        MapNode n = CONTENT_AIR;
        std::set<v3s16> modified_blocks;
-       u16 already_known_by_peer = 0;
+       bool is_private_change = false;
 
        MapEditEvent() = default;
 
@@ -87,6 +86,7 @@ struct MapEditEvent
                event->p = p;
                event->n = n;
                event->modified_blocks = modified_blocks;
+               event->is_private_change = is_private_change;
                return event;
        }
 
@@ -178,7 +178,7 @@ class Map /*: public NodeContainer*/
        virtual MapBlock * emergeBlock(v3s16 p, bool create_blank=true)
        { return getBlockNoCreateNoEx(p); }
 
-       inline INodeDefManager * getNodeDefManager() { return m_nodedef; }
+       inline const NodeDefManager * getNodeDefManager() { return m_nodedef; }
 
        // Returns InvalidPositionException if not found
        bool isNodeUnderground(v3s16 p);
@@ -191,7 +191,7 @@ class Map /*: public NodeContainer*/
        // Returns a CONTENT_IGNORE node if not found
        // If is_valid_position is not NULL then this will be set to true if the
        // position is valid, otherwise false
-       MapNode getNodeNoEx(v3s16 p, bool *is_valid_position = NULL);
+       MapNode getNode(v3s16 p, bool *is_valid_position = NULL);
 
        /*
                These handle lighting but not faces.
@@ -289,7 +289,6 @@ class Map /*: public NodeContainer*/
        */
 
        void transforming_liquid_add(v3s16 p);
-       s32 transforming_liquid_size();
 
        bool isBlockOccluded(MapBlock *block, v3s16 cam_pos_nodes);
 protected:
@@ -311,7 +310,7 @@ class Map /*: public NodeContainer*/
        UniqueQueue<v3s16> m_transforming_liquid;
 
        // This stores the properties of the nodes on the map.
-       INodeDefManager *m_nodedef;
+       const NodeDefManager *m_nodedef;
 
        bool isOccluded(v3s16 p0, v3s16 p1, float step, float stepfac,
                        float start_off, float end_off, u32 needed_count);
@@ -349,9 +348,7 @@ class ServerMap : public Map
                - Check disk (doesn't load blocks)
                - Create blank one
        */
-       ServerMapSector *createSector(v2s16 p);
-
-       bool saoPositionOverLimit(const v3f &p);
+       MapSector *createSector(v2s16 p);
 
        /*
                Blocks are generated by using these and makeBlock().
@@ -392,7 +389,7 @@ class ServerMap : public Map
                Misc. helper functions for fiddling with directory and file
                names when saving
        */
-       void createDirs(std::string path);
+       void createDirs(const std::string &path);
        // returns something like "map/sectors/xxxxxxxx"
        std::string getSectorDir(v2s16 pos, int layout = 2);
        // dirname: final directory name
@@ -418,18 +415,6 @@ class ServerMap : public Map
 
        MapgenParams *getMapgenParams();
 
-       /*void saveChunkMeta();
-       void loadChunkMeta();*/
-
-       // The sector mutex should be locked when calling most of these
-
-       // This only saves sector-specific data such as the heightmap
-       // (no MapBlocks)
-       // DEPRECATED? Sectors have no metadata anymore.
-       void saveSectorMeta(ServerMapSector *sector);
-       MapSector* loadSectorMeta(std::string dirname, bool save_after_load);
-       bool loadSectorMeta(v2s16 p2d);
-
        bool saveBlock(MapBlock *block);
        static bool saveBlock(MapBlock *block, MapDatabase *db);
        // This will generate a sector with getSector if not found.
@@ -484,6 +469,7 @@ class ServerMap : public Map
        */
        bool m_map_metadata_changed = true;
        MapDatabase *dbase = nullptr;
+       MapDatabase *dbase_ro = nullptr;
 };