scawful / Oracle-of-Secrets

Custom Code for the Legend of Zelda: Oracle of Secrets ROM hack
11 stars 0 forks source link

Fix Spike Roller priority when jumping over with feather #57

Closed scawful closed 1 month ago

scawful commented 4 months ago

Currently the SpikeRoller sprite takes priority over Link when it draws. This should be modified so Link takes priority over the draw of the SpikeRoller. This likely needs to be in the SpikeRoller draw code which is located at SNES addr $058EE3

scawful commented 1 month ago

Using Sprite_OAM_AllocateDeferToPlayer I was able to apply a fix which at least makes the sprite roller appear below link in some scenarios, however given how the routine is coded it switches between OAM regions B and C so there are some approaches, particularly where Link is towards the bottom of the sprite where it will appear above him. A potential future fix to completely remedy this would be to swap between regions B and C depending on where links position is and always have B beneath Link (whether he is in the upper half of the Y axis or lower half)