diff options
Diffstat (limited to 'include/berry_crush.h')
-rw-r--r-- | include/berry_crush.h | 208 |
1 files changed, 2 insertions, 206 deletions
diff --git a/include/berry_crush.h b/include/berry_crush.h index 999fb59f3..a08f1f699 100644 --- a/include/berry_crush.h +++ b/include/berry_crush.h @@ -1,212 +1,8 @@ #ifndef GUARD_BERRY_CRUSH_H #define GUARD_BERRY_CRUSH_H -enum { - BCTEXT_AREYOUREADY, - BCTEXT_WAITFOROTHERS, - BCTEXT_GAINEDPOWDER, - BCTEXT_RECORDINGRESULTS, - BCTEXT_ASKPLAYAGAIN, - BCTEXT_CANCEL_NOBERRIES, - BCTEXT_CANCEL_DROPPEDOUT, - BCTEXT_TIMEUP, - BCTEXT_COMMSTANDBY, -}; +#include "main.h" -enum { - BCCMD_BeginNormalPaletteFade = 1, - BCCMD_WaitPaletteFade, - BCCMD_PrintMessage, - BCCMD_InitGfx, - BCCMD_TeardownGfx, - BCCMD_SignalReadyToBegin, - BCCMD_AskPickBerry, - BCCMD_GoToBerryPouch, - BCCMD_WaitForOthersToPickBerries, - BCCMD_DropBerriesIntoCrusher, - BCCMD_DropLid, - BCCMD_Countdown, - BCCMD_PlayGame_Master, - BCCMD_PlayGame_Slave, - BCCMD_FinishGame, - BCCMD_HandleTimeUp, - BCCMD_TabulateResults, - BCCMD_ShowResults, - BCCMD_SaveTheGame, - BCCMD_AskPlayAgain, - BCCMD_CommunicatePlayAgainResponses, - BCCMD_FadeOutToPlayAgain, - BCCMD_PlayAgainFailureMessage, - BCCMD_GracefulExit, - BCCMD_Quit, -}; - -struct BerryCrushGame_Player -{ - u16 berryId; - u16 unk2; - union - { - u8 as_2d_bytes[2][8]; - u16 as_hwords[8]; - } unk4; - u8 unk14[12]; -}; - -struct BerryCrushGame_5C -{ - u16 unk00; - u8 unk02_0:1; - u8 unk02_1:1; - u8 pushedAButton:1; - u8 unk02_3:5; - s8 unk03; - u16 unk04; - u16 unk06; - u16 unk08; - u16 unk0A; -}; - -struct __attribute__((packed, aligned(2))) BerryCrushGame_4E -{ - u16 unk0; - struct BerryCrushGame_5C data; -}; - -union BerryCrushGame_68 -{ - struct BerryCrushGame_68_x - { - struct BerryCrushGame_68_x_SubStruct - { - s32 unk00; - u16 unk04; - s16 unk06; - u16 unk08; - u16 unk0A; - // 0: Number of A presses - // 1: Neatness - u16 stats[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 players[5]; - u8 fillerBC[20]; - } as_five_players; -}; - -struct BerryCrushPlayerSeatCoords -{ - u8 unk0; - u8 unk1; - u8 unk2; - s16 unk4; - s16 unk6; - s16 unk8; - s16 unkA; -}; - -struct BerryCrushGame_138 -{ - u8 animBerryIdx; - u8 unk1; - u8 unk2; - u8 unk3; - s16 minutes; - s16 secondsInt; - s16 secondsFrac; - const struct BerryCrushPlayerSeatCoords * seatCoords[5]; - struct Sprite *coreSprite; - struct Sprite *impactSprites[5]; - struct Sprite *berrySprites[5]; - struct Sprite *sparkleSprites[11]; - struct Sprite *timerSprites[2]; - u8 unk80; - u8 filler81; - u8 unk82; - u8 unk83[5]; -}; - -struct BerryCrushGame -{ - MainCallback savedCallback; - u32 (*cmdCallback)(struct BerryCrushGame *, u8 *); - u8 localId; - u8 playerCount; - u8 taskId; - u8 textSpeed; - u8 cmdState; - u8 unkD; - u8 nextCmd; - u8 afterPalFadeCmd; - u16 unk10; - u16 gameState; - u16 unk14; - u16 pressingSpeed; - s16 unk18; - s16 unk1A; - int powder; - 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 timer; - s16 depth; - s16 vibration; - s16 unk2E; - s16 unk30; - s16 unk32; - s16 unk34; - u8 commandParams[10]; - u16 sendCmd[7]; - u16 recvCmd[7]; - struct BerryCrushGame_5C localState; - union BerryCrushGame_68 unk68; - struct BerryCrushGame_138 spritesManager; - u8 bg1Buffer[0x1000]; - u8 unk11C0[0x1000]; - u8 bg2Buffer[0x1000]; - u8 bg3Buffer[0x1000]; -}; - -#define BERRYCRUSH_PLAYER_NAME(game, i) \ - ((u8 *)(game) \ - + offsetof(struct BerryCrushGame, unk68) \ - + offsetof(struct BerryCrushGame_68_x, unk30) \ - + sizeof(struct BerryCrushGame_Player) * (i)) - -struct BerryCrushGame *GetBerryCrushGame(void); void StartBerryCrush(MainCallback callback); -u32 ExitBerryCrushWithCallback(MainCallback callback); -void CB2_BerryCrush_GoToBerryPouch(void); -void BerryCrush_SetVBlankCallback(void); -void BerryCrush_UnsetVBlankCallback(void); -void BerryCrush_UpdateSav2Records(void); -void BerryCrush_RunOrScheduleCommand(u16 command, u8 runMode, u8 *params); -void BerryCrush_SetPaletteFadeParams(u8 *params, bool8 communicateAfter, u32 selectedPals, s8 delay, u8 startY, u8 targetY, u16 palette); -int sub_814D9CC(struct BerryCrushGame *arg0); -int BerryCrush_InitBgs(void); -int BerryCrush_TeardownBgs(void); -void BerryCrush_CreateBerrySprites(struct BerryCrushGame *arg0, struct BerryCrushGame_138 *arg1); -void BerryCrushFreeBerrySpriteGfx(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 BerryCrush_HideTimerSprites(struct BerryCrushGame_138 *arg0); -void SpriteCB_DropBerryIntoCrusher(struct Sprite * sprite); -void ShowBerryCrushRankings(void); -#endif //GUARD_BERRY_CRUSH_H +#endif // GUARD_BERRY_CRUSH_H |