summaryrefslogtreecommitdiff
path: root/src/gui
diff options
context:
space:
mode:
Diffstat (limited to 'src/gui')
-rw-r--r--src/gui/equipmentwindow.cpp21
-rw-r--r--src/gui/equipmentwindow.h2
2 files changed, 17 insertions, 6 deletions
diff --git a/src/gui/equipmentwindow.cpp b/src/gui/equipmentwindow.cpp
index 564486aa..727ac732 100644
--- a/src/gui/equipmentwindow.cpp
+++ b/src/gui/equipmentwindow.cpp
@@ -25,7 +25,9 @@
#include "../equipment.h"
#include "../graphics.h"
+#include "../inventory.h"
#include "../item.h"
+#include "../localplayer.h"
#include "../log.h"
#include "../resources/iteminfo.h"
@@ -40,6 +42,7 @@ EquipmentWindow::EquipmentWindow(Equipment *equipment):
setCloseButton(true);
setDefaultSize(5, 230, 200, 120);
loadWindowState();
+ inventory = player_node->getInventory();
}
EquipmentWindow::~EquipmentWindow()
@@ -61,22 +64,28 @@ void EquipmentWindow::draw(gcn::Graphics *graphics)
graphics->drawRectangle(gcn::Rectangle(10 + 36 * (i % 4),
36 * (i / 4) + 25, 32, 32));
- if (!(item = mEquipment->getEquipment(i)))
+ if (!(item = inventory->getItem(mEquipment->getEquipment(i))))
continue;
image = item->getImage();
- static_cast<Graphics*>(graphics)->drawImage(
- image, 36 * (i % 4) + 10, 36 * (i / 4) + 25);
+ if (image)
+ {
+ static_cast<Graphics*>(graphics)->drawImage(
+ image, 36 * (i % 4) + 10, 36 * (i / 4) + 25);
+ }
}
graphics->drawRectangle(gcn::Rectangle(160, 25, 32, 32));
- if (!(item = mEquipment->getArrows()))
+ if (!(item = inventory->getItem(mEquipment->getArrows())))
return;
image = item->getImage();
- static_cast<Graphics*>(graphics)->drawImage(image, 160, 25);
+ if (image)
+ {
+ static_cast<Graphics*>(graphics)->drawImage(image, 160, 25);
+ }
graphics->drawText(toString(item->getQuantity()), 170, 62,
- gcn::Graphics::CENTER);
+ gcn::Graphics::CENTER);
}
diff --git a/src/gui/equipmentwindow.h b/src/gui/equipmentwindow.h
index bb8eb32f..6a7a4944 100644
--- a/src/gui/equipmentwindow.h
+++ b/src/gui/equipmentwindow.h
@@ -27,6 +27,7 @@
#include "window.h"
#include "../guichanfwd.h"
+#include "../inventory.h"
class Equipment;
@@ -55,6 +56,7 @@ class EquipmentWindow : public Window
private:
Equipment *mEquipment;
+ Inventory *inventory;
};
extern EquipmentWindow *equipmentWindow;