Page 1 of 1

Doom 64-style fade/glows

PostPosted: Thu Dec 20, 2018 3:06 pm
by Talon1024

Also a .webm
I've been working on adding the glowing textures and flashes from Doom 64. This is the last Doom 64 graphical feature that GZDoom lacks before it is truly capable of emulating the look and feel of Doom 64.

I already have a rough draft of this feature as a pull request on GitHub, but I'd like to get people's thoughts on how I designed this feature before I squash my commit history and get it added to GZDoom for good.

My pull request adds the following UDMF properties for sectors:
Code: Select allExpand view
coloradd_floor = <int>;         // Additive material color applied to the sector floor. Default is black (0x000000)
coloradd_ceiling = <int>;       // Additive material color applied to the sector ceiling. Default is black (0x000000)
coloradd_sprites = <int>;       // Additive material color applied to sprites within the sector. Default is black (0x000000)
coloradd_walls = <int>; // Additive material color applied to walls within the sector. Default is black (0x000000)

And the following properties for sidedefs:
Code: Select allExpand view
useowncoloradd_top = <bool>;  // Whether or not to use the given additive color for the top section of the sidedef.
coloradd_top = <int>;         // Additive material color to apply to top section of sidedef. Default is black (0x000000)
useowncoloradd_mid = <bool>;  // Whether or not to use the given additive color for the middle section of the sidedef.
coloradd_mid = <int>;         // Additive material color to apply to middle section of sidedef. Default is black (0x000000)
useowncoloradd_bottom = <bool>;  // Whether or not to use the given additive color for the bottom section of the sidedef.
coloradd_bottom = <int>; // Additive material color to apply to bottom section of sidedef. Default is black (0x000000)

I used to have it set up so that one UDMF property "color_add" would set the values for all additive colours within a sector. I'm now re-considering adding it as a shortcut to setting the other coloradd properties for a sector.

Re: Doom 64-style fade/glows

PostPosted: Wed Dec 26, 2018 6:00 am
by Graf Zahl
Before merging I'd like one bit of clarification: Is the order of color application based on Doom64? Normally I'd think that doing the additive part last would make more sense, but if this has to follow estabilished rules it's ok as it is.

I'll hold off with the upcoming release until this gets clarified, I'd really like to get this feature in before the next version.

I used to have it set up so that one UDMF property "color_add" would set the values for all additive colours within a sector. I'm now re-considering adding it as a shortcut to setting the other coloradd properties for a sector.


UDMF should not have any fields that work like that. Since this is entirely machine generated and maintained there needs to be a 1:1 correspondence between UDMF properties and native representation, there shouldn't be any shortcuts that stomp onto other properties internally.

Re: Doom 64-style fade/glows

PostPosted: Wed Dec 26, 2018 9:09 am
by Talon1024
Graf Zahl wrote:Before merging I'd like one bit of clarification: Is the order of color application based on Doom64? Normally I'd think that doing the additive part last would make more sense, but if this has to follow estabilished rules it's ok as it is.

Based on what I've seen from Doom 64 EX screenshots, the additive colors are applied before the other material colors. You can see how it works in this video.