示例#1
0
            public structure_bsp_instanced_geometry_instances_block() : base(20)
            {
                Add(Scale              = new TI.Real());
                Add(Forward            = new TI.RealVector3D());
                Add(Left               = new TI.RealVector3D());
                Add(Up                 = new TI.RealVector3D());
                Add(Position           = new TI.RealPoint3D());
                Add(InstanceDefinition = new TI.BlockIndex()); // 1 structure_bsp_instanced_geometry_definition_block
                Add(/*Flags = */ new TI.Flags(TI.FieldType.WordFlags));
                Add(new TI.BlockIndex());                      // index to sbsp->0x350
                Add(new TI.Pad(2 +                             // only seen this as zero, assuming its pad
                               4));                            // only seen this as zero, assuming its the pad from h2

                //Add(new TI.Skip(12 + 4 + 4)); // +4 more than h2. this is all 'real' data, not sure if its actually the same as h2
                Add(new TI.Real());
                Add(new TI.Real());
                Add(new TI.Real());
                Add(new TI.Real());
                Add(new TI.Real());

                Add(/*Name = */ new TI.StringId());
                Add(/*Pathfinding Policy = */ new TI.Enum());
                Add(/*Lightmapping Policy = */ new TI.Enum());
                Add(new TI.Real());

                Add(TI.UnknownPad.BlockHalo3);                 // [0x70] (pretty sure this is havok related, see offset 0x6)
                Add(TI.UnknownPad.BlockHalo3);                 // ??
            }
示例#2
0
 public animation_graph_object_overlay() : base(4)
 {
     Add(Animation        = new TI.BlockIndex());
     Add(Function         = new TI.Enum());
     Add(FunctionControls = new TI.Enum());
     Add(new TI.Pad(2 + 12));
 }
示例#3
0
 public structure_bsp_fog_plane_block() : base(4)
 {
     Add(FrontRegion = new TI.BlockIndex());
     Add(new TI.Pad(2));
     Add(Plane    = new TI.RealPlane3D());
     Add(Vertices = new TI.Block <field_block <TI.RealPoint3D> >(this, 4096));
 }
示例#4
0
                public structure_bsp_material_block() : base(28)
                {
                    Add(Shader            = new TI.TagReference(this, TagGroups.shdr));
                    Add(ShaderPermutation = new TI.ShortInteger());
                    Add(Flags             = new TI.Flags(TI.FieldType.WordFlags));
                    Add(Surfaces          = new TI.BlockIndex(TI.FieldType.LongBlockIndex));
                    Add(SurfaceCount      = new TI.LongInteger());
                    Add(Centroid          = new TI.RealPoint3D());
                    Add(AmbientColor      = new TI.RealColor());
                    Add(DistantLightCount = new TI.ShortInteger());
                    Add(new TI.Pad(2));

                    Add(DistantLightColor1     = new TI.RealColor());
                    Add(DistantLightDirection1 = new TI.RealVector3D());
                    Add(DistantLightColor2     = new TI.RealColor());
                    Add(DistantLightDirection2 = new TI.RealVector3D());
                    Add(new TI.Pad(12));
                    Add(ReflectionTint   = new TI.RealColor(TI.FieldType.RealArgbColor));
                    Add(ShadowVector     = new TI.RealVector3D());
                    Add(ShadowColor      = new TI.RealColor());
                    Add(Plane            = new TI.RealPlane3D());
                    Add(BreakableSurface = new TI.ShortInteger());
                    Add(new TI.Pad(2 + 4));
                    Add(VerticesCount      = new TI.LongInteger());
                    Add(VerticesStartIndex = new TI.LongInteger());
                    Add(new TI.Pad(8 + 4));
                    Add(LightmapVerticesCount      = new TI.LongInteger());
                    Add(LightmapVerticesStartIndex = new TI.LongInteger());
                    Add(new TI.Pad(8));
                    Add(UncompressedVertices = new TI.Data(this, TI.DataType.Vertex));
                    Add(CompressedVertices   = new TI.Data(this, TI.DataType.VertexCompressed));
                }
示例#5
0
 public pathfinding_spheres_block() : base(4)
 {
     Add(Node = new TI.BlockIndex());
     Add(new TI.Pad(2 + 12));
     Add(Center = new TI.RealPoint3D());
     Add(Radius = new TI.Real());
 }
示例#6
0
 public effect_particles_block() : base(27)
 {
     Add(CreatIn1 = new TI.Enum());
     Add(CreatIn2 = new TI.Enum());
     Add(Create   = new TI.Enum());
     Add(new TI.Pad(2));
     Add(Location = new TI.BlockIndex());
     Add(new TI.Pad(2));
     Add(RelativeDirection = new TI.RealEulerAngles2D());
     Add(RelativeOffset    = new TI.RealVector3D());
     Add(new TI.Pad(12 + 40));
     Add(ParticleType         = new TI.TagReference(this, TagGroups.part));
     Add(Flags                = new TI.Flags());
     Add(DistributionFunction = new TI.Enum());
     Add(new TI.Pad(2));
     Add(CreateCount        = new TI.ShortIntegerBounds());
     Add(DistributionRadius = new TI.RealBounds());
     Add(new TI.Pad(12));
     Add(VelocityBounds        = new TI.RealBounds());
     Add(VelocityConeAngle     = new TI.Real(TI.FieldType.Angle));
     Add(AngularVelocityBounds = new TI.RealBounds(TI.FieldType.AngleBounds));
     Add(new TI.Pad(8));
     Add(Radius = new TI.RealBounds());
     Add(new TI.Pad(8));
     Add(TintLowerBound = new TI.RealColor(TI.FieldType.RealArgbColor));
     Add(TintUpperBound = new TI.RealColor(TI.FieldType.RealArgbColor));
     Add(new TI.Pad(16));
     Add(ScaleModiferA  = new TI.Flags());
     Add(ScaleModifierB = new TI.Flags());
 }
