If there’s both -240 and 240, shouldn’t the stage be 481 steps wide? And similarly, if there’s both -180 and 180, shouldn’t the stage be 361 steps wide?
Wow, I never thought about this before, but I think I understand what is going on. The sprite is not actually on the center of the pixel, it’s instead on the cross-section between pixels.
So instead of the sprite being here
┌───┬───┐
│ x │ │
├───┼───┤
│ │ │
└───┴───┘
The sprite is here
x───┬───┐
│ │ │
├───┼───┤
│ │ │
└───┴───┘