]> git.xonotic.org Git - xonotic/netradiant.git/commitdiff
oops, get back setup/data/tools
authorrpolzer <rpolzer@61c419a2-8eb2-4b30-bcec-8cead039b335>
Tue, 16 Sep 2008 11:34:35 +0000 (11:34 +0000)
committerrpolzer <rpolzer@61c419a2-8eb2-4b30-bcec-8cead039b335>
Tue, 16 Sep 2008 11:34:35 +0000 (11:34 +0000)
git-svn-id: svn://svn.icculus.org/netradiant/trunk@60 61c419a2-8eb2-4b30-bcec-8cead039b335

110 files changed:
setup/data/tools/bitmaps/black.bmp [new file with mode: 0644]
setup/data/tools/bitmaps/brush_flipx.bmp [new file with mode: 0644]
setup/data/tools/bitmaps/brush_flipy.bmp [new file with mode: 0644]
setup/data/tools/bitmaps/brush_flipz.bmp [new file with mode: 0644]
setup/data/tools/bitmaps/brush_rotatex.bmp [new file with mode: 0644]
setup/data/tools/bitmaps/brush_rotatey.bmp [new file with mode: 0644]
setup/data/tools/bitmaps/brush_rotatez.bmp [new file with mode: 0644]
setup/data/tools/bitmaps/cap_bevel.bmp [new file with mode: 0644]
setup/data/tools/bitmaps/cap_cylinder.bmp [new file with mode: 0644]
setup/data/tools/bitmaps/cap_endcap.bmp [new file with mode: 0644]
setup/data/tools/bitmaps/cap_ibevel.bmp [new file with mode: 0644]
setup/data/tools/bitmaps/cap_iendcap.bmp [new file with mode: 0644]
setup/data/tools/bitmaps/console.bmp [new file with mode: 0644]
setup/data/tools/bitmaps/curve_cap.bmp [new file with mode: 0644]
setup/data/tools/bitmaps/dontselectcurve.bmp [new file with mode: 0644]
setup/data/tools/bitmaps/dontselectmodel.bmp [new file with mode: 0644]
setup/data/tools/bitmaps/ellipsis.bmp [new file with mode: 0644]
setup/data/tools/bitmaps/entities.bmp [new file with mode: 0644]
setup/data/tools/bitmaps/file_open.bmp [new file with mode: 0644]
setup/data/tools/bitmaps/file_save.bmp [new file with mode: 0644]
setup/data/tools/bitmaps/icon.bmp [new file with mode: 0644]
setup/data/tools/bitmaps/lightinspector.bmp [new file with mode: 0644]
setup/data/tools/bitmaps/logo.bmp [new file with mode: 0644]
setup/data/tools/bitmaps/modify_edges.bmp [new file with mode: 0644]
setup/data/tools/bitmaps/modify_faces.bmp [new file with mode: 0644]
setup/data/tools/bitmaps/modify_vertices.bmp [new file with mode: 0644]
setup/data/tools/bitmaps/noFalloff.bmp [new file with mode: 0644]
setup/data/tools/bitmaps/notex.bmp [new file with mode: 0644]
setup/data/tools/bitmaps/patch_bend.bmp [new file with mode: 0644]
setup/data/tools/bitmaps/patch_drilldown.bmp [new file with mode: 0644]
setup/data/tools/bitmaps/patch_insdel.bmp [new file with mode: 0644]
setup/data/tools/bitmaps/patch_showboundingbox.bmp [new file with mode: 0644]
setup/data/tools/bitmaps/patch_weld.bmp [new file with mode: 0644]
setup/data/tools/bitmaps/patch_wireframe.bmp [new file with mode: 0644]
setup/data/tools/bitmaps/popup_selection.bmp [new file with mode: 0644]
setup/data/tools/bitmaps/redo.bmp [new file with mode: 0644]
setup/data/tools/bitmaps/refresh_models.bmp [new file with mode: 0644]
setup/data/tools/bitmaps/scalelockx.bmp [new file with mode: 0644]
setup/data/tools/bitmaps/scalelocky.bmp [new file with mode: 0644]
setup/data/tools/bitmaps/scalelockz.bmp [new file with mode: 0644]
setup/data/tools/bitmaps/select_mouseresize.bmp [new file with mode: 0644]
setup/data/tools/bitmaps/select_mouserotate.bmp [new file with mode: 0644]
setup/data/tools/bitmaps/select_mousescale.bmp [new file with mode: 0644]
setup/data/tools/bitmaps/select_mousetranslate.bmp [new file with mode: 0644]
setup/data/tools/bitmaps/selection_csgmerge.bmp [new file with mode: 0644]
setup/data/tools/bitmaps/selection_csgsubtract.bmp [new file with mode: 0644]
setup/data/tools/bitmaps/selection_makehollow.bmp [new file with mode: 0644]
setup/data/tools/bitmaps/selection_selectcompletetall.bmp [new file with mode: 0644]
setup/data/tools/bitmaps/selection_selectinside.bmp [new file with mode: 0644]
setup/data/tools/bitmaps/selection_selectpartialtall.bmp [new file with mode: 0644]
setup/data/tools/bitmaps/selection_selecttouching.bmp [new file with mode: 0644]
setup/data/tools/bitmaps/shadernotex.bmp [new file with mode: 0644]
setup/data/tools/bitmaps/show_entities.bmp [new file with mode: 0644]
setup/data/tools/bitmaps/splash.bmp [new file with mode: 0644]
setup/data/tools/bitmaps/texture_browser.bmp [new file with mode: 0644]
setup/data/tools/bitmaps/texture_lock.bmp [new file with mode: 0644]
setup/data/tools/bitmaps/textures_popup.bmp [new file with mode: 0644]
setup/data/tools/bitmaps/undo.bmp [new file with mode: 0644]
setup/data/tools/bitmaps/view_cameratoggle.bmp [new file with mode: 0644]
setup/data/tools/bitmaps/view_cameraupdate.bmp [new file with mode: 0644]
setup/data/tools/bitmaps/view_change.bmp [new file with mode: 0644]
setup/data/tools/bitmaps/view_clipper.bmp [new file with mode: 0644]
setup/data/tools/bitmaps/view_cubicclipping.bmp [new file with mode: 0644]
setup/data/tools/bitmaps/view_entity.bmp [new file with mode: 0644]
setup/data/tools/bitmaps/white.bmp [new file with mode: 0644]
setup/data/tools/bitmaps/window1.bmp [new file with mode: 0644]
setup/data/tools/bitmaps/window2.bmp [new file with mode: 0644]
setup/data/tools/bitmaps/window3.bmp [new file with mode: 0644]
setup/data/tools/bitmaps/window4.bmp [new file with mode: 0644]
setup/data/tools/gl/lighting_DBS_XY_Z_arbfp1.cg [new file with mode: 0644]
setup/data/tools/gl/lighting_DBS_XY_Z_arbvp1.cg [new file with mode: 0644]
setup/data/tools/gl/lighting_DBS_omni_fp.glp [new file with mode: 0644]
setup/data/tools/gl/lighting_DBS_omni_fp.glsl [new file with mode: 0644]
setup/data/tools/gl/lighting_DBS_omni_vp.glp [new file with mode: 0644]
setup/data/tools/gl/lighting_DBS_omni_vp.glsl [new file with mode: 0644]
setup/data/tools/gl/utils.cg [new file with mode: 0644]
setup/data/tools/gl/zfill_arbfp1.cg [new file with mode: 0644]
setup/data/tools/gl/zfill_arbvp1.cg [new file with mode: 0644]
setup/data/tools/gl/zfill_fp.glp [new file with mode: 0644]
setup/data/tools/gl/zfill_fp.glsl [new file with mode: 0644]
setup/data/tools/gl/zfill_vp.glp [new file with mode: 0644]
setup/data/tools/gl/zfill_vp.glsl [new file with mode: 0644]
setup/data/tools/global.xlink [new file with mode: 0644]
setup/data/tools/plugins/bitmaps/bobtoolz_caulk.bmp [new file with mode: 0644]
setup/data/tools/plugins/bitmaps/bobtoolz_cleanup.bmp [new file with mode: 0644]
setup/data/tools/plugins/bitmaps/bobtoolz_dropent.bmp [new file with mode: 0644]
setup/data/tools/plugins/bitmaps/bobtoolz_merge.bmp [new file with mode: 0644]
setup/data/tools/plugins/bitmaps/bobtoolz_poly.bmp [new file with mode: 0644]
setup/data/tools/plugins/bitmaps/bobtoolz_split.bmp [new file with mode: 0644]
setup/data/tools/plugins/bitmaps/bobtoolz_trainpathplot.bmp [new file with mode: 0644]
setup/data/tools/plugins/bitmaps/bobtoolz_treeplanter.bmp [new file with mode: 0644]
setup/data/tools/plugins/bitmaps/bobtoolz_turnedge.bmp [new file with mode: 0644]
setup/data/tools/plugins/bitmaps/ufoai_actorclip.bmp [new file with mode: 0644]
setup/data/tools/plugins/bitmaps/ufoai_level1.bmp [new file with mode: 0644]
setup/data/tools/plugins/bitmaps/ufoai_level2.bmp [new file with mode: 0644]
setup/data/tools/plugins/bitmaps/ufoai_level3.bmp [new file with mode: 0644]
setup/data/tools/plugins/bitmaps/ufoai_level4.bmp [new file with mode: 0644]
setup/data/tools/plugins/bitmaps/ufoai_level5.bmp [new file with mode: 0644]
setup/data/tools/plugins/bitmaps/ufoai_level6.bmp [new file with mode: 0644]
setup/data/tools/plugins/bitmaps/ufoai_level7.bmp [new file with mode: 0644]
setup/data/tools/plugins/bitmaps/ufoai_level8.bmp [new file with mode: 0644]
setup/data/tools/plugins/bitmaps/ufoai_nodraw.bmp [new file with mode: 0644]
setup/data/tools/plugins/bitmaps/ufoai_stepon.bmp [new file with mode: 0644]
setup/data/tools/plugins/bitmaps/ufoai_weaponclip.bmp [new file with mode: 0644]
setup/data/tools/plugins/bt/bt-el1.txt [new file with mode: 0644]
setup/data/tools/plugins/bt/bt-el2.txt [new file with mode: 0644]
setup/data/tools/plugins/bt/door-tex-trim.txt [new file with mode: 0644]
setup/data/tools/plugins/bt/door-tex.txt [new file with mode: 0644]
setup/data/tools/plugins/bt/tp_ent.txt [new file with mode: 0644]
setup/data/tools/q3data.qdt [new file with mode: 0644]

