#include "daemons.h"
#include "dliste.h"
#include "../layout/plan-data-format.h"
+#include "../layout/layout-data.h"
#include <oop.h>
#include <oop-read.h>
sockprintf("%s",mxi->remainpat);
}
sockprintf("\n");
+
+ /* set the fixed moveable features */
+ const SegmentInfo *segi;
+ const MovFeatInfo *mfi;
+ const PlanSegmentData *planseg;
+ const PlanSegmovfeatData *planfeat;
+ int segn, s, mfn, f;
+
+ for (segn=0; segn<info_nsegments; segn++) {
+ segi= &info_segments[segn];
+ if (!segi->n_fixedmovfeats) continue;
+ for (s=0; s<NSEGMENTS; s++)
+ if (!strcmp(segi->pname, (planseg=&ui_plan_data.segments[s])->segname))
+ goto found_ld_seg;
+ die("layout data segment %s not found\n",segi->pname);
+ found_ld_seg:
+ for (mfn=0, mfi= segi->movfeats + segi->n_movfeats;
+ mfn < segi->n_fixedmovfeats;
+ mfn++, mfi++) {
+ for (f=1; f<planseg->n_movfeats; f++)
+ if (!strcmp(mfi->pname, (planfeat=&planseg->movfeats[f])->movfeatname))
+ goto found_ld_feat;
+ die("layout data movfeat %s/%s not found\n",segi->pname,mfi->pname);
+ found_ld_feat:
+ state[s].mfs[f].posn= mfi->posns;
+ if (debug) fprintf(debug,"fixed %s/%s=%d\n",
+ segi->pname,mfi->pname,mfi->posns);
+ }
+ }
}
static void si_fatal(ParseState *ps) {