Fix false pointer relocations in data breaking shiftability (#2296)

* Fix false pointer relocations in data breaking shiftability

* Update matDL_dis.py from tww

* remove debug prints from matDL build script
* matDL build rule: Allow specifying global/local scope

* Use asset extraction for ShieldD

* Set mode `+x` on executable Python scripts

* set `+x` on matDL_dis
This commit is contained in:
LagoLunatic
2025-01-31 16:58:59 -05:00
committed by GitHub
parent 4d4c482b9a
commit 7349c37bfb
14 changed files with 292 additions and 179 deletions
+124 -124
View File
@@ -477,67 +477,67 @@ void renderingDmap_c::getLineWidth(int param_0) {
/* ############################################################################################## */
/* 80395860-80395950 -00001 00F0+00 1/1 0/0 0/0 .rodata l_paletteDmap_m */
SECTION_RODATA static void* const l_paletteDmap_m[60] = {
(void*)NULL,
(void*)NULL,
(void*)(((char*)fadeOut__13mDoGph_gInf_cFfR8_GXColor) + 0x28),
(void*)(((char*)fadeOut__13mDoGph_gInf_cFfR8_GXColor) + 0x28),
(void*)(((char*)fadeOut__13mDoGph_gInf_cFfR8_GXColor) + 0x28),
(void*)(((char*)fadeOut__13mDoGph_gInf_cFfR8_GXColor) + 0x28),
(void*)(((char*)fadeOut__13mDoGph_gInf_cFfR8_GXColor) + 0x28),
(void*)(((char*)fadeOut__13mDoGph_gInf_cFfR8_GXColor) + 0x28),
(void*)(((char*)fadeOut__13mDoGph_gInf_cFfR8_GXColor) + 0x28),
(void*)(((char*)fadeOut__13mDoGph_gInf_cFfR8_GXColor) + 0x28),
(void*)(((char*)fadeOut__13mDoGph_gInf_cFfR8_GXColor) + 0x28),
(void*)(((char*)fadeOut__13mDoGph_gInf_cFfR8_GXColor) + 0x28),
(void*)0xA208A208,
(void*)0xA208A208,
(void*)(((char*)fadeOut__13mDoGph_gInf_cFfR8_GXColor) + 0x28),
(void*)(((char*)fadeOut__13mDoGph_gInf_cFfR8_GXColor) + 0x28),
(void*)(((char*)fadeOut__13mDoGph_gInf_cFfR8_GXColor) + 0x28),
(void*)(((char*)fadeOut__13mDoGph_gInf_cFfR8_GXColor) + 0x28),
(void*)0x81008100,
(void*)0x81008100,
(void*)0xA208A208,
(void*)0xA208A208,
(void*)(((char*)fadeOut__13mDoGph_gInf_cFfR8_GXColor) + 0x28),
(void*)(((char*)fadeOut__13mDoGph_gInf_cFfR8_GXColor) + 0x28),
(void*)0x9CE79CE7,
(void*)0x9CE79CE7,
(void*)0x81108110,
(void*)0x81108110,
(void*)0xA208A208,
(void*)0xA208A208,
(void*)0x98109810,
(void*)0x98109810,
(void*)0x98009800,
(void*)0x98009800,
(void*)0x82008200,
(void*)0x82008200,
(void*)0xC3F0C3F0,
(void*)0xC3F0C3F0,
(void*)(((char*)fadeOut__13mDoGph_gInf_cFfR8_GXColor) + 0x28),
(void*)(((char*)fadeOut__13mDoGph_gInf_cFfR8_GXColor) + 0x28),
(void*)0x9CE79CE7,
(void*)0x9CE79CE7,
(void*)0x821F821F,
(void*)0x821F821F,
(void*)0xC3F0C3F0,
(void*)0xC3F0C3F0,
(void*)0xB01FB01F,
(void*)0xB01FB01F,
(void*)0xB000B000,
(void*)0xB000B000,
(void*)0x98C698C6,
(void*)0x98C698C6,
(void*)0xE739E739,
(void*)0xE739E739,
(void*)0x98C698C6,
(void*)0x98C698C6,
(void*)0xE739E739,
(void*)0xE739E739,
(void*)NULL,
(void*)NULL,
SECTION_RODATA static u32 const l_paletteDmap_m[60] = {
0x00000000,
0x00000000,
0x80008000,
0x80008000,
0x80008000,
0x80008000,
0x80008000,
0x80008000,
0x80008000,
0x80008000,
0x80008000,
0x80008000,
0xA208A208,
0xA208A208,
0x80008000,
0x80008000,
0x80008000,
0x80008000,
0x81008100,
0x81008100,
0xA208A208,
0xA208A208,
0x80008000,
0x80008000,
0x9CE79CE7,
0x9CE79CE7,
0x81108110,
0x81108110,
0xA208A208,
0xA208A208,
0x98109810,
0x98109810,
0x98009800,
0x98009800,
0x82008200,
0x82008200,
0xC3F0C3F0,
0xC3F0C3F0,
0x80008000,
0x80008000,
0x9CE79CE7,
0x9CE79CE7,
0x821F821F,
0x821F821F,
0xC3F0C3F0,
0xC3F0C3F0,
0xB01FB01F,
0xB01FB01F,
0xB000B000,
0xB000B000,
0x98C698C6,
0x98C698C6,
0xE739E739,
0xE739E739,
0x98C698C6,
0x98C698C6,
0xE739E739,
0xE739E739,
0x00000000,
0x00000000,
};
COMPILER_STRIP_GATE(0x80395860, &l_paletteDmap_m);
@@ -792,68 +792,68 @@ void dMenu_DmapMapCtrl_c::getZoomCmPerPixel() {
/* 803BCBC0-803BCCB4 -00001 00F4+00 0/0 0/0 0/0 .data l_data */
#pragma push
#pragma force_active on
SECTION_DATA static void* l_data[61] = {
(void*)(((char*)fadeOut__13mDoGph_gInf_cFfR8_GXColor) + 0x28),
(void*)(((char*)fadeOut__13mDoGph_gInf_cFfR8_GXColor) + 0x28),
(void*)NULL,
(void*)NULL,
(void*)(((char*)fadeOut__13mDoGph_gInf_cFfR8_GXColor) + 0x28),
(void*)(((char*)fadeOut__13mDoGph_gInf_cFfR8_GXColor) + 0x28),
(void*)(((char*)fadeOut__13mDoGph_gInf_cFfR8_GXColor) + 0x28),
(void*)(((char*)fadeOut__13mDoGph_gInf_cFfR8_GXColor) + 0x28),
(void*)(((char*)fadeOut__13mDoGph_gInf_cFfR8_GXColor) + 0x28),
(void*)(((char*)fadeOut__13mDoGph_gInf_cFfR8_GXColor) + 0x28),
(void*)(((char*)fadeOut__13mDoGph_gInf_cFfR8_GXColor) + 0x28),
(void*)(((char*)fadeOut__13mDoGph_gInf_cFfR8_GXColor) + 0x28),
(void*)(((char*)fadeOut__13mDoGph_gInf_cFfR8_GXColor) + 0x28),
(void*)(((char*)fadeOut__13mDoGph_gInf_cFfR8_GXColor) + 0x28),
(void*)0xA208A208,
(void*)0xA208A208,
(void*)(((char*)fadeOut__13mDoGph_gInf_cFfR8_GXColor) + 0x28),
(void*)(((char*)fadeOut__13mDoGph_gInf_cFfR8_GXColor) + 0x28),
(void*)(((char*)fadeOut__13mDoGph_gInf_cFfR8_GXColor) + 0x28),
(void*)(((char*)fadeOut__13mDoGph_gInf_cFfR8_GXColor) + 0x28),
(void*)0x81008100,
(void*)0x81008100,
(void*)0xA208A208,
(void*)0xA208A208,
(void*)(((char*)fadeOut__13mDoGph_gInf_cFfR8_GXColor) + 0x28),
(void*)(((char*)fadeOut__13mDoGph_gInf_cFfR8_GXColor) + 0x28),
(void*)0x9CE79CE7,
(void*)0x9CE79CE7,
(void*)0x81108110,
(void*)0x81108110,
(void*)0xA208A208,
(void*)0xA208A208,
(void*)0x98109810,
(void*)0x98109810,
(void*)0x98009800,
(void*)0x98009800,
(void*)0x82008200,
(void*)0x82008200,
(void*)0xC3F0C3F0,
(void*)0xC3F0C3F0,
(void*)(((char*)fadeOut__13mDoGph_gInf_cFfR8_GXColor) + 0x28),
(void*)(((char*)fadeOut__13mDoGph_gInf_cFfR8_GXColor) + 0x28),
(void*)0x9CE79CE7,
(void*)0x9CE79CE7,
(void*)0x821F821F,
(void*)0x821F821F,
(void*)0xC3F0C3F0,
(void*)0xC3F0C3F0,
(void*)0xB01FB01F,
(void*)0xB01FB01F,
(void*)0xB000B000,
(void*)0xB000B000,
(void*)0x98C698C6,
(void*)0x98C698C6,
(void*)0xE739E739,
(void*)0xE739E739,
(void*)0x98C698C6,
(void*)0x98C698C6,
(void*)0xE739E739,
(void*)0xE739E739,
(void*)0x45610000,
SECTION_DATA static u32 l_data[61] = {
0x80008000,
0x80008000,
0x00000000,
0x00000000,
0x80008000,
0x80008000,
0x80008000,
0x80008000,
0x80008000,
0x80008000,
0x80008000,
0x80008000,
0x80008000,
0x80008000,
0xA208A208,
0xA208A208,
0x80008000,
0x80008000,
0x80008000,
0x80008000,
0x81008100,
0x81008100,
0xA208A208,
0xA208A208,
0x80008000,
0x80008000,
0x9CE79CE7,
0x9CE79CE7,
0x81108110,
0x81108110,
0xA208A208,
0xA208A208,
0x98109810,
0x98109810,
0x98009800,
0x98009800,
0x82008200,
0x82008200,
0xC3F0C3F0,
0xC3F0C3F0,
0x80008000,
0x80008000,
0x9CE79CE7,
0x9CE79CE7,
0x821F821F,
0x821F821F,
0xC3F0C3F0,
0xC3F0C3F0,
0xB01FB01F,
0xB01FB01F,
0xB000B000,
0xB000B000,
0x98C698C6,
0x98C698C6,
0xE739E739,
0xE739E739,
0x98C698C6,
0x98C698C6,
0xE739E739,
0xE739E739,
0x45610000,
};
#pragma pop
@@ -1286,4 +1286,4 @@ SECTION_DATA extern void* __vt__15renderingDmap_c[43 + 1 /* padding */] = {
(void*)getRestartCursorSize__15renderingDmap_cFv,
/* padding */
NULL,
};
};