Here is a big source patch which fixes all these issues. To apply it, cd to the main source directory (one above DROD and DRODLib) and do
patch -u -p1 < builders_plates.patch
More specifically:
* When a builder breaks a platform into pieces, the pieces will move independently.
* When a builder removes a yellow door tile, any orb or pressure plate data pointing to the removed tile will be moved to stay on the door if possible.
* When a builder breaks a yellow door into pieces, connections from orbs and pressure plates will be copied (so that the pieces of the yellow door always go up and down together).
* When a builder removes a pressure plate tile, the plate will be updated to no longer check status of that tile.
* When a builder breaks a pressure plate into pieces, the pieces will now operate independently, and each will have the same actions that the original plate did.
* The previous change will also apply to the editor when you break up a pressure plate by right-click or paste. (The editor already dealt with yellow doors as above.)
* Changed the processing when unoccupied pressure plates pop up at the end of the turn so that the order depends only on their placement in the room, not the order the plates were created.
* Fixed bug: pressure plate fails to pop up when flying player is above it.
* Fixed bug: pressure plate is depressed when flying player enters the room above it. (Only affects cases where the role was set in an earlier room. If a script in the room entered changes player's role during turn 0, it's already too late and the plate will pop down, then up.)
The last two aren't directly related, but I happened to notice them, verify them as bugs, and fix them while looking at so much pressure plate code.
The thing about the order in which pressure plates pop up deserves some more comment. It's a rare issue to begin with, but can make a difference even without builders present. The gory details, which can be skipped if you only care that there's no longer hidden information and existing rooms won't break:
Click here to view the secret text
×Pressure plates only change from pressed to up at the end of each turn. The order in which this happens can make a difference, but only if two on/off plates have different actions on the same door (e.g. one opens it, another closes it). In 3.0.0 and 3.0.2r2, the order depends on how the plates are stored, and the player can't really find that out until it happens. With this source patch, plates will always pop up from N to S, and from W to E when on the same row (like the movement order of new tarstuff babies). The first tile belonging to that plate in this order counts as the plate's position for this purpose.
I downloaded all the 3.0 holds from Holds and scanned for rooms in them and in TCB where the change might make a difference. The only rooms that qualify were one from my own hold where I was testing this stuff, and
Memories : Underneath the Island : 2N. But that one's not on Holds yet; I just happened to have it. It's just that demos there
might possibly break; the room does not break. My own victory demo from the room is unaffected (and I didn't use the optional plate).
[Last edited by schep at 05-12-2007 05:45 PM]