utility.h: Change Buffer's interface to be more compatible with SharedBuffer's interf...
[oweals/minetest.git] / src / map.h
index 6248a56657d0845d35a5fd8fc282f06b9f7a87ef..c9bc817907b758b3ec6db645607f672a7fc94e6b 100644 (file)
--- a/src/map.h
+++ b/src/map.h
@@ -157,6 +157,10 @@ public:
        // Returns NULL if not found
        MapBlock * getBlockNoCreateNoEx(v3s16 p);
        
+       /* Server overrides */
+       virtual MapBlock * emergeBlock(v3s16 p, bool allow_generate=true)
+       { return getBlockNoCreateNoEx(p); }
+
        // Returns InvalidPositionException if not found
        bool isNodeUnderground(v3s16 p);
        
@@ -379,6 +383,7 @@ public:
        void verifyDatabase();
        // Get an integer suitable for a block
        static sqlite3_int64 getBlockAsInteger(const v3s16 pos);
+       static v3s16 getIntegerAsBlock(sqlite3_int64 i);
 
        // Returns true if the database file does not exist
        bool loadFromFolders();
@@ -390,6 +395,8 @@ public:
        void save(bool only_changed);
        //void loadAll();
        
+       void listAllLoadableBlocks(core::list<v3s16> &dst);
+       
        // Saves map seed and possibly other stuff
        void saveMapMeta();
        void loadMapMeta();
@@ -454,6 +461,7 @@ private:
        sqlite3 *m_database;
        sqlite3_stmt *m_database_read;
        sqlite3_stmt *m_database_write;
+       sqlite3_stmt *m_database_list;
 };
 
 /*
@@ -518,11 +526,12 @@ public:
                ISceneNode::drop();
        }
 
-       void updateCamera(v3f pos, v3f dir)
+       void updateCamera(v3f pos, v3f dir, f32 fov)
        {
                JMutexAutoLock lock(m_camera_mutex);
                m_camera_position = pos;
                m_camera_direction = dir;
+               m_camera_fov = fov;
        }
 
        /*
@@ -552,6 +561,8 @@ public:
 
        void renderMap(video::IVideoDriver* driver, s32 pass);
 
+       void renderPostFx();
+
        /*
                Methods for setting temporary modifications to nodes for
                drawing.
@@ -601,6 +612,7 @@ private:
 
        v3f m_camera_position;
        v3f m_camera_direction;
+       f32 m_camera_fov;
        JMutex m_camera_mutex;
        
        core::map<v2s16, bool> m_last_drawn_sectors;