Fix stuck travel for good

My fixes to the travel stuck oscillation did not fix all of them,
and I've even seen a 3-step loop - which my fixes cannot detect.
I guess there could be arbitrary-sized loops too.

To definitely fix this, keep track of all the map locations travel
has moved the hero through, and if it tries to go on a location already
used, stop travel and give the unsure -message.
This commit is contained in:
Pasi Kallinen
2022-04-02 18:16:19 +03:00
parent fd355d6f6c
commit 6977aef436
5 changed files with 26 additions and 12 deletions

View File

@@ -466,8 +466,7 @@ moveloop_core(void)
}
if (g.context.mv) {
if (g.multi < COLNO && !--g.multi)
g.context.travel = g.context.travel1 = g.context.mv =
g.context.run = 0;
end_running(TRUE);
domove();
} else {
--g.multi;