[Not a bug] Decals missing on animated walls
Moderator: GZDoom Developers
Forum rules
Please don't bump threads here if you have a problem - it will often be forgotten about if you do. Instead, make a new thread here.
Please don't bump threads here if you have a problem - it will often be forgotten about if you do. Instead, make a new thread here.
- Hirogen2
- Posts: 2033
- Joined: Sat Jul 19, 2003 6:15 am
- Operating System Version (Optional): Tumbleweed x64
- Graphics Processor: Intel with Vulkan/Metal Support
- Location: Central Germany
- Contact:
Deacls missing on animated walls
Hi,
not a bug but rather an unimplemented feature? For 47i, no weapon leaves decals on animated walls.
not a bug but rather an unimplemented feature? For 47i, no weapon leaves decals on animated walls.
It used to be a "feature" of Zdoom too, but Randy changed it so by default decals do not show on animated textures. Most of the doom animated textures are liquids or fires so that makes sense.
As Randy said, using the "allowdecals" instruction in animdefs, umm, allows decals.
texture NJANI041
allowdecals
pic 1 tics 8
pic 2 tics 8
pic 3 tics 8
pic 4 tics 8
As Randy said, using the "allowdecals" instruction in animdefs, umm, allows decals.

texture NJANI041
allowdecals
pic 1 tics 8
pic 2 tics 8
pic 3 tics 8
pic 4 tics 8
Well all animations are "disallowdecals" by default, so they have to be actively allowed in animdefs before anyone can put decals all over your computer screens. This is done on an animation by animation basis, not globally, so you specify each and every texture where decals are allowed. All others remain disallowed.Nanami wrote:Is there a "disallowdecals"...
Define your animation and put allowdecals in the definition in animdefs. That will mean decals appear on your animated texture. You won't be able to disable decals only on part of a texture (ie where the chains are) so you'll have to live with either a wall that doesn't get decals, or chains that magically move behind bullet holes. Your choice.Hirogen2 wrote:but what about some texture that is only partially (i.e. an 8x8 area) animated? Like... chains-behind-a-window, as .. ROTThas it.

Last edited by Enjay on Tue Oct 14, 2003 3:05 pm, edited 1 time in total.
Out of curiousity, what about these cases?
- Solid texture on a sidedef with a scrolling special (Does the decal sit still, scroll, or not appear at all?)
- Animated texture (with and without allowdecals) on a scrolling wall.
I remember a discussion long ago where i came up with different reasons for scrolling textures that would call for different behavior. One example of a scroller where you want the decal to appear but sit still is a sign with scrolling text. An example where you want a decal to appear and move with the scroll would be a solid object designed to look like it's rotating. And of course an example of not wanting a decal at all would be for liquids.
Has this been considered at all?
Also, how do decals on transparent textures work? If a rocket explodes on a 2-sided line set to block everything, does the texture on that line get a decal or not, and if so how is it displayed?
- Solid texture on a sidedef with a scrolling special (Does the decal sit still, scroll, or not appear at all?)
- Animated texture (with and without allowdecals) on a scrolling wall.
I remember a discussion long ago where i came up with different reasons for scrolling textures that would call for different behavior. One example of a scroller where you want the decal to appear but sit still is a sign with scrolling text. An example where you want a decal to appear and move with the scroll would be a solid object designed to look like it's rotating. And of course an example of not wanting a decal at all would be for liquids.
Has this been considered at all?
Also, how do decals on transparent textures work? If a rocket explodes on a 2-sided line set to block everything, does the texture on that line get a decal or not, and if so how is it displayed?
Scrolling textures simply do not show decals. No other options have been enabled to my knowledge I think this was opted for because it was the least likely to look wrong - eg on my train level the illusion of movement was ruined when decals could appear on a scrolling wall.
2S transparent walls do not get decals either. Just as well for all the smashing windows I did in my recent release. Mind you, I suppose if a line is set to change its blocking status, any decals on it could be removed. I guess there are other considerations too. What to show from the other side, what if a line blocks but is not transparent, or what if it blocks and doesn't have a texture...
2S transparent walls do not get decals either. Just as well for all the smashing windows I did in my recent release. Mind you, I suppose if a line is set to change its blocking status, any decals on it could be removed. I guess there are other considerations too. What to show from the other side, what if a line blocks but is not transparent, or what if it blocks and doesn't have a texture...
If a line blocks and is not transparent, not showing a decal gives away that it's a "fake" wall, which would seem to be undesirable.Enjay wrote:Scrolling textures simply do not show decals. No other options have been enabled to my knowledge I think this was opted for because it was the least likely to look wrong - eg on my train level the illusion of movement was ruined when decals could appear on a scrolling wall.
2S transparent walls do not get decals either. Just as well for all the smashing windows I did in my recent release. Mind you, I suppose if a line is set to change its blocking status, any decals on it could be removed. I guess there are other considerations too. What to show from the other side, what if a line blocks but is not transparent, or what if it blocks and doesn't have a texture...
Still, I understand why this would be difficult to implement and might not be worth it.
- Hirogen2
- Posts: 2033
- Joined: Sat Jul 19, 2003 6:15 am
- Operating System Version (Optional): Tumbleweed x64
- Graphics Processor: Intel with Vulkan/Metal Support
- Location: Central Germany
- Contact:
Heh the purpose of a TC is to reproduce most, including odd behavior. And who says there is not unbreakable-glass before the chainsEnjay wrote:You won't be able to disable decals only on part of a texture (ie where the chains are) so you'll have to live with either a wall that doesn't get decals, or chains that magically move behind bullet holes. Your choice.

In the real world, the only thing that could be a scrolling wall is a wall with rotating paper around it, for example. In that case, decals should move (if they were about to be enabled).Scrolling textures simply do not show decals.
OTOH, if a projector projects a scrolling image onto a wall, decals should stay. But for that, I would use a translucent wall in front of the real wall, which does the job perfectly.
, eh, where would the decal be placed if you shoot right into the window?Just as well for all the smashing windows

Well, yes it would be in Real Life . But in Zdoom, when you shoot a window - at least the way I have set them up - the bullet stops at the window. It's the next shot that passes through. I guess it proabably would have worked if I'd set the lines to be projectile cross and normal impassible rather than projectile impact and block_everything. Hmmm, maybe I should try that. Anyway, the toughened glass (only used on 2 windows) shatters but stays intact on the first hit, but smashes on the second.Hirogen2 wrote:eh, where would the decal be placed if you shoot right into the window?The bullet travels through the glass at high speed, so it will be located in the next sector(s), either at the floor or at the next wall, depending on distance and physics.
Heh, anyway, I think the way Randy has things now is the best option. It works perfectly for most situations most of the time.