diff --git a/polymer/eduke32/build/src/build.c b/polymer/eduke32/build/src/build.c index dbfa28abb..1d4cea281 100644 --- a/polymer/eduke32/build/src/build.c +++ b/polymer/eduke32/build/src/build.c @@ -3323,14 +3323,14 @@ void overheadeditor(void) { 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) 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 resetsynctics = 1; } } - else waitdelay = totalclock + 30; // should be 250 ms + else waitdelay = totalclock + 6; // should be 50 ms lasttick = getticks(); @@ -3593,7 +3593,7 @@ void overheadeditor(void) } if ((i == pointhighlight-16384) && (totalclock & 32)) - col += (2<<2); + col += 4; drawsmallabel(dabuffer, editorcolors[0], col, sprite[i].x, sprite[i].y, sprite[i].z); @@ -5904,20 +5904,30 @@ end_point_dragging: { int32_t didzoom=0; - if ((DOWN_BK(MOVEUP) || (bstatus&16)) && zoom < 32768) + if ((DOWN_BK(MOVEUP) || (bstatus&16)) && zoom < 65536) { if (DOWN_BK(MOVEUP)) + { ztarget += (synctics*(ztarget>>4))>>(eitherSHIFT<<1); + + if (zoom < 64) + ztarget += (synctics*(ztarget>>4)) * (eitherSHIFT); + } if (bstatus&16) ztarget += 4*(ztarget>>4); if (zoom < 24) zoom += 2; didzoom = 1; } - if ((DOWN_BK(MOVEDOWN) || (bstatus&32)) && zoom > 32) + if ((DOWN_BK(MOVEDOWN) || (bstatus&32)) && zoom > 16) { if (DOWN_BK(MOVEDOWN)) + { ztarget -= (synctics*(ztarget>>4))>>(eitherSHIFT<<1); + + if (zoom < 64) + ztarget -= (synctics * (ztarget >> 4)) * (eitherSHIFT); + } if (bstatus&32) ztarget -= 4*(ztarget>>4); @@ -5933,11 +5943,16 @@ end_point_dragging: pos.x = mousxplc; pos.y = mousyplc; } - ztarget = clamp(ztarget, 32, 32768); + ztarget = clamp(ztarget, 16, 65536); + _printmessage16("Zoom: %d",ztarget); + + if (ztarget == 16 || ztarget == 65536) + message("Ludicrous Zoom!"); } } + if (keystatus[0x22]) // G (grid on/off) { keystatus[0x22] = 0; @@ -8996,7 +9011,7 @@ void clearmidstatbar16(void) static void clearministatbar16(void) { - int32_t i, col = whitecol - 16; + int32_t i, col = whitecol - 20; begindrawing(); diff --git a/polymer/eduke32/build/src/engine.c b/polymer/eduke32/build/src/engine.c index 7a250c3ac..2b6f62602 100644 --- a/polymer/eduke32/build/src/engine.c +++ b/polymer/eduke32/build/src/engine.c @@ -17261,15 +17261,10 @@ int32_t getspritecol(int32_t spr) if (cols[i] > cnt) col = i, cnt = cols[i]; - float sum = (float)curpalette[col].r * GRAYSCALE_COEFF_RED + (float)curpalette[col].g * GRAYSCALE_COEFF_GREEN + - (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) + while (col < 240 && curpalette[col+1].r > curpalette[col].r) col++; - tilecols[picnum] = col - 8; + tilecols[picnum] = col - 4; 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) && (sprite[j].y == sprite[pointhighlight-16384].y))))) { - if (totalclock & 32) col += 8; + if (totalclock & 32) col += 4; } else // if (highlightcnt > 0) { if (show2dsprite[j>>3]&pow2char[j&7]) - if (totalclock & 32) col += 8; + if (totalclock & 32) col += 4; } }