diff options
author | Perttu Ahola <celeron55@gmail.com> | 2011-09-26 15:10:02 +0300 |
---|---|---|
committer | Perttu Ahola <celeron55@gmail.com> | 2011-09-26 15:10:02 +0300 |
commit | 061d4b420206c67fb346d75fb6bcaf4aa8147ca8 (patch) | |
tree | 3f17c19e529baf3a6ae13479b7805fbe5cdf46ba /src/inventory.h | |
parent | b9e680d06cf56b7c8b41a6b5626a3b94304adf42 (diff) | |
parent | 2ecd53ce09d8f20a06b057c24924a010fa2eefde (diff) | |
download | minetest-061d4b420206c67fb346d75fb6bcaf4aa8147ca8.tar.gz minetest-061d4b420206c67fb346d75fb6bcaf4aa8147ca8.tar.bz2 minetest-061d4b420206c67fb346d75fb6bcaf4aa8147ca8.zip |
Merge branch 'view_bobbing_and_vielded_tool'
Diffstat (limited to 'src/inventory.h')
-rw-r--r-- | src/inventory.h | 66 |
1 files changed, 40 insertions, 26 deletions
diff --git a/src/inventory.h b/src/inventory.h index 44ba6a5ad..3e05015ef 100644 --- a/src/inventory.h +++ b/src/inventory.h @@ -53,8 +53,12 @@ public: // Shall make an exact clone of the item virtual InventoryItem* clone() = 0; #ifndef SERVER - // Shall return an image to show in the GUI (or NULL) - virtual video::ITexture * getImage() { return NULL; } + // Return the name of the image for this item + virtual std::string getBasename() const { return ""; } + // Shall return an image of the item (or NULL) + virtual video::ITexture * getImage() const { return NULL; } + // Shall return an image of the item without embellishments (or NULL) + virtual video::ITexture * getImageRaw() const { return getImage(); } #endif // Shall return a text to show in the GUI virtual std::string getText() { return ""; } @@ -149,10 +153,9 @@ public: return new MaterialItem(m_content, m_count); } #ifndef SERVER - video::ITexture * getImage() + video::ITexture * getImage() const { return content_features(m_content).inventory_texture; - return NULL; } #endif std::string getText() @@ -225,7 +228,7 @@ public: } #ifndef SERVER - video::ITexture * getImage(); + video::ITexture * getImage() const; #endif std::string getText(); @@ -276,7 +279,7 @@ public: return new CraftItem(m_subname, m_count); } #ifndef SERVER - video::ITexture * getImage(); + video::ITexture * getImage() const; #endif std::string getText() { @@ -353,40 +356,43 @@ 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() const { 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 * getImage() const + { + if(g_texturesource == NULL) + return NULL; + + std::string basename = getBasename(); /* Calculate a progress value with sane amount of @@ -401,6 +407,14 @@ public: return g_texturesource->getTextureRaw(os.str()); } + + video::ITexture * getImageRaw() const + { + if(g_texturesource == NULL) + return NULL; + + return g_texturesource->getTextureRaw(getBasename()); + } #endif std::string getText() { |