mirror of
https://github.com/KartKrewDev/RingRacers.git
synced 2026-04-26 20:11:47 +00:00
Fix object nudge search being too small
This commit is contained in:
parent
002e25905b
commit
7db53abdf7
1 changed files with 9 additions and 7 deletions
|
|
@ -665,6 +665,7 @@ void K_NudgePredictionTowardsObjects(botprediction_t *predict, player_t *player)
|
||||||
INT32 xl, xh, yl, yh, bx, by;
|
INT32 xl, xh, yl, yh, bx, by;
|
||||||
|
|
||||||
fixed_t distToPredict = 0;
|
fixed_t distToPredict = 0;
|
||||||
|
fixed_t radToPredict = 0;
|
||||||
angle_t angleToPredict = 0;
|
angle_t angleToPredict = 0;
|
||||||
|
|
||||||
fixed_t avgX = 0, avgY = 0;
|
fixed_t avgX = 0, avgY = 0;
|
||||||
|
|
@ -685,9 +686,10 @@ void K_NudgePredictionTowardsObjects(botprediction_t *predict, player_t *player)
|
||||||
}
|
}
|
||||||
|
|
||||||
distToPredict = R_PointToDist2(player->mo->x, player->mo->y, predict->x, predict->y);
|
distToPredict = R_PointToDist2(player->mo->x, player->mo->y, predict->x, predict->y);
|
||||||
|
radToPredict = distToPredict >> 1;
|
||||||
angleToPredict = R_PointToAngle2(player->mo->x, player->mo->y, predict->x, predict->y);
|
angleToPredict = R_PointToAngle2(player->mo->x, player->mo->y, predict->x, predict->y);
|
||||||
|
|
||||||
globalsmuggle.distancetocheck = distToPredict >> 1;
|
globalsmuggle.distancetocheck = distToPredict;
|
||||||
|
|
||||||
baseNudge = predict->radius * 2;
|
baseNudge = predict->radius * 2;
|
||||||
maxNudge = distToPredict;
|
maxNudge = distToPredict;
|
||||||
|
|
@ -696,8 +698,8 @@ void K_NudgePredictionTowardsObjects(botprediction_t *predict, player_t *player)
|
||||||
globalsmuggle.predict = predict;
|
globalsmuggle.predict = predict;
|
||||||
|
|
||||||
// silly variable reuse
|
// silly variable reuse
|
||||||
avgX = globalsmuggle.botmo->x + FixedMul(globalsmuggle.distancetocheck, FINECOSINE(angleToPredict >> ANGLETOFINESHIFT));
|
avgX = globalsmuggle.botmo->x + FixedMul(radToPredict, FINECOSINE(angleToPredict >> ANGLETOFINESHIFT));
|
||||||
avgY = globalsmuggle.botmo->y + FixedMul(globalsmuggle.distancetocheck, FINESINE(angleToPredict >> ANGLETOFINESHIFT));
|
avgY = globalsmuggle.botmo->y + FixedMul(radToPredict, FINESINE(angleToPredict >> ANGLETOFINESHIFT));
|
||||||
|
|
||||||
for (i = 0; i < 2; i++)
|
for (i = 0; i < 2; i++)
|
||||||
{
|
{
|
||||||
|
|
@ -708,10 +710,10 @@ void K_NudgePredictionTowardsObjects(botprediction_t *predict, player_t *player)
|
||||||
globalsmuggle.avoidObjs[i] = 0;
|
globalsmuggle.avoidObjs[i] = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
xl = (unsigned)(avgX - (globalsmuggle.distancetocheck + MAXRADIUS) - bmaporgx)>>MAPBLOCKSHIFT;
|
xl = (unsigned)(avgX - (distToPredict + MAXRADIUS) - bmaporgx)>>MAPBLOCKSHIFT;
|
||||||
xh = (unsigned)(avgX + (globalsmuggle.distancetocheck + MAXRADIUS) - bmaporgx)>>MAPBLOCKSHIFT;
|
xh = (unsigned)(avgX + (distToPredict + MAXRADIUS) - bmaporgx)>>MAPBLOCKSHIFT;
|
||||||
yl = (unsigned)(avgY - (globalsmuggle.distancetocheck + MAXRADIUS) - bmaporgy)>>MAPBLOCKSHIFT;
|
yl = (unsigned)(avgY - (distToPredict + MAXRADIUS) - bmaporgy)>>MAPBLOCKSHIFT;
|
||||||
yh = (unsigned)(avgY + (globalsmuggle.distancetocheck + MAXRADIUS) - bmaporgy)>>MAPBLOCKSHIFT;
|
yh = (unsigned)(avgY + (distToPredict + MAXRADIUS) - bmaporgy)>>MAPBLOCKSHIFT;
|
||||||
|
|
||||||
BMBOUNDFIX(xl, xh, yl, yh);
|
BMBOUNDFIX(xl, xh, yl, yh);
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue