X-Git-Url: http://de.git.xonotic.org/?a=blobdiff_plain;f=qcsrc%2Fserver%2Fweapons%2Ftracing.qh;h=94b3be212e3ec472932c4d666f5716843fb11eff;hb=2f553b6be14a316d31fe5c35df47c300ce6a1561;hp=94bd5b503ce015d2e5559fc53aae5035ed8356b8;hpb=38f4a1731d66faca35562977b145f76e119f2887;p=xonotic%2Fxonotic-data.pk3dir.git diff --git a/qcsrc/server/weapons/tracing.qh b/qcsrc/server/weapons/tracing.qh index 94bd5b503..94b3be212 100644 --- a/qcsrc/server/weapons/tracing.qh +++ b/qcsrc/server/weapons/tracing.qh @@ -1,7 +1,19 @@ #pragma once -#include -#include +#include +#include + +float autocvar_g_ballistics_density_corpse; +float autocvar_g_ballistics_density_player; +float autocvar_g_ballistics_mindistance; +bool autocvar_g_ballistics_penetrate_clips = true; +float autocvar_g_ballistics_solidpenetration_exponent = 1; +int autocvar_g_projectiles_newton_style; +float autocvar_g_projectiles_newton_style_2_maxfactor; +float autocvar_g_projectiles_newton_style_2_minfactor; +int autocvar_g_projectiles_spread_style; +bool autocvar_g_norecoil; +float autocvar_g_trueaim_minrange; vector w_shotorg; vector w_shotdir; @@ -62,12 +74,37 @@ void W_SetupProjVelocity_Explicit(entity proj, vector dir, vector upDir, float p // Ballistics Tracing // ==================== +.float ballistics_density; + +// for railgun damage (hitting multiple enemies) +.bool railgunhit; +.float railgunhitsolidbackup; +.vector railgunhitloc; + +IntrusiveList g_railgunhit; +STATIC_INIT(g_railgunhit) { g_railgunhit = IL_NEW(); } + .float railgundistance; .vector railgunforce; -void FireRailgunBullet (entity this, .entity weaponentity, vector start, vector end, float bdamage, float bforce, float mindist, float maxdist, float halflifedist, float forcehalflifedist, int deathtype); +void FireRailgunBullet (entity this, .entity weaponentity, vector start, vector end, float bdamage, bool headshot_notify, float bforce, float mindist, float maxdist, float halflifedist, float forcehalflifedist, int deathtype); entity fireBullet_trace_callback_eff; entity fireBullet_last_hit; void fireBullet_trace_callback(vector start, vector hit, vector end); -void fireBullet_antilag(entity this, .entity weaponentity, vector start, vector dir, float spread, float max_solid_penetration, float damage, float force, float dtype, entity tracer_effect, bool do_antilag); -void fireBullet(entity this, .entity weaponentity, vector start, vector dir, float spread, float max_solid_penetration, float damage, float force, float dtype, entity tracer_effect); +void fireBullet_antilag(entity this, .entity weaponentity, vector start, vector dir, float spread, float max_solid_penetration, float damage, float headshot_multiplier, float force, float dtype, entity tracer_effect, bool do_antilag); +void fireBullet(entity this, .entity weaponentity, vector start, vector dir, float spread, float max_solid_penetration, float damage, float headshot_multiplier, float force, float dtype, entity tracer_effect); + +void crosshair_trace(entity pl); + +void crosshair_trace_plusvisibletriggers(entity pl); +void WarpZone_crosshair_trace_plusvisibletriggers(entity pl); +void crosshair_trace_plusvisibletriggers__is_wz(entity pl, bool is_wz); + +void traceline_antilag (entity source, vector v1, vector v2, float nomonst, entity forent, float lag); + +void WarpZone_crosshair_trace(entity pl); + +void WarpZone_traceline_antilag (entity source, vector v1, vector v2, float nomonst, entity forent, float lag); + +IntrusiveList g_ctrace_changed; +STATIC_INIT(g_ctrace_changed) { g_ctrace_changed = IL_NEW(); }