From 21e1430caab518e51bec80796e26cbf615e04f04 Mon Sep 17 00:00:00 2001 From: rpolzer Date: Tue, 16 Sep 2008 11:34:35 +0000 Subject: [PATCH] oops, get back setup/data/tools git-svn-id: svn://svn.icculus.org/netradiant/trunk@60 61c419a2-8eb2-4b30-bcec-8cead039b335 --- setup/data/tools/bitmaps/black.bmp | Bin 0 -> 248 bytes setup/data/tools/bitmaps/brush_flipx.bmp | Bin 0 -> 238 bytes setup/data/tools/bitmaps/brush_flipy.bmp | Bin 0 -> 238 bytes setup/data/tools/bitmaps/brush_flipz.bmp | Bin 0 -> 238 bytes setup/data/tools/bitmaps/brush_rotatex.bmp | Bin 0 -> 238 bytes setup/data/tools/bitmaps/brush_rotatey.bmp | Bin 0 -> 238 bytes setup/data/tools/bitmaps/brush_rotatez.bmp | Bin 0 -> 238 bytes setup/data/tools/bitmaps/cap_bevel.bmp | Bin 0 -> 154 bytes setup/data/tools/bitmaps/cap_cylinder.bmp | Bin 0 -> 156 bytes setup/data/tools/bitmaps/cap_endcap.bmp | Bin 0 -> 154 bytes setup/data/tools/bitmaps/cap_ibevel.bmp | Bin 0 -> 154 bytes setup/data/tools/bitmaps/cap_iendcap.bmp | Bin 0 -> 154 bytes setup/data/tools/bitmaps/console.bmp | Bin 0 -> 776 bytes setup/data/tools/bitmaps/curve_cap.bmp | Bin 0 -> 238 bytes setup/data/tools/bitmaps/dontselectcurve.bmp | Bin 0 -> 238 bytes setup/data/tools/bitmaps/dontselectmodel.bmp | Bin 0 -> 238 bytes setup/data/tools/bitmaps/ellipsis.bmp | Bin 0 -> 108 bytes setup/data/tools/bitmaps/entities.bmp | Bin 0 -> 776 bytes setup/data/tools/bitmaps/file_open.bmp | Bin 0 -> 238 bytes setup/data/tools/bitmaps/file_save.bmp | Bin 0 -> 238 bytes setup/data/tools/bitmaps/icon.bmp | Bin 0 -> 3126 bytes setup/data/tools/bitmaps/lightinspector.bmp | Bin 0 -> 776 bytes setup/data/tools/bitmaps/logo.bmp | Bin 0 -> 47936 bytes setup/data/tools/bitmaps/modify_edges.bmp | Bin 0 -> 316 bytes setup/data/tools/bitmaps/modify_faces.bmp | Bin 0 -> 316 bytes setup/data/tools/bitmaps/modify_vertices.bmp | Bin 0 -> 316 bytes setup/data/tools/bitmaps/noFalloff.bmp | Bin 0 -> 1592 bytes setup/data/tools/bitmaps/notex.bmp | Bin 0 -> 4312 bytes setup/data/tools/bitmaps/patch_bend.bmp | Bin 0 -> 238 bytes setup/data/tools/bitmaps/patch_drilldown.bmp | Bin 0 -> 238 bytes setup/data/tools/bitmaps/patch_insdel.bmp | Bin 0 -> 238 bytes .../tools/bitmaps/patch_showboundingbox.bmp | Bin 0 -> 238 bytes setup/data/tools/bitmaps/patch_weld.bmp | Bin 0 -> 238 bytes setup/data/tools/bitmaps/patch_wireframe.bmp | Bin 0 -> 238 bytes setup/data/tools/bitmaps/popup_selection.bmp | Bin 0 -> 238 bytes setup/data/tools/bitmaps/redo.bmp | Bin 0 -> 776 bytes setup/data/tools/bitmaps/refresh_models.bmp | Bin 0 -> 776 bytes setup/data/tools/bitmaps/scalelockx.bmp | Bin 0 -> 238 bytes setup/data/tools/bitmaps/scalelocky.bmp | Bin 0 -> 238 bytes setup/data/tools/bitmaps/scalelockz.bmp | Bin 0 -> 238 bytes .../data/tools/bitmaps/select_mouseresize.bmp | Bin 0 -> 200 bytes .../data/tools/bitmaps/select_mouserotate.bmp | Bin 0 -> 238 bytes .../data/tools/bitmaps/select_mousescale.bmp | Bin 0 -> 238 bytes .../tools/bitmaps/select_mousetranslate.bmp | Bin 0 -> 238 bytes .../data/tools/bitmaps/selection_csgmerge.bmp | Bin 0 -> 238 bytes .../tools/bitmaps/selection_csgsubtract.bmp | Bin 0 -> 238 bytes .../tools/bitmaps/selection_makehollow.bmp | Bin 0 -> 238 bytes .../bitmaps/selection_selectcompletetall.bmp | Bin 0 -> 238 bytes .../tools/bitmaps/selection_selectinside.bmp | Bin 0 -> 238 bytes .../bitmaps/selection_selectpartialtall.bmp | Bin 0 -> 238 bytes .../bitmaps/selection_selecttouching.bmp | Bin 0 -> 238 bytes setup/data/tools/bitmaps/shadernotex.bmp | Bin 0 -> 4308 bytes setup/data/tools/bitmaps/show_entities.bmp | Bin 0 -> 238 bytes setup/data/tools/bitmaps/splash.bmp | Bin 0 -> 299934 bytes setup/data/tools/bitmaps/texture_browser.bmp | Bin 0 -> 776 bytes setup/data/tools/bitmaps/texture_lock.bmp | Bin 0 -> 774 bytes setup/data/tools/bitmaps/textures_popup.bmp | Bin 0 -> 238 bytes setup/data/tools/bitmaps/undo.bmp | Bin 0 -> 776 bytes .../data/tools/bitmaps/view_cameratoggle.bmp | Bin 0 -> 238 bytes .../data/tools/bitmaps/view_cameraupdate.bmp | Bin 0 -> 238 bytes setup/data/tools/bitmaps/view_change.bmp | Bin 0 -> 126 bytes setup/data/tools/bitmaps/view_clipper.bmp | Bin 0 -> 238 bytes .../data/tools/bitmaps/view_cubicclipping.bmp | Bin 0 -> 238 bytes setup/data/tools/bitmaps/view_entity.bmp | Bin 0 -> 238 bytes setup/data/tools/bitmaps/white.bmp | Bin 0 -> 248 bytes setup/data/tools/bitmaps/window1.bmp | Bin 0 -> 572 bytes setup/data/tools/bitmaps/window2.bmp | Bin 0 -> 568 bytes setup/data/tools/bitmaps/window3.bmp | Bin 0 -> 572 bytes setup/data/tools/bitmaps/window4.bmp | Bin 0 -> 572 bytes .../data/tools/gl/lighting_DBS_XY_Z_arbfp1.cg | 92 +++ .../data/tools/gl/lighting_DBS_XY_Z_arbvp1.cg | 78 +++ setup/data/tools/gl/lighting_DBS_omni_fp.glp | 86 +++ setup/data/tools/gl/lighting_DBS_omni_fp.glsl | 73 +++ setup/data/tools/gl/lighting_DBS_omni_vp.glp | 410 +++++++++++++ setup/data/tools/gl/lighting_DBS_omni_vp.glsl | 58 ++ setup/data/tools/gl/utils.cg | 36 ++ setup/data/tools/gl/zfill_arbfp1.cg | 47 ++ setup/data/tools/gl/zfill_arbvp1.cg | 49 ++ setup/data/tools/gl/zfill_fp.glp | 19 + setup/data/tools/gl/zfill_fp.glsl | 29 + setup/data/tools/gl/zfill_vp.glp | 384 ++++++++++++ setup/data/tools/gl/zfill_vp.glsl | 35 ++ setup/data/tools/global.xlink | 11 + .../tools/plugins/bitmaps/bobtoolz_caulk.bmp | Bin 0 -> 320 bytes .../plugins/bitmaps/bobtoolz_cleanup.bmp | Bin 0 -> 316 bytes .../plugins/bitmaps/bobtoolz_dropent.bmp | Bin 0 -> 312 bytes .../tools/plugins/bitmaps/bobtoolz_merge.bmp | Bin 0 -> 312 bytes .../tools/plugins/bitmaps/bobtoolz_poly.bmp | Bin 0 -> 320 bytes .../tools/plugins/bitmaps/bobtoolz_split.bmp | Bin 0 -> 312 bytes .../bitmaps/bobtoolz_trainpathplot.bmp | Bin 0 -> 324 bytes .../plugins/bitmaps/bobtoolz_treeplanter.bmp | Bin 0 -> 356 bytes .../plugins/bitmaps/bobtoolz_turnedge.bmp | Bin 0 -> 332 bytes .../tools/plugins/bitmaps/ufoai_actorclip.bmp | Bin 0 -> 494 bytes .../tools/plugins/bitmaps/ufoai_level1.bmp | Bin 0 -> 198 bytes .../tools/plugins/bitmaps/ufoai_level2.bmp | Bin 0 -> 198 bytes .../tools/plugins/bitmaps/ufoai_level3.bmp | Bin 0 -> 198 bytes .../tools/plugins/bitmaps/ufoai_level4.bmp | Bin 0 -> 198 bytes .../tools/plugins/bitmaps/ufoai_level5.bmp | Bin 0 -> 198 bytes .../tools/plugins/bitmaps/ufoai_level6.bmp | Bin 0 -> 198 bytes .../tools/plugins/bitmaps/ufoai_level7.bmp | Bin 0 -> 198 bytes .../tools/plugins/bitmaps/ufoai_level8.bmp | Bin 0 -> 198 bytes .../tools/plugins/bitmaps/ufoai_nodraw.bmp | Bin 0 -> 498 bytes .../tools/plugins/bitmaps/ufoai_stepon.bmp | Bin 0 -> 458 bytes .../plugins/bitmaps/ufoai_weaponclip.bmp | Bin 0 -> 558 bytes setup/data/tools/plugins/bt/bt-el1.txt | 17 + setup/data/tools/plugins/bt/bt-el2.txt | 0 setup/data/tools/plugins/bt/door-tex-trim.txt | 5 + setup/data/tools/plugins/bt/door-tex.txt | 10 + setup/data/tools/plugins/bt/tp_ent.txt | 14 + setup/data/tools/q3data.qdt | 552 ++++++++++++++++++ 110 files changed, 2005 insertions(+) create mode 100644 setup/data/tools/bitmaps/black.bmp create mode 100644 setup/data/tools/bitmaps/brush_flipx.bmp create mode 100644 setup/data/tools/bitmaps/brush_flipy.bmp create mode 100644 setup/data/tools/bitmaps/brush_flipz.bmp create mode 100644 setup/data/tools/bitmaps/brush_rotatex.bmp create mode 100644 setup/data/tools/bitmaps/brush_rotatey.bmp create mode 100644 setup/data/tools/bitmaps/brush_rotatez.bmp create mode 100644 setup/data/tools/bitmaps/cap_bevel.bmp create mode 100644 setup/data/tools/bitmaps/cap_cylinder.bmp create mode 100644 setup/data/tools/bitmaps/cap_endcap.bmp create mode 100644 setup/data/tools/bitmaps/cap_ibevel.bmp create mode 100644 setup/data/tools/bitmaps/cap_iendcap.bmp create mode 100644 setup/data/tools/bitmaps/console.bmp create mode 100644 setup/data/tools/bitmaps/curve_cap.bmp create mode 100644 setup/data/tools/bitmaps/dontselectcurve.bmp create mode 100644 setup/data/tools/bitmaps/dontselectmodel.bmp create mode 100644 setup/data/tools/bitmaps/ellipsis.bmp create mode 100644 setup/data/tools/bitmaps/entities.bmp create mode 100644 setup/data/tools/bitmaps/file_open.bmp create mode 100644 setup/data/tools/bitmaps/file_save.bmp create mode 100644 setup/data/tools/bitmaps/icon.bmp create mode 100644 setup/data/tools/bitmaps/lightinspector.bmp create mode 100644 setup/data/tools/bitmaps/logo.bmp create mode 100644 setup/data/tools/bitmaps/modify_edges.bmp create mode 100644 setup/data/tools/bitmaps/modify_faces.bmp create mode 100644 setup/data/tools/bitmaps/modify_vertices.bmp create mode 100644 setup/data/tools/bitmaps/noFalloff.bmp create mode 100644 setup/data/tools/bitmaps/notex.bmp create mode 100644 setup/data/tools/bitmaps/patch_bend.bmp create mode 100644 setup/data/tools/bitmaps/patch_drilldown.bmp create mode 100644 setup/data/tools/bitmaps/patch_insdel.bmp create mode 100644 setup/data/tools/bitmaps/patch_showboundingbox.bmp create mode 100644 setup/data/tools/bitmaps/patch_weld.bmp create mode 100644 setup/data/tools/bitmaps/patch_wireframe.bmp create mode 100644 setup/data/tools/bitmaps/popup_selection.bmp create mode 100644 setup/data/tools/bitmaps/redo.bmp create mode 100644 setup/data/tools/bitmaps/refresh_models.bmp create mode 100644 setup/data/tools/bitmaps/scalelockx.bmp create mode 100644 setup/data/tools/bitmaps/scalelocky.bmp create mode 100644 setup/data/tools/bitmaps/scalelockz.bmp create mode 100644 setup/data/tools/bitmaps/select_mouseresize.bmp create mode 100644 setup/data/tools/bitmaps/select_mouserotate.bmp create mode 100644 setup/data/tools/bitmaps/select_mousescale.bmp create mode 100644 setup/data/tools/bitmaps/select_mousetranslate.bmp create mode 100644 setup/data/tools/bitmaps/selection_csgmerge.bmp create mode 100644 setup/data/tools/bitmaps/selection_csgsubtract.bmp create mode 100644 setup/data/tools/bitmaps/selection_makehollow.bmp create mode 100644 setup/data/tools/bitmaps/selection_selectcompletetall.bmp create mode 100644 setup/data/tools/bitmaps/selection_selectinside.bmp create mode 100644 setup/data/tools/bitmaps/selection_selectpartialtall.bmp create mode 100644 setup/data/tools/bitmaps/selection_selecttouching.bmp create mode 100644 setup/data/tools/bitmaps/shadernotex.bmp create mode 100644 setup/data/tools/bitmaps/show_entities.bmp create mode 100644 setup/data/tools/bitmaps/splash.bmp create mode 100644 setup/data/tools/bitmaps/texture_browser.bmp create mode 100644 setup/data/tools/bitmaps/texture_lock.bmp create mode 100644 setup/data/tools/bitmaps/textures_popup.bmp create mode 100644 setup/data/tools/bitmaps/undo.bmp create mode 100644 setup/data/tools/bitmaps/view_cameratoggle.bmp create mode 100644 setup/data/tools/bitmaps/view_cameraupdate.bmp create mode 100644 setup/data/tools/bitmaps/view_change.bmp create mode 100644 setup/data/tools/bitmaps/view_clipper.bmp create mode 100644 setup/data/tools/bitmaps/view_cubicclipping.bmp create mode 100644 setup/data/tools/bitmaps/view_entity.bmp create mode 100644 setup/data/tools/bitmaps/white.bmp create mode 100644 setup/data/tools/bitmaps/window1.bmp create mode 100644 setup/data/tools/bitmaps/window2.bmp create mode 100644 setup/data/tools/bitmaps/window3.bmp create mode 100644 setup/data/tools/bitmaps/window4.bmp create mode 100644 setup/data/tools/gl/lighting_DBS_XY_Z_arbfp1.cg create mode 100644 setup/data/tools/gl/lighting_DBS_XY_Z_arbvp1.cg create mode 100644 setup/data/tools/gl/lighting_DBS_omni_fp.glp create mode 100644 setup/data/tools/gl/lighting_DBS_omni_fp.glsl create mode 100644 setup/data/tools/gl/lighting_DBS_omni_vp.glp create mode 100644 setup/data/tools/gl/lighting_DBS_omni_vp.glsl create mode 100644 setup/data/tools/gl/utils.cg create mode 100644 setup/data/tools/gl/zfill_arbfp1.cg create mode 100644 setup/data/tools/gl/zfill_arbvp1.cg create mode 100644 setup/data/tools/gl/zfill_fp.glp create mode 100644 setup/data/tools/gl/zfill_fp.glsl create mode 100644 setup/data/tools/gl/zfill_vp.glp create mode 100644 setup/data/tools/gl/zfill_vp.glsl create mode 100644 setup/data/tools/global.xlink create mode 100644 setup/data/tools/plugins/bitmaps/bobtoolz_caulk.bmp create mode 100644 setup/data/tools/plugins/bitmaps/bobtoolz_cleanup.bmp create mode 100644 setup/data/tools/plugins/bitmaps/bobtoolz_dropent.bmp create mode 100644 setup/data/tools/plugins/bitmaps/bobtoolz_merge.bmp create mode 100644 setup/data/tools/plugins/bitmaps/bobtoolz_poly.bmp create mode 100644 setup/data/tools/plugins/bitmaps/bobtoolz_split.bmp create mode 100644 setup/data/tools/plugins/bitmaps/bobtoolz_trainpathplot.bmp create mode 100644 setup/data/tools/plugins/bitmaps/bobtoolz_treeplanter.bmp create mode 100644 setup/data/tools/plugins/bitmaps/bobtoolz_turnedge.bmp create mode 100644 setup/data/tools/plugins/bitmaps/ufoai_actorclip.bmp create mode 100644 setup/data/tools/plugins/bitmaps/ufoai_level1.bmp create mode 100644 setup/data/tools/plugins/bitmaps/ufoai_level2.bmp create mode 100644 setup/data/tools/plugins/bitmaps/ufoai_level3.bmp create mode 100644 setup/data/tools/plugins/bitmaps/ufoai_level4.bmp create mode 100644 setup/data/tools/plugins/bitmaps/ufoai_level5.bmp create mode 100644 setup/data/tools/plugins/bitmaps/ufoai_level6.bmp create mode 100644 setup/data/tools/plugins/bitmaps/ufoai_level7.bmp create mode 100644 setup/data/tools/plugins/bitmaps/ufoai_level8.bmp create mode 100644 setup/data/tools/plugins/bitmaps/ufoai_nodraw.bmp create mode 100644 setup/data/tools/plugins/bitmaps/ufoai_stepon.bmp create mode 100644 setup/data/tools/plugins/bitmaps/ufoai_weaponclip.bmp create mode 100644 setup/data/tools/plugins/bt/bt-el1.txt create mode 100644 setup/data/tools/plugins/bt/bt-el2.txt create mode 100644 setup/data/tools/plugins/bt/door-tex-trim.txt create mode 100644 setup/data/tools/plugins/bt/door-tex.txt create mode 100644 setup/data/tools/plugins/bt/tp_ent.txt create mode 100644 setup/data/tools/q3data.qdt diff --git a/setup/data/tools/bitmaps/black.bmp b/setup/data/tools/bitmaps/black.bmp new file mode 100644 index 0000000000000000000000000000000000000000..8fc59ba111ea578deadd075b190b418f7cf1fed3 GIT binary patch literal 248 jcmZ?r{lNeMWN7Q f#>R$%h9LFAfvNT1E`3B5ljQ!3*m#rg@BqM!ipeKpfZ?gAf6xq8^jHU literal 0 HcmV?d00001 diff --git a/setup/data/tools/bitmaps/brush_rotatez.bmp b/setup/data/tools/bitmaps/brush_rotatez.bmp new file mode 100644 index 0000000000000000000000000000000000000000..fcea0814fb8ebcd4c8faae2fc244f9f857e8be36 GIT binary patch literal 238 zcmZ?rea8R+Wk5;;hy{R{ABY(lSb!uh(7^B?2pe!o6A%|f0z!g9V4jem5`-3l@)cp? n5E`yU0Lo%u6ckiaQUtnJ5NrfkTv1REC=3z+ih|`q6bt|W69Ely literal 0 HcmV?d00001 diff --git a/setup/data/tools/bitmaps/cap_bevel.bmp b/setup/data/tools/bitmaps/cap_bevel.bmp new file mode 100644 index 0000000000000000000000000000000000000000..0de324422fd7dba22730213de7b6f25766141550 GIT binary patch literal 154 zcmZ?roy7nFc0fu4h$Vqo9Ecf#5Ep0wO8o!-pWz3PM#q1EV#xR(kPpKDLAU{m4*=;0 VK>PuSfr|eF75oPZ0L^TGVE}qrD%t=5 literal 0 HcmV?d00001 diff --git a/setup/data/tools/bitmaps/cap_cylinder.bmp b/setup/data/tools/bitmaps/cap_cylinder.bmp new file mode 100644 index 0000000000000000000000000000000000000000..2e4d11af14051be96b78da94238319ff23ffa443 GIT binary patch literal 156 zcmZ?rox=bDc0fu4h$Vqo9Ecf#5C(*}85lqq2LAv54`VVg05vlHKfu8J{{aL0{|^lO g|9>#Z|NjHW_W%DeAY)`XkXn!)kY11(AhQqv0IzK-KL7v# literal 0 HcmV?d00001 diff --git a/setup/data/tools/bitmaps/cap_endcap.bmp b/setup/data/tools/bitmaps/cap_endcap.bmp new file mode 100644 index 0000000000000000000000000000000000000000..8e6c7f2a36d1b44edd04cbdcc55cbc5845ba75f6 GIT binary patch literal 154 zcmZ?roy7nFc0fu4h$Vqo9Ecf#5Ep0wO8o!-pWy%lV*{!90RwXb41Zu?Z}`E$-|&Y) SzTqE(eZ&8Q{~Lhjf-wN=L@Go8 literal 0 HcmV?d00001 diff --git a/setup/data/tools/bitmaps/cap_ibevel.bmp b/setup/data/tools/bitmaps/cap_ibevel.bmp new file mode 100644 index 0000000000000000000000000000000000000000..ccab98daa2eacb91123dba59b83ff5837d279634 GIT binary patch literal 154 zcmZ?roy7nFc0fu4h$Vqo9Ecf#5Ep0wO8o!-pMm}V{|0o-3=~7gj6gmJ12r@-)I+g7 Vkd_BxejsKBVn!flkOvtH2LR8SFW&$F literal 0 HcmV?d00001 diff --git a/setup/data/tools/bitmaps/cap_iendcap.bmp b/setup/data/tools/bitmaps/cap_iendcap.bmp new file mode 100644 index 0000000000000000000000000000000000000000..9640c9ae8c97b9c5d183743b93a805bbbabc9f48 GIT binary patch literal 154 zcmZ?roy7nFc0fu4h$Vqo9Ecf#5Ep0wO8o!-pTYkBKa#Qh|33^c%>Vxf1N;9E49x!@ PFfjf4bBs2MD znD_9#GphUXgK+z5%-HrSLp&=nR>u zr_G|XPN+iW&llGJXu>N>Nm3YqeUvUPlGRU=i$gyC{kd zhr{XDDSnQ1T?Ybfr_*^&4((ttSglr%VfYVnIw^_*1lz4v3rM5Us8lM|YL$92nXG@V zH=9ig+3)vsO+V_*xg<$G3NnY%1DhPi8i^&_( literal 0 HcmV?d00001 diff --git a/setup/data/tools/bitmaps/curve_cap.bmp b/setup/data/tools/bitmaps/curve_cap.bmp new file mode 100644 index 0000000000000000000000000000000000000000..e9d00a21abb96d045cf066f79423f70e13310a76 GIT binary patch literal 238 zcmZ{bu?>JQ3M!%P$U zNR?V^^r9+|>V3ri?@?k%5JwhEi9*44#)MSiviC!AQhE0sKNck;D4f}dq&aVc^!G%@ FcYQaM77YLZ literal 0 HcmV?d00001 diff --git a/setup/data/tools/bitmaps/dontselectcurve.bmp b/setup/data/tools/bitmaps/dontselectcurve.bmp new file mode 100644 index 0000000000000000000000000000000000000000..a7b9795453902fefcccac030a4fea52bed91b66e GIT binary patch literal 238 zcmaitK@Na02n3hLyV4f`C*R@S?|AmbexWXHk0z49vO|F5d@$mo?97e1G6f6kcQiB( z8t(7$FV%d)SE4BbbU>JZwgcKQS3!iqw3dRYW^h&daIIcTK)Kh~vy3wdgmxax1}}ue B3CaKf literal 0 HcmV?d00001 diff --git a/setup/data/tools/bitmaps/dontselectmodel.bmp b/setup/data/tools/bitmaps/dontselectmodel.bmp new file mode 100644 index 0000000000000000000000000000000000000000..e81b118950ff73cb8aec9d83770c59a68ede1251 GIT binary patch literal 238 zcmaitK@Na02n3<=ZnrPkdh#9K{f=i}>=)|NdTb&IEIR}^&c{Yvl3kgVtI};zokz2# zL9=^4{-uZ~dgTalvkn9U$aWx0I%?uZ5+%uYWdI<2MfO4(wAa_8j57gT_B$Ajy{#5_RE0>q496374oA#Mm}1+qbyfuVunKM*!FGyqu;AP5Ep1%fVM OC7nhZiMJkGV!2 znm{NasM{{27)fZbwmpdk6VG_)&4ckj@Kg>Qj2)yg9-6+)OkOtM&%Ez@vns>wn{c_t zus+4Sk9iOC20X?J@M{3z!QFmde!wCKg5T#CMKKnQCYBP(Wb%DFy|TK3E1%D=Z>*Qg z@|S9LtF~3I*Bjdnm(wYD1i#f4(L2!@N?doSmKhkja!QZ}18fXUl69j=X z%49ORT#lmX9>TJ1I68$>R9?VEKhEJCsV3~900)G#K!hA0M|&Ez<_ylRl-D;M=-7Ea zv=~}mUQVY|1o0B>Q8dku^E*$z{~qjIiMs>c_M@ZK$yGEHiA3V@I3iZ}{)^Zz5kc_zd_hqJ_yc{_K$ZXi literal 0 HcmV?d00001 diff --git a/setup/data/tools/bitmaps/file_open.bmp b/setup/data/tools/bitmaps/file_open.bmp new file mode 100644 index 0000000000000000000000000000000000000000..1f1770c33a812e769f0eec75f1333d3a5436baab GIT binary patch literal 238 zcmZ{cu?>JQ3;-zp4B;SZi0+#q2Okt^9FTKQB9X{^CM!MpnV*WX!6&CX3>cf* E1G1zTbpQYW literal 0 HcmV?d00001 diff --git a/setup/data/tools/bitmaps/file_save.bmp b/setup/data/tools/bitmaps/file_save.bmp new file mode 100644 index 0000000000000000000000000000000000000000..651afb68952db64d2954394aa6252f2fb3bccf3b GIT binary patch literal 238 zcmZ?rea8R+Wk5;;hy{R{ABY(lSb!vMaNxiJhW|jw(9nQe5e^w87=Xw#DHsD8g3Q=y e29P)yK;#*WnG_5JfdD9umu7&wy+3Xn)XC`KI=FB>4ul=uo{cG=Yiv7On zR&@BdXY=#^{kg1JSPbSp)8r=(%bKtz9A2*Ia2T9KnBa3yVy%-UAXf&qOBN^biN=83 z(R#hGU`dKn0NZ`{_O**mzTDinDdIX+6*6nw)hq^6!QP%Xq5fT!6*&v$^JvWa*Q_?2 zM!-yu=StK0LkIQ;wv}()yh)@`F{}+e?IlGl4pa3<>sFQ&+u#dB0$>>VI`X9Z!Lhnp zq|osJhk!wzC8z3-6EC`{__zkaggw6B`6Dt4+oGj~iV_C;@2ChYT9~6dVcz%XVOK|c zeqNsP#|0NBF$e`8Qc!|gCHT5HcwkOZg9EQIRHO~KNidcqa&X`ef&TnT%@A~ciLKM5O>)y&S8n1mzl|(p@agKMhw3jz<@t$lY&c~ zWrNjJk6_Xxwx3=yjfOlW2sm1ylHg+ykLKA~S?nkbv0>=V$Y9}&v^1S33bPz2?ucBq zcMmNF>gV?ey7G&flOfHaVAK-`sIDq(Z zVi1Ohil9-pu@o8@IKK@I;s;zm_+u+sJG2;eoyHeml?tF`vVB(BTF2?ZIFNUFXj_`wG-8Zvp~@%OKBUginC zdDskaMg+5f0TcaYVE_OC literal 0 HcmV?d00001 diff --git a/setup/data/tools/bitmaps/lightinspector.bmp b/setup/data/tools/bitmaps/lightinspector.bmp new file mode 100644 index 0000000000000000000000000000000000000000..00b00a90c0a60501a577d626a04486dbb0f2dc20 GIT binary patch literal 776 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 Ffg7`s3N!!! literal 0 HcmV?d00001 diff --git a/setup/data/tools/bitmaps/modify_faces.bmp b/setup/data/tools/bitmaps/modify_faces.bmp new file mode 100644 index 0000000000000000000000000000000000000000..3eb3838dd75b03077d57605d68509250530e2144 GIT binary patch literal 316 zcmb78K?;B{3`;iz!Gq!}e1s>Df`8i2XPV+1-b_iiBxUPy?FQjw-^hiWNyEqLeI2d=C(OqWt%D`z7heWgvYqw+}AgO|mFjy>qvg1^je;`g6EmFt6zYrxads0*TUYG2X> E+_azyMF0Q* literal 0 HcmV?d00001 diff --git a/setup/data/tools/bitmaps/noFalloff.bmp b/setup/data/tools/bitmaps/noFalloff.bmp new file mode 100644 index 0000000000000000000000000000000000000000..e86d10c9eb6f461ab202f2a02ae097da4307c836 GIT binary patch literal 1592 zcmZ?rwP0fa12Z700mKeK%mKuV3=%++fq@AqFT@SOU;!ZUe-w;{z-S1JhQMeDjK~mR GU;qFoj{F(` literal 0 HcmV?d00001 diff --git a/setup/data/tools/bitmaps/notex.bmp b/setup/data/tools/bitmaps/notex.bmp new file mode 100644 index 0000000000000000000000000000000000000000..b06664a7aa57260440cbeea2ad98710103b6fdc8 GIT binary patch literal 4312 zcmeHJT~gyX5bjoDGa1b$&X2R}1n)R#;>;r#po*IJsp4^7IRaI10FJ;7hAVIcP5?Y? z?K4N<0-CSoIFTI%c-|dVEVnxSbxSSjbAS8(Z$hs9gZ?X?)Ahsj0aDdQnn)h`Umj`J zTC(y^60$`>_V}3W=_%Q>GqOK^kUc*qdvQVb`kL&`4cVVR$==?Qy}KiOe^2)5iR|+; z*_Ri3!Sf9H3A)F}M|ya8pnKTd!S)uI8{n_u=j!T;E-x?X0)Efo{|vEC5%c8agpLuv zz&sMnN4?S90$%CffU8%a?yukY*E8_{%wIQ-sh&U&jaj_Ra903*cN8r1x6@Fyc0AEg0IB|F*PByI>e=mNI)9pzo|*If?-V)9)AY0C?{G3H!+5uU z*dV3c{&f}PBuDorb3u6jg$Mh0LDj7nq77lTt&y+vv?KYt;)VH_BQ zFupDTX{dbLklZj13_=)R7l1TWzHLZu7zYL+jIRqo8Y&A`C{yw}M zGIfBv=XgZuLJnc$)@>baV{Ifo8tKj$c;S(pr#O2!{CWH2RX#Q-Pe>9#SvwvVpr!C_LvqV}XBfixx*b4EQQI1P zC_-G(GT#~2cz43Gl`w^zJ^56*L->dL<5QV?$tDTg(%hNoF3lyS(@DZcs+4?2ofGR9N@lLd^|(bcBDU-0BmD6XopfCqsT@K@nK zHt_wy_Ab})v$S+`ujdcSo1~!53O`^Z5G>NG=C2|?STCT)&p1DtBjxM-EeM4gBPU3g z)`M35^kCd+;Y+L@>#z4OlX^o6Jy|XDpt*nSDm3SzjxPm9X;xBh2zM-{-jMUul_Eqe k*Cf*2D5?o;@nNa5+TVv!TkU@2@A#5|ZKlG~e?Nb}01ah>YybcN literal 0 HcmV?d00001 diff --git a/setup/data/tools/bitmaps/patch_bend.bmp b/setup/data/tools/bitmaps/patch_bend.bmp new file mode 100644 index 0000000000000000000000000000000000000000..af4fc94c5dbf5292a0440636147cf61c3671f0c3 GIT binary patch literal 238 zcmZ`w$qj%o3`-Dy+6^lA!@JplKkM*jv`)kd;1Kaasw>Cx(QUsZa8OnVx(dw`FFq~qt)ZmIHTwrJ=AM#VMe-Z7j5w?pK7Igc!V2F ViIEi)faozYgwRTgsC)=d5CGF44;ugg literal 0 HcmV?d00001 diff --git a/setup/data/tools/bitmaps/patch_insdel.bmp b/setup/data/tools/bitmaps/patch_insdel.bmp new file mode 100644 index 0000000000000000000000000000000000000000..b60b76b033a9991dff98b807ccafbae1a25c6298 GIT binary patch literal 238 zcmaKju@QhU3=ad$qg-d1A5k>&cv($QrrTclNHIyeq1RyX$v(`Bh{sW^N*Tt rp8EIXV+WK1gXrN-Q;q^!m^$Aud(PQcWmAq;X6>6UN~F1yh_CYj3O*JL literal 0 HcmV?d00001 diff --git a/setup/data/tools/bitmaps/patch_showboundingbox.bmp b/setup/data/tools/bitmaps/patch_showboundingbox.bmp new file mode 100644 index 0000000000000000000000000000000000000000..357cfaf16f93ebcdc1930455a13d7da75d9a7c78 GIT binary patch literal 238 zcmZ?rea8R+Wk5;;hy{R{ABY(lSb!uh(7wDicVgu=Z{6de^abVpq`M=WIN~g^<8e=1ndvl#y)7hODG!|HCRf zYvsxQclNQv4SNRVkdQ0_>Dd@aqMAb_yiyYkHqk+S$j+@|$l(oo=I9(Hf_O;8zgKVo D3GfuK literal 0 HcmV?d00001 diff --git a/setup/data/tools/bitmaps/patch_wireframe.bmp b/setup/data/tools/bitmaps/patch_wireframe.bmp new file mode 100644 index 0000000000000000000000000000000000000000..9804274f144f6629015ccfae9a60d24dc560d995 GIT binary patch literal 238 zcmbV@u@!(o2txzUUfAFsm2=p;ju?>JQ3=0xFRGiR-v68DE05c;O@B?!%=7nOnLTup3cI-%5w#yn$+Dwk*Kz7zs zzmTmIv%-<)tgQVXs0jPxan%HC`PB%d30UcHbVfK9fcK7t`c&^!uRCx^l!*2>)?WDr DEQ=%; literal 0 HcmV?d00001 diff --git a/setup/data/tools/bitmaps/redo.bmp b/setup/data/tools/bitmaps/redo.bmp new file mode 100644 index 0000000000000000000000000000000000000000..acce54e401de18b44d54b674e6fdd473f2b6e77f GIT binary patch literal 776 zcmciAOA5j;6ouhmod^yTM=rq?xB%yF$@c>l6$=Uqg5Zu^j!jap2}p{m)`6DXODNw- zLeqAqT*5vr=}oDcR8^`#LpofGP_MYMFQg?T{}^48-Zy($Z-$sjzLfYr&YL-U^(poA zQ=HdZ)Gj;a{0Niw>Og!7r97_}=rt-r?TL>MAD_8h(y6yTa6#e+7&*@jfBk@T_bVS? b{Mh;>dXwJ$^&jwj=9+%W`drda{a_Avrf$C8 literal 0 HcmV?d00001 diff --git a/setup/data/tools/bitmaps/refresh_models.bmp b/setup/data/tools/bitmaps/refresh_models.bmp new file mode 100644 index 0000000000000000000000000000000000000000..a6a0aa5d55f7f0589c989c486f343cfec6fcaa15 GIT binary patch literal 776 zcmbu5OGuPa6vzLii_k^Vq6XT8hPrSS*~&tFDb1w!I2`x$gL(7t31aP#=e# zXeHVR58+B?HGbED$NsOd@S^RvREnD;uoBLHa6928x(J_C_EIBN-C;CQM(`qmrX*T4 zK1FtDq`+c5%xK$@k#f(x;v1tsIK&&Gk9j@Yw;hX0jF>2K2~2b|(;I)<7tu%H+rB+)E#EA zC?SRa#PspM2EdSJdlnQqNqiLk@L6!#02tEC&Io3RAk)Y8>t|LB-P37NXE=8xes5&s HWD7U~1Vg00 literal 0 HcmV?d00001 diff --git a/setup/data/tools/bitmaps/scalelockx.bmp b/setup/data/tools/bitmaps/scalelockx.bmp new file mode 100644 index 0000000000000000000000000000000000000000..61363da20402f127cdf8042fabb5731217064d0d GIT binary patch literal 238 zcmZ?rea8R+Wk5;;hy{R{ABY(lSb!vM@Sgz)|AR=;eKt0VOa%qLq!5jg)|V b7_DS%tOVi%1t2t(50i({Xy!o8huH@J;eKt0VOa1(aJ_jO897F bW3ark5l|se9gt^?OvB9qF&JUy!|Ve9-)IxJ literal 0 HcmV?d00001 diff --git a/setup/data/tools/bitmaps/scalelockz.bmp b/setup/data/tools/bitmaps/scalelockz.bmp new file mode 100644 index 0000000000000000000000000000000000000000..5692e4a74fdf22cf5ad7bf381c97b2ea0003028d GIT binary patch literal 238 zcmZ?rea8R+Wk5;;hy{R{ABY(lSb!vM@Sgz)|AR=;eKt0VOa%qLqz}m6U*d cWh0;rNF2yTp+OR0^-y(C^=Rfm&4<|s0M#B7h5!Hn literal 0 HcmV?d00001 diff --git a/setup/data/tools/bitmaps/select_mouseresize.bmp b/setup/data/tools/bitmaps/select_mouseresize.bmp new file mode 100644 index 0000000000000000000000000000000000000000..58da27f805defea740ab26bac51226f49efe3f05 GIT binary patch literal 200 zcmZXMu?>JQ3 q1)vciTG`mx01Isb76+<#HZe936fib6aY3bBpnRYaV0ly;;ywTvWg7zk literal 0 HcmV?d00001 diff --git a/setup/data/tools/bitmaps/select_mousetranslate.bmp b/setup/data/tools/bitmaps/select_mousetranslate.bmp new file mode 100644 index 0000000000000000000000000000000000000000..68374ffdd31ff0495b0f251a0c5ba1e6495c1977 GIT binary patch literal 238 zcma)!u?>YV3`C7Y4TNk!MT@)vqW$Z9QD(FZ!5pj*-X#pc*=Of`cJ|+G4S(7SCpf~+ zdaBt8uc1+%m~*y5q?9b7ODWXv2rr_0eMR3wh@@oPNNHy@FN@2ZkG-1eNX^-2Nd>&! N>#}b36VR>D{09}Q8QA~; literal 0 HcmV?d00001 diff --git a/setup/data/tools/bitmaps/selection_csgmerge.bmp b/setup/data/tools/bitmaps/selection_csgmerge.bmp new file mode 100644 index 0000000000000000000000000000000000000000..a77eba14167bcf7ea83abf1f868c134f1d49ac55 GIT binary patch literal 238 zcmZ?rea8R+Wk5;;hy{R{ABY(lSb!uh(7YV$Y8fGXK>=oCW1u+1Y`ARzVLB4u literal 0 HcmV?d00001 diff --git a/setup/data/tools/bitmaps/selection_csgsubtract.bmp b/setup/data/tools/bitmaps/selection_csgsubtract.bmp new file mode 100644 index 0000000000000000000000000000000000000000..902f32f55f7ed75ac5ed0af1a4a9b4199872292d GIT binary patch literal 238 zcmb7-!3}^Q3`N_-v-YzAoSehE>llw6&UsuxKQx5In>4Q<`rESYx5POpD>1SVm5Ev8 xB-b3YLQ5_W!`(;e&&`w{sVEYVVF*QkE2;}iMFA^W>9EVbI{fJG^WS~dt-J+04*mcD literal 0 HcmV?d00001 diff --git a/setup/data/tools/bitmaps/selection_makehollow.bmp b/setup/data/tools/bitmaps/selection_makehollow.bmp new file mode 100644 index 0000000000000000000000000000000000000000..1b62f2232652ce58a761c8f3d30534cdf6e23b88 GIT binary patch literal 238 zcmZ?rea8R+Wk5;;hy{R{ABY(lSb!u0Lj@2Y;e%kX0GMcCIB?(q!+#*81TYGMfdC_e YfB++qU<3;Q*)VZ(`7raK=D^$t05Jj%NB{r; literal 0 HcmV?d00001 diff --git a/setup/data/tools/bitmaps/selection_selectcompletetall.bmp b/setup/data/tools/bitmaps/selection_selectcompletetall.bmp new file mode 100644 index 0000000000000000000000000000000000000000..1f911e8c728ce13cfc8c7982dad0158aa507ba55 GIT binary patch literal 238 zcmZ?rea8R+Wk5;;hy{R{ABY(lSb!ux(7c|%te=4a%r|CILZxBi#t3_ajRB;s82JDI literal 0 HcmV?d00001 diff --git a/setup/data/tools/bitmaps/selection_selectinside.bmp b/setup/data/tools/bitmaps/selection_selectinside.bmp new file mode 100644 index 0000000000000000000000000000000000000000..5670d3ad700284838f890bbeefab35194c60a0ee GIT binary patch literal 238 zcmZ?rea8R+Wk5;;hy{R{ABY(lSb!ux(7$3~io^8*`Nj+k%pkrolM;l6@uB8J?E?U;nHg;W literal 0 HcmV?d00001 diff --git a/setup/data/tools/bitmaps/selection_selectpartialtall.bmp b/setup/data/tools/bitmaps/selection_selectpartialtall.bmp new file mode 100644 index 0000000000000000000000000000000000000000..77b418be076d393d10307188fedfa2c2e2fbbce8 GIT binary patch literal 238 zcmb7;!3}^Q3`L9eE|CS0lgE;7;N5jRI~o(Yf_^AoP5k8dr9aTJ?H8F2V1+$A!H!1M zFP&6Mp&RF~G%FMoOBm!~Nvz^uT8_Tm6R+w>NCFrob`svBZ*yvnpL1nOGf2j)miK)R DkZKh# literal 0 HcmV?d00001 diff --git a/setup/data/tools/bitmaps/selection_selecttouching.bmp b/setup/data/tools/bitmaps/selection_selecttouching.bmp new file mode 100644 index 0000000000000000000000000000000000000000..9a60815d2af9dbac34401625f72d0e8de0161108 GIT binary patch literal 238 zcmZ?rea8R+Wk5;;hy{R{ABY(lSb!ux(7k>XM;QJgg ztP#tUq7Rx4{>bYCcyt76|N4bLo`Ih+e*-mCYKXk3I5ubRXJBJYBmcmPnKOAM30~4y zR!;0c%!`JMRWOO5nl;g>bQc{y<>^=@d9GBFa+ZvM&&F!Xam2;M)V!odYp%2=U6y(? z2mX{xZ7S~YijxTsvrGc!1n)SDqbTK*D4RrN=9R=LPKm0DR*devB%>>?ZTtgHa-Qtr zqd}S#TnwV$b71ez#V>3&KuVF zLA5cPEuM=L$=e&Avq6-wtRZ&Dt$&F|;+NDJ#?$~I?P-+rY~=D6<;7@}0YB!{XqfNv zhuuIbpF#dFQA^8h`JOiP;IsF#h7&+|kG-oH$ zo;Fr;45j}Eq>|%iHWl9B0W0MA?b<$mlw=^Gp~~|_jZ^*|#4>D_ylg67)TU&r!5^TK z5MHj5jUyZKBw;lu@~kR(a|YM7mg5fo(B@}&>yO2CY^fe)z z)Ay|pN6s!J4-tJ$2%)<=3rUB-cjDbrBZPB$hnI83l^k0Z%J@^HbbiCbJQ-}s zr7KbtDir&9+MORMC^WClidXW5{A&f;5bpRSlrqBwa%W%RGQ@cypLc1_e^nFJxH9&m z47r(?m2ii>cBljF-AklC0kNd^R`u|tVGV{cyr?Wkobp1rqobr0;kvso^jK`Y@BG(1 zx21-xS+1^d#~Sl>cwvzpKAq-LZ1ntBrIcynA4P@W!5t;4j1E6#Byh_eh(C%^T=ns& zivC_9<=gz#mOGFWq$^3LUjCA)r3IP6<*&i&v3|FIm2k%#pNy_1nfCXOdAxQ1h8MzU z%m$~(NQH4G+##i_)FhTe9Cy4a`tiFseChmzq;Kz!LpZ1R?ftQ{3rXMJABS*G@7w!h pXBU#by+01&oZh$h$IdP!eS3c#!a2Qf?~k2bNc#5vID~V0q91?gkzD`) literal 0 HcmV?d00001 diff --git a/setup/data/tools/bitmaps/show_entities.bmp b/setup/data/tools/bitmaps/show_entities.bmp new file mode 100644 index 0000000000000000000000000000000000000000..9188bee6767d6f7765250d80d6280a3f34c5d6b9 GIT binary patch literal 238 zcmZ?rea8R+Wk5;;hy{R{ABY(lSb!vM@Sov7Q1U-RLqh|@|NkI1@jws^1dI{13lIn} n2#P2vDY*beos^VRR0IV@fTB(y8YoOO?Fdm1G6tj{$b|y{jPDqp literal 0 HcmV?d00001 diff --git a/setup/data/tools/bitmaps/splash.bmp b/setup/data/tools/bitmaps/splash.bmp new file mode 100644 index 0000000000000000000000000000000000000000..f9e7cc1dcdc0bda5f06e3fa07a5bda781ab8fb9c GIT binary patch literal 299934 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 z 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ℑrExG12tvjfEti{pS)=J(H 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%0AKg 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 literal 0 HcmV?d00001 diff --git a/setup/data/tools/bitmaps/texture_browser.bmp b/setup/data/tools/bitmaps/texture_browser.bmp new file mode 100644 index 0000000000000000000000000000000000000000..40c0c2c5036bdde2d526678c9653e57f760cf27f GIT binary patch literal 776 zcmaKq&x_hn5XaN@Qs|+jr~U~&izaR~aie)lD#kV|*{W>}#9)53ahpUiMKo*#5hQlm zO1F!aO<4cP z#IWa2_OUyFWax&~wp`c!?0JL!U^pC($Kx=ZUR{0tc6~jc&!Z^1yIZbStMz)l*=*Ei zQ#bVX&U9UCwOXe6p?%(V9k<)<_Ika6?*~B;hT-jP1QNL+t7_9Q3@8ePLMoLa(gaD8 z*=&}kY37)LL&PFUlBVGly3}g*hTKq9_4l8@hraOCLq`Y&!EpI&DT-pfUYBM05Qh2? zh8nu~zW+0d1mVruR`M>MXBY-{`LS4(N+m%MMDZ-1&*gHS=Y7Aq;W&=pN>1Z>ilRE5 z&TKYgS(ban@jQQT;Cpg1ld0HmR#{jX;B?AhG0MphpViM}i{bnLT+;Ab<>$tg5@*2pjYdwjjU zH7w$YIUlxc#-~@pTa!1}{61bm@h=GJW}UQL6W!^LW|2DXTO(&L?)KDSL-H>|L`E+N?emqy&@r7K$ z3wQ=Q8qkkXN}-C%Ia95b(2ke?Cc42H#P{0Nrl5|zjcmQ@6l1iYI*;%OxOoKg(0tGZ hUZ5!obIU)>EJ5$dI%dq57lNQZomg<)zn$Fh><4tzA4mWI literal 0 HcmV?d00001 diff --git a/setup/data/tools/bitmaps/undo.bmp b/setup/data/tools/bitmaps/undo.bmp new file mode 100644 index 0000000000000000000000000000000000000000..44edbbcde92a316dd6a82abce945aecdddaa6d0e GIT binary patch literal 776 zcmc(d-3mcL6oo(BC>P|)BX|N2;NB}a{)G@lQA&9uk7NGqW?Ymku zr`xMm@T()<7Bxh5QHho~+{@6c1^I%Q!~K5`aYU$?!9*@B>_yf80=4;`uNF;q?i9!0a$<>;n5CKRvQMKPu=a&4=?Ve~OLc U!z~;5B>&#`{7mIr{)ayaPj)cA-T(jq literal 0 HcmV?d00001 diff --git a/setup/data/tools/bitmaps/view_cameratoggle.bmp b/setup/data/tools/bitmaps/view_cameratoggle.bmp new file mode 100644 index 0000000000000000000000000000000000000000..4ec79ed636b497243c378119e7dea6e25581f807 GIT binary patch literal 238 zcmaitF%H5o3`K)fX4qIOvoKbXxBxQp#8TwmfLwsIUURgZh%1Eec1HZ@|8GB8%I)z9 zn-RJYX)F2yEyypy literal 0 HcmV?d00001 diff --git a/setup/data/tools/bitmaps/view_cameraupdate.bmp b/setup/data/tools/bitmaps/view_cameraupdate.bmp new file mode 100644 index 0000000000000000000000000000000000000000..dbb11956b0ea7953699d52f0438b8c64efe6bd9b GIT binary patch literal 238 zcmZ?rea8R+Wk5;;hy{R{ABY(lSb!vMaNxiJhW|j=(9pop095w>|9=nx6d??hKtRC= zOu=Yn17l;508lp*SOO%k8U$9S%pMx7qyS{Hr-g##R9sxsg28lo7)U_HrMw(Oo4A*k XmjY>bAngL8OUlbZwul!42_OIf#dIZp literal 0 HcmV?d00001 diff --git a/setup/data/tools/bitmaps/view_change.bmp b/setup/data/tools/bitmaps/view_change.bmp new file mode 100644 index 0000000000000000000000000000000000000000..31b609e5c32416e7540f43e2eb7c96462dac7b4e GIT binary patch literal 126 zcmZ?rtzv)xJ0PV2!~#If55$Z>2m&@he1s2z!2&?yKM*#+I6#{H00RRPkOu4M0P;@& bIUEcOf+7qITuKZKEFcUN;sRnpAcg?|fI$eZ literal 0 HcmV?d00001 diff --git a/setup/data/tools/bitmaps/view_clipper.bmp b/setup/data/tools/bitmaps/view_clipper.bmp new file mode 100644 index 0000000000000000000000000000000000000000..4ef205669234b733b1b14bcf4ea91de3398a2d2d GIT binary patch literal 238 zcmaiu!3}^g3+oh`Rwx(qLaKz7*r}aJ-H+Q|oXAEm^h_t4;4!*& vyNLQY{&&5tT5?}X49P9a;6;h>q+a|9=nx6d??h-~ggl zNkI?<1e73LMkPjr(ojP|Ak9#g8VI6YT*6WfL9}~mY9N>{F9p)fF6HIrK$@kbyu8Gb M0ji$~Zaf+T0P!LqW&i*H literal 0 HcmV?d00001 diff --git a/setup/data/tools/bitmaps/view_entity.bmp b/setup/data/tools/bitmaps/view_entity.bmp new file mode 100644 index 0000000000000000000000000000000000000000..851ec2c3dbdeb7b938433d4bf21e5f671f257d61 GIT binary patch literal 238 zcmZ?rea8R+Wk5;;hy{R{ABY(lSb!vM@Sov7LqkIY!~g&PaVx?hBPgT<0*ZoQ3P>v( f1A!3|&0xU5fXrtGnuN>;at-kDq2@u%7lZ)-DDfB( literal 0 HcmV?d00001 diff --git a/setup/data/tools/bitmaps/white.bmp b/setup/data/tools/bitmaps/white.bmp new file mode 100644 index 0000000000000000000000000000000000000000..cbf038f715159087594be490b88467f33ea4396b GIT binary patch literal 248 ocmZ?r{lNeMW literal 0 HcmV?d00001 diff --git a/setup/data/tools/bitmaps/window1.bmp b/setup/data/tools/bitmaps/window1.bmp new file mode 100644 index 0000000000000000000000000000000000000000..69444ae99a444f3713b0fdff049298f584bf1e01 GIT binary patch literal 572 zcmb7=F%E+;3`Gs1QzxqIl{$4qV(pSB6B2jgXgO0akbc_?dup literal 0 HcmV?d00001 diff --git a/setup/data/tools/bitmaps/window2.bmp b/setup/data/tools/bitmaps/window2.bmp new file mode 100644 index 0000000000000000000000000000000000000000..dd890d24b9648d25ebcf9dc0fd0af5fa84c67708 GIT binary patch literal 568 zcmaivF%rTs3>8C3zbA@FX!%rfQruyv90aRygNe>?>cF z^VBX!$iKn<8qA9%pQku7<3-4rhscL{X8MQG(E1~nMl9e)^ZF-eR~TH$DJt4z_@^mFbPeC$Quu%<>U literal 0 HcmV?d00001 diff --git a/setup/data/tools/bitmaps/window3.bmp b/setup/data/tools/bitmaps/window3.bmp new file mode 100644 index 0000000000000000000000000000000000000000..c65f2dbbd06c061a7f967138072bdc8309d9e746 GIT binary patch literal 572 zcma)%y$ZuH41|@CPMuP`7dmweWbI<(snB=IGxr73yOTnGD5V1B@>x1tDz8UtiYLBz z~i)z;e_ci*)$;m^E}7dDqU3+muleL_mxZ~*Hpz+aSn!xQD8qC$$LMV z5G7arppIMUPg1bXiwpfKtaUeT{Ith=%ljK{Z@b_;jN%gW{>i>??xFJgzA +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 index 00000000..59a6fc73 --- /dev/null +++ b/setup/data/tools/gl/lighting_DBS_XY_Z_arbvp1.cg @@ -0,0 +1,78 @@ +/// ============================================================================ +/* +Copyright (C) 2004 Robert Beckebans +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 index 00000000..88dab8d3 --- /dev/null +++ b/setup/data/tools/gl/lighting_DBS_omni_fp.glp @@ -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 index 00000000..7f80fea2 --- /dev/null +++ b/setup/data/tools/gl/lighting_DBS_omni_fp.glsl @@ -0,0 +1,73 @@ +/// ============================================================================ +/* +Copyright (C) 2004 Robert Beckebans +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 index 00000000..b4472d70 --- /dev/null +++ b/setup/data/tools/gl/lighting_DBS_omni_vp.glp @@ -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 index 00000000..6900b5af --- /dev/null +++ b/setup/data/tools/gl/lighting_DBS_omni_vp.glsl @@ -0,0 +1,58 @@ +/// ============================================================================ +/* +Copyright (C) 2004 Robert Beckebans +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 index 00000000..63bfcb6c --- /dev/null +++ b/setup/data/tools/gl/utils.cg @@ -0,0 +1,36 @@ +/// ============================================================================ +/* +Copyright (C) 2004 Robert Beckebans +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 index 00000000..c80189c2 --- /dev/null +++ b/setup/data/tools/gl/zfill_arbfp1.cg @@ -0,0 +1,47 @@ +/// ============================================================================ +/* +Copyright (C) 2003 Robert Beckebans +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 index 00000000..4ffc6e27 --- /dev/null +++ b/setup/data/tools/gl/zfill_arbvp1.cg @@ -0,0 +1,49 @@ +/// ============================================================================ +/* +Copyright (C) 2003 Robert Beckebans +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 index 00000000..5eb8b129 --- /dev/null +++ b/setup/data/tools/gl/zfill_fp.glp @@ -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 index 00000000..537db670 --- /dev/null +++ b/setup/data/tools/gl/zfill_fp.glsl @@ -0,0 +1,29 @@ +/// ============================================================================ +/* +Copyright (C) 2004 Robert Beckebans +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 index 00000000..f6eda0c0 --- /dev/null +++ b/setup/data/tools/gl/zfill_vp.glp @@ -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 index 00000000..4c81280e --- /dev/null +++ b/setup/data/tools/gl/zfill_vp.glsl @@ -0,0 +1,35 @@ +/// ============================================================================ +/* +Copyright (C) 2004 Robert Beckebans +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 index 00000000..8fbd0433 --- /dev/null +++ b/setup/data/tools/global.xlink @@ -0,0 +1,11 @@ + + + + + + + + + + + diff --git a/setup/data/tools/plugins/bitmaps/bobtoolz_caulk.bmp b/setup/data/tools/plugins/bitmaps/bobtoolz_caulk.bmp new file mode 100644 index 0000000000000000000000000000000000000000..522395034ccf7b609f78b287d027a125bac211a9 GIT binary patch literal 320 zcmZusK?;B%5S&CK=ukwD=o3M7uLt%PpZtHaK$x*uBu#mTymBRP-_I@W}# z2ZSx9P!MB;td+~p9^ncwek?|Ah$&k-ib0))637(kd6$OYm5K=^pAGz04teun@5|3g(_ zQedN*KmaVq$OsZZ=A!dK%9ubZfHXukSOkp^QGk#qjt@2v?jnc%a^)Uk83x?I_Vp=P%~v1>A*v+ zQ)*zAUT!&XQ*F7o7{TgkAP O)&Ebeo`0--ib0))637(kc}$OYm5K==m;e*&Q$5Q4z}|Np@> z7J>yuj0FVXA`muQ1TF(*ASncEp_mUffDvX9&}JqE1{P){gMmT_9>`Wy9^C051^~OX B3%~#X literal 0 HcmV?d00001 diff --git a/setup/data/tools/plugins/bitmaps/bobtoolz_split.bmp b/setup/data/tools/plugins/bitmaps/bobtoolz_split.bmp new file mode 100644 index 0000000000000000000000000000000000000000..fbb1571ce1c870ddc44f5aa9eaa6106ba261274d GIT binary patch literal 312 zcmaKmF%p0v3!zxzy&rTA=|MU!gl(Fny8U7^z^_* z%|lYhyL5BO11D9?0q$ySoO>(g0()P$CAL)JRyYF0ml+UNw!nsY{p9&u%P~={57a0z MPcva~&g%H%2bECipJOMNtNMH`363}GgS?TM zOt`QDAM$<;p1Btr*Sc<~wW5@QoYld+HP^AsGqfP3Xe0c54 z5eK4R&knqaV-t`rEIe3*YcO72;!u^(jQO?0Gy&rX3`2+0<<5wVf2(b`vYFLdQ{l>* xmHUd#5D|IZuZS_@lm2`{0gCR^ljLrayy2m{puJmsuY1Vrk5Y)4{pU-X^9x&$8s7i_ literal 0 HcmV?d00001 diff --git a/setup/data/tools/plugins/bitmaps/bobtoolz_turnedge.bmp b/setup/data/tools/plugins/bitmaps/bobtoolz_turnedge.bmp new file mode 100644 index 0000000000000000000000000000000000000000..b72cb2aae6326e7c82b8be43f02ff38910d8eaf2 GIT binary patch literal 332 zcmZvW!3{zo5JZR1hiE)#j6LYZ9?U-&588m0dD7;rzy@$;7e0w`$t?R|Sa!Ny11#>$ z2WmsDselDD@S(OV*OIkVxL)Ty@IC?0BXHT-Deyokh4r5pLXUy>AvRM^nt>YaBq!C9 rIf#wr5O$7+opZ7t^}Wp2qq3XnaCVf#xFXw+#`?%3iht*Cm-GGw>kkck literal 0 HcmV?d00001 diff --git a/setup/data/tools/plugins/bitmaps/ufoai_actorclip.bmp b/setup/data/tools/plugins/bitmaps/ufoai_actorclip.bmp new file mode 100644 index 0000000000000000000000000000000000000000..4a2887c6ae391bde30288a53fecd32ecf7e95051 GIT binary patch literal 494 zcmbWvyGuf07zXg?bhXTD+0m|=UF_azbCU)^Fjoh!C{Bt)Ac9M0XsW3#i2i_vD1r(l zbLj$2)nI}B1wj$CXV0fjZS}zK<$GTE-nI1)35|Sny2wZdlAz%PKFO?YTIE{+Hc6!| z+NJ|Kq+>dvQ#zv}mFSYnRH0kCqX&AVC#upj)u;})djlSi3a@tuKHo0<{yhW&``pzL z3?3mAI!8Esfk>oCB}AiT#9~*7$16xAu8~aMAeFjDI$cF3^MY))Mz6@_-jL6~qfq#Q zs@5U5qO|g#Zq^yQrY05}7sP+adi}I*ctk8jH|Y$63y$$g(Z_y8S#~<-?DGz}w|l^% nm1RY-T8CB?n=JLTw{?g<<65%Mj`sIyES)CNn-OH1V76Jf4u@TV# literal 0 HcmV?d00001 diff --git a/setup/data/tools/plugins/bitmaps/ufoai_level2.bmp b/setup/data/tools/plugins/bitmaps/ufoai_level2.bmp new file mode 100644 index 0000000000000000000000000000000000000000..e84e254434fe221653da07189d16146fa36aa9ba GIT binary patch literal 198 zcmYj~!3}^g3&148an7_`^KR!az*Z6{=t-svwbbt&=GG@gU+PRw`2?mC&&Q z7c~!|o^MHEW>9X-vJ}+2MuRm?9{Ho2{CkVc;Dq`zL>ZzCC(Dn%DGO~*`|aQhD#j6R literal 0 HcmV?d00001 diff --git a/setup/data/tools/plugins/bitmaps/ufoai_level3.bmp b/setup/data/tools/plugins/bitmaps/ufoai_level3.bmp new file mode 100644 index 0000000000000000000000000000000000000000..141c32457872bce1579e51417c3b8afa73c0b01f GIT binary patch literal 198 zcmY*Su?>JQ409#K!a##Kf+twm;T~?`Ag<{PRd5n2gd@kbqomt@BXCd_GLs{j(6Iw2 zISs*{Z=*p~VYRZ#Tu`qX1NJ12{3)-B&?jq=HVF}a literal 0 HcmV?d00001 diff --git a/setup/data/tools/plugins/bitmaps/ufoai_level6.bmp b/setup/data/tools/plugins/bitmaps/ufoai_level6.bmp new file mode 100644 index 0000000000000000000000000000000000000000..418fdd280dc849add3cc4d3d307e245e0ef77906 GIT binary patch literal 198 zcmZ?rJ;ne5en3hChy{R{ABY(lSb!u0Lj@2EaYHa0kPX5h@c;jR1`xCb!Z#vs82--s y3y}bljDlbwfJ8Ge2nquE0*qin5XfTy@iAzaJWM^vAcz)_W}q&JIS}(<76Je$4-s1c literal 0 HcmV?d00001 diff --git a/setup/data/tools/plugins/bitmaps/ufoai_level7.bmp b/setup/data/tools/plugins/bitmaps/ufoai_level7.bmp new file mode 100644 index 0000000000000000000000000000000000000000..d82dab61c387a5f974bad9a52dde617aaf298b81 GIT binary patch literal 198 zcmZ?rJ;ne5en3hChy{R{ABY(lSb!u0Lj@2EaYHa0kPX5h@c;jR1`xCb!Z#vs82--s y3y}bljDlbwfJ8F@ML>Lz9EgTvpafVQoMwdZfr4Oh7%j*E;)AS!h=a_7SqK0^mJzT3 literal 0 HcmV?d00001 diff --git a/setup/data/tools/plugins/bitmaps/ufoai_level8.bmp b/setup/data/tools/plugins/bitmaps/ufoai_level8.bmp new file mode 100644 index 0000000000000000000000000000000000000000..c3809538b01aa2cc6b430fa75a63c18c842e401c GIT binary patch literal 198 zcmZ?rJ;ne5en3hChy{R{ABY(lSb!u0Lj@2EaYHa0kPX5h@c;jR1`xCb!Z#vs82--s r3y}bljDlbwfS`eMQ9fD z4_?~w$(ZnCW|a;O=;u&y!~n+(al$ZXSP5d|LU4(l5Du;x;_0Yc6IS7RI8PHb~Gxy$qHKA(%He0k3a`+{hrk)rv(YZ6nFGt>0?%KB2H zBx$uO6)~|H`2|HKd38UYk&u!UpHpk7u4*($QpKOhwKYxU>B=m*TK3|yLPc)euj?9g PYGwAXi%b9iXXM2_RXB7j3R}BM$cP#^hUlW62P$mOIKpTT%XgLEz zXfK0eWIY2z{5%GRgar)xshtcusoe~&>2(bH*^?OjO8Xh?E9Nl-RZV5Et6jkm-ZY;f zs%;5FOy>%Q*zQ#f_PvJ~5+-b5NSeHbA#=`thJxj17>d_iVkldGouO{eGX@bT(0~GJ z^Z8ksxVag)*d^7a<)y`C#fA7}BqTVbM8#M*6ge0LI8+tXb0IR%-8d1&Ph Gn7;s?3r%1E literal 0 HcmV?d00001 diff --git a/setup/data/tools/plugins/bitmaps/ufoai_weaponclip.bmp b/setup/data/tools/plugins/bitmaps/ufoai_weaponclip.bmp new file mode 100644 index 0000000000000000000000000000000000000000..799468ba2bc51b1046ce470176b7fe34c129007e GIT binary patch literal 558 zcmbWx$uHbt9LMqZpeSYROSKrr&KTQZhM$>{NRbikK@UU*O==4v60t-^kTl_fLtBKu zpa&-h;y_|K&_=9@12>67B~2tvnoPex%f-0M{x{6(IwVed9U~i+xsyvUt|9;4wm0g zdP_y!Bo!YgLHR5GL7AJ%`e~}_XK*;@sA-y~wq=Qi-W3}AR&n;P(>$=rr{Qg^-EKa+ z_GlgbN!!=~?c;}ZOdN@0dZsSKC4*o8F!cQv*OHrzhu9wSoIWBT#