--
[ Picked text/plain from multipart/alternative ]
For our idea we need the client side to precache the model since the model
wont necessarily exist on the server side.

On 8/9/07, [EMAIL PROTECTED] <[EMAIL PROTECTED]> wrote:
>
> We did something similar for our alien vision, since the alien sees all
> humans as skeletons, but the other humans have normal vision.
>
> Basically I just hijacked the modelindex, I added a receiveproxy for the
> modelindex, and when the conditions are right, I change it to the
> modelindex of the skeleton model ( which I precached before together with
> the player models). All other updates still work fine :)
>
> hth,
>
> -- maarten
>
> > --
> > [ Picked text/plain from multipart/alternative ]
> > Hey Half-Life 2 coders!
> >
> > I have a question about models on the client and server, specifically
> what
> > is required to have a different model than the server but keep things
> > running smoothly.
> > I have managed to get the client side player model different than the
> > server
> > side model. At this point I only need the server side to be static, and
> > only
> > for animation updates etc for the client. The rigs on the models on the
> > client and server are the same including the hitbox model, the only
> > difference would be that the client side will use its own mesh different
> > from the server. The problem is by having a player model different from
> > the
> > server on other clients, the model no longer updates its origin, angles,
> > or
> > animation. Turning interpolation off fixes the problem but interpolation
> > is
> > important. :P
> > Anyway, we are still working on this but if anyone has had this problem
> > before and knows what changes on the client are required to have a
> > different
> > model then the server but keep the interpolation intact, we would be
> most
> > greatful.
> >
> > Here is the code we use for changing the client side model, the code I
> > haven't included is mostly changes to prevent the client from updating
> the
> > model in a server update.
> >
> > This function is in void C_HL2MP_Player::ClientThink( void ) so it
> happens
> > a
> > lot.
> > Just checking if the player is requesting a client model change.
> >     if ( Q_strcmp( m_cMyCurrentModel, m_szClientModel ) != 0 )
> >     {
> >         // Precache Model.
> >         model_t    *m_pPlayerModel = (model_t *) engine->LoadModel(
> > m_szClientModel );
> >
> >         if ( m_pPlayerModel == NULL )
> >         {
> >             // If NULL then change to a static model which comes with
> the
> > mod.
> >             m_pPlayerModel = (model_t *) engine->LoadModel(
> > "models/Player/Male_01.mdl" );
> >         }
> >
> >         // Clear out and renew.
> >         DestroyModelInstance();
> >
> >         SetModelPointer( m_pPlayerModel );
> >         // Copy for model change check.
> >         Q_strcpy( m_cMyCurrentModel, m_szClientModel );
> >     }
> >
> > This is called on new model atm, creates a new model instance for decals
> > and
> > such as it should.
> > CStudioHdr *C_HL2MP_Player::OnNewModel( void )
> > {
> >     CStudioHdr *hdr = BaseClass::OnNewModel();
> >
> >     Initialize( );
> >     CreateModelInstance();
> >
> >     return hdr;
> > }
> >
> > Anything else you need to know please ask.
> >
> > Thanks all :)
> > --
> >
> > _______________________________________________
> > 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
>
>


--
~skidz
--

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

Reply via email to