Re: [hlcoders] Player hitbox rotating on the y axis and getting out of sync on strafe ?

2011-11-10 Thread Dan L
Thanks for sharing the fix

On Tue, Nov 8, 2011 at 6:02 PM, Psy_Commando psycomma...@gmail.com wrote:

 Alright, I found the problem. The main source is in
 server/player_command.cpp
 in the void CPlayerMove::FinishMove( CBasePlayer *player, CUserCmd *ucmd,
 CMoveData *move ) function :

 float pitch = move-m_vecAngles[ PITCH ];
 if ( pitch  180.0f )
 {
 pitch -= 360.0f;
 }
 pitch = clamp( pitch, -90, 90 );

 move-m_vecAngles[ PITCH ] = pitch;

 player-SetBodyPitch( pitch );

 player-SetLocalAngles( move-m_vecAngles ); // - This is the problem



 I made the same lazy fix they did in the hl2mp code :

 void CHL2MP_Player::PostThink( void )
 {
...
 QAngle angles = GetLocalAngles();
 angles[PITCH] = 0;
 SetLocalAngles( angles );
...
 }


 And in addition I override the FinishMove method in my
 server/asw_playermove.cpp file, and copied the old code from
 CPlayerMove::FinishMove and removed the problematic line.

 //PsyCommando : Rewrote this here to remove the bit of code that made the
 player hitboxes move with the camera pitch !!!;
 void CASW_PlayerMove::FinishMove( CBasePlayer *player, CUserCmd *ucmd,
 CMoveData *move )
 {
 VPROF( CPlayerMove::FinishMove );

 player-m_flMaxspeed= move-m_flClientMaxSpeed;
 player-SetAbsOrigin( move-GetAbsOrigin() );
 player-SetAbsVelocity( move-m_vecVelocity );
 player-SetPreviouslyPredictedOrigin( move-GetAbsOrigin() );

 player-m_Local.m_nOldButtons= move-m_nButtons;

 // Convert final pitch to body pitch
 float pitch = move-m_vecAngles[ PITCH ];
 if ( pitch  180.0f )
 {
 pitch -= 360.0f;
 }
 pitch = clamp( pitch, -90, 90 );

 move-m_vecAngles[ PITCH ] = pitch;

 player-SetBodyPitch( pitch );

 //player-SetLocalAngles( move-m_vecAngles ); //- this was the
 source of headaches - psycommando

 // The class had better not have changed during the move!!
 if ( player-m_hConstraintEntity )
 Assert( move-m_vecConstraintCenter ==
 player-m_hConstraintEntity.Get()-GetAbsOrigin() );
 else
 Assert( move-m_vecConstraintCenter ==
 player-m_vecConstraintCenter );
 Assert( move-m_flConstraintRadius == player-m_flConstraintRadius );
 Assert( move-m_flConstraintWidth == player-m_flConstraintWidth );
 Assert( move-m_flConstraintSpeedFactor ==
 player-m_flConstraintSpeedFactor );
 Assert( move-m_bConstraintPastRadius ==
 player-m_bConstraintPastRadius );
 }




 On Mon, Nov 7, 2011 at 4:17 PM, Psy_Commando psycomma...@gmail.comwrote:

 Thanks, but I was pretty much expecting that the viewangles were affected
 to the player's entity somewhere. I'm not sure where to look though.

 I noticed that setting third person platformer to 1 stops the problem,
 until you set it back to 0.


 On Mon, Nov 7, 2011 at 5:17 AM, Saul Rennison saul.renni...@gmail.comwrote:

 Looks like your hitboxes are using pitch from m_angViewAngles, or that
 you have a SetAbsAngles(m_angViewAngles) somewhere.


 Kind regards,
 *Saul Rennison*


 On 7 November 2011 02:06, Psy_Commando psycomma...@gmail.com wrote:

 Hello, I've been looking around for info on why it does this :
 http://www.youtube.com/watch?v=yP3ZGKfCehQ

 Basically the hitboxes are moving with the camera on the y axis and the
 hitboxes get out of sync when I strafe.
 I use a modified Alien Swarm player (not the marine npc), with the
 hl2mp animstates.

 Anybody, has an idea where I should look, or how to fix this ?

 ___
 To unsubscribe, edit your list preferences, or view the list archives,
 please visit:
 http://list.valvesoftware.com/mailman/listinfo/hlcoders




 ___
 To unsubscribe, edit your list preferences, or view the list archives,
 please visit:
 http://list.valvesoftware.com/mailman/listinfo/hlcoders





 ___
 To unsubscribe, edit your list preferences, or view the list archives,
 please visit:
 http://list.valvesoftware.com/mailman/listinfo/hlcoders



___
To unsubscribe, edit your list preferences, or view the list archives, please 
visit:
http://list.valvesoftware.com/mailman/listinfo/hlcoders



Re: [hlcoders] Player hitbox rotating on the y axis and getting out of sync on strafe ?

2011-11-08 Thread Psy_Commando
Alright, I found the problem. The main source is in
server/player_command.cpp
in the void CPlayerMove::FinishMove( CBasePlayer *player, CUserCmd *ucmd,
CMoveData *move ) function :

float pitch = move-m_vecAngles[ PITCH ];
 if ( pitch  180.0f )
 {
 pitch -= 360.0f;
 }
 pitch = clamp( pitch, -90, 90 );

 move-m_vecAngles[ PITCH ] = pitch;

 player-SetBodyPitch( pitch );

 player-SetLocalAngles( move-m_vecAngles ); // - This is the problem



