Сайт Влада

Как убрать Air Speed Cap

Автор гида: vladikcomper
Основано на гиде: «SCHG How-to:Remove the Speed Cap»

Speed Cap, или скоростной барьер, строго ограничивает скорость передвижения персонажа, чтобы она никогда не превышала максимально положенную и, естественно, не дает персонажу разгоняться дальше. В Соник 2 скоростной барьер был убран при передвижении по земле — и это серьезно улучшило геймплей: теперь, когда Соник/Тейлз ускорились вертикальной красной пружиной, их скорость не урезается, как то было в Соник 1, они мчатся на скорости, которую не смогли бы достигнуть самостоятельно, сохраняя ее и не разгоняясь. Однако, создатели Соник 2 забыли убрать Speed Cap в воздухе, поэтому в Соник 2 присутствует Air Speed Cap, который портит весь скоростной драйв, если разогнавшийся Соник вдруг оторвался от земли.

Чтобы исправить это упущение разработчиков, идите к суброутине Sonic_ChgJumpDir, и над строчкой

	move.w	d1,d0	; limit speed in air going left, even if Sonic was already going faster (speed limit/cap)

добавьте:

	add.w	d5,d0	; remove this frame's acceleration change
	cmp.w	d1,d0	; compare speed with top speed
	ble.s	+	; if speed was already greater than the maximum, branch

Чуть ниже найдите команду

	move.w	d6,d0	; limit speed in air going right, even if Sonic was already going faster (speed limit/cap)

и прямо перед ней, добавьте следующий код:

	sub.w	d5,d0	; remove this frame's acceleration change
	cmp.w	d1,d0	; compare speed with top speed
	bge.s	+	; if speed was already greater than the maximum, branch

Отлично, теперь у Соника Speed Cap убран, так что он свободно может сохранять высокие скорости в воздухе. Теперь нужно убрать Air Speed Cap у Тейлза, для этого идите к суброутине Tails_ChgJumpDir и проделайте те же самые изменения.