Shipwright/soh/src/overlays/actors/ovl_En_Trap/z_en_trap.h

36 lines
1.0 KiB
C

#ifndef Z_EN_TRAP_H
#define Z_EN_TRAP_H
#include "ultra64.h"
#include "global.h"
// Different movement modes (set in params):
#define SPIKETRAP_MODE_LINEAR 0x10
#define SPIKETRAP_MODE_CIRCULAR 0x20
#define SPIKETRAP_MODE_FOUR_WAY 0x30
// When four-way mode is set, these flags decide on which directions are allowed:
#define SPIKETRAP_FOURWAY_FWD_ALLOWED (1 << 0)
#define SPIKETRAP_FOURWAY_BACK_ALLOWED (1 << 1)
#define SPIKETRAP_FOURWAY_LEFT_ALLOWED (1 << 2)
#define SPIKETRAP_FOURWAY_RIGHT_ALLOWED (1 << 3)
struct EnTrap;
typedef struct EnTrap {
/* 0x0000 */ Actor actor;
/* 0x014C */ s32 playerDmgTimer;
/* 0x0150 */ s16 upperParams;
/* 0x0152 */ s16 genericVar1;
/* 0x0154 */ f32 genericVar2;
/* 0x0158 */ Vec3f targetPosLeft;
/* 0x0164 */ Vec3f targetPosRight;
/* 0x0170 */ Vec3f targetPosFwd;
/* 0x017C */ Vec3f targetPosBack;
/* 0x0188 */ Vec3f moveSpeedLeftRight;
/* 0x0194 */ Vec3f moveSpeedForwardBack;
/* 0x01A0 */ ColliderCylinder collider;
} EnTrap; // size = 0x01EC
#endif