X-Git-Url: https://git.librecmc.org/?a=blobdiff_plain;f=src%2Fcamera.h;h=642b8d2d041e197ed89baec5e0f05cff32c8749e;hb=318669327e84d8fc7498e32c5bacfad658d8ba87;hp=56c99d1014881a8ed1498d74ac7320ab196b039a;hpb=6a76c226e10e92c3e3339096f07f8ab065e2098b;p=oweals%2Fminetest.git diff --git a/src/camera.h b/src/camera.h index 56c99d101..642b8d2d0 100644 --- a/src/camera.h +++ b/src/camera.h @@ -3,16 +3,16 @@ Minetest-c55 Copyright (C) 2010-2011 celeron55, Perttu Ahola This program is free software; you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation; either version 2 of the License, or +it under the terms of the GNU Lesser General Public License as published by +the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. +GNU Lesser General Public License for more details. -You should have received a copy of the GNU General Public License along +You should have received a copy of the GNU Lesser General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ @@ -20,11 +20,11 @@ with this program; if not, write to the Free Software Foundation, Inc., #ifndef CAMERA_HEADER #define CAMERA_HEADER -#include "common_irrlicht.h" +#include "irrlichttypes_extrabloated.h" #include "inventory.h" #include "mesh.h" #include "tile.h" -#include "utility.h" +#include "util/numeric.h" #include class LocalPlayer; @@ -39,7 +39,8 @@ class IGameDef; class Camera { public: - Camera(scene::ISceneManager* smgr, MapDrawControl& draw_control); + Camera(scene::ISceneManager* smgr, MapDrawControl& draw_control, + IGameDef *gamedef); ~Camera(); // Get player scene node. @@ -105,20 +106,18 @@ public: // Update the camera from the local player's position. // frametime is used to adjust the viewing range. - void update(LocalPlayer* player, f32 frametime, v2u32 screensize); + void update(LocalPlayer* player, f32 frametime, v2u32 screensize, + f32 tool_reload_ratio); // Render distance feedback loop void updateViewingRange(f32 frametime_in); - // Update settings from g_settings - void updateSettings(); - // Start digging animation // Pass 0 for left click, 1 for right click void setDigging(s32 button); // Replace the wielded item mesh - void wield(const ItemStack &item, IGameDef *gamedef); + void wield(const ItemStack &item); // Draw the wielded tool. // This has to happen *after* the main scene is drawn. @@ -138,11 +137,8 @@ private: // draw control MapDrawControl& m_draw_control; - - // viewing_range_min_nodes setting - f32 m_viewing_range_min; - // viewing_range_max_nodes setting - f32 m_viewing_range_max; + + IGameDef *m_gamedef; // Absolute camera position v3f m_camera_position; @@ -155,7 +151,6 @@ private: f32 m_fov_y; // Stuff for viewing range calculations - f32 m_wanted_frametime; f32 m_added_frametime; s16 m_added_frames; f32 m_range_old;