示例#7
0
 public animation_block() : base(31)
 {
     Add(Name                = new TI.String());
     Add(Type                = new TI.Enum());
     Add(FrameCount          = new TI.ShortInteger());
     Add(FrameSize           = new TI.ShortInteger());
     Add(FrameInfoType       = new TI.Enum());
     Add(NodeListChecksum    = new TI.LongInteger());
     Add(NodeCount           = new TI.ShortInteger());
     Add(LoopFrameIndex      = new TI.ShortInteger());
     Add(Weight              = new TI.Real(BlamLib.TagInterface.FieldType.RealFraction));
     Add(KeyFrameIndex       = new TI.ShortInteger());
     Add(SecondKeyFrameIndex = new TI.ShortInteger());
     Add(NextAnimation       = new TI.BlockIndex());
     Add(Flags               = new TI.Flags(BlamLib.TagInterface.FieldType.WordFlags));
     Add(Sound               = new TI.BlockIndex());
     Add(SoundFrameIndex     = new TI.ShortInteger());
     Add(LeftFootFrameIndex  = new TI.ByteInteger());
     Add(RightFootFrameIndex = new TI.ByteInteger());
     Add(new TI.Pad(2 + 4));
     Add(FrameInfo       = new TI.Data(this));
     Add(NodeTransFlags1 = new TI.LongInteger());
     Add(NodeTransFlags2 = new TI.LongInteger());
     Add(new TI.Pad(8));
     Add(NodeRotationFlags1 = new TI.LongInteger());
     Add(NodeRotationFlags2 = new TI.LongInteger());
     Add(new TI.Pad(8));
     Add(NodeScaleFlags1 = new TI.LongInteger());
     Add(NodeScaleFlags2 = new TI.LongInteger());
     Add(new TI.Pad(4));
     Add(OffsetToCompressedData = new TI.LongInteger());
     Add(DefaultData            = new TI.Data(this));
     Add(FrameData = new TI.Data(this));
 }
 public multiplayer_object_type_mapping_block() : base(7)
 {
     Add(TypeIndex = new TI.BlockIndex(TI.FieldType.LongBlockIndex));
     Add(TI.Pad.DWord);                 // Only ever seen as zero. Probably an unused string id
     Add(Unknown10 = new TI.Real());
     Add(Unknown14 = new TI.LongInteger());
 }
示例#9
0
 public bitmap_group_sequence_block() : base(5)
 {
     Add(Name             = new TI.String());
     Add(FirstBitmapIndex = new TI.BlockIndex());
     Add(BitmapCount      = new TI.ShortInteger());
     Add(new TI.Pad(16));
     Add(Sprites = new TI.Block <bitmap_group_sprite_block>(this, 64));
 }
示例#10
0
			public bitmap_group_sequence_block()
			{
				Add(Name = new TI.String());
				Add(FirstBitmapIndex = new TI.BlockIndex());
				Add(BitmapCount = new TI.ShortInteger());
				Add(new TI.Pad(16));
				Add(Sprites = new TI.Block<bitmap_group_sprite_block>(this, 64));
			}
示例#11
0
 public structure_bsp_leaf_block() : base(5)
 {
     Add(new TI.Skip(6));
     Add(new TI.Pad(2));
     Add(Cluster = new TI.ShortInteger());
     Add(SurfaceReferenceCount = new TI.ShortInteger());
     Add(SurfaceReferences     = new TI.BlockIndex(BlamLib.TagInterface.FieldType.LongBlockIndex));
 }
            public TI.LongInteger DatumIndexBlock24;             // seems like only sounds use this...

            public page_segment_block() : base(5)
            {
                Add(RequiredPageIndex     = new TI.BlockIndex());
                Add(OptionalPageIndex     = new TI.BlockIndex());
                Add(RequiredSegmentOffset = new TI.LongInteger());
                Add(OptionalSegmentOffset = new TI.LongInteger());
                Add(DatumIndexBlock24     = new TI.LongInteger());
            }
示例#13
0
 public suspension_animation_block() : base(5)
 {
     Add(MassPointIndex             = new TI.ShortInteger());
     Add(Animation                  = new TI.BlockIndex());
     Add(FullExtensionGroundDepth   = new TI.Real());
     Add(FullCompressionGroundDepth = new TI.Real());
     Add(new TI.Pad(8));
 }
示例#14
0
					public model_region_permutation_marker_block() : base(6)
					{
						Add(Name = new TI.String());
						Add(NodeIndex = new TI.BlockIndex());
						Add(new TI.Pad(2));
						Add(Translation = new TI.RealPoint3D());
						Add(Rotation = new TI.RealQuaternion());
						Add(new TI.Pad(16));
					}
示例#15
0
				public model_marker_instance_block() : base(6)
				{
					Add(RegionIndex = new TI.BlockIndex(BlamLib.TagInterface.FieldType.ByteBlockIndex));
					Add(PermutationIndex = new TI.BlockIndex(BlamLib.TagInterface.FieldType.ByteBlockIndex));
					Add(NodeIndex = new TI.BlockIndex(BlamLib.TagInterface.FieldType.ByteBlockIndex));
					Add(new TI.Pad(1));
					Add(Translation = new TI.RealPoint3D());
					Add(Rotation = new TI.RealQuaternion());
				}
