KMQuake2 0.20 supports scripting for md3 and md2 models on a per-mesh, per-skin basis. The name of the script file is the same as the md3 or md2 model, but with a .script extension, e.g. the script for models/mapobjects/gargoyle.md3 is models/mapobjects/gargoyle.script Inside the script file, the scripting parameters for each mesh and skin is enclosed in curly braces, proceeded by the skin name formatted as . For md2 models (which only have one mesh), the meshname is always md2mesh. For example, if the mesh name to be scripted for is gargoyle, and the skinnum is 0 (the first skinnum), the skin name would be gargoyle.0 Here's an example of scripting parameters for this skin: gargoyle.0 { noshadow nodiffuse envmap 0.15 } This script specifies that this particular skin is to cast no shadow, not be vertex lit, and be envmapped with a translucency of 0.15. If the mesh has a second skin that a different effect is desired for, a set of parameters can also be scripted for that skin: gargoyle.1 { noshadow trans 0.6 scroll 0.5 0.5 } This makes this particular skin cast no shadow, have a translucencly of 0.6, and scroll 0.5 units on both the x and y axis. Here's a list of parameters that can be used on skins: twosided - makes this skin render as two-sided. alphatest - makes this skin render with alpha testing enabled (requires alpha channel). fullbright - makes this skin always be drawn at full brightness. nodraw - makes this mesh not be rendered for this skinnum. noshadow - makes this mesh with this skin not cast a shadow. nodiffuse - makes this mesh with this skin not vertex lit. envmap - makes this skin be envmapped with a specified translucency between 0 and 1 trans - makes this skin be tranlucent with the specified value between 0 and 1 alpha - same as trans blendfunc - sets the transparent blendfunc for this skin- add, filter, or blend, blendfunc - similar to above, but uses a specifed combination of src and dst blendfuncs. glow identity - draws imagename as a fullbright glow over the texture glow wave - draws imagename as a glow over the texture, brightness controlled by using func waveform (sin, triangle, square, sawtooth, inversesawtooth, noise) tcmod - supports most of the tcmod functions that Q3 shaders do tcmod rotate - rotates the texture by rotspeed degrees tcmod scale - scales the texture by x and y factors tcmod stretch - stretches the texture using func waveform (sin, triangle, square, sawtooth, inversesawtooth, noise) tcmod turb - warps the texture (base is not used) tcmod scroll - scrolls the texture by x and y