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.
Post Reply
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
Contact:

Re: Universal Gibs

Post by RiboNucleic Asshat »

Ok, so remember when I suggested multiplying the components of the blood color by .5 to darken them instead of the current method, but that didn't work? Well, it's turns out I'm a big stupid doodoo head and forgot that integer division is a thing.

I didn't care much about the shortcomings of the mask method until I saw that this lovely shade of purple was hideously marred by it;
To get proper blood darkening just change the line to this: (or a more efficient version, I'm not an expert)

Code: Select all

Color bloodCol = color(e.Thing.bloodcolor.r / 2, e.Thing.bloodcolor.g / 2, e.Thing.bloodcolor.b / 2);
That fixes all issues, and should fix the problem of very dark colors becoming black as well.

I dunno why I didn't suggest it like this in the first place, I guess me am verily smart and enjoy multiplication instead of division. Derp.

By the way, shooting colored corpses to regib them produces red blood; If that's bothersome you should add the +NOBLOOD flag to them.
Accensus
Posts: 2383
Joined: Thu Feb 11, 2016 9:59 am

Re: Universal Gibs

Post by Accensus »

Thanks for the support, everybody!

@PermaNoob: I'll take a look at the blood color thingy some time later today. Implemented locally. Will push when I've tended to the other two issues.
@Spaceman333: Performance is indeed a concern. I'll see what I can do.
@Beed28: I'll have to extensively test this, but no promises. Thanks for the code, nevertheless.
PermaNoob wrote:By the way, shooting colored corpses to regib them produces red blood; If that's bothersome you should add the +NOBLOOD flag to them.
JFC I thought I fixed that. Turns out to be a different issue.
Accensus
Posts: 2383
Joined: Thu Feb 11, 2016 9:59 am

Re: Universal Gibs

Post by Accensus »

- Improved the blood color stuff. Thanks to PermaNoob for all the support and code given.
- Non-gibbed corpses can now be gibbed. I am not expanding upon this any further. It's already hacky enough that you have to gib all corpses on MAP07, for example, in order to have the specials work! This could probably be fixed, but not without introducing other issues that are even more of a pain to fix. This feature is final. Thanks to Beed28 for giving me some code which gave me ideas on how to make it work.
- Added particle density slider for the gibs. Does not apply to wall slide particles.

Bugs are to be expected. I hope I can call the mod feature-complete, because Jesus Christ at this point I feel like it's held together by duct tape with all the fuckery going on. Things tend to break in the worst possible way.
Someone64
Posts: 416
Joined: Tue Feb 23, 2016 11:59 am

Re: Universal Gibs

Post by Someone64 »

Playing with Colourful Hell and Heretical Doom, when you gib corpses they drop what they drop AGAIN as if you had killed them while they're alive.
Accensus
Posts: 2383
Joined: Thu Feb 11, 2016 9:59 am

Re: Universal Gibs

Post by Accensus »

God dang it. I'll go look, but this might call for hax.

EDIT: I've suggested something here. For now the bug will stay. If that feature makes it in, I will wait until a stable version is released and patch it. I absolutely refuse to use hacks unless really, really necessary, because each and every hack makes the code much more difficult to A) read and B) improve upon.
User avatar
Beed28
Posts: 598
Joined: Sun Feb 24, 2013 4:07 pm
Location: United Kingdom

Re: Universal Gibs

Post by Beed28 »

Found a major bug; if sv_killbossmonst and shootable corpses are enabled, then the game will completely freeze up once the Icon of Sin dies and at least one of its monsters is still alive. I can't seem to reproduce this with the kill monsters cheat, though.
Accensus
Posts: 2383
Joined: Thu Feb 11, 2016 9:59 am

Re: Universal Gibs

Post by Accensus »

I'll take a look at it in a few hours.
User avatar
Spaceman333
Posts: 622
Joined: Thu Oct 13, 2016 8:40 pm

Re: Universal Gibs

Post by Spaceman333 »

Lud wrote:Bugs are to be expected. I hope I can call the mod feature-complete, because Jesus Christ at this point I feel like it's held together by duct tape with all the fuckery going on.
lol that made me giggle. I am still happy that the mod exists and that by some miracle the gibbable corpses were actually added. Thats magic to me.
Beed28 wrote:Found a major bug; if sv_killbossmonst and shootable corpses are enabled, then the game will completely freeze up once the Icon of Sin dies and at least one of its monsters is still alive. I can't seem to reproduce this with the kill monsters cheat, though.
If all methods fails to maintain shootable corpses in levels with Icon of Sin, then an idea for a last resort solution is for the script to detect the presense of Icon of Sin in a level and temporarily disable shootable corpses for the duration of that level or something like that.
Accensus
Posts: 2383
Joined: Thu Feb 11, 2016 9:59 am

Re: Universal Gibs

Post by Accensus »

- Disabled gibbable corpses if Romero's head is present on the map.

May be kind of an overkill solution, but it's safe. I hope.
Accensus
Posts: 2383
Joined: Thu Feb 11, 2016 9:59 am

Re: Universal Gibs

Post by Accensus »

It's unfortunate to say that my GPU has left this world. RIP GTS 450, ????-2018. Due to having to run on an ATI HD 2100 for a few days, I won't be able to perform testing on the mod. Any fixes would be purely blind. Normally I'd install AMD drivers and try -glversion 2.0, but I'm not installing AMD software for literally 2 days.
User avatar
Spaceman333
Posts: 622
Joined: Thu Oct 13, 2016 8:40 pm

Re: Universal Gibs

Post by Spaceman333 »

Lud wrote:It's unfortunate to say that my GPU has left this world. RIP GTS 450, ????-2018. Due to having to run on an ATI HD 2100 for a few days, I won't be able to perform testing on the mod. Any fixes would be purely blind. Normally I'd install AMD drivers and try -glversion 2.0, but I'm not installing AMD software for literally 2 days.
I've been playing for some hours today and the new additions are super, but there still seems to be a null pointer error that crashes the game somewhere in there. I can't pinpoint the exact cause, but it certainly happens when a monster dies. The strange thing is that reloading the save and using "kill monsters" to kill it does not cause a crash.

It might be an issue with a monster mod that I'm using, which features some monsters that can:
  • Resurrect themselves
  • Leave an unkillable ghost that resurrects any ungibbed monster
  • A monster that spawns shadow clones
  • A monster that dublicates itself
  • A monster that shatters into ice when killed
  • A monster that overrides gibbing entirely and dies in its own way, leaving a corpse, even though everyone else will always gib
  • A monster that has a second phase after its "killed" once
  • A monster with an elaborate death animation with tons of effects, spawns fire everywhere or drops bunch of items/loot
The crash is uncommon. I can go through multiple levels without any crashes, then suddenly on some fights it just keeps happening at one spot, but I can't tell who or where, since it often happens in chaotic moments already late into the level when over 100 monsters are already dead, usually in slaughter situations, but not always.

These are my settings:

Code: Select all

ug_gib_mode=0
ug_scale_gibs=false
ug_advphysics=false
ug_corpseshoot=false
ug_threshold=0
ug_lifetime=50
ug_bloodfade=true
ug_corpsefade=false
ug_overkill=2
ug_gibs_velocity_z=1.203125
ug_gibs_velocity_xy=1.203125
ug_gibs_floor_alpha=1
ug_gibs_trail_density=4
ug_gibs_trail_size=12
ug_bloodcolor=true
ug_gibs_wallslide=true
ug_gibs_trails=true
ug_gibs_floor=true
ug_gibs=true
Accensus
Posts: 2383
Joined: Thu Feb 11, 2016 9:59 am

Re: Universal Gibs

Post by Accensus »

Usually when it happens, and if it's a null pointer, the console will print out an error with red letters. I need all the lines under "VM execution has aborted". Like, all of them. Take a screenshot with your phone, or switch to windowed mode (Alt + Enter, try both alts in case it doesn't work) and use printscreen. I need to know where the error happens, and that's listed in the console.
User avatar
Beed28
Posts: 598
Joined: Sun Feb 24, 2013 4:07 pm
Location: United Kingdom

