/* * 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 #include 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 ("->"); #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;};