<p>One-way walls are implemented using zones instead of passmap bits, which it turns out was a big mistake. A lot of complexity and many bugs and missing features in the map editor have resulted. They're all interrelated, so I'll document them all here:</p>
<ul>
<li>
<p>When placed by pressing W, they aren't tracked by undo/redo!</p>
</li>
<li>
<p>If Clone Tile Merging is Off, then the Clone preview cursor converts tiles with one-way wall bits set into all wall bits set (255). This happens when the Clone preview is moved over that tile. Note that the preview is implemented using an undo/redo buffer.</p>
</li>
<li>
<p>If Clone Tile Merging is On, one-way walls aren't destroyed, but they aren't copied as they should be. If you play around with Mark/Clone in the Zonemap mode you see the same thing.</p>
</li>
<li>
<p>Foxley reported all wall bits can also be set when trying to undo/redo placing a one-way wall: <a href="https://cdn.discordapp.com/attachments/275093196852166667/387127463572144129/action370001.gif" rel="nofollow">https://cdn.discordapp.com/attachments/275093196852166667/387127463572144129/action370001.gif</a> "I actually never set any of those bits, was just messing around with Ctrl+arrow keys and W for one way walls"</p>
</li>
<li>
<p>Pressing W while using the clone tool results in all wall bits (255) being written to the tile under the cursor, although you can't see it because the clone preview hides it</p>
</li>
<li>
<p>There are lots of ways in which one-way walls don't work properly when using the other tools, for example if you use the Box tool and press Space is fills the box with walls, if you press W it doesn't.</p>
</li>
<li>
<p>They aren't reported/handled by the wallmap script commands, you have to use zone commands instead</p>
</li>
</ul>

<p style="font-size:small;-webkit-text-size-adjust:none;color:#666;">—<br />You are receiving this because you are subscribed to this thread.<br />Reply to this email directly, <a href="https://github.com/ohrrpgce/ohrrpgce/issues/32?email_source=notifications&email_token=AMWGWZWAZSTHEHGJ7TTFM4TQGHG2XA5CNFSM4IPHSNKKYY3PNVWWK3TUL52HS4DFUVEXG43VMWVGG33NNVSW45C7NFSM4HHGTZPQ">view it on GitHub</a>, or <a href="https://github.com/notifications/unsubscribe-auth/AMWGWZU5JKZX55KZIHJPBHLQGHG2XANCNFSM4IPHSNKA">mute the thread</a>.<img src="https://github.com/notifications/beacon/AMWGWZRI7U5EMSB6G3OZCALQGHG2XA5CNFSM4IPHSNKKYY3PNVWWK3TUL52HS4DFUVEXG43VMWVGG33NNVSW45C7NFSM4HHGTZPQ.gif" height="1" width="1" alt="" /></p>
<script type="application/ld+json">[
{
"@context": "http://schema.org",
"@type": "EmailMessage",
"potentialAction": {
"@type": "ViewAction",
"target": "https://github.com/ohrrpgce/ohrrpgce/issues/32?email_source=notifications\u0026email_token=AMWGWZWAZSTHEHGJ7TTFM4TQGHG2XA5CNFSM4IPHSNKKYY3PNVWWK3TUL52HS4DFUVEXG43VMWVGG33NNVSW45C7NFSM4HHGTZPQ",
"url": "https://github.com/ohrrpgce/ohrrpgce/issues/32?email_source=notifications\u0026email_token=AMWGWZWAZSTHEHGJ7TTFM4TQGHG2XA5CNFSM4IPHSNKKYY3PNVWWK3TUL52HS4DFUVEXG43VMWVGG33NNVSW45C7NFSM4HHGTZPQ",
"name": "View Issue"
},
"description": "View this Issue on GitHub",
"publisher": {
"@type": "Organization",
"name": "GitHub",
"url": "https://github.com"
}
}
]</script>