mirror of
https://github.com/ZDoom/raze-gles.git
synced 2024-12-25 11:10:47 +00:00
Mapster32: formatting changes around 2D sprite/wall color code.
git-svn-id: https://svn.eduke32.com/eduke32@5425 1a8010ca-5511-0410-912e-c29ae57300e0
This commit is contained in:
parent
22724d7841
commit
185262be73
2 changed files with 51 additions and 39 deletions
|
@ -3291,7 +3291,8 @@ static void drawspritelabel(int i)
|
||||||
|
|
||||||
// int const blocking = (sprite[i].cstat & 1);
|
// int const blocking = (sprite[i].cstat & 1);
|
||||||
|
|
||||||
int col = spritecol2d[sprite[i].picnum][0] ? editorcolors[spritecol2d[sprite[i].picnum][0]] : getspritecol(i);
|
uint8_t const spritecol = spritecol2d[sprite[i].picnum][0];
|
||||||
|
int col = spritecol ? editorcolors[spritecol] : getspritecol(i);
|
||||||
|
|
||||||
if (show2dsprite[i>>3]&pow2char[i&7])
|
if (show2dsprite[i>>3]&pow2char[i&7])
|
||||||
col = editorcolors[14] - (M32_THROB>>1);
|
col = editorcolors[14] - (M32_THROB>>1);
|
||||||
|
|
|
@ -17089,7 +17089,7 @@ void draw2dgrid(int32_t posxe, int32_t posye, int32_t posze, int16_t cursectnum,
|
||||||
|
|
||||||
static void drawscreen_drawwall(int32_t i, int32_t posxe, int32_t posye, int32_t posze, int32_t zoome, int32_t grayp)
|
static void drawscreen_drawwall(int32_t i, int32_t posxe, int32_t posye, int32_t posze, int32_t zoome, int32_t grayp)
|
||||||
{
|
{
|
||||||
const walltype *wal = &wall[i];
|
const walltype *const wal = &wall[i];
|
||||||
|
|
||||||
int32_t j = wal->nextwall;
|
int32_t j = wal->nextwall;
|
||||||
#if 0
|
#if 0
|
||||||
|
@ -17119,31 +17119,34 @@ static void drawscreen_drawwall(int32_t i, int32_t posxe, int32_t posye, int32_t
|
||||||
col = editorcolors[5];
|
col = editorcolors[5];
|
||||||
else col = editorcolors[4];
|
else col = editorcolors[4];
|
||||||
|
|
||||||
if ((i == linehighlight) || ((linehighlight >= 0) && (i == wall[linehighlight].nextwall)))
|
if (i == linehighlight || (linehighlight >= 0 && i == wall[linehighlight].nextwall))
|
||||||
col += M32_THROB>>2;
|
col += M32_THROB>>2;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int const p2 = wal->point2;
|
||||||
|
|
||||||
int32_t x1, y1, x2, y2;
|
int32_t x1, y1, x2, y2;
|
||||||
screencoords(&x1,&y1, wal->x-posxe,wal->y-posye, zoome);
|
screencoords(&x1,&y1, wal->x-posxe,wal->y-posye, zoome);
|
||||||
screencoords(&x2,&y2, wall[wal->point2].x-posxe,wall[wal->point2].y-posye, zoome);
|
screencoords(&x2,&y2, wall[p2].x-posxe,wall[p2].y-posye, zoome);
|
||||||
|
|
||||||
int64_t dx = wal->x-wall[wal->point2].x;
|
int64_t const dx = wal->x-wall[p2].x;
|
||||||
int64_t dy = wal->y-wall[wal->point2].y;
|
int64_t const dy = wal->y-wall[p2].y;
|
||||||
int64_t dist = dx*dx+dy*dy;
|
int64_t const dist = dx*dx + dy*dy;
|
||||||
|
|
||||||
|
int const bothSidesHighlighted = ((show2dwall[i>>3]&pow2char[i&7]) && (show2dwall[p2>>3]&pow2char[p2&7]));
|
||||||
|
|
||||||
if (dist > INT32_MAX)
|
if (dist > INT32_MAX)
|
||||||
{
|
{
|
||||||
col=editorcolors[9];
|
col=editorcolors[9];
|
||||||
if (i == linehighlight || ((linehighlight >= 0) && (i == wall[linehighlight].nextwall)))
|
if (i == linehighlight || (linehighlight >= 0 && i == wall[linehighlight].nextwall))
|
||||||
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 == wall[i].nextwall)) ||
|
||||||
((show2dwall[i>>3]&pow2char[i&7]) && (show2dwall[wall[i].point2>>3]&pow2char[wall[i].point2&7])))
|
bothSidesHighlighted)
|
||||||
{
|
{
|
||||||
col = editorcolors[14];
|
col = editorcolors[14];
|
||||||
if (i == linehighlight || ((linehighlight >= 0) && (i == wall[linehighlight].nextwall)) ||
|
if (i == linehighlight || (linehighlight >= 0 && i == wall[linehighlight].nextwall) || bothSidesHighlighted)
|
||||||
((show2dwall[i>>3]&pow2char[i&7]) && (show2dwall[wall[i].point2>>3]&pow2char[wall[i].point2&7])))
|
|
||||||
col -= M32_THROB>>1;
|
col -= M32_THROB>>1;
|
||||||
}
|
}
|
||||||
else if (circlewall >= 0 && (i == circlewall || wal->nextwall == circlewall))
|
else if (circlewall >= 0 && (i == circlewall || wal->nextwall == circlewall))
|
||||||
|
@ -17154,13 +17157,13 @@ static void drawscreen_drawwall(int32_t i, int32_t posxe, int32_t posye, int32_t
|
||||||
if (m32_sideview)
|
if (m32_sideview)
|
||||||
{
|
{
|
||||||
// draw vertical line to neighboring wall
|
// draw vertical line to neighboring wall
|
||||||
int32_t sect = sectorofwall(i);
|
int32_t const sect = sectorofwall(i);
|
||||||
|
|
||||||
fz = getflorzofslope(sect, wal->x,wal->y);
|
fz = getflorzofslope(sect, wal->x,wal->y);
|
||||||
int32_t fz2 = getflorzofslope(sect, wall[wal->point2].x,wall[wal->point2].y);
|
int32_t fz2 = getflorzofslope(sect, wall[p2].x, wall[p2].y);
|
||||||
|
|
||||||
int32_t dz = getscreenvdisp(fz-posze,zoome);
|
int32_t const dz = getscreenvdisp(fz-posze,zoome);
|
||||||
int32_t dz2 = getscreenvdisp(fz2-posze,zoome);
|
int32_t const dz2 = getscreenvdisp(fz2-posze,zoome);
|
||||||
|
|
||||||
y1 += dz;
|
y1 += dz;
|
||||||
y2 += dz2;
|
y2 += dz2;
|
||||||
|
@ -17173,11 +17176,11 @@ static void drawscreen_drawwall(int32_t i, int32_t posxe, int32_t posye, int32_t
|
||||||
}
|
}
|
||||||
#ifdef YAX_ENABLE
|
#ifdef YAX_ENABLE
|
||||||
{
|
{
|
||||||
int16_t nw = yax_getnextwall(i, YAX_CEILING);
|
int16_t const nw = yax_getnextwall(i, YAX_CEILING);
|
||||||
|
|
||||||
if (nw >= 0)
|
if (nw >= 0)
|
||||||
{
|
{
|
||||||
int32_t odrawlinepat = drawlinepat;
|
int32_t const odrawlinepat = drawlinepat;
|
||||||
fz2 = getflorzofslope(sectorofwall(nw), wall[nw].x,wall[nw].y);
|
fz2 = getflorzofslope(sectorofwall(nw), wall[nw].x,wall[nw].y);
|
||||||
drawlinepat = 0x11111111;
|
drawlinepat = 0x11111111;
|
||||||
drawline16mid(x1,y1, x1,y1+getscreenvdisp(fz2-fz,zoome), col);
|
drawline16mid(x1,y1, x1,y1+getscreenvdisp(fz2-fz,zoome), col);
|
||||||
|
@ -17205,7 +17208,8 @@ static void drawscreen_drawwall(int32_t i, int32_t posxe, int32_t posye, int32_t
|
||||||
// XXX: This does not take sloping into account.
|
// XXX: This does not take sloping into account.
|
||||||
if (showheightindicators && !m32_sideview)
|
if (showheightindicators && !m32_sideview)
|
||||||
{
|
{
|
||||||
int32_t dax,day, k=getangle(x1-x2, y1-y2);
|
int32_t dax,day;
|
||||||
|
int32_t const k = getangle(x1-x2, y1-y2);
|
||||||
|
|
||||||
screencoords(&dax,&day,
|
screencoords(&dax,&day,
|
||||||
((wal->x+wall[wal->point2].x)>>1)-posxe,
|
((wal->x+wall[wal->point2].x)>>1)-posxe,
|
||||||
|
@ -17244,7 +17248,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 || ((pointhighlight < MAXWALLS) && (pointhighlight >= 0) &&
|
if (i == pointhighlight || ((unsigned)pointhighlight < MAXWALLS &&
|
||||||
(wall[i].x == wall[pointhighlight].x) && (wall[i].y == wall[pointhighlight].y)))
|
(wall[i].x == wall[pointhighlight].x) && (wall[i].y == wall[pointhighlight].y)))
|
||||||
{
|
{
|
||||||
col = editorcolors[15] - (M32_THROB>>1);
|
col = editorcolors[15] - (M32_THROB>>1);
|
||||||
|
@ -17273,23 +17277,28 @@ static void drawscreen_drawwall(int32_t i, int32_t posxe, int32_t posye, int32_t
|
||||||
|
|
||||||
int32_t getspritecol(int32_t spr)
|
int32_t getspritecol(int32_t spr)
|
||||||
{
|
{
|
||||||
int picnum = sprite[spr].picnum;
|
int const picnum = sprite[spr].picnum;
|
||||||
int pal = sprite[spr].pal;
|
int pal = sprite[spr].pal;
|
||||||
|
int const tilecol = tilecols[picnum];
|
||||||
|
|
||||||
if (palookup[pal] == NULL || (tilecols[picnum] && palookup[pal][tilecols[picnum]] == 0))
|
if (palookup[pal] == NULL || (tilecol && palookup[pal][tilecol] == 0))
|
||||||
pal = 0;
|
pal = 0;
|
||||||
|
|
||||||
if (tilecols[picnum]) return palookup[pal][tilecols[picnum]];
|
if (tilecol) return palookup[pal][tilecol];
|
||||||
|
|
||||||
if (!waloff[picnum]) loadtile(picnum);
|
if (!waloff[picnum]) loadtile(picnum);
|
||||||
if (!waloff[picnum]) return editorcolors[3];
|
if (!waloff[picnum]) return editorcolors[3];
|
||||||
|
|
||||||
|
// Calculate 2D mode tile color.
|
||||||
|
|
||||||
uint32_t cols[256];
|
uint32_t cols[256];
|
||||||
|
|
||||||
Bmemset(cols, 0, sizeof(cols));
|
Bmemset(cols, 0, sizeof(cols));
|
||||||
|
|
||||||
|
const uint8_t *const texbuf = (const uint8_t *)waloff[picnum];
|
||||||
|
|
||||||
for (int i = 0; i < tilesiz[picnum].x * tilesiz[picnum].y; i++)
|
for (int i = 0; i < tilesiz[picnum].x * tilesiz[picnum].y; i++)
|
||||||
cols[*((char *) waloff[picnum] + i)]++;
|
cols[texbuf[i]]++;
|
||||||
|
|
||||||
unsigned col = 0, cnt = 0;
|
unsigned col = 0, cnt = 0;
|
||||||
|
|
||||||
|
@ -17309,34 +17318,36 @@ 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 hitblocking=(sprite[j].cstat&256), flooraligned=(sprite[j].cstat&32), wallaligned=(sprite[j].cstat&16);
|
int16_t const hitblocking=(sprite[j].cstat&256);
|
||||||
|
int16_t const flooraligned=(sprite[j].cstat&32), wallaligned=(sprite[j].cstat&16);
|
||||||
|
|
||||||
int16_t angofs = m32_sideview ? m32_sideang : 0;
|
int16_t const angofs = m32_sideview ? m32_sideang : 0;
|
||||||
|
|
||||||
if (sprite[j].sectnum<0)
|
if (sprite[j].sectnum<0)
|
||||||
col = editorcolors[4]; // red
|
col = editorcolors[4]; // red
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
if (spritecol2d[sprite[j].picnum][0])
|
uint8_t const spritecol = spritecol2d[sprite[j].picnum][0];
|
||||||
col = spritecol2d[sprite[j].picnum][0];
|
|
||||||
|
if (spritecol)
|
||||||
|
col = spritecol; // XXX: should be editorcolors[spritecol]
|
||||||
else
|
else
|
||||||
col = getspritecol(j);
|
col = getspritecol(j);
|
||||||
|
#if 0
|
||||||
/*
|
else if (sprite[j].cstat&1)
|
||||||
else if ((sprite[j].cstat&1) > 0)
|
|
||||||
{
|
{
|
||||||
col = 5;
|
uint8_t const blockingSpriteCol = spritecol2d[sprite[j].picnum][1];
|
||||||
if (spritecol2d[sprite[j].picnum][1])
|
col = blockingSpriteCol ? blockingSpriteCol : 5;
|
||||||
col = spritecol2d[sprite[j].picnum][1];
|
|
||||||
}
|
}
|
||||||
*/
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
if (editstatus == 1)
|
if (editstatus == 1)
|
||||||
{
|
{
|
||||||
if ((pointhighlight) >= 16384 && (j+16384 == pointhighlight ||
|
if (pointhighlight >= 16384 &&
|
||||||
(!m32_sideview && ((sprite[j].x == sprite[pointhighlight-16384].x) &&
|
(j+16384 == pointhighlight ||
|
||||||
(sprite[j].y == sprite[pointhighlight-16384].y)))))
|
(!m32_sideview && (sprite[j].x == sprite[pointhighlight-16384].x &&
|
||||||
|
sprite[j].y == sprite[pointhighlight-16384].y))))
|
||||||
{
|
{
|
||||||
col += M32_THROB>>2;
|
col += M32_THROB>>2;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue