#ifndef ACTOR_H
#define ACTOR_H
#include <ultra64.h>
struct actorMarker_s;
#define ACTOR_POOL_SIZE 0x200
#define ACTOR_FLAG_NONE (0)
#define ACTOR_FLAG_UNKNOWN_0 (1 << 0)
#define ACTOR_FLAG_UNKNOWN_1 (1 << 1)
#define ACTOR_FLAG_UNKNOWN_2 (1 << 2)
#define ACTOR_FLAG_UNKNOWN_3 (1 << 3)
#define ACTOR_FLAG_UNKNOWN_4 (1 << 4)
#define ACTOR_FLAG_UNKNOWN_5 (1 << 5)
#define ACTOR_FLAG_UNKNOWN_6 (1 << 6)
#define ACTOR_FLAG_UNKNOWN_7 (1 << 7)
#define ACTOR_FLAG_UNKNOWN_8 (1 << 8)
#define ACTOR_FLAG_UNKNOWN_9 (1 << 9)
#define ACTOR_FLAG_UNKNOWN_10 (1 << 10)
#define ACTOR_FLAG_UNKNOWN_11 (1 << 11)
#define ACTOR_FLAG_UNKNOWN_12 (1 << 12)
#define ACTOR_FLAG_UNKNOWN_13 (1 << 13)
#define ACTOR_FLAG_UNKNOWN_14 (1 << 14)
#define ACTOR_FLAG_UNKNOWN_15 (1 << 15)
#define ACTOR_FLAG_UNKNOWN_16 (1 << 16)
#define ACTOR_FLAG_UNKNOWN_17 (1 << 17)
#define ACTOR_FLAG_UNKNOWN_18 (1 << 18)
#define ACTOR_FLAG_UNKNOWN_19 (1 << 19)
#define ACTOR_FLAG_UNKNOWN_20 (1 << 20)
#define ACTOR_FLAG_UNKNOWN_21 (1 << 21)
#define ACTOR_FLAG_UNKNOWN_22 (1 << 22)
#define ACTOR_FLAG_UNKNOWN_23 (1 << 23)
#define ACTOR_FLAG_UNKNOWN_24 (1 << 24)
#define ACTOR_FLAG_UNKNOWN_25 (1 << 25)
#define ACTOR_FLAG_UNKNOWN_26 (1 << 26)
#define ACTOR_FLAG_UNKNOWN_27 (1 << 27)
typedef struct {
f32 unk0;
f32 unk4;
u8 unk8;
u8 unk9;
u8 unkA;
u8 unkB;
u32 yaw:3;
u32 unkC_28:1;
u32 baddieSpecific:28;
s16 foundPlayerSfx;
s16 foundPlayerSampleRate;
f32 foundPlayerVolume;
f32 enterInvulnerableStateAnimationTimer;
s16 enterInvulnerableStateSfx;
s16 enterInvulnerableStateSampleRate;
f32 enterInvulnerableStateVolume;
f32 exitInvulnerableStateAnimationTimer;
s16 exitInvulnerableStateSfx;
s16 exitInvulnerableStateSampleRate;
f32 exitInvulnerableStateVolume;
void (*hitFunction)(struct actorMarker_s *, struct actorMarker_s *);
void (*dieFunction)(struct actorMarker_s *, struct actorMarker_s *);
s32 globalTimer;
f32 damageVolume;
} Humanoid_Baddies_Actor;
#endif