Пример #1
0
        public shader_transparent_plasma_group() : base(25)
        {
            Add(new TI.Pad(2 + 2));
            Add(IntensitySource = new TI.Enum());
            Add(new TI.Pad(2));
            Add(IntensityExponent = new TI.Real());
            Add(OffsetSource      = new TI.Enum());
            Add(new TI.Pad(2));
            Add(OffsetAmount   = new TI.Real());
            Add(OffsetExponent = new TI.Real());
            Add(new TI.Pad(32));

            Add(PerpendicularBrightness = TI.Real.Fraction);
            Add(PerpendicularTintColor  = new TI.RealColor());
            Add(ParallelBrightness      = TI.Real.Fraction);
            Add(ParallelTintColor       = new TI.RealColor());
            Add(ParallelTintColorSource = new TI.Enum());
            Add(new TI.Pad(2 + 32 + 2 + 2 + 16 + 4 + 4));
            Add(PrimaryAnimationPeriod    = new TI.Real());
            Add(PrimaryAnimationDirection = new TI.RealVector3D());
            Add(PrimaryNoiseMapScale      = new TI.Real());
            Add(PrimaryNoiseMap           = new TI.TagReference(this, TagGroups.bitm));
            Add(new TI.Pad(32 + 4));
            Add(SecondaryAnimationPeriod    = new TI.Real());
            Add(SecondaryAnimationDirection = new TI.RealVector3D());
            Add(SecondaryNoiseMapScale      = new TI.Real());
            Add(SecondaryNoiseMap           = new TI.TagReference(this, TagGroups.bitm));
            Add(new TI.Pad(32));
        }
Пример #2
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);                 // ??
            }
Пример #3
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));
                }
Пример #4
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());
 }
Пример #5
0
 public sprite_vertices_block() : base(5)
 {
     Add(Position = new TI.RealPoint3D());
     Add(Offset   = new TI.RealVector3D());
     Add(Axis     = new TI.RealVector3D());
     Add(Texcoord = new TI.RealPoint2D());
     Add(Color    = new TI.Color(TI.FieldType.RgbColor));
 }
Пример #6
0
 protected unit_group(int field_count) : base(field_count + 54)
 {
     Add(UnitFlags             = new TI.Flags());
     Add(DefaultTeam           = new TI.Enum());
     Add(ConstantSoundVolume   = new TI.Enum());
     Add(RiderDamageFraction   = new TI.Real());
     Add(IntegratedLightToggle = new TI.TagReference(this, TagGroups.effe));
     Add(AinUnit                   = new TI.Enum());
     Add(BinUnit                   = new TI.Enum());
     Add(CinUnit                   = new TI.Enum());
     Add(DinUnit                   = new TI.Enum());
     Add(CameraFieldOfView         = new TI.Real(BlamLib.TagInterface.FieldType.Angle));
     Add(CameraStiffness           = new TI.Real());
     Add(CameraMarkerName          = new TI.String());
     Add(CameraSubmergedMarkerName = new TI.String());
     Add(PitchAutoLevel            = new TI.Real(BlamLib.TagInterface.FieldType.Angle));
     Add(PitchRange                = new TI.RealBounds(BlamLib.TagInterface.FieldType.AngleBounds));
     Add(CameraTracks              = new TI.Block <unit_camera_track_block>(this, 2));
     Add(SeatAccelerationScale     = new TI.RealVector3D());
     Add(new TI.Pad(12));
     Add(SoftPingThreshold     = new TI.Real());
     Add(SoftPingInterruptTime = new TI.Real());
     Add(HardPingThreshold     = new TI.Real());
     Add(HardPingInterruptTime = new TI.Real());
     Add(HardDeathThreshold    = new TI.Real());
     Add(FeignDeathThreshold   = new TI.Real());
     Add(FeignDeathTime        = new TI.Real());
     Add(DistOfEvadeAnim       = new TI.Real());
     Add(DistOfDiveAnim        = new TI.Real());
     Add(new TI.Pad(4));
     Add(StunnedMovementThreshold = new TI.Real());
     Add(FeignDeathChance         = new TI.Real());
     Add(FeignRepeatChance        = new TI.Real());
     Add(SpawnedActor             = new TI.TagReference(this, TagGroups.actv));
     Add(SpawnedActorCount        = new TI.ShortIntegerBounds());
     Add(SpawnedVelocity          = new TI.Real());
     Add(AimingVelocityMax        = new TI.Real(BlamLib.TagInterface.FieldType.Angle));
     Add(AimingAccelerationMax    = new TI.Real(BlamLib.TagInterface.FieldType.Angle));
     Add(CasualAimingModifier     = new TI.Real(BlamLib.TagInterface.FieldType.RealFraction));
     Add(LookingVelocityMaximum   = new TI.Real(BlamLib.TagInterface.FieldType.Angle));
     Add(LookingAccelerationMax   = new TI.Real(BlamLib.TagInterface.FieldType.Angle));
     Add(new TI.Pad(8));
     Add(AiVehicleRadius      = new TI.Real());
     Add(AiDangerRadius       = new TI.Real());
     Add(MeleeDamage          = new TI.TagReference(this, TagGroups.jpt_));
     Add(MotionSensorBlipSize = new TI.Enum());
     Add(new TI.Pad(2 + 12));
     Add(NewHudInterfaces = new TI.Block <unit_hud_reference_block>(this, 2));
     Add(DialogueVariants = new TI.Block <dialogue_variant_block>(this, 16));
     Add(GrenadeVelocity  = new TI.Real());
     Add(GrenadeType      = new TI.Enum());
     Add(GrenadeCount     = new TI.ShortInteger());
     Add(new TI.Pad(4));
     Add(PoweredSeats = new TI.Block <powered_seat_block>(this, 2));
     Add(Weapons      = new TI.Block <unit_weapon_block>(this, 4));
     Add(Seats        = new TI.Block <unit_seat_block>(this, 16));
 }
Пример #7
0
 public model_vertex_uncompressed_block() : base(9)
 {
     Add(Position      = new TI.RealPoint3D());
     Add(Normal        = new TI.RealVector3D());
     Add(Binormal      = new TI.RealVector3D());
     Add(Tangent       = new TI.RealVector3D());
     Add(TextureCoords = new TI.RealPoint2D());
     Add(NodeIndex1    = new TI.ShortInteger());
     Add(NodeIndex2    = new TI.ShortInteger());
     Add(NodeWeight1   = new TI.Real());
     Add(NodeWeight2   = new TI.Real());
 }
Пример #8
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));
 }
 public lightning_marker_block() : base(10)
 {
     Add(AttachmentMarker = new TI.String());
     Add(Flags            = new TI.Flags(BlamLib.TagInterface.FieldType.WordFlags));
     Add(new TI.Pad(2));
     Add(OctavesToNextMarker = new TI.ShortInteger());
     Add(new TI.Pad(2 + 76));
     Add(RandomPositionBounds = new TI.RealVector3D());
     Add(RandomJitter         = new TI.Real());
     Add(Thickness            = new TI.Real());
     Add(Tint = new TI.RealColor(BlamLib.TagInterface.FieldType.RealArgbColor));
     Add(new TI.Pad(76));
 }
