Patches #1292

Merge in xonotic/xonotic-maps.pk3dir.git: mirceakitsune/world_cubemaps

Added by git-manager about 2 years ago. Updated 2 months ago.

Status:FeedbackStart date:08/25/2012
Priority:NormalDue date:
Assignee:divVerent% Done:

0%

Category:-
Target version:Xonotic - 0.8

Description

Purpose of the branch:

An older change I apparently forgot to merge request. Currently, this adds discrete cubemaps to several metal textures in the exX package, in order to make them properly shiny and reflective. More texture packages are planned to have this in the future. The branch also contains a system which allows them to be toggled by a cvar, so players can disable cubemap reflections on such surfaces if they don't want them (while leaving them enabled on water and glass). Screenshots when pics.nexuizninjaz.com will be up again :P

Repository: xonotic/xonotic-maps.pk3dir.git
Commit: a109e635bf9bc51e17396445b85090b7a583e638
Branch: mirceakitsune/world_cubemaps

Merge commands:

cd data/xonotic-maps.pk3dir
git checkout master
git reset --hard origin/master
git pull && git diff 'a109e635bf9bc51e17396445b85090b7a583e638'..'origin/mirceakitsune/world_cubemaps'

# please check that the diff you just saw did not contain anything complex that
# needs a new merge request, and review these changes

git merge --no-ff 'origin/mirceakitsune/world_cubemaps'

# please make sure this merge worked, and if not, fix merge conflicts and git
# commit BEFORE the next command
#
# also, THIS is the point to do final pre-merge testing
#
# use git reset --hard origin/master to bail out

git push && git push --delete origin 'mirceakitsune/world_cubemaps'

Warning:
Long diff has been truncated. Use
git diff 'refs/heads/master'..'a109e635bf9bc51e17396445b85090b7a583e638'
to view the full diff.

Diffstat:

 cubemaps/nebulae/nebulaenx.tga                   |  Bin 0 -> 3145746 bytes
 cubemaps/nebulae/nebulaeny.tga                   |  Bin 0 -> 3145746 bytes
 cubemaps/nebulae/nebulaenz.tga                   |  Bin 0 -> 3145746 bytes
 cubemaps/nebulae/nebulaepx.tga                   |  Bin 0 -> 3145746 bytes
 cubemaps/nebulae/nebulaepy.tga                   |  Bin 0 -> 3145746 bytes
 cubemaps/nebulae/nebulaepz.tga                   |  Bin 0 -> 3145746 bytes
 scripts/exx.shader                               | 1989 +++++++++++++++----
 scripts/exx.shader.in                            | 2308 ++++++++++++++++++++++
 scripts/shaderlist.txt                           |    1 +
 textures/exx/base/base_metal01_reflect.tga       |  Bin 0 -> 786476 bytes
 textures/exx/base/base_metal02_reflect.tga       |  Bin 0 -> 786476 bytes
 textures/exx/base/base_metal03_reflect.tga       |  Bin 0 -> 786476 bytes
 textures/exx/base/base_metal04_reflect.tga       |  Bin 0 -> 786476 bytes
 textures/exx/base/base_metal05rust_reflect.tga   |  Bin 0 -> 786476 bytes
 textures/exx/base/base_metal06rust_reflect.tga   |  Bin 0 -> 786476 bytes
 textures/exx/base/base_metal07rust_reflect.tga   |  Bin 0 -> 786476 bytes
 textures/exx/floor/floor_clang01_reflect.tga     |  Bin 0 -> 786476 bytes
 textures/exx/floor/floor_clang01b_reflect.tga    |  Bin 0 -> 786476 bytes
 textures/exx/floor/floor_grate01_reflect.tga     |  Bin 0 -> 786476 bytes
 textures/exx/floor/floor_grate02_reflect.tga     |  Bin 0 -> 786476 bytes
 textures/exx/floor/floor_grate03_reflect.tga     |  Bin 0 -> 49196 bytes
 textures/exx/floor/floor_grate04_reflect.tga     |  Bin 0 -> 196652 bytes
 textures/exx/floor/floor_metal02_reflect.tga     |  Bin 0 -> 786476 bytes
 textures/exx/floor/floor_panel01_reflect.tga     |  Bin 0 -> 786476 bytes
 textures/exx/floor/floor_rnd01_reflect.tga       |  Bin 0 -> 786476 bytes
 textures/exx/floor/floor_rnd02_reflect.tga       |  Bin 0 -> 786476 bytes
 textures/exx/floor/floor_simple05_reflect.tga    |  Bin 0 -> 196652 bytes
 textures/exx/floor/floor_simplines_reflect.tga   |  Bin 0 -> 786476 bytes
 textures/exx/floor/floor_tile03_reflect.tga      |  Bin 0 -> 196652 bytes
 textures/exx/floor/floor_tread01_reflect.tga     |  Bin 0 -> 786476 bytes
 textures/exx/light/light_panel01_reflect.tga     |  Bin 0 -> 196652 bytes
 textures/exx/light/light_u201_reflect.tga        |  Bin 0 -> 196652 bytes
 textures/exx/panel/panel_grate01_reflect.tga     |  Bin 0 -> 150782 bytes
 textures/exx/panel/panel_metal01_reflect.tga     |  Bin 0 -> 393260 bytes
 textures/exx/panel/panel_metal01b_reflect.tga    |  Bin 0 -> 393260 bytes
 textures/exx/panel/panel_metal01c_reflect.tga    |  Bin 0 -> 786476 bytes
 textures/exx/panel/panel_metal02_reflect.tga     |  Bin 0 -> 393260 bytes
 textures/exx/panel/panel_metal03_reflect.tga     |  Bin 0 -> 786476 bytes
 textures/exx/panel/panel_metal04_reflect.tga     |  Bin 0 -> 393260 bytes
 textures/exx/panel/panel_metal05_reflect.tga     |  Bin 0 -> 786476 bytes
 textures/exx/panel/panel_metalbig04_reflect.tga  |  Bin 0 -> 786476 bytes
 textures/exx/panel/panel_metalbig04b_reflect.tga |  Bin 0 -> 393260 bytes
 textures/exx/panel/panel_q201_reflect.tga        |  Bin 0 -> 786476 bytes
 textures/exx/panel/panel_q201b_reflect.tga       |  Bin 0 -> 393260 bytes
 textures/exx/panel/panel_q201c_reflect.tga       |  Bin 0 -> 393260 bytes
 textures/exx/panel/panel_q201d_reflect.tga       |  Bin 0 -> 393260 bytes
 textures/exx/panel/panel_q201e_reflect.tga       |  Bin 0 -> 196652 bytes
 textures/exx/panel/panel_rs01_reflect.tga        |  Bin 0 -> 786476 bytes
 textures/exx/trim/trim_01_reflect.tga            |  Bin 0 -> 98348 bytes
 textures/exx/trim/trim_baseboard02_reflect.tga   |  Bin 0 -> 196652 bytes
 textures/exx/trim/trim_baseboard03_reflect.tga   |  Bin 0 -> 49196 bytes
 textures/exx/trim/trim_baseboard_reflect.tga     |  Bin 0 -> 393260 bytes
 textures/exx/trim/trim_horz01_reflect.tga        |  Bin 0 -> 16428 bytes
 textures/exx/trim/trim_metalsupp01_reflect.tga   |  Bin 0 -> 196652 bytes
 textures/exx/trim/trim_psimple04_reflect.tga     |  Bin 0 -> 196652 bytes
 textures/exx/trim/trim_psimple05_reflect.tga     |  Bin 0 -> 393260 bytes
 textures/exx/trim/trim_simple01_reflect.tga      |  Bin 0 -> 98348 bytes
 textures/exx/trim/trim_simple03_reflect.tga      |  Bin 0 -> 196652 bytes
 textures/exx/trim/trim_steptop01_reflect.tga     |  Bin 0 -> 98348 bytes
 textures/exx/trim/trim_support03_reflect.tga     |  Bin 0 -> 196652 bytes
 textures/exx/trim/trim_vert01_reflect.tga        |  Bin 0 -> 49196 bytes
 textures/exx/wall/wall_bigrib02_reflect.tga      |  Bin 0 -> 786476 bytes
 textures/exx/wall/wall_bplate06_reflect.tga      |  Bin 0 -> 786476 bytes
 textures/exx/wall/wall_des01_reflect.tga         |  Bin 0 -> 786476 bytes
 textures/exx/wall/wall_metal01_reflect.tga       |  Bin 0 -> 786476 bytes
 textures/exx/wall/wall_metal01b_reflect.tga      |  Bin 0 -> 786476 bytes
 textures/exx/wall/wall_metal02_reflect.tga       |  Bin 0 -> 786476 bytes
 textures/exx/wall/wall_metalb01_reflect.tga      |  Bin 0 -> 786476 bytes
 textures/exx/wall/wall_metalrib01_reflect.tga    |  Bin 0 -> 786476 bytes
 textures/exx/wall/wall_panel05_reflect.tga       |  Bin 0 -> 524332 bytes
 textures/exx/wall/wall_panels08_reflect.tga      |  Bin 0 -> 786476 bytes
 textures/exx/wall/wall_panels08b_reflect.tga     |  Bin 0 -> 786476 bytes
 textures/exx/wall/wall_pipe_reflect.tga          |  Bin 0 -> 3145772 bytes
 textures/exx/wall/wall_u207_reflect.tga          |  Bin 0 -> 786476 bytes
 74 files changed, 3871 insertions(+), 427 deletions(-)

Revision log:

commit a109e635bf9bc51e17396445b85090b7a583e638
Merge: 160ddb2 ead3a9d
Author: MirceaKitsune <sonichedgehog_hyperblast00@yahoo.com>
Commit: MirceaKitsune <sonichedgehog_hyperblast00@yahoo.com>

    Merge branch 'mirceakitsune/world_cubemaps' of git://de.git.xonotic.org/xonotic/xonotic-maps.pk3dir into mirceakitsune/world_cubemaps

commit 160ddb2c2a2ffe956770cb7d4128e9424d3b7cc2
Merge: a9f168e fb4b0e3
Author: MirceaKitsune <sonichedgehog_hyperblast00@yahoo.com>
Commit: MirceaKitsune <sonichedgehog_hyperblast00@yahoo.com>

    Merge branch 'master' into mirceakitsune/world_cubemaps

commit ead3a9d3331da4d9e93222970912cc11f0f1043d
Merge: a9f168e fb4b0e3
Author: Rudolf Polzer <divverent@xonotic.org>
Commit: Rudolf Polzer <divverent@xonotic.org>

    Merge branch 'master' into mirceakitsune/world_cubemaps

commit a9f168ef698b42f8a93d6d9e5240933727d62e67
Author: Rudolf Polzer <divverent@xonotic.org>
Commit: Rudolf Polzer <divverent@xonotic.org>

    fix variable name, run the preprocessor

commit 31a33d973a5355491251e7bab063a22a3cc1fa4d
Merge: e1e7483 e6e45ec
Author: MirceaKitsune <sonichedgehog_hyperblast00@yahoo.com>
Commit: MirceaKitsune <sonichedgehog_hyperblast00@yahoo.com>

    Merge branch 'master' into mirceakitsune/world_cubemaps

