mirror of
https://github.com/ptitSeb/Serious-Engine
synced 2024-11-29 13:25:52 +01:00
404 lines
17 KiB
C++
404 lines
17 KiB
C++
|
/*
|
||
|
* This file is generated by Entity Class Compiler, (c) CroTeam 1997-98
|
||
|
*/
|
||
|
|
||
|
#line 4 "D:/SE1_GPL/Sources/EntitiesMP/Lightning.es"
|
||
|
|
||
|
#include "StdH.h"
|
||
|
#include "EntitiesMP/BackgroundViewer.h"
|
||
|
#include "EntitiesMP/WorldSettingsController.h"
|
||
|
#include "EntitiesMP/Light.h"
|
||
|
|
||
|
#include <EntitiesMP/Lightning.h>
|
||
|
#include <EntitiesMP/Lightning_tables.h>
|
||
|
#line 11 "D:/SE1_GPL/Sources/EntitiesMP/Lightning.es"
|
||
|
|
||
|
struct ThunderInfo
|
||
|
{
|
||
|
INDEX ti_iSound;
|
||
|
FLOAT ti_fThunderStrikeDelay;
|
||
|
};
|
||
|
|
||
|
struct ThunderInfo _atiThunderSounds[3] =
|
||
|
{
|
||
|
{ SOUND_THUNDER1, 0.6f},
|
||
|
{ SOUND_THUNDER2, 0.0f},
|
||
|
{ SOUND_THUNDER3, 0.0f},
|
||
|
};
|
||
|
|
||
|
void CLightning::SetDefaultProperties(void) {
|
||
|
m_penTarget = NULL;
|
||
|
m_penwsc = NULL;
|
||
|
m_strName = "Lightning";
|
||
|
m_tmLightningStart = -1.0f;
|
||
|
m_soThunder.SetOwner(this);
|
||
|
m_soThunder.Stop_internal();
|
||
|
m_bBackground = FALSE ;
|
||
|
m_penLight = NULL;
|
||
|
m_iLightAnim = 0;
|
||
|
m_iSoundPlaying = 0;
|
||
|
m_fLightningPower = 1.0f;
|
||
|
m_fSoundDelay = 0.0f;
|
||
|
CMovableModelEntity::SetDefaultProperties();
|
||
|
}
|
||
|
|
||
|
#line 52 "D:/SE1_GPL/Sources/EntitiesMP/Lightning.es"
|
||
|
void CLightning::Precache(void)
|
||
|
#line 53 "D:/SE1_GPL/Sources/EntitiesMP/Lightning.es"
|
||
|
{
|
||
|
#line 54 "D:/SE1_GPL/Sources/EntitiesMP/Lightning.es"
|
||
|
CMovableModelEntity :: Precache ();
|
||
|
#line 55 "D:/SE1_GPL/Sources/EntitiesMP/Lightning.es"
|
||
|
PrecacheSound (SOUND_THUNDER1 );
|
||
|
#line 56 "D:/SE1_GPL/Sources/EntitiesMP/Lightning.es"
|
||
|
PrecacheSound (SOUND_THUNDER2 );
|
||
|
#line 57 "D:/SE1_GPL/Sources/EntitiesMP/Lightning.es"
|
||
|
PrecacheSound (SOUND_THUNDER3 );
|
||
|
#line 58 "D:/SE1_GPL/Sources/EntitiesMP/Lightning.es"
|
||
|
}
|
||
|
|
||
|
#line 61 "D:/SE1_GPL/Sources/EntitiesMP/Lightning.es"
|
||
|
CAnimData * CLightning::GetAnimData(SLONG slPropertyOffset)
|
||
|
#line 62 "D:/SE1_GPL/Sources/EntitiesMP/Lightning.es"
|
||
|
{
|
||
|
#line 63 "D:/SE1_GPL/Sources/EntitiesMP/Lightning.es"
|
||
|
if(m_penLight == NULL ){
|
||
|
#line 64 "D:/SE1_GPL/Sources/EntitiesMP/Lightning.es"
|
||
|
return NULL ;
|
||
|
#line 65 "D:/SE1_GPL/Sources/EntitiesMP/Lightning.es"
|
||
|
}
|
||
|
#line 68 "D:/SE1_GPL/Sources/EntitiesMP/Lightning.es"
|
||
|
if(IsOfClass (m_penLight , "Light"))
|
||
|
#line 69 "D:/SE1_GPL/Sources/EntitiesMP/Lightning.es"
|
||
|
{
|
||
|
#line 70 "D:/SE1_GPL/Sources/EntitiesMP/Lightning.es"
|
||
|
CLight * penLight = (CLight *) & * m_penLight ;
|
||
|
#line 72 "D:/SE1_GPL/Sources/EntitiesMP/Lightning.es"
|
||
|
if(slPropertyOffset == offsetof (CLightning , m_iLightAnim ))
|
||
|
#line 73 "D:/SE1_GPL/Sources/EntitiesMP/Lightning.es"
|
||
|
{
|
||
|
#line 74 "D:/SE1_GPL/Sources/EntitiesMP/Lightning.es"
|
||
|
return penLight -> m_aoLightAnimation . GetData ();
|
||
|
#line 75 "D:/SE1_GPL/Sources/EntitiesMP/Lightning.es"
|
||
|
}
|
||
|
#line 76 "D:/SE1_GPL/Sources/EntitiesMP/Lightning.es"
|
||
|
}
|
||
|
#line 77 "D:/SE1_GPL/Sources/EntitiesMP/Lightning.es"
|
||
|
else
|
||
|
#line 78 "D:/SE1_GPL/Sources/EntitiesMP/Lightning.es"
|
||
|
{
|
||
|
#line 79 "D:/SE1_GPL/Sources/EntitiesMP/Lightning.es"
|
||
|
WarningMessage ("Target '%s' is not of light class!" , m_penLight -> GetName ());
|
||
|
#line 80 "D:/SE1_GPL/Sources/EntitiesMP/Lightning.es"
|
||
|
}
|
||
|
#line 81 "D:/SE1_GPL/Sources/EntitiesMP/Lightning.es"
|
||
|
return NULL ;
|
||
|
#line 82 "D:/SE1_GPL/Sources/EntitiesMP/Lightning.es"
|
||
|
}
|
||
|
|
||
|
#line 84 "D:/SE1_GPL/Sources/EntitiesMP/Lightning.es"
|
||
|
void CLightning::RenderParticles(void)
|
||
|
#line 85 "D:/SE1_GPL/Sources/EntitiesMP/Lightning.es"
|
||
|
{
|
||
|
#line 86 "D:/SE1_GPL/Sources/EntitiesMP/Lightning.es"
|
||
|
if(m_penTarget == NULL || m_tmLightningStart == - 1){return ;};
|
||
|
#line 88 "D:/SE1_GPL/Sources/EntitiesMP/Lightning.es"
|
||
|
TIME tmNow = _pTimer -> GetLerpedCurrentTick ();
|
||
|
#line 90 "D:/SE1_GPL/Sources/EntitiesMP/Lightning.es"
|
||
|
if(
|
||
|
#line 91 "D:/SE1_GPL/Sources/EntitiesMP/Lightning.es"
|
||
|
((tmNow - m_tmLightningStart ) > 0.0f) &&
|
||
|
#line 92 "D:/SE1_GPL/Sources/EntitiesMP/Lightning.es"
|
||
|
((tmNow - m_tmLightningStart ) < 1.5f))
|
||
|
#line 93 "D:/SE1_GPL/Sources/EntitiesMP/Lightning.es"
|
||
|
{
|
||
|
#line 95 "D:/SE1_GPL/Sources/EntitiesMP/Lightning.es"
|
||
|
FLOAT3D vSrc = GetPlacement () . pl_PositionVector ;
|
||
|
#line 96 "D:/SE1_GPL/Sources/EntitiesMP/Lightning.es"
|
||
|
FLOAT3D vDst = m_penTarget -> GetPlacement () . pl_PositionVector ;
|
||
|
#line 97 "D:/SE1_GPL/Sources/EntitiesMP/Lightning.es"
|
||
|
Particles_Lightning (vSrc , vDst , m_tmLightningStart );
|
||
|
#line 98 "D:/SE1_GPL/Sources/EntitiesMP/Lightning.es"
|
||
|
}
|
||
|
#line 99 "D:/SE1_GPL/Sources/EntitiesMP/Lightning.es"
|
||
|
}
|
||
|
BOOL CLightning::
|
||
|
#line 102 "D:/SE1_GPL/Sources/EntitiesMP/Lightning.es"
|
||
|
LightningStike(const CEntityEvent &__eeInput) {
|
||
|
#undef STATE_CURRENT
|
||
|
#define STATE_CURRENT STATE_CLightning_LightningStike
|
||
|
ASSERTMSG(__eeInput.ee_slEvent==EVENTCODE_EVoid, "CLightning::LightningStike expects 'EVoid' as input!"); const EVoid &e = (const EVoid &)__eeInput;
|
||
|
#line 105 "D:/SE1_GPL/Sources/EntitiesMP/Lightning.es"
|
||
|
m_iSoundPlaying = 1 + IRnd () % (ARRAYCOUNT (_atiThunderSounds ) - 1);
|
||
|
#line 106 "D:/SE1_GPL/Sources/EntitiesMP/Lightning.es"
|
||
|
if(m_fSoundDelay != 0)
|
||
|
#line 107 "D:/SE1_GPL/Sources/EntitiesMP/Lightning.es"
|
||
|
{
|
||
|
#line 108 "D:/SE1_GPL/Sources/EntitiesMP/Lightning.es"
|
||
|
m_iSoundPlaying = 0;
|
||
|
#line 109 "D:/SE1_GPL/Sources/EntitiesMP/Lightning.es"
|
||
|
}
|
||
|
#line 110 "D:/SE1_GPL/Sources/EntitiesMP/Lightning.es"
|
||
|
m_soThunder . SetVolume (1.5f * m_fLightningPower , 1.5f * m_fLightningPower );
|
||
|
#line 111 "D:/SE1_GPL/Sources/EntitiesMP/Lightning.es"
|
||
|
m_soThunder . SetPitch (Lerp (0.9f , 1.2f , FRnd ()));
|
||
|
#line 113 "D:/SE1_GPL/Sources/EntitiesMP/Lightning.es"
|
||
|
if(m_fSoundDelay == 0.0f)
|
||
|
#line 114 "D:/SE1_GPL/Sources/EntitiesMP/Lightning.es"
|
||
|
{
|
||
|
#line 116 "D:/SE1_GPL/Sources/EntitiesMP/Lightning.es"
|
||
|
PlaySound (m_soThunder , _atiThunderSounds [ m_iSoundPlaying ] . ti_iSound , 0);
|
||
|
#line 117 "D:/SE1_GPL/Sources/EntitiesMP/Lightning.es"
|
||
|
}
|
||
|
#line 120 "D:/SE1_GPL/Sources/EntitiesMP/Lightning.es"
|
||
|
if(!(_atiThunderSounds [ m_iSoundPlaying ] . ti_fThunderStrikeDelay > 0.0f)){ Jump(STATE_CURRENT,0x025f0003, FALSE, EInternal());return TRUE;}
|
||
|
#line 121 "D:/SE1_GPL/Sources/EntitiesMP/Lightning.es"
|
||
|
SetTimerAfter(_atiThunderSounds [ m_iSoundPlaying ] . ti_fThunderStrikeDelay );
|
||
|
Jump(STATE_CURRENT, 0x025f0001, FALSE, EBegin());return TRUE;}BOOL CLightning::H0x025f0001_LightningStike_01(const CEntityEvent &__eeInput) {
|
||
|
#undef STATE_CURRENT
|
||
|
#define STATE_CURRENT 0x025f0001
|
||
|
switch(__eeInput.ee_slEvent) {case EVENTCODE_EBegin: return TRUE;case EVENTCODE_ETimer: Jump(STATE_CURRENT,0x025f0002, FALSE, EInternal()); return TRUE;default: return FALSE; }}BOOL CLightning::H0x025f0002_LightningStike_02(const CEntityEvent &__eeInput){
|
||
|
ASSERT(__eeInput.ee_slEvent==EVENTCODE_EInternal);
|
||
|
#undef STATE_CURRENT
|
||
|
#define STATE_CURRENT 0x025f0002
|
||
|
;Jump(STATE_CURRENT,0x025f0003, FALSE, EInternal());return TRUE;}BOOL CLightning::H0x025f0003_LightningStike_03(const CEntityEvent &__eeInput){
|
||
|
ASSERT(__eeInput.ee_slEvent==EVENTCODE_EInternal);
|
||
|
#undef STATE_CURRENT
|
||
|
#define STATE_CURRENT 0x025f0003
|
||
|
|
||
|
#line 125 "D:/SE1_GPL/Sources/EntitiesMP/Lightning.es"
|
||
|
TIME tmNow = _pTimer -> CurrentTick ();
|
||
|
#line 126 "D:/SE1_GPL/Sources/EntitiesMP/Lightning.es"
|
||
|
m_tmLightningStart = tmNow ;
|
||
|
#line 128 "D:/SE1_GPL/Sources/EntitiesMP/Lightning.es"
|
||
|
((CWorldSettingsController *) & * m_penwsc ) -> m_tmLightningStart = tmNow ;
|
||
|
#line 130 "D:/SE1_GPL/Sources/EntitiesMP/Lightning.es"
|
||
|
((CWorldSettingsController *) & * m_penwsc ) -> m_fLightningPower = m_fLightningPower ;
|
||
|
#line 133 "D:/SE1_GPL/Sources/EntitiesMP/Lightning.es"
|
||
|
if(m_penLight != NULL )
|
||
|
#line 134 "D:/SE1_GPL/Sources/EntitiesMP/Lightning.es"
|
||
|
{
|
||
|
#line 135 "D:/SE1_GPL/Sources/EntitiesMP/Lightning.es"
|
||
|
EChangeAnim eChange ;
|
||
|
#line 136 "D:/SE1_GPL/Sources/EntitiesMP/Lightning.es"
|
||
|
eChange . iLightAnim = m_iLightAnim ;
|
||
|
#line 137 "D:/SE1_GPL/Sources/EntitiesMP/Lightning.es"
|
||
|
eChange . bLightLoop = FALSE ;
|
||
|
#line 138 "D:/SE1_GPL/Sources/EntitiesMP/Lightning.es"
|
||
|
m_penLight -> SendEvent (eChange );
|
||
|
#line 139 "D:/SE1_GPL/Sources/EntitiesMP/Lightning.es"
|
||
|
}
|
||
|
#line 141 "D:/SE1_GPL/Sources/EntitiesMP/Lightning.es"
|
||
|
if(!(m_fSoundDelay != 0.0f)){ Jump(STATE_CURRENT,0x025f0006, FALSE, EInternal());return TRUE;}
|
||
|
#line 144 "D:/SE1_GPL/Sources/EntitiesMP/Lightning.es"
|
||
|
SetTimerAfter(m_fSoundDelay );
|
||
|
Jump(STATE_CURRENT, 0x025f0004, FALSE, EBegin());return TRUE;}BOOL CLightning::H0x025f0004_LightningStike_04(const CEntityEvent &__eeInput) {
|
||
|
#undef STATE_CURRENT
|
||
|
#define STATE_CURRENT 0x025f0004
|
||
|
switch(__eeInput.ee_slEvent) {case EVENTCODE_EBegin: return TRUE;case EVENTCODE_ETimer: Jump(STATE_CURRENT,0x025f0005, FALSE, EInternal()); return TRUE;default: return FALSE; }}BOOL CLightning::H0x025f0005_LightningStike_05(const CEntityEvent &__eeInput){
|
||
|
ASSERT(__eeInput.ee_slEvent==EVENTCODE_EInternal);
|
||
|
#undef STATE_CURRENT
|
||
|
#define STATE_CURRENT 0x025f0005
|
||
|
;
|
||
|
#line 146 "D:/SE1_GPL/Sources/EntitiesMP/Lightning.es"
|
||
|
PlaySound (m_soThunder , _atiThunderSounds [ m_iSoundPlaying ] . ti_iSound , 0);Jump(STATE_CURRENT,0x025f0006, FALSE, EInternal());return TRUE;}BOOL CLightning::H0x025f0006_LightningStike_06(const CEntityEvent &__eeInput){
|
||
|
ASSERT(__eeInput.ee_slEvent==EVENTCODE_EInternal);
|
||
|
#undef STATE_CURRENT
|
||
|
#define STATE_CURRENT 0x025f0006
|
||
|
|
||
|
#line 150 "D:/SE1_GPL/Sources/EntitiesMP/Lightning.es"
|
||
|
SetTimerAfter(GetSoundLength (_atiThunderSounds [ m_iSoundPlaying ] . ti_iSound ) -
|
||
|
#line 151 "D:/SE1_GPL/Sources/EntitiesMP/Lightning.es"
|
||
|
_atiThunderSounds [ m_iSoundPlaying ] . ti_fThunderStrikeDelay );
|
||
|
Jump(STATE_CURRENT, 0x025f0007, FALSE, EBegin());return TRUE;}BOOL CLightning::H0x025f0007_LightningStike_07(const CEntityEvent &__eeInput) {
|
||
|
#undef STATE_CURRENT
|
||
|
#define STATE_CURRENT 0x025f0007
|
||
|
switch(__eeInput.ee_slEvent)
|
||
|
#line 152 "D:/SE1_GPL/Sources/EntitiesMP/Lightning.es"
|
||
|
{case(EVENTCODE_ETimer):
|
||
|
#line 154 "D:/SE1_GPL/Sources/EntitiesMP/Lightning.es"
|
||
|
{const ETimer&e= (ETimer&)__eeInput;
|
||
|
|
||
|
#line 155 "D:/SE1_GPL/Sources/EntitiesMP/Lightning.es"
|
||
|
UnsetTimer();Jump(STATE_CURRENT,0x025f0008, FALSE, EInternal());return TRUE;
|
||
|
#line 156 "D:/SE1_GPL/Sources/EntitiesMP/Lightning.es"
|
||
|
}ASSERT(FALSE);break;default:
|
||
|
#line 158 "D:/SE1_GPL/Sources/EntitiesMP/Lightning.es"
|
||
|
{
|
||
|
#line 159 "D:/SE1_GPL/Sources/EntitiesMP/Lightning.es"
|
||
|
return TRUE;
|
||
|
#line 160 "D:/SE1_GPL/Sources/EntitiesMP/Lightning.es"
|
||
|
}ASSERT(FALSE);break;
|
||
|
#line 161 "D:/SE1_GPL/Sources/EntitiesMP/Lightning.es"
|
||
|
}return TRUE;}BOOL CLightning::H0x025f0008_LightningStike_08(const CEntityEvent &__eeInput){
|
||
|
ASSERT(__eeInput.ee_slEvent==EVENTCODE_EInternal);
|
||
|
#undef STATE_CURRENT
|
||
|
#define STATE_CURRENT 0x025f0008
|
||
|
|
||
|
#line 163 "D:/SE1_GPL/Sources/EntitiesMP/Lightning.es"
|
||
|
Return(STATE_CURRENT,EBegin ());
|
||
|
#line 163 "D:/SE1_GPL/Sources/EntitiesMP/Lightning.es"
|
||
|
return TRUE; ASSERT(FALSE); return TRUE;};BOOL CLightning::
|
||
|
#line 166 "D:/SE1_GPL/Sources/EntitiesMP/Lightning.es"
|
||
|
Main(const CEntityEvent &__eeInput) {
|
||
|
#undef STATE_CURRENT
|
||
|
#define STATE_CURRENT STATE_CLightning_Main
|
||
|
ASSERTMSG(__eeInput.ee_slEvent==EVENTCODE_EVoid, "CLightning::Main expects 'EVoid' as input!"); const EVoid &e = (const EVoid &)__eeInput;
|
||
|
#line 169 "D:/SE1_GPL/Sources/EntitiesMP/Lightning.es"
|
||
|
InitAsEditorModel ();
|
||
|
#line 170 "D:/SE1_GPL/Sources/EntitiesMP/Lightning.es"
|
||
|
SetPhysicsFlags (EPF_MODEL_IMMATERIAL );
|
||
|
#line 171 "D:/SE1_GPL/Sources/EntitiesMP/Lightning.es"
|
||
|
SetCollisionFlags (ECF_IMMATERIAL );
|
||
|
#line 174 "D:/SE1_GPL/Sources/EntitiesMP/Lightning.es"
|
||
|
SetModel (MODEL_TELEPORT );
|
||
|
#line 175 "D:/SE1_GPL/Sources/EntitiesMP/Lightning.es"
|
||
|
SetModelMainTexture (TEXTURE_TELEPORT );
|
||
|
#line 178 "D:/SE1_GPL/Sources/EntitiesMP/Lightning.es"
|
||
|
if(m_bBackground )
|
||
|
#line 179 "D:/SE1_GPL/Sources/EntitiesMP/Lightning.es"
|
||
|
{
|
||
|
#line 180 "D:/SE1_GPL/Sources/EntitiesMP/Lightning.es"
|
||
|
SetFlags (GetFlags () | ENF_BACKGROUND );
|
||
|
#line 181 "D:/SE1_GPL/Sources/EntitiesMP/Lightning.es"
|
||
|
}
|
||
|
#line 182 "D:/SE1_GPL/Sources/EntitiesMP/Lightning.es"
|
||
|
else
|
||
|
#line 183 "D:/SE1_GPL/Sources/EntitiesMP/Lightning.es"
|
||
|
{
|
||
|
#line 184 "D:/SE1_GPL/Sources/EntitiesMP/Lightning.es"
|
||
|
SetFlags (GetFlags () & ~ ENF_BACKGROUND );
|
||
|
#line 185 "D:/SE1_GPL/Sources/EntitiesMP/Lightning.es"
|
||
|
}
|
||
|
#line 188 "D:/SE1_GPL/Sources/EntitiesMP/Lightning.es"
|
||
|
CBackgroundViewer * penBcgViewer = (CBackgroundViewer *) GetWorld () -> GetBackgroundViewer ();
|
||
|
#line 189 "D:/SE1_GPL/Sources/EntitiesMP/Lightning.es"
|
||
|
if(penBcgViewer == NULL )
|
||
|
#line 190 "D:/SE1_GPL/Sources/EntitiesMP/Lightning.es"
|
||
|
{
|
||
|
#line 192 "D:/SE1_GPL/Sources/EntitiesMP/Lightning.es"
|
||
|
Return(STATE_CURRENT,EVoid());
|
||
|
#line 192 "D:/SE1_GPL/Sources/EntitiesMP/Lightning.es"
|
||
|
return TRUE;
|
||
|
#line 193 "D:/SE1_GPL/Sources/EntitiesMP/Lightning.es"
|
||
|
}
|
||
|
#line 196 "D:/SE1_GPL/Sources/EntitiesMP/Lightning.es"
|
||
|
m_penwsc = penBcgViewer -> m_penWorldSettingsController ;
|
||
|
#line 197 "D:/SE1_GPL/Sources/EntitiesMP/Lightning.es"
|
||
|
if(m_penwsc == NULL )
|
||
|
#line 198 "D:/SE1_GPL/Sources/EntitiesMP/Lightning.es"
|
||
|
{
|
||
|
#line 200 "D:/SE1_GPL/Sources/EntitiesMP/Lightning.es"
|
||
|
Return(STATE_CURRENT,EVoid());
|
||
|
#line 200 "D:/SE1_GPL/Sources/EntitiesMP/Lightning.es"
|
||
|
return TRUE;
|
||
|
#line 201 "D:/SE1_GPL/Sources/EntitiesMP/Lightning.es"
|
||
|
}
|
||
|
#line 204 "D:/SE1_GPL/Sources/EntitiesMP/Lightning.es"
|
||
|
if(! IsOfClass (m_penwsc , "WorldSettingsController"))
|
||
|
#line 205 "D:/SE1_GPL/Sources/EntitiesMP/Lightning.es"
|
||
|
{
|
||
|
#line 207 "D:/SE1_GPL/Sources/EntitiesMP/Lightning.es"
|
||
|
Return(STATE_CURRENT,EVoid());
|
||
|
#line 207 "D:/SE1_GPL/Sources/EntitiesMP/Lightning.es"
|
||
|
return TRUE;
|
||
|
#line 208 "D:/SE1_GPL/Sources/EntitiesMP/Lightning.es"
|
||
|
}
|
||
|
#line 211 "D:/SE1_GPL/Sources/EntitiesMP/Lightning.es"
|
||
|
if((m_penTarget == NULL ) || (! IsOfClass (m_penTarget , "Marker")))
|
||
|
#line 212 "D:/SE1_GPL/Sources/EntitiesMP/Lightning.es"
|
||
|
{
|
||
|
#line 213 "D:/SE1_GPL/Sources/EntitiesMP/Lightning.es"
|
||
|
if(m_penTarget != NULL )
|
||
|
#line 214 "D:/SE1_GPL/Sources/EntitiesMP/Lightning.es"
|
||
|
{
|
||
|
#line 215 "D:/SE1_GPL/Sources/EntitiesMP/Lightning.es"
|
||
|
WarningMessage ("Target '%s' is not of Marker class!" , m_penTarget -> GetName ());
|
||
|
#line 216 "D:/SE1_GPL/Sources/EntitiesMP/Lightning.es"
|
||
|
}
|
||
|
#line 218 "D:/SE1_GPL/Sources/EntitiesMP/Lightning.es"
|
||
|
Return(STATE_CURRENT,EVoid());
|
||
|
#line 218 "D:/SE1_GPL/Sources/EntitiesMP/Lightning.es"
|
||
|
return TRUE;
|
||
|
#line 219 "D:/SE1_GPL/Sources/EntitiesMP/Lightning.es"
|
||
|
}
|
||
|
#line 222 "D:/SE1_GPL/Sources/EntitiesMP/Lightning.es"
|
||
|
FLOAT3D vDirection =
|
||
|
#line 223 "D:/SE1_GPL/Sources/EntitiesMP/Lightning.es"
|
||
|
(m_penTarget -> GetPlacement () . pl_PositionVector -
|
||
|
#line 224 "D:/SE1_GPL/Sources/EntitiesMP/Lightning.es"
|
||
|
GetPlacement () . pl_PositionVector );
|
||
|
#line 226 "D:/SE1_GPL/Sources/EntitiesMP/Lightning.es"
|
||
|
FLOAT3D vStretch = vDirection ;
|
||
|
#line 227 "D:/SE1_GPL/Sources/EntitiesMP/Lightning.es"
|
||
|
vStretch (1) = 1.0f;
|
||
|
#line 228 "D:/SE1_GPL/Sources/EntitiesMP/Lightning.es"
|
||
|
vStretch (2) = 1.0f;
|
||
|
#line 229 "D:/SE1_GPL/Sources/EntitiesMP/Lightning.es"
|
||
|
vStretch (3) = - vDirection . Length ();
|
||
|
#line 232 "D:/SE1_GPL/Sources/EntitiesMP/Lightning.es"
|
||
|
CPlacement3D pl = GetPlacement ();
|
||
|
#line 233 "D:/SE1_GPL/Sources/EntitiesMP/Lightning.es"
|
||
|
DirectionVectorToAngles (vDirection . Normalize () , pl . pl_OrientationAngle );
|
||
|
#line 234 "D:/SE1_GPL/Sources/EntitiesMP/Lightning.es"
|
||
|
SetPlacement (pl );
|
||
|
#line 236 "D:/SE1_GPL/Sources/EntitiesMP/Lightning.es"
|
||
|
GetModelObject () -> StretchModel (vStretch );
|
||
|
#line 237 "D:/SE1_GPL/Sources/EntitiesMP/Lightning.es"
|
||
|
ModelChangeNotify ();
|
||
|
#line 240 "D:/SE1_GPL/Sources/EntitiesMP/Lightning.es"
|
||
|
m_fLightningPower = Clamp (m_fLightningPower , 0.0f , 1.0f);
|
||
|
#line 243 "D:/SE1_GPL/Sources/EntitiesMP/Lightning.es"
|
||
|
SetTimerAfter(0.1f);
|
||
|
Jump(STATE_CURRENT, 0x025f0009, FALSE, EBegin());return TRUE;}BOOL CLightning::H0x025f0009_Main_01(const CEntityEvent &__eeInput) {
|
||
|
#undef STATE_CURRENT
|
||
|
#define STATE_CURRENT 0x025f0009
|
||
|
switch(__eeInput.ee_slEvent) {case EVENTCODE_EBegin: return TRUE;case EVENTCODE_ETimer: Jump(STATE_CURRENT,0x025f000a, FALSE, EInternal()); return TRUE;default: return FALSE; }}BOOL CLightning::H0x025f000a_Main_02(const CEntityEvent &__eeInput){
|
||
|
ASSERT(__eeInput.ee_slEvent==EVENTCODE_EInternal);
|
||
|
#undef STATE_CURRENT
|
||
|
#define STATE_CURRENT 0x025f000a
|
||
|
;
|
||
|
#line 245 "D:/SE1_GPL/Sources/EntitiesMP/Lightning.es"
|
||
|
Jump(STATE_CURRENT,0x025f000d, FALSE, EInternal());return TRUE;}BOOL CLightning::H0x025f000d_Main_05(const CEntityEvent &__eeInput)
|
||
|
#line 246 "D:/SE1_GPL/Sources/EntitiesMP/Lightning.es"
|
||
|
{
|
||
|
ASSERT(__eeInput.ee_slEvent==EVENTCODE_EInternal);
|
||
|
#undef STATE_CURRENT
|
||
|
#define STATE_CURRENT 0x025f000d
|
||
|
if(!(TRUE )){ Jump(STATE_CURRENT,0x025f000e, FALSE, EInternal());return TRUE;}
|
||
|
#line 247 "D:/SE1_GPL/Sources/EntitiesMP/Lightning.es"
|
||
|
SetTimerAt(THINKTIME_NEVER);
|
||
|
Jump(STATE_CURRENT, 0x025f000b, FALSE, EBegin());return TRUE;}BOOL CLightning::H0x025f000b_Main_03(const CEntityEvent &__eeInput) {
|
||
|
#undef STATE_CURRENT
|
||
|
#define STATE_CURRENT 0x025f000b
|
||
|
switch(__eeInput.ee_slEvent)
|
||
|
#line 248 "D:/SE1_GPL/Sources/EntitiesMP/Lightning.es"
|
||
|
{case(EVENTCODE_EBegin):{const EBegin&e= (EBegin&)__eeInput;
|
||
|
return TRUE;}ASSERT(FALSE);break;case(EVENTCODE_ETrigger):
|
||
|
#line 251 "D:/SE1_GPL/Sources/EntitiesMP/Lightning.es"
|
||
|
{const ETrigger&eTrigger= (ETrigger&)__eeInput;
|
||
|
|
||
|
#line 252 "D:/SE1_GPL/Sources/EntitiesMP/Lightning.es"
|
||
|
Call(STATE_CURRENT, STATE_CLightning_LightningStike, TRUE, EVoid());return TRUE;
|
||
|
#line 253 "D:/SE1_GPL/Sources/EntitiesMP/Lightning.es"
|
||
|
return TRUE;
|
||
|
#line 254 "D:/SE1_GPL/Sources/EntitiesMP/Lightning.es"
|
||
|
}ASSERT(FALSE);break;default:
|
||
|
#line 256 "D:/SE1_GPL/Sources/EntitiesMP/Lightning.es"
|
||
|
{
|
||
|
#line 257 "D:/SE1_GPL/Sources/EntitiesMP/Lightning.es"
|
||
|
return TRUE;
|
||
|
#line 258 "D:/SE1_GPL/Sources/EntitiesMP/Lightning.es"
|
||
|
}ASSERT(FALSE);break;
|
||
|
#line 259 "D:/SE1_GPL/Sources/EntitiesMP/Lightning.es"
|
||
|
}return TRUE;}BOOL CLightning::H0x025f000c_Main_04(const CEntityEvent &__eeInput){
|
||
|
ASSERT(__eeInput.ee_slEvent==EVENTCODE_EInternal);
|
||
|
#undef STATE_CURRENT
|
||
|
#define STATE_CURRENT 0x025f000c
|
||
|
;Jump(STATE_CURRENT,0x025f000d, FALSE, EInternal());return TRUE;
|
||
|
#line 260 "D:/SE1_GPL/Sources/EntitiesMP/Lightning.es"
|
||
|
}BOOL CLightning::H0x025f000e_Main_06(const CEntityEvent &__eeInput) {
|
||
|
ASSERT(__eeInput.ee_slEvent==EVENTCODE_EInternal);
|
||
|
#undef STATE_CURRENT
|
||
|
#define STATE_CURRENT 0x025f000e
|
||
|
ASSERT(FALSE); return TRUE;};
|