-#ifndef T_JUMPPADS_H
-#define T_JUMPPADS_H
+#pragma once
const float PUSH_ONCE = 1;
const float PUSH_SILENT = 2;
.float jumppadcount;
.entity jumppadsused[NUM_JUMPPADSUSED];
-float trigger_push_calculatevelocity_flighttime;
-
#ifdef SVQC
-void() SUB_UseTargets;
-void trigger_push_use();
-#endif
-
-#ifdef CSQC
-void ent_trigger_push();
-
-void ent_target_push();
+void SUB_UseTargets(entity this, entity actor, entity trigger);
+void trigger_push_use(entity this, entity actor, entity trigger);
#endif
/*
tgt - target entity (can be either a point or a model entity; if it is
the latter, its midpoint is used)
ht - jump height, measured from the higher one of org and tgt's midpoint
+ pushed_entity - object that is to be pushed
Returns: velocity for the jump
- the global trigger_push_calculatevelocity_flighttime is set to the total
- jump time
*/
+vector trigger_push_calculatevelocity(vector org, entity tgt, float ht, entity pushed_entity);
-vector trigger_push_calculatevelocity(vector org, entity tgt, float ht);
-
-void trigger_push_touch();
+void trigger_push_touch(entity this, entity toucher);
.vector dest;
-void trigger_push_findtarget();
+void trigger_push_findtarget(entity this);
/*
* ENTITY PARAMETERS:
* movedir: if target is not set, this * speed * 10 is the velocity to be reached.
*/
#ifdef SVQC
-void spawnfunc_trigger_push();
+spawnfunc(trigger_push);
-void spawnfunc_target_push();
-void spawnfunc_info_notnull();
-void spawnfunc_target_position();
-#endif
+spawnfunc(target_push);
+spawnfunc(info_notnull);
+spawnfunc(target_position);
#endif