Forum

player's angles_x gets reset to 0 but not angles_y?

Discuss programming in the QuakeC language.

Moderator: InsideQC Admins

player's angles_x gets reset to 0 but not angles_y?

Postby kawadahitomi » Mon Oct 29, 2012 12:14 am

Having trouble getting the player's self.angles_x to stay set. Some background: I am trying to control the player camera in Xonotic (runs on Darkplaces) using a gyroscope I wear on my head. This gives me the Euler angle differences associated with me moving my head. I'm not currently using roll. My code:

Code: Select all
print("self.angles before is", vtos(self.angles));
self.angles_x += pitch_difference;
self.angles_y += yaw_difference;
print(", after is ", vtos(self.angles), "\n");
self.fixangle = TRUE;


I added this in PlayerPreThink() in cl_client.qc. I know it's working for yaw because I can see the view moving left and right. However pitch seems to get reset to 0 every frame or two. You would think this would result in shaking but instead I just see my view pointed up a constant amount (probably 10 degrees). Here is sample console output:

Code: Select all
self.angles before is'  0.0  32.7   0.0', after is '-10.0  31.7   0.0'
self.angles before is'-10.0  31.7   0.0', after is '-20.0  30.7   0.0'
self.angles before is'-20.0  30.7   0.0', after is '-30.0  29.7   0.0'
self.angles before is'  0.0  30.7   0.0', after is '-10.0  29.7   0.0'
self.angles before is'  0.0  30.7   0.0', after is '-10.0  29.7   0.0'
self.angles before is'-10.0  29.7   0.0', after is '-20.0  28.7   0.0'
self.angles before is'  0.0  28.7   0.0', after is '-10.0  27.7   0.0'
self.angles before is'-10.0  27.7   0.0', after is '-20.0  26.7   0.0'
self.angles before is'-20.0  26.7   0.0', after is '-30.0  25.7   0.0'
self.angles before is'  0.0  26.7   0.0', after is '-10.0  25.7   0.0'
self.angles before is'  0.0  26.7   0.0', after is '-10.0  25.7   0.0'
self.angles before is'-10.0  25.7   0.0', after is '-20.0  24.7   0.0'
self.angles before is'  0.0  24.7   0.0', after is '-10.0  23.7   0.0'
self.angles before is'-10.0  23.7   0.0', after is '-20.0  22.7   0.0'
self.angles before is'-20.0  22.7   0.0', after is '-30.0  21.7   0.0'
self.angles before is'  0.0  22.7   0.0', after is '-10.0  21.7   0.0'
self.angles before is'  0.0  22.7   0.0', after is '-10.0  21.7   0.0'
self.angles before is'-10.0  21.7   0.0', after is '-20.0  20.7   0.0'
self.angles before is'  0.0  20.7   0.0', after is '-10.0  19.7   0.0'
self.angles before is'-10.0  19.7   0.0', after is '-20.0  18.7   0.0'
self.angles before is'-20.0  18.7   0.0', after is '-30.0  17.7   0.0'
self.angles before is'  0.0  18.7   0.0', after is '-10.0  17.7   0.0'
self.angles before is'  0.0  18.7   0.0', after is '-10.0  17.7   0.0'
self.angles before is'-10.0  17.7   0.0', after is '-20.0  16.7   0.0'


It was generated just by setting pitch_difference to -10 and yaw_difference to -1. As you can see, something is resetting self.angles_x to 0 whereas it is leaving self.angles_y alone. I have already grepped the rest of the Darkplaces quakec source and I couldn't find where it is doing this.

Does anyone have any insight? Maybe I need to put my code somewhere else? Thanks in advance.
kawadahitomi
 
Posts: 3
Joined: Sun Oct 28, 2012 8:17 pm

Re: player's angles_x gets reset to 0 but not angles_y?

Postby mankrip » Mon Oct 29, 2012 1:24 am

Is the cl_lookspring cvar turned on?
Ph'nglui mglw'nafh mankrip Hell's end wgah'nagl fhtagn.
==-=-=-=-=-=-=-=-=-=-==
Dev blog / Twitter / YouTube
User avatar
mankrip
 
Posts: 915
Joined: Fri Jul 04, 2008 3:02 am

Re: player's angles_x gets reset to 0 but not angles_y?

Postby kawadahitomi » Mon Oct 29, 2012 6:08 pm

lookspring is "0"

:cry: must be something else ...
kawadahitomi
 
Posts: 3
Joined: Sun Oct 28, 2012 8:17 pm

Re: player's angles_x gets reset to 0 but not angles_y?

Postby Nahuel » Mon Oct 29, 2012 7:27 pm

maybe controlling the camera with csqc
hi, I am nahuel, I love quake and qc.
User avatar
Nahuel
 
Posts: 492
Joined: Wed Jan 12, 2011 8:42 pm
Location: mar del plata

Re: player's angles_x gets reset to 0 but not angles_y?

Postby kawadahitomi » Mon Oct 29, 2012 8:28 pm

found in SV_PlayerPhysics() in cl_physics.qc:

Code: Select all
   if (!self.fixangle && !g_bugrigs)
   {
      self.angles_x = 0;
      self.angles_y = self.v_angle_y;
      self.angles_z = 0;
   }

commenting out self.angles_x = 0; seems to have solved that problem ...
kawadahitomi
 
Posts: 3
Joined: Sun Oct 28, 2012 8:17 pm


Return to QuakeC Programming

Who is online

Users browsing this forum: No registered users and 1 guest