]> de.git.xonotic.org Git - xonotic/xonotic-data.pk3dir.git/commitdiff
Merge branch 'Lyberta/con_textsize_' into 'master'
authorMario <zacjardine@y7mail.com>
Fri, 28 Apr 2017 15:57:35 +0000 (15:57 +0000)
committerMario <zacjardine@y7mail.com>
Fri, 28 Apr 2017 15:57:35 +0000 (15:57 +0000)
Bigger con_textsize.

See merge request !436

21 files changed:
.tx/merge-base
common.bg.po
common.fr.po
common.zh_TW.po
languages.txt
qcsrc/client/mutators/events.qh
qcsrc/client/view.qc
qcsrc/common/debug.qh
qcsrc/common/mutators/mutator/buffs/sv_buffs.qc
qcsrc/common/vehicles/sv_vehicles.qc
qcsrc/common/vehicles/vehicle/bumblebee.qc
qcsrc/common/vehicles/vehicle/racer.qc
qcsrc/common/vehicles/vehicle/raptor.qc
qcsrc/common/vehicles/vehicle/spiderbot.qc
qcsrc/server/client.qc
qcsrc/server/compat/quake3.qc
qcsrc/server/defs.qh
qcsrc/server/g_world.qc
qcsrc/server/weapons/selection.qc
qcsrc/server/weapons/weaponsystem.qc
qcsrc/tools/qcc.sh

index 5536a9d59815ca8ae4e28ac7472980fd5ca5a9e1..966543f5a5a3a2bb8570a1cdceb78f7021e1d709 100644 (file)
@@ -1 +1 @@
-Thu Apr  6 07:23:36 CEST 2017
+Thu Apr 27 07:23:51 CEST 2017
index 31f27277f1251bb2eadff48fb8193f7ae44b1f6e..07d213ed0099466460a8866c764afe8ff5adeb99 100644 (file)
@@ -3,7 +3,7 @@
 # This file is distributed under the same license as the PACKAGE package.
 #
 # Translators:
-# IFo Hancroft <contact@ifohancroft.com>, 2016-2017
+# IFo Hancroft <inactive+ifohancroft@transifex.com>, 2016-2017
 # set_killer <mettall@abv.bg>, 2014
 # ubone <van_ds_ff@mail.bg>, 2016
 # set_killer <mettall@abv.bg>, 2014
index 057eb869fe73fdf36509fc32fe226076a14700e8..1633943b88b70b1201a5a36fc2bb9ea98e019c9a 100644 (file)
@@ -18,7 +18,7 @@ msgstr ""
 "Project-Id-Version: Xonotic\n"
 "Report-Msgid-Bugs-To: \n"
 "POT-Creation-Date: 2017-03-30 07:23+0200\n"
-"PO-Revision-Date: 2017-04-01 10:04+0000\n"
+"PO-Revision-Date: 2017-04-12 09:31+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"
@@ -593,7 +593,7 @@ msgstr "buts"
 
 #: qcsrc/client/hud/panel/scoreboard.qc:90
 msgid "SCO^kckills"
-msgstr "clefs tués"
+msgstr "clés tués"
 
 #: qcsrc/client/hud/panel/scoreboard.qc:91
 msgid "SCO^kdratio"
@@ -773,16 +773,16 @@ msgid ""
 "^3caps^7                     How often a flag (CTF) or a key (KeyHunt) was "
 "captured\n"
 msgstr ""
-"^3captures^7                     Combien de fois un drapeau (CTF) ou une "
-"clef (Chasse aux Clefs) a été capturé(e)\n"
+"^3captures^7                     Combien de fois un drapeau (CTF) ou une clé "
+"(Chasse aux Clés) a été capturé(e)\n"
 
 #: qcsrc/client/hud/panel/scoreboard.qc:317
 msgid ""
 "^3pickups^7                  How often a flag (CTF) or a key (KeyHunt) or a "
 "ball (Keepaway) was picked up\n"
 msgstr ""
-"^3collectés^7                  Nombre de fois qu'un drapeau (CTF), une clef "
-"(Chasse aux Clefs) ou une balle (Gardez-la-balle) a été ramassé\n"
+"^3collectés^7                  Nombre de fois qu'un drapeau (CTF), une clé "
+"(Chasse aux Clés) ou une balle (Gardez-la-balle) a été ramassé\n"
 
 #: qcsrc/client/hud/panel/scoreboard.qc:318
 msgid "^3captime^7                  Time of fastest cap (CTF)\n"
@@ -818,16 +818,16 @@ msgid ""
 "^3destroyed^7                Number of keys destroyed by pushing them into "
 "void\n"
 msgstr ""
-"^3détruits^7                Nombre de clefs détruites en les poussant dans "
-"le vide\n"
+"^3détruits^7                Nombre de clés détruites en les poussant dans le "
+"vide\n"
 
 #: qcsrc/client/hud/panel/scoreboard.qc:326
 msgid "^3kckills^7                  Number of keys carrier kills\n"
-msgstr "^3clefs tués^7                  Nombre de porteurs de clefs tués\n"
+msgstr "^3clés tués^7                  Nombre de porteurs de clés tués\n"
 
 #: qcsrc/client/hud/panel/scoreboard.qc:327
 msgid "^3losses^7                   Number of times a key was lost\n"
-msgstr "^3pertes^7                   Nombre de fois qu'une clef a été perdue\n"
+msgstr "^3pertes^7                   Nombre de fois qu'une clé a été perdue\n"
 
 #: qcsrc/client/hud/panel/scoreboard.qc:328
 msgid "^3laps^7                     Number of laps finished (race/cts)\n"
@@ -1288,7 +1288,7 @@ msgstr "Collectez toutes les clés pour gagner la manche"
 
 #: qcsrc/common/mapinfo.qh:319
 msgid "Key Hunt"
-msgstr "Chasse aux Clefs"
+msgstr "Chasse aux Clés"
 
 #: qcsrc/common/mapinfo.qh:353
 msgid "Assault"
@@ -1836,7 +1836,7 @@ msgstr "Point de contrôle"
 
 #: qcsrc/common/mutators/mutator/waypoints/all.inc:37
 msgid "Dropped key"
-msgstr "Clef lâchée"
+msgstr "Clé lâchée"
 
 #: qcsrc/common/mutators/mutator/waypoints/all.inc:38
 #: qcsrc/common/mutators/mutator/waypoints/all.inc:40
@@ -1844,7 +1844,7 @@ msgstr "Clef lâchée"
 #: qcsrc/common/mutators/mutator/waypoints/all.inc:42
 #: qcsrc/common/mutators/mutator/waypoints/all.inc:43
 msgid "Key carrier"
-msgstr "Porteur de clef"
+msgstr "Porteur de clé"
 
 #: qcsrc/common/mutators/mutator/waypoints/all.inc:39
 msgid "Run here"
@@ -2693,33 +2693,32 @@ msgstr "^BG%s^BG a pris la balle !"
 #: qcsrc/common/notifications/all.inc:398
 #, c-format
 msgid "^BG%s^BG captured the keys for the ^TC^TT team"
-msgstr "^BG%s^BG a capturé les clefs pour l'équipe ^TC^TT"
+msgstr "^BG%s^BG a capturé les clés pour l'équipe ^TC^TT"
 
 #: qcsrc/common/notifications/all.inc:399
 #, c-format
 msgid "^BG%s^BG dropped the ^TC^TT Key"
-msgstr "^BG%s^BG a lâché la Clef ^TC^TT"
+msgstr "^BG%s^BG a lâché la Clé ^TC^TT"
 
 #: qcsrc/common/notifications/all.inc:400
 #, c-format
 msgid "^BG%s^BG lost the ^TC^TT Key"
-msgstr "^BG%s^BG a perdu la Clef ^TC^TT"
+msgstr "^BG%s^BG a perdu la Clé ^TC^TT"
 
 #: qcsrc/common/notifications/all.inc:401
 #, c-format
 msgid "^BG%s^BG pushed %s^BG causing the ^TC^TT Key ^BGdestruction"
-msgstr ""
-"^BG%s^BG a poussé %s^BG, provoquant la destruction de la clef ^TC^TT^BG"
+msgstr "^BG%s^BG a poussé %s^BG, provoquant la destruction de la clé ^TC^TT^BG"
 
 #: qcsrc/common/notifications/all.inc:402
 #, c-format
 msgid "^BG%s^BG destroyed the ^TC^TT Key"
-msgstr "^BG%s^BG a détruit la Clef ^TC^TT"
+msgstr "^BG%s^BG a détruit la Clé ^TC^TT"
 
 #: qcsrc/common/notifications/all.inc:403
 #, c-format
 msgid "^BG%s^BG picked up the ^TC^TT Key"