示例#16
0
 public model_marker_instance_block() : base(6)
 {
     Add(RegionIndex      = new TI.BlockIndex(BlamLib.TagInterface.FieldType.ByteBlockIndex));
     Add(PermutationIndex = new TI.BlockIndex(BlamLib.TagInterface.FieldType.ByteBlockIndex));
     Add(NodeIndex        = new TI.BlockIndex(BlamLib.TagInterface.FieldType.ByteBlockIndex));
     Add(new TI.Pad(1));
     Add(Translation = new TI.RealPoint3D());
     Add(Rotation    = new TI.RealQuaternion());
 }
示例#17
0
 public sound_gestalt_pitch_ranges_block() : base(6)
 {
     Add(Name       = new TI.BlockIndex());       // 1 sound_gestalt_import_names_block
     Add(Parameters = new TI.BlockIndex());       // 1 sound_gestalt_pitch_range_parameters_block
     Add(Unknown04  = new TI.BlockIndex());       // I think this may be a block index to sound_gestalt_60_block
     Add(FirstRuntimePermutationFlagIndex = new TI.ShortInteger());
     Add(EncodedPermutationData           = new TI.ShortInteger());
     Add(FirstPermutation = new TI.BlockIndex());             // 1 sound_gestalt_permutations_block
 }
示例#18
0
 public effect_group() : base(6)
 {
     Add(Flags          = new TI.Flags());
     Add(LoopStartEvent = new TI.BlockIndex());
     Add(LoopStopEvent  = new TI.BlockIndex());
     Add(new TI.Pad(32));
     Add(Locations = new TI.Block <field_block <TI.String> >(this, 32));
     Add(Events    = new TI.Block <effect_event_block>(this, 32));
 }
示例#19
0
 public sound_gestalt_pitch_ranges_block() : base(6)
 {
     Add(Name                             = new TI.BlockIndex()); // 1 sound_gestalt_import_names_block
     Add(Parameters                       = new TI.BlockIndex()); // 1 sound_gestalt_pitch_range_parameters_block
     Add(EncodedPermutationData           = new TI.ShortInteger());
     Add(FirstRuntimePermutationFlagIndex = new TI.ShortInteger());
     Add(FirstPermutation                 = new TI.BlockIndex()); // 1 sound_gestalt_permutations_block
     Add(PermutationCount                 = new TI.ShortInteger());
 }
示例#20
0
 public model_region_permutation_marker_block() : base(6)
 {
     Add(Name      = new TI.String());
     Add(NodeIndex = new TI.BlockIndex());
     Add(new TI.Pad(2));
     Add(Translation = new TI.RealPoint3D());
     Add(Rotation    = new TI.RealQuaternion());
     Add(new TI.Pad(16));
 }
示例#21
0
 public bitmap_group_sprite_block() : base(7)
 {
     Add(BitmapIndex = new TI.BlockIndex());
     Add(new TI.Pad(2 + 4));
     Add(Left              = new TI.Real());
     Add(Right             = new TI.Real());
     Add(Top               = new TI.Real());
     Add(Bottom            = new TI.Real());
     Add(RegistrationPoint = new TI.RealPoint2D());
 }
示例#22
0
 public sound_permutations_block() : base(7)
 {
     Add(Name         = new TI.StringId());
     Add(SkipFraction = new TI.Real(TI.FieldType.RealFraction));
     Add(Gain         = new TI.Real());
     Add(SamplesSize  = new TI.LongInteger());
     Add(RawInfo      = new TI.BlockIndex());
     Add(LanguageNeutralMilliseconds = new TI.ShortInteger());
     Add(Chunks = new TI.Block <sound_permutation_chunk_block>(this, 32767));
 }
示例#23
0
 public multiplayer_object_type_mapping_block() : base(7)
 {
     Add(TypeIndex       = new TI.BlockIndex(TI.FieldType.LongBlockIndex));
     Add(DescriptionText = new TI.StringId());
     Add(HeaderText      = new TI.StringId());
     Add(HelpText        = new TI.StringId());
     Add(Unknown10       = new TI.Real());
     Add(Unknown14       = new TI.LongInteger());
     Add(Icon            = new TI.StringId());
 }
示例#24
0
 public collision_nodes_block() : base(7)
 {
     Add(Name            = new TI.String());
     Add(Region          = new TI.BlockIndex());
     Add(ParentNode      = new TI.BlockIndex());
     Add(NextSiblingNode = new TI.BlockIndex());
     Add(FirstChildNode  = new TI.BlockIndex());
     Add(new TI.Pad(12));
     Add(Bsp = new TI.Block <structure_bsp_group.collision_bsp_block>(this, 32));
 }
示例#25
0
				public bitmap_group_sprite_block()
				{
					Add(BitmapIndex = new TI.BlockIndex());
					Add(new TI.Pad(2 + 4));
					Add(Left = new TI.Real());
					Add(Right = new TI.Real());
					Add(Top = new TI.Real());
					Add(Bottom = new TI.Real());
					Add(RegistrationPoint = new TI.RealPoint2D());
				}
示例#26
0
        public TI.ShortInteger EncodedPermutationIndex;         // The permutation index of this permutation definition

        public sound_gestalt_permutations_block() : base(8)
        {
            Add(Name = new TI.BlockIndex());             // 1 sound_gestalt_import_names_block
            Add(EncodedSkipFraction     = new TI.ShortInteger());
            Add(EncodedGain             = new TI.ByteInteger());
            Add(PermutationInfoIndex    = new TI.ByteInteger());
            Add(LanguageNeutralTime     = new TI.ShortInteger());
            Add(FirstChunk              = new TI.BlockIndex(TI.FieldType.LongBlockIndex)); // 1 sound_permutation_chunk_block
            Add(ChunkCount              = new TI.ShortInteger());
            Add(EncodedPermutationIndex = new TI.ShortInteger());
        }
示例#27
0
 public game_medal_globals_medals_block() : base(8)
 {
     Add(Name        = new TI.StringId());
     Add(Description = new TI.StringId());
     Add(Unknown8    = new TI.ShortInteger());
     Add(UnknownA    = new TI.Flags(TI.FieldType.ByteFlags));
     Add(TI.Pad.Byte);
     Add(UnknownC      = new TI.LongInteger());
     Add(CategoryIndex = new TI.BlockIndex());
     Add(Points        = new TI.ShortInteger());
 }
示例#28
0
 public model_node_block() : base(9)
 {
     Add(Name            = new TI.String());
     Add(NextSiblingNode = new TI.BlockIndex());
     Add(FirstChildNode  = new TI.BlockIndex());
     Add(ParentNode      = new TI.BlockIndex());
     Add(new TI.Pad(2));
     Add(DefaultTranslation = new TI.RealPoint3D());
     Add(DefaultRotation    = new TI.RealQuaternion());
     Add(NodeDistFromParent = new TI.Real());
     Add(new TI.Pad(32 + 52));
 }
示例#29
0
			public model_node_block() : base(9)
			{
				Add(Name = new TI.String());
				Add(NextSiblingNode = new TI.BlockIndex());
				Add(FirstChildNode = new TI.BlockIndex());
				Add(ParentNode = new TI.BlockIndex());
				Add(new TI.Pad(2));
				Add(DefaultTranslation = new TI.RealPoint3D());
				Add(DefaultRotation = new TI.RealQuaternion());
				Add(NodeDistFromParent = new TI.Real());
				Add(new TI.Pad(32 + 52));
			}
示例#30
0
 public animation_graph_node_block() : base(9)
 {
     Add(Name = new TI.String());
     Add(NextSiblingNodeIndex = new TI.BlockIndex());
     Add(FirstChildNodeIndex  = new TI.BlockIndex());
     Add(ParentNodeIndex      = new TI.BlockIndex());
     Add(new TI.Pad(2));
     Add(NodeJointFlags = new TI.Flags());
     Add(BaseVector     = new TI.RealVector3D());
     Add(VectorRange    = new TI.Real());
     Add(new TI.Pad(4));
 }
示例#31
0
 public model_region_permutation_block() : base(10)
 {
     Add(Name  = new TI.String());
     Add(Flags = new TI.Flags());
     Add(new TI.Pad(28));                     // TODO: first 16-bits is the variant id
     Add(SuperLow  = new TI.BlockIndex());
     Add(Low       = new TI.BlockIndex());
     Add(Medium    = new TI.BlockIndex());
     Add(High      = new TI.BlockIndex());
     Add(SuperHigh = new TI.BlockIndex());
     Add(new TI.Pad(2));
     Add(Markers = new TI.Block <model_region_permutation_marker_block>(this, 64));
 }
示例#32
0
            public triggers_block() : base(41)
            {
                Add(Flags = new TI.Flags());

                Add(RoundsPerSecond        = new TI.RealBounds());
                Add(FiringAccelerationTime = new TI.Real());
                Add(FiringDecelerationTime = new TI.Real());
                Add(BlurredRateOfFire      = new TI.Real());
                Add(new TI.Pad(8));
                Add(Magazine             = new TI.BlockIndex());
                Add(RoundsPerShot        = new TI.ShortInteger());
                Add(MinRoundsLoaded      = new TI.ShortInteger());
                Add(RoundsBetweenTracers = new TI.ShortInteger());
                Add(new TI.Pad(6));
                Add(FiringNoise = new TI.Enum());

                Add(Error = new TI.RealBounds());
                Add(ErrorAccelerationTime = new TI.Real());
                Add(ErrorDecelerationTime = new TI.Real());
                Add(new TI.Pad(8));

                Add(ChargingTime      = new TI.Real());
                Add(ChargedTime       = new TI.Real());
                Add(OverchargedAction = new TI.Enum());
                Add(new TI.Pad(2));
                Add(ChargedIllumination = new TI.Real());
                Add(SpewTime            = new TI.Real());
                Add(ChargingEffect      = new TI.TagReference(this));

                Add(DistributionFunction = new TI.Enum());
                Add(ProjectilesPerShot   = new TI.ShortInteger());
                Add(DistributionAngle    = new TI.Real());
                Add(new TI.Pad(4));
                Add(MinError           = new TI.Real(BlamLib.TagInterface.FieldType.Angle));
                Add(ErrorAngle         = new TI.RealBounds(BlamLib.TagInterface.FieldType.AngleBounds));
                Add(FirstPersionOffset = new TI.RealPoint3D());
                Add(new TI.Pad(4));
                Add(Projectile = new TI.TagReference(this, TagGroups.proj));

                Add(EjectionPortRecoveryTime = new TI.Real());
                Add(IlluminationRecoveryTime = new TI.Real());
                Add(new TI.Pad(12));
                Add(HeatGeneratedPerRound = new TI.Real());
                Add(AgeGeneratedPerRound  = new TI.Real());
                Add(new TI.Pad(4));
                Add(OverloadTime = new TI.Real());
                Add(new TI.Pad(8 + 32 + 24));

                Add(FiringEffects = new TI.Block <trigger_firing_effect_block>(this, 8));
            }
 public cache_file_resource_gestalt_tag_resource_block() : base(12)
 {
     Add(Reference                = new TI.TagReference(this));
     Add(Header                   = new TI.ShortInteger());
     Add(ResourceType             = new TI.BlockIndex(TI.FieldType.ByteBlockIndex));
     Add(Flags                    = new TI.Flags(TI.FieldType.ByteFlags));
     Add(BlockOffset              = new TI.LongInteger());
     Add(BlockSize                = new TI.LongInteger());
     Add(UnknownOffset            = new TI.LongInteger());
     Add(Unknown020               = new TI.ShortInteger());
     Add(SegmentIndex             = new TI.ShortInteger());
     Add(DefinitionOffset         = new TI.LongInteger());
     Add(ResourceFixups           = new TI.Block <resource_fixup_block>(this, 0));
     Add(ResourceDefinitionFixups = new TI.Block <resource_definition_fixup_block>(this, 0));
 }
示例#34
0
 public render_model_node_block()
 {
     Add(Name               = new TI.StringId());
     Add(ParentNode         = new TI.BlockIndex());     // 1 render_model_node_block
     Add(FirstChildNode     = new TI.BlockIndex());     // 1 render_model_node_block
     Add(NextSiblingNode    = new TI.BlockIndex());     // 1 render_model_node_block
     Add(ImportNodeIndex    = new TI.ShortInteger());
     Add(DefaultTranslation = new TI.RealPoint3D());
     Add(DefaultRotation    = new TI.RealQuaternion());
     Add(InverseForward     = new TI.RealVector3D());
     Add(InverseLeft        = new TI.RealVector3D());
     Add(InverseUp          = new TI.RealVector3D());
     Add(InversePosition    = new TI.RealPoint3D());
     Add(InverseScale       = new TI.Real());
     Add(DistFromParent     = new TI.Real());
 }
示例#35
0
 public model_geometry_part_block() : base(13)
 {
     Add(Flags                   = new TI.Flags());
     Add(ShaderIndex             = new TI.BlockIndex());
     Add(PrevFilthyPartIndex     = new TI.ByteInteger());
     Add(NextFilthyPartIndex     = new TI.ByteInteger());
     Add(CentroidPrimaryNode     = new TI.ShortInteger());
     Add(CentroidSecondaryNode   = new TI.ShortInteger());
     Add(CentroidPrimaryWeight   = new TI.Real(BlamLib.TagInterface.FieldType.RealFraction));
     Add(CentroidSecondaryWeight = new TI.Real(BlamLib.TagInterface.FieldType.RealFraction));
     Add(Centroid                = new TI.RealPoint3D());
     Add(UncompressedVertices    = new TI.Block <model_vertex_uncompressed_block>(this, 65535));
     Add(CompressedVertices      = new TI.Block <model_vertex_compressed_block>(this, 65535));
     Add(Triangles               = new TI.Block <model_triangle_block>(this, 65535));
     Add(new TI.Pad(kSizeOf_rasterizer_triangle_buffer + kSizeOf_rasterizer_vertex_buffer));
 }
示例#36
0
			public object_function_block() : base(21)
			{
				Add(Flags = new TI.Flags());
				Add(Period = new TI.Real());
				Add(ScalePeriodBy = new TI.Enum());
				Add(Function = new TI.Enum());
				Add(ScaleFunctionBy = new TI.Enum());
				Add(WobbleFunction = new TI.Enum());
				Add(WobblePeriod = new TI.Real());
				Add(WobbleMagnitude = new TI.Real());
				Add(SquareWaveThreshold = new TI.Real(TI.FieldType.RealFraction));
				Add(StepCount = new TI.ShortInteger());
				Add(MapTo = new TI.Enum());
				Add(SawtoothCount = new TI.ShortInteger());
				Add(_Add = new TI.Enum());
				Add(ScaleResultBy = new TI.Enum());
				Add(BoundsMode = new TI.Enum());
				Add(Bounds = new TI.RealBounds(BlamLib.TagInterface.FieldType.RealFractionBounds));
				Add(new TI.Pad(4 + 2));
				Add(TurnoffWith = new TI.BlockIndex());
				Add(ScaleBy = new TI.Real());
				Add(new TI.Pad(252 + 16));
				Add(Usage = new TI.String());
			}
示例#37
0
				public platoons_block() : base(9)
				{
					Add(Name = new TI.String());
					Add(Flags = new TI.Flags());
					Add(new TI.Pad(12));
					Add(ChangeStateWhen = new TI.Enum());
					Add(HappensTo1 = new TI.BlockIndex());
					Add(new TI.Pad(4 + 4));
					Add(ManeuverWhen = new TI.Enum());
					Add(HappensTo2 = new TI.BlockIndex());
					Add(new TI.Pad(4 + 4 + 64 + 36));
				}
示例#38
0
				public squads_block() : base(31)
				{
					Add(Name = new TI.String());
					Add(ActorType = new TI.BlockIndex());
					Add(Platoon = new TI.BlockIndex());
					Add(InitialState = new TI.Enum());
					Add(ReturnState = new TI.Enum());
					Add(Flags = new TI.Flags());
					Add(UniqueLeaderType = new TI.Enum());
					Add(new TI.Pad(2 + 28 + 2));
					Add(ManeuverToSquad = new TI.BlockIndex());
					Add(SquadDelayTimer = new TI.Real());
					Add(Attacking = new TI.Flags());
					Add(AttackingSearch = new TI.Flags());
					Add(AttackingGuard = new TI.Flags());
					Add(Defending = new TI.Flags());
					Add(DefendingSearch = new TI.Flags());
					Add(DefendingGuard = new TI.Flags());
					Add(Pursuing = new TI.Flags());
					Add(new TI.Pad(4 + 8));
					Add(NormalDiffCount = new TI.ShortInteger());
					Add(InsaneDiffCount = new TI.ShortInteger());
					Add(MajorUpgrade = new TI.Enum());
					Add(new TI.Pad(2));
					Add(RespawnMinActors = new TI.ShortInteger());
					Add(RespawnMaxActors = new TI.ShortInteger());
					Add(RespawnTotal = new TI.ShortInteger());
					Add(new TI.Pad(2));
					Add(RespawnDelay = new TI.RealBounds());
					Add(new TI.Pad(48));
					Add(MovePositions = new TI.Block<move_positions_block>(this, 32));
					Add(StartingLocations = new TI.Block<actor_starting_locations_block>(this, 32));
					Add(new TI.Pad(12));
				}
