Ejemplo n.º 1
0
 public text_value_pair_definition_group()
 {
     Add(Parameter   = new TI.Enum(TI.FieldType.LongEnum));           // 0x26C options, last 0x15 are templated options and can't be get\set
     Add(Title       = new TI.StringId());
     Add(Description = new TI.StringId());
     Add(Values      = new TI.Block <text_value_pair_reference_block>(this, 32));
 }
Ejemplo n.º 2
0
        public bitmap_group()
        {
            Add(Type   = new TI.Enum());
            Add(Format = new TI.Enum());
            Add(Usage  = new TI.Enum());
            Add(Flags  = new TI.Flags(BlamLib.TagInterface.FieldType.WordFlags));

            //Add(DetailFadeFactor = new TI.Real(BlamLib.TagInterface.FieldType.RealFraction));
            //Add(SharpenAmount = new TI.Real(BlamLib.TagInterface.FieldType.RealFraction));
            //Add(BumpHeight = new TI.Real());

            //Add(SpriteBudgetSize = new TI.Enum());
            //Add(SpriteBudgetCount = new TI.ShortInteger());

            //Add(ColorPlateWidth = new TI.ShortInteger());
            //Add(ColorPlateHeight = new TI.ShortInteger());
            //Add(CompressedColorPlateData = new TI.Data(this));
            //Add(ProcessedPixelData = new TI.Data(this, BlamLib.TagInterface.DataType.Bitmap));

            //Add(BlurFilterSize = new TI.Real());
            //Add(AlphaBias = new TI.Real());
            //Add(MipmapCount = new TI.ShortInteger());

            //Add(SpriteUsage = new TI.Enum());
            //Add(SpriteSpacing = new TI.ShortInteger());
            //Add(ForceFormat = new TI.Enum());
            Add(new TI.Skip(76));

            // TODO: BLOCK STRUCTURE VERIFICATION
            Add(Sequences = new TI.Block <bitmap_group_sequence_block>(this, 256));
            Add(Bitmaps   = new TI.Block <bitmap_data_block>(this, 65536));
            Add(new TI.Skip(32));
            Add(Resources            = new TI.Block <bitmap_cache_resource_data_block>(this, 65536));
            Add(InterleavedResources = new TI.Block <bitmap_cache_resource_data_block>(this, 65536));
        }
Ejemplo n.º 3
0
 public structure_bsp_tag_resources_odst() : base(4)
 {
     Add(BspCollision = new TI.Block <global_collision_bsp_block>(this, 1));
     Add(TI.UnknownPad.BlockHalo3);                 // [0x?]
     Add(InstancedGeometryDefinitions = new TI.Block <structure_bsp_instanced_geometry_definition_block>(this, 0));
     Add(TI.UnknownPad.BlockHalo3);                 // [0x?]
 }
Ejemplo n.º 4
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));
 }
Ejemplo n.º 5
0
 public custom_app_globals_group() : base(4)
 {
     Add(TI.Pad.DWord);            // '1'
     Add(TI.Pad.Word);             // '1'
     Add(TI.Pad.Word);             // '0'
     Add(Apps = new TI.Block <custom_app_block>(this, 0));
 }
Ejemplo n.º 6
0
        protected object_group(int field_count) : base(field_count + 28)
        {
            Add(ObjectType        = new TI.Skip(2));
            Add(ObjectFlags       = new TI.Flags(BlamLib.TagInterface.FieldType.WordFlags));
            Add(BoundingRadius    = new TI.Real());
            Add(BoundingOffset    = new TI.RealPoint3D());
            Add(OriginOffset      = new TI.RealPoint3D());
            Add(AccelerationScale = new TI.Real());
            Add(new TI.Pad(4));
            Add(Model          = new TI.TagReference(this, TagGroups.mode));
            Add(AnimationGraph = new TI.TagReference(this, TagGroups.antr));
            Add(new TI.Pad(40));
            Add(CollisionModel = new TI.TagReference(this, TagGroups.coll));
            Add(Physics        = new TI.TagReference(this, TagGroups.phys));
            Add(ModifierShader = new TI.TagReference(this, TagGroups.shdr));
            Add(CreationEffect = new TI.TagReference(this, TagGroups.effe));
            Add(new TI.Pad(84));
            Add(RenderBoundingRadius = new TI.Real());

            Add(Ain = new TI.Enum());
            Add(Bin = new TI.Enum());
            Add(Cin = new TI.Enum());
            Add(Din = new TI.Enum());
            Add(new TI.Pad(44));
            Add(HudTextMessageIndex         = new TI.ShortInteger());
            Add(ForcedShaderPermuationIndex = new TI.ShortInteger());
            Add(Attachments        = new TI.Block <object_attachment_block>(this, 8));
            Add(Widgets            = new TI.Block <object_widget_block>(this, 4));
            Add(Functions          = new TI.Block <object_function_block>(this, 4));
            Add(ChangeColors       = new TI.Block <object_change_colors_block>(this, 4));
            Add(PerdictedResources = new TI.Block <predicted_resource_block>(this, 1024));
        }
Ejemplo n.º 7
0
 public hud_message_text_group() : base(4)
 {
     Add(TextData        = new TI.Data(this));
     Add(MessageElements = new TI.Block <hud_message_elements_block>(this, 8192));
     Add(Messages        = new TI.Block <hud_messages_block>(this, 1024));
     Add(new TI.Pad(84));
 }
Ejemplo n.º 8
0
 public unknown_3C_block() : base(22)
 {
     Add(Unknown0 = new TI.Flags(TI.FieldType.ByteFlags));
     Add(Unknown1 = new TI.Flags(TI.FieldType.ByteFlags));
     Add(TI.Pad.Word);
     Add(Unknown4      = new TI.LongInteger());
     Add(Block8        = new TI.Block <unknown_8_block>(this, 0));
     Add(Unknown14     = new TI.LongInteger());                 // unknown
     Add(Unknown18     = new TI.LongInteger());                 // unknown
     Add(Unknown1C     = new TI.StringId());
     Add(Unknown20     = new TI.LongInteger());                 // unknown
     Add(CuiScreen     = new TI.TagReference(this, TagGroups.cusc));
     Add(SoundResponse = new TI.TagReference(this, TagGroups.sgrp));
     Add(Unknown44     = new TI.LongInteger());                 // unknown
     Add(Unknown48     = new TI.LongInteger());                 // unknown
     Add(Unknown4C     = new TI.Flags(TI.FieldType.ByteFlags));
     Add(TI.Pad.Byte);
     Add(Unknown4E = new TI.Flags(TI.FieldType.ByteFlags));
     Add(TI.Pad.Byte);
     Add(Unknown50  = new TI.StringId());
     Add(Unknown54  = new TI.LongInteger());                    // unknown
     Add(CuiScreen2 = new TI.TagReference(this, TagGroups.cusc));
     Add(Unknown68  = new TI.TagReference(this));
     Add(Unknown78  = new TI.LongInteger());                    // unknown
 }
Ejemplo n.º 9
0
 public model_markers_block() : base(4)
 {
     Add(Name           = new TI.String());
     Add(MagicIdentifer = new TI.ShortInteger());
     Add(new TI.Pad(2 + 16));
     Add(Instances = new TI.Block <model_marker_instance_block>(this, 32));
 }
Ejemplo n.º 10
0
		public vertex_shader_group() : base(4)
		{
			Add(Platform = new TI.Enum());
			Add(new TI.Pad(2));
			Add(GeometryClassifications = new TI.Block<vertex_shader_classification_block>(this, (int)GeometryClassifcationNames.Count));
			Add(OutputSwizzles = new TI.LongInteger());
		}
Ejemplo n.º 11
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));
        }
Ejemplo n.º 12
0
 public incident_globals_definition_0_block() : base(11)
 {
     Add(Name     = new TI.StringId());
     Add(Unknown4 = new TI.Flags(TI.FieldType.ByteFlags));
     Add(TI.Pad._24);
     Add(Unknown8 = new TI.Flags(TI.FieldType.ByteFlags));
     Add(TI.Pad._24);
     Add(BlockC  = new TI.Block <unknown_C_block>(this, 0));
     Add(Block18 = new TI.Block <unknown_18_block>(this, 0));
     Add(Block24 = new TI.Block <unknown_24_block>(this, 0));
     Add(Block30 = new TI.Block <unknown_30_block>(this, 0));
     Add(Block3C = new TI.Block <unknown_3C_block>(this, 0));
     Add(TI.Pad.BlockHalo3);                 // 0x54
     // byte_flags
     // byte_flags
     // PAD16
     // unknown[0xC]
     // string_id
     // string_id
     // string_id
     // unknown[0x8]
     // tag_block
     // unknown[0x4]
     // int16
     // PAD16?
     // tag_block
     // tag_reference<sirg> sound_incident_response
 }
Ejemplo n.º 13
0
        public weapon_hud_interface_group() : base(27)
        {
            Add(ChildHud         = new TI.TagReference(this, TagGroups.wphi));
            Add(FlashCutoffFlags = new TI.Flags(BlamLib.TagInterface.FieldType.WordFlags));
            Add(new TI.Pad(2));
            Add(TotalAmmoCutoff  = new TI.ShortInteger());
            Add(LoadedAmmoCutoff = new TI.ShortInteger());
            Add(HeatCutoff       = new TI.ShortInteger());
            Add(AgeCutoff        = new TI.ShortInteger());
            Add(new TI.Pad(32));
            Add(Anchor = new TI.Enum());
            Add(new TI.Pad(2 + 32));

            Add(StaticElements  = new TI.Block <weapon_hud_static_block>(this, 16));
            Add(MeterElements   = new TI.Block <weapon_hud_meter_block>(this, 16));
            Add(NumberElements  = new TI.Block <weapon_hud_number_block>(this, 16));
            Add(Crosshairs      = new TI.Block <weapon_hud_crosshair_block>(this, 19));
            Add(OverlayElements = new TI.Block <weapon_hud_overlays_block>(this, 16));
            Add(PostprocessedUsedCrosshairStatesFlags = new TI.Flags());
            Add(new TI.Pad(12));             // g_null_block, so we just pad it
            Add(ScreenEffect = new TI.Block <global_hud_screen_effect_definition>(this, 1));
            Add(new TI.Pad(132));

            Add(SequenceIndex             = new TI.ShortInteger());
            Add(WidthOffset               = new TI.ShortInteger());
            Add(OffsetFromReferenceCorner = new TI.Point2D());
            Add(OverrideIconColor         = new TI.Color());
            Add(FrameRate = new TI.ByteInteger());
            Add(Flags     = new TI.Flags(BlamLib.TagInterface.FieldType.ByteFlags));
            Add(TextIndex = new TI.ShortInteger());
            Add(new TI.Pad(48));
        }
Ejemplo n.º 14
0
        public bitmap_group() : base(25)
        {
            Add(Type   = new TI.Enum());
            Add(Format = new TI.Enum());
            Add(Usage  = new TI.Enum());
            Add(Flags  = new TI.Flags(BlamLib.TagInterface.FieldType.WordFlags));

            Add(DetailFadeFactor = new TI.Real(BlamLib.TagInterface.FieldType.RealFraction));
            Add(SharpenAmount    = new TI.Real(BlamLib.TagInterface.FieldType.RealFraction));
            Add(BumpHeight       = new TI.Real());

            Add(SpriteBudgetSize  = new TI.Enum());
            Add(SpriteBudgetCount = new TI.ShortInteger());

            Add(ColorPlateWidth          = new TI.ShortInteger());
            Add(ColorPlateHeight         = new TI.ShortInteger());
            Add(CompressedColorPlateData = new TI.Data(this));
            Add(ProcessedPixelData       = new TI.Data(this, BlamLib.TagInterface.DataType.Bitmap));

            Add(BlurFilterSize = new TI.Real());
            Add(AlphaBias      = new TI.Real());
            Add(MipmapCount    = new TI.ShortInteger());

            Add(SpriteUsage   = new TI.Enum());
            Add(SpriteSpacing = new TI.ShortInteger());
            Add(ForceFormat   = new TI.Enum());

            Add(Sequences = new TI.Block <bitmap_group_sequence_block>(this, 256));
            Add(Bitmaps   = new TI.Block <bitmap_data_block>(this, 65536));

            AddPc(ColorCompressionQuality = new TI.ByteInteger());
            AddPc(AlphaCompressionQuality = new TI.ByteInteger());
            AddPc(Overlap          = new TI.ByteInteger());
            AddPc(ColorSubsampling = new TI.Enum(BlamLib.TagInterface.FieldType.ByteEnum));
        }
Ejemplo n.º 15
0
 public text_value_pair_definition_group() : base(4)
 {
     Add(Parameter   = new TI.Enum(TI.FieldType.LongEnum));
     Add(Title       = new TI.StringId());
     Add(Description = new TI.StringId());
     Add(Values      = new TI.Block <text_value_pair_reference_block>(this, 0));
 }
Ejemplo n.º 16
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));
        }
Ejemplo n.º 17
0
 public void Render(
     global_geometry_section_info_struct section_info,
     TI.Block <global_geometry_material_block> materials
     )
 {
     Section.Value.Render(section_info, materials);
 }
Ejemplo n.º 18
0
        public void Render(
            global_geometry_section_info_struct section_info,
            TI.Block <global_geometry_material_block> materials
            )
        {
            // TODO: update this shit fool
//          D3D.Device d = Editor.Renderer.GetDevice();
//          foreach(global_geometry_section_vertex_buffer_block svb in VertexBuffers)
//          {
//              TI.VertexBuffer vb = svb.VertexBuffer;
//              d.SetStreamSource(vb.StreamIndex, vb.Buffer, 0);
//          }
//          d.VertexDeclaration = Declaration;
//          d.Indices = IndexBuffer;
//          global_geometry_material_block mat;
//          foreach(global_geometry_part_block_new part in Parts)
//          {
//              d.DrawIndexedPrimitives(
//                  D3D.PrimitiveType.TriangleStrip,
//                  0, 0,
//                  section_info.TotalVertexCount,
//                  part.StripStartIndex,
//                  part.StripLength);
//              mat = materials[part.Material];
//          }
        }
Ejemplo n.º 19
0
		public sound_group() : base(26)
		{
			Add(Flags = new TI.Flags());
			Add(Class = new TI.Enum());
			Add(SampleRate = new TI.Enum());
			Add(Distance = new TI.RealBounds());
			Add(SkipFraction = new TI.Real(BlamLib.TagInterface.FieldType.RealFraction));
			Add(RandomPitchBounds = new TI.RealBounds());
			Add(InnerConeAngle = new TI.Real(BlamLib.TagInterface.FieldType.Angle));
			Add(OuterConeAngle = new TI.Real(BlamLib.TagInterface.FieldType.Angle));
			Add(OuterConeGain = new TI.Real(BlamLib.TagInterface.FieldType.RealFraction));
			Add(GainModifier = new TI.Real());
			Add(MaxBendPerSecond = new TI.Real());
			Add(new TI.Pad(12));
			Add(SkipFractionModifier1 = new TI.Real());
			Add(GainModifier1 = new TI.Real());
			Add(PitchModifier1 = new TI.Real());
			Add(new TI.Pad(12));
			Add(SkipFractionModifier2 = new TI.Real());
			Add(GainModifier2 = new TI.Real());
			Add(PitchModifier2 = new TI.Real());
			Add(new TI.Pad(12));
			Add(Encoding = new TI.Enum());
			Add(Compression = new TI.Enum());
			Add(PromotionSound = new TI.TagReference(this, TagGroups.snd_));
			Add(PromotionCount = new TI.ShortInteger());
			Add(new TI.Pad(2 + 20));
			Add(PitchRanges = new TI.Block<sound_pitch_range_block>(this, 8));
		}
 public structure_bsp_cache_file_tag_resources() : base(4)
 {
     Add(Block0  = new TI.Block <block_0>(this));
     Add(BlockC  = new TI.Block <block_C>(this));
     Add(Block18 = new TI.Block <block_18>(this));
     Add(TI.UnknownPad.BlockHalo3);             // haven't seen this used yet so not sure what the size is (may not be used in cache builds)
 }
Ejemplo n.º 21
0
 public virtual_keyboard_group() : base(4)
 {
     Add(DisplayFont                = new TI.TagReference(this, TagGroups.font));
     Add(BackgroundBitmap           = new TI.TagReference(this, TagGroups.bitm));
     Add(SpecialKeyLabelsStringList = new TI.TagReference(this, TagGroups.ustr));
     Add(VirtualKeys                = new TI.Block <virtual_key_block>(this, 44));
 }
Ejemplo n.º 22
0
 public shader_transparent_water_group() : base(22)
 {
     Add(Flags = TI.Flags.Word);
     Add(new TI.Pad(2 + 32));
     Add(BaseMap = new TI.TagReference(this, TagGroups.bitm));
     Add(new TI.Pad(16));
     Add(ViewPerpendicularBrightness = TI.Real.Fraction);
     Add(ViewPerpendicularTintColor  = new TI.RealColor());
     Add(ViewParallelBrightness      = TI.Real.Fraction);
     Add(ViewParallelTintColor       = new TI.RealColor());
     Add(new TI.Pad(16));
     Add(ReflectionMap = new TI.TagReference(this, TagGroups.bitm));
     Add(new TI.Pad(16));
     Add(RippleAnimationAngle    = TI.Real.Angle);
     Add(RippleAnimationVelocity = new TI.Real());
     Add(RippleScale             = new TI.Real());
     Add(RippleMaps         = new TI.TagReference(this, TagGroups.bitm));
     Add(RippleMipmapLevels = new TI.ShortInteger());
     Add(new TI.Pad(2));
     Add(RippleMipmapFadeFactor = TI.Real.Fraction);
     Add(RippleMipmapDetailBias = new TI.Real());
     Add(new TI.Pad(64));
     Add(Ripples = new TI.Block <shader_transparent_water_ripple_block>(this, 4));
     Add(new TI.Pad(16));
 }
Ejemplo n.º 23
0
        public physics_group() : base(24)
        {
            Add(Radius             = new TI.Real());
            Add(MomentScale        = new TI.Real(TI.FieldType.RealFraction));
            Add(Mass               = new TI.Real());
            Add(CenterOfMass       = new TI.RealPoint3D());
            Add(Density            = new TI.Real());
            Add(GravityScale       = new TI.Real());
            Add(GroundFriction     = new TI.Real());
            Add(GroundDepth        = new TI.Real());
            Add(GroundDampFraction = new TI.Real(TI.FieldType.RealFraction));
            Add(GroundNormalK1     = new TI.Real());
            Add(GroundNormalK0     = new TI.Real());
            Add(new TI.Pad(4));
            Add(WaterFriction = new TI.Real());
            Add(WaterDepth    = new TI.Real());
            Add(WaterDensity  = new TI.Real());
            Add(new TI.Pad(4));
            Add(AirFriction = new TI.Real());
            Add(new TI.Pad(4));
            Add(MomentXX = new TI.Real());
            Add(MomentYY = new TI.Real());
            Add(MomentZZ = new TI.Real());

            Add(InertialMatrixAndInverse = new TI.Block <inertial_matrix_block>(this, 2));
            Add(PoweredMassPoints        = new TI.Block <powered_mass_point_block>(this, 32));
            Add(MassPoints = new TI.Block <mass_point_block>(this, 32));
        }
 public unknown_30_block() : base(3)
 {
     Add(Unknown0 = new TI.Flags(TI.FieldType.ByteFlags));
     Add(Unknown1 = new TI.Flags(TI.FieldType.ByteFlags));
     Add(TI.Pad.Word);
     Add(Block4 = new TI.Block <unknown_4_block>(this, 0));
 }
Ejemplo n.º 25
0
 public sky_group() : base(22)
 {
     Add(Model     = new TI.TagReference(this, TagGroups.mod2));
     Add(Animation = new TI.TagReference(this, TagGroups.antr));
     Add(new TI.Pad(24));
     Add(IndoorAmbientRadiosityColor  = new TI.RealColor(TI.FieldType.RealRgbColor));
     Add(IndoorAmbientRadiosityPower  = new TI.Real());
     Add(OutdoorAmbientRadiosityColor = new TI.RealColor(TI.FieldType.RealRgbColor));
     Add(OutdoorAmbientRadiosityPower = new TI.Real());
     Add(OutdoorFogColor = new TI.RealColor(TI.FieldType.RealRgbColor));
     Add(new TI.Pad(8));
     Add(OutdoorFogMaximumDensity = new TI.Real(TI.FieldType.RealFraction));
     Add(OutdoorFogStartDistance  = new TI.Real());
     Add(OutdoorFogOpaqueDistance = new TI.Real());
     Add(IndoorFogColor           = new TI.RealColor(TI.FieldType.RealRgbColor));
     Add(new TI.Pad(8));
     Add(IndoorFogMaximumDensity = new TI.Real(TI.FieldType.RealFraction));
     Add(IndoorFogStartDistance  = new TI.Real());
     Add(IndoorFogOpaqueDistance = new TI.Real());
     Add(IndoorFogScreen         = new TI.TagReference(this, TagGroups.fog_));
     Add(new TI.Pad(4));
     Add(ShaderFunctions = new TI.Block <sky_shader_function_block>(this, 8));
     Add(Animations      = new TI.Block <sky_animation_block>(this, 8));
     Add(Lights          = new TI.Block <sky_light_block>(this, 8));
 }
