If I attempt to modify the player angles in gamemovement, nothing changes,
even though it is the last step pretty much, it should be able to overwrite
everything else.

Adjusting the angles in playermove, does work, even though it is called way
before gamemovement.

I can adjust the viewangles (engine->SetViewAngles()) in gamemovement, but
can't adjust the player angles at all.

Your hierarchy is very helpful though, so thank you for that, but it seems
like finishmove does not use the angles from gamemovement, the code is in
there (player->SetLocalAngles( move->m_vecAngles );) but no matter what
m_vecAngles is set at, nothing changes even the slightest.

I was hoping that animstate would update relative to the model/entities
position, but it does seem like it is overwriting anything sent back from
gamemovement in regards to angles. If I adjust the angles in animstate it
properly updates.

I can do this without updating angles at all, simply with a barrel roll
animation, but was hoping I could do it all code wise easily.

On Sun, Aug 19, 2012 at 1:54 AM, Tony "omega" Sergi <omegal...@gmail.com>wrote:

> It's not that it's "all over the place" but rather they are different
> components of the entire process.
> The majority of the actual movement is handled inside gamemovement.
> the in_* (CInput) handles the raw input itself for the local client (and
> by default the view angles as manipulated by the mouse) which puts it into
> CUserCmd. CUserCmd is then transmitted every frame down to the server which
> is used by playermove and finally into CGameMovement for the final step,
> and CPrediction also uses it to predict locally.
> Once all of that is done, animstate is called from postthink every frame
> to take the final result of everything and then decides what animations to
> play as well as the final rendering angles of the player.
>
> So to summarize the whole process (from memory here, I might be missing
> something):
>
> Input - Create CUserCmd
> CUserCmd is sent for each frame to the server, and processed locally with
> prediction
> CPlayerMove then does:
>   some prelimilary copy like eyeangles and buttons
>    prethink (calls prethink on the player)
>    think (calls think on the player if set)
>    setupmove (copy usercmd -> CMoveData)
>      gamemovement
>    finishmove (update the player origin, angles, etc from gamemovement
> (CMoveData)
>  postthink (run animstate)
>
> the client-side is slightly different for networked players, but the local
> player runs the same process (more or less, through CPrediction instead of
> PlayerRunCommand.
>
> and note, that it doesn't happen precisely in that order for every
> command, as the client will run and transmit input/CUserCmd as fast as it
> can.
>
> Gamemovement is where you should be handling your "barrel roll"; why that
> it's not working for you, I cannot say as I cannot see your implementation.
>
> -Tony
>
>
>
>
> On Sun, Aug 19, 2012 at 2:07 PM, Michael Kramer <kra...@siosphere.com>wrote:
>
>> Alright, I was able to modify the angles by adding some code into the
>> multiplayer animstate, but I have a question for you.
>>
>> It seems that gamemovement adjusts only the origin, and not the
>> viewangles/player angles at all, so I'm assuming adding anything in there
>> would be wrong to do.
>> It also seems like the movement code is all over the place, in player,
>> gamemovement, in_mouse, playermove, etc is there a reason it is spread all
>> over the place?
>>
>> It seems like ideally all player movement should be controlled in 1
>> place, and not 5 or 6 different areas...
>>
>
>
> _______________________________________________
> To unsubscribe, edit your list preferences, or view the list archives,
> please visit:
> https://list.valvesoftware.com/cgi-bin/mailman/listinfo/hlcoders
>
>
>


-- 
*Michael Kramer, Software Engineer & SEO Expert*
http://www.siosphere.com | kra...@siosphere.com
*[c] 801-530-9454*
*
*
*
*
--------------------------------------------------------------------------------------------------------
This email and any files transmitted with it are confidential and intended
solely for the use of the individual or entity to whom they are addressed.
If you have received this email in error please notify the system manager.
This message contains confidential information and is intended only for the
individual named. If you are not the named addressee you should not
disseminate, distribute or copy this e-mail. Please notify the sender
immediately by e-mail if you have received this e-mail by mistake and
delete this e-mail from your system. If you are not the intended recipient
you are notified that disclosing, copying, distributing or taking any
action in reliance on the contents of this information is strictly
prohibited.
_______________________________________________
To unsubscribe, edit your list preferences, or view the list archives, please 
visit:
https://list.valvesoftware.com/cgi-bin/mailman/listinfo/hlcoders

Reply via email to