示例#1
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));
		}
示例#2
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));
		}
示例#3
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());
		}
示例#4
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());
		}
示例#5
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));
			}
示例#6
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));
		}
示例#7
0
		public hs_scripts_block() : base(5)
		{
			Add(Name = new TI.StringId());
			Add(ScriptType = new TI.Enum());
			Add(ReturnType = new TI.Enum());
			Add(RootExpressionIndex = new TI.LongInteger());
			Add(Parameters = new TI.Block<H3.hs_scripts_block.hs_scripts_parameters_block>(this, 0));
		}
示例#8
0
		public shader_animation_function_struct() : base(5)
		{
			Add(Source = new TI.Enum());
			Add(Function = new TI.Enum());
			Add(Period = new TI.Real());
			Add(Phase = new TI.Real());
			Add(Scale = new TI.Real());
		}
示例#9
0
			public shader_animation_property_block() : base(6)
			{
				Add(Type = new TI.Enum());
				Add(TI.Pad.Word);
				Add(InputName = new TI.StringId());
				Add(RangeName = new TI.StringId());
				Add(TimePeriod = new TI.Real());
				Add(Function = new TI.Struct<mapping_function>(this));
			}
示例#10
0
			public object_attachment_block() : base(6)
			{
				Add(Type = new TI.TagReference(this));
				Add(Marker = new TI.String());
				Add(PrimaryScale = new TI.Enum());
				Add(SecondaryScale = new TI.Enum());
				Add(ChangeColor = new TI.Enum());
				Add(new TI.Pad(2 + 16));
			}
示例#11
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));
		}
示例#12
0
文件: UI.cs 项目: CodeAsm/open-sauce
				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());
				}
示例#13
0
		public TI.LongInteger Offset; // ResourcePtr

		public geometry_block_resource_block() : base(8)
		{
			Add(Type = new TI.Enum(TI.FieldType.ByteEnum));
			Add(AlignmentBit = new TI.ByteInteger());
			Add(FieldOffset = new TI.ShortInteger());
			Add(PrimaryLocater = new TI.ShortInteger());
			Add(SecondaryLocater = new TI.ShortInteger());
			Add(Size = new TI.LongInteger());
			Add(Offset = new TI.LongInteger());
		}
示例#14
0
		public shader_color_function_struct() : base(7)
		{
			Add(OnColor = new TI.RealColor());
			Add(OffColor = new TI.RealColor());
			Add(AnimationFunction = new TI.Enum());
			Add(TI.Pad.Word);
			Add(AnimationPeriod = new TI.Real());
			Add(AnimationPhase = new TI.Real());
			Add(new TI.Pad(24));
		}
示例#15
0
				public sound_permutations_block() : base(9)
				{
					Add(Name = new TI.String());
					Add(SkipFraction = new TI.Real(BlamLib.TagInterface.FieldType.RealFraction));
					Add(Gain = new TI.Real(BlamLib.TagInterface.FieldType.RealFraction));
					Add(Compression = new TI.Enum());
					Add(NextPermutationIndex = new TI.ShortInteger());
					Add(new TI.Pad(20));
					Add(Samples = new TI.Data(this, BlamLib.TagInterface.DataType.Sound));
					Add(Mouth = new TI.Data(this));
					Add(SubtitleData = new TI.Data(this));
				}
示例#16
0
		public damage_camera_effect_struct() : base(12)
		{
			Add(new TI.Pad(4 + 12));
			Add(ShakeDuration = new TI.Real());
			Add(ShakeFalloffFunction = new TI.Enum());
			Add(TI.Pad.Word);
			Add(RandomTranslation = new TI.Real());
			Add(RandomRotation = new TI.Real(BlamLib.TagInterface.FieldType.Angle));
			Add(new TI.Pad(12));
			Add(WobbleFunction = new TI.Enum());
			Add(TI.Pad.Word);
			Add(WobblePeriod = new TI.Real());
			Add(WobbleWeight = new TI.Real(BlamLib.TagInterface.FieldType.RealFraction));
			Add(new TI.Pad(4 + 20 + 8));
		}
示例#17
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
		}
示例#18
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());
			}
示例#19
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));
		}
示例#20
0
        public ui_widget_definition_group() : base(33)
        {
            Add(WidgetType                    = new TI.Enum());
            Add(ControllerIndex               = new TI.Enum());
            Add(Name                          = new TI.String());
            Add(Bounds                        = new TI.Rectangle2D());
            Add(Flags                         = new TI.Flags());
            Add(MillisecondsToAutoClose       = new TI.LongInteger());
            Add(MillisecondsAutoCloseFadeTime = new TI.LongInteger());
            Add(BackgroundBitmap              = new TI.TagReference(this, TagGroups.bitm));
            Add(GameDataInputs                = new TI.Block <game_data_input_references_block>(this, 64));
            Add(EventHandlers                 = new TI.Block <event_handler_references_block>(this, 32));
            Add(SearchAndReplaceFunctions     = new TI.Block <search_and_replace_reference_block>(this, 32));
            Add(new TI.Pad(128));

            Add(TextBoxLabel         = new TI.TagReference(this, TagGroups.ustr));
            Add(TextBoxFont          = new TI.TagReference(this, TagGroups.font));
            Add(TextBoxColor         = new TI.RealColor(TI.FieldType.RealArgbColor));
            Add(TextBoxJustification = new TI.Enum());
            Add(TextBoxFlags         = new TI.Flags());
            Add(new TI.Pad(12));
            Add(TextBoxStringListIndex = new TI.ShortInteger());
            Add(TextBoxHorizOffset     = new TI.ShortInteger());
            Add(TextBoxVertOffset      = new TI.ShortInteger());
            Add(new TI.Pad(26 + 2));

            Add(ListItemsFlags          = new TI.Flags());
            Add(SpinnerListHeaderBitmap = new TI.TagReference(this, TagGroups.bitm));
            Add(SpinnerListFooterBitmap = new TI.TagReference(this, TagGroups.bitm));
            Add(SpinnerListHeaderBounds = new TI.Rectangle2D());
            Add(SpinnerListFooterBounds = new TI.Rectangle2D());
            Add(new TI.Pad(32));

            Add(ColumnListExtendedDescriptionWidget = new TI.TagReference(this, TagGroups.DeLa));
            Add(new TI.Pad(32 + 256));

            Add(ConditionalWidgets = new TI.Block <conditional_widget_reference_block>(this, 32));
            Add(new TI.Pad(128 + 128));
            Add(ChildWidgets = new TI.Block <child_widget_reference_block>(this, 32));
        }
示例#21
0
        protected item_group(int field_count) : base(field_count + 17)
        {
            Add(ItemFlags = new TI.Flags());

            Add(MessageIndex         = new TI.ShortInteger());
            Add(SortOrder            = new TI.ShortInteger());
            Add(Scale                = new TI.Real());
            Add(HudMessageValueScale = new TI.ShortInteger());
            Add(new TI.Pad(2 + 16));

            Add(AinDevice = new TI.Enum());
            Add(BinDevice = new TI.Enum());
            Add(CinDevice = new TI.Enum());
            Add(DinDevice = new TI.Enum());
            Add(new TI.Pad(164));

            Add(MaterialEffects = new TI.TagReference(this, TagGroups.foot));
            Add(CollisionSound  = new TI.TagReference(this, TagGroups.snd_));
            Add(new TI.Pad(120));
            Add(DetonationDelay  = new TI.RealBounds());
            Add(DetonatingEffect = new TI.TagReference(this, TagGroups.effe));
            Add(DetonationEffect = new TI.TagReference(this, TagGroups.effe));
        }
示例#22
0
 public lens_flare_group() : base(20)
 {
     Add(FalloffAngle = new TI.Real(BlamLib.TagInterface.FieldType.Angle));
     Add(CutoffAngle  = new TI.Real(BlamLib.TagInterface.FieldType.Angle));
     Add(new TI.Pad(8));
     Add(OcclusionRadius          = new TI.Real());
     Add(OcclusionOffsetDirection = new TI.Enum());
     Add(new TI.Pad(2));
     Add(NearFadeDist = new TI.Real());
     Add(FarFadeDist  = new TI.Real());
     Add(Bitmap       = new TI.TagReference(this, TagGroups.bitm));
     Add(Flags        = new TI.Flags(BlamLib.TagInterface.FieldType.WordFlags));
     Add(new TI.Pad(2 + 76));
     Add(RotationFunction = new TI.Enum());
     Add(new TI.Pad(2));
     Add(RotationFunctionScale = new TI.Real());
     Add(new TI.Pad(24));
     Add(HorizScale = new TI.Real());
     Add(VertScale  = new TI.Real());
     Add(new TI.Pad(28));
     Add(Reflections = new TI.Block <lens_flare_reflection_block>(this, 32));
     Add(new TI.Pad(32));
 }
