clr.w (v_trackpos).w ; reset Sonic's position tracking index
lea (v_tracksonic).w,a2 ; load the tracking array into a2
moveq #63,d2 ; begin a 64-step loop
move.w d1,(a2)+ ; fill in X
move.w d0,(a2)+ ; fill in Y
dbf d2,@looppoint ; loop
That fix seems like it removes the need for the fix with "Sonic_Death:" but I want to have both to be sure.
I can't seem to find it anywhere in the 2007 disasm, but I'll keep looking. What does the surrounding code look like, so I can search for that code?
Here it is:
move.w d1,(v_player+obX).w ; set Sonic's position on x-axis
move.w d0,(v_player+obY).w ; set Sonic's position on y-axis
subi.w #160,d1 ; is Sonic more than 160px from left edge?
bcc.s SetScr_WithinLeft ; if yes, branch
cmp.w d2,d1 ; is Sonic inside the right edge?
bcs.s SetScr_WithinRight ; if yes, branch
You can check out the whole file here on the SVN.
Thanks, I'll go ahead and implement it when I get my computer back from the Apple store tomorrow, hard drive died, and I needed the keyboard replaced anyways, so I sent it in. Thank god I keep backups.
Well, the Collision Chaos Port is coming along quite nicely, but I have no idea why I can't do it as fast as I did with the Tidal Tempest one. Hopefully I can release something on Sunday. I'll make this weekend a hack fest :P