X-Git-Url: https://git.librecmc.org/?a=blobdiff_plain;ds=sidebyside;f=src%2Fclientmap.h;h=84228f4ca5d59a8a4a1953337863038d1fe56538;hb=454483f26610959526d97c1d318e0d699d78747d;hp=d9239b52e19eacddfe7122b87a4055418ee3cbd7;hpb=180893e79dd358d2f8f720b200a62daa2838e341;p=oweals%2Fminetest.git diff --git a/src/clientmap.h b/src/clientmap.h index d9239b52e..84228f4ca 100644 --- a/src/clientmap.h +++ b/src/clientmap.h @@ -30,9 +30,9 @@ struct MapDrawControl { MapDrawControl(): range_all(false), - wanted_range(50), + wanted_range(0), wanted_max_blocks(0), - wanted_min_range(0), + show_wireframe(false), blocks_drawn(0), blocks_would_have_drawn(0), farthest_drawn(0) @@ -44,8 +44,8 @@ struct MapDrawControl float wanted_range; // Maximum number of blocks to draw u32 wanted_max_blocks; - // Blocks in this range are drawn regardless of number of blocks drawn - float wanted_min_range; + // show a wire frame for debugging + bool show_wireframe; // Number of blocks rendered is written here by the renderer u32 blocks_drawn; // Number of blocks that would have been drawn in wanted_range @@ -59,7 +59,7 @@ class ITextureSource; /* ClientMap - + This is the only map class that is able to render itself on screen. */ @@ -68,7 +68,6 @@ class ClientMap : public Map, public scene::ISceneNode public: ClientMap( Client *client, - IGameDef *gamedef, MapDrawControl &control, scene::ISceneNode* parent, scene::ISceneManager* mgr, @@ -114,12 +113,14 @@ public: driver->setTransform(video::ETS_WORLD, AbsoluteTransformation); renderMap(driver, SceneManager->getSceneNodeRenderPass()); } - - virtual const core::aabbox3d& getBoundingBox() const + + virtual const aabb3f &getBoundingBox() const { return m_box; } - + + void getBlocksInViewRange(v3s16 cam_pos_nodes, + v3s16 *p_blocks_min, v3s16 *p_blocks_max); void updateDrawList(video::IVideoDriver* driver); void renderMap(video::IVideoDriver* driver, s32 pass); @@ -130,18 +131,14 @@ public: // For debug printing virtual void PrintInfo(std::ostream &out); - - // Check if sector was drawn on last render() - bool sectorWasDrawn(v2s16 p) - { - return (m_last_drawn_sectors.find(p) != m_last_drawn_sectors.end()); - } - + + const MapDrawControl & getControl() const { return m_control; } + f32 getCameraFov() const { return m_camera_fov; } private: Client *m_client; - - core::aabbox3d m_box; - + + aabb3f m_box; + MapDrawControl &m_control; v3f m_camera_position; @@ -150,7 +147,7 @@ private: v3s16 m_camera_offset; std::map m_drawlist; - + std::set m_last_drawn_sectors; bool m_cache_trilinear_filter;