142 lines
3.7 KiB
C
142 lines
3.7 KiB
C
//==============================================================================
|
|
//
|
|
// m_gkrokon.h
|
|
//
|
|
// Heretic II
|
|
// Copyright 1998 Raven Software
|
|
//
|
|
//==============================================================================
|
|
|
|
#define GKROKON_JUMP_VELOCITY 300.0
|
|
#define GKROKON_HOP_VELOCITY 128.0
|
|
|
|
#define GKROKON_SPOO_SPEED 450.0
|
|
#define GKROKON_SPOO_ARC 150.0
|
|
|
|
// ****************************************************************************
|
|
// The Gkrokon's animations.
|
|
// ****************************************************************************
|
|
|
|
typedef enum AnimID_e
|
|
{
|
|
ANIM_STAND1,
|
|
ANIM_STAND2,
|
|
ANIM_STAND3,
|
|
ANIM_STAND4,
|
|
ANIM_CROUCH1,
|
|
ANIM_CROUCH2,
|
|
ANIM_CROUCH3,
|
|
ANIM_WALK1,
|
|
ANIM_RUN1,
|
|
ANIM_RUN2,
|
|
ANIM_JUMP1,
|
|
ANIM_FJUMP,
|
|
ANIM_MELEE1,
|
|
ANIM_MELEE2,
|
|
ANIM_MISSILE1,
|
|
ANIM_EAT1,
|
|
ANIM_EAT2,
|
|
ANIM_EAT3,
|
|
ANIM_PAIN1,
|
|
ANIM_DIE1,
|
|
ANIM_HOP,
|
|
ANIM_RUNAWAY,
|
|
ANIM_SNEEZE,
|
|
ANIM_DELAY,
|
|
NUM_ANIMS
|
|
} AnimID_t;
|
|
|
|
// ****************************************************************************
|
|
// The Gkrokon's sounds.
|
|
// ****************************************************************************
|
|
|
|
typedef enum SoundID_e
|
|
{
|
|
SND_PAIN1,
|
|
SND_PAIN2,
|
|
SND_DIE,
|
|
SND_GIB,
|
|
SND_SPOO,
|
|
SND_IDLE1,
|
|
SND_IDLE2,
|
|
SND_SIGHT,
|
|
SND_WALK1,
|
|
SND_WALK2,
|
|
SND_FLEE,
|
|
SND_ANGRY,
|
|
SND_EATING,
|
|
SND_BITEHIT1,
|
|
SND_BITEHIT2,
|
|
SND_BITEMISS1,
|
|
SND_BITEMISS2,
|
|
NUM_SOUNDS
|
|
} SoundID_t;
|
|
|
|
extern animmove_t GkrokonMoveStand1;
|
|
extern animmove_t GkrokonMoveStand2;
|
|
extern animmove_t GkrokonMoveStand3;
|
|
extern animmove_t GkrokonMoveStand4;
|
|
extern animmove_t GkrokonMoveCrouch1;
|
|
extern animmove_t GkrokonMoveCrouch2;
|
|
extern animmove_t GkrokonMoveCrouch3;
|
|
extern animmove_t GkrokonMoveWalk1;
|
|
extern animmove_t GkrokonMoveRun1;
|
|
extern animmove_t GkrokonMoveRun2;
|
|
extern animmove_t GkrokonMoveRunAway;
|
|
extern animmove_t GkrokonMoveJump1;
|
|
extern animmove_t GkrokonMoveForcedJump;
|
|
extern animmove_t GkrokonMoveMeleeAttack1;
|
|
extern animmove_t GkrokonMoveMeleeAttack2;
|
|
extern animmove_t GkrokonMoveMissileAttack1;
|
|
extern animmove_t GkrokonMoveMissileAttack2;
|
|
extern animmove_t GkrokonMoveEat1;
|
|
extern animmove_t GkrokonMoveEat2;
|
|
extern animmove_t GkrokonMoveEat3;
|
|
extern animmove_t GkrokonMovePain1;
|
|
extern animmove_t GkrokonMoveDeath1;
|
|
//extern animmove_t GkrokonMoveDeath_hold;
|
|
extern animmove_t GkrokonMoveHop1;
|
|
extern animmove_t GkrokonMoveDelay;
|
|
|
|
void GkrokonSpooTouch2(edict_t *self,trace_t *trace);
|
|
|
|
void GkrokonPause(edict_t *self);
|
|
void gkrokonSound(edict_t *self, float channel, float sndindex, float atten);
|
|
void gkrokonRandomWalkSound (edict_t *self);
|
|
void GkrokonSpoo(edict_t *self);
|
|
void GkrokonDead(edict_t *self);
|
|
|
|
void extrapolateFiredir (edict_t *self,vec3_t p1,float pspeed,edict_t *targ,float accept,vec3_t vec2);
|
|
|
|
void create_gkrokon_spoo(edict_t *Spoo);
|
|
void BecomeDebris(edict_t *self);
|
|
|
|
void GkrokonSpooThink(edict_t *self);
|
|
void GkrokonSpooTouch(edict_t *self,edict_t *Other,cplane_t *Plane,csurface_t *Surface);
|
|
|
|
trace_t trace_dir(edict_t *self, vec3_t source, vec3_t angles, float dist);
|
|
|
|
void GkrokonStaticsInit(void);
|
|
void GkrokonInit(void);
|
|
|
|
void beetle_ai_stand(edict_t *self, float dist);
|
|
float MG_FaceGoal (edict_t *self, qboolean doturn);
|
|
void beetle_idle_sound(edict_t *self);
|
|
void beetle_to_stand (edict_t *self);
|
|
void beetle_to_crouch (edict_t *self);
|
|
void GkrokonBite(edict_t *self, float value);
|
|
|
|
#define BIT_WAIT1 0
|
|
#define BIT_SHELLA_P1 1
|
|
#define BIT_SPIKE_P1 2
|
|
#define BIT_HEAD_P1 4
|
|
#define BIT_RPINCHERA_P1 8
|
|
#define BIT_RPINCHERB_P1 16
|
|
#define BIT_LPINCHERA_P1 32
|
|
#define BIT_LPINCHERB_P1 64
|
|
#define BIT_LARM_P1 128
|
|
#define BIT_RARM_P1 256
|
|
#define BIT_ABDOMEN_P1 512
|
|
#define BIT_LTHIGH_P1 1024
|
|
#define BIT_RTHIGH_P1 2048
|
|
#define BIT_SHELLB_P1 4096
|