protected void LoadData()
{
m_nmSFXFindActor = -1;
List<PropertyReader.Property> props = PropertyReader.getPropList(pcc.Exports[index]);
List<int> tracks = new List<int>();
foreach (PropertyReader.Property p in props)
{
if (pcc.getNameEntry(p.Name) == "m_nmSFXFindActor")
m_nmSFXFindActor = p.Value.IntValue;
else if (pcc.getNameEntry(p.Name) == "GroupName")
GroupName = pcc.getNameEntry(p.Value.IntValue);
else if (pcc.getNameEntry(p.Name) == "GroupColor")
GroupColor = BitConverter.ToInt32(p.raw, 32);
else if (pcc.getNameEntry(p.Name) == "BioForcedLodModel")
BioForcedLodModel = p.Value.IntValue;
else if (pcc.getNameEntry(p.Name) == "bCollapsed")
bCollapsed = p.Value.IntValue != 0;
else if (pcc.getNameEntry(p.Name) == "bIsParented")
bIsParented = p.Value.IntValue != 0;
else if (pcc.getNameEntry(p.Name) == "m_eSFXFindActorMode")
{
m_eSFXFindActorMode.set(p.raw);
}
else if (pcc.getNameEntry(p.Name) == "InterpTracks")
{
for (int i = 0; i < p.Value.Array.Count; i += 4)
tracks.Add(BitConverter.ToInt32(new byte[] { (byte)p.Value.Array[i].IntValue, (byte)p.Value.Array[i + 1].IntValue, (byte)p.Value.Array[i + 2].IntValue, (byte)p.Value.Array[i + 3].IntValue }, 0) - 1);
}
else if (pcc.getNameEntry(p.Name) == "GroupAnimSets")
{
GroupAnimSets = new List<int>();
for (int i = 0; i < p.Value.Array.Count; i += 4)
GroupAnimSets.Add(BitConverter.ToInt32(new byte[] { (byte)p.Value.Array[i].IntValue, (byte)p.Value.Array[i + 1].IntValue, (byte)p.Value.Array[i + 2].IntValue, (byte)p.Value.Array[i + 3].IntValue }, 0) - 1);
}
}
foreach (int i in tracks)
{
switch (pcc.Exports[i].ClassName)
{
case "BioInterpTrackMove":
addTrack(new BioInterpTrackMove(i, pcc));
break;
case "BioScalarParameterTrack":
addTrack(new BioScalarParameterTrack(i, pcc));
break;
case "BioEvtSysTrackInterrupt":
addTrack(new BioEvtSysTrackInterrupt(i, pcc));
break;
case "BioEvtSysTrackSubtitles":
addTrack(new BioEvtSysTrackSubtitles(i, pcc));
break;
case "BioEvtSysTrackSwitchCamera":
addTrack(new BioEvtSysTrackSwitchCamera(i, pcc));
break;
case "BioEvtSysTrackVOElements":
addTrack(new BioEvtSysTrackVOElements(i, pcc));
break;
case "BioInterpTrackRotationMode":
addTrack(new BioInterpTrackRotationMode(i, pcc));
break;
case "BioEvtSysTrackGesture":
addTrack(new BioEvtSysTrackGesture(i, pcc));
break;
case "BioEvtSysTrackLighting":
addTrack(new BioEvtSysTrackLighting(i, pcc));
break;
case "BioEvtSysTrackLookAt":
addTrack(new BioEvtSysTrackLookAt(i, pcc));
break;
case "BioEvtSysTrackProp":
addTrack(new BioEvtSysTrackProp(i, pcc));
break;
case "BioEvtSysTrackSetFacing":
addTrack(new BioEvtSysTrackSetFacing(i, pcc));
break;
case "SFXGameInterpTrackProcFoley":
addTrack(new SFXGameInterpTrackProcFoley(i, pcc));
break;
case "SFXInterpTrackPlayFaceOnlyVO":
addTrack(new SFXInterpTrackPlayFaceOnlyVO(i, pcc));
break;
case "SFXInterpTrackAttachCrustEffect":
addTrack(new SFXInterpTrackAttachCrustEffect(i, pcc));
break;
case "SFXInterpTrackAttachToActor":
addTrack(new SFXInterpTrackAttachToActor(i, pcc));
break;
case "SFXInterpTrackAttachVFXToObject":
addTrack(new SFXInterpTrackAttachVFXToObject(i, pcc));
break;
case "SFXInterpTrackBlackScreen":
addTrack(new SFXInterpTrackBlackScreen(i, pcc));
break;
case "SFXInterpTrackDestroy":
addTrack(new SFXInterpTrackDestroy(i, pcc));
break;
case "SFXInterpTrackForceLightEnvUpdate":
addTrack(new SFXInterpTrackForceLightEnvUpdate(i, pcc));
break;
case "SFXInterpTrackLightEnvQuality":
addTrack(new SFXInterpTrackLightEnvQuality(i, pcc));
break;
case "SFXInterpTrackMovieBink":
addTrack(new SFXInterpTrackMovieBink(i, pcc));
break;
case "SFXInterpTrackMovieTexture":
addTrack(new SFXInterpTrackMovieTexture(i, pcc));
break;
case "SFXInterpTrackSetPlayerNearClipPlane":
addTrack(new SFXInterpTrackSetPlayerNearClipPlane(i, pcc));
break;
case "SFXInterpTrackSetWeaponInstant":
addTrack(new SFXInterpTrackSetWeaponInstant(i, pcc));
break;
case "SFXInterpTrackToggleAffectedByHitEffects":
addTrack(new SFXInterpTrackToggleAffectedByHitEffects(i, pcc));
break;
case "SFXInterpTrackToggleHidden":
addTrack(new SFXInterpTrackToggleHidden(i, pcc));
break;
case "SFXInterpTrackToggleLightEnvironment":
addTrack(new SFXInterpTrackToggleLightEnvironment(i, pcc));
break;
case "SFXGameInterpTrackWwiseMicLock":
addTrack(new SFXGameInterpTrackWwiseMicLock(i, pcc));
break;
case "InterpTrackEvent":
addTrack(new InterpTrackEvent(i, pcc));
break;
case "InterpTrackFaceFX":
addTrack(new InterpTrackFaceFX(i, pcc));
break;
case "InterpTrackAnimControl":
addTrack(new InterpTrackAnimControl(i, pcc));
break;
case "InterpTrackMove":
addTrack(new InterpTrackMove(i, pcc));
break;
case "InterpTrackVisibility":
addTrack(new InterpTrackVisibility(i, pcc));
break;
case "InterpTrackToggle":
addTrack(new InterpTrackToggle(i, pcc));
break;
case "InterpTrackWwiseEvent":
addTrack(new InterpTrackWwiseEvent(i, pcc));
break;
case "InterpTrackWwiseSoundEffect":
addTrack(new InterpTrackWwiseSoundEffect(i, pcc));
break;
case "InterpTrackWwiseRTPC":
addTrack(new InterpTrackWwiseRTPC(i, pcc));
break;
case "InterpTrackVectorProp":
addTrack(new InterpTrackVectorProp(i, pcc));
break;
case "InterpTrackVectorMaterialParam":
addTrack(new InterpTrackVectorMaterialParam(i, pcc));
break;
case "InterpTrackColorProp":
addTrack(new InterpTrackColorProp(i, pcc));
break;
case "InterpTrackFloatProp":
addTrack(new InterpTrackFloatProp(i, pcc));
break;
case "InterpTrackFloatMaterialParam":
addTrack(new InterpTrackFloatMaterialParam(i, pcc));
break;
case "InterpTrackFloatParticleParam":
addTrack(new InterpTrackFloatParticleParam(i, pcc));
break;
case "SFXInterpTrackClientEffect":
addTrack(new SFXInterpTrackClientEffect(i, pcc));
break;
case "InterpTrackSound":
addTrack(new InterpTrackSound(i, pcc));
break;
//Director only ?
case "BioEvtSysTrackDOF":
addTrack(new BioEvtSysTrackDOF(i, pcc));
break;
case "InterpTrackDirector":
addTrack(new InterpTrackDirector(i, pcc));
break;
case "InterpTrackFade":
addTrack(new InterpTrackFade(i, pcc));
break;
case "InterpTrackColorScale":
addTrack(new InterpTrackColorScale(i, pcc));
break;
default:
MessageBox.Show(pcc.Exports[i].ClassName + " is not recognized.\nPlease make a bug report here: https://github.com/ME3Explorer/ME3Explorer/issues \nwith this information: #" + i + " " + pcc.FileName.Substring(pcc.FileName.LastIndexOf(@"\")));
break;
}
}
}