class Shader extends RenderedMaterial editinlinenew native; var() editinlineuse Material Diffuse; var() editinlineuse Material Opacity; var() editinlineuse Material Specular; var() editinlineuse Material SpecularityMask; var() editinlineuse Material SelfIllumination; var() editinlineuse Material SelfIlluminationMask; var() editinlineuse Material Detail; var() float DetailScale; var() enum EOutputBlending { OB_Normal, OB_Masked, OB_Modulate, OB_Translucent, OB_Invisible, OB_Brighten, OB_Darken } OutputBlending; var() bool TwoSided; var() bool Wireframe; var bool ModulateStaticLighting2X; var() bool PerformLightingOnSpecularPass; var() bool ModulateSpecular2X; // sjs function Reset() { if(Diffuse != None) Diffuse.Reset(); if(Opacity != None) Opacity.Reset(); if(Specular != None) Specular.Reset(); if(SpecularityMask != None) SpecularityMask.Reset(); if(SelfIllumination != None) SelfIllumination.Reset(); if(SelfIlluminationMask != None) SelfIlluminationMask.Reset(); if(FallbackMaterial != None) FallbackMaterial.Reset(); } function Trigger( Actor Other, Actor EventInstigator ) { if(Diffuse != None) Diffuse.Trigger(Other,EventInstigator); if(Opacity != None) Opacity.Trigger(Other,EventInstigator); if(Specular != None) Specular.Trigger(Other,EventInstigator); if(SpecularityMask != None) SpecularityMask.Trigger(Other,EventInstigator); if(SelfIllumination != None) SelfIllumination.Trigger(Other,EventInstigator); if(SelfIlluminationMask != None) SelfIlluminationMask.Trigger(Other,EventInstigator); if(FallbackMaterial != None) FallbackMaterial.Trigger(Other,EventInstigator); } defaultproperties { ModulateStaticLighting2X=true ModulateSpecular2X=false DetailScale=8.0 // MT_Shader MaterialType=4 }