Пример #10
0
 public structure_bsp_weather_palette_block() : base(11)
 {
     Add(Name           = new TI.String());
     Add(ParticleSystem = new TI.TagReference(this, TagGroups.rain));
     Add(new TI.Pad(4));
     Add(ParticleSystemScaleFunction = new TI.String());
     Add(new TI.Pad(44));
     Add(Wind          = new TI.TagReference(this, TagGroups.wind));
     Add(WindDirection = new TI.RealVector3D());
     Add(WindMagnitude = new TI.Real());
     Add(new TI.Pad(4));
     Add(WindScaleFunction = new TI.String());
     Add(new TI.Pad(44));
 }
Пример #11
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());
 }
Пример #12
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));
 }
Пример #13
0
 public unit_seat_block() : base(21)
 {
     Add(Flags      = new TI.Flags());
     Add(Label      = new TI.String());
     Add(MarkerName = new TI.String());
     Add(new TI.Pad(32));
     Add(AccelerationScale = new TI.RealVector3D());
     Add(new TI.Pad(12));
     Add(YawRate                   = new TI.Real());
     Add(PitchRate                 = new TI.Real());
     Add(CameraMarkerName          = new TI.String());
     Add(CameraSugmergedMarkerName = new TI.String());
     Add(PitchAutoLevel            = new TI.Real(BlamLib.TagInterface.FieldType.Angle));
     Add(PitchRange                = new TI.RealBounds(BlamLib.TagInterface.FieldType.AngleBounds));
     Add(CameraTracks              = new TI.Block <unit_camera_track_block>(this, 2));
     Add(UnitHudInterface          = new TI.Block <unit_hud_reference_block>(this, 2));
     Add(new TI.Pad(4));
     Add(HudTextMessageIndex = new TI.ShortInteger());
     Add(new TI.Pad(2));
     Add(YawMin        = new TI.Real(BlamLib.TagInterface.FieldType.Angle));
     Add(YawMax        = new TI.Real(BlamLib.TagInterface.FieldType.Angle));
     Add(BuiltInGunner = new TI.TagReference(this, TagGroups.actv));
     Add(new TI.Pad(20));
 }
Пример #14
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); // ??
			}
Пример #15
0
		public global_geometry_section_raw_vertex_block() : base(global_geometry_raw_point.kFieldCount + 10)
		{
			Point = new global_geometry_raw_point(this);					// 0x0

			Add(Texcoord = new TI.RealPoint2D());							// 0x44
			Add(Normal = new TI.RealVector3D());							// 0x4C
			Add(Binormal = new TI.RealVector3D());							// 0x58
			Add(Tangent = new TI.RealVector3D());							// 0x6C
			Add(AnisotropicBinormal = new TI.RealVector3D());				// 0x78
			Add(SecondaryTexcoord = new TI.RealPoint2D());					// 0x84
			Add(PrimaryLightmapColor = new TI.RealColor());					// 0x8C
			Add(PrimaryLightmapTexcoord = new TI.RealPoint2D());			// 0x98
			Add(PrimaryLightmapIncidentDirection = new TI.RealVector3D());	// 0xA0

			// Future Secondary LM Color, Texcoord and Incident Direction?
			Add(new TI.Pad(12 + 8 + 12));
		}
Пример #16
0
		public render_lighting_struct() : base(10)
		{
			Add(Ambient = new TI.RealColor());
			Add(ShadowDirection = new TI.RealVector3D());
			Add(LightingAccuracy = new TI.Real());
			Add(ShadowOpacity = new TI.Real());
			Add(PrimaryDirectionColor = new TI.RealColor());
			Add(PrimaryDirection = new TI.RealVector3D());
			Add(SecondaryDirectionColor = new TI.RealColor());
			Add(SecondaryDirection = new TI.RealVector3D());
			Add(ShIndex = new TI.ShortInteger());
			Add(new TI.Pad(2));
		}
Пример #17
0
        public structure_bsp_group() : base(52)
        {
            Add(LightmapBitmaps = new TI.TagReference(this, TagGroups.bitm));
            Add(VehicleFloor    = new TI.Real());
            Add(VehicleCeiling  = new TI.Real());
            Add(new TI.Pad(20));

            Add(DefaultAmbientColor = new TI.RealColor());
            Add(new TI.Pad(4));

            Add(DefaultDistantLight0Color          = new TI.RealColor());
            Add(DefaultDistantLight0ColorDirection = new TI.RealVector3D());
            Add(DefaultDistantLight1Color          = new TI.RealColor());
            Add(DefaultDistantLightColor1Direction = new TI.RealVector3D());
            Add(new TI.Pad(12));

            Add(DefaultReflectionTint = new TI.RealColor(BlamLib.TagInterface.FieldType.RealArgbColor));
            Add(DefaultShadowVector   = new TI.RealVector3D());
            Add(DefaultShadowColor    = new TI.RealColor());
            Add(new TI.Pad(4));

            Add(CollisionMaterials = new TI.Block <structure_collision_materials_block>(this, 512));
            Add(CollisionBsp       = new TI.Block <collision_bsp_block>(this, 1));
            Add(Nodes = new TI.Block <structure_bsp_node_block>(this, 131072));

            Add(WorldBoundsX = new TI.RealBounds());
            Add(WorldBoundsY = new TI.RealBounds());
            Add(WorldBoundsZ = new TI.RealBounds());

            Add(Leaves       = new TI.Block <structure_bsp_leaf_block>(this, 65536));
            Add(LeafSurfaces = new TI.Block <structure_bsp_surface_reference_block>(this, 262144));
            Add(Surfaces     = new TI.Block <structure_bsp_surface_block>(this, 131072));

            Add(Lightmaps = new TI.Block <structure_bsp_lightmap_block>(this, 128));
            Add(new TI.Pad(12));

            Add(LensFlares       = new TI.Block <structure_bsp_lens_flare_block>(this, 256));
            Add(LensFlareMarkers = new TI.Block <structure_bsp_lens_flare_marker_block>(this, 65536));

            Add(Clusters       = new TI.Block <structure_bsp_cluster_block>(this, 8192));
            Add(ClusterData    = new TI.Data(this));
            Add(ClusterPortals = new TI.Block <structure_bsp_cluster_portal_block>(this, 512));
            Add(new TI.Pad(12));

            Add(BreakableSurfaces = new TI.Block <structure_bsp_breakable_surface_block>(this, 256));
            Add(FogPlanes         = new TI.Block <structure_bsp_fog_plane_block>(this, 32));
            Add(FogRegions        = new TI.Block <structure_bsp_fog_region_block>(this, 32));
            Add(FogPalette        = new TI.Block <structure_bsp_fog_palette_block>(this, 32));
            Add(new TI.Pad(24));

            Add(WeatherPalette   = new TI.Block <structure_bsp_weather_palette_block>(this, 32));
            Add(WeatherPolyhedra = new TI.Block <structure_bsp_weather_polyhedron_block>(this, 32));
            Add(new TI.Pad(24));

            Add(PathfindingSurfaces = new TI.Block <field_block <TI.ByteInteger> >(this, 131072));
            Add(PathfindingEdges    = new TI.Block <field_block <TI.ByteInteger> >(this, 262144));

            Add(BackgroundSoundPalette  = new TI.Block <structure_bsp_background_sound_palette_block>(this, 64));
            Add(SoundEnvironmentPalette = new TI.Block <structure_bsp_sound_environment_palette_block>(this, 64));
            Add(SoundPASData            = new TI.Data(this));
            Add(new TI.Pad(24));

            Add(Markers       = new TI.Block <structure_bsp_marker_block>(this, 1024));
            Add(DetailObjects = new TI.Block <structure_bsp_detail_object_data_block>(this, 1));
            Add(RuntimeDecals = new TI.Block <structure_bsp_runtime_decal_block>(this, 6144));
            Add(new TI.Pad(8 +

                                // leaf_map
                           4)); // tag_block*, sizeof(0xC)
            Add(LeafMapLeaves  = new TI.Block <global_map_leaf_block>(this, 65536));
            Add(LeafMapPortals = new TI.Block <global_leaf_portal_block>(this, 524288));
        }
