[4.5.6] Scrolling Fixes for MetroidVania & Shooter Modules

TakuikaNinja

Active member
Just cross-posting this from "Ask For Help -> Better Scrolling?" for everyone's convenience.
There's an issue with the camera update scripts where warping into a screen with right edge for scroll enabled causes the left side to become corrupted.
Here's what the issue looks like, using derexgar's game as an example:


Here are the fixes:

[MetroidVania]
STEP 1. Open the doUpdateCamera.asm Script (settings>Script Settings>Subroutines>Handle Camera) & copy + paste all of the code into a new file.

STEP 2. Go to Line 65. Change JMP +noHorizontalCameraUpdate to RTS

STEP 3.
Save the file and assign that in place of doUpdateCamera.asm

[Shooter]
STEP 1. Open the doUpdateCamera_shooter2.asm Script (settings>Script Settings>Subroutines>Handle Camera) & copy + paste all of the code into a new file.

STEP 2. Go to Line 65. Change JMP +noHorizontalCameraUpdate to RTS

STEP 3.
Save the file and assign that in place of doUpdateCamera_shooter2.asm
 
Last edited:

baardbi

Member
TakuikaNinja said:
Just cross-posting this from "Ask For Help -> Better Scrolling?" for everyone's convenience.
There's an issue with the camera update scripts where warping into a screen with right edge for scroll enabled causes the left side to become corrupted.
Here's what the issue looks like, using derexgar's game as an example:


Here are the fixes:
MetroidVania version, provided by AllDarnDavey & yours truly (Copy + paste into a new asm file and assign it in place of "doUpdateCamera.asm"): http://nesmakers.com/viewtopic.php?f=60&t=6080&start=10#p30304

Shooter module version, provided by derexgar (You should back up the original script before editing it for future-proofing): http://nesmakers.com/viewtopic.php?f=60&t=6080&start=20#p30341

I wish I had this before ByteOff. Thank you very much for doing this.
 

vanderblade

Active member
Do you have a "fix" for this issue in the Brawler mod? Replacing line 65 with RTS does help with the leftside garbage. But there's also an issue where occasionally (for some reason) garbage will appear in the column that is the seam between two screens as players walk right. Currently, this plagues everybody using the brawler mod, and we're looking for a solution.

Update: I changed both instances of JMP +noHorizontalCameraUpdate to RTS. The second is a few lines down from the first. That dramatically helped the seam problem, but it still appeared on two screens as I played through the first and second levels. So this is a big improvement, but I'll have to keep looking into this code to fix the problem permanently.

Update 2: I can safely say the column/seam of garbage appears halfway through the second screen (around the 8th column) after players warp into a new screen, but only if the first screen has the stop right edge for scroll flag checked. There is a way to mitigate this by just not checking that flag on the first screen players warp to, but then that messes up stuff down the row of screens for some reason and is avoiding the issue rather than fixing it.

Update 3: So I end up just replacing the first instance of +NoHorizontalCameraUpdate, as indicated in the above post. I then had to not use the flag to freeze the right edge on any screen I warp into. Doing these two things in conjunction, along with using a special flag that allows occasional use of non-scrolling screens, has "fixed" this issue in my project. It's a scotch tape workaround, but all my projects have been this way. Cheers.
 
Last edited:
Top Bottom