mirror of
https://mirror.ghproxy.com/https://github.com/dexyfex/CodeWalker
synced 2024-11-16 20:17:30 +08:00
Fix Static Emitter byte misalignment
This commit is contained in:
parent
ad27004fa1
commit
bb356dabed
@ -5873,9 +5873,10 @@ namespace CodeWalker.GameFiles
|
|||||||
public float MinDistance { get; set; }
|
public float MinDistance { get; set; }
|
||||||
public float MaxDistance { get; set; }
|
public float MaxDistance { get; set; }
|
||||||
public int EmittedVolume { get; set; }
|
public int EmittedVolume { get; set; }
|
||||||
public short LPFCutoff { get; set; }
|
public ushort LPFCutoff { get; set; }
|
||||||
public short HPFCutoff { get; set; }
|
public ushort HPFCutoff { get; set; }
|
||||||
public int RolloffFactor { get; set; }
|
public ushort RolloffFactor { get; set; }
|
||||||
|
public ushort Padding00 { get; set; }
|
||||||
public MetaHash Interior { get; set; }
|
public MetaHash Interior { get; set; }
|
||||||
public MetaHash Room { get; set; }
|
public MetaHash Room { get; set; }
|
||||||
public MetaHash RadioStationForScore { get; set; }
|
public MetaHash RadioStationForScore { get; set; }
|
||||||
@ -5884,10 +5885,10 @@ namespace CodeWalker.GameFiles
|
|||||||
public ushort MaxLeakageDistance { get; set; }
|
public ushort MaxLeakageDistance { get; set; }
|
||||||
public MetaHash Alarm { get; set; }
|
public MetaHash Alarm { get; set; }
|
||||||
public MetaHash OnBreakOneShot { get; set; }
|
public MetaHash OnBreakOneShot { get; set; }
|
||||||
public uint MaxPathDepth { get; set; }
|
public byte MaxPathDepth { get; set; }
|
||||||
public uint SmallReverbSend { get; set; }
|
public byte SmallReverbSend { get; set; }
|
||||||
public uint MediumReverbSend { get; set; }
|
public byte MediumReverbSend { get; set; }
|
||||||
public uint LargeReverbSend { get; set; }
|
public byte LargeReverbSend { get; set; }
|
||||||
public ushort MinTimeMinutes { get; set; }
|
public ushort MinTimeMinutes { get; set; }
|
||||||
public ushort MaxTimeMinutes { get; set; }
|
public ushort MaxTimeMinutes { get; set; }
|
||||||
public float BrokenHealth { get; set; }
|
public float BrokenHealth { get; set; }
|
||||||
@ -5900,16 +5901,17 @@ namespace CodeWalker.GameFiles
|
|||||||
}
|
}
|
||||||
public Dat151StaticEmitter(RelData d, BinaryReader br) : base(d, br)
|
public Dat151StaticEmitter(RelData d, BinaryReader br) : base(d, br)
|
||||||
{
|
{
|
||||||
Flags = br.ReadUInt32();//flags
|
Flags = br.ReadUInt32();
|
||||||
ChildSound = br.ReadUInt32();
|
ChildSound = br.ReadUInt32();
|
||||||
RadioStation = br.ReadUInt32();
|
RadioStation = br.ReadUInt32();
|
||||||
Position = new Vector3(br.ReadSingle(), br.ReadSingle(), br.ReadSingle());
|
Position = new Vector3(br.ReadSingle(), br.ReadSingle(), br.ReadSingle());
|
||||||
MinDistance = br.ReadSingle();
|
MinDistance = br.ReadSingle();
|
||||||
MaxDistance = br.ReadSingle();
|
MaxDistance = br.ReadSingle();
|
||||||
EmittedVolume = br.ReadInt32();
|
EmittedVolume = br.ReadInt32();
|
||||||
LPFCutoff = br.ReadInt16();
|
LPFCutoff = br.ReadUInt16();
|
||||||
HPFCutoff = br.ReadInt16();
|
HPFCutoff = br.ReadUInt16();
|
||||||
RolloffFactor = br.ReadInt32();
|
RolloffFactor = br.ReadUInt16();
|
||||||
|
Padding00 = br.ReadUInt16();
|
||||||
Interior = br.ReadUInt32();
|
Interior = br.ReadUInt32();
|
||||||
Room = br.ReadUInt32();
|
Room = br.ReadUInt32();
|
||||||
RadioStationForScore = br.ReadUInt32();
|
RadioStationForScore = br.ReadUInt32();
|
||||||
@ -5926,15 +5928,11 @@ namespace CodeWalker.GameFiles
|
|||||||
MaxTimeMinutes = br.ReadUInt16();
|
MaxTimeMinutes = br.ReadUInt16();
|
||||||
BrokenHealth = br.ReadSingle();
|
BrokenHealth = br.ReadSingle();
|
||||||
UndamagedHealth = br.ReadSingle();
|
UndamagedHealth = br.ReadSingle();
|
||||||
|
|
||||||
var bytesleft = br.BaseStream.Length - br.BaseStream.Position;
|
|
||||||
if (bytesleft != 0)
|
|
||||||
{ }
|
|
||||||
}
|
}
|
||||||
public override void Write(BinaryWriter bw)
|
public override void Write(BinaryWriter bw)
|
||||||
{
|
{
|
||||||
WriteTypeAndOffset(bw);
|
WriteTypeAndOffset(bw);
|
||||||
bw.Write(Flags);//flags
|
bw.Write(Flags);
|
||||||
bw.Write(ChildSound);
|
bw.Write(ChildSound);
|
||||||
bw.Write(RadioStation);
|
bw.Write(RadioStation);
|
||||||
bw.Write(Position.X);
|
bw.Write(Position.X);
|
||||||
@ -5946,6 +5944,7 @@ namespace CodeWalker.GameFiles
|
|||||||
bw.Write(LPFCutoff);
|
bw.Write(LPFCutoff);
|
||||||
bw.Write(HPFCutoff);
|
bw.Write(HPFCutoff);
|
||||||
bw.Write(RolloffFactor);
|
bw.Write(RolloffFactor);
|
||||||
|
bw.Write(Padding00);
|
||||||
bw.Write(Interior);
|
bw.Write(Interior);
|
||||||
bw.Write(Room);
|
bw.Write(Room);
|
||||||
bw.Write(RadioStationForScore);
|
bw.Write(RadioStationForScore);
|
||||||
@ -6001,9 +6000,9 @@ namespace CodeWalker.GameFiles
|
|||||||
MinDistance = Xml.GetChildFloatAttribute(node, "MinDistance", "value");
|
MinDistance = Xml.GetChildFloatAttribute(node, "MinDistance", "value");
|
||||||
MaxDistance = Xml.GetChildFloatAttribute(node, "MaxDistance", "value");
|
MaxDistance = Xml.GetChildFloatAttribute(node, "MaxDistance", "value");
|
||||||
EmittedVolume = Xml.GetChildIntAttribute(node, "EmittedVolume", "value");
|
EmittedVolume = Xml.GetChildIntAttribute(node, "EmittedVolume", "value");
|
||||||
LPFCutoff = (short)Xml.GetChildIntAttribute(node, "LPFCutoff", "value");
|
LPFCutoff = (ushort)Xml.GetChildIntAttribute(node, "LPFCutoff", "value");
|
||||||
HPFCutoff = (short)Xml.GetChildIntAttribute(node, "HPFCutoff", "value");
|
HPFCutoff = (ushort)Xml.GetChildIntAttribute(node, "HPFCutoff", "value");
|
||||||
RolloffFactor = Xml.GetChildIntAttribute(node, "RolloffFactor", "value");
|
RolloffFactor = (ushort)Xml.GetChildIntAttribute(node, "RolloffFactor", "value");
|
||||||
Interior = XmlRel.GetHash(Xml.GetChildInnerText(node, "Interior"));
|
Interior = XmlRel.GetHash(Xml.GetChildInnerText(node, "Interior"));
|
||||||
Room = XmlRel.GetHash(Xml.GetChildInnerText(node, "Room"));
|
Room = XmlRel.GetHash(Xml.GetChildInnerText(node, "Room"));
|
||||||
RadioStationForScore = XmlRel.GetHash(Xml.GetChildInnerText(node, "RadioStationForScore"));
|
RadioStationForScore = XmlRel.GetHash(Xml.GetChildInnerText(node, "RadioStationForScore"));
|
||||||
@ -6012,10 +6011,10 @@ namespace CodeWalker.GameFiles
|
|||||||
MaxLeakageDistance = (ushort)Xml.GetChildUIntAttribute(node, "MaxLeakageDistance", "value");
|
MaxLeakageDistance = (ushort)Xml.GetChildUIntAttribute(node, "MaxLeakageDistance", "value");
|
||||||
Alarm = XmlRel.GetHash(Xml.GetChildInnerText(node, "Alarm"));
|
Alarm = XmlRel.GetHash(Xml.GetChildInnerText(node, "Alarm"));
|
||||||
OnBreakOneShot = XmlRel.GetHash(Xml.GetChildInnerText(node, "OnBreakOneShot"));
|
OnBreakOneShot = XmlRel.GetHash(Xml.GetChildInnerText(node, "OnBreakOneShot"));
|
||||||
MaxPathDepth = Xml.GetChildUIntAttribute(node, "MaxPathDepth", "value");
|
MaxPathDepth = (byte)Xml.GetChildUIntAttribute(node, "MaxPathDepth", "value");
|
||||||
SmallReverbSend = Xml.GetChildUIntAttribute(node, "SmallReverbSend", "value");
|
SmallReverbSend = (byte)Xml.GetChildUIntAttribute(node, "SmallReverbSend", "value");
|
||||||
MediumReverbSend = Xml.GetChildUIntAttribute(node, "MediumReverbSend", "value");
|
MediumReverbSend = (byte)Xml.GetChildUIntAttribute(node, "MediumReverbSend", "value");
|
||||||
LargeReverbSend = Xml.GetChildUIntAttribute(node, "LargeReverbSend", "value");
|
LargeReverbSend = (byte)Xml.GetChildUIntAttribute(node, "LargeReverbSend", "value");
|
||||||
MinTimeMinutes = (ushort)Xml.GetChildUIntAttribute(node, "MinTimeMinutes", "value");
|
MinTimeMinutes = (ushort)Xml.GetChildUIntAttribute(node, "MinTimeMinutes", "value");
|
||||||
MaxTimeMinutes = (ushort)Xml.GetChildUIntAttribute(node, "MaxTimeMinutes", "value");
|
MaxTimeMinutes = (ushort)Xml.GetChildUIntAttribute(node, "MaxTimeMinutes", "value");
|
||||||
BrokenHealth = Xml.GetChildFloatAttribute(node, "BrokenHealth", "value");
|
BrokenHealth = Xml.GetChildFloatAttribute(node, "BrokenHealth", "value");
|
||||||
|
Loading…
Reference in New Issue
Block a user