Пример #18
0
				public lightmap_bucket_raw_vertex_block() : base(2)
				{
					Add(PrimaryLightmapColor = new TI.RealColor());
					Add(PrimaryLightmapIncidentDirection = new TI.RealVector3D());
				}
Пример #19
0
        public actor_variant_group() : base(90)
        {
            Add(Flags           = new TI.Flags());
            Add(ActorDefinition = new TI.TagReference(this, TagGroups.actr));
            Add(Unit            = new TI.TagReference(this, TagGroups.unit));
            Add(MajorVariant    = new TI.TagReference(this, TagGroups.actv));
            Add(new TI.Pad(24));

            #region movement switching
            Add(MovementType = new TI.Enum());
            Add(new TI.Pad(2));
            Add(InitialCrouchChance = new TI.Real());
            Add(CrouchTime          = new TI.RealBounds());
            Add(RunTime             = new TI.RealBounds());
            #endregion

            #region ranged combat
            Add(Weapon                     = new TI.TagReference(this, TagGroups.weap));
            Add(MaxFiringDist              = new TI.Real());
            Add(RateOfFire                 = new TI.Real());
            Add(ProjectileError            = new TI.Real(BlamLib.TagInterface.FieldType.Angle));
            Add(FirstBurstDelayTime        = new TI.RealBounds());
            Add(NewTargetFiringPatternTime = new TI.Real());
            Add(SurpriseDelayTime          = new TI.Real());
            Add(SurpriseFireWildyTime      = new TI.Real());
            Add(DeathFireWildlyChance      = new TI.Real());
            Add(DeathFireWildlyTime        = new TI.Real());
            Add(DesiredCombatRange         = new TI.RealBounds());
            Add(CustomStandGunOffset       = new TI.RealVector3D());
            Add(CustomCrouchGunOffset      = new TI.RealVector3D());
            Add(TargetTracking             = new TI.Real());
            Add(TargetLeading              = new TI.Real());
            Add(WeaponDamageModifier       = new TI.Real());
            Add(DamagePerSecond            = new TI.Real());
            #endregion

            #region burst geometry
            Add(BurstOriginRadius    = new TI.Real());
            Add(BurstOriginAngle     = new TI.Real(BlamLib.TagInterface.FieldType.Angle));
            Add(BurstReturnLength    = new TI.RealBounds());
            Add(BurstReturnAngle     = new TI.Real(BlamLib.TagInterface.FieldType.Angle));
            Add(BurstDuration        = new TI.RealBounds());
            Add(BurstSepartion       = new TI.RealBounds());
            Add(BurstAngularVelocity = new TI.Real(BlamLib.TagInterface.FieldType.Angle));
            Add(new TI.Pad(4));
            Add(SpecialDamageModifier  = new TI.Real());
            Add(SpecialProjectileError = new TI.Real(BlamLib.TagInterface.FieldType.Angle));
            #endregion

            #region firing patterns
            Add(NewTargetBurstDuration   = new TI.Real());
            Add(NewTargetBurstSeperation = new TI.Real());
            Add(NewTargetRateOfFire      = new TI.Real());
            Add(NewTargetProjectileError = new TI.Real());
            Add(new TI.Pad(8));
            Add(MovingBurstDuration   = new TI.Real());
            Add(MovingBurstSeperation = new TI.Real());
            Add(MovingRateOfFire      = new TI.Real());
            Add(MovingProjectileError = new TI.Real());
            Add(new TI.Pad(8));
            Add(BerserkBurstDuration   = new TI.Real());
            Add(BerserkBurstSeperation = new TI.Real());
            Add(BerserkRateOfFire      = new TI.Real());
            Add(BerserkProjectileError = new TI.Real());
            Add(new TI.Pad(8));
            #endregion

            #region special-case firing properties
            Add(SuperBallisticRange  = new TI.Real());
            Add(BombardmentRange     = new TI.Real());
            Add(ModifiedVisionRange  = new TI.Real());
            Add(SpecialFireMode      = new TI.Enum());
            Add(SpecialFireSituation = new TI.Enum());
            Add(SpecialFireChance    = new TI.Real());
            Add(SpecialFireDelay     = new TI.Real());
            #endregion

            #region berserking and melee
            Add(MeleeRange             = new TI.Real());
            Add(MeleeAbortRange        = new TI.Real());
            Add(BerserkFiringRange     = new TI.RealBounds());
            Add(BerserkMeleeRange      = new TI.Real());
            Add(BerserkMeleeAbortRange = new TI.Real());
            Add(new TI.Pad(8));
            #endregion

            #region grenades
            Add(GrenadeType     = new TI.Enum());
            Add(TrajectoryType  = new TI.Enum());
            Add(GrenadeStimulus = new TI.Enum());
            Add(MinEnemyCount   = new TI.ShortInteger());
            Add(EnemyRadius     = new TI.Real());
            Add(new TI.Pad(4));
            Add(GrenadeVelocity         = new TI.Real());
            Add(GrenadeRanges           = new TI.RealBounds());
            Add(CollateralDamageRadius  = new TI.Real());
            Add(GrenadeChance           = new TI.Real(BlamLib.TagInterface.FieldType.RealFraction));
            Add(GrenadeCheckTime        = new TI.Real());
            Add(EncounterGrenadeTimeout = new TI.Real());
            Add(new TI.Pad(20));
            #endregion

            #region items
            Add(Equipment              = new TI.TagReference(this, TagGroups.eqip));
            Add(GrenadeCount           = new TI.ShortIntegerBounds());
            Add(DontDropGrenadesChance = new TI.Real());
            Add(DropWeaponLoaded       = new TI.RealBounds());
            Add(DropWeaponAmmo         = new TI.ShortIntegerBounds());
            Add(new TI.Pad(12 + 16));
            #endregion

            #region unit
            Add(BodyVitality            = new TI.Real());
            Add(ShieldVitality          = new TI.Real());
            Add(ShieldSappingRadius     = new TI.Real());
            Add(ForcedShaderPermutation = new TI.ShortInteger());
            Add(new TI.Pad(2 + 16 + 12));
            #endregion

            Add(ChangeColors = new TI.Block <actor_variant_change_colors_block>(this, 4));
        }
