public AssetSHRP(Section_AHDR AHDR, Game game, Endianness endianness) : base(AHDR, game, endianness) { using (var reader = new EndianBinaryReader(AHDR.data, endianness)) { int amountOfEntries = reader.ReadInt32(); AssetID_Internal = reader.ReadUInt32(); Unknown = reader.ReadInt32(); SHRPEntries = new EntrySHRP[amountOfEntries]; for (int i = 0; i < SHRPEntries.Length; i++) { int entryType = reader.ReadInt32(); EntrySHRP entry = null; if (entryType == 3) { if (game == Game.BFBB) { entry = new EntrySHRP_Type3_BFBB(reader); } else if (game == Game.Incredibles) { entry = new EntrySHRP_Type3_TSSM(reader); } } else if (entryType == 4) { if (game == Game.BFBB) { entry = new EntrySHRP_Type4_BFBB(reader); } else if (game == Game.Incredibles) { entry = new EntrySHRP_Type4_TSSM(reader); } } else if (entryType == 5) { if (game == Game.BFBB) { entry = new EntrySHRP_Type5_BFBB(reader); } else if (game == Game.Incredibles) { entry = new EntrySHRP_Type5_TSSM(reader); } } else if (entryType == 6) { if (game == Game.BFBB) { entry = new EntrySHRP_Type6_BFBB(reader); } else if (game == Game.Incredibles) { entry = new EntrySHRP_Type6_TSSM(reader); } } else if (entryType == 8) { entry = new EntrySHRP_Type8(reader); } else if (entryType == 9) { entry = new EntrySHRP_Type9(reader); } else { throw new Exception("Unknown SHRP entry type " + entryType.ToString() + " found in asset " + ToString() + ". This SHRP asset cannot be edited by Industrial Park."); } SHRPEntries[i] = entry; } } }
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); } }
public CamSpecific_Path(EndianBinaryReader reader) { Unknown_AssetID = reader.ReadUInt32(); TimeEnd = reader.ReadSingle(); TimeDelay = reader.ReadSingle(); }
public PareSpecific_tagEmitVolume(EndianBinaryReader reader) { VolumeAssetID = reader.ReadUInt32(); }
public EntrySHDW(EndianBinaryReader reader) { ModelAssetID = reader.ReadUInt32(); ShadowModelAssetID = reader.ReadUInt32(); Unknown = reader.ReadInt32(); }
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(); } } }
public zHitDecalData(EndianBinaryReader reader) { Texture_AssetID = reader.ReadUInt32(); SizeX = reader.ReadSingle(); SizeY = reader.ReadSingle(); }
public EntrySoundInfo_GCN_V1(EndianBinaryReader reader) { SoundHeader = reader.ReadBytes(0x60); SoundAssetID = reader.ReadUInt32(); }
public EntryCOLL(EndianBinaryReader reader) { ModelAssetID = reader.ReadUInt32(); Collision_ModelAssetID = reader.ReadUInt32(); CameraCollision_ModelAssetID = reader.ReadUInt32(); }
public PlatSpecific_FallingPlatform(EndianBinaryReader reader) { Speed = reader.ReadSingle(); BustModel_AssetID = reader.ReadUInt32(); }