QUOTE (theocas @ Aug 29 2010, 04:46 PM)

QUOTE (BetaX @ Aug 29 2010, 09:30 AM)

QUOTE (theocas @ Aug 29 2010, 11:20 AM)

QUOTE (BetaX @ Aug 29 2010, 09:06 AM)


Yeah, did anyone else notice that when you the homing attack to the left in the beginning of the act, you warp to the end of the level.
Whoa. How the hell did that happen? I think I'll look into it when I get some moar time.

Same thing with Gens/GS.
It can also happen at the beginning where you start the game before act 1.
Other then that, I like this hack.
Thanks, but I have NO idea whatsoever causes this. I did add a few branches to
Syntax Highlighted Code: ASM
in the routine to move Sonic during a Jumpdash, but then he doesn't move very far, if at the side of the level or not.
I know it's been over a week since this was mentioned, but this is how you can fix it, and some related bugs. (this is for the SVN disasm, so you'll have to translate for whatever one you're using). The scroll delay from the Spindash and Homing Attack causes a few conflicts in Sonic 1. Don't mind the way the following is written; it's copy pasta from a guide I'm writing.
We need to clear the scroll delay when Sonic hits springs, too. Do this by opening "_incObj\41 Springs.asm" and finding "Spring_Flipped:" Add this line right before it plays the sfx:
Syntax Highlighted Code: ASM
move.b #0,($FFFFC904).w ;clear horiz scroll delay
We also need to clear the scroll delay when Sonic dies, so that when he respawns the screen won't go crazy. Add the same line after the label "Sonic_Death:" in "_incObj\Sonic (part 2).asm".
Also, if Sonic Spindashes at Level Start or respawning at a Lamp Post, he can screw up the camera. To fix this, open "_inc\LevelSizeLoad & BgScrollSpeed (JP1).asm" and "_inc\LevelSizeLoad & BgScrollSpeed.asm" and add these lines after the label "LevSz_SkipStartPos:" in both of them.
Syntax Highlighted Code: ASM
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
@looppoint:
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.
Another problem is with the fans in SLZ. We have to clear the scroll delay when Sonic is blown by them, otherwise bad things can happen. Open "_incObj\5D Fan.asm" and, after these lines:
Syntax Highlighted Code: ASM
@movesonic:
add.w d0,obX(a1) ; push Sonic away from the fan
add this one:
Syntax Highlighted Code: ASM
move.b #0,($FFFFC904).w ;clear horiz scroll delay
Hope it helps!