CBLOOD Ultimate Edition!
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.
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.
-
- Posts: 866
- Joined: Wed Nov 08, 2017 4:23 pm
- Graphics Processor: nVidia with Vulkan support
- Location: Germany
Re: CBLOOD Ultimate Edition!
Is it due to the fuzz style being changeable mid-game or because the fuzz effect as a whole is animated?
-
-
- Posts: 17456
- Joined: Mon Oct 27, 2003 12:07 am
- Location: Kuala Lumpur, Malaysia
Re: CBLOOD Ultimate Edition!
Let me try to explain this.
- CBLOOD changes an actor's blood color at spawn (WorldThingSpawned event). And by "change", I really mean "copy". You cannot directly assign/overwrite an actor's blood color at runtime. It has something to do with complexities involving creating translations at runtime and then making them save game-compatible. Really technical stuff and I don't claim to fully understand the problem, but just know that there have been attempts to add "SetBloodColor" in the past but there are technical limitations that prevent this. So, as a workaround, instead a "CopyBloodColor" is possible - this requires another actor to already exist to copy the blood info from. This is the basis of how CBLOOD works. A temporary actor is created to copy the blood color from, that is then immediately destroyed. This all happens in 1 tick in WorldThingSpawned.
- Follow so far? We are only able to change the blood COLOR. Not the render style. Not the blood type. Not anything else. Just COLOR. Blood will still render as normal. It's just the colour that gets affected.
- To make Spectres spawn fuzzy blood, the most obvious solution is to change the actual blood actor that gets spawned when you hurt it. This can be done with the 'BloodType' property, which is an old feature that has existed even since the DECORATE days.
- Typically, you would probably want to make a new blood type, let's say, 'SpectreBlood', and set its render style to Fuzzy. You would then change the BloodType propetry of the Spectre to use SpectreBlood.
- But here's the problem! You cannot change an actor's BloodType at runtime. This is simply blocked by the engine.
- Again, CBLOOD works at runtime. It does this without actor replacement.
- If actor replacement was allowed, this would of course be a non-issue. You could just make a Specter replacement and assign it the new blood type. But thisn't how CBLOOD works and not its main point of advertisement.
- The whole point of CBLOOD is that it does its work without doing any actor replacement.
And this is why CBLOOD cannot make Spectres spawn fuzzy blood. It's simply not possible to change an actor's BloodType at runtime.
- CBLOOD changes an actor's blood color at spawn (WorldThingSpawned event). And by "change", I really mean "copy". You cannot directly assign/overwrite an actor's blood color at runtime. It has something to do with complexities involving creating translations at runtime and then making them save game-compatible. Really technical stuff and I don't claim to fully understand the problem, but just know that there have been attempts to add "SetBloodColor" in the past but there are technical limitations that prevent this. So, as a workaround, instead a "CopyBloodColor" is possible - this requires another actor to already exist to copy the blood info from. This is the basis of how CBLOOD works. A temporary actor is created to copy the blood color from, that is then immediately destroyed. This all happens in 1 tick in WorldThingSpawned.
- Follow so far? We are only able to change the blood COLOR. Not the render style. Not the blood type. Not anything else. Just COLOR. Blood will still render as normal. It's just the colour that gets affected.
- To make Spectres spawn fuzzy blood, the most obvious solution is to change the actual blood actor that gets spawned when you hurt it. This can be done with the 'BloodType' property, which is an old feature that has existed even since the DECORATE days.
- Typically, you would probably want to make a new blood type, let's say, 'SpectreBlood', and set its render style to Fuzzy. You would then change the BloodType propetry of the Spectre to use SpectreBlood.
- But here's the problem! You cannot change an actor's BloodType at runtime. This is simply blocked by the engine.
- Again, CBLOOD works at runtime. It does this without actor replacement.
- If actor replacement was allowed, this would of course be a non-issue. You could just make a Specter replacement and assign it the new blood type. But thisn't how CBLOOD works and not its main point of advertisement.
- The whole point of CBLOOD is that it does its work without doing any actor replacement.
And this is why CBLOOD cannot make Spectres spawn fuzzy blood. It's simply not possible to change an actor's BloodType at runtime.
-
- Posts: 2
- Joined: Mon Aug 24, 2020 5:36 pm
Re: CBLOOD Ultimate Edition!
Hey, I made some custom ones for the custom monsters in Eviternity that have different blood
For if anyone wants that
For if anyone wants that
You do not have the required permissions to view the files attached to this post.
-
-
- Posts: 17456
- Joined: Mon Oct 27, 2003 12:07 am
- Location: Kuala Lumpur, Malaysia
Re: CBLOOD Ultimate Edition!
Update 9th Feb 2022:
- Version bump to GZDoom 4.7.1
- Added Chex Quest support. You will need to use cblood.pk3 along with my other blood mods if you want them to work properly with Chex Quest.
- Added Eviternity monsters (thank you MischiefNight)
- Version bump to GZDoom 4.7.1
- Added Chex Quest support. You will need to use cblood.pk3 along with my other blood mods if you want them to work properly with Chex Quest.
- Added Eviternity monsters (thank you MischiefNight)
-
- Posts: 212
- Joined: Fri Aug 05, 2016 8:41 am
Re: CBLOOD Ultimate Edition!
I'm using this with nashgore, and for whatever reason, sometimes the hell knights/barons of hell bleed blue blood. I find that it happens most often after loading a saved game.
-
-
- Posts: 17456
- Joined: Mon Oct 27, 2003 12:07 am
- Location: Kuala Lumpur, Malaysia
Re: CBLOOD Ultimate Edition!
Do you have any other mods loaded?Pompous Seed wrote:I'm using this with nashgore, and for whatever reason, sometimes the hell knights/barons of hell bleed blue blood. I find that it happens most often after loading a saved game.
-
- Posts: 212
- Joined: Fri Aug 05, 2016 8:41 am
Re: CBLOOD Ultimate Edition!
Here's everything I'm using: https://www.mediafire.com/file/u29cmfhg ... s.zip/file
Just extract the archive.
Edit: also, I believe load order plays a factor as well. If loading CBLOOD first, then there doesn't seem to be any issues.
Edit Edit: scratch that last edit, it seems to occur regardless.
Just extract the archive.
Edit: also, I believe load order plays a factor as well. If loading CBLOOD first, then there doesn't seem to be any issues.
Edit Edit: scratch that last edit, it seems to occur regardless.
-
- Posts: 115
- Joined: Sat Sep 25, 2021 11:55 am
- Graphics Processor: ATI/AMD with Vulkan/Metal Support
Re: CBLOOD Ultimate Edition!
Is there a visualization tool that would help me determine which BloodColor values I should use to get the results I want? Trial-and-error with the hex values doesn't seem convenient, quick or appealing.
-
-
- Posts: 17456
- Joined: Mon Oct 27, 2003 12:07 am
- Location: Kuala Lumpur, Malaysia
-
- Posts: 115
- Joined: Sat Sep 25, 2021 11:55 am
- Graphics Processor: ATI/AMD with Vulkan/Metal Support
Re: CBLOOD Ultimate Edition!
My hero
-
- Posts: 415
- Joined: Mon Mar 09, 2020 5:38 am
- Graphics Processor: Not Listed
- Location: Germany
Re: CBLOOD Ultimate Edition!
Hey there . Awesome work like always.
Is there any chance you could implement a menu option to change the color in let's say 5 basic colors ? Or maybe even such a color wheel like in paint programs to choose freely ?
There are so many amazing universal mods out there .If that continues we someday have any game we want in doom .
-
- Posts: 63
- Joined: Thu Apr 22, 2021 2:42 pm
- Location: near Atlanta, GA
Re: CBLOOD Ultimate Edition!
If anyone is interested, here is my custom set of additions. This does the following in addition to CBlood's default changes...
- Gives pain elementals black blood
- Gives revenants "dark orange #4" blood (a nice gross color that resembles a cross between bone marrow and vomit)
- Copies the blood colors for everyone over to copies with the prefixes of "Smooth" and "New", which will allow them to be passed on to Smooth Doom monsters as well as any monsters added by a mod that names them "New" anything (the most common name used when making modded versions of monsters).
- Gives pain elementals black blood
- Gives revenants "dark orange #4" blood (a nice gross color that resembles a cross between bone marrow and vomit)
- Copies the blood colors for everyone over to copies with the prefixes of "Smooth" and "New", which will allow them to be passed on to Smooth Doom monsters as well as any monsters added by a mod that names them "New" anything (the most common name used when making modded versions of monsters).
You do not have the required permissions to view the files attached to this post.
-
- Posts: 118
- Joined: Sat Mar 27, 2021 3:21 pm
Re: CBLOOD Ultimate Edition!
since the thread has been bumped, a quick question: how can this be made compatible with custom palettes?
I was trying out this one https://www.doomworld.com/idgames/graphics/coldpal
And I noticed that blood for cacos and bruisers is not affected by it
After taking a look at CBlood's zscript code, I've realized that both greens and blues are hardcoded as RGB values
Is there a way in zscript to define colors using palette indexes?
I was trying out this one https://www.doomworld.com/idgames/graphics/coldpal
And I noticed that blood for cacos and bruisers is not affected by it
After taking a look at CBlood's zscript code, I've realized that both greens and blues are hardcoded as RGB values
Is there a way in zscript to define colors using palette indexes?
-
-
- Posts: 17456
- Joined: Mon Oct 27, 2003 12:07 am
- Location: Kuala Lumpur, Malaysia
Re: CBLOOD Ultimate Edition!
It's technically not possible: viewtopic.php?p=1182099#p1182099
-
- Posts: 118
- Joined: Sat Mar 27, 2021 3:21 pm
Re: CBLOOD Ultimate Edition!
understood
btw did you manage to release the custom sbar/hud mentioned in that thread?
btw did you manage to release the custom sbar/hud mentioned in that thread?