summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorrozlette <Rozelette@users.noreply.github.com>2022-02-06 17:00:53 -0600
committerM4xw <m4x@m4xw.net>2022-02-17 21:03:28 +0100
commit298ac2bf48cbbdcc8af704ff64b0169afa926ba7 (patch)
treec5d2c15c6ed7215f15a67542618c138b8b1c7284
parent2ccdf814d29484c848aa6752b760b0138afb64b5 (diff)
Fix extraction of DLs that call a DL in segment 7
-rw-r--r--OTRExporter/DisplayListExporter.cpp3
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;