Try to give it a model, I had a wierd problem with using SET_VIEW and the
entity did not have a model.

- voogru.

----- Original Message -----
From: "Tony Collen" <[EMAIL PROTECTED]>
To: <[EMAIL PROTECTED]>
Sent: Tuesday, September 02, 2003 12:24 AM
Subject: Re: [hlcoders] [n00b] fixed viewpoint


> botman wrote:
>
> > The SET_VIEW() macro will allow you to change the player's view to
another
> > entity.  For example...
> >
> > SET_VIEW(pPlayer->edict(), pSmashCam->edict());
> >
> > ...will change the player's view to view from the SmashCam entity
(assuming
> > you've set the pPlayer and pSmashCam to the Player entity and SmashCam
> > entity before this).
> >
> > Calling SET_VIEW() with the player edict for both parameters will set
the
> > player's camera back to within their own head, i.e....
> >
> > SET_VIEW(pPlayer->edict(), pPlayer->edict());
>
>
> Alright, I have the basics going, but I'm running into a few problems...
> perhaps you can help me.  When I hit the impulse, a couple odd things
> happen.  The first is that I'm not getting the viewpoint of the
> info_smash_cam, rather, the viewpoint is from on the floor of my map in
> the corner (the smash_cam is way up in the air).  The other oddity is
> that when the camera is activated, and the view switches, the new view
> is "smaller", that is, the view window takes up about 1/4 of my screen,
> as opposed to the full screen resolution, with HOM effect around the
> other 3/4 of the screen.
>
> -----
> |#| |
> |   |
> -----
>
> The # is the limit of the "new" view, which is strange.
>
> Here's what I have so far:
>
> The smashcam spawn, copied from the InfoIntermission. I'm probably not
> setting things correctly.
>
> void CSmashCam::Spawn(void)
> {
> UTIL_SetOrigin( pev, pev->origin );
> pev->solid = SOLID_NOT;
> pev->effects = EF_NODRAW;
> }
>
> Here's the code which actually switches the viewpoint:
>
>
> void CBasePlayer :: SmashCamView() {
> CPointEntity *pSmashCam;
>
>    if (!m_bInSmashCam) {
>
>      // TODO: only one smashcam for now, support for multiple?
>      pSmashCam = (CPointEntity *)UTIL_FindEntityByClassname(NULL,
> "info_smash_cam");
>      ALERT( at_console, "The smashcam's origin is %lf, %lf, %lf\n",
> pSmashCam->pev->origin.x, pSmashCam->pev->origin.y,
> pSmashCam->pev->origin.z);
>      ALERT( at_console, "Your origin is %lf, %lf, %lf\n", pev->origin.x,
> pev->origin.y, pev->origin.z);
>
>      SET_VIEW(ENT(pev), pSmashCam->edict());
>      m_bInSmashCam = true;
>    } else {
>      SET_VIEW(this->edict(), this->edict());
>      m_bInSmashCam = false;
>    }
> }
>
> Again, sorry for the newbiness of this all, the SDK is a bit confusing,
> but I think I'm getting a handle on it.
>
> Regards,
>
> Tony
>
>
> _______________________________________________
> 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

Reply via email to