mirror of
https://github.com/jmarshall23/DoomRTX.git
synced 2026-08-20 04:30:12 +02:00
Initial Prey Game integration support.
This commit is contained in:
@@ -0,0 +1,109 @@
|
||||
// Copyright (C) 2004 Id Software, Inc.
|
||||
//
|
||||
|
||||
#ifndef __GAME_CAMERA_H__
|
||||
#define __GAME_CAMERA_H__
|
||||
|
||||
|
||||
/*
|
||||
===============================================================================
|
||||
|
||||
Camera providing an alternative view of the level.
|
||||
|
||||
===============================================================================
|
||||
*/
|
||||
|
||||
class idCamera : public idEntity {
|
||||
public:
|
||||
ABSTRACT_PROTOTYPE( idCamera );
|
||||
|
||||
void Spawn( void );
|
||||
virtual void GetViewParms( renderView_t *view ) = 0;
|
||||
virtual renderView_t * GetRenderView();
|
||||
virtual void Stop( void ){} ;
|
||||
};
|
||||
|
||||
/*
|
||||
===============================================================================
|
||||
|
||||
idCameraView
|
||||
|
||||
===============================================================================
|
||||
*/
|
||||
|
||||
class idCameraView : public idCamera {
|
||||
public:
|
||||
CLASS_PROTOTYPE( idCameraView );
|
||||
idCameraView();
|
||||
|
||||
// save games
|
||||
void Save( idSaveGame *savefile ) const; // archives object for save game file
|
||||
void Restore( idRestoreGame *savefile ); // unarchives object from save game file
|
||||
|
||||
void Spawn( );
|
||||
virtual void GetViewParms( renderView_t *view );
|
||||
virtual void Stop( void );
|
||||
|
||||
protected:
|
||||
void Event_SetFOV( float fieldOfView, float accelTime, float decelTime, float duration ); // HUMANHEAD pdm
|
||||
void Event_Activate( idEntity *activator );
|
||||
void Event_SetAttachments();
|
||||
void SetAttachment( idEntity **e, const char *p );
|
||||
idInterpolateAccelDecelSine<float> fov;
|
||||
idEntity *attachedTo;
|
||||
idEntity *attachedView;
|
||||
bool bPlayerBoundCamera;
|
||||
};
|
||||
|
||||
|
||||
|
||||
/*
|
||||
===============================================================================
|
||||
|
||||
A camera which follows a path defined by an animation.
|
||||
|
||||
===============================================================================
|
||||
*/
|
||||
|
||||
typedef struct {
|
||||
idCQuat q;
|
||||
idVec3 t;
|
||||
float fov;
|
||||
} cameraFrame_t;
|
||||
|
||||
class idCameraAnim : public idCamera {
|
||||
public:
|
||||
CLASS_PROTOTYPE( idCameraAnim );
|
||||
|
||||
idCameraAnim();
|
||||
~idCameraAnim();
|
||||
|
||||
// save games
|
||||
void Save( idSaveGame *savefile ) const; // archives object for save game file
|
||||
void Restore( idRestoreGame *savefile ); // unarchives object from save game file
|
||||
|
||||
void Spawn( void );
|
||||
virtual void GetViewParms( renderView_t *view );
|
||||
|
||||
private:
|
||||
int threadNum;
|
||||
idVec3 offset;
|
||||
int frameRate;
|
||||
int starttime;
|
||||
int cycle;
|
||||
idList<int> cameraCuts;
|
||||
idList<cameraFrame_t> camera;
|
||||
idEntityPtr<idEntity> activator;
|
||||
|
||||
void Start( void );
|
||||
void Stop( void );
|
||||
void Think( void );
|
||||
|
||||
void LoadAnim( void );
|
||||
void Event_Start( void );
|
||||
void Event_Stop( void );
|
||||
void Event_SetCallback( void );
|
||||
void Event_Activate( idEntity *activator );
|
||||
};
|
||||
|
||||
#endif /* !__GAME_CAMERA_H__ */
|
||||
Reference in New Issue
Block a user