Ejemplo n.º 1
0
        public override ModRecordAligner.AlignmentRules GetAlignmentRules()
        {
            var ret = new ModRecordAligner.AlignmentRules();

            // Alignment rules to come
            return(ret);
        }
Ejemplo n.º 2
0
        public override ModRecordAligner.AlignmentRules GetAlignmentRules()
        {
            var ret = new ModRecordAligner.AlignmentRules();

            ret.AddAlignments(
                RecordTypes.CELL,
                new RecordType("EDID"),
                new RecordType("FULL"),
                new RecordType("DATA"),
                new RecordType("XCLC"),
                new RecordType("XCLL"),
                new RecordType("XCLR"),
                new RecordType("XCMT"),
                new RecordType("XCLW"),
                new RecordType("XCCM"),
                new RecordType("XCWT"),
                new RecordType("XOWN"),
                new RecordType("XRNK"),
                new RecordType("XGLB"));
            ret.AddAlignments(
                RecordTypes.WRLD,
                new RecordType("EDID"),
                new RecordType("FULL"),
                new RecordType("WNAM"),
                new RecordType("CNAM"),
                new RecordType("NAM2"),
                new RecordType("ICON"),
                new RecordType("MNAM"),
                new RecordType("DATA"),
                new RecordType("NAM0"),
                new RecordType("NAM9"),
                new RecordType("SNAM"),
                new RecordType("XXXX"));
            ret.StopMarkers[RecordTypes.WRLD] = new List <RecordType>()
            {
                new RecordType("OFST"),
            };
            ret.AddAlignments(
                RecordTypes.REFR,
                new ModRecordAligner.AlignmentStraightRecord("EDID"),
                new ModRecordAligner.AlignmentStraightRecord("NAME"),
                new ModRecordAligner.AlignmentStraightRecord("XPCI"),
                new ModRecordAligner.AlignmentStraightRecord("FULL"),
                new ModRecordAligner.AlignmentStraightRecord("XTEL"),
                new ModRecordAligner.AlignmentStraightRecord("XLOC"),
                new ModRecordAligner.AlignmentStraightRecord("XOWN"),
                new ModRecordAligner.AlignmentStraightRecord("XRNK"),
                new ModRecordAligner.AlignmentStraightRecord("XGLB"),
                new ModRecordAligner.AlignmentStraightRecord("XESP"),
                new ModRecordAligner.AlignmentStraightRecord("XTRG"),
                new ModRecordAligner.AlignmentStraightRecord("XSED"),
                new ModRecordAligner.AlignmentStraightRecord("XLOD"),
                new ModRecordAligner.AlignmentStraightRecord("XCHG"),
                new ModRecordAligner.AlignmentStraightRecord("XHLT"),
                new ModRecordAligner.AlignmentStraightRecord("XLCM"),
                new ModRecordAligner.AlignmentStraightRecord("XRTM"),
                new ModRecordAligner.AlignmentStraightRecord("XACT"),
                new ModRecordAligner.AlignmentStraightRecord("XCNT"),
                new ModRecordAligner.AlignmentSubRule(
                    new RecordType("XMRK"),
                    new RecordType("FNAM"),
                    new RecordType("FULL"),
                    new RecordType("TNAM")),
                new ModRecordAligner.AlignmentStraightRecord("ONAM"),
                new ModRecordAligner.AlignmentStraightRecord("XRGD"),
                new ModRecordAligner.AlignmentStraightRecord("XSCL"),
                new ModRecordAligner.AlignmentStraightRecord("XSOL"),
                new ModRecordAligner.AlignmentStraightRecord("DATA"));
            ret.AddAlignments(
                RecordTypes.ACRE,
                new RecordType("EDID"),
                new RecordType("NAME"),
                new RecordType("XOWN"),
                new RecordType("XRNK"),
                new RecordType("XGLB"),
                new RecordType("XESP"),
                new RecordType("XRGD"),
                new RecordType("XSCL"),
                new RecordType("DATA"));
            ret.AddAlignments(
                RecordTypes.ACHR,
                new RecordType("EDID"),
                new RecordType("NAME"),
                new RecordType("XPCI"),
                new RecordType("FULL"),
                new RecordType("XLOD"),
                new RecordType("XESP"),
                new RecordType("XMRC"),
                new RecordType("XHRS"),
                new RecordType("XRGD"),
                new RecordType("XSCL"),
                new RecordType("DATA"));
            ret.AddAlignments(
                RecordTypes.CREA,
                new RecordType("EDID"),
                new RecordType("FULL"),
                new RecordType("MODL"),
                new RecordType("MODB"),
                new RecordType("MODT"),
                new AlignmentRepeatedRule(new RecordType("CNTO")),
                new AlignmentRepeatedRule(new RecordType("SPLO")),
                new AlignmentRepeatedRule(new RecordType("NIFZ")),
                new RecordType("NIFT"),
                new RecordType("ACBS"),
                new AlignmentRepeatedRule(new RecordType("SNAM")),
                new RecordType("INAM"),
                new RecordType("SCRI"),
                new RecordType("AIDT"),
                new AlignmentRepeatedRule(new RecordType("PKID")),
                new AlignmentRepeatedRule(new RecordType("KFFZ")),
                new RecordType("DATA"),
                new RecordType("RNAM"),
                new RecordType("ZNAM"),
                new RecordType("TNAM"),
                new RecordType("BNAM"),
                new RecordType("WNAM"),
                new RecordType("NAM0"),
                new RecordType("NAM1"));
            ret.StopMarkers[RecordTypes.CREA] = new List <RecordType>()
            {
                new RecordType("DATA"),
            };
            ret.SetGroupAlignment(
                (int)GroupTypeEnum.CellTemporaryChildren,
                new RecordType("LAND"),
                new RecordType("PGRD"));
            return(ret);
        }
Ejemplo n.º 3
0
        public override ModRecordAligner.AlignmentRules GetAlignmentRules()
        {
            var ret = new ModRecordAligner.AlignmentRules();

            ret.AddAlignments(
                RecordTypes.CELL,
                new RecordType("EDID"),
                new RecordType("FULL"),
                new RecordType("DATA"),
                new RecordType("XCLC"),
                new RecordType("XCLL"),
                new RecordType("TVDT"),
                new RecordType("MHDT"),
                new RecordType("LTMP"),
                new RecordType("LNAM"),
                new RecordType("XCLW"),
                new RecordType("XNAM"),
                new RecordType("XCLR"),
                new RecordType("XLCN"),
                new RecordType("XWCN"),
                new RecordType("XWCS"),
                new RecordType("XWCU"),
                new RecordType("XCWT"),
                new RecordType("XOWN"),
                new RecordType("XRNK"),
                new RecordType("XILL"),
                new RecordType("XWEM"),
                new RecordType("XCCM"),
                new RecordType("XCAS"),
                new RecordType("XEZN"),
                new RecordType("XCMO"),
                new RecordType("XCIM")
                );
            ret.AddAlignments(
                RecordTypes.REFR,
                new RecordType("EDID"),
                new RecordType("VMAD"),
                new RecordType("NAME"),
                new RecordType("XMBO"),
                new RecordType("XPRM"),
                new RecordType("XORD"),
                new RecordType("XOCP"),
                new RecordType("XPOD"),
                new RecordType("XPTL"),
                new RecordType("XRMR"),
                new RecordType("LNAM"),
                new RecordType("INAM"),
                new AlignmentRepeatedRule(new RecordType("XLRM")),
                new RecordType("XMBP"),
                new RecordType("XRGD"),
                new RecordType("XRGB"),
                new RecordType("XRDS"),
                new AlignmentRepeatedRule(new RecordType("XPWR")),
                new AlignmentRepeatedRule(new RecordType("XLTW")),
                new RecordType("XEMI"),
                new RecordType("XLIG"),
                new RecordType("XALP"),
                new RecordType("XTEL"),
                new RecordType("XTNM"),
                new RecordType("XMBR"),
                new RecordType("XWCN"),
                new RecordType("XWCS"),
                new RecordType("XWCU"),
                new RecordType("XCVL"),
                new RecordType("XCZR"),
                new RecordType("XCZA"),
                new RecordType("XCZC"),
                new RecordType("XSCL"),
                new RecordType("XSPC"),
                new RecordType("XAPD"),
                new AlignmentRepeatedRule(new RecordType("XAPR")),
                new RecordType("XLIB"),
                new RecordType("XLCM"),
                new RecordType("XLCN"),
                new RecordType("XTRI"),
                new RecordType("XLOC"),
                new RecordType("XEZN"),
                new RecordType("XNDP"),
                new AlignmentRepeatedRule(new RecordType("XLRT")),
                new RecordType("XIS2"),
                new RecordType("XOWN"),
                new RecordType("XRNK"),
                new RecordType("XCNT"),
                new RecordType("XCHG"),
                new RecordType("XLRL"),
                new RecordType("XESP"),
                new AlignmentRepeatedRule(new RecordType("XLKR")),
                new AlignmentSubRule(
                    new RecordType("XPRD"),
                    new RecordType("XPPA"),
                    new RecordType("INAM"),
                    new RecordType("SCHR"),
                    new RecordType("SCTX")),
                new AlignmentRepeatedRule(new RecordType("PDTO")),
                new RecordType("XACT"),
                new RecordType("XHTW"),
                new RecordType("XFVC"),
                new RecordType("ONAM"),
                new RecordType("XMRK"),
                new RecordType("FNAM"),
                new RecordType("FULL"),
                new RecordType("TNAM"),
                new RecordType("XATR"),
                new RecordType("XLOD"),
                new RecordType("DATA")
                );
            ret.AddAlignments(
                RecordTypes.ACHR,
                new RecordType("EDID"),
                new RecordType("VMAD"),
                new RecordType("NAME"),
                new RecordType("XEZN"),
                new RecordType("XRGD"),
                new RecordType("XRGB"),
                new AlignmentSubRule(
                    new RecordType("XPRD"),
                    new RecordType("XPPA"),
                    new RecordType("INAM"),
                    new RecordType("SCHR"),
                    new RecordType("SCTX")),
                new AlignmentRepeatedRule(new RecordType("PDTO")),
                new RecordType("XLCM"),
                new RecordType("XMRC"),
                new RecordType("XCNT"),
                new RecordType("XRDS"),
                new RecordType("XHLP"),
                new AlignmentRepeatedRule(new RecordType("XLKR")),
                new RecordType("XAPD"),
                new AlignmentRepeatedRule(new RecordType("XAPR")),
                new RecordType("XCLP"),
                new RecordType("XLCN"),
                new RecordType("XLRL"),
                new RecordType("XIS2"),
                new AlignmentRepeatedRule(new RecordType("XLRT")),
                new RecordType("XHTW"),
                new RecordType("XHOR"),
                new RecordType("XFVC"),
                new RecordType("XESP"),
                new RecordType("XOWN"),
                new RecordType("XRNK"),
                new RecordType("XEMI"),
                new RecordType("XMBR"),
                new RecordType("XIBS"),
                new RecordType("XSCL"),
                new RecordType("DATA"));
            AlignmentRule[] trapRules = new AlignmentRule[]
            {
                new RecordType("EDID"),
                new RecordType("VMAD"),
                new RecordType("NAME"),
                new RecordType("XEZN"),
                new RecordType("XOWN"),
                new RecordType("XRNK"),
                new RecordType("XHTW"),
                new RecordType("XFVC"),
                new RecordType("XPWR"),
                new RecordType("XLKR"),
                new RecordType("XAPD"),
                new AlignmentRepeatedRule(new RecordType("XAPR")),
                new RecordType("XESP"),
                new RecordType("XEMI"),
                new RecordType("XMBR"),
                new RecordType("XIS2"),
                new RecordType("XLRT"),
                new RecordType("XLRL"),
                new RecordType("XLOD"),
                new RecordType("XSCL"),
                new RecordType("DATA"),
            };
            ret.AddAlignments(
                PlacedArrow_Registration.TriggeringRecordType,
                trapRules);
            ret.AddAlignments(
                PlacedBarrier_Registration.TriggeringRecordType,
                trapRules);
            ret.AddAlignments(
                PlacedBeam_Registration.TriggeringRecordType,
                trapRules);
            ret.AddAlignments(
                PlacedCone_Registration.TriggeringRecordType,
                trapRules);
            ret.AddAlignments(
                PlacedFlame_Registration.TriggeringRecordType,
                trapRules);
            ret.AddAlignments(
                PlacedHazard_Registration.TriggeringRecordType,
                trapRules);
            ret.AddAlignments(
                PlacedMissile_Registration.TriggeringRecordType,
                trapRules);
            ret.AddAlignments(
                PlacedTrap_Registration.TriggeringRecordType,
                trapRules);
            ret.SetGroupAlignment(
                (int)GroupTypeEnum.CellTemporaryChildren,
                RecordTypes.LAND,
                RecordTypes.NAVM);
            return(ret);
        }