Re: Universal Gibs

Post by Beed28 »

There might be quite a big problem with the way you've implemented shootable corpses. Between the item drops, the special actions, and the BossBrain freeze, this all comes to a head when it comes to bosses that have multiple forms; if you gib the corpse of the first form (if they had one), it spawns a duplicate second form.

Case in point; D'Sparil in Heretic:


The code I posted doesn't have these problems, but does have the caveat of spawning extra 'invisible' shootable actors at the monster corpses that then destroys them. Guess we'll have to see whose method's cons outweigh the other...
Accensus
Posts: 2383
Joined: Thu Feb 11, 2016 9:59 am

Re: Universal Gibs

Post by Accensus »

I didn't use your implementation due to issues with the color. BloodColor is not transferred, but merely applied as a translation, so the longer you chain actors the worse it gets. Hm, looking back at your example it does seem to do stuff correctly with the colors. I got another idea while looking at the code, but can't test.

For now I advise not using shootable corpses until I get my PC back in a modding state. That should be another day or two.
User avatar
Spaceman333
Posts: 622
Joined: Thu Oct 13, 2016 8:40 pm

Re: Universal Gibs

Post by Spaceman333 »

Lud wrote:Usually when it happens, and if it's a null pointer, the console will print out an error with red letters. I need all the lines under "VM execution has aborted". Like, all of them. Take a screenshot with your phone, or switch to windowed mode (Alt + Enter, try both alts in case it doesn't work) and use printscreen. I need to know where the error happens, and that's listed in the console.
Hmm, maybe its not a null pointer then. This is what it looks like on my end:

Image

Apart from the "Access Violation" summary it gives, there isn't any other useful information. The details just list a bunch of hexadecimal gibberish, while the console log doesn't spew out any red lettered errors.

The situation where the crash occurs is a closed combat arena with about 60 monsters spawning in through teleporters, where there is a mix of everything from imps to cacos to revenants and cyberdemons. Its a messy situation where dudes are exploding left and right. That said, I had the same access violation previously happen when blasting a zombieman on his lonesome on another map, so I think there is a general issue that happens once a sizable monsters have already been killed so far, since it has never happened at the beginning of a level.

This might go back to the thought I had when I started using this mod at first; I had been playing the game with no crashes at all with the same set up of mods on GZDoom 3.1.0, and I simply upgraded GZDoom to 3.2.5 and added the Universal Gibs to the list of mods. 95% of the time, I can play fine and no crashes occur, but sometimes I get this "access violation" crash once a while. It may be possible that the old mod list I'm using is not happy with the latest version of GZDoom, bringing up errors that otherwise were absent before the upgrade or maybe there is a wierd interaction between the wacky monster replacer mod + Universal gibs that triggers the crash.

Its annoying, but this crash is too vague in information. The cause could be anywhere. I'll keep trying to play with Universal Gibs with other mods and see if the crash happens elsewhere.

Also RIP your to your GPU, it was a fine peace of hardware while it lasted. ;_;7
Post Reply

Return to “Graphic/Audio Patches”