<div dir="ltr"><div><div><div><div><div>Dang! That is worse than I thought!<br><br></div>I had done so much of my testing with mostly-gridlike plankmenus, that I had not realized how bad it was.<br><br></div>I played around with the test menu for a while, and I was trying to think of a heuristic.<br><br></div>Kinda thinking out loud here:<br><br></div><div>* the direction we want to move is the move axis<br></div><div>* the opposite direction is the other axis<br><br></div><div>for distance = 2x, 4x, 8x ... of selected plank size on the move axis<br></div><div>  is there another plank touching a line between current plank edge and axis size<br></div><div>  is there another plank within a rect of distance * other axis size<br></div><div>  is there another plank within a 90 degree cone with the small end on the selected plank center and the wide end distance away<br><br></div><div>If the above fails to find anything withing the screen size, then it falls back to the current behavior of selecting the next plank on the move axis without caring where it is on the other axis<br><br><br></div><div>I think that would probably do what we want for both gridlike planks and chaotically scattered planks.<br></div><div>I think that should avoid most cases where a grid can't be reached from any of its neighbors (although I am sure you could still easily construct pathological cases with that problem, for example, a grid of four planks with a little space in between then, and a really tiny plank right in the middle of all of them)<br></div><br></div><div>We might also want to handle diagonal movement explicitly with a similar heuristic. That ought to make the unreachable plank cases a lot harder to create.<br><br></div><div>I think the only good thing about the current method is that it should be impossible to have any unreachable plank, but its other glaring flaws outweigh that by a great deal.<br><br></div><div>If we have a decent heuristic, we could then pretty easily have a plank menu checker that brute forces every possible movement, and warns you about any unreachable planks.<br><br></div><div><br></div><div><br></div><br></div><div class="gmail_extra"><br><div class="gmail_quote">On Tue, Feb 6, 2018 at 6:45 AM,  <span dir="ltr"><<a href="mailto:subversion@hamsterrepublic.com" target="_blank">subversion@hamsterrepublic.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">teeemcee<br>
2018-02-06 06:45:13 -0800 (Tue, 06 Feb 2018)<br>
90<br>
Add a screen for testing plankmenu cursor movement to the spam menu<br>
<br>
...it sure is broken!<br>
---<br>
U   wip/custom.bas<br>
______________________________<wbr>_________________<br>
Ohrrpgce mailing list<br>
<a href="mailto:ohrrpgce@lists.motherhamster.org">ohrrpgce@lists.motherhamster.<wbr>org</a><br>
<a href="http://lists.motherhamster.org/listinfo.cgi/ohrrpgce-motherhamster.org" rel="noreferrer" target="_blank">http://lists.motherhamster.<wbr>org/listinfo.cgi/ohrrpgce-<wbr>motherhamster.org</a><br>
</blockquote></div><br></div>