View previous topic :: View next topic |
Author |
Message |
Aeyesx Dominating!
Joined: 13 Oct 2012
|
Posted: Sat Apr 05, 2014 12:51 pm Post subject: [DeHackEd] BloodColor flag |
|
|
Hello everyone,
I would like to reguest this tiny thingy, it is just a dehacked flag
bloodcolor = 255 255 255
(in RGB values) All it does is color translation of blood into others...
Feature originates from Eternity engine but its in zdoom either
zdoom wiki definition :
Quote: | BloodColor color
Sets the actor's blood color. There can be up to 256 different custom blood colors at the same time. color is either specified as 3 integers, a string "rr gg bb" or a string containing one of the special color names |
Zdaemon is inside zdaemon.wad (DECALDEF) already prepared for that, since it's textures are ready for translations,
Quote: | /***** Blood Decals ********************************************************/
/*
* Blood splats just stick to the walls.
* Blood smears crawl down walls a bit like in Blood.
*
* These do not need generators; the engine will create them automatically
* when something bleeds. In the future, the shade color will be ignored,
* and the actor's blood color will be used instead.
*/ |
Examples : Caco bleeds blue blood in it's sprites, HellKnight green yet doom engine didn't allowed that in case of blood itself,
Thankie!
Last edited by Aeyesx on Tue Nov 04, 2014 11:37 pm; edited 5 times in total |
|
Back to top |
|
|
TheCupboard Generic Title
Joined: 25 Feb 2007 Location: USA
|
Posted: Sat Apr 05, 2014 2:49 pm Post subject: |
|
|
Magnificent idea. |
|
Back to top |
|
|
Body-Guard Unstoppable!
Joined: 08 Jan 2006 Location: Hungary
|
Posted: Mon Jan 05, 2015 12:30 pm Post subject: |
|
|
If you are still into this, a pain-in-the-ass workaround would be to replace the blood sprites to be invisible, then spawn a new blood actor in the monster's pain frame with ACS (CPA_ExecuteAlways). With ACS you can give TID to spawned blood actors, then use CreateTranslation/Thing_SetTranslation to recolor them.
This won't give you the same effect, especially that you cannot tell how many blood actors you need to spawn (eg. hit by a shotgun or only a pistol??). And not to mention that a monster does not necessarily always enter its pain state (depending on pain chance). Currently this is the best solution without implementing the feature request. |
|
Back to top |
|
|
Aeyesx Dominating!
Joined: 13 Oct 2012
|
Posted: Mon Jan 05, 2015 8:40 pm Post subject: |
|
|
Thanks for tip, just "CreateTranslation/Thing_SetTranslation". I think, I heard these doesn't work online, but I think that it doesn't worth it even as some "temporary" solution. But I though about heretic and hexen blood (however its dirty hack either xD) |
|
Back to top |
|
|
Sr69Mm-jC Unstoppable!
Joined: 21 Jul 2011
|
Posted: Tue Jan 06, 2015 3:17 am Post subject: |
|
|
Aeyesx wrote: | Thanks for tip, just "CreateTranslation/Thing_SetTranslation". I think, I heard these doesn't work online |
You heard wrong. They do. |
|
Back to top |
|
|
Aeyesx Dominating!
Joined: 13 Oct 2012
|
Posted: Thu Oct 22, 2015 6:18 am Post subject: |
|
|
I got functional idea (maybie)-
Imagine that ill shoot cacodemon,
Caco spawns blood particles,
Now we make the blood particle to call ACS to track down who spawned it
(this is the point, will it work? is it possible?)
No idea i do not own ACS as much you do guys,
So if "caco" then we can apply color translation or just spawn another blood on proper places.
# When it comes on possible engine support
Instead of RGB values we could just use ZTRANS lump idea, or just make
some translation directly in DEH, (like ACS does or TRANSLATE1 internally does)
like:
10:15=20:25 |
|
Back to top |
|
|
Body-Guard Unstoppable!
Joined: 08 Jan 2006 Location: Hungary
|
Posted: Thu Oct 22, 2015 8:20 am Post subject: |
|
|
If blood projectile behaves the same way as for example a common fireball does (eg. its target field points to the actor who fired it) then it might work. You would still need to tag each monster with different blood color though, because recent changes allows you to manipulate the pointers through TIDs. |
|
Back to top |
|
|
|