public animation_block() : base(31) { Add(Name = new TI.String()); Add(Type = new TI.Enum()); Add(FrameCount = new TI.ShortInteger()); Add(FrameSize = new TI.ShortInteger()); Add(FrameInfoType = new TI.Enum()); Add(NodeListChecksum = new TI.LongInteger()); Add(NodeCount = new TI.ShortInteger()); Add(LoopFrameIndex = new TI.ShortInteger()); Add(Weight = new TI.Real(BlamLib.TagInterface.FieldType.RealFraction)); Add(KeyFrameIndex = new TI.ShortInteger()); Add(SecondKeyFrameIndex = new TI.ShortInteger()); Add(NextAnimation = new TI.BlockIndex()); Add(Flags = new TI.Flags(BlamLib.TagInterface.FieldType.WordFlags)); Add(Sound = new TI.BlockIndex()); Add(SoundFrameIndex = new TI.ShortInteger()); Add(LeftFootFrameIndex = new TI.ByteInteger()); Add(RightFootFrameIndex = new TI.ByteInteger()); Add(new TI.Pad(2 + 4)); Add(FrameInfo = new TI.Data(this)); Add(NodeTransFlags1 = new TI.LongInteger()); Add(NodeTransFlags2 = new TI.LongInteger()); Add(new TI.Pad(8)); Add(NodeRotationFlags1 = new TI.LongInteger()); Add(NodeRotationFlags2 = new TI.LongInteger()); Add(new TI.Pad(8)); Add(NodeScaleFlags1 = new TI.LongInteger()); Add(NodeScaleFlags2 = new TI.LongInteger()); Add(new TI.Pad(4)); Add(OffsetToCompressedData = new TI.LongInteger()); Add(DefaultData = new TI.Data(this)); Add(FrameData = new TI.Data(this)); }
public s_tag_d3d_vertex_buffer() : base(4) { Add(VertexCount = new TI.LongInteger()); Add(VertxType = new TI.Enum()); Add(VertexSize = new TI.ShortInteger()); Add(VertexBuffer = new TI.Data(this)); }
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 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)); }
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 input_device_defaults_group() : base(4) { Add(DeviceType = new TI.Enum()); Add(Flags = new TI.Flags(TI.FieldType.WordFlags)); Add(DeviceId = new TI.Data(this)); Add(Profile = new TI.Data(this)); }
public tag_database_entry_block() : base(4) { Add(Name = new TI.Data(this, TI.DataType.String)); Add(GroupTag = new TI.Tag()); Add(HandleDataHigh = new TI.LongInteger()); Add(Flags = new TI.LongInteger()); Add(ChildIds = new TI.Block <tag_database_entry_reference_block>(this, 65535)); Add(ReferenceIds = new TI.Block <tag_database_entry_reference_block>(this, 65535)); Add(new TI.Pad(12)); }
public sound_permutation_raw_info_block() : base(8) { Add(SkipFractionName = new TI.StringId()); Add(Samples = new TI.Data(this)); Add(MouthData = new TI.Data(this)); Add(LipsyncData = new TI.Data(this)); Add(Markers = new TI.Block <sound_permutation_marker_block>(this, 65535)); Add(Compression = new TI.Enum()); Add(Language = new TI.Enum(TI.FieldType.ByteEnum)); Add(TI.Pad.Byte); }
public multilingual_unicode_string_list_group() : base(20) { Add(StringRefs = new TI.Block <multilingual_unicode_string_reference_block>(this, 0)); Add(BlockC = new TI.Block <multilingual_unicode_string_list_C_block>(this, 0)); Add(StringData = new TI.Data(this)); LanguageHandles = new TI.LongInteger[(int)LanguageType.kMax]; for (int x = 0; x < LanguageHandles.Length; x++) { Add(LanguageHandles[x] = new TI.LongInteger()); } }
public bitmap_texture_interop_resource() : base(4) { Add(BitmapData = new TI.Data(this)); Add(UnknownData = new TI.Data(this)); Add(Width = new TI.ShortInteger()); Add(Height = new TI.ShortInteger()); Add(Unknown2C = new TI.ByteInteger()); Add(Unknown2D = new TI.ByteInteger()); Add(Unknown2E = new TI.ByteInteger()); Add(Unknown2F = new TI.ByteInteger()); Add(Unknown30 = new TI.LongInteger()); }
public sound_permutations_block() : base(9) { Add(Name = new TI.String()); Add(SkipFraction = new TI.Real(BlamLib.TagInterface.FieldType.RealFraction)); Add(Gain = new TI.Real(BlamLib.TagInterface.FieldType.RealFraction)); Add(Compression = new TI.Enum()); Add(NextPermutationIndex = new TI.ShortInteger()); Add(new TI.Pad(20)); Add(Samples = new TI.Data(this, BlamLib.TagInterface.DataType.Sound)); Add(Mouth = new TI.Data(this)); Add(SubtitleData = new TI.Data(this)); }
public static void InteropReadStringData(Blam.CacheFile cf, int cache_offset, out Util.StringPool strings_pool, byte k_pad_character) { strings_pool = new Util.StringPool(); cf.InputStream.Seek(cache_offset, System.IO.SeekOrigin.Begin); var hs_strings = new BlamLib.TagInterface.Data(); hs_strings.ReadHeader(cf); if (hs_strings.Size == 0) { return; } hs_strings.Read(cf); int offset = 0; byte btchar = 0; while (true) { var stringEntry = new System.Text.StringBuilder(); try { do { if (offset < hs_strings.Size) { btchar = hs_strings[offset]; if (btchar != 0) { stringEntry.Append((char)btchar); } } offset++; } while ((btchar != 0 && btchar != k_pad_character) && offset < hs_strings.Size); } catch (IndexOutOfRangeException ex) { throw new BlamLib.Debug.ExceptionLog("Offset was outside the bounds of the data array. {0}{1}", BlamLib.Program.NewLine, ex); } strings_pool.Add(stringEntry.ToString()); if (btchar == k_pad_character) { break; } } }
public cache_file_resource_gestalt_group() : base(41) { Add(CacheType = new TI.Enum()); Add(Flags = TI.Flags.Word); /*0x04*/ Add(ResourceTypes = new TI.Block <resource_type_block>(this, 0)); /*0x10*/ Add(ResourceStructureTypes = new TI.Block <resource_structure_type_block>(this, 0)); /*0x1C*/ Add(ResourceLayoutTable = new TI.Struct <cache_file_resource_layout_table>(this)); /*0x58*/ Add(TagResources = new TI.Block <cache_file_resource_gestalt_tag_resource_block>(this, 0)); /*0x64*/ Add(Block64 = new TI.Block <cache_file_resource_gestalt_64_block>(this, 0)); // general /*0x70*/ Add(Block70 = new TI.Block <cache_file_resource_gestalt_64_block>(this, 0)); // tag block [0x78] global /*0x7C*/ Add(Block7C = new TI.Block <cache_file_resource_gestalt_64_block>(this, 0)); // tag block [0x78]? attached? /*0x88*/ Add(Block88 = new TI.Block <cache_file_resource_gestalt_64_block>(this, 0)); // tag block [0x78] unattached // same structure as tag block two fields above /*0x94*/ Add(Block94 = new TI.Block <cache_file_resource_gestalt_64_block>(this, 0)); // tag block [0x78] dvd_forbidden // '' /*0xA0*/ Add(BlockA0 = new TI.Block <cache_file_resource_gestalt_64_block>(this, 0)); // tag block [0x78] dvd_always_streaming // '' /*0xAC*/ Add(BlockAC = new TI.Block <cache_file_resource_gestalt_64_block>(this, 0)); // tag block [0x78] bsp zones // '' - /*0xB8*/ Add(BlockB8 = new TI.Block <cache_file_resource_gestalt_64_block>(this, 0)); // tag block [0x78] bsp zones // '' /*0xC4*/ Add(BlockC4 = new TI.Block <cache_file_resource_gestalt_64_block>(this, 0)); // tag block [0x78] bsp zones // '' /*0xD0*/ Add(BlockD0 = new TI.Block <cache_file_resource_gestalt_64_block>(this, 0)); // tag block [0x78] ? (ex. '030la_highway') // '' /*0xDC*/ Add(BlockDC = new TI.Block <cache_file_resource_gestalt_64_block>(this, 0)); // tag block [0x78] zone sets // '' /*0xE8*/ Add(TI.UnknownPad.BlockHalo3); // tag block [0x?]? /*0xF4*/ Add(TI.UnknownPad.BlockHalo3); // tag block [0x?]? /*0x100*/ Add(Block100 = new TI.Block <cache_file_resource_gestalt_100_block>(this, 0)); /*0x10C*/ Add(BspReferences = new TI.Block <field_block <TI.TagReference> >(this, 0)); /*0x118*/ Add(TI.UnknownPad.BlockHalo3); // tag block [0x?] /*0x124*/ Add(TI.UnknownPad.BlockHalo3); // tag block [0x?] /*0x130*/ Add(TI.UnknownPad.BlockHalo3); // tag block [0x?] /*0x13C*/ Add(ResourceDefinitionData = new TI.Data(this)); // tag data /*0x150*/ Add(new TI.UnknownPad(20)); // unknown [0x14] // dword // long // long // long // long (related to the UnknownOffset in 'cache_file_resource_gestalt_tag_resource_block', size of the buffer it refers to) /*0x164*/ Add(Block164 = new TI.Block <cache_file_resource_gestalt_164_block>(this, 0)); /*0x170*/ Add(TI.UnknownPad.BlockHalo3); // tag block [0x?]? /*0x17C*/ Add(TI.UnknownPad.BlockHalo3); // tag block [0x?]? /*0x188*/ Add(TI.UnknownPad.BlockHalo3); // tag block [0x?]? /*0x194*/ Add(TI.UnknownPad.BlockHalo3); // tag block [0x?]? /*0x1A0*/ Add(TI.UnknownPad.BlockHalo3); // tag block [0x?]? /*0x1AC*/ Add(TI.UnknownPad.BlockHalo3); // tag block [0x?]? /*0x1B8*/ Add(TI.UnknownPad.BlockHalo3); // tag block [0x?]? /*0x1C4*/ Add(TI.UnknownPad.BlockHalo3); // tag block [0x?]? /*0x1D0*/ Add(Block1D0 = new TI.Block <field_block <TI.LongInteger> >(this, 0)); // datum index in nature /*0x1DC*/ Add(Block1DC = new TI.Block <cache_file_resource_gestalt_1DC_block>(this, 0)); /*0x1E8*/ Add(Block1E8 = new TI.Block <cache_file_resource_gestalt_1E8_block>(this, 0)); /*0x1F4*/ Add(Block1F4 = new TI.Block <cache_file_resource_gestalt_1F4_block>(this, 0)); /*0x200*/ Add(Block200 = new TI.Block <cache_file_resource_gestalt_200_block>(this, 0)); Add(MapId = Blam.MapId.SkipField); // id used for mapinfo files //BspReferences.Definition.Value.ResetReferenceGroupTag(TagGroups.sbsp); }
public resource() : base(11) { Add(Unknown00 = new TI.LongInteger()); Add(Unknown04 = new TI.LongInteger()); Add(Unknown08 = new TI.ShortInteger()); Add(Unknown0A = new TI.ShortInteger()); Add(Unknown0C = new TI.ByteInteger()); Add(Unknown0D = new TI.ByteInteger()); Add(Unknown0E = new TI.ShortInteger()); Add(Unknown10 = new TI.LongInteger()); Add(Unknown14 = new TI.LongInteger()); Add(Unknown18 = new TI.LongInteger()); Add(Data = new TI.Data(this)); }
public sound_encoded_dialogue_section_block() : base(3) { Add(EncodedData = new TI.Data(this)); Add(SoundDialogueInfo = new TI.Block <sound_permutation_dialogue_info_block>(this, 288)); Add(TI.Pad.BlockHalo3); // will have the same count as SoundDialogueInfo // tag block [0x28] // real[4] // dword[3] // probably some more reals? only seen zeros here // tag block [0x8] // word // word // word // word }
public font_group() : base(13) { Add(Flags = new TI.Flags()); Add(AscendingHeight = new TI.ShortInteger()); Add(DecendingHeight = new TI.ShortInteger()); Add(LeadingHeight = new TI.ShortInteger()); Add(LeadinWidth = new TI.ShortInteger()); Add(new TI.Pad(36)); Add(CharacterTables = new TI.Block <font_character_tables_block>(this, 256)); Add(Bold = new TI.TagReference(this, TagGroups.font)); Add(Italic = new TI.TagReference(this, TagGroups.font)); Add(Condense = new TI.TagReference(this, TagGroups.font)); Add(Underline = new TI.TagReference(this, TagGroups.font)); Add(Characters = new TI.Block <character_block>(this, 20000)); Add(Pixels = new TI.Data(this)); }
public multilingual_unicode_string_list_group() : base(11) { Add(StringRefs = new TI.Block <multilingual_unicode_string_reference_block>(this, 9216)); Add(StringData = new TI.Data(this)); LanguageHandles = new TI.LongInteger[(int)LanguageType.kMax]; for (int x = 0; x < LanguageHandles.Length; x++) { Add(LanguageHandles[x] = new TI.LongInteger()); } // Alpha layout (stored in the actual tag data)): // tag block [languages] // tag block [strings] // string id [name] // tag data [string data] }
public meter_group() : base(16) { Add(Flags = new TI.Flags()); Add(StencilBitmap = new TI.TagReference(this, TagGroups.bitm)); Add(SourceBitmap = new TI.TagReference(this, TagGroups.bitm)); Add(StencilSequenceIndex = new TI.ShortInteger()); Add(SourceSequenceIndex = new TI.ShortInteger()); Add(new TI.Pad(16 + 4)); Add(InterpolateColors = new TI.Enum()); Add(AnchorColors = new TI.Enum()); Add(new TI.Pad(8)); Add(EmptyColor = new TI.RealColor(TI.FieldType.RealArgbColor)); Add(FullColor = new TI.RealColor(TI.FieldType.RealArgbColor)); Add(new TI.Pad(20)); Add(UnmaskDist = new TI.Real()); Add(MaskDist = new TI.Real()); Add(new TI.Pad(20)); Add(EncodedStencil = new TI.Data(this)); }
public static void InteropReadStringData(Blam.CacheFile cf, int cache_offset, out Util.StringPool strings_pool, byte k_pad_character) { strings_pool = new Util.StringPool(); cf.InputStream.Seek(cache_offset, System.IO.SeekOrigin.Begin); var hs_strings = new BlamLib.TagInterface.Data(); hs_strings.ReadHeader(cf); if (hs_strings.Size == 0) return; hs_strings.Read(cf); int offset = 0; byte btchar = 0; while (true) { var stringEntry = new System.Text.StringBuilder(); try { do { if (offset < hs_strings.Size) { btchar = hs_strings[offset]; if (btchar != 0) stringEntry.Append((char)btchar); } offset++; } while ((btchar != 0 && btchar != k_pad_character) && offset < hs_strings.Size); } catch (IndexOutOfRangeException ex) { throw new BlamLib.Debug.ExceptionLog("Offset was outside the bounds of the data array. {0}{1}", BlamLib.Program.NewLine, ex); } strings_pool.Add(stringEntry.ToString()); if (btchar == k_pad_character) break; } }
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)); }
public cache_file_resource_gestalt_group() : base(41) { Add(CacheType = new TI.Enum()); Add(Flags = TI.Flags.Word); /*0x04*/Add(ResourceTypes = new TI.Block<resource_type_block>(this, 0)); /*0x10*/Add(ResourceStructureTypes = new TI.Block<resource_structure_type_block>(this, 0)); /*0x1C*/Add(ResourceLayoutTable = new TI.Struct<cache_file_resource_layout_table>(this)); /*0x58*/Add(TagResources = new TI.Block<cache_file_resource_gestalt_tag_resource_block>(this, 0)); /*0x64*/Add(Block64 = new TI.Block<cache_file_resource_gestalt_64_block>(this, 0)); // general /*0x70*/Add(Block70 = new TI.Block<cache_file_resource_gestalt_64_block>(this, 0)); // tag block [0x78] global /*0x7C*/Add(Block7C = new TI.Block<cache_file_resource_gestalt_64_block>(this, 0)); // tag block [0x78]? attached? /*0x88*/Add(Block88 = new TI.Block<cache_file_resource_gestalt_64_block>(this, 0)); // tag block [0x78] unattached // same structure as tag block two fields above /*0x94*/Add(Block94 = new TI.Block<cache_file_resource_gestalt_64_block>(this, 0)); // tag block [0x78] dvd_forbidden // '' /*0xA0*/Add(BlockA0 = new TI.Block<cache_file_resource_gestalt_64_block>(this, 0)); // tag block [0x78] dvd_always_streaming // '' /*0xAC*/Add(BlockAC = new TI.Block<cache_file_resource_gestalt_64_block>(this, 0)); // tag block [0x78] bsp zones // '' - /*0xB8*/Add(BlockB8 = new TI.Block<cache_file_resource_gestalt_64_block>(this, 0)); // tag block [0x78] bsp zones // '' /*0xC4*/Add(BlockC4 = new TI.Block<cache_file_resource_gestalt_64_block>(this, 0)); // tag block [0x78] bsp zones // '' /*0xD0*/Add(BlockD0 = new TI.Block<cache_file_resource_gestalt_64_block>(this, 0)); // tag block [0x78] ? (ex. '030la_highway') // '' /*0xDC*/Add(BlockDC = new TI.Block<cache_file_resource_gestalt_64_block>(this, 0)); // tag block [0x78] zone sets // '' /*0xE8*/Add(TI.UnknownPad.BlockHalo3); // tag block [0x?]? /*0xF4*/Add(TI.UnknownPad.BlockHalo3); // tag block [0x?]? /*0x100*/Add(Block100 = new TI.Block<cache_file_resource_gestalt_100_block>(this, 0)); /*0x10C*/Add(BspReferences = new TI.Block<field_block<TI.TagReference>>(this, 0)); /*0x118*/Add(TI.UnknownPad.BlockHalo3); // tag block [0x?] /*0x124*/Add(TI.UnknownPad.BlockHalo3); // tag block [0x?] /*0x130*/Add(TI.UnknownPad.BlockHalo3); // tag block [0x?] /*0x13C*/Add(ResourceDefinitionData = new TI.Data(this)); // tag data /*0x150*/Add(new TI.UnknownPad(20)); // unknown [0x14] // dword // long // long // long // long (related to the UnknownOffset in 'cache_file_resource_gestalt_tag_resource_block', size of the buffer it refers to) /*0x164*/Add(Block164 = new TI.Block<cache_file_resource_gestalt_164_block>(this, 0)); /*0x170*/Add(TI.UnknownPad.BlockHalo3); // tag block [0x?]? /*0x17C*/Add(TI.UnknownPad.BlockHalo3); // tag block [0x?]? /*0x188*/Add(TI.UnknownPad.BlockHalo3); // tag block [0x?]? /*0x194*/Add(TI.UnknownPad.BlockHalo3); // tag block [0x?]? /*0x1A0*/Add(TI.UnknownPad.BlockHalo3); // tag block [0x?]? /*0x1AC*/Add(TI.UnknownPad.BlockHalo3); // tag block [0x?]? /*0x1B8*/Add(TI.UnknownPad.BlockHalo3); // tag block [0x?]? /*0x1C4*/Add(TI.UnknownPad.BlockHalo3); // tag block [0x?]? /*0x1D0*/Add(Block1D0 = new TI.Block<field_block<TI.LongInteger>>(this, 0)); // datum index in nature /*0x1DC*/Add(Block1DC = new TI.Block<cache_file_resource_gestalt_1DC_block>(this, 0)); /*0x1E8*/Add(Block1E8 = new TI.Block<cache_file_resource_gestalt_1E8_block>(this, 0)); /*0x1F4*/Add(Block1F4 = new TI.Block<cache_file_resource_gestalt_1F4_block>(this, 0)); /*0x200*/Add(Block200 = new TI.Block<cache_file_resource_gestalt_200_block>(this, 0)); Add(MapId = Blam.MapId.SkipField); // id used for mapinfo files //BspReferences.Definition.Value.ResetReferenceGroupTag(TagGroups.sbsp); }
public scenario_group() { Add(Type = new TI.Enum()); Add(Flags = TI.Flags.Word); Add(/*map id = */ MapId.SkipField); // id used for mapinfo files Add(new TI.Skip(4)); Add(SandboxBuget = new TI.Real()); Add(StructureBsps = new TI.Block<scenario_structure_bsp_reference_block>(this, 16)); Add(/*DontUse = */new TI.TagReference(this, TagGroups.sbsp)); // Its a tag reference here, but IDK if its for THIS exactly... Add(Skies = new TI.Block<scenario_sky_reference_block>(this, 32)); Add(TI.UnknownPad.BlockHalo3); // tag block [0x2C] // long // long // tag block [0x4] // tag block [0x54] // tag block [0xC] // tag block [0x20] // tag block [0x4] // long // long // tag block [0xC] // tag block [0x20] // tag block [0x4] // long // long // tag block [0x1] // most likely a bitvector... // tag block [0x1] // most likely a bitvector... // tag block [0x?] // may be an unused tag block // tag block [0x4] // tag block [0xC] // unknown [0xC] // tag block [0x18] // unknown [0x18] Add(TI.UnknownPad.BlockHalo3); // tag block [0x64] zone sets // unknown [0x28] // tag block [0x?] // tag block [0x?] // tag block [0x?] // tag block [0x?] // tag block [0x?] Add(TI.UnknownPad.BlockHalo3); // tag block [0x24] zone set related // string id [name] // dword // dword (only seen as zero) // dword // dword // dword // dword // long block index? (only seen as NONE) // long block index? (probably to the tag block before this one) Add(TI.UnknownPad.BlockHalo3); // tag block [0xC] zone set related // string id [name] // dword (seems to equal 1<<element_index) // dword Add(new TI.UnknownPad(0x44)); // unknown [0x44] #region scenario objects Add(ObjectNames = new TI.Block<scenario_object_names_block>(this, 0)); // I'm sure the max is now over 640... Add(TI.UnknownPad.BlockHalo3); // tag block [0xB4] Scenery Add(SceneryPalette = new TI.Block<scenario_scenery_palette_block>(this, 0)); // I'm sure the max is now over 256... Add(TI.UnknownPad.BlockHalo3); // tag block [0x74] Bipeds Add(BipedsPalette = new TI.Block<scenario_biped_palette_block>(this, 0)); // '' Add(TI.UnknownPad.BlockHalo3); // tag block [0xA8] Vehicles Add(VehiclePalette = new TI.Block<scenario_vehicle_palette_block>(this, 0)); // '' Add(TI.UnknownPad.BlockHalo3); // tag block [0x8C] Equipment Add(EquipmentPalette = new TI.Block<scenario_equipment_palette_block>(this, 0)); // '' Add(TI.UnknownPad.BlockHalo3); // tag block [0xA8] Weapons Add(WeaponPalette = new TI.Block<scenario_weapon_palette_block>(this, 0)); // '' Add(TI.UnknownPad.BlockHalo3); // tag block [0x28] Device groups Add(TI.UnknownPad.BlockHalo3); // tag block [0x70?] Machines Add(MachinePalette = new TI.Block<scenario_machine_palette_block>(this, 0)); // '' Add(TI.UnknownPad.BlockHalo3); // tag block [0x?] Terminals Add(TerminalPalette = new TI.Block<scenario_terminal_palette_block>(this, 0)); // '' Add(TI.UnknownPad.BlockHalo3); // tag block [0x64?] Controls Add(ControlPalette = new TI.Block<scenario_control_palette_block>(this, 0)); // '' Add(TI.UnknownPad.BlockHalo3); // tag block [0x70] Sound Scenery Add(SoundSceneryPalette = new TI.Block<scenario_sound_scenery_palette_block>(this, 0)); // '' Add(TI.UnknownPad.BlockHalo3); // tag block [0x?] Giants Add(GiantsPalette = new TI.Block<scenario_giant_palette_block>(this, 0)); // '' Add(TI.UnknownPad.BlockHalo3); // tag block [0x?] Effect Scenery Add(EffectSceneryPalette = new TI.Block<scenario_effect_scenery_palette_block>(this, 0)); // '' Add(TI.UnknownPad.BlockHalo3); // tag block [0x70] Light Volumes Add(LightVolumesPalette = new TI.Block<scenario_light_palette_block>(this, 0)); // '' #endregion Add(/*Sandbox vehicles = */new TI.Block<scenario_sandbox_vehicle_settings_block>(this, 0)); // 0x1E8 Add(/*Sandbox weapons = */new TI.Block<scenario_sandbox_weapon_settings_block>(this, 0)); Add(/*Sandbox equipment = */new TI.Block<scenario_sandbox_equipment_settings_block>(this, 0)); Add(/*Sandbox scenery = */new TI.Block<scenario_sandbox_scenery_settings_block>(this, 0)); Add(/*Sandbox teleporters = */new TI.Block<scenario_sandbox_teleporter_settings_block>(this, 0)); Add(/*Sandbox netgame flags = */new TI.Block<scenario_sandbox_netpoint_settings_block>(this, 0)); Add(/*Sandbox spawns = */new TI.Block<scenario_sandbox_spawn_settings_block>(this, 0)); Add(TI.UnknownPad.BlockHalo3); // 0x23C tag block [0xC], camera related // word // word? // string id // word // word? Add(/*PlayerStartingProfile = */new TI.Block<scenario_profiles_block>(this, 256)); Add(/*PlayerStartingLocations = */new TI.Block<scenario_players_block>(this, 256)); Add(/*KillTriggerVolumes = */new TI.Block<scenario_trigger_volume_block>(this, 256)); // 0x260 Add(TI.UnknownPad.BlockHalo3); // tag block [0x?] Add(TI.UnknownPad.BlockHalo3); // tag block [0x10], trigger volume related, zone set related // word // short block index // word // short block index // word // short block index // word // short block index Add(TI.UnknownPad.BlockHalo3); // tag block [0x?] Add(TI.UnknownPad.BlockHalo3); // tag block [0x?] Add(TI.UnknownPad.BlockHalo3); // tag block [0x?] Add(TI.UnknownPad.BlockHalo3); // tag block [0x?] Add(TI.UnknownPad.BlockHalo3); // tag block [0x?] Add(TI.UnknownPad.BlockHalo3); // tag block [0x?] Add(TI.UnknownPad.BlockHalo3); // tag block [0x?] Add(TI.UnknownPad.BlockHalo3); // tag block [0x?] Add(TI.UnknownPad.BlockHalo3); // tag block [0x?] Add(TI.UnknownPad.BlockHalo3); // tag block [0x?] Add(TI.UnknownPad.BlockHalo3); // tag block [0x?] Add(TI.UnknownPad.BlockHalo3); // tag block [0x?] Add(TI.UnknownPad.BlockHalo3); // tag block [0x?] Add(TI.UnknownPad.BlockHalo3); // tag block [0x?] Add(TI.UnknownPad.BlockHalo3); // tag block [0x?] Add(TI.UnknownPad.BlockHalo3); // tag block [0x?] Add(TI.UnknownPad.BlockHalo3); // tag block [0x?] Add(TI.UnknownPad.BlockHalo3); // tag block [0x24] scenario_decal_systems_block 65536 Add(/*DecalSystems = */new TI.Block<scenario_decal_system_palette_block>(this, 128)); Add(TI.UnknownPad.BlockHalo3); // tag block [0x?] Add(TI.UnknownPad.BlockHalo3); // tag block [0x?] Add(/*SquadGroups = */new TI.Block<squad_groups_block>(this, 100)); Add(TI.UnknownPad.BlockHalo3); // Add(Squads = new TI.Block<squads_block>(this, 335)); Add(/*Zones = */new TI.Block<zone_block>(this, 128)); Add(TI.UnknownPad.BlockHalo3); // tag block [0x?] // Mission Scenes? Add(/*CharacterPalette = */new TI.Block<character_palette_block>(this, 64)); Add(TI.UnknownPad.BlockHalo3); // tag block [0x?] Add(TI.UnknownPad.BlockHalo3); // tag block [0x6C] // tag block [0x?] // tag block [0x?] // tag block [0x?] // tag block [0x?] // tag block [0x?] // tag block [0x?] // tag block [0x?] // tag block [0x?] // tag block [0x?] Add(TI.UnknownPad.BlockHalo3); // tag block [0x?] // unknown [0x54] // tag block [0x?] // tag block [0xC] #region scripting and cinematics Add(HsStringData = new TI.Data(this)); // 0x3E0, NOTE: memory region 3 Add(HsScripts = new TI.Block<hs_scripts_block>(this, 1024)); Add(HsGlobals = new TI.Block<hs_globals_block>(this, 256)); Add(References = new TI.Block<hs_references_block>(this, 512)); Add(SourceFiles = new TI.Block<H2.hs_source_files_block>(this, 8)); Add(ScriptingData = new TI.Block<H2.cs_script_data_block>(this, 1)); 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, 128)); Add(CustomObjectNames = new TI.TagReference(this, TagGroups.unic)); Add(ChapterTitleText = new TI.TagReference(this, TagGroups.unic)); Add(ScenarioResources = new TI.Block<scenario_resources_block>(this, 1)); Add(HsUnitSeats = new TI.Block<hs_unit_seat_block>(this, 65536)); Add(TI.UnknownPad.BlockHalo3); // tag block [0x2] Add(ScenarioKillTriggers = new TI.Block<scenario_kill_trigger_volumes_block>(this, 256)); // 0x498 Add(HsScriptDatums = new TI.Block<syntax_datum_block>(this, 36864)); #endregion Add(TI.UnknownPad.BlockHalo3); // tag block [0x?] Orders Add(TI.UnknownPad.BlockHalo3); // tag block [0x?] Triggers Add(/*BackgroundSoundPalette = */new TI.Block<structure_bsp_background_sound_palette_block>(this, 64)); Add(TI.UnknownPad.BlockHalo3); // tag block [0x?] SoundEnvironmentPalette Add(TI.UnknownPad.BlockHalo3); // tag block [0x?] WeatherPalette Add(TI.UnknownPad.BlockHalo3); // tag block [0x?]? version_construct_add_unnamed_null_blocks(); Add(/*ScenarioClusterData = */new TI.Block<scenario_cluster_data_block>(this, 16)); Add(TI.UnknownPad.BlockHalo3); // tag block [0x?]? version_construct_add_unnamed_array(); Add(/*SpawnData = */new TI.Block<scenario_spawn_data_block>(this, 1)); Add(/*SoundEffectCollection = */new TI.TagReference(this, TagGroups.sfx_)); Add(TI.UnknownPad.BlockHalo3); // tag block [0xB0] Crates Add(/*CratesPalette = */new TI.Block<scenario_crate_palette_block>(this, 256)); Add(TI.UnknownPad.BlockHalo3); // tag block [0x10] Flocks palette // tag reference Add(TI.UnknownPad.BlockHalo3); // tag block [0x48] Flocks Add(/*Subtitles = */new TI.TagReference(this, TagGroups.unic)); Add(TI.UnknownPad.BlockHalo3); // tag block [0x?] Creatures Add(/*CreaturesPalette = */new TI.Block<scenario_creature_palette_block>(this, 256)); Add(/*EditorFolders = */new TI.Block<g_scenario_editor_folder_block>(this, 32767)); Add(/*TerritoryLocationNames = */new TI.TagReference(this, TagGroups.unic)); Add(new TI.Pad(8)); Add(TI.UnknownPad.BlockHalo3); // tag block [0x?] MissionDialogue Add(/*Objectives = */new TI.TagReference(this, TagGroups.unic)); Add(TI.UnknownPad.BlockHalo3); // tag block [0x?] Interpolators Add(TI.UnknownPad.BlockHalo3); // tag block [0x?] SharedReferences Add(TI.UnknownPad.BlockHalo3); // tag block [0x?] ScreenEffectReferences Add(/*SimulationDefinitionTable = */new TI.Block<scenario_simulation_definition_table_block>(this, 0/*512*/)); // 0x6A4, 512 is no longer the maximum (i'm willing to bet // everything after was added during halo3 Add(/*Camere fx settings = */new TI.TagReference(this, TagGroups.cfxs)); Add(/*? = */new TI.TagReference(this, TagGroups.sefc)); Add(/*sky parameters= */new TI.TagReference(this, TagGroups.skya)); Add(/*GlobalLighting = */new TI.TagReference(this, TagGroups.chmt)); Add(/*lightmap = */new TI.TagReference(this, TagGroups.sLdT)); Add(/*performance throttles = */new TI.TagReference(this, TagGroups.perf)); Add(TI.UnknownPad.BlockHalo3); // tag block [0x?]? Add(TI.UnknownPad.BlockHalo3); // tag block [0x?]? Add(TI.UnknownPad.BlockHalo3); // tag block [0x?]? Add(TI.UnknownPad.BlockHalo3); // tag block [0x?] Add(TI.UnknownPad.BlockHalo3); // tag block [0x?]? Add(TI.UnknownPad.BlockHalo3); // tag block [0x?]? Add(TI.UnknownPad.BlockHalo3); // tag block [0x?]? Add(TI.UnknownPad.BlockHalo3); // tag block [0x?]? Add(TI.UnknownPad.BlockHalo3); // tag block [0x?]? Add(TI.UnknownPad.BlockHalo3); // tag block [0x?] Add(TI.UnknownPad.BlockHalo3); // tag block [0x10] // real point 3d // short (index?) // or string id... // short (index?) Add(TI.UnknownPad.BlockHalo3); // tag block [0x?]? Add(TI.UnknownPad.BlockHalo3); // tag block [0x?] (maybe 0x10) // real point 3d // string id Add(TI.UnknownPad.BlockHalo3); // tag block [0x?]? }
public recorded_animation_block() : base(8) { Add(Name = new TI.String()); Add(Version = new TI.ByteInteger()); Add(RawAnimationData = new TI.ByteInteger()); Add(UnitControlDataVersion = new TI.ByteInteger()); Add(new TI.Pad(1)); Add(LengthOfAnimation = new TI.ShortInteger()); Add(new TI.Pad(2 + 4)); Add(EventStream = new TI.Data(this)); }
public s_tag_d3d_index_buffer() : base(2) { Add(Unknown = new TI.LongInteger()); Add(IndexBuffer = new TI.Data(this)); }
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)); }
public animation_pool_block() : base(29) { Add(Name = new TI.StringId()); Add(NodeListChecksum = new TI.LongInteger()); Add(ProductionChecksum = new TI.LongInteger()); Add(ImportChecksum = new TI.LongInteger()); Add(Type = new TI.Enum(TI.FieldType.ByteEnum)); Add(FrameInfoType = new TI.Enum(TI.FieldType.ByteEnum)); Add(BlendScreen = new TI.BlockIndex(TI.FieldType.ByteBlockIndex)); // 1 animation_blend_screen_block Add(NodeCount = new TI.ByteInteger()); Add(FrameCount = new TI.ShortInteger()); Add(InternalFlags = new TI.Flags(TI.FieldType.ByteFlags)); Add(ProductionFlags = new TI.Flags(TI.FieldType.ByteFlags)); Add(PlaybackFlags = new TI.Flags(TI.FieldType.WordFlags)); Add(DesiredCompression = new TI.Enum(TI.FieldType.ByteEnum)); Add(CurrentCompression = new TI.Enum(TI.FieldType.ByteEnum)); Add(Weight = new TI.Real()); AddXbox(ParentGraphIndex = new TI.LongInteger()); AddXbox(ParentGraphBlockIndex = new TI.LongInteger()); AddXbox(ParentGraphBlockOffset = new TI.LongInteger()); AddXbox(ParentGraphStartingPoint = new TI.ShortInteger()); Add(LoopFrameIndex = new TI.ShortInteger()); Add(ParentAnimation = new TI.BlockIndex()); // 1 animation_pool_block Add(NextAnimation = new TI.BlockIndex()); // 1 animation_pool_block AddPc(new TI.Pad(2)); Add(AnimationData = new TI.Data(this)); Add(DataSizes = new TI.Struct<packed_data_sizes_struct>(this)); Add(/*frame events = */ new TI.Block<animation_frame_event_block>(this, 512)); Add(/*sound events = */ new TI.Block<animation_sound_event_block>(this, 512)); Add(/*effect events = */ new TI.Block<animation_effect_event_block>(this, 512)); Add(/*object-space parent nodes = */ new TI.Block<object_space_node_data_block>(this, 255)); }
public sound_encoded_dialogue_section_block() : base(2) { Add(EncodedData = new TI.Data(this)); Add(SoundDialogueInfo = new TI.Block<sound_permutation_dialogue_info_block>(this, 288)); }
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 sound_resource_definition() : base(1) { Add(Data = new TI.Data(this, TI.DataType.Sound)); }
public global_geometry_point_data_struct() : base(4) { Add(RawPoints = new TI.Block<global_geometry_raw_point_block>(this, 32767)); Add(RuntimePointData = new TI.Data(this)); Add(RigidPointGroups = new TI.Block<global_geometry_rigid_point_group_block>(this, 32767)); Add(VertexPointIndices = new TI.Block<global_geometry_point_data_index_block>(this, 32767)); }
public sound_encoded_dialogue_section_block() : base(2) { Add(EncodedData = new TI.Data(this)); Add(SoundDialogueInfo = new TI.Block <sound_permutation_dialogue_info_block>(this, 288)); }
public font_group() : base(13) { Add(Flags = new TI.Flags()); Add(AscendingHeight = new TI.ShortInteger()); Add(DecendingHeight = new TI.ShortInteger()); Add(LeadingHeight = new TI.ShortInteger()); Add(LeadinWidth = new TI.ShortInteger()); Add(new TI.Pad(36)); Add(CharacterTables = new TI.Block<font_character_tables_block>(this, 256)); Add(Bold = new TI.TagReference(this, TagGroups.font)); Add(Italic = new TI.TagReference(this, TagGroups.font)); Add(Condense = new TI.TagReference(this, TagGroups.font)); Add(Underline = new TI.TagReference(this, TagGroups.font)); Add(Characters = new TI.Block<character_block>(this, 20000)); Add(Pixels = new TI.Data(this)); }
private void version1_construct() { #region misc Add(DontUse = new TI.TagReference(this, TagGroups.sbsp)); Add(/*Will not use.*/ new TI.TagReference(this, TagGroups.sbsp)); Add(/*Cannot use.*/ new TI.TagReference(this, TagGroups.sky_)); Add(Skies = new TI.Block<scenario_sky_reference_block>(this, 32)); Add(Type = new TI.Enum()); Add(Flags = new TI.Flags(TI.FieldType.WordFlags)); Add(ChildScenarios = new TI.Block<scenario_child_scenario_block>(this, 16)); Add(LocalNorth = new TI.Real(TI.FieldType.Angle)); Add(new TI.Pad(20 + 136)); Add(PredictedResources = new TI.Block<predicted_resource_block>(this, 2048)); Add(Functions = new TI.Block<scenario_function_block>(this, 32)); Add(EditorScenarioData = new TI.Data(this)); Add(Comments = new TI.Block<editor_comment_block>(this, 65536)); #endregion #region scenario objects Add(DontUseObjects = new TI.Block<dont_use_me_scenario_environment_object_block>(this, 4096)); Add(new TI.Pad(212)); version_construct_add_scenario_object_blocks(); Add(new TI.Pad(60)); #endregion Add(PlayerStartingProfile = new TI.Block<scenario_profiles_block>(this, 256)); Add(PlayerStartingLocations = new TI.Block<scenario_players_block>(this, 256)); Add(KillTriggerVolumes = 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_netpoints_block>(this, 200)); Add(NetgameEquipment = new TI.Block<scenario_netgame_equipment_block>(this, 100)); 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(DecalsPalette = new TI.Block<scenario_decal_palette_block>(this, 128)); Add(DetailObjectCollectionPalette = new TI.Block<scenario_detail_object_collection_palette_block>(this, 32)); Add(new TI.Pad(36)); #region scenario ai Add(StylePalette = new TI.Block<style_palette_block>(this, 50)); Add(SquadGroups = new TI.Block<squad_groups_block>(this, 100)); Add(Squads = new TI.Block<squads_block>(this, 335)); Add(Zones = new TI.Block<zone_block>(this, 128)); Add(TI.Pad.BlockHalo1); // actor_palette_block //Add(MissionScenes = new TI.Block<ai_scene_block>(this, 100)); Add(CharacterPalette = new TI.Block<character_palette_block>(this, 64)); Add(AIPathfindingData = new TI.Block<pathfinding_data_block>(this, 16)); 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(AIConversations = new TI.Block<ai_conversation_block>(this, 128)); #endregion #region scripting and cinematics Add(HsSyntaxData = new TI.Data(this)); Add(HsStringData = new TI.Data(this)); Add(HsScripts = new TI.Block<hs_scripts_block>(this, 1024)); Add(HsGlobals = new TI.Block<hs_globals_block>(this, 256)); Add(References = new TI.Block<hs_references_block>(this, 512)); Add(SourceFiles = new TI.Block<hs_source_files_block>(this, 8)); Add(ScriptingData = new TI.Block<cs_script_data_block>(this, 1)); Add(new TI.Pad(12)); 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, 128)); Add(new TI.Pad(108)); Add(CustomObjectNames = new TI.TagReference(this, TagGroups.unic)); //Add(ChapterTitleText = new TI.TagReference(this, TagGroups.unic)); #endregion Add(/*In-Game Help Text*/ new TI.TagReference(this, TagGroups.unic)); Add(HUDMessages = new TI.TagReference(this, TagGroups.hmt_)); Add(StructureBsps = new TI.Block<scenario_structure_bsp_reference_block>(this, 16)); //SceneryPalette.Definition.Name.ResetReferenceGroupTag(TagGroups.scen); //BipedsPalette.Definition.Name.ResetReferenceGroupTag(TagGroups.bipd); //VehiclePalette.Definition.Name.ResetReferenceGroupTag(TagGroups.vehi); //EquipmentPalette.Definition.Name.ResetReferenceGroupTag(TagGroups.eqip); //WeaponPalette.Definition.Name.ResetReferenceGroupTag(TagGroups.weap); //MachinePalette.Definition.Name.ResetReferenceGroupTag(TagGroups.mach); //ControlPalette.Definition.Name.ResetReferenceGroupTag(TagGroups.ctrl); //LightFixturesPalette.Definition.Name.ResetReferenceGroupTag(TagGroups.lifi); }
private void version1_construct() { Add(Resources = new TI.Struct<animation_graph_resources_struct>(this)); Add(Content = new TI.Struct<animation_graph_contents_struct>(this)); Add(RuntimeData = new TI.Struct<model_animation_runtime_data_struct>(this)); Add(LastImportResults = new TI.Data(this)); Add(AdditionalNodeData = new TI.Block<additional_node_data_block>(this, 255)); }
public void version_construct(BlamVersion engine) { bool is_alpha = engine == BlamVersion.Halo2_Alpha; #region misc Add(DontUse = new TI.TagReference(this, TagGroups.sbsp)); Add(Skies = new TI.Block<scenario_sky_reference_block>(this, 32)); Add(Type = new TI.Enum()); Add(Flags = new TI.Flags(TI.FieldType.WordFlags)); Add(ChildScenarios = new TI.Block<scenario_child_scenario_block>(this, 16)); Add(LocalNorth = new TI.Real(TI.FieldType.Angle)); Add(PredictedResources = new TI.Block<predicted_resource_block>(this, 2048)); Add(Functions = new TI.Block<scenario_function_block>(this, 32)); Add(EditorScenarioData = new TI.Data(this)); Add(Comments = new TI.Block<editor_comment_block>(this, 65536)); #endregion #region scenario objects Add(DontUseObjects = new TI.Block<dont_use_me_scenario_environment_object_block>(this, 4096)); version_construct_add_scenario_object_blocks(); #endregion Add(PlayerStartingProfile = new TI.Block<scenario_profiles_block>(this, 256)); Add(PlayerStartingLocations = new TI.Block<scenario_players_block>(this, 256)); Add(KillTriggerVolumes = 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_netpoints_block>(this, 200)); Add(NetgameEquipment = new TI.Block<scenario_netgame_equipment_block>(this, 100)); 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(DecalsPalette = new TI.Block<scenario_decal_palette_block>(this, 128)); Add(DetailObjectCollectionPalette = new TI.Block<scenario_detail_object_collection_palette_block>(this, 32)); #region scenario ai Add(StylePalette = new TI.Block<style_palette_block>(this, 50)); Add(SquadGroups = new TI.Block<squad_groups_block>(this, 100)); Add(Squads = new TI.Block<squads_block>(this, 335)); Add(Zones = new TI.Block<zone_block>(this, 128)); Add(MissionScenes = new TI.Block<ai_scene_block>(this, 100)); Add(CharacterPalette = new TI.Block<character_palette_block>(this, 64)); Add(AIPathfindingData = new TI.Block<pathfinding_data_block>(this, 16)); 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(AIConversations = new TI.Block<ai_conversation_block>(this, 128)); #endregion #region scripting and cinematics Add(HsSyntaxData = new TI.Data(this)); Add(HsStringData = new TI.Data(this)); Add(HsScripts = new TI.Block<hs_scripts_block>(this, 1024)); Add(HsGlobals = new TI.Block<hs_globals_block>(this, 256)); Add(References = new TI.Block<hs_references_block>(this, 512)); Add(SourceFiles = new TI.Block<hs_source_files_block>(this, 8)); Add(ScriptingData = new TI.Block<cs_script_data_block>(this, 1)); 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, 128)); Add(CustomObjectNames = new TI.TagReference(this, TagGroups.unic)); Add(ChapterTitleText = new TI.TagReference(this, TagGroups.unic)); #endregion Add(HUDMessages = new TI.TagReference(this, TagGroups.hmt_)); Add(StructureBsps = new TI.Block<scenario_structure_bsp_reference_block>(this, 16)); Add(ScenarioResources = new TI.Block<scenario_resources_block>(this, 1)); Add(ScenarioResourcesUnused = new TI.Block<old_unused_strucure_physics_block>(this, 16)); Add(HsUnitSeats = new TI.Block<hs_unit_seat_block>(this, 65536)); Add(ScenarioKillTriggers = new TI.Block<scenario_kill_trigger_volumes_block>(this, 256)); Add(HsScriptDatums = new TI.Block<syntax_datum_block>(this, 36864)); Add(Orders = new TI.Block<orders_block>(this, 300)); Add(Triggers = new TI.Block<triggers_block>(this, 256)); 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(WeatherPalette = new TI.Block<structure_bsp_weather_palette_block>(this, 32)); version_construct_add_unnamed_null_blocks(); Add(ScenarioClusterData = new TI.Block<scenario_cluster_data_block>(this, 16)); version_construct_add_unnamed_array(); Add(SpawnData = new TI.Block<scenario_spawn_data_block>(this, 1)); Add(SoundEffectCollection = new TI.TagReference(this, TagGroups.sfx_)); Add(Crates = new TI.Block<scenario_crate_block>(this, 1024)); Add(CratesPalette = new TI.Block<scenario_object_palette_block>(this, 256)); Add(GlobalLighting = new TI.TagReference(this, TagGroups.gldf)); Add(AtmosphericFogPalette = new TI.Block<scenario_atmospheric_fog_palette>(this, 127)); Add(PlanarFogPalette = new TI.Block<scenario_planar_fog_palette>(this, 127)); Add(Flocks = new TI.Block<flock_definition_block>(this, 20)); Add(Subtitles = new TI.TagReference(this, TagGroups.unic)); Add(Decorators = new TI.Block<decorator_placement_definition_block>(this, 1)); Add(Creatures = new TI.Block<scenario_creature_block>(this, 128)); Add(CreaturesPalette = new TI.Block<scenario_object_palette_block>(this, 256)); Add(DecoratorsPalette = new TI.Block<scenario_decorator_set_palette_entry_block>(this, 32)); Add(BspTransitionVolumes = new TI.Block<scenario_bsp_switch_transition_volume_block>(this, 256)); Add(StructureBspLighting = new TI.Block<scenario_structure_bsp_spherical_harmonic_lighting_block>(this, 16)); Add(EditorFolders = new TI.Block<g_scenario_editor_folder_block>(this, 32767)); Add(LevelData = new TI.Block<scenario_level_data_block>(this, 1)); Add(TerritoryLocationNames = new TI.TagReference(this, TagGroups.unic)); Add(new TI.Pad(8)); Add(MissionDialogue = new TI.Block<ai_scenario_mission_dialogue_block>(this, 1)); Add(Objectives = new TI.TagReference(this, TagGroups.unic)); if (!is_alpha) { Add(Interpolators = new TI.Block<scenario_interpolator_block>(this, 16)); Add(SharedReferences = new TI.Block<hs_references_block>(this, 512)); Add(ScreenEffectReferences = new TI.Block<scenario_screen_effect_reference_block>(this, 16)); Add(SimulationDefinitionTable = new TI.Block<scenario_simulation_definition_table_block>(this, 512)); } //SceneryPalette.Definition.Name.ResetReferenceGroupTag(TagGroups.scen); //BipedsPalette.Definition.Name.ResetReferenceGroupTag(TagGroups.bipd); //VehiclePalette.Definition.Name.ResetReferenceGroupTag(TagGroups.vehi); //EquipmentPalette.Definition.Name.ResetReferenceGroupTag(TagGroups.eqip); //WeaponPalette.Definition.Name.ResetReferenceGroupTag(TagGroups.weap); //MachinePalette.Definition.Name.ResetReferenceGroupTag(TagGroups.mach); //ControlPalette.Definition.Name.ResetReferenceGroupTag(TagGroups.ctrl); //LightFixturesPalette.Definition.Name.ResetReferenceGroupTag(TagGroups.lifi); //LightVolumesPalette.Definition.Name.ResetReferenceGroupTag(TagGroups.ligh); //CratesPalette.Definition.Name.ResetReferenceGroupTag(TagGroups.bloc); //CreaturesPalette.Definition.Name.ResetReferenceGroupTag(TagGroups.crea); }
public mapping_function() { Add(Data = new TI.Data(this)); }
void upgrade_build_version2_layout() { Add(Parts); Add(Subparts); Add(VisibilityBounds = new TI.Block<global_visibility_bounds_block>(this, 32768)); Add(RawVertices); Add(StripIndices); Add(VisibilityMoppCode = new TI.Data(this)); Add(MoppReorderTable = new TI.Block<global_geometry_section_strip_index_block>(this, 65535)); Add(VertexBuffers); Add(TI.Pad.DWord); }
public scenario_group() { Add(Type = new TI.Enum()); Add(Flags = TI.Flags.Word); Add(TI.UnknownPad.DWord); Add(/*map id = */ MapId.SkipField); // id used for mapinfo files Add(new TI.Skip(4)); Add(new TI.UnknownPad(4 + 4)); Add(/*LocalNorth =*/ new TI.Real(TI.FieldType.Angle)); Add(new TI.UnknownPad(20)); Add(/*SandboxBuget =*/ new TI.Real()); Add(TI.UnknownPad.DWord); Add(/*performance throttle = */ new TI.TagReference(this, TagGroups.gptd)); Add(TI.UnknownPad.BlockHalo3); // tag block [0xAC] StructureBsps Add(TI.UnknownPad.BlockHalo3); // tag block [0x20] structure designs // tag reference [sddt] // tag reference [????] Add(TI.UnknownPad.ReferenceHalo3); Add(TI.UnknownPad.ReferenceHalo3); Add(TI.UnknownPad.BlockHalo3); // tag block [0x30] Skies // tag reference [scen] (sky) // unknown 0xC bytes (tag block?) // tag reference [????] // short // short // TOOD: finish up from here Add(new TI.UnknownPad(0x3A0)); #region scripting and cinematics Add(HsStringData = new TI.Data(this)); // 0x430, NOTE: stored in memory region 3 Add(HsScripts = new TI.Block <hs_scripts_block>(this, 1024)); Add(HsGlobals = new TI.Block <H3.hs_globals_block>(this, 256)); Add(/*References =*/ new TI.Block <H3.hs_references_block>(this, 512)); Add(/*SourceFiles =*/ new TI.Block <H2.hs_source_files_block>(this, 8)); Add(/*ScriptingData =*/ new TI.Block <cs_script_data_block>(this, 1)); Add(/*CutsceneFlags =*/ new TI.Block <H3.scenario_cutscene_flag_block>(this, 512)); Add(/*CutsceneCameraPoints =*/ new TI.Block <H3.scenario_cutscene_camera_point_block>(this, 512)); Add(/*CutsceneTitles =*/ new TI.Block <scenario_cutscene_title_block>(this, 128)); // 0x4A4 Add(/*CustomObjectNames =*/ new TI.TagReference(this, TagGroups.unic)); Add(/*ChapterTitleText =*/ new TI.TagReference(this, TagGroups.unic)); Add(/*ScenarioResources =*/ new TI.Block <H3.scenario_resources_block>(this, 1)); Add(/*HsUnitSeats =*/ new TI.Block <hs_unit_seat_block>(this, 65536)); Add(TI.UnknownPad.BlockHalo3); // tag block [0x4] // short // short Add(TI.UnknownPad.BlockHalo3); // tag block [0x?]? // 0x4F4 Add(TI.UnknownPad.BlockHalo3); // tag block [0x30] this is physics related ata // dword // tag block H3.mopp_code_block // dword // tag_reference? // real? // real // real Add(TI.UnknownPad.BlockHalo3); // tag block [0x?]? Add(TI.UnknownPad.BlockHalo3); // tag block [0x?]? Add(/*HsScriptDatums =*/ new TI.Block <H3.syntax_datum_block>(this, 0)); #endregion Add(TI.UnknownPad.BlockHalo3); // tag block [0x?] Orders Add(TI.UnknownPad.BlockHalo3); // tag block [0x?] Triggers Add(TI.UnknownPad.BlockHalo3); // tag block [0x?] BackgroundSoundPalette Add(TI.UnknownPad.BlockHalo3); // tag block [0x?] SoundEnvironmentPalette Add(TI.UnknownPad.BlockHalo3); // tag block [0x?] WeatherPalette Add(TI.UnknownPad.BlockHalo3); // tag block [0x?]? Add(TI.UnknownPad.BlockHalo3); // tag block [0x54] ScenarioClusterData // this is scenario_cluster_data_block but with an extra dword of data right after the tag reference version_construct_add_unnamed_array(); Add(TI.UnknownPad.BlockHalo3); // SpawnData? // 0x604 Add(/*SoundEffectCollection = */ new TI.TagReference(this, TagGroups.sfx_)); Add(TI.UnknownPad.BlockHalo3); // tag block [0xD8] Crates Add(/*CratesPalette = */ new TI.Block <H3.scenario_crate_palette_block>(this, 256)); Add(TI.UnknownPad.BlockHalo3); // tag block [0x10] Flocks palette // tag reference Add(TI.UnknownPad.BlockHalo3); // tag block [0x?] Flocks Add(/*Subtitles = */ new TI.TagReference(this, TagGroups.unic)); // Creatures & CreaturesPalette should be in one of these blocks Add(TI.UnknownPad.BlockHalo3); Add(TI.UnknownPad.BlockHalo3); Add(TI.UnknownPad.BlockHalo3); Add(/*EditorFolders = */ new TI.Block <H3.g_scenario_editor_folder_block>(this, 32767)); Add(/*TerritoryLocationNames = */ new TI.TagReference(this, TagGroups.unic)); Add(new TI.Pad(8)); Add(TI.UnknownPad.BlockHalo3); // tag block [0x?] MissionDialogue Add(/*Objectives = */ new TI.TagReference(this, TagGroups.unic)); Add(/*? = */ new TI.TagReference(this, TagGroups.sirp)); Add(TI.UnknownPad.BlockHalo3); // tag block [0x?]? Add(/*Camere fx settings = */ new TI.TagReference(this, TagGroups.cfxs)); Add(/*? = */ new TI.TagReference(this, TagGroups.sefc)); Add(/*? = */ new TI.TagReference(this, TagGroups.ssao)); Add(/*sky parameters= */ new TI.TagReference(this, TagGroups.skya)); Add(/*atmosphere globals = */ new TI.TagReference(this, TagGroups.atgf)); Add(/*GlobalLighting = */ new TI.TagReference(this, TagGroups.chmt)); Add(/*lightmap = */ new TI.TagReference(this, TagGroups.sLdT)); Add(/*performance throttles = */ new TI.TagReference(this, TagGroups.perf)); Add(TI.UnknownPad.BlockHalo3); // tag block [0x?] Add(TI.UnknownPad.BlockHalo3); // tag block [0x?] Add(TI.UnknownPad.BlockHalo3); // tag block [0x?] Add(TI.UnknownPad.BlockHalo3); // tag block [0x?] Add(TI.UnknownPad.BlockHalo3); // tag block [0x?]? Add(TI.UnknownPad.BlockHalo3); // tag block [0x?]? Add(TI.UnknownPad.BlockHalo3); // tag block [0x?]? Add(TI.UnknownPad.BlockHalo3); // tag block [0x?] Add(TI.UnknownPad.BlockHalo3); // tag block [0x?]? Add(TI.UnknownPad.BlockHalo3); // tag block [0x?]? Add(TI.UnknownPad.BlockHalo3); // tag block [0x?] Add(TI.UnknownPad.BlockHalo3); // tag block [0x?] Add(TI.UnknownPad.BlockHalo3); // tag block [0x?] Add(TI.UnknownPad.BlockHalo3); // tag block [0x?]? Add(TI.UnknownPad.BlockHalo3); // tag block [0x?]? Add(TI.UnknownPad.BlockHalo3); // tag block [0x?]? Add(TI.UnknownPad.BlockHalo3); // tag block [0x?] Add(TI.UnknownPad.ReferenceHalo3); Add(TI.UnknownPad.BlockHalo3); // tag block [0x?] Add(TI.UnknownPad.ReferenceHalo3); Add(TI.UnknownPad.ReferenceHalo3); Add(TI.UnknownPad.ReferenceHalo3); }
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 physics_model_group() : base(34) { Add(/*flags = */ new TI.Flags()); Add(/*mass = */ new TI.Real()); Add(/*low freq. deactivation scale = */ new TI.Real()); Add(/*high freq. deactivation scale = */ new TI.Real()); Add(new TI.Pad(24)); Add(/*phantom types = */ new TI.Block<phantom_types_block>(this, 16)); Add(/*node edges = */ new TI.Block<physics_model_node_constraint_edge_block>(this, 4096)); Add(RigidBodies = new TI.Block<rigid_bodies_block>(this, 64)); Add(Materials = new TI.Block<materials_block>(this, 64)); Add(Spheres = new TI.Block<spheres_block>(this, 1024)); Add(MultiSpheres = new TI.Block<multi_spheres_block>(this, 1024)); Add(Pills = new TI.Block<pills_block>(this, 1024)); Add(Boxes = new TI.Block<boxes_block>(this, 1024)); Add(Triangles = new TI.Block<triangles_block>(this, 1024)); Add(Polyhedra = new TI.Block<polyhedra_block>(this, 1024)); Add(PolyhedraFourVectors = new TI.Block<polyhedron_four_vectors_block>(this, 4096)); Add(PolyhedraPlaneEquations = new TI.Block<polyhedron_plane_equations_block>(this, 1024)); Add(MassDistributions = new TI.Block<mass_distributions_block>(this, 256)); Add(Lists = new TI.Block<lists_block>(this, 64)); Add(ListShapes = new TI.Block<list_shapes_block>(this, 256)); Add(Mopps = new TI.Block<mopps_block>(this, 64)); Add(MoppCodes = new TI.Data(this)); Add(/*hinge constraints = */ new TI.Block<hinge_constraints_block>(this, 64)); Add(/*ragdoll constraints = */ new TI.Block<ragdoll_constraints_block>(this, 64)); Add(/*regions = */ new TI.Block<regions_block>(this, 16)); Add(/*nodes = */ new TI.Block<nodes_block>(this, 255)); Add(ImportInfo = new TI.Block<global_tag_import_info_block>(this, 1)); Add(Errors = new TI.Block<global_error_report_categories_block>(this, 64)); Add(/*point to path curves = */ new TI.Block<point_to_path_curve_block>(this, 64)); Add(/*limited hinge constraints = */ new TI.Block<limited_hinge_constraints_block>(this, 64)); Add(/*ball and socket constraints = */ new TI.Block<ball_and_socket_constraints_block>(this, 64)); Add(/*stiff spring constraints = */ new TI.Block<stiff_spring_constraints_block>(this, 64)); Add(/*prismatic constraints = */ new TI.Block<prismatic_constraints_block>(this, 64)); Add(Phantoms = new TI.Block<phantoms_block>(this, 1024)); }
public sound_permutation_raw_info_block() : base(8) { Add(SkipFractionName = new TI.StringId()); Add(Samples = new TI.Data(this)); Add(MouthData = new TI.Data(this)); Add(LipsyncData = new TI.Data(this)); Add(Markers = new TI.Block<sound_permutation_marker_block>(this, 65535)); Add(Compression = new TI.Enum()); Add(Language = new TI.Enum(TI.FieldType.ByteEnum)); Add(TI.Pad.Byte); }
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 hs_source_files_block() : base(2) { Add(Name = new TI.String()); Add(Source = new TI.Data(this)); }
public multilingual_unicode_string_list_group() : base(11) { Add(StringRefs = new TI.Block<multilingual_unicode_string_reference_block>(this, 9216)); Add(StringData = new TI.Data(this)); LanguageHandles = new TI.LongInteger[(int)LanguageType.kMax]; for (int x = 0; x < LanguageHandles.Length; x++) Add(LanguageHandles[x] = new TI.LongInteger()); // Alpha layout (stored in the actual tag data)): // tag block [languages] // tag block [strings] // string id [name] // tag data [string data] }
public editor_comment_block() : base(3) { Add(Position = new TI.RealPoint3D()); Add(TI.Pad.ReferenceHalo1); Add(Comment = new TI.Data(this)); }
public scenario_group() { Add(Type = new TI.Enum()); Add(Flags = TI.Flags.Word); Add(/*map id = */ MapId.SkipField); // id used for mapinfo files Add(new TI.Skip(4)); Add(SandboxBuget = new TI.Real()); Add(StructureBsps = new TI.Block <H3.scenario_structure_bsp_reference_block>(this, 16)); // ODST: Add(ScenarioPda = new BlamLib.TagInterface.TagReference(this, TagGroups.spda)); Add(TI.UnknownPad.BlockHalo3); // tag block [0x?] Add(/*DontUse = */ new TI.TagReference(this, Halo3.TagGroups.sbsp)); // Its a tag reference here, but IDK if its for THIS exactly... Add(Skies = new TI.Block <H3.scenario_sky_reference_block>(this, 32)); Add(TI.UnknownPad.BlockHalo3); // tag block [0x2C], see Halo3 Add(TI.UnknownPad.BlockHalo3); // tag block [0x64], see Halo3 Add(TI.UnknownPad.BlockHalo3); // tag block [0x24], see Halo3 Add(TI.UnknownPad.BlockHalo3); // tag block [0xC], see Halo3 // ODST: Add(TI.UnknownPad.BlockHalo3); // tag block [0x4], campaign players // string id [player model name] // player #<element_index> uses this player model Add(new TI.UnknownPad(0x44)); // unknown [0x44] #region scenario objects Add(ObjectNames = new TI.Block <H3.scenario_object_names_block>(this, 0)); // I'm sure the max is now over 640... Add(TI.UnknownPad.BlockHalo3); // tag block [0xB4] Scenery Add(SceneryPalette = new TI.Block <H3.scenario_scenery_palette_block>(this, 0)); // I'm sure the max is now over 256... Add(TI.UnknownPad.BlockHalo3); // tag block [0x74] Bipeds Add(BipedsPalette = new TI.Block <H3.scenario_biped_palette_block>(this, 0)); // '' Add(TI.UnknownPad.BlockHalo3); // tag block [0xA8] Vehicles Add(VehiclePalette = new TI.Block <H3.scenario_vehicle_palette_block>(this, 0)); // '' Add(TI.UnknownPad.BlockHalo3); // tag block [0x8C] Equipment Add(EquipmentPalette = new TI.Block <H3.scenario_equipment_palette_block>(this, 0)); // '' Add(TI.UnknownPad.BlockHalo3); // tag block [0xA8] Weapons Add(WeaponPalette = new TI.Block <H3.scenario_weapon_palette_block>(this, 0)); // '' Add(TI.UnknownPad.BlockHalo3); // tag block [0x28] Device groups Add(TI.UnknownPad.BlockHalo3); // tag block [0x88] Machines Add(MachinePalette = new TI.Block <H3.scenario_machine_palette_block>(this, 0)); // '' Add(TI.UnknownPad.BlockHalo3); // tag block [0x78] Terminals Add(TerminalPalette = new TI.Block <H3.scenario_terminal_palette_block>(this, 0)); // '' // ODST: Add(TI.UnknownPad.BlockHalo3); // tag block [0xB8] Arg Devices Add(ArgDevicesPalette = new TI.Block <scenario_arg_device_palette_block>(this, 0)); // '' Add(TI.UnknownPad.BlockHalo3); // tag block [0x7C] Controls Add(ControlPalette = new TI.Block <H3.scenario_control_palette_block>(this, 0)); // '' Add(TI.UnknownPad.BlockHalo3); // tag block [0x70] Sound Scenery Add(SoundSceneryPalette = new TI.Block <H3.scenario_sound_scenery_palette_block>(this, 0)); // '' Add(TI.UnknownPad.BlockHalo3); // tag block [0x84] Giants Add(GiantsPalette = new TI.Block <H3.scenario_giant_palette_block>(this, 0)); // '' Add(TI.UnknownPad.BlockHalo3); // tag block [0x54] Effect Scenery Add(EffectSceneryPalette = new TI.Block <H3.scenario_effect_scenery_palette_block>(this, 0)); // '' Add(TI.UnknownPad.BlockHalo3); // tag block [0x70] Light Volumes Add(LightVolumesPalette = new TI.Block <H3.scenario_light_palette_block>(this, 0)); // '' #endregion Add(/*Sandbox vehicles = */ new TI.Block <H3.scenario_sandbox_vehicle_settings_block>(this, 0)); // 0x228 Add(/*Sandbox weapons = */ new TI.Block <H3.scenario_sandbox_weapon_settings_block>(this, 0)); Add(/*Sandbox equipment = */ new TI.Block <H3.scenario_sandbox_equipment_settings_block>(this, 0)); Add(/*Sandbox scenery = */ new TI.Block <H3.scenario_sandbox_scenery_settings_block>(this, 0)); Add(/*Sandbox teleporters = */ new TI.Block <H3.scenario_sandbox_teleporter_settings_block>(this, 0)); Add(/*Sandbox netgame flags = */ new TI.Block <H3.scenario_sandbox_netpoint_settings_block>(this, 0)); Add(/*Sandbox spawns = */ new TI.Block <H3.scenario_sandbox_spawn_settings_block>(this, 0)); Add(TI.UnknownPad.BlockHalo3); // 0x27C tag block [0xC], see Halo3 Add(/*PlayerStartingProfile = */ new TI.Block <H3.scenario_group.scenario_profiles_block>(this, 256)); Add(/*PlayerStartingLocations = */ new TI.Block <H3.scenario_group.scenario_players_block>(this, 256)); Add(/*KillTriggerVolumes = */ new TI.Block <H3.scenario_trigger_volume_block>(this, 256)); // 0x260 Add(TI.UnknownPad.BlockHalo3); // tag block [0x?] // recorded animations? Add(TI.UnknownPad.BlockHalo3); // tag block [0x10], see Halo3 Add(TI.UnknownPad.BlockHalo3); // tag block [0x?] Add(TI.UnknownPad.BlockHalo3); // tag block [0x?] Add(TI.UnknownPad.BlockHalo3); // tag block [0x?] Add(TI.UnknownPad.BlockHalo3); // tag block [0x?] Add(TI.UnknownPad.BlockHalo3); // tag block [0x?] Add(TI.UnknownPad.BlockHalo3); // tag block [0x?] Add(TI.UnknownPad.BlockHalo3); // tag block [0x?] Add(TI.UnknownPad.BlockHalo3); // tag block [0x?] Add(TI.UnknownPad.BlockHalo3); // tag block [0x?] Add(TI.UnknownPad.BlockHalo3); // tag block [0x?] Add(TI.UnknownPad.BlockHalo3); // tag block [0x?] Add(TI.UnknownPad.BlockHalo3); // tag block [0x?] Add(TI.UnknownPad.BlockHalo3); // tag block [0x?] Add(TI.UnknownPad.BlockHalo3); // tag block [0x?] Add(TI.UnknownPad.BlockHalo3); // tag block [0x?] Add(TI.UnknownPad.BlockHalo3); // tag block [0x?] Add(TI.UnknownPad.BlockHalo3); // tag block [0x?] Add(TI.UnknownPad.BlockHalo3); // tag block [0x24] scenario_decal_systems_block 65536 Add(/*DecalSystems = */ new TI.Block <H3.scenario_decal_system_palette_block>(this, 128)); Add(TI.UnknownPad.BlockHalo3); // tag block [0x?] Add(TI.UnknownPad.BlockHalo3); // tag block [0x?] Add(/*SquadGroups = */ new TI.Block <H3.squad_groups_block>(this, 100)); Add(TI.UnknownPad.BlockHalo3); // squads, see Halo3 Add(/*Zones = */ new TI.Block <zone_block>(this, 128)); // ODST: I think this new block was added AFTER what I'm thinking may be 'Mission Scenes' Add(TI.UnknownPad.BlockHalo3); // tag block [0x?] // Mission Scenes? Add(TI.UnknownPad.BlockHalo3); // tag block [0x?] Add(/*CharacterPalette = */ new TI.Block <H3.character_palette_block>(this, 64)); Add(TI.UnknownPad.BlockHalo3); // tag block [0x?] Add(TI.UnknownPad.BlockHalo3); // tag block [0x6C], see Halo3 Add(TI.UnknownPad.BlockHalo3); // tag block [0x?], see Halo3 #region scripting and cinematics Add(HsStringData = new TI.Data(this)); // 0x42C Add(HsScripts = new TI.Block <H3.hs_scripts_block>(this, 1024)); Add(HsGlobals = new TI.Block <H3.hs_globals_block>(this, 256)); Add(References = new TI.Block <H3.hs_references_block>(this, 512)); Add(SourceFiles = new TI.Block <H2.hs_source_files_block>(this, 8)); Add(ScriptingData = new TI.Block <H2.cs_script_data_block>(this, 1)); Add(CutsceneFlags = new TI.Block <H3.scenario_cutscene_flag_block>(this, 512)); Add(CutsceneCameraPoints = new TI.Block <H3.scenario_cutscene_camera_point_block>(this, 512)); Add(TI.UnknownPad.BlockHalo3); // tag block [0x?] Add(CutsceneTitles = new TI.Block<scenario_cutscene_title_block>(this, 128)); Add(CustomObjectNames = new TI.TagReference(this, Halo3.TagGroups.unic)); Add(ChapterTitleText = new TI.TagReference(this, Halo3.TagGroups.unic)); Add(ScenarioResources = new TI.Block <H3.scenario_resources_block>(this, 1)); Add(HsUnitSeats = new TI.Block <H3.hs_unit_seat_block>(this, 65536)); Add(TI.UnknownPad.BlockHalo3); // tag block [0x2] Add(ScenarioKillTriggers = new TI.Block <H3.scenario_kill_trigger_volumes_block>(this, 256)); // 0x498 Add(HsScriptDatums = new TI.Block <H3.syntax_datum_block>(this, 36864)); #endregion Add(TI.UnknownPad.BlockHalo3); // tag block [0x?] Orders Add(TI.UnknownPad.BlockHalo3); // tag block [0x?] Triggers Add(/*BackgroundSoundPalette = */ new TI.Block <H3.structure_bsp_background_sound_palette_block>(this, 64)); Add(TI.UnknownPad.BlockHalo3); // tag block [0x?] SoundEnvironmentPalette Add(TI.UnknownPad.BlockHalo3); // tag block [0x?] WeatherPalette Add(TI.UnknownPad.BlockHalo3); // tag block [0x?]? version_construct_add_unnamed_null_blocks(); Add(/*ScenarioClusterData = */ new TI.Block <H3.scenario_cluster_data_block>(this, 16)); Add(TI.UnknownPad.BlockHalo3); // tag block [0x?]? version_construct_add_unnamed_array(); // 0x618 // crate: 0x634, 0x640, 0xB0 // creature: 0x674, 0x680, 0x54 }
void version2_construct() { Add(Parts = new TI.Block<global_geometry_part_block_new>(this, 255)); Add(Subparts = new TI.Block<global_subparts_block>(this, 32768)); Add(VisibilityBounds = new TI.Block<global_visibility_bounds_block>(this, 32768)); Add(RawVertices = new TI.Block<global_geometry_section_raw_vertex_block>(this, 32767)); Add(StripIndices = new TI.Block<global_geometry_section_strip_index_block>(this, 65535)); Add(VisibilityMoppCode = new TI.Data(this)); Add(MoppReorderTable = new TI.Block<global_geometry_section_strip_index_block>(this, 65535)); Add(VertexBuffers = new TI.Block<global_geometry_section_vertex_buffer_block>(this, 512)); Add(TI.Pad.DWord); // pointer to stuff when used in tools }