mirror of
https://mirror.ghproxy.com/https://github.com/dexyfex/CodeWalker
synced 2024-11-16 20:17:30 +08:00
Update ymap flags and more audio stuff
This commit is contained in:
parent
7c3dd49aaa
commit
2fedfc35c9
@ -1,15 +1,13 @@
|
|||||||
using System;
|
using SharpDX;
|
||||||
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.ComponentModel;
|
|
||||||
using System.IO;
|
using System.IO;
|
||||||
using System.Linq;
|
using System.Linq;
|
||||||
|
using System.Security.Cryptography;
|
||||||
using System.Text;
|
using System.Text;
|
||||||
using System.Threading.Tasks;
|
|
||||||
using TC = System.ComponentModel.TypeConverterAttribute;
|
|
||||||
using EXP = System.ComponentModel.ExpandableObjectConverter;
|
|
||||||
using SharpDX;
|
|
||||||
using System.Xml;
|
using System.Xml;
|
||||||
using System.Text.RegularExpressions;
|
using EXP = System.ComponentModel.ExpandableObjectConverter;
|
||||||
|
using TC = System.ComponentModel.TypeConverterAttribute;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@ -6114,22 +6112,26 @@ namespace CodeWalker.GameFiles
|
|||||||
}
|
}
|
||||||
[TC(typeof(EXP))] public class Dat151InteriorRoom : Dat151RelData
|
[TC(typeof(EXP))] public class Dat151InteriorRoom : Dat151RelData
|
||||||
{
|
{
|
||||||
public FlagsUint Flags0 { get; set; }
|
public FlagsUint Flags { get; set; }
|
||||||
public MetaHash MloRoom { get; set; }
|
public MetaHash RoomName { get; set; }
|
||||||
public MetaHash Zone { get; set; }
|
public MetaHash AmbientZone { get; set; }
|
||||||
public uint Unk02 { get; set; }
|
public byte InteriorType { get; set; }
|
||||||
public float Unk03 { get; set; }
|
public ushort padding00 { get; set; }
|
||||||
public float Reverb { get; set; }
|
public byte padding01 { get; set; }
|
||||||
public float Echo { get; set; }
|
public float ReverbSmall { get; set; }
|
||||||
|
public float ReverbMedium { get; set; }
|
||||||
|
public float ReverbLarge { get; set; }
|
||||||
public MetaHash Sound { get; set; }
|
public MetaHash Sound { get; set; }
|
||||||
public float Unk07 { get; set; }
|
public byte RainType { get; set; }
|
||||||
public float Unk08 { get; set; }
|
public ushort padding03 { get; set; }
|
||||||
public float Unk09 { get; set; }
|
public byte padding04 { get; set; }
|
||||||
public float Unk10 { get; set; }
|
public float ExteriorAudibility { get; set; }
|
||||||
public float Unk11 { get; set; }
|
public float RoomOcclusionDamping { get; set; }
|
||||||
public float Unk12 { get; set; }
|
public float NonMarkedPortalOcclusion { get; set; }
|
||||||
public MetaHash Unk13 { get; set; }
|
public float DistanceFromPortalForOcclusion { get; set; }
|
||||||
public MetaHash SoundSet { get; set; }
|
public float DistanceFromPortalFadeDistance { get; set; }
|
||||||
|
public MetaHash WeaponMetrics { get; set; }
|
||||||
|
public MetaHash InteriorWallaSoundSet { get; set; }
|
||||||
|
|
||||||
public Dat151InteriorRoom(RelFile rel) : base(rel)
|
public Dat151InteriorRoom(RelFile rel) : base(rel)
|
||||||
{
|
{
|
||||||
@ -6138,22 +6140,26 @@ namespace CodeWalker.GameFiles
|
|||||||
}
|
}
|
||||||
public Dat151InteriorRoom(RelData d, BinaryReader br) : base(d, br)
|
public Dat151InteriorRoom(RelData d, BinaryReader br) : base(d, br)
|
||||||
{
|
{
|
||||||
Flags0 = br.ReadUInt32();
|
Flags = br.ReadUInt32();
|
||||||
MloRoom = br.ReadUInt32();
|
RoomName = br.ReadUInt32();
|
||||||
Zone = br.ReadUInt32();
|
AmbientZone = br.ReadUInt32();
|
||||||
Unk02 = br.ReadUInt32();
|
InteriorType = br.ReadByte();
|
||||||
Unk03 = br.ReadSingle();
|
padding00 = br.ReadUInt16();
|
||||||
Reverb = br.ReadSingle();
|
padding01 = br.ReadByte();
|
||||||
Echo = br.ReadSingle();
|
ReverbSmall = br.ReadSingle();
|
||||||
|
ReverbMedium = br.ReadSingle();
|
||||||
|
ReverbLarge = br.ReadSingle();
|
||||||
Sound = br.ReadUInt32();
|
Sound = br.ReadUInt32();
|
||||||
Unk07 = br.ReadSingle();
|
RainType = br.ReadByte();
|
||||||
Unk08 = br.ReadSingle();
|
padding03 = br.ReadUInt16();
|
||||||
Unk09 = br.ReadSingle();
|
padding04 = br.ReadByte();
|
||||||
Unk10 = br.ReadSingle();
|
ExteriorAudibility = br.ReadSingle();
|
||||||
Unk11 = br.ReadSingle();
|
RoomOcclusionDamping = br.ReadSingle();
|
||||||
Unk12 = br.ReadSingle();
|
NonMarkedPortalOcclusion = br.ReadSingle();
|
||||||
Unk13 = br.ReadUInt32();
|
DistanceFromPortalForOcclusion = br.ReadSingle();
|
||||||
SoundSet = br.ReadUInt32();
|
DistanceFromPortalFadeDistance = br.ReadSingle();
|
||||||
|
WeaponMetrics = br.ReadUInt32();
|
||||||
|
InteriorWallaSoundSet = br.ReadUInt32();
|
||||||
|
|
||||||
var bytesleft = br.BaseStream.Length - br.BaseStream.Position;
|
var bytesleft = br.BaseStream.Length - br.BaseStream.Position;
|
||||||
if (bytesleft != 0)
|
if (bytesleft != 0)
|
||||||
@ -6163,60 +6169,64 @@ namespace CodeWalker.GameFiles
|
|||||||
{
|
{
|
||||||
WriteTypeAndOffset(bw);
|
WriteTypeAndOffset(bw);
|
||||||
|
|
||||||
bw.Write(Flags0);
|
bw.Write(Flags);
|
||||||
bw.Write(MloRoom);
|
bw.Write(RoomName);
|
||||||
bw.Write(Zone);
|
bw.Write(AmbientZone);
|
||||||
bw.Write(Unk02);
|
bw.Write(InteriorType);
|
||||||
bw.Write(Unk03);
|
bw.Write(padding00);
|
||||||
bw.Write(Reverb);
|
bw.Write(padding01);
|
||||||
bw.Write(Echo);
|
bw.Write(ReverbSmall);
|
||||||
|
bw.Write(ReverbMedium);
|
||||||
|
bw.Write(ReverbLarge);
|
||||||
bw.Write(Sound);
|
bw.Write(Sound);
|
||||||
bw.Write(Unk07);
|
bw.Write(RainType);
|
||||||
bw.Write(Unk08);
|
bw.Write(padding03);
|
||||||
bw.Write(Unk09);
|
bw.Write(padding04);
|
||||||
bw.Write(Unk10);
|
bw.Write(ExteriorAudibility);
|
||||||
bw.Write(Unk11);
|
bw.Write(RoomOcclusionDamping);
|
||||||
bw.Write(Unk12);
|
bw.Write(NonMarkedPortalOcclusion);
|
||||||
bw.Write(Unk13);
|
bw.Write(DistanceFromPortalForOcclusion);
|
||||||
bw.Write(SoundSet);
|
bw.Write(DistanceFromPortalFadeDistance);
|
||||||
|
bw.Write(WeaponMetrics);
|
||||||
|
bw.Write(InteriorWallaSoundSet);
|
||||||
}
|
}
|
||||||
public override void WriteXml(StringBuilder sb, int indent)
|
public override void WriteXml(StringBuilder sb, int indent)
|
||||||
{
|
{
|
||||||
RelXml.ValueTag(sb, indent, "Flags0", "0x" + Flags0.Hex);
|
RelXml.ValueTag(sb, indent, "Flags", "0x" + Flags.Hex);
|
||||||
RelXml.StringTag(sb, indent, "MloRoom", RelXml.HashString(MloRoom));
|
RelXml.StringTag(sb, indent, "RoomName", RelXml.HashString(RoomName));
|
||||||
RelXml.StringTag(sb, indent, "Zone", RelXml.HashString(Zone));
|
RelXml.StringTag(sb, indent, "AmbientZone", RelXml.HashString(AmbientZone));
|
||||||
RelXml.ValueTag(sb, indent, "Unk02", Unk02.ToString());
|
RelXml.ValueTag(sb, indent, "InteriorType", FloatUtil.ToString(InteriorType));
|
||||||
RelXml.ValueTag(sb, indent, "Unk03", FloatUtil.ToString(Unk03));
|
RelXml.ValueTag(sb, indent, "ReverbSmall", FloatUtil.ToString(ReverbSmall));
|
||||||
RelXml.ValueTag(sb, indent, "Reverb", FloatUtil.ToString(Reverb));
|
RelXml.ValueTag(sb, indent, "ReverbMedium", FloatUtil.ToString(ReverbMedium));
|
||||||
RelXml.ValueTag(sb, indent, "Echo", FloatUtil.ToString(Echo));
|
RelXml.ValueTag(sb, indent, "ReverbLarge", FloatUtil.ToString(ReverbLarge));
|
||||||
RelXml.StringTag(sb, indent, "Sound", RelXml.HashString(Sound));
|
RelXml.StringTag(sb, indent, "Sound", RelXml.HashString(Sound));
|
||||||
RelXml.ValueTag(sb, indent, "Unk07", FloatUtil.ToString(Unk07));
|
RelXml.ValueTag(sb, indent, "RainType", FloatUtil.ToString(RainType));
|
||||||
RelXml.ValueTag(sb, indent, "Unk08", FloatUtil.ToString(Unk08));
|
RelXml.ValueTag(sb, indent, "ExteriorAudibility", FloatUtil.ToString(ExteriorAudibility));
|
||||||
RelXml.ValueTag(sb, indent, "Unk09", FloatUtil.ToString(Unk09));
|
RelXml.ValueTag(sb, indent, "RoomOcclusionDamping", FloatUtil.ToString(RoomOcclusionDamping));
|
||||||
RelXml.ValueTag(sb, indent, "Unk10", FloatUtil.ToString(Unk10));
|
RelXml.ValueTag(sb, indent, "NonMarkedPortalOcclusion", FloatUtil.ToString(NonMarkedPortalOcclusion));
|
||||||
RelXml.ValueTag(sb, indent, "Unk11", FloatUtil.ToString(Unk11));
|
RelXml.ValueTag(sb, indent, "DistanceFromPortalForOcclusion", FloatUtil.ToString(DistanceFromPortalForOcclusion));
|
||||||
RelXml.ValueTag(sb, indent, "Unk12", FloatUtil.ToString(Unk12));
|
RelXml.ValueTag(sb, indent, "DistanceFromPortalFadeDistance", FloatUtil.ToString(DistanceFromPortalFadeDistance));
|
||||||
RelXml.StringTag(sb, indent, "Unk13", RelXml.HashString(Unk13));
|
RelXml.StringTag(sb, indent, "WeaponMetrics", RelXml.HashString(WeaponMetrics));
|
||||||
RelXml.StringTag(sb, indent, "SoundSet", RelXml.HashString(SoundSet));
|
RelXml.StringTag(sb, indent, "InteriorWallaSoundSet", RelXml.HashString(InteriorWallaSoundSet));
|
||||||
}
|
}
|
||||||
public override void ReadXml(XmlNode node)
|
public override void ReadXml(XmlNode node)
|
||||||
{
|
{
|
||||||
Flags0 = Xml.GetChildUIntAttribute(node, "Flags0", "value");
|
Flags = Xml.GetChildUIntAttribute(node, "Flags", "value");
|
||||||
MloRoom = XmlRel.GetHash(Xml.GetChildInnerText(node, "MloRoom"));
|
RoomName = XmlRel.GetHash(Xml.GetChildInnerText(node, "RoomName"));
|
||||||
Zone = XmlRel.GetHash(Xml.GetChildInnerText(node, "Zone"));
|
AmbientZone = XmlRel.GetHash(Xml.GetChildInnerText(node, "AmbientZone"));
|
||||||
Unk02 = Xml.GetChildUIntAttribute(node, "Unk02", "value");
|
InteriorType = (byte)Xml.GetChildUIntAttribute(node, "InteriorType", "value");
|
||||||
Unk03 = Xml.GetChildFloatAttribute(node, "Unk03", "value");
|
ReverbSmall = Xml.GetChildFloatAttribute(node, "ReverbSmall", "value");
|
||||||
Reverb = Xml.GetChildFloatAttribute(node, "Reverb", "value");
|
ReverbMedium = Xml.GetChildFloatAttribute(node, "ReverbMedium", "value");
|
||||||
Echo = Xml.GetChildFloatAttribute(node, "Echo", "value");
|
ReverbLarge = Xml.GetChildFloatAttribute(node, "ReverbLarge", "value");
|
||||||
Sound = XmlRel.GetHash(Xml.GetChildInnerText(node, "Sound"));
|
Sound = XmlRel.GetHash(Xml.GetChildInnerText(node, "Sound"));
|
||||||
Unk07 = Xml.GetChildFloatAttribute(node, "Unk07", "value");
|
RainType = (byte)Xml.GetChildUIntAttribute(node, "RainType", "value");
|
||||||
Unk08 = Xml.GetChildFloatAttribute(node, "Unk08", "value");
|
ExteriorAudibility = Xml.GetChildFloatAttribute(node, "ExteriorAudibility", "value");
|
||||||
Unk09 = Xml.GetChildFloatAttribute(node, "Unk09", "value");
|
RoomOcclusionDamping = Xml.GetChildFloatAttribute(node, "RoomOcclusionDamping", "value");
|
||||||
Unk10 = Xml.GetChildFloatAttribute(node, "Unk10", "value");
|
NonMarkedPortalOcclusion = Xml.GetChildFloatAttribute(node, "NonMarkedPortalOcclusion", "value");
|
||||||
Unk11 = Xml.GetChildFloatAttribute(node, "Unk11", "value");
|
DistanceFromPortalForOcclusion = Xml.GetChildFloatAttribute(node, "DistanceFromPortalForOcclusion", "value");
|
||||||
Unk12 = Xml.GetChildFloatAttribute(node, "Unk12", "value");
|
DistanceFromPortalFadeDistance = Xml.GetChildFloatAttribute(node, "DistanceFromPortalFadeDistance", "value");
|
||||||
Unk13 = XmlRel.GetHash(Xml.GetChildInnerText(node, "Unk13"));
|
WeaponMetrics = XmlRel.GetHash(Xml.GetChildInnerText(node, "WeaponMetrics"));
|
||||||
SoundSet = XmlRel.GetHash(Xml.GetChildInnerText(node, "SoundSet"));
|
InteriorWallaSoundSet = XmlRel.GetHash(Xml.GetChildInnerText(node, "InteriorWallaSoundSet"));
|
||||||
}
|
}
|
||||||
public override uint[] GetHashTableOffsets()
|
public override uint[] GetHashTableOffsets()
|
||||||
{
|
{
|
||||||
@ -6224,11 +6234,11 @@ namespace CodeWalker.GameFiles
|
|||||||
}
|
}
|
||||||
public override MetaHash[] GetSoundHashes()
|
public override MetaHash[] GetSoundHashes()
|
||||||
{
|
{
|
||||||
return new[] { Sound, SoundSet };
|
return new[] { Sound, InteriorWallaSoundSet };
|
||||||
}
|
}
|
||||||
public override MetaHash[] GetGameHashes()
|
public override MetaHash[] GetGameHashes()
|
||||||
{
|
{
|
||||||
return new[] { Zone, Unk13 };
|
return new[] { AmbientZone, WeaponMetrics };
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
[TC(typeof(EXP))] public class Dat151RadioStationList : Dat151RelData
|
[TC(typeof(EXP))] public class Dat151RadioStationList : Dat151RelData
|
||||||
@ -10252,64 +10262,66 @@ namespace CodeWalker.GameFiles
|
|||||||
{
|
{
|
||||||
public FlagsUint Flags { get; set; }
|
public FlagsUint Flags { get; set; }
|
||||||
public int MasterVolume { get; set; }
|
public int MasterVolume { get; set; }
|
||||||
public MetaHash EngineAccel { get; set; }
|
public uint EngineAccel { get; set; }
|
||||||
public MetaHash ExhaustAccel { get; set; }
|
public uint ExhaustAccel { get; set; }
|
||||||
public int Unk04 { get; set; }
|
public MetaHash EngineVolume_PreSubmix { get; set; }
|
||||||
public int Unk05 { get; set; }
|
public MetaHash ExhaustVolume_PreSubmix { get; set; }
|
||||||
public int Unk06 { get; set; }
|
public MetaHash AccelVolume_PreSubmix { get; set; }
|
||||||
public int Unk07 { get; set; }
|
public MetaHash DecelVolume_PreSubmix { get; set; }
|
||||||
public int Unk08 { get; set; }
|
public MetaHash IdleVolume_PreSubmix { get; set; }
|
||||||
public int Unk09 { get; set; }
|
public MetaHash EngineRevsVolume_PreSubmix { get; set; }
|
||||||
public int Unk10 { get; set; }
|
public MetaHash ExhaustRevsVolume_PreSubmix { get; set; }
|
||||||
public int Unk11 { get; set; }
|
public MetaHash EngineThrottleVolume_PreSubmix { get; set; }
|
||||||
public int Unk12 { get; set; }
|
public MetaHash ExhaustThrottleVolume_PreSubmix { get; set; }
|
||||||
public int EngineVolume { get; set; }
|
public MetaHash EngineVolume_PostSubmix { get; set; }
|
||||||
public int ExhaustVolume { get; set; }
|
public MetaHash ExhaustVolume_PostSubmix { get; set; }
|
||||||
public int EngineIdleVolume { get; set; }
|
public int EngineMaxConeAttenuation { get; set; }
|
||||||
public int ExhaustIdleVolume { get; set; }
|
public int ExhaustMaxConeAttenuation { get; set; }
|
||||||
public int Unk17 { get; set; }
|
public MetaHash EngineRevsVolume_PostSubmix { get; set; }
|
||||||
public int Unk18 { get; set; }
|
public MetaHash ExhaustRevsVolume_PostSubmix { get; set; }
|
||||||
public int EngineAccelVolume { get; set; }
|
public MetaHash EngineThrottleVolume_PostSubmix { get; set; }
|
||||||
public int ExhaustAccelVolume { get; set; }
|
public MetaHash ExhaustThrottleVolume_PostSubmix { get; set; }
|
||||||
public int Unk21 { get; set; }
|
public uint GearChangeWobbleLength { get; set; }
|
||||||
public float Unk22 { get; set; }
|
public float GearChangeWobbleLengthVariance { get; set; }
|
||||||
public float Unk23 { get; set; }
|
public float GearChangeWobbleSpeed { get; set; }
|
||||||
public float Unk24 { get; set; }
|
public float GearChangeWobbleSpeedVariance { get; set; }
|
||||||
public float Unk25 { get; set; }
|
public float GearChangeWobblePitch { get; set; }
|
||||||
public float Unk26 { get; set; }
|
public float GearChangeWobblePitchVariance { get; set; }
|
||||||
public float Unk27 { get; set; }
|
public float GearChangeWobbleVolume { get; set; }
|
||||||
public float Unk28 { get; set; }
|
public float GearChangeWobbleVolumeVariance { get; set; }
|
||||||
public int Unk29 { get; set; }
|
public MetaHash EngineClutchAttenuation_PostSubmix { get; set; }
|
||||||
public int Unk30 { get; set; }
|
public MetaHash ExhaustClutchAttenuation_PostSubmix { get; set; }
|
||||||
public MetaHash EngineSubmix { get; set; }
|
public uint EngineSynthDef { get; set; }
|
||||||
public MetaHash EngineSubmixPreset { get; set; }
|
public uint EngineSynthPreset { get; set; }
|
||||||
public MetaHash ExhaustSubmix { get; set; }
|
public uint ExhaustSynthDef { get; set; }
|
||||||
public MetaHash ExhaustSubmixPreset { get; set; }
|
public uint ExhaustSynthPreset { get; set; }
|
||||||
public MetaHash EngineAccelNPC { get; set; }
|
public uint NPCEngineAccel { get; set; }
|
||||||
public MetaHash ExhaustAccelNPC { get; set; }
|
public uint NPCExhaustAccel { get; set; }
|
||||||
public MetaHash LimiterPops { get; set; }
|
public uint RevLimiterPopSound { get; set; }
|
||||||
public int Unk38 { get; set; }
|
public uint MinRPMOverride { get; set; }
|
||||||
public int Unk39 { get; set; }
|
public uint MaxRPMOverride { get; set; }
|
||||||
public MetaHash Unk40 { get; set; }
|
public MetaHash EngineSubmixVoice { get; set; }
|
||||||
public MetaHash Unk41 { get; set; }
|
public MetaHash ExhaustSubmixVoice { get; set; }
|
||||||
public int Unk42 { get; set; }
|
public MetaHash ExhaustProximityVolume_PostSubmix { get; set; }
|
||||||
public int Unk43 { get; set; }
|
public uint RevLimiterGrainsToPlay { get; set; }
|
||||||
public int Unk44 { get; set; }
|
public uint RevLimiterGrainsToSkip { get; set; }
|
||||||
public MetaHash IdleSub { get; set; }
|
public uint SynchronisedSynth { get; set; }
|
||||||
public int Unk46 { get; set; }
|
public MetaHash UpgradedEngineVolumeBoost_PostSubmix { get; set; }
|
||||||
public int Unk47 { get; set; }
|
public uint UpgradedEngineSynthDef { get; set; }
|
||||||
public int Unk48 { get; set; }
|
public uint UpgradedEngineSynthPreset { get; set; }
|
||||||
public int Unk49 { get; set; }
|
public MetaHash UpgradedExhaustVolumeBoost_PostSubmix { get; set; }
|
||||||
public MetaHash Unk50 { get; set; }
|
public uint UpgradedExhaustSynthDef { get; set; }
|
||||||
public MetaHash Unk51 { get; set; }
|
public uint UpgradedExhaustSynthPreset { get; set; }
|
||||||
public MetaHash EngineDamage { get; set; }
|
public uint DamageSynthHashList { get; set; }
|
||||||
public MetaHash LimiterPopsUpgraded { get; set; }
|
public uint UpgradedRevLimiterPop { get; set; }
|
||||||
public int Unk54 { get; set; }
|
public MetaHash EngineIdleVolume_PostSubmix { get; set; }
|
||||||
public int Unk55 { get; set; }
|
public MetaHash ExhaustIdleVolume_PostSubmix { get; set; }
|
||||||
public int Unk56 { get; set; }
|
public MetaHash StartupRevsVolumeBoostEngine_PostSubmix { get; set; }
|
||||||
public int Unk57 { get; set; }
|
public MetaHash StartupRevsVolumeBoostExhaust_PostSubmix { get; set; }
|
||||||
public int Unk58 { get; set; }//OPTIONAL!? only include this and next if either nonzero?
|
public byte RevLimiterApplyType { get; set; }
|
||||||
public float Unk59 { get; set; }//OPTIONAL!?
|
public ushort padding00 { get; set; }
|
||||||
|
public byte padding01 { get; set; }
|
||||||
|
public float RevLimiterVolumeCut { get; set; }
|
||||||
|
|
||||||
public Dat151VehicleEngineGranular(RelFile rel) : base(rel)
|
public Dat151VehicleEngineGranular(RelFile rel) : base(rel)
|
||||||
{
|
{
|
||||||
@ -10322,167 +10334,64 @@ namespace CodeWalker.GameFiles
|
|||||||
MasterVolume = br.ReadInt32();
|
MasterVolume = br.ReadInt32();
|
||||||
EngineAccel = br.ReadUInt32();
|
EngineAccel = br.ReadUInt32();
|
||||||
ExhaustAccel = br.ReadUInt32();
|
ExhaustAccel = br.ReadUInt32();
|
||||||
Unk04 = br.ReadInt32();
|
EngineVolume_PreSubmix = br.ReadUInt32();
|
||||||
Unk05 = br.ReadInt32();
|
ExhaustVolume_PreSubmix = br.ReadUInt32();
|
||||||
Unk06 = br.ReadInt32();
|
AccelVolume_PreSubmix = br.ReadUInt32();
|
||||||
Unk07 = br.ReadInt32();
|
DecelVolume_PreSubmix = br.ReadUInt32();
|
||||||
Unk08 = br.ReadInt32();
|
IdleVolume_PreSubmix = br.ReadUInt32();
|
||||||
Unk09 = br.ReadInt32();
|
EngineRevsVolume_PreSubmix = br.ReadUInt32();
|
||||||
Unk10 = br.ReadInt32();
|
ExhaustRevsVolume_PreSubmix = br.ReadUInt32();
|
||||||
Unk11 = br.ReadInt32();
|
EngineThrottleVolume_PreSubmix = br.ReadUInt32();
|
||||||
Unk12 = br.ReadInt32();
|
ExhaustThrottleVolume_PreSubmix = br.ReadUInt32();
|
||||||
EngineVolume = br.ReadInt32();
|
EngineVolume_PostSubmix = br.ReadUInt32();
|
||||||
ExhaustVolume = br.ReadInt32();
|
ExhaustVolume_PostSubmix = br.ReadUInt32();
|
||||||
EngineIdleVolume = br.ReadInt32();
|
EngineMaxConeAttenuation = br.ReadInt32();
|
||||||
ExhaustIdleVolume = br.ReadInt32();
|
ExhaustMaxConeAttenuation = br.ReadInt32();
|
||||||
Unk17 = br.ReadInt32();
|
EngineRevsVolume_PostSubmix = br.ReadUInt32();
|
||||||
Unk18 = br.ReadInt32();
|
ExhaustRevsVolume_PostSubmix = br.ReadUInt32();
|
||||||
EngineAccelVolume = br.ReadInt32();
|
EngineThrottleVolume_PostSubmix = br.ReadUInt32();
|
||||||
ExhaustAccelVolume = br.ReadInt32();
|
ExhaustThrottleVolume_PostSubmix = br.ReadUInt32();
|
||||||
Unk21 = br.ReadInt32();
|
GearChangeWobbleLength = br.ReadUInt32();
|
||||||
Unk22 = br.ReadSingle();
|
GearChangeWobbleLengthVariance = br.ReadSingle();
|
||||||
Unk23 = br.ReadSingle();
|
GearChangeWobbleSpeed = br.ReadSingle();
|
||||||
Unk24 = br.ReadSingle();
|
GearChangeWobbleSpeedVariance = br.ReadSingle();
|
||||||
Unk25 = br.ReadSingle();
|
GearChangeWobblePitch = br.ReadSingle();
|
||||||
Unk26 = br.ReadSingle();
|
GearChangeWobblePitchVariance = br.ReadSingle();
|
||||||
Unk27 = br.ReadSingle();
|
GearChangeWobbleVolume = br.ReadSingle();
|
||||||
Unk28 = br.ReadSingle();
|
GearChangeWobbleVolumeVariance = br.ReadSingle();
|
||||||
Unk29 = br.ReadInt32();
|
EngineClutchAttenuation_PostSubmix = br.ReadUInt32();
|
||||||
Unk30 = br.ReadInt32();
|
ExhaustClutchAttenuation_PostSubmix = br.ReadUInt32();
|
||||||
EngineSubmix = br.ReadUInt32();
|
EngineSynthDef = br.ReadUInt32();
|
||||||
EngineSubmixPreset = br.ReadUInt32();
|
EngineSynthPreset = br.ReadUInt32();
|
||||||
ExhaustSubmix = br.ReadUInt32();
|
ExhaustSynthDef = br.ReadUInt32();
|
||||||
ExhaustSubmixPreset = br.ReadUInt32();
|
ExhaustSynthPreset = br.ReadUInt32();
|
||||||
EngineAccelNPC = br.ReadUInt32();
|
NPCEngineAccel = br.ReadUInt32();
|
||||||
ExhaustAccelNPC = br.ReadUInt32();
|
NPCExhaustAccel = br.ReadUInt32();
|
||||||
LimiterPops = br.ReadUInt32();
|
RevLimiterPopSound = br.ReadUInt32();
|
||||||
Unk38 = br.ReadInt32();
|
MinRPMOverride = br.ReadUInt32();
|
||||||
Unk39 = br.ReadInt32();
|
MaxRPMOverride = br.ReadUInt32();
|
||||||
Unk40 = br.ReadUInt32();
|
EngineSubmixVoice = br.ReadUInt32();
|
||||||
Unk41 = br.ReadUInt32();
|
ExhaustSubmixVoice = br.ReadUInt32();
|
||||||
Unk42 = br.ReadInt32();
|
ExhaustProximityVolume_PostSubmix = br.ReadUInt32();
|
||||||
Unk43 = br.ReadInt32();
|
RevLimiterGrainsToPlay = br.ReadUInt32();
|
||||||
Unk44 = br.ReadInt32();
|
RevLimiterGrainsToSkip = br.ReadUInt32();
|
||||||
IdleSub = br.ReadUInt32();
|
SynchronisedSynth = br.ReadUInt32();
|
||||||
Unk46 = br.ReadInt32();
|
UpgradedEngineVolumeBoost_PostSubmix = br.ReadUInt32();
|
||||||
Unk47 = br.ReadInt32();
|
UpgradedEngineSynthDef = br.ReadUInt32();
|
||||||
Unk48 = br.ReadInt32();
|
UpgradedEngineSynthPreset = br.ReadUInt32();
|
||||||
Unk49 = br.ReadInt32();
|
UpgradedExhaustVolumeBoost_PostSubmix = br.ReadUInt32();
|
||||||
Unk50 = br.ReadUInt32();
|
UpgradedExhaustSynthDef = br.ReadUInt32();
|
||||||
Unk51 = br.ReadUInt32();
|
UpgradedExhaustSynthPreset = br.ReadUInt32();
|
||||||
EngineDamage = br.ReadUInt32();
|
DamageSynthHashList = br.ReadUInt32();
|
||||||
LimiterPopsUpgraded = br.ReadUInt32();
|
UpgradedRevLimiterPop = br.ReadUInt32();
|
||||||
Unk54 = br.ReadInt32();
|
EngineIdleVolume_PostSubmix = br.ReadUInt32();
|
||||||
Unk55 = br.ReadInt32();
|
ExhaustIdleVolume_PostSubmix = br.ReadUInt32();
|
||||||
Unk56 = br.ReadInt32();
|
StartupRevsVolumeBoostEngine_PostSubmix = br.ReadUInt32();
|
||||||
Unk57 = br.ReadInt32();
|
StartupRevsVolumeBoostExhaust_PostSubmix = br.ReadUInt32();
|
||||||
|
RevLimiterApplyType = br.ReadByte();
|
||||||
|
padding00 = br.ReadUInt16();
|
||||||
|
padding01 = br.ReadByte();
|
||||||
switch (this.Flags)
|
RevLimiterVolumeCut = br.ReadSingle();
|
||||||
{
|
|
||||||
case 0xAAAAA905:
|
|
||||||
case 0xAAAAA955:
|
|
||||||
case 0xAAAAA954:
|
|
||||||
case 0xAAAAA914:
|
|
||||||
case 0xAAAAA904:
|
|
||||||
case 0xAAAAA805:
|
|
||||||
case 0xAAAAA915:
|
|
||||||
case 0xAAAAA945:
|
|
||||||
case 0xAAAAA815:
|
|
||||||
case 0xAAAAA944:
|
|
||||||
case 0xAAAAA854:
|
|
||||||
break;
|
|
||||||
default:
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
switch (this.Unk40)
|
|
||||||
{
|
|
||||||
case 1225003942:
|
|
||||||
break;
|
|
||||||
default:
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
switch (this.Unk41)
|
|
||||||
{
|
|
||||||
case 1479769906:
|
|
||||||
break;
|
|
||||||
default:
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
switch (this.Unk43)
|
|
||||||
{
|
|
||||||
case 5:
|
|
||||||
case 3:
|
|
||||||
case 4:
|
|
||||||
case 2:
|
|
||||||
case 6:
|
|
||||||
case 1:
|
|
||||||
break;
|
|
||||||
default:
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
switch (this.Unk44)
|
|
||||||
{
|
|
||||||
case 2:
|
|
||||||
case 1:
|
|
||||||
case 3:
|
|
||||||
case 4:
|
|
||||||
break;
|
|
||||||
default:
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
|
|
||||||
var bytesleft = br.BaseStream.Length - br.BaseStream.Position;
|
|
||||||
switch (bytesleft) //any other way to tell??
|
|
||||||
{
|
|
||||||
case 0:
|
|
||||||
break;
|
|
||||||
case 8:
|
|
||||||
Unk58 = br.ReadInt32();
|
|
||||||
Unk59 = br.ReadSingle();
|
|
||||||
switch (Unk58)
|
|
||||||
{
|
|
||||||
case 1:
|
|
||||||
case 2:
|
|
||||||
case 0:
|
|
||||||
break;
|
|
||||||
default:
|
|
||||||
break;//no hit here
|
|
||||||
}
|
|
||||||
if ((Unk58 == 0) && (Unk59 == 0))
|
|
||||||
{ }//no hit here
|
|
||||||
break;
|
|
||||||
default:
|
|
||||||
break;//no hit here
|
|
||||||
}
|
|
||||||
|
|
||||||
if (bytesleft != 0)
|
|
||||||
{ }
|
|
||||||
|
|
||||||
if (Unk04 != 0)
|
|
||||||
{ }
|
|
||||||
if (Unk09 != 0)
|
|
||||||
{ }
|
|
||||||
if (Unk10 != 0)
|
|
||||||
{ }
|
|
||||||
if (Unk11 != 0)
|
|
||||||
{ }
|
|
||||||
if (Unk12 != 0)
|
|
||||||
{ }
|
|
||||||
if (Unk38 != 0)
|
|
||||||
{ }
|
|
||||||
if (Unk39 != 0)
|
|
||||||
{ }
|
|
||||||
if (Unk47 != 0)
|
|
||||||
{ }
|
|
||||||
if (Unk48 != 0)
|
|
||||||
{ }
|
|
||||||
if (Unk50 != 0)
|
|
||||||
{ }
|
|
||||||
if (Unk51 != 0)
|
|
||||||
{ }
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
public override void Write(BinaryWriter bw)
|
public override void Write(BinaryWriter bw)
|
||||||
@ -10492,199 +10401,200 @@ namespace CodeWalker.GameFiles
|
|||||||
bw.Write(MasterVolume);
|
bw.Write(MasterVolume);
|
||||||
bw.Write(EngineAccel);
|
bw.Write(EngineAccel);
|
||||||
bw.Write(ExhaustAccel);
|
bw.Write(ExhaustAccel);
|
||||||
bw.Write(Unk04);
|
bw.Write(EngineVolume_PreSubmix);
|
||||||
bw.Write(Unk05);
|
bw.Write(ExhaustVolume_PreSubmix);
|
||||||
bw.Write(Unk06);
|
bw.Write(AccelVolume_PreSubmix);
|
||||||
bw.Write(Unk07);
|
bw.Write(DecelVolume_PreSubmix);
|
||||||
bw.Write(Unk08);
|
bw.Write(IdleVolume_PreSubmix);
|
||||||
bw.Write(Unk09);
|
bw.Write(EngineRevsVolume_PreSubmix);
|
||||||
bw.Write(Unk10);
|
bw.Write(ExhaustRevsVolume_PreSubmix);
|
||||||
bw.Write(Unk11);
|
bw.Write(EngineThrottleVolume_PreSubmix);
|
||||||
bw.Write(Unk12);
|
bw.Write(ExhaustThrottleVolume_PreSubmix);
|
||||||
bw.Write(EngineVolume);
|
bw.Write(EngineVolume_PostSubmix);
|
||||||
bw.Write(ExhaustVolume);
|
bw.Write(ExhaustVolume_PostSubmix);
|
||||||
bw.Write(EngineIdleVolume);
|
bw.Write(EngineMaxConeAttenuation);
|
||||||
bw.Write(ExhaustIdleVolume);
|
bw.Write(ExhaustMaxConeAttenuation);
|
||||||
bw.Write(Unk17);
|
bw.Write(EngineRevsVolume_PostSubmix);
|
||||||
bw.Write(Unk18);
|
bw.Write(ExhaustRevsVolume_PostSubmix);
|
||||||
bw.Write(EngineAccelVolume);
|
bw.Write(EngineThrottleVolume_PostSubmix);
|
||||||
bw.Write(ExhaustAccelVolume);
|
bw.Write(ExhaustThrottleVolume_PostSubmix);
|
||||||
bw.Write(Unk21);
|
bw.Write(GearChangeWobbleLength);
|
||||||
bw.Write(Unk22);
|
bw.Write(GearChangeWobbleLengthVariance);
|
||||||
bw.Write(Unk23);
|
bw.Write(GearChangeWobbleSpeed);
|
||||||
bw.Write(Unk24);
|
bw.Write(GearChangeWobbleSpeedVariance);
|
||||||
bw.Write(Unk25);
|
bw.Write(GearChangeWobblePitch);
|
||||||
bw.Write(Unk26);
|
bw.Write(GearChangeWobblePitchVariance);
|
||||||
bw.Write(Unk27);
|
bw.Write(GearChangeWobbleVolume);
|
||||||
bw.Write(Unk28);
|
bw.Write(GearChangeWobbleVolumeVariance);
|
||||||
bw.Write(Unk29);
|
bw.Write(EngineClutchAttenuation_PostSubmix);
|
||||||
bw.Write(Unk30);
|
bw.Write(ExhaustClutchAttenuation_PostSubmix);
|
||||||
bw.Write(EngineSubmix);
|
bw.Write(EngineSynthDef);
|
||||||
bw.Write(EngineSubmixPreset);
|
bw.Write(EngineSynthPreset);
|
||||||
bw.Write(ExhaustSubmix);
|
bw.Write(ExhaustSynthDef);
|
||||||
bw.Write(ExhaustSubmixPreset);
|
bw.Write(ExhaustSynthPreset);
|
||||||
bw.Write(EngineAccelNPC);
|
bw.Write(NPCEngineAccel);
|
||||||
bw.Write(ExhaustAccelNPC);
|
bw.Write(NPCExhaustAccel);
|
||||||
bw.Write(LimiterPops);
|
bw.Write(RevLimiterPopSound);
|
||||||
bw.Write(Unk38);
|
bw.Write(MinRPMOverride);
|
||||||
bw.Write(Unk39);
|
bw.Write(MaxRPMOverride);
|
||||||
bw.Write(Unk40);
|
bw.Write(EngineSubmixVoice);
|
||||||
bw.Write(Unk41);
|
bw.Write(ExhaustSubmixVoice);
|
||||||
bw.Write(Unk42);
|
bw.Write(ExhaustProximityVolume_PostSubmix);
|
||||||
bw.Write(Unk43);
|
bw.Write(RevLimiterGrainsToPlay);
|
||||||
bw.Write(Unk44);
|
bw.Write(RevLimiterGrainsToSkip);
|
||||||
bw.Write(IdleSub);
|
bw.Write(SynchronisedSynth);
|
||||||
bw.Write(Unk46);
|
bw.Write(UpgradedEngineVolumeBoost_PostSubmix);
|
||||||
bw.Write(Unk47);
|
bw.Write(UpgradedEngineSynthDef);
|
||||||
bw.Write(Unk48);
|
bw.Write(UpgradedEngineSynthPreset);
|
||||||
bw.Write(Unk49);
|
bw.Write(UpgradedExhaustVolumeBoost_PostSubmix);
|
||||||
bw.Write(Unk50);
|
bw.Write(UpgradedExhaustSynthDef);
|
||||||
bw.Write(Unk51);
|
bw.Write(UpgradedExhaustSynthPreset);
|
||||||
bw.Write(EngineDamage);
|
bw.Write(DamageSynthHashList);
|
||||||
bw.Write(LimiterPopsUpgraded);
|
bw.Write(UpgradedRevLimiterPop);
|
||||||
bw.Write(Unk54);
|
bw.Write(EngineIdleVolume_PostSubmix);
|
||||||
bw.Write(Unk55);
|
bw.Write(ExhaustIdleVolume_PostSubmix);
|
||||||
bw.Write(Unk56);
|
bw.Write(StartupRevsVolumeBoostEngine_PostSubmix);
|
||||||
bw.Write(Unk57);
|
bw.Write(StartupRevsVolumeBoostExhaust_PostSubmix);
|
||||||
if ((Unk58 != 0) || (Unk59 != 0))//how else to know?? seems hacky!
|
bw.Write(RevLimiterApplyType);
|
||||||
{
|
bw.Write(padding00);
|
||||||
bw.Write(Unk58);
|
bw.Write(padding01);
|
||||||
bw.Write(Unk59);
|
bw.Write(RevLimiterVolumeCut);
|
||||||
}
|
|
||||||
}
|
}
|
||||||
public override void WriteXml(StringBuilder sb, int indent)
|
public override void WriteXml(StringBuilder sb, int indent)
|
||||||
{
|
{
|
||||||
RelXml.ValueTag(sb, indent, "Flags", "0x" + Flags.Hex);
|
RelXml.ValueTag(sb, indent, "Flags", "0x" + Flags.Hex);
|
||||||
RelXml.ValueTag(sb, indent, "MasterVolume", MasterVolume.ToString());
|
RelXml.ValueTag(sb, indent, "MasterVolume", MasterVolume.ToString());
|
||||||
RelXml.StringTag(sb, indent, "EngineAccel", RelXml.HashString(EngineAccel));
|
RelXml.StringTag(sb, indent, "EngineAccel", EngineAccel.ToString());
|
||||||
RelXml.StringTag(sb, indent, "ExhaustAccel", RelXml.HashString(ExhaustAccel));
|
RelXml.StringTag(sb, indent, "ExhaustAccel", ExhaustAccel.ToString());
|
||||||
RelXml.ValueTag(sb, indent, "Unk04", Unk04.ToString());
|
RelXml.ValueTag(sb, indent, "EngineVolume_PreSubmix", RelXml.HashString(EngineVolume_PreSubmix));
|
||||||
RelXml.ValueTag(sb, indent, "Unk05", Unk05.ToString());
|
RelXml.ValueTag(sb, indent, "ExhaustVolume_PreSubmix", RelXml.HashString(ExhaustVolume_PreSubmix));
|
||||||
RelXml.ValueTag(sb, indent, "Unk06", Unk06.ToString());
|
RelXml.ValueTag(sb, indent, "AccelVolume_PreSubmix", RelXml.HashString(AccelVolume_PreSubmix));
|
||||||
RelXml.ValueTag(sb, indent, "Unk07", Unk07.ToString());
|
RelXml.ValueTag(sb, indent, "DecelVolume_PreSubmix", RelXml.HashString(DecelVolume_PreSubmix));
|
||||||
RelXml.ValueTag(sb, indent, "Unk08", Unk08.ToString());
|
RelXml.ValueTag(sb, indent, "IdleVolume_PreSubmix", RelXml.HashString(IdleVolume_PreSubmix));
|
||||||
RelXml.ValueTag(sb, indent, "Unk09", Unk09.ToString());
|
RelXml.ValueTag(sb, indent, "EngineRevsVolume_PreSubmix", RelXml.HashString(EngineRevsVolume_PreSubmix));
|
||||||
RelXml.ValueTag(sb, indent, "Unk10", Unk10.ToString());
|
RelXml.ValueTag(sb, indent, "ExhaustRevsVolume_PreSubmix", RelXml.HashString(ExhaustRevsVolume_PreSubmix));
|
||||||
RelXml.ValueTag(sb, indent, "Unk11", Unk11.ToString());
|
RelXml.ValueTag(sb, indent, "EngineThrottleVolume_PreSubmix", RelXml.HashString(EngineThrottleVolume_PreSubmix));
|
||||||
RelXml.ValueTag(sb, indent, "Unk12", Unk12.ToString());
|
RelXml.ValueTag(sb, indent, "ExhaustThrottleVolume_PreSubmix", RelXml.HashString(ExhaustThrottleVolume_PreSubmix));
|
||||||
RelXml.ValueTag(sb, indent, "EngineVolume", EngineVolume.ToString());
|
RelXml.ValueTag(sb, indent, "EngineVolume_PostSubmix", RelXml.HashString(EngineVolume_PostSubmix));
|
||||||
RelXml.ValueTag(sb, indent, "ExhaustVolume", ExhaustVolume.ToString());
|
RelXml.ValueTag(sb, indent, "ExhaustVolume_PostSubmix", RelXml.HashString(ExhaustVolume_PostSubmix));
|
||||||
RelXml.ValueTag(sb, indent, "EngineIdleVolume", EngineIdleVolume.ToString());
|
RelXml.ValueTag(sb, indent, "EngineMaxConeAttenuation", EngineMaxConeAttenuation.ToString());
|
||||||
RelXml.ValueTag(sb, indent, "ExhaustIdleVolume", ExhaustIdleVolume.ToString());
|
RelXml.ValueTag(sb, indent, "ExhaustMaxConeAttenuation", ExhaustMaxConeAttenuation.ToString());
|
||||||
RelXml.ValueTag(sb, indent, "Unk17", Unk17.ToString());
|
RelXml.ValueTag(sb, indent, "EngineRevsVolume_PostSubmix", RelXml.HashString(EngineRevsVolume_PostSubmix));
|
||||||
RelXml.ValueTag(sb, indent, "Unk18", Unk18.ToString());
|
RelXml.ValueTag(sb, indent, "ExhaustRevsVolume_PostSubmix", RelXml.HashString(ExhaustRevsVolume_PostSubmix));
|
||||||
RelXml.ValueTag(sb, indent, "EngineAccelVolume", EngineAccelVolume.ToString());
|
RelXml.ValueTag(sb, indent, "EngineThrottleVolume_PostSubmix", RelXml.HashString(EngineThrottleVolume_PostSubmix));
|
||||||
RelXml.ValueTag(sb, indent, "ExhaustAccelVolume", ExhaustAccelVolume.ToString());
|
RelXml.ValueTag(sb, indent, "ExhaustThrottleVolume_PostSubmix", RelXml.HashString(ExhaustThrottleVolume_PostSubmix));
|
||||||
RelXml.ValueTag(sb, indent, "Unk21", Unk21.ToString());
|
RelXml.ValueTag(sb, indent, "GearChangeWobbleLength", GearChangeWobbleLength.ToString());
|
||||||
RelXml.ValueTag(sb, indent, "Unk22", FloatUtil.ToString(Unk22));
|
RelXml.ValueTag(sb, indent, "GearChangeWobbleLengthVariance", FloatUtil.ToString(GearChangeWobbleLengthVariance));
|
||||||
RelXml.ValueTag(sb, indent, "Unk23", FloatUtil.ToString(Unk23));
|
RelXml.ValueTag(sb, indent, "GearChangeWobbleSpeed", FloatUtil.ToString(GearChangeWobbleSpeed));
|
||||||
RelXml.ValueTag(sb, indent, "Unk24", FloatUtil.ToString(Unk24));
|
RelXml.ValueTag(sb, indent, "GearChangeWobbleSpeedVariance", FloatUtil.ToString(GearChangeWobbleSpeedVariance));
|
||||||
RelXml.ValueTag(sb, indent, "Unk25", FloatUtil.ToString(Unk25));
|
RelXml.ValueTag(sb, indent, "GearChangeWobblePitch", FloatUtil.ToString(GearChangeWobblePitch));
|
||||||
RelXml.ValueTag(sb, indent, "Unk26", FloatUtil.ToString(Unk26));
|
RelXml.ValueTag(sb, indent, "GearChangeWobblePitchVariance", FloatUtil.ToString(GearChangeWobblePitchVariance));
|
||||||
RelXml.ValueTag(sb, indent, "Unk27", FloatUtil.ToString(Unk27));
|
RelXml.ValueTag(sb, indent, "GearChangeWobbleVolume", FloatUtil.ToString(GearChangeWobbleVolume));
|
||||||
RelXml.ValueTag(sb, indent, "Unk28", FloatUtil.ToString(Unk28));
|
RelXml.ValueTag(sb, indent, "GearChangeWobbleVolumeVariance", FloatUtil.ToString(GearChangeWobbleVolumeVariance));
|
||||||
RelXml.ValueTag(sb, indent, "Unk29", Unk29.ToString());
|
RelXml.ValueTag(sb, indent, "EngineClutchAttenuation_PostSubmix", RelXml.HashString(EngineClutchAttenuation_PostSubmix));
|
||||||
RelXml.ValueTag(sb, indent, "Unk30", Unk30.ToString());
|
RelXml.ValueTag(sb, indent, "ExhaustClutchAttenuation_PostSubmix", RelXml.HashString(ExhaustClutchAttenuation_PostSubmix));
|
||||||
RelXml.StringTag(sb, indent, "EngineSubmix", RelXml.HashString(EngineSubmix));
|
RelXml.StringTag(sb, indent, "EngineSynthDef", EngineSynthDef.ToString());
|
||||||
RelXml.StringTag(sb, indent, "EngineSubmixPreset", RelXml.HashString(EngineSubmixPreset));
|
RelXml.StringTag(sb, indent, "EngineSynthPreset", EngineSynthPreset.ToString());
|
||||||
RelXml.StringTag(sb, indent, "ExhaustSubmix", RelXml.HashString(ExhaustSubmix));
|
RelXml.StringTag(sb, indent, "ExhaustSynthDef", ExhaustSynthDef.ToString());
|
||||||
RelXml.StringTag(sb, indent, "ExhaustSubmixPreset", RelXml.HashString(ExhaustSubmixPreset));
|
RelXml.StringTag(sb, indent, "ExhaustSynthPreset", ExhaustSynthPreset.ToString());
|
||||||
RelXml.StringTag(sb, indent, "EngineAccelNPC", RelXml.HashString(EngineAccelNPC));
|
RelXml.StringTag(sb, indent, "NPCEngineAccel", NPCEngineAccel.ToString());
|
||||||
RelXml.StringTag(sb, indent, "ExhaustAccelNPC", RelXml.HashString(ExhaustAccelNPC));
|
RelXml.StringTag(sb, indent, "NPCExhaustAccel", NPCExhaustAccel.ToString());
|
||||||
RelXml.StringTag(sb, indent, "LimiterPops", RelXml.HashString(LimiterPops));
|
RelXml.StringTag(sb, indent, "RevLimiterPopSound", RevLimiterPopSound.ToString());
|
||||||
RelXml.ValueTag(sb, indent, "Unk38", Unk38.ToString());
|
RelXml.ValueTag(sb, indent, "MinRPMOverride", MinRPMOverride.ToString());
|
||||||
RelXml.ValueTag(sb, indent, "Unk39", Unk39.ToString());
|
RelXml.ValueTag(sb, indent, "MaxRPMOverride", MaxRPMOverride.ToString());
|
||||||
RelXml.StringTag(sb, indent, "Unk40", RelXml.HashString(Unk40));
|
RelXml.StringTag(sb, indent, "EngineSubmixVoice", EngineSubmixVoice.ToString());
|
||||||
RelXml.StringTag(sb, indent, "Unk41", RelXml.HashString(Unk41));
|
RelXml.StringTag(sb, indent, "ExhaustSubmixVoice", ExhaustSubmixVoice.ToString());
|
||||||
RelXml.ValueTag(sb, indent, "Unk42", Unk42.ToString());
|
RelXml.ValueTag(sb, indent, "ExhaustProximityVolume_PostSubmix", RelXml.HashString(ExhaustProximityVolume_PostSubmix));
|
||||||
RelXml.ValueTag(sb, indent, "Unk43", Unk43.ToString());
|
RelXml.ValueTag(sb, indent, "RevLimiterGrainsToPlay", RevLimiterGrainsToPlay.ToString());
|
||||||
RelXml.ValueTag(sb, indent, "Unk44", Unk44.ToString());
|
RelXml.ValueTag(sb, indent, "RevLimiterGrainsToSkip", RevLimiterGrainsToSkip.ToString());
|
||||||
RelXml.StringTag(sb, indent, "IdleSub", RelXml.HashString(IdleSub));
|
RelXml.StringTag(sb, indent, "SynchronisedSynth", SynchronisedSynth.ToString());
|
||||||
RelXml.ValueTag(sb, indent, "Unk46", Unk46.ToString());
|
RelXml.ValueTag(sb, indent, "UpgradedEngineVolumeBoost_PostSubmix", RelXml.HashString(UpgradedEngineVolumeBoost_PostSubmix));
|
||||||
RelXml.ValueTag(sb, indent, "Unk47", Unk47.ToString());
|
RelXml.ValueTag(sb, indent, "UpgradedEngineSynthDef", UpgradedEngineSynthDef.ToString());
|
||||||
RelXml.ValueTag(sb, indent, "Unk48", Unk48.ToString());
|
RelXml.ValueTag(sb, indent, "UpgradedEngineSynthPreset", UpgradedEngineSynthPreset.ToString());
|
||||||
RelXml.ValueTag(sb, indent, "Unk49", Unk49.ToString());
|
RelXml.ValueTag(sb, indent, "UpgradedExhaustVolumeBoost_PostSubmix", RelXml.HashString(UpgradedExhaustVolumeBoost_PostSubmix));
|
||||||
RelXml.StringTag(sb, indent, "Unk50", RelXml.HashString(Unk50));
|
RelXml.StringTag(sb, indent, "UpgradedExhaustSynthDef", UpgradedExhaustSynthDef.ToString());
|
||||||
RelXml.StringTag(sb, indent, "Unk51", RelXml.HashString(Unk51));
|
RelXml.StringTag(sb, indent, "UpgradedExhaustSynthPreset", UpgradedExhaustSynthPreset.ToString());
|
||||||
RelXml.StringTag(sb, indent, "EngineDamage", RelXml.HashString(EngineDamage));
|
RelXml.StringTag(sb, indent, "DamageSynthHashList", DamageSynthHashList.ToString());
|
||||||
RelXml.StringTag(sb, indent, "LimiterPopsUpgraded", RelXml.HashString(LimiterPopsUpgraded));
|
RelXml.StringTag(sb, indent, "UpgradedRevLimiterPop", UpgradedRevLimiterPop.ToString());
|
||||||
RelXml.ValueTag(sb, indent, "Unk54", Unk54.ToString());
|
RelXml.ValueTag(sb, indent, "EngineIdleVolume_PostSubmix", RelXml.HashString(EngineIdleVolume_PostSubmix));
|
||||||
RelXml.ValueTag(sb, indent, "Unk55", Unk55.ToString());
|
RelXml.ValueTag(sb, indent, "ExhaustIdleVolume_PostSubmix", RelXml.HashString(ExhaustIdleVolume_PostSubmix));
|
||||||
RelXml.ValueTag(sb, indent, "Unk56", Unk56.ToString());
|
RelXml.ValueTag(sb, indent, "StartupRevsVolumeBoostEngine_PostSubmix", RelXml.HashString(StartupRevsVolumeBoostEngine_PostSubmix));
|
||||||
RelXml.ValueTag(sb, indent, "Unk57", Unk57.ToString());
|
RelXml.ValueTag(sb, indent, "StartupRevsVolumeBoostExhaust_PostSubmix", RelXml.HashString(StartupRevsVolumeBoostExhaust_PostSubmix));
|
||||||
RelXml.ValueTag(sb, indent, "Unk58", Unk58.ToString());
|
RelXml.ValueTag(sb, indent, "RevLimiterApplyType", RevLimiterApplyType.ToString());
|
||||||
RelXml.ValueTag(sb, indent, "Unk59", FloatUtil.ToString(Unk59));
|
RelXml.ValueTag(sb, indent, "RevLimiterVolumeCut", FloatUtil.ToString(RevLimiterVolumeCut));
|
||||||
}
|
}
|
||||||
public override void ReadXml(XmlNode node)
|
public override void ReadXml(XmlNode node)
|
||||||
{
|
{
|
||||||
Flags = Xml.GetChildUIntAttribute(node, "Flags", "value");
|
Flags = Xml.GetChildUIntAttribute(node, "Flags", "value");
|
||||||
MasterVolume = Xml.GetChildIntAttribute(node, "MasterVolume", "value");
|
MasterVolume = Xml.GetChildIntAttribute(node, "MasterVolume", "value");
|
||||||
EngineAccel = XmlRel.GetHash(Xml.GetChildInnerText(node, "EngineAccel"));
|
EngineAccel = Xml.GetChildUIntAttribute(node, "EngineAccel", "value");
|
||||||
ExhaustAccel = XmlRel.GetHash(Xml.GetChildInnerText(node, "ExhaustAccel"));
|
ExhaustAccel = Xml.GetChildUIntAttribute(node, "ExhaustAccel", "value");
|
||||||
Unk04 = Xml.GetChildIntAttribute(node, "Unk04", "value");
|
EngineVolume_PreSubmix = XmlRel.GetHash(Xml.GetChildInnerText(node, "EngineVolume_PreSubmix"));
|
||||||
Unk05 = Xml.GetChildIntAttribute(node, "Unk05", "value");
|
ExhaustVolume_PreSubmix = XmlRel.GetHash(Xml.GetChildInnerText(node, "ExhaustVolume_PreSubmix"));
|
||||||
Unk06 = Xml.GetChildIntAttribute(node, "Unk06", "value");
|
AccelVolume_PreSubmix = XmlRel.GetHash(Xml.GetChildInnerText(node, "AccelVolume_PreSubmix"));
|
||||||
Unk07 = Xml.GetChildIntAttribute(node, "Unk07", "value");
|
DecelVolume_PreSubmix = XmlRel.GetHash(Xml.GetChildInnerText(node, "DecelVolume_PreSubmix"));
|
||||||
Unk08 = Xml.GetChildIntAttribute(node, "Unk08", "value");
|
IdleVolume_PreSubmix = XmlRel.GetHash(Xml.GetChildInnerText(node, "IdleVolume_PreSubmix"));
|
||||||
Unk09 = Xml.GetChildIntAttribute(node, "Unk09", "value");
|
EngineRevsVolume_PreSubmix = XmlRel.GetHash(Xml.GetChildInnerText(node, "EngineRevsVolume_PreSubmix"));
|
||||||
Unk10 = Xml.GetChildIntAttribute(node, "Unk10", "value");
|
ExhaustRevsVolume_PreSubmix = XmlRel.GetHash(Xml.GetChildInnerText(node, "ExhaustRevsVolume_PreSubmix"));
|
||||||
Unk11 = Xml.GetChildIntAttribute(node, "Unk11", "value");
|
EngineThrottleVolume_PreSubmix = XmlRel.GetHash(Xml.GetChildInnerText(node, "EngineThrottleVolume_PreSubmix"));
|
||||||
Unk12 = Xml.GetChildIntAttribute(node, "Unk12", "value");
|
ExhaustThrottleVolume_PreSubmix = XmlRel.GetHash(Xml.GetChildInnerText(node, "ExhaustThrottleVolume_PreSubmix"));
|
||||||
EngineVolume = Xml.GetChildIntAttribute(node, "EngineVolume", "value");
|
EngineVolume_PostSubmix = XmlRel.GetHash(Xml.GetChildInnerText(node, "EngineVolume_PostSubmix"));
|
||||||
ExhaustVolume = Xml.GetChildIntAttribute(node, "ExhaustVolume", "value");
|
ExhaustVolume_PostSubmix = XmlRel.GetHash(Xml.GetChildInnerText(node, "ExhaustVolume_PostSubmix"));
|
||||||
EngineIdleVolume = Xml.GetChildIntAttribute(node, "EngineIdleVolume", "value");
|
EngineMaxConeAttenuation = Xml.GetChildIntAttribute(node, "EngineMaxConeAttenuation", "value");
|
||||||
ExhaustIdleVolume = Xml.GetChildIntAttribute(node, "ExhaustIdleVolume", "value");
|
ExhaustMaxConeAttenuation = Xml.GetChildIntAttribute(node, "ExhaustMaxConeAttenuation", "value");
|
||||||
Unk17 = Xml.GetChildIntAttribute(node, "Unk17", "value");
|
EngineRevsVolume_PostSubmix = XmlRel.GetHash(Xml.GetChildInnerText(node, "EngineRevsVolume_PostSubmix"));
|
||||||
Unk18 = Xml.GetChildIntAttribute(node, "Unk18", "value");
|
ExhaustRevsVolume_PostSubmix = XmlRel.GetHash(Xml.GetChildInnerText(node, "ExhaustRevsVolume_PostSubmix"));
|
||||||
EngineAccelVolume = Xml.GetChildIntAttribute(node, "EngineAccelVolume", "value");
|
EngineThrottleVolume_PostSubmix = XmlRel.GetHash(Xml.GetChildInnerText(node, "EngineThrottleVolume_PostSubmix"));
|
||||||
ExhaustAccelVolume = Xml.GetChildIntAttribute(node, "ExhaustAccelVolume", "value");
|
ExhaustThrottleVolume_PostSubmix = XmlRel.GetHash(Xml.GetChildInnerText(node, "ExhaustThrottleVolume_PostSubmix"));
|
||||||
Unk21 = Xml.GetChildIntAttribute(node, "Unk21", "value");
|
GearChangeWobbleLength = Xml.GetChildUIntAttribute(node, "GearChangeWobbleLength", "value");
|
||||||
Unk22 = Xml.GetChildFloatAttribute(node, "Unk22", "value");
|
GearChangeWobbleLengthVariance = Xml.GetChildFloatAttribute(node, "GearChangeWobbleLengthVariance", "value");
|
||||||
Unk23 = Xml.GetChildFloatAttribute(node, "Unk23", "value");
|
GearChangeWobbleSpeed = Xml.GetChildFloatAttribute(node, "GearChangeWobbleSpeed", "value");
|
||||||
Unk24 = Xml.GetChildFloatAttribute(node, "Unk24", "value");
|
GearChangeWobbleSpeedVariance = Xml.GetChildFloatAttribute(node, "GearChangeWobbleSpeedVariance", "value");
|
||||||
Unk25 = Xml.GetChildFloatAttribute(node, "Unk25", "value");
|
GearChangeWobblePitch = Xml.GetChildFloatAttribute(node, "GearChangeWobblePitch", "value");
|
||||||
Unk26 = Xml.GetChildFloatAttribute(node, "Unk26", "value");
|
GearChangeWobblePitchVariance = Xml.GetChildFloatAttribute(node, "GearChangeWobblePitchVariance", "value");
|
||||||
Unk27 = Xml.GetChildFloatAttribute(node, "Unk27", "value");
|
GearChangeWobbleVolume = Xml.GetChildFloatAttribute(node, "GearChangeWobbleVolume", "value");
|
||||||
Unk28 = Xml.GetChildFloatAttribute(node, "Unk28", "value");
|
GearChangeWobbleVolumeVariance = Xml.GetChildFloatAttribute(node, "GearChangeWobbleVolumeVariance", "value");
|
||||||
Unk29 = Xml.GetChildIntAttribute(node, "Unk29", "value");
|
EngineClutchAttenuation_PostSubmix = XmlRel.GetHash(Xml.GetChildInnerText(node, "EngineClutchAttenuation_PostSubmix"));
|
||||||
Unk30 = Xml.GetChildIntAttribute(node, "Unk30", "value");
|
ExhaustClutchAttenuation_PostSubmix = XmlRel.GetHash(Xml.GetChildInnerText(node, "ExhaustClutchAttenuation_PostSubmix"));
|
||||||
EngineSubmix = XmlRel.GetHash(Xml.GetChildInnerText(node, "EngineSubmix"));
|
EngineSynthDef = Xml.GetChildUIntAttribute(node, "EngineSynthDef", "value");
|
||||||
EngineSubmixPreset = XmlRel.GetHash(Xml.GetChildInnerText(node, "EngineSubmixPreset"));
|
EngineSynthPreset = Xml.GetChildUIntAttribute(node, "EngineSynthPreset", "value");
|
||||||
ExhaustSubmix = XmlRel.GetHash(Xml.GetChildInnerText(node, "ExhaustSubmix"));
|
ExhaustSynthDef = Xml.GetChildUIntAttribute(node, "ExhaustSynthDef", "value");
|
||||||
ExhaustSubmixPreset = XmlRel.GetHash(Xml.GetChildInnerText(node, "ExhaustSubmixPreset"));
|
ExhaustSynthPreset = Xml.GetChildUIntAttribute(node, "ExhaustSynthPreset", "value");
|
||||||
EngineAccelNPC = XmlRel.GetHash(Xml.GetChildInnerText(node, "EngineAccelNPC"));
|
NPCEngineAccel = Xml.GetChildUIntAttribute(node, "NPCEngineAccel", "value");
|
||||||
ExhaustAccelNPC = XmlRel.GetHash(Xml.GetChildInnerText(node, "ExhaustAccelNPC"));
|
NPCExhaustAccel = Xml.GetChildUIntAttribute(node, "NPCExhaustAccel", "value");
|
||||||
LimiterPops = XmlRel.GetHash(Xml.GetChildInnerText(node, "LimiterPops"));
|
RevLimiterPopSound = XmlRel.GetHash(Xml.GetChildInnerText(node, "LimiterPops"));
|
||||||
Unk38 = Xml.GetChildIntAttribute(node, "Unk38", "value");
|
MinRPMOverride = Xml.GetChildUIntAttribute(node, "MinRPMOverride", "value");
|
||||||
Unk39 = Xml.GetChildIntAttribute(node, "Unk39", "value");
|
MaxRPMOverride = Xml.GetChildUIntAttribute(node, "MaxRPMOverride", "value");
|
||||||
Unk40 = XmlRel.GetHash(Xml.GetChildInnerText(node, "Unk40"));
|
EngineSubmixVoice = XmlRel.GetHash(Xml.GetChildInnerText(node, "EngineSubmixVoice"));
|
||||||
Unk41 = XmlRel.GetHash(Xml.GetChildInnerText(node, "Unk41"));
|
ExhaustSubmixVoice = XmlRel.GetHash(Xml.GetChildInnerText(node, "ExhaustSubmixVoice"));
|
||||||
Unk42 = Xml.GetChildIntAttribute(node, "Unk42", "value");
|
ExhaustProximityVolume_PostSubmix = XmlRel.GetHash(Xml.GetChildInnerText(node, "ExhaustProximityVolume_PostSubmix"));
|
||||||
Unk43 = Xml.GetChildIntAttribute(node, "Unk43", "value");
|
RevLimiterGrainsToPlay = Xml.GetChildUIntAttribute(node, "RevLimiterGrainsToPlay", "value");
|
||||||
Unk44 = Xml.GetChildIntAttribute(node, "Unk44", "value");
|
RevLimiterGrainsToSkip = Xml.GetChildUIntAttribute(node, "RevLimiterGrainsToSkip", "value");
|
||||||
IdleSub = XmlRel.GetHash(Xml.GetChildInnerText(node, "IdleSub"));
|
SynchronisedSynth = Xml.GetChildUIntAttribute(node, "SynchronisedSynth", "value");
|
||||||
Unk46 = Xml.GetChildIntAttribute(node, "Unk46", "value");
|
UpgradedEngineVolumeBoost_PostSubmix = XmlRel.GetHash(Xml.GetChildInnerText(node, "UpgradedEngineVolumeBoost_PostSubmix"));
|
||||||
Unk47 = Xml.GetChildIntAttribute(node, "Unk47", "value");
|
UpgradedEngineSynthDef = Xml.GetChildUIntAttribute(node, "UpgradedEngineSynthDef", "value");
|
||||||
Unk48 = Xml.GetChildIntAttribute(node, "Unk48", "value");
|
UpgradedEngineSynthPreset = Xml.GetChildUIntAttribute(node, "UpgradedEngineSynthPreset", "value");
|
||||||
Unk49 = Xml.GetChildIntAttribute(node, "Unk49", "value");
|
UpgradedExhaustVolumeBoost_PostSubmix = XmlRel.GetHash(Xml.GetChildInnerText(node, "UpgradedExhaustVolumeBoost_PostSubmix"));
|
||||||
Unk50 = XmlRel.GetHash(Xml.GetChildInnerText(node, "Unk50"));
|
UpgradedExhaustSynthDef = Xml.GetChildUIntAttribute(node, "UpgradedExhaustSynthDef", "value");
|
||||||
Unk51 = XmlRel.GetHash(Xml.GetChildInnerText(node, "Unk51"));
|
UpgradedExhaustSynthPreset = Xml.GetChildUIntAttribute(node, "UpgradedExhaustSynthPreset", "value"); ;
|
||||||
EngineDamage = XmlRel.GetHash(Xml.GetChildInnerText(node, "EngineDamage"));
|
DamageSynthHashList = Xml.GetChildUIntAttribute(node, "DamageSynthHashList", "value"); ;
|
||||||
LimiterPopsUpgraded = XmlRel.GetHash(Xml.GetChildInnerText(node, "LimiterPopsUpgraded"));
|
UpgradedRevLimiterPop = Xml.GetChildUIntAttribute(node, "UpgradedRevLimiterPop", "value"); ;
|
||||||
Unk54 = Xml.GetChildIntAttribute(node, "Unk54", "value");
|
EngineIdleVolume_PostSubmix = XmlRel.GetHash(Xml.GetChildInnerText(node, "EngineIdleVolume_PostSubmix"));
|
||||||
Unk55 = Xml.GetChildIntAttribute(node, "Unk55", "value");
|
ExhaustIdleVolume_PostSubmix = XmlRel.GetHash(Xml.GetChildInnerText(node, "ExhaustIdleVolume_PostSubmix"));
|
||||||
Unk56 = Xml.GetChildIntAttribute(node, "Unk56", "value");
|
StartupRevsVolumeBoostEngine_PostSubmix = XmlRel.GetHash(Xml.GetChildInnerText(node, "StartupRevsVolumeBoostEngine_PostSubmix"));
|
||||||
Unk57 = Xml.GetChildIntAttribute(node, "Unk57", "value");
|
StartupRevsVolumeBoostExhaust_PostSubmix = XmlRel.GetHash(Xml.GetChildInnerText(node, "StartupRevsVolumeBoostExhaust_PostSubmix"));
|
||||||
Unk58 = Xml.GetChildIntAttribute(node, "Unk58", "value");
|
RevLimiterApplyType = (byte)Xml.GetChildIntAttribute(node, "RevLimiterApplyType", "value");
|
||||||
Unk59 = Xml.GetChildFloatAttribute(node, "Unk59", "value");
|
RevLimiterVolumeCut = Xml.GetChildFloatAttribute(node, "RevLimiterVolumeCut", "value");
|
||||||
}
|
|
||||||
public override MetaHash[] GetSynthHashes()
|
|
||||||
{
|
|
||||||
return new[] { EngineSubmix, EngineSubmixPreset, ExhaustSubmix, ExhaustSubmixPreset, Unk50, Unk51 };
|
|
||||||
}
|
}
|
||||||
public override MetaHash[] GetSoundHashes()
|
public override MetaHash[] GetSoundHashes()
|
||||||
{
|
{
|
||||||
return new[] { EngineAccel, ExhaustAccel, EngineAccelNPC, ExhaustAccelNPC, LimiterPops, Unk40, Unk41, IdleSub, EngineDamage, LimiterPopsUpgraded };
|
return new[] {
|
||||||
|
EngineVolume_PostSubmix, ExhaustVolume_PostSubmix, EngineRevsVolume_PostSubmix, ExhaustRevsVolume_PostSubmix, EngineThrottleVolume_PostSubmix, ExhaustThrottleVolume_PostSubmix,
|
||||||
|
EngineClutchAttenuation_PostSubmix, ExhaustClutchAttenuation_PostSubmix, ExhaustProximityVolume_PostSubmix, EngineSubmixVoice, ExhaustSubmixVoice, UpgradedEngineVolumeBoost_PostSubmix,
|
||||||
|
UpgradedExhaustVolumeBoost_PostSubmix, EngineIdleVolume_PostSubmix, ExhaustIdleVolume_PostSubmix, StartupRevsVolumeBoostEngine_PostSubmix, StartupRevsVolumeBoostExhaust_PostSubmix,
|
||||||
|
EngineVolume_PreSubmix, ExhaustVolume_PreSubmix, AccelVolume_PreSubmix, DecelVolume_PreSubmix, IdleVolume_PreSubmix, EngineRevsVolume_PreSubmix, ExhaustRevsVolume_PreSubmix,
|
||||||
|
EngineThrottleVolume_PreSubmix, ExhaustThrottleVolume_PreSubmix
|
||||||
|
};
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
[TC(typeof(EXP))] public class Dat151Vehicle : Dat151RelData
|
[TC(typeof(EXP))] public class Dat151Vehicle : Dat151RelData
|
||||||
|
@ -75,22 +75,20 @@ namespace CodeWalker.Project.Panels
|
|||||||
var cr = CurrentRoom;
|
var cr = CurrentRoom;
|
||||||
|
|
||||||
NameTextBox.Text = cr.NameHash.ToString();
|
NameTextBox.Text = cr.NameHash.ToString();
|
||||||
MloRoomTextBox.Text = cr.MloRoom.ToString();
|
MloRoomTextBox.Text = cr.RoomName.ToString();
|
||||||
ZoneTextBox.Text = cr.Zone.ToString();
|
ZoneTextBox.Text = cr.AmbientZone.ToString();
|
||||||
Unk02TextBox.Text = cr.Unk02.ToString();
|
Unk03TextBox.Text = FloatUtil.ToString(cr.ReverbSmall);
|
||||||
Unk03TextBox.Text = FloatUtil.ToString(cr.Unk03);
|
ReverbTextBox.Text = FloatUtil.ToString(cr.ReverbMedium);
|
||||||
ReverbTextBox.Text = FloatUtil.ToString(cr.Reverb);
|
EchoTextBox.Text = FloatUtil.ToString(cr.ReverbLarge);
|
||||||
EchoTextBox.Text = FloatUtil.ToString(cr.Echo);
|
|
||||||
SoundTextBox.Text = cr.Sound.ToString();
|
SoundTextBox.Text = cr.Sound.ToString();
|
||||||
Unk07TextBox.Text = FloatUtil.ToString(cr.Unk07);
|
Unk08TextBox.Text = FloatUtil.ToString(cr.ExteriorAudibility);
|
||||||
Unk08TextBox.Text = FloatUtil.ToString(cr.Unk08);
|
Unk09TextBox.Text = FloatUtil.ToString(cr.RoomOcclusionDamping);
|
||||||
Unk09TextBox.Text = FloatUtil.ToString(cr.Unk09);
|
Unk10TextBox.Text = FloatUtil.ToString(cr.NonMarkedPortalOcclusion);
|
||||||
Unk10TextBox.Text = FloatUtil.ToString(cr.Unk10);
|
Unk11TextBox.Text = FloatUtil.ToString(cr.DistanceFromPortalForOcclusion);
|
||||||
Unk11TextBox.Text = FloatUtil.ToString(cr.Unk11);
|
Unk12TextBox.Text = FloatUtil.ToString(cr.DistanceFromPortalFadeDistance);
|
||||||
Unk12TextBox.Text = FloatUtil.ToString(cr.Unk12);
|
Unk13TextBox.Text = cr.WeaponMetrics.ToString();
|
||||||
Unk13TextBox.Text = cr.Unk13.ToString();
|
SoundSetTextBox.Text = cr.InteriorWallaSoundSet.ToString();
|
||||||
SoundSetTextBox.Text = cr.SoundSet.ToString();
|
Flags0TextBox.Text = cr.Flags.Hex;
|
||||||
Flags0TextBox.Text = cr.Flags0.Hex;
|
|
||||||
populatingui = false;
|
populatingui = false;
|
||||||
|
|
||||||
|
|
||||||
@ -144,9 +142,9 @@ namespace CodeWalker.Project.Panels
|
|||||||
}
|
}
|
||||||
//NameHashLabel.Text = "Hash: " + hash.ToString();
|
//NameHashLabel.Text = "Hash: " + hash.ToString();
|
||||||
|
|
||||||
if (CurrentRoom.MloRoom != hash)
|
if (CurrentRoom.RoomName != hash)
|
||||||
{
|
{
|
||||||
CurrentRoom.MloRoom = hash;
|
CurrentRoom.RoomName = hash;
|
||||||
|
|
||||||
ProjectItemChanged();
|
ProjectItemChanged();
|
||||||
}
|
}
|
||||||
@ -166,9 +164,9 @@ namespace CodeWalker.Project.Panels
|
|||||||
}
|
}
|
||||||
//NameHashLabel.Text = "Hash: " + hash.ToString();
|
//NameHashLabel.Text = "Hash: " + hash.ToString();
|
||||||
|
|
||||||
if (CurrentRoom.Zone != hash)
|
if (CurrentRoom.AmbientZone != hash)
|
||||||
{
|
{
|
||||||
CurrentRoom.Zone = hash;
|
CurrentRoom.AmbientZone = hash;
|
||||||
|
|
||||||
ProjectItemChanged();
|
ProjectItemChanged();
|
||||||
}
|
}
|
||||||
@ -179,16 +177,6 @@ namespace CodeWalker.Project.Panels
|
|||||||
if (populatingui) return;
|
if (populatingui) return;
|
||||||
if (CurrentRoom == null) return;
|
if (CurrentRoom == null) return;
|
||||||
|
|
||||||
uint val = 0;
|
|
||||||
if (uint.TryParse(Unk02TextBox.Text, out val))
|
|
||||||
{
|
|
||||||
if (CurrentRoom.Unk02 != val)
|
|
||||||
{
|
|
||||||
CurrentRoom.Unk02 = val;
|
|
||||||
|
|
||||||
ProjectItemChanged();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private void Unk03TextBox_TextChanged(object sender, EventArgs e)
|
private void Unk03TextBox_TextChanged(object sender, EventArgs e)
|
||||||
@ -199,9 +187,9 @@ namespace CodeWalker.Project.Panels
|
|||||||
float val = 0;
|
float val = 0;
|
||||||
if (FloatUtil.TryParse(Unk03TextBox.Text, out val))
|
if (FloatUtil.TryParse(Unk03TextBox.Text, out val))
|
||||||
{
|
{
|
||||||
if (CurrentRoom.Unk03 != val)
|
if (CurrentRoom.ReverbSmall != val)
|
||||||
{
|
{
|
||||||
CurrentRoom.Unk03 = val;
|
CurrentRoom.ReverbSmall = val;
|
||||||
|
|
||||||
ProjectItemChanged();
|
ProjectItemChanged();
|
||||||
}
|
}
|
||||||
@ -216,9 +204,9 @@ namespace CodeWalker.Project.Panels
|
|||||||
float val = 0;
|
float val = 0;
|
||||||
if (FloatUtil.TryParse(ReverbTextBox.Text, out val))
|
if (FloatUtil.TryParse(ReverbTextBox.Text, out val))
|
||||||
{
|
{
|
||||||
if (CurrentRoom.Reverb != val)
|
if (CurrentRoom.ReverbMedium != val)
|
||||||
{
|
{
|
||||||
CurrentRoom.Reverb = val;
|
CurrentRoom.ReverbMedium = val;
|
||||||
|
|
||||||
ProjectItemChanged();
|
ProjectItemChanged();
|
||||||
}
|
}
|
||||||
@ -233,9 +221,9 @@ namespace CodeWalker.Project.Panels
|
|||||||
float val = 0;
|
float val = 0;
|
||||||
if (FloatUtil.TryParse(EchoTextBox.Text, out val))
|
if (FloatUtil.TryParse(EchoTextBox.Text, out val))
|
||||||
{
|
{
|
||||||
if (CurrentRoom.Echo != val)
|
if (CurrentRoom.ReverbLarge != val)
|
||||||
{
|
{
|
||||||
CurrentRoom.Echo = val;
|
CurrentRoom.ReverbLarge = val;
|
||||||
|
|
||||||
ProjectItemChanged();
|
ProjectItemChanged();
|
||||||
}
|
}
|
||||||
@ -269,16 +257,6 @@ namespace CodeWalker.Project.Panels
|
|||||||
if (populatingui) return;
|
if (populatingui) return;
|
||||||
if (CurrentRoom == null) return;
|
if (CurrentRoom == null) return;
|
||||||
|
|
||||||
float val = 0;
|
|
||||||
if (FloatUtil.TryParse(Unk07TextBox.Text, out val))
|
|
||||||
{
|
|
||||||
if (CurrentRoom.Unk07 != val)
|
|
||||||
{
|
|
||||||
CurrentRoom.Unk07 = val;
|
|
||||||
|
|
||||||
ProjectItemChanged();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private void Unk08TextBox_TextChanged(object sender, EventArgs e)
|
private void Unk08TextBox_TextChanged(object sender, EventArgs e)
|
||||||
@ -289,9 +267,9 @@ namespace CodeWalker.Project.Panels
|
|||||||
float val = 0;
|
float val = 0;
|
||||||
if (FloatUtil.TryParse(Unk08TextBox.Text, out val))
|
if (FloatUtil.TryParse(Unk08TextBox.Text, out val))
|
||||||
{
|
{
|
||||||
if (CurrentRoom.Unk08 != val)
|
if (CurrentRoom.ExteriorAudibility != val)
|
||||||
{
|
{
|
||||||
CurrentRoom.Unk08 = val;
|
CurrentRoom.ExteriorAudibility = val;
|
||||||
|
|
||||||
ProjectItemChanged();
|
ProjectItemChanged();
|
||||||
}
|
}
|
||||||
@ -306,9 +284,9 @@ namespace CodeWalker.Project.Panels
|
|||||||
float val = 0;
|
float val = 0;
|
||||||
if (FloatUtil.TryParse(Unk09TextBox.Text, out val))
|
if (FloatUtil.TryParse(Unk09TextBox.Text, out val))
|
||||||
{
|
{
|
||||||
if (CurrentRoom.Unk09 != val)
|
if (CurrentRoom.RoomOcclusionDamping != val)
|
||||||
{
|
{
|
||||||
CurrentRoom.Unk09 = val;
|
CurrentRoom.RoomOcclusionDamping = val;
|
||||||
|
|
||||||
ProjectItemChanged();
|
ProjectItemChanged();
|
||||||
}
|
}
|
||||||
@ -323,9 +301,9 @@ namespace CodeWalker.Project.Panels
|
|||||||
float val = 0;
|
float val = 0;
|
||||||
if (FloatUtil.TryParse(Unk10TextBox.Text, out val))
|
if (FloatUtil.TryParse(Unk10TextBox.Text, out val))
|
||||||
{
|
{
|
||||||
if (CurrentRoom.Unk10 != val)
|
if (CurrentRoom.NonMarkedPortalOcclusion != val)
|
||||||
{
|
{
|
||||||
CurrentRoom.Unk10 = val;
|
CurrentRoom.NonMarkedPortalOcclusion = val;
|
||||||
|
|
||||||
ProjectItemChanged();
|
ProjectItemChanged();
|
||||||
}
|
}
|
||||||
@ -340,9 +318,9 @@ namespace CodeWalker.Project.Panels
|
|||||||
float val = 0;
|
float val = 0;
|
||||||
if (FloatUtil.TryParse(Unk11TextBox.Text, out val))
|
if (FloatUtil.TryParse(Unk11TextBox.Text, out val))
|
||||||
{
|
{
|
||||||
if (CurrentRoom.Unk11 != val)
|
if (CurrentRoom.DistanceFromPortalForOcclusion != val)
|
||||||
{
|
{
|
||||||
CurrentRoom.Unk11 = val;
|
CurrentRoom.DistanceFromPortalForOcclusion = val;
|
||||||
|
|
||||||
ProjectItemChanged();
|
ProjectItemChanged();
|
||||||
}
|
}
|
||||||
@ -357,9 +335,9 @@ namespace CodeWalker.Project.Panels
|
|||||||
float val = 0;
|
float val = 0;
|
||||||
if (FloatUtil.TryParse(Unk12TextBox.Text, out val))
|
if (FloatUtil.TryParse(Unk12TextBox.Text, out val))
|
||||||
{
|
{
|
||||||
if (CurrentRoom.Unk12 != val)
|
if (CurrentRoom.DistanceFromPortalFadeDistance != val)
|
||||||
{
|
{
|
||||||
CurrentRoom.Unk12 = val;
|
CurrentRoom.DistanceFromPortalFadeDistance = val;
|
||||||
|
|
||||||
ProjectItemChanged();
|
ProjectItemChanged();
|
||||||
}
|
}
|
||||||
@ -380,9 +358,9 @@ namespace CodeWalker.Project.Panels
|
|||||||
}
|
}
|
||||||
//NameHashLabel.Text = "Hash: " + hash.ToString();
|
//NameHashLabel.Text = "Hash: " + hash.ToString();
|
||||||
|
|
||||||
if (CurrentRoom.Unk13 != hash)
|
if (CurrentRoom.WeaponMetrics != hash)
|
||||||
{
|
{
|
||||||
CurrentRoom.Unk13 = hash;
|
CurrentRoom.WeaponMetrics = hash;
|
||||||
|
|
||||||
ProjectItemChanged();
|
ProjectItemChanged();
|
||||||
}
|
}
|
||||||
@ -402,9 +380,9 @@ namespace CodeWalker.Project.Panels
|
|||||||
}
|
}
|
||||||
//NameHashLabel.Text = "Hash: " + hash.ToString();
|
//NameHashLabel.Text = "Hash: " + hash.ToString();
|
||||||
|
|
||||||
if (CurrentRoom.SoundSet != hash)
|
if (CurrentRoom.InteriorWallaSoundSet != hash)
|
||||||
{
|
{
|
||||||
CurrentRoom.SoundSet = hash;
|
CurrentRoom.InteriorWallaSoundSet = hash;
|
||||||
|
|
||||||
ProjectItemChanged();
|
ProjectItemChanged();
|
||||||
}
|
}
|
||||||
@ -418,9 +396,9 @@ namespace CodeWalker.Project.Panels
|
|||||||
uint flags = 0;
|
uint flags = 0;
|
||||||
if (uint.TryParse(Flags0TextBox.Text, NumberStyles.HexNumber, CultureInfo.InvariantCulture, out flags))
|
if (uint.TryParse(Flags0TextBox.Text, NumberStyles.HexNumber, CultureInfo.InvariantCulture, out flags))
|
||||||
{
|
{
|
||||||
if (CurrentRoom.Flags0 != flags)
|
if (CurrentRoom.Flags != flags)
|
||||||
{
|
{
|
||||||
CurrentRoom.Flags0 = flags;
|
CurrentRoom.Flags = flags;
|
||||||
|
|
||||||
ProjectItemChanged();
|
ProjectItemChanged();
|
||||||
}
|
}
|
||||||
|
@ -193,32 +193,21 @@
|
|||||||
"8 - LOD in parent ymap",
|
"8 - LOD in parent ymap",
|
||||||
"16 - LOD Adopt Me",
|
"16 - LOD Adopt Me",
|
||||||
"32 - Static entity",
|
"32 - Static entity",
|
||||||
"64 - Object isn\'t dark at night",
|
"64 - Is Interior LOD",
|
||||||
"128 - Unk08",
|
"128 - LOD Use Alt Fade",
|
||||||
"256 - Unk09",
|
"256 - Unused",
|
||||||
"512 - Ignore Day Night Light Settings",
|
"512 - Does Not Touch Water",
|
||||||
"1024 - Unk11",
|
"1024 - Does Not Spawn Peds",
|
||||||
"2048 - Unk12",
|
"2048 - Cast Static Shadows",
|
||||||
"4096 - Unk13",
|
"4096 - Cast Dynamic Shadows",
|
||||||
"8192 - Unk14",
|
"8192 - Dont Render In Shadows",
|
||||||
"16384 - Unk15",
|
"16384 - Only Render In Shadows",
|
||||||
"32768 - Unk16",
|
"32768 - Dont Render Reflections",
|
||||||
"65536 - Unk17",
|
"65536 - Only Render Reflections",
|
||||||
"131072 - Unk18",
|
"131072 - Dont Render Water Reflections",
|
||||||
"262144 - Dont Spawn Peds",
|
"262144 - Only Render Water Reflections",
|
||||||
"524288 - Unk20",
|
"524288 - Dont Render Mirror Reflections",
|
||||||
"1048576 - Unk21",
|
"1048576 - Only Render Mirror Reflections"});
|
||||||
"2097152 - Unk22",
|
|
||||||
"4194304 - Dont Render Shadows",
|
|
||||||
"8388608 - Only Render Shadows",
|
|
||||||
"16777216 - Dont Render Reflections",
|
|
||||||
"33554432 - Only Render Reflections",
|
|
||||||
"67108864 - Dont Render Water Reflections",
|
|
||||||
"134217728 - Only Render Water Reflections",
|
|
||||||
"268435456 - Dont Render Mirror Reflections",
|
|
||||||
"536870912 - Only Render Mirror Reflections",
|
|
||||||
"1073741824 - Unk31",
|
|
||||||
"2147483648 - Unk32"});
|
|
||||||
this.EntityFlagsCheckedListBox.Location = new System.Drawing.Point(348, 113);
|
this.EntityFlagsCheckedListBox.Location = new System.Drawing.Point(348, 113);
|
||||||
this.EntityFlagsCheckedListBox.Name = "EntityFlagsCheckedListBox";
|
this.EntityFlagsCheckedListBox.Name = "EntityFlagsCheckedListBox";
|
||||||
this.EntityFlagsCheckedListBox.Size = new System.Drawing.Size(201, 349);
|
this.EntityFlagsCheckedListBox.Size = new System.Drawing.Size(201, 349);
|
||||||
|
@ -6865,9 +6865,9 @@ namespace CodeWalker.Project
|
|||||||
room.Name = "room1";
|
room.Name = "room1";
|
||||||
room.NameHash = JenkHash.GenHash(room.Name);
|
room.NameHash = JenkHash.GenHash(room.Name);
|
||||||
|
|
||||||
room.Flags0 = 0xAAAAAAAA;
|
room.Flags = 0xAAAAAAAA;
|
||||||
room.Sound = (uint)MetaName.null_sound;
|
room.Sound = (uint)MetaName.null_sound;
|
||||||
room.SoundSet = 3565506855;//?
|
room.InteriorWallaSoundSet = 3565506855;//?
|
||||||
|
|
||||||
|
|
||||||
CurrentAudioFile.AddRelData(room);
|
CurrentAudioFile.AddRelData(room);
|
||||||
|
Loading…
Reference in New Issue
Block a user