Now, I've seen in S1 hacks, like Metal Sonic Hyperdrive, that when the title card makes the level fade in, the level art and the objects are slightly off-centre, causing the camera to move up or to down to align them once the gameplay begins. It's only for a couple of frames, but damn is it annoying. Porting S1's title card to S2 presents the same problem, only with the default zones. I've never noticed this bug with stock S1, but since I've seen it in hacks with new levels, I believe it's in there too, only it's masked in some way by the level design.
Now, to anyone who is experiencing this, I think I found a fix. More of a messy workaround, but it doesn't seem to work otherwise. I've only tested this with my S2 port, but... well, just give it a go.
For S2 users, under the '+' under Level_TtlCard, comment out the branch to JmpTo_DeformBgLayer.
Then, directly under Level_ClrHUD, add these lines:
Then, at Level_FromCheckpoint, under the branch to SetLevelEndType, add that 'bsr.w JmpTo_DeformBgLayer' you removed earlier.
For S1 users, you should just move the branch to DeformLayers, under Level_SkipTtlCard, to under the branch to OscillateNumInit, under Level_SkipClr. You might also have to copy the three 'jsr's under to Level_LoadObj to there, also.
It's not what I'd call a sound fix, but giving the objects some more time to process, and deforming the background after some other stuff has been done seems to do the trick.
Anyone else have any input on this bug?
Now, to anyone who is experiencing this, I think I found a fix. More of a messy workaround, but it doesn't seem to work otherwise. I've only tested this with my S2 port, but... well, just give it a go.
For S2 users, under the '+' under Level_TtlCard, comment out the branch to JmpTo_DeformBgLayer.
Then, directly under Level_ClrHUD, add these lines:
jsr (ObjectsManager).l jsr (RunObjects).l jsr (BuildSprites).l
Then, at Level_FromCheckpoint, under the branch to SetLevelEndType, add that 'bsr.w JmpTo_DeformBgLayer' you removed earlier.
For S1 users, you should just move the branch to DeformLayers, under Level_SkipTtlCard, to under the branch to OscillateNumInit, under Level_SkipClr. You might also have to copy the three 'jsr's under to Level_LoadObj to there, also.
It's not what I'd call a sound fix, but giving the objects some more time to process, and deforming the background after some other stuff has been done seems to do the trick.
Anyone else have any input on this bug?


05