]> git.xonotic.org Git - xonotic/xonotic-data.pk3dir.git/commitdiff
Merge branch 'master' into terencehill/scoreboard_item_stats
authorterencehill <piuntn@gmail.com>
Mon, 2 Nov 2020 09:49:30 +0000 (10:49 +0100)
committerterencehill <piuntn@gmail.com>
Mon, 2 Nov 2020 09:49:30 +0000 (10:49 +0100)
210 files changed:
.tx/merge-base
common.eo.po
common.es_MX.po
common.fr.po
common.gd.po
common.it.po
common.ko.po
common.pt_BR.po
common.ru.po
languages.txt
mutators.cfg
qcsrc/client/announcer.qh
qcsrc/client/autocvars.qh [deleted file]
qcsrc/client/bgmscript.qc
qcsrc/client/bgmscript.qh
qcsrc/client/command/cl_cmd.qc
qcsrc/client/csqcmodel_hooks.qc
qcsrc/client/csqcmodel_hooks.qh
qcsrc/client/hud/crosshair.qc
qcsrc/client/hud/crosshair.qh
qcsrc/client/hud/hud.qc
qcsrc/client/hud/hud.qh
qcsrc/client/hud/hud_config.qc
qcsrc/client/hud/hud_config.qh
qcsrc/client/hud/panel/ammo.qc
qcsrc/client/hud/panel/ammo.qh
qcsrc/client/hud/panel/centerprint.qh
qcsrc/client/hud/panel/chat.qc
qcsrc/client/hud/panel/chat.qh
qcsrc/client/hud/panel/engineinfo.qc
qcsrc/client/hud/panel/engineinfo.qh
qcsrc/client/hud/panel/healtharmor.qh
qcsrc/client/hud/panel/infomessages.qc
qcsrc/client/hud/panel/infomessages.qh
qcsrc/client/hud/panel/modicons.qc
qcsrc/client/hud/panel/modicons.qh
qcsrc/client/hud/panel/notify.qc
qcsrc/client/hud/panel/notify.qh
qcsrc/client/hud/panel/physics.qc
qcsrc/client/hud/panel/physics.qh
qcsrc/client/hud/panel/powerups.qc
qcsrc/client/hud/panel/powerups.qh
qcsrc/client/hud/panel/pressedkeys.qc
qcsrc/client/hud/panel/pressedkeys.qh
qcsrc/client/hud/panel/quickmenu.qc
qcsrc/client/hud/panel/quickmenu.qh
qcsrc/client/hud/panel/racetimer.qc
qcsrc/client/hud/panel/racetimer.qh
qcsrc/client/hud/panel/radar.qc
qcsrc/client/hud/panel/radar.qh
qcsrc/client/hud/panel/score.qc
qcsrc/client/hud/panel/score.qh
qcsrc/client/hud/panel/scoreboard.qc
qcsrc/client/hud/panel/scoreboard.qh
qcsrc/client/hud/panel/strafehud.qc
qcsrc/client/hud/panel/strafehud.qh
qcsrc/client/hud/panel/timer.qc
qcsrc/client/hud/panel/timer.qh
qcsrc/client/hud/panel/vote.qc
qcsrc/client/hud/panel/vote.qh
qcsrc/client/hud/panel/weapons.qc
qcsrc/client/hud/panel/weapons.qh
qcsrc/client/main.qh
qcsrc/client/mapvoting.qc
qcsrc/client/mapvoting.qh
qcsrc/client/mutators/events.qh
qcsrc/client/shownames.qc
qcsrc/client/shownames.qh
qcsrc/client/teamradar.qc
qcsrc/client/view.qc
qcsrc/client/view.qh
qcsrc/client/weapons/projectile.qc
qcsrc/client/weapons/projectile.qh
qcsrc/common/effects/qc/casings.qh
qcsrc/common/effects/qc/damageeffects.qh
qcsrc/common/effects/qc/gibs.qh
qcsrc/common/effects/qc/globalsound.qh
qcsrc/common/effects/qc/lightningarc.qh
qcsrc/common/gamemodes/gamemode/clanarena/cl_clanarena.qh
qcsrc/common/gamemodes/gamemode/ctf/cl_ctf.qc
qcsrc/common/gamemodes/gamemode/ctf/sv_ctf.qh
qcsrc/common/gamemodes/gamemode/cts/sv_cts.qc
qcsrc/common/gamemodes/gamemode/freezetag/cl_freezetag.qh
qcsrc/common/gamemodes/gamemode/keepaway/sv_keepaway.qc
qcsrc/common/gamemodes/gamemode/keepaway/sv_keepaway.qh
qcsrc/common/gamemodes/gamemode/lms/sv_lms.qc
qcsrc/common/gamemodes/gamemode/nexball/cl_nexball.qh
qcsrc/common/gamemodes/gamemode/nexball/nexball.qh
qcsrc/common/gamemodes/gamemode/nexball/sv_nexball.qc
qcsrc/common/gamemodes/gamemode/nexball/sv_nexball.qh
qcsrc/common/gamemodes/gamemode/onslaught/sv_onslaught.qc
qcsrc/common/gamemodes/gamemode/race/cl_race.qh
qcsrc/common/gamemodes/gamemode/race/sv_race.qc
qcsrc/common/gamemodes/sv_rules.qh
qcsrc/common/items/item/ammo.qh
qcsrc/common/items/item/powerup.qh
qcsrc/common/mapinfo.qc
qcsrc/common/mapinfo.qh
qcsrc/common/mapobjects/func/door.qh
qcsrc/common/mapobjects/teleporters.qc
qcsrc/common/mapobjects/teleporters.qh
qcsrc/common/mapobjects/trigger/impulse.qh
qcsrc/common/mapobjects/trigger/jumppads.qc
qcsrc/common/minigames/cl_minigames_hud.qc
qcsrc/common/minigames/sv_minigames.qh
qcsrc/common/monsters/sv_monsters.qc
qcsrc/common/monsters/sv_monsters.qh
qcsrc/common/monsters/sv_spawn.qc
qcsrc/common/mutators/mutator/buffs/sv_buffs.qc
qcsrc/common/mutators/mutator/buffs/sv_buffs.qh
qcsrc/common/mutators/mutator/doublejump/doublejump.qh
qcsrc/common/mutators/mutator/instagib/sv_instagib.qc
qcsrc/common/mutators/mutator/instagib/sv_instagib.qh
qcsrc/common/mutators/mutator/itemstime/itemstime.qc
qcsrc/common/mutators/mutator/itemstime/itemstime.qh
qcsrc/common/mutators/mutator/melee_only/sv_melee_only.qc
qcsrc/common/mutators/mutator/nades/nades.qh
qcsrc/common/mutators/mutator/nix/sv_nix.qc
qcsrc/common/mutators/mutator/overkill/sv_overkill.qh
qcsrc/common/mutators/mutator/vampire/sv_vampire.qc
qcsrc/common/mutators/mutator/waypoints/waypointsprites.qh
qcsrc/common/notifications/all.inc
qcsrc/common/notifications/all.qc
qcsrc/common/notifications/all.qh
qcsrc/common/physics/movetypes/movetypes.qh
qcsrc/common/physics/player.qh
qcsrc/common/playerstats.qc
qcsrc/common/stats.qh
qcsrc/common/turrets/sv_turrets.qc
qcsrc/common/turrets/sv_turrets.qh
qcsrc/common/util.qh
qcsrc/common/vehicles/cl_vehicles.qc
qcsrc/common/vehicles/cl_vehicles.qh
qcsrc/common/vehicles/sv_vehicles.qc
qcsrc/common/vehicles/sv_vehicles.qh
qcsrc/common/vehicles/vehicle/bumblebee.qh
qcsrc/common/vehicles/vehicle/racer.qc
qcsrc/common/vehicles/vehicle/racer.qh
qcsrc/common/vehicles/vehicle/raptor.qh
qcsrc/common/vehicles/vehicle/spiderbot.qh
qcsrc/common/vehicles/vehicles.qc
qcsrc/common/vehicles/vehicles.qh
qcsrc/common/weapons/all.qc
qcsrc/common/weapons/all.qh
qcsrc/common/weapons/weapon/arc.qc
qcsrc/common/weapons/weapon/tuba.qh
qcsrc/common/weapons/weapon/vortex.qh
qcsrc/ecs/systems/sv_physics.qc
qcsrc/lib/csqcmodel/cl_player.qc
qcsrc/lib/csqcmodel/cl_player.qh
qcsrc/lib/csqcmodel/interpolate.qh
qcsrc/lib/log.qh
qcsrc/lib/warpzone/client.qc
qcsrc/menu/menu.qc
qcsrc/server/anticheat.qc
qcsrc/server/antilag.qh
qcsrc/server/autocvars.qh [deleted file]
qcsrc/server/bot/api.qh
qcsrc/server/bot/default/bot.qc
qcsrc/server/bot/default/cvars.qh
qcsrc/server/bot/default/waypoints.qh
qcsrc/server/campaign.qh
qcsrc/server/chat.qh
qcsrc/server/cheats.qh
qcsrc/server/client.qc
qcsrc/server/client.qh
qcsrc/server/clientkill.qh
qcsrc/server/command/banning.qh
qcsrc/server/command/cmd.qc
qcsrc/server/command/cmd.qh
qcsrc/server/command/common.qc
qcsrc/server/command/common.qh
qcsrc/server/command/getreplies.qc
qcsrc/server/command/vote.qc
qcsrc/server/command/vote.qh
qcsrc/server/compat/quake3.qh
qcsrc/server/damage.qc
qcsrc/server/damage.qh
qcsrc/server/gamelog.qc
qcsrc/server/gamelog.qh
qcsrc/server/hook.qh
qcsrc/server/intermission.qc
qcsrc/server/intermission.qh
qcsrc/server/ipban.qc
qcsrc/server/items/items.qc
qcsrc/server/items/items.qh
qcsrc/server/main.qh
qcsrc/server/mapvoting.qh
qcsrc/server/player.qc
qcsrc/server/player.qh
qcsrc/server/portals.qh
qcsrc/server/race.qh
qcsrc/server/resources.qc
qcsrc/server/resources.qh
qcsrc/server/scores.qc
qcsrc/server/scores.qh
qcsrc/server/spawnpoints.qh
qcsrc/server/teamplay.qc
qcsrc/server/teamplay.qh
qcsrc/server/tests.qh
qcsrc/server/weapons/accuracy.qh
qcsrc/server/weapons/common.qh
qcsrc/server/weapons/hitplot.qh
qcsrc/server/weapons/selection.qh
qcsrc/server/weapons/throwing.qh
qcsrc/server/weapons/tracing.qh
qcsrc/server/weapons/weaponstats.qh
qcsrc/server/weapons/weaponsystem.qh
qcsrc/server/world.qc
qcsrc/server/world.qh

index de2591c13542d3ce6b0e2bb48af7d2e7ffb6a63a..479ea2adf24efb8894b7b75b6f862a57d51e43ff 100644 (file)
@@ -1 +1 @@
-Sun Oct 18 07:24:53 CEST 2020
+Fri Oct 30 07:23:43 CET 2020
index 2ba511db82f87e2f95dc1ea85482245f87b6a77d..074c14f1a48ed15b60049eb20142b1d7ea982fd1 100644 (file)
@@ -9,7 +9,7 @@ msgstr ""
 "Project-Id-Version: Xonotic\n"
 "Report-Msgid-Bugs-To: \n"
 "POT-Creation-Date: 2020-10-18 07:23+0200\n"
-"PO-Revision-Date: 2020-08-09 05:23+0000\n"
+"PO-Revision-Date: 2020-10-18 05:23+0000\n"
 "Last-Translator: divVerent <divVerent@xonotic.org>\n"
 "Language-Team: Esperanto (http://www.transifex.com/team-xonotic/xonotic/"
 "language/eo/)\n"
index 2f6a521b7260e9df21f57b6776c1610c9524eb17..b2bbcc851ab45dd5c9286a664377b00c3458d73e 100644 (file)
@@ -8,7 +8,7 @@ msgstr ""
 "Project-Id-Version: Xonotic\n"
 "Report-Msgid-Bugs-To: \n"
 "POT-Creation-Date: 2020-10-18 07:23+0200\n"
-"PO-Revision-Date: 2020-08-09 05:23+0000\n"
+"PO-Revision-Date: 2020-10-18 05:23+0000\n"
 "Last-Translator: divVerent <divVerent@xonotic.org>\n"
 "Language-Team: Spanish (Mexico) (http://www.transifex.com/team-xonotic/"
 "xonotic/language/es_MX/)\n"
index 2d901c920180cb403628ff89f5084870d1598830..28f1ad180fc6da56a6e36750398680a10b3def3c 100644 (file)
@@ -3,10 +3,11 @@
 # This file is distributed under the same license as the PACKAGE package.
 #
 # Translators:
-# Aodren Le Gloanec <aodren.legloanec@gmail.com>, 2020
+# Gwlanbzh <aodren.legloanec@gmail.com>, 2020
 # Calinou, 2013-2014
 # Calinou <calinou9999@gmail.com>, 2012
 # Hugo Locurcio, 2014
+# Gwlanbzh <aodren.legloanec@gmail.com>, 2020
 # Hugo Locurcio, 2013-2014
 # Maxime Paradis <taximus.micro@gmail.com>, 2011
 # Mirio <opivy@hotmail.de>, 2017
@@ -19,8 +20,8 @@ msgstr ""
 "Project-Id-Version: Xonotic\n"
 "Report-Msgid-Bugs-To: \n"
 "POT-Creation-Date: 2020-10-18 07:23+0200\n"
-"PO-Revision-Date: 2020-10-18 05:23+0000\n"
-"Last-Translator: divVerent <divVerent@xonotic.org>\n"
+"PO-Revision-Date: 2020-10-29 16:58+0000\n"
+"Last-Translator: Yannick Le Guen <leguen.yannick@gmail.com>\n"
 "Language-Team: French (http://www.transifex.com/team-xonotic/xonotic/"
 "language/fr/)\n"
 "Language: fr\n"
@@ -1056,23 +1057,23 @@ msgstr "Vous êtes mort, appuyez sur ^2%s^7 pour réapparaître"
 
 #: qcsrc/client/hud/panel/strafehud.qc:908
 msgid "qu"
-msgstr ""
+msgstr "qu"
 
 #: qcsrc/client/hud/panel/strafehud.qc:909
 msgid "m"
-msgstr ""
+msgstr "m"
 
 #: qcsrc/client/hud/panel/strafehud.qc:910
 msgid "km"
-msgstr ""
+msgstr "km"
 
 #: qcsrc/client/hud/panel/strafehud.qc:911
 msgid "mi"
-msgstr ""
+msgstr "mi"
 
 #: qcsrc/client/hud/panel/strafehud.qc:912
 msgid "nmi"
-msgstr ""
+msgstr "M"
 
 #: qcsrc/client/hud/panel/timer.qc:72
 msgid "WARMUP"
@@ -5877,7 +5878,7 @@ msgstr "Langue du texte :"
 #: qcsrc/menu/xonotic/dialog_firstrun.qc:78
 msgid "Allow player statistics to use your nickname at stats.xonotic.org?"
 msgstr ""
-"Autoriser les statistiques de joueurs à utiliser votre pseudonyme sur stats."
+"Autoriser les statistiques des joueurs à utiliser votre pseudonyme sur stats."
 "xonotic.org ?"
 
 #: qcsrc/menu/xonotic/dialog_firstrun.qc:84
@@ -6350,19 +6351,19 @@ msgstr ""
 
 #: qcsrc/menu/xonotic/dialog_hudpanel_strafehud.qc:57
 msgid "no styling"
-msgstr ""
+msgstr "pas de style"
 
 #: qcsrc/menu/xonotic/dialog_hudpanel_strafehud.qc:58
 msgid "progress bar"
-msgstr ""
+msgstr "barre de progression"
 
 #: qcsrc/menu/xonotic/dialog_hudpanel_strafehud.qc:59
 msgid "gradient"
-msgstr ""
+msgstr "gradient"
 
 #: qcsrc/menu/xonotic/dialog_hudpanel_strafehud.qc:62
 msgid "Demo mode"
-msgstr ""
+msgstr "Mode démo"
 
 #: qcsrc/menu/xonotic/dialog_hudpanel_strafehud.qc:66
 msgid "Range:"
@@ -6374,7 +6375,7 @@ msgstr ""
 
 #: qcsrc/menu/xonotic/dialog_hudpanel_strafehud.qc:75
 msgid "Reset colors"
-msgstr ""
+msgstr "Réinitialiser les couleurs"
 
 #: qcsrc/menu/xonotic/dialog_hudpanel_strafehud.qc:79
 msgid "Strafe bar:"
@@ -6382,22 +6383,22 @@ msgstr ""
 
 #: qcsrc/menu/xonotic/dialog_hudpanel_strafehud.qc:83
 msgid "Angle indicator:"
-msgstr ""
+msgstr "Indicateur d'angle :"
 
 #: qcsrc/menu/xonotic/dialog_hudpanel_strafehud.qc:85
 #: qcsrc/menu/xonotic/dialog_hudpanel_strafehud.qc:93
 msgid "Neutral:"
-msgstr ""
+msgstr "Neutre :"
 
 #: qcsrc/menu/xonotic/dialog_hudpanel_strafehud.qc:87
 #: qcsrc/menu/xonotic/dialog_hudpanel_strafehud.qc:95
 msgid "Good:"
-msgstr ""
+msgstr "Bon :"
 
 #: qcsrc/menu/xonotic/dialog_hudpanel_strafehud.qc:89
 #: qcsrc/menu/xonotic/dialog_hudpanel_strafehud.qc:97
 msgid "Overturn:"
-msgstr ""
+msgstr "Excessif :"
 
 #: qcsrc/menu/xonotic/dialog_hudpanel_strafehud.qc:124
 msgid "Switch indicators:"
@@ -7516,7 +7517,7 @@ msgstr "Statistiques"
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_profile.qc:127
 msgid "Allow player statistics to track your client"
-msgstr "Autoriser les statistiques à communiquer avec votre client"
+msgstr "Autoriser les statistiques à pister votre client"
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_profile.qc:131
 msgid "Allow player statistics to use your nickname"
@@ -7524,8 +7525,7 @@ msgstr "Autoriser les statistiques à utiliser votre pseudonyme"
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_profile.qc:136
 msgid "Allow player statistics to rank you in leaderboards"
-msgstr ""
-"Autoriser les statistiques de joueur à vous intégrer dans les classements"
+msgstr "Autoriser les statistiques à vous intégrer dans les classements"
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_profile.qc:152
 msgid "Country"
@@ -9718,7 +9718,7 @@ msgstr "Sélection d'Équipe"
 
 #: qcsrc/menu/xonotic/dialog_uid2name.qc:10
 msgid "Allow player statistics to use your nickname?"
-msgstr "Autoriser les statistiques de joueur à utiliser votre pseudonyme ?"
+msgstr "Autoriser les statistiques des joueurs à utiliser votre pseudonyme ?"
 
 #: qcsrc/menu/xonotic/dialog_uid2name.qc:12
 msgid "Answering \"No\" you will appear as \"Anonymous player\""
index 70e55d6503a8c86a639f20bfb4b19b44423905b8..9c5f7b0aaebab4f9ca80c2aaf0f676ca740f7492 100644 (file)
@@ -11,7 +11,7 @@ msgstr ""
 "Project-Id-Version: Xonotic\n"
 "Report-Msgid-Bugs-To: \n"
 "POT-Creation-Date: 2020-10-18 07:23+0200\n"
-"PO-Revision-Date: 2020-08-09 05:23+0000\n"
+"PO-Revision-Date: 2020-10-18 05:23+0000\n"
 "Last-Translator: divVerent <divVerent@xonotic.org>\n"
 "Language-Team: Gaelic, Scottish (http://www.transifex.com/team-xonotic/"
 "xonotic/language/gd/)\n"
index 37a1ed2c3abe61d4944d41c5c5ae4dc920736684..be6dbad341a1af8879d8877b9d7362576479cdd6 100644 (file)
@@ -14,8 +14,8 @@ msgstr ""
 "Project-Id-Version: Xonotic\n"
 "Report-Msgid-Bugs-To: \n"
 "POT-Creation-Date: 2020-10-18 07:23+0200\n"
-"PO-Revision-Date: 2020-10-18 05:23+0000\n"
-"Last-Translator: divVerent <divVerent@xonotic.org>\n"
+"PO-Revision-Date: 2020-10-18 14:19+0000\n"
+"Last-Translator: Antonio <piuntn@gmail.com>\n"
 "Language-Team: Italian (http://www.transifex.com/team-xonotic/xonotic/"
 "language/it/)\n"
 "Language: it\n"
@@ -1048,23 +1048,23 @@ msgstr "Sei morto, premi ^2%s^7 per rinascere"
 
 #: qcsrc/client/hud/panel/strafehud.qc:908
 msgid "qu"
-msgstr ""
+msgstr "qu"
 
 #: qcsrc/client/hud/panel/strafehud.qc:909
 msgid "m"
-msgstr ""
+msgstr "m"
 
 #: qcsrc/client/hud/panel/strafehud.qc:910
 msgid "km"
-msgstr ""
+msgstr "km"
 
 #: qcsrc/client/hud/panel/strafehud.qc:911
 msgid "mi"
-msgstr ""
+msgstr "mi"
 
 #: qcsrc/client/hud/panel/strafehud.qc:912
 msgid "nmi"
-msgstr ""
+msgstr "nmi"
 
 #: qcsrc/client/hud/panel/timer.qc:72
 msgid "WARMUP"
@@ -6340,90 +6340,90 @@ msgstr "Pannello punteggio"
 
 #: qcsrc/menu/xonotic/dialog_hudpanel_strafehud.qc:47
 msgid "StrafeHUD mode:"
-msgstr ""
+msgstr "Modo StrafeHUD:"
 
 #: qcsrc/menu/xonotic/dialog_hudpanel_strafehud.qc:50
 msgid "View angle centered"
-msgstr ""
+msgstr "Basato su angolo visuale"
 
 #: qcsrc/menu/xonotic/dialog_hudpanel_strafehud.qc:51
 msgid "Velocity angle centered"
-msgstr ""
+msgstr "Basato su angolo velocità"
 
 #: qcsrc/menu/xonotic/dialog_hudpanel_strafehud.qc:54
 msgid "StrafeHUD style:"
-msgstr ""
+msgstr "Stile StrafeHUD:"
 
 #: qcsrc/menu/xonotic/dialog_hudpanel_strafehud.qc:57
 msgid "no styling"
-msgstr ""
+msgstr "nessuno stile"
 
 #: qcsrc/menu/xonotic/dialog_hudpanel_strafehud.qc:58
 msgid "progress bar"
-msgstr ""
+msgstr "barra di progresso"
 
 #: qcsrc/menu/xonotic/dialog_hudpanel_strafehud.qc:59
 msgid "gradient"
-msgstr ""
+msgstr "gradiente"
 
 #: qcsrc/menu/xonotic/dialog_hudpanel_strafehud.qc:62
 msgid "Demo mode"
-msgstr ""
+msgstr "Modo demo"
 
 #: qcsrc/menu/xonotic/dialog_hudpanel_strafehud.qc:66
 msgid "Range:"
-msgstr ""
+msgstr "Raggio:"
 
 #: qcsrc/menu/xonotic/dialog_hudpanel_strafehud.qc:69
 msgid "Center panel"
-msgstr ""
+msgstr "Centra pannello"
 
 #: qcsrc/menu/xonotic/dialog_hudpanel_strafehud.qc:75
 msgid "Reset colors"
-msgstr ""
+msgstr "Reimposta colori"
 
 #: qcsrc/menu/xonotic/dialog_hudpanel_strafehud.qc:79
 msgid "Strafe bar:"
-msgstr ""
+msgstr "Barra di strafe:"
 
 #: qcsrc/menu/xonotic/dialog_hudpanel_strafehud.qc:83
 msgid "Angle indicator:"
-msgstr ""
+msgstr "Indicatore angolo:"
 
 #: qcsrc/menu/xonotic/dialog_hudpanel_strafehud.qc:85
 #: qcsrc/menu/xonotic/dialog_hudpanel_strafehud.qc:93
 msgid "Neutral:"
-msgstr ""
+msgstr "Neutrale:"
 
 #: qcsrc/menu/xonotic/dialog_hudpanel_strafehud.qc:87
 #: qcsrc/menu/xonotic/dialog_hudpanel_strafehud.qc:95
 msgid "Good:"
-msgstr ""
+msgstr "Buono:"
 
 #: qcsrc/menu/xonotic/dialog_hudpanel_strafehud.qc:89
 #: qcsrc/menu/xonotic/dialog_hudpanel_strafehud.qc:97
 msgid "Overturn:"
-msgstr ""
+msgstr "Eccessivo:"
 
 #: qcsrc/menu/xonotic/dialog_hudpanel_strafehud.qc:124
 msgid "Switch indicators:"
-msgstr ""
+msgstr "Indicatori di cambio:"
 
 #: qcsrc/menu/xonotic/dialog_hudpanel_strafehud.qc:128
 msgid "Direction caps:"
-msgstr ""
+msgstr "Limiti direzione:"
 
 #: qcsrc/menu/xonotic/dialog_hudpanel_strafehud.qc:130
 msgid "Active:"
-msgstr ""
+msgstr "Attivo:"
 
 #: qcsrc/menu/xonotic/dialog_hudpanel_strafehud.qc:134
 msgid "Inactive:"
-msgstr ""
+msgstr "Inattivo:"
 
 #: qcsrc/menu/xonotic/dialog_hudpanel_strafehud.qh:6
 msgid "StrafeHUD Panel"
-msgstr ""
+msgstr "Pannello StrafeHUD"
 
 #: qcsrc/menu/xonotic/dialog_hudpanel_timer.qc:16
 msgid "Timer:"
@@ -8757,7 +8757,7 @@ msgstr "Non nei giochi di squadra"
 
 #: qcsrc/menu/xonotic/dialog_settings_game_model.qc:58
 msgid "Only in Duel"
-msgstr ""
+msgstr "Solo in Duello"
 
 #: qcsrc/menu/xonotic/dialog_settings_game_model.qc:61
 msgid "Body fading:"
index efb96f98e8c70d31826dcef2dbf60687fad4f594..1e84e2620b11be699aa082de930a8fd98f13102e 100644 (file)
@@ -3,11 +3,12 @@
 # This file is distributed under the same license as the PACKAGE package.
 #
 # Translators:
+# Iso Lee, 2016
 # Jisoo Lim <liminj0719@gmail.com>, 2017
-# Kyf Lee <coughingmouse@gmail.com>, 2016
-# Kyf Lee <coughingmouse@gmail.com>, 2016-2017
-# Kyf Lee <coughingmouse@gmail.com>, 2016-2017
-# Kyf Lee <coughingmouse@gmail.com>, 2016
+# Iso Lee, 2016
+# Iso Lee, 2016-2017
+# Iso Lee, 2016-2017
+# Iso Lee, 2016
 msgid ""
 msgstr ""
 "Project-Id-Version: Xonotic\n"
index 6430d826d5921fbe5b94bfae2e3ac4cf95c4cc16..ddd900f31e35f861482669e54c05825e61186aea 100644 (file)
@@ -14,8 +14,8 @@ msgstr ""
 "Project-Id-Version: Xonotic\n"
 "Report-Msgid-Bugs-To: \n"
 "POT-Creation-Date: 2020-10-18 07:23+0200\n"
-"PO-Revision-Date: 2020-10-18 05:23+0000\n"
-"Last-Translator: divVerent <divVerent@xonotic.org>\n"
+"PO-Revision-Date: 2020-10-18 11:42+0000\n"
+"Last-Translator: Jean Trindade Pereira <jean_trindade2@hotmail.com>\n"
 "Language-Team: Portuguese (Brazil) (http://www.transifex.com/team-xonotic/"
 "xonotic/language/pt_BR/)\n"
 "Language: pt_BR\n"
@@ -1048,23 +1048,23 @@ msgstr "Você morreu. Aperte ^2%s^7 para ressurgir"
 
 #: qcsrc/client/hud/panel/strafehud.qc:908
 msgid "qu"
-msgstr ""
+msgstr "qu"
 
 #: qcsrc/client/hud/panel/strafehud.qc:909
 msgid "m"
-msgstr ""
+msgstr "m"
 
 #: qcsrc/client/hud/panel/strafehud.qc:910
 msgid "km"
-msgstr ""
+msgstr "km"
 
 #: qcsrc/client/hud/panel/strafehud.qc:911
 msgid "mi"
-msgstr ""
+msgstr "mi"
 
 #: qcsrc/client/hud/panel/strafehud.qc:912
 msgid "nmi"
-msgstr ""
+msgstr "nmi"
 
 #: qcsrc/client/hud/panel/timer.qc:72
 msgid "WARMUP"
@@ -6304,90 +6304,90 @@ msgstr "Painel da Pontuação"
 
 #: qcsrc/menu/xonotic/dialog_hudpanel_strafehud.qc:47
 msgid "StrafeHUD mode:"
-msgstr ""
+msgstr "Modo do StrafeHUD:"
 
 #: qcsrc/menu/xonotic/dialog_hudpanel_strafehud.qc:50
 msgid "View angle centered"
-msgstr ""
+msgstr "Ângulo de visão centralizado"
 
 #: qcsrc/menu/xonotic/dialog_hudpanel_strafehud.qc:51
 msgid "Velocity angle centered"
-msgstr ""
+msgstr "Ângulo de velocidade centralizado"
 
 #: qcsrc/menu/xonotic/dialog_hudpanel_strafehud.qc:54
 msgid "StrafeHUD style:"
-msgstr ""
+msgstr "Estilo do StrafeHUD:"
 
 #: qcsrc/menu/xonotic/dialog_hudpanel_strafehud.qc:57
 msgid "no styling"
-msgstr ""
+msgstr "nenhum estilo"
 
 #: qcsrc/menu/xonotic/dialog_hudpanel_strafehud.qc:58
 msgid "progress bar"
-msgstr ""
+msgstr "barra de progresso"
 
 #: qcsrc/menu/xonotic/dialog_hudpanel_strafehud.qc:59
 msgid "gradient"
-msgstr ""
+msgstr "gradiente"
 
 #: qcsrc/menu/xonotic/dialog_hudpanel_strafehud.qc:62
 msgid "Demo mode"
-msgstr ""
+msgstr "Modo demo"
 
 #: qcsrc/menu/xonotic/dialog_hudpanel_strafehud.qc:66
 msgid "Range:"
-msgstr ""
+msgstr "Alcance:"
 
 #: qcsrc/menu/xonotic/dialog_hudpanel_strafehud.qc:69
 msgid "Center panel"
-msgstr ""
+msgstr "Painel central"
 
 #: qcsrc/menu/xonotic/dialog_hudpanel_strafehud.qc:75
 msgid "Reset colors"
-msgstr ""
+msgstr "Redefinir cores"
 
 #: qcsrc/menu/xonotic/dialog_hudpanel_strafehud.qc:79
 msgid "Strafe bar:"
-msgstr ""
+msgstr "Barra de strafe:"
 
 #: qcsrc/menu/xonotic/dialog_hudpanel_strafehud.qc:83
 msgid "Angle indicator:"
-msgstr ""
+msgstr "Indicador de ângulo:"
 
 #: qcsrc/menu/xonotic/dialog_hudpanel_strafehud.qc:85
 #: qcsrc/menu/xonotic/dialog_hudpanel_strafehud.qc:93
 msgid "Neutral:"
-msgstr ""
+msgstr "Neutro:"
 
 #: qcsrc/menu/xonotic/dialog_hudpanel_strafehud.qc:87
 #: qcsrc/menu/xonotic/dialog_hudpanel_strafehud.qc:95
 msgid "Good:"
-msgstr ""
+msgstr "Bom:"
 
 #: qcsrc/menu/xonotic/dialog_hudpanel_strafehud.qc:89
 #: qcsrc/menu/xonotic/dialog_hudpanel_strafehud.qc:97
 msgid "Overturn:"
-msgstr ""
+msgstr "Inversão:"
 
 #: qcsrc/menu/xonotic/dialog_hudpanel_strafehud.qc:124
 msgid "Switch indicators:"
-msgstr ""
+msgstr "Indicadores de troca:"
 
 #: qcsrc/menu/xonotic/dialog_hudpanel_strafehud.qc:128
 msgid "Direction caps:"
-msgstr ""
+msgstr "Limites de direção:"
 
 #: qcsrc/menu/xonotic/dialog_hudpanel_strafehud.qc:130
 msgid "Active:"
-msgstr ""
+msgstr "Ativo:"
 
 #: qcsrc/menu/xonotic/dialog_hudpanel_strafehud.qc:134
 msgid "Inactive:"
-msgstr ""
+msgstr "Inativo:"
 
 #: qcsrc/menu/xonotic/dialog_hudpanel_strafehud.qh:6
 msgid "StrafeHUD Panel"
-msgstr ""
+msgstr "Painel do StrafeHUD"
 
 #: qcsrc/menu/xonotic/dialog_hudpanel_timer.qc:16
 msgid "Timer:"
index aaf4d8c8e4774a714a778a68cb4456006a3d28cc..ac4a20377a3e2deb0a96b675662928b3ee25609c 100644 (file)
@@ -19,8 +19,8 @@ msgstr ""
 "Project-Id-Version: Xonotic\n"
 "Report-Msgid-Bugs-To: \n"
 "POT-Creation-Date: 2020-10-18 07:23+0200\n"
-"PO-Revision-Date: 2020-10-18 05:23+0000\n"
-"Last-Translator: divVerent <divVerent@xonotic.org>\n"
+"PO-Revision-Date: 2020-10-18 10:02+0000\n"
+"Last-Translator: Andrei Stepanov <adem4ik@gmail.com>\n"
 "Language-Team: Russian (http://www.transifex.com/team-xonotic/xonotic/"
 "language/ru/)\n"
 "Language: ru\n"
@@ -1052,23 +1052,23 @@ msgstr "Вы мертвы, нажмите ^2%s^7 для возрождения"
 
 #: qcsrc/client/hud/panel/strafehud.qc:908
 msgid "qu"
-msgstr ""
+msgstr "юнит"
 
 #: qcsrc/client/hud/panel/strafehud.qc:909
 msgid "m"
-msgstr ""
+msgstr "м"
 
 #: qcsrc/client/hud/panel/strafehud.qc:910
 msgid "km"
-msgstr ""
+msgstr "км"
 
 #: qcsrc/client/hud/panel/strafehud.qc:911
 msgid "mi"
-msgstr ""
+msgstr "mi"
 
 #: qcsrc/client/hud/panel/strafehud.qc:912
 msgid "nmi"
-msgstr ""
+msgstr "nmi"
 
 #: qcsrc/client/hud/panel/timer.qc:72
 msgid "WARMUP"
@@ -6273,90 +6273,90 @@ msgstr "Таблица Очков"
 
 #: qcsrc/menu/xonotic/dialog_hudpanel_strafehud.qc:47
 msgid "StrafeHUD mode:"
-msgstr ""
+msgstr "Режим HUD'a распрыжки:"
 
 #: qcsrc/menu/xonotic/dialog_hudpanel_strafehud.qc:50
 msgid "View angle centered"
-msgstr ""
+msgstr "Угол обзора по центру"
 
 #: qcsrc/menu/xonotic/dialog_hudpanel_strafehud.qc:51
 msgid "Velocity angle centered"
-msgstr ""
+msgstr "Угол скорости по центру"
 
 #: qcsrc/menu/xonotic/dialog_hudpanel_strafehud.qc:54
 msgid "StrafeHUD style:"
-msgstr ""
+msgstr "Стиль HUD'a распрыжки:"
 
 #: qcsrc/menu/xonotic/dialog_hudpanel_strafehud.qc:57
 msgid "no styling"
-msgstr ""
+msgstr "без стиля"
 
 #: qcsrc/menu/xonotic/dialog_hudpanel_strafehud.qc:58
 msgid "progress bar"
-msgstr ""
+msgstr "полоса прогресса"
 
 #: qcsrc/menu/xonotic/dialog_hudpanel_strafehud.qc:59
 msgid "gradient"
-msgstr ""
+msgstr "градиент"
 
 #: qcsrc/menu/xonotic/dialog_hudpanel_strafehud.qc:62
 msgid "Demo mode"
-msgstr ""
+msgstr "Режим демо"
 
 #: qcsrc/menu/xonotic/dialog_hudpanel_strafehud.qc:66
 msgid "Range:"
-msgstr ""
+msgstr "Диапазон:"
 
 #: qcsrc/menu/xonotic/dialog_hudpanel_strafehud.qc:69
 msgid "Center panel"
-msgstr ""
+msgstr "Центральная панель"
 
 #: qcsrc/menu/xonotic/dialog_hudpanel_strafehud.qc:75
 msgid "Reset colors"
-msgstr ""
+msgstr "Сбросить цвета"
 
 #: qcsrc/menu/xonotic/dialog_hudpanel_strafehud.qc:79
 msgid "Strafe bar:"
-msgstr ""
+msgstr "Полоса стрейфа:"
 
 #: qcsrc/menu/xonotic/dialog_hudpanel_strafehud.qc:83
 msgid "Angle indicator:"
-msgstr ""
+msgstr "Угловой индикатор:"
 
 #: qcsrc/menu/xonotic/dialog_hudpanel_strafehud.qc:85
 #: qcsrc/menu/xonotic/dialog_hudpanel_strafehud.qc:93
 msgid "Neutral:"
-msgstr ""
+msgstr "Нейтрально:"
 
 #: qcsrc/menu/xonotic/dialog_hudpanel_strafehud.qc:87
 #: qcsrc/menu/xonotic/dialog_hudpanel_strafehud.qc:95
 msgid "Good:"
-msgstr ""
+msgstr "Хорошо:"
 
 #: qcsrc/menu/xonotic/dialog_hudpanel_strafehud.qc:89
 #: qcsrc/menu/xonotic/dialog_hudpanel_strafehud.qc:97
 msgid "Overturn:"
-msgstr ""
+msgstr "Переповорот:"
 
 #: qcsrc/menu/xonotic/dialog_hudpanel_strafehud.qc:124
 msgid "Switch indicators:"
-msgstr ""
+msgstr "Индикаторы переключения:"
 
 #: qcsrc/menu/xonotic/dialog_hudpanel_strafehud.qc:128
 msgid "Direction caps:"
-msgstr ""
+msgstr "Колпачки направлений:"
 
 #: qcsrc/menu/xonotic/dialog_hudpanel_strafehud.qc:130
 msgid "Active:"
-msgstr ""
+msgstr "Активный:"
 
 #: qcsrc/menu/xonotic/dialog_hudpanel_strafehud.qc:134
 msgid "Inactive:"
-msgstr ""
+msgstr "Неактивный:"
 
 #: qcsrc/menu/xonotic/dialog_hudpanel_strafehud.qh:6
 msgid "StrafeHUD Panel"
-msgstr ""
+msgstr "Панель HUD'a распрыжки"
 
 #: qcsrc/menu/xonotic/dialog_hudpanel_timer.qc:16
 msgid "Timer:"
index 4cef1ff4cf055149f23b907d0d86540c6d3717de..b8051bdc0aa08a17b863153931a086fe1a908741 100644 (file)
@@ -4,14 +4,14 @@ de_CH "German (Switzerland)" "Deutsch (Schweiz)" 98%
 en    "English" "English" 100%
 en_AU "English (Australia)" "English (Australia)" 74%
 es    "Spanish" "Español" 98%
-fr    "French" "Français" 98%
+fr    "French" "Français" 99%
 ga    "Irish" "Irish" 31%
-it    "Italian" "Italiano" 98%
+it    "Italian" "Italiano" 100%
 hu    "Hungarian" "Magyar" 46%
 nl    "Dutch" "Nederlands" 61%
 pl    "Polish" "Polski" 71%
 pt    "Portuguese" "Português" 83%
-pt_BR "Portuguese (Brazil)" "Português (Brasil)" 98%
+pt_BR "Portuguese (Brazil)" "Português (Brasil)" 100%
 ro    "Romanian" "Romana" 73%
 fi    "Finnish" "Suomi" 98%
 tr    "Turkish" "Türkçe" 29%
@@ -19,7 +19,7 @@ cs    "Czech" "Čeština" 30%
 el    "Greek" "Ελληνική" 46%
 be    "Belarusian" "Беларуская" 53%
 bg    "Bulgarian" "Български" 62%
-ru    "Russian" "Русский" 98%
+ru    "Russian" "Русский" 100%
 sr    "Serbian" "Српски" 63%
 uk    "Ukrainian" "Українська" 49%
 zh_CN "Chinese (China)" "中文" 57%
index 22797f5c05cb1d49585a11eb9dad5fce282dd569..c437868e384f12fca13414d8f874ba82097276db 100644 (file)
@@ -334,9 +334,6 @@ set g_buffs_medic_survive_health 5 "amount of health player survives with after
 set g_buffs_medic_rot 0.2 "health rot rate multiplier"
 set g_buffs_medic_max 1.5 "stable health medic limit multiplier"
 set g_buffs_medic_regen 1.7 "health medic rate multiplier"
-set g_buffs_medic_heal_amount 15 "health given to nearby players on a delay"
-set g_buffs_medic_heal_range 400 "furthest away players can be from carrier to get healed by medic buff"
-set g_buffs_medic_heal_delay 1 "delay between team healing"
 set g_buffs_vengeance 1 "vengeance buff: attackers also take damage"
 set g_buffs_vengeance_time 60 "vengeance buff carry time"
 set g_buffs_vengeance_damage_multiplier 0.4 "amount of damage dealt the attacker takes when hitting a target with vengeance"
index c7c0eb0259963f39e5100f31c3f3e76d97147c16..897a7bb670927eb06bd30a361f3f0922231e3f75 100644 (file)
@@ -1,5 +1,9 @@
 #pragma once
 
+string autocvar_cl_announcer;
+float autocvar_cl_announcer_antispam = 2;
+float autocvar_cl_announcer_maptime = 3;
+
 void Announcer();
 
 string AnnouncerOption();
diff --git a/qcsrc/client/autocvars.qh b/qcsrc/client/autocvars.qh
deleted file mode 100644 (file)
index 967f8e4..0000000
+++ /dev/null
@@ -1,505 +0,0 @@
-#pragma once
-
-bool autocvar__con_chat_maximized;
-bool autocvar__hud_configure;
-string autocvar__hud_panelorder;
-float autocvar__menu_alpha;
-string autocvar_accuracy_color_levels;
-float autocvar_bgmvolume;
-bool autocvar_camera_chase_smoothly;
-bool autocvar_camera_enable;
-bool autocvar_camera_forward_follows;
-bool autocvar_camera_free;
-float autocvar_camera_look_attenuation;
-float autocvar_camera_look_player;
-float autocvar_camera_mouse_threshold;
-bool autocvar_camera_reset;
-float autocvar_camera_speed_attenuation;
-float autocvar_camera_speed_chase;
-float autocvar_camera_speed_free;
-float autocvar_camera_speed_roll;
-int autocvar_chase_active;
-int autocvar_cl_allow_uid2name;
-string autocvar_cl_announcer;
-float autocvar_cl_announcer_antispam = 2;
-float autocvar_cl_announcer_maptime = 3;
-bool autocvar_cl_autodemo_delete;
-bool autocvar_cl_autodemo_delete_keeprecords;
-float autocvar_cl_casings_bronze_time;
-int autocvar_cl_casings_maxcount = 100;
-float autocvar_cl_casings_shell_time;
-bool autocvar_cl_casings_sloppy = 1;
-float autocvar_cl_casings_ticrate = 0.1;
-bool autocvar_cl_db_saveasdump;
-bool autocvar_cl_deathscoreboard;
-float autocvar_cl_effects_lightningarc_branchfactor_add;
-float autocvar_cl_effects_lightningarc_branchfactor_start;
-float autocvar_cl_effects_lightningarc_drift_end;
-float autocvar_cl_effects_lightningarc_drift_start;
-float autocvar_cl_effects_lightningarc_segmentlength;
-bool autocvar_cl_effects_lightningarc_simple;
-bool autocvar_cl_gentle;
-int autocvar_cl_gentle_damage;
-int autocvar_cl_gentle_gibs;
-int autocvar_cl_gentle_messages;
-float autocvar_cl_gibs_damageforcescale = 3.5;
-float autocvar_cl_gibs_lifetime = 14;
-int autocvar_cl_gibs_maxcount = 100;
-bool autocvar_cl_gibs_sloppy = 1;
-float autocvar_cl_gibs_ticrate = 0.1;
-float autocvar_cl_gibs_velocity_random = 1;
-float autocvar_cl_gibs_velocity_scale = 1;
-float autocvar_cl_gibs_avelocity_scale = 1;
-float autocvar_cl_gibs_velocity_up;
-bool autocvar_cl_hidewaypoints;
-bool autocvar_cl_lockview;
-bool autocvar_cl_nogibs;
-bool autocvar_cl_orthoview;
-bool autocvar_cl_orthoview_nofog;
-bool autocvar_cl_particlegibs;
-bool autocvar_cl_particles_oldvortexbeam;
-float autocvar_cl_particles_quality;
-bool autocvar_cl_projectiles_sloppy;
-bool autocvar_cl_readpicture_force;
-bool autocvar_cl_respawn_ghosts_keepcolors;
-bool autocvar_cl_reticle = 1;
-float autocvar_cl_reticle_normal_alpha = 1;
-bool autocvar_cl_reticle_weapon = 1;
-float autocvar_cl_reticle_weapon_alpha = 1;
-bool autocvar_cl_reticle_stretch;
-bool autocvar_cl_spawn_event_particles;
-bool autocvar_cl_spawn_event_sound = 1;
-// float autocvar_cl_spawn_point_model;
-bool autocvar_cl_spawn_point_particles;
-float autocvar_cl_spawn_point_dist_max = 1200;
-bool autocvar_cl_spawnzoom = 1;
-float autocvar_cl_spawnzoom_speed = 1;
-float autocvar_cl_spawnzoom_factor = 2;
-bool autocvar_cl_stripcolorcodes;
-bool autocvar_cl_vehicles_alarm = false;
-bool autocvar_cl_vehicles_hud_tactical = true;
-float autocvar_cl_vehicles_hudscale = 0.5;
-float autocvar_cl_vehicles_notify_time = 15;
-float autocvar_cl_vehicles_crosshair_size = 0.5;
-bool autocvar_cl_vehicles_crosshair_colorize = true;
-bool autocvar__vehicles_shownchasemessage;
-bool autocvar_cl_velocityzoom_enabled;
-float autocvar_cl_velocityzoom_factor;
-int autocvar_cl_velocityzoom_type = 3;
-float autocvar_cl_velocityzoom_speed;
-float autocvar_cl_velocityzoom_time;
-string autocvar_cl_weaponpriority;
-float autocvar_cl_zoomfactor;
-float autocvar_cl_zoomsensitivity;
-float autocvar_cl_zoomspeed;
-bool autocvar_cl_unpress_zoom_on_spawn = true;
-bool autocvar_cl_unpress_zoom_on_death = true;
-bool autocvar_cl_unpress_zoom_on_weapon_switch = true;
-bool autocvar_cl_unpress_attack_on_weapon_switch = false;
-bool autocvar_con_chat;
-bool autocvar_con_chatrect;
-float autocvar_con_chatsize;
-float autocvar_con_notify;
-float autocvar_con_notifysize;
-string autocvar_crosshair;
-string autocvar_crosshair_2d = "54";
-float autocvar_crosshair_alpha;
-string autocvar_crosshair_color;
-int autocvar_crosshair_color_special;
-float autocvar_crosshair_color_special_rainbow_brightness = 2;
-float autocvar_crosshair_color_special_rainbow_delay = 0.1;
-bool autocvar_crosshair_dot;
-float autocvar_crosshair_dot_alpha;
-string autocvar_crosshair_dot_color;
-bool autocvar_crosshair_dot_color_custom = 1;
-float autocvar_crosshair_dot_size;
-bool autocvar_crosshair_effect_scalefade;
-float autocvar_crosshair_effect_time = 0.2;
-bool autocvar_crosshair_enabled = 1;
-bool autocvar_crosshair_hitindication;
-string autocvar_crosshair_hitindication_color;
-string autocvar_crosshair_hitindication_per_weapon_color;
-float autocvar_crosshair_hitindication_speed;
-bool autocvar_crosshair_hittest;
-bool autocvar_crosshair_hittest_blur_teammate = 0;
-bool autocvar_crosshair_hittest_blur_wall = 1;
-//float autocvar_crosshair_hittest_scale = 1.25;
-bool autocvar_crosshair_hittest_showimpact;
-bool autocvar_crosshair_per_weapon;
-float autocvar_crosshair_pickup;
-float autocvar_crosshair_pickup_speed;
-bool autocvar_crosshair_ring;
-bool autocvar_crosshair_ring_inner;
-bool autocvar_crosshair_ring_minelayer;
-float autocvar_crosshair_ring_minelayer_alpha;
-bool autocvar_crosshair_ring_hagar;
-float autocvar_crosshair_ring_hagar_alpha;
-bool autocvar_crosshair_ring_vortex = 1;
-float autocvar_crosshair_ring_vortex_alpha = 0.15;
-float autocvar_crosshair_ring_vortex_currentcharge_movingavg_rate = 0.05;
-float autocvar_crosshair_ring_vortex_currentcharge_scale = 30;
-float autocvar_crosshair_ring_vortex_inner_alpha = 0.15;
-float autocvar_crosshair_ring_vortex_inner_color_blue = 0;
-float autocvar_crosshair_ring_vortex_inner_color_green = 0;
-float autocvar_crosshair_ring_vortex_inner_color_red = 0.8;
-bool autocvar_crosshair_ring_arc = 1;
-vector autocvar_crosshair_ring_arc_hot_color = '1 0 0';
-float autocvar_crosshair_ring_arc_cold_alpha = 0.2;
-float autocvar_crosshair_ring_arc_hot_alpha = 0.5;
-float autocvar_crosshair_ring_size;
-bool autocvar_crosshair_ring_reload;
-float autocvar_crosshair_ring_reload_alpha;
-float autocvar_crosshair_ring_reload_size;
-float autocvar_crosshair_size;
-bool autocvar_crosshair_chase = true;
-float autocvar_crosshair_chase_playeralpha = 0.25;
-int autocvar_ekg;
-float autocvar_fov;
-bool autocvar_hud_cursormode = true;
-float autocvar_hud_colorflash_alpha;
-bool autocvar_hud_configure_checkcollisions;
-bool autocvar_hud_configure_grid;
-float autocvar_hud_configure_grid_alpha;
-bool autocvar_hud_configure_teamcolorforced;
-bool autocvar_hud_contents;
-float autocvar_hud_contents_blur;
-float autocvar_hud_contents_blur_alpha;
-float autocvar_hud_contents_fadeintime;
-float autocvar_hud_contents_fadeouttime;
-float autocvar_hud_contents_lava_alpha;
-string autocvar_hud_contents_lava_color;
-float autocvar_hud_contents_slime_alpha;
-string autocvar_hud_contents_slime_color;
-float autocvar_hud_contents_water_alpha;
-string autocvar_hud_contents_water_color;
-bool autocvar_hud_damage;
-float autocvar_hud_damage_blur;
-float autocvar_hud_damage_blur_alpha;
-string autocvar_hud_damage_color;
-float autocvar_hud_damage_factor;
-float autocvar_hud_damage_fade_rate;
-float autocvar_hud_damage_gentle_alpha_multiplier;
-string autocvar_hud_damage_gentle_color;
-float autocvar_hud_damage_maxalpha;
-float autocvar_hud_damage_pain_threshold;
-float autocvar_hud_damage_pain_threshold_lower;
-float autocvar_hud_damage_pain_threshold_lower_health;
-float autocvar_hud_damage_pain_threshold_pulsating_min;
-float autocvar_hud_damage_pain_threshold_pulsating_period;
-bool autocvar_hud_powerup;
-bool autocvar_hud_postprocessing;
-float autocvar_hud_postprocessing_maxbluralpha;
-float autocvar_hud_postprocessing_maxblurradius;
-string autocvar_hud_dock;
-float autocvar_hud_dock_alpha;
-string autocvar_hud_dock_color;
-bool autocvar_hud_dock_color_team;
-bool autocvar_hud_panel_weapons_dynamichud      = true;
-bool autocvar_hud_panel_ammo_dynamichud         = true;
-bool autocvar_hud_panel_powerups_dynamichud     = true;
-bool autocvar_hud_panel_healtharmor_dynamichud  = true;
-bool autocvar_hud_panel_notify_dynamichud       = true;
-bool autocvar_hud_panel_timer_dynamichud        = true;
-bool autocvar_hud_panel_radar_dynamichud        = true;
-bool autocvar_hud_panel_score_dynamichud        = true;
-bool autocvar_hud_panel_racetimer_dynamichud    = true;
-bool autocvar_hud_panel_vote_dynamichud         = true;
-bool autocvar_hud_panel_modicons_dynamichud     = true;
-bool autocvar_hud_panel_pressedkeys_dynamichud  = true;
-bool autocvar_hud_panel_engineinfo_dynamichud   = true;
-bool autocvar_hud_panel_infomessages_dynamichud = false;
-bool autocvar_hud_panel_physics_dynamichud      = true;
-bool autocvar_hud_panel_centerprint_dynamichud  = true;
-//bool autocvar_hud_panel_itemstime_dynamichud    = true;
-bool autocvar_hud_panel_strafehud_dynamichud    = true;
-bool autocvar_hud_panel_healtharmor_hide_ondeath  = false;
-bool autocvar_hud_panel_ammo_hide_ondeath         = false;
-bool autocvar_hud_panel_powerups_hide_ondeath     = false;
-bool autocvar_hud_panel_weapons_hide_ondeath      = false;
-bool autocvar_hud_panel_ammo;
-bool autocvar_hud_panel_ammo_iconalign;
-int autocvar_hud_panel_ammo_maxammo;
-bool autocvar_hud_panel_ammo_onlycurrent;
-float autocvar_hud_panel_ammo_noncurrent_alpha = 0.7;
-float autocvar_hud_panel_ammo_noncurrent_scale = 1;
-bool autocvar_hud_panel_ammo_progressbar;
-string autocvar_hud_panel_ammo_progressbar_name;
-float autocvar_hud_panel_ammo_progressbar_xoffset;
-bool autocvar_hud_panel_ammo_text;
-string autocvar_hud_panel_bg;
-float autocvar_hud_panel_bg_alpha;
-float autocvar_hud_panel_bg_border;
-vector autocvar_hud_panel_bg_color;
-float autocvar_hud_panel_bg_color_team;
-float autocvar_hud_panel_bg_padding;
-bool autocvar_hud_panel_centerprint;
-float autocvar_hud_panel_centerprint_align;
-float autocvar_hud_panel_centerprint_fade_in = 0.2;
-float autocvar_hud_panel_centerprint_fade_out = 0.5;
-float autocvar_hud_panel_centerprint_fade_subsequent = 1;
-float autocvar_hud_panel_centerprint_fade_subsequent_passone = 3;
-float autocvar_hud_panel_centerprint_fade_subsequent_passone_minalpha = 0.5;
-float autocvar_hud_panel_centerprint_fade_subsequent_passtwo = 10;
-float autocvar_hud_panel_centerprint_fade_subsequent_passtwo_minalpha = 0.5;
-float autocvar_hud_panel_centerprint_fade_subsequent_minfontsize = 0.75;
-float autocvar_hud_panel_centerprint_fade_minfontsize = 0;
-bool autocvar_hud_panel_centerprint_flip;
-float autocvar_hud_panel_centerprint_fontscale;
-float autocvar_hud_panel_centerprint_fontscale_bold = 1.4;
-float autocvar_hud_panel_centerprint_time;
-bool autocvar_hud_panel_chat;
-bool autocvar_hud_panel_engineinfo;
-float autocvar_hud_panel_engineinfo_framecounter_decimals;
-float autocvar_hud_panel_engineinfo_framecounter_time;
-float autocvar_hud_panel_fg_alpha;
-bool autocvar_hud_panel_healtharmor;
-int autocvar_hud_panel_healtharmor_baralign;
-bool autocvar_hud_panel_healtharmor_combined;
-bool autocvar_hud_panel_healtharmor_flip;
-int autocvar_hud_panel_healtharmor_iconalign;
-int autocvar_hud_panel_healtharmor_maxarmor;
-int autocvar_hud_panel_healtharmor_maxhealth;
-bool autocvar_hud_panel_healtharmor_progressbar;
-string autocvar_hud_panel_healtharmor_progressbar_armor;
-string autocvar_hud_panel_healtharmor_progressbar_health;
-bool autocvar_hud_panel_healtharmor_progressbar_gfx;
-float autocvar_hud_panel_healtharmor_progressbar_gfx_damage;
-float autocvar_hud_panel_healtharmor_progressbar_gfx_lowhealth;
-float autocvar_hud_panel_healtharmor_progressbar_gfx_smooth;
-int autocvar_hud_panel_healtharmor_text;
-bool autocvar_hud_panel_infomessages;
-bool autocvar_hud_panel_infomessages_flip;
-float autocvar_hud_panel_mapvote_highlight_border = 1;
-bool autocvar_hud_panel_modicons;
-int autocvar_hud_panel_modicons_ca_layout;
-int autocvar_hud_panel_modicons_freezetag_layout;
-bool autocvar_hud_panel_notify;
-float autocvar_hud_panel_notify_fadetime;
-float autocvar_hud_panel_notify_flip;
-float autocvar_hud_panel_notify_fontsize;
-float autocvar_hud_panel_notify_time;
-float autocvar_hud_panel_notify_icon_aspect;
-bool autocvar_hud_panel_physics;
-float autocvar_hud_panel_physics_acceleration_movingaverage = 1;
-float autocvar_hud_panel_physics_acceleration_progressbar_mode;
-float autocvar_hud_panel_physics_acceleration_progressbar_scale;
-float autocvar_hud_panel_physics_acceleration_progressbar_nonlinear;
-float autocvar_hud_panel_physics_acceleration_max;
-float autocvar_hud_panel_physics_update_interval;
-int autocvar_hud_panel_physics_progressbar;
-bool autocvar_hud_panel_physics_acceleration_vertical;
-int autocvar_hud_panel_physics_baralign;
-bool autocvar_hud_panel_physics_flip;
-float autocvar_hud_panel_physics_speed_max;
-int autocvar_hud_panel_physics_speed_unit;
-bool autocvar_hud_panel_physics_speed_unit_show;
-bool autocvar_hud_panel_physics_speed_vertical;
-int autocvar_hud_panel_physics_text;
-float autocvar_hud_panel_physics_text_scale;
-bool autocvar_hud_panel_physics_topspeed;
-float autocvar_hud_panel_physics_topspeed_time;
-bool autocvar_hud_panel_powerups;
-int autocvar_hud_panel_powerups_baralign;
-int autocvar_hud_panel_powerups_iconalign;
-bool autocvar_hud_panel_powerups_progressbar;
-bool autocvar_hud_panel_powerups_text;
-int autocvar_hud_panel_pressedkeys;
-float autocvar_hud_panel_pressedkeys_aspect;
-bool autocvar_hud_panel_pressedkeys_attack;
-float autocvar_hud_panel_quickmenu_translatecommands;
-string autocvar_hud_panel_quickmenu_file;
-float autocvar_hud_panel_quickmenu_time;
-bool autocvar_hud_panel_racetimer;
-int autocvar_hud_panel_radar;
-float autocvar_hud_panel_radar_foreground_alpha;
-float autocvar_hud_panel_radar_maximized_scale;
-vector autocvar_hud_panel_radar_maximized_size;
-float autocvar_hud_panel_radar_rotation;
-float autocvar_hud_panel_radar_scale;
-int autocvar_hud_panel_radar_zoommode;
-float autocvar_hud_panel_radar_maximized_rotation;
-int autocvar_hud_panel_radar_maximized_zoommode;
-bool autocvar_hud_panel_score;
-bool autocvar_hud_panel_score_rankings;
-int autocvar_hud_panel_strafehud = 3;
-bool autocvar__hud_panel_strafehud_demo = false;
-int autocvar_hud_panel_strafehud_mode = 0;
-float autocvar_hud_panel_strafehud_range = 0;
-int autocvar_hud_panel_strafehud_style = 1;
-int autocvar_hud_panel_strafehud_unit = 1;
-bool autocvar_hud_panel_strafehud_unit_show = true;
-vector autocvar_hud_panel_strafehud_bar_neutral_color = '1 1 1';
-float autocvar_hud_panel_strafehud_bar_neutral_alpha = 0.3;
-vector autocvar_hud_panel_strafehud_bar_accel_color = '0 1 0';
-float autocvar_hud_panel_strafehud_bar_accel_alpha = 0.3;
-vector autocvar_hud_panel_strafehud_bar_overturn_color = '1 0 1';
-float autocvar_hud_panel_strafehud_bar_overturn_alpha = 0.3;
-float autocvar_hud_panel_strafehud_angle_alpha = 0.8;
-float autocvar_hud_panel_strafehud_angle_height = 1.5;
-float autocvar_hud_panel_strafehud_angle_width = 0.005;
-vector autocvar_hud_panel_strafehud_angle_neutral_color = '1 1 0';
-vector autocvar_hud_panel_strafehud_angle_accel_color = '0 1 1';
-vector autocvar_hud_panel_strafehud_angle_overturn_color = '1 0 1';
-float autocvar_hud_panel_strafehud_switch_minspeed = -1;
-vector autocvar_hud_panel_strafehud_switch_active_color = '0 1 0';
-float autocvar_hud_panel_strafehud_switch_active_alpha = 1;
-vector autocvar_hud_panel_strafehud_switch_inactive_color = '1 1 0';
-float autocvar_hud_panel_strafehud_switch_inactive_alpha = 1;
-float autocvar_hud_panel_strafehud_switch_width = 0.0075;
-vector autocvar_hud_panel_strafehud_direction_color = '0 0.5 1';
-float autocvar_hud_panel_strafehud_direction_alpha = 1;
-float autocvar_hud_panel_strafehud_direction_width = 0.25;
-float autocvar_hud_panel_strafehud_direction_length = 0.02;
-float autocvar_hud_panel_strafehud_slickdetector_range = 0;
-int autocvar_hud_panel_strafehud_slickdetector_granularity = 2;
-vector autocvar_hud_panel_strafehud_slickdetector_color = '0 1 1';
-float autocvar_hud_panel_strafehud_slickdetector_alpha = 0.5;
-float autocvar_hud_panel_strafehud_slickdetector_height = 0.125;
-float autocvar_hud_panel_strafehud_startspeed_fade = 0;
-vector autocvar_hud_panel_strafehud_startspeed_color = '1 0.75 0';
-float autocvar_hud_panel_strafehud_startspeed_size = 1.5;
-float autocvar_hud_panel_strafehud_jumpheight_fade = 0;
-float autocvar_hud_panel_strafehud_jumpheight_min = 50;
-vector autocvar_hud_panel_strafehud_jumpheight_color = '0 1 0.75';
-float autocvar_hud_panel_strafehud_jumpheight_size = 1.5;
-float autocvar_hud_panel_strafehud_timeout_air = 0.1;
-float autocvar_hud_panel_strafehud_timeout_ground = 0.03333333;
-float autocvar_hud_panel_strafehud_timeout_turn = 0.1;
-float autocvar_hud_panel_strafehud_timeout_direction = 0.5;
-float autocvar_hud_panel_strafehud_antiflicker_angle = 0.01;
-float autocvar_hud_panel_strafehud_antiflicker_speed = 0.0001;
-bool autocvar_hud_panel_timer;
-bool autocvar_hud_panel_timer_increment;
-float autocvar_hud_panel_update_interval;
-bool autocvar_hud_panel_vote;
-float autocvar_hud_panel_vote_alreadyvoted_alpha;
-bool autocvar_hud_panel_weapons;
-bool autocvar_hud_panel_weapons_accuracy;
-bool autocvar_hud_panel_weapons_ammo;
-float autocvar_hud_panel_weapons_ammo_alpha;
-string autocvar_hud_panel_weapons_ammo_color;
-int autocvar_hud_panel_weapons_ammo_full_cells;
-int autocvar_hud_panel_weapons_ammo_full_plasma;
-int autocvar_hud_panel_weapons_ammo_full_fuel;
-int autocvar_hud_panel_weapons_ammo_full_nails;
-int autocvar_hud_panel_weapons_ammo_full_rockets;
-int autocvar_hud_panel_weapons_ammo_full_shells;
-float autocvar_hud_panel_weapons_aspect;
-bool autocvar_hud_panel_weapons_complainbubble;
-string autocvar_hud_panel_weapons_complainbubble_color_donthave;
-string autocvar_hud_panel_weapons_complainbubble_color_outofammo;
-string autocvar_hud_panel_weapons_complainbubble_color_unavailable;
-float autocvar_hud_panel_weapons_complainbubble_fadetime;
-float autocvar_hud_panel_weapons_complainbubble_padding;
-float autocvar_hud_panel_weapons_complainbubble_time;
-int autocvar_hud_panel_weapons_label;
-float autocvar_hud_panel_weapons_label_scale = 0.5;
-int autocvar_hud_panel_weapons_onlyowned;
-float autocvar_hud_panel_weapons_noncurrent_alpha = 1;
-float autocvar_hud_panel_weapons_noncurrent_scale = 1;
-float autocvar_hud_panel_weapons_selection_radius = 0;
-float autocvar_hud_panel_weapons_selection_speed = 10;
-float autocvar_hud_panel_weapons_timeout;
-int autocvar_hud_panel_weapons_timeout_effect;
-bool autocvar_hud_panel_weapons_orderbyimpulse = true;
-float autocvar_hud_panel_weapons_timeout_fadebgmin;
-float autocvar_hud_panel_weapons_timeout_fadefgmin;
-float autocvar_hud_panel_weapons_timeout_speed_in = 0.25;
-float autocvar_hud_panel_weapons_timeout_speed_out = 0.75;
-//float autocvar_hud_panel_quickmenu;
-float autocvar_hud_panel_quickmenu_align;
-vector autocvar_hud_progressbar_acceleration_color;
-vector autocvar_hud_progressbar_acceleration_neg_color;
-float autocvar_hud_progressbar_alpha;
-vector autocvar_hud_progressbar_armor_color;
-vector autocvar_hud_progressbar_fuel_color;
-vector autocvar_hud_progressbar_oxygen_color = '0.1 1 1';
-vector autocvar_hud_progressbar_health_color;
-vector autocvar_hud_progressbar_nexball_color;
-vector autocvar_hud_progressbar_shield_color;
-vector autocvar_hud_progressbar_speed_color;
-vector autocvar_hud_progressbar_strength_color;
-vector autocvar_hud_progressbar_superweapons_color;
-vector autocvar_hud_progressbar_vehicles_ammo1_color;
-vector autocvar_hud_progressbar_vehicles_ammo2_color;
-bool autocvar_hud_showbinds;
-bool autocvar_hud_showbinds_limit;
-bool autocvar__hud_showbinds_reload;
-bool autocvar_hud_shownames;
-bool autocvar_hud_shownames_enemies;
-float autocvar_hud_shownames_crosshairdistance;
-float autocvar_hud_shownames_crosshairdistance_time;
-float autocvar_hud_shownames_crosshairdistance_antioverlap;
-bool autocvar_hud_shownames_self;
-bool autocvar_hud_shownames_status;
-float autocvar_hud_shownames_statusbar_height;
-float autocvar_hud_shownames_statusbar_highlight = 1;
-float autocvar_hud_shownames_aspect;
-float autocvar_hud_shownames_fontsize;
-int autocvar_hud_shownames_decolorize;
-float autocvar_hud_shownames_alpha;
-bool autocvar_hud_shownames_resize;
-float autocvar_hud_shownames_mindistance;
-float autocvar_hud_shownames_maxdistance;
-bool autocvar_hud_shownames_antioverlap;
-float autocvar_hud_shownames_antioverlap_distance;
-float autocvar_hud_shownames_offset;
-string autocvar_hud_skin;
-float autocvar_menu_mouse_speed;
-string autocvar_menu_skin;
-int autocvar_r_fakelight;
-bool autocvar_r_fullbright;
-float autocvar_r_letterbox;
-string autocvar_scoreboard_columns;
-bool autocvar_v_flipped;
-int autocvar_vid_conheight;
-int autocvar_vid_conwidth;
-float autocvar_vid_pixelheight;
-float autocvar_viewsize;
-bool autocvar_cl_eventchase_vehicle = 1;
-vector autocvar_cl_eventchase_vehicle_viewoffset = '0 0 80';
-float autocvar_cl_eventchase_vehicle_distance = 250;
-int autocvar_cl_hitsound;
-float autocvar_cl_hitsound_min_pitch = 0.75;
-float autocvar_cl_hitsound_max_pitch = 1.5;
-float autocvar_cl_hitsound_nom_damage = 25;
-float autocvar_cl_hitsound_antispam_time;
-bool autocvar_cl_eventchase_spectated_change = false;
-float autocvar_cl_eventchase_spectated_change_time = 1;
-int autocvar_cl_eventchase_death = 2;
-float autocvar_cl_eventchase_distance = 140;
-bool autocvar_cl_eventchase_frozen = false;
-float autocvar_cl_eventchase_speed = 1.3;
-vector autocvar_cl_eventchase_maxs = '12 12 8';
-vector autocvar_cl_eventchase_mins = '-12 -12 -8';
-vector autocvar_cl_eventchase_viewoffset = '0 0 20';
-float autocvar_cl_lerpexcess; // TODO: int?
-string autocvar__togglezoom;
-int autocvar_cl_damageeffect;
-float autocvar_cl_damageeffect_ticrate;
-float autocvar_cl_damageeffect_bones;
-bool autocvar_cl_damageeffect_distribute;
-float autocvar_cl_damageeffect_lifetime;
-float autocvar_cl_damageeffect_lifetime_min;
-float autocvar_cl_damageeffect_lifetime_max;
-int autocvar_cl_playerdetailreduction;
-int autocvar_cl_modeldetailreduction;
-float autocvar_cl_loddistance1 = 768;
-float autocvar_cl_loddistance2 = 2048;
-bool autocvar_cl_forceplayermodels;
-bool autocvar_cl_forceplayercolors;
-string autocvar_cl_forcemyplayermodel;
-int autocvar_cl_forcemyplayerskin;
-int autocvar_cl_forcemyplayercolors;
-int autocvar__cl_color;
-int autocvar__cl_playerskin;
-string autocvar__cl_playermodel;
-float autocvar_cl_deathglow;
-float autocvar_cl_deathglow_min = 0.5;
-bool autocvar_developer_csqcentities;
-float autocvar_cl_jetpack_attenuation = 2;
-bool autocvar_cl_showspectators;
-int autocvar_cl_nade_timer;
-bool autocvar_r_drawviewmodel;
-bool autocvar_cl_race_cptimes_onlyself;
-bool autocvar_cl_race_cptimes_showself = false;
index da5c911e330bf7abad7ffb518571bc768312a6f7..415122c96c4b81ba98d0e4a3bd63eb668077f096 100644 (file)
@@ -1,6 +1,5 @@
 #include "bgmscript.qh"
 
-#include <client/autocvars.qh>
 #include <client/main.qh>
 #include <common/util.qh>
 
index 18679ebb86dc9a744a92a54c38e1ea1cfd35b277..2ce69ca2c361a7b504a69b5c4714f94245a6d90f 100644 (file)
@@ -2,6 +2,8 @@
 
 #include <common/mapobjects/bgmscript.qh>
 
+float autocvar_bgmvolume;
+
 classfield(BGMScript) .float just_toggled;
 
 float bgmtime;
index e143f8dbf14bccf96b129ff726f6445cadbafee8..15419f96697fe8f9b4e6aa22cb8710b1087fc13f 100644 (file)
@@ -5,7 +5,6 @@
 //  Last updated: December 28th, 2011
 // ==============================================
 
-#include <client/autocvars.qh>
 #include <client/draw.qh>
 #include <client/hud/_mod.qh>
 #include <client/hud/panel/quickmenu.qh>
index 3adef84a4b5c72299ba8f8c5889013c0bd145833..f53ea725c7d537403a7d785b7e21caf66cc82599 100644 (file)
@@ -1,6 +1,5 @@
 #include "csqcmodel_hooks.qh"
 
-#include <client/autocvars.qh>
 #include <client/mutators/_mod.qh>
 #include <client/player_skeleton.qh>
 #include <client/weapons/projectile.qh>
@@ -619,7 +618,7 @@ void CSQCModel_Hook_PreDraw(entity this, bool isplayer)
                return;
        this.csqcmodel_predraw_run = framecount;
 
