philj56 / gbcc

Cross-platform Game Boy emulator written in C
https://gbcc.github.io
Other
48 stars 8 forks source link

Metroid 2: Minor Graphical glitches #6

Closed georgehb closed 5 years ago

georgehb commented 6 years ago

Glitch 1

When this enemy is just off screen, incorrect sprites are shown

2018-06-24-144738_

Easily seen when standing on the lower ledge, sprite flickers rapidly between the two shown screen shots

2018-06-24-144743_

2018-06-24-160941_

In mGBA the enemy is not visible at all from lower ledge

Glitch 2

When loading from a save, the save room loads incorrectly 2018-06-24-144957_

These glitches are more than just graphical and can even be stood on

2018-06-24-151749_

And Samus can fit in the blank space in the collumn whilst a ball

2018-06-24-162627_

Once you move the incriminating tiles off screen they then loads normally. This error has only been found to occur when first starting up the game

Unbroken room for comparison

2018-06-24-145021_

georgehb commented 6 years ago

Here is a nearby save for Glitch 1. Head right until you reach a tall vertical room it's the first enemy at the top of this room

metroid2 sav

(I had to save as an image so just rename the file)

philj56 commented 6 years ago

Note to self: this is definitely in gbcc_ppu.c

philj56 commented 6 years ago

The first glitch should be solved in c32eaab28f2ff4c83f2a7f1a2b3576e7eca77f23. It was being caused by a negative overflow in the ppu when an 8x8 sprite was within the top 8 pixels of the screen.

philj56 commented 5 years ago

At long last this can be closed I think - the saves got fixed somewhere in 0d4fa8b52d6f79e10319135f9c7d676a213607a7. No more magical glitch world exploration.