View Issue Details

IDProjectCategoryView StatusLast Update
0002744The Dark ModCodingpublic06.05.2011 05:07
Reportergreebo Assigned Togreebo  
PrioritynormalSeveritynormalReproducibilityalways
Status resolvedResolutionfixed 
Product VersionTDM 1.05 
Target VersionTDM 1.06Fixed in VersionTDM 1.06 
Summary0002744: Still getting "Cannot find attachment X to destroy" error
DescriptionI'm reopening this, as I'm seeing the same behaviour with a new animation that I added. I added "frame 1 object_call syncLegsWithTorso " to it, but it still happens.

The animation is idle_eat_carrot. When I run it in a small testmap, there doesn't seem to be any problems. However, when I run it in my mission, I consistently see at least one "cannot find attachment X to destroy" error after playing around for a minute or two.

Oddly, seeing that error does not guarantee that the AI will have a carrot stuck in his hand when I get to him, as I would expect. If the code isn't destroying the carrot, it should still be there, and sometimes it's not. Don't know what to make of that.

In fact, I would say MOST of the time the AI doesn't have a carrot stuck to him after seeing that error...I was going to ignore it, actually, but last night I did see him walking around with a carrot.
Steps To Reproducetest/interleave_anim.map
TagsNo tags attached.

Relationships

related to 0002557 closedgreebo attach/destroy frame commands sometimes overlap or cause crash 

Activities

greebo

greebo

04.05.2011 12:12

administrator   ~0003831

Fixed in source rev. 4832.
grayman

grayman

06.05.2011 04:21

viewer   ~0003832

Last edited: 06.05.2011 04:23

Greebo, what did you do to fix this problem?

I was having the "destroy twice in same frame problem" with a tinderbox animation that Springheel made for relighting flames when the AI isn't carrying a torch.

I updated to the latest code, and now I'm occasionally finding tinderbox models (the object that's destroyed, a curved piece of 'steel') lying around on the floor after an animation, but in places where they weren't used.

greebo

greebo

06.05.2011 05:07

administrator   ~0003833

Last edited: 06.05.2011 05:07

The problem was caused by interleaved thinking. Some animation code (ServiceAnims()) was still assuming the time between two think frames is 16 msecs. It was a simple fix by introducing a "lastThinkTime" member on idAnimatedEntity.

You can see my exact changes by viewing the SVN logs of the source revision mentioned above.

Issue History

Date Modified Username Field Change
29.04.2011 06:33 greebo New Issue
29.04.2011 06:33 greebo Status new => assigned
29.04.2011 06:33 greebo Assigned To => greebo
29.04.2011 06:33 greebo Relationship added related to 0002557
29.04.2011 06:33 greebo Steps to Reproduce Updated
04.05.2011 12:12 greebo Note Added: 0003831
04.05.2011 12:12 greebo Status assigned => resolved
04.05.2011 12:12 greebo Fixed in Version => TDM 1.06
04.05.2011 12:12 greebo Resolution open => fixed
06.05.2011 04:21 grayman Note Added: 0003832
06.05.2011 04:23 grayman Note Edited: 0003832
06.05.2011 05:07 greebo Note Added: 0003833
06.05.2011 05:07 greebo Note Edited: 0003833