mirror of
https://github.com/ZDoom/raze-gles.git
synced 2024-11-10 23:02:03 +00:00
Corrupt map fixes
Specifically seems to fix ebase.map by msandt git-svn-id: https://svn.eduke32.com/eduke32@1510 1a8010ca-5511-0410-912e-c29ae57300e0
This commit is contained in:
parent
dcd7c3c9fe
commit
ecb3e90817
3 changed files with 10 additions and 10 deletions
|
@ -10260,7 +10260,7 @@ int32_t sectorofwall(int16_t theline)
|
||||||
int32_t i, gap;
|
int32_t i, gap;
|
||||||
|
|
||||||
if ((theline < 0) || (theline >= numwalls)) return(-1);
|
if ((theline < 0) || (theline >= numwalls)) return(-1);
|
||||||
i = wall[theline].nextwall; if (i >= 0) return(wall[i].nextsector);
|
i = wall[theline].nextwall; if (i >= 0 && i < MAXWALLS) return(wall[i].nextsector);
|
||||||
|
|
||||||
gap = (numsectors>>1); i = gap;
|
gap = (numsectors>>1); i = gap;
|
||||||
while (gap > 1)
|
while (gap > 1)
|
||||||
|
@ -10999,7 +10999,7 @@ void draw2dscreen(int32_t posxe, int32_t posye, int16_t ange, int32_t zoome, int
|
||||||
{
|
{
|
||||||
col = 33;
|
col = 33;
|
||||||
if ((wal->cstat&1) != 0) col = 5;
|
if ((wal->cstat&1) != 0) col = 5;
|
||||||
if (wal->nextwall!=-1&&((wal->cstat^wall[wal->nextwall].cstat)&1)) col = 2;
|
if (wal->nextwall >= 0 && wal->nextwall < MAXWALLS && ((wal->cstat^wall[wal->nextwall].cstat)&1)) col = 2;
|
||||||
if ((i == linehighlight) || ((linehighlight >= 0) && (i == wall[linehighlight].nextwall)))
|
if ((i == linehighlight) || ((linehighlight >= 0) && (i == wall[linehighlight].nextwall)))
|
||||||
if (totalclock & 16) col += (2<<2);
|
if (totalclock & 16) col += (2<<2);
|
||||||
}
|
}
|
||||||
|
|
|
@ -2934,7 +2934,7 @@ static void polymer_updatewall(int16_t wallnum)
|
||||||
wal = &wall[wallnum];
|
wal = &wall[wallnum];
|
||||||
nwallnum = wal->nextwall;
|
nwallnum = wal->nextwall;
|
||||||
|
|
||||||
if (sectofwall == -1)
|
if (sectofwall < 0 || sectofwall > numsectors || wallnum < 0 || wallnum > numwalls)
|
||||||
return; // yay, corrupt map
|
return; // yay, corrupt map
|
||||||
sec = §or[sectofwall];
|
sec = §or[sectofwall];
|
||||||
if (sec->wallptr > wallnum)
|
if (sec->wallptr > wallnum)
|
||||||
|
@ -2942,7 +2942,7 @@ static void polymer_updatewall(int16_t wallnum)
|
||||||
w = prwalls[wallnum];
|
w = prwalls[wallnum];
|
||||||
s = prsectors[sectofwall];
|
s = prsectors[sectofwall];
|
||||||
invalid = s->invalidid;
|
invalid = s->invalidid;
|
||||||
if (nwallnum != -1)
|
if (nwallnum >= 0 && nwallnum < MAXWALLS)
|
||||||
{
|
{
|
||||||
ns = prsectors[wal->nextsector];
|
ns = prsectors[wal->nextsector];
|
||||||
invalid += ns->invalidid;
|
invalid += ns->invalidid;
|
||||||
|
@ -2963,7 +2963,7 @@ static void polymer_updatewall(int16_t wallnum)
|
||||||
if (picanm[wallpicnum]&192) wallpicnum += animateoffs(wallpicnum,wallnum+16384);
|
if (picanm[wallpicnum]&192) wallpicnum += animateoffs(wallpicnum,wallnum+16384);
|
||||||
walloverpicnum = wal->overpicnum;
|
walloverpicnum = wal->overpicnum;
|
||||||
if (picanm[walloverpicnum]&192) walloverpicnum += animateoffs(walloverpicnum,wallnum+16384);
|
if (picanm[walloverpicnum]&192) walloverpicnum += animateoffs(walloverpicnum,wallnum+16384);
|
||||||
if (nwallnum != -1)
|
if (nwallnum >= 0 && nwallnum < MAXWALLS)
|
||||||
{
|
{
|
||||||
nwallpicnum = wall[nwallnum].picnum;
|
nwallpicnum = wall[nwallnum].picnum;
|
||||||
if (picanm[nwallpicnum]&192) nwallpicnum += animateoffs(nwallpicnum,wallnum+16384);
|
if (picanm[nwallpicnum]&192) nwallpicnum += animateoffs(nwallpicnum,wallnum+16384);
|
||||||
|
@ -3006,7 +3006,7 @@ static void polymer_updatewall(int16_t wallnum)
|
||||||
w->yrepeat = wal->yrepeat;
|
w->yrepeat = wal->yrepeat;
|
||||||
w->overpicnum = walloverpicnum;
|
w->overpicnum = walloverpicnum;
|
||||||
w->shade = wal->shade;
|
w->shade = wal->shade;
|
||||||
if (nwallnum != -1)
|
if (nwallnum >= 0 && nwallnum < MAXWALLS)
|
||||||
{
|
{
|
||||||
w->nwallpicnum = nwallpicnum;
|
w->nwallpicnum = nwallpicnum;
|
||||||
w->nwallxpanning = wall[nwallnum].xpanning;
|
w->nwallxpanning = wall[nwallnum].xpanning;
|
||||||
|
@ -3022,7 +3022,7 @@ static void polymer_updatewall(int16_t wallnum)
|
||||||
else
|
else
|
||||||
xref = 0;
|
xref = 0;
|
||||||
|
|
||||||
if (wal->nextsector == -1)
|
if (wal->nextsector < 0 || wal->nextsector > numsectors)
|
||||||
{
|
{
|
||||||
Bmemcpy(w->wall.buffer, &s->floor.buffer[(wallnum - sec->wallptr) * 5], sizeof(GLfloat) * 3);
|
Bmemcpy(w->wall.buffer, &s->floor.buffer[(wallnum - sec->wallptr) * 5], sizeof(GLfloat) * 3);
|
||||||
Bmemcpy(&w->wall.buffer[5], &s->floor.buffer[(wal->point2 - sec->wallptr) * 5], sizeof(GLfloat) * 3);
|
Bmemcpy(&w->wall.buffer[5], &s->floor.buffer[(wal->point2 - sec->wallptr) * 5], sizeof(GLfloat) * 3);
|
||||||
|
|
|
@ -58,7 +58,6 @@ static BOOL window_class_registered = FALSE;
|
||||||
static HANDLE instanceflag = NULL;
|
static HANDLE instanceflag = NULL;
|
||||||
|
|
||||||
int32_t backgroundidle = 1;
|
int32_t backgroundidle = 1;
|
||||||
int32_t is_vista = 0;
|
|
||||||
|
|
||||||
static WORD sysgamma[3][256];
|
static WORD sysgamma[3][256];
|
||||||
extern int32_t curbrightness, gammabrightness;
|
extern int32_t curbrightness, gammabrightness;
|
||||||
|
@ -500,7 +499,6 @@ static void print_os_version(void)
|
||||||
|
|
||||||
if (osv.dwMajorVersion == 6)
|
if (osv.dwMajorVersion == 6)
|
||||||
{
|
{
|
||||||
is_vista = 1;
|
|
||||||
switch (osv.dwMinorVersion)
|
switch (osv.dwMinorVersion)
|
||||||
{
|
{
|
||||||
case 0:
|
case 0:
|
||||||
|
@ -509,6 +507,9 @@ static void print_os_version(void)
|
||||||
case 1:
|
case 1:
|
||||||
ver = "7";
|
ver = "7";
|
||||||
break;
|
break;
|
||||||
|
default:
|
||||||
|
ver = "Unknown Post-2010 Product";
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
@ -524,7 +525,6 @@ static void print_os_version(void)
|
||||||
break;
|
break;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
ver = "Unknown";
|
|
||||||
initprintf("OS: Unknown OS\n");
|
initprintf("OS: Unknown OS\n");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue