113 lines
3.1 KiB
C
113 lines
3.1 KiB
C
typedef enum AnimID_e
|
|
{
|
|
ANIM_DIE,
|
|
ANIM_FLY1,
|
|
ANIM_FLYBACK1,
|
|
ANIM_HOVER1,
|
|
ANIM_FIREBALL,
|
|
ANIM_DIVE_GO,
|
|
ANIM_DIVE_LOOP,
|
|
ANIM_DIVE_END,
|
|
ANIM_DIVE_OUT,
|
|
ANIM_PAIN1,
|
|
ANIM_TUMBLE,
|
|
ANIM_PERCH,
|
|
ANIM_TAKEOFF,
|
|
ANIM_DUP,
|
|
ANIM_DDOWN,
|
|
NUM_ANIMS
|
|
} AnimID_t;
|
|
|
|
typedef enum SoundID_e
|
|
{
|
|
SND_GIB,
|
|
SND_FLAP,
|
|
SND_SCREAM,
|
|
SND_DIVE,
|
|
SND_DEATH,
|
|
// SND_PAIN1,
|
|
// SND_PAIN2,
|
|
SND_HIT,
|
|
SND_ATTACK,
|
|
SND_FIZZLE,
|
|
SND_FBHIT,
|
|
// SND_IDLE1,
|
|
// SND_IDLE2,
|
|
NUM_SOUNDS
|
|
} SoundID_t;
|
|
|
|
void move_imp_tumble(edict_t *self);
|
|
|
|
void imp_flap_noise(edict_t *self);
|
|
void imp_flap_fast_noise(edict_t *self);
|
|
void imp_dive_noise(edict_t *self);
|
|
void imp_death_noise(edict_t *self);
|
|
void imp_pain1_noise(edict_t *self);
|
|
void imp_pain2_noise(edict_t *self);
|
|
void imp_attack_noise(edict_t *self);
|
|
|
|
extern animmove_t imp_move_die1;
|
|
extern animmove_t imp_move_fly1;
|
|
extern animmove_t imp_move_flyback;
|
|
extern animmove_t imp_move_hover1;
|
|
extern animmove_t imp_move_fireball;
|
|
extern animmove_t imp_move_dive_go;
|
|
extern animmove_t imp_move_dive_loop;
|
|
extern animmove_t imp_move_dive_end;
|
|
extern animmove_t imp_move_dive_out;
|
|
extern animmove_t imp_move_pain1;
|
|
extern animmove_t imp_move_tumble;
|
|
extern animmove_t imp_move_takeoff;
|
|
//Pirches
|
|
extern animmove_t imp_move_perch;
|
|
extern animmove_t imp_move_dup;
|
|
extern animmove_t imp_move_ddown;
|
|
|
|
|
|
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 extrapolateFiredir (edict_t *self,vec3_t p1,float pspeed,edict_t *targ,float accept,vec3_t vec2);;
|
|
|
|
void imp_ai_fly (edict_t *self, float fd, float rd, float ud);
|
|
void imp_ai_pirch (edict_t *self);
|
|
void imp_ai_hover (edict_t *self, float dist);
|
|
|
|
void imp_flight_model (edict_t *self);
|
|
|
|
void imp_dive_loop(edict_t *self);
|
|
void imp_hit_loop(edict_t *self);
|
|
void imp_check_dodge(edict_t *self);
|
|
|
|
void imp_dead (edict_t *self);
|
|
void imp_hit (edict_t *self, float stop_swoop);
|
|
void imp_pause(edict_t *self);
|
|
void imp_die(edict_t *self, G_Message_t *msg);
|
|
void imp_fly(edict_t *self, G_Message_t *msg);
|
|
void imp_fly_attack(edict_t *self, G_Message_t *msg);
|
|
void imp_flyback(edict_t *self);
|
|
void imp_hover(edict_t *self, G_Message_t *msg);
|
|
void imp_stand(edict_t *self, G_Message_t *msg);
|
|
void imp_hoverscream(edict_t *self, G_Message_t *msg);
|
|
void imp_dive(edict_t *self, G_Message_t *msg);
|
|
void imp_pain(edict_t *self, G_Message_t *msg);
|
|
void imp_perch(edict_t *self, G_Message_t *msg);
|
|
|
|
void SP_monster_imp(edict_t* self);
|
|
void imp_init(void);
|
|
void imp_pain_init(edict_t *self);
|
|
|
|
void imp_fix_angles(edict_t *self);
|
|
|
|
void move_imp_die(edict_t *self);
|
|
void move_imp_hover(edict_t *self);
|
|
void move_imp_fly(edict_t *self);
|
|
void move_imp_dive(edict_t *self);
|
|
void move_imp_dive_end(edict_t *self);
|
|
|
|
void imp_hover_anim(edict_t *self);
|
|
void imp_fireball (edict_t *self);
|
|
void imp_death_pain (edict_t *self, G_Message_t *msg);
|
|
|