-       if(!this.modelindex || this.model == "null" || this.alpha < 0)
+       if(!this.modelindex || this.model == "null")
        {
                this.drawmask = 0;
                if(this.snd_looping > 0)
@@ -675,6 +674,8 @@ void CSQCModel_Hook_PreDraw(entity this, bool isplayer)
                                tracebox(this.origin + '0 0 1', this.mins, this.maxs, this.origin - '0 0 4', MOVE_NORMAL, this);
                                if(trace_startsolid || trace_fraction < 1)
                                        onground = 1;
+                               // predicted clients handle smoothing in the prediction code
+                               this.origin = CSQCModel_ApplyStairSmoothing(this, onground, this.origin);
                        }
                        animdecide_load_if_needed(this);
                        animdecide_setimplicitstate(this, onground);
index 14b171b6c2a53bbc318c88963e48b9b97d5e0563..dd10112d73634822347de0df314d3e0ff290aace 100644 (file)
@@ -1,5 +1,22 @@
 #pragma once
 
+bool autocvar_cl_respawn_ghosts_keepcolors;
+int autocvar_cl_playerdetailreduction;
+int autocvar_cl_modeldetailreduction;
+float autocvar_cl_loddistance1 = 768;
+float autocvar_cl_loddistance2 = 2048;
+bool autocvar_cl_forceplayermodels;
+bool autocvar_cl_forceplayercolors;
+string autocvar_cl_forcemyplayermodel;
+int autocvar_cl_forcemyplayerskin;
+int autocvar_cl_forcemyplayercolors;
+int autocvar__cl_color;
+int autocvar__cl_playerskin;
+string autocvar__cl_playermodel;
+float autocvar_cl_deathglow;
+float autocvar_cl_deathglow_min = 0.5;
+float autocvar_cl_jetpack_attenuation = 2;
+
 // FEATURE: EF_NODRAW workalike
 const int EF_BRIGHTFIELD       = BIT(0);
 const int EF_BRIGHTLIGHT       = BIT(2);
index 7142b05fbc816fadcce6d39233f45fd823a53900..d16e06fb65a513e0647a4cc5777358c12963cc76 100644 (file)
@@ -1,6 +1,5 @@
 #include "crosshair.qh"
 
-#include <client/autocvars.qh>
 #include <client/draw.qh>
 #include <client/hud/panel/scoreboard.qh>
 #include <client/view.qh>
index 8de5e5a38bc59f85fc04d44e80561d307443f360..ab725957ac7903b533bd6bcbe870f68f6c9581f6 100644 (file)
@@ -1,5 +1,63 @@
 #pragma once
 
+bool autocvar_cl_reticle = 1;
+float autocvar_cl_reticle_normal_alpha = 1;
+bool autocvar_cl_reticle_weapon = 1;
+float autocvar_cl_reticle_weapon_alpha = 1;
+bool autocvar_cl_reticle_stretch;
+string autocvar_crosshair;
+string autocvar_crosshair_2d = "54";
+float autocvar_crosshair_alpha;
+string autocvar_crosshair_color;
+int autocvar_crosshair_color_special;
+float autocvar_crosshair_color_special_rainbow_brightness = 2;
+float autocvar_crosshair_color_special_rainbow_delay = 0.1;
+bool autocvar_crosshair_dot;
+float autocvar_crosshair_dot_alpha;
+string autocvar_crosshair_dot_color;
+bool autocvar_crosshair_dot_color_custom = 1;
+float autocvar_crosshair_dot_size;
+bool autocvar_crosshair_effect_scalefade;
+float autocvar_crosshair_effect_time = 0.2;
+bool autocvar_crosshair_enabled = 1;
+bool autocvar_crosshair_hitindication;
+string autocvar_crosshair_hitindication_color;
+string autocvar_crosshair_hitindication_per_weapon_color;
+float autocvar_crosshair_hitindication_speed;
+bool autocvar_crosshair_hittest;
+bool autocvar_crosshair_hittest_blur_teammate = 0;
+bool autocvar_crosshair_hittest_blur_wall = 1;
+//float autocvar_crosshair_hittest_scale = 1.25;
+bool autocvar_crosshair_hittest_showimpact;
+bool autocvar_crosshair_per_weapon;
+float autocvar_crosshair_pickup;
+float autocvar_crosshair_pickup_speed;
+bool autocvar_crosshair_ring;
+bool autocvar_crosshair_ring_inner;
+bool autocvar_crosshair_ring_minelayer;
+float autocvar_crosshair_ring_minelayer_alpha;
+bool autocvar_crosshair_ring_hagar;
+float autocvar_crosshair_ring_hagar_alpha;
+bool autocvar_crosshair_ring_vortex = 1;
+float autocvar_crosshair_ring_vortex_alpha = 0.15;
+float autocvar_crosshair_ring_vortex_currentcharge_movingavg_rate = 0.05;
+float autocvar_crosshair_ring_vortex_currentcharge_scale = 30;
+float autocvar_crosshair_ring_vortex_inner_alpha = 0.15;
+float autocvar_crosshair_ring_vortex_inner_color_blue = 0;
+float autocvar_crosshair_ring_vortex_inner_color_green = 0;
+float autocvar_crosshair_ring_vortex_inner_color_red = 0.8;
+bool autocvar_crosshair_ring_arc = 1;
+vector autocvar_crosshair_ring_arc_hot_color = '1 0 0';
+float autocvar_crosshair_ring_arc_cold_alpha = 0.2;
+float autocvar_crosshair_ring_arc_hot_alpha = 0.5;
+float autocvar_crosshair_ring_size;
+bool autocvar_crosshair_ring_reload;
+float autocvar_crosshair_ring_reload_alpha;
+float autocvar_crosshair_ring_reload_size;
+float autocvar_crosshair_size;
+bool autocvar_crosshair_chase = true;
+float autocvar_crosshair_chase_playeralpha = 0.25;
+
 float vortex_charge_movingavg; // WEAPONTODO
 
 vector crosshair_getcolor(entity this, float health_stat);
index 7cb9919b8eca18d3976dfcd5f44a9757f253bfc6..9bbee3cd30b9d860520be4eacb50194c4aa51677 100644 (file)
@@ -2,6 +2,7 @@
 
 #include <client/draw.qh>
 #include <client/hud/hud_config.qh>
+#include <client/hud/panel/chat.qh>
 #include <client/hud/panel/scoreboard.qh>
 #include <client/items/items.qh>
 #include <client/mapvoting.qh>
index b8740560f98e70178402abe55e0df265e58b53c2..14e1af0a0df3f0ba27f6a43ce5cc53f063da8394 100644 (file)
@@ -182,6 +182,26 @@ float chat_sizey;
 
 float current_player;
 
+float autocvar__menu_alpha; // updated by the menu VM, useful to tell when the menu is being drawn
+
+string autocvar__hud_panelorder;
+
+bool autocvar_hud_cursormode = true;
+string autocvar_hud_dock;
+float autocvar_hud_dock_alpha;
+string autocvar_hud_dock_color;
+bool autocvar_hud_dock_color_team;
+string autocvar_hud_panel_bg;
+float autocvar_hud_panel_bg_alpha;
+float autocvar_hud_panel_bg_border;
+vector autocvar_hud_panel_bg_color;
+float autocvar_hud_panel_bg_color_team;
+float autocvar_hud_panel_bg_padding;
+float autocvar_hud_panel_fg_alpha;
+string autocvar_hud_skin;
+float autocvar_hud_progressbar_alpha;
+float autocvar_hud_panel_update_interval;
+
 float autocvar_hud_dynamic_follow;
 float autocvar_hud_dynamic_follow_scale;
 vector autocvar_hud_dynamic_follow_scale_xyz;
index 834107e52533ca2af58a22f00af04e50c202fbd1..36c4c9b6944fd7ab16297d4f3b87db96dccd5289 100644 (file)
@@ -1,8 +1,8 @@
 #include "hud_config.qh"
 
-#include <client/autocvars.qh>
 #include <client/draw.qh>
 #include <client/hud/hud.qh>
+#include <client/hud/panel/chat.qh>
 #include <client/hud/panel/scoreboard.qh>
 #include <client/view.qh>
 
index f3f3d8b009da75d4b0e2839548557ce73a205b96..aa4c734b41fa691d2715ec657d28195e81653417 100644 (file)
@@ -1,5 +1,11 @@
 #pragma once
 
+bool autocvar__hud_configure;
+bool autocvar_hud_configure_checkcollisions;
+bool autocvar_hud_configure_grid;
+float autocvar_hud_configure_grid_alpha;
+bool autocvar_hud_configure_teamcolorforced;
+
 const int S_MOUSE1 = 1;
 const int S_MOUSE2 = 2;
 const int S_MOUSE3 = 4;
index aa9a1a7a8e3460271970ef14c44f38eb891cc0c2..ed2b6e033a29aeba7b4848e38fae1687d88d274a 100644 (file)
@@ -1,6 +1,5 @@
 #include "ammo.qh"
 
-#include <client/autocvars.qh>
 #include <client/draw.qh>
 #include <client/items/items.qh>
 #include <client/view.qh>
index 71919d2fb094d48f6c0967de3b4a53cd39ffc453..0906a1c7e181259208df6400f41a42fbab3bcf27 100644 (file)
@@ -1,4 +1,17 @@
 #pragma once
 #include "../panel.qh"
 
+bool autocvar_hud_panel_ammo;
+bool autocvar_hud_panel_ammo_dynamichud         = true;
+bool autocvar_hud_panel_ammo_hide_ondeath         = false;
+bool autocvar_hud_panel_ammo_iconalign;
+int autocvar_hud_panel_ammo_maxammo;
+bool autocvar_hud_panel_ammo_onlycurrent;
+float autocvar_hud_panel_ammo_noncurrent_alpha = 0.7;
+float autocvar_hud_panel_ammo_noncurrent_scale = 1;
+bool autocvar_hud_panel_ammo_progressbar;
+string autocvar_hud_panel_ammo_progressbar_name;
+float autocvar_hud_panel_ammo_progressbar_xoffset;
+bool autocvar_hud_panel_ammo_text;
+
 void DrawNadeProgressBar(vector myPos, vector mySize, float progress, vector color);
index 8d2617955c5d8f31ef80fa824f3ebcc77947aec0..f9e23b726fb61c0188ec948defd293530b3f81a7 100644 (file)
@@ -1,6 +1,23 @@
 #pragma once
 #include "../panel.qh"
 
+bool autocvar_hud_panel_centerprint;
+float autocvar_hud_panel_centerprint_align;
+float autocvar_hud_panel_centerprint_fade_in = 0.2;
+float autocvar_hud_panel_centerprint_fade_out = 0.5;
+float autocvar_hud_panel_centerprint_fade_subsequent = 1;
+float autocvar_hud_panel_centerprint_fade_subsequent_passone = 3;
+float autocvar_hud_panel_centerprint_fade_subsequent_passone_minalpha = 0.5;
+float autocvar_hud_panel_centerprint_fade_subsequent_passtwo = 10;
+float autocvar_hud_panel_centerprint_fade_subsequent_passtwo_minalpha = 0.5;
+float autocvar_hud_panel_centerprint_fade_subsequent_minfontsize = 0.75;
+float autocvar_hud_panel_centerprint_fade_minfontsize = 0;
+bool autocvar_hud_panel_centerprint_flip;
+float autocvar_hud_panel_centerprint_fontscale;
+float autocvar_hud_panel_centerprint_fontscale_bold = 1.4;
+bool autocvar_hud_panel_centerprint_dynamichud  = true;
+float autocvar_hud_panel_centerprint_time;
+
 void centerprint_Add(int new_id, string strMessage, float duration, int countdown_num);
 void centerprint_AddStandard(string strMessage);
 void centerprint_Kill(int id);
index 13ef78136d61ca8e0d7895faae112fbf4f11a815..954a3676afe74cec7dd1c4c8381b9049a5efedec 100644 (file)
@@ -1,6 +1,5 @@
 #include "chat.qh"
 
-#include <client/autocvars.qh>
 #include <client/draw.qh>
 
 // Chat (#12)
index 6db88c68b39ee50fce1f8acce9c778465a3223ae..31bbaf71c117658d870d27c7f1796b3aab34e8e9 100644 (file)
@@ -1,2 +1,11 @@
 #pragma once
 #include "../panel.qh"
+
+bool autocvar_hud_panel_chat;
+
+bool autocvar__con_chat_maximized;
+bool autocvar_con_chat;
+bool autocvar_con_chatrect;
+float autocvar_con_chatsize;
+float autocvar_con_notify;
+float autocvar_con_notifysize;
index 41fdb3a5bbf3985c0a8401287d3dc3fe2a5d6fec..4b4911e33c7ebe41f6b0f3b1fc42f42278db39b3 100644 (file)
@@ -1,6 +1,5 @@
 #include "engineinfo.qh"
 
-#include <client/autocvars.qh>
 #include <client/draw.qh>
 
 // Engine info (#13)
index 6db88c68b39ee50fce1f8acce9c778465a3223ae..3ad6a77eabc03d0e02977bb0a3cd0827a20d28ff 100644 (file)
@@ -1,2 +1,7 @@
 #pragma once
 #include "../panel.qh"
+
+bool autocvar_hud_panel_engineinfo;
+bool autocvar_hud_panel_engineinfo_dynamichud   = true;
+float autocvar_hud_panel_engineinfo_framecounter_decimals;
+float autocvar_hud_panel_engineinfo_framecounter_time;
index 6db88c68b39ee50fce1f8acce9c778465a3223ae..7bd7b889341534ccd7012f193fd708f95a5291ac 100644 (file)
@@ -1,2 +1,25 @@
 #pragma once
 #include "../panel.qh"
+
+bool autocvar_hud_panel_healtharmor;
+int autocvar_hud_panel_healtharmor_baralign;
+bool autocvar_hud_panel_healtharmor_combined;
+bool autocvar_hud_panel_healtharmor_dynamichud  = true;
+bool autocvar_hud_panel_healtharmor_flip;
+bool autocvar_hud_panel_healtharmor_hide_ondeath  = false;
+int autocvar_hud_panel_healtharmor_iconalign;
+int autocvar_hud_panel_healtharmor_maxarmor;
+int autocvar_hud_panel_healtharmor_maxhealth;
+bool autocvar_hud_panel_healtharmor_progressbar;
+string autocvar_hud_panel_healtharmor_progressbar_armor;
+string autocvar_hud_panel_healtharmor_progressbar_health;
+bool autocvar_hud_panel_healtharmor_progressbar_gfx;
+float autocvar_hud_panel_healtharmor_progressbar_gfx_damage;
+float autocvar_hud_panel_healtharmor_progressbar_gfx_lowhealth;
+float autocvar_hud_panel_healtharmor_progressbar_gfx_smooth;
+int autocvar_hud_panel_healtharmor_text;
+
+vector autocvar_hud_progressbar_armor_color;
+vector autocvar_hud_progressbar_fuel_color;
+vector autocvar_hud_progressbar_health_color;
+vector autocvar_hud_progressbar_oxygen_color = '0.1 1 1';
index 7ebc35fcb68a4cdb15282550d870a7296ffbb039..5169ea5f384d34ae16ea80f3b46da767fae0ed5d 100644 (file)
@@ -1,6 +1,5 @@
 #include "infomessages.qh"
 
-#include <client/autocvars.qh>
 #include <client/draw.qh>
 #include <common/ent_cs.qh>
 
index 6db88c68b39ee50fce1f8acce9c778465a3223ae..197662640dc24a9994ac5d02c5251f4a89be88fd 100644 (file)
@@ -1,2 +1,8 @@
 #pragma once
 #include "../panel.qh"
+
+bool autocvar_hud_panel_infomessages;
+bool autocvar_hud_panel_infomessages_dynamichud = false;
+bool autocvar_hud_panel_infomessages_flip;
+
+bool autocvar_cl_showspectators;
index e488e31ac38540b301cc93258eee3ad89451ceaf..fdaf50de2270005b2bede8b151015947dc7c7e33 100644 (file)
@@ -1,6 +1,5 @@
 #include "modicons.qh"
 
-#include <client/autocvars.qh>
 #include <client/draw.qh>
 #include <common/ent_cs.qh>
 #include <common/gamemodes/_mod.qh>
index c90c0991f57282ebde7f30d1e4da9d927b0c627d..09fd2876989d8577f687471861dc7303217d3314 100644 (file)
@@ -1,4 +1,7 @@
 #pragma once
 #include "../panel.qh"
 
+bool autocvar_hud_panel_modicons;
+bool autocvar_hud_panel_modicons_dynamichud     = true;
+
 bool mod_active; // is there any active mod icon?
index b3804eccf3e19146bb1034813596a9968b4a0c0a..c2692da081143524442a671fe3d880aa37c0eda7 100644 (file)
@@ -1,6 +1,5 @@
 #include "notify.qh"
 
-#include <client/autocvars.qh>
 #include <client/draw.qh>
 
 // Notifications (#4)
index 6db88c68b39ee50fce1f8acce9c778465a3223ae..4207af836b0f36f3208f3bb1e039def9bab58897 100644 (file)
@@ -1,2 +1,11 @@
 #pragma once
 #include "../panel.qh"
+
+bool autocvar_hud_panel_notify;
+bool autocvar_hud_panel_notify_dynamichud       = true;
+float autocvar_hud_panel_notify_fadetime;
+float autocvar_hud_panel_notify_flip;
+float autocvar_hud_panel_notify_fontsize;
+float autocvar_hud_panel_notify_time;
+float autocvar_hud_panel_notify_icon_aspect;
+
index da205262229150e1a10a4113c594f638af490ebd..977dc797e2247fba66d4f7784ec6cefe5eca1f94 100644 (file)
@@ -1,6 +1,5 @@
 #include "physics.qh"
 
-#include <client/autocvars.qh>
 #include <client/draw.qh>
 #include <lib/csqcmodel/cl_player.qh>
 
index 6db88c68b39ee50fce1f8acce9c778465a3223ae..e0f93b0f530df38848377cfbf060e989f914af39 100644 (file)
@@ -1,2 +1,27 @@
 #pragma once
 #include "../panel.qh"
+
+bool autocvar_hud_panel_physics;
+float autocvar_hud_panel_physics_acceleration_movingaverage = 1;
+float autocvar_hud_panel_physics_acceleration_progressbar_mode;
+float autocvar_hud_panel_physics_acceleration_progressbar_scale;
+float autocvar_hud_panel_physics_acceleration_progressbar_nonlinear;
+float autocvar_hud_panel_physics_acceleration_max;
+float autocvar_hud_panel_physics_update_interval;
+int autocvar_hud_panel_physics_progressbar;
+bool autocvar_hud_panel_physics_acceleration_vertical;
+int autocvar_hud_panel_physics_baralign;
+bool autocvar_hud_panel_physics_flip;
+bool autocvar_hud_panel_physics_dynamichud      = true;
+float autocvar_hud_panel_physics_speed_max;
+int autocvar_hud_panel_physics_speed_unit;
+bool autocvar_hud_panel_physics_speed_unit_show;
+bool autocvar_hud_panel_physics_speed_vertical;
+int autocvar_hud_panel_physics_text;
+float autocvar_hud_panel_physics_text_scale;
+bool autocvar_hud_panel_physics_topspeed;
+float autocvar_hud_panel_physics_topspeed_time;
+
+vector autocvar_hud_progressbar_acceleration_color;
+vector autocvar_hud_progressbar_acceleration_neg_color;
+vector autocvar_hud_progressbar_speed_color;
index b97c80f0b3a56b21363c1783b64bad277d06856c..9a4ab1df3ff62904f109abfa5fe276fc6bb21187 100644 (file)
@@ -1,6 +1,5 @@
 #include "powerups.qh"
 
-#include <client/autocvars.qh>
 #include <client/draw.qh>
 #include <common/items/_mod.qh>
 #include <common/util.qh>
index 3235f8da674507aa494cf3e7e8c29aa132db6bc0..a109062a489114c7aa107181d65a8f1175d371f7 100644 (file)
@@ -1,4 +1,16 @@
 #pragma once
 #include "../panel.qh"
 
+bool autocvar_hud_panel_powerups;
+int autocvar_hud_panel_powerups_baralign;
+bool autocvar_hud_panel_powerups_dynamichud     = true;
+bool autocvar_hud_panel_powerups_hide_ondeath     = false;
+int autocvar_hud_panel_powerups_iconalign;
+bool autocvar_hud_panel_powerups_progressbar;
+bool autocvar_hud_panel_powerups_text;
+
+vector autocvar_hud_progressbar_shield_color;
+vector autocvar_hud_progressbar_strength_color;
+vector autocvar_hud_progressbar_superweapons_color;
+
 void addPowerupItem(string name, string icon, vector color, float currentTime, float lifeTime);
index c26e42094104e1bc8b4ac77ee84d6f8601f941d8..7940e9462e0d4f1f0c725abefaa02b46684b16b2 100644 (file)
@@ -1,6 +1,5 @@
 #include "pressedkeys.qh"
 
-#include <client/autocvars.qh>
 #include <client/draw.qh>
 
 // Pressed keys (#11)
index 6db88c68b39ee50fce1f8acce9c778465a3223ae..1cc663f609b9260540bbdcade73300fc60349ee1 100644 (file)
@@ -1,2 +1,7 @@
 #pragma once
 #include "../panel.qh"
+
+int autocvar_hud_panel_pressedkeys;
+float autocvar_hud_panel_pressedkeys_aspect;
+bool autocvar_hud_panel_pressedkeys_attack;
+bool autocvar_hud_panel_pressedkeys_dynamichud  = true;
index a0cc09a0147931d37e6112a3f04ce6ea336c25e9..dfe4db90f99cf5730054c2bb998b56c0ebb4764f 100644 (file)
@@ -1,6 +1,5 @@
 #include "quickmenu.qh"
 
-#include <client/autocvars.qh>
 #include <client/draw.qh>
 #include <client/hud/_mod.qh>
 #include <client/mapvoting.qh>
index 694f0d1d7e0c439cedea395241f62d248e445473..3b6a1fe721b910f7bbe436fbbb2536ee6bd36e2a 100644 (file)
@@ -1,6 +1,12 @@
 #pragma once
 #include "../panel.qh"
 
+//float autocvar_hud_panel_quickmenu;
+float autocvar_hud_panel_quickmenu_align;
+float autocvar_hud_panel_quickmenu_translatecommands;
+string autocvar_hud_panel_quickmenu_file;
+float autocvar_hud_panel_quickmenu_time;
+
 bool QuickMenu_InputEvent(float bInputType, float nPrimary, float nSecondary);
 bool QuickMenu_IsOpened();
 void QuickMenu_Mouse();
index b4629bb81c320efe30cc1981ef95c7d93a662ffa..7ecdf1a8216afd975b9f8054ac49fa8cf0d2c153 100644 (file)
@@ -1,6 +1,5 @@
 #include "racetimer.qh"
 
-#include <client/autocvars.qh>
 #include <client/draw.qh>
 
 // Race timer (#8)
index 27cf20e875fc3463e6c52b6fc8a232e2deefd38e..ba7bd32298137f0b532cc4e01e6a69274f64f613 100644 (file)
@@ -1,6 +1,9 @@
 #pragma once
 #include "../panel.qh"
 
+bool autocvar_hud_panel_racetimer;
+bool autocvar_hud_panel_racetimer_dynamichud    = true;
+
 // QUALIFYING
 float race_checkpoint;
 float race_time;
index 1aa07f4d106b2e2e21c89fec6cc8236ed006628b..b87ab97762f1cf15cf103bf9e8bc2c382d60a400 100644 (file)
@@ -1,6 +1,5 @@
 #include "radar.qh"
 
-#include <client/autocvars.qh>
 #include <client/draw.qh>
 #include <client/mapvoting.qh>
 #include <client/resources.qh>
index d2fbc8f6b25ce5bb6a5afe05bb2637dfe53bd08c..0497d651faa1e6608d6d39b99d6ebe4f1a42f463 100644 (file)
@@ -1,4 +1,15 @@
 #pragma once
 #include "../panel.qh"
 
+int autocvar_hud_panel_radar;
+bool autocvar_hud_panel_radar_dynamichud        = true;
+float autocvar_hud_panel_radar_foreground_alpha;
+float autocvar_hud_panel_radar_maximized_scale;
+vector autocvar_hud_panel_radar_maximized_size;
+float autocvar_hud_panel_radar_rotation;
+float autocvar_hud_panel_radar_scale;
+int autocvar_hud_panel_radar_zoommode;
+float autocvar_hud_panel_radar_maximized_rotation;
+int autocvar_hud_panel_radar_maximized_zoommode;
+
 void HUD_Radar_Show_Maximized(bool doshow, bool clickable);
index bf77d739fce3f7217cb82d7c771e25310724871f..24a059a6c9460592fec67b461b411b21c3026fd9 100644 (file)
@@ -1,6 +1,5 @@
 #include "score.qh"
 
-#include <client/autocvars.qh>
 #include <client/draw.qh>
 #include <client/hud/panel/scoreboard.qh>
 #include <common/ent_cs.qh>
index 6db88c68b39ee50fce1f8acce9c778465a3223ae..fa432ba1907c69b5454bbb05ea5791de481c5c8b 100644 (file)
@@ -1,2 +1,6 @@
 #pragma once
 #include "../panel.qh"
+
+bool autocvar_hud_panel_score;
+bool autocvar_hud_panel_score_dynamichud        = true;
+bool autocvar_hud_panel_score_rankings;
index 6d4839e6709b7dbe6ef75803e5809d1af76f02e0..c0f1bc6eac8ff2b046adc90f147767d9ce57daa4 100644 (file)
@@ -1,7 +1,7 @@
 #include "scoreboard.qh"
 
-#include <client/autocvars.qh>
 #include <client/draw.qh>
+#include <client/hud/panel/chat.qh>
 #include <client/hud/panel/quickmenu.qh>
 #include <client/hud/panel/racetimer.qh>
 #include <client/hud/panel/weapons.qh>
@@ -1158,7 +1158,7 @@ bool Scoreboard_WouldDraw()
        {
                return true;
        }
-       else if (scoreboard_showscores_force)
+       else if (scoreboard_showscores_force || MUTATOR_CALLHOOK(DrawScoreboard_Force))
                return true;
        return false;
 }
index 22817d515eb86acbf7752fbeb33d9379ae1aa906..7189143e669831af26eb7576c6ff43453f214ba6 100644 (file)
@@ -1,6 +1,9 @@
 #pragma once
 #include "../panel.qh"
 
+bool autocvar_cl_deathscoreboard;
+string autocvar_scoreboard_columns;
+
 bool scoreboard_showscores;
 
 bool scoreboard_active;
index bc33063861cdb7f87e61ae023d4f7a29c24ba39d..dd9594b7b522071fa23dffd10cb076ade2da4c21 100644 (file)
@@ -2,10 +2,10 @@
 
 #include "strafehud.qh"
 
-#include <client/autocvars.qh>
 #include <client/draw.qh>
 #include <client/hud/panel/racetimer.qh>
 #include <client/resources.qh>
+#include <client/view.qh>
 #include <common/animdecide.qh>
 #include <common/ent_cs.qh>
 #include <common/mapinfo.qh>
index acc43bde90fe0a98bb4a4364beaeb3f4763d651f..2fbd9b27526ca84e467cf83c23f13aff8dd8a9ef 100644 (file)
@@ -1,6 +1,55 @@
 #pragma once
 #include "../panel.qh"
 
+int autocvar_hud_panel_strafehud = 3;
+bool autocvar__hud_panel_strafehud_demo = false;
+bool autocvar_hud_panel_strafehud_dynamichud    = true;
+int autocvar_hud_panel_strafehud_mode = 0;
+float autocvar_hud_panel_strafehud_range = 0;
+int autocvar_hud_panel_strafehud_style = 1;
+int autocvar_hud_panel_strafehud_unit = 1;
+bool autocvar_hud_panel_strafehud_unit_show = true;
+vector autocvar_hud_panel_strafehud_bar_neutral_color = '1 1 1';
+float autocvar_hud_panel_strafehud_bar_neutral_alpha = 0.3;
+vector autocvar_hud_panel_strafehud_bar_accel_color = '0 1 0';
+float autocvar_hud_panel_strafehud_bar_accel_alpha = 0.3;
+vector autocvar_hud_panel_strafehud_bar_overturn_color = '1 0 1';
+float autocvar_hud_panel_strafehud_bar_overturn_alpha = 0.3;
+float autocvar_hud_panel_strafehud_angle_alpha = 0.8;
+float autocvar_hud_panel_strafehud_angle_height = 1.5;
+float autocvar_hud_panel_strafehud_angle_width = 0.005;
+vector autocvar_hud_panel_strafehud_angle_neutral_color = '1 1 0';
+vector autocvar_hud_panel_strafehud_angle_accel_color = '0 1 1';
+vector autocvar_hud_panel_strafehud_angle_overturn_color = '1 0 1';
+float autocvar_hud_panel_strafehud_switch_minspeed = -1;
+vector autocvar_hud_panel_strafehud_switch_active_color = '0 1 0';
+float autocvar_hud_panel_strafehud_switch_active_alpha = 1;
+vector autocvar_hud_panel_strafehud_switch_inactive_color = '1 1 0';
+float autocvar_hud_panel_strafehud_switch_inactive_alpha = 1;
+float autocvar_hud_panel_strafehud_switch_width = 0.0075;
+vector autocvar_hud_panel_strafehud_direction_color = '0 0.5 1';
+float autocvar_hud_panel_strafehud_direction_alpha = 1;
+float autocvar_hud_panel_strafehud_direction_width = 0.25;
+float autocvar_hud_panel_strafehud_direction_length = 0.02;
+float autocvar_hud_panel_strafehud_slickdetector_range = 0;
+int autocvar_hud_panel_strafehud_slickdetector_granularity = 2;
+vector autocvar_hud_panel_strafehud_slickdetector_color = '0 1 1';
+float autocvar_hud_panel_strafehud_slickdetector_alpha = 0.5;
+float autocvar_hud_panel_strafehud_slickdetector_height = 0.125;
+float autocvar_hud_panel_strafehud_startspeed_fade = 0;
+vector autocvar_hud_panel_strafehud_startspeed_color = '1 0.75 0';
+float autocvar_hud_panel_strafehud_startspeed_size = 1.5;
+float autocvar_hud_panel_strafehud_jumpheight_fade = 0;
+float autocvar_hud_panel_strafehud_jumpheight_min = 50;
+vector autocvar_hud_panel_strafehud_jumpheight_color = '0 1 0.75';
+float autocvar_hud_panel_strafehud_jumpheight_size = 1.5;
+float autocvar_hud_panel_strafehud_timeout_air = 0.1;
+float autocvar_hud_panel_strafehud_timeout_ground = 0.03333333;
+float autocvar_hud_panel_strafehud_timeout_turn = 0.1;
+float autocvar_hud_panel_strafehud_timeout_direction = 0.5;
+float autocvar_hud_panel_strafehud_antiflicker_angle = 0.01;
+float autocvar_hud_panel_strafehud_antiflicker_speed = 0.0001;
+
 void HUD_Panel_DrawStrafeHUD(float, float, vector, float, int, int);
 vector StrafeHUD_mixColors(vector, vector, float);
 void StrafeHUD_drawGradient(vector, vector, vector, float, float, float, float, int);
index 446c6229bdc8f587da981d45d0f228a2c4b0a129..0cdfefa7899af591aaf4f3ef3c567152d02e41ac 100644 (file)
@@ -1,6 +1,5 @@
 #include "timer.qh"
 
-#include <client/autocvars.qh>
 #include <client/draw.qh>
 #include <client/view.qh>
 
index 6db88c68b39ee50fce1f8acce9c778465a3223ae..309f04249ca9c7884863764d2c38d13c92c4c647 100644 (file)
@@ -1,2 +1,6 @@
 #pragma once
 #include "../panel.qh"
+
+bool autocvar_hud_panel_timer;
+bool autocvar_hud_panel_timer_dynamichud        = true;
+bool autocvar_hud_panel_timer_increment;
index 978851e4919f638bce14b52584ddf6d6e3d50fb0..55636990842de55b14232e6589407aff00012855 100644 (file)
@@ -1,6 +1,5 @@
 #include "vote.qh"
 
-#include <client/autocvars.qh>
 #include <client/draw.qh>
 
 // Vote (#9)
index 3a6f45f80d7b230dd0471175a7e70eb4595b8e76..028ca65b63c0973679f756bb919e13755b0ef4f9 100644 (file)
@@ -1,4 +1,10 @@
 #pragma once
 #include "../panel.qh"
 
+bool autocvar_hud_panel_vote;
+float autocvar_hud_panel_vote_alreadyvoted_alpha;
+bool autocvar_hud_panel_vote_dynamichud         = true;
+
+int autocvar_cl_allow_uid2name;
+
 float uid2name_dialog;
index 003d88391545f7fc61f66b00b4b9a71ae2704a54..7ac8b8dae6bf20cc8da807fbba6ef7733dff874d 100644 (file)
@@ -1,6 +1,5 @@
 #include "weapons.qh"
 
-#include <client/autocvars.qh>
 #include <client/draw.qh>
 #include <client/view.qh>
 #include <common/wepent.qh>
index 1315b0f0211f25d7cdd87b14babcc5307ea8ff51..afb2ee16bcca900b65be01d7ae17a82f9536d06b 100644 (file)
@@ -1,6 +1,45 @@
 #pragma once
 #include "../panel.qh"
 
+bool autocvar_hud_panel_weapons;
+bool autocvar_hud_panel_weapons_accuracy;
+bool autocvar_hud_panel_weapons_ammo;
+float autocvar_hud_panel_weapons_ammo_alpha;
+string autocvar_hud_panel_weapons_ammo_color;
+int autocvar_hud_panel_weapons_ammo_full_cells;
+int autocvar_hud_panel_weapons_ammo_full_plasma;
+int autocvar_hud_panel_weapons_ammo_full_fuel;
+int autocvar_hud_panel_weapons_ammo_full_nails;
+int autocvar_hud_panel_weapons_ammo_full_rockets;
+int autocvar_hud_panel_weapons_ammo_full_shells;
+float autocvar_hud_panel_weapons_aspect;
+bool autocvar_hud_panel_weapons_complainbubble;
+string autocvar_hud_panel_weapons_complainbubble_color_donthave;
+string autocvar_hud_panel_weapons_complainbubble_color_outofammo;
+string autocvar_hud_panel_weapons_complainbubble_color_unavailable;
+float autocvar_hud_panel_weapons_complainbubble_fadetime;
+float autocvar_hud_panel_weapons_complainbubble_padding;
+float autocvar_hud_panel_weapons_complainbubble_time;
+bool autocvar_hud_panel_weapons_dynamichud      = true;
+bool autocvar_hud_panel_weapons_hide_ondeath      = false;
+int autocvar_hud_panel_weapons_label;
+float autocvar_hud_panel_weapons_label_scale = 0.5;
+int autocvar_hud_panel_weapons_onlyowned;
+float autocvar_hud_panel_weapons_noncurrent_alpha = 1;
+float autocvar_hud_panel_weapons_noncurrent_scale = 1;
+float autocvar_hud_panel_weapons_selection_radius = 0;
+float autocvar_hud_panel_weapons_selection_speed = 10;
+float autocvar_hud_panel_weapons_timeout;
+int autocvar_hud_panel_weapons_timeout_effect;
+bool autocvar_hud_panel_weapons_orderbyimpulse = true;
+float autocvar_hud_panel_weapons_timeout_fadebgmin;
+float autocvar_hud_panel_weapons_timeout_fadefgmin;
+float autocvar_hud_panel_weapons_timeout_speed_in = 0.25;
+float autocvar_hud_panel_weapons_timeout_speed_out = 0.75;
+
+string autocvar_accuracy_color_levels;
+string autocvar_cl_weaponpriority;
+
 const int MAX_ACCURACY_LEVELS = 10;
 float acc_lev[MAX_ACCURACY_LEVELS];
 vector acc_col[MAX_ACCURACY_LEVELS];
index 1653ef64353753a872bdfc94891f973a0fde749a..83417c08d9c59ecd7a54c493f8c1bc40ec999d7f 100644 (file)
@@ -3,6 +3,23 @@
 #include <common/constants.qh>
 #include <common/weapons/_all.qh>
 
