summaryrefslogtreecommitdiff
path: root/include/shop.h
blob: 7f2d877dc613237d53088ca539492e10c59b9fbb (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
#ifndef GUARD_SHOP_H
#define GUARD_SHOP_H

extern EWRAM_DATA struct ItemSlot gMartPurchaseHistory[3];

enum
{
    MART_TYPE_0, // normal mart
    MART_TYPE_1,
    MART_TYPE_2,
};

// shop view window NPC info enum
enum
{
    EVENT_OBJ_ID,
    X_COORD,
    Y_COORD,
    ANIM_NUM,
	LAYER_TYPE
};

struct MartInfo
{
    /*0x0*/ void (*callback)(void);
    /*0x4*/ const struct MenuAction *menuActions;
    /*0x8*/ const u16 *itemList;
    /*0xC*/ u16 itemCount;
    /*0xE*/ u8 windowId;
    /*0xF*/ u8 martType;
};

struct ShopData
{
	/*0x0000*/ u16 tilemapBuffers[4][0x400];
	/*0x2000*/ u32 totalCost;
	/*0x2004*/ u16 itemsShowed;
	/*0x2006*/ u16 selectedRow;
	/*0x2008*/ u16 scrollOffset;
	/*0x200A*/ u8 maxQuantity;
	/*0x200B*/ u8 scrollIndicatorsTaskId;
	/*0x200C*/ u8 iconSlot;
	/*0x200D*/ u8 itemSpriteIds[2];
	/*0x2010*/ s16 viewportObjects[16][5];
};

void CreatePokemartMenu(const u16 *);
void CreateDecorationShop1Menu(const u16 *);
void CreateDecorationShop2Menu(const u16 *);
void CB2_ExitSellMenu(void);

#endif // GUARD_SHOP_H