Jump to content

Port with Mirrored Levels?


Average

Recommended Posts

At the beginning of the month there was the thread suggesting trying out different ports. As a result, I've tried loads of them. However, I've gotten confused! There was a port that allowed me to play through the iwad levels reversed (mirrored) but I've forgotten which one it was. Does anyone know? Thanks for any help. :)

Share this post


Link to post

How is that done programmatically anyway? I tried splitting levels without rebuilding nodes, but it became nontrivial when I had to setup the segs, because their cut offsets were no longer just negated values.

Share this post


Link to post

I've no idea but it's certainly a really cool difference from the other ports. Hopefully Fabian will see this thread and answer. :)

Share this post


Link to post
printz said:

How is that done programmatically anyway?

I did this as an April Fools joke back in 2008 and I assume Crispy Doom is using the same code. Here's the commit.

It's quite tricky to get to work but as I recall didn't actually take me too long to actually do. To start off with you (obviously) need to invert the X component of each vertex and thing. Linedefs need to have their vertices swapped because they're now the other way round.

Then, because you've flipped the map around you need to effectively reverse the BSP tree to keep things rendering properly. You can see that in P_LoadNodes where it reverses the direction of the dividing line for each node.

Finally the blockmap needs to be fixed. The original blockmap will work fine in the new arrangement, but the block pointers need to be rebuilt and the origin flipped. This makes sure that the blocks contain the linedefs for their new location.

Share this post


Link to post
Average said:

I've no idea but it's certainly a really cool difference from the other ports. Hopefully Fabian will see this thread and answer. :)

To be honest, I have "borrowed" that feature from Strawberry Doom. Its code is in turn adapted from the Chocolate Doom commit that Fraggle posted.

Share this post


Link to post

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...