]> de.git.xonotic.org Git - xonotic/xonotic-data.pk3dir.git/commitdiff
Merge branch 'master' into Mario/status_effects_extended
authorMario <mario.mario@y7mail.com>
Wed, 23 Jun 2021 03:17:16 +0000 (13:17 +1000)
committerMario <mario.mario@y7mail.com>
Wed, 23 Jun 2021 03:17:16 +0000 (13:17 +1000)
.tx/merge-base
common.ca.po
common.es.po
common.gl.po
common.ja_JP.po
languages.txt
qcsrc/common/mutators/mutator/dodging/sv_dodging.qc
qcsrc/common/physics/movetypes/movetypes.qc
qcsrc/common/physics/movetypes/movetypes.qh
qcsrc/server/client.qc
qcsrc/server/world.qc

index fea366fda43b57e0369624503c24402708d9b2e8..c5d98d6a2c679983e34c3143ae5d5d9965652ce1 100644 (file)
@@ -1 +1 @@
-Mon Jun 21 07:23:43 CEST 2021
+Tue Jun 22 07:23:37 CEST 2021
index ad8c04f5ab7c7039e38b0d151fc132e9894c818f..6393ee8e2c70b749bce047ad518c166c40973bd5 100644 (file)
@@ -4,15 +4,15 @@
 #
 # Translators:
 # LegendGuard, 2020
-# LegendGuard, 2020
+# LegendGuard, 2020-2021
 # Roi Asher Gerszkoviez <gerszkoviez@gmail.com>, 2017
 msgid ""
 msgstr ""
 "Project-Id-Version: Xonotic\n"
 "Report-Msgid-Bugs-To: \n"
 "POT-Creation-Date: 2021-06-20 07:23+0200\n"
-"PO-Revision-Date: 2021-06-20 05:23+0000\n"
-"Last-Translator: divVerent <divVerent@xonotic.org>\n"
+"PO-Revision-Date: 2021-06-21 22:35+0000\n"
+"Last-Translator: LegendGuard\n"
 "Language-Team: Catalan (http://www.transifex.com/team-xonotic/xonotic/"
 "language/ca/)\n"
 "Language: ca\n"
@@ -970,7 +970,7 @@ msgstr "Estadístiques de precisió (mitjana %d%%)"
 
 #: qcsrc/client/hud/panel/scoreboard.qc:1409
 msgid "Item stats"
-msgstr ""
+msgstr "Estadístiques de l'objecte"
 
 #: qcsrc/client/hud/panel/scoreboard.qc:1520
 msgid "Map stats:"
@@ -1045,27 +1045,27 @@ msgstr ""
 
 #: qcsrc/client/hud/panel/strafehud.qc:908
 msgid "qu"
-msgstr ""
+msgstr "qu"
 
 #: qcsrc/client/hud/panel/strafehud.qc:909
 msgid "m"
-msgstr ""
+msgstr "m"
 
 #: qcsrc/client/hud/panel/strafehud.qc:910
 msgid "km"
-msgstr ""
+msgstr "km"
 
 #: qcsrc/client/hud/panel/strafehud.qc:911
 msgid "mi"
-msgstr ""
+msgstr "mi"
 
 #: qcsrc/client/hud/panel/strafehud.qc:912
 msgid "nmi"
-msgstr ""
+msgstr "nmi"
 
 #: qcsrc/client/hud/panel/timer.qc:71
 msgid "WARMUP"
-msgstr ""
+msgstr "ESCALFAMENT"
 
 #: qcsrc/client/hud/panel/vote.qc:30
 msgid "^1You must answer before entering hud configure mode"
@@ -1073,7 +1073,7 @@ msgstr ""
 
 #: qcsrc/client/hud/panel/vote.qc:33
 msgid "^2Name ^7instead of \"^1Anonymous player^7\" in stats"
-msgstr ""
+msgstr "^2Nom ^7en lloc de \"^1Jugador anònim^7\" en les estadístiques"
 
 #: qcsrc/client/hud/panel/vote.qc:119
 msgid "A vote has been called for:"
@@ -1961,7 +1961,7 @@ msgstr ""
 
 #: qcsrc/common/mutators/mutator/status_effects/status_effect/powerups.qh:27
 msgid "Superweapons"
