/* * This file is generated by Entity Class Compiler, (c) CroTeam 1997-98 */ #line 4 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" #include "StdH.h" #include "Models/CutSequences/SpaceShip/SpaceShip.h" #include "Models/CutSequences/SpaceShip/Door.h" #include "Models/CutSequences/SpaceShip/LightBeam.h" #include "EntitiesMP/Effector.h" #include "EntitiesMP/Light.h" #include #include CEntityEvent *EForcePathMarker::MakeCopy(void) { CEntityEvent *peeCopy = new EForcePathMarker(*this); return peeCopy;} EForcePathMarker::EForcePathMarker() : CEntityEvent(EVENTCODE_EForcePathMarker) {; ClearToDefault(penForcedPathMarker); }; #line 28 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" #define STRETCH_X (200.0f*m_fStretch) #define STRETCH_Y (100.0f*m_fStretch) #define STRETCH_Z (200.0f*m_fStretch) #define PSS_STRETCH (FLOAT3D(STRETCH_X, STRETCH_Y, STRETCH_Z)*m_fStretch) #define SND_FALLOFF 1000.0f #define SND_HOTSPOT 250.0f #define SND_VOLUME 2.0f #define BIG_LIGHT_BEAM_LIFE_TIME (8.0f) #define SMALL_FLARE_WAIT 2.0f #define SMALL_FLARES_LIFE_TIME (BIG_LIGHT_BEAM_LIFE_TIME+SMALL_FLARE_WAIT) #define SMALL_LIGHTNING_WAIT 1.5f #define SMALL_LIGHTININGS_LIFE_TIME (SMALL_FLARES_LIFE_TIME+SMALL_LIGHTNING_WAIT) #define BIG_FLARE_WAIT 1.0f #define BIG_FLARE_LIFE_TIME (SMALL_LIGHTININGS_LIFE_TIME+BIG_FLARE_WAIT) #define BM_DX (0.414657f*STRETCH_X) #define BM_DY (-1.72731f*STRETCH_Y) #define BM_DZ (0.414657f*STRETCH_Z) #define BM_FLARE_DY (-0.25f*STRETCH_Y) #define BM_MASTER_Y (-1.76648f*STRETCH_Y) void CPyramidSpaceShip::SetDefaultProperties(void) { m_strName = "Pyramid Space Ship"; m_fMovingSpeed = 0.0f; m_penBeamHit = NULL; m_penLightBeam = NULL; m_tmBeamTime = -1.0f; m_penHitPlaceFlare = NULL; m_tmHitFlareTime = -1.0f; m_iRingCounter = 0; m_fRatio = 0.0f; m_strDescription = ""; m_epssState = PSSS_IDLE ; m_fStretch = 1.0f; m_bStopMoving = FALSE ; m_penTarget = NULL; m_penFlyAwayTarget = NULL; m_penLast = NULL; m_bMoving = FALSE ; m_fRot = 0.0f; m_fLastRotSpeed = 0.0f; m_fRotSpeed = 0.0f; m_bApplyDamageToHitted = TRUE ; m_tmTemp = 0.0f; 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_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_fRotSpeedp0 = 0.0f; m_fRotSpeedp1 = 0.0f; m_fTRotSpeedp0 = 0.0f; m_fTRotSpeedp1 = 0.0f; m_soPlates.SetOwner(this); m_soPlates.Stop_internal(); m_soBeamMachine.SetOwner(this); m_soBeamMachine.Stop_internal(); m_soBeam.SetOwner(this); m_soBeam.Stop_internal(); m_soFlaresFX.SetOwner(this); m_soFlaresFX.Stop_internal(); m_bFireingDeactivatedBeam = FALSE ; m_bImmediateAnimations = FALSE ; m_fWaitAfterKillingBeam = 1.0f; m_bInvisible = FALSE ; CMovableModelEntity::SetDefaultProperties(); } #line 125 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" void CPyramidSpaceShip::Precache(void) { #line 126 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" PrecacheModel (MODEL_SPACESHIP ); #line 127 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" PrecacheModel (MODEL_BODY ); #line 128 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" PrecacheTexture (TEXTURE_BODY ); #line 129 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" PrecacheModel (MODEL_DOOR ); #line 130 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" PrecacheTexture (TEXTURE_DOOR ); #line 131 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" PrecacheModel (MODEL_BEAMMACHINE ); #line 132 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" PrecacheTexture (TEXTURE_BEAMMACHINE ); #line 133 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" PrecacheModel (MODEL_BEAMRIM ); #line 134 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" PrecacheModel (MODEL_SHIP_INSIDE ); #line 135 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" PrecacheTexture (TEXTURE_BEAMRIM ); #line 136 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" PrecacheClass (CLASS_EFFECTOR , ET_SIZING_RING_FLARE ); #line 137 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" PrecacheClass (CLASS_EFFECTOR , ET_SIZING_BIG_BLUE_FLARE ); #line 138 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" PrecacheClass (CLASS_EFFECTOR , ET_LIGHTNING ); #line 139 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" PrecacheClass (CLASS_EFFECTOR , ET_MOVING_RING ); #line 140 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" PrecacheSound (SOUND_PLATES ); #line 141 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" PrecacheSound (SOUND_BEAMMACHINE ); #line 142 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" PrecacheSound (SOUND_BEAM ); #line 143 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" PrecacheSound (SOUND_WARMUP ); #line 144 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" } #line 146 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" BOOL CPyramidSpaceShip::IsTargetValid(SLONG slPropertyOffset,CEntity * penTarget) #line 147 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" { #line 148 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" if(penTarget == NULL ) #line 149 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" { #line 150 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" return FALSE ; #line 151 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" } #line 152 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" if(slPropertyOffset == offsetof (CPyramidSpaceShip , m_penTarget ) || #line 153 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" slPropertyOffset == offsetof (CPyramidSpaceShip , m_penFlyAwayTarget )) #line 154 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" { #line 155 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" return (IsDerivedFromClass (penTarget , "Pyramid Space Ship Marker")); #line 156 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" } #line 157 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" return TRUE ; #line 158 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" } #line 161 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" BOOL CPyramidSpaceShip::MovesByTargetedRoute(CTString & strTargetProperty)const #line 162 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" { #line 163 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" strTargetProperty = "Target"; #line 164 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" return TRUE ; #line 165 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" } #line 168 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" BOOL CPyramidSpaceShip::DropsMarker(CTFileName & fnmMarkerClass,CTString & strTargetProperty)const #line 169 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" { #line 170 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" fnmMarkerClass = CTFILENAME ("Classes\\PyramidSpaceShipMarker.ecl"); #line 171 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" strTargetProperty = "Target"; #line 172 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" return TRUE ; #line 173 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" } #line 176 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" const CTString & CPyramidSpaceShip::GetDescription(void)const #line 177 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" { #line 178 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" if(m_penTarget != NULL ){ #line 179 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" ((CTString &) m_strDescription ) . PrintF ("->%s" , m_penTarget -> GetName ()); #line 180 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" }else { #line 181 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" ((CTString &) m_strDescription ) . PrintF ("->"); #line 182 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" } #line 183 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" return m_strDescription ; #line 184 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" } #line 187 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" CPlacement3D CPyramidSpaceShip::GetLerpedPlacement(void)const #line 188 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" { #line 189 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" return CMovableEntity :: GetLerpedPlacement (); #line 190 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" } #line 192 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" void CPyramidSpaceShip::PreMoving() #line 193 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" { #line 195 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" en_plLastPlacement = en_plPlacement ; #line 196 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" } #line 198 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" void CPyramidSpaceShip::HideBeamMachine(void) #line 199 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" { #line 200 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" if(GetModelObject () -> GetAttachmentModel (SPACESHIP_ATTACHMENT_BEAM_RIM ) != NULL ) #line 201 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" { #line 202 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" RemoveAttachment (SPACESHIP_ATTACHMENT_BEAM_RIM ); #line 203 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" } #line 204 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" if(GetModelObject () -> GetAttachmentModel (SPACESHIP_ATTACHMENT_BEAM ) != NULL ) #line 205 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" { #line 206 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" RemoveAttachment (SPACESHIP_ATTACHMENT_BEAM ); #line 207 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" } #line 208 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" } #line 210 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" void CPyramidSpaceShip::ShowBeamMachine(void) #line 211 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" { #line 212 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" AddAttachment (SPACESHIP_ATTACHMENT_BEAM_RIM , MODEL_BEAMRIM , TEXTURE_BEAMRIM ); #line 213 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" AddAttachment (SPACESHIP_ATTACHMENT_BEAM , MODEL_BEAMMACHINE , TEXTURE_BEAMMACHINE ); #line 214 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" GetModelObject () -> GetAttachmentModel (SPACESHIP_ATTACHMENT_BEAM_RIM ) -> amo_moModelObject . StretchModel (PSS_STRETCH ); #line 215 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" GetModelObject () -> GetAttachmentModel (SPACESHIP_ATTACHMENT_BEAM ) -> amo_moModelObject . StretchModel (PSS_STRETCH ); #line 216 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" } #line 218 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" void CPyramidSpaceShip::InitializePathMoving(CPyramidSpaceShipMarker * penStartMarker) #line 219 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" { #line 221 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" m_penTarget = penStartMarker ; #line 223 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" m_epssState = PSSS_MOVING ; #line 225 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" INDEX ctMarkers = 1; #line 226 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" CPyramidSpaceShipMarker * pcm0 = (CPyramidSpaceShipMarker *) & * m_penTarget ; #line 227 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" if(pcm0 == NULL ) #line 228 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" { #line 229 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" return ; #line 230 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" } #line 231 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" CPyramidSpaceShipMarker * pcm = (CPyramidSpaceShipMarker *) & * pcm0 -> m_penTarget ; #line 233 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" while(pcm != NULL && pcm -> m_penTarget != pcm0 ) #line 234 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" { #line 235 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" pcm = (CPyramidSpaceShipMarker *) & * pcm -> m_penTarget ; #line 236 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" if(pcm == NULL ){ #line 237 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" WarningMessage ("Space ship path - broken link!"); #line 238 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" return ; #line 239 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" } #line 240 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" ctMarkers ++; #line 241 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" if(ctMarkers > 500){ #line 242 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" WarningMessage ("Space ship path - invalid marker loop!"); #line 243 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" return ; #line 244 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" } #line 245 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" } #line 247 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" if(ctMarkers < 2){ #line 248 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" WarningMessage ("Space ship path requires at least 2 markers in order to work!"); #line 249 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" return ; #line 250 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" } #line 253 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" FLOAT tmCurrent = _pTimer -> CurrentTick (); #line 254 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" m_tmAtMarker = tmCurrent ; #line 255 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" m_tmDelta = 0.0f; #line 256 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" m_bStopMoving = FALSE ; #line 257 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" m_penLast = pcm ; #line 258 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" ASSERT (pcm -> m_penTarget == m_penTarget ); #line 259 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" m_bMoving = TRUE ; #line 260 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" AddToMovers (); #line 261 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" } #line 263 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" void CPyramidSpaceShip::DoMoving() #line 264 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" { #line 265 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" if(! m_bMoving ){ #line 266 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" return ; #line 267 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" } #line 269 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" FLOAT tmCurrent = _pTimer -> CurrentTick (); #line 271 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" BOOL bLerping = TRUE ; #line 274 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" if(tmCurrent > (m_tmAtMarker + m_tmDelta - _pTimer -> TickQuantum * 3 / 2)) #line 275 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" { #line 277 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" CPyramidSpaceShipMarker * pcmNm1 = & (CPyramidSpaceShipMarker &) * m_penLast ; #line 278 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" CPyramidSpaceShipMarker * pcmNp0 = & (CPyramidSpaceShipMarker &) * m_penTarget ; #line 279 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" CPyramidSpaceShipMarker * pcmNp1 = & (CPyramidSpaceShipMarker &) * pcmNp0 -> m_penTarget ; #line 280 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" CPyramidSpaceShipMarker * pcmNp2 = & (CPyramidSpaceShipMarker &) * pcmNp1 -> m_penTarget ; #line 283 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" if(pcmNp0 -> m_penTrigger != NULL ){ #line 285 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" SendToTarget (pcmNp0 -> m_penTrigger , EET_TRIGGER , NULL ); #line 286 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" } #line 289 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" m_penTarget = pcmNp1 ; #line 290 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" m_penLast = pcmNp0 ; #line 293 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" CPyramidSpaceShipMarker & cmNm1 = * pcmNm1 ; #line 294 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" CPyramidSpaceShipMarker & cmNp0 = * pcmNp0 ; #line 295 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" CPyramidSpaceShipMarker & cmNp1 = * pcmNp1 ; #line 296 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" CPyramidSpaceShipMarker & cmNp2 = * pcmNp2 ; #line 299 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" const FLOAT3D & vPNm1 = cmNm1 . GetPlacement () . pl_PositionVector ; #line 300 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" const FLOAT3D & vPNp0 = cmNp0 . GetPlacement () . pl_PositionVector ; #line 301 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" const FLOAT3D & vPNp1 = cmNp1 . GetPlacement () . pl_PositionVector ; #line 302 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" const FLOAT3D & vPNp2 = cmNp2 . GetPlacement () . pl_PositionVector ; #line 303 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" ANGLE3D aPNm1 = cmNm1 . GetPlacement () . pl_OrientationAngle ; #line 304 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" ANGLE3D aPNp0 = cmNp0 . GetPlacement () . pl_OrientationAngle ; #line 305 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" ANGLE3D aPNp1 = cmNp1 . GetPlacement () . pl_OrientationAngle ; #line 306 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" ANGLE3D aPNp2 = cmNp2 . GetPlacement () . pl_OrientationAngle ; #line 307 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" FLOAT fRotSpeedm1 = cmNm1 . m_fRotSpeed ; #line 308 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" FLOAT fRotSpeedp0 = cmNp0 . m_fRotSpeed ; #line 309 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" FLOAT fRotSpeedp1 = cmNp1 . m_fRotSpeed ; #line 310 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" FLOAT fRotSpeedp2 = cmNp2 . m_fRotSpeed ; #line 313 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" FLOATquat3D qPNm1 ;qPNm1 . FromEuler (aPNm1 ); #line 314 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" FLOATquat3D qPNp0 ;qPNp0 . FromEuler (aPNp0 ); #line 315 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" FLOATquat3D qPNp1 ;qPNp1 . FromEuler (aPNp1 ); #line 316 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" FLOATquat3D qPNp2 ;qPNp2 . FromEuler (aPNp2 ); #line 319 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" if(qPNm1 % qPNp0 < 0){ #line 320 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" qPNp0 = - qPNp0 ; #line 321 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" } #line 322 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" if(qPNp0 % qPNp1 < 0){ #line 323 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" qPNp1 = - qPNp1 ; #line 324 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" } #line 325 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" if(qPNp1 % qPNp2 < 0){ #line 326 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" qPNp2 = - qPNp2 ; #line 327 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" } #line 330 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" m_tmAtMarker = m_tmAtMarker + m_tmDelta ; #line 331 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" m_tmDelta = cmNp0 . m_fDeltaTime ; #line 332 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" m_vPNp0 = vPNp0 ; #line 333 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" m_vPNp1 = vPNp1 ; #line 334 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" m_fRotSpeedp0 = fRotSpeedp0 ; #line 335 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" m_fRotSpeedp1 = fRotSpeedp1 ; #line 336 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" m_qPNp0 = qPNp0 ; #line 337 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" m_qPNp1 = qPNp1 ; #line 340 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" FLOAT tmDNm1 = cmNm1 . m_fDeltaTime ; #line 341 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" FLOAT tmDNp0 = cmNp0 . m_fDeltaTime ; #line 342 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" FLOAT tmDNp1 = cmNp1 . m_fDeltaTime ; #line 343 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" FLOAT fD0 = 2 * tmDNp0 / (tmDNm1 + tmDNp0 ); #line 344 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" FLOAT fD1 = 2 * tmDNp0 / (tmDNp0 + tmDNp1 ); #line 347 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" FLOAT fBNp0 = cmNp0 . m_fBias ; #line 348 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" FLOAT fTNp0 = cmNp0 . m_fTension ; #line 349 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" FLOAT fCNp0 = cmNp0 . m_fContinuity ; #line 350 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" FLOAT fBNp1 = cmNp1 . m_fBias ; #line 351 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" FLOAT fTNp1 = cmNp1 . m_fTension ; #line 352 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" FLOAT fCNp1 = cmNp1 . m_fContinuity ; #line 354 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" FLOAT fF00 = (1 - fTNp0 ) * (1 - fCNp0 ) * (1 - fBNp0 ) / 2; #line 355 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" FLOAT fF01 = (1 - fTNp0 ) * (1 + fCNp0 ) * (1 + fBNp0 ) / 2; #line 356 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" FLOAT fF10 = (1 - fTNp1 ) * (1 + fCNp1 ) * (1 - fBNp1 ) / 2; #line 357 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" FLOAT fF11 = (1 - fTNp1 ) * (1 - fCNp1 ) * (1 + fBNp1 ) / 2; #line 360 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" m_vTNp0 = ((vPNp1 - vPNp0 ) * fF00 + (vPNp0 - vPNm1 ) * fF01 ) * fD0 ; #line 361 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" m_vTNp1 = ((vPNp2 - vPNp1 ) * fF10 + (vPNp1 - vPNp0 ) * fF11 ) * fD1 ; #line 364 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" m_fTRotSpeedp0 = ((fRotSpeedp1 - fRotSpeedp0 ) * fF00 + (fRotSpeedp0 - fRotSpeedm1 ) * fF01 ) * fD0 ; #line 365 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" m_fTRotSpeedp1 = ((fRotSpeedp2 - fRotSpeedp1 ) * fF10 + (fRotSpeedp1 - fRotSpeedp0 ) * fF11 ) * fD1 ; #line 368 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" FLOATquat3D qTNp0 , qTNp1 ; #line 369 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" qTNp0 = (Log (qPNp0 . Inv () * qPNp1 ) * fF00 + Log (qPNm1 . Inv () * qPNp0 ) * fF01 ) * fD0 ; #line 370 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" qTNp1 = (Log (qPNp1 . Inv () * qPNp2 ) * fF10 + Log (qPNp0 . Inv () * qPNp1 ) * fF11 ) * fD1 ; #line 373 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" m_qANp0 = qPNp0 * Exp ((qTNp0 - Log (qPNp0 . Inv () * qPNp1 )) / 2); #line 374 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" m_qANp1 = qPNp1 * Exp ((Log (qPNp0 . Inv () * qPNp1 ) - qTNp1 ) / 2); #line 377 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" if(cmNp0 . m_bStopMoving && m_fRotSpeed == 0.0f){ #line 378 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" m_bStopMoving = TRUE ; #line 379 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" } #line 380 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" } #line 383 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" FLOAT fT = (tmCurrent - m_tmAtMarker ) / m_tmDelta ; #line 384 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" FLOAT fH0 = 2 * fT * fT * fT - 3 * fT * fT + 1; #line 385 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" FLOAT fH1 = - 2 * fT * fT * fT + 3 * fT * fT ; #line 386 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" FLOAT fH2 = fT * fT * fT - 2 * fT * fT + fT ; #line 387 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" FLOAT fH3 = fT * fT * fT - fT * fT ; #line 390 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" FLOAT3D vPos = m_vPNp0 * fH0 + m_vPNp1 * fH1 + m_vTNp0 * fH2 + m_vTNp1 * fH3 ; #line 391 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" FLOAT fRotSpeed = m_fRotSpeedp0 * fH0 + m_fRotSpeedp1 * fH1 + m_fTRotSpeedp0 * fH2 + m_fTRotSpeedp1 * fH3 ; #line 392 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" FLOATquat3D qRot = Squad (fT , m_qPNp0 , m_qPNp1 , m_qANp0 , m_qANp1 ); #line 393 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" FLOATmatrix3D mRotLocal ; #line 394 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" MakeRotationMatrixFast (mRotLocal , ANGLE3D (m_fRot , 0 , 0)); #line 395 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" FLOATmatrix3D mRot ; #line 396 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" qRot . ToMatrix (mRot ); #line 397 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" mRot = mRotLocal * mRot ; #line 400 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" en_vNextPosition = vPos ; #line 401 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" en_mNextRotation = mRot ; #line 402 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" CacheNearPolygons (); #line 405 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" CPlacement3D plNew ; #line 406 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" plNew . pl_PositionVector = vPos ; #line 407 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" DecomposeRotationMatrixNoSnap (plNew . pl_OrientationAngle , mRot ); #line 408 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" SetPlacement_internal (plNew , mRot , TRUE ); #line 410 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" if(! bLerping ){ #line 412 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" en_plLastPlacement = en_plPlacement ; #line 413 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" } #line 415 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" m_fLastRotSpeed = m_fRotSpeed ; #line 416 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" m_fRotSpeed = fRotSpeed ; #line 417 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" m_fRot += m_fRotSpeed ; #line 418 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" } #line 421 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" void CPyramidSpaceShip::PostMoving() #line 422 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" { #line 423 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" if(! m_bMoving ){ #line 424 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" return ; #line 425 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" } #line 428 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" if(en_plpLastPositions != NULL ){ #line 429 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" en_plpLastPositions -> AddPosition (en_vNextPosition ); #line 430 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" } #line 433 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" if(m_bStopMoving ){ #line 434 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" m_bMoving = FALSE ; #line 436 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" en_ulFlags |= ENF_INRENDERING ; #line 437 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" m_epssState = PSSS_REACHED_DESTINATION ; #line 439 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" en_plLastPlacement = en_plPlacement ; #line 440 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" } #line 441 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" } #line 443 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" void CPyramidSpaceShip::SpawnBeamMachineFlares(void) #line 444 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" { #line 446 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" CPlacement3D plSpaceShip = GetPlacement (); #line 447 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" CPlacement3D plFlare1 = CPlacement3D (FLOAT3D (BM_DX , BM_DY + BM_FLARE_DY , 0) , ANGLE3D (0 , 0 , 0)); #line 448 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" CPlacement3D plFlare2 = CPlacement3D (FLOAT3D (0 , BM_DY + BM_FLARE_DY , - BM_DZ ) , ANGLE3D (0 , 0 , 0)); #line 449 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" CPlacement3D plFlare3 = CPlacement3D (FLOAT3D (- BM_DX , BM_DY + BM_FLARE_DY , 0) , ANGLE3D (0 , 0 , 0)); #line 450 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" CPlacement3D plFlare4 = CPlacement3D (FLOAT3D (0 , BM_DY + BM_FLARE_DY , BM_DZ ) , ANGLE3D (0 , 0 , 0)); #line 452 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" plFlare1 . RelativeToAbsolute (plSpaceShip ); #line 453 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" plFlare2 . RelativeToAbsolute (plSpaceShip ); #line 454 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" plFlare3 . RelativeToAbsolute (plSpaceShip ); #line 455 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" plFlare4 . RelativeToAbsolute (plSpaceShip ); #line 457 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" CEntity * penFlare1 = CreateEntity (plFlare1 , CLASS_EFFECTOR ); #line 458 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" CEntity * penFlare2 = CreateEntity (plFlare2 , CLASS_EFFECTOR ); #line 459 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" CEntity * penFlare3 = CreateEntity (plFlare3 , CLASS_EFFECTOR ); #line 460 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" CEntity * penFlare4 = CreateEntity (plFlare4 , CLASS_EFFECTOR ); #line 462 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" ESpawnEffector eSpawnFlare ; #line 463 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" eSpawnFlare . tmLifeTime = SMALL_FLARES_LIFE_TIME ; #line 464 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" eSpawnFlare . tmLifeTime = 10.5f; #line 465 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" eSpawnFlare . eetType = ET_SIZING_RING_FLARE ; #line 467 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" penFlare1 -> Initialize (eSpawnFlare ); #line 468 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" penFlare2 -> Initialize (eSpawnFlare ); #line 469 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" penFlare3 -> Initialize (eSpawnFlare ); #line 470 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" penFlare4 -> Initialize (eSpawnFlare ); #line 471 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" } #line 473 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" void CPyramidSpaceShip::SpawnBeamMachineMainFlare(void) #line 474 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" { #line 476 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" CPlacement3D plSpaceShip = GetPlacement (); #line 477 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" CPlacement3D plFlare = CPlacement3D (FLOAT3D (0 , BM_MASTER_Y + BM_FLARE_DY , 0) , ANGLE3D (0 , 0 , 0)); #line 478 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" plFlare . RelativeToAbsolute (GetPlacement ()); #line 479 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" CEntity * penFlare = CreateEntity (plFlare , CLASS_EFFECTOR ); #line 480 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" ESpawnEffector eSpawnFlare ; #line 481 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" eSpawnFlare . tmLifeTime = 20.0f; #line 482 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" eSpawnFlare . fSize = 1.0f; #line 483 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" eSpawnFlare . eetType = ET_SIZING_BIG_BLUE_FLARE ; #line 484 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" penFlare -> Initialize (eSpawnFlare ); #line 485 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" } #line 487 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" void CPyramidSpaceShip::ShowBeamMachineHitFlare(void) #line 488 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" { #line 489 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" if(m_penHitPlaceFlare != NULL && IsOfClass (m_penHitPlaceFlare , "ModelHolder2")) #line 490 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" { #line 491 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" CModelObject * pmo = m_penHitPlaceFlare -> GetModelObject (); #line 492 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" if(pmo != NULL ) #line 493 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" { #line 494 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" m_penHitPlaceFlare -> SwitchToModel (); #line 495 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" } #line 496 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" } #line 497 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" } #line 499 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" void CPyramidSpaceShip::HideBeamMachineHitFlare(void) #line 500 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" { #line 501 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" m_tmHitFlareTime = - 1; #line 502 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" if(m_penHitPlaceFlare != NULL && IsOfClass (m_penHitPlaceFlare , "ModelHolder2")) #line 503 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" { #line 504 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" CModelObject * pmo = m_penHitPlaceFlare -> GetModelObject (); #line 505 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" if(pmo != NULL ) #line 506 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" { #line 507 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" m_penHitPlaceFlare -> SwitchToEditorModel (); #line 508 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" pmo -> mo_colBlendColor = C_WHITE | CT_OPAQUE ; #line 509 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" } #line 510 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" } #line 511 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" } #line 513 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" void CPyramidSpaceShip::SpawnBeamMachineLightnings(void) #line 514 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" { #line 516 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" CPlacement3D plLightning1 = CPlacement3D (FLOAT3D (BM_DX , BM_DY , 0) , ANGLE3D (0 , 0 , 0)); #line 517 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" CPlacement3D plLightning2 = CPlacement3D (FLOAT3D (0 , BM_DY , - BM_DZ ) , ANGLE3D (0 , 0 , 0)); #line 518 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" CPlacement3D plLightning3 = CPlacement3D (FLOAT3D (- BM_DX , BM_DY , 0) , ANGLE3D (0 , 0 , 0)); #line 519 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" CPlacement3D plLightning4 = CPlacement3D (FLOAT3D (0 , BM_DY , BM_DZ ) , ANGLE3D (0 , 0 , 0)); #line 521 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" CPlacement3D plLightningDest = CPlacement3D (FLOAT3D (0 , BM_MASTER_Y , 0) , ANGLE3D (0 , 0 , 0)); #line 522 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" CPlacement3D plSpaceShip = GetPlacement (); #line 523 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" plLightningDest . RelativeToAbsolute (plSpaceShip ); #line 525 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" plLightning1 . RelativeToAbsolute (plSpaceShip ); #line 526 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" plLightning2 . RelativeToAbsolute (plSpaceShip ); #line 527 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" plLightning3 . RelativeToAbsolute (plSpaceShip ); #line 528 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" plLightning4 . RelativeToAbsolute (plSpaceShip ); #line 530 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" CEntity * penLightning1 = CreateEntity (plLightning1 , CLASS_EFFECTOR ); #line 531 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" CEntity * penLightning2 = CreateEntity (plLightning2 , CLASS_EFFECTOR ); #line 532 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" CEntity * penLightning3 = CreateEntity (plLightning3 , CLASS_EFFECTOR ); #line 533 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" CEntity * penLightning4 = CreateEntity (plLightning4 , CLASS_EFFECTOR ); #line 535 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" ESpawnEffector eSpawnLightning ; #line 536 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" eSpawnLightning . eetType = ET_LIGHTNING ; #line 537 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" eSpawnLightning . tmLifeTime = SMALL_LIGHTININGS_LIFE_TIME ; #line 538 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" eSpawnLightning . vDestination = plLightningDest . pl_PositionVector ; #line 539 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" eSpawnLightning . fSize = 16.0f; #line 540 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" eSpawnLightning . ctCount = 16; #line 542 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" penLightning1 -> Initialize (eSpawnLightning ); #line 543 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" penLightning2 -> Initialize (eSpawnLightning ); #line 544 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" penLightning3 -> Initialize (eSpawnLightning ); #line 545 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" penLightning4 -> Initialize (eSpawnLightning ); #line 546 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" } #line 548 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" void CPyramidSpaceShip::SpawnBeamMachineMainLightning(void) #line 549 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" { #line 551 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" FLOAT3D vDestination = GetPlacement () . pl_PositionVector + FLOAT3D (0 , BM_MASTER_Y , 0); #line 552 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" CPlacement3D plSource = CPlacement3D (vDestination , ANGLE3D (0 , 0 , 0)); #line 553 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" if(m_penBeamHit != NULL ) #line 554 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" { #line 555 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" plSource . pl_PositionVector = m_penBeamHit -> GetPlacement () . pl_PositionVector ; #line 556 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" CEntity * penEffector = CreateEntity (plSource , CLASS_EFFECTOR ); #line 557 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" ESpawnEffector eSpawnEffector ; #line 558 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" eSpawnEffector . eetType = ET_LIGHTNING ; #line 559 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" eSpawnEffector . tmLifeTime = BIG_LIGHT_BEAM_LIFE_TIME ; #line 560 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" eSpawnEffector . vDestination = vDestination ; #line 561 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" eSpawnEffector . fSize = 32.0f; #line 562 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" eSpawnEffector . ctCount = 32; #line 563 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" penEffector -> Initialize (eSpawnEffector ); #line 564 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" } #line 565 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" } #line 567 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" void CPyramidSpaceShip::SpawnMovingRing(void) #line 568 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" { #line 569 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" if(m_penBeamHit != NULL ) #line 570 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" { #line 571 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" FLOAT3D vStart = GetPlacement () . pl_PositionVector + FLOAT3D (0 , BM_MASTER_Y , 0); #line 572 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" CPlacement3D plSource = CPlacement3D (vStart , ANGLE3D (0 , 0 , 0)); #line 573 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" FLOAT3D vHitPlace = m_penBeamHit -> GetPlacement () . pl_PositionVector ; #line 574 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" CEntity * penEffector = CreateEntity (plSource , CLASS_EFFECTOR ); #line 575 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" ESpawnEffector eSpawnEffector ; #line 576 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" eSpawnEffector . eetType = ET_MOVING_RING ; #line 577 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" eSpawnEffector . tmLifeTime = BIG_LIGHT_BEAM_LIFE_TIME ; #line 578 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" eSpawnEffector . vDestination = vHitPlace + FLOAT3D (0.0f , 0.0f , 0.0f); #line 579 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" eSpawnEffector . fSize = 16.0f; #line 580 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" eSpawnEffector . ctCount = 2; #line 581 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" penEffector -> Initialize (eSpawnEffector ); #line 582 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" } #line 583 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" } #line 585 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" void CPyramidSpaceShip::TurnOnLightBeam(void) #line 586 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" { #line 587 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" if(m_penLightBeam != NULL && IsOfClass (m_penLightBeam , "ModelHolder2")) #line 588 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" { #line 589 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" CModelObject * pmo = m_penLightBeam -> GetModelObject (); #line 590 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" m_penLightBeam -> SwitchToModel (); #line 591 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" pmo -> mo_colBlendColor = C_WHITE | CT_OPAQUE ; #line 592 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" } #line 593 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" } #line 595 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" void CPyramidSpaceShip::TurnOffLightBeam(void) #line 596 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" { #line 597 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" m_tmBeamTime = - 1.0f; #line 599 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" if(m_penLightBeam != NULL && IsOfClass (m_penLightBeam , "ModelHolder2")) #line 600 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" { #line 601 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" m_penLightBeam -> SwitchToEditorModel (); #line 602 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" CModelObject * pmo = m_penLightBeam -> GetModelObject (); #line 603 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" } #line 604 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" } #line 606 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" BOOL CPyramidSpaceShip::AdjustShadingParameters(FLOAT3D & vLightDirection,COLOR & colLight,COLOR & colAmbient) #line 607 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" { #line 608 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" FLOAT fBeamRatio = 1.0f; #line 611 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" if(m_penLightBeam != NULL && IsOfClass (m_penLightBeam , "ModelHolder2")) #line 612 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" { #line 613 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" CModelObject * pmo = m_penLightBeam -> GetModelObject (); #line 614 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" if(pmo != NULL ) #line 615 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" { #line 616 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" if(m_tmBeamTime > - 1.0f) #line 617 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" { #line 618 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" FLOAT fT = _pTimer -> CurrentTick () - m_tmBeamTime ; #line 619 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" fBeamRatio = 1.0f - ClampUp (fT / 2.0f , 1.0f); #line 620 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" UBYTE ub = UBYTE (255.0f * fBeamRatio ); #line 621 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" COLOR col = RGBAToColor (ub , ub , ub , ub ); #line 622 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" pmo -> mo_colBlendColor = col ; #line 623 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" } #line 624 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" } #line 625 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" } #line 628 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" if(m_penHitPlaceFlare != NULL && IsOfClass (m_penHitPlaceFlare , "ModelHolder2")) #line 629 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" { #line 630 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" CModelObject * pmo = m_penHitPlaceFlare -> GetModelObject (); #line 631 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" if(pmo != NULL ) #line 632 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" { #line 633 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" if(m_tmHitFlareTime > - 1.0f) #line 634 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" { #line 635 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" FLOAT fT = _pTimer -> CurrentTick () - m_tmHitFlareTime ; #line 636 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" FLOAT fRatio = (Sin (fT * 2000) * 0.5f + 0.5f) * (Sin (fT * 1333) * 0.5f + 0.5f); #line 646 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" UBYTE ub = UBYTE ((200 + 55 * fRatio ) * fBeamRatio ); #line 648 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" COLOR col = RGBAToColor (ub , ub , ub , ub ); #line 649 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" pmo -> mo_colBlendColor = col ; #line 650 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" } #line 651 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" } #line 652 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" } #line 653 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" return FALSE ; #line 654 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" } BOOL CPyramidSpaceShip:: #line 658 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" MPIntro(const CEntityEvent &__eeInput) { #undef STATE_CURRENT #define STATE_CURRENT STATE_CPyramidSpaceShip_MPIntro ASSERTMSG(__eeInput.ee_slEvent==EVENTCODE_EVoid, "CPyramidSpaceShip::MPIntro expects 'EVoid' as input!"); const EVoid &e = (const EVoid &)__eeInput; #line 660 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" SwitchToModel (); #line 661 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" m_bImmediateAnimations = TRUE ; #line 662 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" STATE_CPyramidSpaceShip_OpenDoors, TRUE; Jump(STATE_CURRENT, 0x02610002, FALSE, EBegin());return TRUE;}BOOL CPyramidSpaceShip::H0x02610002_MPIntro_01(const CEntityEvent &__eeInput) { #undef STATE_CURRENT #define STATE_CURRENT 0x02610002 switch(__eeInput.ee_slEvent) {case EVENTCODE_EBegin: Call(STATE_CURRENT, STATE_CPyramidSpaceShip_OpenDoors, TRUE, EVoid());return TRUE;case EVENTCODE_EReturn: Jump(STATE_CURRENT,0x02610003, FALSE, __eeInput); return TRUE;default: return FALSE; }}BOOL CPyramidSpaceShip::H0x02610003_MPIntro_02(const CEntityEvent &__eeInput){ #undef STATE_CURRENT #define STATE_CURRENT 0x02610003 const EReturn&__e= (EReturn&)__eeInput; ; #line 663 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" STATE_CPyramidSpaceShip_FireLightBeam, TRUE; Jump(STATE_CURRENT, 0x02610004, FALSE, EBegin());return TRUE;}BOOL CPyramidSpaceShip::H0x02610004_MPIntro_03(const CEntityEvent &__eeInput) { #undef STATE_CURRENT #define STATE_CURRENT 0x02610004 switch(__eeInput.ee_slEvent) {case EVENTCODE_EBegin: Call(STATE_CURRENT, STATE_CPyramidSpaceShip_FireLightBeam, TRUE, EVoid());return TRUE;case EVENTCODE_EReturn: Jump(STATE_CURRENT,0x02610005, FALSE, __eeInput); return TRUE;default: return FALSE; }}BOOL CPyramidSpaceShip::H0x02610005_MPIntro_04(const CEntityEvent &__eeInput){ #undef STATE_CURRENT #define STATE_CURRENT 0x02610005 const EReturn&__e= (EReturn&)__eeInput; ; #line 664 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" m_epssState = PSSS_BEAM_DEACTIVATED ; #line 665 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" SetTimerAfter(m_fWaitAfterKillingBeam ); Jump(STATE_CURRENT, 0x02610006, FALSE, EBegin());return TRUE;}BOOL CPyramidSpaceShip::H0x02610006_MPIntro_05(const CEntityEvent &__eeInput) { #undef STATE_CURRENT #define STATE_CURRENT 0x02610006 switch(__eeInput.ee_slEvent) {case EVENTCODE_EBegin: return TRUE;case EVENTCODE_ETimer: Jump(STATE_CURRENT,0x02610007, FALSE, EInternal()); return TRUE;default: return FALSE; }}BOOL CPyramidSpaceShip::H0x02610007_MPIntro_06(const CEntityEvent &__eeInput){ ASSERT(__eeInput.ee_slEvent==EVENTCODE_EInternal); #undef STATE_CURRENT #define STATE_CURRENT 0x02610007 ; #line 666 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" STATE_CPyramidSpaceShip_FireLightBeam, TRUE; Jump(STATE_CURRENT, 0x02610008, FALSE, EBegin());return TRUE;}BOOL CPyramidSpaceShip::H0x02610008_MPIntro_07(const CEntityEvent &__eeInput) { #undef STATE_CURRENT #define STATE_CURRENT 0x02610008 switch(__eeInput.ee_slEvent) {case EVENTCODE_EBegin: Call(STATE_CURRENT, STATE_CPyramidSpaceShip_FireLightBeam, TRUE, EVoid());return TRUE;case EVENTCODE_EReturn: Jump(STATE_CURRENT,0x02610009, FALSE, __eeInput); return TRUE;default: return FALSE; }}BOOL CPyramidSpaceShip::H0x02610009_MPIntro_08(const CEntityEvent &__eeInput){ #undef STATE_CURRENT #define STATE_CURRENT 0x02610009 const EReturn&__e= (EReturn&)__eeInput; ; #line 667 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" m_bImmediateAnimations = FALSE ; #line 668 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" STATE_CPyramidSpaceShip_CloseDoors, TRUE; Jump(STATE_CURRENT, 0x0261000a, FALSE, EBegin());return TRUE;}BOOL CPyramidSpaceShip::H0x0261000a_MPIntro_09(const CEntityEvent &__eeInput) { #undef STATE_CURRENT #define STATE_CURRENT 0x0261000a switch(__eeInput.ee_slEvent) {case EVENTCODE_EBegin: Call(STATE_CURRENT, STATE_CPyramidSpaceShip_CloseDoors, TRUE, EVoid());return TRUE;case EVENTCODE_EReturn: Jump(STATE_CURRENT,0x0261000b, FALSE, __eeInput); return TRUE;default: return FALSE; }}BOOL CPyramidSpaceShip::H0x0261000b_MPIntro_10(const CEntityEvent &__eeInput){ #undef STATE_CURRENT #define STATE_CURRENT 0x0261000b const EReturn&__e= (EReturn&)__eeInput; ; #line 669 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" Return(STATE_CURRENT,EReturn ()); #line 669 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" return TRUE; ASSERT(FALSE); return TRUE;};BOOL CPyramidSpaceShip:: #line 673 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" OpenDoors(const CEntityEvent &__eeInput) { #undef STATE_CURRENT #define STATE_CURRENT STATE_CPyramidSpaceShip_OpenDoors ASSERTMSG(__eeInput.ee_slEvent==EVENTCODE_EVoid, "CPyramidSpaceShip::OpenDoors expects 'EVoid' as input!"); const EVoid &e = (const EVoid &)__eeInput; #line 676 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" if(GetModelObject () -> GetAttachmentModel (SPACESHIP_ATTACHMENT_SHIPINSIDE ) == NULL ) #line 677 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" { #line 679 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" AddAttachment (SPACESHIP_ATTACHMENT_SHIPINSIDE , MODEL_SHIP_INSIDE , TEXTURE_BODY ); #line 680 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" GetModelObject () -> StretchModel (PSS_STRETCH ); #line 681 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" } #line 682 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" ShowBeamMachine (); #line 684 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" if(! m_bImmediateAnimations ) #line 685 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" { #line 686 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" PlaySound (m_soPlates , SOUND_PLATES , SOF_3D ); #line 687 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" GetModelObject () -> GetAttachmentModel (SPACESHIP_ATTACHMENT_DOOR1 ) -> amo_moModelObject . PlayAnim (DOOR_ANIM_OPENING , 0); #line 688 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" GetModelObject () -> GetAttachmentModel (SPACESHIP_ATTACHMENT_DOOR2 ) -> amo_moModelObject . PlayAnim (DOOR_ANIM_OPENING , 0); #line 689 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" GetModelObject () -> GetAttachmentModel (SPACESHIP_ATTACHMENT_DOOR3 ) -> amo_moModelObject . PlayAnim (DOOR_ANIM_OPENING , 0); #line 690 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" GetModelObject () -> GetAttachmentModel (SPACESHIP_ATTACHMENT_DOOR4 ) -> amo_moModelObject . PlayAnim (DOOR_ANIM_OPENING , 0); #line 691 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" GetModelObject () -> GetAttachmentModel (SPACESHIP_ATTACHMENT_DOOR5 ) -> amo_moModelObject . PlayAnim (DOOR_ANIM_OPENING , 0); #line 692 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" GetModelObject () -> GetAttachmentModel (SPACESHIP_ATTACHMENT_DOOR6 ) -> amo_moModelObject . PlayAnim (DOOR_ANIM_OPENING , 0); #line 693 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" GetModelObject () -> GetAttachmentModel (SPACESHIP_ATTACHMENT_DOOR7 ) -> amo_moModelObject . PlayAnim (DOOR_ANIM_OPENING , 0); #line 694 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" GetModelObject () -> GetAttachmentModel (SPACESHIP_ATTACHMENT_DOOR8 ) -> amo_moModelObject . PlayAnim (DOOR_ANIM_OPENING , 0); #line 695 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" } #line 696 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" else #line 697 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" { #line 698 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" GetModelObject () -> GetAttachmentModel (SPACESHIP_ATTACHMENT_DOOR1 ) -> amo_moModelObject . PlayAnim (DOOR_ANIM_OPEN , 0); #line 699 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" GetModelObject () -> GetAttachmentModel (SPACESHIP_ATTACHMENT_DOOR2 ) -> amo_moModelObject . PlayAnim (DOOR_ANIM_OPEN , 0); #line 700 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" GetModelObject () -> GetAttachmentModel (SPACESHIP_ATTACHMENT_DOOR3 ) -> amo_moModelObject . PlayAnim (DOOR_ANIM_OPEN , 0); #line 701 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" GetModelObject () -> GetAttachmentModel (SPACESHIP_ATTACHMENT_DOOR4 ) -> amo_moModelObject . PlayAnim (DOOR_ANIM_OPEN , 0); #line 702 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" GetModelObject () -> GetAttachmentModel (SPACESHIP_ATTACHMENT_DOOR5 ) -> amo_moModelObject . PlayAnim (DOOR_ANIM_OPEN , 0); #line 703 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" GetModelObject () -> GetAttachmentModel (SPACESHIP_ATTACHMENT_DOOR6 ) -> amo_moModelObject . PlayAnim (DOOR_ANIM_OPEN , 0); #line 704 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" GetModelObject () -> GetAttachmentModel (SPACESHIP_ATTACHMENT_DOOR7 ) -> amo_moModelObject . PlayAnim (DOOR_ANIM_OPEN , 0); #line 705 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" GetModelObject () -> GetAttachmentModel (SPACESHIP_ATTACHMENT_DOOR8 ) -> amo_moModelObject . PlayAnim (DOOR_ANIM_OPEN , 0); #line 706 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" } #line 709 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" FOREACHINLIST (CEntity , en_lnInParent , en_lhChildren , iten ) #line 710 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" { #line 711 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" if(IsOfClass (iten , "Light")) #line 712 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" { #line 713 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" if(iten -> GetName () == "Pulsating") #line 714 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" { #line 715 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" CLight * penLight = (CLight *) & * iten ; #line 716 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" EChangeAnim eChange ; #line 717 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" eChange . iLightAnim = 3; #line 718 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" eChange . bLightLoop = TRUE ; #line 719 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" penLight -> SendEvent (eChange ); #line 720 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" } #line 721 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" else if(iten -> GetName () == "Motors") #line 722 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" { #line 723 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" CLight * penLight = (CLight *) & * iten ; #line 724 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" EChangeAnim eChange ; #line 725 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" eChange . iLightAnim = 4; #line 726 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" eChange . bLightLoop = TRUE ; #line 727 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" penLight -> SendEvent (eChange ); #line 728 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" } #line 729 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" } #line 730 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" } #line 732 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" m_epssState = PSSS_KILLING_BEAM_FIREING ; #line 733 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" Return(STATE_CURRENT,EReturn ()); #line 733 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" return TRUE; ASSERT(FALSE); return TRUE;};BOOL CPyramidSpaceShip:: #line 736 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" CloseDoors(const CEntityEvent &__eeInput) { #undef STATE_CURRENT #define STATE_CURRENT STATE_CPyramidSpaceShip_CloseDoors ASSERTMSG(__eeInput.ee_slEvent==EVENTCODE_EVoid, "CPyramidSpaceShip::CloseDoors expects 'EVoid' as input!"); const EVoid &e = (const EVoid &)__eeInput; #line 738 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" m_epssState = PSSS_DOORS_CLOSED ; #line 740 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" if(!(GetModelObject () -> GetAttachmentModel (SPACESHIP_ATTACHMENT_SHIPINSIDE ) != NULL )){ Jump(STATE_CURRENT,0x02610010, FALSE, EInternal());return TRUE;} #line 742 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" PlaySound (m_soPlates , SOUND_PLATES , SOF_3D ); #line 743 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" GetModelObject () -> GetAttachmentModel (SPACESHIP_ATTACHMENT_DOOR1 ) -> amo_moModelObject . PlayAnim (DOOR_ANIM_CLOSING , 0); #line 744 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" GetModelObject () -> GetAttachmentModel (SPACESHIP_ATTACHMENT_DOOR2 ) -> amo_moModelObject . PlayAnim (DOOR_ANIM_CLOSING , 0); #line 745 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" GetModelObject () -> GetAttachmentModel (SPACESHIP_ATTACHMENT_DOOR3 ) -> amo_moModelObject . PlayAnim (DOOR_ANIM_CLOSING , 0); #line 746 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" GetModelObject () -> GetAttachmentModel (SPACESHIP_ATTACHMENT_DOOR4 ) -> amo_moModelObject . PlayAnim (DOOR_ANIM_CLOSING , 0); #line 747 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" GetModelObject () -> GetAttachmentModel (SPACESHIP_ATTACHMENT_DOOR5 ) -> amo_moModelObject . PlayAnim (DOOR_ANIM_CLOSING , 0); #line 748 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" GetModelObject () -> GetAttachmentModel (SPACESHIP_ATTACHMENT_DOOR6 ) -> amo_moModelObject . PlayAnim (DOOR_ANIM_CLOSING , 0); #line 749 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" GetModelObject () -> GetAttachmentModel (SPACESHIP_ATTACHMENT_DOOR7 ) -> amo_moModelObject . PlayAnim (DOOR_ANIM_CLOSING , 0); #line 750 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" GetModelObject () -> GetAttachmentModel (SPACESHIP_ATTACHMENT_DOOR8 ) -> amo_moModelObject . PlayAnim (DOOR_ANIM_CLOSING , 0); #line 752 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" SetTimerAfter(GetModelObject () -> GetAttachmentModel (SPACESHIP_ATTACHMENT_DOOR1 ) -> amo_moModelObject . GetAnimLength (DOOR_ANIM_CLOSING )); Jump(STATE_CURRENT, 0x0261000e, FALSE, EBegin());return TRUE;}BOOL CPyramidSpaceShip::H0x0261000e_CloseDoors_01(const CEntityEvent &__eeInput) { #undef STATE_CURRENT #define STATE_CURRENT 0x0261000e switch(__eeInput.ee_slEvent) {case EVENTCODE_EBegin: return TRUE;case EVENTCODE_ETimer: Jump(STATE_CURRENT,0x0261000f, FALSE, EInternal()); return TRUE;default: return FALSE; }}BOOL CPyramidSpaceShip::H0x0261000f_CloseDoors_02(const CEntityEvent &__eeInput){ ASSERT(__eeInput.ee_slEvent==EVENTCODE_EInternal); #undef STATE_CURRENT #define STATE_CURRENT 0x0261000f ; #line 754 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" RemoveAttachment (SPACESHIP_ATTACHMENT_SHIPINSIDE );Jump(STATE_CURRENT,0x02610010, FALSE, EInternal());return TRUE;}BOOL CPyramidSpaceShip::H0x02610010_CloseDoors_03(const CEntityEvent &__eeInput){ ASSERT(__eeInput.ee_slEvent==EVENTCODE_EInternal); #undef STATE_CURRENT #define STATE_CURRENT 0x02610010 #line 757 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" HideBeamMachine (); #line 758 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" InitializePathMoving ((CPyramidSpaceShipMarker *) & * m_penFlyAwayTarget ); #line 759 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" Return(STATE_CURRENT,EReturn ()); #line 759 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" return TRUE; ASSERT(FALSE); return TRUE;};BOOL CPyramidSpaceShip:: #line 762 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" FireLightBeam(const CEntityEvent &__eeInput) { #undef STATE_CURRENT #define STATE_CURRENT STATE_CPyramidSpaceShip_FireLightBeam ASSERTMSG(__eeInput.ee_slEvent==EVENTCODE_EVoid, "CPyramidSpaceShip::FireLightBeam expects 'EVoid' as input!"); const EVoid &e = (const EVoid &)__eeInput; #line 764 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" if(m_epssState == PSSS_DOORS_CLOSED ) #line 765 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" { #line 766 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" Return(STATE_CURRENT,EVoid()); #line 766 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" return TRUE; #line 767 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" } #line 769 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" if(m_epssState == PSSS_BEAM_DEACTIVATED ) #line 770 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" { #line 771 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" m_bFireingDeactivatedBeam = TRUE ; #line 772 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" } #line 774 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" if(!(! m_bImmediateAnimations )){ Jump(STATE_CURRENT,0x02610015, FALSE, EInternal());return TRUE;} #line 776 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" PlaySound (m_soBeamMachine , SOUND_BEAMMACHINE , SOF_3D ); #line 777 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" GetModelObject () -> PlayAnim (SPACESHIP_ANIM_OPENING , 0); #line 778 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" SetTimerAfter(GetModelObject () -> GetAnimLength (SPACESHIP_ANIM_OPENING )); Jump(STATE_CURRENT, 0x02610012, FALSE, EBegin());return TRUE;}BOOL CPyramidSpaceShip::H0x02610012_FireLightBeam_01(const CEntityEvent &__eeInput) { #undef STATE_CURRENT #define STATE_CURRENT 0x02610012 switch(__eeInput.ee_slEvent) {case EVENTCODE_EBegin: return TRUE;case EVENTCODE_ETimer: Jump(STATE_CURRENT,0x02610013, FALSE, EInternal()); return TRUE;default: return FALSE; }}BOOL CPyramidSpaceShip::H0x02610013_FireLightBeam_02(const CEntityEvent &__eeInput){ ASSERT(__eeInput.ee_slEvent==EVENTCODE_EInternal); #undef STATE_CURRENT #define STATE_CURRENT 0x02610013 ;Jump(STATE_CURRENT,0x02610014, FALSE, EInternal());return TRUE;}BOOL CPyramidSpaceShip::H0x02610015_FireLightBeam_04(const CEntityEvent &__eeInput){ ASSERT(__eeInput.ee_slEvent==EVENTCODE_EInternal); #undef STATE_CURRENT #define STATE_CURRENT 0x02610015 #line 781 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" { #line 782 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" GetModelObject () -> PlayAnim (SPACESHIP_ANIM_OPEN , 0); #line 783 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" }Jump(STATE_CURRENT,0x02610014, FALSE, EInternal());return TRUE;} BOOL CPyramidSpaceShip::H0x02610014_FireLightBeam_03(const CEntityEvent &__eeInput){ ASSERT(__eeInput.ee_slEvent==EVENTCODE_EInternal); #undef STATE_CURRENT #define STATE_CURRENT 0x02610014 #line 785 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" if(!(! m_bImmediateAnimations )){ Jump(STATE_CURRENT,0x02610019, FALSE, EInternal());return TRUE;} #line 787 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" PlaySound (m_soBeamMachine , SOUND_WARMUP , SOF_3D ); #line 788 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" SpawnBeamMachineFlares (); #line 789 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" SetTimerAfter(SMALL_FLARE_WAIT ); Jump(STATE_CURRENT, 0x02610016, FALSE, EBegin());return TRUE;}BOOL CPyramidSpaceShip::H0x02610016_FireLightBeam_05(const CEntityEvent &__eeInput) { #undef STATE_CURRENT #define STATE_CURRENT 0x02610016 switch(__eeInput.ee_slEvent) {case EVENTCODE_EBegin: return TRUE;case EVENTCODE_ETimer: Jump(STATE_CURRENT,0x02610017, FALSE, EInternal()); return TRUE;default: return FALSE; }}BOOL CPyramidSpaceShip::H0x02610017_FireLightBeam_06(const CEntityEvent &__eeInput){ ASSERT(__eeInput.ee_slEvent==EVENTCODE_EInternal); #undef STATE_CURRENT #define STATE_CURRENT 0x02610017 ;Jump(STATE_CURRENT,0x02610018, FALSE, EInternal());return TRUE;}BOOL CPyramidSpaceShip::H0x02610019_FireLightBeam_08(const CEntityEvent &__eeInput){ ASSERT(__eeInput.ee_slEvent==EVENTCODE_EInternal); #undef STATE_CURRENT #define STATE_CURRENT 0x02610019 #line 792 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" { #line 793 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" SpawnBeamMachineFlares (); #line 794 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" }Jump(STATE_CURRENT,0x02610018, FALSE, EInternal());return TRUE;} BOOL CPyramidSpaceShip::H0x02610018_FireLightBeam_07(const CEntityEvent &__eeInput){ ASSERT(__eeInput.ee_slEvent==EVENTCODE_EInternal); #undef STATE_CURRENT #define STATE_CURRENT 0x02610018 #line 796 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" SpawnBeamMachineLightnings (); #line 797 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" if(!(! m_bImmediateAnimations )){ Jump(STATE_CURRENT,0x0261001c, FALSE, EInternal());return TRUE;} #line 799 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" SetTimerAfter(SMALL_LIGHTNING_WAIT ); Jump(STATE_CURRENT, 0x0261001a, FALSE, EBegin());return TRUE;}BOOL CPyramidSpaceShip::H0x0261001a_FireLightBeam_09(const CEntityEvent &__eeInput) { #undef STATE_CURRENT #define STATE_CURRENT 0x0261001a switch(__eeInput.ee_slEvent) {case EVENTCODE_EBegin: return TRUE;case EVENTCODE_ETimer: Jump(STATE_CURRENT,0x0261001b, FALSE, EInternal()); return TRUE;default: return FALSE; }}BOOL CPyramidSpaceShip::H0x0261001b_FireLightBeam_10(const CEntityEvent &__eeInput){ ASSERT(__eeInput.ee_slEvent==EVENTCODE_EInternal); #undef STATE_CURRENT #define STATE_CURRENT 0x0261001b ;Jump(STATE_CURRENT,0x0261001c, FALSE, EInternal());return TRUE;}BOOL CPyramidSpaceShip::H0x0261001c_FireLightBeam_11(const CEntityEvent &__eeInput){ ASSERT(__eeInput.ee_slEvent==EVENTCODE_EInternal); #undef STATE_CURRENT #define STATE_CURRENT 0x0261001c #line 802 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" SpawnBeamMachineMainFlare (); #line 803 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" if(!(! m_bImmediateAnimations )){ Jump(STATE_CURRENT,0x0261001f, FALSE, EInternal());return TRUE;} #line 805 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" SetTimerAfter(BIG_FLARE_WAIT ); Jump(STATE_CURRENT, 0x0261001d, FALSE, EBegin());return TRUE;}BOOL CPyramidSpaceShip::H0x0261001d_FireLightBeam_12(const CEntityEvent &__eeInput) { #undef STATE_CURRENT #define STATE_CURRENT 0x0261001d switch(__eeInput.ee_slEvent) {case EVENTCODE_EBegin: return TRUE;case EVENTCODE_ETimer: Jump(STATE_CURRENT,0x0261001e, FALSE, EInternal()); return TRUE;default: return FALSE; }}BOOL CPyramidSpaceShip::H0x0261001e_FireLightBeam_13(const CEntityEvent &__eeInput){ ASSERT(__eeInput.ee_slEvent==EVENTCODE_EInternal); #undef STATE_CURRENT #define STATE_CURRENT 0x0261001e ;Jump(STATE_CURRENT,0x0261001f, FALSE, EInternal());return TRUE;}BOOL CPyramidSpaceShip::H0x0261001f_FireLightBeam_14(const CEntityEvent &__eeInput){ ASSERT(__eeInput.ee_slEvent==EVENTCODE_EInternal); #undef STATE_CURRENT #define STATE_CURRENT 0x0261001f #line 809 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" TurnOnLightBeam (); #line 810 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" if(! m_bFireingDeactivatedBeam ) #line 811 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" { #line 812 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" SpawnBeamMachineMainLightning (); #line 813 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" } #line 815 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" m_soBeam . Set3DParameters (SND_FALLOFF , SND_HOTSPOT , SND_VOLUME , 1.0f); #line 816 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" PlaySound (m_soBeam , SOUND_BEAM , SOF_3D | SOF_LOOP ); #line 817 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" ShowBeamMachineHitFlare (); #line 818 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" m_tmHitFlareTime = _pTimer -> CurrentTick (); #line 820 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" m_iRingCounter = 0; #line 821 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" Jump(STATE_CURRENT,0x02610024, FALSE, EInternal());return TRUE;}BOOL CPyramidSpaceShip::H0x02610024_FireLightBeam_19(const CEntityEvent &__eeInput) #line 822 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" { ASSERT(__eeInput.ee_slEvent==EVENTCODE_EInternal); #undef STATE_CURRENT #define STATE_CURRENT 0x02610024 if(!(_pTimer -> CurrentTick () < m_tmHitFlareTime + BIG_LIGHT_BEAM_LIFE_TIME )){ Jump(STATE_CURRENT,0x02610025, FALSE, EInternal());return TRUE;} #line 824 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" if(m_iRingCounter < 16) #line 825 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" { #line 826 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" SpawnMovingRing (); #line 827 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" m_iRingCounter ++; #line 828 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" } #line 831 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" m_tmTemp = _pTimer -> CurrentTick (); #line 832 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" Jump(STATE_CURRENT,0x02610022, FALSE, EInternal());return TRUE;}BOOL CPyramidSpaceShip::H0x02610022_FireLightBeam_17(const CEntityEvent &__eeInput) #line 833 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" { ASSERT(__eeInput.ee_slEvent==EVENTCODE_EInternal); #undef STATE_CURRENT #define STATE_CURRENT 0x02610022 if(!(_pTimer -> CurrentTick () < m_tmTemp + 0.49f)){ Jump(STATE_CURRENT,0x02610023, FALSE, EInternal());return TRUE;} #line 834 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" SetTimerAfter(_pTimer -> TickQuantum ); Jump(STATE_CURRENT, 0x02610020, FALSE, EBegin());return TRUE;}BOOL CPyramidSpaceShip::H0x02610020_FireLightBeam_15(const CEntityEvent &__eeInput) { #undef STATE_CURRENT #define STATE_CURRENT 0x02610020 switch(__eeInput.ee_slEvent) {case EVENTCODE_EBegin: return TRUE;case EVENTCODE_ETimer: Jump(STATE_CURRENT,0x02610021, FALSE, EInternal()); return TRUE;default: return FALSE; }}BOOL CPyramidSpaceShip::H0x02610021_FireLightBeam_16(const CEntityEvent &__eeInput){ ASSERT(__eeInput.ee_slEvent==EVENTCODE_EInternal); #undef STATE_CURRENT #define STATE_CURRENT 0x02610021 ; #line 836 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" if(m_penBeamHit != NULL && ! m_bFireingDeactivatedBeam ) #line 837 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" { #line 839 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" FLOAT3D vSource = GetPlacement () . pl_PositionVector + FLOAT3D (0 , BM_MASTER_Y , 0); #line 840 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" FLOAT3D vDestination = m_penBeamHit -> GetPlacement () . pl_PositionVector ; #line 841 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" CCastRay crRay (this , vSource , vDestination ); #line 842 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" crRay . cr_bHitTranslucentPortals = FALSE ; #line 843 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" crRay . cr_bPhysical = FALSE ; #line 844 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" crRay . cr_ttHitModels = CCastRay :: TT_COLLISIONBOX ; #line 845 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" crRay . cr_fTestR = 16.0f; #line 846 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" GetWorld () -> CastRay (crRay ); #line 849 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" if(crRay . cr_penHit != NULL ) #line 850 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" { #line 851 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" InflictDirectDamage (crRay . cr_penHit , this , DMT_BULLET , #line 852 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" 10000.0f / GetGameDamageMultiplier () * _pTimer -> TickQuantum / 0.5f / 16.0f , #line 853 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" FLOAT3D (0 , 0 , 0) , (vSource - vDestination ) . Normalize ()); #line 854 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" crRay . cr_penHit -> SendEvent (EHitBySpaceShipBeam ()); #line 855 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" } #line 856 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" }Jump(STATE_CURRENT,0x02610022, FALSE, EInternal());return TRUE; #line 857 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" }BOOL CPyramidSpaceShip::H0x02610023_FireLightBeam_18(const CEntityEvent &__eeInput) { ASSERT(__eeInput.ee_slEvent==EVENTCODE_EInternal); #undef STATE_CURRENT #define STATE_CURRENT 0x02610023 Jump(STATE_CURRENT,0x02610024, FALSE, EInternal());return TRUE; #line 858 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" }BOOL CPyramidSpaceShip::H0x02610025_FireLightBeam_20(const CEntityEvent &__eeInput) { ASSERT(__eeInput.ee_slEvent==EVENTCODE_EInternal); #undef STATE_CURRENT #define STATE_CURRENT 0x02610025 #line 860 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" m_tmBeamTime = _pTimer -> CurrentTick (); #line 861 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" Jump(STATE_CURRENT,0x02610028, FALSE, EInternal());return TRUE;}BOOL CPyramidSpaceShip::H0x02610028_FireLightBeam_23(const CEntityEvent &__eeInput) #line 862 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" { ASSERT(__eeInput.ee_slEvent==EVENTCODE_EInternal); #undef STATE_CURRENT #define STATE_CURRENT 0x02610028 if(!(_pTimer -> CurrentTick () < m_tmBeamTime + 2.0f)){ Jump(STATE_CURRENT,0x02610029, FALSE, EInternal());return TRUE;} #line 863 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" SetTimerAfter(_pTimer -> TickQuantum ); Jump(STATE_CURRENT, 0x02610026, FALSE, EBegin());return TRUE;}BOOL CPyramidSpaceShip::H0x02610026_FireLightBeam_21(const CEntityEvent &__eeInput) { #undef STATE_CURRENT #define STATE_CURRENT 0x02610026 switch(__eeInput.ee_slEvent) {case EVENTCODE_EBegin: return TRUE;case EVENTCODE_ETimer: Jump(STATE_CURRENT,0x02610027, FALSE, EInternal()); return TRUE;default: return FALSE; }}BOOL CPyramidSpaceShip::H0x02610027_FireLightBeam_22(const CEntityEvent &__eeInput){ ASSERT(__eeInput.ee_slEvent==EVENTCODE_EInternal); #undef STATE_CURRENT #define STATE_CURRENT 0x02610027 ; #line 864 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" FLOAT tmNow = _pTimer -> CurrentTick (); #line 865 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" FLOAT fRatio = CalculateRatio (tmNow , m_tmBeamTime , m_tmBeamTime + 2.0f , 0 , 1.0f); #line 866 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" m_soBeam . Set3DParameters (SND_FALLOFF , SND_HOTSPOT , fRatio * SND_VOLUME , 1.0f);Jump(STATE_CURRENT,0x02610028, FALSE, EInternal());return TRUE; #line 867 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" }BOOL CPyramidSpaceShip::H0x02610029_FireLightBeam_24(const CEntityEvent &__eeInput) { ASSERT(__eeInput.ee_slEvent==EVENTCODE_EInternal); #undef STATE_CURRENT #define STATE_CURRENT 0x02610029 #line 870 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" TurnOffLightBeam (); #line 871 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" HideBeamMachineHitFlare (); #line 874 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" SetTimerAfter(2.0f); Jump(STATE_CURRENT, 0x0261002a, FALSE, EBegin());return TRUE;}BOOL CPyramidSpaceShip::H0x0261002a_FireLightBeam_25(const CEntityEvent &__eeInput) { #undef STATE_CURRENT #define STATE_CURRENT 0x0261002a switch(__eeInput.ee_slEvent) {case EVENTCODE_EBegin: return TRUE;case EVENTCODE_ETimer: Jump(STATE_CURRENT,0x0261002b, FALSE, EInternal()); return TRUE;default: return FALSE; }}BOOL CPyramidSpaceShip::H0x0261002b_FireLightBeam_26(const CEntityEvent &__eeInput){ ASSERT(__eeInput.ee_slEvent==EVENTCODE_EInternal); #undef STATE_CURRENT #define STATE_CURRENT 0x0261002b ; #line 876 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" GetModelObject () -> PlayAnim (SPACESHIP_ANIM_CLOSING , 0); #line 877 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" PlaySound (m_soBeamMachine , SOUND_BEAMMACHINE , SOF_3D ); #line 878 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" SetTimerAfter(GetModelObject () -> GetAnimLength (SPACESHIP_ANIM_CLOSING )); Jump(STATE_CURRENT, 0x0261002c, FALSE, EBegin());return TRUE;}BOOL CPyramidSpaceShip::H0x0261002c_FireLightBeam_27(const CEntityEvent &__eeInput) { #undef STATE_CURRENT #define STATE_CURRENT 0x0261002c switch(__eeInput.ee_slEvent) {case EVENTCODE_EBegin: return TRUE;case EVENTCODE_ETimer: Jump(STATE_CURRENT,0x0261002d, FALSE, EInternal()); return TRUE;default: return FALSE; }}BOOL CPyramidSpaceShip::H0x0261002d_FireLightBeam_28(const CEntityEvent &__eeInput){ ASSERT(__eeInput.ee_slEvent==EVENTCODE_EInternal); #undef STATE_CURRENT #define STATE_CURRENT 0x0261002d ; #line 880 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" m_tmHitFlareTime = - 1.0f; #line 881 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" m_tmBeamTime = - 1.0f; #line 883 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" if(m_bFireingDeactivatedBeam ) #line 884 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" { #line 885 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" Jump(STATE_CURRENT, STATE_CPyramidSpaceShip_CloseDoors, TRUE, EVoid());return TRUE; #line 886 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" } #line 887 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" Return(STATE_CURRENT,EReturn ()); #line 887 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" return TRUE; ASSERT(FALSE); return TRUE;};BOOL CPyramidSpaceShip:: #line 890 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" Main(const CEntityEvent &__eeInput) { #undef STATE_CURRENT #define STATE_CURRENT STATE_CPyramidSpaceShip_Main ASSERTMSG(__eeInput.ee_slEvent==EVENTCODE_EVoid, "CPyramidSpaceShip::Main expects 'EVoid' as input!"); const EVoid &e = (const EVoid &)__eeInput; #line 892 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" InitAsEditorModel (); #line 894 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" SetPhysicsFlags (EPF_MODEL_IMMATERIAL | EPF_MOVABLE ); #line 895 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" SetCollisionFlags (ECF_MODEL_HOLDER ); #line 897 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" m_bImmediateAnimations = FALSE ; #line 898 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" en_fAcceleration = 1e6f; #line 899 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" en_fDeceleration = 1e6f; #line 901 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" m_soBeam . Set3DParameters (SND_FALLOFF , SND_HOTSPOT , SND_VOLUME , 1.0f); #line 902 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" m_soBeamMachine . Set3DParameters (SND_FALLOFF , SND_HOTSPOT , SND_VOLUME / 2.0f , 1.0f); #line 903 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" m_soPlates . Set3DParameters (SND_FALLOFF , SND_HOTSPOT , SND_VOLUME / 2.0f , 1.0f); #line 904 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" m_soFlaresFX . Set3DParameters (SND_FALLOFF , SND_HOTSPOT , SND_VOLUME , 1.0f); #line 907 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" SetModel (MODEL_SPACESHIP ); #line 908 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" SetModelMainTexture (TEXTURE_BODY ); #line 909 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" AddAttachment (SPACESHIP_ATTACHMENT_BODY , MODEL_BODY , TEXTURE_BODY ); #line 910 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" AddAttachment (SPACESHIP_ATTACHMENT_DOOR1 , MODEL_DOOR , TEXTURE_DOOR ); #line 911 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" AddAttachment (SPACESHIP_ATTACHMENT_DOOR2 , MODEL_DOOR , TEXTURE_DOOR ); #line 912 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" AddAttachment (SPACESHIP_ATTACHMENT_DOOR3 , MODEL_DOOR , TEXTURE_DOOR ); #line 913 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" AddAttachment (SPACESHIP_ATTACHMENT_DOOR4 , MODEL_DOOR , TEXTURE_DOOR ); #line 914 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" AddAttachment (SPACESHIP_ATTACHMENT_DOOR5 , MODEL_DOOR , TEXTURE_DOOR ); #line 915 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" AddAttachment (SPACESHIP_ATTACHMENT_DOOR6 , MODEL_DOOR , TEXTURE_DOOR ); #line 916 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" AddAttachment (SPACESHIP_ATTACHMENT_DOOR7 , MODEL_DOOR , TEXTURE_DOOR ); #line 917 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" AddAttachment (SPACESHIP_ATTACHMENT_DOOR8 , MODEL_DOOR , TEXTURE_DOOR ); #line 919 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" GetModelObject () -> StretchModel (PSS_STRETCH ); #line 920 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" ModelChangeNotify (); #line 921 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" m_bMoving = FALSE ; #line 922 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" m_epssState = PSSS_IDLE ; #line 923 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" m_bFireingDeactivatedBeam = FALSE ; #line 925 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" SetTimerAfter(0.25f); Jump(STATE_CURRENT, 0x0261002e, FALSE, EBegin());return TRUE;}BOOL CPyramidSpaceShip::H0x0261002e_Main_01(const CEntityEvent &__eeInput) { #undef STATE_CURRENT #define STATE_CURRENT 0x0261002e switch(__eeInput.ee_slEvent) {case EVENTCODE_EBegin: return TRUE;case EVENTCODE_ETimer: Jump(STATE_CURRENT,0x0261002f, FALSE, EInternal()); return TRUE;default: return FALSE; }}BOOL CPyramidSpaceShip::H0x0261002f_Main_02(const CEntityEvent &__eeInput){ ASSERT(__eeInput.ee_slEvent==EVENTCODE_EInternal); #undef STATE_CURRENT #define STATE_CURRENT 0x0261002f ; #line 928 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" TurnOffLightBeam (); #line 930 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" HideBeamMachineHitFlare (); #line 933 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" SetTimerAt(THINKTIME_NEVER); Jump(STATE_CURRENT, 0x02610030, FALSE, EBegin());return TRUE;}BOOL CPyramidSpaceShip::H0x02610030_Main_03(const CEntityEvent &__eeInput) { #undef STATE_CURRENT #define STATE_CURRENT 0x02610030 switch(__eeInput.ee_slEvent){case(EVENTCODE_EActivate): #line 935 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" {const EActivate&e= (EActivate&)__eeInput; #line 936 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" if(! m_bInvisible ) #line 937 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" { #line 938 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" SwitchToModel (); #line 939 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" } #line 940 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" InitializePathMoving ((CPyramidSpaceShipMarker *) & * m_penTarget ); #line 941 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" return TRUE; #line 942 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" }ASSERT(FALSE);break;case(EVENTCODE_ETrigger): #line 944 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" {const ETrigger&e= (ETrigger&)__eeInput; #line 945 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" if(m_epssState == PSSS_IDLE ) #line 946 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" { #line 948 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" } #line 949 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" else if(m_epssState == PSSS_KILLING_BEAM_FIREING ) #line 950 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" { #line 951 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" Call(STATE_CURRENT, STATE_CPyramidSpaceShip_FireLightBeam, TRUE, EVoid());return TRUE; #line 952 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" } #line 953 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" else if(m_epssState == PSSS_BEAM_DEACTIVATED ) #line 954 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" { #line 955 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" Call(STATE_CURRENT, STATE_CPyramidSpaceShip_FireLightBeam, TRUE, EVoid());return TRUE; #line 956 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" } #line 957 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" else if(m_epssState == PSSS_REACHED_DESTINATION ) #line 958 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" { #line 959 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" Call(STATE_CURRENT, STATE_CPyramidSpaceShip_OpenDoors, TRUE, EVoid());return TRUE; #line 960 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" } #line 961 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" return TRUE; #line 962 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" }ASSERT(FALSE);break;case(EVENTCODE_EForcePathMarker): #line 964 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" {const EForcePathMarker&eForcePathMarker= (EForcePathMarker&)__eeInput; #line 965 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" if(m_epssState != PSSS_IDLE ) #line 966 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" { #line 967 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" m_penTarget = eForcePathMarker . penForcedPathMarker ; #line 968 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" InitializePathMoving ((CPyramidSpaceShipMarker *) & * m_penTarget ); #line 969 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" } #line 970 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" return TRUE; #line 971 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" }ASSERT(FALSE);break;case(EVENTCODE_EEnvironmentStart): #line 973 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" {const EEnvironmentStart&e= (EEnvironmentStart&)__eeInput; #line 974 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" Call(STATE_CURRENT, STATE_CPyramidSpaceShip_MPIntro, TRUE, EVoid());return TRUE; #line 975 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" return TRUE; #line 976 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" }ASSERT(FALSE);break;case(EVENTCODE_EEnvironmentStop): #line 978 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" {const EEnvironmentStop&e= (EEnvironmentStop&)__eeInput; #line 979 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" m_bMoving = FALSE ; #line 980 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" PostMoving (); #line 981 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" return TRUE; #line 982 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" }ASSERT(FALSE);break;case(EVENTCODE_EDeactivate): #line 984 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" {const EDeactivate&e= (EDeactivate&)__eeInput; #line 985 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" m_epssState = PSSS_BEAM_DEACTIVATED ; #line 986 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" return TRUE; #line 987 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" }ASSERT(FALSE);break;case(EVENTCODE_EReturn): #line 989 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" {const EReturn&e= (EReturn&)__eeInput; #line 990 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" return TRUE; #line 991 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" }ASSERT(FALSE);break;default: return FALSE; break; #line 992 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" }return TRUE;}BOOL CPyramidSpaceShip::H0x02610031_Main_04(const CEntityEvent &__eeInput){ ASSERT(__eeInput.ee_slEvent==EVENTCODE_EInternal); #undef STATE_CURRENT #define STATE_CURRENT 0x02610031 #line 994 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" Destroy (); #line 995 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" Return(STATE_CURRENT,EVoid()); #line 995 "D:/SE1_GPL/Sources/EntitiesMP/PyramidSpaceShip.es" return TRUE; ASSERT(FALSE); return TRUE;};