mirror of
https://github.com/s1lentq/ReGameDLL_CS.git
synced 2025-03-03 17:25:24 +03:00
WIP: a new batch of reverse functions
This commit is contained in:
parent
5bf6b21649
commit
d4cf69b587
@ -188,7 +188,7 @@ class RegamedllSrc {
|
|||||||
h.regamedll_src(CppSourceSet) {
|
h.regamedll_src(CppSourceSet) {
|
||||||
|
|
||||||
source {
|
source {
|
||||||
srcDirs "dlls", "game_shared", "pm_shared", "regamedll", "public", "version"
|
srcDirs "engine", "dlls", "game_shared", "pm_shared", "regamedll", "public", "version"
|
||||||
if (GradleCppUtils.windows) {
|
if (GradleCppUtils.windows) {
|
||||||
srcDirs "testsuite"
|
srcDirs "testsuite"
|
||||||
}
|
}
|
||||||
|
@ -32,6 +32,19 @@
|
|||||||
#pragma once
|
#pragma once
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#ifdef HOOK_GAMEDLL
|
||||||
|
|
||||||
|
// probably gamedll compiled with flag /fpmath:fasted,
|
||||||
|
// so we need to use type double, otherwise will be the test failed
|
||||||
|
|
||||||
|
typedef double float_precision;
|
||||||
|
|
||||||
|
#else // HOOK_GAMEDLL
|
||||||
|
|
||||||
|
typedef float float_precision;
|
||||||
|
|
||||||
|
#endif // HOOK_GAMEDLL
|
||||||
|
|
||||||
/* <42b7f> ../common/mathlib.h:3 */
|
/* <42b7f> ../common/mathlib.h:3 */
|
||||||
typedef float vec_t;
|
typedef float vec_t;
|
||||||
|
|
||||||
@ -54,12 +67,20 @@ typedef union DLONG_u
|
|||||||
|
|
||||||
#define M_PI 3.14159265358979323846
|
#define M_PI 3.14159265358979323846
|
||||||
|
|
||||||
#ifndef max
|
//#ifndef max
|
||||||
#define max(a,b) (((a) > (b)) ? (a) : (b))
|
//#define max(a,b) (((a) > (b)) ? (a) : (b))
|
||||||
|
//#endif
|
||||||
|
//
|
||||||
|
//#ifndef min
|
||||||
|
//#define min(a,b) (((a) < (b)) ? (a) : (b))
|
||||||
|
//#endif
|
||||||
|
|
||||||
|
#ifndef _max
|
||||||
|
#define _max(a,b) (((a) > (b)) ? (a) : (b))
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifndef min
|
#ifndef _min
|
||||||
#define min(a,b) (((a) < (b)) ? (a) : (b))
|
#define _min(a,b) (((a) < (b)) ? (a) : (b))
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#define clamp(val, min, max) (((val) > (max)) ? (max) : (((val) < (min)) ? (min) : (val)))
|
#define clamp(val, min, max) (((val) > (max)) ? (max) : (((val) < (min)) ? (min) : (val)))
|
||||||
|
@ -140,13 +140,16 @@ typedef enum
|
|||||||
ACT_WAVE,
|
ACT_WAVE,
|
||||||
ACT_YES,
|
ACT_YES,
|
||||||
ACT_NO,
|
ACT_NO,
|
||||||
|
|
||||||
} Activity;
|
} Activity;
|
||||||
|
|
||||||
typedef struct
|
typedef struct
|
||||||
{
|
{
|
||||||
int type;
|
int type;
|
||||||
char *name;
|
char *name;
|
||||||
|
|
||||||
} activity_map_t;
|
} activity_map_t;
|
||||||
|
/* size: 8, cachelines: 1, members: 2 */
|
||||||
|
|
||||||
extern activity_map_t activity_map[];
|
extern activity_map_t activity_map[];
|
||||||
|
|
||||||
|
@ -16,12 +16,6 @@ TYPEDESCRIPTION (*CAirtank::pm_SaveData)[1];
|
|||||||
|
|
||||||
#endif // HOOK_GAMEDLL
|
#endif // HOOK_GAMEDLL
|
||||||
|
|
||||||
/* <4fc9> ../cstrike/dlls/airtank.cpp:29 */
|
|
||||||
int CAirtank::BloodColor_(void)
|
|
||||||
{
|
|
||||||
return DONT_BLEED;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* <5329> ../cstrike/dlls/airtank.cpp:41 */
|
/* <5329> ../cstrike/dlls/airtank.cpp:41 */
|
||||||
LINK_ENTITY_TO_CLASS(item_airtank, CAirtank);
|
LINK_ENTITY_TO_CLASS(item_airtank, CAirtank);
|
||||||
|
|
||||||
@ -29,48 +23,77 @@ LINK_ENTITY_TO_CLASS(item_airtank, CAirtank);
|
|||||||
IMPLEMENT_SAVERESTORE(CAirtank, CGrenade);
|
IMPLEMENT_SAVERESTORE(CAirtank, CGrenade);
|
||||||
|
|
||||||
/* <50dd> ../cstrike/dlls/airtank.cpp:50 */
|
/* <50dd> ../cstrike/dlls/airtank.cpp:50 */
|
||||||
void CAirtank::Spawn_(void)
|
void CAirtank::__MAKE_VHOOK(Spawn)(void)
|
||||||
{
|
{
|
||||||
// Vector(Vector::Spawn(// float X,
|
Precache();
|
||||||
// float Y,
|
|
||||||
// float Z); // 58
|
// motor
|
||||||
// Vector(Vector *const this,
|
pev->movetype = MOVETYPE_FLY;
|
||||||
// float X,
|
pev->solid = SOLID_BBOX;
|
||||||
// float Y,
|
|
||||||
// float Z); // 58
|
SET_MODEL(ENT(pev), "models/w_oxygen.mdl");
|
||||||
|
UTIL_SetSize(pev, Vector(-16, -16, 0), Vector(16, 16, 36));
|
||||||
|
UTIL_SetOrigin(pev, pev->origin);
|
||||||
|
|
||||||
|
SetTouch(&CAirtank::TankTouch);
|
||||||
|
SetThink(&CAirtank::TankThink);
|
||||||
|
|
||||||
|
pev->flags |= FL_MONSTER;
|
||||||
|
pev->takedamage = DAMAGE_YES;
|
||||||
|
pev->health = 20;
|
||||||
|
pev->dmg = 50;
|
||||||
|
m_state = 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* <4fef> ../cstrike/dlls/airtank.cpp:71 */
|
/* <4fef> ../cstrike/dlls/airtank.cpp:71 */
|
||||||
void CAirtank::Precache_(void)
|
void CAirtank::__MAKE_VHOOK(Precache)(void)
|
||||||
{
|
{
|
||||||
|
PRECACHE_MODEL("models/w_oxygen.mdl");
|
||||||
|
PRECACHE_SOUND("doors/aliendoor3.wav");
|
||||||
}
|
}
|
||||||
|
|
||||||
/* <503d> ../cstrike/dlls/airtank.cpp:78 */
|
/* <503d> ../cstrike/dlls/airtank.cpp:78 */
|
||||||
void CAirtank::Killed_(entvars_t *pevAttacker, int iGib)
|
void CAirtank::__MAKE_VHOOK(Killed)(entvars_t *pevAttacker, int iGib)
|
||||||
{
|
{
|
||||||
// Vector(Vector *const this,
|
pev->owner = ENT(pevAttacker);
|
||||||
// float X,
|
|
||||||
// float Y,
|
// UNDONE: this should make a big bubble cloud, not an explosion
|
||||||
// float Z); // 84
|
Explode(pev->origin, Vector(0, 0, -1));
|
||||||
// Vector(Vector *const this,
|
|
||||||
// const Vector &v); // 84
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/* <5016> ../cstrike/dlls/airtank.cpp:88 */
|
/* <5016> ../cstrike/dlls/airtank.cpp:88 */
|
||||||
void CAirtank::TankThink(void)
|
void CAirtank::TankThink(void)
|
||||||
{
|
{
|
||||||
|
// Fire trigger
|
||||||
|
m_state = 1;
|
||||||
|
SUB_UseTargets(this, USE_TOGGLE, 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* <525d> ../cstrike/dlls/airtank.cpp:96 */
|
/* <525d> ../cstrike/dlls/airtank.cpp:96 */
|
||||||
void CAirtank::TankTouch(CBaseEntity *pOther)
|
void CAirtank::TankTouch(CBaseEntity *pOther)
|
||||||
{
|
{
|
||||||
// TankTouch(CAirtank *const this,
|
if (!pOther->IsPlayer())
|
||||||
// class CBaseEntity *pOther); // 96
|
{
|
||||||
// EMIT_SOUND(edict_t *entity,
|
return;
|
||||||
// int channel,
|
}
|
||||||
// const char *sample,
|
|
||||||
// float volume,
|
if (!m_state)
|
||||||
// float attenuation); // 104
|
{
|
||||||
|
// "no oxygen" sound
|
||||||
|
EMIT_SOUND(ENT(pev), CHAN_BODY, "player/pl_swim2.wav", VOL_NORM, ATTN_NORM);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
// give player 12 more seconds of air
|
||||||
|
pOther->pev->air_finished = gpGlobals->time + 12;
|
||||||
|
|
||||||
|
// suit recharge sound
|
||||||
|
EMIT_SOUND(ENT(pev), CHAN_VOICE, "doors/aliendoor3.wav", VOL_NORM, ATTN_NORM);
|
||||||
|
|
||||||
|
// recharge airtank in 30 seconds
|
||||||
|
pev->nextthink = gpGlobals->time + 30;
|
||||||
|
m_state = 0;
|
||||||
|
SUB_UseTargets(this, USE_TOGGLE, 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef HOOK_GAMEDLL
|
#ifdef HOOK_GAMEDLL
|
||||||
@ -100,9 +123,4 @@ void CAirtank::Killed(entvars_t *pevAttacker, int iGib)
|
|||||||
Killed_(pevAttacker, iGib);
|
Killed_(pevAttacker, iGib);
|
||||||
}
|
}
|
||||||
|
|
||||||
int CAirtank::BloodColor(void)
|
|
||||||
{
|
|
||||||
return BloodColor_();
|
|
||||||
}
|
|
||||||
|
|
||||||
#endif // HOOK_GAMEDLL
|
#endif // HOOK_GAMEDLL
|
||||||
|
@ -42,19 +42,25 @@ public:
|
|||||||
virtual int Save(CSave &save);
|
virtual int Save(CSave &save);
|
||||||
virtual int Restore(CRestore &restore);
|
virtual int Restore(CRestore &restore);
|
||||||
virtual void Killed(entvars_t *pevAttacker, int iGib);
|
virtual void Killed(entvars_t *pevAttacker, int iGib);
|
||||||
virtual int BloodColor(void);
|
virtual int BloodColor(void)
|
||||||
|
{
|
||||||
|
return BloodColor_();
|
||||||
|
}
|
||||||
public:
|
public:
|
||||||
void EXPORT TankThink(void);
|
void EXPORT TankThink(void);
|
||||||
void EXPORT TankTouch(CBaseEntity *pOther);
|
void EXPORT TankTouch(CBaseEntity *pOther);
|
||||||
|
|
||||||
#ifdef HOOK_GAMEDLL
|
#ifdef HOOK_GAMEDLL
|
||||||
|
|
||||||
NOBODY void Spawn_(void);
|
void Spawn_(void);
|
||||||
NOBODY void Precache_(void);
|
void Precache_(void);
|
||||||
NOBODY int Save_(CSave &save);
|
int Save_(CSave &save);
|
||||||
NOBODY int Restore_(CRestore &restore);
|
int Restore_(CRestore &restore);
|
||||||
NOBODY void Killed_(entvars_t *pevAttacker, int iGib);
|
void Killed_(entvars_t *pevAttacker, int iGib);
|
||||||
NOBODY int BloodColor_(void);
|
int BloodColor_(void)
|
||||||
|
{
|
||||||
|
return DONT_BLEED;
|
||||||
|
}
|
||||||
|
|
||||||
#endif // HOOK_GAMEDLL
|
#endif // HOOK_GAMEDLL
|
||||||
|
|
||||||
@ -66,6 +72,6 @@ private:
|
|||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
//NOBODY void item_airtank(entvars_t *pev);
|
C_DLLEXPORT void item_airtank(entvars_t *pev);
|
||||||
|
|
||||||
#endif // AIRTANK_H
|
#endif // AIRTANK_H
|
||||||
|
@ -1,212 +1,302 @@
|
|||||||
#include "precompiled.h"
|
#include "precompiled.h"
|
||||||
|
|
||||||
/* <a6c7> ../cstrike/dlls/ammo.cpp:16 */
|
/* <a6c7> ../cstrike/dlls/ammo.cpp:16 */
|
||||||
void C9MMAmmo::Spawn_(void)
|
void C9MMAmmo::__MAKE_VHOOK(Spawn)(void)
|
||||||
{
|
{
|
||||||
|
Precache();
|
||||||
|
SET_MODEL(ENT(pev), "models/w_9mmclip.mdl");
|
||||||
|
CBasePlayerAmmo::Spawn();
|
||||||
}
|
}
|
||||||
|
|
||||||
/* <a3e2> ../cstrike/dlls/ammo.cpp:22 */
|
/* <a3e2> ../cstrike/dlls/ammo.cpp:22 */
|
||||||
void C9MMAmmo::Precache_(void)
|
void C9MMAmmo::__MAKE_VHOOK(Precache)(void)
|
||||||
{
|
{
|
||||||
|
PRECACHE_MODEL("models/w_9mmclip.mdl");
|
||||||
|
PRECACHE_SOUND("items/9mmclip1.wav");
|
||||||
}
|
}
|
||||||
|
|
||||||
/* <a861> ../cstrike/dlls/ammo.cpp:27 */
|
/* <a861> ../cstrike/dlls/ammo.cpp:27 */
|
||||||
BOOL C9MMAmmo::AddAmmo_(CBaseEntity *pOther)
|
BOOL C9MMAmmo::__MAKE_VHOOK(AddAmmo)(CBaseEntity *pOther)
|
||||||
|
{
|
||||||
|
if (pOther->GiveAmmo(AMMO_9MM_BUY, "9mm", MAX_AMMO_9MM) == -1)
|
||||||
{
|
{
|
||||||
// AddAmmo(C9MMAmmo *const this,
|
|
||||||
// class CBaseEntity *pOther); // 27
|
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
EMIT_SOUND(ENT(pev), CHAN_ITEM, "items/9mmclip1.wav", VOL_NORM, ATTN_NORM);
|
||||||
|
return TRUE;
|
||||||
|
}
|
||||||
|
|
||||||
/* <ace9> ../cstrike/dlls/ammo.cpp:37 */
|
/* <ace9> ../cstrike/dlls/ammo.cpp:37 */
|
||||||
LINK_ENTITY_TO_CLASS(ammo_9mm, C9MMAmmo);
|
LINK_ENTITY_TO_CLASS(ammo_9mm, C9MMAmmo);
|
||||||
|
|
||||||
/* <a6a0> ../cstrike/dlls/ammo.cpp:42 */
|
/* <a6a0> ../cstrike/dlls/ammo.cpp:42 */
|
||||||
void CBuckShotAmmo::Spawn_(void)
|
void CBuckShotAmmo::__MAKE_VHOOK(Spawn)(void)
|
||||||
{
|
{
|
||||||
|
Precache();
|
||||||
|
SET_MODEL(ENT(pev), "models/w_shotbox.mdl");
|
||||||
|
CBasePlayerAmmo::Spawn();
|
||||||
}
|
}
|
||||||
|
|
||||||
/* <a409> ../cstrike/dlls/ammo.cpp:48 */
|
/* <a409> ../cstrike/dlls/ammo.cpp:48 */
|
||||||
void CBuckShotAmmo::Precache_(void)
|
void CBuckShotAmmo::__MAKE_VHOOK(Precache)(void)
|
||||||
{
|
{
|
||||||
|
PRECACHE_MODEL("models/w_shotbox.mdl");
|
||||||
|
PRECACHE_SOUND("items/9mmclip1.wav");
|
||||||
}
|
}
|
||||||
|
|
||||||
/* <a7d0> ../cstrike/dlls/ammo.cpp:53 */
|
/* <a7d0> ../cstrike/dlls/ammo.cpp:53 */
|
||||||
BOOL CBuckShotAmmo::AddAmmo_(CBaseEntity *pOther)
|
BOOL CBuckShotAmmo::__MAKE_VHOOK(AddAmmo)(CBaseEntity *pOther)
|
||||||
|
{
|
||||||
|
if (pOther->GiveAmmo(AMMO_BUCKSHOT_BUY, "buckshot", MAX_AMMO_BUCKSHOT) == -1)
|
||||||
{
|
{
|
||||||
// AddAmmo(CBuckShotAmmo *const this,
|
|
||||||
// class CBaseEntity *pOther); // 53
|
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
EMIT_SOUND(ENT(pev), CHAN_ITEM, "items/9mmclip1.wav", VOL_NORM, ATTN_NORM);
|
||||||
|
return TRUE;
|
||||||
|
}
|
||||||
|
|
||||||
/* <adb3> ../cstrike/dlls/ammo.cpp:63 */
|
/* <adb3> ../cstrike/dlls/ammo.cpp:63 */
|
||||||
LINK_ENTITY_TO_CLASS(ammo_buckshot, CBuckShotAmmo);
|
LINK_ENTITY_TO_CLASS(ammo_buckshot, CBuckShotAmmo);
|
||||||
|
|
||||||
/* <a679> ../cstrike/dlls/ammo.cpp:69 */
|
/* <a679> ../cstrike/dlls/ammo.cpp:69 */
|
||||||
void C556NatoAmmo::Spawn_(void)
|
void C556NatoAmmo::__MAKE_VHOOK(Spawn)(void)
|
||||||
{
|
{
|
||||||
|
Precache();
|
||||||
|
SET_MODEL(ENT(pev), "models/w_9mmclip.mdl");
|
||||||
|
CBasePlayerAmmo::Spawn();
|
||||||
}
|
}
|
||||||
|
|
||||||
/* <a430> ../cstrike/dlls/ammo.cpp:75 */
|
/* <a430> ../cstrike/dlls/ammo.cpp:75 */
|
||||||
void C556NatoAmmo::Precache_(void)
|
void C556NatoAmmo::__MAKE_VHOOK(Precache)(void)
|
||||||
{
|
{
|
||||||
|
PRECACHE_MODEL("models/w_9mmclip.mdl");
|
||||||
|
PRECACHE_SOUND("items/9mmclip1.wav");
|
||||||
}
|
}
|
||||||
|
|
||||||
/* <a8f2> ../cstrike/dlls/ammo.cpp:80 */
|
/* <a8f2> ../cstrike/dlls/ammo.cpp:80 */
|
||||||
BOOL C556NatoAmmo::AddAmmo_(CBaseEntity *pOther)
|
BOOL C556NatoAmmo::__MAKE_VHOOK(AddAmmo)(CBaseEntity *pOther)
|
||||||
|
{
|
||||||
|
if (pOther->GiveAmmo(AMMO_556NATO_BUY, "556Nato", MAX_AMMO_556NATO) == -1)
|
||||||
{
|
{
|
||||||
// AddAmmo(C556NatoAmmo *const this,
|
|
||||||
// class CBaseEntity *pOther); // 80
|
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
EMIT_SOUND(ENT(pev), CHAN_ITEM, "items/9mmclip1.wav", VOL_NORM, ATTN_NORM);
|
||||||
|
return TRUE;
|
||||||
|
}
|
||||||
|
|
||||||
/* <ae7d> ../cstrike/dlls/ammo.cpp:90 */
|
/* <ae7d> ../cstrike/dlls/ammo.cpp:90 */
|
||||||
LINK_ENTITY_TO_CLASS(ammo_556nato, C556NatoAmmo);
|
LINK_ENTITY_TO_CLASS(ammo_556nato, C556NatoAmmo);
|
||||||
|
|
||||||
/* <a652> ../cstrike/dlls/ammo.cpp:95 */
|
/* <a652> ../cstrike/dlls/ammo.cpp:95 */
|
||||||
void C556NatoBoxAmmo::Spawn_(void)
|
void C556NatoBoxAmmo::__MAKE_VHOOK(Spawn)(void)
|
||||||
{
|
{
|
||||||
|
Precache();
|
||||||
|
SET_MODEL(ENT(pev), "models/w_9mmclip.mdl");
|
||||||
|
CBasePlayerAmmo::Spawn();
|
||||||
}
|
}
|
||||||
|
|
||||||
/* <a457> ../cstrike/dlls/ammo.cpp:101 */
|
/* <a457> ../cstrike/dlls/ammo.cpp:101 */
|
||||||
void C556NatoBoxAmmo::Precache_(void)
|
void C556NatoBoxAmmo::__MAKE_VHOOK(Precache)(void)
|
||||||
{
|
{
|
||||||
|
PRECACHE_MODEL("models/w_9mmclip.mdl");
|
||||||
|
PRECACHE_SOUND("items/9mmclip1.wav");
|
||||||
}
|
}
|
||||||
|
|
||||||
/* <a983> ../cstrike/dlls/ammo.cpp:106 */
|
/* <a983> ../cstrike/dlls/ammo.cpp:106 */
|
||||||
BOOL C556NatoBoxAmmo::AddAmmo_(CBaseEntity *pOther)
|
BOOL C556NatoBoxAmmo::__MAKE_VHOOK(AddAmmo)(CBaseEntity *pOther)
|
||||||
|
{
|
||||||
|
if (pOther->GiveAmmo(AMMO_556NATOBOX_BUY, "556NatoBox", MAX_AMMO_556NATOBOX) == -1)
|
||||||
{
|
{
|
||||||
// AddAmmo(C556NatoBoxAmmo *const this,
|
|
||||||
// class CBaseEntity *pOther); // 106
|
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
EMIT_SOUND(ENT(pev), CHAN_ITEM, "items/9mmclip1.wav", VOL_NORM, ATTN_NORM);
|
||||||
|
return TRUE;
|
||||||
|
}
|
||||||
|
|
||||||
/* <af47> ../cstrike/dlls/ammo.cpp:116 */
|
/* <af47> ../cstrike/dlls/ammo.cpp:116 */
|
||||||
LINK_ENTITY_TO_CLASS(ammo_556natobox, C556NatoBoxAmmo);
|
LINK_ENTITY_TO_CLASS(ammo_556natobox, C556NatoBoxAmmo);
|
||||||
|
|
||||||
/* <a62b> ../cstrike/dlls/ammo.cpp:121 */
|
/* <a62b> ../cstrike/dlls/ammo.cpp:121 */
|
||||||
void C762NatoAmmo::Spawn_(void)
|
void C762NatoAmmo::__MAKE_VHOOK(Spawn)(void)
|
||||||
{
|
{
|
||||||
|
Precache();
|
||||||
|
SET_MODEL(ENT(pev), "models/w_9mmclip.mdl");
|
||||||
|
CBasePlayerAmmo::Spawn();
|
||||||
}
|
}
|
||||||
|
|
||||||
/* <a47e> ../cstrike/dlls/ammo.cpp:127 */
|
/* <a47e> ../cstrike/dlls/ammo.cpp:127 */
|
||||||
void C762NatoAmmo::Precache_(void)
|
void C762NatoAmmo::__MAKE_VHOOK(Precache)(void)
|
||||||
{
|
{
|
||||||
|
PRECACHE_MODEL("models/w_9mmclip.mdl");
|
||||||
|
PRECACHE_SOUND("items/9mmclip1.wav");
|
||||||
}
|
}
|
||||||
|
|
||||||
/* <aa14> ../cstrike/dlls/ammo.cpp:132 */
|
/* <aa14> ../cstrike/dlls/ammo.cpp:132 */
|
||||||
BOOL C762NatoAmmo::AddAmmo_(CBaseEntity *pOther)
|
BOOL C762NatoAmmo::__MAKE_VHOOK(AddAmmo)(CBaseEntity *pOther)
|
||||||
|
{
|
||||||
|
if (pOther->GiveAmmo(AMMO_762NATO_BUY, "762Nato", MAX_AMMO_762NATO) == -1)
|
||||||
{
|
{
|
||||||
// AddAmmo(C762NatoAmmo *const this,
|
|
||||||
// class CBaseEntity *pOther); // 132
|
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
EMIT_SOUND(ENT(pev), CHAN_ITEM, "items/9mmclip1.wav", VOL_NORM, ATTN_NORM);
|
||||||
|
return TRUE;
|
||||||
|
}
|
||||||
|
|
||||||
/* <b011> ../cstrike/dlls/ammo.cpp:142 */
|
/* <b011> ../cstrike/dlls/ammo.cpp:142 */
|
||||||
LINK_ENTITY_TO_CLASS(ammo_762nato, C762NatoAmmo);
|
LINK_ENTITY_TO_CLASS(ammo_762nato, C762NatoAmmo);
|
||||||
|
|
||||||
/* <a604> ../cstrike/dlls/ammo.cpp:147 */
|
/* <a604> ../cstrike/dlls/ammo.cpp:147 */
|
||||||
void C45ACPAmmo::Spawn_(void)
|
void C45ACPAmmo::__MAKE_VHOOK(Spawn)(void)
|
||||||
{
|
{
|
||||||
|
Precache();
|
||||||
|
SET_MODEL(ENT(pev), "models/w_9mmclip.mdl");
|
||||||
|
CBasePlayerAmmo::Spawn();
|
||||||
}
|
}
|
||||||
|
|
||||||
/* <a4a5> ../cstrike/dlls/ammo.cpp:153 */
|
/* <a4a5> ../cstrike/dlls/ammo.cpp:153 */
|
||||||
void C45ACPAmmo::Precache_(void)
|
void C45ACPAmmo::__MAKE_VHOOK(Precache)(void)
|
||||||
{
|
{
|
||||||
|
PRECACHE_MODEL("models/w_9mmclip.mdl");
|
||||||
|
PRECACHE_SOUND("items/9mmclip1.wav");
|
||||||
}
|
}
|
||||||
|
|
||||||
/* <aaa5> ../cstrike/dlls/ammo.cpp:158 */
|
/* <aaa5> ../cstrike/dlls/ammo.cpp:158 */
|
||||||
BOOL C45ACPAmmo::AddAmmo_(CBaseEntity *pOther)
|
BOOL C45ACPAmmo::__MAKE_VHOOK(AddAmmo)(CBaseEntity *pOther)
|
||||||
|
{
|
||||||
|
if (pOther->GiveAmmo(AMMO_45ACP_BUY, "45acp", MAX_AMMO_45ACP) == -1)
|
||||||
{
|
{
|
||||||
// AddAmmo(C45ACPAmmo *const this,
|
|
||||||
// class CBaseEntity *pOther); // 158
|
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
EMIT_SOUND(ENT(pev), CHAN_ITEM, "items/9mmclip1.wav", VOL_NORM, ATTN_NORM);
|
||||||
|
return TRUE;
|
||||||
|
}
|
||||||
|
|
||||||
/* <b0db> ../cstrike/dlls/ammo.cpp:168 */
|
/* <b0db> ../cstrike/dlls/ammo.cpp:168 */
|
||||||
LINK_ENTITY_TO_CLASS(ammo_45acp, C45ACPAmmo);
|
LINK_ENTITY_TO_CLASS(ammo_45acp, C45ACPAmmo);
|
||||||
|
|
||||||
/* <a5dd> ../cstrike/dlls/ammo.cpp:173 */
|
/* <a5dd> ../cstrike/dlls/ammo.cpp:173 */
|
||||||
void C50AEAmmo::Spawn_(void)
|
void C50AEAmmo::__MAKE_VHOOK(Spawn)(void)
|
||||||
{
|
{
|
||||||
|
Precache();
|
||||||
|
SET_MODEL(ENT(pev), "models/w_9mmclip.mdl");
|
||||||
|
CBasePlayerAmmo::Spawn();
|
||||||
}
|
}
|
||||||
|
|
||||||
/* <a4cc> ../cstrike/dlls/ammo.cpp:179 */
|
/* <a4cc> ../cstrike/dlls/ammo.cpp:179 */
|
||||||
void C50AEAmmo::Precache_(void)
|
void C50AEAmmo::__MAKE_VHOOK(Precache)(void)
|
||||||
{
|
{
|
||||||
|
PRECACHE_MODEL("models/w_9mmclip.mdl");
|
||||||
|
PRECACHE_SOUND("items/9mmclip1.wav");
|
||||||
}
|
}
|
||||||
|
|
||||||
/* <ab36> ../cstrike/dlls/ammo.cpp:184 */
|
/* <ab36> ../cstrike/dlls/ammo.cpp:184 */
|
||||||
BOOL C50AEAmmo::AddAmmo_(CBaseEntity *pOther)
|
BOOL C50AEAmmo::__MAKE_VHOOK(AddAmmo)(CBaseEntity *pOther)
|
||||||
|
{
|
||||||
|
if (pOther->GiveAmmo(AMMO_50AE_BUY, "50AE", MAX_AMMO_50AE) == -1)
|
||||||
{
|
{
|
||||||
// AddAmmo(C50AEAmmo *const this,
|
|
||||||
// class CBaseEntity *pOther); // 184
|
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
EMIT_SOUND(ENT(pev), CHAN_ITEM, "items/9mmclip1.wav", VOL_NORM, ATTN_NORM);
|
||||||
|
return TRUE;
|
||||||
|
}
|
||||||
|
|
||||||
/* <b1a5> ../cstrike/dlls/ammo.cpp:194 */
|
/* <b1a5> ../cstrike/dlls/ammo.cpp:194 */
|
||||||
LINK_ENTITY_TO_CLASS(ammo_50ae, C50AEAmmo);
|
LINK_ENTITY_TO_CLASS(ammo_50ae, C50AEAmmo);
|
||||||
|
|
||||||
/* <a5b6> ../cstrike/dlls/ammo.cpp:199 */
|
/* <a5b6> ../cstrike/dlls/ammo.cpp:199 */
|
||||||
void C338MagnumAmmo::Spawn_(void)
|
void C338MagnumAmmo::__MAKE_VHOOK(Spawn)(void)
|
||||||
{
|
{
|
||||||
|
Precache();
|
||||||
|
SET_MODEL(ENT(pev), "models/w_9mmclip.mdl");
|
||||||
|
CBasePlayerAmmo::Spawn();
|
||||||
}
|
}
|
||||||
|
|
||||||
/* <a4f3> ../cstrike/dlls/ammo.cpp:205 */
|
/* <a4f3> ../cstrike/dlls/ammo.cpp:205 */
|
||||||
void C338MagnumAmmo::Precache_(void)
|
void C338MagnumAmmo::__MAKE_VHOOK(Precache)(void)
|
||||||
{
|
{
|
||||||
|
PRECACHE_MODEL("models/w_9mmclip.mdl");
|
||||||
|
PRECACHE_SOUND("items/9mmclip1.wav");
|
||||||
}
|
}
|
||||||
|
|
||||||
/* <abc7> ../cstrike/dlls/ammo.cpp:210 */
|
/* <abc7> ../cstrike/dlls/ammo.cpp:210 */
|
||||||
BOOL C338MagnumAmmo::AddAmmo_(CBaseEntity *pOther)
|
BOOL C338MagnumAmmo::__MAKE_VHOOK(AddAmmo)(CBaseEntity *pOther)
|
||||||
|
{
|
||||||
|
if (pOther->GiveAmmo(AMMO_338MAG_BUY, "338Magnum", MAX_AMMO_338MAGNUM) == -1)
|
||||||
{
|
{
|
||||||
// AddAmmo(C338MagnumAmmo *const this,
|
|
||||||
// class CBaseEntity *pOther); // 210
|
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
EMIT_SOUND(ENT(pev), CHAN_ITEM, "items/9mmclip1.wav", VOL_NORM, ATTN_NORM);
|
||||||
|
return TRUE;
|
||||||
|
}
|
||||||
|
|
||||||
/* <b26f> ../cstrike/dlls/ammo.cpp:220 */
|
/* <b26f> ../cstrike/dlls/ammo.cpp:220 */
|
||||||
LINK_ENTITY_TO_CLASS(ammo_338magnum, C338MagnumAmmo);
|
LINK_ENTITY_TO_CLASS(ammo_338magnum, C338MagnumAmmo);
|
||||||
|
|
||||||
/* <a58f> ../cstrike/dlls/ammo.cpp:226 */
|
/* <a58f> ../cstrike/dlls/ammo.cpp:226 */
|
||||||
void C57MMAmmo::Spawn_(void)
|
void C57MMAmmo::__MAKE_VHOOK(Spawn)(void)
|
||||||
{
|
{
|
||||||
|
Precache();
|
||||||
|
SET_MODEL(ENT(pev), "models/w_9mmclip.mdl");
|
||||||
|
CBasePlayerAmmo::Spawn();
|
||||||
}
|
}
|
||||||
|
|
||||||
/* <a51a> ../cstrike/dlls/ammo.cpp:232 */
|
/* <a51a> ../cstrike/dlls/ammo.cpp:232 */
|
||||||
void C57MMAmmo::Precache_(void)
|
void C57MMAmmo::__MAKE_VHOOK(Precache)(void)
|
||||||
{
|
{
|
||||||
|
PRECACHE_MODEL("models/w_9mmclip.mdl");
|
||||||
|
PRECACHE_SOUND("items/9mmclip1.wav");
|
||||||
}
|
}
|
||||||
|
|
||||||
/* <ac58> ../cstrike/dlls/ammo.cpp:237 */
|
/* <ac58> ../cstrike/dlls/ammo.cpp:237 */
|
||||||
BOOL C57MMAmmo::AddAmmo_(CBaseEntity *pOther)
|
BOOL C57MMAmmo::__MAKE_VHOOK(AddAmmo)(CBaseEntity *pOther)
|
||||||
|
{
|
||||||
|
if (pOther->GiveAmmo(AMMO_57MM_BUY, "57mm", MAX_AMMO_57MM) == -1)
|
||||||
{
|
{
|
||||||
// AddAmmo(C57MMAmmo *const this,
|
|
||||||
// class CBaseEntity *pOther); // 237
|
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
EMIT_SOUND(ENT(pev), CHAN_ITEM, "items/9mmclip1.wav", VOL_NORM, ATTN_NORM);
|
||||||
|
return TRUE;
|
||||||
|
}
|
||||||
|
|
||||||
/* <b339> ../cstrike/dlls/ammo.cpp:247 */
|
/* <b339> ../cstrike/dlls/ammo.cpp:247 */
|
||||||
LINK_ENTITY_TO_CLASS(ammo_57mm, C57MMAmmo);
|
LINK_ENTITY_TO_CLASS(ammo_57mm, C57MMAmmo);
|
||||||
|
|
||||||
/* <a568> ../cstrike/dlls/ammo.cpp:251 */
|
/* <a568> ../cstrike/dlls/ammo.cpp:251 */
|
||||||
void C357SIGAmmo::Spawn_(void)
|
void C357SIGAmmo::__MAKE_VHOOK(Spawn)(void)
|
||||||
{
|
{
|
||||||
|
Precache();
|
||||||
|
SET_MODEL(ENT(pev), "models/w_9mmclip.mdl");
|
||||||
|
CBasePlayerAmmo::Spawn();
|
||||||
}
|
}
|
||||||
|
|
||||||
/* <a541> ../cstrike/dlls/ammo.cpp:257 */
|
/* <a541> ../cstrike/dlls/ammo.cpp:257 */
|
||||||
void C357SIGAmmo::Precache_(void)
|
void C357SIGAmmo::__MAKE_VHOOK(Precache)(void)
|
||||||
{
|
{
|
||||||
|
PRECACHE_MODEL("models/w_9mmclip.mdl");
|
||||||
|
PRECACHE_SOUND("items/9mmclip1.wav");
|
||||||
}
|
}
|
||||||
|
|
||||||
/* <a73d> ../cstrike/dlls/ammo.cpp:262 */
|
/* <a73d> ../cstrike/dlls/ammo.cpp:262 */
|
||||||
BOOL C357SIGAmmo::AddAmmo_(CBaseEntity *pOther)
|
BOOL C357SIGAmmo::__MAKE_VHOOK(AddAmmo)(CBaseEntity *pOther)
|
||||||
|
{
|
||||||
|
if (pOther->GiveAmmo(AMMO_357SIG_BUY, "357SIG", MAX_AMMO_357SIG) == -1)
|
||||||
{
|
{
|
||||||
// AddAmmo(C357SIGAmmo *const this,
|
|
||||||
// class CBaseEntity *pOther); // 262
|
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
EMIT_SOUND(ENT(pev), CHAN_ITEM, "items/9mmclip1.wav", VOL_NORM, ATTN_NORM);
|
||||||
|
return TRUE;
|
||||||
|
}
|
||||||
|
|
||||||
/* <b403> ../cstrike/dlls/ammo.cpp:272 */
|
/* <b403> ../cstrike/dlls/ammo.cpp:272 */
|
||||||
LINK_ENTITY_TO_CLASS(ammo_357sig, C357SIGAmmo);
|
LINK_ENTITY_TO_CLASS(ammo_357sig, C357SIGAmmo);
|
||||||
|
|
||||||
|
@ -41,9 +41,11 @@ public:
|
|||||||
virtual BOOL AddAmmo(CBaseEntity *pOther);
|
virtual BOOL AddAmmo(CBaseEntity *pOther);
|
||||||
|
|
||||||
#ifdef HOOK_GAMEDLL
|
#ifdef HOOK_GAMEDLL
|
||||||
|
|
||||||
void Spawn_(void);
|
void Spawn_(void);
|
||||||
void Precache_(void);
|
void Precache_(void);
|
||||||
BOOL AddAmmo_(CBaseEntity *pOther);
|
BOOL AddAmmo_(CBaseEntity *pOther);
|
||||||
|
|
||||||
#endif // HOOK_GAMEDLL
|
#endif // HOOK_GAMEDLL
|
||||||
|
|
||||||
};/* size: 152, cachelines: 3, members: 1 */
|
};/* size: 152, cachelines: 3, members: 1 */
|
||||||
@ -57,9 +59,11 @@ public:
|
|||||||
virtual BOOL AddAmmo(CBaseEntity *pOther);
|
virtual BOOL AddAmmo(CBaseEntity *pOther);
|
||||||
|
|
||||||
#ifdef HOOK_GAMEDLL
|
#ifdef HOOK_GAMEDLL
|
||||||
|
|
||||||
void Spawn_(void);
|
void Spawn_(void);
|
||||||
void Precache_(void);
|
void Precache_(void);
|
||||||
BOOL AddAmmo_(CBaseEntity *pOther);
|
BOOL AddAmmo_(CBaseEntity *pOther);
|
||||||
|
|
||||||
#endif // HOOK_GAMEDLL
|
#endif // HOOK_GAMEDLL
|
||||||
|
|
||||||
};/* size: 152, cachelines: 3, members: 1 */
|
};/* size: 152, cachelines: 3, members: 1 */
|
||||||
@ -73,9 +77,11 @@ public:
|
|||||||
virtual BOOL AddAmmo(CBaseEntity *pOther);
|
virtual BOOL AddAmmo(CBaseEntity *pOther);
|
||||||
|
|
||||||
#ifdef HOOK_GAMEDLL
|
#ifdef HOOK_GAMEDLL
|
||||||
|
|
||||||
void Spawn_(void);
|
void Spawn_(void);
|
||||||
void Precache_(void);
|
void Precache_(void);
|
||||||
BOOL AddAmmo_(CBaseEntity *pOther);
|
BOOL AddAmmo_(CBaseEntity *pOther);
|
||||||
|
|
||||||
#endif // HOOK_GAMEDLL
|
#endif // HOOK_GAMEDLL
|
||||||
|
|
||||||
};/* size: 152, cachelines: 3, members: 1 */
|
};/* size: 152, cachelines: 3, members: 1 */
|
||||||
@ -89,9 +95,11 @@ public:
|
|||||||
virtual BOOL AddAmmo(CBaseEntity *pOther);
|
virtual BOOL AddAmmo(CBaseEntity *pOther);
|
||||||
|
|
||||||
#ifdef HOOK_GAMEDLL
|
#ifdef HOOK_GAMEDLL
|
||||||
|
|
||||||
void Spawn_(void);
|
void Spawn_(void);
|
||||||
void Precache_(void);
|
void Precache_(void);
|
||||||
BOOL AddAmmo_(CBaseEntity *pOther);
|
BOOL AddAmmo_(CBaseEntity *pOther);
|
||||||
|
|
||||||
#endif // HOOK_GAMEDLL
|
#endif // HOOK_GAMEDLL
|
||||||
|
|
||||||
};/* size: 152, cachelines: 3, members: 1 */
|
};/* size: 152, cachelines: 3, members: 1 */
|
||||||
@ -105,9 +113,11 @@ public:
|
|||||||
virtual BOOL AddAmmo(CBaseEntity *pOther);
|
virtual BOOL AddAmmo(CBaseEntity *pOther);
|
||||||
|
|
||||||
#ifdef HOOK_GAMEDLL
|
#ifdef HOOK_GAMEDLL
|
||||||
|
|
||||||
void Spawn_(void);
|
void Spawn_(void);
|
||||||
void Precache_(void);
|
void Precache_(void);
|
||||||
BOOL AddAmmo_(CBaseEntity *pOther);
|
BOOL AddAmmo_(CBaseEntity *pOther);
|
||||||
|
|
||||||
#endif // HOOK_GAMEDLL
|
#endif // HOOK_GAMEDLL
|
||||||
|
|
||||||
};/* size: 152, cachelines: 3, members: 1 */
|
};/* size: 152, cachelines: 3, members: 1 */
|
||||||
@ -121,9 +131,11 @@ public:
|
|||||||
virtual BOOL AddAmmo(CBaseEntity *pOther);
|
virtual BOOL AddAmmo(CBaseEntity *pOther);
|
||||||
|
|
||||||
#ifdef HOOK_GAMEDLL
|
#ifdef HOOK_GAMEDLL
|
||||||
|
|
||||||
void Spawn_(void);
|
void Spawn_(void);
|
||||||
void Precache_(void);
|
void Precache_(void);
|
||||||
BOOL AddAmmo_(CBaseEntity *pOther);
|
BOOL AddAmmo_(CBaseEntity *pOther);
|
||||||
|
|
||||||
#endif // HOOK_GAMEDLL
|
#endif // HOOK_GAMEDLL
|
||||||
|
|
||||||
};/* size: 152, cachelines: 3, members: 1 */
|
};/* size: 152, cachelines: 3, members: 1 */
|
||||||
@ -137,9 +149,11 @@ public:
|
|||||||
virtual BOOL AddAmmo(CBaseEntity *pOther);
|
virtual BOOL AddAmmo(CBaseEntity *pOther);
|
||||||
|
|
||||||
#ifdef HOOK_GAMEDLL
|
#ifdef HOOK_GAMEDLL
|
||||||
|
|
||||||
void Spawn_(void);
|
void Spawn_(void);
|
||||||
void Precache_(void);
|
void Precache_(void);
|
||||||
BOOL AddAmmo_(CBaseEntity *pOther);
|
BOOL AddAmmo_(CBaseEntity *pOther);
|
||||||
|
|
||||||
#endif // HOOK_GAMEDLL
|
#endif // HOOK_GAMEDLL
|
||||||
|
|
||||||
};/* size: 152, cachelines: 3, members: 1 */
|
};/* size: 152, cachelines: 3, members: 1 */
|
||||||
@ -153,9 +167,11 @@ public:
|
|||||||
virtual BOOL AddAmmo(CBaseEntity *pOther);
|
virtual BOOL AddAmmo(CBaseEntity *pOther);
|
||||||
|
|
||||||
#ifdef HOOK_GAMEDLL
|
#ifdef HOOK_GAMEDLL
|
||||||
|
|
||||||
void Spawn_(void);
|
void Spawn_(void);
|
||||||
void Precache_(void);
|
void Precache_(void);
|
||||||
BOOL AddAmmo_(CBaseEntity *pOther);
|
BOOL AddAmmo_(CBaseEntity *pOther);
|
||||||
|
|
||||||
#endif // HOOK_GAMEDLL
|
#endif // HOOK_GAMEDLL
|
||||||
|
|
||||||
};/* size: 152, cachelines: 3, members: 1 */
|
};/* size: 152, cachelines: 3, members: 1 */
|
||||||
@ -169,9 +185,11 @@ public:
|
|||||||
virtual BOOL AddAmmo(CBaseEntity *pOther);
|
virtual BOOL AddAmmo(CBaseEntity *pOther);
|
||||||
|
|
||||||
#ifdef HOOK_GAMEDLL
|
#ifdef HOOK_GAMEDLL
|
||||||
|
|
||||||
void Spawn_(void);
|
void Spawn_(void);
|
||||||
void Precache_(void);
|
void Precache_(void);
|
||||||
BOOL AddAmmo_(CBaseEntity *pOther);
|
BOOL AddAmmo_(CBaseEntity *pOther);
|
||||||
|
|
||||||
#endif // HOOK_GAMEDLL
|
#endif // HOOK_GAMEDLL
|
||||||
|
|
||||||
};/* size: 152, cachelines: 3, members: 1 */
|
};/* size: 152, cachelines: 3, members: 1 */
|
||||||
@ -185,11 +203,24 @@ public:
|
|||||||
virtual BOOL AddAmmo(CBaseEntity *pOther);
|
virtual BOOL AddAmmo(CBaseEntity *pOther);
|
||||||
|
|
||||||
#ifdef HOOK_GAMEDLL
|
#ifdef HOOK_GAMEDLL
|
||||||
|
|
||||||
void Spawn_(void);
|
void Spawn_(void);
|
||||||
void Precache_(void);
|
void Precache_(void);
|
||||||
BOOL AddAmmo_(CBaseEntity *pOther);
|
BOOL AddAmmo_(CBaseEntity *pOther);
|
||||||
|
|
||||||
#endif // HOOK_GAMEDLL
|
#endif // HOOK_GAMEDLL
|
||||||
|
|
||||||
};/* size: 152, cachelines: 3, members: 1 */
|
};/* size: 152, cachelines: 3, members: 1 */
|
||||||
|
|
||||||
|
C_DLLEXPORT void ammo_9mm(entvars_t *pev); // C9MMAmmo
|
||||||
|
C_DLLEXPORT void ammo_buckshot(entvars_t *pev); // CBuckShotAmmo
|
||||||
|
C_DLLEXPORT void ammo_556nato(entvars_t *pev); // C556NatoAmmo
|
||||||
|
C_DLLEXPORT void ammo_556natobox(entvars_t *pev); // C556NatoBoxAmmo
|
||||||
|
C_DLLEXPORT void ammo_762nato(entvars_t *pev); // C762NatoAmmo
|
||||||
|
C_DLLEXPORT void ammo_45acp(entvars_t *pev); // C45ACPAmmo
|
||||||
|
C_DLLEXPORT void ammo_50ae(entvars_t *pev); // C50AEAmmo
|
||||||
|
C_DLLEXPORT void ammo_338magnum(entvars_t *pev); // C338MagnumAmmo
|
||||||
|
C_DLLEXPORT void ammo_57mm(entvars_t *pev); // C57MMAmmo
|
||||||
|
C_DLLEXPORT void ammo_357sig(entvars_t *pev); // C357SIGAmmo
|
||||||
|
|
||||||
#endif // AMMO_H
|
#endif // AMMO_H
|
||||||
|
@ -64,23 +64,44 @@ int CBaseAnimating::LookupActivity(int activity)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* <10653> ../cstrike/dlls/animating.cpp:91 */
|
/* <10653> ../cstrike/dlls/animating.cpp:91 */
|
||||||
NOBODY int CBaseAnimating::LookupActivityHeaviest(int activity)
|
int CBaseAnimating::LookupActivityHeaviest(int activity)
|
||||||
{
|
{
|
||||||
// {
|
void *pmodel = GET_MODEL_PTR(ENT(pev));
|
||||||
// void *pmodel; // 93
|
return ::LookupActivityHeaviest(pmodel, pev, activity);
|
||||||
// }
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/* <107b1> ../cstrike/dlls/animating.cpp:136 */
|
/* <107b1> ../cstrike/dlls/animating.cpp:136 */
|
||||||
NOBODY void CBaseAnimating::DispatchAnimEvents(float flInterval)
|
void CBaseAnimating::DispatchAnimEvents(float flInterval)
|
||||||
{
|
{
|
||||||
// {
|
MonsterEvent_t event;
|
||||||
// MonsterEvent_t event; // 138
|
void *pmodel = GET_MODEL_PTR(ENT(pev));
|
||||||
// void *pmodel; // 140
|
|
||||||
// float flStart; // 152
|
if (!pmodel)
|
||||||
// float flEnd; // 153
|
{
|
||||||
// int index; // 160
|
ALERT(at_aiconsole, "Gibbed monster is thinking!\n");
|
||||||
// }
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
// FIXME: I have to do this or some events get missed, and this is probably causing the problem below
|
||||||
|
flInterval = 0.1f;
|
||||||
|
|
||||||
|
// FIX: this still sometimes hits events twice
|
||||||
|
float flStart = pev->frame + (m_flLastEventCheck - pev->animtime) * m_flFrameRate * pev->framerate;
|
||||||
|
float flEnd = pev->frame + flInterval * m_flFrameRate * pev->framerate;
|
||||||
|
|
||||||
|
m_fSequenceFinished = FALSE;
|
||||||
|
m_flLastEventCheck = pev->animtime + flInterval;
|
||||||
|
|
||||||
|
if (flEnd >= 256.0f || flEnd <= 0.0f)
|
||||||
|
{
|
||||||
|
m_fSequenceFinished = TRUE;
|
||||||
|
}
|
||||||
|
|
||||||
|
int index = 0;
|
||||||
|
while ((index = GetAnimationEvent(pmodel, pev, &event, flStart, flEnd, index)) != 0)
|
||||||
|
{
|
||||||
|
HandleAnimEvent(&event);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/* <106a1> ../cstrike/dlls/animating.cpp:100 */
|
/* <106a1> ../cstrike/dlls/animating.cpp:100 */
|
||||||
@ -131,96 +152,134 @@ void CBaseAnimating::InitBoneControllers(void)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* <108d3> ../cstrike/dlls/animating.cpp:192 */
|
/* <108d3> ../cstrike/dlls/animating.cpp:192 */
|
||||||
NOBODY float CBaseAnimating::SetBlending(int iBlender, float flValue)
|
NOXREF float CBaseAnimating::SetBlending(int iBlender, float flValue)
|
||||||
{
|
{
|
||||||
// {
|
void *pmodel = GET_MODEL_PTR(ENT(pev));
|
||||||
// void *pmodel; // 194
|
return ::SetBlending(pmodel, pev, iBlender, flValue);
|
||||||
// }
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/* <1092f> ../cstrike/dlls/animating.cpp:201 */
|
/* <1092f> ../cstrike/dlls/animating.cpp:201 */
|
||||||
NOBODY void CBaseAnimating::GetBonePosition(int iBone, Vector &origin, Vector &angles)
|
NOXREF void CBaseAnimating::GetBonePosition(int iBone, Vector &origin, Vector &angles)
|
||||||
{
|
{
|
||||||
|
GET_BONE_POSITION(ENT(pev), iBone, origin, angles);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* <10984> ../cstrike/dlls/animating.cpp:208 */
|
/* <10984> ../cstrike/dlls/animating.cpp:208 */
|
||||||
NOBODY void CBaseAnimating::GetAttachment(int iAttachment, Vector &origin, Vector &angles)
|
NOXREF void CBaseAnimating::GetAttachment(int iAttachment, Vector &origin, Vector &angles)
|
||||||
{
|
{
|
||||||
|
GET_ATTACHMENT(ENT(pev), iAttachment, origin, angles);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* <109d4> ../cstrike/dlls/animating.cpp:215 */
|
/* <109d4> ../cstrike/dlls/animating.cpp:215 */
|
||||||
NOBODY int CBaseAnimating::FindTransition(int iEndingSequence, int iGoalSequence, int *piDir)
|
NOXREF int CBaseAnimating::FindTransition(int iEndingSequence, int iGoalSequence, int *piDir)
|
||||||
{
|
{
|
||||||
// {
|
void *pmodel = GET_MODEL_PTR(ENT(pev));
|
||||||
// void *pmodel; // 217
|
|
||||||
// {
|
if (piDir == NULL)
|
||||||
// int iDir; // 221
|
{
|
||||||
// int sequence; // 222
|
int iDir;
|
||||||
// }
|
int sequence = ::FindTransition(pmodel, iEndingSequence, iGoalSequence, &iDir);
|
||||||
// }
|
|
||||||
|
if (iDir != 1)
|
||||||
|
sequence = -1;
|
||||||
|
|
||||||
|
return sequence;
|
||||||
|
}
|
||||||
|
|
||||||
|
return ::FindTransition(pmodel, iEndingSequence, iGoalSequence, piDir);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/* <10a5d> ../cstrike/dlls/animating.cpp:234 */
|
/* <10a5d> ../cstrike/dlls/animating.cpp:234 */
|
||||||
NOXREF void CBaseAnimating::GetAutomovement(Vector &origin, Vector &angles, float flInterval)
|
NOXREF void CBaseAnimating::GetAutomovement(Vector &origin, Vector &angles, float flInterval)
|
||||||
{
|
{
|
||||||
|
;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* <10aad> ../cstrike/dlls/animating.cpp:239 */
|
/* <10aad> ../cstrike/dlls/animating.cpp:239 */
|
||||||
NOBODY void CBaseAnimating::SetBodygroup(int iGroup, int iValue)
|
NOXREF void CBaseAnimating::SetBodygroup(int iGroup, int iValue)
|
||||||
{
|
{
|
||||||
|
::SetBodygroup(GET_MODEL_PTR(ENT(pev)), pev, iGroup, iValue);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* <10af0> ../cstrike/dlls/animating.cpp:244 */
|
/* <10af0> ../cstrike/dlls/animating.cpp:244 */
|
||||||
NOBODY int CBaseAnimating::GetBodygroup(int iGroup)
|
NOXREF int CBaseAnimating::GetBodygroup(int iGroup)
|
||||||
{
|
{
|
||||||
|
return ::GetBodygroup(GET_MODEL_PTR(ENT(pev)), pev, iGroup);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* <10b5f> ../cstrike/dlls/animating.cpp:250 */
|
/* <10b5f> ../cstrike/dlls/animating.cpp:250 */
|
||||||
NOBODY int CBaseAnimating::ExtractBbox(int sequence, float *mins, float *maxs)
|
int CBaseAnimating::ExtractBbox(int sequence, float *mins, float *maxs)
|
||||||
{
|
{
|
||||||
|
return ::ExtractBbox(GET_MODEL_PTR(ENT(pev)), sequence, mins, maxs);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* <10b99> ../cstrike/dlls/animating.cpp:258 */
|
/* <10b99> ../cstrike/dlls/animating.cpp:258 */
|
||||||
NOBODY void CBaseAnimating::SetSequenceBox(void)
|
void CBaseAnimating::SetSequenceBox(void)
|
||||||
{
|
{
|
||||||
// {
|
Vector mins, maxs;
|
||||||
// class Vector mins; // 260
|
|
||||||
// class Vector maxs; // 260
|
// Get sequence bbox
|
||||||
// ExtractBbox(CBaseAnimating *const this,
|
if (ExtractBbox(pev->sequence, mins, maxs))
|
||||||
// int sequence,
|
{
|
||||||
// float *mins,
|
// expand box for rotation
|
||||||
// float *maxs); // 263
|
// find min / max for rotations
|
||||||
// {
|
float yaw = pev->angles.y * (M_PI / 180.0);
|
||||||
// float yaw; // 267
|
|
||||||
// class Vector xvector; // 269
|
Vector xvector, yvector;
|
||||||
// class Vector yvector; // 269
|
xvector.x = cos(yaw);
|
||||||
// class Vector bounds; // 274
|
xvector.y = sin(yaw);
|
||||||
// class Vector rmin; // 279
|
yvector.x = -sin(yaw);
|
||||||
// class Vector rmax; // 280
|
yvector.y = cos(yaw);
|
||||||
// class Vector base; // 281
|
|
||||||
// class Vector transformed; // 281
|
Vector bounds[2];
|
||||||
// Vector(Vector *const this,
|
bounds[0] = mins;
|
||||||
// float X,
|
bounds[1] = maxs;
|
||||||
// float Y,
|
|
||||||
// float Z); // 280
|
Vector rmin(9999, 9999, 9999);
|
||||||
// Vector(Vector *const this,
|
Vector rmax(-9999, -9999, -9999);
|
||||||
// float X,
|
|
||||||
// float Y,
|
Vector base, transformed;
|
||||||
// float Z); // 279
|
for (int i = 0; i <= 1; i++)
|
||||||
// {
|
{
|
||||||
// int i; // 283
|
base.x = bounds[i].x;
|
||||||
// {
|
for (int j = 0; j <= 1; j++)
|
||||||
// int j; // 286
|
{
|
||||||
// {
|
base.y = bounds[j].y;
|
||||||
// int k; // 289
|
for (int k = 0; k <= 1; k++)
|
||||||
// {
|
{
|
||||||
// int l; // 298
|
base.z = bounds[k].z;
|
||||||
// }
|
|
||||||
// }
|
// transform the point
|
||||||
// }
|
transformed.x = xvector.x * base.x + yvector.x * base.y;
|
||||||
// }
|
transformed.y = xvector.y * base.x + yvector.y * base.y;
|
||||||
// }
|
transformed.z = base.z;
|
||||||
// }
|
|
||||||
|
if (transformed.x < rmin.x)
|
||||||
|
rmin.x = transformed.x;
|
||||||
|
|
||||||
|
if (transformed.x > rmax.x)
|
||||||
|
rmax.x = transformed.x;
|
||||||
|
|
||||||
|
if (transformed.y < rmin.y)
|
||||||
|
rmin.y = transformed.y;
|
||||||
|
|
||||||
|
if (transformed.y > rmax.y)
|
||||||
|
rmax.y = transformed.y;
|
||||||
|
|
||||||
|
if (transformed.z < rmin.z)
|
||||||
|
rmin.z = transformed.z;
|
||||||
|
|
||||||
|
if (transformed.z > rmax.z)
|
||||||
|
rmax.z = transformed.z;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
rmin.z = 0;
|
||||||
|
rmax.z = rmin.z + 1;
|
||||||
|
UTIL_SetSize(pev, rmin, rmax);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef HOOK_GAMEDLL
|
#ifdef HOOK_GAMEDLL
|
||||||
@ -235,9 +294,4 @@ int CBaseAnimating::Restore(CRestore &restore)
|
|||||||
return Restore_(restore);
|
return Restore_(restore);
|
||||||
}
|
}
|
||||||
|
|
||||||
//void CBaseAnimating::HandleAnimEvent(MonsterEvent_t *pEvent)
|
|
||||||
//{
|
|
||||||
// HandleAnimEvent_(pEvent);
|
|
||||||
//}
|
|
||||||
|
|
||||||
#endif // HOOK_GAMEDLL
|
#endif // HOOK_GAMEDLL
|
||||||
|
@ -30,94 +30,154 @@ float sclp;
|
|||||||
float sclq;
|
float sclq;
|
||||||
|
|
||||||
/* <1523e> ../cstrike/dlls/animation.cpp:57 */
|
/* <1523e> ../cstrike/dlls/animation.cpp:57 */
|
||||||
NOBODY int ExtractBbox(void *pmodel, int sequence, float *mins, float *maxs)
|
int ExtractBbox(void *pmodel, int sequence, float *mins, float *maxs)
|
||||||
{
|
{
|
||||||
// {
|
studiohdr_t *pstudiohdr = (studiohdr_t *)pmodel;
|
||||||
// studiohdr_t *pstudiohdr; // 59
|
|
||||||
// mstudioseqdesc_t *pseqdesc; // 65
|
if (!pstudiohdr)
|
||||||
// }
|
{
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
mstudioseqdesc_t *pseqdesc = (mstudioseqdesc_t *)((byte *)pstudiohdr + pstudiohdr->seqindex);
|
||||||
|
|
||||||
|
mins[0] = pseqdesc[sequence].bbmin[0];
|
||||||
|
mins[1] = pseqdesc[sequence].bbmin[1];
|
||||||
|
mins[2] = pseqdesc[sequence].bbmin[2];
|
||||||
|
|
||||||
|
maxs[0] = pseqdesc[sequence].bbmax[0];
|
||||||
|
maxs[1] = pseqdesc[sequence].bbmax[1];
|
||||||
|
maxs[2] = pseqdesc[sequence].bbmax[2];
|
||||||
|
|
||||||
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* <152c6> ../cstrike/dlls/animation.cpp:81 */
|
/* <152c6> ../cstrike/dlls/animation.cpp:81 */
|
||||||
int LookupActivity(void *pmodel, entvars_t *pev, int activity)
|
int LookupActivity(void *pmodel, entvars_t *pev, int activity)
|
||||||
{
|
{
|
||||||
|
studiohdr_t *pstudiohdr = (studiohdr_t *)pmodel;
|
||||||
|
|
||||||
|
if (!pstudiohdr)
|
||||||
|
{
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
mstudioseqdesc_t *pseqdesc;
|
||||||
|
|
||||||
int i;
|
int i;
|
||||||
int weightTotal = 0;
|
int weightTotal = 0;
|
||||||
int activitySequenceCount = 0;
|
int activitySequenceCount = 0;
|
||||||
int weight = 0;
|
int weight = 0;
|
||||||
int select;
|
int select;
|
||||||
|
|
||||||
studiohdr_t *pstudiohdr = (studiohdr_t *)pmodel;
|
pseqdesc = (mstudioseqdesc_t *)((byte *)pstudiohdr + pstudiohdr->seqindex);
|
||||||
if (!pstudiohdr)
|
|
||||||
return 0;
|
|
||||||
|
|
||||||
mstudioseqdesc_t *pseqdesc = (mstudioseqdesc_t *)((byte *)pstudiohdr + pstudiohdr->seqindex);
|
|
||||||
for (i = 0; i < pstudiohdr->numseq; i++)
|
for (i = 0; i < pstudiohdr->numseq; i++)
|
||||||
{
|
{
|
||||||
if (pseqdesc[i].activity == activity)
|
if (pseqdesc[i].activity == activity)
|
||||||
{
|
{
|
||||||
weightTotal += pseqdesc[i].actweight;
|
weightTotal += pseqdesc[i].actweight;
|
||||||
activitySequenceCount++;
|
++activitySequenceCount;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (activitySequenceCount)
|
|
||||||
|
if (activitySequenceCount > 0)
|
||||||
{
|
{
|
||||||
if (!weightTotal)
|
if (weightTotal)
|
||||||
{
|
{
|
||||||
select = RANDOM_LONG(0, activitySequenceCount - 1);
|
int which = RANDOM_LONG(0, weightTotal - 1);
|
||||||
for (i = 0; i < pstudiohdr->numseq; i++)
|
|
||||||
{
|
|
||||||
if (pseqdesc[i].activity == activity)
|
|
||||||
{
|
|
||||||
if (!select)
|
|
||||||
return i;
|
|
||||||
--select;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return ACTIVITY_NOT_AVAILABLE;
|
|
||||||
}
|
|
||||||
select = RANDOM_LONG(0, weightTotal - 1);
|
|
||||||
for (i = 0; i < pstudiohdr->numseq; i++)
|
for (i = 0; i < pstudiohdr->numseq; i++)
|
||||||
{
|
{
|
||||||
if (pseqdesc[i].activity == activity)
|
if (pseqdesc[i].activity == activity)
|
||||||
{
|
{
|
||||||
weight += pseqdesc[i].actweight;
|
weight += pseqdesc[i].actweight;
|
||||||
if (weight > select)
|
|
||||||
|
if (weight > which)
|
||||||
|
{
|
||||||
return i;
|
return i;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
select = RANDOM_LONG(0, activitySequenceCount - 1);
|
||||||
|
|
||||||
|
for (i = 0; i < pstudiohdr->numseq; i++)
|
||||||
|
{
|
||||||
|
if (pseqdesc[i].activity == activity)
|
||||||
|
{
|
||||||
|
if (select == 0)
|
||||||
|
{
|
||||||
|
return i;
|
||||||
|
}
|
||||||
|
|
||||||
|
--select;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
return ACTIVITY_NOT_AVAILABLE;
|
return ACTIVITY_NOT_AVAILABLE;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* <1539a> ../cstrike/dlls/animation.cpp:149 */
|
/* <1539a> ../cstrike/dlls/animation.cpp:149 */
|
||||||
NOBODY int LookupActivityHeaviest(void *pmodel, entvars_t *pev, int activity)
|
int LookupActivityHeaviest(void *pmodel, entvars_t *pev, int activity)
|
||||||
{
|
{
|
||||||
// {
|
studiohdr_t *pstudiohdr = (studiohdr_t *)pmodel;
|
||||||
// studiohdr_t *pstudiohdr; // 151
|
|
||||||
// mstudioseqdesc_t *pseqdesc; // 157
|
if (!pstudiohdr)
|
||||||
// int weight; // 161
|
{
|
||||||
// int seq; // 162
|
return 0;
|
||||||
// {
|
}
|
||||||
// int i; // 163
|
|
||||||
// }
|
mstudioseqdesc_t *pseqdesc = (mstudioseqdesc_t *)((byte *)pstudiohdr + pstudiohdr->seqindex);
|
||||||
// }
|
int weight = 0;
|
||||||
|
int seq = ACTIVITY_NOT_AVAILABLE;
|
||||||
|
|
||||||
|
for (int i = 0; i < pstudiohdr->numseq; i++)
|
||||||
|
{
|
||||||
|
if (pseqdesc[i].activity == activity)
|
||||||
|
{
|
||||||
|
if (pseqdesc[i].actweight > weight)
|
||||||
|
{
|
||||||
|
weight = pseqdesc[i].actweight;
|
||||||
|
seq = i;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return seq;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* <15439> ../cstrike/dlls/animation.cpp:178 */
|
/* <15439> ../cstrike/dlls/animation.cpp:178 */
|
||||||
NOBODY void GetEyePosition(void *pmodel, float *vecEyePosition)
|
NOXREF void GetEyePosition(void *pmodel, float *vecEyePosition)
|
||||||
{
|
{
|
||||||
// {
|
studiohdr_t *pstudiohdr;
|
||||||
// studiohdr_t *pstudiohdr; // 180
|
|
||||||
// }
|
pstudiohdr = (studiohdr_t *)pmodel;
|
||||||
|
|
||||||
|
if (!pstudiohdr)
|
||||||
|
{
|
||||||
|
ALERT(at_console, "GetEyePosition() Can't get pstudiohdr ptr!\n");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
vecEyePosition[0] = pstudiohdr->eyeposition[0];
|
||||||
|
vecEyePosition[1] = pstudiohdr->eyeposition[1];
|
||||||
|
vecEyePosition[2] = pstudiohdr->eyeposition[2];
|
||||||
}
|
}
|
||||||
|
|
||||||
/* <15485> ../cstrike/dlls/animation.cpp:193 */
|
/* <15485> ../cstrike/dlls/animation.cpp:193 */
|
||||||
int LookupSequence(void *pmodel, const char *label)
|
int LookupSequence(void *pmodel, const char *label)
|
||||||
{
|
{
|
||||||
studiohdr_t *pstudiohdr = (studiohdr_t *)pmodel;
|
studiohdr_t *pstudiohdr = (studiohdr_t *)pmodel;
|
||||||
|
|
||||||
if (!pstudiohdr)
|
if (!pstudiohdr)
|
||||||
|
{
|
||||||
return 0;
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
mstudioseqdesc_t *pseqdesc = (mstudioseqdesc_t *)((byte *)pstudiohdr + pstudiohdr->seqindex);
|
mstudioseqdesc_t *pseqdesc = (mstudioseqdesc_t *)((byte *)pstudiohdr + pstudiohdr->seqindex);
|
||||||
for (int i = 0; i < pstudiohdr->numseq; i++)
|
for (int i = 0; i < pstudiohdr->numseq; i++)
|
||||||
@ -129,35 +189,62 @@ int LookupSequence(void *pmodel, const char *label)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* <1518c> ../cstrike/dlls/animation.cpp:215 */
|
/* <1518c> ../cstrike/dlls/animation.cpp:215 */
|
||||||
NOBODY int IsSoundEvent(int eventNumber)
|
int IsSoundEvent(int eventNumber)
|
||||||
{
|
{
|
||||||
|
if (eventNumber == SCRIPT_EVENT_SOUND || eventNumber == SCRIPT_EVENT_SOUND_VOICE)
|
||||||
|
{
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* <15539> ../cstrike/dlls/animation.cpp:223 */
|
/* <15539> ../cstrike/dlls/animation.cpp:223 */
|
||||||
NOBODY void SequencePrecache(void *pmodel, const char *pSequenceName)
|
NOXREF void SequencePrecache(void *pmodel, const char *pSequenceName)
|
||||||
{
|
{
|
||||||
// {
|
int index = LookupSequence(pmodel, pSequenceName);
|
||||||
// int index; // 225
|
|
||||||
// LookupSequence(void *pmodel,
|
if (index >= 0)
|
||||||
// const char *label); // 225
|
{
|
||||||
// {
|
studiohdr_t *pstudiohdr = (studiohdr_t *)pmodel;
|
||||||
// studiohdr_t *pstudiohdr; // 228
|
if (!pstudiohdr || index >= pstudiohdr->numseq)
|
||||||
// mstudioseqdesc_t *pseqdesc; // 234
|
{
|
||||||
// mstudioevent_t *pevent; // 235
|
return;
|
||||||
// {
|
}
|
||||||
// int i; // 240
|
|
||||||
// IsSoundEvent(int eventNumber); // 248
|
mstudioseqdesc_t *pseqdesc = (mstudioseqdesc_t *)((byte *)pstudiohdr + pstudiohdr->seqindex) + index;
|
||||||
// }
|
mstudioevent_t *pevent = (mstudioevent_t *)((byte *)pstudiohdr + pseqdesc->eventindex);
|
||||||
// }
|
|
||||||
// }
|
for (int i = 0; i < pseqdesc->numevents; i++)
|
||||||
|
{
|
||||||
|
// Don't send client-side events to the server AI
|
||||||
|
if (pevent[i].event >= EVENT_CLIENT)
|
||||||
|
continue;
|
||||||
|
|
||||||
|
// UNDONE: Add a callback to check to see if a sound is precached yet and don't allocate a copy
|
||||||
|
// of it's name if it is.
|
||||||
|
if (IsSoundEvent(pevent[i].event))
|
||||||
|
{
|
||||||
|
if (!Q_strlen(pevent[i].options))
|
||||||
|
{
|
||||||
|
ALERT(at_error, "Bad sound event %d in sequence %s :: %s (sound is \"%s\")\n", pevent[i].event, pstudiohdr->name, pSequenceName, pevent[i].options);
|
||||||
|
}
|
||||||
|
|
||||||
|
PRECACHE_SOUND((char *)(gpGlobals->pStringBase + ALLOC_STRING(pevent[i].options)));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/* <15634> ../cstrike/dlls/animation.cpp:263 */
|
/* <15634> ../cstrike/dlls/animation.cpp:263 */
|
||||||
void GetSequenceInfo(void *pmodel, entvars_t *pev, float *pflFrameRate, float *pflGroundSpeed)
|
void GetSequenceInfo(void *pmodel, entvars_t *pev, float *pflFrameRate, float *pflGroundSpeed)
|
||||||
{
|
{
|
||||||
studiohdr_t *pstudiohdr = (studiohdr_t *)pmodel;
|
studiohdr_t *pstudiohdr = (studiohdr_t *)pmodel;
|
||||||
|
|
||||||
if (!pstudiohdr)
|
if (!pstudiohdr)
|
||||||
|
{
|
||||||
return;
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
if (pev->sequence >= pstudiohdr->numseq)
|
if (pev->sequence >= pstudiohdr->numseq)
|
||||||
{
|
{
|
||||||
@ -183,22 +270,66 @@ void GetSequenceInfo(void *pmodel, entvars_t *pev, float *pflFrameRate, float *p
|
|||||||
int GetSequenceFlags(void *pmodel, entvars_t *pev)
|
int GetSequenceFlags(void *pmodel, entvars_t *pev)
|
||||||
{
|
{
|
||||||
studiohdr_t *pstudiohdr = (studiohdr_t *)pmodel;
|
studiohdr_t *pstudiohdr = (studiohdr_t *)pmodel;
|
||||||
|
|
||||||
if (!pstudiohdr || pev->sequence >= pstudiohdr->numseq)
|
if (!pstudiohdr || pev->sequence >= pstudiohdr->numseq)
|
||||||
|
{
|
||||||
return 0;
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
mstudioseqdesc_t *pseqdesc = (mstudioseqdesc_t *)((byte *)pstudiohdr + pstudiohdr->seqindex) + (int)pev->sequence;
|
mstudioseqdesc_t *pseqdesc = (mstudioseqdesc_t *)((byte *)pstudiohdr + pstudiohdr->seqindex) + (int)pev->sequence;
|
||||||
return pseqdesc->flags;
|
return pseqdesc->flags;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* <15717> ../cstrike/dlls/animation.cpp:312 */
|
/* <15717> ../cstrike/dlls/animation.cpp:312 */
|
||||||
NOBODY int GetAnimationEvent(void *pmodel, entvars_t *pev, MonsterEvent_t *pMonsterEvent, float flStart, float flEnd, int index)
|
int GetAnimationEvent(void *pmodel, entvars_t *pev, MonsterEvent_t *pMonsterEvent, float flStart, float flEnd, int index)
|
||||||
{
|
{
|
||||||
// {
|
studiohdr_t *pstudiohdr = (studiohdr_t *)pmodel;
|
||||||
// studiohdr_t *pstudiohdr; // 314
|
|
||||||
// int events; // 320
|
if (!pstudiohdr || pev->sequence >= pstudiohdr->numseq || !pMonsterEvent)
|
||||||
// mstudioseqdesc_t *pseqdesc; // 322
|
{
|
||||||
// mstudioevent_t *pevent; // 323
|
return 0;
|
||||||
// }
|
}
|
||||||
|
|
||||||
|
// int events = 0;
|
||||||
|
|
||||||
|
mstudioseqdesc_t *pseqdesc = (mstudioseqdesc_t *)((byte *)pstudiohdr + pstudiohdr->seqindex) + (int)pev->sequence;
|
||||||
|
mstudioevent_t *pevent = (mstudioevent_t *)((byte *)pstudiohdr + pseqdesc->eventindex);
|
||||||
|
|
||||||
|
if (pseqdesc->numevents == 0 || index > pseqdesc->numevents)
|
||||||
|
{
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (pseqdesc->numframes > 1)
|
||||||
|
{
|
||||||
|
flStart *= (pseqdesc->numframes - 1) / 256.0;
|
||||||
|
flEnd *= (pseqdesc->numframes - 1) / 256.0;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
flStart = 0;
|
||||||
|
flEnd = 1.0;
|
||||||
|
}
|
||||||
|
|
||||||
|
for (; index < pseqdesc->numevents; index++)
|
||||||
|
{
|
||||||
|
// Don't send client-side events to the server AI
|
||||||
|
if (pevent[index].event >= EVENT_CLIENT)
|
||||||
|
continue;
|
||||||
|
|
||||||
|
if ((pevent[index].frame >= flStart && pevent[index].frame < flEnd) ||
|
||||||
|
((pseqdesc->flags & STUDIO_LOOPING)
|
||||||
|
&& flEnd >= pseqdesc->numframes - 1
|
||||||
|
&& pevent[index].frame < flEnd - pseqdesc->numframes + 1))
|
||||||
|
{
|
||||||
|
pMonsterEvent->event = pevent[index].event;
|
||||||
|
pMonsterEvent->options = pevent[index].options;
|
||||||
|
|
||||||
|
return index + 1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* <157e1> ../cstrike/dlls/animation.cpp:359 */
|
/* <157e1> ../cstrike/dlls/animation.cpp:359 */
|
||||||
@ -207,7 +338,9 @@ float SetController(void *pmodel, entvars_t *pev, int iController, float flValue
|
|||||||
studiohdr_t *pstudiohdr = (studiohdr_t *)pmodel;
|
studiohdr_t *pstudiohdr = (studiohdr_t *)pmodel;
|
||||||
|
|
||||||
if (!pstudiohdr)
|
if (!pstudiohdr)
|
||||||
|
{
|
||||||
return flValue;
|
return flValue;
|
||||||
|
}
|
||||||
|
|
||||||
int i;
|
int i;
|
||||||
mstudiobonecontroller_t *pbonecontroller = (mstudiobonecontroller_t *)((byte *)pstudiohdr + pstudiohdr->bonecontrollerindex);
|
mstudiobonecontroller_t *pbonecontroller = (mstudiobonecontroller_t *)((byte *)pstudiohdr + pstudiohdr->bonecontrollerindex);
|
||||||
@ -257,36 +390,143 @@ float SetController(void *pmodel, entvars_t *pev, int iController, float flValue
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* <15883> ../cstrike/dlls/animation.cpp:414 */
|
/* <15883> ../cstrike/dlls/animation.cpp:414 */
|
||||||
NOBODY float SetBlending(void *pmodel, entvars_t *pev, int iBlender, float flValue)
|
float SetBlending(void *pmodel, entvars_t *pev, int iBlender, float flValue)
|
||||||
{
|
{
|
||||||
// {
|
studiohdr_t *pstudiohdr = (studiohdr_t *)pmodel;
|
||||||
// studiohdr_t *pstudiohdr; // 416
|
if (!pstudiohdr)
|
||||||
// mstudioseqdesc_t *pseqdesc; // 422
|
{
|
||||||
// int setting; // 445
|
return flValue;
|
||||||
// }
|
}
|
||||||
|
|
||||||
|
mstudioseqdesc_t *pseqdesc = (mstudioseqdesc_t *)((byte *)pstudiohdr + pstudiohdr->seqindex) + (int)pev->sequence;
|
||||||
|
|
||||||
|
if (pseqdesc->blendtype[iBlender] == 0)
|
||||||
|
{
|
||||||
|
return flValue;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (pseqdesc->blendtype[iBlender] & (STUDIO_XR | STUDIO_YR | STUDIO_ZR))
|
||||||
|
{
|
||||||
|
// ugly hack, invert value if end < start
|
||||||
|
if (pseqdesc->blendend[iBlender] < pseqdesc->blendstart[iBlender])
|
||||||
|
flValue = -flValue;
|
||||||
|
|
||||||
|
// does the controller not wrap?
|
||||||
|
if (pseqdesc->blendstart[iBlender] + 359.0 >= pseqdesc->blendend[iBlender])
|
||||||
|
{
|
||||||
|
if (flValue > ((pseqdesc->blendstart[iBlender] + pseqdesc->blendend[iBlender]) / 2.0) + 180)
|
||||||
|
{
|
||||||
|
flValue = flValue - 360;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (flValue < ((pseqdesc->blendstart[iBlender] + pseqdesc->blendend[iBlender]) / 2.0) - 180)
|
||||||
|
{
|
||||||
|
flValue = flValue + 360;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
int setting = (int64_t)(255.0f * (flValue - pseqdesc->blendstart[iBlender]) / (pseqdesc->blendend[iBlender] - pseqdesc->blendstart[iBlender]));
|
||||||
|
|
||||||
|
if (setting < 0)
|
||||||
|
setting = 0;
|
||||||
|
|
||||||
|
if (setting > 255)
|
||||||
|
setting = 255;
|
||||||
|
|
||||||
|
pev->blending[iBlender] = setting;
|
||||||
|
|
||||||
|
return setting * (1.0 / 255.0) * (pseqdesc->blendend[iBlender] - pseqdesc->blendstart[iBlender]) + pseqdesc->blendstart[iBlender];
|
||||||
}
|
}
|
||||||
|
|
||||||
/* <15917> ../cstrike/dlls/animation.cpp:458 */
|
/* <15917> ../cstrike/dlls/animation.cpp:458 */
|
||||||
NOBODY int FindTransition(void *pmodel, int iEndingAnim, int iGoalAnim, int *piDir)
|
int FindTransition(void *pmodel, int iEndingAnim, int iGoalAnim, int *piDir)
|
||||||
{
|
{
|
||||||
// {
|
studiohdr_t *pstudiohdr = (studiohdr_t *)pmodel;
|
||||||
// studiohdr_t *pstudiohdr; // 460
|
if (!pstudiohdr)
|
||||||
// mstudioseqdesc_t *pseqdesc; // 466
|
{
|
||||||
// int iEndNode; // 475
|
return iGoalAnim;
|
||||||
// byte *pTransition; // 492
|
}
|
||||||
// int iInternNode; // 494
|
|
||||||
// int i; // 499
|
mstudioseqdesc_t *pseqdesc = (mstudioseqdesc_t *)((byte *)pstudiohdr + pstudiohdr->seqindex);
|
||||||
// }
|
|
||||||
|
// bail if we're going to or from a node 0
|
||||||
|
if (pseqdesc[iEndingAnim].entrynode == 0 || pseqdesc[iGoalAnim].entrynode == 0)
|
||||||
|
{
|
||||||
|
return iGoalAnim;
|
||||||
|
}
|
||||||
|
|
||||||
|
int iEndNode;
|
||||||
|
|
||||||
|
if (*piDir > 0)
|
||||||
|
{
|
||||||
|
iEndNode = pseqdesc[iEndingAnim].exitnode;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
iEndNode = pseqdesc[iEndingAnim].entrynode;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (iEndNode == pseqdesc[iGoalAnim].entrynode)
|
||||||
|
{
|
||||||
|
*piDir = 1;
|
||||||
|
return iGoalAnim;
|
||||||
|
}
|
||||||
|
|
||||||
|
byte *pTransition = ((byte *)pstudiohdr + pstudiohdr->transitionindex);
|
||||||
|
|
||||||
|
int iInternNode = pTransition[(iEndNode - 1)*pstudiohdr->numtransitions + (pseqdesc[iGoalAnim].entrynode - 1)];
|
||||||
|
|
||||||
|
if (iInternNode == 0)
|
||||||
|
{
|
||||||
|
return iGoalAnim;
|
||||||
|
}
|
||||||
|
|
||||||
|
// look for someone going
|
||||||
|
for (int i = 0; i < pstudiohdr->numseq; i++)
|
||||||
|
{
|
||||||
|
if (pseqdesc[i].entrynode == iEndNode && pseqdesc[i].exitnode == iInternNode)
|
||||||
|
{
|
||||||
|
*piDir = 1;
|
||||||
|
return i;
|
||||||
|
}
|
||||||
|
if (pseqdesc[i].nodeflags)
|
||||||
|
{
|
||||||
|
if (pseqdesc[i].exitnode == iEndNode && pseqdesc[i].entrynode == iInternNode)
|
||||||
|
{
|
||||||
|
*piDir = -1;
|
||||||
|
return i;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
ALERT(at_console, "error in transition graph");
|
||||||
|
return iGoalAnim;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* <159d8> ../cstrike/dlls/animation.cpp:523 */
|
/* <159d8> ../cstrike/dlls/animation.cpp:523 */
|
||||||
NOBODY void SetBodygroup(void *pmodel, entvars_t *pev, int iGroup, int iValue)
|
void SetBodygroup(void *pmodel, entvars_t *pev, int iGroup, int iValue)
|
||||||
{
|
{
|
||||||
// {
|
studiohdr_t *pstudiohdr = (studiohdr_t *)pmodel;
|
||||||
// studiohdr_t *pstudiohdr; // 525
|
if (!pstudiohdr)
|
||||||
// mstudiobodyparts_t *pbodypart; // 534
|
{
|
||||||
// int iCurrent; // 539
|
return;
|
||||||
// }
|
}
|
||||||
|
|
||||||
|
if (iGroup > pstudiohdr->numbodyparts)
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
mstudiobodyparts_t *pbodypart = (mstudiobodyparts_t *)((byte *)pstudiohdr + pstudiohdr->bodypartindex) + iGroup;
|
||||||
|
|
||||||
|
if (iValue >= pbodypart->nummodels)
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
int iCurrent = (pev->body / pbodypart->base) % pbodypart->nummodels;
|
||||||
|
pev->body += (iValue - iCurrent) * pbodypart->base;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* <15a6d> ../cstrike/dlls/animation.cpp:545 */
|
/* <15a6d> ../cstrike/dlls/animation.cpp:545 */
|
||||||
@ -294,11 +534,10 @@ int GetBodygroup(void *pmodel, entvars_t *pev, int iGroup)
|
|||||||
{
|
{
|
||||||
studiohdr_t *pstudiohdr = (studiohdr_t *)pmodel;
|
studiohdr_t *pstudiohdr = (studiohdr_t *)pmodel;
|
||||||
|
|
||||||
if (!pstudiohdr)
|
if (!pstudiohdr || iGroup > pstudiohdr->numbodyparts)
|
||||||
return 0;
|
{
|
||||||
|
|
||||||
if (iGroup > pstudiohdr->numbodyparts)
|
|
||||||
return 0;
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
mstudiobodyparts_t *pbodypart = (mstudiobodyparts_t *)((byte *)pstudiohdr + pstudiohdr->bodypartindex) + iGroup;
|
mstudiobodyparts_t *pbodypart = (mstudiobodyparts_t *)((byte *)pstudiohdr + pstudiohdr->bodypartindex) + iGroup;
|
||||||
|
|
||||||
|
@ -36,20 +36,20 @@
|
|||||||
#include "studio.h"
|
#include "studio.h"
|
||||||
#include "r_studioint.h"
|
#include "r_studioint.h"
|
||||||
|
|
||||||
NOBODY int ExtractBbox(void *pmodel, int sequence, float *mins, float *maxs);
|
int ExtractBbox(void *pmodel, int sequence, float *mins, float *maxs);
|
||||||
int LookupActivity(void *pmodel, entvars_t *pev, int activity);
|
int LookupActivity(void *pmodel, entvars_t *pev, int activity);
|
||||||
NOBODY int LookupActivityHeaviest(void *pmodel, entvars_t *pev, int activity);
|
int LookupActivityHeaviest(void *pmodel, entvars_t *pev, int activity);
|
||||||
NOBODY void GetEyePosition(void *pmodel, float *vecEyePosition);
|
NOXREF void GetEyePosition(void *pmodel, float *vecEyePosition);
|
||||||
int LookupSequence(void *pmodel, const char *label);
|
int LookupSequence(void *pmodel, const char *label);
|
||||||
NOBODY int IsSoundEvent(int eventNumber);
|
int IsSoundEvent(int eventNumber);
|
||||||
NOBODY void SequencePrecache(void *pmodel, const char *pSequenceName);
|
NOXREF void SequencePrecache(void *pmodel, const char *pSequenceName);
|
||||||
void GetSequenceInfo(void *pmodel, entvars_t *pev, float *pflFrameRate, float *pflGroundSpeed);
|
void GetSequenceInfo(void *pmodel, entvars_t *pev, float *pflFrameRate, float *pflGroundSpeed);
|
||||||
int GetSequenceFlags(void *pmodel, entvars_t *pev);
|
int GetSequenceFlags(void *pmodel, entvars_t *pev);
|
||||||
NOBODY int GetAnimationEvent(void *pmodel, entvars_t *pev, MonsterEvent_t *pMonsterEvent, float flStart, float flEnd, int index);
|
int GetAnimationEvent(void *pmodel, entvars_t *pev, MonsterEvent_t *pMonsterEvent, float flStart, float flEnd, int index);
|
||||||
float SetController(void *pmodel, entvars_t *pev, int iController, float flValue);
|
float SetController(void *pmodel, entvars_t *pev, int iController, float flValue);
|
||||||
NOBODY float SetBlending(void *pmodel, entvars_t *pev, int iBlender, float flValue);
|
float SetBlending(void *pmodel, entvars_t *pev, int iBlender, float flValue);
|
||||||
NOBODY int FindTransition(void *pmodel, int iEndingAnim, int iGoalAnim, int *piDir);
|
int FindTransition(void *pmodel, int iEndingAnim, int iGoalAnim, int *piDir);
|
||||||
NOBODY void SetBodygroup(void *pmodel, entvars_t *pev, int iGroup, int iValue);
|
void SetBodygroup(void *pmodel, entvars_t *pev, int iGroup, int iValue);
|
||||||
int GetBodygroup(void *pmodel, entvars_t *pev, int iGroup);
|
int GetBodygroup(void *pmodel, entvars_t *pev, int iGroup);
|
||||||
C_DLLEXPORT int Server_GetBlendingInterface(int version, struct sv_blending_interface_s **ppinterface, struct engine_studio_api_s *pstudio, float *rotationmatrix, float *bonetransform);
|
C_DLLEXPORT int Server_GetBlendingInterface(int version, struct sv_blending_interface_s **ppinterface, struct engine_studio_api_s *pstudio, float *rotationmatrix, float *bonetransform);
|
||||||
void AngleQuaternion(vec_t *angles, vec_t *quaternion);
|
void AngleQuaternion(vec_t *angles, vec_t *quaternion);
|
||||||
|
@ -70,14 +70,8 @@ public:
|
|||||||
virtual void MonsterInitDead(void);
|
virtual void MonsterInitDead(void);
|
||||||
NOBODY virtual void Look(int iDistance);
|
NOBODY virtual void Look(int iDistance);
|
||||||
NOBODY virtual CBaseEntity *BestVisibleEnemy(void);
|
NOBODY virtual CBaseEntity *BestVisibleEnemy(void);
|
||||||
|
|
||||||
#ifdef _WIN32
|
|
||||||
NOBODY virtual BOOL FInViewCone(Vector *pOrigin);
|
|
||||||
NOBODY virtual BOOL FInViewCone(CBaseEntity *pEntity);
|
|
||||||
#else
|
|
||||||
NOBODY virtual BOOL FInViewCone(CBaseEntity *pEntity);
|
NOBODY virtual BOOL FInViewCone(CBaseEntity *pEntity);
|
||||||
NOBODY virtual BOOL FInViewCone(Vector *pOrigin);
|
NOBODY virtual BOOL FInViewCone(Vector *pOrigin);
|
||||||
#endif // _WIN32
|
|
||||||
|
|
||||||
#ifdef HOOK_GAMEDLL
|
#ifdef HOOK_GAMEDLL
|
||||||
|
|
||||||
|
@ -43,12 +43,12 @@ Vector VecBModelOrigin(entvars_t *pevBModel)
|
|||||||
LINK_ENTITY_TO_CLASS(func_wall, CFuncWall);
|
LINK_ENTITY_TO_CLASS(func_wall, CFuncWall);
|
||||||
|
|
||||||
/* <1d193> ../cstrike/dlls/bmodels.cpp:65 */
|
/* <1d193> ../cstrike/dlls/bmodels.cpp:65 */
|
||||||
NOBODY void CFuncWall::Spawn_(void)
|
NOBODY void CFuncWall::__MAKE_VHOOK(Spawn)(void)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
/* <1d873> ../cstrike/dlls/bmodels.cpp:77 */
|
/* <1d873> ../cstrike/dlls/bmodels.cpp:77 */
|
||||||
NOBODY void CFuncWall::Use_(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value)
|
NOBODY void CFuncWall::__MAKE_VHOOK(Use)(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value)
|
||||||
{
|
{
|
||||||
// Use(CFuncWall *const this,
|
// Use(CFuncWall *const this,
|
||||||
// class CBaseEntity *pActivator,
|
// class CBaseEntity *pActivator,
|
||||||
@ -61,7 +61,7 @@ NOBODY void CFuncWall::Use_(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_T
|
|||||||
LINK_ENTITY_TO_CLASS(func_wall_toggle, CFuncWallToggle);
|
LINK_ENTITY_TO_CLASS(func_wall_toggle, CFuncWallToggle);
|
||||||
|
|
||||||
/* <1e28f> ../cstrike/dlls/bmodels.cpp:98 */
|
/* <1e28f> ../cstrike/dlls/bmodels.cpp:98 */
|
||||||
NOBODY void CFuncWallToggle::Spawn_(void)
|
NOBODY void CFuncWallToggle::__MAKE_VHOOK(Spawn)(void)
|
||||||
{
|
{
|
||||||
// Spawn(CFuncWall *const this); // 100
|
// Spawn(CFuncWall *const this); // 100
|
||||||
// TurnOff(CFuncWallToggle *const this); // 102
|
// TurnOff(CFuncWallToggle *const this); // 102
|
||||||
@ -83,7 +83,7 @@ NOBODY BOOL CFuncWallToggle::IsOn(void)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* <1e101> ../cstrike/dlls/bmodels.cpp:130 */
|
/* <1e101> ../cstrike/dlls/bmodels.cpp:130 */
|
||||||
NOBODY void CFuncWallToggle::Use_(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value)
|
NOBODY void CFuncWallToggle::__MAKE_VHOOK(Use)(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value)
|
||||||
{
|
{
|
||||||
// {
|
// {
|
||||||
// int status; // 132
|
// int status; // 132
|
||||||
@ -97,7 +97,7 @@ NOBODY void CFuncWallToggle::Use_(CBaseEntity *pActivator, CBaseEntity *pCaller,
|
|||||||
LINK_ENTITY_TO_CLASS(func_conveyor, CFuncConveyor);
|
LINK_ENTITY_TO_CLASS(func_conveyor, CFuncConveyor);
|
||||||
|
|
||||||
/* <1e1c3> ../cstrike/dlls/bmodels.cpp:156 */
|
/* <1e1c3> ../cstrike/dlls/bmodels.cpp:156 */
|
||||||
NOBODY void CFuncConveyor::Spawn_(void)
|
NOBODY void CFuncConveyor::__MAKE_VHOOK(Spawn)(void)
|
||||||
{
|
{
|
||||||
// Spawn(CFuncWall *const this); // 159
|
// Spawn(CFuncWall *const this); // 159
|
||||||
// UpdateSpeed(CFuncConveyor *const this,
|
// UpdateSpeed(CFuncConveyor *const this,
|
||||||
@ -114,7 +114,7 @@ NOBODY void CFuncConveyor::UpdateSpeed(float speed)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* <1e021> ../cstrike/dlls/bmodels.cpp:194 */
|
/* <1e021> ../cstrike/dlls/bmodels.cpp:194 */
|
||||||
NOBODY void CFuncConveyor::Use_(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value)
|
NOBODY void CFuncConveyor::__MAKE_VHOOK(Use)(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value)
|
||||||
{
|
{
|
||||||
// UpdateSpeed(CFuncConveyor *const this,
|
// UpdateSpeed(CFuncConveyor *const this,
|
||||||
// float speed); // 197
|
// float speed); // 197
|
||||||
@ -124,7 +124,7 @@ NOBODY void CFuncConveyor::Use_(CBaseEntity *pActivator, CBaseEntity *pCaller, U
|
|||||||
LINK_ENTITY_TO_CLASS(func_illusionary, CFuncIllusionary);
|
LINK_ENTITY_TO_CLASS(func_illusionary, CFuncIllusionary);
|
||||||
|
|
||||||
/* <1ddc9> ../cstrike/dlls/bmodels.cpp:219 */
|
/* <1ddc9> ../cstrike/dlls/bmodels.cpp:219 */
|
||||||
NOBODY void CFuncIllusionary::KeyValue_(KeyValueData *pkvd)
|
NOBODY void CFuncIllusionary::__MAKE_VHOOK(KeyValue)(KeyValueData *pkvd)
|
||||||
{
|
{
|
||||||
// FStrEq(const char *sz1,
|
// FStrEq(const char *sz1,
|
||||||
// const char *sz2); // 221
|
// const char *sz2); // 221
|
||||||
@ -133,7 +133,7 @@ NOBODY void CFuncIllusionary::KeyValue_(KeyValueData *pkvd)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* <1d1db> ../cstrike/dlls/bmodels.cpp:230 */
|
/* <1d1db> ../cstrike/dlls/bmodels.cpp:230 */
|
||||||
NOBODY void CFuncIllusionary::Spawn_(void)
|
NOBODY void CFuncIllusionary::__MAKE_VHOOK(Spawn)(void)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -141,7 +141,7 @@ NOBODY void CFuncIllusionary::Spawn_(void)
|
|||||||
LINK_ENTITY_TO_CLASS(func_monsterclip, CFuncMonsterClip);
|
LINK_ENTITY_TO_CLASS(func_monsterclip, CFuncMonsterClip);
|
||||||
|
|
||||||
/* <1e24f> ../cstrike/dlls/bmodels.cpp:264 */
|
/* <1e24f> ../cstrike/dlls/bmodels.cpp:264 */
|
||||||
NOBODY void CFuncMonsterClip::Spawn_(void)
|
NOBODY void CFuncMonsterClip::__MAKE_VHOOK(Spawn)(void)
|
||||||
{
|
{
|
||||||
// Spawn(CFuncWall *const this); // 266
|
// Spawn(CFuncWall *const this); // 266
|
||||||
}
|
}
|
||||||
@ -153,7 +153,7 @@ LINK_ENTITY_TO_CLASS(func_rotating, CFuncRotating);
|
|||||||
IMPLEMENT_SAVERESTORE(CFuncRotating, CBaseEntity);
|
IMPLEMENT_SAVERESTORE(CFuncRotating, CBaseEntity);
|
||||||
|
|
||||||
/* <1dc21> ../cstrike/dlls/bmodels.cpp:315 */
|
/* <1dc21> ../cstrike/dlls/bmodels.cpp:315 */
|
||||||
NOBODY void CFuncRotating::KeyValue_(KeyValueData *pkvd)
|
NOBODY void CFuncRotating::__MAKE_VHOOK(KeyValue)(KeyValueData *pkvd)
|
||||||
{
|
{
|
||||||
// FStrEq(const char *sz1,
|
// FStrEq(const char *sz1,
|
||||||
// const char *sz2); // 317
|
// const char *sz2); // 317
|
||||||
@ -176,13 +176,13 @@ NOBODY void CFuncRotating::KeyValue_(KeyValueData *pkvd)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* <1d5c4> ../cstrike/dlls/bmodels.cpp:362 */
|
/* <1d5c4> ../cstrike/dlls/bmodels.cpp:362 */
|
||||||
NOBODY void CFuncRotating::Spawn_(void)
|
NOBODY void CFuncRotating::__MAKE_VHOOK(Spawn)(void)
|
||||||
{
|
{
|
||||||
// operator*(const Vector ::Spawn(// float fl); // 404
|
// operator*(const Vector ::Spawn(// float fl); // 404
|
||||||
}
|
}
|
||||||
|
|
||||||
/* <1d28a> ../cstrike/dlls/bmodels.cpp:447 */
|
/* <1d28a> ../cstrike/dlls/bmodels.cpp:447 */
|
||||||
NOBODY void CFuncRotating::Precache_(void)
|
NOBODY void CFuncRotating::__MAKE_VHOOK(Precache)(void)
|
||||||
{
|
{
|
||||||
// {
|
// {
|
||||||
// char *szSoundFile; // 449
|
// char *szSoundFile; // 449
|
||||||
@ -267,7 +267,7 @@ NOBODY void CFuncRotating::RotatingUse(CBaseEntity *pActivator, CBaseEntity *pCa
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* <1d325> ../cstrike/dlls/bmodels.cpp:706 */
|
/* <1d325> ../cstrike/dlls/bmodels.cpp:706 */
|
||||||
NOBODY void CFuncRotating::Blocked_(CBaseEntity *pOther)
|
NOBODY void CFuncRotating::__MAKE_VHOOK(Blocked)(CBaseEntity *pOther)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -278,7 +278,7 @@ LINK_ENTITY_TO_CLASS(func_pendulum, CPendulum);
|
|||||||
IMPLEMENT_SAVERESTORE(CPendulum, CBaseEntity);
|
IMPLEMENT_SAVERESTORE(CPendulum, CBaseEntity);
|
||||||
|
|
||||||
/* <1db2a> ../cstrike/dlls/bmodels.cpp:765 */
|
/* <1db2a> ../cstrike/dlls/bmodels.cpp:765 */
|
||||||
NOBODY void CPendulum::KeyValue_(KeyValueData *pkvd)
|
NOBODY void CPendulum::__MAKE_VHOOK(KeyValue)(KeyValueData *pkvd)
|
||||||
{
|
{
|
||||||
// FStrEq(const char *sz1,
|
// FStrEq(const char *sz1,
|
||||||
// const char *sz2); // 767
|
// const char *sz2); // 767
|
||||||
@ -292,7 +292,7 @@ NOBODY void CPendulum::KeyValue_(KeyValueData *pkvd)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* <1d9c7> ../cstrike/dlls/bmodels.cpp:782 */
|
/* <1d9c7> ../cstrike/dlls/bmodels.cpp:782 */
|
||||||
NOBODY void CPendulum::Spawn_(void)
|
NOBODY void CPendulum::__MAKE_VHOOK(Spawn)(void)
|
||||||
{
|
{
|
||||||
// Spawn(CPendulum *const this); // 782
|
// Spawn(CPendulum *const this); // 782
|
||||||
}
|
}
|
||||||
@ -316,7 +316,7 @@ NOBODY void CPendulum::Stop(void)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* <1d3a7> ../cstrike/dlls/bmodels.cpp:861 */
|
/* <1d3a7> ../cstrike/dlls/bmodels.cpp:861 */
|
||||||
NOBODY void CPendulum::Blocked_(CBaseEntity *pOther)
|
NOBODY void CPendulum::__MAKE_VHOOK(Blocked)(CBaseEntity *pOther)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -332,7 +332,7 @@ NOBODY void CPendulum::Swing(void)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* <1d3f5> ../cstrike/dlls/bmodels.cpp:909 */
|
/* <1d3f5> ../cstrike/dlls/bmodels.cpp:909 */
|
||||||
NOBODY void CPendulum::Touch_(CBaseEntity *pOther)
|
NOBODY void CPendulum::__MAKE_VHOOK(Touch)(CBaseEntity *pOther)
|
||||||
{
|
{
|
||||||
// {
|
// {
|
||||||
// entvars_t *pevOther; // 911
|
// entvars_t *pevOther; // 911
|
||||||
|
@ -19,19 +19,19 @@ NOBODY int GetBotFollowCount(CBasePlayer *leader)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* <2e86df> ../cstrike/dlls/bot/cs_bot.cpp:62 */
|
/* <2e86df> ../cstrike/dlls/bot/cs_bot.cpp:62 */
|
||||||
NOBODY void CCSBot::Walk_(void)
|
NOBODY void CCSBot::__MAKE_VHOOK(Walk)(void)
|
||||||
{
|
{
|
||||||
// IsElapsed(const class CountdownTimer *const this); // 64
|
// IsElapsed(const class CountdownTimer *const this); // 64
|
||||||
// Walk(CBot *const this); // 66
|
// Walk(CBot *const this); // 66
|
||||||
}
|
}
|
||||||
|
|
||||||
/* <2e8732> ../cstrike/dlls/bot/cs_bot.cpp:80 */
|
/* <2e8732> ../cstrike/dlls/bot/cs_bot.cpp:80 */
|
||||||
NOBODY bool CCSBot::Jump_(bool mustJump)
|
NOBODY bool CCSBot::__MAKE_VHOOK(Jump)(bool mustJump)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
/* <2e8e39> ../cstrike/dlls/bot/cs_bot.cpp:97 */
|
/* <2e8e39> ../cstrike/dlls/bot/cs_bot.cpp:97 */
|
||||||
NOBODY int CCSBot::TakeDamage_(entvars_t *pevInflictor, entvars_t *pevAttacker, float flDamage, int bitsDamageType)
|
NOBODY int CCSBot::__MAKE_VHOOK(TakeDamage)(entvars_t *pevInflictor, entvars_t *pevAttacker, float flDamage, int bitsDamageType)
|
||||||
{
|
{
|
||||||
// {
|
// {
|
||||||
// class CBaseEntity *attacker; // 99
|
// class CBaseEntity *attacker; // 99
|
||||||
@ -57,7 +57,7 @@ NOBODY int CCSBot::TakeDamage_(entvars_t *pevInflictor, entvars_t *pevAttacker,
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* <2e8769> ../cstrike/dlls/bot/cs_bot.cpp:171 */
|
/* <2e8769> ../cstrike/dlls/bot/cs_bot.cpp:171 */
|
||||||
NOBODY void CCSBot::Killed_(entvars_t *pevAttacker, int iGib)
|
NOBODY void CCSBot::__MAKE_VHOOK(Killed)(entvars_t *pevAttacker, int iGib)
|
||||||
{
|
{
|
||||||
// {
|
// {
|
||||||
// float const deathDanger; // 178
|
// float const deathDanger; // 178
|
||||||
|
@ -45,13 +45,13 @@
|
|||||||
|
|
||||||
#ifdef HOOK_GAMEDLL
|
#ifdef HOOK_GAMEDLL
|
||||||
|
|
||||||
#define navAreaCount (*pnavAreaCount)
|
#define _navAreaCount (*pnavAreaCount)
|
||||||
#define currentIndex (*pcurrentIndex)
|
#define _currentIndex (*pcurrentIndex)
|
||||||
|
|
||||||
#endif // HOOK_GAMEDLL
|
#endif // HOOK_GAMEDLL
|
||||||
|
|
||||||
extern int navAreaCount;
|
extern int _navAreaCount;
|
||||||
extern int currentIndex;
|
extern int _currentIndex;
|
||||||
|
|
||||||
/* <3327a8> ../cstrike/dlls/bot/cs_bot.h:44 */
|
/* <3327a8> ../cstrike/dlls/bot/cs_bot.h:44 */
|
||||||
class BotState
|
class BotState
|
||||||
@ -676,7 +676,7 @@ public:
|
|||||||
NOBODY void StartVoiceFeedback(float duration);
|
NOBODY void StartVoiceFeedback(float duration);
|
||||||
bool IsUsingVoice(void) const
|
bool IsUsingVoice(void) const
|
||||||
{
|
{
|
||||||
return (m_voiceFeedbackEndTimestamp > gpGlobals->time);
|
return (m_voiceFeedbackEndTimestamp != 0.0f); //return (m_voiceFeedbackEndTimestamp > gpGlobals->time);
|
||||||
}
|
}
|
||||||
void SetEnemy(CBasePlayer *enemy);
|
void SetEnemy(CBasePlayer *enemy);
|
||||||
CBasePlayer *GetEnemy(void)
|
CBasePlayer *GetEnemy(void)
|
||||||
@ -685,7 +685,7 @@ public:
|
|||||||
}
|
}
|
||||||
int GetNearbyEnemyCount(void) const
|
int GetNearbyEnemyCount(void) const
|
||||||
{
|
{
|
||||||
return min( GetEnemiesRemaining(), m_nearbyEnemyCount );
|
return _min(GetEnemiesRemaining(), m_nearbyEnemyCount);
|
||||||
}
|
}
|
||||||
unsigned int GetEnemyPlace(void) const
|
unsigned int GetEnemyPlace(void) const
|
||||||
{
|
{
|
||||||
@ -698,7 +698,7 @@ public:
|
|||||||
}
|
}
|
||||||
int GetNearbyFriendCount(void) const
|
int GetNearbyFriendCount(void) const
|
||||||
{
|
{
|
||||||
return min( GetFriendsRemaining(), m_nearbyFriendCount );
|
return _min(GetFriendsRemaining(), m_nearbyFriendCount);
|
||||||
}
|
}
|
||||||
CBasePlayer *GetClosestVisibleFriend(void) const
|
CBasePlayer *GetClosestVisibleFriend(void) const
|
||||||
{
|
{
|
||||||
@ -1432,7 +1432,7 @@ public:
|
|||||||
else
|
else
|
||||||
{
|
{
|
||||||
const float k = 1.5f; // 2.0f;
|
const float k = 1.5f; // 2.0f;
|
||||||
float trimSpeed = min(speed, 200.0f);
|
float trimSpeed = (speed < 200.0f) ? speed : 200.0f;
|
||||||
|
|
||||||
m_cutoff.x = playerOrigin.x + k * trimSpeed * m_forward.x;
|
m_cutoff.x = playerOrigin.x + k * trimSpeed * m_forward.x;
|
||||||
m_cutoff.y = playerOrigin.y + k * trimSpeed * m_forward.y;
|
m_cutoff.y = playerOrigin.y + k * trimSpeed * m_forward.y;
|
||||||
|
@ -225,7 +225,7 @@ char *BotPhrase::GetSpeakable(int bankIndex, float *duration) const
|
|||||||
// check count criteria
|
// check count criteria
|
||||||
// if this speakable has a count criteria, it must match to be used
|
// if this speakable has a count criteria, it must match to be used
|
||||||
// if this speakable does not have a count criteria, we dont care what the count is set to
|
// if this speakable does not have a count criteria, we dont care what the count is set to
|
||||||
if (speak->m_count == UNDEFINED_COUNT || speak->m_count == min(m_countCriteria, COUNT_MANY))
|
if (speak->m_count == UNDEFINED_COUNT || speak->m_count == _min(m_countCriteria, COUNT_MANY))
|
||||||
{
|
{
|
||||||
if (duration)
|
if (duration)
|
||||||
*duration = speak->m_duration;
|
*duration = speak->m_duration;
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
#include "precompiled.h"
|
#include "precompiled.h"
|
||||||
|
|
||||||
/* <31d087> ../cstrike/dlls/bot/cs_bot_event.cpp:22 */
|
/* <31d087> ../cstrike/dlls/bot/cs_bot_event.cpp:22 */
|
||||||
void CCSBot::OnEvent_(GameEventType event, CBaseEntity *entity, CBaseEntity *other)
|
void CCSBot::__MAKE_VHOOK(OnEvent)(GameEventType event, CBaseEntity *entity, CBaseEntity *other)
|
||||||
{
|
{
|
||||||
// {
|
// {
|
||||||
// class CCSBotManager *ctrl; // 63
|
// class CCSBotManager *ctrl; // 63
|
||||||
|
@ -88,7 +88,7 @@ void Bot_RegisterCvars(void)
|
|||||||
//}
|
//}
|
||||||
|
|
||||||
/* <3342ac> ../cstrike/dlls/bot/cs_bot_init.cpp:137 */
|
/* <3342ac> ../cstrike/dlls/bot/cs_bot_init.cpp:137 */
|
||||||
NOBODY bool CCSBot::Initialize_(const BotProfile *profile)
|
NOBODY bool CCSBot::__MAKE_VHOOK(Initialize)(const BotProfile *profile)
|
||||||
{
|
{
|
||||||
CBot::Initialize(profile);
|
CBot::Initialize(profile);
|
||||||
|
|
||||||
@ -264,7 +264,7 @@ NOBODY void CCSBot::ResetValues(void)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* <3342e4> ../cstrike/dlls/bot/cs_bot_init.cpp:336 */
|
/* <3342e4> ../cstrike/dlls/bot/cs_bot_init.cpp:336 */
|
||||||
NOBODY void CCSBot::SpawnBot_(void)
|
NOBODY void CCSBot::__MAKE_VHOOK(SpawnBot)(void)
|
||||||
{
|
{
|
||||||
// {
|
// {
|
||||||
// class CCSBotManager *ctrl; // 338
|
// class CCSBotManager *ctrl; // 338
|
||||||
@ -273,7 +273,7 @@ NOBODY void CCSBot::SpawnBot_(void)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* <3338f7> ../cstrike/dlls/bot/cs_bot_init.cpp:366 */
|
/* <3338f7> ../cstrike/dlls/bot/cs_bot_init.cpp:366 */
|
||||||
NOBODY void CCSBot::RoundRespawn_(void)
|
NOBODY void CCSBot::__MAKE_VHOOK(RoundRespawn)(void)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -13,8 +13,8 @@ const float updateTimesliceDuration = 0.0;//TODO: what value?? check it.
|
|||||||
|
|
||||||
#endif // HOOK_GAMEDLL
|
#endif // HOOK_GAMEDLL
|
||||||
|
|
||||||
int navAreaCount;
|
int _navAreaCount;
|
||||||
int currentIndex;
|
int _currentIndex;
|
||||||
|
|
||||||
/* <343cbe> ../cstrike/dlls/bot/cs_bot_learn.cpp:95 */
|
/* <343cbe> ../cstrike/dlls/bot/cs_bot_learn.cpp:95 */
|
||||||
NOBODY inline class CNavNode *LadderEndSearch(CBaseEntity *entity, const Vector *pos, NavDirType mountDir)
|
NOBODY inline class CNavNode *LadderEndSearch(CBaseEntity *entity, const Vector *pos, NavDirType mountDir)
|
||||||
@ -194,8 +194,8 @@ void CCSBot::StartAnalyzeAlphaProcess(void)
|
|||||||
m_processMode = PROCESS_ANALYZE_ALPHA;
|
m_processMode = PROCESS_ANALYZE_ALPHA;
|
||||||
m_analyzeIter = TheNavAreaList.begin();
|
m_analyzeIter = TheNavAreaList.begin();
|
||||||
|
|
||||||
navAreaCount = TheNavAreaList.size();
|
_navAreaCount = TheNavAreaList.size();
|
||||||
currentIndex = 0;
|
_currentIndex = 0;
|
||||||
|
|
||||||
ApproachAreaAnalysisPrep();
|
ApproachAreaAnalysisPrep();
|
||||||
DestroyHidingSpots();
|
DestroyHidingSpots();
|
||||||
|
@ -112,7 +112,7 @@ NOBODY CCSBotManager::CCSBotManager(void)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* <36b22a> ../cstrike/dlls/bot/cs_bot_manager.cpp:111 */
|
/* <36b22a> ../cstrike/dlls/bot/cs_bot_manager.cpp:111 */
|
||||||
void CCSBotManager::RestartRound_(void)
|
void CCSBotManager::__MAKE_VHOOK(RestartRound)(void)
|
||||||
{
|
{
|
||||||
// extend
|
// extend
|
||||||
CBotManager::RestartRound();
|
CBotManager::RestartRound();
|
||||||
@ -159,21 +159,40 @@ NOBODY void UTIL_DrawBox(Extent *extent, int lifetime, int red, int green, int b
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* <36b13d> ../cstrike/dlls/bot/cs_bot_manager.cpp:195 */
|
/* <36b13d> ../cstrike/dlls/bot/cs_bot_manager.cpp:195 */
|
||||||
NOBODY void CCSBotManager::StartFrame_(void)
|
NOBODY void CCSBotManager::__MAKE_VHOOK(StartFrame)(void)
|
||||||
{
|
{
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/* <36b62a> ../cstrike/dlls/bot/cs_bot_manager.cpp:276 */
|
/* <36b62a> ../cstrike/dlls/bot/cs_bot_manager.cpp:276 */
|
||||||
NOBODY bool CCSBotManager::IsWeaponUseable(CBasePlayerItem *item) const
|
bool CCSBotManager::IsWeaponUseable(CBasePlayerItem *item) const
|
||||||
|
{
|
||||||
|
if (item == NULL)
|
||||||
{
|
{
|
||||||
// {
|
|
||||||
// int weaponClass; // 284
|
|
||||||
// AllowShotguns(const class CCSBotManager *const this); // 286
|
|
||||||
// }
|
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (item->m_iId != WEAPON_C4)
|
||||||
|
{
|
||||||
|
int weaponClass = WeaponIDToWeaponClass(item->m_iId);
|
||||||
|
|
||||||
|
if ((!AllowShotguns() && weaponClass == WEAPONCLASS_SHOTGUN)
|
||||||
|
|| (!AllowMachineGuns() && weaponClass == WEAPONCLASS_MACHINEGUN)
|
||||||
|
|| (!AllowRifles() && weaponClass == WEAPONCLASS_RIFLE)
|
||||||
|
//|| (!AllowShotguns() && weaponClass == WEAPONCLASS_SHOTGUN) // TODO: already is checked shotguns!
|
||||||
|
|| (!AllowSnipers() && weaponClass == WEAPONCLASS_SNIPERRIFLE)
|
||||||
|
|| (!AllowSubMachineGuns() && weaponClass == WEAPONCLASS_SUBMACHINEGUN)
|
||||||
|
|| (!AllowTacticalShield() && item->m_iId == WEAPON_SHIELDGUN)
|
||||||
|
|| (!AllowPistols() && weaponClass == WEAPONCLASS_PISTOL)
|
||||||
|
|| (!AllowGrenades() && weaponClass == WEAPONCLASS_GRENADE))
|
||||||
|
{
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
/* <36b68c> ../cstrike/dlls/bot/cs_bot_manager.cpp:306 */
|
/* <36b68c> ../cstrike/dlls/bot/cs_bot_manager.cpp:306 */
|
||||||
NOBODY bool CCSBotManager::IsOnDefense(CBasePlayer *player) const
|
NOBODY bool CCSBotManager::IsOnDefense(CBasePlayer *player) const
|
||||||
{
|
{
|
||||||
@ -187,7 +206,7 @@ NOBODY bool CCSBotManager::IsOnOffense(CBasePlayer *player) const
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* <36a3b6> ../cstrike/dlls/bot/cs_bot_manager.cpp:331 */
|
/* <36a3b6> ../cstrike/dlls/bot/cs_bot_manager.cpp:331 */
|
||||||
void CCSBotManager::ServerActivate_(void)
|
void CCSBotManager::__MAKE_VHOOK(ServerActivate)(void)
|
||||||
{
|
{
|
||||||
DestroyNavigationMap();
|
DestroyNavigationMap();
|
||||||
IMPLEMENT_ARRAY(m_isMapDataLoaded) = false;
|
IMPLEMENT_ARRAY(m_isMapDataLoaded) = false;
|
||||||
@ -208,7 +227,7 @@ void CCSBotManager::ServerActivate_(void)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* <36afcd> ../cstrike/dlls/bot/cs_bot_manager.cpp:369 */
|
/* <36afcd> ../cstrike/dlls/bot/cs_bot_manager.cpp:369 */
|
||||||
void CCSBotManager::AddServerCommand_(const char *cmd)
|
void CCSBotManager::__MAKE_VHOOK(AddServerCommand)(const char *cmd)
|
||||||
{
|
{
|
||||||
#if defined(HOOK_GAMEDLL) && !defined(REGAMEDLL_UNIT_TESTS)
|
#if defined(HOOK_GAMEDLL) && !defined(REGAMEDLL_UNIT_TESTS)
|
||||||
ADD_SERVER_COMMAND((char *)cmd, (xcommand_t)GetOriginalFuncAddrOrDefault("_Z17Bot_ServerCommandv", (void *)Bot_ServerCommand));
|
ADD_SERVER_COMMAND((char *)cmd, (xcommand_t)GetOriginalFuncAddrOrDefault("_Z17Bot_ServerCommandv", (void *)Bot_ServerCommand));
|
||||||
@ -218,7 +237,7 @@ void CCSBotManager::AddServerCommand_(const char *cmd)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* <36b0e0> ../cstrike/dlls/bot/cs_bot_manager.cpp:375 */
|
/* <36b0e0> ../cstrike/dlls/bot/cs_bot_manager.cpp:375 */
|
||||||
void CCSBotManager::AddServerCommands_(void)
|
void CCSBotManager::__MAKE_VHOOK(AddServerCommands)(void)
|
||||||
{
|
{
|
||||||
static bool fFirstTime = true;
|
static bool fFirstTime = true;
|
||||||
|
|
||||||
@ -274,13 +293,13 @@ void CCSBotManager::AddServerCommands_(void)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* <36b2ac> ../cstrike/dlls/bot/cs_bot_manager.cpp:413 */
|
/* <36b2ac> ../cstrike/dlls/bot/cs_bot_manager.cpp:413 */
|
||||||
void CCSBotManager::ServerDeactivate_(void)
|
void CCSBotManager::__MAKE_VHOOK(ServerDeactivate)(void)
|
||||||
{
|
{
|
||||||
m_bServerActive = false;
|
m_bServerActive = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* <36b5fa> ../cstrike/dlls/bot/cs_bot_manager.cpp:415 */
|
/* <36b5fa> ../cstrike/dlls/bot/cs_bot_manager.cpp:415 */
|
||||||
void CCSBotManager::ClientDisconnect_(CBasePlayer *pPlayer)
|
void CCSBotManager::__MAKE_VHOOK(ClientDisconnect)(CBasePlayer *pPlayer)
|
||||||
{
|
{
|
||||||
if (!pPlayer || !pPlayer->IsBot())
|
if (!pPlayer || !pPlayer->IsBot())
|
||||||
return;
|
return;
|
||||||
@ -315,7 +334,7 @@ void PrintAllEntities(void)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* <36ace2> ../cstrike/dlls/bot/cs_bot_manager.cpp:484 */
|
/* <36ace2> ../cstrike/dlls/bot/cs_bot_manager.cpp:484 */
|
||||||
void CCSBotManager::ServerCommand_(const char *pcmd)
|
void CCSBotManager::__MAKE_VHOOK(ServerCommand)(const char *pcmd)
|
||||||
{
|
{
|
||||||
if (!m_bServerActive || !UTIL_IsGame("czero"))
|
if (!m_bServerActive || !UTIL_IsGame("czero"))
|
||||||
return;
|
return;
|
||||||
@ -326,7 +345,6 @@ void CCSBotManager::ServerCommand_(const char *pcmd)
|
|||||||
if (FStrEq(pcmd, "bot_about"))
|
if (FStrEq(pcmd, "bot_about"))
|
||||||
{
|
{
|
||||||
Q_sprintf(buffer, "\n--------------------------------------------------------------------------\nThe Official Counter-Strike Bot V%d.%02d\nCreated by Michael S. Booth\nWeb: www.turtlerockstudios.com\\csbot\nE-mail: csbot@turtlerockstudios.com\n--------------------------------------------------------------------------\n\n", CSBOT_VERSION_MAJOR, CSBOT_VERSION_MINOR);
|
Q_sprintf(buffer, "\n--------------------------------------------------------------------------\nThe Official Counter-Strike Bot V%d.%02d\nCreated by Michael S. Booth\nWeb: www.turtlerockstudios.com\\csbot\nE-mail: csbot@turtlerockstudios.com\n--------------------------------------------------------------------------\n\n", CSBOT_VERSION_MAJOR, CSBOT_VERSION_MINOR);
|
||||||
|
|
||||||
CONSOLE_ECHO(buffer);
|
CONSOLE_ECHO(buffer);
|
||||||
HintMessageToAllPlayers(buffer);
|
HintMessageToAllPlayers(buffer);
|
||||||
}
|
}
|
||||||
@ -653,7 +671,7 @@ void CCSBotManager::ServerCommand_(const char *pcmd)
|
|||||||
|
|
||||||
for (SpotEncounterList::iterator siter = area->m_spotEncounterList.begin(); siter != area->m_spotEncounterList.end(); ++siter)
|
for (SpotEncounterList::iterator siter = area->m_spotEncounterList.begin(); siter != area->m_spotEncounterList.end(); ++siter)
|
||||||
{
|
{
|
||||||
// TODO: Fix me
|
// TODO: Fix me, this is crashed in HOOK_GAMEDLL
|
||||||
SpotEncounter se = (*siter);
|
SpotEncounter se = (*siter);
|
||||||
|
|
||||||
encounterMem += sizeof(SpotEncounter);
|
encounterMem += sizeof(SpotEncounter);
|
||||||
@ -1108,7 +1126,7 @@ NOBODY CNavArea *CCSBotManager::GetRandomAreaInZone(const Zone *zone) const
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* <36b02d> ../cstrike/dlls/bot/cs_bot_manager.cpp:1477 */
|
/* <36b02d> ../cstrike/dlls/bot/cs_bot_manager.cpp:1477 */
|
||||||
void CCSBotManager::OnEvent_(GameEventType event, CBaseEntity *entity, CBaseEntity *other)
|
void CCSBotManager::__MAKE_VHOOK(OnEvent)(GameEventType event, CBaseEntity *entity, CBaseEntity *other)
|
||||||
{
|
{
|
||||||
switch (event)
|
switch (event)
|
||||||
{
|
{
|
||||||
@ -1147,9 +1165,17 @@ void CCSBotManager::OnEvent_(GameEventType event, CBaseEntity *entity, CBaseEnti
|
|||||||
CBotManager::OnEvent(event, entity, other);
|
CBotManager::OnEvent(event, entity, other);
|
||||||
}
|
}
|
||||||
|
|
||||||
NOBODY BOOL CCSBotManager::ClientCommand_(CBasePlayer *pPlayer, const char *pcmd)
|
BOOL CCSBotManager::__MAKE_VHOOK(ClientCommand)(CBasePlayer *pPlayer, const char *pcmd)
|
||||||
{
|
{
|
||||||
|
// TODO: rly?
|
||||||
|
#ifndef REGAMEDLL_FIXES
|
||||||
|
if (pPlayer && UTIL_GetLocalPlayer())
|
||||||
|
{
|
||||||
|
UTIL_GetLocalPlayer();
|
||||||
|
}
|
||||||
|
#endif // REGAMEDLL_FIXES
|
||||||
|
|
||||||
|
return FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* <36bdb3> ../cstrike/dlls/bot/cs_bot_manager.cpp:1541 */
|
/* <36bdb3> ../cstrike/dlls/bot/cs_bot_manager.cpp:1541 */
|
||||||
@ -1169,14 +1195,14 @@ void CCSBotManager::SetLooseBomb(CBaseEntity *bomb)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* <36b14d> ../cstrike/dlls/bot/cs_bot_manager.cpp:1565 */
|
/* <36b14d> ../cstrike/dlls/bot/cs_bot_manager.cpp:1565 */
|
||||||
NOBODY bool CCSBotManager::IsImportantPlayer_(CBasePlayer *player)
|
NOBODY bool CCSBotManager::__MAKE_VHOOK(IsImportantPlayer)(CBasePlayer *player)
|
||||||
{
|
{
|
||||||
// IsImportantPlayer(const class CCSBotManager *const this,
|
// IsImportantPlayer(const class CCSBotManager *const this,
|
||||||
// class CBasePlayer *player); // 1565
|
// class CBasePlayer *player); // 1565
|
||||||
}
|
}
|
||||||
|
|
||||||
/* <36b1a7> ../cstrike/dlls/bot/cs_bot_manager.cpp:1602 */
|
/* <36b1a7> ../cstrike/dlls/bot/cs_bot_manager.cpp:1602 */
|
||||||
NOBODY unsigned int CCSBotManager::GetPlayerPriority_(CBasePlayer *player) const
|
NOBODY unsigned int CCSBotManager::__MAKE_VHOOK(GetPlayerPriority)(CBasePlayer *player) const
|
||||||
{
|
{
|
||||||
// {
|
// {
|
||||||
// unsigned int const lowestPriority; // 1604
|
// unsigned int const lowestPriority; // 1604
|
||||||
|
@ -113,7 +113,7 @@ public:
|
|||||||
CCSBotManager(void);
|
CCSBotManager(void);
|
||||||
public:
|
public:
|
||||||
virtual void ClientDisconnect(CBasePlayer *pPlayer);
|
virtual void ClientDisconnect(CBasePlayer *pPlayer);
|
||||||
NOBODY virtual BOOL ClientCommand(CBasePlayer *pPlayer, const char *pcmd);
|
virtual BOOL ClientCommand(CBasePlayer *pPlayer, const char *pcmd);
|
||||||
|
|
||||||
virtual void ServerActivate(void);
|
virtual void ServerActivate(void);
|
||||||
virtual void ServerDeactivate(void);
|
virtual void ServerDeactivate(void);
|
||||||
@ -357,7 +357,7 @@ public:
|
|||||||
{
|
{
|
||||||
return friendlyfire.value != 0;
|
return friendlyfire.value != 0;
|
||||||
}
|
}
|
||||||
NOBODY bool IsWeaponUseable(CBasePlayerItem *item) const;
|
bool IsWeaponUseable(CBasePlayerItem *item) const;
|
||||||
bool IsDefenseRushing(void) const
|
bool IsDefenseRushing(void) const
|
||||||
{
|
{
|
||||||
return m_isDefenseRushing;
|
return m_isDefenseRushing;
|
||||||
|
@ -1,15 +1,10 @@
|
|||||||
#include "precompiled.h"
|
#include "precompiled.h"
|
||||||
|
|
||||||
/* <3c635f> ../cstrike/dlls/bot/cs_bot_update.cpp:26 */
|
/* <3c635f> ../cstrike/dlls/bot/cs_bot_update.cpp:26 */
|
||||||
void CCSBot::Upkeep_(void)
|
void CCSBot::__MAKE_VHOOK(Upkeep)(void)
|
||||||
{
|
{
|
||||||
#ifndef HOOK_GAMEDLL
|
if (IMPLEMENT_ARRAY_CLASS(CCSBotManager, m_isLearningMap) || !IsAlive())
|
||||||
if (CCSBotManager::pm_isLearningMap || !IsAlive())
|
|
||||||
return;
|
return;
|
||||||
#else
|
|
||||||
if ((*CCSBotManager::pm_isLearningMap) || !IsAlive())
|
|
||||||
return;
|
|
||||||
#endif // HOOK_GAMEDLL
|
|
||||||
|
|
||||||
if (m_isRapidFiring)
|
if (m_isRapidFiring)
|
||||||
TogglePrimaryAttack();
|
TogglePrimaryAttack();
|
||||||
|
@ -14,13 +14,10 @@ float StayOnLadderLine(CCSBot *me, const CNavLadder *ladder)
|
|||||||
{
|
{
|
||||||
case NORTH:
|
case NORTH:
|
||||||
return stiffness * (ladder->m_top.x - me->pev->origin.x);
|
return stiffness * (ladder->m_top.x - me->pev->origin.x);
|
||||||
|
|
||||||
case EAST:
|
case EAST:
|
||||||
return stiffness * (ladder->m_top.y - me->pev->origin.y);
|
return stiffness * (ladder->m_top.y - me->pev->origin.y);
|
||||||
|
|
||||||
case SOUTH:
|
case SOUTH:
|
||||||
return -stiffness * (ladder->m_top.x - me->pev->origin.x);
|
return -stiffness * (ladder->m_top.x - me->pev->origin.x);
|
||||||
|
|
||||||
case WEST:
|
case WEST:
|
||||||
return -stiffness * (ladder->m_top.y - me->pev->origin.y);
|
return -stiffness * (ladder->m_top.y - me->pev->origin.y);
|
||||||
}
|
}
|
||||||
@ -175,7 +172,7 @@ void __declspec(naked) CCSBot::UpdateLookAngles(void)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* <3d8c91> ../cstrike/dlls/bot/cs_bot_vision.cpp:238 */
|
/* <3d8c91> ../cstrike/dlls/bot/cs_bot_vision.cpp:238 */
|
||||||
NOBODY bool CCSBot::IsVisible_(const Vector *pos, bool testFOV) const
|
NOBODY bool CCSBot::__MAKE_VHOOK(IsVisible)(const Vector *pos, bool testFOV) const
|
||||||
{
|
{
|
||||||
// {
|
// {
|
||||||
// const Vector *eye; // 248
|
// const Vector *eye; // 248
|
||||||
@ -187,7 +184,7 @@ NOBODY bool CCSBot::IsVisible_(const Vector *pos, bool testFOV) const
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* <3d8d9b> ../cstrike/dlls/bot/cs_bot_vision.cpp:269 */
|
/* <3d8d9b> ../cstrike/dlls/bot/cs_bot_vision.cpp:269 */
|
||||||
NOBODY bool CCSBot::IsVisible_(CBasePlayer *player, bool testFOV, unsigned char *visParts) const
|
NOBODY bool CCSBot::__MAKE_VHOOK(IsVisible)(CBasePlayer *player, bool testFOV, unsigned char *visParts) const
|
||||||
{
|
{
|
||||||
// {
|
// {
|
||||||
// float const topOfHead; // 271
|
// float const topOfHead; // 271
|
||||||
@ -207,7 +204,7 @@ NOBODY bool CCSBot::IsVisible_(CBasePlayer *player, bool testFOV, unsigned char
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* <3d8f9f> ../cstrike/dlls/bot/cs_bot_vision.cpp:302 */
|
/* <3d8f9f> ../cstrike/dlls/bot/cs_bot_vision.cpp:302 */
|
||||||
bool CCSBot::IsEnemyPartVisible_(VisiblePartType part) const
|
bool CCSBot::__MAKE_VHOOK(IsEnemyPartVisible)(VisiblePartType part) const
|
||||||
{
|
{
|
||||||
if (!IsEnemyVisible())
|
if (!IsEnemyVisible())
|
||||||
return false;
|
return false;
|
||||||
@ -512,7 +509,7 @@ NOBODY float CCSBot::GetRangeToNearestRecognizedEnemy(void)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* <3da170> ../cstrike/dlls/bot/cs_bot_vision.cpp:1063 */
|
/* <3da170> ../cstrike/dlls/bot/cs_bot_vision.cpp:1063 */
|
||||||
NOBODY void CCSBot::Blind_(float duration, float holdTime, float fadeTime, int alpha)
|
NOBODY void CCSBot::__MAKE_VHOOK(Blind)(float duration, float holdTime, float fadeTime, int alpha)
|
||||||
{
|
{
|
||||||
// Say(BotChatterInterface *const this,
|
// Say(BotChatterInterface *const this,
|
||||||
// const char *phraseName,
|
// const char *phraseName,
|
||||||
|
@ -62,11 +62,13 @@ void CCSBot::SetAimOffset(float accuracy)
|
|||||||
if (accuracy < 1.0f)
|
if (accuracy < 1.0f)
|
||||||
{
|
{
|
||||||
// if we moved our view, reset our "focus" mechanism
|
// if we moved our view, reset our "focus" mechanism
|
||||||
if (IsViewMoving( 100 ))
|
if (IsViewMoving(100.0f))
|
||||||
|
{
|
||||||
m_aimSpreadTimestamp = gpGlobals->time;
|
m_aimSpreadTimestamp = gpGlobals->time;
|
||||||
|
}
|
||||||
|
|
||||||
// focusTime is the time it takes for a bot to "focus in" for very good aim, from 2 to 5 seconds
|
// focusTime is the time it takes for a bot to "focus in" for very good aim, from 2 to 5 seconds
|
||||||
const float focusTime = max( 5.0f * (1.0f - accuracy), 2.0f );
|
const float focusTime = _max(5.0f * (1.0f - accuracy), 2.0f);
|
||||||
|
|
||||||
float focusInterval = gpGlobals->time - m_aimSpreadTimestamp;
|
float focusInterval = gpGlobals->time - m_aimSpreadTimestamp;
|
||||||
float focusAccuracy = focusInterval / focusTime;
|
float focusAccuracy = focusInterval / focusTime;
|
||||||
@ -77,7 +79,7 @@ void CCSBot::SetAimOffset(float accuracy)
|
|||||||
if (focusAccuracy > maxFocusAccuracy)
|
if (focusAccuracy > maxFocusAccuracy)
|
||||||
focusAccuracy = maxFocusAccuracy;
|
focusAccuracy = maxFocusAccuracy;
|
||||||
|
|
||||||
accuracy = max( accuracy, focusAccuracy );
|
accuracy = _max(accuracy, focusAccuracy);
|
||||||
}
|
}
|
||||||
|
|
||||||
PrintIfWatched("Accuracy = %4.3f\n", accuracy);
|
PrintIfWatched("Accuracy = %4.3f\n", accuracy);
|
||||||
@ -422,7 +424,7 @@ NOBODY void CCSBot::SilencerCheck(void)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* <3eb1a9> ../cstrike/dlls/bot/cs_bot_weapon.cpp:926 */
|
/* <3eb1a9> ../cstrike/dlls/bot/cs_bot_weapon.cpp:926 */
|
||||||
NOBODY void CCSBot::OnTouchingWeapon_(CWeaponBox *box)
|
NOBODY void CCSBot::__MAKE_VHOOK(OnTouchingWeapon)(CWeaponBox *box)
|
||||||
{
|
{
|
||||||
// {
|
// {
|
||||||
// class CBasePlayerItem *droppedGun; // 929
|
// class CBasePlayerItem *droppedGun; // 929
|
||||||
|
@ -64,7 +64,7 @@ IMPLEMENT_SAVERESTORE(CEnvGlobal, CBaseEntity);
|
|||||||
LINK_ENTITY_TO_CLASS(env_global, CEnvGlobal);
|
LINK_ENTITY_TO_CLASS(env_global, CEnvGlobal);
|
||||||
|
|
||||||
/* <26863> ../cstrike/dlls/buttons.cpp:66 */
|
/* <26863> ../cstrike/dlls/buttons.cpp:66 */
|
||||||
NOBODY void CEnvGlobal::KeyValue_(KeyValueData *pkvd)
|
NOBODY void CEnvGlobal::__MAKE_VHOOK(KeyValue)(KeyValueData *pkvd)
|
||||||
{
|
{
|
||||||
// FStrEq(const char *sz1,
|
// FStrEq(const char *sz1,
|
||||||
// const char *sz2); // 70
|
// const char *sz2); // 70
|
||||||
@ -76,14 +76,14 @@ NOBODY void CEnvGlobal::KeyValue_(KeyValueData *pkvd)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* <26486> ../cstrike/dlls/buttons.cpp:80 */
|
/* <26486> ../cstrike/dlls/buttons.cpp:80 */
|
||||||
NOBODY void CEnvGlobal::Spawn_(void)
|
NOBODY void CEnvGlobal::__MAKE_VHOOK(Spawn)(void)
|
||||||
{
|
{
|
||||||
// EntityInTable(CGlobalState::Spawn(// string_t globalname); // 89
|
// EntityInTable(CGlobalState::Spawn(// string_t globalname); // 89
|
||||||
// Spawn(CEnvGlobal *const this); // 80
|
// Spawn(CEnvGlobal *const this); // 80
|
||||||
}
|
}
|
||||||
|
|
||||||
/* <25ee7> ../cstrike/dlls/buttons.cpp:95 */
|
/* <25ee7> ../cstrike/dlls/buttons.cpp:95 */
|
||||||
NOBODY void CEnvGlobal::Use_(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value)
|
NOBODY void CEnvGlobal::__MAKE_VHOOK(Use)(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value)
|
||||||
{
|
{
|
||||||
// {
|
// {
|
||||||
// GLOBALESTATE oldState; // 97
|
// GLOBALESTATE oldState; // 97
|
||||||
@ -100,7 +100,7 @@ IMPLEMENT_SAVERESTORE(CMultiSource, CBaseEntity);
|
|||||||
LINK_ENTITY_TO_CLASS(multisource, CMultiSource);
|
LINK_ENTITY_TO_CLASS(multisource, CMultiSource);
|
||||||
|
|
||||||
/* <26d1e> ../cstrike/dlls/buttons.cpp:148 */
|
/* <26d1e> ../cstrike/dlls/buttons.cpp:148 */
|
||||||
NOBODY void CMultiSource::KeyValue_(KeyValueData *pkvd)
|
NOBODY void CMultiSource::__MAKE_VHOOK(KeyValue)(KeyValueData *pkvd)
|
||||||
{
|
{
|
||||||
// FStrEq(const char *sz1,
|
// FStrEq(const char *sz1,
|
||||||
// const char *sz2); // 150
|
// const char *sz2); // 150
|
||||||
@ -121,12 +121,12 @@ NOBODY void CMultiSource::KeyValue_(KeyValueData *pkvd)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* <256e2> ../cstrike/dlls/buttons.cpp:168 */
|
/* <256e2> ../cstrike/dlls/buttons.cpp:168 */
|
||||||
NOBODY void CMultiSource::Spawn_(void)
|
NOBODY void CMultiSource::__MAKE_VHOOK(Spawn)(void)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
/* <2633b> ../cstrike/dlls/buttons.cpp:179 */
|
/* <2633b> ../cstrike/dlls/buttons.cpp:179 */
|
||||||
NOBODY void CMultiSource::Use_(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value)
|
NOBODY void CMultiSource::__MAKE_VHOOK(Use)(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value)
|
||||||
{
|
{
|
||||||
// {
|
// {
|
||||||
// int i; // 181
|
// int i; // 181
|
||||||
@ -142,7 +142,7 @@ NOBODY void CMultiSource::Use_(CBaseEntity *pActivator, CBaseEntity *pCaller, US
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* <26419> ../cstrike/dlls/buttons.cpp:211 */
|
/* <26419> ../cstrike/dlls/buttons.cpp:211 */
|
||||||
NOBODY BOOL CMultiSource::IsTriggered_(CBaseEntity *)
|
NOBODY BOOL CMultiSource::__MAKE_VHOOK(IsTriggered)(CBaseEntity *)
|
||||||
{
|
{
|
||||||
// {
|
// {
|
||||||
// int i; // 214
|
// int i; // 214
|
||||||
@ -173,7 +173,7 @@ NOBODY void CMultiSource::Register(void)
|
|||||||
IMPLEMENT_SAVERESTORE(CBaseButton, CBaseToggle);
|
IMPLEMENT_SAVERESTORE(CBaseButton, CBaseToggle);
|
||||||
|
|
||||||
/* <25709> ../cstrike/dlls/buttons.cpp:289 */
|
/* <25709> ../cstrike/dlls/buttons.cpp:289 */
|
||||||
NOBODY void CBaseButton::Precache_(void)
|
NOBODY void CBaseButton::__MAKE_VHOOK(Precache)(void)
|
||||||
{
|
{
|
||||||
// {
|
// {
|
||||||
// char *pszSound; // 291
|
// char *pszSound; // 291
|
||||||
@ -183,7 +183,7 @@ NOBODY void CBaseButton::Precache_(void)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* <269cb> ../cstrike/dlls/buttons.cpp:355 */
|
/* <269cb> ../cstrike/dlls/buttons.cpp:355 */
|
||||||
NOBODY void CBaseButton::KeyValue_(KeyValueData *pkvd)
|
NOBODY void CBaseButton::__MAKE_VHOOK(KeyValue)(KeyValueData *pkvd)
|
||||||
{
|
{
|
||||||
// FStrEq(const char *sz1,
|
// FStrEq(const char *sz1,
|
||||||
// const char *sz2); // 357
|
// const char *sz2); // 357
|
||||||
@ -195,7 +195,7 @@ NOBODY void CBaseButton::KeyValue_(KeyValueData *pkvd)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* <26e90> ../cstrike/dlls/buttons.cpp:394 */
|
/* <26e90> ../cstrike/dlls/buttons.cpp:394 */
|
||||||
NOBODY int CBaseButton::TakeDamage_(entvars_t *pevInflictor, entvars_t *pevAttacker, float flDamage, int bitsDamageType)
|
NOBODY int CBaseButton::__MAKE_VHOOK(TakeDamage)(entvars_t *pevInflictor, entvars_t *pevAttacker, float flDamage, int bitsDamageType)
|
||||||
{
|
{
|
||||||
// {
|
// {
|
||||||
// enum BUTTON_CODE code; // 396
|
// enum BUTTON_CODE code; // 396
|
||||||
@ -215,7 +215,7 @@ NOBODY int CBaseButton::TakeDamage_(entvars_t *pevInflictor, entvars_t *pevAttac
|
|||||||
LINK_ENTITY_TO_CLASS(func_button, CBaseButton);
|
LINK_ENTITY_TO_CLASS(func_button, CBaseButton);
|
||||||
|
|
||||||
/* <25c2c> ../cstrike/dlls/buttons.cpp:442 */
|
/* <25c2c> ../cstrike/dlls/buttons.cpp:442 */
|
||||||
NOBODY void CBaseButton::Spawn_(void)
|
NOBODY void CBaseButton::__MAKE_VHOOK(Spawn)(void)
|
||||||
{
|
{
|
||||||
// {
|
// {
|
||||||
// char *pszSound; // 444
|
// char *pszSound; // 444
|
||||||
@ -366,7 +366,7 @@ NOBODY void CBaseButton::ButtonBackHome(void)
|
|||||||
LINK_ENTITY_TO_CLASS(func_rot_button, CRotButton);
|
LINK_ENTITY_TO_CLASS(func_rot_button, CRotButton);
|
||||||
|
|
||||||
/* <25a06> ../cstrike/dlls/buttons.cpp:808 */
|
/* <25a06> ../cstrike/dlls/buttons.cpp:808 */
|
||||||
NOBODY void CRotButton::Spawn_(void)
|
NOBODY void CRotButton::__MAKE_VHOOK(Spawn)(void)
|
||||||
{
|
{
|
||||||
// {
|
// {
|
||||||
// char *pszSound; // 810
|
// char *pszSound; // 810
|
||||||
@ -381,7 +381,7 @@ NOBODY void CRotButton::Spawn_(void)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* <2577a> ../cstrike/dlls/buttons.cpp:878 */
|
/* <2577a> ../cstrike/dlls/buttons.cpp:878 */
|
||||||
NOBODY int CMomentaryRotButton::ObjectCaps_(void)
|
NOBODY int CMomentaryRotButton::__MAKE_VHOOK(ObjectCaps)(void)
|
||||||
{
|
{
|
||||||
// {
|
// {
|
||||||
// int flags; // 880
|
// int flags; // 880
|
||||||
@ -395,7 +395,7 @@ IMPLEMENT_SAVERESTORE(CMomentaryRotButton, CBaseToggle);
|
|||||||
LINK_ENTITY_TO_CLASS(momentary_rot_button, CMomentaryRotButton);
|
LINK_ENTITY_TO_CLASS(momentary_rot_button, CMomentaryRotButton);
|
||||||
|
|
||||||
/* <25acc> ../cstrike/dlls/buttons.cpp:922 */
|
/* <25acc> ../cstrike/dlls/buttons.cpp:922 */
|
||||||
NOBODY void CMomentaryRotButton::Spawn_(void)
|
NOBODY void CMomentaryRotButton::__MAKE_VHOOK(Spawn)(void)
|
||||||
{
|
{
|
||||||
// {
|
// {
|
||||||
// char *pszSound; // 952
|
// char *pszSound; // 952
|
||||||
@ -412,7 +412,7 @@ NOBODY void CMomentaryRotButton::Spawn_(void)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* <2678f> ../cstrike/dlls/buttons.cpp:958 */
|
/* <2678f> ../cstrike/dlls/buttons.cpp:958 */
|
||||||
NOBODY void CMomentaryRotButton::KeyValue_(KeyValueData *pkvd)
|
NOBODY void CMomentaryRotButton::__MAKE_VHOOK(KeyValue)(KeyValueData *pkvd)
|
||||||
{
|
{
|
||||||
// FStrEq(const char *sz1,
|
// FStrEq(const char *sz1,
|
||||||
// const char *sz2); // 960
|
// const char *sz2); // 960
|
||||||
@ -434,7 +434,7 @@ NOBODY void CMomentaryRotButton::PlaySound(void)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* <27dc0> ../cstrike/dlls/buttons.cpp:982 */
|
/* <27dc0> ../cstrike/dlls/buttons.cpp:982 */
|
||||||
NOBODY void CMomentaryRotButton::Use_(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value)
|
NOBODY void CMomentaryRotButton::__MAKE_VHOOK(Use)(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value)
|
||||||
{
|
{
|
||||||
// UpdateTarget(CMomentaryRotButton *const this,
|
// UpdateTarget(CMomentaryRotButton *const this,
|
||||||
// float value); // 987
|
// float value); // 987
|
||||||
@ -514,17 +514,17 @@ LINK_ENTITY_TO_CLASS(env_spark, CEnvSpark);
|
|||||||
LINK_ENTITY_TO_CLASS(env_debris, CEnvSpark);
|
LINK_ENTITY_TO_CLASS(env_debris, CEnvSpark);
|
||||||
|
|
||||||
/* <257b7> ../cstrike/dlls/buttons.cpp:1146 */
|
/* <257b7> ../cstrike/dlls/buttons.cpp:1146 */
|
||||||
NOBODY void CEnvSpark::Spawn_(void)
|
NOBODY void CEnvSpark::__MAKE_VHOOK(Spawn)(void)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
/* <257de> ../cstrike/dlls/buttons.cpp:1173 */
|
/* <257de> ../cstrike/dlls/buttons.cpp:1173 */
|
||||||
NOBODY void CEnvSpark::Precache_(void)
|
NOBODY void CEnvSpark::__MAKE_VHOOK(Precache)(void)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
/* <26b97> ../cstrike/dlls/buttons.cpp:1183 */
|
/* <26b97> ../cstrike/dlls/buttons.cpp:1183 */
|
||||||
NOBODY void CEnvSpark::KeyValue_(KeyValueData *pkvd)
|
NOBODY void CEnvSpark::__MAKE_VHOOK(KeyValue)(KeyValueData *pkvd)
|
||||||
{
|
{
|
||||||
// FStrEq(const char *sz1,
|
// FStrEq(const char *sz1,
|
||||||
// const char *sz2); // 1185
|
// const char *sz2); // 1185
|
||||||
@ -564,12 +564,12 @@ NOBODY void CEnvSpark::SparkStop(CBaseEntity *pActivator, CBaseEntity *pCaller,
|
|||||||
LINK_ENTITY_TO_CLASS(button_target, CButtonTarget);
|
LINK_ENTITY_TO_CLASS(button_target, CButtonTarget);
|
||||||
|
|
||||||
/* <258ca> ../cstrike/dlls/buttons.cpp:1235 */
|
/* <258ca> ../cstrike/dlls/buttons.cpp:1235 */
|
||||||
NOBODY void CButtonTarget::Spawn_(void)
|
NOBODY void CButtonTarget::__MAKE_VHOOK(Spawn)(void)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
/* <25fc3> ../cstrike/dlls/buttons.cpp:1246 */
|
/* <25fc3> ../cstrike/dlls/buttons.cpp:1246 */
|
||||||
NOBODY void CButtonTarget::Use_(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value)
|
NOBODY void CButtonTarget::__MAKE_VHOOK(Use)(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value)
|
||||||
{
|
{
|
||||||
// Use(CButtonTarget *const this,
|
// Use(CButtonTarget *const this,
|
||||||
// class CBaseEntity *pActivator,
|
// class CBaseEntity *pActivator,
|
||||||
@ -579,7 +579,7 @@ NOBODY void CButtonTarget::Use_(CBaseEntity *pActivator, CBaseEntity *pCaller, U
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* <258f1> ../cstrike/dlls/buttons.cpp:1258 */
|
/* <258f1> ../cstrike/dlls/buttons.cpp:1258 */
|
||||||
NOBODY int CButtonTarget::ObjectCaps_(void)
|
NOBODY int CButtonTarget::__MAKE_VHOOK(ObjectCaps)(void)
|
||||||
{
|
{
|
||||||
// {
|
// {
|
||||||
// int caps; // 1260
|
// int caps; // 1260
|
||||||
@ -587,7 +587,7 @@ NOBODY int CButtonTarget::ObjectCaps_(void)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* <2592e> ../cstrike/dlls/buttons.cpp:1269 */
|
/* <2592e> ../cstrike/dlls/buttons.cpp:1269 */
|
||||||
NOBODY int CButtonTarget::TakeDamage_(entvars_t *pevInflictor, entvars_t *pevAttacker, float flDamage, int bitsDamageType)
|
NOBODY int CButtonTarget::__MAKE_VHOOK(TakeDamage)(entvars_t *pevInflictor, entvars_t *pevAttacker, float flDamage, int bitsDamageType)
|
||||||
{
|
{
|
||||||
// Instance(entvars_t *pev); // 1271
|
// Instance(entvars_t *pev); // 1271
|
||||||
}
|
}
|
||||||
|
@ -60,7 +60,7 @@ CPreventDefuseTask::CPreventDefuseTask(const char *taskName, GameEventType event
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* <1ef296> ../cstrike/dlls/career_tasks.cpp:147 */
|
/* <1ef296> ../cstrike/dlls/career_tasks.cpp:147 */
|
||||||
void CPreventDefuseTask::Reset_(void)
|
void CPreventDefuseTask::__MAKE_VHOOK(Reset)(void)
|
||||||
{
|
{
|
||||||
m_bombPlantedThisRound = false;
|
m_bombPlantedThisRound = false;
|
||||||
m_defuseStartedThisRound = false;
|
m_defuseStartedThisRound = false;
|
||||||
@ -69,7 +69,7 @@ void CPreventDefuseTask::Reset_(void)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* <1efbf8> ../cstrike/dlls/career_tasks.cpp:156 */
|
/* <1efbf8> ../cstrike/dlls/career_tasks.cpp:156 */
|
||||||
void CPreventDefuseTask::OnEvent_(GameEventType event, CBasePlayer *pAttacker, CBasePlayer *pVictim)
|
void CPreventDefuseTask::__MAKE_VHOOK(OnEvent)(GameEventType event, CBasePlayer *pAttacker, CBasePlayer *pVictim)
|
||||||
{
|
{
|
||||||
if (IsComplete())
|
if (IsComplete())
|
||||||
return;
|
return;
|
||||||
@ -135,7 +135,7 @@ CCareerTask::CCareerTask(const char *taskName, GameEventType event, const char *
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* <1ef211> ../cstrike/dlls/career_tasks.cpp:240 */
|
/* <1ef211> ../cstrike/dlls/career_tasks.cpp:240 */
|
||||||
void CCareerTask::Reset_(void)
|
void CCareerTask::__MAKE_VHOOK(Reset)(void)
|
||||||
{
|
{
|
||||||
m_eventsSeen = 0;
|
m_eventsSeen = 0;
|
||||||
m_isComplete = false;
|
m_isComplete = false;
|
||||||
@ -254,7 +254,7 @@ void CCareerTask::OnWeaponInjury(int weaponId, int weaponClassId, bool attackerH
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* <1ef79d> ../cstrike/dlls/career_tasks.cpp:385 */
|
/* <1ef79d> ../cstrike/dlls/career_tasks.cpp:385 */
|
||||||
void CCareerTask::OnEvent_(GameEventType event, CBasePlayer *pVictim, CBasePlayer *pAttacker)
|
void CCareerTask::__MAKE_VHOOK(OnEvent)(GameEventType event, CBasePlayer *pVictim, CBasePlayer *pAttacker)
|
||||||
{
|
{
|
||||||
if (m_isComplete)
|
if (m_isComplete)
|
||||||
return;
|
return;
|
||||||
@ -271,32 +271,37 @@ void CCareerTask::OnEvent_(GameEventType event, CBasePlayer *pVictim, CBasePlaye
|
|||||||
|
|
||||||
while ((hostageEntity = UTIL_FindEntityByClassname(hostageEntity, "hostage_entity")) != NULL)
|
while ((hostageEntity = UTIL_FindEntityByClassname(hostageEntity, "hostage_entity")) != NULL)
|
||||||
{
|
{
|
||||||
CHostage *hostage = (CHostage *)hostageEntity;
|
if (hostageEntity->pev->takedamage != DAMAGE_YES)
|
||||||
|
|
||||||
if (!hostage || hostage->pev->takedamage != DAMAGE_YES)
|
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
|
CHostage *hostage = reinterpret_cast<CHostage *>(hostageEntity);
|
||||||
|
|
||||||
if (hostage->m_improv)
|
if (hostage->m_improv)
|
||||||
{
|
{
|
||||||
if (!hostage->IsFollowingSomeone())
|
if (!hostage->IsFollowingSomeone())
|
||||||
|
{
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
else if (!hostage->m_hTargetEnt || hostage->m_State != CHostage::FOLLOW)
|
}
|
||||||
|
else if (hostage->m_hTargetEnt == NULL || hostage->m_State != CHostage::FOLLOW)
|
||||||
|
{
|
||||||
continue;
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
if (hostage->IsValid() && hostage->m_target == pAttacker)
|
if (hostage->IsValid() && hostage->m_target == pAttacker)
|
||||||
++hostages_;
|
++hostages_;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!hostages_)
|
if (!hostages_)
|
||||||
|
{
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if ((m_event != EVENT_KILL || (!m_weaponId && !m_weaponClassId))
|
if (m_event != EVENT_KILL || (!m_weaponId && !m_weaponClassId)
|
||||||
&& (m_event != EVENT_HEADSHOT || (!m_weaponId && !m_weaponClassId))
|
&& m_event != EVENT_HEADSHOT || (!m_weaponId && !m_weaponClassId)
|
||||||
&& (m_event != EVENT_PLAYER_TOOK_DAMAGE || (!m_weaponId && !m_weaponClassId)))
|
&& m_event != EVENT_PLAYER_TOOK_DAMAGE || (!m_weaponId && !m_weaponClassId))
|
||||||
{
|
{
|
||||||
|
|
||||||
if (m_event == EVENT_ROUND_WIN)
|
if (m_event == EVENT_ROUND_WIN)
|
||||||
{
|
{
|
||||||
if (!Q_strcmp(m_name, "defendhostages"))
|
if (!Q_strcmp(m_name, "defendhostages"))
|
||||||
@ -306,12 +311,7 @@ void CCareerTask::OnEvent_(GameEventType event, CBasePlayer *pVictim, CBasePlaye
|
|||||||
|
|
||||||
while ((hostageEntity = UTIL_FindEntityByClassname(hostageEntity, "hostage_entity")) != NULL)
|
while ((hostageEntity = UTIL_FindEntityByClassname(hostageEntity, "hostage_entity")) != NULL)
|
||||||
{
|
{
|
||||||
CHostage *hostage = (CHostage *)hostageEntity;
|
if (hostageEntity->pev->takedamage != 1.0f && hostageEntity->pev->deadflag != DEAD_DEAD)
|
||||||
|
|
||||||
if (!hostage || hostage->IsValid())
|
|
||||||
continue;
|
|
||||||
|
|
||||||
if (hostage->pev->deadflag != DEAD_DEAD)
|
|
||||||
++hostages_;
|
++hostages_;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -342,41 +342,49 @@ void CCareerTask::OnEvent_(GameEventType event, CBasePlayer *pVictim, CBasePlaye
|
|||||||
}
|
}
|
||||||
else if (!Q_strcmp(m_name, "winfast"))
|
else if (!Q_strcmp(m_name, "winfast"))
|
||||||
{
|
{
|
||||||
if (m_eventsNeeded >= (int)TheCareerTasks->GetRoundElapsedTime())
|
if (m_eventsNeeded >= TheCareerTasks->GetRoundElapsedTime())
|
||||||
{
|
{
|
||||||
m_eventsSeen = m_eventsNeeded;
|
m_eventsSeen = m_eventsNeeded;
|
||||||
SendPartialNotification();
|
SendPartialNotification();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if (IsTaskCompletableThisRound())
|
else if (IsTaskCompletableThisRound())
|
||||||
|
{
|
||||||
|
++m_eventsSeen;
|
||||||
|
SendPartialNotification();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
++m_eventsSeen;
|
||||||
SendPartialNotification();
|
SendPartialNotification();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (event == m_event && !m_mustLive && (m_eventsSeen >= m_eventsNeeded) && IsTaskCompletableThisRound())
|
if (event == m_event && !m_mustLive && m_eventsSeen >= m_eventsNeeded && IsTaskCompletableThisRound())
|
||||||
{
|
{
|
||||||
CBasePlayer *player = UTIL_GetLocalPlayer();
|
CBasePlayer *player = UTIL_GetLocalPlayer();
|
||||||
EMIT_SOUND(ENT(player->pev), CHAN_VOICE, "events/task_complete.wav", VOL_NORM, ATTN_NORM);
|
EMIT_SOUND(ENT(player->pev), CHAN_VOICE, "events/task_complete.wav", VOL_NORM, ATTN_NORM);
|
||||||
m_isComplete = true;
|
|
||||||
|
|
||||||
|
m_isComplete = true;
|
||||||
MESSAGE_BEGIN(MSG_ALL, gmsgCZCareer);
|
MESSAGE_BEGIN(MSG_ALL, gmsgCZCareer);
|
||||||
WRITE_STRING("TASKDONE");
|
WRITE_STRING("TASKDONE");
|
||||||
WRITE_BYTE(m_id);
|
WRITE_BYTE(m_id);
|
||||||
MESSAGE_END();
|
MESSAGE_END();
|
||||||
|
|
||||||
if (TheTutor)
|
if (TheTutor)
|
||||||
|
{
|
||||||
TheTutor->OnEvent(EVENT_CAREER_TASK_DONE);
|
TheTutor->OnEvent(EVENT_CAREER_TASK_DONE);
|
||||||
|
}
|
||||||
|
|
||||||
UTIL_LogPrintf("Career Task Done %d\n", m_id);
|
UTIL_LogPrintf("Career Task Done %d\n", m_id);
|
||||||
|
|
||||||
if (m_event == EVENT_ROUND_WIN && !Q_strcmp(m_name, "winfast"))
|
if (m_event == EVENT_ROUND_WIN && !Q_strcmp(m_name, "winfast"))
|
||||||
{
|
{
|
||||||
TheCareerTasks->SetFinishedTaskTime( TheCareerTasks->GetRoundElapsedTime() );
|
TheCareerTasks->SetFinishedTaskTime((int)TheCareerTasks->GetRoundElapsedTime());
|
||||||
player->SyncRoundTimer();
|
UTIL_GetLocalPlayer()->SyncRoundTimer();
|
||||||
}
|
}
|
||||||
|
|
||||||
return;
|
|
||||||
}
|
}
|
||||||
else if (event >= EVENT_ROUND_DRAW)
|
else if (event >= EVENT_ROUND_DRAW)
|
||||||
{
|
{
|
||||||
@ -391,10 +399,9 @@ void CCareerTask::OnEvent_(GameEventType event, CBasePlayer *pVictim, CBasePlaye
|
|||||||
}
|
}
|
||||||
else if (m_mustLive)
|
else if (m_mustLive)
|
||||||
{
|
{
|
||||||
CBasePlayer *player = UTIL_GetLocalPlayer();
|
|
||||||
|
|
||||||
if (m_eventsSeen >= m_eventsNeeded && !m_diedThisRound && IsTaskCompletableThisRound())
|
if (m_eventsSeen >= m_eventsNeeded && !m_diedThisRound && IsTaskCompletableThisRound())
|
||||||
{
|
{
|
||||||
|
CBasePlayer *player = UTIL_GetLocalPlayer();
|
||||||
EMIT_SOUND(ENT(player->pev), CHAN_VOICE, "events/task_complete.wav", VOL_NORM, ATTN_NORM);
|
EMIT_SOUND(ENT(player->pev), CHAN_VOICE, "events/task_complete.wav", VOL_NORM, ATTN_NORM);
|
||||||
|
|
||||||
m_isComplete = true;
|
m_isComplete = true;
|
||||||
@ -407,15 +414,18 @@ void CCareerTask::OnEvent_(GameEventType event, CBasePlayer *pVictim, CBasePlaye
|
|||||||
|
|
||||||
if (m_event == EVENT_ROUND_WIN && !Q_strcmp(m_name, "winfast"))
|
if (m_event == EVENT_ROUND_WIN && !Q_strcmp(m_name, "winfast"))
|
||||||
{
|
{
|
||||||
TheCareerTasks->SetFinishedTaskTime( TheCareerTasks->GetRoundElapsedTime() );
|
TheCareerTasks->SetFinishedTaskTime((signed __int64)(TheCareerTasks->GetRoundElapsedTime()));
|
||||||
player->SyncRoundTimer();
|
UTIL_GetLocalPlayer()->SyncRoundTimer();
|
||||||
}
|
}
|
||||||
|
|
||||||
if (TheTutor)
|
if (TheTutor)
|
||||||
|
{
|
||||||
TheTutor->OnEvent(EVENT_CAREER_TASK_DONE);
|
TheTutor->OnEvent(EVENT_CAREER_TASK_DONE);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
m_diedThisRound = false;
|
m_diedThisRound = false;
|
||||||
|
|
||||||
if (m_mustLive)
|
if (m_mustLive)
|
||||||
{
|
{
|
||||||
m_eventsSeen = 0;
|
m_eventsSeen = 0;
|
||||||
@ -509,13 +519,15 @@ void CCareerTaskManager::AddTask(const char *taskName, const char *weaponName, i
|
|||||||
|
|
||||||
m_tasks.push_back(newTask);
|
m_tasks.push_back(newTask);
|
||||||
|
|
||||||
if (pTaskInfo->event == EVENT_ROUND_WIN && Q_strcmp(taskName, "winfast"))
|
if (pTaskInfo->event == EVENT_ROUND_WIN && !Q_strcmp(taskName, "winfast"))
|
||||||
{
|
{
|
||||||
m_taskTime = eventCount;
|
m_taskTime = eventCount;
|
||||||
|
|
||||||
if (isComplete)
|
if (isComplete)
|
||||||
|
{
|
||||||
m_finishedTaskTime = eventCount;
|
m_finishedTaskTime = eventCount;
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@ -532,9 +544,12 @@ void CCareerTaskManager::AddTask(const char *taskName, const char *weaponName, i
|
|||||||
void CCareerTaskManager::HandleEvent(GameEventType event, CBasePlayer *pAttacker, CBasePlayer *pVictim)
|
void CCareerTaskManager::HandleEvent(GameEventType event, CBasePlayer *pAttacker, CBasePlayer *pVictim)
|
||||||
{
|
{
|
||||||
if (event == EVENT_ROUND_START)
|
if (event == EVENT_ROUND_START)
|
||||||
|
{
|
||||||
m_roundStartTime = gpGlobals->time;
|
m_roundStartTime = gpGlobals->time;
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
else if ((event <= EVENT_ROUND_LOSS && event >= EVENT_ROUND_DRAW) && m_shouldLatchRoundEndMessage)
|
if ((event <= EVENT_ROUND_LOSS && event >= EVENT_ROUND_DRAW) && m_shouldLatchRoundEndMessage)
|
||||||
{
|
{
|
||||||
m_roundEndMessage = event;
|
m_roundEndMessage = event;
|
||||||
return;
|
return;
|
||||||
|
@ -93,7 +93,7 @@ private:
|
|||||||
bool m_isComplete;
|
bool m_isComplete;
|
||||||
const char *m_name;
|
const char *m_name;
|
||||||
int m_id;
|
int m_id;
|
||||||
enum GameEventType m_event;
|
GameEventType m_event;
|
||||||
int m_eventsNeeded;
|
int m_eventsNeeded;
|
||||||
int m_eventsSeen;
|
int m_eventsSeen;
|
||||||
bool m_mustLive;
|
bool m_mustLive;
|
||||||
|
@ -67,6 +67,16 @@ static NEW_DLL_FUNCTIONS gNewDLLFunctions
|
|||||||
NULL
|
NULL
|
||||||
};
|
};
|
||||||
|
|
||||||
|
// Global Savedata for Delay
|
||||||
|
TYPEDESCRIPTION CBaseEntity::m_SaveData[] =
|
||||||
|
{
|
||||||
|
DEFINE_FIELD(CBaseEntity, m_pGoalEnt, FIELD_CLASSPTR),
|
||||||
|
DEFINE_FIELD(CBaseEntity, m_pfnThink, FIELD_FUNCTION), // UNDONE: Build table of these!!!
|
||||||
|
DEFINE_FIELD(CBaseEntity, m_pfnTouch, FIELD_FUNCTION),
|
||||||
|
DEFINE_FIELD(CBaseEntity, m_pfnUse, FIELD_FUNCTION),
|
||||||
|
DEFINE_FIELD(CBaseEntity, m_pfnBlocked, FIELD_FUNCTION),
|
||||||
|
};
|
||||||
|
|
||||||
CMemoryPool hashItemMemPool(sizeof(hash_item_t), 64);
|
CMemoryPool hashItemMemPool(sizeof(hash_item_t), 64);
|
||||||
BOOL gTouchDisabled = FALSE;
|
BOOL gTouchDisabled = FALSE;
|
||||||
|
|
||||||
@ -74,6 +84,7 @@ BOOL gTouchDisabled = FALSE;
|
|||||||
|
|
||||||
DLL_FUNCTIONS gFunctionTable;
|
DLL_FUNCTIONS gFunctionTable;
|
||||||
NEW_DLL_FUNCTIONS gNewDLLFunctions;
|
NEW_DLL_FUNCTIONS gNewDLLFunctions;
|
||||||
|
TYPEDESCRIPTION IMPLEMENT_ARRAY_CLASS(CBaseEntity, m_SaveData)[5];
|
||||||
|
|
||||||
CMemoryPool hashItemMemPool;
|
CMemoryPool hashItemMemPool;
|
||||||
BOOL gTouchDisabled;
|
BOOL gTouchDisabled;
|
||||||
@ -84,8 +95,11 @@ BOOL gTouchDisabled;
|
|||||||
int CaseInsensitiveHash(const char *string, int iBounds)
|
int CaseInsensitiveHash(const char *string, int iBounds)
|
||||||
{
|
{
|
||||||
unsigned int hash = 0;
|
unsigned int hash = 0;
|
||||||
if (!*string)
|
|
||||||
|
if (!string[0])
|
||||||
|
{
|
||||||
return 0;
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
while (*string)
|
while (*string)
|
||||||
{
|
{
|
||||||
@ -272,18 +286,22 @@ void RemoveEntityHashValue(entvars_t *pev, const char *value, hash_types_e field
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* <31125> ../cstrike/dlls/cbase.cpp:337 */
|
/* <31125> ../cstrike/dlls/cbase.cpp:337 */
|
||||||
NOBODY void printEntities(void)
|
void printEntities(void)
|
||||||
{
|
{
|
||||||
// {
|
for (int i = 0; i < stringsHashTable.Count(); i++)
|
||||||
// int i; // 339
|
{
|
||||||
// {
|
hash_item_t *item = &stringsHashTable[i];
|
||||||
// class hash_item_t *item; // 345
|
|
||||||
// operator[](CUtlVector<hash_item_t> *const this,
|
if (item->pev)
|
||||||
// int i); // 341
|
{
|
||||||
// ENTINDEX(edict_t *pEdict); // 343
|
UTIL_LogPrintf("Print: %s %i %p\n", STRING(stringsHashTable[i].pev->classname), ENTINDEX(ENT(item->pev)), item->pev);
|
||||||
// ENTINDEX(edict_t *pEdict); // 348
|
}
|
||||||
// }
|
|
||||||
// }
|
for (item = stringsHashTable[i].next; item; item = item->next)
|
||||||
|
{
|
||||||
|
UTIL_LogPrintf("Print: %s %i %p\n", STRING(item->pev->classname), ENTINDEX(ENT(item->pev)), item->pev);
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/* <311e9> ../cstrike/dlls/cbase.cpp:354 */
|
/* <311e9> ../cstrike/dlls/cbase.cpp:354 */
|
||||||
@ -303,33 +321,69 @@ void REMOVE_ENTITY(edict_t *e)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* <30158> ../cstrike/dlls/cbase.cpp:375 */
|
/* <30158> ../cstrike/dlls/cbase.cpp:375 */
|
||||||
//NOBODY void CONSOLE_ECHO(char *pszMsg, ...)
|
void CONSOLE_ECHO_(char *pszMsg, ...)
|
||||||
//{
|
{
|
||||||
// {
|
va_list argptr;
|
||||||
// va_list argptr; // 377
|
static char szStr[1024];
|
||||||
// char szStr; // 378
|
|
||||||
// }
|
va_start(argptr, pszMsg);
|
||||||
//}
|
vsprintf(szStr, pszMsg, argptr);
|
||||||
|
va_end(argptr);
|
||||||
|
|
||||||
|
SERVER_PRINT(szStr);
|
||||||
|
}
|
||||||
|
|
||||||
/* <31273> ../cstrike/dlls/cbase.cpp:386 */
|
/* <31273> ../cstrike/dlls/cbase.cpp:386 */
|
||||||
NOBODY void loopPerformance(void)
|
void loopPerformance(void)
|
||||||
{
|
{
|
||||||
// {
|
CPerformanceCounter loopCounter;
|
||||||
// class CPerformanceCounter loopCounter; // 390
|
loopCounter.InitializePerformanceCounter();
|
||||||
// double start; // 393
|
|
||||||
// int i; // 395
|
double start, end;
|
||||||
// double end; // 419
|
int i;
|
||||||
// GetCurTime(CPerformanceCounter *const this); // 393
|
|
||||||
// {
|
start = loopCounter.GetCurTime();
|
||||||
// class CBaseEntity *pSpot; // 398
|
|
||||||
// }
|
for (i = 0; i < 100; i++)
|
||||||
// GetCurTime(CPerformanceCounter *const this); // 419
|
{
|
||||||
// GetCurTime(CPerformanceCounter *const this); // 422
|
CBaseEntity *pSpot;
|
||||||
// {
|
for (pSpot = UTIL_FindEntityByString_Old(NULL, "classname", "info_player_start"); pSpot != NULL; pSpot = UTIL_FindEntityByString_Old(pSpot, "classname", "info_player_start"))
|
||||||
// class CBaseEntity *pSpot; // 426
|
;
|
||||||
// }
|
|
||||||
// GetCurTime(CPerformanceCounter *const this); // 447
|
for (pSpot = UTIL_FindEntityByString_Old(NULL, "classname", "info_player_deathmatch"); pSpot != NULL; pSpot = UTIL_FindEntityByString_Old(pSpot, "classname", "info_player_deathmatch"))
|
||||||
// }
|
;
|
||||||
|
|
||||||
|
for (pSpot = UTIL_FindEntityByString_Old(NULL, "classname", "player"); pSpot != NULL; pSpot = UTIL_FindEntityByString_Old(pSpot, "classname", "player"))
|
||||||
|
;
|
||||||
|
|
||||||
|
for (pSpot = UTIL_FindEntityByString_Old(NULL, "classname", "bodyque"); pSpot != NULL; pSpot = UTIL_FindEntityByString_Old(pSpot, "classname", "bodyque"))
|
||||||
|
;
|
||||||
|
}
|
||||||
|
|
||||||
|
end = loopCounter.GetCurTime();
|
||||||
|
CONSOLE_ECHO(" Time in old search loop %.4f\n", (end - start) * 1000.0);
|
||||||
|
|
||||||
|
// check time new search loop
|
||||||
|
start = loopCounter.GetCurTime();
|
||||||
|
|
||||||
|
for (i = 0; i < 100; i++)
|
||||||
|
{
|
||||||
|
CBaseEntity *pSpot;
|
||||||
|
for (pSpot = UTIL_FindEntityByString(NULL, "classname", "info_player_start"); pSpot != NULL; pSpot = UTIL_FindEntityByString(pSpot, "classname", "info_player_start"))
|
||||||
|
;
|
||||||
|
|
||||||
|
for (pSpot = UTIL_FindEntityByString(NULL, "classname", "info_player_deathmatch"); pSpot != NULL; pSpot = UTIL_FindEntityByString(pSpot, "classname", "info_player_deathmatch"))
|
||||||
|
;
|
||||||
|
|
||||||
|
for (pSpot = UTIL_FindEntityByString(NULL, "classname", "player"); pSpot != NULL; pSpot = UTIL_FindEntityByString(pSpot, "classname", "player"))
|
||||||
|
;
|
||||||
|
|
||||||
|
for (pSpot = UTIL_FindEntityByString(NULL, "classname", "bodyque"); pSpot != NULL; pSpot = UTIL_FindEntityByString(pSpot, "classname", "bodyque"))
|
||||||
|
;
|
||||||
|
}
|
||||||
|
|
||||||
|
end = loopCounter.GetCurTime();
|
||||||
|
CONSOLE_ECHO(" Time in new search loop %.4f\n", (end - start) * 1000.0);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* <313df> ../cstrike/dlls/cbase.cpp:451 */
|
/* <313df> ../cstrike/dlls/cbase.cpp:451 */
|
||||||
@ -340,8 +394,11 @@ C_DLLEXPORT int GetEntityAPI(DLL_FUNCTIONS *pFunctionTable, int interfaceVersion
|
|||||||
|
|
||||||
Q_memcpy(pFunctionTable, &gFunctionTable, sizeof(DLL_FUNCTIONS));
|
Q_memcpy(pFunctionTable, &gFunctionTable, sizeof(DLL_FUNCTIONS));
|
||||||
stringsHashTable.AddMultipleToTail(2048);
|
stringsHashTable.AddMultipleToTail(2048);
|
||||||
|
|
||||||
for (int i = 0; i < stringsHashTable.Count(); i++)
|
for (int i = 0; i < stringsHashTable.Count(); i++)
|
||||||
|
{
|
||||||
stringsHashTable[i].next = NULL;
|
stringsHashTable[i].next = NULL;
|
||||||
|
}
|
||||||
|
|
||||||
EmptyEntityHashTable();
|
EmptyEntityHashTable();
|
||||||
return 1;
|
return 1;
|
||||||
@ -355,6 +412,7 @@ NOXREF extern "C" C_EXPORT int GetEntityAPI2(DLL_FUNCTIONS *pFunctionTable, int
|
|||||||
*interfaceVersion = INTERFACE_VERSION;
|
*interfaceVersion = INTERFACE_VERSION;
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
Q_memcpy(pFunctionTable, &gFunctionTable, sizeof(DLL_FUNCTIONS));
|
Q_memcpy(pFunctionTable, &gFunctionTable, sizeof(DLL_FUNCTIONS));
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
@ -371,32 +429,65 @@ extern "C" C_EXPORT int GetNewDLLFunctions(NEW_DLL_FUNCTIONS *pFunctionTable, in
|
|||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
int (*pDispatchSpawn)(edict_t *);
|
|
||||||
|
|
||||||
/* <30ab0> ../cstrike/dlls/cbase.cpp:498 */
|
/* <30ab0> ../cstrike/dlls/cbase.cpp:498 */
|
||||||
NOBODY int __declspec(naked) DispatchSpawn(edict_t *pent)
|
int DispatchSpawn(edict_t *pent)
|
||||||
{
|
{
|
||||||
//Reverse me
|
CBaseEntity *pEntity = (CBaseEntity *)GET_PRIVATE(pent);
|
||||||
__asm
|
|
||||||
|
if (pEntity != NULL)
|
||||||
{
|
{
|
||||||
jmp pDispatchSpawn;
|
// Initialize these or entities who don't link to the world won't have anything in here
|
||||||
|
pEntity->pev->absmin = pEntity->pev->origin - Vector(1, 1, 1);
|
||||||
|
pEntity->pev->absmax = pEntity->pev->origin + Vector(1, 1, 1);
|
||||||
|
pEntity->Spawn();
|
||||||
|
|
||||||
|
// Try to get the pointer again, in case the spawn function deleted the entity.
|
||||||
|
// UNDONE: Spawn() should really return a code to ask that the entity be deleted, but
|
||||||
|
// that would touch too much code for me to do that right now.
|
||||||
|
pEntity = (CBaseEntity *)GET_PRIVATE(pent);
|
||||||
|
|
||||||
|
if (pEntity)
|
||||||
|
{
|
||||||
|
if (g_pGameRules && !g_pGameRules->IsAllowedToSpawn(pEntity))
|
||||||
|
{
|
||||||
|
// return that this entity should be deleted
|
||||||
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
// {
|
if (pEntity->pev->flags & FL_KILLME)
|
||||||
// class CBaseEntity *pEntity; // 500
|
{
|
||||||
// GET_PRIVATE(edict_t *pent); // 500
|
return -1;
|
||||||
// operator-(const class Vector *const this,
|
}
|
||||||
// const class Vector &v); // 505
|
}
|
||||||
// operator+(const class Vector *const this,
|
|
||||||
// const class Vector &v); // 506
|
// Handle global stuff here
|
||||||
// GET_PRIVATE(edict_t *pent); // 513
|
if (pEntity && pEntity->pev->globalname)
|
||||||
// {
|
{
|
||||||
// const globalentity_t *pGlobal; // 527
|
const globalentity_t *pGlobal = gGlobalState.EntityFromTable(pEntity->pev->globalname);
|
||||||
// FStrEq(const char *sz1,
|
|
||||||
// const char *sz2); // 533
|
if (pGlobal)
|
||||||
// MakeDormant(CBaseEntity *const this); // 534
|
{
|
||||||
// }
|
// Already dead? delete
|
||||||
// }
|
if (pGlobal->state == GLOBAL_DEAD)
|
||||||
|
return -1;
|
||||||
|
|
||||||
|
else if (!FStrEq(STRING(gpGlobals->mapname), pGlobal->levelName))
|
||||||
|
{
|
||||||
|
// Hasn't been moved to this level yet, wait but stay alive
|
||||||
|
// In this level & not dead, continue on as normal
|
||||||
|
pEntity->MakeDormant();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
// Spawned entities default to 'On'
|
||||||
|
gGlobalState.EntityAdd(pEntity->pev->globalname, gpGlobals->mapname, GLOBAL_ON);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* <2e8a0> ../cstrike/dlls/cbase.cpp:549 */
|
/* <2e8a0> ../cstrike/dlls/cbase.cpp:549 */
|
||||||
@ -407,15 +498,23 @@ void DispatchKeyValue(edict_t *pentKeyvalue, KeyValueData *pkvd)
|
|||||||
|
|
||||||
EntvarsKeyvalue(VARS(pentKeyvalue), pkvd);
|
EntvarsKeyvalue(VARS(pentKeyvalue), pkvd);
|
||||||
|
|
||||||
|
// If the key was an entity variable, or there's no class set yet, don't look for the object, it may
|
||||||
|
// not exist yet.
|
||||||
if (pkvd->fHandled || !pkvd->szClassName)
|
if (pkvd->fHandled || !pkvd->szClassName)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
|
// Get the actualy entity object
|
||||||
CBaseEntity *pEntity = (CBaseEntity *)GET_PRIVATE(pentKeyvalue);
|
CBaseEntity *pEntity = (CBaseEntity *)GET_PRIVATE(pentKeyvalue);
|
||||||
|
|
||||||
if (pEntity)
|
if (!pEntity)
|
||||||
|
return;
|
||||||
|
|
||||||
pEntity->KeyValue(pkvd);
|
pEntity->KeyValue(pkvd);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// HACKHACK -- this is a hack to keep the node graph entity from "touching" things (like triggers)
|
||||||
|
// while it builds the graph
|
||||||
|
|
||||||
/* <2e7db> ../cstrike/dlls/cbase.cpp:574 */
|
/* <2e7db> ../cstrike/dlls/cbase.cpp:574 */
|
||||||
void DispatchTouch(edict_t *pentTouched, edict_t *pentOther)
|
void DispatchTouch(edict_t *pentTouched, edict_t *pentOther)
|
||||||
{
|
{
|
||||||
@ -430,62 +529,93 @@ void DispatchTouch(edict_t *pentTouched, edict_t *pentOther)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* <2fa9b> ../cstrike/dlls/cbase.cpp:587 */
|
/* <2fa9b> ../cstrike/dlls/cbase.cpp:587 */
|
||||||
NOBODY void DispatchUse(edict_t *pentUsed, edict_t *pentOther)
|
void DispatchUse(edict_t *pentUsed, edict_t *pentOther)
|
||||||
{
|
{
|
||||||
// {
|
CBaseEntity *pEntity = (CBaseEntity *)GET_PRIVATE(pentUsed);
|
||||||
// class CBaseEntity *pEntity; // 589
|
CBaseEntity *pOther = (CBaseEntity *)GET_PRIVATE(pentOther);
|
||||||
// class CBaseEntity *pOther; // 590
|
|
||||||
// GET_PRIVATE(edict_t *pent); // 589
|
if (pEntity && !(pEntity->pev->flags & FL_KILLME))
|
||||||
// GET_PRIVATE(edict_t *pent); // 590
|
{
|
||||||
// }
|
pEntity->Use(pOther, pOther, USE_TOGGLE, 0);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/* <2fb2f> ../cstrike/dlls/cbase.cpp:596 */
|
/* <2fb2f> ../cstrike/dlls/cbase.cpp:596 */
|
||||||
NOBODY void DispatchThink(edict_t *pent)
|
void DispatchThink(edict_t *pent)
|
||||||
{
|
{
|
||||||
// {
|
CBaseEntity *pEntity = (CBaseEntity *)GET_PRIVATE(pent);
|
||||||
// class CBaseEntity *pEntity; // 598
|
|
||||||
// GET_PRIVATE(edict_t *pent); // 598
|
if (pEntity != NULL)
|
||||||
// }
|
{
|
||||||
|
if ((pEntity->pev->flags & FL_DORMANT))
|
||||||
|
{
|
||||||
|
ALERT(at_error, "Dormant entity %s is thinking!!\n", STRING(pEntity->pev->classname));
|
||||||
|
}
|
||||||
|
pEntity->Think();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/* <2fb89> ../cstrike/dlls/cbase.cpp:612 */
|
/* <2fb89> ../cstrike/dlls/cbase.cpp:612 */
|
||||||
NOBODY void DispatchBlocked(edict_t *pentBlocked, edict_t *pentOther)
|
void DispatchBlocked(edict_t *pentBlocked, edict_t *pentOther)
|
||||||
{
|
{
|
||||||
// {
|
CBaseEntity *pEntity = (CBaseEntity *)GET_PRIVATE(pentBlocked);
|
||||||
// class CBaseEntity *pEntity; // 614
|
CBaseEntity *pOther = (CBaseEntity *)GET_PRIVATE(pentOther);
|
||||||
// class CBaseEntity *pOther; // 615
|
|
||||||
// GET_PRIVATE(edict_t *pent); // 614
|
if (pEntity != NULL)
|
||||||
// GET_PRIVATE(edict_t *pent); // 615
|
{
|
||||||
// }
|
pEntity->Blocked(pOther);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/* <2ff56> ../cstrike/dlls/cbase.cpp:621 */
|
/* <2ff56> ../cstrike/dlls/cbase.cpp:621 */
|
||||||
NOBODY void DispatchSave(edict_t *pent, SAVERESTOREDATA *pSaveData)
|
void DispatchSave(edict_t *pent, SAVERESTOREDATA *pSaveData)
|
||||||
{
|
{
|
||||||
// {
|
CBaseEntity *pEntity = (CBaseEntity *)GET_PRIVATE(pent);
|
||||||
// class CBaseEntity *pEntity; // 623
|
|
||||||
// GET_PRIVATE(edict_t *pent); // 623
|
if (pEntity != NULL && pSaveData != NULL)
|
||||||
// {
|
{
|
||||||
// ENTITYTABLE *pTable; // 627
|
ENTITYTABLE *pTable = &pSaveData->pTable[ pSaveData->currentIndex ];
|
||||||
// class CSave saveHelper; // 646
|
|
||||||
// {
|
if (pTable->pent != pent)
|
||||||
// float delta; // 638
|
{
|
||||||
// }
|
ALERT(at_error, "ENTITY TABLE OR INDEX IS WRONG!!!!\n");
|
||||||
// CSave(CSave *const this,
|
|
||||||
// SAVERESTOREDATA *pdata); // 646
|
|
||||||
// ~CSave(CSave *const this,
|
|
||||||
// intconst __in_chrg); // 646
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (pEntity->ObjectCaps() & FCAP_DONT_SAVE)
|
||||||
|
return;
|
||||||
|
|
||||||
|
// These don't use ltime & nextthink as times really, but we'll fudge around it.
|
||||||
|
if (pEntity->pev->movetype == MOVETYPE_PUSH)
|
||||||
|
{
|
||||||
|
float_precision delta = pEntity->pev->nextthink - pEntity->pev->ltime;
|
||||||
|
pEntity->pev->ltime = gpGlobals->time;
|
||||||
|
pEntity->pev->nextthink = pEntity->pev->ltime + delta;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Remember entity position for file I/O
|
||||||
|
pTable->location = pSaveData->size;
|
||||||
|
|
||||||
|
// Remember entity class for respawn
|
||||||
|
pTable->classname = pEntity->pev->classname;
|
||||||
|
|
||||||
|
CSave saveHelper(pSaveData);
|
||||||
|
pEntity->Save(saveHelper);
|
||||||
|
|
||||||
|
// Size of entity block is data size written to block
|
||||||
|
pTable->size = pSaveData->size - pTable->location;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Find the matching global entity. Spit out an error if the designer made entities of
|
||||||
|
// different classes with the same global name
|
||||||
|
|
||||||
/* <31697> ../cstrike/dlls/cbase.cpp:656 */
|
/* <31697> ../cstrike/dlls/cbase.cpp:656 */
|
||||||
CBaseEntity *FindGlobalEntity(string_t classname, string_t globalname)
|
CBaseEntity *FindGlobalEntity(string_t classname, string_t globalname)
|
||||||
{
|
{
|
||||||
edict_t *pent = FIND_ENTITY_BY_STRING(NULL, "globalname", STRING(globalname));
|
edict_t *pent = FIND_ENTITY_BY_STRING(NULL, "globalname", STRING(globalname));
|
||||||
CBaseEntity *pReturn = CBaseEntity::Instance(pent);
|
CBaseEntity *pReturn = CBaseEntity::Instance(pent);
|
||||||
if (pReturn)
|
|
||||||
|
if (pReturn != NULL)
|
||||||
{
|
{
|
||||||
if (!FClassnameIs(pReturn->pev, STRING(classname)))
|
if (!FClassnameIs(pReturn->pev, STRING(classname)))
|
||||||
{
|
{
|
||||||
@ -493,88 +623,152 @@ CBaseEntity *FindGlobalEntity(string_t classname, string_t globalname)
|
|||||||
pReturn = NULL;
|
pReturn = NULL;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return pReturn;
|
return pReturn;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* <3179c> ../cstrike/dlls/cbase.cpp:673 */
|
/* <3179c> ../cstrike/dlls/cbase.cpp:673 */
|
||||||
NOBODY int DispatchRestore(edict_t *pent, SAVERESTOREDATA *pSaveData, int globalEntity)
|
int DispatchRestore(edict_t *pent, SAVERESTOREDATA *pSaveData, int globalEntity)
|
||||||
{
|
{
|
||||||
// {
|
CBaseEntity *pEntity = (CBaseEntity *)GET_PRIVATE(pent);
|
||||||
// class CBaseEntity *pEntity; // 675
|
|
||||||
// GET_PRIVATE(edict_t *pent); // 675
|
if (pEntity && pSaveData)
|
||||||
// {
|
{
|
||||||
// entvars_t tmpVars; // 679
|
entvars_t tmpVars;
|
||||||
// class Vector oldOffset; // 680
|
Vector oldOffset;
|
||||||
// class CRestore restoreHelper; // 682
|
CRestore restoreHelper(pSaveData);
|
||||||
// CRestore(CRestore *const this,
|
|
||||||
// SAVERESTOREDATA *pdata); // 682
|
if (globalEntity)
|
||||||
// {
|
{
|
||||||
// class CRestore tmpRestore; // 685
|
CRestore tmpRestore(pSaveData);
|
||||||
// const globalentity_t *pGlobal; // 695
|
tmpRestore.PrecacheMode(0);
|
||||||
// class CBaseEntity *pNewEntity; // 706
|
tmpRestore.ReadEntVars("ENTVARS", &tmpVars);
|
||||||
// CRestore(CRestore *const this,
|
|
||||||
// SAVERESTOREDATA *pdata); // 685
|
// HACKHACK - reset the save pointers, we're going to restore for real this time
|
||||||
// PrecacheMode(CRestore *const this,
|
pSaveData->size = pSaveData->pTable[pSaveData->currentIndex].location;
|
||||||
// BOOL mode); // 686
|
pSaveData->pCurrentData = pSaveData->pBaseData + pSaveData->size;
|
||||||
// FStrEq(const char *sz1,
|
|
||||||
// const char *sz2); // 701
|
const globalentity_t *pGlobal = gGlobalState.EntityFromTable(tmpVars.globalname);
|
||||||
// SetGlobalMode(CRestore *const this,
|
|
||||||
// int global); // 710
|
// Don't overlay any instance of the global that isn't the latest
|
||||||
// operator-(const class Vector *const this,
|
// pSaveData->szCurrentMapName is the level this entity is coming from
|
||||||
// const class Vector &v); // 711
|
// pGlobla->levelName is the last level the global entity was active in.
|
||||||
// operator+(const class Vector *const this,
|
// If they aren't the same, then this global update is out of date.
|
||||||
// const class Vector &v); // 711
|
if (!FStrEq(pSaveData->szCurrentMapName, pGlobal->levelName))
|
||||||
// ~CRestore(CRestore *const this,
|
{
|
||||||
// intconst __in_chrg); // 685
|
return 0;
|
||||||
// ~CRestore(CRestore *const this,
|
}
|
||||||
// intconst __in_chrg); // 685
|
|
||||||
// }
|
// Compute the new global offset
|
||||||
// GET_PRIVATE(edict_t *pent); // 738
|
oldOffset = pSaveData->vecLandmarkOffset;
|
||||||
// {
|
CBaseEntity *pNewEntity = FindGlobalEntity(tmpVars.classname, tmpVars.globalname);
|
||||||
// const globalentity_t *pGlobal; // 752
|
|
||||||
// FStrEq(const char *sz1,
|
if (pNewEntity != NULL)
|
||||||
// const char *sz2); // 758
|
{
|
||||||
// MakeDormant(CBaseEntity *const this); // 760
|
// Tell the restore code we're overlaying a global entity from another level
|
||||||
// }
|
// Don't overwrite global fields
|
||||||
// ~CRestore(CRestore *const this,
|
restoreHelper.SetGlobalMode(1);
|
||||||
// intconst __in_chrg); // 682
|
|
||||||
// ~CRestore(CRestore *const this,
|
pSaveData->vecLandmarkOffset = (pSaveData->vecLandmarkOffset - pNewEntity->pev->mins) + tmpVars.mins;
|
||||||
// intconst __in_chrg); // 682
|
|
||||||
// }
|
// we're going to restore this data OVER the old entity
|
||||||
// }
|
pEntity = pNewEntity;
|
||||||
|
pent = ENT(pEntity->pev);
|
||||||
|
|
||||||
|
// Update the global table to say that the global definition of this entity should come from this level
|
||||||
|
gGlobalState.EntityUpdate(pEntity->pev->globalname, gpGlobals->mapname);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
// This entity will be freed automatically by the engine. If we don't do a restore on a matching entity (below)
|
||||||
|
// or call EntityUpdate() to move it to this level, we haven't changed global state at all.
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
if (pEntity->ObjectCaps() & FCAP_MUST_SPAWN)
|
||||||
|
{
|
||||||
|
pEntity->Restore(restoreHelper);
|
||||||
|
pEntity->Spawn();
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
pEntity->Restore(restoreHelper);
|
||||||
|
pEntity->Precache();
|
||||||
|
}
|
||||||
|
|
||||||
|
// Again, could be deleted, get the pointer again.
|
||||||
|
pEntity = (CBaseEntity *)GET_PRIVATE(pent);
|
||||||
|
|
||||||
|
// Is this an overriding global entity (coming over the transition), or one restoring in a level
|
||||||
|
if (globalEntity)
|
||||||
|
{
|
||||||
|
pSaveData->vecLandmarkOffset = oldOffset;
|
||||||
|
|
||||||
|
if (pEntity != NULL)
|
||||||
|
{
|
||||||
|
UTIL_SetOrigin(pEntity->pev, pEntity->pev->origin);
|
||||||
|
pEntity->OverrideReset();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else if (pEntity != NULL && pEntity->pev->globalname)
|
||||||
|
{
|
||||||
|
const globalentity_t *pGlobal = gGlobalState.EntityFromTable(pEntity->pev->globalname);
|
||||||
|
|
||||||
|
if (pGlobal != NULL)
|
||||||
|
{
|
||||||
|
// Already dead? delete
|
||||||
|
if (pGlobal->state == GLOBAL_DEAD)
|
||||||
|
return -1;
|
||||||
|
|
||||||
|
else if (!FStrEq(STRING(gpGlobals->mapname), pGlobal->levelName))
|
||||||
|
{
|
||||||
|
// Hasn't been moved to this level yet, wait but stay alive
|
||||||
|
pEntity->MakeDormant();
|
||||||
|
}
|
||||||
|
// In this level & not dead, continue on as normal
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
ALERT(at_error, "Global Entity %s (%s) not in table!!!\n", STRING(pEntity->pev->globalname), STRING(pEntity->pev->classname));
|
||||||
|
|
||||||
|
// Spawned entities default to 'On'
|
||||||
|
gGlobalState.EntityAdd(pEntity->pev->globalname, gpGlobals->mapname, GLOBAL_ON);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* <2fdcd> ../cstrike/dlls/cbase.cpp:776 */
|
/* <2fdcd> ../cstrike/dlls/cbase.cpp:776 */
|
||||||
NOBODY void DispatchObjectCollsionBox(edict_t *pent)
|
void DispatchObjectCollsionBox(edict_t *pent)
|
||||||
{
|
{
|
||||||
// {
|
CBaseEntity *pEntity = (CBaseEntity *)GET_PRIVATE(pent);
|
||||||
// class CBaseEntity *pEntity; // 778
|
|
||||||
// GET_PRIVATE(edict_t *pent); // 778
|
if (pEntity != NULL)
|
||||||
// }
|
{
|
||||||
|
pEntity->SetObjectCollisionBox();
|
||||||
|
}
|
||||||
|
else
|
||||||
|
SetObjectCollisionBox(&pent->v);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/* <2fe94> ../cstrike/dlls/cbase.cpp:788 */
|
/* <2fe94> ../cstrike/dlls/cbase.cpp:788 */
|
||||||
NOBODY void SaveWriteFields(SAVERESTOREDATA *pSaveData, const char *pname, void *pBaseData, TYPEDESCRIPTION *pFields, int fieldCount)
|
void SaveWriteFields(SAVERESTOREDATA *pSaveData, const char *pname, void *pBaseData, TYPEDESCRIPTION *pFields, int fieldCount)
|
||||||
{
|
{
|
||||||
// {
|
CSave saveHelper(pSaveData);
|
||||||
// class CSave saveHelper; // 790
|
saveHelper.WriteFields(pname, pBaseData, pFields, fieldCount);
|
||||||
// CSave(CSave *const this,
|
|
||||||
// SAVERESTOREDATA *pdata); // 790
|
|
||||||
// ~CSave(CSave *const this,
|
|
||||||
// intconst __in_chrg); // 790
|
|
||||||
// }
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/* <30047> ../cstrike/dlls/cbase.cpp:795 */
|
/* <30047> ../cstrike/dlls/cbase.cpp:795 */
|
||||||
NOBODY void SaveReadFields(SAVERESTOREDATA *pSaveData, const char *pname, void *pBaseData, TYPEDESCRIPTION *pFields, int fieldCount)
|
void SaveReadFields(SAVERESTOREDATA *pSaveData, const char *pname, void *pBaseData, TYPEDESCRIPTION *pFields, int fieldCount)
|
||||||
{
|
{
|
||||||
// {
|
CRestore restoreHelper(pSaveData);
|
||||||
// class CRestore restoreHelper; // 797
|
restoreHelper.ReadFields(pname, pBaseData, pFields, fieldCount);
|
||||||
// CRestore(CRestore *const this,
|
|
||||||
// SAVERESTOREDATA *pdata); // 797
|
|
||||||
// ~CRestore(CRestore *const this,
|
|
||||||
// intconst __in_chrg); // 797
|
|
||||||
// }
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/* <31a74> ../cstrike/dlls/cbase.cpp:802 */
|
/* <31a74> ../cstrike/dlls/cbase.cpp:802 */
|
||||||
@ -632,7 +826,7 @@ CBaseEntity *EHANDLE::operator->(void)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* <301be> ../cstrike/dlls/cbase.cpp:857 */
|
/* <301be> ../cstrike/dlls/cbase.cpp:857 */
|
||||||
int CBaseEntity::TakeHealth_(float flHealth, int bitsDamageType)
|
int CBaseEntity::__MAKE_VHOOK(TakeHealth)(float flHealth, int bitsDamageType)
|
||||||
{
|
{
|
||||||
if (pev->takedamage == DAMAGE_NO)
|
if (pev->takedamage == DAMAGE_NO)
|
||||||
return 0;
|
return 0;
|
||||||
@ -649,102 +843,213 @@ int CBaseEntity::TakeHealth_(float flHealth, int bitsDamageType)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* <305af> ../cstrike/dlls/cbase.cpp:876 */
|
/* <305af> ../cstrike/dlls/cbase.cpp:876 */
|
||||||
NOBODY int CBaseEntity::TakeDamage_(entvars_t *pevInflictor, entvars_t *pevAttacker, float flDamage, int bitsDamageType)
|
int CBaseEntity::__MAKE_VHOOK(TakeDamage)(entvars_t *pevInflictor, entvars_t *pevAttacker, float flDamage, int bitsDamageType)
|
||||||
{
|
{
|
||||||
// {
|
Vector vecTemp;
|
||||||
// class Vector vecTemp; // 878
|
|
||||||
// }
|
if (pev->takedamage == DAMAGE_NO)
|
||||||
// TakeDamage(CBaseEntity *const this,
|
return 0;
|
||||||
// entvars_t *pevInflictor,
|
|
||||||
// entvars_t *pevAttacker,
|
// UNDONE: some entity types may be immune or resistant to some bitsDamageType
|
||||||
// float flDamage,
|
// if Attacker == Inflictor, the attack was a melee or other instant-hit attack.
|
||||||
// int bitsDamageType); // 876
|
// (that is, no actual entity projectile was involved in the attack so use the shooter's origin).
|
||||||
|
if (pevAttacker == pevInflictor)
|
||||||
|
{
|
||||||
|
vecTemp = pevInflictor->origin - (VecBModelOrigin(pev));
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
// an actual missile was involved.
|
||||||
|
vecTemp = pevInflictor->origin - (VecBModelOrigin(pev));
|
||||||
|
}
|
||||||
|
|
||||||
|
// this global is still used for glass and other non-monster killables, along with decals.
|
||||||
|
g_vecAttackDir = vecTemp.Normalize();
|
||||||
|
|
||||||
|
// save damage based on the target's armor level
|
||||||
|
// figure momentum add (don't let hurt brushes or other triggers move player)
|
||||||
|
if ((!FNullEnt(pevInflictor)) && (pev->movetype == MOVETYPE_WALK || pev->movetype == MOVETYPE_STEP) && (pevAttacker->solid != SOLID_TRIGGER))
|
||||||
|
{
|
||||||
|
Vector vecDir = pev->origin - (pevInflictor->absmin + pevInflictor->absmax) * 0.5;
|
||||||
|
vecDir = vecDir.Normalize();
|
||||||
|
|
||||||
|
float_precision flForce = flDamage * ((32 * 32 * 72.0) / (pev->size.x * pev->size.y * pev->size.z)) * 5;
|
||||||
|
|
||||||
|
if (flForce > 1000.0)
|
||||||
|
flForce = 1000.0;
|
||||||
|
|
||||||
|
pev->velocity = pev->velocity + vecDir * flForce;
|
||||||
|
}
|
||||||
|
|
||||||
|
// do the damage
|
||||||
|
pev->health -= flDamage;
|
||||||
|
if (pev->health <= 0)
|
||||||
|
{
|
||||||
|
Killed(pevAttacker, GIB_NORMAL);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
|
||||||
/* <2fe50> ../cstrike/dlls/cbase.cpp:927 */
|
/* <2fe50> ../cstrike/dlls/cbase.cpp:927 */
|
||||||
NOBODY void CBaseEntity::Killed_(entvars_t *pevAttacker, int iGib)
|
void CBaseEntity::__MAKE_VHOOK(Killed)(entvars_t *pevAttacker, int iGib)
|
||||||
{
|
{
|
||||||
|
pev->takedamage = DAMAGE_NO;
|
||||||
|
pev->deadflag = DEAD_DEAD;
|
||||||
|
UTIL_Remove(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* <2fc1c> ../cstrike/dlls/cbase.cpp:935 */
|
/* <2fc1c> ../cstrike/dlls/cbase.cpp:935 */
|
||||||
NOBODY CBaseEntity *CBaseEntity::GetNextTarget_(void)
|
CBaseEntity *CBaseEntity::__MAKE_VHOOK(GetNextTarget)(void)
|
||||||
|
{
|
||||||
|
if (FStringNull(pev->target))
|
||||||
|
return NULL;
|
||||||
|
|
||||||
|
edict_t *pTarget = FIND_ENTITY_BY_TARGETNAME(NULL, STRING(pev->target));
|
||||||
|
|
||||||
|
if (FNullEnt(pTarget))
|
||||||
{
|
{
|
||||||
// {
|
|
||||||
// edict_t *pTarget; // 939
|
|
||||||
// FIND_ENTITY_BY_TARGETNAME(edict_t *entStart,
|
|
||||||
// const char *pszName); // 939
|
|
||||||
// FNullEnt(const edict_t *pent); // 940
|
|
||||||
// Instance(edict_t *pent); // 943
|
|
||||||
// }
|
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
return Instance(pTarget);
|
||||||
|
}
|
||||||
|
|
||||||
/* <302a6> ../cstrike/dlls/cbase.cpp:958 */
|
/* <302a6> ../cstrike/dlls/cbase.cpp:958 */
|
||||||
NOBODY int CBaseEntity::Save(CSave &save)
|
int CBaseEntity::__MAKE_VHOOK(Save)(CSave &save)
|
||||||
{
|
{
|
||||||
// Save(CBaseEntity *const this,
|
if (save.WriteEntVars("ENTVARS", pev))
|
||||||
// class CSave &save); // 958
|
{
|
||||||
|
return save.WriteFields("BASE", this, IMPLEMENT_ARRAY(m_SaveData), ARRAYSIZE(IMPLEMENT_ARRAY(m_SaveData)));
|
||||||
|
}
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* <30440> ../cstrike/dlls/cbase.cpp:966 */
|
/* <30440> ../cstrike/dlls/cbase.cpp:966 */
|
||||||
NOBODY int CBaseEntity::Restore(CRestore &restore)
|
int CBaseEntity::__MAKE_VHOOK(Restore)(CRestore &restore)
|
||||||
{
|
{
|
||||||
// {
|
int status;
|
||||||
// int status; // 968
|
|
||||||
// }
|
status = restore.ReadEntVars("ENTVARS", pev);
|
||||||
// Restore(CBaseEntity *const this,
|
|
||||||
// class CRestore &restore); // 966
|
if (status)
|
||||||
return 0;
|
{
|
||||||
|
status = restore.ReadFields("BASE", this, IMPLEMENT_ARRAY(m_SaveData), ARRAYSIZE(IMPLEMENT_ARRAY(m_SaveData)));
|
||||||
|
}
|
||||||
|
|
||||||
|
if (pev->modelindex != 0 && !FStringNull(pev->model))
|
||||||
|
{
|
||||||
|
Vector mins, maxs;
|
||||||
|
|
||||||
|
// Set model is about to destroy these
|
||||||
|
mins = pev->mins;
|
||||||
|
maxs = pev->maxs;
|
||||||
|
|
||||||
|
PRECACHE_MODEL((char *)STRING(pev->model));
|
||||||
|
SET_MODEL(ENT(pev), STRING(pev->model));
|
||||||
|
|
||||||
|
// Reset them
|
||||||
|
UTIL_SetSize(pev, mins, maxs);
|
||||||
|
}
|
||||||
|
|
||||||
|
return status;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* <2fcf6> ../cstrike/dlls/cbase.cpp:991 */
|
/* <2fcf6> ../cstrike/dlls/cbase.cpp:991 */
|
||||||
NOBODY void SetObjectCollisionBox(entvars_t *pev)
|
void SetObjectCollisionBox(entvars_t *pev)
|
||||||
{
|
{
|
||||||
// operator+(const class Vector *const this,
|
if ((pev->solid == SOLID_BSP) && (pev->angles.x || pev->angles.y || pev->angles.z))
|
||||||
// const class Vector &v); // 1017
|
{
|
||||||
// operator+(const class Vector *const this,
|
// expand for rotation
|
||||||
// const class Vector &v); // 1018
|
float_precision max, v;
|
||||||
// {
|
int i;
|
||||||
// float max; // 996
|
|
||||||
// float v; // 996
|
max = 0;
|
||||||
// int i; // 997
|
for (i = 0 ; i < 3 ; i++)
|
||||||
// fabs(double __x); // 1002
|
{
|
||||||
// fabs(double __x); // 1005
|
v = fabs((float_precision)((float *)pev->mins)[i]);
|
||||||
// }
|
if (v > max)
|
||||||
|
{
|
||||||
|
max = v;
|
||||||
|
}
|
||||||
|
|
||||||
|
v = fabs((float_precision)((float *)pev->maxs)[i]);
|
||||||
|
if (v > max)
|
||||||
|
{
|
||||||
|
max = v;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
for (i = 0; i < 3; i++)
|
||||||
|
{
|
||||||
|
((float *)pev->absmin)[i] = ((float *)pev->origin)[i] - max;
|
||||||
|
((float *)pev->absmax)[i] = ((float *)pev->origin)[i] + max;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
pev->absmin = pev->origin + pev->mins;
|
||||||
|
pev->absmax = pev->origin + pev->maxs;
|
||||||
|
}
|
||||||
|
|
||||||
|
pev->absmin.x -= 1;
|
||||||
|
pev->absmin.y -= 1;
|
||||||
|
pev->absmin.z -= 1;
|
||||||
|
|
||||||
|
pev->absmax.x += 1;
|
||||||
|
pev->absmax.y += 1;
|
||||||
|
pev->absmax.z += 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* <2fe2a> ../cstrike/dlls/cbase.cpp:1030 */
|
/* <2fe2a> ../cstrike/dlls/cbase.cpp:1030 */
|
||||||
NOBODY void CBaseEntity::SetObjectCollisionBox(void)
|
void CBaseEntity::__MAKE_VHOOK(SetObjectCollisionBox)(void)
|
||||||
{
|
{
|
||||||
::SetObjectCollisionBox(pev);
|
::SetObjectCollisionBox(pev);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* <31c0e> ../cstrike/dlls/cbase.cpp:1036 */
|
/* <31c0e> ../cstrike/dlls/cbase.cpp:1036 */
|
||||||
NOBODY int CBaseEntity::Intersects(CBaseEntity *pOther)
|
int CBaseEntity::Intersects(CBaseEntity *pOther)
|
||||||
{
|
{
|
||||||
|
if (pOther->pev->absmin.x > pev->absmax.x
|
||||||
|
|| pOther->pev->absmin.y > pev->absmax.y
|
||||||
|
|| pOther->pev->absmin.z > pev->absmax.z
|
||||||
|
|| pOther->pev->absmax.x < pev->absmin.x
|
||||||
|
|| pOther->pev->absmax.y < pev->absmin.y
|
||||||
|
|| pOther->pev->absmax.z < pev->absmin.z)
|
||||||
|
return 0;
|
||||||
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* <31c43> ../cstrike/dlls/cbase.cpp:1048 */
|
/* <31c43> ../cstrike/dlls/cbase.cpp:1048 */
|
||||||
void CBaseEntity::MakeDormant(void)
|
void CBaseEntity::MakeDormant(void)
|
||||||
{
|
{
|
||||||
pev->flags |= FL_DORMANT;
|
pev->flags |= FL_DORMANT;
|
||||||
|
|
||||||
|
// Don't touch
|
||||||
pev->solid = SOLID_NOT;
|
pev->solid = SOLID_NOT;
|
||||||
|
|
||||||
|
// Don't move
|
||||||
pev->movetype = MOVETYPE_NONE;
|
pev->movetype = MOVETYPE_NONE;
|
||||||
|
|
||||||
|
// Don't draw
|
||||||
pev->effects |= EF_NODRAW;
|
pev->effects |= EF_NODRAW;
|
||||||
|
|
||||||
|
// Don't think
|
||||||
pev->nextthink = 0;
|
pev->nextthink = 0;
|
||||||
|
|
||||||
|
// Relink
|
||||||
UTIL_SetOrigin(pev, pev->origin);
|
UTIL_SetOrigin(pev, pev->origin);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* <31c66> ../cstrike/dlls/cbase.cpp:1064 */
|
/* <31c66> ../cstrike/dlls/cbase.cpp:1064 */
|
||||||
NOBODY int CBaseEntity::IsDormant(void)
|
int CBaseEntity::IsDormant(void)
|
||||||
{
|
{
|
||||||
return (pev->flags & FL_DORMANT) == FL_DORMANT;
|
return (pev->flags & FL_DORMANT) == FL_DORMANT;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* <30221> ../cstrike/dlls/cbase.cpp:1069 */
|
/* <30221> ../cstrike/dlls/cbase.cpp:1069 */
|
||||||
BOOL CBaseEntity::IsInWorld_(void)
|
BOOL CBaseEntity::__MAKE_VHOOK(IsInWorld)(void)
|
||||||
{
|
{
|
||||||
// position
|
// position
|
||||||
if (pev->origin.x >= 4096.0 || pev->origin.y >= 4096.0 || pev->origin.z >= 4096.0)
|
if (pev->origin.x >= 4096.0 || pev->origin.y >= 4096.0 || pev->origin.z >= 4096.0)
|
||||||
@ -781,13 +1086,20 @@ int CBaseEntity::ShouldToggle(USE_TYPE useType, BOOL currentState)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* <30258> ../cstrike/dlls/cbase.cpp:1100 */
|
/* <30258> ../cstrike/dlls/cbase.cpp:1100 */
|
||||||
NOBODY int CBaseEntity::DamageDecal_(int bitsDamageType)
|
int CBaseEntity::__MAKE_VHOOK(DamageDecal)(int bitsDamageType)
|
||||||
{
|
{
|
||||||
// DamageDecal(CBaseEntity *const this,
|
if (pev->rendermode == kRenderTransAlpha)
|
||||||
// int bitsDamageType); // 1100
|
return -1;
|
||||||
return 0;
|
|
||||||
|
if (pev->rendermode != kRenderNormal)
|
||||||
|
return DECAL_BPROOF1;
|
||||||
|
|
||||||
|
return DECAL_GUNSHOT1 + RANDOM_LONG(0, 4);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// NOTE: szName must be a pointer to constant memory, e.g. "monster_class" because the entity
|
||||||
|
// will keep a pointer to it after this call.
|
||||||
|
|
||||||
/* <31cd1> ../cstrike/dlls/cbase.cpp:1115 */
|
/* <31cd1> ../cstrike/dlls/cbase.cpp:1115 */
|
||||||
CBaseEntity *CBaseEntity::Create(char *szName, const Vector &vecOrigin, const Vector &vecAngles, edict_t *pentOwner)
|
CBaseEntity *CBaseEntity::Create(char *szName, const Vector &vecOrigin, const Vector &vecAngles, edict_t *pentOwner)
|
||||||
{
|
{
|
||||||
@ -813,7 +1125,7 @@ CBaseEntity *CBaseEntity::Create(char *szName, const Vector &vecOrigin, const Ve
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* <30885> ../cstrike/dlls/cbase.cpp:1134 */
|
/* <30885> ../cstrike/dlls/cbase.cpp:1134 */
|
||||||
NOBODY void OnFreeEntPrivateData(edict_t *pEnt)
|
void OnFreeEntPrivateData(edict_t *pEnt)
|
||||||
{
|
{
|
||||||
CBaseEntity *pEntity = CBaseEntity::Instance(pEnt);
|
CBaseEntity *pEntity = CBaseEntity::Instance(pEnt);
|
||||||
if (!pEntity)
|
if (!pEntity)
|
||||||
@ -825,6 +1137,21 @@ NOBODY void OnFreeEntPrivateData(edict_t *pEnt)
|
|||||||
|
|
||||||
#ifdef HOOK_GAMEDLL
|
#ifdef HOOK_GAMEDLL
|
||||||
|
|
||||||
|
int CBaseEntity::Save(CSave &save)
|
||||||
|
{
|
||||||
|
return Save_(save);
|
||||||
|
}
|
||||||
|
|
||||||
|
int CBaseEntity::Restore(CRestore &restore)
|
||||||
|
{
|
||||||
|
return Restore_(restore);
|
||||||
|
}
|
||||||
|
|
||||||
|
void CBaseEntity::SetObjectCollisionBox(void)
|
||||||
|
{
|
||||||
|
SetObjectCollisionBox_();
|
||||||
|
}
|
||||||
|
|
||||||
void CBaseEntity::TraceAttack(entvars_t *pevAttacker,float flDamage,Vector vecDir,TraceResult *ptr,int bitsDamageType)
|
void CBaseEntity::TraceAttack(entvars_t *pevAttacker,float flDamage,Vector vecDir,TraceResult *ptr,int bitsDamageType)
|
||||||
{
|
{
|
||||||
TraceAttack_(pevAttacker,flDamage,vecDir,ptr,bitsDamageType);
|
TraceAttack_(pevAttacker,flDamage,vecDir,ptr,bitsDamageType);
|
||||||
|
@ -187,6 +187,7 @@
|
|||||||
typedef enum
|
typedef enum
|
||||||
{
|
{
|
||||||
CLASSNAME
|
CLASSNAME
|
||||||
|
|
||||||
} hash_types_e;
|
} hash_types_e;
|
||||||
|
|
||||||
typedef struct hash_item_s
|
typedef struct hash_item_s
|
||||||
@ -195,6 +196,7 @@ typedef struct hash_item_s
|
|||||||
struct hash_item_s *next;
|
struct hash_item_s *next;
|
||||||
struct hash_item_s *lastHash;
|
struct hash_item_s *lastHash;
|
||||||
int pevIndex;
|
int pevIndex;
|
||||||
|
|
||||||
} hash_item_t;
|
} hash_item_t;
|
||||||
/* size: 16, cachelines: 1, members: 4 */
|
/* size: 16, cachelines: 1, members: 4 */
|
||||||
|
|
||||||
@ -210,6 +212,7 @@ typedef struct locksounds
|
|||||||
float flwaitSentence;
|
float flwaitSentence;
|
||||||
BYTE bEOFLocked;
|
BYTE bEOFLocked;
|
||||||
BYTE bEOFUnlocked;
|
BYTE bEOFUnlocked;
|
||||||
|
|
||||||
} locksound_t;
|
} locksound_t;
|
||||||
/* size: 36, cachelines: 1, members: 10 */
|
/* size: 36, cachelines: 1, members: 10 */
|
||||||
|
|
||||||
@ -226,6 +229,7 @@ typedef enum
|
|||||||
TRAIN_SAFE,
|
TRAIN_SAFE,
|
||||||
TRAIN_BLOCKING,
|
TRAIN_BLOCKING,
|
||||||
TRAIN_FOLLOWING
|
TRAIN_FOLLOWING
|
||||||
|
|
||||||
} TRAIN_CODE;
|
} TRAIN_CODE;
|
||||||
|
|
||||||
typedef enum
|
typedef enum
|
||||||
@ -234,6 +238,7 @@ typedef enum
|
|||||||
TS_AT_BOTTOM,
|
TS_AT_BOTTOM,
|
||||||
TS_GOING_UP,
|
TS_GOING_UP,
|
||||||
TS_GOING_DOWN,
|
TS_GOING_DOWN,
|
||||||
|
|
||||||
} TOGGLE_STATE;
|
} TOGGLE_STATE;
|
||||||
|
|
||||||
class CGrenade;
|
class CGrenade;
|
||||||
@ -342,10 +347,7 @@ public:
|
|||||||
return FCAP_ACROSS_TRANSITION;
|
return FCAP_ACROSS_TRANSITION;
|
||||||
}
|
}
|
||||||
virtual void Activate(void) {}
|
virtual void Activate(void) {}
|
||||||
NOBODY virtual void SetObjectCollisionBox(void);
|
virtual void SetObjectCollisionBox(void);
|
||||||
//{
|
|
||||||
// ::SetObjectCollisionBox(pev);
|
|
||||||
//}
|
|
||||||
virtual int Classify(void)
|
virtual int Classify(void)
|
||||||
{
|
{
|
||||||
return CLASS_NONE;
|
return CLASS_NONE;
|
||||||
@ -355,9 +357,9 @@ public:
|
|||||||
return DeathNotice_(pevChild);
|
return DeathNotice_(pevChild);
|
||||||
}
|
}
|
||||||
virtual void TraceAttack(entvars_t *pevAttacker, float flDamage, Vector vecDir, TraceResult *ptr, int bitsDamageType);
|
virtual void TraceAttack(entvars_t *pevAttacker, float flDamage, Vector vecDir, TraceResult *ptr, int bitsDamageType);
|
||||||
NOBODY virtual int TakeDamage(entvars_t *pevInflictor, entvars_t *pevAttacker, float flDamage, int bitsDamageType);
|
virtual int TakeDamage(entvars_t *pevInflictor, entvars_t *pevAttacker, float flDamage, int bitsDamageType);
|
||||||
virtual int TakeHealth(float flHealth, int bitsDamageType);
|
virtual int TakeHealth(float flHealth, int bitsDamageType);
|
||||||
NOBODY virtual void Killed(entvars_t *pevAttacker, int iGib);
|
virtual void Killed(entvars_t *pevAttacker, int iGib);
|
||||||
virtual int BloodColor(void)
|
virtual int BloodColor(void)
|
||||||
{
|
{
|
||||||
return DONT_BLEED;
|
return DONT_BLEED;
|
||||||
@ -402,7 +404,7 @@ public:
|
|||||||
return (pev->velocity != g_vecZero);
|
return (pev->velocity != g_vecZero);
|
||||||
}
|
}
|
||||||
virtual void OverrideReset(void) {}
|
virtual void OverrideReset(void) {}
|
||||||
NOBODY virtual int DamageDecal(int bitsDamageType);
|
virtual int DamageDecal(int bitsDamageType);
|
||||||
virtual void SetToggleState(int state) {}
|
virtual void SetToggleState(int state) {}
|
||||||
virtual void StartSneaking(void) {}
|
virtual void StartSneaking(void) {}
|
||||||
virtual void StopSneaking(void) {}
|
virtual void StopSneaking(void) {}
|
||||||
@ -443,7 +445,7 @@ public:
|
|||||||
{
|
{
|
||||||
return "";
|
return "";
|
||||||
}
|
}
|
||||||
NOBODY virtual CBaseEntity *GetNextTarget(void);
|
virtual CBaseEntity *GetNextTarget(void);
|
||||||
virtual void Think(void)
|
virtual void Think(void)
|
||||||
{
|
{
|
||||||
if (m_pfnThink)
|
if (m_pfnThink)
|
||||||
@ -494,18 +496,14 @@ public:
|
|||||||
return GETENTITYILLUM(ENT(pev));
|
return GETENTITYILLUM(ENT(pev));
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef _WIN32
|
|
||||||
NOBODY virtual BOOL FVisible(Vector &vecOrigin);
|
|
||||||
NOBODY virtual BOOL FVisible(CBaseEntity *pEntity);
|
|
||||||
#else
|
|
||||||
NOBODY virtual BOOL FVisible(CBaseEntity *pEntity);
|
NOBODY virtual BOOL FVisible(CBaseEntity *pEntity);
|
||||||
NOBODY virtual BOOL FVisible(Vector &vecOrigin);
|
NOBODY virtual BOOL FVisible(Vector &vecOrigin);
|
||||||
#endif // _WIN32
|
|
||||||
|
|
||||||
#ifdef HOOK_GAMEDLL
|
#ifdef HOOK_GAMEDLL
|
||||||
|
|
||||||
int Save_(CSave &save);
|
int Save_(CSave &save);
|
||||||
int Restore_(CRestore &restore);
|
int Restore_(CRestore &restore);
|
||||||
|
void SetObjectCollisionBox_(void);
|
||||||
void DeathNotice_(entvars_t *pevChild) { }
|
void DeathNotice_(entvars_t *pevChild) { }
|
||||||
void TraceAttack_(entvars_t *pevAttacker, float flDamage, Vector vecDir, TraceResult *ptr, int bitsDamageType);
|
void TraceAttack_(entvars_t *pevAttacker, float flDamage, Vector vecDir, TraceResult *ptr, int bitsDamageType);
|
||||||
int TakeDamage_(entvars_t *pevInflictor, entvars_t *pevAttacker, float flDamage, int bitsDamageType);
|
int TakeDamage_(entvars_t *pevInflictor, entvars_t *pevAttacker, float flDamage, int bitsDamageType);
|
||||||
@ -546,7 +544,7 @@ public:
|
|||||||
void EXPORT SUB_DoNothing(void);
|
void EXPORT SUB_DoNothing(void);
|
||||||
void EXPORT SUB_StartFadeOut(void);
|
void EXPORT SUB_StartFadeOut(void);
|
||||||
void EXPORT SUB_FadeOut(void);
|
void EXPORT SUB_FadeOut(void);
|
||||||
NOBODY void EXPORT SUB_CallUseToggle(void)
|
void EXPORT SUB_CallUseToggle(void)
|
||||||
{
|
{
|
||||||
Use(this, this, USE_TOGGLE, 0);
|
Use(this, this, USE_TOGGLE, 0);
|
||||||
}
|
}
|
||||||
@ -554,8 +552,8 @@ public:
|
|||||||
NOBODY void FireBullets(ULONG cShots, Vector vecSrc, Vector vecDirShooting, Vector vecSpread, float flDistance, int iBulletType, int iTracerFreq = 4, int iDamage = 0, entvars_t *pevAttacker = NULL);
|
NOBODY void FireBullets(ULONG cShots, Vector vecSrc, Vector vecDirShooting, Vector vecSpread, float flDistance, int iBulletType, int iTracerFreq = 4, int iDamage = 0, entvars_t *pevAttacker = NULL);
|
||||||
Vector FireBullets3(Vector vecSrc, Vector vecDirShooting, float vecSpread, float flDistance, int iPenetration, int iBulletType, int iDamage, float flRangeModifier, entvars_t *pevAttacker, bool bPistol, int shared_rand = 0);
|
Vector FireBullets3(Vector vecSrc, Vector vecDirShooting, float vecSpread, float flDistance, int iPenetration, int iBulletType, int iDamage, float flRangeModifier, entvars_t *pevAttacker, bool bPistol, int shared_rand = 0);
|
||||||
void SUB_UseTargets(CBaseEntity *pActivator, USE_TYPE useType, float value);
|
void SUB_UseTargets(CBaseEntity *pActivator, USE_TYPE useType, float value);
|
||||||
NOBODY int Intersects(CBaseEntity *pOther);
|
int Intersects(CBaseEntity *pOther);
|
||||||
NOXREF void MakeDormant(void);
|
void MakeDormant(void);
|
||||||
int IsDormant(void);
|
int IsDormant(void);
|
||||||
BOOL IsLockedByMaster(void)
|
BOOL IsLockedByMaster(void)
|
||||||
{
|
{
|
||||||
@ -577,8 +575,10 @@ public:
|
|||||||
CBaseMonster *GetMonsterPointer(entvars_t *pevMonster)
|
CBaseMonster *GetMonsterPointer(entvars_t *pevMonster)
|
||||||
{
|
{
|
||||||
CBaseEntity *pEntity = Instance(pevMonster);
|
CBaseEntity *pEntity = Instance(pevMonster);
|
||||||
if (pEntity)
|
if (pEntity != NULL)
|
||||||
|
{
|
||||||
return pEntity->MyMonsterPointer();
|
return pEntity->MyMonsterPointer();
|
||||||
|
}
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
CBaseMonster *GetMonsterPointer(edict_t *pentMonster)
|
CBaseMonster *GetMonsterPointer(edict_t *pentMonster)
|
||||||
@ -765,7 +765,6 @@ public:
|
|||||||
|
|
||||||
int Save_(CSave &save);
|
int Save_(CSave &save);
|
||||||
int Restore_(CRestore &restore);
|
int Restore_(CRestore &restore);
|
||||||
void HandleAnimEvent_(MonsterEvent_t *pEvent);
|
|
||||||
|
|
||||||
#endif // HOOK_GAMEDLL
|
#endif // HOOK_GAMEDLL
|
||||||
|
|
||||||
@ -773,21 +772,23 @@ public:
|
|||||||
float StudioFrameAdvance(float flInterval = 0.0f);
|
float StudioFrameAdvance(float flInterval = 0.0f);
|
||||||
BOOL GetSequenceFlags(void);
|
BOOL GetSequenceFlags(void);
|
||||||
int LookupActivity(int activity);
|
int LookupActivity(int activity);
|
||||||
NOBODY int LookupActivityHeaviest(int activity);
|
int LookupActivityHeaviest(int activity);
|
||||||
int LookupSequence(const char *label);
|
int LookupSequence(const char *label);
|
||||||
void ResetSequenceInfo(void);
|
void ResetSequenceInfo(void);
|
||||||
NOBODY void DispatchAnimEvents(float flFutureInterval = 0.1f);
|
void DispatchAnimEvents(float flFutureInterval = 0.1f);
|
||||||
float SetBoneController(int iController, float flValue);
|
float SetBoneController(int iController, float flValue);
|
||||||
void InitBoneControllers(void);
|
void InitBoneControllers(void);
|
||||||
NOBODY float SetBlending(int iBlender, float flValue);
|
|
||||||
NOBODY void GetBonePosition(int iBone, Vector &origin, Vector &angles);
|
NOXREF float SetBlending(int iBlender, float flValue);
|
||||||
|
NOXREF void GetBonePosition(int iBone, Vector &origin, Vector &angles);
|
||||||
NOXREF void GetAutomovement(Vector &origin, Vector &angles, float flInterval = 0.1f);
|
NOXREF void GetAutomovement(Vector &origin, Vector &angles, float flInterval = 0.1f);
|
||||||
NOBODY int FindTransition(int iEndingSequence, int iGoalSequence, int *piDir);
|
NOXREF int FindTransition(int iEndingSequence, int iGoalSequence, int *piDir);
|
||||||
NOBODY void GetAttachment(int iAttachment, Vector &origin, Vector &angles);
|
NOXREF void GetAttachment(int iAttachment, Vector &origin, Vector &angles);
|
||||||
NOBODY void SetBodygroup(int iGroup, int iValue);
|
NOXREF void SetBodygroup(int iGroup, int iValue);
|
||||||
NOBODY int GetBodygroup(int iGroup);
|
NOXREF int GetBodygroup(int iGroup);
|
||||||
NOBODY int ExtractBbox(int sequence, float *mins, float *maxs);
|
|
||||||
NOBODY void SetSequenceBox(void);
|
int ExtractBbox(int sequence, float *mins, float *maxs);
|
||||||
|
void SetSequenceBox(void);
|
||||||
public:
|
public:
|
||||||
static TYPEDESCRIPTION IMPLEMENT_ARRAY(m_SaveData)[5];
|
static TYPEDESCRIPTION IMPLEMENT_ARRAY(m_SaveData)[5];
|
||||||
|
|
||||||
@ -932,9 +933,9 @@ public:
|
|||||||
class CWorld: public CBaseEntity
|
class CWorld: public CBaseEntity
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
NOBODY virtual void Spawn(void);
|
virtual void Spawn(void);
|
||||||
NOBODY virtual void Precache(void);
|
virtual void Precache(void);
|
||||||
NOBODY virtual void KeyValue(KeyValueData *pkvd);
|
virtual void KeyValue(KeyValueData *pkvd);
|
||||||
|
|
||||||
#ifdef HOOK_GAMEDLL
|
#ifdef HOOK_GAMEDLL
|
||||||
|
|
||||||
@ -950,24 +951,43 @@ public:
|
|||||||
class CDecal: public CBaseEntity
|
class CDecal: public CBaseEntity
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
NOBODY virtual void Spawn(void);
|
virtual void Spawn(void);
|
||||||
NOBODY virtual void KeyValue(KeyValueData *);
|
virtual void KeyValue(KeyValueData *);
|
||||||
|
|
||||||
|
#ifdef HOOK_GAMEDLL
|
||||||
|
|
||||||
|
void Spawn_(void);
|
||||||
|
void KeyValue_(KeyValueData *);
|
||||||
|
|
||||||
|
#endif // HOOK_GAMEDLL
|
||||||
|
|
||||||
public:
|
public:
|
||||||
NOBODY void StaticDecal(void);
|
void EXPORT StaticDecal(void);
|
||||||
NOBODY void TriggerDecal(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value);
|
void EXPORT TriggerDecal(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value);
|
||||||
|
|
||||||
};/* size: 152, cachelines: 3, members: 1 */
|
};/* size: 152, cachelines: 3, members: 1 */
|
||||||
|
|
||||||
|
// Body queue class here.... It's really just CBaseEntity
|
||||||
|
|
||||||
/* <1d9fd1> ../cstrike/dlls/world.cpp:207 */
|
/* <1d9fd1> ../cstrike/dlls/world.cpp:207 */
|
||||||
class CCorpse: public CBaseEntity
|
class CCorpse: public CBaseEntity
|
||||||
{
|
{
|
||||||
// TODO: back to private
|
|
||||||
public:
|
public:
|
||||||
/* <1dabe0> ../cstrike/dlls/world.cpp:209 */
|
/* <1dabe0> ../cstrike/dlls/world.cpp:209 */
|
||||||
virtual int ObjectCaps(void)//_ZN7CCorpse10ObjectCapsEv
|
virtual int ObjectCaps(void)
|
||||||
|
{
|
||||||
|
ObjectCaps_();
|
||||||
|
}
|
||||||
|
|
||||||
|
#ifdef HOOK_GAMEDLL
|
||||||
|
|
||||||
|
int ObjectCaps_(void)
|
||||||
{
|
{
|
||||||
return FCAP_DONT_SAVE;
|
return FCAP_DONT_SAVE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#endif // HOOK_GAMEDLL
|
||||||
|
|
||||||
};/* size: 152, cachelines: 3, members: 1 */
|
};/* size: 152, cachelines: 3, members: 1 */
|
||||||
|
|
||||||
/* <170b59> ../cstrike/dlls/sound.cpp:117 */
|
/* <170b59> ../cstrike/dlls/sound.cpp:117 */
|
||||||
@ -1065,7 +1085,6 @@ public:
|
|||||||
template <class T>
|
template <class T>
|
||||||
T *GetClassPtr(T *a)
|
T *GetClassPtr(T *a)
|
||||||
{
|
{
|
||||||
T *backup = a;
|
|
||||||
entvars_t *pev = (entvars_t *)a;
|
entvars_t *pev = (entvars_t *)a;
|
||||||
if (!pev)
|
if (!pev)
|
||||||
pev = VARS(CREATE_ENTITY());
|
pev = VARS(CREATE_ENTITY());
|
||||||
@ -1087,30 +1106,30 @@ int CaseInsensitiveHash(const char *string, int iBounds);
|
|||||||
void EmptyEntityHashTable(void);
|
void EmptyEntityHashTable(void);
|
||||||
void AddEntityHashValue(entvars_t *pev, const char *value, hash_types_e fieldType);
|
void AddEntityHashValue(entvars_t *pev, const char *value, hash_types_e fieldType);
|
||||||
void RemoveEntityHashValue(entvars_t *pev, const char *value, hash_types_e fieldType);
|
void RemoveEntityHashValue(entvars_t *pev, const char *value, hash_types_e fieldType);
|
||||||
NOBODY void printEntities(void);
|
void printEntities(void);
|
||||||
edict_t *CREATE_NAMED_ENTITY(string_t iClass);
|
edict_t *CREATE_NAMED_ENTITY(string_t iClass);
|
||||||
void REMOVE_ENTITY(edict_t *e);
|
void REMOVE_ENTITY(edict_t *e);
|
||||||
//NOBODY void CONSOLE_ECHO(char *pszMsg, ...); // already declared bot_util.cpp
|
void CONSOLE_ECHO_(char *pszMsg, ...);
|
||||||
NOBODY void loopPerformance(void);
|
void loopPerformance(void);
|
||||||
|
|
||||||
extern "C" C_EXPORT int GetEntityAPI(DLL_FUNCTIONS *pFunctionTable, int interfaceVersion);
|
extern "C" C_EXPORT int GetEntityAPI(DLL_FUNCTIONS *pFunctionTable, int interfaceVersion);
|
||||||
NOXREF extern "C" C_EXPORT int GetEntityAPI2(DLL_FUNCTIONS *pFunctionTable, int *interfaceVersion);
|
NOXREF extern "C" C_EXPORT int GetEntityAPI2(DLL_FUNCTIONS *pFunctionTable, int *interfaceVersion);
|
||||||
extern "C" C_EXPORT int GetNewDLLFunctions(NEW_DLL_FUNCTIONS *pFunctionTable, int *interfaceVersion);
|
extern "C" C_EXPORT int GetNewDLLFunctions(NEW_DLL_FUNCTIONS *pFunctionTable, int *interfaceVersion);
|
||||||
|
|
||||||
NOBODY int DispatchSpawn(edict_t *pent);
|
int DispatchSpawn(edict_t *pent);
|
||||||
void DispatchKeyValue(edict_t *pentKeyvalue, KeyValueData *pkvd);
|
void DispatchKeyValue(edict_t *pentKeyvalue, KeyValueData *pkvd);
|
||||||
void DispatchTouch(edict_t *pentTouched, edict_t *pentOther);
|
void DispatchTouch(edict_t *pentTouched, edict_t *pentOther);
|
||||||
NOBODY void DispatchUse(edict_t *pentUsed, edict_t *pentOther);
|
void DispatchUse(edict_t *pentUsed, edict_t *pentOther);
|
||||||
NOBODY void DispatchThink(edict_t *pent);
|
void DispatchThink(edict_t *pent);
|
||||||
NOBODY void DispatchBlocked(edict_t *pentBlocked, edict_t *pentOther);
|
void DispatchBlocked(edict_t *pentBlocked, edict_t *pentOther);
|
||||||
NOBODY void DispatchSave(edict_t *pent, SAVERESTOREDATA *pSaveData);
|
void DispatchSave(edict_t *pent, SAVERESTOREDATA *pSaveData);
|
||||||
NOBODY int DispatchRestore(edict_t *pent, SAVERESTOREDATA *pSaveData, int globalEntity);
|
int DispatchRestore(edict_t *pent, SAVERESTOREDATA *pSaveData, int globalEntity);
|
||||||
CBaseEntity *FindGlobalEntity(string_t classname, string_t globalname);
|
CBaseEntity *FindGlobalEntity(string_t classname, string_t globalname);
|
||||||
NOBODY void DispatchObjectCollsionBox(edict_t *pent);
|
void DispatchObjectCollsionBox(edict_t *pent);
|
||||||
NOBODY void SaveWriteFields(SAVERESTOREDATA *pSaveData, const char *pname, void *pBaseData, TYPEDESCRIPTION *pFields, int fieldCount);
|
void SaveWriteFields(SAVERESTOREDATA *pSaveData, const char *pname, void *pBaseData, TYPEDESCRIPTION *pFields, int fieldCount);
|
||||||
NOBODY void SaveReadFields(SAVERESTOREDATA *pSaveData, const char *pname, void *pBaseData, TYPEDESCRIPTION *pFields, int fieldCount);
|
void SaveReadFields(SAVERESTOREDATA *pSaveData, const char *pname, void *pBaseData, TYPEDESCRIPTION *pFields, int fieldCount);
|
||||||
NOBODY void SetObjectCollisionBox(entvars_t *pev);
|
void SetObjectCollisionBox(entvars_t *pev);
|
||||||
NOBODY void OnFreeEntPrivateData(edict_t *pEnt);
|
void OnFreeEntPrivateData(edict_t *pEnt);
|
||||||
|
|
||||||
#ifdef HOOK_GAMEDLL
|
#ifdef HOOK_GAMEDLL
|
||||||
|
|
||||||
@ -1127,7 +1146,6 @@ typedef CBaseEntity *(CBaseEntity::*CBASE_ISTANCE_INT)(int);
|
|||||||
#endif // HOOK_GAMEDLL
|
#endif // HOOK_GAMEDLL
|
||||||
|
|
||||||
//Refs
|
//Refs
|
||||||
extern int (*pDispatchSpawn)(edict_t *);
|
|
||||||
extern void (*pCGib__SpawnHeadGib)(void);
|
extern void (*pCGib__SpawnHeadGib)(void);
|
||||||
|
|
||||||
#endif // CBASE_H
|
#endif // CBASE_H
|
||||||
|
@ -78,17 +78,16 @@
|
|||||||
#define DATA_IUSER3_INBOMBZONE (1<<2)
|
#define DATA_IUSER3_INBOMBZONE (1<<2)
|
||||||
#define DATA_IUSER3_HOLDINGSHIELD (1<<3)
|
#define DATA_IUSER3_HOLDINGSHIELD (1<<3)
|
||||||
|
|
||||||
#define VGUI_MENU_TEAM 2
|
#define MENU_KEY_1 (1<<0)
|
||||||
#define VGUI_MENU_MAPBRIEFING 4
|
#define MENU_KEY_2 (1<<1)
|
||||||
#define VGUI_MENU_CLASS_T 26
|
#define MENU_KEY_3 (1<<2)
|
||||||
#define VGUI_MENU_CLASS_CT 27
|
#define MENU_KEY_4 (1<<3)
|
||||||
#define VGUI_MENU_BUY 28
|
#define MENU_KEY_5 (1<<4)
|
||||||
#define VGUI_MENU_BUY_PISTOL 29
|
#define MENU_KEY_6 (1<<5)
|
||||||
#define VGUI_MENU_BUY_SHOTGUN 30
|
#define MENU_KEY_7 (1<<6)
|
||||||
#define VGUI_MENU_BUY_RIFLE 31
|
#define MENU_KEY_8 (1<<7)
|
||||||
#define VGUI_MENU_BUY_SUBMACHINEGUN 32
|
#define MENU_KEY_9 (1<<8)
|
||||||
#define VGUI_MENU_BUY_MACHINEGUN 33
|
#define MENU_KEY_0 (1<<9)
|
||||||
#define VGUI_MENU_BUY_ITEM 34
|
|
||||||
|
|
||||||
#define MAX_AMMO_TYPES 32 // ???
|
#define MAX_AMMO_TYPES 32 // ???
|
||||||
#define MAX_AMMO_SLOTS 32 // not really slots
|
#define MAX_AMMO_SLOTS 32 // not really slots
|
||||||
@ -101,4 +100,34 @@
|
|||||||
#define WEAPON_SUIT 31
|
#define WEAPON_SUIT 31
|
||||||
#define WEAPON_ALLWEAPONS (~(1 << WEAPON_SUIT))
|
#define WEAPON_ALLWEAPONS (~(1 << WEAPON_SUIT))
|
||||||
|
|
||||||
|
// custom enum
|
||||||
|
enum VGUIMenu
|
||||||
|
{
|
||||||
|
VGUI_Menu_Team = 2,
|
||||||
|
VGUI_Menu_MapBriefing = 4,
|
||||||
|
|
||||||
|
VGUI_Menu_Class_T = 26,
|
||||||
|
VGUI_Menu_Class_CT,
|
||||||
|
VGUI_Menu_Buy,
|
||||||
|
VGUI_Menu_Buy_Pistol,
|
||||||
|
VGUI_Menu_Buy_ShotGun,
|
||||||
|
VGUI_Menu_Buy_Rifle,
|
||||||
|
VGUI_Menu_Buy_SubMachineGun,
|
||||||
|
VGUI_Menu_Buy_MachineGun,
|
||||||
|
VGUI_Menu_Buy_Item,
|
||||||
|
};
|
||||||
|
|
||||||
|
// custom enum
|
||||||
|
enum VGUIMenuSlot
|
||||||
|
{
|
||||||
|
VGUI_MenuSlot_Buy_Pistol = 1,
|
||||||
|
VGUI_MenuSlot_Buy_ShotGun,
|
||||||
|
VGUI_MenuSlot_Buy_SubMachineGun,
|
||||||
|
VGUI_MenuSlot_Buy_Rifle,
|
||||||
|
VGUI_MenuSlot_Buy_MachineGun,
|
||||||
|
VGUI_MenuSlot_Buy_PrimAmmo,
|
||||||
|
VGUI_MenuSlot_Buy_SecAmmo,
|
||||||
|
VGUI_MenuSlot_Buy_Item,
|
||||||
|
};
|
||||||
|
|
||||||
#endif // CDLL_DLL_H
|
#endif // CDLL_DLL_H
|
||||||
|
File diff suppressed because it is too large
Load Diff
@ -32,6 +32,35 @@
|
|||||||
#pragma once
|
#pragma once
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
// custom enum
|
||||||
|
enum ChooseTeamMenuSlot
|
||||||
|
{
|
||||||
|
MENU_SLOT_TEAM_UNDEFINED = -1,
|
||||||
|
|
||||||
|
MENU_SLOT_TEAM_TERRORIST = 1,
|
||||||
|
MENU_SLOT_TEAM_CT,
|
||||||
|
MENU_SLOT_TEAM_VIP,
|
||||||
|
|
||||||
|
MENU_SLOT_TEAM_RANDOM = 5,
|
||||||
|
MENU_SLOT_TEAM_SPECT
|
||||||
|
};
|
||||||
|
|
||||||
|
// custom enum
|
||||||
|
enum BuyItemMenuSlot
|
||||||
|
{
|
||||||
|
MENU_SLOT_ITEM_VEST = 1,
|
||||||
|
MENU_SLOT_ITEM_VESTHELM,
|
||||||
|
MENU_SLOT_ITEM_FLASHGREN,
|
||||||
|
MENU_SLOT_ITEM_HEGREN,
|
||||||
|
MENU_SLOT_ITEM_SMOKEGREN,
|
||||||
|
MENU_SLOT_ITEM_NVG,
|
||||||
|
MENU_SLOT_ITEM_DEFUSEKIT,
|
||||||
|
MENU_SLOT_ITEM_SHIELD,
|
||||||
|
};
|
||||||
|
|
||||||
|
#define CS_NUM_SKIN 4
|
||||||
|
#define CZ_NUM_SKIN 5
|
||||||
|
|
||||||
#define FIELD_ORIGIN0 0
|
#define FIELD_ORIGIN0 0
|
||||||
#define FIELD_ORIGIN1 1
|
#define FIELD_ORIGIN1 1
|
||||||
#define FIELD_ORIGIN2 2
|
#define FIELD_ORIGIN2 2
|
||||||
@ -55,6 +84,7 @@
|
|||||||
typedef struct
|
typedef struct
|
||||||
{
|
{
|
||||||
float m_fTimeEnteredPVS;
|
float m_fTimeEnteredPVS;
|
||||||
|
|
||||||
} ENTITYPVSSTATUS;
|
} ENTITYPVSSTATUS;
|
||||||
/* size: 4, cachelines: 1, members: 1 */
|
/* size: 4, cachelines: 1, members: 1 */
|
||||||
|
|
||||||
@ -64,6 +94,7 @@ typedef struct
|
|||||||
int headnode;
|
int headnode;
|
||||||
int num_leafs;
|
int num_leafs;
|
||||||
short int leafnums[ MAX_ENT_LEAFS ];
|
short int leafnums[ MAX_ENT_LEAFS ];
|
||||||
|
|
||||||
} PLAYERPVSSTATUS;
|
} PLAYERPVSSTATUS;
|
||||||
/* size: 5624, cachelines: 88, members: 4 */
|
/* size: 5624, cachelines: 88, members: 4 */
|
||||||
|
|
||||||
@ -71,13 +102,14 @@ typedef struct
|
|||||||
{
|
{
|
||||||
char name[32];
|
char name[32];
|
||||||
int field;
|
int field;
|
||||||
|
|
||||||
} entity_field_alias_t;
|
} entity_field_alias_t;
|
||||||
/* size: 36, cachelines: 1, members: 2 */
|
/* size: 36, cachelines: 1, members: 2 */
|
||||||
|
|
||||||
#ifdef HOOK_GAMEDLL
|
#ifdef HOOK_GAMEDLL
|
||||||
|
|
||||||
//#define g_flTimeLimit (*pg_flTimeLimit)
|
#define g_flTimeLimit (*pg_flTimeLimit)
|
||||||
//#define g_flResetTime (*pg_flResetTime)
|
#define g_flResetTime (*pg_flResetTime)
|
||||||
#define g_bClientPrintEnable (*pg_bClientPrintEnable)
|
#define g_bClientPrintEnable (*pg_bClientPrintEnable)
|
||||||
|
|
||||||
#define g_PVSStatus (*pg_PVSStatus)
|
#define g_PVSStatus (*pg_PVSStatus)
|
||||||
@ -96,7 +128,7 @@ extern PLAYERPVSSTATUS g_PVSStatus[32];
|
|||||||
|
|
||||||
#ifdef HOOK_GAMEDLL
|
#ifdef HOOK_GAMEDLL
|
||||||
|
|
||||||
extern float g_flTimeLimit;
|
extern float g_flTimeLimit;// exported
|
||||||
extern float g_flResetTime;
|
extern float g_flResetTime;
|
||||||
extern bool g_bClientPrintEnable;
|
extern bool g_bClientPrintEnable;
|
||||||
extern bool g_skipCareerInitialSpawn;
|
extern bool g_skipCareerInitialSpawn;
|
||||||
@ -113,11 +145,11 @@ extern int g_serveractive;
|
|||||||
extern unsigned short m_usResetDecals;
|
extern unsigned short m_usResetDecals;
|
||||||
extern unsigned short g_iShadowSprite;
|
extern unsigned short g_iShadowSprite;
|
||||||
|
|
||||||
NOXREF int CMD_ARGC_(void);
|
int CMD_ARGC_(void);
|
||||||
NOXREF const char *CMD_ARGV_(int i);
|
const char *CMD_ARGV_(int i);
|
||||||
NOXREF void set_suicide_frame(entvars_t *pev);
|
NOXREF void set_suicide_frame(entvars_t *pev);
|
||||||
NOXREF void TeamChangeUpdate(CBasePlayer *player, int team_id);
|
void TeamChangeUpdate(CBasePlayer *player, int team_id);
|
||||||
NOXREF void BlinkAccount(CBasePlayer *player, int numBlinks);
|
void BlinkAccount(CBasePlayer *player, int numBlinks);
|
||||||
BOOL ClientConnect(edict_t *pEntity, const char *pszName, const char *pszAddress, char *szRejectReason);
|
BOOL ClientConnect(edict_t *pEntity, const char *pszName, const char *pszAddress, char *szRejectReason);
|
||||||
void ClientDisconnect(edict_t *pEntity);
|
void ClientDisconnect(edict_t *pEntity);
|
||||||
void respawn(entvars_t *pev, BOOL fCopyCorpse = FALSE);
|
void respawn(entvars_t *pev, BOOL fCopyCorpse = FALSE);
|
||||||
@ -125,43 +157,44 @@ void ClientKill(edict_t *pEntity);
|
|||||||
void ShowMenu(CBasePlayer *pPlayer, int bitsValidSlots, int nDisplayTime, BOOL fNeedMore, char *pszText);
|
void ShowMenu(CBasePlayer *pPlayer, int bitsValidSlots, int nDisplayTime, BOOL fNeedMore, char *pszText);
|
||||||
void ShowVGUIMenu(CBasePlayer *pPlayer, int MenuType, int BitMask, char *szOldMenu);
|
void ShowVGUIMenu(CBasePlayer *pPlayer, int MenuType, int BitMask, char *szOldMenu);
|
||||||
NOXREF C_DLLEXPORT int CountTeams(void);
|
NOXREF C_DLLEXPORT int CountTeams(void);
|
||||||
NOBODY void ListPlayers(CBasePlayer *current);
|
void ListPlayers(CBasePlayer *current);
|
||||||
C_DLLEXPORT int CountTeamPlayers(int iTeam);
|
C_DLLEXPORT int CountTeamPlayers(int iTeam);
|
||||||
void ProcessKickVote(CBasePlayer *pVotingPlayer, CBasePlayer *pKickPlayer);
|
void ProcessKickVote(CBasePlayer *pVotingPlayer, CBasePlayer *pKickPlayer);
|
||||||
TeamName SelectDefaultTeam(void);
|
TeamName SelectDefaultTeam(void);
|
||||||
void CheckStartMoney(void);
|
void CheckStartMoney(void);
|
||||||
void ClientPutInServer(edict_t *pEntity);
|
void ClientPutInServer(edict_t *pEntity);
|
||||||
int Q_strlen_(const char *str);
|
int Q_strlen_(const char *str);
|
||||||
NOBODY void Host_Say(edict_t *pEntity, int teamonly);
|
void Host_Say(edict_t *pEntity, int teamonly);
|
||||||
NOBODY void DropPrimary(CBasePlayer *pPlayer);
|
void DropSecondary(CBasePlayer *pPlayer);
|
||||||
NOBODY bool CanBuyThis(CBasePlayer *pPlayer, int iWeapon);
|
void DropPrimary(CBasePlayer *pPlayer);
|
||||||
NOBODY void BuyPistol(CBasePlayer *pPlayer, int iSlot);
|
bool CanBuyThis(CBasePlayer *pPlayer, int iWeapon);
|
||||||
NOBODY void BuyShotgun(CBasePlayer *pPlayer, int iSlot);
|
void BuyPistol(CBasePlayer *pPlayer, int iSlot);
|
||||||
NOBODY void BuySubMachineGun(CBasePlayer *pPlayer, int iSlot);
|
void BuyShotgun(CBasePlayer *pPlayer, int iSlot);
|
||||||
NOBODY void BuyWeaponByWeaponID(CBasePlayer *pPlayer, WeaponIdType weaponID);
|
void BuySubMachineGun(CBasePlayer *pPlayer, int iSlot);
|
||||||
NOBODY void BuyRifle(CBasePlayer *pPlayer, int iSlot);
|
void BuyWeaponByWeaponID(CBasePlayer *pPlayer, WeaponIdType weaponID);
|
||||||
NOBODY void BuyMachineGun(CBasePlayer *pPlayer, int iSlot);
|
void BuyRifle(CBasePlayer *pPlayer, int iSlot);
|
||||||
NOBODY void BuyItem(CBasePlayer *pPlayer, int iSlot);
|
void BuyMachineGun(CBasePlayer *pPlayer, int iSlot);
|
||||||
NOBODY void HandleMenu_ChooseAppearance(CBasePlayer *player, int slot);
|
void BuyItem(CBasePlayer *pPlayer, int iSlot);
|
||||||
NOBODY BOOL HandleMenu_ChooseTeam(CBasePlayer *player, int slot);
|
void HandleMenu_ChooseAppearance(CBasePlayer *player, int slot);
|
||||||
NOBODY void Radio1(CBasePlayer *player, int slot);
|
BOOL HandleMenu_ChooseTeam(CBasePlayer *player, int slot);
|
||||||
NOBODY void Radio2(CBasePlayer *player, int slot);
|
void Radio1(CBasePlayer *player, int slot);
|
||||||
NOBODY void Radio3(CBasePlayer *player, int slot);
|
void Radio2(CBasePlayer *player, int slot);
|
||||||
NOBODY bool BuyGunAmmo(CBasePlayer &player, CBasePlayerItem &weapon, bool bBlinkMoney);
|
void Radio3(CBasePlayer *player, int slot);
|
||||||
NOBODY bool BuyAmmo(CBasePlayer *player, int nSlot, bool bBlinkMoney);
|
bool BuyGunAmmo(CBasePlayer *player, CBasePlayerItem *weapon, bool bBlinkMoney);
|
||||||
NOBODY CBaseEntity *EntityFromUserID(int userID);
|
bool BuyAmmo(CBasePlayer *player, int nSlot, bool bBlinkMoney);
|
||||||
NOBODY int CountPlayersInServer(void);
|
CBaseEntity *EntityFromUserID(int userID);
|
||||||
NOBODY BOOL HandleBuyAliasCommands(CBasePlayer *pPlayer, const char *pszCommand);
|
NOXREF int CountPlayersInServer(void);
|
||||||
NOBODY BOOL HandleRadioAliasCommands(CBasePlayer *pPlayer, const char *pszCommand);
|
BOOL HandleBuyAliasCommands(CBasePlayer *pPlayer, const char *pszCommand);
|
||||||
NOBODY void ClientCommand(edict_t *pEntity);
|
BOOL HandleRadioAliasCommands(CBasePlayer *pPlayer, const char *pszCommand);
|
||||||
NOBODY void ClientUserInfoChanged(edict_t *pEntity, char *infobuffer);
|
void ClientCommand(edict_t *pEntity);
|
||||||
NOBODY void ServerDeactivate(void);
|
void ClientUserInfoChanged(edict_t *pEntity, char *infobuffer);
|
||||||
|
void ServerDeactivate(void);
|
||||||
void ServerActivate(edict_t *pEdictList, int edictCount, int clientMax);
|
void ServerActivate(edict_t *pEdictList, int edictCount, int clientMax);
|
||||||
void PlayerPreThink(edict_t *pEntity);
|
void PlayerPreThink(edict_t *pEntity);
|
||||||
void PlayerPostThink(edict_t *pEntity);
|
void PlayerPostThink(edict_t *pEntity);
|
||||||
void ParmsNewLevel(void);
|
void ParmsNewLevel(void);
|
||||||
NOBODY void ParmsChangeLevel(void);
|
void ParmsChangeLevel(void);
|
||||||
NOBODY void StartFrame(void);
|
void StartFrame(void);
|
||||||
void ClientPrecache(void);
|
void ClientPrecache(void);
|
||||||
const char *GetGameDescription(void);
|
const char *GetGameDescription(void);
|
||||||
void Sys_Error(const char *error_string);
|
void Sys_Error(const char *error_string);
|
||||||
@ -170,15 +203,15 @@ void SpectatorConnect(edict_t *pEntity);
|
|||||||
void SpectatorDisconnect(edict_t *pEntity);
|
void SpectatorDisconnect(edict_t *pEntity);
|
||||||
void SpectatorThink(edict_t *pEntity);
|
void SpectatorThink(edict_t *pEntity);
|
||||||
void SetupVisibility(edict_t *pViewEntity, edict_t *pClient, unsigned char **pvs, unsigned char **pas);
|
void SetupVisibility(edict_t *pViewEntity, edict_t *pClient, unsigned char **pvs, unsigned char **pas);
|
||||||
NOXREF void ResetPlayerPVS(edict_t *client, int clientnum);
|
void ResetPlayerPVS(edict_t *client, int clientnum);
|
||||||
NOXREF bool CheckPlayerPVSLeafChanged(edict_t *client, int clientnum);
|
bool CheckPlayerPVSLeafChanged(edict_t *client, int clientnum);
|
||||||
NOXREF void MarkEntityInPVS(int clientnum, int entitynum, float time, bool inpvs);
|
void MarkEntityInPVS(int clientnum, int entitynum, float time, bool inpvs);
|
||||||
NOXREF bool CheckEntityRecentlyInPVS(int clientnum, int entitynum, float currenttime);
|
bool CheckEntityRecentlyInPVS(int clientnum, int entitynum, float currenttime);
|
||||||
int AddToFullPack(struct entity_state_s *state, int e, edict_t *ent, edict_t *host, int hostflags, int player, unsigned char *pSet);
|
int AddToFullPack(struct entity_state_s *state, int e, edict_t *ent, edict_t *host, int hostflags, int player, unsigned char *pSet);
|
||||||
void CreateBaseline(int player, int eindex, struct entity_state_s *baseline, struct edict_s *entity, int playermodelindex, Vector player_mins, Vector player_maxs);
|
void CreateBaseline(int player, int eindex, struct entity_state_s *baseline, struct edict_s *entity, int playermodelindex, Vector player_mins, Vector player_maxs);
|
||||||
NOXREF void Entity_FieldInit(struct delta_s *pFields);
|
void Entity_FieldInit(struct delta_s *pFields);
|
||||||
void Entity_Encode(struct delta_s *pFields, const unsigned char *from, const unsigned char *to);
|
void Entity_Encode(struct delta_s *pFields, const unsigned char *from, const unsigned char *to);
|
||||||
NOXREF void Player_FieldInit(struct delta_s *pFields);
|
void Player_FieldInit(struct delta_s *pFields);
|
||||||
void Player_Encode(struct delta_s *pFields, const unsigned char *from, const unsigned char *to);
|
void Player_Encode(struct delta_s *pFields, const unsigned char *from, const unsigned char *to);
|
||||||
void Custom_Entity_FieldInit(delta_s *pFields);
|
void Custom_Entity_FieldInit(delta_s *pFields);
|
||||||
void Custom_Encode(struct delta_s *pFields, const unsigned char *from, const unsigned char *to);
|
void Custom_Encode(struct delta_s *pFields, const unsigned char *from, const unsigned char *to);
|
||||||
@ -193,9 +226,4 @@ void CreateInstancedBaselines(void);
|
|||||||
int InconsistentFile(const edict_t *player, const char *filename, char *disconnect_message);
|
int InconsistentFile(const edict_t *player, const char *filename, char *disconnect_message);
|
||||||
int AllowLagCompensation(void);
|
int AllowLagCompensation(void);
|
||||||
|
|
||||||
// refs
|
|
||||||
extern void (*pClientCommand)(edict_t *pEntity);
|
|
||||||
extern void (*pHandleMenu_ChooseAppearance)(void);
|
|
||||||
extern void (*pHandleMenu_ChooseTeam)(void);
|
|
||||||
|
|
||||||
#endif // CLIENT_H
|
#endif // CLIENT_H
|
||||||
|
@ -131,7 +131,7 @@ void CGib::SpawnRandomGibs(entvars_t *pevVictim, int cGibs, int human)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* <5f58a> ../cstrike/dlls/combat.cpp:263 */
|
/* <5f58a> ../cstrike/dlls/combat.cpp:263 */
|
||||||
BOOL CBaseMonster::HasHumanGibs_(void)
|
BOOL CBaseMonster::__MAKE_VHOOK(HasHumanGibs)(void)
|
||||||
{
|
{
|
||||||
int myClass = Classify();
|
int myClass = Classify();
|
||||||
|
|
||||||
@ -145,7 +145,7 @@ BOOL CBaseMonster::HasHumanGibs_(void)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* <5f5ca> ../cstrike/dlls/combat.cpp:278 */
|
/* <5f5ca> ../cstrike/dlls/combat.cpp:278 */
|
||||||
BOOL CBaseMonster::HasAlienGibs_(void)
|
BOOL CBaseMonster::__MAKE_VHOOK(HasAlienGibs)(void)
|
||||||
{
|
{
|
||||||
int myClass = Classify();
|
int myClass = Classify();
|
||||||
if (myClass == CLASS_ALIEN_MILITARY
|
if (myClass == CLASS_ALIEN_MILITARY
|
||||||
@ -160,7 +160,7 @@ BOOL CBaseMonster::HasAlienGibs_(void)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* <5f60a> ../cstrike/dlls/combat.cpp:295 */
|
/* <5f60a> ../cstrike/dlls/combat.cpp:295 */
|
||||||
void CBaseMonster::FadeMonster_(void)
|
void CBaseMonster::__MAKE_VHOOK(FadeMonster)(void)
|
||||||
{
|
{
|
||||||
StopAnimation();
|
StopAnimation();
|
||||||
|
|
||||||
@ -174,7 +174,7 @@ void CBaseMonster::FadeMonster_(void)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* <60a59> ../cstrike/dlls/combat.cpp:310 */
|
/* <60a59> ../cstrike/dlls/combat.cpp:310 */
|
||||||
void CBaseMonster::GibMonster_(void)
|
void CBaseMonster::__MAKE_VHOOK(GibMonster)(void)
|
||||||
{
|
{
|
||||||
TraceResult tr;
|
TraceResult tr;
|
||||||
BOOL gibbed = FALSE;
|
BOOL gibbed = FALSE;
|
||||||
@ -219,7 +219,7 @@ void CBaseMonster::GibMonster_(void)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* <5f65e> ../cstrike/dlls/combat.cpp:355 */
|
/* <5f65e> ../cstrike/dlls/combat.cpp:355 */
|
||||||
NOBODY Activity CBaseMonster::GetDeathActivity_(void)
|
NOBODY Activity CBaseMonster::__MAKE_VHOOK(GetDeathActivity)(void)
|
||||||
{
|
{
|
||||||
// {
|
// {
|
||||||
// Activity deathActivity; // 357
|
// Activity deathActivity; // 357
|
||||||
@ -255,7 +255,7 @@ NOBODY Activity CBaseMonster::GetSmallFlinchActivity(void)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* <5f8a6> ../cstrike/dlls/combat.cpp:525 */
|
/* <5f8a6> ../cstrike/dlls/combat.cpp:525 */
|
||||||
void CBaseMonster::BecomeDead_(void)
|
void CBaseMonster::__MAKE_VHOOK(BecomeDead)(void)
|
||||||
{
|
{
|
||||||
// don't let autoaim aim at corpses.
|
// don't let autoaim aim at corpses.
|
||||||
pev->takedamage = DAMAGE_YES;
|
pev->takedamage = DAMAGE_YES;
|
||||||
@ -324,10 +324,10 @@ void CBaseMonster::CallGibMonster(void)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* <5f938> ../cstrike/dlls/combat.cpp:598 */
|
/* <5f938> ../cstrike/dlls/combat.cpp:598 */
|
||||||
void CBaseMonster::Killed_(entvars_t *pevAttacker, int iGib)
|
void CBaseMonster::__MAKE_VHOOK(Killed)(entvars_t *pevAttacker, int iGib)
|
||||||
{
|
{
|
||||||
unsigned int cCount = 0;
|
// unsigned int cCount = 0;
|
||||||
BOOL fDone = FALSE;
|
// BOOL fDone = FALSE;
|
||||||
|
|
||||||
if (HasMemory(bits_MEMORY_KILLED))
|
if (HasMemory(bits_MEMORY_KILLED))
|
||||||
{
|
{
|
||||||
@ -450,7 +450,7 @@ void CGib::BounceGibTouch(CBaseEntity *pOther)
|
|||||||
if (m_material != matNone && !RANDOM_LONG(0, 2))
|
if (m_material != matNone && !RANDOM_LONG(0, 2))
|
||||||
{
|
{
|
||||||
float zvel = fabs(pev->velocity.z);
|
float zvel = fabs(pev->velocity.z);
|
||||||
float volume = 0.8 * min(1, zvel / 450);
|
float volume = 0.8 * _min(1, zvel / 450);
|
||||||
|
|
||||||
CBreakable::MaterialSoundRandom(edict(), (Materials)m_material, volume);
|
CBreakable::MaterialSoundRandom(edict(), (Materials)m_material, volume);
|
||||||
}
|
}
|
||||||
@ -525,7 +525,7 @@ void CGib::Spawn(const char *szGibModel)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* <60aea> ../cstrike/dlls/combat.cpp:815 */
|
/* <60aea> ../cstrike/dlls/combat.cpp:815 */
|
||||||
int CBaseMonster::TakeHealth_(float flHealth, int bitsDamageType)
|
int CBaseMonster::__MAKE_VHOOK(TakeHealth)(float flHealth, int bitsDamageType)
|
||||||
{
|
{
|
||||||
if (pev->takedamage == DAMAGE_NO)
|
if (pev->takedamage == DAMAGE_NO)
|
||||||
return 0;
|
return 0;
|
||||||
@ -546,7 +546,7 @@ int CBaseMonster::TakeHealth_(float flHealth, int bitsDamageType)
|
|||||||
// When a monster is poisoned via an arrow etc it takes all the poison damage at once.
|
// When a monster is poisoned via an arrow etc it takes all the poison damage at once.
|
||||||
|
|
||||||
/* <60d7a> ../cstrike/dlls/combat.cpp:845 */
|
/* <60d7a> ../cstrike/dlls/combat.cpp:845 */
|
||||||
int CBaseMonster::TakeDamage_(entvars_t *pevInflictor, entvars_t *pevAttacker, float flDamage, int bitsDamageType)
|
int CBaseMonster::__MAKE_VHOOK(TakeDamage)(entvars_t *pevInflictor, entvars_t *pevAttacker, float flDamage, int bitsDamageType)
|
||||||
{
|
{
|
||||||
float flTake;
|
float flTake;
|
||||||
Vector vecDir;
|
Vector vecDir;
|
||||||
@ -556,7 +556,7 @@ int CBaseMonster::TakeDamage_(entvars_t *pevInflictor, entvars_t *pevAttacker, f
|
|||||||
|
|
||||||
if (!IsAlive())
|
if (!IsAlive())
|
||||||
{
|
{
|
||||||
return DeadTakeDamage(pevInflictor, pevAttacker, flDamage, bitsDamageType);// Reverse me
|
return DeadTakeDamage(pevInflictor, pevAttacker, flDamage, bitsDamageType);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (pev->deadflag == DEAD_NO)
|
if (pev->deadflag == DEAD_NO)
|
||||||
@ -1070,7 +1070,7 @@ NOBODY CBaseEntity *CBaseMonster::CheckTraceHullAttack(float flDist, int iDamage
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* <61ae6> ../cstrike/dlls/combat.cpp:1490 */
|
/* <61ae6> ../cstrike/dlls/combat.cpp:1490 */
|
||||||
NOBODY BOOL CBaseMonster::FInViewCone_(CBaseEntity *pEntity)
|
NOBODY BOOL CBaseMonster::__MAKE_VHOOK(FInViewCone)(CBaseEntity *pEntity)
|
||||||
{
|
{
|
||||||
// {
|
// {
|
||||||
// class Vector2D vec2LOS; // 1492
|
// class Vector2D vec2LOS; // 1492
|
||||||
@ -1085,7 +1085,7 @@ NOBODY BOOL CBaseMonster::FInViewCone_(CBaseEntity *pEntity)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* <61be6> ../cstrike/dlls/combat.cpp:1517 */
|
/* <61be6> ../cstrike/dlls/combat.cpp:1517 */
|
||||||
NOBODY BOOL CBaseMonster::FInViewCone_(Vector *pOrigin)
|
NOBODY BOOL CBaseMonster::__MAKE_VHOOK(FInViewCone)(Vector *pOrigin)
|
||||||
{
|
{
|
||||||
// {
|
// {
|
||||||
// class Vector2D vec2LOS; // 1519
|
// class Vector2D vec2LOS; // 1519
|
||||||
@ -1100,7 +1100,7 @@ NOBODY BOOL CBaseMonster::FInViewCone_(Vector *pOrigin)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* <5ecb4> ../cstrike/dlls/combat.cpp:1543 */
|
/* <5ecb4> ../cstrike/dlls/combat.cpp:1543 */
|
||||||
NOBODY BOOL CBaseEntity::FVisible_(CBaseEntity *pEntity)
|
NOBODY BOOL CBaseEntity::__MAKE_VHOOK(FVisible)(CBaseEntity *pEntity)
|
||||||
{
|
{
|
||||||
// {
|
// {
|
||||||
// TraceResult tr; // 1545
|
// TraceResult tr; // 1545
|
||||||
@ -1113,7 +1113,7 @@ NOBODY BOOL CBaseEntity::FVisible_(CBaseEntity *pEntity)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* <5e9bb> ../cstrike/dlls/combat.cpp:1576 */
|
/* <5e9bb> ../cstrike/dlls/combat.cpp:1576 */
|
||||||
NOBODY BOOL CBaseEntity::FVisible_(Vector &vecOrigin)
|
NOBODY BOOL CBaseEntity::__MAKE_VHOOK(FVisible)(Vector &vecOrigin)
|
||||||
{
|
{
|
||||||
// {
|
// {
|
||||||
// TraceResult tr; // 1578
|
// TraceResult tr; // 1578
|
||||||
@ -1123,7 +1123,7 @@ NOBODY BOOL CBaseEntity::FVisible_(Vector &vecOrigin)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* <5e872> ../cstrike/dlls/combat.cpp:1600 */
|
/* <5e872> ../cstrike/dlls/combat.cpp:1600 */
|
||||||
void CBaseEntity::TraceAttack_(entvars_t *pevAttacker, float flDamage, Vector vecDir, TraceResult *ptr, int bitsDamageType)
|
void CBaseEntity::__MAKE_VHOOK(TraceAttack)(entvars_t *pevAttacker, float flDamage, Vector vecDir, TraceResult *ptr, int bitsDamageType)
|
||||||
{
|
{
|
||||||
Vector vecOrigin = ptr->vecEndPos - vecDir * 4;
|
Vector vecOrigin = ptr->vecEndPos - vecDir * 4;
|
||||||
|
|
||||||
@ -1142,7 +1142,7 @@ void CBaseEntity::TraceAttack_(entvars_t *pevAttacker, float flDamage, Vector ve
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* <61ce5> ../cstrike/dlls/combat.cpp:1647 */
|
/* <61ce5> ../cstrike/dlls/combat.cpp:1647 */
|
||||||
void CBaseMonster::TraceAttack_(entvars_t *pevAttacker, float flDamage, Vector vecDir, TraceResult *ptr, int bitsDamageType)
|
void CBaseMonster::__MAKE_VHOOK(TraceAttack)(entvars_t *pevAttacker, float flDamage, Vector vecDir, TraceResult *ptr, int bitsDamageType)
|
||||||
{
|
{
|
||||||
Vector vecOrigin = ptr->vecEndPos - vecDir * 4;
|
Vector vecOrigin = ptr->vecEndPos - vecDir * 4;
|
||||||
|
|
||||||
@ -1550,7 +1550,7 @@ Vector __declspec(naked) CBaseEntity::FireBullets3(Vector vecSrc, Vector vecDirS
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* <5eb17> ../cstrike/dlls/combat.cpp:2075 */
|
/* <5eb17> ../cstrike/dlls/combat.cpp:2075 */
|
||||||
void CBaseEntity::TraceBleed_(float flDamage, Vector vecDir, TraceResult *ptr, int bitsDamageType)
|
void CBaseEntity::__MAKE_VHOOK(TraceBleed)(float flDamage, Vector vecDir, TraceResult *ptr, int bitsDamageType)
|
||||||
{
|
{
|
||||||
if (BloodColor() == DONT_BLEED)
|
if (BloodColor() == DONT_BLEED)
|
||||||
return;
|
return;
|
||||||
|
@ -27,7 +27,7 @@ char theDebugBuffer[ DebugBufferSize ];
|
|||||||
#endif // HOOK_GAMEDLL
|
#endif // HOOK_GAMEDLL
|
||||||
|
|
||||||
/* <22fe8b> ../cstrike/dlls/debug.cpp:39 */
|
/* <22fe8b> ../cstrike/dlls/debug.cpp:39 */
|
||||||
NOXREF bool IsDeveloper(void)
|
bool IsDeveloper(void)
|
||||||
{
|
{
|
||||||
return (CVAR_GET_FLOAT("developer") > 0.0);
|
return (CVAR_GET_FLOAT("developer") > 0.0);
|
||||||
}
|
}
|
||||||
@ -35,143 +35,203 @@ NOXREF bool IsDeveloper(void)
|
|||||||
/* <22ff69> ../cstrike/dlls/debug.cpp:45 */
|
/* <22ff69> ../cstrike/dlls/debug.cpp:45 */
|
||||||
NOXREF void UTIL_DPrintf(DebugOutputType outputType, char *pszMsg, ...)
|
NOXREF void UTIL_DPrintf(DebugOutputType outputType, char *pszMsg, ...)
|
||||||
{
|
{
|
||||||
va_list argptr;
|
if (!IsDeveloper())
|
||||||
va_start(argptr, pszMsg);
|
return;
|
||||||
|
|
||||||
if (IsDeveloper())
|
|
||||||
{
|
|
||||||
if (theDebugOutputTypes & outputType)
|
if (theDebugOutputTypes & outputType)
|
||||||
{
|
{
|
||||||
#ifdef REGAMEDLL_FIXES
|
|
||||||
Q_vsnprintf(theDebugBuffer, DebugBufferSize, pszMsg, argptr);
|
|
||||||
#else
|
|
||||||
vsprintf(theDebugBuffer, pszMsg, argptr);
|
|
||||||
#endif // REGAMEDLL_FIXES
|
|
||||||
SERVER_PRINT(theDebugBuffer);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// OVERLOAD
|
|
||||||
void UTIL_DPrintf(char *pszMsg, ...)
|
|
||||||
{
|
|
||||||
va_list argptr;
|
va_list argptr;
|
||||||
va_start(argptr, pszMsg);
|
va_start(argptr, pszMsg);
|
||||||
|
|
||||||
if (IsDeveloper())
|
|
||||||
{
|
|
||||||
#ifdef REGAMEDLL_FIXES
|
|
||||||
Q_vsnprintf(theDebugBuffer, DebugBufferSize, pszMsg, argptr);
|
|
||||||
#else
|
|
||||||
vsprintf(theDebugBuffer, pszMsg, argptr);
|
vsprintf(theDebugBuffer, pszMsg, argptr);
|
||||||
#endif // REGAMEDLL_FIXES
|
va_end(argptr);
|
||||||
|
|
||||||
SERVER_PRINT(theDebugBuffer);
|
SERVER_PRINT(theDebugBuffer);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* <22fe23> ../cstrike/dlls/debug.cpp:56 */
|
||||||
|
void UTIL_DPrintf(char *pszMsg, ...)
|
||||||
|
{
|
||||||
|
if (!IsDeveloper())
|
||||||
|
return;
|
||||||
|
|
||||||
|
va_list argptr;
|
||||||
|
va_start(argptr, pszMsg);
|
||||||
|
vsprintf(theDebugBuffer, pszMsg, argptr);
|
||||||
|
va_end(argptr);
|
||||||
|
|
||||||
|
SERVER_PRINT(theDebugBuffer);
|
||||||
|
}
|
||||||
|
|
||||||
/* <22fe97> ../cstrike/dlls/debug.cpp:78 */
|
/* <22fe97> ../cstrike/dlls/debug.cpp:78 */
|
||||||
NOXREF void PrintDebugFlags(void)
|
void PrintDebugFlags(void)
|
||||||
{
|
{
|
||||||
char *tmp;
|
char *tmp;
|
||||||
char *state;
|
|
||||||
int remainder = DebugBufferSize;
|
int remainder = DebugBufferSize;
|
||||||
|
|
||||||
theDebugBuffer[0] = 0;
|
theDebugBuffer[0] = '\0';
|
||||||
tmp = BufPrintf(theDebugBuffer, remainder, "mp_debug:\n");
|
tmp = BufPrintf(theDebugBuffer, remainder, "mp_debug:\n");
|
||||||
|
|
||||||
for (int i = 0; i < NUM_LEVELS - 1; i++)
|
for (int i = 0; i < NUM_LEVELS - 1; i++)
|
||||||
{
|
{
|
||||||
DebugOutputLevel *level = &outputLevel[i];
|
DebugOutputLevel level = outputLevel[i];
|
||||||
if (theDebugOutputTypes & level->value)
|
|
||||||
state = "on";
|
|
||||||
else
|
|
||||||
state = "off";
|
|
||||||
|
|
||||||
tmp = BufPrintf(tmp, remainder, " %s: %s\n", level->name, state);
|
tmp = BufPrintf(tmp, remainder, " %s: %s\n", level.name, (theDebugOutputTypes & level.value) ? "on" : "off");
|
||||||
}
|
}
|
||||||
SERVER_PRINT(theDebugBuffer);
|
SERVER_PRINT(theDebugBuffer);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* <22fed4> ../cstrike/dlls/debug.cpp:94 */
|
/* <22fed4> ../cstrike/dlls/debug.cpp:94 */
|
||||||
NOBODY void SetDebugFlag(const char *flagStr, bool state)
|
void SetDebugFlag(const char *flagStr, bool state)
|
||||||
{
|
{
|
||||||
// {
|
if (flagStr != NULL)
|
||||||
// enum DebugOutputType flag; // 96
|
{
|
||||||
// {
|
DebugOutputType flag;
|
||||||
// int i; // 97
|
for (int i = 0; i < ARRAYSIZE(outputLevel); i++)
|
||||||
// {
|
{
|
||||||
// class DebugOutputLevel level; // 99
|
DebugOutputLevel level = outputLevel[ i ];
|
||||||
// FStrEq(const char *sz1,
|
|
||||||
// const char *sz2); // 100
|
if (FStrEq(level.name, flagStr))
|
||||||
// }
|
{
|
||||||
// }
|
flag = level.value;
|
||||||
// }
|
|
||||||
|
if (state)
|
||||||
|
theDebugOutputTypes |= flag;
|
||||||
|
else
|
||||||
|
theDebugOutputTypes &= ~flag;
|
||||||
|
|
||||||
|
SERVER_PRINT(SharedVarArgs("mp_debug: %s is now %s\n", flagStr, state ? "on" : "off"));
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
SERVER_PRINT(SharedVarArgs("mp_debug: unknown variable '%s'\n", flagStr));
|
||||||
}
|
}
|
||||||
|
|
||||||
/* <23001f> ../cstrike/dlls/debug.cpp:126 */
|
/* <23001f> ../cstrike/dlls/debug.cpp:126 */
|
||||||
NOBODY void PrintDebugFlag(const char *flagStr)
|
void PrintDebugFlag(const char *flagStr)
|
||||||
{
|
{
|
||||||
// {
|
if (flagStr != NULL)
|
||||||
// enum DebugOutputType flag; // 128
|
{
|
||||||
// {
|
DebugOutputType flag;
|
||||||
// int i; // 129
|
for (int i = 0; i < ARRAYSIZE(outputLevel); i++)
|
||||||
// {
|
{
|
||||||
// class DebugOutputLevel level; // 131
|
DebugOutputLevel level = outputLevel[ i ];
|
||||||
// FStrEq(const char *sz1,
|
|
||||||
// const char *sz2); // 132
|
if (FStrEq(level.name, flagStr))
|
||||||
// }
|
{
|
||||||
// }
|
flag = level.value;
|
||||||
// }
|
SERVER_PRINT(SharedVarArgs("mp_debug: %s is %s\n", flagStr, (flag & theDebugOutputTypes) ? "on" : "off"));
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
SERVER_PRINT(SharedVarArgs("mp_debug: unknown variable '%s'\n", flagStr));
|
||||||
}
|
}
|
||||||
|
|
||||||
/* <2300a9> ../cstrike/dlls/debug.cpp:149 */
|
/* <2300a9> ../cstrike/dlls/debug.cpp:149 */
|
||||||
NOBODY void UTIL_SetDprintfFlags(const char *flagStr)
|
void UTIL_SetDprintfFlags(const char *flagStr)
|
||||||
{
|
{
|
||||||
// IsDeveloper(void); // 151
|
if (!IsDeveloper())
|
||||||
// PrintDebugFlags(void); // 156
|
return;
|
||||||
|
|
||||||
|
if (flagStr != NULL && flagStr[0] != '\0')
|
||||||
|
{
|
||||||
|
if (flagStr[0] == '+')
|
||||||
|
SetDebugFlag(&flagStr[1], true);
|
||||||
|
|
||||||
|
else if (flagStr[0] == '-')
|
||||||
|
SetDebugFlag(&flagStr[1], false);
|
||||||
|
else
|
||||||
|
PrintDebugFlag(flagStr);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
PrintDebugFlags();
|
||||||
}
|
}
|
||||||
|
|
||||||
/* <23012d> ../cstrike/dlls/debug.cpp:175 */
|
/* <23012d> ../cstrike/dlls/debug.cpp:175 */
|
||||||
NOBODY void UTIL_BotDPrintf(char *pszMsg, ...)
|
NOXREF void UTIL_BotDPrintf(char *pszMsg, ...)
|
||||||
{
|
{
|
||||||
// IsDeveloper(void); // 177
|
if (!IsDeveloper())
|
||||||
// {
|
return;
|
||||||
// va_list argptr; // 182
|
|
||||||
// }
|
if (theDebugOutputTypes & DEBUG_BOT)
|
||||||
|
{
|
||||||
|
va_list argptr;
|
||||||
|
va_start(argptr, pszMsg);
|
||||||
|
vsprintf(theDebugBuffer, pszMsg, argptr);
|
||||||
|
va_end(argptr);
|
||||||
|
|
||||||
|
SERVER_PRINT(theDebugBuffer);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/* <230181> ../cstrike/dlls/debug.cpp:193 */
|
/* <230181> ../cstrike/dlls/debug.cpp:193 */
|
||||||
NOBODY void UTIL_CareerDPrintf(char *pszMsg, ...)
|
void UTIL_CareerDPrintf(char *pszMsg, ...)
|
||||||
{
|
{
|
||||||
// IsDeveloper(void); // 195
|
if (!IsDeveloper())
|
||||||
// {
|
return;
|
||||||
// va_list argptr; // 200
|
|
||||||
// }
|
if (theDebugOutputTypes & DEBUG_CAREER)
|
||||||
|
{
|
||||||
|
va_list argptr;
|
||||||
|
va_start(argptr, pszMsg);
|
||||||
|
vsprintf(theDebugBuffer, pszMsg, argptr);
|
||||||
|
va_end(argptr);
|
||||||
|
|
||||||
|
SERVER_PRINT(theDebugBuffer);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/* <2301d5> ../cstrike/dlls/debug.cpp:211 */
|
/* <2301d5> ../cstrike/dlls/debug.cpp:211 */
|
||||||
NOBODY void UTIL_TutorDPrintf(char *pszMsg, ...)
|
NOXREF void UTIL_TutorDPrintf(char *pszMsg, ...)
|
||||||
{
|
{
|
||||||
// IsDeveloper(void); // 213
|
if (!IsDeveloper())
|
||||||
// {
|
return;
|
||||||
// va_list argptr; // 218
|
|
||||||
// }
|
if (theDebugOutputTypes & DEBUG_TUTOR)
|
||||||
|
{
|
||||||
|
va_list argptr;
|
||||||
|
va_start(argptr, pszMsg);
|
||||||
|
vsprintf(theDebugBuffer, pszMsg, argptr);
|
||||||
|
va_end(argptr);
|
||||||
|
|
||||||
|
SERVER_PRINT(theDebugBuffer);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/* <230229> ../cstrike/dlls/debug.cpp:229 */
|
/* <230229> ../cstrike/dlls/debug.cpp:229 */
|
||||||
NOBODY void UTIL_StatsDPrintf(char *pszMsg, ...)
|
NOXREF void UTIL_StatsDPrintf(char *pszMsg, ...)
|
||||||
{
|
{
|
||||||
// IsDeveloper(void); // 231
|
if (!IsDeveloper())
|
||||||
// {
|
return;
|
||||||
// va_list argptr; // 236
|
|
||||||
// }
|
if (theDebugOutputTypes & DEBUG_STATS)
|
||||||
|
{
|
||||||
|
va_list argptr;
|
||||||
|
va_start(argptr, pszMsg);
|
||||||
|
vsprintf(theDebugBuffer, pszMsg, argptr);
|
||||||
|
va_end(argptr);
|
||||||
|
|
||||||
|
SERVER_PRINT(theDebugBuffer);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/* <23027d> ../cstrike/dlls/debug.cpp:247 */
|
/* <23027d> ../cstrike/dlls/debug.cpp:247 */
|
||||||
NOBODY void UTIL_HostageDPrintf(char *pszMsg, ...)
|
NOXREF void UTIL_HostageDPrintf(char *pszMsg, ...)
|
||||||
{
|
{
|
||||||
// IsDeveloper(void); // 249
|
if (!IsDeveloper())
|
||||||
// {
|
return;
|
||||||
// va_list argptr; // 254
|
|
||||||
// }
|
if (theDebugOutputTypes & DEBUG_HOSTAGE)
|
||||||
|
{
|
||||||
|
va_list argptr;
|
||||||
|
va_start(argptr, pszMsg);
|
||||||
|
vsprintf(theDebugBuffer, pszMsg, argptr);
|
||||||
|
va_end(argptr);
|
||||||
|
|
||||||
|
SERVER_PRINT(theDebugBuffer);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -38,18 +38,20 @@ const int DebugBufferSize = 1024;
|
|||||||
typedef enum
|
typedef enum
|
||||||
{
|
{
|
||||||
DEBUG_NONE = 0,
|
DEBUG_NONE = 0,
|
||||||
DEBUG_BOT,
|
DEBUG_BOT = (1<<0),
|
||||||
DEBUG_CAREER,
|
DEBUG_CAREER = (1<<1),
|
||||||
DEBUG_TUTOR,
|
DEBUG_TUTOR = (1<<2),
|
||||||
DEBUG_STATS,
|
DEBUG_STATS = (1<<3),
|
||||||
DEBUG_HOSTAGE,
|
DEBUG_HOSTAGE = (1<<4),
|
||||||
DEBUG_ALL = 0xFFFFFFFF,
|
DEBUG_ALL = 0xFFFFFFFF,
|
||||||
|
|
||||||
} DebugOutputType;
|
} DebugOutputType;
|
||||||
|
|
||||||
struct DebugOutputLevel
|
struct DebugOutputLevel
|
||||||
{
|
{
|
||||||
const char *name;
|
const char *name;
|
||||||
DebugOutputType value;
|
DebugOutputType value;
|
||||||
|
|
||||||
};/* size: 8, cachelines: 1, members: 2 */
|
};/* size: 8, cachelines: 1, members: 2 */
|
||||||
|
|
||||||
#ifdef HOOK_GAMEDLL
|
#ifdef HOOK_GAMEDLL
|
||||||
@ -64,19 +66,20 @@ extern DebugOutputLevel outputLevel[NUM_LEVELS];
|
|||||||
extern unsigned int theDebugOutputTypes;
|
extern unsigned int theDebugOutputTypes;
|
||||||
extern char theDebugBuffer[ DebugBufferSize ];
|
extern char theDebugBuffer[ DebugBufferSize ];
|
||||||
|
|
||||||
NOXREF bool IsDeveloper(void);
|
bool IsDeveloper(void);
|
||||||
NOBODY void UTIL_DPrintf(DebugOutputType outputType, char *pszMsg, ...);
|
NOXREF void UTIL_DPrintf(DebugOutputType outputType, char *pszMsg, ...);
|
||||||
void UTIL_DPrintf(char *pszMsg, ...);
|
void UTIL_DPrintf(char *pszMsg, ...);
|
||||||
NOXREF void PrintDebugFlags(void);
|
void PrintDebugFlags(void);
|
||||||
|
|
||||||
NOBODY void SetDebugFlag(const char *flagStr, bool state);
|
void SetDebugFlag(const char *flagStr, bool state);
|
||||||
NOBODY void PrintDebugFlag(const char *flagStr);
|
void PrintDebugFlag(const char *flagStr);
|
||||||
NOBODY void UTIL_SetDprintfFlags(const char *flagStr);
|
void UTIL_SetDprintfFlags(const char *flagStr);
|
||||||
NOBODY void UTIL_BotDPrintf(char *pszMsg, ...);
|
|
||||||
NOBODY void UTIL_CareerDPrintf(char *pszMsg, ...);
|
NOXREF void UTIL_BotDPrintf(char *pszMsg, ...);
|
||||||
NOBODY void UTIL_TutorDPrintf(char *pszMsg, ...);
|
void UTIL_CareerDPrintf(char *pszMsg, ...);
|
||||||
NOBODY void UTIL_StatsDPrintf(char *pszMsg, ...);
|
NOXREF void UTIL_TutorDPrintf(char *pszMsg, ...);
|
||||||
NOBODY void UTIL_HostageDPrintf(char *pszMsg, ...);
|
NOXREF void UTIL_StatsDPrintf(char *pszMsg, ...);
|
||||||
|
NOXREF void UTIL_HostageDPrintf(char *pszMsg, ...);
|
||||||
|
|
||||||
#ifdef HOOK_GAMEDLL
|
#ifdef HOOK_GAMEDLL
|
||||||
|
|
||||||
|
@ -56,7 +56,7 @@ NOBODY void PlayLockSounds(entvars_t *pev, locksound_t *pls, int flocked, int fb
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* <69a4f> ../cstrike/dlls/doors.cpp:201 */
|
/* <69a4f> ../cstrike/dlls/doors.cpp:201 */
|
||||||
NOBODY void CBaseDoor::KeyValue_(KeyValueData *pkvd)
|
NOBODY void CBaseDoor::__MAKE_VHOOK(KeyValue)(KeyValueData *pkvd)
|
||||||
{
|
{
|
||||||
// FStrEq(const char *sz1,
|
// FStrEq(const char *sz1,
|
||||||
// const char *sz2); // 204
|
// const char *sz2); // 204
|
||||||
@ -75,7 +75,7 @@ LINK_ENTITY_TO_CLASS(func_door, CBaseDoor);
|
|||||||
LINK_ENTITY_TO_CLASS(func_water, CBaseDoor);
|
LINK_ENTITY_TO_CLASS(func_water, CBaseDoor);
|
||||||
|
|
||||||
/* <690bc> ../cstrike/dlls/doors.cpp:285 */
|
/* <690bc> ../cstrike/dlls/doors.cpp:285 */
|
||||||
NOBODY void CBaseDoor::Spawn_(void)
|
NOBODY void CBaseDoor::__MAKE_VHOOK(Spawn)(void)
|
||||||
{
|
{
|
||||||
// fabs(double __x); // 312
|
// fabs(double __x); // 312
|
||||||
// fabs(double __x); // 312
|
// fabs(double __x); // 312
|
||||||
@ -87,12 +87,12 @@ NOBODY void CBaseDoor::Spawn_(void)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* <69949> ../cstrike/dlls/doors.cpp:334 */
|
/* <69949> ../cstrike/dlls/doors.cpp:334 */
|
||||||
NOBODY void CBaseDoor::Restart_(void)
|
NOBODY void CBaseDoor::__MAKE_VHOOK(Restart)(void)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
/* <69289> ../cstrike/dlls/doors.cpp:350 */
|
/* <69289> ../cstrike/dlls/doors.cpp:350 */
|
||||||
NOBODY void CBaseDoor::SetToggleState_(int state)
|
NOBODY void CBaseDoor::__MAKE_VHOOK(SetToggleState)(int state)
|
||||||
{
|
{
|
||||||
// SetToggleState(CBaseDoor *const this,
|
// SetToggleState(CBaseDoor *const this,
|
||||||
// int state); // 350
|
// int state); // 350
|
||||||
@ -102,7 +102,7 @@ NOBODY void CBaseDoor::SetToggleState_(int state)
|
|||||||
#define noiseArrived noise2
|
#define noiseArrived noise2
|
||||||
|
|
||||||
/* <6924c> ../cstrike/dlls/doors.cpp:359 */
|
/* <6924c> ../cstrike/dlls/doors.cpp:359 */
|
||||||
NOBODY void CBaseDoor::Precache_(void)
|
NOBODY void CBaseDoor::__MAKE_VHOOK(Precache)(void)
|
||||||
{
|
{
|
||||||
// {
|
// {
|
||||||
// char *pszSound; // 361
|
// char *pszSound; // 361
|
||||||
@ -120,7 +120,7 @@ NOBODY void CBaseDoor::DoorTouch(CBaseEntity *pOther)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* <6a33b> ../cstrike/dlls/doors.cpp:543 */
|
/* <6a33b> ../cstrike/dlls/doors.cpp:543 */
|
||||||
NOBODY void CBaseDoor::Use_(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value)
|
NOBODY void CBaseDoor::__MAKE_VHOOK(Use)(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value)
|
||||||
{
|
{
|
||||||
// DoorActivate(CBaseDoor *const this); // 548
|
// DoorActivate(CBaseDoor *const this); // 548
|
||||||
}
|
}
|
||||||
@ -208,7 +208,7 @@ NOBODY void CBaseDoor::DoorHitBottom(void)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* <6a465> ../cstrike/dlls/doors.cpp:817 */
|
/* <6a465> ../cstrike/dlls/doors.cpp:817 */
|
||||||
NOBODY void CBaseDoor::Blocked_(CBaseEntity *pOther)
|
NOBODY void CBaseDoor::__MAKE_VHOOK(Blocked)(CBaseEntity *pOther)
|
||||||
{
|
{
|
||||||
// {
|
// {
|
||||||
// edict_t *pentTarget; // 819
|
// edict_t *pentTarget; // 819
|
||||||
@ -223,7 +223,7 @@ NOBODY void CBaseDoor::Blocked_(CBaseEntity *pOther)
|
|||||||
LINK_ENTITY_TO_CLASS(func_door_rotating, CRotDoor);
|
LINK_ENTITY_TO_CLASS(func_door_rotating, CRotDoor);
|
||||||
|
|
||||||
/* <698be> ../cstrike/dlls/doors.cpp:946 */
|
/* <698be> ../cstrike/dlls/doors.cpp:946 */
|
||||||
NOBODY void CRotDoor::Restart_(void)
|
NOBODY void CRotDoor::__MAKE_VHOOK(Restart)(void)
|
||||||
{
|
{
|
||||||
// operator*(const Vector ::Restart(// float fl); // 953
|
// operator*(const Vector ::Restart(// float fl); // 953
|
||||||
// {
|
// {
|
||||||
@ -234,7 +234,7 @@ NOBODY void CRotDoor::Restart_(void)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* <69177> ../cstrike/dlls/doors.cpp:978 */
|
/* <69177> ../cstrike/dlls/doors.cpp:978 */
|
||||||
NOBODY void CRotDoor::Spawn_(void)
|
NOBODY void CRotDoor::__MAKE_VHOOK(Spawn)(void)
|
||||||
{
|
{
|
||||||
// operator*(const class Vector *const this,
|
// operator*(const class Vector *const this,
|
||||||
// float fl); // 986
|
// float fl); // 986
|
||||||
@ -250,7 +250,7 @@ NOBODY void CRotDoor::Spawn_(void)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* <68fcc> ../cstrike/dlls/doors.cpp:1028 */
|
/* <68fcc> ../cstrike/dlls/doors.cpp:1028 */
|
||||||
NOBODY void CRotDoor::SetToggleState_(int state)
|
NOBODY void CRotDoor::__MAKE_VHOOK(SetToggleState)(int state)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -261,7 +261,7 @@ LINK_ENTITY_TO_CLASS(momentary_door, CMomentaryDoor);
|
|||||||
IMPLEMENT_SAVERESTORE(CMomentaryDoor, CBaseToggle);
|
IMPLEMENT_SAVERESTORE(CMomentaryDoor, CBaseToggle);
|
||||||
|
|
||||||
/* <69001> ../cstrike/dlls/doors.cpp:1065 */
|
/* <69001> ../cstrike/dlls/doors.cpp:1065 */
|
||||||
NOBODY void CMomentaryDoor::Spawn_(void)
|
NOBODY void CMomentaryDoor::__MAKE_VHOOK(Spawn)(void)
|
||||||
{
|
{
|
||||||
// fabs(double __x); // 1082
|
// fabs(double __x); // 1082
|
||||||
// fabs(double __x); // 1082
|
// fabs(double __x); // 1082
|
||||||
@ -273,12 +273,12 @@ NOBODY void CMomentaryDoor::Spawn_(void)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* <68fa5> ../cstrike/dlls/doors.cpp:1096 */
|
/* <68fa5> ../cstrike/dlls/doors.cpp:1096 */
|
||||||
NOBODY void CMomentaryDoor::Precache_(void)
|
NOBODY void CMomentaryDoor::__MAKE_VHOOK(Precache)(void)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
/* <69970> ../cstrike/dlls/doors.cpp:1143 */
|
/* <69970> ../cstrike/dlls/doors.cpp:1143 */
|
||||||
NOBODY void CMomentaryDoor::KeyValue_(KeyValueData *pkvd)
|
NOBODY void CMomentaryDoor::__MAKE_VHOOK(KeyValue)(KeyValueData *pkvd)
|
||||||
{
|
{
|
||||||
// FStrEq(const char *sz1,
|
// FStrEq(const char *sz1,
|
||||||
// const char *sz2); // 1146
|
// const char *sz2); // 1146
|
||||||
@ -291,7 +291,7 @@ NOBODY void CMomentaryDoor::KeyValue_(KeyValueData *pkvd)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* <6953e> ../cstrike/dlls/doors.cpp:1165 */
|
/* <6953e> ../cstrike/dlls/doors.cpp:1165 */
|
||||||
NOBODY void CMomentaryDoor::Use_(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value)
|
NOBODY void CMomentaryDoor::__MAKE_VHOOK(Use)(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value)
|
||||||
{
|
{
|
||||||
// {
|
// {
|
||||||
// Vector move; // 1172
|
// Vector move; // 1172
|
||||||
|
File diff suppressed because it is too large
Load Diff
@ -72,16 +72,16 @@
|
|||||||
class CSprite: public CPointEntity
|
class CSprite: public CPointEntity
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
NOBODY virtual void Spawn(void);
|
virtual void Spawn(void);
|
||||||
NOBODY virtual void Precache(void);
|
virtual void Precache(void);
|
||||||
NOBODY virtual void Restart(void);
|
virtual void Restart(void);
|
||||||
NOBODY virtual int Save(CSave &save);
|
virtual int Save(CSave &save);
|
||||||
NOBODY virtual int Restore(CRestore &restore);
|
virtual int Restore(CRestore &restore);
|
||||||
NOBODY virtual int ObjectCaps(void)
|
virtual int ObjectCaps(void)
|
||||||
{
|
{
|
||||||
return ObjectCaps_();
|
return ObjectCaps_();
|
||||||
}
|
}
|
||||||
NOBODY virtual void Use(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value);
|
virtual void Use(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value);
|
||||||
|
|
||||||
#ifdef HOOK_GAMEDLL
|
#ifdef HOOK_GAMEDLL
|
||||||
|
|
||||||
@ -103,12 +103,12 @@ public:
|
|||||||
#endif // HOOK_GAMEDLL
|
#endif // HOOK_GAMEDLL
|
||||||
|
|
||||||
public:
|
public:
|
||||||
NOBODY void EXPORT AnimateThink(void);
|
void EXPORT AnimateThink(void);
|
||||||
NOBODY void EXPORT ExpandThink(void);
|
void EXPORT ExpandThink(void);
|
||||||
|
|
||||||
NOBODY void Animate(float frames);
|
void Animate(float frames);
|
||||||
NOBODY void Expand(float scaleSpeed, float fadeSpeed);
|
NOXREF void Expand(float scaleSpeed, float fadeSpeed);
|
||||||
NOBODY void SpriteInit(const char *pSpriteName, const Vector &origin);
|
void SpriteInit(const char *pSpriteName, const Vector &origin);
|
||||||
|
|
||||||
void SetAttachment(edict_t *pEntity, int attachment)
|
void SetAttachment(edict_t *pEntity, int attachment)
|
||||||
{
|
{
|
||||||
@ -120,8 +120,8 @@ public:
|
|||||||
pev->movetype = MOVETYPE_FOLLOW;
|
pev->movetype = MOVETYPE_FOLLOW;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
NOBODY void TurnOff(void);
|
void TurnOff(void);
|
||||||
NOBODY void TurnOn(void);
|
void TurnOn(void);
|
||||||
float Frames(void)
|
float Frames(void)
|
||||||
{
|
{
|
||||||
return m_maxFrame;
|
return m_maxFrame;
|
||||||
@ -161,8 +161,8 @@ public:
|
|||||||
pev->nextthink = gpGlobals->time;
|
pev->nextthink = gpGlobals->time;
|
||||||
}
|
}
|
||||||
|
|
||||||
NOBODY void EXPORT AnimateUntilDead(void);
|
void EXPORT AnimateUntilDead(void);
|
||||||
NOBODY static CSprite *SpriteCreate(const char *pSpriteName, const Vector &origin, BOOL animate);
|
static CSprite *SpriteCreate(const char *pSpriteName, const Vector &origin, BOOL animate);
|
||||||
|
|
||||||
static TYPEDESCRIPTION IMPLEMENT_ARRAY(m_SaveData)[2];
|
static TYPEDESCRIPTION IMPLEMENT_ARRAY(m_SaveData)[2];
|
||||||
|
|
||||||
@ -177,13 +177,13 @@ private:
|
|||||||
class CBeam: public CBaseEntity
|
class CBeam: public CBaseEntity
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
NOBODY virtual void Spawn(void);
|
virtual void Spawn(void);
|
||||||
NOBODY virtual void Precache(void);
|
virtual void Precache(void);
|
||||||
NOBODY virtual int ObjectCaps(void)
|
virtual int ObjectCaps(void)
|
||||||
{
|
{
|
||||||
return ObjectCaps_();
|
return ObjectCaps_();
|
||||||
}
|
}
|
||||||
NOBODY virtual Vector Center(void)
|
virtual Vector Center(void)
|
||||||
{
|
{
|
||||||
return Center_();
|
return Center_();
|
||||||
}
|
}
|
||||||
@ -208,7 +208,7 @@ public:
|
|||||||
#endif // HOOK_GAMEDLL
|
#endif // HOOK_GAMEDLL
|
||||||
|
|
||||||
public:
|
public:
|
||||||
NOBODY void EXPORT TriggerTouch(CBaseEntity *pOther);
|
void EXPORT TriggerTouch(CBaseEntity *pOther);
|
||||||
|
|
||||||
void SetType(int type)
|
void SetType(int type)
|
||||||
{
|
{
|
||||||
@ -226,8 +226,8 @@ public:
|
|||||||
{
|
{
|
||||||
pev->angles = pos;
|
pev->angles = pos;
|
||||||
}
|
}
|
||||||
NOBODY void SetStartEntity(int entityIndex);
|
void SetStartEntity(int entityIndex);
|
||||||
NOBODY void SetEndEntity(int entityIndex);
|
void SetEndEntity(int entityIndex);
|
||||||
void SetStartAttachment(int attachment)
|
void SetStartAttachment(int attachment)
|
||||||
{
|
{
|
||||||
pev->sequence = (pev->sequence & 0x0FFF) | ((attachment & 0xF) << 12);
|
pev->sequence = (pev->sequence & 0x0FFF) | ((attachment & 0xF) << 12);
|
||||||
@ -283,8 +283,8 @@ public:
|
|||||||
return pev->skin & 0xFFF;
|
return pev->skin & 0xFFF;
|
||||||
}
|
}
|
||||||
|
|
||||||
NOBODY const Vector &GetStartPos(void);
|
const Vector &GetStartPos(void);
|
||||||
NOBODY const Vector &GetEndPos(void);
|
const Vector &GetEndPos(void);
|
||||||
|
|
||||||
int GetTexture(void)
|
int GetTexture(void)
|
||||||
{
|
{
|
||||||
@ -311,17 +311,17 @@ public:
|
|||||||
return pev->animtime;
|
return pev->animtime;
|
||||||
}
|
}
|
||||||
|
|
||||||
NOBODY void RelinkBeam(void);
|
void RelinkBeam(void);
|
||||||
NOBODY void DoSparks(const Vector &start, const Vector &end);
|
void DoSparks(const Vector &start, const Vector &end);
|
||||||
NOBODY CBaseEntity *RandomTargetname(const char *szName);
|
CBaseEntity *RandomTargetname(const char *szName);
|
||||||
NOBODY void BeamDamage(TraceResult *ptr);
|
void BeamDamage(TraceResult *ptr);
|
||||||
NOBODY void BeamInit(const char *pSpriteName, int width);
|
void BeamInit(const char *pSpriteName, int width);
|
||||||
NOBODY void PointsInit(const Vector &start, const Vector &end);
|
void PointsInit(const Vector &start, const Vector &end);
|
||||||
NOBODY void PointEntInit(const Vector &start, int endIndex);
|
void PointEntInit(const Vector &start, int endIndex);
|
||||||
NOBODY void EntsInit(int startIndex, int endIndex);
|
void EntsInit(int startIndex, int endIndex);
|
||||||
NOBODY void HoseInit(const Vector &start, const Vector &direction);
|
void HoseInit(const Vector &start, const Vector &direction);
|
||||||
|
|
||||||
NOBODY static CBeam *BeamCreate(const char *pSpriteName, int width);
|
static CBeam *BeamCreate(const char *pSpriteName, int width);
|
||||||
|
|
||||||
void LiveForTime(float time)
|
void LiveForTime(float time)
|
||||||
{
|
{
|
||||||
@ -341,12 +341,12 @@ public:
|
|||||||
class CLaser: public CBeam
|
class CLaser: public CBeam
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
NOBODY virtual void Spawn(void);
|
virtual void Spawn(void);
|
||||||
NOBODY virtual void Precache(void);
|
virtual void Precache(void);
|
||||||
NOBODY virtual void KeyValue(KeyValueData *pkvd);
|
virtual void KeyValue(KeyValueData *pkvd);
|
||||||
NOBODY virtual int Save(CSave &save);
|
virtual int Save(CSave &save);
|
||||||
NOBODY virtual int Restore(CRestore &restore);
|
virtual int Restore(CRestore &restore);
|
||||||
NOBODY virtual void Use(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value);
|
virtual void Use(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value);
|
||||||
|
|
||||||
#ifdef HOOK_GAMEDLL
|
#ifdef HOOK_GAMEDLL
|
||||||
|
|
||||||
@ -360,12 +360,12 @@ public:
|
|||||||
#endif // HOOK_GAMEDLL
|
#endif // HOOK_GAMEDLL
|
||||||
|
|
||||||
public:
|
public:
|
||||||
NOBODY void TurnOn(void);
|
void TurnOn(void);
|
||||||
NOBODY void TurnOff(void);
|
void TurnOff(void);
|
||||||
NOBODY int IsOn(void);
|
int IsOn(void);
|
||||||
|
|
||||||
NOBODY void FireAtPoint(TraceResult &point);
|
void FireAtPoint(TraceResult &point);
|
||||||
NOBODY void EXPORT StrikeThink(void);
|
void EXPORT StrikeThink(void);
|
||||||
|
|
||||||
public:
|
public:
|
||||||
static TYPEDESCRIPTION IMPLEMENT_ARRAY(m_SaveData)[3];
|
static TYPEDESCRIPTION IMPLEMENT_ARRAY(m_SaveData)[3];
|
||||||
@ -381,16 +381,16 @@ public:
|
|||||||
class CBubbling: public CBaseEntity
|
class CBubbling: public CBaseEntity
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
NOBODY virtual void Spawn(void);
|
virtual void Spawn(void);
|
||||||
NOBODY virtual void Precache(void);
|
virtual void Precache(void);
|
||||||
NOBODY virtual void KeyValue(KeyValueData *pkvd);
|
virtual void KeyValue(KeyValueData *pkvd);
|
||||||
NOBODY virtual int Save(CSave &save);
|
virtual int Save(CSave &save);
|
||||||
NOBODY virtual int Restore(CRestore &restore);
|
virtual int Restore(CRestore &restore);
|
||||||
NOBODY virtual int ObjectCaps(void)
|
virtual int ObjectCaps(void)
|
||||||
{
|
{
|
||||||
return ObjectCaps_();
|
return ObjectCaps_();
|
||||||
}
|
}
|
||||||
NOBODY virtual void Use(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value);
|
virtual void Use(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value);
|
||||||
|
|
||||||
#ifdef HOOK_GAMEDLL
|
#ifdef HOOK_GAMEDLL
|
||||||
|
|
||||||
@ -401,7 +401,7 @@ public:
|
|||||||
int Restore_(CRestore &restore);
|
int Restore_(CRestore &restore);
|
||||||
int ObjectCaps_(void)
|
int ObjectCaps_(void)
|
||||||
{
|
{
|
||||||
return CBaseEntity::ObjectCaps() & ~FCAP_ACROSS_TRANSITION;
|
return (CBaseEntity::ObjectCaps() & ~FCAP_ACROSS_TRANSITION);
|
||||||
}
|
}
|
||||||
void Use_(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value);
|
void Use_(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value);
|
||||||
|
|
||||||
@ -425,12 +425,12 @@ public:
|
|||||||
class CLightning: public CBeam
|
class CLightning: public CBeam
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
NOBODY virtual void Spawn(void);
|
virtual void Spawn(void);
|
||||||
NOBODY virtual void Precache(void);
|
virtual void Precache(void);
|
||||||
NOBODY virtual void KeyValue(KeyValueData *pkvd);
|
virtual void KeyValue(KeyValueData *pkvd);
|
||||||
NOBODY virtual int Save(CSave &save);
|
virtual int Save(CSave &save);
|
||||||
NOBODY virtual int Restore(CRestore &restore);
|
virtual int Restore(CRestore &restore);
|
||||||
NOBODY virtual void Activate(void);
|
virtual void Activate(void);
|
||||||
|
|
||||||
#ifdef HOOK_GAMEDLL
|
#ifdef HOOK_GAMEDLL
|
||||||
|
|
||||||
@ -486,10 +486,10 @@ public:
|
|||||||
class CGlow: public CPointEntity
|
class CGlow: public CPointEntity
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
NOBODY virtual void Spawn(void);
|
virtual void Spawn(void);
|
||||||
NOBODY virtual int Save(CSave &save);
|
virtual int Save(CSave &save);
|
||||||
NOBODY virtual int Restore(CRestore &restore);
|
virtual int Restore(CRestore &restore);
|
||||||
NOBODY virtual void Think(void);
|
virtual void Think(void);
|
||||||
|
|
||||||
#ifdef HOOK_GAMEDLL
|
#ifdef HOOK_GAMEDLL
|
||||||
|
|
||||||
@ -500,7 +500,7 @@ public:
|
|||||||
|
|
||||||
#endif // HOOK_GAMEDLL
|
#endif // HOOK_GAMEDLL
|
||||||
|
|
||||||
NOBODY void Animate(float frames);
|
void Animate(float frames);
|
||||||
public:
|
public:
|
||||||
static TYPEDESCRIPTION IMPLEMENT_ARRAY(m_SaveData)[2];
|
static TYPEDESCRIPTION IMPLEMENT_ARRAY(m_SaveData)[2];
|
||||||
|
|
||||||
@ -517,6 +517,13 @@ public:
|
|||||||
virtual void Spawn(void);
|
virtual void Spawn(void);
|
||||||
virtual void Think(void);
|
virtual void Think(void);
|
||||||
|
|
||||||
|
#ifdef HOOK_GAMEDLL
|
||||||
|
|
||||||
|
void Spawn_(void);
|
||||||
|
void Think_(void);
|
||||||
|
|
||||||
|
#endif // HOOK_GAMEDLL
|
||||||
|
|
||||||
public:
|
public:
|
||||||
float m_lastTime;
|
float m_lastTime;
|
||||||
float m_tmBeepPeriod;
|
float m_tmBeepPeriod;
|
||||||
@ -571,7 +578,7 @@ class CEnvShooter: public CGibShooter
|
|||||||
public:
|
public:
|
||||||
virtual void Precache(void);
|
virtual void Precache(void);
|
||||||
virtual void KeyValue(KeyValueData *pkvd);
|
virtual void KeyValue(KeyValueData *pkvd);
|
||||||
CGib *CreateGib(void);
|
virtual CGib *CreateGib(void);
|
||||||
|
|
||||||
#ifdef HOOK_GAMEDLL
|
#ifdef HOOK_GAMEDLL
|
||||||
|
|
||||||
@ -589,14 +596,16 @@ public:
|
|||||||
class CTestEffect: public CBaseDelay
|
class CTestEffect: public CBaseDelay
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
NOBODY virtual void Spawn(void);
|
virtual void Spawn(void);
|
||||||
NOBODY virtual void Precache(void);
|
virtual void Precache(void);
|
||||||
NOBODY virtual void Use(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value);
|
virtual void Use(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value);
|
||||||
|
|
||||||
#ifdef HOOK_GAMEDLL
|
#ifdef HOOK_GAMEDLL
|
||||||
|
|
||||||
void Spawn_(void);
|
void Spawn_(void);
|
||||||
void Precache_(void);
|
void Precache_(void);
|
||||||
void Use_(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value);
|
void Use_(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value);
|
||||||
|
|
||||||
#endif // HOOK_GAMEDLL
|
#endif // HOOK_GAMEDLL
|
||||||
|
|
||||||
public:
|
public:
|
||||||
@ -617,14 +626,16 @@ public:
|
|||||||
class CBlood: public CPointEntity
|
class CBlood: public CPointEntity
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
NOBODY virtual void Spawn(void);
|
virtual void Spawn(void);
|
||||||
NOBODY virtual void KeyValue(KeyValueData *pkvd);
|
virtual void KeyValue(KeyValueData *pkvd);
|
||||||
NOBODY virtual void Use(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value);
|
virtual void Use(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value);
|
||||||
|
|
||||||
#ifdef HOOK_GAMEDLL
|
#ifdef HOOK_GAMEDLL
|
||||||
|
|
||||||
void Spawn_(void);
|
void Spawn_(void);
|
||||||
void KeyValue_(KeyValueData *pkvd);
|
void KeyValue_(KeyValueData *pkvd);
|
||||||
void Use_(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value);
|
void Use_(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value);
|
||||||
|
|
||||||
#endif // HOOK_GAMEDLL
|
#endif // HOOK_GAMEDLL
|
||||||
|
|
||||||
public:
|
public:
|
||||||
@ -659,9 +670,9 @@ public:
|
|||||||
class CShake: public CPointEntity
|
class CShake: public CPointEntity
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
NOBODY virtual void Spawn(void);
|
virtual void Spawn(void);
|
||||||
NOBODY virtual void KeyValue(KeyValueData *pkvd);
|
virtual void KeyValue(KeyValueData *pkvd);
|
||||||
NOBODY virtual void Use(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value);
|
virtual void Use(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value);
|
||||||
|
|
||||||
#ifdef HOOK_GAMEDLL
|
#ifdef HOOK_GAMEDLL
|
||||||
|
|
||||||
@ -719,14 +730,16 @@ public:
|
|||||||
class CFade: public CPointEntity
|
class CFade: public CPointEntity
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
NOBODY virtual void Spawn(void);
|
virtual void Spawn(void);
|
||||||
NOBODY virtual void KeyValue(KeyValueData *pkvd);
|
virtual void KeyValue(KeyValueData *pkvd);
|
||||||
NOBODY virtual void Use(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value);
|
virtual void Use(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value);
|
||||||
|
|
||||||
#ifdef HOOK_GAMEDLL
|
#ifdef HOOK_GAMEDLL
|
||||||
|
|
||||||
void Spawn_(void);
|
void Spawn_(void);
|
||||||
void KeyValue_(KeyValueData *pkvd);
|
void KeyValue_(KeyValueData *pkvd);
|
||||||
void Use_(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value);
|
void Use_(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value);
|
||||||
|
|
||||||
#endif // HOOK_GAMEDLL
|
#endif // HOOK_GAMEDLL
|
||||||
|
|
||||||
public:
|
public:
|
||||||
@ -757,16 +770,18 @@ public:
|
|||||||
class CMessage: public CPointEntity
|
class CMessage: public CPointEntity
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
NOBODY virtual void Spawn(void);
|
virtual void Spawn(void);
|
||||||
NOBODY virtual void Precache(void);
|
virtual void Precache(void);
|
||||||
NOBODY virtual void KeyValue(KeyValueData *pkvd);
|
virtual void KeyValue(KeyValueData *pkvd);
|
||||||
NOBODY virtual void Use(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value);
|
virtual void Use(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value);
|
||||||
|
|
||||||
#ifdef HOOK_GAMEDLL
|
#ifdef HOOK_GAMEDLL
|
||||||
|
|
||||||
void Spawn_(void);
|
void Spawn_(void);
|
||||||
void Precache_(void);
|
void Precache_(void);
|
||||||
void KeyValue_(KeyValueData *pkvd);
|
void KeyValue_(KeyValueData *pkvd);
|
||||||
void Use_(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value);
|
void Use_(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value);
|
||||||
|
|
||||||
#endif // HOOK_GAMEDLL
|
#endif // HOOK_GAMEDLL
|
||||||
|
|
||||||
};/* size: 152, cachelines: 3, members: 1 */
|
};/* size: 152, cachelines: 3, members: 1 */
|
||||||
@ -775,9 +790,9 @@ public:
|
|||||||
class CEnvFunnel: public CBaseDelay
|
class CEnvFunnel: public CBaseDelay
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
NOBODY virtual void Spawn(void);
|
virtual void Spawn(void);
|
||||||
NOBODY virtual void Precache(void);
|
virtual void Precache(void);
|
||||||
NOBODY virtual void Use(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value);
|
virtual void Use(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value);
|
||||||
|
|
||||||
#ifdef HOOK_GAMEDLL
|
#ifdef HOOK_GAMEDLL
|
||||||
|
|
||||||
@ -796,9 +811,9 @@ public:
|
|||||||
class CEnvBeverage: public CBaseDelay
|
class CEnvBeverage: public CBaseDelay
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
NOBODY virtual void Spawn(void);
|
virtual void Spawn(void);
|
||||||
NOBODY virtual void Precache(void);
|
virtual void Precache(void);
|
||||||
NOBODY virtual void Use(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value);
|
virtual void Use(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value);
|
||||||
|
|
||||||
#ifdef HOOK_GAMEDLL
|
#ifdef HOOK_GAMEDLL
|
||||||
|
|
||||||
@ -814,12 +829,14 @@ public:
|
|||||||
class CItemSoda: public CBaseEntity
|
class CItemSoda: public CBaseEntity
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
NOBODY virtual void Spawn(void);
|
virtual void Spawn(void);
|
||||||
NOBODY virtual void Precache(void);
|
virtual void Precache(void);
|
||||||
|
|
||||||
#ifdef HOOK_GAMEDLL
|
#ifdef HOOK_GAMEDLL
|
||||||
|
|
||||||
void Spawn_(void);
|
void Spawn_(void);
|
||||||
void Precache_(void);
|
void Precache_(void);
|
||||||
|
|
||||||
#endif // HOOK_GAMEDLL
|
#endif // HOOK_GAMEDLL
|
||||||
|
|
||||||
public:
|
public:
|
||||||
@ -828,6 +845,27 @@ public:
|
|||||||
|
|
||||||
};/* size: 152, cachelines: 3, members: 1 */
|
};/* size: 152, cachelines: 3, members: 1 */
|
||||||
|
|
||||||
NOBODY int IsPointEntity(CBaseEntity *pEnt);
|
int IsPointEntity(CBaseEntity *pEnt);
|
||||||
|
|
||||||
|
// linked objects
|
||||||
|
C_DLLEXPORT void info_target(entvars_t *pev);
|
||||||
|
C_DLLEXPORT void env_bubbles(entvars_t *pev);
|
||||||
|
C_DLLEXPORT void beam(entvars_t *pev);
|
||||||
|
C_DLLEXPORT void env_lightning(entvars_t *pev);
|
||||||
|
C_DLLEXPORT void env_beam(entvars_t *pev);
|
||||||
|
C_DLLEXPORT void env_laser(entvars_t *pev);
|
||||||
|
C_DLLEXPORT void env_glow(entvars_t *pev);
|
||||||
|
C_DLLEXPORT void env_bombglow(entvars_t *pev);
|
||||||
|
C_DLLEXPORT void env_sprite(entvars_t *pev);
|
||||||
|
C_DLLEXPORT void gibshooter(entvars_t *pev);
|
||||||
|
C_DLLEXPORT void env_shooter(entvars_t *pev);
|
||||||
|
C_DLLEXPORT void test_effect(entvars_t *pev);
|
||||||
|
C_DLLEXPORT void env_blood(entvars_t *pev);
|
||||||
|
C_DLLEXPORT void env_shake(entvars_t *pev);
|
||||||
|
C_DLLEXPORT void env_fade(entvars_t *pev);
|
||||||
|
C_DLLEXPORT void env_message(entvars_t *pev);
|
||||||
|
C_DLLEXPORT void env_funnel(entvars_t *pev);
|
||||||
|
C_DLLEXPORT void env_beverage(entvars_t *pev);
|
||||||
|
C_DLLEXPORT void item_sodacan(entvars_t *pev);
|
||||||
|
|
||||||
#endif // EFFECTS_H
|
#endif // EFFECTS_H
|
||||||
|
@ -85,8 +85,12 @@ extern enginefuncs_t g_engfuncs;
|
|||||||
#define ADD_SERVER_COMMAND (*g_engfuncs.pfnAddServerCommand)
|
#define ADD_SERVER_COMMAND (*g_engfuncs.pfnAddServerCommand)
|
||||||
#define SET_CLIENT_LISTENING (*g_engfuncs.pfnVoice_SetClientListening)
|
#define SET_CLIENT_LISTENING (*g_engfuncs.pfnVoice_SetClientListening)
|
||||||
#define GETPLAYERAUTHID (*g_engfuncs.pfnGetPlayerAuthId)
|
#define GETPLAYERAUTHID (*g_engfuncs.pfnGetPlayerAuthId)
|
||||||
|
#define GET_FILE_SIZE (*g_engfuncs.pfnGetFileSize)
|
||||||
#define GET_APPROX_WAVE_PLAY_LEN (*g_engfuncs.pfnGetApproxWavePlayLen)
|
#define GET_APPROX_WAVE_PLAY_LEN (*g_engfuncs.pfnGetApproxWavePlayLen)
|
||||||
#define IS_CAREER_MATCH (*g_engfuncs.pfnIsCareerMatch)
|
#define IS_CAREER_MATCH (*g_engfuncs.pfnIsCareerMatch)
|
||||||
|
#define GET_LOCALIZED_STRING_LENGTH (*g_engfuncs.pfnGetLocalizedStringLength)
|
||||||
|
#define REGISTER_TUTOR_MESSAGE_SHOWN (*g_engfuncs.pfnRegisterTutorMessageShown)
|
||||||
|
#define GET_TIMES_TUTOR_MESSAGE_SHOWN (*g_engfuncs.pfnGetTimesTutorMessageShown)
|
||||||
#define ENG_CHECK_PARM (*g_engfuncs.pfnEngCheckParm)
|
#define ENG_CHECK_PARM (*g_engfuncs.pfnEngCheckParm)
|
||||||
|
|
||||||
/* <472a4> ../cstrike/dlls/enginecallback.h:77 */
|
/* <472a4> ../cstrike/dlls/enginecallback.h:77 */
|
||||||
@ -157,6 +161,7 @@ inline void *GET_PRIVATE(edict_t *pent)
|
|||||||
#define SET_KEY_VALUE (*g_engfuncs.pfnSetKeyValue)
|
#define SET_KEY_VALUE (*g_engfuncs.pfnSetKeyValue)
|
||||||
#define SET_CLIENT_KEY_VALUE (*g_engfuncs.pfnSetClientKeyValue)
|
#define SET_CLIENT_KEY_VALUE (*g_engfuncs.pfnSetClientKeyValue)
|
||||||
#define IS_MAP_VALID (*g_engfuncs.pfnIsMapValid)
|
#define IS_MAP_VALID (*g_engfuncs.pfnIsMapValid)
|
||||||
|
#define STATIC_DECAL (*g_engfuncs.pfnStaticDecal)
|
||||||
#define IS_DEDICATED_SERVER (*g_engfuncs.pfnIsDedicatedServer)
|
#define IS_DEDICATED_SERVER (*g_engfuncs.pfnIsDedicatedServer)
|
||||||
#define PRECACHE_EVENT (*g_engfuncs.pfnPrecacheEvent)
|
#define PRECACHE_EVENT (*g_engfuncs.pfnPrecacheEvent)
|
||||||
#define PLAYBACK_EVENT_FULL (*g_engfuncs.pfnPlaybackEvent)
|
#define PLAYBACK_EVENT_FULL (*g_engfuncs.pfnPlaybackEvent)
|
||||||
@ -171,6 +176,7 @@ inline void *GET_PRIVATE(edict_t *pent)
|
|||||||
#define DELTA_FINDFIELD (*g_engfuncs.pfnDeltaFindField)
|
#define DELTA_FINDFIELD (*g_engfuncs.pfnDeltaFindField)
|
||||||
#define DELTA_SETBYINDEX (*g_engfuncs.pfnDeltaSetFieldByIndex)
|
#define DELTA_SETBYINDEX (*g_engfuncs.pfnDeltaSetFieldByIndex)
|
||||||
#define DELTA_UNSETBYINDEX (*g_engfuncs.pfnDeltaUnsetFieldByIndex)
|
#define DELTA_UNSETBYINDEX (*g_engfuncs.pfnDeltaUnsetFieldByIndex)
|
||||||
|
#define REMOVE_KEY_VALUE (*g_engfuncs.pfnInfo_RemoveKey)
|
||||||
#define SET_PHYSICS_KEY_VALUE (*g_engfuncs.pfnSetPhysicsKeyValue)
|
#define SET_PHYSICS_KEY_VALUE (*g_engfuncs.pfnSetPhysicsKeyValue)
|
||||||
#define ENGINE_GETPHYSINFO (*g_engfuncs.pfnGetPhysicsInfoString)
|
#define ENGINE_GETPHYSINFO (*g_engfuncs.pfnGetPhysicsInfoString)
|
||||||
#define ENGINE_SETGROUPMASK (*g_engfuncs.pfnSetGroupMask)
|
#define ENGINE_SETGROUPMASK (*g_engfuncs.pfnSetGroupMask)
|
||||||
|
@ -21,25 +21,58 @@ TYPEDESCRIPTION (*CEnvExplosion::pm_SaveData)[2];
|
|||||||
LINK_ENTITY_TO_CLASS(spark_shower, CShower);
|
LINK_ENTITY_TO_CLASS(spark_shower, CShower);
|
||||||
|
|
||||||
/* <7f49c> ../cstrike/dlls/explode.cpp:39 */
|
/* <7f49c> ../cstrike/dlls/explode.cpp:39 */
|
||||||
NOBODY void CShower::Spawn_(void)
|
void CShower::__MAKE_VHOOK(Spawn)(void)
|
||||||
{
|
{
|
||||||
// operator*(float fl,
|
pev->velocity = RANDOM_FLOAT(200, 300) * pev->angles;
|
||||||
// const Vector &v); // 41
|
pev->velocity.x += RANDOM_FLOAT(-100, 100);
|
||||||
// edict(CBaseEntity *const this); // 52
|
pev->velocity.y += RANDOM_FLOAT(-100, 100);
|
||||||
|
|
||||||
|
if (pev->velocity.z >= 0)
|
||||||
|
pev->velocity.z += 200;
|
||||||
|
else
|
||||||
|
pev->velocity.z -= 200;
|
||||||
|
|
||||||
|
pev->movetype = MOVETYPE_BOUNCE;
|
||||||
|
pev->gravity = 0.5f;
|
||||||
|
pev->nextthink = gpGlobals->time + 0.1f;
|
||||||
|
pev->solid = SOLID_NOT;
|
||||||
|
|
||||||
|
// Need a model, just use the grenade, we don't draw it anyway
|
||||||
|
SET_MODEL(edict(), "models/grenade.mdl");
|
||||||
|
UTIL_SetSize(pev, g_vecZero, g_vecZero);
|
||||||
|
|
||||||
|
pev->effects |= EF_NODRAW;
|
||||||
|
pev->speed = RANDOM_FLOAT(0.5, 1.5);
|
||||||
|
pev->angles = g_vecZero;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* <7f475> ../cstrike/dlls/explode.cpp:61 */
|
/* <7f475> ../cstrike/dlls/explode.cpp:61 */
|
||||||
NOBODY void CShower::Think_(void)
|
void CShower::__MAKE_VHOOK(Think)(void)
|
||||||
{
|
{
|
||||||
|
UTIL_Sparks(pev->origin);
|
||||||
|
|
||||||
|
pev->speed -= 0.1f;
|
||||||
|
|
||||||
|
if (pev->speed > 0)
|
||||||
|
pev->nextthink = gpGlobals->time + 0.1f;
|
||||||
|
else
|
||||||
|
UTIL_Remove(this);
|
||||||
|
|
||||||
|
pev->flags &= ~FL_ONGROUND;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* <7f122> ../cstrike/dlls/explode.cpp:73 */
|
/* <7f122> ../cstrike/dlls/explode.cpp:73 */
|
||||||
NOBODY void CShower::Touch_(CBaseEntity *pOther)
|
void CShower::__MAKE_VHOOK(Touch)(CBaseEntity *pOther)
|
||||||
{
|
{
|
||||||
// operator*(const Vector *const this,
|
if (pev->flags & FL_ONGROUND)
|
||||||
// float fl); // 76
|
pev->velocity = pev->velocity * 0.1f;
|
||||||
// operator*(const Vector *const this,
|
else
|
||||||
// float fl); // 78
|
pev->velocity = pev->velocity * 0.6f;
|
||||||
|
|
||||||
|
if ((pev->velocity.x * pev->velocity.x + pev->velocity.y * pev->velocity.y) < 10.0f)
|
||||||
|
{
|
||||||
|
pev->speed = 0;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/* <7f566> ../cstrike/dlls/explode.cpp:106 */
|
/* <7f566> ../cstrike/dlls/explode.cpp:106 */
|
||||||
@ -49,75 +82,166 @@ IMPLEMENT_SAVERESTORE(CEnvExplosion, CBaseMonster);
|
|||||||
LINK_ENTITY_TO_CLASS(env_explosion, CEnvExplosion);
|
LINK_ENTITY_TO_CLASS(env_explosion, CEnvExplosion);
|
||||||
|
|
||||||
/* <7f5b2> ../cstrike/dlls/explode.cpp:109 */
|
/* <7f5b2> ../cstrike/dlls/explode.cpp:109 */
|
||||||
NOBODY void CEnvExplosion::KeyValue_(KeyValueData *pkvd)
|
void CEnvExplosion::__MAKE_VHOOK(KeyValue)(KeyValueData *pkvd)
|
||||||
{
|
{
|
||||||
// FStrEq(const char *sz1,
|
if (FStrEq(pkvd->szKeyName, "iMagnitude"))
|
||||||
// const char *sz2); // 111
|
{
|
||||||
// KeyValue(CBaseEntity *const this,
|
m_iMagnitude = Q_atoi(pkvd->szValue);
|
||||||
// KeyValueData *pkvd); // 117
|
pkvd->fHandled = TRUE;
|
||||||
// KeyValue(CEnvExplosion *const this,
|
}
|
||||||
// KeyValueData *pkvd); // 109
|
else
|
||||||
|
CBaseEntity::KeyValue(pkvd);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/* <7f1a5> ../cstrike/dlls/explode.cpp:120 */
|
/* <7f1a5> ../cstrike/dlls/explode.cpp:120 */
|
||||||
NOBODY void CEnvExplosion::Spawn_(void)
|
void CEnvExplosion::__MAKE_VHOOK(Spawn)(void)
|
||||||
{
|
{
|
||||||
// {
|
pev->solid = SOLID_NOT;
|
||||||
// float flSpriteScale; // 133
|
pev->effects = EF_NODRAW;
|
||||||
// }
|
pev->movetype = MOVETYPE_NONE;
|
||||||
|
|
||||||
|
float flSpriteScale = (m_iMagnitude - 50) * 0.6f;
|
||||||
|
|
||||||
|
if (flSpriteScale < 10.0f)
|
||||||
|
{
|
||||||
|
flSpriteScale = 10.0f;
|
||||||
|
}
|
||||||
|
|
||||||
|
m_spriteScale = (int)flSpriteScale;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* <7f233> ../cstrike/dlls/explode.cpp:150 */
|
/* <7f233> ../cstrike/dlls/explode.cpp:150 */
|
||||||
NOBODY void CEnvExplosion::Use_(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value)
|
void CEnvExplosion::__MAKE_VHOOK(Use)(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value)
|
||||||
{
|
{
|
||||||
// {
|
TraceResult tr;
|
||||||
// TraceResult tr; // 152
|
|
||||||
// Vector vecSpot; // 157
|
pev->model = iStringNull;//invisible
|
||||||
// operator+(const Vector *const this,
|
pev->solid = SOLID_NOT;//intangible
|
||||||
// const Vector &v); // 159
|
|
||||||
// operator+(const Vector *const this,
|
Vector vecSpot;// trace starts here!
|
||||||
// const Vector &v); // 161
|
|
||||||
// MESSAGE_BEGIN(int msg_dest,
|
vecSpot = pev->origin + Vector(0, 0, 8);
|
||||||
// int msg_type,
|
|
||||||
// const float *pOrigin,
|
UTIL_TraceLine(vecSpot, vecSpot + Vector (0, 0, -40), ignore_monsters, ENT(pev), & tr);
|
||||||
// edict_t *ed); // 189
|
|
||||||
// {
|
// Pull out of the wall a bit
|
||||||
// int sparkCount; // 226
|
if (tr.flFraction != 1.0f)
|
||||||
// {
|
{
|
||||||
// int i; // 228
|
pev->origin = tr.vecEndPos + (tr.vecPlaneNormal * (m_iMagnitude - 24) * 0.6f);
|
||||||
// }
|
}
|
||||||
// }
|
else
|
||||||
// operator*(const Vector *const this,
|
{
|
||||||
// float fl); // 166
|
pev->origin = pev->origin;
|
||||||
// operator*(const Vector *const this,
|
}
|
||||||
// float fl); // 166
|
|
||||||
// operator+(const Vector *const this,
|
// draw decal
|
||||||
// const Vector &v); // 166
|
if (! (pev->spawnflags & SF_ENVEXPLOSION_NODECAL))
|
||||||
// MESSAGE_BEGIN(int msg_dest,
|
{
|
||||||
// int msg_type,
|
if (RANDOM_FLOAT(0, 1) < 0.5)
|
||||||
// const float *pOrigin,
|
{
|
||||||
// edict_t *ed); // 202
|
UTIL_DecalTrace(&tr, DECAL_SCORCH1);
|
||||||
// }
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
UTIL_DecalTrace(&tr, DECAL_SCORCH2);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// draw fireball
|
||||||
|
if (!(pev->spawnflags & SF_ENVEXPLOSION_NOFIREBALL))
|
||||||
|
{
|
||||||
|
MESSAGE_BEGIN(MSG_PAS, SVC_TEMPENTITY, pev->origin);
|
||||||
|
WRITE_BYTE(TE_EXPLOSION);
|
||||||
|
WRITE_COORD(pev->origin.x);
|
||||||
|
WRITE_COORD(pev->origin.y);
|
||||||
|
WRITE_COORD(pev->origin.z);
|
||||||
|
WRITE_SHORT(g_sModelIndexFireball);
|
||||||
|
WRITE_BYTE((byte)m_spriteScale); // scale * 10
|
||||||
|
WRITE_BYTE(15); // framerate
|
||||||
|
WRITE_BYTE(TE_EXPLFLAG_NONE);
|
||||||
|
MESSAGE_END();
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
MESSAGE_BEGIN(MSG_PAS, SVC_TEMPENTITY, pev->origin);
|
||||||
|
WRITE_BYTE(TE_EXPLOSION);
|
||||||
|
WRITE_COORD(pev->origin.x);
|
||||||
|
WRITE_COORD(pev->origin.y);
|
||||||
|
WRITE_COORD(pev->origin.z);
|
||||||
|
WRITE_SHORT(g_sModelIndexFireball);
|
||||||
|
WRITE_BYTE(0); // no sprite
|
||||||
|
WRITE_BYTE(15); // framerate
|
||||||
|
WRITE_BYTE(TE_EXPLFLAG_NONE);
|
||||||
|
MESSAGE_END();
|
||||||
|
}
|
||||||
|
|
||||||
|
// do damage
|
||||||
|
if (!(pev->spawnflags & SF_ENVEXPLOSION_NODAMAGE))
|
||||||
|
{
|
||||||
|
RadiusDamage(pev, pev, m_iMagnitude, CLASS_NONE, DMG_BLAST);
|
||||||
|
}
|
||||||
|
|
||||||
|
SetThink(&CEnvExplosion::Smoke);
|
||||||
|
pev->nextthink = gpGlobals->time + 0.3f;
|
||||||
|
|
||||||
|
// draw sparks
|
||||||
|
if (!(pev->spawnflags & SF_ENVEXPLOSION_NOSPARKS))
|
||||||
|
{
|
||||||
|
int sparkCount = RANDOM_LONG(0, 3);
|
||||||
|
|
||||||
|
for (int i = 0; i < sparkCount; i++)
|
||||||
|
{
|
||||||
|
Create("spark_shower", pev->origin, tr.vecPlaneNormal, NULL);
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/* <7f1e1> ../cstrike/dlls/explode.cpp:235 */
|
/* <7f1e1> ../cstrike/dlls/explode.cpp:235 */
|
||||||
NOBODY void CEnvExplosion::Smoke(void)
|
void CEnvExplosion::Smoke(void)
|
||||||
{
|
{
|
||||||
// MESSAGE_BEGIN(int msg_dest,
|
if (!(pev->spawnflags & SF_ENVEXPLOSION_NOSMOKE))
|
||||||
// int msg_type,
|
{
|
||||||
// const float *pOrigin,
|
MESSAGE_BEGIN(MSG_PAS, SVC_TEMPENTITY, pev->origin);
|
||||||
// edict_t *ed); // 239
|
WRITE_BYTE(TE_SMOKE);
|
||||||
|
WRITE_COORD(pev->origin.x);
|
||||||
|
WRITE_COORD(pev->origin.y);
|
||||||
|
WRITE_COORD(pev->origin.z);
|
||||||
|
WRITE_SHORT(g_sModelIndexSmoke);
|
||||||
|
WRITE_BYTE((byte)m_spriteScale); // scale * 10
|
||||||
|
WRITE_BYTE(12); // framerate
|
||||||
|
MESSAGE_END();
|
||||||
}
|
}
|
||||||
|
|
||||||
/* <7f7f4> ../cstrike/dlls/explode.cpp:258 */
|
if (!(pev->spawnflags & SF_ENVEXPLOSION_REPEATABLE))
|
||||||
NOBODY void ExplosionCreate(Vector ¢er, Vector &angles, edict_t *pOwner, int magnitude, BOOL doDamage)
|
|
||||||
{
|
{
|
||||||
// {
|
UTIL_Remove(this);
|
||||||
// KeyValueData kvd; // 260
|
}
|
||||||
// char buf; // 261
|
}
|
||||||
// class CBaseEntity *pExplosion; // 263
|
|
||||||
// }
|
// HACKHACK -- create one of these and fake a keyvalue to get the right explosion setup
|
||||||
|
|
||||||
|
/* <7f7f4> ../cstrike/dlls/explode.cpp:258 */
|
||||||
|
void ExplosionCreate(Vector ¢er, Vector &angles, edict_t *pOwner, int magnitude, BOOL doDamage)
|
||||||
|
{
|
||||||
|
KeyValueData kvd;
|
||||||
|
char buf[128];
|
||||||
|
|
||||||
|
CBaseEntity *pExplosion = CBaseEntity::Create("env_explosion", center, angles, pOwner);
|
||||||
|
|
||||||
|
Q_sprintf(buf, "%3d", magnitude);
|
||||||
|
|
||||||
|
kvd.szKeyName = "iMagnitude";
|
||||||
|
kvd.szValue = buf;
|
||||||
|
|
||||||
|
pExplosion->KeyValue(&kvd);
|
||||||
|
|
||||||
|
if (!doDamage)
|
||||||
|
{
|
||||||
|
pExplosion->pev->spawnflags |= SF_ENVEXPLOSION_NODAMAGE;
|
||||||
|
}
|
||||||
|
|
||||||
|
pExplosion->Spawn();
|
||||||
|
pExplosion->Use(NULL, NULL, USE_TOGGLE, 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef HOOK_GAMEDLL
|
#ifdef HOOK_GAMEDLL
|
||||||
|
@ -43,13 +43,13 @@
|
|||||||
class CShower: public CBaseEntity
|
class CShower: public CBaseEntity
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
NOBODY virtual void Spawn(void);
|
virtual void Spawn(void);
|
||||||
NOBODY virtual int ObjectCaps(void)
|
virtual int ObjectCaps(void)
|
||||||
{
|
{
|
||||||
return ObjectCaps_();
|
return ObjectCaps_();
|
||||||
}
|
}
|
||||||
NOBODY virtual void Think(void);
|
virtual void Think(void);
|
||||||
NOBODY virtual void Touch(CBaseEntity *pOther);
|
virtual void Touch(CBaseEntity *pOther);
|
||||||
|
|
||||||
#ifdef HOOK_GAMEDLL
|
#ifdef HOOK_GAMEDLL
|
||||||
|
|
||||||
@ -69,11 +69,11 @@ public:
|
|||||||
class CEnvExplosion: public CBaseMonster
|
class CEnvExplosion: public CBaseMonster
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
NOBODY virtual void Spawn(void);
|
virtual void Spawn(void);
|
||||||
NOBODY virtual void KeyValue(KeyValueData *pkvd);
|
virtual void KeyValue(KeyValueData *pkvd);
|
||||||
NOBODY virtual int Save(CSave &save);
|
virtual int Save(CSave &save);
|
||||||
NOBODY virtual int Restore(CRestore &restore);
|
virtual int Restore(CRestore &restore);
|
||||||
NOBODY virtual void Use(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value);
|
virtual void Use(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value);
|
||||||
|
|
||||||
#ifdef HOOK_GAMEDLL
|
#ifdef HOOK_GAMEDLL
|
||||||
|
|
||||||
@ -86,7 +86,7 @@ public:
|
|||||||
#endif // HOOK_GAMEDLL
|
#endif // HOOK_GAMEDLL
|
||||||
|
|
||||||
public:
|
public:
|
||||||
NOBODY void EXPORT Smoke(void);
|
void EXPORT Smoke(void);
|
||||||
|
|
||||||
public:
|
public:
|
||||||
static TYPEDESCRIPTION IMPLEMENT_ARRAY(m_SaveData)[2];
|
static TYPEDESCRIPTION IMPLEMENT_ARRAY(m_SaveData)[2];
|
||||||
@ -97,6 +97,10 @@ public:
|
|||||||
|
|
||||||
};/* size: 412, cachelines: 7, members: 4 */
|
};/* size: 412, cachelines: 7, members: 4 */
|
||||||
|
|
||||||
NOBODY void ExplosionCreate(Vector ¢er, Vector &angles, edict_t *pOwner, int magnitude, BOOL doDamage);
|
void ExplosionCreate(Vector ¢er, Vector &angles, edict_t *pOwner, int magnitude, BOOL doDamage);
|
||||||
|
|
||||||
|
// linked objects
|
||||||
|
C_DLLEXPORT void spark_shower(entvars_t *pev);
|
||||||
|
C_DLLEXPORT void env_explosion(entvars_t *pev);
|
||||||
|
|
||||||
#endif // EXPLODE_H
|
#endif // EXPLODE_H
|
||||||
|
@ -87,7 +87,6 @@ typedef float vec_t; // needed before including progdefs.h
|
|||||||
#include "vector.h"
|
#include "vector.h"
|
||||||
// Defining it as a (bogus) struct helps enforce type-checking
|
// Defining it as a (bogus) struct helps enforce type-checking
|
||||||
#define vec3_t Vector
|
#define vec3_t Vector
|
||||||
#define TI_LOX
|
|
||||||
// Shared engine/DLL constants
|
// Shared engine/DLL constants
|
||||||
|
|
||||||
#include "const.h"
|
#include "const.h"
|
||||||
|
@ -122,7 +122,7 @@ TYPEDESCRIPTION (*CPushable::pm_SaveData)[2];
|
|||||||
#endif // HOOK_GAMEDLL
|
#endif // HOOK_GAMEDLL
|
||||||
|
|
||||||
/* <85bf3> ../cstrike/dlls/func_break.cpp:76 */
|
/* <85bf3> ../cstrike/dlls/func_break.cpp:76 */
|
||||||
NOBODY void CBreakable::KeyValue_(KeyValueData *pkvd)
|
NOBODY void CBreakable::__MAKE_VHOOK(KeyValue)(KeyValueData *pkvd)
|
||||||
{
|
{
|
||||||
// FStrEq(const char *sz1,
|
// FStrEq(const char *sz1,
|
||||||
// const char *sz2); // 90
|
// const char *sz2); // 90
|
||||||
@ -158,12 +158,12 @@ LINK_ENTITY_TO_CLASS(func_breakable, CBreakable);
|
|||||||
IMPLEMENT_SAVERESTORE(CBreakable, CBaseEntity);
|
IMPLEMENT_SAVERESTORE(CBreakable, CBaseEntity);
|
||||||
|
|
||||||
/* <85663> ../cstrike/dlls/func_break.cpp:157 */
|
/* <85663> ../cstrike/dlls/func_break.cpp:157 */
|
||||||
NOBODY void CBreakable::Spawn_(void)
|
NOBODY void CBreakable::__MAKE_VHOOK(Spawn)(void)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
/* <8568a> ../cstrike/dlls/func_break.cpp:191 */
|
/* <8568a> ../cstrike/dlls/func_break.cpp:191 */
|
||||||
NOBODY void CBreakable::Restart_(void)
|
NOBODY void CBreakable::__MAKE_VHOOK(Restart)(void)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -178,7 +178,6 @@ const char **CBreakable::MaterialSoundList(Materials precacheMaterial, int &soun
|
|||||||
{
|
{
|
||||||
pSoundList = pSoundsWood;
|
pSoundList = pSoundsWood;
|
||||||
soundCount = ARRAYSIZE(pSoundsWood);
|
soundCount = ARRAYSIZE(pSoundsWood);
|
||||||
const int dad = ARRAYSIZE(pSoundsConcrete);
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case matFlesh:
|
case matFlesh:
|
||||||
@ -218,15 +217,17 @@ const char **CBreakable::MaterialSoundList(Materials precacheMaterial, int &soun
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* <86526> ../cstrike/dlls/func_break.cpp:303 */
|
/* <86526> ../cstrike/dlls/func_break.cpp:303 */
|
||||||
NOBODY void CBreakable::MaterialSoundPrecache(Materials precacheMaterial)
|
void CBreakable::MaterialSoundPrecache(Materials precacheMaterial)
|
||||||
{
|
{
|
||||||
// {
|
const char **pSoundList;
|
||||||
// const char ** pSoundList; // 305
|
int i, soundCount = 0;
|
||||||
// int i; // 306
|
|
||||||
// int soundCount; // 306
|
pSoundList = MaterialSoundList(precacheMaterial, soundCount);
|
||||||
// MaterialSoundList(Materials precacheMaterial,
|
|
||||||
// int &soundCount); // 308
|
for (i = 0; i < soundCount; i++)
|
||||||
// }
|
{
|
||||||
|
PRECACHE_SOUND((char *)pSoundList[i]);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/* <86598> ../cstrike/dlls/func_break.cpp:316 */
|
/* <86598> ../cstrike/dlls/func_break.cpp:316 */
|
||||||
@ -236,11 +237,13 @@ void CBreakable::MaterialSoundRandom(edict_t *pEdict, Materials soundMaterial, f
|
|||||||
const char **pSoundList = MaterialSoundList(soundMaterial, soundCount);
|
const char **pSoundList = MaterialSoundList(soundMaterial, soundCount);
|
||||||
|
|
||||||
if (soundCount)
|
if (soundCount)
|
||||||
|
{
|
||||||
EMIT_SOUND(pEdict, CHAN_BODY, pSoundList[ RANDOM_LONG(0, soundCount - 1) ], volume, 1.0);
|
EMIT_SOUND(pEdict, CHAN_BODY, pSoundList[ RANDOM_LONG(0, soundCount - 1) ], volume, 1.0);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/* <8634b> ../cstrike/dlls/func_break.cpp:328 */
|
/* <8634b> ../cstrike/dlls/func_break.cpp:328 */
|
||||||
NOBODY void CBreakable::Precache_(void)
|
NOBODY void CBreakable::__MAKE_VHOOK(Precache)(void)
|
||||||
{
|
{
|
||||||
// {
|
// {
|
||||||
// const char *pGibName; // 330
|
// const char *pGibName; // 330
|
||||||
@ -271,7 +274,7 @@ NOBODY void CBreakable::BreakTouch(CBaseEntity *pOther)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* <85f2d> ../cstrike/dlls/func_break.cpp:538 */
|
/* <85f2d> ../cstrike/dlls/func_break.cpp:538 */
|
||||||
NOBODY void CBreakable::Use_(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value)
|
NOBODY void CBreakable::__MAKE_VHOOK(Use)(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value)
|
||||||
{
|
{
|
||||||
// Use(CBreakable *const this,
|
// Use(CBreakable *const this,
|
||||||
// class CBaseEntity *pActivator,
|
// class CBaseEntity *pActivator,
|
||||||
@ -281,7 +284,7 @@ NOBODY void CBreakable::Use_(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* <85964> ../cstrike/dlls/func_break.cpp:554 */
|
/* <85964> ../cstrike/dlls/func_break.cpp:554 */
|
||||||
NOBODY void CBreakable::TraceAttack_(entvars_t *pevAttacker, float flDamage, Vector vecDir, TraceResult *ptr, int bitsDamageType)
|
NOBODY void CBreakable::__MAKE_VHOOK(TraceAttack)(entvars_t *pevAttacker, float flDamage, Vector vecDir, TraceResult *ptr, int bitsDamageType)
|
||||||
{
|
{
|
||||||
// {
|
// {
|
||||||
// float flVolume; // 565
|
// float flVolume; // 565
|
||||||
@ -301,7 +304,7 @@ NOBODY void CBreakable::TraceAttack_(entvars_t *pevAttacker, float flDamage, Vec
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* <86719> ../cstrike/dlls/func_break.cpp:588 */
|
/* <86719> ../cstrike/dlls/func_break.cpp:588 */
|
||||||
NOBODY int CBreakable::TakeDamage_(entvars_t *pevInflictor, entvars_t *pevAttacker, float flDamage, int bitsDamageType)
|
NOBODY int CBreakable::__MAKE_VHOOK(TakeDamage)(entvars_t *pevInflictor, entvars_t *pevAttacker, float flDamage, int bitsDamageType)
|
||||||
{
|
{
|
||||||
// {
|
// {
|
||||||
// Vector vecTemp; // 590
|
// Vector vecTemp; // 590
|
||||||
@ -367,7 +370,7 @@ NOBODY BOOL CBreakable::IsBreakable(void)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* <85a99> ../cstrike/dlls/func_break.cpp:839 */
|
/* <85a99> ../cstrike/dlls/func_break.cpp:839 */
|
||||||
NOBODY int CBreakable::DamageDecal_(int bitsDamageType)
|
NOBODY int CBreakable::__MAKE_VHOOK(DamageDecal)(int bitsDamageType)
|
||||||
{
|
{
|
||||||
// DamageDecal(CBreakable *const this,
|
// DamageDecal(CBreakable *const this,
|
||||||
// int bitsDamageType); // 839
|
// int bitsDamageType); // 839
|
||||||
@ -380,12 +383,12 @@ LINK_ENTITY_TO_CLASS(func_pushable, CPushable);
|
|||||||
IMPLEMENT_SAVERESTORE(CPushable, CBreakable);
|
IMPLEMENT_SAVERESTORE(CPushable, CBreakable);
|
||||||
|
|
||||||
/* <856d7> ../cstrike/dlls/func_break.cpp:893 */
|
/* <856d7> ../cstrike/dlls/func_break.cpp:893 */
|
||||||
NOBODY void CPushable::Spawn_(void)
|
NOBODY void CPushable::__MAKE_VHOOK(Spawn)(void)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
/* <863eb> ../cstrike/dlls/func_break.cpp:920 */
|
/* <863eb> ../cstrike/dlls/func_break.cpp:920 */
|
||||||
NOBODY void CPushable::Precache_(void)
|
NOBODY void CPushable::__MAKE_VHOOK(Precache)(void)
|
||||||
{
|
{
|
||||||
// {
|
// {
|
||||||
// int i; // 922
|
// int i; // 922
|
||||||
@ -393,7 +396,7 @@ NOBODY void CPushable::Precache_(void)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* <85fa3> ../cstrike/dlls/func_break.cpp:930 */
|
/* <85fa3> ../cstrike/dlls/func_break.cpp:930 */
|
||||||
NOBODY void CPushable::KeyValue_(KeyValueData *pkvd)
|
NOBODY void CPushable::__MAKE_VHOOK(KeyValue)(KeyValueData *pkvd)
|
||||||
{
|
{
|
||||||
// {
|
// {
|
||||||
// int bbox; // 934
|
// int bbox; // 934
|
||||||
@ -410,7 +413,7 @@ NOBODY void CPushable::KeyValue_(KeyValueData *pkvd)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* <86c0d> ../cstrike/dlls/func_break.cpp:969 */
|
/* <86c0d> ../cstrike/dlls/func_break.cpp:969 */
|
||||||
NOBODY void CPushable::Use_(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value)
|
NOBODY void CPushable::__MAKE_VHOOK(Use)(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value)
|
||||||
{
|
{
|
||||||
// Use(CPushable *const this,
|
// Use(CPushable *const this,
|
||||||
// class CBaseEntity *pActivator,
|
// class CBaseEntity *pActivator,
|
||||||
@ -422,7 +425,7 @@ NOBODY void CPushable::Use_(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_T
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* <86b99> ../cstrike/dlls/func_break.cpp:983 */
|
/* <86b99> ../cstrike/dlls/func_break.cpp:983 */
|
||||||
NOBODY void CPushable::Touch_(CBaseEntity *pOther)
|
NOBODY void CPushable::__MAKE_VHOOK(Touch)(CBaseEntity *pOther)
|
||||||
{
|
{
|
||||||
// FClassnameIs(entvars_t *pev,
|
// FClassnameIs(entvars_t *pev,
|
||||||
// const char *szClassname); // 985
|
// const char *szClassname); // 985
|
||||||
@ -449,7 +452,7 @@ NOBODY void CPushable::Move(CBaseEntity *pOther, int push)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* <868b0> ../cstrike/dlls/func_break.cpp:1061 */
|
/* <868b0> ../cstrike/dlls/func_break.cpp:1061 */
|
||||||
NOBODY int CPushable::TakeDamage_(entvars_t *pevInflictor, entvars_t *pevAttacker, float flDamage, int bitsDamageType)
|
NOBODY int CPushable::__MAKE_VHOOK(TakeDamage)(entvars_t *pevInflictor, entvars_t *pevAttacker, float flDamage, int bitsDamageType)
|
||||||
{
|
{
|
||||||
// TakeDamage(CPushable *const this,
|
// TakeDamage(CPushable *const this,
|
||||||
// entvars_t *pevInflictor,
|
// entvars_t *pevInflictor,
|
||||||
|
@ -136,7 +136,7 @@ public:
|
|||||||
pev->impulse = magnitude;
|
pev->impulse = magnitude;
|
||||||
}
|
}
|
||||||
|
|
||||||
NOBODY static void MaterialSoundPrecache(Materials precacheMaterial);
|
static void MaterialSoundPrecache(Materials precacheMaterial);
|
||||||
static void MaterialSoundRandom(edict_t *pEdict, Materials soundMaterial, float volume);
|
static void MaterialSoundRandom(edict_t *pEdict, Materials soundMaterial, float volume);
|
||||||
static const char **MaterialSoundList(Materials precacheMaterial, int &soundCount);
|
static const char **MaterialSoundList(Materials precacheMaterial, int &soundCount);
|
||||||
|
|
||||||
|
@ -55,7 +55,7 @@ TYPEDESCRIPTION (*CFuncTankControls::pm_SaveData)[1];
|
|||||||
#endif // HOOK_GAMEDLL
|
#endif // HOOK_GAMEDLL
|
||||||
|
|
||||||
/* <8ea25> ../cstrike/dlls/func_tank.cpp:177 */
|
/* <8ea25> ../cstrike/dlls/func_tank.cpp:177 */
|
||||||
NOBODY void CFuncTank::Spawn_(void)
|
NOBODY void CFuncTank::__MAKE_VHOOK(Spawn)(void)
|
||||||
{
|
{
|
||||||
// IsActive(CFuncTank *const this); // 188
|
// IsActive(CFuncTank *const this); // 188
|
||||||
// BarrelPosition(CFuncTank *const this); // 191
|
// BarrelPosition(CFuncTank *const this); // 191
|
||||||
@ -65,13 +65,13 @@ NOBODY void CFuncTank::Spawn_(void)
|
|||||||
IMPLEMENT_SAVERESTORE(CFuncTank, CBaseEntity);
|
IMPLEMENT_SAVERESTORE(CFuncTank, CBaseEntity);
|
||||||
|
|
||||||
/* <8d64d> ../cstrike/dlls/func_tank.cpp:202 */
|
/* <8d64d> ../cstrike/dlls/func_tank.cpp:202 */
|
||||||
NOBODY void CFuncTank::Precache_(void)
|
NOBODY void CFuncTank::__MAKE_VHOOK(Precache)(void)
|
||||||
{
|
{
|
||||||
// Precache(CFuncTank *const this); // 202
|
// Precache(CFuncTank *const this); // 202
|
||||||
}
|
}
|
||||||
|
|
||||||
/* <8e19e> ../cstrike/dlls/func_tank.cpp:214 */
|
/* <8e19e> ../cstrike/dlls/func_tank.cpp:214 */
|
||||||
NOBODY void CFuncTank::KeyValue_(KeyValueData *pkvd)
|
NOBODY void CFuncTank::__MAKE_VHOOK(KeyValue)(KeyValueData *pkvd)
|
||||||
{
|
{
|
||||||
// FStrEq(const char *sz1,
|
// FStrEq(const char *sz1,
|
||||||
// const char *sz2); // 226
|
// const char *sz2); // 226
|
||||||
@ -131,7 +131,7 @@ NOBODY void CFuncTank::KeyValue_(KeyValueData *pkvd)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* <8dca8> ../cstrike/dlls/func_tank.cpp:329 */
|
/* <8dca8> ../cstrike/dlls/func_tank.cpp:329 */
|
||||||
NOBODY BOOL CFuncTank::OnControls_(entvars_t *pevTest)
|
NOBODY BOOL CFuncTank::__MAKE_VHOOK(OnControls)(entvars_t *pevTest)
|
||||||
{
|
{
|
||||||
// {
|
// {
|
||||||
// Vector offset; // 334
|
// Vector offset; // 334
|
||||||
@ -165,7 +165,7 @@ NOBODY void CFuncTank::ControllerPostFrame(void)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* <8ee12> ../cstrike/dlls/func_tank.cpp:424 */
|
/* <8ee12> ../cstrike/dlls/func_tank.cpp:424 */
|
||||||
NOBODY void CFuncTank::Use_(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value)
|
NOBODY void CFuncTank::__MAKE_VHOOK(Use)(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value)
|
||||||
{
|
{
|
||||||
// IsActive(CFuncTank *const this); // 448
|
// IsActive(CFuncTank *const this); // 448
|
||||||
// IsActive(CFuncTank *const this); // 451
|
// IsActive(CFuncTank *const this); // 451
|
||||||
@ -186,7 +186,7 @@ NOBODY BOOL CFuncTank::InRange(float range)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* <8f717> ../cstrike/dlls/func_tank.cpp:477 */
|
/* <8f717> ../cstrike/dlls/func_tank.cpp:477 */
|
||||||
NOBODY void CFuncTank::Think_(void)
|
NOBODY void CFuncTank::__MAKE_VHOOK(Think)(void)
|
||||||
{
|
{
|
||||||
// fabs(double __x); // 482
|
// fabs(double __x); // 482
|
||||||
// fabs(double __x); // 482
|
// fabs(double __x); // 482
|
||||||
@ -268,7 +268,7 @@ NOBODY void CFuncTank::AdjustAnglesForBarrel(Vector &angles, float distance)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* <8d4ad> ../cstrike/dlls/func_tank.cpp:656 */
|
/* <8d4ad> ../cstrike/dlls/func_tank.cpp:656 */
|
||||||
NOBODY void CFuncTank::Fire_(const Vector &barrelEnd, const Vector &forward, entvars_t *pevAttacker)
|
NOBODY void CFuncTank::__MAKE_VHOOK(Fire)(const Vector &barrelEnd, const Vector &forward, entvars_t *pevAttacker)
|
||||||
{
|
{
|
||||||
// {
|
// {
|
||||||
// class CSprite *pSprite; // 662
|
// class CSprite *pSprite; // 662
|
||||||
@ -347,7 +347,7 @@ NOBODY void CFuncTank::StopRotSound(void)
|
|||||||
LINK_ENTITY_TO_CLASS(func_tank, CFuncTankGun);
|
LINK_ENTITY_TO_CLASS(func_tank, CFuncTankGun);
|
||||||
|
|
||||||
/* <8c3d5> ../cstrike/dlls/func_tank.cpp:726 */
|
/* <8c3d5> ../cstrike/dlls/func_tank.cpp:726 */
|
||||||
NOBODY void CFuncTankGun::Fire_(const Vector &barrelEnd, const Vector &forward, entvars_t *pevAttacker)
|
NOBODY void CFuncTankGun::__MAKE_VHOOK(Fire)(const Vector &barrelEnd, const Vector &forward, entvars_t *pevAttacker)
|
||||||
{
|
{
|
||||||
// {
|
// {
|
||||||
// int i; // 728
|
// int i; // 728
|
||||||
@ -368,14 +368,14 @@ LINK_ENTITY_TO_CLASS(func_tanklaser, CFuncTankLaser);
|
|||||||
IMPLEMENT_SAVERESTORE(CFuncTankLaser, CFuncTank);
|
IMPLEMENT_SAVERESTORE(CFuncTankLaser, CFuncTank);
|
||||||
|
|
||||||
/* <8deed> ../cstrike/dlls/func_tank.cpp:795 */
|
/* <8deed> ../cstrike/dlls/func_tank.cpp:795 */
|
||||||
NOBODY void CFuncTankLaser::Activate_(void)
|
NOBODY void CFuncTankLaser::__MAKE_VHOOK(Activate)(void)
|
||||||
{
|
{
|
||||||
// GetLaser(CFuncTankLaser *const this); // 797
|
// GetLaser(CFuncTankLaser *const this); // 797
|
||||||
// Activate(CFuncTankLaser *const this); // 795
|
// Activate(CFuncTankLaser *const this); // 795
|
||||||
}
|
}
|
||||||
|
|
||||||
/* <8e8ca> ../cstrike/dlls/func_tank.cpp:809 */
|
/* <8e8ca> ../cstrike/dlls/func_tank.cpp:809 */
|
||||||
NOBODY void CFuncTankLaser::KeyValue_(KeyValueData *pkvd)
|
NOBODY void CFuncTankLaser::__MAKE_VHOOK(KeyValue)(KeyValueData *pkvd)
|
||||||
{
|
{
|
||||||
// FStrEq(const char *sz1,
|
// FStrEq(const char *sz1,
|
||||||
// const char *sz2); // 811
|
// const char *sz2); // 811
|
||||||
@ -402,12 +402,12 @@ NOBODY CLaser *CFuncTankLaser::GetLaser(void)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* <8f809> ../cstrike/dlls/func_tank.cpp:845 */
|
/* <8f809> ../cstrike/dlls/func_tank.cpp:845 */
|
||||||
NOBODY void CFuncTankLaser::Think_(void)
|
NOBODY void CFuncTankLaser::__MAKE_VHOOK(Think)(void)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
/* <8df51> ../cstrike/dlls/func_tank.cpp:854 */
|
/* <8df51> ../cstrike/dlls/func_tank.cpp:854 */
|
||||||
NOBODY void CFuncTankLaser::Fire_(const Vector &barrelEnd, const Vector &forward, entvars_t *pevAttacker)
|
NOBODY void CFuncTankLaser::__MAKE_VHOOK(Fire)(const Vector &barrelEnd, const Vector &forward, entvars_t *pevAttacker)
|
||||||
{
|
{
|
||||||
// {
|
// {
|
||||||
// int i; // 856
|
// int i; // 856
|
||||||
@ -427,13 +427,13 @@ NOBODY void CFuncTankLaser::Fire_(const Vector &barrelEnd, const Vector &forward
|
|||||||
LINK_ENTITY_TO_CLASS(func_tankrocket, CFuncTankRocket);
|
LINK_ENTITY_TO_CLASS(func_tankrocket, CFuncTankRocket);
|
||||||
|
|
||||||
/* <8e736> ../cstrike/dlls/func_tank.cpp:895 */
|
/* <8e736> ../cstrike/dlls/func_tank.cpp:895 */
|
||||||
NOBODY void CFuncTankRocket::Precache_(void)
|
NOBODY void CFuncTankRocket::__MAKE_VHOOK(Precache)(void)
|
||||||
{
|
{
|
||||||
// Precache(CFuncTank *const this); // 898
|
// Precache(CFuncTank *const this); // 898
|
||||||
}
|
}
|
||||||
|
|
||||||
/* <8d7b6> ../cstrike/dlls/func_tank.cpp:903 */
|
/* <8d7b6> ../cstrike/dlls/func_tank.cpp:903 */
|
||||||
NOBODY void CFuncTankRocket::Fire_(const Vector &barrelEnd, const Vector &forward, entvars_t *pevAttacker)
|
NOBODY void CFuncTankRocket::__MAKE_VHOOK(Fire)(const Vector &barrelEnd, const Vector &forward, entvars_t *pevAttacker)
|
||||||
{
|
{
|
||||||
// {
|
// {
|
||||||
// int i; // 905
|
// int i; // 905
|
||||||
@ -454,7 +454,7 @@ NOBODY void CFuncTankRocket::Fire_(const Vector &barrelEnd, const Vector &forwar
|
|||||||
LINK_ENTITY_TO_CLASS(func_tankmortar, CFuncTankMortar);
|
LINK_ENTITY_TO_CLASS(func_tankmortar, CFuncTankMortar);
|
||||||
|
|
||||||
/* <8e790> ../cstrike/dlls/func_tank.cpp:933 */
|
/* <8e790> ../cstrike/dlls/func_tank.cpp:933 */
|
||||||
NOBODY void CFuncTankMortar::KeyValue_(KeyValueData *pkvd)
|
NOBODY void CFuncTankMortar::__MAKE_VHOOK(KeyValue)(KeyValueData *pkvd)
|
||||||
{
|
{
|
||||||
// FStrEq(const char *sz1,
|
// FStrEq(const char *sz1,
|
||||||
// const char *sz2); // 935
|
// const char *sz2); // 935
|
||||||
@ -465,7 +465,7 @@ NOBODY void CFuncTankMortar::KeyValue_(KeyValueData *pkvd)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* <8dbfa> ../cstrike/dlls/func_tank.cpp:945 */
|
/* <8dbfa> ../cstrike/dlls/func_tank.cpp:945 */
|
||||||
NOBODY void CFuncTankMortar::Fire_(const Vector &barrelEnd, const Vector &forward, entvars_t *pevAttacker)
|
NOBODY void CFuncTankMortar::__MAKE_VHOOK(Fire)(const Vector &barrelEnd, const Vector &forward, entvars_t *pevAttacker)
|
||||||
{
|
{
|
||||||
// {
|
// {
|
||||||
// int bulletCount; // 949
|
// int bulletCount; // 949
|
||||||
@ -486,12 +486,12 @@ LINK_ENTITY_TO_CLASS(func_tankcontrols, CFuncTankControls);
|
|||||||
IMPLEMENT_SAVERESTORE(CFuncTankControls, CBaseEntity);
|
IMPLEMENT_SAVERESTORE(CFuncTankControls, CBaseEntity);
|
||||||
|
|
||||||
/* <8d310> ../cstrike/dlls/func_tank.cpp:1003 */
|
/* <8d310> ../cstrike/dlls/func_tank.cpp:1003 */
|
||||||
NOBODY void CFuncTankControls::Use_(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value)
|
NOBODY void CFuncTankControls::__MAKE_VHOOK(Use)(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
/* <8d39a> ../cstrike/dlls/func_tank.cpp:1012 */
|
/* <8d39a> ../cstrike/dlls/func_tank.cpp:1012 */
|
||||||
NOBODY void CFuncTankControls::Think_(void)
|
NOBODY void CFuncTankControls::__MAKE_VHOOK(Think)(void)
|
||||||
{
|
{
|
||||||
// {
|
// {
|
||||||
// edict_t *pTarget; // 1014
|
// edict_t *pTarget; // 1014
|
||||||
@ -504,7 +504,7 @@ NOBODY void CFuncTankControls::Think_(void)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* <8d373> ../cstrike/dlls/func_tank.cpp:1030 */
|
/* <8d373> ../cstrike/dlls/func_tank.cpp:1030 */
|
||||||
NOBODY void CFuncTankControls::Spawn_(void)
|
NOBODY void CFuncTankControls::__MAKE_VHOOK(Spawn)(void)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -11,86 +11,85 @@ cvar_t *g_footsteps = NULL;
|
|||||||
cvar_t *g_psv_accelerate = NULL;
|
cvar_t *g_psv_accelerate = NULL;
|
||||||
cvar_t *g_psv_friction = NULL;
|
cvar_t *g_psv_friction = NULL;
|
||||||
cvar_t *g_psv_stopspeed = NULL;
|
cvar_t *g_psv_stopspeed = NULL;
|
||||||
|
cvar_t displaysoundlist = { "displaysoundlist", "0", 0, 0.0f, NULL };
|
||||||
cvar_t displaysoundlist = { "displaysoundlist", "0" };
|
cvar_t timelimit = { "mp_timelimit", "0", FCVAR_SERVER, 0.0f, NULL };
|
||||||
cvar_t timelimit = { "mp_timelimit", "0", FCVAR_SERVER };
|
cvar_t flashlight = { "mp_flashlight", "0", FCVAR_SERVER, 0.0f, NULL };
|
||||||
cvar_t flashlight = { "mp_flashlight", "0", FCVAR_SERVER };
|
cvar_t decalfrequency = { "decalfrequency", "30", FCVAR_SERVER, 0.0f, NULL };
|
||||||
cvar_t decalfrequency = { "decalfrequency", "30", FCVAR_SERVER };
|
cvar_t fadetoblack = { "mp_fadetoblack", "0", FCVAR_SERVER, 0.0f, NULL };
|
||||||
cvar_t fadetoblack = { "mp_fadetoblack", "0", FCVAR_SERVER };
|
cvar_t fragsleft = { "mp_fragsleft", "", FCVAR_SERVER | FCVAR_UNLOGGED, 0.0f, NULL };
|
||||||
cvar_t fragsleft = { "mp_fragsleft", "", FCVAR_SERVER|FCVAR_UNLOGGED };
|
cvar_t timeleft = { "mp_timeleft", "0", FCVAR_SERVER | FCVAR_UNLOGGED, 0.0f, NULL };
|
||||||
cvar_t timeleft = { "mp_timeleft", "0", FCVAR_SERVER|FCVAR_UNLOGGED };
|
cvar_t friendlyfire = { "mp_friendlyfire", "0", FCVAR_SERVER, 0.0f, NULL };
|
||||||
cvar_t friendlyfire = { "mp_friendlyfire", "0", FCVAR_SERVER };
|
cvar_t allowmonsters = { "mp_allowmonsters", "0", FCVAR_SERVER, 0.0f, NULL };
|
||||||
cvar_t allowmonsters = { "mp_allowmonsters", "0", FCVAR_SERVER };
|
cvar_t roundtime = { "mp_roundtime", "5", FCVAR_SERVER, 0.0f, NULL };
|
||||||
cvar_t roundtime = { "mp_roundtime", "5", FCVAR_SERVER };
|
cvar_t buytime = { "mp_buytime", "1.5", FCVAR_SERVER, 0.0f, NULL };
|
||||||
cvar_t buytime = { "mp_buytime", "1.5", FCVAR_SERVER };
|
cvar_t freezetime = { "mp_freezetime", "6", FCVAR_SERVER, 0.0f, NULL };
|
||||||
cvar_t freezetime = { "mp_freezetime", "6", FCVAR_SERVER };
|
cvar_t c4timer = { "mp_c4timer", "45", FCVAR_SERVER, 0.0f, NULL };
|
||||||
cvar_t c4timer = { "mp_c4timer", "45", FCVAR_SERVER };
|
cvar_t ghostfrequency = { "mp_ghostfrequency", "0.1", FCVAR_SERVER, 0.0f, NULL };
|
||||||
cvar_t ghostfrequency = { "mp_ghostfrequency", "0.1", FCVAR_SERVER };
|
cvar_t autokick = { "mp_autokick", "1", FCVAR_SERVER, 0.0f, NULL };
|
||||||
cvar_t autokick = { "mp_autokick", "1", FCVAR_SERVER };
|
cvar_t autokick_timeout = { "mp_autokick_timeout", "-1", FCVAR_SERVER, 0.0f, NULL };
|
||||||
cvar_t autokick_timeout = { "mp_autokick_timeout", "-1", FCVAR_SERVER };
|
cvar_t restartround = { "sv_restartround", "0", FCVAR_SERVER, 0.0f, NULL };
|
||||||
cvar_t restartround = { "sv_restartround", "0", FCVAR_SERVER };
|
cvar_t sv_restart = { "sv_restart", "0", FCVAR_SERVER, 0.0f, NULL };
|
||||||
cvar_t sv_restart = { "sv_restart", "0", FCVAR_SERVER };
|
cvar_t limitteams = { "mp_limitteams", "2", FCVAR_SERVER, 0.0f, NULL };
|
||||||
cvar_t limitteams = { "mp_limitteams", "2", FCVAR_SERVER };
|
cvar_t autoteambalance = { "mp_autoteambalance", "1", FCVAR_SERVER, 0.0f, NULL };
|
||||||
cvar_t autoteambalance = { "mp_autoteambalance", "1", FCVAR_SERVER };
|
cvar_t tkpunish = { "mp_tkpunish", "0", FCVAR_SERVER, 0.0f, NULL };
|
||||||
cvar_t tkpunish = { "mp_tkpunish", "0", FCVAR_SERVER };
|
cvar_t hostagepenalty = { "mp_hostagepenalty", "13", FCVAR_SERVER, 0.0f, NULL };
|
||||||
cvar_t hostagepenalty = { "mp_hostagepenalty", "13", FCVAR_SERVER };
|
cvar_t mirrordamage = { "mp_mirrordamage", "0", FCVAR_SERVER, 0.0f, NULL };
|
||||||
cvar_t mirrordamage = { "mp_mirrordamage", "0", FCVAR_SERVER };
|
cvar_t logmessages = { "mp_logmessages", "1", FCVAR_SERVER, 0.0f, NULL };
|
||||||
cvar_t logmessages = { "mp_logmessages", "1", FCVAR_SERVER };
|
cvar_t forcecamera = { "mp_forcecamera", "0", FCVAR_SERVER, 0.0f, NULL };
|
||||||
cvar_t forcecamera = { "mp_forcecamera", "0", FCVAR_SERVER };
|
cvar_t forcechasecam = { "mp_forcechasecam", "0", FCVAR_SERVER, 0.0f, NULL };
|
||||||
cvar_t forcechasecam = { "mp_forcechasecam", "0", FCVAR_SERVER };
|
cvar_t mapvoteratio = { "mp_mapvoteratio", "0.66", FCVAR_SERVER, 0.0f, NULL };
|
||||||
cvar_t mapvoteratio = { "mp_mapvoteratio", "0.66", FCVAR_SERVER };
|
cvar_t logdetail = { "mp_logdetail", "0", FCVAR_SERVER, 0.0f, NULL };
|
||||||
cvar_t logdetail = { "mp_logdetail", "0", FCVAR_SERVER };
|
cvar_t startmoney = { "mp_startmoney", "800", FCVAR_SERVER, 0.0f, NULL };
|
||||||
cvar_t startmoney = { "mp_startmoney", "800", FCVAR_SERVER };
|
cvar_t maxrounds = { "mp_maxrounds", "0", FCVAR_SERVER, 0.0f, NULL };
|
||||||
cvar_t maxrounds = { "mp_maxrounds", "0", FCVAR_SERVER };
|
cvar_t winlimit = { "mp_winlimit", "0", FCVAR_SERVER, 0.0f, NULL };
|
||||||
cvar_t winlimit = { "mp_winlimit", "0", FCVAR_SERVER };
|
cvar_t windifference = { "mp_windifference", "1", FCVAR_SERVER, 0.0f, NULL };
|
||||||
cvar_t windifference = { "mp_windifference", "1", FCVAR_SERVER };
|
cvar_t playerid = { "mp_playerid", "0", FCVAR_SERVER, 0.0f, NULL };
|
||||||
cvar_t playerid = { "mp_playerid", "0", FCVAR_SERVER };
|
cvar_t allow_spectators = { "allow_spectators", "1.0", FCVAR_SERVER, 0.0f, NULL };
|
||||||
cvar_t allow_spectators = { "allow_spectators", "1.0", FCVAR_SERVER };
|
cvar_t mp_chattime = { "mp_chattime", "10", FCVAR_SERVER, 0.0f, NULL };
|
||||||
cvar_t mp_chattime = { "mp_chattime", "10", FCVAR_SERVER };
|
cvar_t kick_percent = { "mp_kickpercent", "0.66", FCVAR_SERVER, 0.0f, NULL };
|
||||||
cvar_t kick_percent = { "mp_kickpercent", "0.66", FCVAR_SERVER };
|
cvar_t humans_join_team = { "humans_join_team", "0", FCVAR_SERVER, 0.0f, NULL };
|
||||||
cvar_t humans_join_team = { "humans_join_team", "0", FCVAR_SERVER };
|
cvar_t sk_plr_9mm_bullet1 = { "sk_plr_9mm_bullet1", "0", 0, 0.0f, NULL };
|
||||||
cvar_t sk_plr_9mm_bullet1 = { "sk_plr_9mm_bullet1", "0" };
|
cvar_t sk_plr_9mm_bullet2 = { "sk_plr_9mm_bullet2", "0", 0, 0.0f, NULL };
|
||||||
cvar_t sk_plr_9mm_bullet2 = { "sk_plr_9mm_bullet2", "0" };
|
cvar_t sk_plr_9mm_bullet3 = { "sk_plr_9mm_bullet3", "0", 0, 0.0f, NULL };
|
||||||
cvar_t sk_plr_9mm_bullet3 = { "sk_plr_9mm_bullet3", "0" };
|
cvar_t sk_plr_357_bullet1 = { "sk_plr_357_bullet1", "0", 0, 0.0f, NULL };
|
||||||
cvar_t sk_plr_357_bullet1 = { "sk_plr_357_bullet1", "0" };
|
cvar_t sk_plr_357_bullet2 = { "sk_plr_357_bullet2", "0", 0, 0.0f, NULL };
|
||||||
cvar_t sk_plr_357_bullet2 = { "sk_plr_357_bullet2", "0" };
|
cvar_t sk_plr_357_bullet3 = { "sk_plr_357_bullet3", "0", 0, 0.0f, NULL };
|
||||||
cvar_t sk_plr_357_bullet3 = { "sk_plr_357_bullet3", "0" };
|
cvar_t sk_plr_9mmAR_bullet1 = { "sk_plr_9mmAR_bullet1", "0", 0, 0.0f, NULL };
|
||||||
cvar_t sk_plr_9mmAR_bullet1 = { "sk_plr_9mmAR_bullet1", "0" };
|
cvar_t sk_plr_9mmAR_bullet2 = { "sk_plr_9mmAR_bullet2", "0", 0, 0.0f, NULL };
|
||||||
cvar_t sk_plr_9mmAR_bullet2 = { "sk_plr_9mmAR_bullet2", "0" };
|
cvar_t sk_plr_9mmAR_bullet3 = { "sk_plr_9mmAR_bullet3", "0", 0, 0.0f, NULL };
|
||||||
cvar_t sk_plr_9mmAR_bullet3 = { "sk_plr_9mmAR_bullet3", "0" };
|
cvar_t sk_plr_9mmAR_grenade1 = { "sk_plr_9mmAR_grenade1", "0", 0, 0.0f, NULL };
|
||||||
cvar_t sk_plr_9mmAR_grenade1 = { "sk_plr_9mmAR_grenade1", "0" };
|
cvar_t sk_plr_9mmAR_grenade2 = { "sk_plr_9mmAR_grenade2", "0", 0, 0.0f, NULL };
|
||||||
cvar_t sk_plr_9mmAR_grenade2 = { "sk_plr_9mmAR_grenade2", "0" };
|
cvar_t sk_plr_9mmAR_grenade3 = { "sk_plr_9mmAR_grenade3", "0", 0, 0.0f, NULL };
|
||||||
cvar_t sk_plr_9mmAR_grenade3 = { "sk_plr_9mmAR_grenade3", "0" };
|
cvar_t sk_plr_buckshot1 = { "sk_plr_buckshot1", "0", 0, 0.0f, NULL };
|
||||||
cvar_t sk_plr_buckshot1 = { "sk_plr_buckshot1", "0" };
|
cvar_t sk_plr_buckshot2 = { "sk_plr_buckshot2", "0", 0, 0.0f, NULL };
|
||||||
cvar_t sk_plr_buckshot2 = { "sk_plr_buckshot2", "0" };
|
cvar_t sk_plr_buckshot3 = { "sk_plr_buckshot3", "0", 0, 0.0f, NULL };
|
||||||
cvar_t sk_plr_buckshot3 = { "sk_plr_buckshot3", "0" };
|
cvar_t sk_plr_rpg1 = { "sk_plr_rpg1", "0", 0, 0.0f, NULL };
|
||||||
cvar_t sk_plr_rpg1 = { "sk_plr_rpg1", "0" };
|
cvar_t sk_plr_rpg2 = { "sk_plr_rpg2", "0", 0, 0.0f, NULL };
|
||||||
cvar_t sk_plr_rpg2 = { "sk_plr_rpg2", "0" };
|
cvar_t sk_plr_rpg3 = { "sk_plr_rpg3", "0", 0, 0.0f, NULL };
|
||||||
cvar_t sk_plr_rpg3 = { "sk_plr_rpg3", "0" };
|
cvar_t sk_12mm_bullet1 = { "sk_12mm_bullet1", "0", 0, 0.0f, NULL };
|
||||||
cvar_t sk_12mm_bullet1 = { "sk_12mm_bullet1", "0" };
|
cvar_t sk_12mm_bullet2 = { "sk_12mm_bullet2", "0", 0, 0.0f, NULL };
|
||||||
cvar_t sk_12mm_bullet2 = { "sk_12mm_bullet2", "0" };
|
cvar_t sk_12mm_bullet3 = { "sk_12mm_bullet3", "0", 0, 0.0f, NULL };
|
||||||
cvar_t sk_12mm_bullet3 = { "sk_12mm_bullet3", "0" };
|
cvar_t sk_9mmAR_bullet1 = { "sk_9mmAR_bullet1", "0", 0, 0.0f, NULL };
|
||||||
cvar_t sk_9mmAR_bullet1 = { "sk_9mmAR_bullet1", "0" };
|
cvar_t sk_9mmAR_bullet2 = { "sk_9mmAR_bullet2", "0", 0, 0.0f, NULL };
|
||||||
cvar_t sk_9mmAR_bullet2 = { "sk_9mmAR_bullet2", "0" };
|
cvar_t sk_9mmAR_bullet3 = { "sk_9mmAR_bullet3", "0", 0, 0.0f, NULL };
|
||||||
cvar_t sk_9mmAR_bullet3 = { "sk_9mmAR_bullet3", "0" };
|
cvar_t sk_9mm_bullet1 = { "sk_9mm_bullet1", "0", 0, 0.0f, NULL };
|
||||||
cvar_t sk_9mm_bullet1 = { "sk_9mm_bullet1", "0" };
|
cvar_t sk_9mm_bullet2 = { "sk_9mm_bullet2", "0", 0, 0.0f, NULL };
|
||||||
cvar_t sk_9mm_bullet2 = { "sk_9mm_bullet2", "0" };
|
cvar_t sk_9mm_bullet3 = { "sk_9mm_bullet3", "0", 0, 0.0f, NULL };
|
||||||
cvar_t sk_9mm_bullet3 = { "sk_9mm_bullet3", "0" };
|
cvar_t sk_suitcharger1 = { "sk_suitcharger1", "0", 0, 0.0f, NULL };
|
||||||
cvar_t sk_suitcharger1 = { "sk_suitcharger1", "0" };
|
cvar_t sk_suitcharger2 = { "sk_suitcharger2", "0", 0, 0.0f, NULL };
|
||||||
cvar_t sk_suitcharger2 = { "sk_suitcharger2", "0" };
|
cvar_t sk_suitcharger3 = { "sk_suitcharger3", "0", 0, 0.0f, NULL };
|
||||||
cvar_t sk_suitcharger3 = { "sk_suitcharger3", "0" };
|
cvar_t sk_battery1 = { "sk_battery1", "0", 0, 0.0f, NULL };
|
||||||
cvar_t sk_battery1 = { "sk_battery1", "0" };
|
cvar_t sk_battery2 = { "sk_battery2", "0", 0, 0.0f, NULL };
|
||||||
cvar_t sk_battery2 = { "sk_battery2", "0" };
|
cvar_t sk_battery3 = { "sk_battery3", "0", 0, 0.0f, NULL };
|
||||||
cvar_t sk_battery3 = { "sk_battery3", "0" };
|
cvar_t sk_healthcharger1 = { "sk_healthcharger1", "0", 0, 0.0f, NULL };
|
||||||
cvar_t sk_healthcharger1 = { "sk_healthcharger1", "0" };
|
cvar_t sk_healthcharger2 = { "sk_healthcharger2", "0", 0, 0.0f, NULL };
|
||||||
cvar_t sk_healthcharger2 = { "sk_healthcharger2", "0" };
|
cvar_t sk_healthcharger3 = { "sk_healthcharger3", "0", 0, 0.0f, NULL };
|
||||||
cvar_t sk_healthcharger3 = { "sk_healthcharger3", "0" };
|
cvar_t sk_healthkit1 = { "sk_healthkit1", "0", 0, 0.0f, NULL };
|
||||||
cvar_t sk_healthkit1 = { "sk_healthkit1", "0" };
|
cvar_t sk_healthkit2 = { "sk_healthkit2", "0", 0, 0.0f, NULL };
|
||||||
cvar_t sk_healthkit2 = { "sk_healthkit2", "0" };
|
cvar_t sk_healthkit3 = { "sk_healthkit3", "0", 0, 0.0f, NULL };
|
||||||
cvar_t sk_healthkit3 = { "sk_healthkit3", "0" };
|
cvar_t sk_scientist_heal1 = { "sk_scientist_heal1", "0", 0, 0.0f, NULL };
|
||||||
cvar_t sk_scientist_heal1 = { "sk_scientist_heal1", "0" };
|
cvar_t sk_scientist_heal2 = { "sk_scientist_heal2", "0", 0, 0.0f, NULL };
|
||||||
cvar_t sk_scientist_heal2 = { "sk_scientist_heal2", "0" };
|
cvar_t sk_scientist_heal3 = { "sk_scientist_heal3", "0", 0, 0.0f, NULL };
|
||||||
cvar_t sk_scientist_heal3 = { "sk_scientist_heal3", "0" };
|
|
||||||
|
|
||||||
#else // HOOK_GAMEDLL
|
#else // HOOK_GAMEDLL
|
||||||
|
|
||||||
|
@ -221,6 +221,6 @@ extern cvar_t sk_scientist_heal1;
|
|||||||
extern cvar_t sk_scientist_heal2;
|
extern cvar_t sk_scientist_heal2;
|
||||||
extern cvar_t sk_scientist_heal3;
|
extern cvar_t sk_scientist_heal3;
|
||||||
|
|
||||||
NOBODY void GameDLLInit(void);
|
void GameDLLInit(void);
|
||||||
|
|
||||||
#endif // GAME_H
|
#endif // GAME_H
|
||||||
|
@ -14,53 +14,87 @@ CHalfLifeMultiplay *g_pGameRules;
|
|||||||
#endif //HOOK_GAMEDLL
|
#endif //HOOK_GAMEDLL
|
||||||
|
|
||||||
/* <ad93d> ../cstrike/dlls/gamerules.cpp:36 */
|
/* <ad93d> ../cstrike/dlls/gamerules.cpp:36 */
|
||||||
BOOL CGameRules::CanHaveAmmo_(CBasePlayer *pPlayer, const char *pszAmmoName, int iMaxCarry)
|
BOOL CGameRules::__MAKE_VHOOK(CanHaveAmmo)(CBasePlayer *pPlayer, const char *pszAmmoName, int iMaxCarry)
|
||||||
{
|
{
|
||||||
if (pszAmmoName)
|
int iAmmoIndex;
|
||||||
|
|
||||||
|
if (pszAmmoName != NULL)
|
||||||
{
|
{
|
||||||
int iAmmoIndex = pPlayer->GetAmmoIndex(pszAmmoName);
|
iAmmoIndex = pPlayer->GetAmmoIndex(pszAmmoName);
|
||||||
|
|
||||||
if (iAmmoIndex > -1)
|
if (iAmmoIndex > -1)
|
||||||
{
|
{
|
||||||
if (pPlayer->AmmoInventory(iAmmoIndex) < iMaxCarry)
|
if (pPlayer->AmmoInventory(iAmmoIndex) < iMaxCarry)
|
||||||
|
{
|
||||||
|
// player has room for more of this type of ammo
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* <ad89d> ../cstrike/dlls/gamerules.cpp:59 */
|
/* <ad89d> ../cstrike/dlls/gamerules.cpp:59 */
|
||||||
NOBODY edict_t *CGameRules::GetPlayerSpawnSpot_(CBasePlayer *pPlayer)
|
edict_t *CGameRules::__MAKE_VHOOK(GetPlayerSpawnSpot)(CBasePlayer *pPlayer)
|
||||||
{
|
{
|
||||||
// {
|
edict_t *pentSpawnSpot = EntSelectSpawnPoint(pPlayer);
|
||||||
// edict_t *pentSpawnSpot; // 61
|
|
||||||
// VARS(edict_t *pent); // 66
|
pPlayer->pev->origin = VARS(pentSpawnSpot)->origin;// + Vector(0, 0, 1);
|
||||||
// VARS(edict_t *pent); // 63
|
pPlayer->pev->origin.z += 1;
|
||||||
// operator+(const Vector *const this,
|
|
||||||
// const Vector &v); // 63
|
pPlayer->pev->v_angle = g_vecZero;
|
||||||
// }
|
pPlayer->pev->velocity = g_vecZero;
|
||||||
|
pPlayer->pev->angles = VARS(pentSpawnSpot)->angles;
|
||||||
|
pPlayer->pev->punchangle = g_vecZero;
|
||||||
|
pPlayer->pev->fixangle = 1;
|
||||||
|
|
||||||
|
return pentSpawnSpot;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* <ad9a3> ../cstrike/dlls/gamerules.cpp:75 */
|
/* <ad9a3> ../cstrike/dlls/gamerules.cpp:75 */
|
||||||
NOBODY BOOL CGameRules::CanHavePlayerItem_(CBasePlayer *pPlayer, CBasePlayerItem *pWeapon)
|
BOOL CGameRules::__MAKE_VHOOK(CanHavePlayerItem)(CBasePlayer *pPlayer, CBasePlayerItem *pWeapon)
|
||||||
|
{
|
||||||
|
// only living players can have items
|
||||||
|
if (pPlayer->pev->deadflag != DEAD_NO)
|
||||||
{
|
{
|
||||||
/*if (pPlayer->pev->deadflag != DEAD_NO)
|
|
||||||
return FALSE;
|
return FALSE;
|
||||||
|
}
|
||||||
|
|
||||||
CCSBotManager *ctrl = TheCSBots();
|
CCSBotManager *ctrl = TheCSBots();
|
||||||
if (!pPlayer->AddPlayerItem(pWeapon) || ctrl->IsWeaponUseable(pWeapon))
|
|
||||||
|
if (pPlayer->IsBot() && !ctrl->IsWeaponUseable(pWeapon))
|
||||||
{
|
{
|
||||||
// TODO: check it
|
|
||||||
if (pWeapon->pszAmmo1() && CanHaveAmmo(pPlayer,pWeapon->pszAmmo1(),pWeapon->iMaxAmmo1()) || !pPlayer->HasPlayerItem(pWeapon))
|
|
||||||
{
|
|
||||||
return TRUE;
|
|
||||||
}
|
|
||||||
}*/
|
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (pWeapon->pszAmmo1())
|
||||||
|
{
|
||||||
|
if (!CanHaveAmmo(pPlayer, pWeapon->pszAmmo1(), pWeapon->iMaxAmmo1()))
|
||||||
|
{
|
||||||
|
// we can't carry anymore ammo for this gun. We can only
|
||||||
|
// have the gun if we aren't already carrying one of this type
|
||||||
|
if (pPlayer->HasPlayerItem(pWeapon))
|
||||||
|
{
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
// weapon doesn't use ammo, don't take another if you already have it.
|
||||||
|
if (pPlayer->HasPlayerItem(pWeapon))
|
||||||
|
{
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// note: will fall through to here if GetItemInfo doesn't fill the struct!
|
||||||
|
return TRUE;
|
||||||
|
}
|
||||||
|
|
||||||
/* <ad85d> ../cstrike/dlls/gamerules.cpp:119 */
|
/* <ad85d> ../cstrike/dlls/gamerules.cpp:119 */
|
||||||
void CGameRules::RefreshSkillData_(void)
|
void CGameRules::__MAKE_VHOOK(RefreshSkillData)(void)
|
||||||
{
|
{
|
||||||
int iSkill = (int)CVAR_GET_FLOAT("skill");
|
int iSkill = (int)CVAR_GET_FLOAT("skill");
|
||||||
|
|
||||||
@ -82,23 +116,33 @@ void CGameRules::RefreshSkillData_(void)
|
|||||||
gSkillData.healthkitCapacity = 15;
|
gSkillData.healthkitCapacity = 15;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void (*pInstallGameRules)(void);
|
||||||
|
|
||||||
/* <ada23> ../cstrike/dlls/gamerules.cpp:157 */
|
/* <ada23> ../cstrike/dlls/gamerules.cpp:157 */
|
||||||
NOBODY CGameRules *InstallGameRules(void)
|
NOBODY __declspec(naked) CGameRules *InstallGameRules(void)
|
||||||
{
|
{
|
||||||
|
__asm
|
||||||
|
{
|
||||||
|
jmp pInstallGameRules
|
||||||
|
}
|
||||||
|
#if 0
|
||||||
SERVER_COMMAND("exec game.cfg\n");
|
SERVER_COMMAND("exec game.cfg\n");
|
||||||
SERVER_EXECUTE();
|
SERVER_EXECUTE();
|
||||||
|
|
||||||
if (!gpGlobals->deathmatch)
|
if (!gpGlobals->deathmatch)
|
||||||
|
{
|
||||||
return new CHalfLifeTraining;
|
return new CHalfLifeTraining;
|
||||||
|
}
|
||||||
|
|
||||||
return new CHalfLifeMultiplay;
|
return new CHalfLifeMultiplay;
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef HOOK_GAMEDLL
|
#ifdef HOOK_GAMEDLL
|
||||||
|
|
||||||
BOOL CGameRules::CanHaveAmmo(CBasePlayer *pPlayer, const char *pszAmmoName, int iMaxCarry)
|
void CGameRules::RefreshSkillData(void)
|
||||||
{
|
{
|
||||||
return CanHaveAmmo_(pPlayer,pszAmmoName,iMaxCarry);
|
RefreshSkillData_();
|
||||||
}
|
}
|
||||||
|
|
||||||
edict_t *CGameRules::GetPlayerSpawnSpot(CBasePlayer *pPlayer)
|
edict_t *CGameRules::GetPlayerSpawnSpot(CBasePlayer *pPlayer)
|
||||||
@ -111,9 +155,9 @@ BOOL CGameRules::CanHavePlayerItem(CBasePlayer *pPlayer, CBasePlayerItem *pWeapo
|
|||||||
return CanHavePlayerItem_(pPlayer, pWeapon);
|
return CanHavePlayerItem_(pPlayer, pWeapon);
|
||||||
}
|
}
|
||||||
|
|
||||||
void CGameRules::RefreshSkillData(void)
|
BOOL CGameRules::CanHaveAmmo(CBasePlayer *pPlayer, const char *pszAmmoName, int iMaxCarry)
|
||||||
{
|
{
|
||||||
RefreshSkillData_();
|
return CanHaveAmmo_(pPlayer, pszAmmoName, iMaxCarry);
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif // HOOK_GAMEDLL
|
#endif // HOOK_GAMEDLL
|
||||||
|
@ -38,9 +38,108 @@
|
|||||||
|
|
||||||
#define MAX_RULE_BUFFER 1024
|
#define MAX_RULE_BUFFER 1024
|
||||||
#define MAX_VOTE_MAPS 100
|
#define MAX_VOTE_MAPS 100
|
||||||
#define ITEM_RESPAWN_TIME 30
|
|
||||||
#define MAX_VIP_QUEUES 5
|
#define MAX_VIP_QUEUES 5
|
||||||
|
|
||||||
|
#define MAX_BOMB_RADIUS 2048
|
||||||
|
|
||||||
|
#define MAP_VIP_SAFETYZONE_INIT 0 // initial
|
||||||
|
#define MAP_HAVE_VIP_SAFETYZONE_YES 1 // on map have of vip safety zone
|
||||||
|
#define MAP_HAVE_VIP_SAFETYZONE_NO 2 // there is no safety zone
|
||||||
|
|
||||||
|
#define MAP_HAS_CAMERAS_INIT 2 // initial
|
||||||
|
#define MAP_HAS_CAMERAS_YES 1 // on map have of camera's
|
||||||
|
|
||||||
|
#define ITEM_RESPAWN_TIME 30
|
||||||
|
#define WEAPON_RESPAWN_TIME 20
|
||||||
|
#define AMMO_RESPAWN_TIME 20
|
||||||
|
|
||||||
|
// longest the intermission can last, in seconds
|
||||||
|
#define MAX_INTERMISSION_TIME 120
|
||||||
|
|
||||||
|
// when we are within this close to running out of entities, items
|
||||||
|
// marked with the ITEM_FLAG_LIMITINWORLD will delay their respawn
|
||||||
|
#define ENTITY_INTOLERANCE 100
|
||||||
|
|
||||||
|
#define MAX_MOTD_CHUNK 60
|
||||||
|
#define MAX_MOTD_LENGTH 1536 // (MAX_MOTD_CHUNK * 4)
|
||||||
|
|
||||||
|
// custom enum
|
||||||
|
enum
|
||||||
|
{
|
||||||
|
WINSTATUS_CTS = 1,
|
||||||
|
WINSTATUS_TERRORISTS,
|
||||||
|
WINSTATUS_DRAW,
|
||||||
|
};
|
||||||
|
|
||||||
|
// custom enum
|
||||||
|
enum ScenarionEventEndRound
|
||||||
|
{
|
||||||
|
ROUND_TARGET_BOMB = 1,
|
||||||
|
ROUND_VIP_ESCAPED,
|
||||||
|
ROUND_VIP_ASSASSINATED,
|
||||||
|
ROUND_TERRORISTS_ESCAPED,
|
||||||
|
ROUND_CTS_PREVENT_ESCAPE,
|
||||||
|
ROUND_ESCAPING_TERRORISTS_NEUTRALIZED,
|
||||||
|
ROUND_BOMB_DEFUSED,
|
||||||
|
ROUND_CTS_WIN,
|
||||||
|
ROUND_TERRORISTS_WIN,
|
||||||
|
ROUND_END_DRAW,
|
||||||
|
ROUND_ALL_HOSTAGES_RESCUED,
|
||||||
|
ROUND_TARGET_SAVED,
|
||||||
|
ROUND_HOSTAGE_NOT_RESCUED,
|
||||||
|
ROUND_TERRORISTS_NOT_ESCAPED,
|
||||||
|
ROUND_VIP_NOT_ESCAPED,
|
||||||
|
ROUND_GAME_COMMENCE,
|
||||||
|
};
|
||||||
|
|
||||||
|
// custom enum
|
||||||
|
enum RewardAccount
|
||||||
|
{
|
||||||
|
REWARD_TARGET_BOMB = 3500,
|
||||||
|
REWARD_VIP_ESCAPED = 3500,
|
||||||
|
REWARD_VIP_ASSASSINATED = 3250,
|
||||||
|
REWARD_TERRORISTS_ESCAPED = 3150,
|
||||||
|
REWARD_CTS_PREVENT_ESCAPE = 3500,
|
||||||
|
REWARD_ESCAPING_TERRORISTS_NEUTRALIZED = 3250,
|
||||||
|
REWARD_BOMB_DEFUSED = 3250,
|
||||||
|
REWARD_BOMB_PLANTED = 800,
|
||||||
|
REWARD_BOMB_EXPLODED = 3250,
|
||||||
|
REWARD_CTS_WIN = 3000,
|
||||||
|
REWARD_TERRORISTS_WIN = 3000,
|
||||||
|
REWARD_ALL_HOSTAGES_RESCUED = 2500,
|
||||||
|
|
||||||
|
// the end round was by the expiration time
|
||||||
|
REWARD_TARGET_BOMB_SAVED = 3250,
|
||||||
|
REWARD_HOSTAGE_NOT_RESCUED = 3250,
|
||||||
|
REWARD_VIP_NOT_ESCAPED = 3250,
|
||||||
|
|
||||||
|
// loser bonus
|
||||||
|
REWARD_LOSER_BONUS_DEFAULT = 1400,
|
||||||
|
REWARD_LOSER_BONUS_MIN = 1500,
|
||||||
|
REWARD_LOSER_BONUS_MAX = 3000,
|
||||||
|
REWARD_LOSER_BONUS_ADD = 500,
|
||||||
|
|
||||||
|
REWARD_RESCUED_HOSTAGE = 750,
|
||||||
|
REWARD_KILLED_ENEMY = 300,
|
||||||
|
REWARD_KILLED_VIP = 2500,
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
// custom enum
|
||||||
|
enum PaybackForBadThing
|
||||||
|
{
|
||||||
|
PAYBACK_FOR_KILLED_TEAMMATES = -3300,
|
||||||
|
};
|
||||||
|
|
||||||
|
// custom enum
|
||||||
|
enum InfoMapBuyParam
|
||||||
|
{
|
||||||
|
BUYING_EVERYONE = 0,
|
||||||
|
BUYING_ONLY_CTS,
|
||||||
|
BUYING_ONLY_TERRORISTS,
|
||||||
|
BUYING_NO_ONE,
|
||||||
|
};
|
||||||
|
|
||||||
enum
|
enum
|
||||||
{
|
{
|
||||||
GR_NONE = 0,
|
GR_NONE = 0,
|
||||||
@ -83,12 +182,12 @@ public:
|
|||||||
virtual BOOL IsDeathmatch(void) = 0;
|
virtual BOOL IsDeathmatch(void) = 0;
|
||||||
virtual BOOL IsTeamplay(void)
|
virtual BOOL IsTeamplay(void)
|
||||||
{
|
{
|
||||||
return FALSE;
|
return IsTeamplay_();
|
||||||
}
|
}
|
||||||
virtual BOOL IsCoOp(void) = 0;
|
virtual BOOL IsCoOp(void) = 0;
|
||||||
virtual const char *GetGameDescription(void)
|
virtual const char *GetGameDescription(void)
|
||||||
{
|
{
|
||||||
return "Counter-Strike";
|
return GetGameDescription_();
|
||||||
}
|
}
|
||||||
virtual BOOL ClientConnected(edict_t *pEntity, const char *pszName, const char *pszAddress, char *szRejectReason) = 0;
|
virtual BOOL ClientConnected(edict_t *pEntity, const char *pszName, const char *pszAddress, char *szRejectReason) = 0;
|
||||||
virtual void InitHUD(CBasePlayer *pl) = 0;
|
virtual void InitHUD(CBasePlayer *pl) = 0;
|
||||||
@ -97,34 +196,34 @@ public:
|
|||||||
virtual float FlPlayerFallDamage(CBasePlayer *pPlayer) = 0;
|
virtual float FlPlayerFallDamage(CBasePlayer *pPlayer) = 0;
|
||||||
virtual BOOL FPlayerCanTakeDamage(CBasePlayer *pPlayer, CBaseEntity *pAttacker)
|
virtual BOOL FPlayerCanTakeDamage(CBasePlayer *pPlayer, CBaseEntity *pAttacker)
|
||||||
{
|
{
|
||||||
return TRUE;
|
return FPlayerCanTakeDamage_(pPlayer, pAttacker);
|
||||||
}
|
}
|
||||||
virtual BOOL ShouldAutoAim(CBasePlayer *pPlayer, edict_t *target)
|
virtual BOOL ShouldAutoAim(CBasePlayer *pPlayer, edict_t *target)
|
||||||
{
|
{
|
||||||
return TRUE;
|
return ShouldAutoAim_(pPlayer, target);
|
||||||
}
|
}
|
||||||
virtual void PlayerSpawn(CBasePlayer *pPlayer) = 0;
|
virtual void PlayerSpawn(CBasePlayer *pPlayer) = 0;
|
||||||
virtual void PlayerThink(CBasePlayer *pPlayer) = 0;
|
virtual void PlayerThink(CBasePlayer *pPlayer) = 0;
|
||||||
virtual BOOL FPlayerCanRespawn(CBasePlayer *pPlayer) = 0;
|
virtual BOOL FPlayerCanRespawn(CBasePlayer *pPlayer) = 0;
|
||||||
virtual float FlPlayerSpawnTime(CBasePlayer *pPlayer) = 0;
|
virtual float FlPlayerSpawnTime(CBasePlayer *pPlayer) = 0;
|
||||||
NOBODY virtual edict_t *GetPlayerSpawnSpot(CBasePlayer *pPlayer);
|
virtual edict_t *GetPlayerSpawnSpot(CBasePlayer *pPlayer);
|
||||||
virtual BOOL AllowAutoTargetCrosshair(void)
|
virtual BOOL AllowAutoTargetCrosshair(void)
|
||||||
{
|
{
|
||||||
return TRUE;
|
return AllowAutoTargetCrosshair_();
|
||||||
}
|
}
|
||||||
virtual BOOL ClientCommand_DeadOrAlive(CBasePlayer *pPlayer, const char *pcmd)
|
virtual BOOL ClientCommand_DeadOrAlive(CBasePlayer *pPlayer, const char *pcmd)
|
||||||
{
|
{
|
||||||
return FALSE;
|
return ClientCommand_DeadOrAlive_(pPlayer, pcmd);
|
||||||
}
|
}
|
||||||
virtual BOOL ClientCommand(CBasePlayer *pPlayer, const char *pcmd)
|
virtual BOOL ClientCommand(CBasePlayer *pPlayer, const char *pcmd)
|
||||||
{
|
{
|
||||||
return FALSE;
|
return ClientCommand_(pPlayer, pcmd);
|
||||||
}
|
}
|
||||||
virtual void ClientUserInfoChanged(CBasePlayer *pPlayer, char *infobuffer) {}
|
virtual void ClientUserInfoChanged(CBasePlayer *pPlayer, char *infobuffer) {}
|
||||||
virtual int IPointsForKill(CBasePlayer *pAttacker, CBasePlayer *pKilled) = 0;
|
virtual int IPointsForKill(CBasePlayer *pAttacker, CBasePlayer *pKilled) = 0;
|
||||||
virtual void PlayerKilled(CBasePlayer *pVictim, entvars_t *pKiller, entvars_t *pInflictor) = 0;
|
virtual void PlayerKilled(CBasePlayer *pVictim, entvars_t *pKiller, entvars_t *pInflictor) = 0;
|
||||||
virtual void DeathNotice(CBasePlayer *pVictim, entvars_t *pKiller, entvars_t *pevInflictor) = 0;
|
virtual void DeathNotice(CBasePlayer *pVictim, entvars_t *pKiller, entvars_t *pevInflictor) = 0;
|
||||||
NOBODY virtual BOOL CanHavePlayerItem(CBasePlayer *pPlayer, CBasePlayerItem *pItem);
|
virtual BOOL CanHavePlayerItem(CBasePlayer *pPlayer, CBasePlayerItem *pItem);
|
||||||
virtual void PlayerGotWeapon(CBasePlayer *pPlayer, CBasePlayerItem *pWeapon) = 0;
|
virtual void PlayerGotWeapon(CBasePlayer *pPlayer, CBasePlayerItem *pWeapon) = 0;
|
||||||
virtual int WeaponShouldRespawn(CBasePlayerItem *pWeapon) = 0;
|
virtual int WeaponShouldRespawn(CBasePlayerItem *pWeapon) = 0;
|
||||||
virtual float FlWeaponRespawnTime(CBasePlayerItem *pWeapon) = 0;
|
virtual float FlWeaponRespawnTime(CBasePlayerItem *pWeapon) = 0;
|
||||||
@ -143,7 +242,7 @@ public:
|
|||||||
virtual float FlHealthChargerRechargeTime(void) = 0;
|
virtual float FlHealthChargerRechargeTime(void) = 0;
|
||||||
virtual float FlHEVChargerRechargeTime(void)
|
virtual float FlHEVChargerRechargeTime(void)
|
||||||
{
|
{
|
||||||
return 0.0f;
|
return FlHEVChargerRechargeTime_();
|
||||||
}
|
}
|
||||||
virtual int DeadPlayerWeapons(CBasePlayer *pPlayer) = 0;
|
virtual int DeadPlayerWeapons(CBasePlayer *pPlayer) = 0;
|
||||||
virtual int DeadPlayerAmmo(CBasePlayer *pPlayer) = 0;
|
virtual int DeadPlayerAmmo(CBasePlayer *pPlayer) = 0;
|
||||||
@ -151,30 +250,30 @@ public:
|
|||||||
virtual int PlayerRelationship(CBasePlayer *pPlayer, CBaseEntity *pTarget) = 0;
|
virtual int PlayerRelationship(CBasePlayer *pPlayer, CBaseEntity *pTarget) = 0;
|
||||||
virtual int GetTeamIndex(const char *pTeamName)
|
virtual int GetTeamIndex(const char *pTeamName)
|
||||||
{
|
{
|
||||||
return -1;
|
return GetTeamIndex_(pTeamName);
|
||||||
}
|
}
|
||||||
virtual const char *GetIndexedTeamName(int teamIndex)
|
virtual const char *GetIndexedTeamName(int teamIndex)
|
||||||
{
|
{
|
||||||
return "";
|
return GetIndexedTeamName_(teamIndex);
|
||||||
}
|
}
|
||||||
virtual BOOL IsValidTeam(const char *pTeamName)
|
virtual BOOL IsValidTeam(const char *pTeamName)
|
||||||
{
|
{
|
||||||
return TRUE;
|
return IsValidTeam_(pTeamName);
|
||||||
}
|
}
|
||||||
virtual void ChangePlayerTeam(CBasePlayer *pPlayer, const char *pTeamName, BOOL bKill, BOOL bGib) {}
|
virtual void ChangePlayerTeam(CBasePlayer *pPlayer, const char *pTeamName, BOOL bKill, BOOL bGib) {}
|
||||||
virtual const char *SetDefaultPlayerTeam(CBasePlayer *pPlayer)
|
virtual const char *SetDefaultPlayerTeam(CBasePlayer *pPlayer)
|
||||||
{
|
{
|
||||||
return "";
|
return SetDefaultPlayerTeam_(pPlayer);
|
||||||
}
|
}
|
||||||
virtual BOOL PlayTextureSounds(void)
|
virtual BOOL PlayTextureSounds(void)
|
||||||
{
|
{
|
||||||
return TRUE;
|
return PlayTextureSounds_();
|
||||||
}
|
}
|
||||||
virtual BOOL FAllowMonsters(void) = 0;
|
virtual BOOL FAllowMonsters(void) = 0;
|
||||||
virtual void EndMultiplayerGame(void) {}
|
virtual void EndMultiplayerGame(void) {}
|
||||||
virtual BOOL IsFreezePeriod(void)
|
virtual BOOL IsFreezePeriod(void)
|
||||||
{
|
{
|
||||||
return m_bFreezePeriod;
|
return IsFreezePeriod_();
|
||||||
}
|
}
|
||||||
virtual void ServerDeactivate(void) {}
|
virtual void ServerDeactivate(void) {}
|
||||||
virtual void CheckMapConditions(void) {}
|
virtual void CheckMapConditions(void) {}
|
||||||
@ -182,9 +281,65 @@ public:
|
|||||||
#ifdef HOOK_GAMEDLL
|
#ifdef HOOK_GAMEDLL
|
||||||
|
|
||||||
void RefreshSkillData_(void);
|
void RefreshSkillData_(void);
|
||||||
NOBODY edict_t *GetPlayerSpawnSpot_(CBasePlayer *pPlayer);
|
BOOL IsTeamplay_(void)
|
||||||
NOBODY BOOL CanHavePlayerItem_(CBasePlayer *pPlayer, CBasePlayerItem *pItem);
|
{
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
|
const char *GetGameDescription_(void)
|
||||||
|
{
|
||||||
|
return "Counter-Strike";
|
||||||
|
}
|
||||||
|
BOOL FPlayerCanTakeDamage_(CBasePlayer *pPlayer, CBaseEntity *pAttacker)
|
||||||
|
{
|
||||||
|
return TRUE;
|
||||||
|
}
|
||||||
|
BOOL ShouldAutoAim_(CBasePlayer *pPlayer, edict_t *target)
|
||||||
|
{
|
||||||
|
return TRUE;
|
||||||
|
}
|
||||||
|
edict_t *GetPlayerSpawnSpot_(CBasePlayer *pPlayer);
|
||||||
|
BOOL AllowAutoTargetCrosshair_(void)
|
||||||
|
{
|
||||||
|
return TRUE;
|
||||||
|
}
|
||||||
|
BOOL ClientCommand_DeadOrAlive_(CBasePlayer *pPlayer, const char *pcmd)
|
||||||
|
{
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
|
BOOL ClientCommand_(CBasePlayer *pPlayer, const char *pcmd)
|
||||||
|
{
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
|
BOOL CanHavePlayerItem_(CBasePlayer *pPlayer, CBasePlayerItem *pItem);
|
||||||
BOOL CanHaveAmmo_(CBasePlayer *pPlayer, const char *pszAmmoName, int iMaxCarry);
|
BOOL CanHaveAmmo_(CBasePlayer *pPlayer, const char *pszAmmoName, int iMaxCarry);
|
||||||
|
float FlHEVChargerRechargeTime_(void)
|
||||||
|
{
|
||||||
|
return 0.0f;
|
||||||
|
}
|
||||||
|
int GetTeamIndex_(const char *pTeamName)
|
||||||
|
{
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
const char *GetIndexedTeamName_(int teamIndex)
|
||||||
|
{
|
||||||
|
return "";
|
||||||
|
}
|
||||||
|
BOOL IsValidTeam_(const char *pTeamName)
|
||||||
|
{
|
||||||
|
return TRUE;
|
||||||
|
}
|
||||||
|
const char *SetDefaultPlayerTeam_(CBasePlayer *pPlayer)
|
||||||
|
{
|
||||||
|
return "";
|
||||||
|
}
|
||||||
|
BOOL PlayTextureSounds_(void)
|
||||||
|
{
|
||||||
|
return TRUE;
|
||||||
|
}
|
||||||
|
BOOL IsFreezePeriod_(void)
|
||||||
|
{
|
||||||
|
return m_bFreezePeriod;
|
||||||
|
}
|
||||||
|
|
||||||
#endif // HOOK_GAMEDLL
|
#endif // HOOK_GAMEDLL
|
||||||
|
|
||||||
@ -192,12 +347,14 @@ public:
|
|||||||
//int **_vptr.CGameRules;
|
//int **_vptr.CGameRules;
|
||||||
BOOL m_bFreezePeriod;
|
BOOL m_bFreezePeriod;
|
||||||
BOOL m_bBombDropped;
|
BOOL m_bBombDropped;
|
||||||
|
|
||||||
};/* size: 12, cachelines: 1, members: 3 */
|
};/* size: 12, cachelines: 1, members: 3 */
|
||||||
|
|
||||||
class CHalfLifeRules: public CGameRules
|
class CHalfLifeRules: public CGameRules
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
CHalfLifeRules(void);
|
CHalfLifeRules(void);
|
||||||
|
|
||||||
virtual void Think(void);
|
virtual void Think(void);
|
||||||
virtual BOOL IsAllowedToSpawn(CBaseEntity *pEntity);
|
virtual BOOL IsAllowedToSpawn(CBaseEntity *pEntity);
|
||||||
virtual BOOL FAllowFlashlight(void)
|
virtual BOOL FAllowFlashlight(void)
|
||||||
@ -248,7 +405,53 @@ public:
|
|||||||
|
|
||||||
#ifdef HOOK_GAMEDLL
|
#ifdef HOOK_GAMEDLL
|
||||||
|
|
||||||
|
void Think_(void);
|
||||||
|
BOOL IsAllowedToSpawn_(CBaseEntity *pEntity);
|
||||||
|
BOOL FAllowFlashlight_(void)
|
||||||
|
{
|
||||||
|
return TRUE;
|
||||||
|
};
|
||||||
|
BOOL FShouldSwitchWeapon_(CBasePlayer *pPlayer, CBasePlayerItem *pWeapon);
|
||||||
|
BOOL GetNextBestWeapon_(CBasePlayer *pPlayer, CBasePlayerItem *pCurrentWeapon);
|
||||||
|
BOOL IsMultiplayer_(void);
|
||||||
|
BOOL IsDeathmatch_(void);
|
||||||
|
BOOL IsCoOp_(void);
|
||||||
|
BOOL ClientConnected_(edict_t *pEntity, const char *pszName, const char *pszAddress, char szRejectReason[128]);
|
||||||
|
void InitHUD_(CBasePlayer *pl);
|
||||||
|
void ClientDisconnected_(edict_t *pClient);
|
||||||
|
float FlPlayerFallDamage_(CBasePlayer *pPlayer);
|
||||||
void PlayerSpawn_(CBasePlayer *pPlayer);
|
void PlayerSpawn_(CBasePlayer *pPlayer);
|
||||||
|
void PlayerThink_(CBasePlayer *pPlayer);
|
||||||
|
BOOL FPlayerCanRespawn_(CBasePlayer *pPlayer);
|
||||||
|
float FlPlayerSpawnTime_(CBasePlayer *pPlayer);
|
||||||
|
edict_t *GetPlayerSpawnSpot_(CBasePlayer *pPlayer);
|
||||||
|
BOOL AllowAutoTargetCrosshair_(void);
|
||||||
|
int IPointsForKill_(CBasePlayer *pAttacker, CBasePlayer *pKilled);
|
||||||
|
void PlayerKilled_(CBasePlayer *pVictim, entvars_t *pKiller, entvars_t *pInflictor);
|
||||||
|
void DeathNotice_(CBasePlayer *pVictim, entvars_t *pKiller, entvars_t *pInflictor);
|
||||||
|
void PlayerGotWeapon_(CBasePlayer *pPlayer, CBasePlayerItem *pWeapon);
|
||||||
|
int WeaponShouldRespawn_(CBasePlayerItem *pWeapon);
|
||||||
|
float FlWeaponRespawnTime_(CBasePlayerItem *pWeapon);
|
||||||
|
float FlWeaponTryRespawn_(CBasePlayerItem *pWeapon);
|
||||||
|
Vector VecWeaponRespawnSpot_(CBasePlayerItem *pWeapon);
|
||||||
|
BOOL CanHaveItem_(CBasePlayer *pPlayer, CItem *pItem);
|
||||||
|
void PlayerGotItem_(CBasePlayer *pPlayer, CItem *pItem);
|
||||||
|
int ItemShouldRespawn_(CItem *pItem);
|
||||||
|
float FlItemRespawnTime_(CItem *pItem);
|
||||||
|
Vector VecItemRespawnSpot_(CItem *pItem);
|
||||||
|
void PlayerGotAmmo_(CBasePlayer *pPlayer, char *szName, int iCount);
|
||||||
|
int AmmoShouldRespawn_(CBasePlayerAmmo *pAmmo);
|
||||||
|
float FlAmmoRespawnTime_(CBasePlayerAmmo *pAmmo);
|
||||||
|
Vector VecAmmoRespawnSpot_(CBasePlayerAmmo *pAmmo);
|
||||||
|
float FlHealthChargerRechargeTime_(void);
|
||||||
|
int DeadPlayerWeapons_(CBasePlayer *pPlayer);
|
||||||
|
int DeadPlayerAmmo_(CBasePlayer *pPlayer);
|
||||||
|
const char *GetTeamID_(CBaseEntity *pEntity)
|
||||||
|
{
|
||||||
|
return "";
|
||||||
|
};
|
||||||
|
int PlayerRelationship_(CBasePlayer *pPlayer, CBaseEntity *pTarget);
|
||||||
|
BOOL FAllowMonsters_(void);
|
||||||
|
|
||||||
#endif // HOOK_GAMEDLL
|
#endif // HOOK_GAMEDLL
|
||||||
|
|
||||||
@ -260,74 +463,74 @@ public:
|
|||||||
CHalfLifeMultiplay(void);
|
CHalfLifeMultiplay(void);
|
||||||
public:
|
public:
|
||||||
virtual void RefreshSkillData(void);
|
virtual void RefreshSkillData(void);
|
||||||
NOBODY virtual void Think(void);
|
virtual void Think(void);
|
||||||
NOBODY virtual BOOL IsAllowedToSpawn(CBaseEntity *pEntity);
|
virtual BOOL IsAllowedToSpawn(CBaseEntity *pEntity);
|
||||||
virtual BOOL FAllowFlashlight(void);
|
virtual BOOL FAllowFlashlight(void);
|
||||||
virtual BOOL FShouldSwitchWeapon(CBasePlayer *pPlayer, CBasePlayerItem *pWeapon);
|
virtual BOOL FShouldSwitchWeapon(CBasePlayer *pPlayer, CBasePlayerItem *pWeapon);
|
||||||
virtual BOOL GetNextBestWeapon(CBasePlayer *pPlayer, CBasePlayerItem *pCurrentWeapon);
|
virtual BOOL GetNextBestWeapon(CBasePlayer *pPlayer, CBasePlayerItem *pCurrentWeapon);
|
||||||
virtual BOOL IsMultiplayer(void);
|
virtual BOOL IsMultiplayer(void);
|
||||||
virtual BOOL IsDeathmatch(void);
|
virtual BOOL IsDeathmatch(void);
|
||||||
virtual BOOL IsCoOp(void);
|
virtual BOOL IsCoOp(void);
|
||||||
NOBODY virtual BOOL ClientConnected(edict_t *pEntity, const char *pszName, const char *pszAddress, char szRejectReason[128]);
|
virtual BOOL ClientConnected(edict_t *pEntity, const char *pszName, const char *pszAddress, char szRejectReason[128]);
|
||||||
NOBODY virtual void InitHUD(CBasePlayer *pl);
|
virtual void InitHUD(CBasePlayer *pl);
|
||||||
NOBODY virtual void ClientDisconnected(edict_t *pClient);
|
virtual void ClientDisconnected(edict_t *pClient);
|
||||||
NOBODY virtual void UpdateGameMode(CBasePlayer *pPlayer);
|
virtual void UpdateGameMode(CBasePlayer *pPlayer);
|
||||||
virtual float FlPlayerFallDamage(CBasePlayer *pPlayer);
|
virtual float FlPlayerFallDamage(CBasePlayer *pPlayer);
|
||||||
NOBODY virtual BOOL FPlayerCanTakeDamage(CBasePlayer *pPlayer, CBaseEntity *pAttacker);
|
virtual BOOL FPlayerCanTakeDamage(CBasePlayer *pPlayer, CBaseEntity *pAttacker);
|
||||||
NOBODY virtual void PlayerSpawn(CBasePlayer *pPlayer);
|
virtual void PlayerSpawn(CBasePlayer *pPlayer);
|
||||||
NOBODY virtual void PlayerThink(CBasePlayer *pPlayer);
|
virtual void PlayerThink(CBasePlayer *pPlayer);
|
||||||
NOBODY virtual BOOL FPlayerCanRespawn(CBasePlayer *pPlayer);
|
virtual BOOL FPlayerCanRespawn(CBasePlayer *pPlayer);
|
||||||
NOBODY virtual float FlPlayerSpawnTime(CBasePlayer *pPlayer);
|
virtual float FlPlayerSpawnTime(CBasePlayer *pPlayer);
|
||||||
NOBODY virtual edict_t *GetPlayerSpawnSpot(CBasePlayer *pPlayer);
|
virtual edict_t *GetPlayerSpawnSpot(CBasePlayer *pPlayer);
|
||||||
NOBODY virtual BOOL AllowAutoTargetCrosshair(void);
|
virtual BOOL AllowAutoTargetCrosshair(void);
|
||||||
NOBODY virtual BOOL ClientCommand_DeadOrAlive(CBasePlayer *pPlayer, const char *pcmd);
|
virtual BOOL ClientCommand_DeadOrAlive(CBasePlayer *pPlayer, const char *pcmd);
|
||||||
NOBODY virtual BOOL ClientCommand(CBasePlayer *pPlayer, const char *pcmd);
|
virtual BOOL ClientCommand(CBasePlayer *pPlayer, const char *pcmd);
|
||||||
NOBODY virtual void ClientUserInfoChanged(CBasePlayer *pPlayer, char *infobuffer);
|
virtual void ClientUserInfoChanged(CBasePlayer *pPlayer, char *infobuffer);
|
||||||
NOBODY virtual int IPointsForKill(CBasePlayer *pAttacker, CBasePlayer *pKilled);
|
virtual int IPointsForKill(CBasePlayer *pAttacker, CBasePlayer *pKilled);
|
||||||
NOBODY virtual void PlayerKilled(CBasePlayer *pVictim, entvars_t *pKiller, entvars_t *pInflictor);
|
virtual void PlayerKilled(CBasePlayer *pVictim, entvars_t *pKiller, entvars_t *pInflictor);
|
||||||
NOBODY virtual void DeathNotice(CBasePlayer *pVictim, entvars_t *pKiller, entvars_t *pInflictor);
|
virtual void DeathNotice(CBasePlayer *pVictim, entvars_t *pKiller, entvars_t *pInflictor);
|
||||||
NOBODY virtual BOOL CanHavePlayerItem(CBasePlayer *pPlayer, CBasePlayerItem *pWeapon);
|
virtual BOOL CanHavePlayerItem(CBasePlayer *pPlayer, CBasePlayerItem *pWeapon);
|
||||||
virtual void PlayerGotWeapon(CBasePlayer *pPlayer, CBasePlayerItem *pWeapon);
|
virtual void PlayerGotWeapon(CBasePlayer *pPlayer, CBasePlayerItem *pWeapon);
|
||||||
virtual int WeaponShouldRespawn(CBasePlayerItem *pWeapon);
|
virtual int WeaponShouldRespawn(CBasePlayerItem *pWeapon);
|
||||||
NOBODY virtual float FlWeaponRespawnTime(CBasePlayerItem *pWeapon);
|
virtual float FlWeaponRespawnTime(CBasePlayerItem *pWeapon);
|
||||||
NOBODY virtual float FlWeaponTryRespawn(CBasePlayerItem *pWeapon);
|
virtual float FlWeaponTryRespawn(CBasePlayerItem *pWeapon);
|
||||||
NOBODY virtual Vector VecWeaponRespawnSpot(CBasePlayerItem *pWeapon);
|
virtual Vector VecWeaponRespawnSpot(CBasePlayerItem *pWeapon);
|
||||||
virtual BOOL CanHaveItem(CBasePlayer *pPlayer, CItem *pItem);
|
virtual BOOL CanHaveItem(CBasePlayer *pPlayer, CItem *pItem);
|
||||||
virtual void PlayerGotItem(CBasePlayer *pPlayer, CItem *pItem);
|
virtual void PlayerGotItem(CBasePlayer *pPlayer, CItem *pItem);
|
||||||
virtual int ItemShouldRespawn(CItem *pItem);
|
virtual int ItemShouldRespawn(CItem *pItem);
|
||||||
virtual float FlItemRespawnTime(CItem *pItem);
|
virtual float FlItemRespawnTime(CItem *pItem);
|
||||||
virtual Vector VecItemRespawnSpot(CItem *pItem);
|
virtual Vector VecItemRespawnSpot(CItem *pItem);
|
||||||
NOBODY virtual void PlayerGotAmmo(CBasePlayer *pPlayer, char *szName, int iCount);
|
virtual void PlayerGotAmmo(CBasePlayer *pPlayer, char *szName, int iCount);
|
||||||
virtual int AmmoShouldRespawn(CBasePlayerAmmo *pAmmo);
|
virtual int AmmoShouldRespawn(CBasePlayerAmmo *pAmmo);
|
||||||
virtual float FlAmmoRespawnTime(CBasePlayerAmmo *pAmmo);
|
virtual float FlAmmoRespawnTime(CBasePlayerAmmo *pAmmo);
|
||||||
virtual Vector VecAmmoRespawnSpot(CBasePlayerAmmo *pAmmo);
|
virtual Vector VecAmmoRespawnSpot(CBasePlayerAmmo *pAmmo);
|
||||||
NOBODY virtual float FlHealthChargerRechargeTime(void);
|
virtual float FlHealthChargerRechargeTime(void);
|
||||||
NOBODY virtual float FlHEVChargerRechargeTime(void);
|
virtual float FlHEVChargerRechargeTime(void);
|
||||||
NOBODY virtual int DeadPlayerWeapons(CBasePlayer *pPlayer);
|
virtual int DeadPlayerWeapons(CBasePlayer *pPlayer);
|
||||||
NOBODY virtual int DeadPlayerAmmo(CBasePlayer *pPlayer);
|
virtual int DeadPlayerAmmo(CBasePlayer *pPlayer);
|
||||||
virtual const char *GetTeamID(CBaseEntity *pEntity)
|
virtual const char *GetTeamID(CBaseEntity *pEntity)
|
||||||
{
|
{
|
||||||
return "";
|
return GetTeamID_(pEntity);
|
||||||
}
|
}
|
||||||
NOBODY virtual int PlayerRelationship(CBasePlayer *pPlayer, CBaseEntity *pTarget);
|
virtual int PlayerRelationship(CBasePlayer *pPlayer, CBaseEntity *pTarget);
|
||||||
virtual BOOL PlayTextureSounds(void)
|
virtual BOOL PlayTextureSounds(void)
|
||||||
{
|
{
|
||||||
return FALSE;
|
return PlayTextureSounds_();
|
||||||
}
|
}
|
||||||
NOBODY virtual BOOL FAllowMonsters(void);
|
virtual BOOL FAllowMonsters(void);
|
||||||
virtual void EndMultiplayerGame(void)
|
virtual void EndMultiplayerGame(void)
|
||||||
{
|
{
|
||||||
GoToIntermission();
|
EndMultiplayerGame_();
|
||||||
};
|
}
|
||||||
NOBODY virtual void ServerDeactivate(void);
|
virtual void ServerDeactivate(void);
|
||||||
NOBODY virtual void CheckMapConditions(void);
|
virtual void CheckMapConditions(void);
|
||||||
NOBODY virtual void CleanUpMap(void);
|
virtual void CleanUpMap(void);
|
||||||
NOBODY virtual void RestartRound(void);
|
virtual void RestartRound(void);
|
||||||
NOBODY virtual void CheckWinConditions(void);
|
virtual void CheckWinConditions(void);
|
||||||
virtual void RemoveGuns(void);
|
virtual void RemoveGuns(void);
|
||||||
NOBODY virtual void GiveC4(void);
|
virtual void GiveC4(void);
|
||||||
NOBODY virtual void ChangeLevel(void);
|
virtual void ChangeLevel(void);
|
||||||
NOBODY virtual void GoToIntermission(void);
|
virtual void GoToIntermission(void);
|
||||||
|
|
||||||
#ifdef HOOK_GAMEDLL
|
#ifdef HOOK_GAMEDLL
|
||||||
|
|
||||||
@ -377,8 +580,20 @@ public:
|
|||||||
float FlHEVChargerRechargeTime_(void);
|
float FlHEVChargerRechargeTime_(void);
|
||||||
int DeadPlayerWeapons_(CBasePlayer *pPlayer);
|
int DeadPlayerWeapons_(CBasePlayer *pPlayer);
|
||||||
int DeadPlayerAmmo_(CBasePlayer *pPlayer);
|
int DeadPlayerAmmo_(CBasePlayer *pPlayer);
|
||||||
|
const char *GetTeamID_(CBaseEntity *pEntity)
|
||||||
|
{
|
||||||
|
return "";
|
||||||
|
}
|
||||||
int PlayerRelationship_(CBasePlayer *pPlayer, CBaseEntity *pTarget);
|
int PlayerRelationship_(CBasePlayer *pPlayer, CBaseEntity *pTarget);
|
||||||
|
BOOL PlayTextureSounds_(void)
|
||||||
|
{
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
BOOL FAllowMonsters_(void);
|
BOOL FAllowMonsters_(void);
|
||||||
|
void EndMultiplayerGame_(void)
|
||||||
|
{
|
||||||
|
GoToIntermission();
|
||||||
|
}
|
||||||
void ServerDeactivate_(void);
|
void ServerDeactivate_(void);
|
||||||
void CheckMapConditions_(void);
|
void CheckMapConditions_(void);
|
||||||
void CleanUpMap_(void);
|
void CleanUpMap_(void);
|
||||||
@ -393,10 +608,10 @@ public:
|
|||||||
|
|
||||||
public:
|
public:
|
||||||
BOOL IsCareer(void);
|
BOOL IsCareer(void);
|
||||||
NOBODY void QueueCareerRoundEndMenu(float tmDelay, int iWinStatus);
|
void QueueCareerRoundEndMenu(float tmDelay, int iWinStatus);
|
||||||
NOBODY void SetCareerMatchLimit(int minWins, int winDifference);
|
void SetCareerMatchLimit(int minWins, int winDifference);
|
||||||
NOBODY bool IsInCareerRound(void);
|
bool IsInCareerRound(void);
|
||||||
NOBODY void CareerRestart(void);
|
void CareerRestart(void);
|
||||||
bool ShouldSkipSpawn(void)
|
bool ShouldSkipSpawn(void)
|
||||||
{
|
{
|
||||||
return m_bSkipSpawn;
|
return m_bSkipSpawn;
|
||||||
@ -405,39 +620,40 @@ public:
|
|||||||
{
|
{
|
||||||
m_bSkipSpawn = false;
|
m_bSkipSpawn = false;
|
||||||
}
|
}
|
||||||
NOBODY void PlayerJoinedTeam(CBasePlayer *pPlayer);
|
NOXREF void PlayerJoinedTeam(CBasePlayer *pPlayer)
|
||||||
|
{
|
||||||
|
;
|
||||||
|
}
|
||||||
float TimeRemaining(void)
|
float TimeRemaining(void)
|
||||||
{
|
{
|
||||||
return m_iRoundTimeSecs - gpGlobals->time + m_fRoundCount;
|
return m_iRoundTimeSecs - gpGlobals->time + m_fRoundCount;
|
||||||
}
|
}
|
||||||
NOBODY BOOL TeamFull(int team_id);
|
BOOL TeamFull(int team_id);
|
||||||
BOOL TeamStacked(int newTeam_id, int curTeam_id);
|
BOOL TeamStacked(int newTeam_id, int curTeam_id);
|
||||||
NOBODY bool IsVIPQueueEmpty(void);
|
bool IsVIPQueueEmpty(void);
|
||||||
NOBODY bool AddToVIPQueue(CBasePlayer *toAdd);
|
bool AddToVIPQueue(CBasePlayer *toAdd);
|
||||||
NOBODY void PickNextVIP(void);
|
void PickNextVIP(void);
|
||||||
NOBODY void StackVIPQueue(void);
|
void StackVIPQueue(void);
|
||||||
NOBODY void ResetCurrentVIP(void);
|
void ResetCurrentVIP(void);
|
||||||
NOBODY void BalanceTeams(void);
|
void BalanceTeams(void);
|
||||||
NOBODY void SwapAllPlayers(void);
|
void SwapAllPlayers(void);
|
||||||
NOBODY void UpdateTeamScores(void);
|
void UpdateTeamScores(void);
|
||||||
NOBODY void DisplayMaps(CBasePlayer *player, int iVote);
|
void DisplayMaps(CBasePlayer *player, int iVote);
|
||||||
NOBODY void ResetAllMapVotes(void);
|
void ResetAllMapVotes(void);
|
||||||
NOBODY void ProcessMapVote(CBasePlayer *player, int iVote);
|
void ProcessMapVote(CBasePlayer *player, int iVote);
|
||||||
BOOL IsThereABomber(void);
|
BOOL IsThereABomber(void);
|
||||||
BOOL IsThereABomb(void);
|
BOOL IsThereABomb(void);
|
||||||
NOBODY bool IsMatchStarted(void);
|
bool IsMatchStarted(void)
|
||||||
NOBODY void SendMOTDToClient(edict_t *client);
|
|
||||||
private:
|
|
||||||
NOBODY bool HasRoundTimeExpired(void);
|
|
||||||
NOBODY bool IsBombPlanted(void);
|
|
||||||
NOBODY void MarkLivingPlayersOnTeamAsNotReceivingMoneyNextRound(int iTeam);
|
|
||||||
|
|
||||||
inline void TerminateRound(float tmDelay, int iWinStatus)
|
|
||||||
{
|
{
|
||||||
m_iRoundWinStatus = iWinStatus;
|
return (m_fTeamCount != 0.0f || m_fCareerRoundMenuTime != 0.0f || m_fCareerMatchMenuTime != 0.0f);
|
||||||
m_bRoundTerminating = true;
|
|
||||||
m_fTeamCount = gpGlobals->time + tmDelay;
|
|
||||||
}
|
}
|
||||||
|
void SendMOTDToClient(edict_t *client);
|
||||||
|
|
||||||
|
private:
|
||||||
|
bool HasRoundTimeExpired(void);
|
||||||
|
bool IsBombPlanted(void);
|
||||||
|
void MarkLivingPlayersOnTeamAsNotReceivingMoneyNextRound(int iTeam);
|
||||||
|
|
||||||
public:
|
public:
|
||||||
CVoiceGameMgr m_VoiceGameMgr;
|
CVoiceGameMgr m_VoiceGameMgr;
|
||||||
float m_fTeamCount;
|
float m_fTeamCount;
|
||||||
@ -503,6 +719,7 @@ public:
|
|||||||
float m_flFadeToBlackValue;
|
float m_flFadeToBlackValue;
|
||||||
CBasePlayer *m_pVIP;
|
CBasePlayer *m_pVIP;
|
||||||
CBasePlayer *VIPQueue[ MAX_VIP_QUEUES ];
|
CBasePlayer *VIPQueue[ MAX_VIP_QUEUES ];
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
float m_flIntermissionEndTime;
|
float m_flIntermissionEndTime;
|
||||||
float m_flIntermissionStartTime;
|
float m_flIntermissionStartTime;
|
||||||
@ -514,7 +731,7 @@ protected:
|
|||||||
int m_iCareerMatchWins;
|
int m_iCareerMatchWins;
|
||||||
int m_iRoundWinDifference;
|
int m_iRoundWinDifference;
|
||||||
float m_fCareerMatchMenuTime;
|
float m_fCareerMatchMenuTime;
|
||||||
bool m_bSkipSpawn;
|
bool m_bSkipSpawn;//712
|
||||||
|
|
||||||
};/* size: 708, cachelines: 12, members: 76 */
|
};/* size: 708, cachelines: 12, members: 76 */
|
||||||
|
|
||||||
@ -532,6 +749,7 @@ typedef struct mapcycle_s
|
|||||||
{
|
{
|
||||||
struct mapcycle_item_s *items;
|
struct mapcycle_item_s *items;
|
||||||
struct mapcycle_item_s *next_item;
|
struct mapcycle_item_s *next_item;
|
||||||
|
|
||||||
} mapcycle_t;
|
} mapcycle_t;
|
||||||
/* size: 8, cachelines: 1, members: 2 */
|
/* size: 8, cachelines: 1, members: 2 */
|
||||||
|
|
||||||
@ -559,37 +777,11 @@ public:
|
|||||||
class CCStrikeGameMgrHelper: public IVoiceGameMgrHelper
|
class CCStrikeGameMgrHelper: public IVoiceGameMgrHelper
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
virtual bool CanPlayerHearPlayer(CBasePlayer *pListener, CBasePlayer *pSender)
|
virtual bool CanPlayerHearPlayer(CBasePlayer *pListener, CBasePlayer *pSender);
|
||||||
{
|
|
||||||
return CanPlayerHearPlayer_(pListener, pSender);
|
|
||||||
}
|
|
||||||
|
|
||||||
#ifdef HOOK_GAMEDLL
|
#ifdef HOOK_GAMEDLL
|
||||||
|
|
||||||
bool CanPlayerHearPlayer_(CBasePlayer *pListener, CBasePlayer *pSender)
|
bool CanPlayerHearPlayer_(CBasePlayer *pListener, CBasePlayer *pSender);
|
||||||
{
|
|
||||||
if (!pSender->IsPlayer() || pListener->m_iTeam != pSender->m_iTeam)
|
|
||||||
return false;
|
|
||||||
|
|
||||||
BOOL bListenerAlive = pListener->IsAlive();
|
|
||||||
BOOL bSenderAlive = pSender->IsAlive();
|
|
||||||
|
|
||||||
if (pListener->IsObserver())
|
|
||||||
return true;
|
|
||||||
|
|
||||||
if (bListenerAlive)
|
|
||||||
{
|
|
||||||
if (!bSenderAlive)
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
if (bSenderAlive)
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
return (bListenerAlive == bSenderAlive);
|
|
||||||
}
|
|
||||||
|
|
||||||
#endif // HOOK_GAMEDLL
|
#endif // HOOK_GAMEDLL
|
||||||
|
|
||||||
@ -617,26 +809,32 @@ CGameRules *InstallGameRules(void);
|
|||||||
* Multiplay gamerules
|
* Multiplay gamerules
|
||||||
*/
|
*/
|
||||||
|
|
||||||
NOBODY bool IsBotSpeaking(void);
|
bool IsBotSpeaking(void);
|
||||||
NOBODY void SV_Continue_f(void);
|
void SV_Continue_f(void);
|
||||||
NOBODY void SV_Tutor_Toggle_f(void);
|
void SV_Tutor_Toggle_f(void);
|
||||||
NOBODY void SV_Career_Restart_f(void);
|
void SV_Career_Restart_f(void);
|
||||||
NOBODY void SV_Career_EndRound_f(void);
|
void SV_Career_EndRound_f(void);
|
||||||
NOBODY void SV_CareerAddTask_f(void);
|
void SV_CareerAddTask_f(void);
|
||||||
NOBODY void SV_CareerMatchLimit_f(void);
|
void SV_CareerMatchLimit_f(void);
|
||||||
void Broadcast(const char *sentence);
|
void Broadcast(const char *sentence);
|
||||||
char *GetTeam(int teamNo);
|
char *GetTeam(int teamNo);
|
||||||
NOBODY void EndRoundMessage(const char *sentence, int event);
|
void EndRoundMessage(const char *sentence, int event);
|
||||||
NOBODY void ReadMultiplayCvars(CHalfLifeMultiplay *mp);
|
void ReadMultiplayCvars(CHalfLifeMultiplay *mp);
|
||||||
NOBODY void DestroyMapCycle(mapcycle_t *cycle);
|
void DestroyMapCycle(mapcycle_t *cycle);
|
||||||
|
|
||||||
char *MP_COM_GetToken(void);
|
char *MP_COM_GetToken(void);
|
||||||
char *MP_COM_Parse(char *data);
|
char *MP_COM_Parse(char *data);
|
||||||
NOXREF int MP_COM_TokenWaiting(char *buffer);
|
int MP_COM_TokenWaiting(char *buffer);
|
||||||
|
|
||||||
NOBODY int ReloadMapCycleFile(char *filename, mapcycle_t *cycle);
|
int ReloadMapCycleFile(char *filename, mapcycle_t *cycle);
|
||||||
NOBODY int CountPlayers(void);
|
int CountPlayers(void);
|
||||||
NOBODY void ExtractCommandString(char *s, char *szCommand);
|
void ExtractCommandString(char *s, char *szCommand);
|
||||||
NOBODY int GetMapCount(void);
|
int GetMapCount(void);
|
||||||
|
|
||||||
|
// refs
|
||||||
|
extern void (*pInstallGameRules)(void);
|
||||||
|
|
||||||
|
// linked objects
|
||||||
|
C_DLLEXPORT void info_map_parameters(entvars_t *pev);
|
||||||
|
|
||||||
#endif // GAMERULES_H
|
#endif // GAMERULES_H
|
||||||
|
@ -532,7 +532,7 @@ void CGrenade::SG_Smoke(void)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* <b8467> ../cstrike/dlls/ggrenade.cpp:664 */
|
/* <b8467> ../cstrike/dlls/ggrenade.cpp:664 */
|
||||||
void CGrenade::Killed_(entvars_t *pevAttacker, int iGib)
|
void CGrenade::__MAKE_VHOOK(Killed)(entvars_t *pevAttacker, int iGib)
|
||||||
{
|
{
|
||||||
Detonate();
|
Detonate();
|
||||||
}
|
}
|
||||||
@ -758,7 +758,7 @@ void CGrenade::SlideTouch(CBaseEntity *pOther)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* <b7b20> ../cstrike/dlls/ggrenade.cpp:904 */
|
/* <b7b20> ../cstrike/dlls/ggrenade.cpp:904 */
|
||||||
void CGrenade::BounceSound_(void)
|
void CGrenade::__MAKE_VHOOK(BounceSound)(void)
|
||||||
{
|
{
|
||||||
if (pev->dmg > 50)
|
if (pev->dmg > 50)
|
||||||
{
|
{
|
||||||
@ -849,7 +849,7 @@ void CGrenade::SG_TumbleThink(void)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* <b7010> ../cstrike/dlls/ggrenade.cpp:985 */
|
/* <b7010> ../cstrike/dlls/ggrenade.cpp:985 */
|
||||||
void CGrenade::Spawn_(void)
|
void CGrenade::__MAKE_VHOOK(Spawn)(void)
|
||||||
{
|
{
|
||||||
m_iBounceCount = 0;
|
m_iBounceCount = 0;
|
||||||
pev->movetype = MOVETYPE_BOUNCE;
|
pev->movetype = MOVETYPE_BOUNCE;
|
||||||
@ -977,7 +977,7 @@ CGrenade *CGrenade::ShootTimed(entvars_t *pevOwner, Vector vecStart, Vector vecV
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* <ba5be> ../cstrike/dlls/ggrenade.cpp:1113 */
|
/* <ba5be> ../cstrike/dlls/ggrenade.cpp:1113 */
|
||||||
void CGrenade::Use_(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value)
|
void CGrenade::__MAKE_VHOOK(Use)(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value)
|
||||||
{
|
{
|
||||||
if (!m_bIsC4)
|
if (!m_bIsC4)
|
||||||
return;
|
return;
|
||||||
@ -1145,8 +1145,8 @@ void AnnounceFlashInterval(float interval, float offset)
|
|||||||
WRITE_BYTE(1);
|
WRITE_BYTE(1);
|
||||||
WRITE_STRING("bombticking");
|
WRITE_STRING("bombticking");
|
||||||
WRITE_BYTE(255);
|
WRITE_BYTE(255);
|
||||||
WRITE_SHORT((short)interval); // interval
|
WRITE_SHORT((int)interval); // interval
|
||||||
WRITE_SHORT((short)offset);
|
WRITE_SHORT((int)offset);
|
||||||
MESSAGE_END();
|
MESSAGE_END();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -27,7 +27,7 @@ IMPLEMENT_SAVERESTORE(CRecharge, CBaseEntity);
|
|||||||
LINK_ENTITY_TO_CLASS(func_recharge, CRecharge);
|
LINK_ENTITY_TO_CLASS(func_recharge, CRecharge);
|
||||||
|
|
||||||
/* <c648b> ../cstrike/dlls/h_battery.cpp:66 */
|
/* <c648b> ../cstrike/dlls/h_battery.cpp:66 */
|
||||||
void CRecharge::KeyValue_(KeyValueData *pkvd)
|
void CRecharge::__MAKE_VHOOK(KeyValue)(KeyValueData *pkvd)
|
||||||
{
|
{
|
||||||
if (FStrEq(pkvd->szKeyName, "style")
|
if (FStrEq(pkvd->szKeyName, "style")
|
||||||
|| FStrEq(pkvd->szKeyName, "height")
|
|| FStrEq(pkvd->szKeyName, "height")
|
||||||
@ -39,7 +39,7 @@ void CRecharge::KeyValue_(KeyValueData *pkvd)
|
|||||||
}
|
}
|
||||||
else if (FStrEq(pkvd->szKeyName, "dmdelay"))
|
else if (FStrEq(pkvd->szKeyName, "dmdelay"))
|
||||||
{
|
{
|
||||||
m_iReactivate = atoi(pkvd->szValue);
|
m_iReactivate = Q_atoi(pkvd->szValue);
|
||||||
pkvd->fHandled = TRUE;
|
pkvd->fHandled = TRUE;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
@ -47,7 +47,7 @@ void CRecharge::KeyValue_(KeyValueData *pkvd)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* <c616f> ../cstrike/dlls/h_battery.cpp:85 */
|
/* <c616f> ../cstrike/dlls/h_battery.cpp:85 */
|
||||||
void CRecharge::Spawn_(void)
|
void CRecharge::__MAKE_VHOOK(Spawn)(void)
|
||||||
{
|
{
|
||||||
Precache();
|
Precache();
|
||||||
|
|
||||||
@ -63,7 +63,7 @@ void CRecharge::Spawn_(void)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* <c6122> ../cstrike/dlls/h_battery.cpp:99 */
|
/* <c6122> ../cstrike/dlls/h_battery.cpp:99 */
|
||||||
void CRecharge::Precache_(void)
|
void CRecharge::__MAKE_VHOOK(Precache)(void)
|
||||||
{
|
{
|
||||||
PRECACHE_SOUND("items/suitcharge1.wav");
|
PRECACHE_SOUND("items/suitcharge1.wav");
|
||||||
PRECACHE_SOUND("items/suitchargeno1.wav");
|
PRECACHE_SOUND("items/suitchargeno1.wav");
|
||||||
@ -71,7 +71,7 @@ void CRecharge::Precache_(void)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* <c630e> ../cstrike/dlls/h_battery.cpp:107 */
|
/* <c630e> ../cstrike/dlls/h_battery.cpp:107 */
|
||||||
void CRecharge::Use_(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value)
|
void CRecharge::__MAKE_VHOOK(Use)(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value)
|
||||||
{
|
{
|
||||||
// if it's not a player, ignore
|
// if it's not a player, ignore
|
||||||
if (!FClassnameIs(pActivator->pev, "player"))
|
if (!FClassnameIs(pActivator->pev, "player"))
|
||||||
|
@ -34,7 +34,7 @@ TYPEDESCRIPTION (*CWreckage::pm_SaveData)[1];
|
|||||||
IMPLEMENT_SAVERESTORE(CCycler, CBaseToggle);
|
IMPLEMENT_SAVERESTORE(CCycler, CBaseToggle);
|
||||||
|
|
||||||
/* <cd01f> ../cstrike/dlls/h_cycler.cpp:70 */
|
/* <cd01f> ../cstrike/dlls/h_cycler.cpp:70 */
|
||||||
void CGenericCycler::Spawn_(void)
|
void CGenericCycler::__MAKE_VHOOK(Spawn)(void)
|
||||||
{
|
{
|
||||||
// Vector(Vector::Spawn(// float X,
|
// Vector(Vector::Spawn(// float X,
|
||||||
// float Y,
|
// float Y,
|
||||||
@ -56,7 +56,7 @@ LINK_ENTITY_TO_CLASS(cycler, CGenericCycler);
|
|||||||
LINK_ENTITY_TO_CLASS(cycler_prdroid, CCyclerProbe);
|
LINK_ENTITY_TO_CLASS(cycler_prdroid, CCyclerProbe);
|
||||||
|
|
||||||
/* <cd16d> ../cstrike/dlls/h_cycler.cpp:86 */
|
/* <cd16d> ../cstrike/dlls/h_cycler.cpp:86 */
|
||||||
void CCyclerProbe::Spawn_(void)
|
void CCyclerProbe::__MAKE_VHOOK(Spawn)(void)
|
||||||
{
|
{
|
||||||
// Vector(Vector::Spawn(// float X,
|
// Vector(Vector::Spawn(// float X,
|
||||||
// float Y,
|
// float Y,
|
||||||
@ -81,23 +81,23 @@ void CCycler::GenericCyclerSpawn(char *szModel, Vector vecMin, Vector vecMax)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* <ccc91> ../cstrike/dlls/h_cycler.cpp:115 */
|
/* <ccc91> ../cstrike/dlls/h_cycler.cpp:115 */
|
||||||
void CCycler::Spawn_(void)
|
void CCycler::__MAKE_VHOOK(Spawn)(void)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
/* <ccd3e> ../cstrike/dlls/h_cycler.cpp:151 */
|
/* <ccd3e> ../cstrike/dlls/h_cycler.cpp:151 */
|
||||||
void CCycler::Think_(void)
|
void CCycler::__MAKE_VHOOK(Think)(void)
|
||||||
{
|
{
|
||||||
// Think(CCycler *const this); // 151
|
// Think(CCycler *const this); // 151
|
||||||
}
|
}
|
||||||
|
|
||||||
/* <cc8bf> ../cstrike/dlls/h_cycler.cpp:176 */
|
/* <cc8bf> ../cstrike/dlls/h_cycler.cpp:176 */
|
||||||
void CCycler::Use_(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value)
|
void CCycler::__MAKE_VHOOK(Use)(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
/* <ccf43> ../cstrike/dlls/h_cycler.cpp:189 */
|
/* <ccf43> ../cstrike/dlls/h_cycler.cpp:189 */
|
||||||
int CCycler::TakeDamage_(entvars_t *pevInflictor, entvars_t *pevAttacker, float flDamage, int bitsDamageType)
|
int CCycler::__MAKE_VHOOK(TakeDamage)(entvars_t *pevInflictor, entvars_t *pevAttacker, float flDamage, int bitsDamageType)
|
||||||
{
|
{
|
||||||
// TakeDamage(CCycler *const this,
|
// TakeDamage(CCycler *const this,
|
||||||
// entvars_t *pevInflictor,
|
// entvars_t *pevInflictor,
|
||||||
@ -113,7 +113,7 @@ LINK_ENTITY_TO_CLASS(cycler_sprite, CCyclerSprite);
|
|||||||
IMPLEMENT_SAVERESTORE(CCyclerSprite, CBaseEntity);
|
IMPLEMENT_SAVERESTORE(CCyclerSprite, CBaseEntity);
|
||||||
|
|
||||||
/* <cc982> ../cstrike/dlls/h_cycler.cpp:284 */
|
/* <cc982> ../cstrike/dlls/h_cycler.cpp:284 */
|
||||||
void CCyclerSprite::Restart_(void)
|
void CCyclerSprite::__MAKE_VHOOK(Restart)(void)
|
||||||
{
|
{
|
||||||
// {
|
// {
|
||||||
// int i; // 300
|
// int i; // 300
|
||||||
@ -121,7 +121,7 @@ void CCyclerSprite::Restart_(void)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* <cc943> ../cstrike/dlls/h_cycler.cpp:258 */
|
/* <cc943> ../cstrike/dlls/h_cycler.cpp:258 */
|
||||||
void CCyclerSprite::Spawn_(void)
|
void CCyclerSprite::__MAKE_VHOOK(Spawn)(void)
|
||||||
{
|
{
|
||||||
// {
|
// {
|
||||||
// int i; // 279
|
// int i; // 279
|
||||||
@ -129,7 +129,7 @@ void CCyclerSprite::Spawn_(void)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* <cd0ef> ../cstrike/dlls/h_cycler.cpp:305 */
|
/* <cd0ef> ../cstrike/dlls/h_cycler.cpp:305 */
|
||||||
void CCyclerSprite::Think_(void)
|
void CCyclerSprite::__MAKE_VHOOK(Think)(void)
|
||||||
{
|
{
|
||||||
// ShouldAnimate(CCyclerSprite *const this); // 307
|
// ShouldAnimate(CCyclerSprite *const this); // 307
|
||||||
// Animate(CCyclerSprite *const this,
|
// Animate(CCyclerSprite *const this,
|
||||||
@ -137,12 +137,12 @@ void CCyclerSprite::Think_(void)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* <cc9c1> ../cstrike/dlls/h_cycler.cpp:315 */
|
/* <cc9c1> ../cstrike/dlls/h_cycler.cpp:315 */
|
||||||
void CCyclerSprite::Use_(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value)
|
void CCyclerSprite::__MAKE_VHOOK(Use)(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
/* <cd228> ../cstrike/dlls/h_cycler.cpp:322 */
|
/* <cd228> ../cstrike/dlls/h_cycler.cpp:322 */
|
||||||
int CCyclerSprite::TakeDamage_(entvars_t *pevInflictor, entvars_t *pevAttacker, float flDamage, int bitsDamageType)
|
int CCyclerSprite::__MAKE_VHOOK(TakeDamage)(entvars_t *pevInflictor, entvars_t *pevAttacker, float flDamage, int bitsDamageType)
|
||||||
{
|
{
|
||||||
// Animate(CCyclerSprite *const this,
|
// Animate(CCyclerSprite *const this,
|
||||||
// float frames); // 326
|
// float frames); // 326
|
||||||
@ -159,7 +159,7 @@ void CCyclerSprite::Animate(float frames)
|
|||||||
LINK_ENTITY_TO_CLASS(cycler_weapon, CWeaponCycler);
|
LINK_ENTITY_TO_CLASS(cycler_weapon, CWeaponCycler);
|
||||||
|
|
||||||
/* <ccbf6> ../cstrike/dlls/h_cycler.cpp:361 */
|
/* <ccbf6> ../cstrike/dlls/h_cycler.cpp:361 */
|
||||||
void CWeaponCycler::Spawn_(void)
|
void CWeaponCycler::__MAKE_VHOOK(Spawn)(void)
|
||||||
{
|
{
|
||||||
// Vector(Vector::Spawn(// float X,
|
// Vector(Vector::Spawn(// float X,
|
||||||
// float Y,
|
// float Y,
|
||||||
@ -171,22 +171,22 @@ void CWeaponCycler::Spawn_(void)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* <cca7c> ../cstrike/dlls/h_cycler.cpp:378 */
|
/* <cca7c> ../cstrike/dlls/h_cycler.cpp:378 */
|
||||||
BOOL CWeaponCycler::Deploy_(void)
|
BOOL CWeaponCycler::__MAKE_VHOOK(Deploy)(void)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
/* <ccaa3> ../cstrike/dlls/h_cycler.cpp:388 */
|
/* <ccaa3> ../cstrike/dlls/h_cycler.cpp:388 */
|
||||||
void CWeaponCycler::Holster_(int skiplocal)
|
void CWeaponCycler::__MAKE_VHOOK(Holster)(int skiplocal)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
/* <ccad8> ../cstrike/dlls/h_cycler.cpp:394 */
|
/* <ccad8> ../cstrike/dlls/h_cycler.cpp:394 */
|
||||||
void CWeaponCycler::PrimaryAttack_(void)
|
void CWeaponCycler::__MAKE_VHOOK(PrimaryAttack)(void)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
/* <ccb97> ../cstrike/dlls/h_cycler.cpp:403 */
|
/* <ccb97> ../cstrike/dlls/h_cycler.cpp:403 */
|
||||||
void CWeaponCycler::SecondaryAttack_(void)
|
void CWeaponCycler::__MAKE_VHOOK(SecondaryAttack)(void)
|
||||||
{
|
{
|
||||||
// {
|
// {
|
||||||
// float flFrameRate; // 405
|
// float flFrameRate; // 405
|
||||||
@ -202,18 +202,18 @@ IMPLEMENT_SAVERESTORE(CWreckage, CBaseToggle);
|
|||||||
LINK_ENTITY_TO_CLASS(cycler_wreckage, CWreckage);
|
LINK_ENTITY_TO_CLASS(cycler_wreckage, CWreckage);
|
||||||
|
|
||||||
/* <ccaff> ../cstrike/dlls/h_cycler.cpp:448 */
|
/* <ccaff> ../cstrike/dlls/h_cycler.cpp:448 */
|
||||||
void CWreckage::Spawn_(void)
|
void CWreckage::__MAKE_VHOOK(Spawn)(void)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
/* <ccd07> ../cstrike/dlls/h_cycler.cpp:468 */
|
/* <ccd07> ../cstrike/dlls/h_cycler.cpp:468 */
|
||||||
void CWreckage::Precache_(void)
|
void CWreckage::__MAKE_VHOOK(Precache)(void)
|
||||||
{
|
{
|
||||||
// Precache(CWreckage *const this); // 468
|
// Precache(CWreckage *const this); // 468
|
||||||
}
|
}
|
||||||
|
|
||||||
/* <ccb26> ../cstrike/dlls/h_cycler.cpp:474 */
|
/* <ccb26> ../cstrike/dlls/h_cycler.cpp:474 */
|
||||||
void CWreckage::Think_(void)
|
void CWreckage::__MAKE_VHOOK(Think)(void)
|
||||||
{
|
{
|
||||||
// {
|
// {
|
||||||
// Vector VecSrc; // 492
|
// Vector VecSrc; // 492
|
||||||
|
@ -6,7 +6,7 @@ globalvars_t *gpGlobals;
|
|||||||
/* <d0737> ../cstrike/dlls/h_export.cpp:58 */
|
/* <d0737> ../cstrike/dlls/h_export.cpp:58 */
|
||||||
C_DLLEXPORT void WINAPI GiveFnptrsToDll(enginefuncs_t *pEnginefuncsTable,globalvars_t *pGlobals)
|
C_DLLEXPORT void WINAPI GiveFnptrsToDll(enginefuncs_t *pEnginefuncsTable,globalvars_t *pGlobals)
|
||||||
{
|
{
|
||||||
memcpy(&g_engfuncs, pEnginefuncsTable, sizeof(enginefuncs_t));
|
Q_memcpy(&g_engfuncs, pEnginefuncsTable, sizeof(enginefuncs_t));
|
||||||
gpGlobals = pGlobals;
|
gpGlobals = pGlobals;
|
||||||
|
|
||||||
#if defined(_WIN32) && !defined(REGAMEDLL_UNIT_TESTS)
|
#if defined(_WIN32) && !defined(REGAMEDLL_UNIT_TESTS)
|
||||||
|
@ -24,7 +24,7 @@ TYPEDESCRIPTION (*CWallHealth::pm_SaveData)[5];
|
|||||||
LINK_ENTITY_TO_CLASS(item_healthkit, CHealthKit);
|
LINK_ENTITY_TO_CLASS(item_healthkit, CHealthKit);
|
||||||
|
|
||||||
/* <d5e25> ../cstrike/dlls/healthkit.cpp:55 */
|
/* <d5e25> ../cstrike/dlls/healthkit.cpp:55 */
|
||||||
void CHealthKit::Spawn_(void)
|
void CHealthKit::__MAKE_VHOOK(Spawn)(void)
|
||||||
{
|
{
|
||||||
Precache();
|
Precache();
|
||||||
SET_MODEL(ENT(pev), "models/w_medkit.mdl");
|
SET_MODEL(ENT(pev), "models/w_medkit.mdl");
|
||||||
@ -33,14 +33,14 @@ void CHealthKit::Spawn_(void)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* <d5d8a> ../cstrike/dlls/healthkit.cpp:63 */
|
/* <d5d8a> ../cstrike/dlls/healthkit.cpp:63 */
|
||||||
void CHealthKit::Precache_(void)
|
void CHealthKit::__MAKE_VHOOK(Precache)(void)
|
||||||
{
|
{
|
||||||
PRECACHE_MODEL("models/w_medkit.mdl");
|
PRECACHE_MODEL("models/w_medkit.mdl");
|
||||||
PRECACHE_SOUND("items/smallmedkit1.wav");
|
PRECACHE_SOUND("items/smallmedkit1.wav");
|
||||||
}
|
}
|
||||||
|
|
||||||
/* <d5fb9> ../cstrike/dlls/healthkit.cpp:69 */
|
/* <d5fb9> ../cstrike/dlls/healthkit.cpp:69 */
|
||||||
BOOL CHealthKit::MyTouch_(CBasePlayer *pPlayer)
|
BOOL CHealthKit::__MAKE_VHOOK(MyTouch)(CBasePlayer *pPlayer)
|
||||||
{
|
{
|
||||||
if (pPlayer->TakeHealth(gSkillData.healthkitCapacity, DMG_GENERIC))
|
if (pPlayer->TakeHealth(gSkillData.healthkitCapacity, DMG_GENERIC))
|
||||||
{
|
{
|
||||||
@ -68,7 +68,7 @@ IMPLEMENT_SAVERESTORE(CWallHealth, CBaseEntity);
|
|||||||
LINK_ENTITY_TO_CLASS(func_healthcharger, CWallHealth);
|
LINK_ENTITY_TO_CLASS(func_healthcharger, CWallHealth);
|
||||||
|
|
||||||
/* <d60ed> ../cstrike/dlls/healthkit.cpp:135 */
|
/* <d60ed> ../cstrike/dlls/healthkit.cpp:135 */
|
||||||
void CWallHealth::KeyValue_(KeyValueData *pkvd)
|
void CWallHealth::__MAKE_VHOOK(KeyValue)(KeyValueData *pkvd)
|
||||||
{
|
{
|
||||||
if (FStrEq(pkvd->szKeyName, "style") || FStrEq(pkvd->szKeyName, "height") || FStrEq(pkvd->szKeyName, "value1") || FStrEq(pkvd->szKeyName, "value2") || FStrEq(pkvd->szKeyName, "value3"))
|
if (FStrEq(pkvd->szKeyName, "style") || FStrEq(pkvd->szKeyName, "height") || FStrEq(pkvd->szKeyName, "value1") || FStrEq(pkvd->szKeyName, "value2") || FStrEq(pkvd->szKeyName, "value3"))
|
||||||
{
|
{
|
||||||
@ -76,7 +76,7 @@ void CWallHealth::KeyValue_(KeyValueData *pkvd)
|
|||||||
}
|
}
|
||||||
else if (FStrEq(pkvd->szKeyName, "dmdelay"))
|
else if (FStrEq(pkvd->szKeyName, "dmdelay"))
|
||||||
{
|
{
|
||||||
m_iReactivate = atoi(pkvd->szValue);
|
m_iReactivate = Q_atoi(pkvd->szValue);
|
||||||
pkvd->fHandled = TRUE;
|
pkvd->fHandled = TRUE;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
@ -84,7 +84,7 @@ void CWallHealth::KeyValue_(KeyValueData *pkvd)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* <d5dfe> ../cstrike/dlls/healthkit.cpp:154 */
|
/* <d5dfe> ../cstrike/dlls/healthkit.cpp:154 */
|
||||||
void CWallHealth::Spawn_(void)
|
void CWallHealth::__MAKE_VHOOK(Spawn)(void)
|
||||||
{
|
{
|
||||||
Precache();
|
Precache();
|
||||||
|
|
||||||
@ -102,7 +102,7 @@ void CWallHealth::Spawn_(void)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* <d5dd7> ../cstrike/dlls/healthkit.cpp:169 */
|
/* <d5dd7> ../cstrike/dlls/healthkit.cpp:169 */
|
||||||
void CWallHealth::Precache_(void)
|
void CWallHealth::__MAKE_VHOOK(Precache)(void)
|
||||||
{
|
{
|
||||||
PRECACHE_SOUND("items/medshot4.wav");
|
PRECACHE_SOUND("items/medshot4.wav");
|
||||||
PRECACHE_SOUND("items/medshotno1.wav");
|
PRECACHE_SOUND("items/medshotno1.wav");
|
||||||
@ -110,7 +110,7 @@ void CWallHealth::Precache_(void)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* <d622e> ../cstrike/dlls/healthkit.cpp:177 */
|
/* <d622e> ../cstrike/dlls/healthkit.cpp:177 */
|
||||||
void CWallHealth::Use_(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value)
|
void CWallHealth::__MAKE_VHOOK(Use)(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value)
|
||||||
{
|
{
|
||||||
// Make sure that we have a caller
|
// Make sure that we have a caller
|
||||||
if (!pActivator)
|
if (!pActivator)
|
||||||
|
@ -5,8 +5,8 @@
|
|||||||
*/
|
*/
|
||||||
#ifndef HOOK_GAMEDLL
|
#ifndef HOOK_GAMEDLL
|
||||||
|
|
||||||
cvar_t cv_hostage_stop = { "hostage_stop", "0", FCVAR_SERVER };
|
cvar_t cv_hostage_stop = { "hostage_stop", "0", FCVAR_SERVER, 0.0f, NULL };
|
||||||
cvar_t cv_hostage_debug = { "hostage_debug", "0", FCVAR_SERVER };
|
cvar_t cv_hostage_debug = { "hostage_debug", "0", FCVAR_SERVER, 0.0f, NULL };
|
||||||
|
|
||||||
#else
|
#else
|
||||||
|
|
||||||
@ -25,7 +25,7 @@ LINK_ENTITY_TO_CLASS(hostage_entity, CHostage);
|
|||||||
LINK_ENTITY_TO_CLASS(monster_scientist, CHostage);
|
LINK_ENTITY_TO_CLASS(monster_scientist, CHostage);
|
||||||
|
|
||||||
/* <45c228> ../cstrike/dlls/hostage/hostage.cpp:54 */
|
/* <45c228> ../cstrike/dlls/hostage/hostage.cpp:54 */
|
||||||
NOBODY void CHostage::Spawn_(void)
|
NOBODY void CHostage::__MAKE_VHOOK(Spawn)(void)
|
||||||
{
|
{
|
||||||
// MAKE_STRING_CLASS(const char *str,
|
// MAKE_STRING_CLASS(const char *str,
|
||||||
// entvars_t *pev); // 61
|
// entvars_t *pev); // 61
|
||||||
@ -44,7 +44,7 @@ NOBODY void CHostage::Spawn_(void)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* <45bf91> ../cstrike/dlls/hostage/hostage.cpp:137 */
|
/* <45bf91> ../cstrike/dlls/hostage/hostage.cpp:137 */
|
||||||
NOBODY void CHostage::Precache_(void)
|
NOBODY void CHostage::__MAKE_VHOOK(Precache)(void)
|
||||||
{
|
{
|
||||||
// {
|
// {
|
||||||
// int which; // 141
|
// int which; // 141
|
||||||
@ -52,18 +52,39 @@ NOBODY void CHostage::Precache_(void)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* <45c5ac> ../cstrike/dlls/hostage/hostage.cpp:179 */
|
/* <45c5ac> ../cstrike/dlls/hostage/hostage.cpp:179 */
|
||||||
NOBODY void CHostage::SetActivity(int act)
|
void CHostage::SetActivity(int act)
|
||||||
{
|
{
|
||||||
// {
|
if (m_Activity != act)
|
||||||
// int sequence; // 181
|
{
|
||||||
// }
|
int sequence = LookupActivity(act);
|
||||||
// SetActivity(CHostage *const this,
|
|
||||||
// int act); // 179
|
if (sequence != -1)
|
||||||
|
{
|
||||||
|
if (pev->sequence != sequence)
|
||||||
|
{
|
||||||
|
if ((m_Activity != ACT_WALK && m_Activity != ACT_RUN) || (act != ACT_WALK && act != ACT_RUN))
|
||||||
|
{
|
||||||
|
pev->frame = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
pev->sequence = sequence;
|
||||||
|
}
|
||||||
|
|
||||||
|
m_Activity = act;
|
||||||
|
ResetSequenceInfo();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void (*pCHostage__IdleThink)(void);
|
||||||
|
|
||||||
/* <45f194> ../cstrike/dlls/hostage/hostage.cpp:204 */
|
/* <45f194> ../cstrike/dlls/hostage/hostage.cpp:204 */
|
||||||
NOBODY void CHostage::IdleThink(void)
|
NOBODY void __declspec(naked) CHostage::IdleThink(void)
|
||||||
{
|
{
|
||||||
|
__asm
|
||||||
|
{
|
||||||
|
jmp pCHostage__IdleThink
|
||||||
|
}
|
||||||
// {
|
// {
|
||||||
// float const upkeepRate; // 220
|
// float const upkeepRate; // 220
|
||||||
// float flInterval; // 224
|
// float flInterval; // 224
|
||||||
@ -135,22 +156,46 @@ NOBODY void CHostage::Remove(void)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* <45c624> ../cstrike/dlls/hostage/hostage.cpp:426 */
|
/* <45c624> ../cstrike/dlls/hostage/hostage.cpp:426 */
|
||||||
NOBODY void CHostage::RePosition(void)
|
void CHostage::RePosition(void)
|
||||||
{
|
{
|
||||||
// Vector(Vector::RePosition(// float X,
|
pev->health = pev->max_health;
|
||||||
// float Y,
|
pev->movetype = MOVETYPE_STEP;
|
||||||
// float Z); // 449
|
pev->solid = SOLID_SLIDEBOX;
|
||||||
// Vector(Vector *const this,
|
pev->takedamage = DAMAGE_YES;
|
||||||
// float X,
|
pev->deadflag = DEAD_NO;
|
||||||
// float Y,
|
pev->velocity = Vector(0, 0, 0);
|
||||||
// float Z); // 449
|
pev->angles = m_vStartAngles;
|
||||||
// edict(CBaseEntity *const this); // 451
|
pev->effects &= ~EF_NODRAW;
|
||||||
// SetActivity(CHostage *const this,
|
|
||||||
// int act); // 453
|
m_hTargetEnt = NULL;
|
||||||
|
m_hStoppedTargetEnt = NULL;
|
||||||
|
|
||||||
|
m_bTouched = FALSE;
|
||||||
|
m_bRescueMe = FALSE;
|
||||||
|
|
||||||
|
m_flNextRadarTime = 0;
|
||||||
|
m_vOldPos = Vector(9999, 9999, 9999);
|
||||||
|
|
||||||
|
UTIL_SetOrigin(pev, m_vStart);
|
||||||
|
UTIL_SetSize(pev, VEC_HOSTAGE_HULL_MIN, VEC_HOSTAGE_HULL_MAX);
|
||||||
|
|
||||||
|
DROP_TO_FLOOR(edict());
|
||||||
|
SetActivity(ACT_IDLE);
|
||||||
|
|
||||||
|
SetThink(&CHostage::IdleThink);
|
||||||
|
pev->nextthink = gpGlobals->time + RANDOM_FLOAT(0.1, 0.2);
|
||||||
|
|
||||||
|
m_fHasPath = FALSE;
|
||||||
|
nTargetNode = -1;
|
||||||
|
|
||||||
|
m_flLastPathCheck = -1;
|
||||||
|
m_flPathAcquired = -1;
|
||||||
|
m_flPathCheckInterval = 0.1f;
|
||||||
|
m_flNextFullThink = gpGlobals->time + RANDOM_FLOAT(0.1, 0.2);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* <45ee7f> ../cstrike/dlls/hostage/hostage.cpp:469 */
|
/* <45ee7f> ../cstrike/dlls/hostage/hostage.cpp:469 */
|
||||||
NOBODY int CHostage::TakeDamage_(entvars_t *pevInflictor, entvars_t *pevAttacker, float flDamage, int bitsDamageType)
|
NOBODY int CHostage::__MAKE_VHOOK(TakeDamage)(entvars_t *pevInflictor, entvars_t *pevAttacker, float flDamage, int bitsDamageType)
|
||||||
{
|
{
|
||||||
// {
|
// {
|
||||||
// float flActualDamage; // 471
|
// float flActualDamage; // 471
|
||||||
@ -240,7 +285,7 @@ NOBODY void CHostage::ApplyHostagePenalty(CBasePlayer *pAttacker)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* <45cfd6> ../cstrike/dlls/hostage/hostage.cpp:740 */
|
/* <45cfd6> ../cstrike/dlls/hostage/hostage.cpp:740 */
|
||||||
NOBODY void CHostage::Use_(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value)
|
NOBODY void CHostage::__MAKE_VHOOK(Use)(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value)
|
||||||
{
|
{
|
||||||
// {
|
// {
|
||||||
// class CBasePlayer *pPlayer; // 742
|
// class CBasePlayer *pPlayer; // 742
|
||||||
@ -290,12 +335,12 @@ NOBODY void CHostage::GiveCTTouchBonus(CBasePlayer *pPlayer)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* <45bf69> ../cstrike/dlls/hostage/hostage.cpp:869 */
|
/* <45bf69> ../cstrike/dlls/hostage/hostage.cpp:869 */
|
||||||
NOBODY int CHostage::ObjectCaps_(void)
|
NOBODY int CHostage::__MAKE_VHOOK(ObjectCaps)(void)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
/* <45c0e3> ../cstrike/dlls/hostage/hostage.cpp:876 */
|
/* <45c0e3> ../cstrike/dlls/hostage/hostage.cpp:876 */
|
||||||
NOBODY void CHostage::Touch_(CBaseEntity *pOther)
|
NOBODY void CHostage::__MAKE_VHOOK(Touch)(CBaseEntity *pOther)
|
||||||
{
|
{
|
||||||
// {
|
// {
|
||||||
// class Vector2D vPush; // 901
|
// class Vector2D vPush; // 901
|
||||||
@ -395,31 +440,16 @@ NOBODY BOOL CHostage::IsOnLadder(void)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* <45d727> ../cstrike/dlls/hostage/hostage.cpp:1106 */
|
/* <45d727> ../cstrike/dlls/hostage/hostage.cpp:1106 */
|
||||||
NOBODY void CHostage::NavReady(void)
|
void CHostage::NavReady(void)
|
||||||
{
|
{
|
||||||
// {
|
|
||||||
// class CBaseEntity *pFollowing; // 1108
|
|
||||||
// Vector vecDest; // 1109
|
|
||||||
// float flRadius; // 1110
|
|
||||||
// node_index_t nindexPath; // 1111
|
|
||||||
// GetClassPtr<CBaseEntity>(CBaseEntity *a); // 1118
|
|
||||||
// {
|
|
||||||
// TraceResult tr; // 1123
|
|
||||||
// Vector vecDropDest; // 1124
|
|
||||||
// edict(CBaseEntity *const this); // 1129
|
|
||||||
// }
|
|
||||||
// SetTargetEnt(CLocalNav *const this,
|
|
||||||
// class CBaseEntity *pTarget); // 1142
|
|
||||||
// }
|
|
||||||
|
|
||||||
CBaseEntity *pFollowing;
|
CBaseEntity *pFollowing;
|
||||||
Vector vecDest;
|
Vector vecDest;
|
||||||
float flRadius = 40.0;
|
float flRadius = 40.0;
|
||||||
|
|
||||||
node_index_t nindexPath;
|
|
||||||
|
|
||||||
if (!m_hTargetEnt)
|
if (!m_hTargetEnt)
|
||||||
|
{
|
||||||
return;
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
pFollowing = GetClassPtr((CBaseEntity *)m_hTargetEnt->pev);
|
pFollowing = GetClassPtr((CBaseEntity *)m_hTargetEnt->pev);
|
||||||
vecDest = pFollowing->pev->origin;
|
vecDest = pFollowing->pev->origin;
|
||||||
@ -427,35 +457,41 @@ NOBODY void CHostage::NavReady(void)
|
|||||||
if (!(pFollowing->pev->flags & FL_ONGROUND))
|
if (!(pFollowing->pev->flags & FL_ONGROUND))
|
||||||
{
|
{
|
||||||
TraceResult tr;
|
TraceResult tr;
|
||||||
Vector vecDropDest = pFollowing->pev->origin - Vector(0, 0, 300);
|
Vector vecDropDest = (pFollowing->pev->origin - Vector(0, 0, 300));
|
||||||
|
|
||||||
UTIL_TraceHull(vecDest, vecDropDest, ignore_monsters, human_hull, pFollowing->edict(), &tr);
|
UTIL_TraceHull(vecDest, vecDropDest, ignore_monsters, human_hull, pFollowing->edict(), &tr);
|
||||||
|
|
||||||
if (tr.fStartSolid || tr.flFraction == 1.0)
|
if (tr.fStartSolid || tr.flFraction == 1.0f)
|
||||||
|
{
|
||||||
return;
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
vecDest = tr.vecEndPos;
|
vecDest = tr.vecEndPos;
|
||||||
}
|
}
|
||||||
|
|
||||||
vecDest.z += pFollowing->pev->mins.z;
|
vecDest.z += pFollowing->pev->mins.z;
|
||||||
m_LocalNav->SetTargetEnt(pFollowing);
|
m_LocalNav->SetTargetEnt(pFollowing);
|
||||||
nindexPath = m_LocalNav->FindPath(pev->origin, vecDest, flRadius, 1);// TODO: Reverse me
|
|
||||||
|
|
||||||
if (nindexPath != -1)
|
node_index_t nindexPath = m_LocalNav->FindPath(pev->origin, vecDest, flRadius, 1);
|
||||||
|
if (nindexPath == -1)
|
||||||
{
|
{
|
||||||
m_fHasPath = TRUE;
|
if (!m_fHasPath)
|
||||||
nTargetNode = -1;
|
|
||||||
m_flPathCheckInterval = 0.5;
|
|
||||||
|
|
||||||
m_flPathAcquired = gpGlobals->time;
|
|
||||||
m_nPathNodes = m_LocalNav->SetupPathNodes(nindexPath, vecNodes, 1);// TODO: Reverse me
|
|
||||||
}
|
|
||||||
else if (!m_fHasPath)
|
|
||||||
{
|
{
|
||||||
m_flPathCheckInterval += 0.1;
|
m_flPathCheckInterval += 0.1;
|
||||||
|
|
||||||
if (m_flPathCheckInterval >= 0.5f)
|
if (m_flPathCheckInterval >= 0.5f)
|
||||||
|
{
|
||||||
|
m_flPathCheckInterval = 0.5f;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
m_fHasPath = TRUE;
|
||||||
|
nTargetNode = -1;
|
||||||
|
m_flPathAcquired = gpGlobals->time;
|
||||||
m_flPathCheckInterval = 0.5;
|
m_flPathCheckInterval = 0.5;
|
||||||
|
|
||||||
|
m_nPathNodes = m_LocalNav->SetupPathNodes(nindexPath, vecNodes, 1);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -544,14 +580,20 @@ void CHostage::PreThink(void)
|
|||||||
float flRaisedDist;
|
float flRaisedDist;
|
||||||
float flInterval;
|
float flInterval;
|
||||||
|
|
||||||
if (m_improv)
|
if (m_improv != NULL)
|
||||||
|
{
|
||||||
return;
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
if (!(pev->flags & FL_ONGROUND))
|
if (!(pev->flags & FL_ONGROUND))
|
||||||
|
{
|
||||||
return;
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
if (pev->velocity.Length2D() < 1)
|
if (pev->velocity.Length2D() < 1)
|
||||||
|
{
|
||||||
return;
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
vecSrc = pev->origin;
|
vecSrc = pev->origin;
|
||||||
|
|
||||||
@ -566,8 +608,10 @@ void CHostage::PreThink(void)
|
|||||||
|
|
||||||
TRACE_MONSTER_HULL(edict(), vecSrc, vecDest, dont_ignore_monsters, edict(), &tr);
|
TRACE_MONSTER_HULL(edict(), vecSrc, vecDest, dont_ignore_monsters, edict(), &tr);
|
||||||
|
|
||||||
if (tr.fStartSolid || tr.flFraction == 1.0 || tr.vecPlaneNormal.z > 0.7)
|
if (tr.fStartSolid || tr.flFraction == 1.0f || tr.vecPlaneNormal.z > 0.7f)
|
||||||
|
{
|
||||||
return;
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
flOrigDist = (tr.vecEndPos - pev->origin).Length2D();
|
flOrigDist = (tr.vecEndPos - pev->origin).Length2D();
|
||||||
vecSrc.z += flInterval;
|
vecSrc.z += flInterval;
|
||||||
@ -577,7 +621,9 @@ void CHostage::PreThink(void)
|
|||||||
TRACE_MONSTER_HULL(edict(), vecSrc, vecDest, dont_ignore_monsters, edict(), &tr);
|
TRACE_MONSTER_HULL(edict(), vecSrc, vecDest, dont_ignore_monsters, edict(), &tr);
|
||||||
|
|
||||||
if (tr.fStartSolid)
|
if (tr.fStartSolid)
|
||||||
|
{
|
||||||
return;
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
vecSrc = tr.vecEndPos;
|
vecSrc = tr.vecEndPos;
|
||||||
vecDest = tr.vecEndPos;
|
vecDest = tr.vecEndPos;
|
||||||
@ -585,8 +631,10 @@ void CHostage::PreThink(void)
|
|||||||
|
|
||||||
TRACE_MONSTER_HULL(edict(), vecSrc, vecDest, dont_ignore_monsters, edict(), &tr);
|
TRACE_MONSTER_HULL(edict(), vecSrc, vecDest, dont_ignore_monsters, edict(), &tr);
|
||||||
|
|
||||||
if (tr.vecPlaneNormal.z < 0.7)
|
if (tr.vecPlaneNormal.z < 0.7f)
|
||||||
|
{
|
||||||
return;
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
flRaisedDist = (tr.vecEndPos - pev->origin).Length2D();
|
flRaisedDist = (tr.vecEndPos - pev->origin).Length2D();
|
||||||
|
|
||||||
@ -618,7 +666,7 @@ NOBODY void InstallHostageManager(void)
|
|||||||
/* <45e375> ../cstrike/dlls/hostage/hostage.cpp:1443 */
|
/* <45e375> ../cstrike/dlls/hostage/hostage.cpp:1443 */
|
||||||
NOBODY CHostageManager::CHostageManager(void)
|
NOBODY CHostageManager::CHostageManager(void)
|
||||||
{
|
{
|
||||||
memset(&m_chatter, 0, sizeof(m_chatter));
|
Q_memset(&m_chatter, 0, sizeof(m_chatter));
|
||||||
m_hostageCount = 0;
|
m_hostageCount = 0;
|
||||||
|
|
||||||
// SimpleChatter(SimpleChatter *const this); // 1443
|
// SimpleChatter(SimpleChatter *const this); // 1443
|
||||||
@ -777,11 +825,15 @@ void CHostageManager::ServerDeactivate(void)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* <45e3f7> ../cstrike/dlls/hostage/hostage.cpp:1631 */
|
/* <45e3f7> ../cstrike/dlls/hostage/hostage.cpp:1631 */
|
||||||
NOBODY void CHostageManager::RestartRound(void)
|
void CHostageManager::RestartRound(void)
|
||||||
{
|
{
|
||||||
// {
|
for (int i = 0; i < m_hostageCount; i++)
|
||||||
// int i; // 1634
|
{
|
||||||
// }
|
if (m_hostage[ i ]->m_improv != NULL)
|
||||||
|
{
|
||||||
|
m_hostage[ i ]->m_improv->OnReset();
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/* <45e43d> ../cstrike/dlls/hostage/hostage.cpp:1640 */
|
/* <45e43d> ../cstrike/dlls/hostage/hostage.cpp:1640 */
|
||||||
@ -846,10 +898,12 @@ void CHostageManager::OnEvent(GameEventType event, CBaseEntity *entity, CBaseEnt
|
|||||||
{
|
{
|
||||||
CHostageImprov *improv = m_hostage[ i ]->m_improv;
|
CHostageImprov *improv = m_hostage[ i ]->m_improv;
|
||||||
|
|
||||||
if (improv)
|
if (improv != NULL)
|
||||||
|
{
|
||||||
improv->OnGameEvent(event, entity, other);
|
improv->OnGameEvent(event, entity, other);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/* <45e6b8> ../cstrike/dlls/hostage/hostage.cpp:1726 */
|
/* <45e6b8> ../cstrike/dlls/hostage/hostage.cpp:1726 */
|
||||||
SimpleChatter::SimpleChatter(void)
|
SimpleChatter::SimpleChatter(void)
|
||||||
|
@ -39,6 +39,11 @@
|
|||||||
#define MAX_HOSTAGES_NAV 20
|
#define MAX_HOSTAGES_NAV 20
|
||||||
|
|
||||||
#define HOSTAGE_STEPSIZE 26.0
|
#define HOSTAGE_STEPSIZE 26.0
|
||||||
|
#define HOSTAGE_STEPSIZE_DEFAULT 18.0
|
||||||
|
|
||||||
|
#define VEC_HOSTAGE_VIEW Vector(0, 0, 12)
|
||||||
|
#define VEC_HOSTAGE_HULL_MIN Vector(-10, -10, 0)
|
||||||
|
#define VEC_HOSTAGE_HULL_MAX Vector(10, 10, 62)
|
||||||
|
|
||||||
class CHostage;
|
class CHostage;
|
||||||
class CLocalNav;
|
class CLocalNav;
|
||||||
@ -106,10 +111,11 @@ public:
|
|||||||
NOBODY virtual void Touch(CBaseEntity *pOther);
|
NOBODY virtual void Touch(CBaseEntity *pOther);
|
||||||
NOBODY virtual void Use(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value);
|
NOBODY virtual void Use(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value);
|
||||||
|
|
||||||
|
public:
|
||||||
NOBODY void EXPORT IdleThink(void);
|
NOBODY void EXPORT IdleThink(void);
|
||||||
NOBODY void Remove(void);
|
NOBODY void Remove(void);
|
||||||
NOBODY void RePosition(void);
|
void RePosition(void);
|
||||||
NOBODY void SetActivity(int act);
|
void SetActivity(int act);
|
||||||
NOBODY int GetActivity(void);
|
NOBODY int GetActivity(void);
|
||||||
NOBODY float GetModifiedDamage(float flDamage, int nHitGroup);
|
NOBODY float GetModifiedDamage(float flDamage, int nHitGroup);
|
||||||
NOBODY void SetFlinchActivity(void);
|
NOBODY void SetFlinchActivity(void);
|
||||||
@ -132,9 +138,18 @@ public:
|
|||||||
NOBODY bool IsFollowingSomeone(void)
|
NOBODY bool IsFollowingSomeone(void)
|
||||||
{
|
{
|
||||||
UNTESTED
|
UNTESTED
|
||||||
return ((CHostageImprov *)m_improv)->IsFollowing();
|
return m_improv->IsFollowing(NULL);
|
||||||
|
}
|
||||||
|
NOBODY CBaseEntity *GetLeader(void)
|
||||||
|
{
|
||||||
|
UNTESTED
|
||||||
|
if (m_improv != NULL)
|
||||||
|
{
|
||||||
|
return m_improv->GetFollowLeader();
|
||||||
|
}
|
||||||
|
|
||||||
|
return NULL;
|
||||||
}
|
}
|
||||||
NOBODY CBaseEntity *GetLeader(void);//
|
|
||||||
NOBODY bool IsFollowing(const CBaseEntity *entity)
|
NOBODY bool IsFollowing(const CBaseEntity *entity)
|
||||||
{
|
{
|
||||||
return (entity == m_hTargetEnt && m_State == FOLLOW);
|
return (entity == m_hTargetEnt && m_State == FOLLOW);
|
||||||
@ -263,7 +278,7 @@ public:
|
|||||||
void ServerActivate(void);
|
void ServerActivate(void);
|
||||||
void ServerDeactivate(void);
|
void ServerDeactivate(void);
|
||||||
|
|
||||||
NOBODY void RestartRound(void);
|
void RestartRound(void);
|
||||||
void AddHostage(CHostage *hostage);
|
void AddHostage(CHostage *hostage);
|
||||||
SimpleChatter *GetChatter(void)
|
SimpleChatter *GetChatter(void)
|
||||||
{
|
{
|
||||||
@ -352,4 +367,7 @@ private:
|
|||||||
void Hostage_RegisterCVars(void);
|
void Hostage_RegisterCVars(void);
|
||||||
NOBODY void InstallHostageManager(void);
|
NOBODY void InstallHostageManager(void);
|
||||||
|
|
||||||
|
// refs
|
||||||
|
extern void (*pCHostage__IdleThink)(void);
|
||||||
|
|
||||||
#endif // HOSTAGE_H
|
#endif // HOSTAGE_H
|
||||||
|
@ -45,12 +45,12 @@ CHostageImprov::CHostageImprov(CBaseEntity *entity)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* <470d33> ../cstrike/dlls/hostage/hostage_improv.cpp:52 */
|
/* <470d33> ../cstrike/dlls/hostage/hostage_improv.cpp:52 */
|
||||||
NOBODY bool CHostageImprov::IsAlive(void) const
|
NOBODY bool CHostageImprov::__MAKE_VHOOK(IsAlive)(void) const
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
/* <474809> ../cstrike/dlls/hostage/hostage_improv.cpp:61 */
|
/* <474809> ../cstrike/dlls/hostage/hostage_improv.cpp:61 */
|
||||||
NOBODY void CHostageImprov::MoveTo(const Vector &goal)
|
NOBODY void CHostageImprov::__MAKE_VHOOK(MoveTo)(const Vector &goal)
|
||||||
{
|
{
|
||||||
// Invalidate(CNavPath *const this); // 64
|
// Invalidate(CNavPath *const this); // 64
|
||||||
// MoveTo(CHostageImprov *const this,
|
// MoveTo(CHostageImprov *const this,
|
||||||
@ -58,7 +58,7 @@ NOBODY void CHostageImprov::MoveTo(const Vector &goal)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* <4717e4> ../cstrike/dlls/hostage/hostage_improv.cpp:78 */
|
/* <4717e4> ../cstrike/dlls/hostage/hostage_improv.cpp:78 */
|
||||||
NOBODY bool CHostageImprov::GetSimpleGroundHeightWithFloor(const Vector *pos, float *height, Vector *normal)
|
NOBODY bool CHostageImprov::__MAKE_VHOOK(GetSimpleGroundHeightWithFloor)(const Vector *pos, float *height, Vector *normal)
|
||||||
{
|
{
|
||||||
// GetSimpleGroundHeightWithFloor(CHostageImprov *const this,
|
// GetSimpleGroundHeightWithFloor(CHostageImprov *const this,
|
||||||
// const Vector *pos,
|
// const Vector *pos,
|
||||||
@ -79,22 +79,22 @@ NOBODY bool CHostageImprov::DiscontinuityJump(float ground, bool onlyJumpDown, b
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* <470d5b> ../cstrike/dlls/hostage/hostage_improv.cpp:116 */
|
/* <470d5b> ../cstrike/dlls/hostage/hostage_improv.cpp:116 */
|
||||||
NOBODY void CHostageImprov::LookAt(const Vector &target)
|
NOBODY void CHostageImprov::__MAKE_VHOOK(LookAt)(const Vector &target)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
/* <470d97> ../cstrike/dlls/hostage/hostage_improv.cpp:126 */
|
/* <470d97> ../cstrike/dlls/hostage/hostage_improv.cpp:126 */
|
||||||
NOBODY void CHostageImprov::ClearLookAt(void)
|
NOBODY void CHostageImprov::__MAKE_VHOOK(ClearLookAt)(void)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
/* <470dbf> ../cstrike/dlls/hostage/hostage_improv.cpp:135 */
|
/* <470dbf> ../cstrike/dlls/hostage/hostage_improv.cpp:135 */
|
||||||
NOBODY void CHostageImprov::FaceTo(const Vector &goal)
|
NOBODY void CHostageImprov::__MAKE_VHOOK(FaceTo)(const Vector &goal)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
/* <470dfb> ../cstrike/dlls/hostage/hostage_improv.cpp:145 */
|
/* <470dfb> ../cstrike/dlls/hostage/hostage_improv.cpp:145 */
|
||||||
NOBODY void CHostageImprov::ClearFaceTo(void)
|
NOBODY void CHostageImprov::__MAKE_VHOOK(ClearFaceTo)(void)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -214,7 +214,7 @@ NOBODY void CHostageImprov::FaceOutwards(void)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* <470e23> ../cstrike/dlls/hostage/hostage_improv.cpp:344 */
|
/* <470e23> ../cstrike/dlls/hostage/hostage_improv.cpp:344 */
|
||||||
NOBODY bool CHostageImprov::IsAtMoveGoal(float error) const
|
NOBODY bool CHostageImprov::__MAKE_VHOOK(IsAtMoveGoal)(float error) const
|
||||||
{
|
{
|
||||||
// operator-(const Vector *const this,
|
// operator-(const Vector *const this,
|
||||||
// const Vector &v); // 346
|
// const Vector &v); // 346
|
||||||
@ -223,12 +223,12 @@ NOBODY bool CHostageImprov::IsAtMoveGoal(float error) const
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* <470eab> ../cstrike/dlls/hostage/hostage_improv.cpp:353 */
|
/* <470eab> ../cstrike/dlls/hostage/hostage_improv.cpp:353 */
|
||||||
NOBODY bool CHostageImprov::IsAtFaceGoal(void) const
|
NOBODY bool CHostageImprov::__MAKE_VHOOK(IsAtFaceGoal)(void) const
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
/* <46fb4b> ../cstrike/dlls/hostage/hostage_improv.cpp:395 */
|
/* <46fb4b> ../cstrike/dlls/hostage/hostage_improv.cpp:395 */
|
||||||
NOBODY bool CHostageImprov::IsFriendInTheWay(const Vector &goalPos) const
|
NOBODY bool CHostageImprov::__MAKE_VHOOK(IsFriendInTheWay)(const Vector &goalPos) const
|
||||||
{
|
{
|
||||||
// {
|
// {
|
||||||
// float const avoidFriendInterval; // 403
|
// float const avoidFriendInterval; // 403
|
||||||
@ -248,7 +248,7 @@ NOBODY bool CHostageImprov::IsFriendInTheWay(const Vector &goalPos) const
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* <472b83> ../cstrike/dlls/hostage/hostage_improv.cpp:453 */
|
/* <472b83> ../cstrike/dlls/hostage/hostage_improv.cpp:453 */
|
||||||
NOBODY bool CHostageImprov::IsFriendInTheWay(CBaseEntity *myFriend, const Vector &goalPos) const
|
NOBODY bool CHostageImprov::__MAKE_VHOOK(IsFriendInTheWay)(CBaseEntity *myFriend, const Vector &goalPos) const
|
||||||
{
|
{
|
||||||
// {
|
// {
|
||||||
// Vector moveDir; // 460
|
// Vector moveDir; // 460
|
||||||
@ -302,7 +302,7 @@ NOBODY float CHostageImprov::GetSpeed(void)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* <46f249> ../cstrike/dlls/hostage/hostage_improv.cpp:592 */
|
/* <46f249> ../cstrike/dlls/hostage/hostage_improv.cpp:592 */
|
||||||
NOBODY bool CHostageImprov::Jump(void)
|
NOBODY bool CHostageImprov::__MAKE_VHOOK(Jump)(void)
|
||||||
{
|
{
|
||||||
// IsElapsed(const class CountdownTimer *const this); // 604
|
// IsElapsed(const class CountdownTimer *const this); // 604
|
||||||
// {
|
// {
|
||||||
@ -316,42 +316,45 @@ NOBODY bool CHostageImprov::Jump(void)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* <470ed3> ../cstrike/dlls/hostage/hostage_improv.cpp:632 */
|
/* <470ed3> ../cstrike/dlls/hostage/hostage_improv.cpp:632 */
|
||||||
NOBODY void CHostageImprov::Run(void)
|
NOBODY void CHostageImprov::__MAKE_VHOOK(Run)(void)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
/* <470efb> ../cstrike/dlls/hostage/hostage_improv.cpp:638 */
|
/* <470efb> ../cstrike/dlls/hostage/hostage_improv.cpp:638 */
|
||||||
NOBODY void CHostageImprov::Walk(void)
|
NOBODY void CHostageImprov::__MAKE_VHOOK(Walk)(void)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
/* <470f23> ../cstrike/dlls/hostage/hostage_improv.cpp:644 */
|
/* <470f23> ../cstrike/dlls/hostage/hostage_improv.cpp:644 */
|
||||||
NOBODY void CHostageImprov::Stop(void)
|
NOBODY void CHostageImprov::__MAKE_VHOOK(Stop)(void)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
/* <470f4c> ../cstrike/dlls/hostage/hostage_improv.cpp:655 */
|
/* <470f4c> ../cstrike/dlls/hostage/hostage_improv.cpp:655 */
|
||||||
NOBODY const Vector &CHostageImprov::GetFeet(void) const
|
const Vector &CHostageImprov::__MAKE_VHOOK(GetFeet)(void) const
|
||||||
{
|
{
|
||||||
|
return m_hostage->pev->origin;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* <470f74> ../cstrike/dlls/hostage/hostage_improv.cpp:661 */
|
/* <470f74> ../cstrike/dlls/hostage/hostage_improv.cpp:661 */
|
||||||
NOBODY const Vector &CHostageImprov::GetCentroid(void) const
|
NOBODY const Vector &CHostageImprov::__MAKE_VHOOK(GetCentroid)(void)
|
||||||
{
|
{
|
||||||
|
m_centroid = m_hostage->pev->origin + Vector(0, 0, 36);
|
||||||
|
return m_centroid;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* <470f9c> ../cstrike/dlls/hostage/hostage_improv.cpp:671 */
|
/* <470f9c> ../cstrike/dlls/hostage/hostage_improv.cpp:671 */
|
||||||
NOBODY const Vector &CHostageImprov::GetEyes(void) const
|
NOBODY const Vector &CHostageImprov::__MAKE_VHOOK(GetEyes)(void) const
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
/* <470fc4> ../cstrike/dlls/hostage/hostage_improv.cpp:681 */
|
/* <470fc4> ../cstrike/dlls/hostage/hostage_improv.cpp:681 */
|
||||||
NOBODY bool CHostageImprov::IsOnGround(void) const
|
NOBODY bool CHostageImprov::__MAKE_VHOOK(IsOnGround)(void) const
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
/* <470fec> ../cstrike/dlls/hostage/hostage_improv.cpp:687 */
|
/* <470fec> ../cstrike/dlls/hostage/hostage_improv.cpp:687 */
|
||||||
NOBODY bool CHostageImprov::IsMoving(void) const
|
NOBODY bool CHostageImprov::__MAKE_VHOOK(IsMoving)(void) const
|
||||||
{
|
{
|
||||||
// {
|
// {
|
||||||
// float const epsilon; // 689
|
// float const epsilon; // 689
|
||||||
@ -361,7 +364,7 @@ NOBODY bool CHostageImprov::IsMoving(void) const
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* <4715d1> ../cstrike/dlls/hostage/hostage_improv.cpp:697 */
|
/* <4715d1> ../cstrike/dlls/hostage/hostage_improv.cpp:697 */
|
||||||
NOBODY bool CHostageImprov::IsVisible(const Vector &pos, bool testFOV) const
|
NOBODY bool CHostageImprov::__MAKE_VHOOK(IsVisible)(const Vector &pos, bool testFOV) const
|
||||||
{
|
{
|
||||||
// {
|
// {
|
||||||
// class Vectorconst eye; // 707
|
// class Vectorconst eye; // 707
|
||||||
@ -372,7 +375,7 @@ NOBODY bool CHostageImprov::IsVisible(const Vector &pos, bool testFOV) const
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* <472938> ../cstrike/dlls/hostage/hostage_improv.cpp:728 */
|
/* <472938> ../cstrike/dlls/hostage/hostage_improv.cpp:728 */
|
||||||
NOBODY bool CHostageImprov::IsPlayerLookingAtMe(CBasePlayer *other, float cosTolerance) const
|
NOBODY bool CHostageImprov::__MAKE_VHOOK(IsPlayerLookingAtMe)(CBasePlayer *other, float cosTolerance) const
|
||||||
{
|
{
|
||||||
// {
|
// {
|
||||||
// class Vector2D toOther; // 730
|
// class Vector2D toOther; // 730
|
||||||
@ -385,7 +388,7 @@ NOBODY bool CHostageImprov::IsPlayerLookingAtMe(CBasePlayer *other, float cosTol
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* <472a9f> ../cstrike/dlls/hostage/hostage_improv.cpp:757 */
|
/* <472a9f> ../cstrike/dlls/hostage/hostage_improv.cpp:757 */
|
||||||
NOBODY CBasePlayer *CHostageImprov::IsAnyPlayerLookingAtMe(int team, float cosTolerance) const
|
NOBODY CBasePlayer *CHostageImprov::__MAKE_VHOOK(IsAnyPlayerLookingAtMe)(int team, float cosTolerance) const
|
||||||
{
|
{
|
||||||
// {
|
// {
|
||||||
// int i; // 759
|
// int i; // 759
|
||||||
@ -397,7 +400,7 @@ NOBODY CBasePlayer *CHostageImprov::IsAnyPlayerLookingAtMe(int team, float cosTo
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* <472e7b> ../cstrike/dlls/hostage/hostage_improv.cpp:783 */
|
/* <472e7b> ../cstrike/dlls/hostage/hostage_improv.cpp:783 */
|
||||||
NOBODY CBasePlayer *CHostageImprov::GetClosestPlayerByTravelDistance(int team, float *range) const
|
NOBODY CBasePlayer *CHostageImprov::__MAKE_VHOOK(GetClosestPlayerByTravelDistance)(int team, float *range) const
|
||||||
{
|
{
|
||||||
// {
|
// {
|
||||||
// class CBasePlayer *close; // 788
|
// class CBasePlayer *close; // 788
|
||||||
@ -420,21 +423,60 @@ NOBODY CBasePlayer *CHostageImprov::GetClosestPlayerByTravelDistance(int team, f
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* <47166d> ../cstrike/dlls/hostage/hostage_improv.cpp:822 */
|
/* <47166d> ../cstrike/dlls/hostage/hostage_improv.cpp:822 */
|
||||||
NOBODY void CHostageImprov::OnReset(void)
|
void CHostageImprov::__MAKE_VHOOK(OnReset)(void)
|
||||||
{
|
{
|
||||||
// Invalidate(CountdownTimer *const this); // 833
|
m_moveFlags = 0;
|
||||||
// SetMoveAngle(CHostageImprov *const this,
|
m_moveType = Stopped;
|
||||||
// float angle); // 840
|
m_moveLimit = Running;
|
||||||
// Invalidate(CountdownTimer *const this); // 846
|
|
||||||
// Invalidate(CNavPath *const this); // 856
|
m_vel.x = 0;
|
||||||
// Invalidate(CountdownTimer *const this); // 854
|
m_vel.y = 0;
|
||||||
// Start(IntervalTimer *const this); // 863
|
|
||||||
// Start(IntervalTimer *const this); // 864
|
m_actualVel = Vector(0, 0, 0);
|
||||||
// Invalidate(CountdownTimer *const this); // 866
|
m_checkNearbyTerroristTimer.Invalidate();
|
||||||
// Invalidate(CountdownTimer *const this); // 868
|
|
||||||
// Idle(CHostageImprov *const this); // 879
|
m_lastKnownArea = NULL;
|
||||||
// Reset(SimpleStateMachine<CHostageImprov*, HostageState> *const this,
|
m_hasKnownGoodPos = false;
|
||||||
// class CHostageImprov *userData); // 878
|
m_hasPriorKnownGoodPos = false;
|
||||||
|
m_isTerroristNearby = false;
|
||||||
|
m_isCrouching = false;
|
||||||
|
|
||||||
|
SetMoveAngle(m_hostage->pev->angles.y);
|
||||||
|
|
||||||
|
m_moveGoal = m_hostage->m_vStart;
|
||||||
|
|
||||||
|
ClearLookAt();
|
||||||
|
ClearFaceTo();
|
||||||
|
|
||||||
|
m_blinkTimer.Invalidate();
|
||||||
|
m_blinkCounter = 0;
|
||||||
|
|
||||||
|
m_hostage->SetBoneController(2, 0);
|
||||||
|
m_hostage->SetBoneController(3, 0);
|
||||||
|
m_hostage->SetBoneController(4, 0);
|
||||||
|
|
||||||
|
m_path.Invalidate();
|
||||||
|
m_chatterTimer.Invalidate();
|
||||||
|
|
||||||
|
m_visiblePlayerCount = 0;
|
||||||
|
m_isDelayedChatterPending = 0;
|
||||||
|
|
||||||
|
m_animateState.Reset();
|
||||||
|
m_didFidget = 0;
|
||||||
|
|
||||||
|
m_lastSawCT.Start();
|
||||||
|
m_lastSawT.Start();
|
||||||
|
|
||||||
|
m_scaredTimer.Invalidate();
|
||||||
|
m_jumpTimer.Invalidate();
|
||||||
|
m_hasJumped = false;
|
||||||
|
|
||||||
|
m_isFriendInTheWay = false;
|
||||||
|
m_aggression = RANDOM_FLOAT(0, 1);
|
||||||
|
|
||||||
|
StandUp();
|
||||||
|
m_behavior.Reset(this);
|
||||||
|
Idle();
|
||||||
}
|
}
|
||||||
|
|
||||||
/* <474659> ../cstrike/dlls/hostage/hostage_improv.cpp:886 */
|
/* <474659> ../cstrike/dlls/hostage/hostage_improv.cpp:886 */
|
||||||
@ -455,7 +497,7 @@ NOBODY void CHostageImprov::UpdateVision(void)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* <476e49> ../cstrike/dlls/hostage/hostage_improv.cpp:997 */
|
/* <476e49> ../cstrike/dlls/hostage/hostage_improv.cpp:997 */
|
||||||
NOBODY void CHostageImprov::TrackPath(const Vector &pathGoal, float deltaT)
|
NOBODY void CHostageImprov::__MAKE_VHOOK(TrackPath)(const Vector &pathGoal, float deltaT)
|
||||||
{
|
{
|
||||||
// TrackPath(CHostageImprov *const this,
|
// TrackPath(CHostageImprov *const this,
|
||||||
// const Vector &pathGoal,
|
// const Vector &pathGoal,
|
||||||
@ -485,12 +527,12 @@ NOBODY void CHostageImprov::ResetToKnownGoodPosition(void)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* <47105c> ../cstrike/dlls/hostage/hostage_improv.cpp:1082 */
|
/* <47105c> ../cstrike/dlls/hostage/hostage_improv.cpp:1082 */
|
||||||
NOBODY void CHostageImprov::StartLadder(const class CNavLadder *ladder, NavTraverseType how, const Vector *approachPos, const Vector *departPos)
|
NOBODY void CHostageImprov::__MAKE_VHOOK(StartLadder)(const class CNavLadder *ladder, NavTraverseType how, const Vector *approachPos, const Vector *departPos)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
/* <4710c4> ../cstrike/dlls/hostage/hostage_improv.cpp:1094 */
|
/* <4710c4> ../cstrike/dlls/hostage/hostage_improv.cpp:1094 */
|
||||||
NOBODY bool CHostageImprov::TraverseLadder(const CNavLadder *ladder, NavTraverseType how, const Vector *approachPos, const Vector *departPos, float deltaT)
|
NOBODY bool CHostageImprov::__MAKE_VHOOK(TraverseLadder)(const CNavLadder *ladder, NavTraverseType how, const Vector *approachPos, const Vector *departPos, float deltaT)
|
||||||
{
|
{
|
||||||
// {
|
// {
|
||||||
// Vector goal; // 1098
|
// Vector goal; // 1098
|
||||||
@ -597,7 +639,7 @@ NOBODY void CHostageImprov::UpdatePosition(float deltaT)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* <47837a> ../cstrike/dlls/hostage/hostage_improv.cpp:1384 */
|
/* <47837a> ../cstrike/dlls/hostage/hostage_improv.cpp:1384 */
|
||||||
NOBODY void CHostageImprov::OnUpkeep(float deltaT)
|
NOBODY void CHostageImprov::__MAKE_VHOOK(OnUpkeep)(float deltaT)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -649,7 +691,7 @@ NOBODY void CHostageImprov::UpdateGrenadeReactions(void)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* <475ce3> ../cstrike/dlls/hostage/hostage_improv.cpp:1502 */
|
/* <475ce3> ../cstrike/dlls/hostage/hostage_improv.cpp:1502 */
|
||||||
NOBODY void CHostageImprov::OnUpdate(float deltaT)
|
NOBODY void CHostageImprov::__MAKE_VHOOK(OnUpdate)(float deltaT)
|
||||||
{
|
{
|
||||||
// {
|
// {
|
||||||
// float const runSpeed; // 1553
|
// float const runSpeed; // 1553
|
||||||
@ -668,7 +710,7 @@ NOBODY void CHostageImprov::OnUpdate(float deltaT)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* <47552a> ../cstrike/dlls/hostage/hostage_improv.cpp:1705 */
|
/* <47552a> ../cstrike/dlls/hostage/hostage_improv.cpp:1705 */
|
||||||
NOBODY void CHostageImprov::OnGameEvent(GameEventType event, CBaseEntity *entity, CBaseEntity *other)
|
NOBODY void CHostageImprov::__MAKE_VHOOK(OnGameEvent)(GameEventType event, CBaseEntity *entity, CBaseEntity *other)
|
||||||
{
|
{
|
||||||
// DelayedChatter(CHostageImprov *const this,
|
// DelayedChatter(CHostageImprov *const this,
|
||||||
// float delayTime,
|
// float delayTime,
|
||||||
@ -729,7 +771,7 @@ NOBODY void CHostageImprov::OnGameEvent(GameEventType event, CBaseEntity *entity
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* <471e27> ../cstrike/dlls/hostage/hostage_improv.cpp:1854 */
|
/* <471e27> ../cstrike/dlls/hostage/hostage_improv.cpp:1854 */
|
||||||
NOBODY void CHostageImprov::OnTouch(CBaseEntity *other)
|
NOBODY void CHostageImprov::__MAKE_VHOOK(OnTouch)(CBaseEntity *other)
|
||||||
{
|
{
|
||||||
// {
|
// {
|
||||||
// const char *classname; // 1856
|
// const char *classname; // 1856
|
||||||
@ -991,7 +1033,7 @@ NOBODY void CHostageImprov::Wave(void)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* <474938> ../cstrike/dlls/hostage/hostage_improv.cpp:2375 */
|
/* <474938> ../cstrike/dlls/hostage/hostage_improv.cpp:2375 */
|
||||||
NOBODY void CHostageImprov::OnMoveToFailure(const Vector &goal, MoveToFailureType reason)
|
NOBODY void CHostageImprov::__MAKE_VHOOK(OnMoveToFailure)(const Vector &goal, MoveToFailureType reason)
|
||||||
{
|
{
|
||||||
// OnMoveToFailure(HostageStateMachine *const this,
|
// OnMoveToFailure(HostageStateMachine *const this,
|
||||||
// const Vector &goal,
|
// const Vector &goal,
|
||||||
@ -1068,7 +1110,7 @@ NOBODY void CHostageImprov::ClearPath(void)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* <471b3f> ../cstrike/dlls/hostage/hostage_improv.cpp:2497 */
|
/* <471b3f> ../cstrike/dlls/hostage/hostage_improv.cpp:2497 */
|
||||||
NOBODY void CHostageImprov::Crouch(void)
|
NOBODY void CHostageImprov::__MAKE_VHOOK(Crouch)(void)
|
||||||
{
|
{
|
||||||
// {
|
// {
|
||||||
// float const minCrouchTime; // 2503
|
// float const minCrouchTime; // 2503
|
||||||
@ -1077,17 +1119,32 @@ NOBODY void CHostageImprov::Crouch(void)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* <47195c> ../cstrike/dlls/hostage/hostage_improv.cpp:2516 */
|
/* <47195c> ../cstrike/dlls/hostage/hostage_improv.cpp:2516 */
|
||||||
NOBODY void CHostageImprov::StandUp(void)
|
void CHostageImprov::__MAKE_VHOOK(StandUp)(void)
|
||||||
{
|
{
|
||||||
// {
|
if (!IsCrouching() || !m_minCrouchTimer.IsElapsed())
|
||||||
// TraceResult result; // 2525
|
{
|
||||||
// int y; // 2527
|
return;
|
||||||
// {
|
}
|
||||||
// int x; // 2529
|
|
||||||
// }
|
int y;
|
||||||
// IsElapsed(const class CountdownTimer *const this); // 2521
|
for (y = -24; y < 36; y += 12)
|
||||||
// }
|
{
|
||||||
// StandUp(CHostageImprov *const this); // 2516
|
for (int x = -24; x < 36; x += 12)
|
||||||
|
{
|
||||||
|
TraceResult result;
|
||||||
|
UTIL_TraceLine(GetFeet() + Vector(0, 0, 3), GetFeet() + Vector(x, y, 72), ignore_monsters, ignore_glass, m_hostage->edict(), &result);
|
||||||
|
|
||||||
|
if (result.flFraction < 1.0f)
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (y == 36)
|
||||||
|
{
|
||||||
|
m_animateState.Reset();
|
||||||
|
UTIL_SetSize(m_hostage->pev, Vector(-10, -10, 0), Vector(10, 10, 62));
|
||||||
|
m_isCrouching = false;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/* <477114> ../cstrike/dlls/hostage/hostage_improv.cpp:2558 */
|
/* <477114> ../cstrike/dlls/hostage/hostage_improv.cpp:2558 */
|
||||||
@ -1095,3 +1152,183 @@ NOBODY void CHostageImprov::UpdateStationaryAnimation(void)
|
|||||||
{
|
{
|
||||||
// UpdateStationaryAnimation(HostageStateMachine::UpdateStationaryAnimation(// class CHostageImprov *improv); // 2560
|
// UpdateStationaryAnimation(HostageStateMachine::UpdateStationaryAnimation(// class CHostageImprov *improv); // 2560
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#ifdef HOOK_GAMEDLL
|
||||||
|
|
||||||
|
|
||||||
|
void CHostageImprov::OnMoveToFailure(const Vector &goal, MoveToFailureType reason)
|
||||||
|
{
|
||||||
|
OnMoveToFailure_(goal, reason);
|
||||||
|
}
|
||||||
|
|
||||||
|
bool CHostageImprov::IsAlive(void) const
|
||||||
|
{
|
||||||
|
return IsAlive_();
|
||||||
|
}
|
||||||
|
|
||||||
|
void CHostageImprov::MoveTo(const Vector &goal)
|
||||||
|
{
|
||||||
|
MoveTo_(goal);
|
||||||
|
}
|
||||||
|
|
||||||
|
void CHostageImprov::LookAt(const Vector &target)
|
||||||
|
{
|
||||||
|
LookAt_(target);
|
||||||
|
}
|
||||||
|
|
||||||
|
void CHostageImprov::ClearLookAt(void)
|
||||||
|
{
|
||||||
|
ClearLookAt_();
|
||||||
|
}
|
||||||
|
|
||||||
|
void CHostageImprov::FaceTo(const Vector &goal)
|
||||||
|
{
|
||||||
|
FaceTo_(goal);
|
||||||
|
}
|
||||||
|
|
||||||
|
void CHostageImprov::ClearFaceTo(void)
|
||||||
|
{
|
||||||
|
ClearFaceTo_();
|
||||||
|
}
|
||||||
|
|
||||||
|
bool CHostageImprov::IsAtMoveGoal(float error) const
|
||||||
|
{
|
||||||
|
return IsAtMoveGoal_(error);
|
||||||
|
}
|
||||||
|
|
||||||
|
bool CHostageImprov::IsAtFaceGoal(void) const
|
||||||
|
{
|
||||||
|
return IsAtFaceGoal_();
|
||||||
|
}
|
||||||
|
|
||||||
|
bool CHostageImprov::IsFriendInTheWay(const Vector &goalPos) const
|
||||||
|
{
|
||||||
|
return IsFriendInTheWay_(goalPos);
|
||||||
|
}
|
||||||
|
|
||||||
|
bool CHostageImprov::IsFriendInTheWay(CBaseEntity *myFriend, const Vector &goalPos) const
|
||||||
|
{
|
||||||
|
return IsFriendInTheWay_(myFriend, goalPos);
|
||||||
|
}
|
||||||
|
|
||||||
|
bool CHostageImprov::Jump(void)
|
||||||
|
{
|
||||||
|
return Jump_();
|
||||||
|
}
|
||||||
|
|
||||||
|
void CHostageImprov::Crouch(void)
|
||||||
|
{
|
||||||
|
Crouch_();
|
||||||
|
}
|
||||||
|
|
||||||
|
void CHostageImprov::StandUp(void)
|
||||||
|
{
|
||||||
|
StandUp_();
|
||||||
|
}
|
||||||
|
|
||||||
|
void CHostageImprov::TrackPath(const Vector &pathGoal, float deltaT)
|
||||||
|
{
|
||||||
|
TrackPath_(pathGoal, deltaT);
|
||||||
|
}
|
||||||
|
|
||||||
|
void CHostageImprov::StartLadder(const CNavLadder *ladder, NavTraverseType how, const Vector *approachPos, const Vector *departPos)
|
||||||
|
{
|
||||||
|
StartLadder_(ladder, how, approachPos, departPos);
|
||||||
|
}
|
||||||
|
|
||||||
|
bool CHostageImprov::TraverseLadder(const CNavLadder *ladder, NavTraverseType how, const Vector *approachPos, const Vector *departPos, float deltaT)
|
||||||
|
{
|
||||||
|
return TraverseLadder_(ladder, how, approachPos, departPos, deltaT);
|
||||||
|
}
|
||||||
|
|
||||||
|
bool CHostageImprov::GetSimpleGroundHeightWithFloor(const Vector *pos, float *height, Vector *normal)
|
||||||
|
{
|
||||||
|
return GetSimpleGroundHeightWithFloor_(pos, height, normal);
|
||||||
|
}
|
||||||
|
|
||||||
|
void CHostageImprov::Run(void)
|
||||||
|
{
|
||||||
|
Run_();
|
||||||
|
}
|
||||||
|
|
||||||
|
void CHostageImprov::Walk(void)
|
||||||
|
{
|
||||||
|
Walk_();
|
||||||
|
}
|
||||||
|
|
||||||
|
void CHostageImprov::Stop(void)
|
||||||
|
{
|
||||||
|
Stop_();
|
||||||
|
}
|
||||||
|
|
||||||
|
const Vector &CHostageImprov::GetFeet(void) const
|
||||||
|
{
|
||||||
|
return GetFeet_();
|
||||||
|
}
|
||||||
|
|
||||||
|
const Vector &CHostageImprov::GetCentroid(void)
|
||||||
|
{
|
||||||
|
return GetCentroid_();
|
||||||
|
}
|
||||||
|
|
||||||
|
const Vector &CHostageImprov::GetEyes(void) const
|
||||||
|
{
|
||||||
|
return GetEyes_();
|
||||||
|
}
|
||||||
|
|
||||||
|
bool CHostageImprov::IsOnGround(void) const
|
||||||
|
{
|
||||||
|
return IsOnGround_();
|
||||||
|
}
|
||||||
|
|
||||||
|
bool CHostageImprov::IsMoving(void) const
|
||||||
|
{
|
||||||
|
return IsMoving_();
|
||||||
|
}
|
||||||
|
|
||||||
|
bool CHostageImprov::IsVisible(const Vector &pos, bool testFOV) const
|
||||||
|
{
|
||||||
|
return IsVisible_(pos, testFOV);
|
||||||
|
}
|
||||||
|
|
||||||
|
bool CHostageImprov::IsPlayerLookingAtMe(CBasePlayer *other, float cosTolerance) const
|
||||||
|
{
|
||||||
|
return IsPlayerLookingAtMe_(other, cosTolerance);
|
||||||
|
}
|
||||||
|
|
||||||
|
CBasePlayer *CHostageImprov::IsAnyPlayerLookingAtMe(int team, float cosTolerance) const
|
||||||
|
{
|
||||||
|
return IsAnyPlayerLookingAtMe_(team, cosTolerance);
|
||||||
|
}
|
||||||
|
|
||||||
|
CBasePlayer *CHostageImprov::GetClosestPlayerByTravelDistance(int team, float *range) const
|
||||||
|
{
|
||||||
|
return GetClosestPlayerByTravelDistance_(team, range);
|
||||||
|
}
|
||||||
|
|
||||||
|
void CHostageImprov::OnUpdate(float deltaT)
|
||||||
|
{
|
||||||
|
OnUpdate_(deltaT);
|
||||||
|
}
|
||||||
|
|
||||||
|
void CHostageImprov::OnUpkeep(float deltaT)
|
||||||
|
{
|
||||||
|
OnUpkeep_(deltaT);
|
||||||
|
}
|
||||||
|
|
||||||
|
void CHostageImprov::OnReset(void)
|
||||||
|
{
|
||||||
|
OnReset_();
|
||||||
|
}
|
||||||
|
|
||||||
|
void CHostageImprov::OnGameEvent(GameEventType event, CBaseEntity *entity, CBaseEntity *other)
|
||||||
|
{
|
||||||
|
OnGameEvent_(event, entity, other);
|
||||||
|
}
|
||||||
|
|
||||||
|
void CHostageImprov::OnTouch(CBaseEntity *other)
|
||||||
|
{
|
||||||
|
OnTouch_(other);
|
||||||
|
}
|
||||||
|
|
||||||
|
#endif // HOOK_GAMEDLL
|
||||||
|
@ -51,124 +51,248 @@ public:
|
|||||||
//~CImprov(); // 49
|
//~CImprov(); // 49
|
||||||
};
|
};
|
||||||
|
|
||||||
virtual void OnMoveToSuccess(const Vector &goal)
|
NOBODY virtual void OnMoveToSuccess(const Vector &goal)
|
||||||
{
|
{
|
||||||
//if (m_behavior.IsState(NULL))
|
//if (m_behavior.IsState(NULL))
|
||||||
// IImprovEvent::OnMoveToSuccess(goal);
|
// IImprovEvent::OnMoveToSuccess(goal);
|
||||||
}
|
}
|
||||||
virtual void OnMoveToFailure(const Vector &goal, MoveToFailureType reason);
|
NOBODY virtual void OnMoveToFailure(const Vector &goal, MoveToFailureType reason);
|
||||||
virtual void OnInjury(float amount)
|
NOBODY virtual void OnInjury(float amount)
|
||||||
{
|
{
|
||||||
//m_behavior.Update();
|
//m_behavior.Update();
|
||||||
//m_lastInjuryTimer.Start();
|
//m_lastInjuryTimer.Start();
|
||||||
}
|
}
|
||||||
virtual bool IsAlive(void) const;
|
NOBODY virtual bool IsAlive(void) const;
|
||||||
virtual void MoveTo(const Vector &goal);
|
NOBODY virtual void MoveTo(const Vector &goal);
|
||||||
virtual void LookAt(const Vector &target);
|
NOBODY virtual void LookAt(const Vector &target);
|
||||||
virtual void ClearLookAt(void);
|
NOBODY virtual void ClearLookAt(void);
|
||||||
virtual void FaceTo(const Vector &goal);
|
NOBODY virtual void FaceTo(const Vector &goal);
|
||||||
virtual void ClearFaceTo(void);
|
NOBODY virtual void ClearFaceTo(void);
|
||||||
virtual bool IsAtMoveGoal(float error = 20.0f) const;
|
NOBODY virtual bool IsAtMoveGoal(float error = 20.0f) const;
|
||||||
virtual bool HasLookAt(void) const
|
NOBODY virtual bool HasLookAt(void) const
|
||||||
{
|
{
|
||||||
return m_isLookingAt;
|
return m_isLookingAt;
|
||||||
}
|
}
|
||||||
virtual bool HasFaceTo(void) const
|
NOBODY virtual bool HasFaceTo(void) const
|
||||||
{
|
{
|
||||||
return m_isFacingTo;
|
return m_isFacingTo;
|
||||||
}
|
}
|
||||||
virtual bool IsAtFaceGoal(void) const;
|
NOBODY virtual bool IsAtFaceGoal(void) const;
|
||||||
virtual bool IsFriendInTheWay(const Vector &goalPos) const;
|
NOBODY virtual bool IsFriendInTheWay(const Vector &goalPos) const;
|
||||||
virtual bool IsFriendInTheWay(CBaseEntity *myFriend, const Vector &goalPos) const;
|
NOBODY virtual bool IsFriendInTheWay(CBaseEntity *myFriend, const Vector &goalPos) const;
|
||||||
virtual void MoveForward(void)
|
NOBODY virtual void MoveForward(void)
|
||||||
{
|
{
|
||||||
m_moveFlags |= IN_FORWARD;
|
m_moveFlags |= IN_FORWARD;
|
||||||
}
|
}
|
||||||
virtual void MoveBackward(void)
|
NOBODY virtual void MoveBackward(void)
|
||||||
{
|
{
|
||||||
m_moveFlags |= IN_BACK;
|
m_moveFlags |= IN_BACK;
|
||||||
}
|
}
|
||||||
virtual void StrafeLeft(void)
|
NOBODY virtual void StrafeLeft(void)
|
||||||
{
|
{
|
||||||
m_moveFlags |= IN_MOVELEFT;
|
m_moveFlags |= IN_MOVELEFT;
|
||||||
}
|
}
|
||||||
virtual void StrafeRight(void)
|
NOBODY virtual void StrafeRight(void)
|
||||||
{
|
{
|
||||||
m_moveFlags |= IN_MOVERIGHT;
|
m_moveFlags |= IN_MOVERIGHT;
|
||||||
}
|
}
|
||||||
virtual bool Jump(void);
|
NOBODY virtual bool Jump(void);
|
||||||
virtual void Crouch(void);
|
NOBODY virtual void Crouch(void);
|
||||||
virtual void StandUp(void);
|
virtual void StandUp(void);
|
||||||
virtual void TrackPath(const Vector &pathGoal, float deltaT);
|
NOBODY virtual void TrackPath(const Vector &pathGoal, float deltaT);
|
||||||
virtual void StartLadder(const CNavLadder *ladder, NavTraverseType how, const Vector *approachPos, const Vector *departPos);
|
NOBODY virtual void StartLadder(const CNavLadder *ladder, NavTraverseType how, const Vector *approachPos, const Vector *departPos);
|
||||||
virtual bool TraverseLadder(const CNavLadder *ladder, NavTraverseType how, const Vector *approachPos, const Vector *departPos, float deltaT);
|
NOBODY virtual bool TraverseLadder(const CNavLadder *ladder, NavTraverseType how, const Vector *approachPos, const Vector *departPos, float deltaT);
|
||||||
virtual bool GetSimpleGroundHeightWithFloor(const Vector *pos, float *height, Vector *normal = NULL);
|
NOBODY virtual bool GetSimpleGroundHeightWithFloor(const Vector *pos, float *height, Vector *normal = NULL);
|
||||||
virtual void Run(void);
|
NOBODY virtual void Run(void);
|
||||||
virtual void Walk(void);
|
NOBODY virtual void Walk(void);
|
||||||
virtual void Stop(void);
|
NOBODY virtual void Stop(void);
|
||||||
virtual float GetMoveAngle(void) const
|
NOBODY virtual float GetMoveAngle(void) const
|
||||||
{
|
{
|
||||||
return m_moveAngle;
|
return m_moveAngle;
|
||||||
}
|
}
|
||||||
virtual float GetFaceAngle(void) const
|
NOBODY virtual float GetFaceAngle(void) const
|
||||||
{
|
{
|
||||||
return m_moveAngle;
|
return m_moveAngle;
|
||||||
}
|
}
|
||||||
virtual const Vector &GetFeet(void) const;
|
NOBODY virtual const Vector &GetFeet(void) const;
|
||||||
virtual const Vector &GetCentroid(void) const;
|
NOBODY virtual const Vector &GetCentroid(void);
|
||||||
virtual const Vector &GetEyes(void) const;
|
NOBODY virtual const Vector &GetEyes(void) const;
|
||||||
virtual bool IsRunning(void) const
|
NOBODY virtual bool IsRunning(void) const
|
||||||
{
|
{
|
||||||
return (m_moveType == Running);
|
return (m_moveType == Running);
|
||||||
}
|
}
|
||||||
virtual bool IsWalking(void) const
|
NOBODY virtual bool IsWalking(void) const
|
||||||
{
|
{
|
||||||
return (m_moveType == Walking);
|
return (m_moveType == Walking);
|
||||||
}
|
}
|
||||||
virtual bool IsStopped(void) const
|
NOBODY virtual bool IsStopped(void) const
|
||||||
{
|
{
|
||||||
return (m_moveType == Stopped);
|
return (m_moveType == Stopped);
|
||||||
}
|
}
|
||||||
virtual bool IsCrouching(void) const
|
NOBODY virtual bool IsCrouching(void) const
|
||||||
{
|
{
|
||||||
return m_isCrouching;
|
return m_isCrouching;
|
||||||
}
|
}
|
||||||
virtual bool IsJumping(void) const
|
NOBODY virtual bool IsJumping(void) const
|
||||||
{
|
{
|
||||||
UNTESTED
|
UNTESTED
|
||||||
return (m_jumpTimer.IsElapsed() == false);
|
return (m_jumpTimer.IsElapsed() == false);
|
||||||
}
|
}
|
||||||
virtual bool IsUsingLadder(void) const
|
NOBODY virtual bool IsUsingLadder(void) const
|
||||||
{
|
{
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
virtual bool IsOnGround(void) const;
|
NOBODY virtual bool IsOnGround(void) const;
|
||||||
virtual bool IsMoving(void) const;
|
NOBODY virtual bool IsMoving(void) const;
|
||||||
virtual bool CanRun(void) const
|
NOBODY virtual bool CanRun(void) const
|
||||||
{
|
{
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
virtual bool CanCrouch(void) const
|
NOBODY virtual bool CanCrouch(void) const
|
||||||
{
|
{
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
virtual bool CanJump(void) const
|
NOBODY virtual bool CanJump(void) const
|
||||||
{
|
{
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
virtual bool IsVisible(const Vector &pos, bool testFOV = false) const;
|
NOBODY virtual bool IsVisible(const Vector &pos, bool testFOV = false) const;
|
||||||
virtual bool IsPlayerLookingAtMe(CBasePlayer *other, float cosTolerance = 0.95f) const;
|
NOBODY virtual bool IsPlayerLookingAtMe(CBasePlayer *other, float cosTolerance = 0.95f) const;
|
||||||
virtual CBasePlayer *IsAnyPlayerLookingAtMe(int team = 0, float cosTolerance = 0.95f) const;
|
NOBODY virtual CBasePlayer *IsAnyPlayerLookingAtMe(int team = 0, float cosTolerance = 0.95f) const;
|
||||||
virtual CBasePlayer *GetClosestPlayerByTravelDistance(int team = 0, float *range = NULL) const;
|
NOBODY virtual CBasePlayer *GetClosestPlayerByTravelDistance(int team = 0, float *range = NULL) const;
|
||||||
virtual CNavArea *GetLastKnownArea(void) const
|
NOBODY virtual CNavArea *GetLastKnownArea(void) const
|
||||||
{
|
{
|
||||||
return m_lastKnownArea;
|
return m_lastKnownArea;
|
||||||
}
|
}
|
||||||
virtual void OnUpdate(float deltaT);
|
NOBODY virtual void OnUpdate(float deltaT);
|
||||||
virtual void OnUpkeep(float deltaT);
|
NOBODY virtual void OnUpkeep(float deltaT);
|
||||||
virtual void OnReset(void);
|
virtual void OnReset(void);
|
||||||
virtual void OnGameEvent(GameEventType event, CBaseEntity *entity = NULL, CBaseEntity *other = NULL);
|
NOBODY virtual void OnGameEvent(GameEventType event, CBaseEntity *entity = NULL, CBaseEntity *other = NULL);
|
||||||
virtual void OnTouch(CBaseEntity *other);
|
NOBODY virtual void OnTouch(CBaseEntity *other);
|
||||||
|
|
||||||
|
#ifdef HOOK_GAMEDLL
|
||||||
|
|
||||||
|
void OnMoveToSuccess_(const Vector &goal)
|
||||||
|
{
|
||||||
|
//if (m_behavior.IsState(NULL))
|
||||||
|
// IImprovEvent::OnMoveToSuccess(goal);
|
||||||
|
}
|
||||||
|
void OnMoveToFailure_(const Vector &goal, MoveToFailureType reason);
|
||||||
|
void OnInjury_(float amount)
|
||||||
|
{
|
||||||
|
//m_behavior.Update();
|
||||||
|
//m_lastInjuryTimer.Start();
|
||||||
|
}
|
||||||
|
bool IsAlive_(void) const;
|
||||||
|
void MoveTo_(const Vector &goal);
|
||||||
|
void LookAt_(const Vector &target);
|
||||||
|
void ClearLookAt_(void);
|
||||||
|
void FaceTo_(const Vector &goal);
|
||||||
|
void ClearFaceTo_(void);
|
||||||
|
bool IsAtMoveGoal_(float error = 20.0f) const;
|
||||||
|
bool HasLookAt_(void) const
|
||||||
|
{
|
||||||
|
return m_isLookingAt;
|
||||||
|
}
|
||||||
|
bool HasFaceTo_(void) const
|
||||||
|
{
|
||||||
|
return m_isFacingTo;
|
||||||
|
}
|
||||||
|
bool IsAtFaceGoal_(void) const;
|
||||||
|
bool IsFriendInTheWay_(const Vector &goalPos) const;
|
||||||
|
bool IsFriendInTheWay_(CBaseEntity *myFriend, const Vector &goalPos) const;
|
||||||
|
void MoveForward_(void)
|
||||||
|
{
|
||||||
|
m_moveFlags |= IN_FORWARD;
|
||||||
|
}
|
||||||
|
void MoveBackward_(void)
|
||||||
|
{
|
||||||
|
m_moveFlags |= IN_BACK;
|
||||||
|
}
|
||||||
|
void StrafeLeft_(void)
|
||||||
|
{
|
||||||
|
m_moveFlags |= IN_MOVELEFT;
|
||||||
|
}
|
||||||
|
void StrafeRight_(void)
|
||||||
|
{
|
||||||
|
m_moveFlags |= IN_MOVERIGHT;
|
||||||
|
}
|
||||||
|
bool Jump_(void);
|
||||||
|
void Crouch_(void);
|
||||||
|
void StandUp_(void);
|
||||||
|
void TrackPath_(const Vector &pathGoal, float deltaT);
|
||||||
|
void StartLadder_(const CNavLadder *ladder, NavTraverseType how, const Vector *approachPos, const Vector *departPos);
|
||||||
|
bool TraverseLadder_(const CNavLadder *ladder, NavTraverseType how, const Vector *approachPos, const Vector *departPos, float deltaT);
|
||||||
|
bool GetSimpleGroundHeightWithFloor_(const Vector *pos, float *height, Vector *normal = NULL);
|
||||||
|
void Run_(void);
|
||||||
|
void Walk_(void);
|
||||||
|
void Stop_(void);
|
||||||
|
float GetMoveAngle_(void) const
|
||||||
|
{
|
||||||
|
return m_moveAngle;
|
||||||
|
}
|
||||||
|
float GetFaceAngle_(void) const
|
||||||
|
{
|
||||||
|
return m_moveAngle;
|
||||||
|
}
|
||||||
|
const Vector &GetFeet_(void) const;
|
||||||
|
const Vector &GetCentroid_(void);
|
||||||
|
const Vector &GetEyes_(void) const;
|
||||||
|
bool IsRunning_(void) const
|
||||||
|
{
|
||||||
|
return (m_moveType == Running);
|
||||||
|
}
|
||||||
|
bool IsWalking_(void) const
|
||||||
|
{
|
||||||
|
return (m_moveType == Walking);
|
||||||
|
}
|
||||||
|
bool IsStopped_(void) const
|
||||||
|
{
|
||||||
|
return (m_moveType == Stopped);
|
||||||
|
}
|
||||||
|
bool IsCrouching_(void) const
|
||||||
|
{
|
||||||
|
return m_isCrouching;
|
||||||
|
}
|
||||||
|
bool IsJumping_(void) const
|
||||||
|
{
|
||||||
|
UNTESTED
|
||||||
|
return (m_jumpTimer.IsElapsed() == false);
|
||||||
|
}
|
||||||
|
bool IsUsingLadder_(void) const
|
||||||
|
{
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
bool IsOnGround_(void) const;
|
||||||
|
bool IsMoving_(void) const;
|
||||||
|
bool CanRun_(void) const
|
||||||
|
{
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
bool CanCrouch_(void) const
|
||||||
|
{
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
bool CanJump_(void) const
|
||||||
|
{
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
bool IsVisible_(const Vector &pos, bool testFOV = false) const;
|
||||||
|
bool IsPlayerLookingAtMe_(CBasePlayer *other, float cosTolerance = 0.95f) const;
|
||||||
|
CBasePlayer *IsAnyPlayerLookingAtMe_(int team = 0, float cosTolerance = 0.95f) const;
|
||||||
|
CBasePlayer *GetClosestPlayerByTravelDistance_(int team = 0, float *range = NULL) const;
|
||||||
|
CNavArea *GetLastKnownArea_(void) const
|
||||||
|
{
|
||||||
|
return m_lastKnownArea;
|
||||||
|
}
|
||||||
|
void OnUpdate_(float deltaT);
|
||||||
|
void OnUpkeep_(float deltaT);
|
||||||
|
void OnReset_(void);
|
||||||
|
void OnGameEvent_(GameEventType event, CBaseEntity *entity = NULL, CBaseEntity *other = NULL);
|
||||||
|
void OnTouch_(CBaseEntity *other);
|
||||||
|
|
||||||
|
#endif // HOOK_GAMEDLL
|
||||||
|
|
||||||
public:
|
public:
|
||||||
|
|
||||||
enum MoveType
|
enum MoveType
|
||||||
@ -206,7 +330,10 @@ public:
|
|||||||
}
|
}
|
||||||
CNavPath *GetPath(void);
|
CNavPath *GetPath(void);
|
||||||
CNavPathFollower *GetPathFollower(void);
|
CNavPathFollower *GetPathFollower(void);
|
||||||
void Idle(void);
|
void Idle(void)
|
||||||
|
{
|
||||||
|
m_behavior.SetState(&m_idleState);
|
||||||
|
}
|
||||||
bool IsIdle(void)
|
bool IsIdle(void)
|
||||||
{
|
{
|
||||||
UNTESTED
|
UNTESTED
|
||||||
@ -224,7 +351,10 @@ public:
|
|||||||
bool IsRetreating(void);
|
bool IsRetreating(void);
|
||||||
bool IsAtHome(void);
|
bool IsAtHome(void);
|
||||||
bool CanSeeRescueZone(void);
|
bool CanSeeRescueZone(void);
|
||||||
CBaseEntity *GetFollowLeader(void);
|
CBaseEntity *GetFollowLeader(void)
|
||||||
|
{
|
||||||
|
return m_followState.GetLeader();
|
||||||
|
}
|
||||||
CBasePlayer *GetClosestVisiblePlayer(int team);
|
CBasePlayer *GetClosestVisiblePlayer(int team);
|
||||||
float GetTimeSinceLastSawPlayer(int team);
|
float GetTimeSinceLastSawPlayer(int team);
|
||||||
float GetTimeSinceLastInjury(void);
|
float GetTimeSinceLastInjury(void);
|
||||||
@ -254,7 +384,10 @@ public:
|
|||||||
void MoveTowards(const Vector &pos, float deltaT);
|
void MoveTowards(const Vector &pos, float deltaT);
|
||||||
bool FaceTowards(const Vector &target, float deltaT);
|
bool FaceTowards(const Vector &target, float deltaT);
|
||||||
float GetSpeed(void);
|
float GetSpeed(void);
|
||||||
void SetMoveAngle(float angle);
|
void SetMoveAngle(float angle)
|
||||||
|
{
|
||||||
|
m_moveAngle = angle;
|
||||||
|
}
|
||||||
void Wiggle(void);
|
void Wiggle(void);
|
||||||
void ClearPath(void);
|
void ClearPath(void);
|
||||||
bool DiscontinuityJump(float ground, bool onlyJumpDown, bool mustJump);
|
bool DiscontinuityJump(float ground, bool onlyJumpDown, bool mustJump);
|
||||||
|
@ -41,7 +41,7 @@ NOBODY CLocalNav::~CLocalNav(void)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* <485b91> ../cstrike/dlls/hostage/hostage_localnav.cpp:74 */
|
/* <485b91> ../cstrike/dlls/hostage/hostage_localnav.cpp:74 */
|
||||||
NOXREF node_index_t CLocalNav::AddNode(node_index_t nindexParent, Vector &vecLoc, int offsetX, int offsetY, byte bDepth)
|
node_index_t CLocalNav::AddNode(node_index_t nindexParent, Vector &vecLoc, int offsetX, int offsetY, byte bDepth)
|
||||||
{
|
{
|
||||||
localnode_t *nodeNew;
|
localnode_t *nodeNew;
|
||||||
|
|
||||||
@ -61,101 +61,211 @@ NOXREF node_index_t CLocalNav::AddNode(node_index_t nindexParent, Vector &vecLoc
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* <485570> ../cstrike/dlls/hostage/hostage_localnav.cpp:94 */
|
/* <485570> ../cstrike/dlls/hostage/hostage_localnav.cpp:94 */
|
||||||
NOXREF localnode_t *CLocalNav::GetNode(node_index_t nindex)
|
localnode_t *CLocalNav::GetNode(node_index_t nindex)
|
||||||
{
|
{
|
||||||
return &m_nodeArr[ nindex ];
|
return &m_nodeArr[ nindex ];
|
||||||
}
|
}
|
||||||
|
|
||||||
/* <485c01> ../cstrike/dlls/hostage/hostage_localnav.cpp:100 */
|
/* <485c01> ../cstrike/dlls/hostage/hostage_localnav.cpp:100 */
|
||||||
NOXREF node_index_t CLocalNav::NodeExists(int offsetX, int offsetY)
|
node_index_t CLocalNav::NodeExists(int offsetX, int offsetY)
|
||||||
{
|
{
|
||||||
node_index_t nindexCurrent;
|
node_index_t nindexCurrent = NODE_INVALID_EMPTY;
|
||||||
localnode_t *nodeCurrent;
|
localnode_t *nodeCurrent;
|
||||||
|
|
||||||
for (nindexCurrent = m_nindexAvailableNode - 1; nindexCurrent != 0; nindexCurrent--)
|
for (nindexCurrent = m_nindexAvailableNode - 1; nindexCurrent != NODE_INVALID_EMPTY; nindexCurrent--)
|
||||||
{
|
{
|
||||||
nodeCurrent = GetNode(nindexCurrent);
|
nodeCurrent = GetNode(nindexCurrent);
|
||||||
|
|
||||||
if (nodeCurrent->offsetX == offsetX && nodeCurrent->offsetY == offsetY)
|
if (nodeCurrent->offsetX == offsetX && nodeCurrent->offsetY == offsetY)
|
||||||
return nindexCurrent;
|
{
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
return -1;
|
}
|
||||||
|
|
||||||
|
return nindexCurrent;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* <486d46> ../cstrike/dlls/hostage/hostage_localnav.cpp:123 */
|
/* <486d46> ../cstrike/dlls/hostage/hostage_localnav.cpp:123 */
|
||||||
NOBODY void CLocalNav::AddPathNodes(node_index_t nindexSource, int fNoMonsters)
|
void CLocalNav::AddPathNodes(node_index_t nindexSource, int fNoMonsters)
|
||||||
{
|
{
|
||||||
|
AddPathNode(nindexSource, 1, 0, fNoMonsters);
|
||||||
|
AddPathNode(nindexSource, -1, 0, fNoMonsters);
|
||||||
|
AddPathNode(nindexSource, 0, 1, fNoMonsters);
|
||||||
|
AddPathNode(nindexSource, 0, -1, fNoMonsters);
|
||||||
|
AddPathNode(nindexSource, 1, 1, fNoMonsters);
|
||||||
|
AddPathNode(nindexSource, 1, -1, fNoMonsters);
|
||||||
|
AddPathNode(nindexSource, -1, 1, fNoMonsters);
|
||||||
|
AddPathNode(nindexSource, -1, -1, fNoMonsters);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* <486adb> ../cstrike/dlls/hostage/hostage_localnav.cpp:138 */
|
/* <486adb> ../cstrike/dlls/hostage/hostage_localnav.cpp:138 */
|
||||||
NOBODY void CLocalNav::AddPathNode(node_index_t nindexSource, int offsetX, int offsetY, int fNoMonsters)
|
void CLocalNav::AddPathNode(node_index_t nindexSource, int offsetX, int offsetY, int fNoMonsters)
|
||||||
{
|
{
|
||||||
// {
|
int bDepth;
|
||||||
// int bDepth; // 140
|
Vector vecSource, vecDest;
|
||||||
// Vector vecSource; // 141
|
int offsetXAbs, offsetYAbs;
|
||||||
// Vector vecDest; // 142
|
|
||||||
// int offsetXAbs; // 143
|
if (nindexSource == -1)
|
||||||
// int offsetYAbs; // 144
|
{
|
||||||
// {
|
bDepth = 1;
|
||||||
// localnode_t *nodeSource; // 156
|
|
||||||
// localnode_t *nodeCurrent; // 157
|
offsetXAbs = offsetX;
|
||||||
// node_index_t nindexCurrent; // 158
|
offsetYAbs = offsetY;
|
||||||
// GetNode(CLocalNav *const this,
|
|
||||||
// node_index_t nindex); // 160
|
vecSource = m_vecStartingLoc;
|
||||||
// NodeExists(CLocalNav *const this,
|
vecDest = vecSource + Vector(((float_precision)offsetX * HOSTAGE_STEPSIZE), ((float_precision)offsetY * HOSTAGE_STEPSIZE), 0);
|
||||||
// int offsetX,
|
}
|
||||||
// int offsetY); // 166
|
else
|
||||||
// operator+(const Vector *const this,
|
{
|
||||||
// const Vector &v); // 170
|
localnode_t *nodeSource;
|
||||||
// operator*(const Vector *const this,
|
localnode_t *nodeCurrent;
|
||||||
// float fl); // 170
|
node_index_t nindexCurrent;
|
||||||
// }
|
|
||||||
// operator+(const Vector *const this,
|
nodeCurrent = GetNode(nindexSource);
|
||||||
// const Vector &v); // 149
|
offsetXAbs = offsetX + nodeCurrent->offsetX;
|
||||||
// operator*(const Vector *const this,
|
offsetYAbs = offsetY + nodeCurrent->offsetY;
|
||||||
// float fl); // 149
|
nodeSource = GetNode(m_nindexAvailableNode);
|
||||||
// AddNode(CLocalNav *const this,
|
|
||||||
// node_index_t nindexParent,
|
// if there exists a node, then to ignore adding a the new node
|
||||||
// Vector &vecLoc,
|
if (NodeExists(offsetXAbs, offsetYAbs) != NODE_INVALID_EMPTY)
|
||||||
// int offsetX,
|
{
|
||||||
// int offsetY,
|
return;
|
||||||
// byte bDepth); // 200
|
}
|
||||||
// }
|
|
||||||
|
vecSource = nodeCurrent->vecLoc;
|
||||||
|
vecDest = vecSource + Vector(((float_precision)offsetX * HOSTAGE_STEPSIZE), ((float_precision)offsetY * HOSTAGE_STEPSIZE), 0);
|
||||||
|
|
||||||
|
if (m_nindexAvailableNode)
|
||||||
|
{
|
||||||
|
nindexCurrent = m_nindexAvailableNode;
|
||||||
|
|
||||||
|
do
|
||||||
|
{
|
||||||
|
nodeSource--;
|
||||||
|
nindexCurrent--;
|
||||||
|
|
||||||
|
offsetX = (nodeSource->offsetX - offsetXAbs);
|
||||||
|
|
||||||
|
if (offsetX >= 0)
|
||||||
|
{
|
||||||
|
if (offsetX > 1)
|
||||||
|
{
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
if (-offsetX > 1)
|
||||||
|
{
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
offsetY = (nodeSource->offsetY - offsetYAbs);
|
||||||
|
|
||||||
|
if (offsetY >= 0)
|
||||||
|
{
|
||||||
|
if (offsetY > 1)
|
||||||
|
{
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
if (-offsetY > 1)
|
||||||
|
{
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (PathTraversable(nodeSource->vecLoc, vecDest, fNoMonsters) != PATH_TRAVERSABLE_EMPTY)
|
||||||
|
{
|
||||||
|
nodeCurrent = nodeSource;
|
||||||
|
nindexSource = nindexCurrent;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
while (nindexCurrent);
|
||||||
|
}
|
||||||
|
|
||||||
|
vecSource = nodeCurrent->vecLoc;
|
||||||
|
bDepth = ((int)nodeCurrent->bDepth) + 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (PathTraversable(vecSource, vecDest, fNoMonsters) != PATH_TRAVERSABLE_EMPTY)
|
||||||
|
{
|
||||||
|
AddNode(nindexSource, vecDest, offsetXAbs, offsetYAbs, bDepth);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/* <485c63> ../cstrike/dlls/hostage/hostage_localnav.cpp:205 */
|
/* <485c63> ../cstrike/dlls/hostage/hostage_localnav.cpp:205 */
|
||||||
NOBODY node_index_t CLocalNav::GetBestNode(Vector &vecOrigin, Vector &vecDest)
|
node_index_t CLocalNav::GetBestNode(Vector &vecOrigin, Vector &vecDest)
|
||||||
{
|
{
|
||||||
// {
|
node_index_t nindexCurrent;
|
||||||
// node_index_t nindexCurrent; // 207
|
localnode_t *nodeCurrent;
|
||||||
// localnode_t *nodeCurrent; // 208
|
node_index_t nindexBest;
|
||||||
// node_index_t nindexBest; // 209
|
float flBestVal;
|
||||||
// float flBestVal; // 210
|
|
||||||
// {
|
nindexBest = -1;
|
||||||
// float flCurrentVal; // 220
|
nindexCurrent = 0;
|
||||||
// float flDistFromStart; // 221
|
flBestVal = 1000000.0;
|
||||||
// float flDistToDest; // 222
|
|
||||||
// float flZDiff; // 223
|
while (nindexCurrent < m_nindexAvailableNode)
|
||||||
// operator-(const Vector *const this,
|
{
|
||||||
// const Vector &v); // 235
|
nodeCurrent = GetNode(nindexCurrent);
|
||||||
// Length(const Vector *const this); // 235
|
|
||||||
// }
|
if (!nodeCurrent->fSearched)
|
||||||
// }
|
{
|
||||||
|
float_precision flCurrentVal;
|
||||||
|
float_precision flDistFromStart;
|
||||||
|
|
||||||
|
float flDistToDest;
|
||||||
|
float_precision flZDiff = -1.0;
|
||||||
|
|
||||||
|
flDistFromStart = LenghtSubtract
|
||||||
|
<float_precision, float_precision,
|
||||||
|
float_precision, float_precision>(vecDest, nodeCurrent->vecLoc);
|
||||||
|
|
||||||
|
flDistToDest = nodeCurrent->vecLoc.z - vecDest.z;
|
||||||
|
if (flDistToDest >= 0.0)
|
||||||
|
{
|
||||||
|
flZDiff = 1.0;
|
||||||
|
}
|
||||||
|
|
||||||
|
if ((flDistToDest * flZDiff) <= s_flStepSize)
|
||||||
|
flZDiff = 1.0;
|
||||||
|
else
|
||||||
|
flZDiff = 1.25;
|
||||||
|
|
||||||
|
flCurrentVal = flZDiff * (((float_precision)nodeCurrent->bDepth * HOSTAGE_STEPSIZE) + flDistFromStart);
|
||||||
|
if (flCurrentVal < flBestVal)
|
||||||
|
{
|
||||||
|
flBestVal = flCurrentVal;
|
||||||
|
nindexBest = nindexCurrent;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
nindexCurrent++;
|
||||||
|
}
|
||||||
|
|
||||||
|
return nindexBest;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* <485d79> ../cstrike/dlls/hostage/hostage_localnav.cpp:263 */
|
/* <485d79> ../cstrike/dlls/hostage/hostage_localnav.cpp:263 */
|
||||||
NOBODY int CLocalNav::SetupPathNodes(node_index_t nindex, Vector *vecNodes, int fNoMonsters)
|
int CLocalNav::SetupPathNodes(node_index_t nindex, Vector *vecNodes, int fNoMonsters)
|
||||||
{
|
{
|
||||||
// {
|
node_index_t nCurrentIndex = nindex;
|
||||||
// node_index_t nCurrentIndex; // 265
|
int nNodeCount = 0;
|
||||||
// int nNodeCount; // 266
|
|
||||||
// {
|
while (nCurrentIndex != -1)
|
||||||
// localnode_t *nodeCurrent; // 273
|
{
|
||||||
// Vector vecCurrentLoc; // 274
|
localnode_t *nodeCurrent = GetNode(nCurrentIndex);
|
||||||
// GetNode(CLocalNav *const this,
|
Vector vecCurrentLoc = nodeCurrent->vecLoc;
|
||||||
// node_index_t nindex); // 276
|
vecNodes[ nNodeCount++ ] = vecCurrentLoc;
|
||||||
// }
|
|
||||||
// }
|
nCurrentIndex = nodeCurrent->nindexParent;
|
||||||
|
}
|
||||||
|
|
||||||
|
return nNodeCount;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* <486a56> ../cstrike/dlls/hostage/hostage_localnav.cpp:290 */
|
/* <486a56> ../cstrike/dlls/hostage/hostage_localnav.cpp:290 */
|
||||||
@ -167,44 +277,31 @@ NOBODY int CLocalNav::GetFurthestTraversableNode(Vector &vecStartingLoc, Vector
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* <486d8d> ../cstrike/dlls/hostage/hostage_localnav.cpp:304 */
|
/* <486d8d> ../cstrike/dlls/hostage/hostage_localnav.cpp:304 */
|
||||||
NOBODY node_index_t CLocalNav::FindPath(Vector &vecStart, Vector &vecDest, float flTargetRadius, int fNoMonsters)
|
node_index_t CLocalNav::FindPath(Vector &vecStart, Vector &vecDest, float flTargetRadius, int fNoMonsters)
|
||||||
{
|
{
|
||||||
// {
|
node_index_t nIndexBest = FindDirectPath(vecStart, vecDest, flTargetRadius, fNoMonsters);
|
||||||
// node_index_t nIndexBest; // 306
|
|
||||||
// {
|
|
||||||
// localnode_t *node; // 325
|
|
||||||
// Vector vecNodeLoc; // 326
|
|
||||||
// float flDistToDest; // 327
|
|
||||||
// GetNode(CLocalNav *const this,
|
|
||||||
// node_index_t nindex); // 329
|
|
||||||
// operator-(const Vector *const this,
|
|
||||||
// const Vector &v); // 332
|
|
||||||
// Length2D(const Vector *const this); // 332
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
|
|
||||||
int nIndexBest;
|
|
||||||
localnode_t *node;
|
|
||||||
Vector vecNodeLoc;
|
|
||||||
float flDistToDest;
|
|
||||||
|
|
||||||
nIndexBest = FindDirectPath(vecStart, vecDest, flTargetRadius, fNoMonsters); // TODO: Reverse me!
|
|
||||||
|
|
||||||
if (nIndexBest != -1)
|
if (nIndexBest != -1)
|
||||||
|
{
|
||||||
return nIndexBest;
|
return nIndexBest;
|
||||||
|
}
|
||||||
|
|
||||||
|
localnode_t *node;
|
||||||
|
Vector vecNodeLoc;
|
||||||
|
float_precision flDistToDest;
|
||||||
|
|
||||||
m_vecStartingLoc = vecStart;
|
m_vecStartingLoc = vecStart;
|
||||||
m_nindexAvailableNode = 0;
|
m_nindexAvailableNode = 0;
|
||||||
AddPathNodes(-1, fNoMonsters);
|
|
||||||
|
|
||||||
vecNodeLoc = vecStart;
|
AddPathNodes(-1, fNoMonsters);
|
||||||
nIndexBest = GetBestNode(vecNodeLoc, vecDest); // TODO: Reverse me!
|
nIndexBest = GetBestNode(vecStart, vecDest);
|
||||||
|
|
||||||
while (nIndexBest != -1)
|
while (nIndexBest != -1)
|
||||||
{
|
{
|
||||||
node = GetNode(nIndexBest);
|
node = GetNode(nIndexBest);
|
||||||
vecNodeLoc = node->vecLoc;
|
|
||||||
node->fSearched = TRUE;
|
node->fSearched = TRUE;
|
||||||
|
|
||||||
|
vecNodeLoc = node->vecLoc;
|
||||||
flDistToDest = (vecDest - node->vecLoc).Length2D();
|
flDistToDest = (vecDest - node->vecLoc).Length2D();
|
||||||
|
|
||||||
if (flDistToDest <= flTargetRadius)
|
if (flDistToDest <= flTargetRadius)
|
||||||
@ -213,14 +310,15 @@ NOBODY node_index_t CLocalNav::FindPath(Vector &vecStart, Vector &vecDest, float
|
|||||||
if (flDistToDest <= HOSTAGE_STEPSIZE)
|
if (flDistToDest <= HOSTAGE_STEPSIZE)
|
||||||
break;
|
break;
|
||||||
|
|
||||||
if ((flDistToDest - flTargetRadius) > (MAX_NODES - m_nindexAvailableNode) * HOSTAGE_STEPSIZE || m_nindexAvailableNode == MAX_NODES)
|
if (((flDistToDest - flTargetRadius) > ((MAX_NODES - m_nindexAvailableNode) * HOSTAGE_STEPSIZE))
|
||||||
|
|| m_nindexAvailableNode == MAX_NODES)
|
||||||
{
|
{
|
||||||
nIndexBest = -1;
|
nIndexBest = -1;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
AddPathNodes(nIndexBest, fNoMonsters); // TODO: Reverse me!
|
AddPathNodes(nIndexBest, fNoMonsters);
|
||||||
nIndexBest = GetBestNode(vecNodeLoc, vecDest); // TODO: Reverse me!
|
nIndexBest = GetBestNode(vecNodeLoc, vecDest);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (m_nindexAvailableNode <= 10)
|
if (m_nindexAvailableNode <= 10)
|
||||||
@ -277,66 +375,37 @@ NOBODY node_index_t CLocalNav::FindPath(Vector &vecStart, Vector &vecDest, float
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* <4867dc> ../cstrike/dlls/hostage/hostage_localnav.cpp:413 */
|
/* <4867dc> ../cstrike/dlls/hostage/hostage_localnav.cpp:413 */
|
||||||
NOBODY node_index_t CLocalNav::FindDirectPath(Vector &vecStart, Vector &vecDest, float flTargetRadius, int fNoMonsters)
|
node_index_t CLocalNav::FindDirectPath(Vector &vecStart, Vector &vecDest, float flTargetRadius, int fNoMonsters)
|
||||||
{
|
{
|
||||||
// {
|
|
||||||
// Vector vecActualDest; // 415
|
|
||||||
// Vector vecPathDir; // 416
|
|
||||||
// Vector vecNodeLoc; // 417
|
|
||||||
// node_index_t nindexLast; // 418
|
|
||||||
// operator-(const Vector *const this,
|
|
||||||
// const Vector &v); // 420
|
|
||||||
// Normalize(const Vector *const this); // 420
|
|
||||||
// operator*(const Vector *const this,
|
|
||||||
// float fl); // 422
|
|
||||||
// operator-(const Vector *const this,
|
|
||||||
// const Vector &v); // 422
|
|
||||||
// operator-(const Vector *const this,
|
|
||||||
// const Vector &v); // 432
|
|
||||||
// Length2D(const Vector *const this); // 432
|
|
||||||
// {
|
|
||||||
// node_index_t nindexCurrent; // 434
|
|
||||||
// AddNode(CLocalNav *const this,
|
|
||||||
// node_index_t nindexParent,
|
|
||||||
// Vector &vecLoc,
|
|
||||||
// int offsetX,
|
|
||||||
// int offsetY,
|
|
||||||
// byte bDepth); // 438
|
|
||||||
// operator*(const Vector *const this,
|
|
||||||
// float fl); // 436
|
|
||||||
// operator+(const Vector *const this,
|
|
||||||
// const Vector &v); // 436
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
|
|
||||||
Vector vecActualDest;
|
Vector vecActualDest;
|
||||||
Vector vecPathDir;
|
Vector vecPathDir;
|
||||||
Vector vecNodeLoc;
|
Vector vecNodeLoc;
|
||||||
node_index_t nindexLast;
|
node_index_t nindexLast;
|
||||||
|
|
||||||
vecPathDir = (vecDest - vecStart).Normalize();
|
vecPathDir = NormalizeSubtract<float_precision, float, float, float_precision>(vecStart, vecDest);
|
||||||
vecActualDest = vecDest - (vecPathDir * flTargetRadius);
|
vecActualDest = vecDest - (vecPathDir * flTargetRadius);
|
||||||
|
|
||||||
if (!PathTraversable(vecStart, vecActualDest, fNoMonsters)) // TODO: Reverse me!
|
if (PathTraversable(vecStart, vecActualDest, fNoMonsters) == PATH_TRAVERSABLE_EMPTY)
|
||||||
|
{
|
||||||
return -1;
|
return -1;
|
||||||
|
}
|
||||||
|
|
||||||
m_nindexAvailableNode = 0;
|
|
||||||
nindexLast = -1;
|
nindexLast = -1;
|
||||||
vecNodeLoc = vecStart;
|
vecNodeLoc = vecStart;
|
||||||
|
m_nindexAvailableNode = 0;
|
||||||
|
|
||||||
while ((vecNodeLoc - vecActualDest).Length2D() >= HOSTAGE_STEPSIZE)
|
while ((vecNodeLoc - vecActualDest).Length2D() >= HOSTAGE_STEPSIZE)
|
||||||
{
|
{
|
||||||
|
node_index_t nindexCurrent = nindexLast;
|
||||||
|
|
||||||
vecNodeLoc = vecNodeLoc + (vecPathDir * HOSTAGE_STEPSIZE);
|
vecNodeLoc = vecNodeLoc + (vecPathDir * HOSTAGE_STEPSIZE);
|
||||||
nindexLast = AddNode(nindexLast, vecNodeLoc, 0, 0, 0); // TODO: Reverse me!
|
nindexLast = AddNode(nindexCurrent, vecNodeLoc);
|
||||||
|
|
||||||
if (nindexLast == -1)
|
if (nindexLast == -1)
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
return nindexLast;
|
return nindexLast;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/* <485e40> ../cstrike/dlls/hostage/hostage_localnav.cpp:449 */
|
/* <485e40> ../cstrike/dlls/hostage/hostage_localnav.cpp:449 */
|
||||||
@ -347,7 +416,7 @@ BOOL CLocalNav::PathClear(Vector &vecOrigin, Vector &vecDest, int fNoMonsters, T
|
|||||||
if (tr.fStartSolid)
|
if (tr.fStartSolid)
|
||||||
return FALSE;
|
return FALSE;
|
||||||
|
|
||||||
if (tr.flFraction == 1.0)
|
if (tr.flFraction == 1.0f)
|
||||||
return TRUE;
|
return TRUE;
|
||||||
|
|
||||||
if (tr.pHit == m_pTargetEnt)
|
if (tr.pHit == m_pTargetEnt)
|
||||||
@ -365,13 +434,13 @@ int CLocalNav::PathTraversable(Vector &vecSource, Vector &vecDest, int fNoMonste
|
|||||||
Vector vecSrcTmp;
|
Vector vecSrcTmp;
|
||||||
Vector vecDestTmp;
|
Vector vecDestTmp;
|
||||||
Vector vecDir;
|
Vector vecDir;
|
||||||
double flTotal;
|
float_precision flTotal;
|
||||||
int retval = PATH_TRAVERSABLE_EMPTY;
|
int retval = PATH_TRAVERSABLE_EMPTY;
|
||||||
|
|
||||||
vecSrcTmp = vecSource;
|
vecSrcTmp = vecSource;
|
||||||
vecDestTmp = vecDest - vecSource;
|
vecDestTmp = vecDest - vecSource;
|
||||||
|
|
||||||
vecDir = vecDestTmp.Normalize();
|
vecDir = vecDestTmp.NormalizePrecision();
|
||||||
vecDir.z = 0;
|
vecDir.z = 0;
|
||||||
|
|
||||||
flTotal = vecDestTmp.Length2D();
|
flTotal = vecDestTmp.Length2D();
|
||||||
@ -380,13 +449,14 @@ int CLocalNav::PathTraversable(Vector &vecSource, Vector &vecDest, int fNoMonste
|
|||||||
{
|
{
|
||||||
if (flTotal >= s_flStepSize)
|
if (flTotal >= s_flStepSize)
|
||||||
{
|
{
|
||||||
#ifdef HOOK_GAMEDLL
|
#ifndef HOOK_GAMEDLL
|
||||||
vecDestTmp.x = vecSrcTmp.x + (vecDir.x * s_flStepSize);
|
|
||||||
vecDestTmp.y = vecSrcTmp.y + (float)(vecDir.y * s_flStepSize);
|
|
||||||
vecDestTmp.z = vecSrcTmp.z + (vecDir.z * s_flStepSize);
|
|
||||||
#else
|
|
||||||
vecDestTmp = vecSrcTmp + (vecDir * s_flStepSize);
|
vecDestTmp = vecSrcTmp + (vecDir * s_flStepSize);
|
||||||
|
#else
|
||||||
|
vecDestTmp[0] = vecSrcTmp[0] + (vecDir[0] * s_flStepSize);
|
||||||
|
vecDestTmp[1] = vecSrcTmp[1] + (float)(vecDir[1] * s_flStepSize);
|
||||||
|
vecDestTmp[2] = vecSrcTmp[2] + (vecDir[2] * s_flStepSize);
|
||||||
#endif // HOOK_GAMEDLL
|
#endif // HOOK_GAMEDLL
|
||||||
|
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
vecDestTmp = vecDest;
|
vecDestTmp = vecDest;
|
||||||
@ -398,18 +468,24 @@ int CLocalNav::PathTraversable(Vector &vecSource, Vector &vecDest, int fNoMonste
|
|||||||
vecDestTmp = tr.vecEndPos;
|
vecDestTmp = tr.vecEndPos;
|
||||||
|
|
||||||
if (retval == PATH_TRAVERSABLE_EMPTY)
|
if (retval == PATH_TRAVERSABLE_EMPTY)
|
||||||
|
{
|
||||||
retval = PATH_TRAVERSABLE_SLOPE;
|
retval = PATH_TRAVERSABLE_SLOPE;
|
||||||
}
|
}
|
||||||
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
if (tr.fStartSolid)
|
if (tr.fStartSolid)
|
||||||
|
{
|
||||||
return PATH_TRAVERSABLE_EMPTY;
|
return PATH_TRAVERSABLE_EMPTY;
|
||||||
|
}
|
||||||
|
|
||||||
if (tr.pHit && !fNoMonsters && tr.pHit->v.classname)
|
if (tr.pHit && !fNoMonsters && tr.pHit->v.classname)
|
||||||
{
|
{
|
||||||
if (FClassnameIs(tr.pHit, "hostage_entity"))
|
if (FClassnameIs(tr.pHit, "hostage_entity"))
|
||||||
|
{
|
||||||
return PATH_TRAVERSABLE_EMPTY;
|
return PATH_TRAVERSABLE_EMPTY;
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
vecSrcTmp = tr.vecEndPos;
|
vecSrcTmp = tr.vecEndPos;
|
||||||
|
|
||||||
@ -418,31 +494,43 @@ int CLocalNav::PathTraversable(Vector &vecSource, Vector &vecDest, int fNoMonste
|
|||||||
if (StepTraversable(vecSrcTmp, vecDestTmp, fNoMonsters, tr))
|
if (StepTraversable(vecSrcTmp, vecDestTmp, fNoMonsters, tr))
|
||||||
{
|
{
|
||||||
if (retval == PATH_TRAVERSABLE_EMPTY)
|
if (retval == PATH_TRAVERSABLE_EMPTY)
|
||||||
|
{
|
||||||
retval = PATH_TRAVERSABLE_STEP;
|
retval = PATH_TRAVERSABLE_STEP;
|
||||||
}
|
}
|
||||||
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
if (!StepJumpable(vecSrcTmp, vecDestTmp, fNoMonsters, tr))
|
if (!StepJumpable(vecSrcTmp, vecDestTmp, fNoMonsters, tr))
|
||||||
|
{
|
||||||
return PATH_TRAVERSABLE_EMPTY;
|
return PATH_TRAVERSABLE_EMPTY;
|
||||||
|
}
|
||||||
|
|
||||||
if (retval == PATH_TRAVERSABLE_EMPTY)
|
if (retval == PATH_TRAVERSABLE_EMPTY)
|
||||||
|
{
|
||||||
retval = PATH_TRAVERSABLE_STEPJUMPABLE;
|
retval = PATH_TRAVERSABLE_STEPJUMPABLE;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
if (!SlopeTraversable(vecSrcTmp, vecDestTmp, fNoMonsters, tr))
|
if (!SlopeTraversable(vecSrcTmp, vecDestTmp, fNoMonsters, tr))
|
||||||
|
{
|
||||||
return PATH_TRAVERSABLE_EMPTY;
|
return PATH_TRAVERSABLE_EMPTY;
|
||||||
|
}
|
||||||
|
|
||||||
if (retval == PATH_TRAVERSABLE_EMPTY)
|
if (retval == PATH_TRAVERSABLE_EMPTY)
|
||||||
|
{
|
||||||
retval = PATH_TRAVERSABLE_SLOPE;
|
retval = PATH_TRAVERSABLE_SLOPE;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
Vector vecDropDest = vecDestTmp - Vector(0, 0, 300);
|
Vector vecDropDest = vecDestTmp - Vector(0, 0, 300);
|
||||||
|
|
||||||
if (PathClear(vecDestTmp, vecDropDest, fNoMonsters, tr))
|
if (PathClear(vecDestTmp, vecDropDest, fNoMonsters, tr))
|
||||||
|
{
|
||||||
return PATH_TRAVERSABLE_EMPTY;
|
return PATH_TRAVERSABLE_EMPTY;
|
||||||
|
}
|
||||||
|
|
||||||
if (!tr.fStartSolid)
|
if (!tr.fStartSolid)
|
||||||
vecDestTmp = tr.vecEndPos;
|
vecDestTmp = tr.vecEndPos;
|
||||||
@ -474,7 +562,7 @@ BOOL CLocalNav::SlopeTraversable(Vector &vecSource, Vector &vecDest, int fNoMons
|
|||||||
vecDown = vecDest - vecSource;
|
vecDown = vecDest - vecSource;
|
||||||
|
|
||||||
vecAngles = UTIL_VecToAngles(tr.vecPlaneNormal);
|
vecAngles = UTIL_VecToAngles(tr.vecPlaneNormal);
|
||||||
vecSlopeEnd.z = vecDown.Length2D() * tan((double)((90.0 - vecAngles.x) * (M_PI / 180))) + vecSource.z;
|
vecSlopeEnd.z = vecDown.Length2D() * tan((float_precision)((90.0 - vecAngles.x) * (M_PI / 180))) + vecSource.z;
|
||||||
|
|
||||||
if (!PathClear(vecSource, vecSlopeEnd, fNoMonsters, tr))
|
if (!PathClear(vecSource, vecSlopeEnd, fNoMonsters, tr))
|
||||||
{
|
{
|
||||||
@ -700,36 +788,26 @@ NOBODY BOOL CLocalNav::LadderHit(Vector &vecSource, Vector &vecDest, TraceResult
|
|||||||
/* <487eeb> ../cstrike/dlls/hostage/hostage_localnav.cpp:851 */
|
/* <487eeb> ../cstrike/dlls/hostage/hostage_localnav.cpp:851 */
|
||||||
void CLocalNav::Think(void)
|
void CLocalNav::Think(void)
|
||||||
{
|
{
|
||||||
// {
|
EHANDLE hCallback;
|
||||||
// float flElapsedTime; // 853
|
|
||||||
// class EHANDLE hCallback; // 854
|
|
||||||
// cvar_t *sv_stepsize; // 855
|
|
||||||
// {
|
|
||||||
// class CHostage *pHostage; // 909
|
|
||||||
// GetClassPtr<CHostage>(CHostage *a); // 911
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
|
|
||||||
EHANDLE hostage;
|
|
||||||
static cvar_t *sv_stepsize = NULL;
|
static cvar_t *sv_stepsize = NULL;
|
||||||
|
|
||||||
if (flNextCvarCheck <= gpGlobals->time)
|
if (gpGlobals->time >= flNextCvarCheck)
|
||||||
{
|
{
|
||||||
if (sv_stepsize)
|
if (sv_stepsize != NULL)
|
||||||
{
|
|
||||||
flNextCvarCheck = gpGlobals->time + 1;
|
|
||||||
s_flStepSize = sv_stepsize->value;
|
s_flStepSize = sv_stepsize->value;
|
||||||
}
|
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
sv_stepsize = CVAR_GET_POINTER("sv_stepsize");
|
sv_stepsize = CVAR_GET_POINTER("sv_stepsize");
|
||||||
flNextCvarCheck = gpGlobals->time + 1;
|
s_flStepSize = s_flStepSize ? sv_stepsize->value : HOSTAGE_STEPSIZE_DEFAULT;
|
||||||
s_flStepSize = s_flStepSize ? sv_stepsize->value : 18;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
flNextCvarCheck = gpGlobals->time + 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
HostagePrethink();
|
HostagePrethink();
|
||||||
nodeval -= (gpGlobals->time - flLastThinkTime) * 250;
|
|
||||||
|
float flElapsedTime = gpGlobals->time - flLastThinkTime;
|
||||||
|
nodeval -= flElapsedTime * 250;
|
||||||
flLastThinkTime = gpGlobals->time;
|
flLastThinkTime = gpGlobals->time;
|
||||||
|
|
||||||
if (nodeval < 0)
|
if (nodeval < 0)
|
||||||
@ -740,12 +818,9 @@ void CLocalNav::Think(void)
|
|||||||
|
|
||||||
if (tot_inqueue)
|
if (tot_inqueue)
|
||||||
{
|
{
|
||||||
#ifndef REGAMEDLL_FIXES
|
hCallback = _queue[ qptr ];
|
||||||
hostage = NULL;
|
|
||||||
#endif // REGAMEDLL_FIXES
|
|
||||||
hostage = _queue[ qptr ];
|
|
||||||
|
|
||||||
if (!hostage)
|
if (!hCallback)
|
||||||
{
|
{
|
||||||
while (tot_inqueue > 0)
|
while (tot_inqueue > 0)
|
||||||
{
|
{
|
||||||
@ -755,20 +830,20 @@ void CLocalNav::Think(void)
|
|||||||
tot_inqueue--;
|
tot_inqueue--;
|
||||||
if (!tot_inqueue)
|
if (!tot_inqueue)
|
||||||
{
|
{
|
||||||
hostage = NULL;
|
hCallback = NULL;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
hostage = _queue[ qptr ];
|
hCallback = _queue[ qptr ];
|
||||||
|
|
||||||
if (hostage)
|
if (hCallback)
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (hostage)
|
if (hCallback)
|
||||||
{
|
{
|
||||||
CHostage *pHostage = GetClassPtr((CHostage *)hostage->pev);
|
CHostage *pHostage = GetClassPtr((CHostage *)hCallback->pev);
|
||||||
|
|
||||||
if (++qptr == MAX_HOSTAGES_NAV)
|
if (++qptr == MAX_HOSTAGES_NAV)
|
||||||
qptr = 0;
|
qptr = 0;
|
||||||
@ -812,6 +887,8 @@ void CLocalNav::HostagePrethink(void)
|
|||||||
for (int iCount = 0; iCount < tot_hostages; iCount++)
|
for (int iCount = 0; iCount < tot_hostages; iCount++)
|
||||||
{
|
{
|
||||||
if (hostages[ iCount ] != NULL)
|
if (hostages[ iCount ] != NULL)
|
||||||
|
{
|
||||||
GetClassPtr((CHostage *)hostages[ iCount ]->pev)->PreThink();
|
GetClassPtr((CHostage *)hostages[ iCount ]->pev)->PreThink();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
@ -32,6 +32,8 @@
|
|||||||
#pragma once
|
#pragma once
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#define NODE_INVALID_EMPTY -1
|
||||||
|
|
||||||
#define PATH_TRAVERSABLE_EMPTY 0
|
#define PATH_TRAVERSABLE_EMPTY 0
|
||||||
#define PATH_TRAVERSABLE_SLOPE 1
|
#define PATH_TRAVERSABLE_SLOPE 1
|
||||||
#define PATH_TRAVERSABLE_STEP 2
|
#define PATH_TRAVERSABLE_STEP 2
|
||||||
@ -81,8 +83,8 @@ public:
|
|||||||
m_pTargetEnt = NULL;
|
m_pTargetEnt = NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
NOBODY node_index_t FindPath(Vector &vecStart, Vector &vecDest, float flTargetRadius, int fNoMonsters);
|
node_index_t FindPath(Vector &vecStart, Vector &vecDest, float flTargetRadius, int fNoMonsters);
|
||||||
NOBODY int SetupPathNodes(node_index_t nindex, Vector *vecNodes, int fNoMonsters);
|
int SetupPathNodes(node_index_t nindex, Vector *vecNodes, int fNoMonsters);
|
||||||
NOBODY int GetFurthestTraversableNode(Vector &vecStartingLoc, Vector *vecNodes, int nTotalNodes, int fNoMonsters);
|
NOBODY int GetFurthestTraversableNode(Vector &vecStartingLoc, Vector *vecNodes, int nTotalNodes, int fNoMonsters);
|
||||||
int PathTraversable(Vector &vecSource, Vector &vecDest, int fNoMonsters);
|
int PathTraversable(Vector &vecSource, Vector &vecDest, int fNoMonsters);
|
||||||
BOOL PathClear(Vector &vecOrigin, Vector &vecDest, int fNoMonsters, TraceResult &tr);
|
BOOL PathClear(Vector &vecOrigin, Vector &vecDest, int fNoMonsters, TraceResult &tr);
|
||||||
@ -91,23 +93,23 @@ public:
|
|||||||
TraceResult tr;
|
TraceResult tr;
|
||||||
return PathClear(vecSource, vecDest, fNoMonsters, tr);
|
return PathClear(vecSource, vecDest, fNoMonsters, tr);
|
||||||
}
|
}
|
||||||
NOXREF node_index_t AddNode(node_index_t nindexParent, Vector &vecLoc, int offsetX, int offsetY, byte bDepth);
|
node_index_t AddNode(node_index_t nindexParent, Vector &vecLoc, int offsetX = 0, int offsetY = 0, byte bDepth = 0);
|
||||||
NOXREF localnode_t *GetNode(node_index_t nindex);
|
localnode_t *GetNode(node_index_t nindex);
|
||||||
NOXREF node_index_t NodeExists(int offsetX, int offsetY);
|
node_index_t NodeExists(int offsetX, int offsetY);
|
||||||
NOBODY void AddPathNodes(node_index_t nindexSource, int fNoMonsters);
|
void AddPathNodes(node_index_t nindexSource, int fNoMonsters);
|
||||||
NOBODY void AddPathNode(node_index_t nindexSource, int offsetX, int offsetY, int fNoMonsters);
|
void AddPathNode(node_index_t nindexSource, int offsetX, int offsetY, int fNoMonsters);
|
||||||
NOBODY node_index_t GetBestNode(Vector &vecOrigin, Vector &vecDest);
|
node_index_t GetBestNode(Vector &vecOrigin, Vector &vecDest);
|
||||||
BOOL SlopeTraversable(Vector &vecSource, Vector &vecDest, int fNoMonsters, TraceResult &tr);
|
BOOL SlopeTraversable(Vector &vecSource, Vector &vecDest, int fNoMonsters, TraceResult &tr);
|
||||||
NOBODY BOOL LadderTraversable(Vector &vecSource, Vector &vecDest, int fNoMonsters, TraceResult &tr);
|
NOBODY BOOL LadderTraversable(Vector &vecSource, Vector &vecDest, int fNoMonsters, TraceResult &tr);
|
||||||
BOOL StepTraversable(Vector &vecSource, Vector &vecDest, int fNoMonsters, TraceResult &tr);
|
BOOL StepTraversable(Vector &vecSource, Vector &vecDest, int fNoMonsters, TraceResult &tr);
|
||||||
BOOL StepJumpable(Vector &vecSource, Vector &vecDest, int fNoMonsters, TraceResult &tr);
|
BOOL StepJumpable(Vector &vecSource, Vector &vecDest, int fNoMonsters, TraceResult &tr);
|
||||||
NOBODY node_index_t FindDirectPath(Vector &vecStart, Vector &vecDest, float flTargetRadius, int fNoMonsters);
|
node_index_t FindDirectPath(Vector &vecStart, Vector &vecDest, float flTargetRadius, int fNoMonsters);
|
||||||
NOBODY BOOL LadderHit(Vector &vecSource, Vector &vecDest, TraceResult &tr);
|
NOBODY BOOL LadderHit(Vector &vecSource, Vector &vecDest, TraceResult &tr);
|
||||||
|
|
||||||
NOBODY static void Think(void);
|
NOBODY static void Think(void);
|
||||||
NOBODY static void RequestNav(CHostage *pCaller);
|
NOBODY static void RequestNav(CHostage *pCaller);
|
||||||
static void Reset(void);
|
static void Reset(void);
|
||||||
NOBODY static void HostagePrethink(void);
|
static void HostagePrethink(void);
|
||||||
|
|
||||||
#ifndef HOOK_GAMEDLL
|
#ifndef HOOK_GAMEDLL
|
||||||
private:
|
private:
|
||||||
|
@ -220,8 +220,14 @@ public:
|
|||||||
}
|
}
|
||||||
virtual void UpdateStationaryAnimation(CHostageImprov *improv);
|
virtual void UpdateStationaryAnimation(CHostageImprov *improv);
|
||||||
public:
|
public:
|
||||||
void SetLeader(CBaseEntity *leader);
|
void SetLeader(CBaseEntity *leader)
|
||||||
CBaseEntity *GetLeader(void);
|
{
|
||||||
|
m_leader = leader;
|
||||||
|
}
|
||||||
|
CBaseEntity *GetLeader(void)
|
||||||
|
{
|
||||||
|
return m_leader;
|
||||||
|
}
|
||||||
private:
|
private:
|
||||||
EHANDLE m_leader;
|
EHANDLE m_leader;
|
||||||
Vector m_lastLeaderPos;
|
Vector m_lastLeaderPos;
|
||||||
|
@ -3,6 +3,8 @@
|
|||||||
/* <4110a1> ../cstrike/dlls/hostage/states/hostage_animate.cpp:13 */
|
/* <4110a1> ../cstrike/dlls/hostage/states/hostage_animate.cpp:13 */
|
||||||
void HostageAnimateState::Reset(void)
|
void HostageAnimateState::Reset(void)
|
||||||
{
|
{
|
||||||
|
m_sequenceCount = 0;
|
||||||
|
m_performance = None;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* <4110c7> ../cstrike/dlls/hostage/states/hostage_animate.cpp:20 */
|
/* <4110c7> ../cstrike/dlls/hostage/states/hostage_animate.cpp:20 */
|
||||||
|
@ -4,11 +4,11 @@
|
|||||||
LINK_ENTITY_TO_CLASS(world_items, CWorldItem);
|
LINK_ENTITY_TO_CLASS(world_items, CWorldItem);
|
||||||
|
|
||||||
/* <e173b> ../cstrike/dlls/items.cpp:48 */
|
/* <e173b> ../cstrike/dlls/items.cpp:48 */
|
||||||
void CWorldItem::KeyValue_(KeyValueData *pkvd)
|
void CWorldItem::__MAKE_VHOOK(KeyValue)(KeyValueData *pkvd)
|
||||||
{
|
{
|
||||||
if (FStrEq(pkvd->szKeyName, "type"))
|
if (FStrEq(pkvd->szKeyName, "type"))
|
||||||
{
|
{
|
||||||
m_iType = atoi(pkvd->szValue);
|
m_iType = Q_atoi(pkvd->szValue);
|
||||||
pkvd->fHandled = TRUE;
|
pkvd->fHandled = TRUE;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
@ -16,7 +16,7 @@ void CWorldItem::KeyValue_(KeyValueData *pkvd)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* <e163a> ../cstrike/dlls/items.cpp:59 */
|
/* <e163a> ../cstrike/dlls/items.cpp:59 */
|
||||||
void CWorldItem::Spawn_(void)
|
void CWorldItem::__MAKE_VHOOK(Spawn)(void)
|
||||||
{
|
{
|
||||||
CBaseEntity *pEntity = NULL;
|
CBaseEntity *pEntity = NULL;
|
||||||
|
|
||||||
@ -49,7 +49,7 @@ void CWorldItem::Spawn_(void)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* <e15a6> ../cstrike/dlls/items.cpp:94 */
|
/* <e15a6> ../cstrike/dlls/items.cpp:94 */
|
||||||
void CItem::Spawn_(void)
|
void CItem::__MAKE_VHOOK(Spawn)(void)
|
||||||
{
|
{
|
||||||
pev->movetype = MOVETYPE_TOSS;
|
pev->movetype = MOVETYPE_TOSS;
|
||||||
pev->solid = SOLID_TRIGGER;
|
pev->solid = SOLID_TRIGGER;
|
||||||
@ -93,7 +93,7 @@ void CItem::ItemTouch(CBaseEntity *pOther)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* <e1566> ../cstrike/dlls/items.cpp:154 */
|
/* <e1566> ../cstrike/dlls/items.cpp:154 */
|
||||||
CBaseEntity *CItem::Respawn_(void)
|
CBaseEntity *CItem::__MAKE_VHOOK(Respawn)(void)
|
||||||
{
|
{
|
||||||
SetTouch(NULL);
|
SetTouch(NULL);
|
||||||
|
|
||||||
@ -124,7 +124,7 @@ void CItem::Materialize(void)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* <e2158> ../cstrike/dlls/items.cpp:190 */
|
/* <e2158> ../cstrike/dlls/items.cpp:190 */
|
||||||
void CItemSuit::Spawn_(void)
|
void CItemSuit::__MAKE_VHOOK(Spawn)(void)
|
||||||
{
|
{
|
||||||
Precache();
|
Precache();
|
||||||
SET_MODEL(ENT(pev), "models/w_kevlar.mdl");
|
SET_MODEL(ENT(pev), "models/w_kevlar.mdl");
|
||||||
@ -132,14 +132,14 @@ void CItemSuit::Spawn_(void)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* <e13a2> ../cstrike/dlls/items.cpp:196 */
|
/* <e13a2> ../cstrike/dlls/items.cpp:196 */
|
||||||
void CItemSuit::Precache_(void)
|
void CItemSuit::__MAKE_VHOOK(Precache)(void)
|
||||||
{
|
{
|
||||||
PRECACHE_MODEL("models/w_kevlar.mdl");
|
PRECACHE_MODEL("models/w_kevlar.mdl");
|
||||||
PRECACHE_SOUND("items/tr_kevlar.wav");
|
PRECACHE_SOUND("items/tr_kevlar.wav");
|
||||||
}
|
}
|
||||||
|
|
||||||
/* <e1b04> ../cstrike/dlls/items.cpp:201 */
|
/* <e1b04> ../cstrike/dlls/items.cpp:201 */
|
||||||
BOOL CItemSuit::MyTouch_(CBasePlayer *pPlayer)
|
BOOL CItemSuit::__MAKE_VHOOK(MyTouch)(CBasePlayer *pPlayer)
|
||||||
{
|
{
|
||||||
if (pPlayer->pev->weapons & (1 << WEAPON_SUIT))
|
if (pPlayer->pev->weapons & (1 << WEAPON_SUIT))
|
||||||
return FALSE;
|
return FALSE;
|
||||||
@ -156,7 +156,7 @@ BOOL CItemSuit::MyTouch_(CBasePlayer *pPlayer)
|
|||||||
LINK_ENTITY_TO_CLASS(item_suit, CItemSuit);
|
LINK_ENTITY_TO_CLASS(item_suit, CItemSuit);
|
||||||
|
|
||||||
/* <e20a7> ../cstrike/dlls/items.cpp:221 */
|
/* <e20a7> ../cstrike/dlls/items.cpp:221 */
|
||||||
void CItemBattery::Spawn_(void)
|
void CItemBattery::__MAKE_VHOOK(Spawn)(void)
|
||||||
{
|
{
|
||||||
Precache();
|
Precache();
|
||||||
SET_MODEL(ENT(pev), "models/w_battery.mdl");
|
SET_MODEL(ENT(pev), "models/w_battery.mdl");
|
||||||
@ -164,14 +164,14 @@ void CItemBattery::Spawn_(void)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* <e13c9> ../cstrike/dlls/items.cpp:227 */
|
/* <e13c9> ../cstrike/dlls/items.cpp:227 */
|
||||||
void CItemBattery::Precache_(void)
|
void CItemBattery::__MAKE_VHOOK(Precache)(void)
|
||||||
{
|
{
|
||||||
PRECACHE_MODEL("models/w_battery.mdl");
|
PRECACHE_MODEL("models/w_battery.mdl");
|
||||||
PRECACHE_SOUND("items/gunpickup2.wav");
|
PRECACHE_SOUND("items/gunpickup2.wav");
|
||||||
}
|
}
|
||||||
|
|
||||||
/* <e1a20> ../cstrike/dlls/items.cpp:232 */
|
/* <e1a20> ../cstrike/dlls/items.cpp:232 */
|
||||||
BOOL CItemBattery::MyTouch_(CBasePlayer *pPlayer)
|
BOOL CItemBattery::__MAKE_VHOOK(MyTouch)(CBasePlayer *pPlayer)
|
||||||
{
|
{
|
||||||
if (pPlayer->pev->armorvalue < MAX_NORMAL_BATTERY && (pPlayer->pev->weapons & (1 << WEAPON_SUIT)))
|
if (pPlayer->pev->armorvalue < MAX_NORMAL_BATTERY && (pPlayer->pev->weapons & (1 << WEAPON_SUIT)))
|
||||||
{
|
{
|
||||||
@ -179,7 +179,7 @@ BOOL CItemBattery::MyTouch_(CBasePlayer *pPlayer)
|
|||||||
char szcharge[64];
|
char szcharge[64];
|
||||||
|
|
||||||
pPlayer->pev->armorvalue += gSkillData.batteryCapacity;
|
pPlayer->pev->armorvalue += gSkillData.batteryCapacity;
|
||||||
pPlayer->pev->armorvalue = min(pPlayer->pev->armorvalue, MAX_NORMAL_BATTERY);
|
pPlayer->pev->armorvalue = _min(pPlayer->pev->armorvalue, MAX_NORMAL_BATTERY);
|
||||||
|
|
||||||
EMIT_SOUND(pPlayer->edict(), CHAN_ITEM, "items/gunpickup2.wav", VOL_NORM, ATTN_NORM);
|
EMIT_SOUND(pPlayer->edict(), CHAN_ITEM, "items/gunpickup2.wav", VOL_NORM, ATTN_NORM);
|
||||||
|
|
||||||
@ -207,7 +207,7 @@ BOOL CItemBattery::MyTouch_(CBasePlayer *pPlayer)
|
|||||||
LINK_ENTITY_TO_CLASS(item_battery, CItemBattery);
|
LINK_ENTITY_TO_CLASS(item_battery, CItemBattery);
|
||||||
|
|
||||||
/* <e1ff5> ../cstrike/dlls/items.cpp:271 */
|
/* <e1ff5> ../cstrike/dlls/items.cpp:271 */
|
||||||
void CItemAntidote::Spawn_(void)
|
void CItemAntidote::__MAKE_VHOOK(Spawn)(void)
|
||||||
{
|
{
|
||||||
Precache();
|
Precache();
|
||||||
SET_MODEL(ENT(pev), "models/w_antidote.mdl");
|
SET_MODEL(ENT(pev), "models/w_antidote.mdl");
|
||||||
@ -215,13 +215,13 @@ void CItemAntidote::Spawn_(void)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* <e13f0> ../cstrike/dlls/items.cpp:277 */
|
/* <e13f0> ../cstrike/dlls/items.cpp:277 */
|
||||||
void CItemAntidote::Precache_(void)
|
void CItemAntidote::__MAKE_VHOOK(Precache)(void)
|
||||||
{
|
{
|
||||||
PRECACHE_MODEL("models/w_antidote.mdl");
|
PRECACHE_MODEL("models/w_antidote.mdl");
|
||||||
}
|
}
|
||||||
|
|
||||||
/* <e1530> ../cstrike/dlls/items.cpp:281 */
|
/* <e1530> ../cstrike/dlls/items.cpp:281 */
|
||||||
BOOL CItemAntidote::MyTouch_(CBasePlayer *pPlayer)
|
BOOL CItemAntidote::__MAKE_VHOOK(MyTouch)(CBasePlayer *pPlayer)
|
||||||
{
|
{
|
||||||
pPlayer->SetSuitUpdate("!HEV_DET4", FALSE, SUIT_NEXT_IN_1MIN);
|
pPlayer->SetSuitUpdate("!HEV_DET4", FALSE, SUIT_NEXT_IN_1MIN);
|
||||||
pPlayer->m_rgItems[ ITEM_ANTIDOTE ] += 1;
|
pPlayer->m_rgItems[ ITEM_ANTIDOTE ] += 1;
|
||||||
@ -233,7 +233,7 @@ BOOL CItemAntidote::MyTouch_(CBasePlayer *pPlayer)
|
|||||||
LINK_ENTITY_TO_CLASS(item_antidote, CItemAntidote);
|
LINK_ENTITY_TO_CLASS(item_antidote, CItemAntidote);
|
||||||
|
|
||||||
/* <e1f43> ../cstrike/dlls/items.cpp:295 */
|
/* <e1f43> ../cstrike/dlls/items.cpp:295 */
|
||||||
void CItemSecurity::Spawn_(void)
|
void CItemSecurity::__MAKE_VHOOK(Spawn)(void)
|
||||||
{
|
{
|
||||||
Precache();
|
Precache();
|
||||||
SET_MODEL(ENT(pev), "models/w_security.mdl");
|
SET_MODEL(ENT(pev), "models/w_security.mdl");
|
||||||
@ -241,13 +241,13 @@ void CItemSecurity::Spawn_(void)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* <e1416> ../cstrike/dlls/items.cpp:301 */
|
/* <e1416> ../cstrike/dlls/items.cpp:301 */
|
||||||
void CItemSecurity::Precache_(void)
|
void CItemSecurity::__MAKE_VHOOK(Precache)(void)
|
||||||
{
|
{
|
||||||
PRECACHE_MODEL("models/w_security.mdl");
|
PRECACHE_MODEL("models/w_security.mdl");
|
||||||
}
|
}
|
||||||
|
|
||||||
/* <e143c> ../cstrike/dlls/items.cpp:305 */
|
/* <e143c> ../cstrike/dlls/items.cpp:305 */
|
||||||
BOOL CItemSecurity::MyTouch_(CBasePlayer *pPlayer)
|
BOOL CItemSecurity::__MAKE_VHOOK(MyTouch)(CBasePlayer *pPlayer)
|
||||||
{
|
{
|
||||||
pPlayer->m_rgItems[ ITEM_SECURITY ] += 1;
|
pPlayer->m_rgItems[ ITEM_SECURITY ] += 1;
|
||||||
return TRUE;
|
return TRUE;
|
||||||
@ -257,7 +257,7 @@ BOOL CItemSecurity::MyTouch_(CBasePlayer *pPlayer)
|
|||||||
LINK_ENTITY_TO_CLASS(item_security, CItemSecurity);
|
LINK_ENTITY_TO_CLASS(item_security, CItemSecurity);
|
||||||
|
|
||||||
/* <e1e91> ../cstrike/dlls/items.cpp:316 */
|
/* <e1e91> ../cstrike/dlls/items.cpp:316 */
|
||||||
void CItemLongJump::Spawn_(void)
|
void CItemLongJump::__MAKE_VHOOK(Spawn)(void)
|
||||||
{
|
{
|
||||||
Precache();
|
Precache();
|
||||||
SET_MODEL(ENT(pev), "models/w_longjump.mdl");
|
SET_MODEL(ENT(pev), "models/w_longjump.mdl");
|
||||||
@ -265,13 +265,13 @@ void CItemLongJump::Spawn_(void)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* <e1471> ../cstrike/dlls/items.cpp:322 */
|
/* <e1471> ../cstrike/dlls/items.cpp:322 */
|
||||||
void CItemLongJump::Precache_(void)
|
void CItemLongJump::__MAKE_VHOOK(Precache)(void)
|
||||||
{
|
{
|
||||||
PRECACHE_MODEL("models/w_longjump.mdl");
|
PRECACHE_MODEL("models/w_longjump.mdl");
|
||||||
}
|
}
|
||||||
|
|
||||||
/* <e17e9> ../cstrike/dlls/items.cpp:326 */
|
/* <e17e9> ../cstrike/dlls/items.cpp:326 */
|
||||||
BOOL CItemLongJump::MyTouch_(CBasePlayer *pPlayer)
|
BOOL CItemLongJump::__MAKE_VHOOK(MyTouch)(CBasePlayer *pPlayer)
|
||||||
{
|
{
|
||||||
if (pPlayer->m_fLongJump)
|
if (pPlayer->m_fLongJump)
|
||||||
return FALSE;
|
return FALSE;
|
||||||
@ -298,7 +298,7 @@ BOOL CItemLongJump::MyTouch_(CBasePlayer *pPlayer)
|
|||||||
LINK_ENTITY_TO_CLASS(item_longjump, CItemLongJump);
|
LINK_ENTITY_TO_CLASS(item_longjump, CItemLongJump);
|
||||||
|
|
||||||
/* <e1ddf> ../cstrike/dlls/items.cpp:354 */
|
/* <e1ddf> ../cstrike/dlls/items.cpp:354 */
|
||||||
void CItemKevlar::Spawn_(void)
|
void CItemKevlar::__MAKE_VHOOK(Spawn)(void)
|
||||||
{
|
{
|
||||||
Precache();
|
Precache();
|
||||||
SET_MODEL(ENT(pev), "models/w_kevlar.mdl");
|
SET_MODEL(ENT(pev), "models/w_kevlar.mdl");
|
||||||
@ -306,13 +306,13 @@ void CItemKevlar::Spawn_(void)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* <e1497> ../cstrike/dlls/items.cpp:360 */
|
/* <e1497> ../cstrike/dlls/items.cpp:360 */
|
||||||
void CItemKevlar::Precache_(void)
|
void CItemKevlar::__MAKE_VHOOK(Precache)(void)
|
||||||
{
|
{
|
||||||
PRECACHE_MODEL("models/w_kevlar.mdl");
|
PRECACHE_MODEL("models/w_kevlar.mdl");
|
||||||
}
|
}
|
||||||
|
|
||||||
/* <e1b9d> ../cstrike/dlls/items.cpp:364 */
|
/* <e1b9d> ../cstrike/dlls/items.cpp:364 */
|
||||||
BOOL CItemKevlar::MyTouch_(CBasePlayer *pPlayer)
|
BOOL CItemKevlar::__MAKE_VHOOK(MyTouch)(CBasePlayer *pPlayer)
|
||||||
{
|
{
|
||||||
if (pPlayer->m_iKevlar == ARMOR_TYPE_EMPTY)
|
if (pPlayer->m_iKevlar == ARMOR_TYPE_EMPTY)
|
||||||
pPlayer->m_iKevlar = ARMOR_TYPE_KEVLAR;
|
pPlayer->m_iKevlar = ARMOR_TYPE_KEVLAR;
|
||||||
@ -338,7 +338,7 @@ BOOL CItemKevlar::MyTouch_(CBasePlayer *pPlayer)
|
|||||||
LINK_ENTITY_TO_CLASS(item_kevlar, CItemKevlar);
|
LINK_ENTITY_TO_CLASS(item_kevlar, CItemKevlar);
|
||||||
|
|
||||||
/* <e1d2d> ../cstrike/dlls/items.cpp:395 */
|
/* <e1d2d> ../cstrike/dlls/items.cpp:395 */
|
||||||
void CItemAssaultSuit::Spawn_(void)
|
void CItemAssaultSuit::__MAKE_VHOOK(Spawn)(void)
|
||||||
{
|
{
|
||||||
Precache();
|
Precache();
|
||||||
SET_MODEL(ENT(pev), "models/w_assault.mdl");
|
SET_MODEL(ENT(pev), "models/w_assault.mdl");
|
||||||
@ -346,13 +346,13 @@ void CItemAssaultSuit::Spawn_(void)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* <e14bd> ../cstrike/dlls/items.cpp:401 */
|
/* <e14bd> ../cstrike/dlls/items.cpp:401 */
|
||||||
void CItemAssaultSuit::Precache_(void)
|
void CItemAssaultSuit::__MAKE_VHOOK(Precache)(void)
|
||||||
{
|
{
|
||||||
PRECACHE_MODEL("models/w_assault.mdl");
|
PRECACHE_MODEL("models/w_assault.mdl");
|
||||||
}
|
}
|
||||||
|
|
||||||
/* <e1942> ../cstrike/dlls/items.cpp:405 */
|
/* <e1942> ../cstrike/dlls/items.cpp:405 */
|
||||||
BOOL CItemAssaultSuit::MyTouch_(CBasePlayer *pPlayer)
|
BOOL CItemAssaultSuit::__MAKE_VHOOK(MyTouch)(CBasePlayer *pPlayer)
|
||||||
{
|
{
|
||||||
pPlayer->m_iKevlar = ARMOR_TYPE_HELMET;
|
pPlayer->m_iKevlar = ARMOR_TYPE_HELMET;
|
||||||
pPlayer->pev->armorvalue = 100;
|
pPlayer->pev->armorvalue = 100;
|
||||||
@ -377,7 +377,7 @@ BOOL CItemAssaultSuit::MyTouch_(CBasePlayer *pPlayer)
|
|||||||
LINK_ENTITY_TO_CLASS(item_assaultsuit, CItemAssaultSuit);
|
LINK_ENTITY_TO_CLASS(item_assaultsuit, CItemAssaultSuit);
|
||||||
|
|
||||||
/* <e1c7b> ../cstrike/dlls/items.cpp:434 */
|
/* <e1c7b> ../cstrike/dlls/items.cpp:434 */
|
||||||
void CItemThighPack::Spawn_(void)
|
void CItemThighPack::__MAKE_VHOOK(Spawn)(void)
|
||||||
{
|
{
|
||||||
Precache();
|
Precache();
|
||||||
SET_MODEL(ENT(pev), "models/w_thighpack.mdl");
|
SET_MODEL(ENT(pev), "models/w_thighpack.mdl");
|
||||||
@ -385,13 +385,13 @@ void CItemThighPack::Spawn_(void)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* <e14e3> ../cstrike/dlls/items.cpp:440 */
|
/* <e14e3> ../cstrike/dlls/items.cpp:440 */
|
||||||
void CItemThighPack::Precache_(void)
|
void CItemThighPack::__MAKE_VHOOK(Precache)(void)
|
||||||
{
|
{
|
||||||
PRECACHE_MODEL("models/w_thighpack.mdl");
|
PRECACHE_MODEL("models/w_thighpack.mdl");
|
||||||
}
|
}
|
||||||
|
|
||||||
/* <e1873> ../cstrike/dlls/items.cpp:444 */
|
/* <e1873> ../cstrike/dlls/items.cpp:444 */
|
||||||
BOOL CItemThighPack::MyTouch_(CBasePlayer *pPlayer)
|
BOOL CItemThighPack::__MAKE_VHOOK(MyTouch)(CBasePlayer *pPlayer)
|
||||||
{
|
{
|
||||||
if (pPlayer->m_iTeam != CT || pPlayer->m_bHasDefuser)
|
if (pPlayer->m_iTeam != CT || pPlayer->m_bHasDefuser)
|
||||||
return FALSE;
|
return FALSE;
|
||||||
|
@ -26,16 +26,16 @@ IMPLEMENT_SAVERESTORE(CLight, CPointEntity);
|
|||||||
// Cache user-entity-field values until spawn is called.
|
// Cache user-entity-field values until spawn is called.
|
||||||
|
|
||||||
/* <e7bef> ../cstrike/dlls/lights.cpp:62 */
|
/* <e7bef> ../cstrike/dlls/lights.cpp:62 */
|
||||||
void CLight::KeyValue_(KeyValueData *pkvd)
|
void CLight::__MAKE_VHOOK(KeyValue)(KeyValueData *pkvd)
|
||||||
{
|
{
|
||||||
if (FStrEq(pkvd->szKeyName, "style"))
|
if (FStrEq(pkvd->szKeyName, "style"))
|
||||||
{
|
{
|
||||||
m_iStyle = atoi(pkvd->szValue);
|
m_iStyle = Q_atoi(pkvd->szValue);
|
||||||
pkvd->fHandled = TRUE;
|
pkvd->fHandled = TRUE;
|
||||||
}
|
}
|
||||||
else if (FStrEq(pkvd->szKeyName, "pitch"))
|
else if (FStrEq(pkvd->szKeyName, "pitch"))
|
||||||
{
|
{
|
||||||
pev->angles.x = atof(pkvd->szValue);
|
pev->angles.x = Q_atof(pkvd->szValue);
|
||||||
pkvd->fHandled = TRUE;
|
pkvd->fHandled = TRUE;
|
||||||
}
|
}
|
||||||
else if (FStrEq(pkvd->szKeyName, "pattern"))
|
else if (FStrEq(pkvd->szKeyName, "pattern"))
|
||||||
@ -48,7 +48,7 @@ void CLight::KeyValue_(KeyValueData *pkvd)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* <e7b78> ../cstrike/dlls/lights.cpp:92 */
|
/* <e7b78> ../cstrike/dlls/lights.cpp:92 */
|
||||||
void CLight::Spawn_(void)
|
void CLight::__MAKE_VHOOK(Spawn)(void)
|
||||||
{
|
{
|
||||||
// inert light
|
// inert light
|
||||||
if (FStringNull(pev->targetname))
|
if (FStringNull(pev->targetname))
|
||||||
@ -72,7 +72,7 @@ void CLight::Spawn_(void)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* <e7a30> ../cstrike/dlls/lights.cpp:117 */
|
/* <e7a30> ../cstrike/dlls/lights.cpp:117 */
|
||||||
void CLight::Restart_(void)
|
void CLight::__MAKE_VHOOK(Restart)(void)
|
||||||
{
|
{
|
||||||
if (m_iStyle >= 32)
|
if (m_iStyle >= 32)
|
||||||
{
|
{
|
||||||
@ -94,7 +94,7 @@ void CLight::Restart_(void)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* <e7a6b> ../cstrike/dlls/lights.cpp:139 */
|
/* <e7a6b> ../cstrike/dlls/lights.cpp:139 */
|
||||||
void CLight::Use_(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value)
|
void CLight::__MAKE_VHOOK(Use)(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value)
|
||||||
{
|
{
|
||||||
if (m_iStyle >= 32)
|
if (m_iStyle >= 32)
|
||||||
{
|
{
|
||||||
@ -125,7 +125,7 @@ LINK_ENTITY_TO_CLASS(light_spot, CLight);
|
|||||||
LINK_ENTITY_TO_CLASS(light_environment, CEnvLight);
|
LINK_ENTITY_TO_CLASS(light_environment, CEnvLight);
|
||||||
|
|
||||||
/* <e7d08> ../cstrike/dlls/lights.cpp:177 */
|
/* <e7d08> ../cstrike/dlls/lights.cpp:177 */
|
||||||
void CEnvLight::KeyValue_(KeyValueData *pkvd)
|
void CEnvLight::__MAKE_VHOOK(KeyValue)(KeyValueData *pkvd)
|
||||||
{
|
{
|
||||||
if (FStrEq(pkvd->szKeyName, "_light"))
|
if (FStrEq(pkvd->szKeyName, "_light"))
|
||||||
{
|
{
|
||||||
@ -162,7 +162,7 @@ void CEnvLight::KeyValue_(KeyValueData *pkvd)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* <e7bb3> ../cstrike/dlls/lights.cpp:215 */
|
/* <e7bb3> ../cstrike/dlls/lights.cpp:215 */
|
||||||
void CEnvLight::Spawn_(void)
|
void CEnvLight::__MAKE_VHOOK(Spawn)(void)
|
||||||
{
|
{
|
||||||
#if defined(HOOK_GAMEDLL)
|
#if defined(HOOK_GAMEDLL)
|
||||||
// NOTE: fix negative the values for function sprintf from STD C++:
|
// NOTE: fix negative the values for function sprintf from STD C++:
|
||||||
|
@ -35,12 +35,12 @@ TYPEDESCRIPTION (*CGamePlayerZone::pm_SaveData)[4];
|
|||||||
IMPLEMENT_SAVERESTORE(CRuleEntity, CBaseEntity);
|
IMPLEMENT_SAVERESTORE(CRuleEntity, CBaseEntity);
|
||||||
|
|
||||||
/* <eed18> ../cstrike/dlls/maprules.cpp:60 */
|
/* <eed18> ../cstrike/dlls/maprules.cpp:60 */
|
||||||
NOBODY void CRuleEntity::Spawn_(void)
|
NOBODY void CRuleEntity::__MAKE_VHOOK(Spawn)(void)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
/* <eeff6> ../cstrike/dlls/maprules.cpp:68 */
|
/* <eeff6> ../cstrike/dlls/maprules.cpp:68 */
|
||||||
NOBODY void CRuleEntity::KeyValue_(KeyValueData *pkvd)
|
NOBODY void CRuleEntity::__MAKE_VHOOK(KeyValue)(KeyValueData *pkvd)
|
||||||
{
|
{
|
||||||
// FStrEq(const char *sz1,
|
// FStrEq(const char *sz1,
|
||||||
// const char *sz2); // 70
|
// const char *sz2); // 70
|
||||||
@ -58,13 +58,13 @@ NOBODY BOOL CRuleEntity::CanFireForActivator(CBaseEntity *pActivator)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* <eed39> ../cstrike/dlls/maprules.cpp:101 */
|
/* <eed39> ../cstrike/dlls/maprules.cpp:101 */
|
||||||
NOBODY void CRulePointEntity::Spawn_(void)
|
NOBODY void CRulePointEntity::__MAKE_VHOOK(Spawn)(void)
|
||||||
{
|
{
|
||||||
// Spawn(CRuleEntity *const this); // 103
|
// Spawn(CRuleEntity *const this); // 103
|
||||||
}
|
}
|
||||||
|
|
||||||
/* <eed72> ../cstrike/dlls/maprules.cpp:120 */
|
/* <eed72> ../cstrike/dlls/maprules.cpp:120 */
|
||||||
NOBODY void CRuleBrushEntity::Spawn_(void)
|
NOBODY void CRuleBrushEntity::__MAKE_VHOOK(Spawn)(void)
|
||||||
{
|
{
|
||||||
// Spawn(CRuleEntity *const this); // 123
|
// Spawn(CRuleEntity *const this); // 123
|
||||||
}
|
}
|
||||||
@ -73,13 +73,13 @@ NOBODY void CRuleBrushEntity::Spawn_(void)
|
|||||||
LINK_ENTITY_TO_CLASS(game_score, CGameScore);
|
LINK_ENTITY_TO_CLASS(game_score, CGameScore);
|
||||||
|
|
||||||
/* <eedb1> ../cstrike/dlls/maprules.cpp:154 */
|
/* <eedb1> ../cstrike/dlls/maprules.cpp:154 */
|
||||||
NOBODY void CGameScore::Spawn_(void)
|
NOBODY void CGameScore::__MAKE_VHOOK(Spawn)(void)
|
||||||
{
|
{
|
||||||
// Spawn(CRulePointEntity *const this); // 156
|
// Spawn(CRulePointEntity *const this); // 156
|
||||||
}
|
}
|
||||||
|
|
||||||
/* <efc68> ../cstrike/dlls/maprules.cpp:160 */
|
/* <efc68> ../cstrike/dlls/maprules.cpp:160 */
|
||||||
NOBODY void CGameScore::KeyValue_(KeyValueData *pkvd)
|
NOBODY void CGameScore::__MAKE_VHOOK(KeyValue)(KeyValueData *pkvd)
|
||||||
{
|
{
|
||||||
// FStrEq(const char *sz1,
|
// FStrEq(const char *sz1,
|
||||||
// const char *sz2); // 162
|
// const char *sz2); // 162
|
||||||
@ -90,7 +90,7 @@ NOBODY void CGameScore::KeyValue_(KeyValueData *pkvd)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* <ef54c> ../cstrike/dlls/maprules.cpp:173 */
|
/* <ef54c> ../cstrike/dlls/maprules.cpp:173 */
|
||||||
NOBODY void CGameScore::Use_(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value)
|
NOBODY void CGameScore::__MAKE_VHOOK(Use)(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value)
|
||||||
{
|
{
|
||||||
// CanFireForActivator(CRuleEntity *const this,
|
// CanFireForActivator(CRuleEntity *const this,
|
||||||
// class CBaseEntity *pActivator); // 175
|
// class CBaseEntity *pActivator); // 175
|
||||||
@ -111,7 +111,7 @@ LINK_ENTITY_TO_CLASS(game_end, CGameEnd);
|
|||||||
LINK_ENTITY_TO_CLASS(game_text, CGameText);
|
LINK_ENTITY_TO_CLASS(game_text, CGameText);
|
||||||
|
|
||||||
/* <ef497> ../cstrike/dlls/maprules.cpp:205 */
|
/* <ef497> ../cstrike/dlls/maprules.cpp:205 */
|
||||||
NOBODY void CGameEnd::Use_(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value)
|
NOBODY void CGameEnd::__MAKE_VHOOK(Use)(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value)
|
||||||
{
|
{
|
||||||
// CanFireForActivator(CRuleEntity *const this,
|
// CanFireForActivator(CRuleEntity *const this,
|
||||||
// class CBaseEntity *pActivator); // 207
|
// class CBaseEntity *pActivator); // 207
|
||||||
@ -126,7 +126,7 @@ NOBODY void CGameEnd::Use_(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TY
|
|||||||
IMPLEMENT_SAVERESTORE(CGameText, CRulePointEntity);
|
IMPLEMENT_SAVERESTORE(CGameText, CRulePointEntity);
|
||||||
|
|
||||||
/* <f00dd> ../cstrike/dlls/maprules.cpp:254 */
|
/* <f00dd> ../cstrike/dlls/maprules.cpp:254 */
|
||||||
NOBODY void CGameText::KeyValue_(KeyValueData *pkvd)
|
NOBODY void CGameText::__MAKE_VHOOK(KeyValue)(KeyValueData *pkvd)
|
||||||
{
|
{
|
||||||
// {
|
// {
|
||||||
// int color; // 278
|
// int color; // 278
|
||||||
@ -145,7 +145,7 @@ NOBODY void CGameText::KeyValue_(KeyValueData *pkvd)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* <ef655> ../cstrike/dlls/maprules.cpp:321 */
|
/* <ef655> ../cstrike/dlls/maprules.cpp:321 */
|
||||||
NOBODY void CGameText::Use_(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value)
|
NOBODY void CGameText::__MAKE_VHOOK(Use)(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value)
|
||||||
{
|
{
|
||||||
// CanFireForActivator(CRuleEntity *const this,
|
// CanFireForActivator(CRuleEntity *const this,
|
||||||
// class CBaseEntity *pActivator); // 323
|
// class CBaseEntity *pActivator); // 323
|
||||||
@ -161,7 +161,7 @@ NOBODY void CGameText::Use_(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_T
|
|||||||
LINK_ENTITY_TO_CLASS(game_team_master, CGameTeamMaster);
|
LINK_ENTITY_TO_CLASS(game_team_master, CGameTeamMaster);
|
||||||
|
|
||||||
/* <eff4f> ../cstrike/dlls/maprules.cpp:373 */
|
/* <eff4f> ../cstrike/dlls/maprules.cpp:373 */
|
||||||
NOBODY void CGameTeamMaster::KeyValue_(KeyValueData *pkvd)
|
NOBODY void CGameTeamMaster::__MAKE_VHOOK(KeyValue)(KeyValueData *pkvd)
|
||||||
{
|
{
|
||||||
// FStrEq(const char *sz1,
|
// FStrEq(const char *sz1,
|
||||||
// const char *sz2); // 375
|
// const char *sz2); // 375
|
||||||
@ -178,7 +178,7 @@ NOBODY void CGameTeamMaster::KeyValue_(KeyValueData *pkvd)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* <f0474> ../cstrike/dlls/maprules.cpp:402 */
|
/* <f0474> ../cstrike/dlls/maprules.cpp:402 */
|
||||||
void CGameTeamMaster::Use_(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value)
|
void CGameTeamMaster::__MAKE_VHOOK(Use)(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value)
|
||||||
{
|
{
|
||||||
// CanFireForActivator(CRuleEntity *const this,
|
// CanFireForActivator(CRuleEntity *const this,
|
||||||
// class CBaseEntity *pActivator); // 404
|
// class CBaseEntity *pActivator); // 404
|
||||||
@ -192,14 +192,14 @@ void CGameTeamMaster::Use_(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TY
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* <ef2e0> ../cstrike/dlls/maprules.cpp:429 */
|
/* <ef2e0> ../cstrike/dlls/maprules.cpp:429 */
|
||||||
BOOL CGameTeamMaster::IsTriggered_(CBaseEntity *pActivator)
|
BOOL CGameTeamMaster::__MAKE_VHOOK(IsTriggered)(CBaseEntity *pActivator)
|
||||||
{
|
{
|
||||||
// TeamMatch(CGameTeamMaster *const this,
|
// TeamMatch(CGameTeamMaster *const this,
|
||||||
// class CBaseEntity *pActivator); // 431
|
// class CBaseEntity *pActivator); // 431
|
||||||
}
|
}
|
||||||
|
|
||||||
/* <eeeaf> ../cstrike/dlls/maprules.cpp:435 */
|
/* <eeeaf> ../cstrike/dlls/maprules.cpp:435 */
|
||||||
const char *CGameTeamMaster::TeamID_(void)
|
const char *CGameTeamMaster::__MAKE_VHOOK(TeamID)(void)
|
||||||
{
|
{
|
||||||
// TeamID(CGameTeamMaster *const this); // 435
|
// TeamID(CGameTeamMaster *const this); // 435
|
||||||
}
|
}
|
||||||
@ -216,7 +216,7 @@ BOOL CGameTeamMaster::TeamMatch(CBaseEntity *pActivator)
|
|||||||
LINK_ENTITY_TO_CLASS(game_team_set, CGameTeamSet);
|
LINK_ENTITY_TO_CLASS(game_team_set, CGameTeamSet);
|
||||||
|
|
||||||
/* <ef735> ../cstrike/dlls/maprules.cpp:477 */
|
/* <ef735> ../cstrike/dlls/maprules.cpp:477 */
|
||||||
void CGameTeamSet::Use_(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value)
|
void CGameTeamSet::__MAKE_VHOOK(Use)(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value)
|
||||||
{
|
{
|
||||||
// CanFireForActivator(CRuleEntity *const this,
|
// CanFireForActivator(CRuleEntity *const this,
|
||||||
// class CBaseEntity *pActivator); // 479
|
// class CBaseEntity *pActivator); // 479
|
||||||
@ -227,19 +227,14 @@ void CGameTeamSet::Use_(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE
|
|||||||
// float value); // 477
|
// float value); // 477
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/* <f0dfd> ../cstrike/dlls/maprules.cpp:519 */
|
/* <f0dfd> ../cstrike/dlls/maprules.cpp:519 */
|
||||||
LINK_ENTITY_TO_CLASS(game_zone_player, CGamePlayerZone);
|
LINK_ENTITY_TO_CLASS(game_zone_player, CGamePlayerZone);
|
||||||
|
|
||||||
/* <ef0a2> ../cstrike/dlls/maprules.cpp:528 */
|
/* <ef0a2> ../cstrike/dlls/maprules.cpp:528 */
|
||||||
IMPLEMENT_SAVERESTORE(CGamePlayerZone, CRuleBrushEntity);
|
IMPLEMENT_SAVERESTORE(CGamePlayerZone, CRuleBrushEntity);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/* <efdbc> ../cstrike/dlls/maprules.cpp:530 */
|
/* <efdbc> ../cstrike/dlls/maprules.cpp:530 */
|
||||||
void CGamePlayerZone::KeyValue_(KeyValueData *pkvd)
|
void CGamePlayerZone::__MAKE_VHOOK(KeyValue)(KeyValueData *pkvd)
|
||||||
{
|
{
|
||||||
// FStrEq(const char *sz1,
|
// FStrEq(const char *sz1,
|
||||||
// const char *sz2); // 532
|
// const char *sz2); // 532
|
||||||
@ -250,7 +245,7 @@ void CGamePlayerZone::KeyValue_(KeyValueData *pkvd)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* <ef36e> ../cstrike/dlls/maprules.cpp:556 */
|
/* <ef36e> ../cstrike/dlls/maprules.cpp:556 */
|
||||||
void CGamePlayerZone::Use_(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value)
|
void CGamePlayerZone::__MAKE_VHOOK(Use)(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value)
|
||||||
{
|
{
|
||||||
// {
|
// {
|
||||||
// int playersInCount; // 558
|
// int playersInCount; // 558
|
||||||
@ -277,7 +272,7 @@ void CGamePlayerZone::Use_(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TY
|
|||||||
LINK_ENTITY_TO_CLASS(game_player_hurt, CGamePlayerHurt);
|
LINK_ENTITY_TO_CLASS(game_player_hurt, CGamePlayerHurt);
|
||||||
|
|
||||||
/* <ef815> ../cstrike/dlls/maprules.cpp:631 */
|
/* <ef815> ../cstrike/dlls/maprules.cpp:631 */
|
||||||
void CGamePlayerHurt::Use_(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value)
|
void CGamePlayerHurt::__MAKE_VHOOK(Use)(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value)
|
||||||
{
|
{
|
||||||
// CanFireForActivator(CRuleEntity *const this,
|
// CanFireForActivator(CRuleEntity *const this,
|
||||||
// class CBaseEntity *pActivator); // 633
|
// class CBaseEntity *pActivator); // 633
|
||||||
@ -292,7 +287,7 @@ void CGamePlayerHurt::Use_(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TY
|
|||||||
LINK_ENTITY_TO_CLASS(game_counter, CGameCounter);
|
LINK_ENTITY_TO_CLASS(game_counter, CGameCounter);
|
||||||
|
|
||||||
/* <eee2d> ../cstrike/dlls/maprules.cpp:686 */
|
/* <eee2d> ../cstrike/dlls/maprules.cpp:686 */
|
||||||
void CGameCounter::Spawn_(void)
|
void CGameCounter::__MAKE_VHOOK(Spawn)(void)
|
||||||
{
|
{
|
||||||
// CountValue(CGameCounter *const this); // 689
|
// CountValue(CGameCounter *const this); // 689
|
||||||
// SetInitialValue(CGameCounter *const this,
|
// SetInitialValue(CGameCounter *const this,
|
||||||
@ -301,7 +296,7 @@ void CGameCounter::Spawn_(void)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* <ef8ef> ../cstrike/dlls/maprules.cpp:694 */
|
/* <ef8ef> ../cstrike/dlls/maprules.cpp:694 */
|
||||||
void CGameCounter::Use_(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value)
|
void CGameCounter::__MAKE_VHOOK(Use)(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value)
|
||||||
{
|
{
|
||||||
// CanFireForActivator(CRuleEntity *const this,
|
// CanFireForActivator(CRuleEntity *const this,
|
||||||
// class CBaseEntity *pActivator); // 696
|
// class CBaseEntity *pActivator); // 696
|
||||||
@ -316,7 +311,7 @@ void CGameCounter::Use_(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE
|
|||||||
LINK_ENTITY_TO_CLASS(game_counter_set, CGameCounterSet);
|
LINK_ENTITY_TO_CLASS(game_counter_set, CGameCounterSet);
|
||||||
|
|
||||||
/* <efa65> ../cstrike/dlls/maprules.cpp:750 */
|
/* <efa65> ../cstrike/dlls/maprules.cpp:750 */
|
||||||
void CGameCounterSet::Use_(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value)
|
void CGameCounterSet::__MAKE_VHOOK(Use)(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value)
|
||||||
{
|
{
|
||||||
// CanFireForActivator(CRuleEntity *const this,
|
// CanFireForActivator(CRuleEntity *const this,
|
||||||
// class CBaseEntity *pActivator); // 752
|
// class CBaseEntity *pActivator); // 752
|
||||||
@ -331,7 +326,7 @@ void CGameCounterSet::Use_(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TY
|
|||||||
LINK_ENTITY_TO_CLASS(game_player_equip, CGamePlayerEquip);
|
LINK_ENTITY_TO_CLASS(game_player_equip, CGamePlayerEquip);
|
||||||
|
|
||||||
/* <ed81f> ../cstrike/dlls/maprules.cpp:791 */
|
/* <ed81f> ../cstrike/dlls/maprules.cpp:791 */
|
||||||
void CGamePlayerEquip::KeyValue_(KeyValueData *pkvd)
|
void CGamePlayerEquip::__MAKE_VHOOK(KeyValue)(KeyValueData *pkvd)
|
||||||
{
|
{
|
||||||
// {
|
// {
|
||||||
// int i; // 797
|
// int i; // 797
|
||||||
@ -346,7 +341,7 @@ void CGamePlayerEquip::KeyValue_(KeyValueData *pkvd)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* <f06ad> ../cstrike/dlls/maprules.cpp:816 */
|
/* <f06ad> ../cstrike/dlls/maprules.cpp:816 */
|
||||||
void CGamePlayerEquip::Touch_(CBaseEntity *pOther)
|
void CGamePlayerEquip::__MAKE_VHOOK(Touch)(CBaseEntity *pOther)
|
||||||
{
|
{
|
||||||
// CanFireForActivator(CRuleEntity *const this,
|
// CanFireForActivator(CRuleEntity *const this,
|
||||||
// class CBaseEntity *pActivator); // 818
|
// class CBaseEntity *pActivator); // 818
|
||||||
@ -369,7 +364,7 @@ void CGamePlayerEquip::EquipPlayer(CBaseEntity *pEntity)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* <f05f3> ../cstrike/dlls/maprules.cpp:851 */
|
/* <f05f3> ../cstrike/dlls/maprules.cpp:851 */
|
||||||
void CGamePlayerEquip::Use_(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value)
|
void CGamePlayerEquip::__MAKE_VHOOK(Use)(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value)
|
||||||
{
|
{
|
||||||
// EquipPlayer(CGamePlayerEquip *const this,
|
// EquipPlayer(CGamePlayerEquip *const this,
|
||||||
// class CBaseEntity *pEntity); // 853
|
// class CBaseEntity *pEntity); // 853
|
||||||
@ -389,7 +384,7 @@ const char *CGamePlayerTeam::TargetTeamName(const char *pszTargetName)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* <f07df> ../cstrike/dlls/maprules.cpp:898 */
|
/* <f07df> ../cstrike/dlls/maprules.cpp:898 */
|
||||||
void CGamePlayerTeam::Use_(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value)
|
void CGamePlayerTeam::__MAKE_VHOOK(Use)(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value)
|
||||||
{
|
{
|
||||||
// {
|
// {
|
||||||
// const char *pszTargetTeam; // 905
|
// const char *pszTargetTeam; // 905
|
||||||
|
@ -28,84 +28,194 @@ LINK_ENTITY_TO_CLASS(func_mortar_field, CFuncMortarField);
|
|||||||
IMPLEMENT_SAVERESTORE(CFuncMortarField, CBaseToggle);
|
IMPLEMENT_SAVERESTORE(CFuncMortarField, CBaseToggle);
|
||||||
|
|
||||||
/* <f6d87> ../cstrike/dlls/mortar.cpp:71 */
|
/* <f6d87> ../cstrike/dlls/mortar.cpp:71 */
|
||||||
NOBODY void CFuncMortarField::KeyValue_(KeyValueData *pkvd)
|
void CFuncMortarField::__MAKE_VHOOK(KeyValue)(KeyValueData *pkvd)
|
||||||
{
|
{
|
||||||
// FStrEq(const char *sz1,
|
if (FStrEq(pkvd->szKeyName, "m_iszXController"))
|
||||||
// const char *sz2); // 73
|
{
|
||||||
// FStrEq(const char *sz1,
|
m_iszXController = ALLOC_STRING(pkvd->szValue);
|
||||||
// const char *sz2); // 78
|
pkvd->fHandled = TRUE;
|
||||||
// KeyValue(CFuncMortarField *const this,
|
}
|
||||||
// KeyValueData *pkvd); // 71
|
else if (FStrEq(pkvd->szKeyName, "m_iszYController"))
|
||||||
|
{
|
||||||
|
m_iszYController = ALLOC_STRING(pkvd->szValue);
|
||||||
|
pkvd->fHandled = TRUE;
|
||||||
|
}
|
||||||
|
else if (FStrEq(pkvd->szKeyName, "m_flSpread"))
|
||||||
|
{
|
||||||
|
m_flSpread = Q_atof(pkvd->szValue);
|
||||||
|
pkvd->fHandled = TRUE;
|
||||||
|
}
|
||||||
|
else if (FStrEq(pkvd->szKeyName, "m_fControl"))
|
||||||
|
{
|
||||||
|
m_fControl = Q_atoi(pkvd->szValue);
|
||||||
|
pkvd->fHandled = TRUE;
|
||||||
|
}
|
||||||
|
else if (FStrEq(pkvd->szKeyName, "m_iCount"))
|
||||||
|
{
|
||||||
|
m_iCount = Q_atoi(pkvd->szValue);
|
||||||
|
pkvd->fHandled = TRUE;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Drop bombs from above
|
||||||
|
|
||||||
/* <f694a> ../cstrike/dlls/mortar.cpp:102 */
|
/* <f694a> ../cstrike/dlls/mortar.cpp:102 */
|
||||||
NOBODY void CFuncMortarField::Spawn_(void)
|
void CFuncMortarField::__MAKE_VHOOK(Spawn)(void)
|
||||||
{
|
{
|
||||||
|
pev->solid = SOLID_NOT;
|
||||||
|
|
||||||
|
// set size and link into world
|
||||||
|
SET_MODEL(ENT(pev), STRING(pev->model));
|
||||||
|
pev->movetype = MOVETYPE_NONE;
|
||||||
|
pev->effects |= EF_NODRAW;
|
||||||
|
|
||||||
|
SetUse(&CFuncMortarField::FieldUse);
|
||||||
|
Precache();
|
||||||
}
|
}
|
||||||
|
|
||||||
/* <f6971> ../cstrike/dlls/mortar.cpp:113 */
|
/* <f6971> ../cstrike/dlls/mortar.cpp:113 */
|
||||||
NOBODY void CFuncMortarField::Precache_(void)
|
void CFuncMortarField::__MAKE_VHOOK(Precache)(void)
|
||||||
{
|
{
|
||||||
|
PRECACHE_SOUND("weapons/mortar.wav");
|
||||||
|
PRECACHE_SOUND("weapons/mortarhit.wav");
|
||||||
|
PRECACHE_MODEL("sprites/lgtning.spr");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// If connected to a table, then use the table controllers, else hit where the trigger is.
|
||||||
|
|
||||||
/* <f6ae4> ../cstrike/dlls/mortar.cpp:122 */
|
/* <f6ae4> ../cstrike/dlls/mortar.cpp:122 */
|
||||||
NOBODY void CFuncMortarField::FieldUse(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value)
|
void CFuncMortarField::FieldUse(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value)
|
||||||
{
|
{
|
||||||
// {
|
Vector vecStart;
|
||||||
// Vector vecStart; // 124
|
|
||||||
// int pitch; // 165
|
vecStart.x = RANDOM_FLOAT(pev->mins.x, pev->maxs.x);
|
||||||
// float t; // 169
|
vecStart.y = RANDOM_FLOAT(pev->mins.y, pev->maxs.y);
|
||||||
// {
|
vecStart.z = pev->maxs.z;
|
||||||
// class CBaseEntity *pController; // 143
|
|
||||||
// }
|
switch (m_fControl)
|
||||||
// {
|
{
|
||||||
// int i; // 170
|
// random
|
||||||
// {
|
case 0:
|
||||||
// Vector vecSpot; // 172
|
break;
|
||||||
// TraceResult tr; // 176
|
// Trigger Activator
|
||||||
// edict_t *pentOwner; // 179
|
case 1:
|
||||||
// class CBaseEntity *pMortar; // 182
|
{
|
||||||
// Vector(Vector *const this,
|
if (pActivator != NULL)
|
||||||
// const Vector &v); // 172
|
{
|
||||||
// operator+(const Vector *const this,
|
vecStart.x = pActivator->pev->origin.x;
|
||||||
// const Vector &v); // 177
|
vecStart.y = pActivator->pev->origin.y;
|
||||||
// edict(CBaseEntity *const this); // 180
|
}
|
||||||
// Vector(Vector *const this,
|
break;
|
||||||
// float X,
|
}
|
||||||
// float Y,
|
// table
|
||||||
// float Z); // 182
|
case 2:
|
||||||
// }
|
{
|
||||||
// }
|
CBaseEntity *pController;
|
||||||
// }
|
|
||||||
|
if (!FStringNull(m_iszXController))
|
||||||
|
{
|
||||||
|
pController = UTIL_FindEntityByTargetname(NULL, STRING(m_iszXController));
|
||||||
|
|
||||||
|
if (pController != NULL)
|
||||||
|
{
|
||||||
|
vecStart.x = pev->mins.x + pController->pev->ideal_yaw * pev->size.x;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (!FStringNull(m_iszYController))
|
||||||
|
{
|
||||||
|
pController = UTIL_FindEntityByTargetname(NULL, STRING(m_iszYController));
|
||||||
|
|
||||||
|
if (pController != NULL)
|
||||||
|
{
|
||||||
|
vecStart.y = pev->mins.y + pController->pev->ideal_yaw * pev->size.y;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
int pitch = RANDOM_LONG(95, 124);
|
||||||
|
|
||||||
|
EMIT_SOUND_DYN(ENT(pev), CHAN_VOICE, "weapons/mortar.wav", VOL_NORM, ATTN_NONE, 0, pitch);
|
||||||
|
|
||||||
|
float t = 2.5;
|
||||||
|
for (int i = 0; i < m_iCount; i++)
|
||||||
|
{
|
||||||
|
Vector vecSpot = vecStart;
|
||||||
|
vecSpot.x += RANDOM_FLOAT(-m_flSpread, m_flSpread);
|
||||||
|
vecSpot.y += RANDOM_FLOAT(-m_flSpread, m_flSpread);
|
||||||
|
|
||||||
|
TraceResult tr;
|
||||||
|
UTIL_TraceLine(vecSpot, vecSpot + Vector(0, 0, -1) * 4096, ignore_monsters, ENT(pev), &tr);
|
||||||
|
|
||||||
|
edict_t *pentOwner = NULL;
|
||||||
|
if (pActivator)
|
||||||
|
{
|
||||||
|
pentOwner = pActivator->edict();
|
||||||
|
}
|
||||||
|
|
||||||
|
CBaseEntity *pMortar = Create("monster_mortar", tr.vecEndPos, Vector(0, 0, 0), pentOwner);
|
||||||
|
pMortar->pev->nextthink = gpGlobals->time + t;
|
||||||
|
t += RANDOM_FLOAT(0.2, 0.5);
|
||||||
|
|
||||||
|
if (i == 0)
|
||||||
|
{
|
||||||
|
CSoundEnt::InsertSound(bits_SOUND_DANGER, tr.vecEndPos, 400, 0.3);
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/* <f6fb1> ../cstrike/dlls/mortar.cpp:203 */
|
/* <f6fb1> ../cstrike/dlls/mortar.cpp:203 */
|
||||||
LINK_ENTITY_TO_CLASS(monster_mortar, CMortar);
|
LINK_ENTITY_TO_CLASS(monster_mortar, CMortar);
|
||||||
|
|
||||||
/* <f6998> ../cstrike/dlls/mortar.cpp:205 */
|
/* <f6998> ../cstrike/dlls/mortar.cpp:205 */
|
||||||
NOBODY void CMortar::Spawn_(void)
|
void CMortar::__MAKE_VHOOK(Spawn)(void)
|
||||||
{
|
{
|
||||||
|
pev->movetype = MOVETYPE_NONE;
|
||||||
|
pev->solid = SOLID_NOT;
|
||||||
|
pev->dmg = 200;
|
||||||
|
|
||||||
|
SetThink(&CMortar::MortarExplode);
|
||||||
|
pev->nextthink = 0;
|
||||||
|
Precache();
|
||||||
}
|
}
|
||||||
|
|
||||||
/* <f69be> ../cstrike/dlls/mortar.cpp:221 */
|
/* <f69be> ../cstrike/dlls/mortar.cpp:221 */
|
||||||
NOBODY void CMortar::Precache_(void)
|
void CMortar::__MAKE_VHOOK(Precache)(void)
|
||||||
{
|
{
|
||||||
|
m_spriteTexture = PRECACHE_MODEL("sprites/lgtning.spr");
|
||||||
}
|
}
|
||||||
|
|
||||||
/* <f69e5> ../cstrike/dlls/mortar.cpp:226 */
|
/* <f69e5> ../cstrike/dlls/mortar.cpp:226 */
|
||||||
NOBODY void CMortar::MortarExplode(void)
|
void CMortar::MortarExplode(void)
|
||||||
{
|
{
|
||||||
// {
|
// mortar beam
|
||||||
// TraceResult tr; // 250
|
MESSAGE_BEGIN(MSG_BROADCAST, SVC_TEMPENTITY);
|
||||||
// MESSAGE_BEGIN(int msg_dest,
|
WRITE_BYTE(TE_BEAMPOINTS);
|
||||||
// int msg_type,
|
WRITE_COORD(pev->origin.x);
|
||||||
// const float *pOrigin,
|
WRITE_COORD(pev->origin.y);
|
||||||
// edict_t *ed); // 229
|
WRITE_COORD(pev->origin.z);
|
||||||
// operator-(const Vector *const this,
|
WRITE_COORD(pev->origin.x);
|
||||||
// const Vector &v); // 251
|
WRITE_COORD(pev->origin.y);
|
||||||
// operator+(const Vector *const this,
|
WRITE_COORD(pev->origin.z + 1024);
|
||||||
// const Vector &v); // 251
|
WRITE_SHORT(m_spriteTexture);
|
||||||
// }
|
WRITE_BYTE(0); // framerate
|
||||||
|
WRITE_BYTE(0); // framerate
|
||||||
|
WRITE_BYTE(1); // life
|
||||||
|
WRITE_BYTE(40); // width
|
||||||
|
WRITE_BYTE(0); // noise
|
||||||
|
WRITE_BYTE(255); // r, g, b
|
||||||
|
WRITE_BYTE(160); // r, g, b
|
||||||
|
WRITE_BYTE(100); // r, g, b
|
||||||
|
WRITE_BYTE(128); // brightness
|
||||||
|
WRITE_BYTE(0); // speed
|
||||||
|
MESSAGE_END();
|
||||||
|
|
||||||
|
TraceResult tr;
|
||||||
|
UTIL_TraceLine(pev->origin + Vector(0, 0, 1024), pev->origin - Vector(0, 0, 1024), dont_ignore_monsters, ENT(pev), &tr);
|
||||||
|
|
||||||
|
Explode(&tr, (DMG_BLAST | DMG_MORTAR));
|
||||||
|
UTIL_ScreenShake(tr.vecEndPos, 25.0, 150.0, 1.0, 750);
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef HOOK_GAMEDLL
|
#ifdef HOOK_GAMEDLL
|
||||||
|
@ -36,12 +36,14 @@
|
|||||||
class CFuncMortarField: public CBaseToggle
|
class CFuncMortarField: public CBaseToggle
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
NOBODY virtual void Spawn(void);
|
virtual void Spawn(void);
|
||||||
NOBODY virtual void Precache(void);
|
virtual void Precache(void);
|
||||||
NOBODY virtual void KeyValue(KeyValueData *pkvd);
|
virtual void KeyValue(KeyValueData *pkvd);
|
||||||
NOBODY virtual int Save(CSave &save);
|
virtual int Save(CSave &save);
|
||||||
NOBODY virtual int Restore(CRestore &restore);
|
virtual int Restore(CRestore &restore);
|
||||||
NOBODY virtual int ObjectCaps(void)
|
|
||||||
|
// Bmodels don't go across transitions
|
||||||
|
virtual int ObjectCaps(void)
|
||||||
{
|
{
|
||||||
return ObjectCaps_();
|
return ObjectCaps_();
|
||||||
}
|
}
|
||||||
@ -61,7 +63,7 @@ public:
|
|||||||
#endif // HOOK_GAMEDLL
|
#endif // HOOK_GAMEDLL
|
||||||
|
|
||||||
public:
|
public:
|
||||||
NOBODY void EXPORT FieldUse(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value);
|
void EXPORT FieldUse(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value);
|
||||||
|
|
||||||
public:
|
public:
|
||||||
static TYPEDESCRIPTION IMPLEMENT_ARRAY(m_SaveData)[6];
|
static TYPEDESCRIPTION IMPLEMENT_ARRAY(m_SaveData)[6];
|
||||||
@ -80,8 +82,8 @@ public:
|
|||||||
class CMortar: public CGrenade
|
class CMortar: public CGrenade
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
NOBODY virtual void Spawn(void);
|
virtual void Spawn(void);
|
||||||
NOBODY virtual void Precache(void);
|
virtual void Precache(void);
|
||||||
|
|
||||||
#ifdef HOOK_GAMEDLL
|
#ifdef HOOK_GAMEDLL
|
||||||
|
|
||||||
@ -90,11 +92,16 @@ public:
|
|||||||
|
|
||||||
#endif // HOOK_GAMEDLL
|
#endif // HOOK_GAMEDLL
|
||||||
|
|
||||||
NOBODY void EXPORT MortarExplode(void);
|
void EXPORT MortarExplode(void);
|
||||||
|
|
||||||
public:
|
public:
|
||||||
int m_spriteTexture;
|
int m_spriteTexture;
|
||||||
|
|
||||||
};/* size: 504, cachelines: 8, members: 2 */
|
};/* size: 504, cachelines: 8, members: 2 */
|
||||||
|
|
||||||
|
|
||||||
|
// linked objects
|
||||||
|
C_DLLEXPORT void func_mortar_field(entvars_t *pev);
|
||||||
|
C_DLLEXPORT void monster_mortar(entvars_t *pev);
|
||||||
|
|
||||||
#endif // MORTAR_H
|
#endif // MORTAR_H
|
||||||
|
@ -5,31 +5,37 @@ CGraph WorldGraph;
|
|||||||
/* <fc409> ../cstrike/dlls/mpstubb.cpp:32 */
|
/* <fc409> ../cstrike/dlls/mpstubb.cpp:32 */
|
||||||
void CGraph::InitGraph(void)
|
void CGraph::InitGraph(void)
|
||||||
{
|
{
|
||||||
|
;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* <fc436> ../cstrike/dlls/mpstubb.cpp:33 */
|
/* <fc436> ../cstrike/dlls/mpstubb.cpp:33 */
|
||||||
int CGraph::FLoadGraph(char *szMapName)
|
int CGraph::FLoadGraph(char *szMapName)
|
||||||
{
|
{
|
||||||
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* <fc46c> ../cstrike/dlls/mpstubb.cpp:34 */
|
/* <fc46c> ../cstrike/dlls/mpstubb.cpp:34 */
|
||||||
int CGraph::AllocNodes(void)
|
int CGraph::AllocNodes(void)
|
||||||
{
|
{
|
||||||
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* <fc494> ../cstrike/dlls/mpstubb.cpp:35 */
|
/* <fc494> ../cstrike/dlls/mpstubb.cpp:35 */
|
||||||
int CGraph::CheckNODFile(char *szMapName)
|
int CGraph::CheckNODFile(char *szMapName)
|
||||||
{
|
{
|
||||||
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* <fc4ca> ../cstrike/dlls/mpstubb.cpp:36 */
|
/* <fc4ca> ../cstrike/dlls/mpstubb.cpp:36 */
|
||||||
int CGraph::FSetGraphPointers(void)
|
int CGraph::FSetGraphPointers(void)
|
||||||
{
|
{
|
||||||
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* <fc4f2> ../cstrike/dlls/mpstubb.cpp:37 */
|
/* <fc4f2> ../cstrike/dlls/mpstubb.cpp:37 */
|
||||||
void CGraph::ShowNodeConnections(int iNode)
|
void CGraph::ShowNodeConnections(int iNode)
|
||||||
{
|
{
|
||||||
|
;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* <fc528> ../cstrike/dlls/mpstubb.cpp:38 */
|
/* <fc528> ../cstrike/dlls/mpstubb.cpp:38 */
|
||||||
@ -45,7 +51,7 @@ int CGraph::FindNearestNode(const Vector &vecOrigin, CBaseEntity *pEntity)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* <fc023> ../cstrike/dlls/mpstubb.cpp:45 */
|
/* <fc023> ../cstrike/dlls/mpstubb.cpp:45 */
|
||||||
float CBaseMonster::ChangeYaw_(int speed)
|
float CBaseMonster::__MAKE_VHOOK(ChangeYaw)(int speed)
|
||||||
{
|
{
|
||||||
return 0.0f;
|
return 0.0f;
|
||||||
}
|
}
|
||||||
@ -70,7 +76,7 @@ NOBODY void CBaseMonster::CorpseFallThink(void)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* <fc2a1> ../cstrike/dlls/mpstubb.cpp:62 */
|
/* <fc2a1> ../cstrike/dlls/mpstubb.cpp:62 */
|
||||||
void CBaseMonster::MonsterInitDead_(void)
|
void CBaseMonster::__MAKE_VHOOK(MonsterInitDead)(void)
|
||||||
{
|
{
|
||||||
InitBoneControllers();
|
InitBoneControllers();
|
||||||
|
|
||||||
@ -93,7 +99,7 @@ void CBaseMonster::MonsterInitDead_(void)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* <fc057> ../cstrike/dlls/mpstubb.cpp:89 */
|
/* <fc057> ../cstrike/dlls/mpstubb.cpp:89 */
|
||||||
BOOL CBaseMonster::ShouldFadeOnDeath_(void)
|
BOOL CBaseMonster::__MAKE_VHOOK(ShouldFadeOnDeath)(void)
|
||||||
{
|
{
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
@ -105,13 +111,13 @@ BOOL CBaseMonster::FCheckAITrigger(void)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* <fc26d> ../cstrike/dlls/mpstubb.cpp:99 */
|
/* <fc26d> ../cstrike/dlls/mpstubb.cpp:99 */
|
||||||
void CBaseMonster::KeyValue_(KeyValueData *pkvd)
|
void CBaseMonster::__MAKE_VHOOK(KeyValue)(KeyValueData *pkvd)
|
||||||
{
|
{
|
||||||
CBaseToggle::KeyValue(pkvd);
|
CBaseToggle::KeyValue(pkvd);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* <fc07d> ../cstrike/dlls/mpstubb.cpp:104 */
|
/* <fc07d> ../cstrike/dlls/mpstubb.cpp:104 */
|
||||||
NOBODY int CBaseMonster::IRelationship_(CBaseEntity *pTarget)
|
NOBODY int CBaseMonster::__MAKE_VHOOK(IRelationship)(CBaseEntity *pTarget)
|
||||||
{
|
{
|
||||||
// {
|
// {
|
||||||
// int const iEnemy; // 106
|
// int const iEnemy; // 106
|
||||||
@ -119,7 +125,7 @@ NOBODY int CBaseMonster::IRelationship_(CBaseEntity *pTarget)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* <fc0e4> ../cstrike/dlls/mpstubb.cpp:140 */
|
/* <fc0e4> ../cstrike/dlls/mpstubb.cpp:140 */
|
||||||
NOBODY void CBaseMonster::Look_(int iDistance)
|
NOBODY void CBaseMonster::__MAKE_VHOOK(Look)(int iDistance)
|
||||||
{
|
{
|
||||||
// {
|
// {
|
||||||
// int iSighted; // 142
|
// int iSighted; // 142
|
||||||
@ -142,7 +148,7 @@ NOBODY void CBaseMonster::Look_(int iDistance)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* <fc317> ../cstrike/dlls/mpstubb.cpp:220 */
|
/* <fc317> ../cstrike/dlls/mpstubb.cpp:220 */
|
||||||
NOBODY CBaseEntity *CBaseMonster::BestVisibleEnemy_(void)
|
NOBODY CBaseEntity *CBaseMonster::__MAKE_VHOOK(BestVisibleEnemy)(void)
|
||||||
{
|
{
|
||||||
// {
|
// {
|
||||||
// class CBaseEntity *pReturn; // 222
|
// class CBaseEntity *pReturn; // 222
|
||||||
|
File diff suppressed because it is too large
Load Diff
@ -49,14 +49,14 @@ public:
|
|||||||
class CGraph
|
class CGraph
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
NOBODY void InitGraph(void);
|
void InitGraph(void);
|
||||||
NOBODY int AllocNodes(void);
|
int AllocNodes(void);
|
||||||
NOBODY int CheckNODFile(char *szMapName);
|
int CheckNODFile(char *szMapName);
|
||||||
NOBODY int FLoadGraph(char *szMapName);
|
int FLoadGraph(char *szMapName);
|
||||||
NOBODY int FSetGraphPointers(void);
|
int FSetGraphPointers(void);
|
||||||
void ShowNodeConnections(int iNode);
|
void ShowNodeConnections(int iNode);
|
||||||
NOBODY int FindNearestNode(const Vector &vecOrigin, CBaseEntity *pEntity);
|
int FindNearestNode(const Vector &vecOrigin, CBaseEntity *pEntity);
|
||||||
NOBODY int FindNearestNode(const Vector &vecOrigin, int afNodeTypes);
|
int FindNearestNode(const Vector &vecOrigin, int afNodeTypes);
|
||||||
public:
|
public:
|
||||||
BOOL m_fGraphPresent;
|
BOOL m_fGraphPresent;
|
||||||
BOOL m_fGraphPointersSet;
|
BOOL m_fGraphPointersSet;
|
||||||
|
@ -33,7 +33,7 @@ LINK_ENTITY_TO_CLASS(path_corner, CPathCorner);
|
|||||||
IMPLEMENT_SAVERESTORE(CPathCorner, CPointEntity);
|
IMPLEMENT_SAVERESTORE(CPathCorner, CPointEntity);
|
||||||
|
|
||||||
/* <122697> ../cstrike/dlls/pathcorner.cpp:54 */
|
/* <122697> ../cstrike/dlls/pathcorner.cpp:54 */
|
||||||
NOBODY void CPathCorner::KeyValue_(KeyValueData *pkvd)
|
NOBODY void CPathCorner::__MAKE_VHOOK(KeyValue)(KeyValueData *pkvd)
|
||||||
{
|
{
|
||||||
// FStrEq(const char *sz1,
|
// FStrEq(const char *sz1,
|
||||||
// const char *sz2); // 56
|
// const char *sz2); // 56
|
||||||
@ -44,7 +44,7 @@ NOBODY void CPathCorner::KeyValue_(KeyValueData *pkvd)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* <122325> ../cstrike/dlls/pathcorner.cpp:66 */
|
/* <122325> ../cstrike/dlls/pathcorner.cpp:66 */
|
||||||
NOBODY void CPathCorner::Spawn_(void)
|
NOBODY void CPathCorner::__MAKE_VHOOK(Spawn)(void)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -55,7 +55,7 @@ IMPLEMENT_SAVERESTORE(CPathTrack, CBaseEntity);
|
|||||||
LINK_ENTITY_TO_CLASS(path_track, CPathTrack);
|
LINK_ENTITY_TO_CLASS(path_track, CPathTrack);
|
||||||
|
|
||||||
/* <122602> ../cstrike/dlls/pathcorner.cpp:86 */
|
/* <122602> ../cstrike/dlls/pathcorner.cpp:86 */
|
||||||
NOBODY void CPathTrack::KeyValue_(KeyValueData *pkvd)
|
NOBODY void CPathTrack::__MAKE_VHOOK(KeyValue)(KeyValueData *pkvd)
|
||||||
{
|
{
|
||||||
// FStrEq(const char *sz1,
|
// FStrEq(const char *sz1,
|
||||||
// const char *sz2); // 88
|
// const char *sz2); // 88
|
||||||
@ -66,7 +66,7 @@ NOBODY void CPathTrack::KeyValue_(KeyValueData *pkvd)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* <122433> ../cstrike/dlls/pathcorner.cpp:97 */
|
/* <122433> ../cstrike/dlls/pathcorner.cpp:97 */
|
||||||
NOBODY void CPathTrack::Use_(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value)
|
NOBODY void CPathTrack::__MAKE_VHOOK(Use)(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value)
|
||||||
{
|
{
|
||||||
// {
|
// {
|
||||||
// int on; // 99
|
// int on; // 99
|
||||||
@ -99,7 +99,7 @@ NOBODY void CPathTrack::Link(void)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* <12239a> ../cstrike/dlls/pathcorner.cpp:165 */
|
/* <12239a> ../cstrike/dlls/pathcorner.cpp:165 */
|
||||||
NOBODY void CPathTrack::Spawn_(void)
|
NOBODY void CPathTrack::__MAKE_VHOOK(Spawn)(void)
|
||||||
{
|
{
|
||||||
// Vector(Vector::Spawn(// float X,
|
// Vector(Vector::Spawn(// float X,
|
||||||
// float Y,
|
// float Y,
|
||||||
@ -111,7 +111,7 @@ NOBODY void CPathTrack::Spawn_(void)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* <122c76> ../cstrike/dlls/pathcorner.cpp:180 */
|
/* <122c76> ../cstrike/dlls/pathcorner.cpp:180 */
|
||||||
NOBODY void CPathTrack::Activate_(void)
|
NOBODY void CPathTrack::__MAKE_VHOOK(Activate)(void)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1,29 +1,33 @@
|
|||||||
#include "precompiled.h"
|
#include "precompiled.h"
|
||||||
|
|
||||||
/* <1262b3> ../cstrike/dlls/plane.cpp:24 */
|
/* <1262b3> ../cstrike/dlls/plane.cpp:24 */
|
||||||
NOBODY CPlane::CPlane(void)
|
CPlane::CPlane(void)
|
||||||
{
|
{
|
||||||
m_fInitialized = FALSE;
|
m_fInitialized = FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* <1262d4> ../cstrike/dlls/plane.cpp:33 */
|
/* <1262d4> ../cstrike/dlls/plane.cpp:33 */
|
||||||
NOBODY void CPlane::InitializePlane(const Vector &vecNormal, const Vector &vecPoint)
|
NOXREF void CPlane::InitializePlane(const Vector &vecNormal, const Vector &vecPoint)
|
||||||
{
|
{
|
||||||
m_vecNormal = vecNormal;
|
m_vecNormal = vecNormal;
|
||||||
m_flDist = DotProduct(m_vecNormal, vecPoint);
|
|
||||||
m_fInitialized = TRUE;
|
m_fInitialized = TRUE;
|
||||||
|
m_flDist = DotProduct(m_vecNormal, vecPoint);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* <126343> ../cstrike/dlls/plane.cpp:45 */
|
/* <126343> ../cstrike/dlls/plane.cpp:45 */
|
||||||
NOBODY BOOL CPlane::PointInFront(const Vector &vecPoint)
|
NOXREF BOOL CPlane::PointInFront(const Vector &vecPoint)
|
||||||
{
|
{
|
||||||
if (!m_fInitialized)
|
if (!m_fInitialized)
|
||||||
|
{
|
||||||
return FALSE;
|
return FALSE;
|
||||||
|
}
|
||||||
|
|
||||||
float flFace = DotProduct(m_vecNormal, vecPoint) - m_flDist;
|
float flFace = DotProduct(m_vecNormal, vecPoint) - m_flDist;
|
||||||
|
|
||||||
if (flFace >= 0.0f)
|
if (flFace >= 0.0f)
|
||||||
|
{
|
||||||
return TRUE;
|
return TRUE;
|
||||||
|
}
|
||||||
|
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
|
@ -36,11 +36,12 @@
|
|||||||
class CPlane
|
class CPlane
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
NOBODY CPlane(void);
|
CPlane(void);
|
||||||
|
|
||||||
NOBODY void InitializePlane(const Vector &vecNormal, const Vector &vecPoint);
|
NOXREF void InitializePlane(const Vector &vecNormal, const Vector &vecPoint);
|
||||||
NOBODY BOOL PointInFront(const Vector &vecPoint);
|
NOXREF BOOL PointInFront(const Vector &vecPoint);
|
||||||
|
|
||||||
|
private:
|
||||||
Vector m_vecNormal;
|
Vector m_vecNormal;
|
||||||
float m_flDist;
|
float m_flDist;
|
||||||
BOOL m_fInitialized;
|
BOOL m_fInitialized;
|
||||||
|
@ -74,7 +74,7 @@ TYPEDESCRIPTION (*CGunTarget::pm_SaveData)[1];
|
|||||||
IMPLEMENT_SAVERESTORE(CBasePlatTrain, CBaseToggle);
|
IMPLEMENT_SAVERESTORE(CBasePlatTrain, CBaseToggle);
|
||||||
|
|
||||||
/* <12ea9b> ../cstrike/dlls/plats.cpp:61 */
|
/* <12ea9b> ../cstrike/dlls/plats.cpp:61 */
|
||||||
NOBODY void CBasePlatTrain::KeyValue_(KeyValueData *pkvd)
|
NOBODY void CBasePlatTrain::__MAKE_VHOOK(KeyValue)(KeyValueData *pkvd)
|
||||||
{
|
{
|
||||||
// FStrEq(const char *sz1,
|
// FStrEq(const char *sz1,
|
||||||
// const char *sz2); // 73
|
// const char *sz2); // 73
|
||||||
@ -97,7 +97,7 @@ NOBODY void CBasePlatTrain::KeyValue_(KeyValueData *pkvd)
|
|||||||
#define noiseArrived noise1
|
#define noiseArrived noise1
|
||||||
|
|
||||||
/* <12d675> ../cstrike/dlls/plats.cpp:105 */
|
/* <12d675> ../cstrike/dlls/plats.cpp:105 */
|
||||||
NOBODY void CBasePlatTrain::Precache_(void)
|
NOBODY void CBasePlatTrain::__MAKE_VHOOK(Precache)(void)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -131,13 +131,13 @@ NOBODY void CFuncPlat::Setup(void)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* <13088e> ../cstrike/dlls/plats.cpp:309 */
|
/* <13088e> ../cstrike/dlls/plats.cpp:309 */
|
||||||
NOBODY void CFuncPlat::Precache_(void)
|
NOBODY void CFuncPlat::__MAKE_VHOOK(Precache)(void)
|
||||||
{
|
{
|
||||||
// PlatSpawnInsideTrigger(entvars_t *pevPlatform); // 315
|
// PlatSpawnInsideTrigger(entvars_t *pevPlatform); // 315
|
||||||
}
|
}
|
||||||
|
|
||||||
/* <130757> ../cstrike/dlls/plats.cpp:319 */
|
/* <130757> ../cstrike/dlls/plats.cpp:319 */
|
||||||
NOBODY void CFuncPlat::Spawn_(void)
|
NOBODY void CFuncPlat::__MAKE_VHOOK(Spawn)(void)
|
||||||
{
|
{
|
||||||
// Spawn(CFuncPlat *const this); // 319
|
// Spawn(CFuncPlat *const this); // 319
|
||||||
}
|
}
|
||||||
@ -161,7 +161,7 @@ NOBODY void CPlatTrigger::SpawnInsideTrigger(CFuncPlat *pPlatform)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* <12e7e7> ../cstrike/dlls/plats.cpp:380 */
|
/* <12e7e7> ../cstrike/dlls/plats.cpp:380 */
|
||||||
NOBODY void CPlatTrigger::Touch_(CBaseEntity *pOther)
|
NOBODY void CPlatTrigger::__MAKE_VHOOK(Touch)(CBaseEntity *pOther)
|
||||||
{
|
{
|
||||||
// {
|
// {
|
||||||
// entvars_t *pevToucher; // 383
|
// entvars_t *pevToucher; // 383
|
||||||
@ -186,7 +186,7 @@ NOBODY void CFuncPlat::PlatUse(CBaseEntity *pActivator, CBaseEntity *pCaller, US
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* <12e49b> ../cstrike/dlls/plats.cpp:431 */
|
/* <12e49b> ../cstrike/dlls/plats.cpp:431 */
|
||||||
NOBODY void CFuncPlat::GoDown_(void)
|
NOBODY void CFuncPlat::__MAKE_VHOOK(GoDown)(void)
|
||||||
{
|
{
|
||||||
// EMIT_SOUND(edict_t *entity,
|
// EMIT_SOUND(edict_t *entity,
|
||||||
// int channel,
|
// int channel,
|
||||||
@ -198,7 +198,7 @@ NOBODY void CFuncPlat::GoDown_(void)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* <12f381> ../cstrike/dlls/plats.cpp:446 */
|
/* <12f381> ../cstrike/dlls/plats.cpp:446 */
|
||||||
NOBODY void CFuncPlat::HitBottom_(void)
|
NOBODY void CFuncPlat::__MAKE_VHOOK(HitBottom)(void)
|
||||||
{
|
{
|
||||||
// EMIT_SOUND(edict_t *entity,
|
// EMIT_SOUND(edict_t *entity,
|
||||||
// int channel,
|
// int channel,
|
||||||
@ -211,7 +211,7 @@ NOBODY void CFuncPlat::HitBottom_(void)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* <12e52d> ../cstrike/dlls/plats.cpp:462 */
|
/* <12e52d> ../cstrike/dlls/plats.cpp:462 */
|
||||||
NOBODY void CFuncPlat::GoUp_(void)
|
NOBODY void CFuncPlat::__MAKE_VHOOK(GoUp)(void)
|
||||||
{
|
{
|
||||||
// EMIT_SOUND(edict_t *entity,
|
// EMIT_SOUND(edict_t *entity,
|
||||||
// int channel,
|
// int channel,
|
||||||
@ -223,7 +223,7 @@ NOBODY void CFuncPlat::GoUp_(void)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* <12f452> ../cstrike/dlls/plats.cpp:477 */
|
/* <12f452> ../cstrike/dlls/plats.cpp:477 */
|
||||||
NOBODY void CFuncPlat::HitTop_(void)
|
NOBODY void CFuncPlat::__MAKE_VHOOK(HitTop)(void)
|
||||||
{
|
{
|
||||||
// STOP_SOUND(edict_t *entity,
|
// STOP_SOUND(edict_t *entity,
|
||||||
// int channel,
|
// int channel,
|
||||||
@ -236,7 +236,7 @@ NOBODY void CFuncPlat::HitTop_(void)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* <12f524> ../cstrike/dlls/plats.cpp:497 */
|
/* <12f524> ../cstrike/dlls/plats.cpp:497 */
|
||||||
NOBODY void CFuncPlat::Blocked_(CBaseEntity *pOther)
|
NOBODY void CFuncPlat::__MAKE_VHOOK(Blocked)(CBaseEntity *pOther)
|
||||||
{
|
{
|
||||||
// STOP_SOUND(edict_t *entity,
|
// STOP_SOUND(edict_t *entity,
|
||||||
// int channel,
|
// int channel,
|
||||||
@ -258,32 +258,32 @@ NOBODY void CFuncPlatRot::SetupRotation(void)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* <130bc4> ../cstrike/dlls/plats.cpp:563 */
|
/* <130bc4> ../cstrike/dlls/plats.cpp:563 */
|
||||||
NOBODY void CFuncPlatRot::Spawn_(void)
|
NOBODY void CFuncPlatRot::__MAKE_VHOOK(Spawn)(void)
|
||||||
{
|
{
|
||||||
// Spawn(CFuncPlat *const this); // 565
|
// Spawn(CFuncPlat *const this); // 565
|
||||||
}
|
}
|
||||||
|
|
||||||
/* <12fe63> ../cstrike/dlls/plats.cpp:569 */
|
/* <12fe63> ../cstrike/dlls/plats.cpp:569 */
|
||||||
NOBODY void CFuncPlatRot::GoDown_(void)
|
NOBODY void CFuncPlatRot::__MAKE_VHOOK(GoDown)(void)
|
||||||
{
|
{
|
||||||
// RotMove(CFuncPlatRot::GoDown(// Vector &destAngle,
|
// RotMove(CFuncPlatRot::GoDown(// Vector &destAngle,
|
||||||
// float time); // 572
|
// float time); // 572
|
||||||
}
|
}
|
||||||
|
|
||||||
/* <12f430> ../cstrike/dlls/plats.cpp:579 */
|
/* <12f430> ../cstrike/dlls/plats.cpp:579 */
|
||||||
NOBODY void CFuncPlatRot::HitBottom_(void)
|
NOBODY void CFuncPlatRot::__MAKE_VHOOK(HitBottom)(void)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
/* <12fdad> ../cstrike/dlls/plats.cpp:590 */
|
/* <12fdad> ../cstrike/dlls/plats.cpp:590 */
|
||||||
NOBODY void CFuncPlatRot::GoUp_(void)
|
NOBODY void CFuncPlatRot::__MAKE_VHOOK(GoUp)(void)
|
||||||
{
|
{
|
||||||
// RotMove(CFuncPlatRot::GoUp(// Vector &destAngle,
|
// RotMove(CFuncPlatRot::GoUp(// Vector &destAngle,
|
||||||
// float time); // 593
|
// float time); // 593
|
||||||
}
|
}
|
||||||
|
|
||||||
/* <12f502> ../cstrike/dlls/plats.cpp:600 */
|
/* <12f502> ../cstrike/dlls/plats.cpp:600 */
|
||||||
NOBODY void CFuncPlatRot::HitTop_(void)
|
NOBODY void CFuncPlatRot::__MAKE_VHOOK(HitTop)(void)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -306,7 +306,7 @@ LINK_ENTITY_TO_CLASS(func_train, CFuncTrain);
|
|||||||
IMPLEMENT_SAVERESTORE(CFuncTrain, CBasePlatTrain);
|
IMPLEMENT_SAVERESTORE(CFuncTrain, CBasePlatTrain);
|
||||||
|
|
||||||
/* <130390> ../cstrike/dlls/plats.cpp:668 */
|
/* <130390> ../cstrike/dlls/plats.cpp:668 */
|
||||||
NOBODY void CFuncTrain::KeyValue_(KeyValueData *pkvd)
|
NOBODY void CFuncTrain::__MAKE_VHOOK(KeyValue)(KeyValueData *pkvd)
|
||||||
{
|
{
|
||||||
// FStrEq(const char *sz1,
|
// FStrEq(const char *sz1,
|
||||||
// const char *sz2); // 670
|
// const char *sz2); // 670
|
||||||
@ -317,7 +317,7 @@ NOBODY void CFuncTrain::KeyValue_(KeyValueData *pkvd)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* <12de63> ../cstrike/dlls/plats.cpp:679 */
|
/* <12de63> ../cstrike/dlls/plats.cpp:679 */
|
||||||
NOBODY void CFuncTrain::Blocked_(CBaseEntity *pOther)
|
NOBODY void CFuncTrain::__MAKE_VHOOK(Blocked)(CBaseEntity *pOther)
|
||||||
{
|
{
|
||||||
// Blocked(CFuncTrain *const this,
|
// Blocked(CFuncTrain *const this,
|
||||||
// class CBaseEntity *pOther); // 679
|
// class CBaseEntity *pOther); // 679
|
||||||
@ -325,7 +325,7 @@ NOBODY void CFuncTrain::Blocked_(CBaseEntity *pOther)
|
|||||||
|
|
||||||
|
|
||||||
/* <12fa23> ../cstrike/dlls/plats.cpp:691 */
|
/* <12fa23> ../cstrike/dlls/plats.cpp:691 */
|
||||||
NOBODY void CFuncTrain::Use_(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value)
|
NOBODY void CFuncTrain::__MAKE_VHOOK(Use)(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value)
|
||||||
{
|
{
|
||||||
// EMIT_SOUND(edict_t *entity,
|
// EMIT_SOUND(edict_t *entity,
|
||||||
// int channel,
|
// int channel,
|
||||||
@ -393,7 +393,7 @@ NOBODY void CFuncTrain::Next(void)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* <12e1fd> ../cstrike/dlls/plats.cpp:818 */
|
/* <12e1fd> ../cstrike/dlls/plats.cpp:818 */
|
||||||
NOBODY void CFuncTrain::Activate_(void)
|
NOBODY void CFuncTrain::__MAKE_VHOOK(Activate)(void)
|
||||||
{
|
{
|
||||||
// {
|
// {
|
||||||
// entvars_t *pevTarg; // 824
|
// entvars_t *pevTarg; // 824
|
||||||
@ -402,22 +402,22 @@ NOBODY void CFuncTrain::Activate_(void)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* <12dcad> ../cstrike/dlls/plats.cpp:852 */
|
/* <12dcad> ../cstrike/dlls/plats.cpp:852 */
|
||||||
NOBODY void CFuncTrain::Spawn_(void)
|
NOBODY void CFuncTrain::__MAKE_VHOOK(Spawn)(void)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
/* <12dab7> ../cstrike/dlls/plats.cpp:886 */
|
/* <12dab7> ../cstrike/dlls/plats.cpp:886 */
|
||||||
NOBODY void CFuncTrain::Restart_(void)
|
NOBODY void CFuncTrain::__MAKE_VHOOK(Restart)(void)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
/* <12d734> ../cstrike/dlls/plats.cpp:907 */
|
/* <12d734> ../cstrike/dlls/plats.cpp:907 */
|
||||||
NOBODY void CFuncTrain::Precache_(void)
|
NOBODY void CFuncTrain::__MAKE_VHOOK(Precache)(void)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
/* <12e166> ../cstrike/dlls/plats.cpp:913 */
|
/* <12e166> ../cstrike/dlls/plats.cpp:913 */
|
||||||
NOBODY void CFuncTrain::OverrideReset_(void)
|
NOBODY void CFuncTrain::__MAKE_VHOOK(OverrideReset)(void)
|
||||||
{
|
{
|
||||||
// {
|
// {
|
||||||
// class CBaseEntity *pTarg; // 915
|
// class CBaseEntity *pTarg; // 915
|
||||||
@ -434,7 +434,7 @@ IMPLEMENT_SAVERESTORE(CFuncTrackTrain, CBaseEntity);
|
|||||||
LINK_ENTITY_TO_CLASS(func_tracktrain, CFuncTrackTrain);
|
LINK_ENTITY_TO_CLASS(func_tracktrain, CFuncTrackTrain);
|
||||||
|
|
||||||
/* <12e88e> ../cstrike/dlls/plats.cpp:964 */
|
/* <12e88e> ../cstrike/dlls/plats.cpp:964 */
|
||||||
NOBODY void CFuncTrackTrain::KeyValue_(KeyValueData *pkvd)
|
NOBODY void CFuncTrackTrain::__MAKE_VHOOK(KeyValue)(KeyValueData *pkvd)
|
||||||
{
|
{
|
||||||
// FStrEq(const char *sz1,
|
// FStrEq(const char *sz1,
|
||||||
// const char *sz2); // 966
|
// const char *sz2); // 966
|
||||||
@ -452,7 +452,7 @@ NOBODY void CFuncTrackTrain::NextThink(float thinkTime, BOOL alwaysThink)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* <12ee6d> ../cstrike/dlls/plats.cpp:1013 */
|
/* <12ee6d> ../cstrike/dlls/plats.cpp:1013 */
|
||||||
NOBODY void CFuncTrackTrain::Blocked_(CBaseEntity *pOther)
|
NOBODY void CFuncTrackTrain::__MAKE_VHOOK(Blocked)(CBaseEntity *pOther)
|
||||||
{
|
{
|
||||||
// {
|
// {
|
||||||
// entvars_t *pevOther; // 1015
|
// entvars_t *pevOther; // 1015
|
||||||
@ -470,7 +470,7 @@ NOBODY void CFuncTrackTrain::Blocked_(CBaseEntity *pOther)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* <1312c7> ../cstrike/dlls/plats.cpp:1038 */
|
/* <1312c7> ../cstrike/dlls/plats.cpp:1038 */
|
||||||
NOBODY void CFuncTrackTrain::Use_(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value)
|
NOBODY void CFuncTrackTrain::__MAKE_VHOOK(Use)(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value)
|
||||||
{
|
{
|
||||||
// {
|
// {
|
||||||
// float delta; // 1062
|
// float delta; // 1062
|
||||||
@ -588,7 +588,7 @@ NOBODY void CFuncTrackTrain::SetControls(entvars_t *pevControls)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* <12dd23> ../cstrike/dlls/plats.cpp:1363 */
|
/* <12dd23> ../cstrike/dlls/plats.cpp:1363 */
|
||||||
NOBODY BOOL CFuncTrackTrain::OnControls_(entvars_t *pevTest)
|
NOBODY BOOL CFuncTrackTrain::__MAKE_VHOOK(OnControls)(entvars_t *pevTest)
|
||||||
{
|
{
|
||||||
// {
|
// {
|
||||||
// Vector offset; // 1365
|
// Vector offset; // 1365
|
||||||
@ -654,7 +654,7 @@ NOBODY void CFuncTrackTrain::NearestPath(void)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* <12d75a> ../cstrike/dlls/plats.cpp:1470 */
|
/* <12d75a> ../cstrike/dlls/plats.cpp:1470 */
|
||||||
NOBODY void CFuncTrackTrain::OverrideReset_(void)
|
NOBODY void CFuncTrackTrain::__MAKE_VHOOK(OverrideReset)(void)
|
||||||
{
|
{
|
||||||
// NextThink(CFuncTrackTrain::OverrideReset(// float thinkTime,
|
// NextThink(CFuncTrackTrain::OverrideReset(// float thinkTime,
|
||||||
// BOOL alwaysThink); // 1472
|
// BOOL alwaysThink); // 1472
|
||||||
@ -669,21 +669,21 @@ NOBODY CFuncTrackTrain *CFuncTrackTrain::Instance(edict_t *pent)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* <12dcd4> ../cstrike/dlls/plats.cpp:1495 */
|
/* <12dcd4> ../cstrike/dlls/plats.cpp:1495 */
|
||||||
NOBODY void CFuncTrackTrain::Spawn_(void)
|
NOBODY void CFuncTrackTrain::__MAKE_VHOOK(Spawn)(void)
|
||||||
{
|
{
|
||||||
// NextThink(CFuncTrackTrain::Spawn(// float thinkTime,
|
// NextThink(CFuncTrackTrain::Spawn(// float thinkTime,
|
||||||
// BOOL alwaysThink); // 1533
|
// BOOL alwaysThink); // 1533
|
||||||
}
|
}
|
||||||
|
|
||||||
/* <12dbdf> ../cstrike/dlls/plats.cpp:1539 */
|
/* <12dbdf> ../cstrike/dlls/plats.cpp:1539 */
|
||||||
NOBODY void CFuncTrackTrain::Restart_(void)
|
NOBODY void CFuncTrackTrain::__MAKE_VHOOK(Restart)(void)
|
||||||
{
|
{
|
||||||
// NextThink(CFuncTrackTrain::Restart(// float thinkTime,
|
// NextThink(CFuncTrackTrain::Restart(// float thinkTime,
|
||||||
// BOOL alwaysThink); // 1557
|
// BOOL alwaysThink); // 1557
|
||||||
}
|
}
|
||||||
|
|
||||||
/* <12d7a5> ../cstrike/dlls/plats.cpp:1562 */
|
/* <12d7a5> ../cstrike/dlls/plats.cpp:1562 */
|
||||||
NOBODY void CFuncTrackTrain::Precache_(void)
|
NOBODY void CFuncTrackTrain::__MAKE_VHOOK(Precache)(void)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -709,12 +709,12 @@ NOBODY void CFuncTrainControls::Find(void)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* <12dc86> ../cstrike/dlls/plats.cpp:1619 */
|
/* <12dc86> ../cstrike/dlls/plats.cpp:1619 */
|
||||||
NOBODY void CFuncTrainControls::Spawn_(void)
|
NOBODY void CFuncTrainControls::__MAKE_VHOOK(Spawn)(void)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
/* <12d7f2> ../cstrike/dlls/plats.cpp:1673 */
|
/* <12d7f2> ../cstrike/dlls/plats.cpp:1673 */
|
||||||
NOBODY BOOL CFuncTrackChange::IsTogglePlat_(void)
|
NOBODY BOOL CFuncTrackChange::__MAKE_VHOOK(IsTogglePlat)(void)
|
||||||
{
|
{
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
@ -726,24 +726,24 @@ LINK_ENTITY_TO_CLASS(func_trackchange, CFuncTrackChange);
|
|||||||
IMPLEMENT_SAVERESTORE(CFuncTrackChange, CFuncPlatRot);
|
IMPLEMENT_SAVERESTORE(CFuncTrackChange, CFuncPlatRot);
|
||||||
|
|
||||||
/* <130c1d> ../cstrike/dlls/plats.cpp:1715 */
|
/* <130c1d> ../cstrike/dlls/plats.cpp:1715 */
|
||||||
NOBODY void CFuncTrackChange::Spawn_(void)
|
NOBODY void CFuncTrackChange::__MAKE_VHOOK(Spawn)(void)
|
||||||
{
|
{
|
||||||
// EnableUse(CFuncTrackChange *const this); // 1738
|
// EnableUse(CFuncTrackChange *const this); // 1738
|
||||||
}
|
}
|
||||||
|
|
||||||
/* <130a3b> ../cstrike/dlls/plats.cpp:1744 */
|
/* <130a3b> ../cstrike/dlls/plats.cpp:1744 */
|
||||||
NOBODY void CFuncTrackChange::Precache_(void)
|
NOBODY void CFuncTrackChange::__MAKE_VHOOK(Precache)(void)
|
||||||
{
|
{
|
||||||
// Precache(CFuncPlat *const this); // 1749
|
// Precache(CFuncPlat *const this); // 1749
|
||||||
}
|
}
|
||||||
|
|
||||||
/* <12d818> ../cstrike/dlls/plats.cpp:1753 */
|
/* <12d818> ../cstrike/dlls/plats.cpp:1753 */
|
||||||
NOBODY void CFuncTrackChange::Touch_(CBaseEntity *pOther)
|
NOBODY void CFuncTrackChange::__MAKE_VHOOK(Touch)(CBaseEntity *pOther)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
/* <1304ca> ../cstrike/dlls/plats.cpp:1758 */
|
/* <1304ca> ../cstrike/dlls/plats.cpp:1758 */
|
||||||
NOBODY void CFuncTrackChange::KeyValue_(KeyValueData *pkvd)
|
NOBODY void CFuncTrackChange::__MAKE_VHOOK(KeyValue)(KeyValueData *pkvd)
|
||||||
{
|
{
|
||||||
// FStrEq(const char *sz1,
|
// FStrEq(const char *sz1,
|
||||||
// const char *sz2); // 1760
|
// const char *sz2); // 1760
|
||||||
@ -754,7 +754,7 @@ NOBODY void CFuncTrackChange::KeyValue_(KeyValueData *pkvd)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* <12d84d> ../cstrike/dlls/plats.cpp:1782 */
|
/* <12d84d> ../cstrike/dlls/plats.cpp:1782 */
|
||||||
NOBODY void CFuncTrackChange::OverrideReset_(void)
|
NOBODY void CFuncTrackChange::__MAKE_VHOOK(OverrideReset)(void)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -833,26 +833,26 @@ NOBODY void CFuncTrackChange::UpdateTrain(Vector &dest)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* <131ade> ../cstrike/dlls/plats.cpp:1883 */
|
/* <131ade> ../cstrike/dlls/plats.cpp:1883 */
|
||||||
NOBODY void CFuncTrackChange::GoDown_(void)
|
NOBODY void CFuncTrackChange::__MAKE_VHOOK(GoDown)(void)
|
||||||
{
|
{
|
||||||
// GoDown(CFuncTrackChange *const this); // 1883
|
// GoDown(CFuncTrackChange *const this); // 1883
|
||||||
}
|
}
|
||||||
|
|
||||||
/* <1319f9> ../cstrike/dlls/plats.cpp:1919 */
|
/* <1319f9> ../cstrike/dlls/plats.cpp:1919 */
|
||||||
NOBODY void CFuncTrackChange::GoUp_(void)
|
NOBODY void CFuncTrackChange::__MAKE_VHOOK(GoUp)(void)
|
||||||
{
|
{
|
||||||
// GoUp(CFuncTrackChange *const this); // 1919
|
// GoUp(CFuncTrackChange *const this); // 1919
|
||||||
}
|
}
|
||||||
|
|
||||||
/* <12deb0> ../cstrike/dlls/plats.cpp:1954 */
|
/* <12deb0> ../cstrike/dlls/plats.cpp:1954 */
|
||||||
NOBODY void CFuncTrackChange::UpdateAutoTargets_(int toggleState)
|
NOBODY void CFuncTrackChange::__MAKE_VHOOK(UpdateAutoTargets)(int toggleState)
|
||||||
{
|
{
|
||||||
// UpdateAutoTargets(CFuncTrackChange *const this,
|
// UpdateAutoTargets(CFuncTrackChange *const this,
|
||||||
// int toggleState); // 1954
|
// int toggleState); // 1954
|
||||||
}
|
}
|
||||||
|
|
||||||
/* <131725> ../cstrike/dlls/plats.cpp:1971 */
|
/* <131725> ../cstrike/dlls/plats.cpp:1971 */
|
||||||
NOBODY void CFuncTrackChange::Use_(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value)
|
NOBODY void CFuncTrackChange::__MAKE_VHOOK(Use)(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value)
|
||||||
{
|
{
|
||||||
// Use(CFuncTrackChange *const this,
|
// Use(CFuncTrackChange *const this,
|
||||||
// class CBaseEntity *pActivator,
|
// class CBaseEntity *pActivator,
|
||||||
@ -867,7 +867,7 @@ NOBODY void CFuncTrackChange::Use_(CBaseEntity *pActivator, CBaseEntity *pCaller
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* <12f618> ../cstrike/dlls/plats.cpp:2005 */
|
/* <12f618> ../cstrike/dlls/plats.cpp:2005 */
|
||||||
NOBODY void CFuncTrackChange::HitBottom_(void)
|
NOBODY void CFuncTrackChange::__MAKE_VHOOK(HitBottom)(void)
|
||||||
{
|
{
|
||||||
// HitBottom(CFuncPlatRot *const this); // 2007
|
// HitBottom(CFuncPlatRot *const this); // 2007
|
||||||
// EnableUse(CFuncTrackChange *const this); // 2018
|
// EnableUse(CFuncTrackChange *const this); // 2018
|
||||||
@ -876,7 +876,7 @@ NOBODY void CFuncTrackChange::HitBottom_(void)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* <12f588> ../cstrike/dlls/plats.cpp:2025 */
|
/* <12f588> ../cstrike/dlls/plats.cpp:2025 */
|
||||||
NOBODY void CFuncTrackChange::HitTop_(void)
|
NOBODY void CFuncTrackChange::__MAKE_VHOOK(HitTop)(void)
|
||||||
{
|
{
|
||||||
// HitTop(CFuncPlatRot *const this); // 2027
|
// HitTop(CFuncPlatRot *const this); // 2027
|
||||||
// EnableUse(CFuncTrackChange *const this); // 2038
|
// EnableUse(CFuncTrackChange *const this); // 2038
|
||||||
@ -888,7 +888,7 @@ NOBODY void CFuncTrackChange::HitTop_(void)
|
|||||||
LINK_ENTITY_TO_CLASS(func_trackautochange, CFuncTrackAuto);
|
LINK_ENTITY_TO_CLASS(func_trackautochange, CFuncTrackAuto);
|
||||||
|
|
||||||
/* <12dc2a> ../cstrike/dlls/plats.cpp:2053 */
|
/* <12dc2a> ../cstrike/dlls/plats.cpp:2053 */
|
||||||
NOBODY void CFuncTrackAuto::UpdateAutoTargets_(int toggleState)
|
NOBODY void CFuncTrackAuto::__MAKE_VHOOK(UpdateAutoTargets)(int toggleState)
|
||||||
{
|
{
|
||||||
// {
|
// {
|
||||||
// class CPathTrack *pTarget; // 2055
|
// class CPathTrack *pTarget; // 2055
|
||||||
@ -897,7 +897,7 @@ NOBODY void CFuncTrackAuto::UpdateAutoTargets_(int toggleState)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* <1301f9> ../cstrike/dlls/plats.cpp:2083 */
|
/* <1301f9> ../cstrike/dlls/plats.cpp:2083 */
|
||||||
NOBODY void CFuncTrackAuto::Use_(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value)
|
NOBODY void CFuncTrackAuto::__MAKE_VHOOK(Use)(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value)
|
||||||
{
|
{
|
||||||
// {
|
// {
|
||||||
// class CPathTrack *pTarget; // 2085
|
// class CPathTrack *pTarget; // 2085
|
||||||
@ -916,12 +916,12 @@ LINK_ENTITY_TO_CLASS(func_guntarget, CGunTarget);
|
|||||||
IMPLEMENT_SAVERESTORE(CGunTarget, CBaseMonster);
|
IMPLEMENT_SAVERESTORE(CGunTarget, CBaseMonster);
|
||||||
|
|
||||||
/* <12dbb8> ../cstrike/dlls/plats.cpp:2173 */
|
/* <12dbb8> ../cstrike/dlls/plats.cpp:2173 */
|
||||||
NOBODY void CGunTarget::Spawn_(void)
|
NOBODY void CGunTarget::__MAKE_VHOOK(Spawn)(void)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
/* <12dade> ../cstrike/dlls/plats.cpp:2199 */
|
/* <12dade> ../cstrike/dlls/plats.cpp:2199 */
|
||||||
NOBODY void CGunTarget::Activate_(void)
|
NOBODY void CGunTarget::__MAKE_VHOOK(Activate)(void)
|
||||||
{
|
{
|
||||||
// {
|
// {
|
||||||
// class CBaseEntity *pTarg; // 2201
|
// class CBaseEntity *pTarg; // 2201
|
||||||
@ -969,7 +969,7 @@ NOBODY void CGunTarget::Stop(void)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* <12e371> ../cstrike/dlls/plats.cpp:2277 */
|
/* <12e371> ../cstrike/dlls/plats.cpp:2277 */
|
||||||
NOBODY int CGunTarget::TakeDamage_(entvars_t *pevInflictor, entvars_t *pevAttacker, float flDamage, int bitsDamageType)
|
NOBODY int CGunTarget::__MAKE_VHOOK(TakeDamage)(entvars_t *pevInflictor, entvars_t *pevAttacker, float flDamage, int bitsDamageType)
|
||||||
{
|
{
|
||||||
// Stop(CGunTarget *const this); // 2285
|
// Stop(CGunTarget *const this); // 2285
|
||||||
// TakeDamage(CGunTarget *const this,
|
// TakeDamage(CGunTarget *const this,
|
||||||
@ -980,7 +980,7 @@ NOBODY int CGunTarget::TakeDamage_(entvars_t *pevInflictor, entvars_t *pevAttack
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* <12e408> ../cstrike/dlls/plats.cpp:2294 */
|
/* <12e408> ../cstrike/dlls/plats.cpp:2294 */
|
||||||
NOBODY void CGunTarget::Use_(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value)
|
NOBODY void CGunTarget::__MAKE_VHOOK(Use)(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value)
|
||||||
{
|
{
|
||||||
// Stop(CGunTarget *const this); // 2301
|
// Stop(CGunTarget *const this); // 2301
|
||||||
// Use(CGunTarget *const this,
|
// Use(CGunTarget *const this,
|
||||||
|
File diff suppressed because it is too large
Load Diff
@ -112,8 +112,8 @@
|
|||||||
|
|
||||||
#define TEAM_NAME_LENGTH 16
|
#define TEAM_NAME_LENGTH 16
|
||||||
|
|
||||||
#define MAX_ID_RANGE 2048
|
#define MAX_ID_RANGE 2048.0f
|
||||||
#define MAX_SPECTATOR_ID_RANGE 8192
|
#define MAX_SPECTATOR_ID_RANGE 8192.0f
|
||||||
#define SBAR_STRING_SIZE 128
|
#define SBAR_STRING_SIZE 128
|
||||||
|
|
||||||
#define SBAR_TARGETTYPE_TEAMMATE 1
|
#define SBAR_TARGETTYPE_TEAMMATE 1
|
||||||
@ -765,22 +765,22 @@ public:
|
|||||||
void PrioritizeAutoBuyString(char *autobuyString, const char *priorityString);
|
void PrioritizeAutoBuyString(char *autobuyString, const char *priorityString);
|
||||||
NOBODY const char *PickPrimaryCareerTaskWeapon(void);
|
NOBODY const char *PickPrimaryCareerTaskWeapon(void);
|
||||||
NOBODY const char *PickSecondaryCareerTaskWeapon(void);
|
NOBODY const char *PickSecondaryCareerTaskWeapon(void);
|
||||||
NOXREF const char *PickFlashKillWeaponString(void);
|
const char *PickFlashKillWeaponString(void);
|
||||||
NOXREF const char *PickGrenadeKillWeaponString(void);
|
const char *PickGrenadeKillWeaponString(void);
|
||||||
NOXREF bool ShouldExecuteAutoBuyCommand(AutoBuyInfoStruct *commandInfo, bool boughtPrimary, bool boughtSecondary);
|
bool ShouldExecuteAutoBuyCommand(AutoBuyInfoStruct *commandInfo, bool boughtPrimary, bool boughtSecondary);
|
||||||
void PostAutoBuyCommandProcessing(AutoBuyInfoStruct *commandInfo, bool &boughtPrimary, bool &boughtSecondary);
|
void PostAutoBuyCommandProcessing(AutoBuyInfoStruct *commandInfo, bool &boughtPrimary, bool &boughtSecondary);
|
||||||
void ParseAutoBuyString(const char *string, bool &boughtPrimary, bool &boughtSecondary);
|
void ParseAutoBuyString(const char *string, bool &boughtPrimary, bool &boughtSecondary);
|
||||||
NOXREF AutoBuyInfoStruct *GetAutoBuyCommandInfo(const char *command);
|
AutoBuyInfoStruct *GetAutoBuyCommandInfo(const char *command);
|
||||||
void InitRebuyData(const char *str);
|
void InitRebuyData(const char *str);
|
||||||
void BuildRebuyStruct(void);
|
void BuildRebuyStruct(void);
|
||||||
void Rebuy(void);
|
void Rebuy(void);
|
||||||
NOXREF void RebuyPrimaryWeapon(void);
|
void RebuyPrimaryWeapon(void);
|
||||||
NOXREF void RebuyPrimaryAmmo(void);
|
void RebuyPrimaryAmmo(void);
|
||||||
NOXREF void RebuySecondaryWeapon(void);
|
void RebuySecondaryWeapon(void);
|
||||||
NOXREF void RebuySecondaryAmmo(void);
|
void RebuySecondaryAmmo(void);
|
||||||
NOXREF void RebuyHEGrenade(void);
|
void RebuyHEGrenade(void);
|
||||||
NOXREF void RebuyFlashbang(void);
|
void RebuyFlashbang(void);
|
||||||
NOXREF void RebuySmokeGrenade(void);
|
void RebuySmokeGrenade(void);
|
||||||
void RebuyDefuser(void);
|
void RebuyDefuser(void);
|
||||||
void RebuyNightVision(void);
|
void RebuyNightVision(void);
|
||||||
void RebuyArmor(void);
|
void RebuyArmor(void);
|
||||||
@ -1168,17 +1168,17 @@ NOXREF void InitZombieSpawns(void);
|
|||||||
NOXREF CBaseEntity *FindZombieSpawn(CBaseEntity *player, bool forceSpawn);
|
NOXREF CBaseEntity *FindZombieSpawn(CBaseEntity *player, bool forceSpawn);
|
||||||
edict_t *EntSelectSpawnPoint(CBaseEntity *pPlayer);
|
edict_t *EntSelectSpawnPoint(CBaseEntity *pPlayer);
|
||||||
void SetScoreAttrib(CBasePlayer *dest, CBasePlayer *src);
|
void SetScoreAttrib(CBasePlayer *dest, CBasePlayer *src);
|
||||||
NOXREF CBaseEntity *FindEntityForward(CBaseEntity *pMe);
|
CBaseEntity *FindEntityForward(CBaseEntity *pMe);
|
||||||
float GetPlayerPitch(const edict_t *pEdict);
|
float GetPlayerPitch(const edict_t *pEdict);
|
||||||
float GetPlayerYaw(const edict_t *pEdict);
|
float GetPlayerYaw(const edict_t *pEdict);
|
||||||
int GetPlayerGaitsequence(const edict_t *pEdict);
|
int GetPlayerGaitsequence(const edict_t *pEdict);
|
||||||
NOXREF const char *GetBuyStringForWeaponClass(int weaponClass);
|
const char *GetBuyStringForWeaponClass(int weaponClass);
|
||||||
NOXREF bool IsPrimaryWeaponClass(int classId);
|
bool IsPrimaryWeaponClass(int classId);
|
||||||
NOXREF bool IsPrimaryWeaponId(int id);
|
bool IsPrimaryWeaponId(int id);
|
||||||
NOXREF bool IsSecondaryWeaponClass(int classId);
|
bool IsSecondaryWeaponClass(int classId);
|
||||||
NOXREF bool IsSecondaryWeaponId(int id);
|
bool IsSecondaryWeaponId(int id);
|
||||||
NOXREF const char *GetWeaponAliasFromName(const char *weaponName);
|
const char *GetWeaponAliasFromName(const char *weaponName);
|
||||||
NOXREF bool CurrentWeaponSatisfies(CBasePlayerWeapon *pWeapon, int id, int classId);
|
bool CurrentWeaponSatisfies(CBasePlayerWeapon *pWeapon, int id, int classId);
|
||||||
|
|
||||||
// refs
|
// refs
|
||||||
extern void (*pCBasePlayer__PickPrimaryCareerTaskWeapon)(void);
|
extern void (*pCBasePlayer__PickPrimaryCareerTaskWeapon)(void);
|
||||||
|
@ -32,7 +32,7 @@
|
|||||||
#pragma once
|
#pragma once
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#define MAX_ENTITYARRAY 64
|
#define MAX_ENTITY_ARRAY 64
|
||||||
|
|
||||||
#ifndef HOOK_GAMEDLL
|
#ifndef HOOK_GAMEDLL
|
||||||
|
|
||||||
@ -71,6 +71,7 @@ typedef enum
|
|||||||
GLOBAL_OFF,
|
GLOBAL_OFF,
|
||||||
GLOBAL_ON,
|
GLOBAL_ON,
|
||||||
GLOBAL_DEAD
|
GLOBAL_DEAD
|
||||||
|
|
||||||
} GLOBALESTATE;
|
} GLOBALESTATE;
|
||||||
|
|
||||||
typedef struct globalentity_s
|
typedef struct globalentity_s
|
||||||
@ -79,14 +80,18 @@ typedef struct globalentity_s
|
|||||||
char levelName[32];
|
char levelName[32];
|
||||||
GLOBALESTATE state;
|
GLOBALESTATE state;
|
||||||
struct globalentity_s *pNext;
|
struct globalentity_s *pNext;
|
||||||
|
|
||||||
} globalentity_t;
|
} globalentity_t;
|
||||||
|
/* size: 104, cachelines: 2, members: 4 */
|
||||||
|
|
||||||
typedef struct
|
typedef struct
|
||||||
{
|
{
|
||||||
unsigned short size;
|
unsigned short size;
|
||||||
unsigned short token;
|
unsigned short token;
|
||||||
char *pData;
|
char *pData;
|
||||||
|
|
||||||
} HEADER;
|
} HEADER;
|
||||||
|
/* size: 8, cachelines: 1, members: 3 */
|
||||||
|
|
||||||
class CBaseEntity;
|
class CBaseEntity;
|
||||||
|
|
||||||
@ -204,22 +209,23 @@ private:
|
|||||||
class CGlobalState
|
class CGlobalState
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
NOBODY CGlobalState();
|
CGlobalState(void);
|
||||||
NOBODY void Reset(void);
|
|
||||||
NOBODY void ClearStates(void);
|
void Reset(void);
|
||||||
NOBODY void EntityAdd(string_t globalname, string_t mapName, GLOBALESTATE state);
|
void ClearStates(void);
|
||||||
|
void EntityAdd(string_t globalname, string_t mapName, GLOBALESTATE state);
|
||||||
void EntitySetState(string_t globalname, GLOBALESTATE state);
|
void EntitySetState(string_t globalname, GLOBALESTATE state);
|
||||||
NOBODY void EntityUpdate(string_t globalname, string_t mapname);
|
void EntityUpdate(string_t globalname, string_t mapname);
|
||||||
NOBODY const globalentity_t *EntityFromTable(string_t globalname);
|
const globalentity_t *EntityFromTable(string_t globalname);
|
||||||
NOBODY GLOBALESTATE EntityGetState(string_t globalname);
|
GLOBALESTATE EntityGetState(string_t globalname);
|
||||||
int EntityInTable(string_t globalname)
|
int EntityInTable(string_t globalname)
|
||||||
{
|
{
|
||||||
if (Find(globalname) != NULL)
|
if (Find(globalname) != NULL)
|
||||||
return 1;
|
return 1;
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
NOBODY int Save(CSave &save);
|
int Save(CSave &save);
|
||||||
NOBODY int Restore(CRestore &restore);
|
int Restore(CRestore &restore);
|
||||||
void DumpGlobals(void);
|
void DumpGlobals(void);
|
||||||
|
|
||||||
static TYPEDESCRIPTION IMPLEMENT_ARRAY(m_SaveData)[1];
|
static TYPEDESCRIPTION IMPLEMENT_ARRAY(m_SaveData)[1];
|
||||||
|
47
regamedll/dlls/scriptevent.h
Normal file
47
regamedll/dlls/scriptevent.h
Normal file
@ -0,0 +1,47 @@
|
|||||||
|
/*
|
||||||
|
*
|
||||||
|
* This program is free software; you can redistribute it and/or modify it
|
||||||
|
* under the terms of the GNU General Public License as published by the
|
||||||
|
* Free Software Foundation; either version 2 of the License, or (at
|
||||||
|
* your option) any later version.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful, but
|
||||||
|
* WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||||
|
* General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License
|
||||||
|
* along with this program; if not, write to the Free Software Foundation,
|
||||||
|
* Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||||
|
*
|
||||||
|
* In addition, as a special exception, the author gives permission to
|
||||||
|
* link the code of this program with the Half-Life Game Engine ("HL
|
||||||
|
* Engine") and Modified Game Libraries ("MODs") developed by Valve,
|
||||||
|
* L.L.C ("Valve"). You must obey the GNU General Public License in all
|
||||||
|
* respects for all of the code used other than the HL Engine and MODs
|
||||||
|
* from Valve. If you modify this file, you may extend this exception
|
||||||
|
* to your version of the file, but you are not obligated to do so. If
|
||||||
|
* you do not wish to do so, delete this exception statement from your
|
||||||
|
* version.
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef SCRIPTEVENT_H
|
||||||
|
#define SCRIPTEVENT_H
|
||||||
|
#ifdef _WIN32
|
||||||
|
#pragma once
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#define SCRIPT_EVENT_DEAD 1000 // character is now dead
|
||||||
|
#define SCRIPT_EVENT_NOINTERRUPT 1001 // does not allow interrupt
|
||||||
|
#define SCRIPT_EVENT_CANINTERRUPT 1002 // will allow interrupt
|
||||||
|
#define SCRIPT_EVENT_FIREEVENT 1003 // event now fires
|
||||||
|
#define SCRIPT_EVENT_SOUND 1004 // Play named wave file (on CHAN_BODY)
|
||||||
|
#define SCRIPT_EVENT_SENTENCE 1005 // Play named sentence
|
||||||
|
#define SCRIPT_EVENT_INAIR 1006 // Leave the character in air at the end of the sequence (don't find the floor)
|
||||||
|
#define SCRIPT_EVENT_ENDANIMATION 1007 // Set the animation by name after the sequence completes
|
||||||
|
#define SCRIPT_EVENT_SOUND_VOICE 1008 // Play named wave file (on CHAN_VOICE)
|
||||||
|
#define SCRIPT_EVENT_SENTENCE_RND1 1009 // Play sentence group 25% of the time
|
||||||
|
#define SCRIPT_EVENT_NOT_DEAD 1010 // Bring back to life (for life/death sequences)
|
||||||
|
|
||||||
|
#endif // SCRIPTEVENT_H
|
@ -3,81 +3,86 @@
|
|||||||
/* <1676c5> ../cstrike/dlls/singleplay_gamerules.cpp:32 */
|
/* <1676c5> ../cstrike/dlls/singleplay_gamerules.cpp:32 */
|
||||||
CHalfLifeRules::CHalfLifeRules(void)
|
CHalfLifeRules::CHalfLifeRules(void)
|
||||||
{
|
{
|
||||||
|
m_bFreezePeriod = FALSE;
|
||||||
RefreshSkillData();
|
RefreshSkillData();
|
||||||
}
|
}
|
||||||
|
|
||||||
/* <166d5d> ../cstrike/dlls/singleplay_gamerules.cpp:40 */
|
/* <166d5d> ../cstrike/dlls/singleplay_gamerules.cpp:40 */
|
||||||
void CHalfLifeRules::Think(void)
|
void CHalfLifeRules::__MAKE_VHOOK(Think)(void)
|
||||||
{
|
{
|
||||||
;
|
;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* <166d83> ../cstrike/dlls/singleplay_gamerules.cpp:46 */
|
/* <166d83> ../cstrike/dlls/singleplay_gamerules.cpp:46 */
|
||||||
BOOL CHalfLifeRules::IsMultiplayer(void)
|
BOOL CHalfLifeRules::__MAKE_VHOOK(IsMultiplayer)(void)
|
||||||
{
|
{
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* <166da9> ../cstrike/dlls/singleplay_gamerules.cpp:53 */
|
/* <166da9> ../cstrike/dlls/singleplay_gamerules.cpp:53 */
|
||||||
BOOL CHalfLifeRules::IsDeathmatch(void)
|
BOOL CHalfLifeRules::__MAKE_VHOOK(IsDeathmatch)(void)
|
||||||
{
|
{
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* <166dcf> ../cstrike/dlls/singleplay_gamerules.cpp:60 */
|
/* <166dcf> ../cstrike/dlls/singleplay_gamerules.cpp:60 */
|
||||||
BOOL CHalfLifeRules::IsCoOp(void)
|
BOOL CHalfLifeRules::__MAKE_VHOOK(IsCoOp)(void)
|
||||||
{
|
{
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* <166df5> ../cstrike/dlls/singleplay_gamerules.cpp:68 */
|
/* <166df5> ../cstrike/dlls/singleplay_gamerules.cpp:68 */
|
||||||
BOOL CHalfLifeRules::FShouldSwitchWeapon(CBasePlayer *pPlayer, CBasePlayerItem *pWeapon)
|
BOOL CHalfLifeRules::__MAKE_VHOOK(FShouldSwitchWeapon)(CBasePlayer *pPlayer, CBasePlayerItem *pWeapon)
|
||||||
{
|
{
|
||||||
if (!pPlayer->m_pActiveItem)
|
if (!pPlayer->m_pActiveItem)
|
||||||
{
|
{
|
||||||
// player doesn't have an active item!
|
// player doesn't have an active item!
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!pPlayer->m_pActiveItem->CanHolster())
|
if (!pPlayer->m_pActiveItem->CanHolster())
|
||||||
{
|
{
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* <166e38> ../cstrike/dlls/singleplay_gamerules.cpp:86 */
|
/* <166e38> ../cstrike/dlls/singleplay_gamerules.cpp:86 */
|
||||||
BOOL CHalfLifeRules::GetNextBestWeapon(CBasePlayer *pPlayer, CBasePlayerItem *pCurrentWeapon)
|
BOOL CHalfLifeRules::__MAKE_VHOOK(GetNextBestWeapon)(CBasePlayer *pPlayer, CBasePlayerItem *pCurrentWeapon)
|
||||||
{
|
{
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* <166e7a> ../cstrike/dlls/singleplay_gamerules.cpp:93 */
|
/* <166e7a> ../cstrike/dlls/singleplay_gamerules.cpp:93 */
|
||||||
BOOL CHalfLifeRules::ClientConnected(edict_t *pEntity, const char *pszName, const char *pszAddress, char *szRejectReason)
|
BOOL CHalfLifeRules::__MAKE_VHOOK(ClientConnected)(edict_t *pEntity, const char *pszName, const char *pszAddress, char *szRejectReason)
|
||||||
{
|
{
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* <166ed8> ../cstrike/dlls/singleplay_gamerules.cpp:98 */
|
/* <166ed8> ../cstrike/dlls/singleplay_gamerules.cpp:98 */
|
||||||
void CHalfLifeRules::InitHUD(CBasePlayer *pl)
|
void CHalfLifeRules::__MAKE_VHOOK(InitHUD)(CBasePlayer *pl)
|
||||||
{
|
{
|
||||||
;
|
;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* <166f0b> ../cstrike/dlls/singleplay_gamerules.cpp:104 */
|
/* <166f0b> ../cstrike/dlls/singleplay_gamerules.cpp:104 */
|
||||||
void CHalfLifeRules::ClientDisconnected(edict_t *pClient)
|
void CHalfLifeRules::__MAKE_VHOOK(ClientDisconnected)(edict_t *pClient)
|
||||||
{
|
{
|
||||||
;
|
;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* <166f3f> ../cstrike/dlls/singleplay_gamerules.cpp:110 */
|
/* <166f3f> ../cstrike/dlls/singleplay_gamerules.cpp:110 */
|
||||||
float CHalfLifeRules::FlPlayerFallDamage(CBasePlayer *pPlayer)
|
float CHalfLifeRules::__MAKE_VHOOK(FlPlayerFallDamage)(CBasePlayer *pPlayer)
|
||||||
{
|
{
|
||||||
|
// subtract off the speed at which a player is allowed to fall without being hurt,
|
||||||
|
// so damage will be based on speed beyond that, not the entire fall
|
||||||
pPlayer->m_flFallVelocity -= PLAYER_MAX_SAFE_FALL_SPEED;
|
pPlayer->m_flFallVelocity -= PLAYER_MAX_SAFE_FALL_SPEED;
|
||||||
return pPlayer->m_flFallVelocity * DAMAGE_FOR_FALL_SPEED;
|
return pPlayer->m_flFallVelocity * DAMAGE_FOR_FALL_SPEED;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* <167677> ../cstrike/dlls/singleplay_gamerules.cpp:120 */
|
/* <167677> ../cstrike/dlls/singleplay_gamerules.cpp:120 */
|
||||||
void CHalfLifeRules::PlayerSpawn_(CBasePlayer *pPlayer)
|
void CHalfLifeRules::__MAKE_VHOOK(PlayerSpawn)(CBasePlayer *pPlayer)
|
||||||
{
|
{
|
||||||
pPlayer->pev->weapons |= (1 << WEAPON_SUIT);
|
pPlayer->pev->weapons |= (1 << WEAPON_SUIT);
|
||||||
|
|
||||||
@ -91,73 +96,73 @@ void CHalfLifeRules::PlayerSpawn_(CBasePlayer *pPlayer)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* <166f73> ../cstrike/dlls/singleplay_gamerules.cpp:135 */
|
/* <166f73> ../cstrike/dlls/singleplay_gamerules.cpp:135 */
|
||||||
BOOL CHalfLifeRules::AllowAutoTargetCrosshair(void)
|
BOOL CHalfLifeRules::__MAKE_VHOOK(AllowAutoTargetCrosshair)(void)
|
||||||
{
|
{
|
||||||
return (g_iSkillLevel == SKILL_EASY);
|
return (g_iSkillLevel == SKILL_EASY);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* <166f99> ../cstrike/dlls/singleplay_gamerules.cpp:142 */
|
/* <166f99> ../cstrike/dlls/singleplay_gamerules.cpp:142 */
|
||||||
void CHalfLifeRules::PlayerThink(CBasePlayer *pPlayer)
|
void CHalfLifeRules::__MAKE_VHOOK(PlayerThink)(CBasePlayer *pPlayer)
|
||||||
{
|
{
|
||||||
;
|
;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* <166fcd> ../cstrike/dlls/singleplay_gamerules.cpp:149 */
|
/* <166fcd> ../cstrike/dlls/singleplay_gamerules.cpp:149 */
|
||||||
BOOL CHalfLifeRules::FPlayerCanRespawn(CBasePlayer *pPlayer)
|
BOOL CHalfLifeRules::__MAKE_VHOOK(FPlayerCanRespawn)(CBasePlayer *pPlayer)
|
||||||
{
|
{
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* <167001> ../cstrike/dlls/singleplay_gamerules.cpp:156 */
|
/* <167001> ../cstrike/dlls/singleplay_gamerules.cpp:156 */
|
||||||
float CHalfLifeRules::FlPlayerSpawnTime(CBasePlayer *pPlayer)
|
float CHalfLifeRules::__MAKE_VHOOK(FlPlayerSpawnTime)(CBasePlayer *pPlayer)
|
||||||
{
|
{
|
||||||
return gpGlobals->time;
|
return gpGlobals->time;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* <167035> ../cstrike/dlls/singleplay_gamerules.cpp:165 */
|
/* <167035> ../cstrike/dlls/singleplay_gamerules.cpp:165 */
|
||||||
int CHalfLifeRules::IPointsForKill(CBasePlayer *pAttacker, CBasePlayer *pKilled)
|
int CHalfLifeRules::__MAKE_VHOOK(IPointsForKill)(CBasePlayer *pAttacker, CBasePlayer *pKilled)
|
||||||
{
|
{
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* <167077> ../cstrike/dlls/singleplay_gamerules.cpp:173 */
|
/* <167077> ../cstrike/dlls/singleplay_gamerules.cpp:173 */
|
||||||
void CHalfLifeRules::PlayerKilled(CBasePlayer *pVictim, entvars_t *pKiller, entvars_t *pInflictor)
|
void CHalfLifeRules::__MAKE_VHOOK(PlayerKilled)(CBasePlayer *pVictim, entvars_t *pKiller, entvars_t *pInflictor)
|
||||||
{
|
{
|
||||||
;
|
;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* <1670c7> ../cstrike/dlls/singleplay_gamerules.cpp:180 */
|
/* <1670c7> ../cstrike/dlls/singleplay_gamerules.cpp:180 */
|
||||||
void CHalfLifeRules::DeathNotice(CBasePlayer *pVictim, entvars_t *pKiller, entvars_t *pInflictor)
|
void CHalfLifeRules::__MAKE_VHOOK(DeathNotice)(CBasePlayer *pVictim, entvars_t *pKiller, entvars_t *pInflictor)
|
||||||
{
|
{
|
||||||
;
|
;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* <167117> ../cstrike/dlls/singleplay_gamerules.cpp:188 */
|
/* <167117> ../cstrike/dlls/singleplay_gamerules.cpp:188 */
|
||||||
void CHalfLifeRules::PlayerGotWeapon(CBasePlayer *pPlayer, CBasePlayerItem *pWeapon)
|
void CHalfLifeRules::__MAKE_VHOOK(PlayerGotWeapon)(CBasePlayer *pPlayer, CBasePlayerItem *pWeapon)
|
||||||
{
|
{
|
||||||
;
|
;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* <167159> ../cstrike/dlls/singleplay_gamerules.cpp:196 */
|
/* <167159> ../cstrike/dlls/singleplay_gamerules.cpp:196 */
|
||||||
float CHalfLifeRules::FlWeaponRespawnTime(CBasePlayerItem *pWeapon)
|
float CHalfLifeRules::__MAKE_VHOOK(FlWeaponRespawnTime)(CBasePlayerItem *pWeapon)
|
||||||
{
|
{
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* <16718d> ../cstrike/dlls/singleplay_gamerules.cpp:206 */
|
/* <16718d> ../cstrike/dlls/singleplay_gamerules.cpp:206 */
|
||||||
float CHalfLifeRules::FlWeaponTryRespawn(CBasePlayerItem *pWeapon)
|
float CHalfLifeRules::__MAKE_VHOOK(FlWeaponTryRespawn)(CBasePlayerItem *pWeapon)
|
||||||
{
|
{
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* <1671c1> ../cstrike/dlls/singleplay_gamerules.cpp:215 */
|
/* <1671c1> ../cstrike/dlls/singleplay_gamerules.cpp:215 */
|
||||||
Vector CHalfLifeRules::VecWeaponRespawnSpot(CBasePlayerItem *pWeapon)
|
Vector CHalfLifeRules::__MAKE_VHOOK(VecWeaponRespawnSpot)(CBasePlayerItem *pWeapon)
|
||||||
{
|
{
|
||||||
return pWeapon->pev->origin;
|
return pWeapon->pev->origin;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* <1675e6> ../cstrike/dlls/singleplay_gamerules.cpp:220 */
|
/* <1675e6> ../cstrike/dlls/singleplay_gamerules.cpp:220 */
|
||||||
edict_t *CHalfLifeRules::GetPlayerSpawnSpot(CBasePlayer *pPlayer)
|
edict_t *CHalfLifeRules::__MAKE_VHOOK(GetPlayerSpawnSpot)(CBasePlayer *pPlayer)
|
||||||
{
|
{
|
||||||
CBaseEntity *pSpot = UTIL_FindEntityByClassname(NULL, "info_player_start");
|
CBaseEntity *pSpot = UTIL_FindEntityByClassname(NULL, "info_player_start");
|
||||||
|
|
||||||
@ -178,107 +183,297 @@ edict_t *CHalfLifeRules::GetPlayerSpawnSpot(CBasePlayer *pPlayer)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* <16721c> ../cstrike/dlls/singleplay_gamerules.cpp:243 */
|
/* <16721c> ../cstrike/dlls/singleplay_gamerules.cpp:243 */
|
||||||
int CHalfLifeRules::WeaponShouldRespawn(CBasePlayerItem *pWeapon)
|
int CHalfLifeRules::__MAKE_VHOOK(WeaponShouldRespawn)(CBasePlayerItem *pWeapon)
|
||||||
{
|
{
|
||||||
return GR_WEAPON_RESPAWN_NO;
|
return GR_WEAPON_RESPAWN_NO;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* <167250> ../cstrike/dlls/singleplay_gamerules.cpp:250 */
|
/* <167250> ../cstrike/dlls/singleplay_gamerules.cpp:250 */
|
||||||
BOOL CHalfLifeRules::CanHaveItem(CBasePlayer *pPlayer, CItem *pItem)
|
BOOL CHalfLifeRules::__MAKE_VHOOK(CanHaveItem)(CBasePlayer *pPlayer, CItem *pItem)
|
||||||
{
|
{
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* <167292> ../cstrike/dlls/singleplay_gamerules.cpp:257 */
|
/* <167292> ../cstrike/dlls/singleplay_gamerules.cpp:257 */
|
||||||
void CHalfLifeRules::PlayerGotItem(CBasePlayer *pPlayer, CItem *pItem)
|
void CHalfLifeRules::__MAKE_VHOOK(PlayerGotItem)(CBasePlayer *pPlayer, CItem *pItem)
|
||||||
{
|
{
|
||||||
;
|
;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* <1672d6> ../cstrike/dlls/singleplay_gamerules.cpp:263 */
|
/* <1672d6> ../cstrike/dlls/singleplay_gamerules.cpp:263 */
|
||||||
int CHalfLifeRules::ItemShouldRespawn(CItem *pItem)
|
int CHalfLifeRules::__MAKE_VHOOK(ItemShouldRespawn)(CItem *pItem)
|
||||||
{
|
{
|
||||||
return GR_ITEM_RESPAWN_NO;
|
return GR_ITEM_RESPAWN_NO;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* <16730b> ../cstrike/dlls/singleplay_gamerules.cpp:272 */
|
/* <16730b> ../cstrike/dlls/singleplay_gamerules.cpp:272 */
|
||||||
float CHalfLifeRules::FlItemRespawnTime(CItem *pItem)
|
float CHalfLifeRules::__MAKE_VHOOK(FlItemRespawnTime)(CItem *pItem)
|
||||||
{
|
{
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* <167340> ../cstrike/dlls/singleplay_gamerules.cpp:281 */
|
/* <167340> ../cstrike/dlls/singleplay_gamerules.cpp:281 */
|
||||||
Vector CHalfLifeRules::VecItemRespawnSpot(CItem *pItem)
|
Vector CHalfLifeRules::__MAKE_VHOOK(VecItemRespawnSpot)(CItem *pItem)
|
||||||
{
|
{
|
||||||
return pItem->pev->origin;
|
return pItem->pev->origin;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* <16739d> ../cstrike/dlls/singleplay_gamerules.cpp:288 */
|
/* <16739d> ../cstrike/dlls/singleplay_gamerules.cpp:288 */
|
||||||
BOOL CHalfLifeRules::IsAllowedToSpawn(CBaseEntity *pEntity)
|
BOOL CHalfLifeRules::__MAKE_VHOOK(IsAllowedToSpawn)(CBaseEntity *pEntity)
|
||||||
{
|
{
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* <1673d2> ../cstrike/dlls/singleplay_gamerules.cpp:295 */
|
/* <1673d2> ../cstrike/dlls/singleplay_gamerules.cpp:295 */
|
||||||
void CHalfLifeRules::PlayerGotAmmo(CBasePlayer *pPlayer, char *szName, int iCount)
|
void CHalfLifeRules::__MAKE_VHOOK(PlayerGotAmmo)(CBasePlayer *pPlayer, char *szName, int iCount)
|
||||||
{
|
{
|
||||||
;
|
;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* <167425> ../cstrike/dlls/singleplay_gamerules.cpp:301 */
|
/* <167425> ../cstrike/dlls/singleplay_gamerules.cpp:301 */
|
||||||
int CHalfLifeRules::AmmoShouldRespawn(CBasePlayerAmmo *pAmmo)
|
int CHalfLifeRules::__MAKE_VHOOK(AmmoShouldRespawn)(CBasePlayerAmmo *pAmmo)
|
||||||
{
|
{
|
||||||
return GR_AMMO_RESPAWN_NO;
|
return GR_AMMO_RESPAWN_NO;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* <16745a> ../cstrike/dlls/singleplay_gamerules.cpp:308 */
|
/* <16745a> ../cstrike/dlls/singleplay_gamerules.cpp:308 */
|
||||||
float CHalfLifeRules::FlAmmoRespawnTime(CBasePlayerAmmo *pAmmo)
|
float CHalfLifeRules::__MAKE_VHOOK(FlAmmoRespawnTime)(CBasePlayerAmmo *pAmmo)
|
||||||
{
|
{
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* <16748f> ../cstrike/dlls/singleplay_gamerules.cpp:315 */
|
/* <16748f> ../cstrike/dlls/singleplay_gamerules.cpp:315 */
|
||||||
Vector CHalfLifeRules::VecAmmoRespawnSpot(CBasePlayerAmmo *pAmmo)
|
Vector CHalfLifeRules::__MAKE_VHOOK(VecAmmoRespawnSpot)(CBasePlayerAmmo *pAmmo)
|
||||||
{
|
{
|
||||||
return pAmmo->pev->origin;
|
return pAmmo->pev->origin;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* <1674ec> ../cstrike/dlls/singleplay_gamerules.cpp:322 */
|
/* <1674ec> ../cstrike/dlls/singleplay_gamerules.cpp:322 */
|
||||||
float CHalfLifeRules::FlHealthChargerRechargeTime(void)
|
float CHalfLifeRules::__MAKE_VHOOK(FlHealthChargerRechargeTime)(void)
|
||||||
{
|
{
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* <167512> ../cstrike/dlls/singleplay_gamerules.cpp:329 */
|
/* <167512> ../cstrike/dlls/singleplay_gamerules.cpp:329 */
|
||||||
int CHalfLifeRules::DeadPlayerWeapons(CBasePlayer *pPlayer)
|
int CHalfLifeRules::__MAKE_VHOOK(DeadPlayerWeapons)(CBasePlayer *pPlayer)
|
||||||
{
|
{
|
||||||
return GR_PLR_DROP_GUN_NO;
|
return GR_PLR_DROP_GUN_NO;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* <167547> ../cstrike/dlls/singleplay_gamerules.cpp:336 */
|
/* <167547> ../cstrike/dlls/singleplay_gamerules.cpp:336 */
|
||||||
int CHalfLifeRules::DeadPlayerAmmo(CBasePlayer *pPlayer)
|
int CHalfLifeRules::__MAKE_VHOOK(DeadPlayerAmmo)(CBasePlayer *pPlayer)
|
||||||
{
|
{
|
||||||
return GR_PLR_DROP_AMMO_NO;
|
return GR_PLR_DROP_AMMO_NO;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* <16757c> ../cstrike/dlls/singleplay_gamerules.cpp:343 */
|
/* <16757c> ../cstrike/dlls/singleplay_gamerules.cpp:343 */
|
||||||
int CHalfLifeRules::PlayerRelationship(CBasePlayer *pPlayer, CBaseEntity *pTarget)
|
int CHalfLifeRules::__MAKE_VHOOK(PlayerRelationship)(CBasePlayer *pPlayer, CBaseEntity *pTarget)
|
||||||
{
|
{
|
||||||
// why would a single player in half life need this?
|
// why would a single player in half life need this?
|
||||||
return GR_NOTTEAMMATE;
|
return GR_NOTTEAMMATE;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* <1675c0> ../cstrike/dlls/singleplay_gamerules.cpp:351 */
|
/* <1675c0> ../cstrike/dlls/singleplay_gamerules.cpp:351 */
|
||||||
BOOL CHalfLifeRules::FAllowMonsters(void)
|
BOOL CHalfLifeRules::__MAKE_VHOOK(FAllowMonsters)(void)
|
||||||
{
|
{
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef HOOK_GAMEDLL
|
#ifdef HOOK_GAMEDLL
|
||||||
|
|
||||||
|
void CHalfLifeRules::Think(void)
|
||||||
|
{
|
||||||
|
Think_();
|
||||||
|
}
|
||||||
|
|
||||||
|
BOOL CHalfLifeRules::IsAllowedToSpawn(CBaseEntity *pEntity)
|
||||||
|
{
|
||||||
|
return IsAllowedToSpawn_(pEntity);
|
||||||
|
}
|
||||||
|
|
||||||
|
BOOL CHalfLifeRules::FShouldSwitchWeapon(CBasePlayer *pPlayer, CBasePlayerItem *pWeapon)
|
||||||
|
{
|
||||||
|
return FShouldSwitchWeapon_(pPlayer, pWeapon);
|
||||||
|
}
|
||||||
|
|
||||||
|
BOOL CHalfLifeRules::GetNextBestWeapon(CBasePlayer *pPlayer, CBasePlayerItem *pCurrentWeapon)
|
||||||
|
{
|
||||||
|
return GetNextBestWeapon_(pPlayer, pCurrentWeapon);
|
||||||
|
}
|
||||||
|
|
||||||
|
BOOL CHalfLifeRules::IsMultiplayer(void)
|
||||||
|
{
|
||||||
|
return IsMultiplayer_();
|
||||||
|
}
|
||||||
|
|
||||||
|
BOOL CHalfLifeRules::IsDeathmatch(void)
|
||||||
|
{
|
||||||
|
return IsDeathmatch_();
|
||||||
|
}
|
||||||
|
|
||||||
|
BOOL CHalfLifeRules::IsCoOp(void)
|
||||||
|
{
|
||||||
|
return IsCoOp_();
|
||||||
|
}
|
||||||
|
|
||||||
|
BOOL CHalfLifeRules::ClientConnected(edict_t *pEntity, const char *pszName, const char *pszAddress, char szRejectReason[128])
|
||||||
|
{
|
||||||
|
return ClientConnected_(pEntity, pszName, pszAddress, szRejectReason);
|
||||||
|
}
|
||||||
|
|
||||||
|
void CHalfLifeRules::InitHUD(CBasePlayer *pl)
|
||||||
|
{
|
||||||
|
InitHUD_(pl);
|
||||||
|
}
|
||||||
|
|
||||||
|
void CHalfLifeRules::ClientDisconnected(edict_t *pClient)
|
||||||
|
{
|
||||||
|
ClientDisconnected_(pClient);
|
||||||
|
}
|
||||||
|
|
||||||
|
float CHalfLifeRules::FlPlayerFallDamage(CBasePlayer *pPlayer)
|
||||||
|
{
|
||||||
|
return FlPlayerFallDamage_(pPlayer);
|
||||||
|
}
|
||||||
|
|
||||||
void CHalfLifeRules::PlayerSpawn(CBasePlayer *pPlayer)
|
void CHalfLifeRules::PlayerSpawn(CBasePlayer *pPlayer)
|
||||||
{
|
{
|
||||||
PlayerSpawn_(pPlayer);
|
PlayerSpawn_(pPlayer);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void CHalfLifeRules::PlayerThink(CBasePlayer *pPlayer)
|
||||||
|
{
|
||||||
|
PlayerThink_(pPlayer);
|
||||||
|
}
|
||||||
|
|
||||||
|
BOOL CHalfLifeRules::FPlayerCanRespawn(CBasePlayer *pPlayer)
|
||||||
|
{
|
||||||
|
return FPlayerCanRespawn_(pPlayer);
|
||||||
|
}
|
||||||
|
|
||||||
|
float CHalfLifeRules::FlPlayerSpawnTime(CBasePlayer *pPlayer)
|
||||||
|
{
|
||||||
|
return FlPlayerSpawnTime_(pPlayer);
|
||||||
|
}
|
||||||
|
|
||||||
|
edict_t *CHalfLifeRules::GetPlayerSpawnSpot(CBasePlayer *pPlayer)
|
||||||
|
{
|
||||||
|
return GetPlayerSpawnSpot_(pPlayer);
|
||||||
|
}
|
||||||
|
|
||||||
|
BOOL CHalfLifeRules::AllowAutoTargetCrosshair(void)
|
||||||
|
{
|
||||||
|
return AllowAutoTargetCrosshair_();
|
||||||
|
}
|
||||||
|
|
||||||
|
int CHalfLifeRules::IPointsForKill(CBasePlayer *pAttacker, CBasePlayer *pKilled)
|
||||||
|
{
|
||||||
|
return IPointsForKill_(pAttacker, pKilled);
|
||||||
|
}
|
||||||
|
|
||||||
|
void CHalfLifeRules::PlayerKilled(CBasePlayer *pVictim, entvars_t *pKiller, entvars_t *pInflictor)
|
||||||
|
{
|
||||||
|
PlayerKilled_(pVictim, pKiller, pInflictor);
|
||||||
|
}
|
||||||
|
|
||||||
|
void CHalfLifeRules::DeathNotice(CBasePlayer *pVictim, entvars_t *pKiller, entvars_t *pInflictor)
|
||||||
|
{
|
||||||
|
DeathNotice_(pVictim, pKiller, pInflictor);
|
||||||
|
}
|
||||||
|
|
||||||
|
void CHalfLifeRules::PlayerGotWeapon(CBasePlayer *pPlayer, CBasePlayerItem *pWeapon)
|
||||||
|
{
|
||||||
|
PlayerGotWeapon_(pPlayer, pWeapon);
|
||||||
|
}
|
||||||
|
|
||||||
|
int CHalfLifeRules::WeaponShouldRespawn(CBasePlayerItem *pWeapon)
|
||||||
|
{
|
||||||
|
return WeaponShouldRespawn_(pWeapon);
|
||||||
|
}
|
||||||
|
|
||||||
|
float CHalfLifeRules::FlWeaponRespawnTime(CBasePlayerItem *pWeapon)
|
||||||
|
{
|
||||||
|
return FlWeaponRespawnTime_(pWeapon);
|
||||||
|
}
|
||||||
|
|
||||||
|
float CHalfLifeRules::FlWeaponTryRespawn(CBasePlayerItem *pWeapon)
|
||||||
|
{
|
||||||
|
return FlWeaponTryRespawn_(pWeapon);
|
||||||
|
}
|
||||||
|
|
||||||
|
Vector CHalfLifeRules::VecWeaponRespawnSpot(CBasePlayerItem *pWeapon)
|
||||||
|
{
|
||||||
|
return VecWeaponRespawnSpot_(pWeapon);
|
||||||
|
}
|
||||||
|
|
||||||
|
BOOL CHalfLifeRules::CanHaveItem(CBasePlayer *pPlayer, CItem *pItem)
|
||||||
|
{
|
||||||
|
return CanHaveItem_(pPlayer, pItem);
|
||||||
|
}
|
||||||
|
|
||||||
|
void CHalfLifeRules::PlayerGotItem(CBasePlayer *pPlayer, CItem *pItem)
|
||||||
|
{
|
||||||
|
PlayerGotItem_(pPlayer, pItem);
|
||||||
|
}
|
||||||
|
|
||||||
|
int CHalfLifeRules::ItemShouldRespawn(CItem *pItem)
|
||||||
|
{
|
||||||
|
return ItemShouldRespawn_(pItem);
|
||||||
|
}
|
||||||
|
|
||||||
|
float CHalfLifeRules::FlItemRespawnTime(CItem *pItem)
|
||||||
|
{
|
||||||
|
return FlItemRespawnTime_(pItem);
|
||||||
|
}
|
||||||
|
|
||||||
|
Vector CHalfLifeRules::VecItemRespawnSpot(CItem *pItem)
|
||||||
|
{
|
||||||
|
return VecItemRespawnSpot_(pItem);
|
||||||
|
}
|
||||||
|
|
||||||
|
void CHalfLifeRules::PlayerGotAmmo(CBasePlayer *pPlayer, char *szName, int iCount)
|
||||||
|
{
|
||||||
|
PlayerGotAmmo_(pPlayer, szName, iCount);
|
||||||
|
}
|
||||||
|
|
||||||
|
int CHalfLifeRules::AmmoShouldRespawn(CBasePlayerAmmo *pAmmo)
|
||||||
|
{
|
||||||
|
return AmmoShouldRespawn_(pAmmo);
|
||||||
|
}
|
||||||
|
|
||||||
|
float CHalfLifeRules::FlAmmoRespawnTime(CBasePlayerAmmo *pAmmo)
|
||||||
|
{
|
||||||
|
return FlAmmoRespawnTime_(pAmmo);
|
||||||
|
}
|
||||||
|
|
||||||
|
Vector CHalfLifeRules::VecAmmoRespawnSpot(CBasePlayerAmmo *pAmmo)
|
||||||
|
{
|
||||||
|
return VecAmmoRespawnSpot_(pAmmo);
|
||||||
|
}
|
||||||
|
|
||||||
|
float CHalfLifeRules::FlHealthChargerRechargeTime(void)
|
||||||
|
{
|
||||||
|
return FlHealthChargerRechargeTime_();
|
||||||
|
}
|
||||||
|
|
||||||
|
int CHalfLifeRules::DeadPlayerWeapons(CBasePlayer *pPlayer)
|
||||||
|
{
|
||||||
|
return DeadPlayerWeapons_(pPlayer);
|
||||||
|
}
|
||||||
|
|
||||||
|
int CHalfLifeRules::DeadPlayerAmmo(CBasePlayer *pPlayer)
|
||||||
|
{
|
||||||
|
return DeadPlayerAmmo_(pPlayer);
|
||||||
|
}
|
||||||
|
|
||||||
|
int CHalfLifeRules::PlayerRelationship(CBasePlayer *pPlayer, CBaseEntity *pTarget)
|
||||||
|
{
|
||||||
|
return PlayerRelationship_(pPlayer, pTarget);
|
||||||
|
}
|
||||||
|
|
||||||
|
BOOL CHalfLifeRules::FAllowMonsters(void)
|
||||||
|
{
|
||||||
|
return FAllowMonsters_();
|
||||||
|
}
|
||||||
|
|
||||||
#endif // HOOK_GAMEDLL
|
#endif // HOOK_GAMEDLL
|
@ -2,19 +2,23 @@
|
|||||||
|
|
||||||
skilldata_t gSkillData;
|
skilldata_t gSkillData;
|
||||||
|
|
||||||
|
// take the name of a cvar, tack a digit for the skill level
|
||||||
|
// on, and return the value.of that Cvar
|
||||||
|
|
||||||
/* <16a558> ../cstrike/dlls/skill.cpp:30 */
|
/* <16a558> ../cstrike/dlls/skill.cpp:30 */
|
||||||
NOXREF float GetSkillCvar(char *pName)
|
NOXREF float GetSkillCvar(char *pName)
|
||||||
{
|
{
|
||||||
//int iCount; //unused
|
int iCount;
|
||||||
|
|
||||||
float flValue;
|
float flValue;
|
||||||
char szBuffer[64];
|
char szBuffer[64];
|
||||||
|
|
||||||
Q_sprintf(szBuffer, "%s%d", pName, gSkillData.iSkillLevel);
|
iCount = Q_sprintf(szBuffer, "%s%d", pName, gSkillData.iSkillLevel);
|
||||||
flValue = CVAR_GET_FLOAT(szBuffer);
|
flValue = CVAR_GET_FLOAT(szBuffer);
|
||||||
|
|
||||||
if (flValue <= 0.0f)
|
if (flValue <= 0.0f)
|
||||||
|
{
|
||||||
ALERT(at_console, "\n\n** GetSkillCVar Got a zero for %s **\n\n",szBuffer);
|
ALERT(at_console, "\n\n** GetSkillCVar Got a zero for %s **\n\n",szBuffer);
|
||||||
|
}
|
||||||
|
|
||||||
return flValue;
|
return flValue;
|
||||||
}
|
}
|
||||||
|
@ -257,7 +257,7 @@ NOBODY void CEnvSound::Spawn(void)
|
|||||||
// randomize list of sentence name indices
|
// randomize list of sentence name indices
|
||||||
|
|
||||||
/* <17093f> ../cstrike/dlls/sound.cpp:1084 */
|
/* <17093f> ../cstrike/dlls/sound.cpp:1084 */
|
||||||
NOXREF void USENTENCEG_InitLRU(unsigned char *plru, int count)
|
void USENTENCEG_InitLRU(unsigned char *plru, int count)
|
||||||
{
|
{
|
||||||
int i, j, k;
|
int i, j, k;
|
||||||
unsigned char temp;
|
unsigned char temp;
|
||||||
@ -343,7 +343,7 @@ int USENTENCEG_Pick(int isentenceg, char *szfound)
|
|||||||
unsigned char i;
|
unsigned char i;
|
||||||
unsigned char count;
|
unsigned char count;
|
||||||
char sznum[8];
|
char sznum[8];
|
||||||
unsigned char ipick;
|
unsigned char ipick = 0xFF;
|
||||||
BOOL ffound = FALSE;
|
BOOL ffound = FALSE;
|
||||||
|
|
||||||
if (!fSentencesInit)
|
if (!fSentencesInit)
|
||||||
@ -359,6 +359,7 @@ int USENTENCEG_Pick(int isentenceg, char *szfound)
|
|||||||
while (!ffound)
|
while (!ffound)
|
||||||
{
|
{
|
||||||
for (i = 0; i < count; i++)
|
for (i = 0; i < count; i++)
|
||||||
|
{
|
||||||
if (plru[i] != 0xFF)
|
if (plru[i] != 0xFF)
|
||||||
{
|
{
|
||||||
ipick = plru[i];
|
ipick = plru[i];
|
||||||
@ -366,18 +367,21 @@ int USENTENCEG_Pick(int isentenceg, char *szfound)
|
|||||||
ffound = TRUE;
|
ffound = TRUE;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if (!ffound)
|
if (ffound)
|
||||||
USENTENCEG_InitLRU(plru, count);
|
|
||||||
else
|
|
||||||
{
|
{
|
||||||
Q_strcpy(szfound, "!");
|
Q_strcpy(szfound, "!");
|
||||||
Q_strcat(szfound, szgroupname);
|
Q_strcat(szfound, szgroupname);
|
||||||
Q_sprintf(sznum, "%d", ipick);
|
Q_sprintf(sznum, "%d", ipick);
|
||||||
Q_strcat(szfound, sznum);
|
Q_strcat(szfound, sznum);
|
||||||
|
|
||||||
return ipick;
|
return ipick;
|
||||||
}
|
}
|
||||||
|
else
|
||||||
|
USENTENCEG_InitLRU(plru, count);
|
||||||
}
|
}
|
||||||
|
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -566,7 +570,9 @@ void SENTENCEG_Init(void)
|
|||||||
const char *pString = buffer + i;
|
const char *pString = buffer + i;
|
||||||
|
|
||||||
if (Q_strlen(pString) >= CBSENTENCENAME_MAX)
|
if (Q_strlen(pString) >= CBSENTENCENAME_MAX)
|
||||||
|
{
|
||||||
ALERT(at_warning, "Sentence %s longer than %d letters\n", pString, CBSENTENCENAME_MAX - 1);
|
ALERT(at_warning, "Sentence %s longer than %d letters\n", pString, CBSENTENCENAME_MAX - 1);
|
||||||
|
}
|
||||||
|
|
||||||
Q_strcpy(gszallsentencenames[gcallsentences++], pString);
|
Q_strcpy(gszallsentencenames[gcallsentences++], pString);
|
||||||
|
|
||||||
@ -825,7 +831,7 @@ void TEXTURETYPE_Init(void)
|
|||||||
continue;
|
continue;
|
||||||
|
|
||||||
// null-terminate name and save in sentences array
|
// null-terminate name and save in sentences array
|
||||||
j = min(j, CBTEXTURENAMEMAX - 1 + i);
|
j = _min(j, CBTEXTURENAMEMAX - 1 + i);
|
||||||
buffer[j] = 0;
|
buffer[j] = 0;
|
||||||
Q_strcpy(&(grgszTextureName[gcTextures++][0]), &(buffer[i]));
|
Q_strcpy(&(grgszTextureName[gcTextures++][0]), &(buffer[i]));
|
||||||
}
|
}
|
||||||
@ -1034,7 +1040,6 @@ float TEXTURETYPE_PlaySound(TraceResult *ptr, Vector vecSrc, Vector vecEnd, int
|
|||||||
else if (chTextureType == CHAR_TEX_COMPUTER)
|
else if (chTextureType == CHAR_TEX_COMPUTER)
|
||||||
{
|
{
|
||||||
// play random spark if computer
|
// play random spark if computer
|
||||||
|
|
||||||
if (ptr->flFraction != 1.0 && RANDOM_LONG(0, 1))
|
if (ptr->flFraction != 1.0 && RANDOM_LONG(0, 1))
|
||||||
{
|
{
|
||||||
UTIL_Sparks(ptr->vecEndPos);
|
UTIL_Sparks(ptr->vecEndPos);
|
||||||
|
@ -45,7 +45,7 @@ typedef struct
|
|||||||
/* size: 52, cachelines: 1, members: 3 */
|
/* size: 52, cachelines: 1, members: 3 */
|
||||||
|
|
||||||
NOBODY BOOL FEnvSoundInRange(entvars_t *pev, entvars_t *pevTarget, float *pflRange);
|
NOBODY BOOL FEnvSoundInRange(entvars_t *pev, entvars_t *pevTarget, float *pflRange);
|
||||||
NOXREF void USENTENCEG_InitLRU(unsigned char *plru, int count);
|
void USENTENCEG_InitLRU(unsigned char *plru, int count);
|
||||||
int USENTENCEG_PickSequential(int isentenceg, char *szfound, int ipick, int freset);
|
int USENTENCEG_PickSequential(int isentenceg, char *szfound, int ipick, int freset);
|
||||||
int USENTENCEG_Pick(int isentenceg, char *szfound);
|
int USENTENCEG_Pick(int isentenceg, char *szfound);
|
||||||
NOXREF int SENTENCEG_GetIndex(const char *szgroupname);
|
NOXREF int SENTENCEG_GetIndex(const char *szgroupname);
|
||||||
|
@ -33,12 +33,12 @@ NOBODY BOOL CSound::FIsScent(void)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* <17900a> ../cstrike/dlls/soundent.cpp:80 */
|
/* <17900a> ../cstrike/dlls/soundent.cpp:80 */
|
||||||
NOBODY void CSoundEnt::Spawn_(void)
|
NOBODY void CSoundEnt::__MAKE_VHOOK(Spawn)(void)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
/* <178b0c> ../cstrike/dlls/soundent.cpp:93 */
|
/* <178b0c> ../cstrike/dlls/soundent.cpp:93 */
|
||||||
NOBODY void CSoundEnt::Think_(void)
|
NOBODY void CSoundEnt::__MAKE_VHOOK(Think)(void)
|
||||||
{
|
{
|
||||||
// {
|
// {
|
||||||
// int iSound; // 95
|
// int iSound; // 95
|
||||||
@ -53,7 +53,7 @@ NOBODY void CSoundEnt::Think_(void)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* <178a76> ../cstrike/dlls/soundent.cpp:132 */
|
/* <178a76> ../cstrike/dlls/soundent.cpp:132 */
|
||||||
NOBODY void CSoundEnt::Precache_(void)
|
NOBODY void CSoundEnt::__MAKE_VHOOK(Precache)(void)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
#include "precompiled.h"
|
#include "precompiled.h"
|
||||||
|
|
||||||
NOXREF void CBaseSpectator::SpectatorConnect(void)
|
void CBaseSpectator::SpectatorConnect(void)
|
||||||
{
|
{
|
||||||
pev->flags = FL_SPECTATOR;
|
pev->flags = FL_SPECTATOR;
|
||||||
pev->solid = SOLID_NOT;
|
pev->solid = SOLID_NOT;
|
||||||
@ -74,20 +74,24 @@ void CBaseSpectator::SpectatorImpulseCommand(void)
|
|||||||
pev->impulse = 0;
|
pev->impulse = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
NOXREF void CBaseSpectator::SpectatorThink(void)
|
void CBaseSpectator::SpectatorThink(void)
|
||||||
{
|
{
|
||||||
if (!(pev->flags & FL_SPECTATOR))
|
if (!(pev->flags & FL_SPECTATOR))
|
||||||
|
{
|
||||||
pev->flags = FL_SPECTATOR;
|
pev->flags = FL_SPECTATOR;
|
||||||
|
}
|
||||||
|
|
||||||
pev->solid = SOLID_NOT;
|
pev->solid = SOLID_NOT;
|
||||||
pev->movetype = MOVETYPE_NOCLIP;
|
pev->movetype = MOVETYPE_NOCLIP;
|
||||||
|
|
||||||
if (pev->impulse)
|
if (pev->impulse)
|
||||||
|
{
|
||||||
SpectatorImpulseCommand();
|
SpectatorImpulseCommand();
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/* <17d297> ../cstrike/dlls/spectator.cpp:142 */
|
/* <17d297> ../cstrike/dlls/spectator.cpp:142 */
|
||||||
NOXREF void CBaseSpectator::Spawn_(void)
|
void CBaseSpectator::__MAKE_VHOOK(Spawn)(void)
|
||||||
{
|
{
|
||||||
pev->flags = FL_SPECTATOR;
|
pev->flags = FL_SPECTATOR;
|
||||||
pev->solid = SOLID_NOT;
|
pev->solid = SOLID_NOT;
|
||||||
|
@ -42,12 +42,12 @@ TYPEDESCRIPTION (*CBaseToggle::pm_SaveData)[19];
|
|||||||
#endif // HOOK_GAMEDLL
|
#endif // HOOK_GAMEDLL
|
||||||
|
|
||||||
/* <1832bc> ../cstrike/dlls/subs.cpp:38 */
|
/* <1832bc> ../cstrike/dlls/subs.cpp:38 */
|
||||||
NOBODY void CPointEntity::Spawn_(void)
|
NOBODY void CPointEntity::__MAKE_VHOOK(Spawn)(void)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
/* <183417> ../cstrike/dlls/subs.cpp:53 */
|
/* <183417> ../cstrike/dlls/subs.cpp:53 */
|
||||||
NOBODY void CNullEntity::Spawn_(void)
|
NOBODY void CNullEntity::__MAKE_VHOOK(Spawn)(void)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -73,7 +73,7 @@ LINK_ENTITY_TO_CLASS(info_hostage_rescue, CPointEntity);
|
|||||||
LINK_ENTITY_TO_CLASS(info_bomb_target, CPointEntity);
|
LINK_ENTITY_TO_CLASS(info_bomb_target, CPointEntity);
|
||||||
|
|
||||||
/* <183647> ../cstrike/dlls/subs.cpp:79 */
|
/* <183647> ../cstrike/dlls/subs.cpp:79 */
|
||||||
NOBODY void CBaseDMStart::KeyValue_(KeyValueData *pkvd)
|
NOBODY void CBaseDMStart::__MAKE_VHOOK(KeyValue)(KeyValueData *pkvd)
|
||||||
{
|
{
|
||||||
// FStrEq(const char *sz1,
|
// FStrEq(const char *sz1,
|
||||||
// const char *sz2); // 81
|
// const char *sz2); // 81
|
||||||
@ -84,7 +84,7 @@ NOBODY void CBaseDMStart::KeyValue_(KeyValueData *pkvd)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* <18331c> ../cstrike/dlls/subs.cpp:90 */
|
/* <18331c> ../cstrike/dlls/subs.cpp:90 */
|
||||||
NOBODY BOOL CBaseDMStart::IsTriggered_(CBaseEntity *pEntity)
|
NOBODY BOOL CBaseDMStart::__MAKE_VHOOK(IsTriggered)(CBaseEntity *pEntity)
|
||||||
{
|
{
|
||||||
// {
|
// {
|
||||||
// BOOL master; // 92
|
// BOOL master; // 92
|
||||||
@ -94,7 +94,7 @@ NOBODY BOOL CBaseDMStart::IsTriggered_(CBaseEntity *pEntity)
|
|||||||
/* <183f03> ../cstrike/dlls/subs.cpp:98 */
|
/* <183f03> ../cstrike/dlls/subs.cpp:98 */
|
||||||
void CBaseEntity::UpdateOnRemove(void)
|
void CBaseEntity::UpdateOnRemove(void)
|
||||||
{
|
{
|
||||||
if (pev->flags & FL_GRAPHED) // NOXREF
|
if (pev->flags & FL_GRAPHED)
|
||||||
{
|
{
|
||||||
for (int i = 0; i < WorldGraph.m_cLinks; i++)
|
for (int i = 0; i < WorldGraph.m_cLinks; i++)
|
||||||
{
|
{
|
||||||
@ -102,9 +102,12 @@ void CBaseEntity::UpdateOnRemove(void)
|
|||||||
WorldGraph.m_pLinkPool[i].m_pLinkEnt = NULL;
|
WorldGraph.m_pLinkPool[i].m_pLinkEnt = NULL;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (pev->globalname)
|
if (pev->globalname)
|
||||||
|
{
|
||||||
gGlobalState.EntitySetState(pev->globalname, GLOBAL_DEAD);
|
gGlobalState.EntitySetState(pev->globalname, GLOBAL_DEAD);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/* <183f38> ../cstrike/dlls/subs.cpp:120 */
|
/* <183f38> ../cstrike/dlls/subs.cpp:120 */
|
||||||
void CBaseEntity::SUB_Remove(void)
|
void CBaseEntity::SUB_Remove(void)
|
||||||
@ -115,6 +118,7 @@ void CBaseEntity::SUB_Remove(void)
|
|||||||
pev->health = 0;
|
pev->health = 0;
|
||||||
ALERT(at_aiconsole, "SUB_Remove called on entity with health > 0\n");
|
ALERT(at_aiconsole, "SUB_Remove called on entity with health > 0\n");
|
||||||
}
|
}
|
||||||
|
|
||||||
REMOVE_ENTITY(ENT(pev));
|
REMOVE_ENTITY(ENT(pev));
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -128,11 +132,11 @@ void CBaseEntity::SUB_DoNothing(void)
|
|||||||
IMPLEMENT_SAVERESTORE(CBaseDelay, CBaseEntity);
|
IMPLEMENT_SAVERESTORE(CBaseDelay, CBaseEntity);
|
||||||
|
|
||||||
/* <18356f> ../cstrike/dlls/subs.cpp:149 */
|
/* <18356f> ../cstrike/dlls/subs.cpp:149 */
|
||||||
void CBaseDelay::KeyValue_(KeyValueData *pkvd)
|
void CBaseDelay::__MAKE_VHOOK(KeyValue)(KeyValueData *pkvd)
|
||||||
{
|
{
|
||||||
if (FStrEq(pkvd->szKeyName, "delay"))
|
if (FStrEq(pkvd->szKeyName, "delay"))
|
||||||
{
|
{
|
||||||
m_flDelay = atof(pkvd->szValue);
|
m_flDelay = Q_atof(pkvd->szValue);
|
||||||
pkvd->fHandled = TRUE;
|
pkvd->fHandled = TRUE;
|
||||||
}
|
}
|
||||||
else if (FStrEq(pkvd->szKeyName, "killtarget"))
|
else if (FStrEq(pkvd->szKeyName, "killtarget"))
|
||||||
@ -254,16 +258,16 @@ void CBaseDelay::DelayThink(void)
|
|||||||
IMPLEMENT_SAVERESTORE(CBaseToggle, CBaseAnimating);
|
IMPLEMENT_SAVERESTORE(CBaseToggle, CBaseAnimating);
|
||||||
|
|
||||||
/* <1836dc> ../cstrike/dlls/subs.cpp:397 */
|
/* <1836dc> ../cstrike/dlls/subs.cpp:397 */
|
||||||
void CBaseToggle::KeyValue_(KeyValueData *pkvd)
|
void CBaseToggle::__MAKE_VHOOK(KeyValue)(KeyValueData *pkvd)
|
||||||
{
|
{
|
||||||
if (FStrEq(pkvd->szKeyName, "lip"))
|
if (FStrEq(pkvd->szKeyName, "lip"))
|
||||||
{
|
{
|
||||||
m_flLip = atof(pkvd->szValue);
|
m_flLip = Q_atof(pkvd->szValue);
|
||||||
pkvd->fHandled = TRUE;
|
pkvd->fHandled = TRUE;
|
||||||
}
|
}
|
||||||
else if (FStrEq(pkvd->szKeyName, "wait"))
|
else if (FStrEq(pkvd->szKeyName, "wait"))
|
||||||
{
|
{
|
||||||
m_flWait = atof(pkvd->szValue);
|
m_flWait = Q_atof(pkvd->szValue);
|
||||||
pkvd->fHandled = TRUE;
|
pkvd->fHandled = TRUE;
|
||||||
}
|
}
|
||||||
else if (FStrEq(pkvd->szKeyName, "master"))
|
else if (FStrEq(pkvd->szKeyName, "master"))
|
||||||
@ -273,7 +277,7 @@ void CBaseToggle::KeyValue_(KeyValueData *pkvd)
|
|||||||
}
|
}
|
||||||
else if (FStrEq(pkvd->szKeyName, "distance"))
|
else if (FStrEq(pkvd->szKeyName, "distance"))
|
||||||
{
|
{
|
||||||
m_flMoveDistance = atof(pkvd->szValue);
|
m_flMoveDistance = Q_atof(pkvd->szValue);
|
||||||
pkvd->fHandled = TRUE;
|
pkvd->fHandled = TRUE;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
@ -26,25 +26,25 @@ TYPEDESCRIPTION CBaseGrenCatch::m_SaveData[] =
|
|||||||
|
|
||||||
#else
|
#else
|
||||||
|
|
||||||
TYPEDESCRIPTION (*CFuncWeaponCheck::pm_SaveData)[6];
|
TYPEDESCRIPTION IMPLEMENT_ARRAY_CLASS(CFuncWeaponCheck, m_SaveData)[6];
|
||||||
TYPEDESCRIPTION (*CBaseGrenCatch::pm_SaveData)[5];
|
TYPEDESCRIPTION IMPLEMENT_ARRAY_CLASS(CBaseGrenCatch, m_SaveData)[5];
|
||||||
|
|
||||||
#endif // HOOK_GAMEDLL
|
#endif // HOOK_GAMEDLL
|
||||||
|
|
||||||
/* <18bcc4> ../cstrike/dlls/training_gamerules.cpp:23 */
|
/* <18bcc4> ../cstrike/dlls/training_gamerules.cpp:23 */
|
||||||
NOBODY CHalfLifeTraining::CHalfLifeTraining(void)
|
CHalfLifeTraining::CHalfLifeTraining(void)
|
||||||
{
|
{
|
||||||
PRECACHE_MODEL("models/w_weaponbox.mdl");
|
PRECACHE_MODEL("models/w_weaponbox.mdl");
|
||||||
}
|
}
|
||||||
|
|
||||||
/* <18ae1b> ../cstrike/dlls/training_gamerules.cpp:27 */
|
/* <18ae1b> ../cstrike/dlls/training_gamerules.cpp:27 */
|
||||||
BOOL CHalfLifeTraining::IsDeathmatch_(void)
|
BOOL CHalfLifeTraining::__MAKE_VHOOK(IsDeathmatch)(void)
|
||||||
{
|
{
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* <18ae41> ../cstrike/dlls/training_gamerules.cpp:28 */
|
/* <18ae41> ../cstrike/dlls/training_gamerules.cpp:28 */
|
||||||
void CHalfLifeTraining::InitHUD_(CBasePlayer *pl)
|
void CHalfLifeTraining::__MAKE_VHOOK(InitHUD)(CBasePlayer *pl)
|
||||||
{
|
{
|
||||||
;
|
;
|
||||||
}
|
}
|
||||||
@ -55,11 +55,13 @@ void CHalfLifeTraining::HostageDied(void)
|
|||||||
CBasePlayer *pPlayer = (CBasePlayer *)UTIL_PlayerByIndex(1);
|
CBasePlayer *pPlayer = (CBasePlayer *)UTIL_PlayerByIndex(1);
|
||||||
|
|
||||||
if (pPlayer)
|
if (pPlayer)
|
||||||
|
{
|
||||||
pPlayer->pev->radsuit_finished = gpGlobals->time + 3;
|
pPlayer->pev->radsuit_finished = gpGlobals->time + 3;
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/* <18b005> ../cstrike/dlls/training_gamerules.cpp:34 */
|
/* <18b005> ../cstrike/dlls/training_gamerules.cpp:34 */
|
||||||
edict_t *CHalfLifeTraining::GetPlayerSpawnSpot_(CBasePlayer *pPlayer)
|
edict_t *CHalfLifeTraining::__MAKE_VHOOK(GetPlayerSpawnSpot)(CBasePlayer *pPlayer)
|
||||||
{
|
{
|
||||||
CBaseEntity *pSpot = UTIL_FindEntityByClassname(NULL, "info_player_start");
|
CBaseEntity *pSpot = UTIL_FindEntityByClassname(NULL, "info_player_start");
|
||||||
|
|
||||||
@ -80,32 +82,134 @@ edict_t *CHalfLifeTraining::GetPlayerSpawnSpot_(CBasePlayer *pPlayer)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* <18b4aa> ../cstrike/dlls/training_gamerules.cpp:52 */
|
/* <18b4aa> ../cstrike/dlls/training_gamerules.cpp:52 */
|
||||||
NOBODY void CHalfLifeTraining::PlayerThink_(CBasePlayer *pPlayer)
|
void CHalfLifeTraining::__MAKE_VHOOK(PlayerThink)(CBasePlayer *pPlayer)
|
||||||
{
|
{
|
||||||
// {
|
if (pPlayer->pev->radsuit_finished && gpGlobals->time > pPlayer->pev->radsuit_finished)
|
||||||
// class CGrenade *pBomb; // 94
|
{
|
||||||
// FClassnameIs(entvars_t *pev,
|
SERVER_COMMAND("reload\n");
|
||||||
// const char *szClassname); // 81
|
}
|
||||||
// {
|
|
||||||
// class CBasePlayerWeapon *pWeapon; // 82
|
if (!pPlayer->m_iAccount)
|
||||||
// }
|
{
|
||||||
// MESSAGE_BEGIN(int msg_dest,
|
if (pPlayer->pev->scale)
|
||||||
// int msg_type,
|
{
|
||||||
// const float *pOrigin,
|
pPlayer->m_iAccount = (int)pPlayer->pev->scale;
|
||||||
// entvars_t *ent); // 124
|
}
|
||||||
// MESSAGE_BEGIN(int msg_dest,
|
}
|
||||||
// int msg_type,
|
|
||||||
// const float *pOrigin,
|
if (pPlayer->m_iTeam == UNASSIGNED)
|
||||||
// entvars_t *ent); // 127
|
{
|
||||||
// MESSAGE_BEGIN(int msg_dest,
|
pPlayer->SetProgressBarTime(0);
|
||||||
// int msg_type,
|
pPlayer->m_bHasDefuser = pPlayer->pev->ideal_yaw != 0;
|
||||||
// const float *pOrigin,
|
}
|
||||||
// entvars_t *ent); // 105
|
|
||||||
// }
|
m_iHostagesRescued = 0;
|
||||||
|
m_iRoundTimeSecs = (int)(gpGlobals->time + 1.0f);
|
||||||
|
m_bFreezePeriod = FALSE;
|
||||||
|
g_fGameOver = FALSE;
|
||||||
|
|
||||||
|
pPlayer->m_iTeam = CT;
|
||||||
|
pPlayer->m_bCanShoot = true;
|
||||||
|
pPlayer->m_fLastMovement = gpGlobals->time;
|
||||||
|
|
||||||
|
if (pPlayer->m_pActiveItem)
|
||||||
|
pPlayer->m_iHideHUD &= ~HIDEHUD_WEAPONS;
|
||||||
|
else
|
||||||
|
pPlayer->m_iHideHUD |= HIDEHUD_WEAPONS;
|
||||||
|
|
||||||
|
if (pPlayer->HasNamedPlayerItem("weapon_c4"))
|
||||||
|
{
|
||||||
|
if (pPlayer->m_rgAmmo[ pPlayer->GetAmmoIndex("C4") ] <= 0)
|
||||||
|
{
|
||||||
|
pPlayer->m_bHasC4 = false;
|
||||||
|
|
||||||
|
CBasePlayerWeapon *pWeapon = (CBasePlayerWeapon *)pPlayer->m_pActiveItem;
|
||||||
|
|
||||||
|
if (FClassnameIs(pWeapon->pev, "weapon_c4"))
|
||||||
|
{
|
||||||
|
pPlayer->pev->weapons &= ~(1 << pWeapon->m_iId);
|
||||||
|
pPlayer->RemovePlayerItem(pWeapon);
|
||||||
|
pWeapon->Drop();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
pPlayer->m_bHasC4 = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!pPlayer->m_bVGUIMenus)
|
||||||
|
{
|
||||||
|
if (fVGUIMenus)
|
||||||
|
{
|
||||||
|
pPlayer->m_bVGUIMenus = fVGUIMenus;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
CGrenade *pBomb = NULL;
|
||||||
|
while ((pBomb = (CGrenade *)UTIL_FindEntityByClassname(pBomb, "grenade")) != NULL)
|
||||||
|
{
|
||||||
|
if (pBomb->m_pentCurBombTarget != NULL)
|
||||||
|
pBomb->m_bStartDefuse = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (pPlayer->m_signals.GetState() & SIGNAL_BUY)
|
||||||
|
{
|
||||||
|
if (!fInBuyArea)
|
||||||
|
{
|
||||||
|
FillAccountTime = 1;
|
||||||
|
|
||||||
|
if (!fVisitedBuyArea)
|
||||||
|
{
|
||||||
|
MESSAGE_BEGIN(MSG_ONE, gmsgStatusIcon, NULL, pPlayer->pev);
|
||||||
|
WRITE_BYTE(STATUSICON_FLASH);
|
||||||
|
WRITE_STRING("buyzone");
|
||||||
|
WRITE_BYTE(0);
|
||||||
|
WRITE_BYTE(160);
|
||||||
|
WRITE_BYTE(0);
|
||||||
|
MESSAGE_END();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
fInBuyArea = TRUE;
|
||||||
|
|
||||||
|
if (pPlayer->m_iAccount < 16000 && FillAccountTime == 0.0f)
|
||||||
|
FillAccountTime = gpGlobals->time + 5;
|
||||||
|
|
||||||
|
if (FillAccountTime != 0.0f && gpGlobals->time > FillAccountTime)
|
||||||
|
{
|
||||||
|
if (!fVisitedBuyArea)
|
||||||
|
{
|
||||||
|
MESSAGE_BEGIN(MSG_ONE, gmsgBlinkAcct, NULL, pPlayer->pev);
|
||||||
|
WRITE_BYTE(3);
|
||||||
|
MESSAGE_END();
|
||||||
|
|
||||||
|
MESSAGE_BEGIN(MSG_ONE, gmsgStatusIcon, NULL, pPlayer->pev);
|
||||||
|
WRITE_BYTE(STATUSICON_SHOW);
|
||||||
|
WRITE_STRING("buyzone");
|
||||||
|
WRITE_BYTE(0);
|
||||||
|
WRITE_BYTE(160);
|
||||||
|
WRITE_BYTE(0);
|
||||||
|
MESSAGE_END();
|
||||||
|
|
||||||
|
fVisitedBuyArea = TRUE;
|
||||||
|
}
|
||||||
|
|
||||||
|
pPlayer->AddAccount(16000 - pPlayer->m_iAccount);
|
||||||
|
FillAccountTime = 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else if (fInBuyArea && fVisitedBuyArea)
|
||||||
|
{
|
||||||
|
fInBuyArea = FALSE;
|
||||||
|
}
|
||||||
|
|
||||||
|
pPlayer->pev->scale = pPlayer->m_iAccount;
|
||||||
|
pPlayer->pev->ideal_yaw = pPlayer->m_bHasDefuser;
|
||||||
|
|
||||||
|
TheBots->OnEvent(EVENT_PLAYER_CHANGED_TEAM, pPlayer);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* <18b79c> ../cstrike/dlls/training_gamerules.cpp:151 */
|
/* <18b79c> ../cstrike/dlls/training_gamerules.cpp:151 */
|
||||||
void CHalfLifeTraining::PlayerSpawn_(CBasePlayer *pPlayer)
|
void CHalfLifeTraining::__MAKE_VHOOK(PlayerSpawn)(CBasePlayer *pPlayer)
|
||||||
{
|
{
|
||||||
if (pPlayer->m_bNotKilled)
|
if (pPlayer->m_bNotKilled)
|
||||||
return;
|
return;
|
||||||
@ -126,7 +230,9 @@ void CHalfLifeTraining::PlayerSpawn_(CBasePlayer *pPlayer)
|
|||||||
CBaseEntity *pWeaponEntity = NULL;
|
CBaseEntity *pWeaponEntity = NULL;
|
||||||
|
|
||||||
while ((pWeaponEntity = UTIL_FindEntityByClassname(pWeaponEntity, "game_player_equip")) != NULL)
|
while ((pWeaponEntity = UTIL_FindEntityByClassname(pWeaponEntity, "game_player_equip")) != NULL)
|
||||||
|
{
|
||||||
pWeaponEntity->Touch(pPlayer);
|
pWeaponEntity->Touch(pPlayer);
|
||||||
|
}
|
||||||
|
|
||||||
pPlayer->SetPlayerModel(false);
|
pPlayer->SetPlayerModel(false);
|
||||||
pPlayer->Spawn();
|
pPlayer->Spawn();
|
||||||
@ -134,61 +240,106 @@ void CHalfLifeTraining::PlayerSpawn_(CBasePlayer *pPlayer)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* <18ae74> ../cstrike/dlls/training_gamerules.cpp:182 */
|
/* <18ae74> ../cstrike/dlls/training_gamerules.cpp:182 */
|
||||||
NOBODY int CHalfLifeTraining::ItemShouldRespawn_(CItem *pItem)
|
int CHalfLifeTraining::__MAKE_VHOOK(ItemShouldRespawn)(CItem *pItem)
|
||||||
{
|
{
|
||||||
|
return GR_ITEM_RESPAWN_NO;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* <18aea8> ../cstrike/dlls/training_gamerules.cpp:186 */
|
/* <18aea8> ../cstrike/dlls/training_gamerules.cpp:186 */
|
||||||
NOBODY BOOL CHalfLifeTraining::FPlayerCanRespawn_(CBasePlayer *pPlayer)
|
BOOL CHalfLifeTraining::__MAKE_VHOOK(FPlayerCanRespawn)(CBasePlayer *pPlayer)
|
||||||
{
|
{
|
||||||
|
return TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* <18bd40> ../cstrike/dlls/training_gamerules.cpp:190 */
|
/* <18bd40> ../cstrike/dlls/training_gamerules.cpp:190 */
|
||||||
bool CHalfLifeTraining::PlayerCanBuy(CBasePlayer *pPlayer)
|
bool CHalfLifeTraining::PlayerCanBuy(CBasePlayer *pPlayer)
|
||||||
{
|
{
|
||||||
return pPlayer->m_signals.GetState() & SIGNAL_BUY;
|
return (pPlayer->m_signals.GetState() & SIGNAL_BUY) != 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* <18afa5> ../cstrike/dlls/training_gamerules.cpp:195 */
|
/* <18afa5> ../cstrike/dlls/training_gamerules.cpp:195 */
|
||||||
NOBODY void CHalfLifeTraining::PlayerKilled_(CBasePlayer *pVictim, entvars_t *pKiller, entvars_t *pInflictor)
|
void CHalfLifeTraining::__MAKE_VHOOK(PlayerKilled)(CBasePlayer *pVictim, entvars_t *pKiller, entvars_t *pInflictor)
|
||||||
{
|
{
|
||||||
// edict(CBaseEntity *const this); // 198
|
SET_VIEW(pVictim->edict(), pVictim->edict());
|
||||||
|
FireTargets("game_playerdie", pVictim, pVictim, USE_TOGGLE, 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* <18b0fb> ../cstrike/dlls/training_gamerules.cpp:202 */
|
/* <18b0fb> ../cstrike/dlls/training_gamerules.cpp:202 */
|
||||||
NOBODY void CHalfLifeTraining::CheckWinConditions_(void)
|
void CHalfLifeTraining::__MAKE_VHOOK(CheckWinConditions)(void)
|
||||||
{
|
{
|
||||||
// {
|
CBaseEntity *pHostage = NULL;
|
||||||
// class CBaseEntity *pHostage; // 229
|
|
||||||
// {
|
if (m_bBombDefused)
|
||||||
// class CGrenade *pBomb; // 217
|
{
|
||||||
// Instance(edict_t *pent); // 225
|
CGrenade *pBomb = NULL;
|
||||||
// Instance(edict_t *pent); // 225
|
|
||||||
// }
|
while ((pBomb = (CGrenade *)UTIL_FindEntityByClassname(pBomb, "grenade")) != NULL)
|
||||||
// {
|
{
|
||||||
// class CGrenade *pBomb; // 205
|
if (!pBomb->m_bIsC4 || !pBomb->m_bJustBlew)
|
||||||
// Instance(edict_t *pent); // 213
|
continue;
|
||||||
// Instance(edict_t *pent); // 213
|
|
||||||
// }
|
pBomb->m_bJustBlew = false;
|
||||||
// FIND_ENTITY_BY_CLASSNAME(edict_t *entStart,
|
m_bBombDefused = false;
|
||||||
// const char *pszName); // 229
|
FireTargets(STRING(pBomb->pev->target), CBaseEntity::Instance(pBomb->pev->owner), CBaseEntity::Instance(pBomb->pev->owner), USE_TOGGLE, 0);
|
||||||
// Instance(edict_t *pent); // 229
|
break;
|
||||||
// {
|
}
|
||||||
// class CBaseEntity *pRescueArea; // 236
|
}
|
||||||
// class CBaseEntity *pFirstRescueArea; // 237
|
else if (m_bTargetBombed)
|
||||||
// FIND_ENTITY_BY_CLASSNAME(edict_t *entStart,
|
{
|
||||||
// const char *pszName); // 236
|
CGrenade *pBomb = NULL;
|
||||||
// Vector(Vector *const this,
|
|
||||||
// float X,
|
while ((pBomb = (CGrenade *)UTIL_FindEntityByClassname(pBomb, "grenade")) != NULL)
|
||||||
// float Y,
|
{
|
||||||
// float Z); // 235
|
if (!pBomb->m_bIsC4 || !pBomb->m_bJustBlew)
|
||||||
// Vector(Vector *const this,
|
continue;
|
||||||
// float X,
|
|
||||||
// float Y,
|
if (FStringNull(pBomb->pev->noise1))
|
||||||
// float Z); // 235
|
continue;
|
||||||
// Instance(edict_t *pent); // 236
|
|
||||||
// }
|
pBomb->m_bJustBlew = false;
|
||||||
// }
|
m_bTargetBombed = false;
|
||||||
|
FireTargets(STRING(pBomb->pev->noise1), CBaseEntity::Instance(pBomb->pev->owner), CBaseEntity::Instance(pBomb->pev->owner), USE_TOGGLE, 0);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
pHostage = CBaseEntity::Instance(FIND_ENTITY_BY_CLASSNAME(NULL, "hostage_entity"));
|
||||||
|
|
||||||
|
while (pHostage != NULL)
|
||||||
|
{
|
||||||
|
if (pHostage->pev->deadflag != DEAD_RESPAWNABLE || !FStringNull(pHostage->pev->noise1))
|
||||||
|
continue;
|
||||||
|
|
||||||
|
UTIL_SetSize(pHostage->pev, Vector(-16, -16, 0), Vector(16, 16, 72));
|
||||||
|
|
||||||
|
CBaseEntity *pRescueArea;
|
||||||
|
CBaseEntity *pFirstRescueArea;
|
||||||
|
|
||||||
|
pFirstRescueArea = CBaseEntity::Instance(FIND_ENTITY_BY_CLASSNAME(NULL, "func_hostage_rescue"));
|
||||||
|
pRescueArea = pFirstRescueArea;
|
||||||
|
|
||||||
|
if (pFirstRescueArea != NULL)
|
||||||
|
{
|
||||||
|
while (pRescueArea != pFirstRescueArea)
|
||||||
|
{
|
||||||
|
if (!pRescueArea->Intersects(pHostage))
|
||||||
|
break;
|
||||||
|
|
||||||
|
pRescueArea = UTIL_FindEntityByClassname(pRescueArea, "func_hostage_rescue");
|
||||||
|
|
||||||
|
if (!pRescueArea)
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (pRescueArea != NULL)
|
||||||
|
{
|
||||||
|
pHostage->pev->noise1 = 1;
|
||||||
|
FireTargets(STRING(pRescueArea->pev->target), NULL, NULL, USE_TOGGLE, 0);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
pHostage = UTIL_FindEntityByClassname(pHostage, "hostage_entity");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/* <18b74f> ../cstrike/dlls/training_gamerules.cpp:280 */
|
/* <18b74f> ../cstrike/dlls/training_gamerules.cpp:280 */
|
||||||
@ -197,67 +348,135 @@ IMPLEMENT_SAVERESTORE(CBaseGrenCatch, CBaseEntity);
|
|||||||
/* <18bd74> ../cstrike/dlls/training_gamerules.cpp:282 */
|
/* <18bd74> ../cstrike/dlls/training_gamerules.cpp:282 */
|
||||||
LINK_ENTITY_TO_CLASS(func_grencatch, CBaseGrenCatch);
|
LINK_ENTITY_TO_CLASS(func_grencatch, CBaseGrenCatch);
|
||||||
|
|
||||||
/* <18af50> ../cstrike/dlls/training_gamerules.cpp:293 */
|
/* <18af02> ../cstrike/dlls/training_gamerules.cpp:284 */
|
||||||
NOBODY void CBaseGrenCatch::Touch_(CBaseEntity *pOther)
|
void CBaseGrenCatch::__MAKE_VHOOK(Spawn)(void)
|
||||||
{
|
{
|
||||||
// strstr(const char *__haystack,
|
pev->solid = SOLID_TRIGGER;
|
||||||
// const char *__needle); // 297
|
pev->flags |= FL_WORLDBRUSH;
|
||||||
|
pev->effects |= EF_NODRAW;
|
||||||
|
|
||||||
|
SET_MODEL(ENT(pev), STRING(pev->model));
|
||||||
|
pev->nextthink = gpGlobals->time + 0.1f;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* <18af02> ../cstrike/dlls/training_gamerules.cpp:284 */
|
/* <18af50> ../cstrike/dlls/training_gamerules.cpp:293 */
|
||||||
NOBODY void CBaseGrenCatch::Spawn_(void)
|
void CBaseGrenCatch::__MAKE_VHOOK(Touch)(CBaseEntity *pOther)
|
||||||
{
|
{
|
||||||
|
if (!pOther)
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (Q_strstr(STRING(pev->model), "flash") != NULL)
|
||||||
|
{
|
||||||
|
m_fFlashTouched = true;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/* <18b835> ../cstrike/dlls/training_gamerules.cpp:300 */
|
/* <18b835> ../cstrike/dlls/training_gamerules.cpp:300 */
|
||||||
NOBODY void CBaseGrenCatch::Think_(void)
|
void CBaseGrenCatch::__MAKE_VHOOK(Think)(void)
|
||||||
{
|
{
|
||||||
// {
|
CGrenade *pGrenade;
|
||||||
// class CGrenade *pGrenade; // 302
|
bool m_fSmokeTouchingLastFrame;
|
||||||
// BOOL m_fSmokeTouchingLastFrame; // 304
|
CBaseEntity *pTrigger;
|
||||||
// class CBaseEntity *pTrigger; // 320
|
Vector vMax, vMin;
|
||||||
// {
|
|
||||||
// class Vector vMax; // 311
|
m_fSmokeTouchingLastFrame = m_fSmokeTouching;
|
||||||
// class Vector vMin; // 311
|
m_fSmokeTouching = false;
|
||||||
// Vector(Vector *const this,
|
pGrenade = NULL;
|
||||||
// float X,
|
|
||||||
// float Y,
|
while (pGrenade = (CGrenade *)UTIL_FindEntityByClassname(pGrenade, "grenade"))
|
||||||
// float Z); // 312
|
{
|
||||||
// Vector(Vector *const this,
|
vMin = pGrenade->pev->mins;
|
||||||
// float X,
|
vMax = pGrenade->pev->maxs;
|
||||||
// float Y,
|
|
||||||
// float Z); // 312
|
UTIL_SetSize(pGrenade->pev, Vector(-8, -8, 0), Vector(8, 8, 0));
|
||||||
// Vector(Vector *const this,
|
|
||||||
// const class Vector &const v); // 311
|
if (pGrenade->Intersects(this) && Q_strstr(STRING(pGrenade->pev->model), "smoke") != NULL)
|
||||||
// Vector(Vector *const this,
|
{
|
||||||
// const class Vector &const v); // 311
|
if (pGrenade->pev->velocity.Length() == 0)
|
||||||
// strstr(const char *__haystack,
|
m_fSmokeTouching = true;
|
||||||
// const char *__needle); // 314
|
}
|
||||||
// Length(const class Vector *const this); // 315
|
|
||||||
// }
|
pGrenade->pev->mins = vMin;
|
||||||
// }
|
pGrenade->pev->maxs = vMax;
|
||||||
|
}
|
||||||
|
|
||||||
|
if ((m_NeedGrenadeType == GRENADETYPE_SMOKE && m_fSmokeTouching && !m_fSmokeTouchingLastFrame)
|
||||||
|
|| (m_NeedGrenadeType == GRENADETYPE_FLASH && m_fFlashTouched))
|
||||||
|
{
|
||||||
|
FireTargets(STRING(sTriggerOnGrenade), this, this, USE_TOGGLE, 0);
|
||||||
|
|
||||||
|
if (m_NeedGrenadeType == GRENADETYPE_SMOKE)
|
||||||
|
{
|
||||||
|
pTrigger = NULL;
|
||||||
|
|
||||||
|
while ((pTrigger = UTIL_FindEntityByTargetname(pTrigger, STRING(sDisableOnGrenade))) != NULL)
|
||||||
|
{
|
||||||
|
// save solid
|
||||||
|
pTrigger->pev->team = pTrigger->pev->solid;
|
||||||
|
pTrigger->pev->solid = SOLID_NOT;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else if (m_NeedGrenadeType == GRENADETYPE_FLASH)
|
||||||
|
pev->flags |= FL_KILLME;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (m_fSmokeTouchingLastFrame && !m_fSmokeTouching)
|
||||||
|
{
|
||||||
|
pTrigger = NULL;
|
||||||
|
|
||||||
|
while (pTrigger = UTIL_FindEntityByTargetname(pTrigger, STRING(sDisableOnGrenade)))
|
||||||
|
{
|
||||||
|
// restore solid
|
||||||
|
pTrigger->pev->solid = pTrigger->pev->team;
|
||||||
|
pTrigger->pev->team = 0;
|
||||||
|
UTIL_SetOrigin(pTrigger->pev, pTrigger->pev->origin);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
pev->nextthink = gpGlobals->time + 0.1f;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* <18ba09> ../cstrike/dlls/training_gamerules.cpp:358 */
|
/* <18ba09> ../cstrike/dlls/training_gamerules.cpp:358 */
|
||||||
NOBODY void CBaseGrenCatch::KeyValue_(KeyValueData *pkvd)
|
void CBaseGrenCatch::__MAKE_VHOOK(KeyValue)(KeyValueData *pkvd)
|
||||||
{
|
{
|
||||||
// FStrEq(const char *sz1,
|
if (FStrEq(pkvd->szKeyName, "triggerongrenade"))
|
||||||
// const char *sz2); // 360
|
{
|
||||||
// FStrEq(const char *sz1,
|
sTriggerOnGrenade = ALLOC_STRING(pkvd->szValue);
|
||||||
// const char *sz2); // 365
|
pkvd->fHandled = TRUE;
|
||||||
// FStrEq(const char *sz1,
|
}
|
||||||
// const char *sz2); // 370
|
else if (FStrEq(pkvd->szKeyName, "disableongrenade"))
|
||||||
// FStrEq(const char *sz1,
|
{
|
||||||
// const char *sz2); // 372
|
sDisableOnGrenade = ALLOC_STRING(pkvd->szValue);
|
||||||
// KeyValue(CBaseEntity *const this,
|
pkvd->fHandled = TRUE;
|
||||||
// KeyValueData *pkvd); // 376
|
}
|
||||||
// FStrEq(const char *sz1,
|
else if (FStrEq(pkvd->szKeyName, "grenadetype"))
|
||||||
// const char *sz2); // 373
|
{
|
||||||
|
if (FStrEq(pkvd->szValue, "smoke"))
|
||||||
|
{
|
||||||
|
m_NeedGrenadeType = GRENADETYPE_SMOKE;
|
||||||
|
pkvd->fHandled = TRUE;
|
||||||
|
}
|
||||||
|
else if (FStrEq(pkvd->szValue, "flash"))
|
||||||
|
{
|
||||||
|
m_NeedGrenadeType = GRENADETYPE_FLASH;
|
||||||
|
pkvd->fHandled = TRUE;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
CBaseEntity::KeyValue(pkvd);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* <18af29> ../cstrike/dlls/training_gamerules.cpp:400 */
|
/* <18af29> ../cstrike/dlls/training_gamerules.cpp:400 */
|
||||||
NOBODY void CFuncWeaponCheck::Spawn_(void)
|
void CFuncWeaponCheck::__MAKE_VHOOK(Spawn)(void)
|
||||||
{
|
{
|
||||||
|
pev->dmgtime = 0;
|
||||||
|
pev->solid = SOLID_TRIGGER;
|
||||||
|
pev->flags |= FL_WORLDBRUSH;
|
||||||
|
pev->solid |= EF_NODRAW;
|
||||||
|
|
||||||
|
SET_MODEL(ENT(pev), STRING(pev->model));
|
||||||
}
|
}
|
||||||
|
|
||||||
/* <18b702> ../cstrike/dlls/training_gamerules.cpp:420 */
|
/* <18b702> ../cstrike/dlls/training_gamerules.cpp:420 */
|
||||||
@ -267,24 +486,91 @@ IMPLEMENT_SAVERESTORE(CFuncWeaponCheck, CBaseEntity);
|
|||||||
LINK_ENTITY_TO_CLASS(func_weaponcheck, CFuncWeaponCheck);
|
LINK_ENTITY_TO_CLASS(func_weaponcheck, CFuncWeaponCheck);
|
||||||
|
|
||||||
/* <18b5f6> ../cstrike/dlls/training_gamerules.cpp:424 */
|
/* <18b5f6> ../cstrike/dlls/training_gamerules.cpp:424 */
|
||||||
NOBODY void CFuncWeaponCheck::Touch_(CBaseEntity *pOther)
|
void CFuncWeaponCheck::__MAKE_VHOOK(Touch)(CBaseEntity *pOther)
|
||||||
{
|
{
|
||||||
// {
|
if (!UTIL_IsMasterTriggered(sMaster, pOther))
|
||||||
// class CBasePlayer *pPlayer; // 430
|
return;
|
||||||
// }
|
|
||||||
// Touch(CFuncWeaponCheck *const this,
|
if (!pOther)
|
||||||
// class CBaseEntity *pOther); // 424
|
return;
|
||||||
|
|
||||||
|
if (!pOther->IsPlayer())
|
||||||
|
return;
|
||||||
|
|
||||||
|
CBasePlayer *pPlayer = (CBasePlayer *)pOther;
|
||||||
|
for (int i = 1; i <= iItemCount; i++)
|
||||||
|
{
|
||||||
|
if (iAnyWeapon)
|
||||||
|
{
|
||||||
|
if (pPlayer->HasNamedPlayerItem(STRING(sItemName[i])))
|
||||||
|
{
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
if (!pPlayer->HasNamedPlayerItem(STRING(sItemName[i])))
|
||||||
|
{
|
||||||
|
if (pev->dmgtime < gpGlobals->time)
|
||||||
|
{
|
||||||
|
if (pev->speed > -1.0f)
|
||||||
|
{
|
||||||
|
FireTargets(STRING(sTriggerNoItems), pOther, pOther, USE_TOGGLE, 0);
|
||||||
|
pev->dmgtime = pev->speed + gpGlobals->time;
|
||||||
|
|
||||||
|
if (!pev->speed)
|
||||||
|
pev->speed = -1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
FireTargets(STRING(sTriggerWithItems), pOther, pOther, USE_TOGGLE, 0);
|
||||||
|
SUB_Remove();
|
||||||
}
|
}
|
||||||
|
|
||||||
/* <18bb28> ../cstrike/dlls/training_gamerules.cpp:462 */
|
/* <18bb28> ../cstrike/dlls/training_gamerules.cpp:462 */
|
||||||
NOBODY void CFuncWeaponCheck::KeyValue_(KeyValueData *pkvd)
|
void CFuncWeaponCheck::__MAKE_VHOOK(KeyValue)(KeyValueData *pkvd)
|
||||||
{
|
{
|
||||||
// FStrEq(const char *sz1,
|
if (FStrEq(pkvd->szKeyName, "trigger_items"))
|
||||||
// const char *sz2); // 464
|
{
|
||||||
// FStrEq(const char *sz1,
|
sTriggerWithItems = ALLOC_STRING(pkvd->szValue);
|
||||||
// const char *sz2); // 469
|
pkvd->fHandled = TRUE;
|
||||||
// KeyValue(CFuncWeaponCheck *const this,
|
}
|
||||||
// KeyValueData *pkvd); // 462
|
else if (FStrEq(pkvd->szKeyName, "trigger_noitems"))
|
||||||
|
{
|
||||||
|
sTriggerNoItems = ALLOC_STRING(pkvd->szValue);
|
||||||
|
pkvd->fHandled = TRUE;
|
||||||
|
}
|
||||||
|
else if (FStrEq(pkvd->szKeyName, "trigger_noitems_delay"))
|
||||||
|
{
|
||||||
|
pev->speed = Q_atof(pkvd->szValue);
|
||||||
|
pkvd->fHandled = TRUE;
|
||||||
|
}
|
||||||
|
else if (Q_strstr(pkvd->szKeyName, "item") != NULL)
|
||||||
|
{
|
||||||
|
if (iItemCount < MAX_ITEM_COUNTS)
|
||||||
|
{
|
||||||
|
sItemName[ iItemCount++ ] = ALLOC_STRING(pkvd->szValue);
|
||||||
|
}
|
||||||
|
|
||||||
|
pkvd->fHandled = TRUE;
|
||||||
|
}
|
||||||
|
else if (FStrEq(pkvd->szKeyName, "master"))
|
||||||
|
{
|
||||||
|
sMaster = ALLOC_STRING(pkvd->szValue);
|
||||||
|
pkvd->fHandled = TRUE;
|
||||||
|
}
|
||||||
|
else if (FStrEq(pkvd->szKeyName, "any_weapon"))
|
||||||
|
{
|
||||||
|
iAnyWeapon = Q_atoi(pkvd->szValue);
|
||||||
|
pkvd->fHandled = TRUE;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
CBaseEntity::KeyValue(pkvd);
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef HOOK_GAMEDLL
|
#ifdef HOOK_GAMEDLL
|
||||||
|
@ -40,22 +40,25 @@ public:
|
|||||||
public:
|
public:
|
||||||
virtual BOOL IsMultiplayer(void)
|
virtual BOOL IsMultiplayer(void)
|
||||||
{
|
{
|
||||||
return FALSE;
|
return IsMultiplayer_();
|
||||||
}
|
}
|
||||||
NOBODY virtual BOOL IsDeathmatch(void);
|
virtual BOOL IsDeathmatch(void);
|
||||||
virtual void InitHUD(CBasePlayer *pl);
|
virtual void InitHUD(CBasePlayer *pl);
|
||||||
virtual void PlayerSpawn(CBasePlayer *pPlayer);
|
virtual void PlayerSpawn(CBasePlayer *pPlayer);
|
||||||
NOBODY virtual void PlayerThink(CBasePlayer *pPlayer);
|
virtual void PlayerThink(CBasePlayer *pPlayer);
|
||||||
NOBODY virtual BOOL FPlayerCanRespawn(CBasePlayer *pPlayer);
|
virtual BOOL FPlayerCanRespawn(CBasePlayer *pPlayer);
|
||||||
virtual edict_t *GetPlayerSpawnSpot(CBasePlayer *pPlayer);
|
virtual edict_t *GetPlayerSpawnSpot(CBasePlayer *pPlayer);
|
||||||
NOBODY virtual void PlayerKilled(CBasePlayer *pVictim, entvars_t *pKiller, entvars_t *pInflictor);
|
virtual void PlayerKilled(CBasePlayer *pVictim, entvars_t *pKiller, entvars_t *pInflictor);
|
||||||
NOBODY virtual int ItemShouldRespawn(CItem *pItem);
|
virtual int ItemShouldRespawn(CItem *pItem);
|
||||||
NOBODY virtual void CheckMapConditions(void) {}
|
virtual void CheckMapConditions(void) { }
|
||||||
NOBODY virtual void CheckWinConditions(void);
|
virtual void CheckWinConditions(void);
|
||||||
|
|
||||||
#ifdef HOOK_GAMEDLL
|
#ifdef HOOK_GAMEDLL
|
||||||
|
|
||||||
//BOOL IsMultiplayer_(void);
|
BOOL IsMultiplayer_(void)
|
||||||
|
{
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
BOOL IsDeathmatch_(void);
|
BOOL IsDeathmatch_(void);
|
||||||
void InitHUD_(CBasePlayer *pl);
|
void InitHUD_(CBasePlayer *pl);
|
||||||
void PlayerSpawn_(CBasePlayer *pPlayer);
|
void PlayerSpawn_(CBasePlayer *pPlayer);
|
||||||
@ -64,7 +67,6 @@ public:
|
|||||||
edict_t *GetPlayerSpawnSpot_(CBasePlayer *pPlayer);
|
edict_t *GetPlayerSpawnSpot_(CBasePlayer *pPlayer);
|
||||||
void PlayerKilled_(CBasePlayer *pVictim, entvars_t *pKiller, entvars_t *pInflictor);
|
void PlayerKilled_(CBasePlayer *pVictim, entvars_t *pKiller, entvars_t *pInflictor);
|
||||||
int ItemShouldRespawn_(CItem *pItem);
|
int ItemShouldRespawn_(CItem *pItem);
|
||||||
//void CheckMapConditions_(void) {}
|
|
||||||
void CheckWinConditions_(void);
|
void CheckWinConditions_(void);
|
||||||
|
|
||||||
#endif // HOOK_GAMEDLL
|
#endif // HOOK_GAMEDLL
|
||||||
@ -72,7 +74,8 @@ public:
|
|||||||
public:
|
public:
|
||||||
static void HostageDied(void);
|
static void HostageDied(void);
|
||||||
static bool PlayerCanBuy(CBasePlayer *pPlayer);
|
static bool PlayerCanBuy(CBasePlayer *pPlayer);
|
||||||
private:
|
|
||||||
|
//private:
|
||||||
float FillAccountTime;
|
float FillAccountTime;
|
||||||
float ServerRestartTime;
|
float ServerRestartTime;
|
||||||
BOOL fInBuyArea;
|
BOOL fInBuyArea;
|
||||||
@ -85,16 +88,16 @@ private:
|
|||||||
class CBaseGrenCatch: public CBaseEntity
|
class CBaseGrenCatch: public CBaseEntity
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
NOBODY virtual void Spawn(void);
|
virtual void Spawn(void);
|
||||||
NOBODY virtual void KeyValue(KeyValueData *pkvd);
|
virtual void KeyValue(KeyValueData *pkvd);
|
||||||
NOBODY virtual int Save(CSave &save);
|
virtual int Save(CSave &save);
|
||||||
NOBODY virtual int Restore(CRestore &restore);
|
virtual int Restore(CRestore &restore);
|
||||||
NOBODY virtual int ObjectCaps(void)
|
virtual int ObjectCaps(void)
|
||||||
{
|
{
|
||||||
return ObjectCaps_();
|
return ObjectCaps_();
|
||||||
}
|
}
|
||||||
NOBODY virtual void Think(void);
|
virtual void Think(void);
|
||||||
NOBODY virtual void Touch(CBaseEntity *pOther);
|
virtual void Touch(CBaseEntity *pOther);
|
||||||
|
|
||||||
#ifdef HOOK_GAMEDLL
|
#ifdef HOOK_GAMEDLL
|
||||||
|
|
||||||
@ -126,11 +129,11 @@ public:
|
|||||||
class CFuncWeaponCheck: public CBaseEntity
|
class CFuncWeaponCheck: public CBaseEntity
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
NOBODY virtual void Spawn(void);
|
virtual void Spawn(void);
|
||||||
NOBODY virtual void KeyValue(KeyValueData *pkvd);
|
virtual void KeyValue(KeyValueData *pkvd);
|
||||||
NOBODY virtual int Save(CSave &save);
|
virtual int Save(CSave &save);
|
||||||
NOBODY virtual int Restore(CRestore &restore);
|
virtual int Restore(CRestore &restore);
|
||||||
NOBODY virtual void Touch(CBaseEntity *pOther);
|
virtual void Touch(CBaseEntity *pOther);
|
||||||
|
|
||||||
#ifdef HOOK_GAMEDLL
|
#ifdef HOOK_GAMEDLL
|
||||||
|
|
||||||
@ -155,4 +158,8 @@ private:
|
|||||||
|
|
||||||
};/* size: 300, cachelines: 5, members: 8 */
|
};/* size: 300, cachelines: 5, members: 8 */
|
||||||
|
|
||||||
|
// linked objects
|
||||||
|
C_DLLEXPORT void func_grencatch(entvars_t *pev);
|
||||||
|
C_DLLEXPORT void func_weaponcheck(entvars_t *pev);
|
||||||
|
|
||||||
#endif // TRAINING_GAMERULES_H
|
#endif // TRAINING_GAMERULES_H
|
||||||
|
@ -78,7 +78,7 @@ LINK_ENTITY_TO_CLASS(func_friction, CFrictionModifier);
|
|||||||
IMPLEMENT_SAVERESTORE(CFrictionModifier, CBaseEntity);
|
IMPLEMENT_SAVERESTORE(CFrictionModifier, CBaseEntity);
|
||||||
|
|
||||||
/* <19fa7d> ../cstrike/dlls/triggers.cpp:72 */
|
/* <19fa7d> ../cstrike/dlls/triggers.cpp:72 */
|
||||||
NOBODY void CFrictionModifier::Spawn_(void)
|
NOBODY void CFrictionModifier::__MAKE_VHOOK(Spawn)(void)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -88,7 +88,7 @@ NOBODY void CFrictionModifier::ChangeFriction(CBaseEntity *pOther)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* <1a1c39> ../cstrike/dlls/triggers.cpp:91 */
|
/* <1a1c39> ../cstrike/dlls/triggers.cpp:91 */
|
||||||
NOBODY void CFrictionModifier::KeyValue_(KeyValueData *pkvd)
|
NOBODY void CFrictionModifier::__MAKE_VHOOK(KeyValue)(KeyValueData *pkvd)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -99,7 +99,7 @@ LINK_ENTITY_TO_CLASS(trigger_auto, CAutoTrigger);
|
|||||||
IMPLEMENT_SAVERESTORE(CAutoTrigger, CBaseDelay);
|
IMPLEMENT_SAVERESTORE(CAutoTrigger, CBaseDelay);
|
||||||
|
|
||||||
/* <1a1b64> ../cstrike/dlls/triggers.cpp:136 */
|
/* <1a1b64> ../cstrike/dlls/triggers.cpp:136 */
|
||||||
NOBODY void CAutoTrigger::KeyValue_(KeyValueData *pkvd)
|
NOBODY void CAutoTrigger::__MAKE_VHOOK(KeyValue)(KeyValueData *pkvd)
|
||||||
{
|
{
|
||||||
// FStrEq(const char *sz1,
|
// FStrEq(const char *sz1,
|
||||||
// const char *sz2); // 138
|
// const char *sz2); // 138
|
||||||
@ -114,17 +114,17 @@ NOBODY void CAutoTrigger::KeyValue_(KeyValueData *pkvd)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* <19fb05> ../cstrike/dlls/triggers.cpp:165 */
|
/* <19fb05> ../cstrike/dlls/triggers.cpp:165 */
|
||||||
NOBODY void CAutoTrigger::Spawn_(void)
|
NOBODY void CAutoTrigger::__MAKE_VHOOK(Spawn)(void)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
/* <19fb2d> ../cstrike/dlls/triggers.cpp:171 */
|
/* <19fb2d> ../cstrike/dlls/triggers.cpp:171 */
|
||||||
NOBODY void CAutoTrigger::Precache_(void)
|
NOBODY void CAutoTrigger::__MAKE_VHOOK(Precache)(void)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
/* <19d48c> ../cstrike/dlls/triggers.cpp:177 */
|
/* <19d48c> ../cstrike/dlls/triggers.cpp:177 */
|
||||||
NOBODY void CAutoTrigger::Think_(void)
|
NOBODY void CAutoTrigger::__MAKE_VHOOK(Think)(void)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -135,7 +135,7 @@ LINK_ENTITY_TO_CLASS(trigger_relay, CTriggerRelay);
|
|||||||
IMPLEMENT_SAVERESTORE(CTriggerRelay, CBaseDelay);
|
IMPLEMENT_SAVERESTORE(CTriggerRelay, CBaseDelay);
|
||||||
|
|
||||||
/* <1a1abc> ../cstrike/dlls/triggers.cpp:216 */
|
/* <1a1abc> ../cstrike/dlls/triggers.cpp:216 */
|
||||||
NOBODY void CTriggerRelay::KeyValue_(KeyValueData *pkvd)
|
NOBODY void CTriggerRelay::__MAKE_VHOOK(KeyValue)(KeyValueData *pkvd)
|
||||||
{
|
{
|
||||||
// FStrEq(const char *sz1,
|
// FStrEq(const char *sz1,
|
||||||
// const char *sz2); // 218
|
// const char *sz2); // 218
|
||||||
@ -144,12 +144,12 @@ NOBODY void CTriggerRelay::KeyValue_(KeyValueData *pkvd)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* <19fb7e> ../cstrike/dlls/triggers.cpp:240 */
|
/* <19fb7e> ../cstrike/dlls/triggers.cpp:240 */
|
||||||
NOBODY void CTriggerRelay::Spawn_(void)
|
NOBODY void CTriggerRelay::__MAKE_VHOOK(Spawn)(void)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
/* <1a01d7> ../cstrike/dlls/triggers.cpp:247 */
|
/* <1a01d7> ../cstrike/dlls/triggers.cpp:247 */
|
||||||
NOBODY void CTriggerRelay::Use_(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value)
|
NOBODY void CTriggerRelay::__MAKE_VHOOK(Use)(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -160,7 +160,7 @@ LINK_ENTITY_TO_CLASS(multi_manager, CMultiManager);
|
|||||||
IMPLEMENT_SAVERESTORE(CMultiManager, CBaseToggle);
|
IMPLEMENT_SAVERESTORE(CMultiManager, CBaseToggle);
|
||||||
|
|
||||||
/* <1a19ed> ../cstrike/dlls/triggers.cpp:318 */
|
/* <1a19ed> ../cstrike/dlls/triggers.cpp:318 */
|
||||||
NOBODY void CMultiManager::KeyValue_(KeyValueData *pkvd)
|
NOBODY void CMultiManager::__MAKE_VHOOK(KeyValue)(KeyValueData *pkvd)
|
||||||
{
|
{
|
||||||
// FStrEq(const char *sz1,
|
// FStrEq(const char *sz1,
|
||||||
// const char *sz2); // 325
|
// const char *sz2); // 325
|
||||||
@ -173,7 +173,7 @@ NOBODY void CMultiManager::KeyValue_(KeyValueData *pkvd)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* <19fbce> ../cstrike/dlls/triggers.cpp:347 */
|
/* <19fbce> ../cstrike/dlls/triggers.cpp:347 */
|
||||||
NOBODY void CMultiManager::Spawn_(void)
|
NOBODY void CMultiManager::__MAKE_VHOOK(Spawn)(void)
|
||||||
{
|
{
|
||||||
// {
|
// {
|
||||||
// int swapped; // 355
|
// int swapped; // 355
|
||||||
@ -188,7 +188,7 @@ NOBODY void CMultiManager::Spawn_(void)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* <1a03e5> ../cstrike/dlls/triggers.cpp:377 */
|
/* <1a03e5> ../cstrike/dlls/triggers.cpp:377 */
|
||||||
NOBODY void CMultiManager::Restart_(void)
|
NOBODY void CMultiManager::__MAKE_VHOOK(Restart)(void)
|
||||||
{
|
{
|
||||||
// {
|
// {
|
||||||
// int i; // 379
|
// int i; // 379
|
||||||
@ -206,7 +206,7 @@ NOBODY void CMultiManager::Restart_(void)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* <1a1402> ../cstrike/dlls/triggers.cpp:420 */
|
/* <1a1402> ../cstrike/dlls/triggers.cpp:420 */
|
||||||
NOBODY BOOL CMultiManager::HasTarget_(string_t targetname)
|
NOBODY BOOL CMultiManager::__MAKE_VHOOK(HasTarget)(string_t targetname)
|
||||||
{
|
{
|
||||||
// {
|
// {
|
||||||
// int i; // 422
|
// int i; // 422
|
||||||
@ -230,12 +230,12 @@ NOBODY CMultiManager *CMultiManager::Clone(void)
|
|||||||
CMultiManager *pMulti = GetClassPtr((CMultiManager *)NULL);
|
CMultiManager *pMulti = GetClassPtr((CMultiManager *)NULL);
|
||||||
edict_t *pEdict = pMulti->pev->pContainingEntity;
|
edict_t *pEdict = pMulti->pev->pContainingEntity;
|
||||||
|
|
||||||
memcpy(pMulti->pev, pev, sizeof(*pev));
|
Q_memcpy(pMulti->pev, pev, sizeof(*pev));
|
||||||
pMulti->pev->pContainingEntity = pEdict;
|
pMulti->pev->pContainingEntity = pEdict;
|
||||||
pMulti->pev->spawnflags |= SF_MULTIMAN_CLONE;
|
pMulti->pev->spawnflags |= SF_MULTIMAN_CLONE;
|
||||||
pMulti->m_cTargets = m_cTargets;
|
pMulti->m_cTargets = m_cTargets;
|
||||||
memcpy(pMulti->m_iTargetName, m_iTargetName, sizeof(m_iTargetName));
|
Q_memcpy(pMulti->m_iTargetName, m_iTargetName, sizeof(m_iTargetName));
|
||||||
memcpy(pMulti->m_flTargetDelay, m_flTargetDelay, sizeof(m_flTargetDelay));
|
Q_memcpy(pMulti->m_flTargetDelay, m_flTargetDelay, sizeof(m_flTargetDelay));
|
||||||
return pMulti;
|
return pMulti;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -252,12 +252,12 @@ NOBODY void CMultiManager::ManagerUse(CBaseEntity *pActivator, CBaseEntity *pCal
|
|||||||
LINK_ENTITY_TO_CLASS(env_render, CRenderFxManager);
|
LINK_ENTITY_TO_CLASS(env_render, CRenderFxManager);
|
||||||
|
|
||||||
/* <19fc52> ../cstrike/dlls/triggers.cpp:535 */
|
/* <19fc52> ../cstrike/dlls/triggers.cpp:535 */
|
||||||
NOBODY void CRenderFxManager::Spawn_(void)
|
NOBODY void CRenderFxManager::__MAKE_VHOOK(Spawn)(void)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
/* <1a0c95> ../cstrike/dlls/triggers.cpp:540 */
|
/* <1a0c95> ../cstrike/dlls/triggers.cpp:540 */
|
||||||
NOBODY void CRenderFxManager::Use_(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value)
|
NOBODY void CRenderFxManager::__MAKE_VHOOK(Use)(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value)
|
||||||
{
|
{
|
||||||
// Use(class CRenderFxManager *const this,
|
// Use(class CRenderFxManager *const this,
|
||||||
// class CBaseEntity *pActivator,
|
// class CBaseEntity *pActivator,
|
||||||
@ -277,7 +277,7 @@ NOBODY void CBaseTrigger::InitTrigger(void)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* <1a17cf> ../cstrike/dlls/triggers.cpp:608 */
|
/* <1a17cf> ../cstrike/dlls/triggers.cpp:608 */
|
||||||
NOBODY void CBaseTrigger::KeyValue_(KeyValueData *pkvd)
|
NOBODY void CBaseTrigger::__MAKE_VHOOK(KeyValue)(KeyValueData *pkvd)
|
||||||
{
|
{
|
||||||
// FStrEq(const char *sz1,
|
// FStrEq(const char *sz1,
|
||||||
// const char *sz2); // 610
|
// const char *sz2); // 610
|
||||||
@ -296,18 +296,18 @@ LINK_ENTITY_TO_CLASS(trigger_hurt, CTriggerHurt);
|
|||||||
LINK_ENTITY_TO_CLASS(trigger_monsterjump, CTriggerMonsterJump);
|
LINK_ENTITY_TO_CLASS(trigger_monsterjump, CTriggerMonsterJump);
|
||||||
|
|
||||||
/* <1a2fdc> ../cstrike/dlls/triggers.cpp:652 */
|
/* <1a2fdc> ../cstrike/dlls/triggers.cpp:652 */
|
||||||
NOBODY void CTriggerMonsterJump::Spawn_(void)
|
NOBODY void CTriggerMonsterJump::__MAKE_VHOOK(Spawn)(void)
|
||||||
{
|
{
|
||||||
// Spawn(class CTriggerMonsterJump *const this); // 652
|
// Spawn(class CTriggerMonsterJump *const this); // 652
|
||||||
}
|
}
|
||||||
|
|
||||||
/* <1a00e4> ../cstrike/dlls/triggers.cpp:671 */
|
/* <1a00e4> ../cstrike/dlls/triggers.cpp:671 */
|
||||||
NOBODY void CTriggerMonsterJump::Think_(void)
|
NOBODY void CTriggerMonsterJump::__MAKE_VHOOK(Think)(void)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
/* <19fca2> ../cstrike/dlls/triggers.cpp:678 */
|
/* <19fca2> ../cstrike/dlls/triggers.cpp:678 */
|
||||||
NOBODY void CTriggerMonsterJump::Touch_(CBaseEntity *pOther)
|
NOBODY void CTriggerMonsterJump::__MAKE_VHOOK(Touch)(CBaseEntity *pOther)
|
||||||
{
|
{
|
||||||
// {
|
// {
|
||||||
// entvars_t *pevOther; // 680
|
// entvars_t *pevOther; // 680
|
||||||
@ -320,18 +320,18 @@ NOBODY void CTriggerMonsterJump::Touch_(CBaseEntity *pOther)
|
|||||||
LINK_ENTITY_TO_CLASS(trigger_cdaudio, CTriggerCDAudio);
|
LINK_ENTITY_TO_CLASS(trigger_cdaudio, CTriggerCDAudio);
|
||||||
|
|
||||||
/* <1a2382> ../cstrike/dlls/triggers.cpp:721 */
|
/* <1a2382> ../cstrike/dlls/triggers.cpp:721 */
|
||||||
NOBODY void CTriggerCDAudio::Touch_(CBaseEntity *pOther)
|
NOBODY void CTriggerCDAudio::__MAKE_VHOOK(Touch)(CBaseEntity *pOther)
|
||||||
{
|
{
|
||||||
// PlayTrack(class CTriggerCDAudio *const this); // 728
|
// PlayTrack(class CTriggerCDAudio *const this); // 728
|
||||||
}
|
}
|
||||||
|
|
||||||
/* <1a2fb4> ../cstrike/dlls/triggers.cpp:731 */
|
/* <1a2fb4> ../cstrike/dlls/triggers.cpp:731 */
|
||||||
NOBODY void CTriggerCDAudio::Spawn_(void)
|
NOBODY void CTriggerCDAudio::__MAKE_VHOOK(Spawn)(void)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
/* <1a2288> ../cstrike/dlls/triggers.cpp:736 */
|
/* <1a2288> ../cstrike/dlls/triggers.cpp:736 */
|
||||||
NOBODY void CTriggerCDAudio::Use_(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value)
|
NOBODY void CTriggerCDAudio::__MAKE_VHOOK(Use)(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value)
|
||||||
{
|
{
|
||||||
// PlayTrack(class CTriggerCDAudio *const this); // 738
|
// PlayTrack(class CTriggerCDAudio *const this); // 738
|
||||||
}
|
}
|
||||||
@ -357,7 +357,7 @@ NOBODY void CTriggerCDAudio::PlayTrack(void)
|
|||||||
LINK_ENTITY_TO_CLASS(target_cdaudio, CTargetCDAudio);
|
LINK_ENTITY_TO_CLASS(target_cdaudio, CTargetCDAudio);
|
||||||
|
|
||||||
/* <1a170f> ../cstrike/dlls/triggers.cpp:796 */
|
/* <1a170f> ../cstrike/dlls/triggers.cpp:796 */
|
||||||
NOBODY void CTargetCDAudio::KeyValue_(KeyValueData *pkvd)
|
NOBODY void CTargetCDAudio::__MAKE_VHOOK(KeyValue)(KeyValueData *pkvd)
|
||||||
{
|
{
|
||||||
// FStrEq(const char *sz1,
|
// FStrEq(const char *sz1,
|
||||||
// const char *sz2); // 798
|
// const char *sz2); // 798
|
||||||
@ -368,19 +368,19 @@ NOBODY void CTargetCDAudio::KeyValue_(KeyValueData *pkvd)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* <1a066a> ../cstrike/dlls/triggers.cpp:807 */
|
/* <1a066a> ../cstrike/dlls/triggers.cpp:807 */
|
||||||
NOBODY void CTargetCDAudio::Spawn_(void)
|
NOBODY void CTargetCDAudio::__MAKE_VHOOK(Spawn)(void)
|
||||||
{
|
{
|
||||||
// Spawn(class CTargetCDAudio *const this); // 807
|
// Spawn(class CTargetCDAudio *const this); // 807
|
||||||
}
|
}
|
||||||
|
|
||||||
/* <1a2175> ../cstrike/dlls/triggers.cpp:816 */
|
/* <1a2175> ../cstrike/dlls/triggers.cpp:816 */
|
||||||
NOBODY void CTargetCDAudio::Use_(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value)
|
NOBODY void CTargetCDAudio::__MAKE_VHOOK(Use)(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value)
|
||||||
{
|
{
|
||||||
// Play(class CTargetCDAudio *const this); // 818
|
// Play(class CTargetCDAudio *const this); // 818
|
||||||
}
|
}
|
||||||
|
|
||||||
/* <1a2465> ../cstrike/dlls/triggers.cpp:822 */
|
/* <1a2465> ../cstrike/dlls/triggers.cpp:822 */
|
||||||
NOBODY void CTargetCDAudio::Think_(void)
|
NOBODY void CTargetCDAudio::__MAKE_VHOOK(Think)(void)
|
||||||
{
|
{
|
||||||
// {
|
// {
|
||||||
// edict_t *pClient; // 824
|
// edict_t *pClient; // 824
|
||||||
@ -398,7 +398,7 @@ NOBODY void CTargetCDAudio::Play(void)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* <1a2f8b> ../cstrike/dlls/triggers.cpp:853 */
|
/* <1a2f8b> ../cstrike/dlls/triggers.cpp:853 */
|
||||||
NOBODY void CTriggerHurt::Spawn_(void)
|
NOBODY void CTriggerHurt::__MAKE_VHOOK(Spawn)(void)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -427,7 +427,7 @@ NOBODY void CBaseTrigger::HurtTouch(CBaseEntity *pOther)
|
|||||||
LINK_ENTITY_TO_CLASS(trigger_multiple, CTriggerMultiple);
|
LINK_ENTITY_TO_CLASS(trigger_multiple, CTriggerMultiple);
|
||||||
|
|
||||||
/* <1a2f67> ../cstrike/dlls/triggers.cpp:1089 */
|
/* <1a2f67> ../cstrike/dlls/triggers.cpp:1089 */
|
||||||
NOBODY void CTriggerMultiple::Spawn_(void)
|
NOBODY void CTriggerMultiple::__MAKE_VHOOK(Spawn)(void)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -435,7 +435,7 @@ NOBODY void CTriggerMultiple::Spawn_(void)
|
|||||||
LINK_ENTITY_TO_CLASS(trigger_once, CTriggerOnce);
|
LINK_ENTITY_TO_CLASS(trigger_once, CTriggerOnce);
|
||||||
|
|
||||||
/* <1a301c> ../cstrike/dlls/triggers.cpp:1136 */
|
/* <1a301c> ../cstrike/dlls/triggers.cpp:1136 */
|
||||||
NOBODY void CTriggerOnce::Spawn_(void)
|
NOBODY void CTriggerOnce::__MAKE_VHOOK(Spawn)(void)
|
||||||
{
|
{
|
||||||
// Spawn(class CTriggerMultiple *const this); // 1140
|
// Spawn(class CTriggerMultiple *const this); // 1140
|
||||||
}
|
}
|
||||||
@ -479,7 +479,7 @@ NOBODY void CBaseTrigger::CounterUse(CBaseEntity *pActivator, CBaseEntity *pCall
|
|||||||
LINK_ENTITY_TO_CLASS(trigger_counter, CTriggerCounter);
|
LINK_ENTITY_TO_CLASS(trigger_counter, CTriggerCounter);
|
||||||
|
|
||||||
/* <19fd42> ../cstrike/dlls/triggers.cpp:1280 */
|
/* <19fd42> ../cstrike/dlls/triggers.cpp:1280 */
|
||||||
NOBODY void CTriggerCounter::Spawn_(void)
|
NOBODY void CTriggerCounter::__MAKE_VHOOK(Spawn)(void)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -487,7 +487,7 @@ NOBODY void CTriggerCounter::Spawn_(void)
|
|||||||
LINK_ENTITY_TO_CLASS(trigger_transition, CTriggerVolume);
|
LINK_ENTITY_TO_CLASS(trigger_transition, CTriggerVolume);
|
||||||
|
|
||||||
/* <19fd6a> ../cstrike/dlls/triggers.cpp:1302 */
|
/* <19fd6a> ../cstrike/dlls/triggers.cpp:1302 */
|
||||||
NOBODY void CTriggerVolume::Spawn_(void)
|
NOBODY void CTriggerVolume::__MAKE_VHOOK(Spawn)(void)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -495,19 +495,19 @@ NOBODY void CTriggerVolume::Spawn_(void)
|
|||||||
LINK_ENTITY_TO_CLASS(fireanddie, CFireAndDie);
|
LINK_ENTITY_TO_CLASS(fireanddie, CFireAndDie);
|
||||||
|
|
||||||
/* <1a0618> ../cstrike/dlls/triggers.cpp:1323 */
|
/* <1a0618> ../cstrike/dlls/triggers.cpp:1323 */
|
||||||
NOBODY void CFireAndDie::Spawn_(void)
|
NOBODY void CFireAndDie::__MAKE_VHOOK(Spawn)(void)
|
||||||
{
|
{
|
||||||
// MAKE_STRING_CLASS(const char *str,
|
// MAKE_STRING_CLASS(const char *str,
|
||||||
// entvars_t *pev); // 1325
|
// entvars_t *pev); // 1325
|
||||||
}
|
}
|
||||||
|
|
||||||
/* <19fdbb> ../cstrike/dlls/triggers.cpp:1330 */
|
/* <19fdbb> ../cstrike/dlls/triggers.cpp:1330 */
|
||||||
NOBODY void CFireAndDie::Precache_(void)
|
NOBODY void CFireAndDie::__MAKE_VHOOK(Precache)(void)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
/* <1a01ae> ../cstrike/dlls/triggers.cpp:1337 */
|
/* <1a01ae> ../cstrike/dlls/triggers.cpp:1337 */
|
||||||
NOBODY void CFireAndDie::Think_(void)
|
NOBODY void CFireAndDie::__MAKE_VHOOK(Think)(void)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -518,7 +518,7 @@ LINK_ENTITY_TO_CLASS(trigger_changelevel, CChangeLevel);
|
|||||||
IMPLEMENT_SAVERESTORE(CChangeLevel, CBaseTrigger);
|
IMPLEMENT_SAVERESTORE(CChangeLevel, CBaseTrigger);
|
||||||
|
|
||||||
/* <1a1d4a> ../cstrike/dlls/triggers.cpp:1388 */
|
/* <1a1d4a> ../cstrike/dlls/triggers.cpp:1388 */
|
||||||
NOBODY void CChangeLevel::KeyValue_(KeyValueData *pkvd)
|
NOBODY void CChangeLevel::__MAKE_VHOOK(KeyValue)(KeyValueData *pkvd)
|
||||||
{
|
{
|
||||||
// FStrEq(const char *sz1,
|
// FStrEq(const char *sz1,
|
||||||
// const char *sz2); // 1390
|
// const char *sz2); // 1390
|
||||||
@ -527,7 +527,7 @@ NOBODY void CChangeLevel::KeyValue_(KeyValueData *pkvd)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* <1a2f25> ../cstrike/dlls/triggers.cpp:1423 */
|
/* <1a2f25> ../cstrike/dlls/triggers.cpp:1423 */
|
||||||
NOBODY void CChangeLevel::Spawn_(void)
|
NOBODY void CChangeLevel::__MAKE_VHOOK(Spawn)(void)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -545,7 +545,7 @@ NOBODY void CChangeLevel::ExecuteChangeLevel(void)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* <1a3b43> ../cstrike/dlls/triggers.cpp:1456 */
|
/* <1a3b43> ../cstrike/dlls/triggers.cpp:1456 */
|
||||||
NOXREF edict_t *CChangeLevel::FindLandmark(const char *pLandmarkName)
|
edict_t *CChangeLevel::FindLandmark(const char *pLandmarkName)
|
||||||
{
|
{
|
||||||
edict_t *pentLandmark = FIND_ENTITY_BY_STRING(NULL, "targetname", pLandmarkName);
|
edict_t *pentLandmark = FIND_ENTITY_BY_STRING(NULL, "targetname", pLandmarkName);
|
||||||
while (!FNullEnt(pentLandmark))
|
while (!FNullEnt(pentLandmark))
|
||||||
@ -556,6 +556,7 @@ NOXREF edict_t *CChangeLevel::FindLandmark(const char *pLandmarkName)
|
|||||||
else
|
else
|
||||||
pentLandmark = FIND_ENTITY_BY_STRING(pentLandmark, "targetname", pLandmarkName);
|
pentLandmark = FIND_ENTITY_BY_STRING(pentLandmark, "targetname", pLandmarkName);
|
||||||
}
|
}
|
||||||
|
|
||||||
ALERT(at_error, "Can't find landmark %s\n", pLandmarkName);
|
ALERT(at_error, "Can't find landmark %s\n", pLandmarkName);
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
@ -595,12 +596,34 @@ NOBODY void CChangeLevel::TouchChangeLevel(CBaseEntity *pOther)
|
|||||||
// class CBaseEntity *pActivator); // 1550
|
// class CBaseEntity *pActivator); // 1550
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Add a transition to the list, but ignore duplicates
|
||||||
|
// (a designer may have placed multiple trigger_changelevels with the same landmark)
|
||||||
|
|
||||||
/* <1a3ff8> ../cstrike/dlls/triggers.cpp:1556 */
|
/* <1a3ff8> ../cstrike/dlls/triggers.cpp:1556 */
|
||||||
NOBODY int CChangeLevel::AddTransitionToList(LEVELLIST *pLevelList, int listCount, const char *pMapName, const char *pLandmarkName, edict_t *pentLandmark)
|
int CChangeLevel::AddTransitionToList(LEVELLIST *pLevelList, int listCount, const char *pMapName, const char *pLandmarkName, edict_t *pentLandmark)
|
||||||
{
|
{
|
||||||
// {
|
int i;
|
||||||
// int i; // 1558
|
|
||||||
// }
|
if (!pLevelList || !pMapName || !pLandmarkName || !pentLandmark)
|
||||||
|
{
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
for (i = 0; i < listCount; i++)
|
||||||
|
{
|
||||||
|
if (pLevelList[i].pentLandmark == pentLandmark && Q_strcmp(pLevelList[i].mapName, pMapName) == 0)
|
||||||
|
{
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
Q_strcpy(pLevelList[ listCount ].mapName, pMapName);
|
||||||
|
Q_strcpy(pLevelList[ listCount ].landmarkName, pLandmarkName);
|
||||||
|
|
||||||
|
pLevelList[ listCount ].pentLandmark = pentLandmark;
|
||||||
|
pLevelList[ listCount ].vecLandmarkOrigin = VARS(pentLandmark)->origin;
|
||||||
|
|
||||||
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* <1a44ba> ../cstrike/dlls/triggers.cpp:1576 */
|
/* <1a44ba> ../cstrike/dlls/triggers.cpp:1576 */
|
||||||
@ -610,16 +633,57 @@ NOBODY int BuildChangeList(LEVELLIST *pLevelList, int maxList)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* <1a4075> ../cstrike/dlls/triggers.cpp:1582 */
|
/* <1a4075> ../cstrike/dlls/triggers.cpp:1582 */
|
||||||
NOBODY int CChangeLevel::InTransitionVolume(CBaseEntity *pEntity, char *pVolumeName)
|
int CChangeLevel::InTransitionVolume(CBaseEntity *pEntity, char *pVolumeName)
|
||||||
{
|
{
|
||||||
// {
|
edict_t *pentVolume;
|
||||||
// edict_t *pentVolume; // 1584
|
|
||||||
// int inVolume; // 1597
|
if (pEntity->ObjectCaps() & FCAP_FORCE_TRANSITION)
|
||||||
// }
|
{
|
||||||
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// If you're following another entity, follow it through the transition (weapons follow the player)
|
||||||
|
if (pEntity->pev->movetype == MOVETYPE_FOLLOW)
|
||||||
|
{
|
||||||
|
if (pEntity->pev->aiment != NULL)
|
||||||
|
{
|
||||||
|
pEntity = CBaseEntity::Instance(pEntity->pev->aiment);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Unless we find a trigger_transition, everything is in the volume
|
||||||
|
int inVolume = 1;
|
||||||
|
|
||||||
|
pentVolume = FIND_ENTITY_BY_TARGETNAME(NULL, pVolumeName);
|
||||||
|
while (!FNullEnt(pentVolume))
|
||||||
|
{
|
||||||
|
CBaseEntity *pVolume = CBaseEntity::Instance(pentVolume);
|
||||||
|
|
||||||
|
if (pVolume && FClassnameIs(pVolume->pev, "trigger_transition"))
|
||||||
|
{
|
||||||
|
// It touches one, it's in the volume
|
||||||
|
if (pVolume->Intersects(pEntity))
|
||||||
|
return 1;
|
||||||
|
else
|
||||||
|
{
|
||||||
|
// Found a trigger_transition, but I don't intersect it -- if I don't find another, don't go!
|
||||||
|
inVolume = 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
pentVolume = FIND_ENTITY_BY_TARGETNAME(pentVolume, pVolumeName);
|
||||||
|
}
|
||||||
|
|
||||||
|
return inVolume;
|
||||||
|
}
|
||||||
|
|
||||||
|
// This has grown into a complicated beast
|
||||||
|
// Can we make this more elegant?
|
||||||
|
// This builds the list of all transitions on this level and which entities are in their PVS's and can / should
|
||||||
|
// be moved across.
|
||||||
|
|
||||||
/* <1a40b1> ../cstrike/dlls/triggers.cpp:1625 */
|
/* <1a40b1> ../cstrike/dlls/triggers.cpp:1625 */
|
||||||
NOBODY int CChangeLevel::ChangeList(LEVELLIST *pLevelList, int maxList)
|
int CChangeLevel::ChangeList(LEVELLIST *pLevelList, int maxList)
|
||||||
{
|
{
|
||||||
edict_t *pentChangelevel, *pentLandmark;
|
edict_t *pentChangelevel, *pentLandmark;
|
||||||
int i, count = 0;
|
int i, count = 0;
|
||||||
@ -634,7 +698,7 @@ NOBODY int CChangeLevel::ChangeList(LEVELLIST *pLevelList, int maxList)
|
|||||||
{
|
{
|
||||||
CChangeLevel *pTrigger = GetClassPtr((CChangeLevel *)VARS(pentChangelevel));
|
CChangeLevel *pTrigger = GetClassPtr((CChangeLevel *)VARS(pentChangelevel));
|
||||||
|
|
||||||
if (pTrigger)
|
if (pTrigger != NULL)
|
||||||
{
|
{
|
||||||
// Find the corresponding landmark
|
// Find the corresponding landmark
|
||||||
pentLandmark = FindLandmark(pTrigger->m_szLandmarkName);
|
pentLandmark = FindLandmark(pTrigger->m_szLandmarkName);
|
||||||
@ -645,11 +709,13 @@ NOBODY int CChangeLevel::ChangeList(LEVELLIST *pLevelList, int maxList)
|
|||||||
{
|
{
|
||||||
count++;
|
count++;
|
||||||
|
|
||||||
|
// FULL!!
|
||||||
if (count >= maxList)
|
if (count >= maxList)
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
pentChangelevel = FIND_ENTITY_BY_STRING(pentChangelevel, "classname", "trigger_changelevel");
|
pentChangelevel = FIND_ENTITY_BY_STRING(pentChangelevel, "classname", "trigger_changelevel");
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -692,10 +758,12 @@ NOBODY int CChangeLevel::ChangeList(LEVELLIST *pLevelList, int maxList)
|
|||||||
entityCount++;
|
entityCount++;
|
||||||
|
|
||||||
if (entityCount > MAX_ENTITY)
|
if (entityCount > MAX_ENTITY)
|
||||||
|
{
|
||||||
ALERT( at_error, "Too many entities across a transition!" );
|
ALERT( at_error, "Too many entities across a transition!" );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
pent = pent->v.chain;
|
pent = pent->v.chain;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -735,17 +803,17 @@ NOBODY void NextLevel(void)
|
|||||||
LINK_ENTITY_TO_CLASS(func_ladder, CLadder);
|
LINK_ENTITY_TO_CLASS(func_ladder, CLadder);
|
||||||
|
|
||||||
/* <1a1937> ../cstrike/dlls/triggers.cpp:1763 */
|
/* <1a1937> ../cstrike/dlls/triggers.cpp:1763 */
|
||||||
NOBODY void CLadder::KeyValue_(KeyValueData *pkvd)
|
NOBODY void CLadder::__MAKE_VHOOK(KeyValue)(KeyValueData *pkvd)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
/* <19fe6c> ../cstrike/dlls/triggers.cpp:1772 */
|
/* <19fe6c> ../cstrike/dlls/triggers.cpp:1772 */
|
||||||
NOBODY void CLadder::Precache_(void)
|
NOBODY void CLadder::__MAKE_VHOOK(Precache)(void)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
/* <19fe95> ../cstrike/dlls/triggers.cpp:1786 */
|
/* <19fe95> ../cstrike/dlls/triggers.cpp:1786 */
|
||||||
NOBODY void CLadder::Spawn_(void)
|
NOBODY void CLadder::__MAKE_VHOOK(Spawn)(void)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -753,19 +821,19 @@ NOBODY void CLadder::Spawn_(void)
|
|||||||
LINK_ENTITY_TO_CLASS(trigger_push, CTriggerPush);
|
LINK_ENTITY_TO_CLASS(trigger_push, CTriggerPush);
|
||||||
|
|
||||||
/* <1a18ff> ../cstrike/dlls/triggers.cpp:1807 */
|
/* <1a18ff> ../cstrike/dlls/triggers.cpp:1807 */
|
||||||
NOBODY void CTriggerPush::KeyValue_(KeyValueData *pkvd)
|
NOBODY void CTriggerPush::__MAKE_VHOOK(KeyValue)(KeyValueData *pkvd)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
/* <1a2eda> ../cstrike/dlls/triggers.cpp:1817 */
|
/* <1a2eda> ../cstrike/dlls/triggers.cpp:1817 */
|
||||||
NOBODY void CTriggerPush::Spawn_(void)
|
NOBODY void CTriggerPush::__MAKE_VHOOK(Spawn)(void)
|
||||||
{
|
{
|
||||||
// operator==(const class Vector *const this,
|
// operator==(const class Vector *const this,
|
||||||
// const class Vector &const v); // 1819
|
// const class Vector &const v); // 1819
|
||||||
}
|
}
|
||||||
|
|
||||||
/* <1a023c> ../cstrike/dlls/triggers.cpp:1835 */
|
/* <1a023c> ../cstrike/dlls/triggers.cpp:1835 */
|
||||||
NOBODY void CTriggerPush::Touch_(CBaseEntity *pOther)
|
NOBODY void CTriggerPush::__MAKE_VHOOK(Touch)(CBaseEntity *pOther)
|
||||||
{
|
{
|
||||||
// {
|
// {
|
||||||
// entvars_t *pevToucher; // 1837
|
// entvars_t *pevToucher; // 1837
|
||||||
@ -802,7 +870,7 @@ NOBODY void CBaseTrigger::TeleportTouch(CBaseEntity *pOther)
|
|||||||
LINK_ENTITY_TO_CLASS(trigger_teleport, CTriggerTeleport);
|
LINK_ENTITY_TO_CLASS(trigger_teleport, CTriggerTeleport);
|
||||||
|
|
||||||
/* <1a2eb1> ../cstrike/dlls/triggers.cpp:1942 */
|
/* <1a2eb1> ../cstrike/dlls/triggers.cpp:1942 */
|
||||||
NOBODY void CTriggerTeleport::Spawn_(void)
|
NOBODY void CTriggerTeleport::__MAKE_VHOOK(Spawn)(void)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -813,7 +881,7 @@ LINK_ENTITY_TO_CLASS(info_teleport_destination, CPointEntity);
|
|||||||
LINK_ENTITY_TO_CLASS(func_buyzone, CBuyZone);
|
LINK_ENTITY_TO_CLASS(func_buyzone, CBuyZone);
|
||||||
|
|
||||||
/* <1a2e71> ../cstrike/dlls/triggers.cpp:1973 */
|
/* <1a2e71> ../cstrike/dlls/triggers.cpp:1973 */
|
||||||
NOBODY void CBuyZone::Spawn_(void)
|
NOBODY void CBuyZone::__MAKE_VHOOK(Spawn)(void)
|
||||||
{
|
{
|
||||||
// Spawn(class CBuyZone *const this); // 1973
|
// Spawn(class CBuyZone *const this); // 1973
|
||||||
}
|
}
|
||||||
@ -832,7 +900,7 @@ NOBODY void CBuyZone::BuyTouch(CBaseEntity *pOther)
|
|||||||
LINK_ENTITY_TO_CLASS(func_bomb_target, CBombTarget);
|
LINK_ENTITY_TO_CLASS(func_bomb_target, CBombTarget);
|
||||||
|
|
||||||
/* <1a2e48> ../cstrike/dlls/triggers.cpp:2019 */
|
/* <1a2e48> ../cstrike/dlls/triggers.cpp:2019 */
|
||||||
NOBODY void CBombTarget::Spawn_(void)
|
NOBODY void CBombTarget::__MAKE_VHOOK(Spawn)(void)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -855,7 +923,7 @@ NOBODY void CBombTarget::BombTargetUse(CBaseEntity *pActivator, CBaseEntity *pCa
|
|||||||
LINK_ENTITY_TO_CLASS(func_hostage_rescue, CHostageRescue);
|
LINK_ENTITY_TO_CLASS(func_hostage_rescue, CHostageRescue);
|
||||||
|
|
||||||
/* <1a2e1f> ../cstrike/dlls/triggers.cpp:2067 */
|
/* <1a2e1f> ../cstrike/dlls/triggers.cpp:2067 */
|
||||||
NOBODY void CHostageRescue::Spawn_(void)
|
NOBODY void CHostageRescue::__MAKE_VHOOK(Spawn)(void)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -870,7 +938,7 @@ NOBODY void CHostageRescue::HostageRescueTouch(CBaseEntity *pOther)
|
|||||||
LINK_ENTITY_TO_CLASS(func_escapezone, CEscapeZone);
|
LINK_ENTITY_TO_CLASS(func_escapezone, CEscapeZone);
|
||||||
|
|
||||||
/* <1a2df6> ../cstrike/dlls/triggers.cpp:2108 */
|
/* <1a2df6> ../cstrike/dlls/triggers.cpp:2108 */
|
||||||
NOBODY void CEscapeZone::Spawn_(void)
|
NOBODY void CEscapeZone::__MAKE_VHOOK(Spawn)(void)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -890,7 +958,7 @@ NOBODY void CEscapeZone::EscapeTouch(CBaseEntity *pOther)
|
|||||||
LINK_ENTITY_TO_CLASS(func_vip_safetyzone, CVIP_SafetyZone);
|
LINK_ENTITY_TO_CLASS(func_vip_safetyzone, CVIP_SafetyZone);
|
||||||
|
|
||||||
/* <1a2dcd> ../cstrike/dlls/triggers.cpp:2166 */
|
/* <1a2dcd> ../cstrike/dlls/triggers.cpp:2166 */
|
||||||
NOBODY void CVIP_SafetyZone::Spawn_(void)
|
NOBODY void CVIP_SafetyZone::__MAKE_VHOOK(Spawn)(void)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -910,7 +978,7 @@ NOBODY void CVIP_SafetyZone::VIP_SafetyTouch(CBaseEntity *pOther)
|
|||||||
LINK_ENTITY_TO_CLASS(trigger_autosave, CTriggerSave);
|
LINK_ENTITY_TO_CLASS(trigger_autosave, CTriggerSave);
|
||||||
|
|
||||||
/* <1a2d8e> ../cstrike/dlls/triggers.cpp:2206 */
|
/* <1a2d8e> ../cstrike/dlls/triggers.cpp:2206 */
|
||||||
NOBODY void CTriggerSave::Spawn_(void)
|
NOBODY void CTriggerSave::__MAKE_VHOOK(Spawn)(void)
|
||||||
{
|
{
|
||||||
//Spawn(class CTriggerSave *const this); // 2206
|
//Spawn(class CTriggerSave *const this); // 2206
|
||||||
}
|
}
|
||||||
@ -936,7 +1004,7 @@ NOBODY void CTriggerEndSection::EndSectionUse(CBaseEntity *pActivator, CBaseEnti
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* <1a2d4f> ../cstrike/dlls/triggers.cpp:2260 */
|
/* <1a2d4f> ../cstrike/dlls/triggers.cpp:2260 */
|
||||||
NOBODY void CTriggerEndSection::Spawn_(void)
|
NOBODY void CTriggerEndSection::__MAKE_VHOOK(Spawn)(void)
|
||||||
{
|
{
|
||||||
// Spawn(class CTriggerEndSection *const this); // 2260
|
// Spawn(class CTriggerEndSection *const this); // 2260
|
||||||
}
|
}
|
||||||
@ -949,7 +1017,7 @@ NOBODY void CTriggerEndSection::EndSectionTouch(CBaseEntity *pOther)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* <1a196f> ../cstrike/dlls/triggers.cpp:2291 */
|
/* <1a196f> ../cstrike/dlls/triggers.cpp:2291 */
|
||||||
NOBODY void CTriggerEndSection::KeyValue_(KeyValueData *pkvd)
|
NOBODY void CTriggerEndSection::__MAKE_VHOOK(KeyValue)(KeyValueData *pkvd)
|
||||||
{
|
{
|
||||||
// FStrEq(const char *sz1,
|
// FStrEq(const char *sz1,
|
||||||
// const char *sz2); // 2293
|
// const char *sz2); // 2293
|
||||||
@ -961,7 +1029,7 @@ NOBODY void CTriggerEndSection::KeyValue_(KeyValueData *pkvd)
|
|||||||
LINK_ENTITY_TO_CLASS(trigger_gravity, CTriggerGravity);
|
LINK_ENTITY_TO_CLASS(trigger_gravity, CTriggerGravity);
|
||||||
|
|
||||||
/* <1a2d26> ../cstrike/dlls/triggers.cpp:2313 */
|
/* <1a2d26> ../cstrike/dlls/triggers.cpp:2313 */
|
||||||
NOBODY void CTriggerGravity::Spawn_(void)
|
NOBODY void CTriggerGravity::__MAKE_VHOOK(Spawn)(void)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -977,7 +1045,7 @@ LINK_ENTITY_TO_CLASS(trigger_changetarget, CTriggerChangeTarget);
|
|||||||
IMPLEMENT_SAVERESTORE(CTriggerChangeTarget, CBaseDelay);
|
IMPLEMENT_SAVERESTORE(CTriggerChangeTarget, CBaseDelay);
|
||||||
|
|
||||||
/* <1a1691> ../cstrike/dlls/triggers.cpp:2360 */
|
/* <1a1691> ../cstrike/dlls/triggers.cpp:2360 */
|
||||||
NOBODY void CTriggerChangeTarget::KeyValue_(KeyValueData *pkvd)
|
NOBODY void CTriggerChangeTarget::__MAKE_VHOOK(KeyValue)(KeyValueData *pkvd)
|
||||||
{
|
{
|
||||||
// FStrEq(const char *sz1,
|
// FStrEq(const char *sz1,
|
||||||
// const char *sz2); // 2362
|
// const char *sz2); // 2362
|
||||||
@ -986,12 +1054,12 @@ NOBODY void CTriggerChangeTarget::KeyValue_(KeyValueData *pkvd)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* <19ff1f> ../cstrike/dlls/triggers.cpp:2371 */
|
/* <19ff1f> ../cstrike/dlls/triggers.cpp:2371 */
|
||||||
NOBODY void CTriggerChangeTarget::Spawn_(void)
|
NOBODY void CTriggerChangeTarget::__MAKE_VHOOK(Spawn)(void)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
/* <1a010d> ../cstrike/dlls/triggers.cpp:2376 */
|
/* <1a010d> ../cstrike/dlls/triggers.cpp:2376 */
|
||||||
NOBODY void CTriggerChangeTarget::Use_(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value)
|
NOBODY void CTriggerChangeTarget::__MAKE_VHOOK(Use)(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value)
|
||||||
{
|
{
|
||||||
// {
|
// {
|
||||||
// class CBaseEntity *pTarget; // 2378
|
// class CBaseEntity *pTarget; // 2378
|
||||||
@ -1008,12 +1076,12 @@ LINK_ENTITY_TO_CLASS(trigger_camera, CTriggerCamera);
|
|||||||
IMPLEMENT_SAVERESTORE(CTriggerCamera, CBaseDelay);
|
IMPLEMENT_SAVERESTORE(CTriggerCamera, CBaseDelay);
|
||||||
|
|
||||||
/* <19ff6f> ../cstrike/dlls/triggers.cpp:2447 */
|
/* <19ff6f> ../cstrike/dlls/triggers.cpp:2447 */
|
||||||
NOBODY void CTriggerCamera::Spawn_(void)
|
NOBODY void CTriggerCamera::__MAKE_VHOOK(Spawn)(void)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
/* <1a1537> ../cstrike/dlls/triggers.cpp:2462 */
|
/* <1a1537> ../cstrike/dlls/triggers.cpp:2462 */
|
||||||
NOBODY void CTriggerCamera::KeyValue_(KeyValueData *pkvd)
|
NOBODY void CTriggerCamera::__MAKE_VHOOK(KeyValue)(KeyValueData *pkvd)
|
||||||
{
|
{
|
||||||
// FStrEq(const char *sz1,
|
// FStrEq(const char *sz1,
|
||||||
// const char *sz2); // 2464
|
// const char *sz2); // 2464
|
||||||
@ -1025,7 +1093,7 @@ NOBODY void CTriggerCamera::KeyValue_(KeyValueData *pkvd)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* <1a55e4> ../cstrike/dlls/triggers.cpp:2490 */
|
/* <1a55e4> ../cstrike/dlls/triggers.cpp:2490 */
|
||||||
NOBODY void CTriggerCamera::Use_(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value)
|
NOBODY void CTriggerCamera::__MAKE_VHOOK(Use)(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value)
|
||||||
{
|
{
|
||||||
// Use(CTriggerCamera *const this,
|
// Use(CTriggerCamera *const this,
|
||||||
// class CBaseEntity *pActivator,
|
// class CBaseEntity *pActivator,
|
||||||
@ -1081,7 +1149,7 @@ LINK_ENTITY_TO_CLASS(env_rain, CWeather);
|
|||||||
LINK_ENTITY_TO_CLASS(func_rain, CWeather);
|
LINK_ENTITY_TO_CLASS(func_rain, CWeather);
|
||||||
|
|
||||||
/* <1a1477> ../cstrike/dlls/triggers.cpp:2716 */
|
/* <1a1477> ../cstrike/dlls/triggers.cpp:2716 */
|
||||||
NOBODY void CClientFog::KeyValue_(KeyValueData *pkvd)
|
NOBODY void CClientFog::__MAKE_VHOOK(KeyValue)(KeyValueData *pkvd)
|
||||||
{
|
{
|
||||||
// FStrEq(const char *sz1,
|
// FStrEq(const char *sz1,
|
||||||
// const char *sz2); // 2718
|
// const char *sz2); // 2718
|
||||||
@ -1092,7 +1160,7 @@ NOBODY void CClientFog::KeyValue_(KeyValueData *pkvd)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* <19ff97> ../cstrike/dlls/triggers.cpp:2735 */
|
/* <19ff97> ../cstrike/dlls/triggers.cpp:2735 */
|
||||||
NOBODY void CClientFog::Spawn_(void)
|
NOBODY void CClientFog::__MAKE_VHOOK(Spawn)(void)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -32,12 +32,11 @@
|
|||||||
#pragma once
|
#pragma once
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#define savesolid team
|
|
||||||
|
|
||||||
#define GRENADETYPE_SMOKE 1
|
#define GRENADETYPE_SMOKE 1
|
||||||
#define GRENADETYPE_FLASH 2
|
#define GRENADETYPE_FLASH 2
|
||||||
|
|
||||||
#define MAX_ITEM_COUNTS 32
|
#define MAX_ITEM_COUNTS 32
|
||||||
|
#define MAX_ENTITY 512 // We can only ever move 512 entities across a transition
|
||||||
|
|
||||||
#define SF_TRIGGER_PUSH_START_OFF 2
|
#define SF_TRIGGER_PUSH_START_OFF 2
|
||||||
#define SF_TRIGGER_HURT_TARGETONCE 1
|
#define SF_TRIGGER_HURT_TARGETONCE 1
|
||||||
@ -53,9 +52,6 @@
|
|||||||
#define SF_MULTIMAN_THREAD 0x00000001
|
#define SF_MULTIMAN_THREAD 0x00000001
|
||||||
|
|
||||||
#define SF_CHANGELEVEL_USEONLY 0x0002
|
#define SF_CHANGELEVEL_USEONLY 0x0002
|
||||||
|
|
||||||
#define MAX_ENTITY 512
|
|
||||||
|
|
||||||
#define SF_CAMERA_PLAYER_POSITION 1
|
#define SF_CAMERA_PLAYER_POSITION 1
|
||||||
#define SF_CAMERA_PLAYER_TARGET 2
|
#define SF_CAMERA_PLAYER_TARGET 2
|
||||||
#define SF_CAMERA_PLAYER_TAKECONTROL 4
|
#define SF_CAMERA_PLAYER_TAKECONTROL 4
|
||||||
@ -469,10 +465,10 @@ public:
|
|||||||
|
|
||||||
NOBODY void ChangeLevelNow(CBaseEntity *pActivator);
|
NOBODY void ChangeLevelNow(CBaseEntity *pActivator);
|
||||||
|
|
||||||
NOXREF static edict_t *FindLandmark(const char *pLandmarkName);
|
static edict_t *FindLandmark(const char *pLandmarkName);
|
||||||
NOBODY static int ChangeList(LEVELLIST *pLevelList, int maxList);
|
static int ChangeList(LEVELLIST *pLevelList, int maxList);
|
||||||
NOBODY static int AddTransitionToList(LEVELLIST *pLevelList, int listCount, const char *pMapName, const char *pLandmarkName, edict_t *pentLandmark);
|
static int AddTransitionToList(LEVELLIST *pLevelList, int listCount, const char *pMapName, const char *pLandmarkName, edict_t *pentLandmark);
|
||||||
NOBODY static int InTransitionVolume(CBaseEntity *pEntity, char *pVolumeName);
|
static int InTransitionVolume(CBaseEntity *pEntity, char *pVolumeName);
|
||||||
|
|
||||||
public:
|
public:
|
||||||
static TYPEDESCRIPTION IMPLEMENT_ARRAY(m_SaveData)[4];
|
static TYPEDESCRIPTION IMPLEMENT_ARRAY(m_SaveData)[4];
|
||||||
|
@ -5,16 +5,16 @@
|
|||||||
*/
|
*/
|
||||||
#ifndef HOOK_GAMEDLL
|
#ifndef HOOK_GAMEDLL
|
||||||
|
|
||||||
cvar_t cv_tutor_message_repeats = { "_tutor_message_repeats", "5", FCVAR_SERVER };
|
cvar_t cv_tutor_message_repeats = { "_tutor_message_repeats", "5", FCVAR_SERVER, 0.0f, NULL };
|
||||||
cvar_t cv_tutor_debug_level = { "_tutor_debug_level", "0", FCVAR_SERVER };
|
cvar_t cv_tutor_debug_level = { "_tutor_debug_level", "0", FCVAR_SERVER, 0.0f, NULL };
|
||||||
cvar_t cv_tutor_view_distance = { "_tutor_view_distance", "1000", FCVAR_SERVER };
|
cvar_t cv_tutor_view_distance = { "_tutor_view_distance", "1000", FCVAR_SERVER, 0.0f, NULL };
|
||||||
cvar_t cv_tutor_viewable_check_interval = { "_tutor_bomb_viewable_check_interval", "0.5", FCVAR_SERVER };
|
cvar_t cv_tutor_viewable_check_interval = { "_tutor_bomb_viewable_check_interval", "0.5", FCVAR_SERVER, 0.0f, NULL };
|
||||||
cvar_t cv_tutor_look_distance = { "_tutor_look_distance", "200", FCVAR_SERVER };
|
cvar_t cv_tutor_look_distance = { "_tutor_look_distance", "200", FCVAR_SERVER, 0.0f, NULL };
|
||||||
cvar_t cv_tutor_look_angle = { "_tutor_look_angle", "10", FCVAR_SERVER };
|
cvar_t cv_tutor_look_angle = { "_tutor_look_angle", "10", FCVAR_SERVER, 0.0f, NULL };
|
||||||
cvar_t cv_tutor_examine_time = { "_tutor_examine_time", "0.5", FCVAR_SERVER };
|
cvar_t cv_tutor_examine_time = { "_tutor_examine_time", "0.5", FCVAR_SERVER, 0.0f, NULL };
|
||||||
cvar_t cv_tutor_message_minimum_display_time = { "_tutor_message_minimum_display_time", "1", FCVAR_SERVER };
|
cvar_t cv_tutor_message_minimum_display_time = { "_tutor_message_minimum_display_time", "1", FCVAR_SERVER, 0.0f, NULL };
|
||||||
cvar_t cv_tutor_message_character_display_time_coefficient = { "_tutor_message_character_display_time_coefficient", "0.07", FCVAR_SERVER };
|
cvar_t cv_tutor_message_character_display_time_coefficient = { "_tutor_message_character_display_time_coefficient", "0.07", FCVAR_SERVER, 0.0f, NULL };
|
||||||
cvar_t cv_tutor_hint_interval_time = { "_tutor_hint_interval_time", "10.0", FCVAR_SERVER };
|
cvar_t cv_tutor_hint_interval_time = { "_tutor_hint_interval_time", "10.0", FCVAR_SERVER, 0.0f, NULL };
|
||||||
|
|
||||||
#else
|
#else
|
||||||
|
|
||||||
@ -35,26 +35,18 @@ bool s_tutorDisabledThisGame;
|
|||||||
float s_nextCvarCheckTime;
|
float s_nextCvarCheckTime;
|
||||||
|
|
||||||
/* <1dfdbc> ../cstrike/dlls/tutor.cpp:32 */
|
/* <1dfdbc> ../cstrike/dlls/tutor.cpp:32 */
|
||||||
NOBODY void InstallTutor(bool start)
|
void InstallTutor(bool start)
|
||||||
{
|
{
|
||||||
// TODO: check out!
|
|
||||||
//if (TheTutor)
|
|
||||||
//{
|
|
||||||
// (*((void (__cdecl **)(_DWORD))TheTutor->_vptr.CBaseTutor + 1))(TheTutor);
|
|
||||||
// TheTutor = 0;
|
|
||||||
//}
|
|
||||||
|
|
||||||
if (TheTutor)
|
if (TheTutor)
|
||||||
{
|
{
|
||||||
delete TheTutor;
|
delete TheTutor;
|
||||||
|
TheTutor = NULL;
|
||||||
|
|
||||||
//TheTutor->~CBaseTutor();
|
|
||||||
//TheTutor = NULL;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (start)
|
if (start)
|
||||||
|
{
|
||||||
TheTutor = new CCSTutor;
|
TheTutor = new CCSTutor;
|
||||||
|
}
|
||||||
|
|
||||||
s_tutorDisabledThisGame = false;
|
s_tutorDisabledThisGame = false;
|
||||||
s_nextCvarCheckTime = gpGlobals->time;
|
s_nextCvarCheckTime = gpGlobals->time;
|
||||||
@ -76,24 +68,73 @@ void Tutor_RegisterCVars(void)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* <1dfdff> ../cstrike/dlls/tutor.cpp:66 */
|
/* <1dfdff> ../cstrike/dlls/tutor.cpp:66 */
|
||||||
NOBODY void MonitorTutorStatus(void)
|
void MonitorTutorStatus(void)
|
||||||
{
|
{
|
||||||
// {
|
static cvar_t *tutor_enable = NULL;
|
||||||
// cvar_t *tutor_enable; // 68
|
static bool tutor_enableCvarExists = true;
|
||||||
// bool tutor_enableCvarExists; // 69
|
|
||||||
// bool shouldTutorBeOn; // 82
|
bool shouldTutorBeOn = false;
|
||||||
// int numHumans; // 96
|
int numHumans = 0;
|
||||||
// {
|
|
||||||
// int i; // 97
|
if (!tutor_enableCvarExists || s_nextCvarCheckTime > gpGlobals->time)
|
||||||
// {
|
{
|
||||||
// class CBasePlayer *pPlayer; // 99
|
return;
|
||||||
// }
|
}
|
||||||
// }
|
|
||||||
// {
|
if (tutor_enable != NULL || (tutor_enable = CVAR_GET_POINTER("tutor_enable")) != NULL)
|
||||||
// class CBasePlayer *localPlayer; // 125
|
{
|
||||||
// }
|
if (!s_tutorDisabledThisGame && tutor_enable->value > 0.0f)
|
||||||
// {
|
{
|
||||||
// class CBasePlayer *localPlayer; // 113
|
shouldTutorBeOn = true;
|
||||||
// }
|
}
|
||||||
// }
|
}
|
||||||
|
else
|
||||||
|
tutor_enableCvarExists = false;
|
||||||
|
|
||||||
|
for (int i = 1; i <= gpGlobals->maxClients; i++)
|
||||||
|
{
|
||||||
|
CBasePlayer *pPlayer = reinterpret_cast<CBasePlayer *>(UTIL_PlayerByIndex(i));
|
||||||
|
|
||||||
|
if (pPlayer && !pPlayer->IsBot())
|
||||||
|
{
|
||||||
|
++numHumans;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (shouldTutorBeOn)
|
||||||
|
{
|
||||||
|
if (numHumans <= 1)
|
||||||
|
{
|
||||||
|
if (TheTutor == NULL)
|
||||||
|
{
|
||||||
|
CBasePlayer *localPlayer = UTIL_GetLocalPlayer();
|
||||||
|
|
||||||
|
if (localPlayer != NULL)
|
||||||
|
{
|
||||||
|
ClientPrint(localPlayer->pev, HUD_PRINTCENTER, "#CZero_Tutor_Turned_On");
|
||||||
|
}
|
||||||
|
|
||||||
|
TheTutor = new CCSTutor;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
s_tutorDisabledThisGame = true;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
if (TheTutor != NULL)
|
||||||
|
{
|
||||||
|
CBasePlayer *localPlayer = UTIL_GetLocalPlayer();
|
||||||
|
|
||||||
|
if (localPlayer != NULL)
|
||||||
|
{
|
||||||
|
ClientPrint(localPlayer->pev, HUD_PRINTCENTER, "#CZero_Tutor_Turned_Off");
|
||||||
|
}
|
||||||
|
|
||||||
|
delete TheTutor;
|
||||||
|
TheTutor = NULL;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
s_nextCvarCheckTime = gpGlobals->time + 1.0f;
|
||||||
}
|
}
|
||||||
|
@ -60,8 +60,8 @@ extern cvar_t cv_tutor_message_minimum_display_time;
|
|||||||
extern cvar_t cv_tutor_message_character_display_time_coefficient;
|
extern cvar_t cv_tutor_message_character_display_time_coefficient;
|
||||||
extern cvar_t cv_tutor_hint_interval_time;
|
extern cvar_t cv_tutor_hint_interval_time;
|
||||||
|
|
||||||
NOBODY void InstallTutor(bool start);
|
void InstallTutor(bool start);
|
||||||
void Tutor_RegisterCVars(void);
|
void Tutor_RegisterCVars(void);
|
||||||
NOBODY void MonitorTutorStatus(void);
|
void MonitorTutorStatus(void);
|
||||||
|
|
||||||
#endif // TUTOR_H
|
#endif // TUTOR_H
|
||||||
|
@ -1,32 +1,42 @@
|
|||||||
#include "precompiled.h"
|
#include "precompiled.h"
|
||||||
|
|
||||||
/* <21bf94> ../cstrike/dlls/tutor_base_states.cpp:6 */
|
/* <21bf94> ../cstrike/dlls/tutor_base_states.cpp:6 */
|
||||||
NOBODY CBaseTutorStateSystem::CBaseTutorStateSystem(void)
|
CBaseTutorStateSystem::CBaseTutorStateSystem(void)
|
||||||
{
|
{
|
||||||
|
;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* <21bec7> ../cstrike/dlls/tutor_base_states.cpp:10 */
|
/* <21bec7> ../cstrike/dlls/tutor_base_states.cpp:10 */
|
||||||
NOBODY CBaseTutorStateSystem::~CBaseTutorStateSystem(void)
|
CBaseTutorStateSystem::~CBaseTutorStateSystem(void)
|
||||||
{
|
{
|
||||||
|
;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* <21bfb5> ../cstrike/dlls/tutor_base_states.cpp:14 */
|
/* <21bfb5> ../cstrike/dlls/tutor_base_states.cpp:14 */
|
||||||
NOBODY int CBaseTutorStateSystem::GetCurrentStateType(void)
|
int CBaseTutorStateSystem::GetCurrentStateType(void)
|
||||||
{
|
{
|
||||||
// GetType(CBaseTutorState *const this); // 20
|
if (m_currentState != NULL)
|
||||||
|
{
|
||||||
|
return m_currentState->GetType();
|
||||||
|
}
|
||||||
|
|
||||||
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* <21c00d> ../cstrike/dlls/tutor_base_states.cpp:28 */
|
/* <21c00d> ../cstrike/dlls/tutor_base_states.cpp:28 */
|
||||||
NOBODY CBaseTutorState::CBaseTutorState(void)
|
CBaseTutorState::CBaseTutorState(void)
|
||||||
{
|
{
|
||||||
|
;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* <21bcc6> ../cstrike/dlls/tutor_base_states.cpp:32 */
|
/* <21bcc6> ../cstrike/dlls/tutor_base_states.cpp:32 */
|
||||||
NOBODY CBaseTutorState::~CBaseTutorState(void)
|
CBaseTutorState::~CBaseTutorState(void)
|
||||||
{
|
{
|
||||||
|
;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* <21c02e> ../cstrike/dlls/tutor_base_states.cpp:36 */
|
/* <21c02e> ../cstrike/dlls/tutor_base_states.cpp:36 */
|
||||||
NOBODY int CBaseTutorState::GetType(void)
|
int CBaseTutorState::GetType(void)
|
||||||
{
|
{
|
||||||
|
return m_type;
|
||||||
}
|
}
|
||||||
|
@ -36,28 +36,33 @@ class CBaseTutorState
|
|||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
CBaseTutorState(void);
|
CBaseTutorState(void);
|
||||||
virtual ~CBaseTutorState(void);
|
|
||||||
|
|
||||||
|
virtual ~CBaseTutorState(void);
|
||||||
virtual int CheckForStateTransition(GameEventType event, CBaseEntity *entity, CBaseEntity *other) = 0;
|
virtual int CheckForStateTransition(GameEventType event, CBaseEntity *entity, CBaseEntity *other) = 0;
|
||||||
virtual char *GetStateString(void) = 0;
|
virtual char *GetStateString(void) = 0;
|
||||||
|
|
||||||
public:
|
public:
|
||||||
int GetType(void);
|
int GetType(void);
|
||||||
private:
|
|
||||||
|
protected:
|
||||||
int m_type;
|
int m_type;
|
||||||
|
|
||||||
};/* size: 8, cachelines: 1, members: 2 */
|
};/* size: 8, cachelines: 1, members: 2 */
|
||||||
|
|
||||||
class CBaseTutorStateSystem
|
class CBaseTutorStateSystem
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
CBaseTutorStateSystem(void);
|
CBaseTutorStateSystem(void);
|
||||||
virtual ~CBaseTutorStateSystem(void);
|
|
||||||
|
|
||||||
|
virtual ~CBaseTutorStateSystem(void);
|
||||||
virtual bool UpdateState(GameEventType event, CBaseEntity *entity, CBaseEntity *other) = 0;
|
virtual bool UpdateState(GameEventType event, CBaseEntity *entity, CBaseEntity *other) = 0;
|
||||||
virtual char *GetCurrentStateString(void) = 0;
|
virtual char *GetCurrentStateString(void) = 0;
|
||||||
virtual CBaseTutorState *ConstructNewState(int stateType) = 0;
|
virtual CBaseTutorState *ConstructNewState(int stateType) = 0;
|
||||||
|
|
||||||
|
public:
|
||||||
int GetCurrentStateType(void);
|
int GetCurrentStateType(void);
|
||||||
private:
|
|
||||||
|
protected:
|
||||||
CBaseTutorState *m_currentState;
|
CBaseTutorState *m_currentState;
|
||||||
|
|
||||||
};/* size: 8, cachelines: 1, members: 2 */
|
};/* size: 8, cachelines: 1, members: 2 */
|
||||||
|
@ -3,79 +3,137 @@
|
|||||||
CBaseTutor *TheTutor;
|
CBaseTutor *TheTutor;
|
||||||
|
|
||||||
/* <1f545d> ../cstrike/dlls/tutor_base_tutor.cpp:22 */
|
/* <1f545d> ../cstrike/dlls/tutor_base_tutor.cpp:22 */
|
||||||
NOBODY TutorMessageEvent::TutorMessageEvent(int mid, int duplicateID, float time, float lifetime, int priority)
|
TutorMessageEvent::TutorMessageEvent(int mid, int duplicateID, float time, float lifetime, int priority)
|
||||||
{
|
{
|
||||||
|
m_messageID = mid;
|
||||||
|
m_duplicateID = duplicateID;
|
||||||
|
m_activationTime = time;
|
||||||
|
m_lifetime = lifetime;
|
||||||
|
m_priority = priority;
|
||||||
|
|
||||||
|
m_paramList = NULL;
|
||||||
|
m_numParameters = 0;
|
||||||
|
m_next = NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* <1f4d07> ../cstrike/dlls/tutor_base_tutor.cpp:34 */
|
/* <1f4d07> ../cstrike/dlls/tutor_base_tutor.cpp:34 */
|
||||||
//NOBODY void TutorMessageEvent::~TutorMessageEvent(void)
|
TutorMessageEvent::~TutorMessageEvent(void)
|
||||||
//{
|
{
|
||||||
//}
|
;
|
||||||
|
}
|
||||||
|
|
||||||
/* <1f54a6> ../cstrike/dlls/tutor_base_tutor.cpp:38 */
|
/* <1f54a6> ../cstrike/dlls/tutor_base_tutor.cpp:38 */
|
||||||
NOBODY bool TutorMessageEvent::IsActive(float time)
|
bool TutorMessageEvent::IsActive(float time)
|
||||||
{
|
{
|
||||||
|
return (m_lifetime + m_activationTime >= time);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* <1f54da> ../cstrike/dlls/tutor_base_tutor.cpp:48 */
|
/* <1f54da> ../cstrike/dlls/tutor_base_tutor.cpp:48 */
|
||||||
NOBODY int TutorMessageEvent::GetPriority(void)
|
int TutorMessageEvent::GetPriority(void)
|
||||||
{
|
{
|
||||||
|
return m_priority;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* <1f5500> ../cstrike/dlls/tutor_base_tutor.cpp:53 */
|
/* <1f5500> ../cstrike/dlls/tutor_base_tutor.cpp:53 */
|
||||||
NOBODY float TutorMessageEvent::GetTimeActive(float time)
|
float TutorMessageEvent::GetTimeActive(float time)
|
||||||
{
|
{
|
||||||
|
return (time - m_activationTime);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* <1f5534> ../cstrike/dlls/tutor_base_tutor.cpp:58 */
|
/* <1f5534> ../cstrike/dlls/tutor_base_tutor.cpp:58 */
|
||||||
NOBODY void TutorMessageEvent::SetActivationTime(float time)
|
void TutorMessageEvent::SetActivationTime(float time)
|
||||||
{
|
{
|
||||||
|
m_activationTime = time;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* <1f5568> ../cstrike/dlls/tutor_base_tutor.cpp:63 */
|
/* <1f5568> ../cstrike/dlls/tutor_base_tutor.cpp:63 */
|
||||||
NOBODY int TutorMessageEvent::GetID(void)
|
int TutorMessageEvent::GetID(void)
|
||||||
{
|
{
|
||||||
|
return m_messageID;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* <1f5589> ../cstrike/dlls/tutor_base_tutor.cpp:68 */
|
/* <1f5589> ../cstrike/dlls/tutor_base_tutor.cpp:68 */
|
||||||
NOBODY int TutorMessageEvent::GetDuplicateID(void)
|
int TutorMessageEvent::GetDuplicateID(void)
|
||||||
{
|
{
|
||||||
|
return m_duplicateID;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* <1f55af> ../cstrike/dlls/tutor_base_tutor.cpp:73 */
|
/* <1f55af> ../cstrike/dlls/tutor_base_tutor.cpp:73 */
|
||||||
NOBODY void TutorMessageEvent::SetNext(TutorMessageEvent *next)
|
void TutorMessageEvent::SetNext(TutorMessageEvent *next)
|
||||||
{
|
{
|
||||||
|
m_next = next;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* <1f55e3> ../cstrike/dlls/tutor_base_tutor.cpp:78 */
|
/* <1f55e3> ../cstrike/dlls/tutor_base_tutor.cpp:78 */
|
||||||
NOBODY TutorMessageEvent *TutorMessageEvent::GetNext(void)
|
TutorMessageEvent *TutorMessageEvent::GetNext(void)
|
||||||
{
|
{
|
||||||
|
return m_next;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* <1f5604> ../cstrike/dlls/tutor_base_tutor.cpp:83 */
|
/* <1f5604> ../cstrike/dlls/tutor_base_tutor.cpp:83 */
|
||||||
NOBODY void TutorMessageEvent::AddParameter(char *str)
|
void TutorMessageEvent::AddParameter(char *str)
|
||||||
{
|
{
|
||||||
// {
|
if (str == NULL)
|
||||||
// class TutorMessageEventParam *param; // 88
|
{
|
||||||
// class TutorMessageEventParam *temp; // 101
|
return;
|
||||||
// }
|
}
|
||||||
|
|
||||||
|
TutorMessageEventParam *param = new TutorMessageEventParam;
|
||||||
|
|
||||||
|
param->m_next = NULL;
|
||||||
|
param->m_data = new char[Q_strlen(str) + 1];
|
||||||
|
|
||||||
|
if (param->m_data != NULL)
|
||||||
|
{
|
||||||
|
Q_strcpy(param->m_data, str);
|
||||||
|
param->m_data[Q_strlen(str)] = '\0';
|
||||||
|
++m_numParameters;
|
||||||
|
|
||||||
|
if (m_paramList != NULL)
|
||||||
|
{
|
||||||
|
TutorMessageEventParam *temp = m_paramList;
|
||||||
|
|
||||||
|
while (temp->m_next)
|
||||||
|
temp = temp->m_next;
|
||||||
|
|
||||||
|
temp->m_next = param;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
m_paramList = param;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/* <1f565d> ../cstrike/dlls/tutor_base_tutor.cpp:117 */
|
/* <1f565d> ../cstrike/dlls/tutor_base_tutor.cpp:117 */
|
||||||
NOBODY char *TutorMessageEvent::GetNextParameter(char *buf, int buflen)
|
char *TutorMessageEvent::GetNextParameter(char *buf, int buflen)
|
||||||
{
|
{
|
||||||
// {
|
TutorMessageEventParam *param = m_paramList;
|
||||||
// class TutorMessageEventParam *param; // 119
|
|
||||||
// }
|
if (param == NULL)
|
||||||
|
{
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
|
|
||||||
|
m_numParameters--;
|
||||||
|
m_paramList = param->m_next;
|
||||||
|
|
||||||
|
Q_strncpy(buf, param->m_data, buflen);
|
||||||
|
|
||||||
|
#ifdef REGAMEDLL_FIXES
|
||||||
|
buf[buflen] = '\0';
|
||||||
|
#endif // REGAMEDLL_FIXES
|
||||||
|
|
||||||
|
delete param;
|
||||||
|
return buf;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* <1f569e> ../cstrike/dlls/tutor_base_tutor.cpp:136 */
|
/* <1f569e> ../cstrike/dlls/tutor_base_tutor.cpp:136 */
|
||||||
NOBODY int TutorMessageEvent::GetNumParameters(void)
|
int TutorMessageEvent::GetNumParameters(void)
|
||||||
{
|
{
|
||||||
|
return m_numParameters;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* <1f56d8> ../cstrike/dlls/tutor_base_tutor.cpp:144 */
|
/* <1f56d8> ../cstrike/dlls/tutor_base_tutor.cpp:144 */
|
||||||
NOBODY CBaseTutor::CBaseTutor(void)
|
CBaseTutor::CBaseTutor(void)
|
||||||
{
|
{
|
||||||
m_eventList = NULL;
|
m_eventList = NULL;
|
||||||
m_deadAirStartTime = 0;
|
m_deadAirStartTime = 0;
|
||||||
@ -83,15 +141,17 @@ NOBODY CBaseTutor::CBaseTutor(void)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* <1f4d28> ../cstrike/dlls/tutor_base_tutor.cpp:152 */
|
/* <1f4d28> ../cstrike/dlls/tutor_base_tutor.cpp:152 */
|
||||||
NOBODY CBaseTutor::~CBaseTutor(void)
|
CBaseTutor::~CBaseTutor(void)
|
||||||
{
|
{
|
||||||
// {
|
TutorMessageEvent *event = m_eventList;
|
||||||
// class TutorMessageEvent *event; // 154
|
|
||||||
// {
|
while (event != NULL)
|
||||||
// class TutorMessageEvent *temp; // 157
|
{
|
||||||
// GetNext(TutorMessageEvent *const this); // 158
|
TutorMessageEvent *temp = event;
|
||||||
// }
|
event = event->GetNext();
|
||||||
// }
|
|
||||||
|
delete temp;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/* <1f5766> ../cstrike/dlls/tutor_base_tutor.cpp:163 */
|
/* <1f5766> ../cstrike/dlls/tutor_base_tutor.cpp:163 */
|
||||||
@ -102,52 +162,88 @@ void CBaseTutor::OnEvent(GameEventType event, CBaseEntity *entity, CBaseEntity *
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* <1f5842> ../cstrike/dlls/tutor_base_tutor.cpp:172 */
|
/* <1f5842> ../cstrike/dlls/tutor_base_tutor.cpp:172 */
|
||||||
NOBODY void CBaseTutor::ShotFired(Vector source, Vector target)
|
void CBaseTutor::ShotFired(Vector source, Vector target)
|
||||||
{
|
{
|
||||||
// Vector(Vector *const this,
|
HandleShotFired(source, target);
|
||||||
// const Vector &v); // 175
|
|
||||||
// Vector(Vector *const this,
|
|
||||||
// const Vector &v); // 175
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/* <1f58ca> ../cstrike/dlls/tutor_base_tutor.cpp:178 */
|
/* <1f58ca> ../cstrike/dlls/tutor_base_tutor.cpp:178 */
|
||||||
NOXREF void CBaseTutor::CheckForStateTransition(GameEventType event, CBaseEntity *entity, CBaseEntity *other)
|
void CBaseTutor::CheckForStateTransition(GameEventType event, CBaseEntity *entity, CBaseEntity *other)
|
||||||
{
|
{
|
||||||
if (m_stateSystem->UpdateState(event, entity, other))
|
if (m_stateSystem->UpdateState(event, entity, other))
|
||||||
|
{
|
||||||
DisplayNewStateDescriptionToPlayer();
|
DisplayNewStateDescriptionToPlayer();
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/* <1f58f5> ../cstrike/dlls/tutor_base_tutor.cpp:189 */
|
/* <1f58f5> ../cstrike/dlls/tutor_base_tutor.cpp:189 */
|
||||||
NOBODY void CBaseTutor::StartFrame(float time)
|
void CBaseTutor::StartFrame(float time)
|
||||||
{
|
{
|
||||||
TutorThink(time);
|
TutorThink(time);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* <1f5993> ../cstrike/dlls/tutor_base_tutor.cpp:192 */
|
/* <1f5993> ../cstrike/dlls/tutor_base_tutor.cpp:192 */
|
||||||
NOBODY void CBaseTutor::DisplayMessageToPlayer(CBasePlayer *player, int id, const char *szMessage, TutorMessageEvent *event)
|
void CBaseTutor::DisplayMessageToPlayer(CBasePlayer *player, int id, const char *szMessage, TutorMessageEvent *event)
|
||||||
{
|
{
|
||||||
// {
|
TutorMessage *definition;
|
||||||
// class TutorMessage *definition; // 196
|
int numArgs;
|
||||||
// unsigned char numArgs; // 202
|
char param[512];
|
||||||
// char param; // 207
|
|
||||||
// MESSAGE_BEGIN(int msg_dest,
|
numArgs = event->GetNumParameters();
|
||||||
// int msg_type,
|
definition = GetTutorMessageDefinition(event->GetID());
|
||||||
// const float *pOrigin,
|
|
||||||
// entvars_t *ent); // 198
|
MESSAGE_BEGIN(MSG_ONE, gmsgTutorText, NULL, player->pev);
|
||||||
// {
|
WRITE_STRING(szMessage);
|
||||||
// int arg; // 210
|
WRITE_BYTE(numArgs);
|
||||||
// {
|
|
||||||
// char *str; // 212
|
for (int arg = 0; arg < numArgs; arg++)
|
||||||
// GetNextParameter(TutorMessageEvent *const this,
|
{
|
||||||
// char *buf,
|
char *str = event->GetNextParameter(param, sizeof(param));
|
||||||
// int buflen); // 212
|
|
||||||
// }
|
if (str != NULL)
|
||||||
// }
|
WRITE_STRING(str);
|
||||||
// }
|
else
|
||||||
|
WRITE_STRING("");
|
||||||
|
}
|
||||||
|
|
||||||
|
WRITE_SHORT(id);
|
||||||
|
WRITE_SHORT(player->IsAlive() == FALSE);
|
||||||
|
|
||||||
|
if (definition != NULL)
|
||||||
|
WRITE_SHORT(definition->m_type);
|
||||||
|
else
|
||||||
|
WRITE_SHORT(TUTORMESSAGETYPE_DEFAULT);
|
||||||
|
MESSAGE_END();
|
||||||
|
|
||||||
|
m_deadAirStartTime = -1.0f;
|
||||||
|
|
||||||
|
if (definition != NULL)
|
||||||
|
{
|
||||||
|
if (gpGlobals->time - m_roundStartTime > 1.0f)
|
||||||
|
{
|
||||||
|
switch (definition->m_type)
|
||||||
|
{
|
||||||
|
case TUTORMESSAGETYPE_FRIEND_DEATH:
|
||||||
|
EMIT_SOUND_DYN(ENT(player->pev), CHAN_ITEM, "events/friend_died.wav", VOL_NORM, ATTN_NORM, 0, 120);
|
||||||
|
break;
|
||||||
|
case TUTORMESSAGETYPE_ENEMY_DEATH:
|
||||||
|
EMIT_SOUND_DYN(ENT(player->pev), CHAN_ITEM, "events/enemy_died.wav", VOL_NORM, ATTN_NORM, 0, 85);
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
EMIT_SOUND_DYN(ENT(player->pev), CHAN_ITEM, "events/tutor_msg.wav", VOL_NORM, ATTN_NORM, 0, 100);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (definition->m_decay)
|
||||||
|
{
|
||||||
|
REGISTER_TUTOR_MESSAGE_SHOWN(id);
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/* <1f5ad1> ../cstrike/dlls/tutor_base_tutor.cpp:264 */
|
/* <1f5ad1> ../cstrike/dlls/tutor_base_tutor.cpp:264 */
|
||||||
NOBODY void CBaseTutor::DrawLineToEntity(CBasePlayer *player, int entindex, int id)
|
NOXREF void CBaseTutor::DrawLineToEntity(CBasePlayer *player, int entindex, int id)
|
||||||
{
|
{
|
||||||
MESSAGE_BEGIN(MSG_ONE, gmsgTutorLine, NULL, player->pev);
|
MESSAGE_BEGIN(MSG_ONE, gmsgTutorLine, NULL, player->pev);
|
||||||
WRITE_SHORT(entindex);
|
WRITE_SHORT(entindex);
|
||||||
@ -156,15 +252,16 @@ NOBODY void CBaseTutor::DrawLineToEntity(CBasePlayer *player, int entindex, int
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* <1f5b4f> ../cstrike/dlls/tutor_base_tutor.cpp:275 */
|
/* <1f5b4f> ../cstrike/dlls/tutor_base_tutor.cpp:275 */
|
||||||
NOXREF void CBaseTutor::DisplayNewStateDescriptionToPlayer(void)
|
void CBaseTutor::DisplayNewStateDescriptionToPlayer(void)
|
||||||
{
|
{
|
||||||
char *desc;
|
|
||||||
CBasePlayer *localPlayer = UTIL_GetLocalPlayer();
|
CBasePlayer *localPlayer = UTIL_GetLocalPlayer();
|
||||||
|
|
||||||
if (localPlayer == NULL)
|
if (localPlayer == NULL)
|
||||||
|
{
|
||||||
return;
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
desc = m_stateSystem->GetCurrentStateString();
|
char *desc = m_stateSystem->GetCurrentStateString();
|
||||||
|
|
||||||
if (!desc)
|
if (!desc)
|
||||||
{
|
{
|
||||||
@ -189,79 +286,195 @@ void CBaseTutor::CloseCurrentWindow(void)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* <1f5c26> ../cstrike/dlls/tutor_base_tutor.cpp:307 */
|
/* <1f5c26> ../cstrike/dlls/tutor_base_tutor.cpp:307 */
|
||||||
NOBODY void CBaseTutor::CalculatePathForObjective(CBaseEntity *player)
|
void CBaseTutor::CalculatePathForObjective(CBaseEntity *player)
|
||||||
{
|
{
|
||||||
|
;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* <1f52e6> ../cstrike/dlls/tutor_base_tutor.cpp:312 */
|
/* <1f52e6> ../cstrike/dlls/tutor_base_tutor.cpp:312 */
|
||||||
NOBODY bool CBaseTutor::IsEntityInViewOfPlayer(CBaseEntity *entity, CBasePlayer *player)
|
bool CBaseTutor::__MAKE_VHOOK(IsEntityInViewOfPlayer)(CBaseEntity *entity, CBasePlayer *player)
|
||||||
{
|
{
|
||||||
// {
|
if (entity == NULL || player == NULL)
|
||||||
// Vector eye; // 332
|
{
|
||||||
// TraceResult result; // 334
|
return false;
|
||||||
// operator-(const Vector *const this,
|
}
|
||||||
// const Vector &v); // 320
|
|
||||||
// Length(const Vector *const this); // 320
|
if (cv_tutor_view_distance.value < (entity->pev->origin - player->pev->origin).Length())
|
||||||
// }
|
{
|
||||||
// IsEntityInViewOfPlayer(CBaseTutor *const this,
|
return false;
|
||||||
// class CBaseEntity *entity,
|
}
|
||||||
// class CBasePlayer *player); // 312
|
|
||||||
|
if (player->FInViewCone(entity))
|
||||||
|
{
|
||||||
|
TraceResult result;
|
||||||
|
Vector eye = player->pev->view_ofs + player->pev->origin;
|
||||||
|
|
||||||
|
UTIL_TraceLine(eye, entity->pev->origin, ignore_monsters, ignore_glass, player->pev->pContainingEntity, &result);
|
||||||
|
|
||||||
|
if (result.flFraction == 1.0f)
|
||||||
|
{
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* <1f508a> ../cstrike/dlls/tutor_base_tutor.cpp:343 */
|
/* <1f508a> ../cstrike/dlls/tutor_base_tutor.cpp:343 */
|
||||||
NOBODY bool CBaseTutor::IsPlayerLookingAtPosition(Vector *origin, CBasePlayer *player)
|
bool CBaseTutor::__MAKE_VHOOK(IsPlayerLookingAtPosition)(Vector *origin, CBasePlayer *player)
|
||||||
{
|
{
|
||||||
// {
|
if (origin == NULL || player == NULL)
|
||||||
// Vector eye; // 363
|
{
|
||||||
// TraceResult result; // 364
|
return false;
|
||||||
// operator-(const Vector *const this,
|
}
|
||||||
// const Vector &v); // 351
|
|
||||||
// Length(const Vector *const this); // 351
|
if (cv_tutor_look_distance.value < (*origin - player->pev->origin).Length())
|
||||||
// }
|
{
|
||||||
// IsPlayerLookingAtPosition(CBaseTutor *const this,
|
return false;
|
||||||
// Vector *origin,
|
}
|
||||||
// class CBasePlayer *player); // 343
|
|
||||||
|
if (player->IsLookingAtPosition(origin, cv_tutor_look_angle.value))
|
||||||
|
{
|
||||||
|
TraceResult result;
|
||||||
|
Vector eye = player->pev->origin + player->pev->view_ofs;
|
||||||
|
|
||||||
|
UTIL_TraceLine(eye, *origin, ignore_monsters, ignore_glass, ENT(player->pev), &result);
|
||||||
|
|
||||||
|
if (result.flFraction == 1.0f)
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* <1f4e92> ../cstrike/dlls/tutor_base_tutor.cpp:373 */
|
/* <1f4e92> ../cstrike/dlls/tutor_base_tutor.cpp:373 */
|
||||||
NOBODY bool CBaseTutor::IsPlayerLookingAtEntity(CBaseEntity *entity, CBasePlayer *player)
|
bool CBaseTutor::__MAKE_VHOOK(IsPlayerLookingAtEntity)(CBaseEntity *entity, CBasePlayer *player)
|
||||||
{
|
{
|
||||||
// {
|
if (entity == NULL || player == NULL)
|
||||||
// Vector srcVec; // 380
|
{
|
||||||
// Vector destVec; // 386
|
return false;
|
||||||
// TraceResult result; // 389
|
}
|
||||||
// }
|
|
||||||
// IsPlayerLookingAtEntity(CBaseTutor *const this,
|
UTIL_MakeVectors(player->pev->v_angle);
|
||||||
// class CBaseEntity *entity,
|
|
||||||
// class CBasePlayer *player); // 373
|
Vector srcVec = player->pev->view_ofs + player->pev->origin;
|
||||||
|
Vector destVec = gpGlobals->v_forward * cv_tutor_look_distance.value + srcVec;
|
||||||
|
|
||||||
|
TraceResult result;
|
||||||
|
UTIL_TraceLine(srcVec, destVec, dont_ignore_monsters, ignore_glass, ENT(player->pev), &result);
|
||||||
|
|
||||||
|
if (result.pHit != NULL)
|
||||||
|
{
|
||||||
|
if (!FNullEnt(result.pHit) && CBaseEntity::Instance(result.pHit) == entity)
|
||||||
|
{
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* <1f51b0> ../cstrike/dlls/tutor_base_tutor.cpp:402 */
|
/* <1f51b0> ../cstrike/dlls/tutor_base_tutor.cpp:402 */
|
||||||
NOBODY bool CBaseTutor::IsBombsiteInViewOfPlayer(CBaseEntity *entity, CBasePlayer *player)
|
bool CBaseTutor::__MAKE_VHOOK(IsBombsiteInViewOfPlayer)(CBaseEntity *entity, CBasePlayer *player)
|
||||||
{
|
{
|
||||||
// {
|
if (entity == NULL || player == NULL)
|
||||||
// Vector bombSiteCenter; // 410
|
{
|
||||||
// Vector eye; // 426
|
return false;
|
||||||
// TraceResult result; // 428
|
}
|
||||||
// }
|
|
||||||
// IsBombsiteInViewOfPlayer(CBaseTutor *const this,
|
Vector bombSiteCenter = (entity->pev->absmax + entity->pev->absmin) * 0.5;
|
||||||
// class CBaseEntity *entity,
|
|
||||||
// class CBasePlayer *player); // 402
|
if (cv_tutor_view_distance.value < (bombSiteCenter - player->pev->origin).Length())
|
||||||
|
{
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (player->FInViewCone(entity))
|
||||||
|
{
|
||||||
|
TraceResult result;
|
||||||
|
Vector eye = player->pev->origin + player->pev->view_ofs;
|
||||||
|
|
||||||
|
UTIL_TraceLine(eye, bombSiteCenter, ignore_monsters, ignore_glass, ENT(player->pev), &result);
|
||||||
|
|
||||||
|
if (result.flFraction == 1.0f)
|
||||||
|
{
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* <1f4e37> ../cstrike/dlls/tutor_base_tutor.cpp:436 */
|
/* <1f4e37> ../cstrike/dlls/tutor_base_tutor.cpp:436 */
|
||||||
NOBODY bool CBaseTutor::IsEntityInBombsite(CBaseEntity *bombsite, CBaseEntity *entity)
|
bool CBaseTutor::__MAKE_VHOOK(IsEntityInBombsite)(CBaseEntity *bombsite, CBaseEntity *entity)
|
||||||
{
|
{
|
||||||
// IsEntityInBombsite(CBaseTutor *const this,
|
if (bombsite == NULL || entity == NULL)
|
||||||
// class CBaseEntity *bombsite,
|
{
|
||||||
// class CBaseEntity *entity); // 436
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (entity->pev->origin.x <= bombsite->pev->absmax.x
|
||||||
|
&& entity->pev->origin.y <= bombsite->pev->absmax.y
|
||||||
|
&& entity->pev->origin.z <= bombsite->pev->absmax.z
|
||||||
|
&& entity->pev->origin.x >= bombsite->pev->absmin.x
|
||||||
|
&& entity->pev->origin.y >= bombsite->pev->absmin.y
|
||||||
|
&& entity->pev->origin.z >= bombsite->pev->absmin.z)
|
||||||
|
{
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* <1f5c5b> ../cstrike/dlls/tutor_base_tutor.cpp:457 */
|
/* <1f5c5b> ../cstrike/dlls/tutor_base_tutor.cpp:457 */
|
||||||
NOBODY bool CBaseTutor::DoMessagesHaveSameID(int id1, int id2)
|
bool CBaseTutor::DoMessagesHaveSameID(int id1, int id2)
|
||||||
{
|
{
|
||||||
// {
|
if (id1 == id2)
|
||||||
// class TutorMessage *message1; // 464
|
{
|
||||||
// class TutorMessage *message2; // 465
|
return true;
|
||||||
// }
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
TutorMessage *message1 = GetTutorMessageDefinition(id1);
|
||||||
|
TutorMessage *message2 = GetTutorMessageDefinition(id2);
|
||||||
|
|
||||||
|
if (message1 == NULL || message2 == NULL)
|
||||||
|
{
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (message1->m_duplicateID && message2->m_duplicateID)
|
||||||
|
{
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
#ifdef HOOK_GAMEDLL
|
||||||
|
|
||||||
|
bool CBaseTutor::IsEntityInViewOfPlayer(CBaseEntity *entity, CBasePlayer *player)
|
||||||
|
{
|
||||||
|
return IsEntityInViewOfPlayer_(entity, player);
|
||||||
|
}
|
||||||
|
|
||||||
|
bool CBaseTutor::IsBombsiteInViewOfPlayer(CBaseEntity *entity, CBasePlayer *player)
|
||||||
|
{
|
||||||
|
return IsBombsiteInViewOfPlayer_(entity, player);
|
||||||
|
}
|
||||||
|
|
||||||
|
bool CBaseTutor::IsEntityInBombsite(CBaseEntity *bombsite, CBaseEntity *entity)
|
||||||
|
{
|
||||||
|
return IsEntityInBombsite_(bombsite, entity);
|
||||||
|
}
|
||||||
|
|
||||||
|
bool CBaseTutor::IsPlayerLookingAtPosition(Vector *origin, CBasePlayer *player)
|
||||||
|
{
|
||||||
|
return IsPlayerLookingAtPosition_(origin, player);
|
||||||
|
}
|
||||||
|
|
||||||
|
bool CBaseTutor::IsPlayerLookingAtEntity(CBaseEntity *entity, CBasePlayer *player)
|
||||||
|
{
|
||||||
|
return IsPlayerLookingAtEntity_(entity, player);
|
||||||
|
}
|
||||||
|
|
||||||
|
#endif // HOOK_GAMEDLL
|
||||||
|
@ -36,7 +36,7 @@ class TutorMessageEvent
|
|||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
TutorMessageEvent(int mid, int duplicateID, float time, float lifetime, int priority);
|
TutorMessageEvent(int mid, int duplicateID, float time, float lifetime, int priority);
|
||||||
//virtual ~TutorMessageEvent(void);
|
virtual ~TutorMessageEvent(void);
|
||||||
|
|
||||||
bool IsActive(float time);
|
bool IsActive(float time);
|
||||||
int GetPriority(void);
|
int GetPriority(void);
|
||||||
@ -62,7 +62,6 @@ private:
|
|||||||
|
|
||||||
};/* size: 36, cachelines: 1, members: 9 */
|
};/* size: 36, cachelines: 1, members: 9 */
|
||||||
|
|
||||||
|
|
||||||
class CBaseTutor
|
class CBaseTutor
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
@ -82,6 +81,17 @@ public:
|
|||||||
|
|
||||||
virtual void HandleShotFired(Vector source, Vector target) = 0;
|
virtual void HandleShotFired(Vector source, Vector target) = 0;
|
||||||
virtual struct TutorMessage *GetTutorMessageDefinition(int messageID) = 0;
|
virtual struct TutorMessage *GetTutorMessageDefinition(int messageID) = 0;
|
||||||
|
|
||||||
|
#ifdef HOOK_GAMEDLL
|
||||||
|
|
||||||
|
bool IsEntityInViewOfPlayer_(CBaseEntity *entity, CBasePlayer *player);
|
||||||
|
bool IsBombsiteInViewOfPlayer_(CBaseEntity *entity, CBasePlayer *player);
|
||||||
|
bool IsEntityInBombsite_(CBaseEntity *bombsite, CBaseEntity *entity);
|
||||||
|
bool IsPlayerLookingAtPosition_(Vector *origin, CBasePlayer *player);
|
||||||
|
bool IsPlayerLookingAtEntity_(CBaseEntity *entity, CBasePlayer *player);
|
||||||
|
|
||||||
|
#endif // HOOK_GAMEDLL
|
||||||
|
|
||||||
public:
|
public:
|
||||||
void StartFrame(float time);
|
void StartFrame(float time);
|
||||||
void OnEvent(GameEventType event, CBaseEntity *entity = NULL, CBaseEntity *other = NULL);
|
void OnEvent(GameEventType event, CBaseEntity *entity = NULL, CBaseEntity *other = NULL);
|
||||||
@ -89,17 +99,18 @@ public:
|
|||||||
void ShotFired(Vector source, Vector target);
|
void ShotFired(Vector source, Vector target);
|
||||||
void DisplayMessageToPlayer(CBasePlayer *player, int id, const char *szMessage, TutorMessageEvent *event);
|
void DisplayMessageToPlayer(CBasePlayer *player, int id, const char *szMessage, TutorMessageEvent *event);
|
||||||
NOXREF void DrawLineToEntity(CBasePlayer *player, int entindex, int id);
|
NOXREF void DrawLineToEntity(CBasePlayer *player, int entindex, int id);
|
||||||
NOXREF void DisplayNewStateDescriptionToPlayer(void);
|
void DisplayNewStateDescriptionToPlayer(void);
|
||||||
void CloseCurrentWindow(void);
|
void CloseCurrentWindow(void);
|
||||||
NOXREF void CheckForStateTransition(GameEventType event, CBaseEntity *entity, CBaseEntity *other);
|
void CheckForStateTransition(GameEventType event, CBaseEntity *entity, CBaseEntity *other);
|
||||||
void CalculatePathForObjective(CBaseEntity *player);
|
void CalculatePathForObjective(CBaseEntity *player);
|
||||||
bool DoMessagesHaveSameID(int id1, int id2);
|
bool DoMessagesHaveSameID(int id1, int id2);
|
||||||
|
|
||||||
private:
|
protected:
|
||||||
CBaseTutorStateSystem *m_stateSystem;
|
CBaseTutorStateSystem *m_stateSystem;
|
||||||
TutorMessageEvent *m_eventList;
|
TutorMessageEvent *m_eventList;
|
||||||
float m_deadAirStartTime;
|
float m_deadAirStartTime;
|
||||||
float m_roundStartTime;
|
float m_roundStartTime;
|
||||||
|
|
||||||
};/* size: 20, cachelines: 1, members: 5 */
|
};/* size: 20, cachelines: 1, members: 5 */
|
||||||
|
|
||||||
#ifdef HOOK_GAMEDLL
|
#ifdef HOOK_GAMEDLL
|
||||||
|
@ -1,164 +1,310 @@
|
|||||||
#include "precompiled.h"
|
#include "precompiled.h"
|
||||||
|
|
||||||
enum TutorStateType
|
/*
|
||||||
|
* Globals initialization
|
||||||
|
*/
|
||||||
|
#ifndef HOOK_GAMEDLL
|
||||||
|
|
||||||
|
char *const g_TutorStateStrings[20] =
|
||||||
{
|
{
|
||||||
TUTORSTATE_UNDEFINED = 0,
|
"#Cstrike_TutorState_Undefined",
|
||||||
TUTORSTATE_LOOKING_FOR_HOSTAGE,
|
"#Cstrike_TutorState_Looking_For_Hostage",
|
||||||
TUTORSTATE_ESCORTING_HOSTAGE,
|
"#Cstrike_TutorState_Escorting_Hostage",
|
||||||
TUTORSTATE_LOOKING_FOR_LOST_HOSTAGE,
|
"#Cstrike_TutorState_Following_Hostage_Escort",
|
||||||
TUTORSTATE_FOLLOWING_HOSTAGE_ESCORT,
|
"#Cstrike_TutorState_Moving_To_Bombsite",
|
||||||
TUTORSTATE_MOVING_TO_BOMBSITE,
|
"#Cstrike_TutorState_Looking_For_Bomb_Carrier",
|
||||||
TUTORSTATE_LOOKING_FOR_BOMB_CARRIER,
|
"#Cstrike_TutorState_Guarding_Loose_Bomb",
|
||||||
TUTORSTATE_GUARDING_LOOSE_BOMB,
|
"#Cstrike_TutorState_Defusing_Bomb",
|
||||||
TUTORSTATE_DEFUSING_BOMB,
|
"#Cstrike_TutorState_Guarding_Hostage",
|
||||||
TUTORSTATE_GUARDING_HOSTAGE,
|
"#Cstrike_TutorState_Moving_To_Intercept_Enemy",
|
||||||
TUTORSTATE_MOVING_TO_INTERCEPT_ENEMY,
|
"#Cstrike_TutorState_Looking_For_Hostage_Escort",
|
||||||
TUTORSTATE_LOOKING_FOR_HOSTAGE_ESCORT,
|
"#Cstrike_TutorState_Attacking_Hostage_Escort",
|
||||||
TUTORSTATE_ATTACKING_HOSTAGE_ESCORT,
|
"#Cstrike_TutorState_Escorting_Bomb_Carrier",
|
||||||
TUTORSTATE_ESCORTING_BOMB_CARRIER,
|
"#Cstrike_TutorState_Moving_To_Bomb_Site",
|
||||||
TUTORSTATE_MOVING_TO_BOMB_SITE,
|
"#Cstrike_TutorState_Planting_Bomb",
|
||||||
TUTORSTATE_PLANTING_BOMB,
|
"#Cstrike_TutorState_Guarding_Bomb",
|
||||||
TUTORSTATE_GUARDING_BOMB,
|
"#Cstrike_TutorState_Looking_For_Loose_Bomb",
|
||||||
TUTORSTATE_LOOKING_FOR_LOOSE_BOMB,
|
"#Cstrike_TutorState_Running_Away_From_Ticking_Bomb",
|
||||||
TUTORSTATE_RUNNING_AWAY_FROM_TICKING_BOMB,
|
"#Cstrike_TutorState_Buy_Time",
|
||||||
TUTORSTATE_BUYTIME,
|
"#Cstrike_TutorState_Waiting_For_Start"
|
||||||
TUTORSTATE_WAITING_FOR_START,
|
|
||||||
};
|
};
|
||||||
|
#else
|
||||||
|
|
||||||
|
char *const g_TutorStateStrings[20];
|
||||||
|
|
||||||
|
#endif // HOOK_GAMEDLL
|
||||||
|
|
||||||
/* <22bf8e> ../cstrike/dlls/tutor_cs_states.cpp:53 */
|
/* <22bf8e> ../cstrike/dlls/tutor_cs_states.cpp:53 */
|
||||||
NOBODY CCSTutorStateSystem::CCSTutorStateSystem(void)
|
CCSTutorStateSystem::CCSTutorStateSystem(void)
|
||||||
{
|
{
|
||||||
// CCSTutorUndefinedState(CCSTutorUndefinedState *const this); // 55
|
m_currentState = new CCSTutorUndefinedState;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* <22bd56> ../cstrike/dlls/tutor_cs_states.cpp:58 */
|
/* <22bd56> ../cstrike/dlls/tutor_cs_states.cpp:58 */
|
||||||
NOBODY CCSTutorStateSystem::~CCSTutorStateSystem(void)
|
CCSTutorStateSystem::~CCSTutorStateSystem(void)
|
||||||
{
|
{
|
||||||
|
if (m_currentState != NULL)
|
||||||
|
{
|
||||||
|
delete m_currentState;
|
||||||
|
m_currentState = NULL;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/* <22bccf> ../cstrike/dlls/tutor_cs_states.cpp:68 */
|
/* <22bccf> ../cstrike/dlls/tutor_cs_states.cpp:68 */
|
||||||
NOBODY bool CCSTutorStateSystem::UpdateState(GameEventType event, CBaseEntity *entity, CBaseEntity *other)
|
bool CCSTutorStateSystem::__MAKE_VHOOK(UpdateState)(GameEventType event, CBaseEntity *entity, CBaseEntity *other)
|
||||||
{
|
{
|
||||||
// {
|
if (m_currentState == NULL)
|
||||||
// enum TutorStateType nextStateType; // 70
|
{
|
||||||
// CCSTutorUndefinedState(CCSTutorUndefinedState *const this); // 76
|
m_currentState = new CCSTutorUndefinedState;
|
||||||
// }
|
}
|
||||||
|
|
||||||
|
if (m_currentState != NULL)
|
||||||
|
{
|
||||||
|
TutorStateType nextStateType = static_cast<TutorStateType>(m_currentState->CheckForStateTransition(event, entity, other));
|
||||||
|
|
||||||
|
if (nextStateType != TUTORSTATE_UNDEFINED)
|
||||||
|
{
|
||||||
|
if (m_currentState != NULL)
|
||||||
|
{
|
||||||
|
delete m_currentState;
|
||||||
|
}
|
||||||
|
|
||||||
|
m_currentState = NULL;
|
||||||
|
m_currentState = ConstructNewState(nextStateType);
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* <22b96f> ../cstrike/dlls/tutor_cs_states.cpp:108 */
|
/* <22b96f> ../cstrike/dlls/tutor_cs_states.cpp:108 */
|
||||||
NOBODY char *CCSTutorStateSystem::GetCurrentStateString(void)
|
char *CCSTutorStateSystem::__MAKE_VHOOK(GetCurrentStateString)(void)
|
||||||
{
|
{
|
||||||
|
if (m_currentState != NULL)
|
||||||
|
{
|
||||||
|
return m_currentState->GetStateString();
|
||||||
|
}
|
||||||
|
|
||||||
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* <22bbfe> ../cstrike/dlls/tutor_cs_states.cpp:118 */
|
/* <22bbfe> ../cstrike/dlls/tutor_cs_states.cpp:118 */
|
||||||
NOBODY CBaseTutorState *CCSTutorStateSystem::ConstructNewState(int stateType)
|
CBaseTutorState *CCSTutorStateSystem::__MAKE_VHOOK(ConstructNewState)(int stateType)
|
||||||
{
|
{
|
||||||
// {
|
CBaseTutorState *ret = NULL;
|
||||||
// class CBaseTutorState *ret; // 120
|
|
||||||
// CCSTutorWaitingForStartState(CCSTutorWaitingForStartState *const this); // 128
|
if (stateType != TUTORSTATE_UNDEFINED)
|
||||||
// CCSTutorBuyMenuState(CCSTutorBuyMenuState *const this); // 132
|
{
|
||||||
// }
|
if (stateType == TUTORSTATE_BUYTIME)
|
||||||
// ConstructNewState(CCSTutorStateSystem *const this,
|
{
|
||||||
// int stateType); // 118
|
ret = new CCSTutorBuyMenuState;
|
||||||
|
}
|
||||||
|
else if (stateType == TUTORSTATE_WAITING_FOR_START)
|
||||||
|
{
|
||||||
|
ret = new CCSTutorWaitingForStartState;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
ret = new CCSTutorUndefinedState;
|
||||||
|
}
|
||||||
|
|
||||||
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* <22bfcb> ../cstrike/dlls/tutor_cs_states.cpp:141 */
|
/* <22bfcb> ../cstrike/dlls/tutor_cs_states.cpp:141 */
|
||||||
NOBODY CCSTutorUndefinedState::CCSTutorUndefinedState(void)
|
CCSTutorUndefinedState::CCSTutorUndefinedState(void)
|
||||||
{
|
{
|
||||||
|
m_type = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* <22bb33> ../cstrike/dlls/tutor_cs_states.cpp:146 */
|
/* <22bb33> ../cstrike/dlls/tutor_cs_states.cpp:146 */
|
||||||
NOBODY CCSTutorUndefinedState::~CCSTutorUndefinedState(void)
|
CCSTutorUndefinedState::~CCSTutorUndefinedState(void)
|
||||||
{
|
{
|
||||||
// ~CCSTutorUndefinedState(CCSTutorUndefinedState::~CCSTutorUndefinedState(); // 148
|
;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* <22bdd8> ../cstrike/dlls/tutor_cs_states.cpp:150 */
|
/* <22bdd8> ../cstrike/dlls/tutor_cs_states.cpp:150 */
|
||||||
NOBODY int CCSTutorUndefinedState::CheckForStateTransition(GameEventType event, CBaseEntity *entity, CBaseEntity *other)
|
int CCSTutorUndefinedState::__MAKE_VHOOK(CheckForStateTransition)(GameEventType event, CBaseEntity *entity, CBaseEntity *other)
|
||||||
{
|
{
|
||||||
// {
|
int ret = 0;
|
||||||
// int ret; // 152
|
|
||||||
// HandlePlayerSpawned(CCSTutorUndefinedState *const this,
|
if (event == EVENT_PLAYER_SPAWNED)
|
||||||
// class CBaseEntity *entity,
|
{
|
||||||
// class CBaseEntity *other); // 156
|
ret = HandlePlayerSpawned(entity, other);
|
||||||
// }
|
}
|
||||||
|
|
||||||
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* <22bfed> ../cstrike/dlls/tutor_cs_states.cpp:163 */
|
/* <22bfed> ../cstrike/dlls/tutor_cs_states.cpp:163 */
|
||||||
NOBODY int CCSTutorUndefinedState::HandlePlayerSpawned(CBaseEntity *entity, CBaseEntity *other)
|
int CCSTutorUndefinedState::HandlePlayerSpawned(CBaseEntity *entity, CBaseEntity *other)
|
||||||
{
|
{
|
||||||
// {
|
CBasePlayer *localPlayer = UTIL_GetLocalPlayer();
|
||||||
// class CBasePlayer *localPlayer; // 171
|
|
||||||
// class CBasePlayer *player; // 178
|
if (localPlayer != NULL)
|
||||||
// }
|
{
|
||||||
|
CBasePlayer *player = reinterpret_cast<CBasePlayer *>(entity);
|
||||||
|
|
||||||
|
if (player != NULL && player->IsPlayer() && player == localPlayer)
|
||||||
|
{
|
||||||
|
// flags
|
||||||
|
return TUTOR_STATE_FLAG_1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* <22b995> ../cstrike/dlls/tutor_cs_states.cpp:190 */
|
/* <22b995> ../cstrike/dlls/tutor_cs_states.cpp:190 */
|
||||||
NOBODY char *CCSTutorUndefinedState::GetStateString(void)
|
char *CCSTutorUndefinedState::__MAKE_VHOOK(GetStateString)(void)
|
||||||
{
|
{
|
||||||
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* <22c03e> ../cstrike/dlls/tutor_cs_states.cpp:198 */
|
/* <22c03e> ../cstrike/dlls/tutor_cs_states.cpp:198 */
|
||||||
NOBODY CCSTutorWaitingForStartState::CCSTutorWaitingForStartState(void)
|
CCSTutorWaitingForStartState::CCSTutorWaitingForStartState(void)
|
||||||
{
|
{
|
||||||
|
m_type = (TUTORMESSAGETYPE_ENEMY_DEATH | TUTORMESSAGETYPE_BUY);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* <22bab6> ../cstrike/dlls/tutor_cs_states.cpp:203 */
|
/* <22bab6> ../cstrike/dlls/tutor_cs_states.cpp:203 */
|
||||||
NOBODY CCSTutorWaitingForStartState::~CCSTutorWaitingForStartState(void)
|
CCSTutorWaitingForStartState::~CCSTutorWaitingForStartState(void)
|
||||||
{
|
{
|
||||||
|
;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* <22beca> ../cstrike/dlls/tutor_cs_states.cpp:207 */
|
/* <22beca> ../cstrike/dlls/tutor_cs_states.cpp:207 */
|
||||||
NOBODY int CCSTutorWaitingForStartState::CheckForStateTransition(GameEventType event, CBaseEntity *entity, CBaseEntity *other)
|
int CCSTutorWaitingForStartState::__MAKE_VHOOK(CheckForStateTransition)(GameEventType event, CBaseEntity *entity, CBaseEntity *other)
|
||||||
{
|
{
|
||||||
// {
|
int ret = 0;
|
||||||
// int ret; // 209
|
|
||||||
// HandlePlayerSpawned(CCSTutorWaitingForStartState *const this,
|
switch (event)
|
||||||
// class CBaseEntity *entity,
|
{
|
||||||
// class CBaseEntity *other); // 214
|
case EVENT_PLAYER_SPAWNED:
|
||||||
// }
|
ret = HandlePlayerSpawned(entity, other);
|
||||||
|
break;
|
||||||
|
case EVENT_BUY_TIME_START:
|
||||||
|
ret = HandleBuyTimeStart(entity, other);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* <22b9bb> ../cstrike/dlls/tutor_cs_states.cpp:224 */
|
/* <22b9bb> ../cstrike/dlls/tutor_cs_states.cpp:224 */
|
||||||
NOBODY char *CCSTutorWaitingForStartState::GetStateString(void)
|
char *CCSTutorWaitingForStartState::__MAKE_VHOOK(GetStateString)(void)
|
||||||
{
|
{
|
||||||
|
return g_TutorStateStrings[m_type];
|
||||||
}
|
}
|
||||||
|
|
||||||
/* <22c060> ../cstrike/dlls/tutor_cs_states.cpp:230 */
|
/* <22c060> ../cstrike/dlls/tutor_cs_states.cpp:230 */
|
||||||
NOBODY int CCSTutorWaitingForStartState::HandlePlayerSpawned(CBaseEntity *entity, CBaseEntity *other)
|
int CCSTutorWaitingForStartState::HandlePlayerSpawned(CBaseEntity *entity, CBaseEntity *other)
|
||||||
{
|
{
|
||||||
// {
|
CBasePlayer *localPlayer = UTIL_GetLocalPlayer();
|
||||||
// class CBasePlayer *localPlayer; // 238
|
|
||||||
// class CBasePlayer *player; // 245
|
if (localPlayer != NULL)
|
||||||
// }
|
{
|
||||||
|
CBasePlayer *player = reinterpret_cast<CBasePlayer *>(entity);
|
||||||
|
|
||||||
|
if (player != NULL && player->IsPlayer() && player == localPlayer)
|
||||||
|
{
|
||||||
|
// flags
|
||||||
|
return TUTOR_STATE_FLAG_1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* <22c0b1> ../cstrike/dlls/tutor_cs_states.cpp:257 */
|
/* <22c0b1> ../cstrike/dlls/tutor_cs_states.cpp:257 */
|
||||||
NOBODY int CCSTutorWaitingForStartState::HandleBuyTimeStart(CBaseEntity *entity, CBaseEntity *other)
|
int CCSTutorWaitingForStartState::HandleBuyTimeStart(CBaseEntity *entity, CBaseEntity *other)
|
||||||
{
|
{
|
||||||
|
return TUTOR_STATE_FLAG_2;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* <22c0e2> ../cstrike/dlls/tutor_cs_states.cpp:266 */
|
/* <22c0e2> ../cstrike/dlls/tutor_cs_states.cpp:266 */
|
||||||
NOBODY CCSTutorBuyMenuState::CCSTutorBuyMenuState(void)
|
CCSTutorBuyMenuState::CCSTutorBuyMenuState(void)
|
||||||
{
|
{
|
||||||
|
m_type = (TUTORMESSAGETYPE_DEFAULT | TUTORMESSAGETYPE_FRIEND_DEATH | TUTORMESSAGETYPE_BUY);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* <22ba5a> ../cstrike/dlls/tutor_cs_states.cpp:271 */
|
/* <22ba5a> ../cstrike/dlls/tutor_cs_states.cpp:271 */
|
||||||
NOBODY CCSTutorBuyMenuState::~CCSTutorBuyMenuState(void)
|
CCSTutorBuyMenuState::~CCSTutorBuyMenuState(void)
|
||||||
{
|
{
|
||||||
|
;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* <22b9e1> ../cstrike/dlls/tutor_cs_states.cpp:275 */
|
/* <22b9e1> ../cstrike/dlls/tutor_cs_states.cpp:275 */
|
||||||
NOBODY int CCSTutorBuyMenuState::CheckForStateTransition(GameEventType event, CBaseEntity *entity, CBaseEntity *other)
|
int CCSTutorBuyMenuState::__MAKE_VHOOK(CheckForStateTransition)(GameEventType event, CBaseEntity *entity, CBaseEntity *other)
|
||||||
{
|
{
|
||||||
|
if (event == EVENT_ROUND_START)
|
||||||
|
{
|
||||||
|
return HandleRoundStart(entity, other);
|
||||||
|
}
|
||||||
|
|
||||||
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* <22ba34> ../cstrike/dlls/tutor_cs_states.cpp:288 */
|
/* <22ba34> ../cstrike/dlls/tutor_cs_states.cpp:288 */
|
||||||
NOBODY char *CCSTutorBuyMenuState::GetStateString(void)
|
char *CCSTutorBuyMenuState::__MAKE_VHOOK(GetStateString)(void)
|
||||||
{
|
{
|
||||||
|
return g_TutorStateStrings[m_type];
|
||||||
}
|
}
|
||||||
|
|
||||||
/* <22c104> ../cstrike/dlls/tutor_cs_states.cpp:293 */
|
/* <22c104> ../cstrike/dlls/tutor_cs_states.cpp:293 */
|
||||||
NOBODY int CCSTutorBuyMenuState::HandleRoundStart(CBaseEntity *entity, CBaseEntity *other)
|
int CCSTutorBuyMenuState::HandleRoundStart(CBaseEntity *entity, CBaseEntity *other)
|
||||||
{
|
{
|
||||||
|
return TUTOR_STATE_FLAG_1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#ifdef HOOK_GAMEDLL
|
||||||
|
|
||||||
|
bool CCSTutorStateSystem::UpdateState(GameEventType event, CBaseEntity *entity, CBaseEntity *other)
|
||||||
|
{
|
||||||
|
return UpdateState_(event, entity, other);
|
||||||
|
}
|
||||||
|
|
||||||
|
char *CCSTutorStateSystem::GetCurrentStateString(void)
|
||||||
|
{
|
||||||
|
return GetCurrentStateString_();
|
||||||
|
}
|
||||||
|
|
||||||
|
CBaseTutorState *CCSTutorStateSystem::ConstructNewState(int stateType)
|
||||||
|
{
|
||||||
|
return ConstructNewState_(stateType);
|
||||||
|
}
|
||||||
|
|
||||||
|
int CCSTutorUndefinedState::CheckForStateTransition(GameEventType event, CBaseEntity *entity, CBaseEntity *other)
|
||||||
|
{
|
||||||
|
return CheckForStateTransition_(event, entity, other);
|
||||||
|
}
|
||||||
|
|
||||||
|
char *CCSTutorUndefinedState::GetStateString(void)
|
||||||
|
{
|
||||||
|
return GetStateString_();
|
||||||
|
}
|
||||||
|
|
||||||
|
int CCSTutorWaitingForStartState::CheckForStateTransition(GameEventType event, CBaseEntity *entity, CBaseEntity *other)
|
||||||
|
{
|
||||||
|
return CheckForStateTransition_(event, entity, other);
|
||||||
|
}
|
||||||
|
|
||||||
|
char *CCSTutorWaitingForStartState::GetStateString(void)
|
||||||
|
{
|
||||||
|
return GetStateString_();
|
||||||
|
}
|
||||||
|
|
||||||
|
int CCSTutorBuyMenuState::CheckForStateTransition(GameEventType event, CBaseEntity *entity, CBaseEntity *other)
|
||||||
|
{
|
||||||
|
return CheckForStateTransition_(event, entity, other);
|
||||||
|
}
|
||||||
|
|
||||||
|
char *CCSTutorBuyMenuState::GetStateString(void)
|
||||||
|
{
|
||||||
|
return GetStateString_();
|
||||||
|
}
|
||||||
|
|
||||||
|
#endif // HOOK_GAMEDLL
|
||||||
|
@ -32,6 +32,35 @@
|
|||||||
#pragma once
|
#pragma once
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
// unknown flags
|
||||||
|
#define TUTOR_STATE_FLAG_1 0x00000014
|
||||||
|
#define TUTOR_STATE_FLAG_2 0x00000013
|
||||||
|
|
||||||
|
enum TutorStateType
|
||||||
|
{
|
||||||
|
TUTORSTATE_UNDEFINED = 0,
|
||||||
|
TUTORSTATE_LOOKING_FOR_HOSTAGE,
|
||||||
|
TUTORSTATE_ESCORTING_HOSTAGE,
|
||||||
|
TUTORSTATE_LOOKING_FOR_LOST_HOSTAGE,
|
||||||
|
TUTORSTATE_FOLLOWING_HOSTAGE_ESCORT,
|
||||||
|
TUTORSTATE_MOVING_TO_BOMBSITE,
|
||||||
|
TUTORSTATE_LOOKING_FOR_BOMB_CARRIER,
|
||||||
|
TUTORSTATE_GUARDING_LOOSE_BOMB,
|
||||||
|
TUTORSTATE_DEFUSING_BOMB,
|
||||||
|
TUTORSTATE_GUARDING_HOSTAGE,
|
||||||
|
TUTORSTATE_MOVING_TO_INTERCEPT_ENEMY,
|
||||||
|
TUTORSTATE_LOOKING_FOR_HOSTAGE_ESCORT,
|
||||||
|
TUTORSTATE_ATTACKING_HOSTAGE_ESCORT,
|
||||||
|
TUTORSTATE_ESCORTING_BOMB_CARRIER,
|
||||||
|
TUTORSTATE_MOVING_TO_BOMB_SITE,
|
||||||
|
TUTORSTATE_PLANTING_BOMB,
|
||||||
|
TUTORSTATE_GUARDING_BOMB,
|
||||||
|
TUTORSTATE_LOOKING_FOR_LOOSE_BOMB,
|
||||||
|
TUTORSTATE_RUNNING_AWAY_FROM_TICKING_BOMB,
|
||||||
|
TUTORSTATE_BUYTIME,
|
||||||
|
TUTORSTATE_WAITING_FOR_START,
|
||||||
|
};
|
||||||
|
|
||||||
/* <22bf75> ../cstrike/dlls/tutor_cs_states.cpp:53 */
|
/* <22bf75> ../cstrike/dlls/tutor_cs_states.cpp:53 */
|
||||||
class CCSTutorStateSystem: public CBaseTutorStateSystem
|
class CCSTutorStateSystem: public CBaseTutorStateSystem
|
||||||
{
|
{
|
||||||
@ -41,8 +70,22 @@ public:
|
|||||||
virtual ~CCSTutorStateSystem(void);
|
virtual ~CCSTutorStateSystem(void);
|
||||||
virtual bool UpdateState(GameEventType event, CBaseEntity *entity, CBaseEntity *other);
|
virtual bool UpdateState(GameEventType event, CBaseEntity *entity, CBaseEntity *other);
|
||||||
virtual char *GetCurrentStateString(void);
|
virtual char *GetCurrentStateString(void);
|
||||||
|
|
||||||
|
#ifndef HOOK_GAMEDLL
|
||||||
protected:
|
protected:
|
||||||
|
#endif // HOOK_GAMEDLL
|
||||||
|
|
||||||
virtual CBaseTutorState *ConstructNewState(int stateType);
|
virtual CBaseTutorState *ConstructNewState(int stateType);
|
||||||
|
|
||||||
|
#ifdef HOOK_GAMEDLL
|
||||||
|
public:
|
||||||
|
|
||||||
|
bool UpdateState_(GameEventType event, CBaseEntity *entity, CBaseEntity *other);
|
||||||
|
char *GetCurrentStateString_(void);
|
||||||
|
CBaseTutorState *ConstructNewState_(int stateType);
|
||||||
|
|
||||||
|
#endif // HOOK_GAMEDLL
|
||||||
|
|
||||||
};/* size: 8, cachelines: 1, members: 1 */
|
};/* size: 8, cachelines: 1, members: 1 */
|
||||||
|
|
||||||
/* <22bfcb> ../cstrike/dlls/tutor_cs_states.cpp:141 */
|
/* <22bfcb> ../cstrike/dlls/tutor_cs_states.cpp:141 */
|
||||||
@ -55,8 +98,16 @@ public:
|
|||||||
virtual int CheckForStateTransition(GameEventType event, CBaseEntity *entity, CBaseEntity *other);
|
virtual int CheckForStateTransition(GameEventType event, CBaseEntity *entity, CBaseEntity *other);
|
||||||
virtual char *GetStateString(void);
|
virtual char *GetStateString(void);
|
||||||
|
|
||||||
|
#ifdef HOOK_GAMEDLL
|
||||||
|
|
||||||
|
int CheckForStateTransition_(GameEventType event, CBaseEntity *entity, CBaseEntity *other);
|
||||||
|
char *GetStateString_(void);
|
||||||
|
|
||||||
|
#endif // HOOK_GAMEDLL
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
int HandlePlayerSpawned(CBaseEntity *entity, CBaseEntity *other);
|
int HandlePlayerSpawned(CBaseEntity *entity, CBaseEntity *other);
|
||||||
|
|
||||||
};/* size: 8, cachelines: 1, members: 1 */
|
};/* size: 8, cachelines: 1, members: 1 */
|
||||||
|
|
||||||
/* <22c03e> ../cstrike/dlls/tutor_cs_states.cpp:198 */
|
/* <22c03e> ../cstrike/dlls/tutor_cs_states.cpp:198 */
|
||||||
@ -69,6 +120,13 @@ public:
|
|||||||
virtual int CheckForStateTransition(GameEventType event, CBaseEntity *entity, CBaseEntity *other);
|
virtual int CheckForStateTransition(GameEventType event, CBaseEntity *entity, CBaseEntity *other);
|
||||||
virtual char *GetStateString(void);
|
virtual char *GetStateString(void);
|
||||||
|
|
||||||
|
#ifdef HOOK_GAMEDLL
|
||||||
|
|
||||||
|
int CheckForStateTransition_(GameEventType event, CBaseEntity *entity, CBaseEntity *other);
|
||||||
|
char *GetStateString_(void);
|
||||||
|
|
||||||
|
#endif // HOOK_GAMEDLL
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
|
|
||||||
int HandlePlayerSpawned(CBaseEntity *entity, CBaseEntity *other);
|
int HandlePlayerSpawned(CBaseEntity *entity, CBaseEntity *other);
|
||||||
@ -86,9 +144,22 @@ public:
|
|||||||
virtual int CheckForStateTransition(GameEventType event, CBaseEntity *entity, CBaseEntity *other);
|
virtual int CheckForStateTransition(GameEventType event, CBaseEntity *entity, CBaseEntity *other);
|
||||||
virtual char *GetStateString(void);
|
virtual char *GetStateString(void);
|
||||||
|
|
||||||
|
#ifdef HOOK_GAMEDLL
|
||||||
|
|
||||||
|
int CheckForStateTransition_(GameEventType event, CBaseEntity *entity, CBaseEntity *other);
|
||||||
|
char *GetStateString_(void);
|
||||||
|
|
||||||
|
#endif // HOOK_GAMEDLL
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
int HandleRoundStart(CBaseEntity *entity, CBaseEntity *other);
|
int HandleRoundStart(CBaseEntity *entity, CBaseEntity *other);
|
||||||
|
|
||||||
};/* size: 8, cachelines: 1, members: 1 */
|
};/* size: 8, cachelines: 1, members: 1 */
|
||||||
|
|
||||||
|
#ifdef HOOK_GAMEDLL
|
||||||
|
#define g_TutorStateStrings (*pg_TutorStateStrings)
|
||||||
|
#endif // HOOK_GAMEDLL
|
||||||
|
|
||||||
|
extern char *const g_TutorStateStrings[20];
|
||||||
|
|
||||||
#endif // TUTOR_CS_STATES_H
|
#endif // TUTOR_CS_STATES_H
|
||||||
|
File diff suppressed because it is too large
Load Diff
@ -43,17 +43,18 @@ enum TutorMessageClass
|
|||||||
|
|
||||||
enum TutorMessageType
|
enum TutorMessageType
|
||||||
{
|
{
|
||||||
TUTORMESSAGETYPE_DEFAULT = (1<<0),
|
TUTORMESSAGETYPE_DEFAULT = (1 << 0), // icon info | color green
|
||||||
TUTORMESSAGETYPE_FRIEND_DEATH = (1<<1),
|
TUTORMESSAGETYPE_FRIEND_DEATH = (1 << 1), // icon skull | color red
|
||||||
TUTORMESSAGETYPE_ENEMY_DEATH = (1<<2),
|
TUTORMESSAGETYPE_ENEMY_DEATH = (1 << 2), // icon skull | color blue
|
||||||
TUTORMESSAGETYPE_SCENARIO = (1<<3),
|
TUTORMESSAGETYPE_SCENARIO = (1 << 3), // icon info | color yellow
|
||||||
TUTORMESSAGETYPE_BUY = (1<<4),
|
TUTORMESSAGETYPE_BUY = (1 << 4), // icon info | color green
|
||||||
TUTORMESSAGETYPE_CAREER = (1<<5),
|
TUTORMESSAGETYPE_CAREER = (1 << 5), // icon info | color green
|
||||||
TUTORMESSAGETYPE_HINT = (1<<6),
|
TUTORMESSAGETYPE_HINT = (1 << 6), // icon info | color green
|
||||||
TUTORMESSAGETYPE_INGAME_HINT = (1<<7),
|
TUTORMESSAGETYPE_INGAME_HINT = (1 << 7), // icon info | color green
|
||||||
TUTORMESSAGETYPE_END_GAME = (1<<8),
|
TUTORMESSAGETYPE_END_GAME = (1 << 8), // icon info | color yellow
|
||||||
|
|
||||||
TUTORMESSAGETYPE_LAST,
|
TUTORMESSAGETYPE_LAST,
|
||||||
TUTORMESSAGETYPE_ALL = 511
|
TUTORMESSAGETYPE_ALL = (1 << 9) - 1
|
||||||
};
|
};
|
||||||
|
|
||||||
enum TutorMessageInterruptFlag
|
enum TutorMessageInterruptFlag
|
||||||
@ -237,15 +238,15 @@ enum TutorMessageID
|
|||||||
HINT_51,
|
HINT_51,
|
||||||
HINT_52,
|
HINT_52,
|
||||||
HINT_53,
|
HINT_53,
|
||||||
HINT_BOMB_START,
|
HINT_BOMB_START = 139,
|
||||||
HINT_60 = 139,
|
HINT_60 = 139,
|
||||||
HINT_61,
|
HINT_61 = 140,
|
||||||
HINT_BOMB_END = 140,
|
HINT_BOMB_END = 140,
|
||||||
HINT_HOSTAGE_START,
|
HINT_HOSTAGE_START = 141,
|
||||||
HINT_70 = 141,
|
HINT_70 = 141,
|
||||||
HINT_71,
|
HINT_71,
|
||||||
HINT_72,
|
HINT_72,
|
||||||
HINT_73,
|
HINT_73 = 144,
|
||||||
HINT_HOSTAGE_END = 144,
|
HINT_HOSTAGE_END = 144,
|
||||||
HINT_END,
|
HINT_END,
|
||||||
INGAME_HINT_BEGIN,
|
INGAME_HINT_BEGIN,
|
||||||
@ -256,7 +257,8 @@ enum TutorMessageID
|
|||||||
};
|
};
|
||||||
|
|
||||||
//typedef map<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, TutorMessage*, std::less<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<const std::basic_string<char, std::char_traits<char>, std::allocator<char> >, TutorMessage*> > > TutorMessageMap;
|
//typedef map<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, TutorMessage*, std::less<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<const std::basic_string<char, std::char_traits<char>, std::allocator<char> >, TutorMessage*> > > TutorMessageMap;
|
||||||
typedef std::map<TutorMessage *, TutorMessage *> TutorMessageMap;
|
typedef std::map<std::string, TutorMessage *> TutorMessageMap;
|
||||||
|
typedef TutorMessageMap::iterator TutorMessageMapIter;
|
||||||
|
|
||||||
struct ClientCorpseStruct
|
struct ClientCorpseStruct
|
||||||
{
|
{
|
||||||
@ -266,6 +268,7 @@ struct ClientCorpseStruct
|
|||||||
};/* size: 16, cachelines: 1, members: 2 */
|
};/* size: 16, cachelines: 1, members: 2 */
|
||||||
|
|
||||||
typedef std::vector<ClientCorpseStruct *> ClientCorpseList;
|
typedef std::vector<ClientCorpseStruct *> ClientCorpseList;
|
||||||
|
typedef ClientCorpseList::iterator ClientCorpseListIter;
|
||||||
|
|
||||||
class CCSTutor: public CBaseTutor
|
class CCSTutor: public CBaseTutor
|
||||||
{
|
{
|
||||||
@ -287,19 +290,19 @@ public:
|
|||||||
virtual void HandleShotFired(Vector source, Vector target);
|
virtual void HandleShotFired(Vector source, Vector target);
|
||||||
virtual TutorMessage *GetTutorMessageDefinition(int messageID);
|
virtual TutorMessage *GetTutorMessageDefinition(int messageID);
|
||||||
|
|
||||||
void CreateAndAddEventToList(TutorMessageID mid, CBaseEntity *entity, CBaseEntity *other);
|
void CreateAndAddEventToList(TutorMessageID mid, CBaseEntity *entity = NULL, CBaseEntity *other = NULL);
|
||||||
TutorMessageEvent *CreateTutorMessageEvent(TutorMessageID mid, CBaseEntity *entity, CBaseEntity *other);
|
TutorMessageEvent *CreateTutorMessageEvent(TutorMessageID mid, CBaseEntity *entity = NULL, CBaseEntity *other = NULL);
|
||||||
void AddToEventList(TutorMessageEvent *event);
|
void AddToEventList(TutorMessageEvent *event);
|
||||||
void DeleteEventFromEventList(TutorMessageEvent *event);
|
void DeleteEventFromEventList(TutorMessageEvent *event);
|
||||||
void ClearEventList(void);
|
void ClearEventList(void);
|
||||||
void ClearCurrentEvent(bool closeWindow, bool processDeathsForEvent);
|
void ClearCurrentEvent(bool closeWindow = true, bool processDeathsForEvent = true);
|
||||||
void DeleteEvent(TutorMessageEvent *event);
|
void DeleteEvent(TutorMessageEvent *event);
|
||||||
bool ShouldShowMessageEvent(TutorMessageEvent *event, float time);
|
bool ShouldShowMessageEvent(TutorMessageEvent *event, float time);
|
||||||
bool ShouldUpdateCurrentMessage(TutorMessageID messageID);
|
NOXREF bool ShouldUpdateCurrentMessage(TutorMessageID messageID);
|
||||||
void ComputeDisplayTimesForMessage(void);
|
void ComputeDisplayTimesForMessage(void);
|
||||||
void UpdateCurrentMessage(TutorMessageEvent *event);
|
void UpdateCurrentMessage(TutorMessageEvent *event);
|
||||||
void ConstructMessageAndDisplay(void);
|
void ConstructMessageAndDisplay(void);
|
||||||
void LookupHotKey(TutorMessageID mid, int paramNum, wchar_t *buf, int buflen);
|
NOXREF void LookupHotKey(TutorMessageID mid, int paramNum, wchar_t *buf, int buflen);
|
||||||
void CheckForWindowClose(float time);
|
void CheckForWindowClose(float time);
|
||||||
void CheckForContentUpdate(void);
|
void CheckForContentUpdate(void);
|
||||||
bool HasCurrentWindowBeenActiveLongEnough(float time);
|
bool HasCurrentWindowBeenActiveLongEnough(float time);
|
||||||
@ -309,7 +312,7 @@ public:
|
|||||||
void ProcessShownDeathsForEvent(TutorMessageEvent *event);
|
void ProcessShownDeathsForEvent(TutorMessageEvent *event);
|
||||||
void TransferDeathEvents(TutorMessageEvent *oldEvent, TutorMessageEvent *newEvent);
|
void TransferDeathEvents(TutorMessageEvent *oldEvent, TutorMessageEvent *newEvent);
|
||||||
TutorMessageEvent *GetTutorMessageUpdateEvent(void);
|
TutorMessageEvent *GetTutorMessageUpdateEvent(void);
|
||||||
bool GetDuplicateMessagesFromEventList(const TutorMessageEvent *&event1, const TutorMessageEvent *&event2);
|
bool GetDuplicateMessagesFromEventList(TutorMessageEvent *&event1, TutorMessageEvent *&event2);
|
||||||
bool IsBombMap(void);
|
bool IsBombMap(void);
|
||||||
bool IsHostageMap(void);
|
bool IsHostageMap(void);
|
||||||
public:
|
public:
|
||||||
@ -318,10 +321,10 @@ public:
|
|||||||
void HandleWeaponReloaded(CBaseEntity *entity, CBaseEntity *other);
|
void HandleWeaponReloaded(CBaseEntity *entity, CBaseEntity *other);
|
||||||
void HandlePlayerDied(CBaseEntity *entity, CBaseEntity *other);
|
void HandlePlayerDied(CBaseEntity *entity, CBaseEntity *other);
|
||||||
void HandlePlayerSpawned(CBaseEntity *entity, CBaseEntity *other);
|
void HandlePlayerSpawned(CBaseEntity *entity, CBaseEntity *other);
|
||||||
void HandleClientCorpseSpawned(CBaseEntity *entity, CBaseEntity *other);
|
NOXREF void HandleClientCorpseSpawned(CBaseEntity *entity, CBaseEntity *other);
|
||||||
void HandlePlayerTookDamage(CBaseEntity *entity, CBaseEntity *other);
|
void HandlePlayerTookDamage(CBaseEntity *entity, CBaseEntity *other);
|
||||||
void HandlePlayerBlindedByFlashbang(CBaseEntity *entity, CBaseEntity *other);
|
void HandlePlayerBlindedByFlashbang(CBaseEntity *entity, CBaseEntity *other);
|
||||||
void HandleBuyTimeStart(CBaseEntity *entity, CBaseEntity *other);
|
NOXREF void HandleBuyTimeStart(CBaseEntity *entity, CBaseEntity *other);
|
||||||
void HandlePlayerLeftBuyZone(CBaseEntity *entity, CBaseEntity *other);
|
void HandlePlayerLeftBuyZone(CBaseEntity *entity, CBaseEntity *other);
|
||||||
void HandleBombPlanted(CBaseEntity *entity, CBaseEntity *other);
|
void HandleBombPlanted(CBaseEntity *entity, CBaseEntity *other);
|
||||||
void HandleRoundStart(CBaseEntity *entity, CBaseEntity *other);
|
void HandleRoundStart(CBaseEntity *entity, CBaseEntity *other);
|
||||||
@ -383,13 +386,13 @@ public:
|
|||||||
void CheckHintMessages(float time);
|
void CheckHintMessages(float time);
|
||||||
void CheckInGameHintMessages(float time);
|
void CheckInGameHintMessages(float time);
|
||||||
void CheckExamineMessages(float time);
|
void CheckExamineMessages(float time);
|
||||||
void CheckForNeedToReload(bool isPassiveCheck);
|
void CheckForNeedToReload(bool isPassiveCheck = false);
|
||||||
bool CanLocalPlayerBuyStuff(void);
|
bool CanLocalPlayerBuyStuff(void);
|
||||||
void CheckBuyZoneMessages(void);
|
void CheckBuyZoneMessages(void);
|
||||||
bool IsBombPlantedInBombsite(CBaseEntity *bombTarget);
|
bool IsBombPlantedInBombsite(CBaseEntity *bombTarget);
|
||||||
void ReadTutorMessageFile(void);
|
void ReadTutorMessageFile(void);
|
||||||
void ApplyPersistentDecay(void);
|
void ApplyPersistentDecay(void);
|
||||||
CBaseEntity *GetEntityForMessageID(int messageID, CBaseEntity *last);
|
CBaseEntity *GetEntityForMessageID(int messageID, CBaseEntity *last = NULL);
|
||||||
void ResetPlayerDeathInfo(void);
|
void ResetPlayerDeathInfo(void);
|
||||||
void ConstructRecentDeathsList(TeamName team, char *buf, int buflen, TutorMessageEvent *event);
|
void ConstructRecentDeathsList(TeamName team, char *buf, int buflen, TutorMessageEvent *event);
|
||||||
|
|
||||||
@ -406,16 +409,7 @@ public:
|
|||||||
|
|
||||||
private:
|
private:
|
||||||
float m_nextViewableCheckTime;
|
float m_nextViewableCheckTime;
|
||||||
TutorMessageMap m_messageMap; // Win: 16 | Lin - 20
|
TutorMessageMap m_messageMap;
|
||||||
|
|
||||||
#ifdef HOOK_GAMEDLL
|
|
||||||
#ifdef _WIN32
|
|
||||||
int padding1[2];
|
|
||||||
#else
|
|
||||||
int padding1[4];
|
|
||||||
#endif // _WIN32
|
|
||||||
#endif // HOOK_GAMEDLL
|
|
||||||
|
|
||||||
TutorMessageID m_currentlyShownMessageID;
|
TutorMessageID m_currentlyShownMessageID;
|
||||||
float m_currentlyShownMessageCloseTime;
|
float m_currentlyShownMessageCloseTime;
|
||||||
float m_currentlyShownMessageStartTime;
|
float m_currentlyShownMessageStartTime;
|
||||||
@ -424,13 +418,7 @@ private:
|
|||||||
TutorMessageEvent *m_lastScenarioEvent;
|
TutorMessageEvent *m_lastScenarioEvent;
|
||||||
TutorMessageID m_lastHintShown;
|
TutorMessageID m_lastHintShown;
|
||||||
TutorMessageID m_lastInGameHintShown;
|
TutorMessageID m_lastInGameHintShown;
|
||||||
|
ClientCorpseList m_clientCorpseList;
|
||||||
ClientCorpseList m_clientCorpseList; // Win: 16 | Lin - 12
|
|
||||||
|
|
||||||
#if defined(HOOK_GAMEDLL) && defined(_WIN32)
|
|
||||||
int padding2;
|
|
||||||
#endif // HOOK_GAMEDLL
|
|
||||||
|
|
||||||
int m_messageTypeMask;
|
int m_messageTypeMask;
|
||||||
bool m_haveSpawned;
|
bool m_haveSpawned;
|
||||||
PlayerDeathStruct m_playerDeathInfo[32];
|
PlayerDeathStruct m_playerDeathInfo[32];
|
||||||
@ -443,10 +431,22 @@ private:
|
|||||||
|
|
||||||
#endif // HOOK_GAMEDLL
|
#endif // HOOK_GAMEDLL
|
||||||
|
|
||||||
extern const char *TutorIdentifierList[150];
|
extern const char *TutorIdentifierList[ TUTOR_NUM_MESSAGES ];
|
||||||
|
|
||||||
NOBODY void ParseMessageParameters(const char *&messageData, TutorMessage *ret);
|
void ParseMessageParameters(char *&messageData, TutorMessage *ret);
|
||||||
NOBODY TutorMessage *ConstructTutorMessage(const char *&messageData, TutorMessage *defaults);
|
TutorMessage *ConstructTutorMessage(char *&messageData, TutorMessage *defaults);
|
||||||
NOBODY void ReadDefaultValues(const char *&messageData, TutorMessage *defaults);
|
void ReadDefaultValues(char *&messageData, TutorMessage *defaults);
|
||||||
|
|
||||||
|
// custom operator
|
||||||
|
inline TutorMessageID operator++(TutorMessageID &e, int)
|
||||||
|
{
|
||||||
|
if (e == TUTOR_NUM_MESSAGES)
|
||||||
|
{
|
||||||
|
return YOU_FIRED_A_SHOT;
|
||||||
|
}
|
||||||
|
|
||||||
|
const int i = static_cast<int>(e);
|
||||||
|
return e = static_cast<TutorMessageID>(i + 1);
|
||||||
|
}
|
||||||
|
|
||||||
#endif // TUTOR_CS_TUTOR_H
|
#endif // TUTOR_CS_TUTOR_H
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
#include "precompiled.h"
|
#include "precompiled.h"
|
||||||
|
|
||||||
#if 1
|
#if 0
|
||||||
|
|
||||||
void *addr_orig;
|
void *addr_orig;
|
||||||
char patchByte[5];
|
char patchByte[5];
|
||||||
@ -175,6 +175,7 @@ int UTIL_SharedRandomLong(unsigned int seed, int low, int high)
|
|||||||
int offset = rnum % range;
|
int offset = rnum % range;
|
||||||
return (low + offset);
|
return (low + offset);
|
||||||
}
|
}
|
||||||
|
|
||||||
return low;
|
return low;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -193,6 +194,7 @@ float UTIL_SharedRandomFloat(unsigned int seed, float low, float high)
|
|||||||
float offset = (float)tensixrand / 0x10000u;
|
float offset = (float)tensixrand / 0x10000u;
|
||||||
return (low + offset * range);
|
return (low + offset * range);
|
||||||
}
|
}
|
||||||
|
|
||||||
return low;
|
return low;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -341,6 +343,7 @@ int UTIL_EntitiesInBox(CBaseEntity **pList, int listMax, const Vector &mins, con
|
|||||||
if (count >= listMax)
|
if (count >= listMax)
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
return count;
|
return count;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -399,6 +402,7 @@ NOXREF int UTIL_MonstersInSphere(CBaseEntity ** pList, int listMax, const Vector
|
|||||||
if (count >= listMax)
|
if (count >= listMax)
|
||||||
return count;
|
return count;
|
||||||
}
|
}
|
||||||
|
|
||||||
return count;
|
return count;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -413,7 +417,10 @@ CBaseEntity *UTIL_FindEntityInSphere(CBaseEntity *pStartEntity, const Vector &ve
|
|||||||
|
|
||||||
pentEntity = FIND_ENTITY_IN_SPHERE(pentEntity, vecCenter, flRadius);
|
pentEntity = FIND_ENTITY_IN_SPHERE(pentEntity, vecCenter, flRadius);
|
||||||
if (!FNullEnt(pentEntity))
|
if (!FNullEnt(pentEntity))
|
||||||
|
{
|
||||||
return CBaseEntity::Instance(pentEntity);
|
return CBaseEntity::Instance(pentEntity);
|
||||||
|
}
|
||||||
|
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -428,7 +435,10 @@ CBaseEntity *UTIL_FindEntityByString_Old(CBaseEntity *pStartEntity, const char *
|
|||||||
|
|
||||||
pentEntity = FIND_ENTITY_BY_STRING(pentEntity, szKeyword, szValue);
|
pentEntity = FIND_ENTITY_BY_STRING(pentEntity, szKeyword, szValue);
|
||||||
if (!FNullEnt(pentEntity))
|
if (!FNullEnt(pentEntity))
|
||||||
|
{
|
||||||
return CBaseEntity::Instance(pentEntity);
|
return CBaseEntity::Instance(pentEntity);
|
||||||
|
}
|
||||||
|
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -456,33 +466,40 @@ CBaseEntity *UTIL_FindEntityByString(CBaseEntity *pStartEntity, const char *szKe
|
|||||||
count = stringsHashTable.Count();
|
count = stringsHashTable.Count();
|
||||||
item = &stringsHashTable[ hash ];
|
item = &stringsHashTable[ hash ];
|
||||||
|
|
||||||
while (item->pev)
|
|
||||||
{
|
|
||||||
if (!strcmp(STRING(item->pev->classname), szValue))
|
|
||||||
break;
|
|
||||||
|
|
||||||
hash = (hash + 1) % count;
|
|
||||||
item = &stringsHashTable[hash];
|
|
||||||
}
|
|
||||||
if (!item->pev)
|
if (!item->pev)
|
||||||
{
|
{
|
||||||
item->lastHash = NULL;
|
item->lastHash = NULL;
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
if (pStartEntity)
|
|
||||||
|
while (item->pev != NULL)
|
||||||
|
{
|
||||||
|
if (!Q_strcmp(STRING(item->pev->classname), szValue))
|
||||||
|
break;
|
||||||
|
|
||||||
|
hash = (hash + 1) % count;
|
||||||
|
item = &stringsHashTable[ hash ];
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!item->pev)
|
||||||
|
{
|
||||||
|
item->lastHash = NULL;
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (pStartEntity != NULL)
|
||||||
{
|
{
|
||||||
if (item->lastHash && item->lastHash->pevIndex <= startEntityIndex)
|
if (item->lastHash && item->lastHash->pevIndex <= startEntityIndex)
|
||||||
item = item->lastHash;
|
item = item->lastHash;
|
||||||
|
|
||||||
|
if (item->pevIndex <= startEntityIndex)
|
||||||
|
{
|
||||||
while (item->pevIndex <= startEntityIndex)
|
while (item->pevIndex <= startEntityIndex)
|
||||||
{
|
{
|
||||||
if (!item->next)
|
if (!item->next)
|
||||||
break;
|
break;
|
||||||
|
|
||||||
item = item->next;
|
item = item->next;
|
||||||
|
|
||||||
if (!(item->pevIndex <= startEntityIndex))
|
|
||||||
break;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (item->pevIndex == startEntityIndex)
|
if (item->pevIndex == startEntityIndex)
|
||||||
@ -491,6 +508,7 @@ CBaseEntity *UTIL_FindEntityByString(CBaseEntity *pStartEntity, const char *szKe
|
|||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
stringsHashTable[ hash ].lastHash = item;
|
stringsHashTable[ hash ].lastHash = item;
|
||||||
pentEntity = ENT(item->pev);
|
pentEntity = ENT(item->pev);
|
||||||
@ -499,7 +517,10 @@ CBaseEntity *UTIL_FindEntityByString(CBaseEntity *pStartEntity, const char *szKe
|
|||||||
pentEntity = FIND_ENTITY_BY_STRING(pentEntity, szKeyword, szValue);
|
pentEntity = FIND_ENTITY_BY_STRING(pentEntity, szKeyword, szValue);
|
||||||
|
|
||||||
if (!FNullEnt(pentEntity))
|
if (!FNullEnt(pentEntity))
|
||||||
|
{
|
||||||
return CBaseEntity::Instance(pentEntity);
|
return CBaseEntity::Instance(pentEntity);
|
||||||
|
}
|
||||||
|
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1052,11 +1073,7 @@ char *UTIL_VarArgs(char *format, ...)
|
|||||||
static char string[1024];
|
static char string[1024];
|
||||||
|
|
||||||
va_start(argptr, format);
|
va_start(argptr, format);
|
||||||
#ifdef REGAMEDLL_FIXES
|
|
||||||
Q_vsnprintf(string, sizeof(string), format, argptr);
|
|
||||||
#else
|
|
||||||
vsprintf(string, format, argptr);
|
vsprintf(string, format, argptr);
|
||||||
#endif // REGAMEDLL_FIXES
|
|
||||||
va_end(argptr);
|
va_end(argptr);
|
||||||
|
|
||||||
return string;
|
return string;
|
||||||
@ -1084,6 +1101,7 @@ int UTIL_IsMasterTriggered(string_t sMaster, CBaseEntity *pActivator)
|
|||||||
}
|
}
|
||||||
ALERT(at_console, "Master was null or not a master!\n");
|
ALERT(at_console, "Master was null or not a master!\n");
|
||||||
}
|
}
|
||||||
|
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1130,7 +1148,7 @@ void UTIL_BloodStream(const Vector &origin, const Vector &direction, int color,
|
|||||||
WRITE_COORD(direction.y);
|
WRITE_COORD(direction.y);
|
||||||
WRITE_COORD(direction.z);
|
WRITE_COORD(direction.z);
|
||||||
WRITE_BYTE(color);
|
WRITE_BYTE(color);
|
||||||
WRITE_BYTE(min( amount, 255 ));
|
WRITE_BYTE(_min( amount, 255 ));
|
||||||
MESSAGE_END();
|
MESSAGE_END();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1160,7 +1178,7 @@ void UTIL_BloodDrips(const Vector &origin, const Vector &direction, int color, i
|
|||||||
WRITE_SHORT(g_sModelIndexBloodSpray);
|
WRITE_SHORT(g_sModelIndexBloodSpray);
|
||||||
WRITE_SHORT(g_sModelIndexBloodDrop);
|
WRITE_SHORT(g_sModelIndexBloodDrop);
|
||||||
WRITE_BYTE(color);
|
WRITE_BYTE(color);
|
||||||
WRITE_BYTE(min( max( 3, amount / 10 ), 16 ));
|
WRITE_BYTE(_min( _max( 3, amount / 10 ), 16 ));
|
||||||
MESSAGE_END();
|
MESSAGE_END();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1264,7 +1282,7 @@ void UTIL_PlayerDecalTrace(TraceResult *pTrace, int playernum, int decalNumber,
|
|||||||
WRITE_COORD(pTrace->vecEndPos.x);
|
WRITE_COORD(pTrace->vecEndPos.x);
|
||||||
WRITE_COORD(pTrace->vecEndPos.y);
|
WRITE_COORD(pTrace->vecEndPos.y);
|
||||||
WRITE_COORD(pTrace->vecEndPos.z);
|
WRITE_COORD(pTrace->vecEndPos.z);
|
||||||
WRITE_SHORT((short)ENTINDEX(pTrace->pHit));
|
WRITE_SHORT((int)ENTINDEX(pTrace->pHit));
|
||||||
WRITE_BYTE(index);
|
WRITE_BYTE(index);
|
||||||
MESSAGE_END();
|
MESSAGE_END();
|
||||||
}
|
}
|
||||||
@ -1289,7 +1307,7 @@ void UTIL_GunshotDecalTrace(TraceResult *pTrace, int decalNumber, bool ClientOnl
|
|||||||
WRITE_COORD(pTrace->vecEndPos.x);
|
WRITE_COORD(pTrace->vecEndPos.x);
|
||||||
WRITE_COORD(pTrace->vecEndPos.y);
|
WRITE_COORD(pTrace->vecEndPos.y);
|
||||||
WRITE_COORD(pTrace->vecEndPos.z);
|
WRITE_COORD(pTrace->vecEndPos.z);
|
||||||
WRITE_SHORT((short)ENTINDEX(pTrace->pHit));
|
WRITE_SHORT((int)ENTINDEX(pTrace->pHit));
|
||||||
WRITE_BYTE(index);
|
WRITE_BYTE(index);
|
||||||
MESSAGE_END();
|
MESSAGE_END();
|
||||||
}
|
}
|
||||||
@ -1350,7 +1368,7 @@ void UTIL_StringToVector(float *pVector, const char *pString)
|
|||||||
|
|
||||||
for (j = 0; j < 3; j++)
|
for (j = 0; j < 3; j++)
|
||||||
{
|
{
|
||||||
pVector[j] = atof(pfront);
|
pVector[j] = Q_atof(pfront);
|
||||||
|
|
||||||
while (*pstr && *pstr != ' ')
|
while (*pstr && *pstr != ' ')
|
||||||
pstr++;
|
pstr++;
|
||||||
@ -1381,7 +1399,7 @@ void UTIL_StringToIntArray(int *pVector, int count, const char *pString)
|
|||||||
|
|
||||||
for (j = 0; j < count; j++)
|
for (j = 0; j < count; j++)
|
||||||
{
|
{
|
||||||
pVector[j] = atoi(pfront);
|
pVector[j] = Q_atoi(pfront);
|
||||||
|
|
||||||
while (*pstr && *pstr != ' ')
|
while (*pstr && *pstr != ' ')
|
||||||
pstr++;
|
pstr++;
|
||||||
@ -1537,7 +1555,9 @@ void UTIL_PrecacheOther(const char *szClassname)
|
|||||||
|
|
||||||
CBaseEntity *pEntity = CBaseEntity::Instance(VARS(pent));
|
CBaseEntity *pEntity = CBaseEntity::Instance(VARS(pent));
|
||||||
if (pEntity)
|
if (pEntity)
|
||||||
|
{
|
||||||
pEntity->Precache();
|
pEntity->Precache();
|
||||||
|
}
|
||||||
|
|
||||||
REMOVE_ENTITY(pent);
|
REMOVE_ENTITY(pent);
|
||||||
}
|
}
|
||||||
@ -1549,13 +1569,7 @@ void UTIL_LogPrintf(char *fmt, ...)
|
|||||||
static char string[1024];
|
static char string[1024];
|
||||||
|
|
||||||
va_start(argptr, fmt);
|
va_start(argptr, fmt);
|
||||||
|
|
||||||
#ifdef REGAMEDLL_FIXES
|
|
||||||
Q_vsnprintf(string, sizeof(string), fmt, argptr);
|
|
||||||
#else
|
|
||||||
vsprintf(string, fmt, argptr);
|
vsprintf(string, fmt, argptr);
|
||||||
#endif // REGAMEDLL_FIXES
|
|
||||||
|
|
||||||
va_end(argptr);
|
va_end(argptr);
|
||||||
|
|
||||||
ALERT(at_logged, "%s", string);
|
ALERT(at_logged, "%s", string);
|
||||||
@ -1866,10 +1880,10 @@ void EntvarsKeyvalue(entvars_t *pev, KeyValueData *pkvd)
|
|||||||
break;
|
break;
|
||||||
case FIELD_FLOAT:
|
case FIELD_FLOAT:
|
||||||
case FIELD_TIME:
|
case FIELD_TIME:
|
||||||
*(float *)((char *)pev + pField->fieldOffset) = atof(pkvd->szValue);
|
*(float *)((char *)pev + pField->fieldOffset) = Q_atof(pkvd->szValue);
|
||||||
break;
|
break;
|
||||||
case FIELD_INTEGER:
|
case FIELD_INTEGER:
|
||||||
*(string_t *)((char *)pev + pField->fieldOffset) = atoi(pkvd->szValue);
|
*(string_t *)((char *)pev + pField->fieldOffset) = Q_atoi(pkvd->szValue);
|
||||||
break;
|
break;
|
||||||
case FIELD_VECTOR:
|
case FIELD_VECTOR:
|
||||||
case FIELD_POSITION_VECTOR:
|
case FIELD_POSITION_VECTOR:
|
||||||
@ -1910,7 +1924,7 @@ int CSave::WriteFields(const char *pname, void *pBaseData, TYPEDESCRIPTION *pFie
|
|||||||
emptyCount++;
|
emptyCount++;
|
||||||
}
|
}
|
||||||
|
|
||||||
int entityArray[MAX_ENTITYARRAY];
|
int entityArray[ MAX_ENTITY_ARRAY ];
|
||||||
int actualCount = fieldCount - emptyCount;
|
int actualCount = fieldCount - emptyCount;
|
||||||
|
|
||||||
WriteInt(pname, &actualCount, 1);
|
WriteInt(pname, &actualCount, 1);
|
||||||
@ -1944,8 +1958,8 @@ int CSave::WriteFields(const char *pname, void *pBaseData, TYPEDESCRIPTION *pFie
|
|||||||
case FIELD_ENTITY:
|
case FIELD_ENTITY:
|
||||||
case FIELD_EHANDLE:
|
case FIELD_EHANDLE:
|
||||||
{
|
{
|
||||||
if (pTest->fieldSize > MAX_ENTITYARRAY)
|
if (pTest->fieldSize > MAX_ENTITY_ARRAY)
|
||||||
ALERT(at_error, "Can't save more than %d entities in an array!!!\n", MAX_ENTITYARRAY);
|
ALERT(at_error, "Can't save more than %d entities in an array!!!\n", MAX_ENTITY_ARRAY);
|
||||||
|
|
||||||
for (int j = 0; j < pTest->fieldSize; j++)
|
for (int j = 0; j < pTest->fieldSize; j++)
|
||||||
{
|
{
|
||||||
|
@ -115,6 +115,24 @@ extern globalvars_t *gpGlobals;
|
|||||||
#define VEC_DUCK_HULL_MAX Vector(16, 16, 32)
|
#define VEC_DUCK_HULL_MAX Vector(16, 16, 32)
|
||||||
#define VEC_DUCK_VIEW Vector(0, 0, 12)
|
#define VEC_DUCK_VIEW Vector(0, 0, 12)
|
||||||
|
|
||||||
|
#define PLAYBACK_EVENT(flags, who, index)\
|
||||||
|
PLAYBACK_EVENT_FULL(flags, who, index, 0, (float *)&g_vecZero, (float *)&g_vecZero, 0.0, 0.0, 0, 0, 0, 0)
|
||||||
|
|
||||||
|
#define PLAYBACK_EVENT_DELAY(flags, who, index, delay)\
|
||||||
|
PLAYBACK_EVENT_FULL(flags, who, index, delay, (float *)&g_vecZero, (float *)&g_vecZero, 0.0, 0.0, 0, 0, 0, 0)
|
||||||
|
|
||||||
|
#ifdef HOOK_GAMEDLL
|
||||||
|
|
||||||
|
// prefix _
|
||||||
|
#define __MAKE_VHOOK(fname)\
|
||||||
|
fname##_
|
||||||
|
#else
|
||||||
|
|
||||||
|
#define __MAKE_VHOOK(fname)\
|
||||||
|
fname
|
||||||
|
|
||||||
|
#endif // HOOK_GAMEDLL
|
||||||
|
|
||||||
#define LINK_ENTITY_TO_CLASS(mapClassName, DLLClassName)\
|
#define LINK_ENTITY_TO_CLASS(mapClassName, DLLClassName)\
|
||||||
C_DLLEXPORT void mapClassName(entvars_t *pev);\
|
C_DLLEXPORT void mapClassName(entvars_t *pev);\
|
||||||
void mapClassName(entvars_t *pev)\
|
void mapClassName(entvars_t *pev)\
|
||||||
@ -460,7 +478,7 @@ typedef int (CSaveRestoreBuffer::*CSAVERESTOREBUFFER_POINTER)(const char *,const
|
|||||||
|
|
||||||
#endif // HOOK_GAMEDLL
|
#endif // HOOK_GAMEDLL
|
||||||
|
|
||||||
#if 1
|
#if 0
|
||||||
|
|
||||||
extern void *addr_orig;
|
extern void *addr_orig;
|
||||||
extern char patchByte[5];
|
extern char patchByte[5];
|
||||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
x
Reference in New Issue
Block a user