-msgstr ""
+msgstr "Superarmes"
 
 #: qcsrc/common/mutators/mutator/waypoints/all.inc:3
 msgid "Waypoint"
@@ -3076,7 +3076,7 @@ msgstr ""
 #: qcsrc/common/notifications/all.inc:433
 #, c-format
 msgid "^BG%s^K1 picked up a Superweapon"
-msgstr ""
+msgstr "^BG%s^K1 ha agafat una Superarma"
 
 #: qcsrc/common/notifications/all.inc:435
 msgid "^BGYou cannot change to a larger team"
@@ -4231,15 +4231,15 @@ msgstr ""
 
 #: qcsrc/common/notifications/all.inc:758
 msgid "^F2Superweapons have broken down"
-msgstr ""
+msgstr "^F2Les superarmes s'han trencat"
 
 #: qcsrc/common/notifications/all.inc:759
 msgid "^F2Superweapons have been lost"
-msgstr ""
+msgstr "^F2Les superarmes s'han perdut"
 
 #: qcsrc/common/notifications/all.inc:760
 msgid "^F2You now have a superweapon"
-msgstr ""
+msgstr "^F2Ara tens una superarma"
 
 #: qcsrc/common/notifications/all.inc:762
 msgid "^K1Changing to ^TC^TT^K1 in ^COUNT"
@@ -5433,7 +5433,7 @@ msgstr ""
 
 #: qcsrc/menu/xonotic/credits.qc:34
 msgid "Stats"
-msgstr ""
+msgstr "Estadístiques"
 
 #: qcsrc/menu/xonotic/credits.qc:38
 msgid "Art"
@@ -5686,6 +5686,8 @@ msgstr ""
 #: qcsrc/menu/xonotic/dialog_firstrun.qc:78
 msgid "Allow player statistics to use your nickname at stats.xonotic.org?"
 msgstr ""
+"Permetre que les estadístiques de jugador utilitzin el teu sobrenom en stats."
+"xonotic.org?"
 
 #: qcsrc/menu/xonotic/dialog_firstrun.qc:84
 msgid "Undecided"
@@ -5894,7 +5896,7 @@ msgstr ""
 
 #: qcsrc/menu/xonotic/dialog_hudpanel_itemstime.qc:18
 msgid "Enable even playing in warmup"
-msgstr ""
+msgstr "Habilitar fins i tot jugant en l'escalfament"
 
 #: qcsrc/menu/xonotic/dialog_hudpanel_itemstime.qc:29
 msgid "Reduced"
@@ -9693,11 +9695,11 @@ msgstr ""
 
 #: qcsrc/menu/xonotic/serverlist.qc:1045
 msgid "stats disabled"
-msgstr ""
+msgstr "estadístiques habilitades"
 
 #: qcsrc/menu/xonotic/serverlist.qc:1045
 msgid "stats enabled"
-msgstr ""
+msgstr "estadístiques deshabilitades"
 
 #: qcsrc/menu/xonotic/serverlist.qh:156
 msgid "SLCAT^Favorites"
index 333509bc57470afccfd9924ada11f157ed8d7c9a..043d463b87ae479e53a7201eb3fcb669192db4af 100644 (file)
@@ -31,8 +31,8 @@ msgstr ""
 "Project-Id-Version: Xonotic\n"
 "Report-Msgid-Bugs-To: \n"
 "POT-Creation-Date: 2021-06-20 07:23+0200\n"
-"PO-Revision-Date: 2021-06-20 05:23+0000\n"
-"Last-Translator: divVerent <divVerent@xonotic.org>\n"
+"PO-Revision-Date: 2021-06-21 22:22+0000\n"
+"Last-Translator: LegendGuard\n"
 "Language-Team: Spanish (http://www.transifex.com/team-xonotic/xonotic/"
 "language/es/)\n"
 "Language: es\n"
@@ -1998,11 +1998,11 @@ msgstr "Escopeta Overkill"
 
 #: qcsrc/common/mutators/mutator/status_effects/status_effect/burning.qh:16
 msgid "Burning"
-msgstr ""
+msgstr "Ardor"
 
 #: qcsrc/common/mutators/mutator/status_effects/status_effect/powerups.qh:27
 msgid "Superweapons"
-msgstr ""
+msgstr "Superarmas"
 
 #: qcsrc/common/mutators/mutator/waypoints/all.inc:3
 msgid "Waypoint"