示例#23
0
        public shader_transparent_meter_group() : base(18)
        {
            Add(Flags = TI.Flags.Word);
            Add(new TI.Pad(2 + 32));
            Add(Map = new TI.TagReference(this, TagGroups.bitm));
            Add(new TI.Pad(32));

            Add(GradientMinColor       = new TI.RealColor());
            Add(GradientMaxColor       = new TI.RealColor());
            Add(BackgroundColor        = new TI.RealColor());
            Add(FlashColor             = new TI.RealColor());
            Add(TintColor              = new TI.RealColor());
            Add(MeterTransparency      = TI.Real.Fraction);
            Add(BackgroundTransparency = TI.Real.Fraction);
            Add(new TI.Pad(24));

            Add(MeterBrightnessSource = new TI.Enum());
            Add(FlashBrightnessSource = new TI.Enum());
            Add(ValueSource           = new TI.Enum());
            Add(GradientSource        = new TI.Enum());
            Add(FlashExtensionSource  = new TI.Enum());
            Add(new TI.Pad(2 + 32));
        }
示例#24
0
        public projectile_group() : base(31)
        {
            Add(Flags = new TI.Flags());
            Add(DetonationTimerStarts = new TI.Enum());
            Add(ImpactNoise           = new TI.Enum());
            Add(AinProjectile         = new TI.Enum());
            Add(BinProjectile         = new TI.Enum());
            Add(CinProjectile         = new TI.Enum());
            Add(DinProjectile         = new TI.Enum());
            Add(SuperDetonation       = new TI.TagReference(this, TagGroups.effe));
            Add(AiPerceptionRadius    = new TI.Real());
            Add(CollisionRadius       = new TI.Real());

            Add(ArmingTime   = new TI.Real());
            Add(DangerRadius = new TI.Real());
            Add(Effect       = new TI.TagReference(this, TagGroups.effe));
            Add(Timer        = new TI.RealBounds());
            Add(MinVelocity  = new TI.Real());
            Add(MaxRange     = new TI.Real());

            Add(AirGravityScale       = new TI.Real());
            Add(AirDamageRange        = new TI.RealBounds());
            Add(WaterGravityScale     = new TI.Real());
            Add(WaterDamageRange      = new TI.RealBounds());
            Add(InitialVelocity       = new TI.Real());
            Add(FinalVelocity         = new TI.Real());
            Add(GuidedAngularVelocity = new TI.Real(BlamLib.TagInterface.FieldType.Angle));

            Add(DetonationNoise = new TI.Enum());
            Add(new TI.Pad(2));
            Add(DetonationStarted        = new TI.TagReference(this, TagGroups.effe));
            Add(FlybySound               = new TI.TagReference(this, TagGroups.snd_));
            Add(AttachedDetonationDamage = new TI.TagReference(this, TagGroups.jpt_));
            Add(ImpactDamage             = new TI.TagReference(this, TagGroups.jpt_));
            Add(new TI.Pad(12));
            Add(MaterialResponses = new TI.Block <projectile_material_response_block>(this, 33));
        }
示例#25
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());
			}
示例#26
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());
 }
示例#27
0
 public lens_flare_reflection_block() : base(21)
 {
     Add(Flags = new TI.Flags(BlamLib.TagInterface.FieldType.WordFlags));
     Add(new TI.Pad(2));
     Add(BitmapIndex = new TI.ShortInteger());
     Add(new TI.Pad(2 + 20));
     Add(Position       = new TI.Real());
     Add(RotationOffset = new TI.Real());
     Add(new TI.Pad(4));
     Add(Radius         = new TI.RealBounds());
     Add(RadiusScaledBy = new TI.Enum());
     Add(new TI.Pad(2));
     Add(Brightness         = new TI.RealBounds());
     Add(BrightnessScaledBy = new TI.Enum());
     Add(new TI.Pad(2));
     Add(TintColor       = new TI.RealColor(BlamLib.TagInterface.FieldType.RealArgbColor));
     Add(ColorLowerBound = new TI.RealColor(BlamLib.TagInterface.FieldType.RealArgbColor));
     Add(ColorUpperBound = new TI.RealColor(BlamLib.TagInterface.FieldType.RealArgbColor));
     Add(AnimFlags       = new TI.Flags(BlamLib.TagInterface.FieldType.WordFlags));
     Add(AnimFunction    = new TI.Enum());
     Add(AnimPeriod      = new TI.Real());
     Add(AnimPhase       = new TI.Real());
     Add(new TI.Pad(4));
 }
示例#28
0
			public scenario_players_block() : base(9)
			{
				Add(Position = new TI.RealPoint3D());
				Add(Facing = new TI.Real(BlamLib.TagInterface.FieldType.Angle));
				Add(TeamIndex = new TI.ShortInteger());
				Add(BspIndex = new TI.ShortInteger());
				Add(Type0 = new TI.Enum());
				Add(Type1 = new TI.Enum());
				Add(Type2 = new TI.Enum());
				Add(Type3 = new TI.Enum());
				Add(new TI.Pad(24));
			}
示例#29
0
			public scenario_function_block() : base(20)
			{
				Add(Flags = new TI.Flags());
				Add(Name = new TI.String());
				Add(Period = new TI.Real());
				Add(ScalePeriodBy = new TI.BlockIndex());
				Add(Function = new TI.Enum());
				Add(ScalePeriodBy = new TI.BlockIndex());
				Add(WobbleFunction = new TI.Enum());
				Add(WobblePeriod = new TI.Real());
				Add(WobbleMagnitude = new TI.Real());
				Add(SquareWaveThreshold = new TI.Real());
				Add(StepCount = new TI.ShortInteger());
				Add(MapTo = new TI.Enum());
				Add(SawtoothCount = new TI.ShortInteger());
				Add(TI.Pad.Word);
				Add(ScaleResultBy = new TI.BlockIndex());
				Add(BoundsMode = new TI.Enum());
				Add(Bounds = new TI.Real(BlamLib.TagInterface.FieldType.RealFractionBounds));
				Add(new TI.Pad(4 + 2));
				Add(TurnoffWith = new TI.BlockIndex());
				Add(new TI.Pad(16*2));
			}
示例#30
0
 public game_data_input_references_block() : base(2)
 {
     Add(Function = new TI.Enum());
     Add(new TI.Pad(2 + 32));
 }
示例#31
0
文件: UI.cs 项目: CodeAsm/open-sauce
		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));
		}
        public TI.Flags Flags;         // Channel mask?

        public sound_gestalt_platform_codec_block() : base(3)
        {
            Add(Unknown00 = new TI.Enum(TI.FieldType.ByteEnum));
            Add(Type      = new TI.Enum(TI.FieldType.ByteEnum));
            Add(Flags     = new TI.Flags(TI.FieldType.ByteFlags));
        }
示例#33
0
 public search_and_replace_reference_block() : base(2)
 {
     Add(SearchString    = new TI.String());
     Add(ReplaceFunction = new TI.Enum());
 }
示例#34
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));
			}
