Как добавить Water Skimming в Sonic 1 — различия между версиями
NeKit (обсуждение | вклад) |
м (Замена текста — « ее » на « её ») |
||
(не показано 5 промежуточных версий 3 участников) | |||
Строка 1: | Строка 1: | ||
− | {{ | + | {{Руководство|[[Vladikcomper]]}} |
− | Water Skimming — это способность [[ | + | Water Skimming — это способность [[Соник]]а прыгать по поверхности воды, будучи свернутым в клубочек, если он развил достаточную скорость. Такая приятная способность была добавлена в восьмибитный Sonic 2, в Sonic 3 была похожая способность, но она заключалась в беге по воде. |
[[Файл:s1_water_skimming.gif]] | [[Файл:s1_water_skimming.gif]] | ||
Строка 18: | Строка 18: | ||
</asm> | </asm> | ||
− | Дополни | + | Дополни её следующим кодом: |
<asm> | <asm> | ||
Строка 39: | Строка 39: | ||
Только чтобы заставить Соника прыгать по воде, надо, разогнавшись, свернуться в клубочек у самого обрыва перед водной поверхностью. Обычным прыжком в воду ты ничего не добьёшься. | Только чтобы заставить Соника прыгать по воде, надо, разогнавшись, свернуться в клубочек у самого обрыва перед водной поверхностью. Обычным прыжком в воду ты ничего не добьёшься. | ||
− | [[Категория: | + | [[Категория:Руководства]] |
Текущая версия на 08:06, 1 мая 2014
(Оригинальное руководство написано Vladikcomper)
Water Skimming — это способность Соника прыгать по поверхности воды, будучи свернутым в клубочек, если он развил достаточную скорость. Такая приятная способность была добавлена в восьмибитный Sonic 2, в Sonic 3 была похожая способность, но она заключалась в беге по воде.
А добавить такую способность довольно легко. Найди суброутину Obj_MdJump2, она должна выглядеть примерно так:
<asm> Obj01_MdJump2: ; XREF: Obj01_Modes bsr.w Sonic_JumpHeight bsr.w Sonic_ChgJumpDir bsr.w Sonic_LevelBound jsr ObjectFall btst #6,$22(a0) beq.s loc_12EA6 subi.w #$28,$12(a0) </asm>
Дополни её следующим кодом:
<asm> move.w $10(a0),d0 cmp.w #0,d0 bgt.s Obj01_MdJump2_Abs neg.w d0
Obj01_MdJump2_Abs: cmp.w #$250,d0 ; if Sonic speed less than $250? blt.s loc_12EA6 ; if yes, branch move.w $C(a0),d0 sub.w ($FFFFF646).w,d0 cmp.w #$F,d0 bgt.s loc_12EA6 subi.w #$90,$12(a0) ; jump out of water </asm>
Теперь скомпилируй РОМ и посмотри новую способность в действии. Самое удачное место для прыжков по воде — это огромная открытая местность в LZ1, почти в самом начале уровня. С помощью прыжков по поверхности воды ты сможешь добраться до противоположной стороны и пройти уровень коротким путем. Раньше это сделать было крайне трудно.
Только чтобы заставить Соника прыгать по воде, надо, разогнавшись, свернуться в клубочек у самого обрыва перед водной поверхностью. Обычным прыжком в воду ты ничего не добьёшься.