66 lines
1.9 KiB
C
66 lines
1.9 KiB
C
|
#ifndef Z_EN_HORSE_GAME_CHECK_H
|
||
|
#define Z_EN_HORSE_GAME_CHECK_H
|
||
|
|
||
|
#include "ultra64.h"
|
||
|
#include "global.h"
|
||
|
|
||
|
struct EnHorseGameCheckBase;
|
||
|
|
||
|
typedef s32 (*EnHorseGameCheckFunc)(struct EnHorseGameCheckBase* this, GlobalContext* globalCtx);
|
||
|
|
||
|
typedef struct EnHorseGameCheckBase {
|
||
|
/* 0x0000 */ Actor actor;
|
||
|
/* 0x014C */ s32 type;
|
||
|
} EnHorseGameCheckBase; // size = 0x0150
|
||
|
|
||
|
typedef struct EnHorseGameCheckIngoRace {
|
||
|
/* 0x0000 */ EnHorseGameCheckBase base;
|
||
|
/* 0x0150 */ s32 startFlags;
|
||
|
/* 0x0154 */ s32 playerCheck[3];
|
||
|
/* 0x0160 */ s32 ingoCheck[3];
|
||
|
/* 0x016C */ Actor* ingoHorse;
|
||
|
/* 0x0170 */ s32 startTimer;
|
||
|
/* 0x0174 */ s32 result;
|
||
|
/* 0x0178 */ s32 finishTimer;
|
||
|
/* 0x017C */ s32 playerFinish;
|
||
|
/* 0x0180 */ s32 ingoFinish;
|
||
|
} EnHorseGameCheckIngoRace; // size = 0x0184
|
||
|
|
||
|
typedef struct EnHorseGameCheckGerudoArchery {
|
||
|
/* 0x0000 */ EnHorseGameCheckBase base;
|
||
|
/* 0x0150 */ s32 unk_150;
|
||
|
/* 0x0154 */ u32 startTimer;
|
||
|
} EnHorseGameCheckGerudoArchery; // size = 0x0158
|
||
|
|
||
|
typedef struct EnHorseGameCheck3 {
|
||
|
/* 0x0000 */ EnHorseGameCheckBase base;
|
||
|
/* 0x0150 */ s32 unk_150;
|
||
|
} EnHorseGameCheck3; // size = 0x0154
|
||
|
|
||
|
typedef struct EnHorseGameCheckMalonRace {
|
||
|
/* 0x0000 */ EnHorseGameCheckBase base;
|
||
|
/* 0x0150 */ s32 startTimer;
|
||
|
/* 0x0154 */ s32 raceFlags;
|
||
|
/* 0x0158 */ s32 fenceCheck[16];
|
||
|
/* 0x0198 */ s32 finishTimer;
|
||
|
/* 0x019C */ s32 result;
|
||
|
/* 0x01A0 */ s32 lapCount;
|
||
|
} EnHorseGameCheckMalonRace; // size = 0x01A4
|
||
|
|
||
|
typedef union EnHorseGameCheck {
|
||
|
EnHorseGameCheckIngoRace ingo;
|
||
|
EnHorseGameCheckGerudoArchery gerudo;
|
||
|
EnHorseGameCheck3 type3;
|
||
|
EnHorseGameCheckMalonRace malon;
|
||
|
} EnHorseGameCheck; // size = 0x01A4
|
||
|
|
||
|
typedef enum {
|
||
|
/* 0 */ HORSEGAME_NONE,
|
||
|
/* 1 */ HORSEGAME_INGO_RACE,
|
||
|
/* 2 */ HORSEGAME_GERUDO_ARCHERY,
|
||
|
/* 3 */ HORSEGAME_TYPE3,
|
||
|
/* 4 */ HORSEGAME_MALON_RACE
|
||
|
} EnHorseGameCheckType;
|
||
|
|
||
|
#endif
|