diff options
| author | KiritoDv <kiritodev01@gmail.com> | 2024-03-26 00:11:46 -0600 |
|---|---|---|
| committer | KiritoDv <kiritodev01@gmail.com> | 2024-03-26 00:11:46 -0600 |
| commit | eb2dca9c14247da51a5fdac1f1e3f66cf0c660c4 (patch) | |
| tree | ed7d203d728f66a2ad55b44087696bdda97874f5 /src/Companion.cpp | |
| parent | aa22c0803efa346b7886e8c2d44a04eddb020b3c (diff) | |
Fixed geo layout factory bugs and some sm64 related stuff
Diffstat (limited to 'src/Companion.cpp')
| -rw-r--r-- | src/Companion.cpp | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/src/Companion.cpp b/src/Companion.cpp index b6d2605..225c4a1 100644 --- a/src/Companion.cpp +++ b/src/Companion.cpp @@ -1079,11 +1079,14 @@ std::optional<YAML::Node> Companion::AddAsset(YAML::Node asset) { } auto rom = this->GetRomData(); - auto factory = this->GetFactory(type)->get(); + auto factory = this->GetFactory(type); + + if(!factory.has_value()) { + return std::nullopt; + } std::string output; std::string typeId = ConvertType(type); - int index; if(symbol != "") { output = symbol; @@ -1095,10 +1098,11 @@ std::optional<YAML::Node> Companion::AddAsset(YAML::Node asset) { asset["autogen"] = true; asset["symbol"] = output; - auto result = factory->parse(rom, asset); + auto result = this->RegisterAsset(output, asset); if(result.has_value()){ - return std::get<1>(this->RegisterAsset(output, asset).value()); + asset["path"] = std::get<0>(result.value()); + return std::get<1>(result.value()); } return std::nullopt; |
