diff options
| author | inspectredc <78732756+inspectredc@users.noreply.github.com> | 2024-03-22 16:00:03 +0000 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-03-22 10:00:03 -0600 |
| commit | a7f0603525bc33257715304537c95f13829619ee (patch) | |
| tree | 32a9a49a102e9667e6e09f15b42d2b15c94bcd8c | |
| parent | aaa68d2ebcb732d7d18af1a41a292c50182e7fd5 (diff) | |
branch list (#50)
| -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 |
