mirror of
https://github.com/pret/pokefirered.git
synced 2026-05-09 12:35:23 -05:00
65 lines
2.4 KiB
C
65 lines
2.4 KiB
C
#ifndef GUARD_DODRIO_BERRY_PICKING_H
|
|
#define GUARD_DODRIO_BERRY_PICKING_H
|
|
|
|
// Berries fall in predefined columns.
|
|
// A total of 10 are available, though fewer will be used with < 5 players
|
|
// The 11th column is a repeat of the 1st column wrapped around, so only
|
|
// the values 0-9 are unique 'valid' columns
|
|
#define NUM_BERRY_COLUMNS 11
|
|
|
|
struct DodrioGame_Berries
|
|
{
|
|
u8 ids[NUM_BERRY_COLUMNS];
|
|
u8 fallDist[NUM_BERRY_COLUMNS];
|
|
};
|
|
|
|
struct DodrioGame_PlayerCommData
|
|
{
|
|
u8 pickState;
|
|
bool8 ALIGNED(4) ateBerry;
|
|
bool8 ALIGNED(4) missedBerry;
|
|
};
|
|
|
|
struct DodrioGame_Player
|
|
{
|
|
u8 name[16];
|
|
bool32 receivedGameStatePacket; // Never read
|
|
struct DodrioGame_Berries berries;
|
|
struct DodrioGame_PlayerCommData comm;
|
|
u32 unused;
|
|
}; // size = 0x3C
|
|
|
|
// dodrio_berry_picking.c
|
|
void StartDodrioBerryPicking(u16 partyId, MainCallback exitCallback);
|
|
void ShowDodrioBerryPickingRecords(void);
|
|
void IsDodrioInParty(void);
|
|
|
|
// dodrio_berry_picking_comm.c
|
|
void SendPacket_ReadyToStart(bool32 ready);
|
|
bool8 RecvPacket_ReadyToStart(s32 playerId);
|
|
void SendPacket_GameState(struct DodrioGame_Player *player,
|
|
struct DodrioGame_PlayerCommData *player1,
|
|
struct DodrioGame_PlayerCommData *player2,
|
|
struct DodrioGame_PlayerCommData *player3,
|
|
struct DodrioGame_PlayerCommData *player4,
|
|
struct DodrioGame_PlayerCommData *player5,
|
|
u8 numGraySquares,
|
|
bool32 berriesFalling,
|
|
bool32 allReadyToEnd);
|
|
bool32 RecvPacket_GameState(u32 playerId,
|
|
struct DodrioGame_Player *player,
|
|
struct DodrioGame_PlayerCommData *player1,
|
|
struct DodrioGame_PlayerCommData *player2,
|
|
struct DodrioGame_PlayerCommData *player3,
|
|
struct DodrioGame_PlayerCommData *player4,
|
|
struct DodrioGame_PlayerCommData *player5,
|
|
u8 *numGraySquares,
|
|
bool32 *berriesFalling,
|
|
bool32 *allReadyToEnd);
|
|
void SendPacket_PickState(u8 pickState);
|
|
bool32 RecvPacket_PickState(u32 playerId, u8 *pickState);
|
|
void SendPacket_ReadyToEnd(bool32 readyToEnd);
|
|
bool32 RecvPacket_ReadyToEnd(u32 playerId);
|
|
|
|
#endif //GUARD_DODRIO_BERRY_PICKING_H
|