mirror of
https://github.com/DrBeef/JKXR.git
synced 2024-11-29 23:42:38 +00:00
653 lines
30 KiB
C
653 lines
30 KiB
C
|
/*
|
||
|
===========================================================================
|
||
|
Copyright (C) 2000 - 2013, Raven Software, Inc.
|
||
|
Copyright (C) 2001 - 2013, Activision, Inc.
|
||
|
Copyright (C) 2013 - 2015, OpenJK contributors
|
||
|
|
||
|
This file is part of the OpenJK source code.
|
||
|
|
||
|
OpenJK is free software; you can redistribute it and/or modify it
|
||
|
under the terms of the GNU General Public License version 2 as
|
||
|
published by the Free Software Foundation.
|
||
|
|
||
|
This program is distributed in the hope that it will be useful,
|
||
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||
|
GNU General Public License for more details.
|
||
|
|
||
|
You should have received a copy of the GNU General Public License
|
||
|
along with this program; if not, see <http://www.gnu.org/licenses/>.
|
||
|
===========================================================================
|
||
|
*/
|
||
|
|
||
|
// Filename:- g_functions.h
|
||
|
//
|
||
|
|
||
|
#ifndef G_FUNCTIONS
|
||
|
#define G_FUNCTIONS
|
||
|
|
||
|
#undef thinkFunc_t
|
||
|
#undef clThinkFunc_t
|
||
|
#undef reachedFunc_t
|
||
|
#undef blockedFunc_t
|
||
|
#undef touchFunc_t
|
||
|
#undef useFunc_t
|
||
|
#undef painFunc_t
|
||
|
#undef dieFunc_t
|
||
|
|
||
|
// void (*think)(gentity_t *self);
|
||
|
typedef enum
|
||
|
{
|
||
|
thinkF_NULL = 0,
|
||
|
//
|
||
|
thinkF_teleporter_think,
|
||
|
thinkF_funcBBrushDieGo,
|
||
|
thinkF_ExplodeDeath,
|
||
|
thinkF_RespawnItem,
|
||
|
thinkF_G_FreeEntity,
|
||
|
thinkF_FinishSpawningItem,
|
||
|
thinkF_locateCamera,
|
||
|
thinkF_G_RunObject,
|
||
|
thinkF_ReturnToPos1,
|
||
|
thinkF_Use_BinaryMover_Go,
|
||
|
thinkF_Think_MatchTeam,
|
||
|
thinkF_Think_BeginMoving,
|
||
|
thinkF_Think_SetupTrainTargets,
|
||
|
thinkF_Think_SpawnNewDoorTrigger,
|
||
|
thinkF_ref_link,
|
||
|
thinkF_Think_Target_Delay,
|
||
|
thinkF_target_laser_think,
|
||
|
thinkF_target_laser_start,
|
||
|
thinkF_target_location_linkup,
|
||
|
thinkF_scriptrunner_run,
|
||
|
thinkF_multi_wait,
|
||
|
thinkF_multi_trigger_run,
|
||
|
thinkF_trigger_always_think,
|
||
|
thinkF_AimAtTarget,
|
||
|
thinkF_func_timer_think,
|
||
|
thinkF_NPC_RemoveBody,
|
||
|
thinkF_Disappear,
|
||
|
thinkF_NPC_Think,
|
||
|
thinkF_NPC_Spawn_Go,
|
||
|
thinkF_NPC_Begin,
|
||
|
thinkF_moverCallback,
|
||
|
thinkF_anglerCallback,
|
||
|
thinkF_RemoveOwner,
|
||
|
thinkF_MakeOwnerInvis,
|
||
|
thinkF_MakeOwnerEnergy,
|
||
|
thinkF_transporter_stream_think,
|
||
|
thinkF_func_usable_think,
|
||
|
thinkF_misc_dlight_think,
|
||
|
thinkF_health_think,
|
||
|
thinkF_ammo_think,
|
||
|
thinkF_trigger_teleporter_find_closest_portal,
|
||
|
thinkF_thermalDetonatorExplode,
|
||
|
thinkF_WP_ThermalThink,
|
||
|
thinkF_trigger_hurt_reset,
|
||
|
thinkF_turret_base_think,
|
||
|
thinkF_turret_head_think,
|
||
|
thinkF_HS_Think,
|
||
|
thinkF_laser_arm_fire,
|
||
|
thinkF_laser_arm_start,
|
||
|
thinkF_trigger_visible_check_player_visibility,
|
||
|
thinkF_target_relay_use_go,
|
||
|
thinkF_trigger_cleared_fire,
|
||
|
thinkF_MoveOwner,
|
||
|
thinkF_SolidifyOwner,
|
||
|
thinkF_cycleCamera,
|
||
|
thinkF_spawn_ammo_crystal_trigger,
|
||
|
thinkF_NPC_ShySpawn,
|
||
|
thinkF_func_wait_return_solid,
|
||
|
thinkF_InflateOwner,
|
||
|
thinkF_mega_ammo_think,
|
||
|
thinkF_misc_replicator_item_finish_spawn,
|
||
|
thinkF_fx_runner_link,
|
||
|
thinkF_fx_runner_think,
|
||
|
thinkF_fx_rain_think, // cdr added
|
||
|
thinkF_removeBoltSurface,
|
||
|
thinkF_set_MiscAnim,
|
||
|
thinkF_LimbThink,
|
||
|
thinkF_laserTrapThink,
|
||
|
thinkF_TieFighterThink,
|
||
|
thinkF_TieBomberThink,
|
||
|
thinkF_rocketThink,
|
||
|
thinkF_prox_mine_think,
|
||
|
thinkF_emplaced_blow,
|
||
|
thinkF_WP_Explode,
|
||
|
thinkF_pas_think, //personal assault sentry
|
||
|
thinkF_ion_cannon_think,
|
||
|
thinkF_maglock_link,
|
||
|
thinkF_WP_flechette_alt_blow,
|
||
|
thinkF_WP_prox_mine_think,
|
||
|
thinkF_camera_aim,
|
||
|
thinkF_fx_explosion_trail_link,
|
||
|
thinkF_fx_explosion_trail_think,
|
||
|
thinkF_fx_target_beam_link,
|
||
|
thinkF_fx_target_beam_think,
|
||
|
thinkF_spotlight_think,
|
||
|
thinkF_spotlight_link,
|
||
|
thinkF_trigger_push_checkclear,
|
||
|
thinkF_DEMP2_AltDetonate,
|
||
|
thinkF_DEMP2_AltRadiusDamage,
|
||
|
thinkF_panel_turret_think,
|
||
|
thinkF_welder_think,
|
||
|
thinkF_gas_random_jet,
|
||
|
thinkF_poll_converter,
|
||
|
thinkF_spawn_rack_goods,
|
||
|
thinkF_misc_weapon_shooter_aim,
|
||
|
thinkF_misc_weapon_shooter_fire,
|
||
|
thinkF_beacon_think,
|
||
|
thinkF_NoghriGasCloudThink,
|
||
|
|
||
|
//rww - added for sky portals
|
||
|
thinkF_G_PortalifyEntities,
|
||
|
|
||
|
} thinkFunc_t;
|
||
|
|
||
|
// THINK functions...
|
||
|
//
|
||
|
extern void teleporter_think ( gentity_t *ent );
|
||
|
extern void funcBBrushDieGo ( gentity_t *ent );
|
||
|
extern void ExplodeDeath ( gentity_t *ent );
|
||
|
extern void RespawnItem ( gentity_t *ent );
|
||
|
extern void G_FreeEntity ( gentity_t *ent );
|
||
|
extern void FinishSpawningItem ( gentity_t *ent );
|
||
|
extern void locateCamera ( gentity_t *ent );
|
||
|
extern void G_RunObject ( gentity_t *ent );
|
||
|
extern void ReturnToPos1 ( gentity_t *ent );
|
||
|
extern void Use_BinaryMover_Go ( gentity_t *ent );
|
||
|
extern void Think_MatchTeam ( gentity_t *ent );
|
||
|
extern void Think_MatchTeam ( gentity_t *ent );
|
||
|
extern void Think_BeginMoving ( gentity_t *ent );
|
||
|
extern void Think_SetupTrainTargets ( gentity_t *ent );
|
||
|
extern void Think_SpawnNewDoorTrigger ( gentity_t *ent );
|
||
|
extern void ref_link ( gentity_t *ent );
|
||
|
extern void Think_Target_Delay ( gentity_t *ent );
|
||
|
extern void target_laser_think ( gentity_t *ent );
|
||
|
extern void target_laser_start ( gentity_t *ent );
|
||
|
extern void target_location_linkup ( gentity_t *ent );
|
||
|
extern void scriptrunner_run ( gentity_t *ent );
|
||
|
extern void multi_wait ( gentity_t *ent );
|
||
|
extern void multi_trigger_run ( gentity_t *ent );
|
||
|
extern void trigger_always_think ( gentity_t *ent );
|
||
|
extern void AimAtTarget ( gentity_t *ent );
|
||
|
extern void func_timer_think ( gentity_t *ent );
|
||
|
extern void NPC_RemoveBody ( gentity_t *ent );
|
||
|
extern void Disappear ( gentity_t *ent );
|
||
|
extern void NPC_Think ( gentity_t *ent );
|
||
|
extern void NPC_Spawn_Go ( gentity_t *ent );
|
||
|
extern void NPC_Begin ( gentity_t *ent );
|
||
|
extern void moverCallback ( gentity_t *ent );
|
||
|
extern void anglerCallback ( gentity_t *ent );
|
||
|
extern void RemoveOwner ( gentity_t *ent );
|
||
|
extern void MakeOwnerInvis ( gentity_t *ent );
|
||
|
extern void MakeOwnerEnergy ( gentity_t *ent );
|
||
|
extern void func_usable_think ( gentity_t *self );
|
||
|
extern void misc_dlight_think ( gentity_t *ent );
|
||
|
extern void laser_link ( gentity_t *ent );
|
||
|
extern void blow_chunks_link ( gentity_t *ent );
|
||
|
extern void health_think ( gentity_t *ent );
|
||
|
extern void ammo_think ( gentity_t *ent );
|
||
|
extern void trigger_teleporter_find_closest_portal ( gentity_t *self );
|
||
|
extern void thermalDetonatorExplode ( gentity_t *ent );
|
||
|
extern void WP_ThermalThink ( gentity_t *ent );
|
||
|
extern void trigger_hurt_reset ( gentity_t *self );
|
||
|
extern void turret_base_think ( gentity_t *self );
|
||
|
extern void turret_head_think ( gentity_t *self );
|
||
|
extern void laser_arm_fire ( gentity_t *ent );
|
||
|
extern void laser_arm_start ( gentity_t *base );
|
||
|
extern void trigger_visible_check_player_visibility ( gentity_t *self );
|
||
|
extern void target_relay_use_go ( gentity_t *self );
|
||
|
extern void trigger_cleared_fire ( gentity_t *self );
|
||
|
extern void MoveOwner ( gentity_t *self );
|
||
|
extern void SolidifyOwner ( gentity_t *self );
|
||
|
extern void cycleCamera ( gentity_t *self );
|
||
|
extern void spawn_ammo_crystal_trigger ( gentity_t *ent );
|
||
|
extern void NPC_ShySpawn ( gentity_t *ent );
|
||
|
extern void func_wait_return_solid ( gentity_t *self );
|
||
|
extern void InflateOwner ( gentity_t *self );
|
||
|
extern void mega_ammo_think ( gentity_t *self );
|
||
|
extern void misc_replicator_item_finish_spawn( gentity_t *self );
|
||
|
extern void fx_runner_link ( gentity_t *self );
|
||
|
extern void fx_runner_think ( gentity_t *self );
|
||
|
extern void fx_rain_think ( gentity_t *self );
|
||
|
extern void set_MiscAnim ( gentity_t *self);
|
||
|
extern void removeBoltSurface ( gentity_t *self);
|
||
|
extern void LimbThink ( gentity_t *ent );
|
||
|
extern void laserTrapThink ( gentity_t *self );
|
||
|
extern void TieFighterThink ( gentity_t *self );
|
||
|
extern void TieBomberThink ( gentity_t *self );
|
||
|
extern void rocketThink ( gentity_t *ent );
|
||
|
extern void prox_mine_think ( gentity_t *ent );
|
||
|
extern void emplaced_blow ( gentity_t *self );
|
||
|
extern void WP_Explode ( gentity_t *self );
|
||
|
extern void pas_think ( gentity_t *self );
|
||
|
extern void ion_cannon_think ( gentity_t *self );
|
||
|
extern void maglock_link ( gentity_t *self );
|
||
|
extern void WP_flechette_alt_blow ( gentity_t *self );
|
||
|
extern void WP_prox_mine_think ( gentity_t *self );
|
||
|
extern void camera_aim ( gentity_t *self );
|
||
|
extern void fx_explosion_trail_link ( gentity_t *self );
|
||
|
extern void fx_explosion_trail_think( gentity_t *self );
|
||
|
extern void fx_target_beam_link ( gentity_t *self );
|
||
|
extern void fx_target_beam_think ( gentity_t *self );
|
||
|
extern void spotlight_think ( gentity_t *self );
|
||
|
extern void spotlight_link ( gentity_t *self );
|
||
|
extern void trigger_push_checkclear ( gentity_t *self );
|
||
|
extern void DEMP2_AltDetonate ( gentity_t *self );
|
||
|
extern void DEMP2_AltRadiusDamage ( gentity_t *self );
|
||
|
extern void panel_turret_think ( gentity_t *self );
|
||
|
extern void welder_think ( gentity_t *self );
|
||
|
extern void gas_random_jet ( gentity_t *self );
|
||
|
extern void poll_converter ( gentity_t *self );
|
||
|
extern void spawn_rack_goods ( gentity_t *self );
|
||
|
extern void NoghriGasCloudThink ( gentity_t *self );
|
||
|
|
||
|
extern void G_PortalifyEntities ( gentity_t *ent );
|
||
|
extern void misc_weapon_shooter_aim ( gentity_t *self );
|
||
|
extern void misc_weapon_shooter_fire( gentity_t *self );
|
||
|
|
||
|
extern void beacon_think ( gentity_t *self );
|
||
|
|
||
|
|
||
|
// void (*clThink)(centity_s *cent); //Think func for equivalent centity
|
||
|
typedef enum
|
||
|
{
|
||
|
clThinkF_NULL = 0,
|
||
|
//
|
||
|
clThinkF_CG_DLightThink,
|
||
|
clThinkF_CG_MatrixEffect,
|
||
|
clThinkF_CG_Limb,
|
||
|
|
||
|
} clThinkFunc_t;
|
||
|
|
||
|
// CEntity THINK functions...
|
||
|
//
|
||
|
extern void CG_DLightThink ( centity_t *cent );
|
||
|
extern void CG_MatrixEffect ( centity_t *cent );
|
||
|
extern void CG_Limb ( centity_t *cent );
|
||
|
|
||
|
// void (*reached)(gentity_t *self); // movers call this when hitting endpoint
|
||
|
typedef enum
|
||
|
{
|
||
|
reachedF_NULL = 0,
|
||
|
//
|
||
|
reachedF_Reached_BinaryMover,
|
||
|
reachedF_Reached_Train,
|
||
|
reachedF_moverCallback,
|
||
|
reachedF_moveAndRotateCallback
|
||
|
|
||
|
} reachedFunc_t;
|
||
|
|
||
|
// REACHED functions...
|
||
|
//
|
||
|
extern void Reached_BinaryMover ( gentity_t *ent );
|
||
|
extern void Reached_Train ( gentity_t *ent );
|
||
|
extern void moverCallback ( gentity_t *ent );
|
||
|
extern void moveAndRotateCallback( gentity_t *ent );
|
||
|
|
||
|
|
||
|
// void (*blocked)(gentity_t *self, gentity_t *other);
|
||
|
typedef enum
|
||
|
{
|
||
|
blockedF_NULL = 0,
|
||
|
//
|
||
|
blockedF_Blocked_Door,
|
||
|
blockedF_Blocked_Mover
|
||
|
|
||
|
} blockedFunc_t;
|
||
|
|
||
|
// BLOCKED functions...
|
||
|
//
|
||
|
extern void Blocked_Door (gentity_t *self, gentity_t *other);
|
||
|
extern void Blocked_Mover (gentity_t *self, gentity_t *other);
|
||
|
|
||
|
|
||
|
|
||
|
// void (*touch)(gentity_t *self, gentity_t *other, trace_t *trace);
|
||
|
typedef enum
|
||
|
{
|
||
|
touchF_NULL = 0,
|
||
|
//
|
||
|
touchF_Touch_Item,
|
||
|
touchF_teleporter_touch,
|
||
|
touchF_charge_stick,
|
||
|
touchF_Touch_DoorTrigger,
|
||
|
touchF_Touch_PlatCenterTrigger,
|
||
|
touchF_Touch_Plat,
|
||
|
touchF_Touch_Button,
|
||
|
touchF_Touch_Multi,
|
||
|
touchF_trigger_push_touch,
|
||
|
touchF_trigger_teleporter_touch,
|
||
|
touchF_hurt_touch,
|
||
|
touchF_NPC_Touch,
|
||
|
touchF_touch_ammo_crystal_tigger,
|
||
|
touchF_funcBBrushTouch,
|
||
|
touchF_touchLaserTrap,
|
||
|
touchF_prox_mine_stick,
|
||
|
touchF_func_rotating_touch,
|
||
|
touchF_TouchTieBomb,
|
||
|
} touchFunc_t;
|
||
|
|
||
|
// TOUCH functions...
|
||
|
//
|
||
|
extern void Touch_Item (gentity_t *self, gentity_t *other, trace_t *trace);
|
||
|
extern void teleporter_touch (gentity_t *self, gentity_t *other, trace_t *trace);
|
||
|
extern void charge_stick (gentity_t *self, gentity_t *other, trace_t *trace);
|
||
|
extern void Touch_DoorTrigger (gentity_t *self, gentity_t *other, trace_t *trace);
|
||
|
extern void Touch_PlatCenterTrigger (gentity_t *self, gentity_t *other, trace_t *trace);
|
||
|
extern void Touch_Plat (gentity_t *self, gentity_t *other, trace_t *trace);
|
||
|
extern void Touch_Button (gentity_t *self, gentity_t *other, trace_t *trace);
|
||
|
extern void Touch_Multi (gentity_t *self, gentity_t *other, trace_t *trace);
|
||
|
extern void trigger_push_touch (gentity_t *self, gentity_t *other, trace_t *trace);
|
||
|
extern void trigger_teleporter_touch(gentity_t *self, gentity_t *other, trace_t *trace);
|
||
|
extern void hurt_touch (gentity_t *self, gentity_t *other, trace_t *trace);
|
||
|
extern void NPC_Touch (gentity_t *self, gentity_t *other, trace_t *trace);
|
||
|
extern void touch_ammo_crystal_tigger ( gentity_t *self, gentity_t *other, trace_t *trace );
|
||
|
extern void funcBBrushTouch ( gentity_t *ent, gentity_t *other, trace_t *trace );
|
||
|
extern void touchLaserTrap ( gentity_t *ent, gentity_t *other, trace_t *trace );
|
||
|
extern void prox_mine_stick( gentity_t *self, gentity_t *other, trace_t *trace );
|
||
|
extern void func_rotating_touch (gentity_t *self, gentity_t *other, trace_t *trace);
|
||
|
extern void TouchTieBomb( gentity_t *self, gentity_t *other, trace_t *trace );
|
||
|
extern void TieFighterUse( gentity_t *self, gentity_t *other, gentity_t *activator );
|
||
|
|
||
|
// void (*use)(gentity_t *self, gentity_t *other, gentity_t *activator);
|
||
|
typedef enum
|
||
|
{
|
||
|
useF_NULL = 0,
|
||
|
//
|
||
|
useF_funcBBrushUse,
|
||
|
useF_misc_model_use,
|
||
|
useF_Use_Item,
|
||
|
useF_Use_Shooter,
|
||
|
useF_GoExplodeDeath,
|
||
|
useF_Use_BinaryMover,
|
||
|
useF_use_wall,
|
||
|
useF_Use_Target_Give,
|
||
|
useF_Use_Target_Delay,
|
||
|
useF_Use_Target_Score,
|
||
|
useF_Use_Target_Print,
|
||
|
useF_Use_Target_Speaker,
|
||
|
useF_target_laser_use,
|
||
|
useF_target_relay_use,
|
||
|
useF_target_kill_use,
|
||
|
useF_target_counter_use,
|
||
|
useF_target_random_use,
|
||
|
useF_target_scriptrunner_use,
|
||
|
useF_target_gravity_change_use,
|
||
|
useF_target_friction_change_use,
|
||
|
useF_target_teleporter_use,
|
||
|
useF_Use_Multi,
|
||
|
useF_Use_target_push,
|
||
|
useF_hurt_use,
|
||
|
useF_func_timer_use,
|
||
|
useF_trigger_entdist_use,
|
||
|
useF_func_usable_use,
|
||
|
useF_target_activate_use,
|
||
|
useF_target_deactivate_use,
|
||
|
useF_NPC_Use,
|
||
|
useF_NPC_Spawn,
|
||
|
useF_misc_dlight_use,
|
||
|
useF_health_use,
|
||
|
useF_ammo_use,
|
||
|
useF_mega_ammo_use,
|
||
|
useF_target_level_change_use,
|
||
|
useF_target_change_parm_use,
|
||
|
useF_crew_beam_in_use,
|
||
|
useF_turret_base_use,
|
||
|
useF_laser_arm_use,
|
||
|
useF_func_static_use,
|
||
|
useF_target_play_music_use,
|
||
|
useF_misc_model_useup,
|
||
|
useF_misc_portal_use,
|
||
|
useF_target_autosave_use,
|
||
|
useF_switch_models,
|
||
|
useF_misc_replicator_item_spawn,
|
||
|
useF_misc_replicator_item_remove,
|
||
|
useF_target_secret_use,
|
||
|
useF_func_bobbing_use,
|
||
|
useF_func_rotating_use,
|
||
|
useF_fx_runner_use,
|
||
|
useF_funcGlassUse,
|
||
|
useF_TrainUse,
|
||
|
useF_misc_trip_mine_activate,
|
||
|
useF_emplaced_gun_use,
|
||
|
useF_shield_power_converter_use,
|
||
|
useF_ammo_power_converter_use,
|
||
|
useF_bomb_planted_use,
|
||
|
useF_beacon_use,
|
||
|
useF_security_panel_use,
|
||
|
useF_ion_cannon_use,
|
||
|
useF_camera_use,
|
||
|
useF_fx_explosion_trail_use,
|
||
|
useF_fx_target_beam_use,
|
||
|
useF_sentry_use,
|
||
|
useF_spotlight_use,
|
||
|
useF_misc_atst_use,
|
||
|
useF_panel_turret_use,
|
||
|
useF_welder_use,
|
||
|
useF_jabba_cam_use,
|
||
|
useF_misc_use,
|
||
|
useF_pas_use,
|
||
|
useF_item_spawn_use,
|
||
|
useF_NPC_VehicleSpawnUse,
|
||
|
useF_misc_weapon_shooter_use,
|
||
|
useF_eweb_use,
|
||
|
useF_TieFighterUse,
|
||
|
} useFunc_t;
|
||
|
|
||
|
// USE functions...
|
||
|
//
|
||
|
extern void funcBBrushUse ( gentity_t *self, gentity_t *other, gentity_t *activator);
|
||
|
extern void misc_model_use ( gentity_t *self, gentity_t *other, gentity_t *activator);
|
||
|
extern void Use_Item ( gentity_t *self, gentity_t *other, gentity_t *activator);
|
||
|
extern void Use_Shooter ( gentity_t *self, gentity_t *other, gentity_t *activator);
|
||
|
extern void GoExplodeDeath ( gentity_t *self, gentity_t *other, gentity_t *activator);
|
||
|
extern void Use_BinaryMover ( gentity_t *self, gentity_t *other, gentity_t *activator);
|
||
|
extern void use_wall ( gentity_t *self, gentity_t *other, gentity_t *activator);
|
||
|
extern void Use_Target_Give ( gentity_t *self, gentity_t *other, gentity_t *activator);
|
||
|
extern void Use_Target_Delay ( gentity_t *self, gentity_t *other, gentity_t *activator);
|
||
|
extern void Use_Target_Score ( gentity_t *self, gentity_t *other, gentity_t *activator);
|
||
|
extern void Use_Target_Print ( gentity_t *self, gentity_t *other, gentity_t *activator);
|
||
|
extern void Use_Target_Speaker ( gentity_t *self, gentity_t *other, gentity_t *activator);
|
||
|
extern void target_laser_use ( gentity_t *self, gentity_t *other, gentity_t *activator);
|
||
|
extern void target_relay_use ( gentity_t *self, gentity_t *other, gentity_t *activator);
|
||
|
extern void target_kill_use ( gentity_t *self, gentity_t *other, gentity_t *activator);
|
||
|
extern void target_counter_use ( gentity_t *self, gentity_t *other, gentity_t *activator);
|
||
|
extern void target_random_use ( gentity_t *self, gentity_t *other, gentity_t *activator);
|
||
|
extern void target_scriptrunner_use ( gentity_t *self, gentity_t *other, gentity_t *activator);
|
||
|
extern void target_gravity_change_use ( gentity_t *self, gentity_t *other, gentity_t *activator);
|
||
|
extern void target_friction_change_use ( gentity_t *self, gentity_t *other, gentity_t *activator);
|
||
|
extern void target_teleporter_use ( gentity_t *self, gentity_t *other, gentity_t *activator);
|
||
|
extern void Use_Multi ( gentity_t *self, gentity_t *other, gentity_t *activator);
|
||
|
extern void Use_target_push ( gentity_t *self, gentity_t *other, gentity_t *activator);
|
||
|
extern void hurt_use ( gentity_t *self, gentity_t *other, gentity_t *activator);
|
||
|
extern void func_timer_use ( gentity_t *self, gentity_t *other, gentity_t *activator);
|
||
|
extern void trigger_entdist_use ( gentity_t *self, gentity_t *other, gentity_t *activator);
|
||
|
extern void func_usable_use ( gentity_t *self, gentity_t *other, gentity_t *activator);
|
||
|
extern void target_activate_use ( gentity_t *self, gentity_t *other, gentity_t *activator);
|
||
|
extern void target_deactivate_use ( gentity_t *self, gentity_t *other, gentity_t *activator);
|
||
|
extern void NPC_Use ( gentity_t *self, gentity_t *other, gentity_t *activator);
|
||
|
extern void NPC_Spawn ( gentity_t *self, gentity_t *other, gentity_t *activator);
|
||
|
extern void transporter_use ( gentity_t *self, gentity_t *other, gentity_t *activator);
|
||
|
extern void teleporter_use ( gentity_t *self, gentity_t *other, gentity_t *activator);
|
||
|
extern void misc_dlight_use ( gentity_t *ent, gentity_t *other, gentity_t *activator );
|
||
|
extern void health_use ( gentity_t *self, gentity_t *other, gentity_t *activator );
|
||
|
extern void ammo_use ( gentity_t *self, gentity_t *other, gentity_t *activator );
|
||
|
extern void mega_ammo_use ( gentity_t *self, gentity_t *other, gentity_t *activator );
|
||
|
extern void target_level_change_use ( gentity_t *self, gentity_t *other, gentity_t *activator );
|
||
|
extern void target_change_parm_use ( gentity_t *self, gentity_t *other, gentity_t *activator );
|
||
|
extern void turret_base_use ( gentity_t *self, gentity_t *other, gentity_t *activator );
|
||
|
extern void laser_arm_use ( gentity_t *self, gentity_t *other, gentity_t *activator );
|
||
|
extern void func_static_use ( gentity_t *self, gentity_t *other, gentity_t *activator );
|
||
|
extern void target_play_music_use ( gentity_t *self, gentity_t *other, gentity_t *activator );
|
||
|
extern void misc_model_useup ( gentity_t *self, gentity_t *other, gentity_t *activator );
|
||
|
extern void misc_portal_use ( gentity_t *self, gentity_t *other, gentity_t *activator );
|
||
|
extern void target_autosave_use ( gentity_t *self, gentity_t *other, gentity_t *activator );
|
||
|
extern void switch_models ( gentity_t *self, gentity_t *other, gentity_t *activator );
|
||
|
extern void misc_replicator_item_spawn ( gentity_t *self, gentity_t *other, gentity_t *activator );
|
||
|
extern void misc_replicator_item_remove ( gentity_t *self, gentity_t *other, gentity_t *activator );
|
||
|
extern void target_secret_use ( gentity_t *self, gentity_t *other, gentity_t *activator );
|
||
|
extern void func_bobbing_use ( gentity_t *self, gentity_t *other, gentity_t *activator );
|
||
|
extern void func_rotating_use ( gentity_t *self, gentity_t *other, gentity_t *activator );
|
||
|
extern void fx_runner_use ( gentity_t *self, gentity_t *other, gentity_t *activator );
|
||
|
extern void funcGlassUse ( gentity_t *self, gentity_t *other, gentity_t *activator );
|
||
|
extern void TrainUse ( gentity_t *ent, gentity_t *other, gentity_t *activator );
|
||
|
extern void misc_trip_mine_activate ( gentity_t *self, gentity_t *other, gentity_t *activator );
|
||
|
extern void emplaced_gun_use ( gentity_t *self, gentity_t *other, gentity_t *activator );
|
||
|
extern void shield_power_converter_use( gentity_t *self, gentity_t *other, gentity_t *activator );
|
||
|
extern void ammo_power_converter_use( gentity_t *self, gentity_t *other, gentity_t *activator );
|
||
|
extern void bomb_planted_use ( gentity_t *self, gentity_t *other, gentity_t *activator );
|
||
|
extern void beacon_use ( gentity_t *self, gentity_t *other, gentity_t *activator );
|
||
|
extern void security_panel_use ( gentity_t *self, gentity_t *other, gentity_t *activator );
|
||
|
extern void ion_cannon_use ( gentity_t *self, gentity_t *other, gentity_t *activator );
|
||
|
extern void camera_use ( gentity_t *self, gentity_t *other, gentity_t *activator );
|
||
|
extern void fx_explosion_trail_use ( gentity_t *self, gentity_t *other, gentity_t *activator );
|
||
|
extern void fx_target_beam_use ( gentity_t *self, gentity_t *other, gentity_t *activator );
|
||
|
extern void sentry_use ( gentity_t *self, gentity_t *other, gentity_t *activator );
|
||
|
extern void spotlight_use ( gentity_t *self, gentity_t *other, gentity_t *activator );
|
||
|
extern void misc_atst_use ( gentity_t *self, gentity_t *other, gentity_t *activator );
|
||
|
extern void panel_turret_use ( gentity_t *self, gentity_t *other, gentity_t *activator );
|
||
|
extern void welder_use ( gentity_t *self, gentity_t *other, gentity_t *activator );
|
||
|
extern void jabba_cam_use ( gentity_t *self, gentity_t *other, gentity_t *activator );
|
||
|
extern void misc_use ( gentity_t *self, gentity_t *other, gentity_t *activator );
|
||
|
extern void pas_use ( gentity_t *self, gentity_t *other, gentity_t *activator );
|
||
|
extern void item_spawn_use ( gentity_t *self, gentity_t *other, gentity_t *activator );
|
||
|
extern void NPC_VehicleSpawnUse ( gentity_t *self, gentity_t *other, gentity_t *activator );
|
||
|
extern void misc_weapon_shooter_use ( gentity_t *self, gentity_t *other, gentity_t *activator );
|
||
|
extern void eweb_use ( gentity_t *self, gentity_t *other, gentity_t *activator );
|
||
|
|
||
|
// void (*pain)(gentity_t *self, gentity_t *attacker, int damage,int mod,int hitLoc);
|
||
|
typedef enum
|
||
|
{
|
||
|
painF_NULL = 0,
|
||
|
//
|
||
|
painF_funcBBrushPain,
|
||
|
painF_misc_model_breakable_pain,
|
||
|
painF_NPC_Pain,
|
||
|
painF_station_pain,
|
||
|
painF_func_usable_pain,
|
||
|
painF_NPC_ATST_Pain,
|
||
|
painF_NPC_ST_Pain,
|
||
|
painF_NPC_Jedi_Pain,
|
||
|
painF_NPC_Droid_Pain,
|
||
|
painF_NPC_Probe_Pain,
|
||
|
painF_NPC_MineMonster_Pain,
|
||
|
painF_NPC_Howler_Pain,
|
||
|
painF_NPC_Rancor_Pain,
|
||
|
painF_NPC_Wampa_Pain,
|
||
|
painF_NPC_SandCreature_Pain,
|
||
|
painF_NPC_Seeker_Pain,
|
||
|
painF_NPC_Remote_Pain,
|
||
|
painF_emplaced_gun_pain,
|
||
|
painF_NPC_Mark1_Pain,
|
||
|
painF_NPC_GM_Pain,
|
||
|
painF_NPC_Sentry_Pain,
|
||
|
painF_NPC_Mark2_Pain,
|
||
|
painF_PlayerPain,
|
||
|
painF_GasBurst,
|
||
|
painF_CrystalCratePain,
|
||
|
painF_TurretPain,
|
||
|
painF_eweb_pain,
|
||
|
} painFunc_t;
|
||
|
|
||
|
// PAIN functions...
|
||
|
//
|
||
|
extern void funcBBrushPain (gentity_t *self, gentity_t *inflictor, gentity_t *attacker, const vec3_t point, int damage, int mod,int hitLoc=HL_NONE);
|
||
|
extern void misc_model_breakable_pain (gentity_t *self, gentity_t *inflictor, gentity_t *attacker, const vec3_t point, int damage, int mod,int hitLoc=HL_NONE);
|
||
|
extern void NPC_Pain (gentity_t *self, gentity_t *inflictor, gentity_t *attacker, const vec3_t point, int damage, int mod,int hitLoc=HL_NONE);
|
||
|
extern void station_pain (gentity_t *self, gentity_t *inflictor, gentity_t *attacker, const vec3_t point, int damage, int mod,int hitLoc=HL_NONE);
|
||
|
extern void func_usable_pain (gentity_t *self, gentity_t *inflictor, gentity_t *attacker, const vec3_t point, int damage, int mod,int hitLoc=HL_NONE);
|
||
|
extern void NPC_ATST_Pain (gentity_t *self, gentity_t *inflictor, gentity_t *attacker, const vec3_t point, int damage, int mod,int hitLoc=HL_NONE);
|
||
|
extern void NPC_ST_Pain (gentity_t *self, gentity_t *inflictor, gentity_t *attacker, const vec3_t point, int damage, int mod,int hitLoc=HL_NONE);
|
||
|
extern void NPC_Jedi_Pain (gentity_t *self, gentity_t *inflictor, gentity_t *attacker, const vec3_t point, int damage, int mod,int hitLoc=HL_NONE);
|
||
|
extern void NPC_Droid_Pain (gentity_t *self, gentity_t *inflictor, gentity_t *attacker, const vec3_t point, int damage, int mod,int hitLoc=HL_NONE);
|
||
|
extern void NPC_Probe_Pain (gentity_t *self, gentity_t *inflictor, gentity_t *attacker, const vec3_t point, int damage, int mod,int hitLoc=HL_NONE);
|
||
|
extern void NPC_MineMonster_Pain (gentity_t *self, gentity_t *inflictor, gentity_t *attacker, const vec3_t point, int damage, int mod,int hitLoc=HL_NONE);
|
||
|
extern void NPC_Howler_Pain (gentity_t *self, gentity_t *inflictor, gentity_t *attacker, const vec3_t point, int damage, int mod,int hitLoc=HL_NONE);
|
||
|
extern void NPC_Rancor_Pain (gentity_t *self, gentity_t *inflictor, gentity_t *attacker, const vec3_t point, int damage, int mod,int hitLoc=HL_NONE);
|
||
|
extern void NPC_Wampa_Pain (gentity_t *self, gentity_t *inflictor, gentity_t *attacker, const vec3_t point, int damage, int mod,int hitLoc=HL_NONE);
|
||
|
extern void NPC_SandCreature_Pain (gentity_t *self, gentity_t *inflictor, gentity_t *attacker, const vec3_t point, int damage, int mod,int hitLoc=HL_NONE);
|
||
|
extern void NPC_Seeker_Pain (gentity_t *self, gentity_t *inflictor, gentity_t *attacker, const vec3_t point, int damage, int mod,int hitLoc=HL_NONE);
|
||
|
extern void NPC_Remote_Pain (gentity_t *self, gentity_t *inflictor, gentity_t *attacker, const vec3_t point, int damage, int mod,int hitLoc=HL_NONE);
|
||
|
extern void emplaced_gun_pain (gentity_t *self, gentity_t *inflictor, gentity_t *attacker, const vec3_t point, int damage, int mod,int hitLoc=HL_NONE);
|
||
|
extern void NPC_Mark1_Pain (gentity_t *self, gentity_t *inflictor, gentity_t *attacker, const vec3_t point, int damage, int mod,int hitLoc=HL_NONE);
|
||
|
extern void NPC_Sentry_Pain (gentity_t *self, gentity_t *inflictor, gentity_t *attacker, const vec3_t point, int damage, int mod,int hitLoc=HL_NONE);
|
||
|
extern void NPC_Mark2_Pain (gentity_t *self, gentity_t *inflictor, gentity_t *attacker, const vec3_t point, int damage, int mod,int hitLoc=HL_NONE);
|
||
|
extern void PlayerPain (gentity_t *self, gentity_t *inflictor, gentity_t *attacker, const vec3_t point, int damage, int mod,int hitLoc=HL_NONE);
|
||
|
extern void GasBurst (gentity_t *self, gentity_t *inflictor, gentity_t *attacker, const vec3_t point, int damage, int mod, int hitLoc=HL_NONE );
|
||
|
extern void CrystalCratePain (gentity_t *self, gentity_t *inflictor, gentity_t *attacker, const vec3_t point, int damage, int mod, int hitLoc=HL_NONE);
|
||
|
extern void TurretPain (gentity_t *self, gentity_t *inflictor, gentity_t *attacker, const vec3_t point, int damage, int mod, int hitLoc=HL_NONE );
|
||
|
extern void eweb_pain (gentity_t *self, gentity_t *inflictor, gentity_t *attacker, const vec3_t point, int damage, int mod,int hitLoc=HL_NONE);
|
||
|
|
||
|
// void (*die)(gentity_t *self, gentity_t *inflictor, gentity_t *attacker, int damage, int mod);
|
||
|
typedef enum
|
||
|
{
|
||
|
dieF_NULL = 0,
|
||
|
//
|
||
|
dieF_funcBBrushDie,
|
||
|
dieF_misc_model_breakable_die,
|
||
|
dieF_misc_model_cargo_die,
|
||
|
dieF_func_train_die,
|
||
|
dieF_player_die,
|
||
|
dieF_ExplodeDeath_Wait,
|
||
|
dieF_ExplodeDeath,
|
||
|
dieF_func_usable_die,
|
||
|
dieF_turret_die,
|
||
|
dieF_funcGlassDie,
|
||
|
// dieF_laserTrapDelayedExplode,
|
||
|
dieF_emplaced_gun_die,
|
||
|
dieF_WP_ExplosiveDie,
|
||
|
dieF_ion_cannon_die,
|
||
|
dieF_maglock_die,
|
||
|
dieF_camera_die,
|
||
|
dieF_Mark1_die,
|
||
|
dieF_Interrogator_die,
|
||
|
dieF_misc_atst_die,
|
||
|
dieF_misc_panel_turret_die,
|
||
|
dieF_thermal_die,
|
||
|
dieF_eweb_die,
|
||
|
} dieFunc_t;
|
||
|
|
||
|
// DIE functions...
|
||
|
//
|
||
|
extern void funcBBrushDie (gentity_t *self, gentity_t *inflictor, gentity_t *attacker, int damage, int mod,int dFlags=0,int hitLoc=HL_NONE);
|
||
|
extern void misc_model_breakable_die (gentity_t *self, gentity_t *inflictor, gentity_t *attacker, int damage, int mod,int dFlags=0,int hitLoc=HL_NONE);
|
||
|
extern void misc_model_cargo_die (gentity_t *self, gentity_t *inflictor, gentity_t *attacker, int damage, int mod,int dFlags=0,int hitLoc=HL_NONE);
|
||
|
extern void func_train_die (gentity_t *self, gentity_t *inflictor, gentity_t *attacker, int damage, int mod,int dFlags=0,int hitLoc=HL_NONE);
|
||
|
extern void player_die (gentity_t *self, gentity_t *inflictor, gentity_t *attacker, int damage, int mod,int dFlags=0,int hitLoc=HL_NONE);
|
||
|
extern void ExplodeDeath_Wait (gentity_t *self, gentity_t *inflictor, gentity_t *attacker, int damage, int mod,int dFlags=0,int hitLoc=HL_NONE);
|
||
|
extern void ExplodeDeath (gentity_t *self, gentity_t *inflictor, gentity_t *attacker, int damage, int mod,int dFlags=0,int hitLoc=HL_NONE);
|
||
|
extern void func_usable_die (gentity_t *self, gentity_t *inflictor, gentity_t *attacker, int damage, int mod,int dFlags=0,int hitLoc=HL_NONE);
|
||
|
extern void turret_die (gentity_t *self, gentity_t *inflictor, gentity_t *attacker, int damage, int mod,int dFlags=0,int hitLoc=HL_NONE);
|
||
|
extern void funcGlassDie (gentity_t *self, gentity_t *inflictor, gentity_t *attacker, int damage, int mod,int dFlags=0,int hitLoc=HL_NONE);
|
||
|
extern void laserTrapDelayedExplode (gentity_t *self, gentity_t *inflictor, gentity_t *attacker, int damage, int mod,int dFlags=0,int hitLoc=HL_NONE);
|
||
|
extern void emplaced_gun_die (gentity_t *self, gentity_t *inflictor, gentity_t *attacker, int damage, int mod,int dFlags=0,int hitLoc=HL_NONE);
|
||
|
extern void WP_ExplosiveDie (gentity_t *self, gentity_t *inflictor, gentity_t *attacker, int damage, int mod,int dFlags=0,int hitLoc=HL_NONE);
|
||
|
extern void ion_cannon_die (gentity_t *self, gentity_t *inflictor, gentity_t *attacker, int damage, int mod,int dFlags=0,int hitLoc=HL_NONE);
|
||
|
extern void maglock_die (gentity_t *self, gentity_t *inflictor, gentity_t *attacker, int damage, int mod,int dFlags=0,int hitLoc=HL_NONE);
|
||
|
extern void camera_die (gentity_t *self, gentity_t *inflictor, gentity_t *attacker, int damage, int mod,int dFlags=0,int hitLoc=HL_NONE);
|
||
|
extern void Mark1_die (gentity_t *self, gentity_t *inflictor, gentity_t *attacker, int damage, int mod,int dFlags=0,int hitLoc=HL_NONE);
|
||
|
extern void Interrogator_die (gentity_t *self, gentity_t *inflictor, gentity_t *attacker, int damage, int mod,int dFlags=0,int hitLoc=HL_NONE);
|
||
|
extern void misc_atst_die (gentity_t *self, gentity_t *inflictor, gentity_t *attacker, int damage, int mod,int dFlags=0,int hitLoc=HL_NONE);
|
||
|
extern void misc_panel_turret_die (gentity_t *self, gentity_t *inflictor, gentity_t *attacker, int damage, int mod,int dFlags=0,int hitLoc=HL_NONE);
|
||
|
extern void thermal_die (gentity_t *self, gentity_t *inflictor, gentity_t *attacker, int damage, int mod,int dFlags=0,int hitLoc=HL_NONE);
|
||
|
extern void eweb_die (gentity_t *self, gentity_t *inflictor, gentity_t *attacker, int damage, int mod,int dFlags=0,int hitLoc=HL_NONE);
|
||
|
|
||
|
void GEntity_ThinkFunc(gentity_t *self);
|
||
|
void CEntity_ThinkFunc(centity_s *cent); //Think func for equivalent centity
|
||
|
void GEntity_ReachedFunc(gentity_t *self); // movers call this when hitting endpoint
|
||
|
void GEntity_BlockedFunc(gentity_t *self, gentity_t *other);
|
||
|
void GEntity_TouchFunc(gentity_t *self, gentity_t *other, trace_t *trace);
|
||
|
void GEntity_UseFunc(gentity_t *self, gentity_t *other, gentity_t *activator);
|
||
|
void GEntity_PainFunc(gentity_t *self, gentity_t *inflictor, gentity_t *attacker, const vec3_t point, int damage, int mod,int hitLoc=HL_NONE);
|
||
|
void GEntity_DieFunc(gentity_t *self, gentity_t *inflictor, gentity_t *attacker, int damage, int mod,int dFlags=0,int hitLoc=HL_NONE);
|
||
|
|
||
|
// external functions that I now refer to...
|
||
|
|
||
|
|
||
|
#endif // #ifndef G_FUNCTIONS
|
||
|
|
||
|
/////////////////// eof ///////////////////
|
||
|
|