/* * This file is generated by Entity Class Compiler, (c) CroTeam 1997-98 */ #line 4 "D:/SE1_GPL/Sources/EntitiesMP/Counter.es" #include "StdH.h" #include #include void CCounter::SetDefaultProperties(void) { m_fCountdownSpeed = 12.0f; m_penTarget = NULL; m_fNumber = 0.0f; m_tmStart = -1.0f; m_strName = ""; m_soSound.SetOwner(this); m_soSound.Stop_internal(); m_iCountFrom = 1023; m_pen0 = NULL; m_pen1 = NULL; m_pen2 = NULL; m_pen3 = NULL; m_pen4 = NULL; m_pen5 = NULL; m_pen6 = NULL; m_pen7 = NULL; m_pen8 = NULL; m_pen9 = NULL; CRationalEntity::SetDefaultProperties(); } #line 40 "D:/SE1_GPL/Sources/EntitiesMP/Counter.es" void CCounter::Precache(void) #line 41 "D:/SE1_GPL/Sources/EntitiesMP/Counter.es" { #line 42 "D:/SE1_GPL/Sources/EntitiesMP/Counter.es" PrecacheSound (SOUND_TICK ); #line 43 "D:/SE1_GPL/Sources/EntitiesMP/Counter.es" CRationalEntity :: Precache (); #line 44 "D:/SE1_GPL/Sources/EntitiesMP/Counter.es" } #line 46 "D:/SE1_GPL/Sources/EntitiesMP/Counter.es" void CCounter::DisplayNumber(void) #line 47 "D:/SE1_GPL/Sources/EntitiesMP/Counter.es" { #line 48 "D:/SE1_GPL/Sources/EntitiesMP/Counter.es" for(INDEX iDigit = 0;iDigit < 10;iDigit ++) #line 49 "D:/SE1_GPL/Sources/EntitiesMP/Counter.es" { #line 50 "D:/SE1_GPL/Sources/EntitiesMP/Counter.es" CModelHolder2 * pmh = (CModelHolder2 *) & * (& m_pen0 ) [ iDigit ]; #line 51 "D:/SE1_GPL/Sources/EntitiesMP/Counter.es" if(pmh != NULL && pmh -> GetModelObject () != NULL && #line 52 "D:/SE1_GPL/Sources/EntitiesMP/Counter.es" pmh -> GetModelObject () -> mo_toTexture . GetData () != NULL ) #line 53 "D:/SE1_GPL/Sources/EntitiesMP/Counter.es" { #line 55 "D:/SE1_GPL/Sources/EntitiesMP/Counter.es" INDEX iOldAnim = pmh -> GetModelObject () -> mo_toTexture . GetAnim (); #line 56 "D:/SE1_GPL/Sources/EntitiesMP/Counter.es" INDEX iAnim = (INDEX (m_fNumber ) & (1 << iDigit )) >> iDigit ; #line 57 "D:/SE1_GPL/Sources/EntitiesMP/Counter.es" pmh -> GetModelObject () -> mo_toTexture . PlayAnim (iAnim , 0); #line 60 "D:/SE1_GPL/Sources/EntitiesMP/Counter.es" m_soSound . Set3DParameters (200.0f , 100.0f , 1.0f , #line 61 "D:/SE1_GPL/Sources/EntitiesMP/Counter.es" Clamp (1.0f + (m_iCountFrom - m_fNumber ) / m_iCountFrom * 2.0f , 1.0f , 3.0f)); #line 62 "D:/SE1_GPL/Sources/EntitiesMP/Counter.es" if(iDigit == 0 && iOldAnim != iAnim && ! m_soSound . IsPlaying ()) #line 63 "D:/SE1_GPL/Sources/EntitiesMP/Counter.es" { #line 64 "D:/SE1_GPL/Sources/EntitiesMP/Counter.es" PlaySound (m_soSound , SOUND_TICK , SOF_3D | SOF_VOLUMETRIC ); #line 65 "D:/SE1_GPL/Sources/EntitiesMP/Counter.es" } #line 66 "D:/SE1_GPL/Sources/EntitiesMP/Counter.es" } #line 67 "D:/SE1_GPL/Sources/EntitiesMP/Counter.es" } #line 68 "D:/SE1_GPL/Sources/EntitiesMP/Counter.es" } BOOL CCounter:: #line 71 "D:/SE1_GPL/Sources/EntitiesMP/Counter.es" CountDown(const CEntityEvent &__eeInput) { #undef STATE_CURRENT #define STATE_CURRENT STATE_CCounter_CountDown ASSERTMSG(__eeInput.ee_slEvent==EVENTCODE_EVoid, "CCounter::CountDown expects 'EVoid' as input!"); const EVoid &e = (const EVoid &)__eeInput; #line 73 "D:/SE1_GPL/Sources/EntitiesMP/Counter.es" Jump(STATE_CURRENT,0x00e80003, FALSE, EInternal());return TRUE;}BOOL CCounter::H0x00e80003_CountDown_03(const CEntityEvent &__eeInput) #line 74 "D:/SE1_GPL/Sources/EntitiesMP/Counter.es" { ASSERT(__eeInput.ee_slEvent==EVENTCODE_EInternal); #undef STATE_CURRENT #define STATE_CURRENT 0x00e80003 if(!(TRUE )){ Jump(STATE_CURRENT,0x00e80004, FALSE, EInternal());return TRUE;} #line 75 "D:/SE1_GPL/Sources/EntitiesMP/Counter.es" SetTimerAfter(_pTimer -> TickQuantum ); Jump(STATE_CURRENT, 0x00e80001, FALSE, EBegin());return TRUE;}BOOL CCounter::H0x00e80001_CountDown_01(const CEntityEvent &__eeInput) { #undef STATE_CURRENT #define STATE_CURRENT 0x00e80001 switch(__eeInput.ee_slEvent) {case EVENTCODE_EBegin: return TRUE;case EVENTCODE_ETimer: Jump(STATE_CURRENT,0x00e80002, FALSE, EInternal()); return TRUE;default: return FALSE; }}BOOL CCounter::H0x00e80002_CountDown_02(const CEntityEvent &__eeInput){ ASSERT(__eeInput.ee_slEvent==EVENTCODE_EInternal); #undef STATE_CURRENT #define STATE_CURRENT 0x00e80002 ; #line 76 "D:/SE1_GPL/Sources/EntitiesMP/Counter.es" FLOAT tmNow = _pTimer -> CurrentTick (); #line 77 "D:/SE1_GPL/Sources/EntitiesMP/Counter.es" FLOAT tmDelta = tmNow - m_tmStart ; #line 78 "D:/SE1_GPL/Sources/EntitiesMP/Counter.es" FLOAT fSub = Clamp (tmDelta / m_fCountdownSpeed , 0.01f , 1.0f); #line 79 "D:/SE1_GPL/Sources/EntitiesMP/Counter.es" m_fNumber = Clamp (m_fNumber - fSub , 0.0f , FLOAT (m_iCountFrom )); #line 80 "D:/SE1_GPL/Sources/EntitiesMP/Counter.es" DisplayNumber (); #line 81 "D:/SE1_GPL/Sources/EntitiesMP/Counter.es" if(m_fNumber == 0) #line 82 "D:/SE1_GPL/Sources/EntitiesMP/Counter.es" { #line 83 "D:/SE1_GPL/Sources/EntitiesMP/Counter.es" Return(STATE_CURRENT,EReturn ()); #line 83 "D:/SE1_GPL/Sources/EntitiesMP/Counter.es" return TRUE; #line 84 "D:/SE1_GPL/Sources/EntitiesMP/Counter.es" }Jump(STATE_CURRENT,0x00e80003, FALSE, EInternal());return TRUE; #line 85 "D:/SE1_GPL/Sources/EntitiesMP/Counter.es" }BOOL CCounter::H0x00e80004_CountDown_04(const CEntityEvent &__eeInput) { ASSERT(__eeInput.ee_slEvent==EVENTCODE_EInternal); #undef STATE_CURRENT #define STATE_CURRENT 0x00e80004 ASSERT(FALSE); return TRUE;};BOOL CCounter:: #line 91 "D:/SE1_GPL/Sources/EntitiesMP/Counter.es" Main(const CEntityEvent &__eeInput) { #undef STATE_CURRENT #define STATE_CURRENT STATE_CCounter_Main ASSERTMSG(__eeInput.ee_slEvent==EVENTCODE_EVoid, "CCounter::Main expects 'EVoid' as input!"); const EVoid &e = (const EVoid &)__eeInput; #line 93 "D:/SE1_GPL/Sources/EntitiesMP/Counter.es" InitAsEditorModel (); #line 94 "D:/SE1_GPL/Sources/EntitiesMP/Counter.es" SetPhysicsFlags (EPF_MODEL_IMMATERIAL ); #line 95 "D:/SE1_GPL/Sources/EntitiesMP/Counter.es" SetCollisionFlags (ECF_IMMATERIAL ); #line 98 "D:/SE1_GPL/Sources/EntitiesMP/Counter.es" SetModel (MODEL_MARKER ); #line 99 "D:/SE1_GPL/Sources/EntitiesMP/Counter.es" SetModelMainTexture (TEXTURE_MARKER ); #line 101 "D:/SE1_GPL/Sources/EntitiesMP/Counter.es" SetTimerAfter(0.1f); Jump(STATE_CURRENT, 0x00e80005, FALSE, EBegin());return TRUE;}BOOL CCounter::H0x00e80005_Main_01(const CEntityEvent &__eeInput) { #undef STATE_CURRENT #define STATE_CURRENT 0x00e80005 switch(__eeInput.ee_slEvent) {case EVENTCODE_EBegin: return TRUE;case EVENTCODE_ETimer: Jump(STATE_CURRENT,0x00e80006, FALSE, EInternal()); return TRUE;default: return FALSE; }}BOOL CCounter::H0x00e80006_Main_02(const CEntityEvent &__eeInput){ ASSERT(__eeInput.ee_slEvent==EVENTCODE_EInternal); #undef STATE_CURRENT #define STATE_CURRENT 0x00e80006 ; #line 102 "D:/SE1_GPL/Sources/EntitiesMP/Counter.es" m_fNumber = m_iCountFrom ; #line 103 "D:/SE1_GPL/Sources/EntitiesMP/Counter.es" DisplayNumber (); #line 105 "D:/SE1_GPL/Sources/EntitiesMP/Counter.es" SetTimerAt(THINKTIME_NEVER); Jump(STATE_CURRENT, 0x00e80007, FALSE, EBegin());return TRUE;}BOOL CCounter::H0x00e80007_Main_03(const CEntityEvent &__eeInput) { #undef STATE_CURRENT #define STATE_CURRENT 0x00e80007 switch(__eeInput.ee_slEvent){case(EVENTCODE_EBegin):{const EBegin&e= (EBegin&)__eeInput; #line 107 "D:/SE1_GPL/Sources/EntitiesMP/Counter.es" return TRUE; #line 108 "D:/SE1_GPL/Sources/EntitiesMP/Counter.es" }ASSERT(FALSE);break;case(EVENTCODE_ETrigger):{const ETrigger&eTrigger= (ETrigger&)__eeInput; #line 110 "D:/SE1_GPL/Sources/EntitiesMP/Counter.es" m_fNumber = m_iCountFrom ; #line 111 "D:/SE1_GPL/Sources/EntitiesMP/Counter.es" DisplayNumber (); #line 112 "D:/SE1_GPL/Sources/EntitiesMP/Counter.es" m_tmStart = _pTimer -> CurrentTick (); #line 113 "D:/SE1_GPL/Sources/EntitiesMP/Counter.es" Call(STATE_CURRENT, STATE_CCounter_CountDown, TRUE, EVoid());return TRUE; #line 114 "D:/SE1_GPL/Sources/EntitiesMP/Counter.es" }ASSERT(FALSE);break;case(EVENTCODE_EReturn):{const EReturn&e= (EReturn&)__eeInput; #line 116 "D:/SE1_GPL/Sources/EntitiesMP/Counter.es" if(m_penTarget != NULL ) #line 117 "D:/SE1_GPL/Sources/EntitiesMP/Counter.es" { #line 118 "D:/SE1_GPL/Sources/EntitiesMP/Counter.es" SendToTarget (m_penTarget , EET_TRIGGER ); #line 119 "D:/SE1_GPL/Sources/EntitiesMP/Counter.es" } #line 120 "D:/SE1_GPL/Sources/EntitiesMP/Counter.es" UnsetTimer();Jump(STATE_CURRENT,0x00e80008, FALSE, EInternal());return TRUE; #line 121 "D:/SE1_GPL/Sources/EntitiesMP/Counter.es" }ASSERT(FALSE);break;default: return FALSE; break; #line 122 "D:/SE1_GPL/Sources/EntitiesMP/Counter.es" }return TRUE;}BOOL CCounter::H0x00e80008_Main_04(const CEntityEvent &__eeInput){ ASSERT(__eeInput.ee_slEvent==EVENTCODE_EInternal); #undef STATE_CURRENT #define STATE_CURRENT 0x00e80008 #line 124 "D:/SE1_GPL/Sources/EntitiesMP/Counter.es" Return(STATE_CURRENT,EVoid()); #line 124 "D:/SE1_GPL/Sources/EntitiesMP/Counter.es" return TRUE; ASSERT(FALSE); return TRUE;};