Added a per-row horizontal offset to the tilemaps. This has no effect on the coordinate system or collision detection, but would be useful for splitting background layers into multiple planes, and then scrolling or anchoring them independently (for example, to slowly offset clouds near the top of the screen, without making a new map layer or using a bunch of one-off actors.)
Old computers and game consoles do something similar, typically (though not always) through hardware interrupts that trigger at specific scanlines. If I wanted to do this on a per-line basis, I’d probably have to rewrite the function that draws map layers. I think per-tile will do for now. I could also do the same for vertical columns (though not both at the same time), but I think that would be more helpful in a game that primarily scrolls vertically, like a vertical shooter.
While testing, I added a short loop to assign an arbitrary offset to each row, just to make sure it’s rendering correctly, and the maps look hilarious with a successive offset of 1. I’ll have to put in a couple bits somewhere with lopsided buildings using this.