Пример #1
0
        protected device_group(int field_count) : base(field_count + 29)
        {
            Add(DeviceFlags                       = new TI.Flags());
            Add(PowerTransitionTime               = new TI.Real()); // 0x180
            Add(PowerAccelerationTime             = new TI.Real()); // 0x184
            Add(PositionTransitionTime            = new TI.Real()); // 0x188
            Add(PositionAccelerationTime          = new TI.Real()); // 0x18C
            Add(DepoweredPositionTransitionTime   = new TI.Real()); // 0x190
            Add(DepoweredPositionAccelerationTime = new TI.Real()); // 0x194
            Add(AinDevice = new TI.Enum());
            Add(BinDevice = new TI.Enum());
            Add(CinDevice = new TI.Enum());
            Add(DinDevice = new TI.Enum());
            Add(Open      = new TI.TagReference(this));
            Add(Close     = new TI.TagReference(this));
            Add(Opened    = new TI.TagReference(this));
            Add(Closed    = new TI.TagReference(this));
            Add(Depowered = new TI.TagReference(this));
            Add(Repowered = new TI.TagReference(this));
            Add(DelayTime = new TI.Real());
            Add(new TI.Pad(8));
            Add(DelayEffect = new TI.TagReference(this));
            Add(AutomaticActivationRadius = new TI.Real());
            Add(new TI.Pad(84));

            Add(PowerAccelerationGameTime             = new TI.Skip(4)); // 0x274
            Add(PowerTransitionGameTime               = new TI.Skip(4)); // 0x278
            Add(DepoweredPositionAccelerationGameTime = new TI.Skip(4)); // 0x27C
            Add(DepoweredPositionTransitionGameTime   = new TI.Skip(4)); // 0x280
            Add(PositionAccelerationGameTime          = new TI.Skip(4)); // 0x284
            Add(PositionTransitionGameTime            = new TI.Skip(4)); // 0x288
            Add(DelayGameTime = new TI.Skip(4));                         // 0x28C
        }
Пример #2
0
        protected object_group(int field_count) : base(field_count + 28)
        {
            Add(ObjectType        = new TI.Skip(2));
            Add(ObjectFlags       = new TI.Flags(BlamLib.TagInterface.FieldType.WordFlags));
            Add(BoundingRadius    = new TI.Real());
            Add(BoundingOffset    = new TI.RealPoint3D());
            Add(OriginOffset      = new TI.RealPoint3D());
            Add(AccelerationScale = new TI.Real());
            Add(new TI.Pad(4));
            Add(Model          = new TI.TagReference(this, TagGroups.mode));
            Add(AnimationGraph = new TI.TagReference(this, TagGroups.antr));
            Add(new TI.Pad(40));
            Add(CollisionModel = new TI.TagReference(this, TagGroups.coll));
            Add(Physics        = new TI.TagReference(this, TagGroups.phys));
            Add(ModifierShader = new TI.TagReference(this, TagGroups.shdr));
            Add(CreationEffect = new TI.TagReference(this, TagGroups.effe));
            Add(new TI.Pad(84));
            Add(RenderBoundingRadius = new TI.Real());

            Add(Ain = new TI.Enum());
            Add(Bin = new TI.Enum());
            Add(Cin = new TI.Enum());
            Add(Din = new TI.Enum());
            Add(new TI.Pad(44));
            Add(HudTextMessageIndex         = new TI.ShortInteger());
            Add(ForcedShaderPermuationIndex = new TI.ShortInteger());
            Add(Attachments        = new TI.Block <object_attachment_block>(this, 8));
            Add(Widgets            = new TI.Block <object_widget_block>(this, 4));
            Add(Functions          = new TI.Block <object_function_block>(this, 4));
            Add(ChangeColors       = new TI.Block <object_change_colors_block>(this, 4));
            Add(PerdictedResources = new TI.Block <predicted_resource_block>(this, 1024));
        }
Пример #3
0
		public scenario_structure_bsps_block() : base(4)
		{
			// Offset to this bsp's scenario_structure_bsps_header
			Add(Offset = new TI.LongInteger());
			Add(Size = new TI.LongInteger());
			Add(Data = new TI.Skip(4 // address
				+ 4)); // pad
			Add(StructureBsp = new TI.TagReference(this, TagGroups.sbsp));
		}
 public resource_type_block() : base(6)
 {
     Add(Guid       = new TI.Skip(16));
     Add(Unknown010 = new TI.ShortInteger());
     Add(Unknown012 = new TI.ShortInteger());
     Add(Unknown014 = new TI.ShortInteger());
     Add(Unknown016 = new TI.ShortInteger());
     Add(Name       = new TI.StringId());
 }
