fabiangreffrath / crispy-doom

Crispy Doom is a limit-removing enhanced-resolution Doom source port based on Chocolate Doom.
https://fabiangreffrath.github.io/crispy-homepage
GNU General Public License v2.0
800 stars 130 forks source link

Apply green blood to Mancubus if Strain_Jive.wad is loaded #289

Closed SoDOOManiac closed 6 years ago

SoDOOManiac commented 6 years ago

In PWAD STRAIN http://doom.wikia.com/wiki/STRAIN strainfix.zip the Mancubus is DeHackEd-modified into a Demon Lord, a white Baron of Hell that fires 5 fireballs at a time in a spread pattern and shows the Hell Nobles' typical green entrails upon death but bleeds red as he is a modded Mancubus: doom0020 doom0027 That monster modification is contained in Strain_Jive.wad loaded with start crispy-doom -merge strainfix.wad strain_jive.wad Please make that Demon Lord bleed green when colored blood is enabled, as colored blood makes sense in STRAIN where Cacodemons and all Hell Nobles are present. I hope it's possible to enforce the condition of the WAD with a certain name having been loaded on the colored blood behavior.

fabiangreffrath commented 6 years ago

Consequently, this would mean that I would have to add explicit support all the PWADs that add or replace one or more sprites for which a different blood color appears more suitable. I hope you understand that this is not an approach that I would like to follow.

There is a distinction between the Doom IWADs and the HACX IWAD in the code determining blood color, but that's really it. If you find that the blood coloring doesn't fit the PWAD you are playing with, there is still the switch to turn it off entirely.

SoDOOManiac commented 6 years ago

this would mean that I would have to add explicit support all the PWADs that add or replace one or more sprites for which a different blood color appears more suitable.

No, you wouldn't have to. STRAIN is the only exception. For example, in Batman Doom I do turn off colored blood entirely, yes, because it has no vanilla Doom monsters with colored blood.

fabiangreffrath commented 6 years ago

Do you have an idea how many PWADs are out there which modify a monster sprite in one way or another? Why should I make an exception for Strain but not for all the others?

SoDOOManiac commented 6 years ago

I don't think there are any more PWADs with vanilla Doom monsters modified from other vanilla Doom monsters with different blood color.

fabiangreffrath commented 6 years ago

These directly come to mind: https://doomwiki.org/wiki/Deus_Vult_II http://doom.wikia.com/wiki/Scythe_2

SoDOOManiac commented 6 years ago

Afrit from these two WADs doesn't show green entrails (but burns away), that's why I'm OK with his blood being red, so please do that little exclusion for Strain :)

fabiangreffrath commented 6 years ago

The problem is that I will have to carry a global variable from the WAD loading to the sprite rendering code to check if the mancubus sprite is loaded from a PWAD called STRAIN.WAD and check this variable each tic for each rendered blood sprite. And once I introduce this exception, I will open the door for adding explicit support for each and every PWAD modification that people can imagine. :/

SoDOOManiac commented 6 years ago

The problem is that I will have to carry a global variable from the WAD loading to the sprite rendering code to check if the mancubus sprite is loaded from a PWAD called STRAIN.WAD and check this variable each tic for each rendered blood sprite

Do you mean this will impact performance?

SoDOOManiac commented 6 years ago

I also think no one will bother you about coloring blood in any other WADs. P.S. THe PWAD may be calles Strain.wad or Strainfix.wad (version with fixes for bugs when playing in certain sourceports).

fabiangreffrath commented 6 years ago

Do you mean this will impact performance?

The performace impact will be negligible. It's that fact that this is an ugly hack that needs to get plunged through the wole code base that I don't like.

If you have a look at the code, you will see that I would have to treat STRAIN just like another gamemission - which it just isn't: https://github.com/fabiangreffrath/crispy-doom/blob/master/src/doom/r_things.c#L747

I also think no one will bother you about coloring blood in any other WADs.

That's the very point: I don't want to open the can of worms and add support for specific PWADs. There are billions of them and they all contain more or less random added or modified content.

fabiangreffrath commented 6 years ago

I don't think I am going to add specific support for any non-ID PWADs.

SoDOOManiac commented 5 years ago

I found a guy at DW who fixed the Demon Lord's corpse and uploaded the result REDLORD https://www.moddb.com/mods/strain/addons/demon-lord-with-red-blood-on-the-fallingdead-body