Serious-Engine/Sources/EntitiesMP/FogMarker.cpp
2016-03-11 15:57:17 +02:00

170 lines
6.7 KiB
C++

/*
* This file is generated by Entity Class Compiler, (c) CroTeam 1997-98
*/
#line 4 "D:/SE1_GPL/Sources/EntitiesMP/FogMarker.es"
#include "StdH.h"
#include <EntitiesMP/FogMarker.h>
#include <EntitiesMP/FogMarker_tables.h>
void CFogMarker::SetDefaultProperties(void) {
m_fDepth = 10.0f;
m_fAbove = 20.0f;
m_fBelow = 20.0f;
m_fFar = 100.0f;
m_faType = FA_EXP ;
m_fDensity = 0.1f;
m_fgType = FG_CONSTANT ;
m_fGraduation = 0.1f;
m_bDensityDirect = TRUE ;
m_fDensityPercentage = 0.95f;
m_fDensityDistance = 10.0f;
m_bGraduationDirect = TRUE ;
m_fGraduationPercentage = 0.95f;
m_fGraduationDistance = 10.0f;
m_iSizeL = 32;
m_iSizeH = 16;
m_colColor = (C_WHITE | CT_OPAQUE );
CMarker::SetDefaultProperties();
}
#line 58 "D:/SE1_GPL/Sources/EntitiesMP/FogMarker.es"
const CTString & CFogMarker::GetFogName(void)
#line 59 "D:/SE1_GPL/Sources/EntitiesMP/FogMarker.es"
{
#line 60 "D:/SE1_GPL/Sources/EntitiesMP/FogMarker.es"
return m_strName ;
#line 61 "D:/SE1_GPL/Sources/EntitiesMP/FogMarker.es"
}
#line 63 "D:/SE1_GPL/Sources/EntitiesMP/FogMarker.es"
void CFogMarker::GetFog(class CFogParameters & fpFog)
#line 64 "D:/SE1_GPL/Sources/EntitiesMP/FogMarker.es"
{
#line 65 "D:/SE1_GPL/Sources/EntitiesMP/FogMarker.es"
const FLOATmatrix3D & m = GetRotationMatrix ();
#line 66 "D:/SE1_GPL/Sources/EntitiesMP/FogMarker.es"
fpFog . fp_vFogDir (1) = m (1 , 2);
#line 67 "D:/SE1_GPL/Sources/EntitiesMP/FogMarker.es"
fpFog . fp_vFogDir (2) = m (2 , 2);
#line 68 "D:/SE1_GPL/Sources/EntitiesMP/FogMarker.es"
fpFog . fp_vFogDir (3) = m (3 , 2);
#line 69 "D:/SE1_GPL/Sources/EntitiesMP/FogMarker.es"
FLOAT fPos = fpFog . fp_vFogDir % GetPlacement () . pl_PositionVector ;
#line 70 "D:/SE1_GPL/Sources/EntitiesMP/FogMarker.es"
fpFog . fp_colColor = m_colColor ;
#line 71 "D:/SE1_GPL/Sources/EntitiesMP/FogMarker.es"
fpFog . fp_atType = (AttenuationType ) m_faType ;
#line 72 "D:/SE1_GPL/Sources/EntitiesMP/FogMarker.es"
fpFog . fp_fDensity = m_fDensity ;
#line 73 "D:/SE1_GPL/Sources/EntitiesMP/FogMarker.es"
fpFog . fp_fgtType = (FogGraduationType ) m_fgType ;
#line 74 "D:/SE1_GPL/Sources/EntitiesMP/FogMarker.es"
fpFog . fp_fGraduation = m_fGraduation ;
#line 75 "D:/SE1_GPL/Sources/EntitiesMP/FogMarker.es"
fpFog . fp_fH0 = fPos - m_fDepth - m_fBelow ;
#line 76 "D:/SE1_GPL/Sources/EntitiesMP/FogMarker.es"
fpFog . fp_fH1 = fPos - m_fDepth ;
#line 77 "D:/SE1_GPL/Sources/EntitiesMP/FogMarker.es"
fpFog . fp_fH2 = fPos ;
#line 78 "D:/SE1_GPL/Sources/EntitiesMP/FogMarker.es"
fpFog . fp_fH3 = fPos + m_fAbove ;
#line 79 "D:/SE1_GPL/Sources/EntitiesMP/FogMarker.es"
fpFog . fp_fFar = m_fFar ;
#line 80 "D:/SE1_GPL/Sources/EntitiesMP/FogMarker.es"
fpFog . fp_iSizeH = m_iSizeH ;
#line 81 "D:/SE1_GPL/Sources/EntitiesMP/FogMarker.es"
fpFog . fp_iSizeL = m_iSizeL ;
#line 82 "D:/SE1_GPL/Sources/EntitiesMP/FogMarker.es"
}
BOOL CFogMarker::
#line 84 "D:/SE1_GPL/Sources/EntitiesMP/FogMarker.es"
Main(const CEntityEvent &__eeInput) {
#undef STATE_CURRENT
#define STATE_CURRENT STATE_CFogMarker_Main
ASSERTMSG(__eeInput.ee_slEvent==EVENTCODE_EVoid, "CFogMarker::Main expects 'EVoid' as input!"); const EVoid &e = (const EVoid &)__eeInput;
#line 86 "D:/SE1_GPL/Sources/EntitiesMP/FogMarker.es"
InitAsEditorModel ();
#line 87 "D:/SE1_GPL/Sources/EntitiesMP/FogMarker.es"
SetPhysicsFlags (EPF_MODEL_IMMATERIAL );
#line 88 "D:/SE1_GPL/Sources/EntitiesMP/FogMarker.es"
SetCollisionFlags (ECF_IMMATERIAL );
#line 91 "D:/SE1_GPL/Sources/EntitiesMP/FogMarker.es"
SetModel (MODEL_MARKER );
#line 92 "D:/SE1_GPL/Sources/EntitiesMP/FogMarker.es"
SetModelMainTexture (TEXTURE_MARKER );
#line 95 "D:/SE1_GPL/Sources/EntitiesMP/FogMarker.es"
if(m_strName == "Marker"){
#line 96 "D:/SE1_GPL/Sources/EntitiesMP/FogMarker.es"
m_strName = "Fog marker";
#line 97 "D:/SE1_GPL/Sources/EntitiesMP/FogMarker.es"
}
#line 100 "D:/SE1_GPL/Sources/EntitiesMP/FogMarker.es"
if(! m_bDensityDirect ){
#line 102 "D:/SE1_GPL/Sources/EntitiesMP/FogMarker.es"
switch(m_faType ){
#line 103 "D:/SE1_GPL/Sources/EntitiesMP/FogMarker.es"
case FA_LINEAR :
#line 104 "D:/SE1_GPL/Sources/EntitiesMP/FogMarker.es"
m_fDensity = m_fDensityPercentage / m_fDensityDistance ;
#line 105 "D:/SE1_GPL/Sources/EntitiesMP/FogMarker.es"
break ;
#line 106 "D:/SE1_GPL/Sources/EntitiesMP/FogMarker.es"
case FA_EXP :
#line 107 "D:/SE1_GPL/Sources/EntitiesMP/FogMarker.es"
m_fDensity = - log (1 - m_fDensityPercentage ) / m_fDensityDistance ;
#line 108 "D:/SE1_GPL/Sources/EntitiesMP/FogMarker.es"
break ;
#line 109 "D:/SE1_GPL/Sources/EntitiesMP/FogMarker.es"
case FA_EXP2 :
#line 110 "D:/SE1_GPL/Sources/EntitiesMP/FogMarker.es"
m_fDensity = Sqrt (- log (1 - m_fDensityPercentage )) / m_fDensityDistance ;
#line 111 "D:/SE1_GPL/Sources/EntitiesMP/FogMarker.es"
break ;
#line 112 "D:/SE1_GPL/Sources/EntitiesMP/FogMarker.es"
}
#line 113 "D:/SE1_GPL/Sources/EntitiesMP/FogMarker.es"
}
#line 116 "D:/SE1_GPL/Sources/EntitiesMP/FogMarker.es"
if(! m_bGraduationDirect ){
#line 118 "D:/SE1_GPL/Sources/EntitiesMP/FogMarker.es"
switch(m_fgType ){
#line 119 "D:/SE1_GPL/Sources/EntitiesMP/FogMarker.es"
case FG_LINEAR :
#line 120 "D:/SE1_GPL/Sources/EntitiesMP/FogMarker.es"
m_fGraduation = m_fGraduationPercentage / m_fGraduationDistance ;
#line 121 "D:/SE1_GPL/Sources/EntitiesMP/FogMarker.es"
break ;
#line 122 "D:/SE1_GPL/Sources/EntitiesMP/FogMarker.es"
case FG_EXP :
#line 123 "D:/SE1_GPL/Sources/EntitiesMP/FogMarker.es"
m_fGraduation = - log (1 - m_fGraduationPercentage ) / m_fGraduationDistance ;
#line 124 "D:/SE1_GPL/Sources/EntitiesMP/FogMarker.es"
break ;
#line 125 "D:/SE1_GPL/Sources/EntitiesMP/FogMarker.es"
}
#line 126 "D:/SE1_GPL/Sources/EntitiesMP/FogMarker.es"
}
#line 130 "D:/SE1_GPL/Sources/EntitiesMP/FogMarker.es"
m_fDensity = ClampDn (m_fDensity , 1E-6f);
#line 132 "D:/SE1_GPL/Sources/EntitiesMP/FogMarker.es"
m_fDepth = ClampDn (m_fDepth , 0.001f);
#line 133 "D:/SE1_GPL/Sources/EntitiesMP/FogMarker.es"
m_fAbove = ClampDn (m_fAbove , 0.001f);
#line 134 "D:/SE1_GPL/Sources/EntitiesMP/FogMarker.es"
m_fBelow = ClampDn (m_fBelow , 0.001f);
#line 135 "D:/SE1_GPL/Sources/EntitiesMP/FogMarker.es"
m_fFar = ClampDn (m_fFar , 0.001f);
#line 137 "D:/SE1_GPL/Sources/EntitiesMP/FogMarker.es"
m_iSizeL = 1 << INDEX (Log2 (m_iSizeL ));
#line 138 "D:/SE1_GPL/Sources/EntitiesMP/FogMarker.es"
m_iSizeH = 1 << INDEX (Log2 (m_iSizeH ));
#line 139 "D:/SE1_GPL/Sources/EntitiesMP/FogMarker.es"
m_iSizeL = Clamp (m_iSizeL , INDEX (2) , INDEX (256));
#line 140 "D:/SE1_GPL/Sources/EntitiesMP/FogMarker.es"
m_iSizeH = Clamp (m_iSizeH , INDEX (2) , INDEX (256));
#line 142 "D:/SE1_GPL/Sources/EntitiesMP/FogMarker.es"
Return(STATE_CURRENT,EVoid());
#line 142 "D:/SE1_GPL/Sources/EntitiesMP/FogMarker.es"
return TRUE; ASSERT(FALSE); return TRUE;};