View Issue Details

IDProjectCategoryView StatusLast Update
0003386The Dark ModTexturespublic13.05.2013 20:57
ReporterSpringheel Assigned Tograyman  
PrioritynormalSeveritynormalReproducibilityhave not tried
Status resolvedResolutionfixed 
Product VersionTDM 2.00 
Target VersionTDM 2.00Fixed in VersionTDM 2.00 
Summary0003386: Blood decals fading away
DescriptionBlood decals are disappearing after 10 seconds. That shouldn't be happening, or AI will never find them.
TagsNo tags attached.

Activities

grayman

grayman

29.04.2013 03:28

viewer   ~0005338

There are two types of blood decals.

One is what we get when an AI dies through some trauma. That decal is a blood marker, which provides visual stims that other AI can see. It stays around until it's washed away by a water arrow.

The second type is what we get when an AI is hurt, but not killed. This type of decal is like all other temporary decals (i.e. explosion); it fades away after 10 seconds. It has no blood marker associated with it. It doesn't give off visual stims.

My guess is that this issue's bloodstain is of the second type.
Springheel

Springheel

30.04.2013 00:59

administrator   ~0005348

Ah...the problem might be that arrows are not causing the first type of blood decal, only the second. When I kill a character with an arrow, and he's near a wall, a blood decal appears on the wall but it fades away. If he's not near a wall I often can't find the decal at all.
tels

tels

12.05.2013 11:31

reporter   ~0005415

The current "can be washed away" decals are of the type "disappear after X seconds", because that was the only type of decals D3 supported.

Greebo hacked it so that these decals are "refreshed" every second, until you wash them away with an water stim.

It might be better, now that we have the source, to fix this to have decals that can stay infinitely long but simply react to water stims.

That way we can avoid the entire "fade and refresh" work-around. It would also enable these decals for usage by mappers - right now if placed, such an decal won't be visible in the map, because it disappears after 10 seconds, confusing mappers all the time.

Than we could also get away with the distinction between these two decal types. And it would fix this bug as a side-effect, too.

The "disappear after 10 seconds" type of decals where a cheap way to not suffer from performance drag in long-running maps in multiplayer, but they are neither realistic, nor have a place in a TDM setting. And modern machines (and an engine) should not have a problem with even 100000 decals.
Springheel

Springheel

12.05.2013 20:23

administrator   ~0005429

Tried adding the following sequence to arrows, but the blood decals they drop still fade away.

"mtr_killed_splat1" "textures/darkmod/decals/blood/blood01"

Not sure exactly what it is that calls a blood marker rather than a normal decal.
grayman

grayman

12.05.2013 22:39

viewer   ~0005430

Death plants a blood marker. Nothing else.
Springheel

Springheel

13.05.2013 00:30

administrator   ~0005432

Last edited: 13.05.2013 00:34

I've been killing AI with arrows for a while now, and I can't get any blood markers to appear on the ground. I can see them if I shoot a leg...when you reduced the distance blood decals would go, is the distance still enough for a decal to hit the ground from a headshot?

One of the main downsides to sniping relaxed AI in the head is supposed to be leaving blood on the ground, but at the moment that doesn't seem to be happening.

I managed to kill an AI with a hit to the leg, which shot blood on the wall, but that decal faded.

grayman

grayman

13.05.2013 00:58

viewer   ~0005433

Last edited: 13.05.2013 01:02

It's possible that the headshot is high enough off the floor that the code that looks for the floor doesn't look far enough down.

Did blood appear on the floor for 1.08 headshots?

Edit: I checked the bloodMarker code and it only looks down 60, which probably isn't far enough for a headshot. I'll try increasing it to 80 and see what happens. I didn't reduce the distance, so I expect 1.08 headshots didn't produce blood on the floor either.

grayman

grayman

13.05.2013 04:43

viewer   ~0005437

Two things needed fixing to let blood markers appear on the floor:

1. The code that traces from the wound down to the floor to find where to place the blood marker was only looking down 60 units. I bumped it to 100, which should cover larger AI.

2. The damage def for arrows didn’t include any information about leaving blood markers. It needed “mtr_killed_splatN” definitions, same as the damage def for the sword.

These don’t fix the original complaint, that some blood stays and alerts AIs, and some blood fades after 10s. This is discussed above.

Rev. 5763:

AI.cpp

Rev. 13465:

tdm_weapon_arrow.def
tdm_game01.pk4
Springheel

Springheel

13.05.2013 15:19

administrator   ~0005446

" The damage def for arrows didn’t include any information about leaving blood markers. It needed “mtr_killed_splatN” definitions, same as the damage def for the sword."

I added them to the projectile def, which I guess was the wrong place. Arrows didn't create any blood at ALL in 1.08, so this is all new.
grayman

grayman

13.05.2013 15:42

viewer   ~0005447

Yeah, those definitions are a bit messed up. The editor comment says they should live on the entity getting killed, but the code looks for them inside the damage def. I'd prefer they be on the entity, because then you could provide different types of decals depending on what's getting killed. (i.e. not all blood is red)
Springheel

Springheel

13.05.2013 20:57

administrator   ~0005450

Cool; arrow blood now staying around indefinitely.

Issue History

Date Modified Username Field Change
26.04.2013 01:09 Springheel New Issue
29.04.2013 03:28 grayman Note Added: 0005338
30.04.2013 00:59 Springheel Note Added: 0005348
12.05.2013 11:31 tels Note Added: 0005415
12.05.2013 20:23 Springheel Note Added: 0005429
12.05.2013 22:39 grayman Note Added: 0005430
13.05.2013 00:30 Springheel Note Added: 0005432
13.05.2013 00:34 Springheel Note Edited: 0005432
13.05.2013 00:58 grayman Note Added: 0005433
13.05.2013 01:02 grayman Note Edited: 0005433
13.05.2013 04:33 grayman Assigned To => grayman
13.05.2013 04:33 grayman Status new => assigned
13.05.2013 04:43 grayman Note Added: 0005437
13.05.2013 15:19 Springheel Note Added: 0005446
13.05.2013 15:42 grayman Note Added: 0005447
13.05.2013 20:57 Springheel Note Added: 0005450
13.05.2013 20:57 Springheel Status assigned => resolved
13.05.2013 20:57 Springheel Fixed in Version => TDM 2.00
13.05.2013 20:57 Springheel Resolution open => fixed