diff options
Diffstat (limited to 'src/inventory.h')
-rw-r--r-- | src/inventory.h | 57 |
1 files changed, 37 insertions, 20 deletions
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 |