"VertexLitGeneric" { "$basetexture" "models/player/engieplayer/engineer" "$bumpmap" "models/player/engieplayer/engineer_normal" "$detailscale" "5" "$detailblendfactor" .01 "$detailblendmode" 6 "$yellow" "0" "$one" "1" // "$bbqamount" "1" // "$two" "2.35" // "$one" "1" // "$absburnminusone" "1" // "$burnminusone" "1" // "$finalburnlevel" "1" // "$burnlevel" "0" "$phong" "1" "$phongexponent" "20" "$phongboost" ".3" "$lightwarptexture" "models/player/engieplayer/pyro_lightwarp" "$phongfresnelranges" "[.3 1 8]" "$halflambert" "0" // Rim lighting parameters "$rimlight" "1" // To enable rim lighting (requires phong) "$rimlightexponent" "4" // Exponent for phong component of rim lighting "$rimlightboost" "2" // Boost for ambient cube component of rim lighting "$blendtintbybasealpha" "1" // alpha channel of $basetexture: color mask. "$blendtintcoloroverbase" "0" // blend mode. anything =/= 0 is ugly! "$PhongBrightnessScalar" "0.5" // see below. "0.5" will get overwritten. Proxies { PlayerColor { resultVar $color2 // pass the player color value to Gmod default 0.1 0.1 0.1 // unused for now. } Clamp // clamp the chosen color between 1% and 125% (usually) { min 0.01 max 1.25 srcVar1 "$color2" resultVar "$color2" } Clamp // copy this value to phong tint, clamp it to 50% min. { min 0.5 max 1.0 srcVar1 "$color2" resultVar "$phongtint" } Equals // copy $color2 value to exterior variable. this makes it { // no longer a RGB array but a single float instead (!??) srcVar1 "$color2" resultVar "$PhongBrightnessScalar" } Multiply // multiply $phongtint by this new float value. { srcVar1 "$phongtint" srcVar2 "$phongBrightnessScalar" resultVar "$phongtint" } Clamp // the result of this multiply doesn't go any lower than 20% { min 0.25 max 1.00 srcVar1 "$phongtint" resultVar "$phongtint" } } }