+bool autocvar_cl_db_saveasdump;
+bool autocvar_cl_spawn_event_particles;
+bool autocvar_cl_spawn_event_sound = 1;
+// float autocvar_cl_spawn_point_model;
+bool autocvar_cl_spawn_point_particles;
+float autocvar_cl_spawn_point_dist_max = 1200;
+bool autocvar_cl_unpress_zoom_on_spawn = true;
+bool autocvar_cl_unpress_zoom_on_death = true;
+bool autocvar_cl_unpress_zoom_on_weapon_switch = true;
+bool autocvar_cl_unpress_attack_on_weapon_switch = false;
+bool autocvar_hud_showbinds;
+bool autocvar_hud_showbinds_limit;
+bool autocvar__hud_showbinds_reload;
+bool autocvar_developer_csqcentities;
+bool autocvar_cl_race_cptimes_onlyself; // TODO: move to race gamemode
+bool autocvar_cl_race_cptimes_showself = false;
+
 // Map coordinate base calculations need these
 vector mi_center;
 vector mi_scale;
index f8ae14bffb17ab61e00e44181246f46c6089509a..5be42cda965546119a7f2ef45425de9889cca315 100644 (file)
@@ -1,6 +1,5 @@
 #include "mapvoting.qh"
 
-#include <client/autocvars.qh>
 #include <client/draw.qh>
 #include <client/hud/_mod.qh>
 #include <client/hud/panel/scoreboard.qh>
index 8d184a95d7417609280f3f58263b59912c7e8b7b..390b91304c40b3b55c1556fd0880d7918457483b 100644 (file)
@@ -1,6 +1,11 @@
 #pragma once
 
 #include <common/constants.qh>
+
+bool autocvar_cl_readpicture_force;
+float autocvar_hud_panel_mapvote_highlight_border = 1;
+string autocvar_menu_skin; // gamemode icons are controlled by the menu skin
+
 void MapVote_Draw();
 
 bool PreviewExists(string name);
index cbd2cf31bc916481ad2f8e69c60aa9cf987326b6..245224ba237d7e56cbe3b73388ced6de5d6e8f0c 100644 (file)
@@ -172,6 +172,9 @@ MUTATOR_HOOKABLE(DrawCrosshair, EV_NO_ARGS);
 /** Return true to not draw scoreboard */
 MUTATOR_HOOKABLE(DrawScoreboard, EV_NO_ARGS);
 
+/** Return true to force showing of the scoreboard */
+MUTATOR_HOOKABLE(DrawScoreboard_Force, EV_NO_ARGS);
+
 /** Return true to not draw scoreboard while dead */
 MUTATOR_HOOKABLE(DrawDeathScoreboard, EV_NO_ARGS);
 
index 20c5fe55f80f7ab8fe58b056799de647ed14e3ad..af4d766ec0ef225b9fe859ad9ddac678b9b6757b 100644 (file)
@@ -1,6 +1,5 @@
 #include "shownames.qh"
 
-#include <client/autocvars.qh>
 #include <client/draw.qh>
 #include <client/hud/_mod.qh>
 #include <client/resources.qh>
@@ -126,20 +125,33 @@ void Draw_ShowNames(entity this)
        }
        if (MUTATOR_CALLHOOK(ShowNames_Draw, this, a)) return;
        a = M_ARGV(1, float);
-       if (vdist(this.origin - view_origin, >=, max_shot_distance)) return;
-       float dist = vlen(this.origin - view_origin);
+       float dist = -1; // dist will be calculated only when really needed to avoid wasting a vlen call
        if (autocvar_hud_shownames_maxdistance)
        {
-               if (dist >= autocvar_hud_shownames_maxdistance) return;
-               float f = autocvar_hud_shownames_maxdistance - autocvar_hud_shownames_mindistance;
-               a *= (f - max(0, dist - autocvar_hud_shownames_mindistance)) / f;
+               float max_dist = min(autocvar_hud_shownames_maxdistance, max_shot_distance);
+               if (vdist(this.origin - view_origin, >=, max_dist))
+                       return;
+               if (vdist(this.origin - view_origin, >=, autocvar_hud_shownames_mindistance))
+               {
+                       float f = autocvar_hud_shownames_maxdistance - autocvar_hud_shownames_mindistance;
+                       if (dist == -1)
+                               dist = vlen(this.origin - view_origin);
+                       a *= (f - max(0, dist - autocvar_hud_shownames_mindistance)) / f;
+               }
        }
+       else if (vdist(this.origin - view_origin, >=, max_shot_distance))
+               return;
        if (!a) return;
        float resize = 1;
        if (autocvar_hud_shownames_resize)  // limit resize so its never smaller than 0.5... gets unreadable
        {
-               float f = autocvar_hud_shownames_maxdistance - autocvar_hud_shownames_mindistance;
-               resize = 0.5 + 0.5 * (f - max(0, dist - autocvar_hud_shownames_mindistance)) / f;
+               if (vdist(this.origin - view_origin, >=, autocvar_hud_shownames_mindistance))
+               {
+                       float f = autocvar_hud_shownames_maxdistance - autocvar_hud_shownames_mindistance;
+                       if (dist == -1)
+                               dist = vlen(this.origin - view_origin);
+                       resize = 0.5 + 0.5 * (f - max(0, dist - autocvar_hud_shownames_mindistance)) / f;
+               }
        }
        // draw the sprite image
        if (o.z >= 0)
index a05ca701d03ab2abfc08495fffc6afb469d7f149..b5bf6bacc4347518129ac38dc0acd27b56ba5f9b 100644 (file)
@@ -1,5 +1,25 @@
 #pragma once
 
+bool autocvar_hud_shownames;
+bool autocvar_hud_shownames_enemies;
+float autocvar_hud_shownames_crosshairdistance;
+float autocvar_hud_shownames_crosshairdistance_time;
+float autocvar_hud_shownames_crosshairdistance_antioverlap;
+bool autocvar_hud_shownames_self;
+bool autocvar_hud_shownames_status;
+float autocvar_hud_shownames_statusbar_height;
+float autocvar_hud_shownames_statusbar_highlight = 1;
+float autocvar_hud_shownames_aspect;
+float autocvar_hud_shownames_fontsize;
+int autocvar_hud_shownames_decolorize;
+float autocvar_hud_shownames_alpha;
+bool autocvar_hud_shownames_resize;
+float autocvar_hud_shownames_mindistance;
+float autocvar_hud_shownames_maxdistance;
+bool autocvar_hud_shownames_antioverlap;
+float autocvar_hud_shownames_antioverlap_distance;
+float autocvar_hud_shownames_offset;
+
 entityclass(ShowNames);
 classfield(ShowNames) .float healthvalue;
 classfield(ShowNames) .float armorvalue;
index 9e79f0a2262b062fcdd3b45398e614efde4be950..12f78522020b2e1d94e20249a41ac9198d91ed13 100644 (file)
@@ -1,7 +1,7 @@
 #include "teamradar.qh"
 
-#include <client/autocvars.qh>
 #include <client/hud/_mod.qh>
+#include <client/view.qh>
 #include <common/mutators/mutator/waypoints/all.qh>
 #include <lib/csqcmodel/interpolate.qh>
 
index d4eec15d59777690d8ca3038f6723b8a7d9beba8..e03dca633c28b54a030d1f65939437858daa0332 100644 (file)
@@ -1,7 +1,6 @@
 #include "view.qh"
 
 #include <client/announcer.qh>
-#include <client/autocvars.qh>
 #include <client/csqcmodel_hooks.qh>
 #include <client/draw.qh>
 #include <client/hud/_mod.qh>
index ae6487796a6d6c6b30ee5499f1fc43ad0e78fb61..cc3424edd6dde0faa0990559664db0ac6ccc5627 100644 (file)
@@ -2,6 +2,96 @@
 
 #include <common/weapons/weapon.qh>
 
+bool autocvar_camera_chase_smoothly;
+bool autocvar_camera_enable;
+bool autocvar_camera_forward_follows;
+bool autocvar_camera_free;
+float autocvar_camera_look_attenuation;
+float autocvar_camera_look_player;
+float autocvar_camera_mouse_threshold;
+bool autocvar_camera_reset;
+float autocvar_camera_speed_attenuation;
+float autocvar_camera_speed_chase;
+float autocvar_camera_speed_free;
+float autocvar_camera_speed_roll;
+int autocvar_chase_active;
+int autocvar_cl_gentle_damage;
+bool autocvar_cl_lockview;
+bool autocvar_cl_orthoview;
+bool autocvar_cl_orthoview_nofog;
+bool autocvar_cl_spawnzoom = 1;
+float autocvar_cl_spawnzoom_speed = 1;
+float autocvar_cl_spawnzoom_factor = 2;
+bool autocvar_cl_stripcolorcodes;
+bool autocvar_cl_velocityzoom_enabled;
+float autocvar_cl_velocityzoom_factor;
+int autocvar_cl_velocityzoom_type = 3;
+float autocvar_cl_velocityzoom_speed;
+float autocvar_cl_velocityzoom_time;
+float autocvar_cl_zoomfactor;
+float autocvar_cl_zoomsensitivity;
+float autocvar_cl_zoomspeed;
+float autocvar_fov;
+float autocvar_hud_colorflash_alpha;
+bool autocvar_hud_contents;
+float autocvar_hud_contents_blur;
+float autocvar_hud_contents_blur_alpha;
+float autocvar_hud_contents_fadeintime;
+float autocvar_hud_contents_fadeouttime;
+float autocvar_hud_contents_lava_alpha;
+string autocvar_hud_contents_lava_color;
+float autocvar_hud_contents_slime_alpha;
+string autocvar_hud_contents_slime_color;
+float autocvar_hud_contents_water_alpha;
+string autocvar_hud_contents_water_color;
+bool autocvar_hud_damage;
+float autocvar_hud_damage_blur;
+float autocvar_hud_damage_blur_alpha;
+string autocvar_hud_damage_color;
+float autocvar_hud_damage_factor;
+float autocvar_hud_damage_fade_rate;
+float autocvar_hud_damage_gentle_alpha_multiplier;
+string autocvar_hud_damage_gentle_color;
+float autocvar_hud_damage_maxalpha;
+float autocvar_hud_damage_pain_threshold;
+float autocvar_hud_damage_pain_threshold_lower;
+float autocvar_hud_damage_pain_threshold_lower_health;
+float autocvar_hud_damage_pain_threshold_pulsating_min;
+float autocvar_hud_damage_pain_threshold_pulsating_period;
+bool autocvar_hud_powerup;
+bool autocvar_hud_postprocessing;
+float autocvar_hud_postprocessing_maxbluralpha;
+float autocvar_hud_postprocessing_maxblurradius;
+float autocvar_menu_mouse_speed;
+int autocvar_r_fakelight;
+bool autocvar_r_fullbright;
+float autocvar_r_letterbox;
+bool autocvar_v_flipped;
+int autocvar_vid_conheight;
+int autocvar_vid_conwidth;
+float autocvar_vid_pixelheight;
+float autocvar_viewsize;
+bool autocvar_cl_eventchase_vehicle = 1;
+vector autocvar_cl_eventchase_vehicle_viewoffset = '0 0 80';
+float autocvar_cl_eventchase_vehicle_distance = 250;
+int autocvar_cl_hitsound;
+float autocvar_cl_hitsound_min_pitch = 0.75;
+float autocvar_cl_hitsound_max_pitch = 1.5;
+float autocvar_cl_hitsound_nom_damage = 25;
+float autocvar_cl_hitsound_antispam_time;
+bool autocvar_cl_eventchase_spectated_change = false;
+float autocvar_cl_eventchase_spectated_change_time = 1;
+int autocvar_cl_eventchase_death = 2;
+float autocvar_cl_eventchase_distance = 140;
+bool autocvar_cl_eventchase_frozen = false;
+float autocvar_cl_eventchase_speed = 1.3;
+vector autocvar_cl_eventchase_maxs = '12 12 8';
+vector autocvar_cl_eventchase_mins = '-12 -12 -8';
+vector autocvar_cl_eventchase_viewoffset = '0 0 20';
+string autocvar__togglezoom;
+int autocvar_cl_nade_timer;
+bool autocvar_r_drawviewmodel;
+
 void calc_followmodel_ofs(entity view);
 
 vector project_3d_to_2d(vector vec);
index 6e4903f4d9648598df27fea9104ef81e3a7d5754..3fe6deb78fb77c8c98c9bd33bc27eb9e7c2e37d6 100644 (file)
@@ -1,6 +1,5 @@
 #include "projectile.qh"
 
-#include <client/autocvars.qh>
 #include <client/mutators/_mod.qh>
 #include <common/constants.qh>
 #include <common/effects/all.qh>
index 0686c058257ee51e6c2252122e422330732e19a5..b3cfd3e9b1455711c05749b8f39085548ef7149a 100644 (file)
@@ -2,6 +2,8 @@
 
 #include <common/sounds/sound.qh>
 
+bool autocvar_cl_projectiles_sloppy;
+
 entityclass(Projectile);
 classfield(Projectile).int traileffect;
 
index 137aa365ca1412b16c83b6eda2b0ca681d13709d..25f1087e4034c854f3cd655cf2f4215d7a0d66e6 100644 (file)
@@ -1,5 +1,15 @@
 #pragma once
 
+#ifdef CSQC
+float autocvar_cl_casings_bronze_time;
+int autocvar_cl_casings_maxcount = 100;
+float autocvar_cl_casings_shell_time;
+bool autocvar_cl_casings_sloppy = 1;
+float autocvar_cl_casings_ticrate = 0.1;
+#endif
+
 #ifdef SVQC
+int autocvar_g_casings;
+
 void SpawnCasing(vector vel, float randomvel, vector ang, vector avel, float randomavel, int casingtype, entity casingowner, .entity weaponentity);
 #endif
index 3629639c21b4a4ac4941126f02a689d6f9ccd7a3..1e02e70aaeddba7e1a2d0d85a8bac9922c26e7d2 100644 (file)
@@ -7,6 +7,14 @@
 #include <common/vehicles/all.qh>
 #include <common/weapons/_all.qh>
 
+int autocvar_cl_damageeffect;
+float autocvar_cl_damageeffect_ticrate;
+float autocvar_cl_damageeffect_bones;
+bool autocvar_cl_damageeffect_distribute;
+float autocvar_cl_damageeffect_lifetime;
+float autocvar_cl_damageeffect_lifetime_min;
+float autocvar_cl_damageeffect_lifetime_max;
+
 int w_deathtype;
 float w_issilent, w_random;
 vector w_org, w_backoff;
index 40e083455271cbc4ee773a6bc91ee0efac0f3198..5a7c3ae692bc49e0718272dc250359d889b3002f 100644 (file)
@@ -1,5 +1,25 @@
 #pragma once
 
+#ifdef GAMEQC
+int autocvar_ekg;
+#endif
+
+#ifdef CSQC
+int autocvar_cl_gentle_gibs;
+float autocvar_cl_gibs_damageforcescale = 3.5;
+float autocvar_cl_gibs_lifetime = 14;
+int autocvar_cl_gibs_maxcount = 100;
+bool autocvar_cl_gibs_sloppy = 1;
+float autocvar_cl_gibs_ticrate = 0.1;
+float autocvar_cl_gibs_velocity_random = 1;
+float autocvar_cl_gibs_velocity_scale = 1;
+float autocvar_cl_gibs_avelocity_scale = 1;
+float autocvar_cl_gibs_velocity_up;
+bool autocvar_cl_nogibs;
+bool autocvar_cl_particlegibs;
+float autocvar_cl_particles_quality;
+#endif
+
 #ifdef SVQC
 void Violence_GibSplash_At(vector org, vector dir, float type, float amount, entity gibowner, entity attacker);
 void Violence_GibSplash(entity source, float type, float amount, entity attacker);
index cec501c5589f0c2fd41c9cdae784cb5a11e16edc..af98a24d025e7e4668c5f1a33f5eb3520fbb95c3 100644 (file)
@@ -7,6 +7,8 @@
 #ifdef SVQC
        /** Use new sound handling. TODO: use when sounds play correctly on clients */
        bool autocvar_g_debug_globalsounds = false;
+       bool autocvar_sv_taunt;
+       bool autocvar_sv_autotaunt;
 #endif
 
 // player sounds, voice messages
index 219097540f5b821d18f1e2112bc6d606837a2d8e..64bc14271d076f49598b61956d951b7b3ba69514 100644 (file)
@@ -1,5 +1,14 @@
 #pragma once
 
+#ifdef CSQC
+float autocvar_cl_effects_lightningarc_branchfactor_add;
+float autocvar_cl_effects_lightningarc_branchfactor_start;
+float autocvar_cl_effects_lightningarc_drift_end;
+float autocvar_cl_effects_lightningarc_drift_start;
+float autocvar_cl_effects_lightningarc_segmentlength;
+bool autocvar_cl_effects_lightningarc_simple;
+#endif
+
 #ifdef SVQC
 void te_csqc_lightningarc(vector from, vector to);
 #endif
index 7ccd5bbb2fa4a7cb86f43f8eec14643680310471..586d7eb17eb8e5fa025ef0fd70adef0b4095f90b 100644 (file)
@@ -1,5 +1,7 @@
 #pragma once
 
+int autocvar_hud_panel_modicons_ca_layout;
+
 void HUD_Mod_CA(vector myPos, vector mySize);
 void HUD_Mod_CA_Draw(vector myPos, vector mySize, int layout);
 void HUD_Mod_CA_Export(int fh);
index 80a9f19710c70802cdc86b490b505eef9af730da..dc49c605c5cef7eb9ff6890e429e07fea017be03 100644 (file)
@@ -2,6 +2,7 @@
 
 #include <common/mutators/base.qh>
 #include <client/draw.qh>
+#include <client/hud/_mod.qh>
 #include <client/hud/panel/modicons.qh>
 
 // CTF HUD modicon section
index 9fe2f0a543a210dbdcc3bed3f5c983139b6c538b..58954905c2106af96bccee9c7c201724e1f846f9 100644 (file)
@@ -8,6 +8,9 @@
 
 void ctf_Initialize();
 
+int autocvar_captureleadlimit_override;
+int autocvar_capturelimit_override;
+
 REGISTER_MUTATOR(ctf, false)
 {
     MUTATOR_STATIC();
index 08c4f84be2dfe53b0ab5f0f33f31edfeed0e1cda..70bd105ef03466518464c7d8cb0963c3c82441bb 100644 (file)
@@ -149,7 +149,7 @@ MUTATOR_HOOKFUNCTION(cts, reset_map_global)
        Score_NicePrint(NULL);
 
        race_ClearRecords();
-       PlayerScore_Sort(race_place, 0, 1, 0);
+       PlayerScore_Sort(race_place, 0, true, false);
 
        FOREACH_CLIENT(true, {
                if(it.race_place)
index 0d2f4407bebb46174bcc5f22d8859f429a6849f0..75bfeefd483541c7c63e88edde625730b31d2848 100644 (file)
@@ -1,3 +1,5 @@
 #pragma once
 
+int autocvar_hud_panel_modicons_freezetag_layout;
+
 void HUD_Mod_FreezeTag_Export(int fh);
index 487e33ba61b1b2f24bac0d8414c934fd375e3c35..0dfd1091d55b7bea701a731754c0856adba0b400 100644 (file)
@@ -100,6 +100,7 @@ void ka_TouchEvent(entity this, entity toucher) // runs any time that the ball c
                ka_RespawnBall(this);
                return;
        }
+       if(toucher.ballcarried) { return; }
        if(IS_DEAD(toucher)) { return; }
        if(STAT(FROZEN, toucher)) { return; }
        if (!IS_PLAYER(toucher))
@@ -150,21 +151,20 @@ void ka_TouchEvent(entity this, entity toucher) // runs any time that the ball c
        WaypointSprite_Kill(this.waypointsprite_attachedforcarrier);
 }
 
-void ka_PlayerReset(entity plyr)
+void ka_PlayerReset(entity player)
 {
-       plyr.ballcarried = NULL;
-       GameRules_scoring_vip(plyr, false);
-       WaypointSprite_Kill(plyr.waypointsprite_attachedforcarrier);
+       player.ballcarried = NULL;
+       GameRules_scoring_vip(player, false);
+       WaypointSprite_Kill(player.waypointsprite_attachedforcarrier);
 
        // reset the player effects
-       plyr.glow_trail = false;
-       plyr.effects &= ~autocvar_g_keepaway_ballcarrier_effects;
+       player.glow_trail = false;
+       player.effects &= ~autocvar_g_keepaway_ballcarrier_effects;
 }
 
-void ka_DropEvent(entity plyr) // runs any time that a player is supposed to lose the ball
+void ka_DropEvent(entity player) // runs any time that a player is supposed to lose the ball
 {
-       entity ball;
-       ball = plyr.ballcarried;
+       entity ball = player.ballcarried;
 
        if(!ball) { return; }
 
@@ -177,15 +177,15 @@ void ka_DropEvent(entity plyr) // runs any time that a player is supposed to los
        ball.nextthink = time + autocvar_g_keepawayball_respawntime;
        ball.takedamage = DAMAGE_YES;
        ball.effects &= ~EF_NODRAW;
-       setorigin(ball, plyr.origin + '0 0 10');
+       setorigin(ball, player.origin + '0 0 10');
        ball.velocity = '0 0 200' + '0 100 0'*crandom() + '100 0 0'*crandom();
        ball.owner = NULL;
-       navigation_dynamicgoal_set(ball, plyr);
+       navigation_dynamicgoal_set(ball, player);
 
        // messages and sounds
-       ka_EventLog("dropped", plyr);
-       Send_Notification(NOTIF_ALL, NULL, MSG_INFO, INFO_KEEPAWAY_DROPPED, plyr.netname);
-       Send_Notification(NOTIF_ALL, NULL, MSG_CENTER, CENTER_KEEPAWAY_DROPPED, plyr.netname);
+       ka_EventLog("dropped", player);
+       Send_Notification(NOTIF_ALL, NULL, MSG_INFO, INFO_KEEPAWAY_DROPPED, player.netname);
+       Send_Notification(NOTIF_ALL, NULL, MSG_CENTER, CENTER_KEEPAWAY_DROPPED, player.netname);
        sound(NULL, CH_TRIGGER, SND_KA_DROPPED, VOL_BASE, ATTEN_NONE); // ATTEN_NONE (it's a sound intended to be heard anywhere)
 
        // waypoints
@@ -193,22 +193,29 @@ void ka_DropEvent(entity plyr) // runs any time that a player is supposed to los
        WaypointSprite_UpdateRule(ball.waypointsprite_attachedforcarrier, 0, SPRITERULE_DEFAULT);
        WaypointSprite_Ping(ball.waypointsprite_attachedforcarrier);
 
-       ka_PlayerReset(plyr);
+       ka_PlayerReset(player);
 }
 
 .bool pushable;
 
 MODEL(KA_BALL, "models/orbs/orbblue.md3");
 
-void ka_RemoveBall()
+void ka_RemoveBall(entity ball)
 {
-       entity plyr = ka_ball.owner;
-       if (plyr) // it was attached
-               ka_PlayerReset(plyr);
+       entity player = ball.owner;
+       if (player) // it was attached
+               ka_PlayerReset(player);
        else
-               WaypointSprite_DetachCarrier(ka_ball);
-       delete(ka_ball);
-       ka_ball = NULL;
+               WaypointSprite_DetachCarrier(ball);
+       delete(ball);
+}
+
+void ka_RemoveBalls()
+{
+       IL_EACH(g_kaballs, true,
+       {
+               ka_RemoveBall(it);
+       });
 }
 
 void ka_SpawnBall()
@@ -227,23 +234,32 @@ void ka_SpawnBall()
        e.pushable = true;
        settouch(e, ka_TouchEvent);
        e.owner = NULL;
-       ka_ball = e;
-       navigation_dynamicgoal_init(ka_ball, false);
+       IL_PUSH(g_kaballs, e);
+       navigation_dynamicgoal_init(e, false);
 
        InitializeEntity(e, ka_RespawnBall, INITPRIO_SETLOCATION); // is this the right priority? Neh, I have no idea.. Well-- it works! So.
 }
 
+void ka_SpawnBalls(int ballcount)
+{
+       int realballcount = max(1, ballcount); // never allow less than 1 ball to spawn
+       for(int j = 0; j < realballcount; ++j)
+       {
+               ka_SpawnBall();
+       }
+}
+
 void ka_Handler_CheckBall(entity this)
 {
        if(time < game_starttime)
        {
-               if (ka_ball)
-                       ka_RemoveBall();
+               if (!IL_EMPTY(g_kaballs))
+                       ka_RemoveBalls();
        }
        else
        {
-               if (!ka_ball)
-                       ka_SpawnBall();
+               if (IL_EMPTY(g_kaballs))
+                       ka_SpawnBalls(KA_BALL_COUNT); // ;)
        }
 
        this.nextthink = time;
@@ -263,16 +279,21 @@ void ka_Initialize() // run at the start of a match, initiates game mode
 
 void havocbot_goalrating_ball(entity this, float ratingscale, vector org)
 {
-       entity ball_owner;
-       ball_owner = ka_ball.owner;
-
-       if (ball_owner == this)
-               return;
+       entity ball = NULL, ball_carried = NULL;
 
-       if (ball_owner)
-               navigation_routerating(this, ball_owner, ratingscale, 2000);
-       else
-               navigation_routerating(this, ka_ball, ratingscale, 2000);
+       // stops at last ball, prefers ball without carrier
+       IL_EACH(g_kaballs, it.owner != this,
+       {
+               if(it.owner)
+                       ball_carried = it.owner;
+               else
+                       ball = it;
+       });
+
+       if(ball)
+               navigation_routerating(this, ball, ratingscale, 2000);
+       else if(ball_carried)
+               navigation_routerating(this, ball_carried, ratingscale, 2000);
 }
 
 void havocbot_role_ka_carrier(entity this)
@@ -466,7 +487,13 @@ MUTATOR_HOOKFUNCTION(ka, BotShouldAttack)
        entity targ = M_ARGV(1, entity);
 
        // if neither player has ball then don't attack unless the ball is on the ground
-       if(!targ.ballcarried && !bot.ballcarried && ka_ball.owner)
+       bool have_held_ball = false;
+       IL_EACH(g_kaballs, it.owner,
+       {
+               have_held_ball = true;
+               break;
+       });
+       if(!targ.ballcarried && !bot.ballcarried && have_held_ball)
                return true;
 }
 
index 3c14c89af180942f3d506d10471050521912c496..32387a336a361b6b4853bf15c7b0a234e6bf635d 100644 (file)
@@ -20,10 +20,13 @@ REGISTER_MUTATOR(ka, false)
        return false;
 }
 
+const int KA_BALL_COUNT = 1;
 
-entity ka_ball;
 entity ka_Handler;
 
+IntrusiveList g_kaballs;
+STATIC_INIT(g_kaballs) { g_kaballs = IL_NEW(); }
+
 void(entity this) havocbot_role_ka_carrier;
 void(entity this) havocbot_role_ka_collector;
 