Пример #5
0
 public device_machine_group() : base(8)
 {
     Add(Type         = new TI.Enum());
     Add(Flags        = new TI.Flags(BlamLib.TagInterface.FieldType.WordFlags));
     Add(DoorOpenTime = new TI.Real());
     Add(new TI.Pad(80));
     Add(CollisionResponse = new TI.Enum());
     Add(ElevatorNode      = new TI.ShortInteger());
     Add(new TI.Pad(52));
     Add(DoorOpenGameTime = new TI.Skip(4));
 }
Пример #6
0
 protected shader_group(int field_count) : base(field_count + 9)
 {
     Add(RadiosityFlags             = TI.Flags.Word);
     Add(RadiosityDetailLevel       = new TI.Enum());
     Add(RadiosityPower             = new TI.Real());
     Add(RadiosityEmittedLightColor = new TI.RealColor());
     Add(RadiosityTintColor         = new TI.RealColor());
     Add(PhysicsFlags = TI.Flags.Word);
     Add(MaterialType = new TI.Enum());
     Add(ShaderType   = new TI.Skip(2));
     Add(new TI.Pad(2));
 }
            public TI.ShortInteger Unknown056;             // Index?

            public pages_block()
            {
                Add(Header           = new TI.ShortInteger());
                Add(Flags            = new TI.Flags(TI.FieldType.ByteFlags));
                Add(CompressionCodec = new TI.BlockIndex(TI.FieldType.ByteBlockIndex));

                Add(SharedCache           = new TI.BlockIndex());
                Add(Unknown006            = new TI.ShortInteger());
                Add(BlockOffset           = new TI.LongInteger());
                Add(BlockSizeCompressed   = new TI.LongInteger());
                Add(BlockSizeUncompressed = new TI.LongInteger());

                Add(Crc = new TI.LongInteger());
                Add(EntireBufferHash = new TI.Skip(20));
                Add(FirstChunkHash   = new TI.Skip(20));
                Add(LastChunkHash    = new TI.Skip(20));

                Add(Unknown054 = new TI.ShortInteger());
                Add(Unknown056 = new TI.ShortInteger());
            }
Пример #8
0
		protected object_group(int field_count) : base(field_count + 28)
		{
			Add(ObjectType = new TI.Skip(2));
			Add(ObjectFlags = new TI.Flags(BlamLib.TagInterface.FieldType.WordFlags));
			Add(BoundingRadius = new TI.Real());
			Add(BoundingOffset = new TI.RealPoint3D());
			Add(OriginOffset = new TI.RealPoint3D());
			Add(AccelerationScale = new TI.Real());
			Add(new TI.Pad(4));
			Add(Model = new TI.TagReference(this, TagGroups.mode));
			Add(AnimationGraph = new TI.TagReference(this, TagGroups.antr));
			Add(new TI.Pad(40));
			Add(CollisionModel = new TI.TagReference(this, TagGroups.coll));
			Add(Physics = new TI.TagReference(this, TagGroups.phys));
			Add(ModifierShader = new TI.TagReference(this, TagGroups.shdr));
			Add(CreationEffect = new TI.TagReference(this, TagGroups.effe));
			Add(new TI.Pad(84));
			Add(RenderBoundingRadius = new TI.Real());

			Add(Ain = new TI.Enum());
			Add(Bin = new TI.Enum());
			Add(Cin = new TI.Enum());
			Add(Din = new TI.Enum());
			Add(new TI.Pad(44));
			Add(HudTextMessageIndex = new TI.ShortInteger());
			Add(ForcedShaderPermuationIndex = new TI.ShortInteger());
			Add(Attachments = new TI.Block<object_attachment_block>(this, 8));
			Add(Widgets = new TI.Block<object_widget_block>(this, 4));
			Add(Functions = new TI.Block<object_function_block>(this, 4));
			Add(ChangeColors = new TI.Block<object_change_colors_block>(this, 4));
			Add(PerdictedResources = new TI.Block<predicted_resource_block>(this, 1024));
		}
Пример #9
0
		public device_machine_group() : base(8)
		{
			Add(Type = new TI.Enum());
			Add(Flags = new TI.Flags(BlamLib.TagInterface.FieldType.WordFlags));
			Add(DoorOpenTime = new TI.Real());
			Add(new TI.Pad(80));
			Add(CollisionResponse = new TI.Enum());
			Add(ElevatorNode = new TI.ShortInteger());
			Add(new TI.Pad(52));
			Add(DoorOpenGameTime = new TI.Skip(4));
		}
