Underwater Hurt Fix - RetroKoH/S1Fixed GitHub Wiki
(Original guide by Mercury)
Source: ReadySonic
Commit: 9101186
In Labyrinth Zone, Sonic always makes a splash whenever he goes in and out of the water, right? Well, not exactly. If Sonic is hurt by a hazard or enemy, and is sent flying back, he won't make a splash if he falls into the water. He also seemingly won't be affected by water as he continues to fall. This is simply due to Sonic Team not adding a branch to the water subroutine when Sonic is in his Hurt state. Fixing this is super easy!
In _incObj\Sonic (part 2).asm, go to loc_1380C: and add this one line:
loc_1380C:
bsr.w Sonic_HurtStop
bsr.w Sonic_LevelBound
bsr.w Sonic_RecordPosition
+ bsr.w Sonic_Water
bsr.w Sonic_Animate
bsr.w Sonic_LoadGfx
jmp (DisplaySprite).l
This will ensure that a splash appears when he falls into the water, and that his falling speed will be affected by the water as well.