Ejemplo n.º 1
0
                internal void Reconstruct(lightmap_vertex_buffer_bucket_block buffer_bucket,
                                          geometry_block_resource_block gb,
                                          IO.EndianReader er,
                                          Render.VertexBufferInterface.StreamReader[] stream_readers)
                {
                    short stream_source = gb.SecondaryLocater.Value;
                    var   stream_r      = stream_readers[stream_source];

                    if (!stream_r.UsesNullDefinition)
                    {
                        stream_r.Read(er);
                        stream_r.Denormalize();
                        ReconstructRawVertex(buffer_bucket, stream_source, stream_r);
                    }
                }
Ejemplo n.º 2
0
        bool Reconstruct(int index, CacheFile c, out byte[] data)
        {
            geometry_block_resource_block gbr = Resources[index];

            // seek to the actual data
            c.InputStream.Seek(GetBlockOffset().Offset +
                               8 +
                               GetSectionSize() +
                               gbr.Offset);

            // read all of the geometry resource block data
            data = c.InputStream.ReadBytes(gbr.Size);

            return(true);
        }
Ejemplo n.º 3
0
        internal void Reconstruct(global_geometry_section_info_struct section_info,
                                  geometry_block_resource_block gb,
                                  IO.EndianReader er,
                                  BlamLib.Render.VertexBufferInterface.StreamReader[] stream_readers)
        {
            short stream_source = gb.SecondaryLocater.Value;

            if (stream_source == 0)
            {
                Default();
            }

            var stream_r = stream_readers[stream_source];

            if (!stream_r.UsesNullDefinition)
            {
                stream_r.Read(er);
                stream_r.Denormalize();
                ReconstructRawVertex(section_info, stream_source, stream_r);
            }
        }
Ejemplo n.º 4
0
        void ReconstructRawPcaData(int pca_data_offset,
                                   geometry_block_resource_block gb,
                                   IO.EndianReader er,
                                   Render.VertexBufferInterface.StreamReader[] stream_readers)
        {
            short stream_source = gb.SecondaryLocater.Value;

            // HACK: f*****g PRT is gay.
            if (stream_source == -1)
            {
                stream_source = 0;
            }

            var stream_r = stream_readers[stream_source];

            if (!stream_r.UsesNullDefinition)
            {
                stream_r.Read(er);
                stream_r.Denormalize();

                ReconstructRawPca(pca_data_offset, stream_source, stream_r);
            }
        }
Ejemplo n.º 5
0
				internal void Reconstruct(lightmap_vertex_buffer_bucket_block buffer_bucket,
					geometry_block_resource_block gb,
					IO.EndianReader er,
					Render.VertexBufferInterface.StreamReader[] stream_readers)
				{
					short stream_source = gb.SecondaryLocater.Value;
					var stream_r = stream_readers[stream_source];

					if (!stream_r.UsesNullDefinition)
					{
						stream_r.Read(er);
						stream_r.Denormalize();
						ReconstructRawVertex(buffer_bucket, stream_source, stream_r);
					}
				}
Ejemplo n.º 6
0
		internal void Reconstruct(global_geometry_section_info_struct section_info,
			geometry_block_resource_block gb,
			IO.EndianReader er,
			BlamLib.Render.VertexBufferInterface.StreamReader[] stream_readers)
		{
			short stream_source = gb.SecondaryLocater.Value;

			if(stream_source == 0)
				Default();

			var stream_r = stream_readers[stream_source];
			if (!stream_r.UsesNullDefinition)
			{
				stream_r.Read(er);
				stream_r.Denormalize();
				ReconstructRawVertex(section_info, stream_source, stream_r);
			}
		}
Ejemplo n.º 7
0
		void ReconstructRawPcaData(int pca_data_offset, 
			geometry_block_resource_block gb,
			IO.EndianReader er,
			Render.VertexBufferInterface.StreamReader[] stream_readers)
		{
			short stream_source = gb.SecondaryLocater.Value;
			// HACK: f*****g PRT is gay.
			if (stream_source == -1)
				stream_source = 0;

			var stream_r = stream_readers[stream_source];

			if (!stream_r.UsesNullDefinition)
			{
				stream_r.Read(er);
				stream_r.Denormalize();

				ReconstructRawPca(pca_data_offset, stream_source, stream_r);
			}
		}