Go to the source code of this file.
|
void | Move_Done (edict_t *ent) |
|
void | Move_Final (edict_t *ent) |
|
void | Move_Begin (edict_t *ent) |
|
void | Think_AccelMove (edict_t *ent) |
|
void | Move_Calc (edict_t *ent, vec3_t dest, void(*func)(edict_t *)) |
|
void | AngleMove_Done (edict_t *ent) |
|
void | AngleMove_Final (edict_t *ent) |
|
void | AngleMove_Begin (edict_t *ent) |
|
void | AngleMove_Calc (edict_t *ent, void(*func)(edict_t *)) |
|
void | plat_CalcAcceleratedMove (moveinfo_t *moveinfo) |
|
void | plat_Accelerate (moveinfo_t *moveinfo) |
|
void | plat_go_down (edict_t *ent) |
|
void | plat_hit_top (edict_t *ent) |
|
void | plat_hit_bottom (edict_t *ent) |
|
void | plat_go_up (edict_t *ent) |
|
void | plat_blocked (edict_t *self, edict_t *other) |
|
void | Use_Plat (edict_t *ent, edict_t *other, edict_t *activator) |
|
void | Touch_Plat_Center (edict_t *ent, edict_t *other, cplane_t *plane, csurface_t *surf) |
|
void | plat_spawn_inside_trigger (edict_t *ent) |
|
void | SP_func_plat (edict_t *ent) |
|
void | rotating_blocked (edict_t *self, edict_t *other) |
|
void | rotating_touch (edict_t *self, edict_t *other, cplane_t *plane, csurface_t *surf) |
|
void | rotating_use (edict_t *self, edict_t *other, edict_t *activator) |
|
void | SP_func_rotating (edict_t *ent) |
|
void | button_done (edict_t *self) |
|
void | button_return (edict_t *self) |
|
void | button_wait (edict_t *self) |
|
void | button_fire (edict_t *self) |
|
void | button_use (edict_t *self, edict_t *other, edict_t *activator) |
|
void | button_touch (edict_t *self, edict_t *other, cplane_t *plane, csurface_t *surf) |
|
void | button_killed (edict_t *self, edict_t *inflictor, edict_t *attacker, int damage, vec3_t point) |
|
void | SP_func_button (edict_t *ent) |
|
void | door_use_areaportals (edict_t *self, qboolean open) |
|
void | door_go_down (edict_t *self) |
|
void | door_hit_top (edict_t *self) |
|
void | door_hit_bottom (edict_t *self) |
|
void | door_go_up (edict_t *self, edict_t *activator) |
|
void | door_use (edict_t *self, edict_t *other, edict_t *activator) |
|
void | Touch_DoorTrigger (edict_t *self, edict_t *other, cplane_t *plane, csurface_t *surf) |
|
void | Think_CalcMoveSpeed (edict_t *self) |
|
void | Think_SpawnDoorTrigger (edict_t *ent) |
|
void | door_blocked (edict_t *self, edict_t *other) |
|
void | door_killed (edict_t *self, edict_t *inflictor, edict_t *attacker, int damage, vec3_t point) |
|
void | door_touch (edict_t *self, edict_t *other, cplane_t *plane, csurface_t *surf) |
|
void | SP_func_door (edict_t *ent) |
|
void | SP_func_door_rotating (edict_t *ent) |
|
void | SP_func_water (edict_t *self) |
|
void | train_next (edict_t *self) |
|
void | train_blocked (edict_t *self, edict_t *other) |
|
void | train_wait (edict_t *self) |
|
void | train_resume (edict_t *self) |
|
void | func_train_find (edict_t *self) |
|
void | train_use (edict_t *self, edict_t *other, edict_t *activator) |
|
void | SP_func_train (edict_t *self) |
|
void | trigger_elevator_use (edict_t *self, edict_t *other, edict_t *activator) |
|
void | trigger_elevator_init (edict_t *self) |
|
void | SP_trigger_elevator (edict_t *self) |
|
void | func_timer_think (edict_t *self) |
|
void | func_timer_use (edict_t *self, edict_t *other, edict_t *activator) |
|
void | SP_func_timer (edict_t *self) |
|
void | func_conveyor_use (edict_t *self, edict_t *other, edict_t *activator) |
|
void | SP_func_conveyor (edict_t *self) |
|
void | door_secret_move1 (edict_t *self) |
|
void | door_secret_move2 (edict_t *self) |
|
void | door_secret_move3 (edict_t *self) |
|
void | door_secret_move4 (edict_t *self) |
|
void | door_secret_move5 (edict_t *self) |
|
void | door_secret_move6 (edict_t *self) |
|
void | door_secret_done (edict_t *self) |
|
void | door_secret_use (edict_t *self, edict_t *other, edict_t *activator) |
|
void | door_secret_blocked (edict_t *self, edict_t *other) |
|
void | door_secret_die (edict_t *self, edict_t *inflictor, edict_t *attacker, int damage, vec3_t point) |
|
void | SP_func_door_secret (edict_t *ent) |
|
void | use_killbox (edict_t *self, edict_t *other, edict_t *activator) |
|
void | SP_func_killbox (edict_t *ent) |
|
◆ AccelerationDistance
#define AccelerationDistance |
( |
|
target, |
|
|
|
rate |
|
) |
| (target * ((target / rate) + 1) / 2) |
◆ DOOR_CRUSHER
◆ DOOR_NOMONSTER
◆ DOOR_REVERSE
◆ DOOR_START_OPEN
#define DOOR_START_OPEN 1 |
◆ DOOR_TOGGLE
◆ DOOR_X_AXIS
◆ DOOR_Y_AXIS
◆ PLAT_LOW_TRIGGER
#define PLAT_LOW_TRIGGER 1 |
◆ SECRET_1ST_DOWN
#define SECRET_1ST_DOWN 4 |
◆ SECRET_1ST_LEFT
#define SECRET_1ST_LEFT 2 |
◆ SECRET_ALWAYS_SHOOT
#define SECRET_ALWAYS_SHOOT 1 |
◆ STATE_BOTTOM
◆ STATE_DOWN
◆ STATE_TOP
◆ STATE_UP
◆ TRAIN_BLOCK_STOPS
#define TRAIN_BLOCK_STOPS 4 |
◆ TRAIN_START_ON
◆ TRAIN_TOGGLE
◆ AngleMove_Begin()
◆ AngleMove_Calc()
◆ AngleMove_Done()
◆ AngleMove_Final()
◆ button_done()
◆ button_fire()
◆ button_killed()
◆ button_return()
◆ button_touch()
◆ button_use()
◆ button_wait()
◆ door_blocked()
◆ door_go_down()
◆ door_go_up()
Definition at line 921 of file g_func.c.
929 self->nextthink =
level.time +
self->moveinfo.wait;
937 self->s.sound =
self->moveinfo.sound_middle;
940 if (strcmp(self->
classname,
"func_door") == 0)
942 else if (strcmp(self->
classname,
"func_door_rotating") == 0)
Referenced by door_blocked(), and door_use().
◆ door_hit_bottom()
◆ door_hit_top()
◆ door_killed()
◆ door_secret_blocked()
◆ door_secret_die()
◆ door_secret_done()
◆ door_secret_move1()
◆ door_secret_move2()
◆ door_secret_move3()
◆ door_secret_move4()
◆ door_secret_move5()
◆ door_secret_move6()
◆ door_secret_use()
◆ door_touch()
◆ door_use()
◆ door_use_areaportals()
◆ func_conveyor_use()
Definition at line 1825 of file g_func.c.
1830 self->spawnflags &= ~1;
1834 self->speed =
self->count;
1835 self->spawnflags |= 1;
Referenced by SP_func_conveyor().
◆ func_timer_think()
◆ func_timer_use()
◆ func_train_find()
◆ Move_Begin()
◆ Move_Calc()
Definition at line 114 of file g_func.c.
Referenced by button_fire(), button_return(), door_go_down(), door_go_up(), door_secret_move2(), door_secret_move4(), door_secret_move6(), door_secret_use(), plat_go_down(), plat_go_up(), train_next(), and train_resume().
◆ Move_Done()
◆ Move_Final()
◆ plat_Accelerate()
Definition at line 263 of file g_func.c.
292 distance = p1_distance + p2_distance;
322 p1_speed = (old_speed + moveinfo->
move_speed) / 2.0;
323 p2_distance = moveinfo->
move_speed * (1.0 - (p1_distance / p1_speed));
324 distance = p1_distance + p2_distance;
325 moveinfo->
current_speed = (p1_speed * (p1_distance / distance)) + (moveinfo->
move_speed * (p2_distance / distance));
Referenced by Think_AccelMove().
◆ plat_blocked()
◆ plat_CalcAcceleratedMove()
◆ plat_go_down()
◆ plat_go_up()
◆ plat_hit_bottom()
◆ plat_hit_top()
◆ plat_spawn_inside_trigger()
Definition at line 451 of file g_func.c.
463 trigger->
enemy = ent;
465 tmin[0] = ent->
mins[0] + 25;
466 tmin[1] = ent->
mins[1] + 25;
467 tmin[2] = ent->
mins[2];
469 tmax[0] = ent->
maxs[0] - 25;
470 tmax[1] = ent->
maxs[1] - 25;
471 tmax[2] = ent->
maxs[2] + 8;
476 tmax[2] = tmin[2] + 8;
478 if (tmax[0] - tmin[0] <= 0)
480 tmin[0] = (ent->
mins[0] + ent->
maxs[0]) *0.5;
481 tmax[0] = tmin[0] + 1;
483 if (tmax[1] - tmin[1] <= 0)
485 tmin[1] = (ent->
mins[1] + ent->
maxs[1]) *0.5;
486 tmax[1] = tmin[1] + 1;
Referenced by SP_func_plat().
◆ rotating_blocked()
◆ rotating_touch()
◆ rotating_use()
◆ SP_func_button()
Definition at line 763 of file g_func.c.
789 abs_movedir[0] = fabs(ent->
movedir[0]);
790 abs_movedir[1] = fabs(ent->
movedir[1]);
791 abs_movedir[2] = fabs(ent->
movedir[2]);
792 dist = abs_movedir[0] * ent->
size[0] + abs_movedir[1] * ent->
size[1] + abs_movedir[2] * ent->
size[2] -
st.
lip;
◆ SP_func_conveyor()
Definition at line 1842 of file g_func.c.
1849 self->count =
self->speed;
◆ SP_func_door()
Definition at line 1138 of file g_func.c.
1176 abs_movedir[0] = fabs(ent->
movedir[0]);
1177 abs_movedir[1] = fabs(ent->
movedir[1]);
1178 abs_movedir[2] = fabs(ent->
movedir[2]);
◆ SP_func_door_rotating()
◆ SP_func_door_secret()
◆ SP_func_killbox()
◆ SP_func_plat()
◆ SP_func_rotating()
◆ SP_func_timer()
Definition at line 1795 of file g_func.c.
1812 self->activator =
self;
◆ SP_func_train()
Definition at line 1654 of file g_func.c.
1676 self->moveinfo.speed =
self->speed;
1677 self->moveinfo.accel =
self->moveinfo.decel =
self->moveinfo.speed;
◆ SP_func_water()
Definition at line 1378 of file g_func.c.
1393 self->moveinfo.sound_start =
gi.
soundindex (
"world/mov_watr.wav");
1394 self->moveinfo.sound_end =
gi.
soundindex (
"world/stp_watr.wav");
1398 self->moveinfo.sound_start =
gi.
soundindex (
"world/mov_watr.wav");
1399 self->moveinfo.sound_end =
gi.
soundindex (
"world/stp_watr.wav");
1405 abs_movedir[0] = fabs(self->
movedir[0]);
1406 abs_movedir[1] = fabs(self->
movedir[1]);
1407 abs_movedir[2] = fabs(self->
movedir[2]);
1408 self->moveinfo.distance = abs_movedir[0] *
self->size[0] + abs_movedir[1] *
self->size[1] + abs_movedir[2] *
self->size[2] -
st.
lip;
1428 self->moveinfo.accel =
self->moveinfo.decel =
self->moveinfo.speed =
self->speed;
1432 self->moveinfo.wait =
self->wait;
1436 if (self->
wait == -1)
1439 self->classname =
"func_door";
◆ SP_trigger_elevator()
◆ Think_AccelMove()
◆ Think_CalcMoveSpeed()
◆ Think_SpawnDoorTrigger()
◆ Touch_DoorTrigger()
◆ Touch_Plat_Center()
◆ train_blocked()
◆ train_next()
◆ train_resume()
◆ train_use()
◆ train_wait()
◆ trigger_elevator_init()
◆ trigger_elevator_use()
◆ use_killbox()
◆ Use_Plat()
void train_use(edict_t *self, edict_t *other, edict_t *activator)
void(* dprintf)(char *fmt,...)
void func_train_find(edict_t *self)
void Think_AccelMove(edict_t *ent)
void button_use(edict_t *self, edict_t *other, edict_t *activator)
void door_go_up(edict_t *self, edict_t *activator)
void door_secret_move3(edict_t *self)
void func_timer_think(edict_t *self)
#define VectorSubtract(a, b, c)
void func_conveyor_use(edict_t *self, edict_t *other, edict_t *activator)
void plat_go_down(edict_t *ent)
void button_killed(edict_t *self, edict_t *inflictor, edict_t *attacker, int damage, vec3_t point)
void Use_Plat(edict_t *ent, edict_t *other, edict_t *activator)
void door_secret_die(edict_t *self, edict_t *inflictor, edict_t *attacker, int damage, vec3_t point)
void door_secret_move2(edict_t *self)
void plat_Accelerate(moveinfo_t *moveinfo)
void plat_blocked(edict_t *self, edict_t *other)
void plat_CalcAcceleratedMove(moveinfo_t *moveinfo)
void rotating_touch(edict_t *self, edict_t *other, cplane_t *plane, csurface_t *surf)
void VectorScale(vec3_t in, vec_t scale, vec3_t out)
edict_t * G_Find(edict_t *from, int fieldofs, char *match)
void BecomeExplosion1(edict_t *self)
void train_blocked(edict_t *self, edict_t *other)
void rotating_use(edict_t *self, edict_t *other, edict_t *activator)
struct gclient_s * client
void(* sound)(edict_t *ent, int channel, int soundindex, float volume, float attenuation, float timeofs)
void Move_Calc(edict_t *ent, vec3_t dest, void(*func)(edict_t *))
void(* blocked)(edict_t *self, edict_t *other)
void door_secret_move6(edict_t *self)
void door_use(edict_t *self, edict_t *other, edict_t *activator)
void T_Damage(edict_t *targ, edict_t *inflictor, edict_t *attacker, vec3_t dir, vec3_t point, vec3_t normal, int damage, int knockback, int dflags, int mod)
void button_return(edict_t *self)
void door_secret_move4(edict_t *self)
#define TRAIN_BLOCK_STOPS
void button_touch(edict_t *self, edict_t *other, cplane_t *plane, csurface_t *surf)
void train_next(edict_t *self)
void train_wait(edict_t *self)
void button_fire(edict_t *self)
void AngleVectors(vec3_t angles, vec3_t forward, vec3_t right, vec3_t up)
void button_done(edict_t *self)
void plat_hit_bottom(edict_t *ent)
void door_secret_done(edict_t *self)
void button_wait(edict_t *self)
void trigger_elevator_use(edict_t *self, edict_t *other, edict_t *activator)
void AngleMove_Calc(edict_t *ent, void(*func)(edict_t *))
void door_use_areaportals(edict_t *self, qboolean open)
void use_killbox(edict_t *self, edict_t *other, edict_t *activator)
void rotating_blocked(edict_t *self, edict_t *other)
void(* SetAreaPortalState)(int portalnum, qboolean open)
int(* soundindex)(char *name)
vec_t VectorLength(vec3_t v)
void door_go_down(edict_t *self)
void(* think)(edict_t *self)
void door_secret_move5(edict_t *self)
vec_t VectorNormalize(vec3_t v)
void Touch_DoorTrigger(edict_t *self, edict_t *other, cplane_t *plane, csurface_t *surf)
void AngleMove_Final(edict_t *ent)
void Move_Begin(edict_t *ent)
void door_secret_blocked(edict_t *self, edict_t *other)
void Think_SpawnDoorTrigger(edict_t *ent)
void door_blocked(edict_t *self, edict_t *other)
float touch_debounce_time
void AngleMove_Begin(edict_t *ent)
int Q_stricmp(char *s1, char *s2)
void(* centerprintf)(edict_t *ent, char *fmt,...)
void door_killed(edict_t *self, edict_t *inflictor, edict_t *attacker, int damage, vec3_t point)
void door_hit_top(edict_t *self)
void AddPointToBounds(vec3_t v, vec3_t mins, vec3_t maxs)
void door_secret_use(edict_t *self, edict_t *other, edict_t *activator)
void(* setmodel)(edict_t *ent, char *name)
void plat_go_up(edict_t *ent)
void(* endfunc)(edict_t *)
#define SECRET_ALWAYS_SHOOT
void(* use)(edict_t *self, edict_t *other, edict_t *activator)
#define AccelerationDistance(target, rate)
void Move_Final(edict_t *ent)
void Think_CalcMoveSpeed(edict_t *self)
void G_UseTargets(edict_t *ent, edict_t *activator)
void VectorMA(vec3_t veca, float scale, vec3_t vecb, vec3_t vecc)
void door_touch(edict_t *self, edict_t *other, cplane_t *plane, csurface_t *surf)
void G_SetMovedir(vec3_t angles, vec3_t movedir)
qboolean KillBox(edict_t *ent)
void(* touch)(edict_t *self, edict_t *other, cplane_t *plane, csurface_t *surf)
void AngleMove_Done(edict_t *ent)
void func_timer_use(edict_t *self, edict_t *other, edict_t *activator)
int VectorCompare(vec3_t v1, vec3_t v2)
void plat_spawn_inside_trigger(edict_t *ent)
void Touch_Plat_Center(edict_t *ent, edict_t *other, cplane_t *plane, csurface_t *surf)
void train_resume(edict_t *self)
edict_t * G_PickTarget(char *targetname)
void(* linkentity)(edict_t *ent)
void(* die)(edict_t *self, edict_t *inflictor, edict_t *attacker, int damage, vec3_t point)
void door_secret_move1(edict_t *self)
void door_hit_bottom(edict_t *self)
#define VectorNegate(a, b)
void trigger_elevator_init(edict_t *self)
void Move_Done(edict_t *ent)
void plat_hit_top(edict_t *ent)