diff options
-rw-r--r-- | src/client/hud.cpp | 12 | ||||
-rw-r--r-- | src/hud.cpp | 21 | ||||
-rw-r--r-- | src/script/lua_api/l_camera.cpp | 25 | ||||
-rw-r--r-- | src/util/numeric.cpp | 4 |
4 files changed, 52 insertions, 10 deletions
diff --git a/src/client/hud.cpp b/src/client/hud.cpp index 5137c2f3e..fffe85e1d 100644 --- a/src/client/hud.cpp +++ b/src/client/hud.cpp @@ -20,6 +20,7 @@ with this program; if not, write to the Free Software Foundation, Inc., */ #include "client/hud.h" +#include <cmath> #include "settings.h" #include "util/numeric.h" #include "log.h" @@ -50,7 +51,7 @@ Hud::Hud(gui::IGUIEnvironment *guienv, Client *client, LocalPlayer *player, this->inventory = inventory; m_hud_scaling = g_settings->getFloat("hud_scaling"); - m_hotbar_imagesize = floor(HOTBAR_IMAGE_SIZE * + m_hotbar_imagesize = std::floor(HOTBAR_IMAGE_SIZE * RenderingEngine::getDisplayDensity() + 0.5f); m_hotbar_imagesize *= m_hud_scaling; m_padding = m_hotbar_imagesize / 12; @@ -336,7 +337,8 @@ void Hud::drawLuaElements(const v3s16 &camera_offset) case HUD_ELEM_WAYPOINT: { v3f p_pos = player->getPosition() / BS; v3f w_pos = e->world_pos * BS; - float distance = floor(10 * p_pos.getDistanceFrom(e->world_pos)) / 10; + float distance = std::floor(10 * p_pos.getDistanceFrom(e->world_pos)) / + 10.0f; scene::ICameraSceneNode* camera = RenderingEngine::get_scene_manager()->getActiveCamera(); w_pos -= intToFloat(camera_offset, BS); @@ -735,12 +737,12 @@ void drawItemStack(video::IVideoDriver *driver, // wear = 0.5: yellow // wear = 1.0: red video::SColor color(255,255,255,255); - int wear_i = MYMIN(floor(wear * 600), 511); + int wear_i = MYMIN(std::floor(wear * 600), 511); wear_i = MYMIN(wear_i + 10, 511); - if(wear_i <= 255) + if (wear_i <= 255) color.set(255, wear_i, 255, 0); else - color.set(255, 255, 511-wear_i, 0); + color.set(255, 255, 511 - wear_i, 0); core::rect<s32> progressrect2 = progressrect; progressrect2.LowerRightCorner.X = progressmid; diff --git a/src/hud.cpp b/src/hud.cpp index 0d2d092a7..e4a20190d 100644 --- a/src/hud.cpp +++ b/src/hud.cpp @@ -1,5 +1,24 @@ -#include "hud.h" +/* +Minetest +Copyright (C) 2010-2018 celeron55, Perttu Ahola <celeron55@gmail.com> + +This program is free software; you can redistribute it and/or modify +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 Lesser General Public License for more details. +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. +*/ + +#include "hud.h" +#include <cmath> const struct EnumString es_HudElementType[] = { diff --git a/src/script/lua_api/l_camera.cpp b/src/script/lua_api/l_camera.cpp index 49622df00..326cc6d53 100644 --- a/src/script/lua_api/l_camera.cpp +++ b/src/script/lua_api/l_camera.cpp @@ -1,5 +1,25 @@ -#include "script/common/c_converter.h" +/* +Minetest +Copyright (C) 2010-2013 celeron55, Perttu Ahola <celeron55@gmail.com> + +This program is free software; you can redistribute it and/or modify +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 Lesser General Public License for more details. + +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. +*/ + #include "l_camera.h" +#include <cmath> +#include "script/common/c_converter.h" #include "l_internal.h" #include "content_cao.h" #include "camera.h" @@ -98,7 +118,8 @@ int LuaCamera::l_get_look_dir(lua_State *L) float pitch = -1.0 * player->getPitch() * core::DEGTORAD; float yaw = (player->getYaw() + 90.) * core::DEGTORAD; - v3f v(cos(pitch) * cos(yaw), sin(pitch), cos(pitch) * sin(yaw)); + v3f v(std::cos(pitch) * std::cos(yaw), std::sin(pitch), + std::cos(pitch) * std::sin(yaw)); push_v3f(L, v); return 1; diff --git a/src/util/numeric.cpp b/src/util/numeric.cpp index cb984d8cb..b88b4d545 100644 --- a/src/util/numeric.cpp +++ b/src/util/numeric.cpp @@ -157,7 +157,7 @@ bool isBlockInSight(v3s16 blockpos_b, v3f camera_pos, v3f camera_dir, // HOTFIX: use sligthly increased angle (+10%) to fix too agressive // culling. Somebody have to find out whats wrong with the math here. // Previous value: camera_fov / 2 - if(cosangle < cos(camera_fov * 0.55)) + if (cosangle < std::cos(camera_fov * 0.55f)) return false; return true; @@ -172,6 +172,6 @@ s16 adjustDist(s16 dist, float zoom_fov) return dist; // new_dist = dist * ((1 - cos(FOV / 2)) / (1-cos(zoomFOV /2))) ^ (1/3) - return round(dist * cbrt((1.0f - std::cos(default_fov / 2.0f)) / + return round(dist * std::cbrt((1.0f - std::cos(default_fov / 2.0f)) / (1.0f - std::cos(zoom_fov / 2.0f)))); } |