diff options
| author | rozlette <Rozelette@users.noreply.github.com> | 2022-02-06 17:00:53 -0600 |
|---|---|---|
| committer | M4xw <m4x@m4xw.net> | 2022-02-17 21:03:28 +0100 |
| commit | 298ac2bf48cbbdcc8af704ff64b0169afa926ba7 (patch) | |
| tree | c5d2c15c6ed7215f15a67542618c138b8b1c7284 | |
| parent | 2ccdf814d29484c848aa6752b760b0138afb64b5 (diff) | |
Fix extraction of DLs that call a DL in segment 7
| -rw-r--r-- | OTRExporter/DisplayListExporter.cpp | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/OTRExporter/DisplayListExporter.cpp b/OTRExporter/DisplayListExporter.cpp index da3c25a..ee4a385 100644 --- a/OTRExporter/DisplayListExporter.cpp +++ b/OTRExporter/DisplayListExporter.cpp @@ -354,7 +354,8 @@ void OTRExporter_DisplayList::Save(ZResource* res, const fs::path& outPath, Bina //case G_BRANCH_Z: case G_DL: { - if (!Globals::Instance->HasSegment(GETSEGNUM(data)) && (int)opF3D != G_BRANCH_Z) + if ((!Globals::Instance->HasSegment(GETSEGNUM(data)) && (int)opF3D != G_BRANCH_Z) + || ((data & 0xFFFFFFFF) == 0x07000000)) // En_Zf and En_Ny place a DL in segment 7 { int32_t pp = (data & 0x00FF000000000000) >> 56; |
