diff options
| -rw-r--r-- | src/factories/DisplayListFactory.cpp | 5 | ||||
| -rw-r--r-- | src/n64/gbi-otr.h | 4 |
2 files changed, 9 insertions, 0 deletions
diff --git a/src/factories/DisplayListFactory.cpp b/src/factories/DisplayListFactory.cpp index 29c1bf9..b83ea75 100644 --- a/src/factories/DisplayListFactory.cpp +++ b/src/factories/DisplayListFactory.cpp @@ -313,6 +313,11 @@ std::optional<std::shared_ptr<IParsedData>> DListFactory::parse(std::vector<uint std::optional<uint32_t> segment; + if ((w0 >> 16) & G_DL_NO_PUSH) { + SPDLOG_INFO("Branch List Command Found"); + processing = false; + } + if(const auto decl = Companion::Instance->GetNodeByAddr(w1); !decl.has_value()){ SPDLOG_INFO("Addr to Display list command at 0x{:X} not in yaml, autogenerating it", w1); diff --git a/src/n64/gbi-otr.h b/src/n64/gbi-otr.h index b760236..9cc1422 100644 --- a/src/n64/gbi-otr.h +++ b/src/n64/gbi-otr.h @@ -21,6 +21,10 @@ #define G_FILLWIDERECT 0x38 #define G_MOVEMEM_OTR_HASH 0x42 +// DL FLAGS +#define G_DL_PUSH 0x00 +#define G_DL_NO_PUSH 0x01 + /* GFX Effects */ #define G_SETGRAYSCALE 0x39 #define G_EXTRAGEOMETRYMODE 0x3a |
