Example #1
0
        public static bool ImportAreas(string fullPath)
        {
            var sLevels = new Areas.Serialized[510];

            for (int i = 0; i < sLevels.Length; i++)
            {
                sLevels[i] = new Areas.Serialized();
            }
            try
            {
                Do.Import(sLevels, fullPath + "\\" + "area", "AREA", true);
            }
            catch
            {
                MessageBox.Show("One or more files not an area data file.",
                                "LAZY SHELL", MessageBoxButtons.OK, MessageBoxIcon.Stop);
                return(false);
            }
            for (int i = 0; i < sLevels.Length; i++)
            {
                Areas[i].Layering       = sLevels[i].Layering;
                Areas[i].Layering.Index = i;
                Areas[i].Map            = sLevels[i].MapNum;
                var map = sLevels[i].Map;
                Maps[Areas[i].Map]                     = map;
                Tilesets[map.TilesetL1 + 0x20]         = sLevels[i].TilesetL1;
                Tilesets[map.TilesetL2 + 0x20]         = sLevels[i].TilesetL2;
                Tilesets[map.TilesetL3]                = sLevels[i].TilesetL3;
                Modify_Tilesets[map.TilesetL1 + 0x20]  = true;
                Modify_Tilesets[map.TilesetL2 + 0x20]  = true;
                Modify_Tilesets[map.TilesetL3]         = true;
                Tilemaps[map.TilemapL1 + 0x40]         = sLevels[i].TilemapL1;
                Tilemaps[map.TilemapL2 + 0x40]         = sLevels[i].TilemapL2;
                Tilemaps[map.TilemapL3]                = sLevels[i].TilemapL3;
                Modify_Tilemaps[map.TilemapL1 + 0x40]  = true;
                Modify_Tilemaps[map.TilemapL2 + 0x40]  = true;
                Modify_Tilemaps[map.TilemapL3]         = true;
                CollisionMaps[map.CollisionMap]        = sLevels[i].CollisionMap;
                Modify_CollisionMaps[map.CollisionMap] = true;
                Areas[i].NPCObjects                    = sLevels[i].NPCs;
                Areas[i].ExitTriggers                  = sLevels[i].Exits;
                Areas[i].EventTriggers                 = sLevels[i].Events;
                Areas[i].Overlaps                = sLevels[i].Overlaps;
                Areas[i].NPCObjects.AreaIndex    = i;
                Areas[i].ExitTriggers.AreaIndex  = i;
                Areas[i].EventTriggers.AreaIndex = i;
                Areas[i].Overlaps.AreaIndex      = i;
            }
            return(true);
        }
Example #2
0
        public static bool ImportArea(int index, string fullPath)
        {
            var sLevel = new Areas.Serialized();

            try
            {
                sLevel = (Areas.Serialized)Do.Import(sLevel, fullPath);
            }
            catch
            {
                MessageBox.Show("File not an area data file.",
                                "LAZY SHELL", MessageBoxButtons.OK, MessageBoxIcon.Stop);
                return(false);
            }
            Areas[index].Layering       = sLevel.Layering;
            Areas[index].Layering.Index = index;
            Areas[index].Map            = sLevel.MapNum;
            var map = sLevel.Map;

            Maps[Areas[index].Map]                 = map;
            Tilesets[map.TilesetL1 + 0x20]         = sLevel.TilesetL1;
            Tilesets[map.TilesetL2 + 0x20]         = sLevel.TilesetL2;
            Tilesets[map.TilesetL3]                = sLevel.TilesetL3;
            Modify_Tilesets[map.TilesetL1 + 0x20]  = true;
            Modify_Tilesets[map.TilesetL2 + 0x20]  = true;
            Modify_Tilesets[map.TilesetL3]         = true;
            Tilemaps[map.TilemapL1 + 0x40]         = sLevel.TilemapL1;
            Tilemaps[map.TilemapL2 + 0x40]         = sLevel.TilemapL2;
            Tilemaps[map.TilemapL3]                = sLevel.TilemapL3;
            Modify_Tilemaps[map.TilemapL1 + 0x40]  = true;
            Modify_Tilemaps[map.TilemapL2 + 0x40]  = true;
            Modify_Tilemaps[map.TilemapL3]         = true;
            CollisionMaps[map.CollisionMap]        = sLevel.CollisionMap;
            Modify_CollisionMaps[map.CollisionMap] = true;
            Areas[index].NPCObjects                = sLevel.NPCs;
            Areas[index].ExitTriggers              = sLevel.Exits;
            Areas[index].EventTriggers             = sLevel.Events;
            Areas[index].Overlaps                = sLevel.Overlaps;
            Areas[index].NPCObjects.AreaIndex    = index;
            Areas[index].ExitTriggers.AreaIndex  = index;
            Areas[index].EventTriggers.AreaIndex = index;
            Areas[index].Overlaps.AreaIndex      = index;
            //
            return(true);
        }