public DynaUIImage(Section_AHDR AHDR, Game game, Endianness endianness) : base(AHDR, DynaType.ui__image, game, endianness)
        {
            using (var reader = new EndianBinaryReader(AHDR.data, endianness))
            {
                reader.BaseStream.Position = dynaUIEnd;

                Texture_AssetID             = reader.ReadUInt32();
                uv1u                        = reader.ReadSingle();
                uv1v                        = reader.ReadSingle();
                uv2u                        = reader.ReadSingle();
                uv2v                        = reader.ReadSingle();
                uv3u                        = reader.ReadSingle();
                uv3v                        = reader.ReadSingle();
                uv4u                        = reader.ReadSingle();
                uv4v                        = reader.ReadSingle();
                rotation                    = reader.ReadSingle();
                UIImageFlags.FlagValueShort = reader.ReadUInt16();
                addreasMoveU                = reader.ReadByte();
                addreasMoveV                = reader.ReadByte();
                Color1                      = reader.ReadColor();
                Color2                      = reader.ReadColor();
                Color3                      = reader.ReadColor();
                Color4                      = reader.ReadColor();

                if (reader.BaseStream.Position != linkStartPosition(reader.BaseStream.Length, _links.Length))
                {
                    extraFieldPresent = true;
                    Unknown           = reader.ReadInt32();
                }
            }
        }
        public AssetUIFT(Section_AHDR AHDR, Game game, Endianness endianness) : base(AHDR, game, endianness)
        {
            using (var reader = new EndianBinaryReader(AHDR.data, endianness))
            {
                reader.BaseStream.Position = game == Game.BFBB ? 0x80 : 0x7C;

                UIFontFlags.FlagValueShort = reader.ReadUInt16();
                UIFontMode         = reader.ReadByte();
                FontID             = (FontEnum)reader.ReadByte();
                TextAssetID        = reader.ReadUInt32();
                BackgroundColor    = reader.ReadColor();
                FontColor          = reader.ReadColor();
                Padding_Top        = reader.ReadInt16();
                Padding_Bottom     = reader.ReadInt16();
                Padding_Left       = reader.ReadInt16();
                Padding_Right      = reader.ReadInt16();
                Spacing_Horizontal = reader.ReadInt16();
                Spacing_Vertical   = reader.ReadInt16();
                Char_Width         = reader.ReadInt16();
                Char_Height        = reader.ReadInt16();
                if (game != Game.Scooby)
                {
                    MaxHeight = reader.ReadInt32();
                }
            }
        }
        public DynaHudMeterFont(Section_AHDR AHDR, Game game, Endianness endianness) : base(AHDR, DynaType.hud__meter__font, game, endianness)
        {
            using (var reader = new EndianBinaryReader(AHDR.data, endianness))
            {
                reader.BaseStream.Position = dynaHudMeterEnd;

                Font          = (FontEnum)reader.ReadInt32();
                FontJustify   = reader.ReadInt32();
                FontWidth     = reader.ReadSingle();
                FontHeight    = reader.ReadSingle();
                FontSpace     = reader.ReadSingle();
                ShadowXOffset = reader.ReadSingle();
                ShadowYOffset = reader.ReadSingle();
                Color         = reader.ReadColor();
                ShadowColor   = reader.ReadColor();

                if (Version == 3)
                {
                    CounterModeFlag = reader.ReadByte();
                    reader.ReadByte();
                    reader.ReadByte();
                    reader.ReadByte();
                }
            }
        }
Beispiel #4
0
        public AssetFOG(Section_AHDR AHDR, Game game, Endianness endianness) : base(AHDR, game, endianness)
        {
            using (var reader = new EndianBinaryReader(AHDR.data, endianness))
            {
                reader.BaseStream.Position = baseHeaderEndPosition;

                EndColor       = reader.ReadColor();
                StartColor     = reader.ReadColor();
                FogDensity     = reader.ReadSingle();
                StartDistance  = reader.ReadSingle();
                EndDistance    = reader.ReadSingle();
                TransitionTime = reader.ReadSingle();
                FogType        = reader.ReadByte();
            }
        }
        protected DynaUIText(Section_AHDR AHDR, DynaType type, Game game, Endianness endianness) : base(AHDR, type, game, endianness)
        {
            using (var reader = new EndianBinaryReader(AHDR.data, endianness))
            {
                reader.BaseStream.Position = dynaUIEnd;

                Text_AssetID       = reader.ReadUInt32();
                font               = reader.ReadByte();
                fontSizeW          = reader.ReadByte();
                fontSizeH          = reader.ReadByte();
                fontSpacingX       = reader.ReadByte();
                fontSpacingY       = reader.ReadByte();
                textBoxInsetTop    = reader.ReadByte();
                textBoxInsetLeft   = reader.ReadByte();
                textBoxInsetRight  = reader.ReadByte();
                textBoxInsetBottom = reader.ReadByte();
                justifyX           = reader.ReadByte();
                justifyY           = reader.ReadByte();
                textFlags          = reader.ReadByte();
                ShadowColor        = reader.ReadColor();
                shadowOffsetX      = reader.ReadSingle();
                shadowOffsetY      = reader.ReadSingle();
                shadowScaleX       = reader.ReadSingle();
                shadowScaleY       = reader.ReadSingle();
            }
        }