示例#35
0
        public unit_hud_interface_group() : base(55)
        {
            Add(Anchor = new TI.Enum());
            Add(new TI.Pad(2 + 32));

            #region HudBackgroundAnchor
            Add(HudBackground = new TI.Struct <global_hud_interface_element_struct>(this));

            Add(new TI.Pad(4));
            Add(HudBackgroundSequenceIndex = new TI.ShortInteger());
            Add(new TI.Pad(2));
            Add(HudBackgroundMultitexOverlay = new TI.Block <global_hud_multitexture_overlay_definition>(this, 30));
            Add(new TI.Pad(4));
            #endregion

            #region ShieldPanelBackground
            Add(ShieldPanelBackground = new TI.Struct <global_hud_interface_element_struct>(this));

            Add(new TI.Pad(4));
            Add(ShieldPanelBackgroundSequenceIndex = new TI.ShortInteger());
            Add(new TI.Pad(2));
            Add(ShieldPanelBackgroundMultitexOverlay = new TI.Block <global_hud_multitexture_overlay_definition>(this, 30));
            Add(new TI.Pad(4));
            #endregion

            #region ShieldPanelMeter
            Add(ShieldPanelMeter = new TI.Struct <global_hud_meter_struct>(this));

            Add(ShieldPanelMeterOverchargeMinColor   = new TI.Color(BlamLib.TagInterface.FieldType.RgbColor));
            Add(ShieldPanelMeterOverchargeMaxColor   = new TI.Color(BlamLib.TagInterface.FieldType.RgbColor));
            Add(ShieldPanelMeterOverchargeFlashColor = new TI.Color(BlamLib.TagInterface.FieldType.RgbColor));
            Add(ShieldPanelMeterOverchargeEmptyColor = new TI.Color(BlamLib.TagInterface.FieldType.RgbColor));
            Add(new TI.Pad(16));
            #endregion

            #region HealthPanelBackground
            Add(HealthPanelBackground = new TI.Struct <global_hud_interface_element_struct>(this));

            Add(new TI.Pad(4));
            Add(HealthPanelBackgroundSequenceIndex = new TI.ShortInteger());
            Add(new TI.Pad(2));
            Add(HealthPanelBackgroundMultitexOverlay = new TI.Block <global_hud_multitexture_overlay_definition>(this, 30));
            Add(new TI.Pad(4));
            #endregion

            #region HealthPanelMeter
            Add(HealthPanelMeter = new TI.Struct <global_hud_meter_struct>(this));

            Add(HealthPanelMeterMediumHealthLeftColor        = new TI.Color(BlamLib.TagInterface.FieldType.RgbColor));
            Add(HealthPanelMeterMaxColorHealthFractionCutoff = new TI.Real());
            Add(HealthPanelMeterMinColorHealthFractionCutoff = new TI.Real());
            Add(new TI.Pad(20));
            #endregion

            #region MotionSensorBackground
            Add(MotionSensorBackground = new TI.Struct <global_hud_interface_element_struct>(this));

            Add(new TI.Pad(4));
            Add(MotionSensorBackgroundSequenceIndex = new TI.ShortInteger());
            Add(new TI.Pad(2));
            Add(MotionSensorBackgroundMultitexOverlay = new TI.Block <global_hud_multitexture_overlay_definition>(this, 30));
            Add(new TI.Pad(4));
            #endregion

            #region MotionSensorForeground
            Add(MotionSensorForeground = new TI.Struct <global_hud_interface_element_struct>(this));

            Add(new TI.Pad(4));
            Add(MotionSensorForegroundSequenceIndex = new TI.ShortInteger());
            Add(new TI.Pad(2));
            Add(MotionSensorForegroundMultitexOverlay = new TI.Block <global_hud_multitexture_overlay_definition>(this, 30));
            Add(new TI.Pad(4 + 32));
            #endregion

            Add(MotionSensorCenterAnchorOffset = new TI.Point2D());
            Add(MotionSensorCenterWidthScale   = new TI.Real());
            Add(MotionSensorCenterHeightScale  = new TI.Real());
            Add(MotionSensorCenterScalingFlags = new TI.Flags(BlamLib.TagInterface.FieldType.WordFlags));
            Add(new TI.Pad(2 + 20));

            Add(AuxilaryOverlaysAnchor = new TI.Enum());
            Add(new TI.Pad(2 + 32));
            Add(AuxilaryOverlays = new TI.Block <unit_hud_auxilary_overlay_block>(this, 16));
            Add(new TI.Pad(16));

            Add(Sounds = new TI.Block <global_hud_sound_block>(this, 12));

            Add(Meters = new TI.Block <unit_hud_auxilary_panel_block>(this, 16));

            Add(new TI.Pad(356 + 48));
        }
示例#36
0
        public scenario_group()
        {
            Add(Type  = new TI.Enum());
            Add(Flags = TI.Flags.Word);
            Add(TI.UnknownPad.DWord);
            Add(/*map id = */ MapId.SkipField);             // id used for mapinfo files
            Add(new TI.Skip(4));
            Add(new TI.UnknownPad(4 + 4));
            Add(/*LocalNorth =*/ new TI.Real(TI.FieldType.Angle));
            Add(new TI.UnknownPad(20));
            Add(/*SandboxBuget =*/ new TI.Real());
            Add(TI.UnknownPad.DWord);
            Add(/*performance throttle = */ new TI.TagReference(this, TagGroups.gptd));
            Add(TI.UnknownPad.BlockHalo3);             // tag block [0xAC] StructureBsps
            Add(TI.UnknownPad.BlockHalo3);             // tag block [0x20] structure designs
            // tag reference [sddt]
            // tag reference [????]
            Add(TI.UnknownPad.ReferenceHalo3);
            Add(TI.UnknownPad.ReferenceHalo3);
            Add(TI.UnknownPad.BlockHalo3);             // tag block [0x30] Skies
            // tag reference [scen] (sky)
            // unknown 0xC bytes (tag block?)
            // tag reference [????]
            // short
            // short

            // TOOD: finish up from here
            Add(new TI.UnknownPad(0x3A0));

            #region scripting and cinematics
            Add(HsStringData = new TI.Data(this));             // 0x430, NOTE: stored in memory region 3
            Add(HsScripts    = new TI.Block <hs_scripts_block>(this, 1024));
            Add(HsGlobals    = new TI.Block <H3.hs_globals_block>(this, 256));
            Add(/*References =*/ new TI.Block <H3.hs_references_block>(this, 512));
            Add(/*SourceFiles =*/ new TI.Block <H2.hs_source_files_block>(this, 8));
            Add(/*ScriptingData =*/ new TI.Block <cs_script_data_block>(this, 1));
            Add(/*CutsceneFlags =*/ new TI.Block <H3.scenario_cutscene_flag_block>(this, 512));
            Add(/*CutsceneCameraPoints =*/ new TI.Block <H3.scenario_cutscene_camera_point_block>(this, 512));
            Add(/*CutsceneTitles =*/ new TI.Block <scenario_cutscene_title_block>(this, 128));
            // 0x4A4
            Add(/*CustomObjectNames =*/ new TI.TagReference(this, TagGroups.unic));
            Add(/*ChapterTitleText =*/ new TI.TagReference(this, TagGroups.unic));
            Add(/*ScenarioResources =*/ new TI.Block <H3.scenario_resources_block>(this, 1));
            Add(/*HsUnitSeats =*/ new TI.Block <hs_unit_seat_block>(this, 65536));
            Add(TI.UnknownPad.BlockHalo3);             // tag block [0x4]
            // short
            // short
            Add(TI.UnknownPad.BlockHalo3);             // tag block [0x?]?
            // 0x4F4
            Add(TI.UnknownPad.BlockHalo3);             // tag block [0x30] this is physics related ata
            // dword
            // tag block H3.mopp_code_block
            // dword
            // tag_reference?
            // real?
            // real
            // real
            Add(TI.UnknownPad.BlockHalo3);             // tag block [0x?]?
            Add(TI.UnknownPad.BlockHalo3);             // tag block [0x?]?
            Add(/*HsScriptDatums =*/ new TI.Block <H3.syntax_datum_block>(this, 0));
            #endregion
            Add(TI.UnknownPad.BlockHalo3);             // tag block [0x?] Orders
            Add(TI.UnknownPad.BlockHalo3);             // tag block [0x?] Triggers
            Add(TI.UnknownPad.BlockHalo3);             // tag block [0x?] BackgroundSoundPalette
            Add(TI.UnknownPad.BlockHalo3);             // tag block [0x?] SoundEnvironmentPalette
            Add(TI.UnknownPad.BlockHalo3);             // tag block [0x?] WeatherPalette
            Add(TI.UnknownPad.BlockHalo3);             // tag block [0x?]?
            Add(TI.UnknownPad.BlockHalo3);             // tag block [0x54] ScenarioClusterData
            // this is scenario_cluster_data_block but with an extra dword of data right after the tag reference
            version_construct_add_unnamed_array();
            Add(TI.UnknownPad.BlockHalo3);             // SpawnData?
            // 0x604
            Add(/*SoundEffectCollection = */ new TI.TagReference(this, TagGroups.sfx_));
            Add(TI.UnknownPad.BlockHalo3);             // tag block [0xD8] Crates
            Add(/*CratesPalette = */ new TI.Block <H3.scenario_crate_palette_block>(this, 256));
            Add(TI.UnknownPad.BlockHalo3);             // tag block [0x10] Flocks palette
            // tag reference
            Add(TI.UnknownPad.BlockHalo3);             // tag block [0x?] Flocks
            Add(/*Subtitles = */ new TI.TagReference(this, TagGroups.unic));

            // Creatures & CreaturesPalette should be in one of these blocks
            Add(TI.UnknownPad.BlockHalo3);
            Add(TI.UnknownPad.BlockHalo3);
            Add(TI.UnknownPad.BlockHalo3);
            Add(/*EditorFolders = */ new TI.Block <H3.g_scenario_editor_folder_block>(this, 32767));
            Add(/*TerritoryLocationNames = */ new TI.TagReference(this, TagGroups.unic));
            Add(new TI.Pad(8));
            Add(TI.UnknownPad.BlockHalo3);             // tag block [0x?] MissionDialogue
            Add(/*Objectives = */ new TI.TagReference(this, TagGroups.unic));
            Add(/*? = */ new TI.TagReference(this, TagGroups.sirp));
            Add(TI.UnknownPad.BlockHalo3);             // tag block [0x?]?
            Add(/*Camere fx settings = */ new TI.TagReference(this, TagGroups.cfxs));
            Add(/*? = */ new TI.TagReference(this, TagGroups.sefc));
            Add(/*? = */ new TI.TagReference(this, TagGroups.ssao));
            Add(/*sky parameters= */ new TI.TagReference(this, TagGroups.skya));
            Add(/*atmosphere globals = */ new TI.TagReference(this, TagGroups.atgf));
            Add(/*GlobalLighting = */ new TI.TagReference(this, TagGroups.chmt));
            Add(/*lightmap = */ new TI.TagReference(this, TagGroups.sLdT));
            Add(/*performance throttles = */ new TI.TagReference(this, TagGroups.perf));
            Add(TI.UnknownPad.BlockHalo3);             // tag block [0x?]
            Add(TI.UnknownPad.BlockHalo3);             // tag block [0x?]
            Add(TI.UnknownPad.BlockHalo3);             // tag block [0x?]
            Add(TI.UnknownPad.BlockHalo3);             // tag block [0x?]
            Add(TI.UnknownPad.BlockHalo3);             // tag block [0x?]?
            Add(TI.UnknownPad.BlockHalo3);             // tag block [0x?]?
            Add(TI.UnknownPad.BlockHalo3);             // tag block [0x?]?
            Add(TI.UnknownPad.BlockHalo3);             // tag block [0x?]
            Add(TI.UnknownPad.BlockHalo3);             // tag block [0x?]?
            Add(TI.UnknownPad.BlockHalo3);             // tag block [0x?]?
            Add(TI.UnknownPad.BlockHalo3);             // tag block [0x?]
            Add(TI.UnknownPad.BlockHalo3);             // tag block [0x?]
            Add(TI.UnknownPad.BlockHalo3);             // tag block [0x?]
            Add(TI.UnknownPad.BlockHalo3);             // tag block [0x?]?
            Add(TI.UnknownPad.BlockHalo3);             // tag block [0x?]?
            Add(TI.UnknownPad.BlockHalo3);             // tag block [0x?]?
            Add(TI.UnknownPad.BlockHalo3);             // tag block [0x?]
            Add(TI.UnknownPad.ReferenceHalo3);
            Add(TI.UnknownPad.BlockHalo3);             // tag block [0x?]
            Add(TI.UnknownPad.ReferenceHalo3);
            Add(TI.UnknownPad.ReferenceHalo3);
            Add(TI.UnknownPad.ReferenceHalo3);
        }
