Shipwright/soh/src/overlays/actors/ovl_En_Encount1/z_en_encount1.h

41 lines
1.1 KiB
C

#ifndef Z_EN_ENCOUNT1_H
#define Z_EN_ENCOUNT1_H
#include "ultra64.h"
#include "global.h"
#include "overlays/actors/ovl_En_Reeba/z_en_reeba.h"
#define SPAWNER_PARAMS(type, number, total) ((type << 0xB) | (number << 0x6) | total)
struct EnEncount1;
typedef void (*EnEncount1UpdateFunc)(struct EnEncount1*, GlobalContext*);
typedef struct EnEncount1 {
/* 0x0000 */ Actor actor;
/* 0x014C */ EnEncount1UpdateFunc updateFunc;
/* 0x0150 */ s16 maxCurSpawns;
/* 0x0152 */ s16 curNumSpawn;
/* 0x0154 */ s16 spawnType;
/* 0x0156 */ s16 maxTotalSpawns;
/* 0x0158 */ s16 totalNumSpawn;
/* 0x015A */ s16 outOfRangeTimer;
/* 0x015C */ s16 fieldSpawnTimer;
/* 0x015E */ s16 killCount;
/* 0x0160 */ s16 numLeeverSpawns;
/* 0x0162 */ s16 leeverIndex;
/* 0x0164 */ s16 timer;
/* 0x0166 */ u8 reduceLeevers;
/* 0x0168 */ f32 spawnRange;
/* 0x016C */ EnReeba* bigLeever;
} EnEncount1; // size = 0x0170
typedef enum {
/* 0 */ SPAWNER_LEEVER,
/* 1 */ SPAWNER_TEKTITE,
/* 2 */ SPAWNER_STALCHILDREN,
/* 3 */ SPAWNER_WOLFOS
} EnEncount1type;
#endif