- floatified most of gun.cpp.

This commit is contained in:
Christoph Oelckers 2022-09-10 21:16:25 +02:00
parent dc6745b935
commit 58c2af168f

View file

@ -646,25 +646,25 @@ loc_flag:
else else
ecx = theVal; ecx = theVal;
DAngle var_44 = (nAngle + DAngle90).Normalized360(); DAngle angle = (nAngle + DAngle90).Normalized360();
ebp += var_44.Cos() * (1 << 3) * ecx; ebp += angle.Cos() * (1 << 3) * ecx;
ebx += var_44.Sin() * (1 << 3) * ecx; ebx += angle.Sin() * (1 << 3) * ecx;
} }
int nHeight = (-GetActorHeight(pPlayerActor)) >> 1; double nHeight = GetActorHeightF(pPlayerActor) * -0.5;
if (nAction < 6) if (nAction < 6)
{ {
nHeight -= 1792; nHeight -= 7;
} }
else else
{ {
if (!var_38) if (!var_38)
{ {
nHeight += 1024; nHeight += 4;
} }
else { else {
nHeight -= 2560; nHeight -= 10;
} }
} }
@ -675,9 +675,9 @@ loc_flag:
// loc_27266: // loc_27266:
case kWeaponSword: case kWeaponSword:
{ {
nHeight += -PlayerList[nLocalPlayer].horizon.horiz.asq16() >> 10; nHeight -= PlayerList[nLocalPlayer].horizon.horiz.asbuildf() * 0.25;
thePos.Z += nHeight * zinttoworld; thePos.Z += nHeight;
int var_28; int var_28;
@ -759,10 +759,10 @@ loc_flag:
else else
{ {
if (var_38) { if (var_38) {
nHeight += 768; nHeight += 3;
} }
else { else {
nHeight -= 2560; nHeight -= 10;
} }
// fall through to case 1 (kWeaponPistol) // fall through to case 1 (kWeaponPistol)
@ -780,7 +780,7 @@ loc_flag:
} }
case kWeaponPistol: case kWeaponPistol:
{ {
int h = PlayerList[nLocalPlayer].horizon.horiz.asq16() >> 14; double h = PlayerList[nLocalPlayer].horizon.horiz.asbuildf() / 64.;
nHeight -= h; nHeight -= h;
DExhumedActor* target = nullptr; DExhumedActor* target = nullptr;
@ -798,18 +798,18 @@ loc_flag:
} }
} }
BuildBullet(pPlayerActor, nAmmoType, nHeight * zinttoworld, nAngle, target, var_1C, h); BuildBullet(pPlayerActor, nAmmoType, nHeight, nAngle, target, var_1C, int(h * zworldtoint));
break; break;
} }
case kWeaponGrenade: case kWeaponGrenade:
{ {
ThrowGrenade(nPlayer, ebp, ebx, nHeight - 2560, FixedToInt(PlayerList[nLocalPlayer].horizon.horiz.asq16())); ThrowGrenade(nPlayer, ebp, ebx, nHeight * zworldtoint - 2560, FixedToInt(PlayerList[nLocalPlayer].horizon.horiz.asq16()));
break; break;
} }
case kWeaponStaff: case kWeaponStaff:
{ {
BuildSnake(nPlayer, nHeight); BuildSnake(nPlayer, nHeight * zworldtoint);
nQuake[nPlayer] = 2.; nQuake[nPlayer] = 2.;
PlayerList[nPlayer].nThrust -= pPlayerActor->spr.angle.ToVector() * 2; PlayerList[nPlayer].nThrust -= pPlayerActor->spr.angle.ToVector() * 2;