[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