CBLOOD Ultimate Edition!

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.

Re: CBLOOD Ultimate Edition!

Postby StroggVorbis » Fri Nov 27, 2020 11:22 am

Is it due to the fuzz style being changeable mid-game or because the fuzz effect as a whole is animated?
User avatar
Donut eat me pls!
Joined: 08 Nov 2017
Location: Germany
Discord: StroggVorbis#2466
Operating System: Windows 10/8.1/8/201x 64-bit
OS Test Version: No (Using Stable Public Version)
Graphics Processor: nVidia with Vulkan support

Re: CBLOOD Ultimate Edition!

Postby Nash » Fri Nov 27, 2020 11:40 am

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.
User avatar
Joined: 27 Oct 2003
Location: Kuala Lumpur, Malaysia
Github ID: nashmuhandes

Re: CBLOOD Ultimate Edition!

Postby MischiefNight » Sat Jan 02, 2021 1:08 pm

Hey, I made some custom ones for the custom monsters in Eviternity that have different blood
For if anyone wants that
You do not have the required permissions to view the files attached to this post.
Joined: 24 Aug 2020


Return to Graphic/Audio Patches

Who is online

Users browsing this forum: No registered users and 4 guests