Runs clean with nightfall, and seems to stop in my
testing the phis death that is cased by the suspended
phis boxes!

Well done

--- Tim Lippert <[EMAIL PROTECTED]> wrote:

> Does this help with getting rid of the "client stuck
> on object xxx" wall bug my players are screaming
> about in Kreedz Climbing??
>
> Or is it something very different and only
> pertaining to physics models?
>
>
--------------------------------------------------------------------------------
>
> Client-side touch prediction is disabled in the
> standard SDK. I had some
> need for it, so I stuck it in. Since it's
> non-trivial, and something
> that shouldn't have to be written twice, I'm posting
> it here for
> opinions and corrections. It's mostly just copied
> from the equivalent
> server code. This patch is from my version control
> system, so it might
> not fit so cleanly into the patch utility. And those
> line numbers might
> not be totally accurate, if I've edited those files
> before.
>
> cl_dll/movehelper_client.cpp
>
===================================================================
> --- cl_dll/movehelper_client.cpp
> +++ cl_dll/movehelper_client.cpp
> @@ -128,6 +128,38 @@
>
>  void CMoveHelperClient::ProcessImpacts( void )
>  {
> +    // Don't bother if the player ain't solid
> +    if ( g_pLocalPlayer->IsSolidFlagSet(
> FSOLID_NOT_SOLID ) )
> +        return;
> +
> +    // Save off the velocity, cause we need to
> temporarily reset it
> +    Vector vel = g_pLocalPlayer->GetAbsVelocity();
> +
> +    // Touch other objects that were intersected
> during the movement.
> +    for (int i = 0 ; i < m_TouchList.Size(); i++)
> +    {
> +        C_BaseEntity *pEnt =
> ClientEntityList().GetEnt(
> m_TouchList[i].trace.m_pEnt->entindex() );
> +        if (!pEnt)
> +            continue;
> +
> +        // Don't ever collide with self!!!!
> +        if ( pEnt == g_pLocalPlayer )
> +            continue;
> +
> +        // Reconstruct trace results.
> +        m_TouchList[i].trace.m_pEnt = pEnt;
> +
> +        // Use the velocity we had when we
> collided, so boxes will
> move, etc.
> +        g_pLocalPlayer->SetAbsVelocity(
> m_TouchList[i].deltavelocity );
> +
> +        pEnt->PhysicsImpact( g_pLocalPlayer,
> m_TouchList[i].trace );
> +    }
> +
> +    // Restore the velocity
> +    g_pLocalPlayer->SetAbsVelocity( vel );
> +
> +    // So no stuff is ever left over, sigh...
> +    ResetTouchList();
>  }
>
>  void CMoveHelperClient::StartSound( const Vector&
> origin, const char
> *soundname )
>
> cl_dll/prediction.cpp
>
===================================================================
> --- cl_dll/prediction.cpp
> +++ cl_dll/prediction.cpp
> @@ -837,9 +837,7 @@
>
>      RunPostThink( player );
>
> -// TODO:  Predict impacts?
> -//    // Let server invoke any needed impact
> functions
> -//    moveHelper->ProcessImpacts();
> +    moveHelper->ProcessImpacts();
>
>      FinishCommand( player );
>
> So far this code works for my purposes. Has anybody
> else done this, or
> want to try this and provide some input? Maybe Valve
> has some pointers,
> or a reason why they didn't do it in the first
> place?
>
> Thanks.
>
> --
> Jorge "Vino" Rodriguez
>
>
>
______________________________________________________________
> Verschicken Sie romantische, coole und witzige
> Bilder per SMS!
> Jetzt bei WEB.DE FreeMail:
> http://f.web.de/?mc=021193
>
>
> _______________________________________________
> To unsubscribe, edit your list preferences, or view
> the list archives, please visit:
>
http://list.valvesoftware.com/mailman/listinfo/hlcoders
>
>


--------
My Website http://www.ammahls.com
   Lead Programer NightFall http://www.nightfallmod.net
      Developer of CST and ZHLT 3.0 http://www.zhlt.info
         Team Lead - Prime - http://www.nigredostudios.com

__________________________________________________
Do You Yahoo!?
Tired of spam?  Yahoo! Mail has the best spam protection around
http://mail.yahoo.com

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

Reply via email to