ssize = (surface->lightmapinfo->extents[0] >> 4) + 1;
tsize = (surface->lightmapinfo->extents[1] >> 4) + 1;
memset(surface->lightmapinfo->stainsamples, 255, ssize * tsize * 3);
- surface->cached_dlight = true;
+ mod->brushq1.lightmapupdateflags[surfacenum] = true;
}
}
}
else
Con_DPrintf("%s parsing warning: unknown surfaceparm \"%s\"\n", search->filenames[fileindex], parameter[1]);
}
+ else if (!strcasecmp(parameter[0], "dpshadow"))
+ shader.dpshadow = true;
+ else if (!strcasecmp(parameter[0], "dpnoshadow"))
+ shader.dpnoshadow = true;
else if (!strcasecmp(parameter[0], "sky") && numparameters >= 2)
{
// some q3 skies don't have the sky parm set
}
}
}
+ if (shader->dpshadow)
+ texture->basematerialflags &= ~MATERIALFLAG_NOSHADOW;
+ if (shader->dpnoshadow)
+ texture->basematerialflags |= MATERIALFLAG_NOSHADOW;
memcpy(texture->deforms, shader->deforms, sizeof(texture->deforms));
texture->reflectmin = shader->reflectmin;
texture->reflectmax = shader->reflectmax;
texture->numskinframes = 1;
if (fallback)
{
- if (!(texture->skinframes[0] = R_SkinFrame_LoadExternal(texture->name, defaulttexflags, false)))
+ qboolean has_alpha;
+ if ((texture->skinframes[0] = R_SkinFrame_LoadExternal_CheckAlpha(texture->name, defaulttexflags, false, &has_alpha)))
+ {
+ if(has_alpha && (defaulttexflags & TEXF_ALPHA))
+ texture->basematerialflags |= MATERIALFLAG_ALPHA | MATERIALFLAG_BLENDED | MATERIALFLAG_NOSHADOW;
+ }
+ else
success = false;
}
else