示例#37
0
        public actor_variant_group() : base(90)
        {
            Add(Flags           = new TI.Flags());
            Add(ActorDefinition = new TI.TagReference(this, TagGroups.actr));
            Add(Unit            = new TI.TagReference(this, TagGroups.unit));
            Add(MajorVariant    = new TI.TagReference(this, TagGroups.actv));
            Add(new TI.Pad(24));

            #region movement switching
            Add(MovementType = new TI.Enum());
            Add(new TI.Pad(2));
            Add(InitialCrouchChance = new TI.Real());
            Add(CrouchTime          = new TI.RealBounds());
            Add(RunTime             = new TI.RealBounds());
            #endregion

            #region ranged combat
            Add(Weapon                     = new TI.TagReference(this, TagGroups.weap));
            Add(MaxFiringDist              = new TI.Real());
            Add(RateOfFire                 = new TI.Real());
            Add(ProjectileError            = new TI.Real(BlamLib.TagInterface.FieldType.Angle));
            Add(FirstBurstDelayTime        = new TI.RealBounds());
            Add(NewTargetFiringPatternTime = new TI.Real());
            Add(SurpriseDelayTime          = new TI.Real());
            Add(SurpriseFireWildyTime      = new TI.Real());
            Add(DeathFireWildlyChance      = new TI.Real());
            Add(DeathFireWildlyTime        = new TI.Real());
            Add(DesiredCombatRange         = new TI.RealBounds());
            Add(CustomStandGunOffset       = new TI.RealVector3D());
            Add(CustomCrouchGunOffset      = new TI.RealVector3D());
            Add(TargetTracking             = new TI.Real());
            Add(TargetLeading              = new TI.Real());
            Add(WeaponDamageModifier       = new TI.Real());
            Add(DamagePerSecond            = new TI.Real());
            #endregion

            #region burst geometry
            Add(BurstOriginRadius    = new TI.Real());
            Add(BurstOriginAngle     = new TI.Real(BlamLib.TagInterface.FieldType.Angle));
            Add(BurstReturnLength    = new TI.RealBounds());
            Add(BurstReturnAngle     = new TI.Real(BlamLib.TagInterface.FieldType.Angle));
            Add(BurstDuration        = new TI.RealBounds());
            Add(BurstSepartion       = new TI.RealBounds());
            Add(BurstAngularVelocity = new TI.Real(BlamLib.TagInterface.FieldType.Angle));
            Add(new TI.Pad(4));
            Add(SpecialDamageModifier  = new TI.Real());
            Add(SpecialProjectileError = new TI.Real(BlamLib.TagInterface.FieldType.Angle));
            #endregion

            #region firing patterns
            Add(NewTargetBurstDuration   = new TI.Real());
            Add(NewTargetBurstSeperation = new TI.Real());
            Add(NewTargetRateOfFire      = new TI.Real());
            Add(NewTargetProjectileError = new TI.Real());
            Add(new TI.Pad(8));
            Add(MovingBurstDuration   = new TI.Real());
            Add(MovingBurstSeperation = new TI.Real());
            Add(MovingRateOfFire      = new TI.Real());
            Add(MovingProjectileError = new TI.Real());
            Add(new TI.Pad(8));
            Add(BerserkBurstDuration   = new TI.Real());
            Add(BerserkBurstSeperation = new TI.Real());
            Add(BerserkRateOfFire      = new TI.Real());
            Add(BerserkProjectileError = new TI.Real());
            Add(new TI.Pad(8));
            #endregion

            #region special-case firing properties
            Add(SuperBallisticRange  = new TI.Real());
            Add(BombardmentRange     = new TI.Real());
            Add(ModifiedVisionRange  = new TI.Real());
            Add(SpecialFireMode      = new TI.Enum());
            Add(SpecialFireSituation = new TI.Enum());
            Add(SpecialFireChance    = new TI.Real());
            Add(SpecialFireDelay     = new TI.Real());
            #endregion

            #region berserking and melee
            Add(MeleeRange             = new TI.Real());
            Add(MeleeAbortRange        = new TI.Real());
            Add(BerserkFiringRange     = new TI.RealBounds());
            Add(BerserkMeleeRange      = new TI.Real());
            Add(BerserkMeleeAbortRange = new TI.Real());
            Add(new TI.Pad(8));
            #endregion

            #region grenades
            Add(GrenadeType     = new TI.Enum());
            Add(TrajectoryType  = new TI.Enum());
            Add(GrenadeStimulus = new TI.Enum());
            Add(MinEnemyCount   = new TI.ShortInteger());
            Add(EnemyRadius     = new TI.Real());
            Add(new TI.Pad(4));
            Add(GrenadeVelocity         = new TI.Real());
            Add(GrenadeRanges           = new TI.RealBounds());
            Add(CollateralDamageRadius  = new TI.Real());
            Add(GrenadeChance           = new TI.Real(BlamLib.TagInterface.FieldType.RealFraction));
            Add(GrenadeCheckTime        = new TI.Real());
            Add(EncounterGrenadeTimeout = new TI.Real());
            Add(new TI.Pad(20));
            #endregion

            #region items
            Add(Equipment              = new TI.TagReference(this, TagGroups.eqip));
            Add(GrenadeCount           = new TI.ShortIntegerBounds());
            Add(DontDropGrenadesChance = new TI.Real());
            Add(DropWeaponLoaded       = new TI.RealBounds());
            Add(DropWeaponAmmo         = new TI.ShortIntegerBounds());
            Add(new TI.Pad(12 + 16));
            #endregion

            #region unit
            Add(BodyVitality            = new TI.Real());
            Add(ShieldVitality          = new TI.Real());
            Add(ShieldSappingRadius     = new TI.Real());
            Add(ForcedShaderPermutation = new TI.ShortInteger());
            Add(new TI.Pad(2 + 16 + 12));
            #endregion

            Add(ChangeColors = new TI.Block <actor_variant_change_colors_block>(this, 4));
        }
