Wrap braces after case label

#84
This commit is contained in:
Sam V 2021-11-29 20:55:01 +01:00
parent 55a1e89af5
commit 2b9b75ac97
43 changed files with 632 additions and 366 deletions

View file

@ -9,6 +9,7 @@ AllowShortBlocksOnASingleLine: true
AllowShortFunctionsOnASingleLine: All
BasedOnStyle: LLVM
BraceWrapping:
AfterCaseLabel: true
AfterClass: true
AfterControlStatement: true
AfterEnum: true

View file

@ -689,7 +689,8 @@ void CStudioModelRenderer::StudioFxTransform(cl_entity_t* ent, float transform[3
transform[gEngfuncs.pfnRandomLong(0, 2)][3] += offset;
}
break;
case kRenderFxExplode: {
case kRenderFxExplode:
{
float scale;
scale = 1.0 + (m_clTime - ent->curstate.animtime) * 10.0;

View file

@ -742,7 +742,8 @@ void CHudSpectator::DirectorMessage(int iSize, void* pbuf)
}
break;
case DRC_CMD_MESSAGE: {
case DRC_CMD_MESSAGE:
{
client_textmessage_t* msg = &m_HUDMessages[m_lastHudMessage];
msg->effect = READ_BYTE(); // effect

View file

@ -1082,7 +1082,8 @@ void CLabelHeader::calcAlignment(int iwide, int itall, int& x, int& y)
// left
case Label::a_northwest:
case Label::a_west:
case Label::a_southwest: {
case Label::a_southwest:
{
x = 0;
break;
}
@ -1090,7 +1091,8 @@ void CLabelHeader::calcAlignment(int iwide, int itall, int& x, int& y)
// center
case Label::a_north:
case Label::a_center:
case Label::a_south: {
case Label::a_south:
{
x = (wide - iwide) / 2;
break;
}
@ -1098,7 +1100,8 @@ void CLabelHeader::calcAlignment(int iwide, int itall, int& x, int& y)
// right
case Label::a_northeast:
case Label::a_east:
case Label::a_southeast: {
case Label::a_southeast:
{
x = wide - iwide;
break;
}
@ -1110,7 +1113,8 @@ void CLabelHeader::calcAlignment(int iwide, int itall, int& x, int& y)
// top
case Label::a_northwest:
case Label::a_north:
case Label::a_northeast: {
case Label::a_northeast:
{
y = 0;
break;
}
@ -1118,7 +1122,8 @@ void CLabelHeader::calcAlignment(int iwide, int itall, int& x, int& y)
// center
case Label::a_west:
case Label::a_center:
case Label::a_east: {
case Label::a_east:
{
y = (tall - itall) / 2;
break;
}
@ -1126,7 +1131,8 @@ void CLabelHeader::calcAlignment(int iwide, int itall, int& x, int& y)
// south
case Label::a_southwest:
case Label::a_south:
case Label::a_southeast: {
case Label::a_southeast:
{
y = tall - itall;
break;
}

View file

@ -27,11 +27,11 @@
#endif
// Silence certain warnings
#pragma warning(disable : 4244) // int or float down-conversion
#pragma warning(disable : 4305) // int or float data truncation
#pragma warning(disable : 4201) // nameless struct/union
#pragma warning(disable : 4514) // unreferenced inline function removed
#pragma warning(disable : 4100) // unreferenced formal parameter
#pragma warning(disable : 4244) // int or float down-conversion
#pragma warning(disable : 4305) // int or float data truncation
#pragma warning(disable : 4201) // nameless struct/union
#pragma warning(disable : 4514) // unreferenced inline function removed
#pragma warning(disable : 4100) // unreferenced formal parameter
#pragma warning(disable : 26495) // Variable is uninitialized
#pragma warning(disable : 26451) // Arithmetic overflow
#pragma warning(disable : 26812) // The enum type is unscoped

View file

@ -423,7 +423,8 @@ void CAGrunt::HandleAnimEvent(MonsterEvent_t* pEvent)
case AGRUNT_AE_HORNET2:
case AGRUNT_AE_HORNET3:
case AGRUNT_AE_HORNET4:
case AGRUNT_AE_HORNET5: {
case AGRUNT_AE_HORNET5:
{
// m_vecEnemyLKP should be center of enemy body
Vector vecArmPos, vecArmDir;
Vector vecDirToEnemy;
@ -517,7 +518,8 @@ void CAGrunt::HandleAnimEvent(MonsterEvent_t* pEvent)
}
break;
case AGRUNT_AE_LEFT_PUNCH: {
case AGRUNT_AE_LEFT_PUNCH:
{
CBaseEntity* pHurt = CheckTraceHullAttack(AGRUNT_MELEE_DIST, gSkillData.agruntDmgPunch, DMG_CLUB);
if (pHurt)
@ -546,7 +548,8 @@ void CAGrunt::HandleAnimEvent(MonsterEvent_t* pEvent)
}
break;
case AGRUNT_AE_RIGHT_PUNCH: {
case AGRUNT_AE_RIGHT_PUNCH:
{
CBaseEntity* pHurt = CheckTraceHullAttack(AGRUNT_MELEE_DIST, gSkillData.agruntDmgPunch, DMG_CLUB);
if (pHurt)
@ -956,7 +959,8 @@ void CAGrunt::StartTask(Task_t* pTask)
{
switch (pTask->iTask)
{
case TASK_AGRUNT_GET_PATH_TO_ENEMY_CORPSE: {
case TASK_AGRUNT_GET_PATH_TO_ENEMY_CORPSE:
{
UTIL_MakeVectors(pev->angles);
if (BuildRoute(m_vecEnemyLKP - gpGlobals->v_forward * 50, bits_MF_TO_LOCATION, NULL))
{
@ -1072,7 +1076,8 @@ Schedule_t* CAGrunt::GetSchedule()
switch (m_MonsterState)
{
case MONSTERSTATE_COMBAT: {
case MONSTERSTATE_COMBAT:
{
// dead enemy
if (HasConditions(bits_COND_ENEMY_DEAD))
{

View file

@ -79,7 +79,7 @@ int CBaseAnimating::LookupActivity(int activity)
ASSERT(activity != 0);
void* pmodel = GET_MODEL_PTR(ENT(pev));
return::LookupActivity(pmodel, pev, activity);
return ::LookupActivity(pmodel, pev, activity);
}
//=========================================================
@ -92,7 +92,7 @@ int CBaseAnimating::LookupActivityHeaviest(int activity)
{
void* pmodel = GET_MODEL_PTR(ENT(pev));
return::LookupActivityHeaviest(pmodel, pev, activity);
return ::LookupActivityHeaviest(pmodel, pev, activity);
}
//=========================================================
@ -101,7 +101,7 @@ int CBaseAnimating::LookupSequence(const char* label)
{
void* pmodel = GET_MODEL_PTR(ENT(pev));
return::LookupSequence(pmodel, label);
return ::LookupSequence(pmodel, label);
}
@ -127,7 +127,7 @@ int CBaseAnimating::GetSequenceFlags()
{
void* pmodel = GET_MODEL_PTR(ENT(pev));
return::GetSequenceFlags(pmodel, pev);
return ::GetSequenceFlags(pmodel, pev);
}
//=========================================================
@ -193,7 +193,7 @@ float CBaseAnimating::SetBlending(int iBlender, float flValue)
{
void* pmodel = GET_MODEL_PTR(ENT(pev));
return::SetBlending(pmodel, pev, iBlender, flValue);
return ::SetBlending(pmodel, pev, iBlender, flValue);
}
//=========================================================
@ -219,14 +219,14 @@ int CBaseAnimating::FindTransition(int iEndingSequence, int iGoalSequence, int*
if (piDir == NULL)
{
int iDir;
int sequence =::FindTransition(pmodel, iEndingSequence, iGoalSequence, &iDir);
int sequence = ::FindTransition(pmodel, iEndingSequence, iGoalSequence, &iDir);
if (iDir != 1)
return -1;
else
return sequence;
}
return::FindTransition(pmodel, iEndingSequence, iGoalSequence, piDir);
return ::FindTransition(pmodel, iEndingSequence, iGoalSequence, piDir);
}
//=========================================================
@ -242,13 +242,13 @@ void CBaseAnimating::SetBodygroup(int iGroup, int iValue)
int CBaseAnimating::GetBodygroup(int iGroup)
{
return::GetBodygroup(GET_MODEL_PTR(ENT(pev)), pev, iGroup);
return ::GetBodygroup(GET_MODEL_PTR(ENT(pev)), pev, iGroup);
}
bool CBaseAnimating::ExtractBbox(int sequence, float* mins, float* maxs)
{
return::ExtractBbox(GET_MODEL_PTR(ENT(pev)), sequence, mins, maxs);
return ::ExtractBbox(GET_MODEL_PTR(ENT(pev)), sequence, mins, maxs);
}
//=========================================================

View file

@ -701,7 +701,8 @@ Schedule_t* CBarney::GetSchedule()
switch (m_MonsterState)
{
case MONSTERSTATE_COMBAT: {
case MONSTERSTATE_COMBAT:
{
// dead enemy
if (HasConditions(bits_COND_ENEMY_DEAD))
{

View file

@ -439,7 +439,8 @@ void CBigMomma::HandleAnimEvent(MonsterEvent_t* pEvent)
{
case BIG_AE_MELEE_ATTACKBR:
case BIG_AE_MELEE_ATTACKBL:
case BIG_AE_MELEE_ATTACK1: {
case BIG_AE_MELEE_ATTACK1:
{
Vector forward, right;
UTIL_MakeVectorsPrivate(pev->angles, forward, right, NULL);
@ -538,7 +539,8 @@ void CBigMomma::HandleAnimEvent(MonsterEvent_t* pEvent)
pev->velocity = (gpGlobals->v_forward * 200) + gpGlobals->v_up * 500;
break;
case BIG_AE_EARLY_TARGET: {
case BIG_AE_EARLY_TARGET:
{
CBaseEntity* pTarget = m_hTargetEnt;
if (pTarget && !FStringNull(pTarget->pev->message))
FireTargets(STRING(pTarget->pev->message), this, this, USE_TOGGLE, 0);
@ -914,7 +916,8 @@ void CBigMomma::StartTask(Task_t* pTask)
{
switch (pTask->iTask)
{
case TASK_FIND_NODE: {
case TASK_FIND_NODE:
{
CBaseEntity* pTarget = m_hTargetEnt;
if (!HasMemory(bits_MEMORY_ADVANCE_NODE))
{
@ -940,7 +943,8 @@ void CBigMomma::StartTask(Task_t* pTask)
break;
case TASK_PLAY_NODE_PRESEQUENCE:
case TASK_PLAY_NODE_SEQUENCE: {
case TASK_PLAY_NODE_SEQUENCE:
{
int sequence;
if (pTask->iTask == TASK_PLAY_NODE_SEQUENCE)
sequence = GetNodeSequence();
@ -978,7 +982,8 @@ void CBigMomma::StartTask(Task_t* pTask)
break;
case TASK_MOVE_TO_NODE_RANGE: {
case TASK_MOVE_TO_NODE_RANGE:
{
CBaseEntity* pTarget = m_hTargetEnt;
if (!pTarget)
TaskFail();
@ -1023,7 +1028,8 @@ void CBigMomma::RunTask(Task_t* pTask)
{
switch (pTask->iTask)
{
case TASK_MOVE_TO_NODE_RANGE: {
case TASK_MOVE_TO_NODE_RANGE:
{
float distance;
if (m_hTargetEnt == NULL)

View file

@ -170,7 +170,8 @@ void CBloater::HandleAnimEvent(MonsterEvent_t* pEvent)
{
switch (pEvent->event)
{
case BLOATER_AE_ATTACK_MELEE1: {
case BLOATER_AE_ATTACK_MELEE1:
{
// do stuff for this event.
AttackSnd();
}

View file

@ -536,7 +536,8 @@ void CBullsquid::HandleAnimEvent(MonsterEvent_t* pEvent)
{
switch (pEvent->event)
{
case BSQUID_AE_SPIT: {
case BSQUID_AE_SPIT:
{
if (m_hEnemy)
{
Vector vecSpitOffset;
@ -578,7 +579,8 @@ void CBullsquid::HandleAnimEvent(MonsterEvent_t* pEvent)
}
break;
case BSQUID_AE_BITE: {
case BSQUID_AE_BITE:
{
// SOUND HERE!
CBaseEntity* pHurt = CheckTraceHullAttack(70, gSkillData.bullsquidDmgBite, DMG_SLASH);
@ -592,7 +594,8 @@ void CBullsquid::HandleAnimEvent(MonsterEvent_t* pEvent)
}
break;
case BSQUID_AE_TAILWHIP: {
case BSQUID_AE_TAILWHIP:
{
CBaseEntity* pHurt = CheckTraceHullAttack(70, gSkillData.bullsquidDmgWhip, DMG_CLUB | DMG_ALWAYSGIB);
if (pHurt)
{
@ -604,13 +607,15 @@ void CBullsquid::HandleAnimEvent(MonsterEvent_t* pEvent)
}
break;
case BSQUID_AE_BLINK: {
case BSQUID_AE_BLINK:
{
// close eye.
pev->skin = 1;
}
break;
case BSQUID_AE_HOP: {
case BSQUID_AE_HOP:
{
float flGravity = g_psv_gravity->value;
// throw the squid up into the air on this frame.
@ -625,7 +630,8 @@ void CBullsquid::HandleAnimEvent(MonsterEvent_t* pEvent)
}
break;
case BSQUID_AE_THROW: {
case BSQUID_AE_THROW:
{
int iPitch;
// squid throws its prey IF the prey is a client.
@ -1005,7 +1011,8 @@ Schedule_t* CBullsquid::GetSchedule()
{
switch (m_MonsterState)
{
case MONSTERSTATE_ALERT: {
case MONSTERSTATE_ALERT:
{
if (HasConditions(bits_COND_LIGHT_DAMAGE | bits_COND_HEAVY_DAMAGE))
{
return GetScheduleOfType(SCHED_SQUID_HURTHOP);
@ -1039,7 +1046,8 @@ Schedule_t* CBullsquid::GetSchedule()
break;
}
case MONSTERSTATE_COMBAT: {
case MONSTERSTATE_COMBAT:
{
// dead enemy
if (HasConditions(bits_COND_ENEMY_DEAD))
{
@ -1147,7 +1155,8 @@ void CBullsquid::StartTask(Task_t* pTask)
switch (pTask->iTask)
{
case TASK_MELEE_ATTACK2: {
case TASK_MELEE_ATTACK2:
{
switch (RANDOM_LONG(0, 2))
{
case 0:
@ -1164,12 +1173,14 @@ void CBullsquid::StartTask(Task_t* pTask)
CBaseMonster::StartTask(pTask);
break;
}
case TASK_SQUID_HOPTURN: {
case TASK_SQUID_HOPTURN:
{
SetActivity(ACT_HOP);
MakeIdealYaw(m_vecEnemyLKP);
break;
}
case TASK_GET_PATH_TO_ENEMY: {
case TASK_GET_PATH_TO_ENEMY:
{
if (BuildRoute(m_hEnemy->pev->origin, bits_MF_TO_ENEMY, m_hEnemy))
{
m_iTaskStatus = TASKSTATUS_COMPLETE;
@ -1181,7 +1192,8 @@ void CBullsquid::StartTask(Task_t* pTask)
}
break;
}
default: {
default:
{
CBaseMonster::StartTask(pTask);
break;
}
@ -1195,7 +1207,8 @@ void CBullsquid::RunTask(Task_t* pTask)
{
switch (pTask->iTask)
{
case TASK_SQUID_HOPTURN: {
case TASK_SQUID_HOPTURN:
{
MakeIdealYaw(m_vecEnemyLKP);
ChangeYaw(pev->yaw_speed);
@ -1205,7 +1218,8 @@ void CBullsquid::RunTask(Task_t* pTask)
}
break;
}
default: {
default:
{
CBaseMonster::RunTask(pTask);
break;
}

View file

@ -266,7 +266,8 @@ void CController::HandleAnimEvent(MonsterEvent_t* pEvent)
{
switch (pEvent->event)
{
case CONTROLLER_AE_HEAD_OPEN: {
case CONTROLLER_AE_HEAD_OPEN:
{
Vector vecStart, angleGun;
GetAttachment(0, vecStart, angleGun);
@ -292,7 +293,8 @@ void CController::HandleAnimEvent(MonsterEvent_t* pEvent)
}
break;
case CONTROLLER_AE_BALL_SHOOT: {
case CONTROLLER_AE_BALL_SHOOT:
{
Vector vecStart, angleGun;
GetAttachment(0, vecStart, angleGun);
@ -321,20 +323,23 @@ void CController::HandleAnimEvent(MonsterEvent_t* pEvent)
}
break;
case CONTROLLER_AE_SMALL_SHOOT: {
case CONTROLLER_AE_SMALL_SHOOT:
{
AttackSound();
m_flShootTime = gpGlobals->time;
m_flShootEnd = m_flShootTime + atoi(pEvent->options) / 15.0;
}
break;
case CONTROLLER_AE_POWERUP_FULL: {
case CONTROLLER_AE_POWERUP_FULL:
{
m_iBall[0] = 255;
m_iBallTime[0] = gpGlobals->time + atoi(pEvent->options) / 15.0;
m_iBall[1] = 255;
m_iBallTime[1] = gpGlobals->time + atoi(pEvent->options) / 15.0;
}
break;
case CONTROLLER_AE_POWERUP_HALF: {
case CONTROLLER_AE_POWERUP_HALF:
{
m_iBall[0] = 192;
m_iBallTime[0] = gpGlobals->time + atoi(pEvent->options) / 15.0;
m_iBall[1] = 192;
@ -489,7 +494,8 @@ void CController::StartTask(Task_t* pTask)
case TASK_RANGE_ATTACK1:
CSquadMonster::StartTask(pTask);
break;
case TASK_GET_PATH_TO_ENEMY_LKP: {
case TASK_GET_PATH_TO_ENEMY_LKP:
{
if (BuildNearestRoute(m_vecEnemyLKP, pev->view_ofs, pTask->flData, (m_vecEnemyLKP - pev->origin).Length() + 1024))
{
TaskComplete();
@ -502,7 +508,8 @@ void CController::StartTask(Task_t* pTask)
}
break;
}
case TASK_GET_PATH_TO_ENEMY: {
case TASK_GET_PATH_TO_ENEMY:
{
CBaseEntity* pEnemy = m_hEnemy;
if (pEnemy == NULL)
@ -719,7 +726,8 @@ Schedule_t* CController::GetSchedule()
case MONSTERSTATE_ALERT:
break;
case MONSTERSTATE_COMBAT: {
case MONSTERSTATE_COMBAT:
{
Vector vecTmp = Intersect(Vector(0, 0, 0), Vector(100, 4, 7), Vector(2, 10, -3), 20.0);
// dead enemy

View file

@ -974,7 +974,8 @@ Schedule_t* CBaseMonster::GetScheduleOfType(int Type)
switch (Type)
{
// This is the schedule for scripted sequences AND scripted AI
case SCHED_AISCRIPT: {
case SCHED_AISCRIPT:
{
ASSERT(m_pCine != NULL);
if (!m_pCine)
{
@ -999,7 +1000,8 @@ Schedule_t* CBaseMonster::GetScheduleOfType(int Type)
}
break;
}
case SCHED_IDLE_STAND: {
case SCHED_IDLE_STAND:
{
if (RANDOM_LONG(0, 14) == 0 && FCanActiveIdle())
{
return &slActiveIdle[0];
@ -1007,100 +1009,132 @@ Schedule_t* CBaseMonster::GetScheduleOfType(int Type)
return &slIdleStand[0];
}
case SCHED_IDLE_WALK: {
case SCHED_IDLE_WALK:
{
return &slIdleWalk[0];
}
case SCHED_WAIT_TRIGGER: {
case SCHED_WAIT_TRIGGER:
{
return &slIdleTrigger[0];
}
case SCHED_WAKE_ANGRY: {
case SCHED_WAKE_ANGRY:
{
return &slWakeAngry[0];
}
case SCHED_ALERT_FACE: {
case SCHED_ALERT_FACE:
{
return &slAlertFace[0];
}
case SCHED_ALERT_STAND: {
case SCHED_ALERT_STAND:
{
return &slAlertStand[0];
}
case SCHED_COMBAT_STAND: {
case SCHED_COMBAT_STAND:
{
return &slCombatStand[0];
}
case SCHED_COMBAT_FACE: {
case SCHED_COMBAT_FACE:
{
return &slCombatFace[0];
}
case SCHED_CHASE_ENEMY: {
case SCHED_CHASE_ENEMY:
{
return &slChaseEnemy[0];
}
case SCHED_CHASE_ENEMY_FAILED: {
case SCHED_CHASE_ENEMY_FAILED:
{
return &slFail[0];
}
case SCHED_SMALL_FLINCH: {
case SCHED_SMALL_FLINCH:
{
return &slSmallFlinch[0];
}
case SCHED_ALERT_SMALL_FLINCH: {
case SCHED_ALERT_SMALL_FLINCH:
{
return &slAlertSmallFlinch[0];
}
case SCHED_RELOAD: {
case SCHED_RELOAD:
{
return &slReload[0];
}
case SCHED_ARM_WEAPON: {
case SCHED_ARM_WEAPON:
{
return &slArmWeapon[0];
}
case SCHED_STANDOFF: {
case SCHED_STANDOFF:
{
return &slStandoff[0];
}
case SCHED_RANGE_ATTACK1: {
case SCHED_RANGE_ATTACK1:
{
return &slRangeAttack1[0];
}
case SCHED_RANGE_ATTACK2: {
case SCHED_RANGE_ATTACK2:
{
return &slRangeAttack2[0];
}
case SCHED_MELEE_ATTACK1: {
case SCHED_MELEE_ATTACK1:
{
return &slPrimaryMeleeAttack[0];
}
case SCHED_MELEE_ATTACK2: {
case SCHED_MELEE_ATTACK2:
{
return &slSecondaryMeleeAttack[0];
}
case SCHED_SPECIAL_ATTACK1: {
case SCHED_SPECIAL_ATTACK1:
{
return &slSpecialAttack1[0];
}
case SCHED_SPECIAL_ATTACK2: {
case SCHED_SPECIAL_ATTACK2:
{
return &slSpecialAttack2[0];
}
case SCHED_TAKE_COVER_FROM_BEST_SOUND: {
case SCHED_TAKE_COVER_FROM_BEST_SOUND:
{
return &slTakeCoverFromBestSound[0];
}
case SCHED_TAKE_COVER_FROM_ENEMY: {
case SCHED_TAKE_COVER_FROM_ENEMY:
{
return &slTakeCoverFromEnemy[0];
}
case SCHED_COWER: {
case SCHED_COWER:
{
return &slCower[0];
}
case SCHED_AMBUSH: {
case SCHED_AMBUSH:
{
return &slAmbush[0];
}
case SCHED_BARNACLE_VICTIM_GRAB: {
case SCHED_BARNACLE_VICTIM_GRAB:
{
return &slBarnacleVictimGrab[0];
}
case SCHED_BARNACLE_VICTIM_CHOMP: {
case SCHED_BARNACLE_VICTIM_CHOMP:
{
return &slBarnacleVictimChomp[0];
}
case SCHED_INVESTIGATE_SOUND: {
case SCHED_INVESTIGATE_SOUND:
{
return &slInvestigateSound[0];
}
case SCHED_DIE: {
case SCHED_DIE:
{
return &slDie[0];
}
case SCHED_TAKE_COVER_FROM_ORIGIN: {
case SCHED_TAKE_COVER_FROM_ORIGIN:
{
return &slTakeCoverFromOrigin[0];
}
case SCHED_VICTORY_DANCE: {
case SCHED_VICTORY_DANCE:
{
return &slVictoryDance[0];
}
case SCHED_FAIL: {
case SCHED_FAIL:
{
return slFail;
}
default: {
default:
{
ALERT(at_console, "GetScheduleOfType()\nNo CASE for Schedule Type %d!\n", Type);
return &slIdleStand[0];

View file

@ -578,7 +578,7 @@ bool CBaseDoor::DoorActivate()
{ // door should open
if (m_hActivator != NULL && m_hActivator->IsPlayer())
{ // give health if player opened the door (medikit)
{ // give health if player opened the door (medikit)
// VARS( m_eoActivator )->health += m_bHealthValue;
m_hActivator->TakeHealth(m_bHealthValue, DMG_GENERIC);

View file

@ -169,7 +169,8 @@ void CEgon::Attack()
switch (m_fireState)
{
case FIRE_OFF: {
case FIRE_OFF:
{
if (!HasAmmo())
{
m_flNextPrimaryAttack = m_flNextSecondaryAttack = UTIL_WeaponTimeBase() + 0.25;
@ -192,7 +193,8 @@ void CEgon::Attack()
}
break;
case FIRE_CHARGE: {
case FIRE_CHARGE:
{
Fire(vecSrc, vecAiming);
m_pPlayer->m_iWeaponVolume = EGON_PRIMARY_VOLUME;

View file

@ -507,7 +507,8 @@ void CBreakable::TraceAttack(entvars_t* pevAttacker, float flDamage, Vector vecD
{
switch (m_Material)
{
case matComputer: {
case matComputer:
{
UTIL_Sparks(ptr->vecEndPos);
float flVolume = RANDOM_FLOAT(0.7, 1.0); //random volume range

View file

@ -994,7 +994,8 @@ void CGargantua::HandleAnimEvent(MonsterEvent_t* pEvent)
{
switch (pEvent->event)
{
case GARG_AE_SLASH_LEFT: {
case GARG_AE_SLASH_LEFT:
{
// HACKHACK!!!
CBaseEntity* pHurt = GargantuaCheckTraceHullAttack(GARG_ATTACKDIST + 10.0, gSkillData.gargantuaDmgSlash, DMG_SLASH);
if (pHurt)

View file

@ -245,7 +245,8 @@ void CHAssassin::HandleAnimEvent(MonsterEvent_t* pEvent)
case ASSASSIN_AE_SHOOT1:
Shoot();
break;
case ASSASSIN_AE_TOSS1: {
case ASSASSIN_AE_TOSS1:
{
UTIL_MakeVectors(pev->angles);
CGrenade::ShootTimed(pev, pev->origin + gpGlobals->v_forward * 34 + Vector(0, 0, 32), m_vecTossVelocity, 2.0);
@ -254,7 +255,8 @@ void CHAssassin::HandleAnimEvent(MonsterEvent_t* pEvent)
// !!!LATER - when in a group, only try to throw grenade if ordered.
}
break;
case ASSASSIN_AE_JUMP: {
case ASSASSIN_AE_JUMP:
{
// ALERT( at_console, "jumping");
UTIL_MakeAimVectors(pev->angles);
pev->movetype = MOVETYPE_TOSS;
@ -820,7 +822,8 @@ Schedule_t* CHAssassin::GetSchedule()
switch (m_MonsterState)
{
case MONSTERSTATE_IDLE:
case MONSTERSTATE_ALERT: {
case MONSTERSTATE_ALERT:
{
if (HasConditions(bits_COND_HEAR_SOUND))
{
CSound* pSound;
@ -839,7 +842,8 @@ Schedule_t* CHAssassin::GetSchedule()
}
break;
case MONSTERSTATE_COMBAT: {
case MONSTERSTATE_COMBAT:
{
// dead enemy
if (HasConditions(bits_COND_ENEMY_DEAD))
{

View file

@ -210,7 +210,8 @@ void CHeadCrab::HandleAnimEvent(MonsterEvent_t* pEvent)
{
switch (pEvent->event)
{
case HC_AE_JUMPATTACK: {
case HC_AE_JUMPATTACK:
{
ClearBits(pev->flags, FL_ONGROUND);
UTIL_SetOrigin(pev, pev->origin + Vector(0, 0, 1)); // take him off ground so engine doesn't instantly reset onground
@ -313,7 +314,8 @@ void CHeadCrab::RunTask(Task_t* pTask)
switch (pTask->iTask)
{
case TASK_RANGE_ATTACK1:
case TASK_RANGE_ATTACK2: {
case TASK_RANGE_ATTACK2:
{
if (m_fSequenceFinished)
{
TaskComplete();
@ -322,7 +324,8 @@ void CHeadCrab::RunTask(Task_t* pTask)
}
break;
}
default: {
default:
{
CBaseMonster::RunTask(pTask);
}
}
@ -373,13 +376,15 @@ void CHeadCrab::StartTask(Task_t* pTask)
switch (pTask->iTask)
{
case TASK_RANGE_ATTACK1: {
case TASK_RANGE_ATTACK1:
{
EMIT_SOUND_DYN(edict(), CHAN_WEAPON, pAttackSounds[0], GetSoundVolue(), ATTN_IDLE, 0, GetVoicePitch());
m_IdealActivity = ACT_RANGE_ATTACK1;
SetTouch(&CHeadCrab::LeapTouch);
break;
}
default: {
default:
{
CBaseMonster::StartTask(pTask);
}
}
@ -460,7 +465,8 @@ Schedule_t* CHeadCrab::GetScheduleOfType(int Type)
{
switch (Type)
{
case SCHED_RANGE_ATTACK1: {
case SCHED_RANGE_ATTACK1:
{
return &slHCRangeAttack1[0];
}
break;
@ -533,7 +539,8 @@ Schedule_t* CBabyCrab::GetScheduleOfType(int Type)
return slHCRangeAttack1Fast;
break;
case SCHED_RANGE_ATTACK1: {
case SCHED_RANGE_ATTACK1:
{
return slHCRangeAttack1Fast;
}
break;

View file

@ -844,7 +844,8 @@ void CHGrunt::HandleAnimEvent(MonsterEvent_t* pEvent)
switch (pEvent->event)
{
case HGRUNT_AE_DROP_GUN: {
case HGRUNT_AE_DROP_GUN:
{
Vector vecGunPos;
Vector vecGunAngles;
@ -875,7 +876,8 @@ void CHGrunt::HandleAnimEvent(MonsterEvent_t* pEvent)
ClearConditions(bits_COND_NO_AMMO_LOADED);
break;
case HGRUNT_AE_GREN_TOSS: {
case HGRUNT_AE_GREN_TOSS:
{
UTIL_MakeVectors(pev->angles);
// CGrenade::ShootTimed( pev, pev->origin + gpGlobals->v_forward * 34 + Vector (0, 0, 32), m_vecTossVelocity, 3.5 );
CGrenade::ShootTimed(pev, GetGunPosition(), m_vecTossVelocity, 3.5);
@ -886,7 +888,8 @@ void CHGrunt::HandleAnimEvent(MonsterEvent_t* pEvent)
}
break;
case HGRUNT_AE_GREN_LAUNCH: {
case HGRUNT_AE_GREN_LAUNCH:
{
EMIT_SOUND(ENT(pev), CHAN_WEAPON, "weapons/glauncher.wav", 0.8, ATTN_NORM);
CGrenade::ShootContact(pev, GetGunPosition(), m_vecTossVelocity);
m_fThrowGrenade = false;
@ -897,13 +900,15 @@ void CHGrunt::HandleAnimEvent(MonsterEvent_t* pEvent)
}
break;
case HGRUNT_AE_GREN_DROP: {
case HGRUNT_AE_GREN_DROP:
{
UTIL_MakeVectors(pev->angles);
CGrenade::ShootTimed(pev, pev->origin + gpGlobals->v_forward * 17 - gpGlobals->v_right * 27 + gpGlobals->v_up * 6, g_vecZero, 3);
}
break;
case HGRUNT_AE_BURST1: {
case HGRUNT_AE_BURST1:
{
if (FBitSet(pev->weapons, HGRUNT_9MMAR))
{
Shoot();
@ -934,7 +939,8 @@ void CHGrunt::HandleAnimEvent(MonsterEvent_t* pEvent)
Shoot();
break;
case HGRUNT_AE_KICK: {
case HGRUNT_AE_KICK:
{
CBaseEntity* pHurt = Kick();
if (pHurt)
@ -948,7 +954,8 @@ void CHGrunt::HandleAnimEvent(MonsterEvent_t* pEvent)
}
break;
case HGRUNT_AE_CAUGHT_ENEMY: {
case HGRUNT_AE_CAUGHT_ENEMY:
{
if (FOkToSpeak())
{
SENTENCEG_PlayRndSz(ENT(pev), "HG_ALERT", HGRUNT_SENTENCE_VOLUME, GRUNT_ATTN, 0, m_voicePitch);
@ -1126,7 +1133,8 @@ void CHGrunt::RunTask(Task_t* pTask)
{
switch (pTask->iTask)
{
case TASK_GRUNT_FACE_TOSS_DIR: {
case TASK_GRUNT_FACE_TOSS_DIR:
{
// project a point along the toss vector and turn to face that point.
MakeIdealYaw(pev->origin + m_vecTossVelocity * 64);
ChangeYaw(pev->yaw_speed);
@ -1137,7 +1145,8 @@ void CHGrunt::RunTask(Task_t* pTask)
}
break;
}
default: {
default:
{
CSquadMonster::RunTask(pTask);
break;
}
@ -1977,7 +1986,8 @@ Schedule_t* CHGrunt::GetSchedule()
}
switch (m_MonsterState)
{
case MONSTERSTATE_COMBAT: {
case MONSTERSTATE_COMBAT:
{
// dead enemy
if (HasConditions(bits_COND_ENEMY_DEAD))
{
@ -2167,7 +2177,8 @@ Schedule_t* CHGrunt::GetScheduleOfType(int Type)
{
switch (Type)
{
case SCHED_TAKE_COVER_FROM_ENEMY: {
case SCHED_TAKE_COVER_FROM_ENEMY:
{
if (InSquad())
{
if (g_iSkillLevel == SKILL_HARD && HasConditions(bits_COND_CAN_RANGE_ATTACK2) && OccupySlot(bits_SLOTS_HGRUNT_GRENADE))
@ -2196,10 +2207,12 @@ Schedule_t* CHGrunt::GetScheduleOfType(int Type)
}
}
}
case SCHED_TAKE_COVER_FROM_BEST_SOUND: {
case SCHED_TAKE_COVER_FROM_BEST_SOUND:
{
return &slGruntTakeCoverFromBestSound[0];
}
case SCHED_GRUNT_TAKECOVER_FAILED: {
case SCHED_GRUNT_TAKECOVER_FAILED:
{
if (HasConditions(bits_COND_CAN_RANGE_ATTACK1) && OccupySlot(bits_SLOTS_HGRUNT_ENGAGE))
{
return GetScheduleOfType(SCHED_RANGE_ATTACK1);
@ -2208,16 +2221,19 @@ Schedule_t* CHGrunt::GetScheduleOfType(int Type)
return GetScheduleOfType(SCHED_FAIL);
}
break;
case SCHED_GRUNT_ELOF_FAIL: {
case SCHED_GRUNT_ELOF_FAIL:
{
// human grunt is unable to move to a position that allows him to attack the enemy.
return GetScheduleOfType(SCHED_TAKE_COVER_FROM_ENEMY);
}
break;
case SCHED_GRUNT_ESTABLISH_LINE_OF_FIRE: {
case SCHED_GRUNT_ESTABLISH_LINE_OF_FIRE:
{
return &slGruntEstablishLineOfFire[0];
}
break;
case SCHED_RANGE_ATTACK1: {
case SCHED_RANGE_ATTACK1:
{
// randomly stand or crouch
if (RANDOM_LONG(0, 9) == 0)
m_fStanding = RANDOM_LONG(0, 1);
@ -2227,25 +2243,32 @@ Schedule_t* CHGrunt::GetScheduleOfType(int Type)
else
return &slGruntRangeAttack1A[0];
}
case SCHED_RANGE_ATTACK2: {
case SCHED_RANGE_ATTACK2:
{
return &slGruntRangeAttack2[0];
}
case SCHED_COMBAT_FACE: {
case SCHED_COMBAT_FACE:
{
return &slGruntCombatFace[0];
}
case SCHED_GRUNT_WAIT_FACE_ENEMY: {
case SCHED_GRUNT_WAIT_FACE_ENEMY:
{
return &slGruntWaitInCover[0];
}
case SCHED_GRUNT_SWEEP: {
case SCHED_GRUNT_SWEEP:
{
return &slGruntSweep[0];
}
case SCHED_GRUNT_COVER_AND_RELOAD: {
case SCHED_GRUNT_COVER_AND_RELOAD:
{
return &slGruntHideReload[0];
}
case SCHED_GRUNT_FOUND_ENEMY: {
case SCHED_GRUNT_FOUND_ENEMY:
{
return &slGruntFoundEnemy[0];
}
case SCHED_VICTORY_DANCE: {
case SCHED_VICTORY_DANCE:
{
if (InSquad())
{
if (!IsLeader())
@ -2256,7 +2279,8 @@ Schedule_t* CHGrunt::GetScheduleOfType(int Type)
return &slGruntVictoryDance[0];
}
case SCHED_GRUNT_SUPPRESS: {
case SCHED_GRUNT_SUPPRESS:
{
if (m_hEnemy->IsPlayer() && m_fFirstEncounter)
{
m_fFirstEncounter = false; // after first encounter, leader won't issue handsigns anymore when he has a new enemy
@ -2267,7 +2291,8 @@ Schedule_t* CHGrunt::GetScheduleOfType(int Type)
return &slGruntSuppress[0];
}
}
case SCHED_FAIL: {
case SCHED_FAIL:
{
if (m_hEnemy != NULL)
{
// grunt has an enemy, so pick a different default fail schedule most likely to help recover.
@ -2276,20 +2301,24 @@ Schedule_t* CHGrunt::GetScheduleOfType(int Type)
return &slGruntFail[0];
}
case SCHED_GRUNT_REPEL: {
case SCHED_GRUNT_REPEL:
{
if (pev->velocity.z > -128)
pev->velocity.z -= 32;
return &slGruntRepel[0];
}
case SCHED_GRUNT_REPEL_ATTACK: {
case SCHED_GRUNT_REPEL_ATTACK:
{
if (pev->velocity.z > -128)
pev->velocity.z -= 32;
return &slGruntRepelAttack[0];
}
case SCHED_GRUNT_REPEL_LAND: {
case SCHED_GRUNT_REPEL_LAND:
{
return &slGruntRepelLand[0];
}
default: {
default:
{
return CSquadMonster::GetScheduleOfType(Type);
}
}

View file

@ -283,7 +283,8 @@ void CHoundeye::HandleAnimEvent(MonsterEvent_t* pEvent)
WarmUpSound();
break;
case HOUND_AE_HOPBACK: {
case HOUND_AE_HOPBACK:
{
float flGravity = g_psv_gravity->value;
pev->flags &= ~FL_ONGROUND;
@ -679,35 +680,42 @@ void CHoundeye::StartTask(Task_t* pTask)
switch (pTask->iTask)
{
case TASK_HOUND_FALL_ASLEEP: {
case TASK_HOUND_FALL_ASLEEP:
{
m_fAsleep = true; // signal that hound is lying down (must stand again before doing anything else!)
m_iTaskStatus = TASKSTATUS_COMPLETE;
break;
}
case TASK_HOUND_WAKE_UP: {
case TASK_HOUND_WAKE_UP:
{
m_fAsleep = false; // signal that hound is standing again
m_iTaskStatus = TASKSTATUS_COMPLETE;
break;
}
case TASK_HOUND_OPEN_EYE: {
case TASK_HOUND_OPEN_EYE:
{
m_fDontBlink = false; // turn blinking back on and that code will automatically open the eye
m_iTaskStatus = TASKSTATUS_COMPLETE;
break;
}
case TASK_HOUND_CLOSE_EYE: {
case TASK_HOUND_CLOSE_EYE:
{
pev->skin = 0;
m_fDontBlink = true; // tell blink code to leave the eye alone.
break;
}
case TASK_HOUND_THREAT_DISPLAY: {
case TASK_HOUND_THREAT_DISPLAY:
{
m_IdealActivity = ACT_IDLE_ANGRY;
break;
}
case TASK_HOUND_HOP_BACK: {
case TASK_HOUND_HOP_BACK:
{
m_IdealActivity = ACT_LEAP;
break;
}
case TASK_RANGE_ATTACK1: {
case TASK_RANGE_ATTACK1:
{
m_IdealActivity = ACT_RANGE_ATTACK1;
/*
@ -747,15 +755,18 @@ void CHoundeye::StartTask(Task_t* pTask)
break;
}
case TASK_SPECIAL_ATTACK1: {
case TASK_SPECIAL_ATTACK1:
{
m_IdealActivity = ACT_SPECIAL_ATTACK1;
break;
}
case TASK_GUARD: {
case TASK_GUARD:
{
m_IdealActivity = ACT_GUARD;
break;
}
default: {
default:
{
CSquadMonster::StartTask(pTask);
break;
}
@ -769,7 +780,8 @@ void CHoundeye::RunTask(Task_t* pTask)
{
switch (pTask->iTask)
{
case TASK_HOUND_THREAT_DISPLAY: {
case TASK_HOUND_THREAT_DISPLAY:
{
MakeIdealYaw(m_vecEnemyLKP);
ChangeYaw(pev->yaw_speed);
@ -780,21 +792,24 @@ void CHoundeye::RunTask(Task_t* pTask)
break;
}
case TASK_HOUND_CLOSE_EYE: {
case TASK_HOUND_CLOSE_EYE:
{
if (pev->skin < HOUNDEYE_EYE_FRAMES - 1)
{
pev->skin++;
}
break;
}
case TASK_HOUND_HOP_BACK: {
case TASK_HOUND_HOP_BACK:
{
if (m_fSequenceFinished)
{
TaskComplete();
}
break;
}
case TASK_SPECIAL_ATTACK1: {
case TASK_SPECIAL_ATTACK1:
{
pev->skin = RANDOM_LONG(0, HOUNDEYE_EYE_FRAMES - 1);
MakeIdealYaw(m_vecEnemyLKP);
@ -823,7 +838,8 @@ void CHoundeye::RunTask(Task_t* pTask)
break;
}
default: {
default:
{
CSquadMonster::RunTask(pTask);
break;
}
@ -1152,7 +1168,8 @@ Schedule_t* CHoundeye::GetScheduleOfType(int Type)
}
switch (Type)
{
case SCHED_IDLE_STAND: {
case SCHED_IDLE_STAND:
{
// we may want to sleep instead of stand!
if (InSquad() && !IsLeader() && !m_fAsleep && RANDOM_LONG(0, 29) < 1)
{
@ -1163,7 +1180,8 @@ Schedule_t* CHoundeye::GetScheduleOfType(int Type)
return CSquadMonster::GetScheduleOfType(Type);
}
}
case SCHED_RANGE_ATTACK1: {
case SCHED_RANGE_ATTACK1:
{
return &slHoundRangeAttack[0];
/*
if ( InSquad() )
@ -1174,19 +1192,24 @@ Schedule_t* CHoundeye::GetScheduleOfType(int Type)
return &slHoundRangeAttack[ 1 ];
*/
}
case SCHED_SPECIAL_ATTACK1: {
case SCHED_SPECIAL_ATTACK1:
{
return &slHoundSpecialAttack1[0];
}
case SCHED_GUARD: {
case SCHED_GUARD:
{
return &slHoundGuardPack[0];
}
case SCHED_HOUND_AGITATED: {
case SCHED_HOUND_AGITATED:
{
return &slHoundAgitated[0];
}
case SCHED_HOUND_HOP_RETREAT: {
case SCHED_HOUND_HOP_RETREAT:
{
return &slHoundHopRetreat[0];
}
case SCHED_FAIL: {
case SCHED_FAIL:
{
if (m_MonsterState == MONSTERSTATE_COMBAT)
{
if (!FNullEnt(FIND_CLIENT_IN_PVS(edict())))
@ -1205,7 +1228,8 @@ Schedule_t* CHoundeye::GetScheduleOfType(int Type)
return CSquadMonster::GetScheduleOfType(Type);
}
}
default: {
default:
{
return CSquadMonster::GetScheduleOfType(Type);
}
}
@ -1218,7 +1242,8 @@ Schedule_t* CHoundeye::GetSchedule()
{
switch (m_MonsterState)
{
case MONSTERSTATE_COMBAT: {
case MONSTERSTATE_COMBAT:
{
// dead enemy
if (HasConditions(bits_COND_ENEMY_DEAD))
{

View file

@ -407,7 +407,8 @@ void CIchthyosaur::HandleAnimEvent(MonsterEvent_t* pEvent)
switch (pEvent->event)
{
case ICHTHYOSAUR_AE_SHAKE_RIGHT:
case ICHTHYOSAUR_AE_SHAKE_LEFT: {
case ICHTHYOSAUR_AE_SHAKE_LEFT:
{
if (m_hEnemy != NULL && FVisible(m_hEnemy))
{
CBaseEntity* pHurt = m_hEnemy;

View file

@ -310,7 +310,8 @@ void CISlave::HandleAnimEvent(MonsterEvent_t* pEvent)
// ALERT( at_console, "event %d : %f\n", pEvent->event, pev->frame );
switch (pEvent->event)
{
case ISLAVE_AE_CLAW: {
case ISLAVE_AE_CLAW:
{
// SOUND HERE!
CBaseEntity* pHurt = CheckTraceHullAttack(70, gSkillData.slaveDmgClaw, DMG_SLASH);
if (pHurt)
@ -331,7 +332,8 @@ void CISlave::HandleAnimEvent(MonsterEvent_t* pEvent)
}
break;
case ISLAVE_AE_CLAWRAKE: {
case ISLAVE_AE_CLAWRAKE:
{
CBaseEntity* pHurt = CheckTraceHullAttack(70, gSkillData.slaveDmgClawrake, DMG_SLASH);
if (pHurt)
{
@ -349,7 +351,8 @@ void CISlave::HandleAnimEvent(MonsterEvent_t* pEvent)
}
break;
case ISLAVE_AE_ZAP_POWERUP: {
case ISLAVE_AE_ZAP_POWERUP:
{
// speed up attack when on hard
if (g_iSkillLevel == SKILL_HARD)
pev->framerate = 1.5;
@ -389,7 +392,8 @@ void CISlave::HandleAnimEvent(MonsterEvent_t* pEvent)
}
break;
case ISLAVE_AE_ZAP_SHOOT: {
case ISLAVE_AE_ZAP_SHOOT:
{
ClearBeams();
if (m_hDead != NULL)
@ -430,7 +434,8 @@ void CISlave::HandleAnimEvent(MonsterEvent_t* pEvent)
}
break;
case ISLAVE_AE_ZAP_DONE: {
case ISLAVE_AE_ZAP_DONE:
{
ClearBeams();
}
break;

View file

@ -642,7 +642,8 @@ bool CBaseMonster::FRefreshRoute()
switch (m_movementGoal)
{
case MOVEGOAL_PATHCORNER: {
case MOVEGOAL_PATHCORNER:
{
// monster is on a path_corner loop
pPathCorner = m_pGoalEnt;
i = 0;
@ -2706,7 +2707,8 @@ void CBaseMonster::HandleAnimEvent(MonsterEvent_t* pEvent)
}
break;
case MONSTER_EVENT_SWISHSOUND: {
case MONSTER_EVENT_SWISHSOUND:
{
// NO MONSTER may use this anim event unless that monster's precache precaches this sound!!!
EMIT_SOUND(ENT(pev), CHAN_BODY, "zombie/claw_miss2.wav", 1, ATTN_NORM);
break;

View file

@ -820,7 +820,7 @@ void CHalfLifeMultiplay::DeathNotice(CBasePlayer* pVictim, entvars_t* pKiller, e
// Print a standard message
// TODO: make this go direct to console
return; // just remove for now
/*
/*
char szText[ 128 ];
if ( pKiller->flags & FL_MONSTER )

View file

@ -1201,7 +1201,8 @@ void CNihilanth::CommandUse(CBaseEntity* pActivator, CBaseEntity* pCaller, USE_T
{
switch (useType)
{
case USE_OFF: {
case USE_OFF:
{
CBaseEntity* pTouch = UTIL_FindEntityByTargetname(NULL, m_szDeadTouch);
if (pTouch)

View file

@ -173,47 +173,47 @@ Vector VecVelocityForDamage(float flDamage)
return vec;
}
#if 0 /* \
static void ThrowGib(entvars_t *pev, char *szGibModel, float flDamage) \
{ \
edict_t *pentNew = CREATE_ENTITY(); \
entvars_t *pevNew = VARS(pentNew); \
\
pevNew->origin = pev->origin; \
SET_MODEL(ENT(pevNew), szGibModel); \
UTIL_SetSize(pevNew, g_vecZero, g_vecZero); \
\
pevNew->velocity = VecVelocityForDamage(flDamage); \
pevNew->movetype = MOVETYPE_BOUNCE; \
pevNew->solid = SOLID_NOT; \
pevNew->avelocity.x = RANDOM_FLOAT(0,600); \
pevNew->avelocity.y = RANDOM_FLOAT(0,600); \
pevNew->avelocity.z = RANDOM_FLOAT(0,600); \
CHANGE_METHOD(ENT(pevNew), em_think, SUB_Remove); \
pevNew->ltime = gpGlobals->time; \
pevNew->nextthink = gpGlobals->time + RANDOM_FLOAT(10,20); \
pevNew->frame = 0; \
pevNew->flags = 0; \
} \
\
\
static void ThrowHead(entvars_t *pev, char *szGibModel, floatflDamage) \
{ \
SET_MODEL(ENT(pev), szGibModel); \
pev->frame = 0; \
pev->nextthink = -1; \
pev->movetype = MOVETYPE_BOUNCE; \
pev->takedamage = DAMAGE_NO; \
pev->solid = SOLID_NOT; \
pev->view_ofs = Vector(0,0,8); \
UTIL_SetSize(pev, Vector(-16,-16,0), Vector(16,16,56)); \
pev->velocity = VecVelocityForDamage(flDamage); \
pev->avelocity = RANDOM_FLOAT(-1,1) * Vector(0,600,0); \
pev->origin.z -= 24; \
ClearBits(pev->flags, FL_ONGROUND); \
} \
\
\
#if 0 /* \
static void ThrowGib(entvars_t *pev, char *szGibModel, float flDamage) \
{ \
edict_t *pentNew = CREATE_ENTITY(); \
entvars_t *pevNew = VARS(pentNew); \
\ \
pevNew->origin = pev->origin; \
SET_MODEL(ENT(pevNew), szGibModel); \
UTIL_SetSize(pevNew, g_vecZero, g_vecZero); \
\ \
pevNew->velocity = VecVelocityForDamage(flDamage); \
pevNew->movetype = MOVETYPE_BOUNCE; \
pevNew->solid = SOLID_NOT; \
pevNew->avelocity.x = RANDOM_FLOAT(0,600); \
pevNew->avelocity.y = RANDOM_FLOAT(0,600); \
pevNew->avelocity.z = RANDOM_FLOAT(0,600); \
CHANGE_METHOD(ENT(pevNew), em_think, SUB_Remove); \
pevNew->ltime = gpGlobals->time; \
pevNew->nextthink = gpGlobals->time + RANDOM_FLOAT(10,20); \
pevNew->frame = 0; \
pevNew->flags = 0; \
} \
\ \
\ \
static void ThrowHead(entvars_t *pev, char *szGibModel, floatflDamage) \
{ \
SET_MODEL(ENT(pev), szGibModel); \
pev->frame = 0; \
pev->nextthink = -1; \
pev->movetype = MOVETYPE_BOUNCE; \
pev->takedamage = DAMAGE_NO; \
pev->solid = SOLID_NOT; \
pev->view_ofs = Vector(0,0,8); \
UTIL_SetSize(pev, Vector(-16,-16,0), Vector(16,16,56)); \
pev->velocity = VecVelocityForDamage(flDamage); \
pev->avelocity = RANDOM_FLOAT(-1,1) * Vector(0,600,0); \
pev->origin.z -= 24; \
ClearBits(pev->flags, FL_ONGROUND); \
} \
\ \
\ \
*/
#endif
@ -3298,7 +3298,8 @@ void CBasePlayer::ImpulseCommands()
int iImpulse = (int)pev->impulse;
switch (iImpulse)
{
case 99: {
case 99:
{
bool iOn;
@ -3377,7 +3378,8 @@ void CBasePlayer::CheatImpulseCommands(int iImpulse)
switch (iImpulse)
{
case 76: {
case 76:
{
if (!giPrecacheGrunt)
{
giPrecacheGrunt = true;
@ -3480,7 +3482,8 @@ void CBasePlayer::CheatImpulseCommands(int iImpulse)
}
break;
case 107: {
case 107:
{
TraceResult tr;
edict_t* pWorld = g_engfuncs.pfnPEntityOfEntIndex(0);

View file

@ -211,7 +211,8 @@ void CRoach::MonsterThink()
switch (m_iMode)
{
case ROACH_IDLE:
case ROACH_EAT: {
case ROACH_EAT:
{
// if not moving, sample environment to see if anything scary is around. Do a radius search 'look' at random.
if (RANDOM_LONG(0, 3) == 1)
{
@ -271,7 +272,8 @@ void CRoach::MonsterThink()
break;
}
case ROACH_SCARED_BY_LIGHT: {
case ROACH_SCARED_BY_LIGHT:
{
// if roach was scared by light, then stop if we're over a spot at least as dark as where we started!
if (GETENTITYILLUM(ENT(pev)) <= m_flLastLightLevel)
{

View file

@ -325,11 +325,13 @@ void CSatchel::PrimaryAttack()
{
switch (m_chargeReady)
{
case 0: {
case 0:
{
Throw();
}
break;
case 1: {
case 1:
{
SendWeaponAnim(SATCHEL_RADIO_FIRE);
edict_t* pPlayer = m_pPlayer->edict();

View file

@ -39,9 +39,7 @@ public:
//Data is only valid if it's a valid pointer and if it has a token list
[[nodiscard]] static bool IsValidSaveRestoreData(SAVERESTOREDATA* data)
{
const bool isValid = nullptr != data
&& nullptr != data->pTokens
&& data->tokenCount > 0;
const bool isValid = nullptr != data && nullptr != data->pTokens && data->tokenCount > 0;
ASSERT(isValid);

View file

@ -304,7 +304,8 @@ void CBaseMonster::RunTask(Task_t* pTask)
switch (pTask->iTask)
{
case TASK_TURN_RIGHT:
case TASK_TURN_LEFT: {
case TASK_TURN_LEFT:
{
ChangeYaw(pev->yaw_speed);
if (FacingIdeal())
@ -315,7 +316,8 @@ void CBaseMonster::RunTask(Task_t* pTask)
}
case TASK_PLAY_SEQUENCE_FACE_ENEMY:
case TASK_PLAY_SEQUENCE_FACE_TARGET: {
case TASK_PLAY_SEQUENCE_FACE_TARGET:
{
CBaseEntity* pTarget;
if (pTask->iTask == TASK_PLAY_SEQUENCE_FACE_TARGET)
@ -333,7 +335,8 @@ void CBaseMonster::RunTask(Task_t* pTask)
break;
case TASK_PLAY_SEQUENCE:
case TASK_PLAY_ACTIVE_IDLE: {
case TASK_PLAY_ACTIVE_IDLE:
{
if (m_fSequenceFinished)
{
TaskComplete();
@ -342,7 +345,8 @@ void CBaseMonster::RunTask(Task_t* pTask)
}
case TASK_FACE_ENEMY: {
case TASK_FACE_ENEMY:
{
MakeIdealYaw(m_vecEnemyLKP);
ChangeYaw(pev->yaw_speed);
@ -357,7 +361,8 @@ void CBaseMonster::RunTask(Task_t* pTask)
case TASK_FACE_LASTPOSITION:
case TASK_FACE_TARGET:
case TASK_FACE_IDEAL:
case TASK_FACE_ROUTE: {
case TASK_FACE_ROUTE:
{
ChangeYaw(pev->yaw_speed);
if (FacingIdeal())
@ -366,26 +371,30 @@ void CBaseMonster::RunTask(Task_t* pTask)
}
break;
}
case TASK_WAIT_PVS: {
case TASK_WAIT_PVS:
{
if (!FNullEnt(FIND_CLIENT_IN_PVS(edict())))
{
TaskComplete();
}
break;
}
case TASK_WAIT_INDEFINITE: {
case TASK_WAIT_INDEFINITE:
{
// don't do anything.
break;
}
case TASK_WAIT:
case TASK_WAIT_RANDOM: {
case TASK_WAIT_RANDOM:
{
if (gpGlobals->time >= m_flWaitFinished)
{
TaskComplete();
}
break;
}
case TASK_WAIT_FACE_ENEMY: {
case TASK_WAIT_FACE_ENEMY:
{
MakeIdealYaw(m_vecEnemyLKP);
ChangeYaw(pev->yaw_speed);
@ -395,7 +404,8 @@ void CBaseMonster::RunTask(Task_t* pTask)
}
break;
}
case TASK_MOVE_TO_TARGET_RANGE: {
case TASK_MOVE_TO_TARGET_RANGE:
{
float distance;
if (m_hTargetEnt == NULL)
@ -426,7 +436,8 @@ void CBaseMonster::RunTask(Task_t* pTask)
break;
}
case TASK_WAIT_FOR_MOVEMENT: {
case TASK_WAIT_FOR_MOVEMENT:
{
if (MovementIsComplete())
{
TaskComplete();
@ -434,7 +445,8 @@ void CBaseMonster::RunTask(Task_t* pTask)
}
break;
}
case TASK_DIE: {
case TASK_DIE:
{
if (m_fSequenceFinished && pev->frame >= 255)
{
pev->deadflag = DEAD_DEAD;
@ -469,7 +481,8 @@ void CBaseMonster::RunTask(Task_t* pTask)
case TASK_MELEE_ATTACK1_NOTURN:
case TASK_MELEE_ATTACK2_NOTURN:
case TASK_RANGE_ATTACK2_NOTURN:
case TASK_RELOAD_NOTURN: {
case TASK_RELOAD_NOTURN:
{
if (m_fSequenceFinished)
{
m_Activity = ACT_RESET;
@ -483,7 +496,8 @@ void CBaseMonster::RunTask(Task_t* pTask)
case TASK_RANGE_ATTACK2:
case TASK_SPECIAL_ATTACK1:
case TASK_SPECIAL_ATTACK2:
case TASK_RELOAD: {
case TASK_RELOAD:
{
MakeIdealYaw(m_vecEnemyLKP);
ChangeYaw(pev->yaw_speed);
@ -494,14 +508,16 @@ void CBaseMonster::RunTask(Task_t* pTask)
}
break;
}
case TASK_SMALL_FLINCH: {
case TASK_SMALL_FLINCH:
{
if (m_fSequenceFinished)
{
TaskComplete();
}
}
break;
case TASK_WAIT_FOR_SCRIPT: {
case TASK_WAIT_FOR_SCRIPT:
{
if (m_pCine->m_iDelay <= 0 && gpGlobals->time >= m_pCine->m_startTime)
{
TaskComplete();
@ -513,7 +529,8 @@ void CBaseMonster::RunTask(Task_t* pTask)
}
break;
}
case TASK_PLAY_SCRIPT: {
case TASK_PLAY_SCRIPT:
{
if (m_fSequenceFinished)
{
m_pCine->SequenceDone(this);
@ -552,7 +569,8 @@ void CBaseMonster::StartTask(Task_t* pTask)
{
switch (pTask->iTask)
{
case TASK_TURN_RIGHT: {
case TASK_TURN_RIGHT:
{
float flCurrentYaw;
flCurrentYaw = UTIL_AngleMod(pev->angles.y);
@ -560,7 +578,8 @@ void CBaseMonster::StartTask(Task_t* pTask)
SetTurnActivity();
break;
}
case TASK_TURN_LEFT: {
case TASK_TURN_LEFT:
{
float flCurrentYaw;
flCurrentYaw = UTIL_AngleMod(pev->angles.y);
@ -568,17 +587,20 @@ void CBaseMonster::StartTask(Task_t* pTask)
SetTurnActivity();
break;
}
case TASK_REMEMBER: {
case TASK_REMEMBER:
{
Remember((int)pTask->flData);
TaskComplete();
break;
}
case TASK_FORGET: {
case TASK_FORGET:
{
Forget((int)pTask->flData);
TaskComplete();
break;
}
case TASK_FIND_HINTNODE: {
case TASK_FIND_HINTNODE:
{
m_iHintNode = FindHintNode();
if (m_iHintNode != NO_NODE)
@ -591,22 +613,26 @@ void CBaseMonster::StartTask(Task_t* pTask)
}
break;
}
case TASK_STORE_LASTPOSITION: {
case TASK_STORE_LASTPOSITION:
{
m_vecLastPosition = pev->origin;
TaskComplete();
break;
}
case TASK_CLEAR_LASTPOSITION: {
case TASK_CLEAR_LASTPOSITION:
{
m_vecLastPosition = g_vecZero;
TaskComplete();
break;
}
case TASK_CLEAR_HINTNODE: {
case TASK_CLEAR_HINTNODE:
{
m_iHintNode = NO_NODE;
TaskComplete();
break;
}
case TASK_STOP_MOVING: {
case TASK_STOP_MOVING:
{
if (m_IdealActivity == m_movementActivity)
{
m_IdealActivity = GetStoppedActivity();
@ -618,17 +644,20 @@ void CBaseMonster::StartTask(Task_t* pTask)
}
case TASK_PLAY_SEQUENCE_FACE_ENEMY:
case TASK_PLAY_SEQUENCE_FACE_TARGET:
case TASK_PLAY_SEQUENCE: {
case TASK_PLAY_SEQUENCE:
{
m_IdealActivity = (Activity)(int)pTask->flData;
break;
}
case TASK_PLAY_ACTIVE_IDLE: {
case TASK_PLAY_ACTIVE_IDLE:
{
// monsters verify that they have a sequence for the node's activity BEFORE
// moving towards the node, so it's ok to just set the activity without checking here.
m_IdealActivity = (Activity)WorldGraph.m_pNodes[m_iHintNode].m_sHintActivity;
break;
}
case TASK_SET_SCHEDULE: {
case TASK_SET_SCHEDULE:
{
Schedule_t* pNewSchedule;
pNewSchedule = GetScheduleOfType((int)pTask->flData);
@ -644,7 +673,8 @@ void CBaseMonster::StartTask(Task_t* pTask)
break;
}
case TASK_FIND_NEAR_NODE_COVER_FROM_ENEMY: {
case TASK_FIND_NEAR_NODE_COVER_FROM_ENEMY:
{
if (m_hEnemy == NULL)
{
TaskFail();
@ -663,7 +693,8 @@ void CBaseMonster::StartTask(Task_t* pTask)
}
break;
}
case TASK_FIND_FAR_NODE_COVER_FROM_ENEMY: {
case TASK_FIND_FAR_NODE_COVER_FROM_ENEMY:
{
if (m_hEnemy == NULL)
{
TaskFail();
@ -682,7 +713,8 @@ void CBaseMonster::StartTask(Task_t* pTask)
}
break;
}
case TASK_FIND_NODE_COVER_FROM_ENEMY: {
case TASK_FIND_NODE_COVER_FROM_ENEMY:
{
if (m_hEnemy == NULL)
{
TaskFail();
@ -701,7 +733,8 @@ void CBaseMonster::StartTask(Task_t* pTask)
}
break;
}
case TASK_FIND_COVER_FROM_ENEMY: {
case TASK_FIND_COVER_FROM_ENEMY:
{
entvars_t* pevCover;
if (m_hEnemy == NULL)
@ -733,7 +766,8 @@ void CBaseMonster::StartTask(Task_t* pTask)
}
break;
}
case TASK_FIND_COVER_FROM_ORIGIN: {
case TASK_FIND_COVER_FROM_ORIGIN:
{
if (FindCover(pev->origin, pev->view_ofs, 0, CoverRadius()))
{
// then try for plain ole cover
@ -747,7 +781,8 @@ void CBaseMonster::StartTask(Task_t* pTask)
}
}
break;
case TASK_FIND_COVER_FROM_BEST_SOUND: {
case TASK_FIND_COVER_FROM_BEST_SOUND:
{
CSound* pBestSound;
pBestSound = PBestSound();
@ -775,7 +810,8 @@ void CBaseMonster::StartTask(Task_t* pTask)
}
break;
}
case TASK_FACE_HINTNODE: {
case TASK_FACE_HINTNODE:
{
pev->ideal_yaw = WorldGraph.m_pNodes[m_iHintNode].m_flHintYaw;
SetTurnActivity();
break;
@ -795,16 +831,19 @@ void CBaseMonster::StartTask(Task_t* pTask)
else
TaskFail();
break;
case TASK_FACE_ENEMY: {
case TASK_FACE_ENEMY:
{
MakeIdealYaw(m_vecEnemyLKP);
SetTurnActivity();
break;
}
case TASK_FACE_IDEAL: {
case TASK_FACE_IDEAL:
{
SetTurnActivity();
break;
}
case TASK_FACE_ROUTE: {
case TASK_FACE_ROUTE:
{
if (FRouteClear())
{
ALERT(at_aiconsole, "No route to face!\n");
@ -818,20 +857,24 @@ void CBaseMonster::StartTask(Task_t* pTask)
break;
}
case TASK_WAIT_PVS:
case TASK_WAIT_INDEFINITE: {
case TASK_WAIT_INDEFINITE:
{
// don't do anything.
break;
}
case TASK_WAIT:
case TASK_WAIT_FACE_ENEMY: { // set a future time that tells us when the wait is over.
case TASK_WAIT_FACE_ENEMY:
{ // set a future time that tells us when the wait is over.
m_flWaitFinished = gpGlobals->time + pTask->flData;
break;
}
case TASK_WAIT_RANDOM: { // set a future time that tells us when the wait is over.
case TASK_WAIT_RANDOM:
{ // set a future time that tells us when the wait is over.
m_flWaitFinished = gpGlobals->time + RANDOM_FLOAT(0.1, pTask->flData);
break;
}
case TASK_MOVE_TO_TARGET_RANGE: {
case TASK_MOVE_TO_TARGET_RANGE:
{
if ((m_hTargetEnt->pev->origin - pev->origin).Length() < 1)
TaskComplete();
else
@ -843,7 +886,8 @@ void CBaseMonster::StartTask(Task_t* pTask)
break;
}
case TASK_RUN_TO_TARGET:
case TASK_WALK_TO_TARGET: {
case TASK_WALK_TO_TARGET:
{
Activity newActivity;
if ((m_hTargetEnt->pev->origin - pev->origin).Length() < 1)
@ -870,50 +914,60 @@ void CBaseMonster::StartTask(Task_t* pTask)
TaskComplete();
break;
}
case TASK_CLEAR_MOVE_WAIT: {
case TASK_CLEAR_MOVE_WAIT:
{
m_flMoveWaitFinished = gpGlobals->time;
TaskComplete();
break;
}
case TASK_MELEE_ATTACK1_NOTURN:
case TASK_MELEE_ATTACK1: {
case TASK_MELEE_ATTACK1:
{
m_IdealActivity = ACT_MELEE_ATTACK1;
break;
}
case TASK_MELEE_ATTACK2_NOTURN:
case TASK_MELEE_ATTACK2: {
case TASK_MELEE_ATTACK2:
{
m_IdealActivity = ACT_MELEE_ATTACK2;
break;
}
case TASK_RANGE_ATTACK1_NOTURN:
case TASK_RANGE_ATTACK1: {
case TASK_RANGE_ATTACK1:
{
m_IdealActivity = ACT_RANGE_ATTACK1;
break;
}
case TASK_RANGE_ATTACK2_NOTURN:
case TASK_RANGE_ATTACK2: {
case TASK_RANGE_ATTACK2:
{
m_IdealActivity = ACT_RANGE_ATTACK2;
break;
}
case TASK_RELOAD_NOTURN:
case TASK_RELOAD: {
case TASK_RELOAD:
{
m_IdealActivity = ACT_RELOAD;
break;
}
case TASK_SPECIAL_ATTACK1: {
case TASK_SPECIAL_ATTACK1:
{
m_IdealActivity = ACT_SPECIAL_ATTACK1;
break;
}
case TASK_SPECIAL_ATTACK2: {
case TASK_SPECIAL_ATTACK2:
{
m_IdealActivity = ACT_SPECIAL_ATTACK2;
break;
}
case TASK_SET_ACTIVITY: {
case TASK_SET_ACTIVITY:
{
m_IdealActivity = (Activity)(int)pTask->flData;
TaskComplete();
break;
}
case TASK_GET_PATH_TO_ENEMY_LKP: {
case TASK_GET_PATH_TO_ENEMY_LKP:
{
if (BuildRoute(m_vecEnemyLKP, bits_MF_TO_LOCATION, NULL))
{
TaskComplete();
@ -930,7 +984,8 @@ void CBaseMonster::StartTask(Task_t* pTask)
}
break;
}
case TASK_GET_PATH_TO_ENEMY: {
case TASK_GET_PATH_TO_ENEMY:
{
CBaseEntity* pEnemy = m_hEnemy;
if (pEnemy == NULL)
@ -955,7 +1010,8 @@ void CBaseMonster::StartTask(Task_t* pTask)
}
break;
}
case TASK_GET_PATH_TO_ENEMY_CORPSE: {
case TASK_GET_PATH_TO_ENEMY_CORPSE:
{
UTIL_MakeVectors(pev->angles);
if (BuildRoute(m_vecEnemyLKP - gpGlobals->v_forward * 64, bits_MF_TO_LOCATION, NULL))
{
@ -968,7 +1024,8 @@ void CBaseMonster::StartTask(Task_t* pTask)
}
}
break;
case TASK_GET_PATH_TO_SPOT: {
case TASK_GET_PATH_TO_SPOT:
{
CBaseEntity* pPlayer = CBaseEntity::Instance(FIND_ENTITY_BY_CLASSNAME(NULL, "player"));
if (BuildRoute(m_vecMoveGoal, bits_MF_TO_LOCATION, pPlayer))
{
@ -983,7 +1040,8 @@ void CBaseMonster::StartTask(Task_t* pTask)
break;
}
case TASK_GET_PATH_TO_TARGET: {
case TASK_GET_PATH_TO_TARGET:
{
RouteClear();
if (m_hTargetEnt != NULL && MoveToTarget(m_movementActivity, 1))
{
@ -1011,7 +1069,8 @@ void CBaseMonster::StartTask(Task_t* pTask)
}
break;
}
case TASK_GET_PATH_TO_LASTPOSITION: {
case TASK_GET_PATH_TO_LASTPOSITION:
{
m_vecMoveGoal = m_vecLastPosition;
if (MoveToLocation(m_movementActivity, 2, m_vecMoveGoal))
@ -1026,7 +1085,8 @@ void CBaseMonster::StartTask(Task_t* pTask)
}
break;
}
case TASK_GET_PATH_TO_BESTSOUND: {
case TASK_GET_PATH_TO_BESTSOUND:
{
CSound* pSound;
pSound = PBestSound();
@ -1043,7 +1103,8 @@ void CBaseMonster::StartTask(Task_t* pTask)
}
break;
}
case TASK_GET_PATH_TO_BESTSCENT: {
case TASK_GET_PATH_TO_BESTSCENT:
{
CSound* pScent;
pScent = PBestScent();
@ -1061,7 +1122,8 @@ void CBaseMonster::StartTask(Task_t* pTask)
}
break;
}
case TASK_RUN_PATH: {
case TASK_RUN_PATH:
{
// UNDONE: This is in some default AI and some monsters can't run? -- walk instead?
if (LookupActivity(ACT_RUN) != ACTIVITY_NOT_AVAILABLE)
{
@ -1074,7 +1136,8 @@ void CBaseMonster::StartTask(Task_t* pTask)
TaskComplete();
break;
}
case TASK_WALK_PATH: {
case TASK_WALK_PATH:
{
if (pev->movetype == MOVETYPE_FLY)
{
m_movementActivity = ACT_FLY;
@ -1090,7 +1153,8 @@ void CBaseMonster::StartTask(Task_t* pTask)
TaskComplete();
break;
}
case TASK_STRAFE_PATH: {
case TASK_STRAFE_PATH:
{
Vector2D vec2DirToPoint;
Vector2D vec2RightSide;
@ -1115,7 +1179,8 @@ void CBaseMonster::StartTask(Task_t* pTask)
}
case TASK_WAIT_FOR_MOVEMENT: {
case TASK_WAIT_FOR_MOVEMENT:
{
if (FRouteClear())
{
TaskComplete();
@ -1123,16 +1188,19 @@ void CBaseMonster::StartTask(Task_t* pTask)
break;
}
case TASK_EAT: {
case TASK_EAT:
{
Eat(pTask->flData);
TaskComplete();
break;
}
case TASK_SMALL_FLINCH: {
case TASK_SMALL_FLINCH:
{
m_IdealActivity = GetSmallFlinchActivity();
break;
}
case TASK_DIE: {
case TASK_DIE:
{
RouteClear();
m_IdealActivity = GetDeathActivity();
@ -1140,38 +1208,45 @@ void CBaseMonster::StartTask(Task_t* pTask)
pev->deadflag = DEAD_DYING;
break;
}
case TASK_SOUND_WAKE: {
case TASK_SOUND_WAKE:
{
AlertSound();
TaskComplete();
break;
}
case TASK_SOUND_DIE: {
case TASK_SOUND_DIE:
{
DeathSound();
TaskComplete();
break;
}
case TASK_SOUND_IDLE: {
case TASK_SOUND_IDLE:
{
IdleSound();
TaskComplete();
break;
}
case TASK_SOUND_PAIN: {
case TASK_SOUND_PAIN:
{
PainSound();
TaskComplete();
break;
}
case TASK_SOUND_DEATH: {
case TASK_SOUND_DEATH:
{
DeathSound();
TaskComplete();
break;
}
case TASK_SOUND_ANGRY: {
case TASK_SOUND_ANGRY:
{
// sounds are complete as soon as we get here, cause we've already played them.
ALERT(at_aiconsole, "SOUND\n");
TaskComplete();
break;
}
case TASK_WAIT_FOR_SCRIPT: {
case TASK_WAIT_FOR_SCRIPT:
{
if (!FStringNull(m_pCine->m_iszIdle))
{
m_pCine->StartSequence((CBaseMonster*)this, m_pCine->m_iszIdle, false);
@ -1185,18 +1260,21 @@ void CBaseMonster::StartTask(Task_t* pTask)
break;
}
case TASK_PLAY_SCRIPT: {
case TASK_PLAY_SCRIPT:
{
pev->movetype = MOVETYPE_FLY;
ClearBits(pev->flags, FL_ONGROUND);
m_scriptState = SCRIPT_PLAYING;
break;
}
case TASK_ENABLE_SCRIPT: {
case TASK_ENABLE_SCRIPT:
{
m_pCine->DelayStart(false);
TaskComplete();
break;
}
case TASK_PLANT_ON_SCRIPT: {
case TASK_PLANT_ON_SCRIPT:
{
if (m_hTargetEnt != NULL)
{
pev->origin = m_hTargetEnt->pev->origin; // Plant on target
@ -1205,7 +1283,8 @@ void CBaseMonster::StartTask(Task_t* pTask)
TaskComplete();
break;
}
case TASK_FACE_SCRIPT: {
case TASK_FACE_SCRIPT:
{
if (m_hTargetEnt != NULL)
{
pev->ideal_yaw = UTIL_AngleMod(m_hTargetEnt->pev->angles.y);
@ -1217,7 +1296,8 @@ void CBaseMonster::StartTask(Task_t* pTask)
break;
}
case TASK_SUGGEST_STATE: {
case TASK_SUGGEST_STATE:
{
m_IdealMonsterState = (MONSTERSTATE)(int)pTask->flData;
TaskComplete();
break;
@ -1233,7 +1313,8 @@ void CBaseMonster::StartTask(Task_t* pTask)
TaskComplete();
break;
default: {
default:
{
ALERT(at_aiconsole, "No StartTask entry for %d\n", (SHARED_TASKS)pTask->iTask);
break;
}
@ -1267,15 +1348,18 @@ Schedule_t* CBaseMonster::GetSchedule()
{
switch (m_MonsterState)
{
case MONSTERSTATE_PRONE: {
case MONSTERSTATE_PRONE:
{
return GetScheduleOfType(SCHED_BARNACLE_VICTIM_GRAB);
break;
}
case MONSTERSTATE_NONE: {
case MONSTERSTATE_NONE:
{
ALERT(at_aiconsole, "MONSTERSTATE IS NONE!\n");
break;
}
case MONSTERSTATE_IDLE: {
case MONSTERSTATE_IDLE:
{
if (HasConditions(bits_COND_HEAR_SOUND))
{
return GetScheduleOfType(SCHED_ALERT_FACE);
@ -1292,7 +1376,8 @@ Schedule_t* CBaseMonster::GetSchedule()
}
break;
}
case MONSTERSTATE_ALERT: {
case MONSTERSTATE_ALERT:
{
if (HasConditions(bits_COND_ENEMY_DEAD) && LookupActivity(ACT_VICTORY_DANCE) != ACTIVITY_NOT_AVAILABLE)
{
return GetScheduleOfType(SCHED_VICTORY_DANCE);
@ -1320,7 +1405,8 @@ Schedule_t* CBaseMonster::GetSchedule()
}
break;
}
case MONSTERSTATE_COMBAT: {
case MONSTERSTATE_COMBAT:
{
if (HasConditions(bits_COND_ENEMY_DEAD))
{
// clear the current (dead) enemy and try to find another.
@ -1397,11 +1483,13 @@ Schedule_t* CBaseMonster::GetSchedule()
}
break;
}
case MONSTERSTATE_DEAD: {
case MONSTERSTATE_DEAD:
{
return GetScheduleOfType(SCHED_DIE);
break;
}
case MONSTERSTATE_SCRIPT: {
case MONSTERSTATE_SCRIPT:
{
ASSERT(m_pCine != NULL);
if (!m_pCine)
{
@ -1412,7 +1500,8 @@ Schedule_t* CBaseMonster::GetSchedule()
return GetScheduleOfType(SCHED_AISCRIPT);
}
default: {
default:
{
ALERT(at_aiconsole, "Invalid State for GetSchedule!\n");
break;
}

View file

@ -137,7 +137,7 @@ Task_t tlFollow[] =
{
{TASK_SET_FAIL_SCHEDULE, (float)SCHED_CANT_FOLLOW}, // If you fail, bail out of follow
{TASK_MOVE_TO_TARGET_RANGE, (float)128}, // Move within 128 of target ent (client)
// { TASK_SET_SCHEDULE, (float)SCHED_TARGET_FACE },
// { TASK_SET_SCHEDULE, (float)SCHED_TARGET_FACE },
};
Schedule_t slFollow[] =
@ -157,7 +157,7 @@ Task_t tlFollowScared[] =
{
{TASK_SET_FAIL_SCHEDULE, (float)SCHED_TARGET_CHASE}, // If you fail, follow normally
{TASK_MOVE_TO_TARGET_RANGE_SCARED, (float)128}, // Move within 128 of target ent (client)
// { TASK_SET_SCHEDULE, (float)SCHED_TARGET_FACE_SCARED },
// { TASK_SET_SCHEDULE, (float)SCHED_TARGET_FACE_SCARED },
};
Schedule_t slFollowScared[] =
@ -478,7 +478,8 @@ void CScientist::StartTask(Task_t* pTask)
m_movementActivity = ACT_RUN_SCARED;
break;
case TASK_MOVE_TO_TARGET_RANGE_SCARED: {
case TASK_MOVE_TO_TARGET_RANGE_SCARED:
{
if ((m_hTargetEnt->pev->origin - pev->origin).Length() < 1)
TaskComplete();
else
@ -507,7 +508,8 @@ void CScientist::RunTask(Task_t* pTask)
Scream();
break;
case TASK_MOVE_TO_TARGET_RANGE_SCARED: {
case TASK_MOVE_TO_TARGET_RANGE_SCARED:
{
if (RANDOM_LONG(0, 63) < 8)
Scream();
@ -613,12 +615,14 @@ void CScientist::HandleAnimEvent(MonsterEvent_t* pEvent)
case SCIENTIST_AE_HEAL: // Heal my target (if within range)
Heal();
break;
case SCIENTIST_AE_NEEDLEON: {
case SCIENTIST_AE_NEEDLEON:
{
int oldBody = pev->body;
pev->body = (oldBody % NUM_SCIENTIST_HEADS) + NUM_SCIENTIST_HEADS * 1;
}
break;
case SCIENTIST_AE_NEEDLEOFF: {
case SCIENTIST_AE_NEEDLEOFF:
{
int oldBody = pev->body;
pev->body = (oldBody % NUM_SCIENTIST_HEADS) + NUM_SCIENTIST_HEADS * 0;
}
@ -1028,7 +1032,8 @@ MONSTERSTATE CScientist::GetIdealState()
}
break;
case MONSTERSTATE_COMBAT: {
case MONSTERSTATE_COMBAT:
{
CBaseEntity* pEnemy = m_hEnemy;
if (pEnemy != NULL)
{

View file

@ -270,12 +270,13 @@ void CSoundEnt::Initialize()
//=========================================================
int CSoundEnt::ISoundsInList(int iListType)
{
int iThisSound = [=]()
{
int iThisSound = [=]() {
switch (iListType)
{
case SOUNDLISTTYPE_FREE: return m_iFreeSound;
case SOUNDLISTTYPE_ACTIVE: return m_iActiveSound;
case SOUNDLISTTYPE_FREE:
return m_iFreeSound;
case SOUNDLISTTYPE_ACTIVE:
return m_iActiveSound;
default:
ALERT(at_console, "Unknown Sound List Type!\n");
return SOUNDLIST_EMPTY;

View file

@ -609,7 +609,8 @@ Schedule_t* CSquadMonster::GetScheduleOfType(int iType)
switch (iType)
{
case SCHED_CHASE_ENEMY_FAILED: {
case SCHED_CHASE_ENEMY_FAILED:
{
return &slChaseEnemyFailed[0];
}

View file

@ -435,7 +435,8 @@ void CTalkMonster::StartTask(Task_t* pTask)
m_movementActivity = ACT_WALK;
break;
case TASK_MOVE_AWAY_PATH: {
case TASK_MOVE_AWAY_PATH:
{
Vector dir = pev->angles;
dir.y = pev->ideal_yaw + 180;
Vector move;
@ -476,7 +477,8 @@ void CTalkMonster::RunTask(Task_t* pTask)
switch (pTask->iTask)
{
case TASK_TLK_CLIENT_STARE:
case TASK_TLK_LOOK_AT_CLIENT: {
case TASK_TLK_LOOK_AT_CLIENT:
{
// Get edict for one player
edict_t* pPlayer = g_engfuncs.pfnPEntityOfEntIndex(1);
@ -519,7 +521,8 @@ void CTalkMonster::RunTask(Task_t* pTask)
break;
}
case TASK_FACE_PLAYER: {
case TASK_FACE_PLAYER:
{
// Get edict for one player
edict_t* pPlayer = g_engfuncs.pfnPEntityOfEntIndex(1);
@ -552,7 +555,8 @@ void CTalkMonster::RunTask(Task_t* pTask)
}
break;
case TASK_WALK_PATH_FOR_UNITS: {
case TASK_WALK_PATH_FOR_UNITS:
{
float distance;
distance = (m_vecLastPosition - pev->origin).Length2D();
@ -1206,7 +1210,8 @@ Schedule_t* CTalkMonster::GetScheduleOfType(int Type)
else
return slIdleStand;
case SCHED_IDLE_STAND: {
case SCHED_IDLE_STAND:
{
// if never seen player, try to greet him
if (!FBitSet(m_bitsSaid, bit_saidHelloPlayer))
{

View file

@ -674,7 +674,8 @@ void CTentacle::Cycle()
case TENTACLE_ANIM_Floor_Tap:
case TENTACLE_ANIM_Lev1_Tap:
case TENTACLE_ANIM_Lev2_Tap:
case TENTACLE_ANIM_Lev3_Tap: {
case TENTACLE_ANIM_Lev3_Tap:
{
Vector vecSrc;
UTIL_MakeVectors(pev->angles);

View file

@ -2119,7 +2119,8 @@ bool CSave::WriteFields(const char* pname, void* pBaseData, TYPEDESCRIPTION* pFi
WriteVector(pTest->fieldName, (float*)pOutputData, pTest->fieldSize);
break;
case FIELD_BOOLEAN: {
case FIELD_BOOLEAN:
{
//TODO: need to refactor save game stuff to make this cleaner and reusable
//Convert booleans to bytes
for (j = 0; j < pTest->fieldSize; j++)
@ -2338,7 +2339,8 @@ int CRestore::ReadField(void* pBaseData, TYPEDESCRIPTION* pFields, int fieldCoun
((float*)pOutputData)[2] = ((float*)pInputData)[2] + position.z;
break;
case FIELD_BOOLEAN: {
case FIELD_BOOLEAN:
{
// Input and Output sizes are different!
pOutputData = (char*)pOutputData + j * (sizeof(bool) - gSizes[pTest->fieldType]);
const bool value = *((byte*)pInputData) != 0;

View file

@ -27,7 +27,7 @@ public:
constexpr Vector2D& operator=(const Vector2D&) = default;
constexpr Vector2D(float X, float Y)
: x(X) , y(Y)
: x(X), y(Y)
{
}

View file

@ -364,7 +364,8 @@ void CXenTree::HandleAnimEvent(MonsterEvent_t* pEvent)
{
switch (pEvent->event)
{
case TREE_AE_ATTACK: {
case TREE_AE_ATTACK:
{
CBaseEntity* pList[8];
bool sound = false;
int count = UTIL_EntitiesInBox(pList, 8, m_pTrigger->pev->absmin, m_pTrigger->pev->absmax, FL_MONSTER | FL_CLIENT);

View file

@ -192,7 +192,8 @@ void CZombie::HandleAnimEvent(MonsterEvent_t* pEvent)
{
switch (pEvent->event)
{
case ZOMBIE_AE_ATTACK_RIGHT: {
case ZOMBIE_AE_ATTACK_RIGHT:
{
// do stuff for this event.
// ALERT( at_console, "Slash right!\n" );
CBaseEntity* pHurt = CheckTraceHullAttack(70, gSkillData.zombieDmgOneSlash, DMG_SLASH);
@ -215,7 +216,8 @@ void CZombie::HandleAnimEvent(MonsterEvent_t* pEvent)
}
break;
case ZOMBIE_AE_ATTACK_LEFT: {
case ZOMBIE_AE_ATTACK_LEFT:
{
// do stuff for this event.
// ALERT( at_console, "Slash left!\n" );
CBaseEntity* pHurt = CheckTraceHullAttack(70, gSkillData.zombieDmgOneSlash, DMG_SLASH);
@ -237,7 +239,8 @@ void CZombie::HandleAnimEvent(MonsterEvent_t* pEvent)
}
break;
case ZOMBIE_AE_ATTACK_BOTH: {
case ZOMBIE_AE_ATTACK_BOTH:
{
// do stuff for this event.
CBaseEntity* pHurt = CheckTraceHullAttack(70, gSkillData.zombieDmgBothSlash, DMG_SLASH);
if (pHurt)

View file

@ -36,7 +36,7 @@ bool FileSystem_LoadFileSystem()
}
// Determine which filesystem to use.
#if defined ( _WIN32 )
#if defined(_WIN32)
const char* szFsModule = "filesystem_stdio.dll";
#elif defined(OSX)
const char* szFsModule = "filesystem_stdio.dylib";

View file

@ -105,7 +105,7 @@ public:
int Write(const void* input, int size);
template<typename... Args>
template <typename... Args>
int Printf(const char* format, Args&&... args)
{
return g_pFileSystem->FPrintf(_handle, format, std::forward<Args>(args)...);

View file

@ -8,10 +8,10 @@
// Versioning
// There are two versioning cases that are handled by this:
// 1. You add functions to the end of an interface, so it is binary compatible with the previous interface. In this case,
// 1. You add functions to the end of an interface, so it is binary compatible with the previous interface. In this case,
// you need two EXPOSE_INTERFACEs: one to expose your class as the old interface and one to expose it as the new interface.
// 2. You update an interface so it's not compatible anymore (but you still want to be able to expose the old interface
// for legacy code). In this case, you need to make a new version name for your new interface, and make a wrapper interface and
// 2. You update an interface so it's not compatible anymore (but you still want to be able to expose the old interface
// for legacy code). In this case, you need to make a new version name for your new interface, and make a wrapper interface and
// expose it for the old interface.
//#if _MSC_VER >= 1300 // VC7
@ -22,19 +22,18 @@
#include "Platform.h"
void *Sys_GetProcAddress( void *pModuleHandle, const char *pName );
void* Sys_GetProcAddress(void* pModuleHandle, const char* pName);
// All interfaces derive from this.
class IBaseInterface
{
public:
virtual ~IBaseInterface() {}
virtual ~IBaseInterface() {}
};
#define CREATEINTERFACE_PROCNAME "CreateInterface"
typedef IBaseInterface* (*CreateInterfaceFn)(const char *pName, int *pReturnCode);
#define CREATEINTERFACE_PROCNAME "CreateInterface"
typedef IBaseInterface* (*CreateInterfaceFn)(const char* pName, int* pReturnCode);
typedef IBaseInterface* (*InstantiateInterfaceFn)();
@ -44,15 +43,14 @@ typedef IBaseInterface* (*InstantiateInterfaceFn)();
class InterfaceReg
{
public:
InterfaceReg(InstantiateInterfaceFn fn, const char *pName);
InterfaceReg(InstantiateInterfaceFn fn, const char* pName);
public:
InstantiateInterfaceFn m_CreateFn;
const char* m_pName;
InstantiateInterfaceFn m_CreateFn;
const char *m_pName;
InterfaceReg *m_pNext; // For the global list.
static InterfaceReg *s_pInterfaceRegs;
InterfaceReg* m_pNext; // For the global list.
static InterfaceReg* s_pInterfaceRegs;
};
@ -71,37 +69,36 @@ public:
#define EXPOSE_INTERFACE_FN(functionName, interfaceName, versionName) \
static InterfaceReg __g_Create##className##_reg(functionName, versionName);
#define EXPOSE_INTERFACE(className, interfaceName, versionName) \
static IBaseInterface* __Create##className##_interface() {return (interfaceName *)new className;}\
static InterfaceReg __g_Create##className##_reg(__Create##className##_interface, versionName );
#define EXPOSE_INTERFACE(className, interfaceName, versionName) \
static IBaseInterface* __Create##className##_interface() { return (interfaceName*)new className; } \
static InterfaceReg __g_Create##className##_reg(__Create##className##_interface, versionName);
// Use this to expose a singleton interface with a global variable you've created.
#define EXPOSE_SINGLE_INTERFACE_GLOBALVAR(className, interfaceName, versionName, globalVarName) \
static IBaseInterface* __Create##className##interfaceName##_interface() {return (IBaseInterface *)&globalVarName;}\
#define EXPOSE_SINGLE_INTERFACE_GLOBALVAR(className, interfaceName, versionName, globalVarName) \
static IBaseInterface* __Create##className##interfaceName##_interface() { return (IBaseInterface*)&globalVarName; } \
static InterfaceReg __g_Create##className##interfaceName##_reg(__Create##className##interfaceName##_interface, versionName);
// Use this to expose a singleton interface. This creates the global variable for you automatically.
#define EXPOSE_SINGLE_INTERFACE(className, interfaceName, versionName) \
static className __g_##className##_singleton;\
static className __g_##className##_singleton; \
EXPOSE_SINGLE_INTERFACE_GLOBALVAR(className, interfaceName, versionName, __g_##className##_singleton)
// This function is automatically exported and allows you to access any interfaces exposed with the above macros.
// if pReturnCode is set, it will return one of the following values
// extend this for other error conditions/code
enum
enum
{
IFACE_OK = 0,
IFACE_FAILED
};
extern "C"
{
DLLEXPORT IBaseInterface* CreateInterface(const char *pName, int *pReturnCode);
extern "C" {
DLLEXPORT IBaseInterface* CreateInterface(const char* pName, int* pReturnCode);
};
extern CreateInterfaceFn Sys_GetFactoryThis( void );
extern CreateInterfaceFn Sys_GetFactoryThis(void);
// load/unload components
class CSysModule;
@ -111,9 +108,9 @@ class CSysModule;
// The factory for that module should be passed on to dependent components for
// proper versioning.
//-----------------------------------------------------------------------------
extern CSysModule *Sys_LoadModule( const char *pModuleName );
extern void Sys_UnloadModule( CSysModule *pModule );
extern CSysModule* Sys_LoadModule(const char* pModuleName);
extern void Sys_UnloadModule(CSysModule* pModule);
extern CreateInterfaceFn Sys_GetFactory( CSysModule *pModule );
extern CreateInterfaceFn Sys_GetFactory(CSysModule* pModule);
//#endif // MSVC 6.0