Ejemplo n.º 26
0
            public static void Output(System.IO.StreamWriter s, TI.Block <cache_file_resource_gestalt_64_block> block, string name)
            {
                if (block.Count == 0)
                {
                    return;
                }

                const string format =
                    "\t{0}\t\t{1}" + Program.NewLine +                  // Unknown044
                    "\t\t\t{2}\t{3}\t{4}\t{5}\t{6}"                     // Unknown030-Unknown040
                ;

                s.WriteLine("{0}\tcache_file_resource_gestalt_64_block\t({1})", block.Count, name);
                int x = 0;

                foreach (cache_file_resource_gestalt_64_block def in block)
                {
                    s.WriteLine(format, (x++).ToString(),
                                def.Unknown044.ToString(),
                                def.Unknown030.Value.ToString("X8"), def.Unknown034.Value.ToString("X8"),
                                def.Unknown038.Value.ToString("X8"), def.Unknown03C.Value.ToString("X8"),
                                def.Unknown040.Value.ToString("X8"));
                    s.WriteLine();
                }
            }
Ejemplo n.º 27
0
 public tag_database_entry_block() : base(4)
 {
     Add(Name     = new TI.String(TI.StringType.Ascii, 256));
     Add(GroupTag = new TI.Tag());
     Add(Flags    = new TI.LongInteger());
     Add(ChildIds = new TI.Block <tag_database_entry_reference_block>(this, 65535));
 }
Ejemplo n.º 28
0
			public model_markers_block() : base(4)
			{
				Add(Name = new TI.String());
				Add(MagicIdentifer = new TI.ShortInteger());
				Add(new TI.Pad(2 + 16));
				Add(Instances = new TI.Block<model_marker_instance_block>(this, 32));
			}
        public contrail_group() : base(19)
        {
            Add(Flags      = new TI.Flags(BlamLib.TagInterface.FieldType.WordFlags));
            Add(ScaleFlags = new TI.Flags(BlamLib.TagInterface.FieldType.WordFlags));

            Add(PointGenerationRate       = new TI.Real());
            Add(PointVelocity             = new TI.RealBounds());
            Add(PointVelocityConeAngle    = new TI.Real(BlamLib.TagInterface.FieldType.Angle));
            Add(InheritedVelocityFraction = new TI.Real(BlamLib.TagInterface.FieldType.RealFraction));
            Add(RenderType = new TI.Enum());
            Add(new TI.Pad(2));
            Add(TextureRepeatsU    = new TI.Real());
            Add(TextureRepeatsV    = new TI.Real());
            Add(TextureAnimationU  = new TI.Real());
            Add(TextureAnimationV  = new TI.Real());
            Add(AnimationRate      = new TI.Real());
            Add(Bitmap             = new TI.TagReference(this, TagGroups.bitm));
            Add(FirstSequenceIndex = new TI.ShortInteger());
            Add(SequenceCount      = new TI.ShortInteger());
            Add(new TI.Pad(64));

            // Map is 'Secondary Map'
            Add(ShaderMap   = new TI.Struct <shader_map_struct>(this));
            Add(PointStates = new TI.Block <contrail_point_states_block>(this, 16));
        }
            public static void Output(StreamWriter s, TI.Block <cache_file_resource_gestalt_tag_resource_block> block)
            {
                const string format =
                    "\t{0}\t\t{1}\t{2}\t{3}\t{4}.{5}" + Program.NewLine + // Header,Type,Flags,Reference,ReferenceTagGroup
                    "\t\t\t{6:X8}\t{7:X8}\t{8:X8}" + Program.NewLine +    // Offset, Size, ?Offset
                    "\t\t\t{9:X4}\t{10:X4}\t{11:X8}"                      // 020, SegmentIndex, DefinitionOffset
                ;

                s.WriteLine("{0}\ttag_resource_block", block.Count);
                int x = 0;

                foreach (cache_file_resource_gestalt_tag_resource_block def in block)
                {
                    if (def.Reference.Datum != DatumIndex.Null)
                    {
                        s.WriteLine(format, x.ToString(),
                                    def.Header.Value.ToString("X4"), def.ResourceType.Value.ToString("X2"), def.Flags.Value.ToString("X2"), def.Reference.ToString(), def.Reference.GroupTag.Name,
                                    def.BlockOffset.Value.ToString("X8"), def.BlockSize.Value.ToString("X8"), def.UnknownOffset.Value.ToString("X8"),
                                    def.Unknown020.Value.ToString("X4"), def.SegmentIndex.Value.ToString("X4"), def.DefinitionOffset.Value.ToString("X8")
                                    );
                        s.WriteLine();
                        resource_fixup_block.Output(s, def.ResourceFixups);
                        s.WriteLine();
                        resource_definition_fixup_block.Output(s, def.ResourceDefinitionFixups);
                    }
                    else
                    {
                        s.WriteLine("\t{0}\t\tNULL", x.ToString());
                    }
                    x++;

                    s.WriteLine();
                }
            }
Ejemplo n.º 31
0
 public global_hud_multitexture_overlay_definition() : base(25)
 {
     Add(new TI.Pad(2));
     Add(Type = new TI.ShortInteger());
     Add(FrameBufferBlendFunc = new TI.Enum());
     Add(new TI.Pad(2 + 32));
     Add(AnchorsPrimaryAnchor   = new TI.Enum());
     Add(AnchorsSecondaryAnchor = new TI.Enum());
     Add(AnchorsTertiaryAnchor  = new TI.Enum());
     Add(BlendFunc0To1          = new TI.Enum());
     Add(BlendFunc1To2          = new TI.Enum());
     Add(new TI.Pad(2));
     Add(MapScalesPrimaryAnchor    = new TI.RealPoint2D());
     Add(MapScalesSecondaryAnchor  = new TI.RealPoint2D());
     Add(MapScalesTertiaryAnchor   = new TI.RealPoint2D());
     Add(MapOffsetsPrimaryAnchor   = new TI.RealPoint2D());
     Add(MapOffsetsSecondaryAnchor = new TI.RealPoint2D());
     Add(MapOffsetsTertiaryAnchor  = new TI.RealPoint2D());
     Add(MapPrimaryAnchor          = new TI.TagReference(this, TagGroups.bitm));
     Add(MapSecondaryAnchor        = new TI.TagReference(this, TagGroups.bitm));
     Add(MapTertiaryAnchor         = new TI.TagReference(this, TagGroups.bitm));
     Add(PrimaryWrapMode           = new TI.Enum());
     Add(SecondaryWrapMode         = new TI.Enum());
     Add(TertiaryWrapMode          = new TI.Enum());
     Add(new TI.Pad(2 + 184));
     Add(Effectors = new TI.Block <global_hud_multitexture_overlay_effector_definition>(this, 30));
     Add(new TI.Pad(128));
 }
Ejemplo n.º 32
0
 public sound_group() : base(26)
 {
     Add(Flags             = new TI.Flags());
     Add(Class             = new TI.Enum());
     Add(SampleRate        = new TI.Enum());
     Add(Distance          = new TI.RealBounds());
     Add(SkipFraction      = new TI.Real(BlamLib.TagInterface.FieldType.RealFraction));
     Add(RandomPitchBounds = new TI.RealBounds());
     Add(InnerConeAngle    = new TI.Real(BlamLib.TagInterface.FieldType.Angle));
     Add(OuterConeAngle    = new TI.Real(BlamLib.TagInterface.FieldType.Angle));
     Add(OuterConeGain     = new TI.Real(BlamLib.TagInterface.FieldType.RealFraction));
     Add(GainModifier      = new TI.Real());
     Add(MaxBendPerSecond  = new TI.Real());
     Add(new TI.Pad(12));
     Add(SkipFractionModifier1 = new TI.Real());
     Add(GainModifier1         = new TI.Real());
     Add(PitchModifier1        = new TI.Real());
     Add(new TI.Pad(12));
     Add(SkipFractionModifier2 = new TI.Real());
     Add(GainModifier2         = new TI.Real());
     Add(PitchModifier2        = new TI.Real());
     Add(new TI.Pad(12));
     Add(Encoding       = new TI.Enum());
     Add(Compression    = new TI.Enum());
     Add(PromotionSound = new TI.TagReference(this, TagGroups.snd_));
     Add(PromotionCount = new TI.ShortInteger());
     Add(new TI.Pad(2 + 20));
     Add(PitchRanges = new TI.Block <sound_pitch_range_block>(this, 8));
 }
Ejemplo n.º 33
0
        public biped_group() : base(51)
        {
            Add(MovingTurningSpeed = new TI.Real(BlamLib.TagInterface.FieldType.Angle));
            Add(Flags = new TI.Flags());
            Add(StationaryTurningThreshold = new TI.Real(BlamLib.TagInterface.FieldType.Angle));
            Add(new TI.Pad(16));
            Add(AinBiped = new TI.Enum());
            Add(BinBiped = new TI.Enum());
            Add(CinBiped = new TI.Enum());
            Add(DinBiped = new TI.Enum());
            Add(DontUse  = new TI.TagReference(this, TagGroups.jpt_));

            Add(BankAngle              = new TI.Real(BlamLib.TagInterface.FieldType.Angle));
            Add(BankApplyTime          = new TI.Real());
            Add(BankDecayTime          = new TI.Real());
            Add(PitchRatio             = new TI.Real());
            Add(MaxVelocity            = new TI.Real());
            Add(MaxSidestepVelocity    = new TI.Real());
            Add(Acceleration           = new TI.Real());
            Add(Deceleration           = new TI.Real());
            Add(AngularVelocityMax     = new TI.Real(BlamLib.TagInterface.FieldType.Angle));
            Add(AngularAccelerationMax = new TI.Real(BlamLib.TagInterface.FieldType.Angle));
            Add(CrouchVelocityModifier = new TI.Real());
            Add(new TI.Pad(8));

            Add(MaxSlopeAngle         = new TI.Real(BlamLib.TagInterface.FieldType.Angle));
            Add(DownhillFalloffAngle  = new TI.Real(BlamLib.TagInterface.FieldType.Angle));
            Add(DownhillCutoffAngle   = new TI.Real(BlamLib.TagInterface.FieldType.Angle));
            Add(DownhillVelocityScale = new TI.Real());
            Add(UphillFalloffAngle    = new TI.Real(BlamLib.TagInterface.FieldType.Angle));
            Add(UphillCutoffAngle     = new TI.Real(BlamLib.TagInterface.FieldType.Angle));
            Add(UphillVelocityScale   = new TI.Real());
            Add(new TI.Pad(24));
            Add(Footsteps = new TI.TagReference(this, TagGroups.foot));
            Add(new TI.Pad(24));

            Add(JumpVelocity = new TI.Real());
            Add(new TI.Pad(28));
            Add(MaxSoftLandingTime       = new TI.Real());
            Add(MaxHardLandingTime       = new TI.Real());
            Add(MinSoftLandingVelocity   = new TI.Real());
            Add(MinHardLandingVelocity   = new TI.Real());
            Add(MaxHardLandingVelocity   = new TI.Real());
            Add(DeathHardLandingVelocity = new TI.Real());
            Add(new TI.Pad(20));

            Add(StandingCameraHeight  = new TI.Real());
            Add(CrouchingCameraHeight = new TI.Real());
            Add(CrouchTransitionTime  = new TI.Real());
            Add(new TI.Pad(24));
            Add(StandingCollisionHeight  = new TI.Real());
            Add(CrouchingCollisionHeight = new TI.Real());
            Add(CollisionRadius          = new TI.Real());
            Add(new TI.Pad(40));
            Add(AutoaimWidth = new TI.Real());
            Add(new TI.Pad(140));

            Add(ContactPoints = new TI.Block <contact_point_block>(this, 2));
        }
Ejemplo n.º 34
0
		public breakable_surface_group() : base(5)
		{
			Add(MaximumVitality = new TI.Real());
			Add(Effect = new TI.TagReference(this, TagGroups.effe));
			Add(Sound = new TI.TagReference(this, TagGroups.snd_));
			Add(ParticleEffects = new TI.Block<particle_system_definition_block_new>(this, 32));
			Add(ParticleDensity = new TI.Real());
		}
Ejemplo n.º 35
0
			public bitmap_group_sequence_block()
			{
				Add(Name = new TI.String());
				Add(FirstBitmapIndex = new TI.BlockIndex());
				Add(BitmapCount = new TI.ShortInteger());
				Add(new TI.Pad(16));
				Add(Sprites = new TI.Block<bitmap_group_sprite_block>(this, 64));
			}
Ejemplo n.º 36
0
			public sound_pitch_range_block() : base(6)
			{
				Add(Name = new TI.String());
				Add(NaturalPitch = new TI.Real());
				Add(BendBounds = new TI.RealBounds());
				Add(ActualPermutationCount = new TI.ShortInteger());
				Add(new TI.Pad(2 + 12));
				Add(Permutations = new TI.Block<sound_permutations_block>(this, 256));
			}
Ejemplo n.º 37
0
		public global_shader_parameter_block() : base(7)
		{
			/*0x00*/Add(Name = new TI.StringId());
			/*0x04*/Add(Type = new TI.Enum());
			/*0x06*/Add(RuntimeFlags = new TI.Flags(TI.FieldType.WordFlags)); // was Pad
			/*0x08*/Add(Bitmap = new TI.TagReference(this, TagGroups.bitm));
			/*0x18*/Add(ConstValue = new TI.Real());
			/*0x1C*/Add(ConstColor = new TI.RealColor());
			/*0x28*/Add(AnimationProperties = new TI.Block<shader_animation_property_block>(this, 14));
		}
Ejemplo n.º 38
0
		public antenna_group() : base(9)
		{
			Add(AttachmentMarkerName = new TI.String());
			Add(Bitmaps = new TI.TagReference(this, TagGroups.bitm));
			Add(Physics = new TI.TagReference(this, TagGroups.phys));
			Add(new TI.Pad(80));
			Add(SpringStrenthCoefficent = new TI.Real(BlamLib.TagInterface.FieldType.RealFraction));
			Add(FalloffPixels = new TI.Real());
			Add(CutoffPixels = new TI.Real());
			Add(new TI.Pad(40));
			Add(Vertices = new TI.Block<antenna_vertex_block>(this, 20));
		}
Ejemplo n.º 39
0
		public scenario_structure_bsp_group()
		{
			Add(new TI.UnknownPad(12));
				// dword (structure checksum?)
				// long?
				// dword
			Add(TI.UnknownPad.BlockHalo3); // [0x28]
				// unknown [0x10] (seems when this is zero, the first tag block is filled with NONE, and the second isnt even used)
				// tag block [0x4]
					// long
				// tag block [0x16]
					// long
					// real_point3d
			Add(TI.UnknownPad.BlockHalo3); // [0x4]
				// long (pretty sure block index)
			Add(CollisionMaterials = new TI.Block<structure_collision_materials_block>(this, 512));
			Add(TI.UnknownPad.BlockHalo3); // tag block [0x1], Cluster Data?
			Add(/*World Bounds x = */ new TI.RealBounds());
			Add(/*World Bounds y = */ new TI.RealBounds());
			Add(/*World Bounds z = */ new TI.RealBounds());
			Add(TI.UnknownPad.BlockHalo3); // tag block [0x4]
				// short
				// short
			// 0x60
			Add(TI.UnknownPad.BlockHalo3); // [0x4] Surface References?
				// short
				// short // sound enviorn palette ref?
			Add(ClusterPortals = new TI.Block<structure_bsp_cluster_portal_block>(this, 512));
			Add(TI.UnknownPad.BlockHalo3); // ??
			Add(TI.UnknownPad.BlockHalo3); // [0x8] // fog related
				// string id
				// short
				// short
			Add(TI.UnknownPad.BlockHalo3); // camera fx
				// string id (name)
				// reference (cfxs, settings)
				// byte (enum?)
				// unknown [3]
				// real
				// dword (real?)
				// real
				// real
				// real
				// dword (real?)
			Add(TI.UnknownPad.BlockHalo3); // ?? Weather Polyhedra?
			// 0xA8
			Add(TI.UnknownPad.BlockHalo3); // [0x34] Detail Objects (pretty sure)
				// unknown [0x34] (only seen it as zeros)
			Add(Clusters = new TI.Block<structure_bsp_cluster_block>(this, 512));
			// 0xC0
			Add(Materials = new TI.Block<global_geometry_material_block>(this, 1024));
			Add(/*Sky Owner Cluster = */ new TI.Block<structure_bsp_sky_owner_cluster_block>(this, 32));
			Add(TI.UnknownPad.BlockHalo3); // conveyor surfaces
			Add(TI.UnknownPad.BlockHalo3); // breakable surfaces
			// 0xF0
			Add(/*Pathfinding Data = */ new TI.Block<pathfinding_data_block>(this, 16));
			Add(TI.UnknownPad.BlockHalo3); // pathfinding edges
			Add(/*Sound Environment Palette = */ new TI.Block<structure_bsp_sound_environment_palette_block>(this, 64));
			// 0x114
			Add(new TI.UnknownPad(44)); // 1 tag data, 2 tag blocks but idk the order
			Add(/*Markers = */ new TI.Block<structure_bsp_marker_block>(this, 1024));
			Add(TI.UnknownPad.BlockHalo3); // ?? Runtime Decals?
			Add(TI.UnknownPad.BlockHalo3); // [0x2]
				// short (block index?)
				// short (i think this is a index too)
			Add(/*Compression Infos = */ new TI.Block<global_geometry_compression_info_block>(this, 0));
			// 0x170
			Add(/*Environment Object Palette = */ new TI.Block<structure_bsp_environment_object_palette_block>(this, 100));
			Add(/*Environment Objects = */ new TI.Block<structure_bsp_environment_object_block>(this, 16384));
			Add(TI.UnknownPad.BlockHalo3); // Old Lightmaps
			Add(new TI.Pad(4));
			Add(TI.UnknownPad.BlockHalo3); // Old Leaf Map Leaves
			Add(TI.UnknownPad.BlockHalo3); // Old Leaf Map Connections
			// 0x1B0
			Add(InstancedGeometryInstances = new TI.Block<structure_bsp_instanced_geometry_instances_block>(this, 1024));
			Add(/*Decorator Palette = */ new TI.Block<structure_decorator_palette_block>(this, 0));
			Add(TI.UnknownPad.DWord);
			Add(new TI.UnknownPad(120));
			Add(BspRenderResourcesIndex = new TI.LongInteger()); // resource id (render_geometry_api_resource_definition)
			Add(TI.UnknownPad.DWord);
			// 0x24C
			Add(TI.UnknownPad.BlockHalo3); // structure_bsp_sound_cluster_block (Ambience Sound Clusters?)
			Add(TI.UnknownPad.BlockHalo3); // structure_bsp_sound_cluster_block (Reverb Sound Clusters?)
			Add(TI.UnknownPad.BlockHalo3); // structure_bsp_sound_cluster_block (? Sound Clusters)
			// 0x270
			Add(/*Transparent Planes = */ new TI.Block<transparent_planes_block>(this, 32768));
			Add(TI.UnknownPad.BlockHalo3); // breakable_surface_key_table_block?
			Add(/*structure_physics = */ new TI.Struct<global_structure_physics_struct>(this));
			Add(TI.UnknownPad.BlockHalo3); // [0x20] (i think this may be cluster related)
				// short (block index)
				// byte
				// byte
				// long
				// real bounds[3] (xyz bounds)
			Add(new TI.UnknownPad(24));
			Add(TI.UnknownPad.DWord);
			
			// 0x2E4
			Add(TI.UnknownPad.BlockHalo3); // tag block [0x4C] render_model_section_block
			Add(TI.UnknownPad.BlockHalo3); // tag block [0x2C] global_geometry_compression_info_block
			Add(TI.UnknownPad.BlockHalo3); // tag block [0x30]
				// unknown [0x10]
				// real[4] (might be a hkVector4 or just a real_point3d + real)
				// long (might byte 4 byte indexers)
				// real
				// real
				// real
			Add(TI.UnknownPad.BlockHalo3); // tag block [0x18] functions
				// string id (input)
				// mapping_function
			Add(TI.UnknownPad.BlockHalo3); // tag block [0x?]
			Add(TI.UnknownPad.BlockHalo3); // tag block [0x20] (count matches render_model_section_block)
				// tag data
			Add(TI.UnknownPad.BlockHalo3); // ?
			Add(TI.UnknownPad.BlockHalo3); // ? (should be a 0xC block)
			Add(TI.UnknownPad.BlockHalo3); // ?
			// 0x350
			Add(TI.UnknownPad.BlockHalo3); // tag block [0x10]
			// 0x35C
			Add(new TI.UnknownPad(8 + 12));
				// resource id (will point to a null item, render_geometry_api_resource_definition)
				// dword
				// tag block

			Add(TI.UnknownPad.BlockHalo3); // tag block? maybe this points to the structure_bsp_tag_resources block data in the zone tag
			
			Add(BspTagResourcesIndex = new TI.LongInteger()); // resource id (structure_bsp_tag_resources)
			Add(TI.Pad.DWord);
			
			Add(TI.Pad.DWord);
		}
Ejemplo n.º 40
0
			public structure_bsp_tag_resources_odst() : base(4)
			{
				Add(BspCollision = new TI.Block<global_collision_bsp_block>(this, 1));
				Add(TI.UnknownPad.BlockHalo3); // [0x?]
				Add(InstancedGeometryDefinitions = new TI.Block<structure_bsp_instanced_geometry_definition_block>(this, 0));
				Add(TI.UnknownPad.BlockHalo3); // [0x?]
			}
Ejemplo n.º 41
0
			public structure_bsp_tag_resources() : base(2)
			{
				Add(BspCollision = new TI.Block<global_collision_bsp_block>(this, 1));
				Add(InstancedGeometryDefinitions = new TI.Block<structure_bsp_instanced_geometry_definition_block>(this, 0));
			}
