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.