diff --git a/setup/data/tools/bitmaps/black.bmp b/setup/data/tools/bitmaps/black.bmp
new file mode 100644 (file)
index 0000000..8fc59ba
Binary files /dev/null and b/setup/data/tools/bitmaps/black.bmp differ
diff --git a/setup/data/tools/bitmaps/brush_flipx.bmp b/setup/data/tools/bitmaps/brush_flipx.bmp
new file mode 100644 (file)
index 0000000..91f3d66
Binary files /dev/null and b/setup/data/tools/bitmaps/brush_flipx.bmp differ
diff --git a/setup/data/tools/bitmaps/brush_flipy.bmp b/setup/data/tools/bitmaps/brush_flipy.bmp
new file mode 100644 (file)
index 0000000..0f8e65c
Binary files /dev/null and b/setup/data/tools/bitmaps/brush_flipy.bmp differ
diff --git a/setup/data/tools/bitmaps/brush_flipz.bmp b/setup/data/tools/bitmaps/brush_flipz.bmp
new file mode 100644 (file)
index 0000000..38c20ff
Binary files /dev/null and b/setup/data/tools/bitmaps/brush_flipz.bmp differ
diff --git a/setup/data/tools/bitmaps/brush_rotatex.bmp b/setup/data/tools/bitmaps/brush_rotatex.bmp
new file mode 100644 (file)
index 0000000..b079071
Binary files /dev/null and b/setup/data/tools/bitmaps/brush_rotatex.bmp differ
diff --git a/setup/data/tools/bitmaps/brush_rotatey.bmp b/setup/data/tools/bitmaps/brush_rotatey.bmp
new file mode 100644 (file)
index 0000000..efcfec2
Binary files /dev/null and b/setup/data/tools/bitmaps/brush_rotatey.bmp differ
diff --git a/setup/data/tools/bitmaps/brush_rotatez.bmp b/setup/data/tools/bitmaps/brush_rotatez.bmp
new file mode 100644 (file)
index 0000000..fcea081
Binary files /dev/null and b/setup/data/tools/bitmaps/brush_rotatez.bmp differ
diff --git a/setup/data/tools/bitmaps/cap_bevel.bmp b/setup/data/tools/bitmaps/cap_bevel.bmp
new file mode 100644 (file)
index 0000000..0de3244
Binary files /dev/null and b/setup/data/tools/bitmaps/cap_bevel.bmp differ
diff --git a/setup/data/tools/bitmaps/cap_cylinder.bmp b/setup/data/tools/bitmaps/cap_cylinder.bmp
new file mode 100644 (file)
index 0000000..2e4d11a
Binary files /dev/null and b/setup/data/tools/bitmaps/cap_cylinder.bmp differ
diff --git a/setup/data/tools/bitmaps/cap_endcap.bmp b/setup/data/tools/bitmaps/cap_endcap.bmp
new file mode 100644 (file)
index 0000000..8e6c7f2
Binary files /dev/null and b/setup/data/tools/bitmaps/cap_endcap.bmp differ
diff --git a/setup/data/tools/bitmaps/cap_ibevel.bmp b/setup/data/tools/bitmaps/cap_ibevel.bmp
new file mode 100644 (file)
index 0000000..ccab98d
Binary files /dev/null and b/setup/data/tools/bitmaps/cap_ibevel.bmp differ
diff --git a/setup/data/tools/bitmaps/cap_iendcap.bmp b/setup/data/tools/bitmaps/cap_iendcap.bmp
new file mode 100644 (file)
index 0000000..9640c9a
Binary files /dev/null and b/setup/data/tools/bitmaps/cap_iendcap.bmp differ
diff --git a/setup/data/tools/bitmaps/console.bmp b/setup/data/tools/bitmaps/console.bmp
new file mode 100644 (file)
index 0000000..c45c686
Binary files /dev/null and b/setup/data/tools/bitmaps/console.bmp differ
diff --git a/setup/data/tools/bitmaps/curve_cap.bmp b/setup/data/tools/bitmaps/curve_cap.bmp
new file mode 100644 (file)
index 0000000..e9d00a2
Binary files /dev/null and b/setup/data/tools/bitmaps/curve_cap.bmp differ
diff --git a/setup/data/tools/bitmaps/dontselectcurve.bmp b/setup/data/tools/bitmaps/dontselectcurve.bmp
new file mode 100644 (file)
index 0000000..a7b9795
Binary files /dev/null and b/setup/data/tools/bitmaps/dontselectcurve.bmp differ
diff --git a/setup/data/tools/bitmaps/dontselectmodel.bmp b/setup/data/tools/bitmaps/dontselectmodel.bmp
new file mode 100644 (file)
index 0000000..e81b118
Binary files /dev/null and b/setup/data/tools/bitmaps/dontselectmodel.bmp differ
diff --git a/setup/data/tools/bitmaps/ellipsis.bmp b/setup/data/tools/bitmaps/ellipsis.bmp
new file mode 100644 (file)
index 0000000..a4360a9
Binary files /dev/null and b/setup/data/tools/bitmaps/ellipsis.bmp differ
diff --git a/setup/data/tools/bitmaps/entities.bmp b/setup/data/tools/bitmaps/entities.bmp
new file mode 100644 (file)
index 0000000..47e9c24
Binary files /dev/null and b/setup/data/tools/bitmaps/entities.bmp differ
diff --git a/setup/data/tools/bitmaps/file_open.bmp b/setup/data/tools/bitmaps/file_open.bmp
new file mode 100644 (file)
index 0000000..1f1770c
Binary files /dev/null and b/setup/data/tools/bitmaps/file_open.bmp differ
diff --git a/setup/data/tools/bitmaps/file_save.bmp b/setup/data/tools/bitmaps/file_save.bmp
new file mode 100644 (file)
index 0000000..651afb6
Binary files /dev/null and b/setup/data/tools/bitmaps/file_save.bmp differ
diff --git a/setup/data/tools/bitmaps/icon.bmp b/setup/data/tools/bitmaps/icon.bmp
new file mode 100644 (file)
index 0000000..e270952
Binary files /dev/null and b/setup/data/tools/bitmaps/icon.bmp differ
diff --git a/setup/data/tools/bitmaps/lightinspector.bmp b/setup/data/tools/bitmaps/lightinspector.bmp
new file mode 100644 (file)
index 0000000..00b00a9
Binary files /dev/null and b/setup/data/tools/bitmaps/lightinspector.bmp differ
diff --git a/setup/data/tools/bitmaps/logo.bmp b/setup/data/tools/bitmaps/logo.bmp
new file mode 100644 (file)
index 0000000..759b87c
Binary files /dev/null and b/setup/data/tools/bitmaps/logo.bmp differ
diff --git a/setup/data/tools/bitmaps/modify_edges.bmp b/setup/data/tools/bitmaps/modify_edges.bmp
new file mode 100644 (file)
index 0000000..620fd32
Binary files /dev/null and b/setup/data/tools/bitmaps/modify_edges.bmp differ
diff --git a/setup/data/tools/bitmaps/modify_faces.bmp b/setup/data/tools/bitmaps/modify_faces.bmp
new file mode 100644 (file)
index 0000000..3eb3838
Binary files /dev/null and b/setup/data/tools/bitmaps/modify_faces.bmp differ
diff --git a/setup/data/tools/bitmaps/modify_vertices.bmp b/setup/data/tools/bitmaps/modify_vertices.bmp
new file mode 100644 (file)
index 0000000..6299b01
Binary files /dev/null and b/setup/data/tools/bitmaps/modify_vertices.bmp differ
diff --git a/setup/data/tools/bitmaps/noFalloff.bmp b/setup/data/tools/bitmaps/noFalloff.bmp
new file mode 100644 (file)
index 0000000..e86d10c
Binary files /dev/null and b/setup/data/tools/bitmaps/noFalloff.bmp differ
diff --git a/setup/data/tools/bitmaps/notex.bmp b/setup/data/tools/bitmaps/notex.bmp
new file mode 100644 (file)
index 0000000..b06664a
Binary files /dev/null and b/setup/data/tools/bitmaps/notex.bmp differ
diff --git a/setup/data/tools/bitmaps/patch_bend.bmp b/setup/data/tools/bitmaps/patch_bend.bmp
new file mode 100644 (file)
index 0000000..af4fc94
Binary files /dev/null and b/setup/data/tools/bitmaps/patch_bend.bmp differ
diff --git a/setup/data/tools/bitmaps/patch_drilldown.bmp b/setup/data/tools/bitmaps/patch_drilldown.bmp
new file mode 100644 (file)
index 0000000..01ebcf3
Binary files /dev/null and b/setup/data/tools/bitmaps/patch_drilldown.bmp differ
diff --git a/setup/data/tools/bitmaps/patch_insdel.bmp b/setup/data/tools/bitmaps/patch_insdel.bmp
new file mode 100644 (file)
index 0000000..b60b76b
Binary files /dev/null and b/setup/data/tools/bitmaps/patch_insdel.bmp differ
diff --git a/setup/data/tools/bitmaps/patch_showboundingbox.bmp b/setup/data/tools/bitmaps/patch_showboundingbox.bmp
new file mode 100644 (file)
index 0000000..357cfaf
Binary files /dev/null and b/setup/data/tools/bitmaps/patch_showboundingbox.bmp differ
diff --git a/setup/data/tools/bitmaps/patch_weld.bmp b/setup/data/tools/bitmaps/patch_weld.bmp
new file mode 100644 (file)
index 0000000..a0c9973
Binary files /dev/null and b/setup/data/tools/bitmaps/patch_weld.bmp differ
diff --git a/setup/data/tools/bitmaps/patch_wireframe.bmp b/setup/data/tools/bitmaps/patch_wireframe.bmp
new file mode 100644 (file)
index 0000000..9804274
Binary files /dev/null and b/setup/data/tools/bitmaps/patch_wireframe.bmp differ
diff --git a/setup/data/tools/bitmaps/popup_selection.bmp b/setup/data/tools/bitmaps/popup_selection.bmp
new file mode 100644 (file)
index 0000000..676c4d9
Binary files /dev/null and b/setup/data/tools/bitmaps/popup_selection.bmp differ
diff --git a/setup/data/tools/bitmaps/redo.bmp b/setup/data/tools/bitmaps/redo.bmp
new file mode 100644 (file)
index 0000000..acce54e
Binary files /dev/null and b/setup/data/tools/bitmaps/redo.bmp differ
diff --git a/setup/data/tools/bitmaps/refresh_models.bmp b/setup/data/tools/bitmaps/refresh_models.bmp
new file mode 100644 (file)
index 0000000..a6a0aa5
Binary files /dev/null and b/setup/data/tools/bitmaps/refresh_models.bmp differ
diff --git a/setup/data/tools/bitmaps/scalelockx.bmp b/setup/data/tools/bitmaps/scalelockx.bmp
new file mode 100644 (file)
index 0000000..61363da
Binary files /dev/null and b/setup/data/tools/bitmaps/scalelockx.bmp differ
diff --git a/setup/data/tools/bitmaps/scalelocky.bmp b/setup/data/tools/bitmaps/scalelocky.bmp
new file mode 100644 (file)
index 0000000..812394d
Binary files /dev/null and b/setup/data/tools/bitmaps/scalelocky.bmp differ
diff --git a/setup/data/tools/bitmaps/scalelockz.bmp b/setup/data/tools/bitmaps/scalelockz.bmp
new file mode 100644 (file)
index 0000000..5692e4a
Binary files /dev/null and b/setup/data/tools/bitmaps/scalelockz.bmp differ
diff --git a/setup/data/tools/bitmaps/select_mouseresize.bmp b/setup/data/tools/bitmaps/select_mouseresize.bmp
new file mode 100644 (file)
index 0000000..58da27f
Binary files /dev/null and b/setup/data/tools/bitmaps/select_mouseresize.bmp differ
diff --git a/setup/data/tools/bitmaps/select_mouserotate.bmp b/setup/data/tools/bitmaps/select_mouserotate.bmp
new file mode 100644 (file)
index 0000000..0139fd5
Binary files /dev/null and b/setup/data/tools/bitmaps/select_mouserotate.bmp differ
diff --git a/setup/data/tools/bitmaps/select_mousescale.bmp b/setup/data/tools/bitmaps/select_mousescale.bmp
new file mode 100644 (file)
index 0000000..7cac288
Binary files /dev/null and b/setup/data/tools/bitmaps/select_mousescale.bmp differ
diff --git a/setup/data/tools/bitmaps/select_mousetranslate.bmp b/setup/data/tools/bitmaps/select_mousetranslate.bmp
new file mode 100644 (file)
index 0000000..68374ff
Binary files /dev/null and b/setup/data/tools/bitmaps/select_mousetranslate.bmp differ
diff --git a/setup/data/tools/bitmaps/selection_csgmerge.bmp b/setup/data/tools/bitmaps/selection_csgmerge.bmp
new file mode 100644 (file)
index 0000000..a77eba1
Binary files /dev/null and b/setup/data/tools/bitmaps/selection_csgmerge.bmp differ
diff --git a/setup/data/tools/bitmaps/selection_csgsubtract.bmp b/setup/data/tools/bitmaps/selection_csgsubtract.bmp
new file mode 100644 (file)
index 0000000..902f32f
Binary files /dev/null and b/setup/data/tools/bitmaps/selection_csgsubtract.bmp differ
diff --git a/setup/data/tools/bitmaps/selection_makehollow.bmp b/setup/data/tools/bitmaps/selection_makehollow.bmp
new file mode 100644 (file)
index 0000000..1b62f22
Binary files /dev/null and b/setup/data/tools/bitmaps/selection_makehollow.bmp differ
diff --git a/setup/data/tools/bitmaps/selection_selectcompletetall.bmp b/setup/data/tools/bitmaps/selection_selectcompletetall.bmp
new file mode 100644 (file)
index 0000000..1f911e8
Binary files /dev/null and b/setup/data/tools/bitmaps/selection_selectcompletetall.bmp differ
diff --git a/setup/data/tools/bitmaps/selection_selectinside.bmp b/setup/data/tools/bitmaps/selection_selectinside.bmp
new file mode 100644 (file)
index 0000000..5670d3a
Binary files /dev/null and b/setup/data/tools/bitmaps/selection_selectinside.bmp differ
diff --git a/setup/data/tools/bitmaps/selection_selectpartialtall.bmp b/setup/data/tools/bitmaps/selection_selectpartialtall.bmp
new file mode 100644 (file)
index 0000000..77b418b
Binary files /dev/null and b/setup/data/tools/bitmaps/selection_selectpartialtall.bmp differ
diff --git a/setup/data/tools/bitmaps/selection_selecttouching.bmp b/setup/data/tools/bitmaps/selection_selecttouching.bmp
new file mode 100644 (file)
index 0000000..9a60815
Binary files /dev/null and b/setup/data/tools/bitmaps/selection_selecttouching.bmp differ
diff --git a/setup/data/tools/bitmaps/shadernotex.bmp b/setup/data/tools/bitmaps/shadernotex.bmp
new file mode 100644 (file)
index 0000000..6be415e
Binary files /dev/null and b/setup/data/tools/bitmaps/shadernotex.bmp differ
diff --git a/setup/data/tools/bitmaps/show_entities.bmp b/setup/data/tools/bitmaps/show_entities.bmp
new file mode 100644 (file)
index 0000000..9188bee
Binary files /dev/null and b/setup/data/tools/bitmaps/show_entities.bmp differ
diff --git a/setup/data/tools/bitmaps/splash.bmp b/setup/data/tools/bitmaps/splash.bmp
new file mode 100644 (file)
index 0000000..f9e7cc1
Binary files /dev/null and b/setup/data/tools/bitmaps/splash.bmp differ
diff --git a/setup/data/tools/bitmaps/texture_browser.bmp b/setup/data/tools/bitmaps/texture_browser.bmp
new file mode 100644 (file)
index 0000000..40c0c2c
Binary files /dev/null and b/setup/data/tools/bitmaps/texture_browser.bmp differ
diff --git a/setup/data/tools/bitmaps/texture_lock.bmp b/setup/data/tools/bitmaps/texture_lock.bmp
new file mode 100644 (file)
index 0000000..bcc7742
Binary files /dev/null and b/setup/data/tools/bitmaps/texture_lock.bmp differ
diff --git a/setup/data/tools/bitmaps/textures_popup.bmp b/setup/data/tools/bitmaps/textures_popup.bmp
new file mode 100644 (file)
index 0000000..5333382
Binary files /dev/null and b/setup/data/tools/bitmaps/textures_popup.bmp differ
diff --git a/setup/data/tools/bitmaps/undo.bmp b/setup/data/tools/bitmaps/undo.bmp
new file mode 100644 (file)
index 0000000..44edbbc
Binary files /dev/null and b/setup/data/tools/bitmaps/undo.bmp differ
diff --git a/setup/data/tools/bitmaps/view_cameratoggle.bmp b/setup/data/tools/bitmaps/view_cameratoggle.bmp
new file mode 100644 (file)
index 0000000..4ec79ed
Binary files /dev/null and b/setup/data/tools/bitmaps/view_cameratoggle.bmp differ
diff --git a/setup/data/tools/bitmaps/view_cameraupdate.bmp b/setup/data/tools/bitmaps/view_cameraupdate.bmp
new file mode 100644 (file)
index 0000000..dbb1195
Binary files /dev/null and b/setup/data/tools/bitmaps/view_cameraupdate.bmp differ
diff --git a/setup/data/tools/bitmaps/view_change.bmp b/setup/data/tools/bitmaps/view_change.bmp
new file mode 100644 (file)
index 0000000..31b609e
Binary files /dev/null and b/setup/data/tools/bitmaps/view_change.bmp differ
diff --git a/setup/data/tools/bitmaps/view_clipper.bmp b/setup/data/tools/bitmaps/view_clipper.bmp
new file mode 100644 (file)
index 0000000..4ef2056
Binary files /dev/null and b/setup/data/tools/bitmaps/view_clipper.bmp differ
diff --git a/setup/data/tools/bitmaps/view_cubicclipping.bmp b/setup/data/tools/bitmaps/view_cubicclipping.bmp
new file mode 100644 (file)
index 0000000..7c6d23c
Binary files /dev/null and b/setup/data/tools/bitmaps/view_cubicclipping.bmp differ
diff --git a/setup/data/tools/bitmaps/view_entity.bmp b/setup/data/tools/bitmaps/view_entity.bmp
new file mode 100644 (file)
index 0000000..851ec2c
Binary files /dev/null and b/setup/data/tools/bitmaps/view_entity.bmp differ
diff --git a/setup/data/tools/bitmaps/white.bmp b/setup/data/tools/bitmaps/white.bmp
new file mode 100644 (file)
index 0000000..cbf038f
Binary files /dev/null and b/setup/data/tools/bitmaps/white.bmp differ
diff --git a/setup/data/tools/bitmaps/window1.bmp b/setup/data/tools/bitmaps/window1.bmp
new file mode 100644 (file)
index 0000000..69444ae
Binary files /dev/null and b/setup/data/tools/bitmaps/window1.bmp differ
diff --git a/setup/data/tools/bitmaps/window2.bmp b/setup/data/tools/bitmaps/window2.bmp
new file mode 100644 (file)
index 0000000..dd890d2
Binary files /dev/null and b/setup/data/tools/bitmaps/window2.bmp differ
diff --git a/setup/data/tools/bitmaps/window3.bmp b/setup/data/tools/bitmaps/window3.bmp
new file mode 100644 (file)
index 0000000..c65f2db
Binary files /dev/null and b/setup/data/tools/bitmaps/window3.bmp differ
diff --git a/setup/data/tools/bitmaps/window4.bmp b/setup/data/tools/bitmaps/window4.bmp
new file mode 100644 (file)
index 0000000..78563e1
Binary files /dev/null and b/setup/data/tools/bitmaps/window4.bmp differ
diff --git a/setup/data/tools/gl/lighting_DBS_XY_Z_arbfp1.cg b/setup/data/tools/gl/lighting_DBS_XY_Z_arbfp1.cg
new file mode 100644 (file)
index 0000000..f535dbb
--- /dev/null
@@ -0,0 +1,92 @@
+/// ============================================================================
+/*
+Copyright (C) 2004 Robert Beckebans <trebor_7@users.sourceforge.net>
+Please see the file "AUTHORS" for a list of contributors
+
+This program is free software; you can redistribute it and/or
+modify it under the terms of the GNU General Public License
+as published by the Free Software Foundation; either version 2
+of the License, or (at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  
+
+See the GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program; if not, write to the Free Software
+Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
+*/
+/// ============================================================================
+
+#include "utils.cg"
+
+struct cg_vertex2fragment
+{      
+       float4 position         : TEXCOORD0;
+       float4 tex_diffuse_bump : TEXCOORD1;
+       float4 tex_specular     : TEXCOORD2;
+       float4 tex_atten_xy_z   : TEXCOORD3;
+       
+       float3 tangent          : TEXCOORD4;
+       float3 binormal         : TEXCOORD5;
+       float3 normal           : TEXCOORD6;
+};
+
+struct cg_fragment2final
+{
+       float4 color            : COLOR;
+};
+
+
+cg_fragment2final main(cg_vertex2fragment IN,
+                       uniform sampler2D diffusemap,
+                       uniform sampler2D bumpmap,
+                       uniform sampler2D specularmap,
+                       uniform sampler2D attenuationmap_xy,
+                       uniform sampler2D attenuationmap_z,
+                       uniform float3 view_origin,
+                       uniform float3 light_origin,
+                       uniform float3 light_color,
+                       uniform float bump_scale,
+                       uniform float specular_exponent)
+{
+       cg_fragment2final OUT;
+       
+       // construct object-space-to-tangent-space 3x3 matrix
+       float3x3 rotation = float3x3(IN.tangent, IN.binormal, IN.normal);
+       
+       // compute view direction in tangent space
+       float3 V = normalize(mul(rotation, view_origin - IN.position.xyz));
+               
+       // compute light direction in tangent space
+       float3 L = normalize(mul(rotation, (light_origin - IN.position.xyz)));
+       
+       // compute half angle in tangent space
+       float3 H = normalize(L + V);
+       
+       // compute normal in tangent space from bumpmap
+       float3 T = CG_Expand(tex2D(bumpmap, IN.tex_diffuse_bump.zw).xyz);
+       T.z *= bump_scale;
+       float3 N = normalize(T);
+       
+       // compute the diffuse term
+       float4 diffuse = tex2D(diffusemap, IN.tex_diffuse_bump.xy);
+       diffuse.rgb *= light_color * saturate(dot(N, L));
+       
+       // compute the specular term
+       float3 specular = tex2D(specularmap, IN.tex_specular.xy).rgb * light_color * pow(saturate(dot(N, H)), specular_exponent);
+       
+       // compute attenuation
+       float3 attenuation_xy   = tex2Dproj(attenuationmap_xy, float3(IN.tex_atten_xy_z.x, IN.tex_atten_xy_z.y, IN.tex_atten_xy_z.w)).rgb;
+       float3 attenuation_z    = tex2D(attenuationmap_z, float2(IN.tex_atten_xy_z.z, 0)).rgb;
+                                       
+       // compute final color
+       OUT.color.rgba = diffuse;
+       OUT.color.rgb += specular;
+       OUT.color.rgb *= attenuation_xy;
+       OUT.color.rgb *= attenuation_z;
+
+       return OUT;
+}
diff --git a/setup/data/tools/gl/lighting_DBS_XY_Z_arbvp1.cg b/setup/data/tools/gl/lighting_DBS_XY_Z_arbvp1.cg
new file mode 100644 (file)
index 0000000..59a6fc7
--- /dev/null
@@ -0,0 +1,78 @@
+/// ============================================================================
+/*
+Copyright (C) 2004 Robert Beckebans <trebor_7@users.sourceforge.net>
+Please see the file "AUTHORS" for a list of contributors
+
+This program is free software; you can redistribute it and/or
+modify it under the terms of the GNU General Public License
+as published by the Free Software Foundation; either version 2
+of the License, or (at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  
+
+See the GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program; if not, write to the Free Software
+Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
+*/
+/// ============================================================================
+
+
+struct cg_app2vertex
+{
+       float4 position         : POSITION;
+       float4 tex0             : ATTR8;
+       
+       float3 tangent          : ATTR9;
+       float3 binormal         : ATTR10;
+       float3 normal           : ATTR11;
+};
+
+struct cg_vertex2fragment
+{
+       float4 hposition        : POSITION;
+       
+       float4 position         : TEXCOORD0;
+       float4 tex_diffuse_bump : TEXCOORD1;
+       float4 tex_specular     : TEXCOORD2;
+       float4 tex_atten_xy_z   : TEXCOORD3;
+       
+       float3 tangent          : TEXCOORD4;
+       float3 binormal         : TEXCOORD5;
+       float3 normal           : TEXCOORD6;
+};
+
+
+
+cg_vertex2fragment main(cg_app2vertex IN)
+{
+       cg_vertex2fragment OUT;
+       
+       // transform vertex position into homogenous clip-space
+       OUT.hposition = mul(glstate.matrix.mvp, IN.position);
+       
+       // assign position in object space
+       OUT.position = IN.position;
+       
+       // transform texcoords
+       OUT.tex_diffuse_bump.xy = mul(glstate.matrix.texture[0], IN.tex0).xy;
+       
+       // transform texcoords
+       OUT.tex_diffuse_bump.zw = mul(glstate.matrix.texture[1], IN.tex0).xy;
+       
+       // transform texcoords
+       OUT.tex_specular = mul(glstate.matrix.texture[2], IN.tex0);
+       
+       // transform vertex position into light space
+       OUT.tex_atten_xy_z = mul(glstate.matrix.texture[3], IN.position);
+       
+       // assign tangent space vectors
+       OUT.tangent = IN.tangent;
+       OUT.binormal = IN.binormal;
+       OUT.normal = IN.normal;
+                       
+       return OUT;
+}
diff --git a/setup/data/tools/gl/lighting_DBS_omni_fp.glp b/setup/data/tools/gl/lighting_DBS_omni_fp.glp
new file mode 100644 (file)
index 0000000..88dab8d
--- /dev/null
@@ -0,0 +1,86 @@
+!!ARBfp1.0
+# cgc version 1.3.0001, build date Aug  4 2004 10:01:10
+# command line args: -profile arbfp1
+# source file: ..\..\setup\data\tools\gl\lighting_DBS_XY_Z_arbfp1.cg
+# source file: ..\..\setup\data\tools\gl/utils.cg
+#vendor NVIDIA Corporation
+#version 1.0.02
+#profile arbfp1
+#program main
+#semantic main.diffusemap
+#semantic main.bumpmap
+#semantic main.specularmap
+#semantic main.attenuationmap_xy
+#semantic main.attenuationmap_z
+#semantic main.view_origin
+#semantic main.light_origin
+#semantic main.light_color
+#semantic main.bump_scale
+#semantic main.specular_exponent
+#var float4 IN.position : $vin.TEX0 : TEX0 : 0 : 1
+#var float4 IN.tex_diffuse_bump : $vin.TEX1 : TEX1 : 0 : 1
+#var float4 IN.tex_specular : $vin.TEX2 : TEX2 : 0 : 1
+#var float4 IN.tex_atten_xy_z : $vin.TEX3 : TEX3 : 0 : 1
+#var float3 IN.tangent : $vin.TEX4 : TEX4 : 0 : 1
+#var float3 IN.binormal : $vin.TEX5 : TEX5 : 0 : 1
+#var float3 IN.normal : $vin.TEX6 : TEX6 : 0 : 1
+#var sampler2D diffusemap :  : texunit 0 : 1 : 1
+#var sampler2D bumpmap :  : texunit 1 : 2 : 1
+#var sampler2D specularmap :  : texunit 2 : 3 : 1
+#var sampler2D attenuationmap_xy :  : texunit 3 : 4 : 1
+#var sampler2D attenuationmap_z :  : texunit 4 : 5 : 1
+#var float3 view_origin :  : c[4] : 6 : 1
+#var float3 light_origin :  : c[2] : 7 : 1
+#var float3 light_color :  : c[3] : 8 : 1
+#var float bump_scale :  : c[1] : 9 : 1
+#var float specular_exponent :  : c[5] : 10 : 1
+#var float4 main.color : $vout.COL : COL : -1 : 1
+#const c[0] = 0.5 2 0
+PARAM c[6] = { { 0.5, 2, 0 },
+               program.local[1..5] };
+TEMP R0;
+TEMP R1;
+TEMP R2;
+ADD R1.xyz, -fragment.texcoord[0], c[2];
+DP3 R0.z, fragment.texcoord[6], R1;
+DP3 R0.x, fragment.texcoord[4], R1;
+DP3 R0.y, fragment.texcoord[5], R1;
+ADD R1.xyz, -fragment.texcoord[0], c[4];
+DP3 R0.w, R0, R0;
+DP3 R2.z, fragment.texcoord[6], R1;
+DP3 R2.x, fragment.texcoord[4], R1;
+DP3 R2.y, fragment.texcoord[5], R1;
+RSQ R0.w, R0.w;
+MUL R1.xyz, R0.w, R0;
+DP3 R1.w, R2, R2;
+RSQ R0.w, R1.w;
+MUL R2.xyz, R0.w, R2;
+ADD R2.xyz, R1, R2;
+DP3 R0.w, R2, R2;
+RSQ R2.w, R0.w;
+TEX R0.xyz, fragment.texcoord[1].zwzw, texture[1], 2D;
+ADD R0.xyz, R0, -c[0].x;
+MUL R0.xyz, R0, c[0].y;
+MUL R0.z, R0, c[1].x;
+DP3 R1.w, R0, R0;
+RSQ R0.w, R1.w;
+MUL R0.xyz, R0.w, R0;
+MUL R2.xyz, R2.w, R2;
+DP3_SAT R0.w, R0, R2;
+DP3_SAT R0.x, R0, R1;
+TEX R2.xyz, fragment.texcoord[2], texture[2], 2D;
+MUL R1.xyz, R2, c[3];
+POW R0.w, R0.w, c[5].x;
+MUL R2.xyz, R1, R0.w;
+MUL R1.xyz, R0.x, c[3];
+TEX R0, fragment.texcoord[1], texture[0], 2D;
+MAD R2.xyz, R0, R1, R2;
+TXP R0.xyz, fragment.texcoord[3], texture[3], 2D;
+MOV R1.y, c[0].z;
+MOV R1.x, fragment.texcoord[3].z;
+TEX R1.xyz, R1, texture[4], 2D;
+MUL R0.xyz, R2, R0;
+MUL result.color.xyz, R0, R1;
+MOV result.color.w, R0;
+END
+# 41 instructions, 3 R-regs
diff --git a/setup/data/tools/gl/lighting_DBS_omni_fp.glsl b/setup/data/tools/gl/lighting_DBS_omni_fp.glsl
new file mode 100644 (file)
index 0000000..7f80fea
--- /dev/null
@@ -0,0 +1,73 @@
+/// ============================================================================
+/*
+Copyright (C) 2004 Robert Beckebans <trebor_7@users.sourceforge.net>
+Please see the file "CONTRIBUTORS" for a list of contributors
+
+This program is free software; you can redistribute it and/or
+modify it under the terms of the GNU Lesser General Public License
+as published by the Free Software Foundation; either version 2
+of the License, or (at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  
+
+See the GNU Lesser General Public License for more details.
+
+You should have received a copy of the GNU Lesser General Public License
+along with this program; if not, write to the Free Software
+Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
+*/
+/// ============================================================================
+
+uniform sampler2D      u_diffusemap;
+uniform sampler2D      u_bumpmap;
+uniform sampler2D      u_specularmap;
+uniform sampler2D      u_attenuationmap_xy;
+uniform sampler2D      u_attenuationmap_z;
+uniform vec3           u_view_origin;
+uniform vec3           u_light_origin;
+uniform vec3           u_light_color;
+uniform float          u_bump_scale;
+uniform float          u_specular_exponent;
+
+varying vec3           var_vertex;
+varying vec4           var_tex_diffuse_bump;
+varying vec2           var_tex_specular;
+varying vec4           var_tex_atten_xy_z;
+varying mat3           var_mat_os2ts;
+
+void   main()
+{      
+       // compute view direction in tangent space
+       vec3 V = normalize(var_mat_os2ts * (u_view_origin - var_vertex));
+       
+       // compute light direction in tangent space
+       vec3 L = normalize(var_mat_os2ts * (u_light_origin - var_vertex));
+       
+       // compute half angle in tangent space
+       vec3 H = normalize(L + V);
+       
+       // compute normal in tangent space from bumpmap
+       vec3 N = 2.0 * (texture2D(u_bumpmap, var_tex_diffuse_bump.pq).xyz - 0.5);
+       N.z *= u_bump_scale;
+       N = normalize(N);
+       
+       // compute the diffuse term
+       vec4 diffuse = texture2D(u_diffusemap, var_tex_diffuse_bump.st);
+       diffuse.rgb *= u_light_color * clamp(dot(N, L), 0.0, 1.0);
+       
+       // compute the specular term
+       vec3 specular = texture2D(u_specularmap, var_tex_specular).rgb * u_light_color * pow(clamp(dot(N, H), 0.0, 1.0), u_specular_exponent);
+       
+       // compute attenuation
+       vec3 attenuation_xy     = texture2DProj(u_attenuationmap_xy, vec3(var_tex_atten_xy_z.x, var_tex_atten_xy_z.y, var_tex_atten_xy_z.w)).rgb;
+       vec3 attenuation_z      = texture2D(u_attenuationmap_z, vec2(var_tex_atten_xy_z.z, 0)).rgb;
+                                       
+       // compute final color
+       gl_FragColor.rgba = diffuse;
+       gl_FragColor.rgb += specular;
+       gl_FragColor.rgb *= attenuation_xy;
+       gl_FragColor.rgb *= attenuation_z;
+}
+
diff --git a/setup/data/tools/gl/lighting_DBS_omni_vp.glp b/setup/data/tools/gl/lighting_DBS_omni_vp.glp
new file mode 100644 (file)
index 0000000..b4472d7
--- /dev/null
@@ -0,0 +1,410 @@
+!!ARBvp1.0
+# cgc version 1.3.0001, build date Aug  4 2004 10:01:10
+# command line args: -profile arbvp1
+# source file: ..\..\setup\data\tools\gl\lighting_DBS_XY_Z_arbvp1.cg
+#vendor NVIDIA Corporation
+#version 1.0.02
+#profile arbvp1
+#program main
+#semantic glstate : STATE
+#var float4 glstate.material.ambient : STATE.MATERIAL.AMBIENT :  : -1 : 0
+#var float4 glstate.material.diffuse : STATE.MATERIAL.DIFFUSE :  : -1 : 0
+#var float4 glstate.material.specular : STATE.MATERIAL.SPECULAR :  : -1 : 0
+#var float4 glstate.material.emission : STATE.MATERIAL.EMISSION :  : -1 : 0
+#var float4 glstate.material.shininess : STATE.MATERIAL.SHININESS :  : -1 : 0
+#var float4 glstate.material.front.ambient : STATE.MATERIAL.FRONT.AMBIENT :  : -1 : 0
+#var float4 glstate.material.front.diffuse : STATE.MATERIAL.FRONT.DIFFUSE :  : -1 : 0
+#var float4 glstate.material.front.specular : STATE.MATERIAL.FRONT.SPECULAR :  : -1 : 0
+#var float4 glstate.material.front.emission : STATE.MATERIAL.FRONT.EMISSION :  : -1 : 0
+#var float4 glstate.material.front.shininess : STATE.MATERIAL.FRONT.SHININESS :  : -1 : 0
+#var float4 glstate.material.back.ambient : STATE.MATERIAL.BACK.AMBIENT :  : -1 : 0
+#var float4 glstate.material.back.diffuse : STATE.MATERIAL.BACK.DIFFUSE :  : -1 : 0
+#var float4 glstate.material.back.specular : STATE.MATERIAL.BACK.SPECULAR :  : -1 : 0
+#var float4 glstate.material.back.emission : STATE.MATERIAL.BACK.EMISSION :  : -1 : 0
+#var float4 glstate.material.back.shininess : STATE.MATERIAL.BACK.SHININESS :  : -1 : 0
+#var float4 glstate.light[0].ambient : STATE.LIGHT[0].AMBIENT :  : -1 : 0
+#var float4 glstate.light[0].diffuse : STATE.LIGHT[0].DIFFUSE :  : -1 : 0
+#var float4 glstate.light[0].specular : STATE.LIGHT[0].SPECULAR :  : -1 : 0
+#var float4 glstate.light[0].position : STATE.LIGHT[0].POSITION :  : -1 : 0
+#var float4 glstate.light[0].attenuation : STATE.LIGHT[0].ATTENUATION :  : -1 : 0
+#var float4 glstate.light[0].spot.direction : STATE.LIGHT[0].SPOT.DIRECTION :  : -1 : 0
+#var float4 glstate.light[0].half : STATE.LIGHT[0].HALF :  : -1 : 0
+#var float4 glstate.light[1].ambient : STATE.LIGHT[1].AMBIENT :  : -1 : 0
+#var float4 glstate.light[1].diffuse : STATE.LIGHT[1].DIFFUSE :  : -1 : 0
+#var float4 glstate.light[1].specular : STATE.LIGHT[1].SPECULAR :  : -1 : 0
+#var float4 glstate.light[1].position : STATE.LIGHT[1].POSITION :  : -1 : 0
+#var float4 glstate.light[1].attenuation : STATE.LIGHT[1].ATTENUATION :  : -1 : 0
+#var float4 glstate.light[1].spot.direction : STATE.LIGHT[1].SPOT.DIRECTION :  : -1 : 0
+#var float4 glstate.light[1].half : STATE.LIGHT[1].HALF :  : -1 : 0
+#var float4 glstate.light[2].ambient : STATE.LIGHT[2].AMBIENT :  : -1 : 0
+#var float4 glstate.light[2].diffuse : STATE.LIGHT[2].DIFFUSE :  : -1 : 0
+#var float4 glstate.light[2].specular : STATE.LIGHT[2].SPECULAR :  : -1 : 0
+#var float4 glstate.light[2].position : STATE.LIGHT[2].POSITION :  : -1 : 0
+#var float4 glstate.light[2].attenuation : STATE.LIGHT[2].ATTENUATION :  : -1 : 0
+#var float4 glstate.light[2].spot.direction : STATE.LIGHT[2].SPOT.DIRECTION :  : -1 : 0
+#var float4 glstate.light[2].half : STATE.LIGHT[2].HALF :  : -1 : 0
+#var float4 glstate.light[3].ambient : STATE.LIGHT[3].AMBIENT :  : -1 : 0
+#var float4 glstate.light[3].diffuse : STATE.LIGHT[3].DIFFUSE :  : -1 : 0
+#var float4 glstate.light[3].specular : STATE.LIGHT[3].SPECULAR :  : -1 : 0
+#var float4 glstate.light[3].position : STATE.LIGHT[3].POSITION :  : -1 : 0
+#var float4 glstate.light[3].attenuation : STATE.LIGHT[3].ATTENUATION :  : -1 : 0
+#var float4 glstate.light[3].spot.direction : STATE.LIGHT[3].SPOT.DIRECTION :  : -1 : 0
+#var float4 glstate.light[3].half : STATE.LIGHT[3].HALF :  : -1 : 0
+#var float4 glstate.light[4].ambient : STATE.LIGHT[4].AMBIENT :  : -1 : 0
+#var float4 glstate.light[4].diffuse : STATE.LIGHT[4].DIFFUSE :  : -1 : 0
+#var float4 glstate.light[4].specular : STATE.LIGHT[4].SPECULAR :  : -1 : 0
+#var float4 glstate.light[4].position : STATE.LIGHT[4].POSITION :  : -1 : 0
+#var float4 glstate.light[4].attenuation : STATE.LIGHT[4].ATTENUATION :  : -1 : 0
+#var float4 glstate.light[4].spot.direction : STATE.LIGHT[4].SPOT.DIRECTION :  : -1 : 0
+#var float4 glstate.light[4].half : STATE.LIGHT[4].HALF :  : -1 : 0
+#var float4 glstate.light[5].ambient : STATE.LIGHT[5].AMBIENT :  : -1 : 0
+#var float4 glstate.light[5].diffuse : STATE.LIGHT[5].DIFFUSE :  : -1 : 0
+#var float4 glstate.light[5].specular : STATE.LIGHT[5].SPECULAR :  : -1 : 0
+#var float4 glstate.light[5].position : STATE.LIGHT[5].POSITION :  : -1 : 0
+#var float4 glstate.light[5].attenuation : STATE.LIGHT[5].ATTENUATION :  : -1 : 0
+#var float4 glstate.light[5].spot.direction : STATE.LIGHT[5].SPOT.DIRECTION :  : -1 : 0
+#var float4 glstate.light[5].half : STATE.LIGHT[5].HALF :  : -1 : 0
+#var float4 glstate.light[6].ambient : STATE.LIGHT[6].AMBIENT :  : -1 : 0
+#var float4 glstate.light[6].diffuse : STATE.LIGHT[6].DIFFUSE :  : -1 : 0
+#var float4 glstate.light[6].specular : STATE.LIGHT[6].SPECULAR :  : -1 : 0
+#var float4 glstate.light[6].position : STATE.LIGHT[6].POSITION :  : -1 : 0
+#var float4 glstate.light[6].attenuation : STATE.LIGHT[6].ATTENUATION :  : -1 : 0
+#var float4 glstate.light[6].spot.direction : STATE.LIGHT[6].SPOT.DIRECTION :  : -1 : 0
+#var float4 glstate.light[6].half : STATE.LIGHT[6].HALF :  : -1 : 0
+#var float4 glstate.light[7].ambient : STATE.LIGHT[7].AMBIENT :  : -1 : 0
+#var float4 glstate.light[7].diffuse : STATE.LIGHT[7].DIFFUSE :  : -1 : 0
+#var float4 glstate.light[7].specular : STATE.LIGHT[7].SPECULAR :  : -1 : 0
+#var float4 glstate.light[7].position : STATE.LIGHT[7].POSITION :  : -1 : 0
+#var float4 glstate.light[7].attenuation : STATE.LIGHT[7].ATTENUATION :  : -1 : 0
+#var float4 glstate.light[7].spot.direction : STATE.LIGHT[7].SPOT.DIRECTION :  : -1 : 0
+#var float4 glstate.light[7].half : STATE.LIGHT[7].HALF :  : -1 : 0
+#var float4 glstate.lightmodel.ambient : STATE.LIGHTMODEL.AMBIENT :  : -1 : 0
+#var float4 glstate.lightmodel.scenecolor : STATE.LIGHTMODEL.SCENECOLOR :  : -1 : 0
+#var float4 glstate.lightmodel.front.scenecolor : STATE.LIGHTMODEL.FRONT.SCENECOLOR :  : -1 : 0
+#var float4 glstate.lightmodel.back.scenecolor : STATE.LIGHTMODEL.BACK.SCENECOLOR :  : -1 : 0
+#var float4 glstate.lightprod[0].ambient : STATE.LIGHTPROD[0].AMBIENT :  : -1 : 0
+#var float4 glstate.lightprod[0].diffuse : STATE.LIGHTPROD[0].DIFFUSE :  : -1 : 0
+#var float4 glstate.lightprod[0].specular : STATE.LIGHTPROD[0].SPECULAR :  : -1 : 0
+#var float4 glstate.lightprod[0].front.ambient : STATE.LIGHTPROD[0].FRONT.AMBIENT :  : -1 : 0
+#var float4 glstate.lightprod[0].front.diffuse : STATE.LIGHTPROD[0].FRONT.DIFFUSE :  : -1 : 0
+#var float4 glstate.lightprod[0].front.specular : STATE.LIGHTPROD[0].FRONT.SPECULAR :  : -1 : 0
+#var float4 glstate.lightprod[0].back.ambient : STATE.LIGHTPROD[0].BACK.AMBIENT :  : -1 : 0
+#var float4 glstate.lightprod[0].back.diffuse : STATE.LIGHTPROD[0].BACK.DIFFUSE :  : -1 : 0
+#var float4 glstate.lightprod[0].back.specular : STATE.LIGHTPROD[0].BACK.SPECULAR :  : -1 : 0
+#var float4 glstate.lightprod[1].ambient : STATE.LIGHTPROD[1].AMBIENT :  : -1 : 0
+#var float4 glstate.lightprod[1].diffuse : STATE.LIGHTPROD[1].DIFFUSE :  : -1 : 0
+#var float4 glstate.lightprod[1].specular : STATE.LIGHTPROD[1].SPECULAR :  : -1 : 0
+#var float4 glstate.lightprod[1].front.ambient : STATE.LIGHTPROD[1].FRONT.AMBIENT :  : -1 : 0
+#var float4 glstate.lightprod[1].front.diffuse : STATE.LIGHTPROD[1].FRONT.DIFFUSE :  : -1 : 0
+#var float4 glstate.lightprod[1].front.specular : STATE.LIGHTPROD[1].FRONT.SPECULAR :  : -1 : 0
+#var float4 glstate.lightprod[1].back.ambient : STATE.LIGHTPROD[1].BACK.AMBIENT :  : -1 : 0
+#var float4 glstate.lightprod[1].back.diffuse : STATE.LIGHTPROD[1].BACK.DIFFUSE :  : -1 : 0
+#var float4 glstate.lightprod[1].back.specular : STATE.LIGHTPROD[1].BACK.SPECULAR :  : -1 : 0
+#var float4 glstate.lightprod[2].ambient : STATE.LIGHTPROD[2].AMBIENT :  : -1 : 0
+#var float4 glstate.lightprod[2].diffuse : STATE.LIGHTPROD[2].DIFFUSE :  : -1 : 0
+#var float4 glstate.lightprod[2].specular : STATE.LIGHTPROD[2].SPECULAR :  : -1 : 0
+#var float4 glstate.lightprod[2].front.ambient : STATE.LIGHTPROD[2].FRONT.AMBIENT :  : -1 : 0
+#var float4 glstate.lightprod[2].front.diffuse : STATE.LIGHTPROD[2].FRONT.DIFFUSE :  : -1 : 0
+#var float4 glstate.lightprod[2].front.specular : STATE.LIGHTPROD[2].FRONT.SPECULAR :  : -1 : 0
+#var float4 glstate.lightprod[2].back.ambient : STATE.LIGHTPROD[2].BACK.AMBIENT :  : -1 : 0
+#var float4 glstate.lightprod[2].back.diffuse : STATE.LIGHTPROD[2].BACK.DIFFUSE :  : -1 : 0
+#var float4 glstate.lightprod[2].back.specular : STATE.LIGHTPROD[2].BACK.SPECULAR :  : -1 : 0
+#var float4 glstate.lightprod[3].ambient : STATE.LIGHTPROD[3].AMBIENT :  : -1 : 0
+#var float4 glstate.lightprod[3].diffuse : STATE.LIGHTPROD[3].DIFFUSE :  : -1 : 0
+#var float4 glstate.lightprod[3].specular : STATE.LIGHTPROD[3].SPECULAR :  : -1 : 0
+#var float4 glstate.lightprod[3].front.ambient : STATE.LIGHTPROD[3].FRONT.AMBIENT :  : -1 : 0
+#var float4 glstate.lightprod[3].front.diffuse : STATE.LIGHTPROD[3].FRONT.DIFFUSE :  : -1 : 0
+#var float4 glstate.lightprod[3].front.specular : STATE.LIGHTPROD[3].FRONT.SPECULAR :  : -1 : 0
+#var float4 glstate.lightprod[3].back.ambient : STATE.LIGHTPROD[3].BACK.AMBIENT :  : -1 : 0
+#var float4 glstate.lightprod[3].back.diffuse : STATE.LIGHTPROD[3].BACK.DIFFUSE :  : -1 : 0
+#var float4 glstate.lightprod[3].back.specular : STATE.LIGHTPROD[3].BACK.SPECULAR :  : -1 : 0
+#var float4 glstate.lightprod[4].ambient : STATE.LIGHTPROD[4].AMBIENT :  : -1 : 0
+#var float4 glstate.lightprod[4].diffuse : STATE.LIGHTPROD[4].DIFFUSE :  : -1 : 0
+#var float4 glstate.lightprod[4].specular : STATE.LIGHTPROD[4].SPECULAR :  : -1 : 0
+#var float4 glstate.lightprod[4].front.ambient : STATE.LIGHTPROD[4].FRONT.AMBIENT :  : -1 : 0
+#var float4 glstate.lightprod[4].front.diffuse : STATE.LIGHTPROD[4].FRONT.DIFFUSE :  : -1 : 0
+#var float4 glstate.lightprod[4].front.specular : STATE.LIGHTPROD[4].FRONT.SPECULAR :  : -1 : 0
+#var float4 glstate.lightprod[4].back.ambient : STATE.LIGHTPROD[4].BACK.AMBIENT :  : -1 : 0
+#var float4 glstate.lightprod[4].back.diffuse : STATE.LIGHTPROD[4].BACK.DIFFUSE :  : -1 : 0
+#var float4 glstate.lightprod[4].back.specular : STATE.LIGHTPROD[4].BACK.SPECULAR :  : -1 : 0
+#var float4 glstate.lightprod[5].ambient : STATE.LIGHTPROD[5].AMBIENT :  : -1 : 0
+#var float4 glstate.lightprod[5].diffuse : STATE.LIGHTPROD[5].DIFFUSE :  : -1 : 0
+#var float4 glstate.lightprod[5].specular : STATE.LIGHTPROD[5].SPECULAR :  : -1 : 0
+#var float4 glstate.lightprod[5].front.ambient : STATE.LIGHTPROD[5].FRONT.AMBIENT :  : -1 : 0
+#var float4 glstate.lightprod[5].front.diffuse : STATE.LIGHTPROD[5].FRONT.DIFFUSE :  : -1 : 0
+#var float4 glstate.lightprod[5].front.specular : STATE.LIGHTPROD[5].FRONT.SPECULAR :  : -1 : 0
+#var float4 glstate.lightprod[5].back.ambient : STATE.LIGHTPROD[5].BACK.AMBIENT :  : -1 : 0
+#var float4 glstate.lightprod[5].back.diffuse : STATE.LIGHTPROD[5].BACK.DIFFUSE :  : -1 : 0
+#var float4 glstate.lightprod[5].back.specular : STATE.LIGHTPROD[5].BACK.SPECULAR :  : -1 : 0
+#var float4 glstate.lightprod[6].ambient : STATE.LIGHTPROD[6].AMBIENT :  : -1 : 0
+#var float4 glstate.lightprod[6].diffuse : STATE.LIGHTPROD[6].DIFFUSE :  : -1 : 0
+#var float4 glstate.lightprod[6].specular : STATE.LIGHTPROD[6].SPECULAR :  : -1 : 0
+#var float4 glstate.lightprod[6].front.ambient : STATE.LIGHTPROD[6].FRONT.AMBIENT :  : -1 : 0
+#var float4 glstate.lightprod[6].front.diffuse : STATE.LIGHTPROD[6].FRONT.DIFFUSE :  : -1 : 0
+#var float4 glstate.lightprod[6].front.specular : STATE.LIGHTPROD[6].FRONT.SPECULAR :  : -1 : 0
+#var float4 glstate.lightprod[6].back.ambient : STATE.LIGHTPROD[6].BACK.AMBIENT :  : -1 : 0
+#var float4 glstate.lightprod[6].back.diffuse : STATE.LIGHTPROD[6].BACK.DIFFUSE :  : -1 : 0
+#var float4 glstate.lightprod[6].back.specular : STATE.LIGHTPROD[6].BACK.SPECULAR :  : -1 : 0
+#var float4 glstate.lightprod[7].ambient : STATE.LIGHTPROD[7].AMBIENT :  : -1 : 0
+#var float4 glstate.lightprod[7].diffuse : STATE.LIGHTPROD[7].DIFFUSE :  : -1 : 0
+#var float4 glstate.lightprod[7].specular : STATE.LIGHTPROD[7].SPECULAR :  : -1 : 0
+#var float4 glstate.lightprod[7].front.ambient : STATE.LIGHTPROD[7].FRONT.AMBIENT :  : -1 : 0
+#var float4 glstate.lightprod[7].front.diffuse : STATE.LIGHTPROD[7].FRONT.DIFFUSE :  : -1 : 0
+#var float4 glstate.lightprod[7].front.specular : STATE.LIGHTPROD[7].FRONT.SPECULAR :  : -1 : 0
+#var float4 glstate.lightprod[7].back.ambient : STATE.LIGHTPROD[7].BACK.AMBIENT :  : -1 : 0
+#var float4 glstate.lightprod[7].back.diffuse : STATE.LIGHTPROD[7].BACK.DIFFUSE :  : -1 : 0
+#var float4 glstate.lightprod[7].back.specular : STATE.LIGHTPROD[7].BACK.SPECULAR :  : -1 : 0
+#var float4 glstate.texgen[0].eye.s : STATE.TEXGEN[0].EYE.S :  : -1 : 0
+#var float4 glstate.texgen[0].eye.t : STATE.TEXGEN[0].EYE.T :  : -1 : 0
+#var float4 glstate.texgen[0].eye.r : STATE.TEXGEN[0].EYE.R :  : -1 : 0
+#var float4 glstate.texgen[0].eye.q : STATE.TEXGEN[0].EYE.Q :  : -1 : 0
+#var float4 glstate.texgen[0].object.s : STATE.TEXGEN[0].OBJECT.S :  : -1 : 0
+#var float4 glstate.texgen[0].object.t : STATE.TEXGEN[0].OBJECT.T :  : -1 : 0
+#var float4 glstate.texgen[0].object.r : STATE.TEXGEN[0].OBJECT.R :  : -1 : 0
+#var float4 glstate.texgen[0].object.q : STATE.TEXGEN[0].OBJECT.Q :  : -1 : 0
+#var float4 glstate.texgen[1].eye.s : STATE.TEXGEN[1].EYE.S :  : -1 : 0
+#var float4 glstate.texgen[1].eye.t : STATE.TEXGEN[1].EYE.T :  : -1 : 0
+#var float4 glstate.texgen[1].eye.r : STATE.TEXGEN[1].EYE.R :  : -1 : 0
+#var float4 glstate.texgen[1].eye.q : STATE.TEXGEN[1].EYE.Q :  : -1 : 0
+#var float4 glstate.texgen[1].object.s : STATE.TEXGEN[1].OBJECT.S :  : -1 : 0
+#var float4 glstate.texgen[1].object.t : STATE.TEXGEN[1].OBJECT.T :  : -1 : 0
+#var float4 glstate.texgen[1].object.r : STATE.TEXGEN[1].OBJECT.R :  : -1 : 0
+#var float4 glstate.texgen[1].object.q : STATE.TEXGEN[1].OBJECT.Q :  : -1 : 0
+#var float4 glstate.texgen[2].eye.s : STATE.TEXGEN[2].EYE.S :  : -1 : 0
+#var float4 glstate.texgen[2].eye.t : STATE.TEXGEN[2].EYE.T :  : -1 : 0
+#var float4 glstate.texgen[2].eye.r : STATE.TEXGEN[2].EYE.R :  : -1 : 0
+#var float4 glstate.texgen[2].eye.q : STATE.TEXGEN[2].EYE.Q :  : -1 : 0
+#var float4 glstate.texgen[2].object.s : STATE.TEXGEN[2].OBJECT.S :  : -1 : 0
+#var float4 glstate.texgen[2].object.t : STATE.TEXGEN[2].OBJECT.T :  : -1 : 0
+#var float4 glstate.texgen[2].object.r : STATE.TEXGEN[2].OBJECT.R :  : -1 : 0
+#var float4 glstate.texgen[2].object.q : STATE.TEXGEN[2].OBJECT.Q :  : -1 : 0
+#var float4 glstate.texgen[3].eye.s : STATE.TEXGEN[3].EYE.S :  : -1 : 0
+#var float4 glstate.texgen[3].eye.t : STATE.TEXGEN[3].EYE.T :  : -1 : 0
+#var float4 glstate.texgen[3].eye.r : STATE.TEXGEN[3].EYE.R :  : -1 : 0
+#var float4 glstate.texgen[3].eye.q : STATE.TEXGEN[3].EYE.Q :  : -1 : 0
+#var float4 glstate.texgen[3].object.s : STATE.TEXGEN[3].OBJECT.S :  : -1 : 0
+#var float4 glstate.texgen[3].object.t : STATE.TEXGEN[3].OBJECT.T :  : -1 : 0
+#var float4 glstate.texgen[3].object.r : STATE.TEXGEN[3].OBJECT.R :  : -1 : 0
+#var float4 glstate.texgen[3].object.q : STATE.TEXGEN[3].OBJECT.Q :  : -1 : 0
+#var float4 glstate.texgen[4].eye.s : STATE.TEXGEN[4].EYE.S :  : -1 : 0
+#var float4 glstate.texgen[4].eye.t : STATE.TEXGEN[4].EYE.T :  : -1 : 0
+#var float4 glstate.texgen[4].eye.r : STATE.TEXGEN[4].EYE.R :  : -1 : 0
+#var float4 glstate.texgen[4].eye.q : STATE.TEXGEN[4].EYE.Q :  : -1 : 0
+#var float4 glstate.texgen[4].object.s : STATE.TEXGEN[4].OBJECT.S :  : -1 : 0
+#var float4 glstate.texgen[4].object.t : STATE.TEXGEN[4].OBJECT.T :  : -1 : 0
+#var float4 glstate.texgen[4].object.r : STATE.TEXGEN[4].OBJECT.R :  : -1 : 0
+#var float4 glstate.texgen[4].object.q : STATE.TEXGEN[4].OBJECT.Q :  : -1 : 0
+#var float4 glstate.texgen[5].eye.s : STATE.TEXGEN[5].EYE.S :  : -1 : 0
+#var float4 glstate.texgen[5].eye.t : STATE.TEXGEN[5].EYE.T :  : -1 : 0
+#var float4 glstate.texgen[5].eye.r : STATE.TEXGEN[5].EYE.R :  : -1 : 0
+#var float4 glstate.texgen[5].eye.q : STATE.TEXGEN[5].EYE.Q :  : -1 : 0
+#var float4 glstate.texgen[5].object.s : STATE.TEXGEN[5].OBJECT.S :  : -1 : 0
+#var float4 glstate.texgen[5].object.t : STATE.TEXGEN[5].OBJECT.T :  : -1 : 0
+#var float4 glstate.texgen[5].object.r : STATE.TEXGEN[5].OBJECT.R :  : -1 : 0
+#var float4 glstate.texgen[5].object.q : STATE.TEXGEN[5].OBJECT.Q :  : -1 : 0
+#var float4 glstate.texgen[6].eye.s : STATE.TEXGEN[6].EYE.S :  : -1 : 0
+#var float4 glstate.texgen[6].eye.t : STATE.TEXGEN[6].EYE.T :  : -1 : 0
+#var float4 glstate.texgen[6].eye.r : STATE.TEXGEN[6].EYE.R :  : -1 : 0
+#var float4 glstate.texgen[6].eye.q : STATE.TEXGEN[6].EYE.Q :  : -1 : 0
+#var float4 glstate.texgen[6].object.s : STATE.TEXGEN[6].OBJECT.S :  : -1 : 0
+#var float4 glstate.texgen[6].object.t : STATE.TEXGEN[6].OBJECT.T :  : -1 : 0
+#var float4 glstate.texgen[6].object.r : STATE.TEXGEN[6].OBJECT.R :  : -1 : 0
+#var float4 glstate.texgen[6].object.q : STATE.TEXGEN[6].OBJECT.Q :  : -1 : 0
+#var float4 glstate.texgen[7].eye.s : STATE.TEXGEN[7].EYE.S :  : -1 : 0
+#var float4 glstate.texgen[7].eye.t : STATE.TEXGEN[7].EYE.T :  : -1 : 0
+#var float4 glstate.texgen[7].eye.r : STATE.TEXGEN[7].EYE.R :  : -1 : 0
+#var float4 glstate.texgen[7].eye.q : STATE.TEXGEN[7].EYE.Q :  : -1 : 0
+#var float4 glstate.texgen[7].object.s : STATE.TEXGEN[7].OBJECT.S :  : -1 : 0
+#var float4 glstate.texgen[7].object.t : STATE.TEXGEN[7].OBJECT.T :  : -1 : 0
+#var float4 glstate.texgen[7].object.r : STATE.TEXGEN[7].OBJECT.R :  : -1 : 0
+#var float4 glstate.texgen[7].object.q : STATE.TEXGEN[7].OBJECT.Q :  : -1 : 0
+#var float4 glstate.fog.color : STATE.FOG.COLOR :  : -1 : 0
+#var float4 glstate.fog.params : STATE.FOG.PARAMS :  : -1 : 0
+#var float4 glstate.clip[0].plane : STATE.CLIP[0].PLANE :  : -1 : 0
+#var float4 glstate.clip[1].plane : STATE.CLIP[1].PLANE :  : -1 : 0
+#var float4 glstate.clip[2].plane : STATE.CLIP[2].PLANE :  : -1 : 0
+#var float4 glstate.clip[3].plane : STATE.CLIP[3].PLANE :  : -1 : 0
+#var float4 glstate.clip[4].plane : STATE.CLIP[4].PLANE :  : -1 : 0
+#var float4 glstate.clip[5].plane : STATE.CLIP[5].PLANE :  : -1 : 0
+#var float4 glstate.clip[6].plane : STATE.CLIP[6].PLANE :  : -1 : 0
+#var float4 glstate.clip[7].plane : STATE.CLIP[7].PLANE :  : -1 : 0
+#var float glstate.point.size : STATE.POINT.SIZE :  : -1 : 0
+#var float glstate.point.attenuation : STATE.POINT.ATTENUATION :  : -1 : 0
+#var float4x4 glstate.matrix.modelview[0] : STATE.MATRIX.MODELVIEW[0] : , 4 : -1 : 0
+#var float4x4 glstate.matrix.modelview[1] : STATE.MATRIX.MODELVIEW[1] : , 4 : -1 : 0
+#var float4x4 glstate.matrix.modelview[2] : STATE.MATRIX.MODELVIEW[2] : , 4 : -1 : 0
+#var float4x4 glstate.matrix.modelview[3] : STATE.MATRIX.MODELVIEW[3] : , 4 : -1 : 0
+#var float4x4 glstate.matrix.modelview[4] : STATE.MATRIX.MODELVIEW[4] : , 4 : -1 : 0
+#var float4x4 glstate.matrix.modelview[5] : STATE.MATRIX.MODELVIEW[5] : , 4 : -1 : 0
+#var float4x4 glstate.matrix.modelview[6] : STATE.MATRIX.MODELVIEW[6] : , 4 : -1 : 0
+#var float4x4 glstate.matrix.modelview[7] : STATE.MATRIX.MODELVIEW[7] : , 4 : -1 : 0
+#var float4x4 glstate.matrix.projection : STATE.MATRIX.PROJECTION : , 4 : -1 : 0
+#var float4x4 glstate.matrix.mvp : STATE.MATRIX.MVP : c[0], 4 : -1 : 1
+#var float4x4 glstate.matrix.texture[0] : STATE.MATRIX.TEXTURE[0] : c[4], 4 : -1 : 1
+#var float4x4 glstate.matrix.texture[1] : STATE.MATRIX.TEXTURE[1] : c[8], 4 : -1 : 1
+#var float4x4 glstate.matrix.texture[2] : STATE.MATRIX.TEXTURE[2] : c[12], 4 : -1 : 1
+#var float4x4 glstate.matrix.texture[3] : STATE.MATRIX.TEXTURE[3] : c[16], 4 : -1 : 1
+#var float4x4 glstate.matrix.texture[4] : STATE.MATRIX.TEXTURE[4] : , 4 : -1 : 0
+#var float4x4 glstate.matrix.texture[5] : STATE.MATRIX.TEXTURE[5] : , 4 : -1 : 0
+#var float4x4 glstate.matrix.texture[6] : STATE.MATRIX.TEXTURE[6] : , 4 : -1 : 0
+#var float4x4 glstate.matrix.texture[7] : STATE.MATRIX.TEXTURE[7] : , 4 : -1 : 0
+#var float4x4 glstate.matrix.palette[0] : STATE.MATRIX.PALETTE[0] : , 4 : -1 : 0
+#var float4x4 glstate.matrix.palette[1] : STATE.MATRIX.PALETTE[1] : , 4 : -1 : 0
+#var float4x4 glstate.matrix.palette[2] : STATE.MATRIX.PALETTE[2] : , 4 : -1 : 0
+#var float4x4 glstate.matrix.palette[3] : STATE.MATRIX.PALETTE[3] : , 4 : -1 : 0
+#var float4x4 glstate.matrix.palette[4] : STATE.MATRIX.PALETTE[4] : , 4 : -1 : 0
+#var float4x4 glstate.matrix.palette[5] : STATE.MATRIX.PALETTE[5] : , 4 : -1 : 0
+#var float4x4 glstate.matrix.palette[6] : STATE.MATRIX.PALETTE[6] : , 4 : -1 : 0
+#var float4x4 glstate.matrix.palette[7] : STATE.MATRIX.PALETTE[7] : , 4 : -1 : 0
+#var float4x4 glstate.matrix.program[0] : STATE.MATRIX.PROGRAM[0] : , 4 : -1 : 0
+#var float4x4 glstate.matrix.program[1] : STATE.MATRIX.PROGRAM[1] : , 4 : -1 : 0
+#var float4x4 glstate.matrix.program[2] : STATE.MATRIX.PROGRAM[2] : , 4 : -1 : 0
+#var float4x4 glstate.matrix.program[3] : STATE.MATRIX.PROGRAM[3] : , 4 : -1 : 0
+#var float4x4 glstate.matrix.program[4] : STATE.MATRIX.PROGRAM[4] : , 4 : -1 : 0
+#var float4x4 glstate.matrix.program[5] : STATE.MATRIX.PROGRAM[5] : , 4 : -1 : 0
+#var float4x4 glstate.matrix.program[6] : STATE.MATRIX.PROGRAM[6] : , 4 : -1 : 0
+#var float4x4 glstate.matrix.program[7] : STATE.MATRIX.PROGRAM[7] : , 4 : -1 : 0
+#var float4x4 glstate.matrix.inverse.modelview[0] : STATE.MATRIX.MODELVIEW[0].INVERSE : , 4 : -1 : 0
+#var float4x4 glstate.matrix.inverse.modelview[1] : STATE.MATRIX.MODELVIEW[1].INVERSE : , 4 : -1 : 0
+#var float4x4 glstate.matrix.inverse.modelview[2] : STATE.MATRIX.MODELVIEW[2].INVERSE : , 4 : -1 : 0
+#var float4x4 glstate.matrix.inverse.modelview[3] : STATE.MATRIX.MODELVIEW[3].INVERSE : , 4 : -1 : 0
+#var float4x4 glstate.matrix.inverse.modelview[4] : STATE.MATRIX.MODELVIEW[4].INVERSE : , 4 : -1 : 0
+#var float4x4 glstate.matrix.inverse.modelview[5] : STATE.MATRIX.MODELVIEW[5].INVERSE : , 4 : -1 : 0
+#var float4x4 glstate.matrix.inverse.modelview[6] : STATE.MATRIX.MODELVIEW[6].INVERSE : , 4 : -1 : 0
+#var float4x4 glstate.matrix.inverse.modelview[7] : STATE.MATRIX.MODELVIEW[7].INVERSE : , 4 : -1 : 0
+#var float4x4 glstate.matrix.inverse.projection : STATE.MATRIX.PROJECTION.INVERSE : , 4 : -1 : 0
+#var float4x4 glstate.matrix.inverse.mvp : STATE.MATRIX.MVP.INVERSE : , 4 : -1 : 0
+#var float4x4 glstate.matrix.inverse.texture[0] : STATE.MATRIX.TEXTURE[0].INVERSE : , 4 : -1 : 0
+#var float4x4 glstate.matrix.inverse.texture[1] : STATE.MATRIX.TEXTURE[1].INVERSE : , 4 : -1 : 0
+#var float4x4 glstate.matrix.inverse.texture[2] : STATE.MATRIX.TEXTURE[2].INVERSE : , 4 : -1 : 0
+#var float4x4 glstate.matrix.inverse.texture[3] : STATE.MATRIX.TEXTURE[3].INVERSE : , 4 : -1 : 0
+#var float4x4 glstate.matrix.inverse.texture[4] : STATE.MATRIX.TEXTURE[4].INVERSE : , 4 : -1 : 0
+#var float4x4 glstate.matrix.inverse.texture[5] : STATE.MATRIX.TEXTURE[5].INVERSE : , 4 : -1 : 0
+#var float4x4 glstate.matrix.inverse.texture[6] : STATE.MATRIX.TEXTURE[6].INVERSE : , 4 : -1 : 0
+#var float4x4 glstate.matrix.inverse.texture[7] : STATE.MATRIX.TEXTURE[7].INVERSE : , 4 : -1 : 0
+#var float4x4 glstate.matrix.inverse.palette[0] : STATE.MATRIX.PALETTE[0].INVERSE : , 4 : -1 : 0
+#var float4x4 glstate.matrix.inverse.palette[1] : STATE.MATRIX.PALETTE[1].INVERSE : , 4 : -1 : 0
+#var float4x4 glstate.matrix.inverse.palette[2] : STATE.MATRIX.PALETTE[2].INVERSE : , 4 : -1 : 0
+#var float4x4 glstate.matrix.inverse.palette[3] : STATE.MATRIX.PALETTE[3].INVERSE : , 4 : -1 : 0
+#var float4x4 glstate.matrix.inverse.palette[4] : STATE.MATRIX.PALETTE[4].INVERSE : , 4 : -1 : 0
+#var float4x4 glstate.matrix.inverse.palette[5] : STATE.MATRIX.PALETTE[5].INVERSE : , 4 : -1 : 0
+#var float4x4 glstate.matrix.inverse.palette[6] : STATE.MATRIX.PALETTE[6].INVERSE : , 4 : -1 : 0
+#var float4x4 glstate.matrix.inverse.palette[7] : STATE.MATRIX.PALETTE[7].INVERSE : , 4 : -1 : 0
+#var float4x4 glstate.matrix.inverse.program[0] : STATE.MATRIX.PROGRAM[0].INVERSE : , 4 : -1 : 0
+#var float4x4 glstate.matrix.inverse.program[1] : STATE.MATRIX.PROGRAM[1].INVERSE : , 4 : -1 : 0
+#var float4x4 glstate.matrix.inverse.program[2] : STATE.MATRIX.PROGRAM[2].INVERSE : , 4 : -1 : 0
+#var float4x4 glstate.matrix.inverse.program[3] : STATE.MATRIX.PROGRAM[3].INVERSE : , 4 : -1 : 0
+#var float4x4 glstate.matrix.inverse.program[4] : STATE.MATRIX.PROGRAM[4].INVERSE : , 4 : -1 : 0
+#var float4x4 glstate.matrix.inverse.program[5] : STATE.MATRIX.PROGRAM[5].INVERSE : , 4 : -1 : 0
+#var float4x4 glstate.matrix.inverse.program[6] : STATE.MATRIX.PROGRAM[6].INVERSE : , 4 : -1 : 0
+#var float4x4 glstate.matrix.inverse.program[7] : STATE.MATRIX.PROGRAM[7].INVERSE : , 4 : -1 : 0
+#var float4x4 glstate.matrix.transpose.modelview[0] : STATE.MATRIX.MODELVIEW[0].TRANSPOSE : , 4 : -1 : 0
+#var float4x4 glstate.matrix.transpose.modelview[1] : STATE.MATRIX.MODELVIEW[1].TRANSPOSE : , 4 : -1 : 0
+#var float4x4 glstate.matrix.transpose.modelview[2] : STATE.MATRIX.MODELVIEW[2].TRANSPOSE : , 4 : -1 : 0
+#var float4x4 glstate.matrix.transpose.modelview[3] : STATE.MATRIX.MODELVIEW[3].TRANSPOSE : , 4 : -1 : 0
+#var float4x4 glstate.matrix.transpose.modelview[4] : STATE.MATRIX.MODELVIEW[4].TRANSPOSE : , 4 : -1 : 0
+#var float4x4 glstate.matrix.transpose.modelview[5] : STATE.MATRIX.MODELVIEW[5].TRANSPOSE : , 4 : -1 : 0
+#var float4x4 glstate.matrix.transpose.modelview[6] : STATE.MATRIX.MODELVIEW[6].TRANSPOSE : , 4 : -1 : 0
+#var float4x4 glstate.matrix.transpose.modelview[7] : STATE.MATRIX.MODELVIEW[7].TRANSPOSE : , 4 : -1 : 0
+#var float4x4 glstate.matrix.transpose.projection : STATE.MATRIX.PROJECTION.TRANSPOSE : , 4 : -1 : 0
+#var float4x4 glstate.matrix.transpose.mvp : STATE.MATRIX.MVP.TRANSPOSE : , 4 : -1 : 0
+#var float4x4 glstate.matrix.transpose.texture[0] : STATE.MATRIX.TEXTURE[0].TRANSPOSE : , 4 : -1 : 0
+#var float4x4 glstate.matrix.transpose.texture[1] : STATE.MATRIX.TEXTURE[1].TRANSPOSE : , 4 : -1 : 0
+#var float4x4 glstate.matrix.transpose.texture[2] : STATE.MATRIX.TEXTURE[2].TRANSPOSE : , 4 : -1 : 0
+#var float4x4 glstate.matrix.transpose.texture[3] : STATE.MATRIX.TEXTURE[3].TRANSPOSE : , 4 : -1 : 0
+#var float4x4 glstate.matrix.transpose.texture[4] : STATE.MATRIX.TEXTURE[4].TRANSPOSE : , 4 : -1 : 0
+#var float4x4 glstate.matrix.transpose.texture[5] : STATE.MATRIX.TEXTURE[5].TRANSPOSE : , 4 : -1 : 0
+#var float4x4 glstate.matrix.transpose.texture[6] : STATE.MATRIX.TEXTURE[6].TRANSPOSE : , 4 : -1 : 0
+#var float4x4 glstate.matrix.transpose.texture[7] : STATE.MATRIX.TEXTURE[7].TRANSPOSE : , 4 : -1 : 0
+#var float4x4 glstate.matrix.transpose.palette[0] : STATE.MATRIX.PALETTE[0].TRANSPOSE : , 4 : -1 : 0
+#var float4x4 glstate.matrix.transpose.palette[1] : STATE.MATRIX.PALETTE[1].TRANSPOSE : , 4 : -1 : 0
+#var float4x4 glstate.matrix.transpose.palette[2] : STATE.MATRIX.PALETTE[2].TRANSPOSE : , 4 : -1 : 0
+#var float4x4 glstate.matrix.transpose.palette[3] : STATE.MATRIX.PALETTE[3].TRANSPOSE : , 4 : -1 : 0
+#var float4x4 glstate.matrix.transpose.palette[4] : STATE.MATRIX.PALETTE[4].TRANSPOSE : , 4 : -1 : 0
+#var float4x4 glstate.matrix.transpose.palette[5] : STATE.MATRIX.PALETTE[5].TRANSPOSE : , 4 : -1 : 0
+#var float4x4 glstate.matrix.transpose.palette[6] : STATE.MATRIX.PALETTE[6].TRANSPOSE : , 4 : -1 : 0
+#var float4x4 glstate.matrix.transpose.palette[7] : STATE.MATRIX.PALETTE[7].TRANSPOSE : , 4 : -1 : 0
+#var float4x4 glstate.matrix.transpose.program[0] : STATE.MATRIX.PROGRAM[0].TRANSPOSE : , 4 : -1 : 0
+#var float4x4 glstate.matrix.transpose.program[1] : STATE.MATRIX.PROGRAM[1].TRANSPOSE : , 4 : -1 : 0
+#var float4x4 glstate.matrix.transpose.program[2] : STATE.MATRIX.PROGRAM[2].TRANSPOSE : , 4 : -1 : 0
+#var float4x4 glstate.matrix.transpose.program[3] : STATE.MATRIX.PROGRAM[3].TRANSPOSE : , 4 : -1 : 0
+#var float4x4 glstate.matrix.transpose.program[4] : STATE.MATRIX.PROGRAM[4].TRANSPOSE : , 4 : -1 : 0
+#var float4x4 glstate.matrix.transpose.program[5] : STATE.MATRIX.PROGRAM[5].TRANSPOSE : , 4 : -1 : 0
+#var float4x4 glstate.matrix.transpose.program[6] : STATE.MATRIX.PROGRAM[6].TRANSPOSE : , 4 : -1 : 0
+#var float4x4 glstate.matrix.transpose.program[7] : STATE.MATRIX.PROGRAM[7].TRANSPOSE : , 4 : -1 : 0
+#var float4x4 glstate.matrix.invtrans.modelview[0] : STATE.MATRIX.MODELVIEW[0].INVTRANS : , 4 : -1 : 0
+#var float4x4 glstate.matrix.invtrans.modelview[1] : STATE.MATRIX.MODELVIEW[1].INVTRANS : , 4 : -1 : 0
+#var float4x4 glstate.matrix.invtrans.modelview[2] : STATE.MATRIX.MODELVIEW[2].INVTRANS : , 4 : -1 : 0
+#var float4x4 glstate.matrix.invtrans.modelview[3] : STATE.MATRIX.MODELVIEW[3].INVTRANS : , 4 : -1 : 0
+#var float4x4 glstate.matrix.invtrans.modelview[4] : STATE.MATRIX.MODELVIEW[4].INVTRANS : , 4 : -1 : 0
+#var float4x4 glstate.matrix.invtrans.modelview[5] : STATE.MATRIX.MODELVIEW[5].INVTRANS : , 4 : -1 : 0
+#var float4x4 glstate.matrix.invtrans.modelview[6] : STATE.MATRIX.MODELVIEW[6].INVTRANS : , 4 : -1 : 0
+#var float4x4 glstate.matrix.invtrans.modelview[7] : STATE.MATRIX.MODELVIEW[7].INVTRANS : , 4 : -1 : 0
+#var float4x4 glstate.matrix.invtrans.projection : STATE.MATRIX.PROJECTION.INVTRANS : , 4 : -1 : 0
+#var float4x4 glstate.matrix.invtrans.mvp : STATE.MATRIX.MVP.INVTRANS : , 4 : -1 : 0
+#var float4x4 glstate.matrix.invtrans.texture[0] : STATE.MATRIX.TEXTURE[0].INVTRANS : , 4 : -1 : 0
+#var float4x4 glstate.matrix.invtrans.texture[1] : STATE.MATRIX.TEXTURE[1].INVTRANS : , 4 : -1 : 0
+#var float4x4 glstate.matrix.invtrans.texture[2] : STATE.MATRIX.TEXTURE[2].INVTRANS : , 4 : -1 : 0
+#var float4x4 glstate.matrix.invtrans.texture[3] : STATE.MATRIX.TEXTURE[3].INVTRANS : , 4 : -1 : 0
+#var float4x4 glstate.matrix.invtrans.texture[4] : STATE.MATRIX.TEXTURE[4].INVTRANS : , 4 : -1 : 0
+#var float4x4 glstate.matrix.invtrans.texture[5] : STATE.MATRIX.TEXTURE[5].INVTRANS : , 4 : -1 : 0
+#var float4x4 glstate.matrix.invtrans.texture[6] : STATE.MATRIX.TEXTURE[6].INVTRANS : , 4 : -1 : 0
+#var float4x4 glstate.matrix.invtrans.texture[7] : STATE.MATRIX.TEXTURE[7].INVTRANS : , 4 : -1 : 0
+#var float4x4 glstate.matrix.invtrans.palette[0] : STATE.MATRIX.PALETTE[0].INVTRANS : , 4 : -1 : 0
+#var float4x4 glstate.matrix.invtrans.palette[1] : STATE.MATRIX.PALETTE[1].INVTRANS : , 4 : -1 : 0
+#var float4x4 glstate.matrix.invtrans.palette[2] : STATE.MATRIX.PALETTE[2].INVTRANS : , 4 : -1 : 0
+#var float4x4 glstate.matrix.invtrans.palette[3] : STATE.MATRIX.PALETTE[3].INVTRANS : , 4 : -1 : 0
+#var float4x4 glstate.matrix.invtrans.palette[4] : STATE.MATRIX.PALETTE[4].INVTRANS : , 4 : -1 : 0
+#var float4x4 glstate.matrix.invtrans.palette[5] : STATE.MATRIX.PALETTE[5].INVTRANS : , 4 : -1 : 0
+#var float4x4 glstate.matrix.invtrans.palette[6] : STATE.MATRIX.PALETTE[6].INVTRANS : , 4 : -1 : 0
+#var float4x4 glstate.matrix.invtrans.palette[7] : STATE.MATRIX.PALETTE[7].INVTRANS : , 4 : -1 : 0
+#var float4x4 glstate.matrix.invtrans.program[0] : STATE.MATRIX.PROGRAM[0].INVTRANS : , 4 : -1 : 0
+#var float4x4 glstate.matrix.invtrans.program[1] : STATE.MATRIX.PROGRAM[1].INVTRANS : , 4 : -1 : 0
+#var float4x4 glstate.matrix.invtrans.program[2] : STATE.MATRIX.PROGRAM[2].INVTRANS : , 4 : -1 : 0
+#var float4x4 glstate.matrix.invtrans.program[3] : STATE.MATRIX.PROGRAM[3].INVTRANS : , 4 : -1 : 0
+#var float4x4 glstate.matrix.invtrans.program[4] : STATE.MATRIX.PROGRAM[4].INVTRANS : , 4 : -1 : 0
+#var float4x4 glstate.matrix.invtrans.program[5] : STATE.MATRIX.PROGRAM[5].INVTRANS : , 4 : -1 : 0
+#var float4x4 glstate.matrix.invtrans.program[6] : STATE.MATRIX.PROGRAM[6].INVTRANS : , 4 : -1 : 0
+#var float4x4 glstate.matrix.invtrans.program[7] : STATE.MATRIX.PROGRAM[7].INVTRANS : , 4 : -1 : 0
+#var float4 IN.position : $vin.POSITION : POSITION : 0 : 1
+#var float4 IN.tex0 : $vin.ATTR8 : ATTR8 : 0 : 1
+#var float3 IN.tangent : $vin.ATTR9 : ATTR9 : 0 : 1
+#var float3 IN.binormal : $vin.ATTR10 : ATTR10 : 0 : 1
+#var float3 IN.normal : $vin.ATTR11 : ATTR11 : 0 : 1
+#var float4 main.hposition : $vout.HPOS : HPOS : -1 : 1
+#var float4 main.position : $vout.TEX0 : TEX0 : -1 : 1
+#var float4 main.tex_diffuse_bump : $vout.TEX1 : TEX1 : -1 : 1
+#var float4 main.tex_specular : $vout.TEX2 : TEX2 : -1 : 1
+#var float4 main.tex_atten_xy_z : $vout.TEX3 : TEX3 : -1 : 1
+#var float3 main.tangent : $vout.TEX4 : TEX4 : -1 : 1
+#var float3 main.binormal : $vout.TEX5 : TEX5 : -1 : 1
+#var float3 main.normal : $vout.TEX6 : TEX6 : -1 : 1
+PARAM c[20] = { state.matrix.mvp,
+               state.matrix.texture[0],
+               state.matrix.texture[1],
+               state.matrix.texture[2],
+               state.matrix.texture[3] };
+TEMP R0;
+DP4 result.position.w, vertex.position, c[3];
+DP4 result.position.z, vertex.position, c[2];
+DP4 result.position.y, vertex.position, c[1];
+DP4 result.position.x, vertex.position, c[0];
+DP4 R0.y, vertex.attrib[8], c[9];
+DP4 R0.x, vertex.attrib[8], c[8];
+MOV result.texcoord[0], vertex.position;
+MOV result.texcoord[1].zw, R0.xyxy;
+DP4 result.texcoord[1].y, vertex.attrib[8], c[5];
+DP4 result.texcoord[1].x, vertex.attrib[8], c[4];
+DP4 result.texcoord[2].w, vertex.attrib[8], c[15];
+DP4 result.texcoord[2].z, vertex.attrib[8], c[14];
+DP4 result.texcoord[2].y, vertex.attrib[8], c[13];
+DP4 result.texcoord[2].x, vertex.attrib[8], c[12];
+DP4 result.texcoord[3].w, vertex.position, c[19];
+DP4 result.texcoord[3].z, vertex.position, c[18];
+DP4 result.texcoord[3].y, vertex.position, c[17];
+DP4 result.texcoord[3].x, vertex.position, c[16];
+MOV result.texcoord[4].xyz, vertex.attrib[9];
+MOV result.texcoord[5].xyz, vertex.attrib[10];
+MOV result.texcoord[6].xyz, vertex.attrib[11];
+END
+# 21 instructions, 1 R-regs
diff --git a/setup/data/tools/gl/lighting_DBS_omni_vp.glsl b/setup/data/tools/gl/lighting_DBS_omni_vp.glsl
new file mode 100644 (file)
index 0000000..6900b5a
--- /dev/null
@@ -0,0 +1,58 @@
+/// ============================================================================
+/*
+Copyright (C) 2004 Robert Beckebans <trebor_7@users.sourceforge.net>
+Please see the file "CONTRIBUTORS" for a list of contributors
+
+This program is free software; you can redistribute it and/or
+modify it under the terms of the GNU Lesser General Public License
+as published by the Free Software Foundation; either version 2
+of the License, or (at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  
+
+See the GNU Lesser General Public License for more details.
+
+You should have received a copy of the GNU Lesser General Public License
+along with this program; if not, write to the Free Software
+Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
+*/
+/// ============================================================================
+
+attribute vec4         attr_TexCoord0;
+attribute vec3         attr_Tangent;
+attribute vec3         attr_Binormal;
+
+varying vec3           var_vertex;
+varying vec4           var_tex_diffuse_bump;
+varying vec2           var_tex_specular;
+varying vec4           var_tex_atten_xy_z;
+varying mat3           var_mat_os2ts;
+
+void   main()
+{
+       // transform vertex position into homogenous clip-space
+       gl_Position = ftransform();
+       
+       // assign position in object space
+       var_vertex = gl_Vertex.xyz;
+               
+       // transform texcoords into diffusemap texture space
+       var_tex_diffuse_bump.st = (gl_TextureMatrix[0] * attr_TexCoord0).st;
+       
+       // transform texcoords into bumpmap texture space
+       var_tex_diffuse_bump.pq = (gl_TextureMatrix[1] * attr_TexCoord0).st;
+       
+       // transform texcoords into specularmap texture space
+       var_tex_specular = (gl_TextureMatrix[2] * attr_TexCoord0).st;
+       
+       // calc light xy,z attenuation in light space
+       var_tex_atten_xy_z = gl_TextureMatrix[3] * gl_Vertex;
+
+       
+       // construct object-space-to-tangent-space 3x3 matrix
+       var_mat_os2ts = mat3(   attr_Tangent.x, attr_Binormal.x, gl_Normal.x,
+                               attr_Tangent.y, attr_Binormal.y, gl_Normal.y,
+                               attr_Tangent.z, attr_Binormal.z, gl_Normal.z    );
+}
diff --git a/setup/data/tools/gl/utils.cg b/setup/data/tools/gl/utils.cg
new file mode 100644 (file)
index 0000000..63bfcb6
--- /dev/null
@@ -0,0 +1,36 @@
+/// ============================================================================
+/*
+Copyright (C) 2004 Robert Beckebans <trebor_7@users.sourceforge.net>
+Please see the file "AUTHORS" for a list of contributors
+
+This program is free software; you can redistribute it and/or
+modify it under the terms of the GNU General Public License
+as published by the Free Software Foundation; either version 2
+of the License, or (at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  
+
+See the GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program; if not, write to the Free Software
+Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
+*/
+/// ============================================================================
+
+// fresnel approximation
+float  fast_fresnel(float3 I, float3 N, float3 fresnel_values)
+{
+       float power = fresnel_values.x;
+       float scale = fresnel_values.y;
+       float bias  = fresnel_values.z;
+
+       return bias + pow(1.0 - dot(I, N), power) * scale;
+}
+
+float3 CG_Expand(float3 v)
+{
+       return (v - 0.5) * 2;   // expand a range-compressed vector
+}
diff --git a/setup/data/tools/gl/zfill_arbfp1.cg b/setup/data/tools/gl/zfill_arbfp1.cg
new file mode 100644 (file)
index 0000000..c80189c
--- /dev/null
@@ -0,0 +1,47 @@
+/// ============================================================================
+/*
+Copyright (C) 2003 Robert Beckebans <trebor_7@users.sourceforge.net>
+Copyright (C) 2003, 2004  contributors of the XreaL project
+Please see the file "AUTHORS" for a list of contributors
+
+This program is free software; you can redistribute it and/or
+modify it under the terms of the GNU General Public License
+as published by the Free Software Foundation; either version 2
+of the License, or (at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  
+
+See the GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program; if not, write to the Free Software
+Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
+*/
+/// ============================================================================
+
+
+struct cg_vertex2fragment
+{
+       float4 position         : POSITION;
+       float4 tex0             : TEXCOORD0;
+};
+
+struct cg_fragment2final
+{
+       float4 color            : COLOR;
+};
+
+
+cg_fragment2final main(in      cg_vertex2fragment IN,
+                               uniform sampler2D colormap)
+{
+       cg_fragment2final OUT;
+       
+       OUT.color.w = tex2D(colormap, IN.tex0.xy).a;
+       
+       OUT.color.xyz = 0;
+    
+       return OUT;
+}
diff --git a/setup/data/tools/gl/zfill_arbvp1.cg b/setup/data/tools/gl/zfill_arbvp1.cg
new file mode 100644 (file)
index 0000000..4ffc6e2
--- /dev/null
@@ -0,0 +1,49 @@
+/// ============================================================================
+/*
+Copyright (C) 2003 Robert Beckebans <trebor_7@users.sourceforge.net>
+Copyright (C) 2003, 2004  contributors of the XreaL project
+Please see the file "AUTHORS" for a list of contributors
+
+This program is free software; you can redistribute it and/or
+modify it under the terms of the GNU General Public License
+as published by the Free Software Foundation; either version 2
+of the License, or (at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  
+
+See the GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program; if not, write to the Free Software
+Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
+*/
+/// ============================================================================
+
+
+struct cg_app2vertex
+{
+       float4 position         : ATTR0;
+       float4 texcoord0        : ATTR8;
+};
+
+struct cg_vertex2fragment
+{
+       float4 position         : POSITION;
+       float4 tex0             : TEXCOORD0;
+};
+
+
+cg_vertex2fragment main(cg_app2vertex IN)
+{
+       cg_vertex2fragment OUT;
+       
+       // transform vertex position into homogenous clip-space
+       OUT.position = mul(glstate.matrix.mvp, IN.position);
+       
+       // transform texcoords into 1st texture space
+       OUT.tex0 = mul(glstate.matrix.texture[0], IN.texcoord0);
+    
+       return OUT;
+}
diff --git a/setup/data/tools/gl/zfill_fp.glp b/setup/data/tools/gl/zfill_fp.glp
new file mode 100644 (file)
index 0000000..5eb8b12
--- /dev/null
@@ -0,0 +1,19 @@
+!!ARBfp1.0
+# cgc version 1.3.0001, build date Aug  4 2004 10:01:10
+# command line args: -profile arbfp1
+# source file: ..\..\setup\data\tools\gl\zfill_arbfp1.cg
+#vendor NVIDIA Corporation
+#version 1.0.02
+#profile arbfp1
+#program main
+#semantic main.colormap
+#var float4 IN.position :  :  : 0 : 0
+#var float4 IN.tex0 : $vin.TEX0 : TEX0 : 0 : 1
+#var sampler2D colormap :  : texunit 0 : 1 : 1
+#var float4 main.color : $vout.COL : COL : -1 : 1
+#const c[0] = 0
+PARAM c[1] = { { 0 } };
+MOV result.color.xyz, c[0].x;
+TEX result.color.w, fragment.texcoord[0], texture[0], 2D;
+END
+# 2 instructions, 0 R-regs
diff --git a/setup/data/tools/gl/zfill_fp.glsl b/setup/data/tools/gl/zfill_fp.glsl
new file mode 100644 (file)
index 0000000..537db67
--- /dev/null
@@ -0,0 +1,29 @@
+/// ============================================================================
+/*
+Copyright (C) 2004 Robert Beckebans <trebor_7@users.sourceforge.net>
+Please see the file "CONTRIBUTORS" for a list of contributors
+
+This program is free software; you can redistribute it and/or
+modify it under the terms of the GNU Lesser General Public License
+as published by the Free Software Foundation; either version 2
+of the License, or (at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  
+
+See the GNU Lesser General Public License for more details.
+
+You should have received a copy of the GNU Lesser General Public License
+along with this program; if not, write to the Free Software
+Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
+*/
+/// ============================================================================
+
+uniform sampler2D      u_colormap;
+
+void   main()
+{
+       gl_FragColor.a = texture2D(u_colormap, gl_TexCoord[0].st).a;
+       gl_FragColor.rgb = vec3(0.0, 0.0, 0.0);
+}
diff --git a/setup/data/tools/gl/zfill_vp.glp b/setup/data/tools/gl/zfill_vp.glp
new file mode 100644 (file)
index 0000000..f6eda0c
--- /dev/null
@@ -0,0 +1,384 @@
+!!ARBvp1.0
+# cgc version 1.3.0001, build date Aug  4 2004 10:01:10
+# command line args: -profile arbvp1
+# source file: ..\..\setup\data\tools\gl\zfill_arbvp1.cg
+#vendor NVIDIA Corporation
+#version 1.0.02
+#profile arbvp1
+#program main
+#semantic glstate : STATE
+#var float4 glstate.material.ambient : STATE.MATERIAL.AMBIENT :  : -1 : 0
+#var float4 glstate.material.diffuse : STATE.MATERIAL.DIFFUSE :  : -1 : 0
+#var float4 glstate.material.specular : STATE.MATERIAL.SPECULAR :  : -1 : 0
+#var float4 glstate.material.emission : STATE.MATERIAL.EMISSION :  : -1 : 0
+#var float4 glstate.material.shininess : STATE.MATERIAL.SHININESS :  : -1 : 0
+#var float4 glstate.material.front.ambient : STATE.MATERIAL.FRONT.AMBIENT :  : -1 : 0
+#var float4 glstate.material.front.diffuse : STATE.MATERIAL.FRONT.DIFFUSE :  : -1 : 0
+#var float4 glstate.material.front.specular : STATE.MATERIAL.FRONT.SPECULAR :  : -1 : 0
+#var float4 glstate.material.front.emission : STATE.MATERIAL.FRONT.EMISSION :  : -1 : 0
+#var float4 glstate.material.front.shininess : STATE.MATERIAL.FRONT.SHININESS :  : -1 : 0
+#var float4 glstate.material.back.ambient : STATE.MATERIAL.BACK.AMBIENT :  : -1 : 0
+#var float4 glstate.material.back.diffuse : STATE.MATERIAL.BACK.DIFFUSE :  : -1 : 0
+#var float4 glstate.material.back.specular : STATE.MATERIAL.BACK.SPECULAR :  : -1 : 0
+#var float4 glstate.material.back.emission : STATE.MATERIAL.BACK.EMISSION :  : -1 : 0
+#var float4 glstate.material.back.shininess : STATE.MATERIAL.BACK.SHININESS :  : -1 : 0
+#var float4 glstate.light[0].ambient : STATE.LIGHT[0].AMBIENT :  : -1 : 0
+#var float4 glstate.light[0].diffuse : STATE.LIGHT[0].DIFFUSE :  : -1 : 0
+#var float4 glstate.light[0].specular : STATE.LIGHT[0].SPECULAR :  : -1 : 0
+#var float4 glstate.light[0].position : STATE.LIGHT[0].POSITION :  : -1 : 0
+#var float4 glstate.light[0].attenuation : STATE.LIGHT[0].ATTENUATION :  : -1 : 0
+#var float4 glstate.light[0].spot.direction : STATE.LIGHT[0].SPOT.DIRECTION :  : -1 : 0
+#var float4 glstate.light[0].half : STATE.LIGHT[0].HALF :  : -1 : 0
+#var float4 glstate.light[1].ambient : STATE.LIGHT[1].AMBIENT :  : -1 : 0
+#var float4 glstate.light[1].diffuse : STATE.LIGHT[1].DIFFUSE :  : -1 : 0
+#var float4 glstate.light[1].specular : STATE.LIGHT[1].SPECULAR :  : -1 : 0
+#var float4 glstate.light[1].position : STATE.LIGHT[1].POSITION :  : -1 : 0
+#var float4 glstate.light[1].attenuation : STATE.LIGHT[1].ATTENUATION :  : -1 : 0
+#var float4 glstate.light[1].spot.direction : STATE.LIGHT[1].SPOT.DIRECTION :  : -1 : 0
+#var float4 glstate.light[1].half : STATE.LIGHT[1].HALF :  : -1 : 0
+#var float4 glstate.light[2].ambient : STATE.LIGHT[2].AMBIENT :  : -1 : 0
+#var float4 glstate.light[2].diffuse : STATE.LIGHT[2].DIFFUSE :  : -1 : 0
+#var float4 glstate.light[2].specular : STATE.LIGHT[2].SPECULAR :  : -1 : 0
+#var float4 glstate.light[2].position : STATE.LIGHT[2].POSITION :  : -1 : 0
+#var float4 glstate.light[2].attenuation : STATE.LIGHT[2].ATTENUATION :  : -1 : 0
+#var float4 glstate.light[2].spot.direction : STATE.LIGHT[2].SPOT.DIRECTION :  : -1 : 0
+#var float4 glstate.light[2].half : STATE.LIGHT[2].HALF :  : -1 : 0
+#var float4 glstate.light[3].ambient : STATE.LIGHT[3].AMBIENT :  : -1 : 0
+#var float4 glstate.light[3].diffuse : STATE.LIGHT[3].DIFFUSE :  : -1 : 0
+#var float4 glstate.light[3].specular : STATE.LIGHT[3].SPECULAR :  : -1 : 0
+#var float4 glstate.light[3].position : STATE.LIGHT[3].POSITION :  : -1 : 0
+#var float4 glstate.light[3].attenuation : STATE.LIGHT[3].ATTENUATION :  : -1 : 0
+#var float4 glstate.light[3].spot.direction : STATE.LIGHT[3].SPOT.DIRECTION :  : -1 : 0
+#var float4 glstate.light[3].half : STATE.LIGHT[3].HALF :  : -1 : 0
+#var float4 glstate.light[4].ambient : STATE.LIGHT[4].AMBIENT :  : -1 : 0
+#var float4 glstate.light[4].diffuse : STATE.LIGHT[4].DIFFUSE :  : -1 : 0
+#var float4 glstate.light[4].specular : STATE.LIGHT[4].SPECULAR :  : -1 : 0
+#var float4 glstate.light[4].position : STATE.LIGHT[4].POSITION :  : -1 : 0
+#var float4 glstate.light[4].attenuation : STATE.LIGHT[4].ATTENUATION :  : -1 : 0
+#var float4 glstate.light[4].spot.direction : STATE.LIGHT[4].SPOT.DIRECTION :  : -1 : 0
+#var float4 glstate.light[4].half : STATE.LIGHT[4].HALF :  : -1 : 0
+#var float4 glstate.light[5].ambient : STATE.LIGHT[5].AMBIENT :  : -1 : 0
+#var float4 glstate.light[5].diffuse : STATE.LIGHT[5].DIFFUSE :  : -1 : 0
+#var float4 glstate.light[5].specular : STATE.LIGHT[5].SPECULAR :  : -1 : 0
+#var float4 glstate.light[5].position : STATE.LIGHT[5].POSITION :  : -1 : 0
+#var float4 glstate.light[5].attenuation : STATE.LIGHT[5].ATTENUATION :  : -1 : 0
+#var float4 glstate.light[5].spot.direction : STATE.LIGHT[5].SPOT.DIRECTION :  : -1 : 0
+#var float4 glstate.light[5].half : STATE.LIGHT[5].HALF :  : -1 : 0
+#var float4 glstate.light[6].ambient : STATE.LIGHT[6].AMBIENT :  : -1 : 0
+#var float4 glstate.light[6].diffuse : STATE.LIGHT[6].DIFFUSE :  : -1 : 0
+#var float4 glstate.light[6].specular : STATE.LIGHT[6].SPECULAR :  : -1 : 0
+#var float4 glstate.light[6].position : STATE.LIGHT[6].POSITION :  : -1 : 0
+#var float4 glstate.light[6].attenuation : STATE.LIGHT[6].ATTENUATION :  : -1 : 0
+#var float4 glstate.light[6].spot.direction : STATE.LIGHT[6].SPOT.DIRECTION :  : -1 : 0
+#var float4 glstate.light[6].half : STATE.LIGHT[6].HALF :  : -1 : 0
+#var float4 glstate.light[7].ambient : STATE.LIGHT[7].AMBIENT :  : -1 : 0
+#var float4 glstate.light[7].diffuse : STATE.LIGHT[7].DIFFUSE :  : -1 : 0
+#var float4 glstate.light[7].specular : STATE.LIGHT[7].SPECULAR :  : -1 : 0
+#var float4 glstate.light[7].position : STATE.LIGHT[7].POSITION :  : -1 : 0
+#var float4 glstate.light[7].attenuation : STATE.LIGHT[7].ATTENUATION :  : -1 : 0
+#var float4 glstate.light[7].spot.direction : STATE.LIGHT[7].SPOT.DIRECTION :  : -1 : 0
+#var float4 glstate.light[7].half : STATE.LIGHT[7].HALF :  : -1 : 0
+#var float4 glstate.lightmodel.ambient : STATE.LIGHTMODEL.AMBIENT :  : -1 : 0
+#var float4 glstate.lightmodel.scenecolor : STATE.LIGHTMODEL.SCENECOLOR :  : -1 : 0
+#var float4 glstate.lightmodel.front.scenecolor : STATE.LIGHTMODEL.FRONT.SCENECOLOR :  : -1 : 0
+#var float4 glstate.lightmodel.back.scenecolor : STATE.LIGHTMODEL.BACK.SCENECOLOR :  : -1 : 0
+#var float4 glstate.lightprod[0].ambient : STATE.LIGHTPROD[0].AMBIENT :  : -1 : 0
+#var float4 glstate.lightprod[0].diffuse : STATE.LIGHTPROD[0].DIFFUSE :  : -1 : 0
+#var float4 glstate.lightprod[0].specular : STATE.LIGHTPROD[0].SPECULAR :  : -1 : 0
+#var float4 glstate.lightprod[0].front.ambient : STATE.LIGHTPROD[0].FRONT.AMBIENT :  : -1 : 0
+#var float4 glstate.lightprod[0].front.diffuse : STATE.LIGHTPROD[0].FRONT.DIFFUSE :  : -1 : 0
+#var float4 glstate.lightprod[0].front.specular : STATE.LIGHTPROD[0].FRONT.SPECULAR :  : -1 : 0
+#var float4 glstate.lightprod[0].back.ambient : STATE.LIGHTPROD[0].BACK.AMBIENT :  : -1 : 0
+#var float4 glstate.lightprod[0].back.diffuse : STATE.LIGHTPROD[0].BACK.DIFFUSE :  : -1 : 0
+#var float4 glstate.lightprod[0].back.specular : STATE.LIGHTPROD[0].BACK.SPECULAR :  : -1 : 0
+#var float4 glstate.lightprod[1].ambient : STATE.LIGHTPROD[1].AMBIENT :  : -1 : 0
+#var float4 glstate.lightprod[1].diffuse : STATE.LIGHTPROD[1].DIFFUSE :  : -1 : 0
+#var float4 glstate.lightprod[1].specular : STATE.LIGHTPROD[1].SPECULAR :  : -1 : 0
+#var float4 glstate.lightprod[1].front.ambient : STATE.LIGHTPROD[1].FRONT.AMBIENT :  : -1 : 0
+#var float4 glstate.lightprod[1].front.diffuse : STATE.LIGHTPROD[1].FRONT.DIFFUSE :  : -1 : 0
+#var float4 glstate.lightprod[1].front.specular : STATE.LIGHTPROD[1].FRONT.SPECULAR :  : -1 : 0
+#var float4 glstate.lightprod[1].back.ambient : STATE.LIGHTPROD[1].BACK.AMBIENT :  : -1 : 0
+#var float4 glstate.lightprod[1].back.diffuse : STATE.LIGHTPROD[1].BACK.DIFFUSE :  : -1 : 0
+#var float4 glstate.lightprod[1].back.specular : STATE.LIGHTPROD[1].BACK.SPECULAR :  : -1 : 0
+#var float4 glstate.lightprod[2].ambient : STATE.LIGHTPROD[2].AMBIENT :  : -1 : 0
+#var float4 glstate.lightprod[2].diffuse : STATE.LIGHTPROD[2].DIFFUSE :  : -1 : 0
+#var float4 glstate.lightprod[2].specular : STATE.LIGHTPROD[2].SPECULAR :  : -1 : 0
+#var float4 glstate.lightprod[2].front.ambient : STATE.LIGHTPROD[2].FRONT.AMBIENT :  : -1 : 0
+#var float4 glstate.lightprod[2].front.diffuse : STATE.LIGHTPROD[2].FRONT.DIFFUSE :  : -1 : 0
+#var float4 glstate.lightprod[2].front.specular : STATE.LIGHTPROD[2].FRONT.SPECULAR :  : -1 : 0
+#var float4 glstate.lightprod[2].back.ambient : STATE.LIGHTPROD[2].BACK.AMBIENT :  : -1 : 0
+#var float4 glstate.lightprod[2].back.diffuse : STATE.LIGHTPROD[2].BACK.DIFFUSE :  : -1 : 0
+#var float4 glstate.lightprod[2].back.specular : STATE.LIGHTPROD[2].BACK.SPECULAR :  : -1 : 0
+#var float4 glstate.lightprod[3].ambient : STATE.LIGHTPROD[3].AMBIENT :  : -1 : 0
+#var float4 glstate.lightprod[3].diffuse : STATE.LIGHTPROD[3].DIFFUSE :  : -1 : 0
+#var float4 glstate.lightprod[3].specular : STATE.LIGHTPROD[3].SPECULAR :  : -1 : 0
+#var float4 glstate.lightprod[3].front.ambient : STATE.LIGHTPROD[3].FRONT.AMBIENT :  : -1 : 0
+#var float4 glstate.lightprod[3].front.diffuse : STATE.LIGHTPROD[3].FRONT.DIFFUSE :  : -1 : 0
+#var float4 glstate.lightprod[3].front.specular : STATE.LIGHTPROD[3].FRONT.SPECULAR :  : -1 : 0
+#var float4 glstate.lightprod[3].back.ambient : STATE.LIGHTPROD[3].BACK.AMBIENT :  : -1 : 0
+#var float4 glstate.lightprod[3].back.diffuse : STATE.LIGHTPROD[3].BACK.DIFFUSE :  : -1 : 0
+#var float4 glstate.lightprod[3].back.specular : STATE.LIGHTPROD[3].BACK.SPECULAR :  : -1 : 0
+#var float4 glstate.lightprod[4].ambient : STATE.LIGHTPROD[4].AMBIENT :  : -1 : 0
+#var float4 glstate.lightprod[4].diffuse : STATE.LIGHTPROD[4].DIFFUSE :  : -1 : 0
+#var float4 glstate.lightprod[4].specular : STATE.LIGHTPROD[4].SPECULAR :  : -1 : 0
+#var float4 glstate.lightprod[4].front.ambient : STATE.LIGHTPROD[4].FRONT.AMBIENT :  : -1 : 0
+#var float4 glstate.lightprod[4].front.diffuse : STATE.LIGHTPROD[4].FRONT.DIFFUSE :  : -1 : 0
+#var float4 glstate.lightprod[4].front.specular : STATE.LIGHTPROD[4].FRONT.SPECULAR :  : -1 : 0
+#var float4 glstate.lightprod[4].back.ambient : STATE.LIGHTPROD[4].BACK.AMBIENT :  : -1 : 0
+#var float4 glstate.lightprod[4].back.diffuse : STATE.LIGHTPROD[4].BACK.DIFFUSE :  : -1 : 0
+#var float4 glstate.lightprod[4].back.specular : STATE.LIGHTPROD[4].BACK.SPECULAR :  : -1 : 0
+#var float4 glstate.lightprod[5].ambient : STATE.LIGHTPROD[5].AMBIENT :  : -1 : 0
+#var float4 glstate.lightprod[5].diffuse : STATE.LIGHTPROD[5].DIFFUSE :  : -1 : 0
+#var float4 glstate.lightprod[5].specular : STATE.LIGHTPROD[5].SPECULAR :  : -1 : 0
+#var float4 glstate.lightprod[5].front.ambient : STATE.LIGHTPROD[5].FRONT.AMBIENT :  : -1 : 0
+#var float4 glstate.lightprod[5].front.diffuse : STATE.LIGHTPROD[5].FRONT.DIFFUSE :  : -1 : 0
+#var float4 glstate.lightprod[5].front.specular : STATE.LIGHTPROD[5].FRONT.SPECULAR :  : -1 : 0
+#var float4 glstate.lightprod[5].back.ambient : STATE.LIGHTPROD[5].BACK.AMBIENT :  : -1 : 0
+#var float4 glstate.lightprod[5].back.diffuse : STATE.LIGHTPROD[5].BACK.DIFFUSE :  : -1 : 0
+#var float4 glstate.lightprod[5].back.specular : STATE.LIGHTPROD[5].BACK.SPECULAR :  : -1 : 0
+#var float4 glstate.lightprod[6].ambient : STATE.LIGHTPROD[6].AMBIENT :  : -1 : 0
+#var float4 glstate.lightprod[6].diffuse : STATE.LIGHTPROD[6].DIFFUSE :  : -1 : 0
+#var float4 glstate.lightprod[6].specular : STATE.LIGHTPROD[6].SPECULAR :  : -1 : 0
+#var float4 glstate.lightprod[6].front.ambient : STATE.LIGHTPROD[6].FRONT.AMBIENT :  : -1 : 0
+#var float4 glstate.lightprod[6].front.diffuse : STATE.LIGHTPROD[6].FRONT.DIFFUSE :  : -1 : 0
+#var float4 glstate.lightprod[6].front.specular : STATE.LIGHTPROD[6].FRONT.SPECULAR :  : -1 : 0
+#var float4 glstate.lightprod[6].back.ambient : STATE.LIGHTPROD[6].BACK.AMBIENT :  : -1 : 0
+#var float4 glstate.lightprod[6].back.diffuse : STATE.LIGHTPROD[6].BACK.DIFFUSE :  : -1 : 0
+#var float4 glstate.lightprod[6].back.specular : STATE.LIGHTPROD[6].BACK.SPECULAR :  : -1 : 0
+#var float4 glstate.lightprod[7].ambient : STATE.LIGHTPROD[7].AMBIENT :  : -1 : 0
+#var float4 glstate.lightprod[7].diffuse : STATE.LIGHTPROD[7].DIFFUSE :  : -1 : 0
+#var float4 glstate.lightprod[7].specular : STATE.LIGHTPROD[7].SPECULAR :  : -1 : 0
+#var float4 glstate.lightprod[7].front.ambient : STATE.LIGHTPROD[7].FRONT.AMBIENT :  : -1 : 0
+#var float4 glstate.lightprod[7].front.diffuse : STATE.LIGHTPROD[7].FRONT.DIFFUSE :  : -1 : 0
+#var float4 glstate.lightprod[7].front.specular : STATE.LIGHTPROD[7].FRONT.SPECULAR :  : -1 : 0
+#var float4 glstate.lightprod[7].back.ambient : STATE.LIGHTPROD[7].BACK.AMBIENT :  : -1 : 0
+#var float4 glstate.lightprod[7].back.diffuse : STATE.LIGHTPROD[7].BACK.DIFFUSE :  : -1 : 0
+#var float4 glstate.lightprod[7].back.specular : STATE.LIGHTPROD[7].BACK.SPECULAR :  : -1 : 0
+#var float4 glstate.texgen[0].eye.s : STATE.TEXGEN[0].EYE.S :  : -1 : 0
+#var float4 glstate.texgen[0].eye.t : STATE.TEXGEN[0].EYE.T :  : -1 : 0
+#var float4 glstate.texgen[0].eye.r : STATE.TEXGEN[0].EYE.R :  : -1 : 0
+#var float4 glstate.texgen[0].eye.q : STATE.TEXGEN[0].EYE.Q :  : -1 : 0
+#var float4 glstate.texgen[0].object.s : STATE.TEXGEN[0].OBJECT.S :  : -1 : 0
+#var float4 glstate.texgen[0].object.t : STATE.TEXGEN[0].OBJECT.T :  : -1 : 0
+#var float4 glstate.texgen[0].object.r : STATE.TEXGEN[0].OBJECT.R :  : -1 : 0
+#var float4 glstate.texgen[0].object.q : STATE.TEXGEN[0].OBJECT.Q :  : -1 : 0
+#var float4 glstate.texgen[1].eye.s : STATE.TEXGEN[1].EYE.S :  : -1 : 0
+#var float4 glstate.texgen[1].eye.t : STATE.TEXGEN[1].EYE.T :  : -1 : 0
+#var float4 glstate.texgen[1].eye.r : STATE.TEXGEN[1].EYE.R :  : -1 : 0
+#var float4 glstate.texgen[1].eye.q : STATE.TEXGEN[1].EYE.Q :  : -1 : 0
+#var float4 glstate.texgen[1].object.s : STATE.TEXGEN[1].OBJECT.S :  : -1 : 0
+#var float4 glstate.texgen[1].object.t : STATE.TEXGEN[1].OBJECT.T :  : -1 : 0
+#var float4 glstate.texgen[1].object.r : STATE.TEXGEN[1].OBJECT.R :  : -1 : 0
+#var float4 glstate.texgen[1].object.q : STATE.TEXGEN[1].OBJECT.Q :  : -1 : 0
+#var float4 glstate.texgen[2].eye.s : STATE.TEXGEN[2].EYE.S :  : -1 : 0
+#var float4 glstate.texgen[2].eye.t : STATE.TEXGEN[2].EYE.T :  : -1 : 0
+#var float4 glstate.texgen[2].eye.r : STATE.TEXGEN[2].EYE.R :  : -1 : 0
+#var float4 glstate.texgen[2].eye.q : STATE.TEXGEN[2].EYE.Q :  : -1 : 0
+#var float4 glstate.texgen[2].object.s : STATE.TEXGEN[2].OBJECT.S :  : -1 : 0
+#var float4 glstate.texgen[2].object.t : STATE.TEXGEN[2].OBJECT.T :  : -1 : 0
+#var float4 glstate.texgen[2].object.r : STATE.TEXGEN[2].OBJECT.R :  : -1 : 0
+#var float4 glstate.texgen[2].object.q : STATE.TEXGEN[2].OBJECT.Q :  : -1 : 0
+#var float4 glstate.texgen[3].eye.s : STATE.TEXGEN[3].EYE.S :  : -1 : 0
+#var float4 glstate.texgen[3].eye.t : STATE.TEXGEN[3].EYE.T :  : -1 : 0
+#var float4 glstate.texgen[3].eye.r : STATE.TEXGEN[3].EYE.R :  : -1 : 0
+#var float4 glstate.texgen[3].eye.q : STATE.TEXGEN[3].EYE.Q :  : -1 : 0
+#var float4 glstate.texgen[3].object.s : STATE.TEXGEN[3].OBJECT.S :  : -1 : 0
+#var float4 glstate.texgen[3].object.t : STATE.TEXGEN[3].OBJECT.T :  : -1 : 0
+#var float4 glstate.texgen[3].object.r : STATE.TEXGEN[3].OBJECT.R :  : -1 : 0
+#var float4 glstate.texgen[3].object.q : STATE.TEXGEN[3].OBJECT.Q :  : -1 : 0
+#var float4 glstate.texgen[4].eye.s : STATE.TEXGEN[4].EYE.S :  : -1 : 0
+#var float4 glstate.texgen[4].eye.t : STATE.TEXGEN[4].EYE.T :  : -1 : 0
+#var float4 glstate.texgen[4].eye.r : STATE.TEXGEN[4].EYE.R :  : -1 : 0
+#var float4 glstate.texgen[4].eye.q : STATE.TEXGEN[4].EYE.Q :  : -1 : 0
+#var float4 glstate.texgen[4].object.s : STATE.TEXGEN[4].OBJECT.S :  : -1 : 0
+#var float4 glstate.texgen[4].object.t : STATE.TEXGEN[4].OBJECT.T :  : -1 : 0
+#var float4 glstate.texgen[4].object.r : STATE.TEXGEN[4].OBJECT.R :  : -1 : 0
+#var float4 glstate.texgen[4].object.q : STATE.TEXGEN[4].OBJECT.Q :  : -1 : 0
+#var float4 glstate.texgen[5].eye.s : STATE.TEXGEN[5].EYE.S :  : -1 : 0
+#var float4 glstate.texgen[5].eye.t : STATE.TEXGEN[5].EYE.T :  : -1 : 0
+#var float4 glstate.texgen[5].eye.r : STATE.TEXGEN[5].EYE.R :  : -1 : 0
+#var float4 glstate.texgen[5].eye.q : STATE.TEXGEN[5].EYE.Q :  : -1 : 0
+#var float4 glstate.texgen[5].object.s : STATE.TEXGEN[5].OBJECT.S :  : -1 : 0
+#var float4 glstate.texgen[5].object.t : STATE.TEXGEN[5].OBJECT.T :  : -1 : 0
+#var float4 glstate.texgen[5].object.r : STATE.TEXGEN[5].OBJECT.R :  : -1 : 0
+#var float4 glstate.texgen[5].object.q : STATE.TEXGEN[5].OBJECT.Q :  : -1 : 0
+#var float4 glstate.texgen[6].eye.s : STATE.TEXGEN[6].EYE.S :  : -1 : 0
+#var float4 glstate.texgen[6].eye.t : STATE.TEXGEN[6].EYE.T :  : -1 : 0
+#var float4 glstate.texgen[6].eye.r : STATE.TEXGEN[6].EYE.R :  : -1 : 0
+#var float4 glstate.texgen[6].eye.q : STATE.TEXGEN[6].EYE.Q :  : -1 : 0
+#var float4 glstate.texgen[6].object.s : STATE.TEXGEN[6].OBJECT.S :  : -1 : 0
+#var float4 glstate.texgen[6].object.t : STATE.TEXGEN[6].OBJECT.T :  : -1 : 0
+#var float4 glstate.texgen[6].object.r : STATE.TEXGEN[6].OBJECT.R :  : -1 : 0
+#var float4 glstate.texgen[6].object.q : STATE.TEXGEN[6].OBJECT.Q :  : -1 : 0
+#var float4 glstate.texgen[7].eye.s : STATE.TEXGEN[7].EYE.S :  : -1 : 0
+#var float4 glstate.texgen[7].eye.t : STATE.TEXGEN[7].EYE.T :  : -1 : 0
+#var float4 glstate.texgen[7].eye.r : STATE.TEXGEN[7].EYE.R :  : -1 : 0
+#var float4 glstate.texgen[7].eye.q : STATE.TEXGEN[7].EYE.Q :  : -1 : 0
+#var float4 glstate.texgen[7].object.s : STATE.TEXGEN[7].OBJECT.S :  : -1 : 0
+#var float4 glstate.texgen[7].object.t : STATE.TEXGEN[7].OBJECT.T :  : -1 : 0
+#var float4 glstate.texgen[7].object.r : STATE.TEXGEN[7].OBJECT.R :  : -1 : 0
+#var float4 glstate.texgen[7].object.q : STATE.TEXGEN[7].OBJECT.Q :  : -1 : 0
+#var float4 glstate.fog.color : STATE.FOG.COLOR :  : -1 : 0
+#var float4 glstate.fog.params : STATE.FOG.PARAMS :  : -1 : 0
+#var float4 glstate.clip[0].plane : STATE.CLIP[0].PLANE :  : -1 : 0
+#var float4 glstate.clip[1].plane : STATE.CLIP[1].PLANE :  : -1 : 0
+#var float4 glstate.clip[2].plane : STATE.CLIP[2].PLANE :  : -1 : 0
+#var float4 glstate.clip[3].plane : STATE.CLIP[3].PLANE :  : -1 : 0
+#var float4 glstate.clip[4].plane : STATE.CLIP[4].PLANE :  : -1 : 0
+#var float4 glstate.clip[5].plane : STATE.CLIP[5].PLANE :  : -1 : 0
+#var float4 glstate.clip[6].plane : STATE.CLIP[6].PLANE :  : -1 : 0
+#var float4 glstate.clip[7].plane : STATE.CLIP[7].PLANE :  : -1 : 0
+#var float glstate.point.size : STATE.POINT.SIZE :  : -1 : 0
+#var float glstate.point.attenuation : STATE.POINT.ATTENUATION :  : -1 : 0
+#var float4x4 glstate.matrix.modelview[0] : STATE.MATRIX.MODELVIEW[0] : , 4 : -1 : 0
+#var float4x4 glstate.matrix.modelview[1] : STATE.MATRIX.MODELVIEW[1] : , 4 : -1 : 0
+#var float4x4 glstate.matrix.modelview[2] : STATE.MATRIX.MODELVIEW[2] : , 4 : -1 : 0
+#var float4x4 glstate.matrix.modelview[3] : STATE.MATRIX.MODELVIEW[3] : , 4 : -1 : 0
+#var float4x4 glstate.matrix.modelview[4] : STATE.MATRIX.MODELVIEW[4] : , 4 : -1 : 0
+#var float4x4 glstate.matrix.modelview[5] : STATE.MATRIX.MODELVIEW[5] : , 4 : -1 : 0
+#var float4x4 glstate.matrix.modelview[6] : STATE.MATRIX.MODELVIEW[6] : , 4 : -1 : 0
+#var float4x4 glstate.matrix.modelview[7] : STATE.MATRIX.MODELVIEW[7] : , 4 : -1 : 0
+#var float4x4 glstate.matrix.projection : STATE.MATRIX.PROJECTION : , 4 : -1 : 0
+#var float4x4 glstate.matrix.mvp : STATE.MATRIX.MVP : c[0], 4 : -1 : 1
+#var float4x4 glstate.matrix.texture[0] : STATE.MATRIX.TEXTURE[0] : c[4], 4 : -1 : 1
+#var float4x4 glstate.matrix.texture[1] : STATE.MATRIX.TEXTURE[1] : , 4 : -1 : 0
+#var float4x4 glstate.matrix.texture[2] : STATE.MATRIX.TEXTURE[2] : , 4 : -1 : 0
+#var float4x4 glstate.matrix.texture[3] : STATE.MATRIX.TEXTURE[3] : , 4 : -1 : 0
+#var float4x4 glstate.matrix.texture[4] : STATE.MATRIX.TEXTURE[4] : , 4 : -1 : 0
+#var float4x4 glstate.matrix.texture[5] : STATE.MATRIX.TEXTURE[5] : , 4 : -1 : 0
+#var float4x4 glstate.matrix.texture[6] : STATE.MATRIX.TEXTURE[6] : , 4 : -1 : 0
+#var float4x4 glstate.matrix.texture[7] : STATE.MATRIX.TEXTURE[7] : , 4 : -1 : 0
+#var float4x4 glstate.matrix.palette[0] : STATE.MATRIX.PALETTE[0] : , 4 : -1 : 0
+#var float4x4 glstate.matrix.palette[1] : STATE.MATRIX.PALETTE[1] : , 4 : -1 : 0
+#var float4x4 glstate.matrix.palette[2] : STATE.MATRIX.PALETTE[2] : , 4 : -1 : 0
+#var float4x4 glstate.matrix.palette[3] : STATE.MATRIX.PALETTE[3] : , 4 : -1 : 0
+#var float4x4 glstate.matrix.palette[4] : STATE.MATRIX.PALETTE[4] : , 4 : -1 : 0
+#var float4x4 glstate.matrix.palette[5] : STATE.MATRIX.PALETTE[5] : , 4 : -1 : 0
+#var float4x4 glstate.matrix.palette[6] : STATE.MATRIX.PALETTE[6] : , 4 : -1 : 0
+#var float4x4 glstate.matrix.palette[7] : STATE.MATRIX.PALETTE[7] : , 4 : -1 : 0
+#var float4x4 glstate.matrix.program[0] : STATE.MATRIX.PROGRAM[0] : , 4 : -1 : 0
+#var float4x4 glstate.matrix.program[1] : STATE.MATRIX.PROGRAM[1] : , 4 : -1 : 0
+#var float4x4 glstate.matrix.program[2] : STATE.MATRIX.PROGRAM[2] : , 4 : -1 : 0
+#var float4x4 glstate.matrix.program[3] : STATE.MATRIX.PROGRAM[3] : , 4 : -1 : 0
+#var float4x4 glstate.matrix.program[4] : STATE.MATRIX.PROGRAM[4] : , 4 : -1 : 0
+#var float4x4 glstate.matrix.program[5] : STATE.MATRIX.PROGRAM[5] : , 4 : -1 : 0
+#var float4x4 glstate.matrix.program[6] : STATE.MATRIX.PROGRAM[6] : , 4 : -1 : 0
+#var float4x4 glstate.matrix.program[7] : STATE.MATRIX.PROGRAM[7] : , 4 : -1 : 0
+#var float4x4 glstate.matrix.inverse.modelview[0] : STATE.MATRIX.MODELVIEW[0].INVERSE : , 4 : -1 : 0
+#var float4x4 glstate.matrix.inverse.modelview[1] : STATE.MATRIX.MODELVIEW[1].INVERSE : , 4 : -1 : 0
+#var float4x4 glstate.matrix.inverse.modelview[2] : STATE.MATRIX.MODELVIEW[2].INVERSE : , 4 : -1 : 0
+#var float4x4 glstate.matrix.inverse.modelview[3] : STATE.MATRIX.MODELVIEW[3].INVERSE : , 4 : -1 : 0
+#var float4x4 glstate.matrix.inverse.modelview[4] : STATE.MATRIX.MODELVIEW[4].INVERSE : , 4 : -1 : 0
+#var float4x4 glstate.matrix.inverse.modelview[5] : STATE.MATRIX.MODELVIEW[5].INVERSE : , 4 : -1 : 0
+#var float4x4 glstate.matrix.inverse.modelview[6] : STATE.MATRIX.MODELVIEW[6].INVERSE : , 4 : -1 : 0
+#var float4x4 glstate.matrix.inverse.modelview[7] : STATE.MATRIX.MODELVIEW[7].INVERSE : , 4 : -1 : 0
+#var float4x4 glstate.matrix.inverse.projection : STATE.MATRIX.PROJECTION.INVERSE : , 4 : -1 : 0
+#var float4x4 glstate.matrix.inverse.mvp : STATE.MATRIX.MVP.INVERSE : , 4 : -1 : 0
+#var float4x4 glstate.matrix.inverse.texture[0] : STATE.MATRIX.TEXTURE[0].INVERSE : , 4 : -1 : 0
+#var float4x4 glstate.matrix.inverse.texture[1] : STATE.MATRIX.TEXTURE[1].INVERSE : , 4 : -1 : 0
+#var float4x4 glstate.matrix.inverse.texture[2] : STATE.MATRIX.TEXTURE[2].INVERSE : , 4 : -1 : 0
+#var float4x4 glstate.matrix.inverse.texture[3] : STATE.MATRIX.TEXTURE[3].INVERSE : , 4 : -1 : 0
+#var float4x4 glstate.matrix.inverse.texture[4] : STATE.MATRIX.TEXTURE[4].INVERSE : , 4 : -1 : 0
+#var float4x4 glstate.matrix.inverse.texture[5] : STATE.MATRIX.TEXTURE[5].INVERSE : , 4 : -1 : 0
+#var float4x4 glstate.matrix.inverse.texture[6] : STATE.MATRIX.TEXTURE[6].INVERSE : , 4 : -1 : 0
+#var float4x4 glstate.matrix.inverse.texture[7] : STATE.MATRIX.TEXTURE[7].INVERSE : , 4 : -1 : 0
+#var float4x4 glstate.matrix.inverse.palette[0] : STATE.MATRIX.PALETTE[0].INVERSE : , 4 : -1 : 0
+#var float4x4 glstate.matrix.inverse.palette[1] : STATE.MATRIX.PALETTE[1].INVERSE : , 4 : -1 : 0
+#var float4x4 glstate.matrix.inverse.palette[2] : STATE.MATRIX.PALETTE[2].INVERSE : , 4 : -1 : 0
+#var float4x4 glstate.matrix.inverse.palette[3] : STATE.MATRIX.PALETTE[3].INVERSE : , 4 : -1 : 0
+#var float4x4 glstate.matrix.inverse.palette[4] : STATE.MATRIX.PALETTE[4].INVERSE : , 4 : -1 : 0
+#var float4x4 glstate.matrix.inverse.palette[5] : STATE.MATRIX.PALETTE[5].INVERSE : , 4 : -1 : 0
+#var float4x4 glstate.matrix.inverse.palette[6] : STATE.MATRIX.PALETTE[6].INVERSE : , 4 : -1 : 0
+#var float4x4 glstate.matrix.inverse.palette[7] : STATE.MATRIX.PALETTE[7].INVERSE : , 4 : -1 : 0
+#var float4x4 glstate.matrix.inverse.program[0] : STATE.MATRIX.PROGRAM[0].INVERSE : , 4 : -1 : 0
+#var float4x4 glstate.matrix.inverse.program[1] : STATE.MATRIX.PROGRAM[1].INVERSE : , 4 : -1 : 0
+#var float4x4 glstate.matrix.inverse.program[2] : STATE.MATRIX.PROGRAM[2].INVERSE : , 4 : -1 : 0
+#var float4x4 glstate.matrix.inverse.program[3] : STATE.MATRIX.PROGRAM[3].INVERSE : , 4 : -1 : 0
+#var float4x4 glstate.matrix.inverse.program[4] : STATE.MATRIX.PROGRAM[4].INVERSE : , 4 : -1 : 0
+#var float4x4 glstate.matrix.inverse.program[5] : STATE.MATRIX.PROGRAM[5].INVERSE : , 4 : -1 : 0
+#var float4x4 glstate.matrix.inverse.program[6] : STATE.MATRIX.PROGRAM[6].INVERSE : , 4 : -1 : 0
+#var float4x4 glstate.matrix.inverse.program[7] : STATE.MATRIX.PROGRAM[7].INVERSE : , 4 : -1 : 0
+#var float4x4 glstate.matrix.transpose.modelview[0] : STATE.MATRIX.MODELVIEW[0].TRANSPOSE : , 4 : -1 : 0
+#var float4x4 glstate.matrix.transpose.modelview[1] : STATE.MATRIX.MODELVIEW[1].TRANSPOSE : , 4 : -1 : 0
+#var float4x4 glstate.matrix.transpose.modelview[2] : STATE.MATRIX.MODELVIEW[2].TRANSPOSE : , 4 : -1 : 0
+#var float4x4 glstate.matrix.transpose.modelview[3] : STATE.MATRIX.MODELVIEW[3].TRANSPOSE : , 4 : -1 : 0
+#var float4x4 glstate.matrix.transpose.modelview[4] : STATE.MATRIX.MODELVIEW[4].TRANSPOSE : , 4 : -1 : 0
+#var float4x4 glstate.matrix.transpose.modelview[5] : STATE.MATRIX.MODELVIEW[5].TRANSPOSE : , 4 : -1 : 0
+#var float4x4 glstate.matrix.transpose.modelview[6] : STATE.MATRIX.MODELVIEW[6].TRANSPOSE : , 4 : -1 : 0
+#var float4x4 glstate.matrix.transpose.modelview[7] : STATE.MATRIX.MODELVIEW[7].TRANSPOSE : , 4 : -1 : 0
+#var float4x4 glstate.matrix.transpose.projection : STATE.MATRIX.PROJECTION.TRANSPOSE : , 4 : -1 : 0
+#var float4x4 glstate.matrix.transpose.mvp : STATE.MATRIX.MVP.TRANSPOSE : , 4 : -1 : 0
+#var float4x4 glstate.matrix.transpose.texture[0] : STATE.MATRIX.TEXTURE[0].TRANSPOSE : , 4 : -1 : 0
+#var float4x4 glstate.matrix.transpose.texture[1] : STATE.MATRIX.TEXTURE[1].TRANSPOSE : , 4 : -1 : 0
+#var float4x4 glstate.matrix.transpose.texture[2] : STATE.MATRIX.TEXTURE[2].TRANSPOSE : , 4 : -1 : 0
+#var float4x4 glstate.matrix.transpose.texture[3] : STATE.MATRIX.TEXTURE[3].TRANSPOSE : , 4 : -1 : 0
+#var float4x4 glstate.matrix.transpose.texture[4] : STATE.MATRIX.TEXTURE[4].TRANSPOSE : , 4 : -1 : 0
+#var float4x4 glstate.matrix.transpose.texture[5] : STATE.MATRIX.TEXTURE[5].TRANSPOSE : , 4 : -1 : 0
+#var float4x4 glstate.matrix.transpose.texture[6] : STATE.MATRIX.TEXTURE[6].TRANSPOSE : , 4 : -1 : 0
+#var float4x4 glstate.matrix.transpose.texture[7] : STATE.MATRIX.TEXTURE[7].TRANSPOSE : , 4 : -1 : 0
+#var float4x4 glstate.matrix.transpose.palette[0] : STATE.MATRIX.PALETTE[0].TRANSPOSE : , 4 : -1 : 0
+#var float4x4 glstate.matrix.transpose.palette[1] : STATE.MATRIX.PALETTE[1].TRANSPOSE : , 4 : -1 : 0
+#var float4x4 glstate.matrix.transpose.palette[2] : STATE.MATRIX.PALETTE[2].TRANSPOSE : , 4 : -1 : 0
+#var float4x4 glstate.matrix.transpose.palette[3] : STATE.MATRIX.PALETTE[3].TRANSPOSE : , 4 : -1 : 0
+#var float4x4 glstate.matrix.transpose.palette[4] : STATE.MATRIX.PALETTE[4].TRANSPOSE : , 4 : -1 : 0
+#var float4x4 glstate.matrix.transpose.palette[5] : STATE.MATRIX.PALETTE[5].TRANSPOSE : , 4 : -1 : 0
+#var float4x4 glstate.matrix.transpose.palette[6] : STATE.MATRIX.PALETTE[6].TRANSPOSE : , 4 : -1 : 0
+#var float4x4 glstate.matrix.transpose.palette[7] : STATE.MATRIX.PALETTE[7].TRANSPOSE : , 4 : -1 : 0
+#var float4x4 glstate.matrix.transpose.program[0] : STATE.MATRIX.PROGRAM[0].TRANSPOSE : , 4 : -1 : 0
+#var float4x4 glstate.matrix.transpose.program[1] : STATE.MATRIX.PROGRAM[1].TRANSPOSE : , 4 : -1 : 0
+#var float4x4 glstate.matrix.transpose.program[2] : STATE.MATRIX.PROGRAM[2].TRANSPOSE : , 4 : -1 : 0
+#var float4x4 glstate.matrix.transpose.program[3] : STATE.MATRIX.PROGRAM[3].TRANSPOSE : , 4 : -1 : 0
+#var float4x4 glstate.matrix.transpose.program[4] : STATE.MATRIX.PROGRAM[4].TRANSPOSE : , 4 : -1 : 0
+#var float4x4 glstate.matrix.transpose.program[5] : STATE.MATRIX.PROGRAM[5].TRANSPOSE : , 4 : -1 : 0
+#var float4x4 glstate.matrix.transpose.program[6] : STATE.MATRIX.PROGRAM[6].TRANSPOSE : , 4 : -1 : 0
+#var float4x4 glstate.matrix.transpose.program[7] : STATE.MATRIX.PROGRAM[7].TRANSPOSE : , 4 : -1 : 0
+#var float4x4 glstate.matrix.invtrans.modelview[0] : STATE.MATRIX.MODELVIEW[0].INVTRANS : , 4 : -1 : 0
+#var float4x4 glstate.matrix.invtrans.modelview[1] : STATE.MATRIX.MODELVIEW[1].INVTRANS : , 4 : -1 : 0
+#var float4x4 glstate.matrix.invtrans.modelview[2] : STATE.MATRIX.MODELVIEW[2].INVTRANS : , 4 : -1 : 0
+#var float4x4 glstate.matrix.invtrans.modelview[3] : STATE.MATRIX.MODELVIEW[3].INVTRANS : , 4 : -1 : 0
+#var float4x4 glstate.matrix.invtrans.modelview[4] : STATE.MATRIX.MODELVIEW[4].INVTRANS : , 4 : -1 : 0
+#var float4x4 glstate.matrix.invtrans.modelview[5] : STATE.MATRIX.MODELVIEW[5].INVTRANS : , 4 : -1 : 0
+#var float4x4 glstate.matrix.invtrans.modelview[6] : STATE.MATRIX.MODELVIEW[6].INVTRANS : , 4 : -1 : 0
+#var float4x4 glstate.matrix.invtrans.modelview[7] : STATE.MATRIX.MODELVIEW[7].INVTRANS : , 4 : -1 : 0
+#var float4x4 glstate.matrix.invtrans.projection : STATE.MATRIX.PROJECTION.INVTRANS : , 4 : -1 : 0
+#var float4x4 glstate.matrix.invtrans.mvp : STATE.MATRIX.MVP.INVTRANS : , 4 : -1 : 0
+#var float4x4 glstate.matrix.invtrans.texture[0] : STATE.MATRIX.TEXTURE[0].INVTRANS : , 4 : -1 : 0
+#var float4x4 glstate.matrix.invtrans.texture[1] : STATE.MATRIX.TEXTURE[1].INVTRANS : , 4 : -1 : 0
+#var float4x4 glstate.matrix.invtrans.texture[2] : STATE.MATRIX.TEXTURE[2].INVTRANS : , 4 : -1 : 0
+#var float4x4 glstate.matrix.invtrans.texture[3] : STATE.MATRIX.TEXTURE[3].INVTRANS : , 4 : -1 : 0
+#var float4x4 glstate.matrix.invtrans.texture[4] : STATE.MATRIX.TEXTURE[4].INVTRANS : , 4 : -1 : 0
+#var float4x4 glstate.matrix.invtrans.texture[5] : STATE.MATRIX.TEXTURE[5].INVTRANS : , 4 : -1 : 0
+#var float4x4 glstate.matrix.invtrans.texture[6] : STATE.MATRIX.TEXTURE[6].INVTRANS : , 4 : -1 : 0
+#var float4x4 glstate.matrix.invtrans.texture[7] : STATE.MATRIX.TEXTURE[7].INVTRANS : , 4 : -1 : 0
+#var float4x4 glstate.matrix.invtrans.palette[0] : STATE.MATRIX.PALETTE[0].INVTRANS : , 4 : -1 : 0
+#var float4x4 glstate.matrix.invtrans.palette[1] : STATE.MATRIX.PALETTE[1].INVTRANS : , 4 : -1 : 0
+#var float4x4 glstate.matrix.invtrans.palette[2] : STATE.MATRIX.PALETTE[2].INVTRANS : , 4 : -1 : 0
+#var float4x4 glstate.matrix.invtrans.palette[3] : STATE.MATRIX.PALETTE[3].INVTRANS : , 4 : -1 : 0
+#var float4x4 glstate.matrix.invtrans.palette[4] : STATE.MATRIX.PALETTE[4].INVTRANS : , 4 : -1 : 0
+#var float4x4 glstate.matrix.invtrans.palette[5] : STATE.MATRIX.PALETTE[5].INVTRANS : , 4 : -1 : 0
+#var float4x4 glstate.matrix.invtrans.palette[6] : STATE.MATRIX.PALETTE[6].INVTRANS : , 4 : -1 : 0
+#var float4x4 glstate.matrix.invtrans.palette[7] : STATE.MATRIX.PALETTE[7].INVTRANS : , 4 : -1 : 0
+#var float4x4 glstate.matrix.invtrans.program[0] : STATE.MATRIX.PROGRAM[0].INVTRANS : , 4 : -1 : 0
+#var float4x4 glstate.matrix.invtrans.program[1] : STATE.MATRIX.PROGRAM[1].INVTRANS : , 4 : -1 : 0
+#var float4x4 glstate.matrix.invtrans.program[2] : STATE.MATRIX.PROGRAM[2].INVTRANS : , 4 : -1 : 0
+#var float4x4 glstate.matrix.invtrans.program[3] : STATE.MATRIX.PROGRAM[3].INVTRANS : , 4 : -1 : 0
+#var float4x4 glstate.matrix.invtrans.program[4] : STATE.MATRIX.PROGRAM[4].INVTRANS : , 4 : -1 : 0
+#var float4x4 glstate.matrix.invtrans.program[5] : STATE.MATRIX.PROGRAM[5].INVTRANS : , 4 : -1 : 0
+#var float4x4 glstate.matrix.invtrans.program[6] : STATE.MATRIX.PROGRAM[6].INVTRANS : , 4 : -1 : 0
+#var float4x4 glstate.matrix.invtrans.program[7] : STATE.MATRIX.PROGRAM[7].INVTRANS : , 4 : -1 : 0
+#var float4 IN.position : $vin.ATTR0 : ATTR0 : 0 : 1
+#var float4 IN.texcoord0 : $vin.ATTR8 : ATTR8 : 0 : 1
+#var float4 main.position : $vout.HPOS : HPOS : -1 : 1
+#var float4 main.tex0 : $vout.TEX0 : TEX0 : -1 : 1
+PARAM c[8] = { state.matrix.mvp,
+               state.matrix.texture[0] };
+DP4 result.position.w, vertex.attrib[0], c[3];
+DP4 result.position.z, vertex.attrib[0], c[2];
+DP4 result.position.y, vertex.attrib[0], c[1];
+DP4 result.position.x, vertex.attrib[0], c[0];
+DP4 result.texcoord[0].w, vertex.attrib[8], c[7];
+DP4 result.texcoord[0].z, vertex.attrib[8], c[6];
+DP4 result.texcoord[0].y, vertex.attrib[8], c[5];
+DP4 result.texcoord[0].x, vertex.attrib[8], c[4];
+END
+# 8 instructions, 0 R-regs
diff --git a/setup/data/tools/gl/zfill_vp.glsl b/setup/data/tools/gl/zfill_vp.glsl
new file mode 100644 (file)
index 0000000..4c81280
--- /dev/null
@@ -0,0 +1,35 @@
+/// ============================================================================
+/*
+Copyright (C) 2004 Robert Beckebans <trebor_7@users.sourceforge.net>
+Please see the file "CONTRIBUTORS" for a list of contributors
+
+This program is free software; you can redistribute it and/or
+modify it under the terms of the GNU Lesser General Public License
+as published by the Free Software Foundation; either version 2
+of the License, or (at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  
+
+See the GNU Lesser General Public License for more details.
+
+You should have received a copy of the GNU Lesser General Public License
+along with this program; if not, write to the Free Software
+Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
+*/
+/// ============================================================================
+
+attribute vec4         attr_TexCoord0;
+
+void   main()
+{
+       // transform vertex position into homogenous clip-space
+       gl_Position = ftransform();
+       
+       // transform texcoords
+       gl_TexCoord[0] = gl_TextureMatrix[0] * gl_MultiTexCoord0;
+       
+       // assign color
+       gl_FrontColor = gl_Color;
+}
diff --git a/setup/data/tools/global.xlink b/setup/data/tools/global.xlink
new file mode 100644 (file)
index 0000000..8fbd043
--- /dev/null
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="iso-8859-1" standalone="yes"?>
+<!-- generated by Radiant setup, modify at your own risks -->
+<links>
+<item name="Web Links &amp; Misc" url="links.htm"/>
+<item name="GtkRadiant Bugzilla - Report Bug" url="http://zerowing.idsoftware.com/bugzilla/index.cgi"/>
+<item name="q3map2 handbook (web)" url="http://shaderlab.com/q3map2/manual/default.htm"/>
+<item name="ETB documentation (web)" url="http://www.map-craft.com/modules.php?name=ETB"/>
+<item name="ChangeLog" url="changelog.txt"/>
+<item name="Q3Map2 ChangeLog" url="changelog.q3map2.txt"/>
+<item name="Credits" url="credits.html"/>
+</links>
diff --git a/setup/data/tools/plugins/bitmaps/bobtoolz_caulk.bmp b/setup/data/tools/plugins/bitmaps/bobtoolz_caulk.bmp
new file mode 100644 (file)
index 0000000..5223950
Binary files /dev/null and b/setup/data/tools/plugins/bitmaps/bobtoolz_caulk.bmp differ
diff --git a/setup/data/tools/plugins/bitmaps/bobtoolz_cleanup.bmp b/setup/data/tools/plugins/bitmaps/bobtoolz_cleanup.bmp
new file mode 100644 (file)
index 0000000..33cc949
Binary files /dev/null and b/setup/data/tools/plugins/bitmaps/bobtoolz_cleanup.bmp differ
diff --git a/setup/data/tools/plugins/bitmaps/bobtoolz_dropent.bmp b/setup/data/tools/plugins/bitmaps/bobtoolz_dropent.bmp
new file mode 100644 (file)
index 0000000..2fcdcba
Binary files /dev/null and b/setup/data/tools/plugins/bitmaps/bobtoolz_dropent.bmp differ
diff --git a/setup/data/tools/plugins/bitmaps/bobtoolz_merge.bmp b/setup/data/tools/plugins/bitmaps/bobtoolz_merge.bmp
new file mode 100644 (file)
index 0000000..cc5e272
Binary files /dev/null and b/setup/data/tools/plugins/bitmaps/bobtoolz_merge.bmp differ
diff --git a/setup/data/tools/plugins/bitmaps/bobtoolz_poly.bmp b/setup/data/tools/plugins/bitmaps/bobtoolz_poly.bmp
new file mode 100644 (file)
index 0000000..ed720e9
Binary files /dev/null and b/setup/data/tools/plugins/bitmaps/bobtoolz_poly.bmp differ
diff --git a/setup/data/tools/plugins/bitmaps/bobtoolz_split.bmp b/setup/data/tools/plugins/bitmaps/bobtoolz_split.bmp
new file mode 100644 (file)
index 0000000..fbb1571
Binary files /dev/null and b/setup/data/tools/plugins/bitmaps/bobtoolz_split.bmp differ
diff --git a/setup/data/tools/plugins/bitmaps/bobtoolz_trainpathplot.bmp b/setup/data/tools/plugins/bitmaps/bobtoolz_trainpathplot.bmp
new file mode 100644 (file)
index 0000000..66537dc
Binary files /dev/null and b/setup/data/tools/plugins/bitmaps/bobtoolz_trainpathplot.bmp differ
diff --git a/setup/data/tools/plugins/bitmaps/bobtoolz_treeplanter.bmp b/setup/data/tools/plugins/bitmaps/bobtoolz_treeplanter.bmp
new file mode 100644 (file)
index 0000000..08f55f3
Binary files /dev/null and b/setup/data/tools/plugins/bitmaps/bobtoolz_treeplanter.bmp differ
diff --git a/setup/data/tools/plugins/bitmaps/bobtoolz_turnedge.bmp b/setup/data/tools/plugins/bitmaps/bobtoolz_turnedge.bmp
new file mode 100644 (file)
index 0000000..b72cb2a
Binary files /dev/null and b/setup/data/tools/plugins/bitmaps/bobtoolz_turnedge.bmp differ
diff --git a/setup/data/tools/plugins/bitmaps/ufoai_actorclip.bmp b/setup/data/tools/plugins/bitmaps/ufoai_actorclip.bmp
new file mode 100644 (file)
index 0000000..4a2887c
Binary files /dev/null and b/setup/data/tools/plugins/bitmaps/ufoai_actorclip.bmp differ
diff --git a/setup/data/tools/plugins/bitmaps/ufoai_level1.bmp b/setup/data/tools/plugins/bitmaps/ufoai_level1.bmp
new file mode 100644 (file)
index 0000000..80a4b29
Binary files /dev/null and b/setup/data/tools/plugins/bitmaps/ufoai_level1.bmp differ
diff --git a/setup/data/tools/plugins/bitmaps/ufoai_level2.bmp b/setup/data/tools/plugins/bitmaps/ufoai_level2.bmp
new file mode 100644 (file)
index 0000000..e84e254
Binary files /dev/null and b/setup/data/tools/plugins/bitmaps/ufoai_level2.bmp differ
diff --git a/setup/data/tools/plugins/bitmaps/ufoai_level3.bmp b/setup/data/tools/plugins/bitmaps/ufoai_level3.bmp
new file mode 100644 (file)
index 0000000..141c324
Binary files /dev/null and b/setup/data/tools/plugins/bitmaps/ufoai_level3.bmp differ
diff --git a/setup/data/tools/plugins/bitmaps/ufoai_level4.bmp b/setup/data/tools/plugins/bitmaps/ufoai_level4.bmp
new file mode 100644 (file)
index 0000000..3783a80
Binary files /dev/null and b/setup/data/tools/plugins/bitmaps/ufoai_level4.bmp differ
diff --git a/setup/data/tools/plugins/bitmaps/ufoai_level5.bmp b/setup/data/tools/plugins/bitmaps/ufoai_level5.bmp
new file mode 100644 (file)
index 0000000..8f62851
Binary files /dev/null and b/setup/data/tools/plugins/bitmaps/ufoai_level5.bmp differ
diff --git a/setup/data/tools/plugins/bitmaps/ufoai_level6.bmp b/setup/data/tools/plugins/bitmaps/ufoai_level6.bmp
new file mode 100644 (file)
index 0000000..418fdd2
Binary files /dev/null and b/setup/data/tools/plugins/bitmaps/ufoai_level6.bmp differ
diff --git a/setup/data/tools/plugins/bitmaps/ufoai_level7.bmp b/setup/data/tools/plugins/bitmaps/ufoai_level7.bmp
new file mode 100644 (file)
index 0000000..d82dab6
Binary files /dev/null and b/setup/data/tools/plugins/bitmaps/ufoai_level7.bmp differ
diff --git a/setup/data/tools/plugins/bitmaps/ufoai_level8.bmp b/setup/data/tools/plugins/bitmaps/ufoai_level8.bmp
new file mode 100644 (file)
index 0000000..c380953
Binary files /dev/null and b/setup/data/tools/plugins/bitmaps/ufoai_level8.bmp differ
diff --git a/setup/data/tools/plugins/bitmaps/ufoai_nodraw.bmp b/setup/data/tools/plugins/bitmaps/ufoai_nodraw.bmp
new file mode 100644 (file)
index 0000000..3eaa529
Binary files /dev/null and b/setup/data/tools/plugins/bitmaps/ufoai_nodraw.bmp differ
diff --git a/setup/data/tools/plugins/bitmaps/ufoai_stepon.bmp b/setup/data/tools/plugins/bitmaps/ufoai_stepon.bmp
new file mode 100644 (file)
index 0000000..b73896f
Binary files /dev/null and b/setup/data/tools/plugins/bitmaps/ufoai_stepon.bmp differ
diff --git a/setup/data/tools/plugins/bitmaps/ufoai_weaponclip.bmp b/setup/data/tools/plugins/bitmaps/ufoai_weaponclip.bmp
new file mode 100644 (file)
index 0000000..799468b
Binary files /dev/null and b/setup/data/tools/plugins/bitmaps/ufoai_weaponclip.bmp differ
diff --git a/setup/data/tools/plugins/bt/bt-el1.txt b/setup/data/tools/plugins/bt/bt-el1.txt
new file mode 100644 (file)
index 0000000..ccac5e6
--- /dev/null
@@ -0,0 +1,17 @@
+common/areaportal\r
+common/clip\r
+common/clusterportal\r
+common/cushion\r
+common/donotenter\r
+common/full_clip\r
+common/hint\r
+common/missileclip\r
+common/nodraw\r
+common/nodrawnonsolid\r
+common/nodrop\r
+common/noimpact\r
+common/origin\r
+common/trigger\r
+common/weapclip\r
+liquid\r
+fog
\ No newline at end of file
diff --git a/setup/data/tools/plugins/bt/bt-el2.txt b/setup/data/tools/plugins/bt/bt-el2.txt
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/setup/data/tools/plugins/bt/door-tex-trim.txt b/setup/data/tools/plugins/bt/door-tex-trim.txt
new file mode 100644 (file)
index 0000000..5211a98
--- /dev/null
@@ -0,0 +1,5 @@
+base_support/support1rust\r
+base_support/support1shiny\r
+base_support/support2rust\r
+base_support/wplat1_1\r
+base_support/plate2_5
\ No newline at end of file
diff --git a/setup/data/tools/plugins/bt/door-tex.txt b/setup/data/tools/plugins/bt/door-tex.txt
new file mode 100644 (file)
index 0000000..94b352f
--- /dev/null
@@ -0,0 +1,10 @@
+base_door/shinymetaldoor\r
+base_door/shinymetaldoor_outside\r
+gothic_door/door02_bred\r
+gothic_door/door02_bred2_shiny\r
+gothic_door/door02_eblue2_shiny\r
+gothic_door/door02_i_ornate5_fin\r
+gothic_door/door02_j\r
+gothic_door/door02_j3\r
+gothic_door/door02_j4\r
+gothic_door/door02_k2b
\ No newline at end of file
diff --git a/setup/data/tools/plugins/bt/tp_ent.txt b/setup/data/tools/plugins/bt/tp_ent.txt
new file mode 100644 (file)
index 0000000..09488da
--- /dev/null
@@ -0,0 +1,14 @@
+{\r
+       "entity" "misc_model"\r
+\r
+       "offset" "-16"\r
+\r
+       "model" "models/mapobjects/trees_sd/tree_a.md3"\r
+       "model" "models/mapobjects/trees_sd/tree_b.md3"\r
+       "model" "models/mapobjects/trees_sd/tree_c.md3"\r
+       "model" "models/mapobjects/trees_sd/tree_d.md3"\r
+\r
+       "pitch" "-5" "5"\r
+       "yaw" "0" "360"\r
+       "scale" "1" "1.3"\r
+}
\ No newline at end of file
diff --git a/setup/data/tools/q3data.qdt b/setup/data/tools/q3data.qdt
new file mode 100644 (file)
index 0000000..ba30ee1
--- /dev/null
@@ -0,0 +1,552 @@
+$aseconvert models/mapobjects/spotlamp/spotlamp_x.ase
+$exit
+
+
+$aseconvert models/weapons2/machinegun/machinegun.ase -weapon
+$aseconvert models/weapons2/bfg/bfg.ase -weapon
+$aseconvert models/weapons2/railgun/railgun.ase -weapon
+$aseconvert models/weapons2/shotgun/shotgun.ase -weapon
+
+$aseconvert models/weapons2/meshes/chaingun.ase -weapon
+$aseconvert models/weapons2/meshes/flamethrower.ase -weapon
+$aseconvert models/weapons2/meshes/grapple.ase -weapon
+$aseconvert models/weapons2/meshes/grenadel.ase -weapon
+$aseconvert models/weapons2/meshes/lightning.ase -weapon
+$aseconvert models/weapons2/meshes/plasma.ase -weapon
+$aseconvert models/weapons2/meshes/railgun.ase -weapon
+$aseconvert models/weapons2/meshes/ricochet.ase -weapon
+$aseconvert models/weapons2/meshes/rocketl.ase -weapon
+$aseconvert models/weapons2/meshes/shotgun.ase -weapon
+
+
+$aseconvert models/mapobjects/chain1.ase
+$aseconvert models/mapobjects/chain2.ase
+$aseconvert models/mapobjects/chain3.ase
+$aseconvert models/mapobjects/chain4.ase
+
+$exit
+
+$aseanimconvert models/players/light/bandolier/bandolier.ase -origin 0 0 24 -playerparms 75 138 140 1
+$aseanimconvert models/players/light/brandon/4brandon.ase -origin 0 0 24 -playerparms 75 138 140 1
+$aseanimconvert models/players/light/cash/4cash.ase -origin 0 0 24 -playerparms 75 138 140 1
+$aseanimconvert models/players/light/doom/doom.ase -origin 0 0 24 -playerparms 75 138 140 1
+$aseanimconvert models/players/light/shauna/shauna.ase -origin 0 0 24 -playerparms 75 138 140 1
+$aseanimconvert models/players/medium/tim/4tim.ase -origin 0 0 24 -playerparms 75 138 140 1
+$aseanimconvert models/players/medium/visor/4visor.ase -origin 0 0 24 -playerparms 75 138 140 1
+$aseanimconvert models/players/medium/xian/4xian.ase -origin 0 0 24 -playerparms 75 138 140 1
+$aseanimconvert models/players/medium/carmack/carmack.ase -origin 0 0 24 -playerparms 75 138 140 1
+$aseanimconvert models/players/heavy/paulj/4paulj.ase -origin 0 0 24 -playerparms 75 138 140 1
+$aseanimconvert models/players/heavy/brock/brock.ase -origin 0 0 24 -playerparms 75 138 140 1
+
+$exit
+
+// note: playerparms are "skipStart skipEnd maxUpperFrames maxHeadFrames"
+$aseanimconvert models/players/medium/visor/4visor.ase -origin 0 0 24 -playerparms 75 138 140 1
+$aseanimconvert models/players/medium/visor/4visor.ase -lod 1 0 -origin 0 0 24 -playerparms 75 138 140 1
+$aseanimconvert models/players/medium/visor/4visor.ase -lod 2 0 -origin 0 0 24 -playerparms 75 138 140 1
+
+
+
+$aseconvert models/powerups/ammo/backpack.ase
+
+$aseconvert models/weapons2/meshes/assault.ase -weapon
+$aseconvert models/weapons2/meshes/chaingun.ase -weapon
+$aseconvert models/weapons2/meshes/flamethrower.ase -weapon
+$aseconvert models/weapons2/meshes/grapple.ase -weapon
+$aseconvert models/weapons2/meshes/grenadel.ase -weapon
+$aseconvert models/weapons2/meshes/lightning.ase -weapon
+$aseconvert models/weapons2/meshes/plasma.ase -weapon
+$aseconvert models/weapons2/meshes/railgun.ase -weapon
+$aseconvert models/weapons2/meshes/ricochet.ase -weapon
+$aseconvert models/weapons2/meshes/rocketl.ase -weapon
+$aseconvert models/weapons2/meshes/shotgun.ase -weapon
+
+$aseconvert models/mapobjects/arenalogo.ase
+
+//
+// talk sprite
+//
+$modelname sprites/balloon
+$cd sprites
+$spritebase -8 -8 16 16
+$spriteshader sprites/balloon3.tga
+
+// plasma ball sprite
+$modelname sprites/plasma
+$cd sprites
+$spritebase -16 -16 32 32
+$spriteshader sprites/plasma1.tga
+$spriteshader sprites/plasma2.tga
+
+//
+// player models
+// note: playerparms are "skipStart skipEnd maxUpperFrames maxHeadFrames"
+//
+$aseanimconvert models/players/light/bandolier/bandolier.ase -origin 0 0 24 -playerparms 75 138 140 1
+$aseanimconvert models/players/light/brandon/4brandon.ase -origin 0 0 24 -playerparms 75 138 140 1
+$aseanimconvert models/players/light/cash/4cash.ase -origin 0 0 24 -playerparms 75 138 140 1
+$aseanimconvert models/players/light/doom/doom.ase -origin 0 0 24 -playerparms 75 138 140 1
+$aseanimconvert models/players/light/shauna/shauna.ase -origin 0 0 24 -playerparms 75 138 140 1
+$aseanimconvert models/players/medium/tim/4tim.ase -origin 0 0 24 -playerparms 75 138 140 1
+$aseanimconvert models/players/medium/visor/4visor.ase -origin 0 0 24 -playerparms 75 138 140 1
+$aseanimconvert models/players/medium/xian/4xian.ase -origin 0 0 24 -playerparms 75 138 140 1
+$aseanimconvert models/players/medium/carmack/carmack.ase -origin 0 0 24 -playerparms 75 138 140 1
+$aseanimconvert models/players/heavy/paulj/4paulj.ase -origin 0 0 24 -playerparms 75 138 140 1
+$aseanimconvert models/players/heavy/brock/brock.ase -origin 0 0 24 -playerparms 75 138 140 1
+
+//
+// weaphits
+//
+$modelname models/weaphits/bullet
+$cd models/weaphits
+$base bullet01.3ds
+$frame bullet01.3ds
+$frame bullet02.3ds
+$frame bullet03.3ds
+$frame bullet04.3ds
+$frame bullet05.3ds
+$frame bullet06.3ds
+$skin bullet01.3ds
+$skin bullet03.3ds
+$skin bullet05.3ds
+
+$modelname models/weaphits/ring01
+$cd models/weaphits
+$base ring01_1.3ds
+$frame ring01_1.3ds
+$frame ring01_2.3ds
+$frame ring01_3.3ds
+$frame ring01_4.3ds
+$frame ring01_5.3ds
+$frame ring01_6.3ds
+$skin ring01_1.3ds
+$skin ring01_3.3ds
+$skin ring01_5.3ds
+
+$modelname models/weaphits/ring02
+$cd models/weaphits
+$base ring02_1.3ds
+$frame ring02_1.3ds
+$frame ring02_2.3ds
+$frame ring02_3.3ds
+$frame ring02_4.3ds
+$frame ring02_5.3ds
+$frame ring02_6.3ds
+$skin ring02_1.3ds
+$skin ring02_3.3ds
+$skin ring02_5.3ds
+
+$modelname models/weaphits/boomgra
+$cd models/weaphits
+$base boomgra1.3ds
+$frame boomgra1.3ds
+$frame boomgra2.3ds
+$frame boomgra3.3ds
+$frame boomgra4.3ds
+$frame boomgra5.3ds
+$frame boomgra6.3ds
+$skin boomgra1.3ds
+$skin boomgra3.3ds
+$skin boomgra5.3ds
+
+$modelname models/weaphits/boom01
+$cd models/weaphits
+$base boom01_1.3ds
+$frame boom01_1.3ds
+$frame boom01_2.3ds
+$frame boom01_3.3ds
+$frame boom01_4.3ds
+$frame boom01_5.3ds
+$frame boom01_6.3ds
+$skin boom01_1.3ds
+$skin boom01_3.3ds
+$skin boom01_5.3ds
+
+$modelname models/weaphits/boom02
+$cd models/weaphits
+$base boom02_1.3ds
+$frame boom02_1.3ds
+$frame boom02_2.3ds
+$frame boom02_3.3ds
+$frame boom02_4.3ds
+$frame boom02_5.3ds
+$frame boom02_6.3ds
+$skin boom02_1.3ds
+$skin boom02_3.3ds
+$skin boom02_5.3ds
+
+$modelname models/weaphits/boom03
+$cd models/weaphits
+$base boom03_1.3ds
+$frame boom03_1.3ds
+$frame boom03_2.3ds
+$frame boom03_3.3ds
+$frame boom03_4.3ds
+$frame boom03_5.3ds
+$frame boom03_6.3ds
+$skin boom03_1.3ds
+$skin boom03_3.3ds
+$skin boom03_5.3ds
+
+$modelname models/weaphits/boom04
+$cd models/weaphits
+$base boom04_1.3ds
+$frame boom04_1.3ds
+$frame boom04_2.3ds
+$frame boom04_3.3ds
+$frame boom04_4.3ds
+$frame boom04_5.3ds
+$frame boom04_6.3ds
+$skin boom04_1.3ds
+$skin boom04_3.3ds
+$skin boom04_5.3ds
+
+$modelname models/weaphits/boom05
+$cd models/weaphits
+$base boom05_1.3ds
+$frame boom05_1.3ds
+$frame boom05_2.3ds
+$frame boom05_3.3ds
+$frame boom05_4.3ds
+$frame boom05_5.3ds
+$frame boom05_6.3ds
+$skin boom05_1.3ds
+$skin boom05_3.3ds
+$skin boom05_5.3ds
+
+//
+// point powerups
+//
+$aseconvert models/powerups/points/small.ase
+$aseconvert models/powerups/points/medium.ase
+$aseconvert models/powerups/points/large.ase
+
+//
+// ammo
+//
+$aseconvert models\powerups\ammo\bfgam.ASE
+$aseconvert models\powerups\ammo\bfgam_1.ASE
+$aseconvert models\powerups\ammo\bouncyam.ASE
+$aseconvert models\powerups\ammo\bouncyam_1.ASE
+$aseconvert models\powerups\ammo\carbineam.ASE
+$aseconvert models\powerups\ammo\carbineam_1.ASE
+$aseconvert models\powerups\ammo\flameam.ASE
+$aseconvert models\powerups\ammo\flameam_1.ASE
+$aseconvert models\powerups\ammo\grenadeam.ASE
+$aseconvert models\powerups\ammo\grenadeam_1.ASE
+$aseconvert models\powerups\ammo\lightningam.ASE
+$aseconvert models\powerups\ammo\lightningam_1.ASE
+$aseconvert models\powerups\ammo\machinegunam.ASE
+$aseconvert models\powerups\ammo\machinegunam_1.ASE
+$aseconvert models\powerups\ammo\plasmaam.ASE
+$aseconvert models\powerups\ammo\plasmaam_1.ASE
+$aseconvert models\powerups\ammo\railgunam.ASE
+$aseconvert models\powerups\ammo\railgunam_1.ASE
+$aseconvert models\powerups\ammo\rocketam.ASE
+$aseconvert models\powerups\ammo\rocketam_1.ASE
+$aseconvert models\powerups\ammo\shotgunam.ASE
+$aseconvert models\powerups\ammo\shotgunam_1.ASE
+
+$aseconvert models/powerups/ammo/backpack.ase
+
+//
+// missiles
+//
+$modelname models/ammo/plasma/plasma
+$cd models/ammo/plasma
+$base plasma1.3ds
+$frame plasma1.3ds
+$skin plasma1.3ds
+
+$modelname models/ammo/laser/laser
+$cd models/ammo/laser
+$base laser1.3ds
+$frame laser1.3ds
+$skin laser1.3ds
+
+$modelname models/ammo/rocket/rocket
+$cd models/ammo/rocket
+$base rocket1.3ds
+$frame rocket1.3ds
+$skin rocket1.3ds
+$skin rocket2.3ds
+
+$aseconvert models/ammo/grenade1.ase
+$aseconvert models/explosions/smoke2.ase
+
+//
+// map objects
+//
+$aseconvert models/mapobjects/ceilinglamp1.ase
+$aseconvert models/mapobjects/ceilinglamp2.ase
+$aseconvert models/mapobjects/chain1.ase
+$aseconvert models/mapobjects/chain2.ase
+$aseconvert models/mapobjects/chain3.ase
+$aseconvert models/mapobjects/chain4.ase
+$aseconvert models/mapobjects/crux.ase
+$aseconvert models/mapobjects/floorlamp1.ase
+$aseconvert models/mapobjects/floorlamp2.ase
+$aseconvert models/mapobjects/hook.ase
+$aseconvert models/mapobjects/impale.ase
+$aseconvert models/mapobjects/standinglamp1.ase
+$aseconvert models/mapobjects/standinglamp2.ase
+$aseconvert models/mapobjects/standinglamp3.ase
+$aseconvert models/mapobjects/walllamp1.ase
+$aseconvert models/mapobjects/walllamp2.ase
+$aseconvert models/mapobjects/walllamp3.ase
+
+
+//
+// objects
+//
+$aseconvert models/objects/dmspot.ase -origin 0 0 24
+$aseconvert    models/objects/box01.ase
+
+//
+// weapons
+//
+$aseconvert models/weapons2/meshes/assault.ase -weapon
+$aseconvert models/weapons2/meshes/bfg.ase -weapon
+$aseconvert models/weapons2/meshes/chaingun.ase -weapon
+$aseconvert models/weapons2/meshes/flamethrower.ase -weapon
+$aseconvert models/weapons2/meshes/grapple.ase -weapon
+$aseconvert models/weapons2/meshes/grenadel.ase -weapon
+$aseconvert models/weapons2/meshes/lightning.ase -weapon
+$aseconvert models/weapons2/meshes/plasma.ase -weapon
+$aseconvert models/weapons2/meshes/railgun.ase -weapon
+$aseconvert models/weapons2/meshes/ricochet.ase -weapon
+$aseconvert models/weapons2/meshes/rocketl.ase -weapon
+$aseconvert models/weapons2/meshes/shotgun.ase -weapon
+
+//
+// blood
+//
+$modelname models/weaphits/blood
+$cd models/weaphits
+$spritebase -16 -16 32 32
+$spriteshader models/weaphits/blood201.tga
+$spriteshader models/weaphits/blood202.tga
+$spriteshader models/weaphits/blood203.tga
+$spriteshader models/weaphits/blood204.tga
+$spriteshader models/weaphits/blood205.tga
+
+
+//
+// missiles
+//
+$modelname models/ammo/plasma/plasma
+$cd models/ammo/plasma
+$base plasma1.3ds
+$frame plasma1.3ds
+$skin plasma1.3ds
+
+$modelname models/ammo/laser/laser
+$cd models/ammo/laser
+$base laser1.3ds
+$frame laser1.3ds
+$skin laser1.3ds
+
+
+$modelname models/ammo/rocket/rocket
+$cd models/ammo/rocket
+$base rocket1.3ds
+$frame rocket1.3ds
+$skin rocket1.3ds
+$skin rocket2.3ds
+
+
+// weaphits
+
+$modelname models/weaphits/bullet
+$cd models/weaphits
+$base bullet01.3ds
+$frame bullet01.3ds
+$frame bullet02.3ds
+$frame bullet03.3ds
+$frame bullet04.3ds
+$frame bullet05.3ds
+$frame bullet06.3ds
+$skin bullet01.3ds
+$skin bullet03.3ds
+$skin bullet05.3ds
+
+$modelname models/weaphits/ring01
+$cd models/weaphits
+$base ring01_1.3ds
+$frame ring01_1.3ds
+$frame ring01_2.3ds
+$frame ring01_3.3ds
+$frame ring01_4.3ds
+$frame ring01_5.3ds
+$frame ring01_6.3ds
+$skin ring01_1.3ds
+$skin ring01_3.3ds
+$skin ring01_5.3ds
+
+$modelname models/weaphits/ring02
+$cd models/weaphits
+$base ring02_1.3ds
+$frame ring02_1.3ds
+$frame ring02_2.3ds
+$frame ring02_3.3ds
+$frame ring02_4.3ds
+$frame ring02_5.3ds
+$frame ring02_6.3ds
+$skin ring02_1.3ds
+$skin ring02_3.3ds
+$skin ring02_5.3ds
+
+$modelname models/weaphits/boomgra
+$cd models/weaphits
+$base boomgra1.3ds
+$frame boomgra1.3ds
+$frame boomgra2.3ds
+$frame boomgra3.3ds
+$frame boomgra4.3ds
+$frame boomgra5.3ds
+$frame boomgra6.3ds
+$skin boomgra1.3ds
+$skin boomgra3.3ds
+$skin boomgra5.3ds
+
+$modelname models/weaphits/boom01
+$cd models/weaphits
+$base boom01_1.3ds
+$frame boom01_1.3ds
+$frame boom01_2.3ds
+$frame boom01_3.3ds
+$frame boom01_4.3ds
+$frame boom01_5.3ds
+$frame boom01_6.3ds
+$skin boom01_1.3ds
+$skin boom01_3.3ds
+$skin boom01_5.3ds
+
+$modelname models/weaphits/boom02
+$cd models/weaphits
+$base boom02_1.3ds
+$frame boom02_1.3ds
+$frame boom02_2.3ds
+$frame boom02_3.3ds
+$frame boom02_4.3ds
+$frame boom02_5.3ds
+$frame boom02_6.3ds
+$skin boom02_1.3ds
+$skin boom02_3.3ds
+$skin boom02_5.3ds
+
+$modelname models/weaphits/boom03
+$cd models/weaphits
+$base boom03_1.3ds
+$frame boom03_1.3ds
+$frame boom03_2.3ds
+$frame boom03_3.3ds
+$frame boom03_4.3ds
+$frame boom03_5.3ds
+$frame boom03_6.3ds
+$skin boom03_1.3ds
+$skin boom03_3.3ds
+$skin boom03_5.3ds
+
+$modelname models/weaphits/boom04
+$cd models/weaphits
+$base boom04_1.3ds
+$frame boom04_1.3ds
+$frame boom04_2.3ds
+$frame boom04_3.3ds
+$frame boom04_4.3ds
+$frame boom04_5.3ds
+$frame boom04_6.3ds
+$skin boom04_1.3ds
+$skin boom04_3.3ds
+$skin boom04_5.3ds
+
+$modelname models/weaphits/boom05
+$cd models/weaphits
+$base boom05_1.3ds
+$frame boom05_1.3ds
+$frame boom05_2.3ds
+$frame boom05_3.3ds
+$frame boom05_4.3ds
+$frame boom05_5.3ds
+$frame boom05_6.3ds
+$skin boom05_1.3ds
+$skin boom05_3.3ds
+$skin boom05_5.3ds
+
+
+//
+// armor
+//
+$aseconvert    models/powerups/armor/armor_red.ase
+$aseconvert    models/powerups/armor/armor_yel.ase
+$aseconvert    models/powerups/armor/armor_grn.ase
+$aseconvert models/powerups/armor/shard.ase
+$aseconvert models/powerups/armor/shard_sphere.ase
+$aseconvert models/powerups/armor/shard_sphere_1.ase
+
+//
+// health
+//
+$aseconvert    models/powerups/health/small.ase
+$aseconvert    models/powerups/health/small_1.ase
+$aseconvert    models/powerups/health/medium.ase
+$aseconvert    models/powerups/health/medium_1.ase
+$aseconvert    models/powerups/health/large.ase
+$aseconvert    models/powerups/health/large_1.ase
+$aseconvert    models/powerups/health/mega.ase
+$aseconvert    models/powerups/health/mega_1.ase
+
+//
+// holdable powerups
+//
+$aseconvert models/powerups/holdable/ringodeth.ase
+$aseconvert models/powerups/holdable/medkit.ase
+$aseconvert models/powerups/holdable/teleporter.ase
+
+//
+// instant powerups
+//
+$aseconvert    models/powerups/instant/enviro.ase
+$aseconvert    models/powerups/instant/enviro_1.ase
+$aseconvert    models/powerups/instant/enviro_ring.ase
+$aseconvert    models/powerups/instant/enviro_ring_1.ase
+$aseconvert    models/powerups/instant/flight.ase
+$aseconvert    models/powerups/instant/flight_1.ase
+$aseconvert    models/powerups/instant/flight_ring.ase
+$aseconvert    models/powerups/instant/flight_ring_1.ase
+$aseconvert    models/powerups/instant/haste.ase
+$aseconvert    models/powerups/instant/haste_1.ase
+$aseconvert    models/powerups/instant/haste_ring.ase
+$aseconvert    models/powerups/instant/haste_ring_1.ase
+$aseconvert    models/powerups/instant/invis.ase
+$aseconvert    models/powerups/instant/invis_1.ase
+$aseconvert    models/powerups/instant/invis_ring.ase
+$aseconvert    models/powerups/instant/invis_ring_1.ase
+$aseconvert    models/powerups/instant/scan.ase
+$aseconvert    models/powerups/instant/scan_1.ase
+$aseconvert    models/powerups/instant/scan_ring.ase
+$aseconvert    models/powerups/instant/scan_ring_1.ase
+$aseconvert    models/powerups/instant/quad.ase
+$aseconvert    models/powerups/instant/quad_1.ase
+$aseconvert    models/powerups/instant/quad_ring.ase
+$aseconvert    models/powerups/instant/quad_ring_1.ase
+$aseconvert    models/powerups/instant/regen.ase
+$aseconvert    models/powerups/instant/regen_1.ase
+$aseconvert    models/powerups/instant/regen_ring.ase
+$aseconvert    models/powerups/instant/regen_ring_1.ase
+
+$exit
+
+//
+// maps
+//
+$maps test_box test_items mirror mirror2
+
+
+//
+// misc
+//
+$file q3default.cfg
+
+