Fix integer overflows on very large numbers

This commit is contained in:
Gustaf Alhäll 2024-11-20 10:35:26 +01:00
parent b8dd0f69e7
commit a90f495b42

View file

@ -75,7 +75,7 @@ extern lighttable_t *zlight[LIGHTLEVELS][MAXLIGHTZ];
static inline INT32 R_PointOnSide(fixed_t x, fixed_t y, node_t *node)
{
// use cross product to determine side quickly
return (INT64)(y - node->y) * node->dx - (INT64)(x - node->x) * node->dy > 0;
return ((INT64)y - node->y) * node->dx - ((INT64)x - node->x) * node->dy > 0;
}
static inline INT32 R_PointOnSegSide(fixed_t x, fixed_t y, seg_t *line)
@ -86,7 +86,7 @@ static inline INT32 R_PointOnSegSide(fixed_t x, fixed_t y, seg_t *line)
fixed_t ldy = line->v2->y - ly;
// use cross product to determine side quickly
return (INT64)(y - ly) * ldx - (INT64)(x - lx) * ldy > 0;
return ((INT64)y - ly) * ldx - ((INT64)x - lx) * ldy > 0;
}
angle_t R_PointToAngle(fixed_t x, fixed_t y);