-msgstr "^BG%s^BG a pris la Clef ^TC^TT"
+msgstr "^BG%s^BG a pris la Clé ^TC^TT"
 
 #: qcsrc/common/notifications/all.inc:405
 #, c-format
@@ -3838,15 +3837,15 @@ msgid ""
 "^BGAll keys are in your team's hands!\n"
 "Help the key carriers to meet!"
 msgstr ""
-"^BGToutes les clefs sont entre les mains de votre équipe !\n"
-"Aidez les porteurs de clef à se réunir !"
+"^BGToutes les clés sont entre les mains de votre équipe !\n"
+"Aidez les porteurs de clé à se réunir !"
 
 #: qcsrc/common/notifications/all.inc:712
 msgid ""
 "^BGAll keys are in ^TC^TT team^BG's hands!\n"
 "Interfere ^F4NOW^BG!"
 msgstr ""
-"^BGToutes les clefs sont entre les mains de l'équipe ^TC^TT ^BG !\n"
+"^BGToutes les clés sont entre les mains de l'équipe ^TC^TT ^BG !\n"
 "Intervenez ^F4MAINTENANT^BG !"
 
 #: qcsrc/common/notifications/all.inc:713
@@ -3854,8 +3853,8 @@ msgid ""
 "^BGAll keys are in your team's hands!\n"
 "Meet the other key carriers ^F4NOW^BG!"
 msgstr ""
-"^BGToutes les clefs sont entre vos mains !\n"
-"Rejoignez les autres porteurs de clef ^F4MAINTENANT^BG !"
+"^BGToutes les clés sont entre vos mains !\n"
+"Rejoignez les autres porteurs de clé ^F4MAINTENANT^BG !"
 
 #: qcsrc/common/notifications/all.inc:714
 msgid "^F4Round will start in ^COUNT"
@@ -3867,7 +3866,7 @@ msgstr "^BGBalayage de la gamme de fréquence…"
 
 #: qcsrc/common/notifications/all.inc:716
 msgid "^BGYou are starting with the ^TC^TT Key"
-msgstr "^BGVous commencez avec la Clef ^TC^TT"
+msgstr "^BGVous commencez avec la Clé ^TC^TT"
 
 #: qcsrc/common/notifications/all.inc:718
 msgid "^BGYou have no lives left, you must wait until the next match"
@@ -9123,7 +9122,7 @@ msgstr "auto-joindre une équipe"
 
 #: qcsrc/menu/xonotic/keybinder.qc:103
 msgid "drop key / drop flag"
-msgstr "lâcher la clef / drapeau"
+msgstr "lâcher la clé / drapeau"
 
 #: qcsrc/menu/xonotic/keybinder.qc:106
 msgid "quick menu"
index dac0e57bfc27cc5b10f1041ea2cd7cc5273c0318..0ac0973ebf8442f4cc4d8902e834b3b4567555a9 100644 (file)
@@ -3,7 +3,7 @@
 # This file is distributed under the same license as the PACKAGE package.
 #
 # Translators:
-# Arm Coon <armcoon@gmail.com>, 2016
+# Arm Coon <armcoon@gmail.com>, 2016-2017
 # Jeff Huang <s8321414@gmail.com>, 2015
 # msn1018927464 <msn1018927464@hotmail.com>, 2015
 # msn1018927464 <msn1018927464@hotmail.com>, 2015
@@ -12,8 +12,8 @@ msgstr ""
 "Project-Id-Version: Xonotic\n"
 "Report-Msgid-Bugs-To: \n"
 "POT-Creation-Date: 2017-03-30 07:23+0200\n"
-"PO-Revision-Date: 2017-03-30 05:23+0000\n"
-"Last-Translator: divVerent <divVerent@xonotic.org>\n"
+"PO-Revision-Date: 2017-04-15 05:02+0000\n"
+"Last-Translator: Arm Coon <armcoon@gmail.com>\n"
 "Language-Team: Chinese (Taiwan) (http://www.transifex.com/team-xonotic/"
 "xonotic/language/zh_TW/)\n"
 "Language: zh_TW\n"
@@ -68,12 +68,12 @@ msgstr "^1按下 ^3%s^1 或 ^3%s^1 察看上一個或下一個玩家"
 #: qcsrc/client/hud/panel/infomessages.qc:102
 #: qcsrc/client/hud/panel/infomessages.qc:106
 msgid "next weapon"
-msgstr ""
+msgstr "下一件武器"
 
 #: qcsrc/client/hud/panel/infomessages.qc:102
 #: qcsrc/client/hud/panel/infomessages.qc:106
 msgid "previous weapon"
-msgstr ""
+msgstr "上一件武器"
 
 #: qcsrc/client/hud/panel/infomessages.qc:106
 #, c-format
@@ -83,7 +83,7 @@ msgstr "^1使用 ^3%s^1 或 ^3%s^1 來改變速度"
 #: qcsrc/client/hud/panel/infomessages.qc:108
 #, c-format
 msgid "^1Press ^3%s^1 to observe, ^3%s^1 to change camera mode"
-msgstr ""
+msgstr "^1按下 ^3%s^1 來進行觀察, ^3%s^1 來改變鏡頭模式"
 
 #: qcsrc/client/hud/panel/infomessages.qc:108
 #: qcsrc/common/vehicles/cl_vehicles.qc:191
@@ -122,7 +122,7 @@ msgstr "^1按下 ^3%s^1 加入"
 #: qcsrc/client/hud/panel/infomessages.qc:128
 #: qcsrc/client/hud/panel/infomessages.qc:131
 msgid "jump"
-msgstr ""
+msgstr "跳躍"
 
 #: qcsrc/client/hud/panel/infomessages.qc:139
 #, c-format
@@ -179,11 +179,11 @@ msgstr "團隊菜單"
 
 #: qcsrc/client/hud/panel/infomessages.qc:209
 msgid "^1Spectating this player:"
-msgstr ""
+msgstr "^1正在觀看這名玩家:"
 
 #: qcsrc/client/hud/panel/infomessages.qc:209
 msgid "^1Spectating you:"
-msgstr ""
+msgstr "^1正在觀看你:"
 
 #: qcsrc/client/hud/panel/infomessages.qc:225
 msgid "^7Press ^3ESC ^7to show HUD options."
@@ -191,7 +191,7 @@ msgstr "^7按下 ^3ESC ^7來顯示HUD選項."
 
 #: qcsrc/client/hud/panel/infomessages.qc:226
 msgid "^3Doubleclick ^7a panel for panel-specific options."
-msgstr ""
+msgstr "^3雙擊 ^7a 板面執行板面專用選項。"
 
 #: qcsrc/client/hud/panel/infomessages.qc:227
 msgid "^3CTRL ^7to disable collision testing, ^3SHIFT ^7and"
@@ -262,7 +262,7 @@ msgstr "QMCMD^團隊對話"
 
 #: qcsrc/client/hud/panel/quickmenu.qc:793
 msgid "QMCMD^quad soon"
-msgstr ""
+msgstr "QMCMD^四分之一"
 
 #: qcsrc/client/hud/panel/quickmenu.qc:794
 msgid "QMCMD^free item %x^7 (l:%y^7)"
@@ -414,7 +414,7 @@ msgstr "QMCMD^音效設定"
 
 #: qcsrc/client/hud/panel/quickmenu.qc:824
 msgid "QMCMD^Hit sound"
-msgstr ""
+msgstr "QMCMD^擊打聲"
 
 #: qcsrc/client/hud/panel/quickmenu.qc:825
 msgid "QMCMD^Chat sound"
@@ -431,11 +431,11 @@ msgstr "QMCMD^第一人稱"
 
 #: qcsrc/client/hud/panel/quickmenu.qc:832
 msgid "QMCMD^3rd person around player"
-msgstr ""
+msgstr "QMCMD^3rd人稱環繞玩家"
 
 #: qcsrc/client/hud/panel/quickmenu.qc:833
 msgid "QMCMD^3rd person behind"
-msgstr ""
+msgstr "QMCMD^3rd人稱後方"
 
 #: qcsrc/client/hud/panel/quickmenu.qc:839
 #: qcsrc/client/hud/panel/quickmenu.qc:844
@@ -557,11 +557,11 @@ msgstr "SCO^已破壞"
 
 #: qcsrc/client/hud/panel/scoreboard.qc:84
 msgid "SCO^damage"
-msgstr ""
+msgstr "SCO^傷害"
 
 #: qcsrc/client/hud/panel/scoreboard.qc:85
 msgid "SCO^dmgtaken"
-msgstr ""
+msgstr "SCO^得到的傷害"
 
 #: qcsrc/client/hud/panel/scoreboard.qc:86
 msgid "SCO^drops"