Beispiel #6
0
        public DynaEffectFlamethrower(Section_AHDR AHDR, Game game, Endianness endianness) : base(AHDR, DynaType.effect__Flamethrower, game, endianness)
        {
            using (var reader = new EndianBinaryReader(AHDR.data, endianness))
            {
                reader.BaseStream.Position = dynaDataStartPosition;

                _position = new Vector3(reader.ReadSingle(), reader.ReadSingle(), reader.ReadSingle());
                _yaw      = reader.ReadSingle();
                _pitch    = reader.ReadSingle();
                _roll     = reader.ReadSingle();
                Visible   = reader.ReadByte();
                reader.ReadByte();
                reader.ReadByte();
                reader.ReadByte();
                OnLength     = reader.ReadSingle();
                OffLength    = reader.ReadSingle();
                Color        = reader.ReadColor();
                Damage       = reader.ReadInt32();
                Knockback    = reader.ReadSingle();
                DamageRadius = reader.ReadSingle();

                CreateTransformMatrix();
                AddToRenderableAssets(this);
            }
        }
Beispiel #7
0
        public DynaUI(Section_AHDR AHDR, DynaType type, Game game, Endianness endianness) : base(AHDR, type, game, endianness)
        {
            using (var reader = new EndianBinaryReader(AHDR.data, endianness))
            {
                reader.BaseStream.Position = dynaDataStartPosition;

                PositionX                   = reader.ReadSingle();
                PositionY                   = reader.ReadSingle();
                PositionZ                   = reader.ReadSingle();
                Width                       = reader.ReadSingle();
                Height                      = reader.ReadSingle();
                Flags.FlagValueInt          = reader.ReadUInt32();
                Color                       = reader.ReadColor();
                UIMotion_Selected_AssetID   = reader.ReadUInt32();
                UIMotion_Unselected_AssetID = reader.ReadUInt32();
                Brightness                  = reader.ReadByte();
                reader.ReadByte();
                reader.ReadByte();
                reader.ReadByte();
                autoMenuUp    = reader.ReadUInt32();
                autoMenuDown  = reader.ReadUInt32();
                autoMenuLeft  = reader.ReadUInt32();
                autoMenuRight = reader.ReadUInt32();
                custom        = reader.ReadUInt32();
                customWidget  = reader.ReadUInt32();
            }
        }
Beispiel #8
0
        public DynaGObjectTextBox(Section_AHDR AHDR, Game game, Endianness endianness) : base(AHDR, DynaType.game_object__text_box, game, endianness)
        {
            using (var reader = new EndianBinaryReader(AHDR.data, endianness))
            {
                reader.BaseStream.Position = dynaDataStartPosition;

                DefaultTextID = reader.ReadUInt32();
                XPosition     = reader.ReadSingle();
                YPosition     = reader.ReadSingle();
                Width         = reader.ReadSingle();
                Height        = reader.ReadSingle();
                Font          = (FontEnum)reader.ReadInt32();
                TextWidth     = reader.ReadSingle();
                TextHeight    = reader.ReadSingle();
                CharSpacingX  = reader.ReadSingle();
                CharSpacingY  = reader.ReadSingle();
                Color         = reader.ReadColor();
                LeftMargin    = reader.ReadSingle();
                TopMargin     = reader.ReadSingle();
                RightMargin   = reader.ReadSingle();
                BottomMargin  = reader.ReadSingle();
                XAlignment    = reader.ReadInt32();
                if (Version == 3)
                {
                    YAlignment = reader.ReadInt32();
                }
                ExpandMode          = reader.ReadInt32();
                MaxHeight           = reader.ReadSingle();
                BackgroundMode      = reader.ReadInt32();
                BackdropColor       = reader.ReadColor();
                BackgroundTextureID = reader.ReadUInt32();
                if (Version == 3)
                {
                    BackgroundBorderU      = reader.ReadSingle();
                    BackgroundBorderV      = reader.ReadSingle();
                    BackgroundBorderWidth  = reader.ReadSingle();
                    BackgroundBorderHeight = reader.ReadSingle();
                    ShadowColor            = reader.ReadColor();
                    ShadowOffsetX          = reader.ReadSingle();
                    ShadowOffsetY          = reader.ReadSingle();
                }
                else
                {
                    ShadowColor = new AssetColor();
                }
            }
        }
 public StyleStyleEntry(EndianBinaryReader reader)
 {
     Unknown_00_1    = reader.ReadInt32();
     Color           = reader.ReadColor();
     CharWidth       = reader.ReadSingle();
     CharHeight      = reader.ReadSingle();
     Unknown1        = reader.ReadSingle();
     Unknown2        = reader.ReadSingle();
     MaxScreenWidth  = reader.ReadSingle();
     MaxScreenHeight = reader.ReadSingle();
 }
Beispiel #10
0
 public GrassMeshVertex(EndianBinaryReader reader)
 {
     X       = reader.ReadSingle();
     Y       = reader.ReadSingle();
     Z       = reader.ReadSingle();
     Height  = reader.ReadSingle();
     NormalX = reader.ReadSingle();
     NormalY = reader.ReadSingle();
     NormalZ = reader.ReadSingle();
     Color   = reader.ReadColor();
 }
        public DynaEffectScreenFade(Section_AHDR AHDR, Game game, Endianness endianness) : base(AHDR, DynaType.effect__ScreenFade, game, endianness)
        {
            using (var reader = new EndianBinaryReader(AHDR.data, endianness))
            {
                reader.BaseStream.Position = dynaDataStartPosition;

                Color        = reader.ReadColor();
                FadeDownTime = reader.ReadSingle();
                WaitTime     = reader.ReadSingle();
                FadeUpTime   = reader.ReadSingle();
            }
        }
Beispiel #12
0
 public UIBoxPart(EndianBinaryReader reader)
 {
     Texture_AssetID = reader.ReadUInt32();
     Color           = reader.ReadColor();
     uv1u            = reader.ReadSingle();
     uv1v            = reader.ReadSingle();
     uv2u            = reader.ReadSingle();
     uv2v            = reader.ReadSingle();
     uv3u            = reader.ReadSingle();
     uv3v            = reader.ReadSingle();
     uv4u            = reader.ReadSingle();
     uv4v            = reader.ReadSingle();
     rotation        = reader.ReadSingle();
     enabled         = reader.ReadByte();
     reader.ReadByte();
     reader.ReadByte();
     reader.ReadByte();
 }
        public DynaGObjectTurret(Section_AHDR AHDR, Game game, Endianness endianness) : base(AHDR, DynaType.game_object__Turret, game, endianness)
        {
            using (var reader = new EndianBinaryReader(AHDR.data, endianness))
            {
                reader.BaseStream.Position = dynaDataStartPosition;

                BaseObject_AssetID      = reader.ReadUInt32();
                GunObject_AssetID       = reader.ReadUInt32();
                YawRange                = reader.ReadSingle();
                YawSpeed                = reader.ReadSingle();
                PitchRange              = reader.ReadSingle();
                PitchSpeed              = reader.ReadSingle();
                RecoveryTime            = reader.ReadSingle();
                OverheatFraction        = reader.ReadSingle();
                CoolingSpeed            = reader.ReadSingle();
                OverheatTime            = reader.ReadSingle();
                HitPoints               = reader.ReadInt16();
                Damage                  = reader.ReadInt16();
                CameraOffsetX           = reader.ReadSingle();
                CameraOffsetY           = reader.ReadSingle();
                CameraOffsetZ           = reader.ReadSingle();
                FinalPointer_AssetID    = reader.ReadUInt32();
                LaserColor              = reader.ReadColor();
                Offset1X                = reader.ReadSingle();
                Offset1Y                = reader.ReadSingle();
                Offset1Z                = reader.ReadSingle();
                Offset2X                = reader.ReadSingle();
                Offset2Y                = reader.ReadSingle();
                Offset2Z                = reader.ReadSingle();
                LaserLength             = reader.ReadSingle();
                LaserThickness          = reader.ReadSingle();
                LaserSpeed              = reader.ReadSingle();
                LaserSoundGroup_AssetID = reader.ReadUInt32();
                TargetTexture_AssetID   = reader.ReadUInt32();
                TargetTextureSizeX      = reader.ReadSingle();
                TargetTextureSizeY      = reader.ReadSingle();
            }
        }
Beispiel #14
0
        public DynaEffectParticleGenerator(Section_AHDR AHDR, Game game, Endianness endianness) : base(AHDR, DynaType.Effect__particle_generator, game, endianness)
        {
            using (var reader = new EndianBinaryReader(AHDR.data, endianness))
            {
                reader.BaseStream.Position = dynaDataStartPosition;

                ParticleGeneratorFlags.FlagValueByte = reader.ReadByte();
                AttachFlags.FlagValueByte            = reader.ReadByte();
                MotionFlags.FlagValueByte            = reader.ReadByte();
                VolumeFlags.FlagValueByte            = reader.ReadByte();
                Rate            = reader.ReadSingle();
                Texture_AssetID = reader.ReadUInt32();
                AttachType      = (DynaEffectParticleGeneratorAttachType)reader.ReadByte();
                MotionType      = (DynaEffectParticleGeneratorMotionType)reader.ReadByte();
                VolumeType      = (DynaEffectParticleGeneratorVolumeType)reader.ReadByte();
                SystemType      = reader.ReadByte();
                _position       = new Vector3(reader.ReadSingle(), reader.ReadSingle(), reader.ReadSingle());
                _yaw            = reader.ReadSingle();
                _pitch          = reader.ReadSingle();
                _roll           = reader.ReadSingle();

                Entity_AssetID = reader.ReadUInt32();
                if (AttachType == DynaEffectParticleGeneratorAttachType.attach_entity_tag)
                {
                    AttachEntityTagX = reader.ReadSingle();
                    AttachEntityTagY = reader.ReadSingle();
                    AttachEntityTagZ = reader.ReadSingle();
                }
                else
                {
                    Bone = reader.ReadByte();
                    reader.BaseStream.Position += 11;
                }

                MotionSpiralFlags.FlagValueByte = reader.ReadByte();
                Points = reader.ReadByte();
                reader.BaseStream.Position += 2;
                RadiusInner = reader.ReadSingle();
                RadiusOuter = reader.ReadSingle();
                Duration    = reader.ReadSingle();
                Frequency   = reader.ReadSingle();

                if (VolumeType == DynaEffectParticleGeneratorVolumeType.volume_point)
                {
                    reader.BaseStream.Position += 12;
                }
                else if (VolumeType == DynaEffectParticleGeneratorVolumeType.volume_sphere || VolumeType == DynaEffectParticleGeneratorVolumeType.volume_circle)
                {
                    Radius                      = reader.ReadSingle();
                    CircleArcLength             = reader.ReadSingle();
                    reader.BaseStream.Position += 4;
                }
                else if (VolumeType == DynaEffectParticleGeneratorVolumeType.volume_line)
                {
                    LineFlags.FlagValueByte     = reader.ReadByte();
                    reader.BaseStream.Position += 3;
                    LineRadius = reader.ReadSingle();
                    LineLength = reader.ReadSingle();
                }
                else if (VolumeType == DynaEffectParticleGeneratorVolumeType.volume_model)
                {
                    ModelFlags.FlagValueByte    = reader.ReadByte();
                    ModelExclude                = reader.ReadByte();
                    reader.BaseStream.Position += 2;
                    ModelExpand = reader.ReadSingle();
                    reader.BaseStream.Position += 4;
                }

                UnknownFlags.FlagValueInt = reader.ReadUInt32();

                Unknown01    = reader.ReadSingle();
                Unknown02    = reader.ReadSingle();
                Unknown03    = reader.ReadSingle();
                Unknown04    = reader.ReadSingle();
                Unknown05    = reader.ReadSingle();
                Unknown06    = reader.ReadSingle();
                Unknown07    = reader.ReadSingle();
                Unknown08    = reader.ReadSingle();
                Unknown09    = reader.ReadSingle();
                Unknown10    = reader.ReadSingle();
                Unknown11    = reader.ReadSingle();
                Unknown12    = reader.ReadSingle();
                Unknown13    = reader.ReadSingle();
                Unknown14    = reader.ReadSingle();
                Unknown15    = reader.ReadSingle();
                UnknownColor = reader.ReadColor();
                Unknown16    = reader.ReadSingle();
                Unknown17    = reader.ReadSingle();

                CreateTransformMatrix();
                AddToRenderableAssets(this);
            }
        }