@@ -4392,7 +4392,7 @@ msgstr "^BGSolo %s^BG mas para continuar..."
 
 #: qcsrc/common/notifications/all.inc:758
 msgid "^F2Superweapons have broken down"
-msgstr "^F2Superarmas se han descompuesto"
+msgstr "^F2Las superarmas se han descompuesto"
 
 #: qcsrc/common/notifications/all.inc:759
 msgid "^F2Superweapons have been lost"
index c2238c9854b77412ff58d816c47372dfba98facc..b6f1518a9b84d1ecb77a4de120e8ef0698982bf2 100644 (file)
@@ -4,14 +4,14 @@
 #
 # Translators:
 # LegendGuard, 2020
-# LegendGuard, 2020
+# LegendGuard, 2020-2021
 msgid ""
 msgstr ""
 "Project-Id-Version: Xonotic\n"
 "Report-Msgid-Bugs-To: \n"
 "POT-Creation-Date: 2021-06-20 07:23+0200\n"
-"PO-Revision-Date: 2021-06-20 05:23+0000\n"
-"Last-Translator: divVerent <divVerent@xonotic.org>\n"
+"PO-Revision-Date: 2021-06-21 22:39+0000\n"
+"Last-Translator: LegendGuard\n"
 "Language-Team: Galician (http://www.transifex.com/team-xonotic/xonotic/"
 "language/gl/)\n"
 "Language: gl\n"
@@ -164,7 +164,7 @@ msgstr ""
 
 #: qcsrc/client/hud/panel/infomessages.qc:165
 msgid "^2Waiting for others to ready up to end warmup..."
-msgstr ""
+msgstr "^2Agardando que outros estean listos para rematar o quecemento..."
 
 #: qcsrc/client/hud/panel/infomessages.qc:167
 msgid "^2Waiting for others to ready up..."
@@ -173,7 +173,7 @@ msgstr ""
 #: qcsrc/client/hud/panel/infomessages.qc:173
 #, c-format
 msgid "^2Press ^3%s^2 to end warmup"
-msgstr ""
+msgstr "^2Prema ^3 %s ^2 para rematar o quecemento"
 
 #: qcsrc/client/hud/panel/infomessages.qc:194
 msgid "Teamnumbers are unbalanced!"
@@ -1041,7 +1041,7 @@ msgstr ""
 
 #: qcsrc/client/hud/panel/timer.qc:71
 msgid "WARMUP"
-msgstr ""
+msgstr "QUECEMENTO"
 
 #: qcsrc/client/hud/panel/vote.qc:30
 msgid "^1You must answer before entering hud configure mode"
@@ -5870,7 +5870,7 @@ msgstr ""
 
 #: qcsrc/menu/xonotic/dialog_hudpanel_itemstime.qc:18
 msgid "Enable even playing in warmup"
-msgstr ""
+msgstr "Habilitar incluso xogar en quecemento"
 
 #: qcsrc/menu/xonotic/dialog_hudpanel_itemstime.qc:29
 msgid "Reduced"
index 172d2a77700ff73ab6715b66ab8a32ca5f0374ca..24d0e757d66421da46e8e274ece3e70dcd2f2e48 100644 (file)
@@ -12,8 +12,8 @@ msgstr ""
 "Project-Id-Version: Xonotic\n"
 "Report-Msgid-Bugs-To: \n"
 "POT-Creation-Date: 2021-06-20 07:23+0200\n"
-"PO-Revision-Date: 2021-06-20 05:23+0000\n"
-"Last-Translator: divVerent <divVerent@xonotic.org>\n"
+"PO-Revision-Date: 2021-06-21 22:20+0000\n"
+"Last-Translator: LegendGuard\n"
 "Language-Team: Japanese (Japan) (http://www.transifex.com/team-xonotic/"
 "xonotic/language/ja_JP/)\n"
 "Language: ja_JP\n"
@@ -1958,11 +1958,11 @@ msgstr "オーバーキルショットガン"
 
 #: qcsrc/common/mutators/mutator/status_effects/status_effect/burning.qh:16
 msgid "Burning"
-msgstr ""
+msgstr "燃焼"
 
 #: qcsrc/common/mutators/mutator/status_effects/status_effect/powerups.qh:27
 msgid "Superweapons"
