Fix most* of the NPC patrol paths

Requires more testing on other GFD we need, but this will resolve a majority of them.
This commit is contained in:
GMatrixGames 2021-06-22 12:56:15 -04:00 committed by GitHub
parent 79cb09df77
commit e32136d5b2
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -1,4 +1,4 @@
using System;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
@ -412,13 +412,26 @@ namespace FModel.ViewModels
var patrolsPathBitmap = new SKBitmap(_widthHeight, _widthHeight, SKColorType.Rgba8888, SKAlphaType.Premul);
using var c = new SKCanvas(patrolsPathBitmap);
if (!Utils.TryLoadObject("FortniteGame/Plugins/GameFeatures/NPCLibrary/Content/GameFeatureData.GameFeatureData", out UObject gameFeatureData) ||
!gameFeatureData.TryGetValue(out FPackageIndex levelOverlayConfig, "LevelOverlayConfig") ||
!Utils.TryGetPackageIndexExport(levelOverlayConfig, out UObject npcLibrary) ||
!npcLibrary.TryGetValue(out FStructFallback[] overlayList, "OverlayList"))
return;
var gameFeatureDatas = new List<string>
{
"FortniteGame/Plugins/GameFeatures/NPCLibrary/Content/GameFeatureData.GameFeatureData",
"FortniteGame/Plugins/GameFeatures/BattlepassS17/Content/GameFeatureData.GameFeatureData"
};
foreach (var overlay in overlayList)
var overlays = new List<FStructFallback>();
foreach (var path in gameFeatureDatas)
{
if (!Utils.TryLoadObject(path, out UObject gameFeatureData) ||
!gameFeatureData.TryGetValue(out FPackageIndex levelOverlayConfig, "LevelOverlayConfig") ||
!Utils.TryGetPackageIndexExport(levelOverlayConfig, out UObject npcLibrary) ||
!npcLibrary.TryGetValue(out FStructFallback[] overlayList, "OverlayList"))
return;
overlays.AddRange(overlayList);
}
foreach (var overlay in overlays)
{
if (!overlay.TryGetValue(out FSoftObjectPath overlayWorld, "OverlayWorld"))
continue;
@ -689,4 +702,4 @@ namespace FModel.ViewModels
});
}
}
}
}