QUOTE
The crash happens because you are writing a word to an odd address; and it is the wrong address too, in fact. In sonic.asm, find Sonic_Control routine, local label @chkLR:
and replace it with this:
It will no longer crash (edit: and it will clear the flag as intended).
Syntax Highlighted Code: ASM
@chkLR:
move.b (v_jpadhold2).w,d0 ; get jpad
and.b $2D(a0),d0 ; compare jpad to stored L,R button states
bne.s @skip ; if still held, branch
move.w #0,$2D(a0) ; clear wall jump flag and button states
move.b #id_Roll,obAnim(a0) ; use "jumping" animation
@skip:
and replace it with this:
Syntax Highlighted Code: ASM
@chkLR:
move.b (v_jpadhold2).w,d0 ; get jpad
and.b $2D(a0),d0 ; compare jpad to stored L,R button states
bne.s @skip ; if still held, branch
move.w #0,$2C(a0) ; clear wall jump flag and button states
move.b #id_Roll,obAnim(a0) ; use "jumping" animation
@skip:
It will no longer crash (edit: and it will clear the flag as intended).
Goddamn typos!
QUOTE
This is pretty damn nice, except it interferes when you jump over a rock, or a large step, sorta makes you drift off of it. That's the only thing I don't like about it, other than that, it's very good.
Odd. I purposely check if Sonic's moving upward and don't activate the move if that's true. I just tested it with a RAM watcher and it doesn't trigger when I push up against a block or rock or wall and jump past it.
Could you make a savestate/movie of it happening if you can? Thanks.


