Have you tried putting a memory breakpoing on the address of the viewmodels m_flCycle variable?
You need to figure out what piece of code is changing the value, e.g., is it the networking system, the prediction system, or some other code. Yahn -----Original Message----- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Jonathan Murphy Sent: Friday, May 12, 2006 2:23 PM To: [email protected] Subject: Re: [hlcoders] Viewmodel skipping animation saga - continued -- [ Picked text/plain from multipart/alternative ] Well I tried to remove the network sending on both AnimTime and Cycle (Matthew said he already tried this but I wanted to see for myself). I also modified CBaseViewModel::SendViewModelMatchingSequence to set m_nSequence (with SetSequence) and flCycle only on the client (to GetCycle() + 0.1f ) but otherwise left the function unchanged as m_flAnimTime was already being set on the client. I also forced client side animation on for the server and client. This resulted in animations barely beginning to be played before being stopped and no changes to m_flCycle (using cl_pdump). Could this possibly be because m_nSequence is still being sent over to the client via the network table? I noticed that the Player stops this from beng sent but I don't see the point as it won't modify flCycle or flAnimTime. Any thoughts? On 5/12/06, Alex Thomson <[EMAIL PROTECTED]> wrote: > > Two possible solutions: > > 1. The client should be correctly predicting these values, so that when > the update from the server arrives it's more-or-less the same value. > Skips/jerks will only happen when the client mis-predicts. Unfortunately > the prediction code can be a bit tricky to get your head around... > > 2. There's a function "UseClientSideAnimation". If you call this on the > server copy of your entity, and include these lines in the server > netclass table > SendPropExclude( "DT_ServerAnimationData" , "m_flCycle" ), > SendPropExclude( "DT_AnimTimeMustBeFirst" , "m_flAnimTime" ), > Then the cycle & anim time won't be transmitted across the network. > > You'll have to manually set the variables on the client instead using > SetCycle, SetSequence and so forth, e.g. > SetSequence( LookupSequence("anim_idle") ); > SetCycle( GetCycle() + 0.1f ); > > > Hope that helps. Good luck ! > > Alex > > -----Original Message----- > From: [EMAIL PROTECTED] > [mailto: [EMAIL PROTECTED] On Behalf Of > NuclearFriend > Sent: 09 May 2006 05:44 > To: [email protected] > Subject: Re: [hlcoders] Viewmodel skipping animation saga - continued > > -- > [ Picked text/plain from multipart/alternative ] > On 1/16/06, Matthew Lewis <[EMAIL PROTECTED]> wrote: > > > > This is a very old problem -- One to which no solution has yet been > > found. The problem is with the viewmodel skipping and jerking in its > > animation playback. I traced the problem to the server and client > > fighting over m_flCycle, m_nSequence, m_flAnimTime, m_flPlaybackRate > > networked variables. In particular, the client sets these variables > and > > then a short time later (lag time) the server also sets these > variables > > since they are networked. The result is an animation skip/jerk. > > > > The obvious fix is to block the server from changing the value of > these > > variables and let the client do the viewmodel animation independantly > > from the server. However, this is proving exceedingly difficult to do. > I > > changed the viewmodel class's send table as follows: > > > > IMPLEMENT_SERVERCLASS_ST_NOBASE(CBaseViewModel, DT_BaseViewModel) > > SendPropModelIndex(SENDINFO(m_nModelIndex)), > > SendPropInt (SENDINFO(m_nBody), 8), > > SendPropInt (SENDINFO(m_nSkin), 10), > > // SendPropInt (SENDINFO(m_nSequence), 8, SPROP_UNSIGNED), > > SendPropInt (SENDINFO(m_nViewModelIndex), VIEWMODEL_INDEX_BITS, > > SPROP_UNSIGNED), > > // SendPropFloat (SENDINFO(m_flPlaybackRate), 8, SPROP_ROUNDUP, - 4.0, > > 12.0f), > > SendPropInt (SENDINFO(m_fEffects), 10, SPROP_UNSIGNED), > > // SendPropInt (SENDINFO(m_nAnimationParity), 3, SPROP_UNSIGNED ), > > SendPropEHandle (SENDINFO(m_hWeapon)), > > SendPropEHandle (SENDINFO(m_hOwner)), > > > > // SendPropInt( SENDINFO( m_nNewSequenceParity ), EF_PARITY_BITS, > > SPROP_UNSIGNED ), > > SendPropInt( SENDINFO( m_nResetEventsParity ), EF_PARITY_BITS, > > SPROP_UNSIGNED ), > > SendPropInt( SENDINFO( m_nMuzzleFlashParity ), EF_MUZZLEFLASH_BITS, > > SPROP_UNSIGNED ), > > END_SEND_TABLE() > > > > As I understand the SDK docs, the ST_NOBASE should prevent the base > > class variables (namely m_flCycle, m_flSequence, etc. from > > CBaseAnimating) from being sent to the client. However, what I'm > finding > > is that they are still get transmitted. I also tried > |SendPropExclude(...) > > on the variables, but they are still getting sent to the viewmodel. > The > > only way I found to stop the server from screwing with the viewmodel > was > > to go into the CBaseAnimating class and strip m_flCycle, m_nSequence, > > etc. completely from the network variables list and remove the > > prediction completely. Arrgh. > > > > There has to be something that I'm missing, or something that isn't > > working as advertised. Any Ideas? > > | > > > > _______________________________________________ > > To unsubscribe, edit your list preferences, or view the list archives, > > please visit: > > http://list.valvesoftware.com/mailman/listinfo/hlcoders > > > > > My mod is also suffering from this problem. I e-mailed Matthew directly > to > ask if he had gotten anywhere with this and his reply basically said he > could not fix this short of starting his mod again from a Half-Life 2 MP > modification (which does not have this problem). Yet he could find no > significant difference between them that could be related to this. The > only > thing he could suggest is something that is triggering different code > within > the engine. > > He still suffers from this and so do I. The only solution I can see is > merging my mods code with the HL2DM source and that is a monumental task > from my view that is essentially fixing an error that Valve made with > the > original source release (the "Start your mod from scratch", which is > still > available and I would not recommend be used by anyone now, but which was > the > only option available to me at the time). So is it possible to get any > helpful input here? > > -- > Programmer for RnL > www.resistanceandliberation.com > -- > > _______________________________________________ > To unsubscribe, edit your list preferences, or view the list archives, > please visit: > http://list.valvesoftware.com/mailman/listinfo/hlcoders > > > ______________________________________________________________________ > This email has been scanned by the MessageLabs Email Security System. > For more information please visit http://www.messagelabs.com/email > ______________________________________________________________________ > > > ________________________________________________________________________ __________________________________________________________________ > Information contained in this e-mail is intended for the use of the > addressee only, and is confidential and may be the subject of Legal > Professional Privilege. Any dissemination, distribution, copying or use of > this communication without prior permission of the addressee is strictly > prohibited.The views of the author may not necessarily constitute the > views of Kuju Entertainment Ltd. Nothing in this email shall bind Kuju > Entertainment Ltd in any contract or obligation. > > The contents of an attachment to this e-mail may contain software viruses > which could damage your own computer system. While Kuju Entertainment has > taken every reasonable precaution to minimise this risk, we cannot accept > liability for any damage which you sustain as a result of software viruses. > You should carry out your own virus checks before opening the attachment. > > > ________________________________________________________________________ __________________________________________________________________ > This email has been scanned by the MessageLabs Email Security System. > For more information please visit http://www.messagelabs.com/email > ________________________________________________________________________ _________________________________________________________________ > > > _______________________________________________ > To unsubscribe, edit your list preferences, or view the list archives, > please visit: > http://list.valvesoftware.com/mailman/listinfo/hlcoders > > -- Programmer for Resistance and Liberation www.resistanceandliberation.com -- _______________________________________________ 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

