summaryrefslogtreecommitdiff
path: root/src/koopatlas/shop.h
blob: cf78b36aa78d50e630879b3b7aa60cb63bde61e6 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
#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();

		bool layoutLoaded;
		m2d::EmbedLayout_c layout;

		mHeapAllocator_c allocator;
		nw4r::g3d::ResFile res;
		m3d::mdl_c shopkeep;
		m3d::anmChr_c ska;
		mMtx matrix;

		mEf::es2 effect;

		char currentItem;
		bool isHidden;
		bool wasOff;
		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