diff options
Diffstat (limited to 'src/koopatlas/shop.h')
-rw-r--r-- | src/koopatlas/shop.h | 62 |
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 + |