engine/terrain: simplified neighbor gathering
engine/terrain: fixed read of wrong neighbors variable

we should read the source variable, not the destination,
when we don't even know the source validity and haven't stored
anything to the destination.