X-Git-Url: https://de.git.xonotic.org/?a=blobdiff_plain;f=qcsrc%2Fcommon%2Fmutators%2Fmutator%2Fwalljump%2Fwalljump.qc;h=519159d917b386b9488261845caeed486f4f378c;hb=06a08d0c6b573f2562297147171aff3d990fa42d;hp=96b81a561544d92f1dedf42bef2cc4a2cd25516e;hpb=8f08a117d2eada0c38cb1d07a0798daf192dd666;p=xonotic%2Fxonotic-data.pk3dir.git diff --git a/qcsrc/common/mutators/mutator/walljump/walljump.qc b/qcsrc/common/mutators/mutator/walljump/walljump.qc index 96b81a561..519159d91 100644 --- a/qcsrc/common/mutators/mutator/walljump/walljump.qc +++ b/qcsrc/common/mutators/mutator/walljump/walljump.qc @@ -1,9 +1,10 @@ #include "walljump.qh" +#ifdef GAMEQC #ifdef CSQC REGISTER_MUTATOR(walljump, true); #elif defined(SVQC) -REGISTER_MUTATOR(walljump, cvar("g_walljump")); +REGISTER_MUTATOR(walljump, autocvar_g_walljump); #endif #define PHYS_WALLJUMP(s) STAT(WALLJUMP, s) @@ -22,10 +23,12 @@ vector PlayerTouchWall(entity this) float dist = 10, max_normal = 0.2, scaler = 100; vector start = this.origin; - TRACE(start + v_forward * scaler) - TRACE(start - v_forward * scaler) - TRACE(start + v_right * scaler) - TRACE(start - v_right * scaler) + vector forward, right, _up; + MAKE_VECTORS(this.angles, forward, right, _up); + TRACE(start + forward * scaler) + TRACE(start - forward * scaler) + TRACE(start + right * scaler) + TRACE(start - right * scaler) #undef TRACE return '0 0 0'; } @@ -43,7 +46,7 @@ MUTATOR_HOOKFUNCTION(walljump, PlayerJump) if(!IS_DEAD(player)) { vector plane_normal = PlayerTouchWall(player); - + if(plane_normal != '0 0 0') { float wj_force = PHYS_WALLJUMP_FORCE(player); @@ -68,3 +71,5 @@ MUTATOR_HOOKFUNCTION(walljump, PlayerJump) } } } + +#endif