summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
Diffstat (limited to 'include')
-rw-r--r--include/berry.h2
-rw-r--r--include/berry_crush.h178
-rw-r--r--include/digit_obj_util.h8
-rw-r--r--include/graphics.h7
-rw-r--r--include/item.h1
-rw-r--r--include/link_rfu.h1
-rw-r--r--include/math_util.h4
-rw-r--r--include/overworld.h2
-rw-r--r--include/strings.h34
9 files changed, 233 insertions, 4 deletions
diff --git a/include/berry.h b/include/berry.h
index 5bf272d42..905ce291b 100644
--- a/include/berry.h
+++ b/include/berry.h
@@ -72,6 +72,6 @@ struct UnkStruct_0858AB24 {
u16 unk1;
};
-extern const struct UnkStruct_0858AB24 gUnknown_0858AB24[];
+extern const struct UnkStruct_0858AB24 gUnknown_83DFC9C[];
#endif // GUARD_BERRY_H
diff --git a/include/berry_crush.h b/include/berry_crush.h
index e8e9c216f..9077b966e 100644
--- a/include/berry_crush.h
+++ b/include/berry_crush.h
@@ -1,6 +1,184 @@
#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
diff --git a/include/digit_obj_util.h b/include/digit_obj_util.h
index 11d51f1fc..1db775d26 100644
--- a/include/digit_obj_util.h
+++ b/include/digit_obj_util.h
@@ -11,8 +11,12 @@ struct DigitObjUtilTemplate
u8 xDelta;
s16 x;
s16 y;
- const struct SpriteSheet *spriteSheet;
- const struct SpritePalette *spritePal;
+ union
+ {
+ const struct SpriteSheet * uncompressed;
+ const struct CompressedSpriteSheet * compressed;
+ } spriteSheet;
+ const struct SpritePalette * spritePal;
};
extern const u16 gUnknown_8479668[];
diff --git a/include/graphics.h b/include/graphics.h
index 1405cdcf1..2c3aa7c4b 100644
--- a/include/graphics.h
+++ b/include/graphics.h
@@ -4875,10 +4875,15 @@ extern const u32 gLinkMiscMenu_Tilemap[];
// union_room_chat_objects
extern const u32 gUnionRoomChatIcons[];
-//battle_bg
+// battle_bg
extern const u32 gFile_graphics_battle_transitions_vs_frame_sheet[];
extern const u32 gVsLettersGfx[];
extern const u32 gFile_graphics_battle_transitions_vs_frame_palette[];
extern const u32 gFile_graphics_battle_transitions_vs_frame_tilemap[];
+// berry_crush
+extern const u16 gUnknown_8EAFEA0[];
+extern const u32 gUnknown_8EAFFC0[];
+extern const u32 gUnknown_8EB0ADC[];
+
#endif //GUARD_GRAPHICS_H
diff --git a/include/item.h b/include/item.h
index 1d63c1a22..2c5852617 100644
--- a/include/item.h
+++ b/include/item.h
@@ -79,5 +79,6 @@ void RemovePCItem(u16 itemId, u16 quantity);
void SortAndCompactBagPocket(struct BagPocket * pocket);
u8 CountItemsInPC(void);
void ApplyNewEncryptionKeyToBagItems_(u32 newKey);
+bool8 CheckHasAtLeastOneBerry(void);
#endif // GUARD_ITEM_H
diff --git a/include/link_rfu.h b/include/link_rfu.h
index 5ef954dd5..ba2eb0120 100644
--- a/include/link_rfu.h
+++ b/include/link_rfu.h
@@ -275,6 +275,7 @@ bool32 GetRfuUnkCE8(void);
void sub_80FA4A8(void);
void sub_80FB9D0(void);
void sub_80FB030(u32 a0);
+void sub_80FBA44(void);
#include "mevent_server.h"
extern const struct mevent_server_cmd gMEventSrvScript_OtherTrainerCanceled[];
diff --git a/include/math_util.h b/include/math_util.h
index 473be5d45..71e87dad1 100644
--- a/include/math_util.h
+++ b/include/math_util.h
@@ -3,5 +3,9 @@
s16 sub_80D8B90(s16 y);
s16 sub_80D8AA0(s16 x, s16 y);
+s32 sub_80D8B68(s32 x, s32 y);
+s32 sub_80D8AE0(s32 x, s32 y);
+s16 sub_80D8B40(u8 s, s16 x, s16 y);
+s16 sub_80D8ABC(u8 s, s16 x, s16 y);
#endif //GUARD_MATH_UTIL_H
diff --git a/include/overworld.h b/include/overworld.h
index 1775a6896..a67c7cd88 100644
--- a/include/overworld.h
+++ b/include/overworld.h
@@ -189,6 +189,8 @@ void sub_8057F34(void);
u32 sub_8057EC0(void);
void sub_8057F70(void);
void sub_8057F48(void);
+void SetMainCallback1(MainCallback cb);
+void CB1_Overworld(void);
extern u16 gHeldKeyCodeToSend;
diff --git a/include/strings.h b/include/strings.h
index ec5965b75..c812e991a 100644
--- a/include/strings.h
+++ b/include/strings.h
@@ -1148,4 +1148,38 @@ extern const u8 gUnknown_841DF92[];
extern const u8 gUnknown_841DF99[];
extern const u8 gUnknown_841DFA0[];
+// berry_crush
+extern const u8 gUnknown_841CE3C[];
+extern const u8 gUnknown_841CE78[];
+extern const u8 gUnknown_841CEA8[];
+extern const u8 gUnknown_841CF14[];
+extern const u8 gUnknown_841CF50[];
+extern const u8 gUnknown_841CF70[];
+extern const u8 gUnknown_841CFA0[];
+extern const u8 gUnknown_841CFD4[];
+extern const u8 gUnknown_841D008[];
+extern const u8 gText_1_ClrLtGryShdwBlk_Dynamic0[];
+extern const u8 gText_1_Dynamic0[];
+extern const u8 gText_SpaceTimes[];
+extern const u8 gText_XDotY[];
+extern const u8 gText_StrVar1Berry[];
+extern const u8 gText_TimeColon[];
+extern const u8 gText_PressingSpeed[];
+extern const u8 gText_Silkiness[];
+extern const u8 gText_StrVar1[];
+extern const u8 gText_SpaceMin[];
+extern const u8 gText_XDotY2[];
+extern const u8 gText_SpaceSec[];
+extern const u8 gText_XDotY3[];
+extern const u8 gText_TimesPerSec[];
+extern const u8 gText_Var1Percent[];
+extern const u8 gText_PressesRankings[];
+extern const u8 gText_CrushingResults[];
+extern const u8 gText_BerryCrush2[];
+extern const u8 gText_PressingSpeedRankings[];
+extern const u8 gText_Var1Players[];
+extern const u8 gText_NeatnessRankings[];
+extern const u8 gText_CooperativeRankings[];
+extern const u8 gText_PressingPowerRankings[];
+
#endif //GUARD_STRINGS_H