Как добавить Water Skimming в Sonic 1 — различия между версиями
(Новая страница: «{{GuideBy|Vladikcomper}} Water Skimming — это способность Соника прыгать по поверхности воды, будучи све...») |
м (Замена текста — « ее » на « её ») |
||
(не показано 8 промежуточных версий 4 участников) | |||
Строка 1: | Строка 1: | ||
− | {{ | + | {{Руководство|[[Vladikcomper]]}} |
− | Water Skimming — это способность | + | Water Skimming — это способность [[Соник]]а прыгать по поверхности воды, будучи свернутым в клубочек, если он развил достаточную скорость. Такая приятная способность была добавлена в восьмибитный Sonic 2, в Sonic 3 была похожая способность, но она заключалась в беге по воде. |
[[Файл:s1_water_skimming.gif]] | [[Файл:s1_water_skimming.gif]] | ||
− | А добавить такую способность довольно легко. | + | А добавить такую способность довольно легко. Найди суброутину Obj_MdJump2, она должна выглядеть примерно так: |
<asm> | <asm> | ||
Строка 16: | Строка 16: | ||
beq.s loc_12EA6 | beq.s loc_12EA6 | ||
subi.w #$28,$12(a0) | subi.w #$28,$12(a0) | ||
+ | </asm> | ||
− | + | Дополни её следующим кодом: | |
+ | <asm> | ||
move.w $10(a0),d0 | move.w $10(a0),d0 | ||
cmp.w #0,d0 | cmp.w #0,d0 | ||
Строка 34: | Строка 36: | ||
</asm> | </asm> | ||
− | Теперь | + | Теперь скомпилируй РОМ и посмотри новую способность в действии. Самое удачное место для прыжков по воде — это огромная открытая местность в LZ1, почти в самом начале уровня. С помощью прыжков по поверхности воды ты сможешь добраться до противоположной стороны и пройти уровень коротким путем. Раньше это сделать было крайне трудно. |
− | Только чтобы заставить | + | Только чтобы заставить Соника прыгать по воде, надо, разогнавшись, свернуться в клубочек у самого обрыва перед водной поверхностью. Обычным прыжком в воду ты ничего не добьёшься. |
+ | [[Категория:Руководства]] |
Текущая версия на 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, почти в самом начале уровня. С помощью прыжков по поверхности воды ты сможешь добраться до противоположной стороны и пройти уровень коротким путем. Раньше это сделать было крайне трудно.
Только чтобы заставить Соника прыгать по воде, надо, разогнавшись, свернуться в клубочек у самого обрыва перед водной поверхностью. Обычным прыжком в воду ты ничего не добьёшься.