Beispiel #1
0
 public EntrySHRP_Type3_BFBB(EndianBinaryReader reader) : base(3, reader)
 {
     Unknown18 = reader.ReadInt32();
     Unknown1C = reader.ReadInt32();
     Unknown20 = reader.ReadSingle();
     Unknown24 = reader.ReadSingle();
     Unknown28 = reader.ReadSingle();
     ReadPad(reader, 0x10);
     Unknown3C = reader.ReadInt32();
     Unknown40 = reader.ReadInt32();
     Unknown44 = reader.ReadInt32();
     Unknown48 = reader.ReadSingle();
     Unknown4C = reader.ReadSingle();
     ReadPad(reader, 0x14);
     Unknown64 = reader.ReadByte();
     ReadPad(reader, 0x133);
     Unknown198 = reader.ReadInt16();
     Unknown19A = reader.ReadInt16();
     ReadPad(reader, 0x30);
     PARE_AssetID = reader.ReadUInt32();
     Unknown1D0   = reader.ReadInt32();
 }
        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 #3
0
 public Motion(EndianBinaryReader reader) : this((MotionType)reader.ReadByte())
 {
     UseBanking = reader.ReadByte();
     MotionFlags.FlagValueShort = reader.ReadUInt16();
 }
Beispiel #4
0
        public DynaGObjectTalkBox(Section_AHDR AHDR, Game game, Endianness endianness) : base(AHDR, DynaType.game_object__talk_box, game, endianness)
        {
            using (var reader = new EndianBinaryReader(AHDR.data, endianness))
            {
                reader.BaseStream.Position = dynaDataStartPosition;

                Dialog_TextBoxID    = reader.ReadUInt32();
                Prompt_TextBoxID    = reader.ReadUInt32();
                Quit_TextBoxID      = reader.ReadUInt32();
                Trap                = reader.ReadByte();
                Pause               = reader.ReadByte();
                AllowQuit           = reader.ReadByte();
                TriggerPads         = reader.ReadByte();
                Page                = reader.ReadByte();
                Show                = reader.ReadByte();
                Hide                = reader.ReadByte();
                AudioEffect         = reader.ReadByte();
                TeleportPointerID   = reader.ReadUInt32();
                AutoWaitTypeTime    = reader.ReadByte();
                AutoWaitTypePrompt  = reader.ReadByte();
                AutoWaitTypeSound   = reader.ReadByte();
                AutoWaitTypeEvent   = reader.ReadByte();
                AutoWaitDelay       = reader.ReadSingle();
                AutoWaitWhichEvent  = reader.ReadInt32();
                PromptSkip_TextID   = reader.ReadUInt32();
                PromptNoSkip_TextID = reader.ReadUInt32();
                PromptQuitTextID    = reader.ReadUInt32();
                PromptNoQuitTextID  = reader.ReadUInt32();
                PromptYesNoTextID   = reader.ReadUInt32();
            }
        }
Beispiel #5
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);
            }
        }
Beispiel #6
0
        public AssetSURF(Section_AHDR AHDR, Game game, Endianness endianness) : base(AHDR, game, endianness)
        {
            using (var reader = new EndianBinaryReader(AHDR.data, endianness))
            {
                reader.BaseStream.Position = baseHeaderEndPosition;

                DamageType  = reader.ReadByte();
                Sticky      = reader.ReadByte();
                DamageFlags = reader.ReadByte();
                SurfaceType = reader.ReadByte();
                Phys_Pad    = reader.ReadByte();
                SlideStart  = reader.ReadByte();
                SlideStop   = reader.ReadByte();
                PhysicsFlags.FlagValueByte = reader.ReadByte();
                Friction     = reader.ReadSingle();
                zSurfMatFX   = new zSurfMatFX(reader);
                zSurfColorFX = new zSurfColorFX(reader);
                TextureAnimFlags.FlagValueInt = reader.ReadUInt32();
                zSurfTextureAnim1             = new zSurfTextureAnim(reader);
                zSurfTextureAnim2             = new zSurfTextureAnim(reader);
                UVEffectsFlags.FlagValueInt   = reader.ReadUInt32();
                zSurfUVFX = new zSurfUVFX(reader);

                if (game != Game.Scooby)
                {
                    zSurfUVFX2 = new zSurfUVFX(reader);
                    On         = reader.ReadByte();
                    reader.ReadByte();
                    reader.ReadByte();
                    reader.ReadByte();
                }
                else
                {
                    zSurfUVFX2 = null;
                }

                OutOfBoundsDelay = reader.ReadSingle();
                WalljumpScaleXZ  = reader.ReadSingle();
                WalljumpScaleY   = reader.ReadSingle();
                DamageTimer      = reader.ReadSingle();
                DamageBounce     = reader.ReadSingle();

                if (game == Game.Scooby)
                {
                    UnknownInt = reader.ReadInt32();
                    On         = reader.ReadByte();
                    reader.ReadByte();
                    reader.ReadByte();
                    reader.ReadByte();
                }

                if (game == Game.Incredibles)
                {
                    ImpactSound_AssetID = reader.ReadUInt32();
                    DashImpactType      = reader.ReadByte();
                    reader.ReadByte();
                    reader.ReadByte();
                    reader.ReadByte();
                    DashImpactThrowBack = reader.ReadSingle();
                    DashSprayMagnitude  = reader.ReadSingle();
                    DashCoolRate        = reader.ReadSingle();
                    DashCoolAmount      = reader.ReadSingle();
                    DashPass            = reader.ReadSingle();
                    DashRampMaxDistance = reader.ReadSingle();
                    DashRampMinDistance = reader.ReadSingle();
                    DashRampKeySpeed    = reader.ReadSingle();
                    DashRampMaxHeight   = reader.ReadSingle();
                    DashRampTarget_MovePoint_AssetID = reader.ReadUInt32();
                    DamageAmount        = reader.ReadInt32();
                    HitSourceDamageType = (zHitSource)reader.ReadInt32();
                    OffSurface          = new zFootstepsData(reader);
                    OnSurface           = new zFootstepsData(reader);
                    HitDecalData0       = new zHitDecalData(reader);
                    HitDecalData1       = new zHitDecalData(reader);
                    HitDecalData2       = new zHitDecalData(reader);
                    OffSurfaceTime      = reader.ReadSingle();
                    SwimmableSurface    = reader.ReadByte();
                    DashFall            = reader.ReadByte();
                    NeedButtonPress     = reader.ReadByte();
                    DashAttack          = reader.ReadByte();
                    FootstepDecals      = reader.ReadByte();
                    reader.ReadInt32();
                    DrivingSurfaceType = reader.ReadByte();
                    reader.ReadByte();
                    reader.ReadByte();
                }
            }
        }