-msgstr ""
+msgstr "スーパー武器"
 
 #: qcsrc/common/mutators/mutator/waypoints/all.inc:3
 msgid "Waypoint"
index 7bf446d70e8db9a02eafe733a5a8b27d20b91f0e..e3540a56d56f38e983cf1fa54b653fa7763592a0 100644 (file)
@@ -3,7 +3,7 @@ de    "German" "Deutsch" 99%
 de_CH "German (Switzerland)" "Deutsch (Schweiz)" 99%
 en    "English" "English" 100%
 en_AU "English (Australia)" "English (Australia)" 74%
-es    "Spanish" "Español" 99%
+es    "Spanish" "Español" 100%
 fr    "French" "Français" 100%
 ga    "Irish" "Irish" 31%
 it    "Italian" "Italiano" 99%
@@ -24,5 +24,5 @@ sr    "Serbian" "Српски" 62%
 uk    "Ukrainian" "Українська" 49%
 zh_CN "Chinese (China)" "中文" 57%
 zh_TW "Chinese (Taiwan)" "國語" 59%
-ja_JP "Japanese" "日本語" 99%
+ja_JP "Japanese" "日本語" 100%
 ko    "Korean" "한국의" 28%
index a6611b755dabfa4026ba5a7c24446f2155934678..53effbae20c20c89822b6f499e816998be992810 100644 (file)
@@ -310,6 +310,31 @@ MUTATOR_HOOKFUNCTION(dodging, PlayerPhysics)
 REPLICATE(cvar_cl_dodging_timeout, float, "cl_dodging_timeout");
 REPLICATE(cvar_cl_dodging, bool, "cl_dodging");
 
+void dodging_ResetPlayer(entity this)
+{
+       this.last_dodging_time = 0;
+
+       this.dodging_action = 0;
+       this.dodging_single_action = 0;
+
+       this.dodging_force_total = 0;
+       this.dodging_force_remaining = 0;
+
+       this.dodging_direction = '0 0 0';
+}
+
+MUTATOR_HOOKFUNCTION(dodging, PlayerSpawn)
+{
+       entity player = M_ARGV(0, entity);
+       dodging_ResetPlayer(player);
+}
+
+MUTATOR_HOOKFUNCTION(dodging, MakePlayerObserver)
+{
+       entity player = M_ARGV(0, entity);
+       dodging_ResetPlayer(player);
+}
+
 MUTATOR_HOOKFUNCTION(dodging, GetPressedKeys)
 {
        entity player = M_ARGV(0, entity);
index e207551838e03cd6bbe0f363f1677d17a1a6738f..48216f39297d7fd8178b41f3982f02f2d0cc291d 100644 (file)
@@ -6,6 +6,8 @@ void set_movetype(entity this, int mt)
        this.move_movetype = mt;
        if (mt == MOVETYPE_PHYSICS) {
                this.move_qcphysics = false;
+       } else if (autocvar_sv_qcphysics == 2) {
+               this.move_qcphysics = true;
        }
        if(!IL_CONTAINS(g_moveables, this))
                IL_PUSH(g_moveables, this); // add it to the moveable entities list (even if it doesn't move!) logic: if an object never sets its movetype, we assume it never does anything notable
@@ -424,6 +426,21 @@ void _Movetype_LinkEdict_TouchAreaGrid(entity this)  // SV_LinkEdict_TouchAreaGr
        if(this.solid == SOLID_NOT)
                return;
 
+       // due to a lack of pointers in QC, we must save the trace values and restore them for other functions
+       bool save_trace_allsolid = trace_allsolid;
+       bool save_trace_startsolid = trace_startsolid;
+       float save_trace_fraction = trace_fraction;
+       bool save_trace_inwater = trace_inwater;
+       bool save_trace_inopen = trace_inopen;
+       vector save_trace_endpos = trace_endpos;
+       vector save_trace_plane_normal = trace_plane_normal;
+       float save_trace_plane_dist = trace_plane_dist;
+       entity save_trace_ent = trace_ent;
+       int save_trace_dpstartcontents = trace_dpstartcontents;
+       int save_trace_dphitcontents = trace_dphitcontents;
+       int save_trace_dphitq3surfaceflags = trace_dphitq3surfaceflags;
+       string save_trace_dphittexturename = trace_dphittexturename;
+
     FOREACH_ENTITY_RADIUS_ORDERED(0.5 * (this.absmin + this.absmax), 0.5 * vlen(this.absmax - this.absmin), true, {
                if (it.solid == SOLID_TRIGGER && it != this)
                if (it.move_nomonsters != MOVE_NOMONSTERS && it.move_nomonsters != MOVE_WORLDONLY)
@@ -446,6 +463,20 @@ void _Movetype_LinkEdict_TouchAreaGrid(entity this)  // SV_LinkEdict_TouchAreaGr
                        gettouch(it)(it, this);
                }
     });