commit e1e7483cdd5abf1dcab373637c27465edd179741
Author: MirceaKitsune <sonichedgehog_hyperblast00@yahoo.com>
Commit: MirceaKitsune <sonichedgehog_hyperblast00@yahoo.com>

    Commit exx.shader.in for divVerent's new system

commit 744729e7b162570c13766bb0bbe76bd9206f5fce
Author: MirceaKitsune <sonichedgehog_hyperblast00@yahoo.com>
Commit: MirceaKitsune <sonichedgehog_hyperblast00@yahoo.com>

    Revert shaders to an earlier commit

commit d0923bfd36cf4fcdabc85ea6728f9a0217fb47b0
Author: MirceaKitsune <sonichedgehog_hyperblast00@yahoo.com>
Commit: MirceaKitsune <sonichedgehog_hyperblast00@yahoo.com>

    Add the reflections_off shader to shaderlist.txt (for netRadiant), so q3map2 finds surfaceparm metalsteps and the other stuff

commit 2c3e9a9fb8d16a2d214062091e93778fa24e15de
Author: MirceaKitsune <sonichedgehog_hyperblast00@yahoo.com>
Commit: MirceaKitsune <sonichedgehog_hyperblast00@yahoo.com>

    Make shader names shorter

commit 4c5f46c615b32e21fa57715f7ab896121c3d9ed7
Author: MirceaKitsune <sonichedgehog_hyperblast00@yahoo.com>
Commit: MirceaKitsune <sonichedgehog_hyperblast00@yahoo.com>

    Those shaders address reflections on solid surfaces, not water / glass

commit 289295f41f35e7984ccd080d67850320f2bb6075
Author: MirceaKitsune <sonichedgehog_hyperblast00@yahoo.com>
Commit: MirceaKitsune <sonichedgehog_hyperblast00@yahoo.com>

    Add comments to the beginning of each shader to clarify how they work

commit 2d13382f2b1c3e6ef9002c67bbe4d6a946223865
Author: MirceaKitsune <sonichedgehog_hyperblast00@yahoo.com>
Commit: MirceaKitsune <sonichedgehog_hyperblast00@yahoo.com>

    Properly name the shader files

commit 7204003359bc6da30ef442b1b7466ef7c473724f
Author: MirceaKitsune <sonichedgehog_hyperblast00@yahoo.com>
Commit: MirceaKitsune <sonichedgehog_hyperblast00@yahoo.com>

    Put shaders with cubemaps in their own files, so that the shaders without reflections are not duplicated pointlessly

commit eeab51ab48f596a9893c971419b781f0cefe666f
Author: MirceaKitsune <sonichedgehog_hyperblast00@yahoo.com>
Commit: MirceaKitsune <sonichedgehog_hyperblast00@yahoo.com>

    Actually call it r_reflections_world, because people can use either cubemaps, either envmaps, or even realtime reflections for surfaces someday (except water / warpzones which have them indepentently).

commit 4c8632849b9ada281a1c50d19d53c9ba61ce7213
Author: MirceaKitsune <sonichedgehog_hyperblast00@yahoo.com>
Commit: MirceaKitsune <sonichedgehog_hyperblast00@yahoo.com>

    rename g_cubemap to r_cubemaps_world

commit bfe8bf2768261da92e8d008248e547230459c297
Author: MirceaKitsune <sonichedgehog_hyperblast00@yahoo.com>
Commit: MirceaKitsune <sonichedgehog_hyperblast00@yahoo.com>

    Make two versions os the exx shader, and add cvar filters so the cubemapped one only works when g_cubemap is 1 (might rename that)

commit 1eb6a02da3e92d55e3e555f5343647a6b6e5e35f
Author: MirceaKitsune <sonichedgehog_hyperblast00@yahoo.com>
Commit: MirceaKitsune <sonichedgehog_hyperblast00@yahoo.com>

    Improve that last change, same issue

commit 898bd2814037d2681b168f872c58e94efbbb829a
Author: MirceaKitsune <sonichedgehog_hyperblast00@yahoo.com>
Commit: MirceaKitsune <sonichedgehog_hyperblast00@yahoo.com>

    Attempt to implement dpshaderkillifcvar to turn off cubemaps. Currently this just causes all surfaces to disappear

commit 4c993960b92cd2525ebc6ca030ea1d435217cb8e
Author: MirceaKitsune <sonichedgehog_hyperblast00@yahoo.com>
Commit: MirceaKitsune <sonichedgehog_hyperblast00@yahoo.com>

    Use the exomorph cubemap for eXx reflections (same as the textures on Solarium). This represents the final looks so feel free to test and report what you think (try Red Planet or Glowplant)

commit b090ebf14d4645fec0a8f8bfafc94c9764a62a19
Merge: fb22c63 eff372e
Author: MirceaKitsune <sonichedgehog_hyperblast00@yahoo.com>
Commit: MirceaKitsune <sonichedgehog_hyperblast00@yahoo.com>

    Merge branch 'master' into mirceakitsune/world_cubemaps

commit fb22c631c4f944678e5ddf2efe2e284aab4e4b4b
Author: MirceaKitsune <sonichedgehog_hyperblast00@yahoo.com>
Commit: MirceaKitsune <sonichedgehog_hyperblast00@yahoo.com>

    Darken more exx reflections. The cubemaps for these textures should look a lot better and more correct now.

commit 74bfa0292cf96d810a621293174e6053b5f90c96
Author: MirceaKitsune <sonichedgehog_hyperblast00@yahoo.com>
Commit: MirceaKitsune <sonichedgehog_hyperblast00@yahoo.com>

    Make the exX cubemaps much less intense. Basically, I will cut a deal: The more rusty and dark / solid a metal texture is, the less it will reflect (barely visible reflections). However, the brighter and more polished a surface is, the more mirror-like it will be. This should be quite fair and not exaggerate the effect, since most textures are rusty or non-polished metal plates.

commit 61d3828a93dd965bcef6d1c84288232950fe11ae
Author: MirceaKitsune <sonichedgehog_hyperblast00@yahoo.com>
Commit: MirceaKitsune <sonichedgehog_hyperblast00@yahoo.com>

    Not sure if this makes sense, but include my TEMPORARY nebulae cubemap here, which is a much better reflection to test with, until we have per-map ones. Obviously, this cubemap will be deleted once we have final ones.

commit 47ddd5d8890d39ae65ba6178ed2e63019339489d
Author: MirceaKitsune <sonichedgehog_hyperblast00@yahoo.com>
Commit: MirceaKitsune <sonichedgehog_hyperblast00@yahoo.com>

    Add default dpreflectcube to the exX shader, for textures meant to have reflections. Yes, this isn't permanent, and looks rather ugly. Once per-map cubemaps will be implemented, I can easily replace the keyword. For now, this is fun to test around with

commit ddf24a9c57e0f831ad2b59287785e49e145f33b0
Author: MirceaKitsune <sonichedgehog_hyperblast00@yahoo.com>
Commit: MirceaKitsune <sonichedgehog_hyperblast00@yahoo.com>

    Another forgotten _reflect texture

commit e2a4e262ab16ab8e10bb6a695c52132e232db746
Author: MirceaKitsune <sonichedgehog_hyperblast00@yahoo.com>
Commit: MirceaKitsune <sonichedgehog_hyperblast00@yahoo.com>

    Commit a reflect texture I forgot

commit 90436ec0e07c2861b3d9879a34b83a1286600898
Author: MirceaKitsune <sonichedgehog_hyperblast00@yahoo.com>
Commit: MirceaKitsune <sonichedgehog_hyperblast00@yahoo.com>

    Base _reflect textures on _gloss textures, and leave them unmodified for now. Should be most logical and accurate

commit 93169c7fa221d3c4d32fdc8dd9ac9f66369b9132
Author: MirceaKitsune <sonichedgehog_hyperblast00@yahoo.com>
Commit: MirceaKitsune <sonichedgehog_hyperblast00@yahoo.com>

    Create _reflect textures for all metal textures in the exX package

User agreed to the GPLv2+.

Diff:

