From f31b0a3361c0c39b9f6f6ee440b93293690bbe02 Mon Sep 17 00:00:00 2001 From: JacobF Date: Wed, 7 Sep 2011 10:56:04 -0400 Subject: Display which tool the player is holding And some simple animation when trying to dig... --- src/inventory.h | 57 +++++++++++++++++++++++++++++++++++++-------------------- 1 file changed, 37 insertions(+), 20 deletions(-) (limited to 'src/inventory.h') diff --git a/src/inventory.h b/src/inventory.h index 44ba6a5ad..f70d69b6d 100644 --- a/src/inventory.h +++ b/src/inventory.h @@ -53,6 +53,10 @@ public: // Shall make an exact clone of the item virtual InventoryItem* clone() = 0; #ifndef SERVER + // Return the name of the image for this item + virtual std::string getBasename() { return ""; } + // Shall return an image of the item (or NULL) + virtual video::ITexture * getImageRaw() { return NULL; } // Shall return an image to show in the GUI (or NULL) virtual video::ITexture * getImage() { return NULL; } #endif @@ -353,40 +357,53 @@ public: return new ToolItem(m_toolname, m_wear); } #ifndef SERVER - video::ITexture * getImage() - { - if(g_texturesource == NULL) - return NULL; - - std::string basename; + std::string getBasename() { if(m_toolname == "WPick") - basename = "tool_woodpick.png"; + return "tool_woodpick.png"; else if(m_toolname == "STPick") - basename = "tool_stonepick.png"; + return "tool_stonepick.png"; else if(m_toolname == "SteelPick") - basename = "tool_steelpick.png"; + return "tool_steelpick.png"; else if(m_toolname == "MesePick") - basename = "tool_mesepick.png"; + return "tool_mesepick.png"; else if(m_toolname == "WShovel") - basename = "tool_woodshovel.png"; + return "tool_woodshovel.png"; else if(m_toolname == "STShovel") - basename = "tool_stoneshovel.png"; + return "tool_stoneshovel.png"; else if(m_toolname == "SteelShovel") - basename = "tool_steelshovel.png"; + return "tool_steelshovel.png"; else if(m_toolname == "WAxe") - basename = "tool_woodaxe.png"; + return "tool_woodaxe.png"; else if(m_toolname == "STAxe") - basename = "tool_stoneaxe.png"; + return "tool_stoneaxe.png"; else if(m_toolname == "SteelAxe") - basename = "tool_steelaxe.png"; + return "tool_steelaxe.png"; else if(m_toolname == "WSword") - basename = "tool_woodsword.png"; + return "tool_woodsword.png"; else if(m_toolname == "STSword") - basename = "tool_stonesword.png"; + return "tool_stonesword.png"; else if(m_toolname == "SteelSword") - basename = "tool_steelsword.png"; + return "tool_steelsword.png"; else - basename = "cloud.png"; + return "cloud.png"; +} + + video::ITexture * getImageRaw() + { + if(g_texturesource == NULL) + return NULL; + + return g_texturesource->getTextureRaw(getBasename()); + } + + video::ITexture * getImage() + { + if(g_texturesource == NULL) + return NULL; + + std::string basename = getBasename(); + + return g_texturesource->getTextureRaw(basename); /* Calculate a progress value with sane amount of -- cgit v1.2.3