diff options
-rw-r--r-- | table/elrail_data.h | 81 |
1 files changed, 41 insertions, 40 deletions
diff --git a/table/elrail_data.h b/table/elrail_data.h index c9965f51d..ac613a0dd 100644 --- a/table/elrail_data.h +++ b/table/elrail_data.h @@ -97,79 +97,80 @@ static byte PreferredPPPofTrackBitAtPCP[TRACK_END][DIAGDIR_END] = { }; #undef PCP_NOT_ON_TRACK + #define NUM_IGNORE_GROUPS 3 -#define NO_IGNORE 0xFF +#define IGNORE_NONE 0xFF /** In case we have a staight line, we place pylon only every two tiles, so there are certain tiles which we ignore. A straight line is found if - we have exactly two preferred points.*/ + we have exactly two PPPs. */ static byte IgnoredPCP[NUM_IGNORE_GROUPS][TLG_END][DIAGDIR_END] = { - { /* Ignore group 1 */ + { /* Ignore group 1, X and Y tracks */ { /* X even, Y even */ - 1 << DIR_N | 1 << DIR_S, + IGNORE_NONE, 1 << DIR_NE | 1 << DIR_SW, 1 << DIR_NW | 1 << DIR_SE, - 1 << DIR_W | 1 << DIR_E + IGNORE_NONE }, { /* X even, Y odd */ - 0xFF, - 1 << DIR_E | 1 << DIR_W, + IGNORE_NONE, + IGNORE_NONE, 1 << DIR_NW | 1 << DIR_SE, 1 << DIR_NE | 1 << DIR_SW }, { /* X odd, Y even */ 1 << DIR_NW | 1 << DIR_SE, 1 << DIR_NE | 1 << DIR_SW, - 1 << DIR_N | 1 << DIR_S , - 0xFF + IGNORE_NONE, + IGNORE_NONE }, { /* X odd, Y odd */ 1 << DIR_NW | 1 << DIR_SE, - 0xFF, - 0xFF, + IGNORE_NONE, + IGNORE_NONE, 1 << DIR_NE | 1 << DIR_SW } }, - { /* Ignore group 2 */ + { /* Ignore group 2, LEFT and RIGHT tracks */ { 1 << DIR_E | 1 << DIR_W, - 1 << DIR_N | 1 << DIR_S, - 0xFF, + IGNORE_NONE, + IGNORE_NONE, 1 << DIR_E | 1 << DIR_W }, { - 0xFF, - 0xFF, - 1 << DIR_N | 1 << DIR_S, - 1 << DIR_N | 1 << DIR_S + IGNORE_NONE, + 1 << DIR_E | 1 << DIR_W, + 1 << DIR_E | 1 << DIR_W, + IGNORE_NONE }, { - 0xFF, + IGNORE_NONE, 1 << DIR_E | 1 << DIR_W, 1 << DIR_E | 1 << DIR_W, - 1 << DIR_N | 1 << DIR_S + IGNORE_NONE }, { - 1 << DIR_N | 1 << DIR_S, - 1 << DIR_N | 1 << DIR_S, - 0xFF, + 1 << DIR_E | 1 << DIR_W, + IGNORE_NONE, + IGNORE_NONE, 1 << DIR_E | 1 << DIR_W } }, - { /* Ignore group 3 */ + { /* Ignore group 3, UPPER and LOWER tracks */ { - 0xFF, - 0xFF, - 0xFF, - 0xFF + 1 << DIR_N | 1 << DIR_S, + 1 << DIR_N | 1 << DIR_S, + IGNORE_NONE, + IGNORE_NONE }, { - 0xFF, - 0xFF, - 1 << DIR_E | 1 << DIR_W, - 0xFF + IGNORE_NONE, + IGNORE_NONE, + 1 << DIR_N | 1 << DIR_S, + 1 << DIR_N | 1 << DIR_S }, { - 0xFF, - 0xFF, - 0xFF, - 0xFF + IGNORE_NONE, + IGNORE_NONE, + 1 << DIR_N | 1 << DIR_S , + 1 << DIR_N | 1 << DIR_S }, { - 1 << DIR_E | 1 << DIR_W, - 0xFF, - 0xFF, - 0xFF + 1 << DIR_N | 1 << DIR_S, + 1 << DIR_N | 1 << DIR_S, + IGNORE_NONE, + IGNORE_NONE } } }; |