Closed SoDOOManiac closed 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.
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.
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?
I don't think there are any more PWADs with vanilla Doom monsters modified from other vanilla Doom monsters with different blood color.
These directly come to mind: https://doomwiki.org/wiki/Deus_Vult_II http://doom.wikia.com/wiki/Scythe_2
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 :)
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. :/
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?
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).
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.
I don't think I am going to add specific support for any non-ID PWADs.
I found a guy at DW who fixed the Demon Lord's corpse and uploaded the result https://www.moddb.com/mods/strain/addons/demon-lord-with-red-blood-on-the-fallingdead-body
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: 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.