Not too sure how this works but nothing gets drawn while the screen is scrolling. So there's like a one-frame window to draw primitives onto this buffer somewhere?
drawing to the scrolling buffer
It used to update the whole time it was scrolling, except it would blink at the beginning and end. I think what it would do was draw nothing one frame, then draw twice the next.
Also notice that draw_screen doesn't get called while the screen is scrolling. ..Now notice that inside draw_screen is calls to update the scrollbuf! Wheeee!!!
So yeah, I don't know.
Going back to the start of the builds it seems this problem has been there the whole time undetected. I can't find a point where it "broke" so to speak. ....But I'll be late for my lobotomy if I don't leave soon. Goodbye logic. I promise I'll write.
As far as I'm concerned, this is fixed. It's still a horrible mess, but it's working about right.
Thank you!