@@ -657,7 +657,7 @@ msgstr "SCO^復活"
 
 #: qcsrc/client/hud/panel/scoreboard.qc:109
 msgid "SCO^rounds won"
-msgstr ""
+msgstr "SCO^回合勝利"
 
 #: qcsrc/client/hud/panel/scoreboard.qc:110
 msgid "SCO^score"
@@ -916,7 +916,7 @@ msgstr "分數板"
 #: qcsrc/client/hud/panel/scoreboard.qc:1580
 #, c-format
 msgid "Speed award: %d%s ^7(%s^7)"
-msgstr ""
+msgstr "速度獎勵: %d%s ^7(%s^7)"
 
 #: qcsrc/client/hud/panel/scoreboard.qc:1584
 #, c-format
@@ -1131,7 +1131,7 @@ msgstr "足球偷竊者"
 
 #: qcsrc/common/items/item/armor.qh:111
 msgid "Big armor"
-msgstr ""
+msgstr "大型護甲"
 
 #: qcsrc/common/items/item/armor.qh:147
 msgid "Mega armor"
@@ -1139,7 +1139,7 @@ msgstr "巨型護甲"
 
 #: qcsrc/common/items/item/health.qh:111
 msgid "Big health"
-msgstr ""
+msgstr "大型補血包"
 
 #: qcsrc/common/items/item/health.qh:147
 msgid "Mega health"
@@ -1348,7 +1348,7 @@ msgstr ""
 
 #: qcsrc/common/minigames/minigame/bd.qc:1404
 msgid "Next Level"
-msgstr ""
+msgstr "下一階段"
 
 #: qcsrc/common/minigames/minigame/bd.qc:1405
 msgid "Restart"
@@ -1595,11 +1595,11 @@ msgstr ""
 
 #: qcsrc/common/mutators/mutator/damagetext/damagetext.qc:292
 msgid "Font size minimum:"
-msgstr ""
+msgstr "字體大小最小值:"
 
 #: qcsrc/common/mutators/mutator/damagetext/damagetext.qc:297
 msgid "Font size maximum:"
-msgstr ""
+msgstr "字體大小最大值:"
 
 #: qcsrc/common/mutators/mutator/damagetext/damagetext.qc:302
 msgid "Accumulate range:"
@@ -1756,7 +1756,7 @@ msgstr "粉紅色基地"
 
 #: qcsrc/common/mutators/mutator/waypoints/all.inc:29
 msgid "Return flag here"
-msgstr ""
+msgstr "在這裡回歸旗子"
 
 #: qcsrc/common/mutators/mutator/waypoints/all.inc:31
 #: qcsrc/common/mutators/mutator/waypoints/all.inc:32
@@ -2474,7 +2474,7 @@ msgstr "^BG%s^K3 將在 %s 秒后自動復活"
 #: qcsrc/common/notifications/all.inc:368
 #, c-format
 msgid "^BG%s^K1 froze themself"
-msgstr ""
+msgstr "^BG%s^K1 凍結他們自己"
 
 #: qcsrc/common/notifications/all.inc:370
 #: qcsrc/common/notifications/all.inc:684
@@ -2490,7 +2490,7 @@ msgstr "^BG%s^BG 贏了這回合"
 #: qcsrc/common/notifications/all.inc:372
 #: qcsrc/common/notifications/all.inc:548
 msgid "^BGRound tied"
-msgstr ""
+msgstr "^BG平局"
 
 #: qcsrc/common/notifications/all.inc:373
 #: qcsrc/common/notifications/all.inc:549
@@ -4829,7 +4829,7 @@ msgstr "漢語(中國)"
 
 #: qcsrc/menu/xonotic/credits.qc:171
 msgid "Chinese (Taiwan)"
-msgstr ""
+msgstr "中文 (臺灣)"
 
 #: qcsrc/menu/xonotic/credits.qc:176
 msgid "Cornish"
index 2f7e08342c1815890f9a693cdac8b893a0a30318..affdd6e4f9ebaf931f46da97b52124ea21de28da 100644 (file)
@@ -12,7 +12,7 @@ pl    Polish "Polski" 80%
 pt    Portuguese "Português" 100%
 ro    Romanian "Romana" 84%
 fi    Finnish "Suomi" 33%
-zh_TW "Chinese (Taiwan)" "國語" 67%
+zh_TW "Chinese (Taiwan)" "國語" 68%
 el    Greek "Ελληνική" 33%
 be    Belarusian "Беларуская" 62%
 bg    Bulgarian "Български" 68%
