summaryrefslogtreecommitdiff
path: root/include/roulette.h
blob: 485a15fe32e490402a939d271e5f72623b6ab671 (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
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
#ifndef GUARD_ROULETTE_H
#define GUARD_ROULETTE_H

#include "task.h"

struct UnkStruct1
{
	u16 var00;
	u16 var02;
	u8 var04;
	u8 var05;
	u8 var06;
	s8 var07_0:5;
	s8 var07_5:2;
	s8 var07_7:1;
}; // size: 8

struct UnkStruct3
{
	u8 var00_0:7;
	u8 var00_7:1;
	u8 var01;
	s8 var02;
	s8 var03;
    struct UnkStruct1 var04;
}; // size: 12

struct UnkStruct0
{
	u8 var00;
	u8 var01;
	u16 var02; //flag for each UnkStruct3
	struct UnkStruct3 var04[16];
}; // size: 196

struct Roulette /* ewram + 0x19000 */
{
    u8 var00;
    u8 var01;
    u8 var02;
    u8 var03_0:5;
    u8 var03_5:1;
    u8 var03_6:1;
    u8 var03_7:1;
    u8 var04_0:2;
    u8 var04_2:5;
    u8 var04_7:1;
    u32 var08;
    u8 var0C[6];
    u8 var12[4];
    u8 var16[3];
    u8 var19;
    u8 var1A_0:4;
    u8 var1A_4:4;
    u8 var1B[6];
    u8 var21;
    u8 var22;
    u8 var23;
    s16 var24;
    s16 var26;
    s16 var28;
    s16 var2A;
    struct OamMatrix var2C;
    u16 var34;
    struct Sprite *var38;
    u8 var3C[0x40]; // Sprite IDs
    u8 var7C;
    u8 var7D;
    u8 var7E;
    u8 var7F;
    s16 var80;
    s16 var82;
    s16 var84;
    s16 var86;
    float var88;
    float var8C;
    float var90;
    float var94;
    float var98;
    float var9C;
    float varA0;
    u8 varA4;
    u8 varA5;
    u8 v51[2];
    u16 varA8;
    u16 varAA;
    TaskFunc varAC;
    u8 v46[4];
    TaskFunc varB4;
    struct UnkStruct0 varB8;
}; // size: 0x17C

struct StructgUnknown_083F8DF4
{
    u8 var00;
    u8 var01;
    u8 var02;
    u8 var03;
    u8 var04;
    u8 v[3];
    u16 var08;
    u16 var0A;
    u16 var0C;
    u16 v13[1];
    u16 var10;
    u16 var12;
    u16 var14;
    u8 v1[2];
    u16 var18;
    u16 var1A;
    float var1C;
};

struct StructgUnknown_083F8C00
{
    u8 var00;
    u8 var01_0:4;
    u8 var01_4:4;
    u8 var02;
    u8 var03;
    u8 var04;
    u8 var05;
    u8 var06;
    u8 var07;
    u32 var08;
    u32 var0C;
    u16 var10;
    u16 var12;
};

struct StructgUnknown_083F8D90
{
    u8 var00;
    u8 var01;
    u8 var02;
    u32 var04;
};

extern const struct StructgUnknown_083F8C00 gUnknown_083F8C00[];
extern const struct StructgUnknown_083F8D90 gUnknown_083F8D90[];
extern const struct StructgUnknown_083F8DF4 gUnknown_083F8DF4[];

s16 sub_81174C4(s16, s16);
s16 sub_81174E0(s16);
void PlayRoulette(void);

void sub_8117838(u8);
u8 sub_8117890(const struct SpriteTemplate *, u8, u16 *);
void sub_8117900(void);
void unref_sub_8117A74(void);
void sub_8117AA8(u8, u8);
void sub_8117BBC(void);
void sub_8117C60(u8, u8);
void sub_8117D68(u8);
void sub_8117DF4(void);
void sub_8117E98(struct Sprite *);
void sub_8117F2C(void);
void sub_81180F4(u16);
u8 sub_81181E8(u8);
void sub_811829C(u8);
void sub_81182F8(u8);
void sub_81184CC(struct Sprite *);
void sub_81184D8(void);
void sub_8118554(struct Sprite *);
void sub_811857C(void);
void sub_81185E8(void);
void sub_81191F4(struct Sprite *);

#endif