mirror of
https://github.com/s1lentq/ReGameDLL_CS.git
synced 2025-02-10 13:58:47 +03:00
Add new trace flags (#813)
This commit is contained in:
parent
d2ea0d342f
commit
dce06e91c2
@ -96,6 +96,11 @@
|
|||||||
// Goes into globalvars_t.trace_flags
|
// Goes into globalvars_t.trace_flags
|
||||||
#define FTRACE_SIMPLEBOX BIT(0) // Traceline with a simple box
|
#define FTRACE_SIMPLEBOX BIT(0) // Traceline with a simple box
|
||||||
|
|
||||||
|
// Custom flags that we can retrive in pfnShouldCollide
|
||||||
|
// Starting from BIT(16) to reserve space for more flags for Engine
|
||||||
|
#define FTRACE_BULLET BIT(16)
|
||||||
|
#define FTRACE_FLASH BIT(17)
|
||||||
|
|
||||||
// walkmove modes
|
// walkmove modes
|
||||||
#define WALKMOVE_NORMAL 0 // normal walkmove
|
#define WALKMOVE_NORMAL 0 // normal walkmove
|
||||||
#define WALKMOVE_WORLDONLY 1 // doesn't hit ANY entities, no matter what the solid type
|
#define WALKMOVE_WORLDONLY 1 // doesn't hit ANY entities, no matter what the solid type
|
||||||
|
@ -1039,6 +1039,9 @@ void CBaseEntity::__API_HOOK(FireBullets)(ULONG cShots, VectorRef vecSrc, Vector
|
|||||||
vecDir = vecDirShooting + x * vecSpread.x * vecRight + y * vecSpread.y * vecUp;
|
vecDir = vecDirShooting + x * vecSpread.x * vecRight + y * vecSpread.y * vecUp;
|
||||||
vecEnd = vecSrc + vecDir * flDistance;
|
vecEnd = vecSrc + vecDir * flDistance;
|
||||||
|
|
||||||
|
#ifdef REGAMEDLL_ADD
|
||||||
|
gpGlobals->trace_flags = FTRACE_BULLET;
|
||||||
|
#endif
|
||||||
UTIL_TraceLine(vecSrc, vecEnd, dont_ignore_monsters, ENT(pev), &tr);
|
UTIL_TraceLine(vecSrc, vecEnd, dont_ignore_monsters, ENT(pev), &tr);
|
||||||
tracer = 0;
|
tracer = 0;
|
||||||
|
|
||||||
@ -1182,6 +1185,9 @@ void CBaseEntity::__API_HOOK(FireBuckshots)(ULONG cShots, VectorRef vecSrc, Vect
|
|||||||
vecDir = vecDirShooting + x * vecSpread.x * vecRight + y * vecSpread.y * vecUp;
|
vecDir = vecDirShooting + x * vecSpread.x * vecRight + y * vecSpread.y * vecUp;
|
||||||
vecEnd = vecSrc + vecDir * flDistance;
|
vecEnd = vecSrc + vecDir * flDistance;
|
||||||
|
|
||||||
|
#ifdef REGAMEDLL_ADD
|
||||||
|
gpGlobals->trace_flags = FTRACE_BULLET;
|
||||||
|
#endif
|
||||||
UTIL_TraceLine(vecSrc, vecEnd, dont_ignore_monsters, ENT(pev), &tr);
|
UTIL_TraceLine(vecSrc, vecEnd, dont_ignore_monsters, ENT(pev), &tr);
|
||||||
tracer = 0;
|
tracer = 0;
|
||||||
|
|
||||||
@ -1337,6 +1343,10 @@ VectorRef CBaseEntity::__API_HOOK(FireBullets3)(VectorRef vecSrc, VectorRef vecD
|
|||||||
while (iPenetration != 0)
|
while (iPenetration != 0)
|
||||||
{
|
{
|
||||||
ClearMultiDamage();
|
ClearMultiDamage();
|
||||||
|
|
||||||
|
#ifdef REGAMEDLL_ADD
|
||||||
|
gpGlobals->trace_flags = FTRACE_BULLET;
|
||||||
|
#endif
|
||||||
UTIL_TraceLine(vecSrc, vecEnd, dont_ignore_monsters, ENT(pev), &tr);
|
UTIL_TraceLine(vecSrc, vecEnd, dont_ignore_monsters, ENT(pev), &tr);
|
||||||
|
|
||||||
if (TheBots && tr.flFraction != 1.0f)
|
if (TheBots && tr.flFraction != 1.0f)
|
||||||
|
@ -26,6 +26,9 @@ void PlayerBlind(CBasePlayer *pPlayer, entvars_t *pevInflictor, entvars_t *pevAt
|
|||||||
|
|
||||||
void RadiusFlash_TraceLine_hook(CBasePlayer *pPlayer, entvars_t *pevInflictor, entvars_t *pevAttacker, Vector &vecSrc, Vector &vecSpot, TraceResult *tr)
|
void RadiusFlash_TraceLine_hook(CBasePlayer *pPlayer, entvars_t *pevInflictor, entvars_t *pevAttacker, Vector &vecSrc, Vector &vecSpot, TraceResult *tr)
|
||||||
{
|
{
|
||||||
|
#ifdef REGAMEDLL_ADD
|
||||||
|
gpGlobals->trace_flags = FTRACE_FLASH;
|
||||||
|
#endif
|
||||||
UTIL_TraceLine(vecSrc, vecSpot, dont_ignore_monsters, ENT(pevInflictor), tr);
|
UTIL_TraceLine(vecSrc, vecSpot, dont_ignore_monsters, ENT(pevInflictor), tr);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user