summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-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
-rw-r--r--src/cgame/cg_buildable.c6
-rw-r--r--src/cgame/cg_draw.c2
-rw-r--r--src/cgame/cg_ents.c3
-rw-r--r--src/cgame/cg_local.h2
-rw-r--r--src/cgame/cg_main.c18
-rw-r--r--src/cgame/cg_public.h21
-rw-r--r--src/cgame/cg_servercmds.c16
-rw-r--r--src/cgame/cg_syscalls.asm114
-rw-r--r--src/cgame/cg_syscalls.c18
-rw-r--r--src/cgame/cg_weapons.c23
-rw-r--r--src/game/bg_misc.c9
-rw-r--r--src/game/bg_pmove.c60
-rw-r--r--src/game/bg_public.h2
-rw-r--r--src/game/g_buildable.c4
-rw-r--r--src/game/g_main.c13
-rw-r--r--src/game/g_public.h7
-rw-r--r--src/game/g_syscalls.asm121
-rw-r--r--src/game/g_syscalls.c16
-rw-r--r--src/game/g_team.c2
-rw-r--r--src/qcommon/q_shared.h10
-rw-r--r--src/qcommon/qcommon.h2
-rw-r--r--src/ui/ui_main.c11
-rw-r--r--src/ui/ui_public.h30
-rw-r--r--src/ui/ui_shared.h3
-rw-r--r--src/ui/ui_syscalls.asm119
-rw-r--r--src/ui/ui_syscalls.c10
185 files changed, 3516 insertions, 764 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
+ }
+ }
+}
diff --git a/src/cgame/cg_buildable.c b/src/cgame/cg_buildable.c
index 5b2582c..e2e33f8 100644
--- a/src/cgame/cg_buildable.c
+++ b/src/cgame/cg_buildable.c
@@ -709,7 +709,7 @@ static void CG_BuildableParticleEffects( centity_t *cent )
{
entityState_t *es = &cent->currentState;
team_t team = BG_Buildable( es->modelindex )->team;
- int health = es->generic1;
+ int health = es->constantLight;
float healthFrac = (float)health / BG_Buildable( es->modelindex )->health;
if( !( es->eFlags & EF_B_SPAWNED ) )
@@ -1055,7 +1055,7 @@ static void CG_BuildableStatusDisplay( centity_t *cent )
return;
}
- health = es->generic1;
+ health = es->constantLight;
healthScale = (float)health / BG_Buildable( es->modelindex )->health;
if( health > 0 && healthScale < 0.01f )
@@ -1535,7 +1535,7 @@ void CG_Buildable( centity_t *cent )
trap_S_AddLoopingSound( es->number, cent->lerpOrigin, vec3_origin, weapon->readySound );
}
- health = es->generic1;
+ health = es->constantLight;
if( health < cent->lastBuildableHealth &&
( es->eFlags & EF_B_SPAWNED ) )
diff --git a/src/cgame/cg_draw.c b/src/cgame/cg_draw.c
index 4e2ba77..1d18023 100644
--- a/src/cgame/cg_draw.c
+++ b/src/cgame/cg_draw.c
@@ -4072,7 +4072,7 @@ static void CG_DrawHealthBars( void )
if( CG_PlayerIsBuilder( es->modelindex ) )
continue;
- bar->value = es->generic1;
+ bar->value = es->constantLight;
bar->max = BG_Buildable( es->modelindex )->health;
BG_BuildableBoundingBox( es->modelindex, mins, maxs );
break;
diff --git a/src/cgame/cg_ents.c b/src/cgame/cg_ents.c
index a9663ad..13e0470 100644
--- a/src/cgame/cg_ents.c
+++ b/src/cgame/cg_ents.c
@@ -236,7 +236,8 @@ static void CG_EntityEffects( centity_t *cent )
// constant light glow
- if ( cent->currentState.constantLight )
+ if ( cent->currentState.eType == ET_MOVER &&
+ cent->currentState.constantLight )
{
int cl;
int i, r, g, b;
diff --git a/src/cgame/cg_local.h b/src/cgame/cg_local.h
index 7721e45..b405cc6 100644
--- a/src/cgame/cg_local.h
+++ b/src/cgame/cg_local.h
@@ -1072,8 +1072,6 @@ typedef struct
int itemPickupBlendTime; // the pulse around the crosshair is timed seperately
int weaponSelectTime;
- int weaponAnimation;
- int weaponAnimationTime;
// blend blobs
float damageTime;
diff --git a/src/cgame/cg_main.c b/src/cgame/cg_main.c
index 2761922..11ea540 100644
--- a/src/cgame/cg_main.c
+++ b/src/cgame/cg_main.c
@@ -85,9 +85,6 @@ Q_EXPORT intptr_t vmMain( int command, int arg0, int arg1, int arg2, int arg3,
CG_EventHandling( arg0 );
return 0;
- case CG_VOIP_STRING:
- return (intptr_t)CG_VoIPString( );
-
default:
CG_Error( "vmMain: unknown command %i", command );
break;
@@ -2055,3 +2052,18 @@ static char *CG_VoIPString( void )
return voipString;
}
+// missing syscalls
+
+void trap_R_SetClipRegion( const float *region )
+{
+}
+
+void trap_Key_SetOverstrikeMode( qboolean state )
+{
+}
+
+qboolean trap_Key_GetOverstrikeMode( void )
+{
+ return qfalse;
+}
+
diff --git a/src/cgame/cg_public.h b/src/cgame/cg_public.h
index 9d197ff..75b4b48 100644
--- a/src/cgame/cg_public.h
+++ b/src/cgame/cg_public.h
@@ -120,7 +120,6 @@ typedef enum
CG_R_ADDLIGHTTOSCENE,
CG_R_RENDERSCENE,
CG_R_SETCOLOR,
- CG_R_SETCLIPREGION,
CG_R_DRAWSTRETCHPIC,
CG_R_MODELBOUNDS,
CG_R_LERPTAG,
@@ -139,6 +138,11 @@ typedef enum
CG_KEY_GETCATCHER,
CG_KEY_SETCATCHER,
CG_KEY_GETKEY,
+ CG_PARSE_ADD_GLOBAL_DEFINE,
+ CG_PARSE_LOAD_SOURCE,
+ CG_PARSE_FREE_SOURCE,
+ CG_PARSE_READ_TOKEN,
+ CG_PARSE_SOURCE_FILE_AND_LINE,
CG_S_STOPBACKGROUNDTRACK,
CG_REAL_TIME,
CG_SNAPVECTOR,
@@ -173,17 +177,6 @@ typedef enum
CG_KEY_GETBINDINGBUF,
CG_KEY_SETBINDING,
- CG_PARSE_ADD_GLOBAL_DEFINE,
- CG_PARSE_LOAD_SOURCE,
- CG_PARSE_FREE_SOURCE,
- CG_PARSE_READ_TOKEN,
- CG_PARSE_SOURCE_FILE_AND_LINE,
-
- CG_KEY_SETOVERSTRIKEMODE,
- CG_KEY_GETOVERSTRIKEMODE,
-
- CG_S_SOUNDDURATION,
-
CG_MEMSET = 200,
CG_MEMCPY,
CG_STRNCPY,
@@ -253,10 +246,6 @@ typedef enum
// void (*CG_ConsoleText)( void );
// pass text that has been printed to the console to cgame
// use Cmd_Argc() / Cmd_Argv() to read it
-
- CG_VOIP_STRING
- // char *(*CG_VoIPString)( void );
- // returns a string of comma-delimited clientnums based on cl_voipSendTarget
} cgameExport_t;
//----------------------------------------------
diff --git a/src/cgame/cg_servercmds.c b/src/cgame/cg_servercmds.c
index c2be336..e59cf8a 100644
--- a/src/cgame/cg_servercmds.c
+++ b/src/cgame/cg_servercmds.c
@@ -1012,12 +1012,12 @@ static void CG_Say( int clientNum, saymode_t mode, const char *text )
switch( mode )
{
case SAY_ALL:
- CG_Printf( "%s%s" S_COLOR_WHITE "%s %c" S_COLOR_GREEN "%s\n",
- prefix, name, maybeColon, INDENT_MARKER, text );
+ CG_Printf( "%s%s" S_COLOR_WHITE "%s " S_COLOR_GREEN "%s\n",
+ prefix, name, maybeColon, text );
break;
case SAY_TEAM:
- CG_Printf( "%s(%s" S_COLOR_WHITE ")%s%s %c" S_COLOR_CYAN "%s\n",
- prefix, name, location, maybeColon, INDENT_MARKER, text );
+ CG_Printf( "%s(%s" S_COLOR_WHITE ")%s%s " S_COLOR_CYAN "%s\n",
+ prefix, name, location, maybeColon, text );
break;
case SAY_ADMINS:
case SAY_ADMINS_PUBLIC:
@@ -1027,15 +1027,15 @@ static void CG_Say( int clientNum, saymode_t mode, const char *text )
name, maybeColon, INDENT_MARKER, text );
break;
case SAY_AREA:
- CG_Printf( "%s<%s" S_COLOR_WHITE ">%s%s %c" S_COLOR_BLUE "%s\n",
- prefix, name, location, maybeColon, INDENT_MARKER, text );
+ CG_Printf( "%s<%s" S_COLOR_WHITE ">%s%s " S_COLOR_BLUE "%s\n",
+ prefix, name, location, maybeColon, text );
break;
case SAY_PRIVMSG:
case SAY_TPRIVMSG:
color = ( mode == SAY_TPRIVMSG ) ? S_COLOR_CYAN : S_COLOR_GREEN;
- CG_Printf( "%s[%s" S_COLOR_WHITE " -> %s" S_COLOR_WHITE "]%s %c%s%s\n",
+ CG_Printf( "%s[%s" S_COLOR_WHITE " -> %s" S_COLOR_WHITE "]%s %s%s\n",
prefix, name, cgs.clientinfo[ cg.clientNum ].name,
- maybeColon, INDENT_MARKER, color, text );
+ maybeColon, color, text );
CG_CenterPrint( va( "%sPrivate message from: " S_COLOR_WHITE "%s",
color, name ), 200, GIANTCHAR_WIDTH * 4 );
break;
diff --git a/src/cgame/cg_syscalls.asm b/src/cgame/cg_syscalls.asm
index 2537c91..0893ebc 100644
--- a/src/cgame/cg_syscalls.asm
+++ b/src/cgame/cg_syscalls.asm
@@ -46,66 +46,60 @@ equ trap_R_AddPolyToScene -43
equ trap_R_AddLightToScene -44
equ trap_R_RenderScene -45
equ trap_R_SetColor -46
-equ trap_R_SetClipRegion -47
-equ trap_R_DrawStretchPic -48
-equ trap_R_ModelBounds -49
-equ trap_R_LerpTag -50
-equ trap_GetGlconfig -51
-equ trap_GetGameState -52
-equ trap_GetCurrentSnapshotNumber -53
-equ trap_GetSnapshot -54
-equ trap_GetServerCommand -55
-equ trap_GetCurrentCmdNumber -56
-equ trap_GetUserCmd -57
-equ trap_SetUserCmdValue -58
-equ trap_R_RegisterShaderNoMip -59
-equ trap_MemoryRemaining -60
-equ trap_R_RegisterFont -61
-equ trap_Key_IsDown -62
-equ trap_Key_GetCatcher -63
-equ trap_Key_SetCatcher -64
-equ trap_Key_GetKey -65
-equ trap_S_StopBackgroundTrack -66
-equ trap_RealTime -67
-equ trap_SnapVector -68
-equ trap_RemoveCommand -69
-equ trap_R_LightForPoint -70
-equ trap_CIN_PlayCinematic -71
-equ trap_CIN_StopCinematic -72
-equ trap_CIN_RunCinematic -73
-equ trap_CIN_DrawCinematic -74
-equ trap_CIN_SetExtents -75
-equ trap_R_RemapShader -76
-equ trap_S_AddRealLoopingSound -77
-equ trap_S_StopLoopingSound -78
-equ trap_CM_TempCapsuleModel -79
-equ trap_CM_CapsuleTrace -80
-equ trap_CM_TransformedCapsuleTrace -81
-equ trap_R_AddAdditiveLightToScene -82
-equ trap_GetEntityToken -83
-equ trap_R_AddPolysToScene -84
-equ trap_R_inPVS -85
-equ trap_FS_Seek -86
-equ trap_FS_GetFileList -87
-equ trap_LiteralArgs -88
-equ trap_CM_BiSphereTrace -89
-equ trap_CM_TransformedBiSphereTrace -90
-equ trap_GetDemoState -91
-equ trap_GetDemoPos -92
-equ trap_GetDemoName -93
-equ trap_Key_KeynumToStringBuf -94
-equ trap_Key_GetBindingBuf -95
-equ trap_Key_SetBinding -96
-
-equ trap_Parse_AddGlobalDefine -97
-equ trap_Parse_LoadSource -98
-equ trap_Parse_FreeSource -99
-equ trap_Parse_ReadToken -100
-equ trap_Parse_SourceFileAndLine -101
-equ trap_Key_SetOverstrikeMode -102
-equ trap_Key_GetOverstrikeMode -103
-
-equ trap_S_SoundDuration -104
+equ trap_R_DrawStretchPic -47
+equ trap_R_ModelBounds -48
+equ trap_R_LerpTag -49
+equ trap_GetGlconfig -50
+equ trap_GetGameState -51
+equ trap_GetCurrentSnapshotNumber -52
+equ trap_GetSnapshot -53
+equ trap_GetServerCommand -54
+equ trap_GetCurrentCmdNumber -55
+equ trap_GetUserCmd -56
+equ trap_SetUserCmdValue -57
+equ trap_R_RegisterShaderNoMip -58
+equ trap_MemoryRemaining -59
+equ trap_R_RegisterFont -60
+equ trap_Key_IsDown -61
+equ trap_Key_GetCatcher -62
+equ trap_Key_SetCatcher -63
+equ trap_Key_GetKey -64
+equ trap_Parse_AddGlobalDefine -65
+equ trap_Parse_LoadSource -66
+equ trap_Parse_FreeSource -67
+equ trap_Parse_ReadToken -68
+equ trap_Parse_SourceFileAndLine -69
+equ trap_S_StopBackgroundTrack -70
+equ trap_RealTime -71
+equ trap_SnapVector -72
+equ trap_RemoveCommand -73
+equ trap_R_LightForPoint -74
+equ trap_CIN_PlayCinematic -75
+equ trap_CIN_StopCinematic -76
+equ trap_CIN_RunCinematic -77
+equ trap_CIN_DrawCinematic -78
+equ trap_CIN_SetExtents -79
+equ trap_R_RemapShader -80
+equ trap_S_AddRealLoopingSound -81
+equ trap_S_StopLoopingSound -82
+equ trap_CM_TempCapsuleModel -83
+equ trap_CM_CapsuleTrace -84
+equ trap_CM_TransformedCapsuleTrace -85
+equ trap_R_AddAdditiveLightToScene -86
+equ trap_GetEntityToken -87
+equ trap_R_AddPolysToScene -88
+equ trap_R_inPVS -89
+equ trap_FS_Seek -90
+equ trap_FS_GetFileList -91
+equ trap_LiteralArgs -92
+equ trap_CM_BiSphereTrace -93
+equ trap_CM_TransformedBiSphereTrace -94
+equ trap_GetDemoState -95
+equ trap_GetDemoPos -96
+equ trap_GetDemoName -97
+equ trap_Key_KeynumToStringBuf -98
+equ trap_Key_GetBindingBuf -99
+equ trap_Key_SetBinding -100
equ memset -201
equ memcpy -202
diff --git a/src/cgame/cg_syscalls.c b/src/cgame/cg_syscalls.c
index 0c0b722..321783a 100644
--- a/src/cgame/cg_syscalls.c
+++ b/src/cgame/cg_syscalls.c
@@ -290,11 +290,6 @@ sfxHandle_t trap_S_RegisterSound( const char *sample, qboolean compressed )
return syscall( CG_S_REGISTERSOUND, sample, compressed );
}
-int trap_S_SoundDuration( sfxHandle_t handle )
-{
- return syscall( CG_S_SOUNDDURATION, handle );
-}
-
void trap_S_StartBackgroundTrack( const char *intro, const char *loop )
{
syscall( CG_S_STARTBACKGROUNDTRACK, intro, loop );
@@ -380,11 +375,6 @@ void trap_R_SetColor( const float *rgba )
syscall( CG_R_SETCOLOR, rgba );
}
-void trap_R_SetClipRegion( const float *region )
-{
- syscall( CG_R_SETCLIPREGION, region );
-}
-
void trap_R_DrawStretchPic( float x, float y, float w, float h,
float s1, float t1, float s2, float t2, qhandle_t hShader )
{
@@ -582,11 +572,3 @@ void trap_Key_GetBindingBuf( int keynum, char *buf, int buflen ) {
void trap_Key_SetBinding( int keynum, const char *binding ) {
syscall( CG_KEY_SETBINDING, keynum, binding );
}
-
-void trap_Key_SetOverstrikeMode( qboolean state ) {
- syscall( CG_KEY_SETOVERSTRIKEMODE, state );
-}
-
-qboolean trap_Key_GetOverstrikeMode( void ) {
- return syscall( CG_KEY_GETOVERSTRIKEMODE );
-}
diff --git a/src/cgame/cg_weapons.c b/src/cgame/cg_weapons.c
index 7fb68c9..f57eb41 100644
--- a/src/cgame/cg_weapons.c
+++ b/src/cgame/cg_weapons.c
@@ -746,27 +746,6 @@ static void CG_SetWeaponLerpFrameAnimation( weapon_t weapon, lerpFrame_t *lf, in
}
/*
-===============
-CG_WeaponAnimation
-===============
-*/
-static void CG_WeaponAnimation( centity_t *cent, int *old, int *now, float *backLerp )
-{
- lerpFrame_t *lf = &cent->pe.weapon;
- entityState_t *es = &cent->currentState;
-
- // see if the animation sequence is switching
- if( es->weaponAnim != lf->animationNumber || !lf->animation )
- CG_SetWeaponLerpFrameAnimation( es->weapon, lf, es->weaponAnim );
-
- CG_RunLerpFrame( lf, 1.0f );
-
- *old = lf->oldFrame;
- *now = lf->frame;
- *backLerp = lf->backlerp;
-}
-
-/*
=================
CG_MapTorsoToWeaponFrame
@@ -1073,8 +1052,6 @@ void CG_AddPlayerWeapon( refEntity_t *parent, playerState_t *ps, centity_t *cent
gun.customShader = cgs.media.invisibleShaderTeam;
}
- CG_WeaponAnimation( cent, &gun.oldframe, &gun.frame, &gun.backlerp );
-
trap_R_AddRefEntityToScene( &gun );
if( !ps )
diff --git a/src/game/bg_misc.c b/src/game/bg_misc.c
index 8f6da8e..9a8cef1 100644
--- a/src/game/bg_misc.c
+++ b/src/game/bg_misc.c
@@ -4197,7 +4197,6 @@ void BG_PlayerStateToEntityState( playerState_t *ps, entityState_t *s, qboolean
s->time2 = ps->movementDir;
s->legsAnim = ps->legsAnim;
s->torsoAnim = ps->torsoAnim;
- s->weaponAnim = ps->weaponAnim;
s->clientNum = ps->clientNum; // ET_PLAYER looks here instead of at number
// so corpses can also reference the proper config
s->eFlags = ps->eFlags;
@@ -4297,7 +4296,6 @@ void BG_PlayerStateToEntityStateExtraPolate( playerState_t *ps, entityState_t *s
s->time2 = ps->movementDir;
s->legsAnim = ps->legsAnim;
s->torsoAnim = ps->torsoAnim;
- s->weaponAnim = ps->weaponAnim;
s->clientNum = ps->clientNum; // ET_PLAYER looks here instead of at number
// so corpses can also reference the proper config
s->eFlags = ps->eFlags;
@@ -5238,3 +5236,10 @@ qboolean BG_ForceFieldForEntity( playerState_t *ps, entityState_t *es, forceFiel
return qfalse;
}
+
+// missing syscalls
+
+int trap_S_SoundDuration( sfxHandle_t handle )
+{
+ return 1000;
+}
diff --git a/src/game/bg_pmove.c b/src/game/bg_pmove.c
index f8f8a69..7af9a89 100644
--- a/src/game/bg_pmove.c
+++ b/src/game/bg_pmove.c
@@ -110,20 +110,6 @@ void PM_StartTorsoAnim( int anim )
/*
===================
-PM_StartWeaponAnim
-===================
-*/
-static void PM_StartWeaponAnim( int anim )
-{
- if( PM_Paralyzed( pm->ps->pm_type ) )
- return;
-
- pm->ps->weaponAnim = ( ( pm->ps->weaponAnim & ANIM_TOGGLEBIT ) ^ ANIM_TOGGLEBIT )
- | anim;
-}
-
-/*
-===================
PM_StartLegsAnim
===================
*/
@@ -191,19 +177,6 @@ static void PM_ContinueTorsoAnim( int anim )
/*
===================
-PM_ContinueWeaponAnim
-===================
-*/
-static void PM_ContinueWeaponAnim( int anim )
-{
- if( ( pm->ps->weaponAnim & ~ANIM_TOGGLEBIT ) == anim )
- return;
-
- PM_StartWeaponAnim( anim );
-}
-
-/*
-===================
PM_ForceLegsAnim
===================
*/
@@ -2886,7 +2859,6 @@ static void PM_BeginWeaponChange( int weapon )
if( !( pm->ps->persistant[ PERS_STATE ] & PS_NONSEGMODEL ) )
{
PM_StartTorsoAnim( TORSO_DROP );
- PM_StartWeaponAnim( WANIM_DROP );
}
}
@@ -2915,7 +2887,6 @@ static void PM_FinishWeaponChange( void )
if( !( pm->ps->persistant[ PERS_STATE ] & PS_NONSEGMODEL ) )
{
PM_StartTorsoAnim( TORSO_RAISE );
- PM_StartWeaponAnim( WANIM_RAISE );
}
}
@@ -2945,8 +2916,6 @@ static void PM_TorsoAnimation( void )
PM_ContinueTorsoAnim( TORSO_STAND );
}
}
-
- PM_ContinueWeaponAnim( WANIM_IDLE );
}
}
@@ -3225,8 +3194,6 @@ static void PM_Weapon( void )
PM_ContinueTorsoAnim( TORSO_STAND );
}
- PM_ContinueWeaponAnim( WANIM_IDLE );
-
return;
}
@@ -3278,7 +3245,6 @@ static void PM_Weapon( void )
//drop the weapon
PM_StartTorsoAnim( TORSO_DROP );
- PM_StartWeaponAnim( WANIM_RELOAD );
pm->ps->weaponTime += BG_Weapon( pm->ps->weapon )->reloadTime;
return;
@@ -3531,17 +3497,14 @@ static void PM_Weapon( void )
{
case WP_GRENADE:
PM_StartTorsoAnim( TORSO_ATTACK3 );
- PM_StartWeaponAnim( WANIM_ATTACK1 );
break;
case WP_BLASTER:
PM_StartTorsoAnim( TORSO_ATTACK2 );
- PM_StartWeaponAnim( WANIM_ATTACK1 );
break;
default:
PM_StartTorsoAnim( TORSO_ATTACK );
- PM_StartWeaponAnim( WANIM_ATTACK1 );
break;
}
}
@@ -3556,9 +3519,7 @@ static void PM_Weapon( void )
case WP_ALEVEL1:
if( attack1 )
{
- num /= RAND_MAX / 6 + 1;
PM_ForceLegsAnim( NSPA_ATTACK1 );
- PM_StartWeaponAnim( WANIM_ATTACK1 + num );
}
break;
@@ -3566,38 +3527,31 @@ static void PM_Weapon( void )
if( attack2 )
{
PM_ForceLegsAnim( NSPA_ATTACK2 );
- PM_StartWeaponAnim( WANIM_ATTACK7 );
}
case WP_ALEVEL2:
if( attack1 )
{
- num /= RAND_MAX / 6 + 1;
PM_ForceLegsAnim( NSPA_ATTACK1 );
- PM_StartWeaponAnim( WANIM_ATTACK1 + num );
}
break;
case WP_ALEVEL4:
num /= RAND_MAX / 3 + 1;
PM_ForceLegsAnim( NSPA_ATTACK1 + num );
- PM_StartWeaponAnim( WANIM_ATTACK1 + num );
break;
default:
if( attack1 )
{
PM_ForceLegsAnim( NSPA_ATTACK1 );
- PM_StartWeaponAnim( WANIM_ATTACK1 );
}
else if( attack2 )
{
PM_ForceLegsAnim( NSPA_ATTACK2 );
- PM_StartWeaponAnim( WANIM_ATTACK2 );
}
else if( attack3 )
{
PM_ForceLegsAnim( NSPA_ATTACK3 );
- PM_StartWeaponAnim( WANIM_ATTACK3 );
}
break;
}
@@ -3686,8 +3640,6 @@ static void PM_Animate( void )
if( pm->cmd.buttons & BUTTON_GESTURE )
{
- if( pm->ps->tauntTimer > 0 )
- return;
if( !( pm->ps->persistant[ PERS_STATE ] & PS_NONSEGMODEL ) )
{
@@ -3695,7 +3647,6 @@ static void PM_Animate( void )
{
PM_StartTorsoAnim( TORSO_GESTURE );
pm->ps->torsoTimer = TIMER_GESTURE;
- pm->ps->tauntTimer = TIMER_GESTURE;
PM_AddEvent( EV_TAUNT );
}
@@ -3706,7 +3657,6 @@ static void PM_Animate( void )
{
PM_ForceLegsAnim( NSPA_GESTURE );
pm->ps->torsoTimer = TIMER_GESTURE;
- pm->ps->tauntTimer = TIMER_GESTURE;
PM_AddEvent( EV_TAUNT );
}
@@ -3750,16 +3700,6 @@ static void PM_DropTimers( void )
if( pm->ps->torsoTimer < 0 )
pm->ps->torsoTimer = 0;
}
-
- if( pm->ps->tauntTimer > 0 )
- {
- pm->ps->tauntTimer -= pml.msec;
-
- if( pm->ps->tauntTimer < 0 )
- {
- pm->ps->tauntTimer = 0;
- }
- }
}
diff --git a/src/game/bg_public.h b/src/game/bg_public.h
index f377739..9a2d464 100644
--- a/src/game/bg_public.h
+++ b/src/game/bg_public.h
@@ -32,7 +32,7 @@ TREMULOUS EDGE MOD SRC FILE
// because games can change separately from the main system version, we need a
// second version that must match between game and cgame
-#define GAME_VERSION "base"
+#define GAME_VERSION "newedge"
#define DEFAULT_GRAVITY 800
#define VOTE_TIME 30000 // 30 seconds before vote times out
diff --git a/src/game/g_buildable.c b/src/game/g_buildable.c
index 8de275e..1c161a6 100644
--- a/src/game/g_buildable.c
+++ b/src/game/g_buildable.c
@@ -3277,7 +3277,7 @@ void G_BuildableThink( gentity_t *ent, int msec )
ent->dcc = ( ent->buildableTeam != TEAM_HUMANS ) ? 0 : G_FindDCC( ent );
// Set health
- ent->s.generic1 = MAX( ent->health, 0 );
+ ent->s.constantLight = MAX( ent->health, 0 );
// Set flags
ent->s.eFlags &= ~( EF_B_POWERED | EF_B_SPAWNED | EF_B_MARKED );
@@ -4459,7 +4459,7 @@ static gentity_t *G_Build( gentity_t *builder, buildable_t buildable,
built->physicsBounce = BG_Buildable( buildable )->bounce;
built->s.groundEntityNum = -1;
- built->s.generic1 = MAX( built->health, 0 );
+ built->s.constantLight = MAX( built->health, 0 );
if( BG_Buildable( buildable )->team == TEAM_ALIENS )
{
diff --git a/src/game/g_main.c b/src/game/g_main.c
index a07347e..65cdf87 100644
--- a/src/game/g_main.c
+++ b/src/game/g_main.c
@@ -2965,3 +2965,16 @@ void G_RunFrame( int levelTime )
level.frameMsec = trap_Milliseconds();
}
+// missing syscalls
+
+void trap_SetConfigstringRestrictions( int num, const clientList_t *clientList )
+{
+}
+
+void trap_AddCommand( const char *cmdName )
+{
+}
+
+void trap_RemoveCommand( const char *cmdName )
+{
+}
diff --git a/src/game/g_public.h b/src/game/g_public.h
index 9512574..effbe37 100644
--- a/src/game/g_public.h
+++ b/src/game/g_public.h
@@ -159,8 +159,6 @@ typedef enum {
G_GET_CONFIGSTRING, // ( int num, char *buffer, int bufferSize );
- G_SET_CONFIGSTRING_RESTRICTIONS, // ( int num, const clientList* clientList );
-
G_GET_USERINFO, // ( int num, char *buffer, int bufferSize );
// userinfo strings are maintained by the server system, so they
// are persistant across level loads, while all other game visible
@@ -226,10 +224,7 @@ typedef enum {
G_PARSE_READ_TOKEN,
G_PARSE_SOURCE_FILE_AND_LINE,
- G_SEND_GAMESTAT,
-
- G_ADDCOMMAND,
- G_REMOVECOMMAND
+ G_SEND_GAMESTAT
} gameImport_t;
diff --git a/src/game/g_syscalls.asm b/src/game/g_syscalls.asm
index f39b138..132ca1e 100644
--- a/src/game/g_syscalls.asm
+++ b/src/game/g_syscalls.asm
@@ -1,68 +1,65 @@
code
-equ trap_Print -1
-equ trap_Error -2
-equ trap_Milliseconds -3
-equ trap_Cvar_Register -4
-equ trap_Cvar_Update -5
-equ trap_Cvar_Set -6
-equ trap_Cvar_VariableIntegerValue -7
-equ trap_Cvar_VariableStringBuffer -8
-equ trap_Argc -9
-equ trap_Argv -10
-equ trap_FS_FOpenFile -11
-equ trap_FS_Read -12
-equ trap_FS_Write -13
-equ trap_FS_FCloseFile -14
-equ trap_SendConsoleCommand -15
-equ trap_LocateGameData -16
-equ trap_DropClient -17
-equ trap_SendServerCommand -18
-equ trap_SetConfigstring -19
-equ trap_GetConfigstring -20
-equ trap_SetConfigstringRestrictions -21
-equ trap_GetUserinfo -22
-equ trap_SetUserinfo -23
-equ trap_GetServerinfo -24
-equ trap_SetBrushModel -25
-equ trap_Trace -26
-equ trap_PointContents -27
-equ trap_InPVS -28
-equ trap_InPVSIgnorePortals -29
-equ trap_AdjustAreaPortalState -30
-equ trap_AreasConnected -31
-equ trap_LinkEntity -32
-equ trap_UnlinkEntity -33
-equ trap_EntitiesInBox -34
-equ trap_EntityContact -35
-equ trap_GetUsercmd -36
-equ trap_GetEntityToken -37
-equ trap_FS_GetFileList -38
-equ trap_RealTime -39
-equ trap_SnapVector -40
-equ trap_TraceCapsule -41
-equ trap_EntityContactCapsule -42
-equ trap_FS_Seek -43
+equ trap_Print -1
+equ trap_Error -2
+equ trap_Milliseconds -3
+equ trap_Cvar_Register -4
+equ trap_Cvar_Update -5
+equ trap_Cvar_Set -6
+equ trap_Cvar_VariableIntegerValue -7
+equ trap_Cvar_VariableStringBuffer -8
+equ trap_Argc -9
+equ trap_Argv -10
+equ trap_FS_FOpenFile -11
+equ trap_FS_Read -12
+equ trap_FS_Write -13
+equ trap_FS_FCloseFile -14
+equ trap_SendConsoleCommand -15
+equ trap_LocateGameData -16
+equ trap_DropClient -17
+equ trap_SendServerCommand -18
+equ trap_SetConfigstring -19
+equ trap_GetConfigstring -20
+equ trap_GetUserinfo -21
+equ trap_SetUserinfo -22
+equ trap_GetServerinfo -23
+equ trap_SetBrushModel -24
+equ trap_Trace -25
+equ trap_PointContents -26
+equ trap_InPVS -27
+equ trap_InPVSIgnorePortals -28
+equ trap_AdjustAreaPortalState -29
+equ trap_AreasConnected -30
+equ trap_LinkEntity -31
+equ trap_UnlinkEntity -32
+equ trap_EntitiesInBox -33
+equ trap_EntityContact -34
+equ trap_GetUsercmd -35
+equ trap_GetEntityToken -36
+equ trap_FS_GetFileList -37
+equ trap_RealTime -38
+equ trap_SnapVector -39
+equ trap_TraceCapsule -40
+equ trap_EntityContactCapsule -41
+equ trap_FS_Seek -42
-equ trap_Parse_AddGlobalDefine -44
-equ trap_Parse_LoadSource -45
-equ trap_Parse_FreeSource -46
-equ trap_Parse_ReadToken -47
-equ trap_Parse_SourceFileAndLine -48
+equ trap_Parse_AddGlobalDefine -43
+equ trap_Parse_LoadSource -44
+equ trap_Parse_FreeSource -45
+equ trap_Parse_ReadToken -46
+equ trap_Parse_SourceFileAndLine -47
-equ trap_SendGameStat -49
+equ trap_SendGameStat -48
-equ trap_AddCommand -50
-equ trap_RemoveCommand -51
-equ memset -101
-equ memcpy -102
-equ strncpy -103
-equ sin -104
-equ cos -105
-equ atan2 -106
-equ sqrt -107
-equ floor -111
-equ ceil -112
-equ testPrintInt -113
-equ testPrintFloat -114
+equ memset -101
+equ memcpy -102
+equ strncpy -103
+equ sin -104
+equ cos -105
+equ atan2 -106
+equ sqrt -107
+equ floor -111
+equ ceil -112
+equ testPrintInt -113
+equ testPrintFloat -114
diff --git a/src/game/g_syscalls.c b/src/game/g_syscalls.c
index 800bd2a..4ec48d3 100644
--- a/src/game/g_syscalls.c
+++ b/src/game/g_syscalls.c
@@ -151,11 +151,6 @@ void trap_GetConfigstring( int num, char *buffer, int bufferSize )
syscall( G_GET_CONFIGSTRING, num, buffer, bufferSize );
}
-void trap_SetConfigstringRestrictions( int num, const clientList_t *clientList )
-{
- syscall( G_SET_CONFIGSTRING_RESTRICTIONS, num, clientList );
-}
-
void trap_GetUserinfo( int num, char *buffer, int bufferSize )
{
syscall( G_GET_USERINFO, num, buffer, bufferSize );
@@ -290,14 +285,3 @@ int trap_Parse_SourceFileAndLine( int handle, char *filename, int *line )
{
return syscall( G_PARSE_SOURCE_FILE_AND_LINE, handle, filename, line );
}
-
-void trap_AddCommand( const char *cmdName )
-{
- syscall( G_ADDCOMMAND, cmdName );
-}
-
-void trap_RemoveCommand( const char *cmdName )
-{
- syscall( G_REMOVECOMMAND, cmdName );
-}
-
diff --git a/src/game/g_team.c b/src/game/g_team.c
index ad0873c..3246a4a 100644
--- a/src/game/g_team.c
+++ b/src/game/g_team.c
@@ -147,6 +147,7 @@ void G_UpdateTeamConfigStrings( void )
Com_Memset( &humanTeam, 0, sizeof( clientList_t ) );
}
+/*
trap_SetConfigstringRestrictions( CS_VOTE_TIME + TEAM_ALIENS, &humanTeam );
trap_SetConfigstringRestrictions( CS_VOTE_STRING + TEAM_ALIENS, &humanTeam );
trap_SetConfigstringRestrictions( CS_VOTE_YES + TEAM_ALIENS, &humanTeam );
@@ -159,6 +160,7 @@ void G_UpdateTeamConfigStrings( void )
trap_SetConfigstringRestrictions( CS_ALIEN_STAGES, &humanTeam );
trap_SetConfigstringRestrictions( CS_HUMAN_STAGES, &alienTeam );
+*/
}
/*
diff --git a/src/qcommon/q_shared.h b/src/qcommon/q_shared.h
index a93b630..1b5fea7 100644
--- a/src/qcommon/q_shared.h
+++ b/src/qcommon/q_shared.h
@@ -1132,10 +1132,6 @@ typedef struct playerState_s {
int torsoTimer; // don't change low priority animations until this runs out
int torsoAnim; // mask off ANIM_TOGGLEBIT
- int tauntTimer; // don't allow another taunt until this runs out
-
- int weaponAnim; // mask off ANIM_TOGGLEBIT
-
int movementDir; // a number 0 to 7 that represents the reletive angle
// of movement to the view angle (axial and diagonals)
// when at rest, the value will remain unchanged
@@ -1169,8 +1165,9 @@ typedef struct playerState_s {
int stats[MAX_STATS];
int persistant[MAX_PERSISTANT]; // stats that aren't cleared on death
int misc[MAX_MISC]; // misc data
- int ammo; // ammo held
- int clips; // clips held
+ int ammo;
+ int clips;
+ int stuff[MAX_WEAPONS - 2];
int generic1;
int loopSound;
@@ -1289,7 +1286,6 @@ typedef struct entityState_s {
int weapon; // determines weapon and flash model, etc
int legsAnim; // mask off ANIM_TOGGLEBIT
int torsoAnim; // mask off ANIM_TOGGLEBIT
- int weaponAnim; // mask off ANIM_TOGGLEBIT
int generic1;
} entityState_t;
diff --git a/src/qcommon/qcommon.h b/src/qcommon/qcommon.h
index db5812f..e24ecaf 100644
--- a/src/qcommon/qcommon.h
+++ b/src/qcommon/qcommon.h
@@ -240,7 +240,7 @@ PROTOCOL
==============================================================
*/
-#define PROTOCOL_VERSION 70
+#define PROTOCOL_VERSION 69
// maintain a list of compatible protocols for demo playing
// NOTE: that stuff only works with two digits protocols
diff --git a/src/ui/ui_main.c b/src/ui/ui_main.c
index dc5bc26..0278cca 100644
--- a/src/ui/ui_main.c
+++ b/src/ui/ui_main.c
@@ -4211,6 +4211,7 @@ void UI_SetActiveMenu( uiMenuCommand_t menu )
// this should be the ONLY way the menu system is brought up
// enusure minumum menu data is cached
+
if( Menu_Count() > 0 )
{
vec3_t v;
@@ -4667,3 +4668,13 @@ void UI_UpdateNews( qboolean begin )
uiInfo.newsInfo.refreshActive = qfalse;
}
+// missing syscalls
+
+void trap_R_SetClipRegion( const float *region )
+{
+}
+
+qboolean trap_GetNews( qboolean force )
+{
+ return qfalse;
+}
diff --git a/src/ui/ui_public.h b/src/ui/ui_public.h
index 0fb2292..a70746b 100644
--- a/src/ui/ui_public.h
+++ b/src/ui/ui_public.h
@@ -37,8 +37,7 @@ typedef struct
}
uiClientState_t;
-typedef enum
-{
+typedef enum {
UI_ERROR,
UI_PRINT,
UI_MILLISECONDS,
@@ -66,7 +65,6 @@ typedef enum
UI_R_ADDLIGHTTOSCENE,
UI_R_RENDERSCENE,
UI_R_SETCOLOR,
- UI_R_SETCLIPREGION,
UI_R_DRAWSTRETCHPIC,
UI_UPDATESCREEN,
UI_CM_LERPTAG,
@@ -95,6 +93,11 @@ typedef enum
UI_MEMORY_REMAINING,
UI_R_REGISTERFONT,
UI_R_MODELBOUNDS,
+ UI_PARSE_ADD_GLOBAL_DEFINE,
+ UI_PARSE_LOAD_SOURCE,
+ UI_PARSE_FREE_SOURCE,
+ UI_PARSE_READ_TOKEN,
+ UI_PARSE_SOURCE_FILE_AND_LINE,
UI_S_STOPBACKGROUNDTRACK,
UI_S_STARTBACKGROUNDTRACK,
UI_REAL_TIME,
@@ -122,13 +125,6 @@ typedef enum
UI_FS_SEEK,
UI_SET_PBCLSTATUS,
- UI_PARSE_ADD_GLOBAL_DEFINE,
- UI_PARSE_LOAD_SOURCE,
- UI_PARSE_FREE_SOURCE,
- UI_PARSE_READ_TOKEN,
- UI_PARSE_SOURCE_FILE_AND_LINE,
- UI_GETNEWS,
-
UI_MEMSET = 100,
UI_MEMCPY,
UI_STRNCPY,
@@ -175,12 +171,6 @@ typedef enum
UI_MOUSE_EVENT,
// void UI_MouseEvent( int dx, int dy );
- UI_MOUSE_POSITION,
- // int UI_MousePosition( void );
-
- UI_SET_MOUSE_POSITION,
- // void UI_SetMousePosition( int x, int y );
-
UI_REFRESH,
// void UI_Refresh( int time );
@@ -193,12 +183,18 @@ typedef enum
UI_CONSOLE_COMMAND,
// qboolean UI_ConsoleCommand( int realTime );
- UI_DRAW_CONNECT_SCREEN
+ UI_DRAW_CONNECT_SCREEN,
// void UI_DrawConnectScreen( qboolean overlay );
// if !overlay, the background will be drawn, otherwise it will be
// overlayed over whatever the cgame has drawn.
// a GetClientState syscall will be made to get the current strings
+
+ UI_MOUSE_POSITION,
+ // int UI_MousePosition( void );
+
+ UI_SET_MOUSE_POSITION
+ // void UI_SetMousePosition( int x, int y );
}
uiExport_t;
diff --git a/src/ui/ui_shared.h b/src/ui/ui_shared.h
index 649d51f..6441ce5 100644
--- a/src/ui/ui_shared.h
+++ b/src/ui/ui_shared.h
@@ -529,8 +529,6 @@ void Controls_GetConfig( void );
void Controls_SetConfig( qboolean restart );
void Controls_SetDefaults( void );
-void trap_R_SetClipRegion( const float *region );
-
//for cg_draw.c
void Item_Text_Wrapped_Paint( itemDef_t *item );
const char *Item_Text_Wrap( const char *text, float scale, float width );
@@ -556,4 +554,5 @@ int trap_Parse_SourceFileAndLine( int handle, char *filename, int *line );
void BindingFromName( const char *cvar );
extern char g_nameBind1[ 32 ];
extern char g_nameBind2[ 32 ];
+
#endif
diff --git a/src/ui/ui_syscalls.asm b/src/ui/ui_syscalls.asm
index 1e797a9..e989ab9 100644
--- a/src/ui/ui_syscalls.asm
+++ b/src/ui/ui_syscalls.asm
@@ -27,68 +27,67 @@ equ trap_R_AddPolyToScene -24
equ trap_R_AddLightToScene -25
equ trap_R_RenderScene -26
equ trap_R_SetColor -27
-equ trap_R_SetClipRegion -28
-equ trap_R_DrawStretchPic -29
-equ trap_UpdateScreen -30
-equ trap_CM_LerpTag -31
-equ trap_CM_LoadModel -32
-equ trap_S_RegisterSound -33
-equ trap_S_StartLocalSound -34
-equ trap_Key_KeynumToStringBuf -35
-equ trap_Key_GetBindingBuf -36
-equ trap_Key_SetBinding -37
-equ trap_Key_IsDown -38
-equ trap_Key_GetOverstrikeMode -39
-equ trap_Key_SetOverstrikeMode -40
-equ trap_Key_ClearStates -41
-equ trap_Key_GetCatcher -42
-equ trap_Key_SetCatcher -43
-equ trap_GetClipboardData -44
-equ trap_GetGlconfig -45
-equ trap_GetClientState -46
-equ trap_GetConfigString -47
-equ trap_LAN_GetPingQueueCount -48
-equ trap_LAN_ClearPing -49
-equ trap_LAN_GetPing -50
-equ trap_LAN_GetPingInfo -51
-equ trap_Cvar_Register -52
-equ trap_Cvar_Update -53
-equ trap_MemoryRemaining -54
-equ trap_R_RegisterFont -55
-equ trap_R_ModelBounds -56
-equ trap_S_StopBackgroundTrack -57
-equ trap_S_StartBackgroundTrack -58
-equ trap_RealTime -59
-equ trap_LAN_GetServerCount -60
-equ trap_LAN_GetServerAddressString -61
-equ trap_LAN_GetServerInfo -62
-equ trap_LAN_MarkServerVisible -63
-equ trap_LAN_UpdateVisiblePings -64
-equ trap_LAN_ResetPings -65
-equ trap_LAN_LoadCachedServers -66
-equ trap_LAN_SaveCachedServers -67
-equ trap_LAN_AddServer -68
-equ trap_LAN_RemoveServer -69
-equ trap_CIN_PlayCinematic -70
-equ trap_CIN_StopCinematic -71
-equ trap_CIN_RunCinematic -72
-equ trap_CIN_DrawCinematic -73
-equ trap_CIN_SetExtents -74
-equ trap_R_RemapShader -75
-equ trap_LAN_ServerStatus -76
-equ trap_LAN_GetServerPing -77
-equ trap_LAN_ServerIsVisible -78
-equ trap_LAN_CompareServers -79
-equ trap_FS_Seek -80
-equ trap_SetPbClStatus -81
-equ trap_Parse_AddGlobalDefine -82
-equ trap_Parse_LoadSource -83
-equ trap_Parse_FreeSource -84
-equ trap_Parse_ReadToken -85
-equ trap_Parse_SourceFileAndLine -86
+equ trap_R_DrawStretchPic -28
+equ trap_UpdateScreen -29
+equ trap_CM_LerpTag -30
+equ trap_CM_LoadModel -31
+equ trap_S_RegisterSound -32
+equ trap_S_StartLocalSound -33
+equ trap_Key_KeynumToStringBuf -34
+equ trap_Key_GetBindingBuf -35
+equ trap_Key_SetBinding -36
+equ trap_Key_IsDown -37
+equ trap_Key_GetOverstrikeMode -38
+equ trap_Key_SetOverstrikeMode -39
+equ trap_Key_ClearStates -40
+equ trap_Key_GetCatcher -41
+equ trap_Key_SetCatcher -42
+equ trap_GetClipboardData -43
+equ trap_GetGlconfig -44
+equ trap_GetClientState -45
+equ trap_GetConfigString -46
+equ trap_LAN_GetPingQueueCount -47
+equ trap_LAN_ClearPing -48
+equ trap_LAN_GetPing -49
+equ trap_LAN_GetPingInfo -50
+equ trap_Cvar_Register -51
+equ trap_Cvar_Update -52
+equ trap_MemoryRemaining -53
+equ trap_R_RegisterFont -54
+equ trap_R_ModelBounds -55
+equ trap_Parse_AddGlobalDefine -56
+equ trap_Parse_LoadSource -57
+equ trap_Parse_FreeSource -58
+equ trap_Parse_ReadToken -59
+equ trap_Parse_SourceFileAndLine -60
+equ trap_S_StopBackgroundTrack -61
+equ trap_S_StartBackgroundTrack -62
+equ trap_RealTime -63
+equ trap_LAN_GetServerCount -64
+equ trap_LAN_GetServerAddressString -65
+equ trap_LAN_GetServerInfo -66
+equ trap_LAN_MarkServerVisible -67
+equ trap_LAN_UpdateVisiblePings -68
+equ trap_LAN_ResetPings -69
+equ trap_LAN_LoadCachedServers -70
+equ trap_LAN_SaveCachedServers -71
+equ trap_LAN_AddServer -72
+equ trap_LAN_RemoveServer -73
+equ trap_CIN_PlayCinematic -74
+equ trap_CIN_StopCinematic -75
+equ trap_CIN_RunCinematic -76
+equ trap_CIN_DrawCinematic -77
+equ trap_CIN_SetExtents -78
+equ trap_R_RemapShader -79
+equ trap_LAN_ServerStatus -80
+equ trap_LAN_GetServerPing -81
+equ trap_LAN_ServerIsVisible -82
+equ trap_LAN_CompareServers -83
+equ trap_FS_Seek -84
+equ trap_SetPbClStatus -85
+
-equ trap_GetNews -87
equ memset -101
equ memcpy -102
diff --git a/src/ui/ui_syscalls.c b/src/ui/ui_syscalls.c
index 2187f18..edfeaf3 100644
--- a/src/ui/ui_syscalls.c
+++ b/src/ui/ui_syscalls.c
@@ -197,11 +197,6 @@ void trap_R_SetColor( const float *rgba )
syscall( UI_R_SETCOLOR, rgba );
}
-void trap_R_SetClipRegion( const float *region )
-{
- syscall( UI_R_SETCLIPREGION, region );
-}
-
void trap_R_DrawStretchPic( float x, float y, float w, float h, float s1, float t1, float s2, float t2, qhandle_t hShader )
{
syscall( UI_R_DRAWSTRETCHPIC, PASSFLOAT( x ), PASSFLOAT( y ), PASSFLOAT( w ), PASSFLOAT( h ), PASSFLOAT( s1 ), PASSFLOAT( t1 ), PASSFLOAT( s2 ), PASSFLOAT( t2 ), hShader );
@@ -327,11 +322,6 @@ int trap_LAN_ServerStatus( const char *serverAddress, char *serverStatus, int ma
return syscall( UI_LAN_SERVERSTATUS, serverAddress, serverStatus, maxLen );
}
-qboolean trap_GetNews( qboolean force )
-{
- return syscall( UI_GETNEWS, force );
-}
-
void trap_LAN_SaveCachedServers( void )
{
syscall( UI_LAN_SAVECACHEDSERVERS );