diff --git a/cubemaps/nebulae/nebulaenx.tga b/cubemaps/nebulae/nebulaenx.tga
new file mode 100644
index 0000000..b7b8abb
Binary files /dev/null and b/cubemaps/nebulae/nebulaenx.tga differ
diff --git a/cubemaps/nebulae/nebulaeny.tga b/cubemaps/nebulae/nebulaeny.tga
new file mode 100644
index 0000000..d53a984
Binary files /dev/null and b/cubemaps/nebulae/nebulaeny.tga differ
diff --git a/cubemaps/nebulae/nebulaenz.tga b/cubemaps/nebulae/nebulaenz.tga
new file mode 100644
index 0000000..dcf7e92
Binary files /dev/null and b/cubemaps/nebulae/nebulaenz.tga differ
diff --git a/cubemaps/nebulae/nebulaepx.tga b/cubemaps/nebulae/nebulaepx.tga
new file mode 100644
index 0000000..d78ee08
Binary files /dev/null and b/cubemaps/nebulae/nebulaepx.tga differ
diff --git a/cubemaps/nebulae/nebulaepy.tga b/cubemaps/nebulae/nebulaepy.tga
new file mode 100644
index 0000000..aa46a6d
Binary files /dev/null and b/cubemaps/nebulae/nebulaepy.tga differ
diff --git a/cubemaps/nebulae/nebulaepz.tga b/cubemaps/nebulae/nebulaepz.tga
new file mode 100644
index 0000000..c094e8f
Binary files /dev/null and b/cubemaps/nebulae/nebulaepz.tga differ
diff --git a/scripts/exx.shader b/scripts/exx.shader
index 961244e..78b7163 100644
--- a/scripts/exx.shader
+++ b/scripts/exx.shader
@@ -1,17 +1,12 @@
 textures/exx/base-crete01
 {
     qer_editorimage textures/exx/base/base_crete01.tga
-    
     q3map_bounceScale  0.5
     dpoffsetmapping - 2 match8 65
     dpglossintensitymod  1
     dpglossexponentmod  1
-
-
     {
         map textures/exx/base/base_crete01.tga
-        
-
     }
     {
         map $lightmap
@@ -23,17 +18,12 @@ textures/exx/base-crete01
 textures/exx/base-crete01blue
 {
     qer_editorimage textures/exx/base/base_crete01blue.tga
-    
     q3map_bounceScale  0.5
     dpoffsetmapping - 2
     dpglossintensitymod  1
     dpglossexponentmod  1
-
-
     {
         map textures/exx/base/base_crete01blue.tga
-        
-
     }
     {
         map $lightmap
@@ -45,17 +35,12 @@ textures/exx/base-crete01blue
 textures/exx/base-crete01red
 {
     qer_editorimage textures/exx/base/base_crete01red.tga
-    
     q3map_bounceScale  0.5
     dpoffsetmapping - 2
     dpglossintensitymod  1
     dpglossexponentmod  1
-
-
     {
         map textures/exx/base/base_crete01red.tga
-        
-
     }
     {
         map $lightmap
@@ -67,17 +52,12 @@ textures/exx/base-crete01red
 textures/exx/base-crete02
 {
     qer_editorimage textures/exx/base/base_crete02.tga
-    
     q3map_bounceScale  0.5
     dpoffsetmapping - 2 match8 65
     dpglossintensitymod  1
     dpglossexponentmod  1
-
-
     {
         map textures/exx/base/base_crete02.tga
-        
-
     }
     {
         map $lightmap
@@ -89,17 +69,12 @@ textures/exx/base-crete02
 textures/exx/base-crete03
 {
     qer_editorimage textures/exx/base/base_crete03.tga
-    
     q3map_bounceScale  0.5
     dpoffsetmapping - 2 match8 65
     dpglossintensitymod  1
     dpglossexponentmod  1
-
-
     {
         map textures/exx/base/base_crete03.tga
-        
-
     }
     {
         map $lightmap
@@ -110,19 +85,35 @@ textures/exx/base-crete03
 }
 textures/exx/base-metal01
 {
+    dpshaderkillifcvar cl_cubemaps_extra >= 1
     qer_editorimage textures/exx/base/base_metal01.tga
-    
     surfaceparm metalsteps
     q3map_bounceScale  2
     dpoffsetmapping - 2 match8 106
     dpglossintensitymod  3
     dpglossexponentmod  4
-
-
     {
         map textures/exx/base/base_metal01.tga
-        
-
+    }
+    {
+        map $lightmap
+        rgbGen identity
+        tcGen lightmap
+        blendfunc filter
+    }
+}
+textures/exx/base-metal01
+{
+    dpshaderkillifcvar cl_cubemaps_extra < 1
+    qer_editorimage textures/exx/base/base_metal01.tga
+    surfaceparm metalsteps
+    q3map_bounceScale 2
+    dpoffsetmapping - 2 match8 106
+    dpglossintensitymod 3
+    dpglossexponentmod 4
+    dpreflectcube env/exomorph/exomorph
+    {
+        map textures/exx/base/base_metal01.tga
     }
     {
         map $lightmap
@@ -133,19 +124,35 @@ textures/exx/base-metal01
 }
 textures/exx/base-metal02
 {
+    dpshaderkillifcvar cl_cubemaps_extra >= 1
     qer_editorimage textures/exx/base/base_metal02.tga
-    
     surfaceparm metalsteps
     q3map_bounceScale  2
     dpoffsetmapping - 2 match8 106
     dpglossintensitymod  3
     dpglossexponentmod  4
-
-
     {
         map textures/exx/base/base_metal02.tga
-        
-
+    }
+    {
+        map $lightmap
+        rgbGen identity
+        tcGen lightmap
+        blendfunc filter
+    }
+}
+textures/exx/base-metal02
+{
+    dpshaderkillifcvar cl_cubemaps_extra < 1
+    qer_editorimage textures/exx/base/base_metal02.tga
+    surfaceparm metalsteps
+    q3map_bounceScale 2
+    dpoffsetmapping - 2 match8 106
+    dpglossintensitymod 3
+    dpglossexponentmod 4
+    dpreflectcube env/exomorph/exomorph
+    {
+        map textures/exx/base/base_metal02.tga
     }
     {
         map $lightmap
@@ -156,19 +163,54 @@ textures/exx/base-metal02
 }
 textures/exx/base-metal03
 {
+    dpshaderkillifcvar cl_cubemaps_extra >= 1
     qer_editorimage textures/exx/base/base_metal03.tga
-    
     surfaceparm metalsteps
     q3map_bounceScale  2
     dpoffsetmapping - 2 match8 106
     dpglossintensitymod  3
     dpglossexponentmod  4
-
-
     {
         map textures/exx/base/base_metal03.tga
-        
-
+    }
+    {
+        map $lightmap
+        rgbGen identity
+        tcGen lightmap
+        blendfunc filter
+    }
+}
+textures/exx/base-metal03
+{
+    dpshaderkillifcvar cl_cubemaps_extra < 1
+    qer_editorimage textures/exx/base/base_metal03.tga
+    surfaceparm metalsteps
+    q3map_bounceScale 2
+    dpoffsetmapping - 2 match8 106
+    dpglossintensitymod 3
+    dpglossexponentmod 4
+    dpreflectcube env/exomorph/exomorph
+    {
+        map textures/exx/base/base_metal03.tga
+    }
+    {
+        map $lightmap
+        rgbGen identity
+        tcGen lightmap
+        blendfunc filter
+    }
+}
+textures/exx/base-metal04
+{
+    dpshaderkillifcvar cl_cubemaps_extra >= 1
+    qer_editorimage textures/exx/base/base_metal04.tga
+    surfaceparm metalsteps
+    q3map_bounceScale 2
+    dpoffsetmapping - 2 match8 106
+    dpglossintensitymod 3
+    dpglossexponentmod 4
+    {
+        map textures/exx/base/base_metal04.tga
     }
     {
         map $lightmap
@@ -179,19 +221,16 @@ textures/exx/base-metal03
 }
 textures/exx/base-metal04
 {
+    dpshaderkillifcvar cl_cubemaps_extra < 1
     qer_editorimage textures/exx/base/base_metal04.tga
-    
     surfaceparm metalsteps
     q3map_bounceScale  2
     dpoffsetmapping - 2 match8 106
     dpglossintensitymod  3
     dpglossexponentmod  4
-
-
+    dpreflectcube env/exomorph/exomorph
     {
         map textures/exx/base/base_metal04.tga
-        
-
     }
     {
         map $lightmap
@@ -202,19 +241,54 @@ textures/exx/base-metal04
 }
 textures/exx/base-metal05rust
 {
+    dpshaderkillifcvar cl_cubemaps_extra >= 1
     qer_editorimage textures/exx/base/base_metal05rust.tga
-    
     surfaceparm metalsteps
     q3map_bounceScale  2
     dpoffsetmapping - 2 match8 70
     dpglossintensitymod  3
     dpglossexponentmod  4
-
-
     {
         map textures/exx/base/base_metal05rust.tga
-        
-
+    }
+    {
+        map $lightmap
+        rgbGen identity
+        tcGen lightmap
+        blendfunc filter
+    }
+}
+textures/exx/base-metal05rust
+{
+    dpshaderkillifcvar cl_cubemaps_extra < 1
+    qer_editorimage textures/exx/base/base_metal05rust.tga
+    surfaceparm metalsteps
+    q3map_bounceScale 2
+    dpoffsetmapping - 2 match8 70
+    dpglossintensitymod 3
+    dpglossexponentmod 4
+    dpreflectcube env/exomorph/exomorph
+    {
+        map textures/exx/base/base_metal05rust.tga
+    }
+    {
+        map $lightmap
+        rgbGen identity
+        tcGen lightmap
+        blendfunc filter
+    }
+}
+textures/exx/base-metal06rust
+{
+    dpshaderkillifcvar cl_cubemaps_extra >= 1
+    qer_editorimage textures/exx/base/base_metal06rust.tga
+    surfaceparm metalsteps
+    q3map_bounceScale 2
+    dpoffsetmapping - 2 match8 70
+    dpglossintensitymod 3
+    dpglossexponentmod 4
+    {
+        map textures/exx/base/base_metal06rust.tga
     }
     {
         map $lightmap
@@ -225,19 +299,16 @@ textures/exx/base-metal05rust
 }
 textures/exx/base-metal06rust
 {
+    dpshaderkillifcvar cl_cubemaps_extra < 1
     qer_editorimage textures/exx/base/base_metal06rust.tga
-    
     surfaceparm metalsteps
     q3map_bounceScale  2
     dpoffsetmapping - 2 match8 70
     dpglossintensitymod  3
     dpglossexponentmod  4
-
-
+    dpreflectcube env/exomorph/exomorph
     {
         map textures/exx/base/base_metal06rust.tga
-        
-
     }
     {
         map $lightmap
@@ -248,19 +319,54 @@ textures/exx/base-metal06rust
 }
 textures/exx/base-metal07rust
 {
+    dpshaderkillifcvar cl_cubemaps_extra >= 1
     qer_editorimage textures/exx/base/base_metal07rust.tga
-    
     surfaceparm metalsteps
     q3map_bounceScale  2
     dpoffsetmapping - 2 match8 70
     dpglossintensitymod  3
     dpglossexponentmod  4
-
-
     {
         map textures/exx/base/base_metal07rust.tga
-        
-
+    }
+    {
+        map $lightmap
+        rgbGen identity
+        tcGen lightmap
+        blendfunc filter
+    }
+}
+textures/exx/base-metal07rust
+{
+    dpshaderkillifcvar cl_cubemaps_extra < 1
+    qer_editorimage textures/exx/base/base_metal07rust.tga
+    surfaceparm metalsteps
+    q3map_bounceScale 2
+    dpoffsetmapping - 2 match8 70
+    dpglossintensitymod 3
+    dpglossexponentmod 4
+    dpreflectcube env/exomorph/exomorph
+    {
+        map textures/exx/base/base_metal07rust.tga
+    }
+    {
+        map $lightmap
+        rgbGen identity
+        tcGen lightmap
+        blendfunc filter
+    }
+}
+textures/exx/floor-clang01
+{
+    dpshaderkillifcvar cl_cubemaps_extra >= 1
+    qer_editorimage textures/exx/floor/floor_clang01.tga
+    q3map_bounceScale 0.75
+    dpoffsetmapping - 2 match8 37
+    dpglossintensitymod 3
+    dpglossexponentmod 4
+    surfaceparm metalsteps
+    {
+        map textures/exx/floor/floor_clang01.tga
     }
     {
         map $lightmap
@@ -271,20 +377,16 @@ textures/exx/base-metal07rust
 }
 textures/exx/floor-clang01
 {
+    dpshaderkillifcvar cl_cubemaps_extra < 1
     qer_editorimage textures/exx/floor/floor_clang01.tga
-    
     q3map_bounceScale  0.75
     dpoffsetmapping - 2 match8 37
     dpglossintensitymod  3
     dpglossexponentmod  4
     surfaceparm metalsteps
-
-
-
+    dpreflectcube env/exomorph/exomorph
     {
         map textures/exx/floor/floor_clang01.tga
-        
-
     }
     {
         map $lightmap
@@ -295,19 +397,35 @@ textures/exx/floor-clang01
 }
 textures/exx/floor-clang01b
 {
+    dpshaderkillifcvar cl_cubemaps_extra >= 1
+    qer_editorimage textures/exx/floor/floor_clang01b.tga
+    q3map_bounceScale 0.75
+    dpoffsetmapping - 2 match8 37
+    dpglossintensitymod 3
+    dpglossexponentmod 4
+    surfaceparm metalsteps
+    {
+        map textures/exx/floor/floor_clang01b.tga
+    }
+    {
+        map $lightmap
+        rgbGen identity
+        tcGen lightmap
+        blendfunc filter
+    }
+}
+textures/exx/floor-clang01b
+{
+    dpshaderkillifcvar cl_cubemaps_extra < 1
     qer_editorimage textures/exx/floor/floor_clang01b.tga
-    
     q3map_bounceScale  0.75
     dpoffsetmapping - 2 match8 37
     dpglossintensitymod  3
     dpglossexponentmod  4
     surfaceparm metalsteps
-    
-
+    dpreflectcube env/exomorph/exomorph
     {
         map textures/exx/floor/floor_clang01b.tga
-        
-
     }
     {
         map $lightmap
@@ -319,17 +437,12 @@ textures/exx/floor-clang01b
 textures/exx/floor-crete01
 {
     qer_editorimage textures/exx/floor/floor_crete01.tga
-    
     q3map_bounceScale  0.5
     dpoffsetmapping - 2 match8 148
     dpglossintensitymod  1
     dpglossexponentmod  1
-
-
     {
         map textures/exx/floor/floor_crete01.tga
-        
-
     }
     {
         map $lightmap
@@ -341,17 +454,12 @@ textures/exx/floor-crete01
 textures/exx/floor-crete01-phoenix
 {
     qer_editorimage textures/exx/floor/floor_crete01_phoenix.tga
-    
     q3map_bounceScale  0.5
     dpoffsetmapping - 2 match8 148
     dpglossintensitymod  1
     dpglossexponentmod  1
-
-
     {
         map textures/exx/floor/floor_crete01_phoenix.tga
-        
-
     }
     {
         map $lightmap
@@ -363,17 +471,12 @@ textures/exx/floor-crete01-phoenix
 textures/exx/floor-crete01-phoenixb
 {
     qer_editorimage textures/exx/floor/floor_crete01_phoenixb.tga
-    
     q3map_bounceScale  0.5
     dpoffsetmapping - 2 match8 148
     dpglossintensitymod  1
     dpglossexponentmod  1
-
-
     {
         map textures/exx/floor/floor_crete01_phoenixb.tga
-        
-
     }
     {
         map $lightmap
@@ -385,17 +488,12 @@ textures/exx/floor-crete01-phoenixb
 textures/exx/floor-crete01b
 {
     qer_editorimage textures/exx/floor/floor_crete01b.tga
-    
     q3map_bounceScale  0.5
     dpoffsetmapping - 2 match8 48
     dpglossintensitymod  1
     dpglossexponentmod  1
-
-
     {
         map textures/exx/floor/floor_crete01b.tga
-        
-
     }
     {
         map $lightmap
@@ -406,6 +504,7 @@ textures/exx/floor-crete01b
 }
 textures/exx/floor-grate01
 {
+    dpshaderkillifcvar cl_cubemaps_extra >= 1
     qer_editorimage textures/exx/floor/floor_grate01.tga
     surfaceparm trans
     surfaceparm metalsteps
@@ -416,8 +515,54 @@ textures/exx/floor-grate01
     dpoffsetmapping - 2 match8 126
     dpglossintensitymod  3
     dpglossexponentmod  4
-
-
+    {
+        map textures/exx/floor/floor_grate01.tga
+        alphaFunc GT0
+    }
+    {
+        map $lightmap
+        rgbGen identity
+        tcGen lightmap
+        blendfunc filter
+    }
+}
+textures/exx/floor-grate01
+{
+    dpshaderkillifcvar cl_cubemaps_extra < 1
+    qer_editorimage textures/exx/floor/floor_grate01.tga
+    surfaceparm trans
+    surfaceparm metalsteps
+    q3map_bounceScale 0.75
+    surfaceparm alphashadow
+    surfaceparm nomarks
+    Cull None
+    dpoffsetmapping - 2 match8 126
+    dpglossintensitymod 3
+    dpglossexponentmod 4
+    dpreflectcube env/exomorph/exomorph
+    {
+        map textures/exx/floor/floor_grate01.tga
+        alphaFunc GT0
+    }
+    {
+        map $lightmap
+        rgbGen identity
+        tcGen lightmap
+        blendfunc filter
+    }
+}
+textures/exx/floor-grate01-cull
+{
+    dpshaderkillifcvar cl_cubemaps_extra >= 1
+    qer_editorimage textures/exx/floor/floor_grate01.tga
+    surfaceparm trans
+    surfaceparm metalsteps
+    q3map_bounceScale 0.75
+    surfaceparm alphashadow
+    surfaceparm nomarks
+    dpoffsetmapping - 2 match8 126
+    dpglossintensitymod 3
+    dpglossexponentmod 4
     {
         map textures/exx/floor/floor_grate01.tga
             alphaFunc GT0
@@ -431,6 +576,7 @@ textures/exx/floor-grate01
 }
 textures/exx/floor-grate01-cull
 {
+    dpshaderkillifcvar cl_cubemaps_extra < 1
     qer_editorimage textures/exx/floor/floor_grate01.tga
     surfaceparm trans
     surfaceparm metalsteps
@@ -440,8 +586,7 @@ textures/exx/floor-grate01-cull
     dpoffsetmapping - 2 match8 126
     dpglossintensitymod  3
     dpglossexponentmod  4
-
-
+    dpreflectcube env/exomorph/exomorph
     {
         map textures/exx/floor/floor_grate01.tga
             alphaFunc GT0
@@ -455,6 +600,31 @@ textures/exx/floor-grate01-cull
 }
 textures/exx/floor-grate02
 {
+    dpshaderkillifcvar cl_cubemaps_extra >= 1
+    qer_editorimage textures/exx/floor/floor_grate02.tga
+    surfaceparm trans
+    surfaceparm metalsteps
+    q3map_bounceScale 0.75
+    surfaceparm alphashadow
+    surfaceparm nomarks
+    Cull None
+    dpoffsetmapping - 2 match8 224
+    dpglossintensitymod 3
+    dpglossexponentmod 4
+    {
+        map textures/exx/floor/floor_grate02.tga
+        alphaFunc GT0
+    }
+    {
+        map $lightmap
+        rgbGen identity
+        tcGen lightmap
+        blendfunc filter
+    }
+}
+textures/exx/floor-grate02
+{
+    dpshaderkillifcvar cl_cubemaps_extra < 1
     qer_editorimage textures/exx/floor/floor_grate02.tga
     surfaceparm trans
     surfaceparm metalsteps
@@ -465,8 +635,30 @@ textures/exx/floor-grate02
     dpoffsetmapping - 2 match8 224
     dpglossintensitymod  3
     dpglossexponentmod  4
-
-
+    dpreflectcube env/exomorph/exomorph
+    {
+        map textures/exx/floor/floor_grate02.tga
+        alphaFunc GT0
+    }
+    {
+        map $lightmap
+        rgbGen identity
+        tcGen lightmap
+        blendfunc filter
+    }
+}
+textures/exx/floor-grate02-cull
+{
+    dpshaderkillifcvar cl_cubemaps_extra >= 1
+    qer_editorimage textures/exx/floor/floor_grate02.tga
+    surfaceparm trans
+    surfaceparm metalsteps
+    q3map_bounceScale 0.75
+    surfaceparm alphashadow
+    surfaceparm nomarks
+    dpoffsetmapping - 2 match8 224
+    dpglossintensitymod 3
+    dpglossexponentmod 4
     {
         map textures/exx/floor/floor_grate02.tga
             alphaFunc GT0
@@ -480,6 +672,7 @@ textures/exx/floor-grate02
 }
 textures/exx/floor-grate02-cull
 {
+    dpshaderkillifcvar cl_cubemaps_extra < 1
     qer_editorimage textures/exx/floor/floor_grate02.tga
     surfaceparm trans
     surfaceparm metalsteps
@@ -489,8 +682,7 @@ textures/exx/floor-grate02-cull
     dpoffsetmapping - 2 match8 224
     dpglossintensitymod  3
     dpglossexponentmod  4
-
-
+    dpreflectcube env/exomorph/exomorph
     {
         map textures/exx/floor/floor_grate02.tga
             alphaFunc GT0
@@ -504,6 +696,31 @@ textures/exx/floor-grate02-cull
 }
 textures/exx/floor-grate03
 {
+    dpshaderkillifcvar cl_cubemaps_extra >= 1
+    qer_editorimage textures/exx/floor/floor_grate03.tga
+    surfaceparm trans
+    surfaceparm metalsteps
+    q3map_bounceScale 0.75
+    surfaceparm alphashadow
+    surfaceparm nomarks
+    Cull None
+    dpoffsetmapping - 2 match8 223
+    dpglossintensitymod 3
+    dpglossexponentmod 4
+    {
+        map textures/exx/floor/floor_grate03.tga
+        alphaFunc GT0
+    }
+    {
+        map $lightmap
+        rgbGen identity
+        tcGen lightmap
+        blendfunc filter
+    }
+}
+textures/exx/floor-grate03
+{
+    dpshaderkillifcvar cl_cubemaps_extra < 1
     qer_editorimage textures/exx/floor/floor_grate03.tga
     surfaceparm trans
     surfaceparm metalsteps
@@ -514,8 +731,30 @@ textures/exx/floor-grate03
     dpoffsetmapping - 2 match8 223
     dpglossintensitymod  3
     dpglossexponentmod  4
-
-
+    dpreflectcube env/exomorph/exomorph
+    {
+        map textures/exx/floor/floor_grate03.tga
+        alphaFunc GT0
+    }
+    {
+        map $lightmap
+        rgbGen identity
+        tcGen lightmap
+        blendfunc filter
+    }
+}
+textures/exx/floor-grate03-cull
+{
+    dpshaderkillifcvar cl_cubemaps_extra >= 1
+    qer_editorimage textures/exx/floor/floor_grate03.tga
+    surfaceparm trans
+    surfaceparm metalsteps
+    q3map_bounceScale 0.75
+    surfaceparm alphashadow
+    surfaceparm nomarks
+    dpoffsetmapping - 2 match8 223
+    dpglossintensitymod 3
+    dpglossexponentmod 4
     {
         map textures/exx/floor/floor_grate03.tga
             alphaFunc GT0
@@ -529,6 +768,7 @@ textures/exx/floor-grate03
 }
 textures/exx/floor-grate03-cull
 {
+    dpshaderkillifcvar cl_cubemaps_extra < 1
     qer_editorimage textures/exx/floor/floor_grate03.tga
     surfaceparm trans
     surfaceparm metalsteps
@@ -538,8 +778,7 @@ textures/exx/floor-grate03-cull
     dpoffsetmapping - 2 match8 223
     dpglossintensitymod  3
     dpglossexponentmod  4
-
-
+    dpreflectcube env/exomorph/exomorph
     {
         map textures/exx/floor/floor_grate03.tga
             alphaFunc GT0
@@ -553,6 +792,31 @@ textures/exx/floor-grate03-cull
 }
 textures/exx/floor-grate04
 {
+    dpshaderkillifcvar cl_cubemaps_extra >= 1
+    qer_editorimage textures/exx/floor/floor_grate04.tga
+    surfaceparm trans
+    surfaceparm metalsteps
+    q3map_bounceScale 0.75
+    surfaceparm alphashadow
+    surfaceparm nomarks
+    Cull None
+    dpoffsetmapping - 2 match8 248
+    dpglossintensitymod 3
+    dpglossexponentmod 4
+    {
+        map textures/exx/floor/floor_grate04.tga
+        alphaFunc GT0
+    }
+    {
+        map $lightmap
+        rgbGen identity
+        tcGen lightmap
+        blendfunc filter
+    }
+}
+textures/exx/floor-grate04
+{
+    dpshaderkillifcvar cl_cubemaps_extra < 1
     qer_editorimage textures/exx/floor/floor_grate04.tga
     surfaceparm trans
     surfaceparm metalsteps
@@ -563,8 +827,7 @@ textures/exx/floor-grate04
     dpoffsetmapping - 2 match8 248
     dpglossintensitymod  3
     dpglossexponentmod  4
-
-
+    dpreflectcube env/exomorph/exomorph
     {
         map textures/exx/floor/floor_grate04.tga
             alphaFunc GT0
@@ -576,9 +839,9 @@ textures/exx/floor-grate04
         blendfunc filter
     }
 }
-
 textures/exx/floor-grate04-cull
 {
+    dpshaderkillifcvar cl_cubemaps_extra >= 1
     qer_editorimage textures/exx/floor/floor_grate04.tga
     surfaceparm trans
     surfaceparm metalsteps
@@ -588,8 +851,6 @@ textures/exx/floor-grate04-cull
     dpoffsetmapping - 2 match8 248
     dpglossintensitymod  3
     dpglossexponentmod  4
-
-
     {
         map textures/exx/floor/floor_grate04.tga
             alphaFunc GT0
@@ -601,23 +862,61 @@ textures/exx/floor-grate04-cull
         blendfunc filter
     }
 }
-
-
+textures/exx/floor-grate04-cull
+{
+    dpshaderkillifcvar cl_cubemaps_extra < 1
+    qer_editorimage textures/exx/floor/floor_grate04.tga
+    surfaceparm trans
+    surfaceparm metalsteps
+    q3map_bounceScale 0.75
+    surfaceparm alphashadow
+    surfaceparm nomarks
+    dpoffsetmapping - 2 match8 248
+    dpglossintensitymod 3
+    dpglossexponentmod 4
+    dpreflectcube env/exomorph/exomorph
+    {
+        map textures/exx/floor/floor_grate04.tga
+        alphaFunc GT0
+    }
+    {
+        map $lightmap
+        rgbGen identity
+        tcGen lightmap
+        blendfunc filter
+    }
+}
+textures/exx/floor-metal02
+{
+    dpshaderkillifcvar cl_cubemaps_extra >= 1
+    qer_editorimage textures/exx/floor/floor_metal02.tga
+    surfaceparm metalsteps
+    q3map_bounceScale 2
+    dpoffsetmapping - 2 match8 241
+    dpglossintensitymod 3
+    dpglossexponentmod 4
+    {
+        map textures/exx/floor/floor_metal02.tga
+    }
+    {
+        map $lightmap
+        rgbGen identity
+        tcGen lightmap
+        blendfunc filter
+    }
+}
 textures/exx/floor-metal02
 {
+    dpshaderkillifcvar cl_cubemaps_extra < 1
     qer_editorimage textures/exx/floor/floor_metal02.tga
-    
     surfaceparm metalsteps
     q3map_bounceScale  2
     dpoffsetmapping - 2 match8 241
     dpglossintensitymod  3
     dpglossexponentmod  4
-
-
+    dpreflectcube env/exomorph/exomorph
     {
         map textures/exx/floor/floor_metal02.tga
-        
-
     }
     {
         map $lightmap
@@ -628,18 +927,54 @@ textures/exx/floor-metal02
 }
 textures/exx/floor-panel01
 {
+    dpshaderkillifcvar cl_cubemaps_extra >= 1
     qer_editorimage textures/exx/floor/floor_panel01.tga
     surfaceparm metalsteps
     q3map_bounceScale  0.75
     dpoffsetmapping - 2 match8 172
     dpglossintensitymod  3
     dpglossexponentmod  4
-
-
     {
         map textures/exx/floor/floor_panel01.tga
-        
-
+    }
+    {
+        map $lightmap
+        rgbGen identity
+        tcGen lightmap
+        blendfunc filter
+    }
+}
+textures/exx/floor-panel01
+{
+    dpshaderkillifcvar cl_cubemaps_extra < 1
+    qer_editorimage textures/exx/floor/floor_panel01.tga
+    surfaceparm metalsteps
+    q3map_bounceScale 0.75
+    dpoffsetmapping - 2 match8 172
+    dpglossintensitymod 3
+    dpglossexponentmod 4
+    dpreflectcube env/exomorph/exomorph
+    {
+        map textures/exx/floor/floor_panel01.tga
+    }
+    {
+        map $lightmap
+        rgbGen identity
+        tcGen lightmap
+        blendfunc filter
+    }
+}
+textures/exx/floor-rnd01
+{
+    dpshaderkillifcvar cl_cubemaps_extra >= 1
+    qer_editorimage textures/exx/floor/floor_rnd01.tga
+    surfaceparm metalsteps
+    q3map_bounceScale 0.75
+    dpoffsetmapping - 2 match8 128
+    dpglossintensitymod 3
+    dpglossexponentmod 4
+    {
+        map textures/exx/floor/floor_rnd01.tga
     }
     {
         map $lightmap
@@ -650,19 +985,16 @@ textures/exx/floor-panel01
 }
 textures/exx/floor-rnd01
 {
+    dpshaderkillifcvar cl_cubemaps_extra < 1
     qer_editorimage textures/exx/floor/floor_rnd01.tga
     surfaceparm metalsteps
-    
     q3map_bounceScale  0.75
     dpoffsetmapping - 2 match8 128
     dpglossintensitymod  3
     dpglossexponentmod  4
-
-
+    dpreflectcube env/exomorph/exomorph
     {
         map textures/exx/floor/floor_rnd01.tga
-        
-
     }
     {
         map $lightmap
@@ -673,19 +1005,35 @@ textures/exx/floor-rnd01
 }
 textures/exx/floor-rnd02
 {
+    dpshaderkillifcvar cl_cubemaps_extra >= 1
+    qer_editorimage textures/exx/floor/floor_rnd02.tga
+    surfaceparm metalsteps
+    q3map_bounceScale 0.75
+    dpoffsetmapping - 2 match8 110
+    dpglossintensitymod 3
+    dpglossexponentmod 4
+    {
+        map textures/exx/floor/floor_rnd02.tga
+    }
+    {
+        map $lightmap
+        rgbGen identity
+        tcGen lightmap
+        blendfunc filter
+    }
+}
+textures/exx/floor-rnd02
+{
+    dpshaderkillifcvar cl_cubemaps_extra < 1
     qer_editorimage textures/exx/floor/floor_rnd02.tga
     surfaceparm metalsteps
-    
     q3map_bounceScale  0.75
     dpoffsetmapping - 2 match8 110
     dpglossintensitymod  3
     dpglossexponentmod  4
-
-
+    dpreflectcube env/exomorph/exomorph
     {
         map textures/exx/floor/floor_rnd02.tga
-        
-
     }
     {
         map $lightmap
@@ -696,19 +1044,35 @@ textures/exx/floor-rnd02
 }
 textures/exx/floor-simple05
 {
+    dpshaderkillifcvar cl_cubemaps_extra >= 1
+    qer_editorimage textures/exx/floor/floor_simple05.tga
+    surfaceparm metalsteps
+    q3map_bounceScale 0.75
+    dpoffsetmapping - 4 match8 32
+    dpglossintensitymod 3
+    dpglossexponentmod 4
+    {
+        map textures/exx/floor/floor_simple05.tga
+    }
+    {
+        map $lightmap
+        rgbGen identity
+        tcGen lightmap
+        blendfunc filter
+    }
+}
+textures/exx/floor-simple05
+{
+    dpshaderkillifcvar cl_cubemaps_extra < 1
     qer_editorimage textures/exx/floor/floor_simple05.tga
     surfaceparm metalsteps
-    
     q3map_bounceScale  0.75
     dpoffsetmapping - 4 match8 32
     dpglossintensitymod  3
     dpglossexponentmod  4
-
-
+    dpreflectcube env/exomorph/exomorph
     {
         map textures/exx/floor/floor_simple05.tga
-        
-
     }
     {
         map $lightmap
@@ -719,18 +1083,33 @@ textures/exx/floor-simple05
 }
 textures/exx/floor-simplines
 {
+    dpshaderkillifcvar cl_cubemaps_extra >= 1
+    qer_editorimage textures/exx/floor/floor_simplines.tga
+    q3map_bounceScale 0.75
+    dpoffsetmapping - 1 match8 244
+    dpglossintensitymod 3
+    dpglossexponentmod 4
+    {
+        map textures/exx/floor/floor_simplines.tga
+    }
+    {
+        map $lightmap
+        rgbGen identity
+        tcGen lightmap
+        blendfunc filter
+    }
+}
+textures/exx/floor-simplines
+{
+    dpshaderkillifcvar cl_cubemaps_extra < 1
     qer_editorimage textures/exx/floor/floor_simplines.tga
-    
     q3map_bounceScale  0.75
     dpoffsetmapping - 1 match8 244
     dpglossintensitymod  3
     dpglossexponentmod  4
-
-
+    dpreflectcube env/exomorph/exomorph
     {
         map textures/exx/floor/floor_simplines.tga
-        
-
     }
     {
         map $lightmap
@@ -741,19 +1120,35 @@ textures/exx/floor-simplines
 }
 textures/exx/floor-tile03
 {
+    dpshaderkillifcvar cl_cubemaps_extra >= 1
+    qer_editorimage textures/exx/floor/floor_tile03.tga
+    surfaceparm metalsteps
+    q3map_bounceScale 0.75
+    dpoffsetmapping - 2 match8 218
+    dpglossintensitymod 3
+    dpglossexponentmod 4
+    {
+        map textures/exx/floor/floor_tile03.tga
+    }
+    {
+        map $lightmap
+        rgbGen identity
+        tcGen lightmap
+        blendfunc filter
+    }
+}
+textures/exx/floor-tile03
+{
+    dpshaderkillifcvar cl_cubemaps_extra < 1
     qer_editorimage textures/exx/floor/floor_tile03.tga
     surfaceparm metalsteps
-    
     q3map_bounceScale  0.75
     dpoffsetmapping - 2 match8 218
     dpglossintensitymod  3
     dpglossexponentmod  4
-
-
+    dpreflectcube env/exomorph/exomorph
     {
         map textures/exx/floor/floor_tile03.tga
-        
-
     }
     {
         map $lightmap
@@ -764,19 +1159,35 @@ textures/exx/floor-tile03
 }
 textures/exx/floor-tread01
 {
+    dpshaderkillifcvar cl_cubemaps_extra >= 1
+    qer_editorimage textures/exx/floor/floor_tread01.tga
+    surfaceparm metalsteps
+    q3map_bounceScale 0.75
+    dpoffsetmapping - 1 match8 221
+    dpglossintensitymod 3
+    dpglossexponentmod 4
+    {
+        map textures/exx/floor/floor_tread01.tga
+    }
+    {
+        map $lightmap
+        rgbGen identity
+        tcGen lightmap
+        blendfunc filter
+    }
+}
+textures/exx/floor-tread01
+{
+    dpshaderkillifcvar cl_cubemaps_extra < 1
     qer_editorimage textures/exx/floor/floor_tread01.tga
     surfaceparm metalsteps
-    
     q3map_bounceScale  0.75
     dpoffsetmapping - 1 match8 221
     dpglossintensitymod  3
     dpglossexponentmod  4
-
-
+    dpreflectcube env/exomorph/exomorph
     {
         map textures/exx/floor/floor_tread01.tga
-        
-
     }
     {
         map $lightmap
@@ -788,17 +1199,12 @@ textures/exx/floor-tread01
 textures/exx/floor-wrn01
 {
     qer_editorimage textures/exx/floor/floor_wrn01.tga
-    
     q3map_bounceScale  0.75
     dpoffsetmapping - 2 match8 46
     dpglossintensitymod  3
     dpglossexponentmod  4
-
-
     {
         map textures/exx/floor/floor_wrn01.tga
-        
-
     }
     {
         map $lightmap
@@ -807,21 +1213,15 @@ textures/exx/floor-wrn01
         blendfunc filter
     }
 }
-
 textures/exx/floor-wrn01-blue
 {
     qer_editorimage textures/exx/floor/floor_wrn01-blue.tga
-    
     q3map_bounceScale  0.75
     dpoffsetmapping - 2 match8 46
     dpglossintensitymod  3
     dpglossexponentmod  4
-
-
     {
         map textures/exx/floor/floor_wrn01-blue.tga
-        
-
     }
     {
         map $lightmap
@@ -830,21 +1230,15 @@ textures/exx/floor-wrn01-blue
         blendfunc filter
     }
 }
-
 textures/exx/floor-wrn01-red
 {
     qer_editorimage textures/exx/floor/floor_wrn01-red.tga
-    
     q3map_bounceScale  0.75
     dpoffsetmapping - 2 match8 46
     dpglossintensitymod  3
     dpglossexponentmod  4
-
-
     {
         map textures/exx/floor/floor_wrn01-red.tga
-        
-
     }
     {
         map $lightmap
@@ -853,21 +1247,15 @@ textures/exx/floor-wrn01-red
         blendfunc filter
     }
 }
-
 textures/exx/floor-wrn01-purple
 {
     qer_editorimage textures/exx/floor/floor_wrn01-purple.tga
-    
     q3map_bounceScale  0.75
     dpoffsetmapping - 2 match8 46
     dpglossintensitymod  3
     dpglossexponentmod  4
-
-
     {
         map textures/exx/floor/floor_wrn01-purple.tga
-        
-
     }
     {
         map $lightmap
@@ -876,20 +1264,55 @@ textures/exx/floor-wrn01-purple
         blendfunc filter
     }
 }
-
 textures/exx/light-panel01
 {
+    dpshaderkillifcvar cl_cubemaps_extra >= 1
+    qer_editorimage textures/exx/light/light_panel01.tga
+    q3map_bounceScale 0.75
+    dpoffsetmapping - 2 match8 79
+    dpglossintensitymod 3
+    dpglossexponentmod 4
+    {
+        map textures/exx/light/light_panel01.tga
+    }
+    {
+        map $lightmap
+        rgbGen identity
+        tcGen lightmap
+        blendfunc filter
+    }
+}
+textures/exx/light-panel01
+{
+    dpshaderkillifcvar cl_cubemaps_extra < 1
+    qer_editorimage textures/exx/light/light_panel01.tga
+    q3map_bounceScale 0.75
+    dpoffsetmapping - 2 match8 79
+    dpglossintensitymod 3
+    dpglossexponentmod 4
+    dpreflectcube env/exomorph/exomorph
+    {
+        map textures/exx/light/light_panel01.tga
+    }
+    {
+        map $lightmap
+        rgbGen identity
+        tcGen lightmap
+        blendfunc filter
+    }
+}
+textures/exx/light-panel01-surfacelight
+{
+    dpshaderkillifcvar cl_cubemaps_extra >= 1
     qer_editorimage textures/exx/light/light_panel01.tga
-    
     q3map_bounceScale  0.75
     dpoffsetmapping - 2 match8 79
     dpglossintensitymod  3
     dpglossexponentmod  4
-
+    q3map_surfacelight 2500
+    q3map_lightSubdivide 64
     {
         map textures/exx/light/light_panel01.tga
-        
-
     }
     {
         map $lightmap
@@ -900,20 +1323,17 @@ textures/exx/light-panel01
 }
 textures/exx/light-panel01-surfacelight
 {
+    dpshaderkillifcvar cl_cubemaps_extra < 1
     qer_editorimage textures/exx/light/light_panel01.tga
-    
     q3map_bounceScale  0.75
     dpoffsetmapping - 2 match8 79
     dpglossintensitymod  3
     dpglossexponentmod  4
-
     q3map_surfacelight 2500
     q3map_lightSubdivide 64
-
+    dpreflectcube env/exomorph/exomorph
     {
         map textures/exx/light/light_panel01.tga
-        
-
     }
     {
         map $lightmap
@@ -924,17 +1344,53 @@ textures/exx/light-panel01-surfacelight
 }
 textures/exx/light-u201
 {
+    dpshaderkillifcvar cl_cubemaps_extra >= 1
+    qer_editorimage textures/exx/light/light_u201.tga
+    q3map_bounceScale 0.75
+    dpoffsetmapping - 2 match8 76
+    dpglossintensitymod 3
+    dpglossexponentmod 4
+    {
+        map textures/exx/light/light_u201.tga
+    }
+    {
+        map $lightmap
+        rgbGen identity
+        tcGen lightmap
+        blendfunc filter
+    }
+}
+textures/exx/light-u201
+{
+    dpshaderkillifcvar cl_cubemaps_extra < 1
+    qer_editorimage textures/exx/light/light_u201.tga
+    q3map_bounceScale 0.75
+    dpoffsetmapping - 2 match8 76
+    dpglossintensitymod 3
+    dpglossexponentmod 4
+    dpreflectcube env/exomorph/exomorph
+    {
+        map textures/exx/light/light_u201.tga
+    }
+    {
+        map $lightmap
+        rgbGen identity
+        tcGen lightmap
+        blendfunc filter
+    }
+}
+textures/exx/light-u201-surfacelight
+{
+    dpshaderkillifcvar cl_cubemaps_extra >= 1
     qer_editorimage textures/exx/light/light_u201.tga
-    
     q3map_bounceScale  0.75
     dpoffsetmapping - 2 match8 76
     dpglossintensitymod  3
     dpglossexponentmod  4
-
+    q3map_surfacelight 2500
+    q3map_lightSubdivide 64
     {
         map textures/exx/light/light_u201.tga
-        
-
     }
     {
         map $lightmap
@@ -945,20 +1401,17 @@ textures/exx/light-u201
 }
 textures/exx/light-u201-surfacelight
 {
+    dpshaderkillifcvar cl_cubemaps_extra < 1
     qer_editorimage textures/exx/light/light_u201.tga
-    
     q3map_bounceScale  0.75
     dpoffsetmapping - 2 match8 76
     dpglossintensitymod  3
     dpglossexponentmod  4
-
     q3map_surfacelight 2500
     q3map_lightSubdivide 64
-
+    dpreflectcube env/exomorph/exomorph
     {
         map textures/exx/light/light_u201.tga
-        
-
     }
     {
         map $lightmap
@@ -969,21 +1422,73 @@ textures/exx/light-u201-surfacelight
 }
 textures/exx/panel-grate01
 {
+    dpshaderkillifcvar cl_cubemaps_extra >= 1
+    qer_editorimage textures/exx/panel/panel_grate01.tga
+    surfaceparm metalsteps
+    q3map_bounceScale 2
+    dpoffsetmapping - 2
+    dpglossintensitymod 3
+    dpglossexponentmod 4
+    surfaceparm nomarks
+    surfaceparm trans
+    surfaceparm alphashadow
+    cull none
+    nopicmip 
+    nomipmaps 
+    {
+        map textures/exx/panel/panel_grate01.tga
+        alphaFunc GT0
+        rgbgen vertex
+    }
+    {
+        map $lightmap
+        rgbGen identity
+        tcGen lightmap
+        blendfunc filter
+    }
+}
+textures/exx/panel-grate01
+{
+    dpshaderkillifcvar cl_cubemaps_extra < 1
     qer_editorimage textures/exx/panel/panel_grate01.tga
-    
     surfaceparm metalsteps
     q3map_bounceScale  2
     dpoffsetmapping - 2
     dpglossintensitymod  3
     dpglossexponentmod  4
-
     surfaceparm nomarks
     surfaceparm trans
     surfaceparm alphashadow
-
     cull none
     nopicmip
     nomipmaps
+    dpreflectcube env/exomorph/exomorph
+    {
+        map textures/exx/panel/panel_grate01.tga
+        alphaFunc GT0
+        rgbgen vertex
+    }
+    {
+        map $lightmap
+        rgbGen identity
+        tcGen lightmap
+        blendfunc filter
+    }
+}
+textures/exx/panel-grate01-cull
+{
+    dpshaderkillifcvar cl_cubemaps_extra >= 1
+    qer_editorimage textures/exx/panel/panel_grate01.tga
+    surfaceparm metalsteps
+    q3map_bounceScale 2
+    dpoffsetmapping - 2
+    dpglossintensitymod 3
+    dpglossexponentmod 4
+    surfaceparm nomarks
+    surfaceparm trans
+    surfaceparm alphashadow
+    nopicmip 
+    nomipmaps 
     {
         map textures/exx/panel/panel_grate01.tga
         alphaFunc GT0
@@ -998,20 +1503,19 @@ textures/exx/panel-grate01
 }
 textures/exx/panel-grate01-cull
 {
+    dpshaderkillifcvar cl_cubemaps_extra < 1
     qer_editorimage textures/exx/panel/panel_grate01.tga
-    
     surfaceparm metalsteps
     q3map_bounceScale  2
     dpoffsetmapping - 2
     dpglossintensitymod  3
     dpglossexponentmod  4
-
     surfaceparm nomarks
     surfaceparm trans
     surfaceparm alphashadow
-
     nopicmip
     nomipmaps
+    dpreflectcube env/exomorph/exomorph
     {
         map textures/exx/panel/panel_grate01.tga
         alphaFunc GT0
@@ -1026,19 +1530,35 @@ textures/exx/panel-grate01-cull
 }
 textures/exx/panel-metal01
 {
+    dpshaderkillifcvar cl_cubemaps_extra >= 1
+    qer_editorimage textures/exx/panel/panel_metal01.tga
+    surfaceparm metalsteps
+    q3map_bounceScale 2
+    dpoffsetmapping - 2 match8 101
+    dpglossintensitymod 3
+    dpglossexponentmod 4
+    {
+        map textures/exx/panel/panel_metal01.tga
+    }
+    {
+        map $lightmap
+        rgbGen identity
+        tcGen lightmap
+        blendfunc filter
+    }
+}
+textures/exx/panel-metal01
+{
+    dpshaderkillifcvar cl_cubemaps_extra < 1
     qer_editorimage textures/exx/panel/panel_metal01.tga
-    
     surfaceparm metalsteps
     q3map_bounceScale  2
     dpoffsetmapping - 2 match8 101
     dpglossintensitymod  3
     dpglossexponentmod  4
-
-
+    dpreflectcube env/exomorph/exomorph
     {
         map textures/exx/panel/panel_metal01.tga
-        
-
     }
     {
         map $lightmap
@@ -1049,19 +1569,35 @@ textures/exx/panel-metal01
 }
 textures/exx/panel-metal01b
 {
+    dpshaderkillifcvar cl_cubemaps_extra >= 1
+    qer_editorimage textures/exx/panel/panel_metal01b.tga
+    surfaceparm metalsteps
+    q3map_bounceScale 2
+    dpoffsetmapping - 2 match8 101
+    dpglossintensitymod 3
+    dpglossexponentmod 4
+    {
+        map textures/exx/panel/panel_metal01b.tga
+    }
+    {
+        map $lightmap
+        rgbGen identity
+        tcGen lightmap
+        blendfunc filter
+    }
+}
+textures/exx/panel-metal01b
+{
+    dpshaderkillifcvar cl_cubemaps_extra < 1
     qer_editorimage textures/exx/panel/panel_metal01b.tga
-    
     surfaceparm metalsteps
     q3map_bounceScale  2
     dpoffsetmapping - 2 match8 101
     dpglossintensitymod  3
     dpglossexponentmod  4
-
-
+    dpreflectcube env/exomorph/exomorph
     {
         map textures/exx/panel/panel_metal01b.tga
-        
-
     }
     {
         map $lightmap
@@ -1072,19 +1608,35 @@ textures/exx/panel-metal01b
 }
 textures/exx/panel-metal01c
 {
+    dpshaderkillifcvar cl_cubemaps_extra >= 1
+    qer_editorimage textures/exx/panel/panel_metal01c.tga
+    surfaceparm metalsteps
+    q3map_bounceScale 2
+    dpoffsetmapping - 2 match8 116
+    dpglossintensitymod 3
+    dpglossexponentmod 4
+    {
+        map textures/exx/panel/panel_metal01c.tga
+    }
+    {
+        map $lightmap
+        rgbGen identity
+        tcGen lightmap
+        blendfunc filter
+    }
+}
+textures/exx/panel-metal01c
+{
+    dpshaderkillifcvar cl_cubemaps_extra < 1
     qer_editorimage textures/exx/panel/panel_metal01c.tga
-    
     surfaceparm metalsteps
     q3map_bounceScale  2
     dpoffsetmapping - 2 match8 116
     dpglossintensitymod  3
     dpglossexponentmod  4
-
-
+    dpreflectcube env/exomorph/exomorph
     {
         map textures/exx/panel/panel_metal01c.tga
-        
-
     }
     {
         map $lightmap
@@ -1095,19 +1647,35 @@ textures/exx/panel-metal01c
 }
 textures/exx/panel-metal02
 {
+    dpshaderkillifcvar cl_cubemaps_extra >= 1
+    qer_editorimage textures/exx/panel/panel_metal02.tga
+    surfaceparm metalsteps
+    q3map_bounceScale 2
+    dpoffsetmapping - 2 match8 216
+    dpglossintensitymod 3
+    dpglossexponentmod 4
+    {
+        map textures/exx/panel/panel_metal02.tga
+    }
+    {
+        map $lightmap
+        rgbGen identity
+        tcGen lightmap
+        blendfunc filter
+    }
+}
+textures/exx/panel-metal02
+{
+    dpshaderkillifcvar cl_cubemaps_extra < 1
     qer_editorimage textures/exx/panel/panel_metal02.tga
-    
     surfaceparm metalsteps
     q3map_bounceScale  2
     dpoffsetmapping - 2 match8 216
     dpglossintensitymod  3
     dpglossexponentmod  4
-
-
+    dpreflectcube env/exomorph/exomorph
     {
         map textures/exx/panel/panel_metal02.tga
-        
-
     }
     {
         map $lightmap
@@ -1118,19 +1686,54 @@ textures/exx/panel-metal02
 }
 textures/exx/panel-metal03
 {
+    dpshaderkillifcvar cl_cubemaps_extra >= 1
     qer_editorimage textures/exx/panel/panel_metal03.tga
-    
     surfaceparm metalsteps
     q3map_bounceScale  2
     dpoffsetmapping - 2 match8 241
     dpglossintensitymod  3
     dpglossexponentmod  4
-
-
     {
         map textures/exx/panel/panel_metal03.tga
-        
-
+    }
+    {
+        map $lightmap
+        rgbGen identity
+        tcGen lightmap
+        blendfunc filter
+    }
+}
+textures/exx/panel-metal03
+{
+    dpshaderkillifcvar cl_cubemaps_extra < 1
+    qer_editorimage textures/exx/panel/panel_metal03.tga
+    surfaceparm metalsteps
+    q3map_bounceScale 2
+    dpoffsetmapping - 2 match8 241
+    dpglossintensitymod 3
+    dpglossexponentmod 4
+    dpreflectcube env/exomorph/exomorph
+    {
+        map textures/exx/panel/panel_metal03.tga
+    }
+    {
+        map $lightmap
+        rgbGen identity
+        tcGen lightmap
+        blendfunc filter
+    }
+}
+textures/exx/panel-metal04
+{
+    dpshaderkillifcvar cl_cubemaps_extra >= 1
+    qer_editorimage textures/exx/panel/panel_metal04.tga
+    surfaceparm metalsteps
+    q3map_bounceScale 2
+    dpoffsetmapping - 2 match8 229
+    dpglossintensitymod 3
+    dpglossexponentmod 4
+    {
+        map textures/exx/panel/panel_metal04.tga
     }
     {
         map $lightmap
@@ -1141,19 +1744,16 @@ textures/exx/panel-metal03
 }
 textures/exx/panel-metal04
 {
+    dpshaderkillifcvar cl_cubemaps_extra < 1
     qer_editorimage textures/exx/panel/panel_metal04.tga
-    
     surfaceparm metalsteps
     q3map_bounceScale  2
     dpoffsetmapping - 2 match8 229
     dpglossintensitymod  3
     dpglossexponentmod  4
-
-
+    dpreflectcube env/exomorph/exomorph
     {
         map textures/exx/panel/panel_metal04.tga
-        
-
     }
     {
         map $lightmap
@@ -1164,19 +1764,54 @@ textures/exx/panel-metal04
 }
 textures/exx/panel-metal05
 {
+    dpshaderkillifcvar cl_cubemaps_extra >= 1
     qer_editorimage textures/exx/panel/panel_metal05.tga
-    
     surfaceparm metalsteps
     q3map_bounceScale  2
     dpoffsetmapping - 2 match8 238
     dpglossintensitymod  3
     dpglossexponentmod  4
-
-
     {
         map textures/exx/panel/panel_metal05.tga
-        
-
+    }
+    {
+        map $lightmap
+        rgbGen identity
+        tcGen lightmap
+        blendfunc filter
+    }
+}
+textures/exx/panel-metal05
+{
+    dpshaderkillifcvar cl_cubemaps_extra < 1
+    qer_editorimage textures/exx/panel/panel_metal05.tga
+    surfaceparm metalsteps
+    q3map_bounceScale 2
+    dpoffsetmapping - 2 match8 238
+    dpglossintensitymod 3
+    dpglossexponentmod 4
+    dpreflectcube env/exomorph/exomorph
+    {
+        map textures/exx/panel/panel_metal05.tga
+    }
+    {
+        map $lightmap
+        rgbGen identity
+        tcGen lightmap
+        blendfunc filter
+    }
+}
+textures/exx/panel-metalbig04
+{
+    dpshaderkillifcvar cl_cubemaps_extra >= 1
+    qer_editorimage textures/exx/panel/panel_metalbig04.tga
+    surfaceparm metalsteps
+    q3map_bounceScale 2
+    dpoffsetmapping - 2 match8 165
+    dpglossintensitymod 3
+    dpglossexponentmod 4
+    {
+        map textures/exx/panel/panel_metalbig04.tga
     }
     {
         map $lightmap
@@ -1187,19 +1822,16 @@ textures/exx/panel-metal05
 }
 textures/exx/panel-metalbig04
 {
+    dpshaderkillifcvar cl_cubemaps_extra < 1
     qer_editorimage textures/exx/panel/panel_metalbig04.tga
-    
     surfaceparm metalsteps
     q3map_bounceScale  2
     dpoffsetmapping - 2 match8 165
     dpglossintensitymod  3
     dpglossexponentmod  4
-
-
+    dpreflectcube env/exomorph/exomorph
     {
         map textures/exx/panel/panel_metalbig04.tga
-        
-
     }
     {
         map $lightmap
@@ -1210,19 +1842,54 @@ textures/exx/panel-metalbig04
 }
 textures/exx/panel-metalbig04b
 {
+    dpshaderkillifcvar cl_cubemaps_extra >= 1
     qer_editorimage textures/exx/panel/panel_metalbig04b.tga
-    
     surfaceparm metalsteps
     q3map_bounceScale  2
     dpoffsetmapping - 2 match8 177
     dpglossintensitymod  3
     dpglossexponentmod  4
-
-
     {
         map textures/exx/panel/panel_metalbig04b.tga
-        
-
+    }
+    {
+        map $lightmap
+        rgbGen identity
+        tcGen lightmap
+        blendfunc filter
+    }
+}
+textures/exx/panel-metalbig04b
+{
+    dpshaderkillifcvar cl_cubemaps_extra < 1
+    qer_editorimage textures/exx/panel/panel_metalbig04b.tga
+    surfaceparm metalsteps
+    q3map_bounceScale 2
+    dpoffsetmapping - 2 match8 177
+    dpglossintensitymod 3
+    dpglossexponentmod 4
+    dpreflectcube env/exomorph/exomorph
+    {
+        map textures/exx/panel/panel_metalbig04b.tga
+    }
+    {
+        map $lightmap
+        rgbGen identity
+        tcGen lightmap
+        blendfunc filter
+    }
+}
+textures/exx/panel-q201
+{
+    dpshaderkillifcvar cl_cubemaps_extra >= 1
+    qer_editorimage textures/exx/panel/panel_q201.tga
+    surfaceparm metalsteps
+    q3map_bounceScale 0.75
+    dpoffsetmapping - 2 match8 138
+    dpglossintensitymod 3
+    dpglossexponentmod 4
+    {
+        map textures/exx/panel/panel_q201.tga
     }
     {
         map $lightmap
@@ -1233,19 +1900,16 @@ textures/exx/panel-metalbig04b
 }
 textures/exx/panel-q201
 {
+    dpshaderkillifcvar cl_cubemaps_extra < 1
     qer_editorimage textures/exx/panel/panel_q201.tga
     surfaceparm metalsteps
-    
     q3map_bounceScale  0.75
     dpoffsetmapping - 2 match8 138
     dpglossintensitymod  3
     dpglossexponentmod  4
-
-
+    dpreflectcube env/exomorph/exomorph
     {
         map textures/exx/panel/panel_q201.tga
-        
-
     }
     {
         map $lightmap
@@ -1256,19 +1920,35 @@ textures/exx/panel-q201
 }
 textures/exx/panel-q201b
 {
+    dpshaderkillifcvar cl_cubemaps_extra >= 1
+    qer_editorimage textures/exx/panel/panel_q201b.tga
+    surfaceparm metalsteps
+    q3map_bounceScale 0.75
+    dpoffsetmapping - 2 match8 81
+    dpglossintensitymod 3
+    dpglossexponentmod 4
+    {
+        map textures/exx/panel/panel_q201b.tga
+    }
+    {
+        map $lightmap
+        rgbGen identity
+        tcGen lightmap
+        blendfunc filter
+    }
+}
+textures/exx/panel-q201b
+{
+    dpshaderkillifcvar cl_cubemaps_extra < 1
     qer_editorimage textures/exx/panel/panel_q201b.tga
-    
     surfaceparm metalsteps
     q3map_bounceScale  0.75
     dpoffsetmapping - 2 match8 81
     dpglossintensitymod  3
     dpglossexponentmod  4
-
-
+    dpreflectcube env/exomorph/exomorph
     {
         map textures/exx/panel/panel_q201b.tga
-        
-
     }
     {
         map $lightmap
@@ -1279,19 +1959,35 @@ textures/exx/panel-q201b
 }
 textures/exx/panel-q201c
 {
+    dpshaderkillifcvar cl_cubemaps_extra >= 1
+    qer_editorimage textures/exx/panel/panel_q201c.tga
+    surfaceparm metalsteps
+    q3map_bounceScale 0.75
+    dpoffsetmapping - 2 match8 98
+    dpglossintensitymod 3
+    dpglossexponentmod 4
+    {
+        map textures/exx/panel/panel_q201c.tga
+    }
+    {
+        map $lightmap
+        rgbGen identity
+        tcGen lightmap
+        blendfunc filter
+    }
+}
+textures/exx/panel-q201c
+{
+    dpshaderkillifcvar cl_cubemaps_extra < 1
     qer_editorimage textures/exx/panel/panel_q201c.tga
-    
     surfaceparm metalsteps
     q3map_bounceScale  0.75
     dpoffsetmapping - 2 match8 98
     dpglossintensitymod  3
     dpglossexponentmod  4
-
-
+    dpreflectcube env/exomorph/exomorph
     {
         map textures/exx/panel/panel_q201c.tga
-        
-
     }
     {
         map $lightmap
@@ -1302,19 +1998,35 @@ textures/exx/panel-q201c
 }
 textures/exx/panel-q201d
 {
+    dpshaderkillifcvar cl_cubemaps_extra >= 1
+    qer_editorimage textures/exx/panel/panel_q201d.tga
+    surfaceparm metalsteps
+    q3map_bounceScale 0.75
+    dpoffsetmapping - 2 match8 189
+    dpglossintensitymod 3
+    dpglossexponentmod 4
+    {
+        map textures/exx/panel/panel_q201d.tga
+    }
+    {
+        map $lightmap
+        rgbGen identity
+        tcGen lightmap
+        blendfunc filter
+    }
+}
+textures/exx/panel-q201d
+{
+    dpshaderkillifcvar cl_cubemaps_extra < 1
     qer_editorimage textures/exx/panel/panel_q201d.tga
-    
     surfaceparm metalsteps
     q3map_bounceScale  0.75
     dpoffsetmapping - 2 match8 189
     dpglossintensitymod  3
     dpglossexponentmod  4
-
-
+    dpreflectcube env/exomorph/exomorph
     {
         map textures/exx/panel/panel_q201d.tga
-        
-
     }
     {
         map $lightmap
@@ -1325,19 +2037,54 @@ textures/exx/panel-q201d
 }
 textures/exx/panel-q201e
 {
+    dpshaderkillifcvar cl_cubemaps_extra >= 1
     qer_editorimage textures/exx/panel/panel_q201e.tga
-    
     surfaceparm metalsteps
     q3map_bounceScale  0.75
     dpoffsetmapping - 2 match8 132
     dpglossintensitymod  3
     dpglossexponentmod  4
-
-
     {
         map textures/exx/panel/panel_q201e.tga
-        
-
+    }
+    {
+        map $lightmap
+        rgbGen identity
+        tcGen lightmap
+        blendfunc filter
+    }
+}
+textures/exx/panel-q201e
+{
+    dpshaderkillifcvar cl_cubemaps_extra < 1
+    qer_editorimage textures/exx/panel/panel_q201e.tga
+    surfaceparm metalsteps
+    q3map_bounceScale 0.75
+    dpoffsetmapping - 2 match8 132
+    dpglossintensitymod 3
+    dpglossexponentmod 4
+    dpreflectcube env/exomorph/exomorph
+    {
+        map textures/exx/panel/panel_q201e.tga
+    }
+    {
+        map $lightmap
+        rgbGen identity
+        tcGen lightmap
+        blendfunc filter
+    }
+}
+textures/exx/panel-rs01
+{
+    dpshaderkillifcvar cl_cubemaps_extra >= 1
+    qer_editorimage textures/exx/panel/panel_rs01.tga
+    surfaceparm metalsteps
+    q3map_bounceScale 0.75
+    dpoffsetmapping - 2 match8 178
+    dpglossintensitymod 3
+    dpglossexponentmod 4
+    {
+        map textures/exx/panel/panel_rs01.tga
     }
     {
         map $lightmap
@@ -1348,19 +2095,16 @@ textures/exx/panel-q201e
 }
 textures/exx/panel-rs01
 {
+    dpshaderkillifcvar cl_cubemaps_extra < 1
     qer_editorimage textures/exx/panel/panel_rs01.tga
-    
     surfaceparm metalsteps
     q3map_bounceScale  0.75
     dpoffsetmapping - 2 match8 178
     dpglossintensitymod  3
     dpglossexponentmod  4
-
-
+    dpreflectcube env/exomorph/exomorph
     {
         map textures/exx/panel/panel_rs01.tga
-        
-
     }
     {
         map $lightmap
@@ -1371,19 +2115,35 @@ textures/exx/panel-rs01
 }
 textures/exx/trim-01
 {
+    dpshaderkillifcvar cl_cubemaps_extra >= 1
+    qer_editorimage textures/exx/trim/trim_01.tga
+    surfaceparm metalsteps
+    q3map_bounceScale 1.5
+    dpoffsetmapping - 2 match8 169
+    dpglossintensitymod 3
+    dpglossexponentmod 4
+    {
+        map textures/exx/trim/trim_01.tga
+    }
+    {
+        map $lightmap
+        rgbGen identity
+        tcGen lightmap
+        blendfunc filter
+    }
+}
+textures/exx/trim-01
+{
+    dpshaderkillifcvar cl_cubemaps_extra < 1
     qer_editorimage textures/exx/trim/trim_01.tga
-    
     surfaceparm metalsteps
     q3map_bounceScale  1.5
     dpoffsetmapping - 2 match8 169
     dpglossintensitymod  3
     dpglossexponentmod  4
-
-
+    dpreflectcube env/exomorph/exomorph
     {
         map textures/exx/trim/trim_01.tga
-        
-
     }
     {
         map $lightmap
@@ -1394,19 +2154,36 @@ textures/exx/trim-01
 }
 textures/exx/trim-baseboard
 {
+    dpshaderkillifcvar cl_cubemaps_extra >= 1
+    qer_editorimage textures/exx/trim/trim_baseboard.tga
+    surfaceparm metalsteps
+    q3map_bounceScale 1.5
+    dpoffsetmapping - 2 match8 181
+    dpglossintensitymod 3
+    dpglossexponentmod 4
+    {
+        map textures/exx/trim/trim_baseboard.tga
+    }
+    {
+        map $lightmap
+        rgbGen identity
+        tcGen lightmap
+        blendfunc filter
+    }
+}
+textures/exx/trim-baseboard
+{
+    dpshaderkillifcvar cl_cubemaps_extra < 1
     qer_editorimage textures/exx/trim/trim_baseboard.tga
-    
     surfaceparm metalsteps
     q3map_bounceScale  1.5
     dpoffsetmapping - 2 match8 181
     dpglossintensitymod  3
     dpglossexponentmod  4
-
-
+    dpreflectcube env/exomorph/exomorph
     {
         map textures/exx/trim/trim_baseboard.tga        
     }
-
     {
         map $lightmap
         rgbGen identity
@@ -1416,19 +2193,35 @@ textures/exx/trim-baseboard
 }
 textures/exx/trim-baseboard02
 {
+    dpshaderkillifcvar cl_cubemaps_extra >= 1
+    qer_editorimage textures/exx/trim/trim_baseboard02.tga
+    surfaceparm metalsteps
+    q3map_bounceScale 1.5
+    dpoffsetmapping - 2 match8 162
+    dpglossintensitymod 3
+    dpglossexponentmod 4
+    {
+        map textures/exx/trim/trim_baseboard02.tga
+    }
+    {
+        map $lightmap
+        rgbGen identity
+        tcGen lightmap
+        blendfunc filter
+    }
+}
+textures/exx/trim-baseboard02
+{
+    dpshaderkillifcvar cl_cubemaps_extra < 1
     qer_editorimage textures/exx/trim/trim_baseboard02.tga
-    
     surfaceparm metalsteps
     q3map_bounceScale  1.5
     dpoffsetmapping - 2 match8 162
     dpglossintensitymod  3
     dpglossexponentmod  4
-
-
+    dpreflectcube env/exomorph/exomorph

History

#3 Updated by tZork about 2 years ago

If its so subtle, is it really worth another large texture per material?

#4 Updated by MirceaKitsune about 2 years ago

  • Assignee set to tZork

tZork wrote:

If its so subtle, is it really worth another large texture per material?

It's not that subtle when moving, but in still images it's harder to see. If anyone wants I can tweak their intensity, but they should be tested in-game first (not home so I can't make a video now).

#5 Updated by MirceaKitsune over 1 year ago

  • % Done changed from 0 to 100

Bump. Last time I spoke with divVerent I remember this was good to go. The branch also contains his shader script which allows reflections to be toggled by cvar as requested, meaning they won't bother anyone who wants them off. Can this be merged?

#6 Updated by Samual over 1 year ago

  • Assignee changed from tZork to divVerent
  • Priority changed from Normal to Low
  • Target version set to 0.8
  • % Done changed from 100 to 0

#7 Updated by Mario 2 months ago

  • Status changed from New to Feedback
  • Priority changed from Low to Normal

After almost 2 years, is it not time to do something with these? They look good to me in those screenshots.

Also available in: Atom PDF