hlsdk-xash3d/cl_dll/ev_hldm.h

157 lines
3.0 KiB
C

//========= Copyright (c) 1996-2002, Valve LLC, All rights reserved. ============
//
// Purpose:
//
// $NoKeywords: $
//=============================================================================
#pragma once
#if !defined ( EV_HLDMH )
#define EV_HLDMH
// bullet types
typedef enum
{
BULLET_NONE = 0,
BULLET_PLAYER_9MM, // glock
BULLET_PLAYER_MP5, // mp5
BULLET_PLAYER_357, // python
BULLET_PLAYER_SHOTGUN, // shotgun
BULLET_PLAYER_CROWBAR, // crowbar swipe
BULLET_PLAYER_KNIFE, // knife swipe
BULLET_PLAYER_SWORDCANE, // swordcane swipe
BULLET_PLAYER_REVOLVER, // revolver shot
BULLET_PLAYER_TOMMYGUN, // tommy gun burst
BULLET_PLAYER_RIFLE, // rifle shot
BULLET_MONSTER_9MM,
BULLET_MONSTER_MP5,
BULLET_MONSTER_12MM
}Bullet;
/*
enum glock_e
{
GLOCK_IDLE1 = 0,
GLOCK_IDLE2,
GLOCK_IDLE3,
GLOCK_SHOOT,
GLOCK_SHOOT_EMPTY,
GLOCK_RELOAD,
GLOCK_RELOAD_NOT_EMPTY,
GLOCK_DRAW,
GLOCK_HOLSTER,
GLOCK_ADD_SILENCER
};
*/
enum revolver_e
{
REVOLVER_IDLE1 = 0,
REVOLVER_FIDGET1,
REVOLVER_FIRE,
REVOLVER_RELOAD,
REVOLVER_HOLSTER,
REVOLVER_DRAW,
REVOLVER_IDLE2,
REVOLVER_IDLE3,
REVOLVER_QUICKFIRE_READY,
REVOLVER_QUICKFIRE_SHOOT,
REVOLVER_QUICKFIRE_RELAX
};
enum shotgun_e
{
SHOTGUN_IDLE = 0,
SHOTGUN_FIRE,
SHOTGUN_FIRE2,
SHOTGUN_RELOAD,
SHOTGUN_PUMP,
SHOTGUN_START_RELOAD,
SHOTGUN_DRAW,
SHOTGUN_HOLSTER,
SHOTGUN_IDLE4,
SHOTGUN_IDLE_DEEP
};
enum rifle_e
{
RIFLE_IDLE1 = 0,
RIFLE_FIRE1,
RIFLE_RELOAD,
RIFLE_CLOSEBREAK,
RIFLE_BREAK,
RIFLE_DRAW,
RIFLE_HOLSTER
};
enum tommygun_e
{
TOMMYGUN_IDLE = 0,
TOMMYGUN_RELOAD,
TOMMYGUN_DRAW,
TOMMYGUN_FIRE1,
TOMMYGUN_FIRE2,
TOMMYGUN_EMPTY_IDLE
};
enum LightningGun_e
{
LIGHTNING_GUN_IDLE = 0,
LIGHTNING_GUN_DRAW,
LIGHTNING_GUN_HOLSTER,
LIGHTNING_GUN_ZAP
};
#define LIGHTNING_PRIMARY_CHARGE_VOLUME 256// how loud lightning is while charging
#define LIGHTNING_PRIMARY_FIRE_VOLUME 450// how loud lightning is when discharged
/*
enum mp5_e
{
MP5_LONGIDLE = 0,
MP5_IDLE1,
MP5_LAUNCH,
MP5_RELOAD,
MP5_DEPLOY,
MP5_FIRE1,
MP5_FIRE2,
MP5_FIRE3
};
enum python_e
{
PYTHON_IDLE1 = 0,
PYTHON_FIDGET,
PYTHON_FIRE1,
PYTHON_RELOAD,
PYTHON_HOLSTER,
PYTHON_DRAW,
PYTHON_IDLE2,
PYTHON_IDLE3
};
#define GAUSS_PRIMARY_CHARGE_VOLUME 256// how loud gauss is while charging
#define GAUSS_PRIMARY_FIRE_VOLUME 450// how loud gauss is when discharged
enum gauss_e
{
GAUSS_IDLE = 0,
GAUSS_IDLE2,
GAUSS_FIDGET,
GAUSS_SPINUP,
GAUSS_SPIN,
GAUSS_FIRE,
GAUSS_FIRE2,
GAUSS_HOLSTER,
GAUSS_DRAW
};
*/
void EV_HLDM_GunshotDecalTrace( pmtrace_t *pTrace, char *decalName );
void EV_HLDM_DecalGunshot( pmtrace_t *pTrace, int iBulletType );
int EV_HLDM_CheckTracer( int idx, float *vecSrc, float *end, float *forward, float *right, int iBulletType, int iTracerFreq, int *tracerCount );
void EV_HLDM_FireBullets( int idx, float *forward, float *right, float *up, int cShots, float *vecSrc, float *vecDirShooting, float flDistance, int iBulletType, int iTracerFreq, int *tracerCount, float flSpreadX, float flSpreadY );
#endif // EV_HLDMH