mirror of
https://github.com/pret/pokefirered.git
synced 2026-05-11 06:25:23 -05:00
185 lines
3.9 KiB
C
185 lines
3.9 KiB
C
#ifndef GUARD_BERRY_CRUSH_H
|
|
#define GUARD_BERRY_CRUSH_H
|
|
|
|
struct BerryCrushGame_Player
|
|
{
|
|
u16 unk0;
|
|
u16 unk2;
|
|
union
|
|
{
|
|
u8 as_2d_bytes[2][8];
|
|
u16 as_hwords[8];
|
|
} unk4;
|
|
u8 unk14[12];
|
|
};
|
|
|
|
struct __attribute__((packed, aligned(2))) BerryCrushGame_4E
|
|
{
|
|
u16 unk0;
|
|
u16 filler2;
|
|
u8 unk4_0:1;
|
|
u8 unk4_1:1;
|
|
s8 unk5;
|
|
u16 unk6;
|
|
u16 unk8;
|
|
u16 unkA;
|
|
u16 unkC;
|
|
};
|
|
|
|
struct __attribute__((packed)) BerryCrushGame_40
|
|
{
|
|
u8 unk0[2];
|
|
u16 unk2[6];
|
|
struct BerryCrushGame_4E unkE;
|
|
};
|
|
|
|
struct BerryCrushGame_5C
|
|
{
|
|
u16 unk00;
|
|
u8 unk02_0:1;
|
|
u8 unk02_1:1;
|
|
u8 unk02_2:1;
|
|
u8 unk02_3:5;
|
|
u8 unk03;
|
|
u16 unk04;
|
|
u16 unk06;
|
|
u16 unk08;
|
|
u16 unk0A;
|
|
};
|
|
|
|
union BerryCrushGame_68
|
|
{
|
|
struct BerryCrushGame_68_x
|
|
{
|
|
struct BerryCrushGame_68_x_SubStruct
|
|
{
|
|
s32 unk00;
|
|
u16 unk04;
|
|
s16 unk06;
|
|
u16 unk08;
|
|
u16 unk0A;
|
|
u16 unk0C[2][5];
|
|
u8 filler20[16];
|
|
} unk00;
|
|
u8 unk30[12];
|
|
struct BerryCrushGame_Player others[4];
|
|
u8 fillerBC[20];
|
|
} as_four_players;
|
|
struct BerryCrushGame_68_y
|
|
{
|
|
u8 filler00[28];
|
|
struct BerryCrushGame_Player unk1C[5];
|
|
u8 fillerBC[20];
|
|
} as_five_players;
|
|
};
|
|
|
|
struct BerryCrushGame_138_C
|
|
{
|
|
u8 unk0;
|
|
u8 unk1;
|
|
u8 unk2;
|
|
s16 unk4;
|
|
s16 unk6;
|
|
s16 unk8;
|
|
s16 unkA;
|
|
};
|
|
|
|
struct BerryCrushGame_138
|
|
{
|
|
u8 unk0;
|
|
u8 unk1;
|
|
u8 unk2;
|
|
u8 unk3;
|
|
s16 unk4;
|
|
s16 unk6;
|
|
s16 unk8;
|
|
const struct BerryCrushGame_138_C *unkC[5];
|
|
struct Sprite *unk20;
|
|
struct Sprite *unk24[5];
|
|
struct Sprite *unk38[5];
|
|
struct Sprite *unk4C[11];
|
|
struct Sprite *unk78[2];
|
|
u8 unk80;
|
|
u8 filler81;
|
|
u8 unk82;
|
|
u8 unk83[5];
|
|
};
|
|
|
|
struct BerryCrushGame
|
|
{
|
|
MainCallback unk0;
|
|
u32 (*unk4)(struct BerryCrushGame *, u8 *);
|
|
u8 unk8;
|
|
u8 unk9;
|
|
u8 unkA;
|
|
u8 unkB;
|
|
u8 unkC;
|
|
u8 unkD;
|
|
u8 unkE;
|
|
u8 unkF;
|
|
u16 unk10;
|
|
u16 unk12;
|
|
u16 unk14;
|
|
u16 unk16;
|
|
s16 unk18;
|
|
s16 unk1A;
|
|
int unk1C;
|
|
s32 unk20;
|
|
u8 unk24;
|
|
u8 unk25_0:1;
|
|
u8 unk25_1:1;
|
|
u8 unk25_2:1;
|
|
u8 unk25_3:1;
|
|
u8 unk25_4:1;
|
|
u8 unk25_5:3;
|
|
u16 unk26;
|
|
u16 unk28;
|
|
s16 unk2A;
|
|
s16 unk2C;
|
|
s16 unk2E;
|
|
s16 unk30;
|
|
s16 unk32;
|
|
s16 unk34;
|
|
u8 unk36[0xA];
|
|
struct BerryCrushGame_40 unk40;
|
|
struct BerryCrushGame_5C unk5C;
|
|
union BerryCrushGame_68 unk68;
|
|
struct BerryCrushGame_138 unk138;
|
|
u8 unk1C0[0x1000];
|
|
u8 unk11C0[0x1000];
|
|
u8 unk21C0[0x1000];
|
|
u8 unk31C0[0x1000];
|
|
};
|
|
|
|
#define PLAYER_UNK14(game, i) \
|
|
((u8 *)(game) \
|
|
+ offsetof(struct BerryCrushGame, unk68) \
|
|
+ offsetof(struct BerryCrushGame_68_x, unk30) \
|
|
+ sizeof(struct BerryCrushGame_Player) * (i))
|
|
|
|
struct BerryCrushGame *sub_814B6F0(void);
|
|
void StartBerryCrush(MainCallback callback);
|
|
u32 sub_814B6FC(MainCallback callback);
|
|
void sub_814B8F0(void);
|
|
void sub_814B914(void);
|
|
void sub_814B924(void);
|
|
void sub_814B930(void);
|
|
void sub_814BABC(struct BerryCrushGame *arg0);
|
|
void sub_814BB4C(u16, u8, u8 *);
|
|
void sub_814D564(u8 *, u32, s32, u32, u32, u32, u32);
|
|
int sub_814D9CC(struct BerryCrushGame *arg0);
|
|
int sub_814D5C8(void);
|
|
int sub_814D888(void);
|
|
void sub_814DA24(struct BerryCrushGame *arg0, struct BerryCrushGame_138 *arg1);
|
|
void sub_814DC24(struct BerryCrushGame *arg0, struct BerryCrushGame_138 *arg1);
|
|
void sub_814DC5C(struct BerryCrushGame *arg0, struct BerryCrushGame_138 *arg1);
|
|
bool32 sub_814DE50(struct BerryCrushGame *arg0, struct BerryCrushGame_138 *arg1);
|
|
bool32 sub_814E644(struct BerryCrushGame *arg0, struct BerryCrushGame_138 *arg1);
|
|
void sub_814E80C(struct BerryCrushGame *arg0);
|
|
void sub_814DA04(struct BerryCrushGame *arg0);
|
|
void sub_814EB04(struct BerryCrushGame_138 *arg0);
|
|
void sub_814DB84(struct Sprite * sprite);
|
|
void ShowBerryCrushRankings(void);
|
|
|
|
#endif //GUARD_BERRY_CRUSH_H
|