Difference between revisions of "Retain Rings Between Acts in Sonic 1"
From Sonic Retro
m (Text replacement - "\[\[Category:SCHG How-tos.*" to "") |
|||
(14 intermediate revisions by 6 users not shown) | |||
Line 1: | Line 1: | ||
− | + | ''(Original guide by [[User:Afti|Afti]], updated for the SVN/GitHub disassembly by [[User:MarioMario456|MarioMario456]])'' | |
+ | This is a very simple guide to retaining rings between acts in Sonic 1. It's extremely easy, but, for those who literally have no ASM ability whatsoever... | ||
Well, here it is. You literally need to delete one line, and add one line elsewhere. | Well, here it is. You literally need to delete one line, and add one line elsewhere. | ||
+ | ==Hivebrain's 2005 disassembly== | ||
− | + | Go to "'''Level_LoadObj:'''". You'll notice this line: | |
− | <asm> | + | <syntaxhighlight lang="asm"> |
+ | move.w d0,($FFFFFE20).w ; clear rings | ||
+ | </syntaxhighlight> | ||
− | + | This line deletes all of your rings. So, delete this line. | |
− | + | Then, go to "'''KillSonic:'''", and before this line: | |
− | + | <syntaxhighlight lang="asm"> | |
+ | move.b #0,($FFFFFE2D).w ; remove invincibility | ||
+ | </syntaxhighlight> | ||
− | + | add this line: | |
− | |||
− | + | <syntaxhighlight lang="asm"> | |
+ | move.w #0,($FFFFFE20).w ; clear rings | ||
+ | </syntaxhighlight> | ||
− | + | And you'll retain rings between acts. | |
+ | |||
+ | ==SVN/GitHub disassembly== | ||
+ | |||
+ | Go to "'''Level_LoadObj:'''". You'll notice this line: | ||
+ | |||
+ | <syntaxhighlight lang="asm"> | ||
+ | move.w d0,(v_rings).w ; clear rings | ||
+ | </syntaxhighlight> | ||
+ | |||
+ | This line deletes all of your rings. So, delete this line. | ||
+ | |||
+ | Then, open "'''_incObj\sub ReactToItem.asm'''". Then, go to "'''KillSonic:'''", and before this line: | ||
+ | |||
+ | <syntaxhighlight lang="asm"> | ||
+ | move.b #0,(v_invinc).w ; remove invincibility | ||
+ | </syntaxhighlight> | ||
+ | |||
+ | add this line: | ||
+ | |||
+ | <syntaxhighlight lang="asm"> | ||
+ | move.w #0,(v_rings).w ; clear rings | ||
+ | </syntaxhighlight> | ||
+ | |||
+ | Now you'll retain rings between acts. | ||
+ | |||
+ | {{S1Howtos}} | ||
+ | |Retain Rings Between Acts in Sonic 1]] |
Latest revision as of 10:52, 25 August 2018
(Original guide by Afti, updated for the SVN/GitHub disassembly by MarioMario456)
This is a very simple guide to retaining rings between acts in Sonic 1. It's extremely easy, but, for those who literally have no ASM ability whatsoever...
Well, here it is. You literally need to delete one line, and add one line elsewhere.
Hivebrain's 2005 disassembly
Go to "Level_LoadObj:". You'll notice this line:
move.w d0,($FFFFFE20).w ; clear rings
This line deletes all of your rings. So, delete this line.
Then, go to "KillSonic:", and before this line:
move.b #0,($FFFFFE2D).w ; remove invincibility
add this line:
move.w #0,($FFFFFE20).w ; clear rings
And you'll retain rings between acts.
SVN/GitHub disassembly
Go to "Level_LoadObj:". You'll notice this line:
move.w d0,(v_rings).w ; clear rings
This line deletes all of your rings. So, delete this line.
Then, open "_incObj\sub ReactToItem.asm". Then, go to "KillSonic:", and before this line:
move.b #0,(v_invinc).w ; remove invincibility
add this line:
move.w #0,(v_rings).w ; clear rings
Now you'll retain rings between acts.
|Retain Rings Between Acts in Sonic 1]]