aboutsummaryrefslogtreecommitdiff
path: root/src/GPU3D.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/GPU3D.cpp')
-rw-r--r--src/GPU3D.cpp4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/GPU3D.cpp b/src/GPU3D.cpp
index e06ff90..378565a 100644
--- a/src/GPU3D.cpp
+++ b/src/GPU3D.cpp
@@ -717,8 +717,9 @@ void SubmitPolygon()
poly->FacingView = facingview;
u32 texfmt = (TexParam >> 26) & 0x7;
+ u32 blendmode = (CurPolygonAttr >> 4) & 0x3;
u32 polyalpha = (CurPolygonAttr >> 16) & 0x1F;
- poly->Translucent = (texfmt == 1 || texfmt == 6 || (polyalpha > 0 && polyalpha < 31));
+ poly->Translucent = ((texfmt == 1 || texfmt == 6) && (blendmode != 1)) || (polyalpha > 0 && polyalpha < 31);
if (LastStripPolygon && clipstart > 0)
{
@@ -1731,6 +1732,7 @@ void VBlank()
RenderPolygonRAM = CurPolygonRAM;
RenderNumPolygons = NumPolygons;
+ // TODO: find out which other registers are latched for rendering
RenderClearAttr1 = ClearAttr1;
RenderClearAttr2 = ClearAttr2;