mirror of
https://github.com/YGGverse/hlsdk-portable.git
synced 2025-01-23 13:14:51 +00:00
Merge branch 'opfor' into opforfixed
This commit is contained in:
commit
906fb522ff
@ -37,7 +37,7 @@ def build(bld):
|
||||
defines = ['CLIENT_DLL']
|
||||
includes = ['.',
|
||||
'../dlls',
|
||||
'../dlls/gearbox'
|
||||
'../dlls/gearbox',
|
||||
'../common',
|
||||
'../engine',
|
||||
'../pm_shared',
|
||||
|
@ -1849,7 +1849,8 @@ void CHFGrunt :: HandleAnimEvent( MonsterEvent_t *pEvent )
|
||||
{
|
||||
case HGRUNT_ALLY_AE_DROP_GUN:
|
||||
{
|
||||
DropMyItems(FALSE);
|
||||
if (GetBodygroup(FG_GUN_GROUP) != FG_GUN_NONE)
|
||||
DropMyItems(FALSE);
|
||||
SetUse( NULL );
|
||||
}
|
||||
break;
|
||||
@ -1949,7 +1950,7 @@ void CHFGrunt :: HandleAnimEvent( MonsterEvent_t *pEvent )
|
||||
SENTENCEG_PlayRndSz(ENT(pev), SentenceByNumber(FGRUNT_SENT_ALERT), FGRUNT_SENTENCE_VOLUME, ATTN_NORM, 0, m_voicePitch);
|
||||
JustSpoke();
|
||||
}
|
||||
|
||||
break;
|
||||
}
|
||||
|
||||
default:
|
||||
@ -3318,7 +3319,7 @@ void CTorch::HandleAnimEvent(MonsterEvent_t *pEvent)
|
||||
KillGas ();
|
||||
break;
|
||||
case HGRUNT_ALLY_AE_DROP_GUN:
|
||||
if ( FBitSet( pev->weapons, TORCH_EAGLE ) )
|
||||
if ( FBitSet( pev->weapons, TORCH_EAGLE ) && pev->body != TORCH_GUN_NONE )
|
||||
{
|
||||
DropMyItems(FALSE);
|
||||
}
|
||||
@ -3849,7 +3850,7 @@ void CMedic::HandleAnimEvent(MonsterEvent_t *pEvent)
|
||||
break;
|
||||
|
||||
case HGRUNT_ALLY_AE_DROP_GUN:
|
||||
if ( FBitSet( pev->weapons, MEDIC_EAGLE | MEDIC_HANDGUN ) )
|
||||
if ( FBitSet( pev->weapons, MEDIC_EAGLE | MEDIC_HANDGUN ) && GetBodygroup(MEDIC_GUN_GROUP) != MEDIC_GUN_NONE )
|
||||
{
|
||||
DropMyItems(FALSE);
|
||||
}
|
||||
|
@ -155,26 +155,28 @@ void CMassn::HandleAnimEvent(MonsterEvent_t *pEvent)
|
||||
Vector vecGunPos;
|
||||
Vector vecGunAngles;
|
||||
|
||||
GetAttachment(0, vecGunPos, vecGunAngles);
|
||||
|
||||
// switch to body group with no gun.
|
||||
SetBodygroup(GUN_GROUP, GUN_NONE);
|
||||
|
||||
// now spawn a gun.
|
||||
if (FBitSet(pev->weapons, MASSN_SNIPERRIFLE))
|
||||
if(GetBodygroup(GUN_GROUP) != GUN_NONE)
|
||||
{
|
||||
DropItem("weapon_sniperrifle", vecGunPos, vecGunAngles);
|
||||
}
|
||||
else
|
||||
{
|
||||
DropItem("weapon_9mmAR", vecGunPos, vecGunAngles);
|
||||
}
|
||||
GetAttachment(0, vecGunPos, vecGunAngles);
|
||||
|
||||
if (FBitSet(pev->weapons, MASSN_GRENADELAUNCHER))
|
||||
{
|
||||
DropItem("ammo_ARgrenades", BodyTarget(pev->origin), vecGunAngles);
|
||||
}
|
||||
// switch to body group with no gun.
|
||||
SetBodygroup(GUN_GROUP, GUN_NONE);
|
||||
|
||||
// now spawn a gun.
|
||||
if (FBitSet(pev->weapons, MASSN_SNIPERRIFLE))
|
||||
{
|
||||
DropItem("weapon_sniperrifle", vecGunPos, vecGunAngles);
|
||||
}
|
||||
else
|
||||
{
|
||||
DropItem("weapon_9mmAR", vecGunPos, vecGunAngles);
|
||||
}
|
||||
|
||||
if (FBitSet(pev->weapons, MASSN_GRENADELAUNCHER))
|
||||
{
|
||||
DropItem("ammo_ARgrenades", BodyTarget(pev->origin), vecGunAngles);
|
||||
}
|
||||
}
|
||||
}
|
||||
break;
|
||||
|
||||
|
@ -390,7 +390,7 @@ void CStrooper::HandleAnimEvent(MonsterEvent_t *pEvent)
|
||||
SENTENCEG_PlayRndSz(ENT(pev), "ST_ALERT", STROOPER_SENTENCE_VOLUME, STROOPER_ATTN, 0, m_voicePitch);
|
||||
JustSpoke();
|
||||
}
|
||||
|
||||
break;
|
||||
}
|
||||
|
||||
default:
|
||||
|
@ -1010,16 +1010,19 @@ void CVoltigore::StartTask(Task_t *pTask)
|
||||
}
|
||||
break;
|
||||
case TASK_VOLTIGORE_GET_PATH_TO_ENEMY_CORPSE:
|
||||
UTIL_MakeVectors( pev->angles );
|
||||
if( BuildRoute( m_vecEnemyLKP - gpGlobals->v_forward * 50, bits_MF_TO_LOCATION, NULL ) )
|
||||
{
|
||||
TaskComplete();
|
||||
}
|
||||
else
|
||||
{
|
||||
ALERT( at_aiconsole, "VoltigoreGetPathToEnemyCorpse failed!!\n" );
|
||||
TaskFail();
|
||||
UTIL_MakeVectors( pev->angles );
|
||||
if( BuildRoute( m_vecEnemyLKP - gpGlobals->v_forward * 50, bits_MF_TO_LOCATION, NULL ) )
|
||||
{
|
||||
TaskComplete();
|
||||
}
|
||||
else
|
||||
{
|
||||
ALERT( at_aiconsole, "VoltigoreGetPathToEnemyCorpse failed!!\n" );
|
||||
TaskFail();
|
||||
}
|
||||
}
|
||||
break;
|
||||
default:
|
||||
CBaseMonster::StartTask(pTask);
|
||||
break;
|
||||
|
@ -212,7 +212,7 @@ void CHGrunt::GibMonster( void )
|
||||
Vector vecGunPos;
|
||||
Vector vecGunAngles;
|
||||
|
||||
if( GetBodygroup( 2 ) != 2 )
|
||||
if( GetBodygroup( GUN_GROUP ) != GUN_NONE )
|
||||
{
|
||||
// throw a gun if the grunt has one
|
||||
GetAttachment( 0, vecGunPos, vecGunAngles );
|
||||
@ -543,7 +543,7 @@ void CHGrunt::TraceAttack( entvars_t *pevAttacker, float flDamage, Vector vecDir
|
||||
if( ptr->iHitgroup == 11 )
|
||||
{
|
||||
// make sure we're wearing one
|
||||
if( GetBodygroup( 1 ) == HEAD_GRUNT && ( bitsDamageType & (DMG_BULLET | DMG_SLASH | DMG_BLAST | DMG_CLUB ) ) )
|
||||
if( GetBodygroup( HEAD_GROUP ) == HEAD_GRUNT && ( bitsDamageType & (DMG_BULLET | DMG_SLASH | DMG_BLAST | DMG_CLUB ) ) )
|
||||
{
|
||||
// absorb damage
|
||||
flDamage -= 20;
|
||||
@ -788,27 +788,30 @@ void CHGrunt::HandleAnimEvent( MonsterEvent_t *pEvent )
|
||||
{
|
||||
case HGRUNT_AE_DROP_GUN:
|
||||
{
|
||||
Vector vecGunPos;
|
||||
Vector vecGunAngles;
|
||||
|
||||
GetAttachment( 0, vecGunPos, vecGunAngles );
|
||||
|
||||
// switch to body group with no gun.
|
||||
SetBodygroup( GUN_GROUP, GUN_NONE );
|
||||
|
||||
// now spawn a gun.
|
||||
if( FBitSet( pev->weapons, HGRUNT_SHOTGUN ) )
|
||||
if ( GetBodygroup( GUN_GROUP ) != GUN_NONE )
|
||||
{
|
||||
DropItem( "weapon_shotgun", vecGunPos, vecGunAngles );
|
||||
}
|
||||
else
|
||||
{
|
||||
DropItem( "weapon_9mmAR", vecGunPos, vecGunAngles );
|
||||
}
|
||||
Vector vecGunPos;
|
||||
Vector vecGunAngles;
|
||||
|
||||
if( FBitSet( pev->weapons, HGRUNT_GRENADELAUNCHER ) )
|
||||
{
|
||||
DropItem( "ammo_ARgrenades", BodyTarget( pev->origin ), vecGunAngles );
|
||||
GetAttachment( 0, vecGunPos, vecGunAngles );
|
||||
|
||||
// switch to body group with no gun.
|
||||
SetBodygroup( GUN_GROUP, GUN_NONE );
|
||||
|
||||
// now spawn a gun.
|
||||
if( FBitSet( pev->weapons, HGRUNT_SHOTGUN ) )
|
||||
{
|
||||
DropItem( "weapon_shotgun", vecGunPos, vecGunAngles );
|
||||
}
|
||||
else
|
||||
{
|
||||
DropItem( "weapon_9mmAR", vecGunPos, vecGunAngles );
|
||||
}
|
||||
|
||||
if( FBitSet( pev->weapons, HGRUNT_GRENADELAUNCHER ) )
|
||||
{
|
||||
DropItem( "ammo_ARgrenades", BodyTarget( pev->origin ), vecGunAngles );
|
||||
}
|
||||
}
|
||||
}
|
||||
break;
|
||||
|
@ -2330,7 +2330,7 @@ void CSpriteTrain::Activate( void )
|
||||
if( FStringNull( pev->targetname ) )
|
||||
{
|
||||
m_nexting = TRUE;
|
||||
m_nextTime = pev->ltime + 0.1;
|
||||
pev->nextthink = pev->ltime + 0.1;
|
||||
}
|
||||
else
|
||||
pev->spawnflags |= SF_TRAIN_WAIT_RETRIGGER;
|
||||
@ -2441,12 +2441,12 @@ void CSpriteTrain::Wait()
|
||||
STOP_SOUND( edict(), CHAN_STATIC, STRING( pev->noiseMovement ) );
|
||||
if( pev->noiseStopMoving )
|
||||
EMIT_SOUND( ENT( pev ), CHAN_VOICE, STRING( pev->noiseStopMoving ), m_volume, ATTN_NORM );
|
||||
pev->nextthink = 0;
|
||||
return;
|
||||
}
|
||||
|
||||
if( m_flWait != 0 )
|
||||
{
|
||||
pev->nextthink = pev->ltime + m_flWait;
|
||||
if( pev->noiseMovement )
|
||||
STOP_SOUND( edict(), CHAN_STATIC, STRING( pev->noiseMovement ) );
|
||||
if( pev->noiseStopMoving )
|
||||
@ -2474,7 +2474,6 @@ void CSpriteTrain::Use( CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE
|
||||
// Pop back to last target if it's available
|
||||
if( pev->enemy )
|
||||
pev->target = pev->enemy->v.targetname;
|
||||
pev->nextthink = 0;
|
||||
pev->velocity = g_vecZero;
|
||||
if( pev->noiseStopMoving )
|
||||
EMIT_SOUND( ENT( pev ), CHAN_VOICE, STRING( pev->noiseStopMoving ), m_volume, ATTN_NORM );
|
||||
|
@ -20,7 +20,7 @@ def configure(conf):
|
||||
conf.fatal("Could not find hl.def")
|
||||
|
||||
def build(bld):
|
||||
excluded_files = ['mpstubb.cpp', 'stats.cpp', 'prop.cpp', 'Wxdebug.cpp', 'gearbox/gearbox_client.cpp']
|
||||
excluded_files = ['mpstubb.cpp', 'stats.cpp', 'Wxdebug.cpp', 'gearbox/gearbox_client.cpp']
|
||||
|
||||
source = bld.path.ant_glob('**/*.cpp', excl=excluded_files)
|
||||
source += bld.path.parent.ant_glob('pm_shared/*.c')
|
||||
|
6
wscript
6
wscript
@ -10,6 +10,7 @@ import re
|
||||
VERSION = '2.4'
|
||||
APPNAME = 'hlsdk-portable'
|
||||
top = '.'
|
||||
default_prefix = '/'
|
||||
|
||||
Context.Context.line_just = 60 # should fit for everything on 80x26
|
||||
|
||||
@ -21,7 +22,7 @@ def get_taskgen_count(self):
|
||||
|
||||
def options(opt):
|
||||
opt.load('reconfigure compiler_optimizations xcompile compiler_cxx compiler_c clang_compilation_database strip_on_install msdev msvs msvc subproject')
|
||||
|
||||
|
||||
grp = opt.add_option_group('Common options')
|
||||
|
||||
grp.add_option('-8', '--64bits', action = 'store_true', dest = 'ALLOW64', default = False,
|
||||
@ -238,6 +239,9 @@ def configure(conf):
|
||||
conf.add_subproject('cl_dll')
|
||||
|
||||
def build(bld):
|
||||
if bld.is_install and not bld.options.destdir:
|
||||
bld.fatal('Set the install destination directory using --destdir option')
|
||||
|
||||
# don't clean QtCreator files and reconfigure saved options
|
||||
bld.clean_files = bld.bldnode.ant_glob('**',
|
||||
excl='*.user configuration.py .lock* *conf_check_*/** config.log %s/*' % Build.CACHE_DIR,
|
||||
|
Loading…
x
Reference in New Issue
Block a user