ID:2382531
 
Resolved
A rare bug was found with pixel movement, that could cause a mover to overlap dense turfs/objects if it was stopped short by another bump. (Additionally, an error in the code for cutting movement short in the event of a bump incorrectly allowed some rare diagonal moves to go through.) The built-in Move() proc has been redesigned to address these issues and should also now avoid calling Cross(), Enter(), etc. more than once for the same object.
BYOND Version:512.1435
Operating System:Windows 7 Ultimate 64-bit
Web Browser:Chrome 67.0.3396.87
Applies to:Dream Daemon
Status: Resolved (512.1436)

This issue has been resolved.
Descriptive Problem Summary:

Cross() and Crossed() are not called accurately for pixel movers moving diagonally. This results in the player colliding with objects they should never have been able to reach, and overlapping objects that they should not be able to. This issue presents itself in the case of large bounding boxes with a gap just smaller than the mob's bounding box.

I've got a test case compiled, just move southwest until you hit the tree. The rest will explain itself in due course.

http://files.byondhome.com/Ter13/testworld_src.zip
Lummox JR resolved issue with message:
A rare bug was found with pixel movement, that could cause a mover to overlap dense turfs/objects if it was stopped short by another bump. (Additionally, an error in the code for cutting movement short in the event of a bump incorrectly allowed some rare diagonal moves to go through.) The built-in Move() proc has been redesigned to address these issues and should also now avoid calling Cross(), Enter(), etc. more than once for the same object.