summaryrefslogtreecommitdiff
path: root/src/koopatlas/shop.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/koopatlas/shop.h')
-rw-r--r--src/koopatlas/shop.h62
1 files changed, 62 insertions, 0 deletions
diff --git a/src/koopatlas/shop.h b/src/koopatlas/shop.h
new file mode 100644
index 0000000..b4281b7
--- /dev/null
+++ b/src/koopatlas/shop.h
@@ -0,0 +1,62 @@
+#ifndef __KOOPATLAS_SHOP_H
+#define __KOOPATLAS_SHOP_H
+
+#include "koopatlas/core.h"
+
+extern "C" void *SoundRelatedClass;
+extern "C" void *MapSoundPlayer(void *SoundClass, int soundID, int unk);
+
+class dShopItem;
+
+class dWMShop_c : public dActor_c {
+ public:
+ dWMShop_c();
+
+ int onCreate();
+ int onDelete();
+ int onExecute();
+ int onDraw();
+ void specialDraw1();
+ void specialDraw2();
+
+ bool layoutLoaded;
+ m2d::EmbedLayout_c layout;
+
+ mHeapAllocator_c allocator;
+ nw4r::g3d::ResFile res;
+ m3d::mdl_c shopkeep;
+ m3d::anmChr_c ska;
+ mMtx matrix;
+
+ char currentItem;
+ bool isHidden;
+ int world;
+
+ dShopItem *itemA;
+ dShopItem *itemB;
+ dShopItem *itemC;
+ dShopItem *itemD;
+
+ dShopItem *itemEA;
+ dShopItem *itemEB;
+ dShopItem *itemEC;
+
+ dShopItem *itemFA;
+ dShopItem *itemFB;
+ dShopItem *itemFC;
+ dShopItem *itemFD;
+ dShopItem *itemFE;
+
+
+ void LoadShopForWorld(int world);
+ void CloseUpShop();
+ void BuyItem(int item);
+
+ void changeItem(int last, int current);
+
+ static dWMShop_c *build();
+ static dWMShop_c *instance;
+};
+
+#endif
+