From 4cae44160693e1beb562e39dc301bd42278be1f9 Mon Sep 17 00:00:00 2001 From: briaguya <70942617+briaguya0@users.noreply.github.com> Date: Fri, 24 Jul 2026 18:09:55 -0400 Subject: oot support (#219) --- src/factories/DisplayListFactory.cpp | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) (limited to 'src/factories/DisplayListFactory.cpp') diff --git a/src/factories/DisplayListFactory.cpp b/src/factories/DisplayListFactory.cpp index 2d6d48e..2e336f0 100644 --- a/src/factories/DisplayListFactory.cpp +++ b/src/factories/DisplayListFactory.cpp @@ -6,6 +6,9 @@ #include #include #include "n64/gbi-otr.h" +#ifdef OOT_SUPPORT +#include "oot/OoTDListHelpers.h" +#endif #ifdef STANDALONE #include @@ -196,6 +199,11 @@ void DebugDisplayList(uint32_t w0, uint32_t w1) { #endif std::optional> SearchVtx(uint32_t ptr) { +#ifdef OOT_SUPPORT + auto result = OoT::DListHelpers::SearchVtx(ptr); + if (result.has_value()) return result; +#endif + const auto* decs = Companion::Instance->GetNodesByTypeRef("VTX", Companion::Instance->GetConfig().includeAutogen); if (decs == nullptr) { return std::nullopt; @@ -230,6 +238,11 @@ std::optional> SearchVtx(uint32_t ptr) { ExportResult DListBinaryExporter::Export(std::ostream& write, std::shared_ptr raw, std::string& entryName, YAML::Node& node, std::string* replacement) { +#ifdef OOT_SUPPORT + auto ootResult = OoT::DListHelpers::Export(write, raw, entryName, node, replacement); + if (ootResult.has_value()) return ootResult.value(); +#endif + const auto gbi = Companion::Instance->GetGBIVersion(); auto cmds = std::static_pointer_cast(raw)->mGfxs; auto writer = LUS::BinaryWriter(); @@ -511,6 +524,11 @@ ExportResult DListBinaryExporter::Export(std::ostream& write, std::shared_ptr> DListFactory::parse(std::vector& raw_buffer, YAML::Node& node) { +#ifdef OOT_SUPPORT + auto ootResult = OoT::DListHelpers::Parse(raw_buffer, node); + if (ootResult.has_value()) return ootResult.value(); +#endif + const auto gbi = Companion::Instance->GetGBIVersion(); auto count = GetSafeNode(node, "count", -1); -- cgit v1.2.3