示例#38
0
        public actor_group() : base(124)
        {
            Add(Flags     = new TI.Flags());
            Add(MoreFlags = new TI.Flags());
            Add(new TI.Pad(12));
            Add(Type = new TI.Enum());
            Add(new TI.Pad(2));

            #region perception
            Add(MaxVisionDist      = new TI.Real());
            Add(CentralVisionAngle = new TI.Real(BlamLib.TagInterface.FieldType.Angle));
            Add(MaxVisionAngle     = new TI.Real(BlamLib.TagInterface.FieldType.Angle));
            Add(new TI.Pad(4));
            Add(PeripheralVisionAngle = new TI.Real(BlamLib.TagInterface.FieldType.Angle));
            Add(PeripheralDist        = new TI.Real());
            Add(new TI.Pad(4));
            Add(StandingGunOffset      = new TI.RealVector3D());
            Add(CrouchingGunOffset     = new TI.RealVector3D());
            Add(HearingDist            = new TI.Real());
            Add(NoticeProjectileChance = new TI.Real());
            Add(NoticeVehicleChance    = new TI.Real());
            Add(new TI.Pad(8));
            Add(CombatPerceptionTime    = new TI.Real());
            Add(GuardPerceptionTime     = new TI.Real());
            Add(NonCombatPerceptionTime = new TI.Real());
            Add(new TI.Pad(12 + 8));
            #endregion

            #region movement
            Add(DiveIntoCoverChance    = new TI.Real());
            Add(EmergeFromCoverChance  = new TI.Real());
            Add(DiveFromGrenadeChance  = new TI.Real());
            Add(PathfindingRadius      = new TI.Real());
            Add(GlassIgnoranceChance   = new TI.Real());
            Add(StationaryMovementDist = new TI.Real());
            Add(FreeFlyingSidestep     = new TI.Real());
            Add(BeginMovingAngle       = new TI.Real(BlamLib.TagInterface.FieldType.Angle));
            Add(new TI.Pad(4));
            #endregion

            #region looking
            Add(MaxAimingDeviation    = new TI.RealEulerAngles2D());
            Add(MaxLookingDeviation   = new TI.RealEulerAngles2D());
            Add(NonCombatLookDeltaL   = new TI.Real(BlamLib.TagInterface.FieldType.Angle));
            Add(NonCombatLookDeltaR   = new TI.Real(BlamLib.TagInterface.FieldType.Angle));
            Add(CombatLookDeltaL      = new TI.Real(BlamLib.TagInterface.FieldType.Angle));
            Add(CombatLookDeltaR      = new TI.Real(BlamLib.TagInterface.FieldType.Angle));
            Add(IdleAimingRange       = new TI.RealEulerAngles2D());
            Add(IdleLookingRange      = new TI.RealEulerAngles2D());
            Add(EventLookTimeModifier = new TI.RealBounds());
            Add(NonCombatIdleFacing   = new TI.RealBounds());
            Add(NonCombatIdleAiming   = new TI.RealBounds());
            Add(NonCombatIdleLooking  = new TI.RealBounds());
            Add(GuardIdleFacing       = new TI.RealBounds());
            Add(GuardIdleAiming       = new TI.RealBounds());
            Add(GuardIdleLooking      = new TI.RealBounds());
            Add(CombatIdleFacing      = new TI.RealBounds());
            Add(CombatIdleAiming      = new TI.RealBounds());
            Add(CombatIdleLooking     = new TI.RealBounds());
            Add(new TI.Pad(8 + 16));
            #endregion

            Add(DoNotUseWeapon = new TI.TagReference(this, TagGroups.weap));
            Add(new TI.Pad(268));
            Add(DoNotUseProjectile = new TI.TagReference(this, TagGroups.proj));

            #region unopposable
            Add(UnreachableDangerTrigger = new TI.Enum());
            Add(VehicleDangerTrigger     = new TI.Enum());
            Add(PlayerDangerTrigger      = new TI.Enum());
            Add(new TI.Pad(2));
            Add(DangerTriggerTime        = new TI.RealBounds());
            Add(FriendsKilledTrigger     = new TI.ShortInteger());
            Add(FriendsRetreatingTrigger = new TI.ShortInteger());
            Add(new TI.Pad(12));
            Add(RetreatTime = new TI.RealBounds());
            Add(new TI.Pad(8));
            #endregion

            #region panic
            Add(CoveringTime            = new TI.RealBounds());
            Add(FriendKilledPanicChance = new TI.Real());
            Add(LeaderType = new TI.Enum());
            Add(new TI.Pad(2));
            Add(LeaderKilledPanicChance = new TI.Real());
            Add(PanicDamageThreshold    = new TI.Real());
            Add(SurpriseDist            = new TI.Real());
            Add(new TI.Pad(28));
            #endregion

            #region defensive
            Add(HideBehindCoverTime     = new TI.RealBounds());
            Add(HideTagerNotVisibleTime = new TI.Real());
            Add(HideShieldFraction      = new TI.Real());
            Add(AttackShieldFraction    = new TI.Real());
            Add(PursueShieldFraction    = new TI.Real());
            Add(new TI.Pad(16));
            Add(DefensiveCrouchType = new TI.Enum());
            Add(new TI.Pad(2));
            Add(AttackingCrouchThreshold  = new TI.Real());
            Add(DefendingCrouchThreshold  = new TI.Real());
            Add(MinStandTime              = new TI.Real());
            Add(MinCrouchTime             = new TI.Real());
            Add(DefendingHideTime         = new TI.Real());
            Add(AttackingEvasionThreshold = new TI.Real());
            Add(DefendingEvasionThreshold = new TI.Real());
            Add(EvasionSeekCoverChance    = new TI.Real());
            Add(EvasionDelayTime          = new TI.Real());
            Add(MaxSeekCoverDist          = new TI.Real());
            Add(CoverDamageThreshold      = new TI.Real());
            Add(StalkingDiscoveryTime     = new TI.Real());
            Add(StalkingMaxDist           = new TI.Real());
            Add(StationaryFacingAngle     = new TI.Real(BlamLib.TagInterface.FieldType.Angle));
            Add(ChangeFacingStandTime     = new TI.Real());
            Add(new TI.Pad(4));
            #endregion

            #region pursuit
            Add(UncoverDelayTimer   = new TI.RealBounds());
            Add(TargetSearchTime    = new TI.RealBounds());
            Add(PursuitPositionTime = new TI.RealBounds());
            Add(NumPositionsCoord   = new TI.ShortInteger());
            Add(NumPositionsNormal  = new TI.ShortInteger());
            Add(new TI.Pad(32));
            #endregion

            #region berserk
            Add(MeleeAttackDelay       = new TI.Real());
            Add(MeleeFudgeFactor       = new TI.Real());
            Add(MeleeChargeTime        = new TI.Real());
            Add(MeleeLeapRange         = new TI.RealBounds());
            Add(MeleeLeapVelocity      = new TI.Real());
            Add(MeleeLeapChance        = new TI.Real());
            Add(MeleeLeapBallistic     = new TI.Real());
            Add(BerserkDamageAmount    = new TI.Real());
            Add(BerserkDamageThreshold = new TI.Real());
            Add(BerserkProximity       = new TI.Real());
            Add(SuicideSensingDist     = new TI.Real());
            Add(BerserkGrenadeChance   = new TI.Real());
            Add(new TI.Pad(12));
            #endregion

            #region firing positions
            Add(GuardPositionTIme    = new TI.RealBounds());
            Add(CombatPositionTime   = new TI.RealBounds());
            Add(OldPositionAvoidDist = new TI.Real());
            Add(FriendAvoidDist      = new TI.Real());
            Add(new TI.Pad(40));
            #endregion

            #region communication
            Add(NoncombatIdleSpeechTime = new TI.RealBounds());
            Add(CombatIdleSpechTime     = new TI.RealBounds());
            Add(new TI.Pad(48 + 128));
            #endregion

            Add(DoNotUseMajorUpgrade = new TI.TagReference(this, TagGroups.actr));
            Add(new TI.Pad(48));
        }
示例#39
0
 public multiplayer_variant_settings_interface_definition_0_block() : base(2)
 {
     Add(Name            = new TI.StringId());
     Add(SettingCategory = new TI.Enum(TI.FieldType.LongEnum));
     Add(Options         = new TI.Block <unknown_4_block>(this, 0));
 }
