public override byte[] Serialize(Game game, Endianness endianness) { using (var writer = new EndianBinaryWriter(endianness)) { writer.Write(SerializeBase(endianness)); writer.Write(Vertices.Length); writer.Write(Triangles.Length); writer.Write(MinX); writer.Write(MinY); writer.Write(MinZ); writer.Write(MaxX); writer.Write(MaxY); writer.Write(MaxZ); foreach (var v in Vertices) { writer.Write(v.Serialize(endianness)); } foreach (var t in Triangles) { writer.Write(t.Serialize(endianness)); } writer.Write(SerializeLinks(endianness)); return(writer.ToArray()); } }
public override byte[] Serialize(Game game, Endianness endianness) { using (var writer = new EndianBinaryWriter(endianness)) { writer.Write(SerializeBase(endianness)); writer.Write(DamageType); writer.Write(Sticky); writer.Write(DamageFlags); writer.Write(SurfaceType); writer.Write(Phys_Pad); writer.Write(SlideStart); writer.Write(SlideStop); writer.Write(PhysicsFlags.FlagValueByte); writer.Write(Friction); writer.Write(zSurfMatFX.Serialize(game, endianness)); writer.Write(zSurfColorFX.Serialize(game, endianness)); writer.Write(TextureAnimFlags.FlagValueInt); writer.Write(zSurfTextureAnim1.Serialize(game, endianness)); writer.Write(zSurfTextureAnim2.Serialize(game, endianness)); writer.Write(UVEffectsFlags.FlagValueInt); writer.Write(zSurfUVFX.Serialize(game, endianness)); if (game != Game.Scooby) { writer.Write(zSurfUVFX2.Serialize(game, endianness)); writer.Write(On); writer.Write((byte)0); writer.Write((byte)0); writer.Write((byte)0); } writer.Write(OutOfBoundsDelay); writer.Write(WalljumpScaleXZ); writer.Write(WalljumpScaleY); writer.Write(DamageTimer); writer.Write(DamageBounce); if (game == Game.Scooby) { writer.Write(UnknownInt); writer.Write(On); writer.Write((byte)0); writer.Write((byte)0); writer.Write((byte)0); } if (game == Game.Incredibles) { writer.Write(ImpactSound_AssetID); writer.Write(DashImpactType); writer.Write((byte)0); writer.Write((byte)0); writer.Write((byte)0); writer.Write(DashImpactThrowBack); writer.Write(DashSprayMagnitude); writer.Write(DashCoolRate); writer.Write(DashCoolAmount); writer.Write(DashPass); writer.Write(DashRampMaxDistance); writer.Write(DashRampMinDistance); writer.Write(DashRampKeySpeed); writer.Write(DashRampMaxHeight); writer.Write(DashRampTarget_MovePoint_AssetID); writer.Write(DamageAmount); writer.Write((int)HitSourceDamageType); writer.Write(OffSurface.Serialize(game, endianness)); writer.Write(OnSurface.Serialize(game, endianness)); writer.Write(HitDecalData0.Serialize(game, endianness)); writer.Write(HitDecalData1.Serialize(game, endianness)); writer.Write(HitDecalData2.Serialize(game, endianness)); writer.Write(OffSurfaceTime); writer.Write(SwimmableSurface); writer.Write(DashFall); writer.Write(NeedButtonPress); writer.Write(DashAttack); writer.Write(FootstepDecals); writer.Write(0); writer.Write(DrivingSurfaceType); writer.Write((byte)0); writer.Write((byte)0); } writer.Write(SerializeLinks(endianness)); return(writer.ToArray()); } }
protected override byte[] SerializeDyna(Game game, Endianness endianness) { using (var writer = new EndianBinaryWriter(endianness)) { writer.Write(BaseObject_AssetID); writer.Write(GunObject_AssetID); writer.Write(YawRange); writer.Write(YawSpeed); writer.Write(PitchRange); writer.Write(PitchSpeed); writer.Write(RecoveryTime); writer.Write(OverheatFraction); writer.Write(CoolingSpeed); writer.Write(OverheatTime); writer.Write(HitPoints); writer.Write(Damage); writer.Write(CameraOffsetX); writer.Write(CameraOffsetY); writer.Write(CameraOffsetZ); writer.Write(FinalPointer_AssetID); writer.Write(LaserColor); writer.Write(Offset1X); writer.Write(Offset1Y); writer.Write(Offset1Z); writer.Write(Offset2X); writer.Write(Offset2Y); writer.Write(Offset2Z); writer.Write(LaserLength); writer.Write(LaserThickness); writer.Write(LaserSpeed); writer.Write(LaserSoundGroup_AssetID); writer.Write(TargetTexture_AssetID); writer.Write(TargetTextureSizeX); writer.Write(TargetTextureSizeY); return(writer.ToArray()); } }
protected override byte[] SerializeDyna(Game game, Endianness endianness) { using (var writer = new EndianBinaryWriter(endianness)) { writer.Write(idle03Extras.Length); writer.Write(0); writer.Write(idle04Extras.Length); writer.Write(0); writer.Write(bombCount); writer.Write(extraIdleDelay); writer.Write(hdrGlow); writer.Write(hdrDarken); writer.Write(BackgroundMusic_SoundAssetID); writer.Write(scenePropertiesFlags); writer.Write(waterTileWidth); writer.Write(lodFadeDistance); writer.Write(UnknownInt24); writer.Write(UnknownInt28); writer.Write(UnknownInt2C); writer.Write(UnknownInt30); if (inc) { writer.Write(UnknownInt34); writer.Write(UnknownInt38); writer.Write(UnknownInt3C); writer.Write(UnknownInt40); writer.Write(UnknownInt44); writer.Write(UnknownInt48); writer.Write(UnknownInt4C); writer.Write(UnknownInt50); writer.Write(UnknownInt54); } var idle03Pos = (int)writer.BaseStream.Position; foreach (var u in idle03Extras) { writer.Write(u); } var idle04Pos = (int)writer.BaseStream.Position; foreach (var u in idle04Extras) { writer.Write(u); } writer.BaseStream.Position = 0x4; writer.Write(idle03Pos); writer.BaseStream.Position = 0xC; writer.Write(idle04Pos); return(writer.ToArray()); } }
public override byte[] Serialize(Game game, Endianness endianness) { using (var writer = new EndianBinaryWriter(endianness)) { writer.Write(Mode); writer.Write(Rot); writer.Write(RotSpd); writer.Write(Trans_X); writer.Write(Trans_Y); writer.Write(Trans_Z); writer.Write(TransSpeed_X); writer.Write(TransSpeed_Y); writer.Write(TransSpeed_Z); writer.Write(Scale_X); writer.Write(Scale_Y); writer.Write(Scale_Z); writer.Write(ScaleSpeed_X); writer.Write(ScaleSpeed_Y); writer.Write(ScaleSpeed_Z); writer.Write(Min_X); writer.Write(Min_Y); writer.Write(Min_Z); writer.Write(Max_X); writer.Write(Max_Y); writer.Write(Max_Z); writer.Write(MinMaxSpeed_X); writer.Write(MinMaxSpeed_Y); writer.Write(MinMaxSpeed_Z); return(writer.ToArray()); } }
public override byte[] Serialize(Game game, Endianness endianness) { using (var writer = new EndianBinaryWriter(endianness)) { writer.Write(SerializeBase(endianness)); writer.Write(PARS_Type); writer.Write(PARS_AssetID); writer.Write(TextureAssetID); writer.Write(ParsFlags.FlagValueByte); writer.Write(Priority); writer.Write(MaxParticles); writer.Write(RenderFunction); writer.Write(RenderSourceBlendMode); writer.Write(RenderDestBlendMode); writer.Write(CmdCount); writer.Write(Cmd.Length * 4); foreach (var c in Cmd) { writer.Write(c); } if (game == Game.Incredibles) { writer.Write(Unknown01); writer.Write(Unknown02); writer.Write(Unknown03); writer.Write(Unknown04); } writer.Write(SerializeLinks(endianness)); return(writer.ToArray()); } }
protected override byte[] SerializeDyna(Game game, Endianness endianness) { using (var writer = new EndianBinaryWriter(endianness)) { writer.Write(Persistent); writer.Write(Loop); writer.Write(Enable); writer.Write(Retry); writer.Write(TalkBox_AssetID); writer.Write(NextTaskBox_AssetID); writer.Write(Begin_TextID); writer.Write(Description_TextID); writer.Write(Reminder_TextID); writer.Write(Success_TextID); writer.Write(Failure_TextID); writer.Write(End_TextID); return(writer.ToArray()); } }
public override byte[] Serialize(Game game, Endianness endianness) { using (var writer = new EndianBinaryWriter(endianness)) { writer.WriteMagic("SKB1"); writer.Write(Flags.FlagValueInt); if (Offsets.Length > 0) { writer.Write((ushort)Offsets[0].Length); } else { writer.Write((ushort)0); } writer.Write((ushort)Times.Length); writer.Write(KeyFrames.Length); writer.Write(ScaleX); writer.Write(ScaleY); writer.Write(ScaleZ); foreach (var k in KeyFrames) { k.Serialize(writer); } foreach (var t in Times) { writer.Write(t); } foreach (var o in Offsets) { foreach (var of in o) { writer.Write(of); } } while (writer.BaseStream.Length % 4 != 0) { writer.Write((byte)0xCD); } return(writer.ToArray()); } }
public override byte[] Serialize(Game game, Endianness endianness) { using (var writer = new EndianBinaryWriter(endianness)) { writer.Write(SerializeBase(endianness)); writer.Write(InitialSpawn); writer.Write(MaximumInGame); writer.Write(MaximumToSpawn); writer.Write((short)0); writer.Write(SpawnRate); writer.Write(UnknownInt_14); writer.Write(UnknownInt_18); writer.Write(UnknownInt_1C); writer.Write(UnknownInt_20); writer.Write(UnknownInt_24); writer.Write(UnknownInt_28); writer.Write(NavMesh1_AssetID); writer.Write(UnknownInt_30); writer.Write(assetID); writer.Write((byte)BaseAssetType.NPC); writer.Write((byte)_links.Length); writer.Write(VIL.Serialize(game, endianness).Skip(6).ToArray()); writer.Write(SerializeLinks(endianness)); return(writer.ToArray()); } }
public override byte[] Serialize(Game game, Endianness endianness) { using (var writer = new EndianBinaryWriter(endianness)) { writer.Write(Height1); writer.Write(Height2); writer.Write(Height3); if (game != Game.Scooby) { writer.Write(HeightBubbleBounce); } writer.Write(Anim1_AssetID); writer.Write(Anim2_AssetID); writer.Write(Anim3_AssetID); writer.Write(DirectionX); writer.Write(DirectionY); writer.Write(DirectionZ); if (game != Game.Scooby) { writer.Write(Settings.FlagValueInt); } return(writer.ToArray()); } }
protected byte[] SerializeDynaUI(Endianness endianness) { using (var writer = new EndianBinaryWriter(endianness)) { writer.Write(PositionX); writer.Write(PositionY); writer.Write(PositionZ); writer.Write(Width); writer.Write(Height); writer.Write(Flags.FlagValueInt); writer.Write(Color); writer.Write(UIMotion_Selected_AssetID); writer.Write(UIMotion_Unselected_AssetID); writer.Write(Brightness); writer.Write((byte)0); writer.Write((byte)0); writer.Write((byte)0); writer.Write(autoMenuUp); writer.Write(autoMenuDown); writer.Write(autoMenuLeft); writer.Write(autoMenuRight); writer.Write(custom); writer.Write(customWidget); return(writer.ToArray()); } }
protected override byte[] SerializeDyna(Game game, Endianness endianness) { using (var writer = new EndianBinaryWriter(endianness)) { writer.Write(ObjectAssetID); writer.Write(OffsetX); writer.Write(OffsetY); writer.Write(OffsetZ); writer.Write(OffsetRand); writer.Write(InitVelX); writer.Write(InitVelY); writer.Write(InitVelZ); writer.Write(VelAngleRand); writer.Write(VelMagRand); writer.Write(InitAxisX); writer.Write(InitAxisY); writer.Write(InitAxisZ); writer.Write(AngVel); return(writer.ToArray()); } }
protected override byte[] SerializeDyna(Game game, Endianness endianness) { using (var writer = new EndianBinaryWriter(endianness)) { writer.Write(Unknown00); writer.Write(Unknown01); writer.Write(Unknown02); writer.Write(Unknown03); writer.Write(GRSM_AssetID); writer.Write(MODL_AssetID); writer.Write(UnknownFloat01); writer.Write(UnknownFloat02); writer.Write(UnknownFloat03); writer.Write(UnknownFloat04); writer.Write(UnknownFloat05); writer.Write(UnknownFloat06); return(writer.ToArray()); } }
protected override byte[] SerializeDyna(Game game, Endianness endianness) { using (var writer = new EndianBinaryWriter(endianness)) { writer.Write(Time); writer.Write(Intensity); writer.Write(ID); writer.Write(Priority); writer.Write(RumbleType); writer.Write(RumbleInPause); writer.Write((byte)0); writer.Write(Param1); writer.Write(Param2); writer.Write(ShakeMagnitude); writer.Write(ShakeCycleMax); writer.Write(ShakeRotationalMagnitude); writer.Write(ShakeY); writer.Write((byte)0); writer.Write((byte)0); writer.Write((byte)0); return(writer.ToArray()); } }
public byte[] Serialize(Endianness endianness) { using (var writer = new EndianBinaryWriter(endianness)) { writer.Write(PickupHash); writer.Write(Model_AssetID); writer.Write(RingModel_AssetID); writer.Write(UnknownFloat_0C); writer.Write(UnknownFloat_10); writer.Write(UnknownFloat_14); writer.Write(RingColorR); writer.Write(RingColorG); writer.Write(RingColorB); writer.Write(Unknown_24); writer.Write(Unknown_28); writer.Write(Pickup_SGRP); writer.Write(Denied_SGRP); writer.Write(HealthValue); writer.Write(PowerValue); writer.Write(BonusValue); writer.Write(UnknownByte_37); return(writer.ToArray()); } }
public override byte[] Serialize(Game game, Endianness endianness) { using (var writer = new EndianBinaryWriter(endianness)) { writer.Write(SerializeBase(endianness)); writer.Write(UnknownInt08); writer.Write(Model_AssetID); writer.Write(UnknownInt10); writer.Write(UnknownInt14); writer.Write(UnknownInt18); writer.Write(UnknownInt1C); writer.Write(UnknownFloat20); writer.Write(UnknownFloat24); writer.Write(UnknownInt28); writer.Write(UnknownInt2C); writer.Write(UnknownInt30); writer.Write(UnknownInt34); writer.Write(UnknownInt38); writer.Write(UnknownInt3C); writer.Write(UnknownInt40); writer.Write(SerializeLinks(endianness)); return(writer.ToArray()); } }