mirror of https://github.com/FWGS/hlsdk-xash3d
Rebase step 4. Fix compiling errors.
This commit is contained in:
parent
05f671697a
commit
acbb427288
|
@ -77,11 +77,13 @@ set (CLDLL_SOURCES
|
||||||
../dlls/squeakgrenade.cpp
|
../dlls/squeakgrenade.cpp
|
||||||
../dlls/tripmine.cpp
|
../dlls/tripmine.cpp
|
||||||
../dlls/glock.cpp
|
../dlls/glock.cpp
|
||||||
|
../dlls/vorti.cpp
|
||||||
ev_hldm.cpp
|
ev_hldm.cpp
|
||||||
hl/hl_baseentity.cpp
|
hl/hl_baseentity.cpp
|
||||||
hl/hl_events.cpp
|
hl/hl_events.cpp
|
||||||
hl/hl_objects.cpp
|
hl/hl_objects.cpp
|
||||||
hl/hl_weapons.cpp
|
hl/hl_weapons.cpp
|
||||||
|
aliencrosshair.cpp
|
||||||
ammo.cpp
|
ammo.cpp
|
||||||
ammo_secondary.cpp
|
ammo_secondary.cpp
|
||||||
ammohistory.cpp
|
ammohistory.cpp
|
||||||
|
@ -132,12 +134,14 @@ if (USE_VGUI)
|
||||||
vgui_ConsolePanel.cpp
|
vgui_ConsolePanel.cpp
|
||||||
vgui_ControlConfigPanel.cpp
|
vgui_ControlConfigPanel.cpp
|
||||||
vgui_CustomObjects.cpp
|
vgui_CustomObjects.cpp
|
||||||
|
vgui_DecaySparePlayer.cpp
|
||||||
vgui_MOTDWindow.cpp
|
vgui_MOTDWindow.cpp
|
||||||
vgui_SchemeManager.cpp
|
vgui_SchemeManager.cpp
|
||||||
vgui_ScorePanel.cpp
|
vgui_ScorePanel.cpp
|
||||||
vgui_TeamFortressViewport.cpp
|
vgui_TeamFortressViewport.cpp
|
||||||
vgui_SpectatorPanel.cpp
|
vgui_SpectatorPanel.cpp
|
||||||
vgui_teammenu.cpp
|
vgui_teammenu.cpp
|
||||||
|
vgui_notepad.cpp
|
||||||
voice_status.cpp
|
voice_status.cpp
|
||||||
../game_shared/vgui_checkbutton2.cpp
|
../game_shared/vgui_checkbutton2.cpp
|
||||||
../game_shared/vgui_grid.cpp
|
../game_shared/vgui_grid.cpp
|
||||||
|
|
|
@ -311,14 +311,6 @@ redraw the HUD.
|
||||||
|
|
||||||
int DLLEXPORT HUD_Redraw( float time, int intermission )
|
int DLLEXPORT HUD_Redraw( float time, int intermission )
|
||||||
{
|
{
|
||||||
// check if we are in OpenGl mode
|
|
||||||
if (IEngineStudio.IsHardware() == 1)
|
|
||||||
{
|
|
||||||
//RenderScreenGlow(); // SCREEN GLOW
|
|
||||||
if (gHUD.m_iCamMode == CAM_ON)
|
|
||||||
RenderCameraEffect();
|
|
||||||
}
|
|
||||||
|
|
||||||
gHUD.Redraw( time, intermission );
|
gHUD.Redraw( time, intermission );
|
||||||
|
|
||||||
return 1;
|
return 1;
|
||||||
|
|
|
@ -204,8 +204,8 @@ void CHudHealth::DrawAlienHealthBar( void )
|
||||||
|
|
||||||
rc = *m_prc2;
|
rc = *m_prc2;
|
||||||
//rc.top += m_iHeight * ((float)(100-(min(100,m_iHealth))) * 0.01); // battery can go from 0 to 100 so * 0.01 goes from 0 to 1
|
//rc.top += m_iHeight * ((float)(100-(min(100,m_iHealth))) * 0.01); // battery can go from 0 to 100 so * 0.01 goes from 0 to 1
|
||||||
rc.left += m_iWidth * ((float)(100-(min(100,m_iHealth))) * 0.005); // battery can go from 0 to 100 so * 0.01 goes from 0 to 1
|
rc.left += m_iWidth * ((float)(100-(Q_min(100,m_iHealth))) * 0.005); // battery can go from 0 to 100 so * 0.01 goes from 0 to 1
|
||||||
rc.right -= m_iWidth * ((float)(100-(min(100,m_iHealth))) * 0.005); // battery can go from 0 to 100 so * 0.01 goes from 0 to 1
|
rc.right -= m_iWidth * ((float)(100-(Q_min(100,m_iHealth))) * 0.005); // battery can go from 0 to 100 so * 0.01 goes from 0 to 1
|
||||||
|
|
||||||
//UnpackRGB(r,g,b, gHUD.uColor);
|
//UnpackRGB(r,g,b, gHUD.uColor);
|
||||||
r = 180;
|
r = 180;
|
||||||
|
|
|
@ -705,7 +705,7 @@ public:
|
||||||
int _cdecl MsgFunc_Concuss( const char *pszName, int iSize, void *pbuf );
|
int _cdecl MsgFunc_Concuss( const char *pszName, int iSize, void *pbuf );
|
||||||
int _cdecl MsgFunc_LensFlare( const char *pszName, int iSize, void *pbuf );
|
int _cdecl MsgFunc_LensFlare( const char *pszName, int iSize, void *pbuf );
|
||||||
int _cdecl MsgFunc_AimFrame( const char *pszName, int iSize, void *pbuf );
|
int _cdecl MsgFunc_AimFrame( const char *pszName, int iSize, void *pbuf );
|
||||||
int _cdecl MsgFunc_Camera( const char *pszName, int iSize, void *pbuf );
|
void _cdecl MsgFunc_Camera( const char *pszName, int iSize, void *pbuf );
|
||||||
int _cdecl MsgFunc_ChangePlayer( const char *pszName, int iSize, void *pbuf );
|
int _cdecl MsgFunc_ChangePlayer( const char *pszName, int iSize, void *pbuf );
|
||||||
|
|
||||||
// Screen information
|
// Screen information
|
||||||
|
|
|
@ -37,7 +37,7 @@ int CHudMessage::Init( void )
|
||||||
HOOK_MESSAGE( HudText );
|
HOOK_MESSAGE( HudText );
|
||||||
HOOK_MESSAGE( GameTitle );
|
HOOK_MESSAGE( GameTitle );
|
||||||
|
|
||||||
iFlags |= HUD_ALIEN;
|
m_iFlags |= HUD_ALIEN;
|
||||||
|
|
||||||
gHUD.AddHudElem( this );
|
gHUD.AddHudElem( this );
|
||||||
|
|
||||||
|
|
|
@ -5,8 +5,6 @@
|
||||||
// $NoKeywords: $
|
// $NoKeywords: $
|
||||||
//=============================================================================
|
//=============================================================================
|
||||||
|
|
||||||
#include <windows.h>
|
|
||||||
//#include <gl/gl.h>
|
|
||||||
#include "hud.h"
|
#include "hud.h"
|
||||||
#include "cl_util.h"
|
#include "cl_util.h"
|
||||||
|
|
||||||
|
|
|
@ -424,12 +424,14 @@ void V_CalcNormalRefdef( struct ref_params_s *pparams )
|
||||||
cl_entity_t *pwater;
|
cl_entity_t *pwater;
|
||||||
|
|
||||||
// SKY START
|
// SKY START
|
||||||
static struct model_t *savedviewmodel;
|
static model_t *savedviewmodel;
|
||||||
|
|
||||||
//LRC - if this is the second pass through, then we've just drawn the sky, and now we're setting up the normal view.
|
//LRC - if this is the second pass through, then we've just drawn the sky, and now we're setting up the normal view.
|
||||||
if( pparams->nextView == 1 )
|
if( pparams->nextView == 1 )
|
||||||
{
|
{
|
||||||
GrabCameraTexture();
|
// a1ba: as whole custom rendering code is commented out in original
|
||||||
|
// it wasn't merged here
|
||||||
|
// GrabCameraTexture();
|
||||||
view = gEngfuncs.GetViewModel();
|
view = gEngfuncs.GetViewModel();
|
||||||
view->model = savedviewmodel;
|
view->model = savedviewmodel;
|
||||||
pparams->viewangles[0] = v_angles.x;
|
pparams->viewangles[0] = v_angles.x;
|
||||||
|
|
|
@ -89,7 +89,8 @@ def build(bld):
|
||||||
'dlls/satchel.cpp',
|
'dlls/satchel.cpp',
|
||||||
'dlls/shotgun.cpp',
|
'dlls/shotgun.cpp',
|
||||||
'dlls/squeakgrenade.cpp',
|
'dlls/squeakgrenade.cpp',
|
||||||
'dlls/tripmine.cpp'
|
'dlls/tripmine.cpp',
|
||||||
|
'dlls/vorti.cpp',
|
||||||
])
|
])
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -45,9 +45,11 @@ else()
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
set (SVDLL_SOURCES
|
set (SVDLL_SOURCES
|
||||||
|
actanimating.cpp
|
||||||
agrunt.cpp
|
agrunt.cpp
|
||||||
airtank.cpp
|
airtank.cpp
|
||||||
aflock.cpp
|
aflock.cpp
|
||||||
|
alienflyer.cpp
|
||||||
animating.cpp
|
animating.cpp
|
||||||
animation.cpp
|
animation.cpp
|
||||||
apache.cpp
|
apache.cpp
|
||||||
|
@ -56,6 +58,8 @@ set (SVDLL_SOURCES
|
||||||
bigmomma.cpp
|
bigmomma.cpp
|
||||||
bloater.cpp
|
bloater.cpp
|
||||||
bmodels.cpp
|
bmodels.cpp
|
||||||
|
bot.cpp
|
||||||
|
bot_combat.cpp
|
||||||
bullsquid.cpp
|
bullsquid.cpp
|
||||||
buttons.cpp
|
buttons.cpp
|
||||||
cbase.cpp
|
cbase.cpp
|
||||||
|
@ -64,7 +68,9 @@ set (SVDLL_SOURCES
|
||||||
controller.cpp
|
controller.cpp
|
||||||
crossbow.cpp
|
crossbow.cpp
|
||||||
crowbar.cpp
|
crowbar.cpp
|
||||||
|
decay_gamerules.cpp
|
||||||
defaultai.cpp
|
defaultai.cpp
|
||||||
|
displacer.cpp
|
||||||
doors.cpp
|
doors.cpp
|
||||||
effects.cpp
|
effects.cpp
|
||||||
egon.cpp
|
egon.cpp
|
||||||
|
@ -100,6 +106,7 @@ set (SVDLL_SOURCES
|
||||||
leech.cpp
|
leech.cpp
|
||||||
lights.cpp
|
lights.cpp
|
||||||
maprules.cpp
|
maprules.cpp
|
||||||
|
modeltrain.cpp
|
||||||
monstermaker.cpp
|
monstermaker.cpp
|
||||||
monsters.cpp
|
monsters.cpp
|
||||||
monsterstate.cpp
|
monsterstate.cpp
|
||||||
|
@ -108,6 +115,7 @@ set (SVDLL_SOURCES
|
||||||
multiplay_gamerules.cpp
|
multiplay_gamerules.cpp
|
||||||
nihilanth.cpp
|
nihilanth.cpp
|
||||||
nodes.cpp
|
nodes.cpp
|
||||||
|
notepad.cpp
|
||||||
observer.cpp
|
observer.cpp
|
||||||
osprey.cpp
|
osprey.cpp
|
||||||
pathcorner.cpp
|
pathcorner.cpp
|
||||||
|
@ -115,6 +123,7 @@ set (SVDLL_SOURCES
|
||||||
plats.cpp
|
plats.cpp
|
||||||
player.cpp
|
player.cpp
|
||||||
playermonster.cpp
|
playermonster.cpp
|
||||||
|
priest.cpp
|
||||||
python.cpp
|
python.cpp
|
||||||
rat.cpp
|
rat.cpp
|
||||||
roach.cpp
|
roach.cpp
|
||||||
|
@ -129,6 +138,7 @@ set (SVDLL_SOURCES
|
||||||
sound.cpp
|
sound.cpp
|
||||||
soundent.cpp
|
soundent.cpp
|
||||||
spectator.cpp
|
spectator.cpp
|
||||||
|
spritetrain.cpp
|
||||||
squadmonster.cpp
|
squadmonster.cpp
|
||||||
squeakgrenade.cpp
|
squeakgrenade.cpp
|
||||||
subs.cpp
|
subs.cpp
|
||||||
|
@ -141,6 +151,7 @@ set (SVDLL_SOURCES
|
||||||
turret.cpp
|
turret.cpp
|
||||||
util.cpp
|
util.cpp
|
||||||
vehicle.cpp
|
vehicle.cpp
|
||||||
|
vorti.cpp
|
||||||
weapons.cpp
|
weapons.cpp
|
||||||
world.cpp
|
world.cpp
|
||||||
xen.cpp
|
xen.cpp
|
||||||
|
|
|
@ -180,14 +180,14 @@ void CAlienFlyer :: Spawn( void )
|
||||||
|
|
||||||
if (pev->spawnflags & SF_WAITFORTRIGGER)
|
if (pev->spawnflags & SF_WAITFORTRIGGER)
|
||||||
{
|
{
|
||||||
SetUse( StartupUse );
|
SetUse( &CAlienFlyer::StartupUse );
|
||||||
m_activated = false;
|
m_activated = false;
|
||||||
pev->effects |= EF_NODRAW;
|
pev->effects |= EF_NODRAW;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
SetThink( HuntThink );
|
SetThink( &CAlienFlyer::HuntThink );
|
||||||
SetTouch( FlyTouch );
|
SetTouch( &CAlienFlyer::FlyTouch );
|
||||||
pev->nextthink = gpGlobals->time + 1.0;
|
pev->nextthink = gpGlobals->time + 1.0;
|
||||||
m_activated = true;
|
m_activated = true;
|
||||||
}
|
}
|
||||||
|
@ -222,7 +222,7 @@ void CAlienFlyer::Activate( void )
|
||||||
if ( FStringNull(pev->targetname) )
|
if ( FStringNull(pev->targetname) )
|
||||||
{ // not triggered, so start immediately
|
{ // not triggered, so start immediately
|
||||||
pev->nextthink = pev->ltime + 0.1;
|
pev->nextthink = pev->ltime + 0.1;
|
||||||
SetThink( HuntThink );
|
SetThink( &CAlienFlyer::HuntThink );
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
pev->spawnflags |= SF_TRAIN_WAIT_RETRIGGER;
|
pev->spawnflags |= SF_TRAIN_WAIT_RETRIGGER;
|
||||||
|
@ -253,8 +253,8 @@ void CAlienFlyer::NullThink( void )
|
||||||
void CAlienFlyer::StartupUse( CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value )
|
void CAlienFlyer::StartupUse( CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value )
|
||||||
{
|
{
|
||||||
pev->effects &= ~EF_NODRAW;
|
pev->effects &= ~EF_NODRAW;
|
||||||
SetThink( HuntThink );
|
SetThink( &CAlienFlyer::HuntThink );
|
||||||
SetTouch( FlyTouch );
|
SetTouch( &CAlienFlyer::FlyTouch );
|
||||||
pev->nextthink = gpGlobals->time + 0.1;
|
pev->nextthink = gpGlobals->time + 0.1;
|
||||||
SetUse( NULL );
|
SetUse( NULL );
|
||||||
}
|
}
|
||||||
|
@ -274,8 +274,8 @@ void CAlienFlyer :: Killed( entvars_t *pevAttacker, int iGib )
|
||||||
pev->gravity = 0.3;
|
pev->gravity = 0.3;
|
||||||
|
|
||||||
UTIL_SetSize( pev, Vector( -32, -32, -64), Vector( 32, 32, 0) );
|
UTIL_SetSize( pev, Vector( -32, -32, -64), Vector( 32, 32, 0) );
|
||||||
SetThink( DyingThink );
|
SetThink( &CAlienFlyer::DyingThink );
|
||||||
SetTouch( CrashTouch );
|
SetTouch( &CAlienFlyer::CrashTouch );
|
||||||
pev->nextthink = gpGlobals->time + 0.1;
|
pev->nextthink = gpGlobals->time + 0.1;
|
||||||
pev->health = 0;
|
pev->health = 0;
|
||||||
pev->takedamage = DAMAGE_NO;
|
pev->takedamage = DAMAGE_NO;
|
||||||
|
@ -428,7 +428,7 @@ void CAlienFlyer :: DyingThink( void )
|
||||||
WRITE_BYTE( BREAK_FLESH );
|
WRITE_BYTE( BREAK_FLESH );
|
||||||
MESSAGE_END();
|
MESSAGE_END();
|
||||||
|
|
||||||
SetThink( SUB_Remove );
|
SetThink( &CAlienFlyer::SUB_Remove );
|
||||||
pev->nextthink = gpGlobals->time + 0.1;
|
pev->nextthink = gpGlobals->time + 0.1;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -806,4 +806,4 @@ void CAlienFlyer::TraceAttack( entvars_t *pevAttacker, float flDamage, Vector ve
|
||||||
// AddMultiDamage( pevAttacker, this, flDamage / 2.0, bitsDamageType );
|
// AddMultiDamage( pevAttacker, this, flDamage / 2.0, bitsDamageType );
|
||||||
UTIL_Ricochet( ptr->vecEndPos, 2.0 );
|
UTIL_Ricochet( ptr->vecEndPos, 2.0 );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -63,11 +63,11 @@ BOOL skin_used[MAX_SKINS] = {
|
||||||
FALSE };
|
FALSE };
|
||||||
|
|
||||||
// store the names of the models...
|
// store the names of the models...
|
||||||
char *bot_skins[MAX_SKINS] = {
|
const char *bot_skins[MAX_SKINS] = {
|
||||||
"ginacol", "player/dm_slave/dm_slave" };
|
"ginacol", "player/dm_slave/dm_slave" };
|
||||||
|
|
||||||
// store the player names for each of the models...
|
// store the player names for each of the models...
|
||||||
char *bot_names[MAX_SKINS] = {
|
const char *bot_names[MAX_SKINS] = {
|
||||||
"Colette", "R-4913" };
|
"Colette", "R-4913" };
|
||||||
|
|
||||||
// sounds for TakeDamage speaking effects...
|
// sounds for TakeDamage speaking effects...
|
||||||
|
@ -96,13 +96,13 @@ inline char *GET_INFOBUFFER( edict_t *e )
|
||||||
return (*g_engfuncs.pfnGetInfoKeyBuffer)( e );
|
return (*g_engfuncs.pfnGetInfoKeyBuffer)( e );
|
||||||
}
|
}
|
||||||
|
|
||||||
inline char *GET_INFO_KEY_VALUE( char *infobuffer, char *key )
|
inline char *GET_INFO_KEY_VALUE( char *infobuffer, const char *key )
|
||||||
{
|
{
|
||||||
return (g_engfuncs.pfnInfoKeyValue( infobuffer, key ));
|
return (g_engfuncs.pfnInfoKeyValue( infobuffer, key ));
|
||||||
}
|
}
|
||||||
|
|
||||||
inline void SET_CLIENT_KEY_VALUE( int clientIndex, char *infobuffer,
|
inline void SET_CLIENT_KEY_VALUE( int clientIndex, char *infobuffer,
|
||||||
char *key, char *value )
|
const char *key, const char *value )
|
||||||
{
|
{
|
||||||
(*g_engfuncs.pfnSetClientKeyValue)( clientIndex, infobuffer, key, value );
|
(*g_engfuncs.pfnSetClientKeyValue)( clientIndex, infobuffer, key, value );
|
||||||
}
|
}
|
||||||
|
|
|
@ -36,8 +36,8 @@
|
||||||
|
|
||||||
typedef struct // used in checking if bot can pick up ammo
|
typedef struct // used in checking if bot can pick up ammo
|
||||||
{
|
{
|
||||||
char *ammo_name;
|
const char *ammo_name;
|
||||||
char *weapon_name;
|
const char *weapon_name;
|
||||||
int max_carry;
|
int max_carry;
|
||||||
} ammo_check_t;
|
} ammo_check_t;
|
||||||
|
|
||||||
|
|
|
@ -113,7 +113,7 @@ ammo_check_t ammo_check[] = {
|
||||||
|
|
||||||
typedef struct
|
typedef struct
|
||||||
{
|
{
|
||||||
char *enemy_name;
|
const char *enemy_name;
|
||||||
byte enemy_id;
|
byte enemy_id;
|
||||||
byte preferred_weapons_id[3];
|
byte preferred_weapons_id[3];
|
||||||
} enemy_weapon_check_t;
|
} enemy_weapon_check_t;
|
||||||
|
|
|
@ -93,7 +93,7 @@ void CEyeScanner::Spawn( void )
|
||||||
UTIL_SetSize( pev, Vector(-8,-8,0), Vector(8,8,32));
|
UTIL_SetSize( pev, Vector(-8,-8,0), Vector(8,8,32));
|
||||||
SetActivity( ACT_CROUCHIDLE );
|
SetActivity( ACT_CROUCHIDLE );
|
||||||
|
|
||||||
SetThink ( ScannerThink );
|
SetThink ( &CEyeScanner::ScannerThink );
|
||||||
pev->nextthink = gpGlobals->time + 0.1;
|
pev->nextthink = gpGlobals->time + 0.1;
|
||||||
//pev->frame = RANDOM_FLOAT(0,255);
|
//pev->frame = RANDOM_FLOAT(0,255);
|
||||||
}
|
}
|
||||||
|
@ -196,7 +196,7 @@ void CEyeScanner :: Use( CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE
|
||||||
m_iCheckLoop = 0;
|
m_iCheckLoop = 0;
|
||||||
m_iCheckFrame = 1;
|
m_iCheckFrame = 1;
|
||||||
m_bState = FALSE;
|
m_bState = FALSE;
|
||||||
SetThink( UseThink );
|
SetThink( &CEyeScanner::UseThink );
|
||||||
pev->nextthink = gpGlobals->time + 1.5;
|
pev->nextthink = gpGlobals->time + 1.5;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -219,7 +219,7 @@ void CEyeScanner :: UseThink( void )
|
||||||
EMIT_SOUND( ENT(pev), CHAN_ITEM, sndScannerDeny, 0.85, ATTN_NORM );
|
EMIT_SOUND( ENT(pev), CHAN_ITEM, sndScannerDeny, 0.85, ATTN_NORM );
|
||||||
}
|
}
|
||||||
|
|
||||||
SetThink( ScannerThink );
|
SetThink( &CEyeScanner::ScannerThink );
|
||||||
pev->skin = 0;
|
pev->skin = 0;
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
@ -233,4 +233,4 @@ void CEyeScanner :: UseThink( void )
|
||||||
|
|
||||||
pev->skin = m_iCheckFrame;
|
pev->skin = m_iCheckFrame;
|
||||||
m_iCheckFrame++;
|
m_iCheckFrame++;
|
||||||
}
|
}
|
||||||
|
|
|
@ -42,7 +42,7 @@
|
||||||
// START BOT
|
// START BOT
|
||||||
#include "bot.h"
|
#include "bot.h"
|
||||||
|
|
||||||
void BotCreate(const char *skin, const char *name, const char skill);
|
void BotCreate(const char *skin, const char *name, const char *skill);
|
||||||
extern int f_Observer; // flag for observer mode
|
extern int f_Observer; // flag for observer mode
|
||||||
extern int f_botskill; // default bot skill level
|
extern int f_botskill; // default bot skill level
|
||||||
extern int f_botdontshoot; // flag to disable targeting other ots
|
extern int f_botdontshoot; // flag to disable targeting other ots
|
||||||
|
@ -1101,7 +1101,7 @@ void StartFrame( void )
|
||||||
// respawn 1 bot then wait a while (otherwise engine crashes)
|
// respawn 1 bot then wait a while (otherwise engine crashes)
|
||||||
BotCreate(bot_respawn[index].skin,
|
BotCreate(bot_respawn[index].skin,
|
||||||
bot_respawn[index].name,
|
bot_respawn[index].name,
|
||||||
bot_respawn[index].skill);
|
bot_respawn[index].skill);
|
||||||
|
|
||||||
respawn_time = gpGlobals->time + 1.0; // set next respawn time
|
respawn_time = gpGlobals->time + 1.0; // set next respawn time
|
||||||
}
|
}
|
||||||
|
|
|
@ -17,6 +17,14 @@
|
||||||
// Author: Vyacheslav Dzhura ( slava.dzhura@gmail.com ; slava.dzhura@protonmail.com )
|
// Author: Vyacheslav Dzhura ( slava.dzhura@gmail.com ; slava.dzhura@protonmail.com )
|
||||||
// (C) 2008
|
// (C) 2008
|
||||||
//
|
//
|
||||||
|
#ifdef XASH_WIN32
|
||||||
|
#include <windows.h>
|
||||||
|
#else
|
||||||
|
#include <unistd.h>
|
||||||
|
#include <sys/stat.h>
|
||||||
|
#define MAX_COMPUTERNAME_LENGTH 64 // random number
|
||||||
|
#endif
|
||||||
|
|
||||||
#include "extdll.h"
|
#include "extdll.h"
|
||||||
#include "util.h"
|
#include "util.h"
|
||||||
#include "cbase.h"
|
#include "cbase.h"
|
||||||
|
@ -96,7 +104,7 @@ inline char *GET_INFOBUFFER( edict_t *e )
|
||||||
}
|
}
|
||||||
|
|
||||||
inline void SET_CLIENT_KEY_VALUE( int clientIndex, char *infobuffer,
|
inline void SET_CLIENT_KEY_VALUE( int clientIndex, char *infobuffer,
|
||||||
char *key, char *value )
|
const char *key, const char *value )
|
||||||
{
|
{
|
||||||
(*g_engfuncs.pfnSetClientKeyValue)( clientIndex, infobuffer, key, value );
|
(*g_engfuncs.pfnSetClientKeyValue)( clientIndex, infobuffer, key, value );
|
||||||
}
|
}
|
||||||
|
@ -112,7 +120,7 @@ int getMapEntryId( int desiredId )
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
int findMapId( static char* szMapName )
|
int findMapId( char* szMapName )
|
||||||
{
|
{
|
||||||
int mapCount = sizeof(decayMaps)/sizeof(decayMaps[0]);
|
int mapCount = sizeof(decayMaps)/sizeof(decayMaps[0]);
|
||||||
|
|
||||||
|
@ -163,14 +171,24 @@ void CDecayRules::SetAlienMode( bool bMode )
|
||||||
// ALERT( at_console, "Decay (alien mode = %d)\n", bSlaveCoop);
|
// ALERT( at_console, "Decay (alien mode = %d)\n", bSlaveCoop);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void Platform_GetComputerName( char *buffer, size_t buffersize )
|
||||||
|
{
|
||||||
|
#if XASH_WIN32
|
||||||
|
DWORD size = buffersize;
|
||||||
|
GetComputerName( buffer, &size );
|
||||||
|
#else
|
||||||
|
gethostname( buffer, buffersize);
|
||||||
|
buffer[buffersize - 1] = 0; // unspecified by POSIX if truncated name will be null-terminated
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
//=========================================================
|
//=========================================================
|
||||||
//=========================================================
|
//=========================================================
|
||||||
CDecayRules::CDecayRules( void )
|
CDecayRules::CDecayRules( void )
|
||||||
{
|
{
|
||||||
char buffer[MAX_COMPUTERNAME_LENGTH+1];
|
char buffer[MAX_COMPUTERNAME_LENGTH+1];
|
||||||
DWORD size;
|
Platform_GetComputerName( buffer, sizeof( buffer ));
|
||||||
size=sizeof(buffer);
|
|
||||||
GetComputerName(buffer,&size);
|
|
||||||
|
|
||||||
m_iMagicWord1 = 0;
|
m_iMagicWord1 = 0;
|
||||||
|
|
||||||
|
@ -187,10 +205,10 @@ CDecayRules::CDecayRules( void )
|
||||||
|
|
||||||
statsLoad();
|
statsLoad();
|
||||||
|
|
||||||
memset( &this->pStats[0], 0, sizeof t_playerStats );
|
memset( &this->pStats[0], 0, sizeof( t_playerStats ));
|
||||||
memset( &this->pStats[1], 0, sizeof t_playerStats );
|
memset( &this->pStats[1], 0, sizeof( t_playerStats ));
|
||||||
memset( &this->pStats[2], 0, sizeof t_playerStats );
|
memset( &this->pStats[2], 0, sizeof( t_playerStats ));
|
||||||
memset( &this->pStats[3], 0, sizeof t_playerStats );
|
memset( &this->pStats[3], 0, sizeof( t_playerStats ));
|
||||||
|
|
||||||
int curMapId = this->getDecayMapId();
|
int curMapId = this->getDecayMapId();
|
||||||
if ( curMapId != -1 )
|
if ( curMapId != -1 )
|
||||||
|
@ -322,11 +340,8 @@ void CDecayRules::statsSave()
|
||||||
byte bEntryCount = 0;
|
byte bEntryCount = 0;
|
||||||
|
|
||||||
/*********/
|
/*********/
|
||||||
char buffer[MAX_COMPUTERNAME_LENGTH+1];
|
char buffer[MAX_COMPUTERNAME_LENGTH+1];
|
||||||
DWORD size;
|
Platform_GetComputerName( buffer, sizeof( buffer ));
|
||||||
size=sizeof(buffer);
|
|
||||||
GetComputerName(buffer,&size);
|
|
||||||
|
|
||||||
m_iMagicWord1 = 0;
|
m_iMagicWord1 = 0;
|
||||||
|
|
||||||
int cnl = strlen(buffer);
|
int cnl = strlen(buffer);
|
||||||
|
@ -442,7 +457,11 @@ void CDecayRules::statsExportXml( void )
|
||||||
char szFilename[MAX_PATH];
|
char szFilename[MAX_PATH];
|
||||||
GET_GAME_DIR( szFilename );
|
GET_GAME_DIR( szFilename );
|
||||||
strcat( szFilename, "/manual" );
|
strcat( szFilename, "/manual" );
|
||||||
|
#if XASH_WIN32
|
||||||
CreateDirectory( szFilename, NULL );
|
CreateDirectory( szFilename, NULL );
|
||||||
|
#else
|
||||||
|
mkdir( szFilename, 0777 );
|
||||||
|
#endif
|
||||||
strcat( szFilename, "/stats.xml" );
|
strcat( szFilename, "/stats.xml" );
|
||||||
|
|
||||||
FILE *fp;
|
FILE *fp;
|
||||||
|
@ -910,9 +929,7 @@ int CDecayRules :: getDecayMapId()
|
||||||
void CDecayRules :: savePlayerStats( int playerId, int finalGrade, int damageGrade, int killsGrade, int accuracyGrade )
|
void CDecayRules :: savePlayerStats( int playerId, int finalGrade, int damageGrade, int killsGrade, int accuracyGrade )
|
||||||
{
|
{
|
||||||
char buffer[MAX_COMPUTERNAME_LENGTH+1];
|
char buffer[MAX_COMPUTERNAME_LENGTH+1];
|
||||||
DWORD size;
|
Platform_GetComputerName( buffer, sizeof( buffer ));
|
||||||
size=sizeof(buffer);
|
|
||||||
GetComputerName(buffer,&size);
|
|
||||||
|
|
||||||
m_iMagicWord1 = 0;
|
m_iMagicWord1 = 0;
|
||||||
|
|
||||||
|
@ -1271,7 +1288,7 @@ void CopyWeaponsAndAmmo(CBasePlayer *PlayerFrom, CBasePlayer *PlayerTo, bool bDu
|
||||||
pNextWeapon = pWeapon->m_pNext;
|
pNextWeapon = pWeapon->m_pNext;
|
||||||
|
|
||||||
// problem here moving from tmpPlayer to player 2!!!
|
// problem here moving from tmpPlayer to player 2!!!
|
||||||
if ( !pWeapon->m_pPlayer->RemovePlayerItem( pWeapon ) )
|
if ( !pWeapon->m_pPlayer->RemovePlayerItem( pWeapon, false ) )
|
||||||
{
|
{
|
||||||
ALERT( at_console, "problems removing weapon\n" );
|
ALERT( at_console, "problems removing weapon\n" );
|
||||||
}
|
}
|
||||||
|
|
|
@ -63,7 +63,7 @@ TYPEDESCRIPTION CTeleBall::m_SaveData[] =
|
||||||
|
|
||||||
IMPLEMENT_SAVERESTORE( CTeleBall, CBaseMonster );
|
IMPLEMENT_SAVERESTORE( CTeleBall, CBaseMonster );
|
||||||
|
|
||||||
void CTeleBall :: Spawn( void )
|
void CTeleBall::Spawn( void )
|
||||||
{
|
{
|
||||||
Precache( );
|
Precache( );
|
||||||
|
|
||||||
|
@ -83,8 +83,8 @@ void CTeleBall :: Spawn( void )
|
||||||
UTIL_SetSize(pev, Vector( 0, 0, 0), Vector(0, 0, 0));
|
UTIL_SetSize(pev, Vector( 0, 0, 0), Vector(0, 0, 0));
|
||||||
UTIL_SetOrigin( pev, pev->origin );
|
UTIL_SetOrigin( pev, pev->origin );
|
||||||
|
|
||||||
SetThink( TeleportThink );
|
SetThink( &CTeleBall::TeleportThink );
|
||||||
SetTouch( TeleportTouch );
|
SetTouch( &CTeleBall::TeleportTouch );
|
||||||
EMIT_SOUND(ENT(pev), CHAN_ITEM, "weapons/displacer_fire.wav", 1, ATTN_NORM);
|
EMIT_SOUND(ENT(pev), CHAN_ITEM, "weapons/displacer_fire.wav", 1, ATTN_NORM);
|
||||||
|
|
||||||
int i;
|
int i;
|
||||||
|
@ -98,7 +98,7 @@ void CTeleBall :: Spawn( void )
|
||||||
pBeam[i]->SetBrightness( 120 );//was 150
|
pBeam[i]->SetBrightness( 120 );//was 150
|
||||||
pBeam[i]->SetWidth( 45 );
|
pBeam[i]->SetWidth( 45 );
|
||||||
pBeam[i]->SetScrollRate( 35 );
|
pBeam[i]->SetScrollRate( 35 );
|
||||||
pBeam[i]->SetThink( SUB_Remove );
|
pBeam[i]->SetThink( &CBeam::SUB_Remove );
|
||||||
pBeam[i]->pev->nextthink = 0; //was gpGlobals->time + 1
|
pBeam[i]->pev->nextthink = 0; //was gpGlobals->time + 1
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -141,7 +141,7 @@ void CTeleBall:: PlayEffect( Vector Origin, CBaseEntity *pEntity )
|
||||||
pBeam[i]->SetBrightness( 150 );
|
pBeam[i]->SetBrightness( 150 );
|
||||||
pBeam[i]->SetWidth( 18 );
|
pBeam[i]->SetWidth( 18 );
|
||||||
pBeam[i]->SetScrollRate( 35 );
|
pBeam[i]->SetScrollRate( 35 );
|
||||||
pBeam[i]->SetThink( SUB_Remove );
|
pBeam[i]->SetThink( &CBeam::SUB_Remove );
|
||||||
pBeam[i]->pev->nextthink = gpGlobals->time + 1; //was 0.1
|
pBeam[i]->pev->nextthink = gpGlobals->time + 1; //was 0.1
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -217,7 +217,7 @@ void CTeleBall::TeleportTouch( CBaseEntity *pOther )
|
||||||
SetTouch( NULL );
|
SetTouch( NULL );
|
||||||
pev->velocity = Vector( 0, 0, 0 ); //stop energy ball, otherwise it will "slide"
|
pev->velocity = Vector( 0, 0, 0 ); //stop energy ball, otherwise it will "slide"
|
||||||
|
|
||||||
SetThink(TeleportKill);
|
SetThink(&CTeleBall::TeleportKill);
|
||||||
pev->nextthink = gpGlobals->time+0.2; //allows energy ball to stay alive after it touched something
|
pev->nextthink = gpGlobals->time+0.2; //allows energy ball to stay alive after it touched something
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -295,7 +295,7 @@ void CTeleBall::TeleportKill( void )
|
||||||
}
|
}
|
||||||
|
|
||||||
for (int i=1;i<5;i++) UTIL_Remove( pBeam[i] ); //remove beams
|
for (int i=1;i<5;i++) UTIL_Remove( pBeam[i] ); //remove beams
|
||||||
SetThink ( SUB_Remove );
|
SetThink ( &CTeleBall::SUB_Remove );
|
||||||
pev->nextthink = 0.2;
|
pev->nextthink = 0.2;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -395,7 +395,7 @@ void CDisplacer::SpinupThink( void )
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
SetThink(FireThink);
|
SetThink(&CDisplacer::FireThink);
|
||||||
pev->nextthink=gpGlobals->time + 1.0;
|
pev->nextthink=gpGlobals->time + 1.0;
|
||||||
//m_pPlayer->m_flNextAttack = UTIL_WeaponTimeBase() + 3.0;
|
//m_pPlayer->m_flNextAttack = UTIL_WeaponTimeBase() + 3.0;
|
||||||
}
|
}
|
||||||
|
@ -426,7 +426,7 @@ void CDisplacer::FireThink( void )
|
||||||
|
|
||||||
void CDisplacer::PrimaryAttack( void )
|
void CDisplacer::PrimaryAttack( void )
|
||||||
{
|
{
|
||||||
SetThink(SpinupThink);
|
SetThink(&CDisplacer::SpinupThink);
|
||||||
pev->nextthink=gpGlobals->time + 0.1;
|
pev->nextthink=gpGlobals->time + 0.1;
|
||||||
m_pPlayer->m_flNextAttack = UTIL_WeaponTimeBase() + 1.5;
|
m_pPlayer->m_flNextAttack = UTIL_WeaponTimeBase() + 1.5;
|
||||||
}
|
}
|
||||||
|
@ -533,7 +533,7 @@ void CDisplacer::PlayEffect( Vector Origin )
|
||||||
pBeam[i]->SetBrightness( 150 );
|
pBeam[i]->SetBrightness( 150 );
|
||||||
pBeam[i]->SetWidth( 18 );
|
pBeam[i]->SetWidth( 18 );
|
||||||
pBeam[i]->SetScrollRate( 35 );
|
pBeam[i]->SetScrollRate( 35 );
|
||||||
pBeam[i]->SetThink( SUB_Remove );
|
pBeam[i]->SetThink( &CBeam::SUB_Remove );
|
||||||
pBeam[i]->pev->nextthink = gpGlobals->time + 1; //was 0.1
|
pBeam[i]->pev->nextthink = gpGlobals->time + 1; //was 0.1
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -575,4 +575,4 @@ void CDisplacer::WeaponIdle( void )
|
||||||
}
|
}
|
||||||
|
|
||||||
SendWeaponAnim( iAnim );
|
SendWeaponAnim( iAnim );
|
||||||
}
|
}
|
||||||
|
|
|
@ -2596,7 +2596,7 @@ void CEnvDLight::Use( CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE us
|
||||||
|
|
||||||
if (pev->spawnflags & SF_DLIGHT_ONLYONCE)
|
if (pev->spawnflags & SF_DLIGHT_ONLYONCE)
|
||||||
{
|
{
|
||||||
SetThink( SUB_Remove );
|
SetThink( &CEnvDLight::SUB_Remove );
|
||||||
pev->nextthink = 0;
|
pev->nextthink = 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -2829,7 +2829,7 @@ void CEnvWarpBall::Use( CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE
|
||||||
pBeam[i]->SetBrightness( 150 );
|
pBeam[i]->SetBrightness( 150 );
|
||||||
pBeam[i]->SetWidth( 18 );
|
pBeam[i]->SetWidth( 18 );
|
||||||
pBeam[i]->SetScrollRate( 35 );
|
pBeam[i]->SetScrollRate( 35 );
|
||||||
pBeam[i]->SetThink( SUB_Remove );
|
pBeam[i]->SetThink( &CBeam::SUB_Remove );
|
||||||
pBeam[i]->pev->nextthink = gpGlobals->time + 1; //was 0.1
|
pBeam[i]->pev->nextthink = gpGlobals->time + 1; //was 0.1
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -3038,7 +3038,7 @@ void CEnvShockwave::Use( CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE
|
||||||
|
|
||||||
if (!(pev->spawnflags & SF_SHOCKWAVE_REPEATABLE))
|
if (!(pev->spawnflags & SF_SHOCKWAVE_REPEATABLE))
|
||||||
{
|
{
|
||||||
SetThink( SUB_Remove );
|
SetThink( &CEnvShockwave::SUB_Remove );
|
||||||
pev->nextthink = 0;
|
pev->nextthink = 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -3082,7 +3082,7 @@ void CEnvRTCamera :: Use( CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYP
|
||||||
bActive = !bActive;
|
bActive = !bActive;
|
||||||
if (bActive)
|
if (bActive)
|
||||||
{
|
{
|
||||||
SetThink( ThinkOn );
|
SetThink( &CEnvRTCamera::ThinkOn );
|
||||||
pev->nextthink = gpGlobals->time + 1.0;
|
pev->nextthink = gpGlobals->time + 1.0;
|
||||||
} else
|
} else
|
||||||
{
|
{
|
||||||
|
|
|
@ -382,7 +382,7 @@ void CMdlCharger::Spawn()
|
||||||
|
|
||||||
SetSequence( seqCharge_Inactive );
|
SetSequence( seqCharge_Inactive );
|
||||||
|
|
||||||
SetThink(ChargerThink);
|
SetThink(&CMdlCharger::ChargerThink);
|
||||||
|
|
||||||
if (g_pGameRules->IsCoOp() )
|
if (g_pGameRules->IsCoOp() )
|
||||||
{
|
{
|
||||||
|
@ -580,7 +580,7 @@ void CMdlCharger::Use( CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE u
|
||||||
|
|
||||||
//pFluidTank->StartUse();
|
//pFluidTank->StartUse();
|
||||||
pev->nextthink = gpGlobals->time + 0.25; // pev->ltime
|
pev->nextthink = gpGlobals->time + 0.25; // pev->ltime
|
||||||
SetThink(Off);
|
SetThink(&CMdlCharger::Off);
|
||||||
|
|
||||||
// start the give shot sequence and do not use until it's finished
|
// start the give shot sequence and do not use until it's finished
|
||||||
if (GetSequence() != seqCharge_GiveShot)
|
if (GetSequence() != seqCharge_GiveShot)
|
||||||
|
@ -635,13 +635,13 @@ void CMdlCharger::Recharge(void)
|
||||||
//EMIT_SOUND(ENT(pev), CHAN_ITEM, "items/medshot4.wav", 1.0, ATTN_NORM );
|
//EMIT_SOUND(ENT(pev), CHAN_ITEM, "items/medshot4.wav", 1.0, ATTN_NORM );
|
||||||
m_iJuice = gSkillData.suitchargerCapacity;
|
m_iJuice = gSkillData.suitchargerCapacity;
|
||||||
pev->skin = CHARGER_ACTIVE; // set the active skin
|
pev->skin = CHARGER_ACTIVE; // set the active skin
|
||||||
SetThink( ChargerThink );
|
SetThink( &CMdlCharger::ChargerThink );
|
||||||
}
|
}
|
||||||
|
|
||||||
void CMdlCharger::Off(void)
|
void CMdlCharger::Off(void)
|
||||||
{
|
{
|
||||||
m_flStopCharge = gpGlobals->time + 0.25;
|
m_flStopCharge = gpGlobals->time + 0.25;
|
||||||
SetThink( ChargerThink );
|
SetThink( &CMdlCharger::ChargerThink );
|
||||||
pev->nextthink = gpGlobals->time + 0.01;
|
pev->nextthink = gpGlobals->time + 0.01;
|
||||||
|
|
||||||
// Stop looping sound.
|
// Stop looping sound.
|
||||||
|
@ -653,10 +653,10 @@ void CMdlCharger::Off(void)
|
||||||
if ((!m_iJuice) && ( ( m_iReactivate = g_pGameRules->FlHEVChargerRechargeTime() ) > 0) )
|
if ((!m_iJuice) && ( ( m_iReactivate = g_pGameRules->FlHEVChargerRechargeTime() ) > 0) )
|
||||||
{
|
{
|
||||||
pev->nextthink = pev->ltime + m_iReactivate;
|
pev->nextthink = pev->ltime + m_iReactivate;
|
||||||
SetThink( Recharge );
|
SetThink( &CMdlCharger::Recharge );
|
||||||
}
|
}
|
||||||
//else
|
//else
|
||||||
// SetThink( SUB_DoNothing );
|
// SetThink( &CMdlCharger::SUB_DoNothing );
|
||||||
|
|
||||||
SetSequence( seqCharge_RetractShot );
|
SetSequence( seqCharge_RetractShot );
|
||||||
}
|
}
|
||||||
|
|
|
@ -321,7 +321,7 @@ void CMdlWallHealthTank::Spawn()
|
||||||
SetBoneController( 0, 0 ); // -11 to 0 (empty to full)
|
SetBoneController( 0, 0 ); // -11 to 0 (empty to full)
|
||||||
|
|
||||||
SetSequence( seq_Still );
|
SetSequence( seq_Still );
|
||||||
SetThink( TankThink );
|
SetThink( &CMdlWallHealthTank::TankThink );
|
||||||
|
|
||||||
if (g_pGameRules->IsCoOp() )
|
if (g_pGameRules->IsCoOp() )
|
||||||
{
|
{
|
||||||
|
@ -487,7 +487,7 @@ void CMdlWallHealth::Spawn()
|
||||||
// 180..360 - ang 90 use -270
|
// 180..360 - ang 90 use -270
|
||||||
|
|
||||||
SetSequence( seq_Inactive );
|
SetSequence( seq_Inactive );
|
||||||
SetThink(ChargerThink);
|
SetThink(&CMdlWallHealth::ChargerThink);
|
||||||
pev->nextthink = gpGlobals->time + 0.1;
|
pev->nextthink = gpGlobals->time + 0.1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -681,7 +681,7 @@ void CMdlWallHealth::Use( CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYP
|
||||||
|
|
||||||
pFluidTank->StartUse();
|
pFluidTank->StartUse();
|
||||||
pev->nextthink = gpGlobals->time + 0.25; // pev->ltime
|
pev->nextthink = gpGlobals->time + 0.25; // pev->ltime
|
||||||
SetThink(Off);
|
SetThink(&CMdlWallHealth::Off);
|
||||||
|
|
||||||
// start the give shot sequence and do not use until it's finished
|
// start the give shot sequence and do not use until it's finished
|
||||||
if (GetSequence() != seq_GiveShot)
|
if (GetSequence() != seq_GiveShot)
|
||||||
|
@ -729,13 +729,13 @@ void CMdlWallHealth::Recharge(void)
|
||||||
EMIT_SOUND(ENT(pev), CHAN_ITEM, "items/medshot4.wav", 1.0, ATTN_NORM );
|
EMIT_SOUND(ENT(pev), CHAN_ITEM, "items/medshot4.wav", 1.0, ATTN_NORM );
|
||||||
m_iJuice = gSkillData.healthchargerCapacity;
|
m_iJuice = gSkillData.healthchargerCapacity;
|
||||||
pev->skin = HEALTHSTATION_FULL; // set the active skin
|
pev->skin = HEALTHSTATION_FULL; // set the active skin
|
||||||
SetThink( ChargerThink );
|
SetThink( &CMdlWallHealth::ChargerThink );
|
||||||
}
|
}
|
||||||
|
|
||||||
void CMdlWallHealth::Off(void)
|
void CMdlWallHealth::Off(void)
|
||||||
{
|
{
|
||||||
m_flStopCharge = gpGlobals->time + 0.25;
|
m_flStopCharge = gpGlobals->time + 0.25;
|
||||||
SetThink( ChargerThink );
|
SetThink( &CMdlWallHealth::ChargerThink );
|
||||||
pev->nextthink = gpGlobals->time + 0.01;
|
pev->nextthink = gpGlobals->time + 0.01;
|
||||||
|
|
||||||
// Stop looping sound.
|
// Stop looping sound.
|
||||||
|
@ -747,10 +747,10 @@ void CMdlWallHealth::Off(void)
|
||||||
if ((!m_iJuice) && ( ( m_iReactivate = g_pGameRules->FlHealthChargerRechargeTime() ) > 0) )
|
if ((!m_iJuice) && ( ( m_iReactivate = g_pGameRules->FlHealthChargerRechargeTime() ) > 0) )
|
||||||
{
|
{
|
||||||
pev->nextthink = pev->ltime + m_iReactivate;
|
pev->nextthink = pev->ltime + m_iReactivate;
|
||||||
SetThink(Recharge);
|
SetThink(&CMdlWallHealth::Recharge);
|
||||||
}
|
}
|
||||||
//else
|
//else
|
||||||
// SetThink( SUB_DoNothing );
|
// SetThink( &CMdlWallHealth::SUB_DoNothing );
|
||||||
}
|
}
|
||||||
|
|
||||||
void CMdlWallHealth::TurnOff( void )
|
void CMdlWallHealth::TurnOff( void )
|
||||||
|
|
|
@ -413,7 +413,7 @@ void CItemSlaveCollar::Spawn( void )
|
||||||
if (FBitSet(pev->spawnflags, 1)) // Start on
|
if (FBitSet(pev->spawnflags, 1)) // Start on
|
||||||
{
|
{
|
||||||
m_bIsOn = true;
|
m_bIsOn = true;
|
||||||
SetThink(ZapThink); // start zapping
|
SetThink(&CItemSlaveCollar::ZapThink); // start zapping
|
||||||
pev->nextthink = gpGlobals->time;
|
pev->nextthink = gpGlobals->time;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -435,9 +435,9 @@ void CItemSlaveCollar::Use( CBaseEntity *pActivator, CBaseEntity *pCaller, USE_T
|
||||||
m_bIsOn = false;
|
m_bIsOn = false;
|
||||||
|
|
||||||
if ( m_bIsOn )
|
if ( m_bIsOn )
|
||||||
SetThink( ZapThink );
|
SetThink( &CItemSlaveCollar::ZapThink );
|
||||||
else
|
else
|
||||||
SetThink( OffThink );
|
SetThink( &CItemSlaveCollar::OffThink );
|
||||||
pev->nextthink = gpGlobals->time + 0.01;
|
pev->nextthink = gpGlobals->time + 0.01;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -576,7 +576,7 @@ void CFocusEmitter::Spawn( void )
|
||||||
SetBodygroup( 1, 2 );
|
SetBodygroup( 1, 2 );
|
||||||
|
|
||||||
SetSequence( seqEmitterClosed );
|
SetSequence( seqEmitterClosed );
|
||||||
SetThink( EmitterThink );
|
SetThink( &CFocusEmitter::EmitterThink );
|
||||||
pev->nextthink = gpGlobals->time;
|
pev->nextthink = gpGlobals->time;
|
||||||
|
|
||||||
CBaseEntity *LasTarget;
|
CBaseEntity *LasTarget;
|
||||||
|
@ -666,7 +666,7 @@ void CFocusEmitter::EmitterThink( void )
|
||||||
MESSAGE_END();
|
MESSAGE_END();
|
||||||
if ( m_fSequenceFinished )
|
if ( m_fSequenceFinished )
|
||||||
{
|
{
|
||||||
SetThink( DyingThink );
|
SetThink( &CFocusEmitter::DyingThink );
|
||||||
pev->nextthink = gpGlobals->time + 0.1;
|
pev->nextthink = gpGlobals->time + 0.1;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
|
@ -277,7 +277,7 @@ void CFuncModelTrain:: Next( void )
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
SetThink( Next );
|
SetThink( &CFuncModelTrain::Next );
|
||||||
NextThink( pev->ltime + time, TRUE );
|
NextThink( pev->ltime + time, TRUE );
|
||||||
}
|
}
|
||||||
else // end of path, stop
|
else // end of path, stop
|
||||||
|
@ -298,7 +298,7 @@ void CFuncModelTrain:: Next( void )
|
||||||
// no, how long to get there?
|
// no, how long to get there?
|
||||||
time = distance / m_oldSpeed;
|
time = distance / m_oldSpeed;
|
||||||
pev->velocity = pev->velocity * (m_oldSpeed / distance);
|
pev->velocity = pev->velocity * (m_oldSpeed / distance);
|
||||||
SetThink( DeadEnd );
|
SetThink( &CFuncModelTrain::DeadEnd );
|
||||||
NextThink( pev->ltime + time, FALSE );
|
NextThink( pev->ltime + time, FALSE );
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
@ -419,7 +419,7 @@ void CFuncModelTrain :: Find( void )
|
||||||
pev->angles.x = 0;
|
pev->angles.x = 0;
|
||||||
UTIL_SetOrigin( pev, nextPos );
|
UTIL_SetOrigin( pev, nextPos );
|
||||||
NextThink( pev->ltime + 0.1, FALSE );
|
NextThink( pev->ltime + 0.1, FALSE );
|
||||||
SetThink( Next );
|
SetThink( &CFuncModelTrain::Next );
|
||||||
pev->speed = m_startSpeed;
|
pev->speed = m_startSpeed;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -467,14 +467,14 @@ void CFuncModelTrain :: NearestPath( void )
|
||||||
if ( pev->speed != 0 )
|
if ( pev->speed != 0 )
|
||||||
{
|
{
|
||||||
NextThink( pev->ltime + 0.1, FALSE );
|
NextThink( pev->ltime + 0.1, FALSE );
|
||||||
SetThink( Next );
|
SetThink( &CFuncModelTrain::Next );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void CFuncModelTrain ::OverrideReset( void )
|
void CFuncModelTrain ::OverrideReset( void )
|
||||||
{
|
{
|
||||||
NextThink( pev->ltime + 0.1, FALSE );
|
NextThink( pev->ltime + 0.1, FALSE );
|
||||||
SetThink( NearestPath );
|
SetThink( &CFuncModelTrain::NearestPath );
|
||||||
}
|
}
|
||||||
|
|
||||||
void CFuncModelTrain ::Animate( float frames )
|
void CFuncModelTrain ::Animate( float frames )
|
||||||
|
@ -519,10 +519,10 @@ void CFuncModelTrain :: Spawn( void )
|
||||||
m_maxFrame = (float) MODEL_FRAMES( pev->modelindex ) - 1;
|
m_maxFrame = (float) MODEL_FRAMES( pev->modelindex ) - 1;
|
||||||
|
|
||||||
NextThink( pev->ltime + 0.1, FALSE );
|
NextThink( pev->ltime + 0.1, FALSE );
|
||||||
SetThink( Find );
|
SetThink( &CFuncModelTrain::Find );
|
||||||
}
|
}
|
||||||
|
|
||||||
void CFuncModelTrain :: Precache( void )
|
void CFuncModelTrain :: Precache( void )
|
||||||
{
|
{
|
||||||
PRECACHE_MODEL( (char *)STRING(pev->model) );
|
PRECACHE_MODEL( (char *)STRING(pev->model) );
|
||||||
}
|
}
|
||||||
|
|
|
@ -100,7 +100,7 @@ void CNotepad::Use( CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useT
|
||||||
|
|
||||||
|
|
||||||
pev->nextthink = pev->ltime + 0.25;
|
pev->nextthink = pev->ltime + 0.25;
|
||||||
SetThink(Off);
|
SetThink(&CNotepad::Off);
|
||||||
|
|
||||||
// Time to recharge yet?
|
// Time to recharge yet?
|
||||||
|
|
||||||
|
@ -108,7 +108,7 @@ void CNotepad::Use( CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useT
|
||||||
return;
|
return;
|
||||||
|
|
||||||
MESSAGE_BEGIN( MSG_ONE, gmsgNotepad, NULL, GetClassPtr((CBasePlayer *)pActivator->pev)->pev );
|
MESSAGE_BEGIN( MSG_ONE, gmsgNotepad, NULL, GetClassPtr((CBasePlayer *)pActivator->pev)->pev );
|
||||||
WRITE_STRING( (char[256])m_iszText );
|
WRITE_STRING( m_iszText );
|
||||||
WRITE_BYTE( m_iTitle );
|
WRITE_BYTE( m_iTitle );
|
||||||
MESSAGE_END();
|
MESSAGE_END();
|
||||||
|
|
||||||
|
@ -119,7 +119,7 @@ void CNotepad::Use( CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useT
|
||||||
void CNotepad::Recharge(void)
|
void CNotepad::Recharge(void)
|
||||||
{
|
{
|
||||||
pev->frame = 0;
|
pev->frame = 0;
|
||||||
SetThink( SUB_DoNothing );
|
SetThink( &CNotepad::SUB_DoNothing );
|
||||||
}
|
}
|
||||||
|
|
||||||
void CNotepad::Off(void)
|
void CNotepad::Off(void)
|
||||||
|
@ -129,8 +129,8 @@ void CNotepad::Off(void)
|
||||||
if ((!m_iJuice) && ( ( m_iReactivate = g_pGameRules->FlHealthChargerRechargeTime() ) > 0) )
|
if ((!m_iJuice) && ( ( m_iReactivate = g_pGameRules->FlHealthChargerRechargeTime() ) > 0) )
|
||||||
{
|
{
|
||||||
pev->nextthink = pev->ltime + m_iReactivate;
|
pev->nextthink = pev->ltime + m_iReactivate;
|
||||||
SetThink(Recharge);
|
SetThink(&CNotepad::Recharge);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
SetThink( SUB_DoNothing );
|
SetThink( &CNotepad::SUB_DoNothing );
|
||||||
}
|
}
|
||||||
|
|
|
@ -189,7 +189,15 @@ int gmsgSetFOV = 0;
|
||||||
int gmsgShowMenu = 0;
|
int gmsgShowMenu = 0;
|
||||||
int gmsgGeigerRange = 0;
|
int gmsgGeigerRange = 0;
|
||||||
int gmsgTeamNames = 0;
|
int gmsgTeamNames = 0;
|
||||||
|
int gmsgLensFlare = 0;
|
||||||
|
int gmsgAimFrame = 0;
|
||||||
|
int gmsgNotepad = 0;
|
||||||
|
int gmsgChangeMode = 0;
|
||||||
|
int gmsgCamera = 0;
|
||||||
|
int gmsgChangePlayer = 0;
|
||||||
|
int gmsgSparePlayer = 0;
|
||||||
|
int gmsgAlienState = 0;
|
||||||
|
int gmsgUpdateDecayPlayerName = 0;
|
||||||
int gmsgStatusText = 0;
|
int gmsgStatusText = 0;
|
||||||
int gmsgStatusValue = 0;
|
int gmsgStatusValue = 0;
|
||||||
|
|
||||||
|
@ -926,7 +934,7 @@ void CBasePlayer::PackAllItems( void )
|
||||||
pWeaponBox->pev->angles.x = 0;// don't let weaponbox tilt.
|
pWeaponBox->pev->angles.x = 0;// don't let weaponbox tilt.
|
||||||
pWeaponBox->pev->angles.z = 0;
|
pWeaponBox->pev->angles.z = 0;
|
||||||
|
|
||||||
pWeaponBox->SetThink( CWeaponBox::Kill );
|
pWeaponBox->SetThink( &CWeaponBox::Kill );
|
||||||
pWeaponBox->pev->nextthink = gpGlobals->time + 120;
|
pWeaponBox->pev->nextthink = gpGlobals->time + 120;
|
||||||
|
|
||||||
// back these two lists up to their first elements
|
// back these two lists up to their first elements
|
||||||
|
@ -3049,7 +3057,7 @@ inline char *GET_INFOBUFFER( edict_t *e )
|
||||||
}
|
}
|
||||||
|
|
||||||
inline void SET_CLIENT_KEY_VALUE( int clientIndex, char *infobuffer,
|
inline void SET_CLIENT_KEY_VALUE( int clientIndex, char *infobuffer,
|
||||||
char *key, char *value )
|
const char *key, const char *value )
|
||||||
{
|
{
|
||||||
(*g_engfuncs.pfnSetClientKeyValue)( clientIndex, infobuffer, key, value );
|
(*g_engfuncs.pfnSetClientKeyValue)( clientIndex, infobuffer, key, value );
|
||||||
}
|
}
|
||||||
|
@ -3224,7 +3232,7 @@ void CBasePlayer::Spawn( void )
|
||||||
{
|
{
|
||||||
GiveNamedItem( "item_suit" );
|
GiveNamedItem( "item_suit" );
|
||||||
|
|
||||||
while ( pWeaponEntity = UTIL_FindEntityByClassname( pWeaponEntity, "game_player_equip" ))
|
while(( pWeaponEntity = UTIL_FindEntityByClassname( pWeaponEntity, "game_player_equip" )))
|
||||||
{
|
{
|
||||||
pWeaponEntity->Touch( this );
|
pWeaponEntity->Touch( this );
|
||||||
}
|
}
|
||||||
|
@ -3701,16 +3709,6 @@ void CBasePlayer::ForceClientDllUpdate( void )
|
||||||
m_fInitHUD = TRUE; // Force HUD gmsgResetHUD message
|
m_fInitHUD = TRUE; // Force HUD gmsgResetHUD message
|
||||||
memset( m_rgAmmoLast, 0, sizeof( m_rgAmmoLast )); // a1ba: Force update AmmoX
|
memset( m_rgAmmoLast, 0, sizeof( m_rgAmmoLast )); // a1ba: Force update AmmoX
|
||||||
|
|
||||||
int gmsgLensFlare = 0;
|
|
||||||
int gmsgAimFrame = 0;
|
|
||||||
int gmsgNotepad = 0;
|
|
||||||
int gmsgChangeMode = 0;
|
|
||||||
int gmsgCamera = 0;
|
|
||||||
int gmsgChangePlayer = 0;
|
|
||||||
int gmsgSparePlayer = 0;
|
|
||||||
int gmsgAlienState = 0;
|
|
||||||
int gmsgUpdateDecayPlayerName = 0;
|
|
||||||
|
|
||||||
// Now force all the necessary messages
|
// Now force all the necessary messages
|
||||||
// to be sent.
|
// to be sent.
|
||||||
UpdateClientData();
|
UpdateClientData();
|
||||||
|
|
|
@ -1140,8 +1140,8 @@ void CPriestHeadBall :: Spawn( void )
|
||||||
UTIL_SetSize(pev, Vector( 0, 0, 0), Vector(0, 0, 0));
|
UTIL_SetSize(pev, Vector( 0, 0, 0), Vector(0, 0, 0));
|
||||||
UTIL_SetOrigin( pev, pev->origin );
|
UTIL_SetOrigin( pev, pev->origin );
|
||||||
|
|
||||||
SetThink( HuntThink );
|
SetThink( &CPriestHeadBall::HuntThink );
|
||||||
SetTouch( BounceTouch );
|
SetTouch( &CPriestHeadBall::BounceTouch );
|
||||||
|
|
||||||
m_vecIdeal = Vector( 0, 0, 0 );
|
m_vecIdeal = Vector( 0, 0, 0 );
|
||||||
|
|
||||||
|
@ -1234,7 +1234,7 @@ void CPriestHeadBall :: HuntThink( void )
|
||||||
|
|
||||||
m_flNextAttack = gpGlobals->time + 3.0;
|
m_flNextAttack = gpGlobals->time + 3.0;
|
||||||
|
|
||||||
SetThink( DieThink );
|
SetThink( &CPriestHeadBall::DieThink );
|
||||||
pev->nextthink = gpGlobals->time + 0.3;
|
pev->nextthink = gpGlobals->time + 0.3;
|
||||||
}
|
}
|
||||||
// Crawl( );
|
// Crawl( );
|
||||||
|
@ -1345,8 +1345,8 @@ void CPriestZapBall :: Spawn( void )
|
||||||
UTIL_SetSize(pev, Vector( 0, 0, 0), Vector(0, 0, 0));
|
UTIL_SetSize(pev, Vector( 0, 0, 0), Vector(0, 0, 0));
|
||||||
UTIL_SetOrigin( pev, pev->origin );
|
UTIL_SetOrigin( pev, pev->origin );
|
||||||
|
|
||||||
SetThink( AnimateThink );
|
SetThink( &CPriestZapBall::AnimateThink );
|
||||||
SetTouch( ExplodeTouch );
|
SetTouch( &CPriestZapBall::ExplodeTouch );
|
||||||
|
|
||||||
m_hOwner = Instance( pev->owner );
|
m_hOwner = Instance( pev->owner );
|
||||||
pev->dmgtime = gpGlobals->time; // keep track of when ball spawned
|
pev->dmgtime = gpGlobals->time; // keep track of when ball spawned
|
||||||
|
|
|
@ -1542,7 +1542,7 @@ void CWheelChairScientist :: Spawn( )
|
||||||
m_afCapability = bits_CAP_HEAR | bits_CAP_TURN_HEAD | bits_CAP_DOORS_GROUP;
|
m_afCapability = bits_CAP_HEAR | bits_CAP_TURN_HEAD | bits_CAP_DOORS_GROUP;
|
||||||
|
|
||||||
MonsterInit();
|
MonsterInit();
|
||||||
SetUse( FollowerUse );
|
SetUse( &CTalkMonster::FollowerUse );
|
||||||
}
|
}
|
||||||
|
|
||||||
void CWheelChairScientist :: Precache( void )
|
void CWheelChairScientist :: Precache( void )
|
||||||
|
@ -1664,7 +1664,7 @@ void CRosenberg :: Spawn( )
|
||||||
SetBodygroup( HEAD_GROUP, 0 );
|
SetBodygroup( HEAD_GROUP, 0 );
|
||||||
|
|
||||||
MonsterInit();
|
MonsterInit();
|
||||||
SetUse( FollowerUse );
|
SetUse( &CTalkMonster::FollowerUse );
|
||||||
}
|
}
|
||||||
|
|
||||||
void CRosenberg :: Precache( void )
|
void CRosenberg :: Precache( void )
|
||||||
|
|
|
@ -276,7 +276,7 @@ void CFuncSpriteTrain:: Next( void )
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
SetThink( Next );
|
SetThink( &CFuncSpriteTrain::Next );
|
||||||
NextThink( pev->ltime + time, TRUE );
|
NextThink( pev->ltime + time, TRUE );
|
||||||
}
|
}
|
||||||
else // end of path, stop
|
else // end of path, stop
|
||||||
|
@ -297,7 +297,7 @@ void CFuncSpriteTrain:: Next( void )
|
||||||
// no, how long to get there?
|
// no, how long to get there?
|
||||||
time = distance / m_oldSpeed;
|
time = distance / m_oldSpeed;
|
||||||
pev->velocity = pev->velocity * (m_oldSpeed / distance);
|
pev->velocity = pev->velocity * (m_oldSpeed / distance);
|
||||||
SetThink( DeadEnd );
|
SetThink( &CFuncSpriteTrain::DeadEnd );
|
||||||
NextThink( pev->ltime + time, FALSE );
|
NextThink( pev->ltime + time, FALSE );
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
@ -418,7 +418,7 @@ void CFuncSpriteTrain :: Find( void )
|
||||||
pev->angles.x = 0;
|
pev->angles.x = 0;
|
||||||
UTIL_SetOrigin( pev, nextPos );
|
UTIL_SetOrigin( pev, nextPos );
|
||||||
NextThink( pev->ltime + 0.1, FALSE );
|
NextThink( pev->ltime + 0.1, FALSE );
|
||||||
SetThink( Next );
|
SetThink( &CFuncSpriteTrain::Next );
|
||||||
pev->speed = m_startSpeed;
|
pev->speed = m_startSpeed;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -466,14 +466,14 @@ void CFuncSpriteTrain :: NearestPath( void )
|
||||||
if ( pev->speed != 0 )
|
if ( pev->speed != 0 )
|
||||||
{
|
{
|
||||||
NextThink( pev->ltime + 0.1, FALSE );
|
NextThink( pev->ltime + 0.1, FALSE );
|
||||||
SetThink( Next );
|
SetThink( &CFuncSpriteTrain::Next );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void CFuncSpriteTrain ::OverrideReset( void )
|
void CFuncSpriteTrain ::OverrideReset( void )
|
||||||
{
|
{
|
||||||
NextThink( pev->ltime + 0.1, FALSE );
|
NextThink( pev->ltime + 0.1, FALSE );
|
||||||
SetThink( NearestPath );
|
SetThink( &CFuncSpriteTrain::NearestPath );
|
||||||
}
|
}
|
||||||
|
|
||||||
void CFuncSpriteTrain ::Animate( float frames )
|
void CFuncSpriteTrain ::Animate( float frames )
|
||||||
|
@ -518,10 +518,10 @@ void CFuncSpriteTrain :: Spawn( void )
|
||||||
m_maxFrame = (float) MODEL_FRAMES( pev->modelindex ) - 1;
|
m_maxFrame = (float) MODEL_FRAMES( pev->modelindex ) - 1;
|
||||||
|
|
||||||
NextThink( pev->ltime + 0.1, FALSE );
|
NextThink( pev->ltime + 0.1, FALSE );
|
||||||
SetThink( Find );
|
SetThink( &CFuncSpriteTrain::Find );
|
||||||
}
|
}
|
||||||
|
|
||||||
void CFuncSpriteTrain :: Precache( void )
|
void CFuncSpriteTrain :: Precache( void )
|
||||||
{
|
{
|
||||||
PRECACHE_MODEL( (char *)STRING(pev->model) );
|
PRECACHE_MODEL( (char *)STRING(pev->model) );
|
||||||
}
|
}
|
||||||
|
|
|
@ -30,7 +30,9 @@
|
||||||
#include "shake.h" // trigger_enddecay fading constants
|
#include "shake.h" // trigger_enddecay fading constants
|
||||||
#include "effects.h" // env_render can use instance of CEnvMirroredLaser
|
#include "effects.h" // env_render can use instance of CEnvMirroredLaser
|
||||||
#include "triggers.h"
|
#include "triggers.h"
|
||||||
|
#if XASH_WIN32 // a1ba: bruh
|
||||||
#include "shellapi.h"
|
#include "shellapi.h"
|
||||||
|
#endif
|
||||||
|
|
||||||
#define SF_TRIGGER_PUSH_START_OFF 2//spawnflag that makes trigger_push spawn turned OFF
|
#define SF_TRIGGER_PUSH_START_OFF 2//spawnflag that makes trigger_push spawn turned OFF
|
||||||
#define SF_TRIGGER_HURT_TARGETONCE 1// Only fire hurt target once
|
#define SF_TRIGGER_HURT_TARGETONCE 1// Only fire hurt target once
|
||||||
|
@ -617,7 +619,7 @@ void CMultiManager::ManagerThink( void )
|
||||||
if ( pev->spawnflags & SF_MM_KILLTARGETS )
|
if ( pev->spawnflags & SF_MM_KILLTARGETS )
|
||||||
{
|
{
|
||||||
CBaseEntity *pEntity = NULL;
|
CBaseEntity *pEntity = NULL;
|
||||||
while (pEntity = UTIL_FindEntityByTargetname(pEntity, STRING( m_iTargetName[ m_index ] )))
|
while ((pEntity = UTIL_FindEntityByTargetname(pEntity, STRING( m_iTargetName[ m_index ] ))))
|
||||||
{
|
{
|
||||||
//ALERT( at_console, "Killing %s...\n", STRING( m_iTargetName[ m_index ] ) );
|
//ALERT( at_console, "Killing %s...\n", STRING( m_iTargetName[ m_index ] ) );
|
||||||
UTIL_Remove( pEntity );
|
UTIL_Remove( pEntity );
|
||||||
|
@ -1906,7 +1908,7 @@ void CChangeLevel::ChangeLevelNow( CBaseEntity *pActivator )
|
||||||
Vyacheslav Dzhura: 8/9/2008
|
Vyacheslav Dzhura: 8/9/2008
|
||||||
DONE: COMMENTED - EXPERIMENTAL!!!!!!!!
|
DONE: COMMENTED - EXPERIMENTAL!!!!!!!!
|
||||||
*/
|
*/
|
||||||
if ( g_pGameRules->IsCoOp )
|
if ( g_pGameRules->IsCoOp( ))
|
||||||
{
|
{
|
||||||
char cmd[128];
|
char cmd[128];
|
||||||
sprintf( cmd, "changelevel %s %s\n", st_szNextMap, st_szNextSpot );
|
sprintf( cmd, "changelevel %s %s\n", st_szNextMap, st_szNextSpot );
|
||||||
|
@ -2409,8 +2411,10 @@ void CTriggerEndSection::EndSectionUse( CBaseEntity *pActivator, CBaseEntity *pC
|
||||||
for( i = 0; i < strlen( szFilename2 ); i++)
|
for( i = 0; i < strlen( szFilename2 ); i++)
|
||||||
if ( szFilename2[i] == '/' ) szFilename2[i] = '\\';
|
if ( szFilename2[i] == '/' ) szFilename2[i] = '\\';
|
||||||
|
|
||||||
|
#if XASH_WIN32 // a1ba: BRUH
|
||||||
if (!IS_DEDICATED_SERVER())
|
if (!IS_DEDICATED_SERVER())
|
||||||
ShellExecute( GetActiveWindow(), "open", "iexplore", szFilename, szFilename2, SW_MAXIMIZE);
|
ShellExecute( GetActiveWindow(), "open", "iexplore", szFilename, szFilename2, SW_MAXIMIZE);
|
||||||
|
#endif // XASH_WIN32
|
||||||
|
|
||||||
// Only save on clients
|
// Only save on clients
|
||||||
if( pActivator && !pActivator->IsNetClient() )
|
if( pActivator && !pActivator->IsNetClient() )
|
||||||
|
@ -2891,11 +2895,11 @@ void CTriggerEndDecay::Spawn( void )
|
||||||
|
|
||||||
InitTrigger();
|
InitTrigger();
|
||||||
|
|
||||||
SetThink( SUB_DoNothing );
|
SetThink( &CTriggerEndDecay::SUB_DoNothing );
|
||||||
SetUse ( EndDecayUse );
|
SetUse ( &CTriggerEndDecay::EndDecayUse );
|
||||||
// If it is a "use only" trigger, then don't set the touch function.
|
// If it is a "use only" trigger, then don't set the touch function.
|
||||||
if ( ! (pev->spawnflags & SF_ENDSECTION_USEONLY) )
|
if ( ! (pev->spawnflags & SF_ENDSECTION_USEONLY) )
|
||||||
SetTouch( EndDecayTouch );
|
SetTouch( &CTriggerEndDecay::EndDecayTouch );
|
||||||
}
|
}
|
||||||
/*
|
/*
|
||||||
|
|
||||||
|
@ -3002,7 +3006,7 @@ void CTriggerEndDecay::EndDecayUse( CBaseEntity *pActivator, CBaseEntity *pCalle
|
||||||
UTIL_ShowMessageAll( STRING(pev->message) );
|
UTIL_ShowMessageAll( STRING(pev->message) );
|
||||||
|
|
||||||
pev->nextthink = gpGlobals->time + 7;
|
pev->nextthink = gpGlobals->time + 7;
|
||||||
SetThink( EndDecayThink );
|
SetThink( &CTriggerEndDecay::EndDecayThink );
|
||||||
}
|
}
|
||||||
|
|
||||||
void CTriggerEndDecay::EndDecayThink( void )
|
void CTriggerEndDecay::EndDecayThink( void )
|
||||||
|
|
|
@ -131,7 +131,7 @@ void CVortiHands::PrimaryAttack()
|
||||||
|
|
||||||
if (! Swing( 1 ))
|
if (! Swing( 1 ))
|
||||||
{
|
{
|
||||||
SetThink( SwingAgain );
|
SetThink( &CVortiHands::SwingAgain );
|
||||||
pev->nextthink = gpGlobals->time + 0.1;
|
pev->nextthink = gpGlobals->time + 0.1;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -294,7 +294,7 @@ int CVortiHands::Swing( int fFirst )
|
||||||
#endif
|
#endif
|
||||||
m_flNextPrimaryAttack = UTIL_WeaponTimeBase() + 0.25;
|
m_flNextPrimaryAttack = UTIL_WeaponTimeBase() + 0.25;
|
||||||
|
|
||||||
SetThink( Smack );
|
SetThink( &CVortiHands::Smack );
|
||||||
pev->nextthink = UTIL_WeaponTimeBase() + 0.2;
|
pev->nextthink = UTIL_WeaponTimeBase() + 0.2;
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -455,7 +455,7 @@ void CBasePlayerItem::FallInit( void )
|
||||||
{
|
{
|
||||||
pev->solid = SOLID_TRIGGER;
|
pev->solid = SOLID_TRIGGER;
|
||||||
UTIL_SetOrigin( pev, pev->origin );// link into world.
|
UTIL_SetOrigin( pev, pev->origin );// link into world.
|
||||||
SetTouch (DefaultTouch);
|
SetTouch (&CBasePlayerItem::DefaultTouch);
|
||||||
SetThink (NULL);
|
SetThink (NULL);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
@ -858,7 +858,7 @@ int CBasePlayerWeapon::UpdateClientData( CBasePlayer *pPlayer )
|
||||||
m_pNext->UpdateClientData( pPlayer );
|
m_pNext->UpdateClientData( pPlayer );
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
ALERT( at_console, "'%s'->m_pNext sends to invalid class!\n", this->pszName );
|
ALERT( at_console, "'%s'->m_pNext sends to invalid class!\n", this->pszName() );
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -0,0 +1,21 @@
|
||||||
|
How to play
|
||||||
|
Single player game
|
||||||
|
Decay doesn't have usual single player mode as Half-Life has - it creates local LAN server instead and adds controllable bot (switch with "G" button) as second player. So to start playing "singleplayer" Decay you should use "Play Decay" menu and start server for "dy_accident1" map. Bot doesn’t have any clever AI, it can merely protect itself, so you have to use the player switching frequently.
|
||||||
|
Be aware that you can't choose any other map from the start - they all are locked by default, as in original PlayStation(r)2 version of the game, and are opened as you progress through the game.
|
||||||
|
The other important note is that Decay doesn't allow any game saves (as original game) so if you are killed, the mission is automatically restarted. The only saved info is your progress through the levels and stats, which is done automatically upon mission completion. You can view your stats either by opening decay\manual\stats.xml or using shortcut in Decay’s Start Menu folder.
|
||||||
|
Internet game - details for how to set up server
|
||||||
|
Half-Life: Decay is a 2 person game and you can play not only with bot but with your friend. You can easily set up home LAN server and your friend will be able to join the game immediately, but with the Internet game it's all a bit other. The only way to do this is to have one of the 2 people host the server.
|
||||||
|
1. Go to tools, and download dedicated server ( under the tools tab in steam). It's only like 20 mb.
|
||||||
|
2. COPY your Decay folder (from your Half-Life folder under you SteamApps folder). example - " C:\program files\SteamApps\[YOURACCOUNT]\half-life\decay" into the dedicated server folder. example- " C:\program files\SteamApps\[YOURACCOUNT]\dedicated server\half-life\decay"
|
||||||
|
3. Open dedicated server, and you'll get a GUI menu. Change the values as follows
|
||||||
|
A. Open the top dropdown box and make the game Decay
|
||||||
|
B. The server name can be whatever you want it to be
|
||||||
|
C. Map can be whatever, you can always change it in game
|
||||||
|
D. Make sure the network is set to internet, or no one can join your game
|
||||||
|
E. Make sure Max players is 3. no more, no less ( VERY IMPORTANT ).
|
||||||
|
F. UDP port - 27015 is fine, don’t change it unless you know what you are doing ( there is no need to change it what so ever ).
|
||||||
|
G. RCON Password- you have to have one, but it can be anything ( its the password that controls the server).
|
||||||
|
H. Valve Anti Cheat should be selected, but it doesn’t need to be.
|
||||||
|
4. After you hit start server, the game will be up
|
||||||
|
5. To join the game, start up decay, and look for the server, BUT don’t look for it under the internet tab, it will be under the LAN tab for you, but everyone else will see it under Internet
|
||||||
|
6. Join in and have fun
|
|
@ -11,7 +11,7 @@ SATCHEL_OLD_BEHAVIOUR=OFF # Old pre-HL 25th satchel's behaviour
|
||||||
OEM_BUILD=OFF # OEM Build
|
OEM_BUILD=OFF # OEM Build
|
||||||
HLDEMO_BUILD=OFF # Demo Build
|
HLDEMO_BUILD=OFF # Demo Build
|
||||||
|
|
||||||
GAMEDIR=valve # Gamedir path
|
GAMEDIR=decay # Gamedir path
|
||||||
SERVER_INSTALL_DIR=dlls # Where put server dll
|
SERVER_INSTALL_DIR=dlls # Where put server dll
|
||||||
CLIENT_INSTALL_DIR=cl_dlls # Where put client dll
|
CLIENT_INSTALL_DIR=cl_dlls # Where put client dll
|
||||||
SERVER_LIBRARY_NAME=hl # Library name for PC platforms
|
SERVER_LIBRARY_NAME=decay # Library name for PC platforms
|
||||||
|
|
Loading…
Reference in New Issue