Пример #10
0
		protected device_group(int field_count) : base(field_count + 29)
		{
			Add(DeviceFlags = new TI.Flags());
			Add(PowerTransitionTime = new TI.Real()); // 0x180
			Add(PowerAccelerationTime = new TI.Real()); // 0x184
			Add(PositionTransitionTime = new TI.Real()); // 0x188
			Add(PositionAccelerationTime = new TI.Real()); // 0x18C
			Add(DepoweredPositionTransitionTime = new TI.Real()); // 0x190
			Add(DepoweredPositionAccelerationTime = new TI.Real()); // 0x194
			Add(AinDevice = new TI.Enum());
			Add(BinDevice = new TI.Enum());
			Add(CinDevice = new TI.Enum());
			Add(DinDevice = new TI.Enum());
			Add(Open = new TI.TagReference(this));
			Add(Close = new TI.TagReference(this));
			Add(Opened = new TI.TagReference(this));
			Add(Closed = new TI.TagReference(this));
			Add(Depowered = new TI.TagReference(this));
			Add(Repowered = new TI.TagReference(this));
			Add(DelayTime = new TI.Real());
			Add(new TI.Pad(8));
			Add(DelayEffect = new TI.TagReference(this));
			Add(AutomaticActivationRadius = new TI.Real());
			Add(new TI.Pad(84));

			Add(PowerAccelerationGameTime = new TI.Skip(4)); // 0x274
			Add(PowerTransitionGameTime = new TI.Skip(4)); // 0x278
			Add(DepoweredPositionAccelerationGameTime = new TI.Skip(4)); // 0x27C
			Add(DepoweredPositionTransitionGameTime = new TI.Skip(4)); // 0x280
			Add(PositionAccelerationGameTime = new TI.Skip(4)); // 0x284
			Add(PositionTransitionGameTime = new TI.Skip(4)); // 0x288
			Add(DelayGameTime = new TI.Skip(4)); // 0x28C
		}
Пример #11
0
		/// <summary>
		/// Create a skip field
		/// from another
		/// </summary>
		/// <param name="value"></param>
		public Skip(Skip value) : this(value.Value)
		{
			if (value.Data != null)
			{
				Data = new byte[Value];
				value.Data.CopyTo(Data, 0);
			}
		}
Пример #12
0
		protected shader_group(int field_count) : base(field_count + 9)
		{
			Add(RadiosityFlags = TI.Flags.Word);
			Add(RadiosityDetailLevel = new TI.Enum());
			Add(RadiosityPower = new TI.Real());
			Add(RadiosityEmittedLightColor = new TI.RealColor());
			Add(RadiosityTintColor = new TI.RealColor());
			Add(PhysicsFlags = TI.Flags.Word);
			Add(MaterialType = new TI.Enum());
			Add(ShaderType = new TI.Skip(2));
			Add(new TI.Pad(2));
		}
Пример #13
0
			public scenario_trigger_volume_block() : base(17)
			{
				Add(First = new TI.Skip(4));
				Add(Name = new TI.String());
				Add(Field1 = new TI.Real());
				Add(Field2 = new TI.Real());
				Add(Field3 = new TI.Real());
				Add(Field4 = new TI.Real());
				Add(Field5 = new TI.Real());
				Add(Field6 = new TI.Real());
				Add(Field7 = new TI.Real());
				Add(Field8 = new TI.Real());
				Add(Field9 = new TI.Real());
				Add(Field10 = new TI.Real());
				Add(Field11 = new TI.Real());
				Add(Field12 = new TI.Real());
				Add(Field13 = new TI.Real());
				Add(Field14 = new TI.Real());
				Add(Field15 = new TI.Real());
			}
 public compression_codec_block() : base(1)
 {
     Add(Guid = new TI.Skip(16));
 }
Пример #15
0
			public structure_bsp_runtime_decal_block() : base(1)
			{
				Add(Skipper = new TI.Skip(16));
			}
Пример #16
0
		public global_geometry_part_block() : base(19)
		{
			Add(Type = new TI.Enum());
			Add(Flags = TI.Flags.Word);
			Add(Material = new TI.BlockIndex()); // 1 global_geometry_material_block
			Add(/*Geometry Subclassification = */ new TI.Enum());
			Add(StripStartIndex = new TI.ShortInteger());
			Add(StripLength = new TI.ShortInteger());
			Add(/*First Strip Segment Index =*/ new TI.ShortInteger());
			Add(/*Strip Segment Count =*/ new TI.ShortInteger());
			Add(FirstVertexIndex = new TI.ShortInteger());
			Add(VertexCount = new TI.ShortInteger());
			Add(FirstTriangleIndex = new TI.ShortInteger());
			Add(TriangleCount = new TI.ShortInteger());
			Add(MaxNodesVertex = new TI.ByteInteger());
			Add(ContributingCompoundNodeCount = new TI.ByteInteger());
			Add(VertexUsageFlags = TI.Flags.Word);
			Add(new TI.Pad(12 + 1 + 3));
			Centroid = new global_model_skinned_uncompressed_vertex(this, 3);
			Add(LodMipmapMagicNumber = new TI.Real());
			Add(_Skip = new TI.Skip(24));
		}
