vector old_movement = PHYS_CS(this).movement;
PHYS_CS(this).movement_x = old_movement_y;
- PHYS_CS(this).movement_y = 0;
+ if(this.viewloc.spawnflags & VIEWLOC_FREEMOVE)
+ PHYS_CS(this).movement_y = old_movement_x;
+ else
+ PHYS_CS(this).movement_y = 0;
vector level_start, level_end;
level_start = this.viewloc.enemy.origin;
vector forward = vectoangles(normalize(level_end - level_start));
vector backward = vectoangles(normalize(level_start - level_end));
+ if((this.viewloc.spawnflags & VIEWLOC_FREEMOVE) && this.angles_y < 0)
+ PHYS_CS(this).movement_y = -PHYS_CS(this).movement_y;
+
if(this.viewloc.spawnflags & VIEWLOC_FREEAIM)
{
if(this.angles_y > 0)
}
//if(!PHYS_INPUT_BUTTON_CROUCH(this) && !IS_DUCKED(this))
+ if(!(this.viewloc.spawnflags & VIEWLOC_FREEMOVE))
+ {
#ifdef SVQC
//PHYS_INPUT_BUTTON_CROUCH(this) = (old_movement_x < 0);
if (old_movement.x < 0)
}
//else { input_buttons &= ~16; this.flags &= ~FL_DUCKED; }
#endif
+ }
}
}
view_angle.y = avatar_facing_dir.y; // snap avatar to look on along the correct axis
// if (0 == input_movevalues.x) look straight ahead
- if (0 > input_movevalues.x) { // look up
- view_angle.x = 50;
- } else if (0 < input_movevalues.x) { // look down
- view_angle.x = -50;
+ if (!(view.viewloc.spawnflags & VIEWLOC_FREEMOVE)) {
+ if (0 > input_movevalues.x) { // look up
+ view_angle.x = 50;
+ } else if (0 < input_movevalues.x) { // look down
+ view_angle.x = -50;
+ }
}
} else {
vector mpos = CursorToWorldCoord(viewloc_mousepos);