T5.1.c3b: SDK fold: 140 MATRIX-shaped defs onto MATRIX; drop unused tag EntD820; --fold-class <lh>:sdk works

This commit is contained in:
Drew T
2026-09-30 13:25:02 -06:00
parent a5c63c4250
commit 5fcb110a2e
7 changed files with 150 additions and 200 deletions
+1 -1
View File
@@ -1,6 +1,6 @@
# The struct map — the types the fleet's cast sites need (Phase 37 T1)
> **Generated by `tools/type_census.py` at `83d8b742b` (2026-09-30T19:14:02Z); never typed (R75).** Every raw pointer-cast dereference in `src/` was assigned to a base (a parameter, a local, a global by value or by address, an absolute address) and the bases were clustered by EVIDENCE only — the same global symbol, an argument passed to a callee's parameter, an assignment or return, a pointer field read, a shared body's fleet-wide identity — never by a similar offset signature. Each cluster is one type the tree needs. Names are placeholders (`Unkstruct_<addr>`: the lowest global instance's address, else the lowest member function's); fields are placeholders (`unk<HEX>`) until Phase 38 cites evidence.
> **Generated by `tools/type_census.py` at `a5c63c425` (2026-09-30T19:24:59Z); never typed (R75).** Every raw pointer-cast dereference in `src/` was assigned to a base (a parameter, a local, a global by value or by address, an absolute address) and the bases were clustered by EVIDENCE only — the same global symbol, an argument passed to a callee's parameter, an assignment or return, a pointer field read, a shared body's fleet-wide identity — never by a similar offset signature. Each cluster is one type the tree needs. Names are placeholders (`Unkstruct_<addr>`: the lowest global instance's address, else the lowest member function's); fields are placeholders (`unk<HEX>`) until Phase 38 cites evidence.
**19124 types explain 498868 of 502986 dereference sites (99.2 %); 4118 sites have a base the census could not classify; 857 types carry a width conflict.** Merges by evidence: param 38876, assign 16786, arg 10825, field 9909, ret-of 4330, return 1524, assign& 1184, arg& 270.
+44 -47
View File
@@ -492,7 +492,7 @@ typedef struct {
} Src_8013B6A0;
typedef struct { s16 vx, vy; } DVECTOR;
typedef DVECTOR DVEC2_C974_8017BA3C;
typedef struct { s16 m[3][3]; s32 t[3]; } MTX_C974;
typedef MATRIX MTX_C974;
typedef struct {
u16 x, y, z, w;
} Pt_8017D87C;
@@ -861,33 +861,33 @@ typedef struct { u8 unk0[4]; } M4_801AE734;
typedef struct {
u8 unk0[4];
} M4_801AEB04;
typedef struct { short m[3][3]; long t[3]; } MATRIX_801EDED4;
typedef struct { short m[3][3]; long t[3]; } MATRIX_801EDED4_801E2B14;
typedef struct { short m[3][3]; long t[3]; } MATRIX_801EDED4_801E5124;
typedef struct { short m[3][3]; long t[3]; } MATRIX_801EDED4_801E8054;
typedef struct { short m[3][3]; long t[3]; } MATRIX_801EDED4_801E805C;
typedef struct { short m[3][3]; long t[3]; } MATRIX_801EDED4_801EA664;
typedef struct { short m[3][3]; long t[3]; } MATRIX_801EDED4_801EDED4;
typedef struct { short m[3][3]; long t[3]; } MATRIX_801EDED4_801EF99C;
typedef struct { short m[3][3]; long t[3]; } MATRIX_801EDED4_801F04DC;
typedef struct { short m[3][3]; long t[3]; } MATRIX_801EDED4_801F1F94;
typedef struct { s16 m[3][3]; s32 t[3]; } MATRIX_md_SC07_003;
typedef struct { s16 m[3][3]; s32 t[3]; } MTX_800CB4E4;
typedef struct { s16 m[3][3]; s32 t[3]; } MTX_800CB910;
typedef struct { s16 m[3][3]; s32 t[3]; } MTX_800CBD54;
typedef struct { s16 m[3][3]; s32 t[3]; } MTX_801A1B28;
typedef struct { s16 m[3][3]; s32 t[3]; } MTX_801A8990;
typedef struct { s16 m[3][3]; s32 t[3]; } MTX_801AA7E4;
typedef struct { s16 m[3][3]; s32 t[3]; } MTX_801AACD4;
typedef struct { s16 m[3][3]; s32 t[3]; } MTX_801AAF8C;
typedef struct { s16 m[3][3]; s32 t[3]; } MTX_801ADC40;
typedef struct { s16 m[3][3]; s32 t[3]; } MTX_C974_801E3540;
typedef struct { s16 m[3][3]; s32 t[3]; } MTX_C974_801E8A80;
typedef struct { s16 m[3][3]; s32 t[3]; } MTX_C974_801EE8E0;
typedef struct { s16 m[3][3]; s32 t[3]; } MTX_C974_801F03C0;
typedef struct { s16 m[3][3]; s32 t[3]; } MTX_CB578;
typedef struct { s16 m[3][3]; s32 t[3]; } MTX_CF90_801A3624;
typedef struct { s16 m[3][3]; s32 t[3]; } MTX_md_MAIN_039;
typedef MATRIX MATRIX_801EDED4;
typedef MATRIX MATRIX_801EDED4_801E2B14;
typedef MATRIX MATRIX_801EDED4_801E5124;
typedef MATRIX MATRIX_801EDED4_801E8054;
typedef MATRIX MATRIX_801EDED4_801E805C;
typedef MATRIX MATRIX_801EDED4_801EA664;
typedef MATRIX MATRIX_801EDED4_801EDED4;
typedef MATRIX MATRIX_801EDED4_801EF99C;
typedef MATRIX MATRIX_801EDED4_801F04DC;
typedef MATRIX MATRIX_801EDED4_801F1F94;
typedef MATRIX MATRIX_md_SC07_003;
typedef MATRIX MTX_800CB4E4;
typedef MATRIX MTX_800CB910;
typedef MATRIX MTX_800CBD54;
typedef MATRIX MTX_801A1B28;
typedef MATRIX MTX_801A8990;
typedef MATRIX MTX_801AA7E4;
typedef MATRIX MTX_801AACD4;
typedef MATRIX MTX_801AAF8C;
typedef MATRIX MTX_801ADC40;
typedef MATRIX MTX_C974_801E3540;
typedef MATRIX MTX_C974_801E8A80;
typedef MATRIX MTX_C974_801EE8E0;
typedef MATRIX MTX_C974_801F03C0;
typedef MATRIX MTX_CB578;
typedef MATRIX MTX_CF90_801A3624;
typedef MATRIX MTX_md_MAIN_039;
typedef struct {
u8 mat[0x14];
u32 zz[3] __attribute__((aligned(4)));
@@ -899,17 +899,17 @@ typedef struct { s16 m[3][4]; } Mat_CB6A0;
struct Mid { u32 gray[4]; u32 code; u8 bmode; };
typedef struct { s32 w[8]; } Mtx32_801A2400;
typedef struct { s32 w[8]; } Mtx32_801A3180;
typedef struct { s16 m[3][3]; s32 t[3]; } Mtx32_801A3B18;
typedef MATRIX Mtx32_801A3B18;
typedef struct { s32 w[8]; } Mtx32_801A3D60;
typedef struct { s16 m[3][3]; s32 t[3]; } Mtx32_801A4D58;
typedef struct { s16 m[3][3]; s32 t[3]; } Mtx32_801A4DFC;
typedef struct { s16 m[3][3]; s32 t[3]; } Mtx32_801A52DC;
typedef struct { s16 m[3][3]; s32 t[3]; } Mtx32_801A54F0;
typedef struct { s16 m[3][3]; s32 t[3]; } Mtx32_801A5698;
typedef MATRIX Mtx32_801A4D58;
typedef MATRIX Mtx32_801A4DFC;
typedef MATRIX Mtx32_801A52DC;
typedef MATRIX Mtx32_801A54F0;
typedef MATRIX Mtx32_801A5698;
typedef struct { s32 w[8]; } Mtx32_801A90D8;
typedef struct { s16 m[3][3]; s32 t[3]; } Mtx32b;
typedef MATRIX Mtx32b;
typedef struct { Blk16X q0; Blk16X q1; s32 pad_20, pad_24; } Mtx40;
typedef struct { s16 m[3][3]; s32 t[3]; } MtxX;
typedef MATRIX MtxX;
typedef struct {
s16 m[9];
s16 pad;
@@ -919,8 +919,8 @@ typedef struct {
Mtx_800CD27C mt; /* 0x00 */
s32 rest[2]; /* 0x20..0x27 — frame padding, never touched */
} MtxBuf_800CD27C;
typedef struct { s16 m[3][3]; s32 t[3]; } Mtx_801A6184;
typedef struct { s16 m[3][3]; s32 t[3]; } Mtx_801AEC38;
typedef MATRIX Mtx_801A6184;
typedef MATRIX Mtx_801AEC38;
typedef struct { s16 m[3][3]; s16 t[3]; s16 pad[4]; } Mtx_A8CE0 __attribute__((aligned(8)));
typedef struct { s32 next; u8 pad[0xC]; } Node_801F28E0;
typedef Node_801F28E0 Node_801E5AAC;
@@ -1940,7 +1940,7 @@ typedef struct {
u32 term; /* +0x24 */
} LineG4;
typedef LineG4 LineG4_80016C28;
typedef struct { s16 m[3][3]; s32 t[3]; } MATRIX_8001EFE0;
typedef MATRIX MATRIX_8001EFE0;
typedef struct { /* 0x50 */
u32 flg;
MATRIX_8001EFE0 coord;
@@ -1954,7 +1954,7 @@ typedef struct {
s16 pad;
s32 t[3];
} MTX_139C8;
typedef struct { s16 m[3][3]; s32 t[3]; } MTX_8001FC08;
typedef MATRIX MTX_8001FC08;
typedef struct { MTX_8001FC08 a; MTX_8001FC08 b; } MTX2_8001FC08;
typedef struct {
/* 0x00 */ s32 attr;
@@ -1973,13 +1973,10 @@ typedef struct {
/* 0xA8 */ s16 *lp;
/* 0xAC */ s32 cnt;
} LOC_8001FC08;
typedef struct {
/* 0x00 */ s16 m[3][3];
/* 0x14 */ s32 t[3];
} MTX_80020248;
typedef MATRIX MTX_80020248;
typedef struct { MTX_80020248 *p; s32 unused; } MH;
typedef struct { s16 m[3][3]; s32 t[3]; } MT_EA14;
typedef struct { s16 m[3][3]; s32 t[3]; } MX221A8;
typedef MATRIX MT_EA14;
typedef MATRIX MX221A8;
typedef struct {
/* 0x00 */ s32 flg;
/* 0x04 */ MX221A8 coord;
@@ -1990,7 +1987,7 @@ typedef struct {
} CD221A8;
struct MainSlot { s32 unk0; s32 unk4; s32 unk8; };
typedef struct { s16 m[3][3]; s16 pad; s32 t[3]; } MtxDA34;
typedef struct { s16 m[3][3]; s32 t[3]; } Mtx_80021D38;
typedef MATRIX Mtx_80021D38;
typedef struct {
/* 0x0 */ u8 b0;
/* 0x1 */ u8 b1;
+2 -2
View File
@@ -3482,14 +3482,14 @@ void func_8017E024(s32 a0)
Vec_8017E024 vin; /* sp+0x28 */
Vec_8017E024 vout; /* sp+0x38 */
Vec_8017E024 res; /* sp+0x48 */
struct Mtx_8017E024 m; /* sp+0x58 */
Mtx_8017E024 m; /* sp+0x58 */
s32 flag; /* sp+0x78 */
s32 *g;
s32 owner;
/* 32-byte aligned block move: 8x lw/sw in two groups of four (MAX_MOVE_REGS == 4).
* The pseudo holding &m survives as $s1 and is reused for the three uses below. */
m = *(struct Mtx_8017E024 *)(*(s32 *)(*(s32 *)(a0 + 0x64) + 0x20) + 0x34);
m = *(Mtx_8017E024 *)(*(s32 *)(*(s32 *)(a0 + 0x64) + 0x20) + 0x34);
g = &D_80126B58;
if (*(u16 *)(a0 + 0xFE) < 2) {
+2 -2
View File
@@ -3197,12 +3197,12 @@ void func_8017DB0C(s32 a0)
Vec_8017DB0C vin;
Vec_8017DB0C vout;
Vec_8017DB0C res;
struct Mtx_8017DB0C m;
Mtx_8017DB0C m;
s32 flag;
s32 *g;
s32 owner;
m = *(struct Mtx_8017DB0C *)(*(s32 *)(*(s32 *)(a0 + 0x64) + 0x20) + 0x34);
m = *(Mtx_8017DB0C *)(*(s32 *)(*(s32 *)(a0 + 0x64) + 0x20) + 0x34);
g = &D_80126B58;
if (*(u16 *)(a0 + 0xFE) < 2) {
+2 -2
View File
@@ -3712,7 +3712,7 @@ void func_8017EBE4(s32 a0)
Vec_8017EBE4 vin; /* sp+0x28 */
Vec_8017EBE4 vout; /* sp+0x38 */
Vec_8017EBE4 res; /* sp+0x48 */
struct Mtx_8017EBE4 m; /* sp+0x58 */
Mtx_8017EBE4 m; /* sp+0x58 */
s32 flag; /* sp+0x78 */
s32 *g;
s32 owner;
@@ -3720,7 +3720,7 @@ void func_8017EBE4(s32 a0)
/* 32-byte aligned block move: 8x lw/sw in two groups of four (MAX_MOVE_REGS == 4).
* The pseudo holding &m survives as $s1 and is reused for the three uses below. */
m = *(struct Mtx_8017EBE4 *)(*(s32 *)(*(s32 *)(a0 + 0x64) + 0x20) + 0x34);
m = *(Mtx_8017EBE4 *)(*(s32 *)(*(s32 *)(a0 + 0x64) + 0x20) + 0x34);
g = &D_80126B58;
if (*(u16 *)(a0 + 0xFE) < 2) {
+97 -145
View File
@@ -751,7 +751,7 @@ typedef struct { s16 x, y; } Pair_8013AD38;
typedef Pair_8013AD38 Hw4;
typedef struct { char _b[8]; } M8;
typedef struct { char _b[8]; } M8_801312D0;
typedef struct { s16 m[3][3]; s32 t[3]; } MATRIX2;
typedef MATRIX MATRIX2;
typedef struct { short m[3][3]; short pad; s32 t[3]; } MATRIX_8016E7C8;
typedef struct { s16 m[3][3]; s16 pad; s32 t[3]; } MATRIX_8017E6D8;
typedef struct { s16 m[3][3]; s16 pad; s32 t[3]; } MTX_801749C8;
@@ -2015,7 +2015,7 @@ typedef struct Gs_80078E78 {
} Gs_80078E78;
typedef Vec32 LVec1CDC;
typedef struct { char _b[8]; } M8_8014C6F4;
typedef struct { s16 m[3][3]; s32 t[3]; } MATRIX2_8017CDF0;
typedef MATRIX MATRIX2_8017CDF0;
typedef struct { s16 m[3][3]; s16 pad; s32 t[3]; } MATRIX_8017C290;
typedef struct { s16 m[3][3]; s16 pad; s32 t[3]; } MATRIX_8017E72C;
typedef struct { s16 m[3][3]; s16 pad; s32 t[3]; } MTX_L;
@@ -2055,7 +2055,7 @@ typedef struct {
u32 dst; /* 0x0C */
s32 n; /* 0x10 */
} Morph_8017DC1C;
typedef struct { s16 m[3][3]; s32 t[3]; } Mtx35C;
typedef MATRIX Mtx35C;
typedef struct { s32 w[8]; } Mtx8_8017C910;
typedef struct { s32 w[8]; } Mtx8_8017C910_8017D7F0;
typedef struct { s32 w[8]; } Mtx8_8017C910_8017D9EC;
@@ -2076,54 +2076,18 @@ typedef struct { s32 w[8]; } Mtx8_8017DE10_8017E878;
typedef struct { s32 w[8]; } Mtx8_8017DE10_8017EA24;
typedef struct { s32 w[8]; } Mtx8_8017DE10_8017EE3C;
typedef struct { s32 w[8]; } Mtx8_8017DE10_8017FBC8;
typedef struct {
s16 m[3][3];
s32 t[3];
} Mtx_8017C218;
typedef struct {
s16 m[3][3];
s32 t[3];
} Mtx_8017C218_8017C218;
typedef struct {
s16 m[3][3];
s32 t[3];
} Mtx_8017C218_8017D030;
typedef struct {
s16 m[3][3];
s32 t[3];
} Mtx_8017C218_8017D0F8;
typedef struct {
s16 m[3][3];
s32 t[3];
} Mtx_8017C218_8017D2F4;
typedef struct {
s16 m[3][3];
s32 t[3];
} Mtx_8017C218_8017D408;
typedef struct {
s16 m[3][3];
s32 t[3];
} Mtx_8017C218_8017DF10;
typedef struct {
s16 m[3][3];
s32 t[3];
} Mtx_8017C218_8017E22C;
typedef struct {
s16 m[3][3];
s32 t[3];
} Mtx_8017C218_8017E3F0;
typedef struct {
s16 m[3][3];
s32 t[3];
} Mtx_8017C218_801801E8;
typedef struct {
s16 m[3][3];
s32 t[3];
} Mtx_8017C218_8018077C;
typedef struct {
s16 m[3][3];
s32 t[3];
} Mtx_8017C218_80182348;
typedef MATRIX Mtx_8017C218;
typedef MATRIX Mtx_8017C218_8017C218;
typedef MATRIX Mtx_8017C218_8017D030;
typedef MATRIX Mtx_8017C218_8017D0F8;
typedef MATRIX Mtx_8017C218_8017D2F4;
typedef MATRIX Mtx_8017C218_8017D408;
typedef MATRIX Mtx_8017C218_8017DF10;
typedef MATRIX Mtx_8017C218_8017E22C;
typedef MATRIX Mtx_8017C218_8017E3F0;
typedef MATRIX Mtx_8017C218_801801E8;
typedef MATRIX Mtx_8017C218_8018077C;
typedef MATRIX Mtx_8017C218_80182348;
typedef struct {
u8 pad[0x154];
u16 f154;
@@ -3637,7 +3601,7 @@ typedef struct { u32 w; } W_8018BCD4;
typedef DVECTOR XDV2;
typedef PolyFT3 XFT3;
typedef PolyFT4 XFT4;
typedef struct { s16 m[3][3]; s32 t[3]; } XMTX2;
typedef MATRIX XMTX2;
typedef Part XPart;
typedef struct { u32 w0, w1, w2; } XPrim;
typedef SVECTOR XSV2;
@@ -3666,7 +3630,7 @@ typedef struct {
s16 f2;
s16 f4;
} D80190448_t;
typedef struct { short m[3][3]; long t[3]; } MATRIX_80188114;
typedef MATRIX MATRIX_80188114;
typedef struct Rec80182744_s Rec80182744;
/* --- lift_types.py fleet lift --- */
@@ -3739,9 +3703,9 @@ struct Fr_80187368 {
};
typedef struct Fr_80187368 Fr_8018C190;
struct Mtx32_80184008 { s32 w[8]; };
struct Mtx_8017DB0C { s16 m[3][3]; s32 t[3]; };
struct Mtx_8017E024 { s16 m[3][3]; s32 t[3]; };
struct Mtx_8017EBE4 { s16 m[3][3]; s32 t[3]; };
typedef MATRIX Mtx_8017DB0C;
typedef MATRIX Mtx_8017E024;
typedef MATRIX Mtx_8017EBE4;
struct PrimBE4 { s16 f0, f2, f4, f6, f8, fA, fC, fE; s32 f10; };
struct PrimSpec80182A6C {
s16 f0, f2, f4, f6, f8, fA, fC, fE;
@@ -4469,17 +4433,17 @@ typedef union {
s32 plain;
struct { s32 idx : 15; } bf;
} LoopVar;
typedef struct { s16 m[3][3]; s32 t[3]; } MATRIX_8017D5C8;
typedef struct { s16 m[3][3]; s32 t[3]; } MATRIX_8017D5C8_8017D5C8;
typedef struct { s16 m[3][3]; s32 t[3]; } MATRIX_8017D5C8_8017EE98;
typedef struct { s16 m[3][3]; s32 t[3]; } MATRIX_8017D5C8_801814E4;
typedef struct { short m[3][3]; int t[3]; } MATRIX_8017DBC4;
typedef struct { short m[3][3]; long t[3]; } MATRIX_8017F98C;
typedef struct { s16 m[3][3]; s32 t[3]; } MATRIX_80181228;
typedef struct { s16 m[3][3]; s32 t[3]; } MATRIX_80182800;
typedef struct { s16 m[3][3]; s32 t[3]; } MATRIX_80187A30;
typedef struct { s16 m[3][3]; s32 t[3]; } MATRIX_8018985C;
typedef struct { s16 m[3][3]; s32 t[3]; } MATRIX_8018DA64;
typedef MATRIX MATRIX_8017D5C8;
typedef MATRIX MATRIX_8017D5C8_8017D5C8;
typedef MATRIX MATRIX_8017D5C8_8017EE98;
typedef MATRIX MATRIX_8017D5C8_801814E4;
typedef MATRIX MATRIX_8017DBC4;
typedef MATRIX MATRIX_8017F98C;
typedef MATRIX MATRIX_80181228;
typedef MATRIX MATRIX_80182800;
typedef MATRIX MATRIX_80187A30;
typedef MATRIX MATRIX_8018985C;
typedef MATRIX MATRIX_8018DA64;
typedef struct {
s16 m[10];
s32 x;
@@ -4498,57 +4462,57 @@ typedef struct {
s32 y;
s32 z;
} MB_80185B04;
typedef struct { s16 m[3][3]; s32 t[3]; } MTX80180FE4;
typedef MATRIX MTX80180FE4;
typedef struct { s32 w[8]; } MTX8L_80180750;
typedef struct { s32 w[8]; } MTX8L_80181BD4;
typedef struct { s32 w[5]; s32 p5; s32 p6; s32 p7; } MTX8L_801821E0;
typedef struct { s32 a, b, c, d, e, f, g, h; } MTX8_80185648;
typedef struct { s16 m[3][3]; s32 t[3]; } MTX_1A30;
typedef struct { s16 m[3][3]; s32 t[3]; } MTX_1A30_80184BFC;
typedef struct { s16 m[3][3]; s32 t[3]; } MTX_1A30_80185434;
typedef struct { s16 m[3][3]; s32 t[3]; } MTX_1A30_8018F734;
typedef struct { s16 m[3][3]; s32 t[3]; } MTX_8017BEBC;
typedef struct { s16 m[3][3]; s32 t[3]; } MTX_8017D7C0;
typedef struct { s16 m[3][3]; s32 t[3]; } MTX_8017D7C0_8017F19C;
typedef struct { s16 m[3][3]; s32 t[3]; } MTX_8017D7C0_8017F340;
typedef struct { s16 m[3][3]; s32 t[3]; } MTX_8017D7C0_8017F65C;
typedef struct { s16 m[3][3]; s32 t[3]; } MTX_8017DB80;
typedef MATRIX MTX_1A30;
typedef MATRIX MTX_1A30_80184BFC;
typedef MATRIX MTX_1A30_80185434;
typedef MATRIX MTX_1A30_8018F734;
typedef MATRIX MTX_8017BEBC;
typedef MATRIX MTX_8017D7C0;
typedef MATRIX MTX_8017D7C0_8017F19C;
typedef MATRIX MTX_8017D7C0_8017F340;
typedef MATRIX MTX_8017D7C0_8017F65C;
typedef MATRIX MTX_8017DB80;
typedef struct { s16 m[3][3]; s16 pad; s32 t[3]; } MTX_8017DE40;
typedef struct { s16 m[3][3]; s16 pad; s32 t[3]; } MTX_8017E4D8;
typedef struct { s16 m[3][3]; s16 pad; s32 t[3]; } MTX_8017EA48;
typedef struct { s16 m[3][3]; s32 t[3]; } MTX_8017F55C;
typedef struct { s16 m[3][3]; s32 t[3]; } MTX_8017F700;
typedef struct { s16 m[3][3]; s32 t[3]; } MTX_8017FA1C;
typedef struct { s16 m[3][3]; s32 t[3]; } MTX_80180F7C;
typedef struct { s16 m[3][3]; s32 t[3]; } MTX_80181394;
typedef struct { s16 m[3][3]; s32 t[3]; } MTX_80181574;
typedef struct { s16 m[3][3]; s32 t[3]; } MTX_80181708;
typedef struct { short m[3][3]; long t[3]; } MTX_80181824;
typedef MATRIX MTX_8017F55C;
typedef MATRIX MTX_8017F700;
typedef MATRIX MTX_8017FA1C;
typedef MATRIX MTX_80180F7C;
typedef MATRIX MTX_80181394;
typedef MATRIX MTX_80181574;
typedef MATRIX MTX_80181708;
typedef MATRIX MTX_80181824;
typedef struct { s16 m[3][3]; s16 pad; s32 t[3]; } MTX_8018256C;
typedef struct { s16 m[3][3]; s16 pad; s32 t[3]; } MTX_80182CB8;
typedef struct { short m[3][3]; long t[3]; } MTX_80182D80;
typedef struct { short m[3][3]; long t[3]; } MTX_80182D80_80181DE0;
typedef struct { short m[3][3]; long t[3]; } MTX_80182D80_80185774;
typedef struct { short m[3][3]; long t[3]; } MTX_80182D80_801863A4;
typedef MATRIX MTX_80182D80;
typedef MATRIX MTX_80182D80_80181DE0;
typedef MATRIX MTX_80182D80_80185774;
typedef MATRIX MTX_80182D80_801863A4;
typedef struct { s16 m[3][3]; s16 pad; s32 t[3]; } MTX_801836B8;
typedef struct { s16 m[3][3]; s32 t[3]; } MTX_80184F18;
typedef struct { short m[3][3]; long t[3]; } MTX_801851A8;
typedef struct { short m[3][3]; long t[3]; } MTX_801851A8_80182D18;
typedef struct { short m[3][3]; long t[3]; } MTX_801851A8_80184E84;
typedef struct { short m[3][3]; long t[3]; } MTX_801851A8_80185D2C;
typedef struct { short m[3][3]; long t[3]; } MTX_801875E4;
typedef struct { short m[3][3]; long t[3]; } MTX_801875E4_8018848C;
typedef struct { s16 m[3][3]; s32 t[3]; } MTX_80187714;
typedef struct { short m[3][3]; long t[3]; } MTX_80187C64;
typedef struct { short m[3][3]; long t[3]; } MTX_80188B0C;
typedef struct { s16 m[3][3]; s32 t[3]; } MTX_8018FE20;
typedef struct { s16 m[3][3]; s32 t[3]; } MTX_C59C;
typedef struct { s16 m[3][3]; s32 t[3]; } MTX_C6F4;
typedef struct { s16 m[3][3]; s32 t[3]; } MTX_D538;
typedef struct { s16 m[3][3]; s32 t[3]; } MTX_DF98;
typedef struct { s16 m[3][3]; s32 t[3]; } MTX_EDF8;
typedef struct { s16 m[3][3]; s32 t[3]; } MTX_FD64;
typedef struct { s16 m[3][3]; s32 t[3]; } MT_8017EC4C;
typedef MATRIX MTX_80184F18;
typedef MATRIX MTX_801851A8;
typedef MATRIX MTX_801851A8_80182D18;
typedef MATRIX MTX_801851A8_80184E84;
typedef MATRIX MTX_801851A8_80185D2C;
typedef MATRIX MTX_801875E4;
typedef MATRIX MTX_801875E4_8018848C;
typedef MATRIX MTX_80187714;
typedef MATRIX MTX_80187C64;
typedef MATRIX MTX_80188B0C;
typedef MATRIX MTX_8018FE20;
typedef MATRIX MTX_C59C;
typedef MATRIX MTX_C6F4;
typedef MATRIX MTX_D538;
typedef MATRIX MTX_DF98;
typedef MATRIX MTX_EDF8;
typedef MATRIX MTX_FD64;
typedef MATRIX MT_8017EC4C;
typedef struct { s32 w[8]; } Mat32L;
typedef struct { s32 w[8]; } Mat32_8017E2BC;
typedef struct { s32 w[8]; } Mat32_8017E910;
@@ -4562,7 +4526,7 @@ typedef struct {
u16 fa; /* 0x0a */
} MatEntry_80187B04;
typedef struct { s16 m[16]; } Mat_80183C9C;
typedef struct { s16 m[3][3]; s32 t[3]; } Mat_80187A04;
typedef MATRIX Mat_80187A04;
typedef struct {
s16 x;
s16 y;
@@ -4589,14 +4553,14 @@ typedef struct {
s32 extra;
} Msg_80187050;
typedef struct { s32 w[8]; } Mtx32_80180088;
typedef struct { s16 m[3][3]; s32 t[3]; } Mtx32_80182938;
typedef struct { s16 m[3][3]; s32 t[3]; } Mtx32_80183A28;
typedef struct { s16 m[3][3]; s32 t[3]; } Mtx32_80185480;
typedef MATRIX Mtx32_80182938;
typedef MATRIX Mtx32_80183A28;
typedef MATRIX Mtx32_80185480;
typedef struct { s32 w[8]; } Mtx32_80186A34;
typedef struct { s16 m[3][3]; s32 t[3]; } Mtx32_80187654;
typedef MATRIX Mtx32_80187654;
typedef struct { s32 w[8]; } Mtx8;
typedef struct { s32 w[8]; } Mtx8_80189E18;
typedef struct { s16 m[3][3]; s32 t[3]; } Mtx8_8018AF58;
typedef MATRIX Mtx8_8018AF58;
typedef struct {
s16 m[3][3];
s16 pad;
@@ -4609,31 +4573,19 @@ typedef struct {
u8 _gap2[52]; /* sp+0x64..0x98 : never referenced by an instruction */
} Frame1;
typedef struct { s32 m[5]; s32 t[3]; } MtxW;
typedef struct { s16 m[3][3]; s32 t[3]; } Mtx_8017D278;
typedef struct {
s16 m[3][3]; /* +0x00, padded to 0x14 */
s32 t[3]; /* +0x14 +0x18 +0x1C */
} Mtx_8017DC24;
typedef struct { short m[3][3]; long t[3]; } Mtx_8017DECC;
typedef struct { short m[3][3]; long t[3]; } Mtx_8017E3F0;
typedef struct { s16 m[3][3]; s32 t[3]; } Mtx_8017E8A0;
typedef struct { s16 m[3][3]; s32 t[3]; } Mtx_8017E95C;
typedef MATRIX Mtx_8017D278;
typedef MATRIX Mtx_8017DC24;
typedef MATRIX Mtx_8017DECC;
typedef MATRIX Mtx_8017E3F0;
typedef MATRIX Mtx_8017E8A0;
typedef MATRIX Mtx_8017E95C;
typedef struct { s32 w[8]; } Mtx_8017F370;
typedef struct {
s16 m[3][3]; /* +0x00, padded to 0x14 */
s32 t[3]; /* +0x14 +0x18 +0x1C */
} Mtx_8017F6A8;
typedef struct { short m[3][3]; long t[3]; } Mtx_8017FC10;
typedef struct {
s16 m[3][3]; /* +0x00, padded to 0x14 */
s32 t[3]; /* +0x14 +0x18 +0x1C */
} Mtx_8018012C;
typedef MATRIX Mtx_8017F6A8;
typedef MATRIX Mtx_8017FC10;
typedef MATRIX Mtx_8018012C;
typedef struct { s32 w[8]; } Mtx_80180C38;
typedef struct { s16 m[3][3]; s32 t[3]; } Mtx_801812AC;
typedef struct {
s16 m[3][3]; /* +0x00, padded to 0x14 */
s32 t[3]; /* +0x14 +0x18 +0x1C */
} Mtx_80185C0C;
typedef MATRIX Mtx_801812AC;
typedef MATRIX Mtx_80185C0C;
typedef struct {
s16 m[9]; /* 0x00 */
s16 pad; /* 0x12 */
@@ -6228,7 +6180,7 @@ typedef struct {
s16 f6;
} D_80195AF6_t;
struct Ent_SC07_010_8017AE2C { u8 pad[0xDC]; s32 unkDC; u8 pad_E0[0x1C]; u16 unkFC; };
typedef struct { s16 m[3][3]; s32 t[3]; } MTX_CF90;
typedef MATRIX MTX_CF90;
typedef struct {
u8 pad_00[0x20];
void *f_20;
@@ -6665,7 +6617,7 @@ typedef struct {
} Ent_80180AE8;
typedef struct { u16 x, y, z, pad; s32 w1, w2; } Ent_801DFBF8;
typedef struct { u16 x; s16 y; s16 z; u16 pad; s32 w1, w2; } Ent_801DFBF8_SC06_029_80182334;
typedef struct EntD820
typedef struct
{
u16 f0;
u16 f2;
@@ -6729,13 +6681,13 @@ typedef struct {
s32 f8;
} Local_801870E8;
typedef struct { Blk8L_SC06_027_8017D104 pad; Blk8L_SC06_027_8017D104 a; Blk8L_SC06_027_8017D104 b; } Locs;
typedef struct { s16 m[3][3]; s32 t[3]; } M32_8017F154;
typedef struct { s16 m[3][3]; s32 t[3]; } M32_80188094;
typedef MATRIX M32_8017F154;
typedef MATRIX M32_80188094;
typedef struct { u8 b[8]; } M8_SC02_005_8017F7CC;
typedef struct { s16 m[3][3]; s16 pad; s32 t[3]; } MTX_8017FE38;
typedef struct { s16 m[3][3]; s16 pad; s32 t[3]; } MTX_8017FE38_80183FE0;
typedef struct { short m[3][3]; long t[3]; } MTX_80183940;
typedef struct { short m[3][3]; long t[3]; } MTX_85810;
typedef MATRIX MTX_80183940;
typedef MATRIX MTX_85810;
typedef struct { s32 m[8]; } Mtx8_8017DE10_8017E710_SC03_006_8018450C;
typedef struct { s32 w[8]; } Mtx_8018A0E0;
typedef struct { u8 pad[0x3C]; s32 x3C; s32 x40; s32 x44; s32 x48; s32 x4C; s32 x50; } OB;
@@ -7214,8 +7166,8 @@ typedef struct {
} buf_80189888;
/* --- lift_types.py --census (P38 T5.1.c2, batch md) --- */
typedef struct { short m[3][3]; long t[3]; } MATRIX_801EDED4_801E2B1C;
typedef struct { short m[3][3]; long t[3]; } MATRIX_801EDED4_801EF98C;
typedef MATRIX MATRIX_801EDED4_801E2B1C;
typedef MATRIX MATRIX_801EDED4_801EF98C;
typedef struct { s32 m[8]; } Mat_800CB658;
typedef SVECTOR SVECTOR_801EDED4_801E2B1C;
typedef SVECTOR SVECTOR_801EDED4_801EF98C;
+2 -1
View File
@@ -1034,7 +1034,8 @@ def fold_plan(tsv, only, exclude, want_tier1, want_sdk):
for sname, smem, _sd in ss:
grp = {n for d in defs if d.get("lhash") == lh and (_sdk_ev(d, smem) or sname in d["names"])
for n in d["names"] + ([d["tag"]] if d["tag"] else [])}
if not grp or grp == {sname} or (only and not any(c["names"] & grp for c in classes)):
if not grp or grp == {sname} or (only and lh + ":sdk" not in only
and not any(c["names"] & grp for c in classes)):
continue
hit = [c for c in classes if c["names"] & grp]
if hit: