SRB2 Message Board

SRB2 Message Board (https://mb.srb2.org/index.php)
-   Mods (2.1.X) (https://mb.srb2.org/forumdisplay.php?f=69)
-   -   Mirror Mode (https://mb.srb2.org/showthread.php?t=43648)

Jazz 09-29-2018 01:37 AM

Mirror Mode
 
4 Attachment(s)
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.

Spoiler: The unlock condition
Complete 1P without losing a life.
Spoiler: Known Issues

  • 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.
Spoiler: Notes about the source code
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?

Prime 2.0 10-03-2018 10:39 AM

Welcome to Releases!

GreenKnight9000 10-03-2018 03:32 PM

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

Goldenhog 10-03-2018 08:30 PM

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.

SteelT 10-04-2018 03:35 PM

What was the reason for disabling png screenshot support?

RomioTheBadass 10-04-2018 08:03 PM

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.

Jazz 10-04-2018 09:52 PM

Quote:

Originally Posted by Steel Titanium (Post 802351)
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.

Quote:

Originally Posted by Goldenhog (Post 802335)
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!"

SteelT 10-04-2018 11:19 PM

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.


All times are GMT. The time now is 11:46 AM.

Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2020, vBulletin Solutions, Inc.