- wget -O data/maps/stormkeep.waypoints https://gitlab.com/xonotic/xonotic-maps.pk3dir/raw/master/maps/stormkeep.waypoints\r
- wget -O data/maps/stormkeep.waypoints.cache https://gitlab.com/xonotic/xonotic-maps.pk3dir/raw/master/maps/stormkeep.waypoints.cache\r
- make\r
- - EXPECT=7b55642e475a26f6fb397093e6f8fe81\r
+ - EXPECT=5d093940aa7306533fdcf8f12579b316\r
- HASH=$(${ENGINE} -noconfig -nohome +timestamps 1 +exec serverbench.cfg\r
| tee /dev/stderr\r
| sed -e 's,^\[[^]]*\] ,,'\r
# NOTE: The generated docs are incomplete - they don't contain code behind SVQC CSQC MENUQC GAMEQC ifdefs.\r
# With them added to PREDEFINED, it would take over half an hour to generate the docs and even then\r
# they might not be complete. Doxygen doesn't handle #elif and might not understand some QC definitions.\r
-doxygen: # rename to 'pages' when gitlab.com allows pages to exceed 100MiB\r
- before_script:\r
- - ln -s $PWD data/xonotic-data.pk3dir # is this needed?\r
- - apt-get update\r
- - apt-get -y install doxygen graphviz\r
- stage: deploy\r
- script:\r
- - cd qcsrc && doxygen\r
- - mv html ../public\r
- - mkdir -p ~/.ssh\r
- - for i in {0..0}; do eval $(printf "echo \$id_rsa_%02d\n" $i) >> ~/.ssh/id_rsa_base64; done\r
- - base64 --decode ~/.ssh/id_rsa_base64 > ~/.ssh/id_rsa\r
- - chmod 600 ~/.ssh/id_rsa\r
- - echo -e "Host *\n\tStrictHostKeyChecking no\n\tLogLevel ERROR\n" >> ~/.ssh/config\r
- - git config --global user.name "Gitlab CI"\r
- - git config --global user.email "<>"\r
- - git clone --single-branch --depth 1 ${DEPLOY_HOST}:${DEPLOY_REPO} ~/deploy_\r
- - mkdir ~/deploy && mv ~/deploy_/.git ~/deploy && rm -r ~/deploy_\r
- - cp -r ../public/* ~/deploy\r
- - cd ~/deploy && git add -A . && git commit -m "Deploy ${CI_BUILD_REF}" && git push origin gh-pages\r
- artifacts:\r
- paths:\r
- - public\r
- only:\r
- - master\r
+#doxygen: # rename to 'pages' when gitlab.com allows pages to exceed 100MiB\r
+# before_script:\r
+# - ln -s $PWD data/xonotic-data.pk3dir # is this needed?\r
+# - apt-get update\r
+# - apt-get -y install doxygen graphviz\r
+# stage: deploy\r
+# script:\r
+# - cd qcsrc && doxygen\r
+# - mv html ../public\r
+# - mkdir -p ~/.ssh\r
+# - for i in {0..0}; do eval $(printf "echo \$id_rsa_%02d\n" $i) >> ~/.ssh/id_rsa_base64; done\r
+# - base64 --decode ~/.ssh/id_rsa_base64 > ~/.ssh/id_rsa\r
+# - chmod 600 ~/.ssh/id_rsa\r
+# - echo -e "Host *\n\tStrictHostKeyChecking no\n\tLogLevel ERROR\n" >> ~/.ssh/config\r
+# - git config --global user.name "Gitlab CI"\r
+# - git config --global user.email "<>"\r
+# - git clone --single-branch --depth 1 ${DEPLOY_HOST}:${DEPLOY_REPO} ~/deploy_\r
+# - mkdir ~/deploy && mv ~/deploy_/.git ~/deploy && rm -r ~/deploy_\r
+# - cp -r ../public/* ~/deploy\r
+# - cd ~/deploy && git add -A . && git commit -m "Deploy ${CI_BUILD_REF}" && git push origin gh-pages\r
+# artifacts:\r
+# paths:\r
+# - public\r
+# only:\r
+# - master\r
-Mon Mar 7 07:23:10 CET 2022
+Thu Mar 17 07:23:07 CET 2022
set g_balance_powerup_invincible_time 30
set g_balance_powerup_invisibility_alpha 0.15
set g_balance_powerup_invisibility_time 30
-set g_balance_powerup_speed_attackrate 0.8
-set g_balance_powerup_speed_highspeed 1.5
-set g_balance_powerup_speed_time 30
+set g_balance_powerup_speed_attackrate 0.7692307692 // 1/1.3
+set g_balance_powerup_speed_highspeed 1.3
+set g_balance_powerup_speed_time 30 // q3 haste lasts 30 seconds unless count field set otherwise
set g_balance_powerup_strength_damage 3
set g_balance_powerup_strength_force 3
set g_balance_powerup_strength_time 30
bind F7 menu_showsandboxtools
bind F8 "quickmenu"
-bind F9 "cl_cmd hud minigame"
// movement
bind w +forward
"Project-Id-Version: Xonotic\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-03-06 07:22+0100\n"
-"PO-Revision-Date: 2022-03-06 06:22+0000\n"
-"Last-Translator: divVerent <divVerent@xonotic.org>\n"
+"PO-Revision-Date: 2013-09-12 16:53+0000\n"
+"Last-Translator: Ximielga <dorian@openmailbox.org>, 2014\n"
"Language-Team: Asturian (http://www.transifex.com/team-xonotic/xonotic/"
"language/ast/)\n"
"Language: ast\n"
"Project-Id-Version: Xonotic\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-03-06 07:22+0100\n"
-"PO-Revision-Date: 2022-03-06 06:22+0000\n"
-"Last-Translator: divVerent <divVerent@xonotic.org>\n"
+"PO-Revision-Date: 2013-09-12 16:53+0000\n"
+"Last-Translator: , 2013-2014, 2015\n"
"Language-Team: Belarusian (http://www.transifex.com/team-xonotic/xonotic/"
"language/be/)\n"
"Language: be\n"
"Project-Id-Version: Xonotic\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-03-06 07:22+0100\n"
-"PO-Revision-Date: 2022-03-06 06:22+0000\n"
-"Last-Translator: divVerent <divVerent@xonotic.org>\n"
+"PO-Revision-Date: 2013-09-12 16:53+0000\n"
+"Last-Translator: ubone <van_ds_ff@mail.bg>, 2016\n"
"Language-Team: Bulgarian (http://www.transifex.com/team-xonotic/xonotic/"
"language/bg/)\n"
"Language: bg\n"
"Project-Id-Version: Xonotic\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-03-06 07:22+0100\n"
-"PO-Revision-Date: 2022-03-06 06:22+0000\n"
-"Last-Translator: divVerent <divVerent@xonotic.org>\n"
+"PO-Revision-Date: 2013-09-12 16:53+0000\n"
+"Last-Translator: Roi Asher Gerszkoviez <gerszkoviez@gmail.com>, 2017\n"
"Language-Team: Catalan (http://www.transifex.com/team-xonotic/xonotic/"
"language/ca/)\n"
"Language: ca\n"
"Project-Id-Version: Xonotic\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-03-06 07:22+0100\n"
-"PO-Revision-Date: 2022-03-06 06:22+0000\n"
-"Last-Translator: divVerent <divVerent@xonotic.org>\n"
+"PO-Revision-Date: 2013-09-12 16:53+0000\n"
+"Last-Translator: Tomáš Volavka <czheron@gmail.com>, 2015,2018\n"
"Language-Team: Czech (http://www.transifex.com/team-xonotic/xonotic/language/"
"cs/)\n"
"Language: cs\n"
"Project-Id-Version: Xonotic\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-03-06 07:22+0100\n"
-"PO-Revision-Date: 2022-03-06 06:22+0000\n"
-"Last-Translator: divVerent <divVerent@xonotic.org>\n"
+"PO-Revision-Date: 2013-09-12 16:53+0000\n"
+"Last-Translator: Archy Coder, 2022\n"
"Language-Team: Danish (http://www.transifex.com/team-xonotic/xonotic/"
"language/da/)\n"
"Language: da\n"
"Project-Id-Version: Xonotic\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-03-06 07:22+0100\n"
-"PO-Revision-Date: 2022-03-06 06:22+0000\n"
-"Last-Translator: divVerent <divVerent@xonotic.org>\n"
+"PO-Revision-Date: 2013-09-12 16:53+0000\n"
+"Last-Translator: Yepoleb <huberg18@gmail.com>, 2013\n"
"Language-Team: German (http://www.transifex.com/team-xonotic/xonotic/"
"language/de/)\n"
"Language: de\n"
#: qcsrc/client/hud/panel/timer.qc:132
msgid "Warmup"
-msgstr ""
+msgstr "Aufwärmphase"
#: qcsrc/client/hud/panel/timer.qc:134
msgid "Timeout"
-msgstr ""
+msgstr "Timeout"
#: qcsrc/client/hud/panel/timer.qc:136
msgid "Sudden Death"
-msgstr ""
+msgstr "Sudden Death"
#: qcsrc/client/hud/panel/timer.qc:138
msgid "Overtime"
-msgstr ""
+msgstr "Verlängerung"
#: qcsrc/client/hud/panel/timer.qc:140
#, c-format
msgid "Overtime #%d"
-msgstr ""
+msgstr "Verlängerung #%d"
#: qcsrc/client/hud/panel/vote.qc:30
msgid "^1You must answer before entering hud configure mode"
#: qcsrc/menu/xonotic/dialog_hudpanel_timer.qc:23
msgid "Secondary timer:"
-msgstr ""
+msgstr "Sekundärzeit:"
#: qcsrc/menu/xonotic/dialog_hudpanel_timer.qc:27
msgid "Swapped"
-msgstr ""
+msgstr "Umgedreht"
#: qcsrc/menu/xonotic/dialog_hudpanel_timer.qh:6
msgid "Timer Panel"
"Project-Id-Version: Xonotic\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-03-06 07:22+0100\n"
-"PO-Revision-Date: 2022-03-06 06:22+0000\n"
-"Last-Translator: divVerent <divVerent@xonotic.org>\n"
+"PO-Revision-Date: 2013-09-12 16:53+0000\n"
+"Last-Translator: Yepoleb <huberg18@gmail.com>, 2013\n"
"Language-Team: German (http://www.transifex.com/team-xonotic/xonotic/"
"language/de/)\n"
"Language: de\n"
#: qcsrc/client/hud/panel/timer.qc:132
msgid "Warmup"
-msgstr ""
+msgstr "Aufwärmphase"
#: qcsrc/client/hud/panel/timer.qc:134
msgid "Timeout"
-msgstr ""
+msgstr "Timeout"
#: qcsrc/client/hud/panel/timer.qc:136
msgid "Sudden Death"
-msgstr ""
+msgstr "Sudden Death"
#: qcsrc/client/hud/panel/timer.qc:138
msgid "Overtime"
-msgstr ""
+msgstr "Verlängerung"
#: qcsrc/client/hud/panel/timer.qc:140
#, c-format
msgid "Overtime #%d"
-msgstr ""
+msgstr "Verlängerung #%d"
#: qcsrc/client/hud/panel/vote.qc:30
msgid "^1You must answer before entering hud configure mode"
#: qcsrc/menu/xonotic/dialog_hudpanel_timer.qc:23
msgid "Secondary timer:"
-msgstr ""
+msgstr "Sekundärzeit:"
#: qcsrc/menu/xonotic/dialog_hudpanel_timer.qc:27
msgid "Swapped"
-msgstr ""
+msgstr "Umgedreht"
#: qcsrc/menu/xonotic/dialog_hudpanel_timer.qh:6
msgid "Timer Panel"
"Project-Id-Version: Xonotic\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-03-06 07:22+0100\n"
-"PO-Revision-Date: 2022-03-06 06:22+0000\n"
-"Last-Translator: divVerent <divVerent@xonotic.org>\n"
+"PO-Revision-Date: 2013-09-12 16:53+0000\n"
+"Last-Translator: Γιώργος Καρδάμης <kardamisgiorgos@gmail.com>, 2021\n"
"Language-Team: Greek (http://www.transifex.com/team-xonotic/xonotic/language/"
"el/)\n"
"Language: el\n"
"Project-Id-Version: Xonotic\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-03-06 07:22+0100\n"
-"PO-Revision-Date: 2022-03-06 06:22+0000\n"
-"Last-Translator: divVerent <divVerent@xonotic.org>\n"
+"PO-Revision-Date: 2013-09-12 16:53+0000\n"
+"Last-Translator: Stuart Young <cefiar@gmail.com>, 2016\n"
"Language-Team: English (Australia) (http://www.transifex.com/team-xonotic/"
"xonotic/language/en_AU/)\n"
"Language: en_AU\n"
"Project-Id-Version: Xonotic\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-03-06 07:22+0100\n"
-"PO-Revision-Date: 2022-03-06 06:22+0000\n"
-"Last-Translator: divVerent <divVerent@xonotic.org>\n"
+"PO-Revision-Date: 2013-09-12 16:53+0000\n"
+"Last-Translator: Kamparano <kamparano.viro@gmail.com>, 2017\n"
"Language-Team: Esperanto (http://www.transifex.com/team-xonotic/xonotic/"
"language/eo/)\n"
"Language: eo\n"
"Project-Id-Version: Xonotic\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-03-06 07:22+0100\n"
-"PO-Revision-Date: 2022-03-06 06:22+0000\n"
-"Last-Translator: divVerent <divVerent@xonotic.org>\n"
+"PO-Revision-Date: 2013-09-12 16:53+0000\n"
+"Last-Translator: z 411 <winrar.hurr@gmail.com>, 2021\n"
"Language-Team: Spanish (http://www.transifex.com/team-xonotic/xonotic/"
"language/es/)\n"
"Language: es\n"
"Project-Id-Version: Xonotic\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-03-06 07:22+0100\n"
-"PO-Revision-Date: 2022-03-06 06:22+0000\n"
-"Last-Translator: divVerent <divVerent@xonotic.org>\n"
+"PO-Revision-Date: 2013-09-12 16:53+0000\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: Spanish (Mexico) (http://www.transifex.com/team-xonotic/"
"xonotic/language/es_MX/)\n"
"Language: es_MX\n"
"Project-Id-Version: Xonotic\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-03-06 07:22+0100\n"
-"PO-Revision-Date: 2022-03-06 06:22+0000\n"
-"Last-Translator: divVerent <divVerent@xonotic.org>\n"
+"PO-Revision-Date: 2013-09-12 16:53+0000\n"
+"Last-Translator: Oi Suomi On! <oisuomion@protonmail.com>, 2020,2022\n"
"Language-Team: Finnish (http://www.transifex.com/team-xonotic/xonotic/"
"language/fi/)\n"
"Language: fi\n"
"Project-Id-Version: Xonotic\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-03-06 07:22+0100\n"
-"PO-Revision-Date: 2022-03-06 06:22+0000\n"
-"Last-Translator: divVerent <divVerent@xonotic.org>\n"
+"PO-Revision-Date: 2013-09-12 16:53+0000\n"
+"Last-Translator: Hugo Locurcio, 2013-2014\n"
"Language-Team: French (http://www.transifex.com/team-xonotic/xonotic/"
"language/fr/)\n"
"Language: fr\n"
#: qcsrc/client/hud/panel/timer.qc:132
msgid "Warmup"
-msgstr ""
+msgstr "Échauffement"
#: qcsrc/client/hud/panel/timer.qc:134
msgid "Timeout"
-msgstr ""
+msgstr "Temps mort"
#: qcsrc/client/hud/panel/timer.qc:136
msgid "Sudden Death"
-msgstr ""
+msgstr "Mort subite"
#: qcsrc/client/hud/panel/timer.qc:138
msgid "Overtime"
-msgstr ""
+msgstr "Prolongations"
#: qcsrc/client/hud/panel/timer.qc:140
#, c-format
msgid "Overtime #%d"
-msgstr ""
+msgstr "Prolongations #%d"
#: qcsrc/client/hud/panel/vote.qc:30
msgid "^1You must answer before entering hud configure mode"
#: qcsrc/menu/xonotic/dialog_hudpanel_timer.qc:23
msgid "Secondary timer:"
-msgstr ""
+msgstr "Chronomètre secondaire :"
#: qcsrc/menu/xonotic/dialog_hudpanel_timer.qc:27
msgid "Swapped"
-msgstr ""
+msgstr "Échangé"
#: qcsrc/menu/xonotic/dialog_hudpanel_timer.qh:6
msgid "Timer Panel"
"Project-Id-Version: Xonotic\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-03-06 07:22+0100\n"
-"PO-Revision-Date: 2022-03-06 06:22+0000\n"
-"Last-Translator: divVerent <divVerent@xonotic.org>\n"
+"PO-Revision-Date: 2013-09-12 16:53+0000\n"
+"Last-Translator: Kevin Scannell <kscanne@gmail.com>, 2017\n"
"Language-Team: Irish (http://www.transifex.com/team-xonotic/xonotic/language/"
"ga/)\n"
"Language: ga\n"
"Project-Id-Version: Xonotic\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-03-06 07:22+0100\n"
-"PO-Revision-Date: 2022-03-06 06:22+0000\n"
-"Last-Translator: divVerent <divVerent@xonotic.org>\n"
+"PO-Revision-Date: 2013-09-12 16:53+0000\n"
+"Last-Translator: GunChleoc, 2017\n"
"Language-Team: Gaelic, Scottish (http://www.transifex.com/team-xonotic/"
"xonotic/language/gd/)\n"
"Language: gd\n"
"Project-Id-Version: Xonotic\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-03-06 07:22+0100\n"
-"PO-Revision-Date: 2022-03-06 06:22+0000\n"
-"Last-Translator: divVerent <divVerent@xonotic.org>\n"
+"PO-Revision-Date: 2013-09-12 16:53+0000\n"
+"Last-Translator: LegendGuard, 2020\n"
"Language-Team: Galician (http://www.transifex.com/team-xonotic/xonotic/"
"language/gl/)\n"
"Language: gl\n"
"Project-Id-Version: Xonotic\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-03-06 07:22+0100\n"
-"PO-Revision-Date: 2022-03-06 06:22+0000\n"
-"Last-Translator: divVerent <divVerent@xonotic.org>\n"
+"PO-Revision-Date: 2013-09-12 16:53+0000\n"
+"Last-Translator: Tal Leibman <leibman2@gmail.com>, 2019\n"
"Language-Team: Hebrew (http://www.transifex.com/team-xonotic/xonotic/"
"language/he/)\n"
"Language: he\n"
"Project-Id-Version: Xonotic\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-03-06 07:22+0100\n"
-"PO-Revision-Date: 2022-03-06 06:22+0000\n"
-"Last-Translator: divVerent <divVerent@xonotic.org>\n"
+"PO-Revision-Date: 2013-09-12 16:53+0000\n"
+"Last-Translator: MmAaXx500 <viktor.balogh2000@gmail.com>, 2018\n"
"Language-Team: Hungarian (http://www.transifex.com/team-xonotic/xonotic/"
"language/hu/)\n"
"Language: hu\n"
"Project-Id-Version: Xonotic\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-03-06 07:22+0100\n"
-"PO-Revision-Date: 2022-03-06 11:16+0000\n"
-"Last-Translator: Antonio <piuntn@gmail.com>\n"
+"PO-Revision-Date: 2013-09-12 16:53+0000\n"
+"Last-Translator: Antonio <piuntn@gmail.com>, 2013-2022\n"
"Language-Team: Italian (http://www.transifex.com/team-xonotic/xonotic/"
"language/it/)\n"
"Language: it\n"
"Project-Id-Version: Xonotic\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-03-06 07:22+0100\n"
-"PO-Revision-Date: 2022-03-06 06:22+0000\n"
-"Last-Translator: divVerent <divVerent@xonotic.org>\n"
+"PO-Revision-Date: 2013-09-12 16:53+0000\n"
+"Last-Translator: z 411 <winrar.hurr@gmail.com>, 2021\n"
"Language-Team: Japanese (Japan) (http://www.transifex.com/team-xonotic/"
"xonotic/language/ja_JP/)\n"
"Language: ja_JP\n"
"Project-Id-Version: Xonotic\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-03-06 07:22+0100\n"
-"PO-Revision-Date: 2022-03-06 06:22+0000\n"
-"Last-Translator: divVerent <divVerent@xonotic.org>\n"
+"PO-Revision-Date: 2013-09-12 16:53+0000\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: Lojban (http://www.transifex.com/team-xonotic/xonotic/"
"language/jbo/)\n"
"Language: jbo\n"
"Project-Id-Version: Xonotic\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-03-06 07:22+0100\n"
-"PO-Revision-Date: 2022-03-06 06:22+0000\n"
-"Last-Translator: divVerent <divVerent@xonotic.org>\n"
+"PO-Revision-Date: 2013-09-12 16:53+0000\n"
+"Last-Translator: Артем Быстров, 2015-2016\n"
"Language-Team: Kazakh (Cyrillic) (http://www.transifex.com/team-xonotic/"
"xonotic/language/kk@Cyrl/)\n"
"Language: kk@Cyrl\n"
# This file is distributed under the same license as the PACKAGE package.
#
# Translators:
+# BYEONGJIN AN, 2022
+# BYEONGJIN AN, 2022
# Iso Lee, 2016
# Jisoo Lim <liminj0719@gmail.com>, 2017
# Iso Lee, 2016
"Project-Id-Version: Xonotic\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-03-06 07:22+0100\n"
-"PO-Revision-Date: 2022-03-06 06:22+0000\n"
-"Last-Translator: divVerent <divVerent@xonotic.org>\n"
+"PO-Revision-Date: 2013-09-12 16:53+0000\n"
+"Last-Translator: Iso Lee, 2016\n"
"Language-Team: Korean (http://www.transifex.com/team-xonotic/xonotic/"
"language/ko/)\n"
"Language: ko\n"
#: qcsrc/client/hud/hud_config.qc:84
#, c-format
msgid "^1Couldn't write to %s"
-msgstr ""
+msgstr "^1%s에 저장하지 못했습니다."
#: qcsrc/client/hud/panel/centerprint.qc:173
#, c-format
#: qcsrc/client/hud/panel/centerprint.qc:182
msgid "Generic message"
-msgstr ""
+msgstr "일반 메시지"
#: qcsrc/client/hud/panel/chat.qc:165
msgid "^3Player^7: This is the chat area."
#: qcsrc/client/hud/panel/quickmenu.qc:807
#: qcsrc/client/hud/panel/quickmenu.qc:814
msgid "Chat"
-msgstr ""
+msgstr "채팅"
#: qcsrc/client/hud/panel/quickmenu.qc:808
msgid "QMCMD^Send public message to"
#: qcsrc/client/hud/panel/scoreboard.qc:129
msgid "SCO^elo"
-msgstr ""
+msgstr "SCO^elo"
#: qcsrc/client/hud/panel/scoreboard.qc:130
msgid "SCO^fastest"
#: qcsrc/client/hud/panel/scoreboard.qc:133
msgid "FPS"
-msgstr ""
+msgstr "FPS"
#: qcsrc/client/hud/panel/scoreboard.qc:133
msgid "SCO^fps"
-msgstr ""
+msgstr "SCO^fps"
#: qcsrc/client/hud/panel/scoreboard.qc:134
msgid "Number of kills minus suicides"
#: qcsrc/client/hud/panel/scoreboard.qc:159
msgid "SCO^teamkills"
-msgstr ""
+msgstr "SCO^팀킬"
#: qcsrc/client/hud/panel/scoreboard.qc:160
msgid "Number of ticks (Domination)"
#: qcsrc/client/hud/panel/scoreboard.qc:160
msgid "SCO^ticks"
-msgstr ""
+msgstr "SCO^틱"
#: qcsrc/client/hud/panel/scoreboard.qc:161
msgid "SCO^time"
-msgstr ""
+msgstr "SCO^시간"
#: qcsrc/client/hud/panel/scoreboard.qc:161
msgid "Total time raced (Race/CTS)"
-msgstr ""
+msgstr "총 경주한 시간 (Race/CTS)"
#: qcsrc/client/hud/panel/scoreboard.qc:359
msgid ""
"You can modify the scoreboard using the ^2scoreboard_columns_set command."
-msgstr ""
+msgstr "^2scoreboard_columns_set 명령을 사용하여 스코어보드 수정이 가능합니다."
#: qcsrc/client/hud/panel/scoreboard.qc:360
msgid "Usage:"
-msgstr ""
+msgstr "용법:"
#: qcsrc/client/hud/panel/scoreboard.qc:362
msgid "^2scoreboard_columns_set ^3field1 field2 ..."
-msgstr ""
+msgstr "^2scoreboard_columns_set ^3field1 field2 ..."
#: qcsrc/client/hud/panel/scoreboard.qc:363
msgid ""
"Project-Id-Version: Xonotic\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-03-06 07:22+0100\n"
-"PO-Revision-Date: 2022-03-06 06:22+0000\n"
-"Last-Translator: divVerent <divVerent@xonotic.org>\n"
+"PO-Revision-Date: 2013-09-12 16:53+0000\n"
+"Last-Translator: Nicky Rowe <nicky@kernowlingo.com>, 2016,2018\n"
"Language-Team: Cornish (http://www.transifex.com/team-xonotic/xonotic/"
"language/kw/)\n"
"Language: kw\n"
"Project-Id-Version: Xonotic\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-03-06 07:22+0100\n"
-"PO-Revision-Date: 2022-03-06 06:22+0000\n"
-"Last-Translator: divVerent <divVerent@xonotic.org>\n"
+"PO-Revision-Date: 2013-09-12 16:53+0000\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: Macedonian (http://www.transifex.com/team-xonotic/xonotic/"
"language/mk/)\n"
"Language: mk\n"
"Project-Id-Version: Xonotic\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-03-06 07:22+0100\n"
-"PO-Revision-Date: 2022-03-06 06:22+0000\n"
-"Last-Translator: divVerent <divVerent@xonotic.org>\n"
+"PO-Revision-Date: 2013-09-12 16:53+0000\n"
+"Last-Translator: 4b0721bd8a44304c1fd21d8581e7aba4_e088d28 "
+"<64a9a0c5da22e761316957ae436b6281_676465>, 2018\n"
"Language-Team: Malay (http://www.transifex.com/team-xonotic/xonotic/language/"
"ms/)\n"
"Language: ms\n"
"Project-Id-Version: Xonotic\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-03-06 07:22+0100\n"
-"PO-Revision-Date: 2022-03-06 06:22+0000\n"
-"Last-Translator: divVerent <divVerent@xonotic.org>\n"
+"PO-Revision-Date: 2013-09-12 16:53+0000\n"
+"Last-Translator: Jonathan van der Steege <jonakeys@hotmail.com>, 2016\n"
"Language-Team: Dutch (http://www.transifex.com/team-xonotic/xonotic/language/"
"nl/)\n"
"Language: nl\n"
"Project-Id-Version: Xonotic\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-03-06 07:22+0100\n"
-"PO-Revision-Date: 2022-03-06 06:22+0000\n"
-"Last-Translator: divVerent <divVerent@xonotic.org>\n"
+"PO-Revision-Date: 2013-09-12 16:53+0000\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: Norwegian (http://www.transifex.com/team-xonotic/xonotic/"
"language/no/)\n"
"Language: no\n"
# Saikuru Zero, 2021
# Sertomas, 2014
# SFS Atlas, 2022
+# SFS Atlas, 2022
msgid ""
msgstr ""
"Project-Id-Version: Xonotic\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-03-06 07:22+0100\n"
-"PO-Revision-Date: 2022-03-06 09:54+0000\n"
-"Last-Translator: SFS Atlas\n"
+"PO-Revision-Date: 2013-09-12 16:53+0000\n"
+"Last-Translator: SFS Atlas, 2022\n"
"Language-Team: Polish (http://www.transifex.com/team-xonotic/xonotic/"
"language/pl/)\n"
"Language: pl\n"
"Project-Id-Version: Xonotic\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-03-06 07:22+0100\n"
-"PO-Revision-Date: 2022-03-06 06:22+0000\n"
-"Last-Translator: divVerent <divVerent@xonotic.org>\n"
+"PO-Revision-Date: 2013-09-12 16:53+0000\n"
+"Last-Translator: Rui <xymarior@yandex.com>, 2018\n"
"Language-Team: Portuguese (http://www.transifex.com/team-xonotic/xonotic/"
"language/pt/)\n"
"Language: pt\n"
"Project-Id-Version: Xonotic\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-03-06 07:22+0100\n"
-"PO-Revision-Date: 2022-03-06 12:15+0000\n"
-"Last-Translator: yy0zz\n"
+"PO-Revision-Date: 2013-09-12 16:53+0000\n"
+"Last-Translator: zerowhy . <anymailz@tutanota.com>, 2021\n"
"Language-Team: Portuguese (Brazil) (http://www.transifex.com/team-xonotic/"
"xonotic/language/pt_BR/)\n"
"Language: pt_BR\n"
"Project-Id-Version: Xonotic\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-03-06 07:22+0100\n"
-"PO-Revision-Date: 2022-03-06 06:22+0000\n"
-"Last-Translator: divVerent <divVerent@xonotic.org>\n"
+"PO-Revision-Date: 2013-09-12 16:53+0000\n"
+"Last-Translator: Tudor Ionel <tropiko.matrox@gmail.com>, 2015\n"
"Language-Team: Romanian (http://www.transifex.com/team-xonotic/xonotic/"
"language/ro/)\n"
"Language: ro\n"
"Project-Id-Version: Xonotic\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-03-06 07:22+0100\n"
-"PO-Revision-Date: 2022-03-06 16:35+0000\n"
-"Last-Translator: Andrei Stepanov\n"
+"PO-Revision-Date: 2013-09-12 16:53+0000\n"
+"Last-Translator: Simple88, 2016\n"
"Language-Team: Russian (http://www.transifex.com/team-xonotic/xonotic/"
"language/ru/)\n"
"Language: ru\n"
"Project-Id-Version: Xonotic\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-03-06 07:22+0100\n"
-"PO-Revision-Date: 2022-03-06 06:22+0000\n"
-"Last-Translator: divVerent <divVerent@xonotic.org>\n"
+"PO-Revision-Date: 2013-09-12 16:53+0000\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: Albanian (http://www.transifex.com/team-xonotic/xonotic/"
"language/sq/)\n"
"Language: sq\n"
"Project-Id-Version: Xonotic\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-03-06 07:22+0100\n"
-"PO-Revision-Date: 2022-03-06 06:22+0000\n"
-"Last-Translator: divVerent <divVerent@xonotic.org>\n"
+"PO-Revision-Date: 2013-09-12 16:53+0000\n"
+"Last-Translator: Марко М. Костић (Marko M. Kostić) <marko.m.kostic@gmail."
+"com>, 2017,2019\n"
"Language-Team: Serbian (http://www.transifex.com/team-xonotic/xonotic/"
"language/sr/)\n"
"Language: sr\n"
"Project-Id-Version: Xonotic\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-03-06 07:22+0100\n"
-"PO-Revision-Date: 2022-03-06 06:22+0000\n"
-"Last-Translator: divVerent <divVerent@xonotic.org>\n"
+"PO-Revision-Date: 2013-09-12 16:53+0000\n"
+"Last-Translator: Hanicef <gustaf@hanicef.me>, 2021\n"
"Language-Team: Swedish (http://www.transifex.com/team-xonotic/xonotic/"
"language/sv/)\n"
"Language: sv\n"
"Project-Id-Version: Xonotic\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-03-06 07:22+0100\n"
-"PO-Revision-Date: 2022-03-06 06:22+0000\n"
-"Last-Translator: divVerent <divVerent@xonotic.org>\n"
+"PO-Revision-Date: 2013-09-12 16:53+0000\n"
+"Last-Translator: Big Brother <tanakinci2002@gmail.com>, 2021\n"
"Language-Team: Turkish (http://www.transifex.com/team-xonotic/xonotic/"
"language/tr/)\n"
"Language: tr\n"
"Project-Id-Version: Xonotic\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-03-06 07:22+0100\n"
-"PO-Revision-Date: 2022-03-06 06:22+0000\n"
-"Last-Translator: divVerent <divVerent@xonotic.org>\n"
+"PO-Revision-Date: 2013-09-12 16:53+0000\n"
+"Last-Translator: Dmitro Sokhin <gamebot@ex.ua>, 2015\n"
"Language-Team: Ukrainian (http://www.transifex.com/team-xonotic/xonotic/"
"language/uk/)\n"
"Language: uk\n"
"Project-Id-Version: Xonotic\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-03-06 07:22+0100\n"
-"PO-Revision-Date: 2022-03-06 06:22+0000\n"
-"Last-Translator: divVerent <divVerent@xonotic.org>\n"
+"PO-Revision-Date: 2013-09-12 16:53+0000\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: Uzbek (Latin) (http://www.transifex.com/team-xonotic/xonotic/"
"language/uz@Latn/)\n"
"Language: uz@Latn\n"
"Project-Id-Version: Xonotic\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-03-06 07:22+0100\n"
-"PO-Revision-Date: 2022-03-06 06:22+0000\n"
-"Last-Translator: divVerent <divVerent@xonotic.org>\n"
+"PO-Revision-Date: 2013-09-12 16:53+0000\n"
+"Last-Translator: 韬 刘 <jiegushijia@gmail.com>, 2019\n"
"Language-Team: Chinese (China) (http://www.transifex.com/team-xonotic/"
"xonotic/language/zh_CN/)\n"
"Language: zh_CN\n"
"Project-Id-Version: Xonotic\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-03-06 07:22+0100\n"
-"PO-Revision-Date: 2022-03-06 06:22+0000\n"
-"Last-Translator: divVerent <divVerent@xonotic.org>\n"
+"PO-Revision-Date: 2013-09-12 16:53+0000\n"
+"Last-Translator: 黃柏諺 <s8321414@gmail.com>, 2015\n"
"Language-Team: Chinese (Taiwan) (http://www.transifex.com/team-xonotic/"
"xonotic/language/zh_TW/)\n"
"Language: zh_TW\n"
ast "Asturian" "Asturianu" 77%
-de "German" "Deutsch" 99%
-de_CH "German (Switzerland)" "Deutsch (Schweiz)" 99%
+de "German" "Deutsch" 100%
+de_CH "German (Switzerland)" "Deutsch (Schweiz)" 100%
en "English" "English" 100%
en_AU "English (Australia)" "English (Australia)" 72%
es "Spanish" "Español" 99%
-fr "French" "Français" 99%
+fr "French" "Français" 100%
ga "Irish" "Irish" 31%
it "Italian" "Italiano" 100%
hu "Hungarian" "Magyar" 46%
zh_CN "Chinese (China)" "中文" 59%
zh_TW "Chinese (Taiwan)" "國語" 58%
ja_JP "Japanese" "日本語" 99%
-ko "Korean" "한국의" 28%
+ko "Korean" "한국의" 29%
g_teleport_maxspeed 400
sv_track_canjump 0
sv_gameplayfix_stepdown_maxspeed 0
+g_movement_highspeed_q3_compat 1
g_teleport_maxspeed 0
sv_track_canjump 0
sv_gameplayfix_stepdown_maxspeed 0
+g_movement_highspeed_q3_compat 0
g_teleport_maxspeed 0
sv_track_canjump 0
sv_gameplayfix_stepdown_maxspeed 0
+g_movement_highspeed_q3_compat 0
g_teleport_maxspeed 0
sv_track_canjump 0
sv_gameplayfix_stepdown_maxspeed 0
+g_movement_highspeed_q3_compat 0
g_teleport_maxspeed 0
sv_track_canjump 0
sv_gameplayfix_stepdown_maxspeed 0
+g_movement_highspeed_q3_compat 0
g_teleport_maxspeed 0
sv_track_canjump 0
sv_gameplayfix_stepdown_maxspeed 0
+g_movement_highspeed_q3_compat 0
g_teleport_maxspeed 0
sv_track_canjump 0
sv_gameplayfix_stepdown_maxspeed 0
+g_movement_highspeed_q3_compat 0
g_teleport_maxspeed 0
sv_track_canjump 0
sv_gameplayfix_stepdown_maxspeed 0
+g_movement_highspeed_q3_compat 0
g_teleport_maxspeed 0
sv_track_canjump 0
sv_gameplayfix_stepdown_maxspeed 0
+g_movement_highspeed_q3_compat 0
g_teleport_maxspeed 0
sv_track_canjump 0
sv_gameplayfix_stepdown_maxspeed 0
+g_movement_highspeed_q3_compat 0
g_teleport_maxspeed 0
sv_track_canjump 0
sv_gameplayfix_stepdown_maxspeed 0
+g_movement_highspeed_q3_compat 0
g_teleport_maxspeed 0
sv_track_canjump 0
sv_gameplayfix_stepdown_maxspeed 0
+g_movement_highspeed_q3_compat 0
g_teleport_maxspeed 0
sv_track_canjump 0
sv_gameplayfix_stepdown_maxspeed 0
+g_movement_highspeed_q3_compat 0
g_teleport_maxspeed 0
sv_track_canjump 0
sv_gameplayfix_stepdown_maxspeed 0
+g_movement_highspeed_q3_compat 0
g_teleport_maxspeed 0
sv_track_canjump 0
sv_gameplayfix_stepdown_maxspeed 0
+g_movement_highspeed_q3_compat 0
g_teleport_maxspeed 0
sv_track_canjump 0
sv_gameplayfix_stepdown_maxspeed 0
+g_movement_highspeed_q3_compat 0
sv_jumpspeedcap_max_disable_on_ramps 1
g_teleport_maxspeed 0
sv_gameplayfix_stepdown_maxspeed 400
+g_movement_highspeed_q3_compat 0
g_teleport_maxspeed 0
sv_track_canjump 0
sv_gameplayfix_stepdown_maxspeed 0
+g_movement_highspeed_q3_compat 0
g_teleport_maxspeed 0
sv_track_canjump 0
sv_gameplayfix_stepdown_maxspeed 0
+g_movement_highspeed_q3_compat 0
g_teleport_maxspeed 0
sv_track_canjump 0
sv_gameplayfix_stepdown_maxspeed 0
+g_movement_highspeed_q3_compat 0
g_teleport_maxspeed 320
sv_track_canjump 0
sv_gameplayfix_stepdown_maxspeed 0
+g_movement_highspeed_q3_compat 0
g_teleport_maxspeed 0
sv_track_canjump 0
sv_gameplayfix_stepdown_maxspeed 0
+g_movement_highspeed_q3_compat 0
g_teleport_maxspeed 0
sv_track_canjump 0
sv_gameplayfix_stepdown_maxspeed 0
+g_movement_highspeed_q3_compat 0
g_teleport_maxspeed 0
sv_track_canjump 0
sv_gameplayfix_stepdown_maxspeed 0
+g_movement_highspeed_q3_compat 0
g_teleport_maxspeed 0
sv_track_canjump 0
sv_gameplayfix_stepdown_maxspeed 0
+g_movement_highspeed_q3_compat 0
g_teleport_maxspeed 0
sv_track_canjump 0
sv_gameplayfix_stepdown_maxspeed 0
+g_movement_highspeed_q3_compat 0
g_teleport_maxspeed 0
sv_track_canjump 0
sv_gameplayfix_stepdown_maxspeed 0
+g_movement_highspeed_q3_compat 0
sv_jumpspeedcap_max_disable_on_ramps 1
g_teleport_maxspeed 0
sv_gameplayfix_stepdown_maxspeed 400
+g_movement_highspeed_q3_compat 0
sv_jumpspeedcap_max_disable_on_ramps 1
g_teleport_maxspeed 0
sv_gameplayfix_stepdown_maxspeed 400
+g_movement_highspeed_q3_compat 0
sv_jumpspeedcap_max_disable_on_ramps 1
g_teleport_maxspeed 0
sv_gameplayfix_stepdown_maxspeed 400
+g_movement_highspeed_q3_compat 0
sv_jumpspeedcap_max_disable_on_ramps 1
g_teleport_maxspeed 600
sv_gameplayfix_stepdown_maxspeed 400
+// needed for correct q3 haste simulation
+g_movement_highspeed_q3_compat 1
sv_jumpspeedcap_max_disable_on_ramps 1
g_teleport_maxspeed 0
sv_gameplayfix_stepdown_maxspeed 400
+g_movement_highspeed_q3_compat 0
-# Doxyfile 1.8.10
+# Doxyfile 1.9.1
# This file describes the settings to be used by the documentation system
# doxygen (www.doxygen.org) for a project.
# Project related configuration options
#---------------------------------------------------------------------------
-# This tag specifies the encoding used for all characters in the config file
-# that follow. The default is UTF-8 which is also the encoding used for all text
-# before the first occurrence of this tag. Doxygen uses libiconv (or the iconv
-# built into libc) for the transcoding. See http://www.gnu.org/software/libiconv
-# for the list of possible encodings.
+# This tag specifies the encoding used for all characters in the configuration
+# file that follow. The default is UTF-8 which is also the encoding used for all
+# text before the first occurrence of this tag. Doxygen uses libiconv (or the
+# iconv built into libc) for the transcoding. See
+# https://www.gnu.org/software/libiconv/ for the list of possible encodings.
# The default value is: UTF-8.
DOXYFILE_ENCODING = UTF-8
# title of most generated pages and in a few other places.
# The default value is: My Project.
-PROJECT_NAME = "Xonotic"
+PROJECT_NAME = Xonotic QuakeC
# The PROJECT_NUMBER tag can be used to enter a project or revision number. This
# could be handy for archiving the generated documentation or if some version
# for a project that appears at the top of each page and should give viewer a
# quick idea about the purpose of the project. Keep the description short.
-PROJECT_BRIEF =
+PROJECT_BRIEF = The free, fast arena FPS with crisp movement and a wide array of weapons
# With the PROJECT_LOGO tag one can specify a logo or an icon that is included
# in the documentation. The maximum height of the logo should not exceed 55
# performance problems for the file system.
# The default value is: NO.
-CREATE_SUBDIRS = YES
+CREATE_SUBDIRS = NO
# If the ALLOW_UNICODE_NAMES tag is set to YES, doxygen will allow non-ASCII
# characters to appear in the names of generated files. If set to NO, non-ASCII
OUTPUT_LANGUAGE = English
+# The OUTPUT_TEXT_DIRECTION tag is used to specify the direction in which all
+# documentation generated by doxygen is written. Doxygen will use this
+# information to generate all generated output in the proper direction.
+# Possible values are: None, LTR, RTL and Context.
+# The default value is: None.
+
+OUTPUT_TEXT_DIRECTION = None
+
# If the BRIEF_MEMBER_DESC tag is set to YES, doxygen will include brief member
# descriptions after the members that are listed in the file and class
# documentation (similar to Javadoc). Set to NO to disable this.
JAVADOC_AUTOBRIEF = YES
+# If the JAVADOC_BANNER tag is set to YES then doxygen will interpret a line
+# such as
+# /***************
+# as being the beginning of a Javadoc-style comment "banner". If set to NO, the
+# Javadoc-style will behave just like regular comments and it will not be
+# interpreted by doxygen.
+# The default value is: NO.
+
+JAVADOC_BANNER = NO
+
# If the QT_AUTOBRIEF tag is set to YES then doxygen will interpret the first
# line (until the first dot) of a Qt-style comment as the brief description. If
# set to NO, the Qt-style will behave just like regular Qt-style comments (thus
MULTILINE_CPP_IS_BRIEF = NO
+# By default Python docstrings are displayed as preformatted text and doxygen's
+# special commands cannot be used. By setting PYTHON_DOCSTRING to NO the
+# doxygen's special commands can be used and the contents of the docstring
+# documentation blocks is shown as doxygen documentation.
+# The default value is: YES.
+
+PYTHON_DOCSTRING = YES
+
# If the INHERIT_DOCS tag is set to YES then an undocumented member inherits the
# documentation from any documented member that it re-implements.
# The default value is: YES.
# will allow you to put the command \sideeffect (or @sideeffect) in the
# documentation, which will result in a user-defined paragraph with heading
# "Side Effects:". You can put \n's in the value part of an alias to insert
-# newlines.
+# newlines (in the resulting output). You can put ^^ in the value part of an
+# alias to insert a newline as if a physical newline was in the original file.
+# When you need a literal { or } or , in the value part of an alias you have to
+# escape them by means of a backslash (\), this can lead to conflicts with the
+# commands \{ and \} for these it is advised to use the version @{ and @} or use
+# a double escape (\\{ and \\})
ALIASES =
-# This tag can be used to specify a number of word-keyword mappings (TCL only).
-# A mapping has the form "name=value". For example adding "class=itcl::class"
-# will allow you to use the command class in the itcl::class meaning.
-
-TCL_SUBST =
-
# Set the OPTIMIZE_OUTPUT_FOR_C tag to YES if your project consists of C sources
# only. Doxygen will then generate output that is more tailored for C. For
# instance, some of the names that are used will be different. The list of all
OPTIMIZE_OUTPUT_VHDL = NO
+# Set the OPTIMIZE_OUTPUT_SLICE tag to YES if your project consists of Slice
+# sources only. Doxygen will then generate output that is more tailored for that
+# language. For instance, namespaces will be presented as modules, types will be
+# separated into more groups, etc.
+# The default value is: NO.
+
+OPTIMIZE_OUTPUT_SLICE = NO
+
# Doxygen selects the parser to use depending on the extension of the files it
# parses. With this tag you can assign which parser to use for a given
# extension. Doxygen has a built-in mapping, but you can override or extend it
# using this tag. The format is ext=language, where ext is a file extension, and
-# language is one of the parsers supported by doxygen: IDL, Java, Javascript,
-# C#, C, C++, D, PHP, Objective-C, Python, Fortran (fixed format Fortran:
-# FortranFixed, free formatted Fortran: FortranFree, unknown formatted Fortran:
-# Fortran. In the later case the parser tries to guess whether the code is fixed
-# or free formatted code, this is the default for Fortran type files), VHDL. For
-# instance to make doxygen treat .inc files as Fortran files (default is PHP),
-# and .f files as C (default is Fortran), use: inc=Fortran f=C.
+# language is one of the parsers supported by doxygen: IDL, Java, JavaScript,
+# Csharp (C#), C, C++, D, PHP, md (Markdown), Objective-C, Python, Slice, VHDL,
+# Fortran (fixed format Fortran: FortranFixed, free formatted Fortran:
+# FortranFree, unknown formatted Fortran: Fortran. In the later case the parser
+# tries to guess whether the code is fixed or free formatted code, this is the
+# default for Fortran type files). For instance to make doxygen treat .inc files
+# as Fortran files (default is PHP), and .f files as C (default is Fortran),
+# use: inc=Fortran f=C.
#
# Note: For files without extension you can use no_extension as a placeholder.
#
# Note that for custom extensions you also need to set FILE_PATTERNS otherwise
-# the files are not read by doxygen.
+# the files are not read by doxygen. When specifying no_extension you should add
+# * to the FILE_PATTERNS.
+#
+# Note see also the list of default file extension mappings.
-EXTENSION_MAPPING = qc=C qh=C inc=C
+EXTENSION_MAPPING = qc=C \
+ qh=C \
+ inc=C
# If the MARKDOWN_SUPPORT tag is enabled then doxygen pre-processes all comments
# according to the Markdown format, which allows for more readable
-# documentation. See http://daringfireball.net/projects/markdown/ for details.
+# documentation. See https://daringfireball.net/projects/markdown/ for details.
# The output of markdown processing is further processed by doxygen, so you can
# mix doxygen, HTML, and XML commands with Markdown formatting. Disable only in
# case of backward compatibilities issues.
MARKDOWN_SUPPORT = YES
+# When the TOC_INCLUDE_HEADINGS tag is set to a non-zero value, all headings up
+# to that level are automatically included in the table of contents, even if
+# they do not have an id attribute.
+# Note: This feature currently applies only to Markdown headings.
+# Minimum value: 0, maximum value: 99, default value: 5.
+# This tag requires that the tag MARKDOWN_SUPPORT is set to YES.
+
+TOC_INCLUDE_HEADINGS = 5
+
# When enabled doxygen tries to link words that correspond to documented
# classes, or namespaces to their corresponding documentation. Such a link can
# be prevented in individual cases by putting a % sign in front of the word or
CPP_CLI_SUPPORT = NO
# Set the SIP_SUPPORT tag to YES if your project consists of sip (see:
-# http://www.riverbankcomputing.co.uk/software/sip/intro) sources only. Doxygen
+# https://www.riverbankcomputing.com/software/sip/intro) sources only. Doxygen
# will parse them like normal C++ but will assume all classes use public instead
# of private inheritance when no explicit protection keyword is present.
# The default value is: NO.
LOOKUP_CACHE_SIZE = 0
+# The NUM_PROC_THREADS specifies the number threads doxygen is allowed to use
+# during processing. When set to 0 doxygen will based this on the number of
+# cores available in the system. You can set it explicitly to a value larger
+# than 0 to get more control over the balance between CPU load and processing
+# speed. At this moment only the input processing can be done using multiple
+# threads. Since this is still an experimental feature the default is set to 1,
+# which efficively disables parallel processing. Please report any issues you
+# encounter. Generating dot graphs in parallel is controlled by the
+# DOT_NUM_THREADS setting.
+# Minimum value: 0, maximum value: 32, default value: 1.
+
+NUM_PROC_THREADS = 1
+
#---------------------------------------------------------------------------
# Build related configuration options
#---------------------------------------------------------------------------
EXTRACT_PRIVATE = YES
+# If the EXTRACT_PRIV_VIRTUAL tag is set to YES, documented private virtual
+# methods of a class will be included in the documentation.
+# The default value is: NO.
+
+EXTRACT_PRIV_VIRTUAL = NO
+
# If the EXTRACT_PACKAGE tag is set to YES, all members with package or internal
# scope will be included in the documentation.
# The default value is: NO.
EXTRACT_ANON_NSPACES = YES
+# If this flag is set to YES, the name of an unnamed parameter in a declaration
+# will be determined by the corresponding definition. By default unnamed
+# parameters remain unnamed in the output.
+# The default value is: YES.
+
+RESOLVE_UNNAMED_PARAMS = YES
+
# If the HIDE_UNDOC_MEMBERS tag is set to YES, doxygen will hide all
# undocumented members inside documented classes or files. If set to NO these
# members will be included in the various overviews, but no documentation
HIDE_UNDOC_CLASSES = NO
# If the HIDE_FRIEND_COMPOUNDS tag is set to YES, doxygen will hide all friend
-# (class|struct|union) declarations. If set to NO, these declarations will be
-# included in the documentation.
+# declarations. If set to NO, these declarations will be included in the
+# documentation.
# The default value is: NO.
HIDE_FRIEND_COMPOUNDS = NO
INTERNAL_DOCS = YES
-# If the CASE_SENSE_NAMES tag is set to NO then doxygen will only generate file
-# names in lower-case letters. If set to YES, upper-case letters are also
-# allowed. This is useful if you have classes or files whose names only differ
-# in case and if your file system supports case sensitive file names. Windows
-# and Mac users are advised to set this option to NO.
+# With the correct setting of option CASE_SENSE_NAMES doxygen will better be
+# able to match the capabilities of the underlying filesystem. In case the
+# filesystem is case sensitive (i.e. it supports files in the same directory
+# whose names only differ in casing), the option must be set to YES to properly
+# deal with such files in case they appear in the input. For filesystems that
+# are not case sensitive the option should be be set to NO to properly deal with
+# output files written for symbols that only differ in casing, such as for two
+# classes, one named CLASS and the other named Class, and to also support
+# references to files without having to specify the exact matching casing. On
+# Windows (including Cygwin) and MacOS, users should typically set this option
+# to NO, whereas on Linux or other Unix flavors it should typically be set to
+# YES.
# The default value is: system dependent.
CASE_SENSE_NAMES = YES
# The CITE_BIB_FILES tag can be used to specify one or more bib files containing
# the reference definitions. This must be a list of .bib files. The .bib
# extension is automatically appended if omitted. This requires the bibtex tool
-# to be installed. See also http://en.wikipedia.org/wiki/BibTeX for more info.
+# to be installed. See also https://en.wikipedia.org/wiki/BibTeX for more info.
# For LaTeX the style of the bibliography can be controlled using
# LATEX_BIB_STYLE. To use this feature you need bibtex and perl available in the
# search path. See also \cite for info how to create references.
# This WARN_NO_PARAMDOC option can be enabled to get warnings for functions that
# are documented, but have no documentation for their parameters or return
# value. If set to NO, doxygen will only warn about wrong or incomplete
-# parameter documentation, but not about the absence of documentation.
+# parameter documentation, but not about the absence of documentation. If
+# EXTRACT_ALL is set to YES then this flag will automatically be disabled.
# The default value is: NO.
WARN_NO_PARAMDOC = NO
+# If the WARN_AS_ERROR tag is set to YES then doxygen will immediately stop when
+# a warning is encountered. If the WARN_AS_ERROR tag is set to FAIL_ON_WARNINGS
+# then doxygen will continue running as if WARN_AS_ERROR tag is set to NO, but
+# at the end of the doxygen process doxygen will return with a non-zero status.
+# Possible values are: NO, YES and FAIL_ON_WARNINGS.
+# The default value is: NO.
+
+WARN_AS_ERROR = NO
+
# The WARN_FORMAT tag determines the format of the warning messages that doxygen
# can produce. The string should contain the $file, $line, and $text tags, which
# will be replaced by the file and line number from which the warning originated
# This tag can be used to specify the character encoding of the source files
# that doxygen parses. Internally doxygen uses the UTF-8 encoding. Doxygen uses
# libiconv (or the iconv built into libc) for the transcoding. See the libiconv
-# documentation (see: http://www.gnu.org/software/libiconv) for the list of
-# possible encodings.
+# documentation (see:
+# https://www.gnu.org/software/libiconv/) for the list of possible encodings.
# The default value is: UTF-8.
INPUT_ENCODING = UTF-8
# need to set EXTENSION_MAPPING for the extension otherwise the files are not
# read by doxygen.
#
+# Note the list of default checked file patterns might differ from the list of
+# default file extension mappings.
+#
# If left blank the following patterns are tested:*.c, *.cc, *.cxx, *.cpp,
# *.c++, *.java, *.ii, *.ixx, *.ipp, *.i++, *.inl, *.idl, *.ddl, *.odl, *.h,
# *.hh, *.hxx, *.hpp, *.h++, *.cs, *.d, *.php, *.php4, *.php5, *.phtml, *.inc,
-# *.m, *.markdown, *.md, *.mm, *.dox, *.py, *.f90, *.f, *.for, *.tcl, *.vhd,
-# *.vhdl, *.ucf, *.qsf, *.as and *.js.
+# *.m, *.markdown, *.md, *.mm, *.dox (to be provided as doxygen C comment),
+# *.py, *.pyw, *.f90, *.f95, *.f03, *.f08, *.f18, *.f, *.for, *.vhd, *.vhdl,
+# *.ucf, *.qsf and *.ice.
-FILE_PATTERNS = *.qc *.qh *.inc
+FILE_PATTERNS = *.qc \
+ *.qh \
+ *.inc \
+ *.md
# The RECURSIVE tag can be used to specify whether or not subdirectories should
# be searched for input files as well.
# Note that the filter must not add or remove lines; it is applied before the
# code is scanned, but not when the output code is generated. If lines are added
# or removed, the anchors will not be placed correctly.
+#
+# Note that for custom extensions or not directly supported extensions you also
+# need to set EXTENSION_MAPPING for the extension otherwise the files are not
+# properly processed by doxygen.
INPUT_FILTER =
# (like *.cpp=my_cpp_filter). See INPUT_FILTER for further information on how
# filters are used. If the FILTER_PATTERNS tag is empty or if none of the
# patterns match the file name, INPUT_FILTER is applied.
+#
+# Note that for custom extensions or not directly supported extensions you also
+# need to set EXTENSION_MAPPING for the extension otherwise the files are not
+# properly processed by doxygen.
FILTER_PATTERNS =
STRIP_CODE_COMMENTS = YES
# If the REFERENCED_BY_RELATION tag is set to YES then for each documented
-# function all documented functions referencing it will be listed.
+# entity all documented functions referencing it will be listed.
# The default value is: NO.
REFERENCED_BY_RELATION = YES
# If the USE_HTAGS tag is set to YES then the references to source code will
# point to the HTML generated by the htags(1) tool instead of doxygen built-in
# source browser. The htags tool is part of GNU's global source tagging system
-# (see http://www.gnu.org/software/global/global.html). You will need version
+# (see https://www.gnu.org/software/global/global.html). You will need version
# 4.8.6 or higher.
#
# To use it do the following:
# - Install the latest version of global
-# - Enable SOURCE_BROWSER and USE_HTAGS in the config file
+# - Enable SOURCE_BROWSER and USE_HTAGS in the configuration file
# - Make sure the INPUT points to the root of the source tree
# - Run doxygen as normal
#
VERBATIM_HEADERS = YES
+# If the CLANG_ASSISTED_PARSING tag is set to YES then doxygen will use the
+# clang parser (see:
+# http://clang.llvm.org/) for more accurate parsing at the cost of reduced
+# performance. This can be particularly helpful with template rich C++ code for
+# which doxygen's built-in parser lacks the necessary type information.
+# Note: The availability of this option depends on whether or not doxygen was
+# generated with the -Duse_libclang=ON option for CMake.
+# The default value is: NO.
+
+CLANG_ASSISTED_PARSING = NO
+
+# If clang assisted parsing is enabled and the CLANG_ADD_INC_PATHS tag is set to
+# YES then doxygen will add the directory of each input to the include path.
+# The default value is: YES.
+
+CLANG_ADD_INC_PATHS = YES
+
+# If clang assisted parsing is enabled you can provide the compiler with command
+# line options that you would normally use when invoking the compiler. Note that
+# the include paths will already be set by doxygen for the files and directories
+# specified with INPUT and INCLUDE_PATH.
+# This tag requires that the tag CLANG_ASSISTED_PARSING is set to YES.
+
+CLANG_OPTIONS =
+
+# If clang assisted parsing is enabled you can provide the clang parser with the
+# path to the directory containing a file called compile_commands.json. This
+# file is the compilation database (see:
+# http://clang.llvm.org/docs/HowToSetupToolingForLLVM.html) containing the
+# options used when the source files were built. This is equivalent to
+# specifying the -p option to a clang tool, such as clang-check. These options
+# will then be passed to the parser. Any options specified with CLANG_OPTIONS
+# will be added as well.
+# Note: The availability of this option depends on whether or not doxygen was
+# generated with the -Duse_libclang=ON option for CMake.
+
+CLANG_DATABASE_PATH =
+
#---------------------------------------------------------------------------
# Configuration options related to the alphabetical class index
#---------------------------------------------------------------------------
ALPHABETICAL_INDEX = YES
-# The COLS_IN_ALPHA_INDEX tag can be used to specify the number of columns in
-# which the alphabetical index list will be split.
-# Minimum value: 1, maximum value: 20, default value: 5.
-# This tag requires that the tag ALPHABETICAL_INDEX is set to YES.
-
-COLS_IN_ALPHA_INDEX = 5
-
# In case all classes in a project start with a common prefix, all classes will
# be put under the same header in the alphabetical index. The IGNORE_PREFIX tag
# can be used to specify a prefix (or a list of prefixes) that should be ignored
# The HTML_COLORSTYLE_HUE tag controls the color of the HTML output. Doxygen
# will adjust the colors in the style sheet and background images according to
# this color. Hue is specified as an angle on a colorwheel, see
-# http://en.wikipedia.org/wiki/Hue for more information. For instance the value
+# https://en.wikipedia.org/wiki/Hue for more information. For instance the value
# 0 represents red, 60 is yellow, 120 is green, 180 is cyan, 240 is blue, 300
# purple, and 360 is red again.
# Minimum value: 0, maximum value: 359, default value: 220.
HTML_TIMESTAMP = YES
+# If the HTML_DYNAMIC_MENUS tag is set to YES then the generated HTML
+# documentation will contain a main index with vertical navigation menus that
+# are dynamically created via JavaScript. If disabled, the navigation index will
+# consists of multiple levels of tabs that are statically embedded in every HTML
+# page. Disable this option to support browsers that do not have JavaScript,
+# like the Qt help browser.
+# The default value is: YES.
+# This tag requires that the tag GENERATE_HTML is set to YES.
+
+HTML_DYNAMIC_MENUS = YES
+
# If the HTML_DYNAMIC_SECTIONS tag is set to YES then the generated HTML
# documentation will contain sections that can be hidden and shown after the
# page has loaded.
# If the GENERATE_DOCSET tag is set to YES, additional index files will be
# generated that can be used as input for Apple's Xcode 3 integrated development
-# environment (see: http://developer.apple.com/tools/xcode/), introduced with
-# OSX 10.5 (Leopard). To create a documentation set, doxygen will generate a
-# Makefile in the HTML output directory. Running make will produce the docset in
-# that directory and running make install will install the docset in
+# environment (see:
+# https://developer.apple.com/xcode/), introduced with OSX 10.5 (Leopard). To
+# create a documentation set, doxygen will generate a Makefile in the HTML
+# output directory. Running make will produce the docset in that directory and
+# running make install will install the docset in
# ~/Library/Developer/Shared/Documentation/DocSets so that Xcode will find it at
-# startup. See http://developer.apple.com/tools/creatingdocsetswithdoxygen.html
-# for more information.
+# startup. See https://developer.apple.com/library/archive/featuredarticles/Doxy
+# genXcode/_index.html for more information.
# The default value is: NO.
# This tag requires that the tag GENERATE_HTML is set to YES.
# If the GENERATE_HTMLHELP tag is set to YES then doxygen generates three
# additional HTML index files: index.hhp, index.hhc, and index.hhk. The
# index.hhp is a project file that can be read by Microsoft's HTML Help Workshop
-# (see: http://www.microsoft.com/en-us/download/details.aspx?id=21138) on
-# Windows.
+# (see:
+# https://www.microsoft.com/en-us/download/details.aspx?id=21138) on Windows.
#
# The HTML Help Workshop contains a compiler that can convert all HTML output
# generated by doxygen into a single compiled HTML file (.chm). Compiled HTML
HHC_LOCATION =
# The GENERATE_CHI flag controls if a separate .chi index file is generated
-# (YES) or that it should be included in the master .chm file (NO).
+# (YES) or that it should be included in the main .chm file (NO).
# The default value is: NO.
# This tag requires that the tag GENERATE_HTMLHELP is set to YES.
# The QHP_NAMESPACE tag specifies the namespace to use when generating Qt Help
# Project output. For more information please see Qt Help Project / Namespace
-# (see: http://qt-project.org/doc/qt-4.8/qthelpproject.html#namespace).
+# (see:
+# https://doc.qt.io/archives/qt-4.8/qthelpproject.html#namespace).
# The default value is: org.doxygen.Project.
# This tag requires that the tag GENERATE_QHP is set to YES.
# The QHP_VIRTUAL_FOLDER tag specifies the namespace to use when generating Qt
# Help Project output. For more information please see Qt Help Project / Virtual
-# Folders (see: http://qt-project.org/doc/qt-4.8/qthelpproject.html#virtual-
-# folders).
+# Folders (see:
+# https://doc.qt.io/archives/qt-4.8/qthelpproject.html#virtual-folders).
# The default value is: doc.
# This tag requires that the tag GENERATE_QHP is set to YES.
# If the QHP_CUST_FILTER_NAME tag is set, it specifies the name of a custom
# filter to add. For more information please see Qt Help Project / Custom
-# Filters (see: http://qt-project.org/doc/qt-4.8/qthelpproject.html#custom-
-# filters).
+# Filters (see:
+# https://doc.qt.io/archives/qt-4.8/qthelpproject.html#custom-filters).
# This tag requires that the tag GENERATE_QHP is set to YES.
QHP_CUST_FILTER_NAME =
# The QHP_CUST_FILTER_ATTRS tag specifies the list of the attributes of the
# custom filter to add. For more information please see Qt Help Project / Custom
-# Filters (see: http://qt-project.org/doc/qt-4.8/qthelpproject.html#custom-
-# filters).
+# Filters (see:
+# https://doc.qt.io/archives/qt-4.8/qthelpproject.html#custom-filters).
# This tag requires that the tag GENERATE_QHP is set to YES.
QHP_CUST_FILTER_ATTRS =
# The QHP_SECT_FILTER_ATTRS tag specifies the list of the attributes this
# project's filter section matches. Qt Help Project / Filter Attributes (see:
-# http://qt-project.org/doc/qt-4.8/qthelpproject.html#filter-attributes).
+# https://doc.qt.io/archives/qt-4.8/qthelpproject.html#filter-attributes).
# This tag requires that the tag GENERATE_QHP is set to YES.
QHP_SECT_FILTER_ATTRS =
-# The QHG_LOCATION tag can be used to specify the location of Qt's
-# qhelpgenerator. If non-empty doxygen will try to run qhelpgenerator on the
-# generated .qhp file.
+# The QHG_LOCATION tag can be used to specify the location (absolute path
+# including file name) of Qt's qhelpgenerator. If non-empty doxygen will try to
+# run qhelpgenerator on the generated .qhp file.
# This tag requires that the tag GENERATE_QHP is set to YES.
QHG_LOCATION =
# The default value is: NO.
# This tag requires that the tag GENERATE_HTML is set to YES.
-DISABLE_INDEX = NO
+DISABLE_INDEX = YES
# The GENERATE_TREEVIEW tag is used to specify whether a tree-like index
# structure should be generated to display hierarchical information. If the tag
EXT_LINKS_IN_WINDOW = NO
+# If the HTML_FORMULA_FORMAT option is set to svg, doxygen will use the pdf2svg
+# tool (see https://github.com/dawbarton/pdf2svg) or inkscape (see
+# https://inkscape.org) to generate formulas as SVG images instead of PNGs for
+# the HTML output. These images will generally look nicer at scaled resolutions.
+# Possible values are: png (the default) and svg (looks nicer but requires the
+# pdf2svg or inkscape tool).
+# The default value is: png.
+# This tag requires that the tag GENERATE_HTML is set to YES.
+
+HTML_FORMULA_FORMAT = svg
+
# Use this tag to change the font size of LaTeX formulas included as images in
# the HTML documentation. When you change the font size after a successful
# doxygen run you need to manually remove any form_*.png images from the HTML
FORMULA_FONTSIZE = 10
-# Use the FORMULA_TRANPARENT tag to determine whether or not the images
+# Use the FORMULA_TRANSPARENT tag to determine whether or not the images
# generated for formulas are transparent PNGs. Transparent PNGs are not
# supported properly for IE 6.0, but are supported on all modern browsers.
#
FORMULA_TRANSPARENT = YES
+# The FORMULA_MACROFILE can contain LaTeX \newcommand and \renewcommand commands
+# to create new LaTeX commands to be used in formulas as building blocks. See
+# the section "Including formulas" for details.
+
+FORMULA_MACROFILE =
+
# Enable the USE_MATHJAX option to render LaTeX formulas using MathJax (see
-# http://www.mathjax.org) which uses client side Javascript for the rendering
+# https://www.mathjax.org) which uses client side JavaScript for the rendering
# instead of using pre-rendered bitmaps. Use this if you do not have LaTeX
# installed or if you want to formulas look prettier in the HTML output. When
# enabled you may also need to install MathJax separately and configure the path
# When MathJax is enabled you can set the default output format to be used for
# the MathJax output. See the MathJax site (see:
-# http://docs.mathjax.org/en/latest/output.html) for more details.
+# http://docs.mathjax.org/en/v2.7-latest/output.html) for more details.
# Possible values are: HTML-CSS (which is slower, but has the best
# compatibility), NativeMML (i.e. MathML) and SVG.
# The default value is: HTML-CSS.
# MATHJAX_RELPATH should be ../mathjax. The default value points to the MathJax
# Content Delivery Network so you can quickly see the result without installing
# MathJax. However, it is strongly recommended to install a local copy of
-# MathJax from http://www.mathjax.org before deployment.
-# The default value is: http://cdn.mathjax.org/mathjax/latest.
+# MathJax from https://www.mathjax.org before deployment.
+# The default value is: https://cdn.jsdelivr.net/npm/mathjax@2.
# This tag requires that the tag USE_MATHJAX is set to YES.
MATHJAX_RELPATH = http://cdn.mathjax.org/mathjax/latest
# The MATHJAX_CODEFILE tag can be used to specify a file with javascript pieces
# of code that will be used on startup of the MathJax code. See the MathJax site
-# (see: http://docs.mathjax.org/en/latest/output.html) for more details. For an
+# (see:
+# http://docs.mathjax.org/en/v2.7-latest/output.html) for more details. For an
# example see the documentation.
# This tag requires that the tag USE_MATHJAX is set to YES.
SEARCHENGINE = YES
# When the SERVER_BASED_SEARCH tag is enabled the search engine will be
-# implemented using a web server instead of a web client using Javascript. There
+# implemented using a web server instead of a web client using JavaScript. There
# are two flavors of web server based searching depending on the EXTERNAL_SEARCH
# setting. When disabled, doxygen will generate a PHP script for searching and
# an index file used by the script. When EXTERNAL_SEARCH is enabled the indexing
# The default value is: NO.
# This tag requires that the tag SEARCHENGINE is set to YES.
-SERVER_BASED_SEARCH = NO
+SERVER_BASED_SEARCH = YES
# When EXTERNAL_SEARCH tag is enabled doxygen will no longer generate the PHP
# script for searching. Instead the search results are written to an XML file
#
# Doxygen ships with an example indexer (doxyindexer) and search engine
# (doxysearch.cgi) which are based on the open source search engine library
-# Xapian (see: http://xapian.org/).
+# Xapian (see:
+# https://xapian.org/).
#
# See the section "External Indexing and Searching" for details.
# The default value is: NO.
#
# Doxygen ships with an example indexer (doxyindexer) and search engine
# (doxysearch.cgi) which are based on the open source search engine library
-# Xapian (see: http://xapian.org/). See the section "External Indexing and
-# Searching" for details.
+# Xapian (see:
+# https://xapian.org/). See the section "External Indexing and Searching" for
+# details.
# This tag requires that the tag SEARCHENGINE is set to YES.
SEARCHENGINE_URL =
# The LATEX_CMD_NAME tag can be used to specify the LaTeX command name to be
# invoked.
#
-# Note that when enabling USE_PDFLATEX this option is only used for generating
-# bitmaps for formulas in the HTML output, but not in the Makefile that is
-# written to the output directory.
-# The default file is: latex.
+# Note that when not enabling USE_PDFLATEX the default is latex when enabling
+# USE_PDFLATEX the default is pdflatex and when in the later case latex is
+# chosen this is overwritten by pdflatex. For specific output languages the
+# default can have been set differently, this depends on the implementation of
+# the output language.
# This tag requires that the tag GENERATE_LATEX is set to YES.
LATEX_CMD_NAME = latex
# The MAKEINDEX_CMD_NAME tag can be used to specify the command name to generate
# index for LaTeX.
+# Note: This tag is used in the Makefile / make.bat.
+# See also: LATEX_MAKEINDEX_CMD for the part in the generated output file
+# (.tex).
# The default file is: makeindex.
# This tag requires that the tag GENERATE_LATEX is set to YES.
MAKEINDEX_CMD_NAME = makeindex
+# The LATEX_MAKEINDEX_CMD tag can be used to specify the command name to
+# generate index for LaTeX. In case there is no backslash (\) as first character
+# it will be automatically added in the LaTeX code.
+# Note: This tag is used in the generated output file (.tex).
+# See also: MAKEINDEX_CMD_NAME for the part in the Makefile / make.bat.
+# The default value is: makeindex.
+# This tag requires that the tag GENERATE_LATEX is set to YES.
+
+LATEX_MAKEINDEX_CMD = makeindex
+
# If the COMPACT_LATEX tag is set to YES, doxygen generates more compact LaTeX
# documents. This may be useful for small projects and may help to save some
# trees in general.
PDF_HYPERLINKS = YES
-# If the USE_PDFLATEX tag is set to YES, doxygen will use pdflatex to generate
-# the PDF file directly from the LaTeX files. Set this option to YES, to get a
-# higher quality PDF documentation.
+# If the USE_PDFLATEX tag is set to YES, doxygen will use the engine as
+# specified with LATEX_CMD_NAME to generate the PDF file directly from the LaTeX
+# files. Set this option to YES, to get a higher quality PDF documentation.
+#
+# See also section LATEX_CMD_NAME for selecting the engine.
# The default value is: YES.
# This tag requires that the tag GENERATE_LATEX is set to YES.
# The LATEX_BIB_STYLE tag can be used to specify the style to use for the
# bibliography, e.g. plainnat, or ieeetr. See
-# http://en.wikipedia.org/wiki/BibTeX and \cite for more info.
+# https://en.wikipedia.org/wiki/BibTeX and \cite for more info.
# The default value is: plain.
# This tag requires that the tag GENERATE_LATEX is set to YES.
LATEX_BIB_STYLE = plain
+# If the LATEX_TIMESTAMP tag is set to YES then the footer of each generated
+# page will contain the date and time when the page was generated. Setting this
+# to NO can help when comparing the output of multiple runs.
+# The default value is: NO.
+# This tag requires that the tag GENERATE_LATEX is set to YES.
+
+LATEX_TIMESTAMP = NO
+
+# The LATEX_EMOJI_DIRECTORY tag is used to specify the (relative or absolute)
+# path from which the emoji images will be read. If a relative path is entered,
+# it will be relative to the LATEX_OUTPUT directory. If left blank the
+# LATEX_OUTPUT directory will be used.
+# This tag requires that the tag GENERATE_LATEX is set to YES.
+
+LATEX_EMOJI_DIRECTORY =
+
#---------------------------------------------------------------------------
# Configuration options related to the RTF output
#---------------------------------------------------------------------------
RTF_HYPERLINKS = NO
-# Load stylesheet definitions from file. Syntax is similar to doxygen's config
-# file, i.e. a series of assignments. You only have to provide replacements,
-# missing definitions are set to their default value.
+# Load stylesheet definitions from file. Syntax is similar to doxygen's
+# configuration file, i.e. a series of assignments. You only have to provide
+# replacements, missing definitions are set to their default value.
#
# See also section "Doxygen usage" for information on how to generate the
# default style sheet that doxygen normally uses.
RTF_STYLESHEET_FILE =
# Set optional variables used in the generation of an RTF document. Syntax is
-# similar to doxygen's config file. A template extensions file can be generated
-# using doxygen -e rtf extensionFile.
+# similar to doxygen's configuration file. A template extensions file can be
+# generated using doxygen -e rtf extensionFile.
# This tag requires that the tag GENERATE_RTF is set to YES.
RTF_EXTENSIONS_FILE =
XML_PROGRAMLISTING = YES
+# If the XML_NS_MEMB_FILE_SCOPE tag is set to YES, doxygen will include
+# namespace members in file scope as well, matching the HTML output.
+# The default value is: NO.
+# This tag requires that the tag GENERATE_XML is set to YES.
+
+XML_NS_MEMB_FILE_SCOPE = NO
+
#---------------------------------------------------------------------------
# Configuration options related to the DOCBOOK output
#---------------------------------------------------------------------------
#---------------------------------------------------------------------------
# If the GENERATE_AUTOGEN_DEF tag is set to YES, doxygen will generate an
-# AutoGen Definitions (see http://autogen.sf.net) file that captures the
-# structure of the code including all documentation. Note that this feature is
-# still experimental and incomplete at the moment.
+# AutoGen Definitions (see http://autogen.sourceforge.net/) file that captures
+# the structure of the code including all documentation. Note that this feature
+# is still experimental and incomplete at the moment.
# The default value is: NO.
GENERATE_AUTOGEN_DEF = NO
# recursively expanded use the := operator instead of the = operator.
# This tag requires that the tag ENABLE_PREPROCESSING is set to YES.
-PREDEFINED = \
- "XONOTIC" \
- "USING(name, T)=using name = T" \
- "CLASS(name, base)=class name : public base { public:" \
- "INIT(class)=class::class()" \
- "CONSTRUCTOR(class)=class::class(" \
- "DESTRUCTOR(class)=class::~class()" \
- "ATTRIB(class, name, T, val)=T name = val" \
- "ATTRIB_STRZONE(class, name, T, val)=T name = val" \
- "ATTRIBARRAY(class, name, T, val)=T name[val]" \
- "STATIC_ATTRIB(class, name, T, val)=static T name = val" \
- "STATIC_ATTRIB_STRZONE(class, name, T, val)=static T name = val" \
- "METHOD(class, name, prototype)=virtual void class::name()" \
- "ENDCLASS(class)=};" \
- __STDC__
+PREDEFINED = XONOTIC \
+ SVQC \
+ CSQC \
+ MENUQC \
+ GAMEQC \
+ "USING(name, T)=using name = T" \
+ "CLASS(name, base)=class name : public base { public:" \
+ INIT(class)=class::class() \
+ CONSTRUCTOR(class)=class::class( \
+ DESTRUCTOR(class)=class::~class() \
+ "ATTRIB(class, name, T, val)=T name = val" \
+ "ATTRIB_STRZONE(class, name, T, val)=T name = val" \
+ "ATTRIBARRAY(class, name, T, val)=T name[val]" \
+ "STATIC_ATTRIB(class, name, T, val)=static T name = val" \
+ "STATIC_ATTRIB_STRZONE(class, name, T, val)=static T name = val" \
+ "METHOD(class, name, prototype)=virtual void class::name()" \
+ ENDCLASS(class)=}; \
+ __STDC__
# If the MACRO_EXPANSION and EXPAND_ONLY_PREDEF tags are set to YES then this
# tag can be used to specify a list of macro names that should be expanded. The
# definition found in the source code.
# This tag requires that the tag ENABLE_PREPROCESSING is set to YES.
-EXPAND_AS_DEFINED = \
- USING \
- CLASS \
- INIT CONSTRUCTOR DESTRUCTOR \
- ATTRIB ATTRIB_STRZONE \
- STATIC_ATTRIB STATIC_ATTRIB_STRZONE \
- METHOD \
- ENDCLASS \
- LABEL \
- __STDC__
+EXPAND_AS_DEFINED = USING \
+ CLASS \
+ INIT \
+ CONSTRUCTOR \
+ DESTRUCTOR \
+ ATTRIB \
+ ATTRIB_STRZONE \
+ STATIC_ATTRIB \
+ STATIC_ATTRIB_STRZONE \
+ METHOD \
+ ENDCLASS \
+ LABEL \
+ __STDC__
# If the SKIP_FUNCTION_MACROS tag is set to YES then doxygen's preprocessor will
# remove all references to function-like macros that are alone on a line, have
EXTERNAL_PAGES = YES
-# The PERL_PATH should be the absolute path and name of the perl script
-# interpreter (i.e. the result of 'which perl').
-# The default file (with absolute path) is: /usr/bin/perl.
-
-PERL_PATH = /usr/bin/perl
-
#---------------------------------------------------------------------------
# Configuration options related to the dot tool
#---------------------------------------------------------------------------
CLASS_DIAGRAMS = YES
-# You can define message sequence charts within doxygen comments using the \msc
-# command. Doxygen will then run the mscgen tool (see:
-# http://www.mcternan.me.uk/mscgen/)) to produce the chart and insert it in the
-# documentation. The MSCGEN_PATH tag allows you to specify the directory where
-# the mscgen tool resides. If left empty the tool is assumed to be found in the
-# default search path.
-
-MSCGEN_PATH =
-
# You can include diagrams made with dia in doxygen documentation. Doxygen will
# then run dia to produce the diagram and insert it in the documentation. The
# DIA_PATH tag allows you to specify the directory where the dia binary resides.
# http://www.graphviz.org/), a graph visualization toolkit from AT&T and Lucent
# Bell Labs. The other options in this section have no effect if this option is
# set to NO
-# The default value is: NO.
+# The default value is: YES.
HAVE_DOT = YES
# Minimum value: 0, maximum value: 32, default value: 0.
# This tag requires that the tag HAVE_DOT is set to YES.
-DOT_NUM_THREADS = 2
+DOT_NUM_THREADS = 0
# When you want a differently looking font in the dot files that doxygen
# generates you can specify the font name using DOT_FONTNAME. You need to make
# but if the number exceeds 15, the total amount of fields shown is limited to
# 10.
# Minimum value: 0, maximum value: 100, default value: 10.
-# This tag requires that the tag HAVE_DOT is set to YES.
+# This tag requires that the tag UML_LOOK is set to YES.
UML_LIMIT_NUM_FIELDS = 10
+# If the DOT_UML_DETAILS tag is set to NO, doxygen will show attributes and
+# methods without types and arguments in the UML graphs. If the DOT_UML_DETAILS
+# tag is set to YES, doxygen will add type and arguments for attributes and
+# methods in the UML graphs. If the DOT_UML_DETAILS tag is set to NONE, doxygen
+# will not generate fields with class member information in the UML graphs. The
+# class diagrams will look similar to the default class diagrams but using UML
+# notation for the relationships.
+# Possible values are: NO, YES and NONE.
+# The default value is: NO.
+# This tag requires that the tag UML_LOOK is set to YES.
+
+DOT_UML_DETAILS = NO
+
+# The DOT_WRAP_THRESHOLD tag can be used to set the maximum number of characters
+# to display on a single line. If the actual line length exceeds this threshold
+# significantly it will wrapped across multiple lines. Some heuristics are apply
+# to avoid ugly line breaks.
+# Minimum value: 0, maximum value: 1000, default value: 17.
+# This tag requires that the tag HAVE_DOT is set to YES.
+
+DOT_WRAP_THRESHOLD = 17
+
# If the TEMPLATE_RELATIONS tag is set to YES then the inheritance and
# collaboration graphs will show the relations between templates and their
# instances.
# The default value is: NO.
# This tag requires that the tag HAVE_DOT is set to YES.
-CALL_GRAPH = YES
+CALL_GRAPH = NO
# If the CALLER_GRAPH tag is set to YES then doxygen will generate a caller
# dependency graph for every global function or class method.
# The default value is: NO.
# This tag requires that the tag HAVE_DOT is set to YES.
-CALLER_GRAPH = YES
+CALLER_GRAPH = NO
# If the GRAPHICAL_HIERARCHY tag is set to YES then doxygen will graphical
# hierarchy of all classes instead of a textual one.
# Note: If you choose svg you need to set HTML_FILE_EXTENSION to xhtml in order
# to make the SVG files visible in IE 9+ (other browsers do not have this
# requirement).
-# Possible values are: png, jpg, gif, svg, png:gd, png:gd:gd, png:cairo,
+# Possible values are: png, png:cairo, png:cairo:cairo, png:cairo:gd, png:gd,
+# png:gd:gd, jpg, jpg:cairo, jpg:cairo:gd, jpg:gd, jpg:gd:gd, gif, gif:cairo,
+# gif:cairo:gd, gif:gd, gif:gd:gd, svg, png:gd, png:gd:gd, png:cairo,
# png:cairo:gd, png:cairo:cairo, png:cairo:gdiplus, png:gdiplus and
# png:gdiplus:gdiplus.
# The default value is: png.
PLANTUML_JAR_PATH =
+# When using plantuml, the PLANTUML_CFG_FILE tag can be used to specify a
+# configuration file for plantuml.
+
+PLANTUML_CFG_FILE =
+
# When using plantuml, the specified paths are searched for files specified by
# the !include statement in a plantuml block.
GENERATE_LEGEND = YES
-# If the DOT_CLEANUP tag is set to YES, doxygen will remove the intermediate dot
+# If the DOT_CLEANUP tag is set to YES, doxygen will remove the intermediate
# files that are used to generate the various graphs.
+#
+# Note: This setting is not only used for dot files but also for msc and
+# plantuml temporary files.
# The default value is: YES.
-# This tag requires that the tag HAVE_DOT is set to YES.
DOT_CLEANUP = YES
centerprint_ClearTitle();
return;
}
- if(starttime <= time && roundstarttime != starttime) // game start time has passed
- announcer_5min = announcer_1min = false; // reset maptime announcers now as well
bool inround = (roundstarttime && time >= starttime);
float countdown = (inround ? roundstarttime - time : starttime - time);
void Announcer_Time()
{
+ static bool warmup_stage_prev;
+
if(intermission)
return;
+ if (warmup_stage != warmup_stage_prev)
+ {
+ announcer_5min = announcer_1min = false;
+ warmup_stage_prev = warmup_stage;
+ return;
+ }
+
+ float starttime = STAT(GAMESTARTTIME);
+ if(time < starttime)
+ {
+ announcer_5min = announcer_1min = false;
+ return;
+ }
+
float timeleft;
if(warmup_stage)
{
timeleft = 0;
}
else
- timeleft = max(0, STAT(TIMELIMIT) * 60 + STAT(GAMESTARTTIME) - time);
+ timeleft = max(0, STAT(TIMELIMIT) * 60 + starttime - time);
if(autocvar_cl_announcer_maptime >= 2)
ANNOUNCER_CHECKMINUTE(5);
bool forceplayercolors_enabled = false;
#define fpc autocvar_cl_forceplayercolors
- if (ISGAMETYPE(DUEL))
+ if (gametype.m_1v1)
{
if ((myteam != NUM_SPECTATOR) && (fpc == 1 || fpc == 2 || fpc == 3 || fpc == 5))
forceplayercolors_enabled = true;
{
if(autocvar_cl_forcemyplayercolors && islocalplayer)
this.colormap = 1024 + autocvar_cl_forcemyplayercolors;
- else if (autocvar_cl_forceuniqueplayercolors && !islocalplayer && !ISGAMETYPE(DUEL))
+ else if (autocvar_cl_forceuniqueplayercolors && !islocalplayer && !gametype.m_1v1)
{
// Assign each enemy unique colors
// pick colors from 0 to 14 since 15 is the rainbow color
return true;
}
- // allow console bind to work
- string con_keys = findkeysforcommand("toggleconsole", 0);
- int keys = tokenize(con_keys); // findkeysforcommand returns data for this
-
- bool hit_con_bind = false;
- int i;
- for (i = 0; i < keys; ++i)
- {
- if(nPrimary == stof(argv(i)))
- hit_con_bind = true;
- }
-
+ int hudShiftState_prev = hudShiftState;
+ int mouseClicked_prev = mouseClicked;
if(key_pressed) {
if(nPrimary == K_ALT) hudShiftState |= S_ALT;
if(nPrimary == K_CTRL) hudShiftState |= S_CTRL;
if(nPrimary == K_SHIFT) hudShiftState |= S_SHIFT;
+ if(nPrimary == K_MOUSE1) mouseClicked |= S_MOUSE1;
+ if(nPrimary == K_MOUSE2) mouseClicked |= S_MOUSE2;
}
else {
if(nPrimary == K_ALT) hudShiftState -= (hudShiftState & S_ALT);
if(nPrimary == K_CTRL) hudShiftState -= (hudShiftState & S_CTRL);
if(nPrimary == K_SHIFT) hudShiftState -= (hudShiftState & S_SHIFT);
+ if(nPrimary == K_MOUSE1) mouseClicked -= (mouseClicked & S_MOUSE1);
+ if(nPrimary == K_MOUSE2) mouseClicked -= (mouseClicked & S_MOUSE2);
}
if(nPrimary == K_CTRL)
}
}
- if(nPrimary == K_MOUSE1)
- {
- if(key_pressed)
- mouseClicked |= S_MOUSE1;
- else
- mouseClicked -= (mouseClicked & S_MOUSE1);
- }
- else if(nPrimary == K_MOUSE2)
- {
- if(key_pressed)
- mouseClicked |= S_MOUSE2;
- else
- mouseClicked -= (mouseClicked & S_MOUSE2);
- }
- else if(nPrimary == K_ESCAPE)
+ if(nPrimary == K_ESCAPE)
{
if (!key_pressed)
return true;
vector candidate_pos = '0 0 0';
const float LEVELS_NUM = 4;
float level_height = vid_conheight / LEVELS_NUM;
-LABEL(find_tab_panel)
+ LABEL(find_tab_panel)
level = floor(tab_panel_pos.y / level_height) * level_height; //starting level
candidate_pos.x = (!tab_backward) ? vid_conwidth : 0;
start_posX = tab_panel_pos.x;
k=0;
while(++k)
{
- for(i = 0; i < REGISTRY_COUNT(hud_panels); ++i)
+ for(int i = 0; i < REGISTRY_COUNT(hud_panels); ++i)
{
panel = REGISTRY_GET(hud_panels, i);
if(!(panel.panel_configflags & PANEL_CONFIG_MAIN))
if (highlightedPanel)
HUD_Panel_EnableMenu();
}
- else if(hit_con_bind || nPrimary == K_PAUSE)
+ else if(nPrimary == K_PAUSE)
return false;
+ else if (hudShiftState_prev == hudShiftState && mouseClicked_prev == mouseClicked)
+ {
+ // allow console bind to work
+ string con_keys = findkeysforcommand("toggleconsole", 0);
+ int keys = tokenize(con_keys); // findkeysforcommand returns data for this
+ for (int i = 0; i < keys; ++i)
+ {
+ if(nPrimary == stof(argv(i)))
+ return false; // hit console bind
+ }
+ }
return true;
}
// at this point bInputType can only be 0 or 1 (key pressed or released)
bool key_pressed = (bInputType == 0);
+ int hudShiftState_prev = hudShiftState;
+ int mouseClicked_prev = mouseClicked;
if(key_pressed)
{
if(nPrimary == K_ALT) hudShiftState |= S_ALT;
if(nPrimary == K_CTRL) hudShiftState |= S_CTRL;
if(nPrimary == K_SHIFT) hudShiftState |= S_SHIFT;
+ if(nPrimary == K_MOUSE1) mouseClicked |= S_MOUSE1;
+ if(nPrimary == K_MOUSE2) mouseClicked |= S_MOUSE2;
}
else
{
if(nPrimary == K_ALT) hudShiftState -= (hudShiftState & S_ALT);
if(nPrimary == K_CTRL) hudShiftState -= (hudShiftState & S_CTRL);
if(nPrimary == K_SHIFT) hudShiftState -= (hudShiftState & S_SHIFT);
+ if(nPrimary == K_MOUSE1) mouseClicked -= (mouseClicked & S_MOUSE1);
+ if(nPrimary == K_MOUSE2) mouseClicked -= (mouseClicked & S_MOUSE2);
}
- if(nPrimary == K_MOUSE1)
- {
- if(key_pressed)
- mouseClicked |= S_MOUSE1;
- else
- mouseClicked -= (mouseClicked & S_MOUSE1);
- }
- else if(nPrimary == K_MOUSE2)
- {
- if(key_pressed)
- mouseClicked |= S_MOUSE2;
- else
- mouseClicked -= (mouseClicked & S_MOUSE2);
- }
- else if(nPrimary == K_ESCAPE && key_pressed)
+ if(nPrimary == K_ESCAPE && key_pressed)
{
QuickMenu_Close();
}
{
QuickMenu_Page_ActiveEntry(stof(chr2str(nPrimary)));
}
- else
+ else if (hudShiftState_prev == hudShiftState && mouseClicked_prev == mouseClicked)
{
// allow console bind to work
string con_keys = findkeysforcommand("toggleconsole", 0);
int keys = tokenize(con_keys); // findkeysforcommand returns data for this
- int i;
- for (i = 0; i < keys; ++i)
+ for (int i = 0; i < keys; ++i)
{
if(nPrimary == stof(argv(i)))
return false; // hit console bind
vector HUD_Timer_Color(float timeleft)
{
- if(timeleft >= 300)
- return '1 1 1'; //white
- else if(timeleft >= 60)
- return '1 1 0'; //yellow
+ if(timeleft <= 60)
+ return '1 0 0'; // red
+ else if(timeleft <= 300)
+ return '1 1 0'; // yellow
else
- return '1 0 0'; //red
+ return '1 1 1'; // white
}
float HUD_Timer_TimeElapsed(float curtime, float starttime)
CLASS(Duel, Gametype)
INIT(Duel)
{
- this.gametype_init(this, _("Duel"),"duel","g_duel",GAMETYPE_FLAG_USEPOINTS,"","timelimit=10 pointlimit=0 leadlimit=0",_("Fight in a one versus one arena battle to decide the winner"));
+ this.gametype_init(this, _("Duel"),"duel","g_duel",GAMETYPE_FLAG_USEPOINTS | GAMETYPE_FLAG_1V1,"","timelimit=10 pointlimit=0 leadlimit=0",_("Fight in a one versus one arena battle to decide the winner"));
}
METHOD(Duel, m_isAlwaysSupported, bool(Gametype this, int spawnpoints, float diameter))
{
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
+const int GAMETYPE_FLAG_1V1 = BIT(6); // 1v1 gameplay
int MAPINFO_TYPE_ALL;
.int m_flags;
ATTRIB(Gametype, m_hidelimits, bool, false);
/** does this gametype enforce its own weapon arena? */
ATTRIB(Gametype, m_weaponarena, bool, false);
+ /** 1v1 gameplay? */
+ ATTRIB(Gametype, m_1v1, bool, false);
/** game type defaults */
ATTRIB(Gametype, model2, string);
/** game type description */
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);
+ this.m_1v1 = (gflags & GAMETYPE_FLAG_1V1);
// same as `1 << m_id`
MAPINFO_TYPE_ALL |= this.items = this.m_flags = (MAPINFO_TYPE_ALL + 1);
M_ARGV(2, vector) = spawn_score;
}
+vector snt_ofs[6];
MUTATOR_HOOKFUNCTION(spawn_near_teammate, PlayerSpawn)
{
if (!teamplay) return;
// test different spots close to mate - trace upwards so it works on uneven surfaces
// don't spawn in front of player or directly behind to avoid players shooting each other
// test the potential spots in pairs (first pair is better than second and so on) but don't prefer one side
+ snt_ofs[0] = up * 64 + right * 128 - forward * 64;
+ snt_ofs[1] = up * 64 - right * 128 - forward * 64;
+ snt_ofs[2] = up * 64 + right * 192;
+ snt_ofs[3] = up * 64 - right * 192;
+ snt_ofs[4] = up * 64 + right * 64 - forward * 128;
+ snt_ofs[5] = up * 64 - right * 64 - forward * 128;
RandomSelection_Init();
for(int i = 0; i < 6; ++i)
{
- switch(i)
- {
- case 0:
- tracebox(it.origin, STAT(PL_MIN, player), STAT(PL_MAX, player), it.origin - forward * 64 + right * 128 + up * 64, MOVE_NOMONSTERS, it);
- break;
- case 1:
- tracebox(it.origin, STAT(PL_MIN, player), STAT(PL_MAX, player), it.origin - forward * 64 - right * 128 + up * 64, MOVE_NOMONSTERS, it);
- break;
- case 2:
- tracebox(it.origin, STAT(PL_MIN, player), STAT(PL_MAX, player), it.origin + right * 192 + up * 64, MOVE_NOMONSTERS, it);
- break;
- case 3:
- tracebox(it.origin, STAT(PL_MIN, player), STAT(PL_MAX, player), it.origin - right * 192 + up * 64, MOVE_NOMONSTERS, it);
- break;
- case 4:
- tracebox(it.origin, STAT(PL_MIN, player), STAT(PL_MAX, player), it.origin - forward * 128 + right * 64 + up * 64, MOVE_NOMONSTERS, it);
- break;
- case 5:
- tracebox(it.origin, STAT(PL_MIN, player), STAT(PL_MAX, player), it.origin - forward * 128 - right * 64 + up * 64, MOVE_NOMONSTERS, it);
- break;
- }
+ tracebox(it.origin, STAT(PL_MIN, player), STAT(PL_MAX, player), it.origin + snt_ofs[i], MOVE_NOMONSTERS, it);
vector horizontal_trace_endpos = trace_endpos;
//te_lightning1(NULL, it.origin, horizontal_trace_endpos);
RandomSelection_Add(it, 0, string_null, vectical_trace_endpos, 1, 1);
//te_lightning1(NULL, vectical_trace_endpos, vectical_trace_endpos + forward * 10);
-LABEL(skip)
+ LABEL(skip)
if (i % 2 == 1 && RandomSelection_chosen_ent)
{
if (autocvar_g_spawn_near_teammate_ignore_spawnpoint_closetodeath)
if(trace_fraction == 1)
break;
+ time_left *= 1 - trace_fraction;
+
float my_trace_fraction = trace_fraction;
vector my_trace_plane_normal = trace_plane_normal;
// step - handle it immediately
vector org = this.origin;
vector steppush = '0 0 1' * stepheight;
+ push = this.velocity * time_left;
if(!_Movetype_PushEntity(this, steppush, true, false))
{
}
// accept the new position if it made some progress...
- if(fabs(this.origin_x - org.x) >= 0.03125 || fabs(this.origin_y - org.y) >= 0.03125)
+ // previously this checked if absolute distance >= 0.03125 which made stepping up unreliable
+ if(this.origin_x - org.x || this.origin_y - org.y)
{
trace_endpos = this.origin;
time_left *= 1 - trace2_fraction;
numplanes = 0;
}
- time_left *= 1 - my_trace_fraction;
-
// clipped to another plane
if(numplanes >= MAX_CLIP_PLANES)
{
PERSON(Victor "LegendGuard" Jaume) \
NL() \
FUNCTION(_("Kazakh")) \
- PERSON("Артем "bystrov.arterm" Быстров") \
+ PERSON(Артем "bystrov.arterm" Быстров) \
NL() \
FUNCTION(_("Korean")) \
PERSON(Jisoo "s6e9x" Lim) \
PERSON(... and a goat) \
/**/
-int credits_get()
+
+int CREDITS_TYPE_TITLE = 2;
+int CREDITS_TYPE_FUNCTION = 1;
+int CREDITS_TYPE_PERSON = 0;
+int CREDITS_TYPE_NL = -1;
+void credits_add_line(int fh, int n, int type, string line)
{
- int n = buf_create();
- #define CREDITS_TITLE(t) bufstr_add(n, strcat("**", t), 0);
- #define CREDITS_FUNCTION(f) bufstr_add(n, strcat("*", f), 0);
- #define CREDITS_PERSON(p) bufstr_add(n, p, 0);
+ if (type == CREDITS_TYPE_TITLE)
+ line = strcat("**", line);
+ else if (type == CREDITS_TYPE_FUNCTION)
+ line = strcat("*", line);
+
+ if (fh >= 0)
+ fputs(fh, strcat(line, "\n"));
+ if (n >= 0)
+ bufstr_add(n, line, 0);
+}
+
+void credits_build(int fh, int n)
+{
+ #define CREDITS_TITLE(t) credits_add_line(fh, n, CREDITS_TYPE_TITLE, t);
+ #define CREDITS_FUNCTION(f) credits_add_line(fh, n, CREDITS_TYPE_FUNCTION, f);
+ #define CREDITS_PERSON(p) credits_add_line(fh, n, CREDITS_TYPE_PERSON, p);
#define _CREDITS_PERSON(p) CREDITS_PERSON(#p)
- #define CREDITS_NL() bufstr_add(n, "", 0);
- CREDITS(CREDITS_TITLE, CREDITS_FUNCTION, _CREDITS_PERSON, CREDITS_PERSON, CREDITS_NL)
+ #define CREDITS_NL() credits_add_line(fh, n, CREDITS_TYPE_NL, "");
+ CREDITS(CREDITS_TITLE, CREDITS_FUNCTION, _CREDITS_PERSON, CREDITS_PERSON, CREDITS_NL)
#undef CREDITS_TITLE
#undef CREDITS_FUNCTION
#undef CREDITS_PERSON
#undef _CREDITS_PERSON
#undef CREDITS_NL
+}
+
+int credits_get()
+{
+ int n = buf_create();
+ credits_build(-1, n);
return n;
}
+void credits_export()
+{
+ int fh = fopen("credits.txt", FILE_WRITE);
+ if(fh < 0)
+ return;
+ credits_build(fh, -1);
+}
+
#undef CREDITS
entity makeXonoticCreditsList()
void XonoticCreditsList_configureXonoticCreditsList(entity me)
{
me.configureXonoticListBox(me);
- me.bufferIndex = credits_get();
+ me.bufferIndex = credits_get();
me.nItems = buf_getsize(me.bufferIndex);
+ if (cvar("_menu_credits_export")) // set by the menu_credits_export alias
+ {
+ credits_export();
+ cvar_set("_menu_credits_export", "0");
+ }
}
void XonoticCreditsList_destroy(entity me)
{
if(me.handle < 0)
return;
- buf_cvarlist(me.handle, filter, "_");
+ buf_cvarlist(me.handle, filter, "_"); // cvars starting with "_" are excluded
me.nItems = buf_getsize(me.handle);
if(autocvar_menu_cvarlist_onlymodified)
{
void play_countdown(entity this, float finished, Sound samp)
{
TC(Sound, samp);
- if(IS_REAL_CLIENT(this))
- if(floor(finished - time - frametime) != floor(finished - time))
- if(finished - time < 6)
- sound (this, CH_INFO, samp, VOL_BASE, ATTEN_NORM);
+ float time_left = finished - time;
+ if(IS_REAL_CLIENT(this) && time_left < 6 && floor(time_left - frametime) != floor(time_left))
+ sound(this, CH_INFO, samp, VOL_BASE, ATTEN_NORM);
}
// it removes special powerups not handled by StatusEffects
if (this.items & (IT_SUPERWEAPON | IT_UNLIMITED_AMMO | IT_UNLIMITED_SUPERWEAPONS))
{
// don't play the poweroff sound when the game restarts or the player disconnects
- if (time > game_starttime + 1 && IS_CLIENT(this))
+ if (time > game_starttime + 1 && IS_CLIENT(this)
+ && !(start_items & (IT_UNLIMITED_AMMO | IT_UNLIMITED_SUPERWEAPONS)))
+ {
sound(this, CH_INFO, SND_POWEROFF, VOL_BASE, ATTEN_NORM);
+ }
if (this.items & (IT_UNLIMITED_AMMO | IT_UNLIMITED_SUPERWEAPONS))
stopsound(this, CH_TRIGGER_SINGLE); // get rid of the pickup sound
this.items -= (this.items & (IT_SUPERWEAPON | IT_UNLIMITED_AMMO | IT_UNLIMITED_SUPERWEAPONS));
.float fire_deathtype;
.entity fire_owner;
.float fire_hitsound;
-.entity fire_burner;
float Fire_AddDamage(entity e, entity o, float d, float t, float dt);
timelimit_override 20
sv_maxidle_playertospectator 0
-// speed powerup (q3 haste replacement)
-g_movement_highspeed_q3_compat 1
-g_balance_powerup_speed_time 30 // q3 haste lasts 30 seconds unless count field set otherwise
-g_balance_powerup_speed_highspeed 1.3
-g_balance_powerup_speed_attackrate 0.7692307692 // 1/1.3
-
// game mode settings
g_cts_finish_kill_delay 2
g_cts_selfdamage 0
set menu_cvarlist_onlymodified 0 "show only modified cvars in the cvar list"
set menu_force_on_disconnection 1 "force to show the menu this number of seconds after you get disconnected (0 to disable)"
+set _menu_credits_export 0 "set to 1 and restart the menu to export credits to credits.txt (menu will automatically reset to 0)"
+alias menu_credits_export "_menu_credits_export 1; menu_restart"
+
r_textbrightness 0.2
r_textcontrast 0.8
r_textshadow 0