summaryrefslogtreecommitdiff
path: root/ZAPD/ZDisplayList.cpp
diff options
context:
space:
mode:
authorAnghelo Carvajal <angheloalf95@gmail.com>2021-03-13 00:20:40 -0300
committerGitHub <noreply@github.com>2021-03-12 22:20:40 -0500
commitb7a50c06ecc23f6b17e410cb10a7046ee008a78d (patch)
tree8202929e16e70a39cd8156454dc444b8d0bf2cda /ZAPD/ZDisplayList.cpp
parent55718b1090083e1f5e9b1b1cc09ebcb329baa74f (diff)
A few bugfixes (#87)
* remove extra %i in ZCutscene Signed-off-by: angie <angheloalf95@gmail.com> * Don't extract vertices from a unknown segment. Signed-off-by: Angie <angheloalf95@gmail.com> * Fix SurfaceType in CollisionHeader Signed-off-by: Angie <angheloalf95@gmail.com> * Fix merge issue Signed-off-by: angie <angheloalf95@gmail.com>
Diffstat (limited to 'ZAPD/ZDisplayList.cpp')
-rw-r--r--ZAPD/ZDisplayList.cpp7
1 files changed, 7 insertions, 0 deletions
diff --git a/ZAPD/ZDisplayList.cpp b/ZAPD/ZDisplayList.cpp
index 4754c03..02e43d5 100644
--- a/ZAPD/ZDisplayList.cpp
+++ b/ZAPD/ZDisplayList.cpp
@@ -812,6 +812,13 @@ void ZDisplayList::Opcode_G_VTX(uint64_t data, int i, std::string prefix, char*
sprintf(line, "gsSPVertex(@r, %i, %i),", nn, _SHIFTR(hi, 17, 7));
}
+ // Hack: Don't extract vertices from a unknown segment.
+ if (!Globals::Instance->HasSegment(GETSEGNUM(data))) {
+ segptr_t segmented = data & 0xFFFFFFFF;
+ references.push_back(segmented);
+ parent->AddDeclaration(segmented, DeclarationAlignment::Align16, 16, "Vtx", StringHelper::Sprintf("0x%08X", segmented), "");
+ return;
+ }
references.push_back(vtxAddr);
{