index 1b7b527d8633dbde2a25f65004b245426b6042e6..ba45f6e7ebd12bfb26259986cd1148f9076c33ec 100644 (file)
@@ -355,6 +355,7 @@ void lms_extralife(entity this)
 
 MUTATOR_HOOKFUNCTION(lms, OnEntityPreSpawn)
 {
+       if (MUTATOR_RETURNVALUE) return false;
        if (!autocvar_g_powerups) return false;
        if (!autocvar_g_lms_extra_lives) return false;
 
@@ -376,6 +377,8 @@ MUTATOR_HOOKFUNCTION(lms, OnEntityPreSpawn)
 
 MUTATOR_HOOKFUNCTION(lms, ItemTouch)
 {
+       if(MUTATOR_RETURNVALUE) return false;
+
        entity item = M_ARGV(0, entity);
        entity toucher = M_ARGV(1, entity);
 
index b92c272063f99a88b6501671d2eb0ccffad9e971..eba7cccd97b2b7f39db07596a8c095cbc8187bc8 100644 (file)
@@ -1,5 +1,7 @@
 #pragma once
 
+vector autocvar_hud_progressbar_nexball_color;
+
 void HUD_Mod_NexBall(vector pos, vector mySize);
 
 float nb_pb_period;
index 9a8fca3ab9c874d6745217ce71e8add77791d6b3..a8fdaa4ef5d9ebd2502b5bd3f3fd266dba0a502b 100644 (file)
@@ -8,7 +8,7 @@ void HUD_Mod_NexBall(vector pos, vector mySize);
 CLASS(NexBall, Gametype)
     INIT(NexBall)
     {
-        this.gametype_init(this, _("Nexball"),"nb","g_nexball",GAMETYPE_FLAG_TEAMPLAY | GAMETYPE_FLAG_USEPOINTS,"","timelimit=20 pointlimit=5 leadlimit=0",_("Shoot and kick the ball into the enemies goal, keep your goal clean"));
+        this.gametype_init(this, _("Nexball"),"nb","g_nexball",GAMETYPE_FLAG_TEAMPLAY | GAMETYPE_FLAG_USEPOINTS | GAMETYPE_FLAG_WEAPONARENA,"","timelimit=20 pointlimit=5 leadlimit=0",_("Shoot and kick the ball into the enemies goal, keep your goal clean"));
     }
     METHOD(NexBall, m_generate_mapinfo, void(Gametype this, string v))
     {
index 2796f2b499fca0d1cecd8ca11c38bea3a5ca2251..b98a8a917303ef263031d8cf91f150787a15d8d4 100644 (file)
@@ -11,7 +11,7 @@
 .entity ballcarried;
 
 int autocvar_g_nexball_goalleadlimit;
-#define autocvar_g_nexball_goallimit cvar("g_nexball_goallimit")
+float autocvar_g_nexball_goallimit;
 
 bool autocvar_g_nexball_basketball_jumppad = true;
 float autocvar_g_nexball_basketball_bouncefactor;
@@ -940,36 +940,25 @@ MUTATOR_HOOKFUNCTION(nb, SendWaypoint)
        M_ARGV(2, int) &= ~0x80;
 }
 
-REGISTER_MUTATOR(nb, false)
+void nb_Initialize()
 {
-    MUTATOR_STATIC();
-       MUTATOR_ONADD
-       {
-               g_nexball_meter_period = autocvar_g_nexball_meter_period;
-               if(g_nexball_meter_period <= 0)
-                       g_nexball_meter_period = 2; // avoid division by zero etc. due to silly users
-               g_nexball_meter_period = rint(g_nexball_meter_period * 32) / 32; //Round to 1/32ths to send as a byte multiplied by 32
+       g_nexball_meter_period = autocvar_g_nexball_meter_period;
+       if(g_nexball_meter_period <= 0)
+               g_nexball_meter_period = 2; // avoid division by zero etc. due to silly users
+       g_nexball_meter_period = rint(g_nexball_meter_period * 32) / 32; //Round to 1/32ths to send as a byte multiplied by 32
 
-               // General settings
-               /*
-               CVTOV(g_nexball_football_boost_forward);   //100
-               CVTOV(g_nexball_football_boost_up);             //200
-               CVTOV(g_nexball_delay_idle);                       //10
-               CVTOV(g_nexball_football_physics);               //0
-               */
-               radar_showenemies = autocvar_g_nexball_radar_showallplayers;
+       // General settings
+       /*
+       CVTOV(g_nexball_football_boost_forward);   //100
+       CVTOV(g_nexball_football_boost_up);             //200
+       CVTOV(g_nexball_delay_idle);                       //10
+       CVTOV(g_nexball_football_physics);               //0
+       */
+       radar_showenemies = autocvar_g_nexball_radar_showallplayers;
 
-               InitializeEntity(NULL, nb_delayedinit, INITPRIO_GAMETYPE);
-               WEP_NEXBALL.spawnflags &= ~WEP_FLAG_MUTATORBLOCKED;
+       GameRules_teams(true);
+       GameRules_limit_score(autocvar_g_nexball_goallimit);
+       GameRules_limit_lead(autocvar_g_nexball_goalleadlimit);
 
-               GameRules_teams(true);
-               GameRules_limit_score(autocvar_g_nexball_goallimit);
-               GameRules_limit_lead(autocvar_g_nexball_goalleadlimit);
-       }
-
-       MUTATOR_ONROLLBACK_OR_REMOVE
-       {
-               WEP_NEXBALL.spawnflags |= WEP_FLAG_MUTATORBLOCKED;
-       }
-       return 0;
+       InitializeEntity(NULL, nb_delayedinit, INITPRIO_GAMETYPE);
 }
index 864e89138aef001775eb6434db52b55ac8a2f73d..902de157f89cbd60d58a056aad3c03653bcdd783 100644 (file)
@@ -1,5 +1,25 @@
 #pragma once
 
+#include "weapon.qh"
+
+void nb_Initialize();
+
+REGISTER_MUTATOR(nb, false)
+{
+    MUTATOR_STATIC();
+       MUTATOR_ONADD
+       {
+               nb_Initialize();
+               WEP_NEXBALL.spawnflags &= ~WEP_FLAG_MUTATORBLOCKED;
+       }
+
+       MUTATOR_ONROLLBACK_OR_REMOVE
+       {
+               WEP_NEXBALL.spawnflags |= WEP_FLAG_MUTATORBLOCKED;
+       }
+       return 0;
+}
+
 //EF_BRIGHTFIELD|EF_BRIGHTLIGHT|EF_DIMLIGHT|EF_BLUE|EF_RED|EF_FLAME
 const float BALL_EFFECTMASK = 1229;
 const vector BALL_MINS = '-16 -16 -16'; // The model is 24*24*24
index 6240975d72506a11bc1e5629fbd861b3d21f6d32..c9f2ea740aa4ac4fad7b79540493e2d40d75031a 100644 (file)
@@ -3,6 +3,7 @@
 #include "sv_generator.qh"
 
 #include <server/bot/api.qh>
+#include <server/campaign.qh>
 #include <server/command/vote.qh>
 #include <server/damage.qh>
 #include <server/items/items.qh>
index 8ed2e3a67119379ce4f9335ef053a12f981620b8..43d16b0a51fe0734b3e1883f7ca9f382bd972a02 100644 (file)
@@ -1,3 +1,6 @@
 #pragma once
 
+bool autocvar_cl_autodemo_delete;
+bool autocvar_cl_autodemo_delete_keeprecords;
+
 void HUD_Mod_Race(vector pos, vector mySize);
index 39c72a4593a9878fbe755f1211c977ff8ffd83cb..bd5f8b4385dbe8d9aba13074be0d41425487efd5 100644 (file)
@@ -208,7 +208,7 @@ MUTATOR_HOOKFUNCTION(rc, reset_map_global)
        Score_NicePrint(NULL);
 
        race_ClearRecords();
-       PlayerScore_Sort(race_place, 0, 1, 0);
+       PlayerScore_Sort(race_place, 0, true, false);
 
        FOREACH_CLIENT(true, {
                if(it.race_place)
index 1b0f8a7bd89128fccc844f0fc05ccdf243608b91..34f2f921ccb8ecae504f296badc56e93de52f21c 100644 (file)
@@ -1,5 +1,9 @@
 #pragma once
 
+//int autocvar_leadlimit;
+int autocvar_leadlimit_and_fraglimit;
+int autocvar_leadlimit_override;
+
 // TODO: find a better location for these?
 int total_players;
 
index 187080b37bfc15f2dba8559be243322ed68a6c3a..02857d8ae23cd9f0f7c1cf04a372c2f20f516bf2 100644 (file)
@@ -3,6 +3,7 @@
 #include "pickup.qh"
 #include <common/items/all.qh>
 #ifdef SVQC
+    #include <common/stats.qh>
     #include <server/items/items.qh>
     #include <server/resources.qh>
 #endif
index bf4727a79fdba674faedc71be9c98414754914a2..76a17af25c632e3a6ac8d7a33ab3f7b89a24c7c1 100644 (file)
@@ -23,6 +23,10 @@ SOUND(Strength, Item_Sound("powerup"));
 #endif
 
 #ifdef SVQC
+float autocvar_g_balance_powerup_strength_damage;
+float autocvar_g_balance_powerup_strength_force;
+float autocvar_g_balance_powerup_strength_selfdamage;
+float autocvar_g_balance_powerup_strength_selfforce;
 float autocvar_g_balance_powerup_strength_time;
 void powerup_strength_init(Pickup this, entity item)
 {
@@ -61,6 +65,8 @@ SOUND(Shield, Item_Sound("powerup_shield"));
 #endif
 
 #ifdef SVQC
+float autocvar_g_balance_powerup_invincible_takedamage;
+float autocvar_g_balance_powerup_invincible_takeforce = 0.33;
 float autocvar_g_balance_powerup_invincible_time;
 void powerup_shield_init(Pickup this, entity item)
 {
index 3ef0b74b7eee71f936a4fbaed611eae65c0aceef..facfe02b75c8b145180b8553947e0b77fbeea33d 100644 (file)
@@ -1137,7 +1137,7 @@ int MapInfo_CurrentFeatures()
 {
        int req = 0;
     // TODO: find a better way to check if weapons are required on the map
-       if(!(cvar("g_instagib") || cvar("g_overkill") || cvar("g_nix") || cvar("g_weaponarena") || !cvar("g_pickup_items") 
+       if(!(cvar("g_instagib") || cvar("g_overkill") || cvar("g_nix") || cvar("g_weaponarena") || !cvar("g_pickup_items") || !cvar("g_melee_only") 
                || cvar("g_race") || cvar("g_cts") || cvar("g_nexball") || cvar("g_ca") || cvar("g_freezetag") || cvar("g_lms")))
                req |= MAPINFO_FEATURE_WEAPONS;
        return req;
index 2d350b2fed3c1b26c46cab2e3c58bcb598ce1436..be1a4ef7c686dd8bb7861b8edb764ff4cbac3c3f 100644 (file)
@@ -21,6 +21,7 @@ const int GAMETYPE_FLAG_USEPOINTS       = BIT(1); // gametype has point-based sc
 const int GAMETYPE_FLAG_PREFERRED       = BIT(2); // preferred (when available) in random selections
 const int GAMETYPE_FLAG_PRIORITY        = BIT(3); // priority selection when preferred gametype isn't available in random selections
 const int GAMETYPE_FLAG_HIDELIMITS      = BIT(4); // don't display a score limit needed for winning the match in the scoreboard
+const int GAMETYPE_FLAG_WEAPONARENA     = BIT(5); // gametype has a forced weapon arena, weapon arena mutators should disable themselves when this is set
 
 int MAPINFO_TYPE_ALL;
 .int m_flags;
@@ -41,6 +42,8 @@ CLASS(Gametype, Object)
     ATTRIB(Gametype, frags, bool, true);
     /** should this gametype display a score limit in the scoreboard? */
     ATTRIB(Gametype, m_hidelimits, bool, false);
+    /** does this gametype enforce its own weapon arena? */
+    ATTRIB(Gametype, m_weaponarena, bool, false);
     /** game type defaults */
     ATTRIB(Gametype, model2, string);
     /** game type description */
@@ -107,6 +110,7 @@ CLASS(Gametype, Object)
         this.frags = (gflags & GAMETYPE_FLAG_USEPOINTS);
         this.m_priority = ((gflags & GAMETYPE_FLAG_PREFERRED) ? 2 : ((gflags & GAMETYPE_FLAG_PRIORITY) ? 1 : 0));
         this.m_hidelimits = (gflags & GAMETYPE_FLAG_HIDELIMITS);
+        this.m_weaponarena = (gflags & GAMETYPE_FLAG_WEAPONARENA);
 
         // same as `1 << m_id`
         MAPINFO_TYPE_ALL |= this.items = this.m_flags = (MAPINFO_TYPE_ALL + 1);
index 181de8b7b829592dc0ce3dcaf426524a824d78d2..f185f4be8fc96e307ae05ee89078b3174396fb44 100644 (file)
@@ -1,5 +1,8 @@
 #pragma once
 
+#ifdef SVQC
+bool autocvar_sv_doors_always_open;
+#endif
 
 const int DOOR_START_OPEN = BIT(0);
 const int DOOR_DONT_LINK = BIT(2);
index 7c0ea12253b834ee0d1a419992da8161f4fbc3fe..c8f9ad245d0ca7c24a7311de92005e62dc9acb16 100644 (file)
@@ -16,7 +16,6 @@
        #include <lib/warpzone/server.qh>
        #include <lib/warpzone/util_server.qh>
        #include <server/anticheat.qh>
-       #include <server/autocvars.qh>
        #include <server/weapons/csqcprojectile.qh>
 #endif
 
index 10c4fdfafc62cf6d5403561e59d6ff44f0d07a2a..5ff41f01300c591fbfed61802151d60ae53b554f 100644 (file)
@@ -1,6 +1,12 @@
 #pragma once
 #include "defs.qh"
 
+#ifdef SVQC
+bool autocvar_g_telefrags;
+bool autocvar_g_telefrags_avoid;
+bool autocvar_g_telefrags_teamplay;
+#endif
+
 IntrusiveList g_teleporters;
 STATIC_INIT(g_teleporters) { g_teleporters = IL_NEW(); }
 
index e86de4a4970c58bb75435e570bd73afaef1128eb..8d4d078fb3bbb1cf423a174443c2b2e7bae616b1 100644 (file)
@@ -1,5 +1,12 @@
 #pragma once
 
+#ifdef SVQC
+float autocvar_g_triggerimpulse_accel_multiplier;
+float autocvar_g_triggerimpulse_accel_power;
+float autocvar_g_triggerimpulse_directional_multiplier;
+float autocvar_g_triggerimpulse_radial_multiplier;
+#endif
+
 // tZorks trigger impulse / gravity
 .float radius;
 .int falloff;
index a6128d207fb8c334d092dcee26cd41ab261186cb..06842395bdd81f361a90d137bdc4a9e1a2b5e1be 100644 (file)
@@ -192,7 +192,9 @@ bool jumppad_push(entity this, entity targ)
                // reset tracking of oldvelocity for impact damage (sudden velocity changes)
                targ.oldvelocity = targ.velocity;
 
-               if(this.pushltime < time)  // prevent "snorring" sound when a player hits the jumppad more than once
+               // prevent sound spam when a player hits the jumppad more than once
+               // or when a dead player gets stuck in the jumppad for some reason
+               if(this.pushltime < time && !(IS_DEAD(targ) && targ.velocity == '0 0 0'))
                {
                        // flash when activated
                        Send_Effect(EFFECT_JUMPPAD, targ.origin, targ.velocity, 1);
index 74c867c3ac337ed85fc6ac98d0d6dabcc9a4d0a5..5cc1defd16d1d5388b1304ab4bfeadda44b19990 100644 (file)
@@ -1,7 +1,7 @@
 #include "cl_minigames_hud.qh"
 
-#include <client/autocvars.qh>
 #include <client/draw.qh>
+#include <client/hud/_mod.qh>
 #include <client/hud/hud_config.qh>
 #include <client/mapvoting.qh>
 #include <common/ent_cs.qh>
index 28a524d0463a5f59ebcd53fdd7004a6910dd09a8..06f16a9dc57cf6c667efae3093c4d099f2312f94 100644 (file)
@@ -1,5 +1,8 @@
 #pragma once
 
+bool autocvar_sv_minigames;
+bool autocvar_sv_minigames_observer;
+
 /// Create a new minigame session
 /// \return minigame session entity
 entity start_minigame(entity player, string minigame );
index 5ebf5761f4ec1d203c7714145e47812e41ccc4ef..0ce51f21aca47354cfdaf45d5ddda9d557c13a9b 100644 (file)
@@ -6,6 +6,7 @@
 #include <common/mapobjects/teleporters.qh>
 #include <common/mapobjects/triggers.qh>
 #include <common/monsters/all.qh>
+#include <common/mutators/mutator/nades/nades.qh>
 #include <common/physics/movelib.qh>
 #include <common/stats.qh>
 #include <common/teams.qh>
@@ -17,9 +18,9 @@
 #include <common/weapons/_mod.qh>
 #include <lib/csqcmodel/sv_model.qh>
 #include <lib/warpzone/common.qh>
-#include <server/autocvars.qh>
 #include <server/campaign.qh>
 #include <server/cheats.qh>
+#include <server/client.qh>
 #include <server/command/_mod.qh>
 #include <server/damage.qh>
 #include <server/items/items.qh>
index b6cab12b652872bc6f9a6af63079acad1c540315..89541935b7a1b9f5adf66c9df6378e345491fe7b 100644 (file)
@@ -2,6 +2,34 @@
 
 #include "all.qh"
 
+float autocvar_g_monsters;
+bool autocvar_g_monsters_edit;
+bool autocvar_g_monsters_sounds;
+float autocvar_g_monsters_think_delay;
+int autocvar_g_monsters_max;
+int autocvar_g_monsters_max_perplayer;
+float autocvar_g_monsters_damageforcescale = 0.8;
+float autocvar_g_monsters_target_range;
+bool autocvar_g_monsters_target_infront;
+float autocvar_g_monsters_target_infront_range = 0.3;
+float autocvar_g_monsters_attack_range;
+int autocvar_g_monsters_score_kill;
+int autocvar_g_monsters_score_spawned;
+bool autocvar_g_monsters_typefrag;
+bool autocvar_g_monsters_owners;
+float autocvar_g_monsters_miniboss_chance;
+float autocvar_g_monsters_miniboss_healthboost;
+float autocvar_g_monsters_drop_time;
+float autocvar_g_monsters_spawnshieldtime;
+bool autocvar_g_monsters_quake_resize = true;
+bool autocvar_g_monsters_teams;
+float autocvar_g_monsters_respawn_delay;
+bool autocvar_g_monsters_respawn;
+float autocvar_g_monsters_armor_blockpercent;
+float autocvar_g_monsters_healthbars;
+bool autocvar_g_monsters_lineofsight = true;
+//bool autocvar_g_monsters_ignoretraces = true;
+
 // stats networking
 int monsters_total;
 int monsters_killed;
index 54fc4154e237fdbff654d742fc14094bfa073441..0a5f350eeb523bb6ef4d35981be8481a86d0178f 100644 (file)
@@ -8,7 +8,6 @@
        #include <common/stats.qh>
        #include <common/util.qh>
        #include <common/weapons/_all.qh>
-       #include <server/autocvars.qh>
        #include <server/weapons/common.qh>
 #endif
 
index 50b5d91b50dba9d844b301ea1586319e6e13f662..66cd9007216fc9febac289c4bf115434b57afa52 100644 (file)
@@ -1,22 +1,10 @@
 #include "sv_buffs.qh"
 
 #include <common/mapobjects/target/music.qh>
+#include <common/mutators/mutator/instagib/_mod.qh>
 #include <common/gamemodes/_mod.qh>
 #include <server/items/items.qh>
 
-void buffs_DelayedInit(entity this);
-
-AUTOCVAR(g_buffs, int, -1, "Enable buffs, -1: enabled but no auto location or replacing powerups, 1: enabled and can replace them");
-
-REGISTER_MUTATOR(buffs, autocvar_g_buffs)
-{
-       MUTATOR_ONADD
-       {
-               if(autocvar_g_buffs > 0)
-                       InitializeEntity(NULL, buffs_DelayedInit, INITPRIO_FINDTARGET);
-       }
-}
-
 bool buffs_BuffModel_Customize(entity this, entity client)
 {
        entity player = WaypointSprite_getviewentity(client);
@@ -443,25 +431,6 @@ void buff_Vengeance_DelayedDamage(entity this)
        return;
 }
 
-// note: only really useful in teamplay
-void buff_Medic_Heal(entity this)
-{
-       FOREACH_CLIENT(IS_PLAYER(it) && it != this && vdist(it.origin - this.origin, <=, autocvar_g_buffs_medic_heal_range),
-       {
-               if (DIFF_TEAM(it, this))
-               {
-                       continue;
-               }
-               float hp = GetResource(it, RES_HEALTH);
-               if(hp >= autocvar_g_balance_health_regenstable)
-               {
-                       continue;
-               }
-               Send_Effect(EFFECT_HEALING, it.origin, '0 0 0', 1);
-               SetResource(it, RES_HEALTH, bound(0, hp + autocvar_g_buffs_medic_heal_amount, autocvar_g_balance_health_regenstable));
-       });
-}
-
 float buff_Inferno_CalculateTime(float damg, float offset_x, float offset_y, float intersect_x, float intersect_y, float base)
 {
        return offset_y + (intersect_y - offset_y) * logn(((damg - offset_x) * ((base - 1) / intersect_x)) + 1, base);
@@ -557,32 +526,28 @@ MUTATOR_HOOKFUNCTION(buffs, Damage_Calculate)
                Fire_AddDamage(frag_target, frag_attacker, (frag_damage * autocvar_g_buffs_inferno_damagemultiplier), btime, DEATH_BUFF.m_id);
        }
 
-       // this... is ridiculous (TODO: fix!)
-       if(STAT(BUFFS, frag_attacker) & BUFF_VAMPIRE.m_itemid)
-       if(!frag_target.vehicle)
-       if(!ITEM_DAMAGE_NEEDKILL(frag_deathtype))
-       if(!IS_DEAD(frag_target))
-       if(IS_PLAYER(frag_target) || IS_MONSTER(frag_target))
-       if(frag_attacker != frag_target)
-       if(!STAT(FROZEN, frag_target))
-       if(frag_target.takedamage)
-       if(DIFF_TEAM(frag_attacker, frag_target))
-       {
-               float amount = bound(0, frag_damage * autocvar_g_buffs_vampire_damage_steal,
-                       GetResource(frag_target, RES_HEALTH));
-               GiveResourceWithLimit(frag_attacker, RES_HEALTH, amount, g_pickup_healthsmall_max);
-               if (GetResource(frag_target, RES_ARMOR))
-               {
-                       amount = bound(0, frag_damage * autocvar_g_buffs_vampire_damage_steal,
-                               GetResource(frag_target, RES_ARMOR));
-                       GiveResourceWithLimit(frag_attacker, RES_ARMOR, amount, g_pickup_armorsmall_max);
-               }
-       }
-
        M_ARGV(4, float) = frag_damage;
        M_ARGV(6, vector) = frag_force;
 }
 
+MUTATOR_HOOKFUNCTION(buffs, PlayerDamage_SplitHealthArmor)
+{
+       entity frag_attacker = M_ARGV(1, entity);
+       entity frag_target = M_ARGV(2, entity);
+       if(!(STAT(BUFFS, frag_attacker) & BUFF_VAMPIRE.m_itemid))
+               return;
+       float health_take = bound(0, M_ARGV(4, float), GetResource(frag_target, RES_HEALTH));
+
+       if(time >= frag_target.spawnshieldtime &&
+               frag_target != frag_attacker &&
+               IS_PLAYER(frag_attacker) &&
+               !IS_DEAD(frag_target) && !STAT(FROZEN, frag_target))
+       {
+               GiveResource(frag_attacker, RES_HEALTH,
+                       autocvar_g_buffs_vampire_damage_steal * health_take);
+       }
+}
+
 MUTATOR_HOOKFUNCTION(buffs, PlayerSpawn)
 {
        entity player = M_ARGV(0, entity);
@@ -903,13 +868,6 @@ MUTATOR_HOOKFUNCTION(buffs, PlayerPreThink)
        if((STAT(BUFFS, player) & BUFF_INVISIBLE.m_itemid) && (player.oldbuffs & BUFF_INVISIBLE.m_itemid))
                player.alpha = ((autocvar_g_buffs_invisible_alpha) ? autocvar_g_buffs_invisible_alpha : -1); // powerups reset alpha, so we must enforce this (TODO)
 
-       if(STAT(BUFFS, player) & BUFF_MEDIC.m_itemid)
-       if(time >= player.buff_medic_healtime)
-       {
-               buff_Medic_Heal(player);
-               player.buff_medic_healtime = time + autocvar_g_buffs_medic_heal_delay;
-       }
-
 #define BUFF_ONADD(b) if ( (STAT(BUFFS, player) & (b).m_itemid) && !(player.oldbuffs & (b).m_itemid))
 #define BUFF_ONREM(b) if (!(STAT(BUFFS, player) & (b).m_itemid) &&  (player.oldbuffs & (b).m_itemid))
 
@@ -1069,3 +1027,10 @@ void buffs_DelayedInit(entity this)
                }
        }
 }
+
+void buffs_Initialize()
+{
+       // if buffs are above 0, allow random spawning
+       if(autocvar_g_buffs > 0 && autocvar_g_buffs_spawn_count > 0)
+               InitializeEntity(NULL, buffs_DelayedInit, INITPRIO_FINDTARGET);
+}
index b585811873758a94aee4a68592364f36ca749005..0a39b35eb42a0a486d1fb7b2cf4e0a8372c5dd76 100644 (file)
@@ -1,8 +1,20 @@
 #pragma once
 
+#include <common/mutators/base.qh>
+
 #include "buffs.qh"
 
-#include "../instagib/_mod.qh"
+void buffs_Initialize();
+
+AUTOCVAR(g_buffs, int, -1, "Enable buffs, -1: enabled but no auto location or replacing powerups, 1: enabled and can replace them");
+
+REGISTER_MUTATOR(buffs, autocvar_g_buffs)
+{
+       MUTATOR_ONADD
+       {
+               buffs_Initialize();
+       }
+}
 
 bool  autocvar_g_buffs_effects;
 float autocvar_g_buffs_waypoint_distance;
@@ -24,9 +36,6 @@ float autocvar_g_buffs_medic_survive_health;
 float autocvar_g_buffs_medic_rot;
 float autocvar_g_buffs_medic_max;
 float autocvar_g_buffs_medic_regen;
-float autocvar_g_buffs_medic_heal_amount = 15;
-float autocvar_g_buffs_medic_heal_delay = 1;
-float autocvar_g_buffs_medic_heal_range = 400;
 float autocvar_g_buffs_vengeance_damage_multiplier;
 float autocvar_g_buffs_bash_force;
 float autocvar_g_buffs_bash_force_self;
@@ -58,8 +67,6 @@ float autocvar_g_buffs_luck_damagemultiplier = 3;
 .int buff_ammo_prev_clipload;
 // invisible
 .float buff_invisible_prev_alpha;
-// medic
-.float buff_medic_healtime;
 // disability
 .float buff_disability_time;
 .float buff_disability_effect_time;
index 6f70f09beec2219624baeca92e2cd7deaa104fb4..35aa7fc8cc4738d7a2160b46dcb4c363a2d867ce 100644 (file)
@@ -1 +1,5 @@
 #pragma once
+
+#ifdef SVQC
+bool autocvar_sv_doublejump;
+#endif
index a23fc36970a6822f5ca48af79b29487c338a5df5..13403b9e35a96d71004db020336fadcdbd9e41b7 100644 (file)
@@ -509,6 +509,8 @@ MUTATOR_HOOKFUNCTION(mutator_instagib, PlayerDies)
 
 MUTATOR_HOOKFUNCTION(mutator_instagib, ItemTouch)
 {
+       if(MUTATOR_RETURNVALUE) return false;
+
        entity item = M_ARGV(0, entity);
        entity toucher = M_ARGV(1, entity);
 
@@ -542,6 +544,7 @@ MUTATOR_HOOKFUNCTION(mutator_instagib, ItemTouch)
 
 MUTATOR_HOOKFUNCTION(mutator_instagib, OnEntityPreSpawn)
 {
+       if (MUTATOR_RETURNVALUE) return false;
        if (!autocvar_g_powerups) { return; }
        entity ent = M_ARGV(0, entity);
        // Can't use .itemdef here
index 723a3ccbc678fb82238c0d6075426632b8ca7927..f50f0f947c521f7a436c27758bae5d66624b3ddf 100644 (file)
@@ -3,6 +3,27 @@
 #include "items.qh"
 #include <common/gamemodes/_mod.qh>
 
+// TODO: make this its own mutator (somehow)!
+float autocvar_g_rm;
+float autocvar_g_rm_damage;
+float autocvar_g_rm_edgedamage;
+float autocvar_g_rm_force;
+float autocvar_g_rm_radius;
+float autocvar_g_rm_laser;
+float autocvar_g_rm_laser_count;
+float autocvar_g_rm_laser_speed;
+float autocvar_g_rm_laser_spread;
+float autocvar_g_rm_laser_spread_random;
+float autocvar_g_rm_laser_lifetime;
+float autocvar_g_rm_laser_damage;
+float autocvar_g_rm_laser_refire;
+float autocvar_g_rm_laser_rapid;
+float autocvar_g_rm_laser_rapid_refire;
+float autocvar_g_rm_laser_rapid_delay;
+float autocvar_g_rm_laser_radius;
+float autocvar_g_rm_laser_force;
+
+bool autocvar_g_instagib;
 float autocvar_g_instagib_invis_alpha;
 int autocvar_g_instagib_extralives;
 
@@ -10,7 +31,7 @@ void instagib_invisibility(entity this);
 void instagib_extralife(entity this);
 void instagib_speed(entity this);
 
-REGISTER_MUTATOR(mutator_instagib, autocvar_g_instagib && !g_nexball)
+REGISTER_MUTATOR(mutator_instagib, autocvar_g_instagib && !MapInfo_LoadedGametype.m_weaponarena)
 {
        MUTATOR_ONADD
        {
index e99a6af5dc0dea52328e637e97bd27dcc601f9c2..19045727b6cc8e8a0ae603d0315713c89b148924 100644 (file)
@@ -39,6 +39,7 @@ STATIC_INIT(ItemsTime_Init) {
 int autocvar_hud_panel_itemstime = 2;
 float autocvar_hud_panel_itemstime_dynamicsize = 1;
 float autocvar_hud_panel_itemstime_ratio = 2;
+//bool autocvar_hud_panel_itemstime_dynamichud    = true;
 int autocvar_hud_panel_itemstime_iconalign;
 bool autocvar_hud_panel_itemstime_progressbar = 0;
 float autocvar_hud_panel_itemstime_progressbar_maxtime = 30;
index 6f70f09beec2219624baeca92e2cd7deaa104fb4..abbb1de483a45239d8dc37f49509569290627042 100644 (file)
@@ -1 +1,5 @@
 #pragma once
+
+#ifdef SVQC
+int autocvar_sv_itemstime;
+#endif
index a56efaf83cffbf086b2cbca93f5798cfce6b7d20..2596770daa57be0c2b595873d79f18ecb40ee66f 100644 (file)
@@ -3,7 +3,7 @@
 #include "../overkill/sv_overkill.qh"
 
 string autocvar_g_melee_only;
-REGISTER_MUTATOR(melee_only, expr_evaluate(autocvar_g_melee_only) && !MUTATOR_IS_ENABLED(mutator_instagib) && !MUTATOR_IS_ENABLED(ok) && !g_nexball);
+REGISTER_MUTATOR(melee_only, expr_evaluate(autocvar_g_melee_only) && !MUTATOR_IS_ENABLED(mutator_instagib) && !MUTATOR_IS_ENABLED(ok) && !MapInfo_LoadedGametype.m_weaponarena);
 
 MUTATOR_HOOKFUNCTION(melee_only, SetStartItems, CBC_ORDER_LAST)
 {
index 963dbce38d5d9253c36933f4632c18b272bc8c3b..c07882270163a4434ad1ca4e1db3a6b5a2b40cbb 100644 (file)
@@ -2,6 +2,72 @@
 
 #include <common/teams.qh>
 
+#ifdef SVQC
+bool autocvar_g_nades;
+bool autocvar_g_nades_override_dropweapon = true;
+vector autocvar_g_nades_throw_offset;
+bool autocvar_g_nades_spawn;
+int autocvar_g_nades_spawn_count;
+bool autocvar_g_nades_client_select;
+bool autocvar_g_nades_pickup = true;
+float autocvar_g_nades_pickup_time = 2;
+float autocvar_g_nades_nade_lifetime;
+float autocvar_g_nades_nade_minforce;
+float autocvar_g_nades_nade_maxforce;
+float autocvar_g_nades_nade_health;
+float autocvar_g_nades_nade_refire;
+float autocvar_g_nades_nade_damage;
+float autocvar_g_nades_nade_edgedamage;
+float autocvar_g_nades_nade_radius;
+float autocvar_g_nades_nade_force;
+int autocvar_g_nades_nade_newton_style;
+int autocvar_g_nades_napalm_ball_count;
+float autocvar_g_nades_napalm_ball_spread;
+float autocvar_g_nades_napalm_ball_damage;
+float autocvar_g_nades_napalm_ball_damageforcescale;
+float autocvar_g_nades_napalm_ball_lifetime;
+float autocvar_g_nades_napalm_ball_radius;
+bool autocvar_g_nades_napalm_blast;
+float autocvar_g_nades_napalm_fountain_lifetime;
+float autocvar_g_nades_napalm_fountain_delay;
+float autocvar_g_nades_napalm_fountain_radius;
+float autocvar_g_nades_napalm_fountain_damage;
+float autocvar_g_nades_napalm_fountain_edgedamage;
+float autocvar_g_nades_napalm_burntime;
+bool autocvar_g_nades_napalm_selfdamage;
+int autocvar_g_nades_nade_type;
+int autocvar_g_nades_bonus_type;
+bool autocvar_g_nades_bonus;
+bool autocvar_g_nades_bonus_onstrength;
+bool autocvar_g_nades_bonus_client_select;
+bool autocvar_g_nades_bonus_only;
+int autocvar_g_nades_bonus_max;
+int autocvar_g_nades_bonus_score_max;
+int autocvar_g_nades_bonus_score_time;
+int autocvar_g_nades_bonus_score_time_flagcarrier;
+int autocvar_g_nades_bonus_score_minor;
+int autocvar_g_nades_bonus_score_low;
+int autocvar_g_nades_bonus_score_high;
+int autocvar_g_nades_bonus_score_medium;
+int autocvar_g_nades_bonus_score_spree;
+float autocvar_g_nades_ice_freeze_time;
+float autocvar_g_nades_ice_health;
+bool autocvar_g_nades_ice_explode;
+bool autocvar_g_nades_ice_teamcheck;
+float autocvar_g_nades_heal_time;
+float autocvar_g_nades_heal_rate;
+float autocvar_g_nades_heal_friend;
+float autocvar_g_nades_heal_foe;
+float autocvar_g_nades_entrap_strength = 0.01;
+float autocvar_g_nades_entrap_speed = 0.5;
+float autocvar_g_nades_entrap_radius = 500;
+float autocvar_g_nades_entrap_time = 10;
+float autocvar_g_nades_veil_time = 8;
+float autocvar_g_nades_veil_radius = 300;
+string autocvar_g_nades_pokenade_monster_type;
+float autocvar_g_nades_pokenade_monster_lifetime;
+#endif
+
 // use slots 70-100
 const int PROJECTILE_NADE = 71;
 const int PROJECTILE_NADE_BURN = 72;
index 0ec051a8cbfc7e7acbb4c54ff64798f3b3d7a2c6..e23d533edffde69b72bf4ec98a8267c23770e558 100644 (file)
@@ -39,7 +39,7 @@ float nix_nextweapon;
 
 bool NIX_CanChooseWeapon(int wpn);
 
-REGISTER_MUTATOR(nix, expr_evaluate(cvar_string("g_nix")) && !MUTATOR_IS_ENABLED(mutator_instagib) && !MUTATOR_IS_ENABLED(ok))
+REGISTER_MUTATOR(nix, expr_evaluate(cvar_string("g_nix")) && !MUTATOR_IS_ENABLED(mutator_instagib) && !MUTATOR_IS_ENABLED(ok) && !MapInfo_LoadedGametype.m_weaponarena)
 {
        MUTATOR_ONADD
        {
index 63e3c19ef531ccae456e9bfb8c0986cb72c7bc72..4712ec2fadf1016e574e24628eeaf921ec588f5c 100644 (file)
@@ -8,7 +8,7 @@ bool autocvar_g_overkill_filter_armormega;
 
 .float ok_item;
 
-REGISTER_MUTATOR(ok, expr_evaluate(autocvar_g_overkill) && !MUTATOR_IS_ENABLED(mutator_instagib) && !g_nexball && cvar_string("g_mod_balance") == "Overkill")
+REGISTER_MUTATOR(ok, expr_evaluate(autocvar_g_overkill) && !MUTATOR_IS_ENABLED(mutator_instagib) && !MapInfo_LoadedGametype.m_weaponarena && cvar_string("g_mod_balance") == "Overkill")
 {
        MUTATOR_ONADD
        {
index 12e4bdea43531a6fb1c8cbfc5154257f25fa9687..f4562a99ecadba751a10dfbc73a6c6a731723026 100644 (file)
@@ -17,7 +17,7 @@ MUTATOR_HOOKFUNCTION(vampire, PlayerDamage_SplitHealthArmor)
         if(time >= frag_target.spawnshieldtime &&
            frag_target != frag_attacker &&
            IS_PLAYER(frag_attacker) &&
-           !IS_DEAD(frag_target))
+           !IS_DEAD(frag_target) && !STAT(FROZEN, frag_target))
        {
                GiveResource(frag_attacker, RES_HEALTH,
                        autocvar_g_vampire_factor * damage_take);
index f08e2eceee3642b17f12d76ebd256e7d1869dcaf..2274da336e926e31baeeeb46d471653c793519f1 100644 (file)
@@ -27,6 +27,8 @@ classfield(WaypointSprite) .float build_started;
 classfield(WaypointSprite) .float build_starthealth;
 classfield(WaypointSprite) .float build_finished;
 
+bool autocvar_cl_hidewaypoints;
+
 float autocvar_g_waypointsprite_alpha;
 float autocvar_g_waypointsprite_crosshairfadealpha;
 float autocvar_g_waypointsprite_crosshairfadedistance;
index 275d25b0ff5a5d2894b83420050cd4daadb0b108..d692d73c8df82aa1f5463f31e03e50b20aeb8901 100644 (file)
@@ -667,7 +667,7 @@ string multiteam_info_sprintf(string input, string teamname) { return ((input !=
     MSG_CENTER_NOTIF(FREEZETAG_REVIVE,                  N_ENABLE,    1, 0, "s1",             CPID_Null,              "0 0",  _("^K3You revived ^BG%s"), "")
     MSG_CENTER_NOTIF(FREEZETAG_REVIVE_SELF,             N_ENABLE,    0, 0, "",               CPID_Null,              "0 0",  _("^K3You revived yourself"), "")
     MSG_CENTER_NOTIF(FREEZETAG_REVIVED,                 N_ENABLE,    1, 0, "s1",             CPID_Null,              "0 0",  _("^K3You were revived by ^BG%s"), "")
-    MSG_CENTER_NOTIF(FREEZETAG_AUTO_REVIVED,            N_ENABLE,    0, 1, "f1",             CPID_Null,              "0 0",  _("^K3You were automatically revived after %s seconds"), "")
+    MSG_CENTER_NOTIF(FREEZETAG_AUTO_REVIVED,            N_ENABLE,    0, 1, "f1",             CPID_Null,              "0 0",  _("^BGYou were automatically revived after %s seconds"), "")
 
     MSG_CENTER_NOTIF(GENERATOR_UNDERATTACK,             N_ENABLE,    0, 0, "",               CPID_Null,              "0 0",  _("^BGThe generator is under attack!"), "")
 
index 372d963d7acec734d3aa28e388a95351197cdb32..b2e278a18472c7ff498c3abd465d9ee375610bfc 100644 (file)
@@ -7,7 +7,6 @@
        #include <common/constants.qh>
        #include <common/net_linked.qh>
        #include <common/teams.qh>
-       #include <server/autocvars.qh>
        #include <server/command/getreplies.qh>
        #include <server/mutators/_mod.qh>
        #include <server/world.qh>
index 481154f3e6ad207fdb4e6d05140273a4d7d0c9cc..a94ac9ab93bae4d9b8c7f0cad814cf75b7b49e41 100644 (file)
@@ -8,10 +8,6 @@
 #include <common/sounds/sound.qh>
 #include <common/weapons/all.qh>
 
-#ifdef CSQC
-#include <client/autocvars.qh>
-#endif
-
 // Operator for bold notifications
 #define BOLD_OPERATOR "^BOLD"
 
index 444e7f4423f011fba921c61ff395aa3eeb6a578e..d3de0ba9cf3de35617c8604c8d9023fc92631926 100644 (file)
@@ -1,5 +1,10 @@
 #pragma once
 
+#ifdef SVQC
+// undefined on client, engine cvar
+bool autocvar_physics_ode;
+#endif
+
 // water levels
 const int WATERLEVEL_NONE = 0;
 const int WATERLEVEL_WETFEET = 1;
index ebabee158e23b5b0bedfcbcba4f8b39b13569e75..67c70c4b091d315fa9444cdd5b8fade736c7c63d 100644 (file)
@@ -5,6 +5,50 @@
 #ifdef SVQC
 // TODO: get rid of this random dumb include!
        #include <common/state.qh>
+
+float autocvar_sv_airaccel_qw;
+float autocvar_sv_airstrafeaccel_qw;
+float autocvar_sv_airspeedlimit_nonqw;
+float autocvar_sv_airaccel_qw_stretchfactor;
+float autocvar_sv_maxairstrafespeed;
+float autocvar_sv_airstrafeaccelerate;
+float autocvar_sv_warsowbunny_turnaccel;
+float autocvar_sv_airaccel_sideways_friction;
+float autocvar_sv_aircontrol;
+float autocvar_sv_aircontrol_power;
+float autocvar_sv_aircontrol_backwards;
+float autocvar_sv_aircontrol_sidewards;
+float autocvar_sv_aircontrol_penalty;
+float autocvar_sv_warsowbunny_airforwardaccel;
+float autocvar_sv_warsowbunny_topspeed;
+float autocvar_sv_warsowbunny_accel;
+float autocvar_sv_warsowbunny_backtosideratio;
+float autocvar_sv_friction;
+float autocvar_sv_accelerate;
+float autocvar_sv_stopspeed;
+float autocvar_sv_airaccelerate;
+float autocvar_sv_airstopaccelerate;
+float autocvar_sv_track_canjump;
+string autocvar_g_physics_clientselect_options;
+string autocvar_g_physics_clientselect_default;
+bool autocvar_g_jump_grunt;
+bool autocvar_g_physics_clientselect;
+float autocvar_g_maxspeed;
+float autocvar_g_movement_highspeed = 1;
+bool autocvar_g_movement_highspeed_q3_compat = 0;
+//float autocvar_g_nick_flood_penalty;
+int autocvar_g_nick_flood_penalty_red;
+int autocvar_g_nick_flood_penalty_yellow;
+//float autocvar_g_nick_flood_timeout;
+bool autocvar_speedmeter;
+string autocvar_sv_jumpspeedcap_max;
+float autocvar_sv_jumpspeedcap_max_disable_on_ramps;
+string autocvar_sv_jumpspeedcap_min;
+float autocvar_sv_jumpvelocity;
+float autocvar_sv_jumpvelocity_crouch;
+float autocvar_sv_maxairspeed;
+float autocvar_sv_maxspeed;
+bool autocvar_g_footsteps;
 #endif
 
 .entity conveyor;
index 4a7f352035881552acd6e15102f7fc690b7d49f9..2400d4750144916c09109ad4fa1eb55e2a4bdbba 100644 (file)
@@ -167,8 +167,8 @@ void PlayerStats_GameReport(bool finished)
 {
        if(PS_GR_OUT_DB < 0) { return; }
 
-       PlayerScore_Sort(score_dummyfield, 0, 0, 0);
-       PlayerScore_Sort(scoreboard_pos, 1, 1, 1);
+       PlayerScore_Sort(score_dummyfield, 0, false, false);
+       PlayerScore_Sort(scoreboard_pos, 1, true, true);
        if(teamplay) { PlayerScore_TeamStats(); }
 
        FOREACH_CLIENT(true, {
index cda98d54d73f75b7432ae1769ea3c738a27cf840..67f7fd60c479217269a4572d236e7f8d84cd8abe 100644 (file)
@@ -1,9 +1,16 @@
 #pragma once
 
+// you're next
+
 #ifdef SVQC
-#include <server/autocvars.qh>
 #include <server/client.qh>
+#include <server/main.qh>
+#include <common/gamemodes/sv_rules.qh>
+#include <common/mapobjects/teleporters.qh>
 #include <common/mapobjects/trigger/secret.qh>
+#include <common/mutators/mutator/doublejump/doublejump.qh>
+#include <common/mutators/mutator/itemstime/itemstime.qh>
+#include <common/physics/player.qh>
 #endif
 
 // Full list of all stat constants, included in a single location for easy reference
@@ -68,6 +75,11 @@ float game_starttime; //point in time when the countdown to game start is over
 float round_starttime; //point in time when the countdown to round start is over
 bool autocvar_g_allow_oldvortexbeam;
 int autocvar_leadlimit;
+// TODO: world.qh can't be included here due to circular includes!
+#define autocvar_fraglimit cvar("fraglimit")
+#define autocvar_fraglimit_override cvar("fraglimit_override")
+#define autocvar_timelimit cvar("timelimit")
+#define autocvar_timelimit_override cvar("timelimit_override")
 #endif
 REGISTER_STAT(WEAPONRATEFACTOR, float, W_WeaponRateFactor(this))
 REGISTER_STAT(GAME_STOPPED, int, game_stopped)
@@ -201,6 +213,7 @@ int autocvar_sv_gameplayfix_grenadebouncedownslopes = 1;
 int autocvar_sv_gameplayfix_noairborncorpse = 1;
 int autocvar_sv_gameplayfix_noairborncorpse_allowsuspendeditems = 1;
 int autocvar_sv_gameplayfix_delayprojectiles = 0;
+bool autocvar_sv_gameplayfix_upwardvelocityclearsongroundflag = true;
 #endif
 REGISTER_STAT(GAMEPLAYFIX_DOWNTRACEONGROUND, int, autocvar_sv_gameplayfix_downtracesupportsongroundflag)
 REGISTER_STAT(GAMEPLAYFIX_EASIERWATERJUMP, int, autocvar_sv_gameplayfix_easierwaterjump)
@@ -219,6 +232,10 @@ REGISTER_STAT(GAMEPLAYFIX_DELAYPROJECTILES, int, autocvar_sv_gameplayfix_delaypr
 REGISTER_STAT(MOVEVARS_JUMPSTEP, int, cvar("sv_jumpstep"))
 REGISTER_STAT(NOSTEP, int, cvar("sv_nostep"))
 
+#ifdef SVQC
+float autocvar_sv_friction_on_land;
+var float autocvar_sv_friction_slick = 0.5;
+#endif
 REGISTER_STAT(MOVEVARS_FRICTION, float)
 REGISTER_STAT(MOVEVARS_FRICTION_SLICK, float, autocvar_sv_friction_slick)
 REGISTER_STAT(MOVEVARS_FRICTION_ONLAND, float, autocvar_sv_friction_on_land)
@@ -272,6 +289,15 @@ REGISTER_STAT(DODGING_CLIENTSELECT, bool, autocvar_sv_dodging_clientselect)
 REGISTER_STAT(DODGING_FROZEN, int, autocvar_sv_dodging_frozen)
 REGISTER_STAT(DODGING_TIMEOUT, float)
 
+#ifdef SVQC
+float autocvar_g_jetpack_acceleration_side;
+float autocvar_g_jetpack_acceleration_up;
+float autocvar_g_jetpack_antigravity;
+int autocvar_g_jetpack_fuel;
+float autocvar_g_jetpack_maxspeed_side;
+float autocvar_g_jetpack_maxspeed_up;
+float autocvar_g_jetpack_reverse_thrust;
+#endif
 REGISTER_STAT(JETPACK_ACCEL_SIDE, float, autocvar_g_jetpack_acceleration_side)
 REGISTER_STAT(JETPACK_ACCEL_UP, float, autocvar_g_jetpack_acceleration_up)
 REGISTER_STAT(JETPACK_ANTIGRAVITY, float, autocvar_g_jetpack_antigravity)
@@ -314,6 +340,9 @@ REGISTER_STAT(DOM_PPS_BLUE, float)
 REGISTER_STAT(DOM_PPS_YELLOW, float)
 REGISTER_STAT(DOM_PPS_PINK, float)
 
+#ifdef SVQC
+float autocvar_g_teleport_maxspeed;
+#endif
 REGISTER_STAT(TELEPORT_MAXSPEED, float, autocvar_g_teleport_maxspeed)
 REGISTER_STAT(TELEPORT_TELEFRAG_AVOID, int, autocvar_g_telefrags_avoid)
 
@@ -350,7 +379,11 @@ REGISTER_STAT(MOVEVARS_AIRSTRAFEACCEL_QW, float)
 REGISTER_STAT(MOVEVARS_AIRCONTROL_POWER, float)
 REGISTER_STAT(MOVEVARS_AIRCONTROL_BACKWARDS, bool)
 REGISTER_STAT(MOVEVARS_AIRCONTROL_SIDEWARDS, bool)
-noref bool autocvar_sv_gameplayfix_nogravityonground = true;
+#ifdef SVQC
+float autocvar_sv_gameplayfix_q2airaccelerate = 1;
+bool autocvar_sv_gameplayfix_nogravityonground = true;
+bool autocvar_sv_gameplayfix_gravityunaffectedbyticrate = true;
+#endif
 REGISTER_STAT(MOVEFLAGS, int, MOVEFLAG_VALID
                               | (autocvar_sv_gameplayfix_q2airaccelerate ? MOVEFLAG_Q2AIRACCELERATE : 0)
                               | (autocvar_sv_gameplayfix_nogravityonground ? MOVEFLAG_NOGRAVITYONGROUND : 0)
@@ -371,6 +404,8 @@ REGISTER_STAT(TIMELIMIT, float, autocvar_timelimit)
 REGISTER_STAT(WARMUP_TIMELIMIT, float, warmup_limit)
 #ifdef SVQC
 float autocvar_sv_wallfriction;
+#define autocvar_sv_gravity cvar("sv_gravity")
+float autocvar_sv_stepheight;
 #endif
 REGISTER_STAT(MOVEVARS_WALLFRICTION, int, autocvar_sv_wallfriction)
 REGISTER_STAT(MOVEVARS_TICRATE, float, autocvar_sys_ticrate)
index 1900def331225da85a766298834043bc3a2de06f..180981d8c2df48ab37e5e980801af5f5e7000e40 100644 (file)
@@ -2,7 +2,6 @@
 
 #ifdef SVQC
 #include <common/mapobjects/defs.qh>
-#include <server/autocvars.qh>
 #include <server/bot/api.qh>
 #include <server/damage.qh>
 #include <server/weapons/common.qh>
index aec6045ae8218ebf27dc09b12c5a08c2a6407f80..cdd9e57bfa2e7c1f65b041a2f7a93acbfd8657a6 100644 (file)
@@ -2,6 +2,13 @@
 
 #include "all.qh"
 
+bool autocvar_g_turrets;
+float autocvar_g_turrets_aimidle_delay;
+bool autocvar_g_turrets_nofire;
+bool autocvar_g_turrets_reloadcvars;
+float autocvar_g_turrets_targetscan_maxdelay;
+float autocvar_g_turrets_targetscan_mindelay;
+
 entity turret_projectile(entity actor, Sound _snd, float _size, float _health, float _death, float _proj_type, float _cull, float _cli_anim);
 void turret_projectile_explode(entity this);
 float turret_validate_target(entity e_turret, entity e_target, float validate_flags);
index 0663c49cfac876892bd3a10c4a02275c0c955a3d..7db9dcc6a2c8b1debd4ee76955a0ebe555319d24 100644 (file)
@@ -1,9 +1,5 @@
 #pragma once
 
-#ifdef SVQC
-       #include <server/autocvars.qh>
-#endif
-
 #ifdef SVQC
 float tracebox_inverted (vector v1, vector mi, vector ma, vector v2, float nomonsters, entity forent, float stopatentity, entity ignorestopatentity); // returns the number of traces done, for benchmarking
 
@@ -197,8 +193,11 @@ void FindConnectedComponent(entity e, .entity fld, findNextEntityNearFunction_t
 
 #ifdef GAMEQC
        #ifdef CSQC
+               bool autocvar_cl_gentle;
+               int autocvar_cl_gentle_messages;
                #define GENTLE (autocvar_cl_gentle || autocvar_cl_gentle_messages)
        #else
+               int autocvar_sv_gentle;
                #define GENTLE autocvar_sv_gentle
        #endif
        #define normal_or_gentle(normal, gentle) ((GENTLE && (gentle != "")) ? gentle : normal)
index 971a5ebad6911bc28abd53b1f26958c614b0f4d1..a9f44a2c2473b090967b8daa3e7fa15625704133 100644 (file)
@@ -1,25 +1,5 @@
 #include "cl_vehicles.qh"
 
-const string vCROSS_BURST = "gfx/vehicles/crosshair_burst.tga";
-const string vCROSS_DROP  = "gfx/vehicles/crosshair_drop.tga";
-const string vCROSS_GUIDE = "gfx/vehicles/crosshair_guide.tga";
-const string vCROSS_HEAL  = "gfx/vehicles/crosshair_heal.tga";
-const string vCROSS_HINT  = "gfx/vehicles/crosshair_hint.tga";
-const string vCROSS_LOCK  = "gfx/vehicles/crosshair_lock.tga";
-const string vCROSS_RAIN  = "gfx/vehicles/crosshair_rain.tga";
-
-entity dropmark;
-
-const int MAX_AXH = 4;
-entity AuxiliaryXhair[MAX_AXH];
-
-.string axh_image;
-.float  axh_fadetime;
-.int    axh_drawflag;
-
-float alarm1time;
-float alarm2time;
-
 void vehicle_alarm(entity e, int ch, Sound s0und)
 {
        TC(Sound, s0und);
index 327074b98641e72631bbb3089ecc3829b008dca5..ff9448fdd856f2e26e2477723f470db8b687e836 100644 (file)
@@ -1,5 +1,35 @@
 #pragma once
 
+bool autocvar_cl_vehicles_alarm = false;
+bool autocvar_cl_vehicles_hud_tactical = true;
+float autocvar_cl_vehicles_hudscale = 0.5;
+float autocvar_cl_vehicles_notify_time = 15;
+float autocvar_cl_vehicles_crosshair_size = 0.5;
+bool autocvar_cl_vehicles_crosshair_colorize = true;
+bool autocvar__vehicles_shownchasemessage;
+vector autocvar_hud_progressbar_vehicles_ammo1_color;
+vector autocvar_hud_progressbar_vehicles_ammo2_color;
+
+const string vCROSS_BURST = "gfx/vehicles/crosshair_burst.tga";
+const string vCROSS_DROP  = "gfx/vehicles/crosshair_drop.tga";
+const string vCROSS_GUIDE = "gfx/vehicles/crosshair_guide.tga";
+const string vCROSS_HEAL  = "gfx/vehicles/crosshair_heal.tga";
+const string vCROSS_HINT  = "gfx/vehicles/crosshair_hint.tga";
+const string vCROSS_LOCK  = "gfx/vehicles/crosshair_lock.tga";
+const string vCROSS_RAIN  = "gfx/vehicles/crosshair_rain.tga";
+
+entity dropmark;
+
+const int MAX_AXH = 4;
+entity AuxiliaryXhair[MAX_AXH];
+
+.string axh_image;
+.float  axh_fadetime;
+.int    axh_drawflag;
+
+float alarm1time;
+float alarm2time;
+
 vector vehicleHud_Size;
 vector vehicleHud_Pos;
 
index e1230419339ee1137f53811444124d88dddd7df9..bbecb83da6efe8b9cb65641dc66e6f38977e3cab 100644 (file)
@@ -4,7 +4,9 @@
 #include <common/mapobjects/defs.qh>
 #include <common/mapobjects/teleporters.qh>
 #include <common/mapobjects/triggers.qh>
+#include <common/vehicles/vehicles.qh>
 #include <server/bot/api.qh>
+#include <server/client.qh>
 #include <server/damage.qh>
 #include <server/items/items.qh>
 #include <server/weapons/common.qh>
@@ -171,43 +173,6 @@ void vehicles_locktarget(entity this, float incr, float decr, float _lock_time)
        }
 }
 
-float vehicle_altitude(entity this, float amax)
-{
-       tracebox(this.origin, this.mins, this.maxs, this.origin - ('0 0 1' * amax), MOVE_WORLDONLY, this);
-       return vlen(this.origin - trace_endpos);
-}
-
-vector vehicles_force_fromtag_hover(entity this, string tag_name, float spring_length, float max_power)
-{
-       force_fromtag_origin = gettaginfo(this, gettagindex(this, tag_name));
-       v_forward  = normalize(v_forward) * -1;
-       traceline(force_fromtag_origin, force_fromtag_origin - (v_forward  * spring_length), MOVE_NORMAL, this);
-
-       force_fromtag_power = (1 - trace_fraction) * max_power;
-       force_fromtag_normpower = force_fromtag_power / max_power;
-
-       return v_forward  * force_fromtag_power;
-}
-
-vector vehicles_force_fromtag_maglev(entity this, string tag_name, float spring_length, float max_power)
-{
-       force_fromtag_origin = gettaginfo(this, gettagindex(this, tag_name));
-       v_forward  = normalize(v_forward) * -1;
-       traceline(force_fromtag_origin, force_fromtag_origin - (v_forward  * spring_length), MOVE_NORMAL, this);
-
-       // TODO - this may NOT be compatible with wall/celing movement, unhardcode 0.25 (engine count multiplier)
-       if(trace_fraction == 1.0)
-       {
-               force_fromtag_normpower = -0.25;
-               return '0 0 -200';
-       }
-
-       force_fromtag_power = ((1 - trace_fraction) - trace_fraction) * max_power;
-       force_fromtag_normpower = force_fromtag_power / max_power;
-
-       return v_forward  * force_fromtag_power;
-}
-
 // projectile handling
 void vehicles_projectile_damage(entity this, entity inflictor, entity attacker, float damage, int deathtype, .entity weaponentity, vector hitloc, vector force)
 {
index a92da29fb03b237f34ba4a4d8be5b0fbc8e90a84..95ab1cfa28777bf1479a9966e7cfa06cf0dd4c06 100644 (file)
@@ -92,10 +92,6 @@ const int VHEF_NORMAL = 0;  /// User pressed exit key
 const int VHEF_EJECT  = 1;  /// User pressed exit key 3 times fast (not implemented) or vehicle is dying
 const int VHEF_RELEASE = 2;  /// Release ownership, client possibly allready dissconnected / went spec / changed team / used "kill" (not implemented)
 
-float  force_fromtag_power;
-float  force_fromtag_normpower;
-vector force_fromtag_origin;
-
 float vehicles_exit_running;
 
 // macros
@@ -111,7 +107,6 @@ void vehicles_exit(entity vehic, int eject);
 bool vehicle_initialize(entity this, Vehicle info, float nodrop);
 bool vehicle_impulse(entity this, int imp);
 bool vehicles_crushable(entity e);
-float vehicle_altitude(entity this, float amax);
 void vehicles_enter(entity pl, entity veh);
 
 IntrusiveList g_vehicle_returners;
index 4c226f97a86c97fa7adb9a272552d506f6697305..d71dcd6c3f7d18a75fc1a0fe114f30a5c0e0385b 100644 (file)
@@ -8,6 +8,7 @@ CLASS(Bumblebee, Vehicle)
 /* maxs       */ ATTRIB(Bumblebee, m_maxs, vector, '230 130 130');
 /* view offset*/ ATTRIB(Bumblebee, view_ofs, vector, '0 0 300');
 /* view dist  */ ATTRIB(Bumblebee, height, float, 450);
+#ifdef GAMEQC
 /* model         */ ATTRIB(Bumblebee, mdl, string, "models/vehicles/bumblebee_body.dpm");
 /* model         */ ATTRIB(Bumblebee, model, string, "models/vehicles/bumblebee_body.dpm");
 /* head_model */ ATTRIB(Bumblebee, head_model, string, "");
@@ -15,6 +16,7 @@ CLASS(Bumblebee, Vehicle)
 /* tags       */ ATTRIB(Bumblebee, tag_head, string, "");
 /* tags       */ ATTRIB(Bumblebee, tag_hud, string, "");
 /* tags       */ ATTRIB(Bumblebee, tag_view, string, "tag_viewport");
+#endif
 /* netname    */ ATTRIB(Bumblebee, netname, string, "bumblebee");
 /* fullname   */ ATTRIB(Bumblebee, vehicle_name, string, _("Bumblebee"));
 /* icon       */ ATTRIB(Bumblebee, m_icon, string, "vehicle_bumble");
index 606d11505a74da5d05e2f19e185a12ad342bcb9d..59c4c9333d25beebc2ee48bcfb31b62ea1862cda 100644 (file)
@@ -155,6 +155,7 @@ bool racer_frame(entity this, float dt)
        entity vehic = player.vehicle;
        return = true;
 
+#ifdef SVQC
        if(game_stopped)
        {
                vehic.solid = SOLID_NOT;
@@ -162,6 +163,7 @@ bool racer_frame(entity this, float dt)
                set_movetype(vehic, MOVETYPE_NONE);
                return;
        }
+#endif
 
        vehicles_frame(vehic, player);
 
@@ -171,15 +173,19 @@ bool racer_frame(entity this, float dt)
        else if (!vehic.racer_air_finished)
                vehic.racer_air_finished = time + autocvar_g_vehicle_racer_water_time;
 
+#ifdef SVQC
        if(IS_DEAD(vehic))
        {
                PHYS_INPUT_BUTTON_ATCK(player) = PHYS_INPUT_BUTTON_ATCK2(player) = false;
                return;
        }
+#endif
 
        racer_align4point(vehic, player, dt);
 
+#ifdef SVQC
        PHYS_INPUT_BUTTON_ZOOM(player) = PHYS_INPUT_BUTTON_CROUCH(player) = false;
+#endif
 
        vehic.angles_x *= -1;
 
@@ -203,17 +209,17 @@ bool racer_frame(entity this, float dt)
        vector df = vehic.velocity * -autocvar_g_vehicle_racer_friction;
        //vehic.velocity_z = ftmp;
 
-       if(CS(player).movement)
+       if(PHYS_CS(player).movement)
        {
                if(cont & DPCONTENTS_LIQUIDSMASK)
                {
-                       if(CS(player).movement_x) { df += v_forward * ((CS(player).movement_x > 0) ? autocvar_g_vehicle_racer_water_speed_forward : -autocvar_g_vehicle_racer_water_speed_forward); }
-                       if(CS(player).movement_y) { df += v_right * ((CS(player).movement_y > 0) ? autocvar_g_vehicle_racer_water_speed_strafe : -autocvar_g_vehicle_racer_water_speed_strafe); }
+                       if(PHYS_CS(player).movement_x) { df += v_forward * ((PHYS_CS(player).movement_x > 0) ? autocvar_g_vehicle_racer_water_speed_forward : -autocvar_g_vehicle_racer_water_speed_forward); }
+                       if(PHYS_CS(player).movement_y) { df += v_right * ((PHYS_CS(player).movement_y > 0) ? autocvar_g_vehicle_racer_water_speed_strafe : -autocvar_g_vehicle_racer_water_speed_strafe); }
                }
                else
                {
-                       if(CS(player).movement_x) { df += v_forward * ((CS(player).movement_x > 0) ? autocvar_g_vehicle_racer_speed_forward : -autocvar_g_vehicle_racer_speed_forward); }
-                       if(CS(player).movement_y) { df += v_right * ((CS(player).movement_y > 0) ? autocvar_g_vehicle_racer_speed_strafe : -autocvar_g_vehicle_racer_speed_strafe); }
+                       if(PHYS_CS(player).movement_x) { df += v_forward * ((PHYS_CS(player).movement_x > 0) ? autocvar_g_vehicle_racer_speed_forward : -autocvar_g_vehicle_racer_speed_forward); }
+                       if(PHYS_CS(player).movement_y) { df += v_right * ((PHYS_CS(player).movement_y > 0) ? autocvar_g_vehicle_racer_speed_strafe : -autocvar_g_vehicle_racer_speed_strafe); }
                }
 
 #ifdef SVQC
@@ -291,7 +297,7 @@ bool racer_frame(entity this, float dt)
                dforce = autocvar_g_vehicle_racer_water_downforce;
 
        df -= v_up * (vlen(vehic.velocity) * dforce);
-       CS(player).movement = vehic.velocity += df * dt;
+       PHYS_CS(player).movement = vehic.velocity += df * dt;
 
 #ifdef SVQC
 
@@ -375,10 +381,14 @@ bool racer_frame(entity this, float dt)
 #endif
 
        setorigin(player, vehic.origin + '0 0 32');
+#ifdef SVQC
        player.oldorigin = player.origin; // negate fall damage
+#endif
        player.velocity = vehic.velocity;
 }
+#endif
 
+#ifdef SVQC
 void racer_think(entity this)
 {
        float dt = autocvar_g_vehicle_racer_thinkrate;
index 3c348ae1c2bec1086f65976aa238209778ebd15b..e87d1714bf34d7050d89a586162aaeafa9a9ea57 100644 (file)
@@ -8,6 +8,7 @@ CLASS(Racer, Vehicle)
 /* maxs       */ ATTRIB(Racer, m_maxs, vector, '120 120 40' * 0.5);
 /* view offset*/ ATTRIB(Racer, view_ofs, vector, '0 0 50');
 /* view dist  */ ATTRIB(Racer, height, float, 200);
+#ifdef GAMEQC
 /* model         */ ATTRIB(Racer, mdl, string, "models/vehicles/wakizashi.dpm");
 /* model         */ ATTRIB(Racer, model, string, "models/vehicles/wakizashi.dpm");
 /* head_model */ ATTRIB(Racer, head_model, string, "null");
@@ -15,6 +16,7 @@ CLASS(Racer, Vehicle)
 /* tags       */ ATTRIB(Racer, tag_head, string, "");
 /* tags       */ ATTRIB(Racer, tag_hud, string, "");
 /* tags       */ ATTRIB(Racer, tag_view, string, "tag_viewport");
+#endif
 /* netname    */ ATTRIB(Racer, netname, string, "racer");
 /* fullname   */ ATTRIB(Racer, vehicle_name, string, _("Racer"));
 /* icon       */ ATTRIB(Racer, m_icon, string, "vehicle_racer");
index 954d54aea1e0fbf8f68276a1492952fb64a238ad..2532a9cbe969984dc6dd4ebcbdb32ed49af2d250 100644 (file)
@@ -8,6 +8,7 @@ CLASS(Raptor, Vehicle)
 /* maxs       */ ATTRIB(Raptor, m_maxs, vector, '80 80 70');
 /* view offset*/ ATTRIB(Raptor, view_ofs, vector, '0 0 160');
 /* view dist  */ ATTRIB(Raptor, height, float, 200);
+#ifdef GAMEQC
 /* model         */ ATTRIB(Raptor, mdl, string, "models/vehicles/raptor.dpm");
 /* model         */ ATTRIB(Raptor, model, string, "models/vehicles/raptor.dpm");
 /* head_model */ ATTRIB(Raptor, head_model, string, "");
@@ -15,6 +16,7 @@ CLASS(Raptor, Vehicle)
 /* tags       */ ATTRIB(Raptor, tag_head, string, "");
 /* tags       */ ATTRIB(Raptor, tag_hud, string, "tag_hud");
 /* tags       */ ATTRIB(Raptor, tag_view, string, "tag_camera");
+#endif
 /* netname    */ ATTRIB(Raptor, netname, string, "raptor");
 /* fullname   */ ATTRIB(Raptor, vehicle_name, string, _("Raptor"));
 /* icon       */ ATTRIB(Raptor, m_icon, string, "vehicle_raptor");
index 414e0f805fad1dfa23c92116c797cc37e26ca711..8301cd60754a8fa55e2b105b5e6832be0577617d 100644 (file)
@@ -8,6 +8,7 @@ CLASS(Spiderbot, Vehicle)
 /* maxs       */ ATTRIB(Spiderbot, m_maxs, vector, '75 75 125');
 /* view offset*/ ATTRIB(Spiderbot, view_ofs, vector, '0 0 70');
 /* view dist  */ ATTRIB(Spiderbot, height, float, 170);
+#ifdef GAMEQC
 /* model         */ ATTRIB(Spiderbot, mdl, string, "models/vehicles/spiderbot.dpm");
 /* model         */ ATTRIB(Spiderbot, model, string, "models/vehicles/spiderbot.dpm");
 /* head_model */ ATTRIB(Spiderbot, head_model, string, "models/vehicles/spiderbot_top.dpm");
@@ -15,6 +16,7 @@ CLASS(Spiderbot, Vehicle)
 /* tags       */ ATTRIB(Spiderbot, tag_head, string, "tag_head");
 /* tags       */ ATTRIB(Spiderbot, tag_hud, string, "tag_hud");
 /* tags       */ ATTRIB(Spiderbot, tag_view, string, "");
+#endif
 /* netname    */ ATTRIB(Spiderbot, netname, string, "spiderbot");
 /* fullname   */ ATTRIB(Spiderbot, vehicle_name, string, _("Spiderbot"));
 /* icon       */ ATTRIB(Spiderbot, m_icon, string, "vehicle_spider");
index 5e7736501b28e6c2ae3a8e6ed19ee0a521cd4b24..c96fff633999f006ed506adf785bc3c6c8fd3aac 100644 (file)
@@ -1 +1,40 @@
 #include "vehicles.qh"
+
+#ifdef GAMEQC
+float vehicle_altitude(entity this, float amax)
+{
+       tracebox(this.origin, this.mins, this.maxs, this.origin - ('0 0 1' * amax), MOVE_WORLDONLY, this);
+       return vlen(this.origin - trace_endpos);
+}
+
+vector vehicles_force_fromtag_hover(entity this, string tag_name, float spring_length, float max_power)
+{
+       force_fromtag_origin = gettaginfo(this, gettagindex(this, tag_name));
+       v_forward  = normalize(v_forward) * -1;
+       traceline(force_fromtag_origin, force_fromtag_origin - (v_forward  * spring_length), MOVE_NORMAL, this);
+
+       force_fromtag_power = (1 - trace_fraction) * max_power;
+       force_fromtag_normpower = force_fromtag_power / max_power;
+
+       return v_forward  * force_fromtag_power;
+}
+
+vector vehicles_force_fromtag_maglev(entity this, string tag_name, float spring_length, float max_power)
+{
+       force_fromtag_origin = gettaginfo(this, gettagindex(this, tag_name));
+       v_forward  = normalize(v_forward) * -1;
+       traceline(force_fromtag_origin, force_fromtag_origin - (v_forward  * spring_length), MOVE_NORMAL, this);
+
+       // TODO - this may NOT be compatible with wall/celing movement, unhardcode 0.25 (engine count multiplier)
+       if(trace_fraction == 1.0)
+       {
+               force_fromtag_normpower = -0.25;
+               return '0 0 -200';
+       }
+
+       force_fromtag_power = ((1 - trace_fraction) - trace_fraction) * max_power;
+       force_fromtag_normpower = force_fromtag_power / max_power;
+
+       return v_forward  * force_fromtag_power;
+}
+#endif
index 6f70f09beec2219624baeca92e2cd7deaa104fb4..6e1bcd1a1320bb7a2ca772f298e5dd39f657ec92 100644 (file)
@@ -1 +1,13 @@
 #pragma once
+
+#ifdef GAMEQC
+float force_fromtag_power;
+float force_fromtag_normpower;
+vector force_fromtag_origin;
+
+float vehicle_altitude(entity this, float amax);
+
+vector vehicles_force_fromtag_hover(entity this, string tag_name, float spring_length, float max_power);
+
+vector vehicles_force_fromtag_maglev(entity this, string tag_name, float spring_length, float max_power);
+#endif
index b0e3b58a0e407def36ec652e0c9dfb09ef5710c4..50ee6a2ab5d19adc7a024b31451f1b53af87ad11 100644 (file)
@@ -3,7 +3,6 @@
 #define WEAPONS_ALL_C
 
 #if defined(CSQC)
-       #include <client/autocvars.qh>
        #include <client/main.qh>
        #include <common/constants.qh>
        #include <common/deathtypes/all.qh>
@@ -38,7 +37,6 @@
        #include <lib/warpzone/common.qh>
        #include <lib/warpzone/server.qh>
        #include <lib/warpzone/util_server.qh>
-       #include <server/autocvars.qh>
        #include <server/command/_mod.qh>
        #include <server/hook.qh>
        #include <server/items/spawning.qh>
index 2a7ed0bebbc46a8764d35722b3b0a4cce05d70b0..479c0b6b39069c7171f51ab969415dc6840414a9 100644 (file)
@@ -381,6 +381,7 @@ ENUMCLASS_END(WFRAME)
 .WFRAME wframe;
 
 #ifdef SVQC
+    string autocvar_g_shootfromfixedorigin;
     #define G_SHOOTFROMFIXEDORIGIN autocvar_g_shootfromfixedorigin
 #elif defined(CSQC)
     string autocvar_cl_shootfromfixedorigin;
index 848825f147dc7b6d4bcd860dd9e5f55f5a4fe33f..d7ad8368aa6366077d5ec19e8f0eeee696b95b11 100644 (file)
@@ -557,9 +557,14 @@ void W_Arc_Attack(Weapon thiswep, entity actor, .entity weaponentity, int fire)
 }
 void Arc_Smoke(Weapon thiswep, entity actor, .entity weaponentity, int fire)
 {
-       // TODO: spamming this without checking any refires is asking for trouble!
+       // calculate a rough shot origin to show the effect from TODO: move this to the client side!
        makevectors(actor.v_angle);
-       W_SetupShot_Range(actor,weaponentity,false,0,SND_Null,0,0,0,thiswep.m_id); // TODO: probably doesn't need deathtype, since this is just a prefire effect
+       w_shotdir = v_forward;
+       vector md = actor.(weaponentity).movedir;
+       vector vecs = ((md.x > 0) ? md : '0 0 0');
+       vector dv = v_forward * vecs.x + v_right * -vecs.y + v_up * vecs.z;
+       w_shotorg = actor.origin + actor.view_ofs + dv;
+       //W_SetupShot_Range(actor,weaponentity,false,0,SND_Null,0,0,0,thiswep.m_id);
 
        vector smoke_origin = w_shotorg + actor.velocity*frametime;
        if ( actor.arc_overheat > time )
index 335326514d76fdfb85dbe49a43734737a11696dd..8855fc7527d50cc8bb4fa50965b25f1cfd45cdb4 100644 (file)
@@ -53,5 +53,7 @@ classfield(Tuba) .int tuba_instrument;
 #endif
 
 #ifdef SVQC
+float autocvar_snd_soundradius;
+
 bool W_Tuba_HasPlayed(entity pl, .entity weaponentity, string melody, int instrument, bool ignorepitch, float mintempo, float maxtempo);
 #endif
index 74bf35ce4337c9ab1bf31778c4892529a2e2183b..040374f4cef0b3c5bb610dc0e0068764d6eb00e6 100644 (file)
@@ -67,6 +67,10 @@ REGISTER_WEAPON(VORTEX, vortex, NEW(Vortex));
 SPAWNFUNC_WEAPON(weapon_vortex, WEP_VORTEX)
 SPAWNFUNC_WEAPON(weapon_nex, WEP_VORTEX)
 
+#ifdef CSQC
+bool autocvar_cl_particles_oldvortexbeam;
+#endif
+
 #ifdef SVQC
 .float vortex_charge_rottime;
 
index 31304012607b96c6f12169559489402042953d5b..0d50baac5797d2810cea19ef2a3f77b382b7a982 100644 (file)
@@ -1,5 +1,9 @@
 #include "physics.qh"
 
+float autocvar_sv_spectator_speed_multiplier;
+float autocvar_sv_spectator_speed_multiplier_min = 1;
+float autocvar_sv_spectator_speed_multiplier_max = 5;
+
 void sys_phys_fix(entity this, float dt)
 {
        WarpZone_PlayerPhysics_FixVAngle(this);
index d8ea2a070c4cb26031d99965d3a6d018c39ff4a9..664e67e8b7c98ddf2b595428cfb746796da9c8eb 100644 (file)
@@ -238,6 +238,31 @@ vector CSQCPlayer_ApplySmoothing(entity this, vector v)
        return v;
 }
 
+// simplified copy of CSQCPlayer_ApplySmoothing for use on player models
+.float stairsmooth_offset;
+.float stairsmooth_prevtime;
+.float stairsmooth_drawtime; // holds the previous draw time
+vector CSQCModel_ApplyStairSmoothing(entity this, bool isonground, vector v)
+{
+       float smoothtime = bound(0, time - this.stairsmooth_prevtime, 0.1);
+       this.stairsmooth_prevtime = max(this.stairsmooth_prevtime, this.stairsmooth_drawtime); // stairsmooth_drawtime is the previous frame's time at this point
+
+       if(this.csqcmodel_teleported || !isonground || autocvar_cl_stairsmoothspeed <= 0 || this.ground_networkentity)
+               this.stairsmooth_offset = v.z;
+       else
+       {
+               if(this.stairsmooth_offset < v.z)
+                       v.z = this.stairsmooth_offset = bound(v.z - PHYS_STEPHEIGHT(this), this.stairsmooth_offset + smoothtime * autocvar_cl_stairsmoothspeed, v.z);
+               else if(this.stairsmooth_offset > v.z)
+                       v.z = this.stairsmooth_offset = bound(v.z, this.stairsmooth_offset - smoothtime * autocvar_cl_stairsmoothspeed, v.z + PHYS_STEPHEIGHT(this));
+       }
+
+       this.stairsmooth_prevtime = time;
+       this.stairsmooth_drawtime = drawtime;
+
+       return v;
+}
+
 bool autocvar_v_deathtilt;
 float autocvar_v_deathtiltangle;
 void CSQCPlayer_ApplyDeathTilt(entity this)
@@ -281,7 +306,7 @@ float bobfall_speed;
 float bob2_smooth;
 vector CSQCPlayer_ApplyBobbing(entity this, vector v)
 {
-       if(this.csqcmodel_isdead)
+       if(this.csqcmodel_isdead || PHYS_INVEHICLE(this))
                return v;
 
        // bounded XY speed, used by several effects below
@@ -574,6 +599,8 @@ void CSQCPlayer_SetCamera()
                }
 
                // relink
+               e.stairsmooth_drawtime = drawtime; // since drawtime is a frame old at this point, copy it now to avoid using a drawtime 2 frames old!
+               e.origin = CSQCModel_ApplyStairSmoothing(e, (e.pmove_flags & PMF_ONGROUND), e.origin);
                setorigin(e, e.origin);
        }
 
index af708da25170f30287fb59507dc3c17c75034dca..925c9bd07f6988024728a82a2a289fbee707fdfd 100644 (file)
@@ -39,3 +39,4 @@ void CSQCPlayer_SetCamera();
 float CSQCPlayer_PreUpdate(entity this);
 float CSQCPlayer_PostUpdate(entity this);
 float CSQCPlayer_IsLocalPlayer(entity this);
+vector CSQCModel_ApplyStairSmoothing(entity this, bool isonground, vector v);
index 94af8634003d471dc5529a860db91449c38d0c7a..7c6b2c3490ac492a2faee3881131551a7fd4c7f3 100644 (file)
@@ -21,6 +21,8 @@
  */
 #pragma once
 
+float autocvar_cl_lerpexcess; // TODO: int?
+
 .int iflags;
 const int IFLAG_VELOCITY = BIT(0);
 const int IFLAG_ANGLES = BIT(1);
index 59bb70dd390c5e10436a0db7153d4c44eac71bc9..317fc8dedb363f316b359faf58369a573473cdf8 100644 (file)
@@ -71,9 +71,9 @@ string(string, string...) strcat1n = #115;
 #define  LOG_INFOF(...) _LOG_INFO(sprintf(__VA_ARGS__))
 #define _LOG_INFO(s) \
        MACRO_BEGIN \
-               if (autocvar_developer > 1) dprint(_LOG_HEADER("^5INFO")); \
+               if (autocvar_developer > 1) dprint(strcat1n(_LOG_HEADER("^5INFO"), "\n")); \
                string __s = s; \
-               print("\n^7", __s); \
+               print("^7", __s); \
                /* TODO: unconditionally add a newline when possible */ \
                if (str2chr(__s, strlen(__s) - 1) != '\n') { print("\n"); } \
        MACRO_END
index df1ab6b806bf91e3b6d84e337d51fcee99dad8f2..95c78e3898a8fa7f86ed416a2a3bb14ea004464d 100644 (file)
@@ -2,7 +2,6 @@
 #include "common.qh"
 
 #if defined(CSQC)
-       #include <client/autocvars.qh>
        #include <lib/csqcmodel/cl_model.qh>
 #elif defined(MENUQC)
 #elif defined(SVQC)
@@ -276,11 +275,13 @@ void WarpZone_FixView()
        setproperty(VF_ORIGIN, org);
        setproperty(VF_ANGLES, ang);
 
+       vector width = '1 0 0' * cvar("vid_conwidth");
+       vector height = '0 1 0' * cvar("vid_conheight");
        nearclip = '0 0 1' * (cvar("r_nearclip") * 1.125);
        corner0 = cs_unproject('0 0 0' + nearclip);
-       corner1 = cs_unproject('1 0 0' * cvar("vid_conwidth") + nearclip);
-       corner2 = cs_unproject('0 1 0' * cvar("vid_conheight") + nearclip);
-       corner3 = cs_unproject('1 0 0' * cvar("vid_conwidth") + '0 1 0' * cvar("vid_conheight") + nearclip);
+       corner1 = cs_unproject(width + nearclip);
+       corner2 = cs_unproject(height + nearclip);
+       corner3 = cs_unproject(width + height + nearclip);
        o = WarpZone_FixNearClip(org, corner0, corner1, corner2, corner3);
        if(o != '0 0 0')
                setproperty(VF_ORIGIN, org + o);
index 84caecb75bbf33ca0b16cd51ad6f4c626fda3341..cb61d3943cd0c428e557bec04c1b1fde29fd58a1 100644 (file)
@@ -708,7 +708,9 @@ void m_draw(float width, float height)
                menuNotTheFirstFrame = true;
                if (Menu_Active && !cvar("menu_video_played"))
         {
-            localcmd("cd loop $menu_cdtrack; play sound/announcer/default/welcome.wav\n");
+            localcmd("cd loop $menu_cdtrack\n");
+            // TODO: use this when we have a welcome sound
+            //localcmd("cd loop $menu_cdtrack; play sound/announcer/default/welcome.wav\n");
             menuLogoAlpha = -0.8;  // no idea why, but when I start this at zero, it jumps instead of fading FIXME
         }
                // ALWAYS set this cvar; if we start but menu is not active, this means we want no background music!
index 7567563e915f50562ea4d0c50d86773209d21323..48c252def49ee3b9d0451fd321c2272c5dcbaae8 100644 (file)
@@ -5,7 +5,6 @@
 #include <common/stats.qh>
 #include <common/weapons/_all.qh>
 #include <server/antilag.qh>
-#include <server/autocvars.qh>
 #include <server/client.qh>
 #include <server/command/common.qh>
 #include <server/gamelog.qh>
index f02803387dd179c7cb3d8fa9857024bcb3e297b3..ed8f6b3306204a36f3e8c8b38231351895a56a26 100644 (file)
@@ -1,5 +1,8 @@
 #pragma once
 
+int autocvar_g_antilag;
+float autocvar_g_antilag_nudge;
+
 void antilag_record(entity e, entity store, float t);
 vector antilag_takebackorigin(entity e, entity store, float t);
 void antilag_takeback(entity e, entity store, float t);
diff --git a/qcsrc/server/autocvars.qh b/qcsrc/server/autocvars.qh
deleted file mode 100644 (file)
index 83ea702..0000000
+++ /dev/null
@@ -1,555 +0,0 @@
-#pragma once
-
-bool autocvar__notarget;
-bool autocvar__campaign_testrun;
-int autocvar__campaign_index;
-string autocvar__campaign_name;
-bool autocvar__sv_init;
-float autocvar_bot_ai_strategyinterval;
-float autocvar_bot_ai_strategyinterval_movingtarget;
-#define autocvar_bot_number cvar("bot_number")
-int autocvar_bot_vs_human;
-int autocvar_captureleadlimit_override;
-#define autocvar_capturelimit_override cvar("capturelimit_override")
-float autocvar_ekg;
-#define autocvar_fraglimit cvar("fraglimit")
-#define autocvar_fraglimit_override cvar("fraglimit_override")
-//bool autocvar_g_allow_oldvortexbeam;
-int autocvar_g_antilag;
-float autocvar_g_antilag_nudge;
-float autocvar_g_balance_armor_blockpercent;
-int autocvar_g_balance_armor_limit;
-float autocvar_g_balance_armor_regen;
-float autocvar_g_balance_armor_regenlinear;
-int autocvar_g_balance_armor_regenstable;
-float autocvar_g_balance_armor_rot;
-float autocvar_g_balance_armor_rotlinear;
-int autocvar_g_balance_armor_rotstable;
-int autocvar_g_balance_armor_start;
-float autocvar_g_balance_contents_damagerate;
-float autocvar_g_balance_contents_drowndelay;
-int autocvar_g_balance_contents_playerdamage_drowning;
-int autocvar_g_balance_contents_playerdamage_lava;
-int autocvar_g_balance_contents_playerdamage_lava_burn; // 10 is a nice value
-float autocvar_g_balance_contents_playerdamage_lava_burn_time = 2.5; // note: damage is total across this time (not by dps)
-int autocvar_g_balance_contents_playerdamage_slime;
-int autocvar_g_balance_contents_projectiledamage;
-float autocvar_g_balance_damagepush_speedfactor;
-float autocvar_g_balance_falldamage_deadminspeed;
-float autocvar_g_balance_falldamage_factor;
-int autocvar_g_balance_falldamage_maxdamage;
-float autocvar_g_balance_falldamage_minspeed;
-bool autocvar_g_balance_falldamage_onlyvertical;
-int autocvar_g_balance_firetransfer_damage;
-int autocvar_g_balance_firetransfer_time;
-float autocvar_g_balance_fuel_limit;
-float autocvar_g_balance_fuel_regen;
-float autocvar_g_balance_fuel_regenlinear;
-int autocvar_g_balance_fuel_regenstable;
-float autocvar_g_balance_fuel_rot;
-float autocvar_g_balance_fuel_rotlinear;
-int autocvar_g_balance_fuel_rotstable;
-float autocvar_g_balance_grapplehook_airfriction;
-float autocvar_g_balance_grapplehook_force_rubber;
-float autocvar_g_balance_grapplehook_force_rubber_overstretch;
-float autocvar_g_balance_grapplehook_health;
-float autocvar_g_balance_grapplehook_length_min;
-float autocvar_g_balance_grapplehook_speed_fly;
-float autocvar_g_balance_grapplehook_speed_pull;
-float autocvar_g_balance_grapplehook_stretch;
-float autocvar_g_balance_grapplehook_damagedbycontents;
-float autocvar_g_balance_grapplehook_refire;
-float autocvar_g_balance_health_limit;
-float autocvar_g_balance_health_regen;
-float autocvar_g_balance_health_regenlinear;
-float autocvar_g_balance_health_regenstable;
-float autocvar_g_balance_health_rot;
-float autocvar_g_balance_health_rotlinear;
-float autocvar_g_balance_health_rotstable;
-float autocvar_g_balance_kill_delay;
-float autocvar_g_balance_kill_antispam;
-float autocvar_g_balance_pause_armor_rot;
-float autocvar_g_balance_pause_armor_rot_spawn;
-float autocvar_g_balance_pause_fuel_regen;
-float autocvar_g_balance_pause_fuel_rot;
-float autocvar_g_balance_pause_fuel_rot_spawn;
-float autocvar_g_balance_pause_health_regen;
-float autocvar_g_balance_pause_health_regen_spawn;
-float autocvar_g_balance_pause_health_rot;
-float autocvar_g_balance_pause_health_rot_spawn;
-float autocvar_g_balance_portal_health;
-float autocvar_g_balance_portal_lifetime;
-float autocvar_g_balance_powerup_invincible_takedamage;
-float autocvar_g_balance_powerup_invincible_takeforce = 0.33;
-//float autocvar_g_balance_powerup_invincible_time;
-float autocvar_g_balance_powerup_strength_damage;
-float autocvar_g_balance_powerup_strength_force;
-float autocvar_g_balance_powerup_strength_selfdamage;
-float autocvar_g_balance_powerup_strength_selfforce;
-//float autocvar_g_balance_powerup_strength_time;
-float autocvar_g_balance_superweapons_time;
-float autocvar_g_balance_selfdamagepercent;
-float autocvar_g_ballistics_density_corpse;
-float autocvar_g_ballistics_density_player;
-float autocvar_g_ballistics_mindistance;
-bool autocvar_g_ballistics_penetrate_clips = true;
-float autocvar_g_ballistics_solidpenetration_exponent = 1;
-float autocvar_g_ban_default_bantime;
-float autocvar_g_ban_default_masksize;
-float autocvar_g_ban_sync_interval;
-float autocvar_g_ban_sync_timeout;
-string autocvar_g_ban_sync_trusted_servers;
-bool autocvar_g_ban_sync_trusted_servers_verify;
-string autocvar_g_ban_sync_uri;
-bool autocvar_g_ban_telluser = true;
-string autocvar_g_banned_list;
-bool autocvar_g_banned_list_idmode;
-bool autocvar_g_botclip_collisions;
-bool autocvar_g_campaign;
-#define autocvar_g_campaign_forceteam cvar("g_campaign_forceteam")
-int autocvar_g_campaign_skill;
-int autocvar_g_casings;
-float autocvar_g_chat_flood_burst;
-float autocvar_g_chat_flood_burst_team;
-float autocvar_g_chat_flood_burst_tell;
-float autocvar_g_chat_flood_lmax;
-float autocvar_g_chat_flood_lmax_team;
-float autocvar_g_chat_flood_lmax_tell;
-bool autocvar_g_chat_flood_notify_flooder;
-float autocvar_g_chat_flood_spl;
-float autocvar_g_chat_flood_spl_team;
-float autocvar_g_chat_flood_spl_tell;
-int autocvar_g_chat_nospectators;
-bool autocvar_g_chat_teamcolors;
-bool autocvar_g_chat_tellprivacy;
-bool autocvar_g_forced_respawn;
-string autocvar_g_forced_team_otherwise; // TODO: Move to teamplay.qc
-#define autocvar_g_friendlyfire cvar("g_friendlyfire")
-#define autocvar_g_friendlyfire_virtual cvar("g_friendlyfire_virtual")
-#define autocvar_g_friendlyfire_virtual_force cvar("g_friendlyfire_virtual_force")
-bool autocvar_g_full_getstatus_responses;
-bool autocvar_g_fullbrightitems;
-bool autocvar_g_fullbrightplayers;
-int autocvar_g_balance_grapplehook_pull_frozen;
-float autocvar_g_balance_grapplehook_nade_time;
-bool autocvar_g_balance_grapplehook_gravity;
-bool autocvar_g_balance_grapplehook_crouchslide;
-bool autocvar_g_hitplots;
-string autocvar_g_hitplots_individuals;
-float autocvar_g_jetpack_acceleration_side;
-float autocvar_g_jetpack_acceleration_up;
-float autocvar_g_jetpack_antigravity;
-int autocvar_g_jetpack_fuel;
-float autocvar_g_jetpack_maxspeed_side;
-float autocvar_g_jetpack_maxspeed_up;
-float autocvar_g_jetpack_reverse_thrust;
-#define autocvar_g_maplist cvar_string("g_maplist")
-bool autocvar_g_maplist_check_waypoints;
-int autocvar_g_maplist_index;
-string autocvar_g_maplist_mostrecent;
-int autocvar_g_maplist_mostrecent_count;
-bool autocvar_g_maplist_selectrandom;
-float autocvar_g_maplist_shuffle;
-#define autocvar_g_maplist_votable cvar("g_maplist_votable")
-bool autocvar_g_maplist_votable_abstain;
-float autocvar_g_maplist_votable_keeptwotime;
-bool autocvar_g_maplist_votable_nodetail;
-string autocvar_g_maplist_votable_screenshot_dir;
-bool autocvar_g_maplist_votable_suggestions;
-bool autocvar_g_maplist_votable_suggestions_override_mostrecent;
-float autocvar_g_maplist_votable_timeout;
-bool autocvar_g_maplist_ignore_sizes;
-bool autocvar_g_maplist_sizes_count_maxplayers = true;
-bool autocvar_g_maplist_sizes_count_bots = true;
-int autocvar_g_maxplayers;
-float autocvar_g_maxplayers_spectator_blocktime;
-float autocvar_g_maxpushtime;
-float autocvar_g_maxspeed;
-#define autocvar_g_instagib cvar("g_instagib")
-#define autocvar_g_mirrordamage cvar("g_mirrordamage")
-#define autocvar_g_mirrordamage_virtual cvar("g_mirrordamage_virtual")
-bool autocvar_g_mirrordamage_onlyweapons;
-
-float autocvar_g_movement_highspeed = 1;
-bool autocvar_g_movement_highspeed_q3_compat = 0;
-string autocvar_g_mutatormsg;
-//float autocvar_g_nick_flood_penalty;
-int autocvar_g_nick_flood_penalty_red;
-int autocvar_g_nick_flood_penalty_yellow;
-//float autocvar_g_nick_flood_timeout;
-bool autocvar_g_nodepthtestitems;
-bool autocvar_g_nodepthtestplayers;
-bool autocvar_g_norecoil;
-float autocvar_g_items_mindist;
-float autocvar_g_items_maxdist;
-int autocvar_g_pickup_items;
-float autocvar_g_player_alpha;
-float autocvar_g_player_brightness;
-float autocvar_g_player_damageforcescale = 2;
-bool autocvar_g_playerclip_collisions;
-int autocvar_g_powerups;
-int autocvar_g_projectiles_damage;
-bool autocvar_g_projectiles_keep_owner;
-int autocvar_g_projectiles_newton_style;
-float autocvar_g_projectiles_newton_style_2_maxfactor;
-float autocvar_g_projectiles_newton_style_2_minfactor;
-int autocvar_g_projectiles_spread_style;
-float autocvar_g_respawn_delay_small;
-int autocvar_g_respawn_delay_small_count;
-float autocvar_g_respawn_delay_large;
-int autocvar_g_respawn_delay_large_count;
-float autocvar_g_respawn_delay_max;
-bool autocvar_g_respawn_delay_forced;
-bool autocvar_g_respawn_ghosts;
-float autocvar_g_respawn_ghosts_alpha = 1;
-float autocvar_g_respawn_ghosts_fadetime = 1.5;
-float autocvar_g_respawn_ghosts_time = 4.5;
-float autocvar_g_respawn_ghosts_speed;
-int autocvar_g_respawn_waves;
-string autocvar_g_shootfromfixedorigin;
-int autocvar_g_showweaponspawns;
-bool autocvar_g_spawn_alloweffects;
-float autocvar_g_spawn_furthest;
-bool autocvar_g_spawn_useallspawns;
-bool autocvar_g_spawnpoints_auto_move_out_of_solid;
-float autocvar_g_spawnshieldtime;
-float autocvar_g_spawnshield_blockdamage;
-float autocvar_g_teamdamage_resetspeed;
-float autocvar_g_teamdamage_threshold;
-bool autocvar_g_telefrags;
-bool autocvar_g_telefrags_avoid;
-bool autocvar_g_telefrags_teamplay;
-float autocvar_g_teleport_maxspeed;
-bool autocvar_g_throughfloor_debug;
-float autocvar_g_throughfloor_damage;
-float autocvar_g_throughfloor_force;
-float autocvar_g_throughfloor_damage_max_stddev;
-float autocvar_g_throughfloor_force_max_stddev;
-float autocvar_g_throughfloor_min_steps_player;
-float autocvar_g_throughfloor_max_steps_player;
-float autocvar_g_throughfloor_min_steps_other;
-float autocvar_g_throughfloor_max_steps_other;
-float autocvar_g_triggerimpulse_accel_multiplier;
-float autocvar_g_triggerimpulse_accel_power;
-float autocvar_g_triggerimpulse_directional_multiplier;
-float autocvar_g_triggerimpulse_radial_multiplier;
-bool autocvar_g_turrets;
-float autocvar_g_turrets_aimidle_delay;
-bool autocvar_g_turrets_nofire;
-bool autocvar_g_turrets_reloadcvars;
-float autocvar_g_turrets_targetscan_maxdelay;
-float autocvar_g_turrets_targetscan_mindelay;
-bool autocvar_g_use_ammunition;
-bool autocvar_g_waypointeditor;
-bool autocvar_g_waypointeditor_symmetrical;
-bool autocvar_g_waypointeditor_symmetrical_allowload = true;
-vector autocvar_g_waypointeditor_symmetrical_origin;
-int autocvar_g_waypointeditor_symmetrical_order;
-vector autocvar_g_waypointeditor_symmetrical_axis;
-bool autocvar_g_waypoints_for_items;
-#define autocvar_g_weapon_stay cvar("g_weapon_stay")
-bool autocvar_g_weapon_throwable;
-#define autocvar_g_weaponarena cvar_string("g_weaponarena")
-string autocvar_g_xonoticversion;
-float autocvar_gameversion;
-float autocvar_gameversion_min;
-float autocvar_gameversion_max;
-string autocvar_hostname;
-bool autocvar_lastlevel;
-//int autocvar_leadlimit;
-int autocvar_leadlimit_and_fraglimit;
-int autocvar_leadlimit_override;
-int autocvar_minplayers;
-int autocvar_minplayers_per_team;
-string autocvar_nextmap;
-string autocvar_quit_and_redirect;
-float autocvar_quit_and_redirect_timer;
-bool autocvar_quit_when_empty;
-float autocvar_r_showbboxes;
-int autocvar_rescan_pending;
-bool autocvar_samelevel;
-string autocvar_sessionid;
-#define autocvar_skill cvar("skill")
-#define autocvar_slowmo cvar("slowmo")
-float autocvar_snd_soundradius;
-int autocvar_spawn_debug;
-bool autocvar_speedmeter;
-float autocvar_sv_accuracy_data_share = 1;
-string autocvar_sv_adminnick;
-bool autocvar_sv_autoscreenshot;
-int autocvar_sv_cheats;
-float autocvar_sv_clientcommand_antispam_time;
-int autocvar_sv_clientcommand_antispam_count;
-bool autocvar_sv_curl_serverpackages_auto;
-bool autocvar_sv_db_saveasdump;
-bool autocvar_sv_defaultcharacter;
-bool autocvar_sv_defaultcharacterskin;
-int autocvar_sv_defaultplayerskin_blue;
-int autocvar_sv_defaultplayerskin_pink;
-int autocvar_sv_defaultplayerskin_red;
-int autocvar_sv_defaultplayerskin_yellow;
-string autocvar_sv_defaultplayercolors;
-string autocvar_sv_defaultplayermodel;
-string autocvar_sv_defaultplayermodel_blue;
-string autocvar_sv_defaultplayermodel_pink;
-string autocvar_sv_defaultplayermodel_red;
-string autocvar_sv_defaultplayermodel_yellow;
-int autocvar_sv_defaultplayerskin;
-bool autocvar_sv_doors_always_open;
-bool autocvar_sv_doublejump;
-bool autocvar_sv_eventlog;
-bool autocvar_sv_eventlog_console;
-bool autocvar_sv_eventlog_files;
-int autocvar_sv_eventlog_files_counter;
-string autocvar_sv_eventlog_files_nameprefix;
-string autocvar_sv_eventlog_files_namesuffix;
-bool autocvar_sv_eventlog_files_timestamps;
-bool autocvar_sv_eventlog_ipv6_delimiter = false;
-float autocvar_sv_friction_on_land;
-var float autocvar_sv_friction_slick = 0.5;
-float autocvar_sv_gameplayfix_q2airaccelerate = 1;
-int autocvar_sv_gentle;
-#define autocvar_sv_gravity cvar("sv_gravity")
-string autocvar_sv_intermission_cdtrack;
-int autocvar_sv_itemstime;
-string autocvar_sv_jumpspeedcap_max;
-float autocvar_sv_jumpspeedcap_max_disable_on_ramps;
-string autocvar_sv_jumpspeedcap_min;
-float autocvar_sv_jumpvelocity;
-float autocvar_sv_jumpvelocity_crouch;
-bool autocvar_sv_logscores_bots;
-bool autocvar_sv_logscores_console;
-bool autocvar_sv_logscores_file;
-string autocvar_sv_logscores_filename;
-float autocvar_sv_mapchange_delay;
-float autocvar_sv_maxairspeed;
-float autocvar_sv_maxspeed;
-string autocvar_sv_motd;
-int autocvar_sv_name_maxlength = 64;
-bool autocvar_sv_precacheplayermodels;
-bool autocvar_sv_q3acompat_machineshotgunswap;
-bool autocvar_sv_servermodelsonly;
-int autocvar_sv_spectate;
-float autocvar_sv_spectator_speed_multiplier;
-float autocvar_sv_spectator_speed_multiplier_min = 1;
-float autocvar_sv_spectator_speed_multiplier_max = 5;
-bool autocvar_sv_status_privacy;
-float autocvar_sv_stepheight;
-float autocvar_sv_strengthsound_antispam_refire_threshold;
-float autocvar_sv_strengthsound_antispam_time;
-bool autocvar_sv_teamnagger;
-bool autocvar_sv_timeout;
-float autocvar_sv_timeout_leadtime;
-float autocvar_sv_timeout_length;
-int autocvar_sv_timeout_number;
-float autocvar_sv_timeout_resumetime;
-bool autocvar_sv_vote_call;
-bool autocvar_sv_vote_change;
-string autocvar_sv_vote_commands;
-bool autocvar_sv_vote_gametype;
-float autocvar_sv_vote_gametype_timeout;
-string autocvar_sv_vote_gametype_options;
-float autocvar_sv_vote_gametype_keeptwotime;
-bool autocvar_sv_vote_gametype_default_current;
-int autocvar_sv_vote_limit;
-float autocvar_sv_vote_majority_factor;
-float autocvar_sv_vote_majority_factor_of_voted;
-bool autocvar_sv_vote_master;
-bool autocvar_sv_vote_master_callable;
-string autocvar_sv_vote_master_commands;
-string autocvar_sv_vote_master_password;
-int autocvar_sv_vote_master_playerlimit;
-bool autocvar_sv_vote_no_stops_vote;
-int autocvar_sv_vote_nospectators;
-//string autocvar_sv_vote_only_commands;
-bool autocvar_sv_vote_override_mostrecent;
-bool autocvar_sv_vote_singlecount;
-float autocvar_sv_vote_stop;
-float autocvar_sv_vote_timeout;
-float autocvar_sv_vote_wait;
-bool autocvar_sv_vote_gamestart;
-string autocvar_sv_weaponstats_file;
-float autocvar_sv_gibhealth;
-float autocvar_sys_ticrate;
-#define autocvar_timelimit cvar("timelimit")
-#define autocvar_timelimit_override cvar("timelimit_override")
-float autocvar_timelimit_increment;
-float autocvar_timelimit_decrement;
-float autocvar_timelimit_min;
-float autocvar_timelimit_max;
-float autocvar_timelimit_overtime;
-int autocvar_timelimit_overtimes;
-float autocvar_timelimit_suddendeath;
-#define autocvar_utf8_enable cvar("utf8_enable")
-bool autocvar_sv_gameplayfix_gravityunaffectedbyticrate = true;
-bool autocvar_sv_gameplayfix_upwardvelocityclearsongroundflag = true;
-float autocvar_g_trueaim_minrange;
-float autocvar_g_grab_range;
-int autocvar_g_max_info_autoscreenshot;
-bool autocvar_physics_ode;
-float autocvar_g_monsters;
-bool autocvar_g_monsters_edit;
-bool autocvar_g_monsters_sounds;
-float autocvar_g_monsters_think_delay;
-int autocvar_g_monsters_max;
-int autocvar_g_monsters_max_perplayer;
-float autocvar_g_monsters_damageforcescale = 0.8;
-float autocvar_g_monsters_target_range;
-bool autocvar_g_monsters_target_infront;
-float autocvar_g_monsters_target_infront_range = 0.3;
-float autocvar_g_monsters_attack_range;
-int autocvar_g_monsters_score_kill;
-int autocvar_g_monsters_score_spawned;
-bool autocvar_g_monsters_typefrag;
-bool autocvar_g_monsters_owners;
-float autocvar_g_monsters_miniboss_chance;
-float autocvar_g_monsters_miniboss_healthboost;
-float autocvar_g_monsters_drop_time;
-float autocvar_g_monsters_spawnshieldtime;
-bool autocvar_g_monsters_quake_resize = true;
-bool autocvar_g_monsters_teams;
-float autocvar_g_monsters_respawn_delay;
-bool autocvar_g_monsters_respawn;
-float autocvar_g_monsters_armor_blockpercent;
-float autocvar_g_monsters_healthbars;
-bool autocvar_g_monsters_lineofsight = true;
-//bool autocvar_g_monsters_ignoretraces = true;
-bool autocvar_g_nades;
-bool autocvar_g_nades_override_dropweapon = true;
-vector autocvar_g_nades_throw_offset;
-bool autocvar_g_nades_spawn;
-int autocvar_g_nades_spawn_count;
-bool autocvar_g_nades_client_select;
-bool autocvar_g_nades_pickup = true;
-float autocvar_g_nades_pickup_time = 2;
-float autocvar_g_nades_nade_lifetime;
-float autocvar_g_nades_nade_minforce;
-float autocvar_g_nades_nade_maxforce;
-float autocvar_g_nades_nade_health;
-float autocvar_g_nades_nade_refire;
-float autocvar_g_nades_nade_damage;
-float autocvar_g_nades_nade_edgedamage;
-float autocvar_g_nades_nade_radius;
-float autocvar_g_nades_nade_force;
-int autocvar_g_nades_nade_newton_style;
-int autocvar_g_nades_napalm_ball_count;
-float autocvar_g_nades_napalm_ball_spread;
-float autocvar_g_nades_napalm_ball_damage;
-float autocvar_g_nades_napalm_ball_damageforcescale;
-float autocvar_g_nades_napalm_ball_lifetime;
-float autocvar_g_nades_napalm_ball_radius;
-bool autocvar_g_nades_napalm_blast;
-float autocvar_g_nades_napalm_fountain_lifetime;
-float autocvar_g_nades_napalm_fountain_delay;
-float autocvar_g_nades_napalm_fountain_radius;
-float autocvar_g_nades_napalm_fountain_damage;
-float autocvar_g_nades_napalm_fountain_edgedamage;
-float autocvar_g_nades_napalm_burntime;
-bool autocvar_g_nades_napalm_selfdamage;
-int autocvar_g_nades_nade_type;
-int autocvar_g_nades_bonus_type;
-bool autocvar_g_nades_bonus;
-bool autocvar_g_nades_bonus_onstrength;
-bool autocvar_g_nades_bonus_client_select;
-bool autocvar_g_nades_bonus_only;
-int autocvar_g_nades_bonus_max;
-int autocvar_g_nades_bonus_score_max;
-int autocvar_g_nades_bonus_score_time;
-int autocvar_g_nades_bonus_score_time_flagcarrier;
-int autocvar_g_nades_bonus_score_minor;
-int autocvar_g_nades_bonus_score_low;
-int autocvar_g_nades_bonus_score_high;
-int autocvar_g_nades_bonus_score_medium;
-int autocvar_g_nades_bonus_score_spree;
-float autocvar_g_nades_ice_freeze_time;
-float autocvar_g_nades_ice_health;
-bool autocvar_g_nades_ice_explode;
-bool autocvar_g_nades_ice_teamcheck;
-float autocvar_g_nades_heal_time;
-float autocvar_g_nades_heal_rate;
-float autocvar_g_nades_heal_friend;
-float autocvar_g_nades_heal_foe;
-float autocvar_g_nades_entrap_strength = 0.01;
-float autocvar_g_nades_entrap_speed = 0.5;
-float autocvar_g_nades_entrap_radius = 500;
-float autocvar_g_nades_entrap_time = 10;
-float autocvar_g_nades_veil_time = 8;
-float autocvar_g_nades_veil_radius = 300;
-string autocvar_g_nades_pokenade_monster_type;
-float autocvar_g_nades_pokenade_monster_lifetime;
-bool autocvar_g_jump_grunt;
-bool autocvar_g_physics_clientselect;
-string autocvar_g_physics_clientselect_options;
-string autocvar_g_physics_clientselect_default;
-bool autocvar_sv_minigames;
-bool autocvar_sv_minigames_observer;
-float autocvar_sv_player_scale;
-float autocvar_g_rm;
-float autocvar_g_rm_damage;
-float autocvar_g_rm_edgedamage;
-float autocvar_g_rm_force;
-float autocvar_g_rm_radius;
-float autocvar_g_rm_laser;
-float autocvar_g_rm_laser_count;
-float autocvar_g_rm_laser_speed;
-float autocvar_g_rm_laser_spread;
-float autocvar_g_rm_laser_spread_random;
-float autocvar_g_rm_laser_lifetime;
-float autocvar_g_rm_laser_damage;
-float autocvar_g_rm_laser_refire;
-float autocvar_g_rm_laser_rapid;
-float autocvar_g_rm_laser_rapid_refire;
-float autocvar_g_rm_laser_rapid_delay;
-float autocvar_g_rm_laser_radius;
-float autocvar_g_rm_laser_force;
-float autocvar_g_frozen_revive_falldamage;
-int autocvar_g_frozen_revive_falldamage_health;
-bool autocvar_g_frozen_damage_trigger;
-float autocvar_g_frozen_force;
-float autocvar_sv_airaccel_qw;
-float autocvar_sv_airstrafeaccel_qw;
-float autocvar_sv_airspeedlimit_nonqw;
-float autocvar_sv_airaccel_qw_stretchfactor;
-float autocvar_sv_maxairstrafespeed;
-float autocvar_sv_airstrafeaccelerate;
-float autocvar_sv_warsowbunny_turnaccel;
-float autocvar_sv_airaccel_sideways_friction;
-float autocvar_sv_aircontrol;
-float autocvar_sv_aircontrol_power;
-float autocvar_sv_aircontrol_backwards;
-float autocvar_sv_aircontrol_sidewards;
-float autocvar_sv_aircontrol_penalty;
-float autocvar_sv_warsowbunny_airforwardaccel;
-float autocvar_sv_warsowbunny_topspeed;
-float autocvar_sv_warsowbunny_accel;
-float autocvar_sv_warsowbunny_backtosideratio;
-float autocvar_sv_friction;
-float autocvar_sv_accelerate;
-float autocvar_sv_stopspeed;
-float autocvar_sv_airaccelerate;
-float autocvar_sv_airstopaccelerate;
-float autocvar_sv_track_canjump;
-bool autocvar_sv_showspectators;
-bool autocvar_g_weaponswitch_debug;
-bool autocvar_g_weaponswitch_debug_alternate;
-bool autocvar_g_allow_checkpoints;
-bool autocvar_sv_q3defragcompat_changehitbox = false;
-int autocvar_sv_clones;
-bool autocvar_g_footsteps;
-float autocvar_sv_maxidle;
-bool autocvar_sv_maxidle_spectatorsareidle;
-int autocvar_sv_maxidle_slots;
-bool autocvar_sv_maxidle_slots_countbots;
-bool autocvar_sv_autotaunt;
-bool autocvar_g_warmup_allguns;
-bool autocvar_g_warmup_allow_timeout;
-float autocvar_g_weaponspreadfactor;
-float autocvar_g_weaponforcefactor;
-float autocvar_g_weapondamagefactor;
-float autocvar_g_weaponratefactor;
-float autocvar_g_weaponspeedfactor;
-float autocvar_sv_foginterval;
-bool autocvar_sv_ready_restart_repeatable;
-bool autocvar_g_jetpack;
-bool autocvar_sv_taunt;
-bool autocvar_sv_ready_restart;
index 5ee3963cbbe21d00d3d6ac546214da98a0d16a24..44ed3b8db6f4d6fba13d837be78096f9f069b0db 100644 (file)
@@ -5,6 +5,7 @@
 #include <common/weapons/_all.qh>
 #include <common/physics/player.qh>
 
+bool autocvar_g_waypoints_for_items;
 bool bot_waypoints_for_items;
 
 const int WAYPOINTFLAG_GENERATED = BIT(23);
index f6e991770fa00f8ba82bae1b78ae88cfc79c6f7c..7afa5a10c516543ef425e430144471844276a507 100644 (file)
@@ -12,7 +12,6 @@
 #include <lib/warpzone/common.qh>
 #include <lib/warpzone/util_server.qh>
 #include <server/antilag.qh>
-#include <server/autocvars.qh>
 #include <server/bot/default/aim.qh>
 #include <server/bot/default/cvars.qh>
 #include <server/bot/default/havocbot/havocbot.qh>
index 269cd68044fe5902009a8fe610b3e67da8472985..4b3888986afcc1ac72bbda89be1a274c46f3593b 100644 (file)
@@ -61,5 +61,12 @@ bool autocvar_bot_wander_enable;
 bool autocvar_bot_typefrag;
 bool autocvar_g_debug_bot_commands;
 int autocvar_g_waypointeditor_auto;
+#define autocvar_skill cvar("skill")
 float autocvar_skill_auto;
 bool autocvar_waypoint_benchmark;
+int autocvar_bot_number;
+float autocvar_bot_ai_strategyinterval;
+float autocvar_bot_ai_strategyinterval_movingtarget;
+int autocvar_bot_vs_human;
+int autocvar_minplayers;
+int autocvar_minplayers_per_team;
index e9aa1ee12a64213aa9fb8af5feb11347495ba02e..bcaa80dbc8268b6a52a492791ff4c6f0a7e4ea0a 100644 (file)
@@ -1,7 +1,11 @@
 #pragma once
-/*
- * Globals and Fields
- */
+
+bool autocvar_g_waypointeditor;
+bool autocvar_g_waypointeditor_symmetrical;
+bool autocvar_g_waypointeditor_symmetrical_allowload = true;
+vector autocvar_g_waypointeditor_symmetrical_origin;
+int autocvar_g_waypointeditor_symmetrical_order;
+vector autocvar_g_waypointeditor_symmetrical_axis;
 
 // increase by 0.01 when changes require only waypoint relinking
 // increase by 1 when changes require to manually edit waypoints
index 0662a3704f1eeaa0b0ea0a3560477f10c9d3579a..1aca24492069678a7d4f59a0030227a349d96be3 100644 (file)
@@ -1,5 +1,12 @@
 #pragma once
 
+bool autocvar__campaign_testrun;
+int autocvar__campaign_index;
+string autocvar__campaign_name;
+bool autocvar_g_campaign;
+float autocvar_g_campaign_forceteam;
+int autocvar_g_campaign_skill;
+
 // this must be included BEFORE campaign_common.h to make this a memory saving
 #define CAMPAIGN_MAX_ENTRIES 2
 
index 9c30e89a4dcc3d0a24e7bce1f11275c71dbfa252..500d757c02c0a80d82f07b1de0d7f08c35d015df 100644 (file)
@@ -1,5 +1,19 @@
 #pragma once
 
+float autocvar_g_chat_flood_burst;
+float autocvar_g_chat_flood_burst_team;
+float autocvar_g_chat_flood_burst_tell;
+float autocvar_g_chat_flood_lmax;
+float autocvar_g_chat_flood_lmax_team;
+float autocvar_g_chat_flood_lmax_tell;
+bool autocvar_g_chat_flood_notify_flooder;
+float autocvar_g_chat_flood_spl;
+float autocvar_g_chat_flood_spl_team;
+float autocvar_g_chat_flood_spl_tell;
+int autocvar_g_chat_nospectators;
+bool autocvar_g_chat_teamcolors;
+bool autocvar_g_chat_tellprivacy;
+
 const float NUM_NEAREST_ENTITIES = 4;
 entity nearest_entity[NUM_NEAREST_ENTITIES];
 float nearest_length[NUM_NEAREST_ENTITIES];
index 4a730d77f9196a3da6e0be888d2aa9b0ab96cb52..9ab0fade7f7fcd44e3c04ae330d72b6b65a3cf62 100644 (file)
@@ -2,7 +2,10 @@
 
 #include <common/impulses/all.qh>
 
-//float autocvar_sv_cheats; // must... declare... global
+int autocvar_sv_cheats;
+float autocvar_g_grab_range;
+int autocvar_g_max_info_autoscreenshot;
+int autocvar_sv_clones;
 
 float cheatcount_total;
 .float cheatcount;
index d5868c1f4a705eb46945cbec0cae78badfd4785a..8dd73f66c48938e56750d827c0da29e34f1c046d 100644 (file)
@@ -21,6 +21,7 @@
 #include <common/minigames/sv_minigames.qh>
 #include <common/monsters/sv_monsters.qh>
 #include <common/mutators/mutator/instagib/sv_instagib.qh>
+#include <common/mutators/mutator/nades/nades.qh>
 #include <common/mutators/mutator/overkill/oknex.qh>
 #include <common/mutators/mutator/waypoints/all.qh>
 #include <common/net_linked.qh>
@@ -42,6 +43,7 @@
 #include <server/anticheat.qh>
 #include <server/antilag.qh>
 #include <server/bot/api.qh>
+#include <server/bot/default/cvars.qh>
 #include <server/campaign.qh>
 #include <server/chat.qh>
 #include <server/cheats.qh>
@@ -71,6 +73,7 @@
 #include <server/weapons/common.qh>
 #include <server/weapons/hitplot.qh>
 #include <server/weapons/selection.qh>
+#include <server/weapons/tracing.qh>
 #include <server/weapons/weaponsystem.qh>
 #include <server/world.qh>
 
index abda1204aba38bed656a63abf7fd76bfce5a62de..563fdba1b0028350e12d7300207ed7826f4ec841 100644 (file)
@@ -5,6 +5,54 @@
 #include <common/replicate.qh>
 #include <common/sounds/all.qh>
 
+bool autocvar__notarget;
+int autocvar_g_balance_armor_start;
+float autocvar_g_balance_pause_armor_rot_spawn;
+float autocvar_g_balance_pause_fuel_rot_spawn;
+float autocvar_g_balance_pause_health_regen_spawn;
+float autocvar_g_balance_pause_health_rot_spawn;
+bool autocvar_g_botclip_collisions;
+bool autocvar_g_fullbrightplayers;
+bool autocvar_g_playerclip_collisions;
+float autocvar_g_player_alpha;
+float autocvar_g_player_brightness;
+float autocvar_g_player_damageforcescale = 2;
+float autocvar_g_respawn_delay_small;
+int autocvar_g_respawn_delay_small_count;
+float autocvar_g_respawn_delay_large;
+int autocvar_g_respawn_delay_large_count;
+float autocvar_g_respawn_delay_max;
+bool autocvar_g_respawn_delay_forced;
+bool autocvar_g_respawn_ghosts;
+float autocvar_g_respawn_ghosts_alpha = 1;
+float autocvar_g_respawn_ghosts_fadetime = 1.5;
+float autocvar_g_respawn_ghosts_time = 4.5;
+float autocvar_g_respawn_ghosts_speed;
+int autocvar_g_respawn_waves;
+bool autocvar_g_nodepthtestplayers;
+string autocvar_g_mutatormsg;
+float autocvar_sv_foginterval;
+float autocvar_sv_maxidle;
+bool autocvar_sv_maxidle_spectatorsareidle;
+int autocvar_sv_maxidle_slots;
+bool autocvar_sv_maxidle_slots_countbots;
+bool autocvar_g_forced_respawn;
+int autocvar_g_maxplayers;
+float autocvar_g_maxplayers_spectator_blocktime;
+string autocvar_g_xonoticversion;
+float autocvar_gameversion;
+float autocvar_gameversion_min;
+float autocvar_gameversion_max;
+string autocvar_hostname;
+int autocvar_spawn_debug;
+string autocvar_sv_motd;
+int autocvar_sv_name_maxlength = 64;
+bool autocvar_sv_servermodelsonly;
+int autocvar_sv_spectate;
+bool autocvar_sv_teamnagger;
+float autocvar_sv_player_scale;
+bool autocvar_sv_showspectators;
+
 // WEAPONTODO
 .string weaponorder_byimpulse;
 
index 5b26adf9150f155caa4551c6a08e9b0fcdcb56e7..40e33b500312a31f3407ac1f90dc52f6c12c654e 100644 (file)
@@ -1,3 +1,7 @@
+#pragma once
+
+float autocvar_g_balance_kill_delay;
+float autocvar_g_balance_kill_antispam;
 
 // set when showing a kill countdown
 .entity killindicator;
index ae16532ecfb37d77fbbc3e38ec32a814c0cfd6f0..80eb85b56bf85b1cb4e39ee133cd9fb5d36d3da4 100644 (file)
@@ -1,9 +1,15 @@
 #pragma once
 
-// ====================================
-//  Declarations for kick/ban commands
-//  Last updated: December 29th, 2011
-// =====================================
+float autocvar_g_ban_default_bantime;
+float autocvar_g_ban_default_masksize;
+float autocvar_g_ban_sync_interval;
+float autocvar_g_ban_sync_timeout;
+string autocvar_g_ban_sync_trusted_servers;
+bool autocvar_g_ban_sync_trusted_servers_verify;
+string autocvar_g_ban_sync_uri;
+bool autocvar_g_ban_telluser = true;
+string autocvar_g_banned_list;
+bool autocvar_g_banned_list_idmode;
 
 #define GET_BAN_ARG(v, d) if (argc > reason_arg) { if ((v = stof(argv(reason_arg))) != 0) ++reason_arg; else v = d; } else { v = d; }
 #define GET_BAN_REASON(v, d) if (argc > reason_arg) v = substring(command, argv_start_index(reason_arg), strlen(command) - argv_start_index(reason_arg)); else v = d;
index 106da7720b345d3f58aa3ae07ae1689095319b88..ad3685a1f0a549cc03631011531764dfb900cb34 100644 (file)
@@ -18,6 +18,7 @@
 #include <common/vehicles/all.qh>
 #include <lib/warpzone/common.qh>
 #include <server/bot/api.qh>
+#include <server/bot/default/waypoints.qh>
 #include <server/campaign.qh>
 #include <server/chat.qh>
 #include <server/cheats.qh>
index 3f8e4c47af5f31caabf33413712944ff080f037c..f2f72157140916a6e483117cee46eabbab424fc7 100644 (file)
@@ -1,5 +1,10 @@
 #pragma once
 
+float autocvar_sv_clientcommand_antispam_time;
+int autocvar_sv_clientcommand_antispam_count;
+bool autocvar_sv_ready_restart;
+bool autocvar_sv_ready_restart_repeatable;
+
 .float cmd_floodtime;
 .float cmd_floodcount;
 
index e4299039e3da1e8ee2774a559721ed6be70c6580..5dff9f5f5b370ed6bb0424c2a76133d49eb879cf 100644 (file)
@@ -8,6 +8,7 @@
 #include <common/vehicles/all.qh>
 #include <common/weapons/_all.qh>
 #include <lib/warpzone/common.qh>
+#include <server/campaign.qh>
 #include <server/chat.qh>
 #include <server/client.qh>
 #include <server/command/common.qh>
index c9aad4b7971c18634935bdb0d6b4659349c2f4d3..3949b92ce936caef651c1a6d17f223c6c3ad9b78 100644 (file)
@@ -1,5 +1,13 @@
 #pragma once
 
+string autocvar_sv_adminnick;
+bool autocvar_sv_status_privacy;
+bool autocvar_sv_timeout;
+float autocvar_sv_timeout_leadtime;
+float autocvar_sv_timeout_length;
+int autocvar_sv_timeout_number;
+float autocvar_sv_timeout_resumetime;
+
 #include <common/command/_mod.qh>
 REGISTRY(COMMON_COMMANDS, BITS(7))
 REGISTER_REGISTRY(COMMON_COMMANDS)
index 81121cfe89f0891c6ea871192da948f8eb50ca73..d0f882dce312d496ca97d28cd5c041506c78a628 100644 (file)
@@ -14,6 +14,7 @@
 #include <server/command/getreplies.qh>
 #include <server/intermission.qh>
 #include <server/main.qh>
+#include <server/mapvoting.qh>
 #include <server/mutators/_mod.qh>
 #include <server/race.qh>
 #include <server/weapons/selection.qh>
index 67f683cdfd22de7d21c9df6e7596c5f840b6faea..e3347980d40a530169766f39150a720c44984a84 100644 (file)
@@ -11,6 +11,7 @@
 #include <common/util.qh>
 #include <common/weapons/_all.qh>
 #include <server/client.qh>
+#include <server/command/banning.qh>
 #include <server/command/common.qh>
 #include <server/command/vote.qh>
 #include <server/damage.qh>
index 7085ca0e1bc457d992e593e9485a7e516b1e0f77..4dfd9e8575f2abf22c9cdc1e639171ca64988e0e 100644 (file)
@@ -1,9 +1,25 @@
 #pragma once
 
-// ================================================
-//  Declarations for the vote system/vote commands
-//  Last updated: December 14th, 2011
-// ================================================
+bool autocvar_sv_vote_call;
+bool autocvar_sv_vote_change;
+string autocvar_sv_vote_commands;
+int autocvar_sv_vote_limit;
+float autocvar_sv_vote_majority_factor;
+float autocvar_sv_vote_majority_factor_of_voted;
+bool autocvar_sv_vote_master;
+bool autocvar_sv_vote_master_callable;
+string autocvar_sv_vote_master_commands;
+string autocvar_sv_vote_master_password;
+int autocvar_sv_vote_master_playerlimit;
+bool autocvar_sv_vote_no_stops_vote;
+int autocvar_sv_vote_nospectators;
+//string autocvar_sv_vote_only_commands;
+bool autocvar_sv_vote_override_mostrecent;
+bool autocvar_sv_vote_singlecount;
+float autocvar_sv_vote_stop;
+float autocvar_sv_vote_timeout;
+float autocvar_sv_vote_wait;
+bool autocvar_sv_vote_gamestart;
 
 // definitions for command selection between progs
 const float VC_ASGNMNT_BOTH = 1;
index 20e4879d9a37596290a2a24258a7d69db623e21a..a9b90abadc44b1ed9bf0ca7d8d0b0d27cc9f5888 100644 (file)
@@ -1,5 +1,8 @@
 #pragma once
 
+bool autocvar_sv_q3acompat_machineshotgunswap;
+bool autocvar_sv_q3defragcompat_changehitbox = false;
+
 bool DoesQ3ARemoveThisEntity(entity this);
 
 .int fragsfilter_cnt;
index fd2e9f2a600de9fb44f971eebe963da4f62ff1b9..942f7e8de3e498d0d533c8433f2217aeabbe9a45 100644 (file)
@@ -36,6 +36,7 @@
 #include <server/weapons/accuracy.qh>
 #include <server/weapons/csqcprojectile.qh>
 #include <server/weapons/selection.qh>
+#include <server/weapons/weaponsystem.qh>
 #include <server/world.qh>
 
 void UpdateFrags(entity player, int f)
index 68ea7a87381708eb8b61d43d1834e50563d52227..7284f8c19f53f1250c1792fb015fe428089b5408 100644 (file)
@@ -2,6 +2,34 @@
 
 #include <common/weapons/_all.qh>
 
+bool autocvar_g_throughfloor_debug;
+float autocvar_g_throughfloor_damage;
+float autocvar_g_throughfloor_force;
+float autocvar_g_throughfloor_damage_max_stddev;
+float autocvar_g_throughfloor_force_max_stddev;
+float autocvar_g_throughfloor_min_steps_player;
+float autocvar_g_throughfloor_max_steps_player;
+float autocvar_g_throughfloor_min_steps_other;
+float autocvar_g_throughfloor_max_steps_other;
+float autocvar_g_mirrordamage;
+bool autocvar_g_mirrordamage_virtual;
+bool autocvar_g_mirrordamage_onlyweapons;
+float autocvar_g_maxpushtime;
+float autocvar_g_balance_damagepush_speedfactor;
+int autocvar_g_balance_firetransfer_damage;
+int autocvar_g_balance_firetransfer_time;
+float autocvar_g_balance_armor_blockpercent;
+float autocvar_g_teamdamage_resetspeed;
+float autocvar_g_teamdamage_threshold;
+float autocvar_g_balance_selfdamagepercent;
+float autocvar_g_friendlyfire;
+float autocvar_g_friendlyfire_virtual;
+float autocvar_g_friendlyfire_virtual_force;
+float autocvar_g_frozen_revive_falldamage;
+int autocvar_g_frozen_revive_falldamage_health;
+bool autocvar_g_frozen_damage_trigger;
+float autocvar_g_frozen_force;
+
 .void(entity this, entity inflictor, entity attacker, float damage, int deathtype, .entity weaponentity, vector hitloc, vector force) event_damage;
 
 .bool(entity targ, entity inflictor, float amount, float limit) event_heal;
index a3e747cab6419a307034b227ca63bbbaf421d6f1..f89cf18a0335c284f531de6a385e0bc5ca346a59 100644 (file)
@@ -1,6 +1,5 @@
 #include "gamelog.qh"
 
-#include <server/autocvars.qh>
 #include <server/main.qh>
 
 string GameLog_ProcessIP(string s)
index 2fac52e47c653b60d8c765f2c270d77b472f7534..f96679b819d62eb36629bbaf9e4f9916320205cc 100644 (file)
@@ -1,5 +1,14 @@
 #pragma once
 
+bool autocvar_sv_eventlog;
+bool autocvar_sv_eventlog_console;
+bool autocvar_sv_eventlog_files;
+int autocvar_sv_eventlog_files_counter;
+string autocvar_sv_eventlog_files_nameprefix;
+string autocvar_sv_eventlog_files_namesuffix;
+bool autocvar_sv_eventlog_files_timestamps;
+bool autocvar_sv_eventlog_ipv6_delimiter = false;
+
 bool logfile_open;
 float logfile;
 
index 23ec8cf7f849eb34731da399d21a8df45d76915a..1b0729bd05ffe5d9bc7b53ef865bf0c06ebbc92f 100644 (file)
@@ -1,5 +1,20 @@
 #pragma once
 
+float autocvar_g_balance_grapplehook_airfriction;
+float autocvar_g_balance_grapplehook_force_rubber;
+float autocvar_g_balance_grapplehook_force_rubber_overstretch;
+float autocvar_g_balance_grapplehook_health;
+float autocvar_g_balance_grapplehook_length_min;
+float autocvar_g_balance_grapplehook_speed_fly;
+float autocvar_g_balance_grapplehook_speed_pull;
+float autocvar_g_balance_grapplehook_stretch;
+float autocvar_g_balance_grapplehook_damagedbycontents;
+float autocvar_g_balance_grapplehook_refire;
+int autocvar_g_balance_grapplehook_pull_frozen;
+float autocvar_g_balance_grapplehook_nade_time;
+bool autocvar_g_balance_grapplehook_gravity;
+bool autocvar_g_balance_grapplehook_crouchslide;
+
 // Wazat's grappling hook
 .entity hook;
 void GrapplingHookThink(entity this);
index fe2e0dea03a385508f9f96e7f2536e7d6fb280a9..001692cf9d2b3f40e5a438b23d6d3c11cfb823a8 100644 (file)
@@ -3,6 +3,7 @@
 #include <common/mapinfo.qh>
 #include <common/util.qh>
 #include <server/bot/api.qh>
+#include <server/bot/default/cvars.qh>
 #include <server/campaign.qh>
 #include <server/client.qh>
 #include <server/mapvoting.qh>
index 03458eb797041aa3c79e03e0da3cb1265ac43ccd..b0d788ddc1014151b7178828a49071644a047560 100644 (file)
@@ -1,5 +1,11 @@
 #pragma once
 
+bool autocvar_lastlevel;
+string autocvar_nextmap;
+bool autocvar_samelevel;
+bool autocvar_sv_autoscreenshot;
+string autocvar_sv_intermission_cdtrack;
+
 float intermission_running;
 float intermission_exittime;
 float alreadychangedlevel;
index d8e055daff87f4df388187395eb3a1b0041e6e57..b9ad08873ee005a5be54b9413a4adda6062fcb13 100644 (file)
@@ -4,7 +4,6 @@
 #include <common/stats.qh>
 #include <common/util.qh>
 #include <common/weapons/_all.qh>
-#include <server/autocvars.qh>
 #include <server/command/banning.qh>
 #include <server/main.qh>
 
index 22cb54abc1d3effee04dd6f993d08e6a614e4504..36932f0cef3f490a3bbff2f85e09033e49e25e8e 100644 (file)
@@ -2,6 +2,7 @@
 
 #include <common/constants.qh>
 #include <common/deathtypes/all.qh>
+#include <common/gamemodes/gamemode/cts/cts.qh>
 #include <common/items/_mod.qh>
 #include <common/mapobjects/subs.qh>
 #include <common/mapobjects/triggers.qh>
index 49fea39d092e0bb74b2336acaba73e99cba57921..7fc9f0fa3154d384e449ef6d34decac85fb19ef9 100644 (file)
@@ -2,6 +2,15 @@
 
 #include <common/sounds/sound.qh>
 
+float autocvar_g_balance_superweapons_time;
+bool autocvar_g_fullbrightitems;
+int autocvar_g_powerups;
+float autocvar_g_items_mindist;
+float autocvar_g_items_maxdist;
+int autocvar_g_pickup_items;
+bool autocvar_g_nodepthtestitems;
+#define autocvar_g_weapon_stay cvar("g_weapon_stay")
+
 void StartItem(entity this, entity a);
 .int item_group;
 .int item_group_count;
index 2fde70481f6839c5199a9ba53565025b56e786b6..0685ca71f37d6a6bff68b5b11ddbe4402d816f99 100644 (file)
@@ -1,5 +1,21 @@
 #pragma once
 
+float autocvar_g_balance_contents_damagerate;
+float autocvar_g_balance_contents_drowndelay;
+int autocvar_g_balance_contents_playerdamage_drowning;
+int autocvar_g_balance_contents_playerdamage_lava;
+int autocvar_g_balance_contents_playerdamage_lava_burn; // 10 is a nice value
+float autocvar_g_balance_contents_playerdamage_lava_burn_time = 2.5; // note: damage is total across this time (not by dps)
+int autocvar_g_balance_contents_playerdamage_slime;
+int autocvar_g_balance_contents_projectiledamage;
+float autocvar_g_balance_falldamage_deadminspeed;
+float autocvar_g_balance_falldamage_factor;
+int autocvar_g_balance_falldamage_maxdamage;
+float autocvar_g_balance_falldamage_minspeed;
+bool autocvar_g_balance_falldamage_onlyvertical;
+#define autocvar_slowmo cvar("slowmo")
+float autocvar_sys_ticrate;
+
 /** print(), but only print if the server is not local */
 void dedicated_print(string input);
 
index 31d89f42c6edf851ec13f179ffc12ce87ebbe582..7bc8a84eabcc48a6995271ed59f1a221fe2933ac 100644 (file)
@@ -1,5 +1,30 @@
 #pragma once
 
+#define autocvar_g_maplist cvar_string("g_maplist")
+bool autocvar_g_maplist_check_waypoints;
+int autocvar_g_maplist_index;
+string autocvar_g_maplist_mostrecent;
+int autocvar_g_maplist_mostrecent_count;
+bool autocvar_g_maplist_selectrandom;
+float autocvar_g_maplist_shuffle;
+#define autocvar_g_maplist_votable cvar("g_maplist_votable")
+bool autocvar_g_maplist_votable_abstain;
+float autocvar_g_maplist_votable_keeptwotime;
+bool autocvar_g_maplist_votable_nodetail;
+string autocvar_g_maplist_votable_screenshot_dir;
+bool autocvar_g_maplist_votable_suggestions;
+bool autocvar_g_maplist_votable_suggestions_override_mostrecent;
+float autocvar_g_maplist_votable_timeout;
+bool autocvar_g_maplist_ignore_sizes;
+bool autocvar_g_maplist_sizes_count_maxplayers = true;
+bool autocvar_g_maplist_sizes_count_bots = true;
+int autocvar_rescan_pending;
+bool autocvar_sv_vote_gametype;
+float autocvar_sv_vote_gametype_timeout;
+string autocvar_sv_vote_gametype_options;
+float autocvar_sv_vote_gametype_keeptwotime;
+bool autocvar_sv_vote_gametype_default_current;
+
 // definitions for functions used outside mapvoting.qc
 void MapVote_Start();
 void MapVote_Spawn();
index b5fee52d5324277a9130edea8571fc79d0fdad08..fa0818283aa55273a42b60e7bbd215e75d856b99 100644 (file)
@@ -551,6 +551,8 @@ void PlayerDamage(entity this, entity inflictor, entity attacker, float damage,
                UNSET_ONGROUND(this);
                // dying animation
                this.deadflag = DEAD_DYING;
+               // don't play teleportation sounds
+               this.teleportable = TELEPORT_SIMPLE;
 
                STAT(MOVEVARS_SPECIALCOMMAND, this) = false; // sweet release
 
index 523a573a9d69527a80063a85b1e571c668c76de8..c22ea86463e3b10d46d6727fd83dd53e29d58a9b 100644 (file)
@@ -1,5 +1,23 @@
 #pragma once
 
+float autocvar_g_spawnshieldtime;
+float autocvar_g_spawnshield_blockdamage;
+bool autocvar_sv_precacheplayermodels;
+bool autocvar_sv_defaultcharacter;
+bool autocvar_sv_defaultcharacterskin;
+int autocvar_sv_defaultplayerskin_blue;
+int autocvar_sv_defaultplayerskin_pink;
+int autocvar_sv_defaultplayerskin_red;
+int autocvar_sv_defaultplayerskin_yellow;
+string autocvar_sv_defaultplayercolors;
+string autocvar_sv_defaultplayermodel;
+string autocvar_sv_defaultplayermodel_blue;
+string autocvar_sv_defaultplayermodel_pink;
+string autocvar_sv_defaultplayermodel_red;
+string autocvar_sv_defaultplayermodel_yellow;
+int autocvar_sv_defaultplayerskin;
+float autocvar_sv_gibhealth;
+
 .entity pusher;
 .float pushltime;
 .bool istypefrag;
index 20a2bd930c6f23b4e40b76159943f9fb6d12d24f..bdd15f049b392ca5bab185ee983b3b18d33a998d 100644 (file)
@@ -1,5 +1,8 @@
 #pragma once
 
+float autocvar_g_balance_portal_health;
+float autocvar_g_balance_portal_lifetime;
+
 .float portal_id;
 .entity portal_in, portal_out;
 
index 9dd37a89e1f8f9daa7eb53c93507987fab61f9f9..0bef0b59a66033d0f5fe436cbef7aad4f76393b7 100644 (file)
@@ -1,5 +1,7 @@
 #pragma once
 
+bool autocvar_g_allow_checkpoints;
+
 .string stored_netname; // TODO: store this information independently of race-based gamemodes
 
 float race_teams;
index cc301130ef2cf3c7285093c90135639de36291e5..e0b8995f1520ad272e9bc9b82fe2eaa756c983a1 100644 (file)
@@ -5,7 +5,6 @@
 /// \author Lyberta
 /// \copyright GNU GPLv2 or any later version.
 
-#include <server/autocvars.qh>
 #include <server/mutators/_mod.qh>
 #include <server/world.qh>
 
index c228b6ec4c04b3512fa3d0190a99861d486d8c44..05cb602c37b803a21360a5ad06440738be3bd3bd 100644 (file)
@@ -7,6 +7,34 @@
 
 #include <common/resources.qh>
 
+// TODO: split resources into their own files, registry based
+float autocvar_g_balance_health_limit;
+int autocvar_g_balance_armor_limit;
+float autocvar_g_balance_fuel_limit;
+float autocvar_g_balance_armor_regen;
+float autocvar_g_balance_armor_regenlinear;
+int autocvar_g_balance_armor_regenstable;
+float autocvar_g_balance_armor_rot;
+float autocvar_g_balance_armor_rotlinear;
+int autocvar_g_balance_armor_rotstable;
+float autocvar_g_balance_fuel_regen;
+float autocvar_g_balance_fuel_regenlinear;
+int autocvar_g_balance_fuel_regenstable;
+float autocvar_g_balance_fuel_rot;
+float autocvar_g_balance_fuel_rotlinear;
+int autocvar_g_balance_fuel_rotstable;
+float autocvar_g_balance_health_regen;
+float autocvar_g_balance_health_regenlinear;
+float autocvar_g_balance_health_regenstable;
+float autocvar_g_balance_health_rot;
+float autocvar_g_balance_health_rotlinear;
+float autocvar_g_balance_health_rotstable;
+float autocvar_g_balance_pause_armor_rot;
+float autocvar_g_balance_pause_fuel_regen;
+float autocvar_g_balance_pause_fuel_rot;
+float autocvar_g_balance_pause_health_regen;
+float autocvar_g_balance_pause_health_rot;
+
 // ============================ Public API ====================================
 
 /// \brief Returns the maximum amount of the given resource.
index eefd06fe3fe229240ce7a8ce2fb641ff09c72510..3113e8a965f9b56ac52974ae3543f3e81e1a0190 100644 (file)
@@ -24,7 +24,7 @@ var .float teamscores_primary;
 float scores_flags_primary;
 float teamscores_flags_primary;
 
-vector ScoreField_Compare(entity t1, entity t2, .float field, float fieldflags, vector previous, float strict) // returns: cmp value, best prio
+vector ScoreField_Compare(entity t1, entity t2, .float field, float fieldflags, vector previous, bool strict) // returns: cmp value, best prio
 {
        if(!strict && !(fieldflags & SFL_SORT_PRIO_MASK)) // column does not sort
                return previous;
@@ -139,7 +139,7 @@ float TeamScore_Add(entity player, float scorefield, float score)
        return TeamScore_AddToTeam(player.team, scorefield, score);
 }
 
-float TeamScore_Compare(entity t1, entity t2, float strict)
+float TeamScore_Compare(entity t1, entity t2, bool strict)
 {
        if(!t1 || !t2) return (!t2) - !t1;
 
@@ -396,7 +396,7 @@ float PlayerTeamScore_Add(entity player, PlayerScoreField pscorefield, float tsc
        return r;
 }
 
-float PlayerScore_Compare(entity t1, entity t2, float strict)
+float PlayerScore_Compare(entity t1, entity t2, bool strict)
 {
        if(!t1 || !t2) return (!t2) - !t1;
 
@@ -492,7 +492,7 @@ void WinningConditionHelper(entity this)
                secondscorekeeper = NULL;
                FOREACH_CLIENT(IS_PLAYER(it), {
                        sk = CS(it).scorekeeper;
-                       c = PlayerScore_Compare(winnerscorekeeper, sk, 1);
+                       c = PlayerScore_Compare(winnerscorekeeper, sk, true);
                        if(c < 0)
                        {
                                WinningConditionHelper_second = WinningConditionHelper_winner;
@@ -502,7 +502,7 @@ void WinningConditionHelper(entity this)
                        }
                        else
                        {
-                               c = PlayerScore_Compare(secondscorekeeper, sk, 1);
+                               c = PlayerScore_Compare(secondscorekeeper, sk, true);
                                if(c < 0)
                                {
                                        WinningConditionHelper_second = it;
@@ -511,7 +511,7 @@ void WinningConditionHelper(entity this)
                        }
                });
 
-               WinningConditionHelper_equality = (PlayerScore_Compare(winnerscorekeeper, secondscorekeeper, 0) == 0);
+               WinningConditionHelper_equality = (PlayerScore_Compare(winnerscorekeeper, secondscorekeeper, false) == 0);
                if(WinningConditionHelper_equality)
                        WinningConditionHelper_winner = WinningConditionHelper_second = NULL;
 
@@ -699,7 +699,7 @@ string GetTeamScoreString(float tm, float shortString)
        return out;
 }
 
-float PlayerTeamScore_Compare(entity p1, entity p2, float teams, float strict)
+float PlayerTeamScore_Compare(entity p1, entity p2, float teams, bool strict)
 {
        if(teams && teamscores_entities_count)
        {
@@ -719,7 +719,7 @@ float PlayerTeamScore_Compare(entity p1, entity p2, float teams, float strict)
        return PlayerScore_Compare(CS(p1).scorekeeper, CS(p2).scorekeeper, strict);
 }
 
-entity PlayerScore_Sort(.float field, float teams, float strict, float nospectators)
+entity PlayerScore_Sort(.float field, int teams, bool strict, bool nospectators)
 {
        entity p, plist, pprev, pbest, pbestprev, pfirst, plast;
        float i, j;
@@ -763,7 +763,7 @@ entity PlayerScore_Sort(.float field, float teams, float strict, float nospectat
                pbest.chain = NULL;
 
                ++i;
-               if(!plast || PlayerTeamScore_Compare(plast, pbest, teams, 0))
+               if(!plast || PlayerTeamScore_Compare(plast, pbest, teams, false))
                        j = i;
 
                pbest.(field) = j;
@@ -910,7 +910,7 @@ void Score_NicePrint(entity to)
     });
        w = bound(6, floor(SCORESWIDTH / t - 1), 9);
 
-       p = PlayerScore_Sort(score_dummyfield, 1, 1, 0);
+       p = PlayerScore_Sort(score_dummyfield, 1, true, false);
        t = -1;
 
        if(!teamscores_entities_count)
index ad406196635a55b1ecf60667d653eba8a21c27bc..2287815f5acd2e43fc8c7b24d443344a83b28040 100644 (file)
@@ -2,6 +2,8 @@
 
 #include <common/scores.qh>
 
+bool autocvar_g_full_getstatus_responses;
+
 entity scores_initialized; // non-NULL when scores labels/rules have been set
 .float scoreboard_pos;
 
@@ -136,4 +138,4 @@ string GetTeamScoreString(float tm, float shortString);
  * strict: return a strict ordering
  * nospectators: exclude spectators
  */
-entity PlayerScore_Sort(.float field, float teams, float strict, float nospectators);
+entity PlayerScore_Sort(.float field, int teams, bool strict, bool nospectators);
index 39b5492c5e2aab8cfad6b48f0655d0abf4a83139..d9707a1676677d788c6d18013abb947bcb370dfd 100644 (file)
@@ -1,5 +1,11 @@
 #pragma once
 
+bool autocvar_g_spawn_alloweffects;
+float autocvar_g_spawn_furthest;
+bool autocvar_g_spawn_useallspawns;
+bool autocvar_g_spawnpoints_auto_move_out_of_solid;
+float autocvar_r_showbboxes; // engine cvar
+
 // spawnpoint prios
 const int SPAWN_PRIO_NEAR_TEAMMATE_FOUND = 200;
 const int SPAWN_PRIO_NEAR_TEAMMATE_SAMETEAM = 100;
index 2e293bac8b6067684422ff0d4025dbe47e69c114..43d4d2461fbb141585102ca9735f9e071b9b6339 100644 (file)
@@ -4,6 +4,8 @@
 #include <common/gamemodes/_mod.qh>
 #include <common/teams.qh>
 #include <server/bot/api.qh>
+#include <server/bot/default/cvars.qh>
+#include <server/campaign.qh>
 #include <server/client.qh>
 #include <server/command/vote.qh>
 #include <server/damage.qh>
index 33f9d02d7e6b01da87c6dd86e6217b3ab546aa95..1b1562976b6cea4a38906b07ca896afe86c556ce 100644 (file)
@@ -8,6 +8,8 @@ bool autocvar_teamplay_lockonrestart;
 bool autocvar_g_balance_teams;
 bool autocvar_g_balance_teams_prevent_imbalance;
 
+string autocvar_g_forced_team_otherwise;
+
 bool lockteams;
 
 // ========================== Global teams API ================================
index 2dbcee7ada23bb84dde7b4b5ca78f932c52bb2de..cf941aa54037bf7cbd654b0729c634ec193f0fa8 100644 (file)
@@ -5,8 +5,8 @@
 #include <common/physics/player.qh>
 #include <common/vehicles/all.qh>
 #include <common/weapons/_all.qh>
-#include <server/autocvars.qh>
 #include <server/client.qh>
 #include <server/command/_mod.qh>
+#include <server/player.qh>
 #include <server/weapons/common.qh>
 #include <server/weapons/selection.qh>
index 396de1bdb36be71b066c106dac689d75e8bcb321..6005813fee1710ef05f9dd72354f2c7c2a4bcc2b 100644 (file)
@@ -3,6 +3,8 @@
 #include <common/weapons/_all.qh>
 #include <common/stats.qh>
 
+float autocvar_sv_accuracy_data_share = 1;
+
 .bool cvar_cl_accuracy_data_share;
 REPLICATE(cvar_cl_accuracy_data_share, bool, "cl_accuracy_data_share");
 .bool cvar_cl_accuracy_data_receive;
index 77f707d0ac233c4533017cc6d98bba74b701356d..1bf9261f79458f0d57f4d766f16ccf61bede7856 100644 (file)
@@ -1,5 +1,10 @@
 #pragma once
 
+int autocvar_g_projectiles_damage;
+bool autocvar_g_projectiles_keep_owner;
+float autocvar_sv_strengthsound_antispam_refire_threshold;
+float autocvar_sv_strengthsound_antispam_time;
+
 bool W_DualWielding(entity player);
 void W_GiveWeapon (entity e, float wep);
 .float prevstrengthsound;
index e9686783569db5945679959b9a50cc88c1ac9269..90bdc561e1293ca734b4b8edf86ddae33248cc1e 100644 (file)
@@ -1,5 +1,8 @@
 #pragma once
 
+bool autocvar_g_hitplots;
+string autocvar_g_hitplots_individuals;
+
 .float hitplotfh;
 
 void W_HitPlotAnalysis(entity player, entity wep, vector screenforward, vector screenright, vector screenup);
index 01c05d3fb945ca1bdc835c0a512f42ee510e2cad..363b569efdd8f23911a313eb9050cf206d82c691 100644 (file)
@@ -3,6 +3,10 @@
 #include <common/weapons/_all.qh>
 #include <common/stats.qh>
 
+int autocvar_g_showweaponspawns;
+bool autocvar_g_weaponswitch_debug;
+bool autocvar_g_weaponswitch_debug_alternate;
+
 .int selectweapon; // last selected weapon of the player
 
 .WepSet dual_weapons;
index 22adc649b2e2504300d1d8bf3f388fb7e9c0a521..b3c7df645e26c247e6332b23987b7b09ae683fd4 100644 (file)
@@ -3,6 +3,8 @@
 #include <common/weapons/_all.qh>
 #include <common/stats.qh>
 
+bool autocvar_g_weapon_throwable;
+
 .float savenextthink;
 void thrown_wep_think(entity this);
 
index 9c5a77c8d5b31d14e1f7e4471c9d4cbf8b50b245..94b3be212e3ec472932c4d666f5716843fb11eff 100644 (file)
@@ -3,6 +3,18 @@
 #include <common/weapons/_all.qh>
 #include <common/stats.qh>
 
+float autocvar_g_ballistics_density_corpse;
+float autocvar_g_ballistics_density_player;
+float autocvar_g_ballistics_mindistance;
+bool autocvar_g_ballistics_penetrate_clips = true;
+float autocvar_g_ballistics_solidpenetration_exponent = 1;
+int autocvar_g_projectiles_newton_style;
+float autocvar_g_projectiles_newton_style_2_maxfactor;
+float autocvar_g_projectiles_newton_style_2_minfactor;
+int autocvar_g_projectiles_spread_style;
+bool autocvar_g_norecoil;
+float autocvar_g_trueaim_minrange;
+
 vector w_shotorg;
 vector w_shotdir;
 vector w_shotend;
index f031223e78304f3e5540c4855b18e638e981e3e6..b67399ee7e0f584d5dcc70c459a0e732fa9b432b 100644 (file)
@@ -1,5 +1,7 @@
 #pragma once
 
+string autocvar_sv_weaponstats_file;
+
 float weaponstats_buffer;
 
 void WeaponStats_Init();
index 284c1efc62443bbc1db8e3dab0791edcf0a956df..5291f98ddd7f6d5d8e21e80c5f99778808f8bfa9 100644 (file)
@@ -2,6 +2,12 @@
 
 #include <common/weapons/all.qh>
 
+float autocvar_g_weaponspreadfactor;
+float autocvar_g_weaponforcefactor;
+float autocvar_g_weapondamagefactor;
+float autocvar_g_weaponratefactor;
+float autocvar_g_weaponspeedfactor;
+
 #define INDEPENDENT_ATTACK_FINISHED 1
 
 // there is 2 weapon tics that can run in one server frame
index 0aed2e5078ca3f0f19510e723df3b07451c84d84..5531d223f72c6b226af5bb20633e5ca911671208 100644 (file)
@@ -37,6 +37,7 @@
 #include <server/hook.qh>
 #include <server/intermission.qh>
 #include <server/ipban.qh>
+#include <server/items/items.qh>
 #include <server/main.qh>
 #include <server/mapvoting.qh>
 #include <server/mutators/_mod.qh>
index 7448c0847ed3dc710ff34691e5612c5abe34cc75..4141c99e29182a49daff6c1678b52dadad704c3d 100644 (file)
@@ -2,6 +2,31 @@
 
 #include <common/weapons/_all.qh>
 
+bool autocvar__sv_init;
+bool autocvar_g_use_ammunition;
+bool autocvar_g_jetpack;
+bool autocvar_g_warmup_allguns;
+bool autocvar_g_warmup_allow_timeout;
+#define autocvar_g_weaponarena cvar_string("g_weaponarena")
+string autocvar_quit_and_redirect;
+float autocvar_quit_and_redirect_timer;
+bool autocvar_quit_when_empty;
+string autocvar_sessionid;
+bool autocvar_sv_curl_serverpackages_auto;
+bool autocvar_sv_db_saveasdump;
+bool autocvar_sv_logscores_bots;
+bool autocvar_sv_logscores_console;
+bool autocvar_sv_logscores_file;
+string autocvar_sv_logscores_filename;
+float autocvar_sv_mapchange_delay;
+float autocvar_timelimit_increment;
+float autocvar_timelimit_decrement;
+float autocvar_timelimit_min;
+float autocvar_timelimit_max;
+float autocvar_timelimit_overtime;
+int autocvar_timelimit_overtimes;
+float autocvar_timelimit_suddendeath;
+
 float checkrules_equality;
 float checkrules_suddendeathwarning;
 float checkrules_suddendeathend;