示例#40
0
			public scenario_netgame_flags_block() : base(6)
			{
				Add(Position = new TI.RealPoint3D());
				Add(Facing = new TI.Real(BlamLib.TagInterface.FieldType.Angle));
				Add(Type = new TI.Enum());
				Add(TeamIndex = new TI.ShortInteger());
				Add(WeaponGroup = new TI.TagReference(this, TagGroups.itmc));
				Add(new TI.Pad(112));
			}
示例#41
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));
			}
示例#42
0
        public hud_globals_group() : base(58)
        {
            Add(Anchor = new TI.Enum());
            Add(new TI.Pad(2 + 32));
            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(SinglePlayerFont  = new TI.TagReference(this, TagGroups.font));
            Add(MultiPlayerFont   = new TI.TagReference(this, TagGroups.font));
            Add(UpTime            = new TI.Real());
            Add(FadeTime          = new TI.Real());
            Add(IconColor         = new TI.RealColor(BlamLib.TagInterface.FieldType.RealArgbColor));
            Add(TextColor         = new TI.RealColor(BlamLib.TagInterface.FieldType.RealArgbColor));
            Add(TextSpacing       = new TI.Real());
            Add(ItemMessageText   = new TI.TagReference(this, TagGroups.ustr));
            Add(IconBitmap        = new TI.TagReference(this, TagGroups.bitm));
            Add(AlternateIconText = new TI.TagReference(this, TagGroups.ustr));
            Add(ButtonIcons       = new TI.Block <hud_button_icon_block>(this, 18));

            Add(HelpText = new TI.Struct <global_hud_color_struct>(this));
            Add(new TI.Pad(4));

            Add(HudMessages          = new TI.TagReference(this, TagGroups.hmt_));
            Add(Objective            = new TI.Struct <global_hud_color_struct>(this));
            Add(ObjectiveUptimeTicks = new TI.ShortInteger());
            Add(ObjectiveFadeTicks   = new TI.ShortInteger());

            Add(WaypointOffsetTop    = new TI.Real());
            Add(WaypointOffsetBottom = new TI.Real());
            Add(WaypointOffsetLeft   = new TI.Real());
            Add(WaypointOffsetRight  = new TI.Real());
            Add(new TI.Pad(32));
            Add(WaypointArrowBitmap = new TI.TagReference(this, TagGroups.bitm));
            Add(WaypointArrows      = new TI.Block <hud_waypoint_arrow_block>(this, 16));

            Add(new TI.Pad(80));

            Add(HudScaleInMultiplayer = new TI.Real());
            Add(new TI.Pad(256));

            Add(DefaultWeaponHud  = new TI.TagReference(this, TagGroups.wphi));
            Add(MotionSensorRange = new TI.Real());
            Add(MotionSensorVelocitySensitivity = new TI.Real());
            Add(MotionSensorScale         = new TI.Real());
            Add(DefaultChapterTitleBounds = new TI.Rectangle2D());
            Add(new TI.Pad(44));

            Add(HudDamageIndicatorOffsets = new TI.Rectangle2D());
            Add(new TI.Pad(32));
            Add(IndicatorBitmap = new TI.TagReference(this, TagGroups.bitm));
            Add(HudDamageIndicatorSequenceIndex   = new TI.ShortInteger());
            Add(HudDamageIndicatorMpSequenceIndex = new TI.ShortInteger());
            Add(HudDamageIndicatorColor           = new TI.Color());
            Add(new TI.Pad(16));

            Add(HudTimerWarning = new TI.Struct <global_hud_color_struct>(this));
            Add(new TI.Pad(4));

            Add(HudTimerDone = new TI.Struct <global_hud_color_struct>(this));
            Add(new TI.Pad(4 + 40));

            Add(CarnageReportBitmap = new TI.TagReference(this, TagGroups.bitm));
            Add(LoadingBeginText    = new TI.ShortInteger());
            Add(LoadingEndText      = new TI.ShortInteger());
            Add(CheckpointBeginText = new TI.ShortInteger());
            Add(CheckpointEndText   = new TI.ShortInteger());
            Add(CheckpointSound     = new TI.TagReference(this, TagGroups.snd_));
            Add(new TI.Pad(96));
        }
示例#43
0
			public hs_scripts_block() : base(5)
			{
				Add(Name = new TI.String());
				Add(ScriptType = new TI.Enum());
				Add(ReturnType = new TI.Enum());
				Add(RootExpressionIndex = new TI.LongInteger());
				Add(new TI.Pad(52));
			}
示例#44
0
			public hs_globals_block() : base(5)
			{
				Add(Name = new TI.String());
				Add(Type = new TI.Enum());
				Add(new TI.Pad(2 + 4));
				Add(InitExpressionIndex = new TI.LongInteger());
				Add(new TI.Pad(48));
			}
示例#45
0
        public shader_environment_group() : base(54)
        {
            Add(Flags            = TI.Flags.Word);
            Add(Type             = new TI.Enum());
            Add(LensFlareSpacing = new TI.Real());
            Add(LensFlare        = new TI.TagReference(this, TagGroups.lens));
            Add(ShaderExtension  = new TI.Block <shader_environment_extension_block>(this, 1));
            Add(new TI.Pad(32));

            Add(DiffuseFlags = TI.Flags.Word);
            Add(new TI.Pad(2 + 24));
            Add(BaseMap = new TI.TagReference(this, TagGroups.bitm));
            Add(new TI.Pad(24));
            Add(DetailMapFunctions = new TI.Enum());
            Add(new TI.Pad(2));
            Add(PrimaryDetailMapScale   = new TI.Real());
            Add(PrimaryDetailMap        = new TI.TagReference(this, TagGroups.bitm));
            Add(SecondaryDetailMapScale = new TI.Real());
            Add(SecondaryDetailMap      = new TI.TagReference(this, TagGroups.bitm));
            Add(new TI.Pad(24));
            Add(MicroDetailMapFunction = new TI.Enum());
            Add(new TI.Pad(2));
            Add(MicroDetailMapScale = new TI.Real());
            Add(MicroDetailMap      = new TI.TagReference(this, TagGroups.bitm));
            Add(MaterialColor       = new TI.RealColor());

            Add(new TI.Pad(12));
            Add(BumpMapScale = new TI.Real());
            Add(BumpMap      = new TI.TagReference(this, TagGroups.bitm));
            Add(new TI.Pad(8 + 16));

            Add(UAnimation = new TI.Struct <shader_texture_animation_function_struct>(this));
            Add(VAnimation = new TI.Struct <shader_texture_animation_function_struct>(this));
            Add(new TI.Pad(24));

            Add(SelfIlluminationFlags = TI.Flags.Word);
            Add(new TI.Pad(2 + 24));
            Add(PrimaryAnimation   = new TI.Struct <shader_color_function_struct>(this));
            Add(SecondaryAnimation = new TI.Struct <shader_color_function_struct>(this));
            Add(PlasmaAnimation    = new TI.Struct <shader_color_function_struct>(this));
            Add(MapScale           = new TI.Real());
            Add(Map = new TI.TagReference(this, TagGroups.bitm));
            Add(new TI.Pad(24));

            Add(SpecularFlags = TI.Flags.Word);
            Add(new TI.Pad(2 + 16));
            Add(Brightness = TI.Real.Fraction);
            Add(new TI.Pad(20));
            Add(PerpendicularColor = new TI.RealColor());
            Add(ParallelColor      = new TI.RealColor());
            Add(new TI.Pad(16));

            Add(ReflectionFlags         = TI.Flags.Word);
            Add(ReflectionType          = new TI.Enum());
            Add(LightmapBrightnessScale = TI.Real.Fraction);
            Add(new TI.Pad(28));
            Add(PerpendicularBrightness = TI.Real.Fraction);
            Add(ParallelBrightness      = TI.Real.Fraction);
            Add(new TI.Pad(16 + 8 + 16));
            Add(ReflectionCubeMap = new TI.TagReference(this, TagGroups.bitm));
            Add(new TI.Pad(16));
        }
示例#46
0
			public scenario_cutscene_title_block() : base(14)
			{
				Add(new TI.Pad(4));
				Add(Name = new TI.String());
				Add(new TI.Pad(4));
				Add(TextBounds = new TI.Rectangle2D());
				Add(StringIndex = new TI.ShortInteger());
				// TODO: really an enum for text_style
				// 0 = plain
				// 1 = bold
				// 2 = italic
				// 3 = condense
				// 4 = underline
				Add(TextStyle = new TI.Enum());
				Add(Justification = new TI.Enum());
				Add(new TI.Pad(2 + 4));
				Add(TextColor = new TI.Color());
				Add(ShadowColor = new TI.Color());
				Add(FadeInTime = new TI.Real());
				Add(UpTime = new TI.Real());
				Add(FadeOutTIme = new TI.Real());
				Add(new TI.Pad(16));
			}
