Fix VERY WRONG math.

This commit is contained in:
Mari the Deer 2022-12-11 00:21:36 +01:00
commit caa1a07e25
2 changed files with 9 additions and 7 deletions

View file

@ -1,3 +1,3 @@
[default]
SWWM_MODVER="\cyDEMOLITIONIST \cw1.3pre r682 \cu(Sat 10 Dec 23:17:48 CET 2022)\c-";
SWWM_SHORTVER="\cw1.3pre r682 \cu(2022-12-10 23:17:48)\c-";
SWWM_MODVER="\cyDEMOLITIONIST \cw1.3pre r683 \cu(Sun 11 Dec 00:21:36 CET 2022)\c-";
SWWM_SHORTVER="\cw1.3pre r683 \cu(2022-12-11 00:21:36)\c-";

View file

@ -252,9 +252,8 @@ Class SWWMUtility
// new GetAxes
static clearscope Vector3, Vector3, Vector3 GetAxes( double angle, double pitch, double roll )
{
Vector3 x = (1,0,0), y = (0,-1,0), z = (0,0,1); // left-handed Y
Quat r = Quat.FromAngles(angle,pitch,roll);
return r*x,r*y,r*z;
return r*(1,0,0), r*(0,-1,0), r*(0,0,1);
}
// for aiming and shooting
@ -274,14 +273,17 @@ Class SWWMUtility
}
static clearscope Vector3, Vector3, Vector3 GetPlayerAxes( Actor player )
{
return GetAxes(player.angle+player.viewangle,player.pitch+player.viewpitch,player.roll+player.viewroll);
r = Quat.FromAngles(player.angle+player.viewangle,pitch,player.roll+player.viewroll);
return r*(1,0,0), r*(0,-1,0), r*(0,0,1);
}
static play Vector3, Vector3, Vector3 GetPlayerAxesAutoAimed( Actor player )
{
FTranslatedLineTarget t;
double pitch = player.BulletSlope(t);
if ( !t.linetarget ) return GetAxes(player.angle+player.viewangle,player.pitch+player.viewpitch,player.roll+player.viewroll);
return GetAxes(player.angle+player.viewangle,pitch,player.roll+player.viewroll);
Quat r;
if ( !t.linetarget ) r = Quat.FromAngles(player.angle+player.viewangle,player.pitch+player.viewpitch,player.roll+player.viewroll);
else r = Quat.FromAngles(player.angle+player.viewangle,pitch,player.roll+player.viewroll);
return r*(1,0,0), r*(0,-1,0), r*(0,0,1);
}
static clearscope Vector3 GetPlayerEye( Actor player )
{