Пример #20
0
		public actor_variant_group() : base(90)
		{
			Add(Flags = new TI.Flags());
			Add(ActorDefinition = new TI.TagReference(this, TagGroups.actr));
			Add(Unit = new TI.TagReference(this, TagGroups.unit));
			Add(MajorVariant = new TI.TagReference(this, TagGroups.actv));
			Add(new TI.Pad(24));
			
			#region movement switching
			Add(MovementType = new TI.Enum());
			Add(new TI.Pad(2));
			Add(InitialCrouchChance = new TI.Real());
			Add(CrouchTime = new TI.RealBounds());
			Add(RunTime = new TI.RealBounds());
			#endregion

			#region ranged combat
			Add(Weapon = new TI.TagReference(this, TagGroups.weap));
			Add(MaxFiringDist = new TI.Real());
			Add(RateOfFire = new TI.Real());
			Add(ProjectileError = new TI.Real(BlamLib.TagInterface.FieldType.Angle));
			Add(FirstBurstDelayTime = new TI.RealBounds());
			Add(NewTargetFiringPatternTime = new TI.Real());
			Add(SurpriseDelayTime = new TI.Real());
			Add(SurpriseFireWildyTime = new TI.Real());
			Add(DeathFireWildlyChance = new TI.Real());
			Add(DeathFireWildlyTime = new TI.Real());
			Add(DesiredCombatRange = new TI.RealBounds());
			Add(CustomStandGunOffset = new TI.RealVector3D());
			Add(CustomCrouchGunOffset = new TI.RealVector3D());
			Add(TargetTracking = new TI.Real());
			Add(TargetLeading = new TI.Real());
			Add(WeaponDamageModifier = new TI.Real());
			Add(DamagePerSecond = new TI.Real());
			#endregion

			#region burst geometry
			Add(BurstOriginRadius = new TI.Real());
			Add(BurstOriginAngle = new TI.Real(BlamLib.TagInterface.FieldType.Angle));
			Add(BurstReturnLength = new TI.RealBounds());
			Add(BurstReturnAngle = new TI.Real(BlamLib.TagInterface.FieldType.Angle));
			Add(BurstDuration = new TI.RealBounds());
			Add(BurstSepartion = new TI.RealBounds());
			Add(BurstAngularVelocity = new TI.Real(BlamLib.TagInterface.FieldType.Angle));
			Add(new TI.Pad(4));
			Add(SpecialDamageModifier = new TI.Real());
			Add(SpecialProjectileError = new TI.Real(BlamLib.TagInterface.FieldType.Angle));
			#endregion

			#region firing patterns
			Add(NewTargetBurstDuration = new TI.Real());
			Add(NewTargetBurstSeperation = new TI.Real());
			Add(NewTargetRateOfFire = new TI.Real());
			Add(NewTargetProjectileError = new TI.Real());
			Add(new TI.Pad(8));
			Add(MovingBurstDuration = new TI.Real());
			Add(MovingBurstSeperation = new TI.Real());
			Add(MovingRateOfFire = new TI.Real());
			Add(MovingProjectileError = new TI.Real());
			Add(new TI.Pad(8));
			Add(BerserkBurstDuration = new TI.Real());
			Add(BerserkBurstSeperation = new TI.Real());
			Add(BerserkRateOfFire = new TI.Real());
			Add(BerserkProjectileError = new TI.Real());
			Add(new TI.Pad(8));
			#endregion

			#region special-case firing properties
			Add(SuperBallisticRange = new TI.Real());
			Add(BombardmentRange = new TI.Real());
			Add(ModifiedVisionRange = new TI.Real());
			Add(SpecialFireMode = new TI.Enum());
			Add(SpecialFireSituation = new TI.Enum());
			Add(SpecialFireChance = new TI.Real());
			Add(SpecialFireDelay = new TI.Real());
			#endregion

			#region berserking and melee
			Add(MeleeRange = new TI.Real());
			Add(MeleeAbortRange = new TI.Real());
			Add(BerserkFiringRange = new TI.RealBounds());
			Add(BerserkMeleeRange = new TI.Real());
			Add(BerserkMeleeAbortRange = new TI.Real());
			Add(new TI.Pad(8));
			#endregion

			#region grenades
			Add(GrenadeType = new TI.Enum());
			Add(TrajectoryType = new TI.Enum());
			Add(GrenadeStimulus = new TI.Enum());
			Add(MinEnemyCount = new TI.ShortInteger());
			Add(EnemyRadius = new TI.Real());
			Add(new TI.Pad(4));
			Add(GrenadeVelocity = new TI.Real());
			Add(GrenadeRanges = new TI.RealBounds());
			Add(CollateralDamageRadius = new TI.Real());
			Add(GrenadeChance = new TI.Real(BlamLib.TagInterface.FieldType.RealFraction));
			Add(GrenadeCheckTime = new TI.Real());
			Add(EncounterGrenadeTimeout = new TI.Real());
			Add(new TI.Pad(20));
			#endregion

			#region items
			Add(Equipment = new TI.TagReference(this, TagGroups.eqip));
			Add(GrenadeCount = new TI.ShortIntegerBounds());
			Add(DontDropGrenadesChance = new TI.Real());
			Add(DropWeaponLoaded = new TI.RealBounds());
			Add(DropWeaponAmmo = new TI.ShortIntegerBounds());
			Add(new TI.Pad(12 + 16));
			#endregion

			#region unit
			Add(BodyVitality = new TI.Real());
			Add(ShieldVitality = new TI.Real());
			Add(ShieldSappingRadius = new TI.Real());
			Add(ForcedShaderPermutation = new TI.ShortInteger());
			Add(new TI.Pad(2 + 16 + 12));
			#endregion

			Add(ChangeColors = new TI.Block<actor_variant_change_colors_block>(this, 4));
		}
Пример #21
0
			public inertial_matrix_block() : base(3)
			{
				Add(Mat1 = new TI.RealVector3D());
				Add(Mat2 = new TI.RealVector3D());
				Add(Mat3 = new TI.RealVector3D());
			}
Пример #22
0
		public structure_bsp_group() : base(52)
		{
			Add(LightmapBitmaps = new TI.TagReference(this, TagGroups.bitm));
			Add(VehicleFloor = new TI.Real());
			Add(VehicleCeiling = new TI.Real());
			Add(new TI.Pad(20));

			Add(DefaultAmbientColor = new TI.RealColor());
			Add(new TI.Pad(4));

			Add(DefaultDistantLight0Color = new TI.RealColor());
			Add(DefaultDistantLight0ColorDirection = new TI.RealVector3D());
			Add(DefaultDistantLight1Color = new TI.RealColor());
			Add(DefaultDistantLightColor1Direction = new TI.RealVector3D());
			Add(new TI.Pad(12));

			Add(DefaultReflectionTint = new TI.RealColor(BlamLib.TagInterface.FieldType.RealArgbColor));
			Add(DefaultShadowVector = new TI.RealVector3D());
			Add(DefaultShadowColor = new TI.RealColor());
			Add(new TI.Pad(4));

			Add(CollisionMaterials = new TI.Block<structure_collision_materials_block>(this, 512));
			Add(CollisionBsp = new TI.Block<collision_bsp_block>(this, 1));
			Add(Nodes = new TI.Block<structure_bsp_node_block>(this, 131072));

			Add(WorldBoundsX = new TI.RealBounds());
			Add(WorldBoundsY = new TI.RealBounds());
			Add(WorldBoundsZ = new TI.RealBounds());

			Add(Leaves = new TI.Block<structure_bsp_leaf_block>(this, 65536));
			Add(LeafSurfaces = new TI.Block<structure_bsp_surface_reference_block>(this, 262144));
			Add(Surfaces = new TI.Block<structure_bsp_surface_block>(this, 131072));

			Add(Lightmaps = new TI.Block<structure_bsp_lightmap_block>(this, 128));
			Add(new TI.Pad(12));

			Add(LensFlares = new TI.Block<structure_bsp_lens_flare_block>(this, 256));
			Add(LensFlareMarkers = new TI.Block<structure_bsp_lens_flare_marker_block>(this, 65536));

			Add(Clusters = new TI.Block<structure_bsp_cluster_block>(this, 8192));
			Add(ClusterData = new TI.Data(this));
			Add(ClusterPortals = new TI.Block<structure_bsp_cluster_portal_block>(this, 512));
			Add(new TI.Pad(12));

			Add(BreakableSurfaces = new TI.Block<structure_bsp_breakable_surface_block>(this, 256));
			Add(FogPlanes = new TI.Block<structure_bsp_fog_plane_block>(this, 32));
			Add(FogRegions = new TI.Block<structure_bsp_fog_region_block>(this, 32));
			Add(FogPalette = new TI.Block<structure_bsp_fog_palette_block>(this, 32));
			Add(new TI.Pad(24));

			Add(WeatherPalette = new TI.Block<structure_bsp_weather_palette_block>(this, 32));
			Add(WeatherPolyhedra = new TI.Block<structure_bsp_weather_polyhedron_block>(this, 32));
			Add(new TI.Pad(24));

			Add(PathfindingSurfaces = new TI.Block<field_block<TI.ByteInteger>>(this, 131072));
			Add(PathfindingEdges = new TI.Block<field_block<TI.ByteInteger>>(this, 262144));

			Add(BackgroundSoundPalette = new TI.Block<structure_bsp_background_sound_palette_block>(this, 64));
			Add(SoundEnvironmentPalette = new TI.Block<structure_bsp_sound_environment_palette_block>(this, 64));
			Add(SoundPASData = new TI.Data(this));
			Add(new TI.Pad(24));

			Add(Markers = new TI.Block<structure_bsp_marker_block>(this, 1024));
			Add(DetailObjects = new TI.Block<structure_bsp_detail_object_data_block>(this, 1));
			Add(RuntimeDecals = new TI.Block<structure_bsp_runtime_decal_block>(this, 6144));
			Add(new TI.Pad(8 + 
			
			// leaf_map
				4)); // tag_block*, sizeof(0xC)
			Add(LeafMapLeaves = new TI.Block<global_map_leaf_block>(this, 65536));
			Add(LeafMapPortals = new TI.Block<global_leaf_portal_block>(this, 524288));
		}
Пример #23
0
		public actor_group() : base(124)
		{
			Add(Flags = new TI.Flags());
			Add(MoreFlags = new TI.Flags());
			Add(new TI.Pad(12));
			Add(Type = new TI.Enum());
			Add(new TI.Pad(2));

			#region perception
			Add(MaxVisionDist = new TI.Real());
			Add(CentralVisionAngle = new TI.Real(BlamLib.TagInterface.FieldType.Angle));
			Add(MaxVisionAngle = new TI.Real(BlamLib.TagInterface.FieldType.Angle));
			Add(new TI.Pad(4));
			Add(PeripheralVisionAngle = new TI.Real(BlamLib.TagInterface.FieldType.Angle));
			Add(PeripheralDist = new TI.Real());
			Add(new TI.Pad(4));
			Add(StandingGunOffset = new TI.RealVector3D());
			Add(CrouchingGunOffset = new TI.RealVector3D());
			Add(HearingDist = new TI.Real());
			Add(NoticeProjectileChance = new TI.Real());
			Add(NoticeVehicleChance = new TI.Real());
			Add(new TI.Pad(8));
			Add(CombatPerceptionTime = new TI.Real());
			Add(GuardPerceptionTime = new TI.Real());
			Add(NonCombatPerceptionTime = new TI.Real());
			Add(new TI.Pad(12 + 8));
			#endregion

			#region movement
			Add(DiveIntoCoverChance = new TI.Real());
			Add(EmergeFromCoverChance = new TI.Real());
			Add(DiveFromGrenadeChance = new TI.Real());
			Add(PathfindingRadius = new TI.Real());
			Add(GlassIgnoranceChance = new TI.Real());
			Add(StationaryMovementDist = new TI.Real());
			Add(FreeFlyingSidestep = new TI.Real());
			Add(BeginMovingAngle = new TI.Real(BlamLib.TagInterface.FieldType.Angle));
			Add(new TI.Pad(4));
			#endregion

			#region looking
			Add(MaxAimingDeviation = new TI.RealEulerAngles2D());
			Add(MaxLookingDeviation = new TI.RealEulerAngles2D());
			Add(NonCombatLookDeltaL = new TI.Real(BlamLib.TagInterface.FieldType.Angle));
			Add(NonCombatLookDeltaR = new TI.Real(BlamLib.TagInterface.FieldType.Angle));
			Add(CombatLookDeltaL = new TI.Real(BlamLib.TagInterface.FieldType.Angle));
			Add(CombatLookDeltaR = new TI.Real(BlamLib.TagInterface.FieldType.Angle));
			Add(IdleAimingRange = new TI.RealEulerAngles2D());
			Add(IdleLookingRange = new TI.RealEulerAngles2D());
			Add(EventLookTimeModifier = new TI.RealBounds());
			Add(NonCombatIdleFacing = new TI.RealBounds());
			Add(NonCombatIdleAiming = new TI.RealBounds());
			Add(NonCombatIdleLooking = new TI.RealBounds());
			Add(GuardIdleFacing = new TI.RealBounds());
			Add(GuardIdleAiming = new TI.RealBounds());
			Add(GuardIdleLooking = new TI.RealBounds());
			Add(CombatIdleFacing = new TI.RealBounds());
			Add(CombatIdleAiming = new TI.RealBounds());
			Add(CombatIdleLooking = new TI.RealBounds());
			Add(new TI.Pad(8 + 16));
			#endregion

			Add(DoNotUseWeapon = new TI.TagReference(this, TagGroups.weap));
			Add(new TI.Pad(268));
			Add(DoNotUseProjectile = new TI.TagReference(this, TagGroups.proj));

			#region unopposable
			Add(UnreachableDangerTrigger = new TI.Enum());
			Add(VehicleDangerTrigger = new TI.Enum());
			Add(PlayerDangerTrigger = new TI.Enum());
			Add(new TI.Pad(2));
			Add(DangerTriggerTime = new TI.RealBounds());
			Add(FriendsKilledTrigger = new TI.ShortInteger());
			Add(FriendsRetreatingTrigger = new TI.ShortInteger());
			Add(new TI.Pad(12));
			Add(RetreatTime = new TI.RealBounds());
			Add(new TI.Pad(8));
			#endregion

			#region panic
			Add(CoveringTime = new TI.RealBounds());
			Add(FriendKilledPanicChance = new TI.Real());
			Add(LeaderType = new TI.Enum());
			Add(new TI.Pad(2));
			Add(LeaderKilledPanicChance = new TI.Real());
			Add(PanicDamageThreshold = new TI.Real());
			Add(SurpriseDist = new TI.Real());
			Add(new TI.Pad(28));
			#endregion

			#region defensive
			Add(HideBehindCoverTime = new TI.RealBounds());
			Add(HideTagerNotVisibleTime = new TI.Real());
			Add(HideShieldFraction = new TI.Real());
			Add(AttackShieldFraction = new TI.Real());
			Add(PursueShieldFraction = new TI.Real());
			Add(new TI.Pad(16));
			Add(DefensiveCrouchType = new TI.Enum());
			Add(new TI.Pad(2));
			Add(AttackingCrouchThreshold = new TI.Real());
			Add(DefendingCrouchThreshold = new TI.Real());
			Add(MinStandTime = new TI.Real());
			Add(MinCrouchTime = new TI.Real());
			Add(DefendingHideTime = new TI.Real());
			Add(AttackingEvasionThreshold = new TI.Real());
			Add(DefendingEvasionThreshold = new TI.Real());
			Add(EvasionSeekCoverChance = new TI.Real());
			Add(EvasionDelayTime = new TI.Real());
			Add(MaxSeekCoverDist = new TI.Real());
			Add(CoverDamageThreshold = new TI.Real());
			Add(StalkingDiscoveryTime = new TI.Real());
			Add(StalkingMaxDist = new TI.Real());
			Add(StationaryFacingAngle = new TI.Real(BlamLib.TagInterface.FieldType.Angle));
			Add(ChangeFacingStandTime = new TI.Real());
			Add(new TI.Pad(4));
			#endregion

			#region pursuit
			Add(UncoverDelayTimer = new TI.RealBounds());
			Add(TargetSearchTime = new TI.RealBounds());
			Add(PursuitPositionTime = new TI.RealBounds());
			Add(NumPositionsCoord = new TI.ShortInteger());
			Add(NumPositionsNormal = new TI.ShortInteger());
			Add(new TI.Pad(32));
			#endregion

			#region berserk
			Add(MeleeAttackDelay = new TI.Real());
			Add(MeleeFudgeFactor = new TI.Real());
			Add(MeleeChargeTime = new TI.Real());
			Add(MeleeLeapRange = new TI.RealBounds());
			Add(MeleeLeapVelocity = new TI.Real());
			Add(MeleeLeapChance = new TI.Real());
			Add(MeleeLeapBallistic = new TI.Real());
			Add(BerserkDamageAmount = new TI.Real());
			Add(BerserkDamageThreshold = new TI.Real());
			Add(BerserkProximity = new TI.Real());
			Add(SuicideSensingDist = new TI.Real());
			Add(BerserkGrenadeChance = new TI.Real());
			Add(new TI.Pad(12));
			#endregion

			#region firing positions
			Add(GuardPositionTIme = new TI.RealBounds());
			Add(CombatPositionTime = new TI.RealBounds());
			Add(OldPositionAvoidDist = new TI.Real());
			Add(FriendAvoidDist = new TI.Real());
			Add(new TI.Pad(40));
			#endregion

			#region communication
			Add(NoncombatIdleSpeechTime = new TI.RealBounds());
			Add(CombatIdleSpechTime = new TI.RealBounds());
			Add(new TI.Pad(48 + 128));
			#endregion

			Add(DoNotUseMajorUpgrade = new TI.TagReference(this, TagGroups.actr));
			Add(new TI.Pad(48));
		}
