Several of us actually preferred the old (new) behavior, and seemingly everyone believes it would be best if both behaviors were available simultaneously. So in 28096 I suggested a compromise solution which seems to have unanimous support, so I post this to request that it be implemented.[*]When connecting circuit wires, the wire will re-anchor to the last entity clicked. (28096)
This is my proposed solution:
Code: Select all
struct *a = "the first entity clicked on when attaching a wire";
struct *b = "the second entity clicked on when attaching a wire";
connect(a, b);
if (type(a) != POLE || type(b) == POLE) a = b;
Just in case my psuedocode isn't clear enough, here's a description of the algorithm in plain albeit somewhat long-winded English: When the player has a wire already attached to one entity, then clicks on another entity to connect the wire between those two entities, first connect the two entities, then look at the types of the two entities to decide which entity the wire in the hand will be anchored to. If the first entity clicked on is not a pole, or the second entity clicked on is a pole, then cause the second entity to become the one which the wire in hand is anchored to. Otherwise, keep the wire in hand anchored to the first entity.