chiark / gitweb /
sane handling of incoming detections
[trains.git] / layout / data2safety
index 5c7df3702d3637d3f3f83d2857059d413f2f3acd..7e8e0eb7b50f8b6e625b54add34a302962bbe406 100755 (executable)
@@ -485,7 +485,7 @@ sub writeout () {
     }
     o("const SegmentNum info_nsegments=NUM_SEGMENTS;\n");
     o("const SegmentInfo info_segments[NUM_SEGMENTS]= {");
-    my (@sensemap,$segnum,$sensenum,$i,$j);
+    my (@sensemap,$segnum,$sensenum,$i);
     $delim= '';
     $segnum= 0;
     foreach $seg (@segs) {
@@ -503,18 +503,18 @@ sub writeout () {
     }
     o("\n};\n");
     o("const BoardObject info_maxreverse= $maxreverseobjnum;\n");
-    o("#define U -1\n");
+    o("#define u -1\n");
     o("const SegmentNumInMap info_segmentmap[]= {\n");
-    $i=0; $j=0;
+    $i=0;
     foreach $seg (@sensemap) {
        o(!$i ? ' ' :
-         (grep { $i == $_ } @sensesbase) ? ($j=0,"\n ") :
-         !(++$j % 30) ? ",\n  " :
+         !($i % 12) ? ",\n " :
          ",");
-       o($seg || 'U');
+       o(defined($seg) ? sprintf("%4d",$seg) : '   u');
        $i++;
     }
     o("\n};\n".
+      "#undef u\n".
       "const int info_segmentmaplen= ".scalar(@sensemap).";\n");
 }