cod2-sdk/deffiles/material.gdf

1723 lines
28 KiB
Plaintext

#name "material"
#dll "pc" "material"
#dll "xenon" "material_xenon"
#source_dir "material_source"
#target_dir "materials/"
#target_dir "images/"
#file_ext "*"
#version 79
string "material.template" template
enum
{
"world phong",
"model phong",
"model ambient",
"unlit",
"2d",
"impact mark",
"effect",
"distortion",
"particle cloud",
"tools",
"sky",
"water",
"objective",
"custom"
} materialType
// Locale specifications. Adding a new locale also requires adding a checkbox for it.
// Locale specifications must match the locales in 'locale.txt' exactly, with spaces
// replaced by '_' and with 'locale_' prefixed.
int 0 0 1 locale_case
int 0 0 1 locale_test
int 0 0 1 locale_tools
int 0 0 1 locale_decal
int 0 0 1 locale_Stalingrad
int 0 0 1 locale_Stalingrad_winter
int 0 0 1 locale_Kiev
int 0 0 1 locale_Iwo_Jima
int 0 0 1 locale_Tinian
int 0 0 1 locale_Tarawa
int 0 0 1 locale_Hill_400
int 0 0 1 locale_Normandy
int 0 0 1 locale_Duhoc
int 0 0 1 locale_Villers
int 0 0 1 locale_Egypt
int 0 0 1 locale_Libya
int 0 0 1 locale_Tunisia
int 0 0 1 locale_Industrial
int 0 0 1 locale_Poland
// Usage specifications. Adding a new usage only requires changing this list.
enum
{
"<not in editor>",
"case",
"tools",
"------------------------",
"door",
"floor",
"ceiling",
"roof",
"interior wall",
"interior trim",
"exterior wall",
"exterior trim",
"window",
"poster",
"sign",
"------------------------",
"core",
"damage",
"------------------------",
"trench",
"fence",
"background",
"foliage",
"ground",
"liquid",
"road",
"rock",
"sky",
"------------------------",
"barrel",
"crate"
} usage
enum {
"<error>",
"<none>",
"asphalt",
"bark",
"brick",
"carpet",
"cloth",
"concrete",
"dirt",
"flesh",
"foliage",
"glass",
"grass",
"gravel",
"ice",
"metal",
"mud",
"paper",
"plaster",
"rock",
"sand",
"snow",
"water",
"wood"
} surfaceType
int 0 0 1 missileClip
int 0 0 1 bulletClip
int 0 0 1 playerClip
int 0 0 1 aiClip
int 0 0 1 vehicleClip
int 0 0 1 itemClip
int 0 0 1 canShootClip
int 0 0 1 aiSightClip
int 0 0 1 noFallDamage
int 0 0 1 noSteps
int 0 0 1 noImpact
int 0 0 1 noMarks
int 0 0 1 noDrop
int 0 0 1 slick
int 0 0 1 ladder
int 0 0 1 mantleOn
int 0 0 1 mantleOver
int 0 0 1 noLightmap
int 0 0 1 noDynamicLight
int 0 0 1 noCastShadow
int 0 0 1 noDraw
int 0 0 1 noFog
int 0 0 1 drawToggle
int 0 0 1 sky
int 0 0 1 radialNormals
int 0 0 1 nonColliding
int 0 0 1 nonSolid
int 0 0 1 transparent
int 0 0 1 detail
int 0 0 1 structural
int 0 0 1 portal
int 0 0 1 occluder
int 0 0 1 origin
int 0 0 1 zFeather
int 40 0 1024 zFeatherDepth
int 0 0 1 outdoorOnly
int 0 0 1 texScroll
float 8 1 64 detailScaleX
float 8 1 64 detailScaleY
enum {
"<default>*",
"distortion",
"opaque water",
"boat hull",
"opaque",
"sky",
"skybox - sun / moon",
"skybox - clouds",
"skybox - horizon",
"decal - bottom 1",
"decal - bottom 2",
"decal - bottom 3",
"decal - static decal",
"decal - middle 1",
"decal - middle 2",
"decal - middle 3",
"decal - weapon impact",
"decal - top 1",
"decal - top 2",
"decal - top 3",
"multiplicative",
"banner / curtain",
"hair",
"underwater",
"transparent water",
"corona",
"window inside",
"window outside",
"blend / additive",
"viewmodel effect"
} sort
string customTemplate
string customString
string colorMap
string detailMap
string normalMap
string specColorMap
string cosinePowerMap
string cubicEnvMap
int 100 10 100 specColorStrength
int 100 10 100 cosinePowerStrength
enum { "tile both*", "tile horizontal", "tile vertical", "no tile" } tileColor
enum { "tile both*", "tile horizontal", "tile vertical", "no tile" } tileNormal
enum { "tile both*", "tile horizontal", "tile vertical", "no tile" } tileSpecular
enum { "<auto filter>*", "bilinear", "trilinear", "anisotropic", "nearest", "linear" } filterColor
enum { "<auto filter>*", "bilinear", "trilinear", "anisotropic", "nearest", "linear" } filterDetail
enum { "<auto filter>*", "bilinear", "trilinear", "anisotropic", "nearest", "linear" } filterNormal
enum { "<auto filter>*", "bilinear", "trilinear", "anisotropic", "nearest", "linear" } filterSpecular
enum { "<auto filter>*", "bilinear", "trilinear", "anisotropic", "nearest", "linear" } filterCubicEnv
int 0 0 1 nopicmipColor
int 0 0 1 nopicmipDetail
int 0 0 1 nopicmipNormal
int 0 0 1 nopicmipSpecular
int 0 0 1 nopicmipCubicEnv
float 0 0 65536 tessSize
int 1 1 64 textureAtlasRowCount
int 1 1 64 textureAtlasColumnCount
float 0.5 0 1000 distortionScaleX
float 0.5 0 1000 distortionScaleY
int 64 4 128 waterMapTextureWidth
float 37 0 10000 waterMapHorizontalWorldLength
float 37 0 10000 waterMapVerticalWorldLength
float 76 0 10000 waterMapWindSpeed
float 1 0 1 waterMapWindDirectionX
float 0 0 1 waterMapWindDirectionY
float 0.06 0 10000 waterMapAmplitude
float 0.2 0 1 waterColorR
float 0.3 0 1 waterColorG
float 0.4 0 1 waterColorB
enum { "<auto compression>*", "Uncompressed", "Alpha Only", "DXT1", "DXT3", "DXT5" } formatColor
enum { "<auto compression>*", "Uncompressed", "Alpha Only", "DXT1", "DXT3", "DXT5" } formatDetail
enum { "<auto compression>*", "Uncompressed", "DXT3", "DXT5" } formatSpecular
enum { "<auto compression>*", "Uncompressed", "Alpha Only", "DXT1", "DXT3", "DXT5" } formatCubicEnv
enum { "Replace*", "Blend", "Add", "Multiply", "Custom" } blendFunc
enum { "Add*", "Subtract", "RevSubtract", "Min", "Max", "Disable" } customBlendOpRgb
enum { "Add*", "Subtract", "RevSubtract", "Min", "Max", "Disable" } customBlendOpAlpha
enum { "One*", "Zero", "SrcColor", "InvSrcColor", "SrcAlpha", "InvSrcAlpha", "DestAlpha", "InvDestAlpha", "DestColor", "InvDestColor" } srcCustomBlendFunc
enum { "One*", "Zero", "SrcColor", "InvSrcColor", "SrcAlpha", "InvSrcAlpha", "DestAlpha", "InvDestAlpha", "DestColor", "InvDestColor" } destCustomBlendFunc
enum { "One*", "Zero", "SrcColor", "InvSrcColor", "SrcAlpha", "InvSrcAlpha", "DestAlpha", "InvDestAlpha", "DestColor", "InvDestColor" } srcCustomBlendFuncAlpha
enum { "One*", "Zero", "SrcColor", "InvSrcColor", "SrcAlpha", "InvSrcAlpha", "DestAlpha", "InvDestAlpha", "DestColor", "InvDestColor" } destCustomBlendFuncAlpha
enum { "Always*", "GT0", "GE128", "LT128" } alphaTest
enum { "LessEqual*", "Equal", "Always", "Disable" } depthTest
enum { "<auto>*", "On", "Off" } depthWrite
enum { "Back*", "Front", "None" } cullFace
enum { "None*", "Static Decal", "Weapon Impact" } polygonOffset
enum { "<none>*", "PC / Xenon" } showAdvancedOptions
enum { "Enable", "Disable" } colorWriteRed
enum { "Enable", "Disable" } colorWriteGreen
enum { "Enable", "Disable" } colorWriteBlue
enum { "Enable", "Disable" } colorWriteAlpha
enum { "Keep", "Zero", "Replace", "IncrSat", "DecrSat", "Invert", "Incr", "Decr" } stencilOpFail1
enum { "Keep", "Zero", "Replace", "IncrSat", "DecrSat", "Invert", "Incr", "Decr" } stencilOpZFail1
enum { "Keep", "Zero", "Replace", "IncrSat", "DecrSat", "Invert", "Incr", "Decr" } stencilOpPass1
enum { "Keep", "Zero", "Replace", "IncrSat", "DecrSat", "Invert", "Incr", "Decr" } stencilOpFail2
enum { "Keep", "Zero", "Replace", "IncrSat", "DecrSat", "Invert", "Incr", "Decr" } stencilOpZFail2
enum { "Keep", "Zero", "Replace", "IncrSat", "DecrSat", "Invert", "Incr", "Decr" } stencilOpPass2
enum { "Always", "Never", "Less", "Equal", "LessEqual", "Greater", "NotEqual", "GreaterEqual" } stencilFunc1
enum { "Always", "Never", "Less", "Equal", "LessEqual", "Greater", "NotEqual", "GreaterEqual" } stencilFunc2
enum { "Disable", "One-sided", "Two-sided" } stencil
vcontainer
{
hcontainer
{
scrollbox( materialType )
[
exec
{
width( 215 )
labelwidth( 100 )
}
]
scrollbox( sort )
[
exec
{
width( 230 )
labelwidth( 55 )
unsorted()
visible( blendFunc != "Multiply" )
}
]
}
hcontainer
{
scrollbox( surfaceType )
[
exec
{
width( 215 )
labelwidth( 100 )
}
]
scrollbox( usage )
[
exec
{
width( 230 )
labelwidth( 55 )
unsorted()
}
]
}
vcontainer
{
hcontainer
{
checkbox( locale_case )
[
exec
{
righttext()
height( 15 )
label( "case" )
}
]
checkbox( locale_test )
[
exec
{
righttext()
height( 15 )
label( "test" )
}
]
checkbox( locale_tools )
[
exec
{
righttext()
height( 15 )
label( "tools" )
}
]
checkbox( locale_decal )
[
exec
{
righttext()
height( 15 )
label( "decal" )
}
]
}
hcontainer
{
checkbox( locale_Stalingrad )
[
exec
{
righttext()
height( 15 )
label( "Stalingrad" )
}
]
checkbox( locale_Stalingrad_winter )
[
exec
{
righttext()
height( 15 )
label( "Stalingrad winter" )
}
]
checkbox( locale_Kiev )
[
exec
{
righttext()
height( 15 )
label( "Kiev" )
}
]
}
hcontainer
{
checkbox( locale_Iwo_Jima )
[
exec
{
righttext()
height( 15 )
label( "Iwo Jima" )
}
]
checkbox( locale_Tinian )
[
exec
{
righttext()
height( 15 )
label( "Tinian" )
}
]
checkbox( locale_Tarawa )
[
exec
{
righttext()
height( 15 )
label( "Tarawa" )
}
]
}
hcontainer
{
checkbox( locale_Hill_400 )
[
exec
{
righttext()
height( 15 )
label( "Hill 400" )
}
]
checkbox( locale_Normandy )
[
exec
{
righttext()
height( 15 )
label( "Normandy" )
}
]
checkbox( locale_Duhoc )
[
exec
{
righttext()
height( 15 )
label( "Duhoc" )
}
]
checkbox( locale_Villers )
[
exec
{
righttext()
height( 15 )
label( "Villers" )
}
]
}
hcontainer
{
checkbox( locale_Egypt )
[
exec
{
righttext()
height( 15 )
label( "Egypt" )
}
]
checkbox( locale_Libya )
[
exec
{
righttext()
height( 15 )
label( "Libya" )
}
]
checkbox( locale_Tunisia )
[
exec
{
righttext()
height( 15 )
label( "Tunisia" )
}
]
}
hcontainer
{
checkbox( locale_Industrial )
[
exec
{
righttext()
height( 15 )
label( "Industrial" )
}
]
checkbox( locale_Poland )
[
exec
{
righttext()
height( 15 )
label( "Poland" )
}
]
}
}
[
exec
{
visible( materialType != "2d" && materialType != "particle cloud" && materialType != "objective" )
groupBox( "Locales (select all appropriate for world materials)" )
}
]
vcontainer
{
hcontainer
{
scrollbox( blendFunc )
[
exec
{
width( 215 )
labelwidth( 100 )
}
]
scrollbox( cullFace )
[
exec
{
width( 215 )
labelwidth( 100 )
}
]
scrollbox( polygonOffset )
[
exec
{
width( 265 )
labelwidth( 100 )
}
]
}
hcontainer
{
scrollbox( customBlendOpRgb )
[
exec
{
width( 215 )
label( "blendOp" )
labelwidth( 100 )
}
]
scrollbox( srcCustomBlendFunc )
[
exec
{
width( 215 )
label( "srcBlend" )
labelwidth( 100 )
}
]
scrollbox( destCustomBlendFunc )
[
exec
{
width( 215 )
label( "destBlend" )
labelwidth( 100 )
}
]
}
[
exec
{
visible( blendFunc == "Custom" )
}
]
hcontainer
{
scrollbox( customBlendOpAlpha )
[
exec
{
width( 215 )
label( "separateAlpha" )
labelwidth( 100 )
}
]
scrollbox( srcCustomBlendFuncAlpha )
[
exec
{
width( 215 )
label( "srcBlend" )
labelwidth( 100 )
}
]
scrollbox( destCustomBlendFuncAlpha )
[
exec
{
width( 215 )
label( "destBlend" )
labelwidth( 100 )
}
]
}
[
exec
{
visible( blendFunc == "Custom" )
}
]
hcontainer
{
scrollbox( alphaTest )
[
exec
{
width( 215 )
labelwidth( 100 )
}
]
scrollbox( depthTest )
[
exec
{
width( 215 )
labelwidth( 100 )
}
]
scrollbox( depthWrite )
[
exec
{
width( 175 )
labelwidth( 100 )
}
]
floatedit( tessSize, 32, 256 )
[
exec
{
width( 125 )
labelwidth( 65 )
visible( materialType == "world phong" || materialType == "custom" )
}
]
}
}
[
exec
{
visible( materialType != "sky" && materialType != "objective" )
groupBox( "Framebuffer operations" )
}
]
vcontainer
{
edit( customTemplate )
[
exec
{
width( 450 )
label( "Template" )
labelwidth( 100 )
}
]
edit( customString )
[
exec
{
width( 450 )
label( "String" )
labelwidth( 100 )
}
]
}
[
exec
{
visible( materialType == "custom" )
groupBox( "Custom Settings" )
}
]
vcontainer
{
spinedit( textureAtlasRowCount, 1, 5 )
[
exec
{
width( 150 )
labelwidth( 100 )
label( "Row Count" )
}
]
spinedit( textureAtlasColumnCount, 1, 5 )
[
exec
{
width( 150 )
labelwidth( 100 )
label( "Column Count" )
}
]
}
[
exec
{
groupBox( "Texture Atlas Settings" )
visible( materialType == "effect" || materialType == "distortion" || materialType == "custom" )
}
]
vcontainer
{
floatedit( distortionScaleX, 1, 10 )
[
exec
{
width( 150 )
labelwidth( 100 )
label( "Scale X" )
}
]
floatedit( distortionScaleY, 1, 10 )
[
exec
{
width( 150 )
labelwidth( 100 )
label( "Scale Y" )
}
]
}
[
exec
{
groupBox( "Distortion Settings" )
visible( materialType == "distortion" || materialType == "custom" )
}
]
vcontainer
{
checkbox( zFeather )
[
exec
{
righttext()
height( 15 )
label( "Enable" )
}
]
spinedit( zFeatherDepth, 0, 1024 )
[
exec
{
width( 150 )
labelwidth( 100 )
label( "Depth" )
}
]
}
[
exec
{
groupBox( "Z Feathering" )
visible( materialType == "effect" || materialType == "custom" )
}
]
vcontainer
{
checkbox( outdoorOnly )
[
exec
{
righttext()
height( 15 )
label( "Outdoor Only" )
}
]
}
[
exec
{
visible( (materialType == "effect" && zFeather == 1) || materialType == "particle cloud" )
}
]
vcontainer
{
fileedit( colorMap )
[
exec
{
width( 450 )
labelwidth( 0 )
}
]
hcontainer
{
scrollbox( tileColor )
[
exec
{
visible( materialType != "sky" && materialType != "water" && materialType != "objective" )
width( 115 )
labelwidth( 0 )
}
]
scrollbox( filterColor )
[
exec
{
width( 110 )
labelwidth( 0 )
}
]
scrollbox( formatColor )
[
exec
{
width( 165 )
labelwidth( 0 )
}
]
checkbox( nopicmipColor )
[
exec
{
righttext()
labelwidth( 65 )
label( "nopicmip" )
}
]
}
}
[
exec
{
groupBox( "Color map" )
visible( materialType != "water" )
}
]
vcontainer
{
fileedit( detailMap )
[
exec
{
width( 450 )
labelwidth( 0 )
}
]
hcontainer
{
floatedit( detailScaleX, 1, 4 )
[
exec
{
label( "x scale" )
labelwidth( 55 )
width( 100 )
}
]
floatedit( detailScaleY, 1, 4 )
[
exec
{
label( "y scale" )
labelwidth( 55 )
width( 100 )
}
]
scrollbox( filterDetail )
[
exec
{
width( 110 )
labelwidth( 0 )
}
]
scrollbox( formatDetail )
[
exec
{
width( 165 )
labelwidth( 0 )
}
]
checkbox( nopicmipDetail )
[
exec
{
righttext()
labelwidth( 65 )
label( "nopicmip" )
}
]
}
}
[
exec
{
groupBox( "Detail map" )
visible( materialType == "world phong" || materialType == "model phong" )
}
]
vcontainer
{
fileedit( normalMap )
[
exec
{
width( 450 )
labelwidth( 0 )
}
]
hcontainer
{
scrollbox( tileNormal )
[
exec
{
width( 115 )
labelwidth( 0 )
}
]
scrollbox( filterNormal )
[
exec
{
width( 110 )
labelwidth( 0 )
}
]
checkbox( nopicmipNormal )
[
exec
{
righttext()
labelwidth( 65 )
label( "nopicmip" )
}
]
}
}
[
exec
{
visible( materialType != "2d" && materialType != "unlit" && materialType != "effect" && materialType != "distortion" && materialType != "tools" && materialType != "sky" && materialType != "water" && materialType != "particle cloud" && materialType != "objective" && materialType != "model ambient" )
groupBox( "Normal map" )
}
]
vcontainer
{
hcontainer
{
spinedit( waterMapTextureWidth, 1, 5 )
[
exec
{
width( 250 )
labelwidth( 170 )
label( "Texture Width / Height" )
}
]
floatedit( waterMapWindSpeed, 1, 5 )
[
exec
{
width( 200 )
labelwidth( 120 )
label( "Wind Speed" )
}
]
}
hcontainer
{
floatedit( waterMapHorizontalWorldLength, 1, 5 )
[
exec
{
width( 250 )
labelwidth( 170 )
label( "Horizontal World Length" )
}
]
floatedit( waterMapWindDirectionX, 0.1, 0.2 )
[
exec
{
width( 200 )
labelwidth( 120 )
label( "Wind Direction X" )
}
]
}
hcontainer
{
floatedit( waterMapVerticalWorldLength, 1, 5 )
[
exec
{
width( 250 )
labelwidth( 170 )
label( "Vertical World Length" )
}
]
floatedit( waterMapWindDirectionY, 0.1, 0.2 )
[
exec
{
width( 200 )
labelwidth( 120 )
label( "Wind Direction Y" )
}
]
}
hcontainer
{
floatedit( waterMapAmplitude, 1, 5 )
[
exec
{
width( 250 )
labelwidth( 170 )
label( "Amplitude" )
}
]
}
hcontainer
{
floatedit( waterColorR, 0.01, 0.05 )
[
exec
{
width( 250 )
labelwidth( 170 )
label( "Color" )
}
]
floatedit( waterColorG, 0.01, 0.05 )
[
exec
{
width( 80 )
labelwidth( 0 )
label( "" )
}
]
floatedit( waterColorB, 0.01, 0.05 )
[
exec
{
width( 80 )
labelwidth( 0 )
label( "" )
}
]
}
}
[
exec
{
visible( materialType == "water" )
groupBox( "Water map" )
}
]
vcontainer
{
hcontainer
{
fileedit( specColorMap )
[
exec
{
width( 450 )
labelwidth( 0 )
}
]
spinedit( specColorStrength, 1, 5 )
[
exec
{
width( 110 )
labelwidth( 60 )
label( "strength" )
}
]
}
hcontainer
{
scrollbox( tileSpecular )
[
exec
{
width( 115 )
labelwidth( 0 )
}
]
scrollbox( filterSpecular )
[
exec
{
width( 108 )
labelwidth( 0 )
}
]
scrollbox( formatSpecular )
[
exec
{
width( 165 )
labelwidth( 0 )
}
]
checkbox( nopicmipSpecular )
[
exec
{
righttext()
labelwidth( 65 )
label( "nopicmip" )
}
]
}
}
[
exec
{
visible( materialType != "2d" && materialType != "unlit" && materialType != "effect" && materialType != "distortion" && materialType != "tools" && materialType != "sky" && materialType != "water" && materialType != "particle cloud" && materialType != "objective" && materialType != "model ambient" )
groupBox( "Specular color map" )
}
]
vcontainer
{
hcontainer
{
fileedit( cosinePowerMap )
[
exec
{
width( 450 )
labelwidth( 0 )
}
]
spinedit( cosinePowerStrength, 1, 5 )
[
exec
{
width( 110 )
labelwidth( 60 )
label( "strength" )
}
]
}
hcontainer
{
scrollbox( tileSpecular )
[
exec
{
width( 115 )
labelwidth( 0 )
}
]
scrollbox( filterSpecular )
[
exec
{
width( 108 )
labelwidth( 0 )
}
]
scrollbox( formatSpecular )
[
exec
{
width( 165 )
labelwidth( 0 )
}
]
checkbox( nopicmipSpecular )
[
exec
{
righttext()
labelwidth( 65 )
label( "nopicmip" )
}
]
}
}
[
exec
{
visible( materialType != "2d" && materialType != "unlit" && materialType != "effect" && materialType != "distortion" && materialType != "tools" && materialType != "sky" && materialType != "water" && materialType != "particle cloud" && materialType != "objective" && materialType != "model ambient" )
groupBox( "Cosine power map" )
}
]
vcontainer
{
hcontainer
{
fileedit( cubicEnvMap )
[
exec
{
width( 450 )
labelwidth( 0 )
}
]
}
hcontainer
{
scrollbox( filterCubicEnv )
[
exec
{
width( 110 )
labelwidth( 0 )
}
]
scrollbox( formatCubicEnv )
[
exec
{
width( 165 )
labelwidth( 0 )
}
]
checkbox( nopicmipCubicEnv )
[
exec
{
righttext()
labelwidth( 65 )
label( "nopicmip" )
}
]
}
}
[
exec
{
visible( materialType == "water" )
groupBox( "Cubic Env Map" )
}
]
hcontainer
{
vcontainer
{
checkbox( missileClip )
[
exec
{
righttext()
height( 15 )
}
]
checkbox( bulletClip )
[
exec
{
righttext()
height( 15 )
}
]
checkbox( playerClip )
[
exec
{
righttext()
height( 15 )
}
]
checkbox( aiClip )
[
exec
{
righttext()
height( 15 )
}
]
checkbox( vehicleClip )
[
exec
{
righttext()
height( 15 )
}
]
checkbox( itemClip )
[
exec
{
righttext()
height( 15 )
}
]
checkbox( canShootClip )
[
exec
{
righttext()
height( 15 )
}
]
checkbox( aiSightClip )
[
exec
{
righttext()
height( 15 )
}
]
}
vcontainer
{
checkbox( noFallDamage )
[
exec
{
righttext()
height( 15 )
}
]
checkbox( noSteps )
[
exec
{
righttext()
height( 15 )
}
]
checkbox( noImpact )
[
exec
{
righttext()
height( 15 )
}
]
checkbox( noMarks )
[
exec
{
righttext()
height( 15 )
}
]
checkbox( noDrop )
[
exec
{
righttext()
height( 15 )
}
]
checkbox( slick )
[
exec
{
righttext()
height( 15 )
}
]
checkbox( ladder )
[
exec
{
righttext()
height( 15 )
}
]
checkbox( mantleOn )
[
exec
{
righttext()
height( 15 )
}
]
checkbox( mantleOver )
[
exec
{
righttext()
height( 15 )
}
]
}
vcontainer
{
checkbox( noLightmap )
[
exec
{
righttext()
height( 15 )
}
]
checkbox( noDynamicLight )
[
exec
{
righttext()
height( 15 )
}
]
checkbox( noCastShadow )
[
exec
{
righttext()
height( 15 )
}
]
checkbox( noDraw )
[
exec
{
righttext()
height( 15 )
}
]
checkbox( noFog )
[
exec
{
righttext()
height( 15 )
}
]
checkbox( drawToggle )
[
exec
{
righttext()
height( 15 )
}
]
checkbox( sky )
[
exec
{
righttext()
height( 15 )
}
]
checkbox( radialNormals )
[
exec
{
righttext()
height( 15 )
}
]
}
vcontainer
{
checkbox( nonColliding )
[
exec
{
righttext()
height( 15 )
}
]
checkbox( nonSolid )
[
exec
{
righttext()
height( 15 )
}
]
checkbox( transparent )
[
exec
{
righttext()
height( 15 )
}
]
checkbox( detail )
[
exec
{
righttext()
height( 15 )
}
]
checkbox( structural )
[
exec
{
righttext()
height( 15 )
}
]
checkbox( portal )
[
exec
{
righttext()
height( 15 )
}
]
checkbox( occluder )
[
exec
{
righttext()
height( 15 )
}
]
checkbox( origin )
[
exec
{
righttext()
height( 15 )
}
]
}
}
[
exec
{
visible( materialType != "2d" && materialType != "particle cloud" && materialType != "objective" )
groupBox( "Special surface properties (extremely rarely needed)" )
}
]
checkbox( texScroll )
[
exec
{
visible( materialType == "model phong" && blendFunc != "Add" )
righttext()
height( 15 )
label( "Texture Scroll" )
}
]
vcontainer
{
scrollbox( showAdvancedOptions )
[
exec
{
label( "Show Platform..." )
}
]
vcontainer
{
hcontainer
{
scrollbox( colorWriteRed )
[
exec
{
label( "Color Write - Red" )
}
]
scrollbox( colorWriteGreen )
[
exec
{
width( 150 )
labelwidth( 50 )
label( "Green" )
}
]
scrollbox( colorWriteBlue )
[
exec
{
width( 150 )
labelwidth( 50 )
label( "Blue" )
}
]
scrollbox( colorWriteAlpha )
[
exec
{
width( 150 )
labelwidth( 50 )
label( "Alpha" )
}
]
}
scrollbox( stencil )
[
exec
{
label( "Stencil" )
}
]
hcontainer
{
scrollbox( stencilFunc1 )
[
exec
{
label( "Front - Function" )
}
]
scrollbox( stencilOpFail1 )
[
exec
{
width( 150 )
labelwidth( 50 )
label( "Fail" )
}
]
scrollbox( stencilOpZFail1 )
[
exec
{
width( 150 )
labelwidth( 50 )
label( "Z-fail" )
}
]
scrollbox( stencilOpPass1 )
[
exec
{
width( 150 )
labelwidth( 50 )
label( "Pass" )
}
]
}
[
exec
{
visible( stencil != "Disable" )
}
]
hcontainer
{
scrollbox( stencilFunc2 )
[
exec
{
label( "Back - Function" )
}
]
scrollbox( stencilOpFail2 )
[
exec
{
width( 150 )
labelwidth( 50 )
label( "Fail" )
}
]
scrollbox( stencilOpZFail2 )
[
exec
{
width( 150 )
labelwidth( 50 )
label( "Z-fail" )
}
]
scrollbox( stencilOpPass2 )
[
exec
{
width( 150 )
labelwidth( 50 )
label( "Pass" )
}
]
}
[
exec
{
visible( stencil == "Two-sided" )
}
]
}
[
exec
{
visible( showAdvancedOptions == "PC / Xenon" )
}
]
}
[
exec
{
groupBox( "Advanced Options" )
}
]
}