summaryrefslogtreecommitdiff
path: root/assets
diff options
context:
space:
mode:
authorIronClawTrem <louie.nutman@gmail.com>2020-02-16 03:40:06 +0000
committerIronClawTrem <louie.nutman@gmail.com>2020-02-16 03:40:06 +0000
commit425decdf7e9284d15aa726e3ae96b9942fb0e3ea (patch)
tree6c0dd7edfefff1be7b9e75fe0b3a0a85fe1595f3 /assets
parentccb0b2e4d6674a7a00c9bf491f08fc73b6898c54 (diff)
create tremded branch
Diffstat (limited to 'assets')
-rw-r--r--assets/armour/bsuit.armour19
-rw-r--r--assets/armour/helmet.armour19
-rw-r--r--assets/armour/larmour.armour95
-rw-r--r--assets/configs/buildables/acid_tube.cfg5
-rw-r--r--assets/configs/buildables/arm.cfg5
-rw-r--r--assets/configs/buildables/barricade.cfg5
-rw-r--r--assets/configs/buildables/booster.cfg5
-rw-r--r--assets/configs/buildables/dcc.cfg5
-rw-r--r--assets/configs/buildables/eggpod.cfg5
-rw-r--r--assets/configs/buildables/hive.cfg5
-rw-r--r--assets/configs/buildables/hovel.cfg5
-rw-r--r--assets/configs/buildables/medistat.cfg5
-rw-r--r--assets/configs/buildables/mgturret.cfg7
-rw-r--r--assets/configs/buildables/overmind.cfg5
-rw-r--r--assets/configs/buildables/reactor.cfg5
-rw-r--r--assets/configs/buildables/repeater.cfg5
-rw-r--r--assets/configs/buildables/telenode.cfg5
-rw-r--r--assets/configs/buildables/tesla.cfg5
-rw-r--r--assets/configs/buildables/trapper.cfg5
-rw-r--r--assets/configs/classes/builder.cfg17
-rw-r--r--assets/configs/classes/builderupg.cfg17
-rw-r--r--assets/configs/classes/human_base.cfg17
-rw-r--r--assets/configs/classes/human_bsuit.cfg17
-rw-r--r--assets/configs/classes/level0.cfg17
-rw-r--r--assets/configs/classes/level1.cfg17
-rw-r--r--assets/configs/classes/level1upg.cfg17
-rw-r--r--assets/configs/classes/level2.cfg17
-rw-r--r--assets/configs/classes/level2upg.cfg17
-rw-r--r--assets/configs/classes/level3.cfg17
-rw-r--r--assets/configs/classes/level3upg.cfg17
-rw-r--r--assets/configs/classes/level4.cfg17
-rw-r--r--assets/configs/classes/spectator.cfg17
-rw-r--r--assets/models/buildables/acid_tube/animation.cfg15
-rw-r--r--assets/models/buildables/barricade/animation.cfg17
-rw-r--r--assets/models/buildables/medistat/animation.cfg18
-rw-r--r--assets/models/buildables/mgturret/animation.cfg15
-rw-r--r--assets/models/buildables/repeater/animation.cfg15
-rw-r--r--assets/models/buildables/tesla/animation.cfg15
-rw-r--r--assets/models/generic/sphere.md3bin0 -> 27748 bytes
-rw-r--r--assets/models/generic/sphericalCone240.md3bin0 -> 22012 bytes
-rw-r--r--assets/models/generic/sphericalCone64.md3bin0 -> 38172 bytes
-rw-r--r--assets/models/players/human_base/locdamage.cfg60
-rw-r--r--assets/models/players/human_bsuit/locdamage.cfg29
-rw-r--r--assets/models/players/level1/animation.cfg48
-rw-r--r--assets/models/weapons/abuild/weapon.cfg11
-rw-r--r--assets/models/weapons/abuildupg/weapon.cfg19
-rw-r--r--assets/models/weapons/grenade/weapon.cfg13
-rw-r--r--assets/models/weapons/lcannon/weapon.cfg33
-rw-r--r--assets/models/weapons/level0/weapon.cfg9
-rw-r--r--assets/models/weapons/level1/weapon.cfg11
-rw-r--r--assets/models/weapons/level1upg/weapon.cfg17
-rw-r--r--assets/models/weapons/level2/weapon.cfg11
-rw-r--r--assets/models/weapons/level2upg/weapon.cfg18
-rw-r--r--assets/models/weapons/level3/weapon.cfg16
-rw-r--r--assets/models/weapons/level3upg/weapon.cfg28
-rw-r--r--assets/models/weapons/level4/weapon.cfg11
-rw-r--r--assets/models/weapons/mdriver/weapon.cfg12
-rw-r--r--assets/models/weapons/prifle/weapon.cfg17
-rw-r--r--assets/models/weapons/psaw/weapon.cfg13
-rw-r--r--assets/music/Tremulous Heartbeat.midbin0 -> 1800 bytes
-rw-r--r--assets/scripts/binary.shader16394
-rw-r--r--assets/scripts/core.shader209
-rw-r--r--assets/scripts/crosshairs.shader96
-rw-r--r--assets/scripts/mdriver.trail10
-rw-r--r--assets/scripts/misc.particle378
-rw-r--r--assets/scripts/ui.shader19
-rw-r--r--assets/scripts/weapons.particle890
-rw-r--r--assets/scripts/weapons.shader93
-rw-r--r--assets/sound/buildables/barricade/sound.cfg14
-rw-r--r--assets/ui/assets/alien/buildstat.cfg37
-rw-r--r--assets/ui/assets/console1.tgabin0 -> 121118 bytes
-rw-r--r--assets/ui/assets/console2.jpgbin0 -> 36364 bytes
-rw-r--r--assets/ui/assets/human/buildstat.cfg39
-rw-r--r--assets/ui/connect.menu14
-rw-r--r--assets/ui/createfavorite.menu115
-rw-r--r--assets/ui/createserver.menu499
-rw-r--r--assets/ui/demo.menu108
-rw-r--r--assets/ui/demo_error.menu101
-rw-r--r--assets/ui/download.menu167
-rw-r--r--assets/ui/drop.menu122
-rw-r--r--assets/ui/error.menu102
-rw-r--r--assets/ui/findplayer.menu173
-rw-r--r--assets/ui/folders.menu121
-rw-r--r--assets/ui/help.txt135
-rw-r--r--assets/ui/hud.txt12
-rw-r--r--assets/ui/ingame.menu140
-rw-r--r--assets/ui/ingame.txt9
-rw-r--r--assets/ui/ingame_game.menu862
-rw-r--r--assets/ui/ingame_help.menu88
-rw-r--r--assets/ui/ingame_leave.menu209
-rw-r--r--assets/ui/ingame_options.menu2577
-rw-r--r--assets/ui/install_update.menu145
-rw-r--r--assets/ui/joinserver.menu769
-rw-r--r--assets/ui/loading.menu223
-rw-r--r--assets/ui/main.menu228
-rw-r--r--assets/ui/menu_bool.h10
-rw-r--r--assets/ui/menudef.h225
-rw-r--r--assets/ui/menus.txt24
-rw-r--r--assets/ui/mod.menu108
-rw-r--r--assets/ui/news.menu102
-rw-r--r--assets/ui/options.menu310
-rw-r--r--assets/ui/password.menu85
-rw-r--r--assets/ui/quit.menu99
-rw-r--r--assets/ui/quitcredit.menu410
-rw-r--r--assets/ui/say.menu180
-rw-r--r--assets/ui/serverinfo.menu112
-rw-r--r--assets/ui/teamscore.menu386
-rw-r--r--assets/ui/tremulous.txt20
-rw-r--r--assets/ui/tremulous_alien_builder_hud.menu42
-rw-r--r--assets/ui/tremulous_alien_common_hud.h257
-rw-r--r--assets/ui/tremulous_alien_general_hud.menu30
-rw-r--r--assets/ui/tremulous_alienbuild.menu136
-rw-r--r--assets/ui/tremulous_alienclass.menu157
-rw-r--r--assets/ui/tremulous_aliendialogs.menu97
-rw-r--r--assets/ui/tremulous_alienupgrade.menu136
-rw-r--r--assets/ui/tremulous_common_hud.h247
-rw-r--r--assets/ui/tremulous_default_hud.menu37
-rw-r--r--assets/ui/tremulous_dialogs.menu98
-rw-r--r--assets/ui/tremulous_human_hud.menu379
-rw-r--r--assets/ui/tremulous_humanarmoury.menu189
-rw-r--r--assets/ui/tremulous_humanbuild.menu135
-rw-r--r--assets/ui/tremulous_humandialogs.menu98
-rw-r--r--assets/ui/tremulous_humanitem.menu157
-rw-r--r--assets/ui/tremulous_spectator_hud.menu52
-rw-r--r--assets/ui/tremulous_teamselect.menu136
-rw-r--r--assets/ui/tremulous_voicecmd.menu140
126 files changed, 30599 insertions, 0 deletions
diff --git a/assets/armour/bsuit.armour b/assets/armour/bsuit.armour
new file mode 100644
index 0000000..c05a09d
--- /dev/null
+++ b/assets/armour/bsuit.armour
@@ -0,0 +1,19 @@
+
+{
+ name "bsuit body"
+ minHeight 0.0
+ maxHeight 0.8
+ minAngle 0
+ maxAngle 360
+ modifier 0.2
+}
+
+{
+ name "bsuit head"
+ minHeight 0.8
+ maxHeight 1.0
+ minAngle 0
+ maxAngle 360
+ modifier 0.27
+}
+
diff --git a/assets/armour/helmet.armour b/assets/armour/helmet.armour
new file mode 100644
index 0000000..f595bf2
--- /dev/null
+++ b/assets/armour/helmet.armour
@@ -0,0 +1,19 @@
+
+{
+ name "helmet"
+ minHeight 0.8
+ maxHeight 1.0
+ minAngle 0
+ maxAngle 360
+ modifier 0.4
+}
+
+{
+ name "helmet crouch"
+ minHeight 0.7
+ maxHeight 1.0
+ minAngle 0
+ maxAngle 360
+ modifier 0.4
+ crouch
+}
diff --git a/assets/armour/larmour.armour b/assets/armour/larmour.armour
new file mode 100644
index 0000000..5e313fa
--- /dev/null
+++ b/assets/armour/larmour.armour
@@ -0,0 +1,95 @@
+
+{
+ name "larmour chest"
+ minHeight 0.5
+ maxHeight 0.8
+ minAngle 310
+ maxAngle 50
+ modifier 0.35
+}
+
+{
+ name "larmour left arm"
+ minHeight 0.5
+ maxHeight 0.8
+ minAngle 50
+ maxAngle 130
+ modifier 0.3
+}
+
+{
+ name "larmour back"
+ minHeight 0.5
+ maxHeight 0.8
+ minAngle 130
+ maxAngle 230
+ modifier 0.4
+}
+
+{
+ name "larmour right arm"
+ minHeight 0.5
+ maxHeight 0.8
+ minAngle 230
+ maxAngle 310
+ modifier 0.3
+}
+
+{
+ name "larmour legs"
+ minHeight 0.0
+ maxHeight 0.5
+ minAngle 0
+ maxAngle 360
+ modifier 0.3
+}
+
+{
+ name "larmour chest crouch"
+ minHeight 0.3
+ maxHeight 0.7
+ minAngle 310
+ maxAngle 50
+ modifier 0.35
+ crouch
+}
+
+{
+ name "larmour left arm crouch"
+ minHeight 0.3
+ maxHeight 0.7
+ minAngle 50
+ maxAngle 130
+ modifier 0.3
+ crouch
+}
+
+{
+ name "larmour back crouch"
+ minHeight 0.3
+ maxHeight 0.7
+ minAngle 130
+ maxAngle 230
+ modifier 0.4
+ crouch
+}
+
+{
+ name "larmour right arm crouch"
+ minHeight 0.3
+ maxHeight 0.7
+ minAngle 230
+ maxAngle 310
+ modifier 0.3
+ crouch
+}
+
+{
+ name "larmour legs crouch"
+ minHeight 0.0
+ maxHeight 0.3
+ minAngle 0
+ maxAngle 360
+ modifier 0.3
+ crouch
+}
diff --git a/assets/configs/buildables/acid_tube.cfg b/assets/configs/buildables/acid_tube.cfg
new file mode 100644
index 0000000..e44ed48
--- /dev/null
+++ b/assets/configs/buildables/acid_tube.cfg
@@ -0,0 +1,5 @@
+model 0 models/buildables/acid_tube/acid_tube.md3
+modelScale 0.6
+mins -15 -15 -15
+maxs 15 15 15
+zOffset -8.5
diff --git a/assets/configs/buildables/arm.cfg b/assets/configs/buildables/arm.cfg
new file mode 100644
index 0000000..3e45fc2
--- /dev/null
+++ b/assets/configs/buildables/arm.cfg
@@ -0,0 +1,5 @@
+model 0 models/buildables/arm/arm.md3
+modelScale 1.0
+mins -40 -40 -13
+maxs 40 40 50
+zOffset -2.0
diff --git a/assets/configs/buildables/barricade.cfg b/assets/configs/buildables/barricade.cfg
new file mode 100644
index 0000000..5614647
--- /dev/null
+++ b/assets/configs/buildables/barricade.cfg
@@ -0,0 +1,5 @@
+model 0 models/buildables/barricade/barricade.md3
+modelScale 1.0
+mins -35 -35 -15
+maxs 35 35 60
+zOffset 0
diff --git a/assets/configs/buildables/booster.cfg b/assets/configs/buildables/booster.cfg
new file mode 100644
index 0000000..b0903df
--- /dev/null
+++ b/assets/configs/buildables/booster.cfg
@@ -0,0 +1,5 @@
+model 0 models/buildables/booster/booster.md3
+modelScale 1.0
+mins -26 -26 -9
+maxs 26 26 9
+zOffset 0
diff --git a/assets/configs/buildables/dcc.cfg b/assets/configs/buildables/dcc.cfg
new file mode 100644
index 0000000..932e302
--- /dev/null
+++ b/assets/configs/buildables/dcc.cfg
@@ -0,0 +1,5 @@
+model 0 models/buildables/dcc/dcc.md3
+modelScale 1.0
+mins -35 -35 -13
+maxs 35 35 47
+zOffset 0
diff --git a/assets/configs/buildables/eggpod.cfg b/assets/configs/buildables/eggpod.cfg
new file mode 100644
index 0000000..71cb6c7
--- /dev/null
+++ b/assets/configs/buildables/eggpod.cfg
@@ -0,0 +1,5 @@
+model 0 models/buildables/eggpod/eggpod.md3
+modelScale 1.0
+mins -15 -15 -15
+maxs 15 15 15
+zOffset 0
diff --git a/assets/configs/buildables/hive.cfg b/assets/configs/buildables/hive.cfg
new file mode 100644
index 0000000..bd427a2
--- /dev/null
+++ b/assets/configs/buildables/hive.cfg
@@ -0,0 +1,5 @@
+model 0 models/buildables/hive/hive.md3
+modelScale 1.0
+mins -20 -20 -20
+maxs 20 20 20
+zOffset -10
diff --git a/assets/configs/buildables/hovel.cfg b/assets/configs/buildables/hovel.cfg
new file mode 100644
index 0000000..5e2922c
--- /dev/null
+++ b/assets/configs/buildables/hovel.cfg
@@ -0,0 +1,5 @@
+model 0 models/buildables/hovel/hovel.md3
+modelScale 1.0
+mins -50 -50 -20
+maxs 50 50 20
+zOffset 0
diff --git a/assets/configs/buildables/medistat.cfg b/assets/configs/buildables/medistat.cfg
new file mode 100644
index 0000000..179a052
--- /dev/null
+++ b/assets/configs/buildables/medistat.cfg
@@ -0,0 +1,5 @@
+model 0 models/buildables/medistat/medistat.md3
+modelScale 1.0
+mins -35 -35 -7
+maxs 35 35 4
+zOffset 0
diff --git a/assets/configs/buildables/mgturret.cfg b/assets/configs/buildables/mgturret.cfg
new file mode 100644
index 0000000..83a2309
--- /dev/null
+++ b/assets/configs/buildables/mgturret.cfg
@@ -0,0 +1,7 @@
+model 0 models/buildables/mgturret/turret_base.md3
+model 1 models/buildables/mgturret/turret_barrel.md3
+model 2 models/buildables/mgturret/turret_top.md3
+modelScale 1.0
+mins -25 -25 -20
+maxs 25 25 20
+zOffset 0
diff --git a/assets/configs/buildables/overmind.cfg b/assets/configs/buildables/overmind.cfg
new file mode 100644
index 0000000..f9baca5
--- /dev/null
+++ b/assets/configs/buildables/overmind.cfg
@@ -0,0 +1,5 @@
+model 0 models/buildables/overmind/overmind.md3
+modelScale 1.0
+mins -45 -45 -15
+maxs 45 45 95
+zOffset 0
diff --git a/assets/configs/buildables/reactor.cfg b/assets/configs/buildables/reactor.cfg
new file mode 100644
index 0000000..d724c44
--- /dev/null
+++ b/assets/configs/buildables/reactor.cfg
@@ -0,0 +1,5 @@
+model 0 models/buildables/reactor/reactor.md3
+mins -41 -41 -15
+maxs 41 41 95
+zOffset -2.0
+modelScale 0.85
diff --git a/assets/configs/buildables/repeater.cfg b/assets/configs/buildables/repeater.cfg
new file mode 100644
index 0000000..eec2824
--- /dev/null
+++ b/assets/configs/buildables/repeater.cfg
@@ -0,0 +1,5 @@
+model 0 models/buildables/repeater/repeater.md3
+modelScale 1.0
+mins -15 -15 -15
+maxs 15 15 25
+zOffset 0
diff --git a/assets/configs/buildables/telenode.cfg b/assets/configs/buildables/telenode.cfg
new file mode 100644
index 0000000..173a92f
--- /dev/null
+++ b/assets/configs/buildables/telenode.cfg
@@ -0,0 +1,5 @@
+model 0 models/buildables/telenode/telenode.md3
+modelScale 1.0
+mins -40 -40 -4
+maxs 40 40 6
+zOffset 0
diff --git a/assets/configs/buildables/tesla.cfg b/assets/configs/buildables/tesla.cfg
new file mode 100644
index 0000000..36d1e33
--- /dev/null
+++ b/assets/configs/buildables/tesla.cfg
@@ -0,0 +1,5 @@
+model 0 models/buildables/tesla/tesla.md3
+modelScale 1.0
+mins -22 -22 -40
+maxs 22 22 40
+zOffset 0
diff --git a/assets/configs/buildables/trapper.cfg b/assets/configs/buildables/trapper.cfg
new file mode 100644
index 0000000..0c3f0d0
--- /dev/null
+++ b/assets/configs/buildables/trapper.cfg
@@ -0,0 +1,5 @@
+model 0 models/buildables/trapper/trapper.md3
+modelScale 1.0
+mins -15 -15 -15
+maxs 15 15 15
+zOffset 0
diff --git a/assets/configs/classes/builder.cfg b/assets/configs/classes/builder.cfg
new file mode 100644
index 0000000..dd1d665
--- /dev/null
+++ b/assets/configs/classes/builder.cfg
@@ -0,0 +1,17 @@
+name "Granger"
+model builder
+modelScale 1.0
+skin default
+shadowScale 1.0
+hud alien_builder_hud
+
+mins -20 -20 -20
+maxs 20 20 20
+crouchMaxs 20 20 20
+deadMins -20 -20 -4
+deadMaxs 20 20 4
+zOffset 0.0
+
+viewheight 0
+crouchViewheight 0
+shoulderOffsets -8 15 13
diff --git a/assets/configs/classes/builderupg.cfg b/assets/configs/classes/builderupg.cfg
new file mode 100644
index 0000000..e1b73fc
--- /dev/null
+++ b/assets/configs/classes/builderupg.cfg
@@ -0,0 +1,17 @@
+name "Advanced Granger"
+model builder
+modelScale 1.0
+skin advanced
+shadowScale 1.0
+hud alien_builder_hud
+
+mins -20 -20 -20
+maxs 20 20 20
+crouchMaxs 20 20 20
+deadMins -20 -20 -4
+deadMaxs 20 20 4
+zOffset 0.0
+
+viewheight 0
+crouchViewheight 0
+shoulderOffsets -8 15 13
diff --git a/assets/configs/classes/human_base.cfg b/assets/configs/classes/human_base.cfg
new file mode 100644
index 0000000..6749bad
--- /dev/null
+++ b/assets/configs/classes/human_base.cfg
@@ -0,0 +1,17 @@
+name "Human Base"
+model human_base
+modelScale 1.0
+skin default
+shadowScale 1.0
+hud human_hud
+
+mins -15 -15 -24
+maxs 15 15 32
+crouchMaxs 15 15 16
+deadMins -15 -15 -4
+deadMaxs 15 15 4
+zOffset -2.0
+
+viewheight 24
+crouchViewheight 7
+shoulderOffsets -10 15 0
diff --git a/assets/configs/classes/human_bsuit.cfg b/assets/configs/classes/human_bsuit.cfg
new file mode 100644
index 0000000..0cdca1e
--- /dev/null
+++ b/assets/configs/classes/human_bsuit.cfg
@@ -0,0 +1,17 @@
+name "Human Battlesuit"
+model human_bsuit
+modelScale 1.0
+skin default
+shadowScale 1.0
+hud human_hud
+
+mins -15 -15 -38
+maxs 15 15 38
+crouchMaxs 15 15 38
+deadMins -15 -15 -4
+deadMaxs 15 15 4
+zOffset -16.0
+
+viewheight 29
+crouchViewheight 29
+shoulderOffsets -30 25 -2
diff --git a/assets/configs/classes/level0.cfg b/assets/configs/classes/level0.cfg
new file mode 100644
index 0000000..1497918
--- /dev/null
+++ b/assets/configs/classes/level0.cfg
@@ -0,0 +1,17 @@
+name "Dretch"
+model level0
+modelScale 1.2
+skin default
+shadowScale 0.5
+hud alien_general_hud
+
+mins -15 -15 -15
+maxs 15 15 15
+crouchMaxs 15 15 15
+deadMins -15 -15 -15
+deadMaxs 15 15 15
+zOffset -5.0
+
+viewheight 0
+crouchViewheight 0
+shoulderOffsets -5 0 17
diff --git a/assets/configs/classes/level1.cfg b/assets/configs/classes/level1.cfg
new file mode 100644
index 0000000..3add57e
--- /dev/null
+++ b/assets/configs/classes/level1.cfg
@@ -0,0 +1,17 @@
+name "Basilisk"
+model level1
+modelScale 1.0
+skin default
+shadowScale 1.0
+hud alien_general_hud
+
+mins -18 -18 -18
+maxs 18 18 18
+crouchMaxs 18 18 18
+deadMins -18 -18 -4
+deadMaxs 18 18 4
+zOffset 0.0
+
+viewheight 0
+crouchViewheight 0
+shoulderOffsets -10 0 18
diff --git a/assets/configs/classes/level1upg.cfg b/assets/configs/classes/level1upg.cfg
new file mode 100644
index 0000000..28a4beb
--- /dev/null
+++ b/assets/configs/classes/level1upg.cfg
@@ -0,0 +1,17 @@
+name "Advanced Basilisk"
+model level1
+modelScale 1.1666
+skin upgrade
+shadowScale 1.0
+hud alien_general_hud
+
+mins -21 -21 -21
+maxs 21 21 21
+crouchMaxs 21 21 21
+deadMins -21 -21 -4.666
+deadMaxs 21 21 4.666
+zOffset 0.0
+
+viewheight 0
+crouchViewheight 0
+shoulderOffsets -10 0 18
diff --git a/assets/configs/classes/level2.cfg b/assets/configs/classes/level2.cfg
new file mode 100644
index 0000000..73fc4ab
--- /dev/null
+++ b/assets/configs/classes/level2.cfg
@@ -0,0 +1,17 @@
+name "Marauder"
+model level2
+modelScale 1.0
+skin default
+shadowScale 1.0
+hud alien_general_hud
+
+mins -23 -23 -22
+maxs 23 23 14
+crouchMaxs 23 23 14
+deadMins -23 -23 -4
+deadMaxs 23 23 4
+zOffset 0.0
+
+viewheight 8
+crouchViewheight 8
+shoulderOffsets 0 12 5
diff --git a/assets/configs/classes/level2upg.cfg b/assets/configs/classes/level2upg.cfg
new file mode 100644
index 0000000..3ef853f
--- /dev/null
+++ b/assets/configs/classes/level2upg.cfg
@@ -0,0 +1,17 @@
+name "Advanced Marauder"
+model level2
+modelScale 1.1
+skin adv
+shadowScale 1.0
+hud alien_general_hud
+
+mins -25 -25 -24
+maxs 25 25 16
+crouchMaxs 25 25 16
+deadMins -25 -25 -4
+deadMaxs 25 25 4
+zOffset 0.0
+
+viewheight 10
+crouchViewheight 10
+shoulderOffsets 0 12 5
diff --git a/assets/configs/classes/level3.cfg b/assets/configs/classes/level3.cfg
new file mode 100644
index 0000000..6073201
--- /dev/null
+++ b/assets/configs/classes/level3.cfg
@@ -0,0 +1,17 @@
+name "Dragoon"
+model level3
+modelScale 1.0
+skin default
+shadowScale 1.0
+hud alien_general_hud
+
+mins -26 -26 -23
+maxs 26 26 32
+crouchMaxs 26 26 32
+deadMins -26 -26 -4
+deadMaxs 26 26 4
+zOffset 0.0
+
+viewheight 24
+crouchViewheight 24
+shoulderOffsets -10 15 8
diff --git a/assets/configs/classes/level3upg.cfg b/assets/configs/classes/level3upg.cfg
new file mode 100644
index 0000000..e0e7455
--- /dev/null
+++ b/assets/configs/classes/level3upg.cfg
@@ -0,0 +1,17 @@
+name "Advanced Dragoon"
+model level3
+modelScale 1.15
+skin adv
+shadowScale 1.0
+hud alien_general_hud
+
+mins -29 -29 -29
+maxs 29 29 37
+crouchMaxs 29 29 38
+deadMins -29 -29 -4
+deadMaxs 29 29 4
+zOffset 0.0
+
+viewheight 27
+crouchViewheight 27
+shoulderOffsets -10 17 12
diff --git a/assets/configs/classes/level4.cfg b/assets/configs/classes/level4.cfg
new file mode 100644
index 0000000..ad8482e
--- /dev/null
+++ b/assets/configs/classes/level4.cfg
@@ -0,0 +1,17 @@
+name "Tyrant"
+model level4
+modelScale 1.0
+skin default
+shadowScale 2.0
+hud alien_general_hud
+
+mins -32 -32 -22
+maxs 32 32 70
+crouchMaxs 32 32 70
+deadMins -32 -32 -34
+deadMaxs 32 32 34
+zOffset 0.0
+
+viewheight 64
+crouchViewheight 64
+shoulderOffsets -20 -25 30
diff --git a/assets/configs/classes/spectator.cfg b/assets/configs/classes/spectator.cfg
new file mode 100644
index 0000000..b1fd1e7
--- /dev/null
+++ b/assets/configs/classes/spectator.cfg
@@ -0,0 +1,17 @@
+name "Spectator"
+model ""
+modelScale 1.0
+skin ""
+shadowScale 1.0
+hud spectator_hud
+
+mins -15 -15 -15
+maxs 15 15 15
+crouchMaxs 15 15 15
+deadMins -15 -15 -15
+deadMaxs 15 15 15
+zOffset 0.0
+
+viewheight 0
+crouchViewheight 0
+shoulderOffsets 0 0 0
diff --git a/assets/models/buildables/acid_tube/animation.cfg b/assets/models/buildables/acid_tube/animation.cfg
new file mode 100644
index 0000000..19f616e
--- /dev/null
+++ b/assets/models/buildables/acid_tube/animation.cfg
@@ -0,0 +1,15 @@
+//acid tube
+0 12 0 24 // CONSTRUCT1
+0 12 0 24 // CONSTRUCT2
+12 1 0 24 // IDLE1
+0 0 0 0 // IDLE2
+0 0 0 0 // IDLE3
+13 19 0 24 // ATTACK1
+0 0 0 1 // ATTACK2
+0 0 0 1 // SPAWN1
+0 0 0 1 // SPAWN2
+12 8 0 12 // PAIN1
+0 0 0 1 // PAIN2
+0 -12 0 16 // DESTROY
+12 0 0 12 // DESTROY2
+0 1 1 1 // DESTROYED
diff --git a/assets/models/buildables/barricade/animation.cfg b/assets/models/buildables/barricade/animation.cfg
new file mode 100644
index 0000000..b4703ea
--- /dev/null
+++ b/assets/models/buildables/barricade/animation.cfg
@@ -0,0 +1,17 @@
+//barricade
+0 12 0 24 // CONSTRUCT1
+0 12 0 24 // CONSTRUCT1
+12 1 1 24 // IDLE1
+0 0 0 24 // IDLE2
+0 0 0 0 // IDLE3
+39 9 0 48 // ATTACK1 (shrink)
+39 -9 0 48 // ATTACK2 (unshrink)
+0 0 0 0 // SPAWN1
+0 0 0 0 // SPAWN2
+12 12 0 24 // PAIN1
+48 1 0 24 // PAIN2
+36 12 0 24 // DESTROY
+0 0 0 0 // DESTROY2
+48 1 1 1 // DEAD
+
+//12 frames for each pain, 6 going down 6 going up
diff --git a/assets/models/buildables/medistat/animation.cfg b/assets/models/buildables/medistat/animation.cfg
new file mode 100644
index 0000000..5a5ab0f
--- /dev/null
+++ b/assets/models/buildables/medistat/animation.cfg
@@ -0,0 +1,18 @@
+//medistation
+0 8 0 24 // CONSTRUCT
+0 8 0 24 // CONSTRUCT
+8 19 19 12 // IDLE
+32 1 1 1 // IDLE2-HEAL
+0 1 1 1 // IDLE3-NOPOWER
+27 6 0 24 // ATTACK1-HEAL
+0 0 0 0 // ATTACK2
+0 0 0 0 // SPAWN1
+0 0 0 0 // SPAWN2
+0 0 0 0 // PAIN1
+0 0 0 0 // PAIN2
+33 1 0 5 // DESTROY
+0 0 0 0 // DESTROY2
+33 1 1 1 // DEAD
+
+//attack is the heal activate
+//idle2 is the heal idle
diff --git a/assets/models/buildables/mgturret/animation.cfg b/assets/models/buildables/mgturret/animation.cfg
new file mode 100644
index 0000000..7b80fb7
--- /dev/null
+++ b/assets/models/buildables/mgturret/animation.cfg
@@ -0,0 +1,15 @@
+//mgturret
+0 1 0 1 // CONSTRUCT1
+0 1 0 1 // CONSTRUCT1
+0 1 1 1 // IDLE1
+0 1 1 1 // IDLE2
+0 1 1 1 // IDLE3-NOPOWER
+1 1 0 10 // ATTACK1
+0 1 0 0 // ATTACK2
+0 1 0 0 // SPAWN1
+0 1 0 0 // SPAWN2
+0 1 0 0 // PAIN1
+0 1 0 0 // PAIN2
+0 1 0 1 // DESTROY1
+0 1 0 0 // DESTROY2
+0 1 1 1 // DEAD
diff --git a/assets/models/buildables/repeater/animation.cfg b/assets/models/buildables/repeater/animation.cfg
new file mode 100644
index 0000000..fdfdb65
--- /dev/null
+++ b/assets/models/buildables/repeater/animation.cfg
@@ -0,0 +1,15 @@
+//repeater
+0 12 0 24 // CONSTRUCT1
+0 12 0 24 // CONSTRUCT1
+12 24 24 36 // IDLE1
+0 0 0 0 // IDLE2
+12 24 24 6 // IDLE3-NOPOWER
+0 0 0 0 // ATTACK1
+0 0 0 0 // ATTACK2
+0 0 0 0 // SPAWN1
+0 0 0 0 // SPAWN2
+0 0 0 0 // PAIN1
+0 0 0 0 // PAIN2
+37 1 0 5 // DESTROY
+0 0 0 0 // DESTROY2
+37 1 1 1 // DEAD
diff --git a/assets/models/buildables/tesla/animation.cfg b/assets/models/buildables/tesla/animation.cfg
new file mode 100644
index 0000000..2c3f1d9
--- /dev/null
+++ b/assets/models/buildables/tesla/animation.cfg
@@ -0,0 +1,15 @@
+// tesla
+0 8 0 12 // CONSTRUCT1
+0 8 0 12 // CONSTRUCT1
+8 24 24 24 // IDLE1
+0 0 0 0 // IDLE2
+32 1 1 1 // IDLE3-NOPOWER
+0 0 0 0 // ATTACK1
+0 0 0 0 // ATTACK2
+0 0 0 0 // SPAWN1
+0 0 0 0 // SPAWN2
+0 0 0 0 // PAIN1
+0 0 0 0 // PAIN2
+32 2 0 12 // DESTROY1
+0 0 0 0 // DESTROY2
+34 1 1 1 // DESTROYED
diff --git a/assets/models/generic/sphere.md3 b/assets/models/generic/sphere.md3
new file mode 100644
index 0000000..54482d6
--- /dev/null
+++ b/assets/models/generic/sphere.md3
Binary files differ
diff --git a/assets/models/generic/sphericalCone240.md3 b/assets/models/generic/sphericalCone240.md3
new file mode 100644
index 0000000..2b187da
--- /dev/null
+++ b/assets/models/generic/sphericalCone240.md3
Binary files differ
diff --git a/assets/models/generic/sphericalCone64.md3 b/assets/models/generic/sphericalCone64.md3
new file mode 100644
index 0000000..f0518fd
--- /dev/null
+++ b/assets/models/generic/sphericalCone64.md3
Binary files differ
diff --git a/assets/models/players/human_base/locdamage.cfg b/assets/models/players/human_base/locdamage.cfg
new file mode 100644
index 0000000..3beeb16
--- /dev/null
+++ b/assets/models/players/human_base/locdamage.cfg
@@ -0,0 +1,60 @@
+// These regions must cover the entire body and cannot overlap otherwise
+// the non-locational damage calculation will not be correct!
+
+{
+ name "legs"
+ minHeight 0.0
+ maxHeight 0.5
+ minAngle 0
+ maxAngle 360
+ modifier 0.5
+}
+
+{
+ name "torso"
+ minHeight 0.5
+ maxHeight 0.8
+ minAngle 0
+ maxAngle 360
+ modifier 1.0
+}
+
+{
+ name "head"
+ minHeight 0.8
+ maxHeight 1.0
+ minAngle 0
+ maxAngle 360
+ modifier 1.5
+}
+
+{
+ name "legs crouch"
+ minHeight 0.0
+ maxHeight 0.3
+ minAngle 0
+ maxAngle 360
+ modifier 0.5
+ crouch
+}
+
+{
+ name "torso crouch"
+ minHeight 0.3
+ maxHeight 0.7
+ minAngle 0
+ maxAngle 360
+ modifier 1.0
+ crouch
+}
+
+{
+ name "head crouch"
+ minHeight 0.7
+ maxHeight 1.0
+ minAngle 0
+ maxAngle 360
+ modifier 1.5
+ crouch
+}
+
diff --git a/assets/models/players/human_bsuit/locdamage.cfg b/assets/models/players/human_bsuit/locdamage.cfg
new file mode 100644
index 0000000..a2ed6d9
--- /dev/null
+++ b/assets/models/players/human_bsuit/locdamage.cfg
@@ -0,0 +1,29 @@
+// These regions must cover the entire body and cannot overlap otherwise
+// the non-locational damage calculation will not be correct!
+
+{
+ name "legs"
+ minHeight 0.0
+ maxHeight 0.5
+ minAngle 0
+ maxAngle 360
+ modifier 0.5
+}
+
+{
+ name "torso"
+ minHeight 0.5
+ maxHeight 0.8
+ minAngle 0
+ maxAngle 360
+ modifier 1.0
+}
+
+{
+ name "head"
+ minHeight 0.8
+ maxHeight 1.0
+ minAngle 0
+ maxAngle 360
+ modifier 1.5
+}
diff --git a/assets/models/players/level1/animation.cfg b/assets/models/players/level1/animation.cfg
new file mode 100644
index 0000000..1c474f9
--- /dev/null
+++ b/assets/models/players/level1/animation.cfg
@@ -0,0 +1,48 @@
+// animation config file
+// Tremulous: level1 alien
+
+sex n
+
+// first frame, num frames, looping frames, frames per second
+
+footsteps none
+
+nonsegmented
+
+0 40 40 30 //NSPA_STAND
+
+41 141 0 60 //NSPA_GESTURE
+
+182 31 31 30 //NSPA_WALK
+182 31 31 60 //NSPA_RUN
+182 -31 31 60 //NSPA_RUNBACK
+
+0 0 0 30 //NSPA_CHARGE
+
+213 31 31 60 //NSPA_RUNLEFT
+213 31 31 30 //NSPA_WALKLEFT
+244 31 31 60 //NSPA_RUNRIGHT
+244 31 31 30 //NSPA_WALKRIGHT
+
+182 31 31 30 //NSPA_SWIM
+
+275 41 20 30 //NSPA_JUMP
+316 20 0 30 //NSPA_LAND
+275 41 20 30 //NSPA_JUMPBACK
+316 20 0 30 //NSPA_LANDBACK
+
+182 31 31 30 //NSPA_TURN
+
+336 31 0 30 //NSPA_ATTACK1
+336 31 0 30 //NSPA_ATTACK2
+336 31 0 30 //NSPA_ATTACK3
+
+367 11 0 30 //NSPA_PAIN1
+367 11 0 30 //NSPA_PAIN2
+
+378 41 0 30 //NSPA_DEATH1
+418 1 0 30 //NSPA_DEAD1
+378 41 0 30 //NSPA_DEATH2
+418 1 0 30 //NSPA_DEAD2
+378 41 0 30 //NSPA_DEATH3
+418 1 0 30 //NSPA_DEAD3
diff --git a/assets/models/weapons/abuild/weapon.cfg b/assets/models/weapons/abuild/weapon.cfg
new file mode 100644
index 0000000..46cfdaa
--- /dev/null
+++ b/assets/models/weapons/abuild/weapon.cfg
@@ -0,0 +1,11 @@
+disableIn3rdPerson
+crosshair 15 gfx/2d/crosshair-alien_s
+
+icon icons/icona_builder
+
+secondary
+{
+ flashSound 0 models/weapons/abuildupg/flash0.wav
+ impactFleshSound 0 models/weapons/abuildupg/impactflesh0.wav
+ alwaysImpact
+}
diff --git a/assets/models/weapons/abuildupg/weapon.cfg b/assets/models/weapons/abuildupg/weapon.cfg
new file mode 100644
index 0000000..0646359
--- /dev/null
+++ b/assets/models/weapons/abuildupg/weapon.cfg
@@ -0,0 +1,19 @@
+disableIn3rdPerson
+crosshair 15 gfx/2d/crosshair-alien_s
+
+icon icons/icona_builder
+
+secondary
+{
+ flashSound 0 models/weapons/abuildupg/flash0.wav
+ impactFleshSound 0 models/weapons/abuildupg/impactflesh0.wav
+ alwaysImpact
+}
+
+tertiary
+{
+ missileModel models/weapons/level3upg/missile.md3
+
+ impactMark 64 creep
+ impactSound 0 sound/misc/organic_bounce.wav
+}
diff --git a/assets/models/weapons/grenade/weapon.cfg b/assets/models/weapons/grenade/weapon.cfg
new file mode 100644
index 0000000..8ba230e
--- /dev/null
+++ b/assets/models/weapons/grenade/weapon.cfg
@@ -0,0 +1,13 @@
+weaponModel models/weapons/grenade/grenade.md3
+icon icons/iconw_nade
+
+primary
+{
+ missileModel models/weapons/grenade/grenade.md3
+ missileAnimates 0 20 20 0
+
+ impactMark 64 gfx/marks/bullet_mrk
+ impactParticleSystem models/weapons/grenade/impactPS
+
+ impactSound 0 models/weapons/grenade/impact0.wav
+}
diff --git a/assets/models/weapons/lcannon/weapon.cfg b/assets/models/weapons/lcannon/weapon.cfg
new file mode 100644
index 0000000..be3ae30
--- /dev/null
+++ b/assets/models/weapons/lcannon/weapon.cfg
@@ -0,0 +1,33 @@
+weaponModel models/weapons/lcannon/lcannon.md3
+icon icons/iconw_lucifer
+crosshair 48 gfx/2d/crosshair-lcannon_s
+idleSound models/weapons/lcannon/idle.wav
+
+primary
+{
+ missileSprite 16 gfx/lcannon/primary
+ missileSpriteCharge 0.25
+ missileSound models/weapons/lcannon/missle.wav
+ missileParticleSystem models/weapons/lcannon/missilePS
+
+ flashDlightColor 1.0 1.0 0.0
+ flashSound 0 models/weapons/lcannon/flash0.wav
+
+ impactMark 32 gfx/marks/bullet_mrk
+ impactSound 0 models/weapons/lcannon/impact0.wav
+ impactParticleSystem models/weapons/lcannon/impactPS
+}
+
+secondary
+{
+ missileSprite 16 gfx/lcannon/primary
+ missileSound models/weapons/lcannon/missle.wav
+ missileParticleSystem models/weapons/lcannon/secondaryMissilePS
+
+ flashDlightColor 1.0 1.0 0.0
+ flashSound 0 models/weapons/lcannon/flash0.wav
+
+ impactMark 8 gfx/marks/bullet_mrk
+ impactSound 0 models/weapons/lcannon/impact0.wav
+ impactParticleSystem models/weapons/lcannon/secondaryImpactPS
+}
diff --git a/assets/models/weapons/level0/weapon.cfg b/assets/models/weapons/level0/weapon.cfg
new file mode 100644
index 0000000..2e52551
--- /dev/null
+++ b/assets/models/weapons/level0/weapon.cfg
@@ -0,0 +1,9 @@
+disableIn3rdPerson
+crosshair 15 gfx/2d/crosshair-alien_s
+
+icon icons/icona_lev0
+
+primary
+{
+ flashSound 0 models/weapons/level0/flash0.wav
+}
diff --git a/assets/models/weapons/level1/weapon.cfg b/assets/models/weapons/level1/weapon.cfg
new file mode 100644
index 0000000..5932283
--- /dev/null
+++ b/assets/models/weapons/level1/weapon.cfg
@@ -0,0 +1,11 @@
+disableIn3rdPerson
+crosshair 15 gfx/2d/crosshair-alien_s
+
+icon icons/icona_lev1
+
+primary
+{
+ flashSound 0 models/weapons/level1/flash0.wav
+ impactFleshSound 0 models/weapons/level1/impactflesh0.wav
+ alwaysImpact
+}
diff --git a/assets/models/weapons/level1upg/weapon.cfg b/assets/models/weapons/level1upg/weapon.cfg
new file mode 100644
index 0000000..5b60e8c
--- /dev/null
+++ b/assets/models/weapons/level1upg/weapon.cfg
@@ -0,0 +1,17 @@
+disableIn3rdPerson
+crosshair 15 gfx/2d/crosshair-alien_s
+
+icon icons/icona_lev1
+
+primary
+{
+ flashSound 0 models/weapons/level1/flash0.wav
+ impactFleshSound 0 models/weapons/level1/impactflesh0.wav
+ alwaysImpact
+}
+
+secondary
+{
+ flashSound 0 models/weapons/level1upg/gas.wav
+ muzzleParticleSystem models/weapons/level1upg/muzzlePS
+}
diff --git a/assets/models/weapons/level2/weapon.cfg b/assets/models/weapons/level2/weapon.cfg
new file mode 100644
index 0000000..927a731
--- /dev/null
+++ b/assets/models/weapons/level2/weapon.cfg
@@ -0,0 +1,11 @@
+disableIn3rdPerson
+crosshair 15 gfx/2d/crosshair-alien_s
+
+icon icons/icona_lev2
+
+primary
+{
+ flashSound 0 models/weapons/level2/flash0.wav
+ impactFleshSound 0 models/weapons/level2/impactflesh0.wav
+ alwaysImpact
+}
diff --git a/assets/models/weapons/level2upg/weapon.cfg b/assets/models/weapons/level2upg/weapon.cfg
new file mode 100644
index 0000000..7a1f26c
--- /dev/null
+++ b/assets/models/weapons/level2upg/weapon.cfg
@@ -0,0 +1,18 @@
+disableIn3rdPerson
+
+icon icons/icona_lev2
+crosshair 15 gfx/2d/crosshair-alien_s
+
+primary
+{
+ flashSound 0 models/weapons/level2/flash0.wav
+ impactFleshSound 0 models/weapons/level2/impactflesh0.wav
+ alwaysImpact
+}
+
+secondary
+{
+ flashSound 0 models/weapons/level2upg/electric.wav
+
+ impactMark 24 gfx/marks/plasma_mrk
+}
diff --git a/assets/models/weapons/level3/weapon.cfg b/assets/models/weapons/level3/weapon.cfg
new file mode 100644
index 0000000..faa2c18
--- /dev/null
+++ b/assets/models/weapons/level3/weapon.cfg
@@ -0,0 +1,16 @@
+disableIn3rdPerson
+crosshair 15 gfx/2d/crosshair-alien_s
+
+icon icons/icona_lev3
+
+primary
+{
+ flashSound 0 models/weapons/level3/flash0.wav
+ impactFleshSound 0 models/weapons/level3/impactflesh0.wav
+ alwaysImpact
+}
+
+secondary
+{
+ flashSound 0 models/weapons/level3/pounce.wav
+}
diff --git a/assets/models/weapons/level3upg/weapon.cfg b/assets/models/weapons/level3upg/weapon.cfg
new file mode 100644
index 0000000..51192f7
--- /dev/null
+++ b/assets/models/weapons/level3upg/weapon.cfg
@@ -0,0 +1,28 @@
+disableIn3rdPerson
+
+icon icons/icona_lev3
+crosshair 15 gfx/2d/crosshair-alien_s
+
+primary
+{
+ flashSound 0 models/weapons/level3/flash0.wav
+ impactFleshSound 0 models/weapons/level3/impactflesh0.wav
+ alwaysImpact
+}
+
+secondary
+{
+ flashSound 0 models/weapons/level3/pounce.wav
+}
+
+tertiary
+{
+ flashSound 0 models/weapons/level3upg/flash0.wav
+
+ missileModel models/weapons/level3upg/missile.md3
+ missileSound models/weapons/level3upg/missile.wav
+
+ impactMark 30 gfx/marks/bullet_mrk
+ impactSound 0 models/weapons/rifle/ricochet0.wav
+ impactParticleSystem models/weapons/level3upg/impactPS
+}
diff --git a/assets/models/weapons/level4/weapon.cfg b/assets/models/weapons/level4/weapon.cfg
new file mode 100644
index 0000000..b890af1
--- /dev/null
+++ b/assets/models/weapons/level4/weapon.cfg
@@ -0,0 +1,11 @@
+disableIn3rdPerson
+crosshair 15 gfx/2d/crosshair-alien_s
+
+icon icons/icona_lev4
+
+primary
+{
+ flashSound 0 models/weapons/level4/flash0.wav
+ impactFleshSound 0 models/weapons/level4/impactflesh0.wav
+ alwaysImpact
+}
diff --git a/assets/models/weapons/mdriver/weapon.cfg b/assets/models/weapons/mdriver/weapon.cfg
new file mode 100644
index 0000000..938e7ae
--- /dev/null
+++ b/assets/models/weapons/mdriver/weapon.cfg
@@ -0,0 +1,12 @@
+weaponModel models/weapons/mdriver/mdriver.md3
+icon icons/iconw_driver
+crosshair 24 gfx/2d/crosshair-mdriver_s
+
+primary
+{
+ flashDlightColor 0.0 1.0 0.0
+ flashSound 0 models/weapons/mdriver/flash0.wav
+
+ impactMark 6 gfx/marks/bullet_mrk
+ impactParticleSystem models/weapons/mdriver/impactPS
+}
diff --git a/assets/models/weapons/prifle/weapon.cfg b/assets/models/weapons/prifle/weapon.cfg
new file mode 100644
index 0000000..ca99f4f
--- /dev/null
+++ b/assets/models/weapons/prifle/weapon.cfg
@@ -0,0 +1,17 @@
+weaponModel models/weapons/prifle/prifle.md3
+icon icons/iconw_pulse
+crosshair 24 gfx/2d/crosshair-prifle_s
+
+primary
+{
+ missileSprite 3 gfx/prifle/red_blob
+ missileTrailSystem models/weapons/prifle/missileTS
+
+ flashDlightColor 1.0 0.0 0.0
+ flashSound 0 models/weapons/prifle/flash0.wav
+
+ impactMark 16 gfx/marks/bullet_mrk
+ impactParticleSystem models/weapons/prifle/impactPS
+ impactSound 0 models/weapons/prifle/impact0.wav
+ alwaysImpact
+}
diff --git a/assets/models/weapons/psaw/weapon.cfg b/assets/models/weapons/psaw/weapon.cfg
new file mode 100644
index 0000000..7b87940
--- /dev/null
+++ b/assets/models/weapons/psaw/weapon.cfg
@@ -0,0 +1,13 @@
+weaponModel models/weapons/psaw/psaw.md3
+icon icons/iconw_saw
+idleSound models/weapons/psaw/idle.wav
+crosshair 24 gfx/2d/crosshair-psaw
+
+primary
+{
+ flashDlightColor 1.0 1.0 1.0
+ firingSound models/weapons/psaw/firing.wav
+
+ impactParticleSystem models/weapons/psaw/impactPS
+ alwaysImpact
+} \ No newline at end of file
diff --git a/assets/music/Tremulous Heartbeat.mid b/assets/music/Tremulous Heartbeat.mid
new file mode 100644
index 0000000..ebf78f9
--- /dev/null
+++ b/assets/music/Tremulous Heartbeat.mid
Binary files differ
diff --git a/assets/scripts/binary.shader b/assets/scripts/binary.shader
new file mode 100644
index 0000000..ee5e625
--- /dev/null
+++ b/assets/scripts/binary.shader
@@ -0,0 +1,16394 @@
+gfx/binary/alpha1
+{
+ sort 15.5
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+// ============== 000 ==============
+
+gfx/binary/000_F1
+{
+ sort 15.5001
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/000_F2
+{
+ sort 15.5002
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/000_F3
+{
+ sort 15.5003
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+gfx/binary/000_B1
+{
+ sort 15.5004
+ cull back
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/000_B2
+{
+ sort 15.5005
+ cull back
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/000_B3
+{
+ sort 15.5006
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+// ============== 001 ==============
+
+gfx/binary/001_F1
+{
+ sort 15.5007
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/001_F2
+{
+ sort 15.5008
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/001_F3
+{
+ sort 15.5009
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+gfx/binary/001_B1
+{
+ sort 15.5010
+ cull back
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/001_B2
+{
+ sort 15.5011
+ cull back
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/001_B3
+{
+ sort 15.5012
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+// ============== 002 ==============
+
+gfx/binary/002_F1
+{
+ sort 15.5013
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/002_F2
+{
+ sort 15.5014
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/002_F3
+{
+ sort 15.5015
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+gfx/binary/002_B1
+{
+ sort 15.5016
+ cull back
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/002_B2
+{
+ sort 15.5017
+ cull back
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/002_B3
+{
+ sort 15.5018
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+// ============== 003 ==============
+
+gfx/binary/003_F1
+{
+ sort 15.5019
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/003_F2
+{
+ sort 15.5020
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/003_F3
+{
+ sort 15.5021
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+gfx/binary/003_B1
+{
+ sort 15.5022
+ cull back
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/003_B2
+{
+ sort 15.5023
+ cull back
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/003_B3
+{
+ sort 15.5024
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+// ============== 004 ==============
+
+gfx/binary/004_F1
+{
+ sort 15.5025
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/004_F2
+{
+ sort 15.5026
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/004_F3
+{
+ sort 15.5027
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+gfx/binary/004_B1
+{
+ sort 15.5028
+ cull back
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/004_B2
+{
+ sort 15.5029
+ cull back
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/004_B3
+{
+ sort 15.5030
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+// ============== 005 ==============
+
+gfx/binary/005_F1
+{
+ sort 15.5031
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/005_F2
+{
+ sort 15.5032
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/005_F3
+{
+ sort 15.5033
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+gfx/binary/005_B1
+{
+ sort 15.5034
+ cull back
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/005_B2
+{
+ sort 15.5035
+ cull back
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/005_B3
+{
+ sort 15.5036
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+// ============== 006 ==============
+
+gfx/binary/006_F1
+{
+ sort 15.5037
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/006_F2
+{
+ sort 15.5038
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/006_F3
+{
+ sort 15.5039
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+gfx/binary/006_B1
+{
+ sort 15.5040
+ cull back
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/006_B2
+{
+ sort 15.5041
+ cull back
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/006_B3
+{
+ sort 15.5042
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+// ============== 007 ==============
+
+gfx/binary/007_F1
+{
+ sort 15.5043
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/007_F2
+{
+ sort 15.5044
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/007_F3
+{
+ sort 15.5045
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+gfx/binary/007_B1
+{
+ sort 15.5046
+ cull back
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/007_B2
+{
+ sort 15.5047
+ cull back
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/007_B3
+{
+ sort 15.5048
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+// ============== 008 ==============
+
+gfx/binary/008_F1
+{
+ sort 15.5049
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/008_F2
+{
+ sort 15.5050
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/008_F3
+{
+ sort 15.5051
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+gfx/binary/008_B1
+{
+ sort 15.5052
+ cull back
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/008_B2
+{
+ sort 15.5053
+ cull back
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/008_B3
+{
+ sort 15.5054
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+// ============== 009 ==============
+
+gfx/binary/009_F1
+{
+ sort 15.5055
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/009_F2
+{
+ sort 15.5056
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/009_F3
+{
+ sort 15.5057
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+gfx/binary/009_B1
+{
+ sort 15.5058
+ cull back
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/009_B2
+{
+ sort 15.5059
+ cull back
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/009_B3
+{
+ sort 15.5060
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+// ============== 010 ==============
+
+gfx/binary/010_F1
+{
+ sort 15.5061
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/010_F2
+{
+ sort 15.5062
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/010_F3
+{
+ sort 15.5063
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+gfx/binary/010_B1
+{
+ sort 15.5064
+ cull back
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/010_B2
+{
+ sort 15.5065
+ cull back
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/010_B3
+{
+ sort 15.5066
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+// ============== 011 ==============
+
+gfx/binary/011_F1
+{
+ sort 15.5067
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/011_F2
+{
+ sort 15.5068
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/011_F3
+{
+ sort 15.5069
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+gfx/binary/011_B1
+{
+ sort 15.5070
+ cull back
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/011_B2
+{
+ sort 15.5071
+ cull back
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/011_B3
+{
+ sort 15.5072
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+// ============== 012 ==============
+
+gfx/binary/012_F1
+{
+ sort 15.5073
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/012_F2
+{
+ sort 15.5074
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/012_F3
+{
+ sort 15.5075
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+gfx/binary/012_B1
+{
+ sort 15.5076
+ cull back
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/012_B2
+{
+ sort 15.5077
+ cull back
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/012_B3
+{
+ sort 15.5078
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+// ============== 013 ==============
+
+gfx/binary/013_F1
+{
+ sort 15.5079
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/013_F2
+{
+ sort 15.5080
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/013_F3
+{
+ sort 15.5081
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+gfx/binary/013_B1
+{
+ sort 15.5082
+ cull back
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/013_B2
+{
+ sort 15.5083
+ cull back
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/013_B3
+{
+ sort 15.5084
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+// ============== 014 ==============
+
+gfx/binary/014_F1
+{
+ sort 15.5085
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/014_F2
+{
+ sort 15.5086
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/014_F3
+{
+ sort 15.5087
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+gfx/binary/014_B1
+{
+ sort 15.5088
+ cull back
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/014_B2
+{
+ sort 15.5089
+ cull back
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/014_B3
+{
+ sort 15.5090
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+// ============== 015 ==============
+
+gfx/binary/015_F1
+{
+ sort 15.5091
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/015_F2
+{
+ sort 15.5092
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/015_F3
+{
+ sort 15.5093
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+gfx/binary/015_B1
+{
+ sort 15.5094
+ cull back
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/015_B2
+{
+ sort 15.5095
+ cull back
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/015_B3
+{
+ sort 15.5096
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+// ============== 016 ==============
+
+gfx/binary/016_F1
+{
+ sort 15.5097
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/016_F2
+{
+ sort 15.5098
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/016_F3
+{
+ sort 15.5099
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+gfx/binary/016_B1
+{
+ sort 15.5100
+ cull back
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/016_B2
+{
+ sort 15.5101
+ cull back
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/016_B3
+{
+ sort 15.5102
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+// ============== 017 ==============
+
+gfx/binary/017_F1
+{
+ sort 15.5103
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/017_F2
+{
+ sort 15.5104
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/017_F3
+{
+ sort 15.5105
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+gfx/binary/017_B1
+{
+ sort 15.5106
+ cull back
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/017_B2
+{
+ sort 15.5107
+ cull back
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/017_B3
+{
+ sort 15.5108
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+// ============== 018 ==============
+
+gfx/binary/018_F1
+{
+ sort 15.5109
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/018_F2
+{
+ sort 15.5110
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/018_F3
+{
+ sort 15.5111
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+gfx/binary/018_B1
+{
+ sort 15.5112
+ cull back
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/018_B2
+{
+ sort 15.5113
+ cull back
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/018_B3
+{
+ sort 15.5114
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+// ============== 019 ==============
+
+gfx/binary/019_F1
+{
+ sort 15.5115
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/019_F2
+{
+ sort 15.5116
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/019_F3
+{
+ sort 15.5117
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+gfx/binary/019_B1
+{
+ sort 15.5118
+ cull back
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/019_B2
+{
+ sort 15.5119
+ cull back
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/019_B3
+{
+ sort 15.5120
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+// ============== 020 ==============
+
+gfx/binary/020_F1
+{
+ sort 15.5121
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/020_F2
+{
+ sort 15.5122
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/020_F3
+{
+ sort 15.5123
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+gfx/binary/020_B1
+{
+ sort 15.5124
+ cull back
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/020_B2
+{
+ sort 15.5125
+ cull back
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/020_B3
+{
+ sort 15.5126
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+// ============== 021 ==============
+
+gfx/binary/021_F1
+{
+ sort 15.5127
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/021_F2
+{
+ sort 15.5128
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/021_F3
+{
+ sort 15.5129
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+gfx/binary/021_B1
+{
+ sort 15.5130
+ cull back
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/021_B2
+{
+ sort 15.5131
+ cull back
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/021_B3
+{
+ sort 15.5132
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+// ============== 022 ==============
+
+gfx/binary/022_F1
+{
+ sort 15.5133
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/022_F2
+{
+ sort 15.5134
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/022_F3
+{
+ sort 15.5135
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+gfx/binary/022_B1
+{
+ sort 15.5136
+ cull back
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/022_B2
+{
+ sort 15.5137
+ cull back
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/022_B3
+{
+ sort 15.5138
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+// ============== 023 ==============
+
+gfx/binary/023_F1
+{
+ sort 15.5139
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/023_F2
+{
+ sort 15.5140
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/023_F3
+{
+ sort 15.5141
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+gfx/binary/023_B1
+{
+ sort 15.5142
+ cull back
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/023_B2
+{
+ sort 15.5143
+ cull back
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/023_B3
+{
+ sort 15.5144
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+// ============== 024 ==============
+
+gfx/binary/024_F1
+{
+ sort 15.5145
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/024_F2
+{
+ sort 15.5146
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/024_F3
+{
+ sort 15.5147
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+gfx/binary/024_B1
+{
+ sort 15.5148
+ cull back
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/024_B2
+{
+ sort 15.5149
+ cull back
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/024_B3
+{
+ sort 15.5150
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+// ============== 025 ==============
+
+gfx/binary/025_F1
+{
+ sort 15.5151
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/025_F2
+{
+ sort 15.5152
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/025_F3
+{
+ sort 15.5153
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+gfx/binary/025_B1
+{
+ sort 15.5154
+ cull back
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/025_B2
+{
+ sort 15.5155
+ cull back
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/025_B3
+{
+ sort 15.5156
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+// ============== 026 ==============
+
+gfx/binary/026_F1
+{
+ sort 15.5157
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/026_F2
+{
+ sort 15.5158
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/026_F3
+{
+ sort 15.5159
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+gfx/binary/026_B1
+{
+ sort 15.5160
+ cull back
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/026_B2
+{
+ sort 15.5161
+ cull back
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/026_B3
+{
+ sort 15.5162
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+// ============== 027 ==============
+
+gfx/binary/027_F1
+{
+ sort 15.5163
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/027_F2
+{
+ sort 15.5164
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/027_F3
+{
+ sort 15.5165
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+gfx/binary/027_B1
+{
+ sort 15.5166
+ cull back
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/027_B2
+{
+ sort 15.5167
+ cull back
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/027_B3
+{
+ sort 15.5168
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+// ============== 028 ==============
+
+gfx/binary/028_F1
+{
+ sort 15.5169
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/028_F2
+{
+ sort 15.5170
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/028_F3
+{
+ sort 15.5171
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+gfx/binary/028_B1
+{
+ sort 15.5172
+ cull back
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/028_B2
+{
+ sort 15.5173
+ cull back
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/028_B3
+{
+ sort 15.5174
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+// ============== 029 ==============
+
+gfx/binary/029_F1
+{
+ sort 15.5175
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/029_F2
+{
+ sort 15.5176
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/029_F3
+{
+ sort 15.5177
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+gfx/binary/029_B1
+{
+ sort 15.5178
+ cull back
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/029_B2
+{
+ sort 15.5179
+ cull back
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/029_B3
+{
+ sort 15.5180
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+// ============== 030 ==============
+
+gfx/binary/030_F1
+{
+ sort 15.5181
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/030_F2
+{
+ sort 15.5182
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/030_F3
+{
+ sort 15.5183
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+gfx/binary/030_B1
+{
+ sort 15.5184
+ cull back
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/030_B2
+{
+ sort 15.5185
+ cull back
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/030_B3
+{
+ sort 15.5186
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+// ============== 031 ==============
+
+gfx/binary/031_F1
+{
+ sort 15.5187
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/031_F2
+{
+ sort 15.5188
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/031_F3
+{
+ sort 15.5189
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+gfx/binary/031_B1
+{
+ sort 15.5190
+ cull back
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/031_B2
+{
+ sort 15.5191
+ cull back
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/031_B3
+{
+ sort 15.5192
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+// ============== 032 ==============
+
+gfx/binary/032_F1
+{
+ sort 15.5193
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/032_F2
+{
+ sort 15.5194
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/032_F3
+{
+ sort 15.5195
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+gfx/binary/032_B1
+{
+ sort 15.5196
+ cull back
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/032_B2
+{
+ sort 15.5197
+ cull back
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/032_B3
+{
+ sort 15.5198
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+// ============== 033 ==============
+
+gfx/binary/033_F1
+{
+ sort 15.5199
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/033_F2
+{
+ sort 15.5200
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/033_F3
+{
+ sort 15.5201
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+gfx/binary/033_B1
+{
+ sort 15.5202
+ cull back
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/033_B2
+{
+ sort 15.5203
+ cull back
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/033_B3
+{
+ sort 15.5204
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+// ============== 034 ==============
+
+gfx/binary/034_F1
+{
+ sort 15.5205
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/034_F2
+{
+ sort 15.5206
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/034_F3
+{
+ sort 15.5207
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+gfx/binary/034_B1
+{
+ sort 15.5208
+ cull back
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/034_B2
+{
+ sort 15.5209
+ cull back
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/034_B3
+{
+ sort 15.5210
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+// ============== 035 ==============
+
+gfx/binary/035_F1
+{
+ sort 15.5211
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/035_F2
+{
+ sort 15.5212
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/035_F3
+{
+ sort 15.5213
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+gfx/binary/035_B1
+{
+ sort 15.5214
+ cull back
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/035_B2
+{
+ sort 15.5215
+ cull back
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/035_B3
+{
+ sort 15.5216
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+// ============== 036 ==============
+
+gfx/binary/036_F1
+{
+ sort 15.5217
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/036_F2
+{
+ sort 15.5218
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/036_F3
+{
+ sort 15.5219
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+gfx/binary/036_B1
+{
+ sort 15.5220
+ cull back
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/036_B2
+{
+ sort 15.5221
+ cull back
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/036_B3
+{
+ sort 15.5222
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+// ============== 037 ==============
+
+gfx/binary/037_F1
+{
+ sort 15.5223
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/037_F2
+{
+ sort 15.5224
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/037_F3
+{
+ sort 15.5225
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+gfx/binary/037_B1
+{
+ sort 15.5226
+ cull back
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/037_B2
+{
+ sort 15.5227
+ cull back
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/037_B3
+{
+ sort 15.5228
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+// ============== 038 ==============
+
+gfx/binary/038_F1
+{
+ sort 15.5229
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/038_F2
+{
+ sort 15.5230
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/038_F3
+{
+ sort 15.5231
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+gfx/binary/038_B1
+{
+ sort 15.5232
+ cull back
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/038_B2
+{
+ sort 15.5233
+ cull back
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/038_B3
+{
+ sort 15.5234
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+// ============== 039 ==============
+
+gfx/binary/039_F1
+{
+ sort 15.5235
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/039_F2
+{
+ sort 15.5236
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/039_F3
+{
+ sort 15.5237
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+gfx/binary/039_B1
+{
+ sort 15.5238
+ cull back
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/039_B2
+{
+ sort 15.5239
+ cull back
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/039_B3
+{
+ sort 15.5240
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+// ============== 040 ==============
+
+gfx/binary/040_F1
+{
+ sort 15.5241
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/040_F2
+{
+ sort 15.5242
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/040_F3
+{
+ sort 15.5243
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+gfx/binary/040_B1
+{
+ sort 15.5244
+ cull back
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/040_B2
+{
+ sort 15.5245
+ cull back
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/040_B3
+{
+ sort 15.5246
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+// ============== 041 ==============
+
+gfx/binary/041_F1
+{
+ sort 15.5247
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/041_F2
+{
+ sort 15.5248
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/041_F3
+{
+ sort 15.5249
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+gfx/binary/041_B1
+{
+ sort 15.5250
+ cull back
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/041_B2
+{
+ sort 15.5251
+ cull back
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/041_B3
+{
+ sort 15.5252
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+// ============== 042 ==============
+
+gfx/binary/042_F1
+{
+ sort 15.5253
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/042_F2
+{
+ sort 15.5254
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/042_F3
+{
+ sort 15.5255
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+gfx/binary/042_B1
+{
+ sort 15.5256
+ cull back
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/042_B2
+{
+ sort 15.5257
+ cull back
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/042_B3
+{
+ sort 15.5258
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+// ============== 043 ==============
+
+gfx/binary/043_F1
+{
+ sort 15.5259
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/043_F2
+{
+ sort 15.5260
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/043_F3
+{
+ sort 15.5261
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+gfx/binary/043_B1
+{
+ sort 15.5262
+ cull back
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/043_B2
+{
+ sort 15.5263
+ cull back
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/043_B3
+{
+ sort 15.5264
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+// ============== 044 ==============
+
+gfx/binary/044_F1
+{
+ sort 15.5265
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/044_F2
+{
+ sort 15.5266
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/044_F3
+{
+ sort 15.5267
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+gfx/binary/044_B1
+{
+ sort 15.5268
+ cull back
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/044_B2
+{
+ sort 15.5269
+ cull back
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/044_B3
+{
+ sort 15.5270
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+// ============== 045 ==============
+
+gfx/binary/045_F1
+{
+ sort 15.5271
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/045_F2
+{
+ sort 15.5272
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/045_F3
+{
+ sort 15.5273
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+gfx/binary/045_B1
+{
+ sort 15.5274
+ cull back
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/045_B2
+{
+ sort 15.5275
+ cull back
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/045_B3
+{
+ sort 15.5276
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+// ============== 046 ==============
+
+gfx/binary/046_F1
+{
+ sort 15.5277
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/046_F2
+{
+ sort 15.5278
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/046_F3
+{
+ sort 15.5279
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+gfx/binary/046_B1
+{
+ sort 15.5280
+ cull back
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/046_B2
+{
+ sort 15.5281
+ cull back
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/046_B3
+{
+ sort 15.5282
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+// ============== 047 ==============
+
+gfx/binary/047_F1
+{
+ sort 15.5283
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/047_F2
+{
+ sort 15.5284
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/047_F3
+{
+ sort 15.5285
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+gfx/binary/047_B1
+{
+ sort 15.5286
+ cull back
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/047_B2
+{
+ sort 15.5287
+ cull back
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/047_B3
+{
+ sort 15.5288
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+// ============== 048 ==============
+
+gfx/binary/048_F1
+{
+ sort 15.5289
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/048_F2
+{
+ sort 15.5290
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/048_F3
+{
+ sort 15.5291
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+gfx/binary/048_B1
+{
+ sort 15.5292
+ cull back
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/048_B2
+{
+ sort 15.5293
+ cull back
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/048_B3
+{
+ sort 15.5294
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+// ============== 049 ==============
+
+gfx/binary/049_F1
+{
+ sort 15.5295
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/049_F2
+{
+ sort 15.5296
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/049_F3
+{
+ sort 15.5297
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+gfx/binary/049_B1
+{
+ sort 15.5298
+ cull back
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/049_B2
+{
+ sort 15.5299
+ cull back
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/049_B3
+{
+ sort 15.5300
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+// ============== 050 ==============
+
+gfx/binary/050_F1
+{
+ sort 15.5301
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/050_F2
+{
+ sort 15.5302
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/050_F3
+{
+ sort 15.5303
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+gfx/binary/050_B1
+{
+ sort 15.5304
+ cull back
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/050_B2
+{
+ sort 15.5305
+ cull back
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/050_B3
+{
+ sort 15.5306
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+// ============== 051 ==============
+
+gfx/binary/051_F1
+{
+ sort 15.5307
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/051_F2
+{
+ sort 15.5308
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/051_F3
+{
+ sort 15.5309
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+gfx/binary/051_B1
+{
+ sort 15.5310
+ cull back
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/051_B2
+{
+ sort 15.5311
+ cull back
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/051_B3
+{
+ sort 15.5312
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+// ============== 052 ==============
+
+gfx/binary/052_F1
+{
+ sort 15.5313
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/052_F2
+{
+ sort 15.5314
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/052_F3
+{
+ sort 15.5315
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+gfx/binary/052_B1
+{
+ sort 15.5316
+ cull back
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/052_B2
+{
+ sort 15.5317
+ cull back
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/052_B3
+{
+ sort 15.5318
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+// ============== 053 ==============
+
+gfx/binary/053_F1
+{
+ sort 15.5319
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/053_F2
+{
+ sort 15.5320
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/053_F3
+{
+ sort 15.5321
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+gfx/binary/053_B1
+{
+ sort 15.5322
+ cull back
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/053_B2
+{
+ sort 15.5323
+ cull back
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/053_B3
+{
+ sort 15.5324
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+// ============== 054 ==============
+
+gfx/binary/054_F1
+{
+ sort 15.5325
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/054_F2
+{
+ sort 15.5326
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/054_F3
+{
+ sort 15.5327
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+gfx/binary/054_B1
+{
+ sort 15.5328
+ cull back
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/054_B2
+{
+ sort 15.5329
+ cull back
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/054_B3
+{
+ sort 15.5330
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+// ============== 055 ==============
+
+gfx/binary/055_F1
+{
+ sort 15.5331
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/055_F2
+{
+ sort 15.5332
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/055_F3
+{
+ sort 15.5333
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+gfx/binary/055_B1
+{
+ sort 15.5334
+ cull back
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/055_B2
+{
+ sort 15.5335
+ cull back
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/055_B3
+{
+ sort 15.5336
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+// ============== 056 ==============
+
+gfx/binary/056_F1
+{
+ sort 15.5337
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/056_F2
+{
+ sort 15.5338
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/056_F3
+{
+ sort 15.5339
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+gfx/binary/056_B1
+{
+ sort 15.5340
+ cull back
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/056_B2
+{
+ sort 15.5341
+ cull back
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/056_B3
+{
+ sort 15.5342
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+// ============== 057 ==============
+
+gfx/binary/057_F1
+{
+ sort 15.5343
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/057_F2
+{
+ sort 15.5344
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/057_F3
+{
+ sort 15.5345
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+gfx/binary/057_B1
+{
+ sort 15.5346
+ cull back
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/057_B2
+{
+ sort 15.5347
+ cull back
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/057_B3
+{
+ sort 15.5348
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+// ============== 058 ==============
+
+gfx/binary/058_F1
+{
+ sort 15.5349
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/058_F2
+{
+ sort 15.5350
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/058_F3
+{
+ sort 15.5351
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+gfx/binary/058_B1
+{
+ sort 15.5352
+ cull back
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/058_B2
+{
+ sort 15.5353
+ cull back
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/058_B3
+{
+ sort 15.5354
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+// ============== 059 ==============
+
+gfx/binary/059_F1
+{
+ sort 15.5355
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/059_F2
+{
+ sort 15.5356
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/059_F3
+{
+ sort 15.5357
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+gfx/binary/059_B1
+{
+ sort 15.5358
+ cull back
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/059_B2
+{
+ sort 15.5359
+ cull back
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/059_B3
+{
+ sort 15.5360
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+// ============== 060 ==============
+
+gfx/binary/060_F1
+{
+ sort 15.5361
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/060_F2
+{
+ sort 15.5362
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/060_F3
+{
+ sort 15.5363
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+gfx/binary/060_B1
+{
+ sort 15.5364
+ cull back
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/060_B2
+{
+ sort 15.5365
+ cull back
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/060_B3
+{
+ sort 15.5366
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+// ============== 061 ==============
+
+gfx/binary/061_F1
+{
+ sort 15.5367
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/061_F2
+{
+ sort 15.5368
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/061_F3
+{
+ sort 15.5369
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+gfx/binary/061_B1
+{
+ sort 15.5370
+ cull back
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/061_B2
+{
+ sort 15.5371
+ cull back
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/061_B3
+{
+ sort 15.5372
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+// ============== 062 ==============
+
+gfx/binary/062_F1
+{
+ sort 15.5373
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/062_F2
+{
+ sort 15.5374
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/062_F3
+{
+ sort 15.5375
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+gfx/binary/062_B1
+{
+ sort 15.5376
+ cull back
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/062_B2
+{
+ sort 15.5377
+ cull back
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/062_B3
+{
+ sort 15.5378
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+// ============== 063 ==============
+
+gfx/binary/063_F1
+{
+ sort 15.5379
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/063_F2
+{
+ sort 15.5380
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/063_F3
+{
+ sort 15.5381
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+gfx/binary/063_B1
+{
+ sort 15.5382
+ cull back
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/063_B2
+{
+ sort 15.5383
+ cull back
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/063_B3
+{
+ sort 15.5384
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+// ============== 064 ==============
+
+gfx/binary/064_F1
+{
+ sort 15.5385
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/064_F2
+{
+ sort 15.5386
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/064_F3
+{
+ sort 15.5387
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+gfx/binary/064_B1
+{
+ sort 15.5388
+ cull back
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/064_B2
+{
+ sort 15.5389
+ cull back
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/064_B3
+{
+ sort 15.5390
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+// ============== 065 ==============
+
+gfx/binary/065_F1
+{
+ sort 15.5391
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/065_F2
+{
+ sort 15.5392
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/065_F3
+{
+ sort 15.5393
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+gfx/binary/065_B1
+{
+ sort 15.5394
+ cull back
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/065_B2
+{
+ sort 15.5395
+ cull back
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/065_B3
+{
+ sort 15.5396
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+// ============== 066 ==============
+
+gfx/binary/066_F1
+{
+ sort 15.5397
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/066_F2
+{
+ sort 15.5398
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/066_F3
+{
+ sort 15.5399
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+gfx/binary/066_B1
+{
+ sort 15.5400
+ cull back
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/066_B2
+{
+ sort 15.5401
+ cull back
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/066_B3
+{
+ sort 15.5402
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+// ============== 067 ==============
+
+gfx/binary/067_F1
+{
+ sort 15.5403
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/067_F2
+{
+ sort 15.5404
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/067_F3
+{
+ sort 15.5405
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+gfx/binary/067_B1
+{
+ sort 15.5406
+ cull back
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/067_B2
+{
+ sort 15.5407
+ cull back
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/067_B3
+{
+ sort 15.5408
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+// ============== 068 ==============
+
+gfx/binary/068_F1
+{
+ sort 15.5409
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/068_F2
+{
+ sort 15.5410
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/068_F3
+{
+ sort 15.5411
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+gfx/binary/068_B1
+{
+ sort 15.5412
+ cull back
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/068_B2
+{
+ sort 15.5413
+ cull back
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/068_B3
+{
+ sort 15.5414
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+// ============== 069 ==============
+
+gfx/binary/069_F1
+{
+ sort 15.5415
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/069_F2
+{
+ sort 15.5416
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/069_F3
+{
+ sort 15.5417
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+gfx/binary/069_B1
+{
+ sort 15.5418
+ cull back
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/069_B2
+{
+ sort 15.5419
+ cull back
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/069_B3
+{
+ sort 15.5420
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+// ============== 070 ==============
+
+gfx/binary/070_F1
+{
+ sort 15.5421
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/070_F2
+{
+ sort 15.5422
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/070_F3
+{
+ sort 15.5423
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+gfx/binary/070_B1
+{
+ sort 15.5424
+ cull back
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/070_B2
+{
+ sort 15.5425
+ cull back
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/070_B3
+{
+ sort 15.5426
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+// ============== 071 ==============
+
+gfx/binary/071_F1
+{
+ sort 15.5427
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/071_F2
+{
+ sort 15.5428
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/071_F3
+{
+ sort 15.5429
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+gfx/binary/071_B1
+{
+ sort 15.5430
+ cull back
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/071_B2
+{
+ sort 15.5431
+ cull back
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/071_B3
+{
+ sort 15.5432
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+// ============== 072 ==============
+
+gfx/binary/072_F1
+{
+ sort 15.5433
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/072_F2
+{
+ sort 15.5434
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/072_F3
+{
+ sort 15.5435
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+gfx/binary/072_B1
+{
+ sort 15.5436
+ cull back
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/072_B2
+{
+ sort 15.5437
+ cull back
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/072_B3
+{
+ sort 15.5438
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+// ============== 073 ==============
+
+gfx/binary/073_F1
+{
+ sort 15.5439
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/073_F2
+{
+ sort 15.5440
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/073_F3
+{
+ sort 15.5441
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+gfx/binary/073_B1
+{
+ sort 15.5442
+ cull back
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/073_B2
+{
+ sort 15.5443
+ cull back
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/073_B3
+{
+ sort 15.5444
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+// ============== 074 ==============
+
+gfx/binary/074_F1
+{
+ sort 15.5445
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/074_F2
+{
+ sort 15.5446
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/074_F3
+{
+ sort 15.5447
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+gfx/binary/074_B1
+{
+ sort 15.5448
+ cull back
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/074_B2
+{
+ sort 15.5449
+ cull back
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/074_B3
+{
+ sort 15.5450
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+// ============== 075 ==============
+
+gfx/binary/075_F1
+{
+ sort 15.5451
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/075_F2
+{
+ sort 15.5452
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/075_F3
+{
+ sort 15.5453
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+gfx/binary/075_B1
+{
+ sort 15.5454
+ cull back
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/075_B2
+{
+ sort 15.5455
+ cull back
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/075_B3
+{
+ sort 15.5456
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+// ============== 076 ==============
+
+gfx/binary/076_F1
+{
+ sort 15.5457
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/076_F2
+{
+ sort 15.5458
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/076_F3
+{
+ sort 15.5459
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+gfx/binary/076_B1
+{
+ sort 15.5460
+ cull back
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/076_B2
+{
+ sort 15.5461
+ cull back
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/076_B3
+{
+ sort 15.5462
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+// ============== 077 ==============
+
+gfx/binary/077_F1
+{
+ sort 15.5463
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/077_F2
+{
+ sort 15.5464
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/077_F3
+{
+ sort 15.5465
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+gfx/binary/077_B1
+{
+ sort 15.5466
+ cull back
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/077_B2
+{
+ sort 15.5467
+ cull back
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/077_B3
+{
+ sort 15.5468
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+// ============== 078 ==============
+
+gfx/binary/078_F1
+{
+ sort 15.5469
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/078_F2
+{
+ sort 15.5470
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/078_F3
+{
+ sort 15.5471
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+gfx/binary/078_B1
+{
+ sort 15.5472
+ cull back
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/078_B2
+{
+ sort 15.5473
+ cull back
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/078_B3
+{
+ sort 15.5474
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+// ============== 079 ==============
+
+gfx/binary/079_F1
+{
+ sort 15.5475
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/079_F2
+{
+ sort 15.5476
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/079_F3
+{
+ sort 15.5477
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+gfx/binary/079_B1
+{
+ sort 15.5478
+ cull back
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/079_B2
+{
+ sort 15.5479
+ cull back
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/079_B3
+{
+ sort 15.5480
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+// ============== 080 ==============
+
+gfx/binary/080_F1
+{
+ sort 15.5481
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/080_F2
+{
+ sort 15.5482
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/080_F3
+{
+ sort 15.5483
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+gfx/binary/080_B1
+{
+ sort 15.5484
+ cull back
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/080_B2
+{
+ sort 15.5485
+ cull back
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/080_B3
+{
+ sort 15.5486
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+// ============== 081 ==============
+
+gfx/binary/081_F1
+{
+ sort 15.5487
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/081_F2
+{
+ sort 15.5488
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/081_F3
+{
+ sort 15.5489
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+gfx/binary/081_B1
+{
+ sort 15.5490
+ cull back
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/081_B2
+{
+ sort 15.5491
+ cull back
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/081_B3
+{
+ sort 15.5492
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+// ============== 082 ==============
+
+gfx/binary/082_F1
+{
+ sort 15.5493
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/082_F2
+{
+ sort 15.5494
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/082_F3
+{
+ sort 15.5495
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+gfx/binary/082_B1
+{
+ sort 15.5496
+ cull back
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/082_B2
+{
+ sort 15.5497
+ cull back
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/082_B3
+{
+ sort 15.5498
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+// ============== 083 ==============
+
+gfx/binary/083_F1
+{
+ sort 15.5499
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/083_F2
+{
+ sort 15.5500
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/083_F3
+{
+ sort 15.5501
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+gfx/binary/083_B1
+{
+ sort 15.5502
+ cull back
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/083_B2
+{
+ sort 15.5503
+ cull back
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/083_B3
+{
+ sort 15.5504
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+// ============== 084 ==============
+
+gfx/binary/084_F1
+{
+ sort 15.5505
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/084_F2
+{
+ sort 15.5506
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/084_F3
+{
+ sort 15.5507
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+gfx/binary/084_B1
+{
+ sort 15.5508
+ cull back
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/084_B2
+{
+ sort 15.5509
+ cull back
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/084_B3
+{
+ sort 15.5510
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+// ============== 085 ==============
+
+gfx/binary/085_F1
+{
+ sort 15.5511
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/085_F2
+{
+ sort 15.5512
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/085_F3
+{
+ sort 15.5513
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+gfx/binary/085_B1
+{
+ sort 15.5514
+ cull back
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/085_B2
+{
+ sort 15.5515
+ cull back
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/085_B3
+{
+ sort 15.5516
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+// ============== 086 ==============
+
+gfx/binary/086_F1
+{
+ sort 15.5517
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/086_F2
+{
+ sort 15.5518
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/086_F3
+{
+ sort 15.5519
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+gfx/binary/086_B1
+{
+ sort 15.5520
+ cull back
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/086_B2
+{
+ sort 15.5521
+ cull back
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/086_B3
+{
+ sort 15.5522
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+// ============== 087 ==============
+
+gfx/binary/087_F1
+{
+ sort 15.5523
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/087_F2
+{
+ sort 15.5524
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/087_F3
+{
+ sort 15.5525
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+gfx/binary/087_B1
+{
+ sort 15.5526
+ cull back
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/087_B2
+{
+ sort 15.5527
+ cull back
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/087_B3
+{
+ sort 15.5528
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+// ============== 088 ==============
+
+gfx/binary/088_F1
+{
+ sort 15.5529
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/088_F2
+{
+ sort 15.5530
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/088_F3
+{
+ sort 15.5531
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+gfx/binary/088_B1
+{
+ sort 15.5532
+ cull back
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/088_B2
+{
+ sort 15.5533
+ cull back
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/088_B3
+{
+ sort 15.5534
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+// ============== 089 ==============
+
+gfx/binary/089_F1
+{
+ sort 15.5535
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/089_F2
+{
+ sort 15.5536
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/089_F3
+{
+ sort 15.5537
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+gfx/binary/089_B1
+{
+ sort 15.5538
+ cull back
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/089_B2
+{
+ sort 15.5539
+ cull back
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/089_B3
+{
+ sort 15.5540
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+// ============== 090 ==============
+
+gfx/binary/090_F1
+{
+ sort 15.5541
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/090_F2
+{
+ sort 15.5542
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/090_F3
+{
+ sort 15.5543
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+gfx/binary/090_B1
+{
+ sort 15.5544
+ cull back
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/090_B2
+{
+ sort 15.5545
+ cull back
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/090_B3
+{
+ sort 15.5546
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+// ============== 091 ==============
+
+gfx/binary/091_F1
+{
+ sort 15.5547
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/091_F2
+{
+ sort 15.5548
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/091_F3
+{
+ sort 15.5549
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+gfx/binary/091_B1
+{
+ sort 15.5550
+ cull back
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/091_B2
+{
+ sort 15.5551
+ cull back
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/091_B3
+{
+ sort 15.5552
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+// ============== 092 ==============
+
+gfx/binary/092_F1
+{
+ sort 15.5553
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/092_F2
+{
+ sort 15.5554
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/092_F3
+{
+ sort 15.5555
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+gfx/binary/092_B1
+{
+ sort 15.5556
+ cull back
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/092_B2
+{
+ sort 15.5557
+ cull back
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/092_B3
+{
+ sort 15.5558
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+// ============== 093 ==============
+
+gfx/binary/093_F1
+{
+ sort 15.5559
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/093_F2
+{
+ sort 15.5560
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/093_F3
+{
+ sort 15.5561
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+gfx/binary/093_B1
+{
+ sort 15.5562
+ cull back
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/093_B2
+{
+ sort 15.5563
+ cull back
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/093_B3
+{
+ sort 15.5564
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+// ============== 094 ==============
+
+gfx/binary/094_F1
+{
+ sort 15.5565
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/094_F2
+{
+ sort 15.5566
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/094_F3
+{
+ sort 15.5567
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+gfx/binary/094_B1
+{
+ sort 15.5568
+ cull back
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/094_B2
+{
+ sort 15.5569
+ cull back
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/094_B3
+{
+ sort 15.5570
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+// ============== 095 ==============
+
+gfx/binary/095_F1
+{
+ sort 15.5571
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/095_F2
+{
+ sort 15.5572
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/095_F3
+{
+ sort 15.5573
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+gfx/binary/095_B1
+{
+ sort 15.5574
+ cull back
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/095_B2
+{
+ sort 15.5575
+ cull back
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/095_B3
+{
+ sort 15.5576
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+// ============== 096 ==============
+
+gfx/binary/096_F1
+{
+ sort 15.5577
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/096_F2
+{
+ sort 15.5578
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/096_F3
+{
+ sort 15.5579
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+gfx/binary/096_B1
+{
+ sort 15.5580
+ cull back
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/096_B2
+{
+ sort 15.5581
+ cull back
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/096_B3
+{
+ sort 15.5582
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+// ============== 097 ==============
+
+gfx/binary/097_F1
+{
+ sort 15.5583
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/097_F2
+{
+ sort 15.5584
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/097_F3
+{
+ sort 15.5585
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+gfx/binary/097_B1
+{
+ sort 15.5586
+ cull back
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/097_B2
+{
+ sort 15.5587
+ cull back
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/097_B3
+{
+ sort 15.5588
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+// ============== 098 ==============
+
+gfx/binary/098_F1
+{
+ sort 15.5589
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/098_F2
+{
+ sort 15.5590
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/098_F3
+{
+ sort 15.5591
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+gfx/binary/098_B1
+{
+ sort 15.5592
+ cull back
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/098_B2
+{
+ sort 15.5593
+ cull back
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/098_B3
+{
+ sort 15.5594
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+// ============== 099 ==============
+
+gfx/binary/099_F1
+{
+ sort 15.5595
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/099_F2
+{
+ sort 15.5596
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/099_F3
+{
+ sort 15.5597
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+gfx/binary/099_B1
+{
+ sort 15.5598
+ cull back
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/099_B2
+{
+ sort 15.5599
+ cull back
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/099_B3
+{
+ sort 15.5600
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+// ============== 100 ==============
+
+gfx/binary/100_F1
+{
+ sort 15.5601
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/100_F2
+{
+ sort 15.5602
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/100_F3
+{
+ sort 15.5603
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+gfx/binary/100_B1
+{
+ sort 15.5604
+ cull back
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/100_B2
+{
+ sort 15.5605
+ cull back
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/100_B3
+{
+ sort 15.5606
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+// ============== 101 ==============
+
+gfx/binary/101_F1
+{
+ sort 15.5607
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/101_F2
+{
+ sort 15.5608
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/101_F3
+{
+ sort 15.5609
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+gfx/binary/101_B1
+{
+ sort 15.5610
+ cull back
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/101_B2
+{
+ sort 15.5611
+ cull back
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/101_B3
+{
+ sort 15.5612
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+// ============== 102 ==============
+
+gfx/binary/102_F1
+{
+ sort 15.5613
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/102_F2
+{
+ sort 15.5614
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/102_F3
+{
+ sort 15.5615
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+gfx/binary/102_B1
+{
+ sort 15.5616
+ cull back
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/102_B2
+{
+ sort 15.5617
+ cull back
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/102_B3
+{
+ sort 15.5618
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+// ============== 103 ==============
+
+gfx/binary/103_F1
+{
+ sort 15.5619
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/103_F2
+{
+ sort 15.5620
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/103_F3
+{
+ sort 15.5621
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+gfx/binary/103_B1
+{
+ sort 15.5622
+ cull back
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/103_B2
+{
+ sort 15.5623
+ cull back
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/103_B3
+{
+ sort 15.5624
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+// ============== 104 ==============
+
+gfx/binary/104_F1
+{
+ sort 15.5625
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/104_F2
+{
+ sort 15.5626
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/104_F3
+{
+ sort 15.5627
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+gfx/binary/104_B1
+{
+ sort 15.5628
+ cull back
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/104_B2
+{
+ sort 15.5629
+ cull back
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/104_B3
+{
+ sort 15.5630
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+// ============== 105 ==============
+
+gfx/binary/105_F1
+{
+ sort 15.5631
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/105_F2
+{
+ sort 15.5632
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/105_F3
+{
+ sort 15.5633
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+gfx/binary/105_B1
+{
+ sort 15.5634
+ cull back
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/105_B2
+{
+ sort 15.5635
+ cull back
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/105_B3
+{
+ sort 15.5636
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+// ============== 106 ==============
+
+gfx/binary/106_F1
+{
+ sort 15.5637
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/106_F2
+{
+ sort 15.5638
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/106_F3
+{
+ sort 15.5639
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+gfx/binary/106_B1
+{
+ sort 15.5640
+ cull back
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/106_B2
+{
+ sort 15.5641
+ cull back
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/106_B3
+{
+ sort 15.5642
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+// ============== 107 ==============
+
+gfx/binary/107_F1
+{
+ sort 15.5643
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/107_F2
+{
+ sort 15.5644
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/107_F3
+{
+ sort 15.5645
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+gfx/binary/107_B1
+{
+ sort 15.5646
+ cull back
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/107_B2
+{
+ sort 15.5647
+ cull back
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/107_B3
+{
+ sort 15.5648
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+// ============== 108 ==============
+
+gfx/binary/108_F1
+{
+ sort 15.5649
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/108_F2
+{
+ sort 15.5650
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/108_F3
+{
+ sort 15.5651
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+gfx/binary/108_B1
+{
+ sort 15.5652
+ cull back
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/108_B2
+{
+ sort 15.5653
+ cull back
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/108_B3
+{
+ sort 15.5654
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+// ============== 109 ==============
+
+gfx/binary/109_F1
+{
+ sort 15.5655
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/109_F2
+{
+ sort 15.5656
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/109_F3
+{
+ sort 15.5657
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+gfx/binary/109_B1
+{
+ sort 15.5658
+ cull back
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/109_B2
+{
+ sort 15.5659
+ cull back
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/109_B3
+{
+ sort 15.5660
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+// ============== 110 ==============
+
+gfx/binary/110_F1
+{
+ sort 15.5661
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/110_F2
+{
+ sort 15.5662
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/110_F3
+{
+ sort 15.5663
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+gfx/binary/110_B1
+{
+ sort 15.5664
+ cull back
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/110_B2
+{
+ sort 15.5665
+ cull back
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/110_B3
+{
+ sort 15.5666
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+// ============== 111 ==============
+
+gfx/binary/111_F1
+{
+ sort 15.5667
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/111_F2
+{
+ sort 15.5668
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/111_F3
+{
+ sort 15.5669
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+gfx/binary/111_B1
+{
+ sort 15.5670
+ cull back
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/111_B2
+{
+ sort 15.5671
+ cull back
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/111_B3
+{
+ sort 15.5672
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+// ============== 112 ==============
+
+gfx/binary/112_F1
+{
+ sort 15.5673
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/112_F2
+{
+ sort 15.5674
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/112_F3
+{
+ sort 15.5675
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+gfx/binary/112_B1
+{
+ sort 15.5676
+ cull back
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/112_B2
+{
+ sort 15.5677
+ cull back
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/112_B3
+{
+ sort 15.5678
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+// ============== 113 ==============
+
+gfx/binary/113_F1
+{
+ sort 15.5679
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/113_F2
+{
+ sort 15.5680
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/113_F3
+{
+ sort 15.5681
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+gfx/binary/113_B1
+{
+ sort 15.5682
+ cull back
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/113_B2
+{
+ sort 15.5683
+ cull back
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/113_B3
+{
+ sort 15.5684
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+// ============== 114 ==============
+
+gfx/binary/114_F1
+{
+ sort 15.5685
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/114_F2
+{
+ sort 15.5686
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/114_F3
+{
+ sort 15.5687
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+gfx/binary/114_B1
+{
+ sort 15.5688
+ cull back
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/114_B2
+{
+ sort 15.5689
+ cull back
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/114_B3
+{
+ sort 15.5690
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+// ============== 115 ==============
+
+gfx/binary/115_F1
+{
+ sort 15.5691
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/115_F2
+{
+ sort 15.5692
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/115_F3
+{
+ sort 15.5693
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+gfx/binary/115_B1
+{
+ sort 15.5694
+ cull back
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/115_B2
+{
+ sort 15.5695
+ cull back
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/115_B3
+{
+ sort 15.5696
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+// ============== 116 ==============
+
+gfx/binary/116_F1
+{
+ sort 15.5697
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/116_F2
+{
+ sort 15.5698
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/116_F3
+{
+ sort 15.5699
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+gfx/binary/116_B1
+{
+ sort 15.5700
+ cull back
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/116_B2
+{
+ sort 15.5701
+ cull back
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/116_B3
+{
+ sort 15.5702
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+// ============== 117 ==============
+
+gfx/binary/117_F1
+{
+ sort 15.5703
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/117_F2
+{
+ sort 15.5704
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/117_F3
+{
+ sort 15.5705
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+gfx/binary/117_B1
+{
+ sort 15.5706
+ cull back
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/117_B2
+{
+ sort 15.5707
+ cull back
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/117_B3
+{
+ sort 15.5708
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+// ============== 118 ==============
+
+gfx/binary/118_F1
+{
+ sort 15.5709
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/118_F2
+{
+ sort 15.5710
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/118_F3
+{
+ sort 15.5711
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+gfx/binary/118_B1
+{
+ sort 15.5712
+ cull back
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/118_B2
+{
+ sort 15.5713
+ cull back
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/118_B3
+{
+ sort 15.5714
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+// ============== 119 ==============
+
+gfx/binary/119_F1
+{
+ sort 15.5715
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/119_F2
+{
+ sort 15.5716
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/119_F3
+{
+ sort 15.5717
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+gfx/binary/119_B1
+{
+ sort 15.5718
+ cull back
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/119_B2
+{
+ sort 15.5719
+ cull back
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/119_B3
+{
+ sort 15.5720
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+// ============== 120 ==============
+
+gfx/binary/120_F1
+{
+ sort 15.5721
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/120_F2
+{
+ sort 15.5722
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/120_F3
+{
+ sort 15.5723
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+gfx/binary/120_B1
+{
+ sort 15.5724
+ cull back
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/120_B2
+{
+ sort 15.5725
+ cull back
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/120_B3
+{
+ sort 15.5726
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+// ============== 121 ==============
+
+gfx/binary/121_F1
+{
+ sort 15.5727
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/121_F2
+{
+ sort 15.5728
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/121_F3
+{
+ sort 15.5729
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+gfx/binary/121_B1
+{
+ sort 15.5730
+ cull back
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/121_B2
+{
+ sort 15.5731
+ cull back
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/121_B3
+{
+ sort 15.5732
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+// ============== 122 ==============
+
+gfx/binary/122_F1
+{
+ sort 15.5733
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/122_F2
+{
+ sort 15.5734
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/122_F3
+{
+ sort 15.5735
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+gfx/binary/122_B1
+{
+ sort 15.5736
+ cull back
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/122_B2
+{
+ sort 15.5737
+ cull back
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/122_B3
+{
+ sort 15.5738
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+// ============== 123 ==============
+
+gfx/binary/123_F1
+{
+ sort 15.5739
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/123_F2
+{
+ sort 15.5740
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/123_F3
+{
+ sort 15.5741
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+gfx/binary/123_B1
+{
+ sort 15.5742
+ cull back
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/123_B2
+{
+ sort 15.5743
+ cull back
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/123_B3
+{
+ sort 15.5744
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+// ============== 124 ==============
+
+gfx/binary/124_F1
+{
+ sort 15.5745
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/124_F2
+{
+ sort 15.5746
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/124_F3
+{
+ sort 15.5747
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+gfx/binary/124_B1
+{
+ sort 15.5748
+ cull back
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/124_B2
+{
+ sort 15.5749
+ cull back
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/124_B3
+{
+ sort 15.5750
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+// ============== 125 ==============
+
+gfx/binary/125_F1
+{
+ sort 15.5751
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/125_F2
+{
+ sort 15.5752
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/125_F3
+{
+ sort 15.5753
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+gfx/binary/125_B1
+{
+ sort 15.5754
+ cull back
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/125_B2
+{
+ sort 15.5755
+ cull back
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/125_B3
+{
+ sort 15.5756
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+// ============== 126 ==============
+
+gfx/binary/126_F1
+{
+ sort 15.5757
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/126_F2
+{
+ sort 15.5758
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/126_F3
+{
+ sort 15.5759
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+gfx/binary/126_B1
+{
+ sort 15.5760
+ cull back
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/126_B2
+{
+ sort 15.5761
+ cull back
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/126_B3
+{
+ sort 15.5762
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+// ============== 127 ==============
+
+gfx/binary/127_F1
+{
+ sort 15.5763
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/127_F2
+{
+ sort 15.5764
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/127_F3
+{
+ sort 15.5765
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+gfx/binary/127_B1
+{
+ sort 15.5766
+ cull back
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/127_B2
+{
+ sort 15.5767
+ cull back
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/127_B3
+{
+ sort 15.5768
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+// ============== 128 ==============
+
+gfx/binary/128_F1
+{
+ sort 15.5769
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/128_F2
+{
+ sort 15.5770
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/128_F3
+{
+ sort 15.5771
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+gfx/binary/128_B1
+{
+ sort 15.5772
+ cull back
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/128_B2
+{
+ sort 15.5773
+ cull back
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/128_B3
+{
+ sort 15.5774
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+// ============== 129 ==============
+
+gfx/binary/129_F1
+{
+ sort 15.5775
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/129_F2
+{
+ sort 15.5776
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/129_F3
+{
+ sort 15.5777
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+gfx/binary/129_B1
+{
+ sort 15.5778
+ cull back
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/129_B2
+{
+ sort 15.5779
+ cull back
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/129_B3
+{
+ sort 15.5780
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+// ============== 130 ==============
+
+gfx/binary/130_F1
+{
+ sort 15.5781
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/130_F2
+{
+ sort 15.5782
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/130_F3
+{
+ sort 15.5783
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+gfx/binary/130_B1
+{
+ sort 15.5784
+ cull back
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/130_B2
+{
+ sort 15.5785
+ cull back
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/130_B3
+{
+ sort 15.5786
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+// ============== 131 ==============
+
+gfx/binary/131_F1
+{
+ sort 15.5787
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/131_F2
+{
+ sort 15.5788
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/131_F3
+{
+ sort 15.5789
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+gfx/binary/131_B1
+{
+ sort 15.5790
+ cull back
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/131_B2
+{
+ sort 15.5791
+ cull back
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/131_B3
+{
+ sort 15.5792
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+// ============== 132 ==============
+
+gfx/binary/132_F1
+{
+ sort 15.5793
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/132_F2
+{
+ sort 15.5794
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/132_F3
+{
+ sort 15.5795
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+gfx/binary/132_B1
+{
+ sort 15.5796
+ cull back
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/132_B2
+{
+ sort 15.5797
+ cull back
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/132_B3
+{
+ sort 15.5798
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+// ============== 133 ==============
+
+gfx/binary/133_F1
+{
+ sort 15.5799
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/133_F2
+{
+ sort 15.5800
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/133_F3
+{
+ sort 15.5801
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+gfx/binary/133_B1
+{
+ sort 15.5802
+ cull back
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/133_B2
+{
+ sort 15.5803
+ cull back
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/133_B3
+{
+ sort 15.5804
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+// ============== 134 ==============
+
+gfx/binary/134_F1
+{
+ sort 15.5805
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/134_F2
+{
+ sort 15.5806
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/134_F3
+{
+ sort 15.5807
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+gfx/binary/134_B1
+{
+ sort 15.5808
+ cull back
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/134_B2
+{
+ sort 15.5809
+ cull back
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/134_B3
+{
+ sort 15.5810
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+// ============== 135 ==============
+
+gfx/binary/135_F1
+{
+ sort 15.5811
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/135_F2
+{
+ sort 15.5812
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/135_F3
+{
+ sort 15.5813
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+gfx/binary/135_B1
+{
+ sort 15.5814
+ cull back
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/135_B2
+{
+ sort 15.5815
+ cull back
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/135_B3
+{
+ sort 15.5816
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+// ============== 136 ==============
+
+gfx/binary/136_F1
+{
+ sort 15.5817
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/136_F2
+{
+ sort 15.5818
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/136_F3
+{
+ sort 15.5819
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+gfx/binary/136_B1
+{
+ sort 15.5820
+ cull back
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/136_B2
+{
+ sort 15.5821
+ cull back
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/136_B3
+{
+ sort 15.5822
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+// ============== 137 ==============
+
+gfx/binary/137_F1
+{
+ sort 15.5823
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/137_F2
+{
+ sort 15.5824
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/137_F3
+{
+ sort 15.5825
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+gfx/binary/137_B1
+{
+ sort 15.5826
+ cull back
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/137_B2
+{
+ sort 15.5827
+ cull back
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/137_B3
+{
+ sort 15.5828
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+// ============== 138 ==============
+
+gfx/binary/138_F1
+{
+ sort 15.5829
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/138_F2
+{
+ sort 15.5830
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/138_F3
+{
+ sort 15.5831
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+gfx/binary/138_B1
+{
+ sort 15.5832
+ cull back
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/138_B2
+{
+ sort 15.5833
+ cull back
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/138_B3
+{
+ sort 15.5834
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+// ============== 139 ==============
+
+gfx/binary/139_F1
+{
+ sort 15.5835
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/139_F2
+{
+ sort 15.5836
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/139_F3
+{
+ sort 15.5837
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+gfx/binary/139_B1
+{
+ sort 15.5838
+ cull back
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/139_B2
+{
+ sort 15.5839
+ cull back
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/139_B3
+{
+ sort 15.5840
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+// ============== 140 ==============
+
+gfx/binary/140_F1
+{
+ sort 15.5841
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/140_F2
+{
+ sort 15.5842
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/140_F3
+{
+ sort 15.5843
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+gfx/binary/140_B1
+{
+ sort 15.5844
+ cull back
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/140_B2
+{
+ sort 15.5845
+ cull back
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/140_B3
+{
+ sort 15.5846
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+// ============== 141 ==============
+
+gfx/binary/141_F1
+{
+ sort 15.5847
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/141_F2
+{
+ sort 15.5848
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/141_F3
+{
+ sort 15.5849
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+gfx/binary/141_B1
+{
+ sort 15.5850
+ cull back
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/141_B2
+{
+ sort 15.5851
+ cull back
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/141_B3
+{
+ sort 15.5852
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+// ============== 142 ==============
+
+gfx/binary/142_F1
+{
+ sort 15.5853
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/142_F2
+{
+ sort 15.5854
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/142_F3
+{
+ sort 15.5855
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+gfx/binary/142_B1
+{
+ sort 15.5856
+ cull back
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/142_B2
+{
+ sort 15.5857
+ cull back
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/142_B3
+{
+ sort 15.5858
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+// ============== 143 ==============
+
+gfx/binary/143_F1
+{
+ sort 15.5859
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/143_F2
+{
+ sort 15.5860
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/143_F3
+{
+ sort 15.5861
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+gfx/binary/143_B1
+{
+ sort 15.5862
+ cull back
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/143_B2
+{
+ sort 15.5863
+ cull back
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/143_B3
+{
+ sort 15.5864
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+// ============== 144 ==============
+
+gfx/binary/144_F1
+{
+ sort 15.5865
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/144_F2
+{
+ sort 15.5866
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/144_F3
+{
+ sort 15.5867
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+gfx/binary/144_B1
+{
+ sort 15.5868
+ cull back
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/144_B2
+{
+ sort 15.5869
+ cull back
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/144_B3
+{
+ sort 15.5870
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+// ============== 145 ==============
+
+gfx/binary/145_F1
+{
+ sort 15.5871
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/145_F2
+{
+ sort 15.5872
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/145_F3
+{
+ sort 15.5873
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+gfx/binary/145_B1
+{
+ sort 15.5874
+ cull back
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/145_B2
+{
+ sort 15.5875
+ cull back
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/145_B3
+{
+ sort 15.5876
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+// ============== 146 ==============
+
+gfx/binary/146_F1
+{
+ sort 15.5877
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/146_F2
+{
+ sort 15.5878
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/146_F3
+{
+ sort 15.5879
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+gfx/binary/146_B1
+{
+ sort 15.5880
+ cull back
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/146_B2
+{
+ sort 15.5881
+ cull back
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/146_B3
+{
+ sort 15.5882
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+// ============== 147 ==============
+
+gfx/binary/147_F1
+{
+ sort 15.5883
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/147_F2
+{
+ sort 15.5884
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/147_F3
+{
+ sort 15.5885
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+gfx/binary/147_B1
+{
+ sort 15.5886
+ cull back
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/147_B2
+{
+ sort 15.5887
+ cull back
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/147_B3
+{
+ sort 15.5888
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+// ============== 148 ==============
+
+gfx/binary/148_F1
+{
+ sort 15.5889
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/148_F2
+{
+ sort 15.5890
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/148_F3
+{
+ sort 15.5891
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+gfx/binary/148_B1
+{
+ sort 15.5892
+ cull back
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/148_B2
+{
+ sort 15.5893
+ cull back
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/148_B3
+{
+ sort 15.5894
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+// ============== 149 ==============
+
+gfx/binary/149_F1
+{
+ sort 15.5895
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/149_F2
+{
+ sort 15.5896
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/149_F3
+{
+ sort 15.5897
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+gfx/binary/149_B1
+{
+ sort 15.5898
+ cull back
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/149_B2
+{
+ sort 15.5899
+ cull back
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/149_B3
+{
+ sort 15.5900
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+// ============== 150 ==============
+
+gfx/binary/150_F1
+{
+ sort 15.5901
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/150_F2
+{
+ sort 15.5902
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/150_F3
+{
+ sort 15.5903
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+gfx/binary/150_B1
+{
+ sort 15.5904
+ cull back
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/150_B2
+{
+ sort 15.5905
+ cull back
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/150_B3
+{
+ sort 15.5906
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+// ============== 151 ==============
+
+gfx/binary/151_F1
+{
+ sort 15.5907
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/151_F2
+{
+ sort 15.5908
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/151_F3
+{
+ sort 15.5909
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+gfx/binary/151_B1
+{
+ sort 15.5910
+ cull back
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/151_B2
+{
+ sort 15.5911
+ cull back
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/151_B3
+{
+ sort 15.5912
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+// ============== 152 ==============
+
+gfx/binary/152_F1
+{
+ sort 15.5913
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/152_F2
+{
+ sort 15.5914
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/152_F3
+{
+ sort 15.5915
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+gfx/binary/152_B1
+{
+ sort 15.5916
+ cull back
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/152_B2
+{
+ sort 15.5917
+ cull back
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/152_B3
+{
+ sort 15.5918
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+// ============== 153 ==============
+
+gfx/binary/153_F1
+{
+ sort 15.5919
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/153_F2
+{
+ sort 15.5920
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/153_F3
+{
+ sort 15.5921
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+gfx/binary/153_B1
+{
+ sort 15.5922
+ cull back
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/153_B2
+{
+ sort 15.5923
+ cull back
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/153_B3
+{
+ sort 15.5924
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+// ============== 154 ==============
+
+gfx/binary/154_F1
+{
+ sort 15.5925
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/154_F2
+{
+ sort 15.5926
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/154_F3
+{
+ sort 15.5927
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+gfx/binary/154_B1
+{
+ sort 15.5928
+ cull back
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/154_B2
+{
+ sort 15.5929
+ cull back
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/154_B3
+{
+ sort 15.5930
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+// ============== 155 ==============
+
+gfx/binary/155_F1
+{
+ sort 15.5931
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/155_F2
+{
+ sort 15.5932
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/155_F3
+{
+ sort 15.5933
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+gfx/binary/155_B1
+{
+ sort 15.5934
+ cull back
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/155_B2
+{
+ sort 15.5935
+ cull back
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/155_B3
+{
+ sort 15.5936
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+// ============== 156 ==============
+
+gfx/binary/156_F1
+{
+ sort 15.5937
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/156_F2
+{
+ sort 15.5938
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/156_F3
+{
+ sort 15.5939
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+gfx/binary/156_B1
+{
+ sort 15.5940
+ cull back
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/156_B2
+{
+ sort 15.5941
+ cull back
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/156_B3
+{
+ sort 15.5942
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+// ============== 157 ==============
+
+gfx/binary/157_F1
+{
+ sort 15.5943
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/157_F2
+{
+ sort 15.5944
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/157_F3
+{
+ sort 15.5945
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+gfx/binary/157_B1
+{
+ sort 15.5946
+ cull back
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/157_B2
+{
+ sort 15.5947
+ cull back
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/157_B3
+{
+ sort 15.5948
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+// ============== 158 ==============
+
+gfx/binary/158_F1
+{
+ sort 15.5949
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/158_F2
+{
+ sort 15.5950
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/158_F3
+{
+ sort 15.5951
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+gfx/binary/158_B1
+{
+ sort 15.5952
+ cull back
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/158_B2
+{
+ sort 15.5953
+ cull back
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/158_B3
+{
+ sort 15.5954
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+// ============== 159 ==============
+
+gfx/binary/159_F1
+{
+ sort 15.5955
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/159_F2
+{
+ sort 15.5956
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/159_F3
+{
+ sort 15.5957
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+gfx/binary/159_B1
+{
+ sort 15.5958
+ cull back
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/159_B2
+{
+ sort 15.5959
+ cull back
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/159_B3
+{
+ sort 15.5960
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+// ============== 160 ==============
+
+gfx/binary/160_F1
+{
+ sort 15.5961
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/160_F2
+{
+ sort 15.5962
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/160_F3
+{
+ sort 15.5963
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+gfx/binary/160_B1
+{
+ sort 15.5964
+ cull back
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/160_B2
+{
+ sort 15.5965
+ cull back
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/160_B3
+{
+ sort 15.5966
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+// ============== 161 ==============
+
+gfx/binary/161_F1
+{
+ sort 15.5967
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/161_F2
+{
+ sort 15.5968
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/161_F3
+{
+ sort 15.5969
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+gfx/binary/161_B1
+{
+ sort 15.5970
+ cull back
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/161_B2
+{
+ sort 15.5971
+ cull back
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/161_B3
+{
+ sort 15.5972
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+// ============== 162 ==============
+
+gfx/binary/162_F1
+{
+ sort 15.5973
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/162_F2
+{
+ sort 15.5974
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/162_F3
+{
+ sort 15.5975
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+gfx/binary/162_B1
+{
+ sort 15.5976
+ cull back
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/162_B2
+{
+ sort 15.5977
+ cull back
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/162_B3
+{
+ sort 15.5978
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+// ============== 163 ==============
+
+gfx/binary/163_F1
+{
+ sort 15.5979
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/163_F2
+{
+ sort 15.5980
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/163_F3
+{
+ sort 15.5981
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+gfx/binary/163_B1
+{
+ sort 15.5982
+ cull back
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/163_B2
+{
+ sort 15.5983
+ cull back
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/163_B3
+{
+ sort 15.5984
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+// ============== 164 ==============
+
+gfx/binary/164_F1
+{
+ sort 15.5985
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/164_F2
+{
+ sort 15.5986
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/164_F3
+{
+ sort 15.5987
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+gfx/binary/164_B1
+{
+ sort 15.5988
+ cull back
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/164_B2
+{
+ sort 15.5989
+ cull back
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/164_B3
+{
+ sort 15.5990
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+// ============== 165 ==============
+
+gfx/binary/165_F1
+{
+ sort 15.5991
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/165_F2
+{
+ sort 15.5992
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/165_F3
+{
+ sort 15.5993
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+gfx/binary/165_B1
+{
+ sort 15.5994
+ cull back
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/165_B2
+{
+ sort 15.5995
+ cull back
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/165_B3
+{
+ sort 15.5996
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+// ============== 166 ==============
+
+gfx/binary/166_F1
+{
+ sort 15.5997
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/166_F2
+{
+ sort 15.5998
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/166_F3
+{
+ sort 15.5999
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+gfx/binary/166_B1
+{
+ sort 15.6000
+ cull back
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/166_B2
+{
+ sort 15.6001
+ cull back
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/166_B3
+{
+ sort 15.6002
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+// ============== 167 ==============
+
+gfx/binary/167_F1
+{
+ sort 15.6003
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/167_F2
+{
+ sort 15.6004
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/167_F3
+{
+ sort 15.6005
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+gfx/binary/167_B1
+{
+ sort 15.6006
+ cull back
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/167_B2
+{
+ sort 15.6007
+ cull back
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/167_B3
+{
+ sort 15.6008
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+// ============== 168 ==============
+
+gfx/binary/168_F1
+{
+ sort 15.6009
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/168_F2
+{
+ sort 15.6010
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/168_F3
+{
+ sort 15.6011
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+gfx/binary/168_B1
+{
+ sort 15.6012
+ cull back
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/168_B2
+{
+ sort 15.6013
+ cull back
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/168_B3
+{
+ sort 15.6014
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+// ============== 169 ==============
+
+gfx/binary/169_F1
+{
+ sort 15.6015
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/169_F2
+{
+ sort 15.6016
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/169_F3
+{
+ sort 15.6017
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+gfx/binary/169_B1
+{
+ sort 15.6018
+ cull back
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/169_B2
+{
+ sort 15.6019
+ cull back
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/169_B3
+{
+ sort 15.6020
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+// ============== 170 ==============
+
+gfx/binary/170_F1
+{
+ sort 15.6021
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/170_F2
+{
+ sort 15.6022
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/170_F3
+{
+ sort 15.6023
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+gfx/binary/170_B1
+{
+ sort 15.6024
+ cull back
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/170_B2
+{
+ sort 15.6025
+ cull back
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/170_B3
+{
+ sort 15.6026
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+// ============== 171 ==============
+
+gfx/binary/171_F1
+{
+ sort 15.6027
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/171_F2
+{
+ sort 15.6028
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/171_F3
+{
+ sort 15.6029
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+gfx/binary/171_B1
+{
+ sort 15.6030
+ cull back
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/171_B2
+{
+ sort 15.6031
+ cull back
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/171_B3
+{
+ sort 15.6032
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+// ============== 172 ==============
+
+gfx/binary/172_F1
+{
+ sort 15.6033
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/172_F2
+{
+ sort 15.6034
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/172_F3
+{
+ sort 15.6035
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+gfx/binary/172_B1
+{
+ sort 15.6036
+ cull back
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/172_B2
+{
+ sort 15.6037
+ cull back
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/172_B3
+{
+ sort 15.6038
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+// ============== 173 ==============
+
+gfx/binary/173_F1
+{
+ sort 15.6039
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/173_F2
+{
+ sort 15.6040
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/173_F3
+{
+ sort 15.6041
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+gfx/binary/173_B1
+{
+ sort 15.6042
+ cull back
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/173_B2
+{
+ sort 15.6043
+ cull back
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/173_B3
+{
+ sort 15.6044
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+// ============== 174 ==============
+
+gfx/binary/174_F1
+{
+ sort 15.6045
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/174_F2
+{
+ sort 15.6046
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/174_F3
+{
+ sort 15.6047
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+gfx/binary/174_B1
+{
+ sort 15.6048
+ cull back
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/174_B2
+{
+ sort 15.6049
+ cull back
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/174_B3
+{
+ sort 15.6050
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+// ============== 175 ==============
+
+gfx/binary/175_F1
+{
+ sort 15.6051
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/175_F2
+{
+ sort 15.6052
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/175_F3
+{
+ sort 15.6053
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+gfx/binary/175_B1
+{
+ sort 15.6054
+ cull back
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/175_B2
+{
+ sort 15.6055
+ cull back
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/175_B3
+{
+ sort 15.6056
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+// ============== 176 ==============
+
+gfx/binary/176_F1
+{
+ sort 15.6057
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/176_F2
+{
+ sort 15.6058
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/176_F3
+{
+ sort 15.6059
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+gfx/binary/176_B1
+{
+ sort 15.6060
+ cull back
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/176_B2
+{
+ sort 15.6061
+ cull back
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/176_B3
+{
+ sort 15.6062
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+// ============== 177 ==============
+
+gfx/binary/177_F1
+{
+ sort 15.6063
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/177_F2
+{
+ sort 15.6064
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/177_F3
+{
+ sort 15.6065
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+gfx/binary/177_B1
+{
+ sort 15.6066
+ cull back
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/177_B2
+{
+ sort 15.6067
+ cull back
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/177_B3
+{
+ sort 15.6068
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+// ============== 178 ==============
+
+gfx/binary/178_F1
+{
+ sort 15.6069
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/178_F2
+{
+ sort 15.6070
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/178_F3
+{
+ sort 15.6071
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+gfx/binary/178_B1
+{
+ sort 15.6072
+ cull back
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/178_B2
+{
+ sort 15.6073
+ cull back
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/178_B3
+{
+ sort 15.6074
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+// ============== 179 ==============
+
+gfx/binary/179_F1
+{
+ sort 15.6075
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/179_F2
+{
+ sort 15.6076
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/179_F3
+{
+ sort 15.6077
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+gfx/binary/179_B1
+{
+ sort 15.6078
+ cull back
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/179_B2
+{
+ sort 15.6079
+ cull back
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/179_B3
+{
+ sort 15.6080
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+// ============== 180 ==============
+
+gfx/binary/180_F1
+{
+ sort 15.6081
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/180_F2
+{
+ sort 15.6082
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/180_F3
+{
+ sort 15.6083
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+gfx/binary/180_B1
+{
+ sort 15.6084
+ cull back
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/180_B2
+{
+ sort 15.6085
+ cull back
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/180_B3
+{
+ sort 15.6086
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+// ============== 181 ==============
+
+gfx/binary/181_F1
+{
+ sort 15.6087
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/181_F2
+{
+ sort 15.6088
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/181_F3
+{
+ sort 15.6089
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+gfx/binary/181_B1
+{
+ sort 15.6090
+ cull back
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/181_B2
+{
+ sort 15.6091
+ cull back
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/181_B3
+{
+ sort 15.6092
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+// ============== 182 ==============
+
+gfx/binary/182_F1
+{
+ sort 15.6093
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/182_F2
+{
+ sort 15.6094
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/182_F3
+{
+ sort 15.6095
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+gfx/binary/182_B1
+{
+ sort 15.6096
+ cull back
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/182_B2
+{
+ sort 15.6097
+ cull back
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/182_B3
+{
+ sort 15.6098
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+// ============== 183 ==============
+
+gfx/binary/183_F1
+{
+ sort 15.6099
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/183_F2
+{
+ sort 15.6100
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/183_F3
+{
+ sort 15.6101
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+gfx/binary/183_B1
+{
+ sort 15.6102
+ cull back
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/183_B2
+{
+ sort 15.6103
+ cull back
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/183_B3
+{
+ sort 15.6104
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+// ============== 184 ==============
+
+gfx/binary/184_F1
+{
+ sort 15.6105
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/184_F2
+{
+ sort 15.6106
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/184_F3
+{
+ sort 15.6107
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+gfx/binary/184_B1
+{
+ sort 15.6108
+ cull back
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/184_B2
+{
+ sort 15.6109
+ cull back
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/184_B3
+{
+ sort 15.6110
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+// ============== 185 ==============
+
+gfx/binary/185_F1
+{
+ sort 15.6111
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/185_F2
+{
+ sort 15.6112
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/185_F3
+{
+ sort 15.6113
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+gfx/binary/185_B1
+{
+ sort 15.6114
+ cull back
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/185_B2
+{
+ sort 15.6115
+ cull back
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/185_B3
+{
+ sort 15.6116
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+// ============== 186 ==============
+
+gfx/binary/186_F1
+{
+ sort 15.6117
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/186_F2
+{
+ sort 15.6118
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/186_F3
+{
+ sort 15.6119
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+gfx/binary/186_B1
+{
+ sort 15.6120
+ cull back
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/186_B2
+{
+ sort 15.6121
+ cull back
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/186_B3
+{
+ sort 15.6122
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+// ============== 187 ==============
+
+gfx/binary/187_F1
+{
+ sort 15.6123
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/187_F2
+{
+ sort 15.6124
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/187_F3
+{
+ sort 15.6125
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+gfx/binary/187_B1
+{
+ sort 15.6126
+ cull back
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/187_B2
+{
+ sort 15.6127
+ cull back
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/187_B3
+{
+ sort 15.6128
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+// ============== 188 ==============
+
+gfx/binary/188_F1
+{
+ sort 15.6129
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/188_F2
+{
+ sort 15.6130
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/188_F3
+{
+ sort 15.6131
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+gfx/binary/188_B1
+{
+ sort 15.6132
+ cull back
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/188_B2
+{
+ sort 15.6133
+ cull back
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/188_B3
+{
+ sort 15.6134
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+// ============== 189 ==============
+
+gfx/binary/189_F1
+{
+ sort 15.6135
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/189_F2
+{
+ sort 15.6136
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/189_F3
+{
+ sort 15.6137
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+gfx/binary/189_B1
+{
+ sort 15.6138
+ cull back
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/189_B2
+{
+ sort 15.6139
+ cull back
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/189_B3
+{
+ sort 15.6140
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+// ============== 190 ==============
+
+gfx/binary/190_F1
+{
+ sort 15.6141
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/190_F2
+{
+ sort 15.6142
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/190_F3
+{
+ sort 15.6143
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+gfx/binary/190_B1
+{
+ sort 15.6144
+ cull back
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/190_B2
+{
+ sort 15.6145
+ cull back
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/190_B3
+{
+ sort 15.6146
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+// ============== 191 ==============
+
+gfx/binary/191_F1
+{
+ sort 15.6147
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/191_F2
+{
+ sort 15.6148
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/191_F3
+{
+ sort 15.6149
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+gfx/binary/191_B1
+{
+ sort 15.6150
+ cull back
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/191_B2
+{
+ sort 15.6151
+ cull back
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/191_B3
+{
+ sort 15.6152
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+// ============== 192 ==============
+
+gfx/binary/192_F1
+{
+ sort 15.6153
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/192_F2
+{
+ sort 15.6154
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/192_F3
+{
+ sort 15.6155
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+gfx/binary/192_B1
+{
+ sort 15.6156
+ cull back
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/192_B2
+{
+ sort 15.6157
+ cull back
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/192_B3
+{
+ sort 15.6158
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+// ============== 193 ==============
+
+gfx/binary/193_F1
+{
+ sort 15.6159
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/193_F2
+{
+ sort 15.6160
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/193_F3
+{
+ sort 15.6161
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+gfx/binary/193_B1
+{
+ sort 15.6162
+ cull back
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/193_B2
+{
+ sort 15.6163
+ cull back
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/193_B3
+{
+ sort 15.6164
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+// ============== 194 ==============
+
+gfx/binary/194_F1
+{
+ sort 15.6165
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/194_F2
+{
+ sort 15.6166
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/194_F3
+{
+ sort 15.6167
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+gfx/binary/194_B1
+{
+ sort 15.6168
+ cull back
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/194_B2
+{
+ sort 15.6169
+ cull back
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/194_B3
+{
+ sort 15.6170
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+// ============== 195 ==============
+
+gfx/binary/195_F1
+{
+ sort 15.6171
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/195_F2
+{
+ sort 15.6172
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/195_F3
+{
+ sort 15.6173
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+gfx/binary/195_B1
+{
+ sort 15.6174
+ cull back
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/195_B2
+{
+ sort 15.6175
+ cull back
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/195_B3
+{
+ sort 15.6176
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+// ============== 196 ==============
+
+gfx/binary/196_F1
+{
+ sort 15.6177
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/196_F2
+{
+ sort 15.6178
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/196_F3
+{
+ sort 15.6179
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+gfx/binary/196_B1
+{
+ sort 15.6180
+ cull back
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/196_B2
+{
+ sort 15.6181
+ cull back
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/196_B3
+{
+ sort 15.6182
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+// ============== 197 ==============
+
+gfx/binary/197_F1
+{
+ sort 15.6183
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/197_F2
+{
+ sort 15.6184
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/197_F3
+{
+ sort 15.6185
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+gfx/binary/197_B1
+{
+ sort 15.6186
+ cull back
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/197_B2
+{
+ sort 15.6187
+ cull back
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/197_B3
+{
+ sort 15.6188
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+// ============== 198 ==============
+
+gfx/binary/198_F1
+{
+ sort 15.6189
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/198_F2
+{
+ sort 15.6190
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/198_F3
+{
+ sort 15.6191
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+gfx/binary/198_B1
+{
+ sort 15.6192
+ cull back
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/198_B2
+{
+ sort 15.6193
+ cull back
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/198_B3
+{
+ sort 15.6194
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+// ============== 199 ==============
+
+gfx/binary/199_F1
+{
+ sort 15.6195
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/199_F2
+{
+ sort 15.6196
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/199_F3
+{
+ sort 15.6197
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+gfx/binary/199_B1
+{
+ sort 15.6198
+ cull back
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/199_B2
+{
+ sort 15.6199
+ cull back
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/199_B3
+{
+ sort 15.6200
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+// ============== 200 ==============
+
+gfx/binary/200_F1
+{
+ sort 15.6201
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/200_F2
+{
+ sort 15.6202
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/200_F3
+{
+ sort 15.6203
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+gfx/binary/200_B1
+{
+ sort 15.6204
+ cull back
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/200_B2
+{
+ sort 15.6205
+ cull back
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/200_B3
+{
+ sort 15.6206
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+// ============== 201 ==============
+
+gfx/binary/201_F1
+{
+ sort 15.6207
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/201_F2
+{
+ sort 15.6208
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/201_F3
+{
+ sort 15.6209
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+gfx/binary/201_B1
+{
+ sort 15.6210
+ cull back
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/201_B2
+{
+ sort 15.6211
+ cull back
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/201_B3
+{
+ sort 15.6212
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+// ============== 202 ==============
+
+gfx/binary/202_F1
+{
+ sort 15.6213
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/202_F2
+{
+ sort 15.6214
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/202_F3
+{
+ sort 15.6215
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+gfx/binary/202_B1
+{
+ sort 15.6216
+ cull back
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/202_B2
+{
+ sort 15.6217
+ cull back
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/202_B3
+{
+ sort 15.6218
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+// ============== 203 ==============
+
+gfx/binary/203_F1
+{
+ sort 15.6219
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/203_F2
+{
+ sort 15.6220
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/203_F3
+{
+ sort 15.6221
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+gfx/binary/203_B1
+{
+ sort 15.6222
+ cull back
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/203_B2
+{
+ sort 15.6223
+ cull back
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/203_B3
+{
+ sort 15.6224
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+// ============== 204 ==============
+
+gfx/binary/204_F1
+{
+ sort 15.6225
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/204_F2
+{
+ sort 15.6226
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/204_F3
+{
+ sort 15.6227
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+gfx/binary/204_B1
+{
+ sort 15.6228
+ cull back
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/204_B2
+{
+ sort 15.6229
+ cull back
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/204_B3
+{
+ sort 15.6230
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+// ============== 205 ==============
+
+gfx/binary/205_F1
+{
+ sort 15.6231
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/205_F2
+{
+ sort 15.6232
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/205_F3
+{
+ sort 15.6233
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+gfx/binary/205_B1
+{
+ sort 15.6234
+ cull back
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/205_B2
+{
+ sort 15.6235
+ cull back
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/205_B3
+{
+ sort 15.6236
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+// ============== 206 ==============
+
+gfx/binary/206_F1
+{
+ sort 15.6237
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/206_F2
+{
+ sort 15.6238
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/206_F3
+{
+ sort 15.6239
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+gfx/binary/206_B1
+{
+ sort 15.6240
+ cull back
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/206_B2
+{
+ sort 15.6241
+ cull back
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/206_B3
+{
+ sort 15.6242
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+// ============== 207 ==============
+
+gfx/binary/207_F1
+{
+ sort 15.6243
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/207_F2
+{
+ sort 15.6244
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/207_F3
+{
+ sort 15.6245
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+gfx/binary/207_B1
+{
+ sort 15.6246
+ cull back
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/207_B2
+{
+ sort 15.6247
+ cull back
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/207_B3
+{
+ sort 15.6248
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+// ============== 208 ==============
+
+gfx/binary/208_F1
+{
+ sort 15.6249
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/208_F2
+{
+ sort 15.6250
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/208_F3
+{
+ sort 15.6251
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+gfx/binary/208_B1
+{
+ sort 15.6252
+ cull back
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/208_B2
+{
+ sort 15.6253
+ cull back
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/208_B3
+{
+ sort 15.6254
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+// ============== 209 ==============
+
+gfx/binary/209_F1
+{
+ sort 15.6255
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/209_F2
+{
+ sort 15.6256
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/209_F3
+{
+ sort 15.6257
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+gfx/binary/209_B1
+{
+ sort 15.6258
+ cull back
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/209_B2
+{
+ sort 15.6259
+ cull back
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/209_B3
+{
+ sort 15.6260
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+// ============== 210 ==============
+
+gfx/binary/210_F1
+{
+ sort 15.6261
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/210_F2
+{
+ sort 15.6262
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/210_F3
+{
+ sort 15.6263
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+gfx/binary/210_B1
+{
+ sort 15.6264
+ cull back
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/210_B2
+{
+ sort 15.6265
+ cull back
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/210_B3
+{
+ sort 15.6266
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+// ============== 211 ==============
+
+gfx/binary/211_F1
+{
+ sort 15.6267
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/211_F2
+{
+ sort 15.6268
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/211_F3
+{
+ sort 15.6269
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+gfx/binary/211_B1
+{
+ sort 15.6270
+ cull back
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/211_B2
+{
+ sort 15.6271
+ cull back
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/211_B3
+{
+ sort 15.6272
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+// ============== 212 ==============
+
+gfx/binary/212_F1
+{
+ sort 15.6273
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/212_F2
+{
+ sort 15.6274
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/212_F3
+{
+ sort 15.6275
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+gfx/binary/212_B1
+{
+ sort 15.6276
+ cull back
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/212_B2
+{
+ sort 15.6277
+ cull back
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/212_B3
+{
+ sort 15.6278
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+// ============== 213 ==============
+
+gfx/binary/213_F1
+{
+ sort 15.6279
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/213_F2
+{
+ sort 15.6280
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/213_F3
+{
+ sort 15.6281
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+gfx/binary/213_B1
+{
+ sort 15.6282
+ cull back
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/213_B2
+{
+ sort 15.6283
+ cull back
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/213_B3
+{
+ sort 15.6284
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+// ============== 214 ==============
+
+gfx/binary/214_F1
+{
+ sort 15.6285
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/214_F2
+{
+ sort 15.6286
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/214_F3
+{
+ sort 15.6287
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+gfx/binary/214_B1
+{
+ sort 15.6288
+ cull back
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/214_B2
+{
+ sort 15.6289
+ cull back
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/214_B3
+{
+ sort 15.6290
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+// ============== 215 ==============
+
+gfx/binary/215_F1
+{
+ sort 15.6291
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/215_F2
+{
+ sort 15.6292
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/215_F3
+{
+ sort 15.6293
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+gfx/binary/215_B1
+{
+ sort 15.6294
+ cull back
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/215_B2
+{
+ sort 15.6295
+ cull back
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/215_B3
+{
+ sort 15.6296
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+// ============== 216 ==============
+
+gfx/binary/216_F1
+{
+ sort 15.6297
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/216_F2
+{
+ sort 15.6298
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/216_F3
+{
+ sort 15.6299
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+gfx/binary/216_B1
+{
+ sort 15.6300
+ cull back
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/216_B2
+{
+ sort 15.6301
+ cull back
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/216_B3
+{
+ sort 15.6302
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+// ============== 217 ==============
+
+gfx/binary/217_F1
+{
+ sort 15.6303
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/217_F2
+{
+ sort 15.6304
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/217_F3
+{
+ sort 15.6305
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+gfx/binary/217_B1
+{
+ sort 15.6306
+ cull back
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/217_B2
+{
+ sort 15.6307
+ cull back
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/217_B3
+{
+ sort 15.6308
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+// ============== 218 ==============
+
+gfx/binary/218_F1
+{
+ sort 15.6309
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/218_F2
+{
+ sort 15.6310
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/218_F3
+{
+ sort 15.6311
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+gfx/binary/218_B1
+{
+ sort 15.6312
+ cull back
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/218_B2
+{
+ sort 15.6313
+ cull back
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/218_B3
+{
+ sort 15.6314
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+// ============== 219 ==============
+
+gfx/binary/219_F1
+{
+ sort 15.6315
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/219_F2
+{
+ sort 15.6316
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/219_F3
+{
+ sort 15.6317
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+gfx/binary/219_B1
+{
+ sort 15.6318
+ cull back
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/219_B2
+{
+ sort 15.6319
+ cull back
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/219_B3
+{
+ sort 15.6320
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+// ============== 220 ==============
+
+gfx/binary/220_F1
+{
+ sort 15.6321
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/220_F2
+{
+ sort 15.6322
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/220_F3
+{
+ sort 15.6323
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+gfx/binary/220_B1
+{
+ sort 15.6324
+ cull back
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/220_B2
+{
+ sort 15.6325
+ cull back
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/220_B3
+{
+ sort 15.6326
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+// ============== 221 ==============
+
+gfx/binary/221_F1
+{
+ sort 15.6327
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/221_F2
+{
+ sort 15.6328
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/221_F3
+{
+ sort 15.6329
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+gfx/binary/221_B1
+{
+ sort 15.6330
+ cull back
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/221_B2
+{
+ sort 15.6331
+ cull back
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/221_B3
+{
+ sort 15.6332
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+// ============== 222 ==============
+
+gfx/binary/222_F1
+{
+ sort 15.6333
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/222_F2
+{
+ sort 15.6334
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/222_F3
+{
+ sort 15.6335
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+gfx/binary/222_B1
+{
+ sort 15.6336
+ cull back
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/222_B2
+{
+ sort 15.6337
+ cull back
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/222_B3
+{
+ sort 15.6338
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+// ============== 223 ==============
+
+gfx/binary/223_F1
+{
+ sort 15.6339
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/223_F2
+{
+ sort 15.6340
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/223_F3
+{
+ sort 15.6341
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+gfx/binary/223_B1
+{
+ sort 15.6342
+ cull back
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/223_B2
+{
+ sort 15.6343
+ cull back
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/223_B3
+{
+ sort 15.6344
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+// ============== 224 ==============
+
+gfx/binary/224_F1
+{
+ sort 15.6345
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/224_F2
+{
+ sort 15.6346
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/224_F3
+{
+ sort 15.6347
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+gfx/binary/224_B1
+{
+ sort 15.6348
+ cull back
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/224_B2
+{
+ sort 15.6349
+ cull back
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/224_B3
+{
+ sort 15.6350
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+// ============== 225 ==============
+
+gfx/binary/225_F1
+{
+ sort 15.6351
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/225_F2
+{
+ sort 15.6352
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/225_F3
+{
+ sort 15.6353
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+gfx/binary/225_B1
+{
+ sort 15.6354
+ cull back
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/225_B2
+{
+ sort 15.6355
+ cull back
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/225_B3
+{
+ sort 15.6356
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+// ============== 226 ==============
+
+gfx/binary/226_F1
+{
+ sort 15.6357
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/226_F2
+{
+ sort 15.6358
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/226_F3
+{
+ sort 15.6359
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+gfx/binary/226_B1
+{
+ sort 15.6360
+ cull back
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/226_B2
+{
+ sort 15.6361
+ cull back
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/226_B3
+{
+ sort 15.6362
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+// ============== 227 ==============
+
+gfx/binary/227_F1
+{
+ sort 15.6363
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/227_F2
+{
+ sort 15.6364
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/227_F3
+{
+ sort 15.6365
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+gfx/binary/227_B1
+{
+ sort 15.6366
+ cull back
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/227_B2
+{
+ sort 15.6367
+ cull back
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/227_B3
+{
+ sort 15.6368
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+// ============== 228 ==============
+
+gfx/binary/228_F1
+{
+ sort 15.6369
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/228_F2
+{
+ sort 15.6370
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/228_F3
+{
+ sort 15.6371
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+gfx/binary/228_B1
+{
+ sort 15.6372
+ cull back
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/228_B2
+{
+ sort 15.6373
+ cull back
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/228_B3
+{
+ sort 15.6374
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+// ============== 229 ==============
+
+gfx/binary/229_F1
+{
+ sort 15.6375
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/229_F2
+{
+ sort 15.6376
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/229_F3
+{
+ sort 15.6377
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+gfx/binary/229_B1
+{
+ sort 15.6378
+ cull back
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/229_B2
+{
+ sort 15.6379
+ cull back
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/229_B3
+{
+ sort 15.6380
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+// ============== 230 ==============
+
+gfx/binary/230_F1
+{
+ sort 15.6381
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/230_F2
+{
+ sort 15.6382
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/230_F3
+{
+ sort 15.6383
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+gfx/binary/230_B1
+{
+ sort 15.6384
+ cull back
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/230_B2
+{
+ sort 15.6385
+ cull back
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/230_B3
+{
+ sort 15.6386
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+// ============== 231 ==============
+
+gfx/binary/231_F1
+{
+ sort 15.6387
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/231_F2
+{
+ sort 15.6388
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/231_F3
+{
+ sort 15.6389
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+gfx/binary/231_B1
+{
+ sort 15.6390
+ cull back
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/231_B2
+{
+ sort 15.6391
+ cull back
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/231_B3
+{
+ sort 15.6392
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+// ============== 232 ==============
+
+gfx/binary/232_F1
+{
+ sort 15.6393
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/232_F2
+{
+ sort 15.6394
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/232_F3
+{
+ sort 15.6395
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+gfx/binary/232_B1
+{
+ sort 15.6396
+ cull back
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/232_B2
+{
+ sort 15.6397
+ cull back
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/232_B3
+{
+ sort 15.6398
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+// ============== 233 ==============
+
+gfx/binary/233_F1
+{
+ sort 15.6399
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/233_F2
+{
+ sort 15.6400
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/233_F3
+{
+ sort 15.6401
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+gfx/binary/233_B1
+{
+ sort 15.6402
+ cull back
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/233_B2
+{
+ sort 15.6403
+ cull back
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/233_B3
+{
+ sort 15.6404
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+// ============== 234 ==============
+
+gfx/binary/234_F1
+{
+ sort 15.6405
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/234_F2
+{
+ sort 15.6406
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/234_F3
+{
+ sort 15.6407
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+gfx/binary/234_B1
+{
+ sort 15.6408
+ cull back
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/234_B2
+{
+ sort 15.6409
+ cull back
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/234_B3
+{
+ sort 15.6410
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+// ============== 235 ==============
+
+gfx/binary/235_F1
+{
+ sort 15.6411
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/235_F2
+{
+ sort 15.6412
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/235_F3
+{
+ sort 15.6413
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+gfx/binary/235_B1
+{
+ sort 15.6414
+ cull back
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/235_B2
+{
+ sort 15.6415
+ cull back
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/235_B3
+{
+ sort 15.6416
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+// ============== 236 ==============
+
+gfx/binary/236_F1
+{
+ sort 15.6417
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/236_F2
+{
+ sort 15.6418
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/236_F3
+{
+ sort 15.6419
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+gfx/binary/236_B1
+{
+ sort 15.6420
+ cull back
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/236_B2
+{
+ sort 15.6421
+ cull back
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/236_B3
+{
+ sort 15.6422
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+// ============== 237 ==============
+
+gfx/binary/237_F1
+{
+ sort 15.6423
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/237_F2
+{
+ sort 15.6424
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/237_F3
+{
+ sort 15.6425
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+gfx/binary/237_B1
+{
+ sort 15.6426
+ cull back
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/237_B2
+{
+ sort 15.6427
+ cull back
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/237_B3
+{
+ sort 15.6428
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+// ============== 238 ==============
+
+gfx/binary/238_F1
+{
+ sort 15.6429
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/238_F2
+{
+ sort 15.6430
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/238_F3
+{
+ sort 15.6431
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+gfx/binary/238_B1
+{
+ sort 15.6432
+ cull back
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/238_B2
+{
+ sort 15.6433
+ cull back
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/238_B3
+{
+ sort 15.6434
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+// ============== 239 ==============
+
+gfx/binary/239_F1
+{
+ sort 15.6435
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/239_F2
+{
+ sort 15.6436
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/239_F3
+{
+ sort 15.6437
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+gfx/binary/239_B1
+{
+ sort 15.6438
+ cull back
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/239_B2
+{
+ sort 15.6439
+ cull back
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/239_B3
+{
+ sort 15.6440
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+// ============== 240 ==============
+
+gfx/binary/240_F1
+{
+ sort 15.6441
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/240_F2
+{
+ sort 15.6442
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/240_F3
+{
+ sort 15.6443
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+gfx/binary/240_B1
+{
+ sort 15.6444
+ cull back
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/240_B2
+{
+ sort 15.6445
+ cull back
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/240_B3
+{
+ sort 15.6446
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+// ============== 241 ==============
+
+gfx/binary/241_F1
+{
+ sort 15.6447
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/241_F2
+{
+ sort 15.6448
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/241_F3
+{
+ sort 15.6449
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+gfx/binary/241_B1
+{
+ sort 15.6450
+ cull back
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/241_B2
+{
+ sort 15.6451
+ cull back
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/241_B3
+{
+ sort 15.6452
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+// ============== 242 ==============
+
+gfx/binary/242_F1
+{
+ sort 15.6453
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/242_F2
+{
+ sort 15.6454
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/242_F3
+{
+ sort 15.6455
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+gfx/binary/242_B1
+{
+ sort 15.6456
+ cull back
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/242_B2
+{
+ sort 15.6457
+ cull back
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/242_B3
+{
+ sort 15.6458
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+// ============== 243 ==============
+
+gfx/binary/243_F1
+{
+ sort 15.6459
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/243_F2
+{
+ sort 15.6460
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/243_F3
+{
+ sort 15.6461
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+gfx/binary/243_B1
+{
+ sort 15.6462
+ cull back
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/243_B2
+{
+ sort 15.6463
+ cull back
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/243_B3
+{
+ sort 15.6464
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+// ============== 244 ==============
+
+gfx/binary/244_F1
+{
+ sort 15.6465
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/244_F2
+{
+ sort 15.6466
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/244_F3
+{
+ sort 15.6467
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+gfx/binary/244_B1
+{
+ sort 15.6468
+ cull back
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/244_B2
+{
+ sort 15.6469
+ cull back
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/244_B3
+{
+ sort 15.6470
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+// ============== 245 ==============
+
+gfx/binary/245_F1
+{
+ sort 15.6471
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/245_F2
+{
+ sort 15.6472
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/245_F3
+{
+ sort 15.6473
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+gfx/binary/245_B1
+{
+ sort 15.6474
+ cull back
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/245_B2
+{
+ sort 15.6475
+ cull back
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/245_B3
+{
+ sort 15.6476
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+// ============== 246 ==============
+
+gfx/binary/246_F1
+{
+ sort 15.6477
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/246_F2
+{
+ sort 15.6478
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/246_F3
+{
+ sort 15.6479
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+gfx/binary/246_B1
+{
+ sort 15.6480
+ cull back
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/246_B2
+{
+ sort 15.6481
+ cull back
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/246_B3
+{
+ sort 15.6482
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+// ============== 247 ==============
+
+gfx/binary/247_F1
+{
+ sort 15.6483
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/247_F2
+{
+ sort 15.6484
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/247_F3
+{
+ sort 15.6485
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+gfx/binary/247_B1
+{
+ sort 15.6486
+ cull back
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/247_B2
+{
+ sort 15.6487
+ cull back
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/247_B3
+{
+ sort 15.6488
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+// ============== 248 ==============
+
+gfx/binary/248_F1
+{
+ sort 15.6489
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/248_F2
+{
+ sort 15.6490
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/248_F3
+{
+ sort 15.6491
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+gfx/binary/248_B1
+{
+ sort 15.6492
+ cull back
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/248_B2
+{
+ sort 15.6493
+ cull back
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/248_B3
+{
+ sort 15.6494
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+// ============== 249 ==============
+
+gfx/binary/249_F1
+{
+ sort 15.6495
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/249_F2
+{
+ sort 15.6496
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/249_F3
+{
+ sort 15.6497
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+gfx/binary/249_B1
+{
+ sort 15.6498
+ cull back
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/249_B2
+{
+ sort 15.6499
+ cull back
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/249_B3
+{
+ sort 15.6500
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+// ============== 250 ==============
+
+gfx/binary/250_F1
+{
+ sort 15.6501
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/250_F2
+{
+ sort 15.6502
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/250_F3
+{
+ sort 15.6503
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+gfx/binary/250_B1
+{
+ sort 15.6504
+ cull back
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/250_B2
+{
+ sort 15.6505
+ cull back
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/250_B3
+{
+ sort 15.6506
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+// ============== 251 ==============
+
+gfx/binary/251_F1
+{
+ sort 15.6507
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/251_F2
+{
+ sort 15.6508
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/251_F3
+{
+ sort 15.6509
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+gfx/binary/251_B1
+{
+ sort 15.6510
+ cull back
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/251_B2
+{
+ sort 15.6511
+ cull back
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/251_B3
+{
+ sort 15.6512
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+// ============== 252 ==============
+
+gfx/binary/252_F1
+{
+ sort 15.6513
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/252_F2
+{
+ sort 15.6514
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/252_F3
+{
+ sort 15.6515
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+gfx/binary/252_B1
+{
+ sort 15.6516
+ cull back
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/252_B2
+{
+ sort 15.6517
+ cull back
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/252_B3
+{
+ sort 15.6518
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+// ============== 253 ==============
+
+gfx/binary/253_F1
+{
+ sort 15.6519
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/253_F2
+{
+ sort 15.6520
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/253_F3
+{
+ sort 15.6521
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+gfx/binary/253_B1
+{
+ sort 15.6522
+ cull back
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/253_B2
+{
+ sort 15.6523
+ cull back
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/253_B3
+{
+ sort 15.6524
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+// ============== 254 ==============
+
+gfx/binary/254_F1
+{
+ sort 15.6525
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/254_F2
+{
+ sort 15.6526
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/254_F3
+{
+ sort 15.6527
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+gfx/binary/254_B1
+{
+ sort 15.6528
+ cull back
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/254_B2
+{
+ sort 15.6529
+ cull back
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/254_B3
+{
+ sort 15.6530
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+// ============== 255 ==============
+
+gfx/binary/255_F1
+{
+ sort 15.6531
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/255_F2
+{
+ sort 15.6532
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/255_F3
+{
+ sort 15.6533
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
+gfx/binary/255_B1
+{
+ sort 15.6534
+ cull back
+ {
+ map $whiteimage
+ alphaGen const 0.0
+ blendFunc GL_DST_COLOR GL_ZERO
+ }
+}
+
+gfx/binary/255_B2
+{
+ sort 15.6535
+ cull back
+ {
+ map $whiteimage
+ rgbGen const ( 0.0 0.0 0.0 )
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/binary/255_B3
+{
+ sort 15.6536
+ {
+ map $whiteimage
+ rgbGen exactVertex
+ blendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE
+ }
+}
+
diff --git a/assets/scripts/core.shader b/assets/scripts/core.shader
new file mode 100644
index 0000000..a640d9b
--- /dev/null
+++ b/assets/scripts/core.shader
@@ -0,0 +1,209 @@
+// the REGION shader is generated by the map editor on temporary
+// brushes around a selected area for testing parts of maps
+textures/REGION
+{
+ surfaceparm nolightmap
+}
+
+white
+{
+ {
+ map $whiteimage
+ blendfunc GL_SRC_ALPHA GL_ONE_MINUS_SRC_ALPHA
+ rgbgen vertex
+ }
+}
+
+outline
+{
+ cull none
+ nopicmip
+ nomipmaps
+ {
+ map gfx/2d/outline.tga
+ blendfunc GL_SRC_ALPHA GL_ONE_MINUS_SRC_ALPHA
+ rgbgen vertex
+ }
+}
+
+console
+{
+ nopicmip
+ nomipmaps
+ {
+ map ui/assets/console1.tga
+ blendFunc GL_ONE GL_ZERO
+ tcMod scroll .02 0
+ tcmod scale 4 1
+ }
+ {
+ map ui/assets/console2.jpg
+ blendFunc add
+ tcMod turb 0 .1 0 .1
+ tcMod scale 4 1
+ tcmod scroll 0.2 .1
+ }
+}
+
+gfx/misc/detail
+{
+ nopicmip
+ {
+ map gfx/misc/detail.jpg
+ blendFunc GL_DST_COLOR GL_SRC_COLOR
+ rgbgen identity
+ }
+}
+
+// The console font
+gfx/2d/bigchars
+{
+ nopicmip
+ nomipmaps
+ {
+ map gfx/2d/bigchars.tga
+ blendFunc GL_SRC_ALPHA GL_ONE_MINUS_SRC_ALPHA
+ rgbgen vertex
+ }
+}
+
+gfx/2d/cursor
+{
+ nopicmip
+ nomipmaps
+ {
+ map gfx/2d/cursor.tga
+ }
+}
+
+// projectionShadow is used for cheap squashed model shadows
+projectionShadow
+{
+ polygonOffset
+ deformVertexes projectionShadow
+ {
+ map $whiteimage
+ blendFunc GL_ONE GL_ZERO
+ rgbGen wave square 0 0 0 0
+ }
+}
+
+// blinked on top of lagometer when connection is interrupted
+gfx/2d/net
+{
+ nopicmip
+ {
+ map gfx/2d/net.jpg
+ }
+}
+
+//===============================================================
+
+gfx/2d/numbers/zero_32b
+{
+ nopicmip
+ {
+ map gfx/2d/numbers/zero_32b.tga
+ blendFunc GL_SRC_ALPHA GL_ONE_MINUS_SRC_ALPHA
+ rgbgen vertex
+ }
+}
+gfx/2d/numbers/one_32b
+{
+ nopicmip
+ {
+ map gfx/2d/numbers/one_32b.tga
+ blendFunc GL_SRC_ALPHA GL_ONE_MINUS_SRC_ALPHA
+ rgbgen vertex
+ }
+}
+gfx/2d/numbers/two_32b
+{
+ nopicmip
+ {
+ map gfx/2d/numbers/two_32b.tga
+ blendFunc GL_SRC_ALPHA GL_ONE_MINUS_SRC_ALPHA
+ rgbgen vertex
+ }
+}
+gfx/2d/numbers/three_32b
+{
+ nopicmip
+ {
+ map gfx/2d/numbers/three_32b.tga
+ blendFunc GL_SRC_ALPHA GL_ONE_MINUS_SRC_ALPHA
+ rgbgen vertex
+ }
+}
+gfx/2d/numbers/four_32b
+{
+ nopicmip
+ {
+ map gfx/2d/numbers/four_32b.tga
+ blendFunc GL_SRC_ALPHA GL_ONE_MINUS_SRC_ALPHA
+ rgbgen vertex
+ }
+}
+gfx/2d/numbers/five_32b
+{
+ nopicmip
+ {
+ map gfx/2d/numbers/five_32b.tga
+ blendFunc GL_SRC_ALPHA GL_ONE_MINUS_SRC_ALPHA
+ rgbgen vertex
+ }
+}
+gfx/2d/numbers/six_32b
+{
+ nopicmip
+ {
+ map gfx/2d/numbers/six_32b.tga
+ blendFunc GL_SRC_ALPHA GL_ONE_MINUS_SRC_ALPHA
+ rgbgen vertex
+ }
+}
+gfx/2d/numbers/seven_32b
+{
+ nopicmip
+ {
+ map gfx/2d/numbers/seven_32b.tga
+ blendFunc GL_SRC_ALPHA GL_ONE_MINUS_SRC_ALPHA
+ rgbgen vertex
+ }
+}
+gfx/2d/numbers/eight_32b
+{
+ nopicmip
+ {
+ map gfx/2d/numbers/eight_32b.tga
+ blendFunc GL_SRC_ALPHA GL_ONE_MINUS_SRC_ALPHA
+ rgbgen vertex
+ }
+}
+gfx/2d/numbers/nine_32b
+{
+ nopicmip
+ {
+ map gfx/2d/numbers/nine_32b.tga
+ blendFunc GL_SRC_ALPHA GL_ONE_MINUS_SRC_ALPHA
+ rgbgen vertex
+ }
+}
+gfx/2d/numbers/minus_32b
+{
+ nopicmip
+ {
+ map gfx/2d/numbers/minus_32b.tga
+ blendFunc GL_SRC_ALPHA GL_ONE_MINUS_SRC_ALPHA
+ rgbgen vertex
+ }
+}
+gfx/2d/numbers/infinity_32b
+{
+ nopicmip
+ {
+ map gfx/2d/numbers/infinity_32b.tga
+ blendFunc GL_SRC_ALPHA GL_ONE_MINUS_SRC_ALPHA
+ rgbgen vertex
+ }
+}
diff --git a/assets/scripts/crosshairs.shader b/assets/scripts/crosshairs.shader
new file mode 100644
index 0000000..278a296
--- /dev/null
+++ b/assets/scripts/crosshairs.shader
@@ -0,0 +1,96 @@
+gfx/2d/crosshair-alien_s
+{
+ nopicmip
+ {
+ map gfx/2d/crosshair-alien.tga
+ blendfunc blend
+ rgbGen vertex
+ }
+}
+
+gfx/2d/crosshair-rifle_s
+{
+ nopicmip
+ {
+ map gfx/2d/crosshair-rifle.tga
+ blendfunc blend
+ rgbGen vertex
+ }
+}
+
+gfx/2d/crosshair-prifle_s
+{
+ nopicmip
+ {
+ map gfx/2d/crosshair-prifle.tga
+ blendfunc blend
+ rgbGen vertex
+ }
+}
+
+gfx/2d/crosshair-chaingun_s
+{
+ nopicmip
+ {
+ map gfx/2d/crosshair-chaingun.tga
+ blendfunc blend
+ rgbGen vertex
+ }
+}
+
+gfx/2d/crosshair-mdriver_s
+{
+ nopicmip
+ {
+ map gfx/2d/crosshair-mdriver.tga
+ blendfunc blend
+ rgbGen vertex
+ }
+}
+
+gfx/2d/crosshair-lcannon_s
+{
+ nopicmip
+ {
+ map gfx/2d/crosshair-lcannon.tga
+ blendfunc blend
+ rgbGen vertex
+ }
+}
+
+gfx/2d/crosshair-lgun_s
+{
+ nopicmip
+ {
+ map gfx/2d/crosshair-lgun.tga
+ blendfunc blend
+ rgbGen vertex
+ }
+}
+
+gfx/2d/crosshair-flamer_s
+{
+ nopicmip
+ {
+ clampmap gfx/2d/crosshair-flamer1.tga
+ blendfunc blend
+ tcmod rotate 5
+ rgbGen vertex
+ }
+ {
+ clampmap gfx/2d/crosshair-flamer1.tga
+ blendfunc blend
+ tcmod rotate -5
+ rgbGen vertex
+ }
+}
+
+gfx/2d/crosshair-psaw
+{
+ nopicmip
+ {
+ map gfx/2d/crosshair-psaw.tga
+ blendfunc blend
+ rgbGen vertex
+ }
+} \ No newline at end of file
diff --git a/assets/scripts/mdriver.trail b/assets/scripts/mdriver.trail
new file mode 100644
index 0000000..b1545e6
--- /dev/null
+++ b/assets/scripts/mdriver.trail
@@ -0,0 +1,10 @@
+models/weapons/mdriver/fireTS
+{
+ beam
+ {
+ shader gfx/mdriver/trail
+ width 3.0 3.0
+ textureType stretch 0.94 0.03
+ }
+ lifeTime 70
+}
diff --git a/assets/scripts/misc.particle b/assets/scripts/misc.particle
new file mode 100644
index 0000000..40f3cc0
--- /dev/null
+++ b/assets/scripts/misc.particle
@@ -0,0 +1,378 @@
+firstPersonPoisonCloudPS
+{
+ ejector
+ {
+ particle
+ {
+ shader sync gfx/sprites/poisoncloud
+
+ displacement 0 0 0 ~32.0
+
+ parentVelocityFraction 1.0
+ velocityType static
+ velocityDir linear
+ velocityMagnitude 16
+ velocity 0 0 1 ~0
+
+ accelerationType static
+ accelerationDir linear
+ accelerationMagnitude 300
+ acceleration 0 0 1 0
+
+ radius 0 10.0 40.0
+ alpha 0 0.5 0.0
+ rotation 0 ~360 -
+ bounce 0.5
+
+ lifeTime 1000
+ }
+
+ count 400
+ delay 0
+ period 20 - ~0%
+ }
+}
+
+poisonCloudedPS
+{
+ ejector
+ {
+ particle
+ {
+ shader sync gfx/sprites/poisoncloud
+
+ displacement 0 0 0 ~6.0
+
+ velocityType static
+ velocityDir linear
+ velocityMagnitude 60
+ velocity 0 0 0 ~50
+
+ radius 0 4.0 12.0
+ alpha 0 0.25 0.0
+ rotation 0 ~360 -
+
+ lifeTime 800
+ }
+
+ count 100
+ delay 0
+ period 50 200 ~0%
+ }
+}
+
+
+alienEvolvePS
+{
+ ejector
+ {
+ particle
+ {
+ shader sync gfx/sprites/green_acid
+
+ displacement 0 0 0 ~0
+
+ velocityType static
+ velocityDir linear
+ velocityMagnitude 150~75%
+ velocity 0 0 1 ~50
+
+ accelerationType static
+ accelerationDir linear
+ accelerationMagnitude 800
+ acceleration 0 0 -1 0
+
+ radius 0 5.0 30.0
+ alpha 0 1.0 0.0
+ rotation 0 ~360 -
+ bounce 0.2
+
+ lifeTime 1000
+ }
+
+ count 30
+ delay 0
+ period 5 - ~0%
+ }
+}
+
+alienBleedPS
+{
+ ejector
+ {
+ particle
+ {
+ shader sync gfx/damage/blood.tga
+ displacement 0 0 0 0
+
+ velocityType normal
+
+ velocityDir linear
+
+ velocityMagnitude 15
+ velocity 0 0 0 ~35
+
+ accelerationType static
+ accelerationDir linear
+ acceleration 0 0 -1 ~5
+ accelerationMagnitude 25
+
+ radius 0 5 8
+ alpha 250 .85 0
+ rotation 0 ~-15 ~15
+ bounce 0.0
+ color 0 { 1.0 1.0 0.6 } -
+
+ lifeTime 400~100
+ }
+
+ particle
+ {
+ shader sync gfx/damage/blood.tga
+ displacement 0 0 0 0
+
+ velocityType normal
+
+ velocityDir linear
+
+ velocityMagnitude 15
+ velocity 0 0 0 ~35
+
+ accelerationType static
+ accelerationDir linear
+ acceleration 0 0 -1 ~5
+ accelerationMagnitude 25
+
+ radius 0 5 8
+ alpha 250 .85 0
+ rotation 0 ~165 ~195
+ bounce 0.0
+ color 0 { 1.0 1.0 0.6 } -
+
+ lifeTime 400~100
+ }
+
+ count 2
+ delay 0
+ period 0 - 0
+ }
+
+ thirdPersonOnly
+}
+
+alienBuildableBleedPS
+{
+ ejector
+ {
+ particle
+ {
+ shader sync gfx/damage/blood.tga
+ displacement 0 0 0 0
+
+ velocityType normal
+
+ velocityDir linear
+
+ velocityMagnitude 15
+ velocity 0 0 0 ~35
+
+ accelerationType static
+ accelerationDir linear
+ acceleration 0 0 -1 ~5
+ accelerationMagnitude 25
+
+ radius 0 5 8
+ alpha 250 .85 0
+ rotation 0 ~-15 ~15
+ bounce 0.0
+ color 0 { 1.0 1.0 0.6 } -
+
+ lifeTime 400~100
+ }
+
+ particle
+ {
+ shader sync gfx/damage/blood.tga
+ displacement 0 0 0 0
+
+ velocityType normal
+
+ velocityDir linear
+
+ velocityMagnitude 15
+ velocity 0 0 0 ~35
+
+ accelerationType static
+ accelerationDir linear
+ acceleration 0 0 -1 ~5
+ accelerationMagnitude 25
+
+ radius 0 5 8
+ alpha 250 .85 0
+ rotation 0 ~165 ~195
+ bounce 0.0
+ color 0 { 1.0 1.0 0.6 } -
+
+ lifeTime 400~100
+ }
+
+ count 2
+ delay 0
+ period 0 - 0
+ }
+}
+
+
+humanBleedPS
+{
+ ejector
+ {
+ particle
+ {
+ shader sync gfx/damage/blood.tga
+ displacement 0 0 0 0
+
+ velocityType normal
+
+ velocityDir linear
+
+ velocityMagnitude 15
+ velocity 0 0 0 ~35
+
+ accelerationType static
+ accelerationDir linear
+ acceleration 0 0 -1 ~5
+ accelerationMagnitude 25
+
+ radius 0 5 8
+ alpha 250 .75 0
+ rotation 0 ~-15 ~15
+ bounce 0.0
+ color 0 { 0.8 0.2 0.2 } -
+
+ lifeTime 400~100
+ }
+
+ particle
+ {
+ shader sync gfx/damage/blood.tga
+ displacement 0 0 0 0
+
+ velocityType normal
+
+ velocityDir linear
+
+ velocityMagnitude 15
+ velocity 0 0 0 ~35
+
+ accelerationType static
+ accelerationDir linear
+ acceleration 0 0 -1 ~5
+ accelerationMagnitude 25
+
+ radius 0 5 8
+ alpha 250 .75 0
+ rotation 0 ~-15 ~15
+ bounce 0.0
+ color 0 { 0.8 0.2 0.2 } -
+
+ lifeTime 400~100
+ }
+
+ count 2
+ delay 0
+ period 0 - 0
+ }
+
+ thirdPersonOnly
+}
+
+humanBuildableBleedPS
+{
+ ejector
+ {
+ particle
+ {
+ shader sync flame3 flame4 flame5 flame6 flame7 flame8 flame9 flame10 flame11 flame12 flame13 flame14 flame15 flame16 flame17 flame18 flame19 flame20 flame21 flame22 flame23 flame24 flame25
+ displacement 0 0 0 0
+
+ velocityType normal
+
+ velocityDir linear
+
+ velocityMagnitude 15
+ velocity 0 0 0 ~35
+
+ accelerationType static
+ accelerationDir linear
+ acceleration 0 0 -1 ~5
+ accelerationMagnitude 25
+
+ radius 0 5 8
+ alpha 250 .75 0
+ rotation 0 ~-15 ~15
+ bounce 0.0
+ color 0 { 0.8 0.2 0.2 } -
+
+ lifeTime 200~50
+ }
+
+ particle
+ {
+ shader sync flame3 flame4 flame5 flame6 flame7 flame8 flame9 flame10 flame11 flame12 flame13 flame14 flame15 flame16 flame17 flame18 flame19 flame20 flame21 flame22 flame23 flame24 flame25
+ displacement 0 0 0 0
+
+ velocityType normal
+
+ velocityDir linear
+
+ velocityMagnitude 15
+ velocity 0 0 0 ~35
+
+ accelerationType static
+ accelerationDir linear
+ acceleration 0 0 -1 ~5
+ accelerationMagnitude 25
+
+ radius 0 5 8
+ alpha 250 .75 0
+ rotation 0 ~-15 ~15
+ bounce 0.0
+ color 0 { 0.8 0.2 0.2 } -
+
+ lifeTime 200~50
+ }
+
+ count 2
+ delay 0
+ period 0 - 0
+ }
+
+
+}
+
+disconnectPS
+{
+ ejector
+ {
+ particle
+ {
+ shader sync gfx/sprites/bubble
+ displacement 0 0 0 ~60
+
+ velocityType static
+ velocityDir linear
+ velocityMagnitude 15
+ velocity 0 0 1 ~90
+
+ radius 0 24 32
+ alpha 0 1.0 -
+
+ lifeTime 1000~300
+ }
+
+ count 3
+ delay 0
+ period 0 - 0
+ }
+}
diff --git a/assets/scripts/ui.shader b/assets/scripts/ui.shader
new file mode 100644
index 0000000..a99d4f7
--- /dev/null
+++ b/assets/scripts/ui.shader
@@ -0,0 +1,19 @@
+ui/assets/neutral/squad_h
+{
+ nopicmip
+ {
+ map ui/assets/neutral/squad_h.tga
+ blendFunc GL_SRC_ALPHA GL_ONE_MINUS_SRC_ALPHA
+ rgbgen vertex
+ }
+}
+
+ui/assets/neutral/squad_v
+{
+ nopicmip
+ {
+ map ui/assets/neutral/squad_v.tga
+ blendFunc GL_SRC_ALPHA GL_ONE_MINUS_SRC_ALPHA
+ rgbgen vertex
+ }
+}
diff --git a/assets/scripts/weapons.particle b/assets/scripts/weapons.particle
new file mode 100644
index 0000000..5851fc6
--- /dev/null
+++ b/assets/scripts/weapons.particle
@@ -0,0 +1,890 @@
+models/weapons/hive/missilePS
+{
+ ejector
+ {
+ particle
+ {
+ shader 20 models/weapons/hive/sprite1.tga models/weapons/hive/sprite2.tga
+
+ displacement 0 0 0 ~4.0
+
+ parentVelocityFraction 0.5
+ velocityType static
+ velocityDir linear
+ velocityMagnitude 100
+ velocity 0 0 1 ~180
+
+ accelerationType cent
+ accelerationDir point
+ accelerationMagnitude 2000
+
+ rotation 0 -20.0~40.0 -20.0~40.0
+ radius 0 2.0 2.0
+ alpha 0 1.0 0.0
+ bounce 0.5
+
+ lifeTime 4000
+ }
+
+ count infinite
+ delay 0
+ period 100 - ~0%
+ }
+}
+
+models/weapons/rifle/impactPS
+{
+ ejector
+ {
+ particle
+ {
+ shader sync gfx/rifle/verysmallrock
+
+ displacement 0 0 0 ~4.0
+
+ velocityType normal
+ velocityDir linear
+ velocityMagnitude 100
+ velocity 0 0 0 ~20
+
+ accelerationType static
+ accelerationDir linear
+ accelerationMagnitude 600
+ acceleration 0 0 -1 0
+
+ radius 0 1.0 1.0
+ alpha 0 1.0 0.0
+ rotation 0 ~360 -
+ bounce 0.0
+
+ lifeTime 350
+ }
+
+ count 0~2
+ delay ~100
+ period 0 - ~0%
+ }
+
+ ejector
+ {
+ particle
+ {
+ shader sync gfx/sprites/smoke
+
+ displacement 0 0 0 ~1.0
+ normalDisplacement 3.0
+
+ velocityType normal
+ velocityDir linear
+ velocityMagnitude 20
+ velocity 0 0 0 0
+
+ accelerationType static
+ accelerationDir linear
+ accelerationMagnitude 300
+ acceleration 0 0 1 0
+
+ radius 0 4.0 6.0
+ alpha 0 0.5 0.0
+ rotation 0 ~360 -
+ bounce 0.0
+
+ lifeTime 250
+ }
+
+ count 1
+ delay 0
+ period 0 - ~0%
+ }
+
+ ejector
+ {
+ particle
+ {
+ shader sync gfx/blaster/orange_particle
+
+ normalDisplacement 3.0
+
+ velocityType normal
+ velocityDir linear
+ velocityMagnitude 200
+ velocity 0 0 0 ~160
+
+ accelerationType static
+ accelerationDir linear
+ accelerationMagnitude 600
+ acceleration 0 0 -1 0
+
+ radius 0 3.0 0.0
+ alpha 0 1.0 0.0
+ rotation 0 ~360 -
+ bounce 0.0
+
+ lifeTime 200
+ }
+
+ count 0~1
+ delay 0
+ period 0 - ~0%
+ }
+}
+
+models/weapons/rifle/muzzlePS
+{
+ ejector
+ {
+ particle
+ {
+ shader sync gfx/sprites/smoke
+
+ displacement 0 0 0 ~0.0
+
+ parentVelocityFraction 0.9
+
+ velocityType static
+ velocityDir linear
+ velocityMagnitude 20
+ velocity 0 0 0 0
+
+ accelerationType static
+ accelerationDir linear
+ accelerationMagnitude 300
+ acceleration 0 0 1 0
+
+ radius 0 2.0 4.0
+ alpha 0 0.4 0.0
+ rotation 0 ~360 -
+ bounce 0.0
+
+ lifeTime 200
+ }
+
+ count 1
+ delay 0
+ period 0 - ~0%
+ }
+
+ ejector
+ {
+ particle
+ {
+ model models/weapons/shells/rifle-shell.md3
+
+ displacement -5 -3 0 ~0.0
+
+ parentVelocityFraction 0.85
+
+ velocityType static_transform
+ velocityDir linear
+ velocityMagnitude 200
+ velocity 0 -1 3 ~10
+
+ accelerationType static
+ accelerationDir linear
+ accelerationMagnitude 800
+ acceleration 0 0 -1 0
+
+ radius 0 1.0 -
+ bounce 0.5
+
+ lifeTime 5000
+ }
+
+ count 1
+ delay 0
+ period 0 - ~0%
+ }
+}
+
+models/weapons/shotgun/muzzlePS
+{
+ ejector
+ {
+ particle
+ {
+ shader sync gfx/sprites/smoke
+
+ displacement 0 0 0 ~0.0
+
+ parentVelocityFraction 0.9
+
+ velocityType static
+ velocityDir linear
+ velocityMagnitude 20
+ velocity 0 0 0 0
+
+ accelerationType static
+ accelerationDir linear
+ accelerationMagnitude 300
+ acceleration 0 0 1 0
+
+ radius 0 2.0 4.0
+ alpha 0 0.4 0.0
+ rotation 0 ~360 -
+ bounce 0.0
+
+ lifeTime 200
+ }
+
+ count 1
+ delay 0
+ period 0 - ~0%
+ }
+
+ ejector
+ {
+ particle
+ {
+ model models/weapons/shells/shotgun-shell.md3
+
+ displacement -5 -3 0 ~0.0
+
+ parentVelocityFraction 0.85
+
+ velocityType static_transform
+ velocityDir linear
+ velocityMagnitude 200
+ velocity 0 -1 3 ~10
+
+ accelerationType static
+ accelerationDir linear
+ accelerationMagnitude 800
+ acceleration 0 0 -1 0
+
+ radius 0 1.0 -
+ bounce 0.5
+
+ lifeTime 5000
+ }
+
+ count 1
+ delay 0
+ period 0 - ~0%
+ }
+}
+
+models/weapons/chaingun/muzzlePS
+{
+ ejector
+ {
+ particle
+ {
+ model models/weapons/shells/rifle-shell.md3
+
+ displacement -5 -3 0 ~0.0
+
+ parentVelocityFraction 0.85
+
+ velocityType static_transform
+ velocityDir linear
+ velocityMagnitude 200
+ velocity 0 -1 3 ~10
+
+ accelerationType static
+ accelerationDir linear
+ accelerationMagnitude 800
+ acceleration 0 0 -1 0
+
+ radius 0 1.0 -
+ bounce 0.5
+
+ lifeTime 5000
+ }
+
+ count 1
+ delay 0
+ period 0 - ~0%
+ }
+}
+
+models/weapons/flamer/muzzlePS
+{
+ ejector
+ {
+ particle
+ {
+ shader sync flame3 flame4 flame5 flame6 flame7 flame8 flame9 flame10 flame11 flame12 flame13 flame14 flame15 flame16 flame17 flame18 flame19 flame20 flame21 flame22 flame23 flame24 flame25
+ displacement 0 0 0 ~0.0
+
+ parentVelocityFraction 0.65
+
+ velocityType cent
+ velocityDir linear
+ velocityMagnitude 500
+ velocity 0 0 0 ~0
+
+ physicsRadius 15
+
+ radius 0 4.0 40.0
+ alpha 0 1.0 1.0
+ rotation 0 ~360 -
+ bounce 0.1
+
+ lifeTime 800
+ }
+
+ count infinite
+ delay 0
+ period 15 - ~0%
+ }
+}
+
+models/weapons/level1upg/muzzlePS
+{
+ ejector
+ {
+ particle
+ {
+ shader sync gfx/sprites/poisoncloud
+
+ displacement 0 0 0 ~0.0
+
+ parentVelocityFraction 1.0
+
+ velocityType cent
+ velocityDir linear
+ velocityMagnitude 80
+ velocity 0 0 0 ~50
+
+ radius 0 10.0 25.0
+ alpha 0 0.5 0.0
+ rotation 0 ~360 -
+ bounce 1.0
+
+ lifeTime 800
+ }
+
+ count 20
+ delay 0
+ period 40 - ~0%
+ }
+}
+
+models/weapons/blaster/missilePS
+{
+ ejector
+ {
+ particle
+ {
+ shader sync gfx/blaster/orange_particle
+
+ displacement 0 0 0 ~2.0
+
+ parentVelocityFraction 0.5
+
+ radius 0 1.5 0.0
+ alpha 0 1.0 0.0
+ bounce 0.01
+
+ lifeTime 400
+ }
+
+ count infinite
+ delay 0
+ period 10 - ~0%
+ }
+}
+
+models/weapons/prifle/impactPS
+{
+ ejector
+ {
+ particle
+ {
+ shader sync gfx/prifle/red_blob
+
+ radius 0 3.0 6.0
+ alpha 70 1.0 0.0
+ rotation 0 ~360 -
+
+ lifeTime 140
+ }
+
+ count 1
+ delay 0
+ period 0 - ~0%
+ }
+}
+
+models/weapons/prifle/missilePS
+{
+ ejector
+ {
+ particle
+ {
+ shader sync gfx/prifle/red_blob
+
+ parentVelocityFraction 0.8
+
+ radius 0 2.0 1.5
+ alpha 0 0.8 0.0
+ bounce 0.01
+
+ lifeTime 400
+ }
+
+ count infinite
+ delay 0
+ period 10 - ~0%
+ }
+}
+
+models/weapons/mdriver/impactPS
+{
+ ejector
+ {
+ particle
+ {
+ shader sync gfx/mdriver/green_particle
+
+ displacement 0 0 0 ~2.0
+
+ normalDisplacement 10.0
+
+ velocityType normal
+ velocityDir linear
+ velocityMagnitude 400
+ velocity 0 0 0 ~80
+
+ accelerationType normal
+ accelerationDir linear
+ accelerationMagnitude 200
+ acceleration 0 0 1 ~360
+
+ radius 0 6.0 4.0
+ alpha 0 1.0 0.0
+ rotation 0 ~360 -
+ bounce 0.5
+
+ lifeTime 1000
+ }
+
+ count 10
+ delay 0
+ period 0 - ~0%
+ }
+}
+
+models/weapons/lcannon/missilePS
+{
+ ejector
+ {
+ particle
+ {
+ shader sync gfx/blaster/orange_particle
+
+ displacement 0 0 0 ~3.0
+
+ parentVelocityFraction 1.0
+ velocityType static
+ velocityDir linear
+ velocityMagnitude 120
+ velocity 0 0 1 ~360
+
+ radius 0 1.0 5.0
+ alpha 0 1.0 0.0
+ bounce 0.1
+
+ lifeTime 1000
+ }
+
+ count infinite
+ delay 0
+ period 50 - ~0%
+ }
+}
+
+models/weapons/lcannon/secondaryMissilePS
+{
+ ejector
+ {
+ particle
+ {
+ shader sync gfx/blaster/orange_particle
+
+ displacement 0 0 0 ~3.0
+
+ parentVelocityFraction 0.5
+
+ radius 0 2.0 0.0
+ alpha 0 1.0 0.0
+ bounce 0.1
+
+ lifeTime 400
+ }
+
+ count infinite
+ delay 0
+ period 25 - ~0%
+ }
+}
+
+models/weapons/lcannon/impactPS
+{
+ ejector
+ {
+ particle
+ {
+ shader sync gfx/blaster/orange_particle
+
+ radius 0 8.0 16.0
+ alpha 0 1.0 0.0
+ rotation 0 ~360 -
+
+ scaleWithCharge 0.10
+
+ lifeTime 250
+ }
+
+ count 1
+ delay 0
+ period 0 - ~0%
+ }
+
+ ejector
+ {
+ particle
+ {
+ shader sync gfx/blaster/orange_particle
+
+ displacement 0 0 0 ~2.0
+
+ normalDisplacement 10.0
+
+ velocityType normal
+ velocityDir linear
+ velocityMagnitude 200
+ velocity 0 0 0 ~160
+
+ accelerationType static
+ accelerationDir linear
+ accelerationMagnitude 300
+ acceleration 0 0 -1 0
+
+ radius 0 1.0 5.0
+ alpha 0 1.0 0.0
+ rotation 0 ~360 -
+ bounce 0.8
+
+ lifeTime 2000~1000
+ }
+
+ count 30
+ delay 0
+ period 0 - ~0%
+ }
+
+ ejector
+ {
+ particle
+ {
+ shader sync gfx/lcannon/primary
+
+ displacement 0 0 0 ~10.0
+
+ normalDisplacement 15.0
+
+ velocityType normal
+ velocityDir linear
+ velocityMagnitude 100
+ velocity 0 0 0 ~160
+
+ accelerationType static
+ accelerationDir linear
+ accelerationMagnitude 150
+ acceleration 0 0 -1 0
+
+ radius 0 1.0 0.0
+ alpha 0 1.0 0.0
+ rotation 0 ~360 -
+ bounce 1.0
+
+ scaleWithCharge 0.10
+
+ lifeTime 1000~1000
+ }
+
+ count 6
+ delay 0
+ period 0 - ~0%
+ }
+}
+
+models/weapons/lcannon/secondaryImpactPS
+{
+ ejector
+ {
+ particle
+ {
+ shader sync gfx/blaster/orange_particle
+
+ radius 0 8.0 16.0
+ alpha 0 1.0 0.0
+ rotation 0 ~360 -
+
+ lifeTime 250
+ }
+
+ count 1
+ delay 0
+ period 0 - ~0%
+ }
+
+ ejector
+ {
+ particle
+ {
+ shader sync gfx/blaster/orange_particle
+
+ displacement 0 0 0 ~2.0
+
+ normalDisplacement 10.0
+
+ velocityType normal
+ velocityDir linear
+ velocityMagnitude 150
+ velocity 0 0 0 ~160
+
+ accelerationType static
+ accelerationDir linear
+ accelerationMagnitude 300
+ acceleration 0 0 -1 0
+
+ radius 0 1.0 5.0
+ alpha 0 1.0 0.0
+ rotation 0 ~360 -
+ bounce 0.8
+
+ lifeTime 2000~1000
+ }
+
+ count 10
+ delay 0
+ period 0 - ~0%
+ }
+}
+
+models/weapons/psaw/impactPS
+{
+ ejector
+ {
+ particle
+ {
+ shader sync gfx/psaw/blue_particle
+
+ displacement 0 0 0 ~2.0
+
+ velocityType static
+ velocityDir linear
+ velocityMagnitude 100
+ velocity 0 0 -1 ~25
+
+ accelerationType static
+ accelerationDir linear
+ accelerationMagnitude 800
+ acceleration 0 0 -1 ~10
+
+ radius 0 1.0~2.0 3.0~2.0
+ alpha 0 1.0 1.0
+ rotation 0 ~360 -
+ bounce 0.5
+
+ lifeTime 1000
+ }
+
+ count 3
+ delay 0
+ period 0 - ~0%
+ }
+}
+
+models/weapons/lasgun/impactPS
+{
+ ejector
+ {
+ particle
+ {
+ shader sync gfx/lasgun/purple_particle
+
+ displacement 0 0 0 ~2.0
+ normalDisplacement 7.0
+
+ velocityType normal
+ velocityDir linear
+ velocityMagnitude 100
+ velocity 0 0 0 ~90
+
+ accelerationType static
+ accelerationDir linear
+ accelerationMagnitude 600
+ acceleration 0 0 -1 ~10
+
+ radius 0 3.0~2.0 0.0
+ alpha 0 1.0 1.0
+ rotation 0 ~360 -
+ bounce 0.5
+
+ lifeTime 500
+ }
+
+ count 3
+ delay 0
+ period 0 - ~0%
+ }
+}
+
+models/weapons/grenade/impactTrailPS
+{
+ ejector
+ {
+ particle
+ {
+ shader sync flame3 flame4 flame5 flame6 flame7 flame8 flame9 flame10 flame11 flame12 flame13 flame14 flame15 flame16 flame17 flame18 flame19 flame20 flame21 flame22 flame23 flame24 flame25
+
+ displacement 0 0 0 ~0
+
+ velocityType static
+ velocityDir linear
+ velocityMagnitude 30
+ velocity 0 0 -1 ~0
+
+ radius 0 30.0 10.0
+ alpha 0 1.0 0.0
+ rotation 0 ~360 -
+ bounce 0
+
+ lifeTime 500
+ }
+
+ count 5
+ delay 0
+ period 40 - 0
+ }
+}
+
+models/weapons/grenade/impactPS
+{
+ ejector
+ {
+ particle
+ {
+ shader sync flame3 flame4 flame5 flame6 flame7 flame8 flame9 flame10 flame11 flame12 flame13 flame14 flame15 flame16 flame17 flame18 flame19 flame20 flame21 flame22 flame23 flame24 flame25
+
+ displacement 0 0 11 ~0
+
+ velocityType static
+ velocityDir linear
+ velocityMagnitude 200~75%
+ velocity 0 0 1 ~10
+
+ accelerationType static
+ accelerationDir linear
+ accelerationMagnitude 300
+ acceleration 0 0 -1 0
+
+ radius 0 10.0 40.0
+ alpha 0 1.0 0.0
+ rotation 0 ~360 -
+ bounce 0
+
+ lifeTime 500
+
+ childSystem models/weapons/grenade/impactTrailPS
+ }
+
+ count 5
+ delay 0
+ period 10 - ~0%
+ }
+
+ ejector
+ {
+ particle
+ {
+ shader sync gfx/grenade/flare_01
+
+ displacement 0 0 8 ~0
+
+ velocityType static
+ velocityDir linear
+ velocityMagnitude 10~50%
+ velocity 0 0 1 ~60
+
+ radius 0 100.0 200.0
+ alpha 250 1.0 0.0
+ rotation 0 ~360 -
+ bounce 0.0
+
+ lifeTime 300
+ }
+
+ count 1
+ delay 0
+ period 10 - ~0%
+ }
+
+ ejector
+ {
+ particle
+ {
+ shader sync gfx/sprites/spark
+
+ displacement 0 0 8 ~0
+
+ velocityType static
+ velocityDir linear
+ velocityMagnitude 700~3%
+ velocity 0 0 1 ~180
+
+ accelerationType static
+ accelerationDir linear
+ accelerationMagnitude 800
+ acceleration 0 0 1 0
+
+ radius 0 10.0 2.0
+ alpha 0 1.0 0.0
+ rotation 0 ~360 -
+ bounce 0
+
+ lifeTime 300
+ }
+
+ count 150
+ delay 0
+ period 0 - ~0%
+ }
+}
+
+models/weapons/level3upg/impactPS
+{
+ ejector
+ {
+ particle
+ {
+ shader sync gfx/level3upg/barb_splash
+
+ displacement 0 0 0 ~8
+
+ velocityType normal
+ velocityDir linear
+ velocityMagnitude 800
+ velocity 0 0 1 ~80
+
+ accelerationType static
+ accelerationDir linear
+ accelerationMagnitude 800
+ acceleration 0 0 -1 0
+
+ radius 0 3.0~2.0 0.0
+ alpha 0 1.0 1.0
+ rotation 0 ~360 -
+ bounce 0.4~100%
+
+ lifeTime 175
+ }
+
+ count 12
+ delay 0
+ period 0 - ~0%
+ }
+}
diff --git a/assets/scripts/weapons.shader b/assets/scripts/weapons.shader
new file mode 100644
index 0000000..960aecb
--- /dev/null
+++ b/assets/scripts/weapons.shader
@@ -0,0 +1,93 @@
+gfx/blaster/orange_particle
+{
+ cull disable
+ {
+ map gfx/blaster/orange_particle.tga
+ blendFunc GL_SRC_ALPHA GL_ONE_MINUS_SRC_ALPHA
+ alphaGen vertex
+ rgbGen vertex
+ }
+}
+
+gfx/mdriver/green_particle
+{
+ cull disable
+ {
+ map gfx/mdriver/green_particle.tga
+ blendFunc GL_SRC_ALPHA GL_ONE_MINUS_SRC_ALPHA
+ rgbGen vertex
+ alphaGen vertex
+ }
+}
+
+gfx/mdriver/trail
+{
+ nomipmaps
+ cull disable
+ {
+ map gfx/mdriver/trail.tga
+ blendFunc blend
+ }
+}
+
+gfx/psaw/blue_particle
+{
+ cull disable
+ {
+ map gfx/psaw/blue_particle.jpg
+ blendFunc GL_ONE GL_ONE
+ alphaGen vertex
+ rgbGen vertex
+ }
+}
+
+gfx/rifle/verysmallrock
+{
+ cull disable
+ {
+ map gfx/rifle/verysmallrock.tga
+ blendFunc GL_SRC_ALPHA GL_ONE_MINUS_SRC_ALPHA
+ alphaGen vertex
+ rgbGen vertex
+ }
+}
+
+gfx/prifle/red_blob
+{
+ cull disable
+ {
+ map gfx/prifle/red_blob.tga
+ blendFunc GL_SRC_ALPHA GL_ONE_MINUS_SRC_ALPHA
+ alphaGen vertex
+ }
+}
+
+gfx/prifle/red_streak
+{
+ nomipmaps
+ cull disable
+ {
+ map gfx/prifle/red_streak.tga
+ blendFunc GL_SRC_ALPHA GL_ONE_MINUS_SRC_ALPHA
+ alphaGen vertex
+ }
+}
+
+gfx/lcannon/primary
+{
+ cull disable
+ {
+ animmap 24 gfx/lcannon/primary_1.jpg gfx/lcannon/primary_2.jpg gfx/lcannon/primary_3.jpg gfx/lcannon/primary_4.jpg
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
+gfx/lasgun/purple_particle
+{
+ cull disable
+ {
+ map gfx/lasgun/purple_particle.tga
+ blendFunc GL_ONE GL_ONE
+ }
+}
+
diff --git a/assets/sound/buildables/barricade/sound.cfg b/assets/sound/buildables/barricade/sound.cfg
new file mode 100644
index 0000000..caa49e4
--- /dev/null
+++ b/assets/sound/buildables/barricade/sound.cfg
@@ -0,0 +1,14 @@
+1 0 //construct1.wav
+0 0 //construct2.wav
+0 0 //idle1.wav
+0 0 //idle2.wav
+0 0 //idle3.wav
+1 0 //attack1.wav
+1 0 //attack2.wav
+0 0 //spawn1.wav
+0 0 //spawn2.wav
+1 0 //pain1.wav
+1 0 //pain2.wav
+0 0 //destroy1.wav
+0 0 //destroy2.wav
+0 0 //destroyed.wav
diff --git a/assets/ui/assets/alien/buildstat.cfg b/assets/ui/assets/alien/buildstat.cfg
new file mode 100644
index 0000000..318d401
--- /dev/null
+++ b/assets/ui/assets/alien/buildstat.cfg
@@ -0,0 +1,37 @@
+// config for the building status indicators that builders see
+// NOTES:
+// * all characters (text/icons) are square
+// * character size is derived totally from frameHeight and vertialMargin
+// * healthPadding is NOT used compensated for in the margins
+
+frameShader "ui/assets/alien/buildstat/frame"
+frameWidth 150
+frameHeight 30
+
+healthPadding 2
+healthSevereColor 0.24 0.02 0.02 1
+healthHighColor 0.32 0.04 0.04 1
+healthElevatedColor 0.40 0.06 0.06 1
+healthGuardedColor 0.48 0.08 0.08 1
+healthLowColor 0.56 0.10 0.10 1
+
+// this gets drawn over frame and health, but numbers and icons go on top of it
+overlayShader "ui/assets/alien/buildstat/overlay"
+overlayWidth 156
+overlayHeight 36
+
+// PERCENT of frameHeight to use for top/bottom margin of icons/text
+// value is for total of top and bottom margins
+// valid values between 0.0 and 1.0
+verticalMargin 0.5
+
+// number of CHARS worth of space that should be used for left/right margins
+// value is for one side only
+// char width is determined by frameHeight and verticalMargin
+horizontalMargin 1.0
+
+markedShader "ui/assets/alien/buildstat/mark"
+noPowerShader "ui/assets/alien/buildstat/nopower"
+
+backColor 1.0 1.0 1.0 1
+foreColor 0.0 0.0 0.0 1
diff --git a/assets/ui/assets/console1.tga b/assets/ui/assets/console1.tga
new file mode 100644
index 0000000..2d8d418
--- /dev/null
+++ b/assets/ui/assets/console1.tga
Binary files differ
diff --git a/assets/ui/assets/console2.jpg b/assets/ui/assets/console2.jpg
new file mode 100644
index 0000000..8c051fd
--- /dev/null
+++ b/assets/ui/assets/console2.jpg
Binary files differ
diff --git a/assets/ui/assets/human/buildstat.cfg b/assets/ui/assets/human/buildstat.cfg
new file mode 100644
index 0000000..c66b618
--- /dev/null
+++ b/assets/ui/assets/human/buildstat.cfg
@@ -0,0 +1,39 @@
+// config for the building status indicators that builders see
+// NOTES:
+// * all characters (text/icons) are square
+// * character size is derived totally from frameHeight and vertialMargin
+// * healthPadding is NOT used compensated for in the margins
+
+frameShader "ui/assets/human/buildstat/frame"
+frameWidth 150
+frameHeight 30
+
+healthPadding 2
+
+// Homeworld Security Advisory System
+healthSevereColor 0.83 0.03 0.02 1
+healthHighColor 0.84 0.48 0.03 1
+healthElevatedColor 0.82 0.82 0.00 1
+healthGuardedColor 0.19 0.65 0.00 1
+healthLowColor 0.27 0.49 0.55 1
+
+// this gets drawn over frame and health, but numbers and icons go on top of it
+overlayShader ""
+overlayWidth 160
+overlayHeight 40
+
+// PERCENT of frameHeight to use for top/bottom margin of icons/text
+// value is for total of top and bottom margins
+// valid values between 0.0 and 1.0
+verticalMargin 0.5
+
+// number of CHARS worth of space that should be used for left/right margins
+// value is for one side only
+// char width is determined by frameHeight and verticalMargin
+horizontalMargin 1.0
+
+markedShader "ui/assets/human/buildstat/mark"
+noPowerShader "ui/assets/human/buildstat/nopower"
+
+backColor 1.0 1.0 1.0 1
+foreColor 0.0 0.0 0.0 1
diff --git a/assets/ui/connect.menu b/assets/ui/connect.menu
new file mode 100644
index 0000000..108e33c
--- /dev/null
+++ b/assets/ui/connect.menu
@@ -0,0 +1,14 @@
+#include "ui/menudef.h"
+
+{
+ menuDef
+ {
+ name "Connect"
+ background "gfx/2d/load_screen"
+ rect 0 0 640 480
+ fullScreen MENU_FALSE
+ visible MENU_FALSE
+ style WINDOW_STYLE_SHADER
+ aspectBias ASPECT_NONE
+ }
+}
diff --git a/assets/ui/createfavorite.menu b/assets/ui/createfavorite.menu
new file mode 100644
index 0000000..c66ecff
--- /dev/null
+++ b/assets/ui/createfavorite.menu
@@ -0,0 +1,115 @@
+#include "ui/menudef.h"
+
+{
+ \\ CREATE FAVORITE POPUP MENU \\
+
+#define BUTT_W 45
+#define BUTT_H 35
+#define BORDER 10
+#define INPUT_H 20
+#define W 250
+#define H ((3*BORDER)+(2*INPUT_H)+BUTT_H)
+
+ menuDef
+ {
+ name "createfavorite_popmenu"
+ visible MENU_FALSE
+ fullscreen MENU_FALSE
+ rect (320-(W/2)) (240-(H/2)) W H
+ focusColor 1 .75 0 1
+ style WINDOW_STYLE_FILLED
+ border WINDOW_BORDER_FULL
+ popup
+ onESC
+ {
+ close createfavorite_popmenu
+ }
+
+ itemDef
+ {
+ name window
+ rect 0 0 W H
+ style WINDOW_STYLE_FILLED
+ backcolor 0 0 0 1
+ visible MENU_TRUE
+ decoration
+
+ border WINDOW_BORDER_FULL
+ borderSize 1.0
+ borderColor 0.5 0.5 0.5 1
+ }
+
+ // ENTER NAME AND ADDRESS //
+
+ itemDef
+ {
+ name nameEntry
+ type ITEM_TYPE_EDITFIELD
+ style WINDOW_STYLE_EMPTY
+ maxchars 40
+ text "Name:"
+ textscale .4
+ cvar "ui_favoriteName"
+ rect BORDER BORDER (W-(2*BORDER)) INPUT_H
+ textalign ALIGN_LEFT
+ textvalign VALIGN_CENTER
+ forecolor 1 1 1 1
+ visible MENU_TRUE
+ }
+
+ itemDef
+ {
+ name addressEntry
+ type ITEM_TYPE_EDITFIELD
+ style WINDOW_STYLE_EMPTY
+ maxchars 40
+ text "Address:"
+ textscale .4
+ cvar "ui_favoriteAddress"
+ rect BORDER ((2*BORDER)+INPUT_H) (W-(2*BORDER)) INPUT_H
+ textalign ALIGN_LEFT
+ textvalign VALIGN_CENTER
+ forecolor 1 1 1 1
+ visible MENU_TRUE
+ }
+
+ itemDef
+ {
+ name yes
+ text "OK"
+ type ITEM_TYPE_BUTTON
+ textscale .25
+ style WINDOW_STYLE_EMPTY
+ rect (W-(2*BUTT_W)) (H-BUTT_H) BUTT_W BUTT_H
+ textalign ALIGN_CENTER
+ textvalign VALIGN_CENTER
+ forecolor 1 1 1 1
+ visible MENU_TRUE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ uiScript CreateFavorite;
+ close createfavorite_popmenu
+ }
+ }
+
+ itemDef
+ {
+ name yes
+ text "Cancel"
+ type ITEM_TYPE_BUTTON
+ textscale .25
+ style WINDOW_STYLE_EMPTY
+ rect (W-BUTT_W) (H-BUTT_H) BUTT_W BUTT_H
+ textalign ALIGN_CENTER
+ textvalign VALIGN_CENTER
+ forecolor 1 1 1 1
+ visible MENU_TRUE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ close createfavorite_popmenu
+ }
+ }
+ }
+}
diff --git a/assets/ui/createserver.menu b/assets/ui/createserver.menu
new file mode 100644
index 0000000..f64ba1d
--- /dev/null
+++ b/assets/ui/createserver.menu
@@ -0,0 +1,499 @@
+#include "ui/menudef.h"
+
+{
+ \\ Server Creation \\
+
+#define W 640
+#define H 480
+#define BORDER 10
+
+#define PREVIEW_W 300
+#define PREVIEW_H 225
+#define PREVIEW_X BORDER
+#define PREVIEW_Y BORDER
+
+#define BC_W (W-(2*BORDER))
+#define BC_H 50
+#define BC_X BORDER
+#define BC_Y (H-(BC_H+BORDER))
+#define ARROW_W 50
+#define ARROW_H BC_H
+
+#define MAPS_W PREVIEW_W
+#define MAPS_H (H-((4*BORDER)+PREVIEW_H+BC_H))
+#define MAPS_X BORDER
+#define MAPS_Y ((2*BORDER)+PREVIEW_H)
+
+#define OPTIONS_W (W-((3*BORDER)+PREVIEW_W))
+#define OPTIONS_H (H-((3*BORDER)+BC_H))
+#define OPTIONS_X ((2*BORDER)+PREVIEW_W)
+#define OPTIONS_Y BORDER
+#define ELEM_OFF_Y 20
+#define ELEM_OFF_X -135
+#define ELEM_H 21
+
+ menuDef
+ {
+ name "createserver"
+ visible MENU_FALSE
+ fullscreen MENU_TRUE
+ rect 0 0 W H
+ focusColor 1 .75 0 1
+ outOfBoundsClick
+ style WINDOW_STYLE_EMPTY
+ aspectBias ASPECT_NONE
+
+ onOpen
+ {
+ uiScript loadArenas;
+ hide accept_alt;
+ show accept;
+ hide back_alt;
+ show back
+ }
+
+ onEsc
+ {
+ close createserver
+ }
+
+ itemDef
+ {
+ name background
+ rect 0 0 W H
+ style WINDOW_STYLE_FILLED
+ backcolor 0 0 0 1
+ visible MENU_TRUE
+ decoration
+ }
+
+ // map selection
+
+ itemDef
+ {
+ name mappreview
+ style WINDOW_STYLE_EMPTY
+ ownerdraw UI_SELECTEDMAPPREVIEW
+ rect PREVIEW_X PREVIEW_Y PREVIEW_W PREVIEW_H
+ border WINDOW_BORDER_FULL
+ bordercolor .5 .5 .5 1
+ visible MENU_TRUE
+ }
+
+ itemDef
+ {
+ name maplist
+ rect MAPS_X MAPS_Y MAPS_W MAPS_H
+ type ITEM_TYPE_LISTBOX
+ style WINDOW_STYLE_EMPTY
+ elementwidth 120
+ elementheight 20
+ textscale .33
+ elementtype LISTBOX_TEXT
+ feeder FEEDER_MAPS
+ border WINDOW_BORDER_FULL
+ bordercolor 0.5 0.5 0.5 1
+ forecolor 1 1 1 1
+ backcolor 0.2 0.2 0.2 1
+ outlinecolor 0.1 0.1 0.1 0.5
+ visible MENU_TRUE
+ columns 1
+ 2 190 ALIGN_LEFT
+ }
+
+
+ // SETTINGS //
+
+ itemDef
+ {
+ name window
+ rect OPTIONS_X OPTIONS_Y OPTIONS_W OPTIONS_H
+ style WINDOW_STYLE_FILLED
+ backcolor 0 0 0 1
+ visible MENU_TRUE
+ decoration
+
+ border WINDOW_BORDER_FULL
+ borderSize 1.0
+ borderColor 0.5 0.5 0.5 1
+ }
+
+ itemDef
+ {
+ name expert
+ type ITEM_TYPE_EDITFIELD
+ text "Host Name:"
+ cvar "sv_hostname"
+ maxChars 40
+ rect (OPTIONS_X+BORDER) (OPTIONS_Y+ELEM_OFF_Y+(0*ELEM_H)) (OPTIONS_W-(2*BORDER)) ELEM_H
+ textalign ALIGN_RIGHT
+ textvalign VALIGN_CENTER
+ textalignx ELEM_OFF_X
+ textscale .36
+ forecolor 1 1 1 1
+ visible MENU_TRUE
+ }
+
+ itemDef
+ {
+ name normal
+ type ITEM_TYPE_NUMERICFIELD
+ text "Time Limit:"
+ cvar "timelimit"
+ rect (OPTIONS_X+BORDER) (OPTIONS_Y+ELEM_OFF_Y+(1*ELEM_H)) (OPTIONS_W-(2*BORDER)) ELEM_H
+ textalign ALIGN_RIGHT
+ textvalign VALIGN_CENTER
+ textalignx ELEM_OFF_X
+ maxchars 4
+ textscale .36
+ forecolor 1 1 1 1
+ visible MENU_TRUE
+ }
+
+ itemDef
+ {
+ name expert
+ type ITEM_TYPE_NUMERICFIELD
+ text "Maximum Players:"
+ cvar "sv_maxclients"
+ rect (OPTIONS_X+BORDER) (OPTIONS_Y+ELEM_OFF_Y+(2*ELEM_H)) (OPTIONS_W-(2*BORDER)) ELEM_H
+ textalign ALIGN_RIGHT
+ textvalign VALIGN_CENTER
+ textalignx ELEM_OFF_X
+ maxchars 4
+ textscale .36
+ forecolor 1 1 1 1
+ visible MENU_TRUE
+ }
+
+ itemDef
+ {
+ name expert
+ type ITEM_TYPE_YESNO
+ text "Require Password:"
+ cvar "g_needpassword"
+ rect (OPTIONS_X+BORDER) (OPTIONS_Y+ELEM_OFF_Y+(3*ELEM_H)) (OPTIONS_W-(2*BORDER)) ELEM_H
+ textalign ALIGN_RIGHT
+ textvalign VALIGN_CENTER
+ textalignx ELEM_OFF_X
+ textscale .36
+ forecolor 1 1 1 1
+ visible MENU_TRUE
+ action
+ {
+ play "sound/misc/menu1.wav"
+ }
+ }
+
+ itemDef
+ {
+ name expert
+ type ITEM_TYPE_EDITFIELD
+ text "Password:"
+ cvar "g_password"
+ rect (OPTIONS_X+BORDER) (OPTIONS_Y+ELEM_OFF_Y+(4*ELEM_H)) (OPTIONS_W-(2*BORDER)) ELEM_H
+ maxchars 10
+ textalign ALIGN_RIGHT
+ textvalign VALIGN_CENTER
+ textalignx ELEM_OFF_X
+ textscale .36
+ forecolor 1 1 1 1
+ visible MENU_TRUE
+ }
+
+
+
+ itemDef
+ {
+ name normal
+ type ITEM_TYPE_YESNO
+ text "Pure Server:"
+ cvar "sv_pure"
+ rect (OPTIONS_X+BORDER) (OPTIONS_Y+ELEM_OFF_Y+(6*ELEM_H)) (OPTIONS_W-(2*BORDER)) ELEM_H
+ textalign ALIGN_RIGHT
+ textvalign VALIGN_CENTER
+ textalignx ELEM_OFF_X
+ textscale .36
+ forecolor 1 1 1 1
+ visible MENU_TRUE
+ action
+ {
+ play "sound/misc/menu1.wav"
+ }
+ }
+
+ itemDef
+ {
+ name normal
+ type ITEM_TYPE_MULTI
+ text "Dedicated:"
+ // dedicated is a special cvar in that as soon as it is set,
+ // the game goes to console only so the ui catches this one specifically
+ cvar "ui_dedicated"
+ cvarFloatList { "No" 0 "LAN" 1 "Internet" 2 }
+ rect (OPTIONS_X+BORDER) (OPTIONS_Y+ELEM_OFF_Y+(7*ELEM_H)) (OPTIONS_W-(2*BORDER)) ELEM_H
+ textalign ALIGN_RIGHT
+ textvalign VALIGN_CENTER
+ textalignx ELEM_OFF_X
+ textscale .36
+ forecolor 1 1 1 1
+ visible MENU_TRUE
+ action
+ {
+ play "sound/misc/menu1.wav"
+ }
+ }
+
+ itemDef
+ {
+ name expert
+ type ITEM_TYPE_YESNO
+ text "Auto Download:"
+ cvar "sv_allowdownload"
+ rect (OPTIONS_X+BORDER) (OPTIONS_Y+ELEM_OFF_Y+(8*ELEM_H)) (OPTIONS_W-(2*BORDER)) ELEM_H
+ textalign ALIGN_RIGHT
+ textvalign VALIGN_CENTER
+ textalignx ELEM_OFF_X
+ textscale .36
+ forecolor 1 1 1 1
+ visible MENU_TRUE
+ action
+ {
+ play "sound/misc/menu1.wav"
+ }
+ }
+
+ itemDef
+ {
+ name expert
+ type ITEM_TYPE_YESNO
+ text "Enable Voting:"
+ cvar "g_allowvote"
+ rect (OPTIONS_X+BORDER) (OPTIONS_Y+ELEM_OFF_Y+(9*ELEM_H)) (OPTIONS_W-(2*BORDER)) ELEM_H
+ textalign ALIGN_RIGHT
+ textvalign VALIGN_CENTER
+ textalignx ELEM_OFF_X
+ textscale .36
+ forecolor 1 1 1 1
+ visible MENU_TRUE
+ action
+ {
+ play "sound/misc/menu1.wav"
+ }
+ }
+
+
+
+ itemDef
+ {
+ name expert
+ type ITEM_TYPE_NUMERICFIELD
+ text "Minimum Ping:"
+ cvar "sv_minping"
+ rect (OPTIONS_X+BORDER) (OPTIONS_Y+ELEM_OFF_Y+(11*ELEM_H)) (OPTIONS_W-(2*BORDER)) ELEM_H
+ textalign ALIGN_RIGHT
+ textvalign VALIGN_CENTER
+ textalignx ELEM_OFF_X
+ maxchars 4
+ textscale .36
+ forecolor 1 1 1 1
+ visible MENU_TRUE
+ }
+
+ itemDef
+ {
+ name expert
+ type ITEM_TYPE_NUMERICFIELD
+ text "Maximum Ping:"
+ cvar "sv_maxping"
+ rect (OPTIONS_X+BORDER) (OPTIONS_Y+ELEM_OFF_Y+(12*ELEM_H)) (OPTIONS_W-(2*BORDER)) ELEM_H
+ textalign ALIGN_RIGHT
+ textvalign VALIGN_CENTER
+ textalignx ELEM_OFF_X
+ maxchars 4
+ textscale .36
+ forecolor 1 1 1 1
+ visible MENU_TRUE
+ }
+
+ itemDef
+ {
+ name expert
+ type ITEM_TYPE_YESNO
+ text "Synchronous Client:"
+ cvar "g_synchronousclients"
+ rect (OPTIONS_X+BORDER) (OPTIONS_Y+ELEM_OFF_Y+(13*ELEM_H)) (OPTIONS_W-(2*BORDER)) ELEM_H
+ textalign ALIGN_RIGHT
+ textvalign VALIGN_CENTER
+ textalignx ELEM_OFF_X
+ textscale .36
+ forecolor 1 1 1 1
+ visible MENU_TRUE
+ action
+ {
+ play "sound/misc/menu1.wav"
+ }
+ }
+
+ itemDef
+ {
+ name expert
+ type ITEM_TYPE_NUMERICFIELD
+ text "Max Rate:"
+ cvar "sv_maxrate"
+ rect (OPTIONS_X+BORDER) (OPTIONS_Y+ELEM_OFF_Y+(14*ELEM_H)) (OPTIONS_W-(2*BORDER)) ELEM_H
+ textalign ALIGN_RIGHT
+ textvalign VALIGN_CENTER
+ textalignx ELEM_OFF_X
+ maxchars 4
+ textscale .36
+ forecolor 1 1 1 1
+ visible MENU_TRUE
+ }
+
+ itemDef
+ {
+ name expert
+ type ITEM_TYPE_NUMERICFIELD
+ text "Zombie Time:"
+ cvar "sv_zombietime"
+ rect (OPTIONS_X+BORDER) (OPTIONS_Y+ELEM_OFF_Y+(15*ELEM_H)) (OPTIONS_W-(2*BORDER)) ELEM_H
+ maxchars 4
+ textalign ALIGN_RIGHT
+ textvalign VALIGN_CENTER
+ textalignx ELEM_OFF_X
+ textscale .36
+ forecolor 1 1 1 1
+ visible MENU_TRUE
+ }
+
+ itemDef
+ {
+ name expert
+ type ITEM_TYPE_NUMERICFIELD
+ text "Reconnect Limit:"
+ cvar "sv_reconnectlimit"
+ maxchars 4
+ rect (OPTIONS_X+BORDER) (OPTIONS_Y+ELEM_OFF_Y+(16*ELEM_H)) (OPTIONS_W-(2*BORDER)) ELEM_H
+ textalign ALIGN_RIGHT
+ textvalign VALIGN_CENTER
+ textalignx ELEM_OFF_X
+ textscale .36
+ forecolor 1 1 1 1
+ visible MENU_TRUE
+ }
+
+
+
+ // BACK BAR //
+
+ itemDef
+ {
+ name back
+ style WINDOW_STYLE_SHADER
+ background "ui/assets/backarrow.tga"
+ rect BC_X BC_Y ARROW_H ARROW_W
+ aspectBias ALIGN_LEFT
+ visible MENU_TRUE
+ action
+ {
+ play "sound/misc/menu4.wav";
+ close createserver
+ }
+
+ mouseEnter
+ {
+ hide back;
+ show back_alt
+ }
+ }
+
+ itemDef
+ {
+ name back_alt
+ style WINDOW_STYLE_SHADER
+ background "ui/assets/backarrow_alt.tga"
+ rect BC_X BC_Y ARROW_H ARROW_W
+ aspectBias ALIGN_LEFT
+ backcolor 0 0 0 0
+ forecolor 1 1 1 1
+ visible MENU_FALSE
+ type ITEM_TYPE_BUTTON
+
+ text "Back"
+ textalign ALIGN_LEFT
+ textvalign VALIGN_CENTER
+ textalignx ARROW_W
+ textscale .6
+
+ mouseExit
+ {
+ hide back_alt;
+ show back
+ }
+
+ action
+ {
+ play "sound/misc/menu4.wav";
+ close createserver
+ }
+ }
+
+
+
+
+ itemDef
+ {
+ name accept
+ style WINDOW_STYLE_SHADER
+ rect ((BC_X+BC_W)-ARROW_W) BC_Y ARROW_H ARROW_W
+ aspectBias ALIGN_RIGHT
+ background "ui/assets/forwardarrow.tga"
+ backcolor 0 0 0 0
+ forecolor 1 1 1 1
+ visible MENU_TRUE
+ mouseEnter
+ {
+ hide accept;
+ show accept_alt
+ }
+
+ action
+ {
+ play "sound/misc/menu1.wav";
+ uiScript StartServer
+ }
+ }
+
+ itemDef
+ {
+ name accept_alt
+ style WINDOW_STYLE_SHADER
+ rect ((BC_X+BC_W)-ARROW_W) BC_Y ARROW_H ARROW_W
+ aspectBias ALIGN_RIGHT
+ background "ui/assets/forwardarrow_alt.tga"
+ backcolor 0 0 0 0
+ type ITEM_TYPE_BUTTON
+ forecolor 1 1 1 1
+ visible MENU_FALSE
+
+ text "Create"
+ textalign ALIGN_RIGHT
+ textvalign VALIGN_CENTER
+ textalignx -ARROW_W
+ textscale .6
+
+ mouseExit
+ {
+ hide accept_alt;
+ show accept
+ }
+
+ action
+ {
+ play "sound/misc/menu1.wav";
+ uiScript StartServer
+ }
+ }
+ }
+}
diff --git a/assets/ui/demo.menu b/assets/ui/demo.menu
new file mode 100644
index 0000000..bec3a05
--- /dev/null
+++ b/assets/ui/demo.menu
@@ -0,0 +1,108 @@
+#include "ui/menudef.h"
+
+{
+ \\ DEMO \\
+
+#define W 300
+#define H 240
+#define BUTT_W 45
+#define BUTT_H 35
+#define BORDER 10
+
+ menuDef
+ {
+ name "demo"
+ visible MENU_FALSE
+ fullscreen MENU_FALSE
+ rect (320-(W/2)) (240-(H/2)) W H
+ focusColor 1 .75 0 1
+ style WINDOW_STYLE_FILLED
+ border WINDOW_BORDER_FULL
+ popup
+ onEsc
+ {
+ close demo
+ }
+ onOpen
+ {
+ uiScript loadDemos
+ }
+
+ itemDef
+ {
+ name window
+ rect 0 0 W H
+ style WINDOW_STYLE_FILLED
+ backcolor 0 0 0 1
+ visible MENU_TRUE
+ decoration
+
+ border WINDOW_BORDER_FULL
+ borderSize 1.0
+ borderColor 0.5 0.5 0.5 1
+ }
+
+ itemDef
+ {
+ name demolist
+ rect BORDER BORDER (W-(2*BORDER)) (H-(BUTT_H+BORDER))
+ type ITEM_TYPE_LISTBOX
+ style WINDOW_STYLE_EMPTY
+ elementwidth 120
+ elementheight 20
+ textscale .25
+ elementtype LISTBOX_TEXT
+ feeder FEEDER_DEMOS
+ textalign 3
+ textaligny 14
+ border WINDOW_BORDER_FULL
+ bordercolor 0.5 0.5 0.5 0.5
+ forecolor 1 1 1 1
+ backcolor 0.2 0.2 0.2 1
+ outlinecolor 0.1 0.1 0.1 0.5
+ visible MENU_TRUE
+ doubleClick
+ {
+ play "sound/misc/menu1.wav";
+ uiScript RunDemo
+ }
+ }
+
+ itemDef
+ {
+ name play
+ text "Play"
+ type ITEM_TYPE_BUTTON
+ textscale .25
+ rect (W-(2*BUTT_W)) (H-BUTT_H) BUTT_W BUTT_H
+ textalign ALIGN_CENTER
+ textvalign VALIGN_CENTER
+ forecolor 1 1 1 1
+ visible MENU_TRUE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ close demo;
+ uiScript RunDemo
+ }
+ }
+
+ itemDef
+ {
+ name cancel
+ text "Cancel"
+ type ITEM_TYPE_BUTTON
+ textscale .25
+ rect (W-BUTT_W) (H-BUTT_H) BUTT_W BUTT_H
+ textalign ALIGN_CENTER
+ textvalign VALIGN_CENTER
+ forecolor 1 1 1 1
+ visible MENU_TRUE
+ action
+ {
+ play "sound/misc/menu3.wav";
+ close demo
+ }
+ }
+ }
+}
diff --git a/assets/ui/demo_error.menu b/assets/ui/demo_error.menu
new file mode 100644
index 0000000..1427a28
--- /dev/null
+++ b/assets/ui/demo_error.menu
@@ -0,0 +1,101 @@
+#include "ui/menudef.h"
+
+{
+
+#define W 320
+#define H 320
+#define BORDER 10
+
+#define BUTT_H 25
+#define BUTT_W 65
+
+#define INFO_W (W-(2*BORDER))
+#define INFO_H (H-((4*BORDER)+(2*BUTT_H)))
+#define INFO_X BORDER
+#define INFO_Y ((2*BORDER)+BUTT_H)
+
+ menuDef
+ {
+ name "demo_error_popmenu"
+ visible MENU_FALSE
+ fullscreen MENU_FALSE
+ rect (320-(W/2)) (240-(H/2)) W H
+ focusColor 1 .75 0 1
+ style WINDOW_STYLE_FILLED
+ border WINDOW_BORDER_FULL
+ popup
+ onClose { uiScript clearDemoError }
+ onESC
+ {
+ play "sound/misc/menu1.wav";
+ close demo_error_popmenu;
+ open demo
+ }
+
+
+ itemDef
+ {
+ name window
+ rect 0 0 W H
+ style WINDOW_STYLE_FILLED
+ backcolor 0 0 0 1
+ visible MENU_TRUE
+ decoration
+
+ border WINDOW_BORDER_FULL
+ borderSize 1.0
+ borderColor 0.5 0.5 0.5 1
+ }
+
+ itemDef
+ {
+ name dropinfo
+ rect BORDER BORDER INFO_W BUTT_H
+ type ITEM_TYPE_TEXT
+ text "Error"
+ textalign ALIGN_CENTER
+ textvalign VALIGN_CENTER
+ textscale .4
+ forecolor 1 1 1 1
+ visible MENU_TRUE
+ decoration
+ }
+
+ itemDef
+ {
+ name dropinfo
+ rect INFO_X INFO_Y INFO_W INFO_H
+ type ITEM_TYPE_TEXT
+ style WINDOW_STYLE_FILLED
+ wrapped
+ cvar "com_demoErrorMessage"
+ textalign ALIGN_CENTER
+ textvalign VALIGN_CENTER
+ textscale .33
+ forecolor 1 1 1 1
+ visible MENU_TRUE
+ decoration
+ }
+
+ itemDef
+ {
+ name exit
+ text "OK"
+ type ITEM_TYPE_BUTTON
+ textscale .4
+ style WINDOW_STYLE_EMPTY
+ rect (W-(BORDER+BUTT_W)) (H-(BORDER+BUTT_H)) BUTT_W BUTT_H
+ textalign ALIGN_CENTER
+ textvalign VALIGN_CENTER
+ forecolor 1 1 1 1
+ backcolor .37 .1 .1 1
+ visible MENU_TRUE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ close demo_error_popmenu
+ open demo
+ }
+ }
+ }
+}
diff --git a/assets/ui/download.menu b/assets/ui/download.menu
new file mode 100644
index 0000000..dc8247f
--- /dev/null
+++ b/assets/ui/download.menu
@@ -0,0 +1,167 @@
+#include "ui/menudef.h"
+
+{
+ \\ DOWNLOAD \\
+
+ menuDef
+ {
+ name "download_popmenu"
+ visible MENU_FALSE
+ fullscreen MENU_FALSE
+ rect 158 80 320 320
+ focusColor 1 .75 0 1
+ style WINDOW_STYLE_FILLED
+ border WINDOW_BORDER_FULL
+ popup
+ onClose { }
+ onOpen
+ {
+ uiScript loadServerInfo;
+ }
+ onESC
+ {
+ play "sound/misc/menu1.wav";
+ close download_popmenu;
+ uiScript downloadIgnore;
+ }
+
+ itemDef
+ {
+ name window
+ rect 10 15 300 320
+ style WINDOW_STYLE_FILLED
+ backcolor 0 0 0 1
+ visible MENU_TRUE
+ decoration
+
+ border WINDOW_BORDER_FULL
+ borderSize 1.0
+ borderColor 0.5 0.5 0.5 1
+ }
+
+ itemDef
+ {
+ name downloadinfo
+ rect 0 50 320 20
+ type ITEM_TYPE_TEXT
+ text "Download"
+ textalign ALIGN_CENTER
+ textstyle ITEM_TEXTSTYLE_SHADOWEDMORE
+ textscale .333
+ forecolor 1 1 1 1
+ visible MENU_TRUE
+ decoration
+ }
+
+ itemDef
+ {
+ name downloadinfo
+ rect 60 80 200 270
+ type ITEM_TYPE_TEXT
+ style WINDOW_STYLE_FILLED
+ textstyle ITEM_TEXTSTYLE_SHADOWED
+ wrapped
+ cvar "com_downloadPromptText"
+ textalign ALIGN_CENTER
+ textvalign VALIGN_TOP
+ textscale .25
+ forecolor 1 1 1 1
+ visible MENU_TRUE
+ decoration
+ }
+
+
+ // BUTTON //
+
+
+ itemDef
+ {
+ name curl
+ text "Download from website"
+ textscale .25
+ group grpControlbutton
+ type ITEM_TYPE_BUTTON
+ style WINDOW_STYLE_EMPTY
+ rect 60 250 200 15
+ textalign ALIGN_CENTER
+ forecolor 1 1 1 1
+ backcolor .37 .1 .1 1
+ visible MENU_TRUE
+ cvarTest "ui_serverinfo_allowdl"
+ showCvar { 1 5 9 13 }
+ action
+ {
+ play "sound/misc/menu1.wav";
+ close download_popmenu;
+ uiScript downloadCURL;
+ }
+ }
+
+ itemDef
+ {
+ name udp
+ text "Download from server"
+ type ITEM_TYPE_BUTTON
+ textscale .25
+ group grpControlbutton
+ style WINDOW_STYLE_EMPTY
+ rect 60 265 200 15
+ textalign ALIGN_CENTER
+ forecolor 1 1 1 1
+ backcolor .37 .1 .1 1
+ visible MENU_TRUE
+ cvarTest "ui_serverinfo_allowdl"
+ showCvar { 1 3 9 11 }
+ action
+ {
+ play "sound/misc/menu1.wav";
+ close download_popmenu;
+ uiScript downloadUDP;
+ }
+ }
+
+ itemDef
+ {
+ name ignore
+ text "Ignore"
+ type ITEM_TYPE_BUTTON
+ textscale .25
+ group grpControlbutton
+ style WINDOW_STYLE_EMPTY
+ rect 60 280 200 15
+ textalign ALIGN_CENTER
+ forecolor 1 1 1 1
+ backcolor .37 .1 .1 1
+ visible MENU_TRUE
+ cvarTest "sv_pure"
+ hideCvar { 1 }
+ action
+ {
+ play "sound/misc/menu1.wav";
+ close download_popmenu;
+ uiScript downloadIgnore;
+ }
+ }
+
+ itemDef
+ {
+ name disconnect
+ text "Disconnect"
+ type ITEM_TYPE_BUTTON
+ textscale .25
+ group grpControlbutton
+ style WINDOW_STYLE_EMPTY
+ rect 60 295 200 15
+ textalign ALIGN_CENTER
+ forecolor 1 1 1 1
+ backcolor .37 .1 .1 1
+ visible 1
+ action
+ {
+ play "sound/misc/menu1.wav";
+ close download_popmenu;
+ exec "disconnect";
+ }
+ }
+ }
+}
diff --git a/assets/ui/drop.menu b/assets/ui/drop.menu
new file mode 100644
index 0000000..162a019
--- /dev/null
+++ b/assets/ui/drop.menu
@@ -0,0 +1,122 @@
+#include "ui/menudef.h"
+
+{
+
+#define W 320
+#define H 320
+#define BORDER 10
+
+#define BUTT_H 25
+#define BUTT_W 65
+
+#define INFO_W (W-(2*BORDER))
+#define INFO_H (H-((4*BORDER)+(2*BUTT_H)))
+#define INFO_X BORDER
+#define INFO_Y ((2*BORDER)+BUTT_H)
+
+ menuDef
+ {
+ name "drop_popmenu"
+ visible MENU_FALSE
+ fullscreen MENU_FALSE
+ rect (320-(W/2)) (240-(H/2)) W H
+ focusColor 1 .75 0 1
+ style WINDOW_STYLE_FILLED
+ border WINDOW_BORDER_FULL
+ popup
+ onClose { uiScript clearError }
+ onESC
+ {
+ play "sound/misc/menu1.wav";
+ close drop_popmenu;
+ open main
+ }
+
+
+ itemDef
+ {
+ name window
+ rect 0 0 W H
+ style WINDOW_STYLE_FILLED
+ backcolor 0 0 0 1
+ visible MENU_TRUE
+ decoration
+
+ border WINDOW_BORDER_FULL
+ borderSize 1.0
+ borderColor 0.5 0.5 0.5 1
+ }
+
+ itemDef
+ {
+ name dropinfo
+ rect BORDER BORDER INFO_W BUTT_H
+ type ITEM_TYPE_TEXT
+ text "Disconnected"
+ textalign ALIGN_CENTER
+ textvalign VALIGN_CENTER
+ textscale .4
+ forecolor 1 1 1 1
+ visible MENU_TRUE
+ decoration
+ }
+
+ itemDef
+ {
+ name dropinfo
+ rect INFO_X INFO_Y INFO_W INFO_H
+ type ITEM_TYPE_TEXT
+ style WINDOW_STYLE_FILLED
+ wrapped
+ cvar "com_errorMessage"
+ textalign ALIGN_CENTER
+ textvalign VALIGN_CENTER
+ textscale .33
+ forecolor 1 1 1 1
+ visible MENU_TRUE
+ decoration
+ }
+
+ itemDef
+ {
+ name exit
+ text "OK"
+ type ITEM_TYPE_BUTTON
+ textscale .4
+ style WINDOW_STYLE_EMPTY
+ rect (W-((2*BORDER)+(2*BUTT_W))) (H-(BORDER+BUTT_H)) BUTT_W BUTT_H
+ textalign ALIGN_CENTER
+ textvalign VALIGN_CENTER
+ forecolor 1 1 1 1
+ backcolor .37 .1 .1 1
+ visible MENU_TRUE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ close drop_popmenu
+ }
+ }
+
+ itemDef
+ {
+ name reconnect
+ text "Reconnect"
+ type ITEM_TYPE_BUTTON
+ textscale .4
+ style WINDOW_STYLE_EMPTY
+ rect (W-(BORDER+BUTT_W)) (H-(BORDER+BUTT_H)) BUTT_W BUTT_H
+ textalign ALIGN_CENTER
+ textvalign VALIGN_CENTER
+ forecolor 1 1 1 1
+ backcolor .37 .1 .1 1
+ visible MENU_TRUE
+ action
+ {
+ close drop_popmenu;
+ exec "reconnect";
+ }
+ }
+ }
+}
+
+
diff --git a/assets/ui/error.menu b/assets/ui/error.menu
new file mode 100644
index 0000000..2c54d2d
--- /dev/null
+++ b/assets/ui/error.menu
@@ -0,0 +1,102 @@
+#include "ui/menudef.h"
+
+{
+
+#define W 320
+#define H 320
+#define BORDER 10
+
+#define BUTT_H 25
+#define BUTT_W 65
+
+#define INFO_W (W-(2*BORDER))
+#define INFO_H (H-((4*BORDER)+(2*BUTT_H)))
+#define INFO_X BORDER
+#define INFO_Y ((2*BORDER)+BUTT_H)
+
+ menuDef
+ {
+ name "error_popmenu"
+ visible MENU_FALSE
+ fullscreen MENU_FALSE
+ rect (320-(W/2)) (240-(H/2)) W H
+ focusColor 1 .75 0 1
+ style WINDOW_STYLE_FILLED
+ border WINDOW_BORDER_FULL
+ popup
+ onClose { uiScript clearError }
+ onESC
+ {
+ play "sound/misc/menu1.wav";
+ close error_popmenu;
+ open main
+ }
+
+
+ itemDef
+ {
+ name window
+ rect 0 0 W H
+ style WINDOW_STYLE_FILLED
+ backcolor 0 0 0 1
+ visible MENU_TRUE
+ decoration
+
+ border WINDOW_BORDER_FULL
+ borderSize 1.0
+ borderColor 0.5 0.5 0.5 1
+ }
+
+ itemDef
+ {
+ name dropinfo
+ rect BORDER BORDER INFO_W BUTT_H
+ type ITEM_TYPE_TEXT
+ text "Error"
+ textalign ALIGN_CENTER
+ textvalign VALIGN_CENTER
+ textscale .4
+ forecolor 1 1 1 1
+ visible MENU_TRUE
+ decoration
+ }
+
+ itemDef
+ {
+ name dropinfo
+ rect INFO_X INFO_Y INFO_W INFO_H
+ type ITEM_TYPE_TEXT
+ style WINDOW_STYLE_FILLED
+ wrapped
+ cvar "com_errorMessage"
+ textalign ALIGN_CENTER
+ textvalign VALIGN_CENTER
+ textscale .33
+ forecolor 1 1 1 1
+ visible MENU_TRUE
+ decoration
+ }
+
+ itemDef
+ {
+ name exit
+ text "OK"
+ type ITEM_TYPE_BUTTON
+ textscale .4
+ style WINDOW_STYLE_EMPTY
+ rect (W-(BORDER+BUTT_W)) (H-(BORDER+BUTT_H)) BUTT_W BUTT_H
+ textalign ALIGN_CENTER
+ textvalign VALIGN_CENTER
+ forecolor 1 1 1 1
+ backcolor .37 .1 .1 1
+ visible MENU_TRUE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ close error_popmenu
+ }
+ }
+ }
+}
+
+
diff --git a/assets/ui/findplayer.menu b/assets/ui/findplayer.menu
new file mode 100644
index 0000000..09d715a
--- /dev/null
+++ b/assets/ui/findplayer.menu
@@ -0,0 +1,173 @@
+#include "ui/menudef.h"
+
+{
+ \\ FIND PLAYER POPUP MENU \\
+
+#define W 400
+#define H 400
+#define BUTT_W 45
+#define BUTT_H 35
+#define BORDER 10
+#define LIST_W (W-(2*BORDER))
+#define LIST_DW (LIST_W-40)
+#define LEFT_C 0.13
+#define RIGHT_C 0.61
+#define SEARCH_H 30
+#define SERVERS_H 105
+
+ menuDef
+ {
+ name "findplayer_popmenu"
+ visible MENU_FALSE
+ fullscreen MENU_FALSE
+ rect (320-(W/2)) (240-(H/2)) W H
+ focusColor 1 .75 0 1
+ style WINDOW_STYLE_FILLED
+ border WINDOW_BORDER_FULL
+ popup
+ onClose { }
+ onOpen
+ {
+ uiScript FindPlayer
+ }
+
+ onESC
+ {
+ close findplayer_popmenu
+ }
+
+ itemDef
+ {
+ name window
+ rect 0 0 W H
+ style WINDOW_STYLE_FILLED
+ backcolor 0 0 0 1
+ visible MENU_TRUE
+ decoration
+
+ border WINDOW_BORDER_FULL
+ borderSize 1.0
+ borderColor 0.5 0.5 0.5 1
+ }
+
+ itemDef
+ {
+ name namefield
+ type ITEM_TYPE_EDITFIELD
+ style WINDOW_STYLE_EMPTY
+ text "Name:"
+ cvar "ui_findplayer"
+ maxChars 20
+ rect BORDER BORDER (W-((2*BORDER)+BUTT_W)) SEARCH_H
+ textalign ALIGN_LEFT
+ textvalign VALIGN_CENTER
+ textscale .3
+ outlinecolor .2 .2 .2 .5
+ backcolor 0 0 0 0
+ forecolor 1 1 1 1
+ border WINDOW_BORDER_NONE
+ bordercolor 0 0 0 0
+ action { ui_script FindPlayer }
+ visible MENU_TRUE
+ }
+
+ itemDef
+ {
+ name search
+ text "Search"
+ textscale .25
+ type ITEM_TYPE_BUTTON
+ style WINDOW_STYLE_EMPTY
+ rect (W-(BORDER+BUTT_W)) BORDER BUTT_W SEARCH_H
+ textalign ALIGN_CENTER
+ textvalign VALIGN_CENTER
+ forecolor 1 1 1 1
+ visible MENU_TRUE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ ui_script FindPlayer
+ }
+ }
+
+
+ itemDef
+ {
+ name serverNameList
+ rect BORDER ((2*BORDER)+SEARCH_H) LIST_W SERVERS_H
+ type ITEM_TYPE_LISTBOX
+ style WINDOW_STYLE_EMPTY
+ elementwidth 120
+ elementheight 16
+ textscale .25
+ outlinecolor .2 .2 .2 .5
+ border WINDOW_BORDER_FULL
+ bordersize 1
+ bordercolor .5 .5 .5 1
+ elementtype LISTBOX_TEXT
+ feeder FEEDER_FINDPLAYER
+ visible MENU_TRUE
+ }
+
+ itemDef
+ {
+ name serverInfoList
+ rect BORDER ((3*BORDER)+SEARCH_H+SERVERS_H) LIST_W (H-(SEARCH_H+SERVERS_H+BUTT_H+(3*BORDER)))
+ type ITEM_TYPE_LISTBOX
+ style WINDOW_STYLE_EMPTY
+ elementwidth 120
+ elementheight 16
+ textscale .25
+ border WINDOW_BORDER_FULL
+ bordersize 1
+ bordercolor .5 .5 .5 1
+ elementtype LISTBOX_TEXT
+ feeder FEEDER_SERVERSTATUS
+ notselectable
+ visible MENU_TRUE
+ columns 4
+ 0 ((2*LEFT_C)*LIST_DW) ALIGN_LEFT
+ (LEFT_C*LIST_DW) (LEFT_C*LIST_DW) ALIGN_LEFT
+ ((2*LEFT_C)*LIST_DW) (LEFT_C*LIST_DW) ALIGN_LEFT
+ ((1-RIGHT_C)*LIST_DW) (RIGHT_C*LIST_DW) ALIGN_LEFT
+ }
+
+ // BUTTON //
+
+ itemDef
+ {
+ name join
+ text "Join"
+ textscale .25
+ type ITEM_TYPE_BUTTON
+ style WINDOW_STYLE_EMPTY
+ rect (W-(2*BUTT_W)) (H-BUTT_H) BUTT_W BUTT_H
+ textalign ALIGN_CENTER
+ textvalign VALIGN_CENTER
+ forecolor 1 1 1 1
+ visible MENU_TRUE
+ action { ui_script FoundPlayerJoinServer }
+ }
+
+ itemDef
+ {
+ name close
+ text "Close"
+ textscale .25
+ type ITEM_TYPE_BUTTON
+ style WINDOW_STYLE_EMPTY
+ rect (W-BUTT_W) (H-BUTT_H) BUTT_W BUTT_H
+ textalign ALIGN_CENTER
+ textvalign VALIGN_CENTER
+ forecolor 1 1 1 1
+ visible MENU_TRUE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ close findplayer_popmenu
+ }
+ }
+ }
+}
+
+
diff --git a/assets/ui/folders.menu b/assets/ui/folders.menu
new file mode 100644
index 0000000..176f3d6
--- /dev/null
+++ b/assets/ui/folders.menu
@@ -0,0 +1,121 @@
+#include "ui/menudef.h"
+
+{
+ \\ FOR OPENING FOLDERS IN A DEFAULT FILE MANAGER \\
+
+#define X 0
+#define Y 20
+#define W 250
+#define H ((10*(ELEM_H+ELEM_GAP))+120)
+#define TOFF_X (0-(W/2))
+#define ELEM_H 16
+#define ELEM_GAP 4
+#define BUTT_W 35
+#define BUTT_H 35
+#define BORDER 10
+#define RESCOMBO_OFF 8
+
+ menuDef
+ {
+ name "browse_folders"
+ visible MENU_FALSE
+ fullscreen MENU_FALSE
+ rect (320-(W/2)) (240-(H/2)) W H
+ focusColor 1 .75 0 1
+ style WINDOW_STYLE_FILLED
+ border WINDOW_BORDER_FULL
+ popup
+ onEsc
+ {
+ play "sound/misc/menu1.wav";
+ close browse_folders
+ }
+
+ itemDef
+ {
+ name window
+ rect 0 0 W H
+ style WINDOW_STYLE_FILLED
+ backcolor 0 0 0 1
+ visible MENU_TRUE
+ decoration
+
+ border WINDOW_BORDER_FULL
+ borderSize 1.0
+ borderColor 0.5 0.5 0.5 1
+ }
+
+
+ itemDef
+ {
+ text "Browse Homepath"
+ type ITEM_TYPE_BUTTON
+ textscale .25
+ style WINDOW_STYLE_EMPTY
+ rect X Y W BUTT_H
+ textalign ALIGN_CENTER
+ textvalign VALIGN_CENTER
+ forecolor 1 1 1 1
+ visible MENU_TRUE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ exec browseHomepath
+ }
+ }
+
+ itemDef
+ {
+ text "Browse Demos Folder"
+ type ITEM_TYPE_BUTTON
+ textscale .25
+ style WINDOW_STYLE_EMPTY
+ rect X (Y+(BUTT_H+ELEM_GAP)) W BUTT_H
+ textalign ALIGN_CENTER
+ textvalign VALIGN_CENTER
+ forecolor 1 1 1 1
+ visible MENU_TRUE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ exec browseDemos
+ }
+ }
+
+ itemDef
+ {
+ text "Browse Screen Shots Folder"
+ type ITEM_TYPE_BUTTON
+ textscale .25
+ style WINDOW_STYLE_EMPTY
+ rect X (Y+(2*(BUTT_H+ELEM_GAP))) W BUTT_H
+ textalign ALIGN_CENTER
+ textvalign VALIGN_CENTER
+ forecolor 1 1 1 1
+ visible MENU_TRUE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ exec browseScreenShots
+ }
+ }
+
+ itemDef
+ {
+ text "OK"
+ type ITEM_TYPE_BUTTON
+ textscale .25
+ style WINDOW_STYLE_EMPTY
+ rect (W-BUTT_W) (H-BUTT_H) BUTT_W BUTT_H
+ textalign ALIGN_CENTER
+ textvalign VALIGN_CENTER
+ forecolor 1 1 1 1
+ visible MENU_TRUE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ close browse_folders
+ }
+ }
+ }
+}
diff --git a/assets/ui/help.txt b/assets/ui/help.txt
new file mode 100644
index 0000000..bd4c6a3
--- /dev/null
+++ b/assets/ui/help.txt
@@ -0,0 +1,135 @@
+{
+ "^3Welcome^7"
+ {
+ "In this section you will find a summary of major changes since 1.1. It is "
+ "not a complete list. In general, all things have been tweaked for balance in "
+ "some way.\n\n"
+ "We hope you enjoy playing. Your support gives us valuable data and "
+ "feedback as we work to bring you Tremulous 1.2. Please report all bugs. Thank "
+ "you."
+ }
+ "Alien Healing"
+ {
+ "The most important change for Alien players to know is that their healing "
+ "rate is slower away from creep. To counter this, healing near Boosters "
+ "and Basilisks is greatly accelerated.\n\n"
+ "Watch the health cross icon on your "
+ "HUD to see what your healing rate is. If the icon glows, you are on "
+ "creep. If you are near a booster or basilisk, you will see two "
+ "(2X healing) or four (3X healing) barbs around the health cross."
+ }
+ "Build-point Changes"
+ {
+ "Structures destroyed by enemy players will not immediately become available "
+ "for reuse, but instead enter a queue. Build points will gradually leave the "
+ "queue to become available again, at a rate proportional to the amount of "
+ "points in the queue.\n\n Repeaters can be built at any stage and come with 20 "
+ "BP that can only be used nearby to facilitate making small outposts. Aliens "
+ "do not have a structure that provides additional buildpoints, but they have 150 "
+ "overall BP to compensate."
+ }
+ "Marked Deconstruction"
+ {
+ "The deconstruction method has changed. Buildables are no longer instantly "
+ "deconstructed. Instead, a deconstruct mark appears on the health bar. "
+ "Go ahead and build a new buildable somewhere else and the old one will "
+ "be removed automatically. Buildables that are about to be removed by "
+ "constructing the selected buildable glow red."
+ }
+ "Alien Buildables"
+ {
+ "Nearly useless in 1.1, Barricades now have more health, are cheaper to "
+ "build, and will shrink to allow Aliens to pass over them. Acid tubes "
+ "will fire from behind barricades, providing a formidable defense. "
+ "Experiment with blocking off hallways and building staged defenses, but "
+ "keep in mind that low ceilings will prevent Tyrants from returning inside "
+ "the base. Hives are also much improved to become worth building in stage 3."
+ }
+ "Human Buildables"
+ {
+ "Turrets now have a small spin up delay before firing, but they have "
+ "increased range and damage output.\n\n"
+ "To protect against small Aliens getting inside "
+ "the base, build Tesla Generators at Stage 3. Tesla Generators no longer "
+ "require the Defense Computer to function. Instead, the Defense Computer "
+ "will automatically repair Human buildables. Tesla Generators can fire "
+ "over turrets. "
+ }
+ "Human Weapons"
+ {
+ "Most of the human projeciles have a small volume now, making them more "
+ "effective against smaller targets.\n"
+ "The Lucifer Cannon projectile can be fired faster but now takes longer "
+ "to charge. You will be able to hear your teammates overcharge "
+ "their Lucifer Cannon.\n"
+ "The Flamer projectile now gains more of the velocity of its wielder, "
+ "making it easier to chase down aliens without burning yourself to a "
+ "crisp. Other weapons also have smaller changes."
+ }
+ "Lag Correction"
+ {
+ "While the Tremulous implementation of Neil Toronto's unlagged is "
+ "becoming widely accepted, we also implement client-side improvements "
+ "not possible in 1.1 servers. For those who insist on leading their "
+ "attacks, setting cg_unlagged to 0 will disable backward reconcilliation "
+ "on your hitscan weapons."
+ }
+ "Sprint"
+ {
+ "The sprint bind has changed from \"boost\" to \"+button8\"; you can bind it "
+ "in the options menu or in the console (\\bind shift +button8). Now, instead "
+ "of tapping the button while moving to start sprinting, just hold it down "
+ "and let go to stop. Alternately, you can change this to a toggle behavior "
+ "with cg_sprintToggle. \n\n"
+ }
+ "Dodge"
+ {
+ "Humans also have a new movement ability: dodge. You can bind it in the "
+ "options menu or the console (\\bind shift +button6). When strafing or "
+ "walking backwards, press the dodge key to make a quick, low jump. You "
+ "can bind this to the same key as sprint in the console with \\bind shift "
+ "\"+button8; +button6\""
+ }
+ "Headshots"
+ {
+ "Headshots on unarmored humans only cause 150% damage. Battlesuit and "
+ "helmet protection have been reduced so headshot damage remains the same."
+ }
+ "Dretch"
+ {
+ "Dretches are slightly faster and can now damage any human structure while it "
+ "is still building, but can no longer damage turrets and teslas that "
+ "have been completed."
+ }
+ "Basilisk"
+ {
+ "Basilisks provide regeneration boosting auras to nearby teammates: 2x "
+ "from regular and 3x from advanced basilisks. Their footsteps are also "
+ "silent for greater stealth."
+ }
+ "Marauder"
+ {
+ "The Adv. Marauder's electric shock damage is no longer split between its "
+ "targets, making it more effective against large groups of humans and "
+ "buildables. Targets are now chosen slightly differently: instead of "
+ "each new chain section originating from the previous target, it will "
+ "originate from the first target."
+ }
+ "Dragoon"
+ {
+ "Advanced dragoons are now available at stage 2. Both dragoons have the "
+ "range of their chomp attacks lowered, but their pounce attacks are much "
+ "more useful. Try to use pounce to pin a human to the wall before chomping."
+ }
+ "Tyrant"
+ {
+ "The Tyrant is now a weaker class as its health has been lowered and "
+ "turret damage is greater. To counter this, Tyrants can charge for longer "
+ "periods of time, hit targets multiple times in a single charge, "
+ "and crush any Humans they land on top of. Trample charge does not "
+ "instantly release when full but can be held for two seconds. Trample "
+ "attacks on a human pinned against a wall are VERY powerful. Use this to "
+ "your advantage. The Tyrant's healing aura has been removed; find a "
+ "booster or a basilisk to heal faster."
+ }
+}
diff --git a/assets/ui/hud.txt b/assets/ui/hud.txt
new file mode 100644
index 0000000..be9fa8b
--- /dev/null
+++ b/assets/ui/hud.txt
@@ -0,0 +1,12 @@
+// hud menu defs
+//
+{
+ loadMenu { "ui/tremulous_human_hud.menu" }
+ loadMenu { "ui/tremulous_alien_builder_hud.menu" }
+ loadMenu { "ui/tremulous_alien_general_hud.menu" }
+ loadMenu { "ui/tremulous_default_hud.menu" }
+ loadMenu { "ui/tremulous_spectator_hud.menu" }
+
+ loadMenu { "ui/teamscore.menu" }
+ loadMenu { "ui/loading.menu" }
+}
diff --git a/assets/ui/ingame.menu b/assets/ui/ingame.menu
new file mode 100644
index 0000000..808287e
--- /dev/null
+++ b/assets/ui/ingame.menu
@@ -0,0 +1,140 @@
+#include "ui/menudef.h"
+{
+
+#define BUTT_BAR_X 25
+#define BUTT_BAR_Y 0
+#define BUTT_BAR_W 250
+#define BUTT_BAR_H 56
+#define BUTT_W (BUTT_BAR_W/4)
+#define BUTT_H BUTT_BAR_H
+#define BUTT_TEXT_S 20
+
+ assetGlobalDef
+ {
+ font "fonts/font" 26 // font
+ smallFont "fonts/smallfont" 20 // font
+ bigFont "fonts/bigfont" 34 // font
+ cursor "ui/assets/3_cursor3" // cursor
+ gradientBar "ui/assets/gradientbar2.tga" // gradient bar
+ itemFocusSound "sound/misc/menu2.wav" // sound for item getting focus (via keyboard or mouse )
+
+ fadeClamp 1.0 // sets the fadeup alpha
+ fadeCycle 1 // how often fade happens in milliseconds
+ fadeAmount 0.1 // amount to adjust alpha per cycle
+
+ shadowColor 0.1 0.1 0.1 0.25 // shadow color
+ }
+
+
+ \\ INGAME MENU \\
+
+ menuDef
+ {
+ name "ingame"
+ style WINDOW_STYLE_FILLED
+ visible MENU_FALSE
+ fullScreen 0
+ outOfBoundsClick // this closes the window if it gets a click out of the rectangle
+ rect 0 0 1280 56
+ focusColor 1 .75 0 1
+ disableColor .5 .5 .5 1
+ backColor 0 0 0 1
+ aspectBias ALIGN_LEFT
+
+ onEsc
+ {
+ close ingame;
+ }
+
+ itemDef
+ {
+ name splashmodel
+ rect 0 -10 640 66
+ type ITEM_TYPE_MODEL
+ style WINDOW_STYLE_FILLED
+ asset_model "models/splash/splash_screen.md3"
+ model_fovx 32.0
+ model_fovy 3.8
+ model_angle 180
+ visible MENU_TRUE
+ decoration
+ backcolor 0 0 0 1
+ }
+
+ itemdef
+ {
+ name game
+ text "Game"
+ rect BUTT_BAR_X BUTT_BAR_Y BUTT_W BUTT_H
+ type ITEM_TYPE_BUTTON
+ style WINDOW_STYLE_EMPTY
+ textalign ALIGN_CENTER
+ textvalign VALIGN_CENTER
+ textscale .4
+ forecolor 1 1 1 1
+ visible MENU_TRUE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ open ingame_game
+ }
+ }
+
+ itemDef
+ {
+ name options
+ text "Options"
+ type ITEM_TYPE_BUTTON
+ style WINDOW_STYLE_EMPTY
+ rect (BUTT_BAR_X+BUTT_W) BUTT_BAR_Y BUTT_W BUTT_H
+ textalign ALIGN_CENTER
+ textvalign VALIGN_CENTER
+ textscale .4
+ forecolor 1 1 1 1
+ visible MENU_TRUE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ open ingame_options
+ }
+ }
+
+ itemDef
+ {
+ name leave
+ text "Help"
+ type ITEM_TYPE_BUTTON
+ style WINDOW_STYLE_EMPTY
+ rect (BUTT_BAR_X+(2*BUTT_W)) BUTT_BAR_Y BUTT_W BUTT_H
+ textalign ALIGN_CENTER
+ textvalign VALIGN_CENTER
+ textscale .4
+ forecolor 1 1 1 1
+ visible MENU_TRUE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ open ingame_help
+ }
+ }
+
+ itemDef
+ {
+ name leave
+ text "Exit"
+ type ITEM_TYPE_BUTTON
+ style WINDOW_STYLE_EMPTY
+ rect (BUTT_BAR_X+(3*BUTT_W)) BUTT_BAR_Y BUTT_W BUTT_H
+ textalign ALIGN_CENTER
+ textvalign VALIGN_CENTER
+ textscale .4
+ forecolor 1 1 1 1
+ visible MENU_TRUE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ open ingame_leave
+ }
+ }
+ }
+}
diff --git a/assets/ui/ingame.txt b/assets/ui/ingame.txt
new file mode 100644
index 0000000..2caf449
--- /dev/null
+++ b/assets/ui/ingame.txt
@@ -0,0 +1,9 @@
+// menu defs
+//
+{
+ loadMenu { "ui/ingame.menu" }
+ loadMenu { "ui/ingame_game.menu" }
+ loadMenu { "ui/ingame_options.menu" }
+ loadMenu { "ui/ingame_leave.menu" }
+ loadMenu { "ui/ingame_help.menu" }
+}
diff --git a/assets/ui/ingame_game.menu b/assets/ui/ingame_game.menu
new file mode 100644
index 0000000..d7d7dd6
--- /dev/null
+++ b/assets/ui/ingame_game.menu
@@ -0,0 +1,862 @@
+#include "ui/menudef.h"
+
+{
+ \\ INGAME GAME BOX \\
+
+#define W 320
+#define H 310
+#define X 10
+#define Y 60
+#define BORDER 10
+
+#define TOPBUTT_W 80
+#define TOPBUTT_H 30
+
+#define SIDEBUTT_W 50
+#define SIDEBUTT_H 25
+
+#define MAP_X (SIDEBUTT_W+BORDER)
+#define MAP_Y ((2*BORDER)+TOPBUTT_H)
+#define MAP_W 124
+#define MAP_H 93
+#define MAPLIST_X MAP_X
+#define MAPLIST_Y ((3*BORDER)+TOPBUTT_H+MAP_H)
+#define MAPLIST_W (W-((2*BORDER)+SIDEBUTT_W))
+#define MAPLIST_H (H-((4*BORDER)+MAP_H+TOPBUTT_H))
+#define MAPBUTT_X (MAP_X+MAP_W+BORDER)
+#define MAPBUTT_Y MAP_Y
+#define MAPBUTT_W (W-(MAPBUTT_X+BORDER))
+#define MAPBUTT_H 20
+
+#define PBUTT_X MAP_X
+#define PBUTT_Y (H-((2*PBUTT_H)+BORDER))
+#define PBUTT_W (W-((2*BORDER)+SIDEBUTT_W))
+#define PBUTT_H 45
+#define PLIST_X PBUTT_X
+#define PLIST_Y ((2*BORDER)+TOPBUTT_H)
+#define PLIST_W PBUTT_W
+#define PLIST_H ((H-((4*BORDER)+(2*PBUTT_H)+TOPBUTT_H)))
+
+#define PLAYER_C 0.7
+#define IGN_C 0.15
+#define IGNY_C 0.15
+#define IGNHEAD_H 15
+#define IGNHEAD_Y ((2*BORDER)+TOPBUTT_H)
+#define IGNBUTT_W ((W-(2*BORDER))/2)
+#define IGNBUTT_H 25
+#define IGNBUTT_X BORDER
+#define IGNBUTT_Y (H-(BORDER+IGNBUTT_H))
+#define IGNORE_W (W-(2*BORDER))
+#define IGNORE_W2 ((W-(2*BORDER))-15)
+#define IGNORE_H (H-((4*BORDER)+TOPBUTT_H+IGNHEAD_H+IGNBUTT_H))
+#define IGNORE_X BORDER
+#define IGNORE_Y ((2*BORDER)+TOPBUTT_H+IGNHEAD_H)
+#define IGNORE_TOFF 5
+
+#define INFO_Y ((2*BORDER)+TOPBUTT_H+10)
+#define INFOELEM_H 15
+#define INFO_OFF (0-(W-90))
+
+ menuDef
+ {
+ name "ingame_game"
+ visible MENU_FALSE
+ fullscreen MENU_FALSE
+ outOfBoundsClick // this closes the window if it gets a click out of the rectangle
+ rect X Y W H
+ focusColor 1 .75 0 1
+ aspectBias ALIGN_LEFT
+ onopen
+ {
+ uiScript InitIgnoreList;
+ uiScript loadArenas;
+ uiScript loadServerInfo;
+ hide gameGrp;
+ show vote;
+ show mapvote;
+
+ setitemcolor voteBtn forecolor 0.2 0.2 0.2 1.0;
+ setitemcolor ignoreBtn forecolor 1.0 1.0 1.0 1.0;
+ setitemcolor infoBtn forecolor 1.0 1.0 1.0 1.0
+ }
+
+ itemDef
+ {
+ name window
+ rect 0 0 W H
+ style WINDOW_STYLE_FILLED
+ backcolor 0 0 0 1
+ visible MENU_TRUE
+ decoration
+
+ border WINDOW_BORDER_FULL
+ borderSize 1.0
+ borderColor 0.5 0.5 0.5 1
+ }
+
+ //Section menus
+ itemDef
+ {
+ name voteBtn
+ text "Vote"
+ group menuGrp
+ style WINDOW_STYLE_EMPTY
+ rect (W-((3*TOPBUTT_W)+BORDER)) BORDER TOPBUTT_W TOPBUTT_H
+ type ITEM_TYPE_BUTTON
+ textalign ALIGN_CENTER
+ textvalign VALIGN_CENTER
+ textscale .35
+ forecolor 1 1 1 1
+ visible MENU_TRUE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ hide gameGrp;
+ show vote;
+ show mapvote;
+
+ setitemcolor infoBtn forecolor 1.0 1.0 1.0 1.0;
+ setitemcolor voteBtn forecolor 0.2 0.2 0.2 1.0;
+ setitemcolor ignoreBtn forecolor 1.0 1.0 1.0 1.0
+ }
+ }
+
+ itemDef
+ {
+ name ignoreBtn
+ text "Ignore"
+ group menuGrp
+ style WINDOW_STYLE_EMPTY
+ rect (W-((2*TOPBUTT_W)+BORDER)) BORDER TOPBUTT_W TOPBUTT_H
+ type ITEM_TYPE_BUTTON
+ textalign ALIGN_CENTER
+ textvalign VALIGN_CENTER
+ textscale .35
+ forecolor 1 1 1 1
+ visible MENU_TRUE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ hide gameGrp;
+ show ignore;
+
+ setitemcolor infoBtn forecolor 1.0 1.0 1.0 1.0;
+ setitemcolor voteBtn forecolor 1.0 1.0 1.0 1.0;
+ setitemcolor ignoreBtn forecolor 0.2 0.2 0.2 1.0
+ }
+ }
+
+ itemDef
+ {
+ name infoBtn
+ text "Info"
+ group menuGrp
+ style WINDOW_STYLE_EMPTY
+ rect (W-((1*TOPBUTT_W)+BORDER)) BORDER TOPBUTT_W TOPBUTT_H
+ type ITEM_TYPE_BUTTON
+ textalign ALIGN_CENTER
+ textvalign VALIGN_CENTER
+ textscale .35
+ forecolor 1 1 1 1
+ visible MENU_TRUE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ hide gameGrp;
+ show info;
+
+ setitemcolor infoBtn forecolor 0.2 0.2 0.2 1.0;
+ setitemcolor voteBtn forecolor 1.0 1.0 1.0 1.0;
+ setitemcolor ignoreBtn forecolor 1.0 1.0 1.0 1.0
+ }
+ }
+
+
+//////// VOTE
+
+ //Vote menu
+ itemDef
+ {
+ name vote
+ text "Map"
+ group gameGrp
+ style WINDOW_STYLE_EMPTY
+ rect 0 ((2*BORDER)+TOPBUTT_H) SIDEBUTT_W SIDEBUTT_H
+ type ITEM_TYPE_BUTTON
+ textalign ALIGN_RIGHT
+ textvalign VALIGN_CENTER
+ textscale .25
+ forecolor 1 1 1 1
+ visible MENU_FALSE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ hide gameGrp;
+ show mapvote;
+ show vote;
+ }
+ }
+
+ itemDef
+ {
+ name vote
+ text "Players"
+ group gameGrp
+ style WINDOW_STYLE_EMPTY
+ rect 0 ((2*BORDER)+TOPBUTT_H+SIDEBUTT_H) SIDEBUTT_W SIDEBUTT_H
+ type ITEM_TYPE_BUTTON
+ textalign ALIGN_RIGHT
+ textvalign VALIGN_CENTER
+ textscale .25
+ forecolor 1 1 1 1
+ visible MENU_FALSE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ hide gameGrp;
+ show playervote;
+ show reasonfield;
+ show vote;
+ }
+ }
+
+ itemDef
+ {
+ name vote
+ text "Team"
+ group gameGrp
+ style WINDOW_STYLE_EMPTY
+ rect 0 ((2*BORDER)+TOPBUTT_H+(2*SIDEBUTT_H)) SIDEBUTT_W SIDEBUTT_H
+ type ITEM_TYPE_BUTTON
+ textalign ALIGN_RIGHT
+ textvalign VALIGN_CENTER
+ textscale .25
+ forecolor 1 1 1 1
+ visible MENU_FALSE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ hide gameGrp;
+ show teamvote;
+ show reasonfield;
+ show vote;
+ }
+ }
+
+ itemDef
+ {
+ name reasonfield
+ group gameGrp
+ type ITEM_TYPE_EDITFIELD
+ style WINDOW_STYLE_EMPTY
+ text "Reason:"
+ cvar "ui_reason"
+ maxChars 50
+ rect PBUTT_X (PBUTT_Y+PBUTT_H) PBUTT_W PBUTT_H
+ textalign ALIGN_LEFT
+ textvalign VALIGN_CENTER
+ textscale .25
+ outlinecolor .2 .2 .2 .5
+ backcolor 0 0 0 0
+ forecolor 1 1 1 1
+ border WINDOW_BORDER_NONE
+ bordercolor 0 0 0 0
+ visible MENU_FALSE
+ }
+
+///// Map Vote
+ itemDef
+ {
+ name mapvote
+ group gameGrp
+ style WINDOW_STYLE_EMPTY
+ ownerdraw UI_SELECTEDMAPPREVIEW
+ rect MAP_X MAP_Y MAP_W MAP_H
+ border WINDOW_BORDER_FULL
+ bordercolor .5 .5 .5 .5
+ visible MENU_FALSE
+ }
+
+ itemDef
+ {
+ name mapvote
+ group gameGrp
+ rect MAPLIST_X MAPLIST_Y MAPLIST_W MAPLIST_H
+ type ITEM_TYPE_LISTBOX
+ style WINDOW_STYLE_EMPTY
+ elementwidth 120
+ elementheight 15
+ textscale .225
+ elementtype LISTBOX_TEXT
+ feeder FEEDER_MAPS
+ border WINDOW_BORDER_FULL
+ bordercolor 0.5 0.5 0.5 0.5
+ forecolor 1 1 1 1
+ backcolor 0.2 0.2 0.2 1
+ outlinecolor 0.1 0.1 0.1 0.5
+ visible MENU_FALSE
+ doubleclick
+ {
+ play "sound/misc/menu1.wav";
+ uiScript voteMap;
+ uiScript closeingame
+ }
+ }
+
+ itemDef
+ {
+ name mapvote
+ group gameGrp
+ text "Load Selected Map"
+ type ITEM_TYPE_BUTTON
+ textscale .25
+ rect MAPBUTT_X MAPBUTT_Y MAPBUTT_W MAPBUTT_H
+ textalign ALIGN_LEFT
+ textvalign VALIGN_CENTER
+ forecolor 1 1 1 1
+ visible MENU_FALSE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ uiScript voteMap;
+ uiScript closeingame
+ }
+ }
+
+ itemDef
+ {
+ name mapvote
+ group gameGrp
+ text "Load Selected Map Next"
+ type ITEM_TYPE_BUTTON
+ textscale .25
+ rect MAPBUTT_X (MAPBUTT_Y+MAPBUTT_H) MAPBUTT_W MAPBUTT_H
+ textalign ALIGN_LEFT
+ textvalign VALIGN_CENTER
+ forecolor 1 1 1 1
+ visible MENU_FALSE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ uiScript voteNextMap;
+ uiScript closeingame
+ }
+ }
+
+ itemDef
+ {
+ name mapvote
+ group gameGrp
+ text "Restart Current Map"
+ type ITEM_TYPE_BUTTON
+ textscale .25
+ rect MAPBUTT_X (MAPBUTT_Y+(2*MAPBUTT_H)) MAPBUTT_W MAPBUTT_H
+ textalign ALIGN_LEFT
+ textvalign VALIGN_CENTER
+ forecolor 1 1 1 1
+ visible MENU_FALSE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ exec "cmd callvote map_restart";
+ uiScript closeingame
+ }
+ }
+
+ itemDef
+ {
+ name mapvote
+ group gameGrp
+ text "Begin Sudden Death"
+ type ITEM_TYPE_BUTTON
+ textscale .25
+ rect MAPBUTT_X (MAPBUTT_Y+(3*MAPBUTT_H)) MAPBUTT_W MAPBUTT_H
+ textalign ALIGN_LEFT
+ textvalign VALIGN_CENTER
+ forecolor 1 1 1 1
+ visible MENU_FALSE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ exec "cmd callvote sudden_death";
+ uiScript closeingame
+ }
+ }
+
+ itemDef
+ {
+ name mapvote
+ group gameGrp
+ text "End Match In Draw"
+ type ITEM_TYPE_BUTTON
+ textscale .25
+ rect MAPBUTT_X (MAPBUTT_Y+(4*MAPBUTT_H)) MAPBUTT_W MAPBUTT_H
+ textalign ALIGN_LEFT
+ textvalign VALIGN_CENTER
+ forecolor 1 1 1 1
+ visible MENU_FALSE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ exec "cmd callvote draw";
+ uiScript closeingame
+ }
+ }
+
+///// Player Vote
+ itemDef
+ {
+ name playervote
+ group gameGrp
+ rect PLIST_X PLIST_Y PLIST_W PLIST_H
+ style WINDOW_STYLE_EMPTY
+ type ITEM_TYPE_LISTBOX
+ elementwidth 120
+ elementheight 15
+ textscale .225
+ elementtype LISTBOX_TEXT
+ feeder FEEDER_PLAYER_LIST
+ border WINDOW_BORDER_FULL
+ bordercolor 0.5 0.5 0.5 0.5
+ forecolor 1 1 1 1
+ backcolor 0.2 0.2 0.2 1
+ outlinecolor 0.1 0.1 0.1 0.5
+ visible MENU_FALSE
+ }
+
+ itemDef
+ {
+ name playervote
+ group gameGrp
+ text "Mute Player"
+ type ITEM_TYPE_BUTTON
+ textscale .25
+ rect PBUTT_X PBUTT_Y (PBUTT_W/2) PBUTT_H
+ textalign ALIGN_CENTER
+ textvalign VALIGN_CENTER
+ forecolor 1 1 1 1
+ visible MENU_FALSE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ uiScript voteMute;
+ uiScript closeingame
+ }
+ }
+
+ itemDef
+ {
+ name playervote
+ group gameGrp
+ text "Un-Mute Player"
+ type ITEM_TYPE_BUTTON
+ textscale .25
+ rect (PBUTT_X+(PBUTT_W/2)) PBUTT_Y (PBUTT_W/2) PBUTT_H
+ textalign ALIGN_CENTER
+ textvalign VALIGN_CENTER
+ forecolor 1 1 1 1
+ visible MENU_FALSE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ uiScript voteUnMute;
+ uiScript closeingame
+ }
+ }
+
+ itemDef
+ {
+ name playervote
+ group gameGrp
+ text "Kick Player"
+ type ITEM_TYPE_BUTTON
+ textscale .25
+ rect PBUTT_X (PBUTT_Y+(PBUTT_H/2)) PBUTT_W PBUTT_H
+ textalign ALIGN_CENTER
+ textvalign VALIGN_CENTER
+ forecolor 1 1 1 1
+ visible MENU_FALSE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ uiScript voteKick;
+ uiScript closeingame
+ }
+ }
+
+
+///// Team Vote
+ itemDef
+ {
+ name teamvote
+ group gameGrp
+ rect PLIST_X PLIST_Y PLIST_W PLIST_H
+ style WINDOW_STYLE_EMPTY
+ type ITEM_TYPE_LISTBOX
+ elementwidth 120
+ elementheight 15
+ textscale .225
+ elementtype LISTBOX_TEXT
+ feeder FEEDER_TEAM_LIST
+ border WINDOW_BORDER_FULL
+ bordercolor 0.5 0.5 0.5 0.5
+ forecolor 1 1 1 1
+ backcolor 0.2 0.2 0.2 1
+ outlinecolor 0.1 0.1 0.1 0.5
+ visible MENU_FALSE
+ }
+
+ itemDef
+ {
+ name teamvote
+ group gameGrp
+ text "Kick Teammate"
+ type ITEM_TYPE_BUTTON
+ textscale .25
+ rect PBUTT_X PBUTT_Y (PBUTT_W/2) PBUTT_H
+ textalign ALIGN_CENTER
+ textvalign VALIGN_CENTER
+ forecolor 1 1 1 1
+ visible MENU_FALSE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ uiScript voteTeamKick;
+ uiScript closeingame
+ }
+ }
+
+ itemDef
+ {
+ name teamvote
+ group gameGrp
+ text "Deny Building For Teammate"
+ type ITEM_TYPE_BUTTON
+ textscale .25
+ rect (PBUTT_X+(PBUTT_W/2)) PBUTT_Y (PBUTT_W/2) PBUTT_H
+ textalign ALIGN_CENTER
+ textvalign VALIGN_CENTER
+ forecolor 1 1 1 1
+ visible MENU_FALSE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ uiScript voteTeamDenyBuild;
+ uiScript closeingame
+ }
+ }
+
+ itemDef
+ {
+ name teamvote
+ group gameGrp
+ text "Allow Building For Teammate"
+ type ITEM_TYPE_BUTTON
+ textscale .25
+ rect 110 215 150 20
+ rect PBUTT_X (PBUTT_Y+(PBUTT_H/2)) (PBUTT_W/2) PBUTT_H
+ textalign ALIGN_CENTER
+ textvalign VALIGN_CENTER
+ forecolor 1 1 1 1
+ visible MENU_FALSE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ uiScript voteTeamAllowBuild;
+ uiScript closeingame
+ }
+ }
+
+ itemDef
+ {
+ name teamvote
+ group gameGrp
+ text "Admit Defeat"
+ type ITEM_TYPE_BUTTON
+ textscale .25
+ rect (PBUTT_X+(PBUTT_W/2)) (PBUTT_Y+(PBUTT_H/2)) (PBUTT_W/2) PBUTT_H
+ textalign ALIGN_CENTER
+ textvalign VALIGN_CENTER
+ forecolor 1 1 1 1
+ visible MENU_FALSE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ exec "cmd callteamvote admitdefeat";
+ uiScript closeingame
+ }
+ }
+
+//////// IGNORE
+ itemDef
+ {
+ name ignore
+ group gameGrp
+ rect IGNORE_X IGNHEAD_Y (PLAYER_C*IGNORE_W2) IGNHEAD_H
+ text "Player Name"
+ textalign ALIGN_LEFT
+ textvalign VALIGN_CENTER
+ textalignx IGNORE_TOFF
+ visible MENU_FALSE
+ type ITEM_TYPE_TEXT
+ textscale .225
+ }
+ itemDef
+ {
+ name ignore
+ group gameGrp
+ rect (IGNORE_X+(PLAYER_C*IGNORE_W2)) IGNHEAD_Y (IGN_C*IGNORE_W2) IGNHEAD_H
+ text "Ignored"
+ textalign ALIGN_CENTER
+ textvalign VALIGN_CENTER
+ visible MENU_FALSE
+ type ITEM_TYPE_TEXT
+ textscale .225
+ }
+ itemDef
+ {
+ name ignore
+ group gameGrp
+ rect (IGNORE_X+((PLAYER_C+IGN_C)*IGNORE_W2)) IGNHEAD_Y (IGNY_C*IGNORE_W2) IGNHEAD_H
+ text "Ignoring You"
+ textalign ALIGN_CENTER
+ textvalign VALIGN_CENTER
+ visible MENU_FALSE
+ type ITEM_TYPE_TEXT
+ textscale .225
+ }
+ itemDef
+ {
+ name ignore
+ group gameGrp
+ rect IGNORE_X IGNORE_Y IGNORE_W IGNORE_H
+ type ITEM_TYPE_LISTBOX
+ style WINDOW_STYLE_EMPTY
+ elementwidth 120
+ elementheight 16
+ textscale .225
+ border WINDOW_BORDER_FULL
+ bordersize 1
+ bordercolor .5 .5 .5 1
+ forecolor 1 1 1 1
+ backcolor 0.2 0.2 0.2 1
+ outlinecolor 0.1 0.1 0.1 0.5
+ elementtype LISTBOX_TEXT
+ feeder FEEDER_IGNORE_LIST
+ visible MENU_FALSE
+ columns 3
+ IGNORE_TOFF ((PLAYER_C*IGNORE_W)-(3*IGNORE_TOFF)) ALIGN_LEFT
+ (IGNORE_TOFF+((PLAYER_C)*IGNORE_W)) ((IGN_C*IGNORE_W)-(3*IGNORE_TOFF)) ALIGN_CENTER
+ (IGNORE_TOFF+((PLAYER_C+IGN_C)*IGNORE_W)) ((IGNY_C*IGNORE_W)-(3*IGNORE_TOFF)) ALIGN_CENTER
+ doubleClick
+ {
+ play "sound/misc/menu1.wav";
+ uiScript ToggleIgnore
+ }
+ }
+
+ itemDef
+ {
+ name ignore
+ text "Ignore Player"
+ group gameGrp
+ style WINDOW_STYLE_EMPTY
+ rect IGNBUTT_X IGNBUTT_Y IGNBUTT_W IGNBUTT_H
+ type ITEM_TYPE_BUTTON
+ textalign ALIGN_CENTER
+ textvalign VALIGN_CENTER
+ textscale .25
+ forecolor 1 1 1 1
+ visible MENU_FALSE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ uiScript IgnorePlayer
+ }
+ }
+
+ itemDef
+ {
+ name ignore
+ text "Stop Ignoring Player"
+ group gameGrp
+ style WINDOW_STYLE_EMPTY
+ rect (IGNBUTT_X+IGNBUTT_W) IGNBUTT_Y IGNBUTT_W IGNBUTT_H
+ type ITEM_TYPE_BUTTON
+ textalign ALIGN_CENTER
+ textvalign VALIGN_CENTER
+ textscale .25
+ forecolor 1 1 1 1
+ visible MENU_FALSE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ uiScript UnIgnorePlayer
+ }
+ }
+
+//////// INFO
+
+ itemDef
+ {
+ name info
+ group gameGrp
+ rect 0 (INFO_Y+(0*INFOELEM_H)) W INFOELEM_H
+ type ITEM_TYPE_EDITFIELD
+ style WINDOW_STYLE_EMPTY
+ text "Server Name:"
+ cvar ui_serverinfo_hostname
+ textalign ALIGN_RIGHT
+ textvalign VALIGN_CENTER
+ textalignx INFO_OFF
+ textscale .25
+ forecolor 1 1 1 1
+ visible MENU_FALSE
+ decoration
+ }
+
+ itemDef
+ {
+ name info
+ group gameGrp
+ rect 0 (INFO_Y+(1*INFOELEM_H)) W INFOELEM_H
+ type ITEM_TYPE_EDITFIELD
+ style WINDOW_STYLE_EMPTY
+ text "Time Limit:"
+ cvar ui_serverinfo_timelimit
+ textalign ALIGN_RIGHT
+ textvalign VALIGN_CENTER
+ textalignx INFO_OFF
+ textscale .25
+ forecolor 1 1 1 1
+ visible MENU_FALSE
+ decoration
+ }
+
+ itemDef
+ {
+ name info
+ group gameGrp
+ rect 0 (INFO_Y+(2*INFOELEM_H)) W INFOELEM_H
+ type ITEM_TYPE_EDITFIELD
+ style WINDOW_STYLE_EMPTY
+ text "Sudden Death Time:"
+ cvar ui_serverinfo_sd
+ textalign ALIGN_RIGHT
+ textvalign VALIGN_CENTER
+ textalignx INFO_OFF
+ textscale .25
+ forecolor 1 1 1 1
+ visible MENU_FALSE
+ decoration
+ }
+
+ itemDef
+ {
+ name info
+ group gameGrp
+ rect 0 (INFO_Y+(3*INFOELEM_H)) W INFOELEM_H
+ type ITEM_TYPE_EDITFIELD
+ style WINDOW_STYLE_EMPTY
+ text "Max Clients:"
+ cvar ui_serverinfo_maxclients
+ textalign ALIGN_RIGHT
+ textvalign VALIGN_CENTER
+ textalignx INFO_OFF
+ textscale .25
+ forecolor 1 1 1 1
+ visible MENU_FALSE
+ decoration
+ }
+
+ itemDef
+ {
+ name info
+ group gameGrp
+ rect 0 (INFO_Y+(4*INFOELEM_H)) W INFOELEM_H
+ type ITEM_TYPE_EDITFIELD
+ style WINDOW_STYLE_EMPTY
+ text "Map Name:"
+ cvar ui_serverinfo_mapname
+ textalign ALIGN_RIGHT
+ textvalign VALIGN_CENTER
+ textalignx INFO_OFF
+ textscale .25
+ forecolor 1 1 1 1
+ visible MENU_FALSE
+ decoration
+ }
+
+ itemDef
+ {
+ name info
+ group gameGrp
+ rect 0 (INFO_Y+(5*INFOELEM_H)) W INFOELEM_H
+ type ITEM_TYPE_YESNO
+ style WINDOW_STYLE_EMPTY
+ text "Lag Correction:"
+ cvar ui_serverinfo_unlagged
+ textalign ALIGN_RIGHT
+ textvalign VALIGN_CENTER
+ textalignx INFO_OFF
+ textscale .25
+ forecolor 1 1 1 1
+ visible MENU_FALSE
+ decoration
+ }
+
+ itemDef
+ {
+ name info
+ group gameGrp
+ rect 0 (INFO_Y+(6*INFOELEM_H)) W INFOELEM_H
+ type ITEM_TYPE_YESNO
+ style WINDOW_STYLE_EMPTY
+ text "Friendly Fire:"
+ textalign ALIGN_RIGHT
+ cvar ui_serverinfo_friendlyFire
+ textvalign VALIGN_CENTER
+ textalignx INFO_OFF
+ textscale .25
+ forecolor 1 1 1 1
+ visible MENU_FALSE
+ decoration
+ }
+
+ itemDef
+ {
+ name info
+ group gameGrp
+ rect 0 (INFO_Y+(7*INFOELEM_H)) W INFOELEM_H
+ type ITEM_TYPE_YESNO
+ style WINDOW_STYLE_EMPTY
+ text "Buildable Friendly Fire:"
+ cvar ui_serverinfo_friendlyBuildableFire
+ textalign ALIGN_RIGHT
+ textvalign VALIGN_CENTER
+ textalignx INFO_OFF
+ textscale .25
+ forecolor 1 1 1 1
+ visible MENU_FALSE
+ decoration
+ }
+
+ itemDef
+ {
+ name info
+ group gameGrp
+ rect 0 (INFO_Y+(8*INFOELEM_H)) W INFOELEM_H
+ type ITEM_TYPE_EDITFIELD
+ style WINDOW_STYLE_EMPTY
+ text "Version:"
+ cvar ui_serverinfo_version
+ textalign ALIGN_RIGHT
+ textvalign VALIGN_CENTER
+ textalignx INFO_OFF
+ textscale .25
+ forecolor 1 1 1 1
+ visible MENU_FALSE
+ decoration
+ }
+ }
+}
diff --git a/assets/ui/ingame_help.menu b/assets/ui/ingame_help.menu
new file mode 100644
index 0000000..4c8065b
--- /dev/null
+++ b/assets/ui/ingame_help.menu
@@ -0,0 +1,88 @@
+#include "ui/menudef.h"
+
+{
+
+#define W 420
+#define H 290
+#define X 10
+#define Y 60
+#define BORDER 10
+
+#define LIST_W 140
+#define LIST_H (H-(2*BORDER))
+#define LIST_X BORDER
+#define LIST_Y BORDER
+
+#define INFO_W (W-((3*BORDER)+LIST_W))
+#define INFO_H (H-(2*BORDER))
+#define INFO_X ((2*BORDER)+LIST_W)
+#define INFO_Y BORDER
+#define INFO_TOFF 6
+
+ menuDef
+ {
+ name "ingame_help"
+ visible MENU_FALSE
+ fullscreen MENU_FALSE
+ outOfBoundsClick // this closes the window if it gets a click out of the rectangle
+ rect X Y W H
+ focusColor 1 .75 0 1
+ aspectBias ALIGN_LEFT
+ onOpen {
+ setFocus list;
+ }
+
+ itemDef
+ {
+ name window
+ rect 0 0 W H
+ style WINDOW_STYLE_FILLED
+ backcolor 0 0 0 1
+ visible MENU_TRUE
+ decoration
+
+ border WINDOW_BORDER_FULL
+ borderSize 1.0
+ borderColor 0.5 0.5 0.5 1
+ }
+
+ itemDef
+ {
+ name "list"
+ rect LIST_X LIST_Y LIST_W LIST_H
+ type ITEM_TYPE_LISTBOX
+ style WINDOW_STYLE_EMPTY
+ elementwidth 120
+ elementheight 20
+ textscale .33
+ elementtype LISTBOX_TEXT
+ feeder FEEDER_HELP_LIST
+ border WINDOW_BORDER_FULL
+ bordercolor 0.5 0.5 0.5 0.5
+ forecolor 1 1 1 1
+ backcolor 0.2 0.2 0.2 1
+ outlinecolor 0.1 0.1 0.1 0.5
+ visible MENU_TRUE
+ }
+
+ itemDef
+ {
+ name infopane
+ ownerdraw UI_HELPINFOPANE
+ textstyle ITEM_TEXTSTYLE_NORMAL
+ style WINDOW_STYLE_EMPTY
+ rect INFO_X INFO_Y INFO_W INFO_H
+ textscale .33
+ textalign ALIGN_LEFT
+ textvalign VALIGN_TOP
+ textalignx INFO_TOFF
+ textaligny INFO_TOFF
+ border WINDOW_BORDER_FULL
+ bordercolor 0.5 0.5 0.5 0.5
+ forecolor 1 1 1 1
+ backcolor 0.2 0.2 0.2 1
+ visible MENU_TRUE
+ decoration
+ }
+ }
+}
diff --git a/assets/ui/ingame_leave.menu b/assets/ui/ingame_leave.menu
new file mode 100644
index 0000000..d07e3ce
--- /dev/null
+++ b/assets/ui/ingame_leave.menu
@@ -0,0 +1,209 @@
+#include "ui/menudef.h"
+
+{
+ \\ INGAME_LEAVE MENU \\
+
+#define X 160
+#define Y 60
+#define W 120
+#define H 100
+
+#define L1_X 0
+#define L1_Y (H/6)
+#define L1_W W
+#define L1_H (H/3)
+#define L2_X 0
+#define L2_Y (H/2)
+#define L2_W W
+#define L2_H (H/3)
+
+ menuDef
+ {
+ name "ingame_leave"
+ visible MENU_TRUE
+ fullScreen 0
+ outOfBoundsClick // this closes the window if it gets a click out of the rectangle
+ rect X Y W H
+ focusColor 1 .75 0 1
+ aspectBias ALIGN_LEFT
+ onOpen
+ {
+ show grpMenu;
+ hide grpConfirm
+ }
+
+ itemDef
+ {
+ name leave
+ style WINDOW_STYLE_FILLED
+ rect 0 0 W H
+ backcolor 0 0 0 1
+ visible MENU_TRUE
+ decoration
+
+ border WINDOW_BORDER_FULL
+ borderSize 1.0
+ borderColor 0.5 0.5 0.5 1
+ }
+
+ itemDef
+ {
+ name leave
+ type ITEM_TYPE_BUTTON
+ text "Main Menu"
+ group grpMenu
+ style WINDOW_STYLE_EMPTY
+ rect L1_X L1_Y L1_W L1_H
+ textalign ALIGN_CENTER
+ textvalign VALIGN_CENTER
+ textscale .25
+ forecolor 1 1 1 1
+ visible MENU_TRUE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ hide grpMenu;
+ show leaveConfirm
+ }
+ }
+
+ itemDef
+ {
+ name leave
+ group grpMenu
+ type ITEM_TYPE_BUTTON
+ text "Quit"
+ style WINDOW_STYLE_EMPTY
+ rect L2_X L2_Y L2_W L2_H
+ textalign ALIGN_CENTER
+ textvalign VALIGN_CENTER
+ textscale .25
+ forecolor 1 1 1 1
+ visible MENU_TRUE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ hide grpMenu;
+ show quitConfirm
+ }
+ }
+
+
+ // CONFIRMS //
+
+
+ itemDef
+ {
+ name leaveConfirm
+ type ITEM_TYPE_TEXT
+ text "Return To Main Menu?"
+ group grpConfirm
+ style WINDOW_STYLE_EMPTY
+ rect L1_X L1_Y L1_W L1_H
+ textalign ALIGN_CENTER
+ textvalign VALIGN_CENTER
+ textscale .25
+ decoration
+ forecolor 1 1 1 1
+ visible MENU_TRUE
+ }
+
+ itemDef
+ {
+ name leaveConfirm
+ text "Yes"
+ group grpConfirm
+ type ITEM_TYPE_BUTTON
+ textscale .25
+ style WINDOW_STYLE_EMPTY
+ rect L2_X L2_Y (L2_W/2) L2_H
+ textalign ALIGN_CENTER
+ textvalign VALIGN_CENTER
+ forecolor 1 1 1 1
+ visible MENU_TRUE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ uiScript leave
+ }
+ }
+
+ itemDef
+ {
+ name leaveConfirm
+ text "No"
+ group grpConfirm
+ type ITEM_TYPE_BUTTON
+ textscale .25
+ style WINDOW_STYLE_EMPTY
+ rect (L2_X+(L2_W/2)) L2_Y (L2_W/2) L2_H
+ textalign ALIGN_CENTER
+ textvalign VALIGN_CENTER
+ forecolor 1 1 1 1
+ visible MENU_TRUE
+ action
+ {
+ play "sound/misc/menu3.wav";
+ hide grpConfirm;
+ show grpMenu
+ }
+ }
+
+ itemDef
+ {
+ name quitConfirm
+ type ITEM_TYPE_TEXT
+ text "Want To Quit Game?"
+ group grpConfirm
+ style WINDOW_STYLE_EMPTY
+ rect L1_X L1_Y L1_W L1_H
+ textalign ALIGN_CENTER
+ textvalign VALIGN_CENTER
+ textscale .25
+ forecolor 1 1 1 1
+ decoration
+ visible MENU_TRUE
+ }
+
+ itemDef
+ {
+ name quitConfirm
+ text "Yes"
+ group grpConfirm
+ type ITEM_TYPE_BUTTON
+ textscale .25
+ style WINDOW_STYLE_EMPTY
+ rect L2_X L2_Y (L2_W/2) L2_H
+ textalign ALIGN_CENTER
+ textvalign VALIGN_CENTER
+ forecolor 1 1 1 1
+ visible MENU_TRUE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ uiScript quit
+ }
+ }
+
+ itemDef
+ {
+ name quitConfirm
+ text "No"
+ group grpConfirm
+ type ITEM_TYPE_BUTTON
+ textscale .25
+ style WINDOW_STYLE_EMPTY
+ rect (L2_X+(L2_W/2)) L2_Y (L2_W/2) L2_H
+ textalign ALIGN_CENTER
+ textvalign VALIGN_CENTER
+ forecolor 1 1 1 1
+ visible MENU_TRUE
+ action
+ {
+ play "sound/misc/menu3.wav";
+ hide grpConfirm;
+ show grpMenu
+ }
+ }
+ }
+}
diff --git a/assets/ui/ingame_options.menu b/assets/ui/ingame_options.menu
new file mode 100644
index 0000000..d3e7880
--- /dev/null
+++ b/assets/ui/ingame_options.menu
@@ -0,0 +1,2577 @@
+#include "ui/menudef.h"
+
+{
+ \\ INGAME OPTIONS BOX \\
+
+#define W 320
+#define H 290
+#define X 10
+#define Y 60
+#define BORDER 10
+
+#define TOPBUTT_W ((W-(2*BORDER))/4)
+#define TOPBUTT_H 30
+
+#define CONTENT_X BORDER
+#define CONTENT_Y ((1.5*BORDER)+TOPBUTT_H)
+#define CONTENT_W (W-(2*BORDER))
+#define CONTENT_OFF (0-(CONTENT_W/2))
+
+#define SIDEBUTT_W 65
+#define SIDEBUTT_H 25
+#define SCONTENT_X (SIDEBUTT_W+BORDER)
+#define SCONTENT_Y CONTENT_Y
+#define SCONTENT_W (W-(SIDEBUTT_W+(2*BORDER)))
+#define SCONTENT_OFF (0-(SCONTENT_W/2))
+
+#define RESCOMBO_OFF 8
+
+#define ELEM_H 16
+
+ menuDef
+ {
+ name "ingame_options"
+ visible MENU_FALSE
+ fullscreen MENU_FALSE
+ outOfBoundsClick // this closes the window if it gets a click out of the rectangle
+ rect X Y W H
+ focusColor 1 .75 0 1
+ aspectBias ALIGN_LEFT
+ onopen
+ {
+ hide optionsGrp;
+ show player;
+
+ setitemcolor playerBtn forecolor 0.2 0.2 0.2 1.0;
+ setitemcolor hudBtn forecolor 1.0 1.0 1.0 1.0;
+ setitemcolor controlsBtn forecolor 1.0 1.0 1.0 1.0;
+ setitemcolor systemBtn forecolor 1.0 1.0 1.0 1.0
+ }
+
+ itemDef
+ {
+ name window
+ rect 0 0 W H
+ style WINDOW_STYLE_FILLED
+ backcolor 0 0 0 1
+ visible MENU_TRUE
+ decoration
+
+ border WINDOW_BORDER_FULL
+ borderSize 1.0
+ borderColor 0.5 0.5 0.5 1
+ }
+
+ //Section menus
+ itemDef
+ {
+ name PlayerBtn
+ text "Player"
+ group menuGrp
+ style WINDOW_STYLE_EMPTY
+ rect (W-((4*TOPBUTT_W)+BORDER)) BORDER TOPBUTT_W TOPBUTT_H
+ type ITEM_TYPE_BUTTON
+ textalign ALIGN_CENTER
+ textvalign VALIGN_CENTER
+ textscale .35
+ forecolor 1 1 1 1
+ visible MENU_TRUE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ hide optionsGrp;
+ show player;
+
+ setitemcolor playerBtn forecolor 0.2 0.2 0.2 1.0;
+ setitemcolor hudBtn forecolor 1.0 1.0 1.0 1.0;
+ setitemcolor controlsBtn forecolor 1.0 1.0 1.0 1.0;
+ setitemcolor systemBtn forecolor 1.0 1.0 1.0 1.0
+ }
+ }
+ itemDef
+ {
+ name hudBtn
+ text "HUD"
+ group menuGrp
+ style WINDOW_STYLE_EMPTY
+ rect (W-((3*TOPBUTT_W)+BORDER)) BORDER TOPBUTT_W TOPBUTT_H
+ type ITEM_TYPE_BUTTON
+ textalign ALIGN_CENTER
+ textvalign VALIGN_CENTER
+ textscale .35
+ forecolor 1 1 1 1
+ visible MENU_TRUE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ hide optionsGrp;
+ show hud;
+
+ setitemcolor playerBtn forecolor 1.0 1.0 1.0 1.0;
+ setitemcolor hudBtn forecolor 0.2 0.2 0.2 1.0;
+ setitemcolor controlsBtn forecolor 1.0 1.0 1.0 1.0;
+ setitemcolor systemBtn forecolor 1.0 1.0 1.0 1.0
+ }
+ }
+
+ itemDef
+ {
+ name controlsBtn
+ text "Controls"
+ group menuGrp
+ style WINDOW_STYLE_EMPTY
+ rect (W-((2*TOPBUTT_W)+BORDER)) BORDER TOPBUTT_W TOPBUTT_H
+ type ITEM_TYPE_BUTTON
+ textalign ALIGN_CENTER
+ textvalign VALIGN_CENTER
+ textscale .35
+ forecolor 1 1 1 1
+ visible MENU_TRUE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ hide optionsGrp;
+ show controls;
+ show look;
+
+ setitemcolor playerBtn forecolor 1.0 1.0 1.0 1.0;
+ setitemcolor hudBtn forecolor 1.0 1.0 1.0 1.0;
+ setitemcolor controlsBtn forecolor 0.2 0.2 0.2 1.0;
+ setitemcolor systemBtn forecolor 1.0 1.0 1.0 1.0
+ }
+ }
+
+ itemDef
+ {
+ name systemBtn
+ text "System"
+ group menuGrp
+ style WINDOW_STYLE_EMPTY
+ rect (W-((1*TOPBUTT_W)+BORDER)) BORDER TOPBUTT_W TOPBUTT_H
+ type ITEM_TYPE_BUTTON
+ textalign ALIGN_CENTER
+ textvalign VALIGN_CENTER
+ textscale .35
+ forecolor 1 1 1 1
+ visible MENU_TRUE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ hide optionsGrp;
+ show system;
+ show ghardware;
+
+ setitemcolor playerBtn forecolor 1.0 1.0 1.0 1.0;
+ setitemcolor hudBtn forecolor 1.0 1.0 1.0 1.0;
+ setitemcolor controlsBtn forecolor 1.0 1.0 1.0 1.0;
+ setitemcolor systemBtn forecolor 0.2 0.2 0.2 1.0
+ }
+ }
+
+//////// PLAYER
+
+ itemDef
+ {
+ name player
+ group optionsGrp
+ type ITEM_TYPE_EDITFIELD
+ style WINDOW_STYLE_EMPTY
+ text "Name:"
+ cvar "name"
+ maxchars 40
+ rect CONTENT_X (CONTENT_Y+(0*ELEM_H)) CONTENT_W ELEM_H
+ textalign ALIGN_RIGHT
+ textvalign VALIGN_CENTER
+ textalignx CONTENT_OFF
+ textscale .25
+ forecolor 1 1 1 1
+ visible MENU_FALSE
+ }
+
+ itemDef
+ {
+ name player
+ group optionsGrp
+ type ITEM_TYPE_YESNO
+ text "Taunts Sounds Off:"
+ cvar "cg_noTaunt"
+ rect CONTENT_X (CONTENT_Y+(1*ELEM_H)) CONTENT_W ELEM_H
+ textalign ALIGN_RIGHT
+ textvalign VALIGN_CENTER
+ textalignx CONTENT_OFF
+ textscale .25
+ forecolor 1 1 1 1
+ visible MENU_FALSE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ }
+ }
+
+ itemDef
+ {
+ name player
+ group optionsGrp
+ type ITEM_TYPE_YESNO
+ text "Team Chats Only:"
+ cvar "cg_teamChatsOnly"
+ rect CONTENT_X (CONTENT_Y+(2*ELEM_H)) CONTENT_W ELEM_H
+ textalign ALIGN_RIGHT
+ textvalign VALIGN_CENTER
+ textalignx CONTENT_OFF
+ textscale .25
+ forecolor 1 1 1 1
+ visible MENU_FALSE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ }
+ }
+
+ itemDef
+ {
+ name player
+ group optionsGrp
+ type ITEM_TYPE_YESNO
+ text "Sticky Spectate:"
+ cvar "cg_stickySpec"
+ rect CONTENT_X (CONTENT_Y+(3*ELEM_H)) CONTENT_W ELEM_H
+ textalign ALIGN_RIGHT
+ textvalign VALIGN_CENTER
+ textalignx CONTENT_OFF
+ textscale .25
+ forecolor 1 1 1 1
+ visible MENU_FALSE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ }
+ }
+
+ itemDef
+ {
+ name player
+ group optionsGrp
+ type ITEM_TYPE_YESNO
+ text "Tutorial Mode:"
+ cvar "cg_tutorial"
+ rect CONTENT_X (CONTENT_Y+(4*ELEM_H)) CONTENT_W ELEM_H
+ textalign ALIGN_RIGHT
+ textvalign VALIGN_CENTER
+ textalignx CONTENT_OFF
+ textscale .25
+ forecolor 1 1 1 1
+ visible MENU_FALSE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ }
+ }
+
+ itemDef
+ {
+ name player
+ group optionsGrp
+ type ITEM_TYPE_MULTI
+ text "Disable Warning Dialogs:"
+ cvar "cg_disableWarningDialogs"
+ cvarFloatList { "No" 0 "Print to Console" 1 "Yes" 2 }
+ rect CONTENT_X (CONTENT_Y+(5*ELEM_H)) CONTENT_W ELEM_H
+ textalign ALIGN_RIGHT
+ textvalign VALIGN_CENTER
+ textalignx CONTENT_OFF
+ textscale .25
+ forecolor 1 1 1 1
+ visible MENU_FALSE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ }
+ }
+
+ itemDef
+ {
+ name player
+ group optionsGrp
+ type ITEM_TYPE_YESNO
+ text "Static Death Cam:"
+ cvar "cg_staticDeathCam"
+ rect CONTENT_X (CONTENT_Y+(6*ELEM_H)) CONTENT_W ELEM_H
+ textalign ALIGN_RIGHT
+ textvalign VALIGN_CENTER
+ textalignx CONTENT_OFF
+ textscale .25
+ forecolor 1 1 1 1
+ visible MENU_FALSE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ }
+ }
+
+//////// HUD
+
+ itemDef
+ {
+ name hud
+ group optionsGrp
+ type ITEM_TYPE_MULTI
+ text "Show Clock:"
+ cvar "cg_drawClock"
+ cvarFloatList { "No" 0 "12 Hour" 1 "24 Hour" 2 }
+ rect CONTENT_X (CONTENT_Y+(0*ELEM_H)) CONTENT_W ELEM_H
+ textalign ALIGN_RIGHT
+ textvalign VALIGN_CENTER
+ textalignx CONTENT_OFF
+ textscale .25
+ forecolor 1 1 1 1
+ visible MENU_FALSE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ }
+ }
+
+ itemDef
+ {
+ name hud
+ group optionsGrp
+ type ITEM_TYPE_MULTI
+ text "Show Crosshair:"
+ cvar "cg_drawCrosshair"
+ cvarFloatList { "Never" 0 "Ranged Weapons Only" 1 "Always" 2 }
+ rect CONTENT_X (CONTENT_Y+(1*ELEM_H)) CONTENT_W ELEM_H
+ textalign ALIGN_RIGHT
+ textvalign VALIGN_CENTER
+ textalignx CONTENT_OFF
+ textscale .25
+ forecolor 1 1 1 1
+ visible MENU_FALSE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ }
+ }
+
+ itemDef
+ {
+ name hud
+ group optionsGrp
+ type ITEM_TYPE_MULTI
+ text "Crosshair Size:"
+ cvar "cg_crosshairSize"
+ cvarFloatList { "Normal" 1 "Small" 0.75 "Tiny" 0.5 "Huge" 1.25 }
+ rect CONTENT_X (CONTENT_Y+(2*ELEM_H)) CONTENT_W ELEM_H
+ textalign ALIGN_RIGHT
+ textvalign VALIGN_CENTER
+ textalignx CONTENT_OFF
+ textscale .25
+ forecolor 1 1 1 1
+ visible MENU_FALSE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ }
+ }
+
+ itemDef
+ {
+ name hud
+ group optionsGrp
+ type ITEM_TYPE_YESNO
+ text "Show Charge Bar:"
+ cvar "cg_drawChargeBar"
+ rect CONTENT_X (CONTENT_Y+(3*ELEM_H)) CONTENT_W ELEM_H
+ textalign ALIGN_RIGHT
+ textvalign VALIGN_CENTER
+ textalignx CONTENT_OFF
+ textscale .25
+ forecolor 1 1 1 1
+ visible MENU_FALSE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ }
+ }
+
+ itemDef
+ {
+ name hud
+ group optionsGrp
+ type ITEM_TYPE_YESNO
+ text "Show Lag-o-meter:"
+ cvar "cg_lagometer"
+ rect CONTENT_X (CONTENT_Y+(4*ELEM_H)) CONTENT_W ELEM_H
+ textalign ALIGN_RIGHT
+ textvalign VALIGN_CENTER
+ textalignx CONTENT_OFF
+ textscale .25
+ forecolor 1 1 1 1
+ visible MENU_FALSE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ }
+ }
+
+ itemDef
+ {
+ name hud
+ group optionsGrp
+ type ITEM_TYPE_MULTI
+ text "Show Team Overlay:"
+ cvar "cg_drawTeamOverlay"
+ cvarFloatList { "Off" 0 "All Teammates" 1 "Support Teammates" 2 "Nearby Teammates" 3 }
+ rect CONTENT_X (CONTENT_Y+(5*ELEM_H)) CONTENT_W ELEM_H
+ textalign ALIGN_RIGHT
+ textvalign VALIGN_CENTER
+ textalignx CONTENT_OFF
+ textscale .25
+ forecolor 1 1 1 1
+ visible MENU_FALSE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ }
+ }
+
+ itemDef
+ {
+ name hud
+ group optionsGrp
+ type ITEM_TYPE_MULTI
+ text "Sort Team Overlay:"
+ cvar "cg_teamOverlaySortMode"
+ cvarFloatList { "None" 0 "Score" 1 "Weapon/Class" 2 }
+ rect CONTENT_X (CONTENT_Y+(6*ELEM_H)) CONTENT_W ELEM_H
+ textalign ALIGN_RIGHT
+ textvalign VALIGN_CENTER
+ textalignx CONTENT_OFF
+ textscale .25
+ forecolor 1 1 1 1
+ visible MENU_FALSE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ }
+ }
+
+ itemDef
+ {
+ name hud
+ group optionsGrp
+ type ITEM_TYPE_YESNO
+ text "Show Gun:"
+ cvar "cg_drawGun"
+ rect CONTENT_X (CONTENT_Y+(7*ELEM_H)) CONTENT_W ELEM_H
+ textalign ALIGN_RIGHT
+ textvalign VALIGN_CENTER
+ textalignx CONTENT_OFF
+ textscale .25
+ forecolor 1 1 1 1
+ visible MENU_FALSE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ }
+ }
+
+ itemDef
+ {
+ name hud
+ group optionsGrp
+ type ITEM_TYPE_MULTI
+ text "Show Speed:"
+ cvar "cg_drawspeed"
+ cvarFloatList { "No" 0 "Text" 1 "Graph" 2 "Text + Graph" 3 "Text No-Z" 5 "Graph No-Z" 6 "Text + Graph No-Z" 7 }
+ rect CONTENT_X (CONTENT_Y+(8*ELEM_H)) CONTENT_W ELEM_H
+ textalign ALIGN_RIGHT
+ textvalign VALIGN_CENTER
+ textalignx CONTENT_OFF
+ textscale .25
+ forecolor 1 1 1 1
+ visible MENU_FALSE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ }
+ }
+
+ itemDef
+ {
+ name hud
+ group optionsGrp
+ type ITEM_TYPE_YESNO
+ text "Show FPS:"
+ cvar "cg_drawFPS"
+ rect CONTENT_X (CONTENT_Y+(9*ELEM_H)) CONTENT_W ELEM_H
+ textalign ALIGN_RIGHT
+ textvalign VALIGN_CENTER
+ textalignx CONTENT_OFF
+ textscale .25
+ forecolor 1 1 1 1
+ visible MENU_FALSE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ }
+ }
+
+ itemDef
+ {
+ name hud
+ group optionsGrp
+ type ITEM_TYPE_YESNO
+ text "Show Timer:"
+ cvar "cg_drawTimer"
+ rect CONTENT_X (CONTENT_Y+(10*ELEM_H)) CONTENT_W ELEM_H
+ textalign ALIGN_RIGHT
+ textvalign VALIGN_CENTER
+ textalignx CONTENT_OFF
+ textscale .25
+ forecolor 1 1 1 1
+ visible MENU_FALSE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ }
+ }
+
+ itemDef
+ {
+ name hud
+ group optionsGrp
+ type ITEM_TYPE_YESNO
+ text "Show Demo State:"
+ cvar "cg_drawDemoState"
+ rect CONTENT_X (CONTENT_Y+(11*ELEM_H)) CONTENT_W ELEM_H
+ textalign ALIGN_RIGHT
+ textvalign VALIGN_CENTER
+ textalignx CONTENT_OFF
+ textscale .25
+ forecolor 1 1 1 1
+ visible MENU_FALSE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ }
+ }
+
+//////// CONTROLS
+
+ //Controls menu
+ itemDef
+ {
+ name controls
+ text "Look"
+ group optionsGrp
+ style WINDOW_STYLE_EMPTY
+ rect 0 ((2*BORDER)+TOPBUTT_H+(0*SIDEBUTT_H)) SIDEBUTT_W SIDEBUTT_H
+ type ITEM_TYPE_BUTTON
+ textalign ALIGN_RIGHT
+ textvalign VALIGN_CENTER
+ textscale .25
+ forecolor 1 1 1 1
+ visible MENU_FALSE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ hide optionsGrp;
+ show controls;
+ show look
+ }
+ }
+
+//////// LOOK
+
+ itemDef
+ {
+ name look
+ group optionsGrp
+ type ITEM_TYPE_BIND
+ text "Lookup:"
+ cvar "+lookup"
+ rect SCONTENT_X (SCONTENT_Y+(0*ELEM_H)) SCONTENT_W ELEM_H
+ textalign ALIGN_RIGHT
+ textvalign VALIGN_CENTER
+ textalignx SCONTENT_OFF
+ textscale .25
+ forecolor 1 1 1 1
+ visible MENU_FALSE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ }
+ }
+
+ itemDef
+ {
+ name look
+ group optionsGrp
+ type ITEM_TYPE_BIND
+ text "Look Down:"
+ cvar "+lookdown"
+ rect SCONTENT_X (SCONTENT_Y+(1*ELEM_H)) SCONTENT_W ELEM_H
+ textalign ALIGN_RIGHT
+ textvalign VALIGN_CENTER
+ textalignx SCONTENT_OFF
+ textscale .25
+ forecolor 1 1 1 1
+ visible MENU_FALSE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ }
+ }
+
+ itemDef
+ {
+ name look
+ group optionsGrp
+ type ITEM_TYPE_BIND
+ text "Mouse Look:"
+ cvar "+mlook"
+ rect SCONTENT_X (SCONTENT_Y+(2*ELEM_H)) SCONTENT_W ELEM_H
+ textalign ALIGN_RIGHT
+ textvalign VALIGN_CENTER
+ textalignx SCONTENT_OFF
+ textscale .25
+ forecolor 1 1 1 1
+ visible MENU_FALSE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ }
+ }
+
+ itemDef
+ {
+ name look
+ group optionsGrp
+ type ITEM_TYPE_BIND
+ text "Centerview:"
+ cvar "centerview"
+ rect SCONTENT_X (SCONTENT_Y+(3*ELEM_H)) SCONTENT_W ELEM_H
+ textalign ALIGN_RIGHT
+ textvalign VALIGN_CENTER
+ textalignx SCONTENT_OFF
+ textscale .25
+ forecolor 1 1 1 1
+ visible MENU_FALSE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ }
+ }
+
+ itemDef
+ {
+ name look
+ group optionsGrp
+ type ITEM_TYPE_YESNO
+ text "Free Look:"
+ cvar "cl_freelook"
+ rect SCONTENT_X (SCONTENT_Y+(4*ELEM_H)) SCONTENT_W ELEM_H
+ textalign ALIGN_RIGHT
+ textvalign VALIGN_CENTER
+ textalignx SCONTENT_OFF
+ textscale .25
+ forecolor 1 1 1 1
+ visible MENU_FALSE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ }
+ }
+
+ itemDef
+ {
+ name look
+ group optionsGrp
+ type ITEM_TYPE_SLIDER
+ text "Mouse Sensitivity:"
+ cvarfloat "sensitivity" 5 1 30
+ rect SCONTENT_X (SCONTENT_Y+(5*ELEM_H)) SCONTENT_W ELEM_H
+ textalign ALIGN_RIGHT
+ textvalign VALIGN_CENTER
+ textalignx SCONTENT_OFF
+ textscale .25
+ forecolor 1 1 1 1
+ visible MENU_FALSE
+ }
+
+ itemDef
+ {
+ name look
+ group optionsGrp
+ type ITEM_TYPE_YESNO
+ text "Invert Mouse:"
+ cvar "ui_mousePitch"
+ rect SCONTENT_X (SCONTENT_Y+(6*ELEM_H)) SCONTENT_W ELEM_H
+ textalign ALIGN_RIGHT
+ textvalign VALIGN_CENTER
+ textalignx SCONTENT_OFF
+ textscale .25
+ forecolor 1 1 1 1
+ visible MENU_FALSE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ uiScript update ui_mousePitch
+ }
+ }
+
+ itemDef
+ {
+ name look
+ group optionsGrp
+ type ITEM_TYPE_YESNO
+ text "Smooth Mouse:"
+ cvar "m_filter"
+ rect SCONTENT_X (SCONTENT_Y+(7*ELEM_H)) SCONTENT_W ELEM_H
+ textalign ALIGN_RIGHT
+ textvalign VALIGN_CENTER
+ textalignx SCONTENT_OFF
+ textscale .25
+ forecolor 1 1 1 1
+ visible MENU_FALSE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ }
+ }
+
+ itemDef
+ {
+ name look
+ group optionsGrp
+ type ITEM_TYPE_YESNO
+ text "Auto Wallwalk Pitching:"
+ cvar "cg_wwFollow"
+ rect SCONTENT_X (SCONTENT_Y+(8*ELEM_H)) SCONTENT_W ELEM_H
+ textalign ALIGN_RIGHT
+ textvalign VALIGN_CENTER
+ textalignx SCONTENT_OFF
+ textscale .25
+ forecolor 1 1 1 1
+ visible MENU_FALSE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ }
+ }
+
+//////// MOVE
+
+ itemDef
+ {
+ name controls
+ text "Move"
+ group optionsGrp
+ style WINDOW_STYLE_EMPTY
+ rect 0 ((2*BORDER)+TOPBUTT_H+(1*SIDEBUTT_H)) SIDEBUTT_W SIDEBUTT_H
+ type ITEM_TYPE_BUTTON
+ textalign ALIGN_RIGHT
+ textvalign VALIGN_CENTER
+ textscale .25
+ forecolor 1 1 1 1
+ visible MENU_FALSE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ hide optionsGrp;
+ show controls;
+ show move
+ }
+ }
+
+ itemDef
+ {
+ name move
+ group optionsGrp
+ type ITEM_TYPE_YESNO
+ text "Sprint Toggles:"
+ cvar "cg_sprintToggle"
+ rect SCONTENT_X (SCONTENT_Y+(0*ELEM_H)) SCONTENT_W ELEM_H
+ textalign ALIGN_RIGHT
+ textvalign VALIGN_CENTER
+ textalignx SCONTENT_OFF
+ textscale .25
+ forecolor 1 1 1 1
+ visible MENU_FALSE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ }
+ }
+
+ itemDef
+ {
+ name move
+ group optionsGrp
+ type ITEM_TYPE_YESNO
+ text "Wallwalk Control Toggles:"
+ cvar "cg_wwToggle"
+ rect SCONTENT_X (SCONTENT_Y+(1*ELEM_H)) SCONTENT_W ELEM_H
+ textalign ALIGN_RIGHT
+ textvalign VALIGN_CENTER
+ textalignx SCONTENT_OFF
+ textscale .25
+ forecolor 1 1 1 1
+ visible MENU_FALSE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ }
+ }
+
+ itemDef
+ {
+ name move
+ group optionsGrp
+ type ITEM_TYPE_MULTI
+ text "Wallwalking Speed:"
+ cvar "cg_wwSmoothTime"
+ cvarFloatList { "Medium" 300 "Fast" 150 "Instant" 0 "Slow" 600 }
+ rect SCONTENT_X (SCONTENT_Y+(2*ELEM_H)) SCONTENT_W ELEM_H
+ textalign ALIGN_RIGHT
+ textvalign VALIGN_CENTER
+ textalignx SCONTENT_OFF
+ textscale .25
+ forecolor 1 1 1 1
+ visible MENU_FALSE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ }
+ }
+
+ itemDef
+ {
+ name move
+ group optionsGrp
+ type ITEM_TYPE_BIND
+ text "Run / Walk:"
+ cvar "+speed"
+ rect SCONTENT_X (SCONTENT_Y+(3*ELEM_H)) SCONTENT_W ELEM_H
+ textalign ALIGN_RIGHT
+ textvalign VALIGN_CENTER
+ textalignx SCONTENT_OFF
+ textscale .25
+ forecolor 1 1 1 1
+ visible MENU_FALSE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ }
+ }
+
+ itemDef
+ {
+ name move
+ group optionsGrp
+ type ITEM_TYPE_BIND
+ text "Dodge:"
+ cvar "+button6"
+ rect SCONTENT_X (SCONTENT_Y+(4*ELEM_H)) SCONTENT_W ELEM_H
+ textalign ALIGN_RIGHT
+ textvalign VALIGN_CENTER
+ textalignx SCONTENT_OFF
+ textscale .25
+ forecolor 1 1 1 1
+ visible MENU_FALSE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ }
+ }
+
+ itemDef
+ {
+ name move
+ group optionsGrp
+ type ITEM_TYPE_BIND
+ text "Sprint:"
+ cvar "+button8"
+ rect SCONTENT_X (SCONTENT_Y+(5*ELEM_H)) SCONTENT_W ELEM_H
+ textalign ALIGN_RIGHT
+ textvalign VALIGN_CENTER
+ textalignx SCONTENT_OFF
+ textscale .25
+ forecolor 1 1 1 1
+ visible MENU_FALSE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ }
+ }
+
+ itemDef
+ {
+ name move
+ group optionsGrp
+ type ITEM_TYPE_BIND
+ text "Forward:"
+ cvar "+forward"
+ rect SCONTENT_X (SCONTENT_Y+(6*ELEM_H)) SCONTENT_W ELEM_H
+ textalign ALIGN_RIGHT
+ textvalign VALIGN_CENTER
+ textalignx SCONTENT_OFF
+ textscale .25
+ forecolor 1 1 1 1
+ visible MENU_FALSE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ }
+ }
+
+ itemDef
+ {
+ name move
+ group optionsGrp
+ type ITEM_TYPE_BIND
+ text "Backpedal:"
+ cvar "+back"
+ rect SCONTENT_X (SCONTENT_Y+(7*ELEM_H)) SCONTENT_W ELEM_H
+ textalign ALIGN_RIGHT
+ textvalign VALIGN_CENTER
+ textalignx SCONTENT_OFF
+ textscale .25
+ forecolor 1 1 1 1
+ visible MENU_FALSE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ }
+ }
+
+ itemDef
+ {
+ name move
+ group optionsGrp
+ type ITEM_TYPE_BIND
+ text "Move Left:"
+ cvar "+moveleft"
+ rect SCONTENT_X (SCONTENT_Y+(8*ELEM_H)) SCONTENT_W ELEM_H
+ textalign ALIGN_RIGHT
+ textvalign VALIGN_CENTER
+ textalignx SCONTENT_OFF
+ textscale .25
+ forecolor 1 1 1 1
+ visible MENU_FALSE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ }
+ }
+
+ itemDef
+ {
+ name move
+ group optionsGrp
+ type ITEM_TYPE_BIND
+ text "Move Right:"
+ cvar "+moveright"
+ rect SCONTENT_X (SCONTENT_Y+(9*ELEM_H)) SCONTENT_W ELEM_H
+ textalign ALIGN_RIGHT
+ textvalign VALIGN_CENTER
+ textalignx SCONTENT_OFF
+ textscale .25
+ forecolor 1 1 1 1
+ visible MENU_FALSE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ }
+ }
+
+ itemDef
+ {
+ name move
+ group optionsGrp
+ type ITEM_TYPE_BIND
+ text "Jump:"
+ cvar "+moveup"
+ rect SCONTENT_X (SCONTENT_Y+(10*ELEM_H)) SCONTENT_W ELEM_H
+ textalign ALIGN_RIGHT
+ textvalign VALIGN_CENTER
+ textalignx SCONTENT_OFF
+ textscale .25
+ forecolor 1 1 1 1
+ visible MENU_FALSE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ }
+ }
+
+ itemDef
+ {
+ name move
+ group optionsGrp
+ type ITEM_TYPE_BIND
+ text "Crouch:"
+ cvar "+movedown"
+ rect SCONTENT_X (SCONTENT_Y+(11*ELEM_H)) SCONTENT_W ELEM_H
+ textalign ALIGN_RIGHT
+ textvalign VALIGN_CENTER
+ textalignx SCONTENT_OFF
+ textscale .25
+ forecolor 1 1 1 1
+ visible MENU_FALSE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ }
+ }
+
+ itemDef
+ {
+ name move
+ group optionsGrp
+ type ITEM_TYPE_BIND
+ text "Turn Left:"
+ cvar "+left"
+ rect SCONTENT_X (SCONTENT_Y+(12*ELEM_H)) SCONTENT_W ELEM_H
+ textalign ALIGN_RIGHT
+ textvalign VALIGN_CENTER
+ textalignx SCONTENT_OFF
+ textscale .25
+ forecolor 1 1 1 1
+ visible MENU_FALSE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ }
+ }
+
+ itemDef
+ {
+ name move
+ group optionsGrp
+ type ITEM_TYPE_BIND
+ text "Turn Right:"
+ cvar "+right"
+ rect SCONTENT_X (SCONTENT_Y+(13*ELEM_H)) SCONTENT_W ELEM_H
+ textalign ALIGN_RIGHT
+ textvalign VALIGN_CENTER
+ textalignx SCONTENT_OFF
+ textscale .25
+ forecolor 1 1 1 1
+ visible MENU_FALSE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ }
+ }
+
+ itemDef
+ {
+ name move
+ group optionsGrp
+ type ITEM_TYPE_BIND
+ text "Strafe:"
+ cvar "+strafe"
+ rect SCONTENT_X (SCONTENT_Y+(14*ELEM_H)) SCONTENT_W ELEM_H
+ textalign ALIGN_RIGHT
+ textvalign VALIGN_CENTER
+ textalignx SCONTENT_OFF
+ textscale .25
+ forecolor 1 1 1 1
+ visible MENU_FALSE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ }
+ }
+
+
+
+//////// UPGRADES
+
+ itemDef
+ {
+ name controls
+ text "Upgrades"
+ group optionsGrp
+ style WINDOW_STYLE_EMPTY
+ rect 0 ((2*BORDER)+TOPBUTT_H+(2*SIDEBUTT_H)) SIDEBUTT_W SIDEBUTT_H
+ type ITEM_TYPE_BUTTON
+ textalign ALIGN_RIGHT
+ textvalign VALIGN_CENTER
+ textscale .25
+ forecolor 1 1 1 1
+ visible MENU_FALSE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ hide optionsGrp;
+ show controls;
+ show upgrades
+ }
+ }
+
+ itemDef
+ {
+ name upgrades
+ group optionsGrp
+ type ITEM_TYPE_BIND
+ text "Primary Attack:"
+ cvar "+attack"
+ rect SCONTENT_X (SCONTENT_Y+(0*ELEM_H)) SCONTENT_W ELEM_H
+ textalign ALIGN_RIGHT
+ textvalign VALIGN_CENTER
+ textalignx SCONTENT_OFF
+ textscale .25
+ forecolor 1 1 1 1
+ visible MENU_FALSE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ }
+ }
+
+ itemDef
+ {
+ name upgrades
+ group optionsGrp
+ type ITEM_TYPE_BIND
+ text "Secondary Attack:"
+ cvar "+button5"
+ rect SCONTENT_X (SCONTENT_Y+(1*ELEM_H)) SCONTENT_W ELEM_H
+ textalign ALIGN_RIGHT
+ textvalign VALIGN_CENTER
+ textalignx SCONTENT_OFF
+ textscale .25
+ forecolor 1 1 1 1
+ visible MENU_FALSE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ }
+ }
+
+ itemDef
+ {
+ name upgrades
+ group optionsGrp
+ type ITEM_TYPE_BIND
+ text "Previous Upgrade:"
+ cvar "weapprev"
+ rect SCONTENT_X (SCONTENT_Y+(2*ELEM_H)) SCONTENT_W ELEM_H
+ textalign ALIGN_RIGHT
+ textvalign VALIGN_CENTER
+ textalignx SCONTENT_OFF
+ textscale .25
+ forecolor 1 1 1 1
+ visible MENU_FALSE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ }
+ }
+
+ itemDef
+ {
+ name upgrades
+ group optionsGrp
+ type ITEM_TYPE_BIND
+ text "Next Upgrade:"
+ cvar "weapnext"
+ rect SCONTENT_X (SCONTENT_Y+(3*ELEM_H)) SCONTENT_W ELEM_H
+ textalign ALIGN_RIGHT
+ textvalign VALIGN_CENTER
+ textalignx SCONTENT_OFF
+ textscale .25
+ forecolor 1 1 1 1
+ visible MENU_FALSE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ }
+ }
+
+ itemDef
+ {
+ name upgrades
+ group optionsGrp
+ type ITEM_TYPE_BIND
+ text "Activate Upgrade:"
+ cvar "+button2"
+ rect SCONTENT_X (SCONTENT_Y+(4*ELEM_H)) SCONTENT_W ELEM_H
+ textalign ALIGN_RIGHT
+ textvalign VALIGN_CENTER
+ textalignx SCONTENT_OFF
+ textscale .25
+ forecolor 1 1 1 1
+ visible MENU_FALSE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ }
+ }
+
+ itemDef
+ {
+ name upgrades
+ group optionsGrp
+ type ITEM_TYPE_BIND
+ text "Reload:"
+ cvar "reload"
+ rect SCONTENT_X (SCONTENT_Y+(5*ELEM_H)) SCONTENT_W ELEM_H
+ textalign ALIGN_RIGHT
+ textvalign VALIGN_CENTER
+ textalignx SCONTENT_OFF
+ textscale .25
+ forecolor 1 1 1 1
+ visible MENU_FALSE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ }
+ }
+
+ itemDef
+ {
+ name upgrades
+ group optionsGrp
+ type ITEM_TYPE_BIND
+ text "Buy Ammo:"
+ cvar "buy ammo"
+ rect SCONTENT_X (SCONTENT_Y+(6*ELEM_H)) SCONTENT_W ELEM_H
+ textalign ALIGN_RIGHT
+ textvalign VALIGN_CENTER
+ textalignx SCONTENT_OFF
+ textscale .25
+ forecolor 1 1 1 1
+ visible MENU_FALSE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ }
+ }
+
+ itemDef
+ {
+ name upgrades
+ group optionsGrp
+ type ITEM_TYPE_BIND
+ text "Use Medkit:"
+ cvar "itemact medkit"
+ rect SCONTENT_X (SCONTENT_Y+(7*ELEM_H)) SCONTENT_W ELEM_H
+ textalign ALIGN_RIGHT
+ textvalign VALIGN_CENTER
+ textalignx SCONTENT_OFF
+ textscale .25
+ forecolor 1 1 1 1
+ visible MENU_FALSE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ }
+ }
+
+//////// MISC
+
+ itemDef
+ {
+ name controls
+ text "Misc"
+ group optionsGrp
+ style WINDOW_STYLE_EMPTY
+ rect 0 ((2*BORDER)+TOPBUTT_H+(3*SIDEBUTT_H)) SIDEBUTT_W SIDEBUTT_H
+ type ITEM_TYPE_BUTTON
+ textalign ALIGN_RIGHT
+ textvalign VALIGN_CENTER
+ textscale .25
+ forecolor 1 1 1 1
+ visible MENU_FALSE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ hide optionsGrp;
+ show controls;
+ show misc
+ }
+ }
+
+ itemDef
+ {
+ name misc
+ group optionsGrp
+ type ITEM_TYPE_BIND
+ text "Show Scores:"
+ cvar "+scores"
+ rect SCONTENT_X (SCONTENT_Y+(0*ELEM_H)) SCONTENT_W ELEM_H
+ textalign ALIGN_RIGHT
+ textvalign VALIGN_CENTER
+ textalignx SCONTENT_OFF
+ textscale .25
+ forecolor 1 1 1 1
+ visible MENU_FALSE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ }
+ }
+
+ itemDef
+ {
+ name misc
+ group optionsGrp
+ type ITEM_TYPE_BIND
+ text "Scroll Scores Up:"
+ cvar "scoresUp"
+ rect SCONTENT_X (SCONTENT_Y+(1*ELEM_H)) SCONTENT_W ELEM_H
+ textalign ALIGN_RIGHT
+ textvalign VALIGN_CENTER
+ textalignx SCONTENT_OFF
+ textscale .25
+ forecolor 1 1 1 1
+ visible MENU_FALSE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ }
+ }
+
+ itemDef
+ {
+ name misc
+ group optionsGrp
+ type ITEM_TYPE_BIND
+ text "Scroll Scores Down:"
+ cvar "scoresDown"
+ rect SCONTENT_X (SCONTENT_Y+(2*ELEM_H)) SCONTENT_W ELEM_H
+ textalign ALIGN_RIGHT
+ textvalign VALIGN_CENTER
+ textalignx SCONTENT_OFF
+ textscale .25
+ forecolor 1 1 1 1
+ visible MENU_FALSE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ }
+ }
+
+ itemDef
+ {
+ name misc
+ group optionsGrp
+ type ITEM_TYPE_BIND
+ text "Use Structure/Evolve:"
+ cvar "+button7"
+ rect SCONTENT_X (SCONTENT_Y+(3*ELEM_H)) SCONTENT_W ELEM_H
+ textalign ALIGN_RIGHT
+ textvalign VALIGN_CENTER
+ textalignx SCONTENT_OFF
+ textscale .25
+ forecolor 1 1 1 1
+ visible MENU_FALSE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ }
+ }
+
+ itemDef
+ {
+ name misc
+ group optionsGrp
+ type ITEM_TYPE_BIND
+ text "Deconstruct Structure:"
+ cvar "deconstruct"
+ rect SCONTENT_X (SCONTENT_Y+(4*ELEM_H)) SCONTENT_W ELEM_H
+ textalign ALIGN_RIGHT
+ textvalign VALIGN_CENTER
+ textalignx SCONTENT_OFF
+ textscale .25
+ forecolor 1 1 1 1
+ visible MENU_FALSE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ }
+ }
+
+ itemDef
+ {
+ name misc
+ group optionsGrp
+ type ITEM_TYPE_BIND
+ text "Gesture:"
+ cvar "+button3"
+ rect SCONTENT_X (SCONTENT_Y+(5*ELEM_H)) SCONTENT_W ELEM_H
+ textalign ALIGN_RIGHT
+ textvalign VALIGN_CENTER
+ textalignx SCONTENT_OFF
+ textscale .25
+ forecolor 1 1 1 1
+ visible MENU_FALSE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ }
+ }
+
+ itemDef
+ {
+ name misc
+ group optionsGrp
+ type ITEM_TYPE_BIND
+ text "Chat:"
+ cvar "messagemode"
+ rect SCONTENT_X (SCONTENT_Y+(6*ELEM_H)) SCONTENT_W ELEM_H
+ textalign ALIGN_RIGHT
+ textvalign VALIGN_CENTER
+ textalignx SCONTENT_OFF
+ textscale .25
+ forecolor 1 1 1 1
+ visible MENU_FALSE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ }
+ }
+
+ itemDef
+ {
+ name misc
+ group optionsGrp
+ type ITEM_TYPE_BIND
+ text "Team Chat:"
+ cvar "messagemode2"
+ rect SCONTENT_X (SCONTENT_Y+(7*ELEM_H)) SCONTENT_W ELEM_H
+ textalign ALIGN_RIGHT
+ textvalign VALIGN_CENTER
+ textalignx SCONTENT_OFF
+ textscale .25
+ forecolor 1 1 1 1
+ visible MENU_FALSE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ }
+ }
+
+ itemDef
+ {
+ name misc
+ group optionsGrp
+ type ITEM_TYPE_BIND
+ text "Vote Yes:"
+ cvar "vote yes"
+ rect SCONTENT_X (SCONTENT_Y+(8*ELEM_H)) SCONTENT_W ELEM_H
+ textalign ALIGN_RIGHT
+ textvalign VALIGN_CENTER
+ textalignx SCONTENT_OFF
+ textscale .25
+ forecolor 1 1 1 1
+ visible MENU_FALSE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ }
+ }
+
+ itemDef
+ {
+ name misc
+ group optionsGrp
+ type ITEM_TYPE_BIND
+ text "Vote No:"
+ cvar "vote no"
+ rect SCONTENT_X (SCONTENT_Y+(9*ELEM_H)) SCONTENT_W ELEM_H
+ textalign ALIGN_RIGHT
+ textvalign VALIGN_CENTER
+ textalignx SCONTENT_OFF
+ textscale .25
+ forecolor 1 1 1 1
+ visible MENU_FALSE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ }
+ }
+
+ itemDef
+ {
+ name misc
+ group optionsGrp
+ type ITEM_TYPE_BIND
+ text "Team Vote Yes:"
+ cvar "teamvote yes"
+ rect SCONTENT_X (SCONTENT_Y+(10*ELEM_H)) SCONTENT_W ELEM_H
+ textalign ALIGN_RIGHT
+ textvalign VALIGN_CENTER
+ textalignx SCONTENT_OFF
+ textscale .25
+ forecolor 1 1 1 1
+ visible MENU_FALSE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ }
+ }
+
+ itemDef
+ {
+ name misc
+ group optionsGrp
+ type ITEM_TYPE_BIND
+ text "Team Vote No:"
+ cvar "teamvote no"
+ rect SCONTENT_X (SCONTENT_Y+(11*ELEM_H)) SCONTENT_W ELEM_H
+ textalign ALIGN_RIGHT
+ textvalign VALIGN_CENTER
+ textalignx SCONTENT_OFF
+ textscale .25
+ forecolor 1 1 1 1
+ visible MENU_FALSE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ }
+ }
+
+ itemDef
+ {
+ name misc
+ group optionsGrp
+ type ITEM_TYPE_BIND
+ text "Screenshot:"
+ cvar "screenshotJPEG"
+ rect SCONTENT_X (SCONTENT_Y+(12*ELEM_H)) SCONTENT_W ELEM_H
+ textalign ALIGN_RIGHT
+ textvalign VALIGN_CENTER
+ textalignx SCONTENT_OFF
+ textscale .25
+ forecolor 1 1 1 1
+ visible MENU_FALSE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ }
+ }
+
+ itemDef
+ {
+ name misc
+ group optionsGrp
+ type ITEM_TYPE_BIND
+ text "Ready To Play:"
+ cvar "ready"
+ rect SCONTENT_X (SCONTENT_Y+(13*ELEM_H)) SCONTENT_W ELEM_H
+ textalign ALIGN_RIGHT
+ textvalign VALIGN_CENTER
+ textalignx SCONTENT_OFF
+ textscale .25
+ forecolor 1 1 1 1
+ visible MENU_FALSE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ }
+ }
+//////// SYSTEM
+
+ //System menu
+ itemDef
+ {
+ name system
+ text "GFX Hardware"
+ group optionsGrp
+ style WINDOW_STYLE_EMPTY
+ rect 0 ((2*BORDER)+TOPBUTT_H+(0*SIDEBUTT_H)) SIDEBUTT_W SIDEBUTT_H
+ type ITEM_TYPE_BUTTON
+ textalign ALIGN_RIGHT
+ textvalign VALIGN_CENTER
+ textscale .25
+ forecolor 1 1 1 1
+ visible MENU_FALSE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ hide optionsGrp;
+ show system;
+ show ghardware
+ }
+ }
+
+//////// GFX HARDWARE
+
+ itemDef
+ {
+ name ghardware
+ group optionsGrp
+ type ITEM_TYPE_MULTI
+ text "Quality:"
+ cvar "ui_glCustom"
+ cvarFloatList { "High Quality" 0 "Normal" 1 "Fast" 2 "Fastest" 3 "Custom" 4 }
+ rect SCONTENT_X (SCONTENT_Y+(0*ELEM_H)) SCONTENT_W ELEM_H
+ textalign ALIGN_RIGHT
+ textvalign VALIGN_CENTER
+ textalignx SCONTENT_OFF
+ textscale .25
+ forecolor 1 1 1 1
+ visible MENU_FALSE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ uiScript update "ui_glCustom"
+ }
+ }
+
+ itemDef
+ {
+ name ghardware
+ group optionsGrp
+ type ITEM_TYPE_YESNO
+ text "GL Extensions:"
+ cvar "r_allowExtensions"
+ rect SCONTENT_X (SCONTENT_Y+(1*ELEM_H)) SCONTENT_W ELEM_H
+ textalign ALIGN_RIGHT
+ textvalign VALIGN_CENTER
+ textalignx SCONTENT_OFF
+ textscale .25
+ forecolor 1 1 1 1
+ visible MENU_FALSE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ uiScript glCuston
+ }
+ }
+
+ itemDef
+ {
+ name ghardware
+ group optionsGrp
+ type ITEM_TYPE_TEXT
+ text "Video Mode:"
+ rect SCONTENT_X (SCONTENT_Y+(2*ELEM_H)) (SCONTENT_W/2) ELEM_H
+ textalign ALIGN_RIGHT
+ textvalign VALIGN_CENTER
+ textscale .25
+ forecolor 1 1 1 1
+ visible MENU_TRUE
+ }
+
+ itemDef
+ {
+ name ghardware
+ group optionsGrp
+ rect (SCONTENT_X+(SCONTENT_W/2)+RESCOMBO_OFF) (SCONTENT_Y+(2*ELEM_H)) ((SCONTENT_W/2)-(2*RESCOMBO_OFF)) ELEM_H
+ type ITEM_TYPE_COMBOBOX
+ style WINDOW_STYLE_FILLED
+ elementwidth ((SCONTENT_W/2)-(2*BORDER))
+ elementheight ELEM_H
+ dropitems 5
+ textscale .25
+ elementtype LISTBOX_TEXT
+ feeder FEEDER_RESOLUTIONS
+ border WINDOW_BORDER_FULL
+ borderColor 0.5 0.5 0.5 1
+ forecolor 1 1 1 1
+ backcolor 0 0 0 1
+ outlinecolor 0.1 0.1 0.1 0.5
+ visible MENU_TRUE
+ doubleclick
+ {
+ play "sound/misc/menu1.wav";
+ }
+ }
+
+ itemDef
+ {
+ name ghardware
+ group optionsGrp
+ type ITEM_TYPE_MULTI
+ text "Color Depth:"
+ cvar "r_colorbits"
+ cvarFloatList { "Default" 0 "16 bit" 16 "32 bit" 32 }
+ rect SCONTENT_X (SCONTENT_Y+(3*ELEM_H)) SCONTENT_W ELEM_H
+ textalign ALIGN_RIGHT
+ textvalign VALIGN_CENTER
+ textalignx SCONTENT_OFF
+ textscale .25
+ forecolor 1 1 1 1
+ visible MENU_FALSE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ uiScript glCustom;
+ uiScript update "r_colorbits"
+ }
+ }
+
+ itemDef
+ {
+ name ghardware
+ group optionsGrp
+ type ITEM_TYPE_YESNO
+ text "Fullscreen:"
+ cvar "r_fullscreen"
+ rect SCONTENT_X (SCONTENT_Y+(4*ELEM_H)) SCONTENT_W ELEM_H
+ textalign ALIGN_RIGHT
+ textvalign VALIGN_CENTER
+ textalignx SCONTENT_OFF
+ textscale .25
+ forecolor 1 1 1 1
+ visible MENU_FALSE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ uiScript glCustom
+ }
+ }
+
+ itemDef
+ {
+ name ghardware
+ group optionsGrp
+ type ITEM_TYPE_MULTI
+ text "Lighting:"
+ cvar "r_vertexlight"
+ cvarFloatList { "Light Map (high)" 0 "Vertex (low)" 1 }
+ rect SCONTENT_X (SCONTENT_Y+(5*ELEM_H)) SCONTENT_W ELEM_H
+ textalign ALIGN_RIGHT
+ textvalign VALIGN_CENTER
+ textalignx SCONTENT_OFF
+ textscale .25
+ forecolor 1 1 1 1
+ visible MENU_FALSE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ uiScript glCustom
+ }
+ }
+
+ itemDef
+ {
+ name ghardware
+ group optionsGrp
+ type ITEM_TYPE_MULTI
+ text "Geometric Detail:"
+ cvar "r_lodbias"
+ cvarFloatList { "High" 0 "Medium" 1 "Low" 2 }
+ rect SCONTENT_X (SCONTENT_Y+(6*ELEM_H)) SCONTENT_W ELEM_H
+ textalign ALIGN_RIGHT
+ textvalign VALIGN_CENTER
+ textalignx SCONTENT_OFF
+ textscale .25
+ forecolor 1 1 1 1
+ visible MENU_FALSE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ uiScript glCustom;
+ uiScript update "r_lodbias"
+ }
+ }
+
+ itemDef
+ {
+ name ghardware
+ group optionsGrp
+ type ITEM_TYPE_MULTI
+ text "Texture Detail:"
+ cvar "r_picmip"
+ cvarFloatList { "Low" 2 "Normal" 1 "High" 0 }
+ rect SCONTENT_X (SCONTENT_Y+(7*ELEM_H)) SCONTENT_W ELEM_H
+ textalign ALIGN_RIGHT
+ textvalign VALIGN_CENTER
+ textalignx SCONTENT_OFF
+ textscale .25
+ forecolor 1 1 1 1
+ visible MENU_FALSE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ uiScript glCustom
+ }
+ }
+
+ itemDef
+ {
+ name ghardware
+ group optionsGrp
+ type ITEM_TYPE_MULTI
+ text "Texture Quality:"
+ cvar "r_texturebits"
+ cvarFloatList { "Default" 0 "16 bit" 16 "32 bit" 32 }
+ rect SCONTENT_X (SCONTENT_Y+(8*ELEM_H)) SCONTENT_W ELEM_H
+ textalign ALIGN_RIGHT
+ textvalign VALIGN_CENTER
+ textalignx SCONTENT_OFF
+ textscale .25
+ forecolor 1 1 1 1
+ visible MENU_FALSE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ }
+ }
+
+ itemDef
+ {
+ name ghardware
+ group optionsGrp
+ type ITEM_TYPE_MULTI
+ text "Texture Filter:"
+ cvar "r_texturemode"
+ cvarStrList { "Bilinear", "GL_LINEAR_MIPMAP_NEAREST", "Trilinear", "GL_LINEAR_MIPMAP_LINEAR" }
+ rect SCONTENT_X (SCONTENT_Y+(9*ELEM_H)) SCONTENT_W ELEM_H
+ textalign ALIGN_RIGHT
+ textvalign VALIGN_CENTER
+ textalignx SCONTENT_OFF
+ textscale .25
+ forecolor 1 1 1 1
+ visible MENU_FALSE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ uiScript glCustom
+ }
+ }
+
+ itemDef
+ {
+ name ghardware
+ group optionsGrp
+ type ITEM_TYPE_YESNO
+ text "Anisotropic Filtering:"
+ cvar "r_ext_texture_filter_anisotropic"
+ rect SCONTENT_X (SCONTENT_Y+(10*ELEM_H)) SCONTENT_W ELEM_H
+ textalign ALIGN_RIGHT
+ textvalign VALIGN_CENTER
+ textalignx SCONTENT_OFF
+ textscale .25
+ forecolor 1 1 1 1
+ visible MENU_FALSE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ uiScript glCustom
+ }
+ }
+
+ itemDef
+ {
+ name ghardware
+ group optionsGrp
+ type ITEM_TYPE_YESNO
+ text "Compress Textures:"
+ cvar "r_ext_compressed_textures "
+ rect SCONTENT_X (SCONTENT_Y+(11*ELEM_H)) SCONTENT_W ELEM_H
+ textalign ALIGN_RIGHT
+ textvalign VALIGN_CENTER
+ textalignx SCONTENT_OFF
+ textscale .25
+ forecolor 1 1 1 1
+ visible MENU_FALSE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ uiScript glCustom
+ }
+ }
+
+ itemDef
+ {
+ name ghardware
+ group optionsGrp
+ type ITEM_TYPE_BUTTON
+ text "APPLY"
+ textscale .25
+ style WINDOW_STYLE_EMPTY
+ rect SCONTENT_X (SCONTENT_Y+(13*ELEM_H)) SCONTENT_W ELEM_H
+ textalign ALIGN_CENTER
+ textvalign VALIGN_CENTER
+ forecolor 1 1 1 1
+ visible MENU_FALSE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ exec "vid_restart"
+ }
+ }
+
+//////// GFX SOFTWARE
+
+ itemDef
+ {
+ name system
+ text "GFX Software"
+ group optionsGrp
+ style WINDOW_STYLE_EMPTY
+ rect 0 ((2*BORDER)+TOPBUTT_H+(1*SIDEBUTT_H)) SIDEBUTT_W SIDEBUTT_H
+ type ITEM_TYPE_BUTTON
+ textalign ALIGN_RIGHT
+ textvalign VALIGN_CENTER
+ textscale .25
+ forecolor 1 1 1 1
+ visible MENU_FALSE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ hide optionsGrp;
+ show system;
+ show gsoftware
+ }
+ }
+
+ itemDef
+ {
+ name gsoftware
+ group optionsGrp
+ type ITEM_TYPE_SLIDER
+ text "Brightness:"
+ cvarfloat "r_gamma" 1 .5 2
+ rect SCONTENT_X (SCONTENT_Y+(0*ELEM_H)) SCONTENT_W ELEM_H
+ textalign ALIGN_RIGHT
+ textvalign VALIGN_CENTER
+ textalignx SCONTENT_OFF
+ textscale .25
+ forecolor 1 1 1 1
+ visible MENU_FALSE
+ }
+
+ itemDef
+ {
+ name gsoftware
+ group optionsGrp
+ type ITEM_TYPE_SLIDER
+ text "Screen Size:"
+ cvarfloat "cg_viewsize" 100 30 100
+ rect SCONTENT_X (SCONTENT_Y+(1*ELEM_H)) SCONTENT_W ELEM_H
+ textalign ALIGN_RIGHT
+ textvalign VALIGN_CENTER
+ textalignx SCONTENT_OFF
+ textscale .25
+ forecolor 1 1 1 1
+ visible MENU_FALSE
+ }
+
+ itemDef
+ {
+ name gsoftware
+ group optionsGrp
+ type ITEM_TYPE_YESNO
+ text "Marks On Walls:"
+ cvar "cg_marks"
+ rect SCONTENT_X (SCONTENT_Y+(2*ELEM_H)) SCONTENT_W ELEM_H
+ textalign ALIGN_RIGHT
+ textvalign VALIGN_CENTER
+ textalignx SCONTENT_OFF
+ textscale .25
+ forecolor 1 1 1 1
+ visible MENU_TRUE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ }
+ }
+
+ itemDef
+ {
+ name gsoftware
+ group optionsGrp
+ type ITEM_TYPE_YESNO
+ text "Dynamic Lights:"
+ cvar "r_dynamiclight"
+ rect SCONTENT_X (SCONTENT_Y+(3*ELEM_H)) SCONTENT_W ELEM_H
+ textalign ALIGN_RIGHT
+ textvalign VALIGN_CENTER
+ textalignx SCONTENT_OFF
+ textscale .25
+ forecolor 1 1 1 1
+ visible MENU_TRUE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ }
+ }
+
+ itemDef
+ {
+ name gsoftware
+ group optionsGrp
+ type ITEM_TYPE_YESNO
+ text "Draw Gun:"
+ cvar "cg_drawGun"
+ rect SCONTENT_X (SCONTENT_Y+(4*ELEM_H)) SCONTENT_W ELEM_H
+ textalign ALIGN_RIGHT
+ textvalign VALIGN_CENTER
+ textalignx SCONTENT_OFF
+ textscale .25
+ forecolor 1 1 1 1
+ visible MENU_TRUE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ }
+ }
+
+ itemDef
+ {
+ name gsoftware
+ group optionsGrp
+ type ITEM_TYPE_YESNO
+ text "Low Quality Sky:"
+ cvar "r_fastsky"
+ rect SCONTENT_X (SCONTENT_Y+(5*ELEM_H)) SCONTENT_W ELEM_H
+ textalign ALIGN_RIGHT
+ textvalign VALIGN_CENTER
+ textalignx SCONTENT_OFF
+ textscale .25
+ forecolor 1 1 1 1
+ visible MENU_TRUE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ }
+ }
+
+ itemDef
+ {
+ name gsoftware
+ group optionsGrp
+ type ITEM_TYPE_YESNO
+ text "Sync Every Frame:"
+ cvar "r_finish"
+ rect SCONTENT_X (SCONTENT_Y+(6*ELEM_H)) SCONTENT_W ELEM_H
+ textalign ALIGN_RIGHT
+ textvalign VALIGN_CENTER
+ textalignx SCONTENT_OFF
+ textscale .25
+ forecolor 1 1 1 1
+ visible MENU_TRUE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ }
+ }
+
+ itemDef
+ {
+ name gsoftware
+ group optionsGrp
+ type ITEM_TYPE_YESNO
+ text "In Game Videos:"
+ cvar "r_inGameVideo"
+ rect SCONTENT_X (SCONTENT_Y+(7*ELEM_H)) SCONTENT_W ELEM_H
+ textalign ALIGN_RIGHT
+ textvalign VALIGN_CENTER
+ textalignx SCONTENT_OFF
+ textscale .25
+ forecolor 1 1 1 1
+ visible MENU_TRUE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ }
+ }
+
+ itemDef
+ {
+ name gsoftware
+ group optionsGrp
+ type ITEM_TYPE_YESNO
+ text "Depth Sort Particles:"
+ cvar "cg_depthSortParticles"
+ rect SCONTENT_X (SCONTENT_Y+(8*ELEM_H)) SCONTENT_W ELEM_H
+ textalign ALIGN_RIGHT
+ textvalign VALIGN_CENTER
+ textalignx SCONTENT_OFF
+ textscale .25
+ forecolor 1 1 1 1
+ visible MENU_TRUE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ }
+ }
+
+ itemDef
+ {
+ name gsoftware
+ group optionsGrp
+ type ITEM_TYPE_MULTI
+ text "Particle Physics:"
+ cvar "cg_bounceParticles"
+ cvarFloatList { "Low Quality" 0 "High Quality" 1 }
+ rect SCONTENT_X (SCONTENT_Y+(9*ELEM_H)) SCONTENT_W ELEM_H
+ textalign ALIGN_RIGHT
+ textvalign VALIGN_CENTER
+ textalignx SCONTENT_OFF
+ textscale .25
+ forecolor 1 1 1 1
+ visible MENU_TRUE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ }
+ }
+
+ itemDef
+ {
+ name gsoftware
+ group optionsGrp
+ type ITEM_TYPE_MULTI
+ text "Light Flares:"
+ cvar "cg_lightFlare"
+ cvarFloatList { "Off" 0 "No Fade" 1 "Timed Fade" 2 "Real Fade" 3 }
+ rect SCONTENT_X (SCONTENT_Y+(10*ELEM_H)) SCONTENT_W ELEM_H
+ textalign ALIGN_RIGHT
+ textvalign VALIGN_CENTER
+ textalignx SCONTENT_OFF
+ textscale .25
+ forecolor 1 1 1 1
+ visible MENU_TRUE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ }
+ }
+
+//////// GL INFO
+
+ itemDef
+ {
+ name system
+ text "OpenGL Info"
+ group optionsGrp
+ style WINDOW_STYLE_EMPTY
+ rect 0 ((2*BORDER)+TOPBUTT_H+(2*SIDEBUTT_H)) SIDEBUTT_W SIDEBUTT_H
+ type ITEM_TYPE_BUTTON
+ textalign ALIGN_RIGHT
+ textvalign VALIGN_CENTER
+ textscale .25
+ forecolor 1 1 1 1
+ visible MENU_FALSE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ hide optionsGrp;
+ show system;
+ show glinfo
+ }
+ }
+
+ itemDef
+ {
+ name glinfo
+ group optionsGrp
+ rect SCONTENT_X SCONTENT_Y SCONTENT_W (H-(SCONTENT_Y+BORDER))
+ ownerdraw UI_GLINFO
+ textscale .25
+ textalign ALIGN_LEFT
+ textvalign VALIGN_TOP
+ textalignx 4
+ textaligny 4
+ forecolor 1 1 1 1
+ visible MENU_FALSE
+ decoration
+ }
+
+//////// NET & SOUND
+
+ itemDef
+ {
+ name system
+ text "Net & Sound"
+ group optionsGrp
+ style WINDOW_STYLE_EMPTY
+ rect 0 ((2*BORDER)+TOPBUTT_H+(3*SIDEBUTT_H)) SIDEBUTT_W SIDEBUTT_H
+ type ITEM_TYPE_BUTTON
+ textalign ALIGN_RIGHT
+ textvalign VALIGN_CENTER
+ textscale .25
+ forecolor 1 1 1 1
+ visible MENU_FALSE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ hide optionsGrp;
+ show system;
+ show netsound
+ }
+ }
+
+ itemDef
+ {
+ name netsound
+ group optionsGrp
+ style WINDOW_STYLE_FILLED
+ type ITEM_TYPE_TEXT
+ text "Sound"
+ rect SCONTENT_X (SCONTENT_Y+(0*ELEM_H)) SCONTENT_W ELEM_H
+ textalign ALIGN_CENTER
+ textvalign VALIGN_CENTER
+ textscale .25
+ forecolor 1 1 1 1
+ visible MENU_FALSE
+ decoration
+ action
+ {
+ play "sound/misc/menu1.wav";
+ }
+ }
+
+ itemDef
+ {
+ name netsound
+ group optionsGrp
+ type ITEM_TYPE_SLIDER
+ text "Effects Volume:"
+ cvarfloat "s_volume" 0.7 0 1
+ rect SCONTENT_X (SCONTENT_Y+(1*ELEM_H)) SCONTENT_W ELEM_H
+ textalign ALIGN_RIGHT
+ textvalign VALIGN_CENTER
+ textalignx SCONTENT_OFF
+ textscale .25
+ forecolor 1 1 1 1
+ visible MENU_FALSE
+ }
+
+ itemDef
+ {
+ name netsound
+ group optionsGrp
+ type ITEM_TYPE_SLIDER
+ text "Music Volume:"
+ cvarfloat "s_musicvolume" 0.25 0 1
+ rect SCONTENT_X (SCONTENT_Y+(2*ELEM_H)) SCONTENT_W ELEM_H
+ textalign ALIGN_RIGHT
+ textvalign VALIGN_CENTER
+ textalignx SCONTENT_OFF
+ textscale .25
+ forecolor 1 1 1 1
+ visible MENU_FALSE
+ }
+
+ itemDef
+ {
+ name netsound
+ group optionsGrp
+ type ITEM_TYPE_YESNO
+ text "OpenAL:"
+ cvar "s_useOpenAL"
+ rect SCONTENT_X (SCONTENT_Y+(3*ELEM_H)) SCONTENT_W ELEM_H
+ textalign ALIGN_RIGHT
+ textvalign VALIGN_CENTER
+ textalignx SCONTENT_OFF
+ textscale .25
+ forecolor 1 1 1 1
+ visible MENU_FALSE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ }
+ }
+
+ itemDef
+ {
+ name netsound
+ group optionsGrp
+ type ITEM_TYPE_MULTI
+ text "Sound Quality:"
+ cvar "s_khz"
+ cvarFloatList { "44 khz (very high)" 44 "22 khz (high)" 22 "11 khz (low)" 11 }
+ rect SCONTENT_X (SCONTENT_Y+(4*ELEM_H)) SCONTENT_W ELEM_H
+ textalign ALIGN_RIGHT
+ textvalign VALIGN_CENTER
+ textalignx SCONTENT_OFF
+ textscale .25
+ forecolor 1 1 1 1
+ visible MENU_FALSE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ }
+ }
+
+ itemDef
+ {
+ name netsound
+ group optionsGrp
+ type ITEM_TYPE_YESNO
+ text "Doppler Sound:"
+ cvar "s_doppler"
+ rect SCONTENT_X (SCONTENT_Y+(5*ELEM_H)) SCONTENT_W ELEM_H
+ textalign ALIGN_RIGHT
+ textvalign VALIGN_CENTER
+ textalignx SCONTENT_OFF
+ textscale .25
+ forecolor 1 1 1 1
+ visible MENU_FALSE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ }
+ }
+
+ itemDef
+ {
+ name netsound
+ group optionsGrp
+ style WINDOW_STYLE_FILLED
+ type ITEM_TYPE_TEXT
+ text "Network"
+ rect SCONTENT_X (SCONTENT_Y+(7*ELEM_H)) SCONTENT_W ELEM_H
+ textalign ALIGN_CENTER
+ textvalign VALIGN_CENTER
+ textscale .25
+ forecolor 1 1 1 1
+ visible MENU_FALSE
+ decoration
+ action
+ {
+ play "sound/misc/menu1.wav";
+ }
+ }
+
+ itemDef
+ {
+ name netsound
+ group optionsGrp
+ type ITEM_TYPE_MULTI
+ text "Net Data Rate:"
+ cvar "rate"
+ cvarFloatList { "<=28.8k" 2500 "33.6k" 3000 "56k" 4000 "ISDN" 5000 "LAN/CABLE/xDSl" 25000 }
+ rect SCONTENT_X (SCONTENT_Y+(8*ELEM_H)) SCONTENT_W ELEM_H
+ textalign ALIGN_RIGHT
+ textvalign VALIGN_CENTER
+ textalignx SCONTENT_OFF
+ textscale .25
+ forecolor 1 1 1 1
+ visible MENU_FALSE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ }
+ }
+
+ itemDef
+ {
+ name netsound
+ group optionsGrp
+ type ITEM_TYPE_BUTTON
+ text "APPLY"
+ textscale .25
+ style WINDOW_STYLE_EMPTY
+ rect SCONTENT_X (SCONTENT_Y+(10*ELEM_H)) SCONTENT_W ELEM_H
+ textalign ALIGN_CENTER
+ textvalign VALIGN_CENTER
+ forecolor 1 1 1 1
+ visible MENU_FALSE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ exec "snd_restart"
+ }
+ }
+
+//////// RANGE MARKERS
+
+ itemDef
+ {
+ name system
+ text "Range Markers"
+ group optionsGrp
+ style WINDOW_STYLE_EMPTY
+ rect 0 ((2*BORDER)+TOPBUTT_H+(4*SIDEBUTT_H)) SIDEBUTT_W SIDEBUTT_H
+ type ITEM_TYPE_BUTTON
+ textalign ALIGN_RIGHT
+ textvalign VALIGN_CENTER
+ textscale .25
+ forecolor 1 1 1 1
+ visible MENU_FALSE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ hide optionsGrp;
+ show system;
+ show rangemarkers
+ }
+ }
+
+ itemDef
+ {
+ name rangemarkers
+ group optionsGrp
+ type ITEM_TYPE_YESNO
+ text "Draw Surface:"
+ cvar "cg_rangeMarkerDrawSurface"
+ rect SCONTENT_X (SCONTENT_Y+(0*ELEM_H)) SCONTENT_W ELEM_H
+ textalign ALIGN_RIGHT
+ textvalign VALIGN_CENTER
+ textalignx SCONTENT_OFF
+ textscale .25
+ forecolor 1 1 1 1
+ visible MENU_FALSE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ }
+ }
+
+ itemDef
+ {
+ name rangemarkers
+ group optionsGrp
+ type ITEM_TYPE_YESNO
+ text "Draw Intersection:"
+ cvar "cg_rangeMarkerDrawIntersection"
+ rect SCONTENT_X (SCONTENT_Y+(1*ELEM_H)) SCONTENT_W ELEM_H
+ textalign ALIGN_RIGHT
+ textvalign VALIGN_CENTER
+ textalignx SCONTENT_OFF
+ textscale .25
+ forecolor 1 1 1 1
+ visible MENU_FALSE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ }
+ }
+
+ itemDef
+ {
+ name rangemarkers
+ group optionsGrp
+ type ITEM_TYPE_YESNO
+ text "Draw Frontline:"
+ cvar "cg_rangeMarkerDrawFrontline"
+ rect SCONTENT_X (SCONTENT_Y+(2*ELEM_H)) SCONTENT_W ELEM_H
+ textalign ALIGN_RIGHT
+ textvalign VALIGN_CENTER
+ textalignx SCONTENT_OFF
+ textscale .25
+ forecolor 1 1 1 1
+ visible MENU_FALSE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ }
+ }
+
+ itemDef
+ {
+ name rangemarkers
+ group optionsGrp
+ type ITEM_TYPE_SLIDER
+ text "Surface Opacity:"
+ cvarfloat "cg_rangeMarkerSurfaceOpacity" 0.08 0.035 0.3
+ rect SCONTENT_X (SCONTENT_Y+(3*ELEM_H)) SCONTENT_W ELEM_H
+ textalign ALIGN_RIGHT
+ textvalign VALIGN_CENTER
+ textalignx SCONTENT_OFF
+ textscale .25
+ forecolor 1 1 1 1
+ visible MENU_FALSE
+ }
+
+ itemDef
+ {
+ name rangemarkers
+ group optionsGrp
+ type ITEM_TYPE_SLIDER
+ text "Line Opacity:"
+ cvarfloat "cg_rangeMarkerLineOpacity" 0.4 0.075 1
+ rect SCONTENT_X (SCONTENT_Y+(4*ELEM_H)) SCONTENT_W ELEM_H
+ textalign ALIGN_RIGHT
+ textvalign VALIGN_CENTER
+ textalignx SCONTENT_OFF
+ textscale .25
+ forecolor 1 1 1 1
+ visible MENU_FALSE
+ }
+
+ itemDef
+ {
+ name rangemarkers
+ group optionsGrp
+ type ITEM_TYPE_SLIDER
+ text "Line Thickness:"
+ cvarfloat "cg_rangeMarkerLineThickness" 4.0 1 11
+ rect SCONTENT_X (SCONTENT_Y+(5*ELEM_H)) SCONTENT_W ELEM_H
+ textalign ALIGN_RIGHT
+ textvalign VALIGN_CENTER
+ textalignx SCONTENT_OFF
+ textscale .25
+ forecolor 1 1 1 1
+ visible MENU_FALSE
+ }
+
+ itemDef
+ {
+ name rangemarkers
+ group optionsGrp
+ type ITEM_TYPE_YESNO
+ text "Range Marker for Blueprint:"
+ cvar "cg_rangeMarkerForBlueprint"
+ rect SCONTENT_X (SCONTENT_Y+(6*ELEM_H)) SCONTENT_W ELEM_H
+ textalign ALIGN_RIGHT
+ textvalign VALIGN_CENTER
+ textalignx SCONTENT_OFF
+ textscale .25
+ forecolor 1 1 1 1
+ visible MENU_FALSE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ }
+ }
+
+ itemDef
+ {
+ name rangemarkers
+ group optionsGrp
+ type ITEM_TYPE_MULTI
+ text "Range Markers for:"
+ cvar "cg_rangeMarkerBuildableTypes"
+ cvarStrList { "No Buildables", "",
+ "All Buildables", "all",
+ "Support Buildables", "support",
+ "Offensive Buildables", "offensive",
+ "Alien Buildables", "alien",
+ "Human Buildables", "human",
+ "Alien Support Buildables", "aliensupport",
+ "Human Support Buildables", "humansupport",
+ "Offensive Alien Buildables", "alienoffensive",
+ "Offensive Human Buildables", "humanoffensive" }
+ rect SCONTENT_X (SCONTENT_Y+(7*ELEM_H)) SCONTENT_W ELEM_H
+ textalign ALIGN_RIGHT
+ textvalign VALIGN_CENTER
+ textalignx SCONTENT_OFF
+ textscale .25
+ forecolor 1 1 1 1
+ visible MENU_FALSE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ }
+ }
+
+ itemDef
+ {
+ name rangemarkers
+ group optionsGrp
+ type ITEM_TYPE_SLIDER
+ text "Binary Shader Screen Scale:"
+ cvarfloat "cg_binaryShaderScreenScale" 1.0 0 1
+ rect SCONTENT_X (SCONTENT_Y+(8*ELEM_H)) SCONTENT_W ELEM_H
+ textalign ALIGN_RIGHT
+ textvalign VALIGN_CENTER
+ textalignx SCONTENT_OFF
+ textscale .25
+ forecolor 1 1 1 1
+ visible MENU_FALSE
+ }
+ }
+}
diff --git a/assets/ui/install_update.menu b/assets/ui/install_update.menu
new file mode 100644
index 0000000..8c81133
--- /dev/null
+++ b/assets/ui/install_update.menu
@@ -0,0 +1,145 @@
+#include "ui/menudef.h"
+
+{
+
+#define W 450
+#define H 300
+#define BORDER 10
+
+#define LIST_W 140
+#define LIST_H (H-(2*BORDER))
+#define LIST_X BORDER
+#define LIST_Y BORDER
+
+#define BUTT_H 25
+#define BUTT_W 45
+
+#define INFO_W (W-((2*BORDER)+LIST_W))
+#define INFO_H (H-((3*BORDER)+BUTT_H))
+#define INFO_X BORDER
+#define INFO_Y BORDER
+#define INFO_TOFF 6
+
+#define AU_ACT_NIL 0
+#define AU_ACT_GET 1
+#define AU_ACT_RUN 2
+
+ menuDef
+ {
+ name "install_update"
+ visible MENU_TRUE
+ fullscreen MENU_FALSE
+ outOfBoundsClick
+ rect (320-(W/2)) (240-(H/2)) W H
+ focusColor 1 .75 0 1
+ style WINDOW_STYLE_FILLED
+ popup
+ onOpen
+ {
+ uiScript checkForUpdate;
+ }
+ onESC
+ {
+ play "sound/misc/menu1.wav";
+ close install_update
+ }
+
+ itemDef
+ {
+ name window
+ rect 0 0 W H
+ style WINDOW_STYLE_FILLED
+ backcolor 0 0 0 .75
+ visible MENU_TRUE
+ decoration
+ border WINDOW_BORDER_KCGRADIENT
+ borderSize 1.0
+ borderColor 0.5 0.5 0.5 1
+ }
+
+
+ itemDef
+ {
+ name github_release
+ rect 10 10 (W-10) (INFO_H-10)
+ type ITEM_TYPE_LISTBOX
+ style WINDOW_STYLE_EMPTY
+ elementwidth 120
+ elementheight 16
+ textscale .33
+ border WINDOW_BORDER_NONE
+ bordersize 1
+ bordercolor .5 .5 .5 1
+ elementtype LISTBOX_TEXT
+ feeder FEEDER_GITHUB_RELEASE
+ notselectable
+ visible MENU_TRUE
+ }
+
+// itemDef
+// {
+// name OKCancel
+// text "Download"
+// type ITEM_TYPE_BUTTON
+// style WINDOW_STYLE_EMPTY
+// rect (W-((2*BORDER)+(2*BUTT_W))) (H-(BORDER+BUTT_H)) BUTT_W BUTT_H
+// textalign ALIGN_CENTER
+// textvalign VALIGN_CENTER
+// textscale .4
+// forecolor 1 1 1 1
+// backcolor .5 0 0 .25
+// visible MENU_TRUE
+// cvarTest "ui_autoupdate_action"
+// showCvar { AU_ACT_GET }
+// action
+// {
+// play "sound/misc/menu1.wav";
+// uiScript DownloadUpdate;
+// close install_update
+// }
+// }
+//
+// itemDef
+// {
+// name OKCancel
+// text "Install"
+// type ITEM_TYPE_BUTTON
+// style WINDOW_STYLE_EMPTY
+// rect (W-((2*BORDER)+(2*BUTT_W))) (H-(BORDER+BUTT_H)) BUTT_W BUTT_H
+// textalign ALIGN_CENTER
+// textvalign VALIGN_CENTER
+// textscale .4
+// forecolor 1 1 1 1
+// backcolor .5 0 0 .25
+// visible MENU_TRUE
+// cvarTest "ui_autoupdate_action"
+// showCvar { AU_ACT_RUN }
+// action
+// {
+// play "sound/misc/menu1.wav";
+// uiScript InstallUpdate;
+// close install_update
+// }
+// }
+
+ itemDef
+ {
+ name "OKCancel"
+ text "Ok"
+ type ITEM_TYPE_BUTTON
+ style WINDOW_STYLE_EMPTY
+ rect (W-(BORDER+BUTT_W)) (H-(BORDER+BUTT_H)) BUTT_W BUTT_H
+ textalign ALIGN_CENTER
+ textvalign VALIGN_CENTER
+ textscale .4
+ forecolor 1 1 1 1
+ backcolor .5 0 0 .25
+ visible MENU_TRUE
+ action
+ {
+ play "sound/misc/menu3.wav";
+ close install_update
+ }
+ }
+ }
+}
diff --git a/assets/ui/joinserver.menu b/assets/ui/joinserver.menu
new file mode 100644
index 0000000..ad3e04d
--- /dev/null
+++ b/assets/ui/joinserver.menu
@@ -0,0 +1,769 @@
+#include "ui/menudef.h"
+
+{
+
+ \\ Server Join \\
+
+#define W 640
+#define H 480
+#define BORDER 10
+
+#define PREVIEW_W 112
+#define PREVIEW_H 84
+#define TOP_W (W-((2*BORDER)+PREVIEW_W))
+#define TOP_H PREVIEW_H
+#define TOP_X BORDER
+#define TOP_Y BORDER
+#define TOPBUTT_W (TOP_W/3)
+#define TOPBUTT_H (TOP_H/2)
+#define TOP_TOFF_X 20
+#define TOP_TOFF_Y 0
+
+#define BCJ_W (W-(2*BORDER))
+#define BCJ_H 50
+#define BCJ_X BORDER
+#define BCJ_Y (H-(BCJ_H+BORDER))
+#define ARROW_W 50
+#define ARROW_H BCJ_H
+
+#define BOT_W (W-(2*BORDER))
+#define BOT_H 45
+#define BOT_X BORDER
+#define BOT_Y (BCJ_Y-BOT_H)
+#define BOTBUTT_W (BOT_W/5)
+#define BOTBUTT_H BOT_H
+
+#define SERVER_C 0.45
+#define GAME_C 0.15
+#define MAP_C 0.2
+#define PLAYERS_C 0.1
+#define PING_C 0.1
+#define LIST_W (W-(2*BORDER))
+#define LIST_H (H-((3*BORDER)+TOP_H+BOT_H+BCJ_H))
+#define LIST_X BORDER
+#define LIST_Y ((2*BORDER)+TOP_H)
+#define LIST_TOFF 5
+#define HEADFOOT_H 25
+
+ menuDef
+ {
+ name "joinserver"
+ visible MENU_FALSE
+ fullscreen MENU_TRUE
+ rect 0 0 W H
+ focusColor 1 .75 0 1
+ outOfBoundsClick
+ style WINDOW_STYLE_EMPTY
+ aspectBias ASPECT_NONE
+ onOpen
+ {
+ uiScript InitServerList 3;
+ hide accept_alt;
+ show accept;
+ hide back_alt;
+ show back;
+ uiScript UpdateFilter
+ }
+
+ onEsc { uiScript closeJoin }
+
+ itemDef
+ {
+ name background
+ rect 0 0 W H
+ style WINDOW_STYLE_FILLED
+ backcolor 0 0 0 1
+ visible MENU_TRUE
+ decoration
+ }
+
+
+ // VIEW OPTIONS //
+
+ itemDef
+ {
+ name gametypefield
+ text "Source:"
+ style WINDOW_STYLE_EMPTY
+ ownerdraw UI_NETSOURCE
+ rect TOP_X TOP_Y TOPBUTT_W TOPBUTT_H
+ textalign ALIGN_LEFT
+ textvalign VALIGN_CENTER
+ textalignx TOP_TOFF_X
+ textaligny TOP_TOFF_Y
+ textscale .4
+ forecolor 1 1 1 1
+ backcolor .5 .5 .5 .5
+ visible MENU_TRUE
+ action
+ {
+ play "sound/misc/menu1.wav"
+ }
+ }
+
+ // BUTTONS //
+
+ itemDef
+ {
+ name refreshSource
+ text "Get New List"
+ type ITEM_TYPE_BUTTON
+ textscale .4
+ style WINDOW_STYLE_EMPTY
+ rect (TOP_X+TOPBUTT_W) TOP_Y TOPBUTT_W TOPBUTT_H
+ textalign ALIGN_LEFT
+ textvalign VALIGN_CENTER
+ textalignx TOP_TOFF_X
+ textaligny TOP_TOFF_Y
+ backcolor .5 .5 .5 .5
+ forecolor 1 1 1 1
+ visible MENU_TRUE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ uiScript RefreshServers
+ }
+ }
+
+ itemDef
+ {
+ name refreshFilter
+ text "Refresh List"
+ textscale .4
+ style WINDOW_STYLE_EMPTY
+ type ITEM_TYPE_BUTTON
+ rect (TOP_X+(2*TOPBUTT_W)) TOP_Y TOPBUTT_W TOPBUTT_H
+ textalign ALIGN_LEFT
+ textvalign VALIGN_CENTER
+ textalignx TOP_TOFF_X
+ textaligny TOP_TOFF_Y
+ backcolor .5 .5 .5 .5
+ forecolor 1 1 1 1
+ visible MENU_TRUE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ uiScript RefreshFilter
+ }
+ }
+
+ itemDef
+ {
+ name viewEmpty
+ style WINDOW_STYLE_EMPTY
+ type ITEM_TYPE_YESNO
+ text "View Empty:"
+ cvar "ui_browserShowEmpty"
+ textscale .4
+ rect TOP_X (TOP_Y+TOPBUTT_H) TOPBUTT_W TOPBUTT_H
+ textalign ALIGN_LEFT
+ textvalign VALIGN_CENTER
+ textalignx TOP_TOFF_X
+ textaligny TOP_TOFF_Y
+ forecolor 1 1 1 1
+ backcolor .5 .5 .5 .5
+ visible MENU_TRUE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ uiScript RefreshFilter
+ }
+ }
+
+ itemDef
+ {
+ name viewFull
+ style WINDOW_STYLE_EMPTY
+ type ITEM_TYPE_YESNO
+ text "View Full:"
+ cvar "ui_browserShowFull"
+ textscale .4
+ rect (TOP_X+TOPBUTT_W) (TOP_Y+TOPBUTT_H) TOPBUTT_W TOPBUTT_H
+ textalign ALIGN_LEFT
+ textvalign VALIGN_CENTER
+ textalignx TOP_TOFF_X
+ textaligny TOP_TOFF_Y
+ forecolor 1 1 1 1
+ backcolor .5 .5 .5 .5
+ visible MENU_TRUE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ uiScript RefreshFilter
+ }
+ }
+
+ // LEGEND //
+
+ itemDef
+ {
+ name legend
+ type ITEM_TYPE_TEXT
+ text "[official] = Official Server\n[featured] = Featured Server"
+ style WINDOW_STYLE_EMPTY
+ textstyle ITEM_TEXTSTYLE_NORMAL
+ textscale .25
+ wrapped
+ rect (TOP_X+(2*TOPBUTT_W)) (TOP_Y+TOPBUTT_H) (TOPBUTT_W) (TOPBUTT_H)
+ textalign ALIGN_LEFT
+ textvalign VALIGN_CENTER
+ textalignx TOP_TOFF_X
+ forecolor 1 1 1 1
+ visible MENU_TRUE
+ decoration
+ }
+
+ // MAP PREVIEW //
+
+ itemDef
+ {
+ name mappreview
+ style WINDOW_STYLE_EMPTY
+ ownerdraw UI_NETMAPPREVIEW
+ rect (W-(PREVIEW_W+BORDER)) BORDER PREVIEW_W PREVIEW_H
+ border WINDOW_BORDER_FULL
+ bordercolor .5 .5 .5 1
+ visible MENU_TRUE
+ }
+
+
+ // COLUMNS //
+
+ itemDef
+ {
+ name server
+ group grpTabs
+ text "Server Name"
+ type ITEM_TYPE_BUTTON
+ textscale .33
+ style WINDOW_STYLE_FILLED
+ rect LIST_X LIST_Y (SERVER_C*LIST_W) HEADFOOT_H
+ textalign ALIGN_LEFT
+ textvalign VALIGN_CENTER
+ textalignx LIST_TOFF
+ border WINDOW_BORDER_FULL
+ bordercolor 0.5 0.5 0.5 1
+ forecolor 1 1 1 1
+ backcolor 0 0 0 0
+ outlinecolor 0.1 0.1 0.1 0.5
+ visible MENU_TRUE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ uiScript ServerSort 0;
+
+ setitemcolor grpColumn backcolor 0 0 0 0;
+ setitemcolor grpTabs backcolor 0 0 0 0;
+ setitemcolor server backcolor 0.3 1 1 0.3;
+ setitemcolor serverColumn backcolor 0.2 0.6 0.6 0.1;
+ }
+ }
+
+ itemDef
+ {
+ name serverColumn
+ group grpColumn
+ rect LIST_X (LIST_Y+HEADFOOT_H) (SERVER_C*LIST_W) (LIST_H-(2*HEADFOOT_H))
+ style WINDOW_STYLE_FILLED
+ border WINDOW_BORDER_FULL
+ backcolor 0 0 0 0
+ bordersize 1
+ bordercolor .5 .5 .5 1
+ visible MENU_TRUE
+ decoration
+ }
+
+ itemDef
+ {
+ name game
+ group grpTabs
+ type ITEM_TYPE_BUTTON
+ text "Game Type"
+ textscale .33
+ style WINDOW_STYLE_FILLED
+ rect (LIST_X+(SERVER_C*LIST_W)) LIST_Y (GAME_C*LIST_W) HEADFOOT_H
+ textalign ALIGN_LEFT
+ textvalign VALIGN_CENTER
+ textalignx LIST_TOFF
+ border WINDOW_BORDER_FULL
+ bordercolor 0.5 0.5 0.5 1
+ forecolor 1 1 1 1
+ backcolor 0 0 0 0
+ outlinecolor 0.1 0.1 0.1 0.5
+ visible MENU_TRUE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ uiScript ServerSort 1;
+
+ setitemcolor grpColumn backcolor 0 0 0 0;
+ setitemcolor grpTabs backcolor 0 0 0 0;
+ setitemcolor game backcolor 0.3 1 1 0.3;
+ setitemcolor gameColumn backcolor 0.2 0.6 0.6 0.1;
+ }
+ }
+
+ itemDef
+ {
+ name gameColumn
+ group grpColumn
+ rect (LIST_X+(SERVER_C*LIST_W)) (LIST_Y+HEADFOOT_H) (GAME_C*LIST_W) (LIST_H-(2*HEADFOOT_H))
+ style WINDOW_STYLE_FILLED
+ border WINDOW_BORDER_FULL
+ backcolor 0 0 0 0
+ bordersize 1
+ bordercolor .5 .5 .5 1
+ visible MENU_TRUE
+ decoration
+ }
+
+ itemDef
+ {
+ name map
+ group grpTabs
+ type ITEM_TYPE_BUTTON
+ text "Map Name"
+ textscale .33
+ style WINDOW_STYLE_FILLED
+ rect (LIST_X+((SERVER_C+GAME_C)*LIST_W)) LIST_Y (MAP_C*LIST_W) HEADFOOT_H
+ textalign ALIGN_LEFT
+ textvalign VALIGN_CENTER
+ textalignx LIST_TOFF
+ border WINDOW_BORDER_FULL
+ bordercolor 0.5 0.5 0.5 1
+ forecolor 1 1 1 1
+ backcolor 0 0 0 0
+ outlinecolor 0.1 0.1 0.1 0.5
+ visible MENU_TRUE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ uiScript ServerSort 2;
+
+ setitemcolor grpColumn backcolor 0 0 0 0;
+ setitemcolor grpTabs backcolor 0 0 0 0;
+ setitemcolor map backcolor 0.3 1 1 0.3;
+ setitemcolor mapColumn backcolor 0.2 0.6 0.6 0.1;
+ }
+ }
+
+ itemDef
+ {
+ name mapColumn
+ group grpColumn
+ rect (LIST_X+((SERVER_C+GAME_C)*LIST_W)) (LIST_Y+HEADFOOT_H) (MAP_C*LIST_W) (LIST_H-(2*HEADFOOT_H))
+ style WINDOW_STYLE_FILLED
+ border WINDOW_BORDER_FULL
+ backcolor 0 0 0 0
+ bordersize 1
+ bordercolor .5 .5 .5 1
+ visible MENU_TRUE
+ decoration
+ }
+
+ itemDef
+ {
+ name players
+ group grpTabs
+ text "Players"
+ type ITEM_TYPE_BUTTON
+ textscale .33
+ style WINDOW_STYLE_FILLED
+ rect (LIST_X+((SERVER_C+GAME_C+MAP_C)*LIST_W)) LIST_Y (PLAYERS_C*LIST_W) HEADFOOT_H
+ textalign ALIGN_LEFT
+ textvalign VALIGN_CENTER
+ textalignx LIST_TOFF
+ border WINDOW_BORDER_FULL
+ bordercolor 0.5 0.5 0.5 1
+ forecolor 1 1 1 1
+ backcolor 0 0 0 0
+ outlinecolor 0.1 0.1 0.1 0.5
+ visible MENU_TRUE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ uiScript ServerSort 3;
+
+ setitemcolor grpColumn backcolor 0 0 0 0;
+ setitemcolor grpTabs backcolor 0 0 0 0;
+ setitemcolor players backcolor 0.3 1 1 0.3;
+ setitemcolor playerColumn backcolor 0.2 0.6 0.6 0.1;
+ }
+ }
+
+ itemDef
+ {
+ name playerColumn
+ group grpColumn
+ rect (LIST_X+((SERVER_C+GAME_C+MAP_C)*LIST_W)) (LIST_Y+HEADFOOT_H) (PLAYERS_C*LIST_W) (LIST_H-(2*HEADFOOT_H))
+ style WINDOW_STYLE_FILLED
+ border WINDOW_BORDER_FULL
+ backcolor 0 0 0 0
+ bordersize 1
+ bordercolor .5 .5 .5 1
+ visible MENU_TRUE
+ decoration
+ }
+
+ itemDef
+ {
+ name Ping
+ group grpTabs
+ text "Ping"
+ type ITEM_TYPE_BUTTON
+ textscale .33
+ style WINDOW_STYLE_FILLED
+ rect (LIST_X+((SERVER_C+GAME_C+MAP_C+PLAYERS_C)*LIST_W)) LIST_Y (PING_C*LIST_W) HEADFOOT_H
+ textalign ALIGN_LEFT
+ textvalign VALIGN_CENTER
+ textalignx LIST_TOFF
+ border WINDOW_BORDER_FULL
+ bordercolor 0.5 0.5 0.5 1
+ forecolor 1 1 1 1
+ backcolor 0.3 1 1 0.3
+ outlinecolor 0.1 0.1 0.1 0.5
+ visible MENU_TRUE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ uiScript ServerSort 4;
+
+ setitemcolor grpColumn backcolor 0 0 0 0;
+ setitemcolor grpTabs backcolor 0 0 0 0;
+ setitemcolor ping backcolor 0.3 1 1 0.3;
+ setitemcolor pingColumn backcolor 0.2 0.6 0.6 0.1;
+ }
+ }
+
+ itemDef
+ {
+ name pingColumn
+ group grpColumn
+ rect (LIST_X+((SERVER_C+GAME_C+MAP_C+PLAYERS_C)*LIST_W)) (LIST_Y+HEADFOOT_H) (PING_C*LIST_W) (LIST_H-(2*HEADFOOT_H))
+ style WINDOW_STYLE_FILLED
+ border WINDOW_BORDER_FULL
+ backcolor 0.2 0.6 0.6 0.1
+ bordersize 1
+ bordercolor .5 .5 .5 1
+ visible MENU_TRUE
+ decoration
+ }
+
+ // SERVER LIST //
+
+ itemDef
+ {
+ name serverlist
+ rect LIST_X (LIST_Y+HEADFOOT_H) LIST_W (LIST_H-(2*HEADFOOT_H))
+ type ITEM_TYPE_LISTBOX
+ style WINDOW_STYLE_EMPTY
+ elementwidth 120
+ elementheight 20
+ textscale .33
+ elementtype LISTBOX_TEXT
+ feeder FEEDER_SERVERS
+ border WINDOW_BORDER_FULL
+ bordercolor 0.5 0.5 0.5 1
+ forecolor 1 1 1 1
+ backcolor 0.2 0.2 0.2 1
+ outlinecolor 0.1 0.3 0.3 0.4
+ visible MENU_TRUE
+ columns 5
+ LIST_TOFF ((SERVER_C*LIST_W)-(3*LIST_TOFF)) ALIGN_LEFT
+ (LIST_TOFF+((SERVER_C)*LIST_W)) ((GAME_C*LIST_W)-(3*LIST_TOFF)) ALIGN_LEFT
+ (LIST_TOFF+((SERVER_C+GAME_C)*LIST_W)) ((MAP_C*LIST_W)-(3*LIST_TOFF)) ALIGN_LEFT
+ (LIST_TOFF+((SERVER_C+GAME_C+MAP_C)*LIST_W)) ((PLAYERS_C*LIST_W)-(3*LIST_TOFF)) ALIGN_LEFT
+ (LIST_TOFF+((SERVER_C+GAME_C+MAP_C+PLAYERS_C)*LIST_W)) ((PING_C*LIST_W)-(3*LIST_TOFF)) ALIGN_LEFT
+
+ doubleClick { uiScript JoinServer }
+ }
+
+
+ // DATE AND MESSAGE OF THE DAY //
+
+ itemDef
+ {
+ name refreshdate
+ ownerdraw UI_SERVERREFRESHDATE
+ textscale .33
+ rect LIST_X (LIST_Y+(LIST_H-HEADFOOT_H)) (LIST_W/2) HEADFOOT_H
+ textalign ALIGN_LEFT
+ textvalign VALIGN_CENTER
+ textalignx LIST_TOFF
+ forecolor 1 1 1 1
+ border WINDOW_BORDER_FULL
+ bordercolor .5 .5 .5 1
+ visible MENU_TRUE
+ decoration
+ }
+
+ itemDef
+ {
+ name messageoftheday
+ ownerdraw UI_SERVERMOTD
+ textscale .33
+ rect (LIST_X+(LIST_W/2)) (LIST_Y+(LIST_H-HEADFOOT_H)) (LIST_W/2) HEADFOOT_H
+ textalign ALIGN_LEFT
+ textvalign VALIGN_CENTER
+ textalignx LIST_TOFF
+ forecolor 1 1 1 1
+ border WINDOW_BORDER_FULL
+ bordercolor .5 .5 .5 1
+ visible MENU_TRUE
+ decoration
+ }
+
+
+ // BOTTOM BUTTONS //
+
+ itemDef
+ {
+ name password
+ text "Set Password"
+ type ITEM_TYPE_BUTTON
+ textscale .4
+ style WINDOW_STYLE_EMPTY
+ rect BOT_X BOT_Y BOTBUTT_W BOTBUTT_H
+ textalign ALIGN_CENTER
+ textvalign VALIGN_CENTER
+ forecolor 1 1 1 1
+ visible MENU_TRUE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ open password_popmenu
+ }
+ }
+
+ itemDef
+ {
+ name createFavorite
+ text "Create Favorite"
+ type ITEM_TYPE_BUTTON
+ textscale .4
+ style WINDOW_STYLE_EMPTY
+ rect (BOT_X+BOTBUTT_W) BOT_Y BOTBUTT_W BOTBUTT_H
+ textalign ALIGN_CENTER
+ textvalign VALIGN_CENTER
+ forecolor 1 1 1 1
+ visible MENU_TRUE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ open createfavorite_popmenu
+ }
+ }
+
+ itemDef
+ {
+ name addFavorite
+ text "Add Favorite"
+ type ITEM_TYPE_BUTTON
+ textscale .4
+ style WINDOW_STYLE_EMPTY
+ ownerdrawFlag UI_SHOW_NOTFAVORITESERVERS
+ rect (BOT_X+(2*BOTBUTT_W)) BOT_Y BOTBUTT_W BOTBUTT_H
+ textalign ALIGN_CENTER
+ textvalign VALIGN_CENTER
+ forecolor 1 1 1 1
+ visible MENU_TRUE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ uiScript addFavorite
+ }
+ }
+
+ itemDef
+ {
+ name delfavorite
+ text "Delete Favorite"
+ type ITEM_TYPE_BUTTON
+ textscale .4
+ style WINDOW_STYLE_EMPTY
+ ownerdrawFlag UI_SHOW_FAVORITESERVERS
+ rect (BOT_X+(2*BOTBUTT_W)) BOT_Y BOTBUTT_W BOTBUTT_H
+ textalign ALIGN_CENTER
+ textvalign VALIGN_CENTER
+ forecolor 1 1 1 1
+ visible MENU_TRUE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ uiScript DeleteFavorite;
+ uiScript UpdateFilter
+ }
+ }
+
+ itemDef
+ {
+ name serverinfo
+ text "Server Info"
+ type ITEM_TYPE_BUTTON
+ textscale .4
+ style WINDOW_STYLE_EMPTY
+ rect (BOT_X+(3*BOTBUTT_W)) BOT_Y BOTBUTT_W BOTBUTT_H
+ textalign ALIGN_CENTER
+ textvalign VALIGN_CENTER
+ forecolor 1 1 1 1
+ visible MENU_TRUE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ open serverinfo_popmenu
+ }
+ }
+
+ itemDef
+ {
+ name findplayer
+ text "Find a Friend"
+ type ITEM_TYPE_BUTTON
+ textscale .4
+ style WINDOW_STYLE_EMPTY
+ rect (BOT_X+(4*BOTBUTT_W)) BOT_Y BOTBUTT_W BOTBUTT_H
+ textalign ALIGN_CENTER
+ textvalign VALIGN_CENTER
+ forecolor 1 1 1 1
+ visible MENU_TRUE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ open findplayer_popmenu
+ }
+ }
+
+
+
+ // BACK CREATE JOIN //
+
+ itemDef
+ {
+ name createServer
+ text "Create Server"
+ textscale .5
+ style WINDOW_STYLE_EMPTY
+ type ITEM_TYPE_BUTTON
+ rect (BCJ_X+ARROW_W) BCJ_Y (BCJ_W-(2*ARROW_W)) BCJ_H
+ textalign ALIGN_CENTER
+ textvalign VALIGN_CENTER
+ forecolor 1 1 1 1
+ visible MENU_TRUE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ open createserver
+ }
+ }
+
+
+ itemDef
+ {
+ name back
+ style WINDOW_STYLE_SHADER
+ background "ui/assets/backarrow.tga"
+ rect BCJ_X BCJ_Y ARROW_H ARROW_W
+ aspectBias ALIGN_LEFT
+ visible MENU_TRUE
+ action
+ {
+ play "sound/misc/menu4.wav";
+ close joinserver
+ }
+
+ mouseEnter
+ {
+ hide back;
+ show back_alt
+ }
+ }
+
+ itemDef
+ {
+ name back_alt
+ style WINDOW_STYLE_SHADER
+ background "ui/assets/backarrow_alt.tga"
+ rect BCJ_X BCJ_Y ARROW_H ARROW_W
+ aspectBias ALIGN_LEFT
+ backcolor 0 0 0 0
+ forecolor 1 1 1 1
+ visible MENU_FALSE
+ type ITEM_TYPE_BUTTON
+
+ text "Back"
+ textalign ALIGN_LEFT
+ textvalign VALIGN_CENTER
+ textalignx ARROW_W
+ textscale .6
+
+ mouseExit
+ {
+ hide back_alt;
+ show back
+ }
+
+ action
+ {
+ play "sound/misc/menu4.wav";
+ close joinserver
+ }
+ }
+
+
+
+
+ itemDef
+ {
+ name accept
+ style WINDOW_STYLE_SHADER
+ rect ((BCJ_X+BCJ_W)-ARROW_W) BCJ_Y ARROW_H ARROW_W
+ aspectBias ALIGN_RIGHT
+ background "ui/assets/forwardarrow.tga"
+ backcolor 0 0 0 0
+ forecolor 1 1 1 1
+ visible MENU_TRUE
+ mouseEnter
+ {
+ hide accept;
+ show accept_alt
+ }
+
+ action
+ {
+ play "sound/misc/menu1.wav";
+ uiScript JoinServer
+ }
+ }
+
+ itemDef
+ {
+ name accept_alt
+ style WINDOW_STYLE_SHADER
+ rect ((BCJ_X+BCJ_W)-ARROW_W) BCJ_Y ARROW_H ARROW_W
+ aspectBias ALIGN_RIGHT
+ background "ui/assets/forwardarrow_alt.tga"
+ backcolor 0 0 0 0
+ type ITEM_TYPE_BUTTON
+ forecolor 1 1 1 1
+ visible MENU_FALSE
+
+ text "Join"
+ textalign ALIGN_RIGHT
+ textvalign VALIGN_CENTER
+ textalignx -ARROW_W
+ textscale .6
+
+ mouseExit
+ {
+ hide accept_alt;
+ show accept
+ }
+
+ action
+ {
+ play "sound/misc/menu1.wav";
+ uiScript JoinServer
+ }
+ }
+ }
+}
diff --git a/assets/ui/loading.menu b/assets/ui/loading.menu
new file mode 100644
index 0000000..b877ce9
--- /dev/null
+++ b/assets/ui/loading.menu
@@ -0,0 +1,223 @@
+#include "ui/menudef.h"
+
+{
+
+#define W 640
+#define H 480
+#define BORDER 10
+
+#define SHOT_W 320
+#define SHOT_H 240
+#define SHOT_X (W-(BORDER+SHOT_W))
+#define SHOT_Y BORDER
+
+#define INFO_X BORDER
+#define INFO_W (W-((3*BORDER)+SHOT_W))
+#define LEVEL_Y BORDER
+#define LEVEL_H 30
+#define HOST_Y (LEVEL_H+(2*BORDER))
+#define HOST_H 30
+#define MOTD_Y (LEVEL_H+HOST_H+(3*BORDER))
+#define MOTD_H ((BORDER+SHOT_H)-MOTD_Y)
+
+#define MAIN_W (W-(2*BORDER))
+#define LABEL_W 180
+#define LABEL_X (W-(LABEL_W+BORDER))
+#define BAR_H ((H-((6*BORDER)+SHOT_H))/4)
+#define BAR_W (MAIN_W-(LABEL_W+BORDER))
+#define BAR_X BORDER
+#define MEDIA_Y (H-((4*BORDER)+(4*BAR_H)))
+#define BUILD_Y (H-((3*BORDER)+(3*BAR_H)))
+#define CHAR_Y (H-((2*BORDER)+(2*BAR_H)))
+#define OVER_Y (H-(BORDER+BAR_H))
+
+ assetGlobalDef
+ {
+ cursor "ui/assets/3_cursor3" // cursor
+ gradientBar "ui/assets/gradientbar2.tga" // gradient bar
+ fadeClamp 1.0 // sets the fadeup alpha
+ fadeCycle 1 // how often fade happens in milliseconds
+ fadeAmount 0.1 // amount to adjust alpha per cycle
+
+ shadowX 5 // x amount for shadow offset
+ shadowY 5 // y amount for shadow offset
+ shadowColor 0.1 0.1 0.1 0.25 // shadow color
+
+ font "fonts/font" 26 // font
+ smallFont "fonts/smallfont" 20 // font
+ bigFont "fonts/bigfont" 34 // font
+ }
+
+ menuDef
+ {
+ name "Loading"
+ rect 0 0 W H
+ fullScreen MENU_TRUE
+ aspectBias ASPECT_NONE
+
+ itemDef
+ {
+ name background
+ rect 0 0 W H
+ style WINDOW_STYLE_FILLED
+ backcolor 0 0 0 1
+ visible MENU_TRUE
+ decoration
+ }
+
+ itemDef
+ {
+ name "levelname"
+ rect INFO_X LEVEL_Y INFO_W LEVEL_H
+ visible MENU_TRUE
+ decoration
+ forecolor 1 1 1 1
+ textalign ALIGN_LEFT
+ textvalign VALIGN_CENTER
+ textstyle ITEM_TEXTSTYLE_NORMAL
+ textscale 0.4
+ ownerdraw CG_LOAD_LEVELNAME
+ }
+
+ itemDef
+ {
+ name "hostname"
+ rect INFO_X HOST_Y INFO_W HOST_H
+ visible MENU_TRUE
+ decoration
+ forecolor 1 1 1 1
+ textalign ALIGN_LEFT
+ textvalign VALIGN_CENTER
+ textstyle ITEM_TEXTSTYLE_NORMAL
+ textscale 0.4
+ ownerdraw CG_LOAD_HOSTNAME
+ }
+
+ itemDef
+ {
+ name "motd"
+ rect INFO_X MOTD_Y INFO_W MOTD_H
+ visible MENU_TRUE
+ decoration
+ forecolor 1 1 1 1
+ textalign ALIGN_LEFT
+ textvalign VALIGN_CENTER
+ textstyle ITEM_TEXTSTYLE_NORMAL
+ textscale 0.4
+ ownerdraw CG_LOAD_MOTD
+ }
+
+ itemDef
+ {
+ name "levelshot"
+ rect SHOT_X SHOT_Y SHOT_W SHOT_H
+ visible MENU_TRUE
+ decoration
+ forecolor 1 1 1 1
+ ownerdraw CG_LOAD_LEVELSHOT
+
+ border WINDOW_BORDER_FULL
+ borderSize 1.0
+ borderColor 0.5 0.5 0.5 1
+ }
+
+ itemDef
+ {
+ name "media"
+ rect BAR_X MEDIA_Y BAR_W BAR_H
+ visible MENU_TRUE
+ decoration
+ forecolor 0.0 0.8 1 1
+ ownerdraw CG_LOAD_MEDIA
+ textalign ALIGN_CENTER
+ textstyle ITEM_TEXTSTYLE_NEON
+ textscale 0.5
+ borderSize 1.0
+ }
+
+ itemDef
+ {
+ name "medialabel"
+ style WINDOW_STYLE_EMPTY
+ textscale 0.6
+ rect LABEL_X MEDIA_Y LABEL_W BAR_H
+ textalign ALIGN_RIGHT
+ textvalign VALIGN_CENTER
+ forecolor 0.0 0.8 1 1
+ visible MENU_TRUE
+ decoration
+ ownerdraw CG_LOAD_MEDIA_LABEL
+ }
+
+ itemDef
+ {
+ name "buildables"
+ rect 20 340 380 30
+ rect BAR_X BUILD_Y BAR_W BAR_H
+ visible MENU_TRUE
+ decoration
+ forecolor 0.0 0.8 1 1
+ ownerdraw CG_LOAD_BUILDABLES
+ textalign ALIGN_CENTER
+ textstyle ITEM_TEXTSTYLE_NEON
+ textscale 0.5
+ borderSize 1.0
+ }
+
+ itemDef
+ {
+ name "buildableslabel"
+ style WINDOW_STYLE_EMPTY
+ textscale 0.6
+ rect LABEL_X BUILD_Y LABEL_W BAR_H
+ textalign ALIGN_RIGHT
+ textvalign VALIGN_CENTER
+ forecolor 0.0 0.8 1 1
+ visible MENU_TRUE
+ decoration
+ ownerdraw CG_LOAD_BUILDABLES_LABEL
+ }
+
+ itemDef
+ {
+ name "charmodel"
+ rect BAR_X CHAR_Y BAR_W BAR_H
+ visible MENU_TRUE
+ decoration
+ forecolor 0.0 0.8 1 1
+ ownerdraw CG_LOAD_CHARMODEL
+ textalign ALIGN_CENTER
+ textstyle ITEM_TEXTSTYLE_NEON
+ textscale 0.5
+ borderSize 1.0
+ }
+
+ itemDef
+ {
+ name "charmodellabel"
+ style WINDOW_STYLE_EMPTY
+ textscale 0.6
+ rect LABEL_X CHAR_Y LABEL_W BAR_H
+ textalign ALIGN_RIGHT
+ textvalign VALIGN_CENTER
+ forecolor 0.0 0.8 1 1
+ visible MENU_TRUE
+ decoration
+ ownerdraw CG_LOAD_CHARMODEL_LABEL
+ }
+
+ itemDef
+ {
+ name "overall"
+ rect BAR_X OVER_Y MAIN_W BAR_H
+ visible MENU_TRUE
+ decoration
+ forecolor 0.0 0.8 1 1
+ ownerdraw CG_LOAD_OVERALL
+ textalign ALIGN_CENTER
+ textstyle ITEM_TEXTSTYLE_NEON
+ textscale 0.5
+ borderSize 1.0
+ }
+ }
+}
diff --git a/assets/ui/main.menu b/assets/ui/main.menu
new file mode 100644
index 0000000..fddc0d9
--- /dev/null
+++ b/assets/ui/main.menu
@@ -0,0 +1,228 @@
+// vim:ft=menu
+#include "ui/menudef.h"
+#include "ui/menu_bool.h"
+
+{
+ assetGlobalDef
+ {
+ font "fonts/font" 26// font
+ smallFont "fonts/smallfont" 20// font
+ bigFont "fonts/bigfont" 34// font
+ cursor "ui/assets/3_cursor3" // cursor
+ gradientBar "ui/assets/gradientbar2.tga" // gradient bar
+ itemFocusSound "sound/misc/menu2.wav" // sound for item getting focus (via keyboard or mouse )
+
+ fadeClamp 1.0 // sets the fadeup alpha
+ fadeCycle 1 // how often fade happens in milliseconds
+ fadeAmount 0.1 // amount to adjust alpha per cycle
+
+ //shadowColor 0.1 0.1 0.1 0.25 // shadow color
+ shadowColor 0.1 0.1 0.1 0.80 // shadow color
+ }
+
+ menuDef
+ {
+ name main
+ fullscreen true
+ rect 0 0 640 480// Size and position of the menu
+ visible true // Visible on open
+ focuscolor 1 .75 0 1// Menu focus color for text and items
+ background "ui/assets/mainmenu.jpg"
+ aspectbias ASPECT_NONE
+
+ onOpen
+ {
+ uiScript stopRefresh
+ playlooped "sound/ui/heartbeat.wav"
+ }
+
+ onESC
+ {
+ open quit_popmenu
+ }
+
+ itemDef
+ {
+ name splashmodel
+ rect 0 0 640 480
+ type ITEM_TYPE_MODEL
+ style WINDOW_STYLE_EMPTY
+ asset_model "models/splash/splash_screen.md3"
+ model_fovx 32.0
+ model_fovy 24.0
+ model_angle 180
+ visible MENU_TRUE
+ decoration
+ }
+
+#define X (472)
+#define Y (20)
+#define W (128)
+#define ELEM_H (20)
+
+ itemDef
+ {
+ name mainmenu
+ text "Play"
+ type ITEM_TYPE_BUTTON
+ style WINDOW_STYLE_EMPTY
+ textstyle ITEM_TEXTSTYLE_NORMAL
+ rect X Y W ELEM_H
+ textalign ALIGN_RIGHT
+ textscale .416
+ forecolor 1 1 1 1
+ visible MENU_TRUE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ open joinserver
+ }
+ }
+
+ itemDef
+ {
+ name mainmenu
+ text "News"
+ type ITEM_TYPE_BUTTON
+ style WINDOW_STYLE_EMPTY
+ textstyle ITEM_TEXTSTYLE_NORMAL
+ textscale .416
+ rect X (Y+(1*ELEM_H)) W ELEM_H
+ textalign ALIGN_RIGHT
+ backcolor 0 0 0 0
+ forecolor 1 1 1 1
+ visible MENU_TRUE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ open news_menu
+ }
+ }
+
+ itemDef
+ {
+ name mainmenu
+ text "Options"
+ type ITEM_TYPE_BUTTON
+ style WINDOW_STYLE_EMPTY
+ textstyle ITEM_TEXTSTYLE_NORMAL
+ textscale .416
+ rect X (Y+(2*ELEM_H)) W ELEM_H
+ textalign ALIGN_RIGHT
+ backcolor 0 0 0 0
+ forecolor 1 1 1 1
+ visible MENU_TRUE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ open simple_options
+ }
+ }
+
+ itemDef
+ {
+ name mainmenu
+ text "Demos"
+ type ITEM_TYPE_BUTTON
+ style WINDOW_STYLE_EMPTY
+ textstyle ITEM_TEXTSTYLE_NORMAL
+ textscale .416
+ rect X (Y+(3*ELEM_H)) W ELEM_H
+ textalign ALIGN_RIGHT
+ backcolor 0 0 0 0
+ forecolor 1 1 1 1
+ visible MENU_TRUE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ open demo
+ }
+ }
+
+ itemDef
+ {
+ name browse_for_folders
+ text "Browse Folders"
+ type ITEM_TYPE_BUTTON
+ style WINDOW_STYLE_EMPTY
+ textstyle ITEM_TEXTSTYLE_NORMAL
+ rect X (Y+(4*ELEM_H)) W ELEM_H
+ textscale .416
+ textalign ALIGN_RIGHT
+ forecolor 1 1 1 1
+ visible MENU_TRUE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ open browse_folders
+ }
+ }
+
+ itemDef
+ {
+ name check_for_updates
+ text "Check for Updates"
+ type ITEM_TYPE_BUTTON
+ style WINDOW_STYLE_EMPTY
+ textstyle ITEM_TEXTSTYLE_NORMAL
+ rect X (Y+(5*ELEM_H)) W ELEM_H
+ textscale .416
+ textalign ALIGN_RIGHT
+ forecolor 1 1 1 1
+ visible MENU_TRUE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ open install_update
+ }
+ }
+
+ itemDef
+ {
+ name mainmenu
+ text "Quit"
+ type ITEM_TYPE_BUTTON
+ style WINDOW_STYLE_EMPTY
+ textstyle ITEM_TEXTSTYLE_NORMAL
+ rect X (Y+(6*ELEM_H)) W ELEM_H
+ textscale .416
+ textalign ALIGN_RIGHT
+ forecolor 1 1 1 1
+ visible MENU_TRUE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ open quit_popmenu
+ }
+ }
+
+ itemDef
+ {
+ name copyright
+ type ITEM_TYPE_TEXT
+ text "Copyright (C) 2015-2019 GrangerHub"
+ style WINDOW_STYLE_EMPTY
+ textstyle ITEM_TEXTSTYLE_NORMAL
+ textscale .30
+ rect 0 405 640 30
+ textalign ALIGN_CENTER
+ forecolor .75 .75 .75 .75
+ visible MENU_TRUE
+ decoration
+ }
+ itemDef
+ {
+ name copyright
+ type ITEM_TYPE_TEXT
+ text "Copyright (C) 2005-2009 darklegion development"
+ style WINDOW_STYLE_EMPTY
+ textstyle ITEM_TEXTSTYLE_NORMAL
+ textscale .30
+ rect 0 420 640 30
+ textalign ALIGN_CENTER
+ forecolor .75 .75 .75 .75
+ visible MENU_TRUE
+ decoration
+ }
+ }
+}
diff --git a/assets/ui/menu_bool.h b/assets/ui/menu_bool.h
new file mode 100644
index 0000000..38d1562
--- /dev/null
+++ b/assets/ui/menu_bool.h
@@ -0,0 +1,10 @@
+// Victor Roemer (wtfbbqhax), <victor@badsec.org>.
+#ifndef MENU_BOOL_H
+#define MENU_BOOL_H
+
+enum {
+ false,
+ true
+};
+
+#endif
diff --git a/assets/ui/menudef.h b/assets/ui/menudef.h
new file mode 100644
index 0000000..f83ba53
--- /dev/null
+++ b/assets/ui/menudef.h
@@ -0,0 +1,225 @@
+#ifndef MENUDEF_H
+#define MENUDEF_H
+
+enum
+{
+ ITEM_TYPE_ANY = -1, // invalid type
+ ITEM_TYPE_NONE, // no specified type
+ ITEM_TYPE_TEXT, // simple text
+ ITEM_TYPE_BUTTON, // button, basically text with a border
+ ITEM_TYPE_RADIOBUTTON, // toggle button, may be grouped
+ ITEM_TYPE_CHECKBOX, // check box
+ ITEM_TYPE_EDITFIELD, // editable text, associated with a cvar
+ ITEM_TYPE_SAYFIELD, // the chat field
+ ITEM_TYPE_CYCLE, // cycling list
+ ITEM_TYPE_LISTBOX, // scrollable list
+ ITEM_TYPE_COMBOBOX, // drop down scrollable list
+ ITEM_TYPE_MODEL, // model
+ ITEM_TYPE_OWNERDRAW, // owner draw, has an associated ownerdraw number
+ ITEM_TYPE_NUMERICFIELD, // editable text, associated with a cvar
+ ITEM_TYPE_SLIDER, // mouse speed, volume, etc.
+ ITEM_TYPE_YESNO, // boolean cvar setting
+ ITEM_TYPE_MULTI, // multiple list setting, enumerated
+ ITEM_TYPE_BIND // keyboard control configuration
+};
+
+#define ALIGN_LEFT 0 // left alignment
+#define ALIGN_CENTER 1 // center alignment
+#define ALIGN_RIGHT 2 // right alignment
+#define ASPECT_NONE 3 // no aspect compensation
+#define ALIGN_NONE 4
+
+enum
+{
+ VALIGN_BOTTOM, // bottom alignment
+ VALIGN_CENTER, // center alignment
+ VALIGN_TOP, // top alignment
+ VALIGN_NONE
+};
+
+enum
+{
+ ITEM_TEXTSTYLE_NORMAL, // normal text
+ ITEM_TEXTSTYLE_BLINK, // fast blinking
+ ITEM_TEXTSTYLE_PULSE, // slow pulsing
+ ITEM_TEXTSTYLE_SHADOWED, // drop shadow (need a color for this)
+ ITEM_TEXTSTYLE_OUTLINED, // apparently unimplemented
+ ITEM_TEXTSTYLE_OUTLINESHADOWED, // apparently unimplemented
+ ITEM_TEXTSTYLE_SHADOWEDMORE, // drop shadow (need a color for this)
+ ITEM_TEXTSTYLE_NEON // glow (need a color for this)
+};
+
+enum
+{
+ WINDOW_BORDER_NONE, // no border
+ WINDOW_BORDER_FULL, // full border based on border color (single pixel)
+ WINDOW_BORDER_HORZ, // horizontal borders only
+ WINDOW_BORDER_VERT, // vertical borders only
+ WINDOW_BORDER_KCGRADIENT // horizontal border using the gradient bars
+};
+
+enum
+{
+ WINDOW_STYLE_EMPTY, // no background
+ WINDOW_STYLE_FILLED, // filled with background color
+ WINDOW_STYLE_GRADIENT, // gradient bar based on background color
+ WINDOW_STYLE_SHADER, // use background shader
+ WINDOW_STYLE_TEAMCOLOR, // team color
+ WINDOW_STYLE_CINEMATIC // cinematic
+};
+
+#define MENU_TRUE 1 // uh.. true
+#define MENU_FALSE 0 // and false
+
+enum
+{
+ HUD_VERTICAL,
+ HUD_HORIZONTAL
+};
+
+// list box element types
+enum
+{
+ LISTBOX_TEXT,
+ LISTBOX_IMAGE
+};
+
+// list feeders
+enum
+{
+ FEEDER_SERVERS, // servers
+ FEEDER_MAPS, // all maps available, in graphic format
+ FEEDER_ALIENTEAM_LIST, // alien team members
+ FEEDER_HUMANTEAM_LIST, // human team members
+ FEEDER_TEAM_LIST, // team members for team voting
+ FEEDER_PLAYER_LIST, // players
+ FEEDER_NEWS, // news
+ FEEDER_MODS, // list of available mods
+ FEEDER_DEMOS, // list of available demo files
+ FEEDER_SERVERSTATUS, // server status
+ FEEDER_FINDPLAYER, // find player
+ FEEDER_CINEMATICS, // cinematics
+
+ FEEDER_TREMTEAMS, // teams
+ FEEDER_TREMALIENCLASSES, // alien classes
+ FEEDER_TREMHUMANITEMS, // human items
+ FEEDER_TREMHUMANARMOURYBUY, // human buy
+ FEEDER_TREMHUMANARMOURYSELL, // human sell
+ FEEDER_TREMALIENUPGRADE, // alien upgrade
+ FEEDER_TREMALIENBUILD, // alien buildables
+ FEEDER_TREMHUMANBUILD, // human buildables
+ FEEDER_IGNORE_LIST, // ignored players
+ FEEDER_HELP_LIST, // help topics
+ FEEDER_RESOLUTIONS, // display resolutions
+ FEEDER_TREMVOICECMD, // voice commands
+ FEEDER_GITHUB_RELEASE // latest update info
+};
+
+// display flags
+#define UI_SHOW_FAVORITESERVERS 0x00000001
+#define UI_SHOW_NOTFAVORITESERVERS 0x00000002
+
+#define UI_SHOW_VOTEACTIVE 0x00000004
+#define UI_SHOW_CANVOTE 0x00000008
+#define UI_SHOW_TEAMVOTEACTIVE 0x00000010
+#define UI_SHOW_CANTEAMVOTE 0x00000020
+
+#define UI_SHOW_NOTSPECTATING 0x00000040
+
+// owner draw types
+enum
+{
+ CG_PLAYER_HEALTH,
+ CG_PLAYER_HEALTH_CROSS,
+ CG_PLAYER_AMMO_VALUE,
+ CG_PLAYER_CLIPS_VALUE,
+ CG_PLAYER_BUILD_TIMER,
+ CG_PLAYER_CREDITS_VALUE,
+ CG_PLAYER_CREDITS_VALUE_NOPAD,
+ CG_PLAYER_STAMINA,
+ CG_PLAYER_STAMINA_1,
+ CG_PLAYER_STAMINA_2,
+ CG_PLAYER_STAMINA_3,
+ CG_PLAYER_STAMINA_4,
+ CG_PLAYER_STAMINA_BOLT,
+ CG_PLAYER_BOOST_BOLT,
+ CG_PLAYER_CLIPS_RING,
+ CG_PLAYER_BUILD_TIMER_RING,
+ CG_PLAYER_SELECT,
+ CG_PLAYER_SELECTTEXT,
+ CG_PLAYER_WEAPONICON,
+ CG_PLAYER_WALLCLIMBING,
+ CG_PLAYER_BOOSTED,
+ CG_PLAYER_POISON_BARBS,
+ CG_PLAYER_ALIEN_SENSE,
+ CG_PLAYER_HUMAN_SCANNER,
+ CG_PLAYER_USABLE_BUILDABLE,
+ CG_PLAYER_CHARGE_BAR_BG,
+ CG_PLAYER_CHARGE_BAR,
+ CG_PLAYER_CROSSHAIR,
+ CG_PLAYER_LOCATION,
+ CG_TEAMOVERLAY,
+ CG_PLAYER_CREDITS_FRACTION,
+
+ CG_KILLER,
+ CG_SPECTATORS,
+ CG_FOLLOW,
+
+// loading screen
+ CG_LOAD_LEVELSHOT,
+ CG_LOAD_MEDIA,
+ CG_LOAD_MEDIA_LABEL,
+ CG_LOAD_BUILDABLES,
+ CG_LOAD_BUILDABLES_LABEL,
+ CG_LOAD_CHARMODEL,
+ CG_LOAD_CHARMODEL_LABEL,
+ CG_LOAD_OVERALL,
+ CG_LOAD_LEVELNAME,
+ CG_LOAD_MOTD,
+ CG_LOAD_HOSTNAME,
+
+ CG_FPS,
+ CG_FPS_FIXED,
+ CG_TIMER,
+ CG_TIMER_MINS,
+ CG_TIMER_SECS,
+ CG_SNAPSHOT,
+ CG_LAGOMETER,
+ CG_SPEEDOMETER,
+ CG_PLAYER_CROSSHAIRNAMES,
+ CG_STAGE_REPORT_TEXT,
+ CG_ALIENS_SCORE_LABEL,
+ CG_HUMANS_SCORE_LABEL,
+ CG_DEMO_PLAYBACK,
+ CG_DEMO_RECORDING,
+
+ CG_CONSOLE,
+ CG_TUTORIAL,
+ CG_CLOCK,
+ CG_KILLFEED,
+ CG_PLAYER_THZ_SCANNER,
+
+ UI_NETSOURCE,
+ UI_NETMAPPREVIEW,
+ UI_NETMAPCINEMATIC,
+ UI_SERVERREFRESHDATE,
+ UI_SERVERMOTD,
+ UI_GLINFO,
+ UI_KEYBINDSTATUS,
+ UI_SELECTEDMAPPREVIEW,
+ UI_SELECTEDMAPNAME,
+
+ UI_TEAMINFOPANE,
+ UI_ACLASSINFOPANE,
+ UI_AUPGRADEINFOPANE,
+ UI_HITEMINFOPANE,
+ UI_HBUYINFOPANE,
+ UI_HSELLINFOPANE,
+ UI_ABUILDINFOPANE,
+ UI_HBUILDINFOPANE,
+ UI_HELPINFOPANE,
+
+ UI_VOICECMDINFOPANE
+};
+
+#endif
diff --git a/assets/ui/menus.txt b/assets/ui/menus.txt
new file mode 100644
index 0000000..067006c
--- /dev/null
+++ b/assets/ui/menus.txt
@@ -0,0 +1,24 @@
+// menu defs
+//
+{
+ loadMenu { "ui/main.menu" }
+ loadMenu { "ui/news.menu" }
+ loadMenu { "ui/joinserver.menu" }
+ loadMenu { "ui/options.menu" }
+ loadMenu { "ui/createserver.menu" }
+ loadMenu { "ui/mod.menu" }
+ loadMenu { "ui/demo_error.menu" }
+ loadMenu { "ui/demo.menu" }
+ loadMenu { "ui/connect.menu" }
+ loadMenu { "ui/password.menu" }
+ loadMenu { "ui/quit.menu" }
+ loadMenu { "ui/error.menu" }
+ loadMenu { "ui/download.menu" }
+ loadMenu { "ui/drop.menu" }
+ loadMenu { "ui/serverinfo.menu" }
+ loadMenu { "ui/findplayer.menu" }
+ loadMenu { "ui/quitcredit.menu" }
+ loadMenu { "ui/createfavorite.menu" }
+ loadMenu { "ui/install_update.menu" }
+ loadMenu { "ui/folders.menu" }
+}
diff --git a/assets/ui/mod.menu b/assets/ui/mod.menu
new file mode 100644
index 0000000..38bee62
--- /dev/null
+++ b/assets/ui/mod.menu
@@ -0,0 +1,108 @@
+#include "ui/menudef.h"
+
+{
+ \\ MOD \\
+
+#define W 300
+#define H 240
+#define BUTT_W 45
+#define BUTT_H 35
+#define BORDER 10
+
+ menuDef
+ {
+ name "mod"
+ visible MENU_FALSE
+ fullscreen MENU_FALSE
+ rect (320-(W/2)) (240-(H/2)) W H
+ focusColor 1 .75 0 1
+ style WINDOW_STYLE_FILLED
+ border WINDOW_BORDER_FULL
+ popup
+ onEsc
+ {
+ close mod
+ }
+ onOpen
+ {
+ uiScript loadMods
+ }
+
+ itemDef
+ {
+ name window
+ rect 0 0 W H
+ style WINDOW_STYLE_FILLED
+ backcolor 0 0 0 1
+ visible MENU_TRUE
+ decoration
+
+ border WINDOW_BORDER_FULL
+ borderSize 1.0
+ borderColor 0.5 0.5 0.5 1
+ }
+
+ itemDef
+ {
+ name modlist
+ rect BORDER BORDER (W-(2*BORDER)) (H-(BUTT_H+BORDER))
+ type ITEM_TYPE_LISTBOX
+ style WINDOW_STYLE_EMPTY
+ elementwidth 120
+ elementheight 20
+ textscale .25
+ elementtype LISTBOX_TEXT
+ feeder FEEDER_MODS
+ textalign 3
+ textaligny 14
+ border WINDOW_BORDER_FULL
+ bordercolor 0.5 0.5 0.5 0.5
+ forecolor 1 1 1 1
+ backcolor 0.2 0.2 0.2 1
+ outlinecolor 0.1 0.1 0.1 0.5
+ visible MENU_TRUE
+ doubleClick
+ {
+ play "sound/misc/menu1.wav";
+ uiScript RunMod
+ }
+ }
+
+ itemDef
+ {
+ name load
+ text "Load"
+ type ITEM_TYPE_BUTTON
+ textscale .25
+ rect (W-(2*BUTT_W)) (H-BUTT_H) BUTT_W BUTT_H
+ textalign ALIGN_CENTER
+ textvalign VALIGN_CENTER
+ forecolor 1 1 1 1
+ visible MENU_TRUE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ close mod;
+ uiScript RunMod
+ }
+ }
+
+ itemDef
+ {
+ name cancel
+ text "Cancel"
+ type ITEM_TYPE_BUTTON
+ textscale .25
+ rect (W-BUTT_W) (H-BUTT_H) BUTT_W BUTT_H
+ textalign ALIGN_CENTER
+ textvalign VALIGN_CENTER
+ forecolor 1 1 1 1
+ visible MENU_TRUE
+ action
+ {
+ play "sound/misc/menu3.wav";
+ close mod
+ }
+ }
+ }
+}
diff --git a/assets/ui/news.menu b/assets/ui/news.menu
new file mode 100644
index 0000000..99d8d68
--- /dev/null
+++ b/assets/ui/news.menu
@@ -0,0 +1,102 @@
+#include "ui/menudef.h"
+
+{
+ \\ NEWS POPUP MENU \\
+
+#define W 400
+#define H 400
+#define BUTT_W 45
+#define BUTT_H 35
+#define TITLE_H 35
+#define BORDER 10
+#define LIST_W (W-(2*BORDER))
+
+ menuDef
+ {
+ name "news_menu"
+ visible MENU_FALSE
+ fullscreen MENU_FALSE
+ rect (320-(W/2)) (240-(H/2)) W H
+ focusColor 1 .75 0 1
+ style WINDOW_STYLE_FILLED
+ border WINDOW_BORDER_FULL
+ popup
+ onClose { }
+ onOpen { uiScript getNews }
+ onESC
+ {
+ close news_menu
+ }
+
+ itemDef
+ {
+ name window
+ rect 0 0 W H
+ style WINDOW_STYLE_FILLED
+ backcolor 0 0 0 1
+ visible MENU_TRUE
+ decoration
+
+ border WINDOW_BORDER_FULL
+ borderSize 1.0
+ borderColor 0.5 0.5 0.5 1
+ }
+
+ itemDef
+ {
+ name title
+ type ITEM_TYPE_TEXT
+ text "Tremulous News"
+ style WINDOW_STYLE_EMPTY
+ textscale .5
+ textstyle ITEM_TEXTSTYLE_NORMAL
+ rect BORDER BORDER LIST_W TITLE_H
+ textalign ALIGN_CENTER
+ textvalign VALIGN_CENTER
+ decoration
+ forecolor 1 1 1 1
+ visible MENU_TRUE
+ }
+
+ itemDef
+ {
+ name newslistbox
+ rect BORDER ((2*BORDER)+TITLE_H) LIST_W (H-((TITLE_H+BUTT_H)+(2*BORDER)))
+ type ITEM_TYPE_LISTBOX
+ style WINDOW_STYLE_EMPTY
+ elementwidth 120
+ elementheight 16
+ textscale .25
+ border WINDOW_BORDER_FULL
+ bordersize 1
+ bordercolor .5 .5 .5 1
+ elementtype LISTBOX_TEXT
+ feeder FEEDER_NEWS
+ notselectable
+ visible MENU_TRUE
+ }
+
+ // BUTTON //
+
+ itemDef
+ {
+ name close
+ text "Close"
+ type ITEM_TYPE_BUTTON
+ textscale .25
+ style WINDOW_STYLE_EMPTY
+ rect (W-BUTT_W) (H-BUTT_H) BUTT_W BUTT_H
+ textalign ALIGN_CENTER
+ textvalign VALIGN_CENTER
+ forecolor 1 1 1 1
+ visible MENU_TRUE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ close news_menu
+ }
+ }
+ }
+}
+
+
diff --git a/assets/ui/options.menu b/assets/ui/options.menu
new file mode 100644
index 0000000..6427f6c
--- /dev/null
+++ b/assets/ui/options.menu
@@ -0,0 +1,310 @@
+#include "ui/menudef.h"
+
+{
+ \\ FRONT END OPTIONS BOX \\
+
+#define X 0
+#define Y 20
+#define W 250
+#define H ((10*(ELEM_H+ELEM_GAP))+120)
+#define TOFF_X (0-(W/2))
+#define ELEM_H 16
+#define ELEM_GAP 4
+#define BUTT_W 35
+#define BUTT_H 35
+#define BORDER 10
+#define RESCOMBO_OFF 8
+
+ menuDef
+ {
+ name "simple_options"
+ visible MENU_FALSE
+ fullscreen MENU_FALSE
+ rect (320-(W/2)) (240-(H/2)) W H
+ focusColor 1 .75 0 1
+ style WINDOW_STYLE_FILLED
+ border WINDOW_BORDER_FULL
+ popup
+ onEsc
+ {
+ play "sound/misc/menu1.wav";
+ close simple_options
+ }
+
+ itemDef
+ {
+ name window
+ rect 0 0 W H
+ style WINDOW_STYLE_FILLED
+ backcolor 0 0 0 1
+ visible MENU_TRUE
+ decoration
+
+ border WINDOW_BORDER_FULL
+ borderSize 1.0
+ borderColor 0.5 0.5 0.5 1
+ }
+
+
+
+ itemDef
+ {
+ type ITEM_TYPE_EDITFIELD
+ style WINDOW_STYLE_EMPTY
+ text "Name:"
+ cvar "name"
+ maxchars 26
+ rect X Y W ELEM_H
+ textalign ALIGN_RIGHT
+ textalignx TOFF_X
+ textvalign VALIGN_CENTER
+ textscale .25
+ forecolor 1 1 1 1
+ visible MENU_TRUE
+ }
+
+ itemDef
+ {
+ type ITEM_TYPE_MULTI
+ text "Renderer:"
+ cvar "cl_renderer"
+ cvarStrList { "OpenGL 1", "opengl1",
+ "OpenGL 2", "opengl2" }
+ rect X (Y+(ELEM_H+ELEM_GAP)) W ELEM_H
+ textalign ALIGN_RIGHT
+ textalignx TOFF_X
+ textvalign VALIGN_CENTER
+ textscale .25
+ forecolor 1 1 1 1
+ visible MENU_TRUE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ }
+ }
+
+ itemDef
+ {
+ type ITEM_TYPE_TEXT
+ text "Video Mode:"
+ rect X (Y+(2*(ELEM_H+ELEM_GAP))) (W/2) ELEM_H
+ textalign ALIGN_RIGHT
+ textvalign VALIGN_CENTER
+ textscale .25
+ forecolor 1 1 1 1
+ visible MENU_TRUE
+ decoration
+ }
+
+ itemDef
+ {
+ rect ((W/2)+RESCOMBO_OFF) (Y+(2*(ELEM_H+ELEM_GAP))) ((W/2)-(2*BORDER)) ELEM_H
+ type ITEM_TYPE_COMBOBOX
+ style WINDOW_STYLE_FILLED
+ elementwidth ((W/2)-(2*BORDER))
+ elementheight ELEM_H
+ dropitems 5
+ textscale .25
+ elementtype LISTBOX_TEXT
+ feeder FEEDER_RESOLUTIONS
+ border WINDOW_BORDER_FULL
+ borderColor 0.5 0.5 0.5 1
+ forecolor 1 1 1 1
+ backcolor 0 0 0 1
+ outlinecolor 0.1 0.1 0.1 0.5
+ visible MENU_TRUE
+ doubleclick
+ {
+ play "sound/misc/menu1.wav";
+ }
+ }
+
+ itemDef
+ {
+ type ITEM_TYPE_SLIDER
+ text "Video Brightness:"
+ cvarfloat "r_gamma" 1 .5 2
+ rect X (Y+(3*(ELEM_H+ELEM_GAP))) W ELEM_H
+ textalign ALIGN_RIGHT
+ textalignx TOFF_X
+ textvalign VALIGN_CENTER
+ textscale .25
+ forecolor 1 1 1 1
+ visible MENU_TRUE
+ }
+
+
+
+ itemDef
+ {
+ type ITEM_TYPE_SLIDER
+ text "Effects Volume:"
+ cvarfloat "s_volume" 0.7 0 1
+ rect X (Y+(4*(ELEM_H+ELEM_GAP))) W ELEM_H
+ textalign ALIGN_RIGHT
+ textalignx TOFF_X
+ textvalign VALIGN_CENTER
+ textscale .25
+ forecolor 1 1 1 1
+ visible MENU_TRUE
+ }
+
+ itemDef
+ {
+ type ITEM_TYPE_SLIDER
+ text "Music Volume:"
+ cvarfloat "s_musicvolume" 0.25 0 1
+ rect X (Y+(5*(ELEM_H+ELEM_GAP))) W ELEM_H
+ textalign ALIGN_RIGHT
+ textalignx TOFF_X
+ textvalign VALIGN_CENTER
+ textscale .25
+ forecolor 1 1 1 1
+ visible MENU_TRUE
+ }
+
+ itemDef
+ {
+ type ITEM_TYPE_YESNO
+ text "OpenAL Sound:"
+ cvar "s_useOpenAL"
+ rect X (Y+(6*(ELEM_H+ELEM_GAP))) W ELEM_H
+ textalign ALIGN_RIGHT
+ textalignx TOFF_X
+ textvalign VALIGN_CENTER
+ textscale .25
+ forecolor 1 1 1 1
+ visible MENU_TRUE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ }
+ }
+
+
+
+ itemDef
+ {
+ type ITEM_TYPE_SLIDER
+ text "Mouse Sensitivity:"
+ cvarfloat "sensitivity" 5 1 30
+ rect X (Y+(7*(ELEM_H+ELEM_GAP))) W ELEM_H
+ textalign ALIGN_RIGHT
+ textalignx TOFF_X
+ textvalign VALIGN_CENTER
+ textscale .25
+ forecolor 1 1 1 1
+ visible MENU_TRUE
+ }
+
+ itemDef
+ {
+ type ITEM_TYPE_YESNO
+ text "Invert Mouse:"
+ cvar "ui_mousePitch"
+ rect X (Y+(8*(ELEM_H+ELEM_GAP))) W ELEM_H
+ textalign ALIGN_RIGHT
+ textalignx TOFF_X
+ textvalign VALIGN_CENTER
+ textscale .25
+ forecolor 1 1 1 1
+ visible MENU_TRUE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ uiScript update ui_mousePitch
+ }
+ }
+
+
+
+ itemDef
+ {
+ type ITEM_TYPE_MULTI
+ text "Network Connection:"
+ cvar "rate"
+ cvarFloatList { "<=28.8k" 2500 "33.6k" 3000 "56k" 4000 "ISDN" 5000 "LAN/CABLE/xDSL" 25000 }
+ rect X (Y+(9*(ELEM_H+ELEM_GAP))) W ELEM_H
+ textalign ALIGN_RIGHT
+ textalignx TOFF_X
+ textvalign VALIGN_CENTER
+ textscale .25
+ forecolor 1 1 1 1
+ visible MENU_TRUE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ }
+ }
+
+ itemDef
+ {
+ type ITEM_TYPE_YESNO
+ text "Allow Auto Download:"
+ cvar "cl_allowDownload"
+ rect X (Y+(10*(ELEM_H+ELEM_GAP))) W ELEM_H
+ textalign ALIGN_RIGHT
+ textalignx TOFF_X
+ textvalign VALIGN_CENTER
+ textscale .25
+ forecolor 1 1 1 1
+ visible MENU_TRUE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ }
+ }
+
+ itemDef
+ {
+ text "For further options please use the in-game options menu"
+ type ITEM_TYPE_TEXT
+ style WINDOW_STYLE_EMPTY
+ textstyle ITEM_TEXTSTYLE_NORMAL
+ textscale .25
+ rect 0 (H-60) W 10
+ textalign ALIGN_CENTER
+ textvalign VALIGN_CENTER
+ forecolor 1 1 1 1
+ visible MENU_TRUE
+ decoration
+ }
+
+
+ itemDef
+ {
+ text "APPLY"
+ type ITEM_TYPE_BUTTON
+ textscale .25
+ style WINDOW_STYLE_EMPTY
+ rect (W-(2*BUTT_W)) (H-BUTT_H) BUTT_W BUTT_H
+ textalign ALIGN_CENTER
+ textvalign VALIGN_CENTER
+ forecolor 1 1 1 1
+ visible MENU_TRUE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ exec "snd_restart" // includes vid_restart
+ }
+ }
+
+ itemDef
+ {
+ text "OK"
+ type ITEM_TYPE_BUTTON
+ textscale .25
+ style WINDOW_STYLE_EMPTY
+ rect (W-BUTT_W) (H-BUTT_H) BUTT_W BUTT_H
+ textalign ALIGN_CENTER
+ textvalign VALIGN_CENTER
+ forecolor 1 1 1 1
+ visible MENU_TRUE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ close simple_options
+ }
+ }
+ }
+}
diff --git a/assets/ui/password.menu b/assets/ui/password.menu
new file mode 100644
index 0000000..d6ac4cd
--- /dev/null
+++ b/assets/ui/password.menu
@@ -0,0 +1,85 @@
+#include "ui/menudef.h"
+
+{
+ \\ PASSWORD POPUP MENU \\
+
+#define BUTT_W 45
+#define BUTT_H 35
+#define BORDER 10
+#define INPUT_H 20
+#define W 250
+#define H ((2*BORDER)+INPUT_H+BUTT_H)
+
+ menuDef
+ {
+ name "password_popmenu"
+ visible MENU_FALSE
+ fullscreen MENU_FALSE
+ rect (320-(W/2)) (240-(H/2)) W H
+ focusColor 1 .75 0 1
+ style WINDOW_STYLE_FILLED
+ border WINDOW_BORDER_FULL
+ popup
+
+ onOpen
+ {
+ setfocus passwordEntry
+ }
+
+ onESC
+ {
+ close password_popmenu
+ }
+
+ itemDef
+ {
+ name window
+ rect 0 0 W H
+ style WINDOW_STYLE_FILLED
+ backcolor 0 0 0 1
+ visible MENU_TRUE
+ decoration
+
+ border WINDOW_BORDER_FULL
+ borderSize 1.0
+ borderColor 0.5 0.5 0.5 1
+ }
+
+ // PASSWORD //
+
+ itemDef
+ {
+ name passwordEntry
+ type ITEM_TYPE_EDITFIELD
+ style WINDOW_STYLE_EMPTY
+ text "Password:"
+ maxChars 40
+ textscale .4
+ cvar "password"
+ rect BORDER BORDER (W-(2*BORDER)) INPUT_H
+ textalign ALIGN_LEFT
+ textvalign VALIGN_CENTER
+ forecolor 1 1 1 1
+ visible MENU_TRUE
+ }
+
+ itemDef
+ {
+ name yes
+ text "OK"
+ type ITEM_TYPE_BUTTON
+ textscale .25
+ style WINDOW_STYLE_EMPTY
+ rect (W-BUTT_W) (H-BUTT_H) BUTT_W BUTT_H
+ textalign ALIGN_CENTER
+ textvalign VALIGN_CENTER
+ forecolor 1 1 1 1
+ visible MENU_TRUE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ close password_popmenu
+ }
+ }
+ }
+}
diff --git a/assets/ui/quit.menu b/assets/ui/quit.menu
new file mode 100644
index 0000000..0bd2e90
--- /dev/null
+++ b/assets/ui/quit.menu
@@ -0,0 +1,99 @@
+#include "ui/menudef.h"
+
+{
+ \\ QUIT POPUP MENU \\
+
+#define W 120
+#define H 120
+
+ menuDef
+ {
+ name "quit_popmenu"
+ visible MENU_FALSE
+ fullscreen MENU_FALSE
+ rect (320-(W/2)) (240-(H/2)) W H
+ focusColor 1 .75 0 1
+ style WINDOW_STYLE_FILLED
+ border WINDOW_BORDER_FULL
+ popup
+ onESC
+ {
+ play "sound/misc/menu1.wav";
+ close quit_popmenu
+ }
+
+
+ itemDef
+ {
+ name window
+ rect 0 0 W H
+ style WINDOW_STYLE_FILLED
+ backcolor 0 0 0 1
+ visible MENU_TRUE
+ decoration
+
+ border WINDOW_BORDER_FULL
+ borderSize 1.0
+ borderColor 0.5 0.5 0.5 1
+ }
+
+
+ // QUIT //
+
+ itemDef
+ {
+ name confirm
+ type ITEM_TYPE_TEXT
+ text "Quit Tremulous?"
+ style WINDOW_STYLE_EMPTY
+ textscale .3
+ textstyle WINDOW_STYLE_SHADER
+ rect 0 0 W ((2*H)/3)
+ textalign ALIGN_CENTER
+ textvalign VALIGN_CENTER
+ decoration
+ forecolor 1 1 1 1
+ visible MENU_TRUE
+ }
+
+
+ itemDef
+ {
+ name yes
+ text "YES"
+ type ITEM_TYPE_BUTTON
+ textscale .25
+ rect 0 (H/3) (W/2) ((2*H)/3)
+ textalign ALIGN_CENTER
+ textvalign VALIGN_CENTER
+ forecolor 1 1 1 1
+ visible MENU_TRUE
+ action
+ {
+ play "sound/misc/menu4.wav";
+ open quitCredit
+ }
+ }
+
+
+ itemDef
+ {
+ name no
+ text "NO"
+ type ITEM_TYPE_BUTTON
+ textscale .25
+ rect (W/2) (H/3) (W/2) ((2*H)/3)
+ textalign ALIGN_CENTER
+ textvalign VALIGN_CENTER
+ forecolor 1 1 1 1
+ visible MENU_TRUE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ close quit_popmenu
+ }
+ }
+ }
+}
+
+
diff --git a/assets/ui/quitcredit.menu b/assets/ui/quitcredit.menu
new file mode 100644
index 0000000..14a8f4f
--- /dev/null
+++ b/assets/ui/quitcredit.menu
@@ -0,0 +1,410 @@
+#include "ui/menudef.h"
+
+{
+ \\ QUIT CREDIT \\
+
+ menuDef
+ {
+ name "quitCredit"
+ visible MENU_FALSE
+ fullscreen MENU_TRUE
+ rect 0 0 640 480
+ focusColor 1 .75 0 1
+ style WINDOW_STYLE_FILLED
+ border WINDOW_BORDER_NONE
+ aspectBias ASPECT_NONE
+ onEsc
+ {
+ uiScript "quit"
+ }
+
+ itemDef
+ {
+ name exitclickbox
+ style WINDOW_STYLE_SHADER
+ rect 0 0 640 480
+ type ITEM_TYPE_BUTTON
+ visible MENU_TRUE
+ backcolor 0 0 0 1
+ background "ui/assets/credits_splash.jpg"
+ action
+ {
+ close quitCredit;
+ uiScript "quit"
+ }
+ }
+
+ itemDef
+ {
+ name topstripe
+ style WINDOW_STYLE_FILLED
+ rect -5 -5 645 64
+ visible MENU_TRUE
+ backcolor 0 0 0 1
+
+ border WINDOW_BORDER_FULL
+ borderSize 1.5
+ borderColor 1 0 0 1
+ }
+
+ itemDef
+ {
+ name bottomstripe
+ style WINDOW_STYLE_FILLED
+ rect -5 416 645 485
+ visible MENU_TRUE
+ backcolor 0 0 0 1
+
+ border WINDOW_BORDER_FULL
+ borderSize 1.5
+ borderColor 1 0 0 1
+ }
+
+ itemDef
+ {
+ name "creditstitle"
+ group grpidcredit
+ style WINDOW_STYLE_EMPTY
+ rect 320 48 1 1
+ type ITEM_TYPE_TEXT
+ textalign ALIGN_CENTER
+ textscale 0.75
+ textstyle ITEM_TEXTSTYLE_NORMAL
+ text "CREDITS"
+ forecolor 1 1 1 1
+ backcolor 1 0 0 1
+ visible 1
+ decoration
+ }
+
+ itemDef
+ {
+ name "credit1left"
+ group grpidcredit
+ style WINDOW_STYLE_EMPTY
+ rect 10 96 1 1
+ type ITEM_TYPE_TEXT
+ textalign ALIGN_LEFT
+ textscale 0.50
+ textstyle ITEM_TEXTSTYLE_NORMAL
+ text "Tim 'Timbo' Angus"
+ forecolor 1 1 1 1
+ backcolor 1 0 0 1
+ visible 1
+ decoration
+ }
+ itemDef
+ {
+ name "credit1right"
+ group grpidcredit
+ style WINDOW_STYLE_EMPTY
+ rect 630 96 1 1
+ type ITEM_TYPE_TEXT
+ textalign ALIGN_RIGHT
+ textscale 0.50
+ textstyle ITEM_TEXTSTYLE_NORMAL
+ text "Programming and Direction"
+ forecolor 1 1 1 1
+ backcolor 0 1 0 1
+ visible 1
+ decoration
+ }
+
+ itemDef
+ {
+ name "credit2left"
+ group grpidcredit
+ style WINDOW_STYLE_EMPTY
+ rect 10 128 1 1
+ type ITEM_TYPE_TEXT
+ textalign ALIGN_LEFT
+ textscale 0.50
+ textstyle ITEM_TEXTSTYLE_NORMAL
+ text "Nick 'jex' Jansens"
+ forecolor 1 1 1 1
+ backcolor 1 0 0 1
+ visible 1
+ decoration
+ }
+ itemDef
+ {
+ name "credit2right"
+ group grpidcredit
+ style WINDOW_STYLE_EMPTY
+ rect 630 128 1 1
+ type ITEM_TYPE_TEXT
+ textalign ALIGN_RIGHT
+ textscale 0.50
+ textstyle ITEM_TEXTSTYLE_NORMAL
+ text "Mapping, texturing and 2D artwork"
+ forecolor 1 1 1 1
+ backcolor 0 1 0 1
+ visible 1
+ decoration
+ }
+
+ itemDef
+ {
+ name "credit3left"
+ group grpidcredit
+ style WINDOW_STYLE_EMPTY
+ rect 10 160 1 1
+ type ITEM_TYPE_TEXT
+ textalign ALIGN_LEFT
+ textscale 0.50
+ textstyle ITEM_TEXTSTYLE_NORMAL
+ text "Robin 'OverFlow' Marshall"
+ forecolor 1 1 1 1
+ backcolor 1 0 0 1
+ visible 1
+ decoration
+ }
+ itemDef
+ {
+ name "credit3right"
+ group grpidcredit
+ style WINDOW_STYLE_EMPTY
+ rect 630 160 1 1
+ type ITEM_TYPE_TEXT
+ textalign ALIGN_RIGHT
+ textscale 0.50
+ textstyle ITEM_TEXTSTYLE_NORMAL
+ text "Modelling, animation and mapping"
+ forecolor 1 1 1 1
+ backcolor 0 1 0 1
+ visible 1
+ decoration
+ }
+
+ itemDef
+ {
+ name "credit4left"
+ group grpidcredit
+ style WINDOW_STYLE_EMPTY
+ rect 10 192 1 1
+ type ITEM_TYPE_TEXT
+ textalign ALIGN_LEFT
+ textscale 0.50
+ textstyle ITEM_TEXTSTYLE_NORMAL
+ text "Jan 'Stannum' van der Weg"
+ forecolor 1 1 1 1
+ backcolor 1 0 0 1
+ visible 1
+ decoration
+ }
+ itemDef
+ {
+ name "credit4right"
+ group grpidcredit
+ style WINDOW_STYLE_EMPTY
+ rect 630 192 1 1
+ type ITEM_TYPE_TEXT
+ textalign ALIGN_RIGHT
+ textscale 0.50
+ textstyle ITEM_TEXTSTYLE_NORMAL
+ text "Texturing and mapping"
+ forecolor 1 1 1 1
+ backcolor 0 1 0 1
+ visible 1
+ decoration
+ }
+
+ itemDef
+ {
+ name "credit5left"
+ group grpidcredit
+ style WINDOW_STYLE_EMPTY
+ rect 10 224 1 1
+ type ITEM_TYPE_TEXT
+ textalign ALIGN_LEFT
+ textscale 0.50
+ textstyle ITEM_TEXTSTYLE_NORMAL
+ text "Mike 'Veda' McInerney"
+ forecolor 1 1 1 1
+ backcolor 1 0 0 1
+ visible 1
+ decoration
+ }
+ itemDef
+ {
+ name "credit5right"
+ group grpidcredit
+ style WINDOW_STYLE_EMPTY
+ rect 630 224 1 1
+ type ITEM_TYPE_TEXT
+ textalign ALIGN_RIGHT
+ textscale 0.50
+ textstyle ITEM_TEXTSTYLE_NORMAL
+ text "Modelling, animation and texturing"
+ forecolor 1 1 1 1
+ backcolor 0 1 0 1
+ visible 1
+ decoration
+ }
+
+ itemDef
+ {
+ name "credit6left"
+ group grpidcredit
+ style WINDOW_STYLE_EMPTY
+ rect 10 256 1 1
+ type ITEM_TYPE_TEXT
+ textalign ALIGN_LEFT
+ textscale 0.50
+ textstyle ITEM_TEXTSTYLE_NORMAL
+ text "Gordon 'Godmil' Miller"
+ forecolor 1 1 1 1
+ backcolor 1 0 0 1
+ visible 1
+ decoration
+ }
+ itemDef
+ {
+ name "credit6right"
+ group grpidcredit
+ style WINDOW_STYLE_EMPTY
+ rect 630 256 1 1
+ type ITEM_TYPE_TEXT
+ textalign ALIGN_RIGHT
+ textscale 0.50
+ textstyle ITEM_TEXTSTYLE_NORMAL
+ text "Mapping"
+ forecolor 1 1 1 1
+ backcolor 0 1 0 1
+ visible 1
+ decoration
+ }
+
+ itemDef
+ {
+ name "credit7left"
+ group grpidcredit
+ style WINDOW_STYLE_EMPTY
+ rect 10 288 1 1
+ type ITEM_TYPE_TEXT
+ textalign ALIGN_LEFT
+ textscale 0.50
+ textstyle ITEM_TEXTSTYLE_NORMAL
+ text "'Who-[Soup]'"
+ forecolor 1 1 1 1
+ backcolor 1 0 0 1
+ visible 1
+ decoration
+ }
+ itemDef
+ {
+ name "credit7right"
+ group grpidcredit
+ style WINDOW_STYLE_EMPTY
+ rect 630 288 1 1
+ type ITEM_TYPE_TEXT
+ textalign ALIGN_RIGHT
+ textscale 0.50
+ textstyle ITEM_TEXTSTYLE_NORMAL
+ text "Mapping"
+ forecolor 1 1 1 1
+ backcolor 0 1 0 1
+ visible 1
+ decoration
+ }
+
+ itemDef
+ {
+ name "credit8left"
+ group grpidcredit
+ style WINDOW_STYLE_EMPTY
+ rect 10 320 1 1
+ type ITEM_TYPE_TEXT
+ textalign ALIGN_LEFT
+ textscale 0.50
+ textstyle ITEM_TEXTSTYLE_NORMAL
+ text "Tristan 'jhrx' Blease"
+ forecolor 1 1 1 1
+ backcolor 1 0 0 1
+ visible 1
+ decoration
+ }
+ itemDef
+ {
+ name "credit8right"
+ group grpidcredit
+ style WINDOW_STYLE_EMPTY
+ rect 630 320 1 1
+ type ITEM_TYPE_TEXT
+ textalign ALIGN_RIGHT
+ textscale 0.50
+ textstyle ITEM_TEXTSTYLE_NORMAL
+ text "Mapping"
+ forecolor 1 1 1 1
+ backcolor 0 1 0 1
+ visible 1
+ decoration
+ }
+
+ itemDef
+ {
+ name "credit9left"
+ group grpidcredit
+ style WINDOW_STYLE_EMPTY
+ rect 10 352 1 1
+ type ITEM_TYPE_TEXT
+ textalign ALIGN_LEFT
+ textscale 0.50
+ textstyle ITEM_TEXTSTYLE_NORMAL
+ text "Paul 'MoP' Greveson"
+ forecolor 1 1 1 1
+ backcolor 1 0 0 1
+ visible 1
+ decoration
+ }
+ itemDef
+ {
+ name "credit9right"
+ group grpidcredit
+ style WINDOW_STYLE_EMPTY
+ rect 630 352 1 1
+ type ITEM_TYPE_TEXT
+ textalign ALIGN_RIGHT
+ textscale 0.50
+ textstyle ITEM_TEXTSTYLE_NORMAL
+ text "Modelling and texturing"
+ forecolor 1 1 1 1
+ backcolor 0 1 0 1
+ visible 1
+ decoration
+ }
+
+ itemDef
+ {
+ name "credit10left"
+ group grpidcredit
+ style WINDOW_STYLE_EMPTY
+ rect 10 384 1 1
+ type ITEM_TYPE_TEXT
+ textalign ALIGN_LEFT
+ textscale 0.50
+ textstyle ITEM_TEXTSTYLE_NORMAL
+ text "Chris 'Dolby' McCarthy"
+ forecolor 1 1 1 1
+ backcolor 1 0 0 1
+ visible 1
+ decoration
+ }
+ itemDef
+ {
+ name "credit10right"
+ group grpidcredit
+ style WINDOW_STYLE_EMPTY
+ rect 630 384 1 1
+ type ITEM_TYPE_TEXT
+ textalign ALIGN_RIGHT
+ textscale 0.50
+ textstyle ITEM_TEXTSTYLE_NORMAL
+ text "Sound"
+ forecolor 1 1 1 1
+ backcolor 0 1 0 1
+ visible 1
+ decoration
+ }
+ }
+}
diff --git a/assets/ui/say.menu b/assets/ui/say.menu
new file mode 100644
index 0000000..2bd3015
--- /dev/null
+++ b/assets/ui/say.menu
@@ -0,0 +1,180 @@
+#include "ui/menudef.h"
+#include "ui/menu_bool.h"
+
+{
+
+#define BORDER 10
+
+#define X BORDER
+#define Y BORDER
+#define W (600-(2*BORDER))
+#define H (480-(2*BORDER))
+
+ // Say to All
+ menuDef
+ {
+ name say
+ fullScreen false
+ visible false
+ rect X Y W H
+ aspectBias ALIGN_LEFT
+ focusColor 1 1 1 1
+ style WINDOW_STYLE_EMPTY
+ onOpen
+ {
+ setfocus say_field;
+ }
+
+ itemDef
+ {
+ name say_field
+ type ITEM_TYPE_SAYFIELD
+ style WINDOW_STYLE_EMPTY
+ text "Say:"
+ cvar "ui_sayBuffer"
+ maxchars 128
+ rect 0 0 W H
+ textalign ALIGN_LEFT
+ textvalign VALIGN_CENTER
+ textstyle ITEM_TEXTSTYLE_SHADOWED
+ textscale .4
+ forecolor 0.93 0.93 0.92 1
+ visible true
+ onCharEntry
+ {
+ uiScript SayKeyDown;
+ }
+ onTextEntry
+ {
+ uiScript Say;
+ close say;
+ }
+ }
+ }
+
+ // Say to Team
+ menuDef
+ {
+ name say_team
+ fullScreen false
+ visible false
+ rect X Y W H
+ aspectBias ALIGN_LEFT
+ focusColor 1 1 1 1
+ style WINDOW_STYLE_EMPTY
+ onOpen
+ {
+ setfocus say_field
+ }
+
+ itemDef
+ {
+ name say_field
+ type ITEM_TYPE_SAYFIELD
+ style WINDOW_STYLE_EMPTY
+ text "Say to team:"
+ cvar "ui_sayBuffer"
+ maxchars 128
+ rect 0 0 W H
+ textalign ALIGN_LEFT
+ textvalign VALIGN_CENTER
+ textstyle ITEM_TEXTSTYLE_SHADOWED
+ textscale .4
+ forecolor 0.93 0.93 0.92 1
+ visible true
+ onCharEntry
+ {
+ uiScript SayKeyDown;
+ }
+ onTextEntry
+ {
+ uiScript Say;
+ close say_team;
+ }
+ }
+ }
+
+ // Command
+ menuDef
+ {
+ name say_command
+ fullScreen false
+ visible false
+ rect X Y W H
+ aspectBias ALIGN_LEFT
+ focusColor 1 1 1 1
+ style WINDOW_STYLE_EMPTY
+ onOpen
+ {
+ setfocus say_field
+ }
+
+ itemDef
+ {
+ name say_field
+ type ITEM_TYPE_SAYFIELD
+ style WINDOW_STYLE_EMPTY
+ text "Command:"
+ cvar "ui_sayBuffer"
+ maxchars 128
+ rect 0 0 W H
+ textalign ALIGN_LEFT
+ textvalign VALIGN_CENTER
+ textstyle ITEM_TEXTSTYLE_SHADOWED
+ textscale .4
+ forecolor 0.93 0.93 0.92 1
+ visible true
+ onCharEntry
+ {
+ uiScript SayKeyDown;
+ }
+ onTextEntry
+ {
+ uiScript Say;
+ close say_command;
+ }
+ }
+ }
+
+ // Say to Admins
+ menuDef
+ {
+ name say_admin
+ fullScreen false
+ visible false
+ rect X Y W H
+ aspectBias ALIGN_LEFT
+ focusColor 1 1 1 1
+ style WINDOW_STYLE_EMPTY
+ onOpen
+ {
+ setfocus say_field
+ }
+
+ itemDef
+ {
+ name say_field
+ type ITEM_TYPE_SAYFIELD
+ style WINDOW_STYLE_EMPTY
+ text "Say to admins:"
+ cvar "ui_sayBuffer"
+ maxchars 128
+ rect 0 0 W H
+ textalign ALIGN_LEFT
+ textvalign VALIGN_CENTER
+ textstyle ITEM_TEXTSTYLE_SHADOWED
+ textscale .4
+ forecolor 0.93 0.93 0.92 1
+ visible true
+ onCharEntry
+ {
+ uiScript SayKeyDown;
+ }
+ onTextEntry
+ {
+ uiScript Say;
+ close say_admin;
+ }
+ }
+ }
+}
diff --git a/assets/ui/serverinfo.menu b/assets/ui/serverinfo.menu
new file mode 100644
index 0000000..596712c
--- /dev/null
+++ b/assets/ui/serverinfo.menu
@@ -0,0 +1,112 @@
+#include "ui/menudef.h"
+
+{
+ \\ SERVER INFO POPUP MENU \\
+
+#define W 400
+#define H 300
+#define BUTT_W 45
+#define BUTT_H 35
+#define BORDER 10
+#define LIST_W (W-(2*BORDER))
+#define LIST_DW (LIST_W-40)
+#define LEFT_C 0.13
+#define RIGHT_C 0.61
+
+ menuDef
+ {
+ name "serverinfo_popmenu"
+ visible MENU_FALSE
+ fullscreen MENU_FALSE
+ rect (320-(W/2)) (240-(H/2)) W H
+ focusColor 1 .75 0 1
+ style WINDOW_STYLE_FILLED
+ border WINDOW_BORDER_FULL
+ popup
+ onClose { }
+ onOpen { uiScript ServerStatus }
+ onESC
+ {
+ close serverinfo_popmenu
+ }
+
+ itemDef
+ {
+ name window
+ rect 0 0 W H
+ style WINDOW_STYLE_FILLED
+ backcolor 0 0 0 1
+ visible MENU_TRUE
+ decoration
+
+ border WINDOW_BORDER_FULL
+ borderSize 1.0
+ borderColor 0.5 0.5 0.5 1
+ }
+
+ itemDef
+ {
+ name serverinfo
+ rect BORDER BORDER LIST_W (H-(BUTT_H+BORDER))
+ type ITEM_TYPE_LISTBOX
+ style WINDOW_STYLE_EMPTY
+ elementwidth 120
+ elementheight 16
+ textscale .25
+ border WINDOW_BORDER_FULL
+ bordersize 1
+ bordercolor .5 .5 .5 1
+ elementtype LISTBOX_TEXT
+ feeder FEEDER_SERVERSTATUS
+ notselectable
+ visible MENU_TRUE
+ columns 4
+ 0 ((2*LEFT_C)*LIST_DW) ALIGN_LEFT
+ (LEFT_C*LIST_DW) (LEFT_C*LIST_DW) ALIGN_LEFT
+ ((2*LEFT_C)*LIST_DW) (LEFT_C*LIST_DW) ALIGN_LEFT
+ ((1-RIGHT_C)*LIST_DW) (RIGHT_C*LIST_DW) ALIGN_LEFT
+ }
+
+ // BUTTON //
+
+ itemDef
+ {
+ name refresh
+ text "Refresh"
+ type ITEM_TYPE_BUTTON
+ textscale .25
+ style WINDOW_STYLE_EMPTY
+ rect (W-(2*BUTT_W)) (H-BUTT_H) BUTT_W BUTT_H
+ textalign ALIGN_CENTER
+ textvalign VALIGN_CENTER
+ forecolor 1 1 1 1
+ visible MENU_TRUE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ uiScript ServerStatus
+ }
+ }
+
+ itemDef
+ {
+ name close
+ text "Close"
+ type ITEM_TYPE_BUTTON
+ textscale .25
+ style WINDOW_STYLE_EMPTY
+ rect (W-BUTT_W) (H-BUTT_H) BUTT_W BUTT_H
+ textalign ALIGN_CENTER
+ textvalign VALIGN_CENTER
+ forecolor 1 1 1 1
+ visible MENU_TRUE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ close serverinfo_popmenu
+ }
+ }
+ }
+}
+
+
diff --git a/assets/ui/teamscore.menu b/assets/ui/teamscore.menu
new file mode 100644
index 0000000..65893a0
--- /dev/null
+++ b/assets/ui/teamscore.menu
@@ -0,0 +1,386 @@
+#include "ui/menudef.h"
+
+{
+ \\ score_menu \\
+
+#define W 500
+#define H 338
+#define BORDER 10
+
+#define TOFF 10
+#define SPEC_W 75
+#define BAR_H 30
+
+#define LLIST_L 0
+#define LLIST_R (W/2)
+#define RLIST_L (W/2)
+#define RLIST_R W
+
+ menuDef
+ {
+ name "teamscore_menu"
+ visible MENU_FALSE
+ fullscreen MENU_FALSE
+ rect (320-(W/2)) (240-(H/2)) W H
+ focusColor 1 .75 0 1
+ style WINDOW_STYLE_EMPTY
+
+ // TEAM NAME //
+
+ itemDef
+ {
+ name teamNameWindow
+ rect 0 0 W BAR_H
+ style WINDOW_STYLE_FILLED
+ border WINDOW_BORDER_FULL
+ borderSize 1.0
+ bordercolor .5 .5 .5 1
+ forecolor 1 1 1 1
+ backcolor 0 0 0 .8
+ visible MENU_TRUE
+ decoration
+ }
+
+ itemDef
+ {
+ name alienteamname
+ textalign ALIGN_LEFT
+ textvalign VALIGN_CENTER
+ textalignx TOFF
+ textscale 0.4
+ rect 0 0 (W/3) BAR_H
+ forecolor 1 1 1 1
+ decoration
+ visible MENU_TRUE
+ ownerdraw CG_ALIENS_SCORE_LABEL
+ }
+
+ itemDef
+ {
+ name stagereport
+ textalign ALIGN_CENTER
+ textvalign VALIGN_CENTER
+ textscale 0.33
+ rect (W/3) 0 (W/3) BAR_H
+ forecolor 1 1 1 1
+ decoration
+ visible MENU_TRUE
+ ownerdraw CG_STAGE_REPORT_TEXT
+ }
+
+ itemDef
+ {
+ name humanteamname
+ textalign ALIGN_RIGHT
+ textvalign VALIGN_CENTER
+ textalignx -TOFF
+ textscale 0.4
+ rect ((2*W)/3) 0 (W/3) BAR_H
+ forecolor 1 1 1 1
+ decoration
+ visible MENU_TRUE
+ ownerdraw CG_HUMANS_SCORE_LABEL
+ }
+
+ // TEAM BARS //
+
+ itemDef
+ {
+ name leftteambar
+ rect 0 (BAR_H+BORDER) (W/2) BAR_H
+ style WINDOW_STYLE_FILLED
+ border WINDOW_BORDER_FULL
+ borderSize 1.0
+ bordercolor .5 .5 .5 1
+ forecolor 1 1 1 1
+ backcolor 0 0 0 .8
+ visible MENU_TRUE
+ decoration
+ }
+
+ itemDef
+ {
+ name rightteambar
+ rect (W/2) (BAR_H+BORDER) (W/2) BAR_H
+ style WINDOW_STYLE_FILLED
+ border WINDOW_BORDER_FULL
+ borderSize 1.0
+ bordercolor .5 .5 .5 1
+ forecolor 1 1 1 1
+ backcolor 0 0 0 .8
+ visible MENU_TRUE
+ decoration
+ }
+
+
+ // TEAM HEADINGS //
+
+ itemDef
+ {
+ type ITEM_TYPE_TEXT
+ text "Status"
+ textscale .33
+ style WINDOW_STYLE_EMPTY
+ rect (LLIST_L+10) (BAR_H+BORDER) 1 BAR_H
+ textalign ALIGN_LEFT
+ textvalign VALIGN_CENTER
+ backcolor 0 0 0 0
+ forecolor 1 .75 0 1
+ decoration
+ visible MENU_TRUE
+ }
+
+ itemDef
+ {
+ type ITEM_TYPE_TEXT
+ text "Name"
+ textscale .33
+ style WINDOW_STYLE_EMPTY
+ rect (LLIST_L+50) (BAR_H+BORDER) 1 BAR_H
+ textalign ALIGN_LEFT
+ textvalign VALIGN_CENTER
+ backcolor 0 0 0 0
+ forecolor 1 .75 0 1
+ decoration
+ visible MENU_TRUE
+ }
+
+ itemDef
+ {
+ type ITEM_TYPE_TEXT
+ text "Score"
+ textscale .33
+ style WINDOW_STYLE_EMPTY
+ rect (LLIST_R-95) (BAR_H+BORDER) 1 BAR_H
+ textalign ALIGN_RIGHT
+ textvalign VALIGN_CENTER
+ backcolor 0 0 0 0
+ forecolor 1 .75 0 1
+ decoration
+ visible MENU_TRUE
+ }
+
+ itemDef
+ {
+ type ITEM_TYPE_TEXT
+ text "Time"
+ textscale .33
+ style WINDOW_STYLE_EMPTY
+ rect (LLIST_R-55) (BAR_H+BORDER) 1 BAR_H
+ textalign ALIGN_RIGHT
+ textvalign VALIGN_CENTER
+ backcolor 0 0 0 0
+ forecolor 1 .75 0 1
+ decoration
+ visible MENU_TRUE
+ }
+
+ itemDef
+ {
+ type ITEM_TYPE_TEXT
+ text "Ping"
+ textscale .33
+ style WINDOW_STYLE_EMPTY
+ rect (LLIST_R-15) (BAR_H+BORDER) 1 BAR_H
+ textalign ALIGN_RIGHT
+ textvalign VALIGN_CENTER
+ backcolor 0 0 0 0
+ forecolor 1 .75 0 1
+ decoration
+ visible MENU_TRUE
+ }
+
+ itemDef
+ {
+ type ITEM_TYPE_TEXT
+ text "Status"
+ textscale .33
+ style WINDOW_STYLE_EMPTY
+ rect (RLIST_L+10) (BAR_H+BORDER) 1 BAR_H
+ textalign ALIGN_LEFT
+ textvalign VALIGN_CENTER
+ backcolor 0 0 0 0
+ forecolor 1 .75 0 1
+ decoration
+ visible MENU_TRUE
+ }
+
+ itemDef
+ {
+ type ITEM_TYPE_TEXT
+ text "Name"
+ textscale .33
+ style WINDOW_STYLE_EMPTY
+ rect (RLIST_L+50) (BAR_H+BORDER) 1 BAR_H
+ textalign ALIGN_LEFT
+ textvalign VALIGN_CENTER
+ backcolor 0 0 0 0
+ forecolor 1 .75 0 1
+ decoration
+ visible MENU_TRUE
+ }
+
+ itemDef
+ {
+ type ITEM_TYPE_TEXT
+ text "Score"
+ textscale .33
+ style WINDOW_STYLE_EMPTY
+ rect (RLIST_R-95) (BAR_H+BORDER) 1 BAR_H
+ textalign ALIGN_RIGHT
+ textvalign VALIGN_CENTER
+ backcolor 0 0 0 0
+ forecolor 1 .75 0 1
+ decoration
+ visible MENU_TRUE
+ }
+
+ itemDef
+ {
+ type ITEM_TYPE_TEXT
+ text "Time"
+ textscale .33
+ style WINDOW_STYLE_EMPTY
+ rect (RLIST_R-55) (BAR_H+BORDER) 1 BAR_H
+ textalign ALIGN_RIGHT
+ textvalign VALIGN_CENTER
+ backcolor 0 0 0 0
+ forecolor 1 .75 0 1
+ decoration
+ visible MENU_TRUE
+ }
+
+ itemDef
+ {
+ type ITEM_TYPE_TEXT
+ text "Ping"
+ textscale .33
+ style WINDOW_STYLE_EMPTY
+ rect (RLIST_R-15) (BAR_H+BORDER) 1 BAR_H
+ textalign ALIGN_RIGHT
+ textvalign VALIGN_CENTER
+ backcolor 0 0 0 0
+ forecolor 1 .75 0 1
+ decoration
+ visible MENU_TRUE
+ }
+
+ itemDef
+ {
+ name leftlist
+ rect 0 ((2*BAR_H)+BORDER) (W/2) (H-((3*BAR_H)+(2*BORDER)))
+ style WINDOW_STYLE_FILLED
+ backcolor 0 0 0 .6
+ border WINDOW_BORDER_FULL
+ borderSize 1.0
+ bordercolor .5 .5 .5 1
+ forecolor .75 .75 .75 1
+ visible MENU_TRUE
+ type ITEM_TYPE_LISTBOX
+ elementwidth 135
+ elementheight 16
+ textscale .25
+ elementtype LISTBOX_TEXT
+ feeder FEEDER_ALIENTEAM_LIST
+ notselectable
+ noscrollbar
+ columns 7
+ 5 15 ALIGN_LEFT
+ 21 15 ALIGN_LEFT
+ 7 30 ALIGN_LEFT
+ 45 ((W/2)-170) ALIGN_LEFT
+ ((W/2)-120) 20 ALIGN_RIGHT
+ ((W/2)-80) 20 ALIGN_RIGHT
+ ((W/2)-40) 20 ALIGN_RIGHT
+ }
+
+ itemDef
+ {
+ name rightlist
+ rect (W/2) ((2*BAR_H)+BORDER) (W/2) (H-((3*BAR_H)+(2*BORDER)))
+ style WINDOW_STYLE_FILLED
+ backcolor 0 0 0 .6
+ border WINDOW_BORDER_FULL
+ borderSize 1.0
+ bordercolor .5 .5 .5 1
+ forecolor .75 .75 .75 1
+ visible MENU_TRUE
+ type ITEM_TYPE_LISTBOX
+ elementwidth 135
+ elementheight 16
+ textscale .25
+ elementtype LISTBOX_TEXT
+ feeder FEEDER_HUMANTEAM_LIST
+ notselectable
+ noscrollbar
+ columns 7
+ 5 15 ALIGN_LEFT
+ 21 15 ALIGN_LEFT
+ 7 30 ALIGN_LEFT
+ 45 ((W/2)-170) ALIGN_LEFT
+ ((W/2)-120) 20 ALIGN_RIGHT
+ ((W/2)-80) 20 ALIGN_RIGHT
+ ((W/2)-40) 20 ALIGN_RIGHT
+ }
+
+ // spectators //
+
+ itemDef
+ {
+ name window
+ rect 0 (H-BAR_H) W BAR_H
+ style WINDOW_STYLE_FILLED
+ border WINDOW_BORDER_FULL
+ borderSize 1.0
+ bordercolor .5 .5 .5 1
+ backcolor 0 0 0 .8
+ textscale .33
+ visible MENU_TRUE
+ decoration
+ }
+
+ itemDef
+ {
+ type ITEM_TYPE_TEXT
+ name window
+ text "Spectating:"
+ rect 0 (H-BAR_H) SPEC_W BAR_H
+ style WINDOW_STYLE_FILLED
+ forecolor 1 1 1 1
+ textscale .33
+ textalign ALIGN_LEFT
+ textvalign VALIGN_CENTER
+ textalignx TOFF
+ visible MENU_TRUE
+ decoration
+ }
+
+ itemDef
+ {
+ name window
+ rect SPEC_W (H-BAR_H) (W-SPEC_W) BAR_H
+ style WINDOW_STYLE_FILLED
+ forecolor 1 1 1 1
+ textscale .33
+ textvalign VALIGN_CENTER
+ visible MENU_TRUE
+ ownerdraw CG_SPECTATORS
+ decoration
+ }
+
+ itemDef
+ {
+ name winner
+ type ITEM_TYPE_TEXT
+ rect (W/2) (H+BAR_H) 0 0
+ style WINDOW_STYLE_EMPTY
+ forecolor 1 1 1 1
+ textscale 0.5
+ textalign ALIGN_CENTER
+ textvalign VALIGN_TOP
+ visible MENU_TRUE
+ cvar "ui_winner"
+ decoration
+ }
+ }
+}
diff --git a/assets/ui/tremulous.txt b/assets/ui/tremulous.txt
new file mode 100644
index 0000000..fbeb47d
--- /dev/null
+++ b/assets/ui/tremulous.txt
@@ -0,0 +1,20 @@
+// menu defs
+//
+{
+ loadMenu { "ui/tremulous_teamselect.menu" }
+ loadMenu { "ui/tremulous_alienclass.menu" }
+ loadMenu { "ui/tremulous_humanitem.menu" }
+
+ loadMenu { "ui/tremulous_alienbuild.menu" }
+ loadMenu { "ui/tremulous_humanbuild.menu" }
+
+ loadMenu { "ui/tremulous_humanarmoury.menu" }
+
+ loadMenu { "ui/tremulous_dialogs.menu" }
+ loadMenu { "ui/tremulous_humandialogs.menu" }
+ loadMenu { "ui/tremulous_aliendialogs.menu" }
+
+ loadMenu { "ui/tremulous_alienupgrade.menu" }
+ loadMenu { "ui/tremulous_voicecmd.menu" }
+ loadMenu { "ui/say.menu" }
+}
diff --git a/assets/ui/tremulous_alien_builder_hud.menu b/assets/ui/tremulous_alien_builder_hud.menu
new file mode 100644
index 0000000..b532264
--- /dev/null
+++ b/assets/ui/tremulous_alien_builder_hud.menu
@@ -0,0 +1,42 @@
+#include "ui/menudef.h"
+
+{
+
+#define W 640
+#define H 480
+
+ menuDef
+ {
+ name "alien_builder_hud"
+ fullScreen MENU_FALSE
+ visible MENU_TRUE
+ rect 0 0 W H
+ aspectBias ASPECT_NONE
+
+#include "ui/tremulous_alien_common_hud.h"
+
+ //BUILD TIMER
+ itemDef
+ {
+ name "buildtimer"
+ rect 567 410 25 25
+ aspectBias ALIGN_RIGHT
+ visible MENU_TRUE
+ decoration
+ forecolor 1.0 0.0 0.0 .5
+ ownerdraw CG_PLAYER_BUILD_TIMER
+ }
+
+ //BUILD POINTS
+ itemDef
+ {
+ name "build-points"
+ rect 493.5 421.5 60 15
+ aspectBias ALIGN_RIGHT
+ visible MENU_TRUE
+ decoration
+ forecolor 1.0 0.0 0.0 1.0
+ ownerdraw CG_PLAYER_AMMO_VALUE
+ }
+ }
+}
diff --git a/assets/ui/tremulous_alien_common_hud.h b/assets/ui/tremulous_alien_common_hud.h
new file mode 100644
index 0000000..c77c9f7
--- /dev/null
+++ b/assets/ui/tremulous_alien_common_hud.h
@@ -0,0 +1,257 @@
+#define COMMON_HUD_R 1.0
+#define COMMON_HUD_G 0.0
+#define COMMON_HUD_B 0.0
+#include "ui/tremulous_common_hud.h"
+
+//////////////////
+//STATIC OBJECTS//
+//////////////////
+
+//LEFT RING CIRCLE
+itemDef
+{
+ name "left-ring-circle"
+ rect 47.5 410 25 25
+ aspectBias ALIGN_LEFT
+ visible MENU_TRUE
+ decoration
+ forecolor COMMON_HUD_R COMMON_HUD_G COMMON_HUD_B 0.25
+ style WINDOW_STYLE_SHADER
+ background "ui/assets/neutral/circle.tga"
+}
+
+//LEFT ARM
+itemDef
+{
+ name "left-arm"
+ rect 77 404.75 104 52.5
+ aspectBias ALIGN_LEFT
+ visible MENU_TRUE
+ decoration
+ forecolor COMMON_HUD_R COMMON_HUD_G COMMON_HUD_B 0.25
+ style WINDOW_STYLE_SHADER
+ background "ui/assets/alien/left-arm.tga"
+}
+
+//LEFT ARM CIRCLE
+itemDef
+{
+ name "left-arm-circle"
+ rect 150 417.5 25 25
+ aspectBias ALIGN_LEFT
+ visible MENU_TRUE
+ decoration
+ forecolor COMMON_HUD_R COMMON_HUD_G COMMON_HUD_B 0.25
+ style WINDOW_STYLE_SHADER
+ background "ui/assets/neutral/circle.tga"
+}
+
+//RIGHT RING CIRCLE
+itemDef
+{
+ name "right-ring-circle"
+ rect 567 410 25 25
+ aspectBias ALIGN_RIGHT
+ visible MENU_TRUE
+ decoration
+ forecolor COMMON_HUD_R COMMON_HUD_G COMMON_HUD_B 0.25
+ style WINDOW_STYLE_SHADER
+ background "ui/assets/neutral/circle.tga"
+}
+
+//RIGHT ARM
+itemDef
+{
+ name "right-arm"
+ rect 459 404.75 104 52.5
+ aspectBias ALIGN_RIGHT
+ visible MENU_TRUE
+ decoration
+ forecolor COMMON_HUD_R COMMON_HUD_G COMMON_HUD_B 0.25
+ style WINDOW_STYLE_SHADER
+ background "ui/assets/alien/right-arm.tga"
+}
+
+///////////////////
+//DYNAMIC OBJECTS//
+///////////////////
+
+//BOLT
+itemDef
+{
+ name "bolt"
+ rect 52.5 412.5 15 20
+ aspectBias ALIGN_LEFT
+ visible MENU_TRUE
+ decoration
+ forecolor COMMON_HUD_R COMMON_HUD_G COMMON_HUD_B 0.8
+ backcolor COMMON_HUD_R COMMON_HUD_G COMMON_HUD_B 0.2
+ background "ui/assets/alien/bolt.tga"
+ ownerdraw CG_PLAYER_BOOST_BOLT
+}
+
+//CROSS
+itemDef
+{
+ name "cross"
+ rect 150 417.5 25 25
+ aspectBias ALIGN_LEFT
+ visible MENU_TRUE
+ decoration
+ forecolor COMMON_HUD_R COMMON_HUD_G COMMON_HUD_B 0.5
+ ownerdraw CG_PLAYER_HEALTH_CROSS
+}
+
+//LEFT RING
+itemDef
+{
+ name "left-ring"
+ rect 7.25 369.5 90.5 106
+ aspectBias ALIGN_LEFT
+ visible MENU_TRUE
+ decoration
+ forecolor COMMON_HUD_R COMMON_HUD_G COMMON_HUD_B 0.8
+ backcolor COMMON_HUD_R COMMON_HUD_G COMMON_HUD_B 0.2
+ background "ui/assets/alien/left-ring.tga"
+ ownerdraw CG_PLAYER_BOOSTED
+}
+
+//LEFT SPIKES
+itemDef
+{
+ name "left-spikes"
+ rect 18.5 381 59 83
+ aspectBias ALIGN_LEFT
+ visible MENU_TRUE
+ decoration
+ forecolor COMMON_HUD_R COMMON_HUD_G COMMON_HUD_B 1.0
+ backcolor COMMON_HUD_R COMMON_HUD_G COMMON_HUD_B 0.2
+ background "ui/assets/alien/left-spikes.tga"
+ ownerdraw CG_PLAYER_WALLCLIMBING
+}
+
+//RIGHT RING
+itemDef
+{
+ name "right-ring"
+ rect 542.25 369.5 90.5 106
+ aspectBias ALIGN_RIGHT
+ visible MENU_TRUE
+ decoration
+ forecolor COMMON_HUD_R COMMON_HUD_G COMMON_HUD_B 0.8
+ backcolor COMMON_HUD_R COMMON_HUD_G COMMON_HUD_B 0.2
+ background "ui/assets/alien/right-ring.tga"
+ ownerdraw CG_PLAYER_BOOSTED
+}
+
+//RIGHT SPIKES
+itemDef
+{
+ name "right-spikes"
+ rect 562.5 381 59 83
+ aspectBias ALIGN_RIGHT
+ visible MENU_TRUE
+ decoration
+ forecolor COMMON_HUD_R COMMON_HUD_G COMMON_HUD_B 1.0
+ backcolor COMMON_HUD_R COMMON_HUD_G COMMON_HUD_B 0.2
+ background "ui/assets/alien/right-spikes.tga"
+ ownerdraw CG_PLAYER_WALLCLIMBING
+}
+
+//HEALTH
+itemDef
+{
+ name "health"
+ rect 78.5 421.5 60 15
+ aspectBias ALIGN_LEFT
+ visible MENU_TRUE
+ decoration
+ forecolor COMMON_HUD_R COMMON_HUD_G COMMON_HUD_B .5
+ ownerdraw CG_PLAYER_HEALTH
+}
+
+//ALIEN CLASS ICON
+itemDef
+{
+ name "alien-icon"
+ rect 465 417.5 25 25
+ aspectBias ALIGN_RIGHT
+ visible MENU_TRUE
+ decoration
+ forecolor COMMON_HUD_R COMMON_HUD_G COMMON_HUD_B 0.6
+ ownerdraw CG_PLAYER_WEAPONICON
+}
+
+//ORGANS
+itemDef
+{
+ name "organs"
+ rect 570 416 15 15
+ aspectBias ALIGN_RIGHT
+ visible MENU_TRUE
+ decoration
+ forecolor COMMON_HUD_R COMMON_HUD_G COMMON_HUD_B 1
+ ownerdraw CG_PLAYER_CREDITS_VALUE_NOPAD
+}
+
+//CREDITS FRACTION
+itemDef
+{
+ name "credits-background"
+ rect 567 410 25 25
+ aspectBias ALIGN_RIGHT
+ visible MENU_TRUE
+ decoration
+ forecolor COMMON_HUD_R COMMON_HUD_G COMMON_HUD_B 0.25
+ background "ui/assets/neutral/circle.tga"
+ ownerdraw CG_PLAYER_CREDITS_FRACTION
+}
+
+//ALIENSENSE
+itemDef
+{
+ name "aliensense"
+ rect 20 20 600 400
+ visible MENU_TRUE
+ decoration
+ ownerdraw CG_PLAYER_ALIEN_SENSE
+}
+
+//CHARGE BAR
+itemDef
+{
+ name "charge"
+ rect 292 426 56 8
+ aspectBias ALIGN_CENTER
+ visible MENU_TRUE
+ decoration
+ forecolor COMMON_HUD_R COMMON_HUD_G COMMON_HUD_B 0.5
+ ownerdraw CG_PLAYER_CHARGE_BAR
+ background "ui/assets/neutral/charge_cap_h.tga"
+}
+
+//CHARGE BAR BG
+itemDef
+{
+ name "chargebg"
+ rect 288 422 64 16
+ aspectBias ALIGN_CENTER
+ visible MENU_TRUE
+ decoration
+ forecolor COMMON_HUD_R COMMON_HUD_G COMMON_HUD_B 0.25
+ ownerdraw CG_PLAYER_CHARGE_BAR_BG
+ background "ui/assets/neutral/charge_bg_h.tga"
+}
+
+//TEAM OVERLAY
+itemDef
+{
+ name "teamoverlay"
+ rect BORDER 175 200 128
+ style WINDOW_STYLE_EMPTY
+ visible MENU_TRUE
+ decoration
+ forecolor COMMON_HUD_R COMMON_HUD_G COMMON_HUD_B 0.75
+ textscale 0.85
+ ownerdraw CG_TEAMOVERLAY
+}
diff --git a/assets/ui/tremulous_alien_general_hud.menu b/assets/ui/tremulous_alien_general_hud.menu
new file mode 100644
index 0000000..df1352d
--- /dev/null
+++ b/assets/ui/tremulous_alien_general_hud.menu
@@ -0,0 +1,30 @@
+#include "ui/menudef.h"
+
+{
+
+#define W 640
+#define H 480
+
+ menuDef
+ {
+ name "alien_general_hud"
+ fullScreen MENU_FALSE
+ visible MENU_TRUE
+ rect 0 0 W H
+ aspectBias ASPECT_NONE
+
+#include "ui/tremulous_alien_common_hud.h"
+
+ //BLOB
+ itemDef
+ {
+ name "blob"
+ rect 497 419 52 18
+ aspectBias ALIGN_RIGHT
+ visible MENU_TRUE
+ forecolor 1.0 0.0 0.0 0.5
+ background "ui/assets/alien/tremublob.tga"
+ ownerdraw CG_PLAYER_POISON_BARBS
+ }
+ }
+}
diff --git a/assets/ui/tremulous_alienbuild.menu b/assets/ui/tremulous_alienbuild.menu
new file mode 100644
index 0000000..127b769
--- /dev/null
+++ b/assets/ui/tremulous_alienbuild.menu
@@ -0,0 +1,136 @@
+#include "ui/menudef.h"
+
+{
+
+#define W 450
+#define H 250
+#define BORDER 10
+
+#define LIST_W 140
+#define LIST_H (H-(2*BORDER))
+#define LIST_X BORDER
+#define LIST_Y BORDER
+
+#define BUTT_H 25
+#define BUTT_W 45
+
+#define INFO_W (W-((3*BORDER)+LIST_W))
+#define INFO_H (H-((3*BORDER)+BUTT_H))
+#define INFO_X ((2*BORDER)+LIST_W)
+#define INFO_Y BORDER
+#define INFO_TOFF 6
+
+ menuDef
+ {
+ name "tremulous_alienbuild"
+ visible MENU_FALSE
+ fullscreen MENU_FALSE
+ outOfBoundsClick
+ rect (320-(W/2)) (240-(H/2)) W H
+ focusColor 1 .75 0 1
+ style WINDOW_STYLE_FILLED
+ popup
+ onOpen { uiScript LoadAlienBuilds; setFocus list }
+
+ itemDef
+ {
+ name window
+ rect 0 0 W H
+ style WINDOW_STYLE_FILLED
+ backcolor 0 0 0 1
+ visible MENU_TRUE
+ decoration
+
+ border WINDOW_BORDER_FULL
+ borderSize 1.0
+ borderColor 0.5 0.5 0.5 1
+ }
+
+ itemDef
+ {
+ name "list"
+ rect LIST_X LIST_Y LIST_W LIST_H
+ type ITEM_TYPE_LISTBOX
+ style WINDOW_STYLE_EMPTY
+ elementwidth 120
+ elementheight 20
+ textscale .33
+ elementtype LISTBOX_TEXT
+ feeder FEEDER_TREMALIENBUILD
+ border WINDOW_BORDER_FULL
+ bordercolor 0.5 0.5 0.5 0.5
+ forecolor 1 1 1 1
+ backcolor 0.2 0.2 0.2 1
+ outlinecolor 0.1 0.1 0.1 0.5
+ visible MENU_TRUE
+ doubleclick
+ {
+ play "sound/misc/menu1.wav";
+ uiScript BuildAlienBuildable;
+ close tremulous_alienbuild
+ }
+ }
+
+ itemDef
+ {
+ name infopane
+ ownerdraw UI_ABUILDINFOPANE
+ textstyle ITEM_TEXTSTYLE_NORMAL
+ style WINDOW_STYLE_EMPTY
+ rect INFO_X INFO_Y INFO_W INFO_H
+ textscale .33
+ textalign ALIGN_LEFT
+ textvalign VALIGN_TOP
+ textalignx INFO_TOFF
+ textaligny INFO_TOFF
+ border WINDOW_BORDER_FULL
+ bordercolor 0.5 0.5 0.5 0.5
+ forecolor 1 1 1 1
+ backcolor 0.2 0.2 0.2 1
+ outlinecolor 0.1 0.1 0.1 0.5
+ visible MENU_TRUE
+ decoration
+ }
+
+ itemDef
+ {
+ name "OKCancel"
+ text "OK"
+ type ITEM_TYPE_BUTTON
+ style WINDOW_STYLE_EMPTY
+ rect (W-((2*BORDER)+(2*BUTT_W))) (H-(BORDER+BUTT_H)) BUTT_W BUTT_H
+ textalign ALIGN_CENTER
+ textvalign VALIGN_CENTER
+ textscale .4
+ forecolor 1 1 1 1
+ backcolor 0 0 0 1
+ visible MENU_TRUE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ uiScript BuildAlienBuildable;
+ close tremulous_alienbuild
+ }
+ }
+
+ itemDef
+ {
+ name "OKCancel"
+ text "Cancel"
+ type ITEM_TYPE_BUTTON
+ style WINDOW_STYLE_EMPTY
+ rect (W-(BORDER+BUTT_W)) (H-(BORDER+BUTT_H)) BUTT_W BUTT_H
+ textalign ALIGN_CENTER
+ textvalign VALIGN_CENTER
+ textscale .4
+ forecolor 1 1 1 1
+ backcolor 0 0 0 1
+ visible MENU_TRUE
+ action
+ {
+ play "sound/misc/menu3.wav";
+ close tremulous_alienbuild
+ }
+ }
+ }
+}
diff --git a/assets/ui/tremulous_alienclass.menu b/assets/ui/tremulous_alienclass.menu
new file mode 100644
index 0000000..441e27f
--- /dev/null
+++ b/assets/ui/tremulous_alienclass.menu
@@ -0,0 +1,157 @@
+#include "ui/menudef.h"
+
+{
+
+#define W 450
+#define H 250
+#define BORDER 10
+
+#define LIST_W 140
+#define LIST_H (H-(2*BORDER))
+#define LIST_X BORDER
+#define LIST_Y BORDER
+
+#define BUTT_H 25
+#define BUTT_W 45
+
+#define INFO_W (W-((3*BORDER)+LIST_W))
+#define INFO_H (H-((3*BORDER)+BUTT_H))
+#define INFO_X ((2*BORDER)+LIST_W)
+#define INFO_Y BORDER
+#define INFO_TOFF 6
+
+ menuDef
+ {
+ name "tremulous_alienclass"
+ visible MENU_TRUE
+ fullscreen MENU_FALSE
+ outOfBoundsClick
+ rect (320-(W/2)) (240-(H/2)) W H
+ focusColor 1 .75 0 1
+ style WINDOW_STYLE_FILLED
+ popup
+ onOpen { uiScript LoadAlienClasses; setFocus list }
+
+ itemDef
+ {
+ name window
+ rect 0 0 W H
+ style WINDOW_STYLE_FILLED
+ backcolor 0 0 0 1
+ visible MENU_TRUE
+ decoration
+
+ border WINDOW_BORDER_FULL
+ borderSize 1.0
+ borderColor 0.5 0.5 0.5 1
+ }
+
+ itemDef
+ {
+ name "list"
+ rect LIST_X LIST_Y LIST_W LIST_H
+ type ITEM_TYPE_LISTBOX
+ style WINDOW_STYLE_EMPTY
+ elementwidth 120
+ elementheight 20
+ textscale .33
+ elementtype LISTBOX_TEXT
+ feeder FEEDER_TREMALIENCLASSES
+ border WINDOW_BORDER_FULL
+ bordercolor 0.5 0.5 0.5 0.5
+ forecolor 1 1 1 1
+ backcolor 0.2 0.2 0.2 1
+ outlinecolor 0.1 0.1 0.1 0.5
+ visible MENU_TRUE
+ doubleclick
+ {
+ play "sound/misc/menu1.wav";
+ uiScript SpawnAsAlienClass;
+ close tremulous_alienclass
+ }
+ }
+
+ itemDef
+ {
+ name infopane
+ ownerdraw UI_ACLASSINFOPANE
+ textstyle ITEM_TEXTSTYLE_NORMAL
+ style WINDOW_STYLE_EMPTY
+ rect INFO_X INFO_Y INFO_W INFO_H
+ textscale .33
+ textalign ALIGN_LEFT
+ textvalign VALIGN_TOP
+ textalignx INFO_TOFF
+ textaligny INFO_TOFF
+ border WINDOW_BORDER_FULL
+ bordercolor 0.5 0.5 0.5 0.5
+ forecolor 1 1 1 1
+ backcolor 0.2 0.2 0.2 1
+ outlinecolor 0.1 0.1 0.1 0.5
+ visible MENU_TRUE
+ decoration
+ }
+
+ itemDef
+ {
+ name "Back"
+ text "< Back"
+ type ITEM_TYPE_BUTTON
+ style WINDOW_STYLE_EMPTY
+ rect ((2*BORDER)+LIST_W) (H-(BORDER+BUTT_H)) BUTT_W BUTT_H
+ textalign ALIGN_CENTER
+ textvalign VALIGN_CENTER
+ textscale .4
+ forecolor 1 1 1 1
+ backcolor .5 0 0 .25
+ visible MENU_TRUE
+ action
+ {
+ play "sound/misc/menu4.wav";
+ close tremulous_alienclass;
+ open tremulous_teamselect
+ }
+ }
+
+ itemDef
+ {
+ name "OKCancel"
+ text "OK"
+ type ITEM_TYPE_BUTTON
+ style WINDOW_STYLE_EMPTY
+ rect (W-((2*BORDER)+(2*BUTT_W))) (H-(BORDER+BUTT_H)) BUTT_W BUTT_H
+ textalign ALIGN_CENTER
+ textvalign VALIGN_CENTER
+ textscale .4
+ forecolor 1 1 1 1
+ backcolor .5 0 0 .25
+ visible MENU_TRUE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ uiScript SpawnAsAlienClass;
+ close tremulous_alienclass
+ }
+ }
+
+ itemDef
+ {
+ name "OKCancel"
+ text "Cancel"
+ type ITEM_TYPE_BUTTON
+ style WINDOW_STYLE_EMPTY
+ rect (W-(BORDER+BUTT_W)) (H-(BORDER+BUTT_H)) BUTT_W BUTT_H
+ textalign ALIGN_CENTER
+ textvalign VALIGN_CENTER
+ textscale .4
+ forecolor 1 1 1 1
+ backcolor .5 0 0 .25
+ visible MENU_TRUE
+ action
+ {
+ play "sound/misc/menu3.wav";
+ close tremulous_alienclass
+ }
+ }
+ }
+}
diff --git a/assets/ui/tremulous_aliendialogs.menu b/assets/ui/tremulous_aliendialogs.menu
new file mode 100644
index 0000000..921d2c8
--- /dev/null
+++ b/assets/ui/tremulous_aliendialogs.menu
@@ -0,0 +1,97 @@
+#include "ui/menudef.h"
+
+{
+
+#define W 280
+#define H 190
+#define BORDER 10
+
+#define BUTT_H 25
+#define BUTT_W 45
+
+#define INFO_W (W-(2*BORDER))
+#define INFO_H (H-((4*BORDER)+(2*BUTT_H)))
+#define INFO_X BORDER
+#define INFO_Y ((2*BORDER)+BUTT_H)
+
+ menuDef
+ {
+ name "tremulous_alien_dialog"
+ visible MENU_FALSE
+ fullscreen MENU_FALSE
+ outOfBoundsClick
+ rect (320-(W/2)) (240-(H/2)) W H
+ focusColor 1 .75 0 1
+ style WINDOW_STYLE_EMPTY
+ popup
+
+ itemDef
+ {
+ name window
+ rect 0 0 W H
+ style WINDOW_STYLE_FILLED
+ backcolor 0 0 0 1
+ visible MENU_TRUE
+ decoration
+
+ border WINDOW_BORDER_FULL
+ borderSize 1.0
+ borderColor 0.5 0.5 0.5 1
+ }
+
+ itemDef
+ {
+ name alien_dialog
+ text "Error"
+ type ITEM_TYPE_TEXT
+ textstyle ITEM_TEXTSTYLE_NORMAL
+ style WINDOW_STYLE_EMPTY
+ rect BORDER BORDER INFO_W BUTT_H
+ textalign ALIGN_CENTER
+ textvalign VALIGN_CENTER
+ textscale .4
+ forecolor 1 1 1 1
+ backcolor .5 0 0 .25
+ visible MENU_TRUE
+ decoration
+ }
+
+ itemDef
+ {
+ name alien_dialog
+ type ITEM_TYPE_TEXT
+ textstyle ITEM_TEXTSTYLE_NORMAL
+ style WINDOW_STYLE_EMPTY
+ rect INFO_X INFO_Y INFO_W INFO_H
+ cvar "ui_dialog"
+ wrapped
+ textalign ALIGN_CENTER
+ textvalign VALIGN_CENTER
+ textscale .33
+ forecolor 1 1 1 1
+ backcolor .5 0 0 .25
+ visible MENU_TRUE
+ decoration
+ }
+
+ itemDef
+ {
+ name alien_dialog
+ text "OK"
+ type ITEM_TYPE_BUTTON
+ style WINDOW_STYLE_EMPTY
+ rect (W-(BORDER+BUTT_W)) (H-(BORDER+BUTT_H)) BUTT_W BUTT_H
+ textalign ALIGN_CENTER
+ textvalign VALIGN_CENTER
+ textscale .4
+ forecolor 1 1 1 1
+ backcolor .5 0 0 .25
+ visible MENU_TRUE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ close tremulous_alien_dialog
+ }
+ }
+ }
+}
diff --git a/assets/ui/tremulous_alienupgrade.menu b/assets/ui/tremulous_alienupgrade.menu
new file mode 100644
index 0000000..2ef7bcb
--- /dev/null
+++ b/assets/ui/tremulous_alienupgrade.menu
@@ -0,0 +1,136 @@
+#include "ui/menudef.h"
+
+{
+
+#define W 450
+#define H 250
+#define BORDER 10
+
+#define LIST_W 140
+#define LIST_H (H-(2*BORDER))
+#define LIST_X BORDER
+#define LIST_Y BORDER
+
+#define BUTT_H 25
+#define BUTT_W 45
+
+#define INFO_W (W-((3*BORDER)+LIST_W))
+#define INFO_H (H-((3*BORDER)+BUTT_H))
+#define INFO_X ((2*BORDER)+LIST_W)
+#define INFO_Y BORDER
+#define INFO_TOFF 6
+
+ menuDef
+ {
+ name "tremulous_alienupgrade"
+ visible MENU_TRUE
+ fullscreen MENU_FALSE
+ outOfBoundsClick
+ rect (320-(W/2)) (240-(H/2)) W H
+ focusColor 1 .75 0 1
+ style WINDOW_STYLE_FILLED
+ popup
+ onOpen { uiScript LoadAlienUpgrades; setFocus list }
+
+ itemDef
+ {
+ name window
+ rect 0 0 W H
+ style WINDOW_STYLE_FILLED
+ backcolor 0 0 0 1
+ visible MENU_TRUE
+ decoration
+
+ border WINDOW_BORDER_FULL
+ borderSize 1.0
+ borderColor 0.5 0.5 0.5 1
+ }
+
+ itemDef
+ {
+ name "list"
+ rect LIST_X LIST_Y LIST_W LIST_H
+ type ITEM_TYPE_LISTBOX
+ style WINDOW_STYLE_EMPTY
+ elementwidth 120
+ elementheight 20
+ textscale .33
+ elementtype LISTBOX_TEXT
+ feeder FEEDER_TREMALIENUPGRADE
+ border WINDOW_BORDER_FULL
+ bordercolor 0.5 0.5 0.5 0.5
+ forecolor 1 1 1 1
+ backcolor 0.2 0.2 0.2 1
+ outlinecolor 0.1 0.1 0.1 0.5
+ visible MENU_TRUE
+ doubleclick
+ {
+ play "sound/misc/menu1.wav";
+ uiScript UpgradeToNewClass;
+ close tremulous_alienupgrade
+ }
+ }
+
+ itemDef
+ {
+ name infopane
+ ownerdraw UI_AUPGRADEINFOPANE
+ textstyle ITEM_TEXTSTYLE_NORMAL
+ style WINDOW_STYLE_EMPTY
+ rect INFO_X INFO_Y INFO_W INFO_H
+ textscale .33
+ textalign ALIGN_LEFT
+ textvalign VALIGN_TOP
+ textalignx INFO_TOFF
+ textaligny INFO_TOFF
+ border WINDOW_BORDER_FULL
+ bordercolor 0.5 0.5 0.5 0.5
+ forecolor 1 1 1 1
+ backcolor 0.2 0.2 0.2 1
+ outlinecolor 0.1 0.1 0.1 0.5
+ visible MENU_TRUE
+ decoration
+ }
+
+ itemDef
+ {
+ name "OKCancel"
+ text "OK"
+ type ITEM_TYPE_BUTTON
+ style WINDOW_STYLE_EMPTY
+ rect (W-((2*BORDER)+(2*BUTT_W))) (H-(BORDER+BUTT_H)) BUTT_W BUTT_H
+ textalign ALIGN_CENTER
+ textvalign VALIGN_CENTER
+ textscale .4
+ forecolor 1 1 1 1
+ backcolor .5 0 0 .25
+ visible MENU_TRUE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ uiScript UpgradeToNewClass;
+ close tremulous_alienupgrade
+ }
+ }
+
+ itemDef
+ {
+ name "OKCancel"
+ text "Cancel"
+ type ITEM_TYPE_BUTTON
+ style WINDOW_STYLE_EMPTY
+ rect (W-(BORDER+BUTT_W)) (H-(BORDER+BUTT_H)) BUTT_W BUTT_H
+ textalign ALIGN_CENTER
+ textvalign VALIGN_CENTER
+ textscale .4
+ forecolor 1 1 1 1
+ backcolor .5 0 0 .25
+ visible MENU_TRUE
+ action
+ {
+ play "sound/misc/menu3.wav";
+ close tremulous_alienupgrade
+ }
+ }
+ }
+}
diff --git a/assets/ui/tremulous_common_hud.h b/assets/ui/tremulous_common_hud.h
new file mode 100644
index 0000000..4fb857b
--- /dev/null
+++ b/assets/ui/tremulous_common_hud.h
@@ -0,0 +1,247 @@
+#define BORDER 10
+
+#define STAT_W 45
+#define STAT_H 22
+#define STAT_X (W-(BORDER+STAT_W))
+
+#define CONSOLE_W (W-((3*BORDER)+STAT_W))
+#define CONSOLE_H 180
+#define MAIN_W (W-(2*BORDER))
+
+//#define TUTORIAL_X (W-(BORDER*MAIN_W))
+#define TUTORIAL_X 320
+
+#define KILLFEED_X (BORDER)
+#define KILLFEED_Y (410)
+
+//CONSOLE
+itemDef
+{
+ name "console"
+ rect BORDER BORDER CONSOLE_W CONSOLE_H
+ aspectBias ALIGN_LEFT
+ style WINDOW_STYLE_EMPTY
+ visible MENU_TRUE
+ decoration
+ forecolor 0.93 0.93 0.92 1
+ textalign ALIGN_LEFT
+ textvalign VALIGN_TOP
+ textscale 0.35
+ textstyle ITEM_TEXTSTYLE_SHADOWED
+ ownerdraw CG_CONSOLE
+}
+
+//TUTORIAL
+itemDef
+{
+ name "tutorial"
+ rect TUTORIAL_X 275 MAIN_W 130
+ aspectBias ALIGN_LEFT
+ style WINDOW_STYLE_EMPTY
+ visible MENU_TRUE
+ decoration
+ forecolor 1 1 1 0.35
+ textalign ALIGN_LEFT
+ textvalign VALIGN_CENTER
+ textscale 0.3
+ textstyle ITEM_TEXTSTYLE_NORMAL
+ ownerdraw CG_TUTORIAL
+}
+
+//FPS
+itemDef
+{
+ name "fps"
+ rect STAT_X BORDER STAT_W STAT_H
+ aspectBias ALIGN_RIGHT
+ style WINDOW_STYLE_EMPTY
+ visible MENU_TRUE
+ decoration
+ forecolor COMMON_HUD_R COMMON_HUD_G COMMON_HUD_B 1
+ textalign ALIGN_RIGHT
+ textvalign VALIGN_CENTER
+ textscale 0.3
+ textstyle ITEM_TEXTSTYLE_NORMAL
+ ownerdraw CG_FPS
+}
+
+//TIMER
+itemDef
+{
+ name "timer"
+ rect STAT_X ((2*BORDER)+STAT_H) STAT_W STAT_H
+ aspectBias ALIGN_RIGHT
+ style WINDOW_STYLE_EMPTY
+ visible MENU_TRUE
+ decoration
+ forecolor COMMON_HUD_R COMMON_HUD_G COMMON_HUD_B 1
+ textalign ALIGN_RIGHT
+ textvalign VALIGN_CENTER
+ textscale 0.3
+ textstyle ITEM_TEXTSTYLE_NORMAL
+ ownerdraw CG_TIMER
+}
+
+//LAGOMETER
+itemDef
+{
+ name "lagometer"
+ rect STAT_X ((3*BORDER)+(2*STAT_H)) STAT_W STAT_H
+ aspectBias ALIGN_RIGHT
+ style WINDOW_STYLE_EMPTY
+ visible MENU_TRUE
+ decoration
+ forecolor COMMON_HUD_R COMMON_HUD_G COMMON_HUD_B 1
+ textscale 0.3
+ ownerdraw CG_LAGOMETER
+}
+
+//SPEEDOMETER
+itemDef
+{
+ name "speedometer"
+ rect (320-(STAT_W/2)) 350 STAT_W STAT_H
+ aspectBias ALIGN_CENTER
+ type ITEM_TYPE_OWNERDRAW
+ ownerdraw CG_SPEEDOMETER
+ style WINDOW_STYLE_EMPTY
+ visible MENU_TRUE
+ decoration
+ backColor COMMON_HUD_R COMMON_HUD_G COMMON_HUD_B 0.2
+ foreColor COMMON_HUD_R COMMON_HUD_G COMMON_HUD_B 0.8
+ textscale 0.3
+}
+
+//CLOCK
+itemDef
+{
+ name "clock"
+ rect STAT_X ((4*BORDER)+(3*STAT_H)) STAT_W STAT_H
+ aspectBias ALIGN_RIGHT
+ style WINDOW_STYLE_EMPTY
+ visible MENU_TRUE
+ decoration
+ forecolor COMMON_HUD_R COMMON_HUD_G COMMON_HUD_B 1
+ textalign ALIGN_RIGHT
+ textvalign VALIGN_CENTER
+ textscale 0.3
+ textstyle ITEM_TEXTSTYLE_NORMAL
+ ownerdraw CG_CLOCK
+}
+
+//LOCATION
+itemDef
+{
+ name "location"
+ rect (STAT_X-75) ((5*BORDER)+(4*STAT_H)) (STAT_W+75) STAT_H
+ aspectBias ALIGN_RIGHT
+ visible MENU_TRUE
+ decoration
+ forecolor 1 1 1 1
+ textalign ALIGN_RIGHT
+ textscale 0.3
+ ownerdraw CG_PLAYER_LOCATION
+}
+
+//DEMO STATE
+itemDef
+{
+ name "demoRecording"
+ rect (STAT_X+(STAT_W-32)) ((8*BORDER)+(4*STAT_H)) 32 32
+ aspectBias ALIGN_RIGHT
+ style WINDOW_STYLE_EMPTY
+ visible MENU_TRUE
+ decoration
+ forecolor 1 0 0 1
+ textscale 0.3
+ ownerdraw CG_DEMO_RECORDING
+ background "ui/assets/neutral/circle.tga"
+}
+itemDef
+{
+ name "demoPlayback"
+ rect (STAT_X+(STAT_W-32)) ((8*BORDER)+(4*STAT_H)) 32 32
+ aspectBias ALIGN_RIGHT
+ style WINDOW_STYLE_EMPTY
+ visible MENU_TRUE
+ decoration
+ forecolor 1 1 1 1
+ textscale 0.3
+ ownerdraw CG_DEMO_PLAYBACK
+ background "ui/assets/forwardarrow.tga"
+}
+
+//SNAPSHOT
+itemDef
+{
+ name "snapshot"
+ rect BORDER (H-(BORDER+STAT_H)) MAIN_W STAT_H
+ aspectBias ALIGN_LEFT
+ style WINDOW_STYLE_EMPTY
+ visible MENU_TRUE
+ decoration
+ forecolor COMMON_HUD_R COMMON_HUD_G COMMON_HUD_B 1
+ textalign ALIGN_LEFT
+ textvalign VALIGN_CENTER
+ textscale 0.4
+ textstyle ITEM_TEXTSTYLE_NORMAL
+ ownerdraw CG_SNAPSHOT
+}
+
+//PLAYER NAME
+itemDef
+{
+ name "playername"
+ rect 200 275 240 25
+ aspectBias ALIGN_CENTER
+ visible MENU_TRUE
+ decoration
+ textScale .5
+ ownerdraw CG_PLAYER_CROSSHAIRNAMES
+ textstyle ITEM_TEXTSTYLE_SHADOWED
+}
+
+//CROSSHAIR
+itemDef
+{
+ name "crosshair"
+ visible MENU_TRUE
+ decoration
+ rect 320 240 0 0
+ forecolor COMMON_HUD_R COMMON_HUD_G COMMON_HUD_B .35
+ ownerdraw CG_PLAYER_CROSSHAIR
+}
+
+//SPECTATOR TEXT
+itemDef
+{
+ name "followtext"
+ rect 200 375 240 25
+ foreColor 1 1 1 1
+ aspectBias ALIGN_CENTER
+ textalign ALIGN_CENTER
+ textvalign VALIGN_TOP
+ visible MENU_TRUE
+ decoration
+ textScale .7
+ textStyle ITEM_TEXTSTYLE_SHADOWED
+ ownerdraw CG_FOLLOW
+}
+
+//KILLFEED
+itemDef
+{
+ name "killfeed"
+ rect KILLFEED_X KILLFEED_Y 0 0
+ aspectBias ALIGN_LEFT
+ style WINDOW_STYLE_EMPTY
+ visible MENU_TRUE
+ decoration
+ forecolor COMMON_HUD_R COMMON_HUD_G COMMON_HUD_B 1
+ textalign ALIGN_LEFT
+ textvalign VALIGN_CENTER
+ textscale 0.3
+ textstyle ITEM_TEXTSTYLE_SHADOWED
+ ownerdraw CG_KILLFEED
+}
+
diff --git a/assets/ui/tremulous_default_hud.menu b/assets/ui/tremulous_default_hud.menu
new file mode 100644
index 0000000..8d1034b
--- /dev/null
+++ b/assets/ui/tremulous_default_hud.menu
@@ -0,0 +1,37 @@
+#include "ui/menudef.h"
+
+{
+
+#define W 640
+#define H 480
+
+ menuDef
+ {
+ name "default_hud"
+ fullScreen MENU_FALSE
+ visible MENU_TRUE
+ rect 0 0 W H
+ aspectBias ASPECT_NONE
+
+#define COMMON_HUD_R 1.0
+#define COMMON_HUD_G 1.0
+#define COMMON_HUD_B 1.0
+#include "ui/tremulous_common_hud.h"
+
+ //SPECTATOR TEXT
+ itemDef
+ {
+ name "spectatortext"
+ text "SPECTATOR"
+ rect 200 415 240 25
+ foreColor 1 1 1 1
+ aspectBias ALIGN_CENTER
+ textalign ALIGN_CENTER
+ textvalign VALIGN_TOP
+ visible MENU_TRUE
+ decoration
+ textScale .7
+ textStyle ITEM_TEXTSTYLE_SHADOWED
+ }
+ }
+}
diff --git a/assets/ui/tremulous_dialogs.menu b/assets/ui/tremulous_dialogs.menu
new file mode 100644
index 0000000..63109dc
--- /dev/null
+++ b/assets/ui/tremulous_dialogs.menu
@@ -0,0 +1,98 @@
+#include "ui/menudef.h"
+
+{
+
+#define W 280
+#define H 190
+#define BORDER 10
+
+#define BUTT_H 25
+#define BUTT_W 45
+
+#define INFO_W (W-(2*BORDER))
+#define INFO_H (H-((4*BORDER)+(2*BUTT_H)))
+#define INFO_X BORDER
+#define INFO_Y ((2*BORDER)+BUTT_H)
+#define INFO_TOFF 6
+
+ menuDef
+ {
+ name "tremulous_default_dialog"
+ visible MENU_FALSE
+ fullscreen MENU_FALSE
+ outOfBoundsClick
+ rect (320-(W/2)) (240-(H/2)) W H
+ focusColor 1 .75 0 1
+ style WINDOW_STYLE_EMPTY
+ popup
+
+ itemDef
+ {
+ name window
+ rect 0 0 W H
+ style WINDOW_STYLE_FILLED
+ backcolor 0 0 0 1
+ visible MENU_TRUE
+ decoration
+
+ border WINDOW_BORDER_FULL
+ borderSize 1.0
+ borderColor 0.5 0.5 0.5 1
+ }
+
+ itemDef
+ {
+ name default_dialog
+ text "Error"
+ type ITEM_TYPE_TEXT
+ textstyle ITEM_TEXTSTYLE_NORMAL
+ style WINDOW_STYLE_EMPTY
+ rect BORDER BORDER INFO_W BUTT_H
+ textalign ALIGN_CENTER
+ textvalign VALIGN_CENTER
+ textscale .4
+ forecolor 1 1 1 1
+ backcolor .5 0 0 .25
+ visible MENU_TRUE
+ decoration
+ }
+
+ itemDef
+ {
+ name default_dialog
+ textstyle ITEM_TEXTSTYLE_NORMAL
+ type ITEM_TYPE_TEXT
+ style WINDOW_STYLE_EMPTY
+ rect INFO_X INFO_Y INFO_W INFO_H
+ cvar "ui_dialog"
+ wrapped
+ textalign ALIGN_CENTER
+ textvalign VALIGN_CENTER
+ textscale .33
+ forecolor 1 1 1 1
+ backcolor .5 0 0 .25
+ visible MENU_TRUE
+ decoration
+ }
+
+ itemDef
+ {
+ name default_dialog
+ text "OK"
+ type ITEM_TYPE_BUTTON
+ style WINDOW_STYLE_EMPTY
+ rect (W-(BORDER+BUTT_W)) (H-(BORDER+BUTT_H)) BUTT_W BUTT_H
+ textalign ALIGN_CENTER
+ textvalign VALIGN_CENTER
+ textscale .4
+ forecolor 1 1 1 1
+ backcolor .5 0 0 .25
+ visible MENU_TRUE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ close tremulous_default_dialog
+ }
+ }
+ }
+}
diff --git a/assets/ui/tremulous_human_hud.menu b/assets/ui/tremulous_human_hud.menu
new file mode 100644
index 0000000..f2b4ca9
--- /dev/null
+++ b/assets/ui/tremulous_human_hud.menu
@@ -0,0 +1,379 @@
+#include "ui/menudef.h"
+
+{
+
+#define W 640
+#define H 480
+
+ menuDef
+ {
+ name "human_hud"
+ fullScreen MENU_FALSE
+ visible MENU_TRUE
+ rect 0 0 W H
+ aspectBias ASPECT_NONE
+
+#define COMMON_HUD_R 0.0
+#define COMMON_HUD_G 0.8
+#define COMMON_HUD_B 1.0
+#include "ui/tremulous_common_hud.h"
+
+ //////////////////
+ //STATIC OBJECTS//
+ //////////////////
+
+ //LEFT CIRCLE
+ itemDef
+ {
+ name "left-circle"
+ rect 35 417.5 25 25
+ aspectBias ALIGN_LEFT
+ visible MENU_TRUE
+ decoration
+ forecolor COMMON_HUD_R COMMON_HUD_G COMMON_HUD_B 0.25
+ style WINDOW_STYLE_SHADER
+ background "ui/assets/neutral/circle.tga"
+ }
+
+ //LEFT ARM
+ itemDef
+ {
+ name "left-arm"
+ rect 68.25 420 94.5 35
+ aspectBias ALIGN_LEFT
+ visible MENU_TRUE
+ decoration
+ forecolor COMMON_HUD_R COMMON_HUD_G COMMON_HUD_B 0.25
+ style WINDOW_STYLE_SHADER
+ background "ui/assets/human/left-arm.tga"
+ }
+
+ //CREDITS LABEL
+ itemDef
+ {
+ name "credits-label"
+ rect 508 403 7 7.5
+ aspectBias ALIGN_RIGHT
+ visible MENU_TRUE
+ decoration
+ forecolor COMMON_HUD_R COMMON_HUD_G COMMON_HUD_B 0.5
+ style WINDOW_STYLE_SHADER
+ background "ui/assets/human/credits.tga"
+ }
+
+ //RIGHT CIRCLE
+ itemDef
+ {
+ name "right-circle"
+ rect 580 417.5 25 25
+ aspectBias ALIGN_RIGHT
+ visible MENU_TRUE
+ decoration
+ forecolor COMMON_HUD_R COMMON_HUD_G COMMON_HUD_B 0.25
+ style WINDOW_STYLE_SHADER
+ background "ui/assets/neutral/circle.tga"
+ }
+
+ //RIGHT ARM
+ itemDef
+ {
+ name "right-arm"
+ rect 477.25 420 94.5 35
+ aspectBias ALIGN_RIGHT
+ visible MENU_TRUE
+ decoration
+ forecolor COMMON_HUD_R COMMON_HUD_G COMMON_HUD_B 0.25
+ style WINDOW_STYLE_SHADER
+ background "ui/assets/human/right-arm.tga"
+ }
+
+ //RIGHT CAP
+ itemDef
+ {
+ name "right-cap"
+ rect 500 400 80 15
+ aspectBias ALIGN_RIGHT
+ visible MENU_TRUE
+ decoration
+ forecolor COMMON_HUD_R COMMON_HUD_G COMMON_HUD_B 0.25
+ style WINDOW_STYLE_SHADER
+ background "ui/assets/human/right-cap.tga"
+ }
+
+ ///////////////////
+ //DYNAMIC OBJECTS//
+ ///////////////////
+
+ //BOLT
+ itemDef
+ {
+ name "bolt"
+ rect 40 420 15 20
+ aspectBias ALIGN_LEFT
+ visible MENU_TRUE
+ decoration
+ forecolor COMMON_HUD_R COMMON_HUD_G COMMON_HUD_B 0.8
+ backColor COMMON_HUD_R COMMON_HUD_G COMMON_HUD_B 0.2
+ background "ui/assets/human/bolt.tga"
+ ownerdraw CG_PLAYER_STAMINA_BOLT
+ }
+
+ //CROSS
+ itemDef
+ {
+ name "cross"
+ rect 132.5 425 25 25
+ aspectBias ALIGN_LEFT
+ visible MENU_TRUE
+ decoration
+ forecolor COMMON_HUD_R COMMON_HUD_G COMMON_HUD_B 0.5
+ ownerdraw CG_PLAYER_HEALTH_CROSS
+ }
+
+ //STAMINA 1
+ itemDef
+ {
+ name "stamina1"
+ rect 34.5 403.5 9 11.5
+ aspectBias ALIGN_LEFT
+ visible MENU_TRUE
+ decoration
+ forecolor COMMON_HUD_R COMMON_HUD_G COMMON_HUD_B 0.8
+ backColor COMMON_HUD_R COMMON_HUD_G COMMON_HUD_B 0.2
+ background "ui/assets/human/stamina1.tga"
+ ownerdraw CG_PLAYER_STAMINA_1
+ }
+
+ //STAMINA 2
+ itemDef
+ {
+ name "stamina2"
+ rect 24 410.75 11.5 10.5
+ aspectBias ALIGN_LEFT
+ visible MENU_TRUE
+ decoration
+ forecolor COMMON_HUD_R COMMON_HUD_G COMMON_HUD_B 0.8
+ backColor COMMON_HUD_R COMMON_HUD_G COMMON_HUD_B 0.2
+ background "ui/assets/human/stamina2.tga"
+ ownerdraw CG_PLAYER_STAMINA_2
+ }
+
+ //STAMINA 3
+ itemDef
+ {
+ name "stamina3"
+ rect 20.75 423.5 10.5 7
+ aspectBias ALIGN_LEFT
+ visible MENU_TRUE
+ decoration
+ forecolor COMMON_HUD_R COMMON_HUD_G COMMON_HUD_B 0.8
+ backColor COMMON_HUD_R COMMON_HUD_G COMMON_HUD_B 0.2
+ background "ui/assets/human/stamina3.tga"
+ ownerdraw CG_PLAYER_STAMINA_3
+ }
+
+ //STAMINA 4
+ itemDef
+ {
+ name "stamina4"
+ rect 21 402.5 54 55
+ aspectBias ALIGN_LEFT
+ visible MENU_TRUE
+ decoration
+ forecolor COMMON_HUD_R COMMON_HUD_G COMMON_HUD_B 0.8
+ backColor COMMON_HUD_R COMMON_HUD_G COMMON_HUD_B 0.2
+ background "ui/assets/human/stamina4.tga"
+ ownerdraw CG_PLAYER_STAMINA_4
+ }
+
+ //RING
+ itemDef
+ {
+ name "ring"
+ //rect 20 402.5 55 55 // Guide for Stamina alignment
+ rect 565 402.5 55 55
+ aspectBias ALIGN_RIGHT
+ visible MENU_TRUE
+ decoration
+ forecolor COMMON_HUD_R COMMON_HUD_G COMMON_HUD_B 0.5
+ backColor COMMON_HUD_R COMMON_HUD_G COMMON_HUD_B 0.2
+ background "ui/assets/human/ring.tga"
+ ownerdraw CG_PLAYER_CLIPS_RING
+ }
+
+ //CREDITS
+ itemDef
+ {
+ name "credits"
+ rect 515 402 45 11.25
+ aspectBias ALIGN_RIGHT
+ visible MENU_TRUE
+ decoration
+ forecolor COMMON_HUD_R COMMON_HUD_G COMMON_HUD_B 0.5
+ ownerdraw CG_PLAYER_CREDITS_VALUE
+ }
+
+ //HEALTH
+ itemDef
+ {
+ name "health"
+ rect 67 430 60 15
+ aspectBias ALIGN_LEFT
+ visible MENU_TRUE
+ decoration
+ forecolor COMMON_HUD_R COMMON_HUD_G COMMON_HUD_B .5
+ ownerdraw CG_PLAYER_HEALTH
+ }
+
+ //WEAPON ICON
+ itemDef
+ {
+ name "weapon"
+ rect 482.5 425 25 25
+ aspectBias ALIGN_RIGHT
+ visible MENU_TRUE
+ decoration
+ forecolor COMMON_HUD_R COMMON_HUD_G COMMON_HUD_B 0.5
+ ownerdraw CG_PLAYER_WEAPONICON
+ }
+
+ //WEAPON SELECT TEXT
+ itemDef
+ {
+ name "selecttext"
+ rect 200 300 240 25
+ aspectBias ALIGN_CENTER
+ visible MENU_TRUE
+ decoration
+ textScale .5
+ ownerdraw CG_PLAYER_SELECTTEXT
+ textstyle ITEM_TEXTSTYLE_SHADOWED
+ }
+
+ //AMMO
+ itemDef
+ {
+ name "ammo"
+ rect 507 430 53 15
+ aspectBias ALIGN_RIGHT
+ visible MENU_TRUE
+ decoration
+ forecolor COMMON_HUD_R COMMON_HUD_G COMMON_HUD_B .5
+ ownerdraw CG_PLAYER_AMMO_VALUE
+ }
+
+ //CLIPS
+ itemDef
+ {
+ name "clips"
+ rect 538 423 60 15
+ aspectBias ALIGN_RIGHT
+ visible MENU_TRUE
+ decoration
+ forecolor COMMON_HUD_R COMMON_HUD_G COMMON_HUD_B .5
+ ownerdraw CG_PLAYER_CLIPS_VALUE
+ }
+
+ //BUILD TIMER
+ itemDef
+ {
+ name "buildtimer"
+ rect 580 417.5 25 25
+ aspectBias ALIGN_RIGHT
+ visible MENU_TRUE
+ decoration
+ forecolor COMMON_HUD_R COMMON_HUD_G COMMON_HUD_B .5
+ ownerdraw CG_PLAYER_BUILD_TIMER
+ }
+
+ //USABLE
+ itemDef
+ {
+ name "usable"
+ rect 307.5 380 25 25
+ aspectBias ALIGN_CENTER
+ visible MENU_TRUE
+ decoration
+ forecolor COMMON_HUD_R COMMON_HUD_G COMMON_HUD_B .5
+ background "ui/assets/neutral/use.tga"
+ ownerdraw CG_PLAYER_USABLE_BUILDABLE
+ }
+
+ //SCANNER
+ itemDef
+ {
+ name "scanner"
+ rect 164 340 312 72
+ aspectBias ALIGN_CENTER
+ visible MENU_TRUE
+ decoration
+ forecolor COMMON_HUD_R COMMON_HUD_G COMMON_HUD_B .5
+ background "ui/assets/human/scanner.tga"
+ ownerdraw CG_PLAYER_HUMAN_SCANNER
+ }
+
+ //INVENTORY
+ itemDef
+ {
+ name "inventory"
+ rect 182.5 425 275 25
+ aspectBias ALIGN_CENTER
+ visible MENU_TRUE
+ decoration
+ forecolor COMMON_HUD_R COMMON_HUD_G COMMON_HUD_B 0.5
+ ownerdraw CG_PLAYER_SELECT
+ }
+
+ //CHARGE BAR
+ itemDef
+ {
+ name "charge"
+ rect 510 384 56 8
+ aspectBias ALIGN_RIGHT
+ visible MENU_TRUE
+ decoration
+ forecolor COMMON_HUD_R COMMON_HUD_G COMMON_HUD_B 0.5
+ ownerdraw CG_PLAYER_CHARGE_BAR
+ background "ui/assets/neutral/charge_cap_h.tga"
+ }
+
+ //CHARGE BAR BG
+ itemDef
+ {
+ name "chargebg"
+ rect 506 380 64 16
+ aspectBias ALIGN_RIGHT
+ visible MENU_TRUE
+ decoration
+ forecolor COMMON_HUD_R COMMON_HUD_G COMMON_HUD_B 0.25
+ ownerdraw CG_PLAYER_CHARGE_BAR_BG
+ background "ui/assets/neutral/charge_bg_h.tga"
+ }
+
+ //SELECTED
+ itemDef
+ {
+ name "selected"
+ rect 306 424 27 27
+ aspectBias ALIGN_CENTER
+ visible MENU_TRUE
+ decoration
+ forecolor COMMON_HUD_R COMMON_HUD_G COMMON_HUD_B 0.25
+ style WINDOW_STYLE_SHADER
+ background "ui/assets/neutral/selected.tga"
+ }
+
+ //TEAM OVERLAY
+ itemDef
+ {
+ name "teamoverlay"
+ rect BORDER 175 200 128
+ style WINDOW_STYLE_EMPTY
+ visible MENU_TRUE
+ decoration
+ forecolor COMMON_HUD_R COMMON_HUD_G COMMON_HUD_B 0.75
+ textscale 0.85
+ ownerdraw CG_TEAMOVERLAY
+ }
+ }
+}
diff --git a/assets/ui/tremulous_humanarmoury.menu b/assets/ui/tremulous_humanarmoury.menu
new file mode 100644
index 0000000..2df829f
--- /dev/null
+++ b/assets/ui/tremulous_humanarmoury.menu
@@ -0,0 +1,189 @@
+#include "ui/menudef.h"
+
+{
+
+#define W 550
+#define H 250
+#define BORDER 10
+#define LIST_W 140
+#define LIST_H (H-(2*BORDER))
+#define LIST_LX BORDER
+#define LIST_LY BORDER
+#define LIST_RX (W-(BORDER+LIST_W))
+#define LIST_RY BORDER
+
+#define BUTT_H 25
+#define BUTT_Y (H-(BORDER+BUTT_H))
+
+#define INFO_W (W-((4*BORDER)+(2*LIST_W)))
+#define INFO_H (H-((3*BORDER)+BUTT_H))
+#define INFO_X ((2*BORDER)+LIST_W)
+#define INFO_Y BORDER
+#define INFO_TOFF 6
+
+#define BUTT_X INFO_X
+#define BUTT_W (INFO_W/3)
+
+ menuDef
+ {
+ name "tremulous_humanarmoury"
+ visible MENU_FALSE
+ fullscreen MENU_FALSE
+ outOfBoundsClick
+ rect (320-(W/2)) (240-(H/2)) W H
+ focusColor 1 .75 0 1
+ style WINDOW_STYLE_FILLED
+ popup
+ onOpen
+ {
+ uiScript LoadHumanArmouryBuys;
+ uiScript LoadHumanArmourySells;
+ setFocus list
+ }
+
+ itemDef
+ {
+ name window
+ rect 0 0 W H
+ style WINDOW_STYLE_FILLED
+ backcolor 0 0 0 1
+ visible MENU_TRUE
+ decoration
+
+ border WINDOW_BORDER_FULL
+ borderSize 1.0
+ borderColor 0.5 0.5 0.5 1
+ }
+
+ itemDef
+ {
+ name "buylist"
+ rect LIST_LX LIST_LY LIST_W LIST_H
+ type ITEM_TYPE_LISTBOX
+ style WINDOW_STYLE_EMPTY
+ elementwidth 120
+ elementheight 20
+ textscale .33
+ elementtype LISTBOX_TEXT
+ feeder FEEDER_TREMHUMANARMOURYBUY
+ border WINDOW_BORDER_FULL
+ bordercolor 0.5 0.5 0.5 0.5
+ forecolor 1 1 1 1
+ backcolor 0.2 0.2 0.2 1
+ outlinecolor 0.1 0.1 0.1 0.5
+ visible MENU_TRUE
+ resetonfeederchange
+ doubleclick
+ {
+ play "sound/misc/menu1.wav";
+ uiScript BuyFromArmoury;
+ }
+ }
+
+ itemDef
+ {
+ name "selllist"
+ rect LIST_RX LIST_RY LIST_W LIST_H
+ type ITEM_TYPE_LISTBOX
+ style WINDOW_STYLE_EMPTY
+ elementwidth 120
+ elementheight 20
+ textscale .33
+ elementtype LISTBOX_TEXT
+ feeder FEEDER_TREMHUMANARMOURYSELL
+ border WINDOW_BORDER_FULL
+ bordercolor 0.5 0.5 0.5 0.5
+ forecolor 1 1 1 1
+ backcolor 0.2 0.2 0.2 1
+ outlinecolor 0.1 0.1 0.1 0.5
+ visible MENU_TRUE
+ resetonfeederchange
+ doubleclick
+ {
+ play "sound/misc/menu1.wav";
+ uiScript SellToArmoury;
+ }
+ }
+
+ itemDef
+ {
+ name infopane
+ ownerdraw UI_HBUYINFOPANE
+ textstyle ITEM_TEXTSTYLE_NORMAL
+ style WINDOW_STYLE_EMPTY
+ rect INFO_X INFO_Y INFO_W INFO_H
+ textscale .33
+ textalign ALIGN_LEFT
+ textvalign VALIGN_TOP
+ textalignx INFO_TOFF
+ textaligny INFO_TOFF
+ border WINDOW_BORDER_FULL
+ bordercolor 0.5 0.5 0.5 0.5
+ forecolor 1 1 1 1
+ backcolor 0.2 0.2 0.2 1
+ outlinecolor 0.1 0.1 0.1 0.5
+ visible MENU_TRUE
+ decoration
+ }
+
+ itemDef
+ {
+ name "Buy"
+ text "Buy >"
+ type ITEM_TYPE_BUTTON
+ style WINDOW_STYLE_EMPTY
+ rect BUTT_X BUTT_Y BUTT_W BUTT_H
+ textalign ALIGN_LEFT
+ textvalign VALIGN_CENTER
+ textscale .4
+ forecolor 1 1 1 1
+ backcolor .5 0 0 .25
+ visible MENU_TRUE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ uiScript BuyFromArmoury;
+ }
+ }
+
+ itemDef
+ {
+ name "Close"
+ text "Close"
+ type ITEM_TYPE_BUTTON
+ style WINDOW_STYLE_EMPTY
+ rect (BUTT_X+BUTT_W) BUTT_Y BUTT_W BUTT_H
+ textalign ALIGN_CENTER
+ textvalign VALIGN_CENTER
+ textscale .4
+ forecolor 1 1 1 1
+ backcolor .5 0 0 .25
+ visible MENU_TRUE
+ action
+ {
+ play "sound/misc/menu4.wav";
+ close tremulous_humanarmoury
+ }
+ }
+
+ itemDef
+ {
+ name "Sell"
+ text "< Sell"
+ type ITEM_TYPE_BUTTON
+ style WINDOW_STYLE_EMPTY
+ rect (BUTT_X+(2*BUTT_W)) BUTT_Y BUTT_W BUTT_H
+ textalign ALIGN_RIGHT
+ textvalign VALIGN_CENTER
+ textscale .4
+ forecolor 1 1 1 1
+ backcolor .5 0 0 .25
+ visible MENU_TRUE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ uiScript SellToArmoury;
+ }
+ }
+ }
+}
diff --git a/assets/ui/tremulous_humanbuild.menu b/assets/ui/tremulous_humanbuild.menu
new file mode 100644
index 0000000..572957b
--- /dev/null
+++ b/assets/ui/tremulous_humanbuild.menu
@@ -0,0 +1,135 @@
+#include "ui/menudef.h"
+
+{
+
+#define W 450
+#define H 250
+#define BORDER 10
+
+#define LIST_W 140
+#define LIST_H (H-(2*BORDER))
+#define LIST_X BORDER
+#define LIST_Y BORDER
+
+#define BUTT_H 25
+#define BUTT_W 45
+
+#define INFO_W (W-((3*BORDER)+LIST_W))
+#define INFO_H (H-((3*BORDER)+BUTT_H))
+#define INFO_X ((2*BORDER)+LIST_W)
+#define INFO_Y BORDER
+#define INFO_TOFF 6
+
+ menuDef
+ {
+ name "tremulous_humanbuild"
+ visible MENU_FALSE
+ fullscreen MENU_FALSE
+ outOfBoundsClick
+ rect (320-(W/2)) (240-(H/2)) W H
+ focusColor 1 .75 0 1
+ style WINDOW_STYLE_FILLED
+ popup
+ onOpen { uiScript LoadHumanBuilds; setFocus list }
+
+ itemDef
+ {
+ name window
+ rect 0 0 W H
+ style WINDOW_STYLE_FILLED
+ backcolor 0 0 0 1
+ visible MENU_TRUE
+ decoration
+
+ border WINDOW_BORDER_FULL
+ borderSize 1.0
+ borderColor 0.5 0.5 0.5 1
+ }
+
+ itemDef
+ {
+ name "list"
+ rect LIST_X LIST_Y LIST_W LIST_H
+ type ITEM_TYPE_LISTBOX
+ style WINDOW_STYLE_EMPTY
+ elementwidth 120
+ elementheight 20
+ textscale .33
+ elementtype LISTBOX_TEXT
+ feeder FEEDER_TREMHUMANBUILD
+ border WINDOW_BORDER_FULL
+ bordercolor 0.5 0.5 0.5 0.5
+ forecolor 1 1 1 1
+ backcolor 0.2 0.2 0.2 1
+ outlinecolor 0.1 0.1 0.1 0.5
+ visible MENU_TRUE
+ doubleclick
+ {
+ play "sound/misc/menu1.wav";
+ uiScript BuildHumanBuildable;
+ close tremulous_humanbuild
+ }
+ }
+
+ itemDef
+ {
+ name infopane
+ ownerdraw UI_HBUILDINFOPANE
+ textstyle ITEM_TEXTSTYLE_NORMAL
+ style WINDOW_STYLE_EMPTY
+ rect INFO_X INFO_Y INFO_W INFO_H
+ textscale .33
+ textalign ALIGN_LEFT
+ textvalign VALIGN_TOP
+ textalignx INFO_TOFF
+ textaligny INFO_TOFF
+ border WINDOW_BORDER_FULL
+ bordercolor 0.5 0.5 0.5 0.5
+ forecolor 1 1 1 1
+ backcolor 0.2 0.2 0.2 1
+ visible MENU_TRUE
+ decoration
+ }
+
+ itemDef
+ {
+ name "OKCancel"
+ text "OK"
+ type ITEM_TYPE_BUTTON
+ style WINDOW_STYLE_EMPTY
+ rect (W-((2*BORDER)+(2*BUTT_W))) (H-(BORDER+BUTT_H)) BUTT_W BUTT_H
+ textalign ALIGN_CENTER
+ textvalign VALIGN_CENTER
+ textscale .4
+ forecolor 1 1 1 1
+ backcolor .5 0 0 .25
+ visible MENU_TRUE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ uiScript BuildHumanBuildable;
+ close tremulous_humanbuild
+ }
+ }
+
+ itemDef
+ {
+ name "OKCancel"
+ text "Cancel"
+ type ITEM_TYPE_BUTTON
+ style WINDOW_STYLE_EMPTY
+ rect (W-(BORDER+BUTT_W)) (H-(BORDER+BUTT_H)) BUTT_W BUTT_H
+ textalign ALIGN_CENTER
+ textvalign VALIGN_CENTER
+ textscale .4
+ forecolor 1 1 1 1
+ backcolor .5 0 0 .25
+ visible MENU_TRUE
+ action
+ {
+ play "sound/misc/menu3.wav";
+ close tremulous_humanbuild
+ }
+ }
+ }
+}
diff --git a/assets/ui/tremulous_humandialogs.menu b/assets/ui/tremulous_humandialogs.menu
new file mode 100644
index 0000000..96ba08a
--- /dev/null
+++ b/assets/ui/tremulous_humandialogs.menu
@@ -0,0 +1,98 @@
+#include "ui/menudef.h"
+
+{
+
+#define W 280
+#define H 190
+#define BORDER 10
+
+#define BUTT_H 25
+#define BUTT_W 45
+
+#define INFO_W (W-(2*BORDER))
+#define INFO_H (H-((4*BORDER)+(2*BUTT_H)))
+#define INFO_X BORDER
+#define INFO_Y ((2*BORDER)+BUTT_H)
+#define INFO_TOFF 6
+
+ menuDef
+ {
+ name "tremulous_human_dialog"
+ visible MENU_FALSE
+ fullscreen MENU_FALSE
+ outOfBoundsClick
+ rect (320-(W/2)) (240-(H/2)) W H
+ focusColor 1 .75 0 1
+ style WINDOW_STYLE_EMPTY
+ popup
+
+ itemDef
+ {
+ name window
+ rect 0 0 W H
+ style WINDOW_STYLE_FILLED
+ backcolor 0 0 0 1
+ visible MENU_TRUE
+ decoration
+
+ border WINDOW_BORDER_FULL
+ borderSize 1.0
+ borderColor 0.5 0.5 0.5 1
+ }
+
+ itemDef
+ {
+ name human_dialog
+ text "Error"
+ type ITEM_TYPE_TEXT
+ textstyle ITEM_TEXTSTYLE_NORMAL
+ style WINDOW_STYLE_EMPTY
+ rect BORDER BORDER INFO_W BUTT_H
+ textalign ALIGN_CENTER
+ textvalign VALIGN_CENTER
+ textscale .4
+ forecolor 1 1 1 1
+ backcolor .5 0 0 .25
+ visible MENU_TRUE
+ decoration
+ }
+
+ itemDef
+ {
+ name human_dialog
+ type ITEM_TYPE_TEXT
+ textstyle ITEM_TEXTSTYLE_NORMAL
+ style WINDOW_STYLE_EMPTY
+ rect INFO_X INFO_Y INFO_W INFO_H
+ cvar "ui_dialog"
+ wrapped
+ textalign ALIGN_CENTER
+ textvalign VALIGN_CENTER
+ textscale .33
+ forecolor 1 1 1 1
+ backcolor .5 0 0 .25
+ visible MENU_TRUE
+ decoration
+ }
+
+ itemDef
+ {
+ name human_dialog
+ text "OK"
+ type ITEM_TYPE_BUTTON
+ style WINDOW_STYLE_EMPTY
+ rect (W-(BORDER+BUTT_W)) (H-(BORDER+BUTT_H)) BUTT_W BUTT_H
+ textalign ALIGN_CENTER
+ textvalign VALIGN_CENTER
+ textscale .4
+ forecolor 1 1 1 1
+ backcolor .5 0 0 .25
+ visible MENU_TRUE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ close tremulous_human_dialog
+ }
+ }
+ }
+}
diff --git a/assets/ui/tremulous_humanitem.menu b/assets/ui/tremulous_humanitem.menu
new file mode 100644
index 0000000..551334b
--- /dev/null
+++ b/assets/ui/tremulous_humanitem.menu
@@ -0,0 +1,157 @@
+#include "ui/menudef.h"
+
+{
+
+#define W 450
+#define H 250
+#define BORDER 10
+
+#define LIST_W 140
+#define LIST_H (H-(2*BORDER))
+#define LIST_X BORDER
+#define LIST_Y BORDER
+
+#define BUTT_H 25
+#define BUTT_W 45
+
+#define INFO_W (W-((3*BORDER)+LIST_W))
+#define INFO_H (H-((3*BORDER)+BUTT_H))
+#define INFO_X ((2*BORDER)+LIST_W)
+#define INFO_Y BORDER
+#define INFO_TOFF 6
+
+ menuDef
+ {
+ name "tremulous_humanitem"
+ visible MENU_FALSE
+ fullscreen MENU_FALSE
+ outOfBoundsClick
+ rect (320-(W/2)) (240-(H/2)) W H
+ focusColor 1 .75 0 1
+ style WINDOW_STYLE_FILLED
+ popup
+ onOpen { uiScript LoadHumanItems; setFocus list }
+
+ itemDef
+ {
+ name window
+ rect 0 0 W H
+ style WINDOW_STYLE_FILLED
+ backcolor 0 0 0 1
+ visible MENU_TRUE
+ decoration
+
+ border WINDOW_BORDER_FULL
+ borderSize 1.0
+ borderColor 0.5 0.5 0.5 1
+ }
+
+ itemDef
+ {
+ name "list"
+ rect LIST_X LIST_Y LIST_W LIST_H
+ type ITEM_TYPE_LISTBOX
+ style WINDOW_STYLE_EMPTY
+ elementwidth 120
+ elementheight 20
+ textscale .33
+ elementtype LISTBOX_TEXT
+ feeder FEEDER_TREMHUMANITEMS
+ border WINDOW_BORDER_FULL
+ bordercolor 0.5 0.5 0.5 0.5
+ forecolor 1 1 1 1
+ backcolor 0.2 0.2 0.2 1
+ outlinecolor 0.1 0.1 0.1 0.5
+ visible MENU_TRUE
+ doubleclick
+ {
+ play "sound/misc/menu1.wav";
+ uiScript SpawnWithHumanItem;
+ close tremulous_humanitem
+ }
+ }
+
+ itemDef
+ {
+ name infopane
+ ownerdraw UI_HITEMINFOPANE
+ textstyle ITEM_TEXTSTYLE_NORMAL
+ style WINDOW_STYLE_EMPTY
+ rect INFO_X INFO_Y INFO_W INFO_H
+ textscale .33
+ textalign ALIGN_LEFT
+ textvalign VALIGN_TOP
+ textalignx INFO_TOFF
+ textaligny INFO_TOFF
+ border WINDOW_BORDER_FULL
+ bordercolor 0.5 0.5 0.5 0.5
+ forecolor 1 1 1 1
+ backcolor 0.2 0.2 0.2 1
+ outlinecolor 0.1 0.1 0.1 0.5
+ visible MENU_TRUE
+ decoration
+ }
+
+ itemDef
+ {
+ name "Back"
+ text "< Back"
+ type ITEM_TYPE_BUTTON
+ style WINDOW_STYLE_EMPTY
+ rect ((2*BORDER)+LIST_W) (H-(BORDER+BUTT_H)) BUTT_W BUTT_H
+ textalign ALIGN_CENTER
+ textvalign VALIGN_CENTER
+ textscale .4
+ forecolor 1 1 1 1
+ backcolor .5 0 0 .25
+ visible MENU_TRUE
+ action
+ {
+ play "sound/misc/menu4.wav";
+ close tremulous_humanitem;
+ open tremulous_teamselect
+ }
+ }
+
+ itemDef
+ {
+ name "OKCancel"
+ text "OK"
+ type ITEM_TYPE_BUTTON
+ style WINDOW_STYLE_EMPTY
+ rect (W-((2*BORDER)+(2*BUTT_W))) (H-(BORDER+BUTT_H)) BUTT_W BUTT_H
+ textalign ALIGN_CENTER
+ textvalign VALIGN_CENTER
+ textscale .4
+ forecolor 1 1 1 1
+ backcolor .5 0 0 .25
+ visible MENU_TRUE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ uiScript SpawnWithHumanItem;
+ close tremulous_humanitem
+ }
+ }
+
+ itemDef
+ {
+ name "OKCancel"
+ text "Cancel"
+ type ITEM_TYPE_BUTTON
+ style WINDOW_STYLE_EMPTY
+ rect (W-(BORDER+BUTT_W)) (H-(BORDER+BUTT_H)) BUTT_W BUTT_H
+ textalign ALIGN_CENTER
+ textvalign VALIGN_CENTER
+ textscale .4
+ forecolor 1 1 1 1
+ backcolor .5 0 0 .25
+ visible MENU_TRUE
+ action
+ {
+ play "sound/misc/menu3.wav";
+ close tremulous_humanitem
+ }
+ }
+ }
+}
diff --git a/assets/ui/tremulous_spectator_hud.menu b/assets/ui/tremulous_spectator_hud.menu
new file mode 100644
index 0000000..b4a5ff1
--- /dev/null
+++ b/assets/ui/tremulous_spectator_hud.menu
@@ -0,0 +1,52 @@
+#include "ui/menudef.h"
+
+{
+
+#define W 640
+#define H 480
+
+ menuDef
+ {
+ name "spectator_hud"
+ fullScreen MENU_FALSE
+ visible MENU_TRUE
+ rect 0 0 W H
+ aspectBias ASPECT_NONE
+
+#define COMMON_HUD_R 1.0
+#define COMMON_HUD_G 1.0
+#define COMMON_HUD_B 1.0
+#include "ui/tremulous_common_hud.h"
+
+ //////////////////
+ //STATIC OBJECTS//
+ //////////////////
+
+ //LEFT CIRCLE
+ itemDef
+ {
+ name "left-circle"
+ rect 35 417.5 25 25
+ aspectBias ALIGN_LEFT
+ visible MENU_TRUE
+ decoration
+ forecolor COMMON_HUD_R COMMON_HUD_G COMMON_HUD_B 0.25
+ style WINDOW_STYLE_SHADER
+ background "ui/assets/neutral/circle.tga"
+ }
+
+ //THZ SCANNER
+ itemDef
+ {
+ name "thzscanner"
+ //rect 10 125 200 200 // Original placement in thz
+ rect 440 220 200 200
+ aspectBias ALIGN_CENTER
+ visible MENU_TRUE
+ decoration
+ //forecolor COMMON_HUD_R COMMON_HUD_G COMMON_HUD_B .5
+ background "ui/assets/human/scanner.tga"
+ ownerdraw CG_PLAYER_THZ_SCANNER
+ }
+ }
+}
diff --git a/assets/ui/tremulous_teamselect.menu b/assets/ui/tremulous_teamselect.menu
new file mode 100644
index 0000000..7051274
--- /dev/null
+++ b/assets/ui/tremulous_teamselect.menu
@@ -0,0 +1,136 @@
+#include "ui/menudef.h"
+
+{
+
+#define W 450
+#define H 250
+#define BORDER 10
+
+#define LIST_W 140
+#define LIST_H (H-(2*BORDER))
+#define LIST_X BORDER
+#define LIST_Y BORDER
+
+#define BUTT_H 25
+#define BUTT_W 45
+
+#define INFO_W (W-((3*BORDER)+LIST_W))
+#define INFO_H (H-((3*BORDER)+BUTT_H))
+#define INFO_X ((2*BORDER)+LIST_W)
+#define INFO_Y BORDER
+#define INFO_TOFF 6
+
+ menuDef
+ {
+ name "tremulous_teamselect"
+ visible MENU_FALSE
+ fullscreen MENU_FALSE
+ outOfBoundsClick
+ rect (320-(W/2)) (240-(H/2)) W H
+ focusColor 1 .75 0 1
+ style WINDOW_STYLE_FILLED
+ popup
+ onOpen { uiScript LoadTeams; setFocus list }
+
+ itemDef
+ {
+ name window
+ rect 0 0 W H
+ style WINDOW_STYLE_FILLED
+ backcolor 0 0 0 1
+ visible MENU_TRUE
+ decoration
+
+ border WINDOW_BORDER_FULL
+ borderSize 1.0
+ borderColor 0.5 0.5 0.5 1
+ }
+
+ itemDef
+ {
+ name "list"
+ rect LIST_X LIST_Y LIST_W LIST_H
+ type ITEM_TYPE_LISTBOX
+ style WINDOW_STYLE_EMPTY
+ elementwidth 120
+ elementheight 20
+ textscale .33
+ elementtype LISTBOX_TEXT
+ feeder FEEDER_TREMTEAMS
+ border WINDOW_BORDER_FULL
+ bordercolor 0.5 0.5 0.5 0.5
+ forecolor 1 1 1 1
+ backcolor 0.2 0.2 0.2 1
+ outlinecolor 0.1 0.1 0.1 0.5
+ visible MENU_TRUE
+ doubleclick
+ {
+ play "sound/misc/menu1.wav";
+ uiScript JoinTeam;
+ close tremulous_teamselect
+ }
+ }
+
+ itemDef
+ {
+ name infopane
+ ownerdraw UI_TEAMINFOPANE
+ textstyle ITEM_TEXTSTYLE_NORMAL
+ style WINDOW_STYLE_EMPTY
+ rect INFO_X INFO_Y INFO_W INFO_H
+ textscale .33
+ textalign ALIGN_LEFT
+ textvalign VALIGN_TOP
+ textalignx INFO_TOFF
+ textaligny INFO_TOFF
+ border WINDOW_BORDER_FULL
+ bordercolor 0.5 0.5 0.5 0.5
+ forecolor 1 1 1 1
+ backcolor 0.2 0.2 0.2 1
+ outlinecolor 0.1 0.1 0.1 0.5
+ visible MENU_TRUE
+ decoration
+ }
+
+ itemDef
+ {
+ name "OKCancel"
+ text "OK"
+ type ITEM_TYPE_BUTTON
+ style WINDOW_STYLE_EMPTY
+ rect (W-((2*BORDER)+(2*BUTT_W))) (H-(BORDER+BUTT_H)) BUTT_W BUTT_H
+ textalign ALIGN_CENTER
+ textvalign VALIGN_CENTER
+ textscale .4
+ forecolor 1 1 1 1
+ backcolor .5 0 0 .25
+ visible MENU_TRUE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ uiScript JoinTeam;
+ close tremulous_teamselect
+ }
+ }
+
+ itemDef
+ {
+ name "OKCancel"
+ text "Cancel"
+ type ITEM_TYPE_BUTTON
+ style WINDOW_STYLE_EMPTY
+ rect (W-(BORDER+BUTT_W)) (H-(BORDER+BUTT_H)) BUTT_W BUTT_H
+ textalign ALIGN_CENTER
+ textvalign VALIGN_CENTER
+ textscale .4
+ forecolor 1 1 1 1
+ backcolor .5 0 0 .25
+ visible MENU_TRUE
+ action
+ {
+ play "sound/misc/menu3.wav";
+ close tremulous_teamselect
+ }
+ }
+ }
+}
diff --git a/assets/ui/tremulous_voicecmd.menu b/assets/ui/tremulous_voicecmd.menu
new file mode 100644
index 0000000..1b5ac8b
--- /dev/null
+++ b/assets/ui/tremulous_voicecmd.menu
@@ -0,0 +1,140 @@
+#include "ui/menudef.h"
+
+{
+
+#define W 450
+#define H 300
+#define BORDER 10
+
+#define LIST_W 140
+#define LIST_H (H-(2*BORDER))
+#define LIST_X BORDER
+#define LIST_Y BORDER
+
+#define BUTT_H 25
+#define BUTT_W 45
+
+#define INFO_W (W-((3*BORDER)+LIST_W))
+#define INFO_H (H-((3*BORDER)+BUTT_H))
+#define INFO_X ((2*BORDER)+LIST_W)
+#define INFO_Y BORDER
+#define INFO_TOFF 6
+
+ menuDef
+ {
+ name "tremulous_voicecmd"
+ visible MENU_TRUE
+ fullscreen MENU_FALSE
+ outOfBoundsClick
+ rect (320-(W/2)) (240-(H/2)) W H
+ focusColor 1 .75 0 1
+ style WINDOW_STYLE_FILLED
+ popup
+ onOpen
+ {
+ uiScript LoadVoiceCmds;
+ setFocus list
+ }
+
+ itemDef
+ {
+ name window
+ rect 0 0 W H
+ style WINDOW_STYLE_FILLED
+ backcolor 0 0 0 .75
+ visible MENU_TRUE
+ decoration
+
+ border WINDOW_BORDER_FULL
+ borderSize 1.0
+ borderColor 0.5 0.5 0.5 1
+ }
+
+ itemDef
+ {
+ name "list"
+ rect LIST_X LIST_Y LIST_W LIST_H
+ type ITEM_TYPE_LISTBOX
+ style WINDOW_STYLE_EMPTY
+ elementwidth 120
+ elementheight 20
+ textscale .33
+ elementtype LISTBOX_TEXT
+ feeder FEEDER_TREMVOICECMD
+ border WINDOW_BORDER_FULL
+ bordercolor 0.5 0.5 0.5 0.5
+ forecolor 1 1 1 1
+ backcolor 0.2 0.2 0.2 .75
+ outlinecolor 0.1 0.1 0.1 0.5
+ visible MENU_TRUE
+ doubleclick
+ {
+ play "sound/misc/menu1.wav";
+ uiScript ExecuteVoiceCmd;
+ close tremulous_voicecmd
+ }
+ }
+
+ itemDef
+ {
+ name infopane
+ ownerdraw UI_VOICECMDINFOPANE
+ textstyle ITEM_TEXTSTYLE_NORMAL
+ style WINDOW_STYLE_EMPTY
+ rect INFO_X INFO_Y INFO_W INFO_H
+ textscale .33
+ textalign ALIGN_LEFT
+ textvalign VALIGN_TOP
+ textalignx INFO_TOFF
+ textaligny INFO_TOFF
+ border WINDOW_BORDER_FULL
+ bordercolor 0.5 0.5 0.5 0.5
+ forecolor 1 1 1 1
+ backcolor 0.2 0.2 0.2 .75
+ outlinecolor 0.1 0.1 0.1 0.5
+ visible MENU_TRUE
+ decoration
+ }
+
+ itemDef
+ {
+ name "OKCancel"
+ text "OK"
+ type ITEM_TYPE_BUTTON
+ style WINDOW_STYLE_EMPTY
+ rect (W-((2*BORDER)+(2*BUTT_W))) (H-(BORDER+BUTT_H)) BUTT_W BUTT_H
+ textalign ALIGN_CENTER
+ textvalign VALIGN_CENTER
+ textscale .4
+ forecolor 1 1 1 1
+ backcolor .5 0 0 .25
+ visible MENU_TRUE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ uiScript ExecuteVoiceCmd;
+ close tremulous_voicecmd
+ }
+ }
+
+ itemDef
+ {
+ name "OKCancel"
+ text "Cancel"
+ type ITEM_TYPE_BUTTON
+ style WINDOW_STYLE_EMPTY
+ rect (W-(BORDER+BUTT_W)) (H-(BORDER+BUTT_H)) BUTT_W BUTT_H
+ textalign ALIGN_CENTER
+ textvalign VALIGN_CENTER
+ textscale .4
+ forecolor 1 1 1 1
+ backcolor .5 0 0 .25
+ visible MENU_TRUE
+ action
+ {
+ play "sound/misc/menu3.wav";
+ close tremulous_voicecmd
+ }
+ }
+ }
+}