示例#47
0
        public scenario_group()
        {
            Add(Type  = new TI.Enum());
            Add(Flags = TI.Flags.Word);
            Add(/*map id = */ MapId.SkipField);             // id used for mapinfo files
            Add(new TI.Skip(4));
            Add(SandboxBuget  = new TI.Real());
            Add(StructureBsps = new TI.Block <H3.scenario_structure_bsp_reference_block>(this, 16));

            // ODST:
            Add(ScenarioPda = new BlamLib.TagInterface.TagReference(this, TagGroups.spda));
            Add(TI.UnknownPad.BlockHalo3);                                       // tag block [0x?]

            Add(/*DontUse = */ new TI.TagReference(this, Halo3.TagGroups.sbsp)); // Its a tag reference here, but IDK if its for THIS exactly...
            Add(Skies = new TI.Block <H3.scenario_sky_reference_block>(this, 32));
            Add(TI.UnknownPad.BlockHalo3);                                       // tag block [0x2C], see Halo3
            Add(TI.UnknownPad.BlockHalo3);                                       // tag block [0x64], see Halo3
            Add(TI.UnknownPad.BlockHalo3);                                       // tag block [0x24], see Halo3
            Add(TI.UnknownPad.BlockHalo3);                                       // tag block [0xC], see Halo3

            // ODST:
            Add(TI.UnknownPad.BlockHalo3);             // tag block [0x4], campaign players
            // string id [player model name] // player #<element_index> uses this player model

            Add(new TI.UnknownPad(0x44));                                                        // unknown [0x44]
            #region scenario objects
            Add(ObjectNames = new TI.Block <H3.scenario_object_names_block>(this, 0));           // I'm sure the max is now over 640...
            Add(TI.UnknownPad.BlockHalo3);                                                       // tag block [0xB4] Scenery
            Add(SceneryPalette = new TI.Block <H3.scenario_scenery_palette_block>(this, 0));     // I'm sure the max is now over 256...
            Add(TI.UnknownPad.BlockHalo3);                                                       // tag block [0x74] Bipeds
            Add(BipedsPalette = new TI.Block <H3.scenario_biped_palette_block>(this, 0));        // ''
            Add(TI.UnknownPad.BlockHalo3);                                                       // tag block [0xA8] Vehicles
            Add(VehiclePalette = new TI.Block <H3.scenario_vehicle_palette_block>(this, 0));     // ''
            Add(TI.UnknownPad.BlockHalo3);                                                       // tag block [0x8C] Equipment
            Add(EquipmentPalette = new TI.Block <H3.scenario_equipment_palette_block>(this, 0)); // ''
            Add(TI.UnknownPad.BlockHalo3);                                                       // tag block [0xA8] Weapons
            Add(WeaponPalette = new TI.Block <H3.scenario_weapon_palette_block>(this, 0));       // ''
            Add(TI.UnknownPad.BlockHalo3);                                                       // tag block [0x28] Device groups
            Add(TI.UnknownPad.BlockHalo3);                                                       // tag block [0x88] Machines
            Add(MachinePalette = new TI.Block <H3.scenario_machine_palette_block>(this, 0));     // ''
            Add(TI.UnknownPad.BlockHalo3);                                                       // tag block [0x78] Terminals
            Add(TerminalPalette = new TI.Block <H3.scenario_terminal_palette_block>(this, 0));   // ''

            // ODST:
            Add(TI.UnknownPad.BlockHalo3);                                                                   // tag block [0xB8] Arg Devices
            Add(ArgDevicesPalette = new TI.Block <scenario_arg_device_palette_block>(this, 0));              // ''

            Add(TI.UnknownPad.BlockHalo3);                                                                   // tag block [0x7C] Controls
            Add(ControlPalette = new TI.Block <H3.scenario_control_palette_block>(this, 0));                 // ''
            Add(TI.UnknownPad.BlockHalo3);                                                                   // tag block [0x70] Sound Scenery
            Add(SoundSceneryPalette = new TI.Block <H3.scenario_sound_scenery_palette_block>(this, 0));      // ''
            Add(TI.UnknownPad.BlockHalo3);                                                                   // tag block [0x84] Giants
            Add(GiantsPalette = new TI.Block <H3.scenario_giant_palette_block>(this, 0));                    // ''
            Add(TI.UnknownPad.BlockHalo3);                                                                   // tag block [0x54] Effect Scenery
            Add(EffectSceneryPalette = new TI.Block <H3.scenario_effect_scenery_palette_block>(this, 0));    // ''
            Add(TI.UnknownPad.BlockHalo3);                                                                   // tag block [0x70] Light Volumes
            Add(LightVolumesPalette = new TI.Block <H3.scenario_light_palette_block>(this, 0));              // ''
            #endregion
            Add(/*Sandbox vehicles = */ new TI.Block <H3.scenario_sandbox_vehicle_settings_block>(this, 0)); // 0x228
            Add(/*Sandbox weapons = */ new TI.Block <H3.scenario_sandbox_weapon_settings_block>(this, 0));
            Add(/*Sandbox equipment = */ new TI.Block <H3.scenario_sandbox_equipment_settings_block>(this, 0));
            Add(/*Sandbox scenery = */ new TI.Block <H3.scenario_sandbox_scenery_settings_block>(this, 0));
            Add(/*Sandbox teleporters = */ new TI.Block <H3.scenario_sandbox_teleporter_settings_block>(this, 0));
            Add(/*Sandbox netgame flags = */ new TI.Block <H3.scenario_sandbox_netpoint_settings_block>(this, 0));
            Add(/*Sandbox spawns = */ new TI.Block <H3.scenario_sandbox_spawn_settings_block>(this, 0));
            Add(TI.UnknownPad.BlockHalo3);             // 0x27C tag block [0xC], see Halo3
            Add(/*PlayerStartingProfile = */ new TI.Block <H3.scenario_group.scenario_profiles_block>(this, 256));
            Add(/*PlayerStartingLocations = */ new TI.Block <H3.scenario_group.scenario_players_block>(this, 256));
            Add(/*KillTriggerVolumes = */ new TI.Block <H3.scenario_trigger_volume_block>(this, 256)); // 0x260
            Add(TI.UnknownPad.BlockHalo3);                                                             // tag block [0x?] // recorded animations?
            Add(TI.UnknownPad.BlockHalo3);                                                             // tag block [0x10], see Halo3
            Add(TI.UnknownPad.BlockHalo3);                                                             // tag block [0x?]
            Add(TI.UnknownPad.BlockHalo3);                                                             // tag block [0x?]
            Add(TI.UnknownPad.BlockHalo3);                                                             // tag block [0x?]
            Add(TI.UnknownPad.BlockHalo3);                                                             // tag block [0x?]
            Add(TI.UnknownPad.BlockHalo3);                                                             // tag block [0x?]
            Add(TI.UnknownPad.BlockHalo3);                                                             // tag block [0x?]
            Add(TI.UnknownPad.BlockHalo3);                                                             // tag block [0x?]
            Add(TI.UnknownPad.BlockHalo3);                                                             // tag block [0x?]
            Add(TI.UnknownPad.BlockHalo3);                                                             // tag block [0x?]
            Add(TI.UnknownPad.BlockHalo3);                                                             // tag block [0x?]
            Add(TI.UnknownPad.BlockHalo3);                                                             // tag block [0x?]
            Add(TI.UnknownPad.BlockHalo3);                                                             // tag block [0x?]
            Add(TI.UnknownPad.BlockHalo3);                                                             // tag block [0x?]
            Add(TI.UnknownPad.BlockHalo3);                                                             // tag block [0x?]
            Add(TI.UnknownPad.BlockHalo3);                                                             // tag block [0x?]
            Add(TI.UnknownPad.BlockHalo3);                                                             // tag block [0x?]
            Add(TI.UnknownPad.BlockHalo3);                                                             // tag block [0x?]
            Add(TI.UnknownPad.BlockHalo3);                                                             // tag block [0x24] scenario_decal_systems_block 65536
            Add(/*DecalSystems = */ new TI.Block <H3.scenario_decal_system_palette_block>(this, 128));
            Add(TI.UnknownPad.BlockHalo3);                                                             // tag block [0x?]
            Add(TI.UnknownPad.BlockHalo3);                                                             // tag block [0x?]
            Add(/*SquadGroups = */ new TI.Block <H3.squad_groups_block>(this, 100));
            Add(TI.UnknownPad.BlockHalo3);                                                             // squads, see Halo3
            Add(/*Zones = */ new TI.Block <zone_block>(this, 128));

            // ODST: I think this new block was added AFTER what I'm thinking may be 'Mission Scenes'
            Add(TI.UnknownPad.BlockHalo3);             // tag block [0x?] // Mission Scenes?
            Add(TI.UnknownPad.BlockHalo3);             // tag block [0x?]

            Add(/*CharacterPalette = */ new TI.Block <H3.character_palette_block>(this, 64));
            Add(TI.UnknownPad.BlockHalo3);                 // tag block [0x?]
            Add(TI.UnknownPad.BlockHalo3);                 // tag block [0x6C], see Halo3
            Add(TI.UnknownPad.BlockHalo3);                 // tag block [0x?], see Halo3
            #region scripting and cinematics
            Add(HsStringData         = new TI.Data(this)); // 0x42C
            Add(HsScripts            = new TI.Block <H3.hs_scripts_block>(this, 1024));
            Add(HsGlobals            = new TI.Block <H3.hs_globals_block>(this, 256));
            Add(References           = new TI.Block <H3.hs_references_block>(this, 512));
            Add(SourceFiles          = new TI.Block <H2.hs_source_files_block>(this, 8));
            Add(ScriptingData        = new TI.Block <H2.cs_script_data_block>(this, 1));
            Add(CutsceneFlags        = new TI.Block <H3.scenario_cutscene_flag_block>(this, 512));
            Add(CutsceneCameraPoints = new TI.Block <H3.scenario_cutscene_camera_point_block>(this, 512));
            Add(TI.UnknownPad.BlockHalo3);             // tag block [0x?] Add(CutsceneTitles = new TI.Block<scenario_cutscene_title_block>(this, 128));
            Add(CustomObjectNames = new TI.TagReference(this, Halo3.TagGroups.unic));
            Add(ChapterTitleText  = new TI.TagReference(this, Halo3.TagGroups.unic));
            Add(ScenarioResources = new TI.Block <H3.scenario_resources_block>(this, 1));
            Add(HsUnitSeats       = new TI.Block <H3.hs_unit_seat_block>(this, 65536));
            Add(TI.UnknownPad.BlockHalo3);                                                                // tag block [0x2]
            Add(ScenarioKillTriggers = new TI.Block <H3.scenario_kill_trigger_volumes_block>(this, 256)); // 0x498
            Add(HsScriptDatums       = new TI.Block <H3.syntax_datum_block>(this, 36864));
            #endregion
            Add(TI.UnknownPad.BlockHalo3);             // tag block [0x?] Orders
            Add(TI.UnknownPad.BlockHalo3);             // tag block [0x?] Triggers
            Add(/*BackgroundSoundPalette = */ new TI.Block <H3.structure_bsp_background_sound_palette_block>(this, 64));
            Add(TI.UnknownPad.BlockHalo3);             // tag block [0x?] SoundEnvironmentPalette
            Add(TI.UnknownPad.BlockHalo3);             // tag block [0x?] WeatherPalette
            Add(TI.UnknownPad.BlockHalo3);             // tag block [0x?]?
            version_construct_add_unnamed_null_blocks();
            Add(/*ScenarioClusterData = */ new TI.Block <H3.scenario_cluster_data_block>(this, 16));
            Add(TI.UnknownPad.BlockHalo3);             // tag block [0x?]?
            version_construct_add_unnamed_array();
            // 0x618


            // crate: 0x634, 0x640, 0xB0
            // creature: 0x674, 0x680, 0x54
        }
