-#include "../player.qh"
-
-#if defined(CSQC)
- #include <client/defs.qh>
- #include <common/stats.qh>
- #include <common/util.qh>
- #include "movetypes.qh"
- #include <lib/csqcmodel/common.qh>
- #include <common/t_items.qh>
-#elif defined(MENUQC)
-#elif defined(SVQC)
- #include <server/autocvars.qh>
-#endif
+#include "movetypes.qh"
#ifdef SVQC
void set_movetype(entity this, int mt)
{
- if(mt == MOVETYPE_PHYSICS || mt == MOVETYPE_PUSH || mt == MOVETYPE_FAKEPUSH)
- {
- this.movetype = this.move_movetype = mt; // we still set move_movetype, for other code that checks movetype
+ this.move_movetype = mt;
+ if (mt == MOVETYPE_PHYSICS || mt == MOVETYPE_PUSH || mt == MOVETYPE_FAKEPUSH) {
this.move_qcphysics = false;
- return;
}
-
- this.move_movetype = mt;
-
- if(!this.move_qcphysics)
- this.movetype = mt;
+ this.movetype = (this.move_qcphysics) ? MOVETYPE_NONE : mt;
}
#elif defined(CSQC)
void set_movetype(entity this, int mt)
vector planes[MAX_CLIP_PLANES];
int _Movetype_FlyMove(entity this, float dt, bool applygravity, vector stepnormal, float stepheight) // SV_FlyMove
{
- int blocked = 0, bumpcount;
+ int blocked = 0;
int i, j, numplanes = 0;
float time_left = dt, grav = 0;
vector push;
original_velocity = primal_velocity = restore_velocity = this.velocity;
- for(bumpcount = 0;bumpcount < MAX_CLIP_PLANES;bumpcount++)
+ for(int bumpcount = 0;bumpcount < MAX_CLIP_PLANES;bumpcount++)
{
if(this.velocity == '0 0 0')
break;
break;
}
float trace2_fraction = trace_fraction;
- steppush = '0 0 1' * (org_z - this.origin_z);
+ steppush = '0 0 1' * (org.z - this.origin_z);
_Movetype_PushEntity(this, steppush, true);
if(trace_startsolid)
{
}
// accept the new position if it made some progress...
- if(fabs(this.origin_x - org_x) >= 0.03125 || fabs(this.origin_y - org_y) >= 0.03125)
+ if(fabs(this.origin_x - org.x) >= 0.03125 || fabs(this.origin_y - org.y) >= 0.03125)
{
trace_endpos = this.origin;
time_left *= 1 - trace2_fraction;
if(this.flags & FL_ITEM)
{
- mi.x -= 15;
- mi.y -= 15;
- mi.z -= 1;
- ma.x += 15;
- ma.y += 15;
- ma.z += 1;
+ mi -= '15 15 1';
+ ma += '15 15 1';
}
else
{
- mi.x -= 1;
- mi.y -= 1;
- mi.z -= 1;
- ma.x += 1;
- ma.y += 1;
- ma.z += 1;
+ mi -= '1 1 1';
+ ma += '1 1 1';
}
this.absmin = mi;
X(17)
#undef X
{
- LOG_DEBUGF("Can't unstick an entity (edict: %d, classname: %s, origin: %s)\n",
+ LOG_DEBUGF("Can't unstick an entity (edict: %d, classname: %s, origin: %s)",
etof(this), this.classname, vtos(this.origin));
return false;
}
}
- LOG_DEBUGF("Sucessfully unstuck an entity (edict: %d, classname: %s, origin: %s)\n",
+ LOG_DEBUGF("Sucessfully unstuck an entity (edict: %d, classname: %s, origin: %s)",
etof(this), this.classname, vtos(this.origin));
_Movetype_LinkEdict(this, true);
return true;
.float ltime;
.void() blocked;
-// matrix version of makevectors, sets v_forward, v_right and v_up
-void makevectors_matrix(vector myangles) // AngleVectorsFLU
-{
- v_forward = v_right = v_up = '0 0 0';
-
- float y = myangles.y * (M_PI * 2 / 360);
- float sy = sin(y);
- float cy = cos(y);
- float p = myangles.x * (M_PI * 2 / 360);
- float sp = sin(p);
- float cp = cos(p);
- if(v_forward)
- {
- v_forward.x = cp * cy;
- v_forward.y = cp * sy;
- v_forward.z = -sp;
- }
- if(v_right || v_up)
- {
- if(myangles.z)
- {
- float r = myangles.z * (M_PI * 2 / 360);
- float sr = sin(r);
- float cr = cos(r);
- if(v_right)
- {
- v_right.x = sr * sp * cy + cr * -sy;
- v_right.y = sr * sp * sy + cr * cy;
- v_right.z = sr * cp;
- }
- if(v_up)
- {
- v_up.x = cr * sp * cy + -sr * -sy;
- v_up.y = cr * sp * sy + -sr * cy;
- v_up.z = cr * cp;
- }
- }
- else
- {
- if(v_right)
- {
- v_right.x = -sy;
- v_right.y = cy;
- v_right.z = 0;
- }
- if(v_up)
- {
- v_up.x = sp * cy;
- v_up.y = sp * sy;
- v_up.z = cp;
- }
- }
- }
-}
void _Movetype_Physics_Frame(entity this, float movedt)
{
{
case MOVETYPE_PUSH:
case MOVETYPE_FAKEPUSH:
- LOG_DEBUGF("Physics: Lacking QuakeC support for Push movetype, FIX ME by using engine physics!\n");
+ LOG_DEBUGF("Physics: Lacking QuakeC support for Push movetype, FIX ME by using engine physics!");
break;
case MOVETYPE_NONE:
break;
{
case MOVETYPE_PUSH:
case MOVETYPE_FAKEPUSH:
- LOG_DEBUGF("Physics: Lacking QuakeC support for Push movetype, FIX ME by using engine physics!\n");
+ LOG_DEBUGF("Physics: Lacking QuakeC support for Push movetype, FIX ME by using engine physics!");
break;
case MOVETYPE_NONE:
break;