I made the same lazy fix they did in the hl2mp code :

void CHL2MP_Player::PostThink( void )
 {
...
 QAngle angles = GetLocalAngles();
 angles[PITCH] = 0;
 SetLocalAngles( angles );
...
 }


And in addition I override the FinishMove method in my
server/asw_playermove.cpp file, and copied the old code from
CPlayerMove::FinishMove and removed the problematic line.

//PsyCommando : Rewrote this here to remove the bit of code that made the
 player hitboxes move with the camera pitch !!!;
 void CASW_PlayerMove::FinishMove( CBasePlayer *player, CUserCmd *ucmd,
 CMoveData *move )
 {
 VPROF( CPlayerMove::FinishMove );

 player-m_flMaxspeed= move-m_flClientMaxSpeed;
 player-SetAbsOrigin( move-GetAbsOrigin() );
 player-SetAbsVelocity( move-m_vecVelocity );
 player-SetPreviouslyPredictedOrigin( move-GetAbsOrigin() );

 player-m_Local.m_nOldButtons= move-m_nButtons;

 // Convert final pitch to body pitch
 float pitch = move-m_vecAngles[ PITCH ];
 if ( pitch  180.0f )
 {
 pitch -= 360.0f;
 }
 pitch = clamp( pitch, -90, 90 );

 move-m_vecAngles[ PITCH ] = pitch;

 player-SetBodyPitch( pitch );

 //player-SetLocalAngles( move-m_vecAngles ); //- this was the
 source of headaches - psycommando

 // The class had better not have changed during the move!!
 if ( player-m_hConstraintEntity )
 Assert( move-m_vecConstraintCenter ==
 player-m_hConstraintEntity.Get()-GetAbsOrigin() );
 else
 Assert( move-m_vecConstraintCenter ==
 player-m_vecConstraintCenter );
 Assert( move-m_flConstraintRadius == player-m_flConstraintRadius );
 Assert( move-m_flConstraintWidth == player-m_flConstraintWidth );
 Assert( move-m_flConstraintSpeedFactor ==
 player-m_flConstraintSpeedFactor );
 Assert( move-m_bConstraintPastRadius ==
 player-m_bConstraintPastRadius );
 }




On Mon, Nov 7, 2011 at 4:17 PM, Psy_Commando psycomma...@gmail.com wrote:

 Thanks, but I was pretty much expecting that the viewangles were affected
 to the player's entity somewhere. I'm not sure where to look though.

 I noticed that setting third person platformer to 1 stops the problem,
 until you set it back to 0.


 On Mon, Nov 7, 2011 at 5:17 AM, Saul Rennison saul.renni...@gmail.comwrote:

 Looks like your hitboxes are using pitch from m_angViewAngles, or that
 you have a SetAbsAngles(m_angViewAngles) somewhere.


 Kind regards,
 *Saul Rennison*


 On 7 November 2011 02:06, Psy_Commando psycomma...@gmail.com wrote:

 Hello, I've been looking around for info on why it does this :
 http://www.youtube.com/watch?v=yP3ZGKfCehQ

 Basically the hitboxes are moving with the camera on the y axis and the
 hitboxes get out of sync when I strafe.
 I use a modified Alien Swarm player (not the marine npc), with the hl2mp
 animstates.

 Anybody, has an idea where I should look, or how to fix this ?

 ___
 To unsubscribe, edit your list preferences, or view the list archives,
 please visit:
 http://list.valvesoftware.com/mailman/listinfo/hlcoders




 ___
 To unsubscribe, edit your list preferences, or view the list archives,
 please visit:
 http://list.valvesoftware.com/mailman/listinfo/hlcoders




___
To unsubscribe, edit your list preferences, or view the list archives, please 
visit:
http://list.valvesoftware.com/mailman/listinfo/hlcoders



Re: [hlcoders] Player hitbox rotating on the y axis and getting out of sync on strafe ?

2011-11-07 Thread Saul Rennison
Looks like your hitboxes are using pitch from m_angViewAngles, or that you
have a SetAbsAngles(m_angViewAngles) somewhere.


Kind regards,
*Saul Rennison*


On 7 November 2011 02:06, Psy_Commando psycomma...@gmail.com wrote:

 Hello, I've been looking around for info on why it does this :
 http://www.youtube.com/watch?v=yP3ZGKfCehQ

 Basically the hitboxes are moving with the camera on the y axis and the
 hitboxes get out of sync when I strafe.
 I use a modified Alien Swarm player (not the marine npc), with the hl2mp
 animstates.

 Anybody, has an idea where I should look, or how to fix this ?

 ___
 To unsubscribe, edit your list preferences, or view the list archives,
 please visit:
 http://list.valvesoftware.com/mailman/listinfo/hlcoders



___
To unsubscribe, edit your list preferences, or view the list archives, please 
visit:
http://list.valvesoftware.com/mailman/listinfo/hlcoders



[hlcoders] Player hitbox rotating on the y axis and getting out of sync on strafe ?

2011-11-06 Thread Psy_Commando
Hello, I've been looking around for info on why it does this :
http://www.youtube.com/watch?v=yP3ZGKfCehQ

Basically the hitboxes are moving with the camera on the y axis and the
hitboxes get out of sync when I strafe.
I use a modified Alien Swarm player (not the marine npc), with the hl2mp
animstates.

Anybody, has an idea where I should look, or how to fix this ?
___
To unsubscribe, edit your list preferences, or view the list archives, please 
visit:
http://list.valvesoftware.com/mailman/listinfo/hlcoders