index ddadde8977165dc21d9845fec70d50e24a433b56..56947865db01bfcdc9876ac886ad9ee6e2a1342e 100644 (file)
@@ -170,3 +170,9 @@ MUTATOR_HOOKABLE(DrawInfoMessages, EV_DrawInfoMessages);
        /** file */                     i(float, MUTATOR_ARGV_0_float) \
        /**/
 MUTATOR_HOOKABLE(HUD_WriteCvars, EV_HUD_WriteCvars);
+
+/** Called when the view model is being animated (setorigin is called after the hook, so you only need to modify origin here if desired) */
+#define EV_DrawViewModel(i, o) \
+       /** entity id */                i(entity, MUTATOR_ARGV_0_entity) \
+       /**/
+MUTATOR_HOOKABLE(DrawViewModel, EV_DrawViewModel);
index 65df30fd89ff5ec10f4eb3804cac9e7d3776c384..185fa3f2b76fe7fbc2630481fbf289306f97212a 100644 (file)
@@ -356,6 +356,7 @@ void viewmodel_draw(entity this)
        this.angles = this.viewmodel_angles;
        this.angles_x = (-90 * f * f);
        viewmodel_animate(this);
+       MUTATOR_CALLHOOK(DrawViewModel, this);
        setorigin(this, this.origin);
 }
 
@@ -2245,7 +2246,9 @@ void CSQC_UpdateView(entity this, float w, float h)
        // draw 2D entities
        IL_EACH(g_drawables_2d, it.draw2d, it.draw2d(it));
        Draw_ShowNames_All();
+#ifdef DEBUGDRAW
        Debug_Draw();
+#endif
 
        scoreboard_active = Scoreboard_WouldDraw();
 
index f45aeef7ed88d83dea4d578a366bc8078e256e43..7aabe69a90e51f29d6cdcb6156a8730a25cb29a3 100644 (file)
@@ -47,6 +47,7 @@ REGISTER_NET_TEMP(net_debug)
        }
 #endif
 
