mirror of
https://github.com/ZDoom/raze-gles.git
synced 2025-01-23 23:50:40 +00:00
Mapster32:
-Improved indication of selections in 2d mode. This includes both highlighted objects and multiple object selection. -2d3d improvements: it's no longer possible to end up with a black view due to the z position being out of range when moving the cursor position to a new area with the right mouse button. -The middle mouse button can now be used in place of the right alt key when selecting sectors, similar to how the left mouse button can be used in place of the right shift key to select points and sprites. -2d mode mouse cursor has been changed to a 1 pixel thick red cross with a shadow instead of a 2 pixel thick red cross with no shadow. This improves visibility when working in textured mode with lava sectors and other textures similar in color. -2d mode palette now changes when working in an underwater sector. -Misc tweaks git-svn-id: https://svn.eduke32.com/eduke32@5302 1a8010ca-5511-0410-912e-c29ae57300e0
This commit is contained in:
parent
c0aabb7494
commit
480dc0ecaf
4 changed files with 153 additions and 135 deletions
|
@ -449,6 +449,8 @@ FORCE_INLINE void inpclamp(int32_t *x, int32_t mi, int32_t ma)
|
||||||
extern char *blendtable[MAXBLENDTABS];
|
extern char *blendtable[MAXBLENDTABS];
|
||||||
#define drawtranspixel(p, col) drawpixel(p, blendtable[0][(readpixel(p) * 256) + col])
|
#define drawtranspixel(p, col) drawpixel(p, blendtable[0][(readpixel(p) * 256) + col])
|
||||||
|
|
||||||
|
#define M32_THROB klabs(sintable[((totalclock << 4) & 2047)] >> 10)
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -703,11 +703,10 @@ int32_t app_main(int32_t argc, const char **argv)
|
||||||
Bstrcpy(kensig,"Uses BUILD technology by Ken Silverman");
|
Bstrcpy(kensig,"Uses BUILD technology by Ken Silverman");
|
||||||
initcrc();
|
initcrc();
|
||||||
|
|
||||||
{
|
const char *defsfile = G_DefFile();
|
||||||
const char *defsfile = G_DefFile();
|
|
||||||
if (!loaddefinitionsfile(defsfile))
|
if (!loaddefinitionsfile(defsfile))
|
||||||
initprintf("Definitions file \"%s\" loaded.\n",defsfile);
|
initprintf("Definitions file \"%s\" loaded.\n",defsfile);
|
||||||
}
|
|
||||||
|
|
||||||
for (i=0; i < g_defModulesNum; ++i)
|
for (i=0; i < g_defModulesNum; ++i)
|
||||||
Bfree (g_defModules[i]);
|
Bfree (g_defModules[i]);
|
||||||
|
@ -2101,7 +2100,7 @@ static void duplicate_selected_sectors(void)
|
||||||
printmessage16("Sectors duplicated, creating %d new bunches.", numyaxbunches-onumyaxbunches);
|
printmessage16("Sectors duplicated, creating %d new bunches.", numyaxbunches-onumyaxbunches);
|
||||||
else
|
else
|
||||||
#endif
|
#endif
|
||||||
printmessage16("Sectors duplicated and stamped.");
|
printmessage16("Sectors duplicated.");
|
||||||
asksave = 1;
|
asksave = 1;
|
||||||
|
|
||||||
#ifdef YAX_ENABLE
|
#ifdef YAX_ENABLE
|
||||||
|
@ -2133,7 +2132,7 @@ static void duplicate_selected_sprites(void)
|
||||||
// setsprite(j,(vec3_t *)&sprite[j]);
|
// setsprite(j,(vec3_t *)&sprite[j]);
|
||||||
}
|
}
|
||||||
|
|
||||||
printmessage16("Sprites duplicated and stamped.");
|
printmessage16("Sprites duplicated.");
|
||||||
asksave = 1;
|
asksave = 1;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
@ -3278,8 +3277,10 @@ static void drawspritelabel(int i)
|
||||||
|
|
||||||
int col = spritecol2d[sprite[i].picnum][0] ? editorcolors[spritecol2d[sprite[i].picnum][0]] : getspritecol(i);
|
int col = spritecol2d[sprite[i].picnum][0] ? editorcolors[spritecol2d[sprite[i].picnum][0]] : getspritecol(i);
|
||||||
|
|
||||||
if ((i == pointhighlight - 16384) && (totalclock & 32))
|
if (show2dsprite[i>>3]&pow2char[i&7])
|
||||||
col += 4;
|
col = editorcolors[14] - (M32_THROB>>1);
|
||||||
|
else if (i == pointhighlight - 16384)
|
||||||
|
col += M32_THROB>>2;
|
||||||
else if (sprite[i].sectnum < 0)
|
else if (sprite[i].sectnum < 0)
|
||||||
col = editorcolors[4]; // red
|
col = editorcolors[4]; // red
|
||||||
|
|
||||||
|
@ -3368,7 +3369,7 @@ void overheadeditor(void)
|
||||||
zoom = max(zoom, ztarget);
|
zoom = max(zoom, ztarget);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!((vel|angvel|svel) || ztarget != zoom//DOWN_BK(MOVEFORWARD) || DOWN_BK(MOVEBACKWARD) || DOWN_BK(TURNLEFT) || DOWN_BK(TURNRIGHT)
|
if (!((vel|angvel|svel) || m32_is2d3dmode() || ztarget != zoom//DOWN_BK(MOVEFORWARD) || DOWN_BK(MOVEBACKWARD) || DOWN_BK(TURNLEFT) || DOWN_BK(TURNRIGHT)
|
||||||
|| DOWN_BK(MOVEUP) || DOWN_BK(MOVEDOWN) || keystatus[0x10] || keystatus[0x11]
|
|| DOWN_BK(MOVEUP) || DOWN_BK(MOVEDOWN) || keystatus[0x10] || keystatus[0x11]
|
||||||
|| keystatus[0x48] || keystatus[0x4b] || keystatus[0x4d] || keystatus[0x50] // keypad keys
|
|| keystatus[0x48] || keystatus[0x4b] || keystatus[0x4d] || keystatus[0x50] // keypad keys
|
||||||
|| bstatus || OSD_IsMoving()))
|
|| bstatus || OSD_IsMoving()))
|
||||||
|
@ -3800,7 +3801,7 @@ void overheadeditor(void)
|
||||||
drawline16(0,searchy, 8,searchy, editorcolors[15]);
|
drawline16(0,searchy, 8,searchy, editorcolors[15]);
|
||||||
|
|
||||||
// 2d3d mode
|
// 2d3d mode
|
||||||
if (m32_2d3dmode && xdimgame == xdim2d && ydimgame == ydim2d)
|
if (m32_2d3dmode && m32_2d3d_resolutions_match())
|
||||||
{
|
{
|
||||||
int bakrendmode = rendmode;
|
int bakrendmode = rendmode;
|
||||||
vec2_t bdim ={ xdim, ydim };
|
vec2_t bdim ={ xdim, ydim };
|
||||||
|
@ -3815,33 +3816,57 @@ void overheadeditor(void)
|
||||||
if (m32_2d3d.y + YSIZE_2D3D > ydim2d - 4 - STATUS2DSIZ2)
|
if (m32_2d3d.y + YSIZE_2D3D > ydim2d - 4 - STATUS2DSIZ2)
|
||||||
m32_2d3d.y = ydim2d - 4 - YSIZE_2D3D - STATUS2DSIZ2;
|
m32_2d3d.y = ydim2d - 4 - YSIZE_2D3D - STATUS2DSIZ2;
|
||||||
|
|
||||||
setview(m32_2d3d.x, m32_2d3d.y, m32_2d3d.x + XSIZE_2D3D, m32_2d3d.y + YSIZE_2D3D);
|
updatesectorz(pos.x, pos.y, pos.z, &cursectnum);
|
||||||
clearview(-1);
|
|
||||||
|
|
||||||
vec2_t osearch ={ searchx, searchy };
|
if (cursectnum == -1)
|
||||||
|
updatesector(pos.x, pos.y, &cursectnum);
|
||||||
|
|
||||||
searchx -= m32_2d3d.x;
|
if (cursectnum != -1)
|
||||||
searchy -= m32_2d3d.y;
|
{
|
||||||
|
int32_t cz, fz;
|
||||||
|
|
||||||
M32_DrawRoomsAndMasks();
|
getzsofslope(cursectnum, pos.x, pos.y, &cz, &fz);
|
||||||
setview(0, 0, xdim2d-1, ydim2d-1);
|
|
||||||
|
|
||||||
rendmode = bakrendmode;
|
inpclamp(&pos.z, cz+(4<<8), fz-(4<<8));
|
||||||
xdim = bdim.x;
|
|
||||||
ydim = bdim.y;
|
|
||||||
searchx = osearch.x;
|
|
||||||
searchy = osearch.y;
|
|
||||||
|
|
||||||
drawline16(m32_2d3d.x, m32_2d3d.y, m32_2d3d.x + XSIZE_2D3D, m32_2d3d.y, editorcolors[15]);
|
setview(m32_2d3d.x, m32_2d3d.y, m32_2d3d.x + XSIZE_2D3D, m32_2d3d.y + YSIZE_2D3D);
|
||||||
drawline16(m32_2d3d.x + XSIZE_2D3D, m32_2d3d.y, m32_2d3d.x + XSIZE_2D3D, m32_2d3d.y + YSIZE_2D3D, editorcolors[15]);
|
clearview(-1);
|
||||||
drawline16(m32_2d3d.x, m32_2d3d.y, m32_2d3d.x, m32_2d3d.y + YSIZE_2D3D, editorcolors[15]);
|
|
||||||
drawline16(m32_2d3d.x, m32_2d3d.y + YSIZE_2D3D, m32_2d3d.x + XSIZE_2D3D, m32_2d3d.y + YSIZE_2D3D, editorcolors[15]);
|
vec2_t osearch ={ searchx, searchy };
|
||||||
|
|
||||||
|
searchx -= m32_2d3d.x;
|
||||||
|
searchy -= m32_2d3d.y;
|
||||||
|
|
||||||
|
M32_DrawRoomsAndMasks();
|
||||||
|
setview(0, 0, xdim2d-1, ydim2d-1);
|
||||||
|
|
||||||
|
rendmode = bakrendmode;
|
||||||
|
xdim = bdim.x;
|
||||||
|
ydim = bdim.y;
|
||||||
|
searchx = osearch.x;
|
||||||
|
searchy = osearch.y;
|
||||||
|
|
||||||
|
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]);
|
||||||
|
drawline16(m32_2d3d.x, m32_2d3d.y + YSIZE_2D3D, m32_2d3d.x + XSIZE_2D3D, m32_2d3d.y + YSIZE_2D3D, editorcolors[15]);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!m32_is2d3dmode())
|
if (!m32_is2d3dmode())
|
||||||
{
|
{
|
||||||
////// draw mouse pointer
|
////// draw mouse pointer
|
||||||
|
|
||||||
|
col = editorcolors[0];
|
||||||
|
|
||||||
|
drawline16base(searchx+1, searchy+1, +0, -8, +0, -1, col);
|
||||||
|
drawline16base(searchx+1, searchy+1, +0, 1, +0, 8, col);
|
||||||
|
|
||||||
|
drawline16base(searchx+1, searchy+1, -8, 0, -1, 0, col);
|
||||||
|
drawline16base(searchx+1, searchy+1, 1, 0, 8, 0, col);
|
||||||
|
|
||||||
col = searchlock ? editorcolors[13] : editorcolors[15 - 3*gridlock];
|
col = searchlock ? editorcolors[13] : editorcolors[15 - 3*gridlock];
|
||||||
|
|
||||||
if (joinsector[0] >= 0)
|
if (joinsector[0] >= 0)
|
||||||
col = editorcolors[11];
|
col = editorcolors[11];
|
||||||
|
|
||||||
|
@ -3865,7 +3890,7 @@ void overheadeditor(void)
|
||||||
|
|
||||||
Bsprintf(cbuf, "Map corrupt (level %d): %s%d errors", corruptlevel,
|
Bsprintf(cbuf, "Map corrupt (level %d): %s%d errors", corruptlevel,
|
||||||
numcorruptthings>=MAXCORRUPTTHINGS ? ">=" : "", numcorruptthings);
|
numcorruptthings>=MAXCORRUPTTHINGS ? ">=" : "", numcorruptthings);
|
||||||
printext16(8, 8, editorcolors[13], editorcolors[0], cbuf, 0);
|
printext16(8, 8, editorcolors[13]+(M32_THROB>>2), editorcolors[0], cbuf, 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (highlightsectorcnt==0 || highlightcnt==0)
|
if (highlightsectorcnt==0 || highlightcnt==0)
|
||||||
|
@ -4890,7 +4915,7 @@ end_yax: ;
|
||||||
|
|
||||||
if (highlightsectorcnt < 0)
|
if (highlightsectorcnt < 0)
|
||||||
{
|
{
|
||||||
if ((bstatus & 1 && highlightcnt <= 0) || (bstatus & 1 && pointhighlight == -1) || keystatus[0x36]) //Right shift (point highlighting)
|
if (((bstatus & 5) == 1 && highlightcnt <= 0) || ((bstatus & 5) == 1 && pointhighlight == -1) || keystatus[0x36]) //Right shift (point highlighting)
|
||||||
{
|
{
|
||||||
if (highlightcnt == 0)
|
if (highlightcnt == 0)
|
||||||
{
|
{
|
||||||
|
@ -4901,7 +4926,7 @@ end_yax: ;
|
||||||
highlighty2 = searchy;
|
highlighty2 = searchy;
|
||||||
ydim16 = ydim-STATUS2DSIZ2;
|
ydim16 = ydim-STATUS2DSIZ2;
|
||||||
|
|
||||||
plotlines2d(xx, yy, 5, editorcolors[14]);
|
plotlines2d(xx, yy, 5, -editorcolors[14]);
|
||||||
}
|
}
|
||||||
else if (pointhighlight == -1 || keystatus[0x36])
|
else if (pointhighlight == -1 || keystatus[0x36])
|
||||||
{
|
{
|
||||||
|
@ -5076,7 +5101,7 @@ end_yax: ;
|
||||||
|
|
||||||
if (highlightcnt < 0)
|
if (highlightcnt < 0)
|
||||||
{
|
{
|
||||||
if (keystatus[0xb8]) //Right alt (sector highlighting)
|
if (((bstatus & 4) && highlightsectorcnt <= 0) || (bstatus & 4) && linehighlight == -1 || keystatus[0xb8]) //Right alt (sector highlighting)
|
||||||
{
|
{
|
||||||
if (highlightsectorcnt == 0)
|
if (highlightsectorcnt == 0)
|
||||||
{
|
{
|
||||||
|
@ -5089,7 +5114,7 @@ end_yax: ;
|
||||||
highlighty2 = searchy;
|
highlighty2 = searchy;
|
||||||
ydim16 = ydim-STATUS2DSIZ2;
|
ydim16 = ydim-STATUS2DSIZ2;
|
||||||
|
|
||||||
plotlines2d(xx, yy, 5, editorcolors[10]);
|
plotlines2d(xx, yy, 5, -editorcolors[10]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
@ -5763,7 +5788,7 @@ end_after_dragging:
|
||||||
}
|
}
|
||||||
end_point_dragging:
|
end_point_dragging:
|
||||||
|
|
||||||
if (bstatus&(2|4)) // change arrow position
|
if (bstatus&(2) && !(bstatus&1)) // change arrow position
|
||||||
{
|
{
|
||||||
if (eitherCTRL)
|
if (eitherCTRL)
|
||||||
{
|
{
|
||||||
|
@ -5783,7 +5808,7 @@ end_point_dragging:
|
||||||
CallExtEditSectorData(cursectornum);
|
CallExtEditSectorData(cursectornum);
|
||||||
}
|
}
|
||||||
|
|
||||||
bstatus &= ~6;
|
bstatus &= ~2;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
@ -9927,14 +9952,17 @@ static inline int32_t imod(int32_t a, int32_t b)
|
||||||
|
|
||||||
int32_t fillsector(int16_t sectnum, int32_t fillcolor)
|
int32_t fillsector(int16_t sectnum, int32_t fillcolor)
|
||||||
{
|
{
|
||||||
|
if (sectnum == -1)
|
||||||
|
return 0;
|
||||||
|
|
||||||
int32_t x1, x2, y1, y2, sy, y, daminy;
|
int32_t x1, x2, y1, y2, sy, y, daminy;
|
||||||
int32_t lborder, rborder, uborder, dborder, miny, maxy, dax;
|
int32_t lborder, rborder, uborder, dborder, miny, maxy, dax;
|
||||||
int16_t z, zz, startwall, endwall, fillcnt;
|
int16_t z, zz, startwall, endwall, fillcnt;
|
||||||
|
|
||||||
char col;
|
char col;
|
||||||
|
|
||||||
if (fillcolor < 0)
|
if (fillcolor == -1)
|
||||||
col = 159-klabs(sintable[((totalclock<<3)&2047)]>>11);
|
col = editorcolors[14]-(M32_THROB>>1);
|
||||||
else
|
else
|
||||||
col = fillcolor;
|
col = fillcolor;
|
||||||
|
|
||||||
|
@ -9942,8 +9970,6 @@ int32_t fillsector(int16_t sectnum, int32_t fillcolor)
|
||||||
y = OSD_GetRowsCur();
|
y = OSD_GetRowsCur();
|
||||||
uborder = (y>=0)?(y+1)*8:0; dborder = ydim16-STATUS2DSIZ2;
|
uborder = (y>=0)?(y+1)*8:0; dborder = ydim16-STATUS2DSIZ2;
|
||||||
|
|
||||||
if (sectnum == -1)
|
|
||||||
return 0;
|
|
||||||
|
|
||||||
miny = dborder-1;
|
miny = dborder-1;
|
||||||
maxy = uborder;
|
maxy = uborder;
|
||||||
|
@ -9972,12 +9998,12 @@ int32_t fillsector(int16_t sectnum, int32_t fillcolor)
|
||||||
if (miny < uborder) miny = uborder;
|
if (miny < uborder) miny = uborder;
|
||||||
if (maxy >= dborder) maxy = dborder-1;
|
if (maxy >= dborder) maxy = dborder-1;
|
||||||
|
|
||||||
daminy = miny+2 - imod(miny+2,3);
|
daminy = miny;// +2 - imod(miny+2, 3);
|
||||||
if (sector[sectnum].floorz > minhlsectorfloorz)
|
if (sector[sectnum].floorz > minhlsectorfloorz)
|
||||||
daminy++;
|
daminy++;
|
||||||
|
|
||||||
//+((totalclock>>2)&3)
|
//+((totalclock>>2)&3)
|
||||||
for (sy=daminy; sy<=maxy; sy+=3) // JBF 20040116: numframes%3 -> (totalclock>>2)&3
|
for (sy=daminy; sy<=maxy; sy++) // JBF 20040116: numframes%3 -> (totalclock>>2)&3
|
||||||
{
|
{
|
||||||
y = pos.y + ((sy-midydim16)<<14)/zoom;
|
y = pos.y + ((sy-midydim16)<<14)/zoom;
|
||||||
|
|
||||||
|
@ -10047,7 +10073,7 @@ int32_t fillsector(int16_t sectnum, int32_t fillcolor)
|
||||||
if (fillist[z+1] > rborder)
|
if (fillist[z+1] > rborder)
|
||||||
fillist[z+1] = rborder;
|
fillist[z+1] = rborder;
|
||||||
|
|
||||||
drawline16(fillist[z]+1,sy, fillist[z+1]-1,sy, col); //editorcolors[fillcolor]
|
drawline16(fillist[z]+1,sy, fillist[z+1]-1,sy, -col); //editorcolors[fillcolor]
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -17090,20 +17090,19 @@ static void drawscreen_drawwall(int32_t i, int32_t posxe, int32_t posye, int32_t
|
||||||
char col;
|
char col;
|
||||||
|
|
||||||
if (grayp&1)
|
if (grayp&1)
|
||||||
col = 8;
|
col = editorcolors[8];
|
||||||
else if (j < 0)
|
else if (j < 0)
|
||||||
col = (i == linehighlight) && !(totalclock & 16) ? 7 : 15;
|
col = (i == linehighlight) ? editorcolors[15] - M32_THROB : editorcolors[15];
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
if ((unsigned)wal->nextwall < MAXWALLS && ((wal->cstat^wall[j].cstat)&1))
|
if ((unsigned)wal->nextwall < MAXWALLS && ((wal->cstat^wall[j].cstat)&1))
|
||||||
col = 2;
|
col = editorcolors[2];
|
||||||
else if ((wal->cstat&1) != 0)
|
else if ((wal->cstat&1) != 0)
|
||||||
col = 5;
|
col = editorcolors[5];
|
||||||
else col = 33;
|
else col = editorcolors[4];
|
||||||
|
|
||||||
if ((i == linehighlight) || ((linehighlight >= 0) && (i == wall[linehighlight].nextwall)))
|
if ((i == linehighlight) || ((linehighlight >= 0) && (i == wall[linehighlight].nextwall)))
|
||||||
if (totalclock & 16)
|
col += M32_THROB>>2;
|
||||||
col += (2<<2);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
int32_t x1, y1, x2, y2;
|
int32_t x1, y1, x2, y2;
|
||||||
|
@ -17116,18 +17115,22 @@ static void drawscreen_drawwall(int32_t i, int32_t posxe, int32_t posye, int32_t
|
||||||
|
|
||||||
if (dist > INT32_MAX)
|
if (dist > INT32_MAX)
|
||||||
{
|
{
|
||||||
col=9;
|
col=editorcolors[9];
|
||||||
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);
|
||||||
}
|
}
|
||||||
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])))
|
||||||
|
|
||||||
{
|
{
|
||||||
col = 14;
|
col = editorcolors[14];
|
||||||
if (i == linehighlight) if (totalclock & 16) col -= (2<<2);
|
if (i == linehighlight || ((linehighlight >= 0) && (i == wall[linehighlight].nextwall)) ||
|
||||||
|
((show2dwall[i>>3]&pow2char[i&7]) && (show2dwall[wall[i].point2>>3]&pow2char[wall[i].point2&7])))
|
||||||
|
col -= M32_THROB>>1;
|
||||||
}
|
}
|
||||||
else if (circlewall >= 0 && (i == circlewall || wal->nextwall == circlewall))
|
else if (circlewall >= 0 && (i == circlewall || wal->nextwall == circlewall))
|
||||||
col = 14;
|
col = editorcolors[14];
|
||||||
|
|
||||||
int32_t fz=0, fzn=0;
|
int32_t fz=0, fzn=0;
|
||||||
|
|
||||||
|
@ -17149,7 +17152,7 @@ static void drawscreen_drawwall(int32_t i, int32_t posxe, int32_t posye, int32_t
|
||||||
{
|
{
|
||||||
fzn = getflorzofslope(wal->nextsector, wal->x,wal->y);
|
fzn = getflorzofslope(wal->nextsector, wal->x,wal->y);
|
||||||
// if (i < wall[j].point2)
|
// if (i < wall[j].point2)
|
||||||
drawline16mid(x1,y1, x1,y1+getscreenvdisp(fzn-fz,zoome), editorcolors[col]);
|
drawline16mid(x1,y1, x1,y1+getscreenvdisp(fzn-fz,zoome), col);
|
||||||
}
|
}
|
||||||
#ifdef YAX_ENABLE
|
#ifdef YAX_ENABLE
|
||||||
{
|
{
|
||||||
|
@ -17160,7 +17163,7 @@ static void drawscreen_drawwall(int32_t i, int32_t posxe, int32_t posye, int32_t
|
||||||
int32_t odrawlinepat = drawlinepat;
|
int32_t 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), editorcolors[col]);
|
drawline16mid(x1,y1, x1,y1+getscreenvdisp(fz2-fz,zoome), col);
|
||||||
drawlinepat = odrawlinepat;
|
drawlinepat = odrawlinepat;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -17174,13 +17177,13 @@ static void drawscreen_drawwall(int32_t i, int32_t posxe, int32_t posye, int32_t
|
||||||
{
|
{
|
||||||
int32_t one=(klabs(x2-x1) >= klabs(y2-y1)), no=!one;
|
int32_t one=(klabs(x2-x1) >= klabs(y2-y1)), no=!one;
|
||||||
|
|
||||||
drawline16mid(x1+no,y1+one, x2+no,y2+one, editorcolors[col]);
|
drawline16mid(x1+no,y1+one, x2+no,y2+one, col);
|
||||||
drawline16mid(x1-no,y1-one, x2-no,y2-one, editorcolors[col]);
|
drawline16mid(x1-no,y1-one, x2-no,y2-one, col);
|
||||||
|
|
||||||
col += 8;
|
col += 8;
|
||||||
}
|
}
|
||||||
|
|
||||||
drawline16mid(x1,y1, x2,y2, editorcolors[col]);
|
drawline16mid(x1,y1, x2,y2, col);
|
||||||
|
|
||||||
// Draw height indicators at center of walls if requested and if not in
|
// Draw height indicators at center of walls if requested and if not in
|
||||||
// side-view mode.
|
// side-view mode.
|
||||||
|
@ -17205,7 +17208,7 @@ static void drawscreen_drawwall(int32_t i, int32_t posxe, int32_t posye, int32_t
|
||||||
int32_t const dx = mulscale11(sintable[(k+1024 + 1024*bb)&2047],min(4096, zoome)) / 2560;
|
int32_t const dx = mulscale11(sintable[(k+1024 + 1024*bb)&2047],min(4096, zoome)) / 2560;
|
||||||
int32_t const dy = scalescreeny(mulscale11(sintable[(k+512 + 1024*bb)&2047], min(4096, zoome)) / 2560);
|
int32_t const dy = scalescreeny(mulscale11(sintable[(k+512 + 1024*bb)&2047], min(4096, zoome)) / 2560);
|
||||||
|
|
||||||
drawline16mid(dax,day, dax+dx,day+dy, editorcolors[col]);
|
drawline16mid(dax,day, dax+dx,day+dy, col);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if (showheightindicators == 2)
|
else if (showheightindicators == 2)
|
||||||
|
@ -17214,47 +17217,42 @@ static void drawscreen_drawwall(int32_t i, int32_t posxe, int32_t posye, int32_t
|
||||||
int32_t const dx = mulscale11(sintable[(k+2048)&2047],min(4096, zoome)) / 2560;
|
int32_t const dx = mulscale11(sintable[(k+2048)&2047],min(4096, zoome)) / 2560;
|
||||||
int32_t const dy = scalescreeny(mulscale11(sintable[(k+1536)&2047], min(4096, zoome)) / 2560);
|
int32_t const dy = scalescreeny(mulscale11(sintable[(k+1536)&2047], min(4096, zoome)) / 2560);
|
||||||
|
|
||||||
drawline16mid(dax,day, dax+dx,day+dy, editorcolors[col]);
|
drawline16mid(dax,day, dax+dx,day+dy, col);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (zoome >= 256 && editstatus == 1)
|
if ((zoome >= 256 && editstatus == 1) || show2dwall[i>>3]&pow2char[i&7])
|
||||||
if ((halfxdim16+x1 >= 2) && (halfxdim16+x1 <= xdim-3) &&
|
if ((halfxdim16+x1 >= 2) && (halfxdim16+x1 <= xdim-3) &&
|
||||||
(midydim16+y1 >= 2) && (midydim16+y1 <= ydim16-3))
|
(midydim16+y1 >= 2) && (midydim16+y1 <= ydim16-3))
|
||||||
{
|
{
|
||||||
int32_t pointsize = 2;
|
int32_t pointsize = 2;
|
||||||
|
|
||||||
col = 15;
|
col = editorcolors[15];
|
||||||
|
|
||||||
if (i == pointhighlight || ((pointhighlight < MAXWALLS) && (pointhighlight >= 0) &&
|
if (i == pointhighlight || ((pointhighlight < MAXWALLS) && (pointhighlight >= 0) &&
|
||||||
(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);
|
||||||
|
|
||||||
if (totalclock & 16)
|
if (totalclock & 16)
|
||||||
pointsize++;
|
pointsize++;
|
||||||
else col = 7;
|
|
||||||
}
|
|
||||||
else //if (highlightcnt > 0)
|
|
||||||
{
|
|
||||||
if (show2dwall[i>>3]&pow2char[i&7])
|
|
||||||
{
|
|
||||||
if (totalclock & 16)
|
|
||||||
pointsize++;
|
|
||||||
else col = 7;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (show2dwall[i>>3]&pow2char[i&7])
|
||||||
|
col = editorcolors[14] - (M32_THROB>>1);
|
||||||
|
|
||||||
if (m32_sideview)
|
if (m32_sideview)
|
||||||
{
|
{
|
||||||
if (wal->nextwall >= 0)
|
if (wal->nextwall >= 0)
|
||||||
{
|
{
|
||||||
if (fz < fzn)
|
if (fz < fzn)
|
||||||
col = 7;
|
col = editorcolors[7];
|
||||||
else if (fz == fzn)
|
else if (fz == fzn)
|
||||||
col = 4;
|
col = editorcolors[4];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
drawcircle16(halfxdim16+x1, midydim16+y1, pointsize, 16384, editorcolors[col]);
|
drawcircle16(halfxdim16+x1, midydim16+y1, pointsize, 16384, col);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -17324,12 +17322,17 @@ static void drawscreen_drawsprite(int32_t j, int32_t posxe, int32_t posye, int32
|
||||||
(!m32_sideview && ((sprite[j].x == sprite[pointhighlight-16384].x) &&
|
(!m32_sideview && ((sprite[j].x == sprite[pointhighlight-16384].x) &&
|
||||||
(sprite[j].y == sprite[pointhighlight-16384].y)))))
|
(sprite[j].y == sprite[pointhighlight-16384].y)))))
|
||||||
{
|
{
|
||||||
if (totalclock & 32) col += 4;
|
col += M32_THROB>>2;
|
||||||
}
|
}
|
||||||
else // if (highlightcnt > 0)
|
else // if (highlightcnt > 0)
|
||||||
{
|
{
|
||||||
if (show2dsprite[j>>3]&pow2char[j&7])
|
if (show2dsprite[j>>3]&pow2char[j&7])
|
||||||
if (totalclock & 32) col += 4;
|
{
|
||||||
|
col = editorcolors[14];
|
||||||
|
|
||||||
|
// if ((totalclock & 16) == 0)
|
||||||
|
col -= (M32_THROB>>1);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -117,7 +117,7 @@ sound_t g_sounds[MAXSOUNDS];
|
||||||
static int16_t g_definedsndnum[MAXSOUNDS]; // maps parse order index to g_sounds index
|
static int16_t g_definedsndnum[MAXSOUNDS]; // maps parse order index to g_sounds index
|
||||||
static int16_t g_sndnum[MAXSOUNDS]; // maps current order index to g_sounds index
|
static int16_t g_sndnum[MAXSOUNDS]; // maps current order index to g_sounds index
|
||||||
int32_t g_numsounds = 0;
|
int32_t g_numsounds = 0;
|
||||||
static int32_t lastupdate, mousecol, mouseadd = 1, bstatus;
|
static int32_t lastupdate, mousecol, bstatus;
|
||||||
|
|
||||||
static int32_t corruptchecktimer;
|
static int32_t corruptchecktimer;
|
||||||
static int32_t curcorruptthing=-1;
|
static int32_t curcorruptthing=-1;
|
||||||
|
@ -2357,30 +2357,13 @@ static void m32_showmouse(void)
|
||||||
{
|
{
|
||||||
int32_t i, col;
|
int32_t i, col;
|
||||||
|
|
||||||
if (totalclock > lastupdate)
|
mousecol = M32_THROB;
|
||||||
{
|
|
||||||
mousecol += mouseadd;
|
|
||||||
if (mousecol >= 30 || mousecol <= 0)
|
|
||||||
{
|
|
||||||
mouseadd = -mouseadd;
|
|
||||||
mousecol += mouseadd;
|
|
||||||
}
|
|
||||||
lastupdate = totalclock + 3;
|
|
||||||
}
|
|
||||||
|
|
||||||
switch (whitecol)
|
if (whitecol > editorcolors[0])
|
||||||
{
|
col = whitecol - mousecol;
|
||||||
case 1: // Shadow Warrior
|
else col = whitecol + mousecol;
|
||||||
col = whitecol+mousecol;
|
|
||||||
break;
|
|
||||||
case 31: // Duke Nukem 3D
|
|
||||||
col = whitecol-mousecol;
|
|
||||||
break;
|
|
||||||
default:
|
|
||||||
col = whitecol;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
OSD_Printf("%d\n", col);
|
||||||
#ifdef USE_OPENGL
|
#ifdef USE_OPENGL
|
||||||
if (getrendermode() >= REND_POLYMOST)
|
if (getrendermode() >= REND_POLYMOST)
|
||||||
{
|
{
|
||||||
|
@ -2389,7 +2372,7 @@ static void m32_showmouse(void)
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
if (col != whitecol)
|
// if (col != whitecol)
|
||||||
{
|
{
|
||||||
for (i=((xdim > 640)?3:2); i<=((xdim > 640)?7:3); i++)
|
for (i=((xdim > 640)?3:2); i<=((xdim > 640)?7:3); i++)
|
||||||
{
|
{
|
||||||
|
@ -2409,10 +2392,10 @@ static void m32_showmouse(void)
|
||||||
|
|
||||||
i = (xdim > 640)?8:4;
|
i = (xdim > 640)?8:4;
|
||||||
|
|
||||||
plotpixel(searchx+i,searchy,0);
|
plotpixel(searchx+i,searchy,editorcolors[0]);
|
||||||
plotpixel(searchx-i,searchy,0);
|
plotpixel(searchx-i,searchy,editorcolors[0]);
|
||||||
plotpixel(searchx,searchy-i,0);
|
plotpixel(searchx,searchy-i,editorcolors[0]);
|
||||||
plotpixel(searchx,searchy+i,0);
|
plotpixel(searchx,searchy+i,editorcolors[0]);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (xdim > 640)
|
if (xdim > 640)
|
||||||
|
@ -4323,7 +4306,7 @@ static void Keys3d(void)
|
||||||
#ifdef YAX_ENABLE__COMPAT
|
#ifdef YAX_ENABLE__COMPAT
|
||||||
flags |= (yax_getnextwall(searchwall, YAX_CEILING)>=0) + 2*(yax_getnextwall(searchwall, YAX_FLOOR)>=0);
|
flags |= (yax_getnextwall(searchwall, YAX_CEILING)>=0) + 2*(yax_getnextwall(searchwall, YAX_FLOOR)>=0);
|
||||||
#endif
|
#endif
|
||||||
drawtileinfo("Current", WIND1X,WIND1Y,
|
drawtileinfo("Selected", WIND1X,WIND1Y,
|
||||||
AIMING_AT_WALL ? wall[w].picnum : wall[w].overpicnum,
|
AIMING_AT_WALL ? wall[w].picnum : wall[w].overpicnum,
|
||||||
wall[w].shade, wall[w].pal, wall[w].cstat,
|
wall[w].shade, wall[w].pal, wall[w].cstat,
|
||||||
wall[searchwall].lotag, wall[searchwall].hitag, wall[searchwall].extra, flags);
|
wall[searchwall].lotag, wall[searchwall].hitag, wall[searchwall].extra, flags);
|
||||||
|
@ -4361,7 +4344,7 @@ static void Keys3d(void)
|
||||||
|
|
||||||
case SEARCH_CEILING:
|
case SEARCH_CEILING:
|
||||||
case SEARCH_FLOOR:
|
case SEARCH_FLOOR:
|
||||||
drawtileinfo("Current", WIND1X, WIND1Y, AIMED_CEILINGFLOOR(picnum), AIMED_CEILINGFLOOR(shade),
|
drawtileinfo("Selected", WIND1X, WIND1Y, AIMED_CEILINGFLOOR(picnum), AIMED_CEILINGFLOOR(shade),
|
||||||
AIMED_CEILINGFLOOR(pal), AIMED_CEILINGFLOOR(stat),
|
AIMED_CEILINGFLOOR(pal), AIMED_CEILINGFLOOR(stat),
|
||||||
sector[searchsector].lotag, sector[searchsector].hitag, sector[searchsector].extra,0);
|
sector[searchsector].lotag, sector[searchsector].hitag, sector[searchsector].extra,0);
|
||||||
|
|
||||||
|
@ -4388,7 +4371,7 @@ static void Keys3d(void)
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case SEARCH_SPRITE:
|
case SEARCH_SPRITE:
|
||||||
drawtileinfo("Current", WIND1X, WIND1Y, sprite[searchwall].picnum, sprite[searchwall].shade,
|
drawtileinfo("Selected", WIND1X, WIND1Y, sprite[searchwall].picnum, sprite[searchwall].shade,
|
||||||
sprite[searchwall].pal, sprite[searchwall].cstat, sprite[searchwall].lotag,
|
sprite[searchwall].pal, sprite[searchwall].cstat, sprite[searchwall].lotag,
|
||||||
sprite[searchwall].hitag, sprite[searchwall].extra,0);
|
sprite[searchwall].hitag, sprite[searchwall].extra,0);
|
||||||
|
|
||||||
|
@ -5407,15 +5390,18 @@ static void Keys3d(void)
|
||||||
int32_t x = (xdim <= 640);
|
int32_t x = (xdim <= 640);
|
||||||
int32_t chars = Bsprintf(tempbuf, "%2u ms (%3u fps)", howlong, LastCount);
|
int32_t chars = Bsprintf(tempbuf, "%2u ms (%3u fps)", howlong, LastCount);
|
||||||
|
|
||||||
|
int32_t const dax = m32_is2d3dmode() ? m32_2d3d.x + XSIZE_2D3D - 3: windowx2;
|
||||||
|
int32_t const day = m32_is2d3dmode() ? m32_2d3d.y + 4 : windowy1;
|
||||||
|
|
||||||
if (!x)
|
if (!x)
|
||||||
{
|
{
|
||||||
printext256(windowx2-(chars<<3)+1,windowy1+2,0,-1,tempbuf,x);
|
printext256(dax-(chars<<3)+1, day+2,0,-1,tempbuf,x);
|
||||||
printext256(windowx2-(chars<<3),windowy1+1,COLOR_WHITE,-1,tempbuf,x);
|
printext256(dax-(chars<<3), day+1,COLOR_WHITE,-1,tempbuf,x);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
printext256(windowx2-(chars<<2)+1,windowy1+2,0,-1,tempbuf,x);
|
printext256(dax-(chars<<2)+1, day+2,0,-1,tempbuf,x);
|
||||||
printext256(windowx2-(chars<<2),windowy1+1,COLOR_WHITE,-1,tempbuf,x);
|
printext256(dax-(chars<<2), day+1,COLOR_WHITE,-1,tempbuf,x);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (LastSec < thisSec)
|
if (LastSec < thisSec)
|
||||||
|
@ -5532,15 +5518,6 @@ static void Keys3d(void)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (cursectnum>=0 && sector[cursectnum].lotag==2)
|
|
||||||
{
|
|
||||||
if (sector[cursectnum].ceilingpicnum==FLOORSLIME)
|
|
||||||
SetGamePalette(SLIMEPAL);
|
|
||||||
else
|
|
||||||
SetGamePalette(WATERPAL);
|
|
||||||
}
|
|
||||||
else SetGamePalette(BASEPAL);
|
|
||||||
|
|
||||||
if (keystatus[buildkeys[BK_MODE2D_3D]]) // Enter
|
if (keystatus[buildkeys[BK_MODE2D_3D]]) // Enter
|
||||||
{
|
{
|
||||||
SetGamePalette(BASEPAL);
|
SetGamePalette(BASEPAL);
|
||||||
|
@ -7892,7 +7869,7 @@ static void InitCustomColors(void)
|
||||||
for (i = 0; i<256; i++)
|
for (i = 0; i<256; i++)
|
||||||
{
|
{
|
||||||
edcol = (palette_t *)&vgapal16[4*i];
|
edcol = (palette_t *)&vgapal16[4*i];
|
||||||
editorcolors[i] = getclosestcol(edcol->b,edcol->g,edcol->r);
|
editorcolors[i] = getclosestcol_lim(edcol->b,edcol->g,edcol->r, 239);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -10232,12 +10209,7 @@ void ExtPreCheckKeys(void) // just before drawrooms
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (i+16384 != pointhighlight || !(totalclock&32))
|
shade = (i+16384 == pointhighlight) ? 7 - (M32_THROB>>1) : sprite[i].shade;
|
||||||
{
|
|
||||||
shade = sprite[i].shade;
|
|
||||||
if (shade < 6)
|
|
||||||
shade = 6;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (m32_sideview)
|
if (m32_sideview)
|
||||||
{
|
{
|
||||||
|
@ -10272,7 +10244,7 @@ void ExtPreCheckKeys(void) // just before drawrooms
|
||||||
int32_t radius, col;
|
int32_t radius, col;
|
||||||
int32_t xp1, yp1;
|
int32_t xp1, yp1;
|
||||||
|
|
||||||
if (sprite[i].picnum != MUSICANDSFX /*|| zoom < 256*/ )
|
if (sprite[i].picnum != MUSICANDSFX /*|| zoom < 256*/ || sprite[i].hitag < 1000)
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
if (showambiencesounds==1 && sprite[i].sectnum!=cursectnum)
|
if (showambiencesounds==1 && sprite[i].sectnum!=cursectnum)
|
||||||
|
@ -10282,12 +10254,17 @@ void ExtPreCheckKeys(void) // just before drawrooms
|
||||||
if (m32_sideview)
|
if (m32_sideview)
|
||||||
yp1 += getscreenvdisp(sprite[i].z-pos.z, zoom);
|
yp1 += getscreenvdisp(sprite[i].z-pos.z, zoom);
|
||||||
|
|
||||||
radius = mulscale14(sprite[i].hitag,zoom);
|
|
||||||
col = 6;
|
|
||||||
if (i+16384 == pointhighlight)
|
|
||||||
if (totalclock & 32) col += (2<<2);
|
|
||||||
drawlinepat = 0xf0f0f0f0;
|
drawlinepat = 0xf0f0f0f0;
|
||||||
drawcircle16(halfxdim16+xp1, midydim16+yp1, radius, scalescreeny(16384), editorcolors[col]);
|
|
||||||
|
col = editorcolors[6];
|
||||||
|
if (i+16384 == pointhighlight)
|
||||||
|
{
|
||||||
|
radius = mulscale14(sprite[i].hitag - (M32_THROB<<2), zoom);
|
||||||
|
col += M32_THROB>>1;
|
||||||
|
}
|
||||||
|
else radius = mulscale14(sprite[i].hitag, zoom);
|
||||||
|
|
||||||
|
drawcircle16(halfxdim16+xp1, midydim16+yp1, radius, scalescreeny(16384), col);
|
||||||
drawlinepat = 0xffffffff;
|
drawlinepat = 0xffffffff;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -10481,6 +10458,16 @@ static void Keys2d3d(void)
|
||||||
// mapstate = mapstate->prev;
|
// mapstate = mapstate->prev;
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
if (cursectnum>=0 && sector[cursectnum].lotag==2)
|
||||||
|
{
|
||||||
|
if (sector[cursectnum].ceilingpicnum==FLOORSLIME)
|
||||||
|
SetGamePalette(SLIMEPAL);
|
||||||
|
else
|
||||||
|
SetGamePalette(WATERPAL);
|
||||||
|
}
|
||||||
|
else SetGamePalette(BASEPAL);
|
||||||
|
|
||||||
if (keystatus[KEYSC_F10])
|
if (keystatus[KEYSC_F10])
|
||||||
{
|
{
|
||||||
keystatus[KEYSC_F10]=0;
|
keystatus[KEYSC_F10]=0;
|
||||||
|
|
Loading…
Reference in a new issue