Пример #24
0
			public structure_bsp_weather_palette_block() : base(11)
			{
				Add(Name = new TI.String());
				Add(ParticleSystem = new TI.TagReference(this, TagGroups.rain));
				Add(new TI.Pad(4));
				Add(ParticleSystemScaleFunction = new TI.String());
				Add(new TI.Pad(44));
				Add(Wind = new TI.TagReference(this, TagGroups.wind));
				Add(WindDirection = new TI.RealVector3D());
				Add(WindMagnitude = new TI.Real());
				Add(new TI.Pad(4));
				Add(WindScaleFunction = new TI.String());
				Add(new TI.Pad(44));
			}
Пример #25
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));
				}
Пример #26
0
		public render_model_node_block() : base(13)
		{
			Add(Name = new TI.StringId(true));
			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());
		}
Пример #27
0
		public shader_transparent_plasma_group() : base(25)
		{
			Add(new TI.Pad(2 + 2));
			Add(IntensitySource = new TI.Enum());
			Add(new TI.Pad(2));
			Add(IntensityExponent = new TI.Real());
			Add(OffsetSource = new TI.Enum());
			Add(new TI.Pad(2));
			Add(OffsetAmount = new TI.Real());
			Add(OffsetExponent = new TI.Real());
			Add(new TI.Pad(32));

			Add(PerpendicularBrightness = TI.Real.Fraction);
			Add(PerpendicularTintColor = new TI.RealColor());
			Add(ParallelBrightness = TI.Real.Fraction);
			Add(ParallelTintColor = new TI.RealColor());
			Add(ParallelTintColorSource = new TI.Enum());
			Add(new TI.Pad(2 + 32 + 2 + 2 + 16 + 4 + 4));
			Add(PrimaryAnimationPeriod = new TI.Real());
			Add(PrimaryAnimationDirection = new TI.RealVector3D());
			Add(PrimaryNoiseMapScale = new TI.Real());
			Add(PrimaryNoiseMap = new TI.TagReference(this, TagGroups.bitm));
			Add(new TI.Pad(32 + 4));
			Add(SecondaryAnimationPeriod = new TI.Real());
			Add(SecondaryAnimationDirection = new TI.RealVector3D());
			Add(SecondaryNoiseMapScale = new TI.Real());
			Add(SecondaryNoiseMap = new TI.TagReference(this, TagGroups.bitm));
			Add(new TI.Pad(32));
		}
Пример #28
0
		/// <summary>
		/// Copy constructor
		/// </summary>
		/// <param name="value">field to copy</param>
		public RealVector3D(RealVector3D value) :			this()							{ I = value.I; J = value.J; K = value.K; }
Пример #29
0
			public camera_track_control_point_block() : base(3)
			{
				Add(Position = new TI.RealVector3D());
				Add(Orientation = new TI.RealQuaternion());
				Add(new TI.Pad(32));
			}
Пример #30
0
			public node_data(TI.Definition parent)
			{
				parent.Add(Scale = new TI.Real());
				parent.Add(Forward = new TI.RealVector3D());
				parent.Add(Left = new TI.RealVector3D());
				parent.Add(Up = new TI.RealVector3D());
				parent.Add(Position = new TI.RealPoint3D());
			}
Пример #31
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));
			}
