mirror of
https://github.com/ptitSeb/Serious-Engine
synced 2024-11-26 12:15:53 +01:00
1680 lines
86 KiB
C++
1680 lines
86 KiB
C++
|
/*
|
||
|
* 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 <EntitiesMP/PyramidSpaceShip.h>
|
||
|
#include <EntitiesMP/PyramidSpaceShip_tables.h>
|
||
|
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 ("-><none>");
|
||
|
#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;};
|