mirror of
https://github.com/ZDoom/raze-gles.git
synced 2024-12-24 10:40:46 +00:00
Show lengths in Mapster for walls being drawn or moved
git-svn-id: https://svn.eduke32.com/eduke32@1047 1a8010ca-5511-0410-912e-c29ae57300e0
This commit is contained in:
parent
166019082f
commit
fbf25c7483
4 changed files with 58 additions and 22 deletions
|
@ -92,7 +92,7 @@ void _printmessage16(const char *fmt, ...);
|
|||
#define printmessage16(fmt, ...) lastpm16time = totalclock, _printmessage16(fmt, ## __VA_ARGS__)
|
||||
|
||||
void getpoint(int searchxe, int searchye, int *x, int *y);
|
||||
int getpointhighlight(int xplc, int yplc);
|
||||
int getpointhighlight(int xplc, int yplc, int point);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
|
|
|
@ -192,7 +192,7 @@ void showwalldata(short wallnum);
|
|||
void showspritedata(short spritenum);
|
||||
int drawtilescreen(int pictopleft, int picbox);
|
||||
void overheadeditor(void);
|
||||
int getlinehighlight(int xplc, int yplc);
|
||||
int getlinehighlight(int xplc, int yplc, int line);
|
||||
void fixspritesectors(void);
|
||||
int movewalls(int start, int offs);
|
||||
int loadnames(void);
|
||||
|
@ -3098,7 +3098,7 @@ void overheadeditor(void)
|
|||
}
|
||||
|
||||
getpoint(searchx,searchy,&mousxplc,&mousyplc);
|
||||
linehighlight = getlinehighlight(mousxplc, mousyplc);
|
||||
linehighlight = getlinehighlight(mousxplc, mousyplc, linehighlight);
|
||||
|
||||
if (newnumwalls >= numwalls)
|
||||
{
|
||||
|
@ -3182,7 +3182,15 @@ void overheadeditor(void)
|
|||
x4 = divscale14(halfxdim16,zoom)+posx;
|
||||
y4 = divscale14(ydim16-(midydim16-4),zoom)+posy;
|
||||
|
||||
for (i=numwalls-1,wal=&wall[i];i>=0;i--,wal--)
|
||||
if (newnumwalls >= 0)
|
||||
{
|
||||
for (i=newnumwalls;i>=tempint;i--)
|
||||
wall[i].cstat |= (1<<14);
|
||||
}
|
||||
|
||||
i = numwalls-1;
|
||||
if (newnumwalls >= 0) i = newnumwalls-1;
|
||||
for (wal=&wall[i];i>=0;i--,wal--)
|
||||
{
|
||||
//Get average point of wall
|
||||
dax = ((wal->x+wall[wal->point2].x)>>1);
|
||||
|
@ -3200,13 +3208,13 @@ void overheadeditor(void)
|
|||
y2 = y1 + 7;
|
||||
if ((x1 > 3) && (x2 < xdim) && (y1 > 1) && (y2 < ydim16))
|
||||
{
|
||||
printext16(x1,y1,0,4,dabuffer,1);
|
||||
drawline16(x1-1,y1-1,x2-3,y1-1,4);
|
||||
drawline16(x1-1,y2+1,x2-3,y2+1,4);
|
||||
printext16(x1,y1,0,31,dabuffer,1);
|
||||
drawline16(x1-1,y1-1,x2-3,y1-1,31);
|
||||
drawline16(x1-1,y2+1,x2-3,y2+1,31);
|
||||
|
||||
drawline16(x1-2,y1,x1-2,y2,4);
|
||||
drawline16(x2-2,y1,x2-2,y2,4);
|
||||
drawline16(x2-3,y1,x2-3,y2,4);
|
||||
drawline16(x1-2,y1,x1-2,y2,31);
|
||||
drawline16(x2-2,y1,x2-2,y2,31);
|
||||
drawline16(x2-3,y1,x2-3,y2,31);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -3580,8 +3588,8 @@ void overheadeditor(void)
|
|||
}
|
||||
if (keystatus[0x30]) // B (clip Blocking xor) (2D)
|
||||
{
|
||||
pointhighlight = getpointhighlight(mousxplc, mousyplc);
|
||||
linehighlight = getlinehighlight(mousxplc, mousyplc);
|
||||
pointhighlight = getpointhighlight(mousxplc, mousyplc, pointhighlight);
|
||||
linehighlight = getlinehighlight(mousxplc, mousyplc, linehighlight);
|
||||
|
||||
if ((pointhighlight&0xc000) == 16384)
|
||||
{
|
||||
|
@ -3608,7 +3616,7 @@ void overheadeditor(void)
|
|||
keystatus[0x21] = 0;
|
||||
if (keystatus[0x38]|keystatus[0xb8]) //ALT-F (relative alignmment flip)
|
||||
{
|
||||
linehighlight = getlinehighlight(mousxplc, mousyplc);
|
||||
linehighlight = getlinehighlight(mousxplc, mousyplc, linehighlight);
|
||||
if (linehighlight >= 0)
|
||||
{
|
||||
setfirstwall(sectorofwall(linehighlight),linehighlight);
|
||||
|
@ -3969,8 +3977,8 @@ void overheadeditor(void)
|
|||
keystatus[0x23] = 0;
|
||||
if (keystatus[0x1d]|keystatus[0x9d]) //Ctrl-H
|
||||
{
|
||||
pointhighlight = getpointhighlight(mousxplc, mousyplc);
|
||||
linehighlight = getlinehighlight(mousxplc, mousyplc);
|
||||
pointhighlight = getpointhighlight(mousxplc, mousyplc, pointhighlight);
|
||||
linehighlight = getlinehighlight(mousxplc, mousyplc, linehighlight);
|
||||
|
||||
if ((pointhighlight&0xc000) == 16384)
|
||||
{
|
||||
|
@ -4422,7 +4430,7 @@ void overheadeditor(void)
|
|||
else
|
||||
{
|
||||
if ((bstatus&1) > (oldmousebstatus&1))
|
||||
pointhighlight = getpointhighlight(mousxplc, mousyplc);
|
||||
pointhighlight = getpointhighlight(mousxplc, mousyplc, pointhighlight);
|
||||
|
||||
if (pointhighlight >= 0)
|
||||
{
|
||||
|
@ -4493,7 +4501,7 @@ void overheadeditor(void)
|
|||
}
|
||||
else
|
||||
{
|
||||
pointhighlight = getpointhighlight(mousxplc, mousyplc);
|
||||
pointhighlight = getpointhighlight(mousxplc, mousyplc, pointhighlight);
|
||||
sectorhighlightstat = -1;
|
||||
}
|
||||
|
||||
|
@ -6303,12 +6311,15 @@ void getpoint(int searchxe, int searchye, int *x, int *y)
|
|||
if (*y >= editorgridextent) *y = editorgridextent;
|
||||
}
|
||||
|
||||
int getlinehighlight(int xplc, int yplc)
|
||||
int getlinehighlight(int xplc, int yplc, int line)
|
||||
{
|
||||
int i, dst, dist, closest, x1, y1, x2, y2, nx, ny;
|
||||
|
||||
if (numwalls == 0)
|
||||
return(-1);
|
||||
|
||||
if (mouseb & 1) return line;
|
||||
|
||||
dist = 1024;
|
||||
closest = -1;
|
||||
for (i=0;i<numwalls;i++)
|
||||
|
@ -6336,13 +6347,15 @@ int getlinehighlight(int xplc, int yplc)
|
|||
return(closest);
|
||||
}
|
||||
|
||||
int getpointhighlight(int xplc, int yplc)
|
||||
int getpointhighlight(int xplc, int yplc, int point)
|
||||
{
|
||||
int i, dst, dist = 512, closest = -1;
|
||||
|
||||
if (numwalls == 0)
|
||||
return(-1);
|
||||
|
||||
if (mouseb & 1) return point;
|
||||
|
||||
if (grid < 1)
|
||||
dist = 0;
|
||||
|
||||
|
|
|
@ -8949,6 +8949,9 @@ void dragpoint(short pointhighlight, int dax, int day)
|
|||
|
||||
wall[pointhighlight].x = dax;
|
||||
wall[pointhighlight].y = day;
|
||||
wall[pointhighlight].cstat |= (1<<14);
|
||||
wall[linehighlight].cstat |= (1<<14);
|
||||
wall[lastwall(pointhighlight)].cstat |= (1<<14);
|
||||
|
||||
cnt = MAXWALLS;
|
||||
tempshort = pointhighlight; //search points CCW
|
||||
|
@ -8959,6 +8962,7 @@ void dragpoint(short pointhighlight, int dax, int day)
|
|||
tempshort = wall[wall[tempshort].nextwall].point2;
|
||||
wall[tempshort].x = dax;
|
||||
wall[tempshort].y = day;
|
||||
wall[tempshort].cstat |= (1<<14);
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@ -8970,6 +8974,7 @@ void dragpoint(short pointhighlight, int dax, int day)
|
|||
tempshort = wall[lastwall(tempshort)].nextwall;
|
||||
wall[tempshort].x = dax;
|
||||
wall[tempshort].y = day;
|
||||
wall[tempshort].cstat |= (1<<14);
|
||||
}
|
||||
else
|
||||
{
|
||||
|
|
|
@ -455,7 +455,20 @@ const char *ExtGetSectorCaption(short sectnum)
|
|||
const char *ExtGetWallCaption(short wallnum)
|
||||
{
|
||||
static char tempbuf[1024];
|
||||
|
||||
Bmemset(tempbuf,0,sizeof(tempbuf));
|
||||
|
||||
if (wall[wallnum].cstat & (1<<14))
|
||||
{
|
||||
int dax = wall[wallnum].x-wall[wall[wallnum].point2].x;
|
||||
int day = wall[wallnum].y-wall[wall[wallnum].point2].y;
|
||||
int dist = ksqrt(dax*dax+day*day);
|
||||
Bsprintf(tempbuf,"%d",dist);
|
||||
wall[wallnum].cstat &= ~(1<<14);
|
||||
return(tempbuf);
|
||||
}
|
||||
|
||||
|
||||
if (!(onnames==2 || onnames==4))
|
||||
{
|
||||
tempbuf[0] = 0;
|
||||
|
@ -5969,7 +5982,7 @@ static void Keys2d(void)
|
|||
clearmidstatbar16();
|
||||
showspritedata((short)i);
|
||||
}
|
||||
else if ((linehighlight >= 0) && (sectorofwall(linehighlight) == cursectornum))
|
||||
else if ((linehighlight >= 0) && (bstatus&1 || sectorofwall(linehighlight) == cursectornum))
|
||||
{
|
||||
clearmidstatbar16();
|
||||
showwalldata((short)linehighlight);
|
||||
|
@ -6031,7 +6044,7 @@ static void Keys2d(void)
|
|||
}
|
||||
|
||||
getpoint(searchx,searchy,&mousxplc,&mousyplc);
|
||||
ppointhighlight = getpointhighlight(mousxplc,mousyplc);
|
||||
ppointhighlight = getpointhighlight(mousxplc,mousyplc, ppointhighlight);
|
||||
|
||||
if ((ppointhighlight&0xc000) == 16384)
|
||||
{
|
||||
|
@ -9463,8 +9476,13 @@ typedef struct
|
|||
short *headspritestat;
|
||||
short *prevspritestat;
|
||||
short *nextspritestat;
|
||||
|
||||
int revision;
|
||||
|
||||
mapundo_t *next; // 'redo' loads this
|
||||
mapundo_t *prev; // 'undo' loads this
|
||||
} mapundo_t;
|
||||
|
||||
mapundo_t *undopos = NULL; // pointer to current
|
||||
mapundo_t undoredo[UNDODEPTH];
|
||||
*/
|
Loading…
Reference in a new issue