示例#39
0
			public scenario_bsp_switch_trigger_volume_block() : base(4)
			{
				Add(TriggerVolume = new TI.BlockIndex());
				Add(Source = new TI.ShortInteger());
				Add(Destination = new TI.ShortInteger());
				Add(new TI.Pad(2));
			}
示例#40
0
			protected scenario_object_block(int field_count) : base(field_count + 6)
			{
				Add(Type = new TI.BlockIndex());
				Add(Name = new TI.BlockIndex());
				Add(NotPlaced = new TI.Flags(BlamLib.TagInterface.FieldType.WordFlags));
				Add(DesiredPermutation = new TI.ShortInteger());
				Add(Position = new TI.RealPoint3D());
				Add(Rotation = new TI.RealEulerAngles3D());
			}
示例#41
0
				public ai_conversation_line_block() : base(13)
				{
					Add(Flags = new TI.Flags(BlamLib.TagInterface.FieldType.WordFlags));
					Add(Participant = new TI.BlockIndex());
					Add(Addressee = new TI.Enum());
					Add(AddresseeParticipant = new TI.BlockIndex());
					Add(TI.Pad.DWord);
					Add(LineDelayTime = new TI.Real());
					Add(new TI.Pad(12));
					Add(Variant1 = new TI.TagReference(this, TagGroups.snd_));
					Add(Variant2 = new TI.TagReference(this, TagGroups.snd_));
					Add(Variant3 = new TI.TagReference(this, TagGroups.snd_));
					Add(Variant4 = new TI.TagReference(this, TagGroups.snd_));
					Add(Variant5 = new TI.TagReference(this, TagGroups.snd_));
					Add(Variant6 = new TI.TagReference(this, TagGroups.snd_));
				}
示例#42
0
		public scenario_light_block() : base(5)
		{
			Add(Type = new TI.BlockIndex()); // 1 scenario_light_palette_block
			Add(Name = new TI.BlockIndex()); // 1 scenario_object_names_block
			Add(ObjectData = new TI.Struct<scenario_object_datum_struct>(this));
			Add(DeviceData = new TI.Struct<scenario_device_struct>(this));
			Add(/*Light Data = */ new TI.Struct<scenario_light_struct>(this));
		}
示例#43
0
		public scenario_sound_scenery_block() : base(4)
		{
			Add(Type = new TI.BlockIndex()); // 1 scenario_sound_scenery_palette_block
			Add(Name = new TI.BlockIndex()); // 1 scenario_object_names_block
			Add(ObjectData = new TI.Struct<scenario_object_datum_struct>(this));
			Add(/*sound_scenery = */ new TI.Struct<sound_scenery_datum_struct>(this));
		}
示例#44
0
		/// <summary>
		/// Copy constructor
		/// </summary>
		/// <param name="value">field to copy</param>
		public BlockIndex(BlockIndex value) :		base(value.fieldType)			{ this.Value = value.Value; }
示例#45
0
			public triggers_block() : base(41)
			{
				Add(Flags = new TI.Flags());

				Add(RoundsPerSecond = new TI.RealBounds());
				Add(FiringAccelerationTime = new TI.Real());
				Add(FiringDecelerationTime = new TI.Real());
				Add(BlurredRateOfFire = new TI.Real());
				Add(new TI.Pad(8));
				Add(Magazine = new TI.BlockIndex());
				Add(RoundsPerShot = new TI.ShortInteger());
				Add(MinRoundsLoaded = new TI.ShortInteger());
				Add(RoundsBetweenTracers = new TI.ShortInteger());
				Add(new TI.Pad(6));
				Add(FiringNoise = new TI.Enum());

				Add(Error = new TI.RealBounds());
				Add(ErrorAccelerationTime = new TI.Real());
				Add(ErrorDecelerationTime = new TI.Real());
				Add(new TI.Pad(8));

				Add(ChargingTime = new TI.Real());
				Add(ChargedTime = new TI.Real());
				Add(OverchargedAction = new TI.Enum());
				Add(new TI.Pad(2));
				Add(ChargedIllumination = new TI.Real());
				Add(SpewTime = new TI.Real());
				Add(ChargingEffect = new TI.TagReference(this));

				Add(DistributionFunction = new TI.Enum());
				Add(ProjectilesPerShot = new TI.ShortInteger());
				Add(DistributionAngle = new TI.Real());
				Add(new TI.Pad(4));
				Add(MinError = new TI.Real(BlamLib.TagInterface.FieldType.Angle));
				Add(ErrorAngle = new TI.RealBounds(BlamLib.TagInterface.FieldType.AngleBounds));
				Add(FirstPersionOffset = new TI.RealPoint3D());
				Add(new TI.Pad(4));
				Add(Projectile = new TI.TagReference(this, TagGroups.proj));

				Add(EjectionPortRecoveryTime = new TI.Real());
				Add(IlluminationRecoveryTime = new TI.Real());
				Add(new TI.Pad(12));
				Add(HeatGeneratedPerRound = new TI.Real());
				Add(AgeGeneratedPerRound = new TI.Real());
				Add(new TI.Pad(4));
				Add(OverloadTime = new TI.Real());
				Add(new TI.Pad(8 + 32 + 24));
				
				Add(FiringEffects = new TI.Block<trigger_firing_effect_block>(this, 8));
			}
