Difference between revisions of "Retain Rings Between Acts in Sonic 1"
From Sonic Retro
m (→SVN/GitHub disassembly) |
m (→SVN/GitHub disassembly) |
||
Line 48: | Line 48: | ||
<syntaxhighlight lang="asm"> | <syntaxhighlight lang="asm"> | ||
− | move.w #0,( | + | move.w #0,(v_rings).w ; clear rings |
</syntaxhighlight> | </syntaxhighlight> | ||
Revision as of 13:08, 11 December 2017
(Original guide by Afti)
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.