don't click here

I cannot find how to disable the Screen Lock in Sonic 1

Discussion in 'Engineering & Reverse Engineering' started by WillARing, Jan 18, 2025.

Tags:
  1. WillARing

    WillARing

    Member
    3
    0
    1
    For instance in Marble Zone Act 1 the screen locks above a certain point, which is a problem for me as my layout will not fit. Is there a way to disable it? (I'm using the Github disassembly)
     
  2. Devon

    Devon

    Please do not contact me, overwhelmed with stuff Tech Member
    1,522
    1,878
    93
    your mom
    Screen boundary changes are handled in code in "DynamicLevelEvents" (or "DynScrResizeLoad" in the old 2005 disassembly).
     
  3. WillARing

    WillARing

    Member
    3
    0
    1
    This helped a lot with marble zone, though I still can't seem to move the Goalpost boundary.
     
  4. Devon

    Devon

    Please do not contact me, overwhelmed with stuff Tech Member
    1,522
    1,878
    93
    your mom
    For that, you must edit the initial stage boundary array, which is located at "LevelSizeArray". The format for each stage is as follows:
    • 4 (2 bytes)
    • Left boundary (2 bytes)
    • Right boundary (2 bytes) (this is what you want to change)
    • Top boundary (2 bytes) (set to 0xFF00 to enable vertical wrapping, like in Labyrinth Zone act 3)
    • Bottom boundary (2 bytes)
    • 0x60 (2 bytes)