+
+       trace_allsolid = save_trace_allsolid;
+       trace_startsolid = save_trace_startsolid;
+       trace_fraction = save_trace_fraction;
+       trace_inwater = save_trace_inwater;
+       trace_inopen = save_trace_inopen;
+       trace_endpos = save_trace_endpos;
+       trace_plane_normal = save_trace_plane_normal;
+       trace_plane_dist = save_trace_plane_dist;
+       trace_ent = save_trace_ent;
+       trace_dpstartcontents = save_trace_dpstartcontents;
+       trace_dphitcontents = save_trace_dphitcontents;
+       trace_dphitq3surfaceflags = save_trace_dphitq3surfaceflags;
+       trace_dphittexturename = save_trace_dphittexturename;
 }
 
 bool autocvar__movetype_debug = false;
index d3de0ba9cf3de35617c8604c8d9023fc92631926..79b0ea7badd26ad287a1f427d99f2d363029e870 100644 (file)
@@ -3,6 +3,8 @@
 #ifdef SVQC
 // undefined on client, engine cvar
 bool autocvar_physics_ode;
+
+int autocvar_sv_qcphysics = 1; // TODO this is for testing - remove when qcphysics work
 #endif
 
 // water levels
index 3e3e64d71f79003a392551a5bc279235aad6b353..a9758146f5dddfaca618b7ddc6b6a624fa7da1ef 100644 (file)
@@ -1077,8 +1077,6 @@ string getwelcomemessage(entity this)
        return s;
 }
 
-bool autocvar_sv_qcphysics = true; // TODO this is for testing - remove when qcphysics work
-
 /**
 =============
 ClientConnect
index 2fd94984002e6448383fa1dbbf04c73d583a9355..2e494450edcfd422f9647caabe982d8e9271468b 100644 (file)
@@ -388,6 +388,7 @@ void cvar_changes_init()
                BADCVAR("sv_minigames");
                BADCVAR("sv_namechangetimer");
                BADCVAR("sv_precacheplayermodels");
+               BADCVAR("sv_qcphysics");
                BADCVAR("sv_radio");
                BADCVAR("sv_stepheight");
                BADCVAR("sv_timeout");
@@ -2205,11 +2206,11 @@ void droptofloor(entity this)
 }
 
 bool autocvar_sv_gameplayfix_multiplethinksperframe = true;
-void RunThink(entity this)
+void RunThink(entity this, float dt)
 {
        // don't let things stay in the past.
        // it is possible to start that way by a trigger with a local time.
-       if(this.nextthink <= 0 || this.nextthink > time + frametime)
+       if(this.nextthink <= 0 || this.nextthink > time + dt)
                return;
 
        float oldtime = time; // do we need to save this?
@@ -2225,7 +2226,7 @@ void RunThink(entity this)
                // we don't want to loop in that case, so exit if the new nextthink is
                // <= the time the qc was told, also exit if it is past the end of the
                // frame
-               if(this.nextthink <= time || this.nextthink > oldtime + frametime || !autocvar_sv_gameplayfix_multiplethinksperframe)
+               if(this.nextthink <= time || this.nextthink > oldtime + dt || !autocvar_sv_gameplayfix_multiplethinksperframe)
                        break;
        }
 
@@ -2255,8 +2256,8 @@ void Physics_Frame()
                        if(it.move_movetype == MOVETYPE_PUSH || it.move_movetype == MOVETYPE_FAKEPUSH)
                                continue; // these movetypes have no regular think function
                        // handle thinking here
-                       if (getthink(it) && it.nextthink > 0 && it.nextthink <= time + frametime)
-                               RunThink(it);
+                       if (getthink(it) && it.nextthink > 0 && it.nextthink <= time + PHYS_INPUT_TIMELENGTH)
+                               RunThink(it, PHYS_INPUT_TIMELENGTH);
                }
        });