It's complicated because the status bar lives in the BG layer, so you would see it moving up/down the screen as you scroll up and down.
The Fix?
The NES renders the screen top to bottom, so I detect when it is drawing 1 pixel above the status bar. At that precise moment, in the middle of drawing the screen, I tell the renderer to skip down to 1 pixel BELOW the status bar.
This effectively erases the existence of the status bar in the middle over screen by redirecting the renderer to a different part of video memory for that section of the screen.
A bit like folding a piece of paper over itself to hide some of the contents.
You may notice that during the video, the Status Bar sometimes vanishes.
This looks pretty bad, but is actually a simple thing to fix!
It is happening because my level streaming logic is not yet accounting for the status bar area, and loading level data in over top of it. I just need to stream in less data.
The only reason it isn't fixed yet, is because I hope to get a little performance boost out of it, so I want to take some time to measure just how much of a boost I get. π
1 comment