heretic2-sdk/Toolkit/Programming/GameCode/game/m_harpy.h
1998-11-24 00:00:00 +00:00

161 lines
4.5 KiB
C

typedef enum AnimID_e
{
ANIM_DIE,
ANIM_FLY1,
ANIM_FLYBACK1,
ANIM_HOVER1,
ANIM_HOVERSCREAM,
ANIM_DIVE_GO,
ANIM_DIVE_LOOP,
ANIM_DIVE_END,
ANIM_PAIN1,
ANIM_GLIDE1,
ANIM_DIVE_TRANS,
ANIM_HIT_LOOP,
ANIM_TUMBLE,
ANIM_PIRCH1,
ANIM_PIRCH2,
ANIM_PIRCH3,
ANIM_PIRCH4,
ANIM_PIRCH5,
ANIM_PIRCH6,
ANIM_PIRCH7,
ANIM_PIRCH8,
ANIM_PIRCH9,
ANIM_TAKEOFF,
ANIM_CIRCLING,
ANIM_CIRCLING_FLAP,
NUM_ANIMS
} AnimID_t;
typedef enum SoundID_e
{
SND_FLAP,
SND_SCREAM,
SND_FLAP_FAST,
SND_DIVE,
SND_DEATH,
SND_PAIN1,
SND_PAIN2,
SND_ATTACK,
SND_GIB,
SND_IDLE1,
SND_IDLE2,
NUM_SOUNDS
} SoundID_t;
void move_harpy_tumble(edict_t *self);
void harpy_flap_noise(edict_t *self);
void harpy_flap_fast_noise(edict_t *self);
void harpy_dive_noise(edict_t *self);
void harpy_death_noise(edict_t *self);
void harpy_pain1_noise(edict_t *self);
void harpy_pain2_noise(edict_t *self);
void harpy_attack_noise(edict_t *self);
extern animmove_t harpy_move_die1;
extern animmove_t harpy_move_fly1;
extern animmove_t harpy_move_flyback1;
extern animmove_t harpy_move_hover1;
extern animmove_t harpy_move_hoverscream;
extern animmove_t harpy_move_dive_go;
extern animmove_t harpy_move_dive_loop;
extern animmove_t harpy_move_dive_end;
extern animmove_t harpy_move_pain1;
extern animmove_t harpy_move_glide;
extern animmove_t harpy_move_dive_trans;
extern animmove_t harpy_move_dive_hit_loop;
extern animmove_t harpy_move_tumble;
extern animmove_t harpy_move_takeoff;
extern animmove_t harpy_move_circle;
extern animmove_t harpy_move_circle_flap;
//Pirches
extern animmove_t harpy_move_pirch1_idle;
extern animmove_t harpy_move_pirch2_idle;
extern animmove_t harpy_move_pirch3_idle;
extern animmove_t harpy_move_pirch4_idle;
extern animmove_t harpy_move_pirch5_idle;
extern animmove_t harpy_move_pirch6_idle;
extern animmove_t harpy_move_pirch7_idle;
extern animmove_t harpy_move_pirch8_idle;
extern animmove_t harpy_move_pirch9_idle;
void harpy_dismember(edict_t *self, int damage, int HitLocation0);
qboolean SV_StepDirection (edict_t *ent, float yaw, float dist);
qboolean SV_FlyDirection (edict_t *ent, vec3_t *attitude, float dist);
qboolean SV_movestep (edict_t *ent, vec3_t move, qboolean relink);
qboolean ai_checkattack (edict_t *self, float dist);
void SV_NewChaseDir (edict_t *actor, edict_t *enemy, float dist);
void harpy_ai_fly (edict_t *self, float fd, float rd, float ud);
void harpy_ai_glide (edict_t *self, float fd, float rd, float ud);
void harpy_ai_circle (edict_t *self, float fd, float rd, float ud);
void harpy_ai_pirch (edict_t *self);
void harpy_ai_hover (edict_t *self, float dist);
void harpy_flight_model (edict_t *self);
void harpy_dive_loop(edict_t *self);
void harpy_hit_loop(edict_t *self);
void harpy_check_dodge(edict_t *self);
void harpy_dead (edict_t *self);
void harpy_hit (edict_t *self);
void harpy_pause(edict_t *self);
void harpy_die(edict_t *self, G_Message_t *msg);
void harpy_fly(edict_t *self, G_Message_t *msg);
void harpy_fly_attack(edict_t *self, G_Message_t *msg);
void harpy_flyback(edict_t *self);
void harpy_hover(edict_t *self, G_Message_t *msg);
void harpy_stand(edict_t *self, G_Message_t *msg);
void harpy_hoverscream(edict_t *self, G_Message_t *msg);
void harpy_dive(edict_t *self, G_Message_t *msg);
void harpy_pain(edict_t *self, G_Message_t *msg);
void harpy_perch(edict_t *self, G_Message_t *msg);
void SP_monster_harpy(edict_t* self);
void harpy_init(void);
void harpy_pain_init(edict_t *self);
void harpy_fix_angles(edict_t *self);
void move_harpy_die(edict_t *self);
void move_harpy_hover(edict_t *self);
void move_harpy_fly(edict_t *self);
void move_harpy_dive(edict_t *self);
void move_harpy_dive_end(edict_t *self);
void harpy_hover_anim(edict_t *self);
#define hl_backspikes 1
#define hl_head 2
#define hl_stinger 3
#define hl_lwing 4
#define hl_lefthand 5
#define hl_rwing 6
#define hl_righthand 7
#define hl_leftupperleg 8
#define hl_leftlowerleg 9
#define hl_rightupperleg 10
#define hl_rightlowerleg 11
#define hl_harpy_max 12
#define BPN_PAIN 0
#define BPN_HEAD 1
#define BPN_HORNS 2
#define BPN_HORN 4
#define BPN_BACKSPIKES 8
#define BPN_NECKSPIKES 16
#define BPN_LUARM 32
#define BPN_LLARM 64
#define BPN_LHAND 128
#define BPN_RUARM 256
#define BPN_RLARM 512
#define BPN_RHAND 1024
#define BPN_TAILSPIKES 2048
#define BPN_RWING 4096
#define BPN_LWING 8192
#define BPN_STINGER 16384