mirror of
https://github.com/ZDoom/raze-gles.git
synced 2024-12-24 10:40:46 +00:00
* Auto-grayout for plain old sectors toggled with Ctrl-A. When it is in effect, _all_ sectors which fall outside the [min ceiling z, max floor z] bounds of all active extended sectors are deactivated.
* make it possible to duplicate from extended sectors; all extensions are cleared from them * lazy hightile loading in tile selector can now be disabled in mapster32.cfg * fixes USE_OPENGL=0 build git-svn-id: https://svn.eduke32.com/eduke32@1890 1a8010ca-5511-0410-912e-c29ae57300e0
This commit is contained in:
parent
219dc6dd26
commit
0c190bfa55
7 changed files with 118 additions and 62 deletions
|
@ -97,6 +97,7 @@ extern const char *g_namesFileName;
|
||||||
|
|
||||||
extern const char *defsfilename; // set in bstub.c
|
extern const char *defsfilename; // set in bstub.c
|
||||||
|
|
||||||
|
extern int32_t g_lazy_tileselector;
|
||||||
extern int32_t m32_osd_tryscript;
|
extern int32_t m32_osd_tryscript;
|
||||||
extern int32_t showheightindicators;
|
extern int32_t showheightindicators;
|
||||||
extern int32_t showambiencesounds;
|
extern int32_t showambiencesounds;
|
||||||
|
@ -105,6 +106,7 @@ extern uint8_t graysectbitmap[MAXSECTORS>>3];
|
||||||
extern uint8_t graywallbitmap[MAXWALLS>>3];
|
extern uint8_t graywallbitmap[MAXWALLS>>3];
|
||||||
|
|
||||||
#ifdef YAX_ENABLE
|
#ifdef YAX_ENABLE
|
||||||
|
extern int32_t autogray;
|
||||||
int32_t yax_is121(int16_t bunchnum, int16_t getfloor);
|
int32_t yax_is121(int16_t bunchnum, int16_t getfloor);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
|
@ -1595,17 +1595,7 @@ static void duplicate_selected_sectors(void)
|
||||||
int32_t i, j, startwall, endwall, newnumsectors, newwalls = 0;
|
int32_t i, j, startwall, endwall, newnumsectors, newwalls = 0;
|
||||||
int32_t minx=INT32_MAX, maxx=INT32_MIN, miny=INT32_MAX, maxy=INT32_MIN, dx, dy;
|
int32_t minx=INT32_MAX, maxx=INT32_MIN, miny=INT32_MAX, maxy=INT32_MIN, dx, dy;
|
||||||
#ifdef YAX_ENABLE
|
#ifdef YAX_ENABLE
|
||||||
int16_t cb, fb;
|
int16_t cb, fb, hadextended=0;
|
||||||
|
|
||||||
for (i=0; i<highlightsectorcnt; i++)
|
|
||||||
{
|
|
||||||
yax_getbunches(highlightsector[i], &cb, &fb);
|
|
||||||
if (cb>=0 || fb>=0)
|
|
||||||
{
|
|
||||||
printmessage16("Cannot duplicate extended sectors!");
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
for (i=0; i<highlightsectorcnt; i++)
|
for (i=0; i<highlightsectorcnt; i++)
|
||||||
|
@ -1630,6 +1620,19 @@ static void duplicate_selected_sectors(void)
|
||||||
for (i=0; i<highlightsectorcnt; i++)
|
for (i=0; i<highlightsectorcnt; i++)
|
||||||
{
|
{
|
||||||
copysector(highlightsector[i], newnumsectors, newnumwalls, 1, oldtonewsect);
|
copysector(highlightsector[i], newnumsectors, newnumwalls, 1, oldtonewsect);
|
||||||
|
#ifdef YAX_ENABLE
|
||||||
|
yax_getbunches(highlightsector[i], &cb, &fb);
|
||||||
|
if (cb>=0 || fb>=0)
|
||||||
|
{
|
||||||
|
hadextended = 1;
|
||||||
|
yax_setbunches(newnumsectors, -1, -1);
|
||||||
|
for (WALLS_OF_SECTOR(newnumsectors, j))
|
||||||
|
{
|
||||||
|
yax_setnextwall(j, 0, -1);
|
||||||
|
yax_setnextwall(j, 1, -1);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
#endif
|
||||||
newnumsectors++;
|
newnumsectors++;
|
||||||
newnumwalls += sector[highlightsector[i]].wallnum;
|
newnumwalls += sector[highlightsector[i]].wallnum;
|
||||||
}
|
}
|
||||||
|
@ -1695,7 +1698,12 @@ static void duplicate_selected_sectors(void)
|
||||||
newnumsectors = -1;
|
newnumsectors = -1;
|
||||||
|
|
||||||
updatenumsprites();
|
updatenumsprites();
|
||||||
printmessage16("Sectors duplicated and stamped.");
|
#ifdef YAX_ENABLE
|
||||||
|
if (hadextended)
|
||||||
|
printmessage16("Sectors duplicated and stamped, clearing extensions.");
|
||||||
|
else
|
||||||
|
#endif
|
||||||
|
printmessage16("Sectors duplicated and stamped.");
|
||||||
asksave = 1;
|
asksave = 1;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
|
|
@ -169,6 +169,7 @@ int32_t loadsetup(const char *fn)
|
||||||
#ifdef USE_OPENGL
|
#ifdef USE_OPENGL
|
||||||
if (readconfig(fp, "usemodels", val, VL) > 0) usemodels = !!atoi_safe(val);
|
if (readconfig(fp, "usemodels", val, VL) > 0) usemodels = !!atoi_safe(val);
|
||||||
if (readconfig(fp, "usehightile", val, VL) > 0) usehightile = !!atoi_safe(val);
|
if (readconfig(fp, "usehightile", val, VL) > 0) usehightile = !!atoi_safe(val);
|
||||||
|
if (readconfig(fp, "lazytileselector", val, VL) > 0) g_lazy_tileselector = !!atoi_safe(val);
|
||||||
|
|
||||||
glusetexcache = -1;
|
glusetexcache = -1;
|
||||||
if (readconfig(fp, "glusetexcache", val, VL) > 0)
|
if (readconfig(fp, "glusetexcache", val, VL) > 0)
|
||||||
|
@ -364,6 +365,7 @@ int32_t writesetup(const char *fn)
|
||||||
"; OpenGL mode options\n"
|
"; OpenGL mode options\n"
|
||||||
"usemodels = %d\n"
|
"usemodels = %d\n"
|
||||||
"usehightile = %d\n"
|
"usehightile = %d\n"
|
||||||
|
"lazytileselector = %d\n"
|
||||||
"; glusetexcache: 0:no, 1:yes, 2:compressed\n"
|
"; glusetexcache: 0:no, 1:yes, 2:compressed\n"
|
||||||
"glusetexcache = %d\n"
|
"glusetexcache = %d\n"
|
||||||
"gltexfiltermode = %d\n"
|
"gltexfiltermode = %d\n"
|
||||||
|
@ -523,7 +525,7 @@ int32_t writesetup(const char *fn)
|
||||||
#endif
|
#endif
|
||||||
editorgridextent, clamp(default_grid, 0, 9),
|
editorgridextent, clamp(default_grid, 0, 9),
|
||||||
#ifdef USE_OPENGL
|
#ifdef USE_OPENGL
|
||||||
usemodels, usehightile,
|
usemodels, usehightile, g_lazy_tileselector,
|
||||||
glusetexcache, gltexfiltermode, glanisotropy,r_downsize,glusetexcompr,
|
glusetexcache, gltexfiltermode, glanisotropy,r_downsize,glusetexcompr,
|
||||||
shadescale,
|
shadescale,
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -200,6 +200,7 @@ extern int32_t m32_numdebuglines;
|
||||||
|
|
||||||
uint8_t graysectbitmap[MAXSECTORS>>3];
|
uint8_t graysectbitmap[MAXSECTORS>>3];
|
||||||
uint8_t graywallbitmap[MAXWALLS>>3];
|
uint8_t graywallbitmap[MAXWALLS>>3];
|
||||||
|
int32_t autogray = 0;
|
||||||
|
|
||||||
#ifdef ENGINE_SCREENSHOT_DEBUG
|
#ifdef ENGINE_SCREENSHOT_DEBUG
|
||||||
int32_t engine_screenshot = 0;
|
int32_t engine_screenshot = 0;
|
||||||
|
@ -208,9 +209,12 @@ int32_t engine_screenshot = 0;
|
||||||
void yax_updategrays(int32_t posze)
|
void yax_updategrays(int32_t posze)
|
||||||
{
|
{
|
||||||
int32_t i, j, k=1;
|
int32_t i, j, k=1;
|
||||||
#ifndef YAX_ENABLE
|
#ifdef YAX_ENABLE
|
||||||
|
int32_t mingoodz=INT32_MAX, maxgoodz=INT32_MIN;
|
||||||
|
#else
|
||||||
UNREFERENCED_PARAMETER(posze);
|
UNREFERENCED_PARAMETER(posze);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
Bmemset(graysectbitmap, 0, sizeof(graysectbitmap));
|
Bmemset(graysectbitmap, 0, sizeof(graysectbitmap));
|
||||||
Bmemset(graywallbitmap, 0, sizeof(graywallbitmap));
|
Bmemset(graywallbitmap, 0, sizeof(graywallbitmap));
|
||||||
|
|
||||||
|
@ -220,18 +224,36 @@ void yax_updategrays(int32_t posze)
|
||||||
int16_t cb, fb;
|
int16_t cb, fb;
|
||||||
|
|
||||||
yax_getbunches(i, &cb, &fb);
|
yax_getbunches(i, &cb, &fb);
|
||||||
// update grayouts due to yax
|
// update grayouts due to yax --v-- has to be half-open --v--
|
||||||
|
// because only one level should v be ever active v
|
||||||
k = ((cb<0 || sector[i].ceilingz < posze) && (fb<0 || posze <= sector[i].floorz));
|
k = ((cb<0 || sector[i].ceilingz < posze) && (fb<0 || posze <= sector[i].floorz));
|
||||||
|
if (autogray && (cb>=0 || fb>=0) && (sector[i].ceilingz <= posze && posze <= sector[i].floorz))
|
||||||
|
{
|
||||||
|
mingoodz = min(mingoodz, sector[i].ceilingz);
|
||||||
|
maxgoodz = max(maxgoodz, sector[i].floorz);
|
||||||
|
}
|
||||||
#endif
|
#endif
|
||||||
// update grayouts due to editorzrange
|
// update grayouts due to editorzrange
|
||||||
k &= (sector[i].ceilingz >= editorzrange[0] && sector[i].floorz <= editorzrange[1]);
|
k &= (sector[i].ceilingz >= editorzrange[0] && sector[i].floorz <= editorzrange[1]);
|
||||||
|
|
||||||
if (!k) // outside bounds, gray out!
|
if (!k) // outside bounds, gray out!
|
||||||
{
|
|
||||||
graysectbitmap[i>>3] |= (1<<(i&7));
|
graysectbitmap[i>>3] |= (1<<(i&7));
|
||||||
|
}
|
||||||
|
|
||||||
|
#ifdef YAX_ENABLE
|
||||||
|
if (autogray && mingoodz<=maxgoodz)
|
||||||
|
{
|
||||||
|
for (i=0; i<numsectors; i++)
|
||||||
|
if (!(mingoodz <= sector[i].ceilingz && sector[i].floorz <= maxgoodz))
|
||||||
|
graysectbitmap[i>>3] |= (1<<(i&7));
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
for (i=0; i<numsectors; i++)
|
||||||
|
{
|
||||||
|
if (graysectbitmap[i>>3]&(1<<(i&7)))
|
||||||
for (j=sector[i].wallptr; j<sector[i].wallptr+sector[i].wallnum; j++)
|
for (j=sector[i].wallptr; j<sector[i].wallptr+sector[i].wallnum; j++)
|
||||||
graywallbitmap[j>>3] |= (1<<(j&7));
|
graywallbitmap[j>>3] |= (1<<(j&7));
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -611,17 +633,19 @@ static int yax_cmpbunches(const int16_t *b1, const int16_t *b2)
|
||||||
static void yax_tweakpicnums(int32_t bunchnum, int32_t cf, int32_t restore)
|
static void yax_tweakpicnums(int32_t bunchnum, int32_t cf, int32_t restore)
|
||||||
{
|
{
|
||||||
static int16_t opicnum[2][MAXSECTORS];
|
static int16_t opicnum[2][MAXSECTORS];
|
||||||
int32_t i;
|
int32_t i, stat;
|
||||||
|
|
||||||
for (SECTORS_OF_BUNCH(bunchnum, cf, i))
|
for (SECTORS_OF_BUNCH(bunchnum, cf, i))
|
||||||
if ((SECTORFLD(i,stat, cf)&(128+256))==0)
|
{
|
||||||
|
stat = (SECTORFLD(i,stat, cf)&(128+256+4096));
|
||||||
|
if ((stat&4096) || stat==0)
|
||||||
{
|
{
|
||||||
if (!restore)
|
if (!restore)
|
||||||
{
|
{
|
||||||
opicnum[cf][i] = SECTORFLD(i,picnum, cf);
|
opicnum[cf][i] = SECTORFLD(i,picnum, cf);
|
||||||
if (editstatus && showinvisibility)
|
if (editstatus && showinvisibility)
|
||||||
SECTORFLD(i,picnum, cf) = MAXTILES-1-((SECTORFLD(i,stat, cf)&4096)>>12);
|
SECTORFLD(i,picnum, cf) = MAXTILES-1-((stat&4096)>>12);
|
||||||
else
|
else if ((stat&(128+256))==0)
|
||||||
SECTORFLD(i,picnum, cf) = 13; //FOF;
|
SECTORFLD(i,picnum, cf) = 13; //FOF;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
@ -629,6 +653,7 @@ static void yax_tweakpicnums(int32_t bunchnum, int32_t cf, int32_t restore)
|
||||||
SECTORFLD(i,picnum, cf) = opicnum[cf][i];
|
SECTORFLD(i,picnum, cf) = opicnum[cf][i];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static void yax_copytsprite(int32_t curbunchnum, int32_t resetsortcnt)
|
static void yax_copytsprite(int32_t curbunchnum, int32_t resetsortcnt)
|
||||||
|
@ -682,7 +707,7 @@ static void yax_copytsprite(int32_t curbunchnum, int32_t resetsortcnt)
|
||||||
|
|
||||||
void yax_preparedrawrooms(void)
|
void yax_preparedrawrooms(void)
|
||||||
{
|
{
|
||||||
if (rendmode!=0 || numyaxbunches==0)
|
if (getrendermode()!=0 || numyaxbunches==0)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
g_nodraw = 1;
|
g_nodraw = 1;
|
||||||
|
@ -720,7 +745,7 @@ void yax_drawrooms(void (*ExtAnalyzeSprites)(void), int32_t horiz, int16_t sectn
|
||||||
int32_t t;
|
int32_t t;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
if (rendmode!=0 || numyaxbunches==0)
|
if (getrendermode()!=0 || numyaxbunches==0)
|
||||||
{
|
{
|
||||||
#ifdef ENGINE_SCREENSHOT_DEBUG
|
#ifdef ENGINE_SCREENSHOT_DEBUG
|
||||||
engine_screenshot = 0;
|
engine_screenshot = 0;
|
||||||
|
@ -762,7 +787,7 @@ void yax_drawrooms(void (*ExtAnalyzeSprites)(void), int32_t horiz, int16_t sectn
|
||||||
j = yax_getbunch(i, cf);
|
j = yax_getbunch(i, cf);
|
||||||
if (j >= 0 && !(havebunch[j>>3]&(1<<(j&7))))
|
if (j >= 0 && !(havebunch[j>>3]&(1<<(j&7))))
|
||||||
{
|
{
|
||||||
if ((haveymost[j>>3]&(1<<(j&7)))==0)
|
if (getrendermode()==0 && (haveymost[j>>3]&(1<<(j&7)))==0)
|
||||||
{
|
{
|
||||||
yaxdebug("%s, l %d: skipped bunch %d (no *most)", cf?"v":"^", lev, j);
|
yaxdebug("%s, l %d: skipped bunch %d (no *most)", cf?"v":"^", lev, j);
|
||||||
continue;
|
continue;
|
||||||
|
@ -847,10 +872,13 @@ void yax_drawrooms(void (*ExtAnalyzeSprites)(void), int32_t horiz, int16_t sectn
|
||||||
scansector_collectsprites = 0;
|
scansector_collectsprites = 0;
|
||||||
|
|
||||||
#ifdef ENGINE_CLEAR_SCREEN
|
#ifdef ENGINE_CLEAR_SCREEN
|
||||||
begindrawing();
|
if (rendmode==0)
|
||||||
for (i=0; i<xdim*ydim; i++)
|
{
|
||||||
*((char *)frameplace + i) = i;
|
begindrawing();
|
||||||
enddrawing();
|
for (i=0; i<xdim*ydim; i++)
|
||||||
|
*((char *)frameplace + i) = i;
|
||||||
|
enddrawing();
|
||||||
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
for (cf=0; cf<2; cf++)
|
for (cf=0; cf<2; cf++)
|
||||||
|
@ -916,28 +944,31 @@ void yax_drawrooms(void (*ExtAnalyzeSprites)(void), int32_t horiz, int16_t sectn
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef YAX_DEBUG_YMOSTS
|
#ifdef YAX_DEBUG_YMOSTS
|
||||||
begindrawing();
|
if (rendmode==0)
|
||||||
for (i=0; i<numyaxbunches; i++)
|
|
||||||
{
|
{
|
||||||
int32_t x, x1;
|
begindrawing();
|
||||||
char purple = getclosestcol(63, 0, 63);
|
for (i=0; i<numyaxbunches; i++)
|
||||||
char yellow = getclosestcol(63, 63, 0);
|
|
||||||
|
|
||||||
if ((haveymost[i>>3]&(1<<i&7))==0)
|
|
||||||
continue;
|
|
||||||
|
|
||||||
x1 = i*xdimen;
|
|
||||||
|
|
||||||
for (x=x1; x<x1+xdimen; x++)
|
|
||||||
{
|
{
|
||||||
if (yumost[x] >= 0 && yumost[x] < ydim)
|
int32_t x, x1;
|
||||||
*((char *)frameplace + yumost[x]*bytesperline + x-x1) = purple;
|
char purple = getclosestcol(63, 0, 63);
|
||||||
|
char yellow = getclosestcol(63, 63, 0);
|
||||||
|
|
||||||
if (ydmost[x]-1 >= 0 && ydmost[x]-1 < ydim)
|
if ((haveymost[i>>3]&(1<<i&7))==0)
|
||||||
*((char *)frameplace + (ydmost[x]-1)*bytesperline + x-x1) = yellow;
|
continue;
|
||||||
|
|
||||||
|
x1 = i*xdimen;
|
||||||
|
|
||||||
|
for (x=x1; x<x1+xdimen; x++)
|
||||||
|
{
|
||||||
|
if (yumost[x] >= 0 && yumost[x] < ydim)
|
||||||
|
*((char *)frameplace + yumost[x]*bytesperline + x-x1) = purple;
|
||||||
|
|
||||||
|
if (ydmost[x]-1 >= 0 && ydmost[x]-1 < ydim)
|
||||||
|
*((char *)frameplace + (ydmost[x]-1)*bytesperline + x-x1) = yellow;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
enddrawing();
|
||||||
}
|
}
|
||||||
enddrawing();
|
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -7588,7 +7619,7 @@ void drawrooms(int32_t daposx, int32_t daposy, int32_t daposz,
|
||||||
|
|
||||||
i = mulscale16(xdimenscale,viewingrangerecip);
|
i = mulscale16(xdimenscale,viewingrangerecip);
|
||||||
globalpisibility = mulscale16(parallaxvisibility,i);
|
globalpisibility = mulscale16(parallaxvisibility,i);
|
||||||
globalvisibility = rendmode==0 ? mulscale16(visibility,i) : scale(visibility<<2,4,3);
|
globalvisibility = getrendermode()==0 ? mulscale16(visibility,i) : scale(visibility<<2,4,3);
|
||||||
globalhisibility = mulscale16(globalvisibility,xyaspect);
|
globalhisibility = mulscale16(globalvisibility,xyaspect);
|
||||||
globalcisibility = mulscale8(globalhisibility,320);
|
globalcisibility = mulscale8(globalhisibility,320);
|
||||||
|
|
||||||
|
@ -14437,12 +14468,12 @@ void draw2dscreen(const vec3_t *pos, int16_t cursectnum, int16_t ange, int32_t z
|
||||||
{
|
{
|
||||||
for (i=numwalls-1; i>=0; i--)
|
for (i=numwalls-1; i>=0; i--)
|
||||||
#ifdef YAX_ENABLE
|
#ifdef YAX_ENABLE
|
||||||
if (graywallbitmap[(i)>>3]&(1<<((i)&7)))
|
if (graywallbitmap[i>>3]&(1<<(i&7)))
|
||||||
drawscreen_drawwall(i,posxe,posye,posze,zoome);
|
drawscreen_drawwall(i,posxe,posye,posze,zoome);
|
||||||
for (i=numwalls-1; i>=0; i--)
|
for (i=numwalls-1; i>=0; i--)
|
||||||
if ((graywallbitmap[(i)>>3]&(1<<((i)&7)))==0)
|
if ((graywallbitmap[i>>3]&(1<<(i&7)))==0)
|
||||||
#endif
|
#endif
|
||||||
drawscreen_drawwall(i,posxe,posye,posze,zoome);
|
drawscreen_drawwall(i,posxe,posye,posze,zoome);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
@ -14918,11 +14949,13 @@ int32_t screencapture_png(const char *filename, char inverseit, const char *vers
|
||||||
buf = (png_bytep)png_malloc(png_ptr, xdim*ydim);
|
buf = (png_bytep)png_malloc(png_ptr, xdim*ydim);
|
||||||
Bmemcpy(buf, (char *)frameplace, xdim*ydim);
|
Bmemcpy(buf, (char *)frameplace, xdim*ydim);
|
||||||
}
|
}
|
||||||
|
#ifdef USE_OPENGL
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
buf = (png_bytep)png_malloc(png_ptr, xdim*ydim*3);
|
buf = (png_bytep)png_malloc(png_ptr, xdim*ydim*3);
|
||||||
bglReadPixels(0,0,xdim,ydim,GL_RGB,GL_UNSIGNED_BYTE,buf);
|
bglReadPixels(0,0,xdim,ydim,GL_RGB,GL_UNSIGNED_BYTE,buf);
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
enddrawing(); //}}}
|
enddrawing(); //}}}
|
||||||
|
|
||||||
rowptrs = (png_bytepp)png_malloc(png_ptr, ydim*sizeof(png_bytep));
|
rowptrs = (png_bytepp)png_malloc(png_ptr, ydim*sizeof(png_bytep));
|
||||||
|
|
|
@ -2186,7 +2186,7 @@ void drawpoly(double *dpx, double *dpy, int32_t n, int32_t method)
|
||||||
|
|
||||||
{
|
{
|
||||||
float pc[4];
|
float pc[4];
|
||||||
int32_t shadebound = (shadescale_unbounded || globalshade>31) ? numpalookups : 31;
|
int32_t shadebound = (shadescale_unbounded || globalshade>=numpalookups) ? numpalookups : numpalookups-1;
|
||||||
f = ((float)(numpalookups-min(max((globalshade * shadescale),0),shadebound)))/((float)numpalookups);
|
f = ((float)(numpalookups-min(max((globalshade * shadescale),0),shadebound)))/((float)numpalookups);
|
||||||
pc[0] = pc[1] = pc[2] = f;
|
pc[0] = pc[1] = pc[2] = f;
|
||||||
switch (method&3)
|
switch (method&3)
|
||||||
|
@ -4177,9 +4177,11 @@ void polymost_drawrooms()
|
||||||
if (rendmode >= 3)
|
if (rendmode >= 3)
|
||||||
{
|
{
|
||||||
resizeglcheck();
|
resizeglcheck();
|
||||||
|
#ifdef YAX_ENABLE
|
||||||
if (editstatus)
|
if (numyaxbunches==0)
|
||||||
bglClear(GL_COLOR_BUFFER_BIT|GL_DEPTH_BUFFER_BIT);
|
#endif
|
||||||
|
if (editstatus)
|
||||||
|
bglClear(GL_COLOR_BUFFER_BIT|GL_DEPTH_BUFFER_BIT);
|
||||||
|
|
||||||
bglDisable(GL_BLEND);
|
bglDisable(GL_BLEND);
|
||||||
bglEnable(GL_TEXTURE_2D);
|
bglEnable(GL_TEXTURE_2D);
|
||||||
|
@ -5795,7 +5797,7 @@ void polymost_fillpolygon(int32_t npoints)
|
||||||
pthtyp *pth;
|
pthtyp *pth;
|
||||||
float f,a=0.0;
|
float f,a=0.0;
|
||||||
int32_t i;
|
int32_t i;
|
||||||
int32_t shadebound = (shadescale_unbounded || globalshade>31) ? numpalookups : 31;
|
int32_t shadebound = (shadescale_unbounded || globalshade>=numpalookups) ? numpalookups : numpalookups-1;
|
||||||
|
|
||||||
globalx1 = mulscale16(globalx1,xyaspect);
|
globalx1 = mulscale16(globalx1,xyaspect);
|
||||||
globaly2 = mulscale16(globaly2,xyaspect);
|
globaly2 = mulscale16(globaly2,xyaspect);
|
||||||
|
|
|
@ -939,11 +939,12 @@ int32_t checkvideomode(int32_t *x, int32_t *y, int32_t c, int32_t fs, int32_t fo
|
||||||
int32_t setvideomode(int32_t x, int32_t y, int32_t c, int32_t fs)
|
int32_t setvideomode(int32_t x, int32_t y, int32_t c, int32_t fs)
|
||||||
{
|
{
|
||||||
int32_t regrab = 0;
|
int32_t regrab = 0;
|
||||||
|
#ifdef USE_OPENGL
|
||||||
static int32_t warnonce = 0;
|
static int32_t warnonce = 0;
|
||||||
#if (SDL_MAJOR_VERSION == 1 && SDL_MINOR_VERSION < 3)
|
#if (SDL_MAJOR_VERSION == 1 && SDL_MINOR_VERSION < 3)
|
||||||
static int32_t ovsync = 1;
|
static int32_t ovsync = 1;
|
||||||
#endif
|
#endif
|
||||||
|
#endif
|
||||||
if ((fs == fullscreen) && (x == xres) && (y == yres) && (c == bpp) &&
|
if ((fs == fullscreen) && (x == xres) && (y == yres) && (c == bpp) &&
|
||||||
!videomodereset)
|
!videomodereset)
|
||||||
{
|
{
|
||||||
|
|
|
@ -97,6 +97,7 @@ static struct strllist
|
||||||
const char *scripthist[SCRIPTHISTSIZ];
|
const char *scripthist[SCRIPTHISTSIZ];
|
||||||
int32_t scripthistend = 0;
|
int32_t scripthistend = 0;
|
||||||
|
|
||||||
|
int32_t g_lazy_tileselector = 1;
|
||||||
int32_t showambiencesounds=2;
|
int32_t showambiencesounds=2;
|
||||||
|
|
||||||
int32_t autocorruptcheck = 0;
|
int32_t autocorruptcheck = 0;
|
||||||
|
@ -3945,8 +3946,9 @@ static int32_t OnSelectTile(int32_t iTile)
|
||||||
bflushchars();
|
bflushchars();
|
||||||
|
|
||||||
setpolymost2dview();
|
setpolymost2dview();
|
||||||
|
#ifdef USE_OPENGL
|
||||||
bglEnable(GL_TEXTURE_2D);
|
bglEnable(GL_TEXTURE_2D);
|
||||||
|
#endif
|
||||||
clearview(0);
|
clearview(0);
|
||||||
|
|
||||||
//
|
//
|
||||||
|
@ -4072,7 +4074,6 @@ static void tilescreen_drawbox(int32_t iTopLeft, int32_t iSelected, int32_t nXTi
|
||||||
char markedcol = editorcolors[14];
|
char markedcol = editorcolors[14];
|
||||||
|
|
||||||
setpolymost2dview();
|
setpolymost2dview();
|
||||||
bglEnable(GL_TEXTURE_2D);
|
|
||||||
|
|
||||||
y1=max(y1, 0);
|
y1=max(y1, 0);
|
||||||
y2=min(y2, ydim-1);
|
y2=min(y2, ydim-1);
|
||||||
|
@ -4157,8 +4158,9 @@ static int32_t DrawTiles(int32_t iTopLeft, int32_t iSelected, int32_t nXTiles, i
|
||||||
static uint8_t loadedhitile[(MAXTILES+7)>>3];
|
static uint8_t loadedhitile[(MAXTILES+7)>>3];
|
||||||
|
|
||||||
setpolymost2dview();
|
setpolymost2dview();
|
||||||
|
#ifdef USE_OPENGL
|
||||||
bglEnable(GL_TEXTURE_2D);
|
bglEnable(GL_TEXTURE_2D);
|
||||||
|
#endif
|
||||||
clearview(0);
|
clearview(0);
|
||||||
|
|
||||||
begindrawing();
|
begindrawing();
|
||||||
|
@ -4172,8 +4174,7 @@ restart:
|
||||||
|
|
||||||
if (iTile < 0 || iTile >= localartlookupnum)
|
if (iTile < 0 || iTile >= localartlookupnum)
|
||||||
continue;
|
continue;
|
||||||
|
usehitile = (runi || !g_lazy_tileselector);
|
||||||
usehitile = runi;
|
|
||||||
|
|
||||||
idTile = localartlookup[ iTile ];
|
idTile = localartlookup[ iTile ];
|
||||||
if (loadedhitile[idTile>>3]&(1<<(idTile&7)))
|
if (loadedhitile[idTile>>3]&(1<<(idTile&7)))
|
||||||
|
@ -4205,7 +4206,7 @@ restart:
|
||||||
|
|
||||||
tilescreen_drawbox(iTopLeft, iSelected, nXTiles, TileDim, offset, iTile, idTile);
|
tilescreen_drawbox(iTopLeft, iSelected, nXTiles, TileDim, offset, iTile, idTile);
|
||||||
|
|
||||||
if (runi==1)
|
if (runi==1 && g_lazy_tileselector)
|
||||||
{
|
{
|
||||||
int32_t k;
|
int32_t k;
|
||||||
|
|
||||||
|
@ -4238,7 +4239,7 @@ restart:
|
||||||
|
|
||||||
tilescreen_drawrest(iSelected, showmsg);
|
tilescreen_drawrest(iSelected, showmsg);
|
||||||
|
|
||||||
if (rendmode>=3 && qsetmode==200)
|
if (getrendermode()>=3 && qsetmode==200 && g_lazy_tileselector)
|
||||||
{
|
{
|
||||||
if (runi==0)
|
if (runi==0)
|
||||||
{
|
{
|
||||||
|
@ -7585,6 +7586,13 @@ static void Keys2d(void)
|
||||||
updatesectorz(pos.x, pos.y, pos.z, &cursectnum);
|
updatesectorz(pos.x, pos.y, pos.z, &cursectnum);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (eitherCTRL && PRESSED_KEYSC(A))
|
||||||
|
{
|
||||||
|
autogray = !autogray;
|
||||||
|
printmessage16("Automatic grayout of plain sectors %s", ONOFF(autogray));
|
||||||
|
yax_updategrays(pos.z);
|
||||||
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
// Ctrl-R set editor z range to hightlightsectors' c/f bounds
|
// Ctrl-R set editor z range to hightlightsectors' c/f bounds
|
||||||
|
|
Loading…
Reference in a new issue