mirror of
https://github.com/ptitSeb/Serious-Engine
synced 2024-11-29 13:25:52 +01:00
1031 lines
42 KiB
C++
1031 lines
42 KiB
C++
|
/*
|
||
|
* This file is generated by Entity Class Compiler, (c) CroTeam 1997-98
|
||
|
*/
|
||
|
|
||
|
#line 4 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
|
||
|
#include "StdH.h"
|
||
|
|
||
|
#include <EntitiesMP/Camera.h>
|
||
|
#include <EntitiesMP/Camera_tables.h>
|
||
|
void CCamera::SetDefaultProperties(void) {
|
||
|
m_tmTime = 5.0f;
|
||
|
m_fFOV = 90.0f;
|
||
|
m_fLastFOV = 90.0f;
|
||
|
m_penTarget = NULL;
|
||
|
m_strName = "Camera";
|
||
|
m_penOnBreak = NULL;
|
||
|
m_bWideScreen = TRUE ;
|
||
|
m_tmAtMarker = 0.0f;
|
||
|
m_tmDelta = 0.0f;
|
||
|
m_vPNp0 = FLOAT3D(0 , 0 , 0);
|
||
|
m_vPNp1 = FLOAT3D(0 , 0 , 0);
|
||
|
m_vTNp0 = FLOAT3D(0 , 0 , 0);
|
||
|
m_vTNp1 = FLOAT3D(0 , 0 , 0);
|
||
|
m_fFOVp0 = 0.0f;
|
||
|
m_fFOVp1 = 0.0f;
|
||
|
m_fTFOVp0 = 0.0f;
|
||
|
m_fTFOVp1 = 0.0f;
|
||
|
m_qPNp0 = FLOATquat3D(0 , 0 , 0 , 0);
|
||
|
m_qPNp1 = FLOATquat3D(0 , 0 , 0 , 0);
|
||
|
m_qANp0 = FLOATquat3D(0 , 0 , 0 , 0);
|
||
|
m_qANp1 = FLOATquat3D(0 , 0 , 0 , 0);
|
||
|
m_penLast = NULL;
|
||
|
m_penPlayer = NULL;
|
||
|
m_strDescription = "";
|
||
|
m_bStopMoving = FALSE ;
|
||
|
m_colFade0 = 0;
|
||
|
m_colFade1 = 0;
|
||
|
m_bMoving = FALSE ;
|
||
|
m_penViewTarget0 = NULL;
|
||
|
m_penViewTarget1 = NULL;
|
||
|
m_vPosRatio0 = FLOAT3D(0 , 0 , 0);
|
||
|
m_vPosRatio1 = FLOAT3D(0 , 0 , 0);
|
||
|
m_fMyTimer = 0.0f;
|
||
|
m_fMyTimerLast = 0.0f;
|
||
|
m_bIgnoreTimeStretch = FALSE ;
|
||
|
m_bAutoRotation = FALSE ;
|
||
|
m_fStartHdg = 0.0f;
|
||
|
m_fRotateSpeed = 180.0f;
|
||
|
m_fRotateTime = 8.0f;
|
||
|
m_fRadX = 8.0f;
|
||
|
m_fHeight = 4.0f;
|
||
|
m_fRadZ = 8.0f;
|
||
|
m_penAutoCameraEndTarget = NULL;
|
||
|
m_eetAutoCameraEndEvent = EET_STOP ;
|
||
|
m_vRelTargetOffset = FLOAT3D(0 , 0 , 0);
|
||
|
CMovableModelEntity::SetDefaultProperties();
|
||
|
}
|
||
|
|
||
|
#line 80 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
void CCamera::RenderParticles(void)
|
||
|
#line 81 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
{
|
||
|
#line 82 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
if(Particle_GetViewer () == this ){
|
||
|
#line 83 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
Particles_ViewerLocal (this );
|
||
|
#line 84 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
}
|
||
|
#line 85 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
}
|
||
|
|
||
|
#line 88 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
BOOL CCamera::MovesByTargetedRoute(CTString & strTargetProperty)const
|
||
|
#line 89 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
{
|
||
|
#line 90 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
strTargetProperty = "Target";
|
||
|
#line 91 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
return TRUE ;
|
||
|
#line 92 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
}
|
||
|
|
||
|
#line 95 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
BOOL CCamera::DropsMarker(CTFileName & fnmMarkerClass,CTString & strTargetProperty)const
|
||
|
#line 96 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
{
|
||
|
#line 97 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
fnmMarkerClass = CTFILENAME ("Classes\\CameraMarker.ecl");
|
||
|
#line 98 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
strTargetProperty = "Target";
|
||
|
#line 99 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
return TRUE ;
|
||
|
#line 100 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
}
|
||
|
|
||
|
#line 103 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
const CTString & CCamera::GetDescription(void)const
|
||
|
#line 104 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
{
|
||
|
#line 105 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
if(m_penTarget != NULL ){
|
||
|
#line 106 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
((CTString &) m_strDescription ) . PrintF ("->%s" , m_penTarget -> GetName ());
|
||
|
#line 107 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
}else {
|
||
|
#line 108 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
((CTString &) m_strDescription ) . PrintF ("-><none>");
|
||
|
#line 109 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
}
|
||
|
#line 110 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
return m_strDescription ;
|
||
|
#line 111 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
}
|
||
|
|
||
|
#line 113 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
void CCamera::GetAutoRotatePlacement(FLOAT tmCurrent,FLOAT3D & vPos,FLOATmatrix3D & mRot,
|
||
|
#line 114 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
CPlacement3D & plNew,FLOAT3D vTarget)const
|
||
|
#line 115 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
{
|
||
|
#line 117 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
FLOAT fT = m_fStartHdg + m_fRotateSpeed * tmCurrent ;
|
||
|
#line 118 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
FLOAT fX = m_fRadX * Sin (fT );
|
||
|
#line 119 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
FLOAT fZ = m_fRadZ * Cos (fT );
|
||
|
#line 120 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
vPos = FLOAT3D (fX , - m_fHeight , fZ );
|
||
|
#line 121 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
FLOAT3D vDir = vPos ;
|
||
|
#line 122 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
vDir . Normalize ();
|
||
|
#line 123 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
ANGLE3D ang ;
|
||
|
#line 124 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
DirectionVectorToAngles (vDir , ang );
|
||
|
#line 125 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
plNew . pl_PositionVector = vTarget - vPos ;
|
||
|
#line 126 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
plNew . pl_OrientationAngle = ang ;
|
||
|
#line 128 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
MakeRotationMatrix (mRot , ang );
|
||
|
#line 129 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
return ;
|
||
|
#line 130 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
}
|
||
|
|
||
|
#line 132 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
CPlacement3D CCamera::GetLerpedPlacement(void)const
|
||
|
#line 133 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
{
|
||
|
#line 134 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
FLOAT fLerpFactor ;
|
||
|
#line 135 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
if(IsPredictor ()){
|
||
|
#line 136 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
fLerpFactor = _pTimer -> GetLerpFactor ();
|
||
|
#line 137 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
}else {
|
||
|
#line 138 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
fLerpFactor = _pTimer -> GetLerpFactor2 ();
|
||
|
#line 139 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
}
|
||
|
#line 141 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
if(m_bAutoRotation && m_bMoving )
|
||
|
#line 142 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
{
|
||
|
#line 143 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
FLOAT fTime = Lerp (m_fMyTimerLast , m_fMyTimer , fLerpFactor );
|
||
|
#line 145 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
FLOAT3D vPos ;
|
||
|
#line 146 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
FLOATmatrix3D mRot ;
|
||
|
#line 147 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
CPlacement3D plNew ;
|
||
|
#line 149 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
FLOAT3D vTarget = FLOAT3D (0 , 0 , 0);
|
||
|
#line 150 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
if(m_penTarget != NULL )
|
||
|
#line 151 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
{
|
||
|
#line 152 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
CCameraMarker * pcm = & (CCameraMarker &) * m_penTarget ;
|
||
|
#line 153 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
if(pcm -> m_penViewTarget != NULL )
|
||
|
#line 154 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
{
|
||
|
#line 155 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
vTarget = pcm -> m_penViewTarget -> GetLerpedPlacement () . pl_PositionVector + m_vRelTargetOffset ;
|
||
|
#line 156 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
}
|
||
|
#line 157 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
}
|
||
|
#line 159 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
GetAutoRotatePlacement (fTime , vPos , mRot , plNew , vTarget );
|
||
|
#line 160 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
return plNew ;
|
||
|
#line 161 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
}
|
||
|
#line 162 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
else if(m_penViewTarget0 != NULL )
|
||
|
#line 163 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
{
|
||
|
#line 164 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
CPlacement3D plNew = LerpPlacementsPrecise (en_plLastPlacement , en_plPlacement , fLerpFactor );
|
||
|
#line 165 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
FLOATmatrix3D mRot ;
|
||
|
#line 166 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
CalcTargetedRotation (plNew . pl_PositionVector , m_penViewTarget0 , m_vPosRatio0 , mRot , TRUE );
|
||
|
#line 167 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
DecomposeRotationMatrixNoSnap (plNew . pl_OrientationAngle , mRot );
|
||
|
#line 168 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
return plNew ;
|
||
|
#line 169 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
}
|
||
|
#line 170 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
else
|
||
|
#line 171 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
{
|
||
|
#line 172 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
return LerpPlacementsPrecise (en_plLastPlacement , en_plPlacement , fLerpFactor );
|
||
|
#line 173 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
}
|
||
|
#line 175 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
}
|
||
|
|
||
|
#line 178 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
void CCamera::CalcTargetedRotation(const FLOAT3D & vMyPos,CEntity * penViewTarget,
|
||
|
#line 179 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
FLOAT3D vPosRatio,FLOATmatrix3D & mRotTarget,BOOL bLerping)const
|
||
|
#line 180 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
{
|
||
|
#line 181 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
FLOAT3D vAbsPos ;
|
||
|
#line 182 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
penViewTarget -> GetEntityPointRatio (vPosRatio , vAbsPos , bLerping );
|
||
|
#line 183 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
FLOAT3D vDir ;
|
||
|
#line 184 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
vDir = vAbsPos - vMyPos ;
|
||
|
#line 185 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
vDir . Normalize ();
|
||
|
#line 186 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
ANGLE3D aDir ;
|
||
|
#line 187 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
DirectionVectorToAnglesNoSnap (vDir , aDir );
|
||
|
#line 188 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
MakeRotationMatrixFast (mRotTarget , aDir );
|
||
|
#line 189 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
}
|
||
|
|
||
|
#line 191 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
void CCamera::PreMoving()
|
||
|
#line 192 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
{
|
||
|
#line 194 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
en_plLastPlacement = en_plPlacement ;
|
||
|
#line 195 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
}
|
||
|
|
||
|
#line 198 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
void CCamera::DoMoving()
|
||
|
#line 199 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
{
|
||
|
#line 200 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
if(! m_bMoving ){
|
||
|
#line 201 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
return ;
|
||
|
#line 202 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
}
|
||
|
#line 203 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
FLOAT tmCurrent ;
|
||
|
#line 204 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
if(! m_bIgnoreTimeStretch )
|
||
|
#line 205 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
{
|
||
|
#line 206 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
tmCurrent = _pTimer -> CurrentTick ();
|
||
|
#line 207 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
}
|
||
|
#line 208 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
else
|
||
|
#line 209 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
{
|
||
|
#line 210 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
m_fMyTimerLast = m_fMyTimer ;
|
||
|
#line 211 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
m_fMyTimer += _pTimer -> TickQuantum / _pNetwork -> GetRealTimeFactor ();
|
||
|
#line 212 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
tmCurrent = m_fMyTimer ;
|
||
|
#line 213 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
}
|
||
|
#line 215 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
if(m_bAutoRotation )
|
||
|
#line 216 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
{
|
||
|
#line 218 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
if(tmCurrent > m_fRotateTime )
|
||
|
#line 219 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
{
|
||
|
#line 220 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
m_bStopMoving = TRUE ;
|
||
|
#line 221 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
return ;
|
||
|
#line 222 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
}
|
||
|
#line 223 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
FLOAT3D vPos ;
|
||
|
#line 224 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
FLOATmatrix3D mRot ;
|
||
|
#line 225 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
CPlacement3D plNew ;
|
||
|
#line 227 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
FLOAT3D vTarget = FLOAT3D (0 , 0 , 0);
|
||
|
#line 228 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
if(m_penTarget != NULL )
|
||
|
#line 229 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
{
|
||
|
#line 230 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
CCameraMarker * pcm = & (CCameraMarker &) * m_penTarget ;
|
||
|
#line 231 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
if(pcm -> m_penViewTarget != NULL )
|
||
|
#line 232 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
{
|
||
|
#line 233 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
vTarget = pcm -> m_penViewTarget -> GetPlacement () . pl_PositionVector + m_vRelTargetOffset ;
|
||
|
#line 234 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
}
|
||
|
#line 235 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
}
|
||
|
#line 236 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
GetAutoRotatePlacement (tmCurrent , vPos , mRot , plNew , vTarget );
|
||
|
#line 237 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
en_vNextPosition = vPos ;
|
||
|
#line 238 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
en_mNextRotation = mRot ;
|
||
|
#line 239 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
CacheNearPolygons ();
|
||
|
#line 240 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
SetPlacement_internal (plNew , mRot , TRUE );
|
||
|
#line 241 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
return ;
|
||
|
#line 242 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
}
|
||
|
#line 245 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
BOOL bLerping = TRUE ;
|
||
|
#line 248 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
if(tmCurrent > (m_tmAtMarker + m_tmDelta - _pTimer -> TickQuantum * 3 / 2))
|
||
|
#line 249 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
{
|
||
|
#line 251 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
CCameraMarker * pcmNm1 = & (CCameraMarker &) * m_penLast ;
|
||
|
#line 252 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
CCameraMarker * pcmNp0 = & (CCameraMarker &) * m_penTarget ;
|
||
|
#line 253 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
CCameraMarker * pcmNp1 = & (CCameraMarker &) * pcmNp0 -> m_penTarget ;
|
||
|
#line 254 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
CCameraMarker * pcmNp2 = & (CCameraMarker &) * pcmNp1 -> m_penTarget ;
|
||
|
#line 257 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
FOREVER {
|
||
|
#line 259 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
if(pcmNp0 -> m_penTrigger != NULL ){
|
||
|
#line 261 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
SendToTarget (pcmNp0 -> m_penTrigger , EET_TRIGGER , m_penPlayer );
|
||
|
#line 262 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
}
|
||
|
#line 265 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
if(! pcmNp0 -> m_bSkipToNext ){
|
||
|
#line 267 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
break ;
|
||
|
#line 268 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
}
|
||
|
#line 271 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
pcmNm1 = pcmNp0 ;
|
||
|
#line 272 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
pcmNp0 = pcmNp1 ;
|
||
|
#line 273 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
pcmNp1 = pcmNp2 ;
|
||
|
#line 274 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
pcmNp2 = (CCameraMarker *) & * pcmNp2 -> m_penTarget ;
|
||
|
#line 277 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
bLerping = FALSE ;
|
||
|
#line 278 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
}
|
||
|
#line 281 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
m_penTarget = pcmNp1 ;
|
||
|
#line 282 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
m_penLast = pcmNp0 ;
|
||
|
#line 285 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
CCameraMarker & cmNm1 = * pcmNm1 ;
|
||
|
#line 286 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
CCameraMarker & cmNp0 = * pcmNp0 ;
|
||
|
#line 287 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
CCameraMarker & cmNp1 = * pcmNp1 ;
|
||
|
#line 288 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
CCameraMarker & cmNp2 = * pcmNp2 ;
|
||
|
#line 291 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
const FLOAT3D & vPNm1 = cmNm1 . GetPlacement () . pl_PositionVector ;
|
||
|
#line 292 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
const FLOAT3D & vPNp0 = cmNp0 . GetPlacement () . pl_PositionVector ;
|
||
|
#line 293 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
const FLOAT3D & vPNp1 = cmNp1 . GetPlacement () . pl_PositionVector ;
|
||
|
#line 294 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
const FLOAT3D & vPNp2 = cmNp2 . GetPlacement () . pl_PositionVector ;
|
||
|
#line 295 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
ANGLE3D aPNm1 = cmNm1 . GetPlacement () . pl_OrientationAngle ;
|
||
|
#line 296 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
ANGLE3D aPNp0 = cmNp0 . GetPlacement () . pl_OrientationAngle ;
|
||
|
#line 297 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
ANGLE3D aPNp1 = cmNp1 . GetPlacement () . pl_OrientationAngle ;
|
||
|
#line 298 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
ANGLE3D aPNp2 = cmNp2 . GetPlacement () . pl_OrientationAngle ;
|
||
|
#line 299 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
FLOAT fFOVm1 = cmNm1 . m_fFOV ;
|
||
|
#line 300 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
FLOAT fFOVp0 = cmNp0 . m_fFOV ;
|
||
|
#line 301 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
FLOAT fFOVp1 = cmNp1 . m_fFOV ;
|
||
|
#line 302 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
FLOAT fFOVp2 = cmNp2 . m_fFOV ;
|
||
|
#line 303 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
m_colFade0 = cmNp0 . m_colFade ;
|
||
|
#line 304 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
m_colFade1 = cmNp1 . m_colFade ;
|
||
|
#line 305 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
m_penViewTarget0 = cmNp0 . m_penViewTarget ;
|
||
|
#line 306 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
m_penViewTarget1 = cmNp1 . m_penViewTarget ;
|
||
|
#line 307 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
m_vPosRatio0 = FLOAT3D (0 , 0 , 0);
|
||
|
#line 308 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
m_vPosRatio1 = FLOAT3D (0 , 0 , 0);
|
||
|
#line 309 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
if(m_penViewTarget0 != NULL )
|
||
|
#line 310 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
{
|
||
|
#line 311 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
m_vPosRatio0 = cmNp0 . m_vPosRatio ;
|
||
|
#line 312 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
}
|
||
|
#line 313 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
if(m_penViewTarget1 != NULL )
|
||
|
#line 314 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
{
|
||
|
#line 315 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
m_vPosRatio1 = cmNp1 . m_vPosRatio ;
|
||
|
#line 316 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
}
|
||
|
#line 319 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
FLOATquat3D qPNm1 ;qPNm1 . FromEuler (aPNm1 );
|
||
|
#line 320 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
FLOATquat3D qPNp0 ;qPNp0 . FromEuler (aPNp0 );
|
||
|
#line 321 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
FLOATquat3D qPNp1 ;qPNp1 . FromEuler (aPNp1 );
|
||
|
#line 322 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
FLOATquat3D qPNp2 ;qPNp2 . FromEuler (aPNp2 );
|
||
|
#line 325 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
if(qPNm1 % qPNp0 < 0){
|
||
|
#line 326 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
qPNp0 = - qPNp0 ;
|
||
|
#line 327 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
}
|
||
|
#line 328 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
if(qPNp0 % qPNp1 < 0){
|
||
|
#line 329 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
qPNp1 = - qPNp1 ;
|
||
|
#line 330 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
}
|
||
|
#line 331 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
if(qPNp1 % qPNp2 < 0){
|
||
|
#line 332 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
qPNp2 = - qPNp2 ;
|
||
|
#line 333 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
}
|
||
|
#line 336 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
m_tmAtMarker = m_tmAtMarker + m_tmDelta ;
|
||
|
#line 337 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
m_tmDelta = cmNp0 . m_fDeltaTime ;
|
||
|
#line 338 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
m_vPNp0 = vPNp0 ;
|
||
|
#line 339 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
m_vPNp1 = vPNp1 ;
|
||
|
#line 340 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
m_fFOVp0 = fFOVp0 ;
|
||
|
#line 341 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
m_fFOVp1 = fFOVp1 ;
|
||
|
#line 342 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
m_qPNp0 = qPNp0 ;
|
||
|
#line 343 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
m_qPNp1 = qPNp1 ;
|
||
|
#line 346 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
FLOAT tmDNm1 = cmNm1 . m_fDeltaTime ;
|
||
|
#line 347 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
FLOAT tmDNp0 = cmNp0 . m_fDeltaTime ;
|
||
|
#line 348 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
FLOAT tmDNp1 = cmNp1 . m_fDeltaTime ;
|
||
|
#line 349 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
FLOAT fD0 = 2 * tmDNp0 / (tmDNm1 + tmDNp0 );
|
||
|
#line 350 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
FLOAT fD1 = 2 * tmDNp0 / (tmDNp0 + tmDNp1 );
|
||
|
#line 353 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
FLOAT fBNp0 = cmNp0 . m_fBias ;
|
||
|
#line 354 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
FLOAT fTNp0 = cmNp0 . m_fTension ;
|
||
|
#line 355 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
FLOAT fCNp0 = cmNp0 . m_fContinuity ;
|
||
|
#line 356 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
FLOAT fBNp1 = cmNp1 . m_fBias ;
|
||
|
#line 357 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
FLOAT fTNp1 = cmNp1 . m_fTension ;
|
||
|
#line 358 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
FLOAT fCNp1 = cmNp1 . m_fContinuity ;
|
||
|
#line 360 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
FLOAT fF00 = (1 - fTNp0 ) * (1 - fCNp0 ) * (1 - fBNp0 ) / 2;
|
||
|
#line 361 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
FLOAT fF01 = (1 - fTNp0 ) * (1 + fCNp0 ) * (1 + fBNp0 ) / 2;
|
||
|
#line 362 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
FLOAT fF10 = (1 - fTNp1 ) * (1 + fCNp1 ) * (1 - fBNp1 ) / 2;
|
||
|
#line 363 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
FLOAT fF11 = (1 - fTNp1 ) * (1 - fCNp1 ) * (1 + fBNp1 ) / 2;
|
||
|
#line 366 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
m_vTNp0 = ((vPNp1 - vPNp0 ) * fF00 + (vPNp0 - vPNm1 ) * fF01 ) * fD0 ;
|
||
|
#line 367 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
m_vTNp1 = ((vPNp2 - vPNp1 ) * fF10 + (vPNp1 - vPNp0 ) * fF11 ) * fD1 ;
|
||
|
#line 370 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
m_fTFOVp0 = ((fFOVp1 - fFOVp0 ) * fF00 + (fFOVp0 - fFOVm1 ) * fF01 ) * fD0 ;
|
||
|
#line 371 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
m_fTFOVp1 = ((fFOVp2 - fFOVp1 ) * fF10 + (fFOVp1 - fFOVp0 ) * fF11 ) * fD1 ;
|
||
|
#line 374 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
FLOATquat3D qTNp0 , qTNp1 ;
|
||
|
#line 375 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
qTNp0 = (Log (qPNp0 . Inv () * qPNp1 ) * fF00 + Log (qPNm1 . Inv () * qPNp0 ) * fF01 ) * fD0 ;
|
||
|
#line 376 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
qTNp1 = (Log (qPNp1 . Inv () * qPNp2 ) * fF10 + Log (qPNp0 . Inv () * qPNp1 ) * fF11 ) * fD1 ;
|
||
|
#line 379 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
m_qANp0 = qPNp0 * Exp ((qTNp0 - Log (qPNp0 . Inv () * qPNp1 )) / 2);
|
||
|
#line 380 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
m_qANp1 = qPNp1 * Exp ((Log (qPNp0 . Inv () * qPNp1 ) - qTNp1 ) / 2);
|
||
|
#line 383 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
if(cmNp0 . m_bStopMoving ){
|
||
|
#line 384 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
m_bStopMoving = TRUE ;
|
||
|
#line 385 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
}
|
||
|
#line 386 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
}
|
||
|
#line 389 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
FLOAT fT = (tmCurrent - m_tmAtMarker ) / m_tmDelta ;
|
||
|
#line 390 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
FLOAT fH0 = 2 * fT * fT * fT - 3 * fT * fT + 1;
|
||
|
#line 391 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
FLOAT fH1 = - 2 * fT * fT * fT + 3 * fT * fT ;
|
||
|
#line 392 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
FLOAT fH2 = fT * fT * fT - 2 * fT * fT + fT ;
|
||
|
#line 393 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
FLOAT fH3 = fT * fT * fT - fT * fT ;
|
||
|
#line 396 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
FLOAT3D vPos = m_vPNp0 * fH0 + m_vPNp1 * fH1 + m_vTNp0 * fH2 + m_vTNp1 * fH3 ;
|
||
|
#line 397 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
FLOAT fFOV = m_fFOVp0 * fH0 + m_fFOVp1 * fH1 + m_fTFOVp0 * fH2 + m_fTFOVp1 * fH3 ;
|
||
|
#line 398 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
FLOATquat3D qRot = Squad (fT , m_qPNp0 , m_qPNp1 , m_qANp0 , m_qANp1 );
|
||
|
#line 399 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
FLOATmatrix3D mRot ;
|
||
|
#line 400 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
qRot . ToMatrix (mRot );
|
||
|
#line 403 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
FLOATmatrix3D mRotTarget0 = mRot ;
|
||
|
#line 404 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
FLOATmatrix3D mRotTarget1 = mRot ;
|
||
|
#line 405 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
BOOL bDoTargeting = FALSE ;
|
||
|
#line 406 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
if(m_penViewTarget0 != NULL ){
|
||
|
#line 407 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
CalcTargetedRotation (vPos , m_penViewTarget0 , m_vPosRatio0 , mRotTarget0 , FALSE );
|
||
|
#line 408 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
bDoTargeting = TRUE ;
|
||
|
#line 409 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
}
|
||
|
#line 410 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
if(m_penViewTarget1 != NULL ){
|
||
|
#line 411 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
CalcTargetedRotation (vPos , m_penViewTarget1 , m_vPosRatio1 , mRotTarget1 , FALSE );
|
||
|
#line 412 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
bDoTargeting = TRUE ;
|
||
|
#line 413 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
}
|
||
|
#line 416 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
if(bDoTargeting ){
|
||
|
#line 418 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
FLOATquat3D qRot0 ;qRot0 . FromMatrix (mRotTarget0 );
|
||
|
#line 419 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
FLOATquat3D qRot1 ;qRot1 . FromMatrix (mRotTarget1 );
|
||
|
#line 420 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
FLOATquat3D qRot = Slerp (Clamp (fT , 0.0f , 1.0f) , qRot0 , qRot1 );
|
||
|
#line 421 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
qRot . ToMatrix (mRot );
|
||
|
#line 422 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
}
|
||
|
#line 425 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
en_vNextPosition = vPos ;
|
||
|
#line 426 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
en_mNextRotation = mRot ;
|
||
|
#line 427 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
CacheNearPolygons ();
|
||
|
#line 430 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
CPlacement3D plNew ;
|
||
|
#line 431 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
plNew . pl_PositionVector = vPos ;
|
||
|
#line 432 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
DecomposeRotationMatrixNoSnap (plNew . pl_OrientationAngle , mRot );
|
||
|
#line 433 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
SetPlacement_internal (plNew , mRot , TRUE );
|
||
|
#line 435 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
if(! bLerping ){
|
||
|
#line 437 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
en_plLastPlacement = en_plPlacement ;
|
||
|
#line 438 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
}
|
||
|
#line 440 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
m_fLastFOV = m_fFOV ;
|
||
|
#line 441 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
m_fFOV = fFOV ;
|
||
|
#line 442 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
}
|
||
|
|
||
|
#line 445 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
void CCamera::PostMoving()
|
||
|
#line 446 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
{
|
||
|
#line 447 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
if(! m_bMoving ){
|
||
|
#line 448 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
return ;
|
||
|
#line 449 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
}
|
||
|
#line 451 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
if(m_bStopMoving ){
|
||
|
#line 452 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
m_bMoving = FALSE ;
|
||
|
#line 454 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
en_ulFlags |= ENF_INRENDERING ;
|
||
|
#line 455 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
SendEvent (EStop ());
|
||
|
#line 456 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
}
|
||
|
#line 457 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
}
|
||
|
BOOL CCamera::
|
||
|
#line 463 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
PlayStaticCamera(const CEntityEvent &__eeInput) {
|
||
|
#undef STATE_CURRENT
|
||
|
#define STATE_CURRENT STATE_CCamera_PlayStaticCamera
|
||
|
ASSERTMSG(__eeInput.ee_slEvent==EVENTCODE_EVoid, "CCamera::PlayStaticCamera expects 'EVoid' as input!"); const EVoid &e = (const EVoid &)__eeInput;
|
||
|
#line 465 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
m_bMoving = FALSE ;
|
||
|
#line 466 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
ECameraStart eStart ;
|
||
|
#line 467 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
eStart . penCamera = this ;
|
||
|
#line 468 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
m_penPlayer -> SendEvent (eStart );
|
||
|
#line 469 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
SetTimerAfter(m_tmTime );
|
||
|
Jump(STATE_CURRENT, 0x00dc0001, FALSE, EBegin());return TRUE;}BOOL CCamera::H0x00dc0001_PlayStaticCamera_01(const CEntityEvent &__eeInput) {
|
||
|
#undef STATE_CURRENT
|
||
|
#define STATE_CURRENT 0x00dc0001
|
||
|
switch(__eeInput.ee_slEvent) {case EVENTCODE_EBegin: return TRUE;case EVENTCODE_ETimer: Jump(STATE_CURRENT,0x00dc0002, FALSE, EInternal()); return TRUE;default: return FALSE; }}BOOL CCamera::H0x00dc0002_PlayStaticCamera_02(const CEntityEvent &__eeInput){
|
||
|
ASSERT(__eeInput.ee_slEvent==EVENTCODE_EInternal);
|
||
|
#undef STATE_CURRENT
|
||
|
#define STATE_CURRENT 0x00dc0002
|
||
|
;
|
||
|
#line 470 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
ECameraStop eStop ;
|
||
|
#line 471 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
eStop . penCamera = this ;
|
||
|
#line 472 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
m_penPlayer -> SendEvent (eStop );
|
||
|
#line 473 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
Return(STATE_CURRENT,EVoid());
|
||
|
#line 473 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
return TRUE; ASSERT(FALSE); return TRUE;};BOOL CCamera::
|
||
|
#line 477 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
PlayAutoRotatingCamera(const CEntityEvent &__eeInput) {
|
||
|
#undef STATE_CURRENT
|
||
|
#define STATE_CURRENT STATE_CCamera_PlayAutoRotatingCamera
|
||
|
ASSERTMSG(__eeInput.ee_slEvent==EVENTCODE_EVoid, "CCamera::PlayAutoRotatingCamera expects 'EVoid' as input!"); const EVoid &e = (const EVoid &)__eeInput;
|
||
|
#line 480 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
AddToMovers ();
|
||
|
#line 481 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
m_bMoving = TRUE ;
|
||
|
#line 482 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
ECameraStart eStart ;
|
||
|
#line 483 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
eStart . penCamera = this ;
|
||
|
#line 484 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
m_penPlayer -> SendEvent (eStart );
|
||
|
#line 486 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
SetTimerAt(THINKTIME_NEVER);
|
||
|
Jump(STATE_CURRENT, 0x00dc0004, FALSE, EBegin());return TRUE;}BOOL CCamera::H0x00dc0004_PlayAutoRotatingCamera_01(const CEntityEvent &__eeInput) {
|
||
|
#undef STATE_CURRENT
|
||
|
#define STATE_CURRENT 0x00dc0004
|
||
|
switch(__eeInput.ee_slEvent){case(EVENTCODE_EStop):{const EStop&e= (EStop&)__eeInput;
|
||
|
|
||
|
#line 488 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
ECameraStop eStop ;
|
||
|
#line 489 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
eStop . penCamera = this ;
|
||
|
#line 490 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
m_penPlayer -> SendEvent (eStop );
|
||
|
#line 491 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
if(m_penAutoCameraEndTarget != NULL )
|
||
|
#line 492 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
{
|
||
|
#line 493 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
SendToTarget (m_penAutoCameraEndTarget , m_eetAutoCameraEndEvent , m_penPlayer );
|
||
|
#line 494 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
}
|
||
|
#line 495 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
Return(STATE_CURRENT,EVoid());
|
||
|
#line 495 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
return TRUE;
|
||
|
#line 496 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
}ASSERT(FALSE);break;default:{
|
||
|
#line 498 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
return TRUE;
|
||
|
#line 499 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
}ASSERT(FALSE);break;
|
||
|
#line 500 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
}return TRUE;}BOOL CCamera::H0x00dc0005_PlayAutoRotatingCamera_02(const CEntityEvent &__eeInput){
|
||
|
ASSERT(__eeInput.ee_slEvent==EVENTCODE_EInternal);
|
||
|
#undef STATE_CURRENT
|
||
|
#define STATE_CURRENT 0x00dc0005
|
||
|
|
||
|
#line 501 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
Return(STATE_CURRENT,EVoid());
|
||
|
#line 501 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
return TRUE; ASSERT(FALSE); return TRUE;};BOOL CCamera::
|
||
|
#line 505 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
PlayMovingCamera(const CEntityEvent &__eeInput) {
|
||
|
#undef STATE_CURRENT
|
||
|
#define STATE_CURRENT STATE_CCamera_PlayMovingCamera
|
||
|
ASSERTMSG(__eeInput.ee_slEvent==EVENTCODE_EVoid, "CCamera::PlayMovingCamera expects 'EVoid' as input!"); const EVoid &e = (const EVoid &)__eeInput;
|
||
|
#line 508 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
ECameraStart eStart ;
|
||
|
#line 509 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
eStart . penCamera = this ;
|
||
|
#line 510 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
m_penPlayer -> SendEvent (eStart );
|
||
|
#line 513 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
INDEX ctMarkers = 1;
|
||
|
#line 514 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
INDEX ctNonSkipped = 0;
|
||
|
#line 515 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
CCameraMarker * pcm0 = (CCameraMarker *) & * m_penTarget ;
|
||
|
#line 516 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
CCameraMarker * pcm = (CCameraMarker *) & * pcm0 -> m_penTarget ;
|
||
|
#line 518 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
while(pcm != NULL && pcm -> m_penTarget != pcm0 )
|
||
|
#line 519 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
{
|
||
|
#line 520 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
pcm = (CCameraMarker *) & * pcm -> m_penTarget ;
|
||
|
#line 521 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
if(pcm == NULL ){
|
||
|
#line 522 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
WarningMessage ("Movable camera - broken link!");
|
||
|
#line 523 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
Return(STATE_CURRENT,EVoid());
|
||
|
#line 523 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
return TRUE;
|
||
|
#line 524 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
}
|
||
|
#line 525 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
if(! pcm -> m_bSkipToNext ){
|
||
|
#line 526 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
ctNonSkipped ++;
|
||
|
#line 527 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
}
|
||
|
#line 528 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
ctMarkers ++;
|
||
|
#line 529 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
if(ctMarkers > 500){
|
||
|
#line 530 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
WarningMessage ("Movable camera - invalid marker loop!");
|
||
|
#line 531 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
Return(STATE_CURRENT,EVoid());
|
||
|
#line 531 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
return TRUE;
|
||
|
#line 532 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
}
|
||
|
#line 533 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
}
|
||
|
#line 535 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
if(ctMarkers < 2){
|
||
|
#line 536 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
WarningMessage ("Movable camera requires at least 2 markers in order to work!");
|
||
|
#line 537 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
Return(STATE_CURRENT,EVoid());
|
||
|
#line 537 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
return TRUE;
|
||
|
#line 538 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
}
|
||
|
#line 540 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
if(ctNonSkipped < 1){
|
||
|
#line 541 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
WarningMessage ("Movable camera requires at least 1 non-skipped marker!");
|
||
|
#line 542 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
Return(STATE_CURRENT,EVoid());
|
||
|
#line 542 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
return TRUE;
|
||
|
#line 543 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
}
|
||
|
#line 546 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
FLOAT tmCurrent ;
|
||
|
#line 547 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
if(! m_bIgnoreTimeStretch )
|
||
|
#line 548 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
{
|
||
|
#line 549 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
tmCurrent = _pTimer -> CurrentTick ();
|
||
|
#line 550 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
}
|
||
|
#line 551 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
else
|
||
|
#line 552 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
{
|
||
|
#line 553 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
tmCurrent = m_fMyTimer ;
|
||
|
#line 554 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
}
|
||
|
#line 556 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
m_tmAtMarker = tmCurrent ;
|
||
|
#line 557 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
m_tmDelta = 0.0f;
|
||
|
#line 558 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
m_bStopMoving = FALSE ;
|
||
|
#line 559 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
m_penLast = pcm ;
|
||
|
#line 560 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
ASSERT (pcm -> m_penTarget == m_penTarget );
|
||
|
#line 561 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
pcm = (CCameraMarker *) & * m_penTarget ;
|
||
|
#line 562 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
m_colFade0 = m_colFade1 = pcm -> m_colFade ;
|
||
|
#line 565 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
AddToMovers ();
|
||
|
#line 566 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
m_bMoving = TRUE ;
|
||
|
#line 569 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
SetTimerAt(THINKTIME_NEVER);
|
||
|
Jump(STATE_CURRENT, 0x00dc0007, FALSE, EBegin());return TRUE;}BOOL CCamera::H0x00dc0007_PlayMovingCamera_01(const CEntityEvent &__eeInput) {
|
||
|
#undef STATE_CURRENT
|
||
|
#define STATE_CURRENT 0x00dc0007
|
||
|
switch(__eeInput.ee_slEvent){case(EVENTCODE_EStop):{const EStop&e= (EStop&)__eeInput;
|
||
|
|
||
|
#line 571 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
ECameraStop eStop ;
|
||
|
#line 572 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
eStop . penCamera = this ;
|
||
|
#line 573 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
m_penPlayer -> SendEvent (eStop );
|
||
|
#line 574 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
Return(STATE_CURRENT,EVoid());
|
||
|
#line 574 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
return TRUE;
|
||
|
#line 575 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
}ASSERT(FALSE);break;default:{
|
||
|
#line 577 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
return TRUE;
|
||
|
#line 578 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
}ASSERT(FALSE);break;
|
||
|
#line 579 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
}return TRUE;}BOOL CCamera::H0x00dc0008_PlayMovingCamera_02(const CEntityEvent &__eeInput){
|
||
|
ASSERT(__eeInput.ee_slEvent==EVENTCODE_EInternal);
|
||
|
#undef STATE_CURRENT
|
||
|
#define STATE_CURRENT 0x00dc0008
|
||
|
|
||
|
#line 582 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
Return(STATE_CURRENT,EVoid());
|
||
|
#line 582 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
return TRUE; ASSERT(FALSE); return TRUE;};BOOL CCamera::
|
||
|
#line 587 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
PlayCamera(const CEntityEvent &__eeInput) {
|
||
|
#undef STATE_CURRENT
|
||
|
#define STATE_CURRENT STATE_CCamera_PlayCamera
|
||
|
ASSERTMSG(__eeInput.ee_slEvent==EVENTCODE_EVoid, "CCamera::PlayCamera expects 'EVoid' as input!"); const EVoid &e = (const EVoid &)__eeInput;
|
||
|
#line 590 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
CCameraMarker & cm = (CCameraMarker &) * m_penTarget ;
|
||
|
#line 592 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
if(m_bAutoRotation )
|
||
|
#line 593 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
{
|
||
|
#line 594 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
Jump(STATE_CURRENT, STATE_CCamera_PlayAutoRotatingCamera, TRUE, EVoid());return TRUE;
|
||
|
#line 595 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
}
|
||
|
#line 597 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
else if(& cm != NULL )
|
||
|
#line 598 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
{
|
||
|
#line 600 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
Jump(STATE_CURRENT, STATE_CCamera_PlayMovingCamera, TRUE, EVoid());return TRUE;
|
||
|
#line 601 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
}
|
||
|
#line 602 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
else
|
||
|
#line 603 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
{
|
||
|
#line 605 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
Jump(STATE_CURRENT, STATE_CCamera_PlayStaticCamera, TRUE, EVoid());return TRUE;
|
||
|
#line 606 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
} ASSERT(FALSE); return TRUE;};BOOL CCamera::
|
||
|
#line 610 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
Main(const CEntityEvent &__eeInput) {
|
||
|
#undef STATE_CURRENT
|
||
|
#define STATE_CURRENT STATE_CCamera_Main
|
||
|
ASSERTMSG(__eeInput.ee_slEvent==EVENTCODE_EVoid, "CCamera::Main expects 'EVoid' as input!"); const EVoid &e = (const EVoid &)__eeInput;
|
||
|
#line 613 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
InitAsEditorModel ();
|
||
|
#line 614 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
SetPhysicsFlags (EPF_MOVABLE );
|
||
|
#line 615 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
SetCollisionFlags (ECF_CAMERA );
|
||
|
#line 617 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
FLOAT fSize = 5.0f;
|
||
|
#line 618 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
GetModelObject () -> mo_Stretch = FLOAT3D (fSize , fSize , fSize );
|
||
|
#line 619 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
SetModel (MODEL_CAMERA );
|
||
|
#line 620 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
SetModelMainTexture (TEXTURE_CAMERA );
|
||
|
#line 621 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
m_fLastFOV = m_fFOV ;
|
||
|
#line 623 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
if(m_penTarget != NULL && ! IsOfClass (m_penTarget , "Camera Marker")){
|
||
|
#line 624 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
WarningMessage ("Entity '%s' is not of Camera Marker class!" , m_penTarget );
|
||
|
#line 625 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
m_penTarget = NULL ;
|
||
|
#line 626 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
}
|
||
|
#line 628 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
if(!(m_bAutoRotation || m_penTarget != NULL )){ Jump(STATE_CURRENT,0x00dc000c, FALSE, EInternal());return TRUE;}
|
||
|
#line 630 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
SetTimerAfter(0.1f);
|
||
|
Jump(STATE_CURRENT, 0x00dc000a, FALSE, EBegin());return TRUE;}BOOL CCamera::H0x00dc000a_Main_01(const CEntityEvent &__eeInput) {
|
||
|
#undef STATE_CURRENT
|
||
|
#define STATE_CURRENT 0x00dc000a
|
||
|
switch(__eeInput.ee_slEvent) {case EVENTCODE_EBegin: return TRUE;case EVENTCODE_ETimer: Jump(STATE_CURRENT,0x00dc000b, FALSE, EInternal()); return TRUE;default: return FALSE; }}BOOL CCamera::H0x00dc000b_Main_02(const CEntityEvent &__eeInput){
|
||
|
ASSERT(__eeInput.ee_slEvent==EVENTCODE_EInternal);
|
||
|
#undef STATE_CURRENT
|
||
|
#define STATE_CURRENT 0x00dc000b
|
||
|
;Jump(STATE_CURRENT,0x00dc000c, FALSE, EInternal());return TRUE;}BOOL CCamera::H0x00dc000c_Main_03(const CEntityEvent &__eeInput){
|
||
|
ASSERT(__eeInput.ee_slEvent==EVENTCODE_EInternal);
|
||
|
#undef STATE_CURRENT
|
||
|
#define STATE_CURRENT 0x00dc000c
|
||
|
|
||
|
#line 633 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
m_vRelTargetOffset = FLOAT3D (0 , 0 , 0);
|
||
|
#line 634 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
if(m_penTarget != NULL )
|
||
|
#line 635 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
{
|
||
|
#line 636 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
CCameraMarker * pcm = & (CCameraMarker &) * m_penTarget ;
|
||
|
#line 637 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
if(pcm -> m_penViewTarget != NULL )
|
||
|
#line 638 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
{
|
||
|
#line 639 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
FLOAT3D vAbsTarget = FLOAT3D (0 , 0 , 0);
|
||
|
#line 640 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
pcm -> m_penViewTarget -> GetEntityPointRatio (pcm -> m_vPosRatio , vAbsTarget , FALSE );
|
||
|
#line 641 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
m_vRelTargetOffset = vAbsTarget - pcm -> m_penViewTarget -> GetPlacement () . pl_PositionVector ;
|
||
|
#line 642 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
}
|
||
|
#line 643 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
}
|
||
|
#line 645 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
Jump(STATE_CURRENT,0x00dc000f, FALSE, EInternal());return TRUE;}BOOL CCamera::H0x00dc000f_Main_06(const CEntityEvent &__eeInput)
|
||
|
#line 646 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
{
|
||
|
ASSERT(__eeInput.ee_slEvent==EVENTCODE_EInternal);
|
||
|
#undef STATE_CURRENT
|
||
|
#define STATE_CURRENT 0x00dc000f
|
||
|
if(!(TRUE )){ Jump(STATE_CURRENT,0x00dc0010, FALSE, EInternal());return TRUE;}
|
||
|
#line 647 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
SetTimerAt(THINKTIME_NEVER);
|
||
|
Jump(STATE_CURRENT, 0x00dc000d, FALSE, EBegin());return TRUE;}BOOL CCamera::H0x00dc000d_Main_04(const CEntityEvent &__eeInput) {
|
||
|
#undef STATE_CURRENT
|
||
|
#define STATE_CURRENT 0x00dc000d
|
||
|
switch(__eeInput.ee_slEvent){case(EVENTCODE_ETrigger):{const ETrigger&eTrigger= (ETrigger&)__eeInput;
|
||
|
|
||
|
#line 649 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
CEntity * penCaused ;
|
||
|
#line 650 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
penCaused = FixupCausedToPlayer (this , eTrigger . penCaused , FALSE );
|
||
|
#line 651 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
if(IsDerivedFromClass (penCaused , "Player")){
|
||
|
#line 652 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
m_penPlayer = penCaused ;
|
||
|
#line 653 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
Call(STATE_CURRENT, STATE_CCamera_PlayCamera, TRUE, EVoid());return TRUE;
|
||
|
#line 654 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
}
|
||
|
#line 655 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
return TRUE;
|
||
|
#line 656 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
}ASSERT(FALSE);break;default: return FALSE; break;
|
||
|
#line 657 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
}return TRUE;}BOOL CCamera::H0x00dc000e_Main_05(const CEntityEvent &__eeInput){
|
||
|
ASSERT(__eeInput.ee_slEvent==EVENTCODE_EInternal);
|
||
|
#undef STATE_CURRENT
|
||
|
#define STATE_CURRENT 0x00dc000e
|
||
|
Jump(STATE_CURRENT,0x00dc000f, FALSE, EInternal());return TRUE;
|
||
|
#line 658 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
}BOOL CCamera::H0x00dc0010_Main_07(const CEntityEvent &__eeInput) {
|
||
|
ASSERT(__eeInput.ee_slEvent==EVENTCODE_EInternal);
|
||
|
#undef STATE_CURRENT
|
||
|
#define STATE_CURRENT 0x00dc0010
|
||
|
;
|
||
|
#line 661 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
Destroy ();
|
||
|
#line 662 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
Return(STATE_CURRENT,EVoid());
|
||
|
#line 662 "D:/SE1_GPL/Sources/EntitiesMP/Camera.es"
|
||
|
return TRUE; ASSERT(FALSE); return TRUE;};
|