示例#46
0
		public g_scenario_editor_folder_block()
		{
			Add(ParentFolder = TI.BlockIndex.Long); // 1 g_scenario_editor_folder_block
			Add(Name = TI.String.LongString);
		}
示例#47
0
				public ai_command_block() : base(12)
				{
					Add(AtomType = new TI.Enum());
					Add(AtomModifier = new TI.ShortInteger());
					Add(Parameter1 = new TI.Real());
					Add(Parameter2 = new TI.Real());
					Add(Point1 = new TI.BlockIndex());
					Add(Point2 = new TI.BlockIndex());
					Add(Animation = new TI.BlockIndex());
					Add(Script = new TI.BlockIndex());
					Add(Recording = new TI.BlockIndex());
					Add(Command = new TI.BlockIndex());
					Add(ObjectName = new TI.BlockIndex());
					Add(new TI.Pad(6));
				}
示例#48
0
		public sound_permutations_block() : base(7)
		{
			Add(Name = new TI.StringId());
			Add(SkipFraction = new TI.Real(TI.FieldType.RealFraction));
			Add(Gain = new TI.Real());
			Add(SamplesSize = new TI.LongInteger());
			Add(RawInfo = new TI.BlockIndex());
			Add(LanguageNeutralMilliseconds = new TI.ShortInteger());
			Add(Chunks = new TI.Block<sound_permutation_chunk_block>(this, 32767));
		}
示例#49
0
				public ai_conversation_participant_block() : base(9)
				{
					Add(new TI.Pad(2));
					Add(Flags = new TI.Flags(BlamLib.TagInterface.FieldType.WordFlags));
					Add(SelectionType = new TI.Enum());
					Add(ActorType = new TI.Enum());
					Add(UseThisObject = new TI.BlockIndex());
					Add(SetNavName = new TI.BlockIndex());
					Add(new TI.Pad(12 + 12));
					Add(EncounterName = new TI.String());
					Add(new TI.Pad(4 + 12));
				}
示例#50
0
文件: Bsp.cs 项目: CodeAsm/open-sauce
		public structure_bsp_cluster_block() : base()
		{
			Add(BoundsX = new TI.RealBounds());
			Add(BoundsY = new TI.RealBounds());
			Add(BoundsZ = new TI.RealBounds());
			Add(ScenarioSkyIndex = new TI.ByteInteger());
			Add(MediaIndex = new TI.ByteInteger());
			Add(ScenarioVisibleSkyIndex = new TI.ByteInteger());
			Add(ScenarioAtmosphericFogIndex = new TI.ByteInteger());
			Add(new TI.ShortInteger());
			Add(new TI.ShortInteger());
			Add(BackgroundSound = new TI.BlockIndex()); // 1 structure_bsp_background_sound_palette_block
			Add(SoundEnvironment = new TI.BlockIndex()); // 1 structure_bsp_sound_environment_palette_block
			Add(Weather = new TI.BlockIndex()); // 1 structure_bsp_weather_palette_block
			Add(new TI.ShortInteger()); // TransitionStructureBsp?
			Add(new TI.ShortInteger()); // block index?
			Add(new TI.BlockIndex()); // doesnt seem to be to anything in the actual bsp data
			Add(new TI.ShortInteger()); // flags?
			Add(new TI.Flags(TI.FieldType.WordFlags));
			Add(TI.UnknownPad.BlockHalo3); // ??
			Add(TI.UnknownPad.BlockHalo3); // [0x2]
			Add(new TI.UnknownPad(4 + 20)); // '20' starts a hkShapeContainer object
			Add(new TI.TagReference(this, TagGroups.sbsp));
			Add(new TI.UnknownPad(32));
			Add(CollisionMoppCode = new TI.Block<mopp_code_block>(this, 0));
			Add(TI.UnknownPad.DWord);
			Add(TI.UnknownPad.BlockHalo3); // [0x4]
			// 0xAC
			Add(TI.UnknownPad.BlockHalo3); // [0x30]
				// short (count, w/e the elements are they are sizeof(0x10))
				// short (or two bytes)
				// long offset
				// real_point3d
				// real[4]
				// real_point3d
			Add(TI.UnknownPad.BlockHalo3); // ??
			Add(TI.UnknownPad.BlockHalo3); // [0x4]
				// short
				// short
			Add(TI.UnknownPad.BlockHalo3); // [0x10]
				// real_point3d
				// short
				// short
		}
示例#51
0
			public scenario_function_block() : base(20)
			{
				Add(Flags = new TI.Flags());
				Add(Name = new TI.String());
				Add(Period = new TI.Real());
				Add(ScalePeriodBy = new TI.BlockIndex());
				Add(Function = new TI.Enum());
				Add(ScalePeriodBy = new TI.BlockIndex());
				Add(WobbleFunction = new TI.Enum());
				Add(WobblePeriod = new TI.Real());
				Add(WobbleMagnitude = new TI.Real());
				Add(SquareWaveThreshold = new TI.Real());
				Add(StepCount = new TI.ShortInteger());
				Add(MapTo = new TI.Enum());
				Add(SawtoothCount = new TI.ShortInteger());
				Add(TI.Pad.Word);
				Add(ScaleResultBy = new TI.BlockIndex());
				Add(BoundsMode = new TI.Enum());
				Add(Bounds = new TI.Real(BlamLib.TagInterface.FieldType.RealFractionBounds));
				Add(new TI.Pad(4 + 2));
				Add(TurnoffWith = new TI.BlockIndex());
				Add(new TI.Pad(16*2));
			}