Пример #17
0
		public global_geometry_part_block_new() : base(19)
		{
			Add(Type = new TI.Enum());
			Add(Flags = TI.Flags.Word);
			Add(Material = new TI.BlockIndex()); // 1 global_geometry_material_block
			Add(StripStartIndex = new TI.ShortInteger());
			Add(StripLength = new TI.ShortInteger());
			Add(FirstSubpartIndex = new TI.ShortInteger());
			Add(SubpartCount = new TI.ShortInteger());
			Add(MaxNodesVertex = new TI.ByteInteger());
			Add(ContributingCompoundNodeCount = new TI.ByteInteger());
			Centroid = new global_model_skinned_uncompressed_vertex(this, 3);
			Add(LodMipmapMagicNumber = new TI.Real());
			Add(_Skip = new TI.Skip(24));
		}
Пример #18
0
			protected havok_shape_base_block(int field_count) : base(10 + field_count)
			{
				Add(Name = new TI.StringId());
				Add(Material =  new TI.BlockIndex()); // 1 materials_block
				Add(Flags =  new TI.Flags(TI.FieldType.WordFlags));
				Add(RelativeMassScale = new TI.Real());
				Add(Friction = new TI.Real(TI.FieldType.RealFraction));
				Add(Restitution = new TI.Real(TI.FieldType.RealFraction));
				Add(Volume = new TI.Real());
				Add(Mass = new TI.Real());
				Add(MassDistributionsIndex = new TI.Skip(2));
				Add(Phantom = new TI.BlockIndex()); // 1 phantoms_block
					// TODO: investigate the upper 8 bits of phantom
			}
Пример #19
0
			public hkShape(TI.Definition parent)
			{
				parent.Add(new TI.Skip(4));							// vtable
				parent.Add(Size = new TI.ShortInteger());
				parent.Add(ReferenceCount = new TI.ShortInteger());
				parent.Add(UserData = new TI.Skip(4)); // pointer to the shape block this shape is in
			}
Пример #20
0
			public animation_graph_cache_unknown_block() : base(1)
			{
				Add(Data = new TI.Skip(24));
			}
Пример #21
0
 public structure_bsp_runtime_decal_block() : base(1)
 {
     Add(Skipper = new TI.Skip(16));
 }
Пример #22
0
			public TI.ShortInteger Unknown056; // Index?

			public pages_block()
			{
				Add(Header = new TI.ShortInteger());
				Add(Flags = new TI.Flags(TI.FieldType.ByteFlags));
				Add(CompressionCodec = new TI.BlockIndex(TI.FieldType.ByteBlockIndex));

				Add(SharedCache = new TI.BlockIndex());
				Add(Unknown006 = new TI.ShortInteger());
				Add(BlockOffset = new TI.LongInteger());
				Add(BlockSizeCompressed = new TI.LongInteger());
				Add(BlockSizeUncompressed = new TI.LongInteger());

				Add(Crc = new TI.LongInteger());
				Add(EntireBufferHash = new TI.Skip(20));
				Add(FirstChunkHash = new TI.Skip(20));
				Add(LastChunkHash = new TI.Skip(20));

				Add(Unknown054 = new TI.ShortInteger());
				Add(Unknown056 = new TI.ShortInteger());
			}
 protected CacheFileLanguagePackResourceGen3()
 {
     ReferencesHash = new TI.Skip(20);
     StringsHash    = new TI.Skip(20);
 }
Пример #24
0
			public resource_type_block() : base(6)
			{
				Add(Guid = new TI.Skip(16));
				Add(Unknown010 = new TI.ShortInteger());
				Add(Unknown012 = new TI.ShortInteger());
				Add(Unknown014 = new TI.ShortInteger());
				Add(Unknown016 = new TI.ShortInteger());
				Add(Name = new TI.StringId());
			}
Пример #25
0
			public scenario_object_names_block() : base(3)
			{
				Add(Name = new TI.String());
				Add(Type = new TI.Skip(2));
				Add(Index = new TI.Skip(2));
			}
Пример #26
0
			public resource_structure_type_block() : base(2)
			{
				Add(Guid = new TI.Skip(16));
				Add(Name = new TI.StringId());
			}
Пример #27
0
			public compression_codec_block() : base(1)
			{
				Add(Guid = new TI.Skip(16));
			}
 public resource_structure_type_block() : base(2)
 {
     Add(Guid = new TI.Skip(16));
     Add(Name = new TI.StringId());
 }