summaryrefslogtreecommitdiff
path: root/assets
diff options
context:
space:
mode:
authorPaweł Redman <pawel.redman@gmail.com>2015-12-05 21:05:10 +0100
committerPaweł Redman <pawel.redman@gmail.com>2015-12-05 21:05:10 +0100
commit21c41b7b5584e35edea66f66832a980363a95443 (patch)
tree95b1f5c6df096ad1f25af7b9ea8062f2915f07c6 /assets
parentdc5cc800f856c82f4f8961dd9c1225c3fa4670bc (diff)
parent3cc3a553cb8f00f60664189ec8d0e0c92d8344d6 (diff)
Merge branch 'v11b'
Diffstat (limited to 'assets')
-rw-r--r--assets/armour/bsuit.armour19
-rw-r--r--assets/configs/buildables/acid_tube.cfg5
-rw-r--r--assets/configs/buildables/arm.cfg5
-rw-r--r--assets/configs/buildables/dcc.cfg5
-rw-r--r--assets/configs/buildables/eggpod.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/level1upg.cfg17
-rw-r--r--assets/configs/classes/spectator.cfg17
-rw-r--r--assets/configs/configs/buildables/acid_tube.cfg5
-rw-r--r--assets/configs/configs/buildables/arm.cfg5
-rw-r--r--assets/configs/configs/buildables/barricade.cfg5
-rw-r--r--assets/configs/configs/buildables/booster.cfg5
-rw-r--r--assets/configs/configs/buildables/dcc.cfg5
-rw-r--r--assets/configs/configs/buildables/eggpod.cfg5
-rw-r--r--assets/configs/configs/buildables/hive.cfg5
-rw-r--r--assets/configs/configs/buildables/hovel.cfg5
-rw-r--r--assets/configs/configs/buildables/medistat.cfg5
-rw-r--r--assets/configs/configs/buildables/mgturret.cfg7
-rw-r--r--assets/configs/configs/buildables/overmind.cfg5
-rw-r--r--assets/configs/configs/buildables/reactor.cfg5
-rw-r--r--assets/configs/configs/buildables/repeater.cfg5
-rw-r--r--assets/configs/configs/buildables/telenode.cfg5
-rw-r--r--assets/configs/configs/buildables/tesla.cfg5
-rw-r--r--assets/configs/configs/buildables/trapper.cfg5
-rw-r--r--assets/configs/configs/classes/builder.cfg17
-rw-r--r--assets/configs/configs/classes/builderupg.cfg17
-rw-r--r--assets/configs/configs/classes/human_base.cfg17
-rw-r--r--assets/configs/configs/classes/human_bsuit.cfg17
-rw-r--r--assets/configs/configs/classes/level0.cfg17
-rw-r--r--assets/configs/configs/classes/level1.cfg17
-rw-r--r--assets/configs/configs/classes/level1upg.cfg17
-rw-r--r--assets/configs/configs/classes/level2.cfg17
-rw-r--r--assets/configs/configs/classes/level2upg.cfg17
-rw-r--r--assets/configs/configs/classes/level3.cfg17
-rw-r--r--assets/configs/configs/classes/level3upg.cfg17
-rw-r--r--assets/configs/configs/classes/level4.cfg17
-rw-r--r--assets/configs/configs/classes/spectator.cfg17
-rw-r--r--assets/emoticons/acidtube_1x1.tgabin0 -> 9773 bytes
-rw-r--r--assets/emoticons/advbasilisk_1x1.tgabin0 -> 6307 bytes
-rw-r--r--assets/emoticons/advdragoon_1x1.tgabin0 -> 4811 bytes
-rw-r--r--assets/emoticons/advmarauder_1x1.tgabin0 -> 3917 bytes
-rw-r--r--assets/emoticons/armoury_1x1.tgabin0 -> 11939 bytes
-rw-r--r--assets/emoticons/barricade_1x1.tgabin0 -> 6110 bytes
-rw-r--r--assets/emoticons/basilisk_1x1.tgabin0 -> 6305 bytes
-rw-r--r--assets/emoticons/blaster_1x1.tgabin0 -> 5634 bytes
-rw-r--r--assets/emoticons/booster_1x1.tgabin0 -> 4862 bytes
-rw-r--r--assets/emoticons/bsuit_1x1.tgabin0 -> 4458 bytes
-rw-r--r--assets/emoticons/chaingun_2x1.tgabin0 -> 9847 bytes
-rw-r--r--assets/emoticons/ckit_2x1.tgabin0 -> 14139 bytes
-rw-r--r--assets/emoticons/defcomp_1x1.tgabin0 -> 10338 bytes
-rw-r--r--assets/emoticons/dev_1x1.tgabin0 -> 16428 bytes
-rw-r--r--assets/emoticons/dragoon_1x1.tgabin0 -> 4827 bytes
-rw-r--r--assets/emoticons/dretch_1x1.tgabin0 -> 4544 bytes
-rw-r--r--assets/emoticons/egg_1x1.tgabin0 -> 7436 bytes
-rw-r--r--assets/emoticons/featured_1x1.tgabin0 -> 16428 bytes
-rw-r--r--assets/emoticons/flamer_2x1.tgabin0 -> 17303 bytes
-rw-r--r--assets/emoticons/granger_1x1.tgabin0 -> 6741 bytes
-rw-r--r--assets/emoticons/grenade_1x1.tgabin0 -> 8975 bytes
-rw-r--r--assets/emoticons/hive_1x1.tgabin0 -> 9506 bytes
-rw-r--r--assets/emoticons/hovel_1x1.tgabin0 -> 6692 bytes
-rw-r--r--assets/emoticons/human_1x1.tgabin0 -> 4878 bytes
-rw-r--r--assets/emoticons/lasgun_2x1.tgabin0 -> 12871 bytes
-rw-r--r--assets/emoticons/lcannon_2x1.tgabin0 -> 13825 bytes
-rw-r--r--assets/emoticons/marauder_1x1.tgabin0 -> 3833 bytes
-rw-r--r--assets/emoticons/mdriver_2x1.tgabin0 -> 8518 bytes
-rw-r--r--assets/emoticons/medstat_1x1.tgabin0 -> 8355 bytes
-rw-r--r--assets/emoticons/official_1x1.tgabin0 -> 16428 bytes
-rw-r--r--assets/emoticons/overmind_1x1.tgabin0 -> 7880 bytes
-rw-r--r--assets/emoticons/painsaw_2x1.tgabin0 -> 14135 bytes
-rw-r--r--assets/emoticons/prifle_2x1.tgabin0 -> 14233 bytes
-rw-r--r--assets/emoticons/reactor_1x1.tgabin0 -> 10112 bytes
-rw-r--r--assets/emoticons/repeater_1x1.tgabin0 -> 9801 bytes
-rw-r--r--assets/emoticons/rifle_2x1.tgabin0 -> 15418 bytes
-rw-r--r--assets/emoticons/shotgun_2x1.tgabin0 -> 13558 bytes
-rw-r--r--assets/emoticons/telenode_1x1.tgabin0 -> 9795 bytes
-rw-r--r--assets/emoticons/tent_1x1.tgabin0 -> 4322 bytes
-rw-r--r--assets/emoticons/tesla_1x1.tgabin0 -> 6126 bytes
-rw-r--r--assets/emoticons/trapper_1x1.tgabin0 -> 9113 bytes
-rw-r--r--assets/emoticons/turret_1x1.tgabin0 -> 4648 bytes
-rw-r--r--assets/emoticons/tyrant_1x1.tgabin0 -> 4959 bytes
-rw-r--r--assets/gfx/2d/bigchars.tgabin0 -> 46297 bytes
-rw-r--r--assets/gfx/2d/crosshair-psaw.tgabin0 -> 1022 bytes
-rw-r--r--assets/gfx/2d/teamoverlay.tgabin0 -> 14271 bytes
-rw-r--r--assets/gfx/level3upg/barb_splash.tgabin0 -> 12186 bytes
-rw-r--r--assets/models/weapons/abuildupg/weapon.cfg19
-rw-r--r--assets/models/weapons/lcannon/warning2.wavbin0 -> 4603 bytes
-rw-r--r--assets/models/weapons/level0/weapon.cfg9
-rw-r--r--assets/models/weapons/level1upg/weapon.cfg17
-rw-r--r--assets/models/weapons/level2/weapon.cfg11
-rw-r--r--assets/models/weapons/level3/weapon.cfg16
-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/system_ui.shader16
-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/weapons/click.wavbin0 -> 23662 bytes
-rw-r--r--assets/ui/assets/alien/buildstat.cfg37
-rw-r--r--assets/ui/assets/alien/buildstat/frame.tgabin0 -> 1724 bytes
-rw-r--r--assets/ui/assets/alien/buildstat/green.tgabin0 -> 49 bytes
-rw-r--r--assets/ui/assets/alien/buildstat/health.tgabin0 -> 48 bytes
-rw-r--r--assets/ui/assets/alien/buildstat/mark.tgabin0 -> 14180 bytes
-rw-r--r--assets/ui/assets/alien/buildstat/overlay.tgabin0 -> 25069 bytes
-rw-r--r--assets/ui/assets/human/buildstat.cfg39
-rw-r--r--assets/ui/assets/human/buildstat/frame.tgabin0 -> 1724 bytes
-rw-r--r--assets/ui/assets/human/buildstat/green.tgabin0 -> 49 bytes
-rw-r--r--assets/ui/assets/human/buildstat/health.tgabin0 -> 48 bytes
-rw-r--r--assets/ui/assets/human/buildstat/mark.tgabin0 -> 14180 bytes
-rw-r--r--assets/ui/assets/loading_add.jpgbin0 -> 13838 bytes
-rw-r--r--assets/ui/assets/main_add.jpgbin0 -> 27668 bytes
-rw-r--r--assets/ui/assets/main_add_pulse.jpgbin0 -> 24653 bytes
-rw-r--r--assets/ui/assets/main_base.jpgbin0 -> 13433 bytes
-rw-r--r--assets/ui/assets/neutral/charge_bg_h.tgabin0 -> 2420 bytes
-rw-r--r--assets/ui/assets/neutral/charge_bg_v.tgabin0 -> 4880 bytes
-rw-r--r--assets/ui/assets/neutral/charge_cap_h.tgabin0 -> 464 bytes
-rw-r--r--assets/ui/assets/neutral/charge_cap_v.tgabin0 -> 330 bytes
-rw-r--r--assets/ui/assets/neutral/cross2.tgabin0 -> 2036 bytes
-rw-r--r--assets/ui/assets/neutral/cross3.tgabin0 -> 2868 bytes
-rw-r--r--assets/ui/assets/neutral/cross_medkit.tgabin0 -> 6146 bytes
-rw-r--r--assets/ui/assets/neutral/cross_poison.tgabin0 -> 6934 bytes
-rw-r--r--assets/ui/assets/score_add.jpgbin0 -> 30387 bytes
-rw-r--r--assets/ui/assets/score_flicker.jpgbin0 -> 2997 bytes
-rw-r--r--assets/ui/assets/stage_add.jpgbin0 -> 7210 bytes
-rw-r--r--assets/ui/connect.menu12
-rw-r--r--assets/ui/createserver.menu12
-rw-r--r--assets/ui/ingame.menu12
-rw-r--r--assets/ui/ingame_game.menu10
-rw-r--r--assets/ui/ingame_help.menu88
-rw-r--r--assets/ui/ingame_ignore.menu10
-rw-r--r--assets/ui/ingame_leave.menu10
-rw-r--r--assets/ui/ingame_map.menu12
-rw-r--r--assets/ui/ingame_map19201080.menu12
-rw-r--r--assets/ui/ingame_map640480.menu12
-rw-r--r--assets/ui/ingame_options.menu10
-rw-r--r--assets/ui/ingame_robot.menu10
-rw-r--r--assets/ui/ingame_sbrowser.menu12
-rw-r--r--assets/ui/ingame_yehelp.menu13
-rw-r--r--assets/ui/joinserver.menu14
-rw-r--r--assets/ui/loading.menu12
-rw-r--r--assets/ui/main.menu10
-rw-r--r--assets/ui/menudef.h378
-rw-r--r--assets/ui/mod.menu108
-rw-r--r--assets/ui/news.menu102
-rw-r--r--assets/ui/ptrc.menu109
-rw-r--r--assets/ui/quit.menu99
-rw-r--r--assets/ui/quitcredit.menu410
-rw-r--r--assets/ui/tremulous_default_hud.menu37
159 files changed, 3255 insertions, 383 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/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/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/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/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/spectator.cfg b/assets/configs/classes/spectator.cfg
new file mode 100644
index 0000000..bfe7bf2
--- /dev/null
+++ b/assets/configs/classes/spectator.cfg
@@ -0,0 +1,17 @@
+name "Spectator"
+model ""
+modelScale 1.0
+skin ""
+shadowScale 1.0
+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/configs/configs/buildables/acid_tube.cfg b/assets/configs/configs/buildables/acid_tube.cfg
new file mode 100644
index 0000000..e44ed48
--- /dev/null
+++ b/assets/configs/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/configs/buildables/arm.cfg b/assets/configs/configs/buildables/arm.cfg
new file mode 100644
index 0000000..3e45fc2
--- /dev/null
+++ b/assets/configs/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/configs/buildables/barricade.cfg b/assets/configs/configs/buildables/barricade.cfg
new file mode 100644
index 0000000..5614647
--- /dev/null
+++ b/assets/configs/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/configs/buildables/booster.cfg b/assets/configs/configs/buildables/booster.cfg
new file mode 100644
index 0000000..b0903df
--- /dev/null
+++ b/assets/configs/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/configs/buildables/dcc.cfg b/assets/configs/configs/buildables/dcc.cfg
new file mode 100644
index 0000000..932e302
--- /dev/null
+++ b/assets/configs/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/configs/buildables/eggpod.cfg b/assets/configs/configs/buildables/eggpod.cfg
new file mode 100644
index 0000000..71cb6c7
--- /dev/null
+++ b/assets/configs/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/configs/buildables/hive.cfg b/assets/configs/configs/buildables/hive.cfg
new file mode 100644
index 0000000..bd427a2
--- /dev/null
+++ b/assets/configs/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/configs/buildables/hovel.cfg b/assets/configs/configs/buildables/hovel.cfg
new file mode 100644
index 0000000..5e2922c
--- /dev/null
+++ b/assets/configs/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/configs/buildables/medistat.cfg b/assets/configs/configs/buildables/medistat.cfg
new file mode 100644
index 0000000..179a052
--- /dev/null
+++ b/assets/configs/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/configs/buildables/mgturret.cfg b/assets/configs/configs/buildables/mgturret.cfg
new file mode 100644
index 0000000..83a2309
--- /dev/null
+++ b/assets/configs/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/configs/buildables/overmind.cfg b/assets/configs/configs/buildables/overmind.cfg
new file mode 100644
index 0000000..f9baca5
--- /dev/null
+++ b/assets/configs/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/configs/buildables/reactor.cfg b/assets/configs/configs/buildables/reactor.cfg
new file mode 100644
index 0000000..d724c44
--- /dev/null
+++ b/assets/configs/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/configs/buildables/repeater.cfg b/assets/configs/configs/buildables/repeater.cfg
new file mode 100644
index 0000000..eec2824
--- /dev/null
+++ b/assets/configs/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/configs/buildables/telenode.cfg b/assets/configs/configs/buildables/telenode.cfg
new file mode 100644
index 0000000..173a92f
--- /dev/null
+++ b/assets/configs/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/configs/buildables/tesla.cfg b/assets/configs/configs/buildables/tesla.cfg
new file mode 100644
index 0000000..36d1e33
--- /dev/null
+++ b/assets/configs/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/configs/buildables/trapper.cfg b/assets/configs/configs/buildables/trapper.cfg
new file mode 100644
index 0000000..0c3f0d0
--- /dev/null
+++ b/assets/configs/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/configs/classes/builder.cfg b/assets/configs/configs/classes/builder.cfg
new file mode 100644
index 0000000..dd1d665
--- /dev/null
+++ b/assets/configs/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/configs/classes/builderupg.cfg b/assets/configs/configs/classes/builderupg.cfg
new file mode 100644
index 0000000..e1b73fc
--- /dev/null
+++ b/assets/configs/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/configs/classes/human_base.cfg b/assets/configs/configs/classes/human_base.cfg
new file mode 100644
index 0000000..6749bad
--- /dev/null
+++ b/assets/configs/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/configs/classes/human_bsuit.cfg b/assets/configs/configs/classes/human_bsuit.cfg
new file mode 100644
index 0000000..0cdca1e
--- /dev/null
+++ b/assets/configs/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/configs/classes/level0.cfg b/assets/configs/configs/classes/level0.cfg
new file mode 100644
index 0000000..1497918
--- /dev/null
+++ b/assets/configs/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/configs/classes/level1.cfg b/assets/configs/configs/classes/level1.cfg
new file mode 100644
index 0000000..3add57e
--- /dev/null
+++ b/assets/configs/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/configs/classes/level1upg.cfg b/assets/configs/configs/classes/level1upg.cfg
new file mode 100644
index 0000000..28a4beb
--- /dev/null
+++ b/assets/configs/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/configs/classes/level2.cfg b/assets/configs/configs/classes/level2.cfg
new file mode 100644
index 0000000..999f9b5
--- /dev/null
+++ b/assets/configs/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 -22 -22 -22
+maxs 22 22 12
+crouchMaxs 22 22 12
+deadMins -22 -22 -4
+deadMaxs 22 22 4
+zOffset 0.0
+
+viewheight 8
+crouchViewheight 8
+shoulderOffsets 0 12 5
diff --git a/assets/configs/configs/classes/level2upg.cfg b/assets/configs/configs/classes/level2upg.cfg
new file mode 100644
index 0000000..5ea674c
--- /dev/null
+++ b/assets/configs/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 -24 -24 -24
+maxs 24 24 14
+crouchMaxs 24 24 14
+deadMins -24 -24 -4
+deadMaxs 24 24 4
+zOffset 0.0
+
+viewheight 10
+crouchViewheight 10
+shoulderOffsets 0 12 5
diff --git a/assets/configs/configs/classes/level3.cfg b/assets/configs/configs/classes/level3.cfg
new file mode 100644
index 0000000..6073201
--- /dev/null
+++ b/assets/configs/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/configs/classes/level3upg.cfg b/assets/configs/configs/classes/level3upg.cfg
new file mode 100644
index 0000000..e0e7455
--- /dev/null
+++ b/assets/configs/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/configs/classes/level4.cfg b/assets/configs/configs/classes/level4.cfg
new file mode 100644
index 0000000..ad8482e
--- /dev/null
+++ b/assets/configs/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/configs/classes/spectator.cfg b/assets/configs/configs/classes/spectator.cfg
new file mode 100644
index 0000000..eeec60c
--- /dev/null
+++ b/assets/configs/configs/classes/spectator.cfg
@@ -0,0 +1,17 @@
+name "Spectator"
+model ""
+modelScale 1.0
+skin ""
+shadowScale 1.0
+hud ""
+
+mins -12 -12 -12
+maxs 12 12 12
+crouchMaxs 12 12 12
+deadMins -12 -12 -12
+deadMaxs 12 12 12
+zOffset 0.0
+
+viewheight 0
+crouchViewheight 0
+shoulderOffsets 0 0 0
diff --git a/assets/emoticons/acidtube_1x1.tga b/assets/emoticons/acidtube_1x1.tga
new file mode 100644
index 0000000..aff4cb9
--- /dev/null
+++ b/assets/emoticons/acidtube_1x1.tga
Binary files differ
diff --git a/assets/emoticons/advbasilisk_1x1.tga b/assets/emoticons/advbasilisk_1x1.tga
new file mode 100644
index 0000000..f387d81
--- /dev/null
+++ b/assets/emoticons/advbasilisk_1x1.tga
Binary files differ
diff --git a/assets/emoticons/advdragoon_1x1.tga b/assets/emoticons/advdragoon_1x1.tga
new file mode 100644
index 0000000..fbbe685
--- /dev/null
+++ b/assets/emoticons/advdragoon_1x1.tga
Binary files differ
diff --git a/assets/emoticons/advmarauder_1x1.tga b/assets/emoticons/advmarauder_1x1.tga
new file mode 100644
index 0000000..19e2a85
--- /dev/null
+++ b/assets/emoticons/advmarauder_1x1.tga
Binary files differ
diff --git a/assets/emoticons/armoury_1x1.tga b/assets/emoticons/armoury_1x1.tga
new file mode 100644
index 0000000..f5ebc97
--- /dev/null
+++ b/assets/emoticons/armoury_1x1.tga
Binary files differ
diff --git a/assets/emoticons/barricade_1x1.tga b/assets/emoticons/barricade_1x1.tga
new file mode 100644
index 0000000..40efed1
--- /dev/null
+++ b/assets/emoticons/barricade_1x1.tga
Binary files differ
diff --git a/assets/emoticons/basilisk_1x1.tga b/assets/emoticons/basilisk_1x1.tga
new file mode 100644
index 0000000..59be142
--- /dev/null
+++ b/assets/emoticons/basilisk_1x1.tga
Binary files differ
diff --git a/assets/emoticons/blaster_1x1.tga b/assets/emoticons/blaster_1x1.tga
new file mode 100644
index 0000000..6860b70
--- /dev/null
+++ b/assets/emoticons/blaster_1x1.tga
Binary files differ
diff --git a/assets/emoticons/booster_1x1.tga b/assets/emoticons/booster_1x1.tga
new file mode 100644
index 0000000..a69f904
--- /dev/null
+++ b/assets/emoticons/booster_1x1.tga
Binary files differ
diff --git a/assets/emoticons/bsuit_1x1.tga b/assets/emoticons/bsuit_1x1.tga
new file mode 100644
index 0000000..867e63b
--- /dev/null
+++ b/assets/emoticons/bsuit_1x1.tga
Binary files differ
diff --git a/assets/emoticons/chaingun_2x1.tga b/assets/emoticons/chaingun_2x1.tga
new file mode 100644
index 0000000..8cddec8
--- /dev/null
+++ b/assets/emoticons/chaingun_2x1.tga
Binary files differ
diff --git a/assets/emoticons/ckit_2x1.tga b/assets/emoticons/ckit_2x1.tga
new file mode 100644
index 0000000..afd35cd
--- /dev/null
+++ b/assets/emoticons/ckit_2x1.tga
Binary files differ
diff --git a/assets/emoticons/defcomp_1x1.tga b/assets/emoticons/defcomp_1x1.tga
new file mode 100644
index 0000000..0e8ec49
--- /dev/null
+++ b/assets/emoticons/defcomp_1x1.tga
Binary files differ
diff --git a/assets/emoticons/dev_1x1.tga b/assets/emoticons/dev_1x1.tga
new file mode 100644
index 0000000..528b90c
--- /dev/null
+++ b/assets/emoticons/dev_1x1.tga
Binary files differ
diff --git a/assets/emoticons/dragoon_1x1.tga b/assets/emoticons/dragoon_1x1.tga
new file mode 100644
index 0000000..c13529c
--- /dev/null
+++ b/assets/emoticons/dragoon_1x1.tga
Binary files differ
diff --git a/assets/emoticons/dretch_1x1.tga b/assets/emoticons/dretch_1x1.tga
new file mode 100644
index 0000000..170b731
--- /dev/null
+++ b/assets/emoticons/dretch_1x1.tga
Binary files differ
diff --git a/assets/emoticons/egg_1x1.tga b/assets/emoticons/egg_1x1.tga
new file mode 100644
index 0000000..b96b9e5
--- /dev/null
+++ b/assets/emoticons/egg_1x1.tga
Binary files differ
diff --git a/assets/emoticons/featured_1x1.tga b/assets/emoticons/featured_1x1.tga
new file mode 100644
index 0000000..f5ffa28
--- /dev/null
+++ b/assets/emoticons/featured_1x1.tga
Binary files differ
diff --git a/assets/emoticons/flamer_2x1.tga b/assets/emoticons/flamer_2x1.tga
new file mode 100644
index 0000000..767a3c0
--- /dev/null
+++ b/assets/emoticons/flamer_2x1.tga
Binary files differ
diff --git a/assets/emoticons/granger_1x1.tga b/assets/emoticons/granger_1x1.tga
new file mode 100644
index 0000000..cab0f19
--- /dev/null
+++ b/assets/emoticons/granger_1x1.tga
Binary files differ
diff --git a/assets/emoticons/grenade_1x1.tga b/assets/emoticons/grenade_1x1.tga
new file mode 100644
index 0000000..5ee49b0
--- /dev/null
+++ b/assets/emoticons/grenade_1x1.tga
Binary files differ
diff --git a/assets/emoticons/hive_1x1.tga b/assets/emoticons/hive_1x1.tga
new file mode 100644
index 0000000..29d6a9a
--- /dev/null
+++ b/assets/emoticons/hive_1x1.tga
Binary files differ
diff --git a/assets/emoticons/hovel_1x1.tga b/assets/emoticons/hovel_1x1.tga
new file mode 100644
index 0000000..d45dd33
--- /dev/null
+++ b/assets/emoticons/hovel_1x1.tga
Binary files differ
diff --git a/assets/emoticons/human_1x1.tga b/assets/emoticons/human_1x1.tga
new file mode 100644
index 0000000..7290366
--- /dev/null
+++ b/assets/emoticons/human_1x1.tga
Binary files differ
diff --git a/assets/emoticons/lasgun_2x1.tga b/assets/emoticons/lasgun_2x1.tga
new file mode 100644
index 0000000..3171c7e
--- /dev/null
+++ b/assets/emoticons/lasgun_2x1.tga
Binary files differ
diff --git a/assets/emoticons/lcannon_2x1.tga b/assets/emoticons/lcannon_2x1.tga
new file mode 100644
index 0000000..f97339c
--- /dev/null
+++ b/assets/emoticons/lcannon_2x1.tga
Binary files differ
diff --git a/assets/emoticons/marauder_1x1.tga b/assets/emoticons/marauder_1x1.tga
new file mode 100644
index 0000000..a3c7cba
--- /dev/null
+++ b/assets/emoticons/marauder_1x1.tga
Binary files differ
diff --git a/assets/emoticons/mdriver_2x1.tga b/assets/emoticons/mdriver_2x1.tga
new file mode 100644
index 0000000..d129bd6
--- /dev/null
+++ b/assets/emoticons/mdriver_2x1.tga
Binary files differ
diff --git a/assets/emoticons/medstat_1x1.tga b/assets/emoticons/medstat_1x1.tga
new file mode 100644
index 0000000..fc26b53
--- /dev/null
+++ b/assets/emoticons/medstat_1x1.tga
Binary files differ
diff --git a/assets/emoticons/official_1x1.tga b/assets/emoticons/official_1x1.tga
new file mode 100644
index 0000000..2863a4f
--- /dev/null
+++ b/assets/emoticons/official_1x1.tga
Binary files differ
diff --git a/assets/emoticons/overmind_1x1.tga b/assets/emoticons/overmind_1x1.tga
new file mode 100644
index 0000000..0d2c413
--- /dev/null
+++ b/assets/emoticons/overmind_1x1.tga
Binary files differ
diff --git a/assets/emoticons/painsaw_2x1.tga b/assets/emoticons/painsaw_2x1.tga
new file mode 100644
index 0000000..b12f9c8
--- /dev/null
+++ b/assets/emoticons/painsaw_2x1.tga
Binary files differ
diff --git a/assets/emoticons/prifle_2x1.tga b/assets/emoticons/prifle_2x1.tga
new file mode 100644
index 0000000..c36945f
--- /dev/null
+++ b/assets/emoticons/prifle_2x1.tga
Binary files differ
diff --git a/assets/emoticons/reactor_1x1.tga b/assets/emoticons/reactor_1x1.tga
new file mode 100644
index 0000000..cbbc21e
--- /dev/null
+++ b/assets/emoticons/reactor_1x1.tga
Binary files differ
diff --git a/assets/emoticons/repeater_1x1.tga b/assets/emoticons/repeater_1x1.tga
new file mode 100644
index 0000000..c2c3712
--- /dev/null
+++ b/assets/emoticons/repeater_1x1.tga
Binary files differ
diff --git a/assets/emoticons/rifle_2x1.tga b/assets/emoticons/rifle_2x1.tga
new file mode 100644
index 0000000..b59ca2a
--- /dev/null
+++ b/assets/emoticons/rifle_2x1.tga
Binary files differ
diff --git a/assets/emoticons/shotgun_2x1.tga b/assets/emoticons/shotgun_2x1.tga
new file mode 100644
index 0000000..32e1de1
--- /dev/null
+++ b/assets/emoticons/shotgun_2x1.tga
Binary files differ
diff --git a/assets/emoticons/telenode_1x1.tga b/assets/emoticons/telenode_1x1.tga
new file mode 100644
index 0000000..fce534b
--- /dev/null
+++ b/assets/emoticons/telenode_1x1.tga
Binary files differ
diff --git a/assets/emoticons/tent_1x1.tga b/assets/emoticons/tent_1x1.tga
new file mode 100644
index 0000000..6d75514
--- /dev/null
+++ b/assets/emoticons/tent_1x1.tga
Binary files differ
diff --git a/assets/emoticons/tesla_1x1.tga b/assets/emoticons/tesla_1x1.tga
new file mode 100644
index 0000000..de8a816
--- /dev/null
+++ b/assets/emoticons/tesla_1x1.tga
Binary files differ
diff --git a/assets/emoticons/trapper_1x1.tga b/assets/emoticons/trapper_1x1.tga
new file mode 100644
index 0000000..b6dc1c1
--- /dev/null
+++ b/assets/emoticons/trapper_1x1.tga
Binary files differ
diff --git a/assets/emoticons/turret_1x1.tga b/assets/emoticons/turret_1x1.tga
new file mode 100644
index 0000000..f606ac2
--- /dev/null
+++ b/assets/emoticons/turret_1x1.tga
Binary files differ
diff --git a/assets/emoticons/tyrant_1x1.tga b/assets/emoticons/tyrant_1x1.tga
new file mode 100644
index 0000000..29e37b0
--- /dev/null
+++ b/assets/emoticons/tyrant_1x1.tga
Binary files differ
diff --git a/assets/gfx/2d/bigchars.tga b/assets/gfx/2d/bigchars.tga
new file mode 100644
index 0000000..6579120
--- /dev/null
+++ b/assets/gfx/2d/bigchars.tga
Binary files differ
diff --git a/assets/gfx/2d/crosshair-psaw.tga b/assets/gfx/2d/crosshair-psaw.tga
new file mode 100644
index 0000000..d3c0e06
--- /dev/null
+++ b/assets/gfx/2d/crosshair-psaw.tga
Binary files differ
diff --git a/assets/gfx/2d/teamoverlay.tga b/assets/gfx/2d/teamoverlay.tga
new file mode 100644
index 0000000..7ef4646
--- /dev/null
+++ b/assets/gfx/2d/teamoverlay.tga
Binary files differ
diff --git a/assets/gfx/level3upg/barb_splash.tga b/assets/gfx/level3upg/barb_splash.tga
new file mode 100644
index 0000000..d0e41c5
--- /dev/null
+++ b/assets/gfx/level3upg/barb_splash.tga
Binary files differ
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/lcannon/warning2.wav b/assets/models/weapons/lcannon/warning2.wav
new file mode 100644
index 0000000..bd7ea0e
--- /dev/null
+++ b/assets/models/weapons/lcannon/warning2.wav
Binary files differ
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/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/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/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/system_ui.shader b/assets/scripts/system_ui.shader
index 4650ee0..33d9658 100644
--- a/assets/scripts/system_ui.shader
+++ b/assets/scripts/system_ui.shader
@@ -61,7 +61,7 @@ ui/assets/score_baseb
scripts/loading_add
{
{
- map ui/assets/loading_add.png
+ map ui/assets/loading_add.jpg
blendfunc add
}
}
@@ -69,7 +69,7 @@ scripts/loading_add
scripts/stage_add
{
{
- map ui/assets/stage_add.png
+ map ui/assets/stage_add.jpg
blendfunc add
}
}
@@ -77,7 +77,7 @@ scripts/stage_add
scripts/main_add
{
{
- map ui/assets/main_add.png
+ map ui/assets/main_add.jpg
blendfunc add
}
}
@@ -85,7 +85,7 @@ scripts/main_add
scripts/main_add_pulse
{
{
- map ui/assets/main_add_pulse.png
+ map ui/assets/main_add_pulse.jpg
blendfunc add
rgbGen wave sin 0.6 .7 5 0.2
}
@@ -94,7 +94,7 @@ scripts/main_add_pulse
scripts/scoreaddlight
{
{
- map ui/assets/score_flicker.png
+ map ui/assets/score_flicker.jpg
blendfunc add
rgbGen wave sin 0.4 1 8 0.1
}
@@ -103,7 +103,7 @@ scripts/scoreaddlight
scripts/scoreadd
{
{
- map ui/assets/score_add.png
+ map ui/assets/score_add.jpg
blendfunc add
}
}
@@ -158,12 +158,12 @@ gfx/misc/yaltsedges
scripts/ye_full
{
{
- map ui/assets/ye_full.png
+ map ui/assets/ye_full.jpg
blendfunc add
}
{
- map ui/assets/ye_full.png
+ map ui/assets/ye_full.jpg
blendfunc add
rgbGen wave sin 0.1 0.2 0 15
}
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..cc4854e
--- /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 300
+ 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/weapons/click.wav b/assets/sound/weapons/click.wav
new file mode 100644
index 0000000..3a04e10
--- /dev/null
+++ b/assets/sound/weapons/click.wav
Binary files differ
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/alien/buildstat/frame.tga b/assets/ui/assets/alien/buildstat/frame.tga
new file mode 100644
index 0000000..3b1e1f5
--- /dev/null
+++ b/assets/ui/assets/alien/buildstat/frame.tga
Binary files differ
diff --git a/assets/ui/assets/alien/buildstat/green.tga b/assets/ui/assets/alien/buildstat/green.tga
new file mode 100644
index 0000000..21a70b7
--- /dev/null
+++ b/assets/ui/assets/alien/buildstat/green.tga
Binary files differ
diff --git a/assets/ui/assets/alien/buildstat/health.tga b/assets/ui/assets/alien/buildstat/health.tga
new file mode 100644
index 0000000..fa26977
--- /dev/null
+++ b/assets/ui/assets/alien/buildstat/health.tga
Binary files differ
diff --git a/assets/ui/assets/alien/buildstat/mark.tga b/assets/ui/assets/alien/buildstat/mark.tga
new file mode 100644
index 0000000..ef9123c
--- /dev/null
+++ b/assets/ui/assets/alien/buildstat/mark.tga
Binary files differ
diff --git a/assets/ui/assets/alien/buildstat/overlay.tga b/assets/ui/assets/alien/buildstat/overlay.tga
new file mode 100644
index 0000000..64a2358
--- /dev/null
+++ b/assets/ui/assets/alien/buildstat/overlay.tga
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/assets/human/buildstat/frame.tga b/assets/ui/assets/human/buildstat/frame.tga
new file mode 100644
index 0000000..3b1e1f5
--- /dev/null
+++ b/assets/ui/assets/human/buildstat/frame.tga
Binary files differ
diff --git a/assets/ui/assets/human/buildstat/green.tga b/assets/ui/assets/human/buildstat/green.tga
new file mode 100644
index 0000000..21a70b7
--- /dev/null
+++ b/assets/ui/assets/human/buildstat/green.tga
Binary files differ
diff --git a/assets/ui/assets/human/buildstat/health.tga b/assets/ui/assets/human/buildstat/health.tga
new file mode 100644
index 0000000..fa26977
--- /dev/null
+++ b/assets/ui/assets/human/buildstat/health.tga
Binary files differ
diff --git a/assets/ui/assets/human/buildstat/mark.tga b/assets/ui/assets/human/buildstat/mark.tga
new file mode 100644
index 0000000..ef9123c
--- /dev/null
+++ b/assets/ui/assets/human/buildstat/mark.tga
Binary files differ
diff --git a/assets/ui/assets/loading_add.jpg b/assets/ui/assets/loading_add.jpg
new file mode 100644
index 0000000..4174e0d
--- /dev/null
+++ b/assets/ui/assets/loading_add.jpg
Binary files differ
diff --git a/assets/ui/assets/main_add.jpg b/assets/ui/assets/main_add.jpg
new file mode 100644
index 0000000..d9cdd94
--- /dev/null
+++ b/assets/ui/assets/main_add.jpg
Binary files differ
diff --git a/assets/ui/assets/main_add_pulse.jpg b/assets/ui/assets/main_add_pulse.jpg
new file mode 100644
index 0000000..e913a98
--- /dev/null
+++ b/assets/ui/assets/main_add_pulse.jpg
Binary files differ
diff --git a/assets/ui/assets/main_base.jpg b/assets/ui/assets/main_base.jpg
new file mode 100644
index 0000000..a39fa2c
--- /dev/null
+++ b/assets/ui/assets/main_base.jpg
Binary files differ
diff --git a/assets/ui/assets/neutral/charge_bg_h.tga b/assets/ui/assets/neutral/charge_bg_h.tga
new file mode 100644
index 0000000..a88994f
--- /dev/null
+++ b/assets/ui/assets/neutral/charge_bg_h.tga
Binary files differ
diff --git a/assets/ui/assets/neutral/charge_bg_v.tga b/assets/ui/assets/neutral/charge_bg_v.tga
new file mode 100644
index 0000000..60a97bb
--- /dev/null
+++ b/assets/ui/assets/neutral/charge_bg_v.tga
Binary files differ
diff --git a/assets/ui/assets/neutral/charge_cap_h.tga b/assets/ui/assets/neutral/charge_cap_h.tga
new file mode 100644
index 0000000..0ea453f
--- /dev/null
+++ b/assets/ui/assets/neutral/charge_cap_h.tga
Binary files differ
diff --git a/assets/ui/assets/neutral/charge_cap_v.tga b/assets/ui/assets/neutral/charge_cap_v.tga
new file mode 100644
index 0000000..5129e07
--- /dev/null
+++ b/assets/ui/assets/neutral/charge_cap_v.tga
Binary files differ
diff --git a/assets/ui/assets/neutral/cross2.tga b/assets/ui/assets/neutral/cross2.tga
new file mode 100644
index 0000000..a2ff8d8
--- /dev/null
+++ b/assets/ui/assets/neutral/cross2.tga
Binary files differ
diff --git a/assets/ui/assets/neutral/cross3.tga b/assets/ui/assets/neutral/cross3.tga
new file mode 100644
index 0000000..6d13cd4
--- /dev/null
+++ b/assets/ui/assets/neutral/cross3.tga
Binary files differ
diff --git a/assets/ui/assets/neutral/cross_medkit.tga b/assets/ui/assets/neutral/cross_medkit.tga
new file mode 100644
index 0000000..67c3ecc
--- /dev/null
+++ b/assets/ui/assets/neutral/cross_medkit.tga
Binary files differ
diff --git a/assets/ui/assets/neutral/cross_poison.tga b/assets/ui/assets/neutral/cross_poison.tga
new file mode 100644
index 0000000..360e597
--- /dev/null
+++ b/assets/ui/assets/neutral/cross_poison.tga
Binary files differ
diff --git a/assets/ui/assets/score_add.jpg b/assets/ui/assets/score_add.jpg
new file mode 100644
index 0000000..a2d1223
--- /dev/null
+++ b/assets/ui/assets/score_add.jpg
Binary files differ
diff --git a/assets/ui/assets/score_flicker.jpg b/assets/ui/assets/score_flicker.jpg
new file mode 100644
index 0000000..8e41bef
--- /dev/null
+++ b/assets/ui/assets/score_flicker.jpg
Binary files differ
diff --git a/assets/ui/assets/stage_add.jpg b/assets/ui/assets/stage_add.jpg
new file mode 100644
index 0000000..e93b598
--- /dev/null
+++ b/assets/ui/assets/stage_add.jpg
Binary files differ
diff --git a/assets/ui/connect.menu b/assets/ui/connect.menu
index 45c62d6..44a7568 100644
--- a/assets/ui/connect.menu
+++ b/assets/ui/connect.menu
@@ -31,17 +31,7 @@
background "ui/menu_main_aurora_base"
decoration
}
-
- itemDef
- {
- name "dist"
- style WINDOW_STYLE_SHADER
- rect 0 13 640 440
- visible 1
- background "gfx/edge/basi_invisble_overlay"
- decoration
- }
-
+
itemDef
{
name window
diff --git a/assets/ui/createserver.menu b/assets/ui/createserver.menu
index 9ebe65d..ebd6ef5 100644
--- a/assets/ui/createserver.menu
+++ b/assets/ui/createserver.menu
@@ -80,17 +80,7 @@
background "ui/menu_main_aurora_base"
decoration
}
-
- itemDef
- {
- name "dist"
- style WINDOW_STYLE_SHADER
- rect 0 13 640 440
- visible 1
- background "gfx/edge/basi_invisble_overlay"
- decoration
- }
-
+
itemDef
{
name window
diff --git a/assets/ui/ingame.menu b/assets/ui/ingame.menu
index 033e6f1..8dd9b6c 100644
--- a/assets/ui/ingame.menu
+++ b/assets/ui/ingame.menu
@@ -39,16 +39,6 @@ menuDef
itemDef
{
- name "dist"
- style WINDOW_STYLE_SHADER
- rect -250 0 1000 480
- visible 1
- background "gfx/edge/basi_invisble_overlay"
- decoration
- }
-
- itemDef
- {
name "edgesplash"
rect 250 50 680 680
type ITEM_TYPE_MODEL
@@ -231,4 +221,4 @@ menuDef
open ingame_leave
}
}
-} \ No newline at end of file
+}
diff --git a/assets/ui/ingame_game.menu b/assets/ui/ingame_game.menu
index 76d4ed6..3af0a4b 100644
--- a/assets/ui/ingame_game.menu
+++ b/assets/ui/ingame_game.menu
@@ -44,16 +44,6 @@
background "ui/menu_main_aurora_base"
decoration
}
-
- itemDef
- {
- name "dist"
- style WINDOW_STYLE_SHADER
- rect -50 -150 1000 600
- visible 1
- background "gfx/edge/basi_invisble_overlay"
- decoration
- }
itemDef
{
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_ignore.menu b/assets/ui/ingame_ignore.menu
index ec56a3a..aae8d0f 100644
--- a/assets/ui/ingame_ignore.menu
+++ b/assets/ui/ingame_ignore.menu
@@ -121,16 +121,6 @@
background "ui/menu_main_aurora_base"
decoration
}
-
- itemDef
- {
- name "dist"
- style WINDOW_STYLE_SHADER
- rect -50 -150 1000 600
- visible 1
- background "gfx/edge/basi_invisble_overlay"
- decoration
- }
itemDef
{
diff --git a/assets/ui/ingame_leave.menu b/assets/ui/ingame_leave.menu
index 7aaa94a..be68711 100644
--- a/assets/ui/ingame_leave.menu
+++ b/assets/ui/ingame_leave.menu
@@ -43,16 +43,6 @@
background "ui/menu_main_aurora_base"
decoration
}
-
- itemDef
- {
- name "dist"
- style WINDOW_STYLE_SHADER
- rect -50 -150 1000 600
- visible 1
- background "gfx/edge/basi_invisble_overlay"
- decoration
- }
itemDef
{
diff --git a/assets/ui/ingame_map.menu b/assets/ui/ingame_map.menu
index 669cc11..71b2cff 100644
--- a/assets/ui/ingame_map.menu
+++ b/assets/ui/ingame_map.menu
@@ -40,16 +40,6 @@
background "ui/menu_main_aurora_base"
decoration
}
-
- itemDef
- {
- name "dist"
- style WINDOW_STYLE_SHADER
- rect -250 0 1000 480
- visible 1
- background "gfx/edge/basi_invisble_overlay"
- decoration
- }
itemDef
{
@@ -101,4 +91,4 @@
}
}
}
-} \ No newline at end of file
+}
diff --git a/assets/ui/ingame_map19201080.menu b/assets/ui/ingame_map19201080.menu
index f69ce55..f551a25 100644
--- a/assets/ui/ingame_map19201080.menu
+++ b/assets/ui/ingame_map19201080.menu
@@ -44,16 +44,6 @@
background "ui/menu_main_aurora_base"
decoration
}
-
- itemDef
- {
- name "dist"
- style WINDOW_STYLE_SHADER
- rect -50 0 1000 480
- visible 1
- background "gfx/edge/basi_invisble_overlay"
- decoration
- }
itemDef
{
@@ -211,4 +201,4 @@
decoration
}
}
-} \ No newline at end of file
+}
diff --git a/assets/ui/ingame_map640480.menu b/assets/ui/ingame_map640480.menu
index 9d6790e..ef89470 100644
--- a/assets/ui/ingame_map640480.menu
+++ b/assets/ui/ingame_map640480.menu
@@ -44,16 +44,6 @@
background "ui/menu_main_aurora_base"
decoration
}
-
- itemDef
- {
- name "dist"
- style WINDOW_STYLE_SHADER
- rect -250 0 1000 480
- visible 1
- background "gfx/edge/basi_invisble_overlay"
- decoration
- }
itemDef
{
@@ -213,4 +203,4 @@
decoration
}
}
-} \ No newline at end of file
+}
diff --git a/assets/ui/ingame_options.menu b/assets/ui/ingame_options.menu
index 9dbae40..011a957 100644
--- a/assets/ui/ingame_options.menu
+++ b/assets/ui/ingame_options.menu
@@ -66,16 +66,6 @@
background "ui/menu_main_aurora_base"
decoration
}
-
- itemDef
- {
- name "dist"
- style WINDOW_STYLE_SHADER
- rect -250 -150 1000 600
- visible 1
- background "gfx/edge/basi_invisble_overlay"
- decoration
- }
itemDef
{
diff --git a/assets/ui/ingame_robot.menu b/assets/ui/ingame_robot.menu
index c9c1e02..7dee5de 100644
--- a/assets/ui/ingame_robot.menu
+++ b/assets/ui/ingame_robot.menu
@@ -41,16 +41,6 @@
background "ui/menu_main_aurora_base"
decoration
}
-
- itemDef
- {
- name "dist"
- style WINDOW_STYLE_SHADER
- rect -150 -150 1000 600
- visible 1
- background "gfx/edge/basi_invisble_overlay"
- decoration
- }
itemDef
{
diff --git a/assets/ui/ingame_sbrowser.menu b/assets/ui/ingame_sbrowser.menu
index 4a8a9f2..02c86c8 100644
--- a/assets/ui/ingame_sbrowser.menu
+++ b/assets/ui/ingame_sbrowser.menu
@@ -86,16 +86,6 @@
background "ui/menu_main_aurora_base"
decoration
}
-
- itemDef
- {
- name "dist"
- style WINDOW_STYLE_SHADER
- rect -250 0 1000 480
- visible 1
- background "gfx/edge/basi_invisble_overlay"
- decoration
- }
itemDef
{
@@ -575,4 +565,4 @@
uiScript JoinServer
}
}
-} \ No newline at end of file
+}
diff --git a/assets/ui/ingame_yehelp.menu b/assets/ui/ingame_yehelp.menu
index a9f9aa7..47f857c 100644
--- a/assets/ui/ingame_yehelp.menu
+++ b/assets/ui/ingame_yehelp.menu
@@ -39,16 +39,7 @@
background "ui/menu_main_aurora_base"
decoration
}
-
- itemDef
- {
- name "dist"
- style WINDOW_STYLE_SHADER
- rect -250 0 1000 480
- visible 1
- background "gfx/edge/basi_invisble_overlay"
- decoration
- }
+ }
itemDef
{
@@ -84,4 +75,4 @@
decoration
}
}
-} \ No newline at end of file
+}
diff --git a/assets/ui/joinserver.menu b/assets/ui/joinserver.menu
index 8cc370f..8656b13 100644
--- a/assets/ui/joinserver.menu
+++ b/assets/ui/joinserver.menu
@@ -86,17 +86,7 @@
background "ui/menu_main_aurora_base"
decoration
}
-
- itemDef
- {
- name "dist"
- style WINDOW_STYLE_SHADER
- rect 0 13 640 440
- visible 1
- background "gfx/edge/basi_invisble_overlay"
- decoration
- }
-
+
itemDef
{
name window
@@ -609,4 +599,4 @@
uiScript JoinServer
}
}
-} \ No newline at end of file
+}
diff --git a/assets/ui/loading.menu b/assets/ui/loading.menu
index 458b245..d4e0e05 100644
--- a/assets/ui/loading.menu
+++ b/assets/ui/loading.menu
@@ -86,17 +86,7 @@
background "ui/menu_main_aurora_base"
decoration
}
-
- itemDef
- {
- name "dist"
- style WINDOW_STYLE_SHADER
- rect 0 13 640 440
- visible 1
- background "gfx/edge/basi_invisble_overlay"
- decoration
- }
-
+
itemDef
{
name window
diff --git a/assets/ui/main.menu b/assets/ui/main.menu
index df08bef..23907b7 100644
--- a/assets/ui/main.menu
+++ b/assets/ui/main.menu
@@ -48,16 +48,6 @@
decoration
}
- itemDef
- {
- name "dist"
- style WINDOW_STYLE_SHADER
- rect 0 13 640 440
- visible 1
- background "gfx/edge/basi_invisble_overlay"
- decoration
- }
-
itemDef
{
name window
diff --git a/assets/ui/menudef.h b/assets/ui/menudef.h
index 9ab2c4f..4ea3cb5 100644
--- a/assets/ui/menudef.h
+++ b/assets/ui/menudef.h
@@ -1,121 +1,94 @@
#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 ITEM_TYPE_ANY -1 // invalid type
+#define ITEM_TYPE_NONE 0 // no specified type
+#define ITEM_TYPE_TEXT 1 // simple text
+#define ITEM_TYPE_BUTTON 2 // button basically text with a border
+#define ITEM_TYPE_RADIOBUTTON 3 // toggle button may be grouped
+#define ITEM_TYPE_CHECKBOX 4 // check box
+#define ITEM_TYPE_EDITFIELD 5 // editable text associated with a cvar
+#define ITEM_TYPE_SAYFIELD 6 // the chat field
+#define ITEM_TYPE_CYCLE 7 // cycling list
+#define ITEM_TYPE_LISTBOX 8 // scrollable list
+#define ITEM_TYPE_COMBOBOX 9 // drop down scrollable list
+#define ITEM_TYPE_MODEL 10 // model
+#define ITEM_TYPE_OWNERDRAW 11 // owner draw has an associated ownerdraw number
+#define ITEM_TYPE_NUMERICFIELD 12 // editable text associated with a cvar
+#define ITEM_TYPE_SLIDER 13 // mouse speed volume etc.
+#define ITEM_TYPE_YESNO 14 // boolean cvar setting
+#define ITEM_TYPE_MULTI 15 // multiple list setting enumerated
+#define ITEM_TYPE_BIND 16 // keyboard control configuration
// The first items in these enums are the defaults if menus do not specify
-enum
-{
- ALIGN_LEFT, // left alignment
- ALIGN_CENTER, // center alignment
- ALIGN_RIGHT, // right alignment
- ASPECT_NONE, // no aspect compensation
- ALIGN_NONE
-};
-
-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 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
+
+#define VALIGN_BOTTOM 0 // bottom alignment
+#define VALIGN_CENTER 1 // center alignment
+#define VALIGN_TOP 2 // top alignment
+#define VALIGN_NONE 3
+
+#define ITEM_TEXTSTYLE_NORMAL 0 // normal text
+#define ITEM_TEXTSTYLE_BLINK 1 // fast blinking
+#define ITEM_TEXTSTYLE_PULSE 2 // slow pulsing
+#define ITEM_TEXTSTYLE_SHADOWED 3 // drop shadow (need a color for this)
+#define ITEM_TEXTSTYLE_OUTLINED 4 // apparently unimplemented
+#define ITEM_TEXTSTYLE_OUTLINESHADOWED 5 // apparently unimplemented
+#define ITEM_TEXTSTYLE_SHADOWEDMORE 6 // drop shadow (need a color for this)
+#define ITEM_TEXTSTYLE_NEON 7 // glow (need a color for this)
+
+#define WINDOW_BORDER_NONE 0 // no border
+#define WINDOW_BORDER_FULL 1 // full border based on border color (single pixel)
+#define WINDOW_BORDER_HORZ 2 // horizontal borders only
+#define WINDOW_BORDER_VERT 3 // vertical borders only
+#define WINDOW_BORDER_KCGRADIENT 4 // horizontal border using the gradient bars
+
+#define WINDOW_STYLE_EMPTY 0 // no background
+#define WINDOW_STYLE_FILLED 1 // filled with background color
+#define WINDOW_STYLE_GRADIENT 2 // gradient bar based on background color
+#define WINDOW_STYLE_SHADER 3 // use background shader
+#define WINDOW_STYLE_TEAMCOLOR 4 // team color
+#define WINDOW_STYLE_CINEMATIC 5 // cinematic
#define MENU_TRUE 1 // uh.. true
#define MENU_FALSE 0 // and false
-enum
-{
- HUD_VERTICAL,
- HUD_HORIZONTAL
-};
+#define HUD_VERTICAL 0
+#define HUD_HORIZONTAL 1
// list box element types
-enum
-{
- LISTBOX_TEXT,
- LISTBOX_IMAGE
-};
+#define LISTBOX_TEXT 0
+#define LISTBOX_IMAGE 1
// 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
-};
+#define FEEDER_SERVERS 0 // servers
+#define FEEDER_MAPS 1 // all maps available in graphic format
+#define FEEDER_ALIENTEAM_LIST 2 // alien team members
+#define FEEDER_HUMANTEAM_LIST 3 // human team members
+#define FEEDER_TEAM_LIST 4 // team members for team voting
+#define FEEDER_PLAYER_LIST 5 // players
+#define FEEDER_NEWS 6 // news
+#define FEEDER_MODS 7 // list of available mods
+#define FEEDER_DEMOS 8 // list of available demo files
+#define FEEDER_SERVERSTATUS 9 // server status
+#define FEEDER_FINDPLAYER 10 // find player
+#define FEEDER_CINEMATICS 11 // cinematics
+
+#define FEEDER_TREMTEAMS 12 // teams
+#define FEEDER_TREMALIENCLASSES 13 // alien classes
+#define FEEDER_TREMHUMANITEMS 14 // human items
+#define FEEDER_TREMHUMANARMOURYBUY 15 // human buy
+#define FEEDER_TREMHUMANARMOURYSELL 16 // human sell
+#define FEEDER_TREMALIENUPGRADE 17 // alien upgrade
+#define FEEDER_TREMALIENBUILD 18 // alien buildables
+#define FEEDER_TREMHUMANBUILD 19 // human buildables
+#define FEEDER_IGNORE_LIST 20 // ignored players
+#define FEEDER_HELP_LIST 21 // help topics
+#define FEEDER_RESOLUTIONS 22 // display resolutions
// display flags
#define UI_SHOW_FAVORITESERVERS 0x00000001
@@ -129,106 +102,103 @@ enum
#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_BOMBS,
- CG_PLAYER_PRICKLES,
- CG_PLAYER_FBREATH,
- CG_DRAW_INVI_STAT,
- CG_DRAW_INVI_OVERLAY,
- 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,
+#define CG_PLAYER_HEALTH 0
+#define CG_PLAYER_HEALTH_CROSS 1
+#define CG_PLAYER_AMMO_VALUE 2
+#define CG_PLAYER_CLIPS_VALUE 3
+#define CG_PLAYER_BUILD_TIMER 4
+#define CG_PLAYER_CREDITS_VALUE 5
+#define CG_PLAYER_CREDITS_VALUE_NOPAD 6
+#define CG_PLAYER_STAMINA 7
+#define CG_PLAYER_STAMINA_1 8
+#define CG_PLAYER_STAMINA_2 9
+#define CG_PLAYER_STAMINA_3 10
+#define CG_PLAYER_STAMINA_4 11
+#define CG_PLAYER_STAMINA_BOLT 12
+#define CG_PLAYER_BOOST_BOLT 13
+#define CG_PLAYER_CLIPS_RING 14
+#define CG_PLAYER_BUILD_TIMER_RING 15
+#define CG_PLAYER_SELECT 16
+#define CG_PLAYER_SELECTTEXT 17
+#define CG_PLAYER_WEAPONICON 18
+#define CG_PLAYER_WALLCLIMBING 19
+#define CG_PLAYER_BOOSTED 20
+#define CG_PLAYER_POISON_BARBS 21
+#define CG_PLAYER_BOMBS 22
+#define CG_PLAYER_PRICKLES 23
+#define CG_PLAYER_FBREATH 24
+#define CG_DRAW_INVI_STAT 25
+#define CG_DRAW_INVI_OVERLAY 26
+#define CG_PLAYER_ALIEN_SENSE 27
+#define CG_PLAYER_HUMAN_SCANNER 28
+#define CG_PLAYER_USABLE_BUILDABLE 29
+#define CG_PLAYER_CHARGE_BAR_BG 30
+#define CG_PLAYER_CHARGE_BAR 31
+#define CG_PLAYER_CROSSHAIR 32
+#define CG_PLAYER_LOCATION 33
+#define CG_TEAMOVERLAY 34
+#define CG_PLAYER_CREDITS_FRACTION 35
+
+#define CG_KILLER 36
+#define CG_SPECTATORS 37
+#define CG_FOLLOW 38
// loading screen
- CG_LOAD_LEVELSHOT,
- CG_LOAD_EDGESHOT,
- 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_ALIEN_BUILD_POOL,
- CG_HUMAN_BUILD_POOL,
- CG_BUILD_POOL_BARS,
- CG_ALIEN_NOBP_FLASH,
- CG_HUMAN_NOBP_FLASH,
- CG_ALIENS_SCORE_LABEL,
- CG_HUMANS_SCORE_LABEL,
- CG_DEMO_PLAYBACK,
- CG_DEMO_RECORDING,
-
- CG_CONSOLE,
- CG_TUTORIAL,
- CG_CLOCK,
-
- 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
-};
+#define CG_LOAD_LEVELSHOT 39
+#define CG_LOAD_EDGESHOT 40
+#define CG_LOAD_MEDIA 41
+#define CG_LOAD_MEDIA_LABEL 42
+#define CG_LOAD_BUILDABLES 43
+#define CG_LOAD_BUILDABLES_LABEL 44
+#define CG_LOAD_CHARMODEL 45
+#define CG_LOAD_CHARMODEL_LABEL 46
+#define CG_LOAD_OVERALL 47
+#define CG_LOAD_LEVELNAME 48
+#define CG_LOAD_MOTD 49
+#define CG_LOAD_HOSTNAME 50
+
+#define CG_FPS 51
+#define CG_FPS_FIXED 52
+#define CG_TIMER 53
+#define CG_TIMER_MINS 54
+#define CG_TIMER_SECS 55
+#define CG_SNAPSHOT 56
+#define CG_LAGOMETER 57
+#define CG_SPEEDOMETER 58
+#define CG_PLAYER_CROSSHAIRNAMES 59
+#define CG_STAGE_REPORT_TEXT 60
+#define CG_ALIEN_BUILD_POOL 61
+#define CG_HUMAN_BUILD_POOL 62
+#define CG_BUILD_POOL_BARS 63
+#define CG_ALIEN_NOBP_FLASH 64
+#define CG_HUMAN_NOBP_FLASH 65
+#define CG_ALIENS_SCORE_LABEL 66
+#define CG_HUMANS_SCORE_LABEL 67
+#define CG_DEMO_PLAYBACK 68
+#define CG_DEMO_RECORDING 69
+
+#define CG_CONSOLE 70
+#define CG_TUTORIAL 71
+#define CG_CLOCK 72
+
+#define UI_NETSOURCE 73
+#define UI_NETMAPPREVIEW 74
+#define UI_NETMAPCINEMATIC 75
+#define UI_SERVERREFRESHDATE 76
+#define UI_SERVERMOTD 77
+#define UI_GLINFO 78
+#define UI_KEYBINDSTATUS 79
+#define UI_SELECTEDMAPPREVIEW 80
+#define UI_SELECTEDMAPNAME 81
+
+#define UI_TEAMINFOPANE 82
+#define UI_ACLASSINFOPANE 83
+#define UI_AUPGRADEINFOPANE 84
+#define UI_HITEMINFOPANE 85
+#define UI_HBUYINFOPANE 86
+#define UI_HSELLINFOPANE 87
+#define UI_ABUILDINFOPANE 88
+#define UI_HBUILDINFOPANE 89
+#define UI_HELPINFOPANE 90
#endif
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/ptrc.menu b/assets/ui/ptrc.menu
new file mode 100644
index 0000000..f4785f3
--- /dev/null
+++ b/assets/ui/ptrc.menu
@@ -0,0 +1,109 @@
+#include "ui/menudef.h"
+
+{
+ // PTRC POPUP MENU //
+
+#define W 280
+#define H 140
+#define BORDER 10
+
+#define BUTT_H 25
+#define BUTT_W 45
+
+#define INFO_W (W-(2*BORDER))
+#define INFO_H (H-((3*BORDER)+BUTT_H))
+#define INFO_X BORDER
+#define INFO_Y BORDER
+
+ menuDef
+ {
+ name "ptrc_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 ptrc_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
+ }
+
+
+ // PTRC //
+
+ itemDef
+ {
+ name confirm
+ type ITEM_TYPE_TEXT
+ text "It seems that you disconnected during this game. Would you like to be restored to your previous state?"
+ style WINDOW_STYLE_EMPTY
+ textscale .4
+ textstyle WINDOW_STYLE_SHADER
+ rect INFO_X INFO_Y INFO_W INFO_H
+ textalign ALIGN_CENTER
+ textvalign VALIGN_CENTER
+ decoration
+ wrapped
+ forecolor 1 1 1 1
+ visible MENU_TRUE
+ }
+
+ itemDef
+ {
+ name yes
+ text "YES"
+ type ITEM_TYPE_BUTTON
+ textscale .4
+ 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
+ visible MENU_TRUE
+ action
+ {
+ play "sound/misc/menu4.wav";
+ uiScript PTRCRestore;
+ close ptrc_popmenu
+ }
+ }
+
+
+ itemDef
+ {
+ name no
+ text "NO"
+ type ITEM_TYPE_BUTTON
+ textscale .4
+ rect (W-(BORDER+BUTT_W)) (H-(BORDER+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 ptrc_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/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
+ }
+ }
+}