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 long 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 void Q_strncatz ( char * dst , const char * src , size_t dstSize ) ; extern void Q_strncpyz ( char * dst , const char * src , size_t dstSize ) ; extern int Q_strcasecmp ( char * s1 , char * s2 ) ; extern int Q_strncasecmp ( char * s1 , char * s2 , int 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_GlobMatch ( const char * pattern , const char * text , qboolean caseSensitive ) ; extern void Com_PageInMemory ( byte * buffer , int size ) ; 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 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 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 ( void ) ; 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_jump ( 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_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_fake_jump ( 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_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 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 ( 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 ) ; 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 void my_bprintf ( int printlevel , char * fmt , ... ) ; 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 GameDirRelativePath ( char * filename , char * output , size_t outputSize ) ; extern edict_t * LookingAt ( edict_t * ent , int filter , vec3_t endpos , float * range ) ; extern float AtLeast ( float x , float dx ) ; extern qboolean point_infront ( edict_t * self , vec3_t point ) ; extern void stuffcmd ( edict_t * pent , char * pszCommand ) ; extern float SnapToEights ( float x ) ; extern void AnglesNormalize ( vec3_t vec ) ; extern qboolean KillBox ( edict_t * ent ) ; extern void G_TouchSolids ( edict_t * ent ) ; extern void G_TouchTriggers ( edict_t * ent ) ; extern void G_FreeEdict ( edict_t * ed ) ; extern edict_t * G_Spawn ( void ) ; extern void G_InitEdict ( edict_t * e ) ; extern char * G_CopyString ( char * in ) ; extern void vectoangles2 ( vec3_t value1 , vec3_t angles ) ; extern void vectoangles ( vec3_t value1 , vec3_t angles ) ; extern float vectoyaw2 ( vec3_t vec ) ; extern float vectoyaw ( vec3_t vec ) ; extern void G_SetMovedir ( vec3_t angles , vec3_t movedir ) ; extern char * vtos ( vec3_t v ) ; extern float * tv ( float x , float y , float z ) ; extern void G_UseTargets ( edict_t * ent , edict_t * activator ) ; extern void Think_Delay ( edict_t * ent ) ; extern edict_t * G_PickTarget ( char * targetname ) ; extern edict_t * findradius ( edict_t * from , vec3_t org , float rad ) ; extern edict_t * G_Find ( edict_t * from , size_t fieldofs , char * match ) ; extern void G_ProjectSource2 ( vec3_t point , vec3_t distance , vec3_t forward , vec3_t right , vec3_t up , vec3_t result ) ; extern void G_ProjectSource ( vec3_t point , vec3_t distance , vec3_t forward , vec3_t right , vec3_t result ) ; extern void SP_turret_driver ( edict_t * self ) ; extern void turret_driver_link ( edict_t * self ) ; extern void turret_driver_think ( edict_t * self ) ; extern void turret_driver_die ( edict_t * self , edict_t * inflictor , edict_t * attacker , int damage , vec3_t point ) ; extern void SP_turret_base ( edict_t * self ) ; extern void use_turret_base ( edict_t * self , edict_t * other , edict_t * activator ) ; extern void turret_base_finish ( edict_t * self ) ; extern void SP_model_turret ( edict_t * self ) ; extern void SP_turret_breach ( edict_t * self ) ; extern void turret_breach_touch ( edict_t * self , edict_t * other , cplane_t * plane , csurface_t * surf ) ; extern void use_turret_breach ( edict_t * self , edict_t * other , edict_t * activator ) ; extern void toggle_turret_breach ( edict_t * self , edict_t * other , edict_t * activator ) ; extern void turret_die ( edict_t * self , edict_t * inflictor , edict_t * attacker , int damage , vec3_t point ) ; extern void turret_die_temp_think ( edict_t * self ) ; extern void turret_breach_finish_init ( edict_t * self ) ; extern void turret_breach_think ( edict_t * self ) ; extern void turret_turn ( edict_t * self ) ; extern void turret_disengage ( edict_t * self ) ; extern void turret_breach_fire ( edict_t * self ) ; extern void hrocket_turret_fire ( edict_t * self , edict_t * owner , vec3_t start , vec3_t dir , vec3_t start2 , vec3_t dir2 , int damage , int speed , float damage_radius , int radius_damage , edict_t * home_target ) ; extern void turret_blocked ( edict_t * self , edict_t * other ) ; extern edict_t * TurretTarget ( edict_t * self ) ; extern void SP_trigger_switch ( edict_t * ent ) ; extern void use_trigger_switch ( edict_t * ent , edict_t * other , edict_t * activator ) ; extern void touch_trigger_switch ( edict_t * self , edict_t * other , cplane_t * plane , csurface_t * surf ) ; extern void trigger_switch ( edict_t * ent ) ; extern void trigger_switch_usetargets ( edict_t * ent , edict_t * activator ) ; extern void trigger_switch_delay ( edict_t * ent ) ; extern void SP_trigger_disguise ( edict_t * trigger ) ; extern void use_trigger_disguise ( edict_t * trigger , edict_t * other , edict_t * activator ) ; extern void touch_trigger_disguise ( edict_t * trigger , edict_t * other , cplane_t * plane , csurface_t * surf ) ; extern void SP_trigger_transition ( 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 ( edict_t * self ) ; extern void trigger_scales_think ( edict_t * self ) ; extern float weight_on_top ( edict_t * ent ) ; extern void SP_trigger_inside ( edict_t * self ) ; extern void trigger_inside_think ( 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 ( 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 ( edict_t * self ) ; extern void trigger_gravity_touch ( edict_t * self , edict_t * other , cplane_t * plane , csurface_t * surf ) ; 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 ( edict_t * self ) ; 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 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 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 ) ; 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 ) ; 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 ( 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 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 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 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 ( 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 ( ) ; extern void Lights ( ) ; 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_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_plat ( edict_t * ent ) ; extern void 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 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 ( qboolean gameShutdown ) ; 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 ( void ) ; 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_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 ( ) ; extern void ACEND_ResolveAllPaths ( ) ; 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 ( ) ; 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 ( ) ; 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 ) ;