mirror of
https://github.com/DrBeef/Raze.git
synced 2024-11-15 17:01:51 +00:00
- buildutils: Replace Sin()
and Cos()
from Exhumed with bsin()
/bcos()
.
This commit is contained in:
parent
8aa7051f78
commit
cf6188b034
25 changed files with 181 additions and 210 deletions
|
@ -711,7 +711,7 @@ public:
|
|||
|
||||
if (nLevelNew == i)
|
||||
{
|
||||
shade = (Sin(16 * currentclock) + 31) >> 8;
|
||||
shade = (bsin(16 * currentclock) + 31) >> 8;
|
||||
}
|
||||
else if (nLevelBest >= i)
|
||||
{
|
||||
|
|
|
@ -218,8 +218,8 @@ void FuncAnubis(int a, int nDamage, int nRun)
|
|||
AnubisList[nAnubis].nFrame = 0;
|
||||
AnubisList[nAnubis].nTarget = nTarget;
|
||||
|
||||
sprite[nSprite].xvel = Cos(sprite[nSprite].ang) >> 2;
|
||||
sprite[nSprite].yvel = Sin(sprite[nSprite].ang) >> 2;
|
||||
sprite[nSprite].xvel = bcos(sprite[nSprite].ang, -2);
|
||||
sprite[nSprite].yvel = bsin(sprite[nSprite].ang, -2);
|
||||
}
|
||||
}
|
||||
return;
|
||||
|
@ -231,8 +231,8 @@ void FuncAnubis(int a, int nDamage, int nRun)
|
|||
PlotCourseToSprite(nSprite, nTarget);
|
||||
|
||||
int nAngle = sprite[nSprite].ang & 0xFFF8;
|
||||
sprite[nSprite].xvel = Cos(nAngle) >> 2;
|
||||
sprite[nSprite].yvel = Sin(nAngle) >> 2;
|
||||
sprite[nSprite].xvel = bcos(nAngle, -2);
|
||||
sprite[nSprite].yvel = bsin(nAngle, -2);
|
||||
}
|
||||
|
||||
switch (nMov & 0xC000)
|
||||
|
@ -257,8 +257,8 @@ void FuncAnubis(int a, int nDamage, int nRun)
|
|||
case 0x8000:
|
||||
{
|
||||
sprite[nSprite].ang = (sprite[nSprite].ang + 256) & kAngleMask;
|
||||
sprite[nSprite].xvel = Cos(sprite[nSprite].ang) >> 2;
|
||||
sprite[nSprite].yvel = Sin(sprite[nSprite].ang) >> 2;
|
||||
sprite[nSprite].xvel = bcos(sprite[nSprite].ang, -2);
|
||||
sprite[nSprite].yvel = bsin(sprite[nSprite].ang, -2);
|
||||
break;
|
||||
}
|
||||
|
||||
|
@ -321,8 +321,8 @@ void FuncAnubis(int a, int nDamage, int nRun)
|
|||
{
|
||||
AnubisList[nAnubis].nAction = 1;
|
||||
|
||||
sprite[nSprite].xvel = Cos(sprite[nSprite].ang) >> 2;
|
||||
sprite[nSprite].yvel = Sin(sprite[nSprite].ang) >> 2;
|
||||
sprite[nSprite].xvel = bcos(sprite[nSprite].ang, -2);
|
||||
sprite[nSprite].yvel = bsin(sprite[nSprite].ang, -2);
|
||||
AnubisList[nAnubis].nFrame = 0;
|
||||
}
|
||||
else
|
||||
|
|
|
@ -213,8 +213,8 @@ void BulletHitsSprite(Bullet *pBullet, short nBulletSprite, short nHitSprite, in
|
|||
{
|
||||
short nAngle = (pSprite->ang + 256) - RandomSize(9);
|
||||
|
||||
pHitSprite->xvel = Cos(nAngle) << 1;
|
||||
pHitSprite->yvel = Sin(nAngle) << 1;
|
||||
pHitSprite->xvel = bcos(nAngle, 1);
|
||||
pHitSprite->yvel = bsin(nAngle, 1);
|
||||
pHitSprite->zvel = (-(RandomSize(3) + 1)) << 8;
|
||||
}
|
||||
else
|
||||
|
@ -222,8 +222,8 @@ void BulletHitsSprite(Bullet *pBullet, short nBulletSprite, short nHitSprite, in
|
|||
int xVel = pHitSprite->xvel;
|
||||
int yVel = pHitSprite->yvel;
|
||||
|
||||
pHitSprite->xvel = Cos(pSprite->ang) >> 2;
|
||||
pHitSprite->yvel = Sin(pSprite->ang) >> 2;
|
||||
pHitSprite->xvel = bcos(pSprite->ang, -2);
|
||||
pHitSprite->yvel = bsin(pSprite->ang, -2);
|
||||
|
||||
MoveCreature(nHitSprite);
|
||||
|
||||
|
@ -276,8 +276,8 @@ void BulletHitsSprite(Bullet *pBullet, short nBulletSprite, short nHitSprite, in
|
|||
|
||||
void BackUpBullet(int *x, int *y, short nAngle)
|
||||
{
|
||||
*x -= Cos(nAngle) >> 11;
|
||||
*y -= Sin(nAngle) >> 11;
|
||||
*x -= bcos(nAngle, -11);
|
||||
*y -= bsin(nAngle, -11);
|
||||
}
|
||||
|
||||
int MoveBullet(short nBullet)
|
||||
|
@ -409,10 +409,10 @@ MOVEEND:
|
|||
hitdata_t hitData;
|
||||
int dz;
|
||||
if (bVanilla)
|
||||
dz = -Sin(pBullet->field_C) * 8;
|
||||
dz = -bsin(pBullet->field_C, 3);
|
||||
else
|
||||
dz = -pBullet->field_C * 512;
|
||||
hitscan(&startPos, pSprite->sectnum, Cos(pSprite->ang), Sin(pSprite->ang), dz, &hitData, CLIPMASK1);
|
||||
hitscan(&startPos, pSprite->sectnum, bcos(pSprite->ang), bsin(pSprite->ang), dz, &hitData, CLIPMASK1);
|
||||
x2 = hitData.pos.x;
|
||||
y2 = hitData.pos.y;
|
||||
z2 = hitData.pos.z;
|
||||
|
@ -691,7 +691,7 @@ int BuildBullet(short nSprite, int nType, int, int, int val1, int nAngle, int va
|
|||
|
||||
if (val2 < 10000)
|
||||
{
|
||||
var_18 = ((-Sin(val2)) * pBulletInfo->field_4) >> 11;
|
||||
var_18 = (-bsin(val2) * pBulletInfo->field_4) >> 11;
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@ -766,8 +766,8 @@ int BuildBullet(short nSprite, int nType, int, int, int val1, int nAngle, int va
|
|||
}
|
||||
|
||||
pBullet->z = 0;
|
||||
pBullet->x = (sprite[nSprite].clipdist << 2) * Cos(nAngle);
|
||||
pBullet->y = (sprite[nSprite].clipdist << 2) * Sin(nAngle);
|
||||
pBullet->x = (sprite[nSprite].clipdist << 2) * bcos(nAngle);
|
||||
pBullet->y = (sprite[nSprite].clipdist << 2) * bsin(nAngle);
|
||||
nBulletEnemy[nBullet] = -1;
|
||||
|
||||
if (MoveBullet(nBullet))
|
||||
|
@ -777,8 +777,8 @@ int BuildBullet(short nSprite, int nType, int, int, int val1, int nAngle, int va
|
|||
else
|
||||
{
|
||||
pBullet->field_10 = pBulletInfo->field_4;
|
||||
pBullet->x = (Cos(nAngle) >> 3) * pBulletInfo->field_4;
|
||||
pBullet->y = (Sin(nAngle) >> 3) * pBulletInfo->field_4;
|
||||
pBullet->x = bcos(nAngle, -3) * pBulletInfo->field_4;
|
||||
pBullet->y = bsin(nAngle, -3) * pBulletInfo->field_4;
|
||||
pBullet->z = var_18 >> 3;
|
||||
}
|
||||
|
||||
|
|
|
@ -126,15 +126,5 @@ int GetMyAngle(int x, int y);
|
|||
int AngleDiff(short a, short b);
|
||||
int AngleDelta(int a, int b, int c);
|
||||
|
||||
inline int Sin(int angle)
|
||||
{
|
||||
return sintable[angle & kAngleMask];
|
||||
}
|
||||
|
||||
inline int Cos(int angle)
|
||||
{
|
||||
return sintable[(angle + 512) & kAngleMask];
|
||||
}
|
||||
|
||||
END_PS_NS
|
||||
|
||||
|
|
|
@ -333,8 +333,8 @@ void GameInterface::Ticker()
|
|||
|
||||
for (int i = 0; i < 4; i++)
|
||||
{
|
||||
lPlayerXVel += localInput.fvel * Cos(inita) + localInput.svel * Sin(inita);
|
||||
lPlayerYVel += localInput.fvel * Sin(inita) - localInput.svel * Cos(inita);
|
||||
lPlayerXVel += localInput.fvel * bcos(inita) + localInput.svel * bsin(inita);
|
||||
lPlayerYVel += localInput.fvel * bsin(inita) - localInput.svel * bcos(inita);
|
||||
lPlayerXVel -= (lPlayerXVel >> 5) + (lPlayerXVel >> 6);
|
||||
lPlayerYVel -= (lPlayerYVel >> 5) + (lPlayerYVel >> 6);
|
||||
}
|
||||
|
|
|
@ -282,8 +282,8 @@ void IdleFish(short nFish, short edx)
|
|||
sprite[nSprite].ang += (256 - RandomSize(9)) + 1024;
|
||||
sprite[nSprite].ang &= kAngleMask;
|
||||
|
||||
sprite[nSprite].xvel = Cos(sprite[nSprite].ang) >> 8;
|
||||
sprite[nSprite].yvel = Sin(sprite[nSprite].ang) >> 8;
|
||||
sprite[nSprite].xvel = bcos(sprite[nSprite].ang, -8);
|
||||
sprite[nSprite].yvel = bsin(sprite[nSprite].ang, -8);
|
||||
|
||||
FishList[nFish].nAction = 0;
|
||||
FishList[nFish].nFrame = 0;
|
||||
|
@ -440,7 +440,7 @@ void FuncFish(int a, int nDamage, int nRun)
|
|||
FishList[nFish].nFrame = 0;
|
||||
|
||||
int nAngle = GetMyAngle(sprite[nTarget].x - sprite[nSprite].x, sprite[nTarget].z - sprite[nSprite].z);
|
||||
sprite[nSprite].zvel = Sin(nAngle) >> 5;
|
||||
sprite[nSprite].zvel = bsin(nAngle, -5);
|
||||
|
||||
FishList[nFish].field_C = RandomSize(6) + 90;
|
||||
}
|
||||
|
@ -474,8 +474,8 @@ void FuncFish(int a, int nDamage, int nRun)
|
|||
|
||||
if (z <= nHeight)
|
||||
{
|
||||
sprite[nSprite].xvel = (Cos(sprite[nSprite].ang) >> 5) - (Cos(sprite[nSprite].ang) >> 7);
|
||||
sprite[nSprite].yvel = (Sin(sprite[nSprite].ang) >> 5) - (Sin(sprite[nSprite].ang) >> 7);
|
||||
sprite[nSprite].xvel = bcos(sprite[nSprite].ang, -5) - bcos(sprite[nSprite].ang, -7);
|
||||
sprite[nSprite].yvel = bsin(sprite[nSprite].ang, -5) - bsin(sprite[nSprite].ang, -7);
|
||||
}
|
||||
else
|
||||
{
|
||||
|
|
|
@ -88,8 +88,8 @@ void BounceGrenade(short nGrenade, short nAngle)
|
|||
{
|
||||
GrenadeList[nGrenade].field_10 >>= 1;
|
||||
|
||||
GrenadeList[nGrenade].x = (Cos(nAngle) >> 5) * GrenadeList[nGrenade].field_10;
|
||||
GrenadeList[nGrenade].y = (Sin(nAngle) >> 5) * GrenadeList[nGrenade].field_10;
|
||||
GrenadeList[nGrenade].x = bcos(nAngle, -5) * GrenadeList[nGrenade].field_10;
|
||||
GrenadeList[nGrenade].y = bsin(nAngle, -5) * GrenadeList[nGrenade].field_10;
|
||||
|
||||
D3PlayFX(StaticSound[kSound3], GrenadeList[nGrenade].nSprite);
|
||||
}
|
||||
|
@ -126,7 +126,7 @@ int ThrowGrenade(short nPlayer, int, int, int ecx, int push1)
|
|||
GrenadeList[nGrenade].field_10 = ((90 - GrenadeList[nGrenade].field_E) * (90 - GrenadeList[nGrenade].field_E)) + nVel;
|
||||
sprite[nGrenadeSprite].zvel = (-64 * push1) - 4352;
|
||||
|
||||
int nMov = movesprite(nGrenadeSprite, Cos(nAngle) * (sprite[nPlayerSprite].clipdist << 3), Sin(nAngle) * (sprite[nPlayerSprite].clipdist << 3), ecx, 0, 0, CLIPMASK1);
|
||||
int nMov = movesprite(nGrenadeSprite, bcos(nAngle) * (sprite[nPlayerSprite].clipdist << 3), bsin(nAngle) * (sprite[nPlayerSprite].clipdist << 3), ecx, 0, 0, CLIPMASK1);
|
||||
if (nMov & 0x8000)
|
||||
{
|
||||
nAngle = GetWallNormal(nMov & 0x3FFF);
|
||||
|
@ -139,11 +139,8 @@ int ThrowGrenade(short nPlayer, int, int, int ecx, int push1)
|
|||
sprite[nGrenadeSprite].zvel = sprite[nPlayerSprite].zvel;
|
||||
}
|
||||
|
||||
GrenadeList[nGrenade].x = Cos(nAngle) >> 4;
|
||||
GrenadeList[nGrenade].x *= GrenadeList[nGrenade].field_10;
|
||||
|
||||
GrenadeList[nGrenade].y = Sin(nAngle) >> 4;
|
||||
GrenadeList[nGrenade].y *= GrenadeList[nGrenade].field_10;
|
||||
GrenadeList[nGrenade].x = bcos(nAngle, -4) * GrenadeList[nGrenade].field_10;
|
||||
GrenadeList[nGrenade].y = bsin(nAngle, -4) * GrenadeList[nGrenade].field_10;
|
||||
|
||||
nPlayerGrenade[nPlayer] = -1;
|
||||
|
||||
|
@ -240,8 +237,8 @@ void ExplodeGrenade(short nGrenade)
|
|||
short nAngle = sprite[nPlayerSprite].ang;
|
||||
|
||||
sprite[nGrenadeSprite].z = sprite[nPlayerSprite].z;
|
||||
sprite[nGrenadeSprite].x = (Cos(nAngle) >> 5) + sprite[nPlayerSprite].x;
|
||||
sprite[nGrenadeSprite].y = (Sin(nAngle) >> 5) + sprite[nPlayerSprite].y;
|
||||
sprite[nGrenadeSprite].x = bcos(nAngle, -5) + sprite[nPlayerSprite].x;
|
||||
sprite[nGrenadeSprite].y = bsin(nAngle, -5) + sprite[nPlayerSprite].y;
|
||||
|
||||
changespritesect(nGrenadeSprite, sprite[nPlayerSprite].sectnum);
|
||||
|
||||
|
|
|
@ -289,8 +289,8 @@ int CheckCloseRange(short nPlayer, int *x, int *y, int *z, short *nSector)
|
|||
|
||||
short nSprite = PlayerList[nPlayer].nSprite;
|
||||
|
||||
int xVect = Sin(sprite[nSprite].ang + 512);
|
||||
int yVect = Sin(sprite[nSprite].ang);
|
||||
int xVect = bcos(sprite[nSprite].ang);
|
||||
int yVect = bsin(sprite[nSprite].ang);
|
||||
|
||||
vec3_t startPos = { *x, *y, *z };
|
||||
hitdata_t hitData;
|
||||
|
@ -697,8 +697,8 @@ loc_flag:
|
|||
int theY = sprite[nPlayerSprite].y;
|
||||
int theZ = sprite[nPlayerSprite].z;
|
||||
|
||||
int ebp = Cos(nAngle) * (sprite[nPlayerSprite].clipdist << 3);
|
||||
int ebx = Sin(nAngle) * (sprite[nPlayerSprite].clipdist << 3);
|
||||
int ebp = bcos(nAngle) * (sprite[nPlayerSprite].clipdist << 3);
|
||||
int ebx = bsin(nAngle) * (sprite[nPlayerSprite].clipdist << 3);
|
||||
|
||||
if (WeaponInfo[nWeapon].c)
|
||||
{
|
||||
|
@ -711,8 +711,8 @@ loc_flag:
|
|||
ecx = theVal;
|
||||
|
||||
int var_44 = (nAngle + 512) & kAngleMask;
|
||||
ebp += (Cos(var_44) >> 11) * ecx;
|
||||
ebx += (Sin(var_44) >> 11) * ecx;
|
||||
ebp += bcos(var_44, -11) * ecx;
|
||||
ebx += bsin(var_44, -11) * ecx;
|
||||
}
|
||||
|
||||
int nHeight = (-GetSpriteHeight(nPlayerSprite)) >> 1;
|
||||
|
@ -867,8 +867,8 @@ loc_flag:
|
|||
BuildSnake(nPlayer, nHeight);
|
||||
nQuake[nPlayer] = 512;
|
||||
|
||||
nXDamage[nPlayer] -= Sin(sprite[nPlayerSprite].ang + 512) << 9;
|
||||
nYDamage[nPlayer] -= Sin(sprite[nPlayerSprite].ang) << 9;
|
||||
nXDamage[nPlayer] -= bcos(sprite[nPlayerSprite].ang, 9);
|
||||
nYDamage[nPlayer] -= bsin(sprite[nPlayerSprite].ang, 9);
|
||||
break;
|
||||
}
|
||||
case kWeaponRing:
|
||||
|
|
|
@ -329,8 +329,8 @@ void FuncLava(int a, int nDamage, int nRun)
|
|||
|
||||
PlotCourseToSprite(nSprite, nTarget);
|
||||
|
||||
sprite[nSprite].xvel = Cos(sprite[nSprite].ang);
|
||||
sprite[nSprite].yvel = Sin(sprite[nSprite].ang);
|
||||
sprite[nSprite].xvel = bcos(sprite[nSprite].ang);
|
||||
sprite[nSprite].yvel = bsin(sprite[nSprite].ang);
|
||||
|
||||
if (nTarget >= 0 && !RandomSize(1))
|
||||
{
|
||||
|
@ -357,8 +357,8 @@ void FuncLava(int a, int nDamage, int nRun)
|
|||
sprite[nSprite].z = z;
|
||||
|
||||
sprite[nSprite].ang = (sprite[nSprite].ang + ((RandomWord() & 0x3FF) + 1024)) & kAngleMask;
|
||||
sprite[nSprite].xvel = Cos(sprite[nSprite].ang);
|
||||
sprite[nSprite].yvel = Sin(sprite[nSprite].ang);
|
||||
sprite[nSprite].xvel = bcos(sprite[nSprite].ang);
|
||||
sprite[nSprite].yvel = bsin(sprite[nSprite].ang);
|
||||
break;
|
||||
}
|
||||
|
||||
|
@ -369,8 +369,8 @@ void FuncLava(int a, int nDamage, int nRun)
|
|||
if ((nVal & 0xC000) == 0x8000)
|
||||
{
|
||||
sprite[nSprite].ang = (sprite[nSprite].ang + ((RandomWord() & 0x3FF) + 1024)) & kAngleMask;
|
||||
sprite[nSprite].xvel = Cos(sprite[nSprite].ang);
|
||||
sprite[nSprite].yvel = Sin(sprite[nSprite].ang);
|
||||
sprite[nSprite].xvel = bcos(sprite[nSprite].ang);
|
||||
sprite[nSprite].yvel = bsin(sprite[nSprite].ang);
|
||||
break;
|
||||
}
|
||||
else if ((nVal & 0xC000) == 0xC000)
|
||||
|
@ -419,7 +419,7 @@ void FuncLava(int a, int nDamage, int nRun)
|
|||
int nHeight = GetSpriteHeight(nSprite);
|
||||
GetUpAngle(nSprite, -64000, nTarget, (-(nHeight >> 1)));
|
||||
|
||||
BuildBullet(nSprite, 10, Cos(sprite[nSprite].ang) << 8, Sin(sprite[nSprite].ang) << 8, -1, sprite[nSprite].ang, nTarget + 10000, 1);
|
||||
BuildBullet(nSprite, 10, bcos(sprite[nSprite].ang, 8), bsin(sprite[nSprite].ang, 8), -1, sprite[nSprite].ang, nTarget + 10000, 1);
|
||||
}
|
||||
else if (var_1C)
|
||||
{
|
||||
|
|
|
@ -632,8 +632,8 @@ void AddFlow(int nSprite, int nSpeed, int b)
|
|||
|
||||
sFlowInfo[nFlow].field_14 = (tilesiz[nPic].x << 14) - 1;
|
||||
sFlowInfo[nFlow].field_18 = (tilesiz[nPic].y << 14) - 1;
|
||||
sFlowInfo[nFlow].field_C = -Cos(nAngle) * nSpeed;
|
||||
sFlowInfo[nFlow].field_10 = Sin(nAngle) * nSpeed;
|
||||
sFlowInfo[nFlow].field_C = -bcos(nAngle) * nSpeed;
|
||||
sFlowInfo[nFlow].field_10 = bsin(nAngle) * nSpeed;
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@ -651,8 +651,8 @@ void AddFlow(int nSprite, int nSpeed, int b)
|
|||
|
||||
sFlowInfo[nFlow].field_14 = (tilesiz[nPic].x * wall[var_18].xrepeat) << 8;
|
||||
sFlowInfo[nFlow].field_18 = (tilesiz[nPic].y * wall[var_18].yrepeat) << 8;
|
||||
sFlowInfo[nFlow].field_C = -Cos(nAngle) * nSpeed;
|
||||
sFlowInfo[nFlow].field_10 = Sin(nAngle) * nSpeed;
|
||||
sFlowInfo[nFlow].field_C = -bcos(nAngle) * nSpeed;
|
||||
sFlowInfo[nFlow].field_10 = bsin(nAngle) * nSpeed;
|
||||
}
|
||||
|
||||
sFlowInfo[nFlow].field_8 = 0;
|
||||
|
|
|
@ -282,8 +282,8 @@ void FuncLion(int a, int nDamage, int nRun)
|
|||
LionList[nLion].nAction = 2;
|
||||
LionList[nLion].nFrame = 0;
|
||||
|
||||
sprite[nSprite].xvel = Cos(sprite[nSprite].ang) >> 1;
|
||||
sprite[nSprite].yvel = Sin(sprite[nSprite].ang) >> 1;
|
||||
sprite[nSprite].xvel = bcos(sprite[nSprite].ang, -1);
|
||||
sprite[nSprite].yvel = bsin(sprite[nSprite].ang, -1);
|
||||
LionList[nLion].nTarget = nTarget;
|
||||
return;
|
||||
}
|
||||
|
@ -298,8 +298,8 @@ void FuncLion(int a, int nDamage, int nRun)
|
|||
if (RandomBit())
|
||||
{
|
||||
sprite[nSprite].ang = RandomWord() & kAngleMask;
|
||||
sprite[nSprite].xvel = Cos(sprite[nSprite].ang) >> 1;
|
||||
sprite[nSprite].yvel = Sin(sprite[nSprite].ang) >> 1;
|
||||
sprite[nSprite].xvel = bcos(sprite[nSprite].ang, -1);
|
||||
sprite[nSprite].yvel = bsin(sprite[nSprite].ang, -1);
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@ -324,13 +324,13 @@ void FuncLion(int a, int nDamage, int nRun)
|
|||
|
||||
if (sprite[nSprite].cstat & 0x8000)
|
||||
{
|
||||
sprite[nSprite].xvel = Cos(nAng) * 2;
|
||||
sprite[nSprite].yvel = Sin(nAng) * 2;
|
||||
sprite[nSprite].xvel = bcos(nAng, 1);
|
||||
sprite[nSprite].yvel = bsin(nAng, 1);
|
||||
}
|
||||
else
|
||||
{
|
||||
sprite[nSprite].xvel = Cos(nAng) >> 1;
|
||||
sprite[nSprite].yvel = Sin(nAng) >> 1;
|
||||
sprite[nSprite].xvel = bcos(nAng, -1);
|
||||
sprite[nSprite].yvel = bsin(nAng, -1);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -342,8 +342,8 @@ void FuncLion(int a, int nDamage, int nRun)
|
|||
{
|
||||
// loc_378FA:
|
||||
sprite[nSprite].ang = (sprite[nSprite].ang + 256) & kAngleMask;
|
||||
sprite[nSprite].xvel = Cos(sprite[nSprite].ang) >> 1;
|
||||
sprite[nSprite].yvel = Sin(sprite[nSprite].ang) >> 1;
|
||||
sprite[nSprite].xvel = bcos(sprite[nSprite].ang, -1);
|
||||
sprite[nSprite].yvel = bsin(sprite[nSprite].ang, -1);
|
||||
break;
|
||||
}
|
||||
else if ((nMov & 0xC000) == 0xC000)
|
||||
|
@ -374,8 +374,8 @@ void FuncLion(int a, int nDamage, int nRun)
|
|||
{
|
||||
// loc_378FA:
|
||||
sprite[nSprite].ang = (sprite[nSprite].ang + 256) & kAngleMask;
|
||||
sprite[nSprite].xvel = Cos(sprite[nSprite].ang) >> 1;
|
||||
sprite[nSprite].yvel = Sin(sprite[nSprite].ang) >> 1;
|
||||
sprite[nSprite].xvel = bcos(sprite[nSprite].ang, -1);
|
||||
sprite[nSprite].yvel = bsin(sprite[nSprite].ang, -1);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
@ -446,7 +446,7 @@ void FuncLion(int a, int nDamage, int nRun)
|
|||
vec3_t startPos = { x, y, z };
|
||||
hitdata_t hitData;
|
||||
|
||||
hitscan(&startPos, sprite[nSprite].sectnum, Cos(nScanAngle), Sin(nScanAngle), 0, &hitData, CLIPMASK1);
|
||||
hitscan(&startPos, sprite[nSprite].sectnum, bcos(nScanAngle), bsin(nScanAngle), 0, &hitData, CLIPMASK1);
|
||||
|
||||
hitx = hitData.pos.x;
|
||||
hity = hitData.pos.y;
|
||||
|
@ -471,8 +471,8 @@ void FuncLion(int a, int nDamage, int nRun)
|
|||
sprite[nSprite].ang = nAngle;
|
||||
|
||||
LionList[nLion].nAction = 6;
|
||||
sprite[nSprite].xvel = (Cos(sprite[nSprite].ang)) - (Cos(sprite[nSprite].ang) >> 3);
|
||||
sprite[nSprite].yvel = (Sin(sprite[nSprite].ang)) - (Sin(sprite[nSprite].ang) >> 3);
|
||||
sprite[nSprite].xvel = bcos(sprite[nSprite].ang) - bcos(sprite[nSprite].ang, -3);
|
||||
sprite[nSprite].yvel = bsin(sprite[nSprite].ang) - bsin(sprite[nSprite].ang, -3);
|
||||
D3PlayFX(StaticSound[kSound24], nSprite);
|
||||
}
|
||||
|
||||
|
@ -510,8 +510,8 @@ void FuncLion(int a, int nDamage, int nRun)
|
|||
{
|
||||
// loc_378FA:
|
||||
sprite[nSprite].ang = (sprite[nSprite].ang + 256) & kAngleMask;
|
||||
sprite[nSprite].xvel = Cos(sprite[nSprite].ang) >> 1;
|
||||
sprite[nSprite].yvel = Sin(sprite[nSprite].ang) >> 1;
|
||||
sprite[nSprite].xvel = bcos(sprite[nSprite].ang, -1);
|
||||
sprite[nSprite].yvel = bsin(sprite[nSprite].ang, -1);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
@ -538,8 +538,8 @@ void FuncLion(int a, int nDamage, int nRun)
|
|||
sprite[nSprite].zvel = -1000;
|
||||
|
||||
LionList[nLion].nAction = 6;
|
||||
sprite[nSprite].xvel = (Cos(sprite[nSprite].ang)) - (Cos(sprite[nSprite].ang) >> 3);
|
||||
sprite[nSprite].yvel = (Sin(sprite[nSprite].ang)) - (Sin(sprite[nSprite].ang) >> 3);
|
||||
sprite[nSprite].xvel = bcos(sprite[nSprite].ang) - bcos(sprite[nSprite].ang, -3);
|
||||
sprite[nSprite].yvel = bsin(sprite[nSprite].ang) - bsin(sprite[nSprite].ang, -3);
|
||||
D3PlayFX(StaticSound[kSound24], nSprite);
|
||||
}
|
||||
|
||||
|
|
|
@ -661,8 +661,8 @@ int MoveCreatureWithCaution(int nSprite)
|
|||
mychangespritesect(nSprite, nSectorPre);
|
||||
|
||||
sprite[nSprite].ang = (sprite[nSprite].ang + 256) & kAngleMask;
|
||||
sprite[nSprite].xvel = Sin(sprite[nSprite].ang + 512) >> 2;
|
||||
sprite[nSprite].yvel = Sin(sprite[nSprite].ang) >> 2;
|
||||
sprite[nSprite].xvel = bcos(sprite[nSprite].ang, -2);
|
||||
sprite[nSprite].yvel = bsin(sprite[nSprite].ang, -2);
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
|
@ -770,13 +770,13 @@ void CheckSectorFloor(short nSector, int z, int *x, int *y)
|
|||
|
||||
if (z >= sector[nSector].floorz)
|
||||
{
|
||||
*x += (Cos(nAng) << 3) * nSpeed;
|
||||
*y += (sintable[nAng] << 3) * nSpeed; // no anglemask in original code
|
||||
*x += bcos(nAng, 3) * nSpeed;
|
||||
*y += bsin(nAng, 3) * nSpeed;
|
||||
}
|
||||
else if (nFlag & 0x800)
|
||||
{
|
||||
*x += (Cos(nAng) << 4) * nSpeed;
|
||||
*y += (sintable[nAng] << 4) * nSpeed; // no anglemask in original code
|
||||
*x += bcos(nAng, 4) * nSpeed;
|
||||
*y += bsin(nAng, 4) * nSpeed;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -891,8 +891,8 @@ void MoveSector(short nSector, int nAngle, int *nXVel, int *nYVel)
|
|||
}
|
||||
else
|
||||
{
|
||||
nXVect = Sin(nAngle + 512) << 6;
|
||||
nYVect = Sin(nAngle) << 6;
|
||||
nXVect = bcos(nAngle, 6);
|
||||
nYVect = bsin(nAngle, 6);
|
||||
}
|
||||
|
||||
short nBlock = sector[nSector].extra;
|
||||
|
@ -1039,8 +1039,8 @@ void MoveSector(short nSector, int nAngle, int *nXVel, int *nYVel)
|
|||
nSectorB = nNextSector;
|
||||
|
||||
clipmove_old((int32_t*)&x, (int32_t*)&y, (int32_t*)&z, &nSectorB,
|
||||
-xvect - (Sin(nAngle + 512) * (4 * sprite[i].clipdist)),
|
||||
-yvect - (Sin(nAngle) * (4 * sprite[i].clipdist)),
|
||||
-xvect - (bcos(nAngle) * (4 * sprite[i].clipdist)),
|
||||
-yvect - (bsin(nAngle) * (4 * sprite[i].clipdist)),
|
||||
4 * sprite[i].clipdist, 0, 0, CLIPMASK0);
|
||||
|
||||
|
||||
|
@ -1055,8 +1055,8 @@ void MoveSector(short nSector, int nAngle, int *nXVel, int *nYVel)
|
|||
else
|
||||
{
|
||||
movesprite(i,
|
||||
(xvect << 14) + Sin(nAngle + 512) * sprite[i].clipdist,
|
||||
(yvect << 14) + Sin(nAngle) * sprite[i].clipdist,
|
||||
(xvect << 14) + bcos(nAngle) * sprite[i].clipdist,
|
||||
(yvect << 14) + bsin(nAngle) * sprite[i].clipdist,
|
||||
0, 0, 0, CLIPMASK0);
|
||||
}
|
||||
}
|
||||
|
@ -1235,10 +1235,10 @@ int AngleChase(int nSprite, int nSprite2, int ebx, int ecx, int push1)
|
|||
|
||||
sprite[nSprite].ang = nAngle;
|
||||
|
||||
int eax = klabs(Cos(sprite[nSprite].zvel));
|
||||
int eax = klabs(bcos(sprite[nSprite].zvel));
|
||||
|
||||
int x = ((Cos(nAngle) * ebx) >> 14) * eax;
|
||||
int y = ((Sin(nAngle) * ebx) >> 14) * eax;
|
||||
int x = ((bcos(nAngle) * ebx) >> 14) * eax;
|
||||
int y = ((bsin(nAngle) * ebx) >> 14) * eax;
|
||||
|
||||
int xshift = x >> 8;
|
||||
int yshift = y >> 8;
|
||||
|
@ -1251,9 +1251,9 @@ int AngleChase(int nSprite, int nSprite2, int ebx, int ecx, int push1)
|
|||
sqrtNum = INT_MAX;
|
||||
}
|
||||
|
||||
int z = Sin(sprite[nSprite].zvel) * ksqrt(sqrtNum);
|
||||
int z = bsin(sprite[nSprite].zvel) * ksqrt(sqrtNum);
|
||||
|
||||
return movesprite(nSprite, x >> 2, y >> 2, (z >> 13) + (Sin(ecx) >> 5), 0, 0, nClipType);
|
||||
return movesprite(nSprite, x >> 2, y >> 2, (z >> 13) + bsin(ecx, -5), 0, 0, nClipType);
|
||||
}
|
||||
|
||||
int GetWallNormal(short nWall)
|
||||
|
@ -1279,8 +1279,8 @@ void WheresMyMouth(int nPlayer, int *x, int *y, int *z, short *sectnum)
|
|||
*sectnum = sprite[nSprite].sectnum;
|
||||
|
||||
clipmove_old((int32_t*)x, (int32_t*)y, (int32_t*)z, sectnum,
|
||||
Cos(sprite[nSprite].ang) << 7,
|
||||
Sin(sprite[nSprite].ang) << 7,
|
||||
bcos(sprite[nSprite].ang, 7),
|
||||
bsin(sprite[nSprite].ang, 7),
|
||||
5120, 1280, 1280, CLIPMASK1);
|
||||
}
|
||||
|
||||
|
@ -1512,8 +1512,8 @@ void FuncCreatureChunk(int a, int, int nRun)
|
|||
int nSqrt = lsqrt(((sprite[nSprite].yvel >> 10) * (sprite[nSprite].yvel >> 10)
|
||||
+ (sprite[nSprite].xvel >> 10) * (sprite[nSprite].xvel >> 10)) >> 8);
|
||||
|
||||
sprite[nSprite].xvel = Cos(nAngle) * (nSqrt >> 1);
|
||||
sprite[nSprite].yvel = Sin(nAngle) * (nSqrt >> 1);
|
||||
sprite[nSprite].xvel = bcos(nAngle) * (nSqrt >> 1);
|
||||
sprite[nSprite].yvel = bsin(nAngle) * (nSqrt >> 1);
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -239,7 +239,7 @@ void FuncMummy(int a, int nDamage, int nRun)
|
|||
MummyList[nMummy].nAction = 1;
|
||||
MummyList[nMummy].G = 90;
|
||||
|
||||
sprite[nSprite].xvel = Cos(sprite[nSprite].ang) >> 2;
|
||||
sprite[nSprite].xvel = bcos(sprite[nSprite].ang, -2);
|
||||
sprite[nSprite].yvel = sintable[sprite[nSprite].ang] >> 2; // NOTE no angle masking in original code
|
||||
}
|
||||
}
|
||||
|
@ -281,8 +281,8 @@ void FuncMummy(int a, int nDamage, int nRun)
|
|||
// loc_2B5A8
|
||||
if (!MummyList[nMummy].B)
|
||||
{
|
||||
sprite[nSprite].xvel = Cos(sprite[nSprite].ang) >> 1;
|
||||
sprite[nSprite].yvel = Sin(sprite[nSprite].ang) >> 1;
|
||||
sprite[nSprite].xvel = bcos(sprite[nSprite].ang, -1);
|
||||
sprite[nSprite].yvel = bsin(sprite[nSprite].ang, -1);
|
||||
}
|
||||
|
||||
if (sprite[nSprite].xvel || sprite[nSprite].yvel)
|
||||
|
@ -325,8 +325,8 @@ void FuncMummy(int a, int nDamage, int nRun)
|
|||
case 0x8000:
|
||||
{
|
||||
sprite[nSprite].ang = (sprite[nSprite].ang + ((RandomWord() & 0x3FF) + 1024)) & kAngleMask;
|
||||
sprite[nSprite].xvel = Cos(sprite[nSprite].ang) >> 2;
|
||||
sprite[nSprite].yvel = Sin(sprite[nSprite].ang) >> 2;
|
||||
sprite[nSprite].xvel = bcos(sprite[nSprite].ang, -2);
|
||||
sprite[nSprite].yvel = bsin(sprite[nSprite].ang, -2);
|
||||
return;
|
||||
}
|
||||
|
||||
|
|
|
@ -1383,13 +1383,13 @@ int BuildSpark(int nSprite, int nVal)
|
|||
|
||||
if (nVal)
|
||||
{
|
||||
spr->xvel = Cos(nAngle) >> 5;
|
||||
spr->yvel = Sin(nAngle) >> 5;
|
||||
spr->xvel = bcos(nAngle, -5);
|
||||
spr->yvel = bsin(nAngle, -5);
|
||||
}
|
||||
else
|
||||
{
|
||||
spr->xvel = Cos(nAngle) >> 6;
|
||||
spr->yvel = Sin(nAngle) >> 6;
|
||||
spr->xvel = bcos(nAngle, -6);
|
||||
spr->yvel = bsin(nAngle, -6);
|
||||
}
|
||||
|
||||
spr->zvel = -(RandomSize(4) << 7);
|
||||
|
@ -2173,7 +2173,7 @@ void DoDrips()
|
|||
{
|
||||
sBob[i].field_2 += 4;
|
||||
|
||||
int edx = Sin(sBob[i].field_2 << 3) >> 4;
|
||||
int edx = bsin(sBob[i].field_2 << 3, -4);
|
||||
short nSector = sBob[i].nSector;
|
||||
|
||||
if (sBob[i].field_3)
|
||||
|
@ -2426,8 +2426,8 @@ void DoMovingSects()
|
|||
// loc_23872:
|
||||
int nAngle = GetMyAngle(sTrailPoint[nTrail].x - pBlockInfo->x, sTrailPoint[nTrail].y - pBlockInfo->y);
|
||||
|
||||
int nXVel = (Sin(nAngle + 512) << 4) * sMoveSect[i].field_10;
|
||||
int nYVel = (Sin(nAngle) << 4) * sMoveSect[i].field_10;
|
||||
int nXVel = bcos(nAngle, 4) * sMoveSect[i].field_10;
|
||||
int nYVel = bsin(nAngle, 4) * sMoveSect[i].field_10;
|
||||
|
||||
int ebx = (sTrailPoint[nTrail].x - pBlockInfo->x) << 14;
|
||||
|
||||
|
|
|
@ -227,16 +227,8 @@ void SetHeadVel(short nSprite)
|
|||
{
|
||||
short nAngle = sprite[nSprite].ang;
|
||||
|
||||
if (nVelShift >= 0)
|
||||
{
|
||||
sprite[nSprite].xvel = Cos(nAngle) >> (int8_t)(nVelShift);
|
||||
sprite[nSprite].yvel = Sin(nAngle) >> (int8_t)(nVelShift);
|
||||
}
|
||||
else
|
||||
{
|
||||
sprite[nSprite].xvel = Cos(nAngle) << (int8_t)(-nVelShift);
|
||||
sprite[nSprite].yvel = Sin(nAngle) << (int8_t)(-nVelShift);
|
||||
}
|
||||
sprite[nSprite].xvel = bcos(nAngle, nVelShift);
|
||||
sprite[nSprite].yvel = bsin(nAngle, nVelShift);
|
||||
}
|
||||
|
||||
int QueenAngleChase(short nSprite, short nSprite2, int val1, int val2)
|
||||
|
@ -298,10 +290,10 @@ int QueenAngleChase(short nSprite, short nSprite2, int val1, int val2)
|
|||
pSprite->ang = nAngle;
|
||||
|
||||
int da = pSprite->zvel;
|
||||
int x = klabs(Cos(da));
|
||||
int x = klabs(bcos(da));
|
||||
|
||||
int v26 = x * ((val1 * Cos(nAngle)) >> 14);
|
||||
int v27 = x * ((val1 * Sin(nAngle)) >> 14);
|
||||
int v26 = x * ((val1 * bcos(nAngle)) >> 14);
|
||||
int v27 = x * ((val1 * bsin(nAngle)) >> 14);
|
||||
|
||||
uint32_t xDiff = klabs((int32_t)(v26 >> 8));
|
||||
uint32_t yDiff = klabs((int32_t)(v27 >> 8));
|
||||
|
@ -314,9 +306,9 @@ int QueenAngleChase(short nSprite, short nSprite2, int val1, int val2)
|
|||
sqrtNum = INT_MAX;
|
||||
}
|
||||
|
||||
int nSqrt = ksqrt(sqrtNum) * Sin(da);
|
||||
int nSqrt = ksqrt(sqrtNum) * bsin(da);
|
||||
|
||||
return movesprite(nSprite, v26 >> 2, v27 >> 2, (Sin(bobangle) >> 5) + (nSqrt >> 13), 0, 0, CLIPMASK1);
|
||||
return movesprite(nSprite, v26 >> 2, v27 >> 2, bsin(bobangle, -5) + (nSqrt >> 13), 0, 0, CLIPMASK1);
|
||||
}
|
||||
|
||||
int DestroyTailPart()
|
||||
|
@ -424,8 +416,8 @@ int BuildQueenEgg(short nQueen, int nVal)
|
|||
{
|
||||
sprite[nSprite2].xrepeat = 30;
|
||||
sprite[nSprite2].yrepeat = 30;
|
||||
sprite[nSprite2].xvel = Cos(sprite[nSprite2].ang);
|
||||
sprite[nSprite2].yvel = Sin(sprite[nSprite2].ang);
|
||||
sprite[nSprite2].xvel = bcos(sprite[nSprite2].ang);
|
||||
sprite[nSprite2].yvel = bsin(sprite[nSprite2].ang);
|
||||
sprite[nSprite2].zvel = -6000;
|
||||
sprite[nSprite2].cstat = 0;
|
||||
}
|
||||
|
@ -567,8 +559,8 @@ void FuncQueenEgg(int a, int nDamage, int nRun)
|
|||
}
|
||||
|
||||
sprite[nSprite].ang = nAngle;
|
||||
sprite[nSprite].xvel = Cos(nAngle) >> 1;
|
||||
sprite[nSprite].yvel = Sin(nAngle) >> 1;
|
||||
sprite[nSprite].xvel = bcos(nAngle, -1);
|
||||
sprite[nSprite].yvel = bsin(nAngle, -1);
|
||||
}
|
||||
|
||||
break;
|
||||
|
@ -600,8 +592,8 @@ void FuncQueenEgg(int a, int nDamage, int nRun)
|
|||
case 0x8000:
|
||||
sprite[nSprite].ang += (RandomSize(9) + 768);
|
||||
sprite[nSprite].ang &= kAngleMask;
|
||||
sprite[nSprite].xvel = Cos(sprite[nSprite].ang) >> 3;
|
||||
sprite[nSprite].yvel = Sin(sprite[nSprite].ang) >> 3;
|
||||
sprite[nSprite].xvel = bcos(sprite[nSprite].ang, -3);
|
||||
sprite[nSprite].yvel = bsin(sprite[nSprite].ang, -3);
|
||||
sprite[nSprite].zvel = -RandomSize(5);
|
||||
break;
|
||||
}
|
||||
|
@ -975,8 +967,8 @@ __MOVEQS:
|
|||
// DEMO-TODO: in disassembly angle was used without masking and thus causing OOB issue.
|
||||
// This behavior probably would be needed emulated for demo compatibility
|
||||
// int dx = sintable[nAngle + 512] << 10;
|
||||
int dx = Cos(nAngle) << 10;
|
||||
int dy = Sin(nAngle) << 10;
|
||||
int dx = bcos(nAngle, 10);
|
||||
int dy = bsin(nAngle, 10);
|
||||
int dz = (RandomSize(5) - RandomSize(5)) << 7;
|
||||
|
||||
movesprite(nSprite, dx, dy, dz, 0, 0, CLIPMASK1);
|
||||
|
@ -1167,8 +1159,8 @@ int BuildQueen(int nSprite, int x, int y, int z, int nSector, int nAngle, int nC
|
|||
|
||||
void SetQueenSpeed(short nSprite, int nSpeed)
|
||||
{
|
||||
sprite[nSprite].xvel = Cos(sprite[nSprite].ang) >> (2 - nSpeed);
|
||||
sprite[nSprite].yvel = Sin(sprite[nSprite].ang) >> (2 - nSpeed);
|
||||
sprite[nSprite].xvel = bcos(sprite[nSprite].ang, -(2 - nSpeed));
|
||||
sprite[nSprite].yvel = bsin(sprite[nSprite].ang, -(2 - nSpeed));
|
||||
}
|
||||
|
||||
void FuncQueen(int a, int nDamage, int nRun)
|
||||
|
|
|
@ -84,8 +84,8 @@ void InitRats()
|
|||
|
||||
void SetRatVel(short nSprite)
|
||||
{
|
||||
sprite[nSprite].xvel = Cos(sprite[nSprite].ang) >> 2;
|
||||
sprite[nSprite].yvel = Sin(sprite[nSprite].ang) >> 2;
|
||||
sprite[nSprite].xvel = bcos(sprite[nSprite].ang, -2);
|
||||
sprite[nSprite].yvel = bsin(sprite[nSprite].ang, -2);
|
||||
}
|
||||
|
||||
int BuildRat(short nSprite, int x, int y, int z, short nSector, int nAngle)
|
||||
|
|
|
@ -266,8 +266,8 @@ void FuncRex(int a, int nDamage, int nRun)
|
|||
RexList[nRex].nAction = 1;
|
||||
RexList[nRex].nFrame = 0;
|
||||
|
||||
sprite[nSprite].xvel = Cos(sprite[nSprite].ang) >> 2;
|
||||
sprite[nSprite].yvel = Sin(sprite[nSprite].ang) >> 2;
|
||||
sprite[nSprite].xvel = bcos(sprite[nSprite].ang, -2);
|
||||
sprite[nSprite].yvel = bsin(sprite[nSprite].ang, -2);
|
||||
|
||||
D3PlayFX(StaticSound[kSound48], nSprite);
|
||||
|
||||
|
@ -300,8 +300,8 @@ void FuncRex(int a, int nDamage, int nRun)
|
|||
if (((PlotCourseToSprite(nSprite, nTarget) >> 8) >= 60) || RexList[nRex].field_A > 0)
|
||||
{
|
||||
int nAngle = sprite[nSprite].ang & 0xFFF8;
|
||||
sprite[nSprite].xvel = Cos(nAngle) >> 2;
|
||||
sprite[nSprite].yvel = Sin(nAngle) >> 2;
|
||||
sprite[nSprite].xvel = bcos(nAngle, -2);
|
||||
sprite[nSprite].yvel = bsin(nAngle, -2);
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@ -332,8 +332,8 @@ void FuncRex(int a, int nDamage, int nRun)
|
|||
case 0x8000:
|
||||
{
|
||||
sprite[nSprite].ang = (sprite[nSprite].ang + 256) & kAngleMask;
|
||||
sprite[nSprite].xvel = Cos(sprite[nSprite].ang) >> 2;
|
||||
sprite[nSprite].yvel = Sin(sprite[nSprite].ang) >> 2;
|
||||
sprite[nSprite].xvel = bcos(sprite[nSprite].ang, -2);
|
||||
sprite[nSprite].yvel = bsin(sprite[nSprite].ang, -2);
|
||||
RexList[nRex].nAction = 1;
|
||||
RexList[nRex].nFrame = 0;
|
||||
nAction = 1;
|
||||
|
@ -351,8 +351,8 @@ void FuncRex(int a, int nDamage, int nRun)
|
|||
{
|
||||
PlotCourseToSprite(nSprite, nTarget);
|
||||
|
||||
sprite[nSprite].xvel = Cos(sprite[nSprite].ang) >> 1;
|
||||
sprite[nSprite].yvel = Sin(sprite[nSprite].ang) >> 1;
|
||||
sprite[nSprite].xvel = bcos(sprite[nSprite].ang, -1);
|
||||
sprite[nSprite].yvel = bsin(sprite[nSprite].ang, -1);
|
||||
|
||||
int nMov = MoveCreatureWithCaution(nSprite);
|
||||
|
||||
|
@ -364,8 +364,8 @@ void FuncRex(int a, int nDamage, int nRun)
|
|||
RexList[nRex].field_A = 60;
|
||||
|
||||
sprite[nSprite].ang = (sprite[nSprite].ang + 256) & kAngleMask;
|
||||
sprite[nSprite].xvel = Cos(sprite[nSprite].ang) >> 2;
|
||||
sprite[nSprite].yvel = Sin(sprite[nSprite].ang) >> 2;
|
||||
sprite[nSprite].xvel = bcos(sprite[nSprite].ang, -2);
|
||||
sprite[nSprite].yvel = bsin(sprite[nSprite].ang, -2);
|
||||
RexList[nRex].nAction = 1;
|
||||
RexList[nRex].nFrame = 0;
|
||||
nAction = 1;
|
||||
|
@ -384,8 +384,8 @@ void FuncRex(int a, int nDamage, int nRun)
|
|||
|
||||
runlist_DamageEnemy(nSprite2, nSprite, 15);
|
||||
|
||||
int xVel = Cos(nAngle) * 15;
|
||||
int yVel = Sin(nAngle) * 15;
|
||||
int xVel = bcos(nAngle) * 15;
|
||||
int yVel = bsin(nAngle) * 15;
|
||||
|
||||
if (sprite[nSprite2].statnum == 100)
|
||||
{
|
||||
|
|
|
@ -135,8 +135,8 @@ int BuildRoach(int nType, int nSprite, int x, int y, int z, short nSector, int a
|
|||
|
||||
void GoRoach(short nSprite)
|
||||
{
|
||||
sprite[nSprite].xvel = (Cos(sprite[nSprite].ang) >> 1) - (Cos(sprite[nSprite].ang) >> 3);
|
||||
sprite[nSprite].yvel = (Sin(sprite[nSprite].ang) >> 1) - (Sin(sprite[nSprite].ang) >> 3);
|
||||
sprite[nSprite].xvel = bcos(sprite[nSprite].ang, -1) - bcos(sprite[nSprite].ang, -3);
|
||||
sprite[nSprite].yvel = bsin(sprite[nSprite].ang, -1) - bsin(sprite[nSprite].ang, -3);
|
||||
}
|
||||
|
||||
void FuncRoach(int a, int nDamage, int nRun)
|
||||
|
|
|
@ -1582,8 +1582,8 @@ int runlist_CheckRadialDamage(short nSprite)
|
|||
{
|
||||
int nAngle = GetMyAngle(x, y);
|
||||
|
||||
sprite[nSprite].xvel += (edi * Cos(nAngle)) >> 3;
|
||||
sprite[nSprite].yvel += (edi * Sin(nAngle)) >> 3;
|
||||
sprite[nSprite].xvel += (edi * bcos(nAngle)) >> 3;
|
||||
sprite[nSprite].yvel += (edi * bsin(nAngle)) >> 3;
|
||||
sprite[nSprite].zvel -= edi * 24;
|
||||
|
||||
if (sprite[nSprite].zvel < -3584) {
|
||||
|
|
|
@ -274,8 +274,8 @@ void FuncScorp(int a, int nDamage, int nRun)
|
|||
D3PlayFX(StaticSound[kSound41], nSprite);
|
||||
|
||||
scorpion[nScorp].nFrame = 0;
|
||||
sprite[nSprite].xvel = Cos(sprite[nSprite].ang);
|
||||
sprite[nSprite].yvel = Sin(sprite[nSprite].ang);
|
||||
sprite[nSprite].xvel = bcos(sprite[nSprite].ang);
|
||||
sprite[nSprite].yvel = bsin(sprite[nSprite].ang);
|
||||
|
||||
scorpion[nScorp].nAction = 1;
|
||||
scorpion[nScorp].nTarget = nTarget;
|
||||
|
@ -359,8 +359,8 @@ void FuncScorp(int a, int nDamage, int nRun)
|
|||
{
|
||||
scorpion[nScorp].nAction = 1;
|
||||
|
||||
sprite[nSprite].xvel = Cos(sprite[nSprite].ang);
|
||||
sprite[nSprite].yvel = Sin(sprite[nSprite].ang);
|
||||
sprite[nSprite].xvel = bcos(sprite[nSprite].ang);
|
||||
sprite[nSprite].yvel = bsin(sprite[nSprite].ang);
|
||||
|
||||
scorpion[nScorp].nFrame = 0;
|
||||
return;
|
||||
|
@ -430,8 +430,8 @@ void FuncScorp(int a, int nDamage, int nRun)
|
|||
|
||||
int nVel = RandomSize(5) + 1;
|
||||
|
||||
sprite[nSpiderSprite].xvel = (Cos(sprite[nSpiderSprite].ang) >> 8) * nVel;
|
||||
sprite[nSpiderSprite].yvel = (Sin(sprite[nSpiderSprite].ang) >> 8) * nVel;
|
||||
sprite[nSpiderSprite].xvel = bcos(sprite[nSpiderSprite].ang, -8) * nVel;
|
||||
sprite[nSpiderSprite].yvel = bsin(sprite[nSpiderSprite].ang, -8) * nVel;
|
||||
sprite[nSpiderSprite].zvel = (-(RandomSize(5) + 3)) << 8;
|
||||
}
|
||||
|
||||
|
@ -464,8 +464,8 @@ FS_Pink_A:
|
|||
sprite[nSprite].ang += RandomSize(7) - 63;
|
||||
sprite[nSprite].ang &= kAngleMask;
|
||||
|
||||
sprite[nSprite].xvel = Cos(sprite[nSprite].ang);
|
||||
sprite[nSprite].yvel = Sin(sprite[nSprite].ang);
|
||||
sprite[nSprite].xvel = bcos(sprite[nSprite].ang);
|
||||
sprite[nSprite].yvel = bsin(sprite[nSprite].ang);
|
||||
|
||||
FS_Pink_B:
|
||||
if (scorpion[nScorp].g)
|
||||
|
|
|
@ -196,9 +196,9 @@ void FuncSoul(int a, int, int nRun)
|
|||
sprite[nSprite].extra += (nSprite & 0x0F) + 5;
|
||||
sprite[nSprite].extra &= kAngleMask;
|
||||
|
||||
int nVel = (Cos(sprite[nSprite].extra) >> 7);
|
||||
int nVel = bcos(sprite[nSprite].extra, -7);
|
||||
|
||||
if (movesprite(nSprite, Cos(sprite[nSprite].ang) * nVel, Sin(sprite[nSprite].ang) * nVel, sprite[nSprite].zvel, 5120, 0, CLIPMASK0) & 0x10000)
|
||||
if (movesprite(nSprite, bcos(sprite[nSprite].ang) * nVel, bsin(sprite[nSprite].ang) * nVel, sprite[nSprite].zvel, 5120, 0, CLIPMASK0) & 0x10000)
|
||||
{
|
||||
int nSet = sprite[nSprite].hitag;
|
||||
int nSetSprite = SetList[nSet].nSprite;
|
||||
|
@ -363,8 +363,8 @@ void FuncSet(int a, int nDamage, int nRun)
|
|||
SetList[nSet].nFrame = 0;
|
||||
SetList[nSet].nTarget = nTarget;
|
||||
|
||||
sprite[nSprite].xvel = Cos(sprite[nSprite].ang) >> 1;
|
||||
sprite[nSprite].yvel = Sin(sprite[nSprite].ang) >> 1;
|
||||
sprite[nSprite].xvel = bcos(sprite[nSprite].ang, -1);
|
||||
sprite[nSprite].yvel = bsin(sprite[nSprite].ang, -1);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -457,8 +457,8 @@ void FuncSet(int a, int nDamage, int nRun)
|
|||
|
||||
// loc_338E2
|
||||
int nAngle = sprite[nSprite].ang & 0xFFF8;
|
||||
sprite[nSprite].xvel = Cos(nAngle) >> 1;
|
||||
sprite[nSprite].yvel = Sin(nAngle) >> 1;
|
||||
sprite[nSprite].xvel = bcos(nAngle, -1);
|
||||
sprite[nSprite].yvel = bsin(nAngle, -1);
|
||||
|
||||
if (SetList[nSet].field_D)
|
||||
{
|
||||
|
@ -488,8 +488,8 @@ void FuncSet(int a, int nDamage, int nRun)
|
|||
}
|
||||
|
||||
sprite[nSprite].ang = (sprite[nSprite].ang + 256) & kAngleMask;
|
||||
sprite[nSprite].xvel = Cos(sprite[nSprite].ang) >> 1;
|
||||
sprite[nSprite].yvel = Sin(sprite[nSprite].ang) >> 1;
|
||||
sprite[nSprite].xvel = bcos(sprite[nSprite].ang, -1);
|
||||
sprite[nSprite].yvel = bsin(sprite[nSprite].ang, -1);
|
||||
break;
|
||||
}
|
||||
else if ((nMov & 0xC000) == 0xC000)
|
||||
|
@ -591,8 +591,8 @@ void FuncSet(int a, int nDamage, int nRun)
|
|||
SetList[nSet].nAction = 8;
|
||||
SetList[nSet].nFrame = 0;
|
||||
|
||||
sprite[nSprite].xvel = Cos(sprite[nSprite].ang);
|
||||
sprite[nSprite].yvel = Sin(sprite[nSprite].ang);
|
||||
sprite[nSprite].xvel = bcos(sprite[nSprite].ang);
|
||||
sprite[nSprite].yvel = bsin(sprite[nSprite].ang);
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
|
|
@ -137,7 +137,7 @@ int BuildSnake(short nPlayer, short zVal)
|
|||
|
||||
vec3_t pos = { x, y, z };
|
||||
hitdata_t hitData;
|
||||
hitscan(&pos, sprite[nPlayerSprite].sectnum, Cos(nAngle), Sin(nAngle), 0, &hitData, CLIPMASK1);
|
||||
hitscan(&pos, sprite[nPlayerSprite].sectnum, bcos(nAngle), bsin(nAngle), 0, &hitData, CLIPMASK1);
|
||||
|
||||
hitx = hitData.pos.x;
|
||||
hity = hitData.pos.y;
|
||||
|
@ -333,9 +333,9 @@ void FuncSnake(int a, int, int nRun)
|
|||
{
|
||||
SEARCH_ENEMY:
|
||||
nMov = movesprite(nSprite,
|
||||
600 * Cos(sprite[nSprite].ang),
|
||||
600 * Sin(sprite[nSprite].ang),
|
||||
Sin(SnakeList[nSnake].sE) >> 5,
|
||||
600 * bcos(sprite[nSprite].ang),
|
||||
600 * bsin(sprite[nSprite].ang),
|
||||
bsin(SnakeList[nSnake].sE, -5),
|
||||
0, 0, CLIPMASK1);
|
||||
|
||||
FindSnakeEnemy(nSnake);
|
||||
|
@ -370,8 +370,8 @@ SEARCH_ENEMY:
|
|||
else
|
||||
{
|
||||
short nAngle = sprite[nSprite].ang;
|
||||
int var_30 = -(64 * Cos(nAngle));
|
||||
int var_34 = -(64 * Sin(nAngle));
|
||||
int var_30 = -bcos(nAngle, 6);
|
||||
int var_34 = -bsin(nAngle, 6);
|
||||
|
||||
int var_20 = SnakeList[nSnake].sE;
|
||||
|
||||
|
@ -395,9 +395,9 @@ SEARCH_ENEMY:
|
|||
|
||||
mychangespritesect(nSprite2, nSector);
|
||||
|
||||
int eax = (Sin(var_20) * SnakeList[nSnake].c[i]) >> 9;
|
||||
int eax = (bsin(var_20) * SnakeList[nSnake].c[i]) >> 9;
|
||||
|
||||
movesprite(nSprite2, var_30 + var_30 * i + eax * Cos(var_28), var_30 + var_34 * i + eax * Sin(var_28),
|
||||
movesprite(nSprite2, var_30 + var_30 * i + eax * bcos(var_28), var_30 + var_34 * i + eax * bsin(var_28),
|
||||
-zVal*(i-1), 0, 0, CLIPMASK1);
|
||||
|
||||
var_20 = (var_20 + 128) & kAngleMask;
|
||||
|
|
|
@ -192,7 +192,7 @@ void FuncSpider(int a, int nDamage, int nRun)
|
|||
SpiderList[nSpider].nFrame = 0;
|
||||
SpiderList[nSpider].nTarget = nTarget;
|
||||
|
||||
sprite[nSprite].xvel = Cos(sprite[nSprite].ang);
|
||||
sprite[nSprite].xvel = bcos(sprite[nSprite].ang);
|
||||
sprite[nSprite].yvel = sintable[sprite[nSprite].ang]; // NOTE - not angle masking here in original code
|
||||
return;
|
||||
}
|
||||
|
@ -243,8 +243,8 @@ void FuncSpider(int a, int nDamage, int nRun)
|
|||
|
||||
if (RandomSize(3))
|
||||
{
|
||||
sprite[nSprite].xvel = Cos(sprite[nSprite].ang);
|
||||
sprite[nSprite].yvel = Sin(sprite[nSprite].ang);
|
||||
sprite[nSprite].xvel = bcos(sprite[nSprite].ang);
|
||||
sprite[nSprite].yvel = bsin(sprite[nSprite].ang);
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@ -350,8 +350,8 @@ void FuncSpider(int a, int nDamage, int nRun)
|
|||
case 0x8000:
|
||||
{
|
||||
sprite[nSprite].ang = (sprite[nSprite].ang + 256) & 0x7EF;
|
||||
sprite[nSprite].xvel = Cos(sprite[nSprite].ang);
|
||||
sprite[nSprite].yvel = Sin(sprite[nSprite].ang);
|
||||
sprite[nSprite].xvel = bcos(sprite[nSprite].ang);
|
||||
sprite[nSprite].yvel = bsin(sprite[nSprite].ang);
|
||||
return;
|
||||
}
|
||||
case 0xC000:
|
||||
|
|
|
@ -170,8 +170,8 @@ static void analyzesprites()
|
|||
int xval = pSprite->x - x;
|
||||
int yval = pSprite->y - y;
|
||||
|
||||
int vcos = Cos(nAngle);
|
||||
int vsin = Sin(nAngle);
|
||||
int vcos = bcos(nAngle);
|
||||
int vsin = bsin(nAngle);
|
||||
|
||||
|
||||
int edx = ((vcos * yval) + (xval * vsin)) >> 14;
|
||||
|
@ -242,7 +242,7 @@ void DrawView(double smoothRatio, bool sceneonly)
|
|||
|
||||
fixed_t dang = IntToFixed(1024);
|
||||
|
||||
zbob = Sin(2 * bobangle) >> 3;
|
||||
zbob = bsin(2 * bobangle, -3);
|
||||
|
||||
int nPlayerSprite = PlayerList[nLocalPlayer].nSprite;
|
||||
int nPlayerOldCstat = sprite[nPlayerSprite].cstat;
|
||||
|
@ -333,8 +333,8 @@ void DrawView(double smoothRatio, bool sceneonly)
|
|||
else
|
||||
{
|
||||
clipmove_old((int32_t*)&playerX, (int32_t*)&playerY, (int32_t*)&playerZ, &nSector,
|
||||
-2000 * Sin(inita + 512),
|
||||
-2000 * Sin(inita),
|
||||
-2000 * bcos(inita),
|
||||
-2000 * bsin(inita),
|
||||
4, 0, 0, CLIPMASK1);
|
||||
|
||||
pan = q16horiz(0);
|
||||
|
|
|
@ -71,16 +71,8 @@ void InitWasps()
|
|||
|
||||
void SetWaspVel(short nSprite)
|
||||
{
|
||||
if (nWaspVelShift < 0)
|
||||
{
|
||||
sprite[nSprite].xvel = Cos(sprite[nSprite].ang) << -nWaspVelShift;
|
||||
sprite[nSprite].yvel = Sin(sprite[nSprite].ang) << -nWaspVelShift;
|
||||
}
|
||||
else
|
||||
{
|
||||
sprite[nSprite].xvel = Cos(sprite[nSprite].ang) >> nWaspVelShift;
|
||||
sprite[nSprite].yvel = Sin(sprite[nSprite].ang) >> nWaspVelShift;
|
||||
}
|
||||
sprite[nSprite].xvel = bcos(sprite[nSprite].ang, -nWaspVelShift);
|
||||
sprite[nSprite].yvel = bsin(sprite[nSprite].ang, -nWaspVelShift);
|
||||
}
|
||||
|
||||
int BuildWasp(short nSprite, int x, int y, int z, short nSector, short nAngle)
|
||||
|
@ -284,7 +276,7 @@ void FuncWasp(int a, int nDamage, int nRun)
|
|||
|
||||
case 0:
|
||||
{
|
||||
sprite[nSprite].zvel = Sin(WaspList[nWasp].field_E) >> 4;
|
||||
sprite[nSprite].zvel = bsin(WaspList[nWasp].field_E, -4);
|
||||
|
||||
WaspList[nWasp].field_E += WaspList[nWasp].field_10;
|
||||
WaspList[nWasp].field_E &= kAngleMask;
|
||||
|
|
Loading…
Reference in a new issue