/* * This file is generated by Entity Class Compiler, (c) CroTeam 1997-98 */ #line 4 "D:/SE1_GPL/Sources/EntitiesMP/Switch.es" #include "StdH.h" #include #include void CSwitch::SetDefaultProperties(void) { m_iModelONAnimation = 0; m_iTextureONAnimation = 0; m_iModelOFFAnimation = 0; m_iTextureOFFAnimation = 0; m_penTarget = NULL; m_eetEvent = EET_START ; m_eetOffEvent = EET_IGNORE ; m_penOffTarget = NULL; m_swtType = SWT_ONOFF ; m_strMessage = ""; m_bSwitchON = FALSE ; m_penCaused = NULL; m_bUseable = FALSE ; m_bInvisible = FALSE ; CModelHolder2::SetDefaultProperties(); } #line 49 "D:/SE1_GPL/Sources/EntitiesMP/Switch.es" CAnimData * CSwitch::GetAnimData(SLONG slPropertyOffset) #line 50 "D:/SE1_GPL/Sources/EntitiesMP/Switch.es" { #line 51 "D:/SE1_GPL/Sources/EntitiesMP/Switch.es" if(slPropertyOffset == offsetof (CSwitch , m_iModelONAnimation ) || #line 52 "D:/SE1_GPL/Sources/EntitiesMP/Switch.es" slPropertyOffset == offsetof (CSwitch , m_iModelOFFAnimation )){ #line 53 "D:/SE1_GPL/Sources/EntitiesMP/Switch.es" return GetModelObject () -> GetData (); #line 54 "D:/SE1_GPL/Sources/EntitiesMP/Switch.es" }else if(slPropertyOffset == offsetof (CSwitch , m_iTextureONAnimation ) || #line 55 "D:/SE1_GPL/Sources/EntitiesMP/Switch.es" slPropertyOffset == offsetof (CSwitch , m_iTextureOFFAnimation )){ #line 56 "D:/SE1_GPL/Sources/EntitiesMP/Switch.es" return GetModelObject () -> mo_toTexture . GetData (); #line 57 "D:/SE1_GPL/Sources/EntitiesMP/Switch.es" }else { #line 58 "D:/SE1_GPL/Sources/EntitiesMP/Switch.es" return CModelHolder2 :: GetAnimData (slPropertyOffset ); #line 59 "D:/SE1_GPL/Sources/EntitiesMP/Switch.es" } #line 60 "D:/SE1_GPL/Sources/EntitiesMP/Switch.es" } #line 63 "D:/SE1_GPL/Sources/EntitiesMP/Switch.es" BOOL CSwitch::CanReactOnEntity(CEntity * pen) #line 64 "D:/SE1_GPL/Sources/EntitiesMP/Switch.es" { #line 65 "D:/SE1_GPL/Sources/EntitiesMP/Switch.es" if(pen == NULL ){ #line 66 "D:/SE1_GPL/Sources/EntitiesMP/Switch.es" return FALSE ; #line 67 "D:/SE1_GPL/Sources/EntitiesMP/Switch.es" } #line 69 "D:/SE1_GPL/Sources/EntitiesMP/Switch.es" if(! (pen -> GetFlags () & ENF_ALIVE )){ #line 70 "D:/SE1_GPL/Sources/EntitiesMP/Switch.es" return FALSE ; #line 71 "D:/SE1_GPL/Sources/EntitiesMP/Switch.es" } #line 73 "D:/SE1_GPL/Sources/EntitiesMP/Switch.es" return TRUE ; #line 74 "D:/SE1_GPL/Sources/EntitiesMP/Switch.es" } #line 78 "D:/SE1_GPL/Sources/EntitiesMP/Switch.es" SLONG CSwitch::GetUsedMemory(void) #line 79 "D:/SE1_GPL/Sources/EntitiesMP/Switch.es" { #line 81 "D:/SE1_GPL/Sources/EntitiesMP/Switch.es" SLONG slUsedMemory = sizeof (CSwitch ) - sizeof (CModelHolder2 ) + CModelHolder2 :: GetUsedMemory (); #line 83 "D:/SE1_GPL/Sources/EntitiesMP/Switch.es" slUsedMemory += m_strMessage . Length (); #line 84 "D:/SE1_GPL/Sources/EntitiesMP/Switch.es" return slUsedMemory ; #line 85 "D:/SE1_GPL/Sources/EntitiesMP/Switch.es" } BOOL CSwitch:: #line 93 "D:/SE1_GPL/Sources/EntitiesMP/Switch.es" SwitchON(const CEntityEvent &__eeInput) { #undef STATE_CURRENT #define STATE_CURRENT STATE_CSwitch_SwitchON ASSERTMSG(__eeInput.ee_slEvent==EVENTCODE_EVoid, "CSwitch::SwitchON expects 'EVoid' as input!"); const EVoid &e = (const EVoid &)__eeInput; #line 95 "D:/SE1_GPL/Sources/EntitiesMP/Switch.es" if(m_bSwitchON ){ #line 97 "D:/SE1_GPL/Sources/EntitiesMP/Switch.es" Return(STATE_CURRENT,EVoid()); #line 97 "D:/SE1_GPL/Sources/EntitiesMP/Switch.es" return TRUE; #line 98 "D:/SE1_GPL/Sources/EntitiesMP/Switch.es" } #line 100 "D:/SE1_GPL/Sources/EntitiesMP/Switch.es" GetModelObject () -> PlayAnim (m_iModelONAnimation , 0); #line 101 "D:/SE1_GPL/Sources/EntitiesMP/Switch.es" GetModelObject () -> mo_toTexture . PlayAnim (m_iTextureONAnimation , 0); #line 102 "D:/SE1_GPL/Sources/EntitiesMP/Switch.es" m_bSwitchON = TRUE ; #line 104 "D:/SE1_GPL/Sources/EntitiesMP/Switch.es" SendToTarget (m_penTarget , m_eetEvent , m_penCaused ); #line 106 "D:/SE1_GPL/Sources/EntitiesMP/Switch.es" SetTimerAfter(GetModelObject () -> GetAnimLength (m_iModelONAnimation )); Jump(STATE_CURRENT, 0x00d10001, FALSE, EBegin());return TRUE;}BOOL CSwitch::H0x00d10001_SwitchON_01(const CEntityEvent &__eeInput) { #undef STATE_CURRENT #define STATE_CURRENT 0x00d10001 switch(__eeInput.ee_slEvent){case(EVENTCODE_EBegin):{const EBegin&e= (EBegin&)__eeInput; return TRUE;}ASSERT(FALSE);break;case(EVENTCODE_ETimer):{const ETimer&e= (ETimer&)__eeInput; UnsetTimer();Jump(STATE_CURRENT,0x00d10002, FALSE, EInternal());return TRUE;}ASSERT(FALSE);break;case(EVENTCODE_EDeath):{const EDeath&e= (EDeath&)__eeInput; return FALSE;}ASSERT(FALSE);break;default:{return TRUE;}ASSERT(FALSE);break; #line 108 "D:/SE1_GPL/Sources/EntitiesMP/Switch.es" }return TRUE;}BOOL CSwitch::H0x00d10002_SwitchON_02(const CEntityEvent &__eeInput){ ASSERT(__eeInput.ee_slEvent==EVENTCODE_EInternal); #undef STATE_CURRENT #define STATE_CURRENT 0x00d10002 #line 110 "D:/SE1_GPL/Sources/EntitiesMP/Switch.es" Return(STATE_CURRENT,EReturn ()); #line 110 "D:/SE1_GPL/Sources/EntitiesMP/Switch.es" return TRUE; ASSERT(FALSE); return TRUE;};BOOL CSwitch:: #line 114 "D:/SE1_GPL/Sources/EntitiesMP/Switch.es" SwitchOFF(const CEntityEvent &__eeInput) { #undef STATE_CURRENT #define STATE_CURRENT STATE_CSwitch_SwitchOFF ASSERTMSG(__eeInput.ee_slEvent==EVENTCODE_EVoid, "CSwitch::SwitchOFF expects 'EVoid' as input!"); const EVoid &e = (const EVoid &)__eeInput; #line 116 "D:/SE1_GPL/Sources/EntitiesMP/Switch.es" if(! m_bSwitchON ){ #line 118 "D:/SE1_GPL/Sources/EntitiesMP/Switch.es" Return(STATE_CURRENT,EVoid()); #line 118 "D:/SE1_GPL/Sources/EntitiesMP/Switch.es" return TRUE; #line 119 "D:/SE1_GPL/Sources/EntitiesMP/Switch.es" } #line 121 "D:/SE1_GPL/Sources/EntitiesMP/Switch.es" GetModelObject () -> PlayAnim (m_iModelOFFAnimation , 0); #line 122 "D:/SE1_GPL/Sources/EntitiesMP/Switch.es" GetModelObject () -> mo_toTexture . PlayAnim (m_iTextureOFFAnimation , 0); #line 123 "D:/SE1_GPL/Sources/EntitiesMP/Switch.es" m_bSwitchON = FALSE ; #line 125 "D:/SE1_GPL/Sources/EntitiesMP/Switch.es" if(m_penOffTarget != NULL ) #line 126 "D:/SE1_GPL/Sources/EntitiesMP/Switch.es" { #line 127 "D:/SE1_GPL/Sources/EntitiesMP/Switch.es" SendToTarget (m_penOffTarget , m_eetOffEvent , m_penCaused ); #line 128 "D:/SE1_GPL/Sources/EntitiesMP/Switch.es" } #line 129 "D:/SE1_GPL/Sources/EntitiesMP/Switch.es" else #line 130 "D:/SE1_GPL/Sources/EntitiesMP/Switch.es" { #line 132 "D:/SE1_GPL/Sources/EntitiesMP/Switch.es" SendToTarget (m_penTarget , m_eetOffEvent , m_penCaused ); #line 133 "D:/SE1_GPL/Sources/EntitiesMP/Switch.es" } #line 135 "D:/SE1_GPL/Sources/EntitiesMP/Switch.es" SetTimerAfter(GetModelObject () -> GetAnimLength (m_iModelOFFAnimation )); Jump(STATE_CURRENT, 0x00d10004, FALSE, EBegin());return TRUE;}BOOL CSwitch::H0x00d10004_SwitchOFF_01(const CEntityEvent &__eeInput) { #undef STATE_CURRENT #define STATE_CURRENT 0x00d10004 switch(__eeInput.ee_slEvent){case(EVENTCODE_EBegin):{const EBegin&e= (EBegin&)__eeInput; return TRUE;}ASSERT(FALSE);break;case(EVENTCODE_ETimer):{const ETimer&e= (ETimer&)__eeInput; UnsetTimer();Jump(STATE_CURRENT,0x00d10005, FALSE, EInternal());return TRUE;}ASSERT(FALSE);break;case(EVENTCODE_EDeath):{const EDeath&e= (EDeath&)__eeInput; return FALSE;}ASSERT(FALSE);break;default:{return TRUE;}ASSERT(FALSE);break; #line 137 "D:/SE1_GPL/Sources/EntitiesMP/Switch.es" }return TRUE;}BOOL CSwitch::H0x00d10005_SwitchOFF_02(const CEntityEvent &__eeInput){ ASSERT(__eeInput.ee_slEvent==EVENTCODE_EInternal); #undef STATE_CURRENT #define STATE_CURRENT 0x00d10005 #line 139 "D:/SE1_GPL/Sources/EntitiesMP/Switch.es" Return(STATE_CURRENT,EReturn ()); #line 139 "D:/SE1_GPL/Sources/EntitiesMP/Switch.es" return TRUE; ASSERT(FALSE); return TRUE;};BOOL CSwitch:: #line 142 "D:/SE1_GPL/Sources/EntitiesMP/Switch.es" MainLoop_Once(const CEntityEvent &__eeInput) { #undef STATE_CURRENT #define STATE_CURRENT STATE_CSwitch_MainLoop_Once ASSERTMSG(__eeInput.ee_slEvent==EVENTCODE_EVoid, "CSwitch::MainLoop_Once expects 'EVoid' as input!"); const EVoid &e = (const EVoid &)__eeInput; #line 143 "D:/SE1_GPL/Sources/EntitiesMP/Switch.es" m_bUseable = TRUE ; #line 146 "D:/SE1_GPL/Sources/EntitiesMP/Switch.es" SetTimerAt(THINKTIME_NEVER); Jump(STATE_CURRENT, 0x00d10007, FALSE, EBegin());return TRUE;}BOOL CSwitch::H0x00d10007_MainLoop_Once_01(const CEntityEvent &__eeInput) { #undef STATE_CURRENT #define STATE_CURRENT 0x00d10007 switch(__eeInput.ee_slEvent){case(EVENTCODE_ETrigger):{const ETrigger&eTrigger= (ETrigger&)__eeInput; #line 149 "D:/SE1_GPL/Sources/EntitiesMP/Switch.es" if(CanReactOnEntity (eTrigger . penCaused ) && m_bUseable ){ #line 150 "D:/SE1_GPL/Sources/EntitiesMP/Switch.es" m_bUseable = FALSE ; #line 151 "D:/SE1_GPL/Sources/EntitiesMP/Switch.es" m_penCaused = eTrigger . penCaused ; #line 152 "D:/SE1_GPL/Sources/EntitiesMP/Switch.es" Call(STATE_CURRENT, STATE_CSwitch_SwitchON, TRUE, EVoid());return TRUE; #line 153 "D:/SE1_GPL/Sources/EntitiesMP/Switch.es" } #line 154 "D:/SE1_GPL/Sources/EntitiesMP/Switch.es" }ASSERT(FALSE);break;case(EVENTCODE_EStart):{const EStart&e= (EStart&)__eeInput; #line 157 "D:/SE1_GPL/Sources/EntitiesMP/Switch.es" m_bUseable = FALSE ; #line 158 "D:/SE1_GPL/Sources/EntitiesMP/Switch.es" Call(STATE_CURRENT, STATE_CSwitch_SwitchON, TRUE, EVoid());return TRUE; #line 159 "D:/SE1_GPL/Sources/EntitiesMP/Switch.es" }ASSERT(FALSE);break;case(EVENTCODE_EStop):{const EStop&e= (EStop&)__eeInput; #line 162 "D:/SE1_GPL/Sources/EntitiesMP/Switch.es" m_bUseable = FALSE ; #line 163 "D:/SE1_GPL/Sources/EntitiesMP/Switch.es" Call(STATE_CURRENT, STATE_CSwitch_SwitchOFF, TRUE, EVoid());return TRUE; #line 164 "D:/SE1_GPL/Sources/EntitiesMP/Switch.es" }ASSERT(FALSE);break;case(EVENTCODE_EReturn):{const EReturn&e= (EReturn&)__eeInput; #line 166 "D:/SE1_GPL/Sources/EntitiesMP/Switch.es" m_bUseable = ! m_bSwitchON ; #line 167 "D:/SE1_GPL/Sources/EntitiesMP/Switch.es" return TRUE; #line 168 "D:/SE1_GPL/Sources/EntitiesMP/Switch.es" }ASSERT(FALSE);break;default: return FALSE; break; #line 169 "D:/SE1_GPL/Sources/EntitiesMP/Switch.es" }return TRUE;}BOOL CSwitch::H0x00d10008_MainLoop_Once_02(const CEntityEvent &__eeInput){ ASSERT(__eeInput.ee_slEvent==EVENTCODE_EInternal); #undef STATE_CURRENT #define STATE_CURRENT 0x00d10008 ASSERT(FALSE); return TRUE;};BOOL CSwitch:: #line 172 "D:/SE1_GPL/Sources/EntitiesMP/Switch.es" MainLoop_OnOff(const CEntityEvent &__eeInput) { #undef STATE_CURRENT #define STATE_CURRENT STATE_CSwitch_MainLoop_OnOff ASSERTMSG(__eeInput.ee_slEvent==EVENTCODE_EVoid, "CSwitch::MainLoop_OnOff expects 'EVoid' as input!"); const EVoid &e = (const EVoid &)__eeInput; #line 173 "D:/SE1_GPL/Sources/EntitiesMP/Switch.es" m_bUseable = TRUE ; #line 176 "D:/SE1_GPL/Sources/EntitiesMP/Switch.es" SetTimerAt(THINKTIME_NEVER); Jump(STATE_CURRENT, 0x00d1000a, FALSE, EBegin());return TRUE;}BOOL CSwitch::H0x00d1000a_MainLoop_OnOff_01(const CEntityEvent &__eeInput) { #undef STATE_CURRENT #define STATE_CURRENT 0x00d1000a switch(__eeInput.ee_slEvent){case(EVENTCODE_ETrigger):{const ETrigger&eTrigger= (ETrigger&)__eeInput; #line 179 "D:/SE1_GPL/Sources/EntitiesMP/Switch.es" if(CanReactOnEntity (eTrigger . penCaused ) && m_bUseable ){ #line 180 "D:/SE1_GPL/Sources/EntitiesMP/Switch.es" m_bUseable = FALSE ; #line 181 "D:/SE1_GPL/Sources/EntitiesMP/Switch.es" m_penCaused = eTrigger . penCaused ; #line 183 "D:/SE1_GPL/Sources/EntitiesMP/Switch.es" if(m_bSwitchON ){ #line 184 "D:/SE1_GPL/Sources/EntitiesMP/Switch.es" Call(STATE_CURRENT, STATE_CSwitch_SwitchOFF, TRUE, EVoid());return TRUE; #line 186 "D:/SE1_GPL/Sources/EntitiesMP/Switch.es" }else { #line 187 "D:/SE1_GPL/Sources/EntitiesMP/Switch.es" Call(STATE_CURRENT, STATE_CSwitch_SwitchON, TRUE, EVoid());return TRUE; #line 188 "D:/SE1_GPL/Sources/EntitiesMP/Switch.es" } #line 189 "D:/SE1_GPL/Sources/EntitiesMP/Switch.es" } #line 190 "D:/SE1_GPL/Sources/EntitiesMP/Switch.es" }ASSERT(FALSE);break;case(EVENTCODE_EStart):{const EStart&e= (EStart&)__eeInput; #line 193 "D:/SE1_GPL/Sources/EntitiesMP/Switch.es" m_bUseable = FALSE ; #line 194 "D:/SE1_GPL/Sources/EntitiesMP/Switch.es" Call(STATE_CURRENT, STATE_CSwitch_SwitchON, TRUE, EVoid());return TRUE; #line 195 "D:/SE1_GPL/Sources/EntitiesMP/Switch.es" }ASSERT(FALSE);break;case(EVENTCODE_EStop):{const EStop&e= (EStop&)__eeInput; #line 198 "D:/SE1_GPL/Sources/EntitiesMP/Switch.es" m_bUseable = FALSE ; #line 199 "D:/SE1_GPL/Sources/EntitiesMP/Switch.es" Call(STATE_CURRENT, STATE_CSwitch_SwitchOFF, TRUE, EVoid());return TRUE; #line 200 "D:/SE1_GPL/Sources/EntitiesMP/Switch.es" }ASSERT(FALSE);break;case(EVENTCODE_EDeath):{const EDeath&e= (EDeath&)__eeInput; #line 203 "D:/SE1_GPL/Sources/EntitiesMP/Switch.es" if(m_penDestruction != NULL ){ #line 204 "D:/SE1_GPL/Sources/EntitiesMP/Switch.es" Jump(STATE_CURRENT, STATE_CModelHolder2_Die, FALSE, EVoid());return TRUE; #line 205 "D:/SE1_GPL/Sources/EntitiesMP/Switch.es" } #line 206 "D:/SE1_GPL/Sources/EntitiesMP/Switch.es" return TRUE; #line 207 "D:/SE1_GPL/Sources/EntitiesMP/Switch.es" }ASSERT(FALSE);break;case(EVENTCODE_EReturn):{const EReturn&e= (EReturn&)__eeInput; #line 209 "D:/SE1_GPL/Sources/EntitiesMP/Switch.es" m_bUseable = TRUE ; #line 210 "D:/SE1_GPL/Sources/EntitiesMP/Switch.es" return TRUE; #line 211 "D:/SE1_GPL/Sources/EntitiesMP/Switch.es" }ASSERT(FALSE);break;default: return FALSE; break; #line 212 "D:/SE1_GPL/Sources/EntitiesMP/Switch.es" }return TRUE;}BOOL CSwitch::H0x00d1000b_MainLoop_OnOff_02(const CEntityEvent &__eeInput){ ASSERT(__eeInput.ee_slEvent==EVENTCODE_EInternal); #undef STATE_CURRENT #define STATE_CURRENT 0x00d1000b ASSERT(FALSE); return TRUE;};BOOL CSwitch:: #line 215 "D:/SE1_GPL/Sources/EntitiesMP/Switch.es" Main(const CEntityEvent &__eeInput) { #undef STATE_CURRENT #define STATE_CURRENT STATE_CSwitch_Main ASSERTMSG(__eeInput.ee_slEvent==EVENTCODE_EVoid, "CSwitch::Main expects 'EVoid' as input!"); const EVoid &e = (const EVoid &)__eeInput; #line 217 "D:/SE1_GPL/Sources/EntitiesMP/Switch.es" CModelHolder2 :: InitModelHolder (); #line 219 "D:/SE1_GPL/Sources/EntitiesMP/Switch.es" if(m_bInvisible ){ #line 220 "D:/SE1_GPL/Sources/EntitiesMP/Switch.es" SwitchToEditorModel (); #line 221 "D:/SE1_GPL/Sources/EntitiesMP/Switch.es" } #line 223 "D:/SE1_GPL/Sources/EntitiesMP/Switch.es" if(m_swtType == SWT_ONCE ){ #line 224 "D:/SE1_GPL/Sources/EntitiesMP/Switch.es" Jump(STATE_CURRENT, STATE_CSwitch_MainLoop_Once, TRUE, EVoid());return TRUE; #line 225 "D:/SE1_GPL/Sources/EntitiesMP/Switch.es" }else { #line 226 "D:/SE1_GPL/Sources/EntitiesMP/Switch.es" Jump(STATE_CURRENT, STATE_CSwitch_MainLoop_OnOff, TRUE, EVoid());return TRUE; #line 227 "D:/SE1_GPL/Sources/EntitiesMP/Switch.es" } #line 229 "D:/SE1_GPL/Sources/EntitiesMP/Switch.es" Return(STATE_CURRENT,EVoid()); #line 229 "D:/SE1_GPL/Sources/EntitiesMP/Switch.es" return TRUE; ASSERT(FALSE); return TRUE;};