Opened 6 years ago

Closed 6 years ago

#6292 closed defect (fixed)

TOON: Drew sometimes ends up stuck walking forever

Reported by: fuzzie Owned by: sylvaintv
Priority: normal Component: Engine: Toon
Keywords: Cc:
Game: Toonstruck

Description

Drew sometimes ends up stuck in a walking animation, with nothing happening. Usually you can just click somewhere else to break him out of this loop, but sometimes _mouseHidden is set to true when this happens, which means the game is stuck and you have to quit ScummVM.

I can't provide a savegame of this by nature, but it seems simple to replicate in my English copy of Toonstruck by walking behind the right-mouse gargoyle in the staircase in Nefarious' Castle, and then clicking the gargoyle. Drew will walk a bit around the gargoyle, reach the target point, and then keep walking forever, stuck.

Ticket imported from: #3611869. Ticket imported from: bugs/6292.

Attachments (1)

toon.029 (20.4 KB) - added by digitall 6 years ago.
Savegame to aid replication

Download all attachments as: .zip

Change History (8)

comment:1 Changed 6 years ago by digitall

Not sure that I can replicate the lockup with the latest Git master, but I am attaching a savegame from the Second Floor Landing near the game end i.e. the screen with stairs and gargoyle head to aid replication and investigation. I can get Drew to walk on the spot if I try a few times, but it seems to give up eventually.

Changed 6 years ago by digitall

Attachment: toon.029 added

Savegame to aid replication

comment:2 Changed 6 years ago by fuzzie

It is a bit trickier to reproduce than I remember. Clicking on the stairs, waiting until Drew is *almost* walking down them, and then clicking the gargoyle seems to do the trick though, with your savegame (thanks). Sigh.

And, right, the walking-in-the-spot momentarily/interruptibly bugs aren't what I mean.

comment:3 Changed 6 years ago by digitall

fuzzie: Thanks for looking at this. I can manage to replicate the momentary pathfinding walk on the spot... but they do end eventually. I have got it stuck once on the left gargoyle's left side, but not sure if that is what you mean... plus I think that ended eventually.

This will be some corner case in the Toon pathfinding code, which should be improved to ensure that it will always exit (as in some cases, a path may not be possible). This code is currently present, but it may fail in some circumstance.

comment:4 Changed 6 years ago by digitall

AHA... managed to replicate. Drew stuck walking against the right most gargoyle with mouse hidden so all input is ignored and the game is stuck.

To replicate, load the savegame on the Second Floor Landing, click on the stairs on the right i.e. Down to First Floor Landing, then just as Drew is about to trigger the screen change i.e. on the top few steps, click on the right hand gargoyle hotspot to use it... Drew will try to walk to it and get stuck.

comment:5 Changed 6 years ago by fuzzie

Script code is looping around Toon::ScriptFunc::sys_Cmd_Get_Actor_Facing.

comment:6 Changed 6 years ago by sylvaintv

Resolution: fixed
Status: newclosed

comment:7 Changed 6 years ago by sylvaintv

Fixed in 114eff979d281341f9a7661a58b0ea2114fcfc7d on master

Thanks fuzzie and tdhs !

Note: See TracTickets for help on using tickets.