public text_value_pair_definition_group() { Add(Parameter = new TI.Enum(TI.FieldType.LongEnum)); // 0x26C options, last 0x15 are templated options and can't be get\set Add(Title = new TI.StringId()); Add(Description = new TI.StringId()); Add(Values = new TI.Block <text_value_pair_reference_block>(this, 32)); }
public bitmap_group() { Add(Type = new TI.Enum()); Add(Format = new TI.Enum()); Add(Usage = new TI.Enum()); Add(Flags = new TI.Flags(BlamLib.TagInterface.FieldType.WordFlags)); //Add(DetailFadeFactor = new TI.Real(BlamLib.TagInterface.FieldType.RealFraction)); //Add(SharpenAmount = new TI.Real(BlamLib.TagInterface.FieldType.RealFraction)); //Add(BumpHeight = new TI.Real()); //Add(SpriteBudgetSize = new TI.Enum()); //Add(SpriteBudgetCount = new TI.ShortInteger()); //Add(ColorPlateWidth = new TI.ShortInteger()); //Add(ColorPlateHeight = new TI.ShortInteger()); //Add(CompressedColorPlateData = new TI.Data(this)); //Add(ProcessedPixelData = new TI.Data(this, BlamLib.TagInterface.DataType.Bitmap)); //Add(BlurFilterSize = new TI.Real()); //Add(AlphaBias = new TI.Real()); //Add(MipmapCount = new TI.ShortInteger()); //Add(SpriteUsage = new TI.Enum()); //Add(SpriteSpacing = new TI.ShortInteger()); //Add(ForceFormat = new TI.Enum()); Add(new TI.Skip(76)); // TODO: BLOCK STRUCTURE VERIFICATION Add(Sequences = new TI.Block <bitmap_group_sequence_block>(this, 256)); Add(Bitmaps = new TI.Block <bitmap_data_block>(this, 65536)); Add(new TI.Skip(32)); Add(Resources = new TI.Block <bitmap_cache_resource_data_block>(this, 65536)); Add(InterleavedResources = new TI.Block <bitmap_cache_resource_data_block>(this, 65536)); }
public structure_bsp_tag_resources_odst() : base(4) { Add(BspCollision = new TI.Block <global_collision_bsp_block>(this, 1)); Add(TI.UnknownPad.BlockHalo3); // [0x?] Add(InstancedGeometryDefinitions = new TI.Block <structure_bsp_instanced_geometry_definition_block>(this, 0)); Add(TI.UnknownPad.BlockHalo3); // [0x?] }
public loadout_globals_definition_group() : base(4) { Add(Loadouts = new TI.Block <loadout_block>(this, 0)); Add(LoadoutSets = new TI.Block <loadout_set_block>(this, 0)); Add(LoadoutNames = new TI.Block <field_block <TI.StringId> >(this, 0)); Add(LoadoutDefaults = new TI.Block <loadout_block>(this, 0)); }
public custom_app_globals_group() : base(4) { Add(TI.Pad.DWord); // '1' Add(TI.Pad.Word); // '1' Add(TI.Pad.Word); // '0' Add(Apps = new TI.Block <custom_app_block>(this, 0)); }
protected object_group(int field_count) : base(field_count + 28) { Add(ObjectType = new TI.Skip(2)); Add(ObjectFlags = new TI.Flags(BlamLib.TagInterface.FieldType.WordFlags)); Add(BoundingRadius = new TI.Real()); Add(BoundingOffset = new TI.RealPoint3D()); Add(OriginOffset = new TI.RealPoint3D()); Add(AccelerationScale = new TI.Real()); Add(new TI.Pad(4)); Add(Model = new TI.TagReference(this, TagGroups.mode)); Add(AnimationGraph = new TI.TagReference(this, TagGroups.antr)); Add(new TI.Pad(40)); Add(CollisionModel = new TI.TagReference(this, TagGroups.coll)); Add(Physics = new TI.TagReference(this, TagGroups.phys)); Add(ModifierShader = new TI.TagReference(this, TagGroups.shdr)); Add(CreationEffect = new TI.TagReference(this, TagGroups.effe)); Add(new TI.Pad(84)); Add(RenderBoundingRadius = new TI.Real()); Add(Ain = new TI.Enum()); Add(Bin = new TI.Enum()); Add(Cin = new TI.Enum()); Add(Din = new TI.Enum()); Add(new TI.Pad(44)); Add(HudTextMessageIndex = new TI.ShortInteger()); Add(ForcedShaderPermuationIndex = new TI.ShortInteger()); Add(Attachments = new TI.Block <object_attachment_block>(this, 8)); Add(Widgets = new TI.Block <object_widget_block>(this, 4)); Add(Functions = new TI.Block <object_function_block>(this, 4)); Add(ChangeColors = new TI.Block <object_change_colors_block>(this, 4)); Add(PerdictedResources = new TI.Block <predicted_resource_block>(this, 1024)); }
public hud_message_text_group() : base(4) { Add(TextData = new TI.Data(this)); Add(MessageElements = new TI.Block <hud_message_elements_block>(this, 8192)); Add(Messages = new TI.Block <hud_messages_block>(this, 1024)); Add(new TI.Pad(84)); }
public unknown_3C_block() : base(22) { Add(Unknown0 = new TI.Flags(TI.FieldType.ByteFlags)); Add(Unknown1 = new TI.Flags(TI.FieldType.ByteFlags)); Add(TI.Pad.Word); Add(Unknown4 = new TI.LongInteger()); Add(Block8 = new TI.Block <unknown_8_block>(this, 0)); Add(Unknown14 = new TI.LongInteger()); // unknown Add(Unknown18 = new TI.LongInteger()); // unknown Add(Unknown1C = new TI.StringId()); Add(Unknown20 = new TI.LongInteger()); // unknown Add(CuiScreen = new TI.TagReference(this, TagGroups.cusc)); Add(SoundResponse = new TI.TagReference(this, TagGroups.sgrp)); Add(Unknown44 = new TI.LongInteger()); // unknown Add(Unknown48 = new TI.LongInteger()); // unknown Add(Unknown4C = new TI.Flags(TI.FieldType.ByteFlags)); Add(TI.Pad.Byte); Add(Unknown4E = new TI.Flags(TI.FieldType.ByteFlags)); Add(TI.Pad.Byte); Add(Unknown50 = new TI.StringId()); Add(Unknown54 = new TI.LongInteger()); // unknown Add(CuiScreen2 = new TI.TagReference(this, TagGroups.cusc)); Add(Unknown68 = new TI.TagReference(this)); Add(Unknown78 = new TI.LongInteger()); // unknown }
public model_markers_block() : base(4) { Add(Name = new TI.String()); Add(MagicIdentifer = new TI.ShortInteger()); Add(new TI.Pad(2 + 16)); Add(Instances = new TI.Block <model_marker_instance_block>(this, 32)); }
public vertex_shader_group() : base(4) { Add(Platform = new TI.Enum()); Add(new TI.Pad(2)); Add(GeometryClassifications = new TI.Block<vertex_shader_classification_block>(this, (int)GeometryClassifcationNames.Count)); Add(OutputSwizzles = new TI.LongInteger()); }
public gbxmodel_group() : base(21) { Add(Flags = new TI.Flags()); Add(NodeListChecksum = new TI.LongInteger()); Add(SuperHighDetailCutoff = new TI.Real()); Add(HighDetailCutoff = new TI.Real()); Add(MediumDetailCutoff = new TI.Real()); Add(LowDetailCutoff = new TI.Real()); Add(SuperLowDetailCutoff = new TI.Real()); Add(SuperHighDetailNodeCount = new TI.ShortInteger()); Add(HighDetailNodeCount = new TI.ShortInteger()); Add(MediumDetailNodeCount = new TI.ShortInteger()); Add(LowDetailNodeCount = new TI.ShortInteger()); Add(SuperLowDetailNodeCount = new TI.ShortInteger()); Add(new TI.Pad(2 + 8)); Add(BaseMapUScale = new TI.Real()); Add(BaseMapVScale = new TI.Real()); Add(new TI.Pad(116)); Add(Markers = new TI.Block <model_group.model_markers_block>(this, 256)); Add(Nodes = new TI.Block <model_group.model_node_block>(this, 64)); Add(Regions = new TI.Block <model_group.model_region_block>(this, 32)); Add(Geometries = new TI.Block <model_geometry_block>(this, 256)); Add(Shaders = new TI.Block <model_group.model_shader_reference_block>(this, 32)); }
public incident_globals_definition_0_block() : base(11) { Add(Name = new TI.StringId()); Add(Unknown4 = new TI.Flags(TI.FieldType.ByteFlags)); Add(TI.Pad._24); Add(Unknown8 = new TI.Flags(TI.FieldType.ByteFlags)); Add(TI.Pad._24); Add(BlockC = new TI.Block <unknown_C_block>(this, 0)); Add(Block18 = new TI.Block <unknown_18_block>(this, 0)); Add(Block24 = new TI.Block <unknown_24_block>(this, 0)); Add(Block30 = new TI.Block <unknown_30_block>(this, 0)); Add(Block3C = new TI.Block <unknown_3C_block>(this, 0)); Add(TI.Pad.BlockHalo3); // 0x54 // byte_flags // byte_flags // PAD16 // unknown[0xC] // string_id // string_id // string_id // unknown[0x8] // tag_block // unknown[0x4] // int16 // PAD16? // tag_block // tag_reference<sirg> sound_incident_response }
public weapon_hud_interface_group() : base(27) { Add(ChildHud = new TI.TagReference(this, TagGroups.wphi)); Add(FlashCutoffFlags = new TI.Flags(BlamLib.TagInterface.FieldType.WordFlags)); Add(new TI.Pad(2)); Add(TotalAmmoCutoff = new TI.ShortInteger()); Add(LoadedAmmoCutoff = new TI.ShortInteger()); Add(HeatCutoff = new TI.ShortInteger()); Add(AgeCutoff = new TI.ShortInteger()); Add(new TI.Pad(32)); Add(Anchor = new TI.Enum()); Add(new TI.Pad(2 + 32)); Add(StaticElements = new TI.Block <weapon_hud_static_block>(this, 16)); Add(MeterElements = new TI.Block <weapon_hud_meter_block>(this, 16)); Add(NumberElements = new TI.Block <weapon_hud_number_block>(this, 16)); Add(Crosshairs = new TI.Block <weapon_hud_crosshair_block>(this, 19)); Add(OverlayElements = new TI.Block <weapon_hud_overlays_block>(this, 16)); Add(PostprocessedUsedCrosshairStatesFlags = new TI.Flags()); Add(new TI.Pad(12)); // g_null_block, so we just pad it Add(ScreenEffect = new TI.Block <global_hud_screen_effect_definition>(this, 1)); Add(new TI.Pad(132)); Add(SequenceIndex = new TI.ShortInteger()); Add(WidthOffset = new TI.ShortInteger()); Add(OffsetFromReferenceCorner = new TI.Point2D()); Add(OverrideIconColor = new TI.Color()); Add(FrameRate = new TI.ByteInteger()); Add(Flags = new TI.Flags(BlamLib.TagInterface.FieldType.ByteFlags)); Add(TextIndex = new TI.ShortInteger()); Add(new TI.Pad(48)); }
public bitmap_group() : base(25) { Add(Type = new TI.Enum()); Add(Format = new TI.Enum()); Add(Usage = new TI.Enum()); Add(Flags = new TI.Flags(BlamLib.TagInterface.FieldType.WordFlags)); Add(DetailFadeFactor = new TI.Real(BlamLib.TagInterface.FieldType.RealFraction)); Add(SharpenAmount = new TI.Real(BlamLib.TagInterface.FieldType.RealFraction)); Add(BumpHeight = new TI.Real()); Add(SpriteBudgetSize = new TI.Enum()); Add(SpriteBudgetCount = new TI.ShortInteger()); Add(ColorPlateWidth = new TI.ShortInteger()); Add(ColorPlateHeight = new TI.ShortInteger()); Add(CompressedColorPlateData = new TI.Data(this)); Add(ProcessedPixelData = new TI.Data(this, BlamLib.TagInterface.DataType.Bitmap)); Add(BlurFilterSize = new TI.Real()); Add(AlphaBias = new TI.Real()); Add(MipmapCount = new TI.ShortInteger()); Add(SpriteUsage = new TI.Enum()); Add(SpriteSpacing = new TI.ShortInteger()); Add(ForceFormat = new TI.Enum()); Add(Sequences = new TI.Block <bitmap_group_sequence_block>(this, 256)); Add(Bitmaps = new TI.Block <bitmap_data_block>(this, 65536)); AddPc(ColorCompressionQuality = new TI.ByteInteger()); AddPc(AlphaCompressionQuality = new TI.ByteInteger()); AddPc(Overlap = new TI.ByteInteger()); AddPc(ColorSubsampling = new TI.Enum(BlamLib.TagInterface.FieldType.ByteEnum)); }
public text_value_pair_definition_group() : base(4) { Add(Parameter = new TI.Enum(TI.FieldType.LongEnum)); Add(Title = new TI.StringId()); Add(Description = new TI.StringId()); Add(Values = new TI.Block <text_value_pair_reference_block>(this, 0)); }
public sound_cache_file_gestalt_group() : base(14) { Add(PlatformCodecs = new TI.Block <CT.sound_gestalt_platform_codec_block>(this, 0)); Add(Playbacks = new TI.Block <sound_gestalt_playback_block>(this, 0)); Add(Scales = new TI.Block <sound_gestalt_scale_block>(this, 0)); Add(ImportNames = new TI.Block <CT.sound_gestalt_import_names_block>(this, 0)); // in ODST, a tag block was added here. only ever see it with zero byte data, and // other tag memory whose data has the same memory hash will reference this same memory // tag block [0x?] At most: 0x10. best estimate size, only ever see this with one element. Add(PitchRangeParameters = new TI.Block <sound_gestalt_pitch_range_parameters_block>(this, 0)); Add(PitchRanges = new TI.Block <sound_gestalt_pitch_ranges_block>(this, 0)); Add(Permutations = new TI.Block <sound_gestalt_permutations_block>(this, 0)); Add(CustomPlaybacks = new TI.Block <sound_gestalt_custom_playback_block>(this, 0)); Add(Unknown60 = new TI.Block <sound_gestalt_60_block>(this)); Add(RuntimePermutationFlags = new TI.Block <CT.sound_gestalt_runtime_permutation_bit_vector_block>(this, 0)); // All Halo 3 maps have had this all zeros // If this is ever used, I'm sure there is a tag data field somewhere in it... Add(new TI.Pad(12 + 12 + 4)); Add(Chunks = new TI.Block <sound_permutation_chunk_block>(this, 0)); Add(Promotions = new TI.Block <sound_gestalt_promotions_block>(this, 0)); Add(ExtraInfos = new TI.Block <sound_gestalt_extra_info_block>(this, 0)); }
public void Render( global_geometry_section_info_struct section_info, TI.Block <global_geometry_material_block> materials ) { Section.Value.Render(section_info, materials); }
public void Render( global_geometry_section_info_struct section_info, TI.Block <global_geometry_material_block> materials ) { // TODO: update this shit fool // D3D.Device d = Editor.Renderer.GetDevice(); // foreach(global_geometry_section_vertex_buffer_block svb in VertexBuffers) // { // TI.VertexBuffer vb = svb.VertexBuffer; // d.SetStreamSource(vb.StreamIndex, vb.Buffer, 0); // } // d.VertexDeclaration = Declaration; // d.Indices = IndexBuffer; // global_geometry_material_block mat; // foreach(global_geometry_part_block_new part in Parts) // { // d.DrawIndexedPrimitives( // D3D.PrimitiveType.TriangleStrip, // 0, 0, // section_info.TotalVertexCount, // part.StripStartIndex, // part.StripLength); // mat = materials[part.Material]; // } }
public sound_group() : base(26) { Add(Flags = new TI.Flags()); Add(Class = new TI.Enum()); Add(SampleRate = new TI.Enum()); Add(Distance = new TI.RealBounds()); Add(SkipFraction = new TI.Real(BlamLib.TagInterface.FieldType.RealFraction)); Add(RandomPitchBounds = new TI.RealBounds()); Add(InnerConeAngle = new TI.Real(BlamLib.TagInterface.FieldType.Angle)); Add(OuterConeAngle = new TI.Real(BlamLib.TagInterface.FieldType.Angle)); Add(OuterConeGain = new TI.Real(BlamLib.TagInterface.FieldType.RealFraction)); Add(GainModifier = new TI.Real()); Add(MaxBendPerSecond = new TI.Real()); Add(new TI.Pad(12)); Add(SkipFractionModifier1 = new TI.Real()); Add(GainModifier1 = new TI.Real()); Add(PitchModifier1 = new TI.Real()); Add(new TI.Pad(12)); Add(SkipFractionModifier2 = new TI.Real()); Add(GainModifier2 = new TI.Real()); Add(PitchModifier2 = new TI.Real()); Add(new TI.Pad(12)); Add(Encoding = new TI.Enum()); Add(Compression = new TI.Enum()); Add(PromotionSound = new TI.TagReference(this, TagGroups.snd_)); Add(PromotionCount = new TI.ShortInteger()); Add(new TI.Pad(2 + 20)); Add(PitchRanges = new TI.Block<sound_pitch_range_block>(this, 8)); }
public structure_bsp_cache_file_tag_resources() : base(4) { Add(Block0 = new TI.Block <block_0>(this)); Add(BlockC = new TI.Block <block_C>(this)); Add(Block18 = new TI.Block <block_18>(this)); Add(TI.UnknownPad.BlockHalo3); // haven't seen this used yet so not sure what the size is (may not be used in cache builds) }
public virtual_keyboard_group() : base(4) { Add(DisplayFont = new TI.TagReference(this, TagGroups.font)); Add(BackgroundBitmap = new TI.TagReference(this, TagGroups.bitm)); Add(SpecialKeyLabelsStringList = new TI.TagReference(this, TagGroups.ustr)); Add(VirtualKeys = new TI.Block <virtual_key_block>(this, 44)); }
public shader_transparent_water_group() : base(22) { Add(Flags = TI.Flags.Word); Add(new TI.Pad(2 + 32)); Add(BaseMap = new TI.TagReference(this, TagGroups.bitm)); Add(new TI.Pad(16)); Add(ViewPerpendicularBrightness = TI.Real.Fraction); Add(ViewPerpendicularTintColor = new TI.RealColor()); Add(ViewParallelBrightness = TI.Real.Fraction); Add(ViewParallelTintColor = new TI.RealColor()); Add(new TI.Pad(16)); Add(ReflectionMap = new TI.TagReference(this, TagGroups.bitm)); Add(new TI.Pad(16)); Add(RippleAnimationAngle = TI.Real.Angle); Add(RippleAnimationVelocity = new TI.Real()); Add(RippleScale = new TI.Real()); Add(RippleMaps = new TI.TagReference(this, TagGroups.bitm)); Add(RippleMipmapLevels = new TI.ShortInteger()); Add(new TI.Pad(2)); Add(RippleMipmapFadeFactor = TI.Real.Fraction); Add(RippleMipmapDetailBias = new TI.Real()); Add(new TI.Pad(64)); Add(Ripples = new TI.Block <shader_transparent_water_ripple_block>(this, 4)); Add(new TI.Pad(16)); }
public physics_group() : base(24) { Add(Radius = new TI.Real()); Add(MomentScale = new TI.Real(TI.FieldType.RealFraction)); Add(Mass = new TI.Real()); Add(CenterOfMass = new TI.RealPoint3D()); Add(Density = new TI.Real()); Add(GravityScale = new TI.Real()); Add(GroundFriction = new TI.Real()); Add(GroundDepth = new TI.Real()); Add(GroundDampFraction = new TI.Real(TI.FieldType.RealFraction)); Add(GroundNormalK1 = new TI.Real()); Add(GroundNormalK0 = new TI.Real()); Add(new TI.Pad(4)); Add(WaterFriction = new TI.Real()); Add(WaterDepth = new TI.Real()); Add(WaterDensity = new TI.Real()); Add(new TI.Pad(4)); Add(AirFriction = new TI.Real()); Add(new TI.Pad(4)); Add(MomentXX = new TI.Real()); Add(MomentYY = new TI.Real()); Add(MomentZZ = new TI.Real()); Add(InertialMatrixAndInverse = new TI.Block <inertial_matrix_block>(this, 2)); Add(PoweredMassPoints = new TI.Block <powered_mass_point_block>(this, 32)); Add(MassPoints = new TI.Block <mass_point_block>(this, 32)); }
public unknown_30_block() : base(3) { Add(Unknown0 = new TI.Flags(TI.FieldType.ByteFlags)); Add(Unknown1 = new TI.Flags(TI.FieldType.ByteFlags)); Add(TI.Pad.Word); Add(Block4 = new TI.Block <unknown_4_block>(this, 0)); }
public sky_group() : base(22) { Add(Model = new TI.TagReference(this, TagGroups.mod2)); Add(Animation = new TI.TagReference(this, TagGroups.antr)); Add(new TI.Pad(24)); Add(IndoorAmbientRadiosityColor = new TI.RealColor(TI.FieldType.RealRgbColor)); Add(IndoorAmbientRadiosityPower = new TI.Real()); Add(OutdoorAmbientRadiosityColor = new TI.RealColor(TI.FieldType.RealRgbColor)); Add(OutdoorAmbientRadiosityPower = new TI.Real()); Add(OutdoorFogColor = new TI.RealColor(TI.FieldType.RealRgbColor)); Add(new TI.Pad(8)); Add(OutdoorFogMaximumDensity = new TI.Real(TI.FieldType.RealFraction)); Add(OutdoorFogStartDistance = new TI.Real()); Add(OutdoorFogOpaqueDistance = new TI.Real()); Add(IndoorFogColor = new TI.RealColor(TI.FieldType.RealRgbColor)); Add(new TI.Pad(8)); Add(IndoorFogMaximumDensity = new TI.Real(TI.FieldType.RealFraction)); Add(IndoorFogStartDistance = new TI.Real()); Add(IndoorFogOpaqueDistance = new TI.Real()); Add(IndoorFogScreen = new TI.TagReference(this, TagGroups.fog_)); Add(new TI.Pad(4)); Add(ShaderFunctions = new TI.Block <sky_shader_function_block>(this, 8)); Add(Animations = new TI.Block <sky_animation_block>(this, 8)); Add(Lights = new TI.Block <sky_light_block>(this, 8)); }
public static void Output(System.IO.StreamWriter s, TI.Block <cache_file_resource_gestalt_64_block> block, string name) { if (block.Count == 0) { return; } const string format = "\t{0}\t\t{1}" + Program.NewLine + // Unknown044 "\t\t\t{2}\t{3}\t{4}\t{5}\t{6}" // Unknown030-Unknown040 ; s.WriteLine("{0}\tcache_file_resource_gestalt_64_block\t({1})", block.Count, name); int x = 0; foreach (cache_file_resource_gestalt_64_block def in block) { s.WriteLine(format, (x++).ToString(), def.Unknown044.ToString(), def.Unknown030.Value.ToString("X8"), def.Unknown034.Value.ToString("X8"), def.Unknown038.Value.ToString("X8"), def.Unknown03C.Value.ToString("X8"), def.Unknown040.Value.ToString("X8")); s.WriteLine(); } }
public tag_database_entry_block() : base(4) { Add(Name = new TI.String(TI.StringType.Ascii, 256)); Add(GroupTag = new TI.Tag()); Add(Flags = new TI.LongInteger()); Add(ChildIds = new TI.Block <tag_database_entry_reference_block>(this, 65535)); }
public model_markers_block() : base(4) { Add(Name = new TI.String()); Add(MagicIdentifer = new TI.ShortInteger()); Add(new TI.Pad(2 + 16)); Add(Instances = new TI.Block<model_marker_instance_block>(this, 32)); }
public contrail_group() : base(19) { Add(Flags = new TI.Flags(BlamLib.TagInterface.FieldType.WordFlags)); Add(ScaleFlags = new TI.Flags(BlamLib.TagInterface.FieldType.WordFlags)); Add(PointGenerationRate = new TI.Real()); Add(PointVelocity = new TI.RealBounds()); Add(PointVelocityConeAngle = new TI.Real(BlamLib.TagInterface.FieldType.Angle)); Add(InheritedVelocityFraction = new TI.Real(BlamLib.TagInterface.FieldType.RealFraction)); Add(RenderType = new TI.Enum()); Add(new TI.Pad(2)); Add(TextureRepeatsU = new TI.Real()); Add(TextureRepeatsV = new TI.Real()); Add(TextureAnimationU = new TI.Real()); Add(TextureAnimationV = new TI.Real()); Add(AnimationRate = new TI.Real()); Add(Bitmap = new TI.TagReference(this, TagGroups.bitm)); Add(FirstSequenceIndex = new TI.ShortInteger()); Add(SequenceCount = new TI.ShortInteger()); Add(new TI.Pad(64)); // Map is 'Secondary Map' Add(ShaderMap = new TI.Struct <shader_map_struct>(this)); Add(PointStates = new TI.Block <contrail_point_states_block>(this, 16)); }
public static void Output(StreamWriter s, TI.Block <cache_file_resource_gestalt_tag_resource_block> block) { const string format = "\t{0}\t\t{1}\t{2}\t{3}\t{4}.{5}" + Program.NewLine + // Header,Type,Flags,Reference,ReferenceTagGroup "\t\t\t{6:X8}\t{7:X8}\t{8:X8}" + Program.NewLine + // Offset, Size, ?Offset "\t\t\t{9:X4}\t{10:X4}\t{11:X8}" // 020, SegmentIndex, DefinitionOffset ; s.WriteLine("{0}\ttag_resource_block", block.Count); int x = 0; foreach (cache_file_resource_gestalt_tag_resource_block def in block) { if (def.Reference.Datum != DatumIndex.Null) { s.WriteLine(format, x.ToString(), def.Header.Value.ToString("X4"), def.ResourceType.Value.ToString("X2"), def.Flags.Value.ToString("X2"), def.Reference.ToString(), def.Reference.GroupTag.Name, def.BlockOffset.Value.ToString("X8"), def.BlockSize.Value.ToString("X8"), def.UnknownOffset.Value.ToString("X8"), def.Unknown020.Value.ToString("X4"), def.SegmentIndex.Value.ToString("X4"), def.DefinitionOffset.Value.ToString("X8") ); s.WriteLine(); resource_fixup_block.Output(s, def.ResourceFixups); s.WriteLine(); resource_definition_fixup_block.Output(s, def.ResourceDefinitionFixups); } else { s.WriteLine("\t{0}\t\tNULL", x.ToString()); } x++; s.WriteLine(); } }
public global_hud_multitexture_overlay_definition() : base(25) { Add(new TI.Pad(2)); Add(Type = new TI.ShortInteger()); Add(FrameBufferBlendFunc = new TI.Enum()); Add(new TI.Pad(2 + 32)); Add(AnchorsPrimaryAnchor = new TI.Enum()); Add(AnchorsSecondaryAnchor = new TI.Enum()); Add(AnchorsTertiaryAnchor = new TI.Enum()); Add(BlendFunc0To1 = new TI.Enum()); Add(BlendFunc1To2 = new TI.Enum()); Add(new TI.Pad(2)); Add(MapScalesPrimaryAnchor = new TI.RealPoint2D()); Add(MapScalesSecondaryAnchor = new TI.RealPoint2D()); Add(MapScalesTertiaryAnchor = new TI.RealPoint2D()); Add(MapOffsetsPrimaryAnchor = new TI.RealPoint2D()); Add(MapOffsetsSecondaryAnchor = new TI.RealPoint2D()); Add(MapOffsetsTertiaryAnchor = new TI.RealPoint2D()); Add(MapPrimaryAnchor = new TI.TagReference(this, TagGroups.bitm)); Add(MapSecondaryAnchor = new TI.TagReference(this, TagGroups.bitm)); Add(MapTertiaryAnchor = new TI.TagReference(this, TagGroups.bitm)); Add(PrimaryWrapMode = new TI.Enum()); Add(SecondaryWrapMode = new TI.Enum()); Add(TertiaryWrapMode = new TI.Enum()); Add(new TI.Pad(2 + 184)); Add(Effectors = new TI.Block <global_hud_multitexture_overlay_effector_definition>(this, 30)); Add(new TI.Pad(128)); }
public sound_group() : base(26) { Add(Flags = new TI.Flags()); Add(Class = new TI.Enum()); Add(SampleRate = new TI.Enum()); Add(Distance = new TI.RealBounds()); Add(SkipFraction = new TI.Real(BlamLib.TagInterface.FieldType.RealFraction)); Add(RandomPitchBounds = new TI.RealBounds()); Add(InnerConeAngle = new TI.Real(BlamLib.TagInterface.FieldType.Angle)); Add(OuterConeAngle = new TI.Real(BlamLib.TagInterface.FieldType.Angle)); Add(OuterConeGain = new TI.Real(BlamLib.TagInterface.FieldType.RealFraction)); Add(GainModifier = new TI.Real()); Add(MaxBendPerSecond = new TI.Real()); Add(new TI.Pad(12)); Add(SkipFractionModifier1 = new TI.Real()); Add(GainModifier1 = new TI.Real()); Add(PitchModifier1 = new TI.Real()); Add(new TI.Pad(12)); Add(SkipFractionModifier2 = new TI.Real()); Add(GainModifier2 = new TI.Real()); Add(PitchModifier2 = new TI.Real()); Add(new TI.Pad(12)); Add(Encoding = new TI.Enum()); Add(Compression = new TI.Enum()); Add(PromotionSound = new TI.TagReference(this, TagGroups.snd_)); Add(PromotionCount = new TI.ShortInteger()); Add(new TI.Pad(2 + 20)); Add(PitchRanges = new TI.Block <sound_pitch_range_block>(this, 8)); }
public biped_group() : base(51) { Add(MovingTurningSpeed = new TI.Real(BlamLib.TagInterface.FieldType.Angle)); Add(Flags = new TI.Flags()); Add(StationaryTurningThreshold = new TI.Real(BlamLib.TagInterface.FieldType.Angle)); Add(new TI.Pad(16)); Add(AinBiped = new TI.Enum()); Add(BinBiped = new TI.Enum()); Add(CinBiped = new TI.Enum()); Add(DinBiped = new TI.Enum()); Add(DontUse = new TI.TagReference(this, TagGroups.jpt_)); Add(BankAngle = new TI.Real(BlamLib.TagInterface.FieldType.Angle)); Add(BankApplyTime = new TI.Real()); Add(BankDecayTime = new TI.Real()); Add(PitchRatio = new TI.Real()); Add(MaxVelocity = new TI.Real()); Add(MaxSidestepVelocity = new TI.Real()); Add(Acceleration = new TI.Real()); Add(Deceleration = new TI.Real()); Add(AngularVelocityMax = new TI.Real(BlamLib.TagInterface.FieldType.Angle)); Add(AngularAccelerationMax = new TI.Real(BlamLib.TagInterface.FieldType.Angle)); Add(CrouchVelocityModifier = new TI.Real()); Add(new TI.Pad(8)); Add(MaxSlopeAngle = new TI.Real(BlamLib.TagInterface.FieldType.Angle)); Add(DownhillFalloffAngle = new TI.Real(BlamLib.TagInterface.FieldType.Angle)); Add(DownhillCutoffAngle = new TI.Real(BlamLib.TagInterface.FieldType.Angle)); Add(DownhillVelocityScale = new TI.Real()); Add(UphillFalloffAngle = new TI.Real(BlamLib.TagInterface.FieldType.Angle)); Add(UphillCutoffAngle = new TI.Real(BlamLib.TagInterface.FieldType.Angle)); Add(UphillVelocityScale = new TI.Real()); Add(new TI.Pad(24)); Add(Footsteps = new TI.TagReference(this, TagGroups.foot)); Add(new TI.Pad(24)); Add(JumpVelocity = new TI.Real()); Add(new TI.Pad(28)); Add(MaxSoftLandingTime = new TI.Real()); Add(MaxHardLandingTime = new TI.Real()); Add(MinSoftLandingVelocity = new TI.Real()); Add(MinHardLandingVelocity = new TI.Real()); Add(MaxHardLandingVelocity = new TI.Real()); Add(DeathHardLandingVelocity = new TI.Real()); Add(new TI.Pad(20)); Add(StandingCameraHeight = new TI.Real()); Add(CrouchingCameraHeight = new TI.Real()); Add(CrouchTransitionTime = new TI.Real()); Add(new TI.Pad(24)); Add(StandingCollisionHeight = new TI.Real()); Add(CrouchingCollisionHeight = new TI.Real()); Add(CollisionRadius = new TI.Real()); Add(new TI.Pad(40)); Add(AutoaimWidth = new TI.Real()); Add(new TI.Pad(140)); Add(ContactPoints = new TI.Block <contact_point_block>(this, 2)); }
public breakable_surface_group() : base(5) { Add(MaximumVitality = new TI.Real()); Add(Effect = new TI.TagReference(this, TagGroups.effe)); Add(Sound = new TI.TagReference(this, TagGroups.snd_)); Add(ParticleEffects = new TI.Block<particle_system_definition_block_new>(this, 32)); Add(ParticleDensity = new TI.Real()); }
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)); }
public sound_pitch_range_block() : base(6) { Add(Name = new TI.String()); Add(NaturalPitch = new TI.Real()); Add(BendBounds = new TI.RealBounds()); Add(ActualPermutationCount = new TI.ShortInteger()); Add(new TI.Pad(2 + 12)); Add(Permutations = new TI.Block<sound_permutations_block>(this, 256)); }
public global_shader_parameter_block() : base(7) { /*0x00*/Add(Name = new TI.StringId()); /*0x04*/Add(Type = new TI.Enum()); /*0x06*/Add(RuntimeFlags = new TI.Flags(TI.FieldType.WordFlags)); // was Pad /*0x08*/Add(Bitmap = new TI.TagReference(this, TagGroups.bitm)); /*0x18*/Add(ConstValue = new TI.Real()); /*0x1C*/Add(ConstColor = new TI.RealColor()); /*0x28*/Add(AnimationProperties = new TI.Block<shader_animation_property_block>(this, 14)); }
public antenna_group() : base(9) { Add(AttachmentMarkerName = new TI.String()); Add(Bitmaps = new TI.TagReference(this, TagGroups.bitm)); Add(Physics = new TI.TagReference(this, TagGroups.phys)); Add(new TI.Pad(80)); Add(SpringStrenthCoefficent = new TI.Real(BlamLib.TagInterface.FieldType.RealFraction)); Add(FalloffPixels = new TI.Real()); Add(CutoffPixels = new TI.Real()); Add(new TI.Pad(40)); Add(Vertices = new TI.Block<antenna_vertex_block>(this, 20)); }
public scenario_structure_bsp_group() { Add(new TI.UnknownPad(12)); // dword (structure checksum?) // long? // dword Add(TI.UnknownPad.BlockHalo3); // [0x28] // unknown [0x10] (seems when this is zero, the first tag block is filled with NONE, and the second isnt even used) // tag block [0x4] // long // tag block [0x16] // long // real_point3d Add(TI.UnknownPad.BlockHalo3); // [0x4] // long (pretty sure block index) Add(CollisionMaterials = new TI.Block<structure_collision_materials_block>(this, 512)); Add(TI.UnknownPad.BlockHalo3); // tag block [0x1], Cluster Data? Add(/*World Bounds x = */ new TI.RealBounds()); Add(/*World Bounds y = */ new TI.RealBounds()); Add(/*World Bounds z = */ new TI.RealBounds()); Add(TI.UnknownPad.BlockHalo3); // tag block [0x4] // short // short // 0x60 Add(TI.UnknownPad.BlockHalo3); // [0x4] Surface References? // short // short // sound enviorn palette ref? Add(ClusterPortals = new TI.Block<structure_bsp_cluster_portal_block>(this, 512)); Add(TI.UnknownPad.BlockHalo3); // ?? Add(TI.UnknownPad.BlockHalo3); // [0x8] // fog related // string id // short // short Add(TI.UnknownPad.BlockHalo3); // camera fx // string id (name) // reference (cfxs, settings) // byte (enum?) // unknown [3] // real // dword (real?) // real // real // real // dword (real?) Add(TI.UnknownPad.BlockHalo3); // ?? Weather Polyhedra? // 0xA8 Add(TI.UnknownPad.BlockHalo3); // [0x34] Detail Objects (pretty sure) // unknown [0x34] (only seen it as zeros) Add(Clusters = new TI.Block<structure_bsp_cluster_block>(this, 512)); // 0xC0 Add(Materials = new TI.Block<global_geometry_material_block>(this, 1024)); Add(/*Sky Owner Cluster = */ new TI.Block<structure_bsp_sky_owner_cluster_block>(this, 32)); Add(TI.UnknownPad.BlockHalo3); // conveyor surfaces Add(TI.UnknownPad.BlockHalo3); // breakable surfaces // 0xF0 Add(/*Pathfinding Data = */ new TI.Block<pathfinding_data_block>(this, 16)); Add(TI.UnknownPad.BlockHalo3); // pathfinding edges Add(/*Sound Environment Palette = */ new TI.Block<structure_bsp_sound_environment_palette_block>(this, 64)); // 0x114 Add(new TI.UnknownPad(44)); // 1 tag data, 2 tag blocks but idk the order Add(/*Markers = */ new TI.Block<structure_bsp_marker_block>(this, 1024)); Add(TI.UnknownPad.BlockHalo3); // ?? Runtime Decals? Add(TI.UnknownPad.BlockHalo3); // [0x2] // short (block index?) // short (i think this is a index too) Add(/*Compression Infos = */ new TI.Block<global_geometry_compression_info_block>(this, 0)); // 0x170 Add(/*Environment Object Palette = */ new TI.Block<structure_bsp_environment_object_palette_block>(this, 100)); Add(/*Environment Objects = */ new TI.Block<structure_bsp_environment_object_block>(this, 16384)); Add(TI.UnknownPad.BlockHalo3); // Old Lightmaps Add(new TI.Pad(4)); Add(TI.UnknownPad.BlockHalo3); // Old Leaf Map Leaves Add(TI.UnknownPad.BlockHalo3); // Old Leaf Map Connections // 0x1B0 Add(InstancedGeometryInstances = new TI.Block<structure_bsp_instanced_geometry_instances_block>(this, 1024)); Add(/*Decorator Palette = */ new TI.Block<structure_decorator_palette_block>(this, 0)); Add(TI.UnknownPad.DWord); Add(new TI.UnknownPad(120)); Add(BspRenderResourcesIndex = new TI.LongInteger()); // resource id (render_geometry_api_resource_definition) Add(TI.UnknownPad.DWord); // 0x24C Add(TI.UnknownPad.BlockHalo3); // structure_bsp_sound_cluster_block (Ambience Sound Clusters?) Add(TI.UnknownPad.BlockHalo3); // structure_bsp_sound_cluster_block (Reverb Sound Clusters?) Add(TI.UnknownPad.BlockHalo3); // structure_bsp_sound_cluster_block (? Sound Clusters) // 0x270 Add(/*Transparent Planes = */ new TI.Block<transparent_planes_block>(this, 32768)); Add(TI.UnknownPad.BlockHalo3); // breakable_surface_key_table_block? Add(/*structure_physics = */ new TI.Struct<global_structure_physics_struct>(this)); Add(TI.UnknownPad.BlockHalo3); // [0x20] (i think this may be cluster related) // short (block index) // byte // byte // long // real bounds[3] (xyz bounds) Add(new TI.UnknownPad(24)); Add(TI.UnknownPad.DWord); // 0x2E4 Add(TI.UnknownPad.BlockHalo3); // tag block [0x4C] render_model_section_block Add(TI.UnknownPad.BlockHalo3); // tag block [0x2C] global_geometry_compression_info_block Add(TI.UnknownPad.BlockHalo3); // tag block [0x30] // unknown [0x10] // real[4] (might be a hkVector4 or just a real_point3d + real) // long (might byte 4 byte indexers) // real // real // real Add(TI.UnknownPad.BlockHalo3); // tag block [0x18] functions // string id (input) // mapping_function Add(TI.UnknownPad.BlockHalo3); // tag block [0x?] Add(TI.UnknownPad.BlockHalo3); // tag block [0x20] (count matches render_model_section_block) // tag data Add(TI.UnknownPad.BlockHalo3); // ? Add(TI.UnknownPad.BlockHalo3); // ? (should be a 0xC block) Add(TI.UnknownPad.BlockHalo3); // ? // 0x350 Add(TI.UnknownPad.BlockHalo3); // tag block [0x10] // 0x35C Add(new TI.UnknownPad(8 + 12)); // resource id (will point to a null item, render_geometry_api_resource_definition) // dword // tag block Add(TI.UnknownPad.BlockHalo3); // tag block? maybe this points to the structure_bsp_tag_resources block data in the zone tag Add(BspTagResourcesIndex = new TI.LongInteger()); // resource id (structure_bsp_tag_resources) Add(TI.Pad.DWord); Add(TI.Pad.DWord); }
public structure_bsp_tag_resources_odst() : base(4) { Add(BspCollision = new TI.Block<global_collision_bsp_block>(this, 1)); Add(TI.UnknownPad.BlockHalo3); // [0x?] Add(InstancedGeometryDefinitions = new TI.Block<structure_bsp_instanced_geometry_definition_block>(this, 0)); Add(TI.UnknownPad.BlockHalo3); // [0x?] }
public structure_bsp_tag_resources() : base(2) { Add(BspCollision = new TI.Block<global_collision_bsp_block>(this, 1)); Add(InstancedGeometryDefinitions = new TI.Block<structure_bsp_instanced_geometry_definition_block>(this, 0)); }
public structure_bsp_instanced_geometry_definition_block() { Add(Unknown00 = new TI.LongInteger()); Add(BoundingSphereCenter = new TI.RealPoint3D()); Add(BoundingSphereRadis = new TI.Real()); Add(CollisionInfo = new TI.Struct<global_collision_bsp_struct>(this)); // collision_bsp_physics_struct Add(/*bsps = */ new TI.Block<global_collision_bsp_block>(this, 0)); Add(new TI.Block<mopp_code_block>(this, 0)); Add(TI.UnknownPad.BlockHalo3); // [0x?] (physics related) Add(Unknown98 = new TI.Block<block_98>(this, 0)); Add(UnknownA4 = new TI.Block<block_A4>(this, 0)); Add(UnknownB0 = new TI.ShortInteger()); Add(UnknownB2 = new TI.ShortInteger()); Add(UnknownB4 = new TI.Real()); }
public sound_cache_file_gestalt_group() : base(11) { /*0x00*/Add(Playbacks = new TI.Block<sound_gestalt_playback_block>(this, 32767)); /*0x0C*/Add(Scales = new TI.Block<sound_gestalt_scale_block>(this, 32767)); /*0x18*/Add(ImportNames = new TI.Block<CT.sound_gestalt_import_names_block>(this, 32767)); /*0x24*/Add(PitchRangeParameters = new TI.Block<sound_gestalt_pitch_range_parameters_block>(this, 32767)); /*0x30*/Add(PitchRanges = new TI.Block<sound_gestalt_pitch_ranges_block>(this, 32767)); /*0x3C*/Add(Permutations = new TI.Block<sound_gestalt_permutations_block>(this, 32767)); /*0x48*/Add(CustomPlaybacks = new TI.Block<sound_gestalt_custom_playback_block>(this, 32767)); /*0x54*/Add(RuntimePermutationFlags = new TI.Block<CT.sound_gestalt_runtime_permutation_bit_vector_block>(this, 32767)); /*0x60*/Add(Chunks = new TI.Block<sound_permutation_chunk_block>(this, 32767)); /*0x6C*/Add(Promotions = new TI.Block<sound_gestalt_promotions_block>(this, 32767)); /*0x78*/Add(ExtraInfos = new TI.Block<sound_gestalt_extra_info_block>(this, 32767)); }
public sandbox_text_value_pair_value_block() { Add(Name = new TI.StringId()); Add(Values = new TI.Block<sandbox_text_value_pair_reference_block>(this, 32)); }
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)); }
public ai_dialogue_globals_group() : base(5) { Add(Vocalizations = new TI.Block<vocalization_definitions_block_0>(this, 500)); Add(Patterns = new TI.Block<vocalization_patterns_block>(this, 1000)); Add(new TI.Pad(12)); Add(DialogueData = new TI.Block<dialogue_data_block>(this, 200)); Add(InvoluntaryData = new TI.Block<involuntary_data_block>(this, 100)); }
public scenario_group() : base(69) { Add(DontUse = new TI.TagReference(this, TagGroups.sbsp)); Add(WontUse = new TI.TagReference(this, TagGroups.sbsp)); Add(CantUse = new TI.TagReference(this, TagGroups.sky_)); Add(Skies = new TI.Block<field_block<TI.TagReference>>(this, 8)); Add(Type = new TI.Enum()); Add(Flags = new TI.Flags(BlamLib.TagInterface.FieldType.WordFlags)); Add(TI.Pad.BlockHalo1); // child scenarios, tag block data wasn't removed in stubbs for some reason Add(LocalNorth = new TI.Real(BlamLib.TagInterface.FieldType.Angle)); Add(new TI.Pad(20 + 136)); Add(PredictedResources = new TI.Block<predicted_resource_block>(this, 1024)); Add(Functions = new TI.Block<scenario_function_block>(this, 32)); Add(EditorData = new TI.Data(this)); Add(Comments = new TI.Block<editor_comment_block>(this, 1024)); Add(new TI.Pad(224)); Add(ObjectNames = new TI.Block<scenario_object_names_block>(this, 512)); Add(Scenery = new TI.Block<scenario_scenery_block>(this, 2000)); Add(SceneryPalette = new TI.Block<scenario_object_palette_block>(this, 100)); Add(Bipeds = new TI.Block<scenario_biped_block>(this, 128)); Add(BipedPalette = new TI.Block<scenario_object_palette_block>(this, 100)); Add(Vehicles = new TI.Block<scenario_vehicle_block>(this, 80)); Add(VehiclePalette = new TI.Block<scenario_object_palette_block>(this, 100)); // silly bungie, why would u want to have up to 100 vehicle types to choose from when you could only possibly choose 80 of them? Add(Equipment = new TI.Block<scenario_equipment_block>(this, 256)); Add(EquipmentPalette = new TI.Block<scenario_object_palette_block>(this, 100)); Add(Weapons = new TI.Block<scenario_weapon_block>(this, 128)); Add(WeaponsPalette = new TI.Block<scenario_object_palette_block>(this, 100)); Add(DeviceGroups = new TI.Block<device_group_block>(this, 128)); Add(Machines = new TI.Block<scenario_machine_block>(this, 400)); Add(MachinesPalette = new TI.Block<scenario_object_palette_block>(this, 100)); Add(Controls = new TI.Block<scenario_control_block>(this, 100)); Add(ControlsPalette = new TI.Block<scenario_object_palette_block>(this, 100)); Add(LightFixtures = new TI.Block<scenario_light_fixture_block>(this, 500)); Add(LightFixturesPalette = new TI.Block<scenario_object_palette_block>(this, 100)); Add(SoundScenery = new TI.Block<scenario_sound_scenery_block>(this, 256)); Add(SoundSceneryPalette = new TI.Block<scenario_object_palette_block>(this, 100)); Add(new TI.Pad(84)); Add(PlayerStartingProfile = new TI.Block<scenario_profiles_block>(this, 256)); Add(PlayerStartingLocations = new TI.Block<scenario_players_block>(this, 256)); Add(TriggerVolumes = new TI.Block<scenario_trigger_volume_block>(this, 256)); Add(RecordedAnimations = new TI.Block<recorded_animation_block>(this, 1024)); Add(NetgameFlags = new TI.Block<scenario_netgame_flags_block>(this, 200)); Add(NetgameEquipment = new TI.Block<scenario_netgame_equipment_block>(this, 200)); Add(StartingEquipment = new TI.Block<scenario_starting_equipment_block>(this, 200)); Add(BspSwitchTriggerVolumes = new TI.Block<scenario_bsp_switch_trigger_volume_block>(this, 256)); Add(Decals = new TI.Block<scenario_decals_block>(this, 65536)); Add(DecalPalette = new TI.Block<field_block<TI.TagReference>>(this, 128)); Add(DetailObjectCollectionPalette = new TI.Block<field_block<TI.TagReference>>(this, 32)); Add(new TI.Pad(84)); Add(ActorPalette = new TI.Block<field_block<TI.TagReference>>(this, 64)); Add(Encounters = new TI.Block<encounter_block>(this, 128)); Add(CommandLists = new TI.Block<ai_command_list_block>(this, 256)); Add(AiAnimationReferences = new TI.Block<ai_animation_reference_block>(this, 128)); Add(AiScriptReferences = new TI.Block<ai_script_reference_block>(this, 128)); Add(AiRecordingReferences = new TI.Block<ai_recording_reference_block>(this, 128)); Add(AiConverstaions = new TI.Block<ai_conversation_block>(this, 128)); Add(ScriptSyntaxData = new TI.Data(this, BlamLib.TagInterface.DataType.ScriptNode)); Add(ScriptStringData = new TI.Data(this)); Add(Scripts = new TI.Block<hs_scripts_block>(this, 512)); Add(Globals = new TI.Block<hs_globals_block>(this, 128)); Add(References = new TI.Block<hs_references_block>(this, 256)); Add(SourceFiles = new TI.Block<hs_source_files_block>(this, 8)); Add(new TI.Pad(24)); Add(CutsceneFlags = new TI.Block<scenario_cutscene_flag_block>(this, 512)); Add(CutsceneCameraPoints = new TI.Block<scenario_cutscene_camera_point_block>(this, 512)); Add(CutsceneTitles = new TI.Block<scenario_cutscene_title_block>(this, 64)); Add(new TI.Pad(108)); Add(CustomObjectNames = new TI.TagReference(this, TagGroups.ustr)); Add(IngameHelpText = new TI.TagReference(this, TagGroups.ustr)); Add(HudMessages = new TI.TagReference(this, TagGroups.hmt_)); Add(StructureBsps = new TI.Block<scenario_structure_bsps_block>(this, 16)); //Skies.Definition.Value.ResetReferenceGroupTag(TagGroups.sky_); //SceneryPalette.Definition.Name.ResetReferenceGroupTag(TagGroups.scen); //BipedPalette.Definition.Name.ResetReferenceGroupTag(TagGroups.bipd); //VehiclePalette.Definition.Name.ResetReferenceGroupTag(TagGroups.vehi); //EquipmentPalette.Definition.Name.ResetReferenceGroupTag(TagGroups.eqip); //WeaponsPalette.Definition.Name.ResetReferenceGroupTag(TagGroups.weap); //MachinesPalette.Definition.Name.ResetReferenceGroupTag(TagGroups.mach); //ControlsPalette.Definition.Name.ResetReferenceGroupTag(TagGroups.ctrl); //LightFixturesPalette.Definition.Name.ResetReferenceGroupTag(TagGroups.lifi); //SoundSceneryPalette.Definition.Name.ResetReferenceGroupTag(TagGroups.ssce); //DecalPalette.Definition.Value.ResetReferenceGroupTag(TagGroups.deca); //ActorPalette.Definition.Value.ResetReferenceGroupTag(TagGroups.actr); //DetailObjectCollectionPalette.ResetReferenceGroupTag(TagGroups.dobc); }
public ai_conversation_block() : base(9) { Add(Name = new TI.String()); Add(Flags = new TI.Flags(BlamLib.TagInterface.FieldType.WordFlags)); Add(new TI.Pad(2)); Add(TriggerDistance = new TI.Real()); Add(RunToPlayerDist = new TI.Real()); Add(new TI.Pad(36)); Add(Participants = new TI.Block<ai_conversation_participant_block>(this, 8)); Add(Lines = new TI.Block<ai_conversation_line_block>(this, 32)); Add(new TI.Pad(12)); }
public ai_command_list_block() : base(8) { Add(Name = new TI.String()); Add(Flags = new TI.Flags()); Add(new TI.Pad(8)); Add(ManualBspIndex = new TI.ShortInteger()); Add(new TI.Pad(2)); Add(Commands = new TI.Block<ai_command_block>(this, 64)); Add(Points = new TI.Block<ai_command_point_block>(this, 64)); Add(new TI.Pad(24)); }
public encounter_block() : base(12) { Add(Name = new TI.String()); Add(Flags = new TI.Flags()); Add(TeamIndex = new TI.Enum()); Add(new TI.Skip(2)); Add(SearchBehavoir = new TI.Enum()); Add(ManualBspIndex = new TI.ShortInteger()); Add(RespawnDelay = new TI.RealBounds()); Add(new TI.Pad(76)); Add(Squads = new TI.Block<squads_block>(this, 64)); Add(Platoons = new TI.Block<platoons_block>(this, 32)); Add(FiringPositions = new TI.Block<firing_positions_block>(this, 512)); Add(PlayerStartingLocations = new TI.Block<scenario_players_block>(this, 256)); }
public structure_design_group() : base(6) { Add(new TI.LongInteger()); // flags? Add(MoppCode = new TI.Block<mopp_code_block>(this, 0)); // may be for soft ceilings? Add(SoftCeilings = new TI.Block<structure_design_soft_ceiling_block>(this, 0)); // water physics Add(new TI.Block<mopp_code_block>(this, 0)); // only seen instanced when water physics present Add(TI.UnknownPad.BlockHalo3); // [0x4] water physics names // string id name Add(TI.UnknownPad.BlockHalo3); // [0x2C] // short (either self indexing or index to water physics names. money is on the later) // word (maybe flags, only seen as zero) // real // real // real // dword // tag block [0x10] // real 4d (i think this may be a hkVector4D due to 'w's usage) // tag block ?? }
public character_group() : base(38) { Add(Flags = new TI.Flags()); Add(new TI.UselessPad(24)); Add(ParentCharacter = new TI.TagReference(this, TagGroups.char_)); Add(Unit = new TI.TagReference(this, TagGroups.unit)); Add(Creature = new TI.TagReference(this, TagGroups.crea)); Add(Style = new TI.TagReference(this, TagGroups.styl)); Add(new TI.UselessPad(16)); Add(MajorCharacter = new TI.TagReference(this, TagGroups.char_)); Add(new TI.UselessPad(12)); Add(Variants = new TI.Block<character_variants_block>(this, 64)); Add(new TI.UselessPad(36)); Add(GeneralProperties = new TI.Block<character_general_block>(this, 1)); Add(VitalityProperties = new TI.Block<character_vitality_block>(this, 1)); Add(PlacementProperties = new TI.Block<character_placement_block>(this, 1)); Add(PerceptionProperties = new TI.Block<character_perception_block>(this, 4)); Add(LookProperties = new TI.Block<character_look_block>(this, 1)); Add(MovementProperties = new TI.Block<character_movement_block>(this, 1)); Add(SwarmProperties = new TI.Block<character_swarm_block>(this, 3)); Add(new TI.UselessPad(36)); Add(ReadyProperties = new TI.Block<character_ready_block>(this, 3)); Add(EngageProperties = new TI.Block<character_engage_block>(this, 3)); Add(/*charge properties = */ new TI.Block<character_charge_block>(this, 3)); Add(/*evasion properties = */ new TI.Block<character_evasion_block>(this, 3)); Add(/*cover properties = */ new TI.Block<character_cover_block>(this, 3)); Add(/*retreat properties = */ new TI.Block<character_retreat_block>(this, 3)); Add(/*search properties = */ new TI.Block<character_search_block>(this, 3)); Add(/*pre-search properties = */ new TI.Block<character_presearch_block>(this, 3)); Add(/*idle properties = */ new TI.Block<character_idle_block>(this, 3)); Add(/*vocalization properties = */ new TI.Block<character_vocalization_block>(this, 1)); Add(/*boarding properties = */ new TI.Block<character_boarding_block>(this, 1)); Add(new TI.UselessPad(12)); Add(/*boss properties = */ new TI.Block<character_boss_block>(this, 1)); Add(/*weapons properties = */ new TI.Block<character_weapons_block>(this, 100)); Add(/*firing pattern properties = */ new TI.Block<character_firing_pattern_properties_block>(this, 100)); Add(new TI.UselessPad(24)); Add(/*grenades properties = */ new TI.Block<character_grenades_block>(this, 10)); Add(new TI.UselessPad(24)); Add(/*vehicle properties = */ new TI.Block<character_vehicle_block>(this, 100)); }
public pathfinding_data_block() : base(13) { Add(Sectors = new TI.Block<sector_block>(this, 65534)); Add(Links = new TI.Block<sector_link_block>(this, 262144)); Add(Refs = new TI.Block<ref_block>(this, 131072)); Add(Bsp2dNodes = new TI.Block<sector_bsp2d_nodes_block>(this, 131072)); // no more surface flags block Add(Vertices = new TI.Block<sector_vertex_block>(this, 65535)); Add(ObjectRefs = new TI.Block<environment_object_refs>(this, 2000)); // i think max is just 1 now? Add(PathfindingHints = new TI.Block<pathfinding_hints_block>(this, 32767)); Add(InstancedGeometryRefs = new TI.Block<instanced_geometry_reference_block>(this, 1024)); Add(StructureChecksum = new TI.LongInteger()); Add(TI.UnknownPad.BlockHalo3); // ?? Add(TI.UnknownPad.BlockHalo3); // ?? Add(TI.UnknownPad.BlockHalo3); // [0xC] // tag block [0x4] long Add(new TI.UnknownPad(28)); // maybe 2 tag blocks plus 1 dword? }
public sound_classes_group() : base(1) { Add(SoundClasses = new TI.Block<sound_class_block>(this, 54)); }
public ai_mission_dialogue_group() : base(1) { Add(Lines = new TI.Block<mission_dialogue_lines_block>(this, 500)); }
public global_structure_physics_struct() : base(6) { Add(MoppCode = new TI.Block<mopp_code_block>(this, 0)); Add(new TI.Pad(4)); Add(/*MoppBoundsMin =*/ new TI.RealPoint3D()); Add(/*MoppBoundsMax =*/ new TI.RealPoint3D()); Add(MoppCode2 = new TI.Block<mopp_code_block>(this, 0)); }
public text_value_pair_definition_group() { Add(Parameter = new TI.Enum(TI.FieldType.LongEnum)); // 0x26C options, last 0x15 are templated options and can't be get\set Add(Title = new TI.StringId()); Add(Description = new TI.StringId()); Add(Values = new TI.Block<text_value_pair_reference_block>(this, 32)); }
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 }
public sandbox_text_value_pair_definition_group() { Add(Values = new TI.Block<sandbox_text_value_pair_value_block>(this, 32)); }
public sound_gestalt_extra_info_block() : base(2) { Add(EncodedPermutationSection = new TI.Block<sound_encoded_dialogue_section_block>(this, 1)); Add(GeometryBlockInfo = new TI.Struct<geometry_block_info_struct>(this)); }