View Issue Details

IDProjectCategoryView StatusLast Update
0001422The Dark ModPhysicspublic03.06.2011 03:59
ReporterIshtvan Assigned Tograyman  
PrioritylowSeverityminorReproducibilityalways
Status closedResolutionfixed 
Product VersionTDM 1.02 
Target VersionTDM 1.03Fixed in VersionTDM 1.03 
Summary0001422: Arrows can stick in arrows sticking in AI
DescriptionIf you fire an arrow into an AI such that it gets added to the AF, other arrows can then get stuck to that arrow (but it doesn't go beyond that). Probably because I'm setting CONTENTS_CORPSE on stuff that gets added to the AF.
TagsNo tags attached.

Relationships

related to 0001421 closedgrayman Arrows can stick in broken arrows 

Activities

grayman

grayman

12.10.2010 18:53

administrator   ~0003246

Last edited: 12.10.2010 18:54

View 2 revisions

If Arnold's corpse has an arrow sticking out of it, the arrow is considered part of Arnold as far as collision detection is concerned. An incoming arrow that hits Arnold's arrow is told that it hit Arnold, and is stopped in midair. Arrow 2 gets bound to Arnold, but not at a joint (because Arrow 1 has no joints?). So if you drag Arnold around, the 2nd arrow follows, but no longer looks like it's sticking into arrow 1. To make matters worse, you can retrieve Arrow 1 from Arnold's corpse, leaving Arrow 2 hanging in midair.

The fix is probably going to involve Arrow 2 NOT being told that it hit Arnold when it hits Arrow 1. Not sure how to do that yet. If the collision can be ignored, Arrow 2 will continue on to hit something else. If the collision can't be ignored, then Plan B is to make Arrow 2 disappear w/o sticking it into Arrow 1.

grayman

grayman

21.10.2010 01:37

administrator   ~0003252

Last edited: 14.11.2010 23:49

View 2 revisions

Source changes:

1. In tdm_models_weapons.mtr, changed 'wood' to 'surftype15/description "hardwood"' for both models/weapons/broadhead and models/weapons/arrow_gen so arrows hitting arrow flinders would break rather than stick.
2. Changed source code in DarkModGlobals.cpp and game_local.cpp to support the new type as a "hard" type.

Testing:

1. Fired arrows into a corpse and verified that arrows fired at those arrows broke apart with a wood sound.
2. Fired arrows into a moveable and verified that the arrows were treated as blocking when the moveable moved (i.e. a door and a tripod crate).
3. Verified that arrows stuck in wood could be retrieved.
4. Fired arrows such that they might block a moveable (door) and verified that they did not.

Anomaly:

The arrow that kills an AI and remains embedded in the AI's corpse will not stop (or break) an incoming arrow. The incoming arrow continues on.
So arrows hitting the killing arrow (which has become part of the corpse) behave differently than subsequent arrows fired into the corpse.
I think we can live with this.

File changes:

rev 4261:

DarkModGlobals.cpp
game_local.cpp

rev 11146:

materials/tdm_models_weapons.mtr

Issue History

Date Modified Username Field Change
14.10.2008 08:34 Ishtvan New Issue
23.03.2010 14:44 tels Relationship added related to 0001421
12.10.2010 18:53 grayman Note Added: 0003246
12.10.2010 18:54 grayman Note Edited: 0003246 View Revisions
20.10.2010 20:17 grayman Assigned To => grayman
20.10.2010 20:17 grayman Status new => assigned
20.10.2010 20:17 grayman Product Version => TDM 1.02
20.10.2010 20:17 grayman Target Version => TDM 1.03
21.10.2010 01:37 grayman Note Added: 0003252
21.10.2010 01:37 grayman Status assigned => resolved
21.10.2010 01:37 grayman Resolution open => fixed
21.10.2010 01:37 grayman Fixed in Version => TDM 1.03
14.11.2010 23:49 grayman Note Edited: 0003252 View Revisions
03.06.2011 03:59 greebo Status resolved => closed