ref_soft: Fix crashes on 64bit

Just replace all long for unsigned long long :)
This commit is contained in:
Valery Klachkov 2022-01-16 04:57:12 +03:00 committed by a1batross
parent bb84a3cb7f
commit b9cec43e2c
4 changed files with 16 additions and 16 deletions

View File

@ -651,7 +651,7 @@ void R_ScanEdges (void)
surf_t *s;
basespan_p = (espan_t *)
((long)(basespans + CACHE_SIZE - 1) & ~(CACHE_SIZE - 1));
((unsigned long long)(basespans + CACHE_SIZE - 1) & ~(CACHE_SIZE - 1));
max_span_p = &basespan_p[MAXSPANS - RI.vrect.width];
span_p = basespan_p;

View File

@ -1260,13 +1260,12 @@ void R_DrawBrushModel(cl_entity_t *pent)
else
{
r_edges = (edge_t *)
(((long)&ledges[0] + CACHE_SIZE - 1) & ~(CACHE_SIZE - 1));
(((unsigned long long)&ledges[0] + CACHE_SIZE - 1) & ~(CACHE_SIZE - 1));
}
if (r_surfsonstack)
{
surfaces = (surf_t *)
(((long)&lsurfs[0] + CACHE_SIZE - 1) & ~(CACHE_SIZE - 1));
surfaces = (surf_t *)(((unsigned long long)&lsurfs[0] + CACHE_SIZE - 1) & ~(CACHE_SIZE - 1));
surf_max = &surfaces[r_cnumsurfs];
// surface 0 doesn't really exist; it's just a dummy because index 0
// is used to indicate no edge attached to surface
@ -1414,17 +1413,18 @@ void R_EdgeDrawing (void)
else
{
r_edges = (edge_t *)
(((long)&ledges[0] + CACHE_SIZE - 1) & ~(CACHE_SIZE - 1));
(((unsigned long long)&ledges[0] + CACHE_SIZE - 1) & ~(CACHE_SIZE - 1));
}
if (r_surfsonstack)
{
surfaces = (surf_t *)
(((long)&lsurfs[0] + CACHE_SIZE - 1) & ~(CACHE_SIZE - 1));
surfaces = (surf_t *)(((unsigned long long)&lsurfs + CACHE_SIZE - 1) & ~(CACHE_SIZE - 1));
surf_max = &surfaces[r_cnumsurfs];
// surface 0 doesn't really exist; it's just a dummy because index 0
// is used to indicate no edge attached to surface
memset(&surfaces[0], 0, sizeof(surf_t));
// surface 0 doesn't really exist; it's just a dummy because index 0
// is used to indicate no edge attached to surface
memset(surfaces, 0, sizeof(surf_t));
surfaces--;
R_SurfacePatch ();
}

View File

@ -521,7 +521,7 @@ void R_EmitCachedEdge (void)
{
edge_t *pedge_t;
pedge_t = (edge_t *)((unsigned long)r_edges + r_pedge->cachededgeoffset);
pedge_t = (edge_t *)((unsigned long long)r_edges + r_pedge->cachededgeoffset);
if (!pedge_t->surfs[0])
pedge_t->surfs[0] = surface_p - surfaces;
@ -624,9 +624,9 @@ void R_RenderFace (msurface_t *fa, int clipflags)
}
else
{
if ((((unsigned long)edge_p - (unsigned long)r_edges) >
if ((((unsigned long long)edge_p - (unsigned long long)r_edges) >
r_pedge->cachededgeoffset) &&
(((edge_t *)((unsigned long)r_edges +
(((edge_t *)((unsigned long long)r_edges +
r_pedge->cachededgeoffset))->owner == r_pedge))
{
R_EmitCachedEdge ();
@ -670,9 +670,9 @@ void R_RenderFace (msurface_t *fa, int clipflags)
{
// it's cached if the cached edge is valid and is owned
// by this medge_t
if ((((unsigned long)edge_p - (unsigned long)r_edges) >
if ((((unsigned long long)edge_p - (unsigned long long)r_edges) >
r_pedge->cachededgeoffset) &&
(((edge_t *)((unsigned long)r_edges +
(((edge_t *)((unsigned long long)r_edges +
r_pedge->cachededgeoffset))->owner == r_pedge))
{
R_EmitCachedEdge ();

View File

@ -1390,7 +1390,7 @@ void D_DrawZSpans (espan_t *pspan)
// we count on FP exceptions being turned off to avoid range problems
izi = (int)(zi * 0x8000 * 0x10000);
if ((long)pdest & 0x02)
if ((unsigned long long)pdest & 0x02)
{
*pdest++ = (short)(izi >> 16);
izi += izistep;