mirror of
https://github.com/ZDoom/raze-gles.git
synced 2024-12-25 11:10:47 +00:00
Amend r4394: don't use full brightness (glColor() factor 1) with hightiles.
This is done by factoring out some polymer.c:polymer_getbuildmaterial() code into polymer_eligible_for_artmapping() and using that. The one in polymer.c can still determine to not use ART mapping on some ("rare"?) occasions, so it's not 100% in sync. git-svn-id: https://svn.eduke32.com/eduke32@4407 1a8010ca-5511-0410-912e-c29ae57300e0
This commit is contained in:
parent
2d889c74f7
commit
7da6380dcb
4 changed files with 10 additions and 2 deletions
|
@ -351,6 +351,12 @@ static inline void polymer_invalidateartmap(int32_t tilenum)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Compare with eligible_for_tileshades()
|
||||||
|
static inline int32_t polymer_eligible_for_artmap(int32_t tilenum, const pthtyp *pth)
|
||||||
|
{
|
||||||
|
return ((!pth || !pth->hicr) && tilenum < (MAXTILES - 4));
|
||||||
|
}
|
||||||
|
|
||||||
# ifdef POLYMER_C
|
# ifdef POLYMER_C
|
||||||
|
|
||||||
// CORE
|
// CORE
|
||||||
|
|
|
@ -56,6 +56,7 @@ extern int32_t r_usetileshades;
|
||||||
extern int16_t globalpicnum;
|
extern int16_t globalpicnum;
|
||||||
extern int32_t globalpal;
|
extern int32_t globalpal;
|
||||||
|
|
||||||
|
// Compare with polymer_eligible_for_artmap()
|
||||||
static inline int32_t eligible_for_tileshades(int32_t picnum, int32_t pal)
|
static inline int32_t eligible_for_tileshades(int32_t picnum, int32_t pal)
|
||||||
{
|
{
|
||||||
return (!usehightile || !hicfindsubst(picnum, pal, 0)) &&
|
return (!usehightile || !hicfindsubst(picnum, pal, 0)) &&
|
||||||
|
|
|
@ -4621,7 +4621,7 @@ static void polymer_getbuildmaterial(_prmaterial* material, int16_t tile
|
||||||
}
|
}
|
||||||
|
|
||||||
// Lazily fill in all the textures we need, move this to precaching later
|
// Lazily fill in all the textures we need, move this to precaching later
|
||||||
if (pr_artmapping && (!pth || !pth->hicr) && tilenum < (MAXTILES - 4)) {
|
if (pr_artmapping && polymer_eligible_for_artmap(tilenum, pth)) {
|
||||||
if (!prartmaps[tilenum]) {
|
if (!prartmaps[tilenum]) {
|
||||||
char *tilebuffer = (char *)waloff[tilenum];
|
char *tilebuffer = (char *)waloff[tilenum];
|
||||||
char *tempbuffer = (char *)Bmalloc(tilesizx[tilenum] * tilesizy[tilenum]);
|
char *tempbuffer = (char *)Bmalloc(tilesizx[tilenum] * tilesizy[tilenum]);
|
||||||
|
|
|
@ -1526,7 +1526,8 @@ void drawpoly(double *dpx, double *dpy, int32_t n, int32_t method)
|
||||||
float pc[4];
|
float pc[4];
|
||||||
|
|
||||||
#ifdef POLYMER
|
#ifdef POLYMER
|
||||||
if (getrendermode() == REND_POLYMER && pr_artmapping)
|
if (getrendermode() == REND_POLYMER && pr_artmapping &&
|
||||||
|
polymer_eligible_for_artmap(globalpicnum, pth))
|
||||||
pc[0] = pc[1] = pc[2] = 1.0f;
|
pc[0] = pc[1] = pc[2] = 1.0f;
|
||||||
else
|
else
|
||||||
#endif
|
#endif
|
||||||
|
|
Loading…
Reference in a new issue