I've just noticed that my transparency trick used in mods like ExtCLUT and LNGA is not compatible with current EDuke32 builds. The matter of the problem is that I'm using a custom look-up pal replacing all colors to the transparent color, which then becomes visible and can be set up to produce some extra color conversions (because the transparent color was checked by the engine prior to applying the palette when drawing something). Now using this palette makes any sprite not to be visible at all. Can we get the old behavior back? Also, is there a hope for rotatespritea to work with the 8-bit renderer as well (with the alpha parameter denoting custom translucency table ID)?
I found that this has begun to occur in r5347. HUD graphics screens for comparison:
r5344:
r5347 and onwards:
Page 1 of 1
Changes of classic render transparency handling behavior "Compatibility problem in newer EDuke32 versions"
#1 Posted 08 February 2016 - 11:58 AM
This post has been edited by Jan Satcitananda: 08 February 2016 - 11:59 AM
#2 Posted 08 February 2016 - 01:52 PM
Jan Satcitananda, on 08 February 2016 - 11:58 AM, said:
Can we get the old behavior back?
To disable all game-side modification of palette tables, add "globalgameflags 4" to your def files, or "setuserdef[].globalgameflags 4" to EVENT_INIT. (Flag 1 disables pinning of widescreen-unready HUD art to the sides, and flag 2 prevents the generation of the hardcoded fogpals.)
Jan Satcitananda, on 08 February 2016 - 11:58 AM, said:
Also, is there a hope for rotatespritea to work with the 8-bit renderer as well (with the alpha parameter denoting custom translucency table ID)?
If you want to use a blendtable with rotatespritea in 8-bit, negate the blend ID and use it as the alpha parameter. It is also possible to map alpha to blend IDs using the lognumalphatables byte at the end of your PALETTE.DAT, after all your blend tables. If you set the byte to a value n in the range [1, 7], the processing in falpha_to_blend in engine.c will kick in.
#3 Posted 09 February 2016 - 07:43 AM
Hendricks266, on 08 February 2016 - 01:52 PM, said:
To disable all game-side modification of palette tables, add "globalgameflags 4" to your def files, or "setuserdef[].globalgameflags 4" to EVENT_INIT. (Flag 1 disables pinning of widescreen-unready HUD art to the sides, and flag 2 prevents the generation of the hardcoded fogpals.)
If you want to use a blendtable with rotatespritea in 8-bit, negate the blend ID and use it as the alpha parameter. It is also possible to map alpha to blend IDs using the lognumalphatables byte at the end of your PALETTE.DAT, after all your blend tables. If you set the byte to a value n in the range [1, 7], the processing in falpha_to_blend in engine.c will kick in.
If you want to use a blendtable with rotatespritea in 8-bit, negate the blend ID and use it as the alpha parameter. It is also possible to map alpha to blend IDs using the lognumalphatables byte at the end of your PALETTE.DAT, after all your blend tables. If you set the byte to a value n in the range [1, 7], the processing in falpha_to_blend in engine.c will kick in.
Oh, thank you for the clarification. Gonna try these options and add them to the wiki.
Share this topic:
Page 1 of 1