Ejemplo n.º 42
0
			public structure_bsp_instanced_geometry_definition_block()
			{
				Add(Unknown00 = new TI.LongInteger());
				Add(BoundingSphereCenter = new TI.RealPoint3D());
				Add(BoundingSphereRadis = new TI.Real());
				Add(CollisionInfo = new TI.Struct<global_collision_bsp_struct>(this));

				// collision_bsp_physics_struct
				Add(/*bsps = */ new TI.Block<global_collision_bsp_block>(this, 0));
				Add(new TI.Block<mopp_code_block>(this, 0));
				Add(TI.UnknownPad.BlockHalo3); // [0x?] (physics related)

				Add(Unknown98 = new TI.Block<block_98>(this, 0));
				Add(UnknownA4 = new TI.Block<block_A4>(this, 0));
				Add(UnknownB0 = new TI.ShortInteger());
				Add(UnknownB2 = new TI.ShortInteger());
				Add(UnknownB4 = new TI.Real());
			}
Ejemplo n.º 43
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));
		}
Ejemplo n.º 44
0
			public sandbox_text_value_pair_value_block()
			{
				Add(Name = new TI.StringId());
				Add(Values = new TI.Block<sandbox_text_value_pair_reference_block>(this, 32));
			}
Ejemplo n.º 45
0
				public squads_block() : base(31)
				{
					Add(Name = new TI.String());
					Add(ActorType = new TI.BlockIndex());
					Add(Platoon = new TI.BlockIndex());
					Add(InitialState = new TI.Enum());
					Add(ReturnState = new TI.Enum());
					Add(Flags = new TI.Flags());
					Add(UniqueLeaderType = new TI.Enum());
					Add(new TI.Pad(2 + 28 + 2));
					Add(ManeuverToSquad = new TI.BlockIndex());
					Add(SquadDelayTimer = new TI.Real());
					Add(Attacking = new TI.Flags());
					Add(AttackingSearch = new TI.Flags());
					Add(AttackingGuard = new TI.Flags());
					Add(Defending = new TI.Flags());
					Add(DefendingSearch = new TI.Flags());
					Add(DefendingGuard = new TI.Flags());
					Add(Pursuing = new TI.Flags());
					Add(new TI.Pad(4 + 8));
					Add(NormalDiffCount = new TI.ShortInteger());
					Add(InsaneDiffCount = new TI.ShortInteger());
					Add(MajorUpgrade = new TI.Enum());
					Add(new TI.Pad(2));
					Add(RespawnMinActors = new TI.ShortInteger());
					Add(RespawnMaxActors = new TI.ShortInteger());
					Add(RespawnTotal = new TI.ShortInteger());
					Add(new TI.Pad(2));
					Add(RespawnDelay = new TI.RealBounds());
					Add(new TI.Pad(48));
					Add(MovePositions = new TI.Block<move_positions_block>(this, 32));
					Add(StartingLocations = new TI.Block<actor_starting_locations_block>(this, 32));
					Add(new TI.Pad(12));
				}
Ejemplo n.º 46
0
		public ai_dialogue_globals_group() : base(5)
		{
			Add(Vocalizations = new TI.Block<vocalization_definitions_block_0>(this, 500));
			Add(Patterns = new TI.Block<vocalization_patterns_block>(this, 1000));
			Add(new TI.Pad(12));
			Add(DialogueData = new TI.Block<dialogue_data_block>(this, 200));
			Add(InvoluntaryData = new TI.Block<involuntary_data_block>(this, 100));
		}
Ejemplo n.º 47
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);
		}
Ejemplo n.º 48
0
			public ai_conversation_block() : base(9)
			{
				Add(Name = new TI.String());
				Add(Flags = new TI.Flags(BlamLib.TagInterface.FieldType.WordFlags));
				Add(new TI.Pad(2));
				Add(TriggerDistance = new TI.Real());
				Add(RunToPlayerDist = new TI.Real());
				Add(new TI.Pad(36));
				Add(Participants = new TI.Block<ai_conversation_participant_block>(this, 8));
				Add(Lines = new TI.Block<ai_conversation_line_block>(this, 32));
				Add(new TI.Pad(12));
			}
Ejemplo n.º 49
0
			public ai_command_list_block() : base(8)
			{
				Add(Name = new TI.String());
				Add(Flags = new TI.Flags());
				Add(new TI.Pad(8));
				Add(ManualBspIndex = new TI.ShortInteger());
				Add(new TI.Pad(2));
				Add(Commands = new TI.Block<ai_command_block>(this, 64));
				Add(Points = new TI.Block<ai_command_point_block>(this, 64));
				Add(new TI.Pad(24));
			}
Ejemplo n.º 50
0
			public encounter_block() : base(12)
			{
				Add(Name = new TI.String());
				Add(Flags = new TI.Flags());
				Add(TeamIndex = new TI.Enum());
				Add(new TI.Skip(2));
				Add(SearchBehavoir = new TI.Enum());
				Add(ManualBspIndex = new TI.ShortInteger());
				Add(RespawnDelay = new TI.RealBounds());
				Add(new TI.Pad(76));
				Add(Squads = new TI.Block<squads_block>(this, 64));
				Add(Platoons = new TI.Block<platoons_block>(this, 32));
				Add(FiringPositions = new TI.Block<firing_positions_block>(this, 512));
				Add(PlayerStartingLocations = new TI.Block<scenario_players_block>(this, 256));
			}
Ejemplo n.º 51
0
		public structure_design_group() : base(6)
		{
			Add(new TI.LongInteger()); // flags?
			Add(MoppCode = new TI.Block<mopp_code_block>(this, 0)); // may be for soft ceilings?
			Add(SoftCeilings = new TI.Block<structure_design_soft_ceiling_block>(this, 0));

			// water physics
			Add(new TI.Block<mopp_code_block>(this, 0)); // only seen instanced when water physics present
			Add(TI.UnknownPad.BlockHalo3); // [0x4] water physics names
				// string id name
			Add(TI.UnknownPad.BlockHalo3); // [0x2C]
				// short (either self indexing or index to water physics names. money is on the later)
				// word (maybe flags, only seen as zero)
				// real
				// real
				// real
				// dword
				// tag block [0x10]
					// real 4d (i think this may be a hkVector4D due to 'w's usage)
				// tag block ??
		}
