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

166 lines
4.1 KiB
C

typedef enum AnimID_e
{
ANIM_BITEUP,
ANIM_BITELOW,
ANIM_BITEUP2,
ANIM_EATING_TWITCH,
ANIM_EATING,
ANIM_EATDOWN,
ANIM_WALK,
ANIM_WALKLEFT,
ANIM_WALKRT,
ANIM_JUMP,
ANIM_FJUMP,
ANIM_INAIR,
ANIM_LAND,
ANIM_GINAIR,
ANIM_GLAND,
ANIM_STAND,
ANIM_DELAY,
ANIM_DIE,
ANIM_DIE_NORM,
ANIM_CHARGE,
ANIM_ROAR,
ANIM_WALKATK,
ANIM_STUN,
ANIM_SNATCH,
ANIM_READY_CATCH,
ANIM_CATCH,
ANIM_BITEUP_SFIN,
ANIM_BITELOW_SFIN,
ANIM_BITEUP2_SFIN,
ANIM_QUICK_CHARGE,
NUM_ANIMS
} AnimID_t;
typedef enum SoundID_e
{
SND_ROAR,
SND_ROAR2,
SND_SNORT1,
SND_SNORT2,
SND_STEP1,
SND_STEP2,
SND_LAND,
SND_GROWL1,
SND_GROWL2,
SND_GROWL3,
SND_SWIPE,
SND_SLAM,
SND_SNATCH,
SND_CHOMP,
SND_TEAR1,
SND_TEAR2,
SND_THROW,
SND_CATCH,
SND_SWALLOW,
SND_PAIN1,
SND_PAIN2,
SND_DIE,
SND_CORVUS_SCREAM1,
SND_CORVUS_SCREAM2,
SND_CORVUS_SCREAM3,
SND_CORVUS_DIE,
NUM_SOUNDS
} SoundID_t;
extern animmove_t tbeast_move_biteup;
extern animmove_t tbeast_move_bitelow;
extern animmove_t tbeast_move_biteup2;
extern animmove_t tbeast_move_eating_twitch;
extern animmove_t tbeast_move_eating;
extern animmove_t tbeast_move_eatdown;
extern animmove_t tbeast_move_walk;
extern animmove_t tbeast_move_walkleft;
extern animmove_t tbeast_move_walkrt;
extern animmove_t tbeast_move_jump;
extern animmove_t tbeast_move_forced_jump;
extern animmove_t tbeast_move_inair;
extern animmove_t tbeast_move_land;
extern animmove_t tbeast_move_ginair;
extern animmove_t tbeast_move_gland;
extern animmove_t tbeast_move_stand;
extern animmove_t tbeast_move_delay;
extern animmove_t tbeast_move_die;
extern animmove_t tbeast_move_die_norm;
extern animmove_t tbeast_move_charge;
extern animmove_t tbeast_move_roar;
extern animmove_t tbeast_move_walkatk;
extern animmove_t tbeast_move_stun;
extern animmove_t tbeast_move_snatch;
extern animmove_t tbeast_move_ready_catch;
extern animmove_t tbeast_move_catch;
extern animmove_t tbeast_move_biteup_sfin;
extern animmove_t tbeast_move_bitelow_sfin;
extern animmove_t tbeast_move_biteup2_sfin;
extern animmove_t tbeast_move_quick_charge;
void tbeast_snort (edict_t *self);
void tbeast_growl (edict_t *self);
qboolean tbeastCheckMood(edict_t *self);
void tbeast_pause (edict_t *self);
void tbeastbite (edict_t *self, float ofsf, float ofsr, float ofsu);
void tbeast_land(edict_t *self);
void tbeast_roar(edict_t *self);
void tbeast_jump (edict_t *self);
void tbeast_apply_jump (edict_t *self);
void tbeast_ready_catch (edict_t *self);
void tbeast_throw_toy(edict_t *self);
void tbeast_toy_ofs(edict_t *self, float ofsf, float ofsr, float ofsu);
void tbeast_check_snatch(edict_t *self, float ofsf, float ofsr, float ofsu);
void tbeast_gore_toy(edict_t *self, float jumpht);
void tbeast_anger_sound (edict_t *self);
void tbeast_leap (edict_t *self, float fwdf, float rghtf, float upf);
void tbeast_eatorder (edict_t *self);
void tbeast_footstep (edict_t *self);
void tbeast_walkorder (edict_t *self);
void tbeast_standorder (edict_t *self);
void tbeast_dead(edict_t *self);
void tbeast_charge (edict_t *self, float force);
void tbeast_done_gore (edict_t *self);
void tbeast_run_think (edict_t *self, float dist);
float MG_ChangeYaw (edict_t *self);
qboolean MG_CheckBottom (edict_t *ent);
void tbeast_check_landed (edict_t *self);
void tbeast_inair (edict_t *self);
void tbeast_gcheck_landed (edict_t *self);
void tbeast_ginair (edict_t *self);
void tbeast_go_snatch (edict_t *self);
void tbeast_check_impacts(edict_t *self);
void tbeast_roar_knockdown(edict_t *self);
void tbeast_roar_short(edict_t *self);
void tbeast_gibs(edict_t *self);
edict_t *check_hit_beast(vec3_t start, vec3_t end);
enum
{
FX_TB_PUFF,
FX_TB_SNORT,
};
#define TB_HIBITE_F 150
#define TB_HIBITE_R 0
#define TB_HIBITE_U 108
#define TB_LOBITE_F 150
#define TB_LOBITE_R 0
#define TB_LOBITE_U 36
#define TB_WLKBITE_F 224
#define TB_WLKBITE_U 72
#define TBEAST_STD_MELEE_RNG 128
#define TBEAST_STD_MAXHOP_RNG 600
#define TB_JUMP_GRAV 0.8
#define TB_FWD_OFFSET -64//-32
#define TB_UP_OFFSET -32
#define TB_RT_OFFSET -24