Пример #32
0
		protected unit_group(int field_count) : base(field_count + 54)
		{
			Add(UnitFlags = new TI.Flags());
			Add(DefaultTeam = new TI.Enum());
			Add(ConstantSoundVolume = new TI.Enum());
			Add(RiderDamageFraction = new TI.Real());
			Add(IntegratedLightToggle = new TI.TagReference(this, TagGroups.effe));
			Add(AinUnit = new TI.Enum());
			Add(BinUnit = new TI.Enum());
			Add(CinUnit = new TI.Enum());
			Add(DinUnit = new TI.Enum());
			Add(CameraFieldOfView = new TI.Real(BlamLib.TagInterface.FieldType.Angle));
			Add(CameraStiffness = new TI.Real());
			Add(CameraMarkerName = new TI.String());
			Add(CameraSubmergedMarkerName = new TI.String());
			Add(PitchAutoLevel = new TI.Real(BlamLib.TagInterface.FieldType.Angle));
			Add(PitchRange = new TI.RealBounds(BlamLib.TagInterface.FieldType.AngleBounds));
			Add(CameraTracks = new TI.Block<unit_camera_track_block>(this, 2));
			Add(SeatAccelerationScale = new TI.RealVector3D());
			Add(new TI.Pad(12));
			Add(SoftPingThreshold = new TI.Real());
			Add(SoftPingInterruptTime = new TI.Real());
			Add(HardPingThreshold = new TI.Real());
			Add(HardPingInterruptTime = new TI.Real());
			Add(HardDeathThreshold = new TI.Real());
			Add(FeignDeathThreshold = new TI.Real());
			Add(FeignDeathTime = new TI.Real());
			Add(DistOfEvadeAnim = new TI.Real());
			Add(DistOfDiveAnim = new TI.Real());
			Add(new TI.Pad(4));
			Add(StunnedMovementThreshold = new TI.Real());
			Add(FeignDeathChance = new TI.Real());
			Add(FeignRepeatChance = new TI.Real());
			Add(SpawnedActor = new TI.TagReference(this, TagGroups.actv));
			Add(SpawnedActorCount = new TI.ShortIntegerBounds());
			Add(SpawnedVelocity = new TI.Real());
			Add(AimingVelocityMax = new TI.Real(BlamLib.TagInterface.FieldType.Angle));
			Add(AimingAccelerationMax = new TI.Real(BlamLib.TagInterface.FieldType.Angle));
			Add(CasualAimingModifier = new TI.Real(BlamLib.TagInterface.FieldType.RealFraction));
			Add(LookingVelocityMaximum = new TI.Real(BlamLib.TagInterface.FieldType.Angle));
			Add(LookingAccelerationMax = new TI.Real(BlamLib.TagInterface.FieldType.Angle));
			Add(new TI.Pad(8));
			Add(AiVehicleRadius = new TI.Real());
			Add(AiDangerRadius = new TI.Real());
			Add(MeleeDamage = new TI.TagReference(this, TagGroups.jpt_));
			Add(MotionSensorBlipSize = new TI.Enum());
			Add(new TI.Pad(2 + 12));
			Add(NewHudInterfaces = new TI.Block<unit_hud_reference_block>(this, 2));
			Add(DialogueVariants = new TI.Block<dialogue_variant_block>(this, 16));
			Add(GrenadeVelocity = new TI.Real());
			Add(GrenadeType = new TI.Enum());
			Add(GrenadeCount = new TI.ShortInteger());
			Add(new TI.Pad(4));
			Add(PoweredSeats = new TI.Block<powered_seat_block>(this, 2));
			Add(Weapons = new TI.Block<unit_weapon_block>(this, 4));
			Add(Seats = new TI.Block<unit_seat_block>(this, 16));
		}
Пример #33
0
        public actor_group() : base(124)
        {
            Add(Flags     = new TI.Flags());
            Add(MoreFlags = new TI.Flags());
            Add(new TI.Pad(12));
            Add(Type = new TI.Enum());
            Add(new TI.Pad(2));

            #region perception
            Add(MaxVisionDist      = new TI.Real());
            Add(CentralVisionAngle = new TI.Real(BlamLib.TagInterface.FieldType.Angle));
            Add(MaxVisionAngle     = new TI.Real(BlamLib.TagInterface.FieldType.Angle));
            Add(new TI.Pad(4));
            Add(PeripheralVisionAngle = new TI.Real(BlamLib.TagInterface.FieldType.Angle));
            Add(PeripheralDist        = new TI.Real());
            Add(new TI.Pad(4));
            Add(StandingGunOffset      = new TI.RealVector3D());
            Add(CrouchingGunOffset     = new TI.RealVector3D());
            Add(HearingDist            = new TI.Real());
            Add(NoticeProjectileChance = new TI.Real());
            Add(NoticeVehicleChance    = new TI.Real());
            Add(new TI.Pad(8));
            Add(CombatPerceptionTime    = new TI.Real());
            Add(GuardPerceptionTime     = new TI.Real());
            Add(NonCombatPerceptionTime = new TI.Real());
            Add(new TI.Pad(12 + 8));
            #endregion

            #region movement
            Add(DiveIntoCoverChance    = new TI.Real());
            Add(EmergeFromCoverChance  = new TI.Real());
            Add(DiveFromGrenadeChance  = new TI.Real());
            Add(PathfindingRadius      = new TI.Real());
            Add(GlassIgnoranceChance   = new TI.Real());
            Add(StationaryMovementDist = new TI.Real());
            Add(FreeFlyingSidestep     = new TI.Real());
            Add(BeginMovingAngle       = new TI.Real(BlamLib.TagInterface.FieldType.Angle));
            Add(new TI.Pad(4));
            #endregion

            #region looking
            Add(MaxAimingDeviation    = new TI.RealEulerAngles2D());
            Add(MaxLookingDeviation   = new TI.RealEulerAngles2D());
            Add(NonCombatLookDeltaL   = new TI.Real(BlamLib.TagInterface.FieldType.Angle));
            Add(NonCombatLookDeltaR   = new TI.Real(BlamLib.TagInterface.FieldType.Angle));
            Add(CombatLookDeltaL      = new TI.Real(BlamLib.TagInterface.FieldType.Angle));
            Add(CombatLookDeltaR      = new TI.Real(BlamLib.TagInterface.FieldType.Angle));
            Add(IdleAimingRange       = new TI.RealEulerAngles2D());
            Add(IdleLookingRange      = new TI.RealEulerAngles2D());
            Add(EventLookTimeModifier = new TI.RealBounds());
            Add(NonCombatIdleFacing   = new TI.RealBounds());
            Add(NonCombatIdleAiming   = new TI.RealBounds());
            Add(NonCombatIdleLooking  = new TI.RealBounds());
            Add(GuardIdleFacing       = new TI.RealBounds());
            Add(GuardIdleAiming       = new TI.RealBounds());
            Add(GuardIdleLooking      = new TI.RealBounds());
            Add(CombatIdleFacing      = new TI.RealBounds());
            Add(CombatIdleAiming      = new TI.RealBounds());
            Add(CombatIdleLooking     = new TI.RealBounds());
            Add(new TI.Pad(8 + 16));
            #endregion

            Add(DoNotUseWeapon = new TI.TagReference(this, TagGroups.weap));
            Add(new TI.Pad(268));
            Add(DoNotUseProjectile = new TI.TagReference(this, TagGroups.proj));

            #region unopposable
            Add(UnreachableDangerTrigger = new TI.Enum());
            Add(VehicleDangerTrigger     = new TI.Enum());
            Add(PlayerDangerTrigger      = new TI.Enum());
            Add(new TI.Pad(2));
            Add(DangerTriggerTime        = new TI.RealBounds());
            Add(FriendsKilledTrigger     = new TI.ShortInteger());
            Add(FriendsRetreatingTrigger = new TI.ShortInteger());
            Add(new TI.Pad(12));
            Add(RetreatTime = new TI.RealBounds());
            Add(new TI.Pad(8));
            #endregion

            #region panic
            Add(CoveringTime            = new TI.RealBounds());
            Add(FriendKilledPanicChance = new TI.Real());
            Add(LeaderType = new TI.Enum());
            Add(new TI.Pad(2));
            Add(LeaderKilledPanicChance = new TI.Real());
            Add(PanicDamageThreshold    = new TI.Real());
            Add(SurpriseDist            = new TI.Real());
            Add(new TI.Pad(28));
            #endregion

            #region defensive
            Add(HideBehindCoverTime     = new TI.RealBounds());
            Add(HideTagerNotVisibleTime = new TI.Real());
            Add(HideShieldFraction      = new TI.Real());
            Add(AttackShieldFraction    = new TI.Real());
            Add(PursueShieldFraction    = new TI.Real());
            Add(new TI.Pad(16));
            Add(DefensiveCrouchType = new TI.Enum());
            Add(new TI.Pad(2));
            Add(AttackingCrouchThreshold  = new TI.Real());
            Add(DefendingCrouchThreshold  = new TI.Real());
            Add(MinStandTime              = new TI.Real());
            Add(MinCrouchTime             = new TI.Real());
            Add(DefendingHideTime         = new TI.Real());
            Add(AttackingEvasionThreshold = new TI.Real());
            Add(DefendingEvasionThreshold = new TI.Real());
            Add(EvasionSeekCoverChance    = new TI.Real());
            Add(EvasionDelayTime          = new TI.Real());
            Add(MaxSeekCoverDist          = new TI.Real());
            Add(CoverDamageThreshold      = new TI.Real());
            Add(StalkingDiscoveryTime     = new TI.Real());
            Add(StalkingMaxDist           = new TI.Real());
            Add(StationaryFacingAngle     = new TI.Real(BlamLib.TagInterface.FieldType.Angle));
            Add(ChangeFacingStandTime     = new TI.Real());
            Add(new TI.Pad(4));
            #endregion

            #region pursuit
            Add(UncoverDelayTimer   = new TI.RealBounds());
            Add(TargetSearchTime    = new TI.RealBounds());
            Add(PursuitPositionTime = new TI.RealBounds());
            Add(NumPositionsCoord   = new TI.ShortInteger());
            Add(NumPositionsNormal  = new TI.ShortInteger());
            Add(new TI.Pad(32));
            #endregion

            #region berserk
            Add(MeleeAttackDelay       = new TI.Real());
            Add(MeleeFudgeFactor       = new TI.Real());
            Add(MeleeChargeTime        = new TI.Real());
            Add(MeleeLeapRange         = new TI.RealBounds());
            Add(MeleeLeapVelocity      = new TI.Real());
            Add(MeleeLeapChance        = new TI.Real());
            Add(MeleeLeapBallistic     = new TI.Real());
            Add(BerserkDamageAmount    = new TI.Real());
            Add(BerserkDamageThreshold = new TI.Real());
            Add(BerserkProximity       = new TI.Real());
            Add(SuicideSensingDist     = new TI.Real());
            Add(BerserkGrenadeChance   = new TI.Real());
            Add(new TI.Pad(12));
            #endregion

            #region firing positions
            Add(GuardPositionTIme    = new TI.RealBounds());
            Add(CombatPositionTime   = new TI.RealBounds());
            Add(OldPositionAvoidDist = new TI.Real());
            Add(FriendAvoidDist      = new TI.Real());
            Add(new TI.Pad(40));
            #endregion

            #region communication
            Add(NoncombatIdleSpeechTime = new TI.RealBounds());
            Add(CombatIdleSpechTime     = new TI.RealBounds());
            Add(new TI.Pad(48 + 128));
            #endregion

            Add(DoNotUseMajorUpgrade = new TI.TagReference(this, TagGroups.actr));
            Add(new TI.Pad(48));
        }
