Voodoo: Fixes HUD transparency bugs in Extreme Assault Voodoo executable (interpreter and x86-64 recompiler only).

This commit is contained in:
OBattler
2025-01-08 11:26:15 +01:00
parent c3faf20226
commit f39c3491bf
4 changed files with 72 additions and 12 deletions

View File

@@ -210,11 +210,10 @@ void voodoo_codegen_close(voodoo_t *voodoo);
newdest_g = (dest_g * (255 - dest_a)) / 255; \
newdest_b = (dest_b * (255 - dest_a)) / 255; \
break; \
case AFUNC_ASATURATE: \
_a = MIN(src_a, 1 - dest_a); \
newdest_r = (dest_r * _a) / 255; \
newdest_g = (dest_g * _a) / 255; \
newdest_b = (dest_b * _a) / 255; \
case AFUNC_ACOLORBEFOREFOG: \
newdest_r = (dest_r * colbfog_r) / 255; \
newdest_g = (dest_g * colbfog_g) / 255; \
newdest_b = (dest_b * colbfog_b) / 255; \
break; \
} \
\
@@ -254,8 +253,11 @@ void voodoo_codegen_close(voodoo_t *voodoo);
src_g = (src_g * (255 - dest_a)) / 255; \
src_b = (src_b * (255 - dest_a)) / 255; \
break; \
case AFUNC_ACOLORBEFOREFOG: \
fatal("AFUNC_ACOLORBEFOREFOG\n"); \
case AFUNC_ASATURATE: \
_a = MIN(src_a, 1 - dest_a); \
src_r = (dest_r * _a) / 255; \
src_g = (dest_g * _a) / 255; \
src_b = (dest_b * _a) / 255; \
break; \
} \
\