shadow, shadow mask, and decals count as translucent based on texture format

This commit is contained in:
Jaklyy 2024-03-14 12:37:45 -04:00
parent 4648cd2219
commit 6acefec43c

View file

@ -1216,7 +1216,7 @@ void GPU3D::SubmitPolygon() noexcept
u32 texfmt = (TexParam >> 26) & 0x7;
u32 polyalpha = (CurPolygonAttr >> 16) & 0x1F;
poly->Translucent = ((texfmt == 1 || texfmt == 6) && !(CurPolygonAttr & 0x10)) || (polyalpha > 0 && polyalpha < 31);
poly->Translucent = (texfmt == 1 || texfmt == 6) || (polyalpha > 0 && polyalpha < 31);
poly->IsShadowMask = ((CurPolygonAttr & 0x3F000030) == 0x00000030);
poly->IsShadow = ((CurPolygonAttr & 0x30) == 0x30) && !poly->IsShadowMask;