示例#52
0
		public tag_database_entry_reference_block() : base(1)
		{
			Add(EntryReference = new TI.BlockIndex(TI.FieldType.LongBlockIndex)); // 1 tag_database_entry_block
		}
示例#53
0
			protected scenario_device_block(int field_count) : base(field_count + 4)
			{
				Add(new TI.Pad(8));
				Add(PowerGroup = new TI.BlockIndex());
				Add(PositionGroup = new TI.BlockIndex());
				Add(DeviceFlags = new TI.Flags());
			}
示例#54
0
					public move_positions_block() : base(8)
					{
						Add(Position = new TI.RealPoint3D());
						Add(Facing = new TI.Real(BlamLib.TagInterface.FieldType.Angle));
						Add(Weight = new TI.Real());
						Add(Time = new TI.RealBounds());
						Add(Animation = new TI.BlockIndex());
						Add(SequenceID = new TI.ByteInteger());
						Add(new TI.Pad(1 + 44));
						Add(SurfaceIndex = new TI.LongInteger());
					}
示例#55
0
			public scenario_decals_block() : base(4)
			{
				Add(DecalType = new TI.BlockIndex());
				Add(Yaw = new TI.ByteInteger());
				Add(Pitch = new TI.ByteInteger());
				Add(Position = new TI.RealPoint3D());
			}
示例#56
0
					public actor_starting_locations_block() : base(9)
					{
						Add(Position = new TI.RealPoint3D());
						Add(Facing = new TI.Real(BlamLib.TagInterface.FieldType.Angle));
						Add(new TI.Pad(2));
						Add(SequenceID = new TI.ByteInteger());
						Add(Flags = new TI.Flags(BlamLib.TagInterface.FieldType.ByteFlags));
						Add(ReturnState = new TI.Enum());
						Add(InitialState = new TI.Enum());
						Add(ActorType = new TI.BlockIndex());
						Add(CommandList = new TI.BlockIndex());
					}
示例#57
0
		public sound_gestalt_pitch_ranges_block() : base(6)
		{
			Add(Name = new TI.BlockIndex()); // 1 sound_gestalt_import_names_block
			Add(Parameters = new TI.BlockIndex()); // 1 sound_gestalt_pitch_range_parameters_block
			Add(EncodedPermutationData = new TI.ShortInteger());
			Add(FirstRuntimePermutationFlagIndex = new TI.ShortInteger());
			Add(FirstPermutation = new TI.BlockIndex()); // 1 sound_gestalt_permutations_block
			Add(PermutationCount = new TI.ShortInteger());
		}
示例#58
0
			public mass_point_block() : base(17)
			{
				Add(Name = new TI.String());
				Add(Flags = new TI.Flags());
				Add(PoweredMassPoint = new TI.BlockIndex(TI.FieldType.ShortBlockIndex));
				Add(ModelNode = new TI.ShortInteger());
				Add(RelativeMass = new TI.Real());
				Add(Mass = new TI.Real());
				Add(RelativeDensity = new TI.Real());
				Add(Density = new TI.Real());
				Add(Position = new TI.RealPoint3D());
				Add(Forward = new TI.RealVector3D());
				Add(Up = new TI.RealVector3D());
				Add(FrictionType = new TI.Enum());
				Add(new TI.Pad(2));
				Add(FrictionParallelScale = new TI.Real());
				Add(FrictionPerpendicularScale = new TI.Real());
				Add(Radius = new TI.Real());
				Add(new TI.Pad(20));
			}
示例#59
0
文件: Bsp.cs 项目: CodeAsm/open-sauce
			public structure_bsp_instanced_geometry_instances_block() : base(20)
			{
				Add(Scale = new TI.Real());
				Add(Forward = new TI.RealVector3D());
				Add(Left = new TI.RealVector3D());
				Add(Up = new TI.RealVector3D());
				Add(Position = new TI.RealPoint3D());
				Add(InstanceDefinition = new TI.BlockIndex()); // 1 structure_bsp_instanced_geometry_definition_block
				Add(/*Flags = */ new TI.Flags(TI.FieldType.WordFlags));
				Add(new TI.BlockIndex()); // index to sbsp->0x350
				Add(new TI.Pad(2 + // only seen this as zero, assuming its pad
					4)); // only seen this as zero, assuming its the pad from h2
				
				//Add(new TI.Skip(12 + 4 + 4)); // +4 more than h2. this is all 'real' data, not sure if its actually the same as h2
				Add(new TI.Real());
				Add(new TI.Real());
				Add(new TI.Real());
				Add(new TI.Real());
				Add(new TI.Real());
				
				Add(/*Name = */ new TI.StringId());
				Add(/*Pathfinding Policy = */ new TI.Enum());
				Add(/*Lightmapping Policy = */ new TI.Enum());
				Add(new TI.Real());

				Add(TI.UnknownPad.BlockHalo3); // [0x70] (pretty sure this is havok related, see offset 0x6)
				Add(TI.UnknownPad.BlockHalo3); // ??
			}
示例#60
0
		public sound_gestalt_permutations_block() : base(8)
		{
			Add(Name = new TI.BlockIndex()); // 1 sound_gestalt_import_names_block
			Add(EncodedSkipFraction = new TI.ShortInteger());
			Add(EncodedGain = new TI.ByteInteger());
			Add(PermutationInfoIndex = new TI.ByteInteger());
			Add(LanguageNeutralTime = new TI.ShortInteger());
			Add(SampleSize = new TI.LongInteger());
			Add(FirstChunk = new TI.BlockIndex()); // 1 sound_permutation_chunk_block
			Add(ChunkCount = new TI.ShortInteger());
		}