Пример #1
0
            public projectile_material_response_block() : base(21)
            {
                Add(Flags = new TI.Flags(BlamLib.TagInterface.FieldType.WordFlags));

                Add(Response = new TI.Enum());
                Add(Effect   = new TI.TagReference(this, TagGroups.effe));
                Add(new TI.Pad(16));

                Add(PotentialResponse = new TI.Enum());
                Add(PotentialFlags    = new TI.Flags(BlamLib.TagInterface.FieldType.WordFlags));
                Add(SkipFraction      = new TI.Real(BlamLib.TagInterface.FieldType.RealFraction));
                Add(Between           = new TI.RealBounds(BlamLib.TagInterface.FieldType.AngleBounds));
                Add(And             = new TI.RealBounds());
                Add(PotentialEffect = new TI.TagReference(this, TagGroups.effe));
                Add(new TI.Pad(16));

                Add(ScaleEffectsBy = new TI.Enum());
                Add(TI.Pad.Word);
                Add(AngularNoise     = new TI.Real(BlamLib.TagInterface.FieldType.Angle));
                Add(VelocityNoise    = new TI.Real());
                Add(DetonationEffect = new TI.TagReference(this, TagGroups.effe));
                Add(new TI.Pad(24));

                Add(InitialFriction = new TI.Real());
                Add(MaxDist         = new TI.Real());

                Add(ParallelFriction      = new TI.Real());
                Add(PerpendicularFriction = new TI.Real());
            }
Пример #2
0
        protected device_group(int field_count) : base(field_count + 29)
        {
            Add(DeviceFlags                       = new TI.Flags());
            Add(PowerTransitionTime               = new TI.Real()); // 0x180
            Add(PowerAccelerationTime             = new TI.Real()); // 0x184
            Add(PositionTransitionTime            = new TI.Real()); // 0x188
            Add(PositionAccelerationTime          = new TI.Real()); // 0x18C
            Add(DepoweredPositionTransitionTime   = new TI.Real()); // 0x190
            Add(DepoweredPositionAccelerationTime = new TI.Real()); // 0x194
            Add(AinDevice = new TI.Enum());
            Add(BinDevice = new TI.Enum());
            Add(CinDevice = new TI.Enum());
            Add(DinDevice = new TI.Enum());
            Add(Open      = new TI.TagReference(this));
            Add(Close     = new TI.TagReference(this));
            Add(Opened    = new TI.TagReference(this));
            Add(Closed    = new TI.TagReference(this));
            Add(Depowered = new TI.TagReference(this));
            Add(Repowered = new TI.TagReference(this));
            Add(DelayTime = new TI.Real());
            Add(new TI.Pad(8));
            Add(DelayEffect = new TI.TagReference(this));
            Add(AutomaticActivationRadius = new TI.Real());
            Add(new TI.Pad(84));

            Add(PowerAccelerationGameTime             = new TI.Skip(4)); // 0x274
            Add(PowerTransitionGameTime               = new TI.Skip(4)); // 0x278
            Add(DepoweredPositionAccelerationGameTime = new TI.Skip(4)); // 0x27C
            Add(DepoweredPositionTransitionGameTime   = new TI.Skip(4)); // 0x280
            Add(PositionAccelerationGameTime          = new TI.Skip(4)); // 0x284
            Add(PositionTransitionGameTime            = new TI.Skip(4)); // 0x288
            Add(DelayGameTime = new TI.Skip(4));                         // 0x28C
        }
Пример #3
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));
        }
Пример #4
0
            //public TI.ShortInteger LowDetailMipmapCount;
            #endregion

            #region Ctor
            public bitmap_data_block() : base(14)
            {
                Add(Signature         = new TI.Tag());
                Add(Width             = new TI.ShortInteger());
                Add(Height            = new TI.ShortInteger());
                Add(Depth             = new TI.ByteInteger());
                Add(MoreFlags         = new TI.Flags(BlamLib.TagInterface.FieldType.ByteFlags));
                Add(Type              = new TI.Enum());
                Add(Format            = new TI.Enum());
                Add(Flags             = new TI.Flags(BlamLib.TagInterface.FieldType.WordFlags));
                Add(RegistrationPoint = new TI.Point2D());
                Add(MipmapCount       = new TI.ByteInteger());
                Add(new TI.Skip(1 +         //LowDetailMipmapCount?
                                1 +         // (just interleaved?) resource index
                                1));        //
                //Add(LowDetailMipmapCount = new TI.ShortInteger());
                Add(PixelsOffset = new TI.LongInteger());

                Add(new TI.Skip(4 +                 // pixels size
                                4 + 4));

                Add(new TI.LongInteger());

                Add(new TI.Skip(4));
            }
Пример #5
0
            public rasterizer_data_block() : base(27)
            {
                Add(DistanceAttenuation       = new TI.TagReference(this, TagGroups.bitm));
                Add(VectorNormalization       = new TI.TagReference(this, TagGroups.bitm));
                Add(AtmosphereicFogDensity    = new TI.TagReference(this, TagGroups.bitm));
                Add(PlanarFogDensity          = new TI.TagReference(this, TagGroups.bitm));
                Add(LinearCornerFade          = new TI.TagReference(this, TagGroups.bitm));
                Add(ActiveCamoflageDistortion = new TI.TagReference(this, TagGroups.bitm));
                Add(Glow = new TI.TagReference(this, TagGroups.bitm));
                Add(new TI.Pad(60));

                Add(Default2D      = new TI.TagReference(this, TagGroups.bitm));
                Add(Default3D      = new TI.TagReference(this, TagGroups.bitm));
                Add(DefaultCubeMap = new TI.TagReference(this, TagGroups.bitm));

                Add(Test0 = new TI.TagReference(this, TagGroups.bitm));
                Add(Test1 = new TI.TagReference(this, TagGroups.bitm));
                Add(Test2 = new TI.TagReference(this, TagGroups.bitm));
                Add(Test3 = new TI.TagReference(this, TagGroups.bitm));

                Add(VideoScanlineMap = new TI.TagReference(this, TagGroups.bitm));
                Add(VideoNoiseMap    = new TI.TagReference(this, TagGroups.bitm));
                Add(new TI.Pad(52));

                Add(Flags = new TI.Flags(TI.FieldType.WordFlags));
                Add(new TI.Pad(2));
                Add(RefractionAmount            = new TI.Real());
                Add(DistanceFalloff             = new TI.Real());
                Add(TintColor                   = new TI.RealColor());
                Add(HyperStealthRefraction      = new TI.Real());
                Add(HyperStealthDistanceFalloff = new TI.Real());
                Add(HyperStealthTintColor       = new TI.RealColor());

                Add(DistanceAttenuation2D = new TI.TagReference(this, TagGroups.bitm));
            }
Пример #6
0
                public structure_bsp_material_block() : base(28)
                {
                    Add(Shader            = new TI.TagReference(this, TagGroups.shdr));
                    Add(ShaderPermutation = new TI.ShortInteger());
                    Add(Flags             = new TI.Flags(TI.FieldType.WordFlags));
                    Add(Surfaces          = new TI.BlockIndex(TI.FieldType.LongBlockIndex));
                    Add(SurfaceCount      = new TI.LongInteger());
                    Add(Centroid          = new TI.RealPoint3D());
                    Add(AmbientColor      = new TI.RealColor());
                    Add(DistantLightCount = new TI.ShortInteger());
                    Add(new TI.Pad(2));

                    Add(DistantLightColor1     = new TI.RealColor());
                    Add(DistantLightDirection1 = new TI.RealVector3D());
                    Add(DistantLightColor2     = new TI.RealColor());
                    Add(DistantLightDirection2 = new TI.RealVector3D());
                    Add(new TI.Pad(12));
                    Add(ReflectionTint   = new TI.RealColor(TI.FieldType.RealArgbColor));
                    Add(ShadowVector     = new TI.RealVector3D());
                    Add(ShadowColor      = new TI.RealColor());
                    Add(Plane            = new TI.RealPlane3D());
                    Add(BreakableSurface = new TI.ShortInteger());
                    Add(new TI.Pad(2 + 4));
                    Add(VerticesCount      = new TI.LongInteger());
                    Add(VerticesStartIndex = new TI.LongInteger());
                    Add(new TI.Pad(8 + 4));
                    Add(LightmapVerticesCount      = new TI.LongInteger());
                    Add(LightmapVerticesStartIndex = new TI.LongInteger());
                    Add(new TI.Pad(8));
                    Add(UncompressedVertices = new TI.Data(this, TI.DataType.Vertex));
                    Add(CompressedVertices   = new TI.Data(this, TI.DataType.VertexCompressed));
                }
Пример #7
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
 }
Пример #8
0
 public shader_radiosity_properties_struct() : base(4)
 {
     Add(NumericCounterLimit = new TI.ByteInteger());
     Add(Flags               = TI.Flags.Byte);
     Add(FirstMapType        = new TI.Enum());
     Add(FrameBufferFunction = new TI.Struct <shader_frame_buffer_function_struct>(this));
 }
Пример #9
0
		public cache_file_sound_group() : base(17)
		{
			// 0x0
			Add(Flags = new TI.Flags(TI.FieldType.WordFlags));
			Add(SoundClass = new TI.Enum(TI.FieldType.ByteEnum));
			Add(SampleRate = new TI.Enum(TI.FieldType.ByteEnum));
			// 0x4
			Add(Encoding = new TI.Enum(TI.FieldType.ByteEnum));
			Add(CodecIndex = new TI.ByteInteger());
			Add(PlaybackIndex = new TI.ShortInteger());
			// 0x8
			Add(Unknown08 = new TI.ShortInteger()); // TODO: UNKNOWN FIELD, index to something, but doesn't seem to be in the sound gestalt
			Add(Unknown0A = new TI.ShortInteger()); // TODO: UNKNOWN FIELD, maybe an index to the first block in the sound gestalt? or not a index...
			// 0xC
			Add(FirstPitchRangeIndex = new TI.ShortInteger());
			Add(PitchRangeIndex = new TI.ByteInteger());
			Add(ScaleIndex = new TI.ByteInteger());
			// 0x10
			Add(PromotionIndex = new TI.ByteInteger());
			Add(CustomPlaybackIndex = new TI.ByteInteger());
			Add(ExtraInfoIndex = new TI.ShortInteger());
			// 0x14
			Add(Unknown14 = new TI.LongInteger()); // TODO: UNKNOWN FIELD
			// 0x18
			Add(ResourceIndex = new TI.LongInteger());
			// 0x1C
			Add(MaximumPlayTime = new TI.LongInteger());
		}
Пример #10
0
        public shader_map_struct() : base(13)
        {
            // Stubb's code has byte swapping for this padding:
            // word
            // word
            // dword
            // dword
            // dword
            // dword
            // dword
            // dword
            // dword
            // word
            // word
            // word
            // word
            Add(new TI.Pad(40));
            Add(ShaderFlags = TI.Flags.Word);
            Add(FramebufferBlendFunction = new TI.Enum());
            Add(FramebufferFadeMode      = new TI.Enum());
            Add(ShaderMapFlags           = TI.Flags.Word);
            Add(new TI.Pad(28));

            Add(MapBitmap = new TI.TagReference(this, TagGroups.bitm));

            Add(MapAnchor = new TI.Enum());
            Add(MapFlags  = TI.Flags.Word);

            Add(MapAnimation = new TI.Struct <shader_animation_struct>(this));

            // 28
            Add(new TI.Pad(4));
            Add(ZSpriteRadiusScale = new TI.Real());
            Add(new TI.Pad(20));
        }
Пример #11
0
		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));
		}
Пример #12
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));
		}
Пример #13
0
 public cache_file_sound_group() : base(17)
 {
     // 0x0
     Add(Flags      = new TI.Flags(TI.FieldType.WordFlags));
     Add(SoundClass = new TI.Enum(TI.FieldType.ByteEnum));
     Add(SampleRate = new TI.Enum(TI.FieldType.ByteEnum));
     // 0x4
     Add(Encoding      = new TI.Enum(TI.FieldType.ByteEnum));
     Add(CodecIndex    = new TI.ByteInteger());
     Add(PlaybackIndex = new TI.ShortInteger());
     // 0x8
     Add(Unknown08 = new TI.ShortInteger());             // TODO: UNKNOWN FIELD, index to something, but doesn't seem to be in the sound gestalt
     Add(Unknown0A = new TI.ShortInteger());             // TODO: UNKNOWN FIELD, maybe an index to the first block in the sound gestalt? or not a index...
     // 0xC
     Add(FirstPitchRangeIndex = new TI.ShortInteger());
     Add(PitchRangeIndex      = new TI.ByteInteger());
     Add(ScaleIndex           = new TI.ByteInteger());
     // 0x10
     Add(PromotionIndex      = new TI.ByteInteger());
     Add(CustomPlaybackIndex = new TI.ByteInteger());
     Add(ExtraInfoIndex      = new TI.ShortInteger());
     // 0x14
     Add(Unknown14 = new TI.LongInteger());             // TODO: UNKNOWN FIELD
     // 0x18
     Add(ResourceIndex = new TI.LongInteger());
     // 0x1C
     Add(MaximumPlayTime = new TI.LongInteger());
 }
Пример #14
0
        public shader_transparent_glass_group() : base(25)
        {
            Add(Flags = TI.Flags.Word);
            Add(new TI.Pad(2 + 40));
            Add(BackgroundTintColor    = new TI.RealColor());
            Add(BackgroundTintMapScale = new TI.Real());
            Add(BackgroundTintMap      = new TI.TagReference(this, TagGroups.bitm));
            Add(new TI.Pad(20 + 2));

            Add(ReflectionType          = new TI.Enum());
            Add(PerpendicularBrightness = TI.Real.Fraction);
            Add(PerpendicularTintColor  = new TI.RealColor());
            Add(ParallelBrightness      = TI.Real.Fraction);
            Add(ParallelTintColor       = new TI.RealColor());
            Add(ReflectionMap           = new TI.TagReference(this, TagGroups.bitm));
            Add(BumpMapScale            = new TI.Real());
            Add(BumpMap = new TI.TagReference(this, TagGroups.bitm));
            Add(new TI.Pad(128 + 4));
            Add(DiffuseMapScale       = new TI.Real());
            Add(DiffuseMap            = new TI.TagReference(this, TagGroups.bitm));
            Add(DiffuseDetailMapScale = new TI.Real());
            Add(DiffuseDetailMap      = new TI.TagReference(this, TagGroups.bitm));
            Add(new TI.Pad(28 + 4));
            Add(SpecularMapScale       = new TI.Real());
            Add(SpecularMap            = new TI.TagReference(this, TagGroups.bitm));
            Add(SpecularDetailMapScale = new TI.Real());
            Add(SpecularDetailMap      = new TI.TagReference(this, TagGroups.bitm));
            Add(new TI.Pad(28));
        }
 public shared_cache_block() : base(4)
 {
     Add(CachePath  = new TI.String(TI.StringType.Ascii, 256));
     Add(Unknown100 = new TI.ShortInteger());
     Add(Flags      = new TI.Flags(TI.FieldType.WordFlags));
     Add(Unknown104 = new TI.LongInteger());
 }
Пример #16
0
		public damage_effect_struct() : base(4)
		{
			Add(Radius = new TI.RealBounds());
			Add(CutoffScale = new TI.Real(TI.FieldType.RealFraction));
			Add(Flags = new TI.Flags()); // not exposed for continuous_damage_effect
			Add(new TI.Pad(20));
		}
Пример #17
0
		public bitmap_group() : base(21)
		{
			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(BlamLib.TagInterface.FieldType.RealFraction));

			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(new TI.Pad(2));

			Add(Sequences = new TI.Block<bitmap_group_sequence_block>(this, 256));
			Add(Bitmaps = new TI.Block<bitmap_data_block>(this, 2048));
		}
Пример #18
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));
 }
Пример #19
0
        public particle_group() : base(27)
        {
            Add(Flags   = new TI.Flags());
            Add(Bitmap  = new TI.TagReference(this, TagGroups.bitm));
            Add(Physics = new TI.TagReference(this, TagGroups.pphy));
            Add(Effects = new TI.TagReference(this, TagGroups.foot));
            Add(new TI.Pad(4));
            Add(Lifespan        = new TI.RealBounds());
            Add(FadeInTime      = new TI.Real());
            Add(FadeOutTime     = new TI.Real());
            Add(CollisionEffect = new TI.TagReference(this));         // snd!,effe
            Add(DeathEffect     = new TI.TagReference(this));         // snd!,effe
            Add(MinSize         = new TI.Real());
            Add(new TI.Pad(8));
            Add(RadiusAnim = new TI.RealBounds());
            Add(new TI.Pad(4));
            Add(AnimRate             = new TI.RealBounds());
            Add(ContactDeterioration = new TI.Real());
            Add(FadeStartSize        = new TI.Real());
            Add(FadeEndSize          = new TI.Real());
            Add(new TI.Pad(4));
            Add(FirstSeqIndex   = new TI.ShortInteger());
            Add(InitialSeqCount = new TI.ShortInteger());
            Add(LoopSeqCount    = new TI.ShortInteger());
            Add(FinalSeqCount   = new TI.ShortInteger());
            Add(new TI.Pad(12));
            Add(Orientation = new TI.Enum());
            Add(new TI.Pad(2));

            Add(ShaderMap = new TI.Struct <shader_map_struct>(this));
        }
Пример #20
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 unknown_4_block() : base(4)
 {
     Add(Flags = new TI.Flags(TI.FieldType.ByteFlags));
     Add(TI.Pad._24);
     Add(Unknown4 = new TI.LongInteger());                           // for multikills this is the count
     Add(Unknown8 = new TI.StringId());                              // for multikills this is 'kill', so it's probably the incident filter
 }
Пример #22
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));
        }
Пример #23
0
        public decal_group() : base(23)
        {
            Add(Flags = new TI.Flags(TI.FieldType.WordFlags));
            Add(Type  = new TI.Enum());
            Add(Layer = new TI.Enum());
            Add(new TI.Pad(2));
            Add(NextDecalInChain = new TI.TagReference(this, TagGroups.deca));

            Add(Radius = new TI.RealBounds());
            Add(new TI.Pad(12));
            Add(Intensity        = new TI.RealBounds(TI.FieldType.RealFractionBounds));
            Add(ColorLowerBounds = new TI.RealColor());
            Add(ColorUpperBounds = new TI.RealColor());
            Add(new TI.Pad(12));

            Add(AnimLoopFrame = new TI.ShortInteger());
            Add(AnimSpeed     = new TI.ShortInteger());
            Add(new TI.Pad(28));
            Add(Lifetime  = new TI.RealBounds());
            Add(DecayTime = new TI.RealBounds());
            Add(new TI.Pad(12 + 40 + 2 + 2));

            Add(FramebufferBlendFunction = new TI.Enum());
            Add(new TI.Pad(2 + 20));
            Add(Map = new TI.TagReference(this, TagGroups.bitm));
            Add(new TI.Pad(20));
            Add(MaxSpriteExtent = new TI.Real());
            Add(new TI.Pad(4 + 8));
        }
Пример #24
0
 public damage_effect_struct() : base(4)
 {
     Add(Radius      = new TI.RealBounds());
     Add(CutoffScale = new TI.Real(TI.FieldType.RealFraction));
     Add(Flags       = new TI.Flags());       // not exposed for continuous_damage_effect
     Add(new TI.Pad(20));
 }
Пример #25
0
        public global_hud_screen_effect_definition() : base(20)
        {
            Add(new TI.Pad(4));
            Add(MaskFlags = new TI.Flags(BlamLib.TagInterface.FieldType.WordFlags));
            Add(new TI.Pad(2 + 16));
            Add(MaskFullscreen  = new TI.TagReference(this, TagGroups.bitm));
            Add(MaskSplitscreen = new TI.TagReference(this, TagGroups.bitm));
            Add(new TI.Pad(8));

            Add(ConvolutionFlags = new TI.Flags(BlamLib.TagInterface.FieldType.WordFlags));
            Add(new TI.Pad(2));
            Add(FovInBounds     = new TI.RealBounds(BlamLib.TagInterface.FieldType.AngleBounds));
            Add(RadiusOutBounds = new TI.RealBounds());
            Add(new TI.Pad(24));

            Add(NightVisionFlags        = new TI.Flags(BlamLib.TagInterface.FieldType.WordFlags));
            Add(NightVisionScriptSource = new TI.ShortInteger());
            Add(NightVisionIntensity    = new TI.Real(BlamLib.TagInterface.FieldType.RealFraction));
            Add(new TI.Pad(24));

            Add(DesaturationFlags        = new TI.Flags(BlamLib.TagInterface.FieldType.WordFlags));
            Add(DesaturationScriptSource = new TI.ShortInteger());
            Add(DesaturationIntensity    = new TI.Real(BlamLib.TagInterface.FieldType.RealFraction));
            Add(DesaturationTint         = new TI.RealColor());
            Add(new TI.Pad(24));
        }
Пример #26
0
 public input_device_defaults_group() : base(4)
 {
     Add(DeviceType = new TI.Enum());
     Add(Flags      = new TI.Flags(TI.FieldType.WordFlags));
     Add(DeviceId   = new TI.Data(this));
     Add(Profile    = new TI.Data(this));
 }
Пример #27
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));
        }
Пример #28
0
 public global_hud_sound_block() : base(4)
 {
     Add(Sound     = new TI.TagReference());         // snd!,lsnd
     Add(LatchedTo = new TI.Flags());
     Add(Scale     = new TI.Real());
     Add(new TI.Pad(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));
        }
Пример #30
0
			//public TI.ShortInteger LowDetailMipmapCount;
			#endregion

			#region Ctor
			public bitmap_data_block() : base(14)
			{
				Add(Signature = new TI.Tag());
				Add(Width = new TI.ShortInteger());
				Add(Height = new TI.ShortInteger());
				Add(Depth = new TI.ByteInteger());
				Add(MoreFlags = new TI.Flags(BlamLib.TagInterface.FieldType.ByteFlags));
				Add(Type = new TI.Enum());
				Add(Format = new TI.Enum());
				Add(Flags = new TI.Flags(BlamLib.TagInterface.FieldType.WordFlags));
				Add(RegistrationPoint = new TI.Point2D());
				Add(MipmapCount = new TI.ByteInteger());
				Add(new TI.Skip(1 + //LowDetailMipmapCount?
					1 + // (just interleaved?) resource index
					1)); //
				//Add(LowDetailMipmapCount = new TI.ShortInteger());
				Add(PixelsOffset = new TI.LongInteger());

				Add(new TI.Skip(4 + // pixels size
					4 + 4));

				Add(new TI.LongInteger());

				Add(new TI.Skip(4));
			}
Пример #31
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));
        }
Пример #32
0
            public bitmap_data_block() : base(23)
            {
                Add(Signature            = new TI.Tag());
                Add(Width                = new TI.ShortInteger());
                Add(Height               = new TI.ShortInteger());
                Add(Depth                = new TI.ByteInteger());
                Add(MoreFlags            = new TI.Flags(BlamLib.TagInterface.FieldType.ByteFlags));
                Add(Type                 = new TI.Enum());
                Add(Format               = new TI.Enum());
                Add(Flags                = new TI.Flags(BlamLib.TagInterface.FieldType.WordFlags));
                Add(RegistrationPoint    = new TI.Point2D());
                Add(MipmapCount          = new TI.ShortInteger());
                Add(LowDetailMipmapCount = new TI.ShortInteger());
                Add(PixelsOffset         = new TI.LongInteger());

                Add(Offsets[0] = new TI.LongInteger());
                Add(Offsets[1] = new TI.LongInteger());
                Add(Offsets[2] = new TI.LongInteger());
                Add(new TI.Skip(4 + 4 + 4));

                Add(Sizes[0] = new TI.LongInteger());
                Add(Sizes[1] = new TI.LongInteger());
                Add(Sizes[2] = new TI.LongInteger());
                Add(new TI.Skip(4 + 4 + 4));

                Add(new TI.Skip(
                        4 + 4 +
                        4                 // this is special...
                        ));
                Add(OwnerTagIndex = new TI.LongInteger());
                Add(new TI.Skip(
                        20 +
                        4
                        ));
            }
Пример #33
0
 public animation_block() : base(31)
 {
     Add(Name                = new TI.String());
     Add(Type                = new TI.Enum());
     Add(FrameCount          = new TI.ShortInteger());
     Add(FrameSize           = new TI.ShortInteger());
     Add(FrameInfoType       = new TI.Enum());
     Add(NodeListChecksum    = new TI.LongInteger());
     Add(NodeCount           = new TI.ShortInteger());
     Add(LoopFrameIndex      = new TI.ShortInteger());
     Add(Weight              = new TI.Real(BlamLib.TagInterface.FieldType.RealFraction));
     Add(KeyFrameIndex       = new TI.ShortInteger());
     Add(SecondKeyFrameIndex = new TI.ShortInteger());
     Add(NextAnimation       = new TI.BlockIndex());
     Add(Flags               = new TI.Flags(BlamLib.TagInterface.FieldType.WordFlags));
     Add(Sound               = new TI.BlockIndex());
     Add(SoundFrameIndex     = new TI.ShortInteger());
     Add(LeftFootFrameIndex  = new TI.ByteInteger());
     Add(RightFootFrameIndex = new TI.ByteInteger());
     Add(new TI.Pad(2 + 4));
     Add(FrameInfo       = new TI.Data(this));
     Add(NodeTransFlags1 = new TI.LongInteger());
     Add(NodeTransFlags2 = new TI.LongInteger());
     Add(new TI.Pad(8));
     Add(NodeRotationFlags1 = new TI.LongInteger());
     Add(NodeRotationFlags2 = new TI.LongInteger());
     Add(new TI.Pad(8));
     Add(NodeScaleFlags1 = new TI.LongInteger());
     Add(NodeScaleFlags2 = new TI.LongInteger());
     Add(new TI.Pad(4));
     Add(OffsetToCompressedData = new TI.LongInteger());
     Add(DefaultData            = new TI.Data(this));
     Add(FrameData = new TI.Data(this));
 }
Пример #34
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));
        }
Пример #35
0
 public effect_particles_block() : base(27)
 {
     Add(CreatIn1 = new TI.Enum());
     Add(CreatIn2 = new TI.Enum());
     Add(Create   = new TI.Enum());
     Add(new TI.Pad(2));
     Add(Location = new TI.BlockIndex());
     Add(new TI.Pad(2));
     Add(RelativeDirection = new TI.RealEulerAngles2D());
     Add(RelativeOffset    = new TI.RealVector3D());
     Add(new TI.Pad(12 + 40));
     Add(ParticleType         = new TI.TagReference(this, TagGroups.part));
     Add(Flags                = new TI.Flags());
     Add(DistributionFunction = new TI.Enum());
     Add(new TI.Pad(2));
     Add(CreateCount        = new TI.ShortIntegerBounds());
     Add(DistributionRadius = new TI.RealBounds());
     Add(new TI.Pad(12));
     Add(VelocityBounds        = new TI.RealBounds());
     Add(VelocityConeAngle     = new TI.Real(TI.FieldType.Angle));
     Add(AngularVelocityBounds = new TI.RealBounds(TI.FieldType.AngleBounds));
     Add(new TI.Pad(8));
     Add(Radius = new TI.RealBounds());
     Add(new TI.Pad(8));
     Add(TintLowerBound = new TI.RealColor(TI.FieldType.RealArgbColor));
     Add(TintUpperBound = new TI.RealColor(TI.FieldType.RealArgbColor));
     Add(new TI.Pad(16));
     Add(ScaleModiferA  = new TI.Flags());
     Add(ScaleModifierB = new TI.Flags());
 }
 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));
 }
Пример #37
0
				public surfaces_block() : base(5)
				{
					Add(Plane = new TI.LongInteger());
					Add(FirstEdge = new TI.LongInteger());
					Add(Flags = new TI.Flags(TI.FieldType.ByteFlags));
					Add(BreakableSurface = new TI.ByteInteger());
					Add(Material = new TI.ShortInteger());
				}
Пример #38
0
				public sandbox_text_value_pair_reference_block()
				{
					Add(Flags = new TI.Flags(TI.FieldType.ByteFlags));
					Add(Type = new TI.Enum(TI.FieldType.ByteEnum));
					Add(TI.Pad.Word);
					Add(Integer = new TI.LongInteger());
					Add(StringId = new TI.StringId());
					Add(Name = new TI.StringId());
					Add(Description = new TI.StringId());
				}
Пример #39
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));
		}
Пример #40
0
			public contrail_point_states_block() : base(8)
			{
				Add(Duration = new TI.RealBounds());
				Add(TransitionDuration = new TI.RealBounds());
				Add(Physics = new TI.TagReference(this, TagGroups.phys));
				Add(new TI.Pad(32));
				Add(Width = new TI.Real());
				Add(ColorLowerBound = new TI.RealColor(BlamLib.TagInterface.FieldType.RealArgbColor));
				Add(ColorUpperBound = new TI.RealColor(BlamLib.TagInterface.FieldType.RealArgbColor));
				Add(ScaleFlags = new TI.Flags());
			}
Пример #41
0
				public model_region_permutation_block() : base(10)
				{
					Add(Name = new TI.String());
					Add(Flags = new TI.Flags());
					Add(new TI.Pad(28)); // TODO: first 16-bits is the variant id
					Add(SuperLow = new TI.BlockIndex());
					Add(Low = new TI.BlockIndex());
					Add(Medium = new TI.BlockIndex());
					Add(High = new TI.BlockIndex());
					Add(SuperHigh = new TI.BlockIndex());
					Add(new TI.Pad(2));
					Add(Markers = new TI.Block<model_region_permutation_marker_block>(this, 64));
				}
Пример #42
0
		public sound_playback_parameters_struct() : base(14)
		{
			Add(MinDist = new TI.Real());
			Add(MaxDist = new TI.Real());
			Add(SkipFraction = new TI.Real(TI.FieldType.RealFraction));
			Add(MaxBendPerSec = new TI.Real());
			Add(GainBase = new TI.Real());
			Add(GainVariance = new TI.Real());
			Add(RandomPitchBounds = new TI.ShortIntegerBounds());
			Add(InnerConeAngle = new TI.Real(TI.FieldType.Angle));
			Add(OuterConeAngle = new TI.Real(TI.FieldType.Angle));
			Add(OuterConeGain = new TI.Real());
			Add(Flags = new TI.Flags());
			Add(Azimuth = new TI.Real(TI.FieldType.Angle));
			Add(PositionalGain = new TI.Real());
			Add(FirstPersonGain = new TI.Real());
		}
Пример #43
0
			public bitmap_data_block() : base(14)
			{
				Add(Signature = new TI.Tag());
				Add(Width = new TI.ShortInteger());
				Add(Height = new TI.ShortInteger());
				Add(Depth = new TI.ShortInteger());
				Add(Type = new TI.Enum());
				Add(Format = new TI.Enum());
				Add(Flags = new TI.Flags(BlamLib.TagInterface.FieldType.WordFlags));
				Add(RegistrationPoint = new TI.Point2D());
				Add(MipmapCount = new TI.ShortInteger());
				Add(new TI.Pad(2));
				Add(PixelsOffset = new TI.LongInteger());
				Add(new TI.Skip(12));
				Add(HardwareFormat = new TI.LongInteger());
				Add(BaseAddress = new TI.LongInteger());
			}
Пример #44
0
		public damage_data_struct() : base(14)
		{
			Add(SideEffect = new TI.Enum());
			Add(Category = new TI.Enum());
			Add(Flags = new TI.Flags());
			Add(AOECoreRadius = new TI.Real());	// not exposed for continuous_damage_effect
			Add(DamageLowerBound = new TI.Real());
			Add(DamageUpperBound = new TI.RealBounds());
			Add(VehiclePassThroughPenalty = new TI.Real());
			Add(ActiveCamoDamage = new TI.Real()); // not exposed for continuous_damage_effect
			Add(Stun = new TI.Real());
			Add(MaxStun = new TI.Real());
			Add(StunTime = new TI.Real());
			Add(TI.Pad.DWord);
			Add(InstantaneousAcceleration = new TI.Real());
			Add(new TI.Pad(4 + 4)); // useless padding
		}
Пример #45
0
		public global_hud_element_struct() : base(13)
		{
			Add(AnchorOffset = new TI.Point2D());
			Add(WidthScale = new TI.Real());
			Add(HeightScale = new TI.Real());
			Add(ScalingFlags = new TI.Flags(BlamLib.TagInterface.FieldType.WordFlags));
			Add(new TI.Pad(2 + 20));
			Add(DefaultColor = new TI.Color());
			Add(FlashingColor = new TI.Color());
			Add(FlashPeriod = new TI.Real());
			Add(FlashDelay = new TI.Real());
			Add(NumberOfFlashes = new TI.ShortInteger());
			Add(FlashFlags = new TI.Flags(BlamLib.TagInterface.FieldType.WordFlags));
			Add(FlashLength = new TI.Real());
			Add(DisabledColor = new TI.Color());

			// i think the 4 byte padding that follows this should be here...
		}
Пример #46
0
		public shader_map_struct() : base(13)
		{
			Add(new TI.Pad(40));
			Add(ShaderFlags = TI.Flags.Word);
			Add(FramebufferBlendFunction = new TI.Enum());
			Add(FramebufferFadeMode = new TI.Enum());
			Add(ShaderMapFlags = TI.Flags.Word);
			Add(new TI.Pad(28));

			Add(MapBitmap = new TI.TagReference(this, TagGroups.bitm));
			
			Add(MapAnchor = new TI.Enum());
			Add(MapFlags = TI.Flags.Word);
			
			Add(MapAnimation = new TI.Struct<shader_animation_struct>(this));
			
			// 28
			Add(new TI.Pad(4));
			Add(ZSpriteRadiusScale = new TI.Real());
			Add(new TI.Pad(20));
		}
Пример #47
0
		public global_hud_meter_struct() : base(20)
		{
			Add(AnchorOffset = new TI.Point2D());
			Add(WidthScale = new TI.Real());
			Add(HeightScale = new TI.Real());
			Add(ScalingFlags = new TI.Flags(BlamLib.TagInterface.FieldType.WordFlags));
			Add(new TI.Pad(2 + 20));
			Add(Bitmap = new TI.TagReference(this, TagGroups.bitm));
			Add(ColorAtMeterMin = new TI.Color(BlamLib.TagInterface.FieldType.RgbColor));
			Add(ColorAtMeterMax = new TI.Color(BlamLib.TagInterface.FieldType.RgbColor));
			Add(FlashColor = new TI.Color(BlamLib.TagInterface.FieldType.RgbColor));
			Add(EmptyColor = new TI.Color());
			Add(Flags = new TI.Flags(BlamLib.TagInterface.FieldType.ByteFlags));
			Add(MinMeterValue = new TI.ByteInteger());
			Add(SequenceIndex = new TI.ShortInteger());
			Add(AlphaMul = new TI.ByteInteger());
			Add(AlphaBias = new TI.ByteInteger());
			Add(ValueScale = new TI.ShortInteger());
			Add(Opacity = new TI.Real());
			Add(Translucency = new TI.Real());
			Add(DisabledColor = new TI.Color());
			Add(new TI.Pad(16));
		}
