public override void LoadTrack() { Keys.ClearEx(); var lookupstruct = Export.GetProperty <StructProperty>("LookupTrack"); if (lookupstruct != null) { var trackKeys = lookupstruct.GetProp <ArrayProperty <StructProperty> >("Points"); //on lookuptrack var posTrack = Export.GetProperty <StructProperty>("PosTrack"); ArrayProperty <StructProperty> points = posTrack?.GetProp <ArrayProperty <StructProperty> >("Points"); if (trackKeys != null) { int keyindex = 0; foreach (var trackKey in trackKeys) { string tooltip = null; if (points != null && points.Count > keyindex) { StructProperty vector = points[keyindex].GetProp <StructProperty>("OutVal"); var point = SharedPathfinding.GetLocationFromVector(vector); tooltip = $"X={point.X},Y={point.Y},Z={point.Z}"; } var time = trackKey.GetProp <FloatProperty>("Time"); Debug.WriteLine(time.Value); Keys.Add(new Key(time, tooltip)); keyindex++; } } } }
public override void LoadTrack() { Keys.ClearEx(); var vectorTrackProp = Export.GetProperty <StructProperty>("VectorTrack"); var sounds = Export.GetProperty <ArrayProperty <StructProperty> >("Sounds"); if (vectorTrackProp != null) { int keyindex = 0; var points = vectorTrackProp.GetPropOrDefault <ArrayProperty <StructProperty> >("Points"); foreach (var curvePoint in points) { int? soundUIndex = sounds?.Count > keyindex ? sounds?[keyindex].GetProp <ObjectProperty>("Sound")?.Value : null; string tooltip = null; if (soundUIndex.HasValue && Export.FileRef.TryGetEntry(soundUIndex.Value, out var entry)) { tooltip += "Sound: " + entry.FullPath; tooltip += "\nVolume: " + sounds?[keyindex].GetProp <FloatProperty>("Volume")?.Value; tooltip += "\nPitch: " + sounds?[keyindex].GetProp <FloatProperty>("Pitch")?.Value; tooltip += "\nLength: " + sounds?[keyindex].GetProp <FloatProperty>("Time")?.Value; } Keys.Add(new Key(curvePoint.GetProp <FloatProperty>("InVal"), tooltip)); keyindex++; } } }
public override void LoadTrack() { Keys.ClearEx(); var trackKeys = Export.GetProperty <ArrayProperty <StructProperty> >("m_aTrackKeys"); if (trackKeys != null) { foreach (var trackKey in trackKeys) { Keys.Add(new Key(trackKey.GetProp <FloatProperty>("fTime"))); } } }
public override void LoadTrack() { Keys.ClearEx(); var trackKeys = Export.GetProperty <ArrayProperty <StructProperty> >("CutTrack"); if (trackKeys != null) { foreach (var trackKey in trackKeys) { Keys.Add(new Key(trackKey.GetProp <FloatProperty>("Time"), trackKey.GetProp <NameProperty>("TargetCamGroup").Value.Name)); } } }
public override void LoadTrack() { Keys.ClearEx(); var trackKeys = Export.GetProperty <ArrayProperty <StructProperty> >("FaceFXSeqs"); if (trackKeys != null) { foreach (StructProperty trackKey in trackKeys) { Keys.Add(new Key(trackKey.GetProp <FloatProperty>("StartTime"), trackKey.GetProp <StrProperty>("FaceFXSeqName")?.Value)); } } }
public override void LoadTrack() { Keys.ClearEx(); var floatTrackProp = Export.GetProperty <StructProperty>("FloatTrack"); if (floatTrackProp != null) { foreach (var curvePoint in floatTrackProp.GetPropOrDefault <ArrayProperty <StructProperty> >("Points")) { Keys.Add(new Key(curvePoint.GetProp <FloatProperty>("InVal"), curvePoint.GetProp <FloatProperty>("OutVal").Value.ToString())); } } }
public override void LoadTrack() { Keys.ClearEx(); var vectorTrackProp = Export.GetProperty <StructProperty>("VectorTrack"); if (vectorTrackProp != null) { foreach (var curvePoint in vectorTrackProp.GetPropOrDefault <ArrayProperty <StructProperty> >("Points")) { var outval = SharedPathfinding.GetLocationFromVector(curvePoint.GetProp <StructProperty>("OutVal")); //gets X Y Z Keys.Add(new Key(curvePoint.GetProp <FloatProperty>("InVal"), $"X={outval.X},Y={outval.Y},Z={outval.Z}")); } } }
public override void LoadTrack() { Keys.ClearEx(); var trackKeys = Export.GetProperty <ArrayProperty <StructProperty> >("m_aTrackKeys"); var subtitleData = Export.GetProperty <ArrayProperty <StructProperty> >("m_aSubtitleData"); if (trackKeys != null) { int keyindex = 0; foreach (var trackKey in trackKeys) { int strRef = subtitleData?[keyindex]?.GetProp <IntProperty>("nStrRefID"); Keys.Add(new Key(trackKey.GetProp <FloatProperty>("fTime"), ME1TalkFiles.findDataById(strRef, Export.FileRef))); } } }