You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
As per these gbdev.io docs, when it comes to drawing an OAM pixel, the Gameboy first calculates which of 2 overlapping objects has higher priority; and THEN considers the winning object's BG priority bit. This can be exploited to "mask" objects (see INTERACTION WITH "BG OVER OBJ" FLAG in the article.)
Currently on binjgb, this behavior does not occur; it calculates the BG priority bit of all objects and renders whatever is on top.
On my local version of binjgb, I was able to fix this by inserting the following lines to emulator.c:
which seems like a hacky solution, but you can see a working version on my demo GB game.
I'm unable to open a pull request as I'm unable to create a branch but this is the issue and a potential solution!
The text was updated successfully, but these errors were encountered:
Thanks for reporting this! I probably should finally get around to implementing the proper rendering pipeline, which should fix issues like this. But in the meantime, I'll take a look at fixing this perhaps doing something simpler.
As per these gbdev.io docs, when it comes to drawing an OAM pixel, the Gameboy first calculates which of 2 overlapping objects has higher priority; and THEN considers the winning object's BG priority bit. This can be exploited to "mask" objects (see INTERACTION WITH "BG OVER OBJ" FLAG in the article.)
Currently on binjgb, this behavior does not occur; it calculates the BG priority bit of all objects and renders whatever is on top.
On my local version of binjgb, I was able to fix this by inserting the following lines to
emulator.c
:which seems like a hacky solution, but you can see a working version on my demo GB game.
I'm unable to open a pull request as I'm unable to create a branch but this is the issue and a potential solution!
The text was updated successfully, but these errors were encountered: