Example #1
0
        private static void WriteMapHeaderObject(Battle btl, BTBWriter BTBW)
        {
            BTBW.WriteObjectHeader(1, 240);
            BTBW.WriteIntTupleProperty(1, btl.Width);
            BTBW.WriteIntTupleProperty(2, btl.Height);
            BTBW.WriteStringProperty(1001, btl.PlayerArmy);
            BTBW.WriteStringProperty(1002, btl.EnemyArmy);
            BTBW.WriteStringProperty(1003, btl.CTL);
            BTBW.WriteStringProperty(1004, "/0");
            BTBW.WriteStringProperty(1005, "/0");
            int SegmentCount = 0;

            foreach (var region in btl.Regions)
            {
                SegmentCount += region.Lines.Count;
            }
            BTBW.WriteIntTupleProperty(9, btl.Regions.Count, SegmentCount);
        }
Example #2
0
 private static void WriteRegionObjects(Battle btl, BTBWriter BTBW)
 {
     foreach (Region region in btl.Regions)
     {
         BTBW.WriteObjectHeader(4, 68 + region.Lines.Count * 24);
         BTBW.WriteStringProperty(1006, region.Name);
         BTBW.WriteIntTupleProperty(5, (int)region.Flags);
         if (region.Lines.Count == 0)
         {
             BTBW.WriteIntTupleProperty(0x10, 0, 0);
             continue;
         }
         BTBW.WriteIntTupleProperty(10, region.Lines[0].StartX, region.Lines[0].StartY);
         foreach (Region.LineSegment LS in region.Lines)
         {
             BTBW.WriteIntTupleProperty(502, LS.StartX, LS.StartY, LS.EndX, LS.EndY);
         }
     }
 }