Universal Gibs

For high-res texture/sprite projects, sprite-fix patches, music add-ons, music randomizers, and other graphic/sound-only projects.
Forum rules
The Projects forums are only for projects. If you are asking questions about a project, either find that project's thread, or start a thread in the General section instead.

Got a cool project idea but nothing else? Put it in the project ideas thread instead!

Projects for any Doom-based engine (especially 3DGE) are perfectly acceptable here too.

Please read the full rules for more details.
Accensus
Posts: 2383
Joined: Thu Feb 11, 2016 9:59 am

Universal Gibs

Post by Accensus »

Thread is dead; mod isn't! To report bugs, suggest stuff, or contact me in general, you can either reach me on the Discord listed in the repository's description or open an issue directly on GitLab.

Also feel free to post in the thread. I'll probably reply here as well, but if you're on either of the aforementioned platforms, I suggest you get ahold of me there. Chances are your question would be answered a lot sooner.

---DOWNLOADS---
Repository [Last update: See commit history]
NOTE: Scroll down in the repository and read the readme.
Spoiler: Old thread contents, quite outdated
Last edited by Accensus on Sat May 02, 2020 3:20 am, edited 47 times in total.
SanyaWaffles
Posts: 818
Joined: Thu Apr 25, 2013 12:21 pm
Preferred Pronouns: They/Them
Operating System Version (Optional): Windows 11 for the Motorola Powerstack II
Graphics Processor: nVidia with Vulkan support
Location: The Corn Fields

Re: Universal Gibs

Post by SanyaWaffles »

Finally you can have ludicrous gibs in any TC. I'll have to check this out.
Accensus
Posts: 2383
Joined: Thu Feb 11, 2016 9:59 am

Re: Universal Gibs

Post by Accensus »

Quick update for two things:
- Fixed a critical issue where gibbing Keens would not activate their special.
- Updated OP with a rundown of sorts and necessary GZDoom version.
User avatar
RiboNucleic Asshat
Posts: 501
Joined: Thu May 09, 2013 8:15 pm
Preferred Pronouns: No Preference
Graphics Processor: nVidia with Vulkan support
Location: Exactly where I am

Re: Universal Gibs

Post by RiboNucleic Asshat »

From looking at the code, I'm assuming that this does not respect different blood colors?
Accensus
Posts: 2383
Joined: Thu Feb 11, 2016 9:59 am

Re: Universal Gibs

Post by Accensus »

Nope. It doesn't. I reckon it could easily be made to respect them, but red gibs/floor decals with green blood trails would look really off. Initially I did experiment with customisable blood/gibs color, but that didn't work out as expected, so it got scrapped. The big problem is in the translations.
User avatar
RiboNucleic Asshat
Posts: 501
Joined: Thu May 09, 2013 8:15 pm
Preferred Pronouns: No Preference
Graphics Processor: nVidia with Vulkan support
Location: Exactly where I am

Re: Universal Gibs

Post by RiboNucleic Asshat »

I'll try messing with it later on my own to see if I can get blood colors to apply. I believe using the flags SXF_USEBLOODCOLOR and SXF_TRANSFERTRANSLATION in the right way can make it work. There are no issues with translations on flat sprites, are there?
Accensus
Posts: 2383
Joined: Thu Feb 11, 2016 9:59 am

Re: Universal Gibs

Post by Accensus »

None that I know of.
User avatar
RiboNucleic Asshat
Posts: 501
Joined: Thu May 09, 2013 8:15 pm
Preferred Pronouns: No Preference
Graphics Processor: nVidia with Vulkan support
Location: Exactly where I am

Re: Universal Gibs

Post by RiboNucleic Asshat »

So, I finally got some free time to experiment with this, and I have a 50% working method for differently colored blood.
Spoiler: Picture
  • BLDSA0 needs to be an alpha map, and the bloodsplats should have RenderStyle "Shaded", so they behave like decals.
  • Before any gibs are spawned, set the StencilColor (via SetShade) of the dying monster to its BloodColor.
  • All gibs are spawned with the flags SXF_TRANSFERSTENCILCOL and SXF_USEBLOODCOLOR. This flawlessly recolors the gibs and stores the stencil color, which won't affect the gibs' appearance.
  • When the gibs spawn a blood splat, it again uses the flag SXF_TRANSFERSTENCILCOL to pass on the color. This affects the floor splats and colors them correctly.
