]> git.lizzy.rs Git - minetest.git/blobdiff - src/player.cpp
Fix some "Conditional jump or move depends on uninitialised value(s)" valgrind detections
[minetest.git] / src / player.cpp
index 03ae24f45b07de8734441a43be5c045082d16d98..6a774251cc110289edc22137c4a976b1760080f0 100644 (file)
@@ -22,13 +22,18 @@ with this program; if not, write to the Free Software Foundation, Inc.,
 #include "connection.h"
 #include "constants.h"
 #include "utility.h"
-
+#ifndef SERVER
+#include <ITextSceneNode.h>
+#endif
+#include "settings.h"
 
 Player::Player():
        touching_ground(false),
        in_water(false),
        in_water_stable(false),
+       is_climbing(false),
        swimming_up(false),
+       is_frozen(false),
        inventory_backup(NULL),
        craftresult_is_preview(true),
        hp(20),
@@ -309,31 +314,12 @@ LocalPlayer::LocalPlayer():
        // Initialize hp to 0, so that no hearts will be shown if server
        // doesn't support health points
        hp = 0;
-       
-       // No tool wielded initially
-       wield = NULL;
 }
 
 LocalPlayer::~LocalPlayer()
 {
 }
 
-void LocalPlayer::wieldItem(u16 item)
-{
-       m_selected_item = item;
-       
-       if(wield) {
-               InventoryItem* i = inventory.getList("main")->getItem(m_selected_item);
-       
-               if(i && strcmp(i->getName(), "ToolItem") == 0) {
-                       wield->getMaterial(0).setTexture(0, i->getImageRaw());
-                       wield->setVisible(true);
-               }
-               else
-                       wield->setVisible(false);
-       }
-}
-
 void LocalPlayer::move(f32 dtime, Map &map, f32 pos_max_d,
                core::list<CollisionInfo> *collision_info)
 {
@@ -363,7 +349,7 @@ void LocalPlayer::move(f32 dtime, Map &map, f32 pos_max_d,
        is_frozen = false;
 
        // Skip collision detection if a special movement mode is used
-       bool free_move = g_settings.getBool("free_move");
+       bool free_move = g_settings->getBool("free_move");
        if(free_move)
        {
                setPosition(position);
@@ -773,9 +759,9 @@ void LocalPlayer::applyControl(float dtime)
        
        v3f speed = v3f(0,0,0);
 
-       bool free_move = g_settings.getBool("free_move");
-       bool fast_move = g_settings.getBool("fast_move");
-       bool continuous_forward = g_settings.getBool("continuous_forward");
+       bool free_move = g_settings->getBool("free_move");
+       bool fast_move = g_settings->getBool("fast_move");
+       bool continuous_forward = g_settings->getBool("continuous_forward");
 
        if(free_move || is_climbing)
        {