thirtyflightsofloving/game/g_func_decs.h
Knightmare66 97a87dbe6e Added color1 userinfo cvar for player railgun effect color to client.
Added red/green/blue component sliders to player setup menu to change player railgun effect color.
Added parsing test code for color1 cvar in client code of default Lazarus DLL.
Will integrate custom color into railgun weapon code for next savegame version increment.
2021-10-21 02:03:19 -04:00

1845 lines
110 KiB
C

extern void Info_SetValueForKey ( char * s , char * key , char * value ) ;
extern qboolean Info_Validate ( char * s ) ;
extern void Info_RemoveKey ( char * s , char * key ) ;
extern char * Info_ValueForKey ( char * s , char * key ) ;
extern unsigned int Com_HashFileName ( const char * fname , int hashSize , qboolean sized ) ;
extern void Com_sprintf ( char * dest , size_t size , char * fmt , ... ) ;
extern char * Q_strupr ( char * string ) ;
extern char * Q_strlwr ( char * string ) ;
extern void Q_snprintfz ( char * dst , size_t dstSize , const char * fmt , ... ) ;
extern size_t Q_strncatz ( char * dst , size_t dstSize , const char * src ) ;
extern size_t Q_strncpyz ( char * dst , size_t dstSize , const char * src ) ;
extern int Q_strcasecmp ( char * s1 , char * s2 ) ;
extern int Q_strncasecmp ( char * s1 , char * s2 , size_t n ) ;
extern int Q_SortStrcmp ( const char * * arg1 , const char * * arg2 ) ;
extern int Q_strcmp ( const char * string1 , const char * string2 ) ;
extern int Q_strncmp ( const char * string1 , const char * string2 , int n ) ;
extern int Q_stricmp ( char * s1 , char * s2 ) ;
extern qboolean Q_StrScanToken ( const char * string , const char * findToken , qboolean isCommand ) ;
extern qboolean Q_GlobMatch ( const char * pattern , const char * text , qboolean caseSensitive ) ;
extern void Com_PageInMemory ( byte * buffer , int size ) ;
extern qboolean Com_ParseColorString ( const char * s , color_t outColor ) ;
extern int Com_ParseHexDigit ( const char c ) ;
extern char * COM_ParseExt ( char * * data_p , qboolean allowNewLines ) ;
extern char * COM_Parse ( char * * data_p ) ;
extern void COM_SkipRestOfLine ( char * * data_p ) ;
extern void COM_SkipBracedSection ( char * * data_p , int depth ) ;
extern char * COM_SkipWhiteSpace ( char * data_p , qboolean * hasNewLines ) ;
extern char * va ( char * format , ... ) ;
extern void Swap_Init ( void ) ;
extern float FloatNoSwap ( float f ) ;
extern float FloatSwap ( float f ) ;
extern qint64 Long64NoSwap ( qint64 ll ) ;
extern qint64 Long64Swap ( qint64 ll ) ;
extern int LongNoSwap ( int l ) ;
extern int LongSwap ( int l ) ;
extern short ShortNoSwap ( short l ) ;
extern short ShortSwap ( short l ) ;
extern float LittleFloat ( float l ) ;
extern float BigFloat ( float l ) ;
extern qint64 LittleLong64 ( qint64 l ) ;
extern qint64 BigLong64 ( qint64 l ) ;
extern int LittleLong ( int l ) ;
extern int BigLong ( int l ) ;
extern short LittleShort ( short l ) ;
extern short BigShort ( short l ) ;
extern void COM_DefaultExtension ( char * path , size_t pathSize , char * extension ) ;
extern void COM_FilePath ( char * in , char * out , size_t outSize ) ;
extern void COM_FileBase ( char * in , char * out , size_t outSize ) ;
extern char * COM_FileExtension ( char * in ) ;
extern void COM_StripExtension ( char * in , char * out , size_t outSize ) ;
extern char * COM_SkipPath ( char * pathname ) ;
extern void MatrixMultiply ( float in1 [ 3 ] [ 3 ] , float in2 [ 3 ] [ 3 ] , float out [ 3 ] [ 3 ] ) ;
extern qboolean AxisCompare ( const vec3_t axis1 [ 3 ] , const vec3_t axis2 [ 3 ] ) ;
extern void AxisCopy ( const vec3_t in [ 3 ] , vec3_t out [ 3 ] ) ;
extern void AxisClear ( vec3_t axis [ 3 ] ) ;
extern void AnglesToAxis ( const vec3_t angles , vec3_t axis [ 3 ] ) ;
extern void VectorRotate ( const vec3_t v , const vec3_t matrix [ 3 ] , vec3_t out ) ;
extern int Q_log2 ( int val ) ;
extern float Q_rsqrt ( float in ) ;
extern void VectorScale ( vec3_t in , vec_t scale , vec3_t out ) ;
extern void VectorInverse ( vec3_t v ) ;
extern vec_t VectorLength ( vec3_t v ) ;
extern void CrossProduct ( vec3_t v1 , vec3_t v2 , vec3_t cross ) ;
extern void _VectorCopy ( vec3_t in , vec3_t out ) ;
extern void _VectorAdd ( vec3_t veca , vec3_t vecb , vec3_t out ) ;
extern void _VectorSubtract ( vec3_t veca , vec3_t vecb , vec3_t out ) ;
extern vec_t _DotProduct ( vec3_t v1 , vec3_t v2 ) ;
extern void VectorMA ( vec3_t veca , float scale , vec3_t vecb , vec3_t vecc ) ;
extern void VectorNormalizeFast ( vec3_t v ) ;
extern vec_t VectorNormalize2 ( vec3_t v , vec3_t out ) ;
extern vec_t VectorNormalize ( vec3_t v ) ;
extern int VectorCompare ( vec3_t v1 , vec3_t v2 ) ;
extern void AddPointToBounds ( vec3_t v , vec3_t mins , vec3_t maxs ) ;
extern void ClearBounds ( vec3_t mins , vec3_t maxs ) ;
extern int BoxOnPlaneSide ( vec3_t emins , vec3_t emaxs , struct cplane_s * p ) ;
extern int BoxOnPlaneSide2 ( vec3_t emins , vec3_t emaxs , struct cplane_s * p ) ;
extern float anglemod ( float a ) ;
extern float LerpAngle ( float a2 , float a1 , float frac ) ;
extern int Q_ftol ( float f ) ;
extern float Q_fabs ( float f ) ;
extern void R_ConcatTransforms ( float in1 [ 3 ] [ 4 ] , float in2 [ 3 ] [ 4 ] , float out [ 3 ] [ 4 ] ) ;
extern void R_ConcatRotations ( float in1 [ 3 ] [ 3 ] , float in2 [ 3 ] [ 3 ] , float out [ 3 ] [ 3 ] ) ;
extern void PerpendicularVector ( vec3_t dst , const vec3_t src ) ;
extern void ProjectPointOnPlane ( vec3_t dst , const vec3_t p , const vec3_t normal ) ;
extern void VecToAngleRolled ( vec3_t value1 , float angleyaw , vec3_t angles ) ;
extern void MakeNormalVectors ( vec3_t forward , vec3_t right , vec3_t up ) ;
extern void AngleVectors ( vec3_t angles , vec3_t forward , vec3_t right , vec3_t up ) ;
extern void RotatePointAroundVector ( vec3_t dst , const vec3_t dir , const vec3_t point , float degrees ) ;
extern void kick_attack ( edict_t * ent ) ;
extern void Weapon_Null ( edict_t * ent ) ;
extern void Weapon_BFG ( edict_t * ent ) ;
extern void weapon_bfg_fire ( edict_t * ent , qboolean altfire ) ;
extern void Weapon_Railgun ( edict_t * ent ) ;
extern void weapon_railgun_fire ( edict_t * ent , qboolean altfire ) ;
extern void Weapon_SuperShotgun ( edict_t * ent ) ;
extern void weapon_supershotgun_fire ( edict_t * ent , qboolean altfire ) ;
extern void Weapon_Shotgun ( edict_t * ent ) ;
extern void weapon_shotgun_fire ( edict_t * ent , qboolean altfire ) ;
extern void Weapon_Chaingun ( edict_t * ent ) ;
extern void Chaingun_Fire ( edict_t * ent , qboolean altfire ) ;
extern void Weapon_Machinegun ( edict_t * ent ) ;
extern void Machinegun_Fire ( edict_t * ent , qboolean altfire ) ;
extern void Weapon_HyperBlaster ( edict_t * ent ) ;
extern void Weapon_HyperBlaster_Fire ( edict_t * ent , qboolean altfire ) ;
extern void Weapon_Blaster ( edict_t * ent ) ;
extern void Weapon_Blaster_Fire ( edict_t * ent , qboolean altfire ) ;
extern void Blaster_Fire ( edict_t * ent , vec3_t g_offset , int damage , qboolean hyper , int effect , int color ) ;
extern void Weapon_HomingMissileLauncher ( edict_t * ent ) ;
extern void Weapon_HomingMissileLauncher_Fire ( edict_t * ent , qboolean altfire ) ;
extern void Weapon_RocketLauncher ( edict_t * ent ) ;
extern void Weapon_RocketLauncher_Fire ( edict_t * ent , qboolean altfire ) ;
extern edict_t * rocket_target ( edict_t * self , vec3_t start , vec3_t forward ) ;
extern void Weapon_GrenadeLauncher ( edict_t * ent ) ;
extern void weapon_grenadelauncher_fire ( edict_t * ent , qboolean altfire ) ;
extern void Weapon_Grenade ( edict_t * ent ) ;
extern void weapon_grenade_fire ( edict_t * ent , qboolean held ) ;
extern void Weapon_Generic ( edict_t * ent , int FRAME_ACTIVATE_LAST , int FRAME_FIRE_LAST , int FRAME_IDLE_LAST , int FRAME_DEACTIVATE_LAST , int * pause_frames , int * fire_frames , void ( * fire ) ( edict_t * ent , qboolean altfire ) ) ;
extern void Weapon_Generic2 ( edict_t * ent , int FRAME_ACTIVATE_LAST , int FRAME_FIRE_LAST , int FRAME_IDLE_LAST , int FRAME_DEACTIVATE_LAST , int * pause_frames , int * fire_frames , void ( * fire ) ( edict_t * ent , qboolean altfire ) ) ;
extern void Drop_Weapon ( edict_t * ent , gitem_t * item ) ;
extern void Use_Weapon ( edict_t * ent , gitem_t * in_item ) ;
extern void Think_Weapon ( edict_t * ent ) ;
extern void NoAmmoWeaponChange ( edict_t * ent ) ;
extern void ChangeWeapon ( edict_t * ent ) ;
extern qboolean Pickup_Weapon ( edict_t * ent , edict_t * other ) ;
extern void PlayerNoise ( edict_t * who , vec3_t where , int type ) ;
extern void P_ProjectSource ( gclient_t * client , vec3_t point , vec3_t distance , vec3_t forward , vec3_t right , vec3_t result ) ;
extern void ClientEndServerFrame ( edict_t * ent ) ;
extern void WhatsIt ( edict_t * ent ) ;
extern void G_SetClientFrame ( edict_t * ent ) ;
extern qboolean PlayerOnFloor ( edict_t * player ) ;
extern void G_SetClientSound ( edict_t * ent ) ;
extern void G_SetClientEvent ( edict_t * ent ) ;
extern void G_SetClientEffects ( edict_t * ent ) ;
extern void P_WorldEffects ( void ) ;
extern void P_FallingDamage ( edict_t * ent ) ;
extern void P_SlamDamage ( edict_t * ent ) ;
extern void SV_CalcBlend ( edict_t * ent ) ;
extern void SV_AddBlend ( float r , float g , float b , float a , float * v_blend ) ;
extern void SV_CalcGunOffset ( edict_t * ent ) ;
extern void SV_CalcViewOffset ( edict_t * ent ) ;
extern void P_DamageFeedback ( edict_t * player ) ;
extern float SV_CalcRoll ( vec3_t angles , vec3_t velocity ) ;
extern edict_t * PlayerTrail_LastSpot ( void ) ;
extern edict_t * PlayerTrail_PickNext ( edict_t * self ) ;
extern edict_t * PlayerTrail_PickFirst ( edict_t * self ) ;
extern void PlayerTrail_New ( vec3_t spot ) ;
extern void PlayerTrail_Add ( vec3_t spot ) ;
extern void PlayerTrail_Init ( void ) ;
extern void SP_target_text ( edict_t * self ) ;
extern void Use_Target_Text ( edict_t * self , edict_t * other , edict_t * activator ) ;
extern void Do_Text_Display ( edict_t * activator , int flags , char * message ) ;
extern void Text_Prev ( edict_t * ent ) ;
extern void Text_Next ( edict_t * ent ) ;
extern void Text_Update ( edict_t * ent ) ;
extern void Text_BuildDisplay ( texthnd_t * hnd ) ;
extern void Text_Close ( edict_t * ent ) ;
extern void Text_Open ( edict_t * ent ) ;
extern void PMenu_Select ( edict_t * ent ) ;
extern void PMenu_Prev ( edict_t * ent ) ;
extern void PMenu_Next ( edict_t * ent ) ;
extern void PMenu_Update ( edict_t * ent ) ;
extern void PMenu_Do_Update ( edict_t * ent ) ;
extern void PMenu_UpdateEntry ( pmenu_t * entry , const char * text , int align , SelectFunc_t SelectFunc ) ;
extern void PMenu_Close ( edict_t * ent ) ;
extern pmenuhnd_t * PMenu_Open ( edict_t * ent , pmenu_t * entries , int cur , int num , void * arg ) ;
extern void G_SetSpectatorStats ( edict_t * ent ) ;
extern void G_CheckChaseStats ( edict_t * ent ) ;
extern void G_SetStats ( edict_t * ent ) ;
extern void WhatIsIt ( edict_t * ent ) ;
extern void Cmd_Help_f ( edict_t * ent ) ;
extern void HelpComputer ( edict_t * ent ) ;
extern void Cmd_Score_f ( edict_t * ent ) ;
extern void DeathmatchScoreboard ( edict_t * ent ) ;
extern void DeathmatchScoreboardMessage ( edict_t * ent , edict_t * killer ) ;
extern void BeginIntermission ( edict_t * targ ) ;
extern void MoveClientToIntermission ( edict_t * ent ) ;
extern void ClientBeginServerFrame ( edict_t * ent ) ;
extern void ClientThink ( edict_t * ent , usercmd_t * ucmd ) ;
extern void ClientSpycam ( edict_t * ent ) ;
extern void ClientPushPushable ( edict_t * ent ) ;
extern void RemovePush ( edict_t * ent ) ;
extern float PM_CmdScale ( usercmd_t * cmd ) ;
extern void PrintPmove ( pmove_t * pm ) ;
extern unsigned CheckBlock ( void * b , int c ) ;
extern trace_t PM_trace ( vec3_t start , vec3_t mins , vec3_t maxs , vec3_t end ) ;
extern void ClientDisconnect ( edict_t * ent ) ;
extern qboolean ClientConnect ( edict_t * ent , char * userinfo ) ;
extern void ClientUserinfoChanged ( edict_t * ent , char * userinfo ) ;
extern void ClientBegin ( edict_t * ent ) ;
extern void ClientBeginDeathmatch ( edict_t * ent ) ;
extern void PutClientInServer ( edict_t * ent ) ;
extern void spectator_respawn ( edict_t * ent ) ;
extern void respawn ( edict_t * self ) ;
extern void CopyToBodyQue ( edict_t * ent ) ;
extern void body_die ( edict_t * self , edict_t * inflictor , edict_t * attacker , int damage , vec3_t point ) ;
extern void InitBodyQue ( void ) ;
extern void SelectSpawnPoint ( edict_t * ent , vec3_t origin , vec3_t angles , int * style , int * health ) ;
extern edict_t * SelectCoopSpawnPoint ( edict_t * ent ) ;
extern edict_t * SelectDeathmatchSpawnPoint ( void ) ;
extern edict_t * SelectFarthestDeathmatchSpawnPoint ( void ) ;
extern edict_t * SelectRandomDeathmatchSpawnPoint ( void ) ;
extern float PlayersRangeFromSpot ( edict_t * spot ) ;
extern void FetchClientEntData ( edict_t * ent ) ;
extern void SaveClientData ( void ) ;
extern void InitClientResp ( gclient_t * client ) ;
extern void InitClientPersistant ( gclient_t * client , int style ) ;
extern void SelectStartWeapon ( gclient_t * client , int style ) ;
extern void SwitchToBestStartWeapon ( gclient_t * client ) ;
extern void player_die ( edict_t * self , edict_t * inflictor , edict_t * attacker , int damage , vec3_t point ) ;
extern void LookAtKiller ( edict_t * self , edict_t * inflictor , edict_t * attacker ) ;
extern void TossClientWeapon ( edict_t * self ) ;
extern void ClientObituary ( edict_t * self , edict_t * inflictor , edict_t * attacker ) ;
extern qboolean IsNeutral ( edict_t * ent ) ;
extern qboolean IsFemale ( edict_t * ent ) ;
extern void player_pain ( edict_t * self , edict_t * other , float kick , int damage ) ;
extern void SP_info_player_intermission ( edict_t * self ) ;
extern void SP_info_player_coop ( edict_t * self ) ;
extern void SP_info_player_deathmatch ( edict_t * self ) ;
extern void SP_info_player_start ( edict_t * self ) ;
extern void SP_CreateCoopSpots ( edict_t * self ) ;
extern void SP_FixCoopSpots ( edict_t * self ) ;
extern void CheckChasecam_Viewent ( edict_t * ent ) ;
extern void Cmd_Chasecam_Toggle ( edict_t * ent ) ;
extern void ChasecamTrack ( edict_t * ent ) ;
extern void ChasecamRemove ( edict_t * ent , int opt ) ;
extern void ChasecamRestart ( edict_t * ent ) ;
extern void ChasecamStart ( edict_t * ent ) ;
extern void SP_monster_tank ( edict_t * self ) ;
extern void tank_die ( edict_t * self , edict_t * inflictor , edict_t * attacker , int damage , vec3_t point ) ;
extern void tank_dead ( edict_t * self ) ;
extern void tank_attack ( edict_t * self ) ;
extern void tank_doattack_rocket ( edict_t * self ) ;
extern void tank_refire_rocket ( edict_t * self ) ;
extern void tank_poststrike ( edict_t * self ) ;
extern void tank_reattack_blaster ( edict_t * self ) ;
extern void TankMachineGun ( edict_t * self ) ;
extern void TankRocket ( edict_t * self ) ;
extern void TankStrike ( edict_t * self ) ;
extern void TankBlaster ( edict_t * self ) ;
extern void tank_pain ( edict_t * self , edict_t * other , float kick , int damage ) ;
extern void tank_run ( edict_t * self ) ;
extern void tank_walk ( edict_t * self ) ;
extern void tank_stand ( edict_t * self ) ;
extern void tank_idle ( edict_t * self ) ;
extern void tank_windup ( edict_t * self ) ;
extern void tank_thud ( edict_t * self ) ;
extern void tank_footstep ( edict_t * self ) ;
extern void tank_sight ( edict_t * self , edict_t * other ) ;
extern void SP_monster_supertank ( edict_t * self ) ;
extern void supertank_die ( edict_t * self , edict_t * inflictor , edict_t * attacker , int damage , vec3_t point ) ;
extern void BossExplode ( edict_t * self ) ;
extern void supertank_dead ( edict_t * self ) ;
extern void supertank_attack ( edict_t * self ) ;
extern void supertankMachineGun ( edict_t * self ) ;
extern void supertankRocket ( edict_t * self ) ;
extern void supertank_pain ( edict_t * self , edict_t * other , float kick , int damage ) ;
extern void supertank_reattack1 ( edict_t * self ) ;
extern void supertank_run ( edict_t * self ) ;
extern void supertank_walk ( edict_t * self ) ;
extern void supertank_forward ( edict_t * self ) ;
extern void supertank_stand ( edict_t * self ) ;
extern void supertank_search ( edict_t * self ) ;
extern void TreadSound ( edict_t * self ) ;
extern void SP_monster_soldier_ss ( edict_t * self ) ;
extern void SP_monster_soldier ( edict_t * self ) ;
extern void SP_monster_soldier_light ( edict_t * self ) ;
extern void SP_monster_soldier_x ( edict_t * self ) ;
extern void soldier_die ( edict_t * self , edict_t * inflictor , edict_t * attacker , int damage , vec3_t point ) ;
extern void soldier_dead ( edict_t * self ) ;
extern void soldier_fire7 ( edict_t * self ) ;
extern void soldier_fire6 ( edict_t * self ) ;
extern void soldier_dodge ( edict_t * self , edict_t * attacker , float eta ) ;
extern void soldier_duck_hold ( edict_t * self ) ;
extern void soldier_sight ( edict_t * self , edict_t * other ) ;
extern void soldier_attack ( edict_t * self ) ;
extern void soldier_attack6_refire ( edict_t * self ) ;
extern void soldier_fire8 ( edict_t * self ) ;
extern void soldier_fire4 ( edict_t * self ) ;
extern void soldier_attack3_refire ( edict_t * self ) ;
extern void soldier_fire3 ( edict_t * self ) ;
extern void soldier_duck_up ( edict_t * self ) ;
extern void soldier_duck_down ( edict_t * self ) ;
extern void soldier_attack2_refire2 ( edict_t * self ) ;
extern void soldier_attack2_refire1 ( edict_t * self ) ;
extern void soldier_fire2 ( edict_t * self ) ;
extern void soldier_attack1_refire2 ( edict_t * self ) ;
extern void soldier_attack1_refire1 ( edict_t * self ) ;
extern void soldier_fire1 ( edict_t * self ) ;
extern void soldier_fire ( edict_t * self , int flash_number ) ;
extern void soldier_pain ( edict_t * self , edict_t * other , float kick , int damage ) ;
extern void soldier_jump ( edict_t * self ) ;
extern void soldier_run ( edict_t * self ) ;
extern void soldier_walk ( edict_t * self ) ;
extern void soldier_walk1_random ( edict_t * self ) ;
extern void soldier_stand ( edict_t * self ) ;
extern void soldier_cock ( edict_t * self ) ;
extern void soldier_idle ( edict_t * self ) ;
extern void SP_monster_parasite ( edict_t * self ) ;
extern qboolean parasite_blocked ( edict_t * self , float range ) ;
extern void parasite_jump ( edict_t * self ) ;
extern void parasite_die ( edict_t * self , edict_t * inflictor , edict_t * attacker , int damage , vec3_t point ) ;
extern void parasite_dead ( edict_t * self ) ;
extern void parasite_attack ( edict_t * self ) ;
extern void parasite_drain_attack ( edict_t * self ) ;
extern qboolean parasite_drain_attack_ok ( vec3_t start , vec3_t end ) ;
extern void parasite_pain ( edict_t * self , edict_t * other , float kick , int damage ) ;
extern void parasite_walk ( edict_t * self ) ;
extern void parasite_start_walk ( edict_t * self ) ;
extern void parasite_run ( edict_t * self ) ;
extern void parasite_start_run ( edict_t * self ) ;
extern void parasite_stand ( edict_t * self ) ;
extern void parasite_idle ( edict_t * self ) ;
extern void parasite_refidget ( edict_t * self ) ;
extern void parasite_do_fidget ( edict_t * self ) ;
extern void parasite_end_fidget ( edict_t * self ) ;
extern void parasite_search ( edict_t * self ) ;
extern void parasite_scratch ( edict_t * self ) ;
extern void parasite_tap ( edict_t * self ) ;
extern void parasite_sight ( edict_t * self , edict_t * other ) ;
extern void parasite_reel_in ( edict_t * self ) ;
extern void parasite_launch ( edict_t * self ) ;
extern void SP_monster_mutant ( edict_t * self ) ;
extern void mutant_die ( edict_t * self , edict_t * inflictor , edict_t * attacker , int damage , vec3_t point ) ;
extern void mutant_dead ( edict_t * self ) ;
extern void mutant_pain ( edict_t * self , edict_t * other , float kick , int damage ) ;
extern qboolean mutant_checkattack ( edict_t * self ) ;
extern qboolean mutant_check_jump ( edict_t * self ) ;
extern qboolean mutant_check_melee ( edict_t * self ) ;
extern void mutant_fake_jump ( edict_t * self ) ;
extern void mutant_jump ( edict_t * self ) ;
extern void mutant_check_landing ( edict_t * self ) ;
extern void mutant_jump_takeoff ( edict_t * self ) ;
extern void mutant_jump_touch ( edict_t * self , edict_t * other , cplane_t * plane , csurface_t * surf ) ;
extern void mutant_melee ( edict_t * self ) ;
extern void mutant_check_refire ( edict_t * self ) ;
extern void mutant_hit_right ( edict_t * self ) ;
extern void mutant_hit_left ( edict_t * self ) ;
extern void mutant_run ( edict_t * self ) ;
extern void mutant_walk ( edict_t * self ) ;
extern void mutant_walk_loop ( edict_t * self ) ;
extern void mutant_idle ( edict_t * self ) ;
extern void mutant_idle_loop ( edict_t * self ) ;
extern void mutant_stand ( edict_t * self ) ;
extern void mutant_swing ( edict_t * self ) ;
extern void mutant_search ( edict_t * self ) ;
extern void mutant_sight ( edict_t * self , edict_t * other ) ;
extern void mutant_step ( edict_t * self ) ;
extern qboolean M_walkmove ( edict_t * ent , float yaw , float dist ) ;
extern void M_MoveToGoal ( edict_t * ent , float dist ) ;
extern qboolean SV_CloseEnough ( edict_t * ent , edict_t * goal , float dist ) ;
extern void SV_NewChaseDir ( edict_t * actor , edict_t * enemy , float dist ) ;
extern void SV_FixCheckBottom ( edict_t * ent ) ;
extern qboolean SV_StepDirection ( edict_t * ent , float yaw , float dist ) ;
extern void M_ChangeYaw ( edict_t * ent ) ;
extern qboolean SV_movestep ( edict_t * ent , vec3_t move , qboolean relink ) ;
extern qboolean M_CheckBottom ( edict_t * ent ) ;
extern void SP_monster_medic ( edict_t * self ) ;
extern qboolean medic_checkattack ( edict_t * self ) ;
extern void medic_attack ( edict_t * self ) ;
extern void medic_hook_retract ( edict_t * self ) ;
extern void medic_cable_attack ( edict_t * self ) ;
extern void medic_hook_launch ( edict_t * self ) ;
extern void medic_continue ( edict_t * self ) ;
extern void medic_dodge ( edict_t * self , edict_t * attacker , float eta ) ;
extern void medic_duck_up ( edict_t * self ) ;
extern void medic_duck_hold ( edict_t * self ) ;
extern void medic_duck_down ( edict_t * self ) ;
extern void medic_die ( edict_t * self , edict_t * inflictor , edict_t * attacker , int damage , vec3_t point ) ;
extern void medic_dead ( edict_t * self ) ;
extern void medic_fire_blaster ( edict_t * self ) ;
extern void medic_pain ( edict_t * self , edict_t * other , float kick , int damage ) ;
extern void medic_run ( edict_t * self ) ;
extern void medic_walk ( edict_t * self ) ;
extern void medic_stand ( edict_t * self ) ;
extern void medic_sight ( edict_t * self , edict_t * other ) ;
extern void medic_search ( edict_t * self ) ;
extern void medic_idle ( edict_t * self ) ;
extern void medic_NextPatrolPoint ( edict_t * self , edict_t * hint ) ;
extern void medic_StopPatrolling ( edict_t * self ) ;
extern edict_t * medic_FindDeadMonster ( edict_t * self ) ;
extern qboolean embedded ( edict_t * ent ) ;
extern void abortHeal ( edict_t * self , qboolean mark ) ;
extern void DeleteBadMedic ( edict_t * self ) ;
extern void cleanupHeal ( edict_t * self , qboolean change_frame ) ;
extern void medic_deadmonster_think ( edict_t * self ) ;
extern void SP_misc_insane ( edict_t * self ) ;
extern void insane_die ( edict_t * self , edict_t * inflictor , edict_t * attacker , int damage , vec3_t point ) ;
extern void insane_dead ( edict_t * self ) ;
extern void insane_stand ( edict_t * self ) ;
extern void insane_checkup ( edict_t * self ) ;
extern void insane_checkdown ( edict_t * self ) ;
extern void insane_onground ( edict_t * self ) ;
extern void insane_pain ( edict_t * self , edict_t * other , float kick , int damage ) ;
extern void insane_run ( edict_t * self ) ;
extern void insane_walk ( edict_t * self ) ;
extern void insane_cross ( edict_t * self ) ;
extern void insane_scream ( edict_t * self ) ;
extern void insane_moan ( edict_t * self ) ;
extern void insane_shake ( edict_t * self ) ;
extern void insane_fist ( edict_t * self ) ;
extern void SP_monster_infantry ( edict_t * self ) ;
extern void infantry_jump ( edict_t * self ) ;
extern void infantry_attack ( edict_t * self ) ;
extern void infantry_smack ( edict_t * self ) ;
extern void infantry_swing ( edict_t * self ) ;
extern void infantry_fire ( edict_t * self ) ;
extern void infantry_cock_gun ( edict_t * self ) ;
extern void infantry_dodge ( edict_t * self , edict_t * attacker , float eta ) ;
extern void infantry_duck_up ( edict_t * self ) ;
extern void infantry_duck_hold ( edict_t * self ) ;
extern void infantry_duck_down ( edict_t * self ) ;
extern void infantry_die ( edict_t * self , edict_t * inflictor , edict_t * attacker , int damage , vec3_t point ) ;
extern void infantry_dead ( edict_t * self ) ;
extern void infantry_sight ( edict_t * self , edict_t * other ) ;
extern void InfantryMachineGun ( edict_t * self ) ;
extern void infantry_pain ( edict_t * self , edict_t * other , float kick , int damage ) ;
extern void infantry_run ( edict_t * self ) ;
extern void infantry_walk ( edict_t * self ) ;
extern void infantry_fidget ( edict_t * self ) ;
extern void infantry_stand ( edict_t * self ) ;
extern void SP_monster_hover ( edict_t * self ) ;
extern void hover_die ( edict_t * self , edict_t * inflictor , edict_t * attacker , int damage , vec3_t point ) ;
extern void hover_dead ( edict_t * self ) ;
extern void hover_deadthink ( edict_t * self ) ;
extern void hover_pain ( edict_t * self , edict_t * other , float kick , int damage ) ;
extern void hover_attack ( edict_t * self ) ;
extern void hover_start_attack ( edict_t * self ) ;
extern void hover_walk ( edict_t * self ) ;
extern void hover_run ( edict_t * self ) ;
extern void hover_stand ( edict_t * self ) ;
extern void hover_fire_blaster ( edict_t * self ) ;
extern void hover_reattack ( edict_t * self ) ;
extern void hover_search ( edict_t * self ) ;
extern void hover_sight ( edict_t * self , edict_t * other ) ;
extern void SP_monster_gunner ( edict_t * self ) ;
extern void gunner_jump ( edict_t * self ) ;
extern void gunner_refire_chain ( edict_t * self ) ;
extern void gunner_fire_chain ( edict_t * self ) ;
extern void gunner_attack ( edict_t * self ) ;
extern void GunnerGrenade ( edict_t * self ) ;
extern void GunnerFire ( edict_t * self ) ;
extern void gunner_opengun ( edict_t * self ) ;
extern void gunner_dodge ( edict_t * self , edict_t * attacker , float eta ) ;
extern void gunner_duck_up ( edict_t * self ) ;
extern void gunner_duck_hold ( edict_t * self ) ;
extern void gunner_duck_down ( edict_t * self ) ;
extern qboolean gunner_grenade_check ( edict_t * self ) ;
extern qboolean gunner_ctgrenade_safety_check ( edict_t * self , vec3_t start , vec3_t target ) ;
extern void gunner_die ( edict_t * self , edict_t * inflictor , edict_t * attacker , int damage , vec3_t point ) ;
extern void gunner_dead ( edict_t * self ) ;
extern void gunner_pain ( edict_t * self , edict_t * other , float kick , int damage ) ;
extern void gunner_runandshoot ( edict_t * self ) ;
extern void gunner_run ( edict_t * self ) ;
extern void gunner_walk ( edict_t * self ) ;
extern void gunner_stand ( edict_t * self ) ;
extern void gunner_fidget ( edict_t * self ) ;
extern void gunner_search ( edict_t * self ) ;
extern void gunner_sight ( edict_t * self , edict_t * other ) ;
extern void gunner_idlesound ( edict_t * self ) ;
extern void SP_monster_gladiator ( edict_t * self ) ;
extern qboolean gladiator_blocked ( edict_t * self , float range ) ;
extern void gladiator_die ( edict_t * self , edict_t * inflictor , edict_t * attacker , int damage , vec3_t point ) ;
extern void gladiator_dead ( edict_t * self ) ;
extern void gladiator_pain ( edict_t * self , edict_t * other , float kick , int damage ) ;
extern void gladiator_attack ( edict_t * self ) ;
extern void GladiatorGun ( edict_t * self ) ;
extern void gladiator_melee ( edict_t * self ) ;
extern void GaldiatorMelee ( edict_t * self ) ;
extern void gladiator_run ( edict_t * self ) ;
extern void gladiator_walk ( edict_t * self ) ;
extern void gladiator_stand ( edict_t * self ) ;
extern void gladiator_cleaver_swing ( edict_t * self ) ;
extern void gladiator_search ( edict_t * self ) ;
extern void gladiator_sight ( edict_t * self , edict_t * other ) ;
extern void gladiator_idle ( edict_t * self ) ;
extern void SP_monster_flyer ( edict_t * self ) ;
extern void flyer_die ( edict_t * self , edict_t * inflictor , edict_t * attacker , int damage , vec3_t point ) ;
extern void flyer_pain ( edict_t * self , edict_t * other , float kick , int damage ) ;
extern void flyer_check_melee ( edict_t * self ) ;
extern void flyer_melee ( edict_t * self ) ;
extern void flyer_nextmove ( edict_t * self ) ;
extern void flyer_setstart ( edict_t * self ) ;
extern void flyer_attack ( edict_t * self ) ;
extern void flyer_loop_melee ( edict_t * self ) ;
extern void flyer_slash_right ( edict_t * self ) ;
extern void flyer_slash_left ( edict_t * self ) ;
extern void flyer_fireright ( edict_t * self ) ;
extern void flyer_fireleft ( edict_t * self ) ;
extern void flyer_fire ( edict_t * self , int flash_number ) ;
extern void flyer_start ( edict_t * self ) ;
extern void flyer_stop ( edict_t * self ) ;
extern void flyer_stand ( edict_t * self ) ;
extern void flyer_walk ( edict_t * self ) ;
extern void flyer_run ( edict_t * self ) ;
extern void flyer_pop_blades ( edict_t * self ) ;
extern void flyer_idle ( edict_t * self ) ;
extern void flyer_sight ( edict_t * self , edict_t * other ) ;
extern void SP_monster_floater ( edict_t * self ) ;
extern void floater_die ( edict_t * self , edict_t * inflictor , edict_t * attacker , int damage , vec3_t point ) ;
extern void floater_dead ( edict_t * self ) ;
extern void floater_pain ( edict_t * self , edict_t * other , float kick , int damage ) ;
extern void floater_melee ( edict_t * self ) ;
extern void floater_attack ( edict_t * self ) ;
extern void floater_zap ( edict_t * self ) ;
extern void floater_wham ( edict_t * self ) ;
extern void floater_walk ( edict_t * self ) ;
extern void floater_run ( edict_t * self ) ;
extern void floater_stand ( edict_t * self ) ;
extern void floater_fire_blaster ( edict_t * self ) ;
extern void floater_idle ( edict_t * self ) ;
extern void floater_sight ( edict_t * self , edict_t * other ) ;
extern void SP_monster_flipper ( edict_t * self ) ;
extern void flipper_die ( edict_t * self , edict_t * inflictor , edict_t * attacker , int damage , vec3_t point ) ;
extern void flipper_sight ( edict_t * self , edict_t * other ) ;
extern void flipper_dead ( edict_t * self ) ;
extern void flipper_pain ( edict_t * self , edict_t * other , float kick , int damage ) ;
extern void flipper_melee ( edict_t * self ) ;
extern void flipper_preattack ( edict_t * self ) ;
extern void flipper_bite ( edict_t * self ) ;
extern void flipper_start_run ( edict_t * self ) ;
extern void flipper_walk ( edict_t * self ) ;
extern void flipper_run ( edict_t * self ) ;
extern void flipper_run_loop ( edict_t * self ) ;
extern void flipper_stand ( edict_t * self ) ;
extern void flipper_search ( edict_t * self ) ;
extern void flipper_breathe ( edict_t * self ) ;
extern void SP_monster_chick ( edict_t * self ) ;
extern void chick_sight ( edict_t * self , edict_t * other ) ;
extern void chick_attack ( edict_t * self ) ;
extern void chick_melee ( edict_t * self ) ;
extern void chick_slash ( edict_t * self ) ;
extern void chick_reslash ( edict_t * self ) ;
extern void chick_attack1 ( edict_t * self ) ;
extern void chick_rerocket ( edict_t * self ) ;
extern void chick_skip_frames ( edict_t * self ) ;
extern void ChickReload ( edict_t * self ) ;
extern void Chick_PreAttack1 ( edict_t * self ) ;
extern void ChickRocket ( edict_t * self ) ;
extern void ChickSlash ( edict_t * self ) ;
extern void chick_dodge ( edict_t * self , edict_t * attacker , float eta ) ;
extern void chick_duck_up ( edict_t * self ) ;
extern void chick_duck_hold ( edict_t * self ) ;
extern void chick_duck_down ( edict_t * self ) ;
extern void chick_die ( edict_t * self , edict_t * inflictor , edict_t * attacker , int damage , vec3_t point ) ;
extern void chick_dead ( edict_t * self ) ;
extern void chick_pain ( edict_t * self , edict_t * other , float kick , int damage ) ;
extern void chick_run ( edict_t * self ) ;
extern void chick_walk ( edict_t * self ) ;
extern void chick_stand ( edict_t * self ) ;
extern void chick_fidget ( edict_t * self ) ;
extern void ChickMoan ( edict_t * self ) ;
extern void SP_monster_brain ( edict_t * self ) ;
extern void brain_die ( edict_t * self , edict_t * inflictor , edict_t * attacker , int damage , vec3_t point ) ;
extern void brain_dead ( edict_t * self ) ;
extern void brain_pain ( edict_t * self , edict_t * other , float kick , int damage ) ;
extern void brain_run ( edict_t * self ) ;
extern void brain_melee ( edict_t * self ) ;
extern void brain_chest_closed ( edict_t * self ) ;
extern void brain_tentacle_attack ( edict_t * self ) ;
extern void brain_chest_open ( edict_t * self ) ;
extern void brain_hit_left ( edict_t * self ) ;
extern void brain_swing_left ( edict_t * self ) ;
extern void brain_hit_right ( edict_t * self ) ;
extern void brain_swing_right ( edict_t * self ) ;
extern void brain_dodge ( edict_t * self , edict_t * attacker , float eta ) ;
extern void brain_duck_up ( edict_t * self ) ;
extern void brain_duck_hold ( edict_t * self ) ;
extern void brain_duck_down ( edict_t * self ) ;
extern void brain_walk ( edict_t * self ) ;
extern void brain_idle ( edict_t * self ) ;
extern void brain_stand ( edict_t * self ) ;
extern void brain_search ( edict_t * self ) ;
extern void brain_sight ( edict_t * self , edict_t * other ) ;
extern void MakronToss ( edict_t * self ) ;
extern void MakronSpawn ( edict_t * self ) ;
extern void SP_monster_makron_put ( edict_t * self ) ;
extern void SP_monster_makron ( edict_t * self ) ;
extern void MakronPrecache ( void ) ;
extern qboolean Makron_CheckAttack ( edict_t * self ) ;
extern void makron_die ( edict_t * self , edict_t * inflictor , edict_t * attacker , int damage , vec3_t point ) ;
extern void makron_dead ( edict_t * self ) ;
extern void makron_torso ( edict_t * ent ) ;
extern void makron_torso_die ( edict_t * self , edict_t * inflictor , edict_t * attacker , int damage , vec3_t point ) ;
extern void makron_torso_think ( edict_t * self ) ;
extern void makron_attack ( edict_t * self ) ;
extern void makron_sight ( edict_t * self , edict_t * other ) ;
extern void makron_pain ( edict_t * self , edict_t * other , float kick , int damage ) ;
extern void MakronHyperblaster ( edict_t * self ) ;
extern void MakronRailgun ( edict_t * self ) ;
extern void MakronSaveloc ( edict_t * self ) ;
extern void makronBFG ( edict_t * self ) ;
extern void makron_run ( edict_t * self ) ;
extern void makron_walk ( edict_t * self ) ;
extern void makron_prerailgun ( edict_t * self ) ;
extern void makron_brainsplorch ( edict_t * self ) ;
extern void makron_step_right ( edict_t * self ) ;
extern void makron_step_left ( edict_t * self ) ;
extern void makron_popup ( edict_t * self ) ;
extern void makron_hit ( edict_t * self ) ;
extern void makron_stand ( edict_t * self ) ;
extern void makron_taunt ( edict_t * self ) ;
extern void SP_monster_jorg ( edict_t * self ) ;
extern qboolean Jorg_CheckAttack ( edict_t * self ) ;
extern void jorg_die ( edict_t * self , edict_t * inflictor , edict_t * attacker , int damage , vec3_t point ) ;
extern void jorg_dead ( edict_t * self ) ;
extern void jorg_attack ( edict_t * self ) ;
extern void jorg_firebullet ( edict_t * self ) ;
extern void jorg_firebullet_left ( edict_t * self ) ;
extern void jorg_firebullet_right ( edict_t * self ) ;
extern void jorgBFG ( edict_t * self ) ;
extern void jorg_pain ( edict_t * self , edict_t * other , float kick , int damage ) ;
extern void jorg_attack1 ( edict_t * self ) ;
extern void jorg_reattack1 ( edict_t * self ) ;
extern void jorg_run ( edict_t * self ) ;
extern void jorg_walk ( edict_t * self ) ;
extern void jorg_stand ( edict_t * self ) ;
extern void jorg_step_right ( edict_t * self ) ;
extern void jorg_step_left ( edict_t * self ) ;
extern void jorg_death_hit ( edict_t * self ) ;
extern void jorg_idle ( edict_t * self ) ;
extern void jorg_search ( edict_t * self ) ;
extern void SP_monster_boss3_stand ( edict_t * self ) ;
extern void Think_Boss3Stand ( edict_t * ent ) ;
extern void Use_Boss3 ( edict_t * ent , edict_t * other , edict_t * activator ) ;
extern void SP_monster_boss2 ( edict_t * self ) ;
extern qboolean Boss2_CheckAttack ( edict_t * self ) ;
extern void boss2_die ( edict_t * self , edict_t * inflictor , edict_t * attacker , int damage , vec3_t point ) ;
extern void boss2_dead ( edict_t * self ) ;
extern void boss2_pain ( edict_t * self , edict_t * other , float kick , int damage ) ;
extern void boss2_reattack_mg ( edict_t * self ) ;
extern void boss2_attack_mg ( edict_t * self ) ;
extern void boss2_attack ( edict_t * self ) ;
extern void boss2_walk ( edict_t * self ) ;
extern void boss2_run ( edict_t * self ) ;
extern void boss2_stand ( edict_t * self ) ;
extern void Boss2MachineGun ( edict_t * self ) ;
extern void boss2_firebullet_left ( edict_t * self ) ;
extern void boss2_firebullet_right ( edict_t * self ) ;
extern void Boss2Rocket ( edict_t * self ) ;
extern void boss2_search ( edict_t * self ) ;
extern void SP_monster_berserk ( edict_t * self ) ;
extern void berserk_jump ( edict_t * self ) ;
extern void berserk_die ( edict_t * self , edict_t * inflictor , edict_t * attacker , int damage , vec3_t point ) ;
extern void berserk_dead ( edict_t * self ) ;
extern void berserk_pain ( edict_t * self , edict_t * other , float kick , int damage ) ;
extern void berserk_melee ( edict_t * self ) ;
extern void berserk_strike ( edict_t * self ) ;
extern void berserk_attack_club ( edict_t * self ) ;
extern void berserk_swing ( edict_t * self ) ;
extern void berserk_attack_spike ( edict_t * self ) ;
extern void berserk_run ( edict_t * self ) ;
extern void berserk_walk ( edict_t * self ) ;
extern void berserk_fidget ( edict_t * self ) ;
extern void berserk_stand ( edict_t * self ) ;
extern void berserk_search ( edict_t * self ) ;
extern void berserk_sight ( edict_t * self , edict_t * other ) ;
extern void actorBFG ( edict_t * self ) ;
extern void actorRailGun ( edict_t * self ) ;
extern void actorHyperblaster ( edict_t * self ) ;
extern void actorRocket ( edict_t * self ) ;
extern void actorGrenadeLauncher ( edict_t * self ) ;
extern void actorChaingun ( edict_t * self ) ;
extern void actorMachineGun ( edict_t * self ) ;
extern void actorSuperShotgun ( edict_t * self ) ;
extern void actorShotgun ( edict_t * self ) ;
extern void actorBlaster ( edict_t * self ) ;
extern void ActorTarget ( edict_t * self , vec3_t target ) ;
extern void TraceAimPoint ( vec3_t start , vec3_t target ) ;
extern void muzzleflash_think ( edict_t * flash ) ;
extern void actor_moveit ( edict_t * player , edict_t * actor ) ;
extern void actor_files ( ) ;
extern qboolean InPak ( char * basedir , char * gamedir , char * filename ) ;
extern void SP_target_actor ( edict_t * self ) ;
extern void target_actor_touch ( edict_t * self , edict_t * other , cplane_t * plane , csurface_t * surf ) ;
extern void SP_misc_actor ( edict_t * self ) ;
extern void actor_salute ( edict_t * self ) ;
extern qboolean actor_blocked ( edict_t * self , float dist ) ;
extern void actor_jump ( edict_t * self ) ;
extern void actor_end_jump ( edict_t * self ) ;
extern qboolean actor_checkattack ( edict_t * self ) ;
extern void actor_use ( edict_t * self , edict_t * other , edict_t * activator ) ;
extern void actor_attack ( edict_t * self ) ;
extern void actor_seekcover ( edict_t * self ) ;
extern void actor_no_weapon_sound ( edict_t * self ) ;
extern void actor_fire ( edict_t * self ) ;
extern void actor_die ( edict_t * self , edict_t * inflictor , edict_t * attacker , int damage , vec3_t point ) ;
extern void actor_dead ( edict_t * self ) ;
extern void actor_pain ( edict_t * self , edict_t * other , float kick , int damage ) ;
extern void actor_switch ( edict_t * self ) ;
extern void actor_ideal_range ( edict_t * self ) ;
extern void actor_run_back ( edict_t * self ) ;
extern void actor_run ( edict_t * self ) ;
extern void actor_walk_back ( edict_t * self ) ;
extern void actor_walk ( edict_t * self ) ;
extern void actor_stand ( edict_t * self ) ;
extern void InitLithiumVars ( void ) ;
extern qboolean AimGrenade ( edict_t * self , vec3_t start , vec3_t target , vec_t speed , vec3_t aim ) ;
extern void fire_bfg ( edict_t * self , vec3_t start , vec3_t dir , int damage , int speed , float damage_radius ) ;
extern void bfg_think ( edict_t * self ) ;
extern void bfg_touch ( edict_t * self , edict_t * other , cplane_t * plane , csurface_t * surf ) ;
extern void bfg_explode ( edict_t * self ) ;
extern void fire_rail ( edict_t * self , vec3_t start , vec3_t aimdir , int damage , int kick , qboolean useColor , int red , int green , int blue ) ;
extern void SP_rocket ( edict_t * rocket ) ;
extern void rocket_delayed_start ( edict_t * rocket ) ;
extern void fire_rocket ( edict_t * self , vec3_t start , vec3_t dir , int damage , int speed , float damage_radius , int radius_damage , edict_t * home_target ) ;
extern void rocket_die ( edict_t * self , edict_t * inflictor , edict_t * attacker , int damage , vec3_t point ) ;
extern void rocket_explode ( edict_t * ent ) ;
extern void rocket_touch ( edict_t * ent , edict_t * other , cplane_t * plane , csurface_t * surf ) ;
extern void Rocket_Evade ( edict_t * rocket , vec3_t dir , float speed ) ;
extern void homing_think ( edict_t * self ) ;
extern void SP_handgrenade ( edict_t * grenade ) ;
extern void handgrenade_delayed_start ( edict_t * grenade ) ;
extern void SP_grenade ( edict_t * grenade ) ;
extern void grenade_delayed_start ( edict_t * grenade ) ;
extern void fire_grenade2 ( edict_t * self , vec3_t start , vec3_t aimdir , int damage , int speed , float timer , float damage_radius , qboolean held ) ;
extern void fire_grenade ( edict_t * self , vec3_t start , vec3_t aimdir , int damage , int speed , float timer , float damage_radius , qboolean contact ) ;
extern void ContactGrenade_Touch ( edict_t * ent , edict_t * other , cplane_t * plane , csurface_t * surf ) ;
extern void Grenade_Touch ( edict_t * ent , edict_t * other , cplane_t * plane , csurface_t * surf ) ;
extern void Grenade_Explode ( edict_t * ent ) ;
extern void Grenade_Remove_From_Chain ( edict_t * grenade ) ;
extern void Grenade_Add_To_Chain ( edict_t * grenade ) ;
extern void Grenade_Evade ( edict_t * monster ) ;
extern void SP_bolt ( edict_t * bolt ) ;
extern void bolt_delayed_start ( edict_t * bolt ) ;
extern void fire_blaster ( edict_t * self , vec3_t start , vec3_t dir , int damage , int speed , int effect , qboolean hyper , int color ) ;
extern void blaster_touch ( edict_t * self , edict_t * other , cplane_t * plane , csurface_t * surf ) ;
extern void fire_shotgun ( edict_t * self , vec3_t start , vec3_t aimdir , int damage , int kick , int hspread , int vspread , int count , int mod ) ;
extern void fire_bullet ( edict_t * self , vec3_t start , vec3_t aimdir , int damage , int kick , int hspread , int vspread , int mod ) ;
extern void fire_lead ( edict_t * self , vec3_t start , vec3_t aimdir , int damage , int kick , int te_impact , int hspread , int vspread , int mod ) ;
extern qboolean fire_hit ( edict_t * self , vec3_t aim , int damage , int kick ) ;
extern void check_dodge ( edict_t * self , vec3_t start , vec3_t dir , int speed ) ;
extern void SP_func_vehicle ( edict_t * self ) ;
extern void turn_vehicle ( edict_t * self ) ;
extern void vehicle_think ( edict_t * self ) ;
extern void vehicle_disengage ( edict_t * vehicle ) ;
extern void vehicle_touch ( edict_t * self , edict_t * other , cplane_t * plane , csurface_t * surf ) ;
extern void vehicle_blocked ( edict_t * self , edict_t * other ) ;
extern void func_vehicle_explode ( edict_t * self , edict_t * inflictor , edict_t * attacker , int damage , vec3_t point ) ;
extern qboolean UseRegularGoodGuyFlag ( edict_t * monster ) ;
extern void my_bprintf ( int printlevel , char * fmt , ... ) ;
extern qboolean IsZaeroMap ( void ) ;
extern qboolean IsRogueMap ( void ) ;
extern qboolean IsXatrixMap ( void ) ;
extern qboolean IsIdMap ( void ) ;
extern void G_UseTarget ( edict_t * ent , edict_t * activator , edict_t * target ) ;
extern void Think_Delay_Single ( edict_t * ent ) ;
extern void CreatePath ( const char * path ) ;
extern void SavegameDirRelativePath ( const char * filename , char * output , size_t outputSize ) ;
extern void GameDirRelativePath ( const char * filename , char * output , size_t outputSize ) ;
extern edict_t * LookingAt ( edict_t * ent , int filter , vec3_t endpos , float * range ) ;
extern float AtLeast ( float x , float dx ) ;
extern qboolean point_infront ( edict_t * self , vec3_t point ) ;
extern void stuffcmd ( edict_t * pent , char * pszCommand ) ;
extern float SnapToEights ( float x ) ;
extern void AnglesNormalize ( vec3_t vec ) ;
extern qboolean KillBox ( edict_t * ent ) ;
extern void G_TouchSolids ( edict_t * ent ) ;
extern void G_TouchTriggers ( edict_t * ent ) ;
extern void G_FreeEdict ( edict_t * ed ) ;
extern edict_t * G_Spawn ( void ) ;
extern void G_InitEdict ( edict_t * e ) ;
extern char * G_CopyString ( char * in ) ;
extern void vectoangles2 ( vec3_t value1 , vec3_t angles ) ;
extern void vectoangles ( vec3_t value1 , vec3_t angles ) ;
extern float vectoyaw2 ( vec3_t vec ) ;
extern float vectoyaw ( vec3_t vec ) ;
extern void G_SetMovedir ( vec3_t angles , vec3_t movedir ) ;
extern char * vtos ( vec3_t v ) ;
extern float * tv ( float x , float y , float z ) ;
extern void G_UseTargets ( edict_t * ent , edict_t * activator ) ;
extern void Think_Delay ( edict_t * ent ) ;
extern edict_t * G_PickTarget ( char * targetname ) ;
extern edict_t * findradius ( edict_t * from , vec3_t org , float rad ) ;
extern edict_t * G_Find ( edict_t * from , size_t fieldofs , char * match ) ;
extern void G_ProjectSource2 ( vec3_t point , vec3_t distance , vec3_t forward , vec3_t right , vec3_t up , vec3_t result ) ;
extern void G_ProjectSource ( vec3_t point , vec3_t distance , vec3_t forward , vec3_t right , vec3_t result ) ;
extern void SP_turret_driver ( edict_t * self ) ;
extern void turret_driver_link ( edict_t * self ) ;
extern void turret_driver_think ( edict_t * self ) ;
extern void turret_driver_die ( edict_t * self , edict_t * inflictor , edict_t * attacker , int damage , vec3_t point ) ;
extern void SP_turret_base ( edict_t * self ) ;
extern void use_turret_base ( edict_t * self , edict_t * other , edict_t * activator ) ;
extern void turret_base_finish ( edict_t * self ) ;
extern void SP_model_turret ( edict_t * self ) ;
extern void SP_turret_breach ( edict_t * self ) ;
extern void turret_breach_touch ( edict_t * self , edict_t * other , cplane_t * plane , csurface_t * surf ) ;
extern void use_turret_breach ( edict_t * self , edict_t * other , edict_t * activator ) ;
extern void toggle_turret_breach ( edict_t * self , edict_t * other , edict_t * activator ) ;
extern void turret_die ( edict_t * self , edict_t * inflictor , edict_t * attacker , int damage , vec3_t point ) ;
extern void turret_die_temp_think ( edict_t * self ) ;
extern void turret_breach_finish_init ( edict_t * self ) ;
extern void turret_breach_think ( edict_t * self ) ;
extern void turret_turn ( edict_t * self ) ;
extern void turret_disengage ( edict_t * self ) ;
extern void turret_breach_fire ( edict_t * self ) ;
extern void hrocket_turret_fire ( edict_t * self , edict_t * owner , vec3_t start , vec3_t dir , vec3_t start2 , vec3_t dir2 , int damage , int speed , float damage_radius , int radius_damage , edict_t * home_target ) ;
extern void turret_blocked ( edict_t * self , edict_t * other ) ;
extern edict_t * TurretTarget ( edict_t * self ) ;
extern void SP_trigger_switch ( edict_t * ent ) ;
extern void use_trigger_switch ( edict_t * ent , edict_t * other , edict_t * activator ) ;
extern void touch_trigger_switch ( edict_t * self , edict_t * other , cplane_t * plane , csurface_t * surf ) ;
extern void trigger_switch ( edict_t * ent ) ;
extern void trigger_switch_usetargets ( edict_t * ent , edict_t * activator ) ;
extern void trigger_switch_delay ( edict_t * ent ) ;
extern void SP_trigger_disguise ( edict_t * trigger ) ;
extern void use_trigger_disguise ( edict_t * trigger , edict_t * other , edict_t * activator ) ;
extern void touch_trigger_disguise ( edict_t * trigger , edict_t * other , cplane_t * plane , csurface_t * surf ) ;
extern void SP_trigger_transition_bbox ( edict_t * self ) ;
extern void SP_trigger_transition ( edict_t * self ) ;
extern int trigger_transition_ents ( edict_t * changelevel , edict_t * self ) ;
extern void trans_ent_filename ( char * filename , size_t filenameSize ) ;
extern void WriteTransitionEdict ( FILE * f , edict_t * changelevel , edict_t * ent ) ;
extern qboolean HasSpawnFunction ( edict_t * ent ) ;
extern void SP_trigger_speaker ( edict_t * self ) ;
extern void trigger_speaker_enable ( edict_t * self , edict_t * other , edict_t * activator ) ;
extern void trigger_speaker_disable ( edict_t * self , edict_t * other , edict_t * activator ) ;
extern void trigger_speaker_think ( edict_t * self ) ;
extern void SP_trigger_look ( edict_t * self ) ;
extern void trigger_look_enable ( edict_t * self , edict_t * other , edict_t * activator ) ;
extern void trigger_look_disable ( edict_t * self , edict_t * other , edict_t * activator ) ;
extern void trigger_look_touch ( edict_t * self , edict_t * other , cplane_t * plane , csurface_t * surf ) ;
extern void SP_trigger_bbox ( edict_t * ent ) ;
extern void trigger_bbox_use ( edict_t * self , edict_t * other , edict_t * activator ) ;
extern void trigger_bbox_touch ( edict_t * self , edict_t * other , cplane_t * plane , csurface_t * surf ) ;
extern void trigger_bbox_die ( edict_t * self , edict_t * inflictor , edict_t * attacker , int damage , vec3_t point ) ;
extern void trigger_bbox_reset ( edict_t * self ) ;
extern void SP_trigger_scales_bbox ( edict_t * self ) ;
extern void SP_trigger_scales ( edict_t * self ) ;
extern void trigger_scales_think ( edict_t * self ) ;
extern float weight_on_top ( edict_t * ent ) ;
extern void SP_trigger_inside_bbox ( edict_t * self ) ;
extern void SP_trigger_inside ( edict_t * self ) ;
extern void trigger_inside_think ( edict_t * self ) ;
extern void SP_trigger_mass_bbox ( edict_t * self ) ;
extern void SP_trigger_mass ( edict_t * self ) ;
extern void trigger_mass_touch ( edict_t * self , edict_t * other , cplane_t * plane , csurface_t * surf ) ;
extern void SP_tremor_trigger_multiple ( edict_t * ent ) ;
extern void tremor_trigger_enable ( edict_t * self , edict_t * other , edict_t * activator ) ;
extern void Use_tremor_Multi ( edict_t * self , edict_t * other , edict_t * activator ) ;
extern void SP_trigger_monsterjump_bbox ( edict_t * self ) ;
extern void SP_trigger_monsterjump ( edict_t * self ) ;
extern void trigger_monsterjump_touch ( edict_t * self , edict_t * other , cplane_t * plane , csurface_t * surf ) ;
extern void SP_trigger_gravity_bbox ( edict_t * self ) ;
extern void SP_trigger_gravity ( edict_t * self ) ;
extern void trigger_gravity_touch ( edict_t * self , edict_t * other , cplane_t * plane , csurface_t * surf ) ;
extern void trigger_gravity_use ( edict_t * self , edict_t * other , edict_t * activator ) ;
extern void SP_trigger_hurt_bbox ( edict_t * self ) ;
extern void SP_trigger_hurt ( edict_t * self ) ;
extern void hurt_touch ( edict_t * self , edict_t * other , cplane_t * plane , csurface_t * surf ) ;
extern void hurt_use ( edict_t * self , edict_t * other , edict_t * activator ) ;
extern void SP_trigger_push_bbox ( edict_t * self ) ;
extern void SP_trigger_push ( edict_t * self ) ;
extern void trigger_push_use ( edict_t * self , edict_t * other , edict_t * activator ) ;
extern void trigger_push_touch ( edict_t * self , edict_t * other , cplane_t * plane , csurface_t * surf ) ;
extern void SP_trigger_always ( edict_t * ent ) ;
extern void SP_trigger_counter ( edict_t * self ) ;
extern void trigger_counter_use ( edict_t * self , edict_t * other , edict_t * activator ) ;
extern void SP_trigger_key ( edict_t * self ) ;
extern void trigger_key_use ( edict_t * self , edict_t * other , edict_t * activator ) ;
extern void SP_trigger_relay ( edict_t * self ) ;
extern void trigger_relay_use ( edict_t * self , edict_t * other , edict_t * activator ) ;
extern void SP_trigger_once ( edict_t * ent ) ;
extern void SP_trigger_multiple ( edict_t * ent ) ;
extern void trigger_enable ( edict_t * self , edict_t * other , edict_t * activator ) ;
extern void Touch_Multi ( edict_t * self , edict_t * other , cplane_t * plane , csurface_t * surf ) ;
extern void Use_Multi ( edict_t * ent , edict_t * other , edict_t * activator ) ;
extern void multi_trigger ( edict_t * ent ) ;
extern void multi_wait ( edict_t * ent ) ;
extern void InitTriggerBbox ( edict_t * self ) ;
extern void InitTrigger ( edict_t * self ) ;
extern void SP_info_train_start ( edict_t * self ) ;
extern void find_tracktrain ( edict_t * self ) ;
extern void SP_func_tracktrain ( edict_t * self ) ;
extern void tracktrain_use ( edict_t * self , edict_t * other , edict_t * activator ) ;
extern void func_tracktrain_find ( edict_t * self ) ;
extern void tracktrain_next ( edict_t * self ) ;
extern void tracktrain_turn ( edict_t * self ) ;
extern void train_angles ( edict_t * train ) ;
extern void LookAhead ( edict_t * train , vec3_t point , float dist ) ;
extern edict_t * NextPathTrack ( edict_t * train , edict_t * path ) ;
extern qboolean is_backing_up ( edict_t * train ) ;
extern void tracktrain_reach_dest ( edict_t * self ) ;
extern void tracktrain_blocked ( edict_t * self , edict_t * other ) ;
extern void tracktrain_think ( edict_t * self ) ;
extern void tracktrain_hide ( edict_t * self ) ;
extern void tracktrain_disengage ( edict_t * train ) ;
extern void tracktrain_die ( edict_t * self , edict_t * inflictor , edict_t * attacker , int damage , vec3_t point ) ;
extern void tracktrain_drive ( edict_t * train , edict_t * other ) ;
extern void SP_func_trackchange ( edict_t * self ) ;
extern void trackchange_use ( edict_t * self , edict_t * other , edict_t * activator ) ;
extern void trackchange_done ( edict_t * self ) ;
extern void SP_path_track ( edict_t * self ) ;
extern void path_track_use ( edict_t * self , edict_t * other , edict_t * activator ) ;
extern void SP_thing ( edict_t * self ) ;
extern void thing_touch ( edict_t * self , edict_t * other , cplane_t * plane , csurface_t * surf ) ;
extern void thing_grenade_boom ( edict_t * self ) ;
extern void thing_think_pause ( edict_t * self ) ;
extern void thing_think ( edict_t * self ) ;
extern void thing_restore_leader ( edict_t * self ) ;
extern edict_t * SpawnThing ( ) ;
extern void SP_target_skill ( edict_t * self ) ;
extern void use_target_skill ( edict_t * self , edict_t * other , edict_t * activator ) ;
extern void SP_target_clone ( edict_t * self ) ;
extern void target_clone_starton ( edict_t * self ) ;
extern void clone ( edict_t * self , edict_t * other , edict_t * activator ) ;
extern void SP_target_fade ( edict_t * self ) ;
extern void use_target_fade ( edict_t * self , edict_t * other , edict_t * activator ) ;
extern void SP_target_sky ( edict_t * self ) ;
extern void use_target_sky ( edict_t * self , edict_t * other , edict_t * activator ) ;
extern void SP_target_set_effect ( edict_t * self ) ;
extern void use_target_set_effect ( edict_t * self , edict_t * other , edict_t * activator ) ;
extern void SP_target_command ( edict_t * self ) ;
extern void target_command_use ( edict_t * self , edict_t * activator , edict_t * other ) ;
extern void SP_target_movewith ( edict_t * self ) ;
extern void use_target_movewith ( edict_t * self , edict_t * other , edict_t * activator ) ;
extern void movewith_detach ( edict_t * child ) ;
extern void SP_target_change ( edict_t * self ) ;
extern void use_target_change ( edict_t * self , edict_t * other , edict_t * activator ) ;
extern void SP_target_failure ( edict_t * self ) ;
extern void use_target_failure ( edict_t * self , edict_t * other , edict_t * activator ) ;
extern void target_failure_fade_lights ( edict_t * self ) ;
extern void target_failure_think ( edict_t * self ) ;
extern void target_failure_player_die ( edict_t * player ) ;
extern void target_failure_wipe ( edict_t * self ) ;
extern void SP_target_animation ( edict_t * self ) ;
extern void target_animation_use ( edict_t * self , edict_t * other , edict_t * activator ) ;
extern void target_animate ( edict_t * ent ) ;
extern void SP_target_monitor ( edict_t * self ) ;
extern void use_target_monitor ( edict_t * self , edict_t * other , edict_t * activator ) ;
extern void target_monitor_move ( edict_t * self ) ;
extern void target_monitor_off ( edict_t * self ) ;
extern void SP_target_CD ( edict_t * self ) ;
extern void use_target_CD ( edict_t * self , edict_t * other , edict_t * activator ) ;
extern void SP_target_attractor ( edict_t * self ) ;
extern void use_target_attractor ( edict_t * self , edict_t * other , edict_t * activator ) ;
extern void target_attractor_think ( edict_t * self ) ;
extern void target_attractor_think_single ( edict_t * self ) ;
extern void SP_target_effect ( edict_t * self ) ;
extern void target_effect_think ( edict_t * self ) ;
extern void target_effect_use ( edict_t * self , edict_t * other , edict_t * activator ) ;
extern void target_effect_widowbeam ( edict_t * self , edict_t * activator ) ;
extern void target_effect_tunnel_sparks ( edict_t * self , edict_t * activator ) ;
extern void target_effect_explosion ( edict_t * self , edict_t * activator ) ;
extern void target_effect_sparks ( edict_t * self , edict_t * activator ) ;
extern void target_effect_lightning ( edict_t * self , edict_t * activator ) ;
extern void target_effect_trail ( edict_t * self , edict_t * activator ) ;
extern void target_effect_splash ( edict_t * self , edict_t * activator ) ;
extern void target_effect_steam ( edict_t * self , edict_t * activator ) ;
extern void target_effect_at ( edict_t * self , edict_t * activator ) ;
extern void SP_target_rotation ( edict_t * self ) ;
extern void use_target_rotation ( edict_t * self , edict_t * other , edict_t * activator ) ;
extern void SP_target_rocks ( edict_t * self ) ;
extern void use_target_rocks ( edict_t * self , edict_t * other , edict_t * activator ) ;
extern void ThrowRock ( edict_t * self , char * modelname , float speed , vec3_t origin , vec3_t size , int mass ) ;
extern void directed_debris_die ( edict_t * self , edict_t * inflictor , edict_t * attacker , int damage , vec3_t point ) ;
extern void SP_target_monsterbattle ( edict_t * self ) ;
extern void use_target_monsterbattle ( edict_t * self , edict_t * other , edict_t * activator ) ;
extern void SP_target_anger ( edict_t * self ) ;
extern void use_target_anger ( edict_t * self , edict_t * other , edict_t * activator ) ;
extern void SP_target_locator ( edict_t * self ) ;
extern void target_locator_init ( edict_t * self ) ;
extern void SP_target_earthquake ( edict_t * self ) ;
extern void target_earthquake_use ( edict_t * self , edict_t * other , edict_t * activator ) ;
extern void target_earthquake_think ( edict_t * self ) ;
extern void SP_target_lightramp ( edict_t * self ) ;
extern void target_lightramp_use ( edict_t * self , edict_t * other , edict_t * activator ) ;
extern void target_lightramp_think ( edict_t * self ) ;
extern void SP_target_laser ( edict_t * self ) ;
extern void target_laser_start ( edict_t * self ) ;
extern void target_laser_use ( edict_t * self , edict_t * other , edict_t * activator ) ;
extern void target_laser_off ( edict_t * self ) ;
extern void target_laser_on ( edict_t * self ) ;
extern void target_laser_think ( edict_t * self ) ;
extern void target_laser_ps_use ( edict_t * self , edict_t * other , edict_t * activator ) ;
extern void target_laser_ps_off ( edict_t * self ) ;
extern void target_laser_ps_on ( edict_t * self ) ;
extern void target_laser_ps_think ( edict_t * self ) ;
extern void SP_target_crosslevel_target ( edict_t * self ) ;
extern void target_crosslevel_target_think ( edict_t * self ) ;
extern void SP_target_crosslevel_trigger ( edict_t * self ) ;
extern void trigger_crosslevel_trigger_use ( edict_t * self , edict_t * other , edict_t * activator ) ;
extern void SP_target_blaster ( edict_t * self ) ;
extern void target_blaster_init ( edict_t * self ) ;
extern void toggle_target_blaster ( edict_t * self , edict_t * other , edict_t * activator ) ;
extern void find_target_blaster_target ( edict_t * self , edict_t * other , edict_t * activator ) ;
extern void target_blaster_think ( edict_t * self ) ;
extern void use_target_blaster ( edict_t * self , edict_t * other , edict_t * activator ) ;
extern void SP_target_spawner ( edict_t * self ) ;
extern void use_target_spawner ( edict_t * self , edict_t * other , edict_t * activator ) ;
extern void SP_target_splash ( edict_t * self ) ;
extern void use_target_splash ( edict_t * self , edict_t * other , edict_t * activator ) ;
extern void SP_target_changelevel ( edict_t * ent ) ;
extern void use_target_changelevel ( edict_t * self , edict_t * other , edict_t * activator ) ;
extern void SP_target_explosion ( edict_t * ent ) ;
extern void use_target_explosion ( edict_t * self , edict_t * other , edict_t * activator ) ;
extern void target_explosion_explode ( edict_t * self ) ;
extern void SP_target_goal ( edict_t * ent ) ;
extern void use_target_goal ( edict_t * ent , edict_t * other , edict_t * activator ) ;
extern void SP_target_secret ( edict_t * ent ) ;
extern void use_target_secret ( edict_t * ent , edict_t * other , edict_t * activator ) ;
extern void SP_target_help ( edict_t * ent ) ;
extern void Use_Target_Help ( edict_t * self , edict_t * other , edict_t * activator ) ;
extern void SP_target_speaker ( edict_t * ent ) ;
extern void Use_Target_Speaker ( edict_t * ent , edict_t * other , edict_t * activator ) ;
extern void SP_target_temp_entity ( edict_t * ent ) ;
extern void Use_Target_Tent ( edict_t * self , edict_t * other , edict_t * activator ) ;
extern void ServerCommand ( void ) ;
extern void SVCmd_WriteIP_f ( void ) ;
extern void SVCmd_ListIP_f ( void ) ;
extern void SVCmd_RemoveIP_f ( void ) ;
extern void SVCmd_AddIP_f ( void ) ;
extern qboolean SV_FilterPacket ( char * from ) ;
extern void Svcmd_Test_f ( void ) ;
extern void Cmd_ToggleHud ( ) ;
extern void Hud_Off ( ) ;
extern void Hud_On ( ) ;
extern void SP_worldspawn ( edict_t * ent ) ;
extern void SpawnEntities ( char * mapname , char * entities , char * spawnpoint ) ;
extern void LoadTransitionEnts ( void ) ;
extern void G_FindTeams ( void ) ;
extern char * ED_ParseEdict ( char * data , edict_t * ent ) ;
extern qboolean ED_ParseEntityAlias ( char * data , edict_t * ent ) ;
extern void LoadAliasData ( void ) ;
extern void ED_ParseField ( char * key , char * value , edict_t * ent ) ;
extern char * ED_NewString ( char * string ) ;
extern void ReInitialize_Entity ( edict_t * ent ) ;
extern void ED_CallSpawn ( edict_t * ent ) ;
extern void ReadLevel ( char * filename ) ;
extern void WriteLevel ( char * filename ) ;
extern void ReadLevelLocals ( FILE * f ) ;
extern void ReadEdict ( FILE * f , edict_t * ent ) ;
extern void WriteLevelLocals ( FILE * f ) ;
extern void WriteEdict ( FILE * f , edict_t * ent ) ;
extern void ReadGame ( char * filename ) ;
extern void WriteGame ( char * filename , qboolean autosave ) ;
extern void ReadClient ( FILE * f , gclient_t * client ) ;
extern void WriteClient ( FILE * f , gclient_t * client ) ;
extern void ReadField ( FILE * f , field_t * field , byte * base ) ;
extern void WriteField2 ( FILE * f , field_t * field , byte * base ) ;
extern void WriteField1 ( FILE * f , field_t * field , byte * base ) ;
extern mmove_t * FindMmoveByName ( char * name ) ;
extern mmoveList_t * GetMmoveByAddress ( mmove_t * adr ) ;
extern byte * FindFunctionByName ( char * name ) ;
extern functionList_t * GetFunctionByAddress ( byte * adr ) ;
extern void InitGame ( void ) ;
extern void SP_func_reflect ( edict_t * self ) ;
extern void use_func_reflect ( edict_t * self , edict_t * other , edict_t * activator ) ;
extern void AddReflection ( edict_t * ent ) ;
extern void DeleteReflection ( edict_t * ent , int index ) ;
extern void ReflectSparks ( int type , vec3_t origin , vec3_t movedir ) ;
extern void ReflectSteam ( vec3_t origin , vec3_t movedir , int count , int sounds , int speed , int wait , int nextid ) ;
extern void ReflectTrail ( int type , vec3_t start , vec3_t end , int red , int green , int blue ) ;
extern void ReflectExplosion ( int type , vec3_t origin ) ;
extern void G_RunEntity ( edict_t * ent ) ;
extern void SV_Physics_Conveyor ( edict_t * ent ) ;
extern void SV_Physics_Debris ( edict_t * ent ) ;
extern trace_t SV_DebrisEntity ( edict_t * ent , vec3_t push ) ;
extern void SV_Physics_Vehicle ( edict_t * ent ) ;
extern int SV_VehicleMove ( edict_t * ent , float time , int mask ) ;
extern void SV_Physics_Step ( edict_t * ent ) ;
extern float RiderMass ( edict_t * platform ) ;
extern void SV_AddRotationalFriction ( edict_t * ent ) ;
extern void SV_Physics_Toss ( edict_t * ent ) ;
extern void SV_Physics_Noclip ( edict_t * ent ) ;
extern void SV_Physics_None ( edict_t * ent ) ;
extern void SV_Physics_Pusher ( edict_t * ent ) ;
extern qboolean SV_Push ( edict_t * pusher , vec3_t move , vec3_t amove ) ;
extern void RealBoundingBox ( edict_t * ent , vec3_t mins , vec3_t maxs ) ;
extern void MoveRiders ( edict_t * platform , edict_t * ignore , vec3_t move , vec3_t amove , qboolean turn ) ;
extern trace_t SV_PushEntity ( edict_t * ent , vec3_t push ) ;
extern void SV_AddGravity ( edict_t * ent ) ;
extern int SV_PushableMove ( edict_t * ent , float time , int mask ) ;
extern int SV_FlyMove ( edict_t * ent , float time , int mask ) ;
extern int ClipVelocity ( vec3_t in , vec3_t normal , vec3_t out , float overbounce ) ;
extern void SV_Impact ( edict_t * e1 , trace_t * trace ) ;
extern qboolean SV_RunThink ( edict_t * ent ) ;
extern void SV_CheckVelocity ( edict_t * ent ) ;
extern edict_t * SV_TestEntityPosition ( edict_t * ent ) ;
extern void other_FallingDamage ( edict_t * ent ) ;
extern void SP_func_pendulum ( edict_t * ent ) ;
extern void pendulum_die ( edict_t * self , edict_t * inflictor , edict_t * attacker , int damage , vec3_t point ) ;
extern void pendulum_use ( edict_t * self , edict_t * other , edict_t * activator ) ;
extern void pendulum_rotate ( edict_t * self ) ;
extern void pendulum_blocked ( edict_t * self , edict_t * other ) ;
extern int PatchPlayerModels ( char * modelname ) ;
extern void SP_model_train_origin ( edict_t * self ) ;
extern void SP_model_train ( edict_t * self ) ;
extern void model_train_animator ( edict_t * animator ) ;
extern qboolean has_valid_enemy ( edict_t * monster ) ;
extern qboolean face_wall ( edict_t * monster ) ;
extern float realrange ( edict_t * this , edict_t * that ) ;
extern qboolean check_jump_blocked ( edict_t * monster , float jumpDist , float downLimit , float upLimit ) ;
extern qboolean check_plat_blocked ( edict_t * monster , float moveDist ) ;
extern qboolean check_shot_blocked ( edict_t * monster , float chance_attack ) ;
extern void SP_hint_path ( edict_t * hintpath ) ;
extern void touch_hint_path ( edict_t * hintpath , edict_t * monster , cplane_t * plane , csurface_t * surf ) ;
extern qboolean hintcheck_monsterlost ( edict_t * monster ) ;
extern void hintpath_stop ( edict_t * monster ) ;
extern void hintpath_start ( edict_t * monster , edict_t * spot ) ;
extern void SetupHintPaths ( void ) ;
extern int HintTestStart ( edict_t * self ) ;
extern void HintTestNext ( edict_t * self , edict_t * hint ) ;
extern int PatchMonsterModel ( char * modelname ) ;
extern void InitiallyDead ( edict_t * self ) ;
extern void swimmonster_start ( edict_t * self ) ;
extern void swimmonster_start_go ( edict_t * self ) ;
extern void flymonster_start ( edict_t * self ) ;
extern void flymonster_start_go ( edict_t * self ) ;
extern void walkmonster_start ( edict_t * self ) ;
extern void walkmonster_start_go ( edict_t * self ) ;
extern void monster_start_go ( edict_t * self ) ;
extern qboolean monster_start ( edict_t * self ) ;
extern void monster_death_use ( edict_t * self ) ;
extern void monster_triggered_start ( edict_t * self ) ;
extern void monster_triggered_spawn_use ( edict_t * self , edict_t * other , edict_t * activator ) ;
extern void monster_triggered_spawn ( edict_t * self ) ;
extern void monster_use ( edict_t * self , edict_t * other , edict_t * activator ) ;
extern void deadmonster_think ( edict_t * self ) ;
extern void monster_think ( edict_t * self ) ;
extern void M_MoveFrame ( edict_t * self ) ;
extern void M_SetEffects ( edict_t * ent ) ;
extern void M_droptofloor ( edict_t * ent ) ;
extern void M_WorldEffects ( edict_t * ent ) ;
extern void M_CatagorizePosition ( edict_t * ent ) ;
extern void M_CheckGround ( edict_t * ent ) ;
extern void AttackFinished ( edict_t * self , float time ) ;
extern void M_FlyCheck ( edict_t * self ) ;
extern void M_FliesOn ( edict_t * self ) ;
extern void M_FliesOff ( edict_t * self ) ;
extern void monster_fire_bfg ( edict_t * self , vec3_t start , vec3_t aimdir , int damage , int speed , int kick , float damage_radius , int flashtype ) ;
extern void monster_fire_railgun ( edict_t * self , vec3_t start , vec3_t aimdir , int damage , int kick , int flashtype ) ;
extern void monster_fire_rocket ( edict_t * self , vec3_t start , vec3_t dir , int damage , int speed , int flashtype , edict_t * homing_target ) ;
extern void monster_fire_grenade ( edict_t * self , vec3_t start , vec3_t aimdir , int damage , int speed , int flashtype , qboolean contact ) ;
extern void monster_fire_blaster ( edict_t * self , vec3_t start , vec3_t dir , int damage , int speed , int flashtype , int effect , int color ) ;
extern void monster_fire_shotgun ( edict_t * self , vec3_t start , vec3_t aimdir , int damage , int kick , int hspread , int vspread , int count , int flashtype ) ;
extern void monster_fire_bullet ( edict_t * self , vec3_t start , vec3_t dir , int damage , int kick , int hspread , int vspread , int flashtype ) ;
extern qboolean M_SetDeath ( edict_t * self , mmove_t * * deathmoves ) ;
extern void FadeDieSink ( edict_t * ent ) ;
extern void FadeSink ( edict_t * ent ) ;
extern void SP_model_spawn ( edict_t * ent ) ;
extern void model_die ( edict_t * self , edict_t * inflictor , edict_t * attacker , int damage , vec3_t point ) ;
extern void model_spawn_use ( edict_t * self , edict_t * other , edict_t * activator ) ;
extern void modelspawn_think ( edict_t * self ) ;
extern void PrecacheDebris ( int type ) ;
extern int PatchDeadSoldier ( void ) ;
extern void SP_target_fountain ( edict_t * ent ) ;
extern void target_fountain_delayed_use ( edict_t * self ) ;
extern void target_fountain_use ( edict_t * ent , edict_t * other , edict_t * activator ) ;
extern void target_fountain_think ( edict_t * self ) ;
extern void SP_target_precipitation ( edict_t * ent ) ;
extern void target_precipitation_delayed_use ( edict_t * self ) ;
extern void target_precipitation_use ( edict_t * ent , edict_t * other , edict_t * activator ) ;
extern void target_precipitation_think ( edict_t * self ) ;
extern void spawn_precipitation ( edict_t * self , vec3_t org , vec3_t dir , float speed ) ;
extern void drop_touch ( edict_t * drop , edict_t * other , cplane_t * plane , csurface_t * surf ) ;
extern void leaf_fade ( edict_t * ent ) ;
extern void leaf_fade2 ( edict_t * ent ) ;
extern void drop_splash ( edict_t * drop ) ;
extern void drop_add_to_chain ( edict_t * drop ) ;
extern void SP_misc_light ( edict_t * self ) ;
extern void misc_light_use ( edict_t * self , edict_t * other , edict_t * activator ) ;
extern void misc_light_think ( edict_t * self ) ;
extern void SP_misc_teleporter_dest ( edict_t * ent ) ;
extern void SP_trigger_teleporter_bbox ( edict_t * self ) ;
extern void SP_trigger_teleporter ( edict_t * self ) ;
extern void trigger_teleporter_use ( edict_t * self , edict_t * other , edict_t * activator ) ;
extern void SP_misc_teleporter ( edict_t * ent ) ;
extern void use_teleporter ( edict_t * self , edict_t * other , edict_t * activator ) ;
extern void teleporter_touch ( edict_t * self , edict_t * other , cplane_t * plane , csurface_t * surf ) ;
extern void teleport_transition_ents ( edict_t * transition , edict_t * teleporter , edict_t * destination ) ;
extern void SP_func_clock ( edict_t * self ) ;
extern void func_clock_use ( edict_t * self , edict_t * other , edict_t * activator ) ;
extern void func_clock_think ( edict_t * self ) ;
extern void func_clock_format_countdown ( edict_t * self ) ;
extern void func_clock_reset ( edict_t * self ) ;
extern void SP_target_string ( edict_t * self ) ;
extern void target_string_use ( edict_t * self , edict_t * other , edict_t * activator ) ;
extern void SP_target_character ( edict_t * self ) ;
extern void SP_misc_gib_head ( edict_t * ent ) ;
extern void SP_misc_gib_leg ( edict_t * ent ) ;
extern void SP_misc_gib_arm ( edict_t * ent ) ;
extern void SP_light_mine2 ( edict_t * ent ) ;
extern void SP_light_mine1 ( edict_t * ent ) ;
extern void SP_misc_satellite_dish ( edict_t * ent ) ;
extern void misc_satellite_dish_use ( edict_t * self , edict_t * other , edict_t * activator ) ;
extern void misc_satellite_dish_think ( edict_t * self ) ;
extern void SP_misc_strogg_ship_origin ( edict_t * ent ) ;
extern void SP_misc_strogg_ship ( edict_t * ent ) ;
extern void misc_strogg_ship_use ( edict_t * self , edict_t * other , edict_t * activator ) ;
extern void SP_misc_viper_bomb ( edict_t * self ) ;
extern void misc_viper_bomb_use ( edict_t * self , edict_t * other , edict_t * activator ) ;
extern void viper_bomb_think ( edict_t * self ) ;
extern void misc_viper_bomb_prethink ( edict_t * self ) ;
extern void misc_viper_bomb_touch ( edict_t * self , edict_t * other , cplane_t * plane , csurface_t * surf ) ;
extern void SP_misc_bigviper ( edict_t * ent ) ;
extern void SP_misc_viper_origin ( edict_t * ent ) ;
extern void SP_misc_viper ( edict_t * ent ) ;
extern void misc_viper_use ( edict_t * self , edict_t * other , edict_t * activator ) ;
extern void viper_die ( edict_t * self , edict_t * inflictor , edict_t * attacker , int damage , vec3_t point ) ;
extern void SP_misc_deadsoldier ( edict_t * ent ) ;
extern void misc_deadsoldier_flieson ( edict_t * self ) ;
extern void misc_deadsoldier_die ( edict_t * self , edict_t * inflictor , edict_t * attacker , int damage , vec3_t point ) ;
extern void SP_misc_banner ( edict_t * ent ) ;
extern void misc_banner_think ( edict_t * ent ) ;
extern void SP_monster_commander_body ( edict_t * self ) ;
extern void commander_body_drop ( edict_t * self ) ;
extern void commander_body_use ( edict_t * self , edict_t * other , edict_t * activator ) ;
extern void commander_body_think ( edict_t * self ) ;
extern void SP_misc_easterchick2 ( edict_t * ent ) ;
extern void misc_easterchick2_think ( edict_t * self ) ;
extern void SP_misc_easterchick ( edict_t * ent ) ;
extern void misc_easterchick_think ( edict_t * self ) ;
extern void SP_misc_eastertank ( edict_t * ent ) ;
extern void misc_eastertank_think ( edict_t * self ) ;
extern void SP_misc_blackhole ( edict_t * ent ) ;
extern void misc_blackhole_transparent ( edict_t * ent ) ;
extern void misc_blackhole_think ( edict_t * self ) ;
extern void misc_blackhole_use ( edict_t * ent , edict_t * other , edict_t * activator ) ;
extern void SP_misc_explobox ( edict_t * self ) ;
extern void barrel_delay ( edict_t * self , edict_t * inflictor , edict_t * attacker , int damage , vec3_t point ) ;
extern void barrel_explode ( edict_t * self ) ;
extern void barrel_touch ( edict_t * self , edict_t * other , cplane_t * plane , csurface_t * surf ) ;
extern void SP_func_breakaway ( edict_t * self ) ;
extern void func_breakaway_activate ( edict_t * self , edict_t * other , edict_t * activator ) ;
extern void func_breakaway_spawn ( edict_t * self , edict_t * other , edict_t * activator ) ;
extern void func_breakaway_touch ( edict_t * self , edict_t * other , cplane_t * plane , csurface_t * surf ) ;
extern void func_breakaway_use ( edict_t * self , edict_t * other , edict_t * activator ) ;
extern void func_breakaway_die ( edict_t * self , edict_t * inflictor , edict_t * attacker , int damage , vec3_t point ) ;
extern void func_breakaway_fall ( edict_t * self ) ;
extern void func_breakaway_makesolid ( edict_t * self ) ;
extern void func_breakaway_think ( edict_t * self ) ;
extern void func_breakaway_hit ( edict_t * self , edict_t * other , cplane_t * plane , csurface_t * surf ) ;
extern void SP_func_explosive ( edict_t * self ) ;
extern void func_explosive_touch ( edict_t * self , edict_t * other , cplane_t * plane , csurface_t * surf ) ;
extern void func_explosive_spawn ( edict_t * self , edict_t * other , edict_t * activator ) ;
extern void func_explosive_makeshootable ( edict_t * self , edict_t * other , edict_t * activator ) ;
extern void func_explosive_use ( edict_t * self , edict_t * other , edict_t * activator ) ;
extern void func_explosive_die ( edict_t * self , edict_t * inflictor , edict_t * attacker , int damage , vec3_t point ) ;
extern void func_explosive_explode ( edict_t * self ) ;
extern void func_explosive_respawn ( edict_t * self ) ;
extern void SP_func_object ( edict_t * self ) ;
extern void func_object_use ( edict_t * self , edict_t * other , edict_t * activator ) ;
extern void func_object_release ( edict_t * self ) ;
extern void func_object_touch ( edict_t * self , edict_t * other , cplane_t * plane , csurface_t * surf ) ;
extern void SP_func_wall ( edict_t * self ) ;
extern void func_wall_use ( edict_t * self , edict_t * other , edict_t * activator ) ;
extern void SP_light ( edict_t * self ) ;
extern void light_use ( edict_t * self , edict_t * other , edict_t * activator ) ;
extern void SP_info_notnull ( edict_t * self ) ;
extern void SP_info_null ( edict_t * self ) ;
extern void SP_viewthing ( edict_t * ent ) ;
extern void TH_viewthing ( edict_t * ent ) ;
extern void SP_point_combat ( edict_t * self ) ;
extern void point_combat_touch ( edict_t * self , edict_t * other , cplane_t * plane , csurface_t * surf ) ;
extern void SP_path_corner ( edict_t * self ) ;
extern void path_corner_touch ( edict_t * self , edict_t * other , cplane_t * plane , csurface_t * surf ) ;
extern void BecomeExplosion3 ( edict_t * self ) ;
extern void BecomeExplosion2 ( edict_t * self ) ;
extern void BecomeExplosion1 ( edict_t * self ) ;
extern void SP_debris ( edict_t * debris ) ;
extern void debris_delayed_start ( edict_t * debris ) ;
extern void ThrowDebris ( edict_t * self , char * modelname , float speed , vec3_t origin , int frame , int skin , int effects ) ;
extern void debris_die ( edict_t * self , edict_t * inflictor , edict_t * attacker , int damage , vec3_t point ) ;
extern void ThrowClientHead ( edict_t * self , int damage ) ;
extern void SP_gibhead ( edict_t * gib ) ;
extern void ThrowHead ( edict_t * self , char * gibname , int frame , int skinnum , int damage , int type ) ;
extern void SP_gib ( edict_t * gib ) ;
extern void gib_delayed_start ( edict_t * gib ) ;
extern void ThrowGib ( edict_t * self , char * gibname , int frame , int skinnum , int damage , int type ) ;
extern void gib_die ( edict_t * self , edict_t * inflictor , edict_t * attacker , int damage , vec3_t point ) ;
extern void gib_touch ( edict_t * self , edict_t * other , cplane_t * plane , csurface_t * surf ) ;
extern void gib_think ( edict_t * self ) ;
extern void gib_fade2 ( edict_t * self ) ;
extern void gib_fade ( edict_t * self ) ;
extern void ClipGibVelocity ( edict_t * ent ) ;
extern void VelocityForDamage ( int damage , vec3_t v ) ;
extern void SP_func_areaportal ( edict_t * ent ) ;
extern void Use_Areaportal ( edict_t * ent , edict_t * other , edict_t * activator ) ;
extern void G_RunFrame ( void ) ;
extern void ExitLevel ( void ) ;
extern void CheckDMRules ( void ) ;
extern void CheckNeedPass ( void ) ;
extern void EndDMLevel ( void ) ;
extern edict_t * CreateTargetChangeLevel ( char * map ) ;
extern void ClientEndServerFrames ( void ) ;
extern void Com_Printf ( char * msg , ... ) ;
extern void Sys_Error ( const char * error , ... ) ;
extern game_export_t * GetGameAPI ( game_import_t * import ) ;
extern int Debug_Soundindex ( char * name ) ;
extern int Debug_Modelindex ( char * name ) ;
extern void ShutdownGame ( void ) ;
extern void SP_target_lock_clue ( edict_t * self ) ;
extern void lock_clue_initialize ( edict_t * self ) ;
extern void lock_clue_think ( edict_t * self ) ;
extern void lock_clue_use ( edict_t * self , edict_t * other , edict_t * activator ) ;
extern void SP_target_lock_code ( edict_t * self ) ;
extern void lock_code_use ( edict_t * self , edict_t * other , edict_t * activator ) ;
extern void SP_target_lock ( edict_t * self ) ;
extern void lock_initialize ( edict_t * lock ) ;
extern void lock_digit_increment ( edict_t * digit , edict_t * activator ) ;
extern void target_lock_use ( edict_t * self , edict_t * other , edict_t * activator ) ;
extern void SP_target_lock_digit ( edict_t * self ) ;
extern void SP_target_lightswitch ( edict_t * self ) ;
extern void use_target_lightswitch ( edict_t * self , edict_t * other , edict_t * activator ) ;
extern void target_lightswitch_toggle ( edict_t * self ) ;
extern void ToggleLights ( void ) ;
extern void Lights ( void ) ;
extern void Jet_ApplyJet ( edict_t * ent , usercmd_t * ucmd ) ;
extern void Jet_ApplySparks ( edict_t * ent ) ;
extern void Jet_ApplyLifting ( edict_t * ent ) ;
extern void Jet_BecomeExplosion ( edict_t * ent , int damage ) ;
extern qboolean Jet_AvoidGround ( edict_t * ent ) ;
extern void Use_Stasis ( edict_t * ent , gitem_t * item ) ;
extern void Use_Jet ( edict_t * ent , gitem_t * item ) ;
extern void Use_Flashlight ( edict_t * ent , gitem_t * item ) ;
extern void SetItemNames ( void ) ;
extern void InitItems ( void ) ;
extern void SP_item_health_mega ( edict_t * self ) ;
extern void SP_item_health_large ( edict_t * self ) ;
extern void SP_item_health_small ( edict_t * self ) ;
extern void SP_item_health ( edict_t * self ) ;
extern void SpawnItem ( edict_t * ent , gitem_t * item ) ;
extern void PrecacheItem ( gitem_t * it ) ;
extern void droptofloor ( edict_t * ent ) ;
extern void Use_Item ( edict_t * ent , edict_t * other , edict_t * activator ) ;
extern edict_t * Drop_Item ( edict_t * ent , gitem_t * item ) ;
extern void drop_make_touchable ( edict_t * ent ) ;
extern void drop_temp_touch ( edict_t * ent , edict_t * other , cplane_t * plane , csurface_t * surf ) ;
extern void Touch_Item ( edict_t * ent , edict_t * other , cplane_t * plane , csurface_t * surf ) ;
extern void Drop_PowerArmor ( edict_t * ent , gitem_t * item ) ;
extern qboolean Pickup_PowerArmor ( edict_t * ent , edict_t * other ) ;
extern void Use_PowerArmor ( edict_t * ent , gitem_t * item ) ;
extern int PowerArmorType ( edict_t * ent ) ;
extern qboolean Pickup_Armor ( edict_t * ent , edict_t * other ) ;
extern int ArmorIndex ( edict_t * ent ) ;
extern qboolean Pickup_Health ( edict_t * ent , edict_t * other ) ;
extern void MegaHealth_think ( edict_t * self ) ;
extern void Drop_Ammo ( edict_t * ent , gitem_t * item ) ;
extern qboolean Pickup_Ammo ( edict_t * ent , edict_t * other ) ;
extern void SetAmmoPickupValues ( void ) ;
extern qboolean Add_Ammo ( edict_t * ent , gitem_t * item , int count ) ;
extern qboolean Pickup_Key ( edict_t * ent , edict_t * other ) ;
extern void Use_Silencer ( edict_t * ent , gitem_t * item ) ;
extern void Use_Invulnerability ( edict_t * ent , gitem_t * item ) ;
extern void Use_Envirosuit ( edict_t * ent , gitem_t * item ) ;
extern void Use_Breather ( edict_t * ent , gitem_t * item ) ;
extern void Use_Quad ( edict_t * ent , gitem_t * item ) ;
extern qboolean Pickup_AmmogenPack ( edict_t * ent , edict_t * other ) ;
extern qboolean Pickup_Pack ( edict_t * ent , edict_t * other ) ;
extern qboolean Pickup_Bandolier ( edict_t * ent , edict_t * other ) ;
extern qboolean Pickup_AncientHead ( edict_t * ent , edict_t * other ) ;
extern qboolean Pickup_Adrenaline ( edict_t * ent , edict_t * other ) ;
extern void Drop_Jetpack ( edict_t * ent , gitem_t * item ) ;
extern void Drop_General ( edict_t * ent , gitem_t * item ) ;
extern qboolean Pickup_Powerup ( edict_t * ent , edict_t * other ) ;
extern void SetRespawn ( edict_t * ent , float delay ) ;
extern void DoRespawn ( edict_t * ent ) ;
extern gitem_t * FindItem ( char * pickup_name ) ;
extern gitem_t * FindItemByClassname ( char * classname ) ;
extern int GetMaxArmorByIndex ( int item_index ) ;
extern int GetMaxAmmoByIndex ( gclient_t * client , int item_index ) ;
extern gitem_t * GetItemByIndex ( int index ) ;
extern void item_die ( edict_t * self , edict_t * inflictor , edict_t * attacker , int damage , vec3_t point ) ;
extern void SP_func_door_swinging ( edict_t * self ) ;
extern void func_door_swinging_init ( edict_t * self ) ;
extern void swinging_door_killed ( edict_t * self , edict_t * inflictor , edict_t * attacker , int damage , vec3_t point ) ;
extern void SP_func_force_wall ( edict_t * ent ) ;
extern void force_wall_use ( edict_t * self , edict_t * other , edict_t * activator ) ;
extern void func_force_wall_touch ( edict_t * self , edict_t * other , cplane_t * plane , csurface_t * surf ) ;
extern void force_wall_think ( edict_t * self ) ;
extern void SP_func_pivot ( edict_t * ent ) ;
extern void pivot_init ( edict_t * ent ) ;
extern void pivot_touch ( edict_t * ent , edict_t * other , cplane_t * plane , csurface_t * surf ) ;
extern void pivot_stop ( edict_t * ent ) ;
extern void pivot_blocked ( edict_t * self , edict_t * other ) ;
extern void SP_func_bobbingwater ( edict_t * self ) ;
extern void bob_init ( edict_t * self ) ;
extern void bob_think ( edict_t * self ) ;
extern void SP_func_pushable ( edict_t * self ) ;
extern void func_pushable_spawn ( edict_t * self , edict_t * other , edict_t * activator ) ;
extern void box_touch ( edict_t * self , edict_t * other , cplane_t * plane , csurface_t * surf ) ;
extern void box_water_friction ( edict_t * ent ) ;
extern qboolean box_walkmove ( edict_t * ent , float yaw , float dist ) ;
extern void box_use ( edict_t * self , edict_t * other , edict_t * activator ) ;
extern void box_die ( edict_t * self , edict_t * inflictor , edict_t * attacker , int damage , vec3_t point ) ;
extern qboolean box_movestep ( edict_t * ent , vec3_t move , qboolean relink ) ;
extern void SP_func_killbox ( edict_t * ent ) ;
extern void use_killbox ( edict_t * self , edict_t * other , edict_t * activator ) ;
extern void SP_func_door_secret2 ( edict_t * ent ) ;
extern void door_secret2_touch ( edict_t * self , edict_t * other , cplane_t * plane , csurface_t * surf ) ;
extern void door_secret2_blocked ( edict_t * self , edict_t * other ) ;
extern void door_secret2_done ( edict_t * self ) ;
extern void door_secret2_move6 ( edict_t * self ) ;
extern void door_secret2_move5 ( edict_t * self ) ;
extern void door_secret2_move4 ( edict_t * self ) ;
extern void door_secret2_move3 ( edict_t * self ) ;
extern void door_secret2_move2 ( edict_t * self ) ;
extern void door_secret2_move1 ( edict_t * self ) ;
extern void door_secret2_killed ( edict_t * self , edict_t * inflictor , edict_t * attacker , int damage , vec3_t point ) ;
extern void door_secret2_use ( edict_t * self , edict_t * other , edict_t * activator ) ;
extern void SP_func_door_secret ( edict_t * ent ) ;
extern void door_secret_die ( edict_t * self , edict_t * inflictor , edict_t * attacker , int damage , vec3_t point ) ;
extern void door_secret_blocked ( edict_t * self , edict_t * other ) ;
extern void door_secret_done ( edict_t * self ) ;
extern void door_secret_move6 ( edict_t * self ) ;
extern void door_secret_move5 ( edict_t * self ) ;
extern void door_secret_move4 ( edict_t * self ) ;
extern void door_secret_move3 ( edict_t * self ) ;
extern void door_secret_move2 ( edict_t * self ) ;
extern void door_secret_move1 ( edict_t * self ) ;
extern void door_secret_use ( edict_t * self , edict_t * other , edict_t * activator ) ;
extern void SP_func_conveyor ( edict_t * self ) ;
extern void func_conveyor_use ( edict_t * self , edict_t * other , edict_t * activator ) ;
extern void SP_func_timer ( edict_t * self ) ;
extern void func_timer_use ( edict_t * self , edict_t * other , edict_t * activator ) ;
extern void func_timer_think ( edict_t * self ) ;
extern void SP_trigger_elevator ( edict_t * self ) ;
extern void trigger_elevator_init ( edict_t * self ) ;
extern void trigger_elevator_use ( edict_t * self , edict_t * other , edict_t * activator ) ;
extern void SP_func_train_origin ( edict_t * self ) ;
extern void SP_func_train ( edict_t * self ) ;
extern void train_use ( edict_t * self , edict_t * other , edict_t * activator ) ;
extern void func_train_find ( edict_t * self ) ;
extern void train_resume ( edict_t * self ) ;
extern void train_next ( edict_t * self ) ;
extern void train_yaw ( edict_t * self ) ;
extern void train_children_think ( edict_t * self ) ;
extern void train_wait ( edict_t * self ) ;
extern void train_blocked ( edict_t * self , edict_t * other ) ;
extern void train_die ( edict_t * self , edict_t * inflictor , edict_t * attacker , int damage , vec3_t point ) ;
extern void SP_func_water ( edict_t * self ) ;
extern void SP_func_door_rot_dh ( edict_t * ent ) ;
extern void func_door_rot_dh_init ( edict_t * ent ) ;
extern void SP_func_door_rotating ( edict_t * ent ) ;
extern void SP_func_door ( edict_t * ent ) ;
extern void door_touch ( edict_t * self , edict_t * other , cplane_t * plane , csurface_t * surf ) ;
extern void door_killed ( edict_t * self , edict_t * inflictor , edict_t * attacker , int damage , vec3_t point ) ;
extern void door_destroyed ( edict_t * self , edict_t * inflictor , edict_t * attacker , int damage , vec3_t point ) ;
extern void door_blocked ( edict_t * self , edict_t * other ) ;
extern void Think_SpawnDoorTrigger ( edict_t * ent ) ;
extern void Think_CalcMoveSpeed ( edict_t * self ) ;
extern void Touch_DoorTrigger ( edict_t * self , edict_t * other , cplane_t * plane , csurface_t * surf ) ;
extern void door_use ( edict_t * self , edict_t * other , edict_t * activator ) ;
extern void door_go_up ( edict_t * self , edict_t * activator ) ;
extern void door_go_down ( edict_t * self ) ;
extern void door_hit_bottom ( edict_t * self ) ;
extern void door_hit_top ( edict_t * self ) ;
extern void swinging_door_reset ( edict_t * self ) ;
extern void door_use_areaportals ( edict_t * self , qboolean open ) ;
extern void SP_func_trainbutton ( edict_t * ent ) ;
extern void movewith_init ( edict_t * ent ) ;
extern void trainbutton_killed ( edict_t * self , edict_t * inflictor , edict_t * attacker , int damage , vec3_t point ) ;
extern void trainbutton_touch ( edict_t * self , edict_t * other , cplane_t * plane , csurface_t * surf ) ;
extern void trainbutton_use ( edict_t * self , edict_t * other , edict_t * activator ) ;
extern void trainbutton_fire ( edict_t * self ) ;
extern void trainbutton_wait ( edict_t * self ) ;
extern void trainbutton_return ( edict_t * self ) ;
extern void trainbutton_done ( edict_t * self ) ;
extern void SP_func_button ( edict_t * ent ) ;
extern void button_killed ( edict_t * self , edict_t * inflictor , edict_t * attacker , int damage , vec3_t point ) ;
extern void button_touch ( edict_t * self , edict_t * other , cplane_t * plane , csurface_t * surf ) ;
extern void button_use ( edict_t * self , edict_t * other , edict_t * activator ) ;
extern void button_fire ( edict_t * self ) ;
extern void button_wait ( edict_t * self ) ;
extern void button_return ( edict_t * self ) ;
extern void button_done ( edict_t * self ) ;
extern void SP_func_rotating_dh ( edict_t * ent ) ;
extern void func_rotating_dh_init ( edict_t * ent ) ;
extern void SP_func_rotating ( edict_t * ent ) ;
extern void rotating_use ( edict_t * self , edict_t * other , edict_t * activator ) ;
extern void rotating_touch ( edict_t * self , edict_t * other , cplane_t * plane , csurface_t * surf ) ;
extern void rotating_blocked ( edict_t * self , edict_t * other ) ;
extern void rotating_decel ( edict_t * self ) ;
extern void rotating_accel ( edict_t * self ) ;
extern void SP_func_plat2 ( edict_t * ent ) ;
extern void plat2_activate ( edict_t * ent , edict_t * other , edict_t * activator ) ;
extern void plat2_use ( edict_t * ent , edict_t * other , edict_t * activator ) ;
extern void plat2_blocked ( edict_t * self , edict_t * other ) ;
extern void plat2_touch_center ( edict_t * ent , edict_t * other , cplane_t * plane , csurface_t * surf ) ;
extern void plat2_dostuff ( edict_t * ent , edict_t * other ) ;
extern void plat2_go_up ( edict_t * ent ) ;
extern void plat2_go_down ( edict_t * ent ) ;
extern void plat2_hit_bottom ( edict_t * ent ) ;
extern void plat2_hit_top ( edict_t * ent ) ;
extern void SP_func_plat ( edict_t * ent ) ;
extern edict_t * plat_spawn_inside_trigger ( edict_t * ent ) ;
extern void Touch_Plat_Center ( edict_t * ent , edict_t * other , cplane_t * plane , csurface_t * surf ) ;
extern void Use_Plat ( edict_t * ent , edict_t * other , edict_t * activator ) ;
extern void plat_blocked ( edict_t * self , edict_t * other ) ;
extern void plat_go_up ( edict_t * ent ) ;
extern void plat_go_down ( edict_t * ent ) ;
extern void plat_hit_bottom ( edict_t * ent ) ;
extern void plat_hit_top ( edict_t * ent ) ;
extern void Think_AccelMove ( edict_t * ent ) ;
extern void plat_Accelerate ( moveinfo_t * moveinfo ) ;
extern void plat_CalcAcceleratedMove ( moveinfo_t * moveinfo ) ;
extern void AngleMove_Calc ( edict_t * ent , void ( * func ) ( edict_t * ) ) ;
extern void AngleMove_Begin ( edict_t * ent ) ;
extern void AngleMove_Final ( edict_t * ent ) ;
extern void AngleMove_Done ( edict_t * ent ) ;
extern void Move_Calc ( edict_t * ent , vec3_t dest , void ( * func ) ( edict_t * ) ) ;
extern void Move_Begin ( edict_t * ent ) ;
extern void Move_Final ( edict_t * ent ) ;
extern void Move_Done ( edict_t * ent ) ;
extern void Move_pos2_Think ( edict_t * ent ) ;
extern void Move_pos2_Final ( edict_t * ent ) ;
extern void Move_pos1_Think ( edict_t * ent ) ;
extern void Move_pos1_Final ( edict_t * ent ) ;
extern void Move_pos0_Think ( edict_t * ent ) ;
extern void Move_pos0_Final ( edict_t * ent ) ;
extern void check_reverse_rotation ( edict_t * self , vec3_t point ) ;
extern void train_spline ( edict_t * self ) ;
extern void spline_calc ( edict_t * train , vec3_t p1 , vec3_t p2 , vec3_t a1 , vec3_t a2 , float m , vec3_t p , vec3_t a ) ;
extern void movewith_update ( edict_t * self ) ;
extern void set_child_movement ( edict_t * self ) ;
extern void SP_trigger_fog_bbox ( edict_t * self ) ;
extern void SP_trigger_fog ( edict_t * self ) ;
extern void trigger_fog_use ( edict_t * self , edict_t * other , edict_t * activator ) ;
extern void SP_target_fog ( edict_t * self ) ;
extern void target_fog_use ( edict_t * self , edict_t * other , edict_t * activator ) ;
extern void fog_fade ( edict_t * self ) ;
extern void Fog_Init ( void ) ;
extern void Fog_Off_Global ( void ) ;
extern void Fog_Off ( edict_t * ent ) ;
extern void Fog ( edict_t * ent ) ;
extern void init_trigger_fog_delay ( edict_t * self ) ;
extern void trig_fog_fade ( edict_t * self ) ;
extern void GLFog ( edict_t * ent ) ;
extern void Cmd_Fog_f ( edict_t * ent ) ;
extern void Fog_ConsoleFog ( void ) ;
extern void CTFSetPowerUpEffect ( edict_t * ent , int def ) ;
extern void CTFBoot ( edict_t * ent ) ;
extern void CTFWarp ( edict_t * ent ) ;
extern void CTFPlayerList ( edict_t * ent ) ;
extern void CTFStats ( edict_t * ent ) ;
extern void CTFAdmin ( edict_t * ent ) ;
extern void CTFOpenAdminMenu ( edict_t * ent ) ;
extern void CTFAdmin_Cancel ( edict_t * ent , pmenuhnd_t * p ) ;
extern void CTFAdmin_Reset ( edict_t * ent , pmenuhnd_t * p ) ;
extern void CTFAdmin_MatchMode ( edict_t * ent , pmenuhnd_t * p ) ;
extern void CTFAdmin_MatchSet ( edict_t * ent , pmenuhnd_t * p ) ;
extern void CTFAdmin_Settings ( edict_t * ent , pmenuhnd_t * p ) ;
extern void CTFAdmin_UpdateSettings ( edict_t * ent , pmenuhnd_t * setmenu ) ;
extern void CTFAdmin_ChangeMatchLock ( edict_t * ent , pmenuhnd_t * p ) ;
extern void CTFAdmin_ChangeInstantWeap ( edict_t * ent , pmenuhnd_t * p ) ;
extern void CTFAdmin_ChangeQuadDrop ( edict_t * ent , pmenuhnd_t * p ) ;
extern void CTFAdmin_ChangeInstantItems ( edict_t * ent , pmenuhnd_t * p ) ;
extern void CTFAdmin_ChangeWeapStay ( edict_t * ent , pmenuhnd_t * p ) ;
extern void CTFAdmin_ChangeMatchStartLen ( edict_t * ent , pmenuhnd_t * p ) ;
extern void CTFAdmin_ChangeMatchSetupLen ( edict_t * ent , pmenuhnd_t * p ) ;
extern void CTFAdmin_ChangeMatchLen ( edict_t * ent , pmenuhnd_t * p ) ;
extern void CTFAdmin_SettingsCancel ( edict_t * ent , pmenuhnd_t * p ) ;
extern void CTFAdmin_SettingsApply ( edict_t * ent , pmenuhnd_t * p ) ;
extern void SP_info_teleport_destination ( edict_t * ent ) ;
extern void SP_trigger_teleport ( edict_t * ent ) ;
extern void old_teleporter_touch ( edict_t * self , edict_t * other , cplane_t * plane , csurface_t * surf ) ;
extern qboolean CTFCheckRules ( void ) ;
extern qboolean CTFInMatch ( void ) ;
extern void CTFObserver ( edict_t * ent ) ;
extern qboolean CTFStartClient ( edict_t * ent ) ;
extern void CTFCredits ( edict_t * ent , pmenuhnd_t * p ) ;
extern void TTCTFOpenJoinMenu ( edict_t * ent ) ;
extern void CTFOpenJoinMenu ( edict_t * ent ) ;
extern int TTCTFUpdateJoinMenu ( edict_t * ent ) ;
extern int CTFUpdateJoinMenu ( edict_t * ent ) ;
extern void CTFShowScores ( edict_t * ent , pmenu_t * p ) ;
extern void CTFRequestMatch ( edict_t * ent , pmenuhnd_t * p ) ;
extern void CTFReturnToMain ( edict_t * ent , pmenuhnd_t * p ) ;
extern void CTFChaseCam ( edict_t * ent , pmenuhnd_t * p ) ;
extern void CTFJoinTeam3 ( edict_t * ent , pmenuhnd_t * p ) ;
extern void CTFJoinTeam2 ( edict_t * ent , pmenuhnd_t * p ) ;
extern void CTFJoinTeam1 ( edict_t * ent , pmenuhnd_t * p ) ;
extern void CTFJoinTeam ( edict_t * ent , int desired_team ) ;
extern qboolean CTFMatchOn ( void ) ;
extern qboolean CTFMatchSetup ( void ) ;
extern void CTFGhost ( edict_t * ent ) ;
extern void CTFNotReady ( edict_t * ent ) ;
extern void CTFReady ( edict_t * ent ) ;
extern void CTFVoteNo ( edict_t * ent ) ;
extern void CTFVoteYes ( edict_t * ent ) ;
extern void CTFWinElection ( void ) ;
extern qboolean CTFNextMap ( void ) ;
extern void CTFEndMatch ( void ) ;
extern void CTFStartMatch ( void ) ;
extern void CTFAssignGhost ( edict_t * ent ) ;
extern void CTFResetAllPlayers ( void ) ;
extern qboolean CTFBeginElection ( edict_t * ent , elect_t type , char * msg ) ;
extern void SetLevelName ( pmenu_t * p ) ;
extern void SP_misc_ctf_small_banner ( edict_t * ent ) ;
extern void SP_misc_ctf_banner ( edict_t * ent ) ;
extern void misc_ctf_banner_think ( edict_t * ent ) ;
extern void CTFSay_Team ( edict_t * who , char * msg ) ;
extern void CTFSay_Team_Sight ( edict_t * who , char * buf , size_t bufSize ) ;
extern void CTFSay_Team_Weapon ( edict_t * who , char * buf , size_t bufSize ) ;
extern void CTFSay_Team_Tech ( edict_t * who , char * buf , size_t bufSize ) ;
extern void CTFSay_Team_Health ( edict_t * who , char * buf , size_t bufSize ) ;
extern void CTFSay_Team_Armor ( edict_t * who , char * buf , size_t bufSize ) ;
extern void CTFSay_Team_Location ( edict_t * who , char * buf , size_t bufSize ) ;
extern void CTFApplyAmmogenSound ( edict_t * ent ) ;
extern void CTFApplyAmmogen ( edict_t * attacker , edict_t * targ ) ;
extern void CTFApplyVampireSound ( edict_t * ent ) ;
extern void CTFApplyVampire ( edict_t * ent , int dmg ) ;
extern qboolean CTFHasRegeneration ( edict_t * ent ) ;
extern void CTFApplyRegeneration ( edict_t * ent ) ;
extern void CTFApplyHasteSound ( edict_t * ent ) ;
extern qboolean CTFApplyHaste ( edict_t * ent ) ;
extern qboolean CTFApplyStrengthSound ( edict_t * ent ) ;
extern int CTFApplyStrength ( edict_t * ent , int dmg ) ;
extern int CTFApplyResistance ( edict_t * ent , int dmg ) ;
extern void CTFResetTech ( void ) ;
extern void CTFSetupTechSpawn ( void ) ;
extern void CTFRespawnTech ( edict_t * ent ) ;
extern void SpawnTechs ( edict_t * ent ) ;
extern void SpawnTech ( gitem_t * item , edict_t * spot ) ;
extern void CheckNumTechs ( void ) ;
extern void RemoveTechs ( int oldtechcount , int newtechcount , int numtechtypes ) ;
extern void SpawnMoreTechs ( int oldtechcount , int newtechcount , int numtechtypes ) ;
extern void Cmd_TechCount_f ( edict_t * ent ) ;
extern int NumOfTech ( int index ) ;
extern int TechCount ( void ) ;
extern void CTFDeadDropTech ( edict_t * ent ) ;
extern void CTFDrop_Tech ( edict_t * ent , gitem_t * item ) ;
extern void TechThink ( edict_t * tech ) ;
extern void CTFTechTouch ( edict_t * ent , edict_t * other , cplane_t * plane , csurface_t * surf ) ;
extern qboolean CTFPickup_Tech ( edict_t * ent , edict_t * other ) ;
extern gitem_t * CTFWhat_Tech ( edict_t * ent ) ;
extern void CTFHasTech ( edict_t * who ) ;
extern void Apply_Tech_Shell ( gitem_t * item , edict_t * ent ) ;
extern void CTFScoreboardMessage ( edict_t * ent , edict_t * killer ) ;
extern void CTFTeam_f ( edict_t * ent ) ;
extern void CTFWeapon_Grapple ( edict_t * ent ) ;
extern void CTFWeapon_Grapple_Fire ( edict_t * ent , qboolean altfire ) ;
extern void CTFGrappleFire ( edict_t * ent , vec3_t g_offset , int damage , int effect ) ;
extern void CTFFireGrapple ( edict_t * self , vec3_t start , vec3_t dir , int damage , int speed , int effect ) ;
extern void CTFGrapplePull ( edict_t * self ) ;
extern void CTFGrappleDrawCable ( edict_t * self ) ;
extern void CTFGrappleTouch ( edict_t * self , edict_t * other , cplane_t * plane , csurface_t * surf ) ;
extern void CTFResetGrapple ( edict_t * self ) ;
extern void CTFPlayerResetGrapple ( edict_t * ent ) ;
extern void SP_info_player_team3 ( edict_t * self ) ;
extern void SP_info_player_team2 ( edict_t * self ) ;
extern void SP_info_player_team1 ( edict_t * self ) ;
extern void SetCTFStats ( edict_t * ent ) ;
extern void CTFSetIDView ( edict_t * ent ) ;
extern void CTFID_f ( edict_t * ent ) ;
extern void CTFCalcScores ( void ) ;
extern void CTFEffects ( edict_t * player ) ;
extern void CTFFlagSetup ( edict_t * ent ) ;
extern void CTFFlagThink ( edict_t * ent ) ;
extern qboolean CTFDrop_Flag ( edict_t * ent , gitem_t * item ) ;
extern void CTFDeadDropFlag ( edict_t * self ) ;
extern void CTFDropFlagThink ( edict_t * ent ) ;
extern void CTFDropFlagTouch ( edict_t * ent , edict_t * other , cplane_t * plane , csurface_t * surf ) ;
extern gitem_t * CTFWhat_Flag ( edict_t * ent ) ;
extern qboolean CTFPickup_Flag ( edict_t * ent , edict_t * other ) ;
extern void CTFResetFlags ( void ) ;
extern void CTFResetFlag ( int ctf_team ) ;
extern void CTFCheckHurtCarrier ( edict_t * targ , edict_t * attacker ) ;
extern void CTFFragBonuses ( edict_t * targ , edict_t * inflictor , edict_t * attacker ) ;
extern edict_t * SelectCTFSpawnPoint ( edict_t * ent ) ;
extern void CTFAssignTeam ( gclient_t * who ) ;
extern void CTFAssignSkin ( edict_t * ent , char * s ) ;
extern int CTFOtherTeam2 ( int team ) ;
extern int CTFOtherTeam ( int team ) ;
extern char * CTFOtherTeamName2 ( int team ) ;
extern char * CTFOtherTeamName ( int team ) ;
extern int CTFFlagTeam ( gitem_t * flag ) ;
extern int PlayersOnCTFTeam ( int checkteam ) ;
extern char * CTFTeamName ( int team ) ;
extern void CTFPrecache ( void ) ;
extern void CTFInit ( void ) ;
extern void CTFSpawn ( void ) ;
extern qboolean loc_CanSee ( edict_t * targ , edict_t * inflictor ) ;
extern void loc_buildboxpoints ( vec3_t p [ 8 ] , vec3_t org , vec3_t mins , vec3_t maxs ) ;
extern void SP_crane_reset ( edict_t * self ) ;
extern void crane_reset_use ( edict_t * self , edict_t * other , edict_t * activator ) ;
extern void crane_reset_go ( edict_t * temp ) ;
extern void SP_crane_beam ( edict_t * self ) ;
extern void SP_crane_hoist ( edict_t * self ) ;
extern void SP_crane_hook ( edict_t * self ) ;
extern void SP_crane_control ( edict_t * self ) ;
extern void Use_Crane_Control ( edict_t * ent , edict_t * other , edict_t * activator ) ;
extern void crane_control_action ( edict_t * control , edict_t * activator , vec3_t point ) ;
extern void Crane_AdjustSpeed ( edict_t * ent ) ;
extern void G_FindCraneParts ( ) ;
extern void Crane_Move_Begin ( edict_t * ent ) ;
extern void Crane_Move_Final ( edict_t * ent ) ;
extern void Crane_blocked ( edict_t * self , edict_t * other ) ;
extern qboolean Crane_Hook_Bonk ( edict_t * hook , int axis , int dir , vec3_t bonk ) ;
extern void Crane_Stop ( edict_t * control ) ;
extern void Crane_Move_Done ( edict_t * ent ) ;
extern void crane_light_off ( edict_t * light ) ;
extern void Cable_Think ( edict_t * cable ) ;
extern void SetSpotlightLength ( edict_t * hook ) ;
extern void SetCableLength ( edict_t * cable ) ;
extern void Cargo_Float_Up ( edict_t * cargo ) ;
extern void cargo_blocked ( edict_t * cargo , edict_t * obstacle ) ;
extern void Cargo_Stop ( edict_t * ent ) ;
extern edict_t * CrateOnTop ( edict_t * from , edict_t * ent ) ;
extern void Moving_Speaker_Think ( edict_t * speaker ) ;
extern void T_RadiusDamage ( edict_t * inflictor , edict_t * attacker , float damage , edict_t * ignore , float radius , int mod , double dmg_slope ) ;
extern void T_Damage ( edict_t * in_targ , edict_t * inflictor , edict_t * in_attacker , vec3_t dir , vec3_t point , vec3_t normal , int damage , int knockback , int dflags , int mod ) ;
extern qboolean CheckTeamDamage ( edict_t * targ , edict_t * attacker ) ;
extern void M_ReactToDamage ( edict_t * targ , edict_t * attacker ) ;
extern void CallMyFriends ( edict_t * targ , edict_t * attacker ) ;
extern void DefendMyFriend ( edict_t * self , edict_t * enemy ) ;
extern int BloodType ( int index ) ;
extern void SpawnDamage ( int type , vec3_t origin , vec3_t normal ) ;
extern void Killed ( edict_t * targ , edict_t * inflictor , edict_t * attacker , int damage , vec3_t point ) ;
extern qboolean CanDamage ( edict_t * targ , edict_t * inflictor ) ;
extern void cleanupHealTarget ( edict_t * self ) ;
extern void ClientCommand ( edict_t * ent ) ;
extern void ForcewallOff ( edict_t * player ) ;
extern void SpawnForcewall ( edict_t * player ) ;
extern void forcewall_think ( edict_t * self ) ;
extern void decoy_think ( edict_t * self ) ;
extern void decoy_die ( edict_t * self , edict_t * inflictor , edict_t * attacker , int damage , vec3_t point ) ;
extern void SetSensitivities ( edict_t * ent , qboolean reset ) ;
extern void SetLazarusCrosshair ( edict_t * ent ) ;
extern void Cmd_Bbox_f ( edict_t * ent ) ;
extern void DrawBBox ( edict_t * ent ) ;
extern void Cmd_PlayerList_f ( edict_t * ent ) ;
extern void Cmd_EntCount_f ( edict_t * ent ) ;
extern void Cmd_Say_f ( edict_t * ent , qboolean team , qboolean arg0 ) ;
extern qboolean CheckFlood ( edict_t * ent ) ;
extern void Cmd_Wave_f ( edict_t * ent ) ;
extern void Cmd_Players_f ( edict_t * ent ) ;
extern int PlayerSort ( void const * a , void const * b ) ;
extern void Cmd_PutAway_f ( edict_t * ent ) ;
extern void Cmd_Kill_f ( edict_t * ent ) ;
extern void Cmd_InvDrop_f ( edict_t * ent ) ;
extern void Cmd_WeapLast_f ( edict_t * ent ) ;
extern void Cmd_WeapNext_f ( edict_t * ent ) ;
extern void Cmd_WeapPrev_f ( edict_t * ent ) ;
extern void Cmd_InvUse_f ( edict_t * ent ) ;
extern void Cmd_Inven_f ( edict_t * ent ) ;
extern void Cmd_Drop_f ( edict_t * ent ) ;
extern void Cmd_Use_f ( edict_t * ent ) ;
extern void Cmd_Noclip_f ( edict_t * ent ) ;
extern void Cmd_Notarget_f ( edict_t * ent ) ;
extern void Cmd_God_f ( edict_t * ent ) ;
extern void Cmd_Give_f ( edict_t * ent ) ;
extern void ValidateSelectedItem ( edict_t * ent ) ;
extern void SelectPrevItem ( edict_t * ent , int itflags ) ;
extern void SelectNextItem ( edict_t * ent , int itflags ) ;
extern qboolean OnSameTeam ( edict_t * ent1 , edict_t * ent2 ) ;
extern char * ClientTeam ( edict_t * ent ) ;
extern void ShiftItem ( edict_t * ent , int direction ) ;
extern void SaveEntProps ( edict_t * e , FILE * f ) ;
extern void laser_sight_think ( edict_t * laser ) ;
extern void RotateAngles ( vec3_t in , vec3_t delta , vec3_t out ) ;
extern void GetChaseTarget ( edict_t * ent ) ;
extern void ChasePrev ( edict_t * ent ) ;
extern void ChaseNext ( edict_t * ent ) ;
extern void UpdateChaseCam ( edict_t * ent ) ;
extern void SP_func_monitor ( edict_t * self ) ;
extern void func_monitor_init ( edict_t * self ) ;
extern void use_camera ( edict_t * self , edict_t * other , edict_t * activator ) ;
extern edict_t * G_FindPrevCamera ( edict_t * camera , edict_t * monitor ) ;
extern edict_t * G_FindNextCamera ( edict_t * camera , edict_t * monitor ) ;
extern void camera_on ( edict_t * ent ) ;
extern void faker_animate ( edict_t * self ) ;
extern void camera_off ( edict_t * ent ) ;
extern qboolean ai_chicken ( edict_t * self , edict_t * badguy ) ;
extern void ai_run ( edict_t * self , float dist ) ;
extern qboolean ai_checkattack ( edict_t * self , float dist ) ;
extern void ai_run_slide ( edict_t * self , float distance ) ;
extern void ai_run_missile ( edict_t * self ) ;
extern void ai_run_melee ( edict_t * self ) ;
extern qboolean M_CheckAttack ( edict_t * self ) ;
extern qboolean FacingIdeal ( edict_t * self ) ;
extern qboolean FindTarget ( edict_t * self ) ;
extern void FoundTarget ( edict_t * self ) ;
extern void HuntTarget ( edict_t * self ) ;
extern qboolean canReach ( edict_t * self , edict_t * other ) ;
extern qboolean infront ( edict_t * self , edict_t * other ) ;
extern qboolean visible ( edict_t * self , edict_t * other ) ;
extern int range ( edict_t * self , edict_t * other ) ;
extern void ai_turn ( edict_t * self , float dist ) ;
extern void ai_charge ( edict_t * self , float dist ) ;
extern void ai_walk ( edict_t * self , float dist ) ;
extern void ai_stand ( edict_t * self , float dist ) ;
extern void ai_move ( edict_t * self , float dist ) ;
extern void AI_SetSightClient ( void ) ;
extern void ACESP_RemoveBot ( char * name ) ;
extern void ACESP_SpawnBot ( char * team , char * name , char * skin , char * userinfo ) ;
extern void ACESP_SetName ( edict_t * bot , char * name , char * skin , char * team ) ;
extern int listSize ( char * list [ ] ) ;
extern void ACESP_LoadBotInfo ( ) ;
extern edict_t * ACESP_FindFreeClient ( void ) ;
extern void ACESP_Respawn ( edict_t * self ) ;
extern void ACESP_PutClientInServer ( edict_t * bot , qboolean respawn , int team ) ;
extern void ACESP_HoldSpawn ( edict_t * self ) ;
extern void ACEND_LoadNodes ( void ) ;
extern void ACEND_SaveNodes ( void ) ;
extern void ACEND_ResolveAllPaths ( void ) ;
extern void ACEND_RemoveNodeEdge ( edict_t * self , int from , int to ) ;
extern void ACEND_UpdateNodeEdge ( int from , int to ) ;
extern int ACEND_AddNode ( edict_t * self , int type ) ;
extern void ACEND_ShowPath ( edict_t * self , int goal_node ) ;
extern void ACEND_DrawPath ( void ) ;
extern void ACEND_ShowNode ( int node ) ;
extern void ACEND_InitNodes ( void ) ;
extern void ACEND_PathMap ( edict_t * self ) ;
extern qboolean ACEND_CheckForLadder ( edict_t * self ) ;
extern void ACEND_GrapFired ( edict_t * self ) ;
extern qboolean ACEND_FollowPath ( edict_t * self ) ;
extern void ACEND_SetGoal ( edict_t * self , int goal_node ) ;
extern int ACEND_FindClosestReachableNode ( edict_t * self , int range , int type ) ;
extern int ACEND_FindCloseReachableNode ( edict_t * self , int range , int type ) ;
extern int ACEND_FindCost ( int from , int to ) ;
extern void ACEMV_Attack ( edict_t * self , usercmd_t * ucmd ) ;
extern void ACEMV_Wander ( edict_t * self , usercmd_t * ucmd ) ;
extern void ACEMV_Move ( edict_t * self , usercmd_t * ucmd ) ;
extern void ACEMV_MoveToGoal ( edict_t * self , usercmd_t * ucmd ) ;
extern void ACEMV_ChangeBotAngle ( edict_t * ent ) ;
extern qboolean ACEMV_CheckEyes ( edict_t * self , usercmd_t * ucmd ) ;
extern qboolean ACEMV_SpecialMove ( edict_t * self , usercmd_t * ucmd ) ;
extern qboolean ACEMV_CanMove ( edict_t * self , int direction ) ;
extern void ACEIT_BuildItemNodeTable ( qboolean rebuild ) ;
extern int ACEIT_ClassnameToIndex ( char * classname ) ;
extern float ACEIT_ItemNeed ( edict_t * self , int item ) ;
extern qboolean ACEIT_CanUseArmor ( gitem_t * item , edict_t * other ) ;
extern qboolean ACEIT_ChangeWeapon ( edict_t * ent , gitem_t * item ) ;
extern qboolean ACEIT_IsVisible ( edict_t * self , vec3_t goal ) ;
extern qboolean ACEIT_IsReachable ( edict_t * self , vec3_t goal ) ;
extern void ACEIT_PlayerRemoved ( edict_t * ent ) ;
extern void ACEIT_PlayerAdded ( edict_t * ent ) ;
extern int Decode ( char * filename , unsigned char * buffer , int bufsize ) ;
extern int Encode ( char * filename , unsigned char * buffer , int bufsize , int version ) ;
extern void DeleteNode ( int p ) ;
extern void InsertNode ( int r ) ;
extern void InitTree ( void ) ;
extern void safe_bprintf ( int printlevel , char * fmt , ... ) ;
extern void safe_centerprintf ( edict_t * ent , char * fmt , ... ) ;
extern void safe_cprintf ( edict_t * ent , int printlevel , char * fmt , ... ) ;
extern void debug_printf ( char * fmt , ... ) ;
extern void ACECM_Store ( void ) ;
extern qboolean ACECM_Commands ( edict_t * ent ) ;
extern void ACEAI_ChooseWeapon ( edict_t * self ) ;
extern qboolean ACEAI_CheckShot ( edict_t * self ) ;
extern qboolean ACEAI_FindEnemy ( edict_t * self ) ;
extern void ACEAI_PickShortRangeGoal ( edict_t * self ) ;
extern void ACEAI_PickLongRangeGoal ( edict_t * self ) ;
extern void ACEAI_Think ( edict_t * self ) ;