Пример #48
0
			public object_function_block() : base(21)
			{
				Add(Flags = new TI.Flags());
				Add(Period = new TI.Real());
				Add(ScalePeriodBy = new TI.Enum());
				Add(Function = new TI.Enum());
				Add(ScaleFunctionBy = new TI.Enum());
				Add(WobbleFunction = new TI.Enum());
				Add(WobblePeriod = new TI.Real());
				Add(WobbleMagnitude = new TI.Real());
				Add(SquareWaveThreshold = new TI.Real(TI.FieldType.RealFraction));
				Add(StepCount = new TI.ShortInteger());
				Add(MapTo = new TI.Enum());
				Add(SawtoothCount = new TI.ShortInteger());
				Add(_Add = new TI.Enum());
				Add(ScaleResultBy = new TI.Enum());
				Add(BoundsMode = new TI.Enum());
				Add(Bounds = new TI.RealBounds(BlamLib.TagInterface.FieldType.RealFractionBounds));
				Add(new TI.Pad(4 + 2));
				Add(TurnoffWith = new TI.BlockIndex());
				Add(ScaleBy = new TI.Real());
				Add(new TI.Pad(252 + 16));
				Add(Usage = new TI.String());
			}
Пример #49
0
			protected scenario_unit_block(int field_count) : base(field_count + 4)
			{
				Add(new TI.Pad(8 + 16 + 8 + 8));
				Add(BodyVitality = new TI.Real());
				Add(Flags = new TI.Flags());
				Add(new TI.Pad(8));
			}
Пример #50
0
			public TI.Flags MultiplayerSpawnFlags; // halopc only
			#endregion

			public scenario_vehicle_block() : base(4)
			{
				Add(MultiplayerTeamIndex = new TI.ByteInteger());
				Add(new TI.Pad(1));
				Add(MultiplayerSpawnFlags = new TI.Flags(BlamLib.TagInterface.FieldType.WordFlags));
				Add(new TI.Pad(28));
			}
Пример #51
0
			public scenario_weapon_block() : base(5)
			{
				Add(new TI.Pad(8 + 16 + 8 + 8));
				Add(RoundsLeft = new TI.ShortInteger());
				Add(RoundsLoaded = new TI.ShortInteger());
				Add(Flags = new TI.Flags(BlamLib.TagInterface.FieldType.WordFlags));
				Add(new TI.Pad(2 + 12));
			}
Пример #52
0
			protected scenario_object_block(int field_count) : base(field_count + 6)
			{
				Add(Type = new TI.BlockIndex());
				Add(Name = new TI.BlockIndex());
				Add(NotPlaced = new TI.Flags(BlamLib.TagInterface.FieldType.WordFlags));
				Add(DesiredPermutation = new TI.ShortInteger());
				Add(Position = new TI.RealPoint3D());
				Add(Rotation = new TI.RealEulerAngles3D());
			}
Пример #53
0
			public scenario_netgame_equipment_block() : base(12)
			{
				Add(Flags = new TI.Flags());
				Add(Type0 = new TI.Enum());
				Add(Type1 = new TI.Enum());
				Add(Type2 = new TI.Enum());
				Add(Type3 = new TI.Enum());
				Add(TeamIndex = new TI.ShortInteger());
				Add(SpawnTime = new TI.ShortInteger());
				Add(new TI.Pad(48));
				Add(Position = new TI.RealPoint3D());
				Add(Facing = new TI.Real(BlamLib.TagInterface.FieldType.Angle));
				Add(ItemCollection = new TI.TagReference(this, TagGroups.itmc));
				Add(new TI.Pad(48));
			}
Пример #54
0
			public TI.ShortInteger CustomNameIndex; // can't touch this, dodododo, dah do dah do....
			#endregion

			public scenario_control_block() : base(3)
			{
				Add(ControlFlags = new TI.Flags());
				Add(CustomNameIndex = new TI.ShortInteger());
				Add(new TI.Pad(2 + 8));
			}
Пример #55
0
			public scenario_machine_block() : base(2)
			{
				Add(MachineFlags = new TI.Flags());
				Add(new TI.Pad(12));
			}
Пример #56
0
			protected scenario_device_block(int field_count) : base(field_count + 4)
			{
				Add(new TI.Pad(8));
				Add(PowerGroup = new TI.BlockIndex());
				Add(PositionGroup = new TI.BlockIndex());
				Add(DeviceFlags = new TI.Flags());
			}
Пример #57
0
			public device_group_block() : base(4)
			{
				Add(Name = new TI.String());
				Add(InitialValue = new TI.Real());
				Add(Flags = new TI.Flags());
				Add(new TI.Pad(12));
			}
Пример #58
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));
		}
Пример #59
0
			public scenario_starting_equipment_block() : base(13)
			{
				Add(Flags = new TI.Flags());
				Add(Type0 = new TI.Enum());
				Add(Type1 = new TI.Enum());
				Add(Type2 = new TI.Enum());
				Add(Type3 = new TI.Enum());
				Add(new TI.Pad(48));
				Add(ItemCollection1 = new TI.TagReference(this, TagGroups.itmc));
				Add(ItemCollection2 = new TI.TagReference(this, TagGroups.itmc));
				Add(ItemCollection3 = new TI.TagReference(this, TagGroups.itmc));
				Add(ItemCollection4 = new TI.TagReference(this, TagGroups.itmc));
				Add(ItemCollection5 = new TI.TagReference(this, TagGroups.itmc));
				Add(ItemCollection6 = new TI.TagReference(this, TagGroups.itmc));
				Add(new TI.Pad(48));
			}
Пример #60
0
			public scenario_equipment_block() : base(3)
			{
				Add(new TI.Pad(2));
				Add(MiscFlags = new TI.Flags(BlamLib.TagInterface.FieldType.WordFlags));
				Add(new TI.Pad(4));
			}