Portable Half-Life SDK. GoldSource and Xash3D. Crossplatform.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

157 lines
3.3 KiB

//========= 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_BUCKSHOT, // shotgun
BULLET_PLAYER_BUCKSHOT_DOUBLE, // modif de Julien
BULLET_PLAYER_CROWBAR, // crowbar swipe
BULLET_MONSTER_9MM,
BULLET_MONSTER_MP5,
BULLET_MONSTER_12MM,
//modif de Julien
BULLET_PLAYER_M16,
BULLET_PLAYER_SNIPER,
BULLET_PLAYER_IRGUN,
}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 shotgun_e
{
SHOTGUN_IDLE = 0,
SHOTGUN_IDLE_DEEP,
SHOTGUN_DRAW,
SHOTGUN_FIRE,
SHOTGUN_FIRE2,
SHOTGUN_START_RELOAD,
SHOTGUN_RELOAD,
SHOTGUN_PUMP
};
enum mp5_e
{
MP5_LONGIDLE = 0,
MP5_IDLE1,
MP5_LAUNCH,
MP5_RELOAD,
MP5_DEPLOY,
MP5_FIRE1,
MP5_FIRE2,
MP5_FIRE3
};
//modif de Julien
enum m16_e
{
M16_LONGIDLE = 0,
M16_IDLE1,
M16_RELOAD,
M16_DEPLOY,
M16_FIRE1,
};
//modif de Julien
enum fsniper_e
{
FSNIPER_LONGIDLE = 0,
FSNIPER_IDLE1,
FSNIPER_RELOAD,
FSNIPER_DEPLOY,
FSNIPER_FIRE1,
FSNIPER_FIDGET,
};
// modif de Julien
enum irgun_e {
IRGUN_FIDGET = 0,
IRGUN_RELOAD_EMPTY,
IRGUN_IDLE1,
IRGUN_DRAW,
IRGUN_FIRE1,
IRGUN_IDLE_IR,
IRGUN_FIRE_EMPTY,
IRGUN_RELOAD
};
//modif de Julien
enum python_e
{
/*
PYTHON_IDLE1 = 0,
PYTHON_FIDGET,
PYTHON_FIRE1,
PYTHON_RELOAD,
PYTHON_HOLSTER,
PYTHON_DRAW,
PYTHON_IDLE2,
PYTHON_IDLE3
*/
PYTHON_DRAW = 0,
PYTHON_IDLE1,
PYTHON_IDLE2,
PYTHON_IDLE3,
PYTHON_FIRE1,
PYTHON_FIRE_EMPTY,
PYTHON_RELOAD_EMPTY,
PYTHON_RELOAD
};
#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, int iTraverseMur = 0 );
void EV_HLDM_FireBulletsVect( int idx, float *forward, float *right, float *up, int cShots, float *vecSrc, float *vecDirShooting, float *vecSpread, float flDistance, int iBulletType, int iTracerFreq, int *tracerCount, int iTraverseMur = 0 ){ //Julien's code uses old version of this function that took vector definitions like this, so we need to convert the Vector vec3_t into floats. This way we can keep using definitions, modif de Roy
float flSpreadX = vecSpread[0];
float flSpreadY = vecSpread[1];
return EV_HLDM_FireBullets(idx,forward,right,up,cShots,vecSrc,vecDirShooting,flDistance,iBulletType,iTracerFreq,tracerCount,flSpreadX,flSpreadY,iTraverseMur);
}
#endif // EV_HLDMH