I think it would be better to check for Earth cells at head height when walking, but not when jumping, as this would retain a spectacular class of quirky features.
- jumping left through overhead Earth cells;
Andrew, am I right in thinking that this is the quirk that allows Willy's sprite to pass leftwards through an Earth block at leg-height
EDIT: I don't so much mean leg-height, but the Earth block is lower than head-height by the time he starts to pass through it (his hat at least is projecting above the top of the Earth block).
Immediately beforehand, he is cell-aligned both horizontally and vertically - he is in (left-moving) animation-frame zero, adjacent to a single-height Earth block, with the upper half of his sprite occupying the same cell-row as the block, and he is still in the 'ascending' part of his jump.
There is no check for an Earth cell adjacent to his head on the left, and so nothing to prevent his onwards horizontal motion.
But then in the next time-frame, as well as having moved 'into' the Earth block [although again, there is no pixel-insertion into the block at this stage, as he's in left-moving animation-frame 3 in which only the right-hand of the cell-columns he occupies has filled-in pixels], he has also moved up
by one increment in the jump.
As a result, the top-left cell occupied by Willy's sprite [which by now occupies three
rows of two cells] does NOT contain an Earth cell*, so the 'ILB' code at 36540 that normally dumps him downwards in these circumstances does NOT kick in, and his jump carries on upwards - with his legs entering the Earth block.
(* Assuming it's a single Earth block that we're considering, or at least only a single-row Earth platform - I think Willy can jump through the middle Red platform in Under the MegaTree, for example.)
Edited by IRF, 23 April 2016 - 09:57 PM.