Unfortunately, I've run into some problems with this method.
  • When no BloodColor is specified, e.g. every single vanilla actor, gibs are untouched (which is good) but splats are black (obviously less good). I can change black splats to red but this means actors with actually black blood will have red FX.
  • I have absolutely no idea how to properly color the particles! I can't seem to set the particles' color to the StencilColor. I can set it to BloodColor, but since the BloodColor isn't passed down this does nothing for me.
  • Using the color unaltered makes it cartoonishly bright. This can easily be fixed so it's not a huge issue.
Here's a version I quickly modified if you want to poke around in it. I'm very unfamiliar with ZScript so I could be doing something horribly wrong. Summon "test1", "test2", or "test3" for zombiemen with green, blue, and black blood respectively. Removed, no longer necessary.
Last edited by RiboNucleic Asshat on Mon Jan 29, 2018 7:11 pm, edited 1 time in total.
User avatar
Cryomundus
Posts: 497
Joined: Thu Oct 31, 2013 12:33 pm

Re: Universal Gibs

Post by Cryomundus »

Well, I've found an annoying bug. If you're playing this with Legendoom, any Legendary monsters (the ones with a red glow) that are killed via gibbing will not drop a Legendary Weapon. You'll need to kill them normally to get a weapon drop.
Accensus
Posts: 2383
Joined: Thu Feb 11, 2016 9:59 am

Re: Universal Gibs

Post by Accensus »

- If enabled, blood now respects the bloodcolor property of the gibbed actor.
PermaNoob wrote:When no BloodColor is specified, e.g. every single vanilla actor, gibs are untouched (which is good) but splats are black (obviously less good). I can change black splats to red but this means actors with actually black blood will have red FX.
Forced red blood on black-blooded actors. Can't win 'em all.
PermaNoob wrote:I have absolutely no idea how to properly color the particles! I can't seem to set the particles' color to the StencilColor. I can set it to BloodColor, but since the BloodColor isn't passed down this does nothing for me.
StencilColor is actually fillcolor. This has been addressed and fixed.
PermaNoob wrote:Using the color unaltered makes it cartoonishly bright. This can easily be fixed so it's not a huge issue.
Annnnd fixed.

Overall jolly well done! Thank you.
Cryomundus wrote:Well, I've found an annoying bug. If you're playing this with Legendoom, any Legendary monsters (the ones with a red glow) that are killed via gibbing will not drop a Legendary Weapon. You'll need to kill them normally to get a weapon drop.
Damn, I doubt anything would come out of this due to how LegenDoom handles all the item drops. I'll investigate, but the estimated chances of nothing happening are about 99%.
User avatar
Lime
Posts: 128
Joined: Sat May 07, 2016 12:31 am
Location: Outside of an Abandoned Building

Re: Universal Gibs

Post by Lime »

Dang! This is satisfying Blood and Smooth Gibbing! i will enjoy this more. thanks.
- If enabled, blood now respects the bloodcolor property of the gibbed actor.
I tested it with Bloodfixer (which is fixing the blood color of the enemies), the experiment worked.
Accensus
Posts: 2383
Joined: Thu Feb 11, 2016 9:59 am

Re: Universal Gibs

Post by Accensus »

- Fixed issue where ACS scripts would not get called/finish upon destroying an actor, thus breaking mods and maps.

You rolled a 20! Managed to fix the LegenDoom issue. Wasn't as hacky as I expected it to be.
Accensus
Posts: 2383
Joined: Thu Feb 11, 2016 9:59 am

Re: Universal Gibs

Post by Accensus »

Quick update with a few things.

- Changed gib calculation formula.
- Setting threshold to 0 will always gib enemies with the maximum overkill level.
- Slightly reduced gib size. (Actually corpse. It's a typo.)
- Gibs no longer teleport.

EDIT: Critical issue with the LegenDoom fix. Game will crash if Archvile attempts to resurrect a gibbed enemy. Trying to fix this atm. Fixed.
User avatar
RiboNucleic Asshat
Posts: 501
Joined: Thu May 09, 2013 8:15 pm
Preferred Pronouns: No Preference
Graphics Processor: nVidia with Vulkan support
Location: Exactly where I am

Re: Universal Gibs

Post by RiboNucleic Asshat »

Sweet! This works wonderfully now. Ketchup is essentially 100% obsolete for me at last, thank god.
Lud wrote: StencilColor is actually fillcolor. This has been addressed and fixed.
Huh, I didn't know that. The wiki isn't too clear on how that works and I haven't even touched DECORATE let alone ZScript in a few years, so I got confused.

Return to “Graphic/Audio Patches”