Mapster32: fix frame locking issue with 2d3d mode, crash when toggling bottom texture swap, issues with drawing certain types of walls.

git-svn-id: https://svn.eduke32.com/eduke32@5307 1a8010ca-5511-0410-912e-c29ae57300e0
This commit is contained in:
terminx 2015-07-22 02:06:23 +00:00
parent 9cf3e19d61
commit 6f9a9c94ec
4 changed files with 9 additions and 7 deletions

View file

@ -400,7 +400,7 @@ extern int32_t scripthistend;
#define SEARCH_SPRITE 3
#define SEARCH_MASKWALL 4
#define ASSERT_AIMING (searchstat>=0 && searchstat<=4)
#define ASSERT_AIMING ((unsigned)searchstat<=4)
#define AIMING_AT_WALL (searchstat==0)
#define AIMING_AT_CEILING (searchstat==1)

View file

@ -3832,6 +3832,7 @@ void overheadeditor(void)
inpclamp(&pos.z, cz+(4<<8), fz-(4<<8));
enddrawing();
setview(m32_2d3d.x, m32_2d3d.y, m32_2d3d.x + XSIZE_2D3D, m32_2d3d.y + YSIZE_2D3D);
clearview(-1);
@ -3849,6 +3850,7 @@ void overheadeditor(void)
searchx = osearch.x;
searchy = osearch.y;
begindrawing();
drawline16(m32_2d3d.x, m32_2d3d.y, m32_2d3d.x + XSIZE_2D3D, m32_2d3d.y, editorcolors[15]);
drawline16(m32_2d3d.x + XSIZE_2D3D, m32_2d3d.y, m32_2d3d.x + XSIZE_2D3D, m32_2d3d.y + YSIZE_2D3D, editorcolors[15]);
drawline16(m32_2d3d.x, m32_2d3d.y, m32_2d3d.x, m32_2d3d.y + YSIZE_2D3D, editorcolors[15]);

View file

@ -17117,12 +17117,11 @@ static void drawscreen_drawwall(int32_t i, int32_t posxe, int32_t posye, int32_t
{
col=editorcolors[9];
if (i == linehighlight || ((linehighlight >= 0) && (i == wall[linehighlight].nextwall)))
if (totalclock & 16) col -= (2<<2);
col -= M32_THROB>>3;
}
else if ((showfirstwall && searchsector>=0 && (sector[searchsector].wallptr == i ||
sector[searchsector].wallptr == wall[i].nextwall)) ||
((show2dwall[i>>3]&pow2char[i&7]) && (show2dwall[wall[i].point2>>3]&pow2char[wall[i].point2&7])))
{
col = editorcolors[14];
if (i == linehighlight || ((linehighlight >= 0) && (i == wall[linehighlight].nextwall)) ||
@ -17175,12 +17174,10 @@ static void drawscreen_drawwall(int32_t i, int32_t posxe, int32_t posye, int32_t
if (wal->cstat&64) // if hitscan bit set
{
int32_t one=(klabs(x2-x1) >= klabs(y2-y1)), no=!one;
int32_t const one=(klabs(x2-x1) >= klabs(y2-y1)), no=!one;
drawline16mid(x1+no,y1+one, x2+no,y2+one, col);
drawline16mid(x1-no,y1-one, x2-no,y2-one, col);
col += 8;
}
drawline16mid(x1,y1, x2,y2, col);

View file

@ -3666,7 +3666,10 @@ static void drawtileinfo(const char *title,int32_t x,int32_t y,int32_t picnum,in
printext256(x,y,editorcolors[14],-1,title,small);
if (flags&4)
Bsprintf(tileinfo_colorstr, "^%d", editorcolors[14]);
{
Bsprintf(tempbuf, "^%d", editorcolors[14]);
tileinfo_colorstr = tempbuf;
}
tileinfo_doprint(x, y, buf, "Pic", picnum, 1);
tileinfo_doprint(x, y, buf, "Shd", shade, 2);