/* * 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 #include 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;};