This issue is reproducible easily with the "draw_sword_anywhere" branch. But it can happen at specific pixels when you jump and grab the ledge right before the chomper.
The problem seems to happen in the function linked below. If the "if" statement that checks for fall is false, it re-renders tiles above and below kid. And sometimes the "char_col_right" points to the chomper. The "set_redraw2" function messes an open chomper up.
I created a simple fix that tracks if you are falling and skips rendering of chomper tiles. But I am wondering if there is a more elegant fix that David usually finds.
Re: Another graphical glitch
Posted: April 29th, 2021, 4:36 am
by atrueprincefanfrom18
I've seen it before in the normal SDLPoP package too. Check this at 1:24 timestamp.
Re: Another graphical glitch
Posted: April 29th, 2021, 10:05 pm
by dmitrys
It looks from your video that the bug can also happen when prince is dropping down to a row that has a chomper.
Edit: It is definitely reproducible as well.
Re: Another graphical glitch
Posted: May 1st, 2021, 7:44 pm
by David
It also happens when you hang below the chomper like this:
floor-chomper.PNG (3.15 KiB) Viewed 2111 times
I have also seen it in Run, Prince! Run! (level 3):
floor-chomper_run_prince_run.png (4.26 KiB) Viewed 2111 times
Re: Another graphical glitch
Posted: May 1st, 2021, 8:15 pm
by dmitrys
Yes, the "redraw_at_char2" function is also responsible for hanging. This is the fix I came up with.
Edit: "get_tile" function cannot be used because changing "curr_tile2" causes a bug when falling down into another room.