mirror of
https://github.com/ZDoom/raze-gles.git
synced 2024-12-26 03:30:46 +00:00
Revert "Clean up clip.cpp struct casting including but not limited to r7466 changes"
git-svn-id: https://svn.eduke32.com/eduke32@7577 1a8010ca-5511-0410-912e-c29ae57300e0
This commit is contained in:
parent
f96e1c8e24
commit
bcf8ae4d84
1 changed files with 50 additions and 49 deletions
|
@ -554,10 +554,10 @@ int32_t clipmoveboxtracenum = 3;
|
||||||
int clipinsidebox(vec2_t *vect, int wallnum, int walldist)
|
int clipinsidebox(vec2_t *vect, int wallnum, int walldist)
|
||||||
{
|
{
|
||||||
int const r = walldist << 1;
|
int const r = walldist << 1;
|
||||||
auto const wal1 = (uwalltype const *)(wall + wallnum);
|
auto const * wal = (uwalltype *)&wall[wallnum];
|
||||||
vec2_t const v1 = { wal1->x + walldist - vect->x, wal1->y + walldist - vect->y };
|
vec2_t const v1 = { wal->x + walldist - vect->x, wal->y + walldist - vect->y };
|
||||||
auto const wal2 = (uwalltype const *)(wall + wal1->point2);
|
wal = (uwalltype *)&wall[wal->point2];
|
||||||
vec2_t v2 = { wal2->x + walldist - vect->x, wal2->y + walldist - vect->y };
|
vec2_t v2 = { wal->x + walldist - vect->x, wal->y + walldist - vect->y };
|
||||||
|
|
||||||
if (((v1.x < 0) && (v2.x < 0)) || ((v1.y < 0) && (v2.y < 0)) || ((v1.x >= r) && (v2.x >= r)) || ((v1.y >= r) && (v2.y >= r)))
|
if (((v1.x < 0) && (v2.x < 0)) || ((v1.y < 0) && (v2.y < 0)) || ((v1.x >= r) && (v2.x >= r)) || ((v1.y >= r) && (v2.y >= r)))
|
||||||
return 0;
|
return 0;
|
||||||
|
@ -646,7 +646,7 @@ int32_t clipsprite_try(uspritetype const * const spr, int32_t xmin, int32_t ymin
|
||||||
return 1;
|
return 1;
|
||||||
|
|
||||||
if (EDUKE32_PREDICT_TRUE(clipspritenum < MAXCLIPNUM))
|
if (EDUKE32_PREDICT_TRUE(clipspritenum < MAXCLIPNUM))
|
||||||
clipspritelist[clipspritenum++] = spr-(uspritetype const *)sprite;
|
clipspritelist[clipspritenum++] = spr-(uspritetype *)sprite;
|
||||||
//initprintf("%d: clip sprite[%d]\n",clipspritenum,j);
|
//initprintf("%d: clip sprite[%d]\n",clipspritenum,j);
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
@ -713,7 +713,7 @@ int32_t clipsprite_initindex(int32_t curidx, uspritetype const * const curspr, i
|
||||||
for (k=clipinfo[curidx].qbeg; k<=clipinfo[curidx].qend; k++)
|
for (k=clipinfo[curidx].qbeg; k<=clipinfo[curidx].qend; k++)
|
||||||
{
|
{
|
||||||
int32_t const j = sectq[k];
|
int32_t const j = sectq[k];
|
||||||
auto const sec = (usectortype *)(sector + j);
|
auto const sec = (usectortype *)§or[j];
|
||||||
|
|
||||||
int32_t const startwall = sec->wallptr, endwall = startwall+sec->wallnum;
|
int32_t const startwall = sec->wallptr, endwall = startwall+sec->wallnum;
|
||||||
|
|
||||||
|
@ -731,7 +731,7 @@ int32_t clipsprite_initindex(int32_t curidx, uspritetype const * const curspr, i
|
||||||
{
|
{
|
||||||
wal->x *= flipx;
|
wal->x *= flipx;
|
||||||
wal->y *= flipy;
|
wal->y *= flipy;
|
||||||
rotatepoint(zerovec, *(vec2_t const *)wal, rotang, (vec2_t *)wal);
|
rotatepoint(zerovec, *(vec2_t *) wal, rotang, (vec2_t *) wal);
|
||||||
}
|
}
|
||||||
|
|
||||||
wal->x += curspr->x;
|
wal->x += curspr->x;
|
||||||
|
@ -779,7 +779,7 @@ static FORCE_INLINE void clipmove_tweak_pos(const vec3_t *pos, int32_t gx, int32
|
||||||
static int32_t check_floor_curb(int32_t dasect, int32_t nextsect, int32_t flordist, int32_t posz,
|
static int32_t check_floor_curb(int32_t dasect, int32_t nextsect, int32_t flordist, int32_t posz,
|
||||||
int32_t dax, int32_t day)
|
int32_t dax, int32_t day)
|
||||||
{
|
{
|
||||||
auto const sec2 = (usectortype const *)(sector + nextsect);
|
auto const sec2 = (usectortype *)§or[nextsect];
|
||||||
int32_t const daz2 = getflorzofslope(nextsect, dax, day);
|
int32_t const daz2 = getflorzofslope(nextsect, dax, day);
|
||||||
|
|
||||||
return ((sec2->floorstat&1) == 0 && // parallaxed floor curbs don't clip
|
return ((sec2->floorstat&1) == 0 && // parallaxed floor curbs don't clip
|
||||||
|
@ -936,7 +936,7 @@ static void clipupdatesector(int32_t const x, int32_t const y, int16_t * const s
|
||||||
if (inside_p(x, y, sectlist[sectcnt]))
|
if (inside_p(x, y, sectlist[sectcnt]))
|
||||||
SET_AND_RETURN(*sectnum, sectlist[sectcnt]);
|
SET_AND_RETURN(*sectnum, sectlist[sectcnt]);
|
||||||
|
|
||||||
auto const sec = (usectortype const *)(sector + sectlist[sectcnt]);
|
auto const sec = §or[sectlist[sectcnt]];
|
||||||
int const startwall = sec->wallptr;
|
int const startwall = sec->wallptr;
|
||||||
int const endwall = sec->wallptr + sec->wallnum;
|
int const endwall = sec->wallptr + sec->wallnum;
|
||||||
|
|
||||||
|
@ -957,7 +957,7 @@ static void clipupdatesector(int32_t const x, int32_t const y, int16_t * const s
|
||||||
SET_AND_RETURN(*sectnum, sectlist[sectcnt]);
|
SET_AND_RETURN(*sectnum, sectlist[sectcnt]);
|
||||||
}
|
}
|
||||||
|
|
||||||
auto const sec = (usectortype const *)(sector + sectlist[sectcnt]);
|
auto const sec = §or[sectlist[sectcnt]];
|
||||||
int const startwall = sec->wallptr;
|
int const startwall = sec->wallptr;
|
||||||
int const endwall = sec->wallptr + sec->wallnum;
|
int const endwall = sec->wallptr + sec->wallnum;
|
||||||
|
|
||||||
|
@ -1028,7 +1028,7 @@ int32_t clipmove(vec3_t * const pos, int16_t * const sectnum, int32_t xvect, int
|
||||||
engineSetClipMap(&origmapinfo, &clipmapinfo);
|
engineSetClipMap(&origmapinfo, &clipmapinfo);
|
||||||
}
|
}
|
||||||
|
|
||||||
curspr = (uspritetype const *)(sprite + clipspritelist[clipspritecnt]);
|
curspr = (uspritetype *)&sprite[clipspritelist[clipspritecnt]];
|
||||||
clipshapeidx = clipshape_idx_for_sprite(curspr, clipshapeidx);
|
clipshapeidx = clipshape_idx_for_sprite(curspr, clipshapeidx);
|
||||||
|
|
||||||
if (clipshapeidx < 0)
|
if (clipshapeidx < 0)
|
||||||
|
@ -1047,14 +1047,14 @@ int32_t clipmove(vec3_t * const pos, int16_t * const sectnum, int32_t xvect, int
|
||||||
|
|
||||||
////////// Walls //////////
|
////////// Walls //////////
|
||||||
|
|
||||||
auto const sec = (usectortype const *)(sector + dasect);
|
auto const sec = (usectortype *)§or[dasect];
|
||||||
int const startwall = sec->wallptr;
|
int const startwall = sec->wallptr;
|
||||||
int const endwall = startwall + sec->wallnum;
|
int const endwall = startwall + sec->wallnum;
|
||||||
|
|
||||||
for (native_t j=startwall; j<endwall; j++)
|
for (native_t j=startwall; j<endwall; j++)
|
||||||
{
|
{
|
||||||
auto const wal = (uwalltype const *)(wall + j);
|
auto const wal = (uwalltype *)&wall[j];
|
||||||
auto const wal2 = (uwalltype const *)(wall + wal->point2);
|
auto const wal2 = (uwalltype *)&wall[wal->point2];
|
||||||
|
|
||||||
if ((wal->x < clipMin.x && wal2->x < clipMin.x) || (wal->x > clipMax.x && wal2->x > clipMax.x) ||
|
if ((wal->x < clipMin.x && wal2->x < clipMin.x) || (wal->x > clipMax.x && wal2->x > clipMax.x) ||
|
||||||
(wal->y < clipMin.y && wal2->y < clipMin.y) || (wal->y > clipMax.y && wal2->y > clipMax.y))
|
(wal->y < clipMin.y && wal2->y < clipMin.y) || (wal->y > clipMax.y && wal2->y > clipMax.y))
|
||||||
|
@ -1080,7 +1080,7 @@ int32_t clipmove(vec3_t * const pos, int16_t * const sectnum, int32_t xvect, int
|
||||||
{
|
{
|
||||||
if (wal->nextsector>=0)
|
if (wal->nextsector>=0)
|
||||||
{
|
{
|
||||||
auto const sec2 = (usectortype const *)(sector + wal->nextsector);
|
const usectortype *sec2 = (usectortype *)§or[wal->nextsector];
|
||||||
|
|
||||||
clipmove_tweak_pos(pos, diff.x, diff.y, p1.x, p1.y, p2.x, p2.y, &v.x, &v.y);
|
clipmove_tweak_pos(pos, diff.x, diff.y, p1.x, p1.y, p2.x, p2.y, &v.x, &v.y);
|
||||||
|
|
||||||
|
@ -1133,7 +1133,7 @@ int32_t clipmove(vec3_t * const pos, int16_t * const sectnum, int32_t xvect, int
|
||||||
|
|
||||||
if (clipyou == 0)
|
if (clipyou == 0)
|
||||||
{
|
{
|
||||||
auto const sec2 = (usectortype const *)(sector + wal->nextsector);
|
const usectortype *sec2 = (usectortype *)§or[wal->nextsector];
|
||||||
int32_t daz2 = getceilzofslope(wal->nextsector, v.x, v.y);
|
int32_t daz2 = getceilzofslope(wal->nextsector, v.x, v.y);
|
||||||
|
|
||||||
clipyou = ((sec2->ceilingstat&1) == 0 &&
|
clipyou = ((sec2->ceilingstat&1) == 0 &&
|
||||||
|
@ -1146,7 +1146,7 @@ int32_t clipmove(vec3_t * const pos, int16_t * const sectnum, int32_t xvect, int
|
||||||
if (!curspr && clipsectcnt != 1 && inside(pos->x, pos->y, dasect) == 1) break;
|
if (!curspr && clipsectcnt != 1 && inside(pos->x, pos->y, dasect) == 1) break;
|
||||||
else if (clipyou)
|
else if (clipyou)
|
||||||
{
|
{
|
||||||
int16_t const objtype = curspr ? (int16_t)(curspr - (uspritetype const *)sprite) + 49152 : j + 32768;
|
int16_t const objtype = curspr ? (int16_t)(curspr - (uspritetype *)sprite) + 49152 : j + 32768;
|
||||||
|
|
||||||
//Add 2 boxes at endpoints
|
//Add 2 boxes at endpoints
|
||||||
int32_t bsz = walldist; if (diff.x < 0) bsz = -bsz;
|
int32_t bsz = walldist; if (diff.x < 0) bsz = -bsz;
|
||||||
|
@ -1185,7 +1185,7 @@ int32_t clipmove(vec3_t * const pos, int16_t * const sectnum, int32_t xvect, int
|
||||||
#endif
|
#endif
|
||||||
for (int j=headspritesect[dasect]; j>=0; j=nextspritesect[j])
|
for (int j=headspritesect[dasect]; j>=0; j=nextspritesect[j])
|
||||||
{
|
{
|
||||||
auto const spr = (uspritetype const *)(sprite + j);
|
const uspritetype *const spr = (uspritetype *)&sprite[j];
|
||||||
const int32_t cstat = spr->cstat;
|
const int32_t cstat = spr->cstat;
|
||||||
|
|
||||||
if ((cstat&dasprclipmask) == 0)
|
if ((cstat&dasprclipmask) == 0)
|
||||||
|
@ -1401,11 +1401,14 @@ int32_t pushmove(vec3_t * const vect, int16_t * const sectnum,
|
||||||
|
|
||||||
do
|
do
|
||||||
{
|
{
|
||||||
|
const uwalltype *wal;
|
||||||
|
const usectortype *sec;
|
||||||
|
int32_t startwall, endwall;
|
||||||
#if 0
|
#if 0
|
||||||
// Push FACE sprites
|
// Push FACE sprites
|
||||||
for (i=headspritesect[clipsectorlist[clipsectcnt]]; i>=0; i=nextspritesect[i])
|
for (i=headspritesect[clipsectorlist[clipsectcnt]]; i>=0; i=nextspritesect[i])
|
||||||
{
|
{
|
||||||
auto const spr = (uspritetype const *)(sprite + i);
|
spr = &sprite[i];
|
||||||
if (((spr->cstat&48) != 0) && ((spr->cstat&48) != 48)) continue;
|
if (((spr->cstat&48) != 0) && ((spr->cstat&48) != 48)) continue;
|
||||||
if ((spr->cstat&dasprclipmask) == 0) continue;
|
if ((spr->cstat&dasprclipmask) == 0) continue;
|
||||||
|
|
||||||
|
@ -1434,15 +1437,13 @@ int32_t pushmove(vec3_t * const vect, int16_t * const sectnum,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
auto const sec = (usectortype const *)(sector + clipsectorlist[clipsectcnt]);
|
sec = (usectortype *)§or[clipsectorlist[clipsectcnt]];
|
||||||
int32_t startwall, endwall;
|
|
||||||
if (dir > 0)
|
if (dir > 0)
|
||||||
startwall = sec->wallptr, endwall = startwall + sec->wallnum;
|
startwall = sec->wallptr, endwall = startwall + sec->wallnum;
|
||||||
else
|
else
|
||||||
endwall = sec->wallptr, startwall = endwall + sec->wallnum;
|
endwall = sec->wallptr, startwall = endwall + sec->wallnum;
|
||||||
|
|
||||||
uwalltype const * wal;
|
for (i=startwall, wal=(uwalltype *)&wall[startwall]; i!=endwall; i+=dir, wal+=dir)
|
||||||
for (i=startwall, wal=(uwalltype const *)(wall + startwall); i!=endwall; i+=dir, wal+=dir)
|
|
||||||
if (clipinsidebox((vec2_t *)vect, i, walldist-4) == 1)
|
if (clipinsidebox((vec2_t *)vect, i, walldist-4) == 1)
|
||||||
{
|
{
|
||||||
j = 0;
|
j = 0;
|
||||||
|
@ -1450,7 +1451,7 @@ int32_t pushmove(vec3_t * const vect, int16_t * const sectnum,
|
||||||
if (wal->cstat&dawalclipmask) j = 1;
|
if (wal->cstat&dawalclipmask) j = 1;
|
||||||
if (j == 0)
|
if (j == 0)
|
||||||
{
|
{
|
||||||
auto const sec2 = (usectortype const *)(sector + wal->nextsector);
|
const usectortype *const sec2 = (usectortype *)§or[wal->nextsector];
|
||||||
int32_t daz2;
|
int32_t daz2;
|
||||||
|
|
||||||
//Find closest point on wall (dax, day) to (vect->x, vect->y)
|
//Find closest point on wall (dax, day) to (vect->x, vect->y)
|
||||||
|
@ -1528,7 +1529,7 @@ void getzrange(const vec3_t *pos, int16_t sectnum,
|
||||||
int32_t mcf=-1;
|
int32_t mcf=-1;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
uspritetype const * curspr = NULL; // non-NULL when handling sprite with sector-like clipping
|
uspritetype *curspr=NULL; // non-NULL when handling sprite with sector-like clipping
|
||||||
int32_t curidx=-1, clipspritecnt = 0;
|
int32_t curidx=-1, clipspritecnt = 0;
|
||||||
|
|
||||||
//Extra walldist for sprites on sector lines
|
//Extra walldist for sprites on sector lines
|
||||||
|
@ -1571,7 +1572,7 @@ restart_grand:
|
||||||
{
|
{
|
||||||
// one set of clip-sprite sectors completed, prepare the next
|
// one set of clip-sprite sectors completed, prepare the next
|
||||||
|
|
||||||
curspr = (uspritetype const *)(sprite + clipspritelist[clipspritecnt]);
|
curspr = (uspritetype *)&sprite[clipspritelist[clipspritecnt]];
|
||||||
curidx = clipshape_idx_for_sprite(curspr, curidx);
|
curidx = clipshape_idx_for_sprite(curspr, curidx);
|
||||||
|
|
||||||
if (curidx < 0)
|
if (curidx < 0)
|
||||||
|
@ -1594,7 +1595,7 @@ restart_grand:
|
||||||
getzsofslope(k,pos->x,pos->y,&daz,&daz2);
|
getzsofslope(k,pos->x,pos->y,&daz,&daz2);
|
||||||
int32_t fz, cz;
|
int32_t fz, cz;
|
||||||
getzsofslope(sectq[clipinfo[curidx].qend],pos->x,pos->y,&cz,&fz);
|
getzsofslope(sectq[clipinfo[curidx].qend],pos->x,pos->y,&cz,&fz);
|
||||||
int const hitwhat = (curspr-(uspritetype const *)sprite)+49152;
|
const int hitwhat = (curspr-(uspritetype *)sprite)+49152;
|
||||||
|
|
||||||
if ((sector[k].ceilingstat&1)==0)
|
if ((sector[k].ceilingstat&1)==0)
|
||||||
{
|
{
|
||||||
|
@ -1611,7 +1612,7 @@ restart_grand:
|
||||||
#endif
|
#endif
|
||||||
////////// Walls //////////
|
////////// Walls //////////
|
||||||
|
|
||||||
auto const startsec = (usectortype const *)(sector + clipsectorlist[clipsectcnt]);
|
const sectortype *const startsec = §or[clipsectorlist[clipsectcnt]];
|
||||||
const int startwall = startsec->wallptr;
|
const int startwall = startsec->wallptr;
|
||||||
const int endwall = startwall + startsec->wallnum;
|
const int endwall = startwall + startsec->wallnum;
|
||||||
|
|
||||||
|
@ -1621,8 +1622,8 @@ restart_grand:
|
||||||
|
|
||||||
if (k >= 0)
|
if (k >= 0)
|
||||||
{
|
{
|
||||||
auto const v1 = *(vec2_t const *)(wall + j);
|
vec2_t const v1 = *(vec2_t *)&wall[j];
|
||||||
auto const v2 = *(vec2_t const *)(wall + wall[j].point2);
|
vec2_t const v2 = *(vec2_t *)&wall[wall[j].point2];
|
||||||
|
|
||||||
if ((v1.x < xmin && (v2.x < xmin)) || (v1.x > xmax && v2.x > xmax) ||
|
if ((v1.x < xmin && (v2.x < xmin)) || (v1.x > xmax && v2.x > xmax) ||
|
||||||
(v1.y < ymin && (v2.y < ymin)) || (v1.y > ymax && v2.y > ymax))
|
(v1.y < ymin && (v2.y < ymin)) || (v1.y > ymax && v2.y > ymax))
|
||||||
|
@ -1638,7 +1639,7 @@ restart_grand:
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
if (wall[j].cstat&dawalclipmask) continue; // XXX?
|
if (wall[j].cstat&dawalclipmask) continue; // XXX?
|
||||||
auto const sec = (usectortype const *)(sector + k);
|
const sectortype *const sec = §or[k];
|
||||||
|
|
||||||
#ifdef HAVE_CLIPSHAPE_FEATURE
|
#ifdef HAVE_CLIPSHAPE_FEATURE
|
||||||
if (curspr)
|
if (curspr)
|
||||||
|
@ -1680,7 +1681,7 @@ restart_grand:
|
||||||
#ifdef HAVE_CLIPSHAPE_FEATURE
|
#ifdef HAVE_CLIPSHAPE_FEATURE
|
||||||
if (curspr)
|
if (curspr)
|
||||||
{
|
{
|
||||||
int32_t fz,cz, hitwhat=(curspr-(uspritetype const *)sprite)+49152;
|
int32_t fz,cz, hitwhat=(curspr-(uspritetype *)sprite)+49152;
|
||||||
getzsofslope(sectq[clipinfo[curidx].qend],pos->x,pos->y,&cz,&fz);
|
getzsofslope(sectq[clipinfo[curidx].qend],pos->x,pos->y,&cz,&fz);
|
||||||
|
|
||||||
if ((sec->ceilingstat&1)==0)
|
if ((sec->ceilingstat&1)==0)
|
||||||
|
@ -1742,10 +1743,10 @@ restart_grand:
|
||||||
int32_t clipyou = 0;
|
int32_t clipyou = 0;
|
||||||
|
|
||||||
#ifdef HAVE_CLIPSHAPE_FEATURE
|
#ifdef HAVE_CLIPSHAPE_FEATURE
|
||||||
if (clipsprite_try((uspritetype const *)(sprite + j), xmin,ymin, xmax,ymax))
|
if (clipsprite_try((uspritetype *)&sprite[j], xmin,ymin, xmax,ymax))
|
||||||
continue;
|
continue;
|
||||||
#endif
|
#endif
|
||||||
auto v1 = *(vec2_t const *)(sprite + j);
|
vec2_t v1 = *(vec2_t *)&sprite[j];
|
||||||
|
|
||||||
switch (cstat & CSTAT_SPRITE_ALIGNMENT_MASK)
|
switch (cstat & CSTAT_SPRITE_ALIGNMENT_MASK)
|
||||||
{
|
{
|
||||||
|
@ -1764,7 +1765,7 @@ restart_grand:
|
||||||
case CSTAT_SPRITE_ALIGNMENT_WALL:
|
case CSTAT_SPRITE_ALIGNMENT_WALL:
|
||||||
{
|
{
|
||||||
vec2_t v2;
|
vec2_t v2;
|
||||||
get_wallspr_points((uspritetype const *)(sprite + j), &v1.x, &v2.x, &v1.y, &v2.y);
|
get_wallspr_points((uspritetype *)&sprite[j], &v1.x, &v2.x, &v1.y, &v2.y);
|
||||||
|
|
||||||
if (clipinsideboxline(pos->x,pos->y,v1.x,v1.y,v2.x,v2.y,walldist+1) != 0)
|
if (clipinsideboxline(pos->x,pos->y,v1.x,v1.y,v2.x,v2.y,walldist+1) != 0)
|
||||||
{
|
{
|
||||||
|
@ -1784,7 +1785,7 @@ restart_grand:
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
vec2_t v2, v3, v4;
|
vec2_t v2, v3, v4;
|
||||||
get_floorspr_points((uspritetype const *)(sprite + j), pos->x, pos->y, &v1.x, &v2.x, &v3.x, &v4.x,
|
get_floorspr_points((uspritetype const *) &sprite[j], pos->x, pos->y, &v1.x, &v2.x, &v3.x, &v4.x,
|
||||||
&v1.y, &v2.y, &v3.y, &v4.y);
|
&v1.y, &v2.y, &v3.y, &v4.y);
|
||||||
|
|
||||||
vec2_t const da = { mulscale14(sintable[(sprite[j].ang - 256 + 512) & 2047], walldist + 4),
|
vec2_t const da = { mulscale14(sintable[(sprite[j].ang - 256 + 512) & 2047], walldist + 4),
|
||||||
|
@ -1993,8 +1994,8 @@ static int32_t hitscan_trysector(const vec3_t *sv, const usectortype *sec, hitda
|
||||||
|
|
||||||
if (stat&2)
|
if (stat&2)
|
||||||
{
|
{
|
||||||
auto const wal = (uwalltype const *)(wall + sec->wallptr);
|
auto const wal = (uwalltype *)&wall[sec->wallptr];
|
||||||
auto const wal2 = (uwalltype const *)(wall + wal->point2);
|
auto const wal2 = (uwalltype *)&wall[wal->point2];
|
||||||
int32_t j, dax=wal2->x-wal->x, day=wal2->y-wal->y;
|
int32_t j, dax=wal2->x-wal->x, day=wal2->y-wal->y;
|
||||||
|
|
||||||
i = nsqrtasm(uhypsq(dax,day)); if (i == 0) return 1; //continue;
|
i = nsqrtasm(uhypsq(dax,day)); if (i == 0) return 1; //continue;
|
||||||
|
@ -2029,9 +2030,9 @@ static int32_t hitscan_trysector(const vec3_t *sv, const usectortype *sec, hitda
|
||||||
{
|
{
|
||||||
if (tmp==NULL)
|
if (tmp==NULL)
|
||||||
{
|
{
|
||||||
if (inside(x1,y1,sec-(usectortype const *)sector) == 1)
|
if (inside(x1,y1,sec-(usectortype *)sector) == 1)
|
||||||
{
|
{
|
||||||
hit_set(hit, sec-(usectortype const *)sector, -1, -1, x1, y1, z1);
|
hit_set(hit, sec-(usectortype *)sector, -1, -1, x1, y1, z1);
|
||||||
hitscan_hitsectcf = (how+1)>>1;
|
hitscan_hitsectcf = (how+1)>>1;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -2043,8 +2044,8 @@ static int32_t hitscan_trysector(const vec3_t *sv, const usectortype *sec, hitda
|
||||||
|
|
||||||
if (!thislastsec)
|
if (!thislastsec)
|
||||||
{
|
{
|
||||||
if (inside(x1,y1,sec-(usectortype const *)sector) == 1)
|
if (inside(x1,y1,sec-(usectortype *)sector) == 1)
|
||||||
hit_set(hit, curspr->sectnum, -1, curspr-(uspritetype const *)sprite, x1, y1, z1);
|
hit_set(hit, curspr->sectnum, -1, curspr-(uspritetype *)sprite, x1, y1, z1);
|
||||||
}
|
}
|
||||||
#ifdef HAVE_CLIPSHAPE_FEATURE
|
#ifdef HAVE_CLIPSHAPE_FEATURE
|
||||||
else
|
else
|
||||||
|
@ -2053,7 +2054,7 @@ static int32_t hitscan_trysector(const vec3_t *sv, const usectortype *sec, hitda
|
||||||
{
|
{
|
||||||
if (inside(x1,y1,sectq[i]) == 1)
|
if (inside(x1,y1,sectq[i]) == 1)
|
||||||
{
|
{
|
||||||
hit_set(hit, curspr->sectnum, -1, curspr-(uspritetype const *)sprite, x1, y1, z1);
|
hit_set(hit, curspr->sectnum, -1, curspr-(uspritetype *)sprite, x1, y1, z1);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -2111,7 +2112,7 @@ restart_grand:
|
||||||
if (!curspr)
|
if (!curspr)
|
||||||
engineSetClipMap(&origmapinfo, &clipmapinfo); // replace sector and wall with clip map
|
engineSetClipMap(&origmapinfo, &clipmapinfo); // replace sector and wall with clip map
|
||||||
|
|
||||||
curspr = (uspritetype *)(sprite + clipspritelist[clipspritecnt]);
|
curspr = (uspritetype *)&sprite[clipspritelist[clipspritecnt]];
|
||||||
curidx = clipshape_idx_for_sprite(curspr, curidx);
|
curidx = clipshape_idx_for_sprite(curspr, curidx);
|
||||||
|
|
||||||
if (curidx < 0)
|
if (curidx < 0)
|
||||||
|
@ -2130,7 +2131,7 @@ restart_grand:
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
dasector = clipsectorlist[tempshortcnt];
|
dasector = clipsectorlist[tempshortcnt];
|
||||||
auto const sec = (usectortype const *)(sector + dasector);
|
auto const * sec = (usectortype *)§or[dasector];
|
||||||
|
|
||||||
i = 1;
|
i = 1;
|
||||||
#ifdef HAVE_CLIPSHAPE_FEATURE
|
#ifdef HAVE_CLIPSHAPE_FEATURE
|
||||||
|
@ -2154,8 +2155,8 @@ restart_grand:
|
||||||
startwall = sec->wallptr; endwall = startwall + sec->wallnum;
|
startwall = sec->wallptr; endwall = startwall + sec->wallnum;
|
||||||
for (z=startwall; z<endwall; z++)
|
for (z=startwall; z<endwall; z++)
|
||||||
{
|
{
|
||||||
auto const wal = (uwalltype const *)(wall + z);
|
auto const wal = (uwalltype *)&wall[z];
|
||||||
auto const wal2 = (uwalltype const *)(wall + wal->point2);
|
auto const wal2 = (uwalltype *)&wall[wal->point2];
|
||||||
|
|
||||||
int const nextsector = wal->nextsector;
|
int const nextsector = wal->nextsector;
|
||||||
|
|
||||||
|
@ -2190,7 +2191,7 @@ restart_grand:
|
||||||
{
|
{
|
||||||
if (wal->cstat&dawalclipmask)
|
if (wal->cstat&dawalclipmask)
|
||||||
{
|
{
|
||||||
hit_set(hit, curspr->sectnum, -1, curspr-(uspritetype const *)sprite, intx, inty, intz);
|
hit_set(hit, curspr->sectnum, -1, curspr-(uspritetype *)sprite, intx, inty, intz);
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -2200,7 +2201,7 @@ restart_grand:
|
||||||
// ceil cz daz daz2 fz floor
|
// ceil cz daz daz2 fz floor
|
||||||
if ((cz <= intz && intz <= daz) || (daz2 <= intz && intz <= fz))
|
if ((cz <= intz && intz <= daz) || (daz2 <= intz && intz <= fz))
|
||||||
{
|
{
|
||||||
hit_set(hit, curspr->sectnum, -1, curspr-(uspritetype const *)sprite, intx, inty, intz);
|
hit_set(hit, curspr->sectnum, -1, curspr-(uspritetype *)sprite, intx, inty, intz);
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue