X-Git-Url: https://de.git.xonotic.org/?a=blobdiff_plain;f=qcsrc%2Fcommon%2Fphysics%2Fmovetypes%2Ftoss.qc;h=498852135b40fd0607ee78d1b86daff703e48ac5;hb=e424ba544c41fc40b241b17bd7c1d9c2fc930705;hp=7b8f863a5f775cbc8b6cde185d510b6c37a01757;hpb=7666560c6a475aefe6b55ff74a20444f328e0093;p=xonotic%2Fxonotic-data.pk3dir.git diff --git a/qcsrc/common/physics/movetypes/toss.qc b/qcsrc/common/physics/movetypes/toss.qc index 7b8f863a5..498852135 100644 --- a/qcsrc/common/physics/movetypes/toss.qc +++ b/qcsrc/common/physics/movetypes/toss.qc @@ -1,20 +1,21 @@ +#include "toss.qh" #include "../player.qh" void _Movetype_Physics_Toss(entity this, float dt) // SV_Physics_Toss { - if (this.flags & FL_ONGROUND) + if (IS_ONGROUND(this)) { if (this.velocity.z >= 1 / 32 && UPWARD_VELOCITY_CLEARS_ONGROUND(this)) { - this.flags &= ~FL_ONGROUND; + UNSET_ONGROUND(this); } - else if (!this.move_groundentity) + else if (!this.groundentity) { return; } - else if (this.move_suspendedinair && wasfreed(this.move_groundentity)) + else if (this.move_suspendedinair && wasfreed(this.groundentity)) { - this.move_groundentity = NULL; + this.groundentity = NULL; return; } } @@ -64,7 +65,7 @@ void _Movetype_Physics_Toss(entity this, float dt) // SV_Physics_Toss if (this.move_movetype == MOVETYPE_BOUNCEMISSILE) { this.velocity = _Movetype_ClipVelocity(this.velocity, trace_plane_normal, 2.0); - this.flags &= ~FL_ONGROUND; + UNSET_ONGROUND(this); } else if (this.move_movetype == MOVETYPE_BOUNCE) { @@ -77,14 +78,14 @@ void _Movetype_Physics_Toss(entity this, float dt) // SV_Physics_Toss float d = trace_plane_normal * this.velocity; if (trace_plane_normal.z > 0.7 && d < bstop && d > -bstop) { - this.flags |= FL_ONGROUND; - this.move_groundentity = trace_ent; + SET_ONGROUND(this); + this.groundentity = trace_ent; this.velocity = '0 0 0'; this.avelocity = '0 0 0'; } else { - this.flags &= ~FL_ONGROUND; + UNSET_ONGROUND(this); } } else @@ -92,8 +93,8 @@ void _Movetype_Physics_Toss(entity this, float dt) // SV_Physics_Toss this.velocity = _Movetype_ClipVelocity(this.velocity, trace_plane_normal, 1.0); if (trace_plane_normal.z > 0.7) { - this.flags |= FL_ONGROUND; - this.move_groundentity = trace_ent; + SET_ONGROUND(this); + this.groundentity = trace_ent; if (trace_ent.solid == SOLID_BSP) this.move_suspendedinair = true; this.velocity = '0 0 0'; @@ -101,7 +102,7 @@ void _Movetype_Physics_Toss(entity this, float dt) // SV_Physics_Toss } else { - this.flags &= ~FL_ONGROUND; + UNSET_ONGROUND(this); } } @@ -110,11 +111,11 @@ void _Movetype_Physics_Toss(entity this, float dt) // SV_Physics_Toss break; // DP revision 8918 (WHY...) - if (this.flags & FL_ONGROUND) + if (IS_ONGROUND(this)) break; } - //if (GAMEPLAYFIX_GRAVITYUNAFFECTEDBYTICRATE && this.move_didgravity > 0 && !(this.flags & FL_ONGROUND)) + //if (GAMEPLAYFIX_GRAVITYUNAFFECTEDBYTICRATE && this.move_didgravity > 0 && !IS_ONGROUND(this)) // this.velocity_z -= 0.5 * dt * (this.gravity ? this.gravity : 1) * PHYS_GRAVITY(this); _Movetype_CheckWaterTransition(this);