View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0004039 | The Dark Mod | AI | public | 15.01.2015 04:11 | 15.01.2015 04:46 |
Reporter | grayman | Assigned To | grayman | ||
Priority | normal | Severity | normal | Reproducibility | have not tried |
Status | resolved | Resolution | fixed | ||
Product Version | TDM 2.03 | ||||
Target Version | TDM 2.03 | Fixed in Version | TDM 2.03 | ||
Summary | 0004039: AI can freeze when running toward a closed door | ||||
Description | When an AI is running toward a closed door, he can stop moving slightly off his mark and the code thinks he's arrived and not arrived at the same time. He freezes, getting stuck in a loop that has no exit. Other AI that want to use the door get stuck behind him. AI walking to a closed door doesn't seem to have a problem, probably because arrival accuracy is better when the AI is moving more slowly. | ||||
Tags | No tags attached. | ||||
Fixing this in 2.03 because it was exposed by the 2.03 fix to bug 0003882. | |
The fix for bug 0003882 exposed this problem. When StopMove() runs, it resets the move accuracy to default. If AI are using a larger move accuracy than the default, this screws up checking whether the AI has arrived where he wants to go. This (so far) only affected door handling, where running AI are given a larger move accuracy so they can hit their mark. A running AI trying to get to the front opening position of a closed door can get caught in a loop, where he thinks he hasn’t arrived at the position, but he has. He keeps trying to move to the position again, but he’s already there. The root cause is MoveToPosition() using a ‘true’ return value when the AI has arrived or hasn’t, and the position is reachable. Don’t want to make any changes to MoveToPosition() at this point. Rev. 6451: AI.cpp AI.h HandleDoorTask.cpp |
|
Date Modified | Username | Field | Change |
---|---|---|---|
15.01.2015 04:11 | grayman | New Issue | |
15.01.2015 04:11 | grayman | Status | new => assigned |
15.01.2015 04:11 | grayman | Assigned To | => grayman |
15.01.2015 04:37 | grayman | Note Added: 0007342 | |
15.01.2015 04:46 | grayman | Note Added: 0007343 | |
15.01.2015 04:46 | grayman | Status | assigned => resolved |
15.01.2015 04:46 | grayman | Resolution | open => fixed |
15.01.2015 04:46 | grayman | Fixed in Version | => TDM 2.03 |