156 lines
4.1 KiB
C
156 lines
4.1 KiB
C
/*-------------------------------------------------------------------------
|
|
m_spreader.h
|
|
|
|
Copyright 1998 Raven Software
|
|
All rights reserved
|
|
-------------------------------------------------------------------------*/
|
|
|
|
#ifndef M_SPREADER_H
|
|
#define M_SPREADER_H
|
|
|
|
typedef enum AnimID_e
|
|
{
|
|
ANIM_ATTACK1,
|
|
ANIM_ATTACK2,
|
|
ANIM_BACKUP,
|
|
ANIM_BACKATTACK,
|
|
ANIM_DEATH1_GO,
|
|
ANIM_DEATH1_LOOP,
|
|
ANIM_DEATH1_END,
|
|
ANIM_DUCK,
|
|
ANIM_DUCKATTACK,
|
|
ANIM_DUCKDOWN,
|
|
ANIM_DUCKSTILL,
|
|
ANIM_DUCKUP,
|
|
ANIM_IDLE1,
|
|
ANIM_PAIN1,
|
|
ANIM_PIVOT_LEFT,
|
|
ANIM_PIVOT_RIGHT,
|
|
ANIM_RUNATTACK,
|
|
ANIM_RUN1,
|
|
ANIM_LAND,
|
|
ANIM_INAIR,
|
|
ANIM_FJUMP,
|
|
ANIM_WALK1,
|
|
ANIM_WALK2,
|
|
ANIM_DEATH2,
|
|
ANIM_FLY,
|
|
ANIM_FLYLOOP,
|
|
ANIM_FDIE,
|
|
ANIM_DEAD,
|
|
ANIM_DELAY,
|
|
NUM_ANIMS
|
|
} AnimID_t;
|
|
|
|
typedef enum SoundID_e
|
|
{
|
|
SND_SPRAYSTART,
|
|
SND_SPRAYLOOP,
|
|
SND_PAIN,
|
|
SND_VOICE1,
|
|
SND_VOICE2,
|
|
SND_THROW,
|
|
SND_DEATH,
|
|
SND_BOMB,
|
|
NUM_SOUNDS
|
|
} SoundID_t;
|
|
|
|
#define BIT_PARENT 0
|
|
#define BIT_CHILD 1
|
|
#define BIT_BODY 2
|
|
#define BIT_BOMB 4
|
|
#define BIT_RITLEG 8
|
|
#define BIT_LFTARM 16
|
|
#define BIT_LFTLEG 32
|
|
#define BIT_HEAD 64
|
|
#define BIT_RITARM 128
|
|
#define BIT_TANK3 256
|
|
#define BIT_TANK2 512
|
|
#define BIT_TANK1 1024
|
|
#define BIT_HOSE 2048
|
|
|
|
static int Bit_for_MeshNode_ps [13] =
|
|
{
|
|
BIT_PARENT,
|
|
BIT_CHILD,
|
|
BIT_BODY,
|
|
BIT_BOMB,
|
|
BIT_RITLEG,
|
|
BIT_LFTARM,
|
|
BIT_LFTLEG,
|
|
BIT_HEAD,
|
|
BIT_RITARM,
|
|
BIT_TANK3,
|
|
BIT_TANK2,
|
|
BIT_TANK1,
|
|
BIT_HOSE
|
|
};
|
|
|
|
extern animmove_t spreader_move_attack1;
|
|
extern animmove_t spreader_move_attack2;
|
|
extern animmove_t spreader_move_backup1;
|
|
extern animmove_t spreader_move_backattack1;
|
|
extern animmove_t spreader_move_death1_go;
|
|
extern animmove_t spreader_move_death1_loop;
|
|
extern animmove_t spreader_move_death1_end;
|
|
extern animmove_t spreader_move_duck1;
|
|
extern animmove_t spreader_move_dkatck1;
|
|
extern animmove_t spreader_move_duckdown;
|
|
extern animmove_t spreader_move_duckstill;
|
|
extern animmove_t spreader_move_duckup;
|
|
extern animmove_t spreader_move_idle1;
|
|
extern animmove_t spreader_move_pain1;
|
|
extern animmove_t spreader_move_pvtlt1;
|
|
extern animmove_t spreader_move_pvtrt1;
|
|
extern animmove_t spreader_move_rnatck1;
|
|
extern animmove_t spreader_move_run1;
|
|
extern animmove_t spreader_move_land;
|
|
extern animmove_t spreader_move_inair;
|
|
extern animmove_t spreader_move_fjump;
|
|
extern animmove_t spreader_move_walk1;
|
|
extern animmove_t spreader_move_walk2;
|
|
extern animmove_t spreader_move_death2;
|
|
extern animmove_t spreader_move_flyloop;
|
|
extern animmove_t spreader_move_fly;
|
|
extern animmove_t spreader_move_fdie;
|
|
extern animmove_t spreader_move_dead;
|
|
extern animmove_t spreader_move_delay;
|
|
|
|
void spreader_mist(edict_t *self, float x, float y, float z);
|
|
|
|
void SpreaderStaticsInit();
|
|
void spreaderFly (edict_t *self);
|
|
void spreaderTakeOff (edict_t *self);
|
|
void spreaderFlyLoop (edict_t *self);
|
|
void spreader_dropweapon (edict_t *self);
|
|
void spreader_go_deadloop (edict_t *self);
|
|
void spreaderSolidAgain (edict_t *self);
|
|
void M_MoveFrame (edict_t *self);
|
|
|
|
void spreader_dismember(edict_t *self, int damage, int HitLocation);
|
|
|
|
void spreader_pause(edict_t *self);
|
|
void spreader_crouch(edict_t *self);
|
|
void spreader_uncrouch(edict_t *self);
|
|
void spreader_duckpause(edict_t *self);
|
|
void spreader_death(edict_t *self, G_Message_t *msg);
|
|
void spreader_dead(edict_t *self);
|
|
|
|
void spreader_flyback_move(edict_t *self);
|
|
void spreader_flyback_loop(edict_t *self);
|
|
|
|
void spreader_showgrenade(edict_t *self);
|
|
void spreader_pain_sound(edict_t *self);
|
|
void spreader_miststartsound(edict_t *self);
|
|
void spreader_miststopsound(edict_t *self);
|
|
void spreader_idlenoise(edict_t *self);
|
|
void spreader_hidegrenade(edict_t *self);
|
|
void spreaderApplyJump (edict_t *self);
|
|
void spreader_land(edict_t *self);
|
|
void spreader_jump (edict_t *self, G_Message_t *msg);
|
|
void spreader_go_inair (edict_t *self);
|
|
void MG_CheckLanded (edict_t *self, float next_anim);
|
|
|
|
edict_t *RadiusDamageEnt(edict_t *posowner, edict_t *dmgowner, int damage, float d_damage, float radius, float d_radius, int dflags, float lifetime, float thinkIncrement, vec3_t origin, vec3_t offset, float attach);
|
|
|
|
#endif //M_SPREADER_H
|