[iortcw] 45/95: All: Source alignment and cleanup - Part3
Simon McVittie
smcv at debian.org
Fri Sep 8 10:42:03 UTC 2017
This is an automated email from the git hooks/post-receive script.
smcv pushed a commit to tag 1.51
in repository iortcw.
commit d6ee8fc999e4094eac4a66d0f357441fc55316bb
Author: MAN-AT-ARMS <M4N4T4RMS at gmail.com>
Date: Tue Mar 14 22:11:14 2017 -0400
All: Source alignment and cleanup - Part3
---
MP/code/game/ai_cast.c | 10 +-
MP/code/game/ai_cast.h | 10 +-
MP/code/game/ai_cast_characters.c | 300 +++++++++++++++++-----------------
MP/code/game/ai_cast_debug.c | 3 +-
MP/code/game/ai_cast_events.c | 32 ----
MP/code/game/ai_cast_fight.c | 44 +----
MP/code/game/ai_cast_func_attack.c | 28 +---
MP/code/game/ai_cast_funcs.c | 83 +++-------
MP/code/game/ai_cast_script.c | 20 +--
MP/code/game/ai_cast_script_actions.c | 30 ++--
MP/code/game/ai_cast_sight.c | 9 +-
MP/code/game/ai_cast_think.c | 30 ++--
SP/code/game/ai_cast.c | 44 ++---
SP/code/game/ai_cast.h | 10 +-
SP/code/game/ai_cast_characters.c | 239 ++++++++++++++-------------
SP/code/game/ai_cast_debug.c | 2 +-
SP/code/game/ai_cast_events.c | 14 --
SP/code/game/ai_cast_fight.c | 5 +-
SP/code/game/ai_cast_func_attack.c | 6 +-
SP/code/game/ai_cast_func_boss1.c | 3 -
SP/code/game/ai_cast_funcs.c | 93 +++++------
SP/code/game/ai_cast_script.c | 64 ++++----
SP/code/game/ai_cast_script_actions.c | 35 +---
SP/code/game/ai_cast_think.c | 25 +--
24 files changed, 475 insertions(+), 664 deletions(-)
diff --git a/MP/code/game/ai_cast.c b/MP/code/game/ai_cast.c
index 714105a..58397ec 100644
--- a/MP/code/game/ai_cast.c
+++ b/MP/code/game/ai_cast.c
@@ -373,6 +373,7 @@ gentity_t *AICast_CreateCharacter( gentity_t *ent, float *attributes, cast_weapo
//
cs = AICast_GetCastState( newent->s.number );
//
+ cs->aiCharacter = ent->aiCharacter;
// setup the attributes
memcpy( cs->attributes, attributes, sizeof( cs->attributes ) );
ppStr = &ent->aiAttributes;
@@ -392,7 +393,6 @@ gentity_t *AICast_CreateCharacter( gentity_t *ent, float *attributes, cast_weapo
cs->bs->enemy = -1;
cs->leaderNum = -1;
cs->castScriptStatus.scriptGotoEnt = -1;
- cs->aiCharacter = ent->aiCharacter;
//
newent->aiName = ent->aiName;
newent->aiTeam = ent->aiTeam;
@@ -730,12 +730,12 @@ void AICast_CheckLoadGame( void ) {
if ( ready ) {
trap_Cvar_Set( "savegame_loading", "0" ); // in-case it aborts
+ saveGamePending = qfalse;
// G_LoadGame( NULL ); // always load the "current" savegame
trap_Cvar_Set( "cg_norender", "0" );
- saveGamePending = qfalse;
// wait for the clients to return from faded screen
- // trap_SetConfigstring( CS_SCREENFADE, va("0 %i 1500", level.time + 500) );
+// trap_SetConfigstring( CS_SCREENFADE, va("0 %i 1500", level.time + 500) );
trap_SetConfigstring( CS_SCREENFADE, va( "0 %i 750", level.time + 500 ) );
level.reloadPauseTime = level.time + 1100;
@@ -755,12 +755,12 @@ void AICast_CheckLoadGame( void ) {
// not loading a game, we must be in a new level, so look for some persistant data to read in, then save the game
if ( ready ) {
// G_LoadPersistant(); // make sure we save the game after we have brought across the items
-// G_SaveGame( NULL );
+
trap_Cvar_Set( "cg_norender", "0" );
saveGamePending = qfalse;
// wait for the clients to return from faded screen
- // trap_SetConfigstring( CS_SCREENFADE, va("0 %i 1500", level.time + 500) );
+// trap_SetConfigstring( CS_SCREENFADE, va( "0 %i 1500", level.time + 500 ) );
trap_SetConfigstring( CS_SCREENFADE, va( "0 %i 750", level.time + 500 ) );
level.reloadPauseTime = level.time + 1100;
diff --git a/MP/code/game/ai_cast.h b/MP/code/game/ai_cast.h
index d3dd01d..f533dd1 100644
--- a/MP/code/game/ai_cast.h
+++ b/MP/code/game/ai_cast.h
@@ -194,10 +194,10 @@ extern AICharacterDefaults_t aiDefaults[NUM_CHARACTERS];
//
// structure defines
//
-#define AIVIS_ENEMY 1
-#define AIVIS_INSPECTED 2 // we have inspected them once already
-#define AIVIS_INSPECT 4 // we should inspect them when we get a chance
-#define AIVIS_PROCESS_SIGHTING 8 // so we know if we have or haven't processed the sighting since they were last seen
+#define AIVIS_ENEMY 1
+#define AIVIS_INSPECTED 2 // we have inspected them once already
+#define AIVIS_INSPECT 4 // we should inspect them when we get a chance
+#define AIVIS_PROCESS_SIGHTING 8 // so we know if we have or haven't processed the sighting since they were last seen
//
// share range
#define AIVIS_SHARE_RANGE 170 // if we are within this range of a friendly, share their vis info
@@ -532,7 +532,7 @@ typedef struct cast_state_s
} cast_state_t;
//
-#define CSFOFS( x ) ( (int)&( ( (cast_state_t *)0 )->x ) )
+#define CSFOFS( x ) ( (size_t)&( ( (cast_state_t *)0 )->x ) )
//
typedef struct aicast_predictmove_s
{
diff --git a/MP/code/game/ai_cast_characters.c b/MP/code/game/ai_cast_characters.c
index 3104a55..1d850b0 100644
--- a/MP/code/game/ai_cast_characters.c
+++ b/MP/code/game/ai_cast_characters.c
@@ -48,8 +48,10 @@ If you have questions concerning this license or the applicable additional terms
//---------------------------------------------------------------------------
// Character specific attributes (defaults, these can be altered in the editor (TODO!))
AICharacterDefaults_t aiDefaults[NUM_CHARACTERS] = {
+
//AICHAR_NONE
{0},
+
//AICHAR_SOLDIER
{
"Soldier",
@@ -71,28 +73,29 @@ AICharacterDefaults_t aiDefaults[NUM_CHARACTERS] = {
0.0, // camper
16000, // alertness
100, // starting health
- 1.0, // hearing range
- 512, // relaxec detection radius
+ 1.0, // hearing scale
+ 512, // relaxed detection radius
1.0, // pain threshold multiplier
},
"infantrySightPlayer",
"infantryAttackPlayer",
"infantryOrders",
"infantryDeath",
- "infantrySilentDeath", //----(SA) added
+ "infantrySilentDeath", //----(SA) added
"infantryPain",
- "infantryStay", // stay - you're told to stay put
- "infantryFollow", // follow - go with ordering player ("i'm with you" rather than "yes sir!")
- "infantryOrdersDeny", // deny - refuse orders (doing something else)
- AITEAM_NAZI, // team
- "infantryss/default", // default model/skin
- {WP_MP40,WP_GRENADE_LAUNCHER}, // starting weapons
- BBOX_SMALL, {32,48}, // bbox, crouch/stand height
- AIFL_CATCH_GRENADE | AIFL_STAND_IDLE2, // flags
- 0, 0, 0, // special attack routine
- NULL, // looping sound
+ "infantryStay", // stay - you're told to stay put
+ "infantryFollow", // follow - go with ordering player ("i'm with you" rather than "yes sir!")
+ "infantryOrdersDeny", // deny - refuse orders (doing something else)
+ AITEAM_NAZI, // team
+ "infantryss/default", // default model/skin
+ {WP_MP40,WP_GRENADE_LAUNCHER}, // starting weapons
+ BBOX_SMALL, {32,48}, // bbox, crouch/stand height
+ AIFL_CATCH_GRENADE | AIFL_STAND_IDLE2, // flags
+ 0, 0, 0, // special attack routine
+ NULL, // looping sound
AISTATE_RELAXED
},
+
//AICHAR_AMERICAN
{
"American",
@@ -114,19 +117,19 @@ AICharacterDefaults_t aiDefaults[NUM_CHARACTERS] = {
0.0, // camper
16000, // alertness
100, // starting health
- 1.0, // hearing range
- 512, // relaxec detection radius
+ 1.0, // hearing scale
+ 512, // relaxed detection radius
1.0, // pain threshold multiplier
},
"americanSightPlayer",
"americanAttackPlayer",
"americanOrders",
"americanDeath",
- "americanDeath", //----(SA) added
+ "americanDeath", //----(SA) added
"americanPain",
- "americanStay", // stay - you're told to stay put
- "americanFollow", // follow - go with ordering player ("i'm with you" rather than "yes sir!")
- "americanOrdersDeny", // deny - refuse orders (doing something else)
+ "americanStay", // stay - you're told to stay put
+ "americanFollow", // follow - go with ordering player ("i'm with you" rather than "yes sir!")
+ "americanOrdersDeny", // deny - refuse orders (doing something else)
AITEAM_ALLIES,
"american/default",
{WP_THOMPSON,WP_GRENADE_PINEAPPLE},
@@ -136,6 +139,7 @@ AICharacterDefaults_t aiDefaults[NUM_CHARACTERS] = {
NULL,
AISTATE_RELAXED
},
+
//AICHAR_ZOMBIE
{
"Zombie",
@@ -157,19 +161,19 @@ AICharacterDefaults_t aiDefaults[NUM_CHARACTERS] = {
0.0, // camper
16000, // alertness
180, // starting health
- 1.0, // hearing range
- 512, // relaxec detection radius
+ 1.0, // hearing scale
+ 512, // relaxed detection radius
1.0, // pain threshold multiplier
},
"zombieSightPlayer",
"zombieAttackPlayer",
"zombieOrders",
"zombieDeath",
- "zombieDeath", //----(SA) added
+ "zombieDeath", //----(SA) added
"zombiePain",
- "zombieStay", // stay - you're told to stay put
- "zombieFollow", // follow - go with ordering player ("i'm with you" rather than "yes sir!")
- "zombieOrdersDeny", // deny - refuse orders (doing something else)
+ "zombieStay", // stay - you're told to stay put
+ "zombieFollow", // follow - go with ordering player ("i'm with you" rather than "yes sir!")
+ "zombieOrdersDeny", // deny - refuse orders (doing something else)
AITEAM_MONSTER,
"zombie/default",
{WP_GAUNTLET,WP_MONSTER_ATTACK2},
@@ -202,23 +206,23 @@ AICharacterDefaults_t aiDefaults[NUM_CHARACTERS] = {
0.0, // camper
16000, // alertness
180, // starting health
- 1.0, // hearing range
- 512, // relaxec detection radius
+ 1.0, // hearing scale
+ 512, // relaxed detection radius
1.0, // pain threshold multiplier
},
"warzombieSightPlayer",
"warzombieAttackPlayer",
"warzombieOrders",
"warzombieDeath",
- "warzombieDeath", //----(SA) added
+ "warzombieDeath", //----(SA) added
"warzombiePain",
- "sound/weapons/melee/fstatck.wav", // stay - you're told to stay put
- "warzombieFollow", // follow - go with ordering player ("i'm with you" rather than "yes sir!")
- "warzombieOrdersDeny", // deny - refuse orders (doing something else)
+ "sound/weapons/melee/fstatck.wav", // stay - you're told to stay put
+ "warzombieFollow", // follow - go with ordering player ("i'm with you" rather than "yes sir!")
+ "warzombieOrdersDeny", // deny - refuse orders (doing something else)
AITEAM_MONSTER,
"warrior/default",
{WP_MONSTER_ATTACK1,WP_MONSTER_ATTACK2,WP_MONSTER_ATTACK3},
- BBOX_SMALL, {10,48}, // very low defense position
+ BBOX_SMALL, {10,48}, // very low defense position
AIFL_NO_RELOAD,
AIFunc_WarriorZombieMeleeStart, /*AIFunc_WarriorZombieSightStart*/ 0, AIFunc_WarriorZombieDefenseStart,
NULL,
@@ -247,8 +251,8 @@ AICharacterDefaults_t aiDefaults[NUM_CHARACTERS] = {
0.0, // camper
16000, // alertness
180, // starting health
- 1.0, // hearing range
- 512, // relaxec detection radius
+ 1.0, // hearing scale
+ 512, // relaxed detection radius
1.0, // pain threshold multiplier
},
"zombieFemSightPlayer",
@@ -294,8 +298,8 @@ AICharacterDefaults_t aiDefaults[NUM_CHARACTERS] = {
0.0, // camper
16000, // alertness
100, // starting health
- 1.0, // hearing range
- 512, // relaxec detection radius
+ 1.0, // hearing scale
+ 512, // relaxed detection radius
1.0, // pain threshold multiplier
},
"undeadSightPlayer",
@@ -337,19 +341,19 @@ AICharacterDefaults_t aiDefaults[NUM_CHARACTERS] = {
0.0, // camper
16000, // alertness
240, // starting health
- 1.0, // hearing range
- 512, // relaxec detection radius
+ 1.0, // hearing scale
+ 512, // relaxed detection radius
1.0, // pain threshold multiplier
},
"venomSightPlayer",
"venomAttackPlayer",
"venomOrders",
"venomDeath",
- "venomDeath", //----(SA) added
+ "venomDeath", //----(SA) added
"venomPain",
- "venomStay", // stay - you're told to stay put
- "venomFollow", // follow - go with ordering player ("i'm with you" rather than "yes sir!")
- "venomOrdersDeny", // deny - refuse orders (doing something else)
+ "venomStay", // stay - you're told to stay put
+ "venomFollow", // follow - go with ordering player ("i'm with you" rather than "yes sir!")
+ "venomOrdersDeny", // deny - refuse orders (doing something else)
AITEAM_NAZI,
"venom/default",
{WP_VENOM,WP_VENOM_FULL,WP_FLAMETHROWER},
@@ -359,6 +363,7 @@ AICharacterDefaults_t aiDefaults[NUM_CHARACTERS] = {
NULL,
AISTATE_ALERT
},
+
//AICHAR_LOPER
{
"Loper",
@@ -380,23 +385,23 @@ AICharacterDefaults_t aiDefaults[NUM_CHARACTERS] = {
0.0, // camper
16000, // alertness
500, // starting health
- 1.0, // hearing range
- 512, // relaxec detection radius
+ 1.0, // hearing scale
+ 512, // relaxed detection radius
1.0, // pain threshold multiplier
},
"loperSightPlayer",
"loperAttackPlayer",
"loperOrders",
"loperDeath",
- "loperDeath", //----(SA) added
+ "loperDeath", //----(SA) added
"loperPain",
- "loperStay", // stay - you're told to stay put
- "loperFollow", // follow - go with ordering player ("i'm with you" rather than "yes sir!")
- "loperOrdersDeny", // deny - refuse orders (doing something else)
+ "loperStay", // stay - you're told to stay put
+ "loperFollow", // follow - go with ordering player ("i'm with you" rather than "yes sir!")
+ "loperOrdersDeny", // deny - refuse orders (doing something else)
AITEAM_MONSTER,
"loper/default",
{WP_MONSTER_ATTACK1,WP_MONSTER_ATTACK2,WP_MONSTER_ATTACK3},
- BBOX_LARGE, {48,48}, // large is for wide characters
+ BBOX_LARGE, {48,48}, // large is for wide characters
AIFL_NO_RELOAD,
AIFunc_LoperAttack1Start, AIFunc_LoperAttack2Start, AIFunc_LoperAttack3Start,
"sound/world/electloop.wav",
@@ -425,8 +430,8 @@ AICharacterDefaults_t aiDefaults[NUM_CHARACTERS] = {
0.0, // camper
16000, // alertness
500, // starting health
- 1.0, // hearing range
- 512, // relaxec detection radius
+ 1.0, // hearing scale
+ 512, // relaxed detection radius
1.0, // pain threshold multiplier
},
"sealoperSightPlayer",
@@ -447,7 +452,6 @@ AICharacterDefaults_t aiDefaults[NUM_CHARACTERS] = {
AIFunc_LoperAttack1Start, AIFunc_LoperAttack2Start, AIFunc_LoperAttack3Start,
"sound/world/electloop.wav",
AISTATE_ALERT
-
},
//AICHAR_ELITEGUARD
@@ -471,19 +475,19 @@ AICharacterDefaults_t aiDefaults[NUM_CHARACTERS] = {
0.0, // camper
16000, // alertness
120, // starting health
- 1.0, // hearing range
- 512, // relaxec detection radius
+ 1.0, // hearing scale
+ 512, // relaxed detection radius
1.0, // pain threshold multiplier
},
"eliteGuardSightPlayer",
"eliteGuardAttackPlayer",
"eliteGuardOrders",
"eliteGuardDeath",
- "eliteGuardDeath", //----(SA) added
+ "eliteGuardDeath", //----(SA) added
"eliteGuardPain",
- "eliteGuardStay", // stay - you're told to stay put
- "eliteGuardFollow", // follow - go with ordering player ("i'm with you" rather than "yes sir!")
- "eliteGuardOrdersDeny", // deny - refuse orders (doing something else)
+ "eliteGuardStay", // stay - you're told to stay put
+ "eliteGuardFollow", // follow - go with ordering player ("i'm with you" rather than "yes sir!")
+ "eliteGuardOrdersDeny", // deny - refuse orders (doing something else)
AITEAM_NAZI,
"eliteguard/default",
{WP_SILENCER}, //----(SA) TODO: replace w/ "silenced luger"
@@ -515,28 +519,29 @@ AICharacterDefaults_t aiDefaults[NUM_CHARACTERS] = {
0.0, // camper
16000, // alertness
300, // starting health
- 1.0, // hearing range
- 512, // relaxec detection radius
+ 1.0, // hearing scale
+ 512, // relaxed detection radius
1.0, // pain threshold multiplier
},
"stimSoldierSightPlayer",
"stimSoldierAttackPlayer",
"stimSoldierOrders",
"stimSoldierDeath",
- "stimSoldierDeath", //----(SA) added
+ "stimSoldierDeath", //----(SA) added
"stimSoldierPain",
- "stimSoldierStay", // stay - you're told to stay put
- "stimSoldierFollow", // follow - go with ordering player ("i'm with you" rather than "yes sir!")
- "stimSoldierOrdersDeny", // deny - refuse orders (doing something else)
+ "stimSoldierStay", // stay - you're told to stay put
+ "stimSoldierFollow", // follow - go with ordering player ("i'm with you" rather than "yes sir!")
+ "stimSoldierOrdersDeny", // deny - refuse orders (doing something else)
AITEAM_NAZI,
"stim/default",
- {WP_MONSTER_ATTACK2}, // TODO: dual machinegun attack
+ {WP_MONSTER_ATTACK2}, // TODO: dual machinegun attack
BBOX_LARGE, {48,64},
AIFL_NO_RELOAD,
0, AIFunc_StimSoldierAttack2Start, 0,
NULL,
AISTATE_ALERT
},
+
//AICHAR_STIMSOLDIER2
{
"Stim Soldier",
@@ -558,28 +563,29 @@ AICharacterDefaults_t aiDefaults[NUM_CHARACTERS] = {
0.0, // camper
16000, // alertness
300, // starting health
- 1.0, // hearing range
- 512, // relaxec detection radius
+ 1.0, // hearing scale
+ 512, // relaxed detection radius
1.0, // pain threshold multiplier
},
"stimSoldierSightPlayer",
"stimSoldierAttackPlayer",
"stimSoldierOrders",
"stimSoldierDeath",
- "stimSoldierDeath", //----(SA) added
+ "stimSoldierDeath", //----(SA) added
"stimSoldierPain",
- "stimSoldierStay", // stay - you're told to stay put
- "stimSoldierFollow", // follow - go with ordering player ("i'm with you" rather than "yes sir!")
- "stimSoldierOrdersDeny", // deny - refuse orders (doing something else)
+ "stimSoldierStay", // stay - you're told to stay put
+ "stimSoldierFollow", // follow - go with ordering player ("i'm with you" rather than "yes sir!")
+ "stimSoldierOrdersDeny", // deny - refuse orders (doing something else)
AITEAM_NAZI,
"stim/default",
- {WP_MP40, WP_ROCKET_LAUNCHER, WP_MONSTER_ATTACK1}, // attack1 is leaping rocket attack
+ {WP_MP40, WP_ROCKET_LAUNCHER, WP_MONSTER_ATTACK1}, // attack1 is leaping rocket attack
BBOX_LARGE, {48,64},
AIFL_NO_RELOAD,
AIFunc_StimSoldierAttack1Start, 0, 0,
NULL,
AISTATE_ALERT
},
+
//AICHAR_STIMSOLDIER3
{
"Stim Soldier",
@@ -601,28 +607,29 @@ AICharacterDefaults_t aiDefaults[NUM_CHARACTERS] = {
0.0, // camper
16000, // alertness
300, // starting health
- 1.0, // hearing range
- 512, // relaxec detection radius
+ 1.0, // hearing scale
+ 512, // relaxed detection radius
1.0, // pain threshold multiplier
},
"stimSoldierSightPlayer",
"stimSoldierAttackPlayer",
"stimSoldierOrders",
"stimSoldierDeath",
- "stimSoldierDeath", //----(SA) added
+ "stimSoldierDeath", //----(SA) added
"stimSoldierPain",
- "stimSoldierStay", // stay - you're told to stay put
- "stimSoldierFollow", // follow - go with ordering player ("i'm with you" rather than "yes sir!")
- "stimSoldierOrdersDeny", // deny - refuse orders (doing something else)
+ "stimSoldierStay", // stay - you're told to stay put
+ "stimSoldierFollow", // follow - go with ordering player ("i'm with you" rather than "yes sir!")
+ "stimSoldierOrdersDeny", // deny - refuse orders (doing something else)
AITEAM_NAZI,
"stim/default",
- {WP_MP40, WP_TESLA}, // no monster_attack1, since that's only used for the jumping rocket attack
+ {WP_MP40, WP_TESLA}, // no monster_attack1, since that's only used for the jumping rocket attack
BBOX_LARGE, {48,64},
AIFL_NO_RELOAD,
AIFunc_StimSoldierAttack1Start, 0, 0,
NULL,
AISTATE_ALERT
},
+
//AICHAR_SUPERSOLDIER
{
"Super Soldier",
@@ -644,19 +651,19 @@ AICharacterDefaults_t aiDefaults[NUM_CHARACTERS] = {
0.0, // camper
16000, // alertness
300, // starting health
- 1.0, // hearing range
- 512, // relaxec detection radius
+ 1.0, // hearing scale
+ 512, // relaxed detection radius
2.0, // pain threshold multiplier
},
"superSoldierSightPlayer",
"superSoldierAttackPlayer",
"superSoldierOrders",
"superSoldierDeath",
- "superSoldierDeath", //----(SA) added
+ "superSoldierDeath", //----(SA) added
"superSoldierPain",
- "superSoldierStay", // stay - you're told to stay put
- "superSoldierFollow", // follow - go with ordering player ("i'm with you" rather than "yes sir!")
- "superSoldierOrdersDeny", // deny - refuse orders (doing something else)
+ "superSoldierStay", // stay - you're told to stay put
+ "superSoldierFollow", // follow - go with ordering player ("i'm with you" rather than "yes sir!")
+ "superSoldierOrdersDeny", // deny - refuse orders (doing something else)
AITEAM_NAZI,
"supersoldier/default",
{WP_VENOM},
@@ -666,6 +673,7 @@ AICharacterDefaults_t aiDefaults[NUM_CHARACTERS] = {
NULL,
AISTATE_ALERT
},
+
//AICHAR_BLACKGUARD
{
"Black Guard",
@@ -687,29 +695,30 @@ AICharacterDefaults_t aiDefaults[NUM_CHARACTERS] = {
0.0, // camper
16000, // alertness
120, // starting health
- 1.0, // hearing range
- 512, // relaxec detection radius
+ 1.0, // hearing scale
+ 512, // relaxed detection radius
1.0, // pain threshold multiplier
},
"blackGuardSightPlayer",
"blackGuardAttackPlayer",
"blackGuardOrders",
"blackGuardDeath",
- "blackGuardDeath", //----(SA) added
+ "blackGuardDeath", //----(SA) added
"blackGuardPain",
- "blackGuardStay", // stay - you're told to stay put
- "blackGuardFollow", // follow - go with ordering player ("i'm with you" rather than "yes sir!")
- "blackGuardOrdersDeny", // deny - refuse orders (doing something else)
+ "blackGuardStay", // stay - you're told to stay put
+ "blackGuardFollow", // follow - go with ordering player ("i'm with you" rather than "yes sir!")
+ "blackGuardOrdersDeny", // deny - refuse orders (doing something else)
AITEAM_NAZI,
"blackguard/default",
-// {WP_MP40, WP_GRENADE_LAUNCHER, WP_MONSTER_ATTACK1}, // attack1 is melee kick
- {WP_FG42, WP_FG42SCOPE, WP_GRENADE_LAUNCHER, WP_MONSTER_ATTACK1}, // attack1 is melee kick
+// {WP_MP40, WP_GRENADE_LAUNCHER, WP_MONSTER_ATTACK1}, // attack1 is melee kick
+ {WP_FG42, WP_FG42SCOPE, WP_GRENADE_LAUNCHER, WP_MONSTER_ATTACK1}, // attack1 is melee kick
BBOX_SMALL, {32,48},
AIFL_CATCH_GRENADE | AIFL_FLIP_ANIM | AIFL_STAND_IDLE2,
AIFunc_BlackGuardAttack1Start, 0, 0,
NULL,
AISTATE_ALERT
},
+
//AICHAR_PROTOSOLDIER
{
"Protosoldier",
@@ -731,19 +740,19 @@ AICharacterDefaults_t aiDefaults[NUM_CHARACTERS] = {
0.0, // camper
16000, // alertness
300, // starting health
- 1.0, // hearing range
- 512, // relaxec detection radius
+ 1.0, // hearing scale
+ 512, // relaxed detection radius
2.0, // pain threshold multiplier
},
"protoSoldierSightPlayer",
"protoSoldierAttackPlayer",
"protoSoldierOrders",
"protoSoldierDeath",
- "protoSoldierDeath", //----(SA) added
+ "protoSoldierDeath", //----(SA) added
"protoSoldierPain",
- "protoSoldierStay", // stay - you're told to stay put
- "protoSoldierFollow", // follow - go with ordering player ("i'm with you" rather than "yes sir!")
- "protoSoldierOrdersDeny", // deny - refuse orders (doing something else)
+ "protoSoldierStay", // stay - you're told to stay put
+ "protoSoldierFollow", // follow - go with ordering player ("i'm with you" rather than "yes sir!")
+ "protoSoldierOrdersDeny", // deny - refuse orders (doing something else)
AITEAM_NAZI,
"protosoldier/default",
// {WP_TESLA},
@@ -754,6 +763,7 @@ AICharacterDefaults_t aiDefaults[NUM_CHARACTERS] = {
NULL,
AISTATE_ALERT
},
+
//AICHAR_REJECTX
{
"Reject X Creature",
@@ -776,8 +786,8 @@ AICharacterDefaults_t aiDefaults[NUM_CHARACTERS] = {
0.0, // camper
16000, // alertness
500, // starting health
- 1.0, // hearing range
- 512, // relaxec detection radius
+ 1.0, // hearing scale
+ 512, // relaxed detection radius
1.0, // pain threshold multiplier
},
"rejectXSightPlayer",
@@ -798,7 +808,8 @@ AICharacterDefaults_t aiDefaults[NUM_CHARACTERS] = {
NULL,
AISTATE_ALERT
},
-// AICHAR_FROGMAN
+
+ // AICHAR_FROGMAN
{
"Frogman",
{
@@ -819,19 +830,19 @@ AICharacterDefaults_t aiDefaults[NUM_CHARACTERS] = {
0.0, // camper
16000, // alertness
200, // starting health
- 1.0, // hearing range
- 512, // relaxec detection radius
+ 1.0, // hearing scale
+ 512, // relaxed detection radius
1.0, // pain threshold multiplier
},
"frogmanSightPlayer",
"frogmanAttackPlayer",
"frogmanOrders",
"frogmanDeath",
- "frogmanDeath", //----(SA) added
+ "frogmanDeath", //----(SA) added
"frogmanPain",
- "frogmanStay", // stay - you're told to stay put
- "frogmanFollow", // follow - go with ordering player ("i'm with you" rather than "yes sir!")
- "frogmanOrdersDeny", // deny - refuse orders (doing something else)
+ "frogmanStay", // stay - you're told to stay put
+ "frogmanFollow", // follow - go with ordering player ("i'm with you" rather than "yes sir!")
+ "frogmanOrdersDeny", // deny - refuse orders (doing something else)
AITEAM_NAZI,
"frogman/default",
{WP_SPEARGUN},
@@ -841,6 +852,7 @@ AICharacterDefaults_t aiDefaults[NUM_CHARACTERS] = {
NULL,
AISTATE_RELAXED
},
+
//AICHAR_HELGA
{
"Helga",
@@ -862,29 +874,30 @@ AICharacterDefaults_t aiDefaults[NUM_CHARACTERS] = {
0.0, // camper
16000, // alertness
100, // starting health
- 1.0, // hearing range
- 512, // relaxec detection radius
+ 1.0, // hearing scale
+ 512, // relaxed detection radius
1.0, // pain threshold multiplier
},
"helgaSightPlayer",
"helgaAttackPlayer",
"helgaOrders",
"helgaDeath",
- "helgaDeath", //----(SA) added
+ "helgaDeath", //----(SA) added
"helgaPain",
- "helgaStay", // stay - you're told to stay put
- "helgaFollow", // follow - go with ordering player ("i'm with you" rather than "yes sir!")
- "helgaOrdersDeny", // deny - refuse orders (doing something else)
- AITEAM_MONSTER, // team
- "helga/default", // default model/skin
- {WP_LUGER}, // starting weapons
- BBOX_SMALL, {32,48}, // bbox, crouch/stand height
+ "helgaStay", // stay - you're told to stay put
+ "helgaFollow", // follow - go with ordering player ("i'm with you" rather than "yes sir!")
+ "helgaOrdersDeny", // deny - refuse orders (doing something else)
+ AITEAM_MONSTER, // team
+ "helga/default", // default model/skin
+ {WP_LUGER}, // starting weapons
+ BBOX_SMALL, {32,48}, // bbox, crouch/stand height
// AIFL_STAND_IDLE2, // flags
0,
- 0, 0, 0, // special attack routine
+ 0, 0, 0, // special attack routine
NULL,
AISTATE_ALERT
},
+
//AICHAR_HEINRICH
{
"Heinrich",
@@ -906,8 +919,8 @@ AICharacterDefaults_t aiDefaults[NUM_CHARACTERS] = {
0.0, // camper
16000, // alertness
300, // starting health
- 1.0, // hearing range
- 512, // relaxec detection radius
+ 1.0, // hearing scale
+ 512, // relaxed detection radius
1.0, // pain threshold multiplier
},
"heinrichSightPlayer",
@@ -916,18 +929,19 @@ AICharacterDefaults_t aiDefaults[NUM_CHARACTERS] = {
"heinrichDeath",
"heinrichDeath",
"heinrichPain",
- "heinrichStay", // stay - you're told to stay put
- "heinrichFollow", // follow - go with ordering player ("i'm with you" rather than "yes sir!")
- "heinrichOrdersDeny", // deny - refuse orders (doing something else)
+ "heinrichStay", // stay - you're told to stay put
+ "heinrichFollow", // follow - go with ordering player ("i'm with you" rather than "yes sir!")
+ "heinrichOrdersDeny", // deny - refuse orders (doing something else)
AITEAM_NAZI,
"heinrich/default",
{WP_VENOM_FULL},
- BBOX_LARGE, {110,140}, // (SA) height is not exact. just eyeballed.
+ BBOX_LARGE, {110,140}, // (SA) height is not exact. just eyeballed.
AIFL_WALKFORWARD | AIFL_NO_RELOAD,
0, 0, 0,
NULL,
AISTATE_ALERT
},
+
//AICHAR_PARTISAN
{
"Partisan",
@@ -949,15 +963,15 @@ AICharacterDefaults_t aiDefaults[NUM_CHARACTERS] = {
0.0, // camper
16000, // alertness
100, // starting health
- 1.0, // hearing range
- 512, // relaxec detection radius
+ 1.0, // hearing scale
+ 512, // relaxed detection radius
1.0, // pain threshold multiplier
},
"partisanSightPlayer",
"partisanAttackPlayer",
"partisanOrders",
"partisanDeath",
- "partisanDeath", //----(SA) added
+ "partisanDeath", //----(SA) added
"partisanPain",
"partisanStay",
"partisanFollow",
@@ -971,6 +985,7 @@ AICharacterDefaults_t aiDefaults[NUM_CHARACTERS] = {
NULL,
AISTATE_RELAXED
},
+
//AICHAR_CIVILIAN
{
"Civilian",
@@ -992,20 +1007,20 @@ AICharacterDefaults_t aiDefaults[NUM_CHARACTERS] = {
0.0, // camper
16000, // alertness
100, // starting health
- 1.0, // hearing range
- 512, // relaxec detection radius
+ 1.0, // hearing scale
+ 512, // relaxed detection radius
1.0, // pain threshold multiplier
},
"civilianSightPlayer",
"civilianAttackPlayer",
"civilianOrders",
"civilianDeath",
- "civilianDeath", //----(SA) added
+ "civilianDeath", //----(SA) added
"civilianPain",
"civilianStay",
"civilianFollow",
"civilianOrdersDeny",
- AITEAM_NEUTRAL, //----(SA) changed affiliation for DK
+ AITEAM_NEUTRAL, //----(SA) changed affiliation for DK
"civilian/default",
{0},
BBOX_SMALL, {32,48},
@@ -1014,6 +1029,7 @@ AICharacterDefaults_t aiDefaults[NUM_CHARACTERS] = {
NULL,
AISTATE_RELAXED
},
+
//AICHAR_CHIMP
{
"Chimp",
@@ -1035,8 +1051,8 @@ AICharacterDefaults_t aiDefaults[NUM_CHARACTERS] = {
0.0, // camper
16000, // alertness
100, // starting health
- 1.0, // hearing range
- 512, // relaxec detection radius
+ 1.0, // hearing scale
+ 512, // relaxed detection radius
1.0, // pain threshold multiplier
},
"chimpSightPlayer",
@@ -1064,7 +1080,6 @@ AICharacterDefaults_t aiDefaults[NUM_CHARACTERS] = {
// Bounding boxes
static vec3_t bbmins[2] = {{-18, -18, -24},{-32,-32,-24}};
static vec3_t bbmaxs[2] = {{ 18, 18, 48},{ 32, 32, 68}};
-// TTimo unused
//static float crouchMaxZ[2] = {32,48}; // same as player, will head be ok?
//---------------------------------------------------------------------------
@@ -1139,8 +1154,6 @@ int AIChar_GetPainLocation( gentity_t *ent, vec3_t point ) {
orientation_t or;
// first make sure the client is able to retrieve tag information
- // TTimo gcc: warning: comparison is always false due to limited range of data type
- // initial line: if (trap_GetTag( ent->s.number, painTagNames[0], &or ) < 0)
if ( !trap_GetTag( ent->s.number, painTagNames[0], &or ) ) {
return 0;
}
@@ -1148,8 +1161,6 @@ int AIChar_GetPainLocation( gentity_t *ent, vec3_t point ) {
// find a correct animation to play, based on the body orientation at previous frame
for ( tagIndex = 0, bestDist = 0, bestTag = -1; painTagNames[tagIndex]; tagIndex++ ) {
// grab the tag with this name
- // TTimo gcc: warning: comparison is always true due to limited range of data type
- // initial line: if (trap_GetTag( ent->s.number, painTagNames[tagIndex], &or ) >= 0)
if ( trap_GetTag( ent->s.number, painTagNames[tagIndex], &or ) ) {
dist = VectorDistance( or.origin, point );
if ( !bestDist || dist < bestDist ) {
@@ -1439,6 +1450,7 @@ void AIChar_spawn( gentity_t *ent ) {
for ( i = 0; aiCharDefaults->weapons[i]; i++ ) {
//weaponInfo.startingWeapons[(aiCharDefaults->weapons[i] / 32)] |= ( 1 << aiCharDefaults->weapons[i] );
//weaponInfo.startingWeapons[0] |= ( 1 << aiCharDefaults->weapons[i] );
+
COM_BitSet( weaponInfo.startingWeapons, aiCharDefaults->weapons[i] );
if ( aiCharDefaults->weapons[i] == WP_GRENADE_LAUNCHER ) { // give them a bunch of grenades, but not an unlimited supply
weaponInfo.startingAmmo[BG_FindAmmoForWeapon( aiCharDefaults->weapons[i] )] = 6;
@@ -1639,18 +1651,14 @@ warrior zombie entity
/*
============
-SP_ai_zombie
+SP_ai_warzombie
============
*/
void SP_ai_warzombie( gentity_t *ent ) {
AICast_DelayedSpawnCast( ent, AICHAR_WARZOMBIE );
}
-
-
//----(SA) end
-
-
//----------------------------------------------------------------------------------------------------------------------------
/*QUAKED ai_femzombie (1 0.25 0) (-16 -16 -24) (16 16 64) TriggerSpawn NoRevive
zombie entity
@@ -1669,9 +1677,6 @@ void SP_ai_femzombie( gentity_t *ent ) {
AICast_DelayedSpawnCast( ent, AICHAR_FEMZOMBIE );
}
-
-
-
//----------------------------------------------------------------------------------------------------------------------------
/*QUAKED ai_undead (1 0.25 0) (-16 -16 -24) (16 16 64) TriggerSpawn NoRevive
undead entity
@@ -1957,7 +1962,6 @@ void SP_ai_protosoldier( gentity_t *ent ) {
AICast_DelayedSpawnCast( ent, AICHAR_PROTOSOLDIER );
}
-
//----------------------------------------------------------------------------------------------------------------------------
/*QUAKED ai_rejectxcreature (1 0.25 0) (-16 -16 -24) (16 16 64) TriggerSpawn NoRevive
Reject X creature
diff --git a/MP/code/game/ai_cast_debug.c b/MP/code/game/ai_cast_debug.c
index 961680d..3fdec37 100644
--- a/MP/code/game/ai_cast_debug.c
+++ b/MP/code/game/ai_cast_debug.c
@@ -114,7 +114,6 @@ AICast_DBG_RouteTable_f
*/
void AICast_DBG_RouteTable_f( vec3_t org, char *param ) {
static int srcarea = 0, dstarea = 0;
- // TTimo unused
// extern botlib_export_t botlib;
if ( !param || strlen( param ) < 1 ) {
@@ -150,7 +149,7 @@ AICast_DBG_Spawn_f
===============
*/
void AICast_DBG_Spawn_f( gclient_t *client, char *cmd ) {
- extern qboolean G_CallSpawn( gentity_t * ent );
+ extern qboolean G_CallSpawn( gentity_t *ent );
gentity_t *ent;
vec3_t dir;
diff --git a/MP/code/game/ai_cast_events.c b/MP/code/game/ai_cast_events.c
index f52606d..89067aa 100644
--- a/MP/code/game/ai_cast_events.c
+++ b/MP/code/game/ai_cast_events.c
@@ -213,19 +213,6 @@ void AICast_Die( gentity_t *self, gentity_t *inflictor, gentity_t *attacker, int
// RF, changed this so Zombies always gib now
GibEntity( self, killer );
nogib = qfalse;
-/*
- // Zombie has special exploding cloud effect
- if (attacker != inflictor || attacker->s.weapon == WP_VENOM)
- {
- GibEntity( self, killer );
- nogib = qfalse;
- } else {
- // Zombie will decompose upon dying
- self->client->ps.eFlags |= EF_MONSTER_EFFECT2;
- self->s.effect2Time = level.time+200;
- self->health = -1;
- }
-*/
self->takedamage = qfalse;
self->r.contents = 0;
cs->secondDeadTime = 2;
@@ -286,24 +273,6 @@ void AICast_Die( gentity_t *self, gentity_t *inflictor, gentity_t *attacker, int
// RF, changed this so Zombies always gib now
GibEntity( self, killer );
nogib = qfalse;
-/*
- // Zombie has special exploding cloud effect
- if (attacker != inflictor || attacker->s.weapon == WP_VENOM)
- {
- GibEntity( self, killer );
- nogib = qfalse;
- self->takedamage = qfalse;
- self->r.contents = 0;
- cs->secondDeadTime = 2;
- } else {
- self->client->ps.eFlags |= EF_MONSTER_EFFECT2;
- self->s.effect2Time = level.time+200;
- self->takedamage = qfalse;
- self->r.contents = 0;
- self->health = -1;
- cs->secondDeadTime = 2;
- }
-*/
} else if ( !( contents & CONTENTS_NODROP ) ) {
body_die( self, inflictor, attacker, damage, meansOfDeath );
//GibEntity( self, killer );
@@ -430,7 +399,6 @@ void AICast_AIDoor_Touch( gentity_t *ent, gentity_t *aidoor_trigger, gentity_t *
}
}
- // TTimo: assignment used as truth value
for ( trav = NULL; ( trav = G_Find( trav, FOFS( target ), aidoor_trigger->targetname ) ); ) {
// make sure the marker is vacant
trap_Trace( &tr, trav->r.currentOrigin, ent->r.mins, ent->r.maxs, trav->r.currentOrigin, ent->s.number, ent->clipmask );
diff --git a/MP/code/game/ai_cast_fight.c b/MP/code/game/ai_cast_fight.c
index 5595093..f110541 100644
--- a/MP/code/game/ai_cast_fight.c
+++ b/MP/code/game/ai_cast_fight.c
@@ -1265,7 +1265,7 @@ AICast_CombatMove
bot_moveresult_t AICast_CombatMove( cast_state_t *cs, int tfl ) {
bot_state_t *bs;
float dist;
- vec3_t forward; //, up = {0, 0, 1};
+ vec3_t forward;
bot_moveresult_t moveresult;
bot_goal_t goal;
@@ -1273,7 +1273,6 @@ bot_moveresult_t AICast_CombatMove( cast_state_t *cs, int tfl ) {
//get the enemy entity info
memset( &moveresult, 0, sizeof( bot_moveresult_t ) );
-
//initialize the movement state
BotSetupForMovement( bs );
//direction towards the enemy
@@ -1468,30 +1467,6 @@ qboolean AICast_AimAtEnemy( cast_state_t *cs ) {
bestorigin[2] += 16;
}
}
- //
- // adjust accuracy with distance if upclose, so we don't start firing the wrong direction
-/*
- scale = 1;
- switch (cs->bs->weaponnum) {
- // these weapons don't do random offsetting
- case WP_FLAMETHROWER:
- break;
- default:
- {
- float scale;
-
- if (dist < 256)
- scale *= (dist / 256);
- else
- scale *= 1.0;
-
- bestorigin[0] += scale * 96 * sin((float)level.time/(200.0 + (40.0*((cs->entityNum+3)%4)))) * (1 - aim_accuracy);
- bestorigin[1] += scale * 96 * cos((float)level.time/(220.0 + (36.0*((cs->entityNum+1)%5)))) * (1 - aim_accuracy);
- bestorigin[2] += scale * 48 * sin((float)level.time/(210.0 + (32.0*((cs->entityNum+2)%6)))) * (1 - aim_accuracy);
- }
- break;
- }
-*/
// if the enemy is moving, they are harder to hit
if ( dist > 256 ) {
VectorMA( bestorigin, ( 0.3 + 0.7 * ( 1 - aim_accuracy ) ) * 0.4 * sin( (float)level.time / ( 500.0 + ( 100.0 * ( ( cs->entityNum + 3 ) % 4 ) ) ) ), g_entities[bs->enemy].client->ps.velocity, bestorigin );
@@ -1515,7 +1490,7 @@ qboolean AICast_CanMoveWhileFiringWeapon( int weaponnum ) {
case WP_GARAND:
case WP_SNIPERRIFLE: //----(SA) added
case WP_SNOOPERSCOPE: //----(SA) added
- case WP_FG42SCOPE: //----(SA) added
+ case WP_FG42SCOPE: //----(SA) added
case WP_PANZERFAUST:
case WP_ROCKET_LAUNCHER:
return qfalse;
@@ -1732,13 +1707,6 @@ void AICast_RecordWeaponFire( gentity_t *ent ) {
range = AICast_GetWeaponSoundRange( cs->lastWeaponFiredWeaponNum );
AICast_AudibleEvent( cs->entityNum, cs->lastWeaponFiredPos, range );
- //AICast_SightSoundEvent( cs, range );
- /*
- if (!cs->sightSoundTime || cs->sightSoundRange < range) {
- cs->sightSoundRange = range;
- cs->sightSoundTime = level.time;
- }
- */
if ( cs->bs ) { // real player's don't need to play AI sounds
AIChar_AttackSound( cs );
@@ -1926,9 +1894,9 @@ int AICast_SafeMissileFire( gentity_t *ent, int duration, int enemyNum, vec3_t e
rval = ( Distance( org, enemyPos ) < ent->splashRadius ) && AICast_VisibleFromPos( org, ent->s.number, enemyPos, enemyNum, qfalse );
if ( rval ) {
// don't hurt ourselves
- // disabled, don't worry about us, we can get out the way in time (we hope!)
- //if (Distance( org, g_entities[selfNum].r.currentOrigin ) < ent->splashRadius*1.5)
- // return -1;
+// if ( Distance( org, g_entities[selfNum].r.currentOrigin ) < ent->splashRadius * 1.5 ) {
+// return -1;
+// }
// make sure we don't injure a friendly
for ( trav = g_entities; trav < g_entities + g_maxclients.integer; trav++ ) {
if ( !trav->inuse ) {
@@ -2181,8 +2149,6 @@ void AICast_AudibleEvent( int srcnum, vec3_t pos, float range ) {
if ( !cs->bs ) {
continue;
}
- //if (cs->aiState >= AISTATE_COMBAT)
- // continue;
if ( ent == sent ) {
continue;
}
diff --git a/MP/code/game/ai_cast_func_attack.c b/MP/code/game/ai_cast_func_attack.c
index 3088076..44f0ede 100644
--- a/MP/code/game/ai_cast_func_attack.c
+++ b/MP/code/game/ai_cast_func_attack.c
@@ -82,7 +82,6 @@ char *AIFunc_ZombieFlameAttack( cast_state_t *cs ) {
ent->client->ps.legsTimer = 0;
return AIFunc_DefaultStart( cs );
}
-
// if outside range, move closer
if ( VectorDistance( cs->bs->origin, cs->vislist[cs->bs->enemy].visible_pos ) > ZOMBIE_FLAME_RADIUS ) {
ent->s.onFireEnd = level.time + 1500;
@@ -101,9 +100,7 @@ char *AIFunc_ZombieFlameAttack( cast_state_t *cs ) {
return AIFunc_DefaultStart( cs );
} else {
-
ent->client->ps.torsoTimer = 400;
- //ent->client->ps.legsTimer = 400;
// draw the client-side effect
ent->client->ps.eFlags |= EF_MONSTER_EFFECT3;
@@ -114,8 +111,7 @@ char *AIFunc_ZombieFlameAttack( cast_state_t *cs ) {
// look slightly downwards since animation is facing upwards slightly
cs->bs->ideal_viewangles[PITCH] += 10;
}
- //
- //
+
return NULL;
}
@@ -128,7 +124,7 @@ char *AIFunc_ZombieFlameAttackStart( cast_state_t *cs ) {
//
// dont turn
cs->bs->ideal_viewangles[YAW] = cs->bs->viewangles[YAW];
- cs->bs->ideal_viewangles[PITCH] = -45; // look upwards
+ cs->bs->ideal_viewangles[PITCH] = -45; // look upwards
// start the flame
ent->s.onFireStart = level.time;
ent->s.onFireEnd = level.time + ZOMBIE_FLAME_DURATION;
@@ -174,16 +170,15 @@ char *AIFunc_ZombieAttack2( cast_state_t *cs ) {
//
ent = &g_entities[cs->entityNum];
//
- lastZombieSpiritAttack = level.time;
- //
if ( cs->bs->enemy < 0 ) {
return AIFunc_DefaultStart( cs );
}
- //
// if we can't see them anymore, abort immediately
if ( cs->vislist[cs->bs->enemy].real_visible_timestamp != cs->vislist[cs->bs->enemy].real_update_timestamp ) {
return AIFunc_DefaultStart( cs );
}
+ //
+ lastZombieSpiritAttack = level.time;
// we are firing this weapon, so record it
cs->weaponFireTimes[WP_MONSTER_ATTACK2] = level.time;
// once an attack has started, only abort once the player leaves our view, or time runs out
@@ -193,11 +188,6 @@ char *AIFunc_ZombieAttack2( cast_state_t *cs ) {
return AIFunc_DefaultStart( cs );
}
} else {
-
- // set torso to the correct animation
- // TODO
- //ent->client->ps.torsoTimer = 300; // leave enough time to cancel if we stop coming in here, but stay in the anim if we come back next thing
-
// draw the client-side effect
ent->client->ps.eFlags |= EF_MONSTER_EFFECT;
@@ -205,8 +195,7 @@ char *AIFunc_ZombieAttack2( cast_state_t *cs ) {
VectorCopy( g_entities[cs->bs->enemy].client->ps.origin, ent->s.origin2 );
ent->s.origin2[2] += g_entities[cs->bs->enemy].client->ps.viewheight;
}
- //
- //
+
return NULL;
}
@@ -281,7 +270,6 @@ char *AIFunc_LoperAttack1( cast_state_t *cs ) {
// ready to inflict damage?
if ( cs->thinkFuncChangeTime < level.time - LOPER_MELEE_DAMAGE_DELAY ) {
// check for damage
- // TTimo: assignment used as truth value
if ( ( tr = CheckMeleeAttack( &g_entities[cs->entityNum], LOPER_MELEE_RANGE, qfalse ) ) ) {
G_Damage( &g_entities[tr->entityNum], ent, ent, vec3_origin, tr->endpos,
LOPER_MELEE_DAMAGE, 0, MOD_LOPER_HIT );
@@ -373,8 +361,6 @@ char *AIFunc_LoperAttack2( cast_state_t *cs ) {
// LOPER_LEAP_DAMAGE, 0, MOD_LOPER_LEAP );
G_Sound( &g_entities[cs->entityNum], level.loperZapSound );
//cs->weaponFireTimes[WP_MONSTER_ATTACK2] = level.time;
- // TODO: client-side visual effect
- // TODO: throw them backwards (away from us)
}
}
}
@@ -701,7 +687,6 @@ char *AIFunc_StimSoldierAttack2( cast_state_t *cs ) {
}
char *AIFunc_StimSoldierAttack2Start( cast_state_t *cs ) {
- //
cs->weaponFireTimes[cs->bs->weaponnum] = level.time;
//
// face them
@@ -724,9 +709,8 @@ char *AIFunc_BlackGuardAttack1( cast_state_t *cs ) {
}
char *AIFunc_BlackGuardAttack1Start( cast_state_t *cs ) {
-
+ //
cs->weaponFireTimes[cs->bs->weaponnum] = level.time;
-
#if 1
// TODO!
G_Printf( "TODO: black guard kick attack\n" );
diff --git a/MP/code/game/ai_cast_funcs.c b/MP/code/game/ai_cast_funcs.c
index bb666e3..c818f4c 100644
--- a/MP/code/game/ai_cast_funcs.c
+++ b/MP/code/game/ai_cast_funcs.c
@@ -252,10 +252,10 @@ bot_moveresult_t *AICast_MoveToPos( cast_state_t *cs, vec3_t pos, int entnum ) {
// this must go last so we face the direction we avoid move
AICast_Blocked( cs, &lmoveresult, qfalse, &goal );
-//G_Printf("MoveToPos: %i ms\n", -pretime + Sys_MilliSeconds() );
+// G_Printf("MoveToPos: %i ms\n", -pretime + Sys_MilliSeconds() );
-// debug, print movement info
- if ( 0 ) { // (SA) added to hide the print
+ // debug, print movement info
+ if ( 0 ) { // (SA) added to hide the print
bot_input_t bi;
trap_EA_GetInput( cs->bs->client, (float) level.time / 1000, &bi );
@@ -349,7 +349,7 @@ char *AIFunc_Idle( cast_state_t *cs ) {
return NULL;
} else if ( numEnemies == -2 ) { // inspection may be required
char *retval;
- // TTimo gcc: suggest parentheses around assignment used as truth value
+
if ( ( retval = AIFunc_InspectFriendlyStart( cs, enemies[0] ) ) ) {
return retval;
}
@@ -1300,7 +1300,7 @@ char *AIFunc_ChaseGoalIdle( cast_state_t *cs ) {
return NULL;
} else if ( numEnemies == -2 ) { // inspection may be required
char *retval;
- // TTimo gcc: suggest parentheses around assignment used as truth value
+
if ( ( retval = AIFunc_InspectFriendlyStart( cs, enemies[0] ) ) ) {
return retval;
}
@@ -1489,7 +1489,6 @@ char *AIFunc_ChaseGoal( cast_state_t *cs ) {
if ( simTest ) {
// try walking straight to them
VectorSubtract( followent->r.currentOrigin, cs->bs->origin, dir );
- VectorNormalize( dir );
if ( !ent->waterlevel ) {
dir[2] = 0;
}
@@ -1540,7 +1539,7 @@ char *AIFunc_ChaseGoal( cast_state_t *cs ) {
return NULL;
} else if ( numEnemies == -2 ) { // inspection may be required
char *retval;
- // TTimo gcc: suggest parentheses around assignment used as truth value
+
if ( ( retval = AIFunc_InspectFriendlyStart( cs, enemies[0] ) ) ) {
return retval;
}
@@ -1654,6 +1653,7 @@ char *AIFunc_DoorMarker( cast_state_t *cs ) {
}
// go to it
+ //
moveresult = AICast_MoveToPos( cs, followent->r.currentOrigin, followent->s.number );
// if we cant get there, forget it
if ( moveresult && moveresult->failure ) {
@@ -1743,8 +1743,7 @@ AIFunc_BattleRollStart()
*/
char *AIFunc_BattleRollStart( cast_state_t *cs, vec3_t vec ) {
int duration;
- // TTimo unused
- //gclient_t *client = &level.clients[cs->entityNum];
+// gclient_t *client = &level.clients[cs->entityNum];
//
// backup the current thinkfunc, so we can return to it when done
cs->oldAifunc = cs->aifunc;
@@ -1784,8 +1783,7 @@ AIFunc_BattleDiveStart()
*/
char *AIFunc_BattleDiveStart( cast_state_t *cs, vec3_t vec ) {
int duration;
- // TTimo unused
- //gclient_t *client = &level.clients[cs->entityNum];
+// gclient_t *client = &level.clients[cs->entityNum];
//
// backup the current thinkfunc, so we can return to it when done
cs->oldAifunc = cs->aifunc;
@@ -1849,8 +1847,7 @@ AIFunc_FlipMoveStart()
*/
char *AIFunc_FlipMoveStart( cast_state_t *cs, vec3_t vec ) {
int duration;
- // TTimo unused
- //gclient_t *client = &level.clients[cs->entityNum];
+// gclient_t *client = &level.clients[cs->entityNum];
//
// backup the current thinkfunc, so we can return to it when done
cs->oldAifunc = cs->aifunc;
@@ -1887,12 +1884,9 @@ char *AIFunc_BattleHunt( cast_state_t *cs ) {
bot_state_t *bs;
vec3_t destorg;
qboolean moved = qfalse;
- // TTimo unused
- //gclient_t *client = &level.clients[cs->entityNum];
char *rval;
- // TTimo might be used uninitialized
float dist = 0;
- int i;
+ int i;
//
// do we need to avoid a danger?
@@ -1939,11 +1933,11 @@ char *AIFunc_BattleHunt( cast_state_t *cs ) {
//
// if we can see them, go back to an attack state
AICast_ChooseWeapon( cs, qtrue ); // enable special weapons, if we cant get them, change back
- if ( AICast_EntityVisible( cs, bs->enemy, qtrue ) // take into account reaction time
+ if ( AICast_EntityVisible( cs, bs->enemy, qtrue ) // take into account reaction time
&& AICast_CheckAttack( cs, bs->enemy, qfalse )
&& cs->obstructingTime < level.time ) {
if ( AICast_StopAndAttack( cs ) ) {
- // TTimo gcc: suggest parentheses around assignment used as truth value
+
if ( ( rval = AIFunc_BattleStart( cs ) ) ) {
return rval;
}
@@ -1963,7 +1957,7 @@ char *AIFunc_BattleHunt( cast_state_t *cs ) {
} else if ( numEnemies == -2 ) { // inspection may be required
char *retval;
if ( cs->aiState < AISTATE_COMBAT ) {
- // TTimo gcc: suggest parentheses around assignment used as truth value
+
if ( ( retval = AIFunc_InspectFriendlyStart( cs, enemies[0] ) ) ) {
return retval;
}
@@ -2098,8 +2092,7 @@ char *AIFunc_BattleAmbush( cast_state_t *cs ) {
qboolean shouldAttack, idleYaw;
aicast_predictmove_t move;
vec3_t dir;
- // TTimo unused
- //gclient_t *client = &level.clients[cs->entityNum];
+// gclient_t *client = &level.clients[cs->entityNum];
//
// do we need to avoid a danger?
if ( cs->dangerEntityValidTime >= level.time ) {
@@ -2150,6 +2143,8 @@ char *AIFunc_BattleAmbush( cast_state_t *cs ) {
// if we are out of ammo, we shouldn't bother trying to attack (and we should keep hiding)
shouldAttack = qfalse;
numEnemies = AICast_ScanForEnemies( cs, enemies );
+
+ // we shouldnt be interrupted from BattleAmbush mode, so try to handle these without interference
if ( numEnemies == -1 ) { // query mode
return NULL;
} else if ( numEnemies == -2 ) { // inspection may be required
@@ -3457,7 +3452,7 @@ char *AIFunc_GrenadeFlush( cast_state_t *cs ) {
if ( AICast_CheckAttack( cs, bs->enemy, qfalse )
&& cs->obstructingTime < level.time ) { // give us some time to throw the grenade, otherwise go back to attack state
if ( ( cs->grenadeFlushEndTime > 0 && cs->grenadeFlushEndTime < level.time ) ) {
- //G_Printf("aborting, enemy is attackable\n");
+// G_Printf( "aborting, enemy is attackable\n" );
return AIFunc_BattleStart( cs );
} else if ( cs->grenadeFlushEndTime < 0 ) {
cs->grenadeFlushEndTime = level.time + 1500;
@@ -3485,7 +3480,7 @@ char *AIFunc_GrenadeFlush( cast_state_t *cs ) {
return NULL;
} else if ( numEnemies == -2 ) { // inspection may be required
char *retval;
- // TTimo gcc: suggest parentheses around assignment used as truth value
+
if ( ( retval = AIFunc_InspectFriendlyStart( cs, enemies[0] ) ) ) {
return retval;
}
@@ -3711,7 +3706,7 @@ char *AIFunc_BattleMG42( cast_state_t *cs ) {
}
if ( numEnemies == -2 ) { // inspection may be required
char *retval;
- // TTimo gcc: suggest parentheses around assignment used as truth value
+
if ( ( retval = AIFunc_InspectFriendlyStart( cs, enemies[0] ) ) ) {
return retval;
}
@@ -3841,7 +3836,7 @@ char *AIFunc_InspectBody( cast_state_t *cs ) {
return NULL;
} else if ( numEnemies == -2 ) { // inspection may be required
char *retval;
- // TTimo gcc: suggest parentheses around assignment used as truth value
+
if ( ( retval = AIFunc_InspectFriendlyStart( cs, enemies[0] ) ) ) {
return retval;
}
@@ -3968,7 +3963,6 @@ char *AIFunc_GrenadeKick( cast_state_t *cs ) {
int weapon;
// !!! NOTE: the only way control should pass out of here, is by calling AIFunc_DefaultStart()
-
ent = &g_entities[cs->entityNum];
danger = &g_entities[cs->dangerEntity];
@@ -4177,7 +4171,7 @@ char *AIFunc_GrenadeKick( cast_state_t *cs ) {
}
if ( numEnemies == -2 ) { // inspection may be required
char *retval;
- // TTimo gcc: suggest parentheses around assignment used as truth value
+
if ( ( retval = AIFunc_InspectFriendlyStart( cs, enemies[0] ) ) ) {
return retval;
}
@@ -4265,41 +4259,8 @@ AIFunc_GrenadeKickStart()
*/
char *AIFunc_GrenadeKickStart( cast_state_t *cs ) {
gentity_t *danger;
- //gentity_t *trav;
- //int numFriends, i;
-
- //G_Printf( "Excuse me, you dropped something\n" );
danger = &g_entities[cs->dangerEntity];
- // should we dive onto the grenade?
- /*
- if (danger->s.pos.trDelta[2] < 30) {
- // count the number of friends near us
- numFriends = 0;
- for (i=0, trav=g_entities; i<aicast_maxclients; i++, trav++) {
- if (!trav->inuse)
- continue;
- if (trav->aiInactive)
- continue;
- if (trav->health <= 0)
- continue;
- if (!AICast_SameTeam( cs, i ))
- continue;
- if (VectorDistance( cs->takeCoverPos, trav->r.currentOrigin ) > 200)
- continue;
- numFriends++;
- }
- // if there are enough friends around, and we have a clear path to the position, sacrifice ourself!
- if (numFriends > 2) {
- trace_t tr;
- trap_Trace( &tr, cs->bs->origin, ent->r.mins, ent->r.maxs, cs->takeCoverPos, cs->entityNum, MASK_SOLID );
- if (tr.fraction == 1.0 && !tr.startsolid) {
- return AIFunc_GrenadeDiveStart( cs );
- }
- }
- }
- */
- //
// we have decided to kick or throw the grenade away
cs->grenadeKickWeapon = danger->s.weapon;
cs->grenadeFlushFiring = qfalse;
diff --git a/MP/code/game/ai_cast_script.c b/MP/code/game/ai_cast_script.c
index aac0f91..4f2675b 100644
--- a/MP/code/game/ai_cast_script.c
+++ b/MP/code/game/ai_cast_script.c
@@ -67,9 +67,9 @@ qboolean AICast_ScriptAction_Attack( cast_state_t *cs, char *params );
qboolean AICast_ScriptAction_PlayAnim( cast_state_t *cs, char *params );
qboolean AICast_ScriptAction_ClearAnim( cast_state_t *cs, char *params );
qboolean AICast_ScriptAction_SetAmmo( cast_state_t *cs, char *params );
-qboolean AICast_ScriptAction_SetClip( cast_state_t *cs, char *params ); //----(SA) added
+qboolean AICast_ScriptAction_SetClip( cast_state_t *cs, char *params ); //----(SA) added
qboolean AICast_ScriptAction_SelectWeapon( cast_state_t *cs, char *params );
-qboolean AICast_ScriptAction_GiveArmor( cast_state_t *cs, char *params ); //----(SA) added
+qboolean AICast_ScriptAction_GiveArmor( cast_state_t *cs, char *params ); //----(SA) added
qboolean AICast_ScriptAction_GiveWeapon( cast_state_t *cs, char *params );
qboolean AICast_ScriptAction_GiveInventory( cast_state_t *cs, char *params );
qboolean AICast_ScriptAction_TakeWeapon( cast_state_t *cs, char *params );
@@ -105,8 +105,8 @@ qboolean AICast_ScriptAction_StateType( cast_state_t *cs, char *params );
qboolean AICast_ScriptAction_KnockBack( cast_state_t *cs, char *params );
qboolean AICast_ScriptAction_Zoom( cast_state_t *cs, char *params );
qboolean AICast_ScriptAction_Parachute( cast_state_t *cs, char *params );
-qboolean AICast_ScriptAction_StartCam( cast_state_t *cs, char *params ); //----(SA) added
-qboolean AICast_ScriptAction_StartCamBlack( cast_state_t *cs, char *params ); //----(SA) added
+qboolean AICast_ScriptAction_StartCam( cast_state_t *cs, char *params ); //----(SA) added
+qboolean AICast_ScriptAction_StartCamBlack( cast_state_t *cs, char *params ); //----(SA) added
qboolean AICast_ScriptAction_EntityScriptName( cast_state_t *cs, char *params );
qboolean AICast_ScriptAction_AIScriptName( cast_state_t *cs, char *params );
qboolean AICast_ScriptAction_SetHealth( cast_state_t *cs, char *params );
@@ -131,11 +131,11 @@ cast_script_stack_action_t scriptActions[] =
{"wait", AICast_ScriptAction_Wait},
{"trigger", AICast_ScriptAction_Trigger},
{"setammo", AICast_ScriptAction_SetAmmo},
- {"setclip", AICast_ScriptAction_SetClip}, //----(SA) added
+ {"setclip", AICast_ScriptAction_SetClip}, //----(SA) added
{"selectweapon", AICast_ScriptAction_SelectWeapon},
{"noattack", AICast_ScriptAction_NoAttack},
{"attack", AICast_ScriptAction_Attack},
- {"givearmor", AICast_ScriptAction_GiveArmor}, //----(SA) added
+ {"givearmor", AICast_ScriptAction_GiveArmor}, //----(SA) added
{"giveinventory", AICast_ScriptAction_GiveInventory},
{"giveweapon", AICast_ScriptAction_GiveWeapon},
{"takeweapon", AICast_ScriptAction_TakeWeapon},
@@ -172,8 +172,8 @@ cast_script_stack_action_t scriptActions[] =
{"knockback", AICast_ScriptAction_KnockBack},
{"zoom", AICast_ScriptAction_Zoom},
{"parachute", AICast_ScriptAction_Parachute},
- {"startcam", AICast_ScriptAction_StartCam}, //----(SA) added
- {"startcamblack", AICast_ScriptAction_StartCamBlack}, //----(SA) added
+ {"startcam", AICast_ScriptAction_StartCam}, //----(SA) added
+ {"startcamblack", AICast_ScriptAction_StartCamBlack}, //----(SA) added
{"entityscriptname",AICast_ScriptAction_EntityScriptName},
{"aiscriptname", AICast_ScriptAction_AIScriptName},
{"sethealth", AICast_ScriptAction_SetHealth},
@@ -196,7 +196,7 @@ cast_script_event_define_t scriptEvents[] =
{"enemydead", AICast_EventMatch_StringEqual}, // our enemy is now dead
{"trigger", AICast_EventMatch_StringEqual}, // something has triggered us (always followed by an identifier)
{"pain", AICast_EventMatch_IntInRange}, // we've been hurt
- {"death", 0}, // RIP
+ {"death", 0}, // RIP
{"activate", AICast_EventMatch_StringEqual}, // "param" has just activated us
{"enemysightcorpse",AICast_EventMatch_StringEqual}, // sighted the given enemy as a corpse, for the first time
{"friendlysightcorpse", 0}, // sighted a friendly as a corpse for the first time
@@ -512,7 +512,7 @@ void AICast_ScriptParse( cast_state_t *cs ) {
numEventItems++;
} else // skip this character completely
{
- // TTimo gcc: suggest parentheses around assignment used as truth value
+
while ( ( token = COM_Parse( &pScript ) ) )
{
if ( !token[0] ) {
diff --git a/MP/code/game/ai_cast_script_actions.c b/MP/code/game/ai_cast_script_actions.c
index 2afc6b2..f6eca45 100644
--- a/MP/code/game/ai_cast_script_actions.c
+++ b/MP/code/game/ai_cast_script_actions.c
@@ -179,7 +179,7 @@ qboolean AICast_ScriptAction_GotoMarker( cast_state_t *cs, char *params ) {
}
// find the ai_marker with the given "targetname"
- // TTimo gcc: suggest parentheses around assignment used as truth value
+
while ( ( ent = G_Find( ent, FOFS( classname ), "ai_marker" ) ) )
{
if ( ent->targetname && !Q_strcasecmp( ent->targetname, token ) ) {
@@ -489,7 +489,7 @@ qboolean AICast_ScriptAction_Wait( cast_state_t *cs, char *params ) {
&& ( cs->bs->enemy >= 0 ) ) {
// if we can attack them, or they can't attack us, stay here
- // TTimo gcc: suggest parentheses around && within ||
+
if ( AICast_CheckAttack( cs, cs->bs->enemy, qfalse )
|| ( !AICast_EntityVisible( AICast_GetCastState( cs->bs->enemy ), cs->entityNum, qfalse )
&& !AICast_CheckAttack( AICast_GetCastState( cs->bs->enemy ), cs->entityNum, qfalse ) ) ) {
@@ -887,11 +887,8 @@ qboolean AICast_ScriptAction_SetAmmo( cast_state_t *cs, char *params ) {
//----(SA) end
} else {
-
// G_Printf( "--SCRIPTER WARNING-- AI Scripting: setammo: unknown ammo \"%s\"", params );
return qfalse; // (SA) temp as scripts transition to new names
-// G_Error( "AI Scripting: setammo: unknown ammo \"%s\"", params );
-
}
return qtrue;
@@ -954,7 +951,6 @@ qboolean AICast_ScriptAction_SetClip( cast_state_t *cs, char *params ) {
} else {
// G_Printf( "--SCRIPTER WARNING-- AI Scripting: setclip: unknown weapon \"%s\"", params );
return qfalse; // (SA) temp as scripts transition to new names
-// G_Error( "AI Scripting: setclip: unknown weapon \"%s\"", params );
}
return qtrue;
@@ -998,11 +994,10 @@ qboolean AICast_ScriptAction_SelectWeapon( cast_state_t *cs, char *params ) {
if ( !cs->aiCharacter ) { // only do this for player
g_entities[cs->entityNum].client->ps.weaponTime = 500; // (SA) HACK: FIXME: TODO: delay to catch initial weapon reload
-
}
} else {
// G_Printf( "--SCRIPTER WARNING-- AI Scripting: selectweapon: unknown weapon \"%s\"", params );
- return qfalse; // (SA) temp as scripts transition to new names
+ return qfalse; // (SA) temp as scripts transition to new names
// G_Error( "AI Scripting: selectweapon: unknown weapon \"%s\"", params );
}
@@ -1024,8 +1019,6 @@ AICast_ScriptAction_GiveArmor
*/
qboolean AICast_ScriptAction_GiveArmor( cast_state_t *cs, char *params ) {
int i;
- // TTimo unused
-// gentity_t *ent=&g_entities[cs->entityNum];
gitem_t *item = 0;
for ( i = 1; bg_itemlist[i].classname; i++ ) {
@@ -1203,8 +1196,6 @@ AICast_ScriptAction_GiveInventory
*/
qboolean AICast_ScriptAction_GiveInventory( cast_state_t *cs, char *params ) {
int i;
- // TTimo unused
-// gentity_t *ent=&g_entities[cs->entityNum];
gitem_t *item = 0;
for ( i = 1; bg_itemlist[i].classname; i++ ) {
@@ -1269,6 +1260,8 @@ qboolean AICast_ScriptAction_Movetype( cast_state_t *cs, char *params ) {
return qtrue;
}
+
+
/*
=================
AICast_ScriptAction_AlertEntity
@@ -1321,7 +1314,7 @@ AICast_ScriptAction_SaveGame
=================
*/
qboolean AICast_ScriptAction_SaveGame( cast_state_t *cs, char *params ) {
- char *pString;
+ char *pString; //, *saveName;
pString = params;
if ( cs->bs ) {
@@ -1330,10 +1323,11 @@ qboolean AICast_ScriptAction_SaveGame( cast_state_t *cs, char *params ) {
//----(SA) check for parameter
COM_ParseExt( &pString, qfalse );
-// if (!saveName[0])
+// if ( !saveName[0] ) {
// G_SaveGame( NULL ); // save the default "current" savegame
-// else
+// } else {
// G_SaveGame( saveName );
+// }
//----(SA) end
return qtrue;
@@ -1960,9 +1954,9 @@ qboolean AICast_ScriptAction_ChangeLevel( cast_state_t *cs, char *params ) {
trap_Cvar_Set( "g_missionStats", cmd );
}
- // save persistant data if required
+ // save persistent data if required
newstr = va( "%s", params );
- pch = strstr( newstr, " persistant" );
+ pch = strstr( newstr, " persistent" );
if ( pch ) {
pch = strstr( newstr, " " );
*pch = '\0';
@@ -2290,8 +2284,6 @@ qboolean AICast_ScriptAction_StartCam( cast_state_t *cs, char *params ) {
qboolean AICast_ScriptAction_StartCamBlack( cast_state_t *cs, char *params ) {
return ScriptStartCam( cs, params, qtrue );
}
-
-
//----(SA) end
/*
diff --git a/MP/code/game/ai_cast_sight.c b/MP/code/game/ai_cast_sight.c
index bc0d68d..319330b 100644
--- a/MP/code/game/ai_cast_sight.c
+++ b/MP/code/game/ai_cast_sight.c
@@ -229,13 +229,12 @@ qboolean AICast_CheckVisibility( gentity_t *srcent, gentity_t *destent ) {
if ( destent->flags & FL_NOTARGET ) {
return qfalse;
}
-
+ //
viewer = srcent->s.number;
ent = destent->s.number;
//
cs = AICast_GetCastState( viewer );
AICast_GetCastState( ent );
-
// set the FOV
fov = cs->attributes[FOV] * aiStateFovScales[cs->aiState];
if ( !fov ) { // assume it's a player, give them a generic fov
@@ -552,8 +551,6 @@ void AICast_SightUpdate( int numchecks ) {
int src = 0, dest = 0;
gentity_t *srcent, *destent;
cast_state_t *cs;
- // TTimo unused
-// static int lastNumUpdated;
cast_visibility_t *vis;
if ( numchecks < 5 ) {
@@ -704,14 +701,16 @@ void AICast_SightUpdate( int numchecks ) {
continue;
}
}
+
if ( vis->lastcheck_timestamp == level.time ) {
continue; // already checked this frame
-
}
+
if ( vis->lastcheck_timestamp > level.time ) {
continue; // let the loadgame settle down
}
+
// if they are friends, only check very infrequently
if ( AICast_SameTeam( cs, destent->s.number ) && ( vis->lastcheck_timestamp == vis->visible_timestamp )
&& ( destent->health == vis->lastcheck_health ) ) {
diff --git a/MP/code/game/ai_cast_think.c b/MP/code/game/ai_cast_think.c
index 964128c..68c3c09 100644
--- a/MP/code/game/ai_cast_think.c
+++ b/MP/code/game/ai_cast_think.c
@@ -102,7 +102,7 @@ void AICast_ChangeViewAngles( cast_state_t *cs, float thinktime ) {
bs = cs->bs;
//
- // restoire locked viewangles if required
+ // restore locked viewangles if required
if ( cs->aiFlags & AIFL_VIEWLOCKED ) {
VectorCopy( cs->viewlock_viewangles, bs->ideal_viewangles );
}
@@ -701,7 +701,7 @@ void AICast_Think( int client, float thinktime ) {
trap_EA_Crouch( cs->entityNum );
break;
default:
- break; // TTimo gcc: MS_DEFAULT MS_RUN not handled in switch
+ break;
}
}
//
@@ -772,14 +772,14 @@ void AICast_StartFrame( int time ) {
//G_Printf( "AI startframe: %i\n", time );
if ( elapsed < 0 ) {
- // elapsed = 0;
+// elapsed = 0;
lasttime = time;
}
// don't let the framerate drop below 10
- //if ( elapsed > 100 ) {
- // elapsed = 100;
- //}
- //AICast_SightUpdate( (int)((float)SIGHT_PER_SEC * ((float)elapsed / 1000)) );
+// if ( elapsed > 100 ) {
+// elapsed = 100;
+// }
+// AICast_SightUpdate( (int)((float)SIGHT_PER_SEC * ((float)elapsed / 1000)) );
//
count = 0;
castcount = 0;
@@ -787,8 +787,6 @@ void AICast_StartFrame( int time ) {
ent = g_entities;
//
//update the AI characters
- // TTimo gcc: left-hand operand of comma expression has no effect
- // initial line was: for (i = 0; i < aicast_maxclients, clCount < level.numPlayingClients; i++, ent++)
for ( i = 0; ( i < aicast_maxclients ) && ( clCount < level.numPlayingClients ) ; i++, ent++ )
{
if ( ent->client ) {
@@ -851,7 +849,7 @@ void AICast_StartServerFrame( int time ) {
static vmCvar_t aicast_disable;
gentity_t *ent;
cast_state_t *pcs;
-// int oldLegsTimer;
+// int oldLegsTimer;
if ( trap_Cvar_VariableIntegerValue( "savegame_loading" ) ) {
return;
@@ -898,7 +896,7 @@ void AICast_StartServerFrame( int time ) {
pcs = AICast_GetCastState( 0 );
-//G_Printf( "AI startserverframe: %i\n", time );
+// G_Printf( "AI startserverframe: %i\n", time );
if ( elapsed < 0 ) {
elapsed = 0;
@@ -919,8 +917,6 @@ void AICast_StartServerFrame( int time ) {
ent = g_entities;
//
//update the AI characters
- // TTimo gcc: left-hand operand of comma expression has no effect
- // initial line: for (i = 0; i < aicast_maxclients, clCount < level.numPlayingClients; i++, ent++)
for ( i = 0; ( i < aicast_maxclients ) && ( clCount < level.numPlayingClients ) ; i++, ent++ )
{
if ( ent->client ) {
@@ -989,8 +985,8 @@ void AICast_PredictMovement( cast_state_t *cs, int numframes, float frametime, a
vec3_t end, startHitVec, thisHitVec, lastOrg, projPoint;
qboolean checkReachMarker;
-//int pretime = Sys_MilliSeconds();
-//G_Printf("PredictMovement: %f duration, %i frames\n", frametime, numframes );
+// int pretime = Sys_MilliSeconds();
+// G_Printf("PredictMovement: %f duration, %i frames\n", frametime, numframes );
VectorCopy( vec3_origin, startHitVec );
if ( cs->bs ) {
@@ -1113,9 +1109,7 @@ qboolean AICast_GetAvoid( cast_state_t *cs, bot_goal_t *goal, vec3_t outpos, qbo
usercmd_t ucmd;
qboolean enemyVisible;
float angleDiff;
- // TTimo might be used uninitialized
- int starttraveltime = 0;
- int traveltime;
+ int starttraveltime = 0, traveltime;
int invert;
float inc;
qboolean averting = qfalse;
diff --git a/SP/code/game/ai_cast.c b/SP/code/game/ai_cast.c
index e994ada..e0fc48a 100644
--- a/SP/code/game/ai_cast.c
+++ b/SP/code/game/ai_cast.c
@@ -119,7 +119,7 @@ void AICast_Printf( int type, const char *fmt, ... ) {
va_list ap;
va_start( ap, fmt );
- Q_vsnprintf (str, sizeof(str), fmt, ap);
+ Q_vsnprintf( str, sizeof( str ), fmt, ap );
va_end( ap );
switch ( type ) {
@@ -506,9 +506,9 @@ void AICast_Init( void ) {
/* RF, this is useless, since the AAS hasnt been loaded yet
// try and load in the AAS now, so we can interact with it during spawning of entities
i = 0;
- trap_AAS_SetCurrentWorld(0);
- while (!trap_AAS_Initialized() && (i++ < 10)) {
- trap_BotLibStartFrame((float) level.time / 1000);
+ trap_AAS_SetCurrentWorld( 0 );
+ while ( !trap_AAS_Initialized() && ( i++ < 10 ) ) {
+ trap_BotLibStartFrame( (float) level.time / 1000 );
}
*/
}
@@ -726,7 +726,7 @@ AICast_CheckLoadGame
*/
void AICast_CheckLoadGame( void ) {
char loading[4];
- gentity_t *ent = NULL; // TTimo: VC6 'may be used without having been init'
+ gentity_t *ent = NULL;
qboolean ready;
cast_state_t *pcs;
@@ -740,17 +740,14 @@ void AICast_CheckLoadGame( void ) {
trap_Cvar_VariableStringBuffer( "savegame_loading", loading, sizeof( loading ) );
-// reloading = qtrue;
trap_Cvar_Set( "g_reloading", "1" );
if ( strlen( loading ) > 0 && atoi( loading ) != 0 ) {
// screen should be black if we are at this stage
trap_SetConfigstring( CS_SCREENFADE, va( "1 %i 1", level.time - 10 ) );
-// if (!reloading && atoi(loading) == 2) {
if ( !( g_reloading.integer ) && atoi( loading ) == 2 ) {
// (SA) hmm, this seems redundant when it sets it above...
-// reloading = qtrue; // this gets reset at the Map_Restart() since the server unloads the game dll
trap_Cvar_Set( "g_reloading", "1" );
}
@@ -766,16 +763,16 @@ void AICast_CheckLoadGame( void ) {
if ( ready ) {
trap_Cvar_Set( "savegame_loading", "0" ); // in-case it aborts
saveGamePending = qfalse;
- G_LoadGame( NULL ); // always load the "current" savegame
+ G_LoadGame( NULL ); // always load the "current" savegame
+// trap_Cvar_Set( "cg_norender", "0" );
// RF, spawn a thinker that will enable rendering after the client has had time to process the entities and setup the display
- //trap_Cvar_Set( "cg_norender", "0" );
ent = G_Spawn();
ent->nextthink = level.time + 200;
ent->think = AICast_EnableRenderingThink;
// wait for the clients to return from faded screen
- //trap_SetConfigstring( CS_SCREENFADE, va("0 %i 1500", level.time + 500) );
+// trap_SetConfigstring( CS_SCREENFADE, va("0 %i 1500", level.time + 500) );
trap_SetConfigstring( CS_SCREENFADE, va( "0 %i 750", level.time + 500 ) );
level.reloadPauseTime = level.time + 1100;
@@ -797,7 +794,7 @@ void AICast_CheckLoadGame( void ) {
// not loading a game, we must be in a new level, so look for some persistant data to read in, then save the game
if ( ready ) {
- G_LoadPersistant(); // make sure we save the game after we have brought across the items
+ G_LoadPersistant(); // make sure we save the game after we have brought across the items
trap_Cvar_Set( "g_totalPlayTime", "0" ); // reset play time
trap_Cvar_Set( "g_attempts", "0" );
@@ -806,24 +803,15 @@ void AICast_CheckLoadGame( void ) {
pcs->lastLoadTime = 0;
pcs->attempts = 0;
- // RF, disabled, since the pregame menu turns this off after the button is pressed, this isn't
- // required here
- // RF, spawn a thinker that will enable rendering after the client has had time to process the entities and setup the display
- //trap_Cvar_Set( "cg_norender", "0" );
- //ent = G_Spawn();
- //ent->nextthink = level.time + 200;
- //ent->think = AICast_EnableRenderingThink;
-
saveGamePending = qfalse;
// wait for the clients to return from faded screen
-// trap_SetConfigstring( CS_SCREENFADE, va("0 %i 1500", level.time + 500) );
-// trap_SetConfigstring( CS_SCREENFADE, va("0 %i 750", level.time + 500) );
- // (SA) send a command that will be interpreted for both the screenfade and any other effects (music cues, pregame menu, etc)
+// trap_SetConfigstring( CS_SCREENFADE, va( "0 %i 1500", level.time + 500 ) );
+// trap_SetConfigstring( CS_SCREENFADE, va( "0 %i 750", level.time + 500 ) );
-// briefing menu will handle transition, just set a cvar for it to check for drawing the 'continue' button
+ // (SA) send a command that will be interpreted for both the screenfade and any other effects (music cues, pregame menu, etc)
+ // briefing menu will handle transition, just set a cvar for it to check for drawing the 'continue' button
trap_SendServerCommand( -1, "rockandroll\n" );
-
level.reloadPauseTime = level.time + 1100;
AICast_CastScriptThink();
@@ -948,13 +936,13 @@ void AICast_AgePlayTime( int entnum ) {
if ( saveGamePending ) {
return;
}
-// if (reloading)
+
if ( g_reloading.integer ) {
return;
}
- //
+
if ( ( level.time - cs->lastLoadTime ) > 1000 ) {
- if ( /*(level.time - cs->lastLoadTime) < 2000 &&*/ ( level.time - cs->lastLoadTime ) > 0 ) {
+ if ( /*( level.time - cs->lastLoadTime ) < 2000 &&*/ ( level.time - cs->lastLoadTime ) > 0 ) {
cs->totalPlayTime += level.time - cs->lastLoadTime;
trap_Cvar_Set( "g_totalPlayTime", va( "%i", cs->totalPlayTime ) );
}
diff --git a/SP/code/game/ai_cast.h b/SP/code/game/ai_cast.h
index c156133..a64a641 100644
--- a/SP/code/game/ai_cast.h
+++ b/SP/code/game/ai_cast.h
@@ -209,11 +209,11 @@ extern AICharacterDefaults_t aiDefaults[NUM_CHARACTERS];
//
// structure defines
//
-#define AIVIS_ENEMY 1
-#define AIVIS_INSPECTED 2 // we have inspected them once already
-#define AIVIS_INSPECT 4 // we should inspect them when we get a chance
-#define AIVIS_PROCESS_SIGHTING 8 // so we know if we have or haven't processed the sighting since they were last seen
-#define AIVIS_SIGHT_SCRIPT_CALLED 0x10 // set once sight script has been called.. only call once
+#define AIVIS_ENEMY 1
+#define AIVIS_INSPECTED 2 // we have inspected them once already
+#define AIVIS_INSPECT 4 // we should inspect them when we get a chance
+#define AIVIS_PROCESS_SIGHTING 8 // so we know if we have or haven't processed the sighting since they were last seen
+#define AIVIS_SIGHT_SCRIPT_CALLED 0x10 // set once sight script has been called.. only call once
//
// share range
#define AIVIS_SHARE_RANGE 384 // if we are within this range of a friendly, share their vis info
diff --git a/SP/code/game/ai_cast_characters.c b/SP/code/game/ai_cast_characters.c
index 913169b..71c5822 100644
--- a/SP/code/game/ai_cast_characters.c
+++ b/SP/code/game/ai_cast_characters.c
@@ -26,13 +26,13 @@ If you have questions concerning this license or the applicable additional terms
===========================================================================
*/
-/*
- * name: ai_cast_characters.c
- *
- * desc:
- *
- * $Archive: /Wolf5/src/game/ai_cast_characters.c $
-*/
+//===========================================================================
+//
+// Name: ai_cast_characters.c
+// Function: Wolfenstein AI Characters
+// Programmer: Ridah
+// Tab Size: 4 (real tabs)
+//===========================================================================
#include "g_local.h"
#include "../botlib/botlib.h" //bot lib interface
@@ -83,20 +83,20 @@ AICharacterDefaults_t aiDefaults[NUM_CHARACTERS] = {
"infantryAttackPlayer",
"infantryOrders",
"infantryDeath",
- "infantrySilentDeath", //----(SA) added
- "infantryFlameDeath", //----(SA) added
+ "infantrySilentDeath", //----(SA) added
+ "infantryFlameDeath", //----(SA) added
"infantryPain",
- "infantryStay", // stay - you're told to stay put
- "infantryFollow", // follow - go with ordering player ("i'm with you" rather than "yes sir!")
- "infantryOrdersDeny", // deny - refuse orders (doing something else)
+ "infantryStay", // stay - you're told to stay put
+ "infantryFollow", // follow - go with ordering player ("i'm with you" rather than "yes sir!")
+ "infantryOrdersDeny", // deny - refuse orders (doing something else)
},
- AITEAM_NAZI, // team
- "infantryss/default", // default model/skin
- {WP_MP40,WP_GRENADE_LAUNCHER}, // starting weapons
- BBOX_SMALL, {32,48}, // bbox, crouch/stand height
- AIFL_CATCH_GRENADE | AIFL_STAND_IDLE2, // flags
- 0, 0, 0, // special attack routine
- NULL, // looping sound
+ AITEAM_NAZI, // team
+ "infantryss/default", // default model/skin
+ {WP_MP40,WP_GRENADE_LAUNCHER}, // starting weapons
+ BBOX_SMALL, {32,48}, // bbox, crouch/stand height
+ AIFL_CATCH_GRENADE | AIFL_STAND_IDLE2, // flags
+ 0, 0, 0, // special attack routine
+ NULL, // looping sound
AISTATE_RELAXED
},
@@ -131,12 +131,12 @@ AICharacterDefaults_t aiDefaults[NUM_CHARACTERS] = {
"americanAttackPlayer",
"americanOrders",
"americanDeath",
- "americanSilentDeath", //----(SA) added
- "americanFlameDeath", //----(SA) added
+ "americanSilentDeath", //----(SA) added
+ "americanFlameDeath", //----(SA) added
"americanPain",
- "americanStay", // stay - you're told to stay put
- "americanFollow", // follow - go with ordering player ("i'm with you" rather than "yes sir!")
- "americanOrdersDeny", // deny - refuse orders (doing something else)
+ "americanStay", // stay - you're told to stay put
+ "americanFollow", // follow - go with ordering player ("i'm with you" rather than "yes sir!")
+ "americanOrdersDeny", // deny - refuse orders (doing something else)
},
AITEAM_ALLIES,
"american/default",
@@ -179,12 +179,12 @@ AICharacterDefaults_t aiDefaults[NUM_CHARACTERS] = {
"zombieAttackPlayer",
"zombieOrders",
"zombieDeath",
- "zombieSilentDeath", //----(SA) added
- "zombieFlameDeath", //----(SA) added
+ "zombieSilentDeath", //----(SA) added
+ "zombieFlameDeath", //----(SA) added
"zombiePain",
- "sound/weapons/melee/fstatck.wav", // stay - you're told to stay put
- "sound/weapons/melee/fstmiss.wav", // follow - go with ordering player ("i'm with you" rather than "yes sir!")
- "zombieOrdersDeny", // deny - refuse orders (doing something else)
+ "sound/weapons/melee/fstatck.wav", // stay - you're told to stay put
+ "sound/weapons/melee/fstmiss.wav", // follow - go with ordering player ("i'm with you" rather than "yes sir!")
+ "zombieOrdersDeny", // deny - refuse orders (doing something else)
},
AITEAM_MONSTER,
"zombie/default",
@@ -196,6 +196,7 @@ AICharacterDefaults_t aiDefaults[NUM_CHARACTERS] = {
AISTATE_ALERT
},
+//----(SA) added
//AICHAR_WARZOMBIE
{
"WarriorZombie",
@@ -227,25 +228,26 @@ AICharacterDefaults_t aiDefaults[NUM_CHARACTERS] = {
"warzombieAttackPlayer",
"warzombieOrders",
"warzombieDeath",
- "warzombieSilentDeath", //----(SA) added
- "warzombieFlameDeath", //----(SA) added
+ "warzombieSilentDeath", //----(SA) added
+ "warzombieFlameDeath", //----(SA) added
"warzombiePain",
//----(SA) changed per DK
-// "sound/weapons/melee/fstatck.wav", // stay - you're told to stay put
+// "sound/weapons/melee/fstatck.wav", // stay - you're told to stay put
"sound/weapons/melee/warz_hit.wav",
-// "sound/weapons/melee/fstmiss.wav", // follow - go with ordering player ("i'm with you" rather than "yes sir!")
+// "sound/weapons/melee/fstmiss.wav", // follow - go with ordering player ("i'm with you" rather than "yes sir!")
"sound/weapons/melee/warz_miss.wav",
- "warzombieOrdersDeny", // deny - refuse orders (doing something else)
+ "warzombieOrdersDeny", // deny - refuse orders (doing something else)
},
AITEAM_MONSTER,
"warrior/crypt2",
{WP_MONSTER_ATTACK1,WP_MONSTER_ATTACK2,WP_MONSTER_ATTACK3},
- BBOX_SMALL, {10,48}, // very low defense position
+ BBOX_SMALL, {10,48}, // very low defense position
AIFL_NO_RELOAD,
AIFunc_WarriorZombieMeleeStart, /*AIFunc_WarriorZombieSightStart*/ 0, AIFunc_WarriorZombieDefenseStart,
NULL,
AISTATE_ALERT
},
+//----(SA) end
//AICHAR_VENOM
{
@@ -278,12 +280,12 @@ AICharacterDefaults_t aiDefaults[NUM_CHARACTERS] = {
"venomAttackPlayer",
"venomOrders",
"venomDeath",
- "venomSilentDeath", //----(SA) added
- "venomFlameDeath", //----(SA) added
+ "venomSilentDeath", //----(SA) added
+ "venomFlameDeath", //----(SA) added
"venomPain",
- "venomStay", // stay - you're told to stay put
- "venomFollow", // follow - go with ordering player ("i'm with you" rather than "yes sir!")
- "venomOrdersDeny", // deny - refuse orders (doing something else)
+ "venomStay", // stay - you're told to stay put
+ "venomFollow", // follow - go with ordering player ("i'm with you" rather than "yes sir!")
+ "venomOrdersDeny", // deny - refuse orders (doing something else)
},
AITEAM_NAZI,
"venom/default",
@@ -326,18 +328,18 @@ AICharacterDefaults_t aiDefaults[NUM_CHARACTERS] = {
"loperAttackPlayer",
"loperOrders",
"loperDeath",
- "loperSilentDeath", //----(SA) added
- "loperFlameDeath", //----(SA) added
+ "loperSilentDeath", //----(SA) added
+ "loperFlameDeath", //----(SA) added
"loperPain",
- "loperAttack2Start", // stay - you're told to stay put
- "loperAttackStart", // follow - go with ordering player ("i'm with you" rather than "yes sir!")
- "loperHit1", // deny - refuse orders (doing something else)
- "loperHit2", // misc1
+ "loperAttack2Start", // stay - you're told to stay put
+ "loperAttackStart", // follow - go with ordering player ("i'm with you" rather than "yes sir!")
+ "loperHit1", // deny - refuse orders (doing something else)
+ "loperHit2", // misc1
},
AITEAM_MONSTER,
"loper/default",
{ /*WP_MONSTER_ATTACK1,*/ WP_MONSTER_ATTACK2,WP_MONSTER_ATTACK3},
- BBOX_LARGE, {32,32}, // large is for wide characters
+ BBOX_LARGE, {32,32}, // large is for wide characters
AIFL_NO_RELOAD,
0 /*AIFunc_LoperAttack1Start*/, AIFunc_LoperAttack2Start, AIFunc_LoperAttack3Start,
"sound/world/electloop.wav",
@@ -375,12 +377,12 @@ AICharacterDefaults_t aiDefaults[NUM_CHARACTERS] = {
"eliteGuardAttackPlayer",
"eliteGuardOrders",
"eliteGuardDeath",
- "eliteGuardSilentDeath", //----(SA) added
- "eliteGuardFlameDeath", //----(SA) added
+ "eliteGuardSilentDeath", //----(SA) added
+ "eliteGuardFlameDeath", //----(SA) added
"eliteGuardPain",
- "eliteGuardStay", // stay - you're told to stay put
- "eliteGuardFollow", // follow - go with ordering player ("i'm with you" rather than "yes sir!")
- "eliteGuardOrdersDeny", // deny - refuse orders (doing something else)
+ "eliteGuardStay", // stay - you're told to stay put
+ "eliteGuardFollow", // follow - go with ordering player ("i'm with you" rather than "yes sir!")
+ "eliteGuardOrdersDeny", // deny - refuse orders (doing something else)
},
AITEAM_NAZI,
"eliteguard/default",
@@ -423,16 +425,16 @@ AICharacterDefaults_t aiDefaults[NUM_CHARACTERS] = {
"stimSoldierAttackPlayer",
"stimSoldierOrders",
"stimSoldierDeath",
- "stimSoldierSilentDeath", //----(SA) added
- "stimSoldeirFlameDeath", //----(SA) added
+ "stimSoldierSilentDeath", //----(SA) added
+ "stimSoldeirFlameDeath", //----(SA) added
"stimSoldierPain",
- "stimSoldierStay", // stay - you're told to stay put
- "stimSoldierFollow", // follow - go with ordering player ("i'm with you" rather than "yes sir!")
- "stimSoldierOrdersDeny", // deny - refuse orders (doing something else)
+ "stimSoldierStay", // stay - you're told to stay put
+ "stimSoldierFollow", // follow - go with ordering player ("i'm with you" rather than "yes sir!")
+ "stimSoldierOrdersDeny", // deny - refuse orders (doing something else)
},
AITEAM_NAZI,
"stim/default",
- {WP_MONSTER_ATTACK2}, // TODO: dual machinegun attack
+ {WP_MONSTER_ATTACK2}, // TODO: dual machinegun attack
BBOX_LARGE, {48,64},
AIFL_NO_RELOAD,
0, AIFunc_StimSoldierAttack2Start, 0,
@@ -471,16 +473,16 @@ AICharacterDefaults_t aiDefaults[NUM_CHARACTERS] = {
"stimSoldierAttackPlayer",
"stimSoldierOrders",
"stimSoldierDeath",
- "stimSoldierSilentDeath", //----(SA) added
- "stimSoldierFlameDeath", //----(SA) added
+ "stimSoldierSilentDeath", //----(SA) added
+ "stimSoldierFlameDeath", //----(SA) added
"stimSoldierPain",
- "stimSoldierStay", // stay - you're told to stay put
- "stimSoldierFollow", // follow - go with ordering player ("i'm with you" rather than "yes sir!")
- "stimSoldierOrdersDeny", // deny - refuse orders (doing something else)
+ "stimSoldierStay", // stay - you're told to stay put
+ "stimSoldierFollow", // follow - go with ordering player ("i'm with you" rather than "yes sir!")
+ "stimSoldierOrdersDeny", // deny - refuse orders (doing something else)
},
AITEAM_NAZI,
"stim/default",
- {WP_MP40, WP_MONSTER_ATTACK1}, // attack1 is leaping rocket attack
+ {WP_MP40, WP_MONSTER_ATTACK1}, // attack1 is leaping rocket attack
BBOX_LARGE, {48,64},
AIFL_NO_RELOAD,
AIFunc_StimSoldierAttack1Start, 0, 0,
@@ -519,16 +521,16 @@ AICharacterDefaults_t aiDefaults[NUM_CHARACTERS] = {
"stimSoldierAttackPlayer",
"stimSoldierOrders",
"stimSoldierDeath",
- "stimSoldierSilentDeath", //----(SA) added
- "stimSoldierFlameDeath", //----(SA) added
+ "stimSoldierSilentDeath", //----(SA) added
+ "stimSoldierFlameDeath", //----(SA) added
"stimSoldierPain",
- "stimSoldierStay", // stay - you're told to stay put
- "stimSoldierFollow", // follow - go with ordering player ("i'm with you" rather than "yes sir!")
- "stimSoldierOrdersDeny", // deny - refuse orders (doing something else)
+ "stimSoldierStay", // stay - you're told to stay put
+ "stimSoldierFollow", // follow - go with ordering player ("i'm with you" rather than "yes sir!")
+ "stimSoldierOrdersDeny", // deny - refuse orders (doing something else)
},
AITEAM_NAZI,
"stim/default",
- {WP_MP40, WP_TESLA}, // no monster_attack1, since that's only used for the jumping rocket attack
+ {WP_MP40, WP_TESLA}, // no monster_attack1, since that's only used for the jumping rocket attack
BBOX_LARGE, {48,64},
AIFL_NO_RELOAD,
AIFunc_StimSoldierAttack1Start, 0, 0,
@@ -567,12 +569,12 @@ AICharacterDefaults_t aiDefaults[NUM_CHARACTERS] = {
"superSoldierAttackPlayer",
"superSoldierOrders",
"superSoldierDeath",
- "superSoldierSilentDeath", //----(SA) added
- "superSoldierFlameDeath", //----(SA) added
+ "superSoldierSilentDeath", //----(SA) added
+ "superSoldierFlameDeath", //----(SA) added
"superSoldierPain",
- "superSoldierStay", // stay - you're told to stay put
- "superSoldierFollow", // follow - go with ordering player ("i'm with you" rather than "yes sir!")
- "superSoldierOrdersDeny", // deny - refuse orders (doing something else)
+ "superSoldierStay", // stay - you're told to stay put
+ "superSoldierFollow", // follow - go with ordering player ("i'm with you" rather than "yes sir!")
+ "superSoldierOrdersDeny", // deny - refuse orders (doing something else)
},
AITEAM_NAZI,
"supersoldier/default",
@@ -615,17 +617,17 @@ AICharacterDefaults_t aiDefaults[NUM_CHARACTERS] = {
"blackGuardAttackPlayer",
"blackGuardOrders",
"blackGuardDeath",
- "blackGuardSilentDeath", //----(SA) added
- "blackGuardFlameDeath", //----(SA) added
+ "blackGuardSilentDeath", //----(SA) added
+ "blackGuardFlameDeath", //----(SA) added
"blackGuardPain",
- "blackGuardStay", // stay - you're told to stay put
- "blackGuardFollow", // follow - go with ordering player ("i'm with you" rather than "yes sir!")
- "blackGuardOrdersDeny", // deny - refuse orders (doing something else)
+ "blackGuardStay", // stay - you're told to stay put
+ "blackGuardFollow", // follow - go with ordering player ("i'm with you" rather than "yes sir!")
+ "blackGuardOrdersDeny", // deny - refuse orders (doing something else)
},
AITEAM_NAZI,
"blackguard/default",
-// {WP_MP40, WP_GRENADE_LAUNCHER, WP_MONSTER_ATTACK1}, // attack1 is melee kick
- {WP_FG42, WP_FG42SCOPE, WP_GRENADE_LAUNCHER, WP_MONSTER_ATTACK1}, // attack1 is melee kick
+// {WP_MP40, WP_GRENADE_LAUNCHER, WP_MONSTER_ATTACK1}, // attack1 is melee kick
+ {WP_FG42, WP_FG42SCOPE, WP_GRENADE_LAUNCHER, WP_MONSTER_ATTACK1}, // attack1 is melee kick
BBOX_SMALL, {32,48},
AIFL_CATCH_GRENADE | AIFL_FLIP_ANIM | AIFL_STAND_IDLE2,
AIFunc_BlackGuardAttack1Start, 0, 0,
@@ -664,12 +666,12 @@ AICharacterDefaults_t aiDefaults[NUM_CHARACTERS] = {
"protoSoldierAttackPlayer",
"protoSoldierOrders",
"protoSoldierDeath",
- "protoSoldierSilentDeath", //----(SA) added
- "protoSoldierFlameDeath", //----(SA) added
+ "protoSoldierSilentDeath", //----(SA) added
+ "protoSoldierFlameDeath", //----(SA) added
"protoSoldierPain",
- "protoSoldierStay", // stay - you're told to stay put
- "protoSoldierFollow", // follow - go with ordering player ("i'm with you" rather than "yes sir!")
- "protoSoldierOrdersDeny", // deny - refuse orders (doing something else)
+ "protoSoldierStay", // stay - you're told to stay put
+ "protoSoldierFollow", // follow - go with ordering player ("i'm with you" rather than "yes sir!")
+ "protoSoldierOrdersDeny", // deny - refuse orders (doing something else)
},
AITEAM_NAZI,
"protosoldier/default",
@@ -712,12 +714,12 @@ AICharacterDefaults_t aiDefaults[NUM_CHARACTERS] = {
"frogmanAttackPlayer",
"frogmanOrders",
"frogmanDeath",
- "frogmanSilentDeath", //----(SA) added
- "frogmanFlameDeath", //----(SA) added
+ "frogmanSilentDeath", //----(SA) added
+ "frogmanFlameDeath", //----(SA) added
"frogmanPain",
- "frogmanStay", // stay - you're told to stay put
- "frogmanFollow", // follow - go with ordering player ("i'm with you" rather than "yes sir!")
- "frogmanOrdersDeny", // deny - refuse orders (doing something else)
+ "frogmanStay", // stay - you're told to stay put
+ "frogmanFollow", // follow - go with ordering player ("i'm with you" rather than "yes sir!")
+ "frogmanOrdersDeny", // deny - refuse orders (doing something else)
},
AITEAM_NAZI,
"frogman/default",
@@ -760,19 +762,19 @@ AICharacterDefaults_t aiDefaults[NUM_CHARACTERS] = {
"helgaAttackPlayer",
"helgaOrders",
"helgaDeath",
- "helgaSilentDeath", //----(SA) added
- "helgaFlameDeath", //----(SA) added
+ "helgaSilentDeath", //----(SA) added
+ "helgaFlameDeath", //----(SA) added
"helgaAttackPlayer",
- "sound/weapons/melee/fstatck.wav", // stay - you're told to stay put
- "helgaFollow", // follow - go with ordering player ("i'm with you" rather than "yes sir!")
- "helgaOrdersDeny", // deny - refuse orders (doing something else)
+ "sound/weapons/melee/fstatck.wav", // stay - you're told to stay put
+ "helgaFollow", // follow - go with ordering player ("i'm with you" rather than "yes sir!")
+ "helgaOrdersDeny", // deny - refuse orders (doing something else)
},
- AITEAM_MONSTER, // team
- "beast/default", // default model/skin
- {WP_MONSTER_ATTACK1,WP_MONSTER_ATTACK2 /*,WP_MONSTER_ATTACK3*/}, // starting weapons
- BBOX_LARGE, {90,90}, // bbox, crouch/stand height
+ AITEAM_MONSTER, // team
+ "beast/default", // default model/skin
+ {WP_MONSTER_ATTACK1,WP_MONSTER_ATTACK2 /*,WP_MONSTER_ATTACK3*/}, // starting weapons
+ BBOX_LARGE, {90,90}, // bbox, crouch/stand height
AIFL_WALKFORWARD | AIFL_NO_RELOAD,
- AIFunc_Helga_MeleeStart, AIFunc_Helga_SpiritAttack_Start, 0, // special attack routine
+ AIFunc_Helga_MeleeStart, AIFunc_Helga_SpiritAttack_Start, 0, // special attack routine
NULL,
AISTATE_ALERT
},
@@ -809,16 +811,16 @@ AICharacterDefaults_t aiDefaults[NUM_CHARACTERS] = {
"heinrichOrders",
"heinrichDeath",
"heinrichSilentDeath",
- "heinrichFlameDeath", //----(SA) added
+ "heinrichFlameDeath", //----(SA) added
"heinrichPain",
- "heinrichStay", // stay - you're told to stay put
- "heinrichFollow", // follow - go with ordering player ("i'm with you" rather than "yes sir!")
- "heinrichStomp", // deny - refuse orders (doing something else)
+ "heinrichStay", // stay - you're told to stay put
+ "heinrichFollow", // follow - go with ordering player ("i'm with you" rather than "yes sir!")
+ "heinrichStomp", // deny - refuse orders (doing something else)
},
AITEAM_NAZI,
"heinrich/default",
- {WP_MONSTER_ATTACK1,WP_MONSTER_ATTACK2,WP_MONSTER_ATTACK3}, // attack3 is given to him by scripting
- BBOX_LARGE, {72,72}, // (SA) height is not exact. just eyeballed.
+ {WP_MONSTER_ATTACK1,WP_MONSTER_ATTACK2,WP_MONSTER_ATTACK3}, // attack3 is given to him by scripting
+ BBOX_LARGE, {72,72}, // (SA) height is not exact. just eyeballed.
AIFL_NO_FLAME_DAMAGE | AIFL_WALKFORWARD | AIFL_NO_RELOAD,
AIFunc_Heinrich_MeleeStart, AIFunc_Heinrich_RaiseDeadStart, AIFunc_Heinrich_SpawnSpiritsStart,
NULL,
@@ -856,8 +858,8 @@ AICharacterDefaults_t aiDefaults[NUM_CHARACTERS] = {
"partisanAttackPlayer",
"partisanOrders",
"partisanDeath",
- "partisanSilentDeath", //----(SA) added
- "partisanFlameDeath", //----(SA) added
+ "partisanSilentDeath", //----(SA) added
+ "partisanFlameDeath", //----(SA) added
"partisanPain",
"partisanStay",
"partisanFollow",
@@ -904,14 +906,14 @@ AICharacterDefaults_t aiDefaults[NUM_CHARACTERS] = {
"civilianAttackPlayer",
"civilianOrders",
"civilianDeath",
- "civilianSilentDeath", //----(SA) added
- "civilianFlameDeath", //----(SA) added
+ "civilianSilentDeath", //----(SA) added
+ "civilianFlameDeath", //----(SA) added
"civilianPain",
"civilianStay",
"civilianFollow",
"civilianOrdersDeny",
},
- AITEAM_NEUTRAL, //----(SA) changed affiliation for DK
+ AITEAM_NEUTRAL, //----(SA) changed affiliation for DK
"civilian/default",
{0},
BBOX_SMALL, {32,48},
@@ -928,7 +930,7 @@ AICharacterDefaults_t aiDefaults[NUM_CHARACTERS] = {
// Bounding boxes
static vec3_t bbmins[2] = {{-18, -18, -24},{-32,-32,-24}};
static vec3_t bbmaxs[2] = {{ 18, 18, 48},{ 32, 32, 68}};
-//static float crouchMaxZ[2] = {32,48}; // same as player, will head be ok? // TTimo: unused
+//static float crouchMaxZ[2] = {32,48}; // same as player, will head be ok?
//---------------------------------------------------------------------------
//---------------------------------------------------------------------------
@@ -1115,9 +1117,9 @@ void AIChar_Pain( gentity_t *ent, gentity_t *attacker, int damage, vec3_t point
// HACK: if the attacker is using the flamethrower, don't do any special pain anim or sound
// FIXME: we should pass in the MOD here, since they could have fired a grenade, then switched weapons
- //if (attacker->s.weapon == WP_FLAMETHROWER) {
- // return;
- //}
+// if ( attacker->s.weapon == WP_FLAMETHROWER ) {
+// return;
+// }
if ( !Q_stricmp( attacker->classname, "props_statue" ) ) {
damage = 99999; // try and force a stun
@@ -1553,6 +1555,7 @@ void SP_ai_zombie( gentity_t *ent ) {
}
+//----(SA) added
//----------------------------------------------------------------------------------------------------------------------------
/*QUAKED ai_warzombie (1 0.25 0) (-16 -16 -24) (16 16 64) TriggerSpawn NoRevive PortalZombie
warrior zombie entity
@@ -1569,7 +1572,7 @@ SP_ai_warzombie
void SP_ai_warzombie( gentity_t *ent ) {
AICast_DelayedSpawnCast( ent, AICHAR_WARZOMBIE );
}
-
+//----(SA) end
//----------------------------------------------------------------------------------------------------------------------------
/*QUAKED ai_venom (1 0.25 0) (-16 -16 -24) (16 16 64) TriggerSpawn NoRevive
diff --git a/SP/code/game/ai_cast_debug.c b/SP/code/game/ai_cast_debug.c
index 938f8ff..ab5ea22 100644
--- a/SP/code/game/ai_cast_debug.c
+++ b/SP/code/game/ai_cast_debug.c
@@ -114,7 +114,7 @@ AICast_DBG_RouteTable_f
*/
void AICast_DBG_RouteTable_f( vec3_t org, char *param ) {
static int srcarea = 0, dstarea = 0;
-// extern botlib_export_t botlib; // TTimo: unused
+// extern botlib_export_t botlib;
if ( !param || strlen( param ) < 1 ) {
trap_Print( "You must specify 'src', 'dest' or 'show'\n" );
diff --git a/SP/code/game/ai_cast_events.c b/SP/code/game/ai_cast_events.c
index 7248363..c2ca814 100644
--- a/SP/code/game/ai_cast_events.c
+++ b/SP/code/game/ai_cast_events.c
@@ -222,19 +222,6 @@ void AICast_Die( gentity_t *self, gentity_t *inflictor, gentity_t *attacker, int
// RF, changed this so Zombies always gib now
GibEntity( self, killer );
nogib = qfalse;
-/*
- // Zombie has special exploding cloud effect
- if (attacker != inflictor || attacker->s.weapon == WP_VENOM)
- {
- GibEntity( self, killer );
- nogib = qfalse;
- } else {
- // Zombie will decompose upon dying
- self->client->ps.eFlags |= EF_MONSTER_EFFECT2;
- self->s.effect2Time = level.time+200;
- self->health = -1;
- }
-*/
self->takedamage = qfalse;
self->r.contents = 0;
cs->secondDeadTime = 2;
@@ -452,7 +439,6 @@ void AICast_AIDoor_Touch( gentity_t *ent, gentity_t *aidoor_trigger, gentity_t *
}
}
- // TTimo: gcc: suggest () around assignment used as truth value
for ( trav = NULL; ( trav = G_Find( trav, FOFS( target ), aidoor_trigger->targetname ) ); ) {
// make sure the marker is vacant
trap_Trace( &tr, trav->r.currentOrigin, ent->r.mins, ent->r.maxs, trav->r.currentOrigin, ent->s.number, ent->clipmask );
diff --git a/SP/code/game/ai_cast_fight.c b/SP/code/game/ai_cast_fight.c
index cb2bcc3..40a77d3 100644
--- a/SP/code/game/ai_cast_fight.c
+++ b/SP/code/game/ai_cast_fight.c
@@ -1357,7 +1357,7 @@ AICast_CombatMove
bot_moveresult_t AICast_CombatMove( cast_state_t *cs, int tfl ) {
bot_state_t *bs;
float dist;
- vec3_t forward; //, backward;
+ vec3_t forward;
bot_moveresult_t moveresult;
bot_goal_t goal;
@@ -1371,7 +1371,6 @@ bot_moveresult_t AICast_CombatMove( cast_state_t *cs, int tfl ) {
VectorSubtract( cs->vislist[cs->enemyNum].visible_pos, bs->origin, forward );
//the distance towards the enemy
VectorNormalize( forward );
- //VectorNegate( forward, backward );
//
// do we have somewhere we are trying to get to?
if ( cs->combatGoalTime > level.time ) {
@@ -1576,7 +1575,7 @@ qboolean AICast_CanMoveWhileFiringWeapon( int weaponnum ) {
case WP_GARAND:
case WP_SNIPERRIFLE: //----(SA) added
case WP_SNOOPERSCOPE: //----(SA) added
- //case WP_FG42SCOPE: //----(SA) added
+// case WP_FG42SCOPE: //----(SA) added
case WP_PANZERFAUST:
return qfalse;
default:
diff --git a/SP/code/game/ai_cast_func_attack.c b/SP/code/game/ai_cast_func_attack.c
index 8a19d71..1017177 100644
--- a/SP/code/game/ai_cast_func_attack.c
+++ b/SP/code/game/ai_cast_func_attack.c
@@ -122,7 +122,7 @@ char *AIFunc_ZombieFlameAttackStart( cast_state_t *cs ) {
//
// dont turn
cs->ideal_viewangles[YAW] = cs->viewangles[YAW];
- //cs->ideal_viewangles[PITCH] = -45; // look upwards
+// cs->ideal_viewangles[PITCH] = -45; // look upwards
// start the flame
ent->s.onFireStart = level.time;
ent->s.onFireEnd = level.time + ZOMBIE_FLAME_DURATION;
@@ -167,8 +167,9 @@ int lastZombieSpiritAttack;
char *AIFunc_ZombieAttack2( cast_state_t *cs ) {
gentity_t *ent;
+ //
ent = &g_entities[cs->entityNum];
-
+ //
if ( cs->enemyNum < 0 ) {
return AIFunc_DefaultStart( cs );
}
@@ -383,7 +384,6 @@ char *AIFunc_LoperAttack1( cast_state_t *cs ) {
anim = ( ent->client->ps.legsAnim & ~ANIM_TOGGLEBIT ) - BG_AnimationIndexForString( "legs_extra", cs->entityNum );
if ( cs->thinkFuncChangeTime < level.time - loperHitTimes[anim] ) {
// check for damage
- // TTimo: gcc: suggests () around assignment used as truth value
if ( ( tr = CheckMeleeAttack( &g_entities[cs->entityNum], LOPER_MELEE_RANGE, qfalse ) ) ) {
G_Damage( &g_entities[tr->entityNum], ent, ent, vec3_origin, tr->endpos,
LOPER_MELEE_DAMAGE, 0, MOD_LOPER_HIT );
diff --git a/SP/code/game/ai_cast_func_boss1.c b/SP/code/game/ai_cast_func_boss1.c
index e435986..d092026 100644
--- a/SP/code/game/ai_cast_func_boss1.c
+++ b/SP/code/game/ai_cast_func_boss1.c
@@ -46,9 +46,6 @@ If you have questions concerning this license or the applicable additional terms
#include "ai_cast.h"
-// TTimo: unused
-//static vec3_t forward, right, up;
-
//=================================================================================
//
// Helga, the first boss
diff --git a/SP/code/game/ai_cast_funcs.c b/SP/code/game/ai_cast_funcs.c
index 5cf47af..221c06b 100644
--- a/SP/code/game/ai_cast_funcs.c
+++ b/SP/code/game/ai_cast_funcs.c
@@ -271,7 +271,6 @@ bot_moveresult_t *AICast_MoveToPos( cast_state_t *cs, vec3_t pos, int entnum ) {
}
}
-
} else { // manual routing towards markers
VectorSubtract( pos, cs->bs->origin, dir );
@@ -289,17 +288,18 @@ bot_moveresult_t *AICast_MoveToPos( cast_state_t *cs, vec3_t pos, int entnum ) {
// this must go last so we face the direction we avoid move
AICast_Blocked( cs, &lmoveresult, qfalse, &goal );
-//G_Printf("MoveToPos: %i ms\n", -pretime + Sys_MilliSeconds() );
+// G_Printf("MoveToPos: %i ms\n", -pretime + Sys_MilliSeconds() );
+
/*
-// debug, print movement info
-if(0) // (SA) added to hide the print
-{
-bot_input_t bi;
+ // debug, print movement info
+ if ( 0 ) { // (SA) added to hide the print
+ bot_input_t bi;
-trap_EA_GetInput(cs->bs->client, (float) level.time / 1000, &bi);
-G_Printf("spd: %i\n", (int)bi.speed );
-}
+ trap_EA_GetInput( cs->bs->client, (float) level.time / 1000, &bi );
+ G_Printf( "spd: %i\n", (int)bi.speed );
+ }
*/
+
return ( moveresult = &lmoveresult );
}
@@ -494,7 +494,7 @@ char *AIFunc_Idle( cast_state_t *cs ) {
return NULL;
} else if ( numEnemies == -2 ) { // inspection may be required
char *retval;
- // TTimo: gcc: suggest () around assignment used as truth value
+
if ( ( retval = AIFunc_InspectFriendlyStart( cs, enemies[0] ) ) ) {
return retval;
}
@@ -769,7 +769,7 @@ char *AIFunc_InspectFriendly( cast_state_t *cs ) {
if ( !ent->waterlevel ) {
dir[2] = 0;
}
- //trap_EA_Move(cs->entityNum, dir, 400);
+// trap_EA_Move( cs->entityNum, dir, 400 );
trap_EA_GetInput( cs->entityNum, (float) level.time / 1000, &bi );
VectorCopy( dir, bi.dir );
bi.speed = 400;
@@ -987,6 +987,7 @@ char *AIFunc_InspectBulletImpact( cast_state_t *cs ) {
gentity_t *ent;
vec3_t v1;
//
+ //
ent = &g_entities[cs->entityNum];
//
cs->bulletImpactIgnoreTime = level.time + 800;
@@ -1226,7 +1227,7 @@ char *AIFunc_InspectAudibleEvent( cast_state_t *cs ) {
if ( !ent->waterlevel ) {
dir[2] = 0;
}
- //trap_EA_Move(cs->entityNum, dir, 400);
+// trap_EA_Move( cs->entityNum, dir, 400 );
trap_EA_GetInput( cs->entityNum, (float) level.time / 1000, &bi );
VectorCopy( dir, bi.dir );
bi.speed = 400;
@@ -1240,7 +1241,7 @@ char *AIFunc_InspectAudibleEvent( cast_state_t *cs ) {
cs->ideal_viewangles[2] *= 0.5;
moved = qtrue;
} else { // clear movement
- //trap_EA_Move(cs->entityNum, dir, 0);
+// trap_EA_Move(cs->entityNum, dir, 0);
}
//
G_FreeEntity( gent );
@@ -1252,7 +1253,6 @@ char *AIFunc_InspectAudibleEvent( cast_state_t *cs ) {
moveresult = AICast_MoveToPos( cs, destorg, -1 );
// if we cant get there, do something else
if ( moveresult && moveresult->failure ) {
-
// if we can get a visible target, then face it
if ( trap_AAS_GetRouteFirstVisPos( cs->audibleEventOrg, cs->bs->origin, cs->travelflags, destorg ) ) {
cs->aiFlags |= AIFL_MISCFLAG2;
@@ -1512,7 +1512,7 @@ char *AIFunc_ChaseGoalIdle( cast_state_t *cs ) {
return NULL;
} else if ( numEnemies == -2 ) { // inspection may be required
char *retval;
- // TTimo: gcc: suggest () around assignment used as truth value
+
if ( ( retval = AIFunc_InspectFriendlyStart( cs, enemies[0] ) ) ) {
return retval;
}
@@ -1763,7 +1763,7 @@ char *AIFunc_ChaseGoal( cast_state_t *cs ) {
return NULL;
} else if ( numEnemies == -2 ) { // inspection may be required
char *retval;
- // TTimo: gcc: suggest () around assignment used as truth value
+
if ( ( retval = AIFunc_InspectFriendlyStart( cs, enemies[0] ) ) ) {
return retval;
}
@@ -2149,11 +2149,11 @@ char *AIFunc_BattleHunt( cast_state_t *cs ) {
//
// if we can see them, go back to an attack state
AICast_ChooseWeapon( cs, qtrue ); // enable special weapons, if we cant get them, change back
- if ( AICast_EntityVisible( cs, cs->enemyNum, qtrue ) // take into account reaction time
+ if ( AICast_EntityVisible( cs, cs->enemyNum, qtrue ) // take into account reaction time
&& AICast_CheckAttack( cs, cs->enemyNum, qfalse )
&& cs->obstructingTime < level.time ) {
if ( AICast_StopAndAttack( cs ) ) {
- // TTimo: gcc: suggest () around assignment used as truth value
+
if ( ( rval = AIFunc_BattleStart( cs ) ) ) {
return rval;
}
@@ -2173,7 +2173,7 @@ char *AIFunc_BattleHunt( cast_state_t *cs ) {
} else if ( numEnemies == -2 ) { // inspection may be required
char *retval;
if ( cs->aiState < AISTATE_COMBAT ) {
- // TTimo: gcc: suggest () around assignment used as truth value
+
if ( ( retval = AIFunc_InspectFriendlyStart( cs, enemies[0] ) ) ) {
return retval;
}
@@ -2762,14 +2762,14 @@ char *AIFunc_BattleChase( cast_state_t *cs ) {
//
// if we only recently saw them, face them
//
- /* RF: disabled 9/19/01, characters like boss2 supersoldier are forced to walk backwards and look wierd
+/* RF: disabled 9/19/01, characters like boss2 supersoldier are forced to walk backwards and look wierd
if (cs->vislist[cs->enemyNum].visible_timestamp > level.time - 3000) {
AICast_AimAtEnemy( cs ); // be ready for an attack if they become visible again
//if (cs->attributes[ATTACK_CROUCH] > 0.1) { // crouching for combat
// cs->attackcrouch_time = level.time + 1000;
//}
}
- */
+*/
//
// Lob a Grenade?
@@ -2842,7 +2842,7 @@ char *AIFunc_BattleChase( cast_state_t *cs ) {
if ( !ent->waterlevel ) {
dir[2] = 0;
}
- //trap_EA_Move(cs->entityNum, dir, 400);
+ //trap_EA_Move( cs->entityNum, dir, 400 );
trap_EA_GetInput( cs->entityNum, (float) level.time / 1000, &bi );
VectorCopy( dir, bi.dir );
bi.speed = 400;
@@ -3630,8 +3630,9 @@ AIFunc_BattleTakeCoverStart()
char *AIFunc_BattleTakeCoverStart( cast_state_t *cs ) {
// debugging
#ifdef DEBUG
-// if (cs->attributes[AGGRESSION] >= 1.0)
+// if ( cs->attributes[AGGRESSION] >= 1.0 ) {
// AICast_Printf( 0, "AI taking cover with full aggression!\n" );
+// }
#endif
if ( !AICast_CanMoveWhileFiringWeapon( cs->weaponNum ) ) {
@@ -3667,7 +3668,7 @@ char *AIFunc_GrenadeFlush( cast_state_t *cs ) {
vec3_t destorg, endPos;
qboolean moved = qfalse;
int hitclient;
- //qboolean attacked = qfalse; // TTimo: unused
+// qboolean attacked = qfalse;
float dist, oldyaw;
int grenadeType;
@@ -3785,15 +3786,15 @@ char *AIFunc_GrenadeFlush( cast_state_t *cs ) {
// if we can see them, go back to an attack state after some time
if ( AICast_CheckAttack( cs, cs->enemyNum, qfalse )
&& cs->obstructingTime < level.time ) { // give us some time to throw the grenade, otherwise go back to attack state
- //if ((cs->grenadeFlushEndTime > 0 && cs->grenadeFlushEndTime < level.time)) {
- //G_Printf("aborting, enemy is attackable\n");
- return AIFunc_BattleStart( cs );
- //} else if (cs->grenadeFlushEndTime < 0) {
- // cs->grenadeFlushEndTime = level.time + 1500;
- //}
+// if ( ( cs->grenadeFlushEndTime > 0 && cs->grenadeFlushEndTime < level.time ) ) {
+// G_Printf( "aborting, enemy is attackable\n" );
+ return AIFunc_BattleStart( cs );
+// } else if ( cs->grenadeFlushEndTime < 0 ) {
+// cs->grenadeFlushEndTime = level.time + 1500;
+// }
//attack the enemy if possible
- //AICast_ProcessAttack( cs );
- //attacked = qtrue;
+// AICast_ProcessAttack( cs );
+// attacked = qtrue;
} else {
// not visible, go to their previously visible position
if ( !cs->vislist[cs->enemyNum].visible_timestamp || Distance( bs->origin, cs->vislist[cs->enemyNum].real_visible_pos ) < 16 ) {
@@ -3814,7 +3815,7 @@ char *AIFunc_GrenadeFlush( cast_state_t *cs ) {
return NULL;
} else if ( numEnemies == -2 ) { // inspection may be required
char *retval;
- // TTimo: gcc: suggest () around assignment used as truth value
+
if ( ( retval = AIFunc_InspectFriendlyStart( cs, enemies[0] ) ) ) {
return retval;
}
@@ -3870,7 +3871,7 @@ char *AIFunc_GrenadeFlush( cast_state_t *cs ) {
if ( !ent->waterlevel ) {
dir[2] = 0;
}
- //trap_EA_Move(cs->entityNum, dir, 400);
+// trap_EA_Move( cs->entityNum, dir, 400 );
trap_EA_GetInput( cs->entityNum, (float) level.time / 1000, &bi );
VectorCopy( dir, bi.dir );
bi.speed = 400;
@@ -3909,8 +3910,9 @@ char *AIFunc_GrenadeFlush( cast_state_t *cs ) {
hitclient = AICast_SafeMissileFire( grenade, grenade->nextthink - level.time, cs->enemyNum, destorg, cs->entityNum, endPos );
// kill the grenade
G_FreeEntity( grenade );
- //if (!attacked)
- // cs->weaponNum = grenadeType; // select grenade launcher
+// if ( !attacked ) {
+// cs->weaponNum = grenadeType; // select grenade launcher
+// }
// set our angles for the next frame
oldyaw = cs->ideal_viewangles[YAW];
AICast_AimAtEnemy( cs );
@@ -3992,7 +3994,7 @@ AIFunc_BattleMG42()
char *AIFunc_BattleMG42( cast_state_t *cs ) {
bot_state_t *bs;
gentity_t *mg42, *ent;
- vec3_t angles, vec; //, bestangles;
+ vec3_t angles, vec;
qboolean unmount = qfalse;
mg42 = &g_entities[cs->mountedEntity];
@@ -4034,7 +4036,6 @@ char *AIFunc_BattleMG42( cast_state_t *cs ) {
VectorNormalize( vec );
vectoangles( vec, angles );
angles[PITCH] = AngleNormalize180( angles[PITCH] );
-// VectorCopy( angles, bestangles );
}
// check for enemy outside harc
@@ -4074,13 +4075,11 @@ char *AIFunc_BattleMG42( cast_state_t *cs ) {
unmount = qfalse;
//
if ( AICast_CheckAttack( cs, enemies[i], qfalse ) ) {
- //VectorCopy( angles, bestangles );
cs->enemyNum = enemies[i];
shouldAttack = qtrue;
break;
} else if ( AICast_CheckAttack( cs, enemies[i], qtrue ) ) {
// keep firing at anything behind solids, in case they find a position where they can shoot us, but our checkattack() doesn't find a clear shot
- //VectorCopy( angles, bestangles );
cs->enemyNum = enemies[i];
shouldAttack = qtrue;
}
@@ -4186,7 +4185,7 @@ char *AIFunc_InspectBody( cast_state_t *cs ) {
return NULL;
} else if ( numEnemies == -2 ) { // inspection may be required
char *retval;
- // TTimo: gcc: suggest () around assignment used as truth value
+
if ( ( retval = AIFunc_InspectFriendlyStart( cs, enemies[0] ) ) ) {
return retval;
}
@@ -4519,7 +4518,7 @@ char *AIFunc_GrenadeKick( cast_state_t *cs ) {
}
if ( numEnemies == -2 ) { // inspection may be required
char *retval;
- // TTimo: gcc: suggest () around assignment used as truth value
+
if ( ( retval = AIFunc_InspectFriendlyStart( cs, enemies[0] ) ) ) {
return retval;
}
@@ -4614,7 +4613,6 @@ AIFunc_Battle()
*/
char *AIFunc_Battle( cast_state_t *cs ) {
bot_moveresult_t moveresult;
- //int tfl;
bot_state_t *bs;
gentity_t *ent, *enemy;
@@ -4767,15 +4765,6 @@ char *AIFunc_Battle( cast_state_t *cs ) {
//
// setup for the fight
//
- //tfl = cs->travelflags;
- //if in lava or slime the bot should be able to get out
- //if ( BotInLava( bs ) ) {
- // tfl |= TFL_LAVA;
- //}
- //if ( BotInSlime( bs ) ) {
- // tfl |= TFL_SLIME;
- //}
- //
/*
moveresult = AICast_CombatMove(cs, tfl);
//if the movement failed
diff --git a/SP/code/game/ai_cast_script.c b/SP/code/game/ai_cast_script.c
index 9548e45..d468d1b 100644
--- a/SP/code/game/ai_cast_script.c
+++ b/SP/code/game/ai_cast_script.c
@@ -59,7 +59,7 @@ qboolean AICast_ScriptAction_GotoCast( cast_state_t *cs, char *params );
qboolean AICast_ScriptAction_WalkToCast( cast_state_t *cs, char *params );
qboolean AICast_ScriptAction_CrouchToCast( cast_state_t *cs, char *params );
qboolean AICast_ScriptAction_Wait( cast_state_t *cs, char *params );
-qboolean AICast_ScriptAction_AbortIfLoadgame( cast_state_t *cs, char *params ); //----(SA) added
+qboolean AICast_ScriptAction_AbortIfLoadgame( cast_state_t *cs, char *params ); //----(SA) added
qboolean AICast_ScriptAction_Trigger( cast_state_t *cs, char *params );
qboolean AICast_ScriptAction_FollowCast( cast_state_t *cs, char *params );
qboolean AICast_ScriptAction_PlaySound( cast_state_t *cs, char *params );
@@ -68,11 +68,11 @@ qboolean AICast_ScriptAction_Attack( cast_state_t *cs, char *params );
qboolean AICast_ScriptAction_PlayAnim( cast_state_t *cs, char *params );
qboolean AICast_ScriptAction_ClearAnim( cast_state_t *cs, char *params );
qboolean AICast_ScriptAction_SetAmmo( cast_state_t *cs, char *params );
-qboolean AICast_ScriptAction_SetClip( cast_state_t *cs, char *params ); //----(SA) added
+qboolean AICast_ScriptAction_SetClip( cast_state_t *cs, char *params ); //----(SA) added
qboolean AICast_ScriptAction_SelectWeapon( cast_state_t *cs, char *params );
-qboolean AICast_ScriptAction_GiveArmor( cast_state_t *cs, char *params ); //----(SA) added
-qboolean AICast_ScriptAction_SetArmor( cast_state_t *cs, char *params ); //----(SA) added
-qboolean AICast_ScriptAction_SuggestWeapon( cast_state_t *cs, char *params ); //----(SA) added
+qboolean AICast_ScriptAction_GiveArmor( cast_state_t *cs, char *params ); //----(SA) added
+qboolean AICast_ScriptAction_SetArmor( cast_state_t *cs, char *params ); //----(SA) added
+qboolean AICast_ScriptAction_SuggestWeapon( cast_state_t *cs, char *params ); //----(SA) added
qboolean AICast_ScriptAction_GiveWeapon( cast_state_t *cs, char *params );
qboolean AICast_ScriptAction_GiveInventory( cast_state_t *cs, char *params );
qboolean AICast_ScriptAction_TakeWeapon( cast_state_t *cs, char *params );
@@ -94,8 +94,8 @@ qboolean AICast_ScriptAction_Mount( cast_state_t *cs, char *params );
qboolean AICast_ScriptAction_Unmount( cast_state_t *cs, char *params );
qboolean AICast_ScriptAction_SavePersistant( cast_state_t *cs, char *params );
qboolean AICast_ScriptAction_ChangeLevel( cast_state_t *cs, char *params );
-qboolean AICast_ScriptAction_EndGame( cast_state_t *cs, char *params ); //----(SA) added
-qboolean AICast_ScriptAction_Teleport( cast_state_t *cs, char *params ); //----(SA) added
+qboolean AICast_ScriptAction_EndGame( cast_state_t *cs, char *params ); //----(SA) added
+qboolean AICast_ScriptAction_Teleport( cast_state_t *cs, char *params ); //----(SA) added
qboolean AICast_ScriptAction_FoundSecret( cast_state_t *cs, char *params );
qboolean AICast_ScriptAction_NoSight( cast_state_t *cs, char *params );
qboolean AICast_ScriptAction_Sight( cast_state_t *cs, char *params );
@@ -111,9 +111,9 @@ qboolean AICast_ScriptAction_StateType( cast_state_t *cs, char *params );
qboolean AICast_ScriptAction_KnockBack( cast_state_t *cs, char *params );
qboolean AICast_ScriptAction_Zoom( cast_state_t *cs, char *params );
qboolean AICast_ScriptAction_Parachute( cast_state_t *cs, char *params );
-qboolean AICast_ScriptAction_Cigarette( cast_state_t *cs, char *params ); //----(SA) added
+qboolean AICast_ScriptAction_Cigarette( cast_state_t *cs, char *params ); //----(SA) added
qboolean AICast_ScriptAction_StartCam( cast_state_t *cs, char *params );
-qboolean AICast_ScriptAction_StopCam( cast_state_t *cs, char *params ); //----(SA) added
+qboolean AICast_ScriptAction_StopCam( cast_state_t *cs, char *params ); //----(SA) added
qboolean AICast_ScriptAction_StartCamBlack( cast_state_t *cs, char *params );
qboolean AICast_ScriptAction_EntityScriptName( cast_state_t *cs, char *params );
qboolean AICast_ScriptAction_AIScriptName( cast_state_t *cs, char *params );
@@ -121,11 +121,11 @@ qboolean AICast_ScriptAction_SetHealth( cast_state_t *cs, char *params );
qboolean AICast_ScriptAction_NoTarget( cast_state_t *cs, char *params );
qboolean AICast_ScriptAction_Cvar( cast_state_t *cs, char *params );
-qboolean AICast_ScriptAction_MusicStart( cast_state_t *cs, char *params ); //----(SA)
-qboolean AICast_ScriptAction_MusicPlay( cast_state_t *cs, char *params ); //----(SA)
-qboolean AICast_ScriptAction_MusicStop( cast_state_t *cs, char *params ); //----(SA)
-qboolean AICast_ScriptAction_MusicFade( cast_state_t *cs, char *params ); //----(SA)
-qboolean AICast_ScriptAction_MusicQueue( cast_state_t *cs, char *params ); //----(SA)
+qboolean AICast_ScriptAction_MusicStart( cast_state_t *cs, char *params ); //----(SA)
+qboolean AICast_ScriptAction_MusicPlay( cast_state_t *cs, char *params ); //----(SA)
+qboolean AICast_ScriptAction_MusicStop( cast_state_t *cs, char *params ); //----(SA)
+qboolean AICast_ScriptAction_MusicFade( cast_state_t *cs, char *params ); //----(SA)
+qboolean AICast_ScriptAction_MusicQueue( cast_state_t *cs, char *params ); //----(SA)
qboolean AICast_ScriptAction_ExplicitRouting( cast_state_t *cs, char *params );
qboolean AICast_ScriptAction_LockPlayer( cast_state_t *cs, char *params );
@@ -149,16 +149,16 @@ cast_script_stack_action_t scriptActions[] =
{"playanim", AICast_ScriptAction_PlayAnim},
{"clearanim", AICast_ScriptAction_ClearAnim},
{"wait", AICast_ScriptAction_Wait},
- {"abort_if_loadgame",AICast_ScriptAction_AbortIfLoadgame}, //----(SA) added
+ {"abort_if_loadgame",AICast_ScriptAction_AbortIfLoadgame}, //----(SA) added
{"trigger", AICast_ScriptAction_Trigger},
{"setammo", AICast_ScriptAction_SetAmmo},
- {"setclip", AICast_ScriptAction_SetClip}, //----(SA) added
+ {"setclip", AICast_ScriptAction_SetClip}, //----(SA) added
{"selectweapon", AICast_ScriptAction_SelectWeapon},
{"noattack", AICast_ScriptAction_NoAttack},
- {"suggestweapon", AICast_ScriptAction_SuggestWeapon}, //----(SA) added
+ {"suggestweapon", AICast_ScriptAction_SuggestWeapon}, //----(SA) added
{"attack", AICast_ScriptAction_Attack},
- {"givearmor", AICast_ScriptAction_GiveArmor}, //----(SA) added
- {"setarmor", AICast_ScriptAction_SetArmor}, //----(SA) added
+ {"givearmor", AICast_ScriptAction_GiveArmor}, //----(SA) added
+ {"setarmor", AICast_ScriptAction_SetArmor}, //----(SA) added
{"giveinventory", AICast_ScriptAction_GiveInventory},
{"giveweapon", AICast_ScriptAction_GiveWeapon},
{"takeweapon", AICast_ScriptAction_TakeWeapon},
@@ -171,7 +171,7 @@ cast_script_stack_action_t scriptActions[] =
{"spawncast", AICast_ScriptAction_SpawnCast},
{"missionfailed", AICast_ScriptAction_MissionFailed},
{"missionsuccess", AICast_ScriptAction_ObjectiveMet},
- {"objectivemet", AICast_ScriptAction_ObjectiveMet}, // dupe of missionsuccess so scripts can changeover to a more logical name
+ {"objectivemet", AICast_ScriptAction_ObjectiveMet}, // dupe of missionsuccess so scripts can changeover to a more logical name
{"objectivesneeded",AICast_ScriptAction_ObjectivesNeeded},
{"noaidamage", AICast_ScriptAction_NoAIDamage},
{"print", AICast_ScriptAction_Print},
@@ -181,8 +181,8 @@ cast_script_stack_action_t scriptActions[] =
{"unmount", AICast_ScriptAction_Unmount},
{"savepersistant", AICast_ScriptAction_SavePersistant},
{"changelevel", AICast_ScriptAction_ChangeLevel},
- {"endgame", AICast_ScriptAction_EndGame}, //----(SA) added
- {"teleport", AICast_ScriptAction_Teleport}, //----(SA) added
+ {"endgame", AICast_ScriptAction_EndGame}, //----(SA) added
+ {"teleport", AICast_ScriptAction_Teleport}, //----(SA) added
{"foundsecret", AICast_ScriptAction_FoundSecret},
{"nosight", AICast_ScriptAction_NoSight},
{"sight", AICast_ScriptAction_Sight},
@@ -199,10 +199,10 @@ cast_script_stack_action_t scriptActions[] =
{"knockback", AICast_ScriptAction_KnockBack},
{"zoom", AICast_ScriptAction_Zoom},
{"parachute", AICast_ScriptAction_Parachute},
- {"cigarette", AICast_ScriptAction_Cigarette}, //----(SA) added
+ {"cigarette", AICast_ScriptAction_Cigarette}, //----(SA) added
{"startcam", AICast_ScriptAction_StartCam},
{"startcamblack", AICast_ScriptAction_StartCamBlack},
- {"stopcam", AICast_ScriptAction_StopCam}, //----(SA) added
+ {"stopcam", AICast_ScriptAction_StopCam}, //----(SA) added
{"entityscriptname",AICast_ScriptAction_EntityScriptName},
{"aiscriptname", AICast_ScriptAction_AIScriptName},
{"sethealth", AICast_ScriptAction_SetHealth},
@@ -210,11 +210,11 @@ cast_script_stack_action_t scriptActions[] =
{"cvar", AICast_ScriptAction_Cvar},
//----(SA) added some music interface
- {"mu_start", AICast_ScriptAction_MusicStart}, // (char *new_music, int time) // time to fade in
- {"mu_play", AICast_ScriptAction_MusicPlay}, // (char *new_music)
- {"mu_stop", AICast_ScriptAction_MusicStop}, // (int time) // time to fadeout
- {"mu_fade", AICast_ScriptAction_MusicFade}, // (float target_volume, int time) // time to fade to target
- {"mu_queue", AICast_ScriptAction_MusicQueue}, // (char *new_music) // music that will start when previous fades to 0
+ {"mu_start", AICast_ScriptAction_MusicStart}, // (char *new_music, int time) // time to fade in
+ {"mu_play", AICast_ScriptAction_MusicPlay}, // (char *new_music)
+ {"mu_stop", AICast_ScriptAction_MusicStop}, // (int time) // time to fadeout
+ {"mu_fade", AICast_ScriptAction_MusicFade}, // (float target_volume, int time) // time to fade to target
+ {"mu_queue", AICast_ScriptAction_MusicQueue}, // (char *new_music) // music that will start when previous fades to 0
//----(SA) end
{"explicit_routing", AICast_ScriptAction_ExplicitRouting},
@@ -240,7 +240,7 @@ cast_script_event_define_t scriptEvents[] =
{"enemydead", AICast_EventMatch_StringEqual}, // our enemy is now dead
{"trigger", AICast_EventMatch_StringEqual}, // something has triggered us (always followed by an identifier)
{"pain", AICast_EventMatch_IntInRange}, // we've been hurt
- {"death", AICast_EventMatch_StringEqual}, // RIP
+ {"death", AICast_EventMatch_StringEqual}, // RIP
{"activate", AICast_EventMatch_StringEqual}, // "param" has just activated us
{"enemysightcorpse",AICast_EventMatch_StringEqual}, // sighted the given enemy as a corpse, for the first time
{"friendlysightcorpse", 0}, // sighted a friendly as a corpse for the first time
@@ -319,8 +319,6 @@ int AICast_EventForString( char *string ) {
return -1;
}
-//----(SA) added
-
/*
===============
AICast_ActionForString
@@ -585,7 +583,7 @@ void AICast_ScriptParse( cast_state_t *cs ) {
numEventItems++;
} else // skip this character completely
{
- // TTimo: gcc: suggest () around assignment used as truth value
+
while ( ( token = COM_Parse( &pScript ) ) )
{
if ( !token[0] ) {
diff --git a/SP/code/game/ai_cast_script_actions.c b/SP/code/game/ai_cast_script_actions.c
index 150ab04..3f12af6 100644
--- a/SP/code/game/ai_cast_script_actions.c
+++ b/SP/code/game/ai_cast_script_actions.c
@@ -189,7 +189,7 @@ qboolean AICast_ScriptAction_GotoMarker( cast_state_t *cs, char *params ) {
}
// find the ai_marker with the given "targetname"
- // TTimo: gcc: suggest () around assignment used as truth value
+
while ( ( ent = G_Find( ent, FOFS( classname ), "ai_marker" ) ) )
{
if ( ent->targetname && !Q_strcasecmp( ent->targetname, token ) ) {
@@ -537,9 +537,9 @@ qboolean AICast_ScriptAction_Wait( cast_state_t *cs, char *params ) {
}
// default to no moverange
- //if (moverange == -999) {
- // moverange = 200;
- //}
+// if ( moverange == -999 ) {
+// moverange = 200;
+// }
if ( moverange != 0 ) { // default to 200 if no range given
if ( moverange > 0 ) {
@@ -549,7 +549,7 @@ qboolean AICast_ScriptAction_Wait( cast_state_t *cs, char *params ) {
&& ( cs->enemyNum >= 0 ) ) {
// if we can attack them, or they can't attack us, stay here
- // TTimo: gcc: warning: suggest parentheses around && within ||
+
if ( AICast_CheckAttack( cs, cs->enemyNum, qfalse )
|| ( !AICast_EntityVisible( AICast_GetCastState( cs->enemyNum ), cs->entityNum, qfalse )
&& !AICast_CheckAttack( AICast_GetCastState( cs->enemyNum ), cs->entityNum, qfalse ) ) ) {
@@ -1064,12 +1064,10 @@ qboolean AICast_ScriptAction_SetAmmo( cast_state_t *cs, char *params ) {
}
} else {
-
if ( g_cheats.integer ) {
G_Printf( "--SCRIPTER WARNING-- AI Scripting: setammo: unknown ammo \"%s\"", params );
}
return qfalse; // (SA) temp as scripts transition to new names
-
}
return qtrue;
@@ -1132,7 +1130,6 @@ qboolean AICast_ScriptAction_SetClip( cast_state_t *cs, char *params ) {
} else {
// G_Printf( "--SCRIPTER WARNING-- AI Scripting: setclip: unknown weapon \"%s\"", params );
return qfalse; // (SA) temp as scripts transition to new names
-// G_Error( "AI Scripting: setclip: unknown weapon \"%s\"", params );
}
return qtrue;
@@ -1214,14 +1211,8 @@ qboolean AICast_ScriptAction_SelectWeapon( cast_state_t *cs, char *params ) {
g_entities[cs->entityNum].client->ps.weaponstate = WEAPON_READY;
if ( !cs->aiCharacter ) { // only do this for player
- //vmCvar_t cvar;
- //
g_entities[cs->entityNum].client->ps.weaponTime = 750; // (SA) HACK: FIXME: TODO: delay to catch initial weapon reload
- // tell it which weapon to use after spawning in
- //trap_Cvar_Register( &cvar, "cg_loadWeaponSelect", "0", CVAR_ROM );
- //trap_Cvar_Set( "cg_loadWeaponSelect", va("%i", g_entities[cs->entityNum].client->ps.weapon ) );
}
-
} else {
// G_Printf( "--SCRIPTER WARNING-- AI Scripting: selectweapon: unknown weapon \"%s\"", params );
// return qfalse; // (SA) temp as scripts transition to new names
@@ -1388,7 +1379,6 @@ qboolean AICast_ScriptAction_TakeWeapon( cast_state_t *cs, char *params ) {
} else {
-
for ( i = 1; bg_itemlist[i].classname; i++ )
{
//----(SA) first try the name they see in the editor, then the pickup name
@@ -1589,7 +1579,7 @@ qboolean AICast_ScriptAction_SaveGame( cast_state_t *cs, char *params ) {
//----(SA) check for parameter
saveName = COM_ParseExt( &pString, qfalse );
if ( !saveName[0] ) {
- G_SaveGame( NULL ); // save the default "current" savegame
+ G_SaveGame( NULL ); // save the default "current" savegame
} else {
G_SaveGame( saveName );
}
@@ -1609,7 +1599,8 @@ qboolean AICast_ScriptAction_FireAtTarget( cast_state_t *cs, char *params ) {
gentity_t *ent;
vec3_t vec, org, src;
char *pString, *token;
- int i, diff;
+ float diff;
+ int i;
pString = params;
@@ -2650,6 +2641,7 @@ qboolean AICast_ScriptAction_Zoom( cast_state_t *cs, char *params ) {
}
+//----(SA) added
/*
===================
AICast_ScriptAction_StartCam
@@ -2690,8 +2682,6 @@ qboolean AICast_ScriptAction_StartCamBlack( cast_state_t *cs, char *params ) {
return ScriptStartCam( cs, params, qtrue );
}
-
-//----(SA) added
qboolean AICast_ScriptAction_StopCamBlack( cast_state_t *cs, char *params ) {
trap_SendServerCommand( cs->entityNum, "stopCamblack" );
return qtrue;
@@ -2701,10 +2691,7 @@ qboolean AICast_ScriptAction_StopCam( cast_state_t *cs, char *params ) {
trap_SendServerCommand( cs->entityNum, "stopCam" );
return qtrue;
}
-//----(SA) end
-
-//----(SA) added
qboolean AICast_ScriptAction_Cigarette( cast_state_t *cs, char *params ) {
char *pString, *token;
@@ -2853,10 +2840,6 @@ qboolean AICast_ScriptAction_Cvar( cast_state_t *cs, char *params ) {
return qtrue;
}
-
-
-//----(SA) added some music interface
-
/*
==================
AICast_ScriptAction_MusicStart
diff --git a/SP/code/game/ai_cast_think.c b/SP/code/game/ai_cast_think.c
index ec91d41..24376c1 100644
--- a/SP/code/game/ai_cast_think.c
+++ b/SP/code/game/ai_cast_think.c
@@ -948,7 +948,7 @@ void AICast_StartServerFrame( int time ) {
gentity_t *ent;
cast_state_t *pcs;
qboolean highPriority;
- int oldLegsTimer;
+ int oldLegsTimer;
if ( trap_Cvar_VariableIntegerValue( "savegame_loading" ) ) {
return;
@@ -995,23 +995,23 @@ void AICast_StartServerFrame( int time ) {
pcs = AICast_GetCastState( 0 );
-//G_Printf( "AI startserverframe: %i\n", time );
+// G_Printf( "AI startserverframe: %i\n", time );
AICast_AgePlayTime( 0 );
if ( elapsed < 0 ) {
- // elapsed = 0;
+// elapsed = 0;
lasttime = time;
}
// don't let the framerate drop below 10
- //if ( elapsed > 100 ) {
- // elapsed = 100;
- //}
+// if ( elapsed > 100 ) {
+// elapsed = 100;
+// }
//
// process player's current script if it exists
AICast_ScriptRun( AICast_GetCastState( 0 ), qfalse );
//
- //AICast_SightUpdate( (int)((float)SIGHT_PER_SEC * ((float)elapsed / 1000)) );
+// AICast_SightUpdate( (int)((float)SIGHT_PER_SEC * ((float)elapsed / 1000)) );
//
castcount = 0;
activeCount = 0;
@@ -1019,8 +1019,9 @@ void AICast_StartServerFrame( int time ) {
//update the AI characters
for ( i = 0, ent = g_entities; i < level.maxclients /*&& clCount < level.numPlayingClients*/; i++, ent++ )
{
- //if (ent->inuse && ent->client)
- // clCount++;
+// if ( ent->inuse && ent->client ) {
+// clCount++;
+// }
//
cs = AICast_GetCastState( i );
// is this a cast AI?
@@ -1103,8 +1104,8 @@ void AICast_PredictMovement( cast_state_t *cs, int numframes, float frametime, a
gentity_t *ent = &g_entities[cs->entityNum];
bot_input_t bi;
-//int pretime = Sys_MilliSeconds();
-//G_Printf("PredictMovement: %f duration, %i frames\n", frametime, numframes );
+// int pretime = Sys_MilliSeconds();
+// G_Printf("PredictMovement: %f duration, %i frames\n", frametime, numframes );
if ( cs->bs ) {
ps = cs->bs->cur_ps;
@@ -1239,7 +1240,7 @@ qboolean AICast_GetAvoid( cast_state_t *cs, bot_goal_t *goal, vec3_t outpos, qbo
usercmd_t ucmd;
qboolean enemyVisible;
float angleDiff;
- int starttraveltime = 0, traveltime; // TTimo: init
+ int starttraveltime = 0, traveltime;
int invert;
float inc;
qboolean averting = qfalse;
--
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-games/iortcw.git
More information about the Pkg-games-commits
mailing list