X-Git-Url: http://de.git.xonotic.org/?p=xonotic%2Fxonotic-data.pk3dir.git;a=blobdiff_plain;f=qcsrc%2Fserver%2Fweapons%2Fhitplot.qc;h=2a4ca8dc3799503498d84f46e5ff13d91adf379c;hp=9846443647a921fa99e3effbc1cf669383c1be42;hb=707ef9331a9405bbf266ab5aa3a87a175cad8d8f;hpb=f1a87492d9fed27a64d0e99c068705aba5509f26 diff --git a/qcsrc/server/weapons/hitplot.qc b/qcsrc/server/weapons/hitplot.qc index 984644364..2a4ca8dc3 100644 --- a/qcsrc/server/weapons/hitplot.qc +++ b/qcsrc/server/weapons/hitplot.qc @@ -2,7 +2,9 @@ #include "../antilag.qh" #include "../g_subs.qh" -#include "../../common/weapons/all.qh" +#include +#include +#include vector W_HitPlotUnnormalizedUntransform(vector screenforward, vector screenright, vector screenup, vector v) { @@ -50,7 +52,7 @@ vector W_HitPlotNormalizedUntransform(vector org, entity targ, vector screenforw return ret; } -void W_HitPlotAnalysis(entity player, vector screenforward, vector screenright, vector screenup) +void W_HitPlotAnalysis(entity player, .entity weaponentity, vector screenforward, vector screenright, vector screenup) { vector hitplot; vector org; @@ -65,13 +67,14 @@ void W_HitPlotAnalysis(entity player, vector screenforward, vector screenright, lag = 0; // only antilag for clients org = player.origin + player.view_ofs; - traceline_antilag_force(player, org, org + screenforward * MAX_SHOT_DISTANCE, MOVE_NORMAL, player, lag); + traceline_antilag_force(player, org, org + screenforward * max_shot_distance, MOVE_NORMAL, player, lag); if(IS_CLIENT(trace_ent) || IS_MONSTER(trace_ent)) { - antilag_takeback(trace_ent, time - lag); + entity store = IS_CLIENT(trace_ent) ? CS(trace_ent) : trace_ent; + antilag_takeback(trace_ent, store, time - lag); hitplot = W_HitPlotNormalizedUntransform(org, trace_ent, screenforward, screenright, screenup, trace_endpos); - antilag_restore(trace_ent); - fputs(player.hitplotfh, strcat(ftos(hitplot.x), " ", ftos(hitplot.y), " ", ftos(hitplot.z), " ", ftos(PS(player).m_switchweapon.m_id), "\n")); + antilag_restore(trace_ent, store); + fputs(player.hitplotfh, strcat(ftos(hitplot.x), " ", ftos(hitplot.y), " ", ftos(hitplot.z), " ", ftos(player.(weaponentity).m_switchweapon.m_id), "\n")); //print(strcat(ftos(hitplot_x), " ", ftos(hitplot_y), " ", ftos(hitplot_z), "\n")); } }