Example #1
0
        public override void Read(AssetBinaryReader reader, int nextStarting)
        {
            base.Read(reader, nextStarting);

            reader.ReadInt32();
            int numIndexEntries = reader.ReadInt32();

            IndexData = new List <int>();
            for (int i = 0; i < numIndexEntries; i++)
            {
                IndexData.Add(reader.ReadInt32());
            }

            var nms = reader.ReadFString();

            reader.ReadInt32(); // null
            var val = reader.ReadFString();

            LevelType = new NamespacedString(nms, val);

            reader.ReadInt64(); // null
            FlagsProbably = reader.ReadUInt64();

            MiscCategoryData = new List <int>();
            while (reader.BaseStream.Position < nextStarting - 1)
            {
                MiscCategoryData.Add(reader.ReadInt32());
            }

            reader.ReadByte();
        }
Example #2
0
        public override void Read(AssetBinaryReader reader, int nextStarting)
        {
            base.Read(reader, nextStarting);
            reader.ReadInt32();

            Table = new FStringTable(reader.ReadFString());

            int numEntries = reader.ReadInt32();

            for (int i = 0; i < numEntries; i++)
            {
                Table.Add(reader.ReadFString(), reader.ReadFString());
            }
        }
Example #3
0
        public void Read(AssetBinaryReader reader, UAsset asset)
        {
            Position         = new int[3];
            AbsolutePosition = new int[3];

            if (asset.GetCustomVersion <FFortniteMainBranchObjectVersion>() < FFortniteMainBranchObjectVersion.WorldCompositionTile3DOffset)
            {
                Position[0] = reader.ReadInt32();
                Position[1] = reader.ReadInt32();
                Position[2] = 0;
            }
            else
            {
                Position[0] = reader.ReadInt32();
                Position[1] = reader.ReadInt32();
                Position[2] = reader.ReadInt32();
            }
            Bounds = new BoxPropertyData(new FName());
            Bounds.Read(reader, false, 0, 0);
            Layer = new FWorldTileLayer();
            Layer.Read(reader, asset);

            if (asset.EngineVersion >= UE4Version.VER_UE4_WORLD_LEVEL_INFO_UPDATED)
            {
                bHideInTileView       = reader.ReadInt32() == 1;
                ParentTilePackageName = reader.ReadFString();
            }

            if (asset.EngineVersion >= UE4Version.VER_UE4_WORLD_LEVEL_INFO_LOD_LIST)
            {
                int numEntries = reader.ReadInt32();
                LODList = new FWorldTileLODInfo[numEntries];
                for (int i = 0; i < numEntries; i++)
                {
                    LODList[i] = new FWorldTileLODInfo();
                    LODList[i].Read(reader, asset);
                }
            }

            if (asset.EngineVersion >= UE4Version.VER_UE4_WORLD_LEVEL_INFO_ZORDER)
            {
                ZOrder = reader.ReadInt32();
            }

#pragma warning disable CS0162 // Unreachable code detected
            if (false)         // Ar.GetPortFlags() & PPF_DuplicateForPIE
            {
                AbsolutePosition[0] = reader.ReadInt32();
                AbsolutePosition[1] = reader.ReadInt32();
                AbsolutePosition[2] = reader.ReadInt32();
            }
#pragma warning restore CS0162 // Unreachable code detected
        }
Example #4
0
        public void Read(AssetBinaryReader reader, UAsset asset)
        {
            Name      = reader.ReadFString();
            Reserved0 = reader.ReadInt32();
            Reserved1 = new IntPointPropertyData(new FName(string.Empty));
            Reserved1.Read(reader, false, 0, 0);

            if (asset.EngineVersion >= UE4Version.VER_UE4_WORLD_LEVEL_INFO_UPDATED)
            {
                StreamingDistance = reader.ReadInt32();
            }

            if (asset.EngineVersion >= UE4Version.VER_UE4_WORLD_LAYER_ENABLE_DISTANCE_STREAMING)
            {
                DistanceStreamingEnabled = reader.ReadInt32() == 1;
            }
        }