Address complaints from the "Mapster32 problems and bugs" thread.

git-svn-id: https://svn.eduke32.com/eduke32@5283 1a8010ca-5511-0410-912e-c29ae57300e0
This commit is contained in:
terminx 2015-07-09 03:55:24 +00:00
parent f72dffce07
commit ff466191cb
2 changed files with 26 additions and 16 deletions

View file

@ -3323,14 +3323,14 @@ void overheadeditor(void)
{ {
if (totalclock > waitdelay) if (totalclock > waitdelay)
{ {
uint32_t ms = (highlightsectorcnt>0) ? 75 : 200; uint32_t ms = 50;// (highlightsectorcnt>0) ? 75 : 200;
// wait for event, timeout after 200 ms - (last loop time) // wait for event, timeout after 200 ms - (last loop time)
idle_waitevent_timeout(ms - min(getticks()-lasttick, ms)); idle_waitevent_timeout(ms - min(getticks()-lasttick, ms));
// have synctics reset to 0 after we've slept to avoid zooming out to the max instantly // have synctics reset to 0 after we've slept to avoid zooming out to the max instantly
resetsynctics = 1; resetsynctics = 1;
} }
} }
else waitdelay = totalclock + 30; // should be 250 ms else waitdelay = totalclock + 6; // should be 50 ms
lasttick = getticks(); lasttick = getticks();
@ -3593,7 +3593,7 @@ void overheadeditor(void)
} }
if ((i == pointhighlight-16384) && (totalclock & 32)) if ((i == pointhighlight-16384) && (totalclock & 32))
col += (2<<2); col += 4;
drawsmallabel(dabuffer, editorcolors[0], col, drawsmallabel(dabuffer, editorcolors[0], col,
sprite[i].x, sprite[i].y, sprite[i].z); sprite[i].x, sprite[i].y, sprite[i].z);
@ -5904,20 +5904,30 @@ end_point_dragging:
{ {
int32_t didzoom=0; int32_t didzoom=0;
if ((DOWN_BK(MOVEUP) || (bstatus&16)) && zoom < 32768) if ((DOWN_BK(MOVEUP) || (bstatus&16)) && zoom < 65536)
{ {
if (DOWN_BK(MOVEUP)) if (DOWN_BK(MOVEUP))
{
ztarget += (synctics*(ztarget>>4))>>(eitherSHIFT<<1); ztarget += (synctics*(ztarget>>4))>>(eitherSHIFT<<1);
if (zoom < 64)
ztarget += (synctics*(ztarget>>4)) * (eitherSHIFT);
}
if (bstatus&16) if (bstatus&16)
ztarget += 4*(ztarget>>4); ztarget += 4*(ztarget>>4);
if (zoom < 24) zoom += 2; if (zoom < 24) zoom += 2;
didzoom = 1; didzoom = 1;
} }
if ((DOWN_BK(MOVEDOWN) || (bstatus&32)) && zoom > 32) if ((DOWN_BK(MOVEDOWN) || (bstatus&32)) && zoom > 16)
{ {
if (DOWN_BK(MOVEDOWN)) if (DOWN_BK(MOVEDOWN))
{
ztarget -= (synctics*(ztarget>>4))>>(eitherSHIFT<<1); ztarget -= (synctics*(ztarget>>4))>>(eitherSHIFT<<1);
if (zoom < 64)
ztarget -= (synctics * (ztarget >> 4)) * (eitherSHIFT);
}
if (bstatus&32) if (bstatus&32)
ztarget -= 4*(ztarget>>4); ztarget -= 4*(ztarget>>4);
@ -5933,11 +5943,16 @@ end_point_dragging:
pos.x = mousxplc; pos.x = mousxplc;
pos.y = mousyplc; pos.y = mousyplc;
} }
ztarget = clamp(ztarget, 32, 32768); ztarget = clamp(ztarget, 16, 65536);
_printmessage16("Zoom: %d",ztarget); _printmessage16("Zoom: %d",ztarget);
if (ztarget == 16 || ztarget == 65536)
message("Ludicrous Zoom!");
} }
} }
if (keystatus[0x22]) // G (grid on/off) if (keystatus[0x22]) // G (grid on/off)
{ {
keystatus[0x22] = 0; keystatus[0x22] = 0;
@ -8996,7 +9011,7 @@ void clearmidstatbar16(void)
static void clearministatbar16(void) static void clearministatbar16(void)
{ {
int32_t i, col = whitecol - 16; int32_t i, col = whitecol - 20;
begindrawing(); begindrawing();

View file

@ -17261,15 +17261,10 @@ int32_t getspritecol(int32_t spr)
if (cols[i] > cnt) if (cols[i] > cnt)
col = i, cnt = cols[i]; col = i, cnt = cols[i];
float sum = (float)curpalette[col].r * GRAYSCALE_COEFF_RED + (float)curpalette[col].g * GRAYSCALE_COEFF_GREEN + while (col < 240 && curpalette[col+1].r > curpalette[col].r)
(float)curpalette[col].b * GRAYSCALE_COEFF_BLUE;
while (col < 240 &&
((float)curpalette[col + 1].r * GRAYSCALE_COEFF_RED + (float)curpalette[col + 1].g * GRAYSCALE_COEFF_GREEN +
(float)curpalette[col + 1].b * GRAYSCALE_COEFF_BLUE) > sum)
col++; col++;
tilecols[picnum] = col - 8; tilecols[picnum] = col - 4;
return palookup[pal][tilecols[picnum]]; return palookup[pal][tilecols[picnum]];
} }
@ -17311,12 +17306,12 @@ 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 += 8; if (totalclock & 32) col += 4;
} }
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 += 8; if (totalclock & 32) col += 4;
} }
} }