[FINAL] 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 YOUR 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.

[FINAL] Universal Gibs

Postby Lud » Sun Jan 28, 2018 7:39 am

Seeing as how there aren't that many gib mods, I figured something could be done about it.

---DOWNLOADS---
Stable [Last update: 29/5/2018] (GZDoom 3.3.0 or above required.)
NOTE: To load the mod after downloading, add the .zip file to your load order. No need to unpack.

But to give you a quick rundown of why this would interest you:
  • It's a bit less resource-intensive than Ketchup. Mostly because it doesn't spam actors and models. Still, it may lag.
  • Since it doesn't spawn blood actors, crushers don't halt the map to a freeze.
  • If you like the gibbing in Quake 3 and/or Blood 2, this definitely comes close to those. At the very least to the latter.
  • It's highly customizable. Trail thickness, explosion velocity, toggling of floor decals, you name it; it can be adjusted.
  • It uses particles, so it's entirely possible to have that blocky blood.
  • It's universal.

Screenshots.

Spoiler: Videos. Caution: may contain outdated material!


Spoiler: F.A.Q


Spoiler: Known Issues
Last edited by Lud on Tue May 29, 2018 12:13 pm, edited 22 times in total.
Lud
 
Joined: 11 Feb 2016


Re: Universal Gibs

Postby SanyaWaffles » Sun Jan 28, 2018 12:18 pm

Finally you can have ludicrous gibs in any TC. I'll have to check this out.
User avatar
SanyaWaffles
Ice Bear Charges Extra
 
Joined: 25 Apr 2013
Location: Eastern Ohio

Re: Universal Gibs

Postby Lud » Sun Jan 28, 2018 12:50 pm

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.
Lud
 
Joined: 11 Feb 2016

Re: Universal Gibs

Postby PermaNoob » Sun Jan 28, 2018 4:50 pm

From looking at the code, I'm assuming that this does not respect different blood colors?
User avatar
PermaNoob
Lurking.
 
Joined: 09 May 2013
Location: Exactly where I am

Re: Universal Gibs

Postby Lud » Sun Jan 28, 2018 4:53 pm

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.
Lud
 
Joined: 11 Feb 2016

Re: Universal Gibs

Postby PermaNoob » Sun Jan 28, 2018 5:16 pm

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?
User avatar
PermaNoob
Lurking.
 
Joined: 09 May 2013
Location: Exactly where I am

Re: Universal Gibs

Postby Lud » Sun Jan 28, 2018 5:19 pm

None that I know of.
Lud
 
Joined: 11 Feb 2016

Re: Universal Gibs

Postby PermaNoob » Sun Jan 28, 2018 10:39 pm

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 PermaNoob on Mon Jan 29, 2018 8:11 pm, edited 1 time in total.
User avatar
PermaNoob
Lurking.
 
Joined: 09 May 2013
Location: Exactly where I am

Re: Universal Gibs

Postby Cryomundus » Mon Jan 29, 2018 12:11 am

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.
User avatar
Cryomundus
 
Joined: 31 Oct 2013

Re: Universal Gibs

Postby Lud » Mon Jan 29, 2018 4:12 am

- 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%.
Lud
 
Joined: 11 Feb 2016

Re: Universal Gibs

Postby Lime » Mon Jan 29, 2018 5:11 am

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.
User avatar
Lime
I dunno about the word "killing".
 
Joined: 07 May 2016
Location: Somewhere in Page 1 of the History Book.

Re: Universal Gibs

Postby Lud » Mon Jan 29, 2018 6:09 am

- 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.
Lud
 
Joined: 11 Feb 2016

Re: Universal Gibs

Postby Lud » Mon Jan 29, 2018 8:52 am

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.
Lud
 
Joined: 11 Feb 2016

Re: Universal Gibs

Postby PermaNoob » Mon Jan 29, 2018 8:10 pm

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.
User avatar
PermaNoob
Lurking.
 
Joined: 09 May 2013
Location: Exactly where I am

Next

Return to Graphic/Audio Patches

Who is online

Users browsing this forum: No registered users and 1 guest