public global_leaf_portal_block() : base(4) { Add(PlaneIndex = new TI.LongInteger()); Add(BackLeafIndex = new TI.LongInteger()); Add(FrontLeafIndex = new TI.LongInteger()); Add(Vertices = new TI.Block <field_block <TI.RealPoint3D> >(this, 64)); }
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 structure_bsp_fog_plane_block() : base(4) { Add(FrontRegion = new TI.BlockIndex()); Add(new TI.Pad(2)); Add(Plane = new TI.RealPlane3D()); Add(Vertices = new TI.Block <field_block <TI.RealPoint3D> >(this, 4096)); }
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 structure_bsp_mirror_block() : base(4) { Add(Plane = new TI.RealPlane3D()); Add(new TI.Pad(20)); Add(Shader = new TI.TagReference(this, TagGroups.shdr)); Add(Vertices = new TI.Block <field_block <TI.RealPoint3D> >(this, 512)); }
public structure_bsp_subcluster_block() : base(4) { Add(WorldBoundsX = new TI.RealBounds()); Add(WorldBoundsY = new TI.RealBounds()); Add(WorldBoundsZ = new TI.RealBounds()); Add(SurfaceIndices = new TI.Block <field_block <TI.LongInteger> >(this, 128)); }
public structure_bsp_weather_polyhedron_block() : base(4) { Add(BoundingSphereCenter = new TI.RealPoint3D()); Add(BoundingSphereRadius = new TI.Real()); Add(new TI.Pad(4)); Add(Planes = new TI.Block <field_block <TI.RealPlane3D> >(this, 16)); }
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 hs_scripts_block() : base(5) { Add(Name = new TI.StringId()); Add(ScriptType = new TI.Enum()); Add(ReturnType = new TI.Enum()); Add(RootExpressionIndex = new TI.LongInteger()); Add(Parameters = new TI.Block <H3.hs_scripts_block.hs_scripts_parameters_block>(this, 0)); }
public hs_scripts_block() : base(5) { Add(Name = new TI.StringId()); Add(ScriptType = new TI.Enum()); Add(ReturnType = new TI.Enum()); Add(RootExpressionIndex = new TI.LongInteger()); Add(Parameters = new TI.Block<H3.hs_scripts_block.hs_scripts_parameters_block>(this, 0)); }
public structure_bsp_detail_object_data_block() : base(5) { Add(Cells = new TI.Block <global_detail_object_cells_block>(this, 262144)); Add(Instances = new TI.Block <global_detail_object_block>(this, 2097152)); Add(Counts = new TI.Block <field_block <TI.ShortInteger> >(this, 8388608)); Add(ZReferenceVectors = new TI.Block <global_z_reference_vector_block>(this, 262144)); Add(new TI.Pad(16)); }
public effect_group() : base(6) { Add(Flags = new TI.Flags()); Add(LoopStartEvent = new TI.BlockIndex()); Add(LoopStopEvent = new TI.BlockIndex()); Add(new TI.Pad(32)); Add(Locations = new TI.Block <field_block <TI.String> >(this, 32)); Add(Events = new TI.Block <effect_event_block>(this, 32)); }
public scenario_scenery_resource_group() : base(3) { Add(Names = new TI.Block<scenario_group.scenario_object_names_block>(this, 512)); Add(Objects = new TI.Block<scenario_group.scenario_scenery_block>(this, 2000)); Add(Palette = new TI.Block<scenario_group.scenario_object_palette_block>(this, 100)); _Objects = Objects; //Palette.Definition.Name.ResetReferenceGroupTag(TagGroups.scen); }
public collision_nodes_block() : base(7) { Add(Name = new TI.String()); Add(Region = new TI.BlockIndex()); Add(ParentNode = new TI.BlockIndex()); Add(NextSiblingNode = new TI.BlockIndex()); Add(FirstChildNode = new TI.BlockIndex()); Add(new TI.Pad(12)); Add(Bsp = new TI.Block <structure_bsp_group.collision_bsp_block>(this, 32)); }
public collision_bsp_block() : base(8) { Add(Bsp3dNodes = new TI.Block <bsp3d_nodes_block>(this, 131072)); Add(Planes = new TI.Block <field_block <TI.RealPlane3D> >(this, 65536)); Add(Leaves = new TI.Block <leaves_block>(this, 65536)); Add(Bsp2dReferences = new TI.Block <bsp2d_references_block>(this, 131072)); Add(Bsp2dNodes = new TI.Block <bsp2d_nodes_block>(this, 65535)); Add(Surfaces = new TI.Block <surfaces_block>(this, 131072)); Add(Edges = new TI.Block <edges_block>(this, 262144)); Add(Vertices = new TI.Block <vertices_block>(this, 131072)); }
public structure_bsp_cluster_portal_block() : base(8) { Add(FrontCluster = new TI.ShortInteger()); Add(BackCluster = new TI.ShortInteger()); Add(PlaneIndex = new TI.LongInteger()); Add(Centroid = new TI.RealPoint3D()); Add(BoundingRadius = new TI.Real()); Add(Flags = new TI.Flags()); Add(new TI.Pad(24)); Add(Vertices = new TI.Block <field_block <TI.RealPoint3D> >(this, 128)); }
static void Output(System.IO.StreamWriter s, TI.Block <field_block <TI.ShortInteger> > block) { const string format = "\t\t\t{0}\t\t{1}"; s.WriteLine("\t\t{0}\tblock_4", block.Count); int x = 0; foreach (field_block <TI.ShortInteger> def in block) { s.WriteLine(format, (x++).ToString(), def.Value.Value.ToString("X4")); } }
static void Output(System.IO.StreamWriter s, TI.Block <field_block <TI.LongInteger> > block) { const string format = "\t{0}\t\t{1}"; s.WriteLine("{0}\tcache_file_resource_gestalt_1D0_block", block.Count); int x = 0; foreach (field_block <TI.LongInteger> def in block) { s.WriteLine(format, (x++).ToString(), def.Value.Value.ToString("X8")); } }
public shader_transparent_generic_group() : base(6) { Add(Radiosity = new TI.Struct <shader_radiosity_properties_struct>(this)); Add(LensFlareSpacing = new TI.Real()); Add(LensFlare = new TI.TagReference(this, TagGroups.lens)); Add(ExtraLayers = new TI.Block <field_block <TI.TagReference> >(this, 4)); Add(Maps = new TI.Block <shader_transparent_generic_map_block>(this, 4)); Add(Stages = new TI.Block <shader_transparent_generic_stage_block>(this, 7)); //ExtraLayers.Definition.Value.ResetReferenceGroupTag(TagGroups.shdr); }
void ReadTagData(Blam.Cache.CacheFileGen3 cf, int hs_scripts_offset, int hs_globals_offset, int hs_nodes_offset) { //hs_scripts = new TagInterface.Block<Blam.HaloReach.Tags.hs_scripts_block>(null, 0); hs_globals = new TagInterface.Block <Blam.Halo3.Tags.hs_globals_block>(null, 0); Scripts.InteropReadTagData(cf, sncr_hs_scripts, scnr_offset + hs_scripts_offset, hs_globals, scnr_offset + hs_globals_offset); hs_nodes = new TagInterface.Block <Blam.Halo3.Tags.syntax_datum_block>(null, 0); Scripts.InteropReadNodes(cf, scnr_offset + hs_nodes_offset, hs_nodes); }
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 multiplayer_information_block() : base(8) { Add(Flag = new TI.TagReference(this, TagGroups.item)); Add(Unit = new TI.TagReference(this, TagGroups.unit)); Add(Vehicles = new TI.Block <field_block <TI.TagReference> >(this, 20)); Add(HillShader = new TI.TagReference(this, TagGroups.shdr)); Add(FlagShader = new TI.TagReference(this, TagGroups.shdr)); Add(Ball = new TI.TagReference(this, TagGroups.item)); Add(Sounds = new TI.Block <field_block <TI.TagReference> >(this, 60)); Add(new TI.Pad(56)); //Vehicles.Definition.Value.ResetReferenceGroupTag(TagGroups.vehi); //Sounds.Definition.Value.ResetReferenceGroupTag(TagGroups.snd_); }
public shader_transparent_chicago_extended_group() : base(8) { Add(Radiosity = new TI.Struct <shader_radiosity_properties_struct>(this)); Add(LensFlareSpacing = new TI.Real()); Add(LensFlare = new TI.TagReference(this, TagGroups.lens)); Add(ExtraLayers = new TI.Block <field_block <TI.TagReference> >(this, 4)); Add(_4StageMaps = new TI.Block <shader_transparent_chicago_group.shader_transparent_chicago_map_block>(this, 4)); Add(_2StageMaps = new TI.Block <shader_transparent_chicago_group.shader_transparent_chicago_map_block>(this, 4)); Add(ExtraFlags = new TI.Flags()); Add(new TI.Pad(8)); //ExtraLayers.Definition.Value.ResetReferenceGroupTag(TagGroups.shdr); }
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 structure_bsp_cluster_block() : base(14) { Add(Sky = new TI.ShortInteger()); Add(Fog = new TI.ShortInteger()); Add(BackgroundSound = new TI.BlockIndex()); Add(SoundEnvironment = new TI.BlockIndex()); Add(Weather = new TI.BlockIndex()); Add(TransitionStructureBsp = new TI.ShortInteger()); Add(new TI.Pad(4 + 24)); Add(PredictedResources = new TI.Block <predicted_resource_block>(this, 1024)); Add(Subclusters = new TI.Block <structure_bsp_subcluster_block>(this, 4096)); Add(FirstLensFlareMarkerIndex = new TI.ShortInteger()); Add(LensFlareMarkerCount = new TI.ShortInteger()); Add(SurfaceIndices = new TI.Block <field_block <TI.LongInteger> >(this, 32768)); Add(Mirrors = new TI.Block <structure_bsp_mirror_block>(this, 16)); Add(Portals = new TI.Block <field_block <TI.ShortInteger> >(this, 128)); }
public player_control_block() : base(15) { Add(MagnetismFriction = new TI.Real(BlamLib.TagInterface.FieldType.RealFraction)); Add(MagnetismAdhesion = new TI.Real(BlamLib.TagInterface.FieldType.RealFraction)); Add(InconsequentialTargetScale = new TI.Real(BlamLib.TagInterface.FieldType.RealFraction)); Add(new TI.Pad(52)); Add(LookAccelerationTime = new TI.Real()); Add(LookAccelerationScale = new TI.Real()); Add(LookPegThreshold = new TI.Real(BlamLib.TagInterface.FieldType.RealFraction)); Add(LookDefaultPitchRate = new TI.Real()); Add(LookDefaultYawRate = new TI.Real()); Add(LookAutolevelingScale = new TI.Real()); Add(new TI.Pad(20)); Add(MinWeaponSwapTicks = new TI.ShortInteger()); Add(MinAutolevelingTicks = new TI.ShortInteger()); Add(MinAngleForVehicleFlipping = new TI.Real(BlamLib.TagInterface.FieldType.Angle)); Add(LookFunction = new TI.Block<field_block<TI.Real>>(this, 16)); }
public player_control_block() : base(15) { Add(MagnetismFriction = new TI.Real(BlamLib.TagInterface.FieldType.RealFraction)); Add(MagnetismAdhesion = new TI.Real(BlamLib.TagInterface.FieldType.RealFraction)); Add(InconsequentialTargetScale = new TI.Real(BlamLib.TagInterface.FieldType.RealFraction)); Add(new TI.Pad(52)); Add(LookAccelerationTime = new TI.Real()); Add(LookAccelerationScale = new TI.Real()); Add(LookPegThreshold = new TI.Real(BlamLib.TagInterface.FieldType.RealFraction)); Add(LookDefaultPitchRate = new TI.Real()); Add(LookDefaultYawRate = new TI.Real()); Add(LookAutolevelingScale = new TI.Real()); Add(new TI.Pad(20)); Add(MinWeaponSwapTicks = new TI.ShortInteger()); Add(MinAutolevelingTicks = new TI.ShortInteger()); Add(MinAngleForVehicleFlipping = new TI.Real(BlamLib.TagInterface.FieldType.Angle)); Add(LookFunction = new TI.Block <field_block <TI.Real> >(this, 16)); }
public model_geometry_part_block() : base(37) { Add(Flags = new TI.Flags()); Add(ShaderIndex = new TI.BlockIndex()); Add(PrevFilthyPartIndex = new TI.ByteInteger()); Add(NextFilthyPartIndex = new TI.ByteInteger()); Add(CentroidPrimaryNode = new TI.ShortInteger()); Add(CentroidSecondaryNode = new TI.ShortInteger()); Add(CentroidPrimaryWeight = new TI.Real(BlamLib.TagInterface.FieldType.RealFraction)); Add(CentroidSecondaryWeight = new TI.Real(BlamLib.TagInterface.FieldType.RealFraction)); Add(Centroid = new TI.RealPoint3D()); Add(UncompressedVertices = new TI.Block <model_group.model_geometry_block.model_geometry_part_block.model_vertex_uncompressed_block>(this, 65535)); Add(CompressedVertices = new TI.Block <model_group.model_geometry_block.model_geometry_part_block.model_vertex_compressed_block>(this, 65535)); Add(Triangles = new TI.Block <model_group.model_geometry_block.model_geometry_part_block.model_triangle_block>(this, 65535)); Add(new TI.Skip(model_group.kSizeOf_rasterizer_triangle_buffer + model_group.kSizeOf_rasterizer_vertex_buffer + 1 + 1 + 1)); Add(NodeMapCount = new BlamLib.TagInterface.ByteInteger()); for (int x = 0; x < NodeMap.Length; x++) { Add(NodeMap[x] = new TI.ByteInteger()); } Add(TI.Pad.Word); }
public globals_group() : base(16) { Add(new TI.Pad(248)); Add(Sounds = new TI.Block <field_block <TI.TagReference> >(this, 2)); Add(Camera = new TI.Block <field_block <TI.TagReference> >(this, 1)); Add(PlayerControl = new TI.Block <player_control_block>(this, 1)); Add(Difficulty = new TI.Block <difficulty_block>(this, 1)); Add(Grenades = new TI.Block <grenades_block>(this, 2)); Add(RasterizerData = new TI.Block <rasterizer_data_block>(this, 1)); Add(InterfaceBitmaps = new TI.Block <interface_tag_references_block>(this, 1)); Add(WeaponList = new TI.Block <field_block <TI.TagReference> >(this, 20)); Add(CheatPowerups = new TI.Block <field_block <TI.TagReference> >(this, 20)); Add(MultiplayerInformation = new TI.Block <multiplayer_information_block>(this, 1)); Add(PlayerInformation = new TI.Block <player_information_block>(this, 1)); Add(FirstPersionInterface = new TI.Block <first_person_interface_block>(this, 1)); Add(FallingDamage = new TI.Block <falling_damage_block>(this, 1)); Add(Materials = new TI.Block <materials_block>(this, 33)); Add(PlayerlistMembers = new TI.Block <playlist_autogenerate_choice_block>(this, 20)); //Sounds.Definition.Value.ResetReferenceGroupTag(TagGroups.snd_); //Camera.Definition.Value.ResetReferenceGroupTag(TagGroups.trak); //WeaponList.Definition.Value.ResetReferenceGroupTag(TagGroups.item); //CheatPowerups.Definition.Value.ResetReferenceGroupTag(TagGroups.eqip); }
public model_geometry_part_block() : base(37) { Add(Flags = new TI.Flags()); Add(ShaderIndex = new TI.BlockIndex()); Add(PrevFilthyPartIndex = new TI.ByteInteger()); Add(NextFilthyPartIndex = new TI.ByteInteger()); Add(CentroidPrimaryNode = new TI.ShortInteger()); Add(CentroidSecondaryNode = new TI.ShortInteger()); Add(CentroidPrimaryWeight = new TI.Real(BlamLib.TagInterface.FieldType.RealFraction)); Add(CentroidSecondaryWeight = new TI.Real(BlamLib.TagInterface.FieldType.RealFraction)); Add(Centroid = new TI.RealPoint3D()); Add(UncompressedVertices = new TI.Block<model_group.model_geometry_block.model_geometry_part_block.model_vertex_uncompressed_block>(this, 65535)); Add(CompressedVertices = new TI.Block<model_group.model_geometry_block.model_geometry_part_block.model_vertex_compressed_block>(this, 65535)); Add(Triangles = new TI.Block<model_group.model_geometry_block.model_geometry_part_block.model_triangle_block>(this, 65535)); Add(new TI.Skip(model_group.kSizeOf_rasterizer_triangle_buffer + model_group.kSizeOf_rasterizer_vertex_buffer + 1 + 1 + 1)); Add(NodeMapCount = new BlamLib.TagInterface.ByteInteger()); for (int x = 0; x < NodeMap.Length; x++) Add(NodeMap[x] = new TI.ByteInteger()); Add(TI.Pad.Word); }
public structure_bsp_fog_plane_block() : base(4) { Add(FrontRegion = new TI.BlockIndex()); Add(new TI.Pad(2)); Add(Plane = new TI.RealPlane3D()); Add(Vertices = new TI.Block<field_block<TI.RealPoint3D>>(this, 4096)); }
public tag_collection_group() : base(1) { Add(References = new TI.Block <field_block <TI.TagReference> >(this, 200)); //References.Definition.Value.ResetGroupTag(TI.TagGroup.Null); }
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 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 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 structure_bsp_weather_polyhedron_block() : base(4) { Add(BoundingSphereCenter = new TI.RealPoint3D()); Add(BoundingSphereRadius = new TI.Real()); Add(new TI.Pad(4)); Add(Planes = new TI.Block<field_block<TI.RealPlane3D>>(this, 16)); }
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 structure_bsp_detail_object_data_block() : base(5) { Add(Cells = new TI.Block<global_detail_object_cells_block>(this, 262144)); Add(Instances = new TI.Block<global_detail_object_block>(this, 2097152)); Add(Counts = new TI.Block<field_block<TI.ShortInteger>>(this, 8388608)); Add(ZReferenceVectors = new TI.Block<global_z_reference_vector_block>(this, 262144)); Add(new TI.Pad(16)); }
void ReadTagData(Blam.Cache.CacheFileGen3 cf, int hs_scripts_offset, int hs_globals_offset, int hs_nodes_offset) { //hs_scripts = new TagInterface.Block<Blam.HaloReach.Tags.hs_scripts_block>(null, 0); hs_globals = new TagInterface.Block<Blam.Halo3.Tags.hs_globals_block>(null, 0); Scripts.InteropReadTagData(cf, sncr_hs_scripts,scnr_offset + hs_scripts_offset, hs_globals, scnr_offset + hs_globals_offset); hs_nodes = new TagInterface.Block<Blam.Halo3.Tags.syntax_datum_block>(null, 0); Scripts.InteropReadNodes(cf, scnr_offset + hs_nodes_offset, hs_nodes); }
public map_leaf_face_block() : base(2) { Add(NodeIndex = new TI.LongInteger()); Add(Vertices = new TI.Block<field_block<TI.RealPoint2D>>(this, 64)); }
public structure_bsp_cluster_block() : base(14) { Add(Sky = new TI.ShortInteger()); Add(Fog = new TI.ShortInteger()); Add(BackgroundSound = new TI.BlockIndex()); Add(SoundEnvironment = new TI.BlockIndex()); Add(Weather = new TI.BlockIndex()); Add(TransitionStructureBsp = new TI.ShortInteger()); Add(new TI.Pad(4 + 24)); Add(PredictedResources = new TI.Block<predicted_resource_block>(this, 1024)); Add(Subclusters = new TI.Block<structure_bsp_subcluster_block>(this, 4096)); Add(FirstLensFlareMarkerIndex = new TI.ShortInteger()); Add(LensFlareMarkerCount = new TI.ShortInteger()); Add(SurfaceIndices = new TI.Block<field_block<TI.LongInteger>>(this, 32768)); Add(Mirrors = new TI.Block<structure_bsp_mirror_block>(this, 16)); Add(Portals = new TI.Block<field_block<TI.ShortInteger>>(this, 128)); }
public global_map_leaf_block() : base(2) { Add(Faces = new TI.Block<map_leaf_face_block>(this, 256)); Add(PortalIndices = new TI.Block<field_block<TI.LongInteger>>(this, 256)); }
public globals_group() : base(16) { Add(new TI.Pad(248)); Add(Sounds = new TI.Block<field_block<TI.TagReference>>(this, 2)); Add(Camera = new TI.Block<field_block<TI.TagReference>>(this, 1)); Add(PlayerControl = new TI.Block<player_control_block>(this, 1)); Add(Difficulty = new TI.Block<difficulty_block>(this, 1)); Add(Grenades = new TI.Block<grenades_block>(this, 2)); Add(RasterizerData = new TI.Block<rasterizer_data_block>(this, 1)); Add(InterfaceBitmaps = new TI.Block<interface_tag_references_block>(this, 1)); Add(WeaponList = new TI.Block<field_block<TI.TagReference>>(this, 20)); Add(CheatPowerups = new TI.Block<field_block<TI.TagReference>>(this, 20)); Add(MultiplayerInformation = new TI.Block<multiplayer_information_block>(this, 1)); Add(PlayerInformation = new TI.Block<player_information_block>(this, 1)); Add(FirstPersionInterface = new TI.Block<first_person_interface_block>(this, 1)); Add(FallingDamage = new TI.Block<falling_damage_block>(this, 1)); Add(Materials = new TI.Block<materials_block>(this, 33)); Add(PlayerlistMembers = new TI.Block<playlist_autogenerate_choice_block>(this, 20)); //Sounds.Definition.Value.ResetReferenceGroupTag(TagGroups.snd_); //Camera.Definition.Value.ResetReferenceGroupTag(TagGroups.trak); //WeaponList.Definition.Value.ResetReferenceGroupTag(TagGroups.item); //CheatPowerups.Definition.Value.ResetReferenceGroupTag(TagGroups.eqip); }
public structure_bsp_mirror_block() : base(4) { Add(Plane = new TI.RealPlane3D()); Add(new TI.Pad(20)); Add(Shader = new TI.TagReference(this, TagGroups.shdr)); Add(Vertices = new TI.Block<field_block<TI.RealPoint3D>>(this, 512)); }
public multiplayer_information_block() : base(8) { Add(Flag = new TI.TagReference(this, TagGroups.item)); Add(Unit = new TI.TagReference(this, TagGroups.unit)); Add(Vehicles = new TI.Block<field_block<TI.TagReference>>(this, 20)); Add(HillShader = new TI.TagReference(this, TagGroups.shdr)); Add(FlagShader = new TI.TagReference(this, TagGroups.shdr)); Add(Ball = new TI.TagReference(this, TagGroups.item)); Add(Sounds = new TI.Block<field_block<TI.TagReference>>(this, 60)); Add(new TI.Pad(56)); //Vehicles.Definition.Value.ResetReferenceGroupTag(TagGroups.vehi); //Sounds.Definition.Value.ResetReferenceGroupTag(TagGroups.snd_); }
public structure_bsp_subcluster_block() : base(4) { Add(WorldBoundsX = new TI.RealBounds()); Add(WorldBoundsY = new TI.RealBounds()); Add(WorldBoundsZ = new TI.RealBounds()); Add(SurfaceIndices = new TI.Block<field_block<TI.LongInteger>>(this, 128)); }
public sound_gestalt_60_block() : base(3) { Add(Unknown00 = new TI.LongInteger()); // self referencing to the element's position Add(Unknown04 = new TI.Block<field_block<TI.ShortInteger>>(this)); Add(Unknown10 = new TI.Block<block_10>(this)); }
public font_character_tables_block() : base(1) { Add(CharacterTable = new TI.Block<field_block<TI.BlockIndex>>(this, 256)); }
public megalo_string_id_table_group() : base(1) { Add(Names = new TI.Block <field_block <TI.StringId> >(this, 0)); }
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 ui_widget_collection_group() : base(1) { Add(Definitions = new TI.Block<field_block<TI.TagReference>>(this, 32)); //Definitions.Definition.Value.ResetReferenceGroupTag(TagGroups.DeLa); }
public collision_bsp_block() : base(8) { Add(Bsp3dNodes = new TI.Block<bsp3d_nodes_block>(this, 131072)); Add(Planes = new TI.Block<field_block<TI.RealPlane3D>>(this, 65536)); Add(Leaves = new TI.Block<leaves_block>(this, 65536)); Add(Bsp2dReferences = new TI.Block<bsp2d_references_block>(this, 131072)); Add(Bsp2dNodes = new TI.Block<bsp2d_nodes_block>(this, 65535)); Add(Surfaces = new TI.Block<surfaces_block>(this, 131072)); Add(Edges = new TI.Block<edges_block>(this, 262144)); Add(Vertices = new TI.Block<vertices_block>(this, 131072)); }
public scenario_decals_resource_group() : base(2) { Add(Palette = new TI.Block<field_block<TI.TagReference>>(this, 128)); Add(Decals = new TI.Block<scenario_group.scenario_decals_block>(this, 65536)); //Palette.Definition.Value.ResetReferenceGroupTag(TagGroups.deca); }
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 collision_nodes_block() : base(7) { Add(Name = new TI.String()); Add(Region = new TI.BlockIndex()); Add(ParentNode = new TI.BlockIndex()); Add(NextSiblingNode = new TI.BlockIndex()); Add(FirstChildNode = new TI.BlockIndex()); Add(new TI.Pad(12)); Add(Bsp = new TI.Block<structure_bsp_group.collision_bsp_block>(this, 32)); }
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 global_leaf_portal_block() : base(4) { Add(PlaneIndex = new TI.LongInteger()); Add(BackLeafIndex = new TI.LongInteger()); Add(FrontLeafIndex = new TI.LongInteger()); Add(Vertices = new TI.Block<field_block<TI.RealPoint3D>>(this, 64)); }
public structure_bsp_cluster_portal_block() : base(8) { Add(FrontCluster = new TI.ShortInteger()); Add(BackCluster = new TI.ShortInteger()); Add(PlaneIndex = new TI.LongInteger()); Add(Centroid = new TI.RealPoint3D()); Add(BoundingRadius = new TI.Real()); Add(Flags = new TI.Flags()); Add(new TI.Pad(24)); Add(Vertices = new TI.Block<field_block<TI.RealPoint3D>>(this, 128)); }
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 }
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)); }