thirtyflightsofloving/game/g_func_decs.h
Knightmare66 b4fe9c809e Added custom animations array and re-enabled target_animation entity in default Lazarus DLL.
Added support for custom client railgun colors in default Lazarus DLL.
Removed sk_rail_color_* cvars from default Lazarus DLL.
2021-10-28 21:39:19 -04:00

1846 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 mmove_t * G_NewCustomAnim ( void ) ;
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 ) ;