Пример #34
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));
			}
Пример #35
0
			public structure_bsp_instanced_geometry_instances_block()
				: base(13)
			{
				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.Pad(4));
				Add(new TI.Skip(12 + 4));
				Add(/*Checksum = */ new TI.LongInteger());
				Add(/*Name = */ new TI.StringId());
				Add(/*Pathfinding Policy = */ new TI.Enum());
				Add(/*Lightmapping Policy = */ new TI.Enum());
			}
Пример #36
0
					public model_vertex_uncompressed_block() : base(9)
					{
						Add(Position = new TI.RealPoint3D());
						Add(Normal = new TI.RealVector3D());
						Add(Binormal = new TI.RealVector3D());
						Add(Tangent = new TI.RealVector3D());
						Add(TextureCoords = new TI.RealPoint2D());
						Add(NodeIndex1 = new TI.ShortInteger());
						Add(NodeIndex2 = new TI.ShortInteger());
						Add(NodeWeight1 = new TI.Real());
						Add(NodeWeight2 = new TI.Real());
					}
Пример #37
0
			public lightning_marker_block() : base(10)
			{
				Add(AttachmentMarker = new TI.String());
				Add(Flags = new TI.Flags(BlamLib.TagInterface.FieldType.WordFlags));
				Add(new TI.Pad(2));
				Add(OctavesToNextMarker = new TI.ShortInteger());
				Add(new TI.Pad(2 + 76));
				Add(RandomPositionBounds = new TI.RealVector3D());
				Add(RandomJitter = new TI.Real());
				Add(Thickness = new TI.Real());
				Add(Tint = new TI.RealColor(BlamLib.TagInterface.FieldType.RealArgbColor));
				Add(new TI.Pad(76));
			}
Пример #38
0
 public camera_track_control_point_block() : base(3)
 {
     Add(Position    = new TI.RealVector3D());
     Add(Orientation = new TI.RealQuaternion());
     Add(new TI.Pad(32));
 }
Пример #39
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());
				}
Пример #40
0
 public inertial_matrix_block() : base(3)
 {
     Add(Mat1 = new TI.RealVector3D());
     Add(Mat2 = new TI.RealVector3D());
     Add(Mat3 = new TI.RealVector3D());
 }
Пример #41
0
			public unit_seat_block() : base(21)
			{
				Add(Flags = new TI.Flags());
				Add(Label = new TI.String());
				Add(MarkerName = new TI.String());
				Add(new TI.Pad(32));
				Add(AccelerationScale = new TI.RealVector3D());
				Add(new TI.Pad(12));
				Add(YawRate = new TI.Real());
				Add(PitchRate = new TI.Real());
				Add(CameraMarkerName = new TI.String());
				Add(CameraSugmergedMarkerName = new TI.String());
				Add(PitchAutoLevel = new TI.Real(BlamLib.TagInterface.FieldType.Angle));
				Add(PitchRange = new TI.RealBounds(BlamLib.TagInterface.FieldType.AngleBounds));
				Add(CameraTracks = new TI.Block<unit_camera_track_block>(this, 2));
				Add(UnitHudInterface = new TI.Block<unit_hud_reference_block>(this, 2));
				Add(new TI.Pad(4));
				Add(HudTextMessageIndex = new TI.ShortInteger());
				Add(new TI.Pad(2));
				Add(YawMin = new TI.Real(BlamLib.TagInterface.FieldType.Angle));
				Add(YawMax = new TI.Real(BlamLib.TagInterface.FieldType.Angle));
				Add(BuiltInGunner = new TI.TagReference(this, TagGroups.actv));
				Add(new TI.Pad(20));
			}
Пример #42
0
			public mass_distribution_data(TI.Definition parent)
			{
				parent.Add(CenterOfMass = new TI.RealVector3D());
				parent.Add(new TI.Skip(4));
				parent.Add(InertiaTensorI = new TI.RealVector3D());
				parent.Add(new TI.Skip(4));
				parent.Add(InertiaTensorJ = new TI.RealVector3D());
				parent.Add(new TI.Skip(4));
				parent.Add(InertiaTensorK = new TI.RealVector3D());
				parent.Add(new TI.Skip(4));
			}