DMC Alignment Bug Fixed? And OOO Monday
Hey Folks! Finally got into a rhythm working out the DMC map bug on iOS, and I think I've fixed it.
It took several tries, and a lot of guessing and checking via compile->simulate iOS device->tweak->repeat for various devices, plus a few build-toactual-iPads thrown in for good measure. And most of a day later, I think the fix is checked-in for Tiago to verify on his iPad.
In the end, I think the issue might've been overcompensating for high DPI devices. Using the old desktop DMC map position, size, and zoom values for Small GUI vs. 4:3 GUI seemed to do the trick, surprisingly. It "just worked" setting those values whenever the screen changed, and I think part of the problem might've been the order in which the more complicated calculations were being done.
The only issue that didn't get solved was the panning of the map when the user dragged their finger on the screen. It turns out this was a separate issue due to the way the pan amount was applied. It was finding out how far the drag had gone, and applying that to the map scroll each frame, which resulted in the map accelerating instead of simply moving. Adjusting the pan amount to only the delta since last frame seemed to do the trick there. (That, and accounting for correct zoom amount when screen was zoomed-in.)
If this works, I'll be thrilled. Not only because it solves an existing bug, but also because I think it'll be more robust on future devices. I.e. it should "just work" on those, as well, rather than us having to do more special case code to accommodate new devices.
Or so I hope :)
Anyway, that's the week come to a close. Tiago thinks he can have the save fix in this weekend, and then maybe we roll out the new patch?
And speaking of weekends, Monday is a stat holiday here (Labor Day), so I'll be out of the office. I'll be back on Monday, though. Have a good (long) weekend, all!