summaryrefslogtreecommitdiff
path: root/src/n64
diff options
context:
space:
mode:
authorMegaMech <MegaMech@users.noreply.github.com>2024-06-10 22:03:09 -0600
committerGitHub <noreply@github.com>2024-06-10 22:03:09 -0600
commitfe1ce26c02e615d6ecf2a761003ace76c6fdbd96 (patch)
treea6d998a09a145198c45381fe3590fc5db4eb96c9 /src/n64
parent2929503ee3445e596e722c404f143e777e6498c9 (diff)
Add option to process DLs with indexes instead of offsets (#131)
* Update DisplayListFactory.cpp * Update gbi-otr.h * Update gbi-otr.h * Update DisplayListFactory.cpp * Update gbi-otr.h * Update DisplayListFactory.cpp * Update gbi-otr.h * Update gbi-otr.h * Update DisplayListFactory.cpp * Update gbi-otr.h * Update DisplayListFactory.cpp
Diffstat (limited to 'src/n64')
-rw-r--r--src/n64/gbi-otr.h8
1 files changed, 8 insertions, 0 deletions
diff --git a/src/n64/gbi-otr.h b/src/n64/gbi-otr.h
index 0ee659c..a5bb09e 100644
--- a/src/n64/gbi-otr.h
+++ b/src/n64/gbi-otr.h
@@ -19,6 +19,7 @@
#define G_MTX_OTR 0x36
#define G_TEXRECT_WIDE 0x37
#define G_FILLWIDERECT 0x38
+#define G_DL_OTR_INDEX 0x3D
#define G_MOVEMEM_OTR_HASH 0x42
// DL FLAGS
@@ -162,6 +163,13 @@ _DW({
(uintptr_t)(dl) \
}}
+#define gsSPDisplayListOTRIndex(dl) \
+ {{ \
+ (_SHIFTL((G_DL_OTR_INDEX), 24, 8) | _SHIFTL((0x00), 16, 8) | \
+ _SHIFTL((0), 0, 16)), \
+ (uintptr_t)((SEGMENT_NUMBER(dl) << 24) | ((SEGMENT_OFFSET(dl) / 8) & 0x00FFFFFF)) \
+ }}
+
#define gsSPDisplayListOTRFilePath(dl) \
{{ \
(_SHIFTL((G_DL_OTR_FILEPATH), 24, 8) | _SHIFTL((0x00), 16, 8) | \