+#ifdef DEBUGDRAW
 #ifdef GAMEQC
 /**
  * 0: off
@@ -182,6 +183,7 @@ bool autocvar_debugdraw;
                }
        }
 #endif
+#endif
 
 GENERIC_COMMAND(bufstr_get, "Examine a string buffer object")
 {
index 70217365d40e0156259dff72b2f5ec3e11dc2b09..461fb35afce438ed7bec3b3e590338a1c50c1437 100644 (file)
@@ -260,7 +260,7 @@ void buff_Think(entity this)
        }
 
        if(!this.buff_active && !this.buff_activetime)
-       if(!this.owner || STAT(FROZEN, this.owner) || IS_DEAD(this.owner) || !this.owner.iscreature || !(this.owner.buffs & this.buffs) || this.pickup_anyway > 0 || (this.pickup_anyway >= 0 && autocvar_g_buffs_pickup_anyway))
+       if(!this.owner || STAT(FROZEN, this.owner) || IS_DEAD(this.owner) || !this.owner.iscreature || this.owner.vehicle || !(this.owner.buffs & this.buffs) || this.pickup_anyway > 0 || (this.pickup_anyway >= 0 && autocvar_g_buffs_pickup_anyway))
        {
                buff_SetCooldown(this, autocvar_g_buffs_cooldown_respawn + frametime);
                this.owner = NULL;
@@ -989,28 +989,6 @@ MUTATOR_HOOKFUNCTION(buffs, SpectateCopy)
        client.buff_time = spectatee.buff_time;
 }
 
-MUTATOR_HOOKFUNCTION(buffs, VehicleEnter)
-{
-       entity player = M_ARGV(0, entity);
-       entity veh = M_ARGV(1, entity);
-
-       veh.buffs = player.buffs;
-       player.buffs = 0;
-       veh.buff_time = max(0, player.buff_time - time);
-       player.buff_time = 0;
-}
-
-MUTATOR_HOOKFUNCTION(buffs, VehicleExit)
-{
-       entity player = M_ARGV(0, entity);
-       entity veh = M_ARGV(1, entity);
-
-       player.buffs = player.oldbuffs = veh.buffs;
-       veh.buffs = 0;
-       player.buff_time = time + veh.buff_time;
-       veh.buff_time = 0;
-}
-
 MUTATOR_HOOKFUNCTION(buffs, PlayerRegen)
 {
        entity player = M_ARGV(0, entity);
index b469c500291b842560195be643adcf27bfb38d92..0c9ff29d913f9d7f306f98618d1f1cafbf4a8f4a 100644 (file)
@@ -870,6 +870,9 @@ void vehicles_exit(entity vehic, bool eject)
 
        CSQCMODEL_AUTOINIT(vehic);
 
+       if(player)
+               player.oldorigin = player.origin; // player's location is set by the exit functions, so we need to do this after everything
+
        vehicles_exit_running = false;
 }
 
index 69d7dbf8905da2dffb17562a1d32264ae2cd2914..1c9e6e1a41d549166b53d6c9f3ec004438a1dc07 100644 (file)
@@ -99,6 +99,7 @@ bool bumblebee_gunner_frame(entity this, float dt)
                _out = autocvar_g_vehicle_bumblebee_cannon_turnlimit_in;
                setorigin(this, vehic.origin + v_up * -16 + v_forward * -16 + v_right * -128);
        }
+       this.oldorigin = this.origin; // negate fall damage
 
        crosshair_trace(this);
        vector _ct = trace_endpos;
@@ -607,6 +608,7 @@ bool bumblebee_pilot_frame(entity this, float dt)
        makevectors(vehic.angles);
        vehic.angles_x *= -1;
        setorigin(this, vehic.origin + v_up * 48 + v_forward * 160);
+       this.oldorigin = this.origin; // negate fall damage
 
        PHYS_INPUT_BUTTON_ATCK(this) = PHYS_INPUT_BUTTON_ATCK2(this) = PHYS_INPUT_BUTTON_CROUCH(this) = false;
 }
index b972f8aafb8207f33e707122847cf48af8e5565b..b62eac09af0cb173b1de76a1e51595b448f7bdac 100644 (file)
@@ -377,6 +377,7 @@ bool racer_frame(entity this, float dt)
 #endif
 
        setorigin(this, vehic.origin + '0 0 32');
+       this.oldorigin = this.origin; // negate fall damage
        this.velocity = vehic.velocity;
 }
 
index 78fdba5117148f9196ddbec467809503c8f23bfe..5424d1cdf5cd132479d44fdcf407efb2c8f0bfef 100644 (file)
@@ -254,6 +254,7 @@ bool raptor_frame(entity this, float dt)
        vehic.velocity  += df * dt;
        this.velocity = this.movement  = vehic.velocity;
        setorigin(this, vehic.origin + '0 0 32');
+       this.oldorigin = this.origin; // negate fall damage
 
        this.vehicle_weapon2mode = vehic.vehicle_weapon2mode;
 
@@ -461,6 +462,7 @@ bool raptor_takeoff(entity this, float dt)
                PHYS_INPUT_BUTTON_ATCK(this) = PHYS_INPUT_BUTTON_ATCK2(this) = PHYS_INPUT_BUTTON_CROUCH(this) = false;
 
                setorigin(this, vehic.origin + '0 0 32');
+               this.oldorigin = this.origin;
        }
        else
                this.PlayerPhysplug = raptor_frame;
index a5411e843474927583544807a07ef7ce58dd151b..164371e131b5274eef7f81c41e7d74f4ffcf9911 100644 (file)
@@ -308,6 +308,7 @@ bool spiderbot_frame(entity this, float dt)
                this.vehicle_reload2 = 100 - ((vehic.gun2.cnt - time) / vehic.attack_finished_single[0]) * 100;
 
        setorigin(this, vehic.origin + '0 0 1' * vehic.maxs_z);
+       this.oldorigin = this.origin; // negate fall damage
        this.velocity = vehic.velocity;
 
        VEHICLE_UPDATE_PLAYER(this, vehic, health, spiderbot);
index 168ca84968c5e6fc75422b18fc777880874b3c12..72ee5a7cd4c486d641370481f3797c27b7c5f20b 100644 (file)
@@ -338,6 +338,7 @@ void PutObserverInServer(entity this)
 
        this.items = 0;
        this.weapons = '0 0 0';
+       this.dual_weapons = '0 0 0';
        this.drawonlytoclient = this;
 
        this.weaponmodel = "";
@@ -1694,6 +1695,7 @@ void SpectateCopy(entity this, entity spectatee)
        this.superweapons_finished = spectatee.superweapons_finished;
        STAT(PRESSED_KEYS, this) = STAT(PRESSED_KEYS, spectatee);
        this.weapons = spectatee.weapons;
+       this.dual_weapons = spectatee.dual_weapons;
        this.vortex_charge = spectatee.vortex_charge;
        this.vortex_chargepool_ammo = spectatee.vortex_chargepool_ammo;
        this.hagar_load = spectatee.hagar_load;
index 6ed0e4052350e7c96798b91d3fc9590b89872508..8815aceac1c95f88cb87bb697257beef0afd9a1c 100644 (file)
@@ -151,6 +151,7 @@ void target_give_init(entity this)
         it.nextthink = time;
        });
        this.spawnflags = 2;
+       this.spawnfunc_checked = true;
        spawnfunc_target_items(this);
        InitializeEntity(this, target_init_verify, INITPRIO_FINDTARGET);
 }
index ccb361ea6908d573a09c173dac06098d0341cefa..e210151dce99f3a6e8a5cb1dd9531ebc489c51c1 100644 (file)
@@ -418,6 +418,8 @@ const int MIF_GUIDED_CONFUSABLE = MIF_GUIDED_HEAT | MIF_GUIDED_AI;
 
 .void(entity this, entity player) init_for_player;
 
+.WepSet dual_weapons;
+
 IntrusiveList g_monsters;
 STATIC_INIT(g_monsters) { g_monsters = IL_NEW(); }
 
index 71c731a308e830ac59d3d3b323b177edc4444e8e..f28d8fbfc578abf0bd01d116621e4c2382c8f0a6 100644 (file)
@@ -345,6 +345,7 @@ void cvar_changes_init()
                BADCVAR("leadlimit_override");
                BADCVAR("pausable");
                BADCVAR("sv_checkforpacketsduringsleep");
+               BADCVAR("sv_db_saveasdump");
                BADCVAR("sv_intermission_cdtrack");
                BADCVAR("sv_minigames");
                BADCVAR("sv_namechangetimer");
index e8b8d9a4b293c9732c7dafe777327d626c8a2d54..895c65ae29b0ab7def236c753c9fce930c3288b4 100644 (file)
@@ -61,7 +61,7 @@ bool client_hasweapon(entity this, Weapon wpn, .entity weaponentity, float andam
                        sprint(this, "Invalid weapon\n");
                return false;
        }
-       if (autocvar_g_weaponswitch_debug == 2 && weaponslot(weaponentity) > 0 && !(wpn.spawnflags & WEP_FLAG_DUALWIELD))
+       if (autocvar_g_weaponswitch_debug == 2 && weaponslot(weaponentity) > 0 && !(wpn.spawnflags & WEP_FLAG_DUALWIELD) && !(this.dual_weapons & wpn.m_wepset))
                return false; // no complaints needed
        if (this.weapons & WepSet_FromWeapon(wpn))
        {
index 1605db39d2228550b50bce4ab04041b7349e3cbe..2e4e160b3e16f1727a810cf3418a8d41b1a81b1e 100644 (file)
@@ -457,7 +457,7 @@ void W_WeaponFrame(Player actor, .entity weaponentity)
                .entity wepe1 = weaponentities[0];
                entity wep1 = actor.(wepe1);
                this.m_switchweapon = wep1.m_switchweapon;
-               if(!(this.m_switchweapon.spawnflags & WEP_FLAG_DUALWIELD))
+               if(!(this.m_switchweapon.spawnflags & WEP_FLAG_DUALWIELD) && !(actor.dual_weapons & wep1.m_switchweapon.m_wepset))
                {
                        this.m_weapon = WEP_Null;
                        this.m_switchingweapon = WEP_Null;
index 38c5c86340a28e6087e31960578dc0c6a1e11740..15cbfc4aab5a222f8a06da9091884057c5f84fe3 100755 (executable)
@@ -47,12 +47,13 @@ $(return >/dev/null 2>&1) || {
     IN=$3
     case "${OUT}" in
       /*)
+        OUT_ABSOLUTE=${OUT}
         ;;
       *)
-        OUT=${PWD}/${OUT}
+        OUT_ABSOLUTE=${PWD}/${OUT}
         ;;
     esac
     set -x
     qpp "${IN}" "${OUT}" -I. ${QCCIDENT} ${QCCDEFS} > "${WORKDIR}/${MODE}.qc"
-    qcc ${QCCFLAGS} -o "${OUT}" "../${WORKDIR}/${MODE}.qc"
+    qcc ${QCCFLAGS} -o "${OUT_ABSOLUTE}" "../${WORKDIR}/${MODE}.qc"
 }