Ejemplo n.º 52
0
		public character_group() : base(38)
		{
			Add(Flags = new TI.Flags());
			Add(new TI.UselessPad(24));
			Add(ParentCharacter = new TI.TagReference(this, TagGroups.char_));
			Add(Unit = new TI.TagReference(this, TagGroups.unit));
			Add(Creature = new TI.TagReference(this, TagGroups.crea));
			Add(Style = new TI.TagReference(this, TagGroups.styl));
			Add(new TI.UselessPad(16));
			Add(MajorCharacter = new TI.TagReference(this, TagGroups.char_));
			Add(new TI.UselessPad(12));
			Add(Variants = new TI.Block<character_variants_block>(this, 64));
			Add(new TI.UselessPad(36));
			Add(GeneralProperties = new TI.Block<character_general_block>(this, 1));
			Add(VitalityProperties = new TI.Block<character_vitality_block>(this, 1));
			Add(PlacementProperties = new TI.Block<character_placement_block>(this, 1));
			Add(PerceptionProperties = new TI.Block<character_perception_block>(this, 4));
			Add(LookProperties = new TI.Block<character_look_block>(this, 1));
			Add(MovementProperties = new TI.Block<character_movement_block>(this, 1));
			Add(SwarmProperties = new TI.Block<character_swarm_block>(this, 3));
			Add(new TI.UselessPad(36));
			Add(ReadyProperties = new TI.Block<character_ready_block>(this, 3));
			Add(EngageProperties = new TI.Block<character_engage_block>(this, 3));
			Add(/*charge properties = */ new TI.Block<character_charge_block>(this, 3));
			Add(/*evasion properties = */ new TI.Block<character_evasion_block>(this, 3));
			Add(/*cover properties = */ new TI.Block<character_cover_block>(this, 3));
			Add(/*retreat properties = */ new TI.Block<character_retreat_block>(this, 3));
			Add(/*search properties = */ new TI.Block<character_search_block>(this, 3));
			Add(/*pre-search properties = */ new TI.Block<character_presearch_block>(this, 3));
			Add(/*idle properties = */ new TI.Block<character_idle_block>(this, 3));
			Add(/*vocalization properties = */ new TI.Block<character_vocalization_block>(this, 1));
			Add(/*boarding properties = */ new TI.Block<character_boarding_block>(this, 1));
			Add(new TI.UselessPad(12));
			Add(/*boss properties = */ new TI.Block<character_boss_block>(this, 1));
			Add(/*weapons properties = */ new TI.Block<character_weapons_block>(this, 100));
			Add(/*firing pattern properties = */ new TI.Block<character_firing_pattern_properties_block>(this, 100));
			Add(new TI.UselessPad(24));
			Add(/*grenades properties = */ new TI.Block<character_grenades_block>(this, 10));
			Add(new TI.UselessPad(24));
			Add(/*vehicle properties = */ new TI.Block<character_vehicle_block>(this, 100));
		}
Ejemplo n.º 53
0
		public pathfinding_data_block() : base(13)
		{
			Add(Sectors = new TI.Block<sector_block>(this, 65534));
			Add(Links = new TI.Block<sector_link_block>(this, 262144));
			Add(Refs = new TI.Block<ref_block>(this, 131072));
			Add(Bsp2dNodes = new TI.Block<sector_bsp2d_nodes_block>(this, 131072));
			// no more surface flags block
			Add(Vertices = new TI.Block<sector_vertex_block>(this, 65535));
			Add(ObjectRefs = new TI.Block<environment_object_refs>(this, 2000)); // i think max is just 1 now?
			Add(PathfindingHints = new TI.Block<pathfinding_hints_block>(this, 32767));
			Add(InstancedGeometryRefs = new TI.Block<instanced_geometry_reference_block>(this, 1024));
			Add(StructureChecksum = new TI.LongInteger());
			Add(TI.UnknownPad.BlockHalo3); // ??
			Add(TI.UnknownPad.BlockHalo3); // ??
			Add(TI.UnknownPad.BlockHalo3); // [0xC]
				// tag block [0x4] long
			Add(new TI.UnknownPad(28)); // maybe 2 tag blocks plus 1 dword?
		}
Ejemplo n.º 54
0
		public sound_classes_group() : base(1)
		{
			Add(SoundClasses = new TI.Block<sound_class_block>(this, 54));
		}
Ejemplo n.º 55
0
		public ai_mission_dialogue_group() : base(1)
		{
			Add(Lines = new TI.Block<mission_dialogue_lines_block>(this, 500));
		}
Ejemplo n.º 56
0
		public global_structure_physics_struct() : base(6)
		{
			Add(MoppCode = new TI.Block<mopp_code_block>(this, 0));
			Add(new TI.Pad(4));
			Add(/*MoppBoundsMin =*/ new TI.RealPoint3D());
			Add(/*MoppBoundsMax =*/ new TI.RealPoint3D());
			Add(MoppCode2 = new TI.Block<mopp_code_block>(this, 0));
		}
Ejemplo n.º 57
0
		public text_value_pair_definition_group()
		{
			Add(Parameter = new TI.Enum(TI.FieldType.LongEnum)); // 0x26C options, last 0x15 are templated options and can't be get\set
			Add(Title = new TI.StringId());
			Add(Description = new TI.StringId());
			Add(Values = new TI.Block<text_value_pair_reference_block>(this, 32));
		}
Ejemplo n.º 58
0
		public structure_bsp_cluster_block() : base()
		{
			Add(BoundsX = new TI.RealBounds());
			Add(BoundsY = new TI.RealBounds());
			Add(BoundsZ = new TI.RealBounds());
			Add(ScenarioSkyIndex = new TI.ByteInteger());
			Add(MediaIndex = new TI.ByteInteger());
			Add(ScenarioVisibleSkyIndex = new TI.ByteInteger());
			Add(ScenarioAtmosphericFogIndex = new TI.ByteInteger());
			Add(new TI.ShortInteger());
			Add(new TI.ShortInteger());
			Add(BackgroundSound = new TI.BlockIndex()); // 1 structure_bsp_background_sound_palette_block
			Add(SoundEnvironment = new TI.BlockIndex()); // 1 structure_bsp_sound_environment_palette_block
			Add(Weather = new TI.BlockIndex()); // 1 structure_bsp_weather_palette_block
			Add(new TI.ShortInteger()); // TransitionStructureBsp?
			Add(new TI.ShortInteger()); // block index?
			Add(new TI.BlockIndex()); // doesnt seem to be to anything in the actual bsp data
			Add(new TI.ShortInteger()); // flags?
			Add(new TI.Flags(TI.FieldType.WordFlags));
			Add(TI.UnknownPad.BlockHalo3); // ??
			Add(TI.UnknownPad.BlockHalo3); // [0x2]
			Add(new TI.UnknownPad(4 + 20)); // '20' starts a hkShapeContainer object
			Add(new TI.TagReference(this, TagGroups.sbsp));
			Add(new TI.UnknownPad(32));
			Add(CollisionMoppCode = new TI.Block<mopp_code_block>(this, 0));
			Add(TI.UnknownPad.DWord);
			Add(TI.UnknownPad.BlockHalo3); // [0x4]
			// 0xAC
			Add(TI.UnknownPad.BlockHalo3); // [0x30]
				// short (count, w/e the elements are they are sizeof(0x10))
				// short (or two bytes)
				// long offset
				// real_point3d
				// real[4]
				// real_point3d
			Add(TI.UnknownPad.BlockHalo3); // ??
			Add(TI.UnknownPad.BlockHalo3); // [0x4]
				// short
				// short
			Add(TI.UnknownPad.BlockHalo3); // [0x10]
				// real_point3d
				// short
				// short
		}
Ejemplo n.º 59
0
		public sandbox_text_value_pair_definition_group()
		{
			Add(Values = new TI.Block<sandbox_text_value_pair_value_block>(this, 32));
		}
Ejemplo n.º 60
0
		public sound_gestalt_extra_info_block() : base(2)
		{
			Add(EncodedPermutationSection = new TI.Block<sound_encoded_dialogue_section_block>(this, 1));
			Add(GeometryBlockInfo = new TI.Struct<geometry_block_info_struct>(this));
		}