示例#48
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);
		}
 public predicted_resource_block() : base(3)
 {
     Add(Type          = new TI.Enum());
     Add(ResourceIndex = new TI.ShortInteger());
     Add(TagIndex      = new TI.LongInteger());
 }
示例#50
0
        public weapon_group() : base(67)
        {
            Add(Flags = new TI.Flags());
            Add(Label = new TI.String());
            Add(SecondaryTriggerMode    = new TI.Enum());
            Add(MaxAltShotsLoaded       = new TI.ShortInteger());
            Add(AinWeapon               = new TI.Enum());
            Add(BinWeapon               = new TI.Enum());
            Add(CinWeapon               = new TI.Enum());
            Add(DinWeapon               = new TI.Enum());
            Add(ReadyTime               = new TI.Real());
            Add(ReadyEffect             = new TI.TagReference(this));
            Add(HeatRecoveryThreshold   = new TI.Real(BlamLib.TagInterface.FieldType.RealFraction));
            Add(OverheatedThreshold     = new TI.Real(BlamLib.TagInterface.FieldType.RealFraction));
            Add(HeatDetonationThreshold = new TI.Real(BlamLib.TagInterface.FieldType.RealFraction));
            Add(HeatDetonationFraction  = new TI.Real(BlamLib.TagInterface.FieldType.RealFraction));
            Add(HeatLossPerSecond       = new TI.Real(BlamLib.TagInterface.FieldType.RealFraction));
            Add(HeatIllumination        = new TI.Real(BlamLib.TagInterface.FieldType.RealFraction));
            Add(new TI.Pad(16));
            Add(Overheated          = new TI.TagReference(this));
            Add(Detonation          = new TI.TagReference(this));
            Add(PlayerMeleeDamage   = new TI.TagReference(this, TagGroups.jpt_));
            Add(PlayerMeleeResponse = new TI.TagReference(this, TagGroups.jpt_));
            Add(new TI.Pad(8));

            Add(ActorFiringParameters = new TI.TagReference(this, TagGroups.actv));

            Add(NearRecticleRange         = new TI.Real());
            Add(FarReticleRange           = new TI.Real());
            Add(IntersectionRecticleRange = new TI.Real());

            Add(new TI.Pad(2));
            Add(MagnificationLevel = new TI.ShortInteger());
            Add(MagnificationRange = new TI.RealBounds());

            Add(AutoaimAngle   = new TI.Real(BlamLib.TagInterface.FieldType.Angle));
            Add(AutoaimRange   = new TI.Real());
            Add(MagnetismAngle = new TI.Real(BlamLib.TagInterface.FieldType.Angle));
            Add(MagnetismRange = new TI.Real());
            Add(DeviationAngle = new TI.Real(BlamLib.TagInterface.FieldType.Angle));
            Add(new TI.Pad(4));

            Add(MovementPenalized = new TI.Enum());
            Add(new TI.Pad(2));
            Add(ForwardMovementPenalty  = new TI.Real(BlamLib.TagInterface.FieldType.RealFraction));
            Add(SidewaysMovementPenalty = new TI.Real(BlamLib.TagInterface.FieldType.RealFraction));
            Add(new TI.Pad(4));

            Add(MinTargetRange      = new TI.Real());
            Add(LookingTimeModifier = new TI.Real());
            Add(new TI.Pad(4));

            Add(LightPowerOnTime       = new TI.Real());
            Add(LightPowerOffTime      = new TI.Real());
            Add(LightPowerOnEffect     = new TI.TagReference(this));
            Add(LightPowerOffEffect    = new TI.TagReference(this));
            Add(AgeHeatRecoveryPenalty = new TI.Real());
            Add(AgeRateOfFirePenalty   = new TI.Real());
            Add(AgeMisfireStart        = new TI.Real(BlamLib.TagInterface.FieldType.RealFraction));
            Add(AgeMisfireChance       = new TI.Real(BlamLib.TagInterface.FieldType.RealFraction));
            Add(new TI.Pad(12));

            Add(FirstPersonModel      = new TI.TagReference(this, TagGroups.mode));
            Add(FirstPersonAnimations = new TI.TagReference(this, TagGroups.ant_));
            Add(new TI.Pad(4));
            Add(HudInterface = new TI.TagReference(this, TagGroups.wphi));
            Add(PickupSound  = new TI.TagReference(this, TagGroups.snd_));
            Add(ZoomInSound  = new TI.TagReference(this, TagGroups.snd_));
            Add(ZoomOutSound = new TI.TagReference(this, TagGroups.snd_));
            Add(new TI.Pad(12));
            Add(ActiveCamoDing     = new TI.Real());
            Add(ActiveCamoRegrowth = new TI.Real());
            Add(new TI.Pad(12 + 2));

            Add(WeaponType = new TI.Enum());
            Add(PredictedResourcesWeapon = new TI.Block <predicted_resource_block>(this, 1024));
            Add(Magazines = new TI.Block <magazines_block>(this, 2));
            Add(Triggers  = new TI.Block <triggers_block>(this, 2));
        }