Mirror Mode

Status
Not open for further replies.

Jazz

Member
Long time no see. I had an idea, so I did it. It's ugly at the moment, but most if not all maps should be playable.

This modification adds "Mirror Mode" to SRB2. This works in the same fashion as its namesake in Mario Kart. When enabled, levels are mirrored over the Y axis. In effect, all left turns become right turns, all clockwise motions become counterclockwise. This is achieved by reversing parts of the map as it is loaded. This feature is implemented as an unlockable in single player, but freely available to use in multiplayer without needing to unlock it. This modification contains this hypothetical unlocking mechanism and saves to its own gamedata file. Once unlocked, it appears in the secrets menu.

However in the meantime, the "mirrormode" console command can be used at any time to enable or disable this feature, the unlock requirement portion is commented out. Once you change the variable, it will mark the game as modified, and take effect on the next map load.

I have tested netplay locally and it seems to work without a hitch.

Hope you guys have as much fun playing with this as I have so far.

Complete 1P without losing a life.
  • No multiplayer menu option.
  • Most texture X offsets are not mirrored, some walls will look different as a result, and textures that scroll by offset will scroll in the wrong direction. For example, the ropes in ACZ1.
  • Right/left facing textures are not replaced with their opposite equivalents. For example, directional arrows and CEZ flags.
  • Some textures which have no offset end up offset in Mirror Mode. For example, the console at the end of ERZ2. Not sure offhand what causes it.
  • The angles of swinging chains and maces are not currently adjusted for Mirror Mode. This is most obvious in the tree section in CEZ1.
This particular copy of SRB2's source was branched off master @ 4b5ebef6c21c4b626472ed5fa4924ac705af87ad.
https://github.com/STJr/SRB2.git

I plan to rebase the next release against the current released tag (2.1.20 as of the time of this writing) if there is enough interest to warrant another one. Maybe even get a GitHub account, who knows?
 

Attachments

  • srb20001.png
    srb20001.png
    36.1 KB · Views: 1,570
  • srb20002.png
    srb20002.png
    52.3 KB · Views: 1,424
  • srb2mm.zip
    1.4 MB · Views: 1,101
  • srb2mm-src.zip
    3.2 MB · Views: 731
Last edited:
This should actually be in 2.2, though possibly a real pain to implement
A nice challenge that's hilariously so agonizing for muscle-memory moments that I just can't find the words to express it
 
This made my brain hurt, but in a good way. I felt myself reset every time I turned left and then saw a wall telling me I had to turn right now.



And actually yeah, this could be a nice unlockable for 2.2.
 
What was the reason for disabling png screenshot support?
 
Last edited:
It's amazing how much different some of the levels can feel with this, a fun way to replay levels and add an extra layer of challenge, Nice work.
 
What was the reason for disabiling png screenshot support?

Not intentional, my build environment is cobbled together, and apparently not all that well.

I also noticed that some types of tracker music doesn't play, either has to do with build flags or the version of the library msys2 provides. Didn't get a chance to look too deeply into it.

This made my brain hurt, but in a good way. I felt myself reset every time I turned left and then saw a wall telling me I had to turn right now.

Every time I went to try the other path for the ERZs or ACZ: "Wait! Wrong way!"
 
Last edited:
I have an feeling the issues with some music type is due to the way how it works, since PNG supports depends on zlib decompression, disabling PNG supports explicitly disables zlib. But I plan on fixing that so it's separated.
 
Status
Not open for further replies.

Who is viewing this thread (Total: 1, Members: 0, Guests: 1)

Back
Top