aboutsummaryrefslogtreecommitdiff
path: root/src/inventory.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/inventory.h')
-rw-r--r--src/inventory.h57
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