mirror of
https://github.com/ZDoom/raze-gles.git
synced 2025-01-23 15:40:39 +00:00
Mapster32: in drawscreen_drawsprite(), "sprite[j]." -> "spr->".
Also a similar stylistic tweak in parsetilegroups(). git-svn-id: https://svn.eduke32.com/eduke32@5426 1a8010ca-5511-0410-912e-c29ae57300e0
This commit is contained in:
parent
185262be73
commit
5e61b28ebc
2 changed files with 50 additions and 46 deletions
|
@ -17142,7 +17142,7 @@ static void drawscreen_drawwall(int32_t i, int32_t posxe, int32_t posye, int32_t
|
||||||
col -= M32_THROB>>3;
|
col -= M32_THROB>>3;
|
||||||
}
|
}
|
||||||
else if ((showfirstwall && searchsector>=0 && (sector[searchsector].wallptr == i ||
|
else if ((showfirstwall && searchsector>=0 && (sector[searchsector].wallptr == i ||
|
||||||
sector[searchsector].wallptr == wall[i].nextwall)) ||
|
sector[searchsector].wallptr == wal->nextwall)) ||
|
||||||
bothSidesHighlighted)
|
bothSidesHighlighted)
|
||||||
{
|
{
|
||||||
col = editorcolors[14];
|
col = editorcolors[14];
|
||||||
|
@ -17249,7 +17249,7 @@ static void drawscreen_drawwall(int32_t i, int32_t posxe, int32_t posye, int32_t
|
||||||
col = editorcolors[15];
|
col = editorcolors[15];
|
||||||
|
|
||||||
if (i == pointhighlight || ((unsigned)pointhighlight < MAXWALLS &&
|
if (i == pointhighlight || ((unsigned)pointhighlight < MAXWALLS &&
|
||||||
(wall[i].x == wall[pointhighlight].x) && (wall[i].y == wall[pointhighlight].y)))
|
(wal->x == wall[pointhighlight].x) && (wal->y == wall[pointhighlight].y)))
|
||||||
{
|
{
|
||||||
col = editorcolors[15] - (M32_THROB>>1);
|
col = editorcolors[15] - (M32_THROB>>1);
|
||||||
|
|
||||||
|
@ -17318,25 +17318,27 @@ static void drawscreen_drawsprite(int32_t j, int32_t posxe, int32_t posye, int32
|
||||||
{
|
{
|
||||||
int32_t x1, y1, x2, y2;
|
int32_t x1, y1, x2, y2;
|
||||||
int col;
|
int col;
|
||||||
int16_t const hitblocking=(sprite[j].cstat&256);
|
|
||||||
int16_t const flooraligned=(sprite[j].cstat&32), wallaligned=(sprite[j].cstat&16);
|
const spritetype *const spr = &sprite[j];
|
||||||
|
int16_t const hitblocking = (spr->cstat&256);
|
||||||
|
int16_t const flooraligned = (spr->cstat&32), wallaligned = (spr->cstat&16);
|
||||||
|
|
||||||
int16_t const angofs = m32_sideview ? m32_sideang : 0;
|
int16_t const angofs = m32_sideview ? m32_sideang : 0;
|
||||||
|
|
||||||
if (sprite[j].sectnum<0)
|
if (spr->sectnum<0)
|
||||||
col = editorcolors[4]; // red
|
col = editorcolors[4]; // red
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
uint8_t const spritecol = spritecol2d[sprite[j].picnum][0];
|
uint8_t const spritecol = spritecol2d[spr->picnum][0];
|
||||||
|
|
||||||
if (spritecol)
|
if (spritecol)
|
||||||
col = spritecol; // XXX: should be editorcolors[spritecol]
|
col = spritecol; // XXX: should be editorcolors[spritecol]
|
||||||
else
|
else
|
||||||
col = getspritecol(j);
|
col = getspritecol(j);
|
||||||
#if 0
|
#if 0
|
||||||
else if (sprite[j].cstat&1)
|
else if (spr->cstat&1)
|
||||||
{
|
{
|
||||||
uint8_t const blockingSpriteCol = spritecol2d[sprite[j].picnum][1];
|
uint8_t const blockingSpriteCol = spritecol2d[spr->picnum][1];
|
||||||
col = blockingSpriteCol ? blockingSpriteCol : 5;
|
col = blockingSpriteCol ? blockingSpriteCol : 5;
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
@ -17346,8 +17348,8 @@ static void drawscreen_drawsprite(int32_t j, int32_t posxe, int32_t posye, int32
|
||||||
{
|
{
|
||||||
if (pointhighlight >= 16384 &&
|
if (pointhighlight >= 16384 &&
|
||||||
(j+16384 == pointhighlight ||
|
(j+16384 == pointhighlight ||
|
||||||
(!m32_sideview && (sprite[j].x == sprite[pointhighlight-16384].x &&
|
(!m32_sideview && (spr->x == sprite[pointhighlight-16384].x &&
|
||||||
sprite[j].y == sprite[pointhighlight-16384].y))))
|
spr->y == sprite[pointhighlight-16384].y))))
|
||||||
{
|
{
|
||||||
col += M32_THROB>>2;
|
col += M32_THROB>>2;
|
||||||
}
|
}
|
||||||
|
@ -17363,24 +17365,24 @@ static void drawscreen_drawsprite(int32_t j, int32_t posxe, int32_t posye, int32
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
screencoords(&x1,&y1, sprite[j].x-posxe,sprite[j].y-posye, zoome);
|
screencoords(&x1,&y1, spr->x-posxe,spr->y-posye, zoome);
|
||||||
// tempint = ((midydim16+y1)*bytesperline)+(halfxdim16+x1)+frameplace;
|
// tempint = ((midydim16+y1)*bytesperline)+(halfxdim16+x1)+frameplace;
|
||||||
|
|
||||||
if (m32_sideview)
|
if (m32_sideview)
|
||||||
y1 += getscreenvdisp(sprite[j].z-posze,zoome);
|
y1 += getscreenvdisp(spr->z-posze,zoome);
|
||||||
|
|
||||||
int f = mulscale12(128, zoome);
|
int f = mulscale12(128, zoome);
|
||||||
|
|
||||||
if ((halfxdim16+x1 >= -f) && (halfxdim16+x1 < xdim+f) &&
|
if ((halfxdim16+x1 >= -f) && (halfxdim16+x1 < xdim+f) &&
|
||||||
(midydim16+y1 >= -f) && (midydim16+y1 < ydim16+f))
|
(midydim16+y1 >= -f) && (midydim16+y1 < ydim16+f))
|
||||||
{
|
{
|
||||||
if (zoome > 512 && sprite[j].clipdist > 32)
|
if (zoome > 512 && spr->clipdist > 32)
|
||||||
drawcircle16(halfxdim16+x1, midydim16+y1, mulscale14(sprite[j].clipdist<<2, zoome), 16384, col);
|
drawcircle16(halfxdim16+x1, midydim16+y1, mulscale14(spr->clipdist<<2, zoome), 16384, col);
|
||||||
|
|
||||||
drawcircle16(halfxdim16+x1, midydim16+y1, 4, 16384, col);
|
drawcircle16(halfxdim16+x1, midydim16+y1, 4, 16384, col);
|
||||||
|
|
||||||
x2 = mulscale11(sintable[(sprite[j].ang+angofs+2560)&2047],zoome) / 768;
|
x2 = mulscale11(sintable[(spr->ang+angofs+2560)&2047],zoome) / 768;
|
||||||
y2 = mulscale11(sintable[(sprite[j].ang+angofs+2048)&2047],zoome) / 768;
|
y2 = mulscale11(sintable[(spr->ang+angofs+2048)&2047],zoome) / 768;
|
||||||
y2 = scalescreeny(y2);
|
y2 = scalescreeny(y2);
|
||||||
|
|
||||||
drawline16mid(x1,y1, x1+x2,y1+y2, col);
|
drawline16mid(x1,y1, x1+x2,y1+y2, col);
|
||||||
|
@ -17395,11 +17397,11 @@ static void drawscreen_drawsprite(int32_t j, int32_t posxe, int32_t posye, int32
|
||||||
|
|
||||||
if (flooraligned)
|
if (flooraligned)
|
||||||
{
|
{
|
||||||
int32_t fx = mulscale10(mulscale6(tilesiz[sprite[j].picnum].x, sprite[j].xrepeat),zoome) >> 1;
|
int32_t fx = mulscale10(mulscale6(tilesiz[spr->picnum].x, spr->xrepeat),zoome) >> 1;
|
||||||
int32_t fy = mulscale10(mulscale6(tilesiz[sprite[j].picnum].y, sprite[j].yrepeat),zoome) >> 1;
|
int32_t fy = mulscale10(mulscale6(tilesiz[spr->picnum].y, spr->yrepeat),zoome) >> 1;
|
||||||
int32_t co[4][2], ii, in;
|
int32_t co[4][2], ii, in;
|
||||||
int32_t sinang = sintable[(sprite[j].ang+angofs+1536)&2047];
|
int32_t sinang = sintable[(spr->ang+angofs+1536)&2047];
|
||||||
int32_t cosang = sintable[(sprite[j].ang+angofs+1024)&2047];
|
int32_t cosang = sintable[(spr->ang+angofs+1024)&2047];
|
||||||
int32_t r,s;
|
int32_t r,s;
|
||||||
|
|
||||||
co[0][0] = co[3][0] = -fx;
|
co[0][0] = co[3][0] = -fx;
|
||||||
|
@ -17433,15 +17435,15 @@ static void drawscreen_drawsprite(int32_t j, int32_t posxe, int32_t posye, int32
|
||||||
}
|
}
|
||||||
else if (wallaligned)
|
else if (wallaligned)
|
||||||
{
|
{
|
||||||
int32_t fx = mulscale6(tilesiz[sprite[j].picnum].x, sprite[j].xrepeat);
|
int32_t fx = mulscale6(tilesiz[spr->picnum].x, spr->xrepeat);
|
||||||
int32_t one=(((sprite[j].ang+angofs+256)&512) == 0), no=!one;
|
int32_t one=(((spr->ang+angofs+256)&512) == 0), no=!one;
|
||||||
|
|
||||||
x2 = mulscale11(sintable[(sprite[j].ang+angofs+2560)&2047],zoome) / 6144;
|
x2 = mulscale11(sintable[(spr->ang+angofs+2560)&2047],zoome) / 6144;
|
||||||
y2 = mulscale11(sintable[(sprite[j].ang+angofs+2048)&2047],zoome) / 6144;
|
y2 = mulscale11(sintable[(spr->ang+angofs+2048)&2047],zoome) / 6144;
|
||||||
y2 = scalescreeny(y2);
|
y2 = scalescreeny(y2);
|
||||||
|
|
||||||
drawline16mid(x1,y1, x1+x2,y1+y2, col);
|
drawline16mid(x1,y1, x1+x2,y1+y2, col);
|
||||||
if (!(sprite[j].cstat&64)) // not 1-sided
|
if (!(spr->cstat&64)) // not 1-sided
|
||||||
{
|
{
|
||||||
drawline16mid(x1,y1, x1-x2,y1-y2, col);
|
drawline16mid(x1,y1, x1-x2,y1-y2, col);
|
||||||
if (hitblocking)
|
if (hitblocking)
|
||||||
|
@ -17458,8 +17460,8 @@ static void drawscreen_drawsprite(int32_t j, int32_t posxe, int32_t posye, int32
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
x2 = mulscale13(sintable[(sprite[j].ang+angofs+1024)&2047],zoome) * fx / 4096;
|
x2 = mulscale13(sintable[(spr->ang+angofs+1024)&2047],zoome) * fx / 4096;
|
||||||
y2 = mulscale13(sintable[(sprite[j].ang+angofs+512)&2047],zoome) * fx / 4096;
|
y2 = mulscale13(sintable[(spr->ang+angofs+512)&2047],zoome) * fx / 4096;
|
||||||
y2 = scalescreeny(y2);
|
y2 = scalescreeny(y2);
|
||||||
|
|
||||||
drawline16mid(x1,y1, x1-x2,y1-y2, col);
|
drawline16mid(x1,y1, x1-x2,y1-y2, col);
|
||||||
|
|
|
@ -9356,12 +9356,14 @@ int32_t parsetilegroups(scriptfile *script)
|
||||||
if (scriptfile_getstring(script,&name)) break;
|
if (scriptfile_getstring(script,&name)) break;
|
||||||
if (scriptfile_getbraces(script,&end)) break;
|
if (scriptfile_getbraces(script,&end)) break;
|
||||||
|
|
||||||
s_TileGroups[tile_groups].pIds = (int32_t *)Xcalloc(MAX_TILE_GROUP_ENTRIES, sizeof(int32_t));
|
TileGroup *const tileGrp = &s_TileGroups[tile_groups];
|
||||||
s_TileGroups[tile_groups].szText = Xstrdup(name);
|
|
||||||
|
tileGrp->pIds = (int32_t *)Xcalloc(MAX_TILE_GROUP_ENTRIES, sizeof(int32_t));
|
||||||
|
tileGrp->szText = Xstrdup(name);
|
||||||
|
|
||||||
while (script->textptr < end)
|
while (script->textptr < end)
|
||||||
{
|
{
|
||||||
tokenlist tgtokens2[] =
|
static const tokenlist tgtokens2[] =
|
||||||
{
|
{
|
||||||
{ "tilegroup", T_TILEGROUP },
|
{ "tilegroup", T_TILEGROUP },
|
||||||
{ "tile", T_TILE },
|
{ "tile", T_TILE },
|
||||||
|
@ -9371,15 +9373,16 @@ int32_t parsetilegroups(scriptfile *script)
|
||||||
{ "colors", T_COLORS },
|
{ "colors", T_COLORS },
|
||||||
};
|
};
|
||||||
|
|
||||||
int32_t token = getatoken(script,tgtokens2,ARRAY_SIZE(tgtokens2));
|
const int32_t token = getatoken(script,tgtokens2,ARRAY_SIZE(tgtokens2));
|
||||||
|
|
||||||
switch (token)
|
switch (token)
|
||||||
{
|
{
|
||||||
case T_TILE:
|
case T_TILE:
|
||||||
{
|
{
|
||||||
if (scriptfile_getsymbol(script,&i)) break;
|
if (scriptfile_getsymbol(script,&i)) break;
|
||||||
if (i >= 0 && i < MAXTILES && s_TileGroups[tile_groups].nIds < MAX_TILE_GROUP_ENTRIES)
|
if (i >= 0 && i < MAXTILES && tileGrp->nIds < MAX_TILE_GROUP_ENTRIES)
|
||||||
s_TileGroups[tile_groups].pIds[s_TileGroups[tile_groups].nIds++] = i;
|
tileGrp->pIds[tileGrp->nIds++] = i;
|
||||||
// OSD_Printf("added tile %d to group %d\n",i,g);
|
// OSD_Printf("added tile %d to group %d\n",i,g);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case T_TILERANGE:
|
case T_TILERANGE:
|
||||||
|
@ -9388,10 +9391,10 @@ int32_t parsetilegroups(scriptfile *script)
|
||||||
if (scriptfile_getsymbol(script,&i)) break;
|
if (scriptfile_getsymbol(script,&i)) break;
|
||||||
if (scriptfile_getsymbol(script,&j)) break;
|
if (scriptfile_getsymbol(script,&j)) break;
|
||||||
if (i < 0 || i >= MAXTILES || j < 0 || j >= MAXTILES) break;
|
if (i < 0 || i >= MAXTILES || j < 0 || j >= MAXTILES) break;
|
||||||
while (s_TileGroups[tile_groups].nIds < MAX_TILE_GROUP_ENTRIES && i <= j)
|
while (tileGrp->nIds < MAX_TILE_GROUP_ENTRIES && i <= j)
|
||||||
{
|
{
|
||||||
s_TileGroups[tile_groups].pIds[s_TileGroups[tile_groups].nIds++] = i++;
|
tileGrp->pIds[tileGrp->nIds++] = i++;
|
||||||
// OSD_Printf("added tile %d to group %d\n",i,g);
|
// OSD_Printf("added tile %d to group %d\n",i,g);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
@ -9401,16 +9404,16 @@ int32_t parsetilegroups(scriptfile *script)
|
||||||
if (scriptfile_getsymbol(script, &i)) break;
|
if (scriptfile_getsymbol(script, &i)) break;
|
||||||
if (scriptfile_getsymbol(script, &j)) break;
|
if (scriptfile_getsymbol(script, &j)) break;
|
||||||
if (i < 0 || i >= 256 || j < 0 || j >= 256) break;
|
if (i < 0 || i >= 256 || j < 0 || j >= 256) break;
|
||||||
s_TileGroups[tile_groups].color1 = i;
|
tileGrp->color1 = i;
|
||||||
s_TileGroups[tile_groups].color2 = j;
|
tileGrp->color2 = j;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case T_HOTKEY:
|
case T_HOTKEY:
|
||||||
{
|
{
|
||||||
char *c;
|
char *c;
|
||||||
if (scriptfile_getstring(script,&c)) break;
|
if (scriptfile_getstring(script,&c)) break;
|
||||||
s_TileGroups[tile_groups].key1 = Btoupper(c[0]);
|
tileGrp->key1 = Btoupper(c[0]);
|
||||||
s_TileGroups[tile_groups].key2 = Btolower(c[0]);
|
tileGrp->key2 = Btolower(c[0]);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case T_TILES:
|
case T_TILES:
|
||||||
|
@ -9421,9 +9424,9 @@ int32_t parsetilegroups(scriptfile *script)
|
||||||
{
|
{
|
||||||
if (!scriptfile_getsymbol(script,&i))
|
if (!scriptfile_getsymbol(script,&i))
|
||||||
{
|
{
|
||||||
if (i >= 0 && i < MAXTILES && s_TileGroups[tile_groups].nIds < MAX_TILE_GROUP_ENTRIES)
|
if (i >= 0 && i < MAXTILES && tileGrp->nIds < MAX_TILE_GROUP_ENTRIES)
|
||||||
s_TileGroups[tile_groups].pIds[s_TileGroups[tile_groups].nIds++] = i;
|
tileGrp->pIds[tileGrp->nIds++] = i;
|
||||||
// OSD_Printf("added tile %d to group %d\n",i,g);
|
// OSD_Printf("added tile %d to group %d\n",i,g);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
@ -9431,8 +9434,7 @@ int32_t parsetilegroups(scriptfile *script)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
s_TileGroups[tile_groups].pIds = (int32_t *)Xrealloc(s_TileGroups[tile_groups].pIds,
|
tileGrp->pIds = (int32_t *)Xrealloc(tileGrp->pIds, tileGrp->nIds*sizeof(int32_t));
|
||||||
s_TileGroups[tile_groups].nIds*sizeof(int32_t));
|
|
||||||
tile_groups++;
|
tile_groups++;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue