/*
* Copyright (c) 2011 Rudolf Polzer
+ * Copyright (c) 2015 Micah Talkiewicz
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to
#include "common.qh"
#include "cl_model.qh"
#include "cl_player.qh"
+ #include "../common/triggers/trigger/viewloc.qh"
+ #include "../common/viewloc.qh"
#elif defined(MENUQC)
#elif defined(SVQC)
#endif
float autocvar_cl_movement_errorcompensation = 0;
-float autocvar_cl_movement = 2; // testing purposes
+int autocvar_cl_movement = 1;
// engine stuff
float pmove_onground; // weird engine flag we shouldn't really use but have to for now
void CSQC_ClientMovement_PlayerMove_Frame();
+void PM_Movement_Move()
+{
+ runstandardplayerphysics(self);
+#ifdef CSQC
+ self.flags =
+ ((self.pmove_flags & PMF_DUCKED) ? FL_DUCKED : 0) |
+ (!(self.pmove_flags & PMF_JUMP_HELD) ? FL_JUMPRELEASED : 0) |
+ ((self.pmove_flags & PMF_ONGROUND) ? FL_ONGROUND : 0);
+#endif
+}
+
void CSQCPlayer_Physics(void)
{
switch(autocvar_cl_movement)
{
- case 1: runstandardplayerphysics(self); break;
- case 2: CSQC_ClientMovement_PlayerMove_Frame(); break;
+ case 1: CSQC_ClientMovement_PlayerMove_Frame(); break;
+ case 2: PM_Movement_Move(); break;
}
}
{
csqcplayer_moveframe = clientcommandframe;
getinputstate(csqcplayer_moveframe-1);
- print("the Weird code path got hit\n");
+ LOG_INFO("the Weird code path got hit\n");
return;
}
#endif
input_angles = view_angles;
}
-float CSQCPlayer_IsLocalPlayer()
+bool CSQCPlayer_IsLocalPlayer()
{
return (self == csqcplayer);
}
+void CSQCPlayer_SetViewLocation()
+{
+ viewloc_SetViewLocation();
+}
+
void CSQCPlayer_SetCamera()
{
vector v0;
self.view_ofs = '0 0 1' * getstati(STAT_VIEWHEIGHT);
// get crouch state from the server
- if(getstati(STAT_VIEWHEIGHT) == PL_VIEW_OFS_z)
+ if(getstati(STAT_VIEWHEIGHT) == PL_VIEW_OFS.z)
self.flags &= ~FL_DUCKED;
- else if(getstati(STAT_VIEWHEIGHT) == PL_CROUCH_VIEW_OFS_z)
+ else if(getstati(STAT_VIEWHEIGHT) == PL_CROUCH_VIEW_OFS.z)
self.flags |= FL_DUCKED;
// get onground state from the server
self.velocity = v;
// get crouch state from the server
- if(getstati(STAT_VIEWHEIGHT) == PL_VIEW_OFS_z)
+ if(getstati(STAT_VIEWHEIGHT) == PL_VIEW_OFS.z)
self.flags &= ~FL_DUCKED;
- else if(getstati(STAT_VIEWHEIGHT) == PL_CROUCH_VIEW_OFS_z)
+ else if(getstati(STAT_VIEWHEIGHT) == PL_CROUCH_VIEW_OFS.z)
self.flags |= FL_DUCKED;
// get onground state from the server
#ifdef CSQCMODEL_SERVERSIDE_CROUCH
// get crouch state from the server (LAG)
- if(getstati(STAT_VIEWHEIGHT) == PL_VIEW_OFS_z)
+ if(getstati(STAT_VIEWHEIGHT) == PL_VIEW_OFS.z)
self.flags &= ~FL_DUCKED;
- else if(getstati(STAT_VIEWHEIGHT) == PL_CROUCH_VIEW_OFS_z)
+ else if(getstati(STAT_VIEWHEIGHT) == PL_CROUCH_VIEW_OFS.z)
self.flags |= FL_DUCKED;
#endif