Beispiel #1
0
 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));
        }
Beispiel #3
0
 public structure_bsp_fog_plane_block() : base(4)
 {
     Add(FrontRegion = new TI.BlockIndex());
     Add(new TI.Pad(2));
     Add(Plane    = new TI.RealPlane3D());
     Add(Vertices = new TI.Block <field_block <TI.RealPoint3D> >(this, 4096));
 }
        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));
        }
Beispiel #5
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));
 }
Beispiel #6
0
 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));
 }
Beispiel #7
0
 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));
 }
Beispiel #8
0
 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));
 }
Beispiel #10
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));
		}
Beispiel #11
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));
 }
Beispiel #12
0
 public effect_group() : base(6)
 {
     Add(Flags          = new TI.Flags());
     Add(LoopStartEvent = new TI.BlockIndex());
     Add(LoopStopEvent  = new TI.BlockIndex());
     Add(new TI.Pad(32));
     Add(Locations = new TI.Block <field_block <TI.String> >(this, 32));
     Add(Events    = new TI.Block <effect_event_block>(this, 32));
 }
Beispiel #13
0
		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));
 }
Beispiel #15
0
 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));
 }
Beispiel #16
0
 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));
 }
Beispiel #17
0
            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"));
                }
            }
Beispiel #18
0
        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);
        }
Beispiel #20
0
        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);
        }
Beispiel #24
0
 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));
 }
Beispiel #25
0
 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));
 }
Beispiel #26
0
			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);
        }
Beispiel #30
0
				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);
				}
Beispiel #31
0
			public structure_bsp_fog_plane_block() : base(4)
			{
				Add(FrontRegion = new TI.BlockIndex());
				Add(new TI.Pad(2));
				Add(Plane = new TI.RealPlane3D());
				Add(Vertices = new TI.Block<field_block<TI.RealPoint3D>>(this, 4096));
			}
        public tag_collection_group() : base(1)
        {
            Add(References = new TI.Block <field_block <TI.TagReference> >(this, 200));

            //References.Definition.Value.ResetGroupTag(TI.TagGroup.Null);
        }
Beispiel #33
0
		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);
		}
Beispiel #34
0
        public structure_bsp_group() : base(52)
        {
            Add(LightmapBitmaps = new TI.TagReference(this, TagGroups.bitm));
            Add(VehicleFloor    = new TI.Real());
            Add(VehicleCeiling  = new TI.Real());
            Add(new TI.Pad(20));

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

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

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

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

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

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

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

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

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

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

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

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

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

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

                                // leaf_map
                           4)); // tag_block*, sizeof(0xC)
            Add(LeafMapLeaves  = new TI.Block <global_map_leaf_block>(this, 65536));
            Add(LeafMapPortals = new TI.Block <global_leaf_portal_block>(this, 524288));
        }
Beispiel #35
0
		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));
		}
Beispiel #36
0
			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));
			}
Beispiel #37
0
		public sound_cache_file_gestalt_group() : base(14)
		{
			Add(PlatformCodecs = new TI.Block<CT.sound_gestalt_platform_codec_block>(this, 0));
 			Add(Playbacks = new TI.Block<sound_gestalt_playback_block>(this, 0));
 			Add(Scales = new TI.Block<sound_gestalt_scale_block>(this, 0));
			Add(ImportNames = new TI.Block<CT.sound_gestalt_import_names_block>(this, 0));

			// in ODST, a tag block was added here. only ever see it with zero byte data, and 
			// other tag memory whose data has the same memory hash will reference this same memory
			// tag block [0x?] At most: 0x10. best estimate size, only ever see this with one element.

 			Add(PitchRangeParameters = new TI.Block<sound_gestalt_pitch_range_parameters_block>(this, 0));
 			Add(PitchRanges = new TI.Block<sound_gestalt_pitch_ranges_block>(this, 0));
 			Add(Permutations = new TI.Block<sound_gestalt_permutations_block>(this, 0));
			Add(CustomPlaybacks = new TI.Block<sound_gestalt_custom_playback_block>(this, 0));
			Add(Unknown60 = new TI.Block<sound_gestalt_60_block>(this));
			Add(RuntimePermutationFlags = new TI.Block<CT.sound_gestalt_runtime_permutation_bit_vector_block>(this, 0));

			// All Halo 3 maps have had this all zeros
			// If this is ever used, I'm sure there is a tag data field somewhere in it...
			Add(new TI.Pad(12 + 12 + 4));

			Add(Chunks = new TI.Block<sound_permutation_chunk_block>(this, 0));
			Add(Promotions = new TI.Block<sound_gestalt_promotions_block>(this, 0));
			Add(ExtraInfos = new TI.Block<sound_gestalt_extra_info_block>(this, 0));
		}
Beispiel #38
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));
			}
Beispiel #39
0
		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);
		}
Beispiel #40
0
				public map_leaf_face_block() : base(2)
				{
					Add(NodeIndex = new TI.LongInteger());
					Add(Vertices = new TI.Block<field_block<TI.RealPoint2D>>(this, 64));
				}
Beispiel #41
0
			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));
			}
Beispiel #42
0
			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));
			}
Beispiel #43
0
		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);
		}
Beispiel #44
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));
				}
Beispiel #45
0
			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_);
			}
Beispiel #46
0
				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));
				}
Beispiel #47
0
			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));
			}
Beispiel #48
0
			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));
 }
Beispiel #50
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?]?
		}
Beispiel #51
0
		public ui_widget_collection_group() : base(1)
		{
			Add(Definitions = new TI.Block<field_block<TI.TagReference>>(this, 32));

			//Definitions.Definition.Value.ResetReferenceGroupTag(TagGroups.DeLa);
		}
Beispiel #52
0
			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));
			}
Beispiel #53
0
		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);
		}
Beispiel #54
0
		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);
		}
Beispiel #55
0
			public collision_nodes_block() : base(7)
			{
				Add(Name = new TI.String());
				Add(Region = new TI.BlockIndex());
				Add(ParentNode = new TI.BlockIndex());
				Add(NextSiblingNode = new TI.BlockIndex());
				Add(FirstChildNode = new TI.BlockIndex());
				Add(new TI.Pad(12));
				Add(Bsp = new TI.Block<structure_bsp_group.collision_bsp_block>(this, 32));
			}
Beispiel #56
0
		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));
		}
Beispiel #57
0
			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));
			}
Beispiel #58
0
			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));
			}
Beispiel #59
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 <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
        }
Beispiel #60
0
		public structure_bsp_group() : base(52)
		{
			Add(LightmapBitmaps = new TI.TagReference(this, TagGroups.bitm));
			Add(VehicleFloor = new TI.Real());
			Add(VehicleCeiling = new TI.Real());
			Add(new TI.Pad(20));

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

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

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

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

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

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

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

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

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

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

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

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

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

			Add(Markers = new TI.Block<structure_bsp_marker_block>(this, 1024));
			Add(DetailObjects = new TI.Block<structure_bsp_detail_object_data_block>(this, 1));
			Add(RuntimeDecals = new TI.Block<structure_bsp_runtime_decal_block>(this, 6144));
			Add(new TI.Pad(8 + 
			
			// leaf_map
				4)); // tag_block*, sizeof(0xC)
			Add(LeafMapLeaves = new TI.Block<global_map_leaf_block>(this, 65536));
			Add(LeafMapPortals = new TI.Block<global_leaf_portal_block>(this, 524288));
		}