Difference between revisions of "Fix Tails subanimation error"
From Sonic Retro
KingofHarts (talk | contribs) (Added another RHS guide) |
(No difference)
|
Revision as of 09:56, 17 June 2012
(Original guide by redhotsonic, using Xenowhirl's 2007 disassembly)
When Tails is standing next to a solid object, his tails use their pushing subanimation as opposed to a standard idle subanimation. Also, during the few frames before Tails enters his actual pushing animation, his tails look corrupted. Let's fix that
Go to "Obj05_Main:" and find this coding:
<asm>
moveq #0,d0 move.b anim(a2),d0 btst #5,status(a2) beq.s + moveq #4,d0
+ </asm>
When Tails is next to something he's about to push, his pushing tails animation is set. The thing is, just before he pushes, one walking anim appears, which conflicts both tails animations. So, change it to this:
<asm>
moveq #0,d0 move.b anim(a2),d0 btst #5,status(a2) ; is Tails about to push against something? beq.s + ; if not, branch cmpi.b #$63,mapping_frame(a2) ; Is Tails in his pushing animation yet? blt.s + ; If not yet, branch, and do not set tails' tail pushing animation moveq #4,d0
+ </asm>
Now, as soon as he's about to push, it will still do his one walking animation, but his mapping frame wouldn't have reached #$63 yet, so it won't set the tails' pushing subanimation. That means no more conflicts. Then when he does do his pushing animation, the subanimation will set accordingly without conflicting.