Split hierarchy building to a method and time it
This commit is contained in:
parent
261d5fe399
commit
d3e58af75c
|
@ -104,7 +104,16 @@ public partial class Mission : Node3D
|
|||
Timing.TimeStage("Load FAM", () => UseChunk<TxList>("TXLIST", LoadTextures));
|
||||
Timing.TimeStage("Build WR", () => UseChunk<WorldRep>("WREXT", BuildWrMeshes));
|
||||
|
||||
// TODO: Sort this out so I can time it lol
|
||||
if (_file.Chunks.TryGetValue("BRLIST", out var brList))
|
||||
{
|
||||
var objHierarchy = Timing.TimeStage("Hierarchy", () => BuildHierarchy(_file));
|
||||
Timing.TimeStage("Object Placement", () => PlaceObjects((BrList)brList, objHierarchy));
|
||||
}
|
||||
}
|
||||
|
||||
// TODO: Make this less of a mess
|
||||
private ObjectHierarchy BuildHierarchy(DbFile db)
|
||||
{
|
||||
ObjectHierarchy objHierarchy;
|
||||
if (_file.Chunks.TryGetValue("GAM_FILE", out var gamFileChunk))
|
||||
{
|
||||
|
@ -125,11 +134,7 @@ public partial class Mission : Node3D
|
|||
{
|
||||
objHierarchy = new ObjectHierarchy(_file);
|
||||
}
|
||||
|
||||
if (_file.Chunks.TryGetValue("BRLIST", out var brList))
|
||||
{
|
||||
Timing.TimeStage("Object Placement", () => PlaceObjects((BrList)brList, objHierarchy));
|
||||
}
|
||||
return objHierarchy;
|
||||
}
|
||||
|
||||
private void UseChunk<T>(string name, Action<T> action)
|
||||
|
|
Loading…
Reference in New Issue