/* * This file is generated by Entity Class Compiler, (c) CroTeam 1997-98 */ #line 4 "D:/SE1_GPL/Sources/EntitiesMP/Eruptor.es" #include "StdH.h" #include #include void CEruptor::SetDefaultProperties(void) { m_fStretchAll = 1.0f; m_fStretchX = 1.0f; m_fStretchY = 1.0f; m_fStretchZ = 1.0f; m_bRandomStretch = FALSE ; m_fStretchHeight = 0.2f; m_fStretchWidth = 0.2f; m_fStretchDepth = 0.2f; m_fAngle = 45.0f; m_fMaxSpeed = 20.0f; m_fMinSpeed = 10.0f; m_fTime = 1.0f; m_fRandomWait = 0.0f; m_ptType = PRT_LAVA_COMET ; m_bShootInArc = TRUE ; m_fProjectileStretch = 1.0f; CModelHolder2::SetDefaultProperties(); } #line 44 "D:/SE1_GPL/Sources/EntitiesMP/Eruptor.es" void CEruptor::Precache(void) { #line 45 "D:/SE1_GPL/Sources/EntitiesMP/Eruptor.es" PrecacheClass (CLASS_PROJECTILE , m_ptType ); #line 46 "D:/SE1_GPL/Sources/EntitiesMP/Eruptor.es" } #line 49 "D:/SE1_GPL/Sources/EntitiesMP/Eruptor.es" void CEruptor::CalculateAngularLaunchParams( #line 50 "D:/SE1_GPL/Sources/EntitiesMP/Eruptor.es" CMovableEntity * penTarget, #line 51 "D:/SE1_GPL/Sources/EntitiesMP/Eruptor.es" FLOAT3D vShooting, #line 52 "D:/SE1_GPL/Sources/EntitiesMP/Eruptor.es" FLOAT3D vTarget,FLOAT3D vSpeedDest, #line 53 "D:/SE1_GPL/Sources/EntitiesMP/Eruptor.es" ANGLE aPitch, #line 54 "D:/SE1_GPL/Sources/EntitiesMP/Eruptor.es" ANGLE & aHeading, #line 55 "D:/SE1_GPL/Sources/EntitiesMP/Eruptor.es" FLOAT & fLaunchSpeed) #line 56 "D:/SE1_GPL/Sources/EntitiesMP/Eruptor.es" { #line 57 "D:/SE1_GPL/Sources/EntitiesMP/Eruptor.es" FLOAT3D vNewTarget = vTarget ; #line 58 "D:/SE1_GPL/Sources/EntitiesMP/Eruptor.es" FLOAT3D & vGravity = penTarget -> en_vGravityDir ; #line 59 "D:/SE1_GPL/Sources/EntitiesMP/Eruptor.es" FLOAT fa = TanFast (AngleDeg (aPitch )); #line 60 "D:/SE1_GPL/Sources/EntitiesMP/Eruptor.es" FLOAT3D vd , vyd0 ; #line 61 "D:/SE1_GPL/Sources/EntitiesMP/Eruptor.es" FLOAT fd , fyd0 ; #line 62 "D:/SE1_GPL/Sources/EntitiesMP/Eruptor.es" FLOAT fTime = 0.0f; #line 63 "D:/SE1_GPL/Sources/EntitiesMP/Eruptor.es" FLOAT fLastTime = 0.0f; #line 65 "D:/SE1_GPL/Sources/EntitiesMP/Eruptor.es" INDEX iIterations = 0; #line 67 "D:/SE1_GPL/Sources/EntitiesMP/Eruptor.es" do #line 68 "D:/SE1_GPL/Sources/EntitiesMP/Eruptor.es" { #line 69 "D:/SE1_GPL/Sources/EntitiesMP/Eruptor.es" iIterations ++; #line 70 "D:/SE1_GPL/Sources/EntitiesMP/Eruptor.es" FLOAT3D vDistance = vNewTarget - vShooting ; #line 71 "D:/SE1_GPL/Sources/EntitiesMP/Eruptor.es" GetParallelAndNormalComponents (vDistance , vGravity , vyd0 , vd ); #line 72 "D:/SE1_GPL/Sources/EntitiesMP/Eruptor.es" fd = vd . Length (); #line 73 "D:/SE1_GPL/Sources/EntitiesMP/Eruptor.es" fyd0 = vyd0 . Length (); #line 74 "D:/SE1_GPL/Sources/EntitiesMP/Eruptor.es" fLastTime = fTime ; #line 75 "D:/SE1_GPL/Sources/EntitiesMP/Eruptor.es" fTime = Sqrt (2.0f) * Sqrt ((fa * fd - fyd0 ) / penTarget -> en_fGravityA ); #line 76 "D:/SE1_GPL/Sources/EntitiesMP/Eruptor.es" vNewTarget = vTarget + vSpeedDest * fTime ; #line 77 "D:/SE1_GPL/Sources/EntitiesMP/Eruptor.es" } #line 78 "D:/SE1_GPL/Sources/EntitiesMP/Eruptor.es" while(Abs (fTime - fLastTime ) > _pTimer -> TickQuantum && iIterations < 10); #line 81 "D:/SE1_GPL/Sources/EntitiesMP/Eruptor.es" fLaunchSpeed = 0.707108f * fd / #line 82 "D:/SE1_GPL/Sources/EntitiesMP/Eruptor.es" (Cos (AngleDeg (aPitch )) * Sqrt ((fa * fd - fyd0 ) / penTarget -> en_fGravityA )); #line 84 "D:/SE1_GPL/Sources/EntitiesMP/Eruptor.es" FLOAT3D vDir = (vNewTarget - vShooting ) . Normalize (); #line 85 "D:/SE1_GPL/Sources/EntitiesMP/Eruptor.es" ANGLE3D aAngles ; #line 86 "D:/SE1_GPL/Sources/EntitiesMP/Eruptor.es" DirectionVectorToAngles (vDir , aAngles ); #line 87 "D:/SE1_GPL/Sources/EntitiesMP/Eruptor.es" aHeading = aAngles (1); #line 88 "D:/SE1_GPL/Sources/EntitiesMP/Eruptor.es" } #line 91 "D:/SE1_GPL/Sources/EntitiesMP/Eruptor.es" void CEruptor::SpawnShoot(CEntity * penTarget) #line 92 "D:/SE1_GPL/Sources/EntitiesMP/Eruptor.es" { #line 94 "D:/SE1_GPL/Sources/EntitiesMP/Eruptor.es" if(penTarget == NULL || ! (penTarget -> GetPhysicsFlags () & EPF_MOVABLE )){ #line 96 "D:/SE1_GPL/Sources/EntitiesMP/Eruptor.es" return ; #line 97 "D:/SE1_GPL/Sources/EntitiesMP/Eruptor.es" } #line 99 "D:/SE1_GPL/Sources/EntitiesMP/Eruptor.es" CPlacement3D plLava = GetPlacement (); #line 101 "D:/SE1_GPL/Sources/EntitiesMP/Eruptor.es" FLOAT fSpeed = (m_fMaxSpeed - m_fMinSpeed ) * FRnd () + m_fMinSpeed ; #line 104 "D:/SE1_GPL/Sources/EntitiesMP/Eruptor.es" if(m_bShootInArc ){ #line 106 "D:/SE1_GPL/Sources/EntitiesMP/Eruptor.es" FLOAT fPitch = GetPlacement () . pl_OrientationAngle (2); #line 107 "D:/SE1_GPL/Sources/EntitiesMP/Eruptor.es" FLOAT fHeading ; #line 108 "D:/SE1_GPL/Sources/EntitiesMP/Eruptor.es" CalculateAngularLaunchParams ((CMovableEntity *) penTarget , #line 109 "D:/SE1_GPL/Sources/EntitiesMP/Eruptor.es" GetPlacement () . pl_PositionVector , #line 110 "D:/SE1_GPL/Sources/EntitiesMP/Eruptor.es" penTarget -> GetPlacement () . pl_PositionVector , #line 111 "D:/SE1_GPL/Sources/EntitiesMP/Eruptor.es" ((CMovableEntity *) penTarget ) -> en_vCurrentTranslationAbsolute , #line 112 "D:/SE1_GPL/Sources/EntitiesMP/Eruptor.es" fPitch , fHeading , fSpeed ); #line 115 "D:/SE1_GPL/Sources/EntitiesMP/Eruptor.es" if(Abs (NormalizeAngle (GetPlacement () . pl_OrientationAngle (1) - fHeading )) > m_fAngle ){ #line 117 "D:/SE1_GPL/Sources/EntitiesMP/Eruptor.es" return ; #line 118 "D:/SE1_GPL/Sources/EntitiesMP/Eruptor.es" } #line 119 "D:/SE1_GPL/Sources/EntitiesMP/Eruptor.es" plLava . pl_OrientationAngle (1) = fHeading ; #line 121 "D:/SE1_GPL/Sources/EntitiesMP/Eruptor.es" }else { #line 123 "D:/SE1_GPL/Sources/EntitiesMP/Eruptor.es" FLOAT3D vTargetDir = (penTarget -> GetPlacement () . pl_PositionVector - #line 124 "D:/SE1_GPL/Sources/EntitiesMP/Eruptor.es" GetPlacement () . pl_PositionVector ) . Normalize (); #line 125 "D:/SE1_GPL/Sources/EntitiesMP/Eruptor.es" FLOAT3D vShootDir ; #line 126 "D:/SE1_GPL/Sources/EntitiesMP/Eruptor.es" AnglesToDirectionVector (GetPlacement () . pl_OrientationAngle , vShootDir ); #line 129 "D:/SE1_GPL/Sources/EntitiesMP/Eruptor.es" if(Abs (vTargetDir % vShootDir ) < Cos (m_fAngle )){ #line 131 "D:/SE1_GPL/Sources/EntitiesMP/Eruptor.es" return ; #line 132 "D:/SE1_GPL/Sources/EntitiesMP/Eruptor.es" } #line 134 "D:/SE1_GPL/Sources/EntitiesMP/Eruptor.es" DirectionVectorToAngles (vTargetDir , plLava . pl_OrientationAngle ); #line 135 "D:/SE1_GPL/Sources/EntitiesMP/Eruptor.es" } #line 138 "D:/SE1_GPL/Sources/EntitiesMP/Eruptor.es" SpawnProjectile (plLava , fSpeed ); #line 139 "D:/SE1_GPL/Sources/EntitiesMP/Eruptor.es" } #line 142 "D:/SE1_GPL/Sources/EntitiesMP/Eruptor.es" void CEruptor::SpawnRandom(void) #line 143 "D:/SE1_GPL/Sources/EntitiesMP/Eruptor.es" { #line 145 "D:/SE1_GPL/Sources/EntitiesMP/Eruptor.es" FLOAT fSpeed = (m_fMaxSpeed - m_fMinSpeed ) * FRnd () + m_fMinSpeed ; #line 146 "D:/SE1_GPL/Sources/EntitiesMP/Eruptor.es" ANGLE3D aAngle ((FRnd () * 2 - 1) * m_fAngle , (FRnd () * 2 - 1) * m_fAngle , 0); #line 148 "D:/SE1_GPL/Sources/EntitiesMP/Eruptor.es" CPlacement3D plLava (FLOAT3D (0 , 0 , 0) , aAngle ); #line 149 "D:/SE1_GPL/Sources/EntitiesMP/Eruptor.es" plLava . RelativeToAbsolute (GetPlacement ()); #line 151 "D:/SE1_GPL/Sources/EntitiesMP/Eruptor.es" SpawnProjectile (plLava , fSpeed ); #line 152 "D:/SE1_GPL/Sources/EntitiesMP/Eruptor.es" } #line 155 "D:/SE1_GPL/Sources/EntitiesMP/Eruptor.es" void CEruptor::SpawnProjectile(const CPlacement3D & pl,FLOAT fSpeed) #line 156 "D:/SE1_GPL/Sources/EntitiesMP/Eruptor.es" { #line 157 "D:/SE1_GPL/Sources/EntitiesMP/Eruptor.es" CEntityPointer penLava = CreateEntity (pl , CLASS_PROJECTILE ); #line 160 "D:/SE1_GPL/Sources/EntitiesMP/Eruptor.es" ELaunchProjectile eLaunch ; #line 161 "D:/SE1_GPL/Sources/EntitiesMP/Eruptor.es" eLaunch . penLauncher = this ; #line 162 "D:/SE1_GPL/Sources/EntitiesMP/Eruptor.es" eLaunch . prtType = m_ptType ; #line 163 "D:/SE1_GPL/Sources/EntitiesMP/Eruptor.es" eLaunch . fSpeed = fSpeed ; #line 164 "D:/SE1_GPL/Sources/EntitiesMP/Eruptor.es" eLaunch . fStretch = m_fProjectileStretch ; #line 165 "D:/SE1_GPL/Sources/EntitiesMP/Eruptor.es" penLava -> Initialize (eLaunch ); #line 168 "D:/SE1_GPL/Sources/EntitiesMP/Eruptor.es" if(! (penLava -> GetFlags () & ENF_DELETED )){ #line 169 "D:/SE1_GPL/Sources/EntitiesMP/Eruptor.es" FLOAT3D fStretchRandom (1 , 1 , 1); #line 170 "D:/SE1_GPL/Sources/EntitiesMP/Eruptor.es" if(m_bRandomStretch ){ #line 171 "D:/SE1_GPL/Sources/EntitiesMP/Eruptor.es" fStretchRandom (1) = (FRnd () * m_fStretchWidth * 2 - m_fStretchWidth ) + 1; #line 172 "D:/SE1_GPL/Sources/EntitiesMP/Eruptor.es" fStretchRandom (2) = (FRnd () * m_fStretchHeight * 2 - m_fStretchHeight ) + 1; #line 173 "D:/SE1_GPL/Sources/EntitiesMP/Eruptor.es" fStretchRandom (3) = (FRnd () * m_fStretchDepth * 2 - m_fStretchDepth ) + 1; #line 174 "D:/SE1_GPL/Sources/EntitiesMP/Eruptor.es" } #line 175 "D:/SE1_GPL/Sources/EntitiesMP/Eruptor.es" FLOAT3D vOldStretch = penLava -> GetModelObject () -> mo_Stretch ; #line 176 "D:/SE1_GPL/Sources/EntitiesMP/Eruptor.es" penLava -> GetModelObject () -> mo_Stretch = FLOAT3D ( #line 177 "D:/SE1_GPL/Sources/EntitiesMP/Eruptor.es" m_fStretchAll * m_fStretchX * fStretchRandom (1) * vOldStretch (1) , #line 178 "D:/SE1_GPL/Sources/EntitiesMP/Eruptor.es" m_fStretchAll * m_fStretchY * fStretchRandom (2) * vOldStretch (2) , #line 179 "D:/SE1_GPL/Sources/EntitiesMP/Eruptor.es" m_fStretchAll * m_fStretchZ * fStretchRandom (3) * vOldStretch (3)); #line 180 "D:/SE1_GPL/Sources/EntitiesMP/Eruptor.es" penLava -> ModelChangeNotify (); #line 181 "D:/SE1_GPL/Sources/EntitiesMP/Eruptor.es" } #line 182 "D:/SE1_GPL/Sources/EntitiesMP/Eruptor.es" } BOOL CEruptor:: #line 188 "D:/SE1_GPL/Sources/EntitiesMP/Eruptor.es" Active(const CEntityEvent &__eeInput) { #undef STATE_CURRENT #define STATE_CURRENT STATE_CEruptor_Active ASSERTMSG(__eeInput.ee_slEvent==EVENTCODE_EVoid, "CEruptor::Active expects 'EVoid' as input!"); const EVoid &e = (const EVoid &)__eeInput; #line 190 "D:/SE1_GPL/Sources/EntitiesMP/Eruptor.es" SetTimerAt(THINKTIME_NEVER); Jump(STATE_CURRENT, 0x00d50001, FALSE, EBegin());return TRUE;}BOOL CEruptor::H0x00d50001_Active_01(const CEntityEvent &__eeInput) { #undef STATE_CURRENT #define STATE_CURRENT 0x00d50001 switch(__eeInput.ee_slEvent){case(EVENTCODE_EBegin):{const EBegin&e= (EBegin&)__eeInput; Call(STATE_CURRENT, STATE_CEruptor_AutoSpawns, TRUE, EVoid());return TRUE;}ASSERT(FALSE);break;case(EVENTCODE_EEnvironmentStop):{const EEnvironmentStop&e= (EEnvironmentStop&)__eeInput; Jump(STATE_CURRENT, STATE_CEruptor_Inactive, TRUE, EVoid());return TRUE;}ASSERT(FALSE);break;default: return FALSE; break; #line 193 "D:/SE1_GPL/Sources/EntitiesMP/Eruptor.es" }return TRUE;}BOOL CEruptor::H0x00d50002_Active_02(const CEntityEvent &__eeInput){ ASSERT(__eeInput.ee_slEvent==EVENTCODE_EInternal); #undef STATE_CURRENT #define STATE_CURRENT 0x00d50002 ASSERT(FALSE); return TRUE;};BOOL CEruptor:: #line 197 "D:/SE1_GPL/Sources/EntitiesMP/Eruptor.es" Inactive(const CEntityEvent &__eeInput) { #undef STATE_CURRENT #define STATE_CURRENT STATE_CEruptor_Inactive ASSERTMSG(__eeInput.ee_slEvent==EVENTCODE_EVoid, "CEruptor::Inactive expects 'EVoid' as input!"); const EVoid &e = (const EVoid &)__eeInput; #line 199 "D:/SE1_GPL/Sources/EntitiesMP/Eruptor.es" SetTimerAt(THINKTIME_NEVER); Jump(STATE_CURRENT, 0x00d50004, FALSE, EBegin());return TRUE;}BOOL CEruptor::H0x00d50004_Inactive_01(const CEntityEvent &__eeInput) { #undef STATE_CURRENT #define STATE_CURRENT 0x00d50004 switch(__eeInput.ee_slEvent){case(EVENTCODE_EBegin):{const EBegin&e= (EBegin&)__eeInput; return TRUE;}ASSERT(FALSE);break;case(EVENTCODE_EEnvironmentStart):{const EEnvironmentStart&e= (EEnvironmentStart&)__eeInput; Jump(STATE_CURRENT, STATE_CEruptor_Active, TRUE, EVoid());return TRUE;}ASSERT(FALSE);break;default: return FALSE; break; #line 202 "D:/SE1_GPL/Sources/EntitiesMP/Eruptor.es" }return TRUE;}BOOL CEruptor::H0x00d50005_Inactive_02(const CEntityEvent &__eeInput){ ASSERT(__eeInput.ee_slEvent==EVENTCODE_EInternal); #undef STATE_CURRENT #define STATE_CURRENT 0x00d50005 ASSERT(FALSE); return TRUE;};BOOL CEruptor:: #line 206 "D:/SE1_GPL/Sources/EntitiesMP/Eruptor.es" AutoSpawns(const CEntityEvent &__eeInput) { #undef STATE_CURRENT #define STATE_CURRENT STATE_CEruptor_AutoSpawns ASSERTMSG(__eeInput.ee_slEvent==EVENTCODE_EVoid, "CEruptor::AutoSpawns expects 'EVoid' as input!"); const EVoid &e = (const EVoid &)__eeInput; #line 208 "D:/SE1_GPL/Sources/EntitiesMP/Eruptor.es" Jump(STATE_CURRENT,0x00d5000c, FALSE, EInternal());return TRUE;}BOOL CEruptor::H0x00d5000c_AutoSpawns_06(const CEntityEvent &__eeInput){ ASSERT(__eeInput.ee_slEvent==EVENTCODE_EInternal); #undef STATE_CURRENT #define STATE_CURRENT 0x00d5000c if(!(TRUE )){ Jump(STATE_CURRENT,0x00d5000d, FALSE, EInternal());return TRUE;} #line 210 "D:/SE1_GPL/Sources/EntitiesMP/Eruptor.es" SetTimerAfter(m_fTime ); Jump(STATE_CURRENT, 0x00d50007, FALSE, EBegin());return TRUE;}BOOL CEruptor::H0x00d50007_AutoSpawns_01(const CEntityEvent &__eeInput) { #undef STATE_CURRENT #define STATE_CURRENT 0x00d50007 switch(__eeInput.ee_slEvent) {case EVENTCODE_EBegin: return TRUE;case EVENTCODE_ETimer: Jump(STATE_CURRENT,0x00d50008, FALSE, EInternal()); return TRUE;default: return FALSE; }}BOOL CEruptor::H0x00d50008_AutoSpawns_02(const CEntityEvent &__eeInput){ ASSERT(__eeInput.ee_slEvent==EVENTCODE_EInternal); #undef STATE_CURRENT #define STATE_CURRENT 0x00d50008 ; #line 213 "D:/SE1_GPL/Sources/EntitiesMP/Eruptor.es" SpawnRandom (); #line 216 "D:/SE1_GPL/Sources/EntitiesMP/Eruptor.es" if(!(m_fRandomWait > 0.0f)){ Jump(STATE_CURRENT,0x00d5000b, FALSE, EInternal());return TRUE;}SetTimerAfter(m_fRandomWait ); Jump(STATE_CURRENT, 0x00d50009, FALSE, EBegin());return TRUE;}BOOL CEruptor::H0x00d50009_AutoSpawns_03(const CEntityEvent &__eeInput) { #undef STATE_CURRENT #define STATE_CURRENT 0x00d50009 switch(__eeInput.ee_slEvent) {case EVENTCODE_EBegin: return TRUE;case EVENTCODE_ETimer: Jump(STATE_CURRENT,0x00d5000a, FALSE, EInternal()); return TRUE;default: return FALSE; }}BOOL CEruptor::H0x00d5000a_AutoSpawns_04(const CEntityEvent &__eeInput){ ASSERT(__eeInput.ee_slEvent==EVENTCODE_EInternal); #undef STATE_CURRENT #define STATE_CURRENT 0x00d5000a ;Jump(STATE_CURRENT,0x00d5000b, FALSE, EInternal());return TRUE;}BOOL CEruptor::H0x00d5000b_AutoSpawns_05(const CEntityEvent &__eeInput){ ASSERT(__eeInput.ee_slEvent==EVENTCODE_EInternal); #undef STATE_CURRENT #define STATE_CURRENT 0x00d5000b Jump(STATE_CURRENT,0x00d5000c, FALSE, EInternal());return TRUE; #line 217 "D:/SE1_GPL/Sources/EntitiesMP/Eruptor.es" }BOOL CEruptor::H0x00d5000d_AutoSpawns_07(const CEntityEvent &__eeInput) { ASSERT(__eeInput.ee_slEvent==EVENTCODE_EInternal); #undef STATE_CURRENT #define STATE_CURRENT 0x00d5000d ASSERT(FALSE); return TRUE;};BOOL CEruptor:: #line 226 "D:/SE1_GPL/Sources/EntitiesMP/Eruptor.es" MainLoop(const CEntityEvent &__eeInput) { #undef STATE_CURRENT #define STATE_CURRENT STATE_CEruptor_MainLoop ASSERTMSG(__eeInput.ee_slEvent==EVENTCODE_EVoid, "CEruptor::MainLoop expects 'EVoid' as input!"); const EVoid &e = (const EVoid &)__eeInput; #line 227 "D:/SE1_GPL/Sources/EntitiesMP/Eruptor.es" SetTimerAt(THINKTIME_NEVER); Jump(STATE_CURRENT, 0x00d5000f, FALSE, EBegin());return TRUE;}BOOL CEruptor::H0x00d5000f_MainLoop_01(const CEntityEvent &__eeInput) { #undef STATE_CURRENT #define STATE_CURRENT 0x00d5000f switch(__eeInput.ee_slEvent){case(EVENTCODE_EBegin):{const EBegin&e= (EBegin&)__eeInput; #line 229 "D:/SE1_GPL/Sources/EntitiesMP/Eruptor.es" Call(STATE_CURRENT, STATE_CEruptor_Inactive, TRUE, EVoid());return TRUE; #line 230 "D:/SE1_GPL/Sources/EntitiesMP/Eruptor.es" }ASSERT(FALSE);break;case(EVENTCODE_ETrigger):{const ETrigger&eTrigger= (ETrigger&)__eeInput; #line 232 "D:/SE1_GPL/Sources/EntitiesMP/Eruptor.es" SpawnShoot (eTrigger . penCaused ); #line 233 "D:/SE1_GPL/Sources/EntitiesMP/Eruptor.es" return TRUE; #line 234 "D:/SE1_GPL/Sources/EntitiesMP/Eruptor.es" }ASSERT(FALSE);break;default:{return TRUE;}ASSERT(FALSE);break; #line 236 "D:/SE1_GPL/Sources/EntitiesMP/Eruptor.es" }return TRUE;}BOOL CEruptor::H0x00d50010_MainLoop_02(const CEntityEvent &__eeInput){ ASSERT(__eeInput.ee_slEvent==EVENTCODE_EInternal); #undef STATE_CURRENT #define STATE_CURRENT 0x00d50010 #line 239 "D:/SE1_GPL/Sources/EntitiesMP/Eruptor.es" Destroy (); #line 241 "D:/SE1_GPL/Sources/EntitiesMP/Eruptor.es" Return(STATE_CURRENT,EVoid()); #line 241 "D:/SE1_GPL/Sources/EntitiesMP/Eruptor.es" return TRUE; ASSERT(FALSE); return TRUE;};BOOL CEruptor:: #line 244 "D:/SE1_GPL/Sources/EntitiesMP/Eruptor.es" Main(const CEntityEvent &__eeInput) { #undef STATE_CURRENT #define STATE_CURRENT STATE_CEruptor_Main ASSERTMSG(__eeInput.ee_slEvent==EVENTCODE_EVoid, "CEruptor::Main expects 'EVoid' as input!"); const EVoid &e = (const EVoid &)__eeInput; #line 246 "D:/SE1_GPL/Sources/EntitiesMP/Eruptor.es" CModelHolder2 :: InitModelHolder (); #line 249 "D:/SE1_GPL/Sources/EntitiesMP/Eruptor.es" if(m_fTime <= 0.0f){m_fTime = 0.05f;} #line 250 "D:/SE1_GPL/Sources/EntitiesMP/Eruptor.es" if(m_fMaxSpeed < m_fMinSpeed ){m_fMaxSpeed = m_fMinSpeed ;} #line 251 "D:/SE1_GPL/Sources/EntitiesMP/Eruptor.es" if(m_fAngle < 0.0f){m_fAngle = 0.0f;} #line 254 "D:/SE1_GPL/Sources/EntitiesMP/Eruptor.es" if(Abs (m_fStretchX ) < 0.01f){m_fStretchX = 0.01f;} #line 255 "D:/SE1_GPL/Sources/EntitiesMP/Eruptor.es" if(Abs (m_fStretchY ) < 0.01f){m_fStretchY = 0.01f;} #line 256 "D:/SE1_GPL/Sources/EntitiesMP/Eruptor.es" if(Abs (m_fStretchZ ) < 0.01f){m_fStretchZ = 0.01f;} #line 257 "D:/SE1_GPL/Sources/EntitiesMP/Eruptor.es" if(m_fStretchAll < 0.01f){m_fStretchAll = 0.01f;} #line 259 "D:/SE1_GPL/Sources/EntitiesMP/Eruptor.es" if(Abs (m_fStretchX ) > 100.0f){m_fStretchX = 100.0f * Sgn (m_fStretchX );} #line 260 "D:/SE1_GPL/Sources/EntitiesMP/Eruptor.es" if(Abs (m_fStretchY ) > 100.0f){m_fStretchY = 100.0f * Sgn (m_fStretchY );} #line 261 "D:/SE1_GPL/Sources/EntitiesMP/Eruptor.es" if(Abs (m_fStretchZ ) > 100.0f){m_fStretchZ = 100.0f * Sgn (m_fStretchZ );} #line 262 "D:/SE1_GPL/Sources/EntitiesMP/Eruptor.es" if(m_fStretchAll > 100.0f){m_fStretchAll = 100.0f;} #line 264 "D:/SE1_GPL/Sources/EntitiesMP/Eruptor.es" if(m_fStretchWidth < 0.0f){m_fStretchWidth = 0.0f;}; #line 265 "D:/SE1_GPL/Sources/EntitiesMP/Eruptor.es" if(m_fStretchHeight < 0.0f){m_fStretchHeight = 0.0f;}; #line 266 "D:/SE1_GPL/Sources/EntitiesMP/Eruptor.es" if(m_fStretchDepth < 0.0f){m_fStretchDepth = 0.0f;}; #line 267 "D:/SE1_GPL/Sources/EntitiesMP/Eruptor.es" if(m_fStretchWidth > 1.0f){m_fStretchWidth = 1.0f;}; #line 268 "D:/SE1_GPL/Sources/EntitiesMP/Eruptor.es" if(m_fStretchHeight > 1.0f){m_fStretchHeight = 1.0f;}; #line 269 "D:/SE1_GPL/Sources/EntitiesMP/Eruptor.es" if(m_fStretchDepth > 1.0f){m_fStretchDepth = 1.0f;}; #line 271 "D:/SE1_GPL/Sources/EntitiesMP/Eruptor.es" Jump(STATE_CURRENT, STATE_CEruptor_MainLoop, TRUE, EVoid());return TRUE; ASSERT(FALSE); return TRUE;};