View Issue Details

IDProjectCategoryView StatusLast Update
0002706The Dark ModAIpublic24.11.2017 16:24
Reportergrayman Assigned Tograyman  
PrioritynormalSeveritynormalReproducibilitysometimes
Status closedResolutionfixed 
PlatformWin32OSWindowsOS VersionXP
Product VersionTDM 1.04 
Target VersionTDM 1.05Fixed in VersionTDM 1.05 
Summary0002706: Console can get spammed with "AI MoveStack contains more than 100 moves!"
DescriptionThis console message can appear after a while while playing a mission, depending on what the AI have been doing. It may or may not be accompanied with an AI standing still when he's supposed to be moving.
TagsNo tags attached.

Activities

grayman

grayman

24.03.2011 18:46

viewer   ~0003782

When a movement task begins, the current destination is saved on a movement stack. When the task finishes, the saved destination is restored and the AI returns to what it was doing.

However, movement tasks can interrupt each other, with an interrupted task terminating. Unfortunately, aborting a task before it’s finished doesn’t properly handle the save/restore of destinations, leading to growth in the movement stack. This fix corrects that problem by disallowing interruptions if a task is performing a key operation, and by properly handling the movement stack. Now there should be no more than one saved move on the stack at any given time.

These changes should also be made to the Interaction Task and Elevator Task, since those both use the movement stack. But that’s for the future, since these are used less frequently.

rev 4722:

MovementSubsystem.cpp
HandleDoorTask.cpp
HandleDoorTask.h
State.cpp
ResolveMovementBlockTask.cpp
Task.h
UserManager.cpp
UserManager.h
ai.cpp
ai.h
ai_pathing.cpp
grayman

grayman

25.03.2011 14:20

viewer   ~0003784

I saw this was targeted for 1.06, but greebo included it in the latest 1.05 RC, so I switched the target rev back to 1.05.

Issue History

Date Modified Username Field Change
23.03.2011 20:37 grayman New Issue
23.03.2011 20:37 grayman Status new => assigned
23.03.2011 20:37 grayman Assigned To => grayman
24.03.2011 18:46 grayman Note Added: 0003782
24.03.2011 18:46 grayman Status assigned => resolved
24.03.2011 18:46 grayman Resolution open => fixed
25.03.2011 13:42 tels Fixed in Version => TDM 1.06
25.03.2011 13:42 tels Target Version => TDM 1.06
25.03.2011 14:20 grayman Note Added: 0003784
25.03.2011 14:20 grayman Fixed in Version TDM 1.06 => TDM 1.05
25.03.2011 14:20 grayman Target Version TDM 1.06 => TDM 1.05
27.10.2011 05:17 greebo Status resolved => closed