43 lines
709 B
C
43 lines
709 B
C
|
#ifndef __FREEVIEW_H__
|
||
|
#define __FREEVIEW_H__
|
||
|
|
||
|
class idPhysics_Player;
|
||
|
|
||
|
class idFreeView {
|
||
|
public:
|
||
|
|
||
|
idFreeView() { physics = NULL; snapAngle = false; }
|
||
|
|
||
|
~idFreeView();
|
||
|
|
||
|
// start free flying from this client's current position
|
||
|
void SetFreeView( int clientNum );
|
||
|
|
||
|
// pick a random spawn in the map
|
||
|
void PickRandomSpawn( void );
|
||
|
|
||
|
// update view and position
|
||
|
void Fly( const usercmd_t &ucmd );
|
||
|
|
||
|
void Draw( void );
|
||
|
|
||
|
bool Initialized( void ) const { return physics != NULL; }
|
||
|
|
||
|
void Shutdown( void );
|
||
|
|
||
|
const idVec3 & GetOrigin( void );
|
||
|
|
||
|
private:
|
||
|
|
||
|
void Setup( void );
|
||
|
|
||
|
renderView_t view;
|
||
|
idPhysics_Player *physics;
|
||
|
idAngles viewAngles;
|
||
|
|
||
|
bool snapAngle;
|
||
|
idAngles viewAngleOffset;
|
||
|
};
|
||
|
|
||
|
#endif
|