Forgot to add action 0A (+4 bytes), but I still wonder if there's a shorter way..
Also encountered 2 more bugs which I suspect are original but didn't have rewind ready and will have to reproduce again to confirm.
- After using stake on orb, I had no items but cursor somehow got stuck on a blank slot
- Got hit trying to use whirlwind and became stuck in next screen.
August 03, 2020, 12:53:33 pm - (Auto Merged - Double Posts are not allowed before 7 days.)
Went to Berkeley Mansion. Walked into some sideways spikes and died. Simon's body disappeared.
Original: Simon dies but floats up a bit. Dead body is visible.
August 03, 2020, 01:00:29 pm - (Auto Merged - Double Posts are not allowed before 7 days.)
Buy white crystal.
Buy oak stake.
Select oak stake.
Use oak stake.
Open menu. Press left. Visible sticky cursor on dead slot.
Original: Does not happen. No visible cursor anywhere.
August 03, 2020, 09:09:27 pm - (Auto Merged - Double Posts are not allowed before 7 days.)
Deborah Cliff tornado glitch is well known on youtube. Actually has easy solution.
Which looking at the action list, strairs knockback could be a simple cmp #$08, bcc
$81DA 47 8A: .word (SimonExecuteCurrentAction8_BeginStairsClimb) ;8A47 (CA47) ()
$81DC D9 8A: .word (SimonExecuteCurrentAction9_StairsStand) ;8AD9 (CAD9) ()
$81DE 52 8A: .word (SimonExecuteCurrentAction10_StairsClimb_Automatic) ;8A52 (CA52) ()
$81E0 26 82: .word (SimonExecuteCurrentAction11_Nothing ; $8226 -> rts) ;8226 (C226) ()
Although I did play with the stairs knockback some more and it has new 1 glitch: Simon can change direction while on the stairs. It looks really odd when he reverses left / right.
August 03, 2020, 09:32:54 pm - (Auto Merged - Double Posts are not allowed before 7 days.)
New idea for stairs knockback. It flips the direction right before running knockback routine.
$8844 A0 00: ldy #$00
$8846 BD 48 03: lda ObjectScreenXCoord,x
$8849 CD 48 03: cmp ObjectScreenXCoord
$884C 90 01: bcc + ; $884F
$884E C8: iny
+ $884F 8C 20 04: sty ObjectFacingLeft
$8852 4C 6F D3: jmp SimonDamageKnockBack
Bank 01 has lots of space. So we can do this check and avoid the new problem.
And for Deborah Cliff, I guess fix is still a bit short after optimization?
Which I just found out that nuking stairs knockback with 08-0b also fixes Deborah Cliff.
And while I'm at it
- I wonder why everyone complains about the Dracula sprite. There's so many artists around here, someone should have the talent to redraw the Dark Lord to his manual book or series equivalent.
- The palette fader is a technical achievement. One of the best highlights of translation no matter how many times I've seen it. I'd add a menu cursor hack to advance time by 1 hour just to keep watching the effect everywhere.
- Is ferryman not stopping at other shore genuinely a bug? The danger of jumping off and missing is entertaining; I've mistimed it for several deaths. That'd make a good endgame statistic: how many water deaths.
- I'm going to add my own hack to flip the ferryman sprite when he reverses direction. It's goofy watching him shuttle back-and-forth always facing the wrong way, and I'd consider that a graphics bug. Even Simon looks the correct way after a screen switch.
edit: Which took more code than I thought. Had to flip 2 sprites + swap their x-coords. But I like the result. And if you stand on the edge of the boat, he'll still drop you off on the shore and leave away.
And I triggered a new bug.? When on the moving boat, I got hit by a fishman. I somehow talked to either the fish or the ferryman and he mentioned about not being able to fish anymore..?
August 03, 2020, 11:58:44 pm - (Auto Merged - Double Posts are not allowed before 7 days.)
Have a possible solution to the exit room yscroll problem. Since it did happen to me while playing.
++ lda !CurrentYScrollingPositionPixels_Mod240 ; round yscroll
+ $845E A5 30: lda CurrentLevelMapType
$8460 C9 05: cmp #$05
$8462 D0 12: bne + ; $8476
This code triggers when we exit the room.
- $56 = CurrentYScrollingPositionPixels_Mod240Frac.
- $57 = CurrentYScrollingPositionPixels_Mod240.
Usually the values are nice whole #s when we exit the room (0.0, 1.0, 2.0). If we're near the top, we round down. When we're at the bottom, we round up. For the lake scroll glitch, I get $00,$CE when exiting. Round up to $01,$00 and we're no longer stuck ($02,$00 = next room).
Should I be worried though about another problematic map?