]> git.lizzy.rs Git - dragonfireclient.git/blobdiff - src/game.cpp
Added sprite extruder
[dragonfireclient.git] / src / game.cpp
index fc1486b737197c6ffdfc387208c943376a90b978..5e8db9b1d1d0b1b6e75ca6c2a2f9d83cad6cccd6 100644 (file)
@@ -813,16 +813,8 @@ void the_game(
                Create the camera node
        */
        Camera camera(smgr, draw_control);
-       if (camera.getPlayerNode() == NULL)
-       {
-               error_message = L"Failed to create the player node";
-               return;
-       }
-       if (camera.getCameraNode() == NULL)
-       {
-               error_message = L"Failed to create the camera node";
+       if (!camera.successfullyCreated(error_message))
                return;
-       }
 
        f32 camera_yaw = 0; // "right/left"
        f32 camera_pitch = 0; // "up/down"
@@ -1477,7 +1469,7 @@ void the_game(
 
                if(FIELD_OF_VIEW_TEST)
                {
-                       client.updateCamera(v3f(0,0,0), v3f(0,0,1), M_PI);
+                       client.updateCamera(v3f(0,0,0), v3f(0,0,1), camera_fov);
                }
                else
                {
@@ -1522,6 +1514,7 @@ void the_game(
                                std::cout<<DTIME<<"Left-clicked object"<<std::endl;
                                client.clickObject(0, selected_object->getBlock()->getPos(),
                                                selected_object->getId(), g_selected_item);
+                               camera.setDigging(true);
                        }
                        else if(input->getRightClicked())
                        {
@@ -1589,6 +1582,7 @@ void the_game(
                                std::cout<<DTIME<<"Left-clicked object"<<std::endl;
                                client.clickActiveObject(0,
                                                selected_active_object->getId(), g_selected_item);
+                               camera.setDigging(true);
                        }
                        else if(input->getRightClicked())
                        {
@@ -1762,9 +1756,12 @@ void the_game(
                                        }
 
                                        dig_time += dtime;
+
+                                       camera.setDigging(true);
                                }
                        }
                        
+                       
                        if(input->getRightClicked())
                        {
                                std::cout<<DTIME<<"Ground right-clicked"<<std::endl;
@@ -1828,8 +1825,6 @@ void the_game(
                        
                        nodepos_old = nodepos;
                }
-               else{
-               }
 
                } // selected_object == NULL
                
@@ -1841,6 +1836,7 @@ void the_game(
                        std::cout<<DTIME<<"Left button released (stopped digging)"
                                        <<std::endl;
                        client.groundAction(2, v3s16(0,0,0), v3s16(0,0,0), 0);
+                       camera.setDigging(false);
                }
                if(input->getRightReleased())
                {
@@ -1946,7 +1942,6 @@ void the_game(
                        );
                }
 
-
                /*
                        Update gui stuff (0ms)
                */
@@ -2092,6 +2087,13 @@ void the_game(
                        old_selected_item = g_selected_item;
                        //std::cout<<"Updating local inventory"<<std::endl;
                        client.getLocalInventory(local_inventory);
+
+                       // Update wielded tool
+                       InventoryList *mlist = local_inventory.getList("main");
+                       InventoryItem *item = NULL;
+                       if(mlist != NULL)
+                               item = mlist->getItem(g_selected_item);
+                       camera.wield(item);
                }
                
                /*