diff --git a/src/ov_MAIN_012/ov_MAIN_012.c b/src/ov_MAIN_012/ov_MAIN_012.c index efab764ae8..c3f6376a26 100644 --- a/src/ov_MAIN_012/ov_MAIN_012.c +++ b/src/ov_MAIN_012/ov_MAIN_012.c @@ -1053,7 +1053,6 @@ void func_8012BF4C(s32 *a0, s32 a1) { #include "../shared/ov/func_8012C820.h" - typedef struct { s8 c[8]; } Blk8_8012C890; // @class: schedule // @unstuck(P36): none — MATCH (149 ins). Counter (*(u16 *)&D_801270C4): gcc CSE's the two reads (store to @@ -1376,7 +1375,6 @@ void func_8012E284(void) { #include "../shared/ov/func_8012E32C.h" - typedef struct { s8 c[8]; } Blk8_8012E364; /* func_8012E364 (ov_SC01_077_jr_8012ACE0) — MATCH, 67/67 ins, 0 mismatched (reloc-masked). * @@ -1597,7 +1595,6 @@ void func_8012E9C0(int param_1) #include "../shared/ov/func_8012EF70.h" - typedef struct { s8 c[8]; } Blk8_8012EFB8; /* §37/§124 asm-label alias: the fleet canon declares this `extern void * func_8012EFB8(s32 a0);` inside the DEFINE_func_* macros in @@ -1716,7 +1713,6 @@ void func_8012F8C8(int param_1) #include "../shared/ov/func_8012FCA4.h" - typedef struct { s8 c[8]; } Blk8_8012FCC4; // @class: schedule // @unstuck(P36): none — MATCH (57 ins), byte-exact via rtu_match on the real TU. @@ -2020,7 +2016,6 @@ extern s32 func_8012BCCC(s32 a0); extern s32 func_80131A34(s32, s32); extern s32 func_80131AC8(void *a0); extern void func_80131B14(void); - typedef struct { s8 c[8]; } Blk8_80131170; // @class: loop-guard diff --git a/src/ov_MAIN_012/ov_MAIN_012_jr_80131340.c b/src/ov_MAIN_012/ov_MAIN_012_jr_80131340.c index 1353313a83..1fafb80849 100644 --- a/src/ov_MAIN_012/ov_MAIN_012_jr_80131340.c +++ b/src/ov_MAIN_012/ov_MAIN_012_jr_80131340.c @@ -532,7 +532,6 @@ extern void func_80131170(s32 p, s32 b, s32 c); extern s32 func_801312D0(s32 param_1, void *param_2); - typedef struct { s8 c[8]; } Blk8_80131340; // @class: plumbing @@ -874,7 +873,6 @@ extern void func_8012B23C(s32 a0); extern void func_8012B2CC(s32 a0); extern void func_8016AA50(int, int); extern s32 func_8016B428(s32); - typedef struct { s8 c[8]; } Blk8_80131B14; // @class: regalloc-order // @unstuck(P36): none — MATCH (89 ins). Reconcile: TU canonical decl is `void func_80131B14(void)` @@ -946,7 +944,6 @@ void func_80131B14(void) { #include "../shared/ov/func_80131C78.h" - typedef struct { s8 c[8]; } Blk8_80131CA8; /* func_80131CA8 — RECONCILE (§37/§124 asm-label alias) * @@ -976,7 +973,6 @@ extern s32 func_80131CF4(); // K&R: 1/2 of 2 args (P37 unalias t4_ua6) #include "../shared/ov/func_80131CA8.h" - typedef struct { s8 c[8]; } Blk8_80131CF4; /* func_80131CF4 — table lookup: walk (key, value) pairs; key 0xD chains to the @@ -1247,7 +1243,6 @@ void func_8013277C(void) { #include "../shared/ov/func_80132EF4.h" - typedef struct { s8 c[8]; } Blk8_80132F40; /* func_80132F40 — ov_SC01_077 (jr_8012ACE0 region), 72 ins, -O2. *** MATCH *** * @@ -2028,7 +2023,6 @@ int func_80134A74(int param_1, s16 param_2, s16 param_3, int param_4) } - typedef struct { s8 c[8]; } Blk8_80134C20; // @class: regalloc-order // @try: variant B — direct pins m=$s5($21), c=$s6($22) @@ -2121,7 +2115,6 @@ block_14: #include "../shared/ov/func_80134FB8.h" - typedef struct { s8 c[8]; } Blk8_80135004; // @class: plumbing // @stuck: MATCH (89 ins). To BANK: retype aD8017E914_80135004 + aD8017E910_80135004 (u8 -> s16*) in sibling func_80135168's externs (src/ov_SC01_077/ov_SC01_077_a.c ~L1879); they hold pointers double-referenced across a call, so only a 4-byte/pointer decl folds %lo (u8 &-cast CSE's the address into a saved reg). Retype is byte-NEUTRAL for the sibling (verified: identical objdump bytes u8 vs s16*). @@ -2232,7 +2225,6 @@ int func_80135168(u16 arg0, u16 *p1, u16 *p2) } - typedef struct { s8 c[8]; } Blk8_80135260; /* func_80135260 — "is reachable/hittable" gate (136 ins, ov_SC01_077 jr_8012ACE0). diff --git a/src/ov_MAIN_012/ov_MAIN_012_jr_801458E0.c b/src/ov_MAIN_012/ov_MAIN_012_jr_801458E0.c index 314d692b20..885ed74252 100644 --- a/src/ov_MAIN_012/ov_MAIN_012_jr_801458E0.c +++ b/src/ov_MAIN_012/ov_MAIN_012_jr_801458E0.c @@ -1525,13 +1525,6 @@ void aF80146A6C(s16 a0, s32 a1, s16 a2, s16 a3, u16 a4, s32 a5, s32 a6) __asm__( extern s32 func_80146B9C(void * arg0); - typedef struct - { - u16 x; - u16 y; - u16 z; - u16 w; - } V4_80146AFC; /* func_80146AFC — ASCENDING twin of the byte-proven DEFINE_func_80146B9C() * in src/shared/engine_core.h (cookbook §71: find the already-matched sibling first). @@ -2351,13 +2344,6 @@ s32 func_80149FB0(s32 a0) { #include "../shared/ov/func_8014A71C.h" - typedef struct - { - u16 x; - u16 y; - u16 z; - u16 w; - } V4_8014A738; @@ -2915,14 +2901,6 @@ void func_8014D738(void) #include "../shared/ov/func_8014D790.h" - typedef Unkstruct_800B5CB8 Ent_8014D820; - typedef struct - { - u16 x; - u16 y; - u16 z; - u16 w; - } V4_8014D820; // @class: schedule // @unstuck(P36): none — MATCH (304/304), symcheck SYMS-OK 12/12, and the whole-TU cc1 stage now compiles CLEAN @@ -3814,13 +3792,6 @@ s32 func_801506A4(s32 arg0, s32 arg1) { #include "../shared/ov/func_801508F8.h" - typedef struct - { - u16 x; - u16 y; - u16 z; - u16 w; - } V4_8015094C; extern s32 func_80021174(s32 a0, s32 a1); diff --git a/src/ov_MAIN_012/ov_MAIN_012_jr_8015A3C8.c b/src/ov_MAIN_012/ov_MAIN_012_jr_8015A3C8.c index 0237db59d2..92af21bfaa 100644 --- a/src/ov_MAIN_012/ov_MAIN_012_jr_8015A3C8.c +++ b/src/ov_MAIN_012/ov_MAIN_012_jr_8015A3C8.c @@ -8241,25 +8241,6 @@ void func_80168D94(int a0) { -typedef struct { - u16 f00; - u16 f02; - u16 f04; - u16 pad06; - u16 f08; - u16 f0A; - u16 f0C; - u16 pad0E; - u8 f10; - u8 f11; - u8 f12; - u8 pad13; - u8 f14; - u8 f15; - u8 f16; - u8 pad17; - u32 f18; -} S1_80168F40; extern s32 func_80016A5C(); diff --git a/src/ov_MAIN_012/ov_MAIN_012_jr_8016AB6C.c b/src/ov_MAIN_012/ov_MAIN_012_jr_8016AB6C.c index dd602d1f4b..eb5aec318d 100644 --- a/src/ov_MAIN_012/ov_MAIN_012_jr_8016AB6C.c +++ b/src/ov_MAIN_012/ov_MAIN_012_jr_8016AB6C.c @@ -1,25 +1,6 @@ #include "common.h" #include "../shared/engine_prelude.h" -typedef struct { - u16 f00; - u16 f02; - u16 f04; - u16 pad06; - u16 f08; - u16 f0A; - u16 f0C; - u16 pad0E; - u8 f10; - u8 f11; - u8 f12; - u8 pad13; - u8 f14; - u8 f15; - u8 f16; - u8 pad17; - u32 f18; -} S1_80168F40; extern void func_80128288(void); extern void func_80128158(void); extern void func_801285E4(void); diff --git a/src/ov_MAIN_012/ov_MAIN_012_jr_8016AE5C.c b/src/ov_MAIN_012/ov_MAIN_012_jr_8016AE5C.c index 410f09b7b3..a35e972698 100644 --- a/src/ov_MAIN_012/ov_MAIN_012_jr_8016AE5C.c +++ b/src/ov_MAIN_012/ov_MAIN_012_jr_8016AE5C.c @@ -1,25 +1,6 @@ #include "common.h" #include "../shared/engine_prelude.h" -typedef struct { - u16 f00; - u16 f02; - u16 f04; - u16 pad06; - u16 f08; - u16 f0A; - u16 f0C; - u16 pad0E; - u8 f10; - u8 f11; - u8 f12; - u8 pad13; - u8 f14; - u8 f15; - u8 f16; - u8 pad17; - u32 f18; -} S1_80168F40; extern void func_80128288(void); extern void func_80128158(void); extern void func_801285E4(void); @@ -2971,12 +2952,6 @@ LOOP: } -typedef struct { - SVECTOR v[4]; /* 0x00 */ - s32 f0, f1, f2, f3, f4, f5; /* 0x20..0x37 */ - u8 f6; /* 0x38 */ - u8 pad[7]; /* -> 0x40 */ -} Prim_8016E7C8_8016B6BC; // @class: schedule // @unstuck(P36): none — MATCH (94/94 ins, match_one relocation-masked) @@ -3098,12 +3073,6 @@ int func_8016B834(int param_1, int param_2) { #include "../shared/ov/func_8016B984.h" -typedef struct { - SVECTOR v[4]; /* 0x00 */ - s32 f0, f1, f2, f3, f4, f5; /* 0x20..0x37 */ - u8 f6; /* 0x38 */ - u8 pad[7]; /* -> 0x40 */ -} Prim_8016E7C8_8016B9F8; // @class: regalloc-order // @unstuck(P36): none — MATCH (result is func_8012EFB8's return saved in $s0 across the func_80015954 call; the save-move fills the 2nd call's delay slot. func_80015954's return is discarded.) @@ -3451,12 +3420,6 @@ void func_8016C188(s32 param) } -typedef struct { - SVECTOR v[4]; /* 0x00 */ - s32 f0, f1, f2, f3, f4, f5; /* 0x20..0x37 */ - u8 f6; /* 0x38 */ - u8 pad[7]; /* -> 0x40 */ -} Prim_8016E7C8_8016C2C4; // @class: schedule // @unstuck(P36): none — MATCH (44 ins; pins $s0/$s1 + hoist call-arg into a temp so its load fills the buf-store delay slot) @@ -3672,12 +3635,6 @@ void func_8016CB84(void *a0) { } -typedef struct { - SVECTOR v[4]; /* 0x00 */ - s32 f0, f1, f2, f3, f4, f5; /* 0x20..0x37 */ - u8 f6; /* 0x38 */ - u8 pad[7]; /* -> 0x40 */ -} Prim_8016E7C8_8016CBC0; extern s32 func_80017758(void *a0, void *a1); short func_8016CBC0(void) @@ -4598,12 +4555,6 @@ void func_8016EAC0(Wave *param_1) } -typedef struct { - SVECTOR v[4]; /* 0x00 */ - s32 f0, f1, f2, f3, f4, f5; /* 0x20..0x37 */ - u8 f6; /* 0x38 */ - u8 pad[7]; /* -> 0x40 */ -} Prim_8016E7C8_8016EB3C; // @class: loose-typing // @unstuck(P36): none — MATCH (u8 v + 0xFF emits addiu 0xFF; v-1 would emit -1/0xffff) @@ -4650,12 +4601,6 @@ void func_8016EBA8(u8 *param_1) } -typedef struct { - SVECTOR v[4]; /* 0x00 */ - s32 f0, f1, f2, f3, f4, f5; /* 0x20..0x37 */ - u8 f6; /* 0x38 */ - u8 pad[7]; /* -> 0x40 */ -} Prim_8016E7C8_8016EC0C; extern void func_80017B98(void *a0); @@ -4785,12 +4730,6 @@ void func_8016ED6C(void) { #include "../shared/ov/func_8016F1AC.h" -typedef struct { - SVECTOR v[4]; /* 0x00 */ - s32 f0, f1, f2, f3, f4, f5; /* 0x20..0x37 */ - u8 f6; /* 0x38 */ - u8 pad[7]; /* -> 0x40 */ -} Prim_8016E7C8_8016F1C4; // @class: schedule // @unstuck(P36): none — MATCH diff --git a/src/ov_MAIN_012/ov_MAIN_012_jr_80171B4C.c b/src/ov_MAIN_012/ov_MAIN_012_jr_80171B4C.c index 40a87ac7ae..efa4f9d805 100644 --- a/src/ov_MAIN_012/ov_MAIN_012_jr_80171B4C.c +++ b/src/ov_MAIN_012/ov_MAIN_012_jr_80171B4C.c @@ -1,68 +1,7 @@ #include "common.h" #include "../shared/engine_prelude.h" -typedef struct { - u16 f00; - u16 f02; - u16 f04; - u16 pad06; - u16 f08; - u16 f0A; - u16 f0C; - u16 pad0E; - u8 f10; - u8 f11; - u8 f12; - u8 pad13; - u8 f14; - u8 f15; - u8 f16; - u8 pad17; - u32 f18; -} S1_80168F40; -typedef struct { - SVECTOR v[4]; /* 0x00 */ - s32 f0, f1, f2, f3, f4, f5; /* 0x20..0x37 */ - u8 f6; /* 0x38 */ - u8 pad[7]; /* -> 0x40 */ -} Prim_8016E7C8_8016B6BC; -typedef struct { - SVECTOR v[4]; /* 0x00 */ - s32 f0, f1, f2, f3, f4, f5; /* 0x20..0x37 */ - u8 f6; /* 0x38 */ - u8 pad[7]; /* -> 0x40 */ -} Prim_8016E7C8_8016B9F8; -typedef struct { - SVECTOR v[4]; /* 0x00 */ - s32 f0, f1, f2, f3, f4, f5; /* 0x20..0x37 */ - u8 f6; /* 0x38 */ - u8 pad[7]; /* -> 0x40 */ -} Prim_8016E7C8_8016C2C4; -typedef struct { - SVECTOR v[4]; /* 0x00 */ - s32 f0, f1, f2, f3, f4, f5; /* 0x20..0x37 */ - u8 f6; /* 0x38 */ - u8 pad[7]; /* -> 0x40 */ -} Prim_8016E7C8_8016CBC0; typedef void (*Handler)(struct Entry *); -typedef struct { - SVECTOR v[4]; /* 0x00 */ - s32 f0, f1, f2, f3, f4, f5; /* 0x20..0x37 */ - u8 f6; /* 0x38 */ - u8 pad[7]; /* -> 0x40 */ -} Prim_8016E7C8_8016EB3C; -typedef struct { - SVECTOR v[4]; /* 0x00 */ - s32 f0, f1, f2, f3, f4, f5; /* 0x20..0x37 */ - u8 f6; /* 0x38 */ - u8 pad[7]; /* -> 0x40 */ -} Prim_8016E7C8_8016EC0C; -typedef struct { - SVECTOR v[4]; /* 0x00 */ - s32 f0, f1, f2, f3, f4, f5; /* 0x20..0x37 */ - u8 f6; /* 0x38 */ - u8 pad[7]; /* -> 0x40 */ -} Prim_8016E7C8_8016F1C4; extern void func_80128288(void); extern void func_80128158(void); extern void func_801285E4(void); @@ -4150,12 +4089,6 @@ void func_80175AB8(param_1) } -typedef struct { - SVECTOR v[4]; /* 0x00 */ - s32 f0, f1, f2, f3, f4, f5; /* 0x20..0x37 */ - u8 f6; /* 0x38 */ - u8 pad[7]; /* -> 0x40 */ -} Prim_8016E7C8_80175DA8; /* size 0x0C */ extern u32 *func_8017742C(u32 *a0, s32 a1, s32 a2); @@ -4291,12 +4224,6 @@ void func_80175DA8(param_1) #include "../shared/ov/func_80176144.h" -typedef struct { - SVECTOR v[4]; /* 0x00 */ - s32 f0, f1, f2, f3, f4, f5; /* 0x20..0x37 */ - u8 f6; /* 0x38 */ - u8 pad[7]; /* -> 0x40 */ -} Prim_8016E7C8_80176218; // @class: regalloc-order @@ -4532,12 +4459,6 @@ L63C: } -typedef struct { - SVECTOR v[4]; /* 0x00 */ - s32 f0, f1, f2, f3, f4, f5; /* 0x20..0x37 */ - u8 f6; /* 0x38 */ - u8 pad[7]; /* -> 0x40 */ -} Prim_8016E7C8_80176734; void func_80176734(s32 param_1) { @@ -4819,12 +4740,6 @@ Ltail: #include "../shared/ov/func_80177AD4.h" -typedef struct { - SVECTOR v[4]; /* 0x00 */ - s32 f0, f1, f2, f3, f4, f5; /* 0x20..0x37 */ - u8 f6; /* 0x38 */ - u8 pad[7]; /* -> 0x40 */ -} Prim_8016E7C8_80177B5C; /* func_80177B5C - MATCH (147/147 ins), wave23. * @@ -4985,12 +4900,6 @@ s16 y; } -typedef struct { - SVECTOR v[4]; /* 0x00 */ - s32 f0, f1, f2, f3, f4, f5; /* 0x20..0x37 */ - u8 f6; /* 0x38 */ - u8 pad[7]; /* -> 0x40 */ -} Prim_8016E7C8_80177DA8; void func_80177DA8(p, v, idx) @@ -5120,12 +5029,6 @@ void func_80178840(int param_1) #include "../shared/ov/func_801788B8.h" -typedef struct { - SVECTOR v[4]; /* 0x00 */ - s32 f0, f1, f2, f3, f4, f5; /* 0x20..0x37 */ - u8 f6; /* 0x38 */ - u8 pad[7]; /* -> 0x40 */ -} Prim_8016E7C8_80178970; // @class: regalloc-order // @stuck: none — MATCH (result pinned to $v0 forces call-result copy to $v1 + delay-slot zero) diff --git a/src/ov_MAIN_012/ov_MAIN_012_jr_801789AC.c b/src/ov_MAIN_012/ov_MAIN_012_jr_801789AC.c index 3941a7626f..0e00f70025 100644 --- a/src/ov_MAIN_012/ov_MAIN_012_jr_801789AC.c +++ b/src/ov_MAIN_012/ov_MAIN_012_jr_801789AC.c @@ -1,104 +1,7 @@ #include "common.h" #include "../shared/engine_prelude.h" -typedef struct { - u16 f00; - u16 f02; - u16 f04; - u16 pad06; - u16 f08; - u16 f0A; - u16 f0C; - u16 pad0E; - u8 f10; - u8 f11; - u8 f12; - u8 pad13; - u8 f14; - u8 f15; - u8 f16; - u8 pad17; - u32 f18; -} S1_80168F40; -typedef struct { - SVECTOR v[4]; /* 0x00 */ - s32 f0, f1, f2, f3, f4, f5; /* 0x20..0x37 */ - u8 f6; /* 0x38 */ - u8 pad[7]; /* -> 0x40 */ -} Prim_8016E7C8_8016B6BC; -typedef struct { - SVECTOR v[4]; /* 0x00 */ - s32 f0, f1, f2, f3, f4, f5; /* 0x20..0x37 */ - u8 f6; /* 0x38 */ - u8 pad[7]; /* -> 0x40 */ -} Prim_8016E7C8_8016B9F8; -typedef struct { - SVECTOR v[4]; /* 0x00 */ - s32 f0, f1, f2, f3, f4, f5; /* 0x20..0x37 */ - u8 f6; /* 0x38 */ - u8 pad[7]; /* -> 0x40 */ -} Prim_8016E7C8_8016C2C4; -typedef struct { - SVECTOR v[4]; /* 0x00 */ - s32 f0, f1, f2, f3, f4, f5; /* 0x20..0x37 */ - u8 f6; /* 0x38 */ - u8 pad[7]; /* -> 0x40 */ -} Prim_8016E7C8_8016CBC0; typedef void (*Handler)(struct Entry *); -typedef struct { - SVECTOR v[4]; /* 0x00 */ - s32 f0, f1, f2, f3, f4, f5; /* 0x20..0x37 */ - u8 f6; /* 0x38 */ - u8 pad[7]; /* -> 0x40 */ -} Prim_8016E7C8_8016EB3C; -typedef struct { - SVECTOR v[4]; /* 0x00 */ - s32 f0, f1, f2, f3, f4, f5; /* 0x20..0x37 */ - u8 f6; /* 0x38 */ - u8 pad[7]; /* -> 0x40 */ -} Prim_8016E7C8_8016EC0C; -typedef struct { - SVECTOR v[4]; /* 0x00 */ - s32 f0, f1, f2, f3, f4, f5; /* 0x20..0x37 */ - u8 f6; /* 0x38 */ - u8 pad[7]; /* -> 0x40 */ -} Prim_8016E7C8_8016F1C4; -typedef struct { - SVECTOR v[4]; /* 0x00 */ - s32 f0, f1, f2, f3, f4, f5; /* 0x20..0x37 */ - u8 f6; /* 0x38 */ - u8 pad[7]; /* -> 0x40 */ -} Prim_8016E7C8_80175DA8; -typedef struct { - SVECTOR v[4]; /* 0x00 */ - s32 f0, f1, f2, f3, f4, f5; /* 0x20..0x37 */ - u8 f6; /* 0x38 */ - u8 pad[7]; /* -> 0x40 */ -} Prim_8016E7C8_80176218; -typedef struct { - SVECTOR v[4]; /* 0x00 */ - s32 f0, f1, f2, f3, f4, f5; /* 0x20..0x37 */ - u8 f6; /* 0x38 */ - u8 pad[7]; /* -> 0x40 */ -} Prim_8016E7C8_80176734; -typedef struct { - SVECTOR v[4]; /* 0x00 */ - s32 f0, f1, f2, f3, f4, f5; /* 0x20..0x37 */ - u8 f6; /* 0x38 */ - u8 pad[7]; /* -> 0x40 */ -} Prim_8016E7C8_80177B5C; -typedef struct { - SVECTOR v[4]; /* 0x00 */ - s32 f0, f1, f2, f3, f4, f5; /* 0x20..0x37 */ - u8 f6; /* 0x38 */ - u8 pad[7]; /* -> 0x40 */ -} Prim_8016E7C8_80177DA8; -typedef struct { - SVECTOR v[4]; /* 0x00 */ - s32 f0, f1, f2, f3, f4, f5; /* 0x20..0x37 */ - u8 f6; /* 0x38 */ - u8 pad[7]; /* -> 0x40 */ -} Prim_8016E7C8_80178970; extern void func_80128288(void); extern void func_80128158(void); extern void func_801285E4(void); @@ -4956,7 +4859,6 @@ void func_8017A4AC(void) { #include "../shared/ov/func_8017AE08.h" -typedef struct { s16 m[3][3]; s32 t[3]; } MTX_C974; extern s32 func_8012B608(s32 a0, s32 a1, s32 a2); extern void func_8012B178(s32 a0, s32 a1); @@ -5103,7 +5005,6 @@ void func_8017B1D8(void) { extern void func_8012A018(s32 a, s32 b); -typedef struct { s16 m[3][3]; s32 t[3]; } MTX_C974_8017B238; // @class: regalloc-order — simplified sibling of matched func_8017B614. // @unstuck(P36): none. Block-moves are align-1 struct-assigns (u8[8]) -> emit_block_move @@ -5461,9 +5362,6 @@ void func_8017B940(void) } -typedef struct { s16 vx, vy; } DVEC2_C974_8017BA3C; -typedef struct { s16 m[3][3]; s32 t[3]; } MTX_C974_8017BA3C; -typedef struct { s16 vx, vy, vz, pad; } SVEC2_C974_8017BA3C; // @class: struct @@ -5517,7 +5415,6 @@ void func_8017BA3C(s32 param_1, s32 param_2) extern void func_8004914C(void *a0); extern void func_800491AC(void *a0); extern void func_80049CAC(s32 a0, s32 a1); -typedef struct { s16 m[3][3]; s32 t[3]; } MTX_C974_8017BB34; @@ -5914,7 +5811,6 @@ void func_8017C268(void) } - typedef struct { s8 c[8]; } Blk8_8012C890_8017C348; /* func_8017C348 @ 0x8017C24C -- ov_MAIN_012 (7 ins). * diff --git a/src/ov_MAIN_012/ov_MAIN_012_jr_8017C3BC.c b/src/ov_MAIN_012/ov_MAIN_012_jr_8017C3BC.c index 1c22554b65..1d1b8be8d7 100644 --- a/src/ov_MAIN_012/ov_MAIN_012_jr_8017C3BC.c +++ b/src/ov_MAIN_012/ov_MAIN_012_jr_8017C3BC.c @@ -1,110 +1,7 @@ #include "common.h" #include "../shared/engine_prelude.h" -typedef struct { - u16 f00; - u16 f02; - u16 f04; - u16 pad06; - u16 f08; - u16 f0A; - u16 f0C; - u16 pad0E; - u8 f10; - u8 f11; - u8 f12; - u8 pad13; - u8 f14; - u8 f15; - u8 f16; - u8 pad17; - u32 f18; -} S1_80168F40; -typedef struct { - SVECTOR v[4]; /* 0x00 */ - s32 f0, f1, f2, f3, f4, f5; /* 0x20..0x37 */ - u8 f6; /* 0x38 */ - u8 pad[7]; /* -> 0x40 */ -} Prim_8016E7C8_8016B6BC; -typedef struct { - SVECTOR v[4]; /* 0x00 */ - s32 f0, f1, f2, f3, f4, f5; /* 0x20..0x37 */ - u8 f6; /* 0x38 */ - u8 pad[7]; /* -> 0x40 */ -} Prim_8016E7C8_8016B9F8; -typedef struct { - SVECTOR v[4]; /* 0x00 */ - s32 f0, f1, f2, f3, f4, f5; /* 0x20..0x37 */ - u8 f6; /* 0x38 */ - u8 pad[7]; /* -> 0x40 */ -} Prim_8016E7C8_8016C2C4; -typedef struct { - SVECTOR v[4]; /* 0x00 */ - s32 f0, f1, f2, f3, f4, f5; /* 0x20..0x37 */ - u8 f6; /* 0x38 */ - u8 pad[7]; /* -> 0x40 */ -} Prim_8016E7C8_8016CBC0; typedef void (*Handler)(struct Entry *); -typedef struct { - SVECTOR v[4]; /* 0x00 */ - s32 f0, f1, f2, f3, f4, f5; /* 0x20..0x37 */ - u8 f6; /* 0x38 */ - u8 pad[7]; /* -> 0x40 */ -} Prim_8016E7C8_8016EB3C; -typedef struct { - SVECTOR v[4]; /* 0x00 */ - s32 f0, f1, f2, f3, f4, f5; /* 0x20..0x37 */ - u8 f6; /* 0x38 */ - u8 pad[7]; /* -> 0x40 */ -} Prim_8016E7C8_8016EC0C; -typedef struct { - SVECTOR v[4]; /* 0x00 */ - s32 f0, f1, f2, f3, f4, f5; /* 0x20..0x37 */ - u8 f6; /* 0x38 */ - u8 pad[7]; /* -> 0x40 */ -} Prim_8016E7C8_8016F1C4; -typedef struct { - SVECTOR v[4]; /* 0x00 */ - s32 f0, f1, f2, f3, f4, f5; /* 0x20..0x37 */ - u8 f6; /* 0x38 */ - u8 pad[7]; /* -> 0x40 */ -} Prim_8016E7C8_80175DA8; -typedef struct { - SVECTOR v[4]; /* 0x00 */ - s32 f0, f1, f2, f3, f4, f5; /* 0x20..0x37 */ - u8 f6; /* 0x38 */ - u8 pad[7]; /* -> 0x40 */ -} Prim_8016E7C8_80176218; -typedef struct { - SVECTOR v[4]; /* 0x00 */ - s32 f0, f1, f2, f3, f4, f5; /* 0x20..0x37 */ - u8 f6; /* 0x38 */ - u8 pad[7]; /* -> 0x40 */ -} Prim_8016E7C8_80176734; -typedef struct { - SVECTOR v[4]; /* 0x00 */ - s32 f0, f1, f2, f3, f4, f5; /* 0x20..0x37 */ - u8 f6; /* 0x38 */ - u8 pad[7]; /* -> 0x40 */ -} Prim_8016E7C8_80177B5C; -typedef struct { - SVECTOR v[4]; /* 0x00 */ - s32 f0, f1, f2, f3, f4, f5; /* 0x20..0x37 */ - u8 f6; /* 0x38 */ - u8 pad[7]; /* -> 0x40 */ -} Prim_8016E7C8_80177DA8; -typedef struct { - SVECTOR v[4]; /* 0x00 */ - s32 f0, f1, f2, f3, f4, f5; /* 0x20..0x37 */ - u8 f6; /* 0x38 */ - u8 pad[7]; /* -> 0x40 */ -} Prim_8016E7C8_80178970; -typedef struct { s16 m[3][3]; s32 t[3]; } MTX_C974; -typedef struct { s16 m[3][3]; s32 t[3]; } MTX_C974_8017B238; -typedef struct { s16 vx, vy; } DVEC2_C974_8017BA3C; -typedef struct { s16 m[3][3]; s32 t[3]; } MTX_C974_8017BA3C; -typedef struct { s16 vx, vy, vz, pad; } SVEC2_C974_8017BA3C; -typedef struct { s16 m[3][3]; s32 t[3]; } MTX_C974_8017BB34; extern void func_80128288(void); extern void func_80128158(void); extern void func_801285E4(void); diff --git a/src/ov_MAIN_012/ov_MAIN_012_jr_8017CA18.c b/src/ov_MAIN_012/ov_MAIN_012_jr_8017CA18.c index 1b31bc10bc..8a1d0427a9 100644 --- a/src/ov_MAIN_012/ov_MAIN_012_jr_8017CA18.c +++ b/src/ov_MAIN_012/ov_MAIN_012_jr_8017CA18.c @@ -1,110 +1,7 @@ #include "common.h" #include "../shared/engine_prelude.h" -typedef struct { - u16 f00; - u16 f02; - u16 f04; - u16 pad06; - u16 f08; - u16 f0A; - u16 f0C; - u16 pad0E; - u8 f10; - u8 f11; - u8 f12; - u8 pad13; - u8 f14; - u8 f15; - u8 f16; - u8 pad17; - u32 f18; -} S1_80168F40; -typedef struct { - SVECTOR v[4]; /* 0x00 */ - s32 f0, f1, f2, f3, f4, f5; /* 0x20..0x37 */ - u8 f6; /* 0x38 */ - u8 pad[7]; /* -> 0x40 */ -} Prim_8016E7C8_8016B6BC; -typedef struct { - SVECTOR v[4]; /* 0x00 */ - s32 f0, f1, f2, f3, f4, f5; /* 0x20..0x37 */ - u8 f6; /* 0x38 */ - u8 pad[7]; /* -> 0x40 */ -} Prim_8016E7C8_8016B9F8; -typedef struct { - SVECTOR v[4]; /* 0x00 */ - s32 f0, f1, f2, f3, f4, f5; /* 0x20..0x37 */ - u8 f6; /* 0x38 */ - u8 pad[7]; /* -> 0x40 */ -} Prim_8016E7C8_8016C2C4; -typedef struct { - SVECTOR v[4]; /* 0x00 */ - s32 f0, f1, f2, f3, f4, f5; /* 0x20..0x37 */ - u8 f6; /* 0x38 */ - u8 pad[7]; /* -> 0x40 */ -} Prim_8016E7C8_8016CBC0; typedef void (*Handler)(struct Entry *); -typedef struct { - SVECTOR v[4]; /* 0x00 */ - s32 f0, f1, f2, f3, f4, f5; /* 0x20..0x37 */ - u8 f6; /* 0x38 */ - u8 pad[7]; /* -> 0x40 */ -} Prim_8016E7C8_8016EB3C; -typedef struct { - SVECTOR v[4]; /* 0x00 */ - s32 f0, f1, f2, f3, f4, f5; /* 0x20..0x37 */ - u8 f6; /* 0x38 */ - u8 pad[7]; /* -> 0x40 */ -} Prim_8016E7C8_8016EC0C; -typedef struct { - SVECTOR v[4]; /* 0x00 */ - s32 f0, f1, f2, f3, f4, f5; /* 0x20..0x37 */ - u8 f6; /* 0x38 */ - u8 pad[7]; /* -> 0x40 */ -} Prim_8016E7C8_8016F1C4; -typedef struct { - SVECTOR v[4]; /* 0x00 */ - s32 f0, f1, f2, f3, f4, f5; /* 0x20..0x37 */ - u8 f6; /* 0x38 */ - u8 pad[7]; /* -> 0x40 */ -} Prim_8016E7C8_80175DA8; -typedef struct { - SVECTOR v[4]; /* 0x00 */ - s32 f0, f1, f2, f3, f4, f5; /* 0x20..0x37 */ - u8 f6; /* 0x38 */ - u8 pad[7]; /* -> 0x40 */ -} Prim_8016E7C8_80176218; -typedef struct { - SVECTOR v[4]; /* 0x00 */ - s32 f0, f1, f2, f3, f4, f5; /* 0x20..0x37 */ - u8 f6; /* 0x38 */ - u8 pad[7]; /* -> 0x40 */ -} Prim_8016E7C8_80176734; -typedef struct { - SVECTOR v[4]; /* 0x00 */ - s32 f0, f1, f2, f3, f4, f5; /* 0x20..0x37 */ - u8 f6; /* 0x38 */ - u8 pad[7]; /* -> 0x40 */ -} Prim_8016E7C8_80177B5C; -typedef struct { - SVECTOR v[4]; /* 0x00 */ - s32 f0, f1, f2, f3, f4, f5; /* 0x20..0x37 */ - u8 f6; /* 0x38 */ - u8 pad[7]; /* -> 0x40 */ -} Prim_8016E7C8_80177DA8; -typedef struct { - SVECTOR v[4]; /* 0x00 */ - s32 f0, f1, f2, f3, f4, f5; /* 0x20..0x37 */ - u8 f6; /* 0x38 */ - u8 pad[7]; /* -> 0x40 */ -} Prim_8016E7C8_80178970; -typedef struct { s16 m[3][3]; s32 t[3]; } MTX_C974; -typedef struct { s16 m[3][3]; s32 t[3]; } MTX_C974_8017B238; -typedef struct { s16 vx, vy; } DVEC2_C974_8017BA3C; -typedef struct { s16 m[3][3]; s32 t[3]; } MTX_C974_8017BA3C; -typedef struct { s16 vx, vy, vz, pad; } SVEC2_C974_8017BA3C; -typedef struct { s16 m[3][3]; s32 t[3]; } MTX_C974_8017BB34; extern void func_80128288(void); extern void func_80128158(void); extern void func_801285E4(void); @@ -3709,7 +3606,7 @@ extern void func_8017C364(void); * `/s` grant, applied to a STORE for the first time — every prior citation was load-side). */ -typedef struct { u32 *ot; u32 pad[4]; } Env_8017CA18; /* 0x14 stride, per func_8017DD28 */ + /* 0x14 stride, per func_8017DD28 */ extern s32 D_801151D0; extern s16 D_8011512C; diff --git a/src/ov_MAIN_012/ov_MAIN_012_jr_8017CF3C.c b/src/ov_MAIN_012/ov_MAIN_012_jr_8017CF3C.c index e93dce9a83..4816b5d9de 100644 --- a/src/ov_MAIN_012/ov_MAIN_012_jr_8017CF3C.c +++ b/src/ov_MAIN_012/ov_MAIN_012_jr_8017CF3C.c @@ -1,110 +1,7 @@ #include "common.h" #include "../shared/engine_prelude.h" -typedef struct { - u16 f00; - u16 f02; - u16 f04; - u16 pad06; - u16 f08; - u16 f0A; - u16 f0C; - u16 pad0E; - u8 f10; - u8 f11; - u8 f12; - u8 pad13; - u8 f14; - u8 f15; - u8 f16; - u8 pad17; - u32 f18; -} S1_80168F40; -typedef struct { - SVECTOR v[4]; /* 0x00 */ - s32 f0, f1, f2, f3, f4, f5; /* 0x20..0x37 */ - u8 f6; /* 0x38 */ - u8 pad[7]; /* -> 0x40 */ -} Prim_8016E7C8_8016B6BC; -typedef struct { - SVECTOR v[4]; /* 0x00 */ - s32 f0, f1, f2, f3, f4, f5; /* 0x20..0x37 */ - u8 f6; /* 0x38 */ - u8 pad[7]; /* -> 0x40 */ -} Prim_8016E7C8_8016B9F8; -typedef struct { - SVECTOR v[4]; /* 0x00 */ - s32 f0, f1, f2, f3, f4, f5; /* 0x20..0x37 */ - u8 f6; /* 0x38 */ - u8 pad[7]; /* -> 0x40 */ -} Prim_8016E7C8_8016C2C4; -typedef struct { - SVECTOR v[4]; /* 0x00 */ - s32 f0, f1, f2, f3, f4, f5; /* 0x20..0x37 */ - u8 f6; /* 0x38 */ - u8 pad[7]; /* -> 0x40 */ -} Prim_8016E7C8_8016CBC0; typedef void (*Handler)(struct Entry *); -typedef struct { - SVECTOR v[4]; /* 0x00 */ - s32 f0, f1, f2, f3, f4, f5; /* 0x20..0x37 */ - u8 f6; /* 0x38 */ - u8 pad[7]; /* -> 0x40 */ -} Prim_8016E7C8_8016EB3C; -typedef struct { - SVECTOR v[4]; /* 0x00 */ - s32 f0, f1, f2, f3, f4, f5; /* 0x20..0x37 */ - u8 f6; /* 0x38 */ - u8 pad[7]; /* -> 0x40 */ -} Prim_8016E7C8_8016EC0C; -typedef struct { - SVECTOR v[4]; /* 0x00 */ - s32 f0, f1, f2, f3, f4, f5; /* 0x20..0x37 */ - u8 f6; /* 0x38 */ - u8 pad[7]; /* -> 0x40 */ -} Prim_8016E7C8_8016F1C4; -typedef struct { - SVECTOR v[4]; /* 0x00 */ - s32 f0, f1, f2, f3, f4, f5; /* 0x20..0x37 */ - u8 f6; /* 0x38 */ - u8 pad[7]; /* -> 0x40 */ -} Prim_8016E7C8_80175DA8; -typedef struct { - SVECTOR v[4]; /* 0x00 */ - s32 f0, f1, f2, f3, f4, f5; /* 0x20..0x37 */ - u8 f6; /* 0x38 */ - u8 pad[7]; /* -> 0x40 */ -} Prim_8016E7C8_80176218; -typedef struct { - SVECTOR v[4]; /* 0x00 */ - s32 f0, f1, f2, f3, f4, f5; /* 0x20..0x37 */ - u8 f6; /* 0x38 */ - u8 pad[7]; /* -> 0x40 */ -} Prim_8016E7C8_80176734; -typedef struct { - SVECTOR v[4]; /* 0x00 */ - s32 f0, f1, f2, f3, f4, f5; /* 0x20..0x37 */ - u8 f6; /* 0x38 */ - u8 pad[7]; /* -> 0x40 */ -} Prim_8016E7C8_80177B5C; -typedef struct { - SVECTOR v[4]; /* 0x00 */ - s32 f0, f1, f2, f3, f4, f5; /* 0x20..0x37 */ - u8 f6; /* 0x38 */ - u8 pad[7]; /* -> 0x40 */ -} Prim_8016E7C8_80177DA8; -typedef struct { - SVECTOR v[4]; /* 0x00 */ - s32 f0, f1, f2, f3, f4, f5; /* 0x20..0x37 */ - u8 f6; /* 0x38 */ - u8 pad[7]; /* -> 0x40 */ -} Prim_8016E7C8_80178970; -typedef struct { s16 m[3][3]; s32 t[3]; } MTX_C974; -typedef struct { s16 m[3][3]; s32 t[3]; } MTX_C974_8017B238; -typedef struct { s16 vx, vy; } DVEC2_C974_8017BA3C; -typedef struct { s16 m[3][3]; s32 t[3]; } MTX_C974_8017BA3C; -typedef struct { s16 vx, vy, vz, pad; } SVEC2_C974_8017BA3C; -typedef struct { s16 m[3][3]; s32 t[3]; } MTX_C974_8017BB34; extern void func_80128288(void); extern void func_80128158(void); extern void func_801285E4(void); @@ -4030,9 +3927,6 @@ void func_8017D2A4(void) { * (cookbook 160a). */ -typedef struct { - char c[3]; -} Blk3_8017D730; extern char *strcpy(char *, const char *); extern u32 func_8017DC48(s32 a0, s32 a1); @@ -4369,9 +4263,7 @@ void func_8017DF18(void) /* 152-byte engine block, copied whole (struct assignment -> 9x16B block move + 8B tail). * Uniquely suffixed: the host TU already sees `Blk152` from engine_types.h, and a C89 * re-typedef of a visible name is a redefinition error. Same layout, same codegen. */ -typedef struct { u32 w[38]; } Blk152_8017DF40; /* ALIGN-1 4-byte element => lwl/lwr + swl/swr (cookbook §160a); a u32[] loop is wrong. */ -typedef struct { u8 b[4]; } Blk4_8017DF40; extern u8 D_80078E78[]; /* live: 152-byte block (host TU declares this identically) */ extern u16 D_800A6588[]; /* live: u16[64] */ diff --git a/src/ov_SC01_000/ov_SC01_000_jr_8017BEBC.c b/src/ov_SC01_000/ov_SC01_000_jr_8017BEBC.c index 8565577d02..de2a9da8e9 100644 --- a/src/ov_SC01_000/ov_SC01_000_jr_8017BEBC.c +++ b/src/ov_SC01_000/ov_SC01_000_jr_8017BEBC.c @@ -3435,12 +3435,6 @@ void func_8017DD04(s32 arg0, s32 arg1) * the zero-byte dial (§349/§350 "a second assignment to a pseudo is a * first-class dial"), here reached by plain variable reuse — no asm re-tie. */ -typedef struct { - s16 x; /* 0x00 — source point */ - s16 y; /* 0x02 */ - s16 sx; /* 0x04 — scaled result */ - s16 sy; /* 0x06 */ -} Pt_8017E1A8; void func_8017E1A8(Pt_8017E1A8 *p, s32 arg1, s32 arg2, s32 arg3) { s32 i; diff --git a/src/ov_SC01_001/ov_SC01_001_jr_8017D2DC.c b/src/ov_SC01_001/ov_SC01_001_jr_8017D2DC.c index 0211a72356..68a5e4dc0f 100644 --- a/src/ov_SC01_001/ov_SC01_001_jr_8017D2DC.c +++ b/src/ov_SC01_001/ov_SC01_001_jr_8017D2DC.c @@ -6056,9 +6056,6 @@ void func_80181A4C(void) /* §246-2: every parallel global spelled as an array of one 0x50-byte record type so * gcc fuses all their address computations onto ONE scaled-offset giv. §200 aliases * keep the TU's own `extern s32 D_801EDA4C[]` spellings untouched. */ -typedef struct { u32 addr:24; u32 len:8; } PTag_80181E04; -typedef struct { s32 v; u8 pad[0x4C]; } W50_80181E04; -typedef struct { u16 h; u8 pad[0x4E]; } H50_80181E04; extern W50_80181E04 wD801EDA44[] __asm__("D_801EDA44"); extern W50_80181E04 wD801EDA48[] __asm__("D_801EDA48"); @@ -6225,13 +6222,6 @@ extern s32 aD_801EDA34 __asm__("D_801EDA34"); purpose: gcc-2.7.2's alias oracle (alias.c true_/output_dependence) disambiguates a MEM_IN_STRUCT_P + varying-address reference against a fixed-address non-struct global, which is what lets the `D_801F3044` store schedule up into the `lhu` shadow, ahead of the `sh 0xC`. */ -typedef struct { - s32 unk0; /* 0x0 */ - u32 unk4; /* 0x4 */ - u16 unk8; /* 0x8 */ - u16 unkA; /* 0xA */ - u16 unkC; /* 0xC */ -} Obj_80182284; s32 func_80182284(void) { s32 i; @@ -6351,7 +6341,6 @@ s32 func_80182284(void) { * its `void func_8001D074(s32,s32)` prototype stay untouched. */ -typedef struct { u8 d[4]; } Blk4_801EC660; extern u32 aD801F2A44[][19] __asm__("D_801F2A44"); extern u32 aD801F2A48[][19] __asm__("D_801F2A48"); diff --git a/src/ov_SC01_004/ov_SC01_004_jr_8017E5B8.c b/src/ov_SC01_004/ov_SC01_004_jr_8017E5B8.c index b57d2b77ed..68e9564372 100644 --- a/src/ov_SC01_004/ov_SC01_004_jr_8017E5B8.c +++ b/src/ov_SC01_004/ov_SC01_004_jr_8017E5B8.c @@ -2712,12 +2712,6 @@ extern s32 *func_8017E804(s32 *, void *, s32, void *, s32); extern s32 func_8017E3A0(void *arg0, s32 arg1, s32 arg2, s32 arg3, s32 *arg4); extern s32 * func_8017E1D4(s32 *ot, Panel_8017E978_8017E1D4 *w0, s16 idx); -typedef struct { - SVECTOR_8016E7C8 v[4]; /* 0x00 */ - s32 f0, f1, f2, f3, f4, f5; /* 0x20..0x37 */ - u8 f6; /* 0x38 */ - u8 pad[7]; /* -> 0x40 */ -} Prim_8016E7C8_8017E5B8; /* func_8017E5B8 (ov_SC01_005 / ov_SC01_005_jr_8017C340, 147 ins) -- MATCH * diff --git a/src/ov_SC01_005/ov_SC01_005_jr_8017ED5C.c b/src/ov_SC01_005/ov_SC01_005_jr_8017ED5C.c index c567700c5c..f1a9af5c9d 100644 --- a/src/ov_SC01_005/ov_SC01_005_jr_8017ED5C.c +++ b/src/ov_SC01_005/ov_SC01_005_jr_8017ED5C.c @@ -3224,7 +3224,6 @@ extern s32 func_8012C51C(void *, s32); extern void func_80028394(s32, s32, s32, s32); extern void func_80028428(s32, s32, s32, s32); -typedef struct { s16 f10, f12, f14, f16, f18, f1A, f1C, f1E; s32 f20; } PrimF790; s32 func_8017F790(s32 a0) { u8 c; @@ -3419,19 +3418,6 @@ void func_8017FBCC(s32 arg0) { } -typedef struct { u32 addr : 24; u32 len : 8; } PTag_8017FD50; -typedef struct { u32 *ot; u32 pad[4]; } Env_8017FD50; -typedef struct { - u32 tag; - u8 r0, g0, b0, code; - s16 x0, y0; - u8 r1, g1, b1, p1; - s16 x1, y1; - u8 r2, g2, b2, p2; - s16 x2, y2; - u8 r3, g3, b3, p3; - s16 x3, y3; -} PG4_8017FD50; extern void *func_80010A08(s32); extern s16 D_800B9A02; @@ -3569,7 +3555,6 @@ extern void func_80178D18(void); extern void func_801746A4(void); extern void func_800D1724(s32); -typedef struct { s16 a; s16 b; s16 c; } Trio; void func_801800C0(s32 arg0) { @@ -3998,7 +3983,6 @@ void func_801809F4(s32 *a0) { extern s32 func_8012C51C(void *, s32); -typedef struct { s16 f10, f12, f14, f16, f18, f1A, f1C, f1E; s32 f20; } Prim80180A38; void func_80180A38(s32 a0) { @@ -4896,8 +4880,6 @@ void func_8018203C(s32 a0, s32 a1) { } -typedef struct { u8 b[12]; } Blk12_820F8; -typedef struct { u8 b[8]; } Blk8_820F8; extern s32 D_801C36F8[]; extern s32 D_801CDD30; diff --git a/src/ov_SC01_008/ov_SC01_008_jr_8017E6F0.c b/src/ov_SC01_008/ov_SC01_008_jr_8017E6F0.c index de91fd3a92..952dc1c5a8 100644 --- a/src/ov_SC01_008/ov_SC01_008_jr_8017E6F0.c +++ b/src/ov_SC01_008/ov_SC01_008_jr_8017E6F0.c @@ -2704,12 +2704,6 @@ extern s32 *func_8017E93C(s32 *, void *, s32, void *, s32); extern s32 func_8017E4D8(void *, s32, s32, s32, s32 *); extern s32 * func_8017E30C(s32 *ot, Panel_8017E978_8017E30C *w0, s16 idx); -typedef struct { - SVECTOR_8016E7C8 v[4]; /* 0x00 */ - s32 f0, f1, f2, f3, f4, f5; /* 0x20..0x37 */ - u8 f6; /* 0x38 */ - u8 pad[7]; /* -> 0x40 */ -} Prim_8016E7C8_8017E6F0; /* func_8017E6F0 (ov_SC01_005 / ov_SC01_005_jr_8017C340, 147 ins) -- MATCH * diff --git a/src/ov_SC01_009/ov_SC01_009_jr_8017E590.c b/src/ov_SC01_009/ov_SC01_009_jr_8017E590.c index a1f6ba1898..0b1cd94347 100644 --- a/src/ov_SC01_009/ov_SC01_009_jr_8017E590.c +++ b/src/ov_SC01_009/ov_SC01_009_jr_8017E590.c @@ -2694,12 +2694,6 @@ extern s32 *func_8017E7DC(s32 *, void *, s32, void *, s32); extern s32 func_8017E378(void *, s32, s32, s32, s32 *); extern s32 * func_8017E1AC(s32 *ot, Panel_8017E978_8017E1AC *w0, s16 idx); -typedef struct { - SVECTOR_8016E7C8 v[4]; /* 0x00 */ - s32 f0, f1, f2, f3, f4, f5; /* 0x20..0x37 */ - u8 f6; /* 0x38 */ - u8 pad[7]; /* -> 0x40 */ -} Prim_8016E7C8_8017E590; /* func_8017E590 (ov_SC01_005 / ov_SC01_005_jr_8017C340, 147 ins) -- MATCH * @@ -3458,17 +3452,6 @@ void func_8017F360(void *a0) { extern s32 func_8012C51C(void *a0, s32 a1); -struct Rec8017F39C { - s16 f00; - s16 f02; - s16 f04; - s16 f06; - s16 f08; - s16 f0A; - s16 f0C; - s16 f0E; - s32 f10; -}; void func_8017F39C(s32 arg0) { diff --git a/src/ov_SC01_009/ov_SC01_009_jr_8018057C.c b/src/ov_SC01_009/ov_SC01_009_jr_8018057C.c index 18f499caff..11688c2f1b 100644 --- a/src/ov_SC01_009/ov_SC01_009_jr_8018057C.c +++ b/src/ov_SC01_009/ov_SC01_009_jr_8018057C.c @@ -2810,10 +2810,6 @@ extern u8 D_801EE4F8[], D_801EE528[], D_801EE580[], D_801EE6B8[]; #define H70(p) (*(s16 *)((s32)(p) + 0x70)) #define H108(p) (*(s16 *)((s32)(p) + 0x108)) -typedef struct { - s16 a, b, c, d, e, f, g, h; - s32 w; -} Blk8018057C; u8 *func_8018057C(void *arg0) { Blk8018057C blk; diff --git a/src/ov_SC01_074/ov_SC01_074_jr_8017BE9C.c b/src/ov_SC01_074/ov_SC01_074_jr_8017BE9C.c index 3342bceb76..d79c311633 100644 --- a/src/ov_SC01_074/ov_SC01_074_jr_8017BE9C.c +++ b/src/ov_SC01_074/ov_SC01_074_jr_8017BE9C.c @@ -3682,7 +3682,6 @@ extern s32 D_801269E4; extern s16 D_80126940; extern s16 D_801274E8; -typedef struct { s16 v[4]; } Blk8_dc3c; void func_8017DC3C(void) { D_80126954 = 0x190; @@ -3712,7 +3711,6 @@ void func_8017DD1C(void *a0) { #include "common.h" -typedef struct { s16 v[4]; } Blk8_dd58; extern void func_8017DE88(s32 param_1, s16 *param_2); extern s16 D_80126940; @@ -3836,7 +3834,6 @@ extern s32 func_8012AD50(void *a0); own-address-tag convention for the identical reason (see its comment). Same layout, disjoint name -> no clash either standalone (match_one) or in-TU. */ -typedef struct { short vx, vy, vz, pad; } SVEC_8017E07C; extern SVEC_8017E07C D_8019A8B0; extern SVEC_8017E07C D_8019A8B8; @@ -3876,7 +3873,6 @@ void func_8017E07C(s32 param_1) { /* identical layout to SVECTOR_8016E7C8 (src/shared/engine_types.h); own tag so this draft compiles standalone via match_one (no shared TU). */ -typedef struct { short vx, vy, vz, pad; } SVEC_8017E158; void func_8017E158(SVEC_8017E158 *p0, SVEC_8017E158 *p1) { /* conform to the sibling TU's canon (`extern void func_8012EF70(s32, s32);`) diff --git a/src/ov_SC01_077/ov_SC01_077_jr_8017AE2C.c b/src/ov_SC01_077/ov_SC01_077_jr_8017AE2C.c index 08dbd4ca80..3dc41b5932 100644 --- a/src/ov_SC01_077/ov_SC01_077_jr_8017AE2C.c +++ b/src/ov_SC01_077/ov_SC01_077_jr_8017AE2C.c @@ -3535,13 +3535,11 @@ void func_8017C18C(s32 a0) { #include "../shared/ov/func_8017C230.h" -typedef struct { s16 vx, vy; } DVEC2_C59C; -typedef struct { s16 vx, vy, vz, pad; } SVEC_BEBC; extern s32 func_800491EC(void); extern void func_8017C66C(u16 *a0, void *a1); @@ -3582,16 +3580,7 @@ extern void func_8017C908(s32 a0, s32 a1); * cell $t3 naturally once the bbox block allocates right. */ -typedef struct { u32 w0, w1, w2; } PrimC974; -typedef struct { u8 *vtx; u32 f4; u32 xx, yy, zz; PrimC974 *prim, *end; } CellC974; -typedef struct { s16 vx, vy; } DVEC2_C974; -typedef struct { s16 vx, vy, vz, pad; } SVEC2_C974; -typedef struct { s16 m[3][3]; s32 t[3]; } MTX_C974; -typedef struct { u32 tag, rgbc; s16 x0, y0, x1, y1, x2, y2; } PF3_C974; -typedef struct { u32 tag, rgbc; s16 x0, y0, x1, y1, x2, y2, x3, y3; } PF4_C974; -typedef struct { u32 tag, rgbc; s16 x0, y0; u32 uvc0; s16 x1, y1; u32 uvp1; s16 x2, y2; u16 uv2, p2; } PFT3_C974; -typedef struct { u32 tag, rgbc; s16 x0, y0; u32 uvc0; s16 x1, y1; u32 uvp1; s16 x2, y2; u16 uv2, p2; s16 x3, y3; u16 uv3, p3; } PFT4_C974; @@ -4124,53 +4113,7 @@ s32 func_8017DACC(s32 a0) { // Decls are the TU canon: u16 globals (s16 would be `conflicting types`), s32 // func_80012C6C via the (s16 (*)()) call-site cast, s32 func_8017DAEC(s32). -typedef struct { - s8 pad00[8]; - s16 f08; - s16 pad0a; - s16 f0c; - s16 pad0e; - s16 f10; - s16 pad12; - s16 f14; - s16 pad16; - s16 f18; - s16 f1a; - s16 f1c; - s8 pad1e[2]; - s16 f20; - s16 f22; - s16 f24; - s8 pad26[2]; - s16 f28; - s16 f2a; - s16 f2c; - s16 f2e; - s16 f30; - s16 f32; - s8 pad34[8]; - s32 f3c; - s32 f40; - s32 f44; - s32 f48; - s32 f4c; - s32 f50; -} St_8017DAEC; -typedef struct { - s8 pad00[0x14]; - s32 t0; - s32 t1; - s32 t2; - s16 z0; - s16 z1; - s16 v; - s16 pad36; - s16 o0; - s16 o1; - s16 o2; - s16 pad3e; -} Loc_8017DAEC; extern s32 func_80012C6C(s32 a0, s32 a1, s32 a2); extern s16 func_80012ABC(s32 a0, s32 a1, s32 a2); @@ -4451,7 +4394,6 @@ s32 func_8017E210(u8 *a0) { return v; } -typedef struct { u8 c[8]; } Blk8_8017E224; void func_8017E224(s32 param_1) { diff --git a/src/ov_SC01_077/ov_SC01_077_jr_80181BE4.c b/src/ov_SC01_077/ov_SC01_077_jr_80181BE4.c index f902d72ac9..9498275f31 100644 --- a/src/ov_SC01_077/ov_SC01_077_jr_80181BE4.c +++ b/src/ov_SC01_077/ov_SC01_077_jr_80181BE4.c @@ -3083,7 +3083,6 @@ extern u8 D_801B0E48[]; extern s32 D_801B0D50; extern char D_801AFFC0[]; -struct PrimBE4 { s16 f0, f2, f4, f6, f8, fA, fC, fE; s32 f10; }; void func_80181BE4(s32 p) { diff --git a/src/ov_SC01_077/ov_SC01_077_jr_80181F08.c b/src/ov_SC01_077/ov_SC01_077_jr_80181F08.c index a3dbd50608..7846262330 100644 --- a/src/ov_SC01_077/ov_SC01_077_jr_80181F08.c +++ b/src/ov_SC01_077/ov_SC01_077_jr_80181F08.c @@ -40,7 +40,6 @@ typedef struct { } Prim_8016E7C8; typedef void (*Handler)(struct Entry *); struct vec; -struct PrimBE4 { s16 f0, f2, f4, f6, f8, fA, fC, fE; s32 f10; }; extern void func_801458E0(void); extern s32 D_800AE6AC; extern s32 D_800AE6B0; diff --git a/src/ov_SC01_077/ov_SC01_077_jr_80183CF4.c b/src/ov_SC01_077/ov_SC01_077_jr_80183CF4.c index a628ad8631..084bf5abb6 100644 --- a/src/ov_SC01_077/ov_SC01_077_jr_80183CF4.c +++ b/src/ov_SC01_077/ov_SC01_077_jr_80183CF4.c @@ -3730,7 +3730,6 @@ void func_80184BB4(int param_1) // @class: struct // @unstuck(P36): none — MATCH (array-of-struct %lo-fold for &D_8018AEB8[idx], stride 0x34) -typedef struct { unsigned char b[0x34]; } S_8018AEB8; extern S_8018AEB8 D_8018AEB8[]; extern unsigned char D_8018AF20[]; extern u8 D_8019731C; @@ -4472,7 +4471,6 @@ extern void func_8012A828(s32 a0, void *a1); extern void func_8012B21C(void *a0); extern s32 rand(void); -typedef struct { u8 b[12]; } Blk12_80185E68; void func_80185E68(s32 arg0) { @@ -4545,7 +4543,6 @@ extern void func_8012C218(void *a0); extern s32 func_8012C588(s32 a0, s32 a1); extern void func_8012F214(s32 a0, s32 a1, s32 a2); extern void func_80186330(void *arg0); -typedef struct { s16 m[3][3]; s32 t[3]; } MTX_C59C_80186078; void func_80186078(s32 arg0) { @@ -4758,14 +4755,6 @@ void func_80186574(int param_1) } } -typedef struct { s16 vx, vy; } DVEC2_C59C_801865EC; -typedef struct { s16 vx, vy, vz, pad; } SVEC2_C59C_801865EC; -typedef struct { - SVECTOR_8016E7C8 v[4]; /* 0x00 */ - s32 f0, f1, f2, f3, f4, f5; /* 0x20..0x37 */ - u8 f6; /* 0x38 */ - u8 pad[7]; /* -> 0x40 */ -} Prim_8016E7C8_801865EC; /* Declarations copied verbatim from src/ov_SC01_080/ov_SC01_080_jr_8017AE2C.c (law 2) */ extern s32 rand(void); diff --git a/src/ov_SC01_080/ov_SC01_080_jr_8017AE2C.c b/src/ov_SC01_080/ov_SC01_080_jr_8017AE2C.c index c0c0623980..3d48e0725e 100644 --- a/src/ov_SC01_080/ov_SC01_080_jr_8017AE2C.c +++ b/src/ov_SC01_080/ov_SC01_080_jr_8017AE2C.c @@ -3309,7 +3309,6 @@ void func_8017BE60(void *a0) { -typedef struct { s16 vx, vy, vz, pad; } SVEC_BEBC; extern s32 func_800491EC(void); extern void func_8017C294(u16 *a0, void *a1); @@ -3349,16 +3348,7 @@ extern void func_8017C530(s32 a0, s32 a1); * cell $t3 naturally once the bbox block allocates right. */ -typedef struct { u32 w0, w1, w2; } PrimC59C; -typedef struct { u8 *vtx; u32 f4; u32 xx, yy, zz; PrimC59C *prim, *end; } CellC59C; -typedef struct { s16 vx, vy; } DVEC2_C59C; -typedef struct { s16 vx, vy, vz, pad; } SVEC2_C59C; -typedef struct { s16 m[3][3]; s32 t[3]; } MTX_C59C; -typedef struct { u32 tag, rgbc; s16 x0, y0, x1, y1, x2, y2; } PF3_C59C; -typedef struct { u32 tag, rgbc; s16 x0, y0, x1, y1, x2, y2, x3, y3; } PF4_C59C; -typedef struct { u32 tag, rgbc; s16 x0, y0; u32 uvc0; s16 x1, y1; u32 uvp1; s16 x2, y2; u16 uv2, p2; } PFT3_C59C; -typedef struct { u32 tag, rgbc; s16 x0, y0; u32 uvc0; s16 x1, y1; u32 uvp1; s16 x2, y2; u16 uv2, p2; s16 x3, y3; u16 uv3, p3; } PFT4_C59C; @@ -3833,7 +3823,6 @@ extern s32 rand(void); /* §160a: the lwl/lwr + swl/swr 12-byte block move is an ALIGN-1 struct * assignment. A u32/u16 copy loop gives aligned lw/sw and is wrong. */ -typedef struct { char c[12]; } Blk12_801C5A30; void func_8017D72C(s32 arg0) { @@ -4640,8 +4629,8 @@ extern u16 D_80126B5E; extern u16 D_80126B62; extern u16 D_80126B66; -typedef struct { s16 m[3][3]; s32 t[3]; } Mtx_8017E8A0; /* 0x20; .t @ +0x14 */ -typedef struct { s16 vx, vy, vz, pad; } Sv_8017E8A0; /* 0x08 */ + /* 0x20; .t @ +0x14 */ + /* 0x08 */ void func_8017E8A0(s32 param_1, s32 param_2) { @@ -5309,13 +5298,6 @@ void func_8017F7D0(s32 arg0) { #include "common.h" -typedef struct { - u8 pad0[8]; - s32 f08; - s32 f0C; - u8 pad10[0x20]; - s16 f30; -} Work_80126948; extern Blk8 D_801C46E8; extern u8 D_80126948[]; extern s32 D_8012718C; @@ -5514,17 +5496,6 @@ void func_8017FCFC(u16 *a0) { * D_801C7600 is declared with the TU's own file-scope spelling (`u16 []`, :5486) and cast; * a block-scope `SVEC_FD64 []` re-declaration would be a hard C89 conflict there. */ -typedef struct { s16 m[3][3]; s32 t[3]; } MTX_FD64; -typedef struct { u16 vx, vy, vz; s16 pad; } SVEC_FD64; -typedef struct { u32 addr : 24; u32 len : 8; } P_TAG_FD64; -typedef struct { - u8 b0, b1, b2, len; - u8 r, g, b, code; - u16 x0, y0; u32 uv0; - u16 x1, y1; u32 uv1; - u16 x2, y2; u32 uv2; - u16 x3, y3; u32 uv3; -} PFT4_FD64; @@ -6686,7 +6657,6 @@ void func_801816E4(void *a0) } -typedef struct { s32 q[16]; } Str_801C5B00; extern Str_801C5B00 D_801C5B00[]; extern void func_801292C8(u8 *arg0); @@ -6809,7 +6779,6 @@ void func_80181918(s32 arg0) { extern void func_800D20C0(void *a0, void *a1, s32 a2); extern void func_800D23D0(void *a0); -typedef struct { u8 b[8]; } Copy8; void func_801819D0(s32 a0) { u16 sp10[3]; @@ -6966,10 +6935,6 @@ void func_80181CA4(void) * asm/ov_SC01_080/data/tail.data.s). `dist` is read three ways -- lh for the * sentinel (combine folds (s16)u16 -> lh), lhu+sll/sra for the slt against * D_801270D0, and lhu again for the +0x500 store (the call kills the CSE). */ -typedef struct { - u16 dist; - s16 kind; -} SpotDef_8018A278; extern s32 D_80126D50; extern u16 D_80126B66; @@ -7419,7 +7384,6 @@ void func_801827B4(void *a0) { } -typedef struct { u16 x, y, z, w; } V4_8018287C; extern s32 D_80126B58; extern s32 D_8018A30C[][2]; @@ -7568,23 +7532,12 @@ void func_80182B30(int param_1) * "gate" table: index i and index (i+1)&3 must both be non-zero before the * record at index i is forwarded to func_80182CB8. */ -typedef struct { - u8 raw[8]; -} S8Blob; -typedef struct { - S8Blob a; - S8Blob b; -} Entry16; extern Entry16 D_8018A414[]; extern s32 D_801C7550[]; extern void func_80182CB8(void *a0, S8Blob *a1, S8Blob *a2, s16 a3, s16 a4); -typedef union { - s32 plain; - struct { s32 idx : 15; } bf; -} LoopVar; void func_80182B90(void *a0, s32 a1, s16 a2) { LoopVar i; @@ -7621,8 +7574,6 @@ void func_80182B90(void *a0, s32 a1, s16 a2) { // func_8004787C(angle<<9) / 4096, and pushes the previous/current joint pair into the global // prim D_801C7560 as two quads (±10 in y) through func_80017758. a4 is passed by // func_80182B90 but never read. -typedef struct { s16 vx, vy, vz, pad; } SV_80182CB8; -typedef struct { s16 m[3][3]; s16 pad; s32 t[3]; } MTX_80182CB8; extern void func_80017D98(void *a0); extern s32 rand(void); diff --git a/src/ov_SC01_084/ov_SC01_084_jr_8017CA80.c b/src/ov_SC01_084/ov_SC01_084_jr_8017CA80.c index 49700e5fff..c7ee557225 100644 --- a/src/ov_SC01_084/ov_SC01_084_jr_8017CA80.c +++ b/src/ov_SC01_084/ov_SC01_084_jr_8017CA80.c @@ -2979,8 +2979,8 @@ void func_8017DE84(s32 param_1) { * Uniquely named on purpose (§183.1 law 8): match_one's standalone -Iinclude compile cannot * reach src/shared/, and the destination TU already pulls the canonical typedefs in via * "../shared/engine_core.h" — identical layout, so keeping our own name collides with nothing. */ -typedef struct { short m[3][3]; long t[3]; } Mtx_8017DECC; /* 0x20; .t @ +0x14 */ -typedef struct { short vx, vy, vz, pad; } Sv_8017DECC; /* 0x08 */ + /* 0x20; .t @ +0x14 */ + /* 0x08 */ /* TU-verified declarations (src/ov_SC01_084/ov_SC01_084_jr_8017CA80.c) */ extern s32 func_80012C6C(s32 a0, s32 a1, s32 a2); diff --git a/src/ov_SC01_084/ov_SC01_084_jr_8017F690.c b/src/ov_SC01_084/ov_SC01_084_jr_8017F690.c index 4c6b9be551..1e969e4258 100644 --- a/src/ov_SC01_084/ov_SC01_084_jr_8017F690.c +++ b/src/ov_SC01_084/ov_SC01_084_jr_8017F690.c @@ -10,8 +10,8 @@ typedef struct { u8 pad[7]; /* -> 0x40 */ } Prim_8016E7C8; typedef void (*Handler)(struct Entry_8016E95C *); -typedef struct { short m[3][3]; long t[3]; } Mtx_8017DECC; /* 0x20; .t @ +0x14 */ -typedef struct { short vx, vy, vz, pad; } Sv_8017DECC; /* 0x08 */ + /* 0x20; .t @ +0x14 */ + /* 0x08 */ extern void func_801458E0(void); extern s32 D_800AE6AC; extern s32 D_800AE6B0; @@ -2969,8 +2969,8 @@ void func_8017FBD4(void *a0) { * house style at func_8017DECC (§183.1 law 8): match_one's standalone compile * cannot reach src/shared/, so keep uniquely-named local structs of the same * layout instead of colliding with the TU's real typedef names. */ -typedef struct { short m[3][3]; long t[3]; } Mtx_8017FC10; /* 0x20; .t @ +0x14 */ -typedef struct { short vx, vy, vz, pad; } Sv_8017FC10; /* 0x08 */ + /* 0x20; .t @ +0x14 */ + /* 0x08 */ /* TU-verified declarations (src/ov_SC01_084/ov_SC01_084_jr_8017CA80.c) */ extern s32 ratan2(s32 a0, s32 a1); @@ -3621,14 +3621,9 @@ s32 func_801807D8(s16 *arg0) { * (position in the source is irrelevant — verified at 4 sites). */ -typedef struct { s32 a; s32 b[4]; } OtBlk_801809C4; /* 0x14 stride */ -typedef struct { s16 x, y, z, pad; } SVec_801809C4; /* 0x08 stride */ + /* 0x14 stride */ + /* 0x08 stride */ -typedef struct { - s16 unk0; /* 0x00 — the shared vy of every generated vertex */ - s16 unk2; /* 0x02 — base angle */ - u32 unk4; /* 0x04 — packed colour (b in bits 16..23) */ -} Obj_801809C4; extern void func_8012B0B4(unsigned int *param_1, int param_2, int param_3); extern void func_8012E32C(void); diff --git a/src/ov_SC01_084/ov_SC01_084_jr_80182A00.c b/src/ov_SC01_084/ov_SC01_084_jr_80182A00.c index fb7e174e70..e47d327f4a 100644 --- a/src/ov_SC01_084/ov_SC01_084_jr_80182A00.c +++ b/src/ov_SC01_084/ov_SC01_084_jr_80182A00.c @@ -1094,22 +1094,11 @@ void func_80183D38(void *a0) { * lhu/addu/sh-clut/sh-tpage quartet. The reverse source order flips that pair. */ -typedef struct { s32 a; s32 b[4]; } OtBlk_80183DA4; /* 0x14 stride */ -typedef struct { u16 vx, vy, vz, pad; } SVec_80183DA4; /* 0x08 stride */ -typedef struct { u16 vx, vy; } DVec_80183DA4; /* read through a cast */ + /* 0x14 stride */ + /* 0x08 stride */ + /* read through a cast */ -typedef struct { - u32 tag; /* 0x00 */ - u8 r0, g0, b0, code; /* 0x04 */ - s16 x0, y0; /* 0x08 */ - u8 u0, v0; u16 clut; /* 0x0C */ - s16 x1, y1; /* 0x10 */ - u8 u1, v1; u16 tpage; /* 0x14 */ - s16 x2, y2; /* 0x18 */ - u8 u2, v2; u16 pad2; /* 0x1C */ - s16 x3, y3; /* 0x20 */ - u8 u3, v3; u16 pad3; /* 0x24 */ -} Ft4_80183DA4; /* 0x28 */ + /* 0x28 */ extern u16 D_801270C0; extern u8 D_800AF648; @@ -1262,22 +1251,11 @@ void func_801840FC(void *a0) { * the one true loop.c movable, landing last. */ -typedef struct { s32 a; s32 b[4]; } OtBlk_80184138; /* 0x14 stride */ -typedef struct { u16 vx, vy, vz, pad; } SVec_80184138; /* 0x08 stride */ -typedef struct { u16 vx, vy; } DVec_80184138; /* read through a cast */ + /* 0x14 stride */ + /* 0x08 stride */ + /* read through a cast */ -typedef struct { - u32 tag; /* 0x00 */ - u8 r0, g0, b0, code; /* 0x04 */ - s16 x0, y0; /* 0x08 */ - u8 u0, v0; u16 clut; /* 0x0C */ - s16 x1, y1; /* 0x10 */ - u8 u1, v1; u16 tpage; /* 0x14 */ - s16 x2, y2; /* 0x18 */ - u8 u2, v2; u16 pad2; /* 0x1C */ - s16 x3, y3; /* 0x20 */ - u8 u3, v3; u16 pad3; /* 0x24 */ -} Ft4_80184138; /* 0x28 */ + /* 0x28 */ extern void func_8004914C(void *a0); @@ -1520,8 +1498,6 @@ void func_801845A0(void *arg0) { } -struct S845EC_in { s16 f00, f02, f04, f06, f08, f0A, f0C, f0E; s32 f10; }; -struct S845EC_out { s16 a, b, c; }; extern void func_8012F214(s32 a0, s32 a1, s32 a2); extern s32 func_8012C51C(void *a0, s32 a1); @@ -1569,12 +1545,7 @@ s32 func_801845EC(s32 a0, s32 a1) * re-declared locally here per the md_SC07_003.c precedent since this standalone * draft can't reach the src/shared/ include path. */ -struct S80190C84_846B4 { - s16 f0, f2, f4, f6, f8, fA, fC, fE; - s32 f10; -}; -typedef struct { short a, b, c; } SV3_846B4; extern void func_8012B0B4(unsigned int *param_1, int param_2, int param_3); extern s32 func_8012B8E4(s32 arg0, s32 arg1); @@ -2646,38 +2617,15 @@ extern s16 D_8018AC6C; /* vert2 .vz */ -typedef struct { - s16 x; /* +0x0 */ - s16 y; /* +0x2 */ - s16 c; /* +0x4 */ - s16 pad; /* +0x6 */ -} Vtx_80185C0C; /* 0x08 */ + /* 0x08 */ -typedef struct { - Vtx_80185C0C v[3]; /* +0x00 +0x08 +0x10 */ - u8 r0, g0, b0, code; /* +0x18 .. +0x1B */ - u8 r1, g1, b1, pad1; /* +0x1C .. +0x1F */ - u8 r2, g2, b2, pad2; /* +0x20 .. +0x23 */ - u32 color; /* +0x24 */ -} Prim_80185C0C; /* 0x28 */ + /* 0x28 */ -typedef struct { - u16 x; /* +0x0 */ - u16 y; /* +0x2 */ - u16 z; /* +0x4 */ -} Pos_80185C0C; /* 0x06 -> 8-byte frame stride, §193-I */ + /* 0x06 -> 8-byte frame stride, §193-I */ -typedef struct { - u16 vx; /* +0x0 */ - u16 vy; /* +0x2 */ - u16 vz; /* +0x4 */ - u16 pad; /* +0x6 */ -} Sxy_80185C0C; /* 0x08 */ + /* 0x08 */ -typedef struct { - s16 m[3][3]; /* +0x00, padded to 0x14 */ - s32 t[3]; /* +0x14 +0x18 +0x1C */ -} Mtx_80185C0C; /* 0x20 */ + /* 0x20 */ void func_80185C0C(s32 arg0) { diff --git a/src/ov_SC02_000/ov_SC02_000_jr_8017AE2C.c b/src/ov_SC02_000/ov_SC02_000_jr_8017AE2C.c index bdd40a0d26..d918565d90 100644 --- a/src/ov_SC02_000/ov_SC02_000_jr_8017AE2C.c +++ b/src/ov_SC02_000/ov_SC02_000_jr_8017AE2C.c @@ -3666,13 +3666,11 @@ extern void func_80146C3C(); // K&R: ? of 1 args (P37 rung D t4_D22) #include "../shared/ov/func_8017CDF4__8ccdd4a3.h" -typedef struct { s16 vx, vy; } DVEC2_C59C; -typedef struct { s16 vx, vy, vz, pad; } SVEC_BEBC; extern s32 func_800491EC(void); extern void func_8017D230(u16 *a0, void *a1); @@ -3843,16 +3841,7 @@ void func_8017D4CC(s32 a0, s32 a1) { * cell $t3 naturally once the bbox block allocates right. */ -typedef struct { u32 w0, w1, w2; } PrimD538; -typedef struct { u8 *vtx; u32 f4; u32 xx, yy, zz; PrimD538 *prim, *end; } CellD538; -typedef struct { s16 vx, vy; } DVEC2_D538; -typedef struct { s16 vx, vy, vz, pad; } SVEC2_D538; -typedef struct { s16 m[3][3]; s32 t[3]; } MTX_D538; -typedef struct { u32 tag, rgbc; s16 x0, y0, x1, y1, x2, y2; } PF3_D538; -typedef struct { u32 tag, rgbc; s16 x0, y0, x1, y1, x2, y2, x3, y3; } PF4_D538; -typedef struct { u32 tag, rgbc; s16 x0, y0; u32 uvc0; s16 x1, y1; u32 uvp1; s16 x2, y2; u16 uv2, p2; } PFT3_D538; -typedef struct { u32 tag, rgbc; s16 x0, y0; u32 uvc0; s16 x1, y1; u32 uvp1; s16 x2, y2; u16 uv2, p2; s16 x3, y3; u16 uv3, p3; } PFT4_D538; diff --git a/src/ov_SC02_000/ov_SC02_000_jr_8018173C.c b/src/ov_SC02_000/ov_SC02_000_jr_8018173C.c index a1fda80a6a..dfcced3211 100644 --- a/src/ov_SC02_000/ov_SC02_000_jr_8018173C.c +++ b/src/ov_SC02_000/ov_SC02_000_jr_8018173C.c @@ -2915,8 +2915,6 @@ void func_80181DE8(s32 param_1) } -typedef struct { short m[3][3]; long t[3]; } Mtx_8017DECC; -typedef struct { short vx, vy, vz, pad; } Sv_8017DECC; extern s32 func_80012C6C(s32 a0, s32 a1, s32 a2); extern s32 func_80012ABC(s32, s32, s32); @@ -3348,9 +3346,6 @@ void func_80182B74(s32 param_1) { extern u8 D_80126948[]; extern s32 D_80126E60[]; -typedef struct { - s32 w[0x29]; -} Blk_0xA4; void func_80182BD0(u8 *a0) { u8 *t0 = D_80126948; @@ -3540,7 +3535,6 @@ void func_80183018(u8 *a0) { } -typedef struct { u8 b[8]; } St_801E6C9C; extern St_801E6C9C D_801E6C9C; extern void func_801473EC(s32 *a0); extern void func_80147460(s32 a0); @@ -3930,9 +3924,6 @@ void func_80183C9C(s32 a0) { } -typedef struct { - void (*fn[3])(void *); -} Tbl_801E6CA4; extern Tbl_801E6CA4 D_801E6CA4; @@ -4036,10 +4027,6 @@ extern s16 D_800B9A0E; extern s32 D_801E8010; extern s32 D_801E8820; -typedef struct { - s16 f0; - s16 f1, f2, f3, f4, f5; -} Elem_8018F086; extern Elem_8018F086 D_8018F086[]; extern u8 D_801AF280[]; @@ -4120,7 +4107,6 @@ void func_80183FC8(s32 param_1) { #include "common.h" -typedef struct { s16 vx, vy, vz, pad; } SVEC_80184358; extern void func_8012B2CC(s32 a0); extern void func_8012F14C(s32 a0, s32 a1, s32 a2); @@ -4189,8 +4175,6 @@ void func_80184358(s32 p) { } -typedef struct { u16 x, y, z, w; } Blk8_8018453C; -typedef struct { s32 f0, f1, f2, f3, f4, f5, f6, f7; } Blk32_801E8788; extern s32 D_801E8738; extern void (*D_8018F044)(void); @@ -4290,10 +4274,6 @@ void func_801847B8(s32 a0) { /* Same layout as the shared `struct S80190C84` (src/shared/engine_types.h) — kept as a uniquely-named local typedef so banking cannot redefine that tag. */ -typedef struct { - s16 f0, f2, f4, f6, f8, fA, fC, fE; - s32 f10; -} S80190C84_8018483C; extern s32 D_801E86BC; extern s16 D_801E87B2; @@ -4407,7 +4387,6 @@ void func_8018483C(s32 a0) { #include "common.h" -typedef struct { s16 vx, vy, vz, pad; } SVEC_84BD8; extern s32 D_801E873C; extern s32 D_801E874C; @@ -4709,7 +4688,6 @@ void func_8018545C(s32 a0) { #include "common.h" -typedef struct { s16 vx, vy, vz, pad; } SVEC_801855D4; extern void func_8012B2CC(s32 a0); extern void func_8012F14C(s32 a0, s32 a1, s32 a2); @@ -4839,7 +4817,6 @@ void func_80185840(s32 param_1) { -typedef struct { u32 addr:24; u32 len:8; } PTAG_85910; extern s32 D_800A5E60; extern u8 D_800AF648[]; @@ -4966,7 +4943,6 @@ void func_80185BF0(int param_1) { #include "common.h" -typedef struct { s16 x, y, z, pad; } Vec3s16; extern s32 func_8012CEB0(s32 a0, s32 a1, s32 a2); @@ -5095,21 +5071,9 @@ extern s32 func_8012E504(s32 a0, s32 a1); extern s32 func_8012C51C(void *a0, s32 a1); -typedef struct { - s16 f0; - s16 f2; - s16 f4; - s16 f6; - s16 f8; - s16 flag; -} Entry8018F07C; extern Entry8018F07C D_8018F07C[26]; -typedef struct { - s16 f0, f2, f4, f6, f8, fA, fC, fE; - s32 f10; -} S80190C84; void func_80185F8C(s32 a0) { u32 i; @@ -5170,17 +5134,6 @@ void func_8018618C(s32 param_1) } -typedef struct { - short f0; - short f2; - short f4; - short f6; - short f8; - short fa; - short fc; - short fe; - int f10; -} Sprite8_801861D8; extern s32 func_8012C51C(void *a0, s32 a1); @@ -5217,17 +5170,6 @@ extern s32 ratan2(s32 a0, s32 a1); extern void func_8012B0B4(unsigned int *param_1, int param_2, int param_3); extern s32 func_8012C51C(void *a0, s32 a1); -typedef struct { - s16 f0; - s16 f1; - s16 f2; - s16 f3; - s16 f4; - s16 f5; - s16 f6; - s16 f7; - s32 f8; -} Pkt_8018626C; void func_8018626C(void) { s32 *ctr = &D_801270D0; @@ -5484,18 +5426,11 @@ extern s32 func_8012BD14(s32 a0); /* the 0x10C-byte entity-table record type (only the two u16 fields this function actually touches are named; matches the D_801202A0..D_80126720 table walked by the sibling MATCHed loop in ov_SC03_099_after.c). */ -typedef struct { - u16 f0; - u16 f2; -} Ent_80186AE4; /* the 0x254-byte struct snapshot copied from D_80126B58 to D_801E801C (aligned 4-word block copy, see cookbook: "aligned 16-byte field-block copy -> one struct assignment"; here the struct is bigger than one Blk16, so gcc emits the movstrsi loop: 37 x 16-byte chunks + a 4-byte remainder = 0x254). */ -typedef struct { - s32 w[0x95]; -} Blk254_80186AE4; void func_80186AE4(s32 self) { diff --git a/src/ov_SC02_000/ov_SC02_000_jr_80187B40.c b/src/ov_SC02_000/ov_SC02_000_jr_80187B40.c index 9f45e4c623..9563a8f205 100644 --- a/src/ov_SC02_000/ov_SC02_000_jr_80187B40.c +++ b/src/ov_SC02_000/ov_SC02_000_jr_80187B40.c @@ -9,67 +9,6 @@ typedef struct { u8 pad[7]; /* -> 0x40 */ } Prim_8016E7C8; typedef void (*Handler)(struct Entry_8016E95C *); -typedef struct { short m[3][3]; long t[3]; } Mtx_8017DECC; -typedef struct { short vx, vy, vz, pad; } Sv_8017DECC; -typedef struct { - s32 w[0x29]; -} Blk_0xA4; -typedef struct { u8 b[8]; } St_801E6C9C; -typedef struct { - void (*fn[3])(void *); -} Tbl_801E6CA4; -typedef struct { - s16 f0; - s16 f1, f2, f3, f4, f5; -} Elem_8018F086; -typedef struct { s16 vx, vy, vz, pad; } SVEC_80184358; -typedef struct { u16 x, y, z, w; } Blk8_8018453C; -typedef struct { s32 f0, f1, f2, f3, f4, f5, f6, f7; } Blk32_801E8788; -typedef struct { - s16 f0, f2, f4, f6, f8, fA, fC, fE; - s32 f10; -} S80190C84_8018483C; -typedef struct { s16 vx, vy, vz, pad; } SVEC_84BD8; -typedef struct { s16 vx, vy, vz, pad; } SVEC_801855D4; -typedef struct { u32 addr:24; u32 len:8; } PTAG_85910; -typedef struct { s16 x, y, z, pad; } Vec3s16; -typedef struct { - s16 f0; - s16 f2; - s16 f4; - s16 f6; - s16 f8; - s16 flag; -} Entry8018F07C; -typedef struct { - short f0; - short f2; - short f4; - short f6; - short f8; - short fa; - short fc; - short fe; - int f10; -} Sprite8_801861D8; -typedef struct { - s16 f0; - s16 f1; - s16 f2; - s16 f3; - s16 f4; - s16 f5; - s16 f6; - s16 f7; - s32 f8; -} Pkt_8018626C; -typedef struct { - u16 f0; - u16 f2; -} Ent_80186AE4; -typedef struct { - s32 w[0x95]; -} Blk254_80186AE4; extern void func_801458E0(void); extern s32 D_800AE6AC; extern s32 D_800AE6B0; @@ -3475,7 +3414,7 @@ extern void func_8012AD44(s32 *a0, s16 a1); * ==================================================================== */ /* == engine_types.h:472 */ -typedef struct { s32 f0, f1, f2; } Rec12_801888F4; /* 12-byte stride */ + /* 12-byte stride */ extern Blk20 D_800AE620; extern Rec12_801888F4 D_8018F560[]; @@ -4222,26 +4161,11 @@ void func_80189A00(s32 param_1) { -typedef struct { - s16 f0; - s16 f1; - s16 f2; - s16 f3; - s16 f4; - s16 f5; - s16 f6; - s16 f7; - s32 f8; -} Pkt_801861D8; -typedef struct { - s16 start; - s16 end; -} Range_80189A70; extern u8 D_8018F71C[]; extern s16 D_8018F71E; @@ -4275,23 +4199,7 @@ void func_80189A70(s32 *a0) #include "common.h" #include "../shared/engine_prelude.h" -typedef struct { - s16 start; - s16 end; -} Range_80189B1C; -typedef struct { - SVECTOR t0; - SVECTOR t1; - SVECTOR v0; - SVECTOR v1; - void *p0; - void *p1; - s32 zero1; - s32 zero2; - s32 tag; - u8 pad[16]; -} LinePrim_80189B1C; extern u16 D_801E82A0[]; extern s32 func_80017758(void *a0, void *a1); @@ -4702,16 +4610,7 @@ void func_8018A3C8(void *arg0) { } -typedef struct { - s16 unk00; -} Sub_8018A3FC; -typedef struct { - s16 unk00; - s16 unk02; - s16 unk04[8]; - Sub_8018A3FC *unk14[8]; -} S_8018A3FC; void func_8018A3FC(S_8018A3FC *arg0) { s32 i; diff --git a/src/ov_SC02_004/ov_SC02_004_jr_8017AE2C.c b/src/ov_SC02_004/ov_SC02_004_jr_8017AE2C.c index 2e96c9a2e2..fcf951469b 100644 --- a/src/ov_SC02_004/ov_SC02_004_jr_8017AE2C.c +++ b/src/ov_SC02_004/ov_SC02_004_jr_8017AE2C.c @@ -3308,7 +3308,6 @@ void func_8017BE60(void *a0) { #include "common.h" -typedef struct { s16 vx, vy, vz, pad; } SVEC_BEBC; extern s32 func_800491EC(void); extern void func_8017C294(u16 *a0, void *a1); @@ -3348,16 +3347,7 @@ extern void func_8017C530(s32 a0, s32 a1); * cell $t3 naturally once the bbox block allocates right. */ -typedef struct { u32 w0, w1, w2; } Prim59C; -typedef struct { u8 *vtx; u32 f4; u32 xx, yy, zz; Prim59C *prim, *end; } Cell59C; -typedef struct { s16 vx, vy; } DVEC2_C59C; -typedef struct { s16 vx, vy, vz, pad; } SVEC2_C59C; -typedef struct { s16 m[3][3]; s32 t[3]; } MTX_C59C; -typedef struct { u32 tag, rgbc; s16 x0, y0, x1, y1, x2, y2; } PF3_C59C; -typedef struct { u32 tag, rgbc; s16 x0, y0, x1, y1, x2, y2, x3, y3; } PF4_C59C; -typedef struct { u32 tag, rgbc; s16 x0, y0; u32 uvc0; s16 x1, y1; u32 uvp1; s16 x2, y2; u16 uv2, p2; } PFT3_C59C; -typedef struct { u32 tag, rgbc; s16 x0, y0; u32 uvc0; s16 x1, y1; u32 uvp1; s16 x2, y2; u16 uv2, p2; s16 x3, y3; u16 uv3, p3; } PFT4_C59C; diff --git a/src/ov_SC02_005/ov_SC02_005_jr_8017AE2C.c b/src/ov_SC02_005/ov_SC02_005_jr_8017AE2C.c index c8bf2317f2..409cc25ee2 100644 --- a/src/ov_SC02_005/ov_SC02_005_jr_8017AE2C.c +++ b/src/ov_SC02_005/ov_SC02_005_jr_8017AE2C.c @@ -3776,13 +3776,11 @@ void func_8017C41C(void *a0) { } -typedef struct { s16 vx, vy; } DVEC2_C59C; -typedef struct { s16 vx, vy, vz, pad; } SVEC_BEBC; extern s32 func_800491EC(void); extern void func_8017CC88(u16 *a0, void *a1); diff --git a/src/ov_SC02_005/ov_SC02_005_jr_8017CF90.c b/src/ov_SC02_005/ov_SC02_005_jr_8017CF90.c index e9b3956c54..e481ff707f 100644 --- a/src/ov_SC02_005/ov_SC02_005_jr_8017CF90.c +++ b/src/ov_SC02_005/ov_SC02_005_jr_8017CF90.c @@ -2703,16 +2703,8 @@ extern void func_8017CF24(s32 a0, s32 a1); * cell $t3 naturally once the bbox block allocates right. */ -typedef struct { u32 w0, w1, w2; } PrimCF90; -typedef struct { u8 *vtx; u32 f4; u32 xx, yy, zz; PrimCF90 *prim, *end; } CellCF90; -typedef struct { s16 vx, vy; } DVEC2_CF90; -typedef struct { s16 vx, vy, vz, pad; } SVEC2_CF90; typedef struct { s16 m[3][3]; s32 t[3]; } MTX_CF90; -typedef struct { u32 tag, rgbc; s16 x0, y0, x1, y1, x2, y2; } PF3_CF90; -typedef struct { u32 tag, rgbc; s16 x0, y0, x1, y1, x2, y2, x3, y3; } PF4_CF90; -typedef struct { u32 tag, rgbc; s16 x0, y0; u32 uvc0; s16 x1, y1; u32 uvp1; s16 x2, y2; u16 uv2, p2; } PFT3_CF90; -typedef struct { u32 tag, rgbc; s16 x0, y0; u32 uvc0; s16 x1, y1; u32 uvp1; s16 x2, y2; u16 uv2, p2; s16 x3, y3; u16 uv3, p3; } PFT4_CF90; @@ -3858,8 +3850,6 @@ extern void func_80012558(s32 a0, s32 a1); extern void func_800126C4(s32 a0, s32 a1); extern void func_8012F14C(s32 a0, s32 a1, s32 a2); -typedef struct { s16 m[3][3]; s32 t[3]; } MTX_EDF8; -typedef struct { s16 vx, vy, vz, pad; } SVEC_EDF8; void func_8017EDF8(s32 param_1, s32 param_2) { @@ -4593,7 +4583,6 @@ void func_8017FF8C(void *a0) { } -typedef struct { u8 b[8]; } Blk8x; void func_8017FFF0(s32 arg0) { extern Blk8x D_801E2DE8; @@ -5207,7 +5196,6 @@ void func_80180DB8(void *a0) { } -typedef struct { u8 b[8]; } Blk8_E08; extern s32 D_80126950; extern s32 D_80126954; diff --git a/src/ov_SC02_005/ov_SC02_005_jr_80181984.c b/src/ov_SC02_005/ov_SC02_005_jr_80181984.c index b408e6880c..39722a9737 100644 --- a/src/ov_SC02_005/ov_SC02_005_jr_80181984.c +++ b/src/ov_SC02_005/ov_SC02_005_jr_80181984.c @@ -9,19 +9,7 @@ typedef struct { u8 pad[7]; /* -> 0x40 */ } Prim_8016E7C8; typedef void (*Handler)(struct Entry_8016E95C *); -typedef struct { u32 w0, w1, w2; } PrimCF90; -typedef struct { u8 *vtx; u32 f4; u32 xx, yy, zz; PrimCF90 *prim, *end; } CellCF90; -typedef struct { s16 vx, vy; } DVEC2_CF90; -typedef struct { s16 vx, vy, vz, pad; } SVEC2_CF90; typedef struct { s16 m[3][3]; s32 t[3]; } MTX_CF90; -typedef struct { u32 tag, rgbc; s16 x0, y0, x1, y1, x2, y2; } PF3_CF90; -typedef struct { u32 tag, rgbc; s16 x0, y0, x1, y1, x2, y2, x3, y3; } PF4_CF90; -typedef struct { u32 tag, rgbc; s16 x0, y0; u32 uvc0; s16 x1, y1; u32 uvp1; s16 x2, y2; u16 uv2, p2; } PFT3_CF90; -typedef struct { u32 tag, rgbc; s16 x0, y0; u32 uvc0; s16 x1, y1; u32 uvp1; s16 x2, y2; u16 uv2, p2; s16 x3, y3; u16 uv3, p3; } PFT4_CF90; -typedef struct { s16 m[3][3]; s32 t[3]; } MTX_EDF8; -typedef struct { s16 vx, vy, vz, pad; } SVEC_EDF8; -typedef struct { u8 b[8]; } Blk8x; -typedef struct { u8 b[8]; } Blk8_E08; extern void func_801458E0(void); extern s32 D_800AE6AC; extern s32 D_800AE6B0; diff --git a/src/ov_SC02_005/ov_SC02_005_jr_80181D30.c b/src/ov_SC02_005/ov_SC02_005_jr_80181D30.c index e36e0d86fc..7c0e4c0fc7 100644 --- a/src/ov_SC02_005/ov_SC02_005_jr_80181D30.c +++ b/src/ov_SC02_005/ov_SC02_005_jr_80181D30.c @@ -13,15 +13,7 @@ typedef struct { u8 pad[7]; /* -> 0x40 */ } Prim_8016E7C8; typedef void (*Handler)(struct Entry_8016E95C *); -typedef struct { u32 w0, w1, w2; } PrimCF90; -typedef struct { u8 *vtx; u32 f4; u32 xx, yy, zz; PrimCF90 *prim, *end; } CellCF90; -typedef struct { s16 vx, vy; } DVEC2_CF90; -typedef struct { s16 vx, vy, vz, pad; } SVEC2_CF90; /* MTX_CF90 moved to ov_SC02_005_shared.h (S74 §431 split). */ -typedef struct { u32 tag, rgbc; s16 x0, y0, x1, y1, x2, y2; } PF3_CF90; -typedef struct { u32 tag, rgbc; s16 x0, y0, x1, y1, x2, y2, x3, y3; } PF4_CF90; -typedef struct { u32 tag, rgbc; s16 x0, y0; u32 uvc0; s16 x1, y1; u32 uvp1; s16 x2, y2; u16 uv2, p2; } PFT3_CF90; -typedef struct { u32 tag, rgbc; s16 x0, y0; u32 uvc0; s16 x1, y1; u32 uvp1; s16 x2, y2; u16 uv2, p2; s16 x3, y3; u16 uv3, p3; } PFT4_CF90; extern void func_801458E0(void); extern s32 D_800AE6AC; extern s32 D_800AE6B0; @@ -4300,7 +4292,6 @@ void func_80183D90(void *arg0) { #include "common.h" -typedef struct { u8 b[4]; } Blk4_80183FCC; extern void func_8001C924(s32 a0, void *a1); extern void func_80132784(s32 a0, s32 a1, u32 a2); @@ -4554,8 +4545,6 @@ void func_801844D4(s32 arg0) { /* File-local mirror types: match_one compiles standalone with -Iinclude * only, so the TU's real Blk20 (src/shared/engine_types.h) is not * reachable here. These mirror its exact byte layout. */ -typedef struct { s32 w[8]; } Blk20_8018454C; -typedef struct { s16 vx, vy, vz, pad; } SVec3_8018454C; extern Blk20 D_800AE620; extern void func_80132784(s32 a0, s32 a1, u32 a2); @@ -4710,11 +4699,7 @@ void func_801846CC(void *a0) */ #include "common.h" -typedef struct { - s16 vx, vy, vz, pad; -} SVec_80184828; -struct S0E_80184828 { s16 v; }; extern void func_8012AD80(s32 a0); extern s32 func_80187508(s32 param_1); @@ -4835,7 +4820,6 @@ extern void func_8012AD44(s32 *a0, s16 a1); extern void func_8012B200(u8 *a0); extern s32 D_801963FC; -struct S34_80184A8C { u16 v; }; void func_80184A8C(void *a0) { s32 s0; @@ -5052,9 +5036,6 @@ extern s32 func_8012AD50(void *a0); extern u16 D_80195B4C[]; extern u16 D_80195B68[]; -typedef struct { - u8 pad[0x34]; -} D_80195D74_Entry; extern D_80195D74_Entry D_80195D74[]; extern void (*D_80196490[])(void); diff --git a/src/ov_SC02_005/ov_SC02_005_jr_80185E80.c b/src/ov_SC02_005/ov_SC02_005_jr_80185E80.c index 6593763c14..98257e1336 100644 --- a/src/ov_SC02_005/ov_SC02_005_jr_80185E80.c +++ b/src/ov_SC02_005/ov_SC02_005_jr_80185E80.c @@ -137,12 +137,6 @@ s32 func_801860F4(s16 *arg0) { } -typedef struct { - s16 f0; - s16 f1; - s16 f2; - s16 f3; -} TBL_80186144; extern TBL_80186144 D_80195AF8[]; @@ -592,12 +586,6 @@ extern u16 D_80195B4C[]; extern s32 D_801961B8; extern s32 D_801961E0; -typedef struct { - s16 f0; - s16 f2; - s16 f4; - s16 val; -} Entry_80186A04; void func_80186A04(s32 arg0) { s16 idx; @@ -735,10 +723,6 @@ void func_80186C0C(void *a0) { } -typedef struct { - u8 pad[0x5C]; - u16 f5C; -} F5C_S; extern F5C_S *D_801E43CC[]; @@ -951,10 +935,6 @@ extern void func_8018A7D8(u16 *a0, u16 *a1, s16 *a2, s32 a3); * function indexes each with a 16-byte runtime stride (sll ...,4). Model each as an array * of a 16-byte-stride row so gcc emits the shift and keeps the relocation on the symbol * itself rather than folding an offset into a neighbour's %lo. */ -typedef struct { - s16 v; - u8 pad[14]; -} Row16_t; extern Row16_t D_80195B78[]; extern Row16_t D_80195B7A[]; extern Row16_t D_80195B7C[]; @@ -1116,12 +1096,6 @@ void func_80187348(s32 a0, s32 a1) { extern s32 func_8012DEB8(s32 a0, s32 a1, s32 a2); -typedef struct { - u16 x; - u16 y; - u16 z; - u16 w; -} Vec4h_801873FC; s32 func_801873FC(s32 a0) { Vec4h_801873FC p1; @@ -1177,12 +1151,6 @@ s32 func_80187508(s32 param_1) #include "common.h" -typedef struct { - /* 0x0 */ u16 x; - /* 0x2 */ u16 y; - /* 0x4 */ u16 z; - /* 0x6 */ u16 w; -} Vec4h_80187560; extern s32 func_8012DF34(s32 a0, s32 a1, s32 a2); @@ -1223,7 +1191,6 @@ save: extern void func_8018B16C(s32 a0, s32 a1, s32 a2); -typedef struct { char b[8]; } Blob8_80187664; extern Blob8_80187664 D_801E2EF0; @@ -1241,7 +1208,6 @@ void func_80187664(s32 arg0) /* D_801E2EF8: 8-byte, alignment-1 blob -- copied with lwl/lwr + swl/swr * (gcc's emit_block_move for align < 4), same idiom as the banked twin * func_8018A47C's D_801E2F28. */ -typedef struct { char b[8]; } Blob8_801876B0; extern Blob8_801876B0 D_801E2EF8; extern u8 D_801202A0[]; @@ -2536,7 +2502,6 @@ extern void func_8012F214(s32 a0, s32 a1, s32 a2); extern s32 func_80135260(s32 arg0, s32 arg1, s16 *arg2, s16 *arg3); extern void func_8002D4C8(s32 a0, s32 a1); -typedef struct { s16 a, b, c, d; } SV892CC; s32 func_801892CC(s32 arg0) { @@ -2762,7 +2727,6 @@ extern void func_80189B30(s32 a0); extern u8 D_801E44F0[]; extern u8 D_801E44F8[]; -typedef struct { u32 w[8]; } Blk32_801898F4; void func_801898F4(void *a0) { s32 i; @@ -3007,7 +2971,6 @@ extern void func_80129350(s32 a0, s32 a1); extern void RotMatrixY(s32 a0, void *a1); extern void func_800484EC(s32 a0, s32 a1, s32 a2); -typedef struct { s32 w[4]; } Blk16_801E2F08; extern Blk16_801E2F08 D_801E2F08; extern Blk20 D_800AE620; @@ -3087,7 +3050,6 @@ void func_8018A174(s32 arg0) { * against the pinned cc1). canon_sig_reconcile strips a draft typedef whose * name AND body match engine_types.h, so the duplicate definition disappears * at bank time and the ambient Blk20 is used. */ -typedef struct { s32 w[4]; } Blk16_8018A1D8; extern Blk16_8018A1D8 D_801E2F18; @@ -3194,14 +3156,11 @@ void func_8018A47C(s32 a0) { /* D_801E2F30: 8-byte, alignment-1 blob -- copied with lwl/lwr + swl/swr * (gcc's emit_block_move for align < 4). Holds 3 x u16 (+ pad). */ -typedef struct { char b[8]; } Blob8_8018A4C4; /* D_801E2F38: 16-byte, word-aligned blob -- copied with plain lw/sw. */ -typedef struct { s32 w[4]; } Blk16_8018A4C4; /* (*(Blk20_8018A4C4 *)&D_800AE620): 32-byte MATRIX-shaped blob (9 x s16 rot + pad + 3 x s32 trans), * copied with plain lw/sw -- same shape as the TU's existing Blk20. */ -typedef struct { s32 w[8]; } Blk20_8018A4C4; extern Blob8_8018A4C4 D_801E2F30; extern Blk16_8018A4C4 D_801E2F38; @@ -3344,17 +3303,6 @@ extern s16 D_80195AC6[]; extern u16 D_80195AD6; extern s32 D_801E4A58[]; -typedef struct { - s16 field_0; - s16 field_2; - s16 field_4; - s16 field_6; - s16 field_8; - s16 field_A; - s16 field_C; - s16 field_E; - s32 field_10; -} LocalStruct_8018A968; /* register pins reproduce the target's density-priority regalloc order (cookbook, banked * twin md_SC07_004:func_801AD7EC): pos/idx are read+written every iteration (highest density) @@ -3671,8 +3619,6 @@ void func_8018AEB4(s32 a0, s32 a1) /* Local idiom types (mirrors the TU's own MTX_CF90 pattern / shared Vec32, * kept file-local since match_one compiles standalone with -Iinclude only). */ -typedef struct { s16 m[3][3]; s32 t[3]; } Mtx8_8018AF58; -typedef struct { s32 vx, vy, vz, pad; } Vec32_8018AF58; extern Blk20 D_800AE620; extern Blk16_801E2F08 D_801E2F08; @@ -3712,12 +3658,10 @@ void func_8018AF58(s32 a0) * globals (func_8018A4C4's D_801E2F30). Holds 3 x s16 angle (+ pad); the * middle field is overwritten right after the copy and re-biased each * loop iteration below. */ -typedef struct { char b[8]; } Blob8_8018B058; extern Blob8_8018B058 D_801E2F00; /* Vec32-shape local (matches the TU's Vec32_8018AF58 pattern): 3 x s32 + * pad, passed by address to func_800484EC as its translation-vector arg. */ -typedef struct { s32 vx, vy, vz, pad; } Vec32_8018B058; extern u8 D_80196870[]; @@ -4362,7 +4306,6 @@ extern u8 D_801E2F54; /* align-1 4-byte block: lowers via emit_block_move (unaligned lwl/lwr + swl/swr) * with ZERO memcpy-symbol reference (house idiom, cf. func_8018CE04) */ -typedef struct { u8 b[4]; } Blk4_8018BDD0; void func_8018BDD0(s32 param_1) { @@ -5057,7 +5000,6 @@ extern void func_8012C218(void *a0); #include "common.h" -typedef struct { u8 b[4]; } Blk4_8018CC28; /* ---- externs ------------------------------------------------------------ */ extern void func_8001CD50(s32 a0, s32 a1); @@ -5450,7 +5392,6 @@ extern u16 D_800B99DA; extern s32 D_801270C8; extern void MoveImage(void *a0, s32 a1, s32 a2); -struct imgrect { u16 x; u16 y; u16 w; u16 h; }; void func_8018D4D8(void *param_1) { @@ -5508,17 +5449,6 @@ void func_8018D574(void *a0) extern s32 func_8012C750(s32 a0); extern s32 func_8012C51C(void *a0, s32 a1); -typedef struct { - s16 field_0; - s16 field_2; - s16 field_4; - s16 field_6; - s16 field_8; - s16 field_A; - s16 field_C; - s16 field_E; - s32 field_10; -} LocalStruct; void func_8018D608(s32 a0) { @@ -6236,7 +6166,6 @@ extern u32 D_801F01D4[]; extern u8 D_801F0220[]; extern u8 D_80196C00[]; -typedef struct { u32 f0; u32 f4; } E8_8018E450; extern E8_8018E450 D_801E499C[]; extern E8_8018E450 D_801E4998[]; diff --git a/src/ov_SC02_005/ov_SC02_005_jr_8018EA04.c b/src/ov_SC02_005/ov_SC02_005_jr_8018EA04.c index 7c79929995..7213f939d5 100644 --- a/src/ov_SC02_005/ov_SC02_005_jr_8018EA04.c +++ b/src/ov_SC02_005/ov_SC02_005_jr_8018EA04.c @@ -28,101 +28,13 @@ typedef struct { u8 pad[7]; /* -> 0x40 */ } Prim_8016E7C8; typedef void (*Handler)(struct Entry_8016E95C *); -typedef struct { u32 w0, w1, w2; } PrimCF90; -typedef struct { u8 *vtx; u32 f4; u32 xx, yy, zz; PrimCF90 *prim, *end; } CellCF90; -typedef struct { s16 vx, vy; } DVEC2_CF90; -typedef struct { s16 vx, vy, vz, pad; } SVEC2_CF90; typedef struct { s16 m[3][3]; s32 t[3]; } MTX_CF90; -typedef struct { u32 tag, rgbc; s16 x0, y0, x1, y1, x2, y2; } PF3_CF90; -typedef struct { u32 tag, rgbc; s16 x0, y0, x1, y1, x2, y2, x3, y3; } PF4_CF90; -typedef struct { u32 tag, rgbc; s16 x0, y0; u32 uvc0; s16 x1, y1; u32 uvp1; s16 x2, y2; u16 uv2, p2; } PFT3_CF90; -typedef struct { u32 tag, rgbc; s16 x0, y0; u32 uvc0; s16 x1, y1; u32 uvp1; s16 x2, y2; u16 uv2, p2; s16 x3, y3; u16 uv3, p3; } PFT4_CF90; -typedef struct { u8 b[4]; } Blk4_80183FCC; -typedef struct { s32 w[8]; } Blk20_8018454C; -typedef struct { s16 vx, vy, vz, pad; } SVec3_8018454C; typedef struct { s16 f0; s16 f2; s16 f4; s16 f6; } D_80195AF4_t; -typedef struct { - s16 vx, vy, vz, pad; -} SVec_80184828; -struct S0E_80184828 { s16 v; }; -struct S34_80184A8C { u16 v; }; -typedef struct { - u8 pad[0x34]; -} D_80195D74_Entry; -typedef struct { - s16 f0; - s16 f1; - s16 f2; - s16 f3; -} TBL_80186144; -typedef struct { - s16 f0; - s16 f2; - s16 f4; - s16 val; -} Entry_80186A04; -typedef struct { - u8 pad[0x5C]; - u16 f5C; -} F5C_S; -typedef struct { - s16 v; - u8 pad[14]; -} Row16_t; -typedef struct { - u16 x; - u16 y; - u16 z; - u16 w; -} Vec4h_801873FC; -typedef struct { - /* 0x0 */ u16 x; - /* 0x2 */ u16 y; - /* 0x4 */ u16 z; - /* 0x6 */ u16 w; -} Vec4h_80187560; -typedef struct { char b[8]; } Blob8_80187664; -typedef struct { char b[8]; } Blob8_801876B0; -typedef struct { s16 a, b, c, d; } SV892CC; -typedef struct { s32 w[4]; } Blk16_801E2F08; -typedef struct { s32 w[4]; } Blk16_8018A1D8; -typedef struct { char b[8]; } Blob8_8018A4C4; -typedef struct { s32 w[4]; } Blk16_8018A4C4; -typedef struct { s32 w[8]; } Blk20_8018A4C4; -typedef struct { - s16 field_0; - s16 field_2; - s16 field_4; - s16 field_6; - s16 field_8; - s16 field_A; - s16 field_C; - s16 field_E; - s32 field_10; -} LocalStruct_8018A968; -typedef struct { s16 m[3][3]; s32 t[3]; } Mtx8_8018AF58; -typedef struct { s32 vx, vy, vz, pad; } Vec32_8018AF58; -typedef struct { char b[8]; } Blob8_8018B058; -typedef struct { s32 vx, vy, vz, pad; } Vec32_8018B058; -typedef struct { u8 b[4]; } Blk4_8018BDD0; -typedef struct { u8 b[4]; } Blk4_8018CC28; -struct imgrect { u16 x; u16 y; u16 w; u16 h; }; -typedef struct { - s16 field_0; - s16 field_2; - s16 field_4; - s16 field_6; - s16 field_8; - s16 field_A; - s16 field_C; - s16 field_E; - s32 field_10; -} LocalStruct; extern void func_801458E0(void); extern s32 D_800AE6AC; extern s32 D_800AE6B0; @@ -4397,7 +4309,6 @@ void func_8018FB8C(void *a0) { * which defines `struct B16 { s32 w[4]; };` at line 295, so a file-scope `struct B16` * contributed by this draft is a hard "redefinition of `struct B16'" at cc1. A unique * per-function tag is the sanctioned spelling. */ -struct B16_8018FC38 { s32 w[4]; }; /* §183 TYPE-adopted-TU: the destination TU already declares this symbol * `extern s32 D_800A5E88;` at file scope ABOVE this insertion offset (the @@ -4874,7 +4785,6 @@ extern s32 func_80146A6C(s32 a0, void *a1, s32 a2, s32 a3, s32 a4, s32 a5, s32 a extern void func_80165718(s32 a0); extern s32 D_801270C8; -typedef struct { s32 vx, vy, vz, pad; } Vec_80190538; void func_80190538(s32 arg0) { s32 s0 = arg0; diff --git a/src/ov_SC02_011/ov_SC02_011_jr_8017AE2C.c b/src/ov_SC02_011/ov_SC02_011_jr_8017AE2C.c index 7f0952280a..96d347d3a8 100644 --- a/src/ov_SC02_011/ov_SC02_011_jr_8017AE2C.c +++ b/src/ov_SC02_011/ov_SC02_011_jr_8017AE2C.c @@ -5720,7 +5720,6 @@ void func_8017F2F0(void *a0) { * may DROP this local typedef and reuse the TU's own `B4` when banking into the host TU. */ -typedef struct { u8 d[4]; } Blk4_8017CE90_8017F32C; extern void func_801465C0(void); extern void func_8001CD04(void *a0, void *a1); @@ -5857,13 +5856,6 @@ void func_8017F630(void *a0) { } - typedef struct { s16 vx; u16 vy; s16 vz, pad; } SVec_8017F67C; -typedef struct { - SVECTOR_8016E7C8 v[4]; /* 0x00 */ - s32 f0, f1, f2, f3, f4, f5; /* 0x20..0x37 */ - u8 f6; /* 0x38 */ - u8 pad[7]; /* -> 0x40 */ -} Prim_8016E7C8_8017F67C; @@ -6285,7 +6277,6 @@ void func_8017FE64(s32 a0) { } -typedef struct { s16 m[4]; } S8_FF34; void func_8017FF34(s16 a0, void *a1, void *a2) { extern s16 D_80126B30; @@ -7097,14 +7088,6 @@ void func_80180E74(void *a0) * local typedefs can be dropped. */ -typedef struct { s16 vx, vy; } DVEC80180FE4; -typedef struct { s16 vx, vy, vz, pad; } SVEC80180FE4; -typedef struct { s16 m[3][3]; s32 t[3]; } MTX80180FE4; -typedef struct { u32 xx, yy, zz; u32 nprim; u32 *prim; } Part80180FE4; -typedef struct { u32 tag, rgbc; s16 x0, y0; u32 uvc0; s16 x1, y1; u32 uvp1; - s16 x2, y2; u16 uv2, p2; } PolyFT3_80180FE4; -typedef struct { u32 tag, rgbc; s16 x0, y0; u32 uvc0; s16 x1, y1; u32 uvp1; - s16 x2, y2; u16 uv2, p2; s16 x3, y3; u16 uv3, p3; } PolyFT4_80180FE4; @@ -7867,9 +7850,6 @@ extern s16 D_80126940; extern s16 D_801274E8; extern s16 D_801269E8; -typedef struct { - s16 x0, x1, x2, x3; -} UnalignedShortBlock; void func_80182488(void) { D_80126954 = 0x190; diff --git a/src/ov_SC02_011/ov_SC02_011_jr_80183178.c b/src/ov_SC02_011/ov_SC02_011_jr_80183178.c index d211ed8c6c..67d154584f 100644 --- a/src/ov_SC02_011/ov_SC02_011_jr_80183178.c +++ b/src/ov_SC02_011/ov_SC02_011_jr_80183178.c @@ -27,15 +27,7 @@ extern void func_80178D18(void); extern void func_80184918(s32 arg0, s32 arg1); -typedef struct Sub83178 { - char pad0[0x10]; - s16 unk10; -} Sub83178; -typedef struct Ent83178 { - char pad0[0x20]; - Sub83178 *unk20; -} Ent83178; void func_80183178(s32 a0) { @@ -1113,7 +1105,6 @@ void func_80184C0C(s32 param_1) { } -typedef struct { s16 a, b, c; } SV3_80184C98; extern void func_8012B23C(s32 a0); extern void func_80185098(s32 a0, s32 a1); extern void func_8012B14C(s32 a0, s32 a1); @@ -1141,7 +1132,6 @@ void func_80184C98(s32 param_1) { } -typedef struct { s16 a, b, c; } SV3_80184D50; extern u16 D_80126B5E; extern u16 D_80126B62; @@ -1183,7 +1173,6 @@ void func_80184D50(s32 param_1) { /* match_one's standalone common.h does not reach src/shared/engine_types.h, where the * real TU's SV3 {short a,b,c} lives (via ../shared/engine_core.h). Function-scoped local * name so it collides with nothing; integrator may drop this and reuse the TU's own SV3. */ -typedef struct { s16 a, b, c; } SV3_80184E00; extern u16 D_80126B5E; extern u16 D_80126B62; @@ -1240,7 +1229,6 @@ void func_80184E00(s32 param_1) } -typedef struct { s16 a, b, c; } SV3_80184F48; extern u8 D_801957DC; extern void func_80185098(s32 a0, s32 a1); extern s32 func_8012CBCC(s32 a0); @@ -3156,10 +3144,6 @@ L_end: #include "common.h" /* Packed struct to trigger lwl/lwr unaligned block copy */ -typedef struct { - u32 field0; - u32 field1; -} __attribute__((packed, aligned(1))) BlockData; extern u8 func_8014BF6C(void); extern void func_8012B23C(s32 a0); @@ -3208,8 +3192,6 @@ void func_80187614(s32 a0) { #include "common.h" -typedef struct { s16 m[3][3]; s32 t[3]; } Mtx32_80187654; -typedef struct { s16 a, b, c; } SV3_80187654; extern s32 *D_80126B78; extern s32 D_80195DB0[]; @@ -4004,9 +3986,6 @@ extern void func_8012A828(s32 a0, void *a1); extern void Square0(s32 *a0, s32 *a1); extern u8 D_801D3CBC[]; -typedef struct { - s32 vx, vy, vz; -} Vec3_1887F8; void func_801887F8(s32 a0) { Vec3_1887F8 d; diff --git a/src/ov_SC02_011/ov_SC02_011_jr_80188E3C.c b/src/ov_SC02_011/ov_SC02_011_jr_80188E3C.c index b4ac10f1fd..c132fc2efd 100644 --- a/src/ov_SC02_011/ov_SC02_011_jr_80188E3C.c +++ b/src/ov_SC02_011/ov_SC02_011_jr_80188E3C.c @@ -171,7 +171,6 @@ void func_801890C8(s32 a0) { /* match_one's standalone common.h does not reach src/shared/engine_types.h where the * real TU's SV3 {short a,b,c} lives (via ../shared/engine_core.h); function-local name. */ -typedef struct { s16 a, b, c; } SV3_801891E8; extern u16 D_80126B5E; extern u16 D_80126B66; @@ -250,9 +249,6 @@ extern void (*D_80196058[])(void); extern short D_801D3B74; extern u8 D_801D3CBC[]; -typedef struct { - s32 vx, vy, vz; -} Vec3_189324; void func_80189324(s32 a0) { s32 idx; @@ -886,7 +882,6 @@ extern s32 D_801269E4; void func_8018A284(void *a0); -typedef struct { u16 a, b, c, d; } __attribute__((aligned(2))) DataBlock; void func_8018A1A4(void *a0) { u8 *s1; @@ -4730,16 +4725,10 @@ extern u32 D_801DF7F8[]; extern u8 D_801DF85C[]; -typedef struct { s16 vx, vy, vz, pad; } SVec8_8018E8A0; /* 0x08 */ -typedef struct { s32 vx, vy, vz, pad; } Vec16_8018E8A0; /* 0x10 */ -typedef struct { s16 m[3][3]; s16 pad; s32 t[3]; } Mtx_8018E8A0; /* 0x20 */ -typedef struct { s16 f[0x86]; } Cnt_8018E8A0; -typedef struct { - SVec8_8018E8A0 v[4]; /* 0x00 */ - u32 c[4]; /* 0x20 */ - s32 code; /* 0x30 */ - s32 pad; /* 0x34 */ -} Prim_8018E8A0; /* 0x38 */ + /* 0x08 */ + /* 0x10 */ + /* 0x20 */ + /* 0x38 */ void func_8018E8A0(void *a0) { diff --git a/src/ov_SC02_015/ov_SC02_015_jr_8017AE2C.c b/src/ov_SC02_015/ov_SC02_015_jr_8017AE2C.c index b457a16ef2..b2d4ce74f0 100644 --- a/src/ov_SC02_015/ov_SC02_015_jr_8017AE2C.c +++ b/src/ov_SC02_015/ov_SC02_015_jr_8017AE2C.c @@ -3552,8 +3552,6 @@ void func_8017D500(void *a0) { * therefore already has the real MATRIX/SVECTOR in scope; these local names exist ONLY to let this * file compile standalone under match_one and carry zero risk of colliding with the host's globals * at integration time). Layout: m[3][3] (18B) + 2B pad + t[3] s32 (12B) = 0x20; vx/vy/vz/pad s16 = 8B. */ -typedef struct { s16 m[3][3]; s32 t[3]; } MATRIX_8017D5C8; -typedef struct { s16 vx, vy, vz, pad; } SVECTOR_8017D5C8; extern s32 D_80126B58; extern s16 D_80181CEC[]; @@ -3638,12 +3636,6 @@ void func_8017D7E0(s32 param_1) { #include "common.h" /* 4 bytes, alignment 1 -> struct assignment lowers to lwl/lwr + swl/swr */ -typedef struct { - u8 r; - u8 g; - u8 b; - u8 cd; -} Col4_8017D878; extern s32 func_8012EFB8(void *param_1, void *param_2); extern void func_80015954(s32 a0, s32 a1); @@ -3799,38 +3791,15 @@ extern void func_8001739C(void *a0); -typedef struct { - s16 x; /* +0x0 */ - s16 y; /* +0x2 */ - s16 c; /* +0x4 */ - s16 pad; /* +0x6 */ -} Vtx_8017DC24; /* 0x08 */ + /* 0x08 */ -typedef struct { - Vtx_8017DC24 v[3]; /* +0x00 +0x08 +0x10 */ - u8 r0, g0, b0, code; /* +0x18 .. +0x1B */ - u8 r1, g1, b1, pad1; /* +0x1C .. +0x1F */ - u8 r2, g2, b2, pad2; /* +0x20 .. +0x23 */ - u32 color; /* +0x24 */ -} Prim_8017DC24; /* 0x28 */ + /* 0x28 */ -typedef struct { - u16 x; /* +0x0 */ - u16 y; /* +0x2 */ - u16 z; /* +0x4 */ -} Pos_8017DC24; /* 0x06 -> 8-byte frame stride */ + /* 0x06 -> 8-byte frame stride */ -typedef struct { - u16 vx; /* +0x0 */ - u16 vy; /* +0x2 */ - u16 vz; /* +0x4 */ - u16 pad; /* +0x6 */ -} Sxy_8017DC24; /* 0x08 */ + /* 0x08 */ -typedef struct { - s16 m[3][3]; /* +0x00, padded to 0x14 */ - s32 t[3]; /* +0x14 +0x18 +0x1C */ -} Mtx_8017DC24; /* 0x20 */ + /* 0x20 */ extern u16 D_80181D9C[]; extern s16 D_80181DA0; diff --git a/src/ov_SC02_016/ov_SC02_016_jr_8017DC70.c b/src/ov_SC02_016/ov_SC02_016_jr_8017DC70.c index 28ecb0c1c2..37bce4b09e 100644 --- a/src/ov_SC02_016/ov_SC02_016_jr_8017DC70.c +++ b/src/ov_SC02_016/ov_SC02_016_jr_8017DC70.c @@ -4046,7 +4046,6 @@ void func_801802C8(u8 *a0, u8 *a1) { -typedef struct { s16 a, b, c; } SV3_80184C98; /* func_8018035C -- same-class neighbour push-away over the 0x60-entry / * 0x10C-stride entity table D_801202A0. Banked twin: ov_SC06_018:func_80187320 diff --git a/src/ov_SC02_016/ov_SC02_016_jr_801810C8.c b/src/ov_SC02_016/ov_SC02_016_jr_801810C8.c index cfdfea176d..2ded904478 100644 --- a/src/ov_SC02_016/ov_SC02_016_jr_801810C8.c +++ b/src/ov_SC02_016/ov_SC02_016_jr_801810C8.c @@ -3139,9 +3139,6 @@ extern u8 D_80078EB1; extern short D_801AF9CC; extern u8 D_801AFB14[]; -typedef struct { - s32 vx, vy, vz; -} Vec3_1818F8; void func_801818F8(s32 a0) { s32 idx; diff --git a/src/ov_SC02_017/ov_SC02_017_jr_8017DF34.c b/src/ov_SC02_017/ov_SC02_017_jr_8017DF34.c index d46cf29d7b..51691cbd08 100644 --- a/src/ov_SC02_017/ov_SC02_017_jr_8017DF34.c +++ b/src/ov_SC02_017/ov_SC02_017_jr_8017DF34.c @@ -4158,12 +4158,6 @@ extern s32 D_8018E338[]; * a0+0xFC is actually 4-aligned at runtime -- codegen goes off the type's * declared alignment, not the runtime address; cookbook §48-C2). Same * pattern as ov_SC03_029:func_80182744's Rec80182744. */ -struct Rec801806C8_s { - s32 f0; - s32 f1; - s32 f2; -} __attribute__((packed, aligned(1))); -typedef struct Rec801806C8_s Rec801806C8; extern Rec801806C8 D_8018E344[]; void func_801806C8(void *a0) { @@ -4204,9 +4198,6 @@ extern s32 func_8018096C(); // K&R: 0 of 1 args (P37 rung D t4_D1) extern void func_8012B2CC(s32 a0); extern Rec801806C8 D_8018E344[]; -typedef struct { - u16 x, y, z, w; -} Blk8_801807DC; void func_801807DC(int param_1) { @@ -5248,8 +5239,6 @@ s32 func_80181E98_impl(void *arg) } -typedef struct { s16 vx, vy, vz, pad; } SV_8018209C; -typedef struct { s16 x, y; s32 flag; } RES_8018209C; extern u8 D_800AF648; @@ -5545,7 +5534,6 @@ extern s32 func_8018287C(); // K&R: 0/1 of 1 args (P37 rung D t4_D1) } -typedef struct { u8 b[8]; } Blk8_801827C4; extern Blk8_801827C4 D_801EE3F4; extern u16 D_800B99DA; @@ -5580,8 +5568,6 @@ void func_80182844(s32 a0) { } -typedef struct { s16 a, b, c; } SV3_8018287C; -typedef struct { s32 w[8]; } Blk32_8018287C; extern u8 D_8018E61C[]; extern void func_8012F214(s32 a0, s32 a1, s32 a2); @@ -5606,8 +5592,6 @@ s32 func_8018287C(void *param_1) } -typedef struct { s16 m[3][3]; s32 t[3]; } Mtx32_80182938; -typedef struct { s16 a, b, c; } SV3_80182938; extern s32 *D_80126B78; extern u8 D_8018E61C[]; @@ -6927,7 +6911,6 @@ void func_801846B8(void *arg0) * ov_SC03_089:func_80184E54 (0.6883 sim) which uses the identical * `{s16 a,b,c,d;}` 8-byte struct-copy idiom for the lwl/lwr blocks. */ -typedef struct { s16 a, b, c, d; } SV4x_80184754; extern void func_8012C218(void *a0); extern void func_80132288(s32 *param_1, s32 *param_2, s32 param_3); @@ -7009,8 +6992,6 @@ void func_801848B4(s32 param_1) { #include "common.h" -typedef struct { s16 a, b, c; } SV3_8018495C; -typedef struct { u8 b[8]; } Blk8_8018495C; extern void func_8012C218(void *a0); extern void func_8012F214(s32 a0, s32 a1, s32 a2); diff --git a/src/ov_SC02_017/ov_SC02_017_jr_80186C64.c b/src/ov_SC02_017/ov_SC02_017_jr_80186C64.c index 04dce0d537..e00f0c72ef 100644 --- a/src/ov_SC02_017/ov_SC02_017_jr_80186C64.c +++ b/src/ov_SC02_017/ov_SC02_017_jr_80186C64.c @@ -9,25 +9,6 @@ typedef struct { u8 pad[7]; /* -> 0x40 */ } Prim_8016E7C8; typedef void (*Handler)(struct Entry_8016E95C *); -struct Rec801806C8_s { - s32 f0; - s32 f1; - s32 f2; -} __attribute__((packed, aligned(1))); -typedef struct Rec801806C8_s Rec801806C8; -typedef struct { - u16 x, y, z, w; -} Blk8_801807DC; -typedef struct { s16 vx, vy, vz, pad; } SV_8018209C; -typedef struct { s16 x, y; s32 flag; } RES_8018209C; -typedef struct { u8 b[8]; } Blk8_801827C4; -typedef struct { s16 a, b, c; } SV3_8018287C; -typedef struct { s32 w[8]; } Blk32_8018287C; -typedef struct { s16 m[3][3]; s32 t[3]; } Mtx32_80182938; -typedef struct { s16 a, b, c; } SV3_80182938; -typedef struct { s16 a, b, c, d; } SV4x_80184754; -typedef struct { s16 a, b, c; } SV3_8018495C; -typedef struct { u8 b[8]; } Blk8_8018495C; extern void func_801458E0(void); extern s32 D_800AE6AC; extern s32 D_800AE6B0; @@ -3465,15 +3446,6 @@ extern s16 D_801E1264; extern s16 D_801E1AFC; extern s16 D_801E11DC; -typedef struct { - u16 x; - u16 pad0; - u16 z; - u16 pad1; - s32 vx; - s32 vy; - s32 vz; -} D_87298; void func_80187298(s32 a0) { D_87298 d; @@ -3576,9 +3548,6 @@ extern void (*D_801D6158[])(void); extern short D_801E0FEC; extern short D_801E1134; -typedef struct { - s32 vx, vy, vz; -} Vec3_874E8; void func_801874E8(s32 a0) { s32 idx; diff --git a/src/ov_SC02_021/ov_SC02_021_jr_8017C294.c b/src/ov_SC02_021/ov_SC02_021_jr_8017C294.c index 63c399c6a8..d9fc049789 100644 --- a/src/ov_SC02_021/ov_SC02_021_jr_8017C294.c +++ b/src/ov_SC02_021/ov_SC02_021_jr_8017C294.c @@ -2835,8 +2835,6 @@ void func_8017D500(void *a0) { * therefore already has the real MATRIX/SVECTOR in scope; these local names exist ONLY to let this * file compile standalone under match_one and carry zero risk of colliding with the host's globals * at integration time). Layout: m[3][3] (18B) + 2B pad + t[3] s32 (12B) = 0x20; vx/vy/vz/pad s16 = 8B. */ -typedef struct { s16 m[3][3]; s32 t[3]; } MATRIX_8017D5C8_8017D5C8; -typedef struct { s16 vx, vy, vz, pad; } SVECTOR_8017D5C8_8017D5C8; extern u16 func_80148800(s32 *a0); extern s32 func_80012C6C(s32 a0, s32 a1, s32 a2); @@ -3461,12 +3459,6 @@ s32 func_8017E4DC(s32 arg0, s32 arg1, s32 *arg2) extern s32 func_8012DEB8(s32 a0, s32 a1, s32 a2); -typedef struct { - u16 x; /* 0x0 */ - u16 y; /* 0x2 */ - u16 z; /* 0x4 */ - u16 w; /* 0x6 */ -} Vec4h_8017E608; s32 func_8017E608(s32 a0, s32 a1, s16 a2) { Vec4h_8017E608 p1; diff --git a/src/ov_SC02_021/ov_SC02_021_jr_8017EB00.c b/src/ov_SC02_021/ov_SC02_021_jr_8017EB00.c index 6142869519..0a3f2640b9 100644 --- a/src/ov_SC02_021/ov_SC02_021_jr_8017EB00.c +++ b/src/ov_SC02_021/ov_SC02_021_jr_8017EB00.c @@ -9,14 +9,6 @@ typedef struct { u8 pad[7]; /* -> 0x40 */ } Prim_8016E7C8; typedef void (*Handler)(struct Entry_8016E95C *); -typedef struct { s16 m[3][3]; s32 t[3]; } MATRIX_8017D5C8_8017D5C8; -typedef struct { s16 vx, vy, vz, pad; } SVECTOR_8017D5C8_8017D5C8; -typedef struct { - u16 x; /* 0x0 */ - u16 y; /* 0x2 */ - u16 z; /* 0x4 */ - u16 w; /* 0x6 */ -} Vec4h_8017E608; extern void func_801458E0(void); extern s32 D_800AE6AC; extern s32 D_800AE6B0; diff --git a/src/ov_SC02_021/ov_SC02_021_jr_8017ECFC.c b/src/ov_SC02_021/ov_SC02_021_jr_8017ECFC.c index 91211ea8d7..441648da7e 100644 --- a/src/ov_SC02_021/ov_SC02_021_jr_8017ECFC.c +++ b/src/ov_SC02_021/ov_SC02_021_jr_8017ECFC.c @@ -9,14 +9,6 @@ typedef struct { u8 pad[7]; /* -> 0x40 */ } Prim_8016E7C8; typedef void (*Handler)(struct Entry_8016E95C *); -typedef struct { s16 m[3][3]; s32 t[3]; } MATRIX_8017D5C8_8017D5C8; -typedef struct { s16 vx, vy, vz, pad; } SVECTOR_8017D5C8_8017D5C8; -typedef struct { - u16 x; /* 0x0 */ - u16 y; /* 0x2 */ - u16 z; /* 0x4 */ - u16 w; /* 0x6 */ -} Vec4h_8017E608; extern void func_801458E0(void); extern s32 D_800AE6AC; extern s32 D_800AE6B0; @@ -3001,18 +2993,7 @@ void func_8017F264(s32 a0) } -typedef struct { - u8 r; /* 0x00 */ - u8 g; /* 0x01 */ - u8 b; /* 0x02 */ - u8 cd; /* 0x03 */ -} Col4_8017F2FC; -typedef struct { - s32 unk0; /* 0x00 */ - s16 unk4; /* 0x04 */ - s16 unk6; /* 0x06 */ -} Gte8_8017F2FC; extern s32 func_8012EFB8(void *param_1, void *param_2); extern void func_80015954(s32 a0, s32 a1); @@ -3123,20 +3104,8 @@ void func_8017F5CC(void *a0) { } -typedef struct { - u16 vx; /* +0x0 */ - u16 vy; /* +0x2 */ - u16 vz; /* +0x4 */ - u16 pad; /* +0x6 */ -} Sxy_8017DC24; /* 0x08 */ -typedef struct { s16 vx, vy, vz, pad; } SVECTOR_8017D5C8; -typedef struct { - s16 x; /* +0x0 */ - s16 y; /* +0x2 */ - s16 c; /* +0x4 */ - s16 pad; /* +0x6 */ -} Vtx_8017DC24; /* 0x08 */ -typedef struct { s16 m[3][3]; s32 t[3]; } MATRIX_8017D5C8; + /* 0x08 */ + /* 0x08 */ extern void func_8017F6A8(s32); @@ -3191,38 +3160,15 @@ extern s16 D_80183968; -typedef struct { - s16 x; /* +0x0 */ - s16 y; /* +0x2 */ - s16 c; /* +0x4 */ - s16 pad; /* +0x6 */ -} Vtx_8017F6A8; /* 0x08 */ + /* 0x08 */ -typedef struct { - Vtx_8017F6A8 v[3]; /* +0x00 +0x08 +0x10 */ - u8 r0, g0, b0, code; /* +0x18 .. +0x1B */ - u8 r1, g1, b1, pad1; /* +0x1C .. +0x1F */ - u8 r2, g2, b2, pad2; /* +0x20 .. +0x23 */ - u32 color; /* +0x24 */ -} Prim_8017F6A8; /* 0x28 */ + /* 0x28 */ -typedef struct { - u16 x; /* +0x0 */ - u16 y; /* +0x2 */ - u16 z; /* +0x4 */ -} Pos_8017F6A8; /* 0x06 -> 8-byte frame stride */ + /* 0x06 -> 8-byte frame stride */ -typedef struct { - u16 vx; /* +0x0 */ - u16 vy; /* +0x2 */ - u16 vz; /* +0x4 */ - u16 pad; /* +0x6 */ -} Sxy_8017F6A8; /* 0x08 */ + /* 0x08 */ -typedef struct { - s16 m[3][3]; /* +0x00, padded to 0x14 */ - s32 t[3]; /* +0x14 +0x18 +0x1C */ -} Mtx_8017F6A8; /* 0x20 */ + /* 0x20 */ void func_8017F6A8(s32 arg0) { diff --git a/src/ov_SC02_026/ov_SC02_026_jr_8017C180.c b/src/ov_SC02_026/ov_SC02_026_jr_8017C180.c index b8044baaf6..110677d1ca 100644 --- a/src/ov_SC02_026/ov_SC02_026_jr_8017C180.c +++ b/src/ov_SC02_026/ov_SC02_026_jr_8017C180.c @@ -3171,11 +3171,6 @@ Lend: } - typedef struct { u8 b[8]; } Blk8_8017DAB8; -typedef struct { - s32 a; /* 0x00 -> D_801DA750 */ - s32 b; /* 0x04 -> D_801DA754 */ -} Pair8_8017DDC4_80182244_8017DAB8; /* Sibling shape in the SAME TU: func_80182244 (already banked, line ~3980) * uses the identical idiom for the same actor kind: void *a0, raw @@ -3315,22 +3310,11 @@ s32 func_8017DD84(s32 a0) #include "common.h" /* 8-byte, align-4 pair record: the per-index slot pair at D_801D0120/D_801D0124 */ -typedef struct { - s32 a; /* 0x00 -> D_801D0120 */ - s32 b; /* 0x04 -> D_801D0124 */ -} Pair8_8017DDC4; /* 8-byte, align-2 record: forces move_by_pieces onto the lwl/lwr + swl/swr * unaligned block-move path (cookbook §48-C2) for the 0x10..0x18 copy. */ -typedef struct { - u16 x, y, z; - s16 w; -} Rec8_8017DDC4; /* 16-byte stride table indexed by *(s16*)(obj+0x70) */ -typedef struct { - s32 w[4]; -} Rec16_8017DDC4; extern Pair8_8017DDC4 D_801D0120[]; extern Rec16_8017DDC4 D_801A42B8[]; @@ -3577,7 +3561,6 @@ extern u8 D_801A9C08[]; extern u8 D_801A50F4[]; extern u8 D_801A5104[]; -typedef struct { u8 b[8]; } Blk8_func_8017E3AC; void func_8017E3AC(s32 a0) { Blk8_func_8017E3AC sp10; @@ -3688,14 +3671,6 @@ s32 a0; } - typedef struct { u8 b[8]; } Blk8_8017E72C; - typedef struct { - u8 c[8]; - } Blk8_80186594_8017E72C; -typedef struct { - s32 a; /* 0x00 -> D_801DA750 */ - s32 b; /* 0x04 -> D_801DA754 */ -} Pair8_8017DDC4_80182244_8017E72C; /* func_8017E72C -- ov_SC02_027, subseg ov_SC02_027_jr_8017D898 (106 ins). * Mass-lane fresh crack. Nearest exemplar ov_SC02_026:func_8017E72C is still @@ -4025,11 +4000,6 @@ void func_8017ED80(void *a0) { -typedef struct { u8 c[8]; } Blk8_801859DC; -typedef struct { - s32 a; /* 0x00 -> D_801DA750 */ - s32 b; /* 0x04 -> D_801DA754 */ -} Pair8_8017DDC4_80182244; extern void func_8012C1B8(void); @@ -4037,9 +4007,6 @@ extern void func_8012CAE4(void *a0); extern void func_8001C214(s32 a0, s32 a1); extern u8 D_801A8938; -typedef struct { - u16 a, b, c, d; -} Rec8_801863EC; void func_8017EDBC(s32 a0) { @@ -4547,7 +4514,7 @@ extern void func_800484EC(s32 a0, s32 a1, s32 a2); extern s32 rand(void); extern s32 D_801A5488[]; -typedef struct { s32 w[8]; } Blk32_8017F76C; /* 32 bytes, align 4 */ + /* 32 bytes, align 4 */ extern Blk32_8017F76C D_800AE620; s32 func_8017F76C(s16 *a0, s32 a1, s32 a2, s32 a3) { @@ -6526,11 +6493,6 @@ extern void func_80182DBC(s32 a0); extern s32 func_8012C51C(void *a0, s32 a1); extern void func_801292C8(u8 *a0); -typedef struct { - u16 vx, vy, vz; - u16 f6, f8, fA, fC, fE; - s32 f10; -} SV3L2; void func_80182AF4(s32 a0) { SV3L2 sp10; diff --git a/src/ov_SC02_026/ov_SC02_026_jr_80185440.c b/src/ov_SC02_026/ov_SC02_026_jr_80185440.c index 1b92ce5c4d..01f16defb0 100644 --- a/src/ov_SC02_026/ov_SC02_026_jr_80185440.c +++ b/src/ov_SC02_026/ov_SC02_026_jr_80185440.c @@ -2927,7 +2927,7 @@ extern void func_80185404(void *a0); // body) using a locally-named struct type — block-scope externs don't collide with another // function's block-scope externs for the same symbol (§S38/D2). -typedef struct { s32 w[4]; } LBlk16; /* 16-byte record, block-scoped local name only */ + /* 16-byte record, block-scoped local name only */ void func_80185440(void *a0) { diff --git a/src/ov_SC02_027/ov_SC02_027_jr_8017D898.c b/src/ov_SC02_027/ov_SC02_027_jr_8017D898.c index 733a28e54c..b20f58eb0b 100644 --- a/src/ov_SC02_027/ov_SC02_027_jr_8017D898.c +++ b/src/ov_SC02_027/ov_SC02_027_jr_8017D898.c @@ -3278,7 +3278,6 @@ void func_8017F27C(void *a0) { /* 8 bytes, align 2 -> lwl/lwr/swl/swr copy (cookbook §48-C2) */ -typedef struct { s16 v[4]; } Blk8_80126940_8017D6D0_8017F2B8; extern u16 func_80148800(s32 *a0); extern void func_8017F918(s32 param_1, s16 *param_2); @@ -3353,7 +3352,6 @@ void func_8017F3E8(s32 a0) { /* 8 bytes, align 2 -> lwl/lwr/swl/swr copy (cookbook §48-C2) */ -typedef struct { s16 v[4]; } Blk8_80126940_8017D6D0_8017F498; extern u16 func_80148800(s32 *a0); extern void func_8017F918(s32 param_1, s16 *param_2); @@ -3457,7 +3455,6 @@ void func_8017F624(s32 a0) { } -typedef struct { s16 v[4]; } Blk8_80126940_8017D6D0_8017F6D4; void func_8017F6D4(s32 a0) { @@ -3832,7 +3829,6 @@ extern void func_8012F568(s32 a0, s32 a1, s32 a2, s32 a3, s32 a4, s32 a5); extern s32 func_8014A454(s32 a0); extern void func_8012F038(int param_1, short *param_2, short *param_3); -typedef struct { s32 w[8]; } Mtx32_80180088; void func_80180088(s32 param_1) @@ -4071,7 +4067,6 @@ extern void func_800484EC(s32 a0, s32 a1, s32 a2); extern void RotMatrixY(s32 a0, void *a1); extern void func_80180A54(void *a0, s32 a1, s32 a2); -typedef struct { s32 w[8]; } Blk32_80180770; s32 func_80180770(void *a0) { @@ -4136,7 +4131,6 @@ void func_801808CC(void *a0) { } -typedef struct { s32 w[8]; } Blk32_80180908; void func_80180908(s32 *a0) { extern u8 D_801DA130[]; @@ -4175,16 +4169,6 @@ void func_801809A8(void) { } -typedef struct { - s16 id; - s16 flag; - s16 x; - s16 y; - s16 size; - s16 pad; - s32 param; - s32 ptr; -} Sub_80180A54; void func_80180A54(void *a0, s32 a1, s32 a2) { @@ -4223,25 +4207,6 @@ epilogue: /* Blk32_80180908 is already declared in this TU (ov_SC02_027_jr_8017D898.c:4623). */ -typedef struct { u32 addr : 24; u32 len : 8; } PTag_80180B3C; -typedef struct { - PTag_80180B3C tag; - u8 r0, g0, b0, code; - u16 x0, y0; - u8 u0, v0; - u16 clut; - u16 x1, y1; - u8 u1, v1; - u16 tpage; - u16 x2, y2; - u8 u2, v2; - u16 pad2; - u16 x3, y3; - u8 u3, v3; - u16 pad3; -} Ft4_80180B3C; -typedef struct { s16 vx, vy, vz, pad; } SV_80180B3C; -typedef struct { s16 vx, vy; } DV_80180B3C; #define ADDPRIM_80180B3C(o, p) \ (((PTag_80180B3C *)(p))->addr = ((PTag_80180B3C *)(o))->addr, \ @@ -4429,15 +4394,6 @@ void func_8018102C(void *a0) } -typedef struct { - u8 pad0[0x20]; - s32 f20; - u8 pad24[0x10]; - u16 f34; - u8 pad36[0xC6]; - s16 fFC; - s16 fFE; -} W_801810A0; extern s32 func_8012BDBC(s32 a0, s32 a1); extern s32 func_8018152C(s32 a0, s16 a1); @@ -4733,7 +4689,6 @@ void func_801815E8(s32 a0) } -typedef struct { u16 x, y, z, pad; } SV_80181740; extern s32 *D_80126B78; extern u8 D_8018F458[]; @@ -5192,22 +5147,11 @@ s32 func_80182204(u8 *a0) /* 8-byte, align-4 pair record: the per-index slot pair at D_801DA750/D_801DA754 */ -typedef struct { - s32 a; /* 0x00 -> D_801DA750 */ - s32 b; /* 0x04 -> D_801DA754 */ -} Pair8_8017DDC4_80182244; /* 8-byte, align-2 record: forces move_by_pieces onto the lwl/lwr + swl/swr * unaligned block-move path (cookbook §48-C2) for the 0x10..0x18 copy. */ -typedef struct { - u16 x, y, z; - s16 w; -} Rec8_8017DDC4_80182244; /* 16-byte stride table indexed by *(s16*)(obj+0x70) */ -typedef struct { - s32 w[4]; -} Rec16_8017DDC4_80182244; extern void func_8012C1B8(void); @@ -5461,8 +5405,6 @@ void func_80182828(void) { * this function; each is a SEPARATE relocation symbol in the target .s * (D_801AB670/672/674/676 are 2/4/6/8 bytes apart but referenced as four * independently-based arrays, never as one array + constant offset). */ -typedef struct { u16 v; u16 pad[3]; } Stride8_u16_80182868; -typedef struct { s16 v; s16 pad[3]; } Stride8_s16_80182868; void func_80182868(void *a0) { @@ -6040,12 +5982,6 @@ void func_8018339C(s32 s0) { } -typedef struct { - u16 x; /* 0x00 */ - u16 y; /* 0x02 */ - u16 z; /* 0x04 */ - u16 w; /* 0x06 */ -} V4_8017FAC0_80183418; extern s32 func_8012DEB8(s32 a0, s32 a1, s32 a2); @@ -7521,7 +7457,6 @@ extern u8 D_801B4380; extern u8 D_801AF86C[]; extern u8 D_801AF87C[]; -typedef struct { u8 c[8]; } Blk8_801859DC; void func_801859DC(s32 a0) { s16 buf[3]; @@ -7931,36 +7866,6 @@ s32 func_801862A8(s32 arg0) } -typedef struct { - u8 pad00[0x02]; - u16 f02; - u8 pad04[0x02]; - u16 f06; - u8 pad08[0x02]; - u16 f0A; - u8 pad0C[0x02]; - u16 f0E; - u8 pad10[0x08]; - u16 f18; - u16 f1A; - u16 f1C; - u8 pad1E[0x02]; - void *f20; - u8 pad24[0x08]; - u16 f2C; - u8 pad2E[0x2E]; - u16 f5C; - u8 pad5E[0x12]; - u16 f70; - u8 pad72[0x06]; - void *f78; - u8 pad7C[0x0C]; - u16 f88; - u16 f8A; - u16 f8C; - u8 pad8E[0x72]; - u16 f100; -} Str_8018633C; void func_8018633C(Str_8018633C *arg0) { u16 a; @@ -8007,9 +7912,6 @@ extern void func_8012CAE4(void *a0); extern void func_8001C214(s32 a0, s32 a1); extern u8 D_801B30B0; -typedef struct { - u16 a, b, c, d; -} Rec8_801863EC; void func_801863EC(s32 a0) { @@ -8167,9 +8069,6 @@ void func_8018675C(s32 a0) } -typedef struct { - s32 w[4]; -} Rec16_8017DDC4_801867AC; /* func_801867AC -- ov_SC02_026, subseg ov_SC02_026_jr_8017C180 (133 ins). */ @@ -8400,10 +8299,6 @@ s32 a1; } -typedef struct { - s32 a; /* 0x00 -> D_801D0120 */ - s32 b; /* 0x04 -> D_801D0124 */ -} Pair8_8017DDC4_80186D9C; /* func_80186D9C (ov_SC02_026, 154 ins) — spawns a type-0x3B object at *a0, * seeds its sub-record (0x20 handler table / 0x27 / 0x28 / 0x2A), picks a @@ -8520,7 +8415,7 @@ extern void func_80049CAC(s32 a0, s32 a1); extern void func_800484EC(s32 a0, s32 a1, s32 a2); extern s32 rand(void); -typedef struct { s32 w[8]; } Blk32_8017F76C_80186D9C; /* 32 bytes, align 4 */ + /* 32 bytes, align 4 */ s32 func_80186D9C(s16 *a0, s32 a1, s32 a2, s32 a3) { diff --git a/src/ov_SC02_027/ov_SC02_027_jr_8018A564.c b/src/ov_SC02_027/ov_SC02_027_jr_8018A564.c index 8f5c205ee8..23f288e719 100644 --- a/src/ov_SC02_027/ov_SC02_027_jr_8018A564.c +++ b/src/ov_SC02_027/ov_SC02_027_jr_8018A564.c @@ -2915,7 +2915,7 @@ extern void func_8018A528(void *a0); // body) using a locally-named struct type — block-scope externs don't collide with another // function's block-scope externs for the same symbol (§S38/D2). -typedef struct { s32 w[4]; } LBlk16; /* 16-byte record, block-scoped local name only */ + /* 16-byte record, block-scoped local name only */ void func_8018A564(void *a0) { diff --git a/src/ov_SC02_028/ov_SC02_028_jr_8017D898.c b/src/ov_SC02_028/ov_SC02_028_jr_8017D898.c index 789bc01430..0f7cb06b03 100644 --- a/src/ov_SC02_028/ov_SC02_028_jr_8017D898.c +++ b/src/ov_SC02_028/ov_SC02_028_jr_8017D898.c @@ -3399,7 +3399,6 @@ extern u16 func_80148800(s32 *a0); extern s32 func_80012F74(s32 a0, s32 a1, s32 a2, s32 a3); extern void func_8017F9AC(s32 param_1, s16 *param_2); -typedef struct { s16 v[4]; } Blk8_80126940_8017F608; void func_8017F608(void *arg0) { extern s32 D_80126B58; @@ -3799,11 +3798,6 @@ s32 func_8017FFC8(void) { - typedef struct { u8 b[8]; } Blk8_80180040; -typedef struct { - s32 a; /* 0x00 -> D_801DA750 */ - s32 b; /* 0x04 -> D_801DA754 */ -} Pair8_8017DDC4_80182244_80180040; /* Sibling shape in the SAME TU: func_80182244 (already banked, line ~3980) * uses the identical idiom for the same actor kind: void *a0, raw @@ -3948,22 +3942,11 @@ s32 func_8018030C(u8 *a0) /* 8-byte, align-4 pair record: the per-index slot pair at D_801D30D8/D_801D30DC */ -typedef struct { - s32 a; /* 0x00 -> D_801D30D8 */ - s32 b; /* 0x04 -> D_801D30DC */ -} Pair8_8017DDC4_8018034C; /* 8-byte, align-2 record: forces move_by_pieces onto the lwl/lwr + swl/swr * unaligned block-move path (cookbook §48-C2) for the 0x10..0x18 copy. */ -typedef struct { - u16 x, y, z; - s16 w; -} Rec8_8017DDC4_8018034C; /* 16-byte stride table indexed by *(s16*)(obj+0x70) */ -typedef struct { - s32 w[4]; -} Rec16_8017DDC4_8018034C; extern void func_8012C1B8(void); @@ -4220,18 +4203,11 @@ void func_80180930(void) { } - typedef struct { u8 b[8]; } Blk8_80180970; -typedef struct { - s32 a; /* 0x00 -> D_801DA750 */ - s32 b; /* 0x04 -> D_801DA754 */ -} Pair8_8017DDC4_80182244_80180970; /* stride-8 tables, only the field-0 short of each record is ever read by * this function; each is a SEPARATE relocation symbol in the target .s * (D_801A4D0C/672/674/676 are 2/4/6/8 bytes apart but referenced as four * independently-based arrays, never as one array + constant offset). */ -typedef struct { u16 v; u16 pad[3]; } Stride8_u16_80182868_80180970; -typedef struct { s16 v; s16 pad[3]; } Stride8_s16_80182868_80180970; void func_80180970(void *a0) { @@ -4940,14 +4916,6 @@ void func_801817B8(void *arg0) } - typedef struct { u8 b[8]; } Blk8_80181824; - typedef struct { - u8 c[8]; - } Blk8_80186594_80181824; -typedef struct { - s32 a; /* 0x00 -> D_801DA750 */ - s32 b; /* 0x04 -> D_801DA754 */ -} Pair8_8017DDC4_80182244_80181824; /* Declarations copied VERBATIM from the destination TU * (src/ov_SC02_027/ov_SC02_027_jr_8017D898.c): @@ -5284,7 +5252,6 @@ extern s32 func_8012AD50(void *a0); * matches the sibling idiom at ov_SC02_005:func_8018CE04). */ /* 4-byte, align-4 unaligned block: forces lwl/lwr + swl/swr (cookbook §48-C2 / * matches the sibling idiom at ov_SC02_005:func_8018CE04). */ -typedef struct { u8 b[4]; } Blk4_80181EDC; extern u8 D_801A4E3C; extern u8 D_801A4E70; @@ -5477,8 +5444,6 @@ void func_80182060(void *a0) extern s32 rand(void); extern void func_80183AA0(void *a0, void *a1, void *a2); -typedef struct { u8 b[4]; } Blk4_80182194; -typedef struct { u16 f00, f02, f04, f06; } Args_80182194; extern Blk4_80182194 D_801D1A94; extern Blk4_80182194 D_801D1A98; @@ -5620,17 +5585,6 @@ s32 func_80182438(s32 a0) { * then a trailing s32 "extra" field copied out of *(a0+0xDC). §193-I: this aggregate's frame * slot rounds up to 24 (ceil(20,8)), which is exactly the 4-byte gap between it and `vec` * below in the target's stack layout (sp+0x24-0x27 unused). */ -typedef struct { - s16 x; - s16 y; - s16 z; - s16 type; - s16 sub; - s16 pad1; - s16 flag; - s16 pad2; - s32 extra; -} Msg_8018248C; extern void RotMatrixY(s32 a0, void *a1); extern void ApplyMatrixSV(void *a0, void *a1, void *a2); diff --git a/src/ov_SC02_028/ov_SC02_028_jr_80184BD8.c b/src/ov_SC02_028/ov_SC02_028_jr_80184BD8.c index 8654ef0ec3..7bbd124074 100644 --- a/src/ov_SC02_028/ov_SC02_028_jr_80184BD8.c +++ b/src/ov_SC02_028/ov_SC02_028_jr_80184BD8.c @@ -3736,14 +3736,6 @@ void func_80186668(s32 a0) } - typedef struct { u8 b[8]; } Blk8_80186740; - typedef struct { - u8 c[8]; - } Blk8_80186594_80186740; -typedef struct { - s32 a; /* 0x00 -> D_801DA750 */ - s32 b; /* 0x04 -> D_801DA754 */ -} Pair8_8017DDC4_80182244_80186740; /* func_80186740 -- ov_SC02_027, subseg ov_SC02_027_jr_8017D898 (106 ins). * Mass-lane fresh crack. Nearest exemplar ov_SC02_026:func_8017E72C is still @@ -4243,9 +4235,6 @@ void func_80187140(s32 a0) { } -typedef struct { - s32 w[4]; -} Rec16_8017DDC4_80187190; /* func_80187190 -- ov_SC02_026, subseg ov_SC02_026_jr_8017C180 (133 ins). */ @@ -4487,10 +4476,6 @@ void func_801876C4(void *a0, s32 a1) { } -typedef struct { - s32 a; /* 0x00 -> D_801D0120 */ - s32 b; /* 0x04 -> D_801D0124 */ -} Pair8_8017DDC4_80187780; /* func_80187780 (ov_SC02_026, 154 ins) — spawns a type-0x3B object at *a0, * seeds its sub-record (0x20 handler table / 0x27 / 0x28 / 0x2A), picks a @@ -4607,7 +4592,7 @@ extern void func_80049CAC(s32 a0, s32 a1); extern void func_800484EC(s32 a0, s32 a1, s32 a2); extern s32 rand(void); -typedef struct { s32 w[8]; } Blk32_8017F76C_80187780; /* 32 bytes, align 4 */ + /* 32 bytes, align 4 */ s32 func_80187780(s16 *a0, s32 a1, s32 a2, s32 a3) { @@ -4818,11 +4803,6 @@ void func_80187C6C(void *arg0) { } - typedef struct { u8 b[8]; } Blk8_80187DE4; -typedef struct { - s32 a; /* 0x00 -> D_801DA750 */ - s32 b; /* 0x04 -> D_801DA754 */ -} Pair8_8017DDC4_80182244_80187DE4; /* func_80187DE4 — ov_SC02_027 / ov_SC02_027_jr_8017D898.c MATCH (249 ins) * diff --git a/src/ov_SC02_028/ov_SC02_028_jr_801884D8.c b/src/ov_SC02_028/ov_SC02_028_jr_801884D8.c index cc5971d00d..ffca1e7263 100644 --- a/src/ov_SC02_028/ov_SC02_028_jr_801884D8.c +++ b/src/ov_SC02_028/ov_SC02_028_jr_801884D8.c @@ -4976,7 +4976,7 @@ void func_8018AF0C(void *a0) { // body) using a locally-named struct type — block-scope externs don't collide with another // function's block-scope externs for the same symbol (§S38/D2). -typedef struct { s32 w[4]; } LBlk16; /* 16-byte record, block-scoped local name only */ + /* 16-byte record, block-scoped local name only */ void func_8018AF48(void *a0) { @@ -5064,7 +5064,6 @@ void func_8018B13C(s32 a0) { #include "common.h" -typedef struct { s32 w[4]; } B16_local; extern Blk16_8018B13C D_800A5EA8; extern B16_local D_801D0358; diff --git a/src/ov_SC02_031/ov_SC02_031_jr_8017AE2C.c b/src/ov_SC02_031/ov_SC02_031_jr_8017AE2C.c index 4b80f0618a..39112ea6c5 100644 --- a/src/ov_SC02_031/ov_SC02_031_jr_8017AE2C.c +++ b/src/ov_SC02_031/ov_SC02_031_jr_8017AE2C.c @@ -6332,8 +6332,6 @@ void func_80181378(s32 param_1) * therefore already has the real MATRIX/SVECTOR in scope; these local names exist ONLY to let this * file compile standalone under match_one and carry zero risk of colliding with the host's globals * at integration time). Layout: m[3][3] (18B) + 2B pad + t[3] s32 (12B) = 0x20; vx/vy/vz/pad s16 = 8B. */ -typedef struct { s16 m[3][3]; s32 t[3]; } MATRIX_8017D5C8_801814E4; -typedef struct { s16 vx, vy, vz, pad; } SVECTOR_8017D5C8_801814E4; extern u16 func_80148800(s32 *a0); extern s32 func_80012C6C(s32 a0, s32 a1, s32 a2); @@ -6554,7 +6552,6 @@ void func_80181A44(void) { } -typedef struct { s32 w[8]; } Copy32; extern s16 D_80126CB4; @@ -6614,7 +6611,6 @@ void func_80181BB4(void *a0) { } -typedef struct { u8 c[4]; } W4; extern s32 func_80181EF0(void); extern void func_8002D4C8(s32 a0, s32 a1); @@ -6705,18 +6701,8 @@ void func_80181DEC(s16 *param_1) { extern void func_80016A3C(void *a0); -typedef struct { u8 c[4]; } W4_80181E88; -typedef struct { - W4_80181E88 f00; /* 0x00 */ - u16 f04; /* 0x04 */ - u16 f06; /* 0x06 */ - W4_80181E88 f08; /* 0x08 */ - u32 f0c; /* 0x0c */ - u32 f10; /* 0x10 */ - u32 f14; /* 0x14 */ - u32 f18; /* 0x18 */ -} Prim_80181E88; /* 0x1c */ + /* 0x1c */ void func_80181E88(void *a0) { Prim_80181E88 p; @@ -7047,7 +7033,6 @@ ret0: extern s32 func_80132EF4(s32 a0, s32 a1); -typedef struct { u16 x, y, z, w; } Vec8_80182674; void func_80182674(s32 a0, s16 *vec, s32 count, s32 flag) { s32 i; @@ -7092,12 +7077,6 @@ void func_80182674(s32 a0, s16 *vec, s32 count, s32 flag) { } -typedef struct { - s16 f0; - s16 f1; - s16 f2; - s16 f3; -} Spawn8_80182848; void func_80182848(void *a0, u8 *a1, s32 a2, s32 a3, s32 a4) { Spawn8_80182848 sp; @@ -7957,12 +7936,6 @@ void func_80183D84(void *a0) { } -typedef struct { - SVECTOR_8016E7C8 v[4]; /* 0x00 */ - s32 f0, f1, f2, f3, f4, f5; /* 0x20..0x37 */ - u8 f6; /* 0x38 */ - u8 pad[7]; /* -> 0x40 */ -} Prim_8016E7C8_80183DC0; extern void func_8012931C(struct vec *a0); extern void func_801292C8(u8 *a0); extern s32 func_8012EFB8(void *param_1, void *param_2); /* TU spelling (line 329) — cast at use */ diff --git a/src/ov_SC02_035/ov_SC02_035_jr_8017BEBC.c b/src/ov_SC02_035/ov_SC02_035_jr_8017BEBC.c index c3ae88b4c1..a2b16c3de4 100644 --- a/src/ov_SC02_035/ov_SC02_035_jr_8017BEBC.c +++ b/src/ov_SC02_035/ov_SC02_035_jr_8017BEBC.c @@ -4724,13 +4724,6 @@ s32 func_80182318_def(s32 a0, s32 a1) extern s32 func_8012CC88(s32 a0, s32 a1, s32 a2); -typedef struct { - s32 w[4]; -} Rec16_8017DDC4_8018023C; -typedef struct { - u16 x, y, z; - s16 w; -} Rec8_8017DDC4_8018023C; /* func_8018023C -- ov_SC02_026 / ov_SC02_026_jr_8017C180 * Same TU declares this at line 4712 (extern void func_8018023C(s32 a0);) and @@ -5049,11 +5042,6 @@ extern void func_80180C10(s32 a0); extern s32 func_8012C51C(void *a0, s32 a1); extern void func_801292C8(u8 *a0); -typedef struct { - u16 vx, vy, vz; - u16 f6, f8, fA, fC, fE; - s32 f10; -} SV3L2; void func_80180948(s32 a0) { SV3L2 sp10; @@ -5121,7 +5109,6 @@ s32 func_801809E4(s32 a0, s32 a1, s32 a2) { } -typedef struct { s32 w[8]; } Blk20_80180B38; extern s32 func_8012B6D4(s16 *a0, s16 *a1); extern void RotMatrixY(s32 a0, void *a1); diff --git a/src/ov_SC02_035/ov_SC02_035_jr_80183FD4.c b/src/ov_SC02_035/ov_SC02_035_jr_80183FD4.c index 6e9222e285..5ee55b404f 100644 --- a/src/ov_SC02_035/ov_SC02_035_jr_80183FD4.c +++ b/src/ov_SC02_035/ov_SC02_035_jr_80183FD4.c @@ -2876,7 +2876,7 @@ extern void func_80183F98(void *a0); // body) using a locally-named struct type — block-scope externs don't collide with another // function's block-scope externs for the same symbol (§S38/D2). -typedef struct { s32 w[4]; } LBlk16; /* 16-byte record, block-scoped local name only */ + /* 16-byte record, block-scoped local name only */ void func_80183FD4(void *a0) { @@ -2962,7 +2962,6 @@ void func_801841C8(void *a0) { #include "common.h" -typedef struct { s32 w[4]; } B16_local; extern struct B16_801841C8 D_800A5EA8; extern B16_local D_801BBE1C; diff --git a/src/ov_SC02_037/ov_SC02_037.c b/src/ov_SC02_037/ov_SC02_037.c index 1f389d431a..3789fbe710 100644 --- a/src/ov_SC02_037/ov_SC02_037.c +++ b/src/ov_SC02_037/ov_SC02_037.c @@ -1041,7 +1041,6 @@ void func_8012BF4C(s32 *a0, s32 a1) { #include "../shared/ov/func_8012C820.h" - typedef struct { s8 c[8]; } Blk8_8012C890; // @class: schedule // @unstuck(P36): none — MATCH (149 ins). Counter (*(u16 *)&D_801270C4): gcc CSE's the two reads (store to @@ -1366,7 +1365,6 @@ void func_8012E284(void) { #include "../shared/ov/func_8012E32C.h" - typedef struct { s8 c[8]; } Blk8_8012E364; /* func_8012E364 (ov_SC01_077_jr_8012ACE0) — MATCH, 67/67 ins, 0 mismatched (reloc-masked). * @@ -1579,7 +1577,6 @@ void func_8012E9C0(int param_1) #include "../shared/ov/func_8012EF70.h" - typedef struct { s8 c[8]; } Blk8_8012EFB8; /* §37/§124 asm-label alias: the fleet canon declares this `extern void * func_8012EFB8(s32 a0);` inside the DEFINE_func_* macros in @@ -1698,7 +1695,6 @@ void func_8012F8C8(int param_1) #include "../shared/ov/func_8012FCA4.h" - typedef struct { s8 c[8]; } Blk8_8012FCC4; // @class: schedule // @unstuck(P36): none — MATCH (57 ins), byte-exact via rtu_match on the real TU. @@ -2004,7 +2000,6 @@ extern s32 func_8012BCCC(s32 a0); extern s32 func_80131A34(s32, s32); extern s32 func_80131AC8(void *a0); extern void func_80131B14(void); - typedef struct { s8 c[8]; } Blk8_80131170; // @class: loop-guard diff --git a/src/ov_SC02_037/ov_SC02_037_jr_80131340.c b/src/ov_SC02_037/ov_SC02_037_jr_80131340.c index c311cdedc7..f7a7d1941f 100644 --- a/src/ov_SC02_037/ov_SC02_037_jr_80131340.c +++ b/src/ov_SC02_037/ov_SC02_037_jr_80131340.c @@ -531,7 +531,6 @@ extern void func_80131170(s32 p, s32 b, s32 c); extern s32 func_801312D0(s32 param_1, void *param_2); - typedef struct { s8 c[8]; } Blk8_80131340; // @class: plumbing @@ -873,7 +872,6 @@ extern void func_8012B23C(s32 a0); extern void func_8012B2CC(s32 a0); extern void func_8016AA50(int, int); extern s32 func_8016B428(s32); - typedef struct { s8 c[8]; } Blk8_80131B14; // @class: regalloc-order // @unstuck(P36): none — MATCH (89 ins). Reconcile: TU canonical decl is `void func_80131B14(void)` @@ -945,7 +943,6 @@ void func_80131B14(void) { #include "../shared/ov/func_80131C78.h" - typedef struct { s8 c[8]; } Blk8_80131CA8; /* func_80131CA8 — RECONCILE (§37/§124 asm-label alias) * @@ -975,7 +972,6 @@ extern s32 func_80131CF4(); // K&R: 1/2 of 2 args (P37 unalias t4_ua6) #include "../shared/ov/func_80131CA8.h" - typedef struct { s8 c[8]; } Blk8_80131CF4; /* func_80131CF4 — table lookup: walk (key, value) pairs; key 0xD chains to the @@ -1246,7 +1242,6 @@ void func_8013277C(void) { #include "../shared/ov/func_80132EF4.h" - typedef struct { s8 c[8]; } Blk8_80132F40; /* func_80132F40 — ov_SC01_077 (jr_8012ACE0 region), 72 ins, -O2. *** MATCH *** * @@ -2029,7 +2024,6 @@ int func_80134A74(int param_1, s16 param_2, s16 param_3, int param_4) } - typedef struct { s8 c[8]; } Blk8_80134C20; // @class: regalloc-order // @try: variant B — direct pins m=$s5($21), c=$s6($22) @@ -2122,7 +2116,6 @@ block_14: #include "../shared/ov/func_80134FB8.h" - typedef struct { s8 c[8]; } Blk8_80135004; // @class: plumbing // @stuck: MATCH (89 ins). To BANK: retype aD801841A0_80135004 + aD8018419C_80135004 (u8 -> s16*) in sibling func_80135168's externs (src/ov_SC01_077/ov_SC01_077_a.c ~L1879); they hold pointers double-referenced across a call, so only a 4-byte/pointer decl folds %lo (u8 &-cast CSE's the address into a saved reg). Retype is byte-NEUTRAL for the sibling (verified: identical objdump bytes u8 vs s16*). @@ -2233,7 +2226,6 @@ int func_80135168(u16 arg0, u16 *p1, u16 *p2) } - typedef struct { s8 c[8]; } Blk8_80135260; /* func_80135260 — "is reachable/hittable" gate (136 ins, ov_SC01_077 jr_8012ACE0). diff --git a/src/ov_SC02_037/ov_SC02_037_jr_801458E0.c b/src/ov_SC02_037/ov_SC02_037_jr_801458E0.c index 4f9ac043e0..692bc3f837 100644 --- a/src/ov_SC02_037/ov_SC02_037_jr_801458E0.c +++ b/src/ov_SC02_037/ov_SC02_037_jr_801458E0.c @@ -1534,13 +1534,6 @@ void aF80146A6C(s16 a0, s32 a1, s16 a2, s16 a3, u16 a4, s32 a5, s32 a6) __asm__( extern s32 func_80146B9C(void * arg0); - typedef struct - { - u16 x; - u16 y; - u16 z; - u16 w; - } V4_80146AFC; /* func_80146AFC — ASCENDING twin of the byte-proven DEFINE_func_80146B9C() * in src/shared/engine_core.h (cookbook §71: find the already-matched sibling first). @@ -2332,16 +2325,6 @@ extern s32 func_80135260(s32 arg0, s32 arg1, s16 *arg2, s16 *arg3); extern void func_8014A1B0(s32 a0, s32 a1); extern u8 D_801202A0[]; -typedef struct { - /* 0x00 */ s16 a30; - /* 0x02 */ s16 a2e; - /* 0x04 */ s16 a2c; - /* 0x06 */ s16 pad06; - /* 0x08 */ s32 buf[2]; - /* 0x10 */ s16 a20; - /* 0x12 */ s16 a1e; - /* 0x14 */ s16 a1c; -} Loc_8014A048; #include "../shared/ov/func_8014A048.h" @@ -2400,13 +2383,6 @@ typedef struct { #include "../shared/ov/func_8014A71C.h" - typedef struct - { - u16 x; - u16 y; - u16 z; - u16 w; - } V4_8014A738; @@ -2969,14 +2945,6 @@ void func_8014D738(void) #include "../shared/ov/func_8014D790.h" - typedef Unkstruct_800B5CB8 Ent_8014D820; - typedef struct - { - u16 x; - u16 y; - u16 z; - u16 w; - } V4_8014D820; // @class: schedule // @unstuck(P36): none — MATCH (304/304), symcheck SYMS-OK 12/12, and the whole-TU cc1 stage now compiles CLEAN @@ -3872,13 +3840,6 @@ s32 func_801506A4(s32 arg0, s32 arg1) { #include "../shared/ov/func_801508F8.h" - typedef struct - { - u16 x; - u16 y; - u16 z; - u16 w; - } V4_8015094C; extern s32 func_80021174(s32 a0, s32 a1); @@ -4596,10 +4557,6 @@ extern void *memcpy(void *dst, const void *src, u32 n); extern s32 func_80133784(s32 arg0, void *arg1, s32 arg2); -typedef struct { - u16 f0, f2, f4; - s16 f6; -} Blk801539F8; #include "../shared/ov/func_801539F8.h" diff --git a/src/ov_SC02_037/ov_SC02_037_jr_8015444C.c b/src/ov_SC02_037/ov_SC02_037_jr_8015444C.c index e0b0c41382..f604a3b999 100644 --- a/src/ov_SC02_037/ov_SC02_037_jr_8015444C.c +++ b/src/ov_SC02_037/ov_SC02_037_jr_8015444C.c @@ -1,20 +1,6 @@ #include "common.h" #include "../shared/engine_prelude.h" -typedef struct { - /* 0x00 */ s16 a30; - /* 0x02 */ s16 a2e; - /* 0x04 */ s16 a2c; - /* 0x06 */ s16 pad06; - /* 0x08 */ s32 buf[2]; - /* 0x10 */ s16 a20; - /* 0x12 */ s16 a1e; - /* 0x14 */ s16 a1c; -} Loc_8014A048; -typedef struct { - u16 f0, f2, f4; - s16 f6; -} Blk801539F8; extern void func_80128288(void); extern void func_80128158(void); extern void func_801285E4(void); diff --git a/src/ov_SC02_037/ov_SC02_037_jr_801549F8.c b/src/ov_SC02_037/ov_SC02_037_jr_801549F8.c index 42e4847ac3..ec70db1daa 100644 --- a/src/ov_SC02_037/ov_SC02_037_jr_801549F8.c +++ b/src/ov_SC02_037/ov_SC02_037_jr_801549F8.c @@ -1,20 +1,6 @@ #include "common.h" #include "../shared/engine_prelude.h" -typedef struct { - /* 0x00 */ s16 a30; - /* 0x02 */ s16 a2e; - /* 0x04 */ s16 a2c; - /* 0x06 */ s16 pad06; - /* 0x08 */ s32 buf[2]; - /* 0x10 */ s16 a20; - /* 0x12 */ s16 a1e; - /* 0x14 */ s16 a1c; -} Loc_8014A048; -typedef struct { - u16 f0, f2, f4; - s16 f6; -} Blk801539F8; extern void func_80128288(void); extern void func_80128158(void); extern void func_801285E4(void); diff --git a/src/ov_SC02_037/ov_SC02_037_jr_801555F4.c b/src/ov_SC02_037/ov_SC02_037_jr_801555F4.c index 0e768bf38b..125d780cc9 100644 --- a/src/ov_SC02_037/ov_SC02_037_jr_801555F4.c +++ b/src/ov_SC02_037/ov_SC02_037_jr_801555F4.c @@ -1,20 +1,6 @@ #include "common.h" #include "../shared/engine_prelude.h" -typedef struct { - /* 0x00 */ s16 a30; - /* 0x02 */ s16 a2e; - /* 0x04 */ s16 a2c; - /* 0x06 */ s16 pad06; - /* 0x08 */ s32 buf[2]; - /* 0x10 */ s16 a20; - /* 0x12 */ s16 a1e; - /* 0x14 */ s16 a1c; -} Loc_8014A048; -typedef struct { - u16 f0, f2, f4; - s16 f6; -} Blk801539F8; extern void func_80128288(void); extern void func_80128158(void); extern void func_801285E4(void); diff --git a/src/ov_SC02_037/ov_SC02_037_jr_801594E8.c b/src/ov_SC02_037/ov_SC02_037_jr_801594E8.c index 20041500cd..9ee834c5d4 100644 --- a/src/ov_SC02_037/ov_SC02_037_jr_801594E8.c +++ b/src/ov_SC02_037/ov_SC02_037_jr_801594E8.c @@ -1,20 +1,6 @@ #include "common.h" #include "../shared/engine_prelude.h" -typedef struct { - /* 0x00 */ s16 a30; - /* 0x02 */ s16 a2e; - /* 0x04 */ s16 a2c; - /* 0x06 */ s16 pad06; - /* 0x08 */ s32 buf[2]; - /* 0x10 */ s16 a20; - /* 0x12 */ s16 a1e; - /* 0x14 */ s16 a1c; -} Loc_8014A048; -typedef struct { - u16 f0, f2, f4; - s16 f6; -} Blk801539F8; extern void func_80128288(void); extern void func_80128158(void); extern void func_801285E4(void); diff --git a/src/ov_SC02_037/ov_SC02_037_jr_80159C84.c b/src/ov_SC02_037/ov_SC02_037_jr_80159C84.c index a60cf134f7..87f3bda9fd 100644 --- a/src/ov_SC02_037/ov_SC02_037_jr_80159C84.c +++ b/src/ov_SC02_037/ov_SC02_037_jr_80159C84.c @@ -1,20 +1,6 @@ #include "common.h" #include "../shared/engine_prelude.h" -typedef struct { - /* 0x00 */ s16 a30; - /* 0x02 */ s16 a2e; - /* 0x04 */ s16 a2c; - /* 0x06 */ s16 pad06; - /* 0x08 */ s32 buf[2]; - /* 0x10 */ s16 a20; - /* 0x12 */ s16 a1e; - /* 0x14 */ s16 a1c; -} Loc_8014A048; -typedef struct { - u16 f0, f2, f4; - s16 f6; -} Blk801539F8; extern void func_80128288(void); extern void func_80128158(void); extern void func_801285E4(void); diff --git a/src/ov_SC02_037/ov_SC02_037_jr_8015A3C8.c b/src/ov_SC02_037/ov_SC02_037_jr_8015A3C8.c index 5d5606e4c3..ad92ccca66 100644 --- a/src/ov_SC02_037/ov_SC02_037_jr_8015A3C8.c +++ b/src/ov_SC02_037/ov_SC02_037_jr_8015A3C8.c @@ -1,20 +1,6 @@ #include "common.h" #include "../shared/engine_prelude.h" -typedef struct { - /* 0x00 */ s16 a30; - /* 0x02 */ s16 a2e; - /* 0x04 */ s16 a2c; - /* 0x06 */ s16 pad06; - /* 0x08 */ s32 buf[2]; - /* 0x10 */ s16 a20; - /* 0x12 */ s16 a1e; - /* 0x14 */ s16 a1c; -} Loc_8014A048; -typedef struct { - u16 f0, f2, f4; - s16 f6; -} Blk801539F8; extern void func_80128288(void); extern void func_80128158(void); extern void func_801285E4(void); @@ -8306,25 +8292,6 @@ void func_80168D94(int a0) { -typedef struct { - u16 f00; - u16 f02; - u16 f04; - u16 pad06; - u16 f08; - u16 f0A; - u16 f0C; - u16 pad0E; - u8 f10; - u8 f11; - u8 f12; - u8 pad13; - u8 f14; - u8 f15; - u8 f16; - u8 pad17; - u32 f18; -} S1_80168F40; extern s32 func_80016A5C(); diff --git a/src/ov_SC02_037/ov_SC02_037_jr_8016AB6C.c b/src/ov_SC02_037/ov_SC02_037_jr_8016AB6C.c index ba11c60071..75beecaab7 100644 --- a/src/ov_SC02_037/ov_SC02_037_jr_8016AB6C.c +++ b/src/ov_SC02_037/ov_SC02_037_jr_8016AB6C.c @@ -1,39 +1,6 @@ #include "common.h" #include "../shared/engine_prelude.h" -typedef struct { - /* 0x00 */ s16 a30; - /* 0x02 */ s16 a2e; - /* 0x04 */ s16 a2c; - /* 0x06 */ s16 pad06; - /* 0x08 */ s32 buf[2]; - /* 0x10 */ s16 a20; - /* 0x12 */ s16 a1e; - /* 0x14 */ s16 a1c; -} Loc_8014A048; -typedef struct { - u16 f0, f2, f4; - s16 f6; -} Blk801539F8; -typedef struct { - u16 f00; - u16 f02; - u16 f04; - u16 pad06; - u16 f08; - u16 f0A; - u16 f0C; - u16 pad0E; - u8 f10; - u8 f11; - u8 f12; - u8 pad13; - u8 f14; - u8 f15; - u8 f16; - u8 pad17; - u32 f18; -} S1_80168F40; extern void func_80128288(void); extern void func_80128158(void); extern void func_801285E4(void); diff --git a/src/ov_SC02_037/ov_SC02_037_jr_8016AE5C.c b/src/ov_SC02_037/ov_SC02_037_jr_8016AE5C.c index 2786b1e4fe..3a80c24aa7 100644 --- a/src/ov_SC02_037/ov_SC02_037_jr_8016AE5C.c +++ b/src/ov_SC02_037/ov_SC02_037_jr_8016AE5C.c @@ -1,39 +1,6 @@ #include "common.h" #include "../shared/engine_prelude.h" -typedef struct { - /* 0x00 */ s16 a30; - /* 0x02 */ s16 a2e; - /* 0x04 */ s16 a2c; - /* 0x06 */ s16 pad06; - /* 0x08 */ s32 buf[2]; - /* 0x10 */ s16 a20; - /* 0x12 */ s16 a1e; - /* 0x14 */ s16 a1c; -} Loc_8014A048; -typedef struct { - u16 f0, f2, f4; - s16 f6; -} Blk801539F8; -typedef struct { - u16 f00; - u16 f02; - u16 f04; - u16 pad06; - u16 f08; - u16 f0A; - u16 f0C; - u16 pad0E; - u8 f10; - u8 f11; - u8 f12; - u8 pad13; - u8 f14; - u8 f15; - u8 f16; - u8 pad17; - u32 f18; -} S1_80168F40; extern void func_80128288(void); extern void func_80128158(void); extern void func_801285E4(void); @@ -3032,12 +2999,6 @@ LOOP: } -typedef struct { - SVECTOR v[4]; /* 0x00 */ - s32 f0, f1, f2, f3, f4, f5; /* 0x20..0x37 */ - u8 f6; /* 0x38 */ - u8 pad[7]; /* -> 0x40 */ -} Prim_8016E7C8_8016B6BC; // @class: schedule // @unstuck(P36): none — MATCH (94/94 ins, match_one relocation-masked) @@ -3159,12 +3120,6 @@ int func_8016B834(int param_1, int param_2) { #include "../shared/ov/func_8016B984.h" -typedef struct { - SVECTOR v[4]; /* 0x00 */ - s32 f0, f1, f2, f3, f4, f5; /* 0x20..0x37 */ - u8 f6; /* 0x38 */ - u8 pad[7]; /* -> 0x40 */ -} Prim_8016E7C8_8016B9F8; // @class: regalloc-order // @unstuck(P36): none — MATCH (result is func_8012EFB8's return saved in $s0 across the func_80015954 call; the save-move fills the 2nd call's delay slot. func_80015954's return is discarded.) @@ -3515,12 +3470,6 @@ void func_8016C188(s32 param) } -typedef struct { - SVECTOR v[4]; /* 0x00 */ - s32 f0, f1, f2, f3, f4, f5; /* 0x20..0x37 */ - u8 f6; /* 0x38 */ - u8 pad[7]; /* -> 0x40 */ -} Prim_8016E7C8_8016C2C4; // @class: schedule // @unstuck(P36): none — MATCH (44 ins; pins $s0/$s1 + hoist call-arg into a temp so its load fills the buf-store delay slot) @@ -3734,12 +3683,6 @@ void func_8016CB84(void *a0) { } -typedef struct { - SVECTOR v[4]; /* 0x00 */ - s32 f0, f1, f2, f3, f4, f5; /* 0x20..0x37 */ - u8 f6; /* 0x38 */ - u8 pad[7]; /* -> 0x40 */ -} Prim_8016E7C8_8016CBC0; extern s32 func_80017758(void *a0, void *a1); short func_8016CBC0(void) @@ -4676,12 +4619,6 @@ void func_8016EAC0(Wave *param_1) } -typedef struct { - SVECTOR v[4]; /* 0x00 */ - s32 f0, f1, f2, f3, f4, f5; /* 0x20..0x37 */ - u8 f6; /* 0x38 */ - u8 pad[7]; /* -> 0x40 */ -} Prim_8016E7C8_8016EB3C; // @class: loose-typing // @unstuck(P36): none — MATCH (u8 v + 0xFF emits addiu 0xFF; v-1 would emit -1/0xffff) @@ -4728,12 +4665,6 @@ void func_8016EBA8(u8 *param_1) } -typedef struct { - SVECTOR v[4]; /* 0x00 */ - s32 f0, f1, f2, f3, f4, f5; /* 0x20..0x37 */ - u8 f6; /* 0x38 */ - u8 pad[7]; /* -> 0x40 */ -} Prim_8016E7C8_8016EC0C; extern void func_80017B98(void *a0); @@ -4863,12 +4794,6 @@ void func_8016ED6C(void) { #include "../shared/ov/func_8016F1AC.h" -typedef struct { - SVECTOR v[4]; /* 0x00 */ - s32 f0, f1, f2, f3, f4, f5; /* 0x20..0x37 */ - u8 f6; /* 0x38 */ - u8 pad[7]; /* -> 0x40 */ -} Prim_8016E7C8_8016F1C4; // @class: schedule // @unstuck(P36): none — MATCH diff --git a/src/ov_SC02_037/ov_SC02_037_jr_80171B4C.c b/src/ov_SC02_037/ov_SC02_037_jr_80171B4C.c index fbcb3b01a1..d864138fd3 100644 --- a/src/ov_SC02_037/ov_SC02_037_jr_80171B4C.c +++ b/src/ov_SC02_037/ov_SC02_037_jr_80171B4C.c @@ -1,82 +1,7 @@ #include "common.h" #include "../shared/engine_prelude.h" -typedef struct { - /* 0x00 */ s16 a30; - /* 0x02 */ s16 a2e; - /* 0x04 */ s16 a2c; - /* 0x06 */ s16 pad06; - /* 0x08 */ s32 buf[2]; - /* 0x10 */ s16 a20; - /* 0x12 */ s16 a1e; - /* 0x14 */ s16 a1c; -} Loc_8014A048; -typedef struct { - u16 f0, f2, f4; - s16 f6; -} Blk801539F8; -typedef struct { - u16 f00; - u16 f02; - u16 f04; - u16 pad06; - u16 f08; - u16 f0A; - u16 f0C; - u16 pad0E; - u8 f10; - u8 f11; - u8 f12; - u8 pad13; - u8 f14; - u8 f15; - u8 f16; - u8 pad17; - u32 f18; -} S1_80168F40; -typedef struct { - SVECTOR v[4]; /* 0x00 */ - s32 f0, f1, f2, f3, f4, f5; /* 0x20..0x37 */ - u8 f6; /* 0x38 */ - u8 pad[7]; /* -> 0x40 */ -} Prim_8016E7C8_8016B6BC; -typedef struct { - SVECTOR v[4]; /* 0x00 */ - s32 f0, f1, f2, f3, f4, f5; /* 0x20..0x37 */ - u8 f6; /* 0x38 */ - u8 pad[7]; /* -> 0x40 */ -} Prim_8016E7C8_8016B9F8; -typedef struct { - SVECTOR v[4]; /* 0x00 */ - s32 f0, f1, f2, f3, f4, f5; /* 0x20..0x37 */ - u8 f6; /* 0x38 */ - u8 pad[7]; /* -> 0x40 */ -} Prim_8016E7C8_8016C2C4; -typedef struct { - SVECTOR v[4]; /* 0x00 */ - s32 f0, f1, f2, f3, f4, f5; /* 0x20..0x37 */ - u8 f6; /* 0x38 */ - u8 pad[7]; /* -> 0x40 */ -} Prim_8016E7C8_8016CBC0; typedef void (*Handler)(struct Entry *); -typedef struct { - SVECTOR v[4]; /* 0x00 */ - s32 f0, f1, f2, f3, f4, f5; /* 0x20..0x37 */ - u8 f6; /* 0x38 */ - u8 pad[7]; /* -> 0x40 */ -} Prim_8016E7C8_8016EB3C; -typedef struct { - SVECTOR v[4]; /* 0x00 */ - s32 f0, f1, f2, f3, f4, f5; /* 0x20..0x37 */ - u8 f6; /* 0x38 */ - u8 pad[7]; /* -> 0x40 */ -} Prim_8016E7C8_8016EC0C; -typedef struct { - SVECTOR v[4]; /* 0x00 */ - s32 f0, f1, f2, f3, f4, f5; /* 0x20..0x37 */ - u8 f6; /* 0x38 */ - u8 pad[7]; /* -> 0x40 */ -} Prim_8016E7C8_8016F1C4; extern void func_80128288(void); extern void func_80128158(void); extern void func_801285E4(void); @@ -3595,7 +3520,6 @@ extern s16 D_80126B3E; extern s16 D_80126B40; void func_801734BC(s32 a0, s32 a1); -typedef struct { u32 a; u32 b; } __attribute__((packed, aligned(1))) Unaligned8; #include "../shared/ov/func_801733FC.h" @@ -4220,12 +4144,6 @@ void func_80175AB8(param_1) } -typedef struct { - SVECTOR v[4]; /* 0x00 */ - s32 f0, f1, f2, f3, f4, f5; /* 0x20..0x37 */ - u8 f6; /* 0x38 */ - u8 pad[7]; /* -> 0x40 */ -} Prim_8016E7C8_80175DA8; /* size 0x0C */ extern u32 *func_8017742C(u32 *a0, s32 a1, s32 a2); @@ -4361,12 +4279,6 @@ void func_80175DA8(param_1) #include "../shared/ov/func_80176144.h" -typedef struct { - SVECTOR v[4]; /* 0x00 */ - s32 f0, f1, f2, f3, f4, f5; /* 0x20..0x37 */ - u8 f6; /* 0x38 */ - u8 pad[7]; /* -> 0x40 */ -} Prim_8016E7C8_80176218; // @class: regalloc-order @@ -4602,12 +4514,6 @@ L63C: } -typedef struct { - SVECTOR v[4]; /* 0x00 */ - s32 f0, f1, f2, f3, f4, f5; /* 0x20..0x37 */ - u8 f6; /* 0x38 */ - u8 pad[7]; /* -> 0x40 */ -} Prim_8016E7C8_80176734; void func_80176734(s32 param_1) { @@ -4889,12 +4795,6 @@ Ltail: #include "../shared/ov/func_80177AD4.h" -typedef struct { - SVECTOR v[4]; /* 0x00 */ - s32 f0, f1, f2, f3, f4, f5; /* 0x20..0x37 */ - u8 f6; /* 0x38 */ - u8 pad[7]; /* -> 0x40 */ -} Prim_8016E7C8_80177B5C; /* func_80177B5C - MATCH (147/147 ins), wave23. * @@ -5055,12 +4955,6 @@ s16 y; } -typedef struct { - SVECTOR v[4]; /* 0x00 */ - s32 f0, f1, f2, f3, f4, f5; /* 0x20..0x37 */ - u8 f6; /* 0x38 */ - u8 pad[7]; /* -> 0x40 */ -} Prim_8016E7C8_80177DA8; void func_80177DA8(p, v, idx) @@ -5190,12 +5084,6 @@ void func_80178840(int param_1) #include "../shared/ov/func_801788B8.h" -typedef struct { - SVECTOR v[4]; /* 0x00 */ - s32 f0, f1, f2, f3, f4, f5; /* 0x20..0x37 */ - u8 f6; /* 0x38 */ - u8 pad[7]; /* -> 0x40 */ -} Prim_8016E7C8_80178970; // @class: regalloc-order // @stuck: none — MATCH (result pinned to $v0 forces call-result copy to $v1 + delay-slot zero) diff --git a/src/ov_SC02_037/ov_SC02_037_jr_801789AC.c b/src/ov_SC02_037/ov_SC02_037_jr_801789AC.c index 37a1845fa9..230a2324b3 100644 --- a/src/ov_SC02_037/ov_SC02_037_jr_801789AC.c +++ b/src/ov_SC02_037/ov_SC02_037_jr_801789AC.c @@ -1,119 +1,7 @@ #include "common.h" #include "../shared/engine_prelude.h" -typedef struct { - /* 0x00 */ s16 a30; - /* 0x02 */ s16 a2e; - /* 0x04 */ s16 a2c; - /* 0x06 */ s16 pad06; - /* 0x08 */ s32 buf[2]; - /* 0x10 */ s16 a20; - /* 0x12 */ s16 a1e; - /* 0x14 */ s16 a1c; -} Loc_8014A048; -typedef struct { - u16 f0, f2, f4; - s16 f6; -} Blk801539F8; -typedef struct { - u16 f00; - u16 f02; - u16 f04; - u16 pad06; - u16 f08; - u16 f0A; - u16 f0C; - u16 pad0E; - u8 f10; - u8 f11; - u8 f12; - u8 pad13; - u8 f14; - u8 f15; - u8 f16; - u8 pad17; - u32 f18; -} S1_80168F40; -typedef struct { - SVECTOR v[4]; /* 0x00 */ - s32 f0, f1, f2, f3, f4, f5; /* 0x20..0x37 */ - u8 f6; /* 0x38 */ - u8 pad[7]; /* -> 0x40 */ -} Prim_8016E7C8_8016B6BC; -typedef struct { - SVECTOR v[4]; /* 0x00 */ - s32 f0, f1, f2, f3, f4, f5; /* 0x20..0x37 */ - u8 f6; /* 0x38 */ - u8 pad[7]; /* -> 0x40 */ -} Prim_8016E7C8_8016B9F8; -typedef struct { - SVECTOR v[4]; /* 0x00 */ - s32 f0, f1, f2, f3, f4, f5; /* 0x20..0x37 */ - u8 f6; /* 0x38 */ - u8 pad[7]; /* -> 0x40 */ -} Prim_8016E7C8_8016C2C4; -typedef struct { - SVECTOR v[4]; /* 0x00 */ - s32 f0, f1, f2, f3, f4, f5; /* 0x20..0x37 */ - u8 f6; /* 0x38 */ - u8 pad[7]; /* -> 0x40 */ -} Prim_8016E7C8_8016CBC0; typedef void (*Handler)(struct Entry *); -typedef struct { - SVECTOR v[4]; /* 0x00 */ - s32 f0, f1, f2, f3, f4, f5; /* 0x20..0x37 */ - u8 f6; /* 0x38 */ - u8 pad[7]; /* -> 0x40 */ -} Prim_8016E7C8_8016EB3C; -typedef struct { - SVECTOR v[4]; /* 0x00 */ - s32 f0, f1, f2, f3, f4, f5; /* 0x20..0x37 */ - u8 f6; /* 0x38 */ - u8 pad[7]; /* -> 0x40 */ -} Prim_8016E7C8_8016EC0C; -typedef struct { - SVECTOR v[4]; /* 0x00 */ - s32 f0, f1, f2, f3, f4, f5; /* 0x20..0x37 */ - u8 f6; /* 0x38 */ - u8 pad[7]; /* -> 0x40 */ -} Prim_8016E7C8_8016F1C4; -typedef struct { u32 a; u32 b; } __attribute__((packed, aligned(1))) Unaligned8; -typedef struct { - SVECTOR v[4]; /* 0x00 */ - s32 f0, f1, f2, f3, f4, f5; /* 0x20..0x37 */ - u8 f6; /* 0x38 */ - u8 pad[7]; /* -> 0x40 */ -} Prim_8016E7C8_80175DA8; -typedef struct { - SVECTOR v[4]; /* 0x00 */ - s32 f0, f1, f2, f3, f4, f5; /* 0x20..0x37 */ - u8 f6; /* 0x38 */ - u8 pad[7]; /* -> 0x40 */ -} Prim_8016E7C8_80176218; -typedef struct { - SVECTOR v[4]; /* 0x00 */ - s32 f0, f1, f2, f3, f4, f5; /* 0x20..0x37 */ - u8 f6; /* 0x38 */ - u8 pad[7]; /* -> 0x40 */ -} Prim_8016E7C8_80176734; -typedef struct { - SVECTOR v[4]; /* 0x00 */ - s32 f0, f1, f2, f3, f4, f5; /* 0x20..0x37 */ - u8 f6; /* 0x38 */ - u8 pad[7]; /* -> 0x40 */ -} Prim_8016E7C8_80177B5C; -typedef struct { - SVECTOR v[4]; /* 0x00 */ - s32 f0, f1, f2, f3, f4, f5; /* 0x20..0x37 */ - u8 f6; /* 0x38 */ - u8 pad[7]; /* -> 0x40 */ -} Prim_8016E7C8_80177DA8; -typedef struct { - SVECTOR v[4]; /* 0x00 */ - s32 f0, f1, f2, f3, f4, f5; /* 0x20..0x37 */ - u8 f6; /* 0x38 */ - u8 pad[7]; /* -> 0x40 */ -} Prim_8016E7C8_80178970; extern void func_80128288(void); extern void func_80128158(void); extern void func_801285E4(void); diff --git a/src/ov_SC02_037/ov_SC02_037_jr_8017AE2C.c b/src/ov_SC02_037/ov_SC02_037_jr_8017AE2C.c index 533b0a92fa..709c2e7e5a 100644 --- a/src/ov_SC02_037/ov_SC02_037_jr_8017AE2C.c +++ b/src/ov_SC02_037/ov_SC02_037_jr_8017AE2C.c @@ -1,119 +1,7 @@ #include "common.h" #include "../shared/engine_prelude.h" -typedef struct { - /* 0x00 */ s16 a30; - /* 0x02 */ s16 a2e; - /* 0x04 */ s16 a2c; - /* 0x06 */ s16 pad06; - /* 0x08 */ s32 buf[2]; - /* 0x10 */ s16 a20; - /* 0x12 */ s16 a1e; - /* 0x14 */ s16 a1c; -} Loc_8014A048; -typedef struct { - u16 f0, f2, f4; - s16 f6; -} Blk801539F8; -typedef struct { - u16 f00; - u16 f02; - u16 f04; - u16 pad06; - u16 f08; - u16 f0A; - u16 f0C; - u16 pad0E; - u8 f10; - u8 f11; - u8 f12; - u8 pad13; - u8 f14; - u8 f15; - u8 f16; - u8 pad17; - u32 f18; -} S1_80168F40; -typedef struct { - SVECTOR v[4]; /* 0x00 */ - s32 f0, f1, f2, f3, f4, f5; /* 0x20..0x37 */ - u8 f6; /* 0x38 */ - u8 pad[7]; /* -> 0x40 */ -} Prim_8016E7C8_8016B6BC; -typedef struct { - SVECTOR v[4]; /* 0x00 */ - s32 f0, f1, f2, f3, f4, f5; /* 0x20..0x37 */ - u8 f6; /* 0x38 */ - u8 pad[7]; /* -> 0x40 */ -} Prim_8016E7C8_8016B9F8; -typedef struct { - SVECTOR v[4]; /* 0x00 */ - s32 f0, f1, f2, f3, f4, f5; /* 0x20..0x37 */ - u8 f6; /* 0x38 */ - u8 pad[7]; /* -> 0x40 */ -} Prim_8016E7C8_8016C2C4; -typedef struct { - SVECTOR v[4]; /* 0x00 */ - s32 f0, f1, f2, f3, f4, f5; /* 0x20..0x37 */ - u8 f6; /* 0x38 */ - u8 pad[7]; /* -> 0x40 */ -} Prim_8016E7C8_8016CBC0; typedef void (*Handler)(struct Entry *); -typedef struct { - SVECTOR v[4]; /* 0x00 */ - s32 f0, f1, f2, f3, f4, f5; /* 0x20..0x37 */ - u8 f6; /* 0x38 */ - u8 pad[7]; /* -> 0x40 */ -} Prim_8016E7C8_8016EB3C; -typedef struct { - SVECTOR v[4]; /* 0x00 */ - s32 f0, f1, f2, f3, f4, f5; /* 0x20..0x37 */ - u8 f6; /* 0x38 */ - u8 pad[7]; /* -> 0x40 */ -} Prim_8016E7C8_8016EC0C; -typedef struct { - SVECTOR v[4]; /* 0x00 */ - s32 f0, f1, f2, f3, f4, f5; /* 0x20..0x37 */ - u8 f6; /* 0x38 */ - u8 pad[7]; /* -> 0x40 */ -} Prim_8016E7C8_8016F1C4; -typedef struct { u32 a; u32 b; } __attribute__((packed, aligned(1))) Unaligned8; -typedef struct { - SVECTOR v[4]; /* 0x00 */ - s32 f0, f1, f2, f3, f4, f5; /* 0x20..0x37 */ - u8 f6; /* 0x38 */ - u8 pad[7]; /* -> 0x40 */ -} Prim_8016E7C8_80175DA8; -typedef struct { - SVECTOR v[4]; /* 0x00 */ - s32 f0, f1, f2, f3, f4, f5; /* 0x20..0x37 */ - u8 f6; /* 0x38 */ - u8 pad[7]; /* -> 0x40 */ -} Prim_8016E7C8_80176218; -typedef struct { - SVECTOR v[4]; /* 0x00 */ - s32 f0, f1, f2, f3, f4, f5; /* 0x20..0x37 */ - u8 f6; /* 0x38 */ - u8 pad[7]; /* -> 0x40 */ -} Prim_8016E7C8_80176734; -typedef struct { - SVECTOR v[4]; /* 0x00 */ - s32 f0, f1, f2, f3, f4, f5; /* 0x20..0x37 */ - u8 f6; /* 0x38 */ - u8 pad[7]; /* -> 0x40 */ -} Prim_8016E7C8_80177B5C; -typedef struct { - SVECTOR v[4]; /* 0x00 */ - s32 f0, f1, f2, f3, f4, f5; /* 0x20..0x37 */ - u8 f6; /* 0x38 */ - u8 pad[7]; /* -> 0x40 */ -} Prim_8016E7C8_80177DA8; -typedef struct { - SVECTOR v[4]; /* 0x00 */ - s32 f0, f1, f2, f3, f4, f5; /* 0x20..0x37 */ - u8 f6; /* 0x38 */ - u8 pad[7]; /* -> 0x40 */ -} Prim_8016E7C8_80178970; extern void func_80128288(void); extern void func_80128158(void); extern void func_801285E4(void); @@ -3653,7 +3541,6 @@ extern s32 func_8017ADE8(s32 a0); extern s32 func_8017AE08(void); -typedef struct { s16 m[3][3]; s32 t[3]; } MTX_C974; extern s32 func_8012B608(s32 a0, s32 a1, s32 a2); extern void func_8012B178(s32 a0, s32 a1); @@ -3800,7 +3687,6 @@ void func_8017B1D8(void) { extern void func_8012A018(s32 a, s32 b); -typedef struct { s16 m[3][3]; s32 t[3]; } MTX_C974_8017B238; // @class: regalloc-order — simplified sibling of matched func_8017B614. // @unstuck(P36): none. Block-moves are align-1 struct-assigns (u8[8]) -> emit_block_move @@ -4158,9 +4044,6 @@ void func_8017B940(void) } -typedef struct { s16 vx, vy; } DVEC2_C974_8017BA3C; -typedef struct { s16 m[3][3]; s32 t[3]; } MTX_C974_8017BA3C; -typedef struct { s16 vx, vy, vz, pad; } SVEC2_C974_8017BA3C; // @class: struct @@ -4214,7 +4097,6 @@ void func_8017BA3C(s32 param_1, s32 param_2) extern void func_8004914C(void *a0); extern void func_800491AC(void *a0); extern void func_80049CAC(s32 a0, s32 a1); -typedef struct { s16 m[3][3]; s32 t[3]; } MTX_C974_8017BB34; @@ -4985,12 +4867,6 @@ void func_8017CD10(void *a0) { #include "../shared/ov/func_8017CDF8__6241b634.h" -typedef struct { - SVECTOR_8016E7C8 v[4]; /* 0x00 */ - s32 f0, f1, f2, f3, f4, f5; /* 0x20..0x37 */ - u8 f6; /* 0x38 */ - u8 pad[7]; /* -> 0x40 */ -} Prim_8016E7C8_8017CE7C; /* func_8017CE7C — entity tick with a two-mode "hit/shake" arm. @@ -5022,12 +4898,6 @@ void func_8017CFE4(int param_1) } -typedef struct { - SVECTOR_8016E7C8 v[4]; /* 0x00 */ - s32 f0, f1, f2, f3, f4, f5; /* 0x20..0x37 */ - u8 f6; /* 0x38 */ - u8 pad[7]; /* -> 0x40 */ -} Prim_8016E7C8_8017D030; /* func_8017D030 — 4-point primitive sweep driven by the 44-byte curve table @@ -5152,12 +5022,6 @@ void func_8017D030(int param_1); #include "../shared/ov/func_8017D428__db524090.h" -typedef struct { - SVECTOR_8016E7C8 v[4]; /* 0x00 */ - s32 f0, f1, f2, f3, f4, f5; /* 0x20..0x37 */ - u8 f6; /* 0x38 */ - u8 pad[7]; /* -> 0x40 */ -} Prim_8016E7C8_8017D4B4; /* §71 sibling-first: the state-machine "tick" shape of func_8017C610 / func_8017F2E0 * (src/ov_SC03_119/ov_SC03_119_jr_8017AE2C.c L3712) — read the frame counter at @@ -5250,12 +5114,6 @@ void func_8017D6CC(void *a0) } -typedef struct { - SVECTOR_8016E7C8 v[4]; /* 0x00 */ - s32 f0, f1, f2, f3, f4, f5; /* 0x20..0x37 */ - u8 f6; /* 0x38 */ - u8 pad[7]; /* -> 0x40 */ -} Prim_8016E7C8_8017D728; #include "../shared/ov/func_8017D728__81ba1d70.h" @@ -5946,27 +5804,6 @@ void func_8017ED68(s32 arg0) { extern s16 D_80126940; -typedef struct { - s16 pad00[4]; - s32 f08; - s32 f0C; - s32 f10; - s32 f14; - s16 f18; - s16 f1A; - s16 f1C; - s16 pad1E; - s16 f20; - s16 f22; - s16 f24; - s16 pad26; - s16 f28; - s16 f2A; - s16 f2C; - s16 f2E; - s16 f30; - s16 f32; -} St_8017ED90; extern s32 func_8017EEC4(s32 arg0, void *arg1); extern s32 func_800130D0(s32 arg0, s32 arg1, s32 arg2); @@ -6627,15 +6464,6 @@ void func_8017F9C8(void *a0) { } } - typedef struct { - u16 x, y, z, w; - } V8_8017FBEC; -typedef struct { - SVECTOR_8016E7C8 v[4]; /* 0x00 */ - s32 f0, f1, f2, f3, f4, f5; /* 0x20..0x37 */ - u8 f6; /* 0x38 */ - u8 pad[7]; /* -> 0x40 */ -} Prim_8016E7C8_8017FBEC; /* func_8017FBEC — ov_SC02_026 / ov_SC02_026_jr_8017C180.c MATCH (237 ins) * @@ -6841,15 +6669,6 @@ void func_8017FBEC(s32 a0) { } - typedef struct { - u16 x, y, z, w; - } V8_8017FFA0; -typedef struct { - SVECTOR_8016E7C8 v[4]; /* 0x00 */ - s32 f0, f1, f2, f3, f4, f5; /* 0x20..0x37 */ - u8 f6; /* 0x38 */ - u8 pad[7]; /* -> 0x40 */ -} Prim_8016E7C8_8017FFA0; /* Declarations copied VERBATIM from the TU (ov_SC02_026_jr_8017C180.c): * func_8012B1B4 TU:3931/4008/4455/4529 @@ -6947,12 +6766,6 @@ void func_8017FFA0(s32 a0) { } -typedef struct { - SVECTOR_8016E7C8 v[4]; /* 0x00 */ - s32 f0, f1, f2, f3, f4, f5; /* 0x20..0x37 */ - u8 f6; /* 0x38 */ - u8 pad[7]; /* -> 0x40 */ -} Prim_8016E7C8_801801E0; /* func_801801E0 — ov_SC02_026 jr_8017C180 family exemplar (15 members). * @@ -7108,15 +6921,6 @@ void func_801801E0(s32 a0) { } - typedef struct { - u16 x, y, z, w; - } V8_80180448; -typedef struct { - SVECTOR_8016E7C8 v[4]; /* 0x00 */ - s32 f0, f1, f2, f3, f4, f5; /* 0x20..0x37 */ - u8 f6; /* 0x38 */ - u8 pad[7]; /* -> 0x40 */ -} Prim_8016E7C8_80180448; extern void func_8012B1B4(s32 a0, s32 a1); extern s32 func_8012B8E4(s32 a0, s32 a1); @@ -7180,12 +6984,6 @@ void func_80180448(s32 a0) { } -typedef struct { - SVECTOR_8016E7C8 v[4]; /* 0x00 */ - s32 f0, f1, f2, f3, f4, f5; /* 0x20..0x37 */ - u8 f6; /* 0x38 */ - u8 pad[7]; /* -> 0x40 */ -} Prim_8016E7C8_801805F0; /* Declarations copied VERBATIM from the TU (ov_SC02_026_jr_8017C180.c) where they * already exist, so the splice introduces no conflicting types: @@ -8085,12 +7883,6 @@ void func_801816E8(s32 a0) { } -typedef struct { - SVECTOR_8016E7C8 v[4]; /* 0x00 */ - s32 f0, f1, f2, f3, f4, f5; /* 0x20..0x37 */ - u8 f6; /* 0x38 */ - u8 pad[7]; /* -> 0x40 */ -} Prim_8016E7C8_80181784; extern void func_8012CBCC(s32 a0); @@ -8951,12 +8743,6 @@ void func_80182E18(s32 *a0) { } -typedef struct { - SVECTOR_8016E7C8 v[4]; /* 0x00 */ - s32 f0, f1, f2, f3, f4, f5; /* 0x20..0x37 */ - u8 f6; /* 0x38 */ - u8 pad[7]; /* -> 0x40 */ -} Prim_8016E7C8_80182E54; void func_80182E54(void *a0) @@ -8973,12 +8759,6 @@ void func_80182E54(void *a0) } -typedef struct { - SVECTOR_8016E7C8 v[4]; /* 0x00 */ - s32 f0, f1, f2, f3, f4, f5; /* 0x20..0x37 */ - u8 f6; /* 0x38 */ - u8 pad[7]; /* -> 0x40 */ -} Prim_8016E7C8_80182E84; extern void func_8012CBCC(s32 a0); @@ -9342,7 +9122,7 @@ void func_801836D4(void *a0) { // body) using a locally-named struct type — block-scope externs don't collide with another // function's block-scope externs for the same symbol (§S38/D2). -typedef struct { s32 w[4]; } LBlk16; /* 16-byte record, block-scoped local name only */ + /* 16-byte record, block-scoped local name only */ void func_80183710(void *a0) { @@ -9429,7 +9209,6 @@ void func_80183904(void *a0) { #include "common.h" -typedef struct { s32 w[4]; } B16_local; extern struct B16 D_800A5EA8; extern B16_local D_801C6C2C; diff --git a/src/ov_SC02_039/ov_SC02_039_jr_8017BEBC.c b/src/ov_SC02_039/ov_SC02_039_jr_8017BEBC.c index 64ca7b4e25..0bb6a37b47 100644 --- a/src/ov_SC02_039/ov_SC02_039_jr_8017BEBC.c +++ b/src/ov_SC02_039/ov_SC02_039_jr_8017BEBC.c @@ -3451,9 +3451,9 @@ void func_8017DFE8(void *a0) { * Struct tags are FUNCTION-UNIQUE (…_8017E024) so this draft pastes into the TU with zero * declaration reconciliation (wave law 8). * ------------------------------------------------------------------------------------------ */ -struct Mtx_8017E024 { s16 m[3][3]; s32 t[3]; }; /* 32 bytes -- PsyQ MATRIX */ -struct SVec_8017E024 { s16 vx, vy, vz, pad; }; /* 8 bytes -- PsyQ SVECTOR */ -struct Vec_8017E024 { s32 vx, vy, vz, pad; }; /* 16 bytes -- PsyQ VECTOR */ + /* 32 bytes -- PsyQ MATRIX */ + /* 8 bytes -- PsyQ SVECTOR */ + /* 16 bytes -- PsyQ VECTOR */ /* callees -- every name read off the target .s relocation lines (law 1 / 1c) */ extern void RotMatrixZ(s32 a0, void *a1); @@ -3574,12 +3574,6 @@ void func_8017E25C(s32 a0) extern s32 func_8012DEB8(s32 a0, s32 a1, s32 a2); -typedef struct { - u16 x; /* 0x0 */ - u16 y; /* 0x2 */ - u16 z; /* 0x4 */ - u16 w; /* 0x6 */ -} Vec4h_8017E2F4; s32 func_8017E2F4(s32 a0, s32 a1) { Vec4h_8017E2F4 p1; @@ -3852,9 +3846,6 @@ void func_8017E794(void *a0) * then override on flag<0" -- not an if/else. */ -typedef struct { s32 w[8]; } Mat32_8017E910; -typedef struct { s16 a, b, c, d; } SV4_8017E910; -typedef struct { s32 flag; u16 xy[2]; s32 sp1c; } Out_8017E910; void func_8017E910(void *a0) { @@ -4041,7 +4032,6 @@ extern u16 D_8019B5EA[][4]; /* == D_8019B5E4 + 6 : lhu, stride 0x8 */ /* field ORDER (not the call-arg order) reproduces sp+0x18/0x1C/0x20, exactly * as in the func_8017E910 sibling two definitions up in this TU. */ -typedef struct { u16 xy[2]; s32 sp1c; s32 flag; } Out_8017EC34; void func_8017EC34(s32 param_1) { diff --git a/src/ov_SC02_041/ov_SC02_041_jr_8017BEBC.c b/src/ov_SC02_041/ov_SC02_041_jr_8017BEBC.c index a202412329..733bb29c14 100644 --- a/src/ov_SC02_041/ov_SC02_041_jr_8017BEBC.c +++ b/src/ov_SC02_041/ov_SC02_041_jr_8017BEBC.c @@ -2759,7 +2759,7 @@ void func_8017CE3C(s32 a0) { } -typedef struct { short a, b, c; } SV3_80181D44_8017CEF4; /* == the TU's own `SV3` (engine_types.h:612); renamed only because + /* == the TU's own `SV3` (engine_types.h:612); renamed only because typedef struct { s16 vx, vy, vz, pad; } SV_8017D7C0_8017F19C_8017CEF4; /* 8 bytes, align 2 */ /* Callee externs — spellings copied from src/ov_SC04_002/ov_SC04_002_jr_8017BEBC.c @@ -2782,10 +2782,6 @@ extern void func_80165718(s32 a0); /* 16-byte-stride table at D_801887C0, indexed by the actor's 0xF2 animation/state id * (signed s16); only the table row's first word (offset 0) is read. */ -typedef struct { - s32 f0; - u8 pad[12]; -} Tbl16_8018BDE4_8017CEF4; void func_8017CEF4(s32 a0) { @@ -2959,7 +2955,7 @@ void func_8017D294(void *a0) { } -typedef struct { s16 vx, vy, vz, pad; } SV_8017D7C0_8017F19C; /* 8 bytes, align 2 */ + /* 8 bytes, align 2 */ extern s32 func_800D21C4(s32 a0, void *a1, s32 a2); @@ -3112,9 +3108,9 @@ void func_8017D784(void *a0) { * Vec32 (:1098) -- byte-identical layouts. Renamed here only because match_one * compiles standalone with -Iinclude (engine_core.h is not on that path); on bank, * drop these three typedefs and use the TU's own names. */ -typedef struct { s16 vx, vy, vz, pad; } SV_8017D7C0; /* 8 bytes, align 2 */ -typedef struct { s16 m[3][3]; s32 t[3]; } MTX_8017D7C0; /* 0x20 bytes, align 4 */ -typedef struct { s32 vx, vy, vz, pad; } V32_8017D7C0; /* 16 bytes, align 4 */ + /* 8 bytes, align 2 */ + /* 0x20 bytes, align 4 */ + /* 16 bytes, align 4 */ /* ov_SC02_041 func_8017D7C0 -- 181 ins, zero-crack family exemplar (reach x4: * ov_SC04_002:8017f19c, ov_SC04_004:8017f65c, ov_SC04_011:8017f340). @@ -3352,7 +3348,7 @@ void func_8017DB58(s32 a0) * out of plain sequential C. */ -typedef struct { s16 m[3][3]; s32 t[3]; } MTX_8017DB80; /* 0x20 bytes, align 4 -- + /* 0x20 bytes, align 4 -- byte-identical restatement of this TU's own MTX_8017D7C0 (:3334); renamed only because match_one compiles standalone (-Iinclude, no engine_core.h on that path). On bank, drop this typedef and reuse the TU's own MTX_8017D7C0 name. */ @@ -3694,9 +3690,6 @@ void func_8017E27C(void *a0) { } -typedef struct { - s16 v[4]; -} Blk8_80126940_8017E2B8; void func_8017E2B8(s32 a0) { @@ -4715,9 +4708,8 @@ void func_8017F314(int a, s16 *b, SVECTOR_8017E6D8 *c, SVECTOR_8017E6D8 *d, -typedef struct { s16 m[3][3]; s32 t[3]; } MTX_8017D7C0_8017F19C_8017F690; /* 0x20 bytes, align 4 */ + /* 0x20 bytes, align 4 */ -typedef struct { u16 x, y, z, w; } V8_80181368_8017F690; extern s32 func_8004787C(s32 a0); extern s32 func_80047948(s32 a0); @@ -4757,7 +4749,7 @@ s32 func_8017F690(s32 a0, s32 a1) { } -typedef struct { short a, b, c; } SV3_80181D44_8017CEF4_8017F81C; /* == the TU's own `SV3` (engine_types.h:612); renamed only because + /* == the TU's own `SV3` (engine_types.h:612); renamed only because /* Declarations conform VERBATIM to the ones already present in this TU * (src/ov_SC04_005/ov_SC04_005_jr_8017BEBC.c, lines 6342-6344 / 845 / 2190-2191) @@ -4765,9 +4757,8 @@ typedef struct { short a, b, c; } SV3_80181D44_8017CEF4_8017F81C; /* == the TU * template as this function (same offsets, callees, mask constants) except * for the tail control flow after the second func_80133784 call. */ -typedef struct { s16 m[3][3]; s32 t[3]; } MTX_8017D7C0_8017F19C_80182728_8017F81C; /* 0x20 bytes, align 4 */ + /* 0x20 bytes, align 4 */ -typedef struct { u16 x, y, z, w; } V8_80181368_80182728_8017F81C; extern s32 func_8004787C(s32 a0); extern s32 func_80047948(s32 a0); @@ -5210,18 +5201,7 @@ void func_80180228(s32 *a0) { } -typedef struct { s16 f0, f2, f4, f6, f8, fA, fC, fE; s32 f10; } St_80182784_80185DA8_8018023C; -typedef struct { s16 vx, vy, vz, pad; } SV_8017D7C0_8017F19C_8018023C; /* 8 bytes, align 2 */ -typedef struct { - s32 f0; - u8 pad[12]; -} Tbl16_8018BDE4_8018023C; -typedef struct { - SVECTOR_8016E7C8 v[4]; /* 0x00 */ - s32 f0, f1, f2, f3, f4, f5; /* 0x20..0x37 */ - u8 f6; /* 0x38 */ - u8 pad[7]; /* -> 0x40 */ -} Prim_8016E7C8_8018023C; + /* 8 bytes, align 2 */ extern s32 func_8012D5E4(s32 a0, s32 a1, s32 a2, s32 a3); extern void func_8012EC04(s32 param_1, s32 param_2, s32 *param_3); @@ -5629,8 +5609,8 @@ void func_80180A5C(int param_1) -typedef struct { s16 a, b, c; } SV3x_80180ACC; /* 6-byte, align-2 triple of s16 */ -typedef struct { s16 a, b, c, d; } SV4x_80180ACC; /* 8-byte, align-2 quad of s16 */ + /* 6-byte, align-2 triple of s16 */ + /* 8-byte, align-2 quad of s16 */ extern void func_8012C218(void *a0); extern void func_8012F214(s32 a0, s32 a1, s32 a2); @@ -6580,7 +6560,6 @@ void func_80181FFC(void *arg0) { * in this TU via engine_core.h; on banking it may be replaced by that name.) */ -typedef struct { u16 x, y, z, w; } V8_80182044; extern s32 D_80126B58; extern s32 D_80126B84; @@ -6982,7 +6961,6 @@ extern void func_8012A828(s32, void*); /* Layout-identical to `struct S80190C84` (src/shared/engine_types.h:1337), which IS * visible in the destination TU via ../shared/engine_core.h; a fresh tag is used here * only so the standalone match_one compile (no engine_core.h on its -I path) works. */ -typedef struct { s16 f0, f2, f4, f6, f8, fA, fC, fE; s32 f10; } St_80182784; extern void ApplyMatrixSV(void *a0, void *a1, void *a2); extern void func_8012EC04(s32 param_1, s32 param_2, s32 *param_3); @@ -7154,7 +7132,6 @@ void func_80182B38(s32 a0) { * lines 6969-6988): same D_80126B78/D_80126B90/D_801152A8 globals, same * func_8012F14C / func_80135888 / func_8012F568 call chain. */ -typedef struct { short vx, vy, vz, pad; } SVec_801861D0_80182BAC; extern void func_8012EC04(s32 param_1, s32 param_2, s32 *param_3); extern void func_8012F14C(s32 a0, s32 a1, s32 a2); @@ -7255,9 +7232,9 @@ s32 func_80182CCC(s32 arg0) { * (TU:5690) by the already-matched func_80182044 -- confirming the agreed signature. */ -typedef struct { short vx, vy, vz, pad; } SV_80182D80; /* 8 bytes, align 2 */ -typedef struct { short m[3][3]; long t[3]; } MTX_80182D80; /* 0x20 bytes, align 4 */ -typedef struct { s32 vx, vy, vz, pad; } V32_80182D80; /* 16 bytes, align 4 */ + /* 8 bytes, align 2 */ + /* 0x20 bytes, align 4 */ + /* 16 bytes, align 4 */ extern s32 D_80126B58; extern s32 D_80126B68; @@ -7434,7 +7411,7 @@ void func_80183014(s32 a0) { extern s32 func_80132EF4(s32 a0, s32 a1); -typedef struct { short a, b, c; } SV3_80181D44_8018317C; /* == the TU's own `SV3` (engine_types.h:612); renamed only because + /* == the TU's own `SV3` (engine_types.h:612); renamed only because extern s32 func_80132EF4(s32 a0, s32 a1); extern s32 rand(void); @@ -8234,7 +8211,7 @@ void func_80183FE0(s32 a0, s32 a1, s32 a2) } -typedef struct { s16 vx, vy, vz, pad; } SV_8017D7C0_8017F19C_8018428C; /* 8 bytes, align 2 */ + /* 8 bytes, align 2 */ /* func_8018428C (ov_SC04_002, ov_SC04_002_jr_8017BEBC, 83 ins) * @@ -8314,7 +8291,6 @@ void func_8018428C(s32 a0, s32 a1, s32 a2, void *a3) #include "common.h" -typedef struct { u32 addr : 24; u32 len : 8; } PTag_801843D8; extern u8 *D_800A5E60; extern u8 D_800A6610[]; diff --git a/src/ov_SC03_001/ov_SC03_001_jr_8017AE2C.c b/src/ov_SC03_001/ov_SC03_001_jr_8017AE2C.c index 2b408179be..95bb1cebb6 100644 --- a/src/ov_SC03_001/ov_SC03_001_jr_8017AE2C.c +++ b/src/ov_SC03_001/ov_SC03_001_jr_8017AE2C.c @@ -3991,7 +3991,6 @@ extern s32 func_8012B744(void *a0, void *a1); extern s32 func_8012B608(s32 a0, s32 a1, s32 a2); extern s16 D_80191020; -typedef struct { s16 vx, vy, vz, pad; } TmpVec_8017DCE4; void func_8017DCE4(s32 a0) { diff --git a/src/ov_SC03_001/ov_SC03_001_jr_80184DDC.c b/src/ov_SC03_001/ov_SC03_001_jr_80184DDC.c index 84982d0464..228565e254 100644 --- a/src/ov_SC03_001/ov_SC03_001_jr_80184DDC.c +++ b/src/ov_SC03_001/ov_SC03_001_jr_80184DDC.c @@ -9,7 +9,6 @@ typedef struct { u8 pad[7]; /* -> 0x40 */ } Prim_8016E7C8; typedef void (*Handler)(struct Entry_8016E95C *); -typedef struct { s16 vx, vy, vz, pad; } TmpVec_8017DCE4; extern void func_801458E0(void); extern s32 D_800AE6AC; extern s32 D_800AE6B0; diff --git a/src/ov_SC03_001/ov_SC03_001_jr_8018A3A8.c b/src/ov_SC03_001/ov_SC03_001_jr_8018A3A8.c index 2dd55f4883..a2196cd2c0 100644 --- a/src/ov_SC03_001/ov_SC03_001_jr_8018A3A8.c +++ b/src/ov_SC03_001/ov_SC03_001_jr_8018A3A8.c @@ -3743,24 +3743,10 @@ s32 func_8018AEE8(void) { * `extern short D_800B9A02` canon (§37); 864 sites already use that spelling. */ -typedef struct { u32 addr : 24; u32 len : 8; } PTag_S40_8018B238; -typedef struct { u32 w; } W_S40_8018B238; -typedef struct { u32 *ot; u32 pad[4]; } Env_S40_8018B238; /* 0x14 stride */ -typedef struct { s16 v; } Flag_S40_8018B238; /* 0x02 stride */ + /* 0x14 stride */ + /* 0x02 stride */ -typedef struct Panel_S40_8018B238 { - s16 f0; /* 0x00 */ - s16 f2; /* 0x02 */ - void *f4; /* 0x04 */ - void *f8; /* 0x08 */ - s16 fC; /* 0x0C */ - s16 fE; /* 0x0E */ - s16 f10; /* 0x10 */ - s16 f12; /* 0x12 */ - void *f14; /* 0x14 */ - void *f18; /* 0x18 */ - void *f1C; /* 0x1C */ -} Panel_S40_8018B238; /* 0x20 stride */ + /* 0x20 stride */ diff --git a/src/ov_SC03_001/ov_SC03_001_jr_8018B8DC.c b/src/ov_SC03_001/ov_SC03_001_jr_8018B8DC.c index 1e3d5483da..d59ef96092 100644 --- a/src/ov_SC03_001/ov_SC03_001_jr_8018B8DC.c +++ b/src/ov_SC03_001/ov_SC03_001_jr_8018B8DC.c @@ -9,23 +9,9 @@ typedef struct { u8 pad[7]; /* -> 0x40 */ } Prim_8016E7C8; typedef void (*Handler)(struct Entry_8016E95C *); -typedef struct { u32 addr : 24; u32 len : 8; } PTag_S40_8018B238; -typedef struct { u32 w; } W_S40_8018B238; -typedef struct { u32 *ot; u32 pad[4]; } Env_S40_8018B238; /* 0x14 stride */ -typedef struct { s16 v; } Flag_S40_8018B238; /* 0x02 stride */ -typedef struct Panel_S40_8018B238 { - s16 f0; /* 0x00 */ - s16 f2; /* 0x02 */ - void *f4; /* 0x04 */ - void *f8; /* 0x08 */ - s16 fC; /* 0x0C */ - s16 fE; /* 0x0E */ - s16 f10; /* 0x10 */ - s16 f12; /* 0x12 */ - void *f14; /* 0x14 */ - void *f18; /* 0x18 */ - void *f1C; /* 0x1C */ -} Panel_S40_8018B238; /* 0x20 stride */ + /* 0x14 stride */ + /* 0x02 stride */ + /* 0x20 stride */ extern void func_801458E0(void); extern s32 D_800AE6AC; extern s32 D_800AE6B0; @@ -3172,12 +3158,6 @@ extern s32 *func_8018BCD4(s32 *, void *, s32, void *, s32); extern s32 func_8018B644(void *, s32, s32, s32, s32 *); extern s32 * func_8018B478(s32 *ot, Panel_8017E978_8018B478 *w0, s16 idx); -typedef struct { - SVECTOR_8016E7C8 v[4]; /* 0x00 */ - s32 f0, f1, f2, f3, f4, f5; /* 0x20..0x37 */ - u8 f6; /* 0x38 */ - u8 pad[7]; /* -> 0x40 */ -} Prim_8016E7C8_8018B8DC; /* func_8018B8DC — ov_SC04_018 / ov_SC04_018_jr_801878E8, 254 ins, jtbl_801E599C (8 entries, * minval 7 -> `addiu $a0,$a0,-7` + HImode re-extension, so the switch index type is short). @@ -4301,13 +4281,6 @@ extern s32 D_801EB594; extern u32 D_801EB5A8; extern s32 D_801EB6D8; -typedef struct { - s16 field_0; - s16 field_2; - s32 field_4; - s32 field_8; - s32 field_C; -} Struct801EF318; extern Struct801EF318 D_801EF318; diff --git a/src/ov_SC03_002/ov_SC03_002_jr_8017D604.c b/src/ov_SC03_002/ov_SC03_002_jr_8017D604.c index 19e46b8aff..8350c78e51 100644 --- a/src/ov_SC03_002/ov_SC03_002_jr_8017D604.c +++ b/src/ov_SC03_002/ov_SC03_002_jr_8017D604.c @@ -3133,12 +3133,6 @@ void func_8017E6CC(void *a0) { } -typedef struct { - /* 0x0 */ u16 x; - /* 0x2 */ u16 y; - /* 0x4 */ u16 z; - /* 0x6 */ u16 w; -} Vec4h_8017E708; extern s32 func_8012DEB8(s32 a0, s32 a1, s32 a2); @@ -3417,7 +3411,6 @@ void func_8017EBD0(void *a0) { #include "common.h" /* identical layout to SVECTOR_8016E7C8 (src/shared/engine_types.h) */ -typedef struct { short vx, vy, vz, pad; } SVEC_8017EC98; void func_8017EC98(SVEC_8017EC98 *p0, SVEC_8017EC98 *p1) { /* conform to the TU's file-scope canon (`extern void func_8012EF70(s32, s32);`) @@ -3560,7 +3553,6 @@ void func_8017F200(s32 arg0) { } - typedef struct { short vx, vy, vz, pad; } SVFD98; diff --git a/src/ov_SC03_002/ov_SC03_002_jr_801815AC.c b/src/ov_SC03_002/ov_SC03_002_jr_801815AC.c index e1e1acb49d..a194f2803a 100644 --- a/src/ov_SC03_002/ov_SC03_002_jr_801815AC.c +++ b/src/ov_SC03_002/ov_SC03_002_jr_801815AC.c @@ -9,13 +9,6 @@ typedef struct { u8 pad[7]; /* -> 0x40 */ } Prim_8016E7C8; typedef void (*Handler)(struct Entry_8016E95C *); -typedef struct { - /* 0x0 */ u16 x; - /* 0x2 */ u16 y; - /* 0x4 */ u16 z; - /* 0x6 */ u16 w; -} Vec4h_8017E708; -typedef struct { short vx, vy, vz, pad; } SVEC_8017EC98; extern void func_801458E0(void); extern s32 D_800AE6AC; extern s32 D_800AE6B0; diff --git a/src/ov_SC03_002/ov_SC03_002_jr_80181BCC.c b/src/ov_SC03_002/ov_SC03_002_jr_80181BCC.c index 9ec0717b3a..28a4d09df9 100644 --- a/src/ov_SC03_002/ov_SC03_002_jr_80181BCC.c +++ b/src/ov_SC03_002/ov_SC03_002_jr_80181BCC.c @@ -9,13 +9,6 @@ typedef struct { u8 pad[7]; /* -> 0x40 */ } Prim_8016E7C8; typedef void (*Handler)(struct Entry_8016E95C *); -typedef struct { - /* 0x0 */ u16 x; - /* 0x2 */ u16 y; - /* 0x4 */ u16 z; - /* 0x6 */ u16 w; -} Vec4h_8017E708; -typedef struct { short vx, vy, vz, pad; } SVEC_8017EC98; extern void func_801458E0(void); extern s32 D_800AE6AC; extern s32 D_800AE6B0; diff --git a/src/ov_SC03_002/ov_SC03_002_jr_80181D78.c b/src/ov_SC03_002/ov_SC03_002_jr_80181D78.c index ecd58f4234..10d3d1e745 100644 --- a/src/ov_SC03_002/ov_SC03_002_jr_80181D78.c +++ b/src/ov_SC03_002/ov_SC03_002_jr_80181D78.c @@ -9,13 +9,6 @@ typedef struct { u8 pad[7]; /* -> 0x40 */ } Prim_8016E7C8; typedef void (*Handler)(struct Entry_8016E95C *); -typedef struct { - /* 0x0 */ u16 x; - /* 0x2 */ u16 y; - /* 0x4 */ u16 z; - /* 0x6 */ u16 w; -} Vec4h_8017E708; -typedef struct { short vx, vy, vz, pad; } SVEC_8017EC98; extern void func_801458E0(void); extern s32 D_800AE6AC; extern s32 D_800AE6B0; diff --git a/src/ov_SC03_002/ov_SC03_002_jr_8018431C.c b/src/ov_SC03_002/ov_SC03_002_jr_8018431C.c index 68357752b4..c3c05c721f 100644 --- a/src/ov_SC03_002/ov_SC03_002_jr_8018431C.c +++ b/src/ov_SC03_002/ov_SC03_002_jr_8018431C.c @@ -9,7 +9,6 @@ typedef struct { u8 pad[7]; /* -> 0x40 */ } Prim_8016E7C8; typedef void (*Handler)(struct Entry_8016E95C *); -typedef struct { short vx, vy, vz, pad; } SVEC_8017EC98; extern void func_801458E0(void); extern s32 D_800AE6AC; extern s32 D_800AE6B0; diff --git a/src/ov_SC03_003/ov_SC03_003_jr_8017AE2C.c b/src/ov_SC03_003/ov_SC03_003_jr_8017AE2C.c index f7a5c0b6ca..4b9168c4f6 100644 --- a/src/ov_SC03_003/ov_SC03_003_jr_8017AE2C.c +++ b/src/ov_SC03_003/ov_SC03_003_jr_8017AE2C.c @@ -3352,13 +3352,11 @@ extern void func_80146C3C(u8 *a0); #include "../shared/ov/func_8017BFA4.h" -typedef struct { s16 vx, vy; } DVEC2_C59C; -typedef struct { s16 vx, vy, vz, pad; } SVEC_BEBC; extern s32 func_800491EC(void); extern void func_8017C3EC(u16 *a0, void *a1); @@ -3406,15 +3404,6 @@ void func_8017C688(s32 a0, s32 a1) { } -typedef struct { u32 w0, w1, w2; } Prim126; -typedef struct { u8 *vtx; u32 f4; u32 xx, yy, zz; Prim126 *prim, *end; } Cell126; -typedef struct { s16 vx, vy; } DVEC2_C6F4; -typedef struct { s16 vx, vy, vz, pad; } SVEC2_C6F4; -typedef struct { s16 m[3][3]; s32 t[3]; } MTX_C6F4; -typedef struct { u32 tag, rgbc; s16 x0, y0, x1, y1, x2, y2; } PF3_C6F4; -typedef struct { u32 tag, rgbc; s16 x0, y0, x1, y1, x2, y2, x3, y3; } PF4_C6F4; -typedef struct { u32 tag, rgbc; s16 x0, y0; u32 uvc0; s16 x1, y1; u32 uvp1; s16 x2, y2; u16 uv2, p2; } PFT3_C6F4; -typedef struct { u32 tag, rgbc; s16 x0, y0; u32 uvc0; s16 x1, y1; u32 uvp1; s16 x2, y2; u16 uv2, p2; s16 x3, y3; u16 uv3, p3; } PFT4_C6F4; void func_8017C6F4(s32 arg0) diff --git a/src/ov_SC03_006/ov_SC03_006_jr_8017AE2C.c b/src/ov_SC03_006/ov_SC03_006_jr_8017AE2C.c index f7286bf063..99359579eb 100644 --- a/src/ov_SC03_006/ov_SC03_006_jr_8017AE2C.c +++ b/src/ov_SC03_006/ov_SC03_006_jr_8017AE2C.c @@ -6347,8 +6347,6 @@ extern s32 func_80181228(); // K&R: 0/1 of 1 args (P37 rung D t4_D2) * scratch dir. These local names exist ONLY to let this file compile standalone under * match_one; the host TU already includes engine_core.h and has the real MATRIX/SVECTOR types. * Layout: m[3][3] (18B) + 2B pad + t[3] s32 (12B) = 0x20; vx/vy/vz/pad s16 = 8B. */ -typedef struct { s16 m[3][3]; s32 t[3]; } MATRIX_80181228; -typedef struct { s16 vx, vy, vz, pad; } SVECTOR_80181228; extern s32 D_80126B58; extern s16 D_80190814[]; @@ -6582,12 +6580,6 @@ void func_8018189C(void *a0) { #include "common.h" -typedef struct { - /* 0x0 */ u16 x; - /* 0x2 */ u16 y; - /* 0x4 */ u16 z; - /* 0x6 */ u16 w; -} Vec4h_801818D8; extern s32 func_8012DEB8(s32 a0, s32 a1, s32 a2); @@ -6976,16 +6968,6 @@ void func_80181FC4(void *arg0) { Statement order `q = &prim;` then `vz = 3;` is what puts the `li` after `sw $s0` / `addiu $s0,$sp,0x10`; swapping them costs 3 instructions. */ -typedef struct { - s16 v[4][4]; - s16 t[4][2]; - s32 f30; - s32 f34; - s32 f38; - s32 f3C; - s32 f40; - u8 f44; -} Prim_80182080; extern void func_800178EC(s32 a0); @@ -10516,19 +10498,11 @@ extern s32 func_80047948(s32 a0); extern void func_80049CAC(s32 a0, s32 a1); extern void func_8012B414(int a0); extern void func_8012C218(void *a0); - typedef struct { s16 vx; u16 vy; s16 vz, pad; } SVec_8017F67C_801869CC; -typedef struct { u8 d[4]; } Blk4_8017CE90_8017F32C_801869CC; -typedef struct { s16 vx, vy, vz, pad; } SVec8_8018E8A0_801869CC; /* 0x08 */ -typedef struct { s32 vx, vy, vz, pad; } Vec16_8018E8A0_801869CC; /* 0x10 */ -typedef struct { s16 m[3][3]; s16 pad; s32 t[3]; } Mtx_8018E8A0_801869CC; /* 0x20 */ -typedef struct { s16 f[0x86]; } Cnt_8018E8A0_801869CC; -typedef struct { - SVec8_8018E8A0_801869CC v[4]; /* 0x00 */ - u32 c[4]; /* 0x20 */ - s32 code; /* 0x30 */ - s32 pad; /* 0x34 */ -} Prim_8018E8A0_801869CC; /* 0x38 */ + /* 0x08 */ + /* 0x10 */ + /* 0x20 */ + /* 0x38 */ void func_801869CC(void *a0) { @@ -11279,7 +11253,6 @@ void func_801879C4(void *a0) { } -typedef struct { u8 d[4]; } Blk4_8017CE90_8017F32C_80184FF0_80187A9C; extern s32 func_80047D3C(s32 a0); @@ -11551,9 +11524,7 @@ void func_801880A8(s32 param_1) { } -typedef struct { s16 vx, vy, vz, pad; } SVec8_8018E8A0_80184FF0_80188134; /* 0x08 */ -typedef struct { u8 d[4]; } Blk4_8017CE90_8017F32C_80184FF0_80188134; - typedef struct { s16 vx; u16 vy; s16 vz, pad; } SVec_8017F67C_80184FF0_80188134; + /* 0x08 */ /* ov_SC03_029 :: func_80188134 (0x80186758, 183 ins) * @@ -12070,8 +12041,6 @@ s32 func_80188A94(s32 a0) { /* match_one's standalone common.h does not reach src/shared/engine_types.h, where the * real TU's Blk20 { s32 w[8]; } and Vec32 { s32 vx, vy, vz, pad; } live. Local copies here; * integrator may drop these and reuse the TU's own (engine_types.h:472, :1098). */ -typedef struct { s32 w[8]; } Blk20_80188AF4; -typedef struct { s32 vx, vy, vz, pad; } Vec32_80188AF4; void func_80188AF4(s32 a0, s32 a1) { extern s32 func_8012B864(s32 a0); @@ -12382,12 +12351,6 @@ void func_80189194(s32 a0) } -typedef struct { - SVECTOR_8016E7C8 v[4]; /* 0x00 */ - s32 f0, f1, f2, f3, f4, f5; /* 0x20..0x37 */ - u8 f6; /* 0x38 */ - u8 pad[7]; /* -> 0x40 */ -} Prim_8016E7C8_801891DC; extern s32 func_8012B8E4(s32 arg0, s32 arg1); extern s32 func_8012BEE8(s32 a0); @@ -13402,7 +13365,6 @@ s32 func_8018A698(s32 a0) { -typedef struct { s16 a, b, c; } SV3_80184C98; /* func_8018A6F4 -- same-class neighbour push-away over the 0x60-entry / * 0x10C-stride entity table D_801202A0. Banked twin: ov_SC06_018:func_80187320 diff --git a/src/ov_SC03_007/ov_SC03_007_jr_8017AE2C.c b/src/ov_SC03_007/ov_SC03_007_jr_8017AE2C.c index 655a358d8c..bde6a25ff1 100644 --- a/src/ov_SC03_007/ov_SC03_007_jr_8017AE2C.c +++ b/src/ov_SC03_007/ov_SC03_007_jr_8017AE2C.c @@ -3305,7 +3305,6 @@ void func_8017BE60(void *a0) { #include "common.h" -typedef struct { s16 vx, vy, vz, pad; } SVEC_BEBC; extern s32 func_800491EC(void); extern void func_8017C294(u16 *a0, void *a1); @@ -3348,16 +3347,7 @@ extern void func_8017C530(s32 a0, s32 a1); * cell $t3 naturally once the bbox block allocates right. */ -typedef struct { u32 w0, w1, w2; } PrimC59C; -typedef struct { u8 *vtx; u32 f4; u32 xx, yy, zz; PrimC59C *prim, *end; } CellC59C; -typedef struct { s16 vx, vy; } DVEC2_C59C; -typedef struct { s16 vx, vy, vz, pad; } SVEC2_C59C; -typedef struct { s16 m[3][3]; s32 t[3]; } MTX_C59C; -typedef struct { u32 tag, rgbc; s16 x0, y0, x1, y1, x2, y2; } PF3_C59C; -typedef struct { u32 tag, rgbc; s16 x0, y0, x1, y1, x2, y2, x3, y3; } PF4_C59C; -typedef struct { u32 tag, rgbc; s16 x0, y0; u32 uvc0; s16 x1, y1; u32 uvp1; s16 x2, y2; u16 uv2, p2; } PFT3_C59C; -typedef struct { u32 tag, rgbc; s16 x0, y0; u32 uvc0; s16 x1, y1; u32 uvp1; s16 x2, y2; u16 uv2, p2; s16 x3, y3; u16 uv3, p3; } PFT4_C59C; @@ -4158,7 +4148,6 @@ void func_8017DCA4(void) { } -typedef struct { char c[8]; } Blk8_8017DCF4; extern s16 D_801274E8; extern s16 D_8018BC30; @@ -4212,8 +4201,6 @@ extern void func_8017DE40(); // K&R: 0/1 of 1 args (P37 rung D t4_D2) } -typedef struct { s16 m[3][3]; s16 pad; s32 t[3]; } MTX_8017DE40; -typedef struct { s16 a, b, c, d; } SV4_8017DE40; extern s32 D_80126B58; extern s16 D_8018BC3C[]; @@ -4706,7 +4693,6 @@ extern void func_8012B0B4(unsigned int *param_1, int param_2, int param_3); extern s32 func_8012CEB0(s32 a0, s32 a1, s32 a2); extern void func_8017EC90(s32 a0, s32 a1); -typedef struct { s16 vx, vy, vz, pad; } SVEC_E83C; s32 func_8017E83C(s32 arg0) { extern u8 D_801202A0[]; @@ -4802,8 +4788,6 @@ s32 func_8017EA04(s32 arg0) { /* bodies identical to engine_types.h's MTX / SV4; per-function names per the * *_ house convention (law 8: same name => same body, else a new name). */ -typedef struct { s16 m[3][3]; s16 pad; s32 t[3]; } MTX_8017EA48; -typedef struct { s16 a, b, c, d; } SV4_8017EA48; extern MTX_8017EA48 D_800AE620; extern SV4_8017EA48 D_8018BD34[]; @@ -5615,7 +5599,6 @@ void func_8017FBA0(s32 a0) { #include "common.h" -typedef struct { s16 a, b, c, d; } SV4_FC6C; extern s32 *D_80126B78; extern u8 D_8018BE48[]; @@ -5823,7 +5806,6 @@ tail: * decl_prior modal fleet spelling is used directly. */ -typedef struct { s16 vx, vy, vz, pad; } SVEC_80064; extern s32 func_8012BC60(void *a0, void *a1); extern s32 func_8012B6D4(s16 *a0, s16 *a1); diff --git a/src/ov_SC03_007/ov_SC03_007_jr_80181F94.c b/src/ov_SC03_007/ov_SC03_007_jr_80181F94.c index 0715f2c77f..a84edf54c9 100644 --- a/src/ov_SC03_007/ov_SC03_007_jr_80181F94.c +++ b/src/ov_SC03_007/ov_SC03_007_jr_80181F94.c @@ -9,23 +9,6 @@ typedef struct { u8 pad[7]; /* -> 0x40 */ } Prim_8016E7C8; typedef void (*Handler)(struct Entry_8016E95C *); -typedef struct { u32 w0, w1, w2; } PrimC59C; -typedef struct { u8 *vtx; u32 f4; u32 xx, yy, zz; PrimC59C *prim, *end; } CellC59C; -typedef struct { s16 vx, vy; } DVEC2_C59C; -typedef struct { s16 vx, vy, vz, pad; } SVEC2_C59C; -typedef struct { s16 m[3][3]; s32 t[3]; } MTX_C59C; -typedef struct { u32 tag, rgbc; s16 x0, y0, x1, y1, x2, y2; } PF3_C59C; -typedef struct { u32 tag, rgbc; s16 x0, y0, x1, y1, x2, y2, x3, y3; } PF4_C59C; -typedef struct { u32 tag, rgbc; s16 x0, y0; u32 uvc0; s16 x1, y1; u32 uvp1; s16 x2, y2; u16 uv2, p2; } PFT3_C59C; -typedef struct { u32 tag, rgbc; s16 x0, y0; u32 uvc0; s16 x1, y1; u32 uvp1; s16 x2, y2; u16 uv2, p2; s16 x3, y3; u16 uv3, p3; } PFT4_C59C; -typedef struct { char c[8]; } Blk8_8017DCF4; -typedef struct { s16 m[3][3]; s16 pad; s32 t[3]; } MTX_8017DE40; -typedef struct { s16 a, b, c, d; } SV4_8017DE40; -typedef struct { s16 vx, vy, vz, pad; } SVEC_E83C; -typedef struct { s16 m[3][3]; s16 pad; s32 t[3]; } MTX_8017EA48; -typedef struct { s16 a, b, c, d; } SV4_8017EA48; -typedef struct { s16 a, b, c, d; } SV4_FC6C; -typedef struct { s16 vx, vy, vz, pad; } SVEC_80064; extern void func_801458E0(void); extern s32 D_800AE6AC; extern s32 D_800AE6B0; @@ -3292,8 +3275,7 @@ void func_80182558(void *a0) { * every $sp displacement was uniformly short by 0x20 until this 32-byte aggregate * was declared ahead of them. gcc-2.7.2 assigns a stack slot in expand_decl for * every declared aggregate, used or not. Do not delete it. */ -typedef struct { s16 m[3][3]; s16 pad; s32 t[3]; } MTX_8018256C; /* 0x20 */ -typedef struct { s16 a, b, c, d; } SV4_8018256C; + /* 0x20 */ extern void func_8004914C(void *a0); /* TU:3117 verbatim */ extern void func_800491AC(void *a0); /* TU:3118 verbatim */ @@ -4063,14 +4045,12 @@ void func_80183670(s32 a0, s32 a1, s32 a2, void *a3) { #include "common.h" -typedef struct { s16 a, b, c, d; } SV4_801836B8; /* MATRIX_L48 shape, same as the twin func_8017EA48's MTX local (0x20 bytes). Declared but * NEVER read/written here -- the frame reserves it (empirically required: dropping it shifts * every local $sp offset down by 0x20 and shrinks the frame by 0x20, both wrong) but no * instruction touches it. A leftover from the same source template as func_8017EA48, which * DOES build and use a local MTX; this sibling calls func_8004914C/func_800491AC on the * object's own field pointer instead and simply never deleted the now-dead local. */ -typedef struct { s16 m[3][3]; s16 pad; s32 t[3]; } MTX_801836B8; extern s32 D_801270C8[]; extern SV4_801836B8 D_8018C524[]; diff --git a/src/ov_SC03_007/ov_SC03_007_jr_80183894.c b/src/ov_SC03_007/ov_SC03_007_jr_80183894.c index 7e12bcdea4..ef5cf5a275 100644 --- a/src/ov_SC03_007/ov_SC03_007_jr_80183894.c +++ b/src/ov_SC03_007/ov_SC03_007_jr_80183894.c @@ -9,27 +9,7 @@ typedef struct { u8 pad[7]; /* -> 0x40 */ } Prim_8016E7C8; typedef void (*Handler)(struct Entry_8016E95C *); -typedef struct { u32 w0, w1, w2; } PrimC59C; -typedef struct { u8 *vtx; u32 f4; u32 xx, yy, zz; PrimC59C *prim, *end; } CellC59C; -typedef struct { s16 vx, vy; } DVEC2_C59C; -typedef struct { s16 vx, vy, vz, pad; } SVEC2_C59C; -typedef struct { s16 m[3][3]; s32 t[3]; } MTX_C59C; -typedef struct { u32 tag, rgbc; s16 x0, y0, x1, y1, x2, y2; } PF3_C59C; -typedef struct { u32 tag, rgbc; s16 x0, y0, x1, y1, x2, y2, x3, y3; } PF4_C59C; -typedef struct { u32 tag, rgbc; s16 x0, y0; u32 uvc0; s16 x1, y1; u32 uvp1; s16 x2, y2; u16 uv2, p2; } PFT3_C59C; -typedef struct { u32 tag, rgbc; s16 x0, y0; u32 uvc0; s16 x1, y1; u32 uvp1; s16 x2, y2; u16 uv2, p2; s16 x3, y3; u16 uv3, p3; } PFT4_C59C; -typedef struct { char c[8]; } Blk8_8017DCF4; -typedef struct { s16 m[3][3]; s16 pad; s32 t[3]; } MTX_8017DE40; -typedef struct { s16 a, b, c, d; } SV4_8017DE40; -typedef struct { s16 vx, vy, vz, pad; } SVEC_E83C; -typedef struct { s16 m[3][3]; s16 pad; s32 t[3]; } MTX_8017EA48; -typedef struct { s16 a, b, c, d; } SV4_8017EA48; -typedef struct { s16 a, b, c, d; } SV4_FC6C; -typedef struct { s16 vx, vy, vz, pad; } SVEC_80064; -typedef struct { s16 m[3][3]; s16 pad; s32 t[3]; } MTX_8018256C; /* 0x20 */ -typedef struct { s16 a, b, c, d; } SV4_8018256C; -typedef struct { s16 a, b, c, d; } SV4_801836B8; -typedef struct { s16 m[3][3]; s16 pad; s32 t[3]; } MTX_801836B8; + /* 0x20 */ extern void func_801458E0(void); extern s32 D_800AE6AC; extern s32 D_800AE6B0; @@ -3619,14 +3599,9 @@ void func_80184278(int param_1) } -typedef struct { s16 vx, vy, vz, pad; } SVEC2_C59C_8017D9CC; -typedef struct { s16 vx, vy; } DVEC2_C59C_8017D9CC; -typedef struct { - s16 vx, vy, vz; -} UVec_8017DB64; void func_80184410(int param_1) { @@ -3683,7 +3658,6 @@ join: } -typedef struct { s16 vx, vy; } DVEC2_C59C_8017DBEC; @@ -3691,9 +3665,6 @@ extern s32 rand(void); extern void func_800139C8(s32 a0, void *a1, void *a2); extern s32 D_801EB138; -typedef struct { - s16 vx, vy, vz, pad; -} UVec_8017DED4; void func_80184560(s32 param_1) { diff --git a/src/ov_SC03_010/ov_SC03_010_jr_8017C730.c b/src/ov_SC03_010/ov_SC03_010_jr_8017C730.c index 16bbf39105..1e4c68076a 100644 --- a/src/ov_SC03_010/ov_SC03_010_jr_8017C730.c +++ b/src/ov_SC03_010/ov_SC03_010_jr_8017C730.c @@ -3019,10 +3019,6 @@ void func_8017DAAC(void) { -typedef struct { - s32 unk00; - s32 unk04; -} Struct_80184C18; extern Struct_80184C18 D_80183B84[]; extern s32 func_80171CC4(void *a0, void *a1); @@ -3638,7 +3634,6 @@ void func_8017E8B0(void *a0) { -typedef struct { u8 c[4]; } Blk4_80180518; extern u8 D_8019FFA0; extern Blk4_80180518 D_8019FFA4[1]; diff --git a/src/ov_SC03_010/ov_SC03_010_jr_8017F6C0.c b/src/ov_SC03_010/ov_SC03_010_jr_8017F6C0.c index f0e03106ff..5ceabc618a 100644 --- a/src/ov_SC03_010/ov_SC03_010_jr_8017F6C0.c +++ b/src/ov_SC03_010/ov_SC03_010_jr_8017F6C0.c @@ -9,11 +9,6 @@ typedef struct { u8 pad[7]; /* -> 0x40 */ } Prim_8016E7C8; typedef void (*Handler)(struct Entry_8016E95C *); -typedef struct { - s32 unk00; - s32 unk04; -} Struct_80184C18; -typedef struct { u8 c[4]; } Blk4_80180518; extern void func_801458E0(void); extern s32 D_800AE6AC; extern s32 D_800AE6B0; diff --git a/src/ov_SC03_011/ov_SC03_011_jr_8017C730.c b/src/ov_SC03_011/ov_SC03_011_jr_8017C730.c index e85eb02cb2..8d217cf124 100644 --- a/src/ov_SC03_011/ov_SC03_011_jr_8017C730.c +++ b/src/ov_SC03_011/ov_SC03_011_jr_8017C730.c @@ -3684,8 +3684,8 @@ extern void func_8017E3F0(); // K&R: 0 of 1 args (P37 rung D t4_D2) * do NOT adopt the seed's typedef names, only their layout; the destination TU's * shared headers ("../shared/engine_core.h") carry identical-layout types but under * different names, so a locally-scoped name collides with nothing. */ -typedef struct { short m[3][3]; long t[3]; } Mtx_8017E3F0; /* 0x20; .t @ +0x14 */ -typedef struct { short vx, vy, vz, pad; } Sv_8017E3F0; /* 0x08 */ + /* 0x20; .t @ +0x14 */ + /* 0x08 */ /* TU-verified declarations (src/ov_SC03_011/ov_SC03_011_jr_8017C730.c) */ extern s32 func_80012C6C(s32 a0, s32 a1, s32 a2); @@ -4135,9 +4135,7 @@ void func_8017EB88(s32 arg0) { #include "common.h" /* 0x20-byte matrix block (MATRIX-shaped) copied wholesale from D_800AE620 */ -typedef struct { s32 w[8]; } Blk32_8017ECD4; /* 0x10-byte vector block (VECTOR-shaped) */ -typedef struct { s32 w[4]; } Blk16_8017ECD4; /* 8-byte record x4 @0x801853A8 (tail.data.s 8192-8215). The data split gave each * halfword of record 0 its own dlabel (D_801853A8/AA/AC/AE), so the target's .s shows @@ -4146,7 +4144,6 @@ typedef struct { s32 w[4]; } Blk16_8017ECD4; * loop.c strength-reduce the i*8 offset into the single giv the target keeps in $s1 -- * four separate `extern u16 D_8018.. []` arrays produce an ADDRESS giv for the first * access plus an inline `sll a0,i,3` for the rest (-1 ins, wrong preheader). */ -typedef struct { u16 f0, f2, f4; s16 f6; } Rec_8017ECD4; extern Blk32_8017ECD4 D_800AE620; extern Blk16_8017ECD4 D_801A0E44; @@ -4285,12 +4282,6 @@ void func_8017F110(void *a0) { #include "common.h" -typedef struct { - /* 0x0 */ u16 x; - /* 0x2 */ u16 y; - /* 0x4 */ u16 z; - /* 0x6 */ u16 w; -} Vec4h_8017F14C; extern s32 func_8012DEB8(s32 a0, s32 a1, s32 a2); @@ -4385,8 +4376,8 @@ extern void func_800484EC(s32 a0, s32 a1, s32 a2); /* Local stack-frame shapes declared under this function's own address (law 1b). * sp+0x10: 0x20-byte matrix block, filled by func_80049CAC, consumed by func_800484EC. * sp+0x30: 12-byte vector block -- the target emits word stores only, so s32 members. */ -typedef struct { s32 w[8]; } Mtx_8017F370; /* 0x20 */ -typedef struct { s32 f0, f4, f8; } Vec12_8017F370; /* 0x0C */ + /* 0x20 */ + /* 0x0C */ void func_8017F370(s32 arg0) { Mtx_8017F370 m; /* sp+0x10 */ @@ -4948,7 +4939,6 @@ void func_8018009C(u8 *a0) { } -typedef struct { u32 w0; u32 w1; } __attribute__((packed, aligned(1))) Blk8_801800F8; extern Blk8_801800F8 D_801A0E64; extern void func_8012F214(s32 a0, s32 a1, s32 a2); extern void func_80015954(s32 a0, s32 a1); diff --git a/src/ov_SC03_011/ov_SC03_011_jr_80180B68.c b/src/ov_SC03_011/ov_SC03_011_jr_80180B68.c index 9138c2b819..7f3aac7625 100644 --- a/src/ov_SC03_011/ov_SC03_011_jr_80180B68.c +++ b/src/ov_SC03_011/ov_SC03_011_jr_80180B68.c @@ -9,20 +9,10 @@ typedef struct { u8 pad[7]; /* -> 0x40 */ } Prim_8016E7C8; typedef void (*Handler)(struct Entry_8016E95C *); -typedef struct { short m[3][3]; long t[3]; } Mtx_8017E3F0; /* 0x20; .t @ +0x14 */ -typedef struct { short vx, vy, vz, pad; } Sv_8017E3F0; /* 0x08 */ -typedef struct { s32 w[8]; } Blk32_8017ECD4; -typedef struct { s32 w[4]; } Blk16_8017ECD4; -typedef struct { u16 f0, f2, f4; s16 f6; } Rec_8017ECD4; -typedef struct { - /* 0x0 */ u16 x; - /* 0x2 */ u16 y; - /* 0x4 */ u16 z; - /* 0x6 */ u16 w; -} Vec4h_8017F14C; -typedef struct { s32 w[8]; } Mtx_8017F370; /* 0x20 */ -typedef struct { s32 f0, f4, f8; } Vec12_8017F370; /* 0x0C */ -typedef struct { u32 w0; u32 w1; } __attribute__((packed, aligned(1))) Blk8_801800F8; + /* 0x20; .t @ +0x14 */ + /* 0x08 */ + /* 0x20 */ + /* 0x0C */ extern void func_801458E0(void); extern s32 D_800AE6AC; extern s32 D_800AE6B0; diff --git a/src/ov_SC03_012/ov_SC03_012_jr_8017AE2C.c b/src/ov_SC03_012/ov_SC03_012_jr_8017AE2C.c index d928245262..f00e71668f 100644 --- a/src/ov_SC03_012/ov_SC03_012_jr_8017AE2C.c +++ b/src/ov_SC03_012/ov_SC03_012_jr_8017AE2C.c @@ -3308,7 +3308,6 @@ void func_8017BE60(void *a0) { #include "common.h" -typedef struct { s16 vx, vy, vz, pad; } SVEC_BEBC; extern s32 func_800491EC(void); extern void func_8017C294(u16 *a0, void *a1); @@ -3351,16 +3350,7 @@ extern void func_8017C530(s32 a0, s32 a1); * cell $t3 naturally once the bbox block allocates right. */ -typedef struct { u32 w0, w1, w2; } PrimC59C; -typedef struct { u8 *vtx; u32 f4; u32 xx, yy, zz; PrimC59C *prim, *end; } CellC59C; -typedef struct { s16 vx, vy; } DVEC2_C59C; -typedef struct { s16 vx, vy, vz, pad; } SVEC2_C59C; -typedef struct { s16 m[3][3]; s32 t[3]; } MTX_C59C; -typedef struct { u32 tag, rgbc; s16 x0, y0, x1, y1, x2, y2; } PF3_C59C; -typedef struct { u32 tag, rgbc; s16 x0, y0, x1, y1, x2, y2, x3, y3; } PF4_C59C; -typedef struct { u32 tag, rgbc; s16 x0, y0; u32 uvc0; s16 x1, y1; u32 uvp1; s16 x2, y2; u16 uv2, p2; } PFT3_C59C; -typedef struct { u32 tag, rgbc; s16 x0, y0; u32 uvc0; s16 x1, y1; u32 uvp1; s16 x2, y2; u16 uv2, p2; s16 x3, y3; u16 uv3, p3; } PFT4_C59C; diff --git a/src/ov_SC03_013/ov_SC03_013_jr_8017C730.c b/src/ov_SC03_013/ov_SC03_013_jr_8017C730.c index 5fc3f43998..ab369f1be7 100644 --- a/src/ov_SC03_013/ov_SC03_013_jr_8017C730.c +++ b/src/ov_SC03_013/ov_SC03_013_jr_8017C730.c @@ -2857,10 +2857,6 @@ void func_8017DAAC(void) { } -typedef struct { - s32 unk00; - s32 unk04; -} Struct_80184C18; extern Struct_80184C18 D_80184C18[]; extern s32 func_80171CC4(void *a0, void *a1); @@ -3518,12 +3514,6 @@ s32 func_8017EA08(void *a0) { #include "common.h" -typedef struct { - /* 0x0 */ s16 x; - /* 0x2 */ s16 y; - /* 0x4 */ s16 z; - /* 0x6 */ s16 w; -} Vec4h_8017EAB0; extern s32 func_8017EE28(s32 a0, s32 a1, s32 a2); extern s8 D_80184CCC[]; diff --git a/src/ov_SC03_013/ov_SC03_013_jr_8017FAA8.c b/src/ov_SC03_013/ov_SC03_013_jr_8017FAA8.c index 05d815e4d4..97e73b4076 100644 --- a/src/ov_SC03_013/ov_SC03_013_jr_8017FAA8.c +++ b/src/ov_SC03_013/ov_SC03_013_jr_8017FAA8.c @@ -9,16 +9,6 @@ typedef struct { u8 pad[7]; /* -> 0x40 */ } Prim_8016E7C8; typedef void (*Handler)(struct Entry_8016E95C *); -typedef struct { - s32 unk00; - s32 unk04; -} Struct_80184C18; -typedef struct { - /* 0x0 */ s16 x; - /* 0x2 */ s16 y; - /* 0x4 */ s16 z; - /* 0x6 */ s16 w; -} Vec4h_8017EAB0; extern void func_801458E0(void); extern s32 D_800AE6AC; extern s32 D_800AE6B0; @@ -2872,7 +2862,6 @@ extern void func_8001CA1C(s32 a0, s32 a1); extern void func_8012A828(s32 a0, void *a1); extern void func_8012C218(void *a0); -typedef struct { s16 x, y, z; } SV3_8017FAA8; void func_8017FAA8(s32 param_1) { s32 *ptr; @@ -3319,7 +3308,6 @@ void func_80180494(void *a0) } -typedef struct { u8 c[4]; } Blk4_80180518; extern Blk4_80180518 D_801AD358[1]; extern Blk4_80180518 D_801AD35C[1]; diff --git a/src/ov_SC03_013/ov_SC03_013_jr_801806F8.c b/src/ov_SC03_013/ov_SC03_013_jr_801806F8.c index fede8fb35c..8340a878d6 100644 --- a/src/ov_SC03_013/ov_SC03_013_jr_801806F8.c +++ b/src/ov_SC03_013/ov_SC03_013_jr_801806F8.c @@ -9,17 +9,6 @@ typedef struct { u8 pad[7]; /* -> 0x40 */ } Prim_8016E7C8; typedef void (*Handler)(struct Entry_8016E95C *); -typedef struct { - s32 unk00; - s32 unk04; -} Struct_80184C18; -typedef struct { - /* 0x0 */ s16 x; - /* 0x2 */ s16 y; - /* 0x4 */ s16 z; - /* 0x6 */ s16 w; -} Vec4h_8017EAB0; -typedef struct { u8 c[4]; } Blk4_80180518; extern void func_801458E0(void); extern s32 D_800AE6AC; extern s32 D_800AE6B0; diff --git a/src/ov_SC03_014/ov_SC03_014_jr_8017AE2C.c b/src/ov_SC03_014/ov_SC03_014_jr_8017AE2C.c index 180ae389f2..019cc36329 100644 --- a/src/ov_SC03_014/ov_SC03_014_jr_8017AE2C.c +++ b/src/ov_SC03_014/ov_SC03_014_jr_8017AE2C.c @@ -3891,7 +3891,6 @@ void func_8017CE54(void *a0) { * may DROP this local typedef and reuse the TU's own `B4` when banking into the host TU. */ -typedef struct { u8 d[4]; } Blk4_8017CE90; extern void func_801465C0(void); extern void func_8001CD04(void *a0, void *a1); @@ -4456,7 +4455,6 @@ extern s16 D_8011F9C8; extern void func_80174684(void *); extern void func_8017DB00(void *); -struct S8_8017DA98 { s16 m[4]; }; #include "../shared/ov/func_8017DA98.h" diff --git a/src/ov_SC03_014/ov_SC03_014_jr_801848E4.c b/src/ov_SC03_014/ov_SC03_014_jr_801848E4.c index 9a6e688066..a06e1e7ffb 100644 --- a/src/ov_SC03_014/ov_SC03_014_jr_801848E4.c +++ b/src/ov_SC03_014/ov_SC03_014_jr_801848E4.c @@ -3463,11 +3463,6 @@ extern SV4 D_80190478; extern SV4 D_801EAC70; extern SV4 D_801EAC78; -typedef struct { - s16 m[3][3]; - s16 pad; - s32 t[3]; -} MtxLocal; /* The target's stack frame (0xC8) is bigger than the visible locals below account * for on their own: two byte-ranges (sp+0x28..0x44 and sp+0x64..0x98) never surface @@ -3480,12 +3475,6 @@ typedef struct { * of each dead region getting its own independent 8-round (which cannot land on * mtx's true 0x44 start -- 0x44-0x20=0x24, not a multiple of 8). */ -typedef struct { - s16 a, b, c, d; /* sp+0x20 : func_80049CAC arg0 (SV4; only a,b,c written) */ - u8 _gap1[28]; /* sp+0x28..0x44 : never referenced by an instruction */ - MtxLocal mtx; /* sp+0x44 : MATRIX out, t[] at sp+0x58 */ - u8 _gap2[52]; /* sp+0x64..0x98 : never referenced by an instruction */ -} Frame1; void func_80185A0C(s32 arg0) { @@ -4282,9 +4271,6 @@ void func_80186C4C(s32 a0) { * extended by 0x18 (6 words) and tail20 moved to 0xc1370; it is a clean append, no reorder. */ -typedef struct { - u16 vx, vy, vz, pad; -} V8_801874C0; extern s32 func_8004787C(s32 a0); extern s32 func_8012CEB0(s32 a0, s32 a1, s32 a2); @@ -4672,14 +4658,6 @@ void func_80187EA8(s32 a0) { extern u8 D_800AF630[]; /* TU line 46, verbatim */ -typedef struct { s16 vx, vy, vz, pad; } SV_80187EE8; -typedef struct { u8 r, g, b, cd; } CV_80187EE8; -typedef struct { - SV_80187EE8 v[4]; /* +0x00 : sxy0..3 (v[0].vz doubles as the otz slot) */ - CV_80187EE8 rgb[4]; /* +0x20 */ - u32 code; /* +0x30 */ - u32 pad; /* +0x34 */ -} PKT_80187EE8; /* every macro is suffixed: this TU already #defines gte_SetRotMatrix (line 4315), * BELOW this function's splice point (3649), so an unsuffixed name would clash. */ @@ -5525,7 +5503,6 @@ s32 a0; - typedef struct { s32 a; s32 b[4]; } Ot_8018B23C_801863B8; extern int func_80178970(void); @@ -6207,7 +6184,6 @@ s32 aF8018A224(param_1) } -typedef struct { s16 x; u16 y; u16 z; s16 w; } Rec8_8018A31C; void func_8018A31C(s32 a0) { extern Rec8_8018A31C D_801E3990[]; s32 i = 0; diff --git a/src/ov_SC03_014/ov_SC03_014_o0c.c b/src/ov_SC03_014/ov_SC03_014_o0c.c index 069604bf7a..33b182b0f6 100644 --- a/src/ov_SC03_014/ov_SC03_014_o0c.c +++ b/src/ov_SC03_014/ov_SC03_014_o0c.c @@ -2834,28 +2834,7 @@ s32 func_80184028(void) { /* 16.16 fixed-point view: unkE0 is a 32-bit accumulator whose HIGH half is the s16 * unkE2 the rest of the function reads (little-endian overlay). */ -typedef struct { - /* 0x00 */ s16 unk00; - /* 0x02 */ s16 unk02; - /* 0x04 */ u8 pad04[0xD8]; - /* 0xDC */ s16 unkDC; - /* 0xDE */ s16 unkDE; - /* 0xE0 */ s32 unkE0; -} Ent58_fx; -typedef struct { - /* 0x00 */ s16 unk00; - /* 0x02 */ s16 unk02; - /* 0x04 */ u8 pad04[0xD8]; - /* 0xDC */ s16 unkDC; - /* 0xDE */ s16 unkDE; - /* 0xE0 */ s16 unkE0; - /* 0xE2 */ s16 unkE2; - /* 0xE4 */ s16 unkE4; - /* 0xE6 */ s16 unkE6; - /* 0xE8 */ s16 unkE8; - /* 0xEA */ s16 unkEA; -} Ent_80184058; extern s32 D_801EAFD0; extern s32 D_8018F858[]; diff --git a/src/ov_SC03_023/ov_SC03_023_jr_8017AE2C.c b/src/ov_SC03_023/ov_SC03_023_jr_8017AE2C.c index 82b6b0c7d9..02d863137e 100644 --- a/src/ov_SC03_023/ov_SC03_023_jr_8017AE2C.c +++ b/src/ov_SC03_023/ov_SC03_023_jr_8017AE2C.c @@ -3300,7 +3300,6 @@ void func_8017BE60(void *a0) { -typedef struct { s16 vx, vy, vz, pad; } SVEC_BEBC; extern s32 func_800491EC(void); extern void func_8017C294(u16 *a0, void *a1); @@ -3340,16 +3339,7 @@ extern void func_8017C530(s32 a0, s32 a1); * cell $t3 naturally once the bbox block allocates right. */ -typedef struct { u32 w0, w1, w2; } PrimC59C; -typedef struct { u8 *vtx; u32 f4; u32 xx, yy, zz; PrimC59C *prim, *end; } CellC59C; -typedef struct { s16 vx, vy; } DVEC2_C59C; -typedef struct { s16 vx, vy, vz, pad; } SVEC2_C59C; -typedef struct { s16 m[3][3]; s32 t[3]; } MTX_C59C; -typedef struct { u32 tag, rgbc; s16 x0, y0, x1, y1, x2, y2; } PF3_C59C; -typedef struct { u32 tag, rgbc; s16 x0, y0, x1, y1, x2, y2, x3, y3; } PF4_C59C; -typedef struct { u32 tag, rgbc; s16 x0, y0; u32 uvc0; s16 x1, y1; u32 uvp1; s16 x2, y2; u16 uv2, p2; } PFT3_C59C; -typedef struct { u32 tag, rgbc; s16 x0, y0; u32 uvc0; s16 x1, y1; u32 uvp1; s16 x2, y2; u16 uv2, p2; s16 x3, y3; u16 uv3, p3; } PFT4_C59C; @@ -4102,8 +4092,6 @@ extern void func_8017DBC4(int param_1, short *param_2); * scope; these local names exist ONLY to let this file compile standalone under match_one and carry * zero risk of colliding with the host's globals at integration time). Layout: m[3][3] (18B) + 2B * pad + t[3] s32 (12B) = 0x20; vx/vy/vz/pad s16 = 8B. */ -typedef struct { short m[3][3]; int t[3]; } MATRIX_8017DBC4; -typedef struct { short vx, vy, vz, pad; } SVECTOR_8017DBC4; extern int D_80126B58; extern short D_801829F4[]; diff --git a/src/ov_SC03_024/ov_SC03_024_jr_8017AE2C.c b/src/ov_SC03_024/ov_SC03_024_jr_8017AE2C.c index c77d790cbd..77d7334dd4 100644 --- a/src/ov_SC03_024/ov_SC03_024_jr_8017AE2C.c +++ b/src/ov_SC03_024/ov_SC03_024_jr_8017AE2C.c @@ -3896,7 +3896,6 @@ void func_8017CE54(void *a0) { * may DROP this local typedef and reuse the TU's own `B4` when banking into the host TU. */ -typedef struct { u8 d[4]; } Blk4_8017CE90_8017CE90; extern void func_801465C0(void); extern void func_8001CD04(void *a0, void *a1); @@ -4001,13 +4000,6 @@ void func_8017D0DC(void *a0) { #include "../shared/ov/func_8017D194__b55f2b3b.h" - typedef struct { s16 vx; u16 vy; s16 vz, pad; } SVec_8017D1E0; -typedef struct { - SVECTOR_8016E7C8 v[4]; /* 0x00 */ - s32 f0, f1, f2, f3, f4, f5; /* 0x20..0x37 */ - u8 f6; /* 0x38 */ - u8 pad[7]; /* -> 0x40 */ -} Prim_8016E7C8_8017D1E0; @@ -4396,7 +4388,6 @@ extern s16 D_8011F9C8; extern void func_80174684(void *); extern void func_8017DB00(void *a0); -struct S8_8017DA98 { s16 m[4]; }; #include "../shared/ov/func_8017DA98.h" diff --git a/src/ov_SC03_024/ov_SC03_024_jr_80183BF8.c b/src/ov_SC03_024/ov_SC03_024_jr_80183BF8.c index dbc59793e3..f052d3eac8 100644 --- a/src/ov_SC03_024/ov_SC03_024_jr_80183BF8.c +++ b/src/ov_SC03_024/ov_SC03_024_jr_80183BF8.c @@ -3606,7 +3606,6 @@ void func_80184B80(s32 param_1, s32 param_2) } -typedef struct { u8 b[0x6C]; } Blk6C_80184CB0; extern s32 func_8012C354(s32 a0, s32 a1); extern void func_8001C810(s32 a0, s32 a1); @@ -5158,10 +5157,6 @@ extern s32 D_80126B58; /* TU L4463/5371 (raw scalar, law 4) /* 16-byte-stride table; only the leading u16 field is read here. No prior declaration exists anywhere in src/, so the shape is free. */ -typedef struct { - u16 f0; - u8 pad[14]; -} Stride16_801BA59C; void func_801868C0(s32 a0) { @@ -5388,8 +5383,6 @@ void func_80186BE4(void *a0) { * fits, ruling that guess out). */ -typedef struct { s32 w[8]; } Mat32_80186C20; -typedef struct { s16 a, b, c, d; } SV4_80186C20; void func_80186C20(void *a0) { diff --git a/src/ov_SC03_028/ov_SC03_028_jr_8017AE2C.c b/src/ov_SC03_028/ov_SC03_028_jr_8017AE2C.c index 6768f6b610..0cc8f723d6 100644 --- a/src/ov_SC03_028/ov_SC03_028_jr_8017AE2C.c +++ b/src/ov_SC03_028/ov_SC03_028_jr_8017AE2C.c @@ -4503,13 +4503,11 @@ void func_8017D878(s32 a0) { } -typedef struct { s16 vx, vy; } DVEC2_C59C; -typedef struct { s16 vx, vy, vz, pad; } SVEC_BEBC; extern s32 func_800491EC(void); extern void func_8017DC90(u16 *a0, void *a1); diff --git a/src/ov_SC03_028/ov_SC03_028_jr_8017DF98.c b/src/ov_SC03_028/ov_SC03_028_jr_8017DF98.c index 45ad96eee8..8886f86db7 100644 --- a/src/ov_SC03_028/ov_SC03_028_jr_8017DF98.c +++ b/src/ov_SC03_028/ov_SC03_028_jr_8017DF98.c @@ -2747,16 +2747,7 @@ extern void func_8017DF2C(s32 a0, s32 a1); * cell $t3 naturally once the bbox block allocates right. */ -typedef struct { u32 w0, w1, w2; } PrimDF98; -typedef struct { u8 *vtx; u32 f4; u32 xx, yy, zz; PrimDF98 *prim, *end; } CellDF98; -typedef struct { s16 vx, vy; } DVEC2_DF98; -typedef struct { s16 vx, vy, vz, pad; } SVEC2_DF98; -typedef struct { s16 m[3][3]; s32 t[3]; } MTX_DF98; -typedef struct { u32 tag, rgbc; s16 x0, y0, x1, y1, x2, y2; } PF3_DF98; -typedef struct { u32 tag, rgbc; s16 x0, y0, x1, y1, x2, y2, x3, y3; } PF4_DF98; -typedef struct { u32 tag, rgbc; s16 x0, y0; u32 uvc0; s16 x1, y1; u32 uvp1; s16 x2, y2; u16 uv2, p2; } PFT3_DF98; -typedef struct { u32 tag, rgbc; s16 x0, y0; u32 uvc0; s16 x1, y1; u32 uvp1; s16 x2, y2; u16 uv2, p2; s16 x3, y3; u16 uv3, p3; } PFT4_DF98; @@ -3237,27 +3228,9 @@ void func_8017F094(void *a0) { extern s32 rand(void); -typedef struct { - u16 f0; - u16 f2; - u16 f4; - u16 f6; - u16 f8; - u16 fA; - s32 fC; - s32 f10; - s32 f14; - s32 f18; -} SubRec_801EB5C8; /* 0x1C */ + /* 0x1C */ -typedef struct { - u16 g0; - u16 g2; - s32 g4; - s32 g8; - s32 gC; - SubRec_801EB5C8 subs[16]; -} GroupRec_801EB5C8; /* 0x1D0 */ + /* 0x1D0 */ extern GroupRec_801EB5C8 D_801EB5C8[8]; @@ -3796,7 +3769,6 @@ extern s16 D_80126940; extern s16 D_80126942; extern s16 D_80126944; -typedef struct { u16 x, y, z, w; } __attribute__((aligned(2))) V; extern s32 func_8012E544(s32 a0); extern void func_80015978(s32 a0, s32 *a1); @@ -4393,7 +4365,6 @@ extern u8 D_801ADD34[]; extern u8 D_801AE08C[]; extern u8 D_801AE824[]; -typedef struct { s16 vx, vy, vz, pad; } SV_80181000; void func_80181000(s32 a0) { @@ -4629,7 +4600,6 @@ extern s32 rand(void); extern u16 D_80126B96; extern u8 D_801ADC24[]; -typedef struct { s16 vx, vy, vz, pad; } SV_8018150C; void func_8018150C(s32 a0) { s32 s1 = a0; @@ -4745,7 +4715,6 @@ extern s16 D_8018F978; extern s8 D_8018F980[]; extern s16 D_8018F988; -typedef struct { s16 vx, vy, vz, pad; } SV_80181850; void func_80181850(s32 a0) { SV_80181850 sp10; @@ -5135,7 +5104,6 @@ void func_8018222C(s32 a0) { * kept it live across the branch, and stole $a3 from the threshold const. */ -typedef struct { s16 vx, vy, vz, pad; } SV_80182494; extern s32 func_8012D5E4(s32 a0, s32 a1, s32 a2, s32 a3); extern void func_8012CBCC(s32 a0); @@ -5265,10 +5233,6 @@ extern s16 D_8018FA0C; extern s16 D_8018FA0E; extern s16 D_8018FA10; -typedef struct { - u8 pad_0[0xCC]; - void *arr[4]; -} D_801EC450_t; extern s32 D_801EC450; void func_80182780(s32 a0) { diff --git a/src/ov_SC03_028/ov_SC03_028_jr_80183A74.c b/src/ov_SC03_028/ov_SC03_028_jr_80183A74.c index 8ecddc3f33..09032e086a 100644 --- a/src/ov_SC03_028/ov_SC03_028_jr_80183A74.c +++ b/src/ov_SC03_028/ov_SC03_028_jr_80183A74.c @@ -9,41 +9,8 @@ typedef struct { u8 pad[7]; /* -> 0x40 */ } Prim_8016E7C8; typedef void (*Handler)(struct Entry_8016E95C *); -typedef struct { u32 w0, w1, w2; } PrimDF98; -typedef struct { u8 *vtx; u32 f4; u32 xx, yy, zz; PrimDF98 *prim, *end; } CellDF98; -typedef struct { s16 vx, vy; } DVEC2_DF98; -typedef struct { s16 vx, vy, vz, pad; } SVEC2_DF98; -typedef struct { s16 m[3][3]; s32 t[3]; } MTX_DF98; -typedef struct { u32 tag, rgbc; s16 x0, y0, x1, y1, x2, y2; } PF3_DF98; -typedef struct { u32 tag, rgbc; s16 x0, y0, x1, y1, x2, y2, x3, y3; } PF4_DF98; -typedef struct { u32 tag, rgbc; s16 x0, y0; u32 uvc0; s16 x1, y1; u32 uvp1; s16 x2, y2; u16 uv2, p2; } PFT3_DF98; -typedef struct { u32 tag, rgbc; s16 x0, y0; u32 uvc0; s16 x1, y1; u32 uvp1; s16 x2, y2; u16 uv2, p2; s16 x3, y3; u16 uv3, p3; } PFT4_DF98; -typedef struct { - u16 f0; - u16 f2; - u16 f4; - u16 f6; - u16 f8; - u16 fA; - s32 fC; - s32 f10; - s32 f14; - s32 f18; -} SubRec_801EB5C8; /* 0x1C */ -typedef struct { - u16 g0; - u16 g2; - s32 g4; - s32 g8; - s32 gC; - SubRec_801EB5C8 subs[16]; -} GroupRec_801EB5C8; /* 0x1D0 */ -typedef struct { u16 x, y, z, w; } __attribute__((aligned(2))) V; -typedef struct { s16 vx, vy, vz, pad; } SV_80182494; -typedef struct { - u8 pad_0[0xCC]; - void *arr[4]; -} D_801EC450_t; + /* 0x1C */ + /* 0x1D0 */ extern void func_801458E0(void); extern s32 D_800AE6AC; extern s32 D_800AE6B0; diff --git a/src/ov_SC03_028/ov_SC03_028_jr_801847E8.c b/src/ov_SC03_028/ov_SC03_028_jr_801847E8.c index a510092f83..3ef8170a72 100644 --- a/src/ov_SC03_028/ov_SC03_028_jr_801847E8.c +++ b/src/ov_SC03_028/ov_SC03_028_jr_801847E8.c @@ -9,41 +9,8 @@ typedef struct { u8 pad[7]; /* -> 0x40 */ } Prim_8016E7C8; typedef void (*Handler)(struct Entry_8016E95C *); -typedef struct { u32 w0, w1, w2; } PrimDF98; -typedef struct { u8 *vtx; u32 f4; u32 xx, yy, zz; PrimDF98 *prim, *end; } CellDF98; -typedef struct { s16 vx, vy; } DVEC2_DF98; -typedef struct { s16 vx, vy, vz, pad; } SVEC2_DF98; -typedef struct { s16 m[3][3]; s32 t[3]; } MTX_DF98; -typedef struct { u32 tag, rgbc; s16 x0, y0, x1, y1, x2, y2; } PF3_DF98; -typedef struct { u32 tag, rgbc; s16 x0, y0, x1, y1, x2, y2, x3, y3; } PF4_DF98; -typedef struct { u32 tag, rgbc; s16 x0, y0; u32 uvc0; s16 x1, y1; u32 uvp1; s16 x2, y2; u16 uv2, p2; } PFT3_DF98; -typedef struct { u32 tag, rgbc; s16 x0, y0; u32 uvc0; s16 x1, y1; u32 uvp1; s16 x2, y2; u16 uv2, p2; s16 x3, y3; u16 uv3, p3; } PFT4_DF98; -typedef struct { - u16 f0; - u16 f2; - u16 f4; - u16 f6; - u16 f8; - u16 fA; - s32 fC; - s32 f10; - s32 f14; - s32 f18; -} SubRec_801EB5C8; /* 0x1C */ -typedef struct { - u16 g0; - u16 g2; - s32 g4; - s32 g8; - s32 gC; - SubRec_801EB5C8 subs[16]; -} GroupRec_801EB5C8; /* 0x1D0 */ -typedef struct { u16 x, y, z, w; } __attribute__((aligned(2))) V; -typedef struct { s16 vx, vy, vz, pad; } SV_80182494; -typedef struct { - u8 pad_0[0xCC]; - void *arr[4]; -} D_801EC450_t; + /* 0x1C */ + /* 0x1D0 */ extern void func_801458E0(void); extern s32 D_800AE6AC; extern s32 D_800AE6B0; diff --git a/src/ov_SC03_028/ov_SC03_028_jr_80184914.c b/src/ov_SC03_028/ov_SC03_028_jr_80184914.c index 22e3c12ebc..ea200df22b 100644 --- a/src/ov_SC03_028/ov_SC03_028_jr_80184914.c +++ b/src/ov_SC03_028/ov_SC03_028_jr_80184914.c @@ -9,41 +9,8 @@ typedef struct { u8 pad[7]; /* -> 0x40 */ } Prim_8016E7C8; typedef void (*Handler)(struct Entry_8016E95C *); -typedef struct { u32 w0, w1, w2; } PrimDF98; -typedef struct { u8 *vtx; u32 f4; u32 xx, yy, zz; PrimDF98 *prim, *end; } CellDF98; -typedef struct { s16 vx, vy; } DVEC2_DF98; -typedef struct { s16 vx, vy, vz, pad; } SVEC2_DF98; -typedef struct { s16 m[3][3]; s32 t[3]; } MTX_DF98; -typedef struct { u32 tag, rgbc; s16 x0, y0, x1, y1, x2, y2; } PF3_DF98; -typedef struct { u32 tag, rgbc; s16 x0, y0, x1, y1, x2, y2, x3, y3; } PF4_DF98; -typedef struct { u32 tag, rgbc; s16 x0, y0; u32 uvc0; s16 x1, y1; u32 uvp1; s16 x2, y2; u16 uv2, p2; } PFT3_DF98; -typedef struct { u32 tag, rgbc; s16 x0, y0; u32 uvc0; s16 x1, y1; u32 uvp1; s16 x2, y2; u16 uv2, p2; s16 x3, y3; u16 uv3, p3; } PFT4_DF98; -typedef struct { - u16 f0; - u16 f2; - u16 f4; - u16 f6; - u16 f8; - u16 fA; - s32 fC; - s32 f10; - s32 f14; - s32 f18; -} SubRec_801EB5C8; /* 0x1C */ -typedef struct { - u16 g0; - u16 g2; - s32 g4; - s32 g8; - s32 gC; - SubRec_801EB5C8 subs[16]; -} GroupRec_801EB5C8; /* 0x1D0 */ -typedef struct { u16 x, y, z, w; } __attribute__((aligned(2))) V; -typedef struct { s16 vx, vy, vz, pad; } SV_80182494; -typedef struct { - u8 pad_0[0xCC]; - void *arr[4]; -} D_801EC450_t; + /* 0x1C */ + /* 0x1D0 */ extern void func_801458E0(void); extern s32 D_800AE6AC; extern s32 D_800AE6B0; diff --git a/src/ov_SC03_028/ov_SC03_028_jr_80185864.c b/src/ov_SC03_028/ov_SC03_028_jr_80185864.c index 8cc6b25098..7185f0d9eb 100644 --- a/src/ov_SC03_028/ov_SC03_028_jr_80185864.c +++ b/src/ov_SC03_028/ov_SC03_028_jr_80185864.c @@ -9,41 +9,8 @@ typedef struct { u8 pad[7]; /* -> 0x40 */ } Prim_8016E7C8; typedef void (*Handler)(struct Entry_8016E95C *); -typedef struct { u32 w0, w1, w2; } PrimDF98; -typedef struct { u8 *vtx; u32 f4; u32 xx, yy, zz; PrimDF98 *prim, *end; } CellDF98; -typedef struct { s16 vx, vy; } DVEC2_DF98; -typedef struct { s16 vx, vy, vz, pad; } SVEC2_DF98; -typedef struct { s16 m[3][3]; s32 t[3]; } MTX_DF98; -typedef struct { u32 tag, rgbc; s16 x0, y0, x1, y1, x2, y2; } PF3_DF98; -typedef struct { u32 tag, rgbc; s16 x0, y0, x1, y1, x2, y2, x3, y3; } PF4_DF98; -typedef struct { u32 tag, rgbc; s16 x0, y0; u32 uvc0; s16 x1, y1; u32 uvp1; s16 x2, y2; u16 uv2, p2; } PFT3_DF98; -typedef struct { u32 tag, rgbc; s16 x0, y0; u32 uvc0; s16 x1, y1; u32 uvp1; s16 x2, y2; u16 uv2, p2; s16 x3, y3; u16 uv3, p3; } PFT4_DF98; -typedef struct { - u16 f0; - u16 f2; - u16 f4; - u16 f6; - u16 f8; - u16 fA; - s32 fC; - s32 f10; - s32 f14; - s32 f18; -} SubRec_801EB5C8; /* 0x1C */ -typedef struct { - u16 g0; - u16 g2; - s32 g4; - s32 g8; - s32 gC; - SubRec_801EB5C8 subs[16]; -} GroupRec_801EB5C8; /* 0x1D0 */ -typedef struct { u16 x, y, z, w; } __attribute__((aligned(2))) V; -typedef struct { s16 vx, vy, vz, pad; } SV_80182494; -typedef struct { - u8 pad_0[0xCC]; - void *arr[4]; -} D_801EC450_t; + /* 0x1C */ + /* 0x1D0 */ extern void func_801458E0(void); extern s32 D_800AE6AC; extern s32 D_800AE6B0; diff --git a/src/ov_SC03_028/ov_SC03_028_jr_80185C14.c b/src/ov_SC03_028/ov_SC03_028_jr_80185C14.c index 60a90304c4..8c28cf3486 100644 --- a/src/ov_SC03_028/ov_SC03_028_jr_80185C14.c +++ b/src/ov_SC03_028/ov_SC03_028_jr_80185C14.c @@ -9,41 +9,8 @@ typedef struct { u8 pad[7]; /* -> 0x40 */ } Prim_8016E7C8; typedef void (*Handler)(struct Entry_8016E95C *); -typedef struct { u32 w0, w1, w2; } PrimDF98; -typedef struct { u8 *vtx; u32 f4; u32 xx, yy, zz; PrimDF98 *prim, *end; } CellDF98; -typedef struct { s16 vx, vy; } DVEC2_DF98; -typedef struct { s16 vx, vy, vz, pad; } SVEC2_DF98; -typedef struct { s16 m[3][3]; s32 t[3]; } MTX_DF98; -typedef struct { u32 tag, rgbc; s16 x0, y0, x1, y1, x2, y2; } PF3_DF98; -typedef struct { u32 tag, rgbc; s16 x0, y0, x1, y1, x2, y2, x3, y3; } PF4_DF98; -typedef struct { u32 tag, rgbc; s16 x0, y0; u32 uvc0; s16 x1, y1; u32 uvp1; s16 x2, y2; u16 uv2, p2; } PFT3_DF98; -typedef struct { u32 tag, rgbc; s16 x0, y0; u32 uvc0; s16 x1, y1; u32 uvp1; s16 x2, y2; u16 uv2, p2; s16 x3, y3; u16 uv3, p3; } PFT4_DF98; -typedef struct { - u16 f0; - u16 f2; - u16 f4; - u16 f6; - u16 f8; - u16 fA; - s32 fC; - s32 f10; - s32 f14; - s32 f18; -} SubRec_801EB5C8; /* 0x1C */ -typedef struct { - u16 g0; - u16 g2; - s32 g4; - s32 g8; - s32 gC; - SubRec_801EB5C8 subs[16]; -} GroupRec_801EB5C8; /* 0x1D0 */ -typedef struct { u16 x, y, z, w; } __attribute__((aligned(2))) V; -typedef struct { s16 vx, vy, vz, pad; } SV_80182494; -typedef struct { - u8 pad_0[0xCC]; - void *arr[4]; -} D_801EC450_t; + /* 0x1C */ + /* 0x1D0 */ extern void func_801458E0(void); extern s32 D_800AE6AC; extern s32 D_800AE6B0; @@ -4416,11 +4383,6 @@ void func_80187AB0(void *a0) { #include "common.h" -typedef struct { - u8 pad[8]; /* 0x00 */ - u16 f8; /* 0x08 */ - u16 fa; /* 0x0a */ -} MatEntry_80187B04; extern MatEntry D_80190078[]; extern void ApplyMatrixSV(void *a0, void *a1, void *a2); diff --git a/src/ov_SC03_028/ov_SC03_028_jr_801887A8.c b/src/ov_SC03_028/ov_SC03_028_jr_801887A8.c index 6ba033f93f..4fdc852a10 100644 --- a/src/ov_SC03_028/ov_SC03_028_jr_801887A8.c +++ b/src/ov_SC03_028/ov_SC03_028_jr_801887A8.c @@ -9,46 +9,8 @@ typedef struct { u8 pad[7]; /* -> 0x40 */ } Prim_8016E7C8; typedef void (*Handler)(struct Entry_8016E95C *); -typedef struct { u32 w0, w1, w2; } PrimDF98; -typedef struct { u8 *vtx; u32 f4; u32 xx, yy, zz; PrimDF98 *prim, *end; } CellDF98; -typedef struct { s16 vx, vy; } DVEC2_DF98; -typedef struct { s16 vx, vy, vz, pad; } SVEC2_DF98; -typedef struct { s16 m[3][3]; s32 t[3]; } MTX_DF98; -typedef struct { u32 tag, rgbc; s16 x0, y0, x1, y1, x2, y2; } PF3_DF98; -typedef struct { u32 tag, rgbc; s16 x0, y0, x1, y1, x2, y2, x3, y3; } PF4_DF98; -typedef struct { u32 tag, rgbc; s16 x0, y0; u32 uvc0; s16 x1, y1; u32 uvp1; s16 x2, y2; u16 uv2, p2; } PFT3_DF98; -typedef struct { u32 tag, rgbc; s16 x0, y0; u32 uvc0; s16 x1, y1; u32 uvp1; s16 x2, y2; u16 uv2, p2; s16 x3, y3; u16 uv3, p3; } PFT4_DF98; -typedef struct { - u16 f0; - u16 f2; - u16 f4; - u16 f6; - u16 f8; - u16 fA; - s32 fC; - s32 f10; - s32 f14; - s32 f18; -} SubRec_801EB5C8; /* 0x1C */ -typedef struct { - u16 g0; - u16 g2; - s32 g4; - s32 g8; - s32 gC; - SubRec_801EB5C8 subs[16]; -} GroupRec_801EB5C8; /* 0x1D0 */ -typedef struct { u16 x, y, z, w; } __attribute__((aligned(2))) V; -typedef struct { s16 vx, vy, vz, pad; } SV_80182494; -typedef struct { - u8 pad_0[0xCC]; - void *arr[4]; -} D_801EC450_t; -typedef struct { - u8 pad[8]; /* 0x00 */ - u16 f8; /* 0x08 */ - u16 fa; /* 0x0a */ -} MatEntry_80187B04; + /* 0x1C */ + /* 0x1D0 */ extern void func_801458E0(void); extern s32 D_800AE6AC; extern s32 D_800AE6B0; @@ -4157,16 +4119,6 @@ void func_80189F7C(void *a0) } -typedef struct { - u8 pad00[2]; /* 0x00 */ - s16 unk2; /* 0x02 */ - u8 pad04[2]; /* 0x04 */ - s16 unk6; /* 0x06 */ - u8 pad08[0x14];/* 0x08 */ - s32 unk1C; /* 0x1C */ - u8 pad20[0xDC];/* 0x20 */ - u16 unkFC; /* 0xFC */ -} Struct_8018A078; extern s32 D_801909A4[]; extern void func_800183E0(s32 a0); @@ -4983,25 +4935,9 @@ void func_8018B310(s32 *a0) { /* Local layout for the sub-struct at *(a0+0x20). Only the two BAM-style * fields this function touches are named; sizes come from the load/store * widths seen in the target .s (lhu/lh/sh at +0x10 and +0x12). */ -typedef struct SubEnt8018B390 { - u8 pad0[0x10]; - s16 unk10; /* +0x10 */ - s16 unk12; /* +0x12 */ -} SubEnt8018B390; /* Local layout for the a0 struct. Only the offsets this function touches * are named (0x20 ptr, 0x34 s32, 0xB8/0xBA u16 pair, 0x234 s32). */ -typedef struct Ent8018B390 { - u8 pad0[0x20]; - SubEnt8018B390 *unk20; /* +0x20 */ - u8 pad24[0x34 - 0x24]; - s32 unk34; /* +0x34 */ - u8 pad38[0xB8 - 0x38]; - u16 unkB8; /* +0xB8 */ - u16 unkBA; /* +0xBA */ - u8 padBC[0x234 - 0xBC]; - s32 unk234; /* +0x234 */ -} Ent8018B390; extern void func_80149020(s32 *a0); extern void func_80148038(s32 a0, s32 a1); diff --git a/src/ov_SC03_029/ov_SC03_029_jr_8017DC70.c b/src/ov_SC03_029/ov_SC03_029_jr_8017DC70.c index d7d56f0263..fbacb1d208 100644 --- a/src/ov_SC03_029/ov_SC03_029_jr_8017DC70.c +++ b/src/ov_SC03_029/ov_SC03_029_jr_8017DC70.c @@ -3498,9 +3498,6 @@ extern s16 D_8012697A; extern s16 D_80126940; extern s16 D_801274E8; -struct UShortBlk_F4C4 { - s16 x0, x1, x2, x3; -}; void func_8017F4C4(void) { D_80126954 = 0x190; @@ -3533,9 +3530,6 @@ extern s16 D_8012697A; extern s16 D_80126940; extern s16 D_801274E8; -typedef struct { - s16 x0, x1, x2, x3; -} UnalignedShortBlock; void func_8017F590(void) { D_80126954 = 0x190; @@ -3594,9 +3588,6 @@ void func_8017F724(void *a0) { #include "common.h" -typedef struct { - s16 x0, x1, x2, x3; -} UShortBlk_F760; extern s16 D_801D8028; extern s32 D_80126B58; diff --git a/src/ov_SC03_029/ov_SC03_029_jr_8017FF7C.c b/src/ov_SC03_029/ov_SC03_029_jr_8017FF7C.c index 85d7f57284..7f9382a6dc 100644 --- a/src/ov_SC03_029/ov_SC03_029_jr_8017FF7C.c +++ b/src/ov_SC03_029/ov_SC03_029_jr_8017FF7C.c @@ -9,12 +9,6 @@ typedef struct { u8 pad[7]; /* -> 0x40 */ } Prim_8016E7C8; typedef void (*Handler)(struct Entry_8016E95C *); -struct UShortBlk_F4C4 { - s16 x0, x1, x2, x3; -}; -typedef struct { - s16 x0, x1, x2, x3; -} UnalignedShortBlock; extern void func_801458E0(void); extern s32 D_800AE6AC; extern s32 D_800AE6B0; @@ -3774,10 +3768,6 @@ extern u16 D_800B99DA; /* Packed struct to trigger lwl/lwr unaligned block copy (same idiom as the * banked twin ov_SC02_011:func_8018754C's BlockData). */ -typedef struct { - u32 w0; - u32 w1; -} __attribute__((packed, aligned(1))) Block8_80181600; extern Block8_80181600 D_801D80B0; @@ -4468,11 +4458,6 @@ extern s32 D_8018BCCC[]; * table read and the write into a0+0xFC (matching the target even though * a0+0xFC is actually 4-aligned at runtime -- codegen goes off the type's * declared alignment, not the runtime address; cookbook §48-C2). */ -struct Rec80182744_s { - s32 f0; - s32 f1; - s32 f2; -} __attribute__((packed, aligned(1))); extern Rec80182744 D_8018BCD8[]; @@ -4747,7 +4732,6 @@ void func_80182CA4(s32 param_1) { #include "common.h" -typedef struct { s32 w[8]; } Blk20_80182D70; extern s32 func_8004787C(s32 a0); extern s32 func_80047948(s32 a0); @@ -5525,7 +5509,6 @@ void func_80183C7C(void *a0) { -typedef struct { s16 a, b, c; } SV3_80184C98; /* func_80183CC4 — ov_SC02_011 (TU: src/ov_SC02_011/ov_SC02_011_jr_8017AE2C.c) * @@ -5702,7 +5685,6 @@ u8 *func_80183F70(s32 a0, s32 a1, s32 a2) { * match_one's isolated compile only has -Iinclude and cannot resolve * ../shared/engine_types.h; the host TU already has Blk20 via engine_core.h. * When banking, prefer `extern Blk20 D_800AE620;` + `Blk20 m;`. */ -struct Mtx32_80184008 { s32 w[8]; }; extern void func_8012B23C(s32 a0); extern s32 func_80184520(s32 a0); @@ -6057,8 +6039,6 @@ void func_80184658(void *a0) { * @6592); D_80078EAE is block-scoped (house style: func_801862B8). * - VecL_80184694 is 12 bytes (libgpu VECTOR layout: 3 longs); the asm * stores words (sw zero,0x30/0x34, sw v0,0x38) and never touches a pad. */ -typedef struct { s32 w[8]; } Blk20_80184694; -typedef struct { s32 vx, vy, vz; } VecL_80184694; extern u8 D_80078EAE; extern void RotMatrixY(s32 a0, void *a1); @@ -6497,19 +6477,12 @@ extern s32 func_80047948(s32 a0); extern void func_80049CAC(s32 a0, s32 a1); extern void func_8012B414(int a0); extern void func_8012C218(void *a0); - typedef struct { s16 vx; u16 vy; s16 vz, pad; } SVec_8017F67C_80184FF0; -typedef struct { u8 d[4]; } Blk4_8017CE90_8017F32C_80184FF0; -typedef struct { s16 vx, vy, vz, pad; } SVec8_8018E8A0_80184FF0; /* 0x08 */ -typedef struct { s32 vx, vy, vz, pad; } Vec16_8018E8A0_80184FF0; /* 0x10 */ -typedef struct { s16 m[3][3]; s16 pad; s32 t[3]; } Mtx_8018E8A0_80184FF0; /* 0x20 */ + /* 0x08 */ + /* 0x10 */ + /* 0x20 */ typedef struct { s16 f[0x86]; } Cnt_8018E8A0_80184FF0; -typedef struct { - SVec8_8018E8A0_80184FF0 v[4]; /* 0x00 */ - u32 c[4]; /* 0x20 */ - s32 code; /* 0x30 */ - s32 pad; /* 0x34 */ -} Prim_8018E8A0_80184FF0; /* 0x38 */ + /* 0x38 */ void func_80184FF0(void *a0) { diff --git a/src/ov_SC03_029/ov_SC03_029_jr_80186A34.c b/src/ov_SC03_029/ov_SC03_029_jr_80186A34.c index 16f8b2dd88..cd45a04977 100644 --- a/src/ov_SC03_029/ov_SC03_029_jr_80186A34.c +++ b/src/ov_SC03_029/ov_SC03_029_jr_80186A34.c @@ -9,37 +9,11 @@ typedef struct { u8 pad[7]; /* -> 0x40 */ } Prim_8016E7C8; typedef void (*Handler)(struct Entry_8016E95C *); -struct UShortBlk_F4C4 { - s16 x0, x1, x2, x3; -}; -typedef struct { - s16 x0, x1, x2, x3; -} UnalignedShortBlock; -typedef struct { - u32 w0; - u32 w1; -} __attribute__((packed, aligned(1))) Block8_80181600; -struct Rec80182744_s { - s32 f0; - s32 f1; - s32 f2; -} __attribute__((packed, aligned(1))); -typedef struct { s32 w[8]; } Blk20_80182D70; -typedef struct { s16 a, b, c; } SV3_80184C98; -struct Mtx32_80184008 { s32 w[8]; }; -typedef struct { s32 w[8]; } Blk20_80184694; -typedef struct { s32 vx, vy, vz; } VecL_80184694; -typedef struct { u8 d[4]; } Blk4_8017CE90_8017F32C_80184FF0; -typedef struct { s16 vx, vy, vz, pad; } SVec8_8018E8A0_80184FF0; /* 0x08 */ -typedef struct { s32 vx, vy, vz, pad; } Vec16_8018E8A0_80184FF0; /* 0x10 */ -typedef struct { s16 m[3][3]; s16 pad; s32 t[3]; } Mtx_8018E8A0_80184FF0; /* 0x20 */ + /* 0x08 */ + /* 0x10 */ + /* 0x20 */ typedef Unkstruct_800B5CB8 Cnt_8018E8A0_80184FF0; -typedef struct { - SVec8_8018E8A0_80184FF0 v[4]; /* 0x00 */ - u32 c[4]; /* 0x20 */ - s32 code; /* 0x30 */ - s32 pad; /* 0x34 */ -} Prim_8018E8A0_80184FF0; /* 0x38 */ + /* 0x38 */ extern void func_801458E0(void); extern s32 D_800AE6AC; extern s32 D_800AE6B0; @@ -3169,7 +3143,6 @@ extern s32 D_801C92DC; extern void func_80186758(s32 a0); -typedef struct { s32 w[8]; } Mtx32_80186A34; extern void func_8012A828(s32 a0, void *a1); extern void func_8012B2CC(s32 a0); @@ -3519,14 +3492,11 @@ s32 func_801870B8(s32 a0) { } - typedef struct { s16 vx; u16 vy; s16 vz, pad; } SVec_8017F67C_801869CC; /* match_one's standalone common.h does not reach src/shared/engine_types.h, where the * real TU's Blk20 { s32 w[8]; } and Vec32 { s32 vx, vy, vz, pad; } live. Local copies here; * integrator may drop these and reuse the TU's own (engine_types.h:472, :1098). */ -typedef struct { s32 w[8]; } Blk20_80188AF4; -typedef struct { s32 vx, vy, vz, pad; } Vec32_80188AF4; s32 func_80187118(s32 a0, s32 a1) { diff --git a/src/ov_SC03_030/ov_SC03_030_jr_8017AE2C.c b/src/ov_SC03_030/ov_SC03_030_jr_8017AE2C.c index 5d1590c9a7..5edd9737b7 100644 --- a/src/ov_SC03_030/ov_SC03_030_jr_8017AE2C.c +++ b/src/ov_SC03_030/ov_SC03_030_jr_8017AE2C.c @@ -3420,13 +3420,11 @@ void func_8017C18C(s32 a0) { #include "../shared/ov/func_8017C230.h" -typedef struct { s16 vx, vy; } DVEC2_C59C; -typedef struct { s16 vx, vy, vz, pad; } SVEC_BEBC; extern s32 func_800491EC(void); extern void func_8017C66C(u16 *a0, void *a1); @@ -3468,16 +3466,7 @@ extern void func_8017C908(s32 a0, s32 a1); * cell $t3 naturally once the bbox block allocates right. */ -typedef struct { u32 w0, w1, w2; } PrimC974; -typedef struct { u8 *vtx; u32 f4; u32 xx, yy, zz; PrimC974 *prim, *end; } CellC974; -typedef struct { s16 vx, vy; } DVEC2_C974; -typedef struct { s16 vx, vy, vz, pad; } SVEC2_C974; -typedef struct { s16 m[3][3]; s32 t[3]; } MTX_C974; -typedef struct { u32 tag, rgbc; s16 x0, y0, x1, y1, x2, y2; } PF3_C974; -typedef struct { u32 tag, rgbc; s16 x0, y0, x1, y1, x2, y2, x3, y3; } PF4_C974; -typedef struct { u32 tag, rgbc; s16 x0, y0; u32 uvc0; s16 x1, y1; u32 uvp1; s16 x2, y2; u16 uv2, p2; } PFT3_C974; -typedef struct { u32 tag, rgbc; s16 x0, y0; u32 uvc0; s16 x1, y1; u32 uvp1; s16 x2, y2; u16 uv2, p2; s16 x3, y3; u16 uv3, p3; } PFT4_C974; @@ -3988,7 +3977,6 @@ void func_8017DA9C(s32 a0) { } -typedef struct { u8 b[8]; } Blk8_8017DAFC; extern Blk8_8017DAFC D_801E06BC; extern u8 D_801858EC; extern void func_80019064(void *a0); @@ -4549,7 +4537,6 @@ extern s32 D_801E0704[]; extern s32 D_801E0724[]; extern s32 D_801E0744[]; -typedef struct { s32 w[8]; } Copy32; void func_8017E7D4(void) { Copy32 b0; @@ -4726,7 +4713,6 @@ L_end: /* 8-byte, 2-byte-aligned blob: the plain struct assignment below is what emits the target's lwl/lwr + swl/swr block move (cookbook §48-C2 / §160a). */ -typedef struct { u16 unk0, unk2, unk4, unk6; } Blk8_801E0764; extern Blk8_801E0764 D_801E0764; extern u16 D_800B99DA; @@ -4780,7 +4766,6 @@ void func_8017EDD4(s32 a0) { #include "common.h" -typedef struct { u16 unk0, unk2, unk4, unk6; } Blk8_801E076C; extern Blk8_801E076C D_801E076C; extern s32 func_8012CBCC(s32 a0); @@ -5129,12 +5114,6 @@ void func_8017F6E0(int param_1) /* 4-byte colour record, alignment 1 -> struct assignment lowers to * lwl/lwr + swl/swr (§160a block move) */ -typedef struct { - u8 r; - u8 g; - u8 b; - u8 cd; -} Col4_8017F8BC; void func_8017F8BC(s32 a0) { Col4_8017F8BC col; @@ -5456,7 +5435,6 @@ extern Blk8 D_80126CAC; -typedef struct { s16 vx, vy, vz, pad; } SVec_80180054; s32 func_80180054(SVec_80180054 *p, s32 dist) { @@ -6016,7 +5994,6 @@ void func_80180DAC(void *a0) { } -typedef struct { s32 f0; s32 f1; } __attribute__((packed, aligned(1))) Bc8_80180E0C; extern void func_8012C1B8(void); extern void func_8012CAE4(void *a0); extern void func_8001C214(s32 a0, s32 a1); @@ -6347,7 +6324,6 @@ extern u8 D_801869E8[]; /* gte_Set{Rot,Trans}Matrix — same macro form already used in this TU (ov_SC03_028 twin func_801808CC). */ -typedef struct { s16 m[3][3]; s32 t[3]; } MTX_80181708; /* param type is void* to agree with the TU's own forward decls of this function * (lines 5041/5058: `extern void func_80181708(void *a0);`) — an s32-param def @@ -6376,8 +6352,6 @@ void func_80181708(void *param_1) } -typedef struct { short m[3][3]; long t[3]; } MTX_80181824; -typedef struct { short vx, vy, vz, pad; } SV_80181824; extern void func_80020DA4(s32 a0, s32 a1); @@ -6536,15 +6510,6 @@ s32 func_80181824(s32 param_1, s32 param_2) */ #include "common.h" -typedef struct { s16 vx, vy, vz, pad; } SVec_80181A60; -typedef struct { s32 a; s32 b[4]; } OtBlk_80181A60; -typedef struct { - u8 addr[3]; - u8 len; - u8 r0, g0, b0, code; - s16 x0, y0; - s16 x1, y1; -} LineF2_80181A60; /* PSY-Q GTE macros — same forms already used in this TU (func_80181708/func_80181824). */ diff --git a/src/ov_SC03_031/ov_SC03_031_jr_8017DB5C.c b/src/ov_SC03_031/ov_SC03_031_jr_8017DB5C.c index fec5488ea5..5370812a24 100644 --- a/src/ov_SC03_031/ov_SC03_031_jr_8017DB5C.c +++ b/src/ov_SC03_031/ov_SC03_031_jr_8017DB5C.c @@ -3282,8 +3282,6 @@ void func_8017EDF8(s32 param_1) { * therefore already has the real MATRIX/SVECTOR in scope; these local names exist ONLY to let this * file compile standalone under match_one and carry zero risk of colliding with the host's globals * at integration time). Layout: m[3][3] (18B) + 2B pad + t[3] s32 (12B) = 0x20; vx/vy/vz/pad s16 = 8B. */ -typedef struct { s16 m[3][3]; s32 t[3]; } MATRIX_8017D5C8_8017EE98; -typedef struct { s16 vx, vy, vz, pad; } SVECTOR_8017D5C8_8017EE98; extern u16 func_80148800(s32 *a0); extern s32 func_80012C6C(s32 a0, s32 a1, s32 a2); @@ -3479,7 +3477,6 @@ void func_8017F394(void *a0) { } -typedef struct { s16 x, y, z, p; } V3_F428; extern s32 func_80135888(s32 a0, s32 a1, s32 a2, s32 a3); extern void func_8012F568(s32, s32, s32, s32, s32, s32); @@ -4508,7 +4505,6 @@ void func_80180E98(s32 arg0) { } -typedef struct { s16 vx, vy, vz, pad; } SV_; extern s32 func_80133784(s32 a0, void *a1, s32 a2); extern void func_8012B23C(s32 a0); extern void func_80180FE4(s32 a0); diff --git a/src/ov_SC03_089/ov_SC03_089_jr_8017CA80.c b/src/ov_SC03_089/ov_SC03_089_jr_8017CA80.c index 5de0fe8de1..6a11fe0669 100644 --- a/src/ov_SC03_089/ov_SC03_089_jr_8017CA80.c +++ b/src/ov_SC03_089/ov_SC03_089_jr_8017CA80.c @@ -3830,7 +3830,6 @@ extern s32 D_80126B58; extern u16 func_80148800(s32 *a0); extern void func_80181BCC(s32 param_1, s16 *param_2); -typedef struct { s16 w[4]; } V4_801817E0; void func_801817E0(s32 param_1) { extern s16 D_8018D358[]; @@ -3850,7 +3849,6 @@ void func_801817E0(s32 param_1) { } -typedef struct { s16 w[4]; } V4_88; extern s32 D_80126B58; extern s32 *D_80126B78; @@ -3921,7 +3919,6 @@ extern s32 D_80126B58; extern u16 func_80148800(s32 *a0); extern void func_80181BCC(s32 param_1, s16 *param_2); -typedef struct { s16 w[4]; } V4_80181A68; void func_80181A68(s32 param_1) { extern s16 D_8018D360[]; @@ -3941,7 +3938,6 @@ void func_80181A68(s32 param_1) { } -typedef struct { s16 w[4]; } V4_80181B14; extern s32 D_80126B58; extern u16 func_80148800(s32 *a0); extern void func_80181BCC(s32 param_1, s16 *param_2); @@ -5328,8 +5324,6 @@ void func_80184138(s32 arg0) } -typedef struct { s16 a, b, c; } SV3x_80184B30_801841E8; -typedef struct { short m[3][3]; long t[3]; } MTX_801851A8_801839C4_801841E8; /* func_801841E8 — ov_SC03_090, 82 ins. * Banked twin (seed_ref): ov_SC02_035:func_801834BC (0.7356 sim) — same opening block @@ -5597,8 +5591,6 @@ void func_801844C8(s32 a0) { } -typedef struct { s16 a, b, c; } SV3x_80184B30_80184730; -typedef struct { short m[3][3]; long t[3]; } MTX_801851A8_801839C4_80184730; /* Declarations copied VERBATIM from the destination TU (src/ov_SC03_090/ov_SC03_090_jr_8017CA80.c) * where they are already established for the near-identical sibling func_801841A4's case 2 @@ -5684,8 +5676,6 @@ void func_80184880(s32 arg0) { } -typedef struct { s16 a, b, c; } SV3x_80184B30_801848AC; -typedef struct { short m[3][3]; long t[3]; } MTX_801851A8_801839C4_801848AC; /* Declarations conformed to this TU's existing canonical forms (§193-B law 2): * func_8012BEE8 ov_SC03_090_jr_8017CA80.c:5640 `extern s32 func_8012BEE8(s32 a0);` @@ -5840,7 +5830,6 @@ extern s32 func_8012D5E4(s32 a0, s32 a1, s32 a2, s32 a3); } -typedef struct { short m[3][3]; long t[3]; } MTX_801851A8_801839C4; extern s16 D_80126CBA; @@ -5982,8 +5971,6 @@ void func_80184D7C(s32 param_1) -typedef struct { s16 a, b, c; } SV3x_80184B30_80184E54; -typedef struct { s16 a, b, c, d; } SV4x_80184B30_80184E54; extern void func_8012B23C(void *a0); extern void func_80185144(s32 param_1); @@ -6026,10 +6013,6 @@ void func_80184E54(void *a0) } -typedef struct { - u32 field0; - u32 field1; -} __attribute__((packed, aligned(1))) Block8_80184F98; extern Block8_80184F98 D_801C53F8; /* Canonical shared engine-core spelling (return read via call-site cast, @@ -6139,10 +6122,6 @@ void func_8018517C(void* arg0) * stolen `lui $v1,0x7fff` in the slot — 7 wrong instructions. Pin-free. */ -typedef struct { short m[3][3]; long t[3]; } MTX_801851A8; -typedef struct { short vx, vy, vz, pad; } SV_801851A8; -typedef struct { long vx, vy, vz, pad; } LV_801851A8; -typedef struct { u8 d[8]; } __attribute__((packed, aligned(1))) B8_801851A8; extern void func_80049CAC(s32 a0, s32 a1); extern void func_8012F14C(s32 a0, s32 a1, s32 a2); @@ -6403,10 +6382,6 @@ void func_80185678(s32 ent) { } -typedef struct { s16 a, b, c; } SV3x_80184B30; -typedef struct { s32 vx, vy, vz; } V32_801875E4; -typedef struct { s16 a, b, c, d; } SV4x_80184B30; -typedef struct { short vx, vy, vz, pad; } SV_801851A8_801839C4; diff --git a/src/ov_SC03_089/ov_SC03_089_jr_80185E50.c b/src/ov_SC03_089/ov_SC03_089_jr_80185E50.c index f564a61251..69c06c71d6 100644 --- a/src/ov_SC03_089/ov_SC03_089_jr_80185E50.c +++ b/src/ov_SC03_089/ov_SC03_089_jr_80185E50.c @@ -9,10 +9,6 @@ typedef struct { u8 pad[7]; /* -> 0x40 */ } Prim_8016E7C8; typedef void (*Handler)(struct Entry_8016E95C *); -typedef struct { short m[3][3]; long t[3]; } MTX_801851A8; -typedef struct { short vx, vy, vz, pad; } SV_801851A8; -typedef struct { long vx, vy, vz, pad; } LV_801851A8; -typedef struct { u8 d[8]; } __attribute__((packed, aligned(1))) B8_801851A8; extern void func_801458E0(void); extern s32 D_800AE6AC; extern s32 D_800AE6B0; diff --git a/src/ov_SC03_089/ov_SC03_089_jr_80189168.c b/src/ov_SC03_089/ov_SC03_089_jr_80189168.c index a24168152a..c7586eeaf3 100644 --- a/src/ov_SC03_089/ov_SC03_089_jr_80189168.c +++ b/src/ov_SC03_089/ov_SC03_089_jr_80189168.c @@ -9,10 +9,6 @@ typedef struct { u8 pad[7]; /* -> 0x40 */ } Prim_8016E7C8; typedef void (*Handler)(struct Entry_8016E95C *); -typedef struct { short m[3][3]; long t[3]; } MTX_801851A8; -typedef struct { short vx, vy, vz, pad; } SV_801851A8; -typedef struct { long vx, vy, vz, pad; } LV_801851A8; -typedef struct { u8 d[8]; } __attribute__((packed, aligned(1))) B8_801851A8; extern void func_801458E0(void); extern s32 D_800AE6AC; extern s32 D_800AE6B0; @@ -2898,7 +2894,7 @@ extern void func_8018912C(void *a0); // body) using a locally-named struct type — block-scope externs don't collide with another // function's block-scope externs for the same symbol (§S38/D2). -typedef struct { s32 w[4]; } LBlk16; /* 16-byte record, block-scoped local name only */ + /* 16-byte record, block-scoped local name only */ void func_80189168(void *a0) { @@ -2986,7 +2982,6 @@ void func_8018935C(void *a0) { #include "common.h" -typedef struct { s32 w[4]; } B16_local; extern B16_local D_800A5EA8; extern B16_local D_801C3C98; diff --git a/src/ov_SC03_090/ov_SC03_090_jr_8017CA80.c b/src/ov_SC03_090/ov_SC03_090_jr_8017CA80.c index 141a7473b9..6009652076 100644 --- a/src/ov_SC03_090/ov_SC03_090_jr_8017CA80.c +++ b/src/ov_SC03_090/ov_SC03_090_jr_8017CA80.c @@ -5110,8 +5110,6 @@ void func_8018396C(s32 a0) { } -typedef struct { short vx, vy, vz, pad; } SV_801851A8_801839C4; -typedef struct { short m[3][3]; long t[3]; } MTX_801851A8_801839C4; extern void func_8013B7AC(s32 a0); extern s32 func_8012BD14(s32 a0); @@ -5447,7 +5445,6 @@ void func_801840C0(s32 a0) { } -typedef struct { short m[3][3]; long t[3]; } MTX_801851A8; /* func_801841A4 — ov_SC03_089 (ov_SC03_089_jr_8017CA80), 154 ins, jtbl_801C53E4 (5 entries, * minval 0 / maxval 4 — `lhu` + `sltiu 5`, so the switch expression is UNSIGNED and neither @@ -5952,8 +5949,6 @@ void func_80184A58(s32 param_1) #include "common.h" -typedef struct { s16 a, b, c; } SV3x_80184B30; -typedef struct { s16 a, b, c, d; } SV4x_80184B30; extern s32 D_801A3040; extern void func_8012B23C(void *a0); @@ -5999,10 +5994,6 @@ void func_80184B30(void *a0) /* Packed struct to trigger lwl/lwr unaligned block copy (same idiom as the * banked twin ov_SC02_011:func_8018754C's BlockData). */ -typedef struct { - u32 field0; - u32 field1; -} __attribute__((packed, aligned(1))) Block8_80184C74; extern Block8_80184C74 D_801CA864; /* Canonical shared engine-core spelling (return read via call-site cast, @@ -6114,10 +6105,6 @@ s32 arg0; * stolen `lui $v1,0x7fff` in the slot — 7 wrong instructions. Pin-free. */ -typedef struct { short m[3][3]; long t[3]; } MTX_801851A8_80184E84; -typedef struct { short vx, vy, vz, pad; } SV_801851A8_80184E84; -typedef struct { long vx, vy, vz, pad; } LV_801851A8_80184E84; -typedef struct { u8 d[8]; } __attribute__((packed, aligned(1))) B8_801851A8_80184E84; extern void func_80049CAC(s32 a0, s32 a1); extern void func_8012F14C(s32 a0, s32 a1, s32 a2); @@ -7253,13 +7240,6 @@ void func_80186874(s32 arg0, s32 arg1) { extern s32 func_8012CC88(s32 a0, s32 a1, s32 a2); -typedef struct { - s32 w[4]; -} Rec16_8017DDC4_80186944; -typedef struct { - u16 x, y, z; - s16 w; -} Rec8_8017DDC4_80186944; /* func_80186944 -- ov_SC02_026 / ov_SC02_026_jr_8017C180 * Same TU declares this at line 4712 (extern void func_80186944(s32 a0);) and @@ -7570,17 +7550,6 @@ void func_80186FF8(s32 arg0) { } -typedef struct { - s16 x; - s16 y; - s16 z; - s16 type; - u16 sub; - s16 pad1; - s16 flag; - s16 pad2; - s32 extra; -} Msg_80187050; extern void func_80187318(s32 a0); extern void func_801292C8(u8 *a0); @@ -7899,9 +7868,6 @@ void func_80187598(s32 a0) * (%hi+%lo -> $a1) / func_8012B70C x2 / func_80187D70 / func_80187CBC. */ -typedef struct { short vx, vy, vz, pad; } SV_801875E4; -typedef struct { short m[3][3]; long t[3]; } MTX_801875E4; -typedef struct { s32 vx, vy, vz; } V32_801875E4; extern void func_80187B44(s32 a0, s32 a1); extern void func_80187C64(s32 a0, s32 a1); @@ -8220,8 +8186,6 @@ s32 a1; } -typedef struct { short m[3][3]; long t[3]; } MTX_80187C64; -typedef struct { s32 vx, vy, vz; } V32_80187C64; extern void func_80049CAC(s32 a0, s32 a1); extern void func_800484EC(s32 a0, s32 a1, s32 a2); diff --git a/src/ov_SC03_090/ov_SC03_090_jr_80188274.c b/src/ov_SC03_090/ov_SC03_090_jr_80188274.c index 24c212e861..3b0c20f199 100644 --- a/src/ov_SC03_090/ov_SC03_090_jr_80188274.c +++ b/src/ov_SC03_090/ov_SC03_090_jr_80188274.c @@ -9,10 +9,6 @@ typedef struct { u8 pad[7]; /* -> 0x40 */ } Prim_8016E7C8; typedef void (*Handler)(struct Entry_8016E95C *); -typedef struct { short m[3][3]; long t[3]; } MTX_801851A8_80184E84; -typedef struct { short vx, vy, vz, pad; } SV_801851A8_80184E84; -typedef struct { long vx, vy, vz, pad; } LV_801851A8_80184E84; -typedef struct { u8 d[8]; } __attribute__((packed, aligned(1))) B8_801851A8_80184E84; extern void func_801458E0(void); extern s32 D_800AE6AC; extern s32 D_800AE6B0; diff --git a/src/ov_SC03_090/ov_SC03_090_jr_8018B58C.c b/src/ov_SC03_090/ov_SC03_090_jr_8018B58C.c index 3a2f90c1ed..f4e371929e 100644 --- a/src/ov_SC03_090/ov_SC03_090_jr_8018B58C.c +++ b/src/ov_SC03_090/ov_SC03_090_jr_8018B58C.c @@ -9,10 +9,6 @@ typedef struct { u8 pad[7]; /* -> 0x40 */ } Prim_8016E7C8; typedef void (*Handler)(struct Entry_8016E95C *); -typedef struct { short m[3][3]; long t[3]; } MTX_801851A8_80184E84; -typedef struct { short vx, vy, vz, pad; } SV_801851A8_80184E84; -typedef struct { long vx, vy, vz, pad; } LV_801851A8_80184E84; -typedef struct { u8 d[8]; } __attribute__((packed, aligned(1))) B8_801851A8_80184E84; extern void func_801458E0(void); extern s32 D_800AE6AC; extern s32 D_800AE6B0; @@ -2927,7 +2923,7 @@ extern void func_8018B550(void *a0); // body) using a locally-named struct type — block-scope externs don't collide with another // function's block-scope externs for the same symbol (§S38/D2). -typedef struct { s32 w[4]; } LBlk16; /* 16-byte record, block-scoped local name only */ + /* 16-byte record, block-scoped local name only */ void func_8018B58C(void *a0) { @@ -3015,7 +3011,6 @@ void func_8018B780(void *a0) { #include "common.h" -typedef struct { s32 w[4]; } B16_local; extern B16_local D_800A5EA8; extern B16_local D_801C9104; diff --git a/src/ov_SC03_091/ov_SC03_091_jr_8018326C.c b/src/ov_SC03_091/ov_SC03_091_jr_8018326C.c index 8e16f055fc..d7a8186a9d 100644 --- a/src/ov_SC03_091/ov_SC03_091_jr_8018326C.c +++ b/src/ov_SC03_091/ov_SC03_091_jr_8018326C.c @@ -3441,8 +3441,6 @@ void func_80184814(s32 a0) { } -typedef struct { short vx, vy, vz, pad; } SV_801851A8_8018486C; -typedef struct { short m[3][3]; long t[3]; } MTX_801851A8_8018486C; extern void func_8013B7AC(s32 a0); extern s32 func_8012BD14(s32 a0); @@ -3644,8 +3642,6 @@ void func_80184CBC(void *a0) { } -typedef struct { s16 a, b, c; } SV3x_80184B30_80184D6C; -typedef struct { short m[3][3]; long t[3]; } MTX_801851A8_801839C4_80184D6C; /* func_80184D6C — ov_SC03_090, 82 ins. * Banked twin (seed_ref): ov_SC02_035:func_801834BC (0.7356 sim) — same opening block @@ -3792,7 +3788,6 @@ s32 a0; } -typedef struct { short m[3][3]; long t[3]; } MTX_801851A8; /* func_8018504C — ov_SC03_089 (ov_SC03_089_jr_8017CA80), 154 ins, jtbl_801C53E4 (5 entries, * minval 0 / maxval 4 — `lhu` + `sltiu 5`, so the switch expression is UNSIGNED and neither @@ -3917,8 +3912,6 @@ void func_8018504C(s32 a0) { } } -typedef struct { s16 a, b, c; } SV3x_80184B30_801852B4; -typedef struct { short m[3][3]; long t[3]; } MTX_801851A8_801839C4_801852B4; /* Declarations copied VERBATIM from the destination TU (src/ov_SC03_090/ov_SC03_090_jr_8017CA80.c) * where they are already established for the near-identical sibling func_801841A4's case 2 @@ -4002,8 +3995,6 @@ void func_80185404(void *a0) { } -typedef struct { s16 a, b, c; } SV3x_80184B30_80185430; -typedef struct { short m[3][3]; long t[3]; } MTX_801851A8_801839C4_80185430; /* Declarations conformed to this TU's existing canonical forms (§193-B law 2): * func_8012BEE8 ov_SC03_090_jr_8017CA80.c:5640 `extern s32 func_8012BEE8(s32 a0);` @@ -4294,8 +4285,6 @@ void func_80185900(s32 param_1) -typedef struct { s16 a, b, c; } SV3x_80184B30_801859D8; -typedef struct { s16 a, b, c, d; } SV4x_80184B30_801859D8; extern void func_8012B23C(void *a0); extern void func_80185CC8(s32 param_1); @@ -4338,10 +4327,6 @@ void func_801859D8(void *a0) } -typedef struct { - u32 field0; - u32 field1; -} __attribute__((packed, aligned(1))) Block8_80185B1C; extern Block8_80185B1C D_801D0F30; /* Canonical shared engine-core spelling (return read via call-site cast, @@ -4445,10 +4430,6 @@ extern s32 func_8012D5E4(s32 a0, s32 a1, s32 a2, s32 a3); * stolen `lui $v1,0x7fff` in the slot — 7 wrong instructions. Pin-free. */ -typedef struct { short m[3][3]; long t[3]; } MTX_801851A8_80185D2C; -typedef struct { short vx, vy, vz, pad; } SV_801851A8_80185D2C; -typedef struct { long vx, vy, vz, pad; } LV_801851A8_80185D2C; -typedef struct { u8 d[8]; } __attribute__((packed, aligned(1))) B8_801851A8_80185D2C; extern void func_80049CAC(s32 a0, s32 a1); extern void func_8012F14C(s32 a0, s32 a1, s32 a2); @@ -5603,13 +5584,6 @@ s32 func_8018771C(s32 arg0, s32 arg1) extern s32 func_8012CC88(s32 a0, s32 a1, s32 a2); -typedef struct { - s32 w[4]; -} Rec16_8017DDC4_801877EC; -typedef struct { - u16 x, y, z; - s16 w; -} Rec8_8017DDC4_801877EC; /* func_801877EC -- ov_SC02_026 / ov_SC02_026_jr_8017C180 * Same TU declares this at line 4712 (extern void func_801877EC(s32 a0);) and @@ -6152,7 +6126,6 @@ void func_80188440(s32 a0) } -typedef struct { s16 a, b, c; } SV3x_80184B30_8018848C; /* func_8018848C (ov_SC03_090, 117 ins). Fresh mass-lane crack (no banked twin, card * gid 91f906ba70c2, lever "head-crack"). @@ -6219,9 +6192,6 @@ typedef struct { s16 a, b, c; } SV3x_80184B30_8018848C; * (%hi+%lo -> $a1) / func_8012B70C x2 / func_80188C18 / func_80188B64. */ -typedef struct { short vx, vy, vz, pad; } SV_801875E4_8018848C; -typedef struct { short m[3][3]; long t[3]; } MTX_801875E4_8018848C; -typedef struct { s32 vx, vy, vz; } V32_801875E4_8018848C; extern void func_801889EC(s32 a0, s32 a1); extern void func_80188B0C(s32 a0, s32 a1); @@ -6301,7 +6271,6 @@ void func_8018848C(s32 a0) } -typedef struct { short m[3][3]; long t[3]; } MTX_801851A8_801839C4_80188660; /* func_80188660 — ov_SC03_090 (ov_SC03_090_jr_8017CA80), 124 ins. * @@ -6526,8 +6495,6 @@ void func_801889EC(s32 a0, s32 a1) } -typedef struct { short m[3][3]; long t[3]; } MTX_80188B0C; -typedef struct { s32 vx, vy, vz; } V32_80188B0C; void func_80188B0C(s32 a0, s32 a1) { @@ -6575,8 +6542,6 @@ s32 func_80188B64(s32 arg0) extern void func_800484EC(s32 a0, s32 a1, s32 a2); extern void func_80049CAC(s32 a0, s32 a1); extern void * func_80188E80(s32 a0); -typedef struct { s16 a, b, c; } SV3x_80184B30_80188C18; -typedef struct { short m[3][3]; long t[3]; } MTX_801851A8_801839C4_80188C18; void func_80188C18(s32 a0) { extern s32 D_801AC0A8[]; diff --git a/src/ov_SC03_091/ov_SC03_091_jr_8018911C.c b/src/ov_SC03_091/ov_SC03_091_jr_8018911C.c index 5abb61041a..bb34674b5a 100644 --- a/src/ov_SC03_091/ov_SC03_091_jr_8018911C.c +++ b/src/ov_SC03_091/ov_SC03_091_jr_8018911C.c @@ -9,10 +9,6 @@ typedef struct { u8 pad[7]; /* -> 0x40 */ } Prim_8016E7C8; typedef void (*Handler)(struct Entry_8016E95C *); -typedef struct { short m[3][3]; long t[3]; } MTX_801851A8_80185D2C; -typedef struct { short vx, vy, vz, pad; } SV_801851A8_80185D2C; -typedef struct { long vx, vy, vz, pad; } LV_801851A8_80185D2C; -typedef struct { u8 d[8]; } __attribute__((packed, aligned(1))) B8_801851A8_80185D2C; extern void func_801458E0(void); extern s32 D_800AE6AC; extern s32 D_800AE6B0; diff --git a/src/ov_SC03_091/ov_SC03_091_jr_8018C434.c b/src/ov_SC03_091/ov_SC03_091_jr_8018C434.c index 0a9dc51f2f..cd5faae031 100644 --- a/src/ov_SC03_091/ov_SC03_091_jr_8018C434.c +++ b/src/ov_SC03_091/ov_SC03_091_jr_8018C434.c @@ -9,10 +9,6 @@ typedef struct { u8 pad[7]; /* -> 0x40 */ } Prim_8016E7C8; typedef void (*Handler)(struct Entry_8016E95C *); -typedef struct { short m[3][3]; long t[3]; } MTX_801851A8_80185D2C; -typedef struct { short vx, vy, vz, pad; } SV_801851A8_80185D2C; -typedef struct { long vx, vy, vz, pad; } LV_801851A8_80185D2C; -typedef struct { u8 d[8]; } __attribute__((packed, aligned(1))) B8_801851A8_80185D2C; extern void func_801458E0(void); extern s32 D_800AE6AC; extern s32 D_800AE6B0; @@ -2887,7 +2883,7 @@ extern void func_8018C3F8(void *a0); // body) using a locally-named struct type — block-scope externs don't collide with another // function's block-scope externs for the same symbol (§S38/D2). -typedef struct { s32 w[4]; } LBlk16; /* 16-byte record, block-scoped local name only */ + /* 16-byte record, block-scoped local name only */ void func_8018C434(void *a0) { @@ -2975,7 +2971,6 @@ void func_8018C628(void *a0) { #include "common.h" -typedef struct { s32 w[4]; } B16_local; extern B16_local D_800A5EA8; extern B16_local D_801CF7D0; diff --git a/src/ov_SC03_092/ov_SC03_092_jr_8017AE2C.c b/src/ov_SC03_092/ov_SC03_092_jr_8017AE2C.c index 04af543f6a..29b2fddd88 100644 --- a/src/ov_SC03_092/ov_SC03_092_jr_8017AE2C.c +++ b/src/ov_SC03_092/ov_SC03_092_jr_8017AE2C.c @@ -5545,20 +5545,8 @@ void func_8017FA74(s32 arg0) } -typedef struct { - /* 0x00 */ s32 unk00; - /* 0x04 */ s32 unk04; -} Tbl8_8017FC44; -typedef struct { - s8 pad00[0x68]; - s32 f68; /* 0x68 */ -} T68_8017FC44; -typedef struct { - s8 pad00[0xC]; - s16 f0C; /* 0x0C */ -} TC_8017FC44; extern s32 func_80029504(void); extern void func_8012CAE4(void *a0); diff --git a/src/ov_SC03_092/ov_SC03_092_jr_8017FE88.c b/src/ov_SC03_092/ov_SC03_092_jr_8017FE88.c index acddfbe82f..da71660a20 100644 --- a/src/ov_SC03_092/ov_SC03_092_jr_8017FE88.c +++ b/src/ov_SC03_092/ov_SC03_092_jr_8017FE88.c @@ -9,18 +9,6 @@ typedef struct { u8 pad[7]; /* -> 0x40 */ } Prim_8016E7C8; typedef void (*Handler)(struct Entry_8016E95C *); -typedef struct { - /* 0x00 */ s32 unk00; - /* 0x04 */ s32 unk04; -} Tbl8_8017FC44; -typedef struct { - s8 pad00[0x68]; - s32 f68; /* 0x68 */ -} T68_8017FC44; -typedef struct { - s8 pad00[0xC]; - s16 f0C; /* 0x0C */ -} TC_8017FC44; extern s32 func_800491EC(void); extern void func_800547D8(s32, MATRIX2 *); extern void func_80052E38(MATRIX2 *); @@ -3234,9 +3222,6 @@ extern void func_8018074C(s32 a0, s32 a1); #include "common.h" -typedef struct { - s32 w[4]; -} Rec16_8018066C; void func_8018066C(void *a0) { @@ -3483,11 +3468,6 @@ void func_80180B28(void *a0) { void func_80180BF4(void) { } - typedef struct { u8 b[8]; } Blk8_80180BFC; -typedef struct { - s32 a; /* 0x00 -> D_801DA750 */ - s32 b; /* 0x04 -> D_801DA754 */ -} Pair8_8017DDC4_80182244_80180BFC; /* Sibling shape in the SAME TU: func_80182244 (already banked, line ~3980) * uses the identical idiom for the same actor kind: void *a0, raw @@ -3632,22 +3612,11 @@ s32 func_80180EC8(u8 *a0) /* 8-byte, align-4 pair record: the per-index slot pair at D_801B2EB0/D_801B2EB4 */ -typedef struct { - s32 a; /* 0x00 -> D_801B2EB0 */ - s32 b; /* 0x04 -> D_801B2EB4 */ -} Pair8_8017DDC4_80180F08; /* 8-byte, align-2 record: forces move_by_pieces onto the lwl/lwr + swl/swr * unaligned block-move path (cookbook §48-C2) for the 0x10..0x18 copy. */ -typedef struct { - u16 x, y, z; - s16 w; -} Rec8_8017DDC4_80180F08; /* 16-byte stride table indexed by *(s16*)(obj+0x70) */ -typedef struct { - s32 w[4]; -} Rec16_8017DDC4_80180F08; extern void func_8012C1B8(void); diff --git a/src/ov_SC03_092/ov_SC03_092_jr_80181694.c b/src/ov_SC03_092/ov_SC03_092_jr_80181694.c index 5bd574b56b..05973c88e3 100644 --- a/src/ov_SC03_092/ov_SC03_092_jr_80181694.c +++ b/src/ov_SC03_092/ov_SC03_092_jr_80181694.c @@ -3548,7 +3548,7 @@ void func_80182C00(void *a0) { // body) using a locally-named struct type — block-scope externs don't collide with another // function's block-scope externs for the same symbol (§S38/D2). -typedef struct { s32 w[4]; } LBlk16; /* 16-byte record, block-scoped local name only */ + /* 16-byte record, block-scoped local name only */ void func_80182C3C(void *a0) { @@ -3636,7 +3636,6 @@ void func_80182E30(void *a0) { #include "common.h" -typedef struct { s32 w[4]; } B16_local; extern B16_local D_800A5EA8; extern B16_local D_801AFE20; diff --git a/src/ov_SC03_093/ov_SC03_093_jr_8017D898.c b/src/ov_SC03_093/ov_SC03_093_jr_8017D898.c index 87aaeb235c..3be3f58aae 100644 --- a/src/ov_SC03_093/ov_SC03_093_jr_8017D898.c +++ b/src/ov_SC03_093/ov_SC03_093_jr_8017D898.c @@ -3027,7 +3027,6 @@ void func_8017ED98(s32 a0) { } -typedef struct { s16 v[4]; } Blk8_80126940_8017EE38; extern u16 func_80148800(s32 *a0); extern void func_8017EF20(s32 param_1, s16 *param_2); diff --git a/src/ov_SC03_093/ov_SC03_093_jr_801825B8.c b/src/ov_SC03_093/ov_SC03_093_jr_801825B8.c index 04d336f4b0..533c74d0d1 100644 --- a/src/ov_SC03_093/ov_SC03_093_jr_801825B8.c +++ b/src/ov_SC03_093/ov_SC03_093_jr_801825B8.c @@ -4744,7 +4744,6 @@ extern s32 func_80133784(s32 a0, void *a1, s32 a2); extern void func_80184938(s32 a0, s32 a1); -typedef struct { s16 x, y, z, w; } V8_80184F90; extern V8_80184F90 D_801C5E68[]; extern V8_80184F90 D_801C5E88[]; @@ -4844,10 +4843,6 @@ s32 func_80184F90(s32 a0) { } -typedef struct { - u16 x, y, z; - s16 w; -} Rec8_8017DDC4_801815C4_80185344; /* func_80185344 (ov_SC03_094, jr_8017BEBC TU) — fresh crack from the target .s. * @@ -4858,7 +4853,6 @@ typedef struct { * 0x4004 grids and func_8017EC9C's table-driven variant of the same idiom). */ -typedef struct { s16 x, y, z, w; } V8_8018487C_80185344; extern void func_8012CBCC(s32 a0); extern s32 func_80133784(s32 a0, void *a1, s32 a2); diff --git a/src/ov_SC03_093/ov_SC03_093_jr_801859DC.c b/src/ov_SC03_093/ov_SC03_093_jr_801859DC.c index 5ff7702078..765f6dbaf3 100644 --- a/src/ov_SC03_093/ov_SC03_093_jr_801859DC.c +++ b/src/ov_SC03_093/ov_SC03_093_jr_801859DC.c @@ -2853,7 +2853,7 @@ extern void func_801859A0(void *a0); // body) using a locally-named struct type — block-scope externs don't collide with another // function's block-scope externs for the same symbol (§S38/D2). -typedef struct { s32 w[4]; } LBlk16; /* 16-byte record, block-scoped local name only */ + /* 16-byte record, block-scoped local name only */ void func_801859DC(void *a0) { @@ -2941,7 +2941,6 @@ void func_80185BD0(void *a0) { #include "common.h" -typedef struct { s32 w[4]; } B16_local; extern B16_local D_800A5EA8; extern B16_local D_801C97FC; diff --git a/src/ov_SC03_094/ov_SC03_094_jr_8017BEBC.c b/src/ov_SC03_094/ov_SC03_094_jr_8017BEBC.c index 6b8088dbf7..598f2094db 100644 --- a/src/ov_SC03_094/ov_SC03_094_jr_8017BEBC.c +++ b/src/ov_SC03_094/ov_SC03_094_jr_8017BEBC.c @@ -3032,7 +3032,6 @@ void func_8017D3B8(s32 a0) { } -typedef struct { s16 v[4]; } Blk8_80126940_8017D458; void func_8017D458(s32 a0) { @@ -3216,22 +3215,8 @@ int func_8017D868(int param_1) * the only thing that references +2 and +4. Loads are `lhu` -> u16 fields. */ -typedef struct { - u16 x, y, z, w; /* stride 8, +0/+2/+4 used */ -} Tbl8_8017D898; -typedef struct { - s16 x, y, z, w; /* 8-byte stack vector (sh stores, lh reads) */ -} V8_8017D898; -typedef struct { - u16 f0; /* 0x00 */ - u8 p2[4]; - s16 x; /* 0x06 */ - u8 p8[6]; - s16 z; /* 0x0E */ - u8 p10[0x10C - 0x10]; /* stride 0x10C */ -} Ent_8017D898; extern s32 func_80133784(s32 a0, void *a1, s32 a2); @@ -3448,7 +3433,6 @@ extern s32 func_8017D898(s32 a0, s32 a1); /* 8-byte probe endpoint, same shape as the neighbouring func_801844C8's * V8_80184F90_801844C8 (s16 x,y,z,w). */ -typedef struct { s16 x, y, z, w; } V8_8017DEBC; void func_8017DEBC(s32 a0) { V8_8017DEBC src; @@ -3716,7 +3700,6 @@ void func_8017E3B0(s32 a0) { /* Entity slot of the global D_801202A0 table: 0x10C stride, 0x60 entries. * Only the three fields this function touches are named. */ -typedef Unkstruct_800B5CB8 Ent_8017FD58_8017E52C; extern s32 func_8017D898(s32 a0, s32 a1); extern s32 func_80029178(s32 arg); @@ -5542,13 +5525,6 @@ s32 func_801814F4(s32 arg0, s32 arg1) extern s32 func_8012CC88(s32 a0, s32 a1, s32 a2); -typedef struct { - s32 w[4]; -} Rec16_8017DDC4_801815C4; -typedef struct { - u16 x, y, z; - s16 w; -} Rec8_8017DDC4_801815C4; /* func_801815C4 -- ov_SC02_026 / ov_SC02_026_jr_8017C180 * Same TU declares this at line 4712 (extern void func_801815C4(s32 a0);) and @@ -5609,7 +5585,6 @@ void func_801815C4(s32 a0) { } -typedef Unkstruct_800B5CB8 Ent_8018172C_tab; s32 func_8018172C(void) { extern u8 D_801202A0[]; @@ -5866,17 +5841,6 @@ extern s32 func_8012C51C(void *a0, s32 a1); extern void func_801292C8(u8 *a0); extern void func_80181F98(s32 a0); -typedef struct { - s16 f00; - s16 f02; - s16 f04; - s16 f06; - u16 f08; - s16 f0A; - s16 f0C; - s16 f0E; - s32 f10; -} Tmp80181CD0; void func_80181CD0(s32 a0) { Tmp80181CD0 sp10; @@ -7398,7 +7362,6 @@ extern s32 func_80133784(s32 a0, void *a1, s32 a2); extern void func_80183E70(s32 a0, s32 a1); -typedef struct { s16 x, y, z, w; } V8_80184F90_801844C8; s32 func_801844C8(s32 a0) { @@ -7507,7 +7470,6 @@ s32 func_801844C8(s32 a0) { * 0x4004 grids and func_8017EC9C's table-driven variant of the same idiom). */ -typedef struct { s16 x, y, z, w; } V8_8018487C; extern void func_8012CBCC(s32 a0); extern s32 func_80133784(s32 a0, void *a1, s32 a2); diff --git a/src/ov_SC03_094/ov_SC03_094_jr_801873D8.c b/src/ov_SC03_094/ov_SC03_094_jr_801873D8.c index cae6a0c8c8..b5fe8367a7 100644 --- a/src/ov_SC03_094/ov_SC03_094_jr_801873D8.c +++ b/src/ov_SC03_094/ov_SC03_094_jr_801873D8.c @@ -2884,7 +2884,7 @@ extern void func_8018739C(void *a0); // body) using a locally-named struct type — block-scope externs don't collide with another // function's block-scope externs for the same symbol (§S38/D2). -typedef struct { s32 w[4]; } LBlk16; /* 16-byte record, block-scoped local name only */ + /* 16-byte record, block-scoped local name only */ void func_801873D8(void *a0) { @@ -2972,7 +2972,6 @@ void func_801875CC(void *a0) { #include "common.h" -typedef struct { s32 w[4]; } B16_local; extern B16_local D_800A5EA8; extern B16_local D_801D0638; diff --git a/src/ov_SC03_095/ov_SC03_095_jr_80180A38.c b/src/ov_SC03_095/ov_SC03_095_jr_80180A38.c index 40b38b014d..ae50c96506 100644 --- a/src/ov_SC03_095/ov_SC03_095_jr_80180A38.c +++ b/src/ov_SC03_095/ov_SC03_095_jr_80180A38.c @@ -2766,7 +2766,7 @@ extern void func_801809FC(void *a0); // body) using a locally-named struct type — block-scope externs don't collide with another // function's block-scope externs for the same symbol (§S38/D2). -typedef struct { s32 w[4]; } LBlk16; /* 16-byte record, block-scoped local name only */ + /* 16-byte record, block-scoped local name only */ void func_80180A38(void *a0) { @@ -2854,7 +2854,6 @@ void func_80180C2C(void *a0) { #include "common.h" -typedef struct { s32 w[4]; } B16_local; extern B16_local D_800A5EA8; extern B16_local D_80199264; diff --git a/src/ov_SC03_096/ov_SC03_096_jr_801805B8.c b/src/ov_SC03_096/ov_SC03_096_jr_801805B8.c index f99690e193..f6481a77ba 100644 --- a/src/ov_SC03_096/ov_SC03_096_jr_801805B8.c +++ b/src/ov_SC03_096/ov_SC03_096_jr_801805B8.c @@ -2765,7 +2765,7 @@ extern void func_8018057C(void *a0); // body) using a locally-named struct type — block-scope externs don't collide with another // function's block-scope externs for the same symbol (§S38/D2). -typedef struct { s32 w[4]; } LBlk16; /* 16-byte record, block-scoped local name only */ + /* 16-byte record, block-scoped local name only */ void func_801805B8(void *a0) { @@ -2853,7 +2853,6 @@ void func_801807AC(void *a0) { #include "common.h" -typedef struct { s32 w[4]; } B16_local; extern B16_local D_800A5EA8; extern B16_local D_80197D18; diff --git a/src/ov_SC03_097/ov_SC03_097_jr_8017D898.c b/src/ov_SC03_097/ov_SC03_097_jr_8017D898.c index d790fe4861..436d699afa 100644 --- a/src/ov_SC03_097/ov_SC03_097_jr_8017D898.c +++ b/src/ov_SC03_097/ov_SC03_097_jr_8017D898.c @@ -3772,10 +3772,6 @@ void func_8017FE4C(s32 a0) { } -typedef struct { - s32 a; /* 0x00 -> D_801DA750 */ - s32 b; /* 0x04 -> D_801DA754 */ -} Pair8_8017DDC4_80182244_80180040_8017FEA0; extern s32 func_8012C354(s32 a0, s32 a1); extern s32 func_80029178(s32 arg); @@ -3790,7 +3786,6 @@ extern s32 func_8012AD50(void *a0); * matches the sibling idiom at ov_SC02_005:func_8018CE04). */ /* 4-byte, align-4 unaligned block: forces lwl/lwr + swl/swr (cookbook §48-C2 / * matches the sibling idiom at ov_SC02_005:func_8018CE04). */ -typedef struct { u8 b[4]; } Blk4_80181EDC_8017FEA0; /* §183 TYPE-adopted-sibling: func_80182060 / func_80182688 land in this same TU * and spell D_801AAAE0 as a plain `u8` (byte lbu/sb arithmetic). This function @@ -3933,7 +3928,6 @@ void func_80180024(void *a0) typedef struct { char c[4]; } Blk4; -typedef struct { s16 a, b, c, d; } P16; extern Blk4 D_801A94C4; extern Blk4 D_801A94C8; extern s32 rand(void); @@ -4070,14 +4064,6 @@ s32 func_801803FC(s32 a0) { } -typedef struct { - u16 x, y, z; - s16 w; -} Rec8_8017DDC4_8018034C_80180450; -typedef struct { - s32 a; /* 0x00 -> D_801DA750 */ - s32 b; /* 0x04 -> D_801DA754 */ -} Pair8_8017DDC4_80182244_80180040_80180450; /* local mirrors of the TU's shared engine_types.h structs (Blk8_80180450 @497, Blk32_8018AA98_80183D30_80180450 * @1413) — match_one compiles this draft standalone without the shared header chain, so the @@ -4086,17 +4072,6 @@ typedef struct { * then a trailing s32 "extra" field copied out of *(a0+0xDC). §193-I: this aggregate's frame * slot rounds up to 24 (ceil(20,8)), which is exactly the 4-byte gap between it and `vec` * below in the target's stack layout (sp+0x24-0x27 unused). */ -typedef struct { - s16 x; - s16 y; - s16 z; - s16 type; - s16 sub; - s16 pad1; - s16 flag; - s16 pad2; - s32 extra; -} Msg_8018248C_80180450; extern void RotMatrixY(s32 a0, void *a1); extern void ApplyMatrixSV(void *a0, void *a1, void *a2); diff --git a/src/ov_SC03_097/ov_SC03_097_jr_801851B8.c b/src/ov_SC03_097/ov_SC03_097_jr_801851B8.c index d67ab8fdd9..74a62524d4 100644 --- a/src/ov_SC03_097/ov_SC03_097_jr_801851B8.c +++ b/src/ov_SC03_097/ov_SC03_097_jr_801851B8.c @@ -2854,7 +2854,7 @@ extern void func_8018517C(void *a0); // body) using a locally-named struct type — block-scope externs don't collide with another // function's block-scope externs for the same symbol (§S38/D2). -typedef struct { s32 w[4]; } LBlk16; /* 16-byte record, block-scoped local name only */ + /* 16-byte record, block-scoped local name only */ void func_801851B8(void *a0) { @@ -2942,7 +2942,6 @@ void func_801853AC(void *a0) { #include "common.h" -typedef struct { s32 w[4]; } B16_local; extern B16_local D_800A5EA8; extern B16_local D_801A7350; diff --git a/src/ov_SC03_098/ov_SC03_098_jr_8017D898.c b/src/ov_SC03_098/ov_SC03_098_jr_8017D898.c index 4f24c231db..5df72aecb0 100644 --- a/src/ov_SC03_098/ov_SC03_098_jr_8017D898.c +++ b/src/ov_SC03_098/ov_SC03_098_jr_8017D898.c @@ -4816,13 +4816,6 @@ s32 func_80181CFC(s32 arg0, s32 arg1) extern s32 func_8012CC88(s32 a0, s32 a1, s32 a2); -typedef struct { - s32 w[4]; -} Rec16_8017DDC4_80181DCC; -typedef struct { - u16 x, y, z; - s16 w; -} Rec8_8017DDC4_80181DCC; /* func_80181DCC -- ov_SC02_026 / ov_SC02_026_jr_8017C180 * Same TU declares this at line 4712 (extern void func_80181DCC(s32 a0);) and diff --git a/src/ov_SC03_098/ov_SC03_098_jr_80184E24.c b/src/ov_SC03_098/ov_SC03_098_jr_80184E24.c index 72d6cfbb6b..555294bbed 100644 --- a/src/ov_SC03_098/ov_SC03_098_jr_80184E24.c +++ b/src/ov_SC03_098/ov_SC03_098_jr_80184E24.c @@ -2858,7 +2858,7 @@ extern void func_80184DE8(void *a0); // body) using a locally-named struct type — block-scope externs don't collide with another // function's block-scope externs for the same symbol (§S38/D2). -typedef struct { s32 w[4]; } LBlk16; /* 16-byte record, block-scoped local name only */ + /* 16-byte record, block-scoped local name only */ void func_80184E24(void *a0) { diff --git a/src/ov_SC03_099/ov_SC03_099_jr_80182F24.c b/src/ov_SC03_099/ov_SC03_099_jr_80182F24.c index 90f2eaa5db..e5314ebe30 100644 --- a/src/ov_SC03_099/ov_SC03_099_jr_80182F24.c +++ b/src/ov_SC03_099/ov_SC03_099_jr_80182F24.c @@ -2858,7 +2858,7 @@ extern void func_80182EE8(void *a0); // body) using a locally-named struct type — block-scope externs don't collide with another // function's block-scope externs for the same symbol (§S38/D2). -typedef struct { s32 w[4]; } LBlk16; /* 16-byte record, block-scoped local name only */ + /* 16-byte record, block-scoped local name only */ void func_80182F24(void *a0) { diff --git a/src/ov_SC03_100/ov_SC03_100_jr_8017D898.c b/src/ov_SC03_100/ov_SC03_100_jr_8017D898.c index 3e35a98bd0..c1c65bff48 100644 --- a/src/ov_SC03_100/ov_SC03_100_jr_8017D898.c +++ b/src/ov_SC03_100/ov_SC03_100_jr_8017D898.c @@ -2946,7 +2946,6 @@ void func_8017EBE4(s32 a0) { } -typedef struct { s16 v[4]; } Blk8_80126940_8017EC84; void func_8017EC84(s32 a0) { diff --git a/src/ov_SC03_100/ov_SC03_100_jr_80183C10.c b/src/ov_SC03_100/ov_SC03_100_jr_80183C10.c index 8d8d7aa08a..74df727762 100644 --- a/src/ov_SC03_100/ov_SC03_100_jr_80183C10.c +++ b/src/ov_SC03_100/ov_SC03_100_jr_80183C10.c @@ -2841,7 +2841,7 @@ extern void func_80183BD4(void *a0); // body) using a locally-named struct type — block-scope externs don't collide with another // function's block-scope externs for the same symbol (§S38/D2). -typedef struct { s32 w[4]; } LBlk16; /* 16-byte record, block-scoped local name only */ + /* 16-byte record, block-scoped local name only */ void func_80183C10(void *a0) { diff --git a/src/ov_SC03_101/ov_SC03_101_jr_8017CA80.c b/src/ov_SC03_101/ov_SC03_101_jr_8017CA80.c index efee8c5ff7..b1010bc188 100644 --- a/src/ov_SC03_101/ov_SC03_101_jr_8017CA80.c +++ b/src/ov_SC03_101/ov_SC03_101_jr_8017CA80.c @@ -4345,10 +4345,6 @@ void func_80180348(s32 a0) { } -typedef struct { - s32 a; /* 0x00 -> D_801DA750 */ - s32 b; /* 0x04 -> D_801DA754 */ -} Pair8_8017DDC4_80182244_80180040_80180400; extern s32 func_8012C354(s32 a0, s32 a1); extern s32 func_80029178(s32 arg); @@ -4363,7 +4359,6 @@ extern s32 func_8012AD50(void *a0); * matches the sibling idiom at ov_SC02_005:func_8018CE04). */ /* 4-byte, align-4 unaligned block: forces lwl/lwr + swl/swr (cookbook §48-C2 / * matches the sibling idiom at ov_SC02_005:func_8018CE04). */ -typedef struct { u8 b[4]; } Blk4_80181EDC_80180400; /* §183 TYPE-adopted-sibling: func_80182060 / func_80182688 land in this same TU * and spell D_8019DCF8 as a plain `u8` (byte lbu/sb arithmetic). This function @@ -4522,8 +4517,6 @@ void func_80180584(void *a0) extern s32 rand(void); extern void func_80181FC4(s32, s32, s32); -typedef struct { u8 b[4]; } Blk4_80182194; -typedef struct { u16 f00, f02, f04, f06; } Args_80182194; extern Blk4_80182194 D_8019C980; extern Blk4_80182194 D_8019C984; @@ -4665,14 +4658,6 @@ s32 func_8018095C(void *a0) } -typedef struct { - u16 x, y, z; - s16 w; -} Rec8_8017DDC4_8018034C_801809B0; -typedef struct { - s32 a; /* 0x00 -> D_801DA750 */ - s32 b; /* 0x04 -> D_801DA754 */ -} Pair8_8017DDC4_80182244_80180040_801809B0; /* local mirrors of the TU's shared engine_types.h structs (Blk8_801809B0 @497, Blk32_8018AA98_80183D30_801809B0 * @1413) — match_one compiles this draft standalone without the shared header chain, so the @@ -4681,17 +4666,6 @@ typedef struct { * then a trailing s32 "extra" field copied out of *(a0+0xDC). §193-I: this aggregate's frame * slot rounds up to 24 (ceil(20,8)), which is exactly the 4-byte gap between it and `vec` * below in the target's stack layout (sp+0x24-0x27 unused). */ -typedef struct { - s16 x; - s16 y; - s16 z; - s16 type; - s16 sub; - s16 pad1; - s16 flag; - s16 pad2; - s32 extra; -} Msg_8018248C_801809B0; extern void RotMatrixY(s32 a0, void *a1); extern void ApplyMatrixSV(void *a0, void *a1, void *a2); diff --git a/src/ov_SC03_101/ov_SC03_101_jr_801833CC.c b/src/ov_SC03_101/ov_SC03_101_jr_801833CC.c index 19b632ffe2..51811db678 100644 --- a/src/ov_SC03_101/ov_SC03_101_jr_801833CC.c +++ b/src/ov_SC03_101/ov_SC03_101_jr_801833CC.c @@ -2834,7 +2834,7 @@ extern void func_80183390(void *a0); // body) using a locally-named struct type — block-scope externs don't collide with another // function's block-scope externs for the same symbol (§S38/D2). -typedef struct { s32 w[4]; } LBlk16; /* 16-byte record, block-scoped local name only */ + /* 16-byte record, block-scoped local name only */ void func_801833CC(void *a0) { diff --git a/src/ov_SC03_102/ov_SC03_102_jr_8017BEBC.c b/src/ov_SC03_102/ov_SC03_102_jr_8017BEBC.c index 9417645114..fdec6884f0 100644 --- a/src/ov_SC03_102/ov_SC03_102_jr_8017BEBC.c +++ b/src/ov_SC03_102/ov_SC03_102_jr_8017BEBC.c @@ -4125,8 +4125,8 @@ void func_80180BFC(void *a0) { struct vec; -typedef struct { s16 vx, vy, vz, pad; } SVec_80180C38; /* 0x8 */ -typedef struct { s32 w[8]; } Mtx_80180C38; /* 0x20 */ + /* 0x8 */ + /* 0x20 */ extern u16 D_801270C0; extern u8 D_801152A8[]; @@ -4258,7 +4258,6 @@ kill: struct vec; -typedef struct { s16 vx, vy, vz, pad; } SVECTOR_80181030; extern void func_8012931C(struct vec *a0); extern s32 func_80133784(s32 a0, void *a1, s32 a2); @@ -4378,7 +4377,6 @@ extern void func_8001CB6C(u8 *a0, s32 a1, s32 a2, s32 a3); extern void func_800484EC(s32 a0, s32 a1, s32 a2); extern void RotMatrixY(s32 a0, void *a1); -typedef struct { s32 w[8]; } Blk20_80181260; s32 func_80181260(s32 param_1, s16 param_2) { @@ -4545,7 +4543,6 @@ void func_8018153C(void *a0) -typedef struct { u8 b0, b1, b2, b3; } Blk4_801815D4; void func_801815D4(void *a0) { diff --git a/src/ov_SC03_102/ov_SC03_102_jr_801855D0.c b/src/ov_SC03_102/ov_SC03_102_jr_801855D0.c index 491b91564a..b6ae2509b4 100644 --- a/src/ov_SC03_102/ov_SC03_102_jr_801855D0.c +++ b/src/ov_SC03_102/ov_SC03_102_jr_801855D0.c @@ -2833,7 +2833,7 @@ extern void func_80185594(void *a0); // body) using a locally-named struct type — block-scope externs don't collide with another // function's block-scope externs for the same symbol (§S38/D2). -typedef struct { s32 w[4]; } LBlk16; /* 16-byte record, block-scoped local name only */ + /* 16-byte record, block-scoped local name only */ void func_801855D0(void *a0) { diff --git a/src/ov_SC03_103/ov_SC03_103_jr_8017C294.c b/src/ov_SC03_103/ov_SC03_103_jr_8017C294.c index dd798fd174..71f3519f7e 100644 --- a/src/ov_SC03_103/ov_SC03_103_jr_8017C294.c +++ b/src/ov_SC03_103/ov_SC03_103_jr_8017C294.c @@ -6839,7 +6839,6 @@ void func_80183580(void *a0) } -typedef struct { s32 w[8]; } Mtx32_80180088; extern s32 rand(void); diff --git a/src/ov_SC03_103/ov_SC03_103_jr_80183C34.c b/src/ov_SC03_103/ov_SC03_103_jr_80183C34.c index 5c7adea6f6..70adf7bc7e 100644 --- a/src/ov_SC03_103/ov_SC03_103_jr_80183C34.c +++ b/src/ov_SC03_103/ov_SC03_103_jr_80183C34.c @@ -2870,7 +2870,7 @@ extern void func_80183BF8(void *a0); // body) using a locally-named struct type — block-scope externs don't collide with another // function's block-scope externs for the same symbol (§S38/D2). -typedef struct { s32 w[4]; } LBlk16; /* 16-byte record, block-scoped local name only */ + /* 16-byte record, block-scoped local name only */ void func_80183C34(void *a0) { diff --git a/src/ov_SC03_104/ov_SC03_104_jr_8017CA80.c b/src/ov_SC03_104/ov_SC03_104_jr_8017CA80.c index aef373a5b4..bb4d10bd61 100644 --- a/src/ov_SC03_104/ov_SC03_104_jr_8017CA80.c +++ b/src/ov_SC03_104/ov_SC03_104_jr_8017CA80.c @@ -3695,7 +3695,6 @@ void func_80181440(s32 a0) { } -typedef struct { s16 h[4]; } S16x4; extern s32 D_80126B58; extern u16 func_80148800(s32 *a0); @@ -3812,8 +3811,6 @@ void func_80181800(s32 a0) { } -typedef struct { short vx, vy, vz, pad; } SV_801851A8_80181858; -typedef struct { short m[3][3]; long t[3]; } MTX_801851A8_80181858; extern void func_8013B7AC(s32 a0); extern s32 func_8012BD14(s32 a0); @@ -4011,8 +4008,6 @@ void func_80181CA8(s32 arg0) } -typedef struct { s16 a, b, c; } SV3x_80184B30_80181D58; -typedef struct { short m[3][3]; long t[3]; } MTX_801851A8_801839C4_80181D58; /* func_80181D58 — ov_SC03_090, 82 ins. * Banked twin (seed_ref): ov_SC02_035:func_801834BC (0.7356 sim) — same opening block diff --git a/src/ov_SC03_104/ov_SC03_104_jr_80182038.c b/src/ov_SC03_104/ov_SC03_104_jr_80182038.c index f75aca29dd..25fe8cda82 100644 --- a/src/ov_SC03_104/ov_SC03_104_jr_80182038.c +++ b/src/ov_SC03_104/ov_SC03_104_jr_80182038.c @@ -2710,7 +2710,6 @@ extern void func_80181B58(int param_1); extern void func_8018282C(void *a0); extern void func_80181B60(void *a0); -typedef struct { short m[3][3]; long t[3]; } MTX_801851A8; /* func_80182038 — ov_SC03_089 (ov_SC03_089_jr_8017CA80), 154 ins, jtbl_801C53E4 (5 entries, * minval 0 / maxval 4 — `lhu` + `sltiu 5`, so the switch expression is UNSIGNED and neither @@ -2835,8 +2834,6 @@ void func_80182038(s32 a0) { } } -typedef struct { s16 a, b, c; } SV3x_80184B30_801822A0; -typedef struct { short m[3][3]; long t[3]; } MTX_801851A8_801839C4_801822A0; /* Declarations copied VERBATIM from the destination TU (src/ov_SC03_090/ov_SC03_090_jr_8017CA80.c) * where they are already established for the near-identical sibling func_801841A4's case 2 @@ -2920,8 +2917,6 @@ void func_801823F0(s32 a0) { } -typedef struct { s16 a, b, c; } SV3x_80184B30_8018241C; -typedef struct { short m[3][3]; long t[3]; } MTX_801851A8_801839C4_8018241C; /* Declarations conformed to this TU's existing canonical forms (§193-B law 2): * func_8012BEE8 ov_SC03_090_jr_8017CA80.c:5640 `extern s32 func_8012BEE8(s32 a0);` @@ -3226,8 +3221,6 @@ void func_801828EC(s32 param_1) -typedef struct { s16 a, b, c; } SV3x_80184B30_801829C4; -typedef struct { s16 a, b, c, d; } SV4x_80184B30_801829C4; extern void func_8012B23C(void *a0); extern void func_80182CB4(s32 param_1); @@ -3271,9 +3264,6 @@ void func_801829C4(void *a0) /* banked twin ov_SC03_090:func_80184C74 formulation, file-scope decls */ -typedef struct { - u8 b[8]; -} Blk8_80182B08; extern Blk8_80182B08 D_801BED04; extern void func_8012CC64(s32 a0, s32 a1); @@ -3380,10 +3370,6 @@ s32 arg0; * stolen `lui $v1,0x7fff` in the slot — 7 wrong instructions. Pin-free. */ -typedef struct { short m[3][3]; long t[3]; } MTX_801851A8_80182D18; -typedef struct { short vx, vy, vz, pad; } SV_801851A8_80182D18; -typedef struct { long vx, vy, vz, pad; } LV_801851A8_80182D18; -typedef struct { u8 d[8]; } __attribute__((packed, aligned(1))) B8_801851A8_80182D18; extern void func_80049CAC(s32 a0, s32 a1); extern void func_8012F14C(s32 a0, s32 a1, s32 a2); @@ -3635,10 +3621,6 @@ void func_801831E8(s32 ent) { } -typedef struct { s16 a, b, c; } SV3x_80184B30; -typedef struct { s32 vx, vy, vz; } V32_801875E4; -typedef struct { s16 a, b, c, d; } SV4x_80184B30; -typedef struct { short vx, vy, vz, pad; } SV_801851A8_801839C4; @@ -3868,10 +3850,6 @@ void func_801837C8(s32 param_1) { } -typedef struct { - s32 a; /* 0x00 -> D_801DA750 */ - s32 b; /* 0x04 -> D_801DA754 */ -} Pair8_8017DDC4_80182244_80180040_8018383C; extern s32 func_8012C354(s32 a0, s32 a1); extern s32 func_80029178(s32 arg); @@ -3886,7 +3864,6 @@ extern s32 func_8012AD50(void *a0); * matches the sibling idiom at ov_SC02_005:func_8018CE04). */ /* 4-byte, align-4 unaligned block: forces lwl/lwr + swl/swr (cookbook §48-C2 / * matches the sibling idiom at ov_SC02_005:func_8018CE04). */ -typedef struct { u8 b[4]; } Blk4_80181EDC_8018383C; /* §183 TYPE-adopted-sibling: func_80182060 / func_80182688 land in this same TU * and spell D_801C00B0 as a plain `u8` (byte lbu/sb arithmetic). This function @@ -4027,7 +4004,6 @@ void func_801839C0(void *a0) } -typedef struct { u8 b[4]; } Blk4_80183AF4; extern s32 rand(void); extern void func_80185400(void *a0, void *a1, void *a2); @@ -4158,14 +4134,6 @@ s32 func_80183D98(s32 a0) } -typedef struct { - u16 x, y, z; - s16 w; -} Rec8_8017DDC4_8018034C_80183DEC; -typedef struct { - s32 a; /* 0x00 -> D_801DA750 */ - s32 b; /* 0x04 -> D_801DA754 */ -} Pair8_8017DDC4_80182244_80180040_80183DEC; /* local mirrors of the TU's shared engine_types.h structs (Blk8_80183DEC @497, Blk32_8018AA98_80183D30_80183DEC * @1413) — match_one compiles this draft standalone without the shared header chain, so the @@ -4174,17 +4142,6 @@ typedef struct { * then a trailing s32 "extra" field copied out of *(a0+0xDC). §193-I: this aggregate's frame * slot rounds up to 24 (ceil(20,8)), which is exactly the 4-byte gap between it and `vec` * below in the target's stack layout (sp+0x24-0x27 unused). */ -typedef struct { - s16 x; - s16 y; - s16 z; - s16 type; - s16 sub; - s16 pad1; - s16 flag; - s16 pad2; - s32 extra; -} Msg_8018248C_80183DEC; extern void RotMatrixY(s32 a0, void *a1); extern void ApplyMatrixSV(void *a0, void *a1, void *a2); diff --git a/src/ov_SC03_104/ov_SC03_104_jr_80189FE4.c b/src/ov_SC03_104/ov_SC03_104_jr_80189FE4.c index a31e0bd157..cae32c24a6 100644 --- a/src/ov_SC03_104/ov_SC03_104_jr_80189FE4.c +++ b/src/ov_SC03_104/ov_SC03_104_jr_80189FE4.c @@ -2909,7 +2909,7 @@ extern void func_80189FA8(void *a0); // body) using a locally-named struct type — block-scope externs don't collide with another // function's block-scope externs for the same symbol (§S38/D2). -typedef struct { s32 w[4]; } LBlk16; /* 16-byte record, block-scoped local name only */ + /* 16-byte record, block-scoped local name only */ void func_80189FE4(void *a0) { diff --git a/src/ov_SC03_105/ov_SC03_105_jr_8017C8D0.c b/src/ov_SC03_105/ov_SC03_105_jr_8017C8D0.c index 9cb2e50210..67c92b007f 100644 --- a/src/ov_SC03_105/ov_SC03_105_jr_8017C8D0.c +++ b/src/ov_SC03_105/ov_SC03_105_jr_8017C8D0.c @@ -2730,27 +2730,9 @@ void func_8017D7B0(void *a0) { extern s32 rand(void); -typedef struct { - u16 f0; - u16 f2; - u16 f4; - u16 f6; - u16 f8; - u16 fA; - s32 fC; - s32 f10; - s32 f14; - s32 f18; -} SubRec_801EB5C8_8017D7EC; /* 0x1C */ + /* 0x1C */ -typedef struct { - u16 g0; - u16 g2; - s32 g4; - s32 g8; - s32 gC; - SubRec_801EB5C8_8017D7EC subs[16]; -} GroupRec_801EB5C8_8017D7EC; /* 0x1D0 */ + /* 0x1D0 */ void func_8017D7EC(s32 param_1) @@ -3658,17 +3640,6 @@ extern s32 func_8017F018(s32 a0); extern void func_8017F0C8(s32 a0, s32 a1); extern void func_8002D4C8(s32 a0, s32 a1); -typedef struct { - u16 f0; - u16 f1; - u16 f2; - u16 f3; - u16 f4; - u16 f5; - u16 f6; - u16 f7; - s32 f8; -} Local_8017EE34; void func_8017EE34(s32 a0) { s32 s0 = a0; @@ -3872,7 +3843,6 @@ extern u8 D_8018E158[]; /* 12-byte-stride table indexed by ((0x70 & 0xFF0) >> /* the func_8012F14C in/out vectors are read back with `lhu`, so u16 fields (an SVECTOR's * s16 vx would emit `lh` and miss by 3 instructions) */ -typedef struct { u16 vx, vy, vz, pad; } UVEC_8017F234; void func_8017F234(s32 a0) { s32 m1[8]; /* MATRIX-sized scratch at sp+0x10 */ @@ -3958,7 +3928,6 @@ extern s32 func_80047948(s32 a0); extern s32 func_8017FA90(s32 a0, s16 a1, s32 a2); extern void func_8017FAE8(s32 a0); -typedef struct { u16 vx, vy, vz, pad; } UVEC_8017F55C; void func_8017F55C(s32 a0) { s32 m1[8]; @@ -4173,7 +4142,6 @@ s32 func_8017FA90(s32 a0, s16 a1, s32 a2) { extern s32 func_8012EFB8(void *param_1, void *param_2); extern void func_8002D4C8(s32 a0, s32 a1); -typedef struct { s16 vx, vy, vz, pad; } SVec_8017FAE8; void func_8017FAE8(s32 a0) { SVec_8017FAE8 pos; @@ -4774,7 +4742,6 @@ extern s32 D_801BA5A0; extern s32 D_801BA5A2; extern u8 D_801BA6B0; -typedef struct { u8 pad34[0x34]; u16 st; } Ent34; void func_801806F8(s32 a0) { @@ -4936,17 +4903,6 @@ extern u8 D_8018E61C[]; extern u8 D_8018E7E0[]; extern u8 D_8018E7C0[]; -typedef struct { - s16 f0; - s16 f1; - s16 f2; - s16 f3; - s16 f4; - s16 f5; - s16 f6; - s16 f7; - s32 f8; -} Local_80180ABC; /* Only the +0xE0 flag word needs a STRUCT spelling (cookbook 439 row 1): the sb to the @@ -4954,7 +4910,6 @@ typedef struct { * MEM_IN_STRUCT_P is what lets true_dependence declare them non-conflicting. Written as * `*(s32 *)(s1 + 0xE0)` the load stays pinned BELOW the sb (4 rows off). Every other * object access keeps the TU's cast house style -- measured inert, both ways. */ -typedef struct { u8 p[0xE0]; s32 xE0; } ObjE0_80180ABC; void func_80180ABC(s32 a0) { diff --git a/src/ov_SC03_105/ov_SC03_105_jr_801813BC.c b/src/ov_SC03_105/ov_SC03_105_jr_801813BC.c index 088a78fcd3..e2648b93f3 100644 --- a/src/ov_SC03_105/ov_SC03_105_jr_801813BC.c +++ b/src/ov_SC03_105/ov_SC03_105_jr_801813BC.c @@ -9,40 +9,8 @@ typedef struct { u8 pad[7]; /* -> 0x40 */ } Prim_8016E7C8; typedef void (*Handler)(struct Entry_8016E95C *); -typedef struct { - u16 f0; - u16 f2; - u16 f4; - u16 f6; - u16 f8; - u16 fA; - s32 fC; - s32 f10; - s32 f14; - s32 f18; -} SubRec_801EB5C8_8017D7EC; /* 0x1C */ -typedef struct { - u16 g0; - u16 g2; - s32 g4; - s32 g8; - s32 gC; - SubRec_801EB5C8_8017D7EC subs[16]; -} GroupRec_801EB5C8_8017D7EC; /* 0x1D0 */ -typedef struct { - u16 f0; - u16 f1; - u16 f2; - u16 f3; - u16 f4; - u16 f5; - u16 f6; - u16 f7; - s32 f8; -} Local_8017EE34; -typedef struct { u16 vx, vy, vz, pad; } UVEC_8017F234; -typedef struct { u16 vx, vy, vz, pad; } UVEC_8017F55C; -typedef struct { s16 vx, vy, vz, pad; } SVec_8017FAE8; + /* 0x1C */ + /* 0x1D0 */ extern void func_801458E0(void); extern s32 D_800AE6AC; extern s32 D_800AE6B0; diff --git a/src/ov_SC03_105/ov_SC03_105_jr_80181C84.c b/src/ov_SC03_105/ov_SC03_105_jr_80181C84.c index 3b68ff6dcd..685b478e9d 100644 --- a/src/ov_SC03_105/ov_SC03_105_jr_80181C84.c +++ b/src/ov_SC03_105/ov_SC03_105_jr_80181C84.c @@ -9,40 +9,8 @@ typedef struct { u8 pad[7]; /* -> 0x40 */ } Prim_8016E7C8; typedef void (*Handler)(struct Entry_8016E95C *); -typedef struct { - u16 f0; - u16 f2; - u16 f4; - u16 f6; - u16 f8; - u16 fA; - s32 fC; - s32 f10; - s32 f14; - s32 f18; -} SubRec_801EB5C8_8017D7EC; /* 0x1C */ -typedef struct { - u16 g0; - u16 g2; - s32 g4; - s32 g8; - s32 gC; - SubRec_801EB5C8_8017D7EC subs[16]; -} GroupRec_801EB5C8_8017D7EC; /* 0x1D0 */ -typedef struct { - u16 f0; - u16 f1; - u16 f2; - u16 f3; - u16 f4; - u16 f5; - u16 f6; - u16 f7; - s32 f8; -} Local_8017EE34; -typedef struct { u16 vx, vy, vz, pad; } UVEC_8017F234; -typedef struct { u16 vx, vy, vz, pad; } UVEC_8017F55C; -typedef struct { s16 vx, vy, vz, pad; } SVec_8017FAE8; + /* 0x1C */ + /* 0x1D0 */ extern void func_801458E0(void); extern s32 D_800AE6AC; extern s32 D_800AE6B0; @@ -2914,17 +2882,6 @@ extern void func_80183F0C(void *a0); extern void func_801843DC(); extern void func_80184604(s32 arg0); -typedef struct { - u16 f0; - u16 f1; - u16 f2; - u16 f3; - u16 f4; - u16 f5; - u16 f6; - u16 f7; - s32 f8; -} Local_80181C84; void func_80181C84(s32 a0) { @@ -3220,11 +3177,6 @@ typedef struct { u8 b[20]; } Stk; /* f1 is SIGNED: `vec.f1 = -4` / `-0x10` must materialise as `addiu $v0,$zero,-K`. * A u16 field converts the constant to 0xFFFC/0xFFF0 and emits `ori` instead. */ -typedef struct { - u16 f0; - s16 f1; - u16 f2; -} Vec3x16; extern s32 rand(void); extern u16 D_800B99DA; @@ -3395,7 +3347,6 @@ extern u8 D_8018E47C[]; /* the func_8012F14C in/out vectors are read back with `lhu`, so u16 fields * (TU:4309 house note on func_8017F234) */ -typedef struct { u16 vx, vy, vz, pad; } UVEC_80182BD8; void func_80182BD8(s32 a0, u16 *a1, s32 a2, s32 a3) { @@ -3836,9 +3787,6 @@ void func_8018383C(s32 a0, s32 a1) * globals-into-locals shape, different callee (AABB test func_8013361C * instead of func_800132BC). */ -typedef struct { - s16 a, b, c; -} Vec3s16_8018388C; extern u16 D_80126B5E; extern u16 D_80126B62; @@ -4085,7 +4033,6 @@ void func_80183D38(void *a0, s16 a1, s32 a2) { extern s32 func_8012EFB8(void *param_1, void *param_2); extern void func_8002D4C8(s32 a0, s32 a1); -typedef struct { s16 vx, vy, vz, pad; } SVec_80183DA0; void func_80183DA0(s32 a0) { SVec_80183DA0 pos; @@ -4165,15 +4112,6 @@ void func_80183F0C(void *a0) { * padded to 0x40 (frame 0x10..0x4F). * flag (s32) @0x70. var_size = 0x40+0x20+8 = 0x68 -> frame 0x98 w/ 7 saves. */ -typedef struct { s16 vx, vy, vz, pad; } SVec_80183F84; -typedef struct { - SVec_80183F84 v[4]; /* 0x00 */ - s16 u0, t0, u1, t1, u2, t2, u3, t3; /* 0x20 */ - u32 bcast; /* 0x30 */ - s32 tag; /* 0x34 */ - u8 code; /* 0x38 */ - u8 pad39[7]; /* 0x39 -> 0x40 */ -} Prim_80183F84; extern MATRIX_80188114 D_800AE620; @@ -4263,12 +4201,6 @@ void func_80183F84(void *a0, void *a1) { /* 8 bytes, align 2 -> the `pos = vec` / `out = vec` assignments become the * lwl/lwr/swl/swr movstrsi_internal pair (align != UNITS_PER_WORD). */ -typedef struct { - u16 f0; - s16 f1; - u16 f2; - u16 f3; -} Vec4s16_8018423C; extern s32 rand(void); extern u16 D_800B99DA; @@ -4557,7 +4489,6 @@ extern void func_80185810(s32 a0); extern s32 func_80185480(void *a0, void *a1); extern s32 func_80047D3C(s32 a0); -typedef struct { s16 vx, vy, vz, pad; } SVEC_801BA5A8; extern s32 VectorNormalSS(void *a0, void *a1); extern SVEC_801BA5A8 D_801BA5A8[]; @@ -4968,9 +4899,6 @@ void func_80184FBC(s32 param_1, s32 param_2, s32 *param_3) #include "common.h" -typedef struct { - u16 f0, f1, f2, f3; -} Vec4x16; extern s32 func_801851E0(void); extern void func_80185660(s32 *a0, s32 *a1, s32 a2); @@ -5077,9 +5005,6 @@ s32 func_8018526C(s32 a0, s32 a1, s32 a2, s32 a3) { #include "common.h" -typedef struct { - s16 a, b, c; -} Vec3s16_80185380; extern u16 D_80126B5E; extern u16 D_80126B62; @@ -5115,8 +5040,6 @@ s32 func_80185380(s32 a0, s16 *a1, s32 a2) { } -typedef struct { s16 x, y, z, w; } V4_80185480; -typedef struct { s16 m[3][3]; s32 t[3]; } Mtx32_80185480; extern void func_80185FB4(s32, s32, s32); extern void func_8012F14C(s32, s32, s32); diff --git a/src/ov_SC03_105/ov_SC03_105_jr_8018624C.c b/src/ov_SC03_105/ov_SC03_105_jr_8018624C.c index a844a44ac7..eee182d087 100644 --- a/src/ov_SC03_105/ov_SC03_105_jr_8018624C.c +++ b/src/ov_SC03_105/ov_SC03_105_jr_8018624C.c @@ -242,9 +242,6 @@ void func_8018676C(s32 a0) { * `sh 0x34($s0)` store. A plain `*(u16 *)(s0 + 0x34)` cast denies `/s`, the * true_dependence drop clause never fires, and the block costs two load-delay * nops (the whole function's LENGTH-DRIFT/2). */ -struct Ctr34 { - u16 h; -}; extern void func_8013C9C4(void *a0); extern void func_801871C0(void *a0, s32 a1, s32 a2); diff --git a/src/ov_SC03_105/ov_SC03_105_jr_80186B24.c b/src/ov_SC03_105/ov_SC03_105_jr_80186B24.c index bbc02fb631..7a17a0e690 100644 --- a/src/ov_SC03_105/ov_SC03_105_jr_80186B24.c +++ b/src/ov_SC03_105/ov_SC03_105_jr_80186B24.c @@ -9,60 +9,9 @@ typedef struct { u8 pad[7]; /* -> 0x40 */ } Prim_8016E7C8; typedef void (*Handler)(struct Entry_8016E95C *); -typedef struct { - u16 f0; - u16 f2; - u16 f4; - u16 f6; - u16 f8; - u16 fA; - s32 fC; - s32 f10; - s32 f14; - s32 f18; -} SubRec_801EB5C8_8017D7EC; /* 0x1C */ -typedef struct { - u16 g0; - u16 g2; - s32 g4; - s32 g8; - s32 gC; - SubRec_801EB5C8_8017D7EC subs[16]; -} GroupRec_801EB5C8_8017D7EC; /* 0x1D0 */ -typedef struct { - u16 f0; - u16 f1; - u16 f2; - u16 f3; - u16 f4; - u16 f5; - u16 f6; - u16 f7; - s32 f8; -} Local_8017EE34; -typedef struct { u16 vx, vy, vz, pad; } UVEC_8017F234; -typedef struct { - s16 a, b, c; -} Vec3s16_8018388C; -typedef struct { s16 vx, vy, vz, pad; } SVec_80183F84; -typedef struct { - SVec_80183F84 v[4]; /* 0x00 */ - s16 u0, t0, u1, t1, u2, t2, u3, t3; /* 0x20 */ - u32 bcast; /* 0x30 */ - s32 tag; /* 0x34 */ - u8 code; /* 0x38 */ - u8 pad39[7]; /* 0x39 -> 0x40 */ -} Prim_80183F84; + /* 0x1C */ + /* 0x1D0 */ struct vec; -typedef struct { s16 vx, vy, vz, pad; } SVEC_801BA5A8; -typedef struct { - u16 f0, f1, f2, f3; -} Vec4x16; -typedef struct { - s16 a, b, c; -} Vec3s16_80185380; -typedef struct { s16 x, y, z, w; } V4_80185480; -typedef struct { s16 m[3][3]; s32 t[3]; } Mtx32_80185480; extern void func_801458E0(void); extern s32 D_800AE6AC; extern s32 D_800AE6B0; diff --git a/src/ov_SC03_105/ov_SC03_105_jr_80186DDC.c b/src/ov_SC03_105/ov_SC03_105_jr_80186DDC.c index 2f73bdbaaa..344731f201 100644 --- a/src/ov_SC03_105/ov_SC03_105_jr_80186DDC.c +++ b/src/ov_SC03_105/ov_SC03_105_jr_80186DDC.c @@ -9,56 +9,9 @@ typedef struct { u8 pad[7]; /* -> 0x40 */ } Prim_8016E7C8; typedef void (*Handler)(struct Entry_8016E95C *); -typedef struct { - u16 f0; - u16 f2; - u16 f4; - u16 f6; - u16 f8; - u16 fA; - s32 fC; - s32 f10; - s32 f14; - s32 f18; -} SubRec_801EB5C8_8017D7EC; /* 0x1C */ -typedef struct { - u16 g0; - u16 g2; - s32 g4; - s32 g8; - s32 gC; - SubRec_801EB5C8_8017D7EC subs[16]; -} GroupRec_801EB5C8_8017D7EC; /* 0x1D0 */ -typedef struct { - u16 f0; - u16 f1; - u16 f2; - u16 f3; - u16 f4; - u16 f5; - u16 f6; - u16 f7; - s32 f8; -} Local_8017EE34; -typedef struct { - s16 a, b, c; -} Vec3s16_8018388C; -typedef struct { s16 vx, vy, vz, pad; } SVec_80183F84; -typedef struct { - SVec_80183F84 v[4]; /* 0x00 */ - s16 u0, t0, u1, t1, u2, t2, u3, t3; /* 0x20 */ - u32 bcast; /* 0x30 */ - s32 tag; /* 0x34 */ - u8 code; /* 0x38 */ - u8 pad39[7]; /* 0x39 -> 0x40 */ -} Prim_80183F84; + /* 0x1C */ + /* 0x1D0 */ struct vec; -typedef struct { s16 vx, vy, vz, pad; } SVEC_801BA5A8; -typedef struct { - u16 f0, f1, f2, f3; -} Vec4x16; -typedef struct { s16 x, y, z, w; } V4_80185480; -typedef struct { s16 m[3][3]; s32 t[3]; } Mtx32_80185480; extern void func_801458E0(void); extern s32 D_800AE6AC; extern s32 D_800AE6B0; @@ -3491,18 +3444,8 @@ void func_80187928(void *a0) { -typedef struct { s16 vx; u16 vy; s16 vz; s16 pad; } SV_80187A30; -typedef struct { - SV_80187A30 v[4]; /* 0x00 */ - u16 u0, t0, u1, t1, u2, t2, u3, t3; /* 0x20 */ - u8 r, g, b, cd; /* 0x30 */ - s32 tag; /* 0x34 */ - u8 code; /* 0x38 */ - u8 pad39[7]; /* 0x39 -> 0x40 */ -} Prim_80187A30; -typedef struct { s16 m[3][3]; s32 t[3]; } MATRIX_80187A30; extern u8 D_800AF648; extern u16 D_800B99DA; extern s32 func_80047948(s32 a0); @@ -3731,17 +3674,8 @@ void func_8018807C(s32 a0) { * these two typedefs and use the TU's MATRIX / SVECTOR verbatim (law 2/8: same * body, so the rename is byte-neutral). */ -typedef struct { short vx, vy, vz, pad; } SVECTOR_80188114; /* sp+0x10 aggregate handed to func_800176F0: 4 SVECTORs + 5 words. */ -typedef struct { - SVECTOR_80188114 v[4]; /* 0x00 */ - s32 f0; /* 0x20 */ - s32 f1; /* 0x24 */ - s32 f2; /* 0x28 */ - s32 f3; /* 0x2C */ - s32 f4; /* 0x30 */ -} Prim_80188114; extern void RotMatrixZ(s32 a0, void *a1); extern void func_8012F14C(s32 a0, s32 a1, s32 a2); diff --git a/src/ov_SC03_105/ov_SC03_105_jr_80189798.c b/src/ov_SC03_105/ov_SC03_105_jr_80189798.c index 68bd006e22..508053c8c5 100644 --- a/src/ov_SC03_105/ov_SC03_105_jr_80189798.c +++ b/src/ov_SC03_105/ov_SC03_105_jr_80189798.c @@ -9,26 +9,8 @@ typedef struct { u8 pad[7]; /* -> 0x40 */ } Prim_8016E7C8; typedef void (*Handler)(struct Entry_8016E95C *); -typedef struct { - u16 f0; - u16 f2; - u16 f4; - u16 f6; - u16 f8; - u16 fA; - s32 fC; - s32 f10; - s32 f14; - s32 f18; -} SubRec_801EB5C8_8017D7EC; /* 0x1C */ -typedef struct { - u16 g0; - u16 g2; - s32 g4; - s32 g8; - s32 gC; - SubRec_801EB5C8_8017D7EC subs[16]; -} GroupRec_801EB5C8_8017D7EC; /* 0x1D0 */ + /* 0x1C */ + /* 0x1D0 */ extern void func_801458E0(void); extern s32 D_800AE6AC; extern s32 D_800AE6B0; @@ -2812,7 +2794,7 @@ extern void func_8018975C(void *a0); // body) using a locally-named struct type — block-scope externs don't collide with another // function's block-scope externs for the same symbol (§S38/D2). -typedef struct { s32 w[4]; } LBlk16; /* 16-byte record, block-scoped local name only */ + /* 16-byte record, block-scoped local name only */ void func_80189798(void *a0) { diff --git a/src/ov_SC03_107/ov_SC03_107.c b/src/ov_SC03_107/ov_SC03_107.c index 160ea5cc5c..beb20e25df 100644 --- a/src/ov_SC03_107/ov_SC03_107.c +++ b/src/ov_SC03_107/ov_SC03_107.c @@ -1041,7 +1041,6 @@ void func_8012BF4C(s32 *a0, s32 a1) { #include "../shared/ov/func_8012C820.h" - typedef struct { s8 c[8]; } Blk8_8012C890; // @class: schedule // @unstuck(P36): none — MATCH (149 ins). Counter (*(u16 *)&D_801270C4): gcc CSE's the two reads (store to @@ -1366,7 +1365,6 @@ void func_8012E284(void) { #include "../shared/ov/func_8012E32C.h" - typedef struct { s8 c[8]; } Blk8_8012E364; /* func_8012E364 (ov_SC01_077_jr_8012ACE0) — MATCH, 67/67 ins, 0 mismatched (reloc-masked). * @@ -1579,7 +1577,6 @@ void func_8012E9C0(int param_1) #include "../shared/ov/func_8012EF70.h" - typedef struct { s8 c[8]; } Blk8_8012EFB8; /* §37/§124 asm-label alias: the fleet canon declares this `extern void * func_8012EFB8(s32 a0);` inside the DEFINE_func_* macros in @@ -1698,7 +1695,6 @@ void func_8012F8C8(int param_1) #include "../shared/ov/func_8012FCA4.h" - typedef struct { s8 c[8]; } Blk8_8012FCC4; // @class: schedule // @unstuck(P36): none — MATCH (57 ins), byte-exact via rtu_match on the real TU. @@ -2004,7 +2000,6 @@ extern s32 func_8012BCCC(s32 a0); extern s32 func_80131A34(s32, s32); extern s32 func_80131AC8(void *a0); extern void func_80131B14(void); - typedef struct { s8 c[8]; } Blk8_80131170; // @class: loop-guard diff --git a/src/ov_SC03_107/ov_SC03_107_jr_80131340.c b/src/ov_SC03_107/ov_SC03_107_jr_80131340.c index c2e1b8234f..26f5df60c8 100644 --- a/src/ov_SC03_107/ov_SC03_107_jr_80131340.c +++ b/src/ov_SC03_107/ov_SC03_107_jr_80131340.c @@ -532,7 +532,6 @@ extern void func_80131170(s32 p, s32 b, s32 c); extern s32 func_801312D0(s32 param_1, void *param_2); - typedef struct { s8 c[8]; } Blk8_80131340; // @class: plumbing @@ -874,7 +873,6 @@ extern void func_8012B23C(s32 a0); extern void func_8012B2CC(s32 a0); extern void func_8016AA50(int, int); extern s32 func_8016B428(s32); - typedef struct { s8 c[8]; } Blk8_80131B14; // @class: regalloc-order // @unstuck(P36): none — MATCH (89 ins). Reconcile: TU canonical decl is `void func_80131B14(void)` @@ -946,7 +944,6 @@ void func_80131B14(void) { #include "../shared/ov/func_80131C78.h" - typedef struct { s8 c[8]; } Blk8_80131CA8; /* func_80131CA8 — RECONCILE (§37/§124 asm-label alias) * @@ -976,7 +973,6 @@ extern s32 func_80131CF4(); // K&R: 1/2 of 2 args (P37 unalias t4_ua6) #include "../shared/ov/func_80131CA8.h" - typedef struct { s8 c[8]; } Blk8_80131CF4; /* func_80131CF4 — table lookup: walk (key, value) pairs; key 0xD chains to the @@ -1247,7 +1243,6 @@ void func_8013277C(void) { #include "../shared/ov/func_80132EF4.h" - typedef struct { s8 c[8]; } Blk8_80132F40; /* func_80132F40 — ov_SC01_077 (jr_8012ACE0 region), 72 ins, -O2. *** MATCH *** * @@ -2030,7 +2025,6 @@ int func_80134A74(int param_1, s16 param_2, s16 param_3, int param_4) } - typedef struct { s8 c[8]; } Blk8_80134C20; // @class: regalloc-order // @try: variant B — direct pins m=$s5($21), c=$s6($22) @@ -2123,7 +2117,6 @@ block_14: #include "../shared/ov/func_80134FB8.h" - typedef struct { s8 c[8]; } Blk8_80135004; // @class: plumbing // @stuck: MATCH (89 ins). To BANK: retype aD80182A3C_80135004 + aD80182A38_80135004 (u8 -> s16*) in sibling func_80135168's externs (src/ov_SC01_077/ov_SC01_077_a.c ~L1879); they hold pointers double-referenced across a call, so only a 4-byte/pointer decl folds %lo (u8 &-cast CSE's the address into a saved reg). Retype is byte-NEUTRAL for the sibling (verified: identical objdump bytes u8 vs s16*). @@ -2234,7 +2227,6 @@ int func_80135168(u16 arg0, u16 *p1, u16 *p2) } - typedef struct { s8 c[8]; } Blk8_80135260; /* func_80135260 — "is reachable/hittable" gate (136 ins, ov_SC01_077 jr_8012ACE0). diff --git a/src/ov_SC03_107/ov_SC03_107_jr_801458E0.c b/src/ov_SC03_107/ov_SC03_107_jr_801458E0.c index 0b8a83c60c..cd7385b7dd 100644 --- a/src/ov_SC03_107/ov_SC03_107_jr_801458E0.c +++ b/src/ov_SC03_107/ov_SC03_107_jr_801458E0.c @@ -1528,13 +1528,6 @@ void aF80146A6C(s16 a0, s32 a1, s16 a2, s16 a3, u16 a4, s32 a5, s32 a6) __asm__( extern s32 func_80146B9C(void * arg0); - typedef struct - { - u16 x; - u16 y; - u16 z; - u16 w; - } V4_80146AFC; /* func_80146AFC — ASCENDING twin of the byte-proven DEFINE_func_80146B9C() * in src/shared/engine_core.h (cookbook §71: find the already-matched sibling first). @@ -2357,13 +2350,6 @@ s32 func_80149FB0(s32 a0) { #include "../shared/ov/func_8014A71C.h" - typedef struct - { - u16 x; - u16 y; - u16 z; - u16 w; - } V4_8014A738; @@ -2923,14 +2909,6 @@ void func_8014D738(void) #include "../shared/ov/func_8014D790.h" - typedef Unkstruct_800B5CB8 Ent_8014D820; - typedef struct - { - u16 x; - u16 y; - u16 z; - u16 w; - } V4_8014D820; // @class: schedule // @unstuck(P36): none — MATCH (304/304), symcheck SYMS-OK 12/12, and the whole-TU cc1 stage now compiles CLEAN @@ -3826,13 +3804,6 @@ s32 func_801506A4(s32 arg0, s32 arg1) { #include "../shared/ov/func_801508F8.h" - typedef struct - { - u16 x; - u16 y; - u16 z; - u16 w; - } V4_8015094C; extern s32 func_80021174(s32 a0, s32 a1); diff --git a/src/ov_SC03_107/ov_SC03_107_jr_8015A3C8.c b/src/ov_SC03_107/ov_SC03_107_jr_8015A3C8.c index 285b9d9e3f..b046acb3ad 100644 --- a/src/ov_SC03_107/ov_SC03_107_jr_8015A3C8.c +++ b/src/ov_SC03_107/ov_SC03_107_jr_8015A3C8.c @@ -8276,25 +8276,6 @@ void func_80168D94(int a0) { -typedef struct { - u16 f00; - u16 f02; - u16 f04; - u16 pad06; - u16 f08; - u16 f0A; - u16 f0C; - u16 pad0E; - u8 f10; - u8 f11; - u8 f12; - u8 pad13; - u8 f14; - u8 f15; - u8 f16; - u8 pad17; - u32 f18; -} S1_80168F40; extern s32 func_80016A5C(); diff --git a/src/ov_SC03_107/ov_SC03_107_jr_8016AE5C.c b/src/ov_SC03_107/ov_SC03_107_jr_8016AE5C.c index 03430fe2a9..3a33689229 100644 --- a/src/ov_SC03_107/ov_SC03_107_jr_8016AE5C.c +++ b/src/ov_SC03_107/ov_SC03_107_jr_8016AE5C.c @@ -1,25 +1,6 @@ #include "common.h" #include "../shared/engine_prelude.h" -typedef struct { - u16 f00; - u16 f02; - u16 f04; - u16 pad06; - u16 f08; - u16 f0A; - u16 f0C; - u16 pad0E; - u8 f10; - u8 f11; - u8 f12; - u8 pad13; - u8 f14; - u8 f15; - u8 f16; - u8 pad17; - u32 f18; -} S1_80168F40; extern void func_80128288(void); extern void func_80128158(void); extern void func_801285E4(void); @@ -2976,12 +2957,6 @@ LOOP: } -typedef struct { - SVECTOR v[4]; /* 0x00 */ - s32 f0, f1, f2, f3, f4, f5; /* 0x20..0x37 */ - u8 f6; /* 0x38 */ - u8 pad[7]; /* -> 0x40 */ -} Prim_8016E7C8_8016B6BC; // @class: schedule // @unstuck(P36): none — MATCH (94/94 ins, match_one relocation-masked) @@ -3103,12 +3078,6 @@ int func_8016B834(int param_1, int param_2) { #include "../shared/ov/func_8016B984.h" -typedef struct { - SVECTOR v[4]; /* 0x00 */ - s32 f0, f1, f2, f3, f4, f5; /* 0x20..0x37 */ - u8 f6; /* 0x38 */ - u8 pad[7]; /* -> 0x40 */ -} Prim_8016E7C8_8016B9F8; // @class: regalloc-order // @unstuck(P36): none — MATCH (result is func_8012EFB8's return saved in $s0 across the func_80015954 call; the save-move fills the 2nd call's delay slot. func_80015954's return is discarded.) @@ -3458,12 +3427,6 @@ void func_8016C188(s32 param) } -typedef struct { - SVECTOR v[4]; /* 0x00 */ - s32 f0, f1, f2, f3, f4, f5; /* 0x20..0x37 */ - u8 f6; /* 0x38 */ - u8 pad[7]; /* -> 0x40 */ -} Prim_8016E7C8_8016C2C4; // @class: schedule // @unstuck(P36): none — MATCH (44 ins; pins $s0/$s1 + hoist call-arg into a temp so its load fills the buf-store delay slot) @@ -3679,12 +3642,6 @@ void func_8016CB84(void *a0) { } -typedef struct { - SVECTOR v[4]; /* 0x00 */ - s32 f0, f1, f2, f3, f4, f5; /* 0x20..0x37 */ - u8 f6; /* 0x38 */ - u8 pad[7]; /* -> 0x40 */ -} Prim_8016E7C8_8016CBC0; extern s32 func_80017758(void *a0, void *a1); short func_8016CBC0(void) @@ -4616,12 +4573,6 @@ void func_8016EAC0(Wave *param_1) } -typedef struct { - SVECTOR v[4]; /* 0x00 */ - s32 f0, f1, f2, f3, f4, f5; /* 0x20..0x37 */ - u8 f6; /* 0x38 */ - u8 pad[7]; /* -> 0x40 */ -} Prim_8016E7C8_8016EB3C; // @class: loose-typing // @unstuck(P36): none — MATCH (u8 v + 0xFF emits addiu 0xFF; v-1 would emit -1/0xffff) @@ -4668,12 +4619,6 @@ void func_8016EBA8(u8 *param_1) } -typedef struct { - SVECTOR v[4]; /* 0x00 */ - s32 f0, f1, f2, f3, f4, f5; /* 0x20..0x37 */ - u8 f6; /* 0x38 */ - u8 pad[7]; /* -> 0x40 */ -} Prim_8016E7C8_8016EC0C; extern void func_80017B98(void *a0); @@ -4803,12 +4748,6 @@ void func_8016ED6C(void) { #include "../shared/ov/func_8016F1AC.h" -typedef struct { - SVECTOR v[4]; /* 0x00 */ - s32 f0, f1, f2, f3, f4, f5; /* 0x20..0x37 */ - u8 f6; /* 0x38 */ - u8 pad[7]; /* -> 0x40 */ -} Prim_8016E7C8_8016F1C4; // @class: schedule // @unstuck(P36): none — MATCH diff --git a/src/ov_SC03_107/ov_SC03_107_jr_80171B4C.c b/src/ov_SC03_107/ov_SC03_107_jr_80171B4C.c index d78d4cd63e..100b3aa869 100644 --- a/src/ov_SC03_107/ov_SC03_107_jr_80171B4C.c +++ b/src/ov_SC03_107/ov_SC03_107_jr_80171B4C.c @@ -1,68 +1,7 @@ #include "common.h" #include "../shared/engine_prelude.h" -typedef struct { - u16 f00; - u16 f02; - u16 f04; - u16 pad06; - u16 f08; - u16 f0A; - u16 f0C; - u16 pad0E; - u8 f10; - u8 f11; - u8 f12; - u8 pad13; - u8 f14; - u8 f15; - u8 f16; - u8 pad17; - u32 f18; -} S1_80168F40; -typedef struct { - SVECTOR v[4]; /* 0x00 */ - s32 f0, f1, f2, f3, f4, f5; /* 0x20..0x37 */ - u8 f6; /* 0x38 */ - u8 pad[7]; /* -> 0x40 */ -} Prim_8016E7C8_8016B6BC; -typedef struct { - SVECTOR v[4]; /* 0x00 */ - s32 f0, f1, f2, f3, f4, f5; /* 0x20..0x37 */ - u8 f6; /* 0x38 */ - u8 pad[7]; /* -> 0x40 */ -} Prim_8016E7C8_8016B9F8; -typedef struct { - SVECTOR v[4]; /* 0x00 */ - s32 f0, f1, f2, f3, f4, f5; /* 0x20..0x37 */ - u8 f6; /* 0x38 */ - u8 pad[7]; /* -> 0x40 */ -} Prim_8016E7C8_8016C2C4; -typedef struct { - SVECTOR v[4]; /* 0x00 */ - s32 f0, f1, f2, f3, f4, f5; /* 0x20..0x37 */ - u8 f6; /* 0x38 */ - u8 pad[7]; /* -> 0x40 */ -} Prim_8016E7C8_8016CBC0; typedef void (*Handler)(struct Entry *); -typedef struct { - SVECTOR v[4]; /* 0x00 */ - s32 f0, f1, f2, f3, f4, f5; /* 0x20..0x37 */ - u8 f6; /* 0x38 */ - u8 pad[7]; /* -> 0x40 */ -} Prim_8016E7C8_8016EB3C; -typedef struct { - SVECTOR v[4]; /* 0x00 */ - s32 f0, f1, f2, f3, f4, f5; /* 0x20..0x37 */ - u8 f6; /* 0x38 */ - u8 pad[7]; /* -> 0x40 */ -} Prim_8016E7C8_8016EC0C; -typedef struct { - SVECTOR v[4]; /* 0x00 */ - s32 f0, f1, f2, f3, f4, f5; /* 0x20..0x37 */ - u8 f6; /* 0x38 */ - u8 pad[7]; /* -> 0x40 */ -} Prim_8016E7C8_8016F1C4; extern void func_80128288(void); extern void func_80128158(void); extern void func_801285E4(void); @@ -4163,12 +4102,6 @@ void func_80175AB8(param_1) } -typedef struct { - SVECTOR v[4]; /* 0x00 */ - s32 f0, f1, f2, f3, f4, f5; /* 0x20..0x37 */ - u8 f6; /* 0x38 */ - u8 pad[7]; /* -> 0x40 */ -} Prim_8016E7C8_80175DA8; /* size 0x0C */ extern u32 *func_8017742C(u32 *a0, s32 a1, s32 a2); @@ -4304,12 +4237,6 @@ void func_80175DA8(param_1) #include "../shared/ov/func_80176144.h" -typedef struct { - SVECTOR v[4]; /* 0x00 */ - s32 f0, f1, f2, f3, f4, f5; /* 0x20..0x37 */ - u8 f6; /* 0x38 */ - u8 pad[7]; /* -> 0x40 */ -} Prim_8016E7C8_80176218; // @class: regalloc-order @@ -4545,12 +4472,6 @@ L63C: } -typedef struct { - SVECTOR v[4]; /* 0x00 */ - s32 f0, f1, f2, f3, f4, f5; /* 0x20..0x37 */ - u8 f6; /* 0x38 */ - u8 pad[7]; /* -> 0x40 */ -} Prim_8016E7C8_80176734; void func_80176734(s32 param_1) { @@ -4832,12 +4753,6 @@ Ltail: #include "../shared/ov/func_80177AD4.h" -typedef struct { - SVECTOR v[4]; /* 0x00 */ - s32 f0, f1, f2, f3, f4, f5; /* 0x20..0x37 */ - u8 f6; /* 0x38 */ - u8 pad[7]; /* -> 0x40 */ -} Prim_8016E7C8_80177B5C; /* func_80177B5C - MATCH (147/147 ins), wave23. * @@ -4998,12 +4913,6 @@ s16 y; } -typedef struct { - SVECTOR v[4]; /* 0x00 */ - s32 f0, f1, f2, f3, f4, f5; /* 0x20..0x37 */ - u8 f6; /* 0x38 */ - u8 pad[7]; /* -> 0x40 */ -} Prim_8016E7C8_80177DA8; void func_80177DA8(p, v, idx) @@ -5133,12 +5042,6 @@ void func_80178840(int param_1) #include "../shared/ov/func_801788B8.h" -typedef struct { - SVECTOR v[4]; /* 0x00 */ - s32 f0, f1, f2, f3, f4, f5; /* 0x20..0x37 */ - u8 f6; /* 0x38 */ - u8 pad[7]; /* -> 0x40 */ -} Prim_8016E7C8_80178970; // @class: regalloc-order // @stuck: none — MATCH (result pinned to $v0 forces call-result copy to $v1 + delay-slot zero) diff --git a/src/ov_SC03_107/ov_SC03_107_jr_801789AC.c b/src/ov_SC03_107/ov_SC03_107_jr_801789AC.c index 0ff8ab1b5b..dd1112a6c3 100644 --- a/src/ov_SC03_107/ov_SC03_107_jr_801789AC.c +++ b/src/ov_SC03_107/ov_SC03_107_jr_801789AC.c @@ -1,104 +1,7 @@ #include "common.h" #include "../shared/engine_prelude.h" -typedef struct { - u16 f00; - u16 f02; - u16 f04; - u16 pad06; - u16 f08; - u16 f0A; - u16 f0C; - u16 pad0E; - u8 f10; - u8 f11; - u8 f12; - u8 pad13; - u8 f14; - u8 f15; - u8 f16; - u8 pad17; - u32 f18; -} S1_80168F40; -typedef struct { - SVECTOR v[4]; /* 0x00 */ - s32 f0, f1, f2, f3, f4, f5; /* 0x20..0x37 */ - u8 f6; /* 0x38 */ - u8 pad[7]; /* -> 0x40 */ -} Prim_8016E7C8_8016B6BC; -typedef struct { - SVECTOR v[4]; /* 0x00 */ - s32 f0, f1, f2, f3, f4, f5; /* 0x20..0x37 */ - u8 f6; /* 0x38 */ - u8 pad[7]; /* -> 0x40 */ -} Prim_8016E7C8_8016B9F8; -typedef struct { - SVECTOR v[4]; /* 0x00 */ - s32 f0, f1, f2, f3, f4, f5; /* 0x20..0x37 */ - u8 f6; /* 0x38 */ - u8 pad[7]; /* -> 0x40 */ -} Prim_8016E7C8_8016C2C4; -typedef struct { - SVECTOR v[4]; /* 0x00 */ - s32 f0, f1, f2, f3, f4, f5; /* 0x20..0x37 */ - u8 f6; /* 0x38 */ - u8 pad[7]; /* -> 0x40 */ -} Prim_8016E7C8_8016CBC0; typedef void (*Handler)(struct Entry *); -typedef struct { - SVECTOR v[4]; /* 0x00 */ - s32 f0, f1, f2, f3, f4, f5; /* 0x20..0x37 */ - u8 f6; /* 0x38 */ - u8 pad[7]; /* -> 0x40 */ -} Prim_8016E7C8_8016EB3C; -typedef struct { - SVECTOR v[4]; /* 0x00 */ - s32 f0, f1, f2, f3, f4, f5; /* 0x20..0x37 */ - u8 f6; /* 0x38 */ - u8 pad[7]; /* -> 0x40 */ -} Prim_8016E7C8_8016EC0C; -typedef struct { - SVECTOR v[4]; /* 0x00 */ - s32 f0, f1, f2, f3, f4, f5; /* 0x20..0x37 */ - u8 f6; /* 0x38 */ - u8 pad[7]; /* -> 0x40 */ -} Prim_8016E7C8_8016F1C4; -typedef struct { - SVECTOR v[4]; /* 0x00 */ - s32 f0, f1, f2, f3, f4, f5; /* 0x20..0x37 */ - u8 f6; /* 0x38 */ - u8 pad[7]; /* -> 0x40 */ -} Prim_8016E7C8_80175DA8; -typedef struct { - SVECTOR v[4]; /* 0x00 */ - s32 f0, f1, f2, f3, f4, f5; /* 0x20..0x37 */ - u8 f6; /* 0x38 */ - u8 pad[7]; /* -> 0x40 */ -} Prim_8016E7C8_80176218; -typedef struct { - SVECTOR v[4]; /* 0x00 */ - s32 f0, f1, f2, f3, f4, f5; /* 0x20..0x37 */ - u8 f6; /* 0x38 */ - u8 pad[7]; /* -> 0x40 */ -} Prim_8016E7C8_80176734; -typedef struct { - SVECTOR v[4]; /* 0x00 */ - s32 f0, f1, f2, f3, f4, f5; /* 0x20..0x37 */ - u8 f6; /* 0x38 */ - u8 pad[7]; /* -> 0x40 */ -} Prim_8016E7C8_80177B5C; -typedef struct { - SVECTOR v[4]; /* 0x00 */ - s32 f0, f1, f2, f3, f4, f5; /* 0x20..0x37 */ - u8 f6; /* 0x38 */ - u8 pad[7]; /* -> 0x40 */ -} Prim_8016E7C8_80177DA8; -typedef struct { - SVECTOR v[4]; /* 0x00 */ - s32 f0, f1, f2, f3, f4, f5; /* 0x20..0x37 */ - u8 f6; /* 0x38 */ - u8 pad[7]; /* -> 0x40 */ -} Prim_8016E7C8_80178970; extern void func_80128288(void); extern void func_80128158(void); extern void func_801285E4(void); @@ -4957,7 +4860,6 @@ void func_8017A4AC(void) { #include "../shared/ov/func_8017AE08.h" -typedef struct { s16 m[3][3]; s32 t[3]; } MTX_C974; extern s32 func_8012B608(s32 a0, s32 a1, s32 a2); extern void func_8012B178(s32 a0, s32 a1); @@ -5104,7 +5006,6 @@ void func_8017B1D8(void) { extern void func_8012A018(s32 a, s32 b); -typedef struct { s16 m[3][3]; s32 t[3]; } MTX_C974_8017B238; // @class: regalloc-order — simplified sibling of matched func_8017B614. // @unstuck(P36): none. Block-moves are align-1 struct-assigns (u8[8]) -> emit_block_move @@ -5462,9 +5363,6 @@ void func_8017B940(void) } -typedef struct { s16 vx, vy; } DVEC2_C974_8017BA3C; -typedef struct { s16 m[3][3]; s32 t[3]; } MTX_C974_8017BA3C; -typedef struct { s16 vx, vy, vz, pad; } SVEC2_C974_8017BA3C; // @class: struct @@ -5518,7 +5416,6 @@ void func_8017BA3C(s32 param_1, s32 param_2) extern void func_8004914C(void *a0); extern void func_800491AC(void *a0); extern void func_80049CAC(s32 a0, s32 a1); -typedef struct { s16 m[3][3]; s32 t[3]; } MTX_C974_8017BB34; @@ -5712,7 +5609,6 @@ void func_8017BEB4(void) { * ApplyMatrixSV (line 725); those spellings are used verbatim below. * ========================================================================== */ -typedef struct { s16 m[3][3]; s32 t[3]; } MTX_8017BEBC; extern s32 func_800491EC(void); extern void func_800547D8(s32, MTX_8017BEBC *); @@ -6283,7 +6179,6 @@ void func_8017CF0C(void *a0) { `memcpy` at :656), which turns a memcpy call into a real CALL at TU scope (see the TU's own note at :5134). Uniquely named so engine_types.h's file-scope `Blk8` typedef is not redefined (C89 rejects a duplicate). */ -typedef struct { u8 b[8]; } Blk8_8017CF48; extern s16 D_80126940; /* §37 asm-label alias: the destination TU already carries `extern Blk8 D_801274F0;` @@ -6763,12 +6658,6 @@ extern void func_8012A828(s32, void*); } -typedef struct { - SVECTOR_8016E7C8 v[4]; /* 0x00 */ - s32 f0, f1, f2, f3, f4, f5; /* 0x20..0x37 */ - u8 f6; /* 0x38 */ - u8 pad[7]; /* -> 0x40 */ -} Prim_8016E7C8_8017DA64; extern s32 func_8012BCCC(s32 a0); extern void func_8001C924(s32 a0, void *a1); @@ -6938,12 +6827,6 @@ void func_8017DE58(s32 a0) } -typedef struct { - SVECTOR_8016E7C8 v[4]; /* 0x00 */ - s32 f0, f1, f2, f3, f4, f5; /* 0x20..0x37 */ - u8 f6; /* 0x38 */ - u8 pad[7]; /* -> 0x40 */ -} Prim_8016E7C8_8017DEA0; extern s32 func_8012B8E4(s32 arg0, s32 arg1); extern s32 func_8012BEE8(s32 a0); @@ -7193,12 +7076,6 @@ void func_8017E418(s32 arg0, s32 arg1) { } -typedef struct { - SVECTOR_8016E7C8 v[4]; /* 0x00 */ - s32 f0, f1, f2, f3, f4, f5; /* 0x20..0x37 */ - u8 f6; /* 0x38 */ - u8 pad[7]; /* -> 0x40 */ -} Prim_8016E7C8_8017E470; // @class: structural (STRENGTH/mflo!=lw -> MATCH) // @unstuck(P36): none - MATCH (41 ins), match_one + rtu_match. @@ -7510,10 +7387,6 @@ s32 func_8017E960(s32 param_1) { } -typedef struct { - s32 a; - s32 b; -} Pair_801B5E30_8017E9CC; extern u16 D_80126B5E; extern u16 D_80126B66; @@ -7643,7 +7516,6 @@ void func_8017EB04(s32 a0) { */ #include "common.h" -typedef struct { s16 vx, vy, vz, pad; } SVEC_EB70; struct Vec; struct S80131E00; @@ -8591,10 +8463,6 @@ extern u8 *func_8012913C(s32 a0); extern s32 func_80133784(s32 a0, void *a1, s32 a2); extern void func_801292C8(u8 *a0); -typedef struct { - u16 x, y, z; - u8 flag; -} V8_80187968_801804D8; void func_801804D8(s32 a0) { u32 v0; @@ -9707,12 +9575,6 @@ void func_80181D88(void *a0) { } -typedef struct { - SVECTOR_8016E7C8 v[4]; /* 0x00 */ - s32 f0, f1, f2, f3, f4, f5; /* 0x20..0x37 */ - u8 f6; /* 0x38 */ - u8 pad[7]; /* -> 0x40 */ -} Prim_8016E7C8_80181DC4; extern s32 func_801822E4(s32 arg0); @@ -9758,12 +9620,6 @@ void func_80181DC4(s32 a0) { } -typedef struct { - SVECTOR_8016E7C8 v[4]; /* 0x00 */ - s32 f0, f1, f2, f3, f4, f5; /* 0x20..0x37 */ - u8 f6; /* 0x38 */ - u8 pad[7]; /* -> 0x40 */ -} Prim_8016E7C8_80181EC0; extern s32 rand(void); diff --git a/src/ov_SC03_108/ov_SC03_108_jr_8017BEBC.c b/src/ov_SC03_108/ov_SC03_108_jr_8017BEBC.c index 398cf2c30c..2c46dbccc4 100644 --- a/src/ov_SC03_108/ov_SC03_108_jr_8017BEBC.c +++ b/src/ov_SC03_108/ov_SC03_108_jr_8017BEBC.c @@ -3177,9 +3177,6 @@ void func_8017DAD0(void *a0) { } -struct Mtx_8017DB0C { s16 m[3][3]; s32 t[3]; }; -struct SVec_8017DB0C { s16 vx, vy, vz, pad; }; -struct Vec_8017DB0C { s32 vx, vy, vz, pad; }; extern void RotMatrixZ(s32 a0, void *a1); extern void func_8012F0BC(s32 *a0, s32 *a1, s32 *a2); @@ -3531,7 +3528,6 @@ void func_8017E27C(void *a0) } -typedef struct { s32 w[8]; } Blk20_8017E3F8; void func_8017E3F8(void *a0) { @@ -3577,8 +3573,6 @@ void func_8017E3F8(void *a0) } -typedef struct { s32 flag; u16 xy[2]; s32 sp1c; } Out_8017E910_8017E508; -typedef struct { s16 a, b, c, d; } SV4_8017E910_8017E508; /* --- callees (spelled from asm/ov_SC02_039/nonmatchings/.../func_8017E508.s) --- */ extern void func_8012C1B8(void); @@ -3803,13 +3797,6 @@ void func_8017E9C0(s32 arg0) { } -typedef struct { s32 w[8]; } Mat32_8017E910; -typedef struct { - u16 x; /* 0x0 */ - u16 y; /* 0x2 */ - u16 z; /* 0x4 */ - u16 w; /* 0x6 */ -} Vec4h_8017E2F4; /* func_8012DEB8: shared engine-core collision-probe routine, verified sig at * src/ov_SC03_099/ov_SC03_099_jr_8017BEBC.c:3492 (also used TU:375,6408,6479). */ @@ -4397,12 +4384,6 @@ void func_8017F2E8(s32 param_1) } -typedef struct { - SVECTOR_8016E7C8 v[4]; /* 0x00 */ - s32 f0, f1, f2, f3, f4, f5; /* 0x20..0x37 */ - u8 f6; /* 0x38 */ - u8 pad[7]; /* -> 0x40 */ -} Prim_8016E7C8_8017F640; extern s32 func_8012BCCC(s32 a0); extern s32 func_8004787C(s32 a0); @@ -4465,12 +4446,6 @@ end: } -typedef struct { - u8 r; /* 0x00 */ - u8 g; /* 0x01 */ - u8 b; /* 0x02 */ - u8 cd; /* 0x03 (never written; the block move copies it anyway) */ -} Col4_80181574; extern u16 D_80126B5E; extern u16 D_80126B62; diff --git a/src/ov_SC03_108/ov_SC03_108_jr_8017F83C.c b/src/ov_SC03_108/ov_SC03_108_jr_8017F83C.c index 0e5d0f1c2a..67d44e59bd 100644 --- a/src/ov_SC03_108/ov_SC03_108_jr_8017F83C.c +++ b/src/ov_SC03_108/ov_SC03_108_jr_8017F83C.c @@ -3526,7 +3526,6 @@ extern void func_80016714(void *a0, s32 a1); -typedef struct { s16 a, b, c, d; } V8x_80180D2C; extern u8 D_800AF630[]; extern s32 D_8019E6FC; diff --git a/src/ov_SC03_109/ov_SC03_109_jr_8017C180.c b/src/ov_SC03_109/ov_SC03_109_jr_8017C180.c index 5138a00fb3..e97862a0fd 100644 --- a/src/ov_SC03_109/ov_SC03_109_jr_8017C180.c +++ b/src/ov_SC03_109/ov_SC03_109_jr_8017C180.c @@ -2858,9 +2858,6 @@ void func_8017D384(void *a0) { } -typedef struct { - s16 v[4]; -} Blk8_80126940_8017D3C0; extern Blk8_80126940_8017D3C0 D_80126940; extern void func_8017D48C(s32 param_1, s16 *param_2); diff --git a/src/ov_SC03_110/ov_SC03_110_jr_8017D898.c b/src/ov_SC03_110/ov_SC03_110_jr_8017D898.c index 52c27221d5..a1a4b0bdf2 100644 --- a/src/ov_SC03_110/ov_SC03_110_jr_8017D898.c +++ b/src/ov_SC03_110/ov_SC03_110_jr_8017D898.c @@ -2864,9 +2864,6 @@ void func_8017EAD8(void *a0) { } -typedef struct { - s16 v[4]; -} Blk8_80126940_8017EB14; void func_8017EB14(s32 a0) { @@ -3512,12 +3509,6 @@ void func_8017F674(s32 param_1) } -typedef struct { - SVECTOR_8016E7C8 v[4]; /* 0x00 */ - s32 f0, f1, f2, f3, f4, f5; /* 0x20..0x37 */ - u8 f6; /* 0x38 */ - u8 pad[7]; /* -> 0x40 */ -} Prim_8016E7C8_8017F9CC; extern s32 func_8012BCCC(s32 a0); extern s32 func_8004787C(s32 a0); @@ -3580,12 +3571,6 @@ end: } -typedef struct { - u8 r; /* 0x00 */ - u8 g; /* 0x01 */ - u8 b; /* 0x02 */ - u8 cd; /* 0x03 (never written; the block move copies it anyway) */ -} Col4_80181574; extern u16 D_80126B5E; extern u16 D_80126B62; diff --git a/src/ov_SC03_110/ov_SC03_110_jr_8017FBC8.c b/src/ov_SC03_110/ov_SC03_110_jr_8017FBC8.c index 3e85c00fa8..0b9b5b43ad 100644 --- a/src/ov_SC03_110/ov_SC03_110_jr_8017FBC8.c +++ b/src/ov_SC03_110/ov_SC03_110_jr_8017FBC8.c @@ -3519,7 +3519,6 @@ extern void func_80016714(void *a0, s32 a1); } -typedef struct { s16 a, b, c, d; } V8x_80180D2C; extern u8 D_800AF630[]; extern s32 D_8019BFFC; @@ -3555,17 +3554,6 @@ void func_80180D2C(void *arg0) { } -typedef struct { - s16 f00; - s16 f02; - s16 f04; - s16 f06; - s16 f08; - s16 f0A; - s16 f0C; - s16 f0E; - s32 f10; -} Loc_80180E10; extern s32 rand(void); extern void func_8012B0B4(unsigned int *param_1, int param_2, int param_3); diff --git a/src/ov_SC03_111/ov_SC03_111_jr_8017EC58.c b/src/ov_SC03_111/ov_SC03_111_jr_8017EC58.c index d0e4e1e332..a7c83f47f4 100644 --- a/src/ov_SC03_111/ov_SC03_111_jr_8017EC58.c +++ b/src/ov_SC03_111/ov_SC03_111_jr_8017EC58.c @@ -3515,9 +3515,6 @@ void func_801809D4(void *a0) { * D_80126B58 :55). */ -typedef struct { - s16 v[4]; -} Blk8_80126940_80180A10; extern s32 ratan2(s32 a0, s32 a1); extern u16 func_80148800(s32 *a0); @@ -3566,34 +3563,6 @@ void func_80180A10(s32 a0) { } -typedef struct { - u8 pad0[8]; - s32 unk8; - s32 unkC; - s32 unk10; - s32 unk14; - u16 unk18; - u16 unk1A; - u16 unk1C; - u8 pad1E[2]; - u16 unk20; - u16 unk22; - u16 unk24; - u8 pad26[2]; - s16 unk28; - s16 unk2A; - s16 unk2C; - s16 unk2E; - s16 unk30; - s16 unk32; - u8 pad34[8]; - s32 unk3C; - s32 unk40; - s32 unk44; - s32 unk48; - s32 unk4C; - s32 unk50; -} S; void func_80180B80(S* arg0, s16* arg1, u16 arg2) { s16 sp0x10[16]; @@ -3963,18 +3932,8 @@ extern void func_80181574(s16 *arg0, s32 arg1, s32 arg2); #ifndef gte_stsxy3 #endif -typedef struct { s16 vx, vy, vz, pad; } SV_80181574; -typedef struct { u16 vx, vy, vz, pad; } SXY_80181574; -typedef struct { u16 u, v; } UV_80181574; -typedef struct { - SV_80181574 v[4]; /* 0x00 */ - UV_80181574 uv[4]; /* 0x20 */ - u32 rgb[4]; /* 0x30 */ - u32 flags; /* 0x40 */ - u8 clut; /* 0x44 */ -} Desc_80181574; /* 0x48 */ -typedef struct { s16 m[3][3]; s32 t[3]; } MTX_80181574; /* 0x20 */ -typedef struct { u16 f0, f1, f2, f3; } Tbl_80181574; + /* 0x48 */ + /* 0x20 */ extern void func_80017D98(void *a0); extern void func_80017E8C(s32 a0); @@ -5106,10 +5065,6 @@ extern u8 *func_8012913C(s32 a0); extern s32 func_80133784(s32 a0, void *a1, s32 a2); extern void func_801292C8(u8 *a0); -typedef struct { - u16 x, y, z; - u8 flag; -} V8_80187968_80183280; void func_80183280(s32 a0) { u32 v0; @@ -5428,13 +5383,6 @@ void func_801839EC(void *a0) { -typedef struct { s16 vx, vy, vz, pad; } SVEC2_C974_8017BA3C; -typedef struct { - SVECTOR v[4]; /* 0x00 */ - s32 f0, f1, f2, f3, f4, f5; /* 0x20..0x37 */ - u8 f6; /* 0x38 */ - u8 pad[7]; /* -> 0x40 */ -} Prim_8016E7C8_8016B6BC; extern s32 func_8012C658(s32 a0, s32 a1, s32 a2); diff --git a/src/ov_SC03_112/ov_SC03_112_jr_8017C294.c b/src/ov_SC03_112/ov_SC03_112_jr_8017C294.c index 99a90fc141..fefe87cb76 100644 --- a/src/ov_SC03_112/ov_SC03_112_jr_8017C294.c +++ b/src/ov_SC03_112/ov_SC03_112_jr_8017C294.c @@ -3159,7 +3159,6 @@ void func_8017E124(void *a0) { } -typedef struct { u16 f0, f1, f2, f3; } Unk_80126940; extern s32 D_80126B58; extern s32 *D_80126B78; @@ -3679,9 +3678,9 @@ void func_8017EBA8(void *a0) { * may swap them for those names, but nothing breaks if it doesn't. (Wave law 8: keeping my own * name is safe; adopting a name while keeping my own layout is not.) * ------------------------------------------------------------------------------------------ */ -struct Mtx_8017EBE4 { s16 m[3][3]; s32 t[3]; }; /* 32 bytes -- PsyQ MATRIX */ -struct SVec_8017EBE4 { s16 vx, vy, vz, pad; }; /* 8 bytes -- PsyQ SVECTOR */ -struct Vec_8017EBE4 { s32 vx, vy, vz, pad; }; /* 16 bytes -- PsyQ VECTOR */ + /* 32 bytes -- PsyQ MATRIX */ + /* 8 bytes -- PsyQ SVECTOR */ + /* 16 bytes -- PsyQ VECTOR */ /* callees -- every name read off the target .s relocation lines (law 1 / 1c) */ extern void RotMatrixZ(s32 a0, void *a1); /* project-dominant spelling (void *) */ @@ -3862,12 +3861,6 @@ writereg: extern s32 func_8012DEB8(s32 a0, s32 a1, s32 a2); -typedef struct { - u16 x; /* 0x0 */ - u16 y; /* 0x2 */ - u16 z; /* 0x4 */ - u16 w; /* 0x6 */ -} Vec4h_8017EFAC; s32 func_8017EFAC(s32 a0, s32 a1) { Vec4h_8017EFAC p1; @@ -4497,7 +4490,6 @@ extern s32 func_8012BEE8(s32 arg); -typedef struct { s16 vx, vy, vz, pad; } SVEC2_C974_8017BA3C; extern u8 D_80078E78[]; @@ -4602,12 +4594,6 @@ void func_8017FF70(s32 a0) } -typedef struct { - SVECTOR_8016E7C8 v[4]; /* 0x00 */ - s32 f0, f1, f2, f3, f4, f5; /* 0x20..0x37 */ - u8 f6; /* 0x38 */ - u8 pad[7]; /* -> 0x40 */ -} Prim_8016E7C8_8017FFB8; extern s32 func_8012B8E4(s32 arg0, s32 arg1); extern s32 func_8012BEE8(s32 a0); @@ -5152,10 +5138,6 @@ int func_80180A78(int a0) { } -typedef struct { - s32 a; - s32 b; -} Pair_801B5E30_80180AE4; extern u16 D_80126B5E; extern u16 D_80126B66; @@ -5741,12 +5723,6 @@ end: } -typedef struct { - u8 r; /* 0x00 */ - u8 g; /* 0x01 */ - u8 b; /* 0x02 */ - u8 cd; /* 0x03 (never written; the block move copies it anyway) */ -} Col4_80181574; extern u16 D_80126B5E; extern u16 D_80126B62; diff --git a/src/ov_SC03_112/ov_SC03_112_jr_80181F74.c b/src/ov_SC03_112/ov_SC03_112_jr_80181F74.c index 1be99f016b..5f86ab658f 100644 --- a/src/ov_SC03_112/ov_SC03_112_jr_80181F74.c +++ b/src/ov_SC03_112/ov_SC03_112_jr_80181F74.c @@ -3184,7 +3184,6 @@ extern void func_80016714(void *a0, s32 a1); -typedef struct { s16 a, b, c, d; } V8x_80180D2C; extern u8 D_800AF630[]; extern s32 D_801A8338; diff --git a/src/ov_SC03_112/ov_SC03_112_jr_80183AE0.c b/src/ov_SC03_112/ov_SC03_112_jr_80183AE0.c index 0fbf227f69..8316f78a2a 100644 --- a/src/ov_SC03_112/ov_SC03_112_jr_80183AE0.c +++ b/src/ov_SC03_112/ov_SC03_112_jr_80183AE0.c @@ -3035,10 +3035,6 @@ extern u8 *func_8012913C(s32 a0); extern s32 func_80133784(s32 a0, void *a1, s32 a2); extern void func_801292C8(u8 *a0); -typedef struct { - u16 x, y, z; - u8 flag; -} V8_80187968_80184194; void func_80184194(s32 a0) { u32 v0; diff --git a/src/ov_SC03_113/ov_SC03_113_jr_8017C294.c b/src/ov_SC03_113/ov_SC03_113_jr_8017C294.c index b8b95a1465..487362e91f 100644 --- a/src/ov_SC03_113/ov_SC03_113_jr_8017C294.c +++ b/src/ov_SC03_113/ov_SC03_113_jr_8017C294.c @@ -5698,10 +5698,6 @@ extern u8 *func_8012913C(s32 a0); extern s32 func_80133784(s32 a0, void *a1, s32 a2); extern void func_801292C8(u8 *a0); -typedef struct { - u16 x, y, z; - u8 flag; -} V8_80187968_80181F18; void func_80181F18(s32 a0) { u32 v0; diff --git a/src/ov_SC03_114/ov_SC03_114_jr_8017BEBC.c b/src/ov_SC03_114/ov_SC03_114_jr_8017BEBC.c index 6c0fae30a8..d7bc0c7c3c 100644 --- a/src/ov_SC03_114/ov_SC03_114_jr_8017BEBC.c +++ b/src/ov_SC03_114/ov_SC03_114_jr_8017BEBC.c @@ -2855,7 +2855,6 @@ void func_8017D0E4(void * arg0) { } -typedef struct { s16 v[8]; s32 w; } Blk20_8017D110; extern s32 func_8012C51C(void *a0, s32 a1); extern void func_8012C1B8(void); @@ -3307,9 +3306,6 @@ void func_8017DC38(void *a0) { } -typedef struct { s16 vx, vy, vz, pad; } V_8017DCC0; -typedef struct { u8 r, g, b, code; } C_8017DCC0; -typedef struct { V_8017DCC0 v[4]; C_8017DCC0 c[4]; u32 flags; } Q_8017DCC0; extern void func_80017738(void *a0, s32 a1); diff --git a/src/ov_SC03_115/ov_SC03_115_jr_8017BEBC.c b/src/ov_SC03_115/ov_SC03_115_jr_8017BEBC.c index 980be90dab..7d6ed5fdee 100644 --- a/src/ov_SC03_115/ov_SC03_115_jr_8017BEBC.c +++ b/src/ov_SC03_115/ov_SC03_115_jr_8017BEBC.c @@ -3303,9 +3303,6 @@ void func_8017D374(void *a0) { } -typedef struct { - s16 v[4]; -} Blk8_80126940_8017D3B0; extern void func_8017D420(s32 param_1, s16 *param_2); @@ -3453,16 +3450,6 @@ void func_8017D7BC(void *a0) { } -typedef struct { - s8 pad00[0x02]; - u16 f002; - s8 pad04[0x1C]; - s32 *f020; - s8 pad24[0x4C]; - s16 f070; - s8 pad72[0x4E]; - u8 f0C0; -} Obj_8017D7CC; void func_8017D7CC(s32 a0) { extern s32 func_8012C1B8(); @@ -3819,12 +3806,6 @@ void func_8017DF68(s32 a0) } -typedef struct { - SVECTOR_8016E7C8 v[4]; /* 0x00 */ - s32 f0, f1, f2, f3, f4, f5; /* 0x20..0x37 */ - u8 f6; /* 0x38 */ - u8 pad[7]; /* -> 0x40 */ -} Prim_8016E7C8_8017DFB0; extern s32 func_8012B8E4(s32 arg0, s32 arg1); extern s32 func_8012BEE8(s32 a0); @@ -4330,13 +4311,6 @@ void func_8017E8D0(s32 a0) -typedef struct { s16 vx, vy, vz, pad; } SVEC2_C974_8017BA3C; -typedef struct { - SVECTOR v[4]; /* 0x00 */ - s32 f0, f1, f2, f3, f4, f5; /* 0x20..0x37 */ - u8 f6; /* 0x38 */ - u8 pad[7]; /* -> 0x40 */ -} Prim_8016E7C8_8016B6BC; extern void func_80143BDC(u16*); @@ -4385,10 +4359,6 @@ s32 func_8017EA70(s32 arg0) } -typedef struct { - s32 a; - s32 b; -} Pair_801B5E30_8017EADC; extern u16 D_80126B5E; extern u16 D_80126B66; @@ -4466,7 +4436,6 @@ void func_8017EC14(s32 a0) { } -typedef struct { s16 vx, vy, vz, pad; } SVEC_EB70; extern s32 func_8012B6D4(s16 *a0, s16 *a1); extern s32 func_8012BC60(struct Vec *a0, struct Vec *a1); extern s32 func_8012CEB0(s32 a0, s32 a1, s32 a2); diff --git a/src/ov_SC03_116/ov_SC03_116_jr_8017AE2C.c b/src/ov_SC03_116/ov_SC03_116_jr_8017AE2C.c index 24771b72a9..6a18c3d6ca 100644 --- a/src/ov_SC03_116/ov_SC03_116_jr_8017AE2C.c +++ b/src/ov_SC03_116/ov_SC03_116_jr_8017AE2C.c @@ -4459,15 +4459,6 @@ void func_80181204(s32 a0) extern s32 func_80017758(void *a0, void *a1); extern s32 func_80017DC4(void *a0, void *a1); -typedef struct { s16 vx, vy, vz, pad; } SVec8_801812AC; -typedef struct { s16 m[3][3]; s32 t[3]; } Mtx_801812AC; -typedef struct { s16 x, y, z; } V3_801812AC; -typedef struct { u8 b[8]; } Blk8_801812AC; -typedef struct { - SVec8_801812AC v[4]; - s32 c[4]; - s32 code; -} Prim_801812AC; extern V3_801812AC D_80194EEC[]; extern V3_801812AC D_80194FC0[]; @@ -5169,7 +5160,7 @@ void func_80182378(void *a0) { // body) using a locally-named struct type — block-scope externs don't collide with another // function's block-scope externs for the same symbol (§S38/D2). -typedef struct { s32 w[4]; } LBlk16; /* 16-byte record, block-scoped local name only */ + /* 16-byte record, block-scoped local name only */ void func_801823B4(void *a0) { diff --git a/src/ov_SC03_117/ov_SC03_117_jr_8017BEBC.c b/src/ov_SC03_117/ov_SC03_117_jr_8017BEBC.c index 54a5919956..172deb071f 100644 --- a/src/ov_SC03_117/ov_SC03_117_jr_8017BEBC.c +++ b/src/ov_SC03_117/ov_SC03_117_jr_8017BEBC.c @@ -3972,7 +3972,6 @@ void func_8017E1DC(void *a0) { extern u16 func_80148800(s32 *a0); extern void func_8017E300(s32 param_1, s16 *param_2); -typedef struct { s16 v[4]; } Blk8_80126940_8017E218; void func_8017E218(s32 a0) { extern s32 D_80126B58; diff --git a/src/ov_SC03_117/ov_SC03_117_jr_8017E6EC.c b/src/ov_SC03_117/ov_SC03_117_jr_8017E6EC.c index 9624e89b19..8ca77702d9 100644 --- a/src/ov_SC03_117/ov_SC03_117_jr_8017E6EC.c +++ b/src/ov_SC03_117/ov_SC03_117_jr_8017E6EC.c @@ -2954,8 +2954,6 @@ void func_8017EB34(s32 a0) { /* §41a-4 / §203: the ambient Blk8 (engine_types) and the TU's own file-scope Blk4 * (below the splice point) both collide with a plain spelling -> address-suffixed. */ -typedef struct { u8 b[4]; } Blk4_8017EBCC; -typedef struct { u8 b[8]; } Blk8_8017EBCC; extern void (*D_801885FC)(void); extern s16 D_801885FE[]; @@ -3000,7 +2998,6 @@ void func_8017EBCC(s32 a0) } -typedef void (*Fn8017ECC4)(void); extern void func_80181A30(s16 *arg0); @@ -3411,9 +3408,6 @@ void func_8017F750(void *a0) { } -typedef struct { - u16 x, y, z, w; -} Vec4h_F78C; extern s32 func_8012DEB8(s32 a0, s32 a1, s32 a2); extern u16 D_801887A8; @@ -3869,38 +3863,15 @@ extern void func_8001739C(void *a0); -typedef struct { - s16 x; /* +0x0 */ - s16 y; /* +0x2 */ - s16 c; /* +0x4 */ - s16 pad; /* +0x6 */ -} Vtx_8018012C; /* 0x08 */ + /* 0x08 */ -typedef struct { - Vtx_8018012C v[3]; /* +0x00 +0x08 +0x10 */ - u8 r0, g0, b0, code; /* +0x18 .. +0x1B */ - u8 r1, g1, b1, pad1; /* +0x1C .. +0x1F */ - u8 r2, g2, b2, pad2; /* +0x20 .. +0x23 */ - u32 color; /* +0x24 */ -} Prim_8018012C; /* 0x28 */ + /* 0x28 */ -typedef struct { - u16 x; /* +0x0 */ - u16 y; /* +0x2 */ - u16 z; /* +0x4 */ -} Pos_8018012C; /* 0x06 -> 8-byte frame stride */ + /* 0x06 -> 8-byte frame stride */ -typedef struct { - u16 vx; /* +0x0 */ - u16 vy; /* +0x2 */ - u16 vz; /* +0x4 */ - u16 pad; /* +0x6 */ -} Sxy_8018012C; /* 0x08 */ + /* 0x08 */ -typedef struct { - s16 m[3][3]; /* +0x00, padded to 0x14 */ - s32 t[3]; /* +0x14 +0x18 +0x1C */ -} Mtx_8018012C; /* 0x20 */ + /* 0x20 */ void func_8018012C(s32 arg0) { @@ -4890,8 +4861,7 @@ void func_801819C4(void *a0) { * do not collide with any name in the TU. */ -typedef struct { s16 vx, vy, vz, pad; } SV_1A30; -typedef struct { s16 m[3][3]; s32 t[3]; } MTX_1A30; /* 0x20 bytes */ + /* 0x20 bytes */ void func_80181A30(s16 *arg0) { diff --git a/src/ov_SC03_117/ov_SC03_117_jr_80181C80.c b/src/ov_SC03_117/ov_SC03_117_jr_80181C80.c index 1731c902ac..ca50f65316 100644 --- a/src/ov_SC03_117/ov_SC03_117_jr_80181C80.c +++ b/src/ov_SC03_117/ov_SC03_117_jr_80181C80.c @@ -3575,10 +3575,6 @@ extern u8 *func_8012913C(s32 a0); extern s32 func_80133784(s32 a0, void *a1, s32 a2); extern void func_801292C8(u8 *a0); -typedef struct { - u16 x, y, z; - u8 flag; -} V8_80187968_8018321C; void func_8018321C(s32 a0) { u32 v0; diff --git a/src/ov_SC03_118/ov_SC03_118_jr_8017AE2C.c b/src/ov_SC03_118/ov_SC03_118_jr_8017AE2C.c index e833c1f5ba..3593f5af95 100644 --- a/src/ov_SC03_118/ov_SC03_118_jr_8017AE2C.c +++ b/src/ov_SC03_118/ov_SC03_118_jr_8017AE2C.c @@ -3857,7 +3857,6 @@ void func_8017CE54(void *a0) { * may DROP this local typedef and reuse the TU's own `B4` when banking into the host TU. */ -typedef struct { u8 d[4]; } Blk4_8017CE90_8017CE90; extern void func_801465C0(void); extern void func_8001CD04(void *a0, void *a1); @@ -3962,13 +3961,6 @@ void func_8017D0DC(void *a0) { #include "../shared/ov/func_8017D194__b55f2b3b.h" - typedef struct { s16 vx; u16 vy; s16 vz, pad; } SVec_8017D1E0; -typedef struct { - SVECTOR_8016E7C8 v[4]; /* 0x00 */ - s32 f0, f1, f2, f3, f4, f5; /* 0x20..0x37 */ - u8 f6; /* 0x38 */ - u8 pad[7]; /* -> 0x40 */ -} Prim_8016E7C8_8017D1E0; @@ -4357,7 +4349,6 @@ extern s16 D_8011F9C8; extern void func_80174684(void *); extern void func_8017DB00(void *); -struct S8_8017DA98 { s16 m[4]; }; #include "../shared/ov/func_8017DA98.h" diff --git a/src/ov_SC03_118/ov_SC03_118_jr_8017FB84.c b/src/ov_SC03_118/ov_SC03_118_jr_8017FB84.c index b287e31e10..d418e59075 100644 --- a/src/ov_SC03_118/ov_SC03_118_jr_8017FB84.c +++ b/src/ov_SC03_118/ov_SC03_118_jr_8017FB84.c @@ -3569,7 +3569,6 @@ extern void func_80181C78(int param_1, short *param_2, short *param_3); extern s32 D_80126B58; extern s16 D_8018DDF4[]; -typedef struct { s16 v[4]; } Blk8_80126940_80181B44; void func_80181B44(s32 a0) { extern Blk8_80126940_80181B44 D_80126940; diff --git a/src/ov_SC03_118/ov_SC03_118_jr_80183830.c b/src/ov_SC03_118/ov_SC03_118_jr_80183830.c index 262748db99..2a8584789b 100644 --- a/src/ov_SC03_118/ov_SC03_118_jr_80183830.c +++ b/src/ov_SC03_118/ov_SC03_118_jr_80183830.c @@ -9,7 +9,6 @@ typedef struct { u8 pad[7]; /* -> 0x40 */ } Prim_8016E7C8; typedef void (*Handler)(struct Entry_8016E95C *); -typedef struct { s16 v[4]; } Blk8_80126940_80181B44; extern void func_801458E0(void); extern s32 D_800AE6AC; extern s32 D_800AE6B0; @@ -3753,18 +3752,8 @@ void func_80184E78(s32 *param_1) -typedef struct { s16 vx, vy, vz, pad; } SV_80184F18; -typedef struct { u16 vx, vy, vz, pad; } SXY_80184F18; -typedef struct { u16 u, v; } UV_80184F18; -typedef struct { - SV_80184F18 v[4]; /* 0x00 */ - UV_80184F18 uv[4]; /* 0x20 */ - u32 rgb[4]; /* 0x30 */ - u32 flags; /* 0x40 */ - u8 clut; /* 0x44 */ -} Desc_80184F18; /* 0x48 */ -typedef struct { s16 m[3][3]; s32 t[3]; } MTX_80184F18; /* 0x20 */ -typedef struct { u16 f0, f1, f2, f3; } Tbl_80184F18; + /* 0x48 */ + /* 0x20 */ extern void func_80017D98(void *a0); extern void func_80017E8C(s32 a0); diff --git a/src/ov_SC03_118/ov_SC03_118_jr_801863CC.c b/src/ov_SC03_118/ov_SC03_118_jr_801863CC.c index fe71a1f565..5a9647703a 100644 --- a/src/ov_SC03_118/ov_SC03_118_jr_801863CC.c +++ b/src/ov_SC03_118/ov_SC03_118_jr_801863CC.c @@ -3711,10 +3711,6 @@ extern u8 *func_8012913C(s32 a0); extern s32 func_80133784(s32 a0, void *a1, s32 a2); extern void func_801292C8(u8 *a0); -typedef struct { - u16 x, y, z; - u8 flag; -} V8_80187968; void func_80187968(s32 a0) { u32 v0; diff --git a/src/ov_SC03_118/ov_SC03_118_o0d.c b/src/ov_SC03_118/ov_SC03_118_o0d.c index 1109c4ab08..ff73459c36 100644 --- a/src/ov_SC03_118/ov_SC03_118_o0d.c +++ b/src/ov_SC03_118/ov_SC03_118_o0d.c @@ -9,7 +9,6 @@ typedef struct { u8 pad[7]; /* -> 0x40 */ } Prim_8016E7C8; typedef void (*Handler)(struct Entry_8016E95C *); -typedef struct { s16 v[4]; } Blk8_80126940_80181B44; extern void func_801458E0(void); extern s32 D_800AE6AC; extern s32 D_800AE6B0; @@ -2894,7 +2893,6 @@ s32 func_80183228(void) { } -typedef struct { u8 unk0[2]; u16 unk2; } Ent_80183280; extern void (*D_8018E14C[])(Ent_80183280 *); @@ -2907,20 +2905,6 @@ extern void func_8013C0F8(s32 arg0); extern s32 func_80029178(s32 arg0); extern void func_8013373C(s32 a0); -typedef struct { - u8 pad0[2]; - u16 f002; - u8 pad1[0xD8]; - struct { - s16 f0DC; - u16 f0DE; - union { - struct { s32 f0E0; s32 f0E4; } l; - struct { u8 p[2]; s16 f0E2; u8 q[2]; s16 f0E6; } h; - } u; - u16 f0E8; - } f; -} Work_801832E0; void func_801832E0(Work_801832E0 *work) { @@ -3022,20 +3006,6 @@ extern s32 D_801B86B4; extern s32 D_801270C8; extern void func_8013373C(s32 a0); -typedef struct { - u8 pad0[2]; - u16 f002; - u8 pad1[0xD8]; - struct { - s16 f0DC; - u16 f0DE; - union { - struct { s32 f0E0; s32 f0E4; } l; - struct { u8 p[2]; s16 f0E2; u8 q[2]; s16 f0E6; } h; - } u; - u16 f0E8; - } f; -} Work_80183634; void func_80183634(Work_80183634 *work) { diff --git a/src/ov_SC03_121/ov_SC03_121_jr_8017BEBC.c b/src/ov_SC03_121/ov_SC03_121_jr_8017BEBC.c index 51225b58f8..8a46fe1ee7 100644 --- a/src/ov_SC03_121/ov_SC03_121_jr_8017BEBC.c +++ b/src/ov_SC03_121/ov_SC03_121_jr_8017BEBC.c @@ -3127,11 +3127,6 @@ void func_8017D4C4(s32 param_1, s16 *param_2) { extern s16 D_80185CAC[]; extern s32 func_801343C4(s32 angle, s32 p1, s32 p2); -typedef struct { - s16 a; - s16 b; - s16 c; -} Pt6_8017D65C; s32 func_8017D65C(s32 a0) { Pt6_8017D65C p1; diff --git a/src/ov_SC03_121/ov_SC03_121_jr_8017DF2C.c b/src/ov_SC03_121/ov_SC03_121_jr_8017DF2C.c index 0a12d7a2cd..ec40ac2449 100644 --- a/src/ov_SC03_121/ov_SC03_121_jr_8017DF2C.c +++ b/src/ov_SC03_121/ov_SC03_121_jr_8017DF2C.c @@ -9,11 +9,6 @@ typedef struct { u8 pad[7]; /* -> 0x40 */ } Prim_8016E7C8; typedef void (*Handler)(struct Entry_8016E95C *); -typedef struct { - s16 a; - s16 b; - s16 c; -} Pt6_8017D65C; extern void func_801458E0(void); extern s32 D_800AE6AC; extern s32 D_800AE6B0; diff --git a/src/ov_SC03_121/ov_SC03_121_jr_8017E1D0.c b/src/ov_SC03_121/ov_SC03_121_jr_8017E1D0.c index 25ee36a20c..383a3230be 100644 --- a/src/ov_SC03_121/ov_SC03_121_jr_8017E1D0.c +++ b/src/ov_SC03_121/ov_SC03_121_jr_8017E1D0.c @@ -9,11 +9,6 @@ typedef struct { u8 pad[7]; /* -> 0x40 */ } Prim_8016E7C8; typedef void (*Handler)(struct Entry_8016E95C *); -typedef struct { - s16 a; - s16 b; - s16 c; -} Pt6_8017D65C; extern void func_801458E0(void); extern s32 D_800AE6AC; extern s32 D_800AE6B0; diff --git a/src/ov_SC03_124/ov_SC03_124_jr_8017AE2C.c b/src/ov_SC03_124/ov_SC03_124_jr_8017AE2C.c index 6153674ac3..9430a6c26c 100644 --- a/src/ov_SC03_124/ov_SC03_124_jr_8017AE2C.c +++ b/src/ov_SC03_124/ov_SC03_124_jr_8017AE2C.c @@ -6259,7 +6259,6 @@ s32 func_80180CC8(void *arg0) #include "common.h" -typedef struct { s16 vx, vy, vz, pad; } SV3_80180D48; void func_80180D48(void) { diff --git a/src/ov_SC03_124/ov_SC03_124_jr_80187010.c b/src/ov_SC03_124/ov_SC03_124_jr_80187010.c index cfd7b0f11c..ab069e3972 100644 --- a/src/ov_SC03_124/ov_SC03_124_jr_80187010.c +++ b/src/ov_SC03_124/ov_SC03_124_jr_80187010.c @@ -3611,24 +3611,10 @@ s32 func_80187B50(void) { * `extern short D_800B9A02` canon (§37); 864 sites already use that spelling. */ -typedef struct { u32 addr : 24; u32 len : 8; } PTag_S40_8018B238_80187EA0; -typedef struct { u32 w; } W_S40_8018B238_80187EA0; -typedef struct { u32 *ot; u32 pad[4]; } Env_S40_8018B238_80187EA0; /* 0x14 stride */ -typedef struct { s16 v; } Flag_S40_8018B238_80187EA0; /* 0x02 stride */ + /* 0x14 stride */ + /* 0x02 stride */ -typedef struct Panel_S40_8018B238_80187EA0 { - s16 f0; /* 0x00 */ - s16 f2; /* 0x02 */ - void *f4; /* 0x04 */ - void *f8; /* 0x08 */ - s16 fC; /* 0x0C */ - s16 fE; /* 0x0E */ - s16 f10; /* 0x10 */ - s16 f12; /* 0x12 */ - void *f14; /* 0x14 */ - void *f18; /* 0x18 */ - void *f1C; /* 0x1C */ -} Panel_S40_8018B238_80187EA0; /* 0x20 stride */ + /* 0x20 stride */ diff --git a/src/ov_SC03_124/ov_SC03_124_jr_80188544.c b/src/ov_SC03_124/ov_SC03_124_jr_80188544.c index 20290f6a47..dafef1871e 100644 --- a/src/ov_SC03_124/ov_SC03_124_jr_80188544.c +++ b/src/ov_SC03_124/ov_SC03_124_jr_80188544.c @@ -3010,12 +3010,6 @@ extern s32 *func_8018893C(s32 *, void *, s32, void *, s32); extern s32 func_801882AC(void *, s32, s32, s32, s32 *); extern s32 * func_801880E0(s32 *ot, Panel_8017E978_801880E0 *w0, s16 idx); -typedef struct { - SVECTOR_8016E7C8 v[4]; /* 0x00 */ - s32 f0, f1, f2, f3, f4, f5; /* 0x20..0x37 */ - u8 f6; /* 0x38 */ - u8 pad[7]; /* -> 0x40 */ -} Prim_8016E7C8_80188544; /* func_80188544 — ov_SC04_018 / ov_SC04_018_jr_801878E8, 254 ins, jtbl_801E599C (8 entries, * minval 7 -> `addiu $a0,$a0,-7` + HImode re-extension, so the switch index type is short). @@ -4174,9 +4168,6 @@ s32 func_80189D4C(s32 a0, s16 a1, s16 a2) { } -typedef struct { s16 vx, vy; } DVEC2_C974_8017BA3C_80189F00; -typedef struct { s16 vx, vy, vz, pad; } SVEC2_C974_8017BA3C_80189F00; -typedef struct { s16 m[3][3]; s32 t[3]; } MTX_C974_80189F00; /* func_80189F00 -- ov_SC03_107 / ov_SC03_107_jr_801789AC (212 ins) @@ -4575,13 +4566,6 @@ extern s32 D_801DE84C; extern u32 D_801DE860; extern s32 D_801DE990; -typedef struct { - s16 field_0; - s16 field_2; - s32 field_4; - s32 field_8; - s32 field_C; -} Struct801EF318; extern Struct801EF318 D_801E2498; diff --git a/src/ov_SC03_125/ov_SC03_125_jr_8017D604.c b/src/ov_SC03_125/ov_SC03_125_jr_8017D604.c index 389ae8ffd6..2d627d5211 100644 --- a/src/ov_SC03_125/ov_SC03_125_jr_8017D604.c +++ b/src/ov_SC03_125/ov_SC03_125_jr_8017D604.c @@ -3745,7 +3745,6 @@ void func_8017F554(void *a0) { } - typedef struct { short vx, vy, vz, pad; } SVFD98; @@ -4000,11 +3999,6 @@ void func_8017FACC(void *a0) { extern s32 func_8012DEB8(s32 a0, s32 a1, s32 a2); -typedef struct { - /* 0x0 */ u16 x; - /* 0x2 */ u16 y; - /* 0x4 */ u16 z; -} Vec4h_8017FB08; s32 func_8017FB08(s32 a0, s32 a1) { Vec4h_8017FB08 p1; @@ -4145,7 +4139,6 @@ void func_8017FD98(void *a0) { /* identical layout to SVECTOR_8016E7C8 (src/shared/engine_types.h) */ -typedef struct { short vx, vy, vz, pad; } SVEC_8017EC98_8017FE60; void func_8017FE60(SVEC_8017EC98_8017FE60 *p0, SVEC_8017EC98_8017FE60 *p1) { /* conform to the TU's file-scope canon (`extern void func_8012EF70(s32, s32);`) diff --git a/src/ov_SC03_125/ov_SC03_125_jr_80182BA0.c b/src/ov_SC03_125/ov_SC03_125_jr_80182BA0.c index d51e8499e2..3ba5366a15 100644 --- a/src/ov_SC03_125/ov_SC03_125_jr_80182BA0.c +++ b/src/ov_SC03_125/ov_SC03_125_jr_80182BA0.c @@ -9,7 +9,6 @@ typedef struct { u8 pad[7]; /* -> 0x40 */ } Prim_8016E7C8; typedef void (*Handler)(struct Entry_8016E95C *); -typedef struct { short vx, vy, vz, pad; } SVEC_8017EC98_8017FE60; extern void func_801458E0(void); extern s32 D_800AE6AC; extern s32 D_800AE6B0; diff --git a/src/ov_SC03_126/ov_SC03_126_jr_8017AE2C.c b/src/ov_SC03_126/ov_SC03_126_jr_8017AE2C.c index 23cc4d3179..0dd66c5098 100644 --- a/src/ov_SC03_126/ov_SC03_126_jr_8017AE2C.c +++ b/src/ov_SC03_126/ov_SC03_126_jr_8017AE2C.c @@ -2914,13 +2914,11 @@ extern void func_80146C3C(u8 *a0); #include "../shared/ov/func_8017BFA4.h" -typedef struct { s16 vx, vy; } DVEC2_C59C; -typedef struct { s16 vx, vy, vz, pad; } SVEC_BEBC; extern s32 func_800491EC(void); extern void func_8017C3EC(u16 *a0, void *a1); @@ -2989,16 +2987,7 @@ void func_8017C688(s32 a0, s32 a1) { * cell $t3 naturally once the bbox block allocates right. */ -typedef struct { u32 w0, w1, w2; } Prim126; -typedef struct { u8 *vtx; u32 f4; u32 xx, yy, zz; Prim126 *prim, *end; } Cell126; -typedef struct { s16 vx, vy; } DVEC2_C6F4; -typedef struct { s16 vx, vy, vz, pad; } SVEC2_C6F4; -typedef struct { s16 m[3][3]; s32 t[3]; } MTX_C6F4; -typedef struct { u32 tag, rgbc; s16 x0, y0, x1, y1, x2, y2; } PF3_C6F4; -typedef struct { u32 tag, rgbc; s16 x0, y0, x1, y1, x2, y2, x3, y3; } PF4_C6F4; -typedef struct { u32 tag, rgbc; s16 x0, y0; u32 uvc0; s16 x1, y1; u32 uvp1; s16 x2, y2; u16 uv2, p2; } PFT3_C6F4; -typedef struct { u32 tag, rgbc; s16 x0, y0; u32 uvc0; s16 x1, y1; u32 uvp1; s16 x2, y2; u16 uv2, p2; s16 x3, y3; u16 uv3, p3; } PFT4_C6F4; diff --git a/src/ov_SC04_000/ov_SC04_000_jr_801818E8.c b/src/ov_SC04_000/ov_SC04_000_jr_801818E8.c index 352735802a..03a8e6066a 100644 --- a/src/ov_SC04_000/ov_SC04_000_jr_801818E8.c +++ b/src/ov_SC04_000/ov_SC04_000_jr_801818E8.c @@ -3497,16 +3497,6 @@ void func_801827B4(s32 a0, void *a1) { * D_* data-symbol addresses differ (D_80194DD0/DD8/DE0/DE8 -> D_801A6ECC/ * ED4/EDC/EE4). */ -typedef struct { s16 vx, vy, vz, pad; } SVECTOR_80182800; -typedef struct { s16 m[3][3]; s32 t[3]; } MATRIX_80182800; -typedef struct { - SVECTOR_80182800 v[4]; /* 0x00 */ - s32 k30, k34, k38, k3c; /* 0x20 */ - u32 bcast; /* 0x30 */ - s32 tag; /* 0x34 */ - u8 code; /* 0x38 */ - u8 pad39[7]; /* -> 0x40 */ -} Prim_80182800; extern SVECTOR_80182800 D_801A6ECC; extern SVECTOR_80182800 D_801A6ED4; diff --git a/src/ov_SC04_002/ov_SC04_002_jr_8017BEBC.c b/src/ov_SC04_002/ov_SC04_002_jr_8017BEBC.c index d2dff33c4c..f1fb241bd5 100644 --- a/src/ov_SC04_002/ov_SC04_002_jr_8017BEBC.c +++ b/src/ov_SC04_002/ov_SC04_002_jr_8017BEBC.c @@ -3121,10 +3121,6 @@ extern void func_80165718(s32 a0); /* 16-byte-stride table at D_8018BDE4, indexed by the actor's 0xF2 animation/state id * (signed s16); only the table row's first word (offset 0) is read. */ -typedef struct { - s32 f0; - u8 pad[12]; -} Tbl16_8018BDE4; extern Tbl16_8018BDE4 D_8018BDE4[]; void func_8017CEF4(s32 a0) { @@ -4387,9 +4383,9 @@ void func_8017F160(void *a0) { * Vec32 (:1098) -- byte-identical layouts. Renamed here only because match_one * compiles standalone with -Iinclude (engine_core.h is not on that path); on bank, * drop these three typedefs and use the TU's own names. */ -typedef struct { s16 vx, vy, vz, pad; } SV_8017D7C0_8017F19C; /* 8 bytes, align 2 */ -typedef struct { s16 m[3][3]; s32 t[3]; } MTX_8017D7C0_8017F19C; /* 0x20 bytes, align 4 */ -typedef struct { s32 vx, vy, vz, pad; } V32_8017D7C0_8017F19C; /* 16 bytes, align 4 */ + /* 8 bytes, align 2 */ + /* 0x20 bytes, align 4 */ + /* 16 bytes, align 4 */ /* ov_SC02_041 func_8017F19C -- 181 ins, zero-crack family exemplar (reach x4: * ov_SC04_002:8017f19c, ov_SC04_004:8017f65c, ov_SC04_011:8017f340). @@ -4537,7 +4533,7 @@ void func_8017F534(s32 arg0) { } -typedef struct { s16 m[3][3]; s32 t[3]; } MTX_8017F55C; /* 0x20 bytes, align 4 */ + /* 0x20 bytes, align 4 */ extern s32 func_80017DC4(void *a0, void *a1); extern void func_80017DF8(void *a0, void *a1); @@ -6011,7 +6007,6 @@ void func_80180FEC(int a, s16 *b, SVECTOR_8017E6D8 *c, SVECTOR_8017E6D8 *d, #include "common.h" -typedef struct { u16 x, y, z, w; } V8_80181368; extern s32 func_8004787C(s32 a0); extern s32 func_80047948(s32 a0); @@ -6051,7 +6046,7 @@ s32 func_80181368(s32 a0, s32 a1) { } -typedef struct { short a, b, c; } SV3_80181D44_8017CEF4_801814F4; /* == the TU's own `SV3` (engine_types.h:612); renamed only because + /* == the TU's own `SV3` (engine_types.h:612); renamed only because /* Declarations conform VERBATIM to the ones already present in this TU * (src/ov_SC04_005/ov_SC04_005_jr_8017BEBC.c, lines 6342-6344 / 845 / 2190-2191) @@ -6059,9 +6054,8 @@ typedef struct { short a, b, c; } SV3_80181D44_8017CEF4_801814F4; /* == the TU * template as this function (same offsets, callees, mask constants) except * for the tail control flow after the second func_80133784 call. */ -typedef struct { s16 m[3][3]; s32 t[3]; } MTX_8017D7C0_8017F19C_80182728_801814F4; /* 0x20 bytes, align 4 */ + /* 0x20 bytes, align 4 */ -typedef struct { u16 x, y, z, w; } V8_80181368_80182728_801814F4; extern s32 func_8004787C(s32 a0); extern s32 func_80047948(s32 a0); @@ -6466,7 +6460,7 @@ extern s32 func_801826E8(s32 a0); extern void func_80182BA4(s32 a0, s32 a1); extern s32 func_80182564(s32 a0, s32 a1, s32 *a2); -typedef struct { short a, b, c; } SV3_80181D44; /* == the TU's own `SV3` (engine_types.h:612); renamed only because + /* == the TU's own `SV3` (engine_types.h:612); renamed only because match_one's -Iinclude-only compile cannot see engine_types.h */ extern M2C_UNK D_801A90AC; @@ -6871,7 +6865,6 @@ extern void func_8012CBA4(s32); extern s32 func_801826E8(s32 a0); extern void func_8012ADE4(u8 *a0); -typedef struct { s32 f0, f1, f2; } S_80182618; s32 func_80182618(s32 a0, s32 *a1) { S_80182618 tmp; @@ -7119,10 +7112,6 @@ void func_801829E8(s32 target, u16 *cur, s32 step) /* Local "prim spec" struct, mirrors the layout used by the sibling call site in * src/ov_SC01_077/ov_SC01_077_jr_80182268.c (struct Prim { s16 f0,f2,f4,f6,f8,fA,fC,fE; s32 f10; }). * Purely local shape (never a TU-declared global), so no adoption constraint applies. */ -struct PrimSpec80182A6C { - s16 f0, f2, f4, f6, f8, fA, fC, fE; - s32 f10; -}; extern s16 D_801A1F04; extern s16 D_801A1F06; @@ -7674,7 +7663,6 @@ extern void func_800484EC(s32 a0, s32 a1, s32 a2); extern void func_8002D4C8(s32 a0, s32 a1); extern void func_8012AD44(s32 *a0, s16 a1); -typedef struct { s32 w[8]; } Mtx8; extern Mtx8 D_800AE620; void func_80183648(s32 a0) @@ -7710,7 +7698,7 @@ void func_80183710(void *a0) { -typedef struct { s16 m[3][3]; s32 t[3]; } MTX_8017D7C0_8017F19C_8018259C; /* 0x20 bytes, align 4 */ + /* 0x20 bytes, align 4 */ s32 func_80183790(s32 arg0) { @@ -7818,8 +7806,7 @@ void func_8018395C(s32 arg0) } -typedef struct { short a, b, c; } SV3_801802D0; -typedef struct { s16 a, b, c, d; } SV4x_80183E2C; /* 8-byte, align-2 quad of s16 */ + /* 8-byte, align-2 quad of s16 */ extern s32 D_80126B58; @@ -7923,7 +7910,6 @@ extern void RotTransSV(void *a0, void *a1, void *a2); extern void ApplyRotMatrixLV(void *a0, void *a1); extern s32 func_80132EF4(s32 a0, s32 a1); -typedef struct { s32 m[5]; s32 t[3]; } MtxW; extern Mtx8 D_800AE620; extern s16 D_801A1F54[]; extern s16 D_801A1F5C[]; @@ -8839,8 +8825,8 @@ void func_80184F44(int param_1) #include "common.h" -typedef struct { s16 a, b, c; } SV3x; /* 6-byte, align-2 triple of s16 */ -typedef struct { s16 a, b, c, d; } SV4x; /* 8-byte, align-2 quad of s16 */ + /* 6-byte, align-2 triple of s16 */ + /* 8-byte, align-2 quad of s16 */ extern void func_8012C218(void *a0); extern void func_8012F214(s32 a0, s32 a1, s32 a2); @@ -9015,13 +9001,7 @@ void func_801853F8(void *arg0) { } -typedef struct { s16 vx, vy, vz, pad; } SV_8017D7C0_8018543C; /* 8 bytes, align 2 */ -typedef struct { - SVECTOR_8016E7C8 v[4]; /* 0x00 */ - s32 f0, f1, f2, f3, f4, f5; /* 0x20..0x37 */ - u8 f6; /* 0x38 */ - u8 pad[7]; /* -> 0x40 */ -} Prim_8016E7C8_8018543C; + /* 8 bytes, align 2 */ extern s32 func_8012BCCC(s32 a0); extern s32 func_8012BEE8(s32 a0); @@ -9158,7 +9138,6 @@ void *arg0; * in this TU via engine_core.h; on banking it may be replaced by that name.) */ -typedef struct { u16 x, y, z, w; } V8_80182044_80185668; extern void func_8012A828(s32 a0, void *a1); @@ -9470,7 +9449,6 @@ extern void func_8012A828(s32, void*); /* Layout-identical to `struct S80190C84` (src/shared/engine_types.h:1337), which IS * visible in the destination TU via ../shared/engine_core.h; a fresh tag is used here * only so the standalone match_one compile (no engine_core.h on its -I path) works. */ -typedef struct { s16 f0, f2, f4, f6, f8, fA, fC, fE; s32 f10; } St_80182784_80185DA8; extern void ApplyMatrixSV(void *a0, void *a1, void *a2); extern void func_8012EC04(s32 param_1, s32 param_2, s32 *param_3); @@ -9622,7 +9600,7 @@ extern void func_8002A04C(s32 a0); } -typedef struct { s16 m[3][3]; s32 t[3]; } MTX_8017D7C0; /* 0x20 bytes, align 4 */ + /* 0x20 bytes, align 4 */ extern void func_8018739C(s32 a0, void *a1, s32 a2); @@ -9649,7 +9627,6 @@ void func_8018615C(s32 a0) { * lines 6969-6988): same D_80126B78/D_80126B90/D_801152A8 globals, same * func_8012F14C / func_80135888 / func_8012F568 call chain. */ -typedef struct { short vx, vy, vz, pad; } SVec_801861D0; extern void func_8012EC04(s32 param_1, s32 param_2, s32 *param_3); extern void func_8012F14C(s32 a0, s32 a1, s32 a2); @@ -9704,12 +9681,6 @@ s32 func_801862F0(s32 arg0) { } -typedef struct { - SVECTOR_8016E7C8 v[4]; /* 0x00 */ - s32 f0, f1, f2, f3, f4, f5; /* 0x20..0x37 */ - u8 f6; /* 0x38 */ - u8 pad[7]; /* -> 0x40 */ -} Prim_8016E7C8_801863A4; /* func_801863A4 -- ov_SC02_041, TU ov_SC02_041_jr_8017BEBC.c @@ -9760,9 +9731,9 @@ typedef struct { * (TU:5690) by the already-matched func_80182044 -- confirming the agreed signature. */ -typedef struct { short vx, vy, vz, pad; } SV_80182D80_801863A4; /* 8 bytes, align 2 */ -typedef struct { short m[3][3]; long t[3]; } MTX_80182D80_801863A4; /* 0x20 bytes, align 4 */ -typedef struct { s32 vx, vy, vz, pad; } V32_80182D80_801863A4; /* 16 bytes, align 4 */ + /* 8 bytes, align 2 */ + /* 0x20 bytes, align 4 */ + /* 16 bytes, align 4 */ extern s32 VectorNormalSS(void *a0, void *a1); @@ -10111,14 +10082,8 @@ void func_80186B70(void *a0) { } -typedef struct { s16 m[3][3]; s32 t[3]; } MTX_8017D7C0_80186B84; /* 0x20 bytes, align 4 */ -typedef struct { s16 vx, vy, vz, pad; } SV_8017D7C0_80186B84; /* 8 bytes, align 2 */ -typedef struct { - SVECTOR_8016E7C8 v[4]; /* 0x00 */ - s32 f0, f1, f2, f3, f4, f5; /* 0x20..0x37 */ - u8 f6; /* 0x38 */ - u8 pad[7]; /* -> 0x40 */ -} Prim_8016E7C8_80186B84; + /* 0x20 bytes, align 4 */ + /* 8 bytes, align 2 */ /* func_80186B84 — ov_SC02_041, TU ov_SC02_041_jr_8017BEBC.c (132 ins). * @@ -10710,7 +10675,6 @@ void func_801878B0(s32 a0, s32 a1, s32 a2, void *a3) } -typedef struct { u32 addr : 24; u32 len : 8; } PTag_801843D8_801879FC; void func_801879FC(void *a0) { diff --git a/src/ov_SC04_003/ov_SC04_003_jr_8017BEBC.c b/src/ov_SC04_003/ov_SC04_003_jr_8017BEBC.c index 3277eca35a..67561f1d63 100644 --- a/src/ov_SC04_003/ov_SC04_003_jr_8017BEBC.c +++ b/src/ov_SC04_003/ov_SC04_003_jr_8017BEBC.c @@ -3341,7 +3341,7 @@ void func_8017DB34(int param_1) extern void func_8001CF00(s32 a0); extern void func_8012C194(void); -typedef struct { short a, b, c; } SV3_80181D44_8017CEF4_8017DC20; /* == the TU's own `SV3` (engine_types.h:612); renamed only because + /* == the TU's own `SV3` (engine_types.h:612); renamed only because extern void func_8001CF00(s32 a0); /* canonical def: src/800.c:6059 void func_8001CF00(s32 a0) */ extern void func_8012C1B8(void); /* already declared this way + cast-called elsewhere in this TU */ extern s32 func_80029178(s32 arg); /* already declared this way in this TU */ @@ -3571,8 +3571,8 @@ void func_8017E07C(void *a0, s32 a1) { } -typedef struct { s16 m[3][3]; s32 t[3]; } MTX_8017D7C0_8017F19C_8018259C_8017E108; /* 0x20 bytes, align 4 */ -typedef struct { short a, b, c; } SV3_80181D44_8017CEF4_8017E108; /* == the TU's own `SV3` (engine_types.h:612); renamed only because + /* 0x20 bytes, align 4 */ + /* == the TU's own `SV3` (engine_types.h:612); renamed only because /* Declarations copied verbatim from the destination TU * (src/ov_SC04_005/ov_SC04_005_jr_8017BEBC.c lines 861, 5865(none), 347, 57, 1628, 1630). */ @@ -4641,8 +4641,7 @@ s32 func_8017FC18(s32 arg0) { } -typedef struct { s32 m[5]; s32 t[3]; } MtxW; -typedef struct { s16 m[3][3]; s32 t[3]; } MTX_8017D7C0_8017F19C; /* 0x20 bytes, align 4 */ + /* 0x20 bytes, align 4 */ extern s32 func_80132E6C(s16 *a0); @@ -5272,7 +5271,6 @@ void func_80180B44(s32 a0) { } -typedef struct { s32 w[8]; } Blk20_80180B78; extern Blk20_80180B78 aAE620_80180B78[1] __asm__("D_800AE620"); extern void RotMatrixY(s32 a0, void *a1); extern void func_800484EC(s32 a0, s32 a1, s32 a2); @@ -5312,7 +5310,7 @@ void func_80180C40(void *a0) { -typedef struct { s16 m[3][3]; s32 t[3]; } MTX_8017D7C0_8017F19C_8018259C; /* 0x20 bytes, align 4 */ + /* 0x20 bytes, align 4 */ s32 func_80180CC0(s32 arg0) { @@ -5386,8 +5384,6 @@ s32 func_80180E34(s32 a0, s32 a1, u16 a2) { } -typedef struct { s32 w[8]; } Blk32_80180E8C; -typedef struct { s16 vx, vy, vz, pad; } Vec_80180E8C; extern Blk32_80180E8C aAE620_80180E8C[1] __asm__("D_800AE620"); extern s32 func_8012B8A4(void *a0); @@ -5422,8 +5418,7 @@ void func_80180E8C(u8 *a0) -typedef struct { short a, b, c; } SV3_801802D0; -typedef struct { s16 a, b, c, d; } SV4x_80183E2C; /* 8-byte, align-2 quad of s16 */ + /* 8-byte, align-2 quad of s16 */ extern s32 D_80126B58; diff --git a/src/ov_SC04_004/ov_SC04_004_jr_8017AE2C.c b/src/ov_SC04_004/ov_SC04_004_jr_8017AE2C.c index 2d4595b953..4de68c70f3 100644 --- a/src/ov_SC04_004/ov_SC04_004_jr_8017AE2C.c +++ b/src/ov_SC04_004/ov_SC04_004_jr_8017AE2C.c @@ -5166,9 +5166,9 @@ void func_8017F620(void *a0) { * Vec32 (:1098) -- byte-identical layouts. Renamed here only because match_one * compiles standalone with -Iinclude (engine_core.h is not on that path); on bank, * drop these three typedefs and use the TU's own names. */ -typedef struct { s16 vx, vy, vz, pad; } SV_8017D7C0_8017F65C; /* 8 bytes, align 2 */ -typedef struct { s16 m[3][3]; s32 t[3]; } MTX_8017D7C0_8017F65C; /* 0x20 bytes, align 4 */ -typedef struct { s32 vx, vy, vz, pad; } V32_8017D7C0_8017F65C; /* 16 bytes, align 4 */ + /* 8 bytes, align 2 */ + /* 0x20 bytes, align 4 */ + /* 16 bytes, align 4 */ /* ov_SC02_041 func_8017F65C -- 181 ins, zero-crack family exemplar (reach x4: * ov_SC04_002:8017f19c, ov_SC04_004:8017f65c, ov_SC04_011:8017f340). @@ -5319,7 +5319,7 @@ void func_8017F9F4(s32 param_1) } -typedef struct { s16 m[3][3]; s32 t[3]; } MTX_8017FA1C; /* 0x20 bytes: m@0, t@0x14 */ + /* 0x20 bytes: m@0, t@0x14 */ extern s32 func_80017DC4(void *a0, void *a1); extern void func_80017DF8(s16 *a0, void *a1); @@ -5759,7 +5759,6 @@ extern s32 func_80180C74(s32 a0); extern void func_80181130(s32 a0, s32 a1); extern s32 func_80180AF0(s32 a0, s32 a1, s32 *a2); -typedef struct { short a, b, c; } SV3_801802D0; extern M2C_UNK D_8019A00C; extern M2C_UNK D_80199AF4; @@ -5851,15 +5850,6 @@ void func_80180530(void *arg0) { } -typedef struct { - u8 pad0[0x2]; - u16 unk2; - u8 pad2[0x1C]; - s32 *unk20; - u8 pad3[0xDA]; - u16 unkFE; - u16 unk100; -} S_8018056C; extern void func_8012A8B0(u8 *a0, s32 a1); extern void func_8012AD44(s32 *a0, s16 a1); @@ -5935,7 +5925,6 @@ void func_8018070C(void *arg0) { } -typedef struct { s32 w[8]; } MTX8L_80180750; s32 func_80180750(s32 a0) { @@ -6869,7 +6858,6 @@ extern void func_8012B21C(void *a0); } -typedef struct { s32 w[8]; } MTX8L_80181BD4; void func_80181BD4(s32 a0) { @@ -6908,8 +6896,7 @@ void func_80181C9C(void *a0) { } -typedef struct { s32 m[5]; s32 t[3]; } MtxW; -typedef struct { s16 m[3][3]; s32 t[3]; } MTX_8017D7C0_8017F19C_8018259C; /* 0x20 bytes, align 4 */ + /* 0x20 bytes, align 4 */ s32 func_80181D1C(s32 arg0) { @@ -6991,8 +6978,6 @@ s32 a2; } -typedef struct { s32 w[8]; } Blk20_80181EE8; -typedef struct { s16 vx, vy, vz, pad; } Svec_80181EE8; extern Blk20_80181EE8 D_800AE620; extern s32 func_8012B8A4(s16 *a0); @@ -7118,8 +7103,6 @@ void func_80182170(s32 a0, s32 a1) } -typedef struct { s32 w[5]; s32 p5; s32 p6; s32 p7; } MTX8L_801821E0; -typedef struct { s16 a, b, c, pad; } SV_801821E0; void func_801821E0(s32 param_1) { @@ -7198,12 +7181,7 @@ void func_80182320(void *a0) } -typedef struct { s32 f0, f1, f2; } S_80182618; -typedef struct { s16 vx, vy, vz, pad; } SV_8017D7C0_8017F19C; /* 8 bytes, align 2 */ -typedef struct { - s32 f0; - u8 pad[12]; -} Tbl16_8018BDE4; + /* 8 bytes, align 2 */ @@ -7500,7 +7478,6 @@ extern s32 func_8004787C(s32 a0); extern s32 func_80047948(s32 a0); extern s32 func_80133784(s32 a0, void *a1, s32 a2); -typedef struct { u16 x, y, z, w; } V8_801829BC; s32 func_801829BC(s32 a0, s32 a1) { V8_801829BC sp10; @@ -8028,18 +8005,7 @@ void func_80183588(void *a0) { } -typedef struct { s16 f0, f2, f4, f6, f8, fA, fC, fE; s32 f10; } St_80182784_80185DA8_8018359C; -typedef struct { s16 vx, vy, vz, pad; } SV_8017D7C0_8017F19C_8018359C; /* 8 bytes, align 2 */ -typedef struct { - s32 f0; - u8 pad[12]; -} Tbl16_8018BDE4_8018359C; -typedef struct { - SVECTOR_8016E7C8 v[4]; /* 0x00 */ - s32 f0, f1, f2, f3, f4, f5; /* 0x20..0x37 */ - u8 f6; /* 0x38 */ - u8 pad[7]; /* -> 0x40 */ -} Prim_8016E7C8_8018359C; + /* 8 bytes, align 2 */ extern s32 func_8012D5E4(s32 a0, s32 a1, s32 a2, s32 a3); extern void func_8012EC04(s32 param_1, s32 param_2, s32 *param_3); @@ -8448,8 +8414,8 @@ void func_80183DBC(int param_1) -typedef struct { s16 a, b, c; } SV3x_80183E2C; /* 6-byte, align-2 triple of s16 */ -typedef struct { s16 a, b, c, d; } SV4x_80183E2C; /* 8-byte, align-2 quad of s16 */ + /* 6-byte, align-2 triple of s16 */ + /* 8-byte, align-2 quad of s16 */ extern void func_8012C218(void *a0); extern void func_8012F214(s32 a0, s32 a1, s32 a2); diff --git a/src/ov_SC04_005/ov_SC04_005_jr_8017BEBC.c b/src/ov_SC04_005/ov_SC04_005_jr_8017BEBC.c index 3ae4581587..06b1bb20b0 100644 --- a/src/ov_SC04_005/ov_SC04_005_jr_8017BEBC.c +++ b/src/ov_SC04_005/ov_SC04_005_jr_8017BEBC.c @@ -3097,7 +3097,7 @@ void func_8017CE3C(s32 a0) { } -typedef struct { short a, b, c; } SV3_80181D44_8017CEF4; /* == the TU's own `SV3` (engine_types.h:612); renamed only because + /* == the TU's own `SV3` (engine_types.h:612); renamed only because typedef struct { s16 vx, vy, vz, pad; } SV_8017D7C0_8017F19C_8017CEF4; /* 8 bytes, align 2 */ /* Callee externs — spellings copied from src/ov_SC04_002/ov_SC04_002_jr_8017BEBC.c @@ -3120,10 +3120,6 @@ extern void func_80165718(s32 a0); /* 16-byte-stride table at D_8018B4E8, indexed by the actor's 0xF2 animation/state id * (signed s16); only the table row's first word (offset 0) is read. */ -typedef struct { - s32 f0; - u8 pad[12]; -} Tbl16_8018BDE4_8017CEF4; void func_8017CEF4(s32 a0) { @@ -5796,7 +5792,6 @@ void func_80180BA0(void *a0) { extern s32 func_8012C51C(void *a0, s32 a1); -struct Prim_80180BDC { s16 f0, f2, f4, f6, f8, fA, fC, fE; s32 f10; }; void func_80180BDC(void *arg0, s32 a1) { struct Prim_80180BDC sp; @@ -6363,7 +6358,6 @@ void func_801819E0(s32 param_1, s32 param_2) } -typedef struct { u16 x, y, z, w; } V8_80181368_80181CB0; s32 func_80181CB0(s32 a0, s32 a1) { V8_80181368_80181CB0 sp10; @@ -6772,9 +6766,8 @@ void func_801824F0(s32 a0) { } -typedef struct { s16 m[3][3]; s32 t[3]; } MTX_8017D7C0_8017F19C_8018259C; /* 0x20 bytes, align 4 */ + /* 0x20 bytes, align 4 */ -typedef struct { u16 x, y, z, w; } V8_80181368_8018259C; extern s32 func_8004787C(s32 a0); extern s32 func_80047948(s32 a0); @@ -6822,9 +6815,8 @@ s32 func_8018259C(s32 a0, s32 a1) { * template as this function (same offsets, callees, mask constants) except * for the tail control flow after the second func_80133784 call. */ -typedef struct { s16 m[3][3]; s32 t[3]; } MTX_8017D7C0_8017F19C_80182728; /* 0x20 bytes, align 4 */ + /* 0x20 bytes, align 4 */ -typedef struct { u16 x, y, z, w; } V8_80181368_80182728; extern s32 func_8004787C(s32 a0); extern s32 func_80047948(s32 a0); @@ -7170,7 +7162,6 @@ after_switch: * D) scale the sub-prim at *(s32*)(self+0x6C)+0xCC by the clamped height delta. */ -typedef struct { s16 x, y, z, w; } V8_80182E54; extern void func_8012CBCC(s32 a0); extern s32 func_80133784(s32 a0, void *a1, s32 a2); @@ -8303,13 +8294,7 @@ void func_801847C8(void *arg0) { } -typedef struct { s16 vx, vy, vz, pad; } SV_8017D7C0_8018480C; /* 8 bytes, align 2 */ -typedef struct { - SVECTOR_8016E7C8 v[4]; /* 0x00 */ - s32 f0, f1, f2, f3, f4, f5; /* 0x20..0x37 */ - u8 f6; /* 0x38 */ - u8 pad[7]; /* -> 0x40 */ -} Prim_8016E7C8_8018480C; + /* 8 bytes, align 2 */ extern s32 func_8012BCCC(s32 a0); extern s32 func_8012BEE8(s32 a0); @@ -8447,7 +8432,6 @@ void func_801849F0(void *arg0) { * in this TU via engine_core.h; on banking it may be replaced by that name.) */ -typedef struct { u16 x, y, z, w; } V8_80182044_80184A38; extern void func_8012A828(s32, s32); @@ -8758,7 +8742,6 @@ extern void func_8012A828(s32 a0, s32 a1); /* Layout-identical to `struct S80190C84` (src/shared/engine_types.h:1337), which IS * visible in the destination TU via ../shared/engine_core.h; a fresh tag is used here * only so the standalone match_one compile (no engine_core.h on its -I path) works. */ -typedef struct { s16 f0, f2, f4, f6, f8, fA, fC, fE; s32 f10; } St_80182784_80185178; extern void ApplyMatrixSV(void *a0, void *a1, void *a2); extern void func_8012EC04(s32 param_1, s32 param_2, s32 *param_3); @@ -8927,7 +8910,6 @@ void func_8018552C(s32 a0) { * lines 6969-6988): same D_80126B78/D_80126B90/D_801152A8 globals, same * func_8012F14C / func_80135888 / func_8012F568 call chain. */ -typedef struct { short vx, vy, vz, pad; } SVec_801861D0_801855A0; extern void func_8012EC04(s32 param_1, s32 param_2, s32 *param_3); extern void func_8012F14C(s32 a0, s32 a1, s32 a2); @@ -8982,12 +8964,6 @@ s32 func_801856C0(s32 arg0) { } -typedef struct { - SVECTOR_8016E7C8 v[4]; /* 0x00 */ - s32 f0, f1, f2, f3, f4, f5; /* 0x20..0x37 */ - u8 f6; /* 0x38 */ - u8 pad[7]; /* -> 0x40 */ -} Prim_8016E7C8_80185774; /* func_80185774 -- ov_SC02_041, TU ov_SC02_041_jr_8017BEBC.c @@ -9038,9 +9014,9 @@ typedef struct { * (TU:5690) by the already-matched func_80182044 -- confirming the agreed signature. */ -typedef struct { short vx, vy, vz, pad; } SV_80182D80_80185774; /* 8 bytes, align 2 */ -typedef struct { short m[3][3]; long t[3]; } MTX_80182D80_80185774; /* 0x20 bytes, align 4 */ -typedef struct { s32 vx, vy, vz, pad; } V32_80182D80_80185774; /* 16 bytes, align 4 */ + /* 8 bytes, align 2 */ + /* 0x20 bytes, align 4 */ + /* 16 bytes, align 4 */ extern s32 VectorNormalSS(void *a0, void *a1); @@ -9209,7 +9185,7 @@ s32 func_80185A08(s32 a0) { extern s32 func_80132EF4(s32 a0, s32 a1); -typedef struct { short a, b, c; } SV3_80181D44_80185B70; /* == the TU's own `SV3` (engine_types.h:612); renamed only because + /* == the TU's own `SV3` (engine_types.h:612); renamed only because extern s32 func_80132EF4(s32 a0, s32 a1); extern s32 rand(void); @@ -9369,14 +9345,8 @@ void func_80185F40(void *a0) { } -typedef struct { s16 m[3][3]; s32 t[3]; } MTX_8017D7C0_80185F54; /* 0x20 bytes, align 4 */ -typedef struct { s16 vx, vy, vz, pad; } SV_8017D7C0_80185F54; /* 8 bytes, align 2 */ -typedef struct { - SVECTOR_8016E7C8 v[4]; /* 0x00 */ - s32 f0, f1, f2, f3, f4, f5; /* 0x20..0x37 */ - u8 f6; /* 0x38 */ - u8 pad[7]; /* -> 0x40 */ -} Prim_8016E7C8_80185F54; + /* 0x20 bytes, align 4 */ + /* 8 bytes, align 2 */ /* func_80185F54 — ov_SC02_041, TU ov_SC02_041_jr_8017BEBC.c (132 ins). * @@ -9890,7 +9860,7 @@ void func_801869D4(s32 a0, s32 a1, s32 a2) } -typedef struct { s16 vx, vy, vz, pad; } SV_8017D7C0_8017F19C_80186C80; /* 8 bytes, align 2 */ + /* 8 bytes, align 2 */ /* func_80186C80 (ov_SC04_002, ov_SC04_002_jr_8017BEBC, 83 ins) * @@ -9968,7 +9938,6 @@ void func_80186C80(s32 a0, s32 a1, s32 a2, void *a3) } -typedef struct { u32 addr : 24; u32 len : 8; } PTag_801843D8_80186DCC; void func_80186DCC(void *a0) { @@ -10080,7 +10049,6 @@ extern void func_8012B21C(void *a0); } -typedef struct { s32 b[8]; } Blk20_80187108; extern void RotMatrixY(s32 a0, void *a1); extern void func_800484EC(s32 a0, s32 a1, s32 a2); @@ -10209,7 +10177,6 @@ extern s32 func_8012B8A4(s32); extern void func_8012F568(s32 a0, s32 a1, s32 a2, s32 a3, s32 a4, s32 a5); extern u8 D_801152A8[]; -typedef struct { s32 w0, w4, w8, wC; s16 h10, hpad; s32 t0, t1, t2; } Mat32_8018741C; void func_8018741C(void *a0) { @@ -10235,8 +10202,7 @@ void func_8018741C(void *a0) -typedef struct { short a, b, c; } SV3_801802D0; -typedef struct { s16 a, b, c, d; } SV4x_80183E2C; /* 8-byte, align-2 quad of s16 */ + /* 8-byte, align-2 quad of s16 */ extern s32 D_80126B58; @@ -10335,14 +10301,7 @@ void func_801876A4(s32 a0, s32 a1) { #include "common.h" -typedef struct { s16 m[3][3]; s32 t[3]; } MTX_80187714; -typedef struct { s32 pad[5]; s32 x, y, z; } ARG_80187714; -typedef struct { s32 b[8]; } Blk20_80187714; -typedef union { - ARG_80187714 arg; - MTX_80187714 mtx; -} U_80187714; extern Blk20_80187714 D_800AE620; extern s32 D_801BEE74; @@ -10429,12 +10388,7 @@ void func_80187854(void *a0) { } -typedef struct { s32 f0, f1, f2; } S_80182618; -typedef struct { s16 vx, vy, vz, pad; } SV_8017D7C0_8017F19C; /* 8 bytes, align 2 */ -typedef struct { - s32 f0; - u8 pad[12]; -} Tbl16_8018BDE4; + /* 8 bytes, align 2 */ @@ -10480,8 +10434,7 @@ void func_80187928(s32 param_1) { void func_801879DC(void) { } -typedef struct { s32 m[5]; s32 t[3]; } MtxW; -typedef struct { s16 m[3][3]; s32 t[3]; } MTX_8017D7C0_8017F19C; /* 0x20 bytes, align 4 */ + /* 0x20 bytes, align 4 */ extern s32 func_80187250(s32); extern s32 func_801872E0(s32); diff --git a/src/ov_SC04_007/ov_SC04_007_jr_8017BEBC.c b/src/ov_SC04_007/ov_SC04_007_jr_8017BEBC.c index eee78230e1..2de5d36ab2 100644 --- a/src/ov_SC04_007/ov_SC04_007_jr_8017BEBC.c +++ b/src/ov_SC04_007/ov_SC04_007_jr_8017BEBC.c @@ -4686,7 +4686,7 @@ void func_8017F548(int param_1) extern void func_8001CF00(s32 a0); extern void func_8012C194(void); -typedef struct { short a, b, c; } SV3_80181D44_8017CEF4_8017F634; /* == the TU's own `SV3` (engine_types.h:612); renamed only because + /* == the TU's own `SV3` (engine_types.h:612); renamed only because extern void func_8001CF00(s32 a0); /* canonical def: src/800.c:6059 void func_8001CF00(s32 a0) */ extern void func_8012C1B8(void); /* already declared this way + cast-called elsewhere in this TU */ extern s32 func_80029178(s32 arg); /* already declared this way in this TU */ @@ -4930,8 +4930,8 @@ void func_8017FA90(void *a0, s32 a1) { } -typedef struct { s16 m[3][3]; s32 t[3]; } MTX_8017D7C0_8017F19C_8018259C_8017FB1C; /* 0x20 bytes, align 4 */ -typedef struct { short a, b, c; } SV3_80181D44_8017CEF4_8017FB1C; /* == the TU's own `SV3` (engine_types.h:612); renamed only because + /* 0x20 bytes, align 4 */ + /* == the TU's own `SV3` (engine_types.h:612); renamed only because /* Declarations copied verbatim from the destination TU * (src/ov_SC04_005/ov_SC04_005_jr_8017BEBC.c lines 861, 5865(none), 347, 57, 1628, 1630). */ @@ -5594,13 +5594,7 @@ void func_80180E34(void *arg0) { } -typedef struct { s16 vx, vy, vz, pad; } SV_8017D7C0_80180E78; /* 8 bytes, align 2 */ -typedef struct { - SVECTOR_8016E7C8 v[4]; /* 0x00 */ - s32 f0, f1, f2, f3, f4, f5; /* 0x20..0x37 */ - u8 f6; /* 0x38 */ - u8 pad[7]; /* -> 0x40 */ -} Prim_8016E7C8_80180E78; + /* 8 bytes, align 2 */ extern s32 func_8012BCCC(s32 a0); extern s32 func_8012BEE8(s32 a0); @@ -5737,7 +5731,6 @@ void *arg0; * in this TU via engine_core.h; on banking it may be replaced by that name.) */ -typedef struct { u16 x, y, z, w; } V8_80182044_801810A4; extern void func_8012A828(s32, s32); @@ -6061,7 +6054,6 @@ extern void func_8012A828(s32 a0, s32 a1); /* Layout-identical to `struct S80190C84` (src/shared/engine_types.h:1337), which IS * visible in the destination TU via ../shared/engine_core.h; a fresh tag is used here * only so the standalone match_one compile (no engine_core.h on its -I path) works. */ -typedef struct { s16 f0, f2, f4, f6, f8, fA, fC, fE; s32 f10; } St_80182784_801817E4; extern void ApplyMatrixSV(void *a0, void *a1, void *a2); extern void func_8012EC04(s32 param_1, s32 param_2, s32 *param_3); @@ -6212,7 +6204,7 @@ extern void func_8002A04C(s32 arg0); } -typedef struct { s16 m[3][3]; s32 t[3]; } MTX_8017D7C0; /* 0x20 bytes, align 4 */ + /* 0x20 bytes, align 4 */ extern void func_80182DD8(s32 a0, void *a1, s32 a2); @@ -6238,7 +6230,6 @@ void func_80181B98(s32 a0) { * lines 6969-6988): same D_80126B78/D_80126B90/D_801152A8 globals, same * func_8012F14C / func_80135888 / func_8012F568 call chain. */ -typedef struct { short vx, vy, vz, pad; } SVec_801861D0_80181C0C; extern void func_8012EC04(s32 param_1, s32 param_2, s32 *param_3); extern void func_8012F14C(s32 a0, s32 a1, s32 a2); @@ -6293,12 +6284,6 @@ s32 func_80181D2C(s32 arg0) { } -typedef struct { - SVECTOR_8016E7C8 v[4]; /* 0x00 */ - s32 f0, f1, f2, f3, f4, f5; /* 0x20..0x37 */ - u8 f6; /* 0x38 */ - u8 pad[7]; /* -> 0x40 */ -} Prim_8016E7C8_80181DE0; /* func_80181DE0 -- ov_SC02_041, TU ov_SC02_041_jr_8017BEBC.c @@ -6349,9 +6334,9 @@ typedef struct { * (TU:5690) by the already-matched func_80182044 -- confirming the agreed signature. */ -typedef struct { short vx, vy, vz, pad; } SV_80182D80_80181DE0; /* 8 bytes, align 2 */ -typedef struct { short m[3][3]; long t[3]; } MTX_80182D80_80181DE0; /* 0x20 bytes, align 4 */ -typedef struct { s32 vx, vy, vz, pad; } V32_80182D80_80181DE0; /* 16 bytes, align 4 */ + /* 8 bytes, align 2 */ + /* 0x20 bytes, align 4 */ + /* 16 bytes, align 4 */ extern s32 VectorNormalSS(void *a0, void *a1); @@ -6516,7 +6501,7 @@ void func_80182074(s32 a0) { extern s32 func_80132EF4(s32 a0, s32 a1); -typedef struct { short a, b, c; } SV3_80181D44_801821DC; /* == the TU's own `SV3` (engine_types.h:612); renamed only because + /* == the TU's own `SV3` (engine_types.h:612); renamed only because extern s32 func_80132EF4(s32 a0, s32 a1); extern s32 rand(void); @@ -6674,14 +6659,8 @@ void func_801825AC(void *a0) { } -typedef struct { s16 m[3][3]; s32 t[3]; } MTX_8017D7C0_801825C0; /* 0x20 bytes, align 4 */ -typedef struct { s16 vx, vy, vz, pad; } SV_8017D7C0_801825C0; /* 8 bytes, align 2 */ -typedef struct { - SVECTOR_8016E7C8 v[4]; /* 0x00 */ - s32 f0, f1, f2, f3, f4, f5; /* 0x20..0x37 */ - u8 f6; /* 0x38 */ - u8 pad[7]; /* -> 0x40 */ -} Prim_8016E7C8_801825C0; + /* 0x20 bytes, align 4 */ + /* 8 bytes, align 2 */ /* func_801825C0 — ov_SC02_041, TU ov_SC02_041_jr_8017BEBC.c (132 ins). * @@ -7195,7 +7174,7 @@ void func_80183040(s32 a0, s32 a1, s32 a2) } -typedef struct { s16 vx, vy, vz, pad; } SV_8017D7C0_8017F19C_801832EC; /* 8 bytes, align 2 */ + /* 8 bytes, align 2 */ /* func_801832EC (ov_SC04_002, ov_SC04_002_jr_8017BEBC, 83 ins) * @@ -7273,7 +7252,6 @@ void func_801832EC(s32 a0, s32 a1, s32 a2, void *a3) } -typedef struct { u32 addr : 24; u32 len : 8; } PTag_801843D8_80183438; void func_80183438(void *a0) { @@ -7369,7 +7347,6 @@ void func_801836CC(s32 a0) { } -typedef struct { u16 x, y, z, w; } V8_8018370C; extern s32 func_8004787C(s32 a0); extern s32 func_80047948(s32 a0); @@ -7565,7 +7542,6 @@ void func_80183BEC(s32 a0) { } -typedef struct { u16 x, y, z, w; } V8_80183C24; extern void func_8002D4C8(s32 a0, s32 a1); extern s32 func_80133784(s32 a0, void *a1, s32 a2); @@ -7741,18 +7717,8 @@ void func_80183F4C(s32 a0) { } -typedef struct { s16 m[3][3]; s32 t[3]; } MTX_8017D7C0_8017F19C_8018259C_80183FF8; /* 0x20 bytes, align 4 */ -typedef struct { - s32 f0; - u8 pad[12]; -} Tbl16_8018BDE4_8017CEF4_80183FF8; -typedef struct { s16 vx, vy, vz, pad; } SV_8017D7C0_8017F19C_8017CEF4_80183FF8; /* 8 bytes, align 2 */ -typedef struct { - SVECTOR_8016E7C8 v[4]; /* 0x00 */ - s32 f0, f1, f2, f3, f4, f5; /* 0x20..0x37 */ - u8 f6; /* 0x38 */ - u8 pad[7]; /* -> 0x40 */ -} Prim_8016E7C8_80183FF8; + /* 0x20 bytes, align 4 */ + /* 8 bytes, align 2 */ /* func_80183FF8 (ov_SC04_005, jr_8017BEBC TU) — fresh crack from the target .s. * @@ -7767,7 +7733,6 @@ typedef struct { * D) scale the sub-prim at *(s32*)(self+0x6C)+0xCC by the clamped height delta. */ -typedef struct { s16 x, y, z, w; } V8_80182E54_80183FF8; extern void func_8012CBCC(s32 a0); extern s32 func_80133784(s32 a0, void *a1, s32 a2); diff --git a/src/ov_SC04_008/ov_SC04_008_jr_8017AE2C.c b/src/ov_SC04_008/ov_SC04_008_jr_8017AE2C.c index f1e3af7cfe..6030c649cf 100644 --- a/src/ov_SC04_008/ov_SC04_008_jr_8017AE2C.c +++ b/src/ov_SC04_008/ov_SC04_008_jr_8017AE2C.c @@ -3482,9 +3482,6 @@ void func_8017D12C(void *a0) { } -typedef struct { - s16 v[4]; -} Blk8_80126940_8017D168; void func_8017D168(s32 a0) { @@ -3604,7 +3601,6 @@ extern void func_8013CB84(void); * first insn the target steals into a delay slot.) */ -typedef struct { s32 a; s32 b[4]; } OtBlk_8017D3F8; extern void func_8002D4C8(s32 a0, s32 a1); extern s32 rand(void); @@ -3827,14 +3823,6 @@ void func_8017D990(void *a0) { } -typedef struct { s16 vx, vy; } DVEC2_C59C_8017D9CC; -typedef struct { s16 vx, vy, vz, pad; } SVEC2_C59C_8017D9CC; -typedef struct { - SVECTOR_8016E7C8 v[4]; /* 0x00 */ - s32 f0, f1, f2, f3, f4, f5; /* 0x20..0x37 */ - u8 f6; /* 0x38 */ - u8 pad[7]; /* -> 0x40 */ -} Prim_8016E7C8_8017D9CC; extern void func_8001CD9C(int, void *); extern void func_800233CC(void *, unsigned short); @@ -3901,9 +3889,6 @@ void func_8017D9CC(int param_1) } -typedef struct { - s16 vx, vy, vz; -} UVec_8017DB64; void func_8017DB64(int param_1) { @@ -3962,7 +3947,6 @@ join: } -typedef struct { s16 vx, vy; } DVEC2_C59C_8017DBEC; @@ -3970,9 +3954,6 @@ extern s32 rand(void); extern void func_800139C8(s32 a0, void *a1, void *a2); extern s32 D_80193348; -typedef struct { - s16 vx, vy, vz, pad; -} UVec_8017DED4; void func_8017DCB4(s32 param_1) { diff --git a/src/ov_SC04_009/ov_SC04_009_jr_8017BEBC.c b/src/ov_SC04_009/ov_SC04_009_jr_8017BEBC.c index 75180ab964..e5c2554da1 100644 --- a/src/ov_SC04_009/ov_SC04_009_jr_8017BEBC.c +++ b/src/ov_SC04_009/ov_SC04_009_jr_8017BEBC.c @@ -2895,9 +2895,6 @@ void func_8017D170(void *a0) { } -typedef struct { - s16 v[4]; -} Blk8_80126940_8017D1AC; void func_8017D1AC(s32 a0) { diff --git a/src/ov_SC04_010/ov_SC04_010_jr_8017BEBC.c b/src/ov_SC04_010/ov_SC04_010_jr_8017BEBC.c index 5537519f7c..79015e520b 100644 --- a/src/ov_SC04_010/ov_SC04_010_jr_8017BEBC.c +++ b/src/ov_SC04_010/ov_SC04_010_jr_8017BEBC.c @@ -3059,7 +3059,6 @@ void func_8017D560(s32 a0) { } -typedef struct { u8 b[4]; } Blk4_8017D5DC; extern void func_8001D074(s32 a0, s32 a1); extern void func_800233CC(void *, unsigned short); diff --git a/src/ov_SC04_011/ov_SC04_011_jr_8017D494.c b/src/ov_SC04_011/ov_SC04_011_jr_8017D494.c index a80614ebfe..12830cef15 100644 --- a/src/ov_SC04_011/ov_SC04_011_jr_8017D494.c +++ b/src/ov_SC04_011/ov_SC04_011_jr_8017D494.c @@ -3074,27 +3074,9 @@ void func_8017E374(void *a0) { extern s32 rand(void); -typedef struct { - u16 f0; - u16 f2; - u16 f4; - u16 f6; - u16 f8; - u16 fA; - s32 fC; - s32 f10; - s32 f14; - s32 f18; -} SubRec_801EB5C8_8017E3B0; /* 0x1C */ + /* 0x1C */ -typedef struct { - u16 g0; - u16 g2; - s32 g4; - s32 g8; - s32 gC; - SubRec_801EB5C8_8017E3B0 subs[16]; -} GroupRec_801EB5C8_8017E3B0; /* 0x1D0 */ + /* 0x1D0 */ void func_8017E3B0(s32 param_1) @@ -3666,9 +3648,9 @@ void func_8017F304(void *a0) { * Vec32 (:1098) -- byte-identical layouts. Renamed here only because match_one * compiles standalone with -Iinclude (engine_core.h is not on that path); on bank, * drop these three typedefs and use the TU's own names. */ -typedef struct { s16 vx, vy, vz, pad; } SV_8017D7C0_8017F340; /* 8 bytes, align 2 */ -typedef struct { s16 m[3][3]; s32 t[3]; } MTX_8017D7C0_8017F340; /* 0x20 bytes, align 4 */ -typedef struct { s32 vx, vy, vz, pad; } V32_8017D7C0_8017F340; /* 16 bytes, align 4 */ + /* 8 bytes, align 2 */ + /* 0x20 bytes, align 4 */ + /* 16 bytes, align 4 */ /* ov_SC02_041 func_8017F340 -- 181 ins, zero-crack family exemplar (reach x4: * ov_SC04_002:8017f19c, ov_SC04_004:8017f65c, ov_SC04_011:8017f340). @@ -3818,7 +3800,6 @@ void func_8017F6D8(s32 arg0) { } -typedef struct { s16 m[3][3]; s32 t[3]; } MTX_8017F700; extern void func_80015978(s32 a0, s32 *a1); extern s32 func_80017DC4(void *a0, void *a1); @@ -4740,15 +4721,6 @@ s32 func_80180A20(s32 *param_1) { } -struct Ent_80180AB4 { - /* 0x00 */ u8 pad00[0x34]; - /* 0x34 */ u16 unk34; - /* 0x36 */ u8 pad36[0xAA]; - /* 0xE0 */ u16 unkE0; - /* 0xE2 */ u8 padE2[0x10]; - /* 0xF2 */ s16 unkF2; - /* 0xF4 */ s16 unkF4; -}; void func_80180AB4(struct Ent_80180AB4 *arg0) { extern u8 D_80194470[]; @@ -4771,13 +4743,6 @@ void func_80180AB4(struct Ent_80180AB4 *arg0) { /* func_80180B24 — S71a_1 fable. Body = .run/pool_1/opus (standalone MATCH 215/215); * integration fix: D_80126B58 spelled through the TU's house __asm__ alias (the TU also * declares it `u8 []` at block scope in func_80184978, so a file-scope `s32` decl conflicts). */ -struct Ent_80180B24 { - /* 0x00 */ u8 pad00[0x34]; - /* 0x34 */ u16 unk34; - /* 0x36 */ u8 pad36[0xBC]; - /* 0xF2 */ u16 unkF2; - /* 0xF4 */ u16 unkF4; -}; extern u16 D_801EFD20; extern u16 D_801EFD40; extern s32 aB58_80180B24[1] __asm__("D_80126B58"); @@ -5454,14 +5419,6 @@ void func_80181948(s32 a0) { * to 0xF2. Only COMPONENT_REFs of distinct members let sched.c prove the two * MEMs do not alias and hoist the `lh` above the `sh`; the `*(s16 *)(a0 + off)` * spelling keeps them dependent and emits the store first. */ -struct Ent_80181B30 { - /* 0x00 */ u8 pad00[0x1C]; - /* 0x1C */ s32 unk1C; - /* 0x20 */ u8 pad20[0xD2]; - /* 0xF2 */ s16 unkF2; - /* 0xF4 */ u8 padF4[0x2]; - /* 0xF6 */ s16 unkF6; -}; void func_80181B30(struct Ent_80181B30 *a0) { extern void func_80183CF4(void *); @@ -5495,31 +5452,7 @@ extern void func_8002D4C8(s32 a0, s32 a1); sched.c true_dependence drops the edge between a (IN_STRUCT && varying) member MEM and the (!IN_STRUCT && !varying) SYMBOL_REF global D_801EFD40 -- that is what lets the target hoist every `lhu D_801EFD40` above the entity stores (cookbook line 14831). */ -struct Sub_80181BA0 { - /* 0x00 */ u8 pad00[0x12]; - /* 0x12 */ s16 unk12; -}; -struct Ent_80181BA0 { - /* 0x00 */ u8 pad00[0x6]; - /* 0x06 */ s16 unk06; - /* 0x08 */ u8 pad08[0x2]; - /* 0x0A */ s16 unk0A; - /* 0x0C */ u8 pad0C[0x2]; - /* 0x0E */ s16 unk0E; - /* 0x10 */ u8 pad10[0xC]; - /* 0x1C */ s32 unk1C; - /* 0x20 */ struct Sub_80181BA0 *unk20; - /* 0x24 */ u8 pad24[0x10]; - /* 0x34 */ u16 unk34; - /* 0x36 */ u8 pad36[0x5E]; - /* 0x94 */ s32 unk94; - /* 0x98 */ s16 unk98; - /* 0x9A */ u8 pad9A[0x58]; - /* 0xF2 */ s16 unkF2; - /* 0xF4 */ u8 padF4[0x2]; - /* 0xF6 */ s16 unkF6; -}; void func_80181BA0(struct Ent_80181BA0 *a0) { extern u16 D_801EFD20; @@ -5643,12 +5576,6 @@ void func_80181BA0(struct Ent_80181BA0 *a0) { between an (IN_STRUCT && varying) member MEM and the (!IN_STRUCT && !varying) SYMBOL_REF global D_801EFD40, and that is what hoists `lhu D_801EFD40` above `sh $v1, 0xF2($a0)` (this TU's own note @L5275, cookbook line 14831). */ -struct Ent_80181EA0 { - /* 0x00 */ u8 pad00[0x1C]; - /* 0x1C */ s32 unk1C; - /* 0x20 */ u8 pad20[0xD2]; - /* 0xF2 */ s16 unkF2; -}; /* Parameter is s32: the TU declares `extern void func_80181EA0(s32);` inside func_80181BA0 (L5332) and calls it as `func_80181EA0((s32)a0)` (L5398). */ @@ -5684,10 +5611,6 @@ void func_80181EA0(s32 a0) { `sh %lo(D_801EFD40)` (this TU's own note @L5275, cookbook line 14831). Every OTHER entity access stays a raw cast, because cases 0/1 need the OPPOSITE: the D_801EFD40 load must stay BELOW `sw 0x1C($s0)`. */ -struct EntF2_80181F0C { - /* 0x00 */ u8 pad00[0xF2]; - /* 0xF2 */ s16 unkF2; -}; void func_80181F0C(s32 a0) { extern void func_8012BEE8(u8 *a0); @@ -5818,11 +5741,6 @@ extern s32 D_801EFC48; extern s32 aFC4C[] __asm__("D_801EFC4C"); extern u16 D_801EFD20; -typedef struct { - s32 f0; - s32 f1; - s32 f2; -} Rec801944E8; extern Rec801944E8 D_801944E8[]; extern void func_80185960(s32 target, u16 *cur, s32 step); @@ -5956,23 +5874,6 @@ void func_801823C0(void *a0) * Field layout: offsets 0x1C/0x34/0x94/0x98/0xF2/0xF6 agree with this TU's own * `struct Ent_80181BA0` (L5265); 0x72 and 0xE2 come from this target's own loads. * A fresh tag name is used because Ent_80181BA0 lacks those two members. */ -struct Ent_80182420 { - /* 0x00 */ u8 pad00[0x1C]; - /* 0x1C */ s32 unk1C; - /* 0x20 */ u8 pad20[0x14]; - /* 0x34 */ u16 unk34; - /* 0x36 */ u8 pad36[0x3C]; - /* 0x72 */ u16 unk72; - /* 0x74 */ u8 pad74[0x20]; - /* 0x94 */ s32 unk94; - /* 0x98 */ s16 unk98; - /* 0x9A */ u8 pad9A[0x48]; - /* 0xE2 */ s16 unkE2; - /* 0xE4 */ u8 padE4[0xE]; - /* 0xF2 */ u16 unkF2; - /* 0xF4 */ u8 padF4[0x2]; - /* 0xF6 */ s16 unkF6; -}; void func_80182420(struct Ent_80182420 *a0) { @@ -7197,7 +7098,7 @@ void func_80183880(s32 a0) * identical. Renamed here only because match_one compiles standalone with * -Iinclude (engine_core.h is not on that path); on bank, drop this typedef * and use the TU's own MATRIX name. */ -typedef struct { s16 m[3][3]; s32 t[3]; } Mtx32_80183A28; /* 0x20 bytes, align 4 */ + /* 0x20 bytes, align 4 */ extern u16 D_801EFD20; /* §183: the TU spells these symbols differently at file scope, so reach them through @@ -7418,7 +7319,6 @@ void func_80183EA8(void) { #include "common.h" -typedef struct { s32 w[8]; } Blk32_80183F10; extern s32 D_801EFC54; /* §183: the TU spells these symbols differently at file scope, so reach them through @@ -8350,9 +8250,6 @@ void func_80185214(s32 a0) extern s32 aFC4C[] __asm__("D_801EFC4C"); extern void func_80049CAC(s32 a0, s32 a1); -typedef struct { - s32 a, b, c, d, e, f, g, h; -} Oct_801852BC; void func_801852BC(s32 id) { @@ -8389,9 +8286,6 @@ extern void func_80049CAC(s32 a0, s32 a1); -typedef struct { - s32 w[8]; -} Oct_801853D0; void func_801853D0(s32 id) { @@ -8442,7 +8336,6 @@ void func_801853D0(s32 id) -typedef struct { s32 a, b, c, d, e, f, g, h; } MTX8_80185648; void func_80185648(u32 a0) { @@ -9989,7 +9882,6 @@ void func_801876A0(s32 a0) { #include "common.h" -typedef struct { s16 x, y, z, w; } Vec4S16_8018778C; extern s32 func_8012B70C(s16 *a0, s16 *a1); extern s32 func_80187940(s32 arg0, s32 arg1, s32 arg2, s16 arg3); @@ -10143,7 +10035,6 @@ extern s32 func_8012B70C(s16 *a0, s16 *a1); extern void func_80188B78(u8 *a0); extern u8 D_801202A0[]; -typedef struct { s16 vx, vy, vz, pad; } SV_80187A04; void func_80187A04(void *a0) { @@ -10339,8 +10230,8 @@ loop: * `lh 0xC($s0)`); the intervening `sw 0x4($s0)` is what keeps the reload. */ -typedef struct { s16 vx, vy, vz, pad; } SV_80187D68; /* 8 bytes, align 2 -> lwl/lwr copy */ -typedef struct { u8 c[4]; } Blk4_80187D68; /* 4 bytes, align 1 -> lwl/lwr copy */ + /* 8 bytes, align 2 -> lwl/lwr copy */ + /* 4 bytes, align 1 -> lwl/lwr copy */ extern void func_8004914C(void *a0); extern void func_800491AC(void *a0); @@ -10887,7 +10778,7 @@ void func_80188AC4(s32 *param_1) { * V32_8017D7C0_8017F340 -- byte identical. Renamed/redeclared here only because * match_one compiles standalone with -Iinclude (engine_core.h is not on that * path); on bank, drop these typedefs and use the TU's own names. */ -typedef struct { s32 w0, w4, w8, wC; s16 h10, hpad; s32 t0, t1, t2; } Mat32_80188B78; /* 0x20 bytes */ + /* 0x20 bytes */ /* 8 bytes, align 2 */ /* 16 bytes, align 4 */ @@ -11445,8 +11336,6 @@ void func_80189764(void *a0) { -typedef struct { s16 m[3][3]; s32 t[3]; } MATRIX_8018985C; -typedef struct { s16 vx, vy, vz, pad; } SVECTOR_8018985C; extern u16 D_80126B5E; extern u16 D_80126B66; @@ -11540,10 +11429,6 @@ extern void func_8018A42C(void *a0, void *a1); extern void func_8012B23C(s32 a0); extern s32 func_8012AD50(void *a0); -typedef struct { - s32 unk0; - s32 unk4; -} Rec_80189AEC; extern s32 D_801E4928[]; extern s32 D_801E57E4[]; @@ -11670,10 +11555,6 @@ void func_80189D38(void *a0) #include "common.h" -typedef struct { - u16 value; - u8 pad[14]; -} Entry_D_801949C8; extern void (*D_80194A04[])(void *); extern Entry_D_801949C8 D_801949C8[]; @@ -12139,12 +12020,6 @@ void func_8018A7E8(s32 a0) #include "common.h" -typedef struct { - s16 f0; - s16 f2; - s16 f4; - u16 f6; -} TableRec_80194A10; extern TableRec_80194A10 D_80194A10[]; extern s32 D_801948F0[]; @@ -12773,7 +12648,6 @@ void func_8018B2F8(s32 *arg0, s32 arg1) #include "common.h" -typedef struct { u8 c[4]; } Blk4_8018B4E0; extern void func_800233CC(void *a0, unsigned short a1); extern s32 func_8012C194(void); @@ -12824,7 +12698,6 @@ extern void func_800233CC(void *a0, unsigned short a1); /* Same align-1 4-byte block-move idiom used elsewhere in this TU for * D_801ED994 (func_8018C764, L6200-6217): lwl/lwr + swl/swr, not memcpy. */ -typedef struct { u8 d[4]; } Blk4_8018B5E4; /* §183: the TU spells these symbols differently at file scope, so reach them through __asm__ label ALIASES -- the TU's own established idiom (func_80188094, L6390): same assembler symbol, private type, zero declaration surface. */ @@ -12983,7 +12856,6 @@ extern u8 D_801EFEA0[]; * which does not match the target's inline copy at all (TU note at * func_8018E1F0, L5311-5327). Route it through an align-1 struct assign * instead -- block-scoped so it cannot collide with anything file-scope. */ -typedef struct { u8 c[4]; } Blk4_8018B948; extern Blk4_8018B948 D_801ED9B4; s32 func_8018B948(void) { @@ -14598,16 +14470,6 @@ void func_8018DA18(s32 a0, void *a1) { * confirmed via normalized asm diff (only the D_* data-symbol addresses and * instruction addresses differ). */ -typedef struct { s16 vx, vy, vz, pad; } SVECTOR_8018DA64; -typedef struct { s16 m[3][3]; s32 t[3]; } MATRIX_8018DA64; -typedef struct { - SVECTOR_8018DA64 v[4]; /* 0x00 */ - s32 k30, k34, k38, k3c; /* 0x20: each a packed pair of s16 UV/coord fields */ - u32 bcast; /* 0x30 */ - s32 tag; /* 0x34 */ - u8 code; /* 0x38 */ - u8 pad39[7]; /* -> 0x40 */ -} Prim_8018DA64; extern SVECTOR_8018DA64 D_80194DD0; extern SVECTOR_8018DA64 D_80194DD8; @@ -16148,12 +16010,6 @@ int func_8018F68C(short *pos, int a1, int a2) } -typedef struct { - SVECTOR_8016E7C8 v[4]; /* 0x00 */ - s32 f0, f1, f2, f3, f4, f5; /* 0x20..0x37 */ - u8 f6; /* 0x38 */ - u8 pad[7]; /* -> 0x40 */ -} Prim_8016E7C8_8018F734; /* func_8018F734 (ov_SC03_117, ov_SC03_117_jr_8017BEBC) — MATCH (148 ins) * @@ -16230,8 +16086,7 @@ typedef struct { * do not collide with any name in the TU. */ -typedef struct { s16 vx, vy, vz, pad; } SV_1A30_8018F734; -typedef struct { s16 m[3][3]; s32 t[3]; } MTX_1A30_8018F734; /* 0x20 bytes */ + /* 0x20 bytes */ void func_8018F734(s16 *arg0) { @@ -16570,12 +16425,9 @@ void func_8018FD38(s32 arg0) { * func_80017D98, func_8004787C, func_80190174, D_800B99DA, D_801F1500. */ -typedef struct { s16 vx, vy, vz, pad; } SV_8018FE20; /* 8 bytes, align 2 */ -typedef struct { s16 m[3][3]; s32 t[3]; } MTX_8018FE20; /* 0x20 */ -typedef struct { - SV_8018FE20 v[4]; /* 0x00 */ - s32 f0, f1, f2, f3, f4, f5; /* 0x20..0x37 */ -} PRIM_8018FE20; /* 0x38 */ + /* 8 bytes, align 2 */ + /* 0x20 */ + /* 0x38 */ extern u16 D_800B99DA; extern s8 D_801F1500[]; @@ -16677,10 +16529,7 @@ void func_8018FE20(arg0, arg1, arg2, arg3) -typedef struct { - SVECTOR_8016E7C8 v[4]; /* 0x00, 0x20 bytes */ - s32 f0, f1, f2, f3, f4; /* 0x20 - 0x33 */ -} Prim34_80190174; /* sizeof == 0x34 */ + /* sizeof == 0x34 */ void func_80190174(Prim34_80190174 *arg0, void *arg1, s32 arg2) { diff --git a/src/ov_SC04_012/ov_SC04_012_jr_8017AE2C.c b/src/ov_SC04_012/ov_SC04_012_jr_8017AE2C.c index f74fbcda31..edbc81ccff 100644 --- a/src/ov_SC04_012/ov_SC04_012_jr_8017AE2C.c +++ b/src/ov_SC04_012/ov_SC04_012_jr_8017AE2C.c @@ -3949,14 +3949,6 @@ void func_8017DBB0(void *a0) { } -typedef struct { s16 vx, vy; } DVEC2_C59C_8017DBEC; -typedef struct { s16 vx, vy, vz, pad; } SVEC2_C59C_8017DBEC; -typedef struct { - SVECTOR_8016E7C8 v[4]; /* 0x00 */ - s32 f0, f1, f2, f3, f4, f5; /* 0x20..0x37 */ - u8 f6; /* 0x38 */ - u8 pad[7]; /* -> 0x40 */ -} Prim_8016E7C8_8017DBEC; extern void func_8001CD9C(int, void *); extern void func_800233CC(void *, unsigned short); @@ -4023,14 +4015,9 @@ void func_8017DBEC(int param_1) } -typedef struct { s16 vx, vy, vz, pad; } SVEC2_C59C_8017D9CC; -typedef struct { s16 vx, vy; } DVEC2_C59C_8017D9CC; -typedef struct { - s16 vx, vy, vz; -} UVec_8017DB64; void func_8017DD84(int param_1) { @@ -4086,9 +4073,6 @@ extern s32 rand(void); extern void func_800139C8(s32 a0, void *a1, void *a2); extern s32 D_801930C8; -typedef struct { - s16 vx, vy, vz, pad; -} UVec_8017DED4; void func_8017DED4(s32 param_1) { diff --git a/src/ov_SC04_016/ov_SC04_016_jr_8017BEBC.c b/src/ov_SC04_016/ov_SC04_016_jr_8017BEBC.c index ca1b9cae1b..9dc9423652 100644 --- a/src/ov_SC04_016/ov_SC04_016_jr_8017BEBC.c +++ b/src/ov_SC04_016/ov_SC04_016_jr_8017BEBC.c @@ -2887,17 +2887,6 @@ extern unsigned char D_801A6B04; extern unsigned char D_801A6B05; extern unsigned char D_801A6B06; -typedef struct { - s16 f0; - s16 f1; - s16 f2; - s16 f3; - s16 f4; - s16 f5; - s16 f6; - s16 f7; - s32 f8; -} St_8017D118; void func_8017D118(s32 a0) { St_8017D118 st; @@ -3477,7 +3466,6 @@ extern s16 D_80184D0A; extern u16 D_800B99DC; extern void func_8017E960(s32 param_1, s32 param_2, s32 *param_3); -typedef struct { s32 x, y, z; } Vec3_8017DF8C; void func_8017DF8C(void *a0) { @@ -4157,17 +4145,6 @@ extern void func_8012A828(s32 a0, void * a1); extern s32 func_8012C51C(void *arg0, s32 arg1); -typedef struct { - s16 f0; - s16 f1; - s16 f2; - s16 f3; - s16 f4; - s16 f5; - s16 f6; - s16 f7; - s32 f8; -} St_8017EDC4; void func_8017EDC4(s32 arg0) { St_8017EDC4 st; diff --git a/src/ov_SC04_016/ov_SC04_016_jr_8017F03C.c b/src/ov_SC04_016/ov_SC04_016_jr_8017F03C.c index e7a22c1663..43881ccaf5 100644 --- a/src/ov_SC04_016/ov_SC04_016_jr_8017F03C.c +++ b/src/ov_SC04_016/ov_SC04_016_jr_8017F03C.c @@ -9,17 +9,6 @@ typedef struct { u8 pad[7]; /* -> 0x40 */ } Prim_8016E7C8; typedef void (*Handler)(struct Entry_8016E95C *); -typedef struct { - s16 f0; - s16 f1; - s16 f2; - s16 f3; - s16 f4; - s16 f5; - s16 f6; - s16 f7; - s32 f8; -} St_8017EDC4; extern void func_801458E0(void); extern s32 D_800AE6AC; extern s32 D_800AE6B0; diff --git a/src/ov_SC04_018/ov_SC04_018_jr_801878E8.c b/src/ov_SC04_018/ov_SC04_018_jr_801878E8.c index f81ca71842..db36a0c126 100644 --- a/src/ov_SC04_018/ov_SC04_018_jr_801878E8.c +++ b/src/ov_SC04_018/ov_SC04_018_jr_801878E8.c @@ -3684,24 +3684,10 @@ s32 func_80188428(void) { * `extern short D_800B9A02` canon (§37); 864 sites already use that spelling. */ -typedef struct { u32 addr : 24; u32 len : 8; } PTag_S40_8018B238_80188778; -typedef struct { u32 w; } W_S40_8018B238_80188778; -typedef struct { u32 *ot; u32 pad[4]; } Env_S40_8018B238_80188778; /* 0x14 stride */ -typedef struct { s16 v; } Flag_S40_8018B238_80188778; /* 0x02 stride */ + /* 0x14 stride */ + /* 0x02 stride */ -typedef struct Panel_S40_8018B238_80188778 { - s16 f0; /* 0x00 */ - s16 f2; /* 0x02 */ - void *f4; /* 0x04 */ - void *f8; /* 0x08 */ - s16 fC; /* 0x0C */ - s16 fE; /* 0x0E */ - s16 f10; /* 0x10 */ - s16 f12; /* 0x12 */ - void *f14; /* 0x14 */ - void *f18; /* 0x18 */ - void *f1C; /* 0x1C */ -} Panel_S40_8018B238_80188778; /* 0x20 stride */ + /* 0x20 stride */ diff --git a/src/ov_SC04_018/ov_SC04_018_jr_80188E1C.c b/src/ov_SC04_018/ov_SC04_018_jr_80188E1C.c index ee193633be..c680ac6950 100644 --- a/src/ov_SC04_018/ov_SC04_018_jr_80188E1C.c +++ b/src/ov_SC04_018/ov_SC04_018_jr_80188E1C.c @@ -4134,12 +4134,6 @@ extern u16 D_800B99DA; extern u8 D_801E04E0[]; extern void func_8018A2E0(u16 *a0, s32 a1); -typedef struct { - u16 f0; - u16 f1; - u16 f2; - s16 f3; -} Ent_8018A224; s32 func_8018A224(Ent_8018A224 *arg0, s32 arg1) { diff --git a/src/ov_SC04_018/ov_SC04_018_jr_8018CC40.c b/src/ov_SC04_018/ov_SC04_018_jr_8018CC40.c index 915e24aa9b..c710559b1b 100644 --- a/src/ov_SC04_018/ov_SC04_018_jr_8018CC40.c +++ b/src/ov_SC04_018/ov_SC04_018_jr_8018CC40.c @@ -3339,13 +3339,6 @@ extern s32 D_801E3D60; extern u32 D_801E3D74; extern s32 D_801E3EA4; -typedef struct { - s16 unk00; /* 0x00 */ - s16 pad02; /* 0x02 */ - s32 unk04; /* 0x04 */ - s32 unk08; /* 0x08 */ - s32 unk0C; /* 0x0C */ -} Struct801E79D8; extern Struct801E79D8 D_801E79D8; diff --git a/src/ov_SC04_020/ov_SC04_020_jr_8017D604.c b/src/ov_SC04_020/ov_SC04_020_jr_8017D604.c index 82738f2d19..e2f85a54d9 100644 --- a/src/ov_SC04_020/ov_SC04_020_jr_8017D604.c +++ b/src/ov_SC04_020/ov_SC04_020_jr_8017D604.c @@ -3759,7 +3759,6 @@ void func_8017F63C(void *a0) { /* identical layout to SVECTOR_8016E7C8 (src/shared/engine_types.h) */ -typedef struct { short vx, vy, vz, pad; } SVEC_8017EC98_8017F704; void func_8017F704(SVEC_8017EC98_8017F704 *p0, SVEC_8017EC98_8017F704 *p1) { /* conform to the TU's file-scope canon (`extern void func_8012EF70(s32, s32);`) diff --git a/src/ov_SC04_020/ov_SC04_020_jr_8018254C.c b/src/ov_SC04_020/ov_SC04_020_jr_8018254C.c index 9c56c4aacb..7299104abb 100644 --- a/src/ov_SC04_020/ov_SC04_020_jr_8018254C.c +++ b/src/ov_SC04_020/ov_SC04_020_jr_8018254C.c @@ -9,7 +9,6 @@ typedef struct { u8 pad[7]; /* -> 0x40 */ } Prim_8016E7C8; typedef void (*Handler)(struct Entry_8016E95C *); -typedef struct { short vx, vy, vz, pad; } SVEC_8017EC98_8017F704; extern void func_801458E0(void); extern s32 D_800AE6AC; extern s32 D_800AE6B0; diff --git a/src/ov_SC04_021/ov_SC04_021_jr_8017AE2C.c b/src/ov_SC04_021/ov_SC04_021_jr_8017AE2C.c index bd41d238a2..29fdd0f766 100644 --- a/src/ov_SC04_021/ov_SC04_021_jr_8017AE2C.c +++ b/src/ov_SC04_021/ov_SC04_021_jr_8017AE2C.c @@ -2914,13 +2914,11 @@ extern void func_80146C3C(u8 *a0); #include "../shared/ov/func_8017BFA4.h" -typedef struct { s16 vx, vy; } DVEC2_C59C; -typedef struct { s16 vx, vy, vz, pad; } SVEC_BEBC; extern s32 func_800491EC(void); extern void func_8017C3EC(u16 *a0, void *a1); @@ -2968,15 +2966,6 @@ void func_8017C688(s32 a0, s32 a1) { } -typedef struct { u32 w0, w1, w2; } Prim126; -typedef struct { u8 *vtx; u32 f4; u32 xx, yy, zz; Prim126 *prim, *end; } Cell126; -typedef struct { s16 vx, vy; } DVEC2_C6F4; -typedef struct { s16 vx, vy, vz, pad; } SVEC2_C6F4; -typedef struct { s16 m[3][3]; s32 t[3]; } MTX_C6F4; -typedef struct { u32 tag, rgbc; s16 x0, y0, x1, y1, x2, y2; } PF3_C6F4; -typedef struct { u32 tag, rgbc; s16 x0, y0, x1, y1, x2, y2, x3, y3; } PF4_C6F4; -typedef struct { u32 tag, rgbc; s16 x0, y0; u32 uvc0; s16 x1, y1; u32 uvp1; s16 x2, y2; u16 uv2, p2; } PFT3_C6F4; -typedef struct { u32 tag, rgbc; s16 x0, y0; u32 uvc0; s16 x1, y1; u32 uvp1; s16 x2, y2; u16 uv2, p2; s16 x3, y3; u16 uv3, p3; } PFT4_C6F4; #include "../shared/ov/func_8017C6F4__362c87a7.h" diff --git a/src/ov_SC05_000/ov_SC05_000_jr_8017BEBC.c b/src/ov_SC05_000/ov_SC05_000_jr_8017BEBC.c index 2c05948ebf..164220f0dc 100644 --- a/src/ov_SC05_000/ov_SC05_000_jr_8017BEBC.c +++ b/src/ov_SC05_000/ov_SC05_000_jr_8017BEBC.c @@ -3357,9 +3357,6 @@ void func_8017D464(void *a0) { } -typedef struct { - s16 v[4]; -} Blk8_80126940_8017D4A0; extern void func_8017D538(s32 param_1, s16 *param_2); diff --git a/src/ov_SC05_001/ov_SC05_001_jr_8017BEBC.c b/src/ov_SC05_001/ov_SC05_001_jr_8017BEBC.c index e1238488b6..1bb5e190a4 100644 --- a/src/ov_SC05_001/ov_SC05_001_jr_8017BEBC.c +++ b/src/ov_SC05_001/ov_SC05_001_jr_8017BEBC.c @@ -4158,7 +4158,6 @@ extern s32 func_8004787C(s32 a0); extern s32 func_80047948(s32 a0); /* 8 bytes, align 2 -> the lwl/lwr + swl/swr unaligned block copy at 8017EB54 */ -typedef struct { s16 f0, f1, f2, f3; } Blk8_80126940_8017EAEC; extern Blk8_80126940_8017EAEC D_80126940; extern s16 D_8018970C[]; @@ -4253,14 +4252,6 @@ extern u32 func_8017F040(s16 *param_1, s16 *param_2, s16 *param_3); extern u32 func_8017F0F8(s16 *param_1, s16 *param_2, s16 *param_3); extern s32 ratan2(s32 a0, s32 a1); -struct ZnRec { - u8 kind; - u8 mode; - s16 opA[2]; - s16 opB[2]; - s16 ax; - s16 az; -}; s32 func_8017EE08(struct ZnRec *param_1, s16 *param_2, s16 *param_3) { u32 a3; @@ -4602,12 +4593,6 @@ extern s32 D_80189838; /* Row shape shared by all three tables: u16 at +0x0/+0x2/+0x4/+0x6, stride 8. * Used only as a *cast target*, never as the declared type of a global. */ -typedef struct { - u16 f0; - u16 f2; - u16 f4; - u16 f6; -} SC05_F3E4_Tbl8; void func_8017F3E4(void *a0) { s32 p; @@ -4773,7 +4758,6 @@ extern void func_8002D4C8(s32 a0, s32 a1); extern s32 func_8012BEE8(s32 a0); extern void func_8017F88C(s32 a0); -typedef struct { s16 f0; s16 pad[3]; } Rec_801897BC; extern Rec_801897BC D_801897BC[]; void func_8017F744(s32 param_1) @@ -4951,15 +4935,6 @@ extern s32 (*D_80189ACC[])(); /* 12-byte record, stride 0xC — written by the two identical fill loops below * (halfword at +0x0, byte at +0x3, halfwords at +0x6 and +0xA). */ -typedef struct { - s16 f0; - u8 f2; - u8 f3; - s16 f4; - s16 f6; - s16 f8; - s16 fA; -} SC05_FBB0_Rec; void func_8017FBB0(s32 a0) { /* Overlay-local data, read off this .s's own relocation lines (law 1). @@ -5424,10 +5399,6 @@ extern s32 func_8012AD50(void *a0); extern s32 D_801A82B4[]; -typedef struct { - s32 a; - s32 b; -} Pair_801B5E30; extern Pair_801B5E30 D_801B5E30[]; void func_80180600(s32 a0) { @@ -5472,10 +5443,6 @@ void func_80180710(s32 param_1) { } -typedef struct { - void (*fp)(void); - s32 pad; -} TblEntry_80189854; extern u16 D_80189854[]; extern void func_8012AD80(s32 a0); @@ -6127,20 +6094,9 @@ void func_801814E4(s32 param_1) { */ /* 4 bytes, alignment 1 -> struct assignment lowers to lwl/lwr + swl/swr */ -typedef struct { - u8 r; /* 0x00 */ - u8 g; /* 0x01 */ - u8 b; /* 0x02 */ - u8 cd; /* 0x03 (never written; the block move copies it anyway) */ -} Col4_80181574; /* func_8012EF70's out-parameter: 8 bytes, s16 OTZ at +4 (see * DEFINE_func_8012EF70 in src/shared/engine_core.h) */ -typedef struct { - s32 unk0; /* 0x00 */ - s16 otz; /* 0x04 */ - s16 unk6; /* 0x06 */ -} Gte8_80181574; extern void func_8012EF70(s32 a0, s32 a1); extern void func_80015954(s32 a0, s32 a1); @@ -6461,12 +6417,6 @@ void func_80181C98(s32 a0) } -typedef struct { - SVECTOR_8016E7C8 v[4]; /* 0x00 */ - s32 f0, f1, f2, f3, f4, f5; /* 0x20..0x37 */ - u8 f6; /* 0x38 */ - u8 pad[7]; /* -> 0x40 */ -} Prim_8016E7C8_80181CE0; extern s32 func_8012B8E4(s32 arg0, s32 arg1); extern s32 func_8012BEE8(s32 a0); @@ -7107,7 +7057,6 @@ void func_80182944(s32 a0) { struct Vec; -typedef struct { s16 vx, vy, vz, pad; } SVEC_29B0; s32 func_801829B0(s32 arg0) { /* [T51] scoped in from file scope: a file-scope decl of these symbols constrains @@ -7509,12 +7458,6 @@ void func_80182FB4(s32 param_1) } -typedef struct { - SVECTOR_8016E7C8 v[4]; /* 0x00 */ - s32 f0, f1, f2, f3, f4, f5; /* 0x20..0x37 */ - u8 f6; /* 0x38 */ - u8 pad[7]; /* -> 0x40 */ -} Prim_8016E7C8_8018330C; extern s32 func_8012BCCC(s32 a0); extern s32 func_8004787C(s32 a0); diff --git a/src/ov_SC05_001/ov_SC05_001_jr_80183508.c b/src/ov_SC05_001/ov_SC05_001_jr_80183508.c index c14b304b5f..43f8cea913 100644 --- a/src/ov_SC05_001/ov_SC05_001_jr_80183508.c +++ b/src/ov_SC05_001/ov_SC05_001_jr_80183508.c @@ -3694,7 +3694,6 @@ extern u8 D_801AE3A0[]; extern void func_8012F214(s32 a0, s32 a1, s32 a2); extern s32 func_8004787C(s32 a0); -typedef struct { s16 a, b, c, d; } V8x_8018466C; s32 func_8018466C(void *arg0) { diff --git a/src/ov_SC05_003/ov_SC05_003_jr_8017BEBC.c b/src/ov_SC05_003/ov_SC05_003_jr_8017BEBC.c index 96d8f718f6..74fdc9e324 100644 --- a/src/ov_SC05_003/ov_SC05_003_jr_8017BEBC.c +++ b/src/ov_SC05_003/ov_SC05_003_jr_8017BEBC.c @@ -3269,9 +3269,6 @@ void func_8017E0F4(void *a0) { extern s32 D_80126B58; extern u16 func_80148800(s32 *a0); -typedef struct { - s16 v[4]; -} Blk8_80126940_8017E130; void func_8017E130(void *a0) { extern Blk8_80126940_8017E130 D_80126940; @@ -5045,7 +5042,6 @@ s32 func_80180834(void *a0) { extern void func_8012AD80(struct vec *a0); extern s32 func_80133784(s32, void *, s32); -struct SV3_801808E8 { u16 vx, vy, vz; u8 pad; }; s32 func_801808E8(s32 a0, void *a1, s32 a2, s32 a3) { struct SV3_801808E8 sp10; @@ -5148,7 +5144,6 @@ s32 func_80180B04(s32 a0, s32 a1, s32 a2) { extern s32 func_80133784(s32, void *, s32); -struct SV3_8012CC88 { u16 vx, vy, vz; u8 pad; }; s32 func_80180C44(s32 a0, void *a1, s32 a2) { struct SV3_8012CC88 sp10; @@ -5832,10 +5827,6 @@ s32 func_80181AAC(s32 a0, s32 a1, s32 a2) { } -typedef struct { - s16 f0, f2, f4, f6, f8, fA, fC, fE; - s32 f10; -} S80190C84L; extern s32 func_8012BE54(s32 a0); extern s32 func_8012C51C(void *a0, s32 a1); diff --git a/src/ov_SC05_004/ov_SC05_004_jr_8017BEBC.c b/src/ov_SC05_004/ov_SC05_004_jr_8017BEBC.c index c6d7976700..3ba5de15a6 100644 --- a/src/ov_SC05_004/ov_SC05_004_jr_8017BEBC.c +++ b/src/ov_SC05_004/ov_SC05_004_jr_8017BEBC.c @@ -4103,9 +4103,6 @@ void func_8017E36C(void *a0) { } -typedef struct { - s16 v[4]; -} Blk8_80126940_8017E3A8; extern void func_8017E440(s32 param_1, s16 *param_2); @@ -4286,7 +4283,6 @@ extern void func_8001D074(s32 a0, s32 a1); extern void func_800233CC(void *a0, unsigned short a1); extern void func_8001CD9C(int a0, void *a1); -typedef struct { u8 d[4]; } Blk4_8017E808; extern Blk4_8017E808 D_8019EFF8; extern Blk4_8017E808 D_8019EFFC; extern Blk4_8017E808 D_8019DBF8; diff --git a/src/ov_SC05_004/ov_SC05_004_jr_8017F210.c b/src/ov_SC05_004/ov_SC05_004_jr_8017F210.c index ec6e6a9e39..ccb2377128 100644 --- a/src/ov_SC05_004/ov_SC05_004_jr_8017F210.c +++ b/src/ov_SC05_004/ov_SC05_004_jr_8017F210.c @@ -3535,10 +3535,6 @@ extern u8 *func_8012913C(s32 a0); extern s32 func_80133784(s32 a0, void *a1, s32 a2); extern void func_801292C8(u8 *a0); -typedef struct { - u16 x, y, z; - u8 flag; -} V8_80187968_801807AC; void func_801807AC(s32 a0) { u32 v0; @@ -3840,7 +3836,6 @@ void *a0; } -typedef struct { s16 m[3][3]; s32 t[3]; } MTX_C974; extern s32 func_8012B77C(s32 out, s32 from, s32 to); @@ -3866,13 +3861,6 @@ void func_80180F18(void *a0) { -typedef struct { s16 vx, vy, vz, pad; } SVEC2_C974_8017BA3C; -typedef struct { - SVECTOR v[4]; /* 0x00 */ - s32 f0, f1, f2, f3, f4, f5; /* 0x20..0x37 */ - u8 f6; /* 0x38 */ - u8 pad[7]; /* -> 0x40 */ -} Prim_8016E7C8_8016B6BC; extern s32 func_8012C658(s32 a0, s32 a1, s32 a2); diff --git a/src/ov_SC05_005/ov_SC05_005_jr_8017D898.c b/src/ov_SC05_005/ov_SC05_005_jr_8017D898.c index aedb3e2d40..8e74ec07b1 100644 --- a/src/ov_SC05_005/ov_SC05_005_jr_8017D898.c +++ b/src/ov_SC05_005/ov_SC05_005_jr_8017D898.c @@ -2888,7 +2888,6 @@ void func_8017EAB0(void *a0) { */ /* 8 bytes, align 2 -> lwl/lwr/swl/swr copy (cookbook §48-C2) */ -typedef struct { s16 v[4]; } Blk8_80126940_8017D6D0_8017EAEC; extern u16 func_80148800(s32 *a0); extern s32 func_8004787C(s32 a0); @@ -3690,7 +3689,6 @@ void func_8017FD44(s32 a0) { } -typedef struct { s16 h[3]; } SV3L; extern s32 func_80180C0C(s32 a0, s32 a1, s32 a2); extern void func_80180F3C(void *a0); extern s32 func_801809F0(s32 a0, s32 a1, s32 a2, s32 a3); @@ -3755,7 +3753,6 @@ void func_8017FEC8(void *a0) { } -struct vecr { int _m; }; extern void func_8012AD80(struct vec*); extern void func_80180F3C(void *a0); @@ -4907,12 +4904,6 @@ void func_80181984(void *a0) { } -typedef struct { - SVECTOR_8016E7C8 v[4]; /* 0x00 */ - s32 f0, f1, f2, f3, f4, f5; /* 0x20..0x37 */ - u8 f6; /* 0x38 */ - u8 pad[7]; /* -> 0x40 */ -} Prim_8016E7C8_801819C0; extern s32 rand(void); extern void func_80049CAC(s32 a0, s32 a1); diff --git a/src/ov_SC05_006/ov_SC05_006_jr_8017BEBC.c b/src/ov_SC05_006/ov_SC05_006_jr_8017BEBC.c index 3a1db09661..ae28641014 100644 --- a/src/ov_SC05_006/ov_SC05_006_jr_8017BEBC.c +++ b/src/ov_SC05_006/ov_SC05_006_jr_8017BEBC.c @@ -4169,9 +4169,6 @@ void func_8017EB38(void *a0) { } -typedef struct { - s16 v[4]; -} Blk8_80126940_8017EB74; void func_8017EB74(s32 a0) { @@ -4266,10 +4263,6 @@ extern void func_8012BE54(s32 a0); extern void func_8012C218(void *a0); extern s32 func_8012C588(s32 a0, s32 a1); extern s32 func_8014CB8C(void); -typedef struct { - u16 f0; - u8 pad[14]; -} Stride16_801BA59C_8017EE0C; void func_8017EE0C(s32 a0) { @@ -4476,7 +4469,6 @@ void func_8017F130(void *a0) { } -typedef struct { u8 b[0x6C]; } Blk6C_80184CB0; /* §193-A banked twin: ov_SC06_018:func_8018AF88 (sim 0.708) establishes the * `local = D_800AE620;` whole-struct-copy idiom for this exact symbol, with @@ -4498,8 +4490,6 @@ typedef struct { u8 b[0x6C]; } Blk6C_80184CB0; * fits, ruling that guess out). */ -typedef struct { s32 w[8]; } Mat32_80186C20; -typedef struct { s16 a, b, c, d; } SV4_80186C20; void func_8017F16C(void *a0) { diff --git a/src/ov_SC05_007/ov_SC05_007_jr_8017BEBC.c b/src/ov_SC05_007/ov_SC05_007_jr_8017BEBC.c index b08a0a1f0c..59c5c5eec7 100644 --- a/src/ov_SC05_007/ov_SC05_007_jr_8017BEBC.c +++ b/src/ov_SC05_007/ov_SC05_007_jr_8017BEBC.c @@ -3122,7 +3122,6 @@ extern u8 D_8019CD50[]; extern u8 D_8019BA08[]; extern u8 D_8019BA0C[]; -typedef struct { u8 b[4]; } Blk4_8017D7A0; void func_8017D7A0(void *param_1) { @@ -3687,12 +3686,6 @@ void func_8017E518(s32 a0) } -typedef struct { - SVECTOR_8016E7C8 v[4]; /* 0x00 */ - s32 f0, f1, f2, f3, f4, f5; /* 0x20..0x37 */ - u8 f6; /* 0x38 */ - u8 pad[7]; /* -> 0x40 */ -} Prim_8016E7C8_8017E560; extern s32 func_8012B8E4(s32 arg0, s32 arg1); extern s32 func_8012BEE8(s32 a0); @@ -4266,10 +4259,6 @@ s32 func_8017F020(s32 arg0) } -typedef struct { - s32 a; - s32 b; -} Pair_801B5E30_8017F08C; extern u16 D_80126B5E; extern u16 D_80126B66; @@ -4347,7 +4336,6 @@ void func_8017F1C4(s32 a0) { } -typedef struct { s16 vx, vy, vz, pad; } SVEC_EB70; extern s32 func_8012B6D4(s16 *a0, s16 *a1); extern s32 func_8012BC60(struct Vec *a0, struct Vec *a1); extern s32 func_8012CEB0(s32 a0, s32 a1, s32 a2); diff --git a/src/ov_SC05_008/ov_SC05_008_jr_8017AE2C.c b/src/ov_SC05_008/ov_SC05_008_jr_8017AE2C.c index 02c7bef3ef..126e1a0599 100644 --- a/src/ov_SC05_008/ov_SC05_008_jr_8017AE2C.c +++ b/src/ov_SC05_008/ov_SC05_008_jr_8017AE2C.c @@ -4003,7 +4003,6 @@ void func_8017DEC4(void) { } -typedef struct { u16 vx, vy, vz, pad; } SVEC_8017DF68; void func_8017DF68(SVEC_8017DF68 *p0, SVEC_8017DF68 *p1, s32 a2) { @@ -4315,7 +4314,6 @@ void func_8017E464(s32 param_1) { // lwl/lwr+swl/swr pair is a delay-slot SPONGE) -> LENGTH-DRIFT/-1. The fence keeps the // nop and costs no bytes. -typedef struct { u8 b[8]; } Blk8_8017E6A4; extern s32 func_80012F74(s32 a0, s32 a1, s32 a2, s32 a3); extern void func_8012B370(s32); @@ -4501,8 +4499,6 @@ void func_8017EB7C(void *a0) { } -typedef struct { u8 b[8]; } Blk8_EBB8; -typedef struct { u16 x, y, z, p0, p1, p2; } Rec12_EBB8; extern s32 D_801151D4; extern s32 D_80186558[]; extern s32 D_8019E64C; @@ -5194,7 +5190,6 @@ void func_8017FF30(s32 param_1) { extern void func_8012C098(void *param_1); -typedef struct { char c[8]; } Blk8_8017FF80; void func_8017FF80(void *a0) { void *a1 = *(void **)((s32)a0 + 0x64); diff --git a/src/ov_SC05_009/ov_SC05_009_jr_8017BEBC.c b/src/ov_SC05_009/ov_SC05_009_jr_8017BEBC.c index e3c6062718..844436f229 100644 --- a/src/ov_SC05_009/ov_SC05_009_jr_8017BEBC.c +++ b/src/ov_SC05_009/ov_SC05_009_jr_8017BEBC.c @@ -3273,7 +3273,6 @@ void func_8017DAB8(void *a0) { } -typedef struct { u16 x, y, z, w; } V_8017DAF4; extern void func_8012C1B8(void); extern void func_8001C214(s32 a0, s32 a1); @@ -3453,10 +3452,6 @@ extern void func_8012BE54(s32 a0); extern void func_8012C218(void *a0); extern s32 func_8012C588(s32 a0, s32 a1); extern s32 func_8014CB8C(void); -typedef struct { - u16 f0; - u8 pad[14]; -} Stride16_801BA59C_8017DF5C; void func_8017DF5C(s32 a0) { @@ -3662,8 +3657,6 @@ void func_8017E280(void *a0) { } -typedef struct { s32 w[8]; } Mat32_8017E2BC; -typedef struct { s16 a, b, c, d; } SV4_8017E2BC; void func_8017E2BC(void *a0) { diff --git a/src/ov_SC05_010/ov_SC05_010_jr_8017C8D0.c b/src/ov_SC05_010/ov_SC05_010_jr_8017C8D0.c index 63d5b23b8b..1caad527aa 100644 --- a/src/ov_SC05_010/ov_SC05_010_jr_8017C8D0.c +++ b/src/ov_SC05_010/ov_SC05_010_jr_8017C8D0.c @@ -3117,27 +3117,9 @@ void func_8017DFF0(void *a0) { extern s32 rand(void); -typedef struct { - u16 f0; - u16 f2; - u16 f4; - u16 f6; - u16 f8; - u16 fA; - s32 fC; - s32 f10; - s32 f14; - s32 f18; -} SubRec_801EB5C8_8017E02C; /* 0x1C */ + /* 0x1C */ -typedef struct { - u16 g0; - u16 g2; - s32 g4; - s32 g8; - s32 gC; - SubRec_801EB5C8_8017E02C subs[16]; -} GroupRec_801EB5C8_8017E02C; /* 0x1D0 */ + /* 0x1D0 */ void func_8017E02C(s32 param_1) @@ -4549,15 +4531,6 @@ void func_8018060C(s32 param_1) } -typedef struct { - u8 unk00[0x70]; - s16 unk70; - s16 unk72; - s16 unk74; - s16 unk76; - u8 pad78[0x84]; - s16 unkFC; -} Work; extern void MoveImage(void *a0, s32 a1, s32 a2); extern u8 D_801925C4[]; diff --git a/src/ov_SC05_010/ov_SC05_010_jr_80180F84.c b/src/ov_SC05_010/ov_SC05_010_jr_80180F84.c index c2c5e55f90..71c10df8f2 100644 --- a/src/ov_SC05_010/ov_SC05_010_jr_80180F84.c +++ b/src/ov_SC05_010/ov_SC05_010_jr_80180F84.c @@ -9,35 +9,8 @@ typedef struct { u8 pad[7]; /* -> 0x40 */ } Prim_8016E7C8; typedef void (*Handler)(struct Entry_8016E95C *); -typedef struct { - u16 f0; - u16 f2; - u16 f4; - u16 f6; - u16 f8; - u16 fA; - s32 fC; - s32 f10; - s32 f14; - s32 f18; -} SubRec_801EB5C8_8017E02C; /* 0x1C */ -typedef struct { - u16 g0; - u16 g2; - s32 g4; - s32 g8; - s32 gC; - SubRec_801EB5C8_8017E02C subs[16]; -} GroupRec_801EB5C8_8017E02C; /* 0x1D0 */ -typedef struct { - u8 unk00[0x70]; - s16 unk70; - s16 unk72; - s16 unk74; - s16 unk76; - u8 pad78[0x84]; - s16 unkFC; -} Work; + /* 0x1C */ + /* 0x1D0 */ extern void func_801458E0(void); extern s32 D_800AE6AC; extern s32 D_800AE6B0; diff --git a/src/ov_SC05_010/ov_SC05_010_jr_80181CDC.c b/src/ov_SC05_010/ov_SC05_010_jr_80181CDC.c index 16ec28d971..253bd41011 100644 --- a/src/ov_SC05_010/ov_SC05_010_jr_80181CDC.c +++ b/src/ov_SC05_010/ov_SC05_010_jr_80181CDC.c @@ -3306,11 +3306,6 @@ extern void func_8012F568(s32 a0, s32 a1, s32 a2, s32 a3, s32 a4, s32 a5); /* The camera x/y pair at D_80126B5E / D_80126B5E+4 (== D_80126B62). The target * reads BOTH through the one `la $s1, D_80126B5E` (`lh 0x0($s1)` / `lh 0x4($s1)`), * so they must be reached through a pointer — see the launder below. */ -typedef struct { - u16 x; /* 0x00 D_80126B5E */ - u16 unk2; /* 0x02 */ - u16 y; /* 0x04 D_80126B62 */ -} Cam183098; void func_80183098(s32 param_1) { u16 sp18[3]; @@ -3788,7 +3783,6 @@ void func_80183C84(void *a0) { } -typedef struct { s16 vx, vy, vz, pad; } SV83; void func_80183D5C(s32 arg0) { diff --git a/src/ov_SC05_010/ov_SC05_010_jr_8018473C.c b/src/ov_SC05_010/ov_SC05_010_jr_8018473C.c index 47010b3cf8..3c50e5be8a 100644 --- a/src/ov_SC05_010/ov_SC05_010_jr_8018473C.c +++ b/src/ov_SC05_010/ov_SC05_010_jr_8018473C.c @@ -9,7 +9,6 @@ typedef struct { u8 pad[7]; /* -> 0x40 */ } Prim_8016E7C8; typedef void (*Handler)(struct Entry_8016E95C *); -typedef struct { s16 vx, vy, vz, pad; } SV83; extern void func_801458E0(void); extern s32 D_800AE6AC; extern s32 D_800AE6B0; diff --git a/src/ov_SC05_011/ov_SC05_011_jr_8017BEBC.c b/src/ov_SC05_011/ov_SC05_011_jr_8017BEBC.c index 47bbeb1398..24ee0502cc 100644 --- a/src/ov_SC05_011/ov_SC05_011_jr_8017BEBC.c +++ b/src/ov_SC05_011/ov_SC05_011_jr_8017BEBC.c @@ -2907,17 +2907,6 @@ void func_8017D174(void) } -typedef struct { - s16 unk00; - s16 unk02; - s16 unk04; - s16 unk06; - s16 unk08; - s16 unk0A; - s16 unk0C; - s16 unk0E; - s32 unk10; -} Struct_8017D25C; extern void func_8012C1B8(void); extern s32 func_8012C51C(void *a0, s32 a1); diff --git a/src/ov_SC05_017/ov_SC05_017_jr_801875E8.c b/src/ov_SC05_017/ov_SC05_017_jr_801875E8.c index 01bacdd6ee..1520aca954 100644 --- a/src/ov_SC05_017/ov_SC05_017_jr_801875E8.c +++ b/src/ov_SC05_017/ov_SC05_017_jr_801875E8.c @@ -3608,24 +3608,10 @@ s32 func_80188128(void) { * `extern short D_800B9A02` canon (§37); 864 sites already use that spelling. */ -typedef struct { u32 addr : 24; u32 len : 8; } PTag_S40_8018B238_80188478; -typedef struct { u32 w; } W_S40_8018B238_80188478; -typedef struct { u32 *ot; u32 pad[4]; } Env_S40_8018B238_80188478; /* 0x14 stride */ -typedef struct { s16 v; } Flag_S40_8018B238_80188478; /* 0x02 stride */ + /* 0x14 stride */ + /* 0x02 stride */ -typedef struct Panel_S40_8018B238_80188478 { - s16 f0; /* 0x00 */ - s16 f2; /* 0x02 */ - void *f4; /* 0x04 */ - void *f8; /* 0x08 */ - s16 fC; /* 0x0C */ - s16 fE; /* 0x0E */ - s16 f10; /* 0x10 */ - s16 f12; /* 0x12 */ - void *f14; /* 0x14 */ - void *f18; /* 0x18 */ - void *f1C; /* 0x1C */ -} Panel_S40_8018B238_80188478; /* 0x20 stride */ + /* 0x20 stride */ diff --git a/src/ov_SC05_017/ov_SC05_017_jr_80188B1C.c b/src/ov_SC05_017/ov_SC05_017_jr_80188B1C.c index e1a2c81627..c6da0e58d3 100644 --- a/src/ov_SC05_017/ov_SC05_017_jr_80188B1C.c +++ b/src/ov_SC05_017/ov_SC05_017_jr_80188B1C.c @@ -3004,12 +3004,6 @@ extern s32 *func_80188F14(s32 *, void *, s32, void *, s32); extern s32 func_80188884(void *, s32, s32, s32, s32 *); extern s32 * func_801886B8(s32 *ot, Panel_8017E978_801886B8 *w0, s16 idx); -typedef struct { - SVECTOR_8016E7C8 v[4]; /* 0x00 */ - s32 f0, f1, f2, f3, f4, f5; /* 0x20..0x37 */ - u8 f6; /* 0x38 */ - u8 pad[7]; /* -> 0x40 */ -} Prim_8016E7C8_80188B1C; /* func_80188B1C — ov_SC04_018 / ov_SC04_018_jr_801878E8, 254 ins, jtbl_801E599C (8 entries, * minval 7 -> `addiu $a0,$a0,-7` + HImode re-extension, so the switch index type is short). diff --git a/src/ov_SC05_017/ov_SC05_017_jr_8018C694.c b/src/ov_SC05_017/ov_SC05_017_jr_8018C694.c index 433ab42ac0..16e79d5057 100644 --- a/src/ov_SC05_017/ov_SC05_017_jr_8018C694.c +++ b/src/ov_SC05_017/ov_SC05_017_jr_8018C694.c @@ -9,12 +9,6 @@ typedef struct { u8 pad[7]; /* -> 0x40 */ } Prim_8016E7C8; typedef void (*Handler)(struct Entry_8016E95C *); -typedef struct { - SVECTOR_8016E7C8 v[4]; /* 0x00 */ - s32 f0, f1, f2, f3, f4, f5; /* 0x20..0x37 */ - u8 f6; /* 0x38 */ - u8 pad[7]; /* -> 0x40 */ -} Prim_8016E7C8_80188B1C; extern void func_801458E0(void); extern s32 D_800AE6AC; extern s32 D_800AE6B0; diff --git a/src/ov_SC05_018/ov_SC05_018_jr_8017D604.c b/src/ov_SC05_018/ov_SC05_018_jr_8017D604.c index 9dd01a6e26..c2fe60a25f 100644 --- a/src/ov_SC05_018/ov_SC05_018_jr_8017D604.c +++ b/src/ov_SC05_018/ov_SC05_018_jr_8017D604.c @@ -4441,14 +4441,6 @@ void func_80180644(s32 arg0) } -typedef struct { - u8 pad0[0x18]; - u16 f18; - u16 f1A; - u16 f1C; - u8 pad1[0xE]; - u16 f2C; -} Act_8018069C; void func_8018069C(s32 a0) { extern s32 D_801E6748; @@ -4642,7 +4634,6 @@ void func_80180ACC(s32 arg0, s32 arg1, s32 arg2, s32 arg3) } -typedef struct { u8 b[12]; } Blk12_80180BE0; void func_80180BE0(s32 arg0, s32 arg1, s16 *arg2) { @@ -4725,16 +4716,6 @@ void func_80180D40(void *a0) * rooted at 2 (li 2 / beq first, 192 ins) and an if/else-if chain inlines arm 1 * (187 ins); only the goto ladder reproduces the root-at-1 linear chain. */ -typedef struct { - s16 state; /* 0x0 */ - s16 cnt; /* 0x2 */ - s16 x; /* 0x4 */ - s16 y; /* 0x6 */ - s16 lim; /* 0x8 */ - s16 velo; /* 0xA */ - s16 spd; /* 0xC */ - s16 flag; /* 0xE */ -} Ent_801E650C; extern s16 D_8018A9FC; extern s16 D_8018A9FE; @@ -4958,7 +4939,6 @@ void func_801812FC(void) { } -typedef struct { u8 b[8]; } Blk8_80181324; extern Blk8_80181324 D_8018AA14; extern u16 D_8018AA1C[]; @@ -5924,7 +5904,6 @@ extern s32 func_8012AD50(void *a0); } -typedef struct { u8 b[8]; } Blk8_80182844; extern Blk8_80182844 D_801E4F60; extern Blk8_80182844 D_801E4F68; @@ -5951,7 +5930,6 @@ void func_80182844(void *a0) /* identical layout to SVECTOR_8016E7C8 (src/shared/engine_types.h) */ -typedef struct { short vx, vy, vz, pad; } SVEC_8017EC98_8018290C; void func_8018290C(SVEC_8017EC98_8018290C *p0, SVEC_8017EC98_8018290C *p1) { /* conform to the TU's file-scope canon (`extern void func_8012EF70(s32, s32);`) diff --git a/src/ov_SC05_018/ov_SC05_018_jr_80185754.c b/src/ov_SC05_018/ov_SC05_018_jr_80185754.c index cd76f7fa36..1570efa67c 100644 --- a/src/ov_SC05_018/ov_SC05_018_jr_80185754.c +++ b/src/ov_SC05_018/ov_SC05_018_jr_80185754.c @@ -9,7 +9,6 @@ typedef struct { u8 pad[7]; /* -> 0x40 */ } Prim_8016E7C8; typedef void (*Handler)(struct Entry_8016E95C *); -typedef struct { short vx, vy, vz, pad; } SVEC_8017EC98_8018290C; extern void func_801458E0(void); extern s32 D_800AE6AC; extern s32 D_800AE6B0; diff --git a/src/ov_SC05_019/ov_SC05_019_jr_8017AE2C.c b/src/ov_SC05_019/ov_SC05_019_jr_8017AE2C.c index bd41d238a2..29fdd0f766 100644 --- a/src/ov_SC05_019/ov_SC05_019_jr_8017AE2C.c +++ b/src/ov_SC05_019/ov_SC05_019_jr_8017AE2C.c @@ -2914,13 +2914,11 @@ extern void func_80146C3C(u8 *a0); #include "../shared/ov/func_8017BFA4.h" -typedef struct { s16 vx, vy; } DVEC2_C59C; -typedef struct { s16 vx, vy, vz, pad; } SVEC_BEBC; extern s32 func_800491EC(void); extern void func_8017C3EC(u16 *a0, void *a1); @@ -2968,15 +2966,6 @@ void func_8017C688(s32 a0, s32 a1) { } -typedef struct { u32 w0, w1, w2; } Prim126; -typedef struct { u8 *vtx; u32 f4; u32 xx, yy, zz; Prim126 *prim, *end; } Cell126; -typedef struct { s16 vx, vy; } DVEC2_C6F4; -typedef struct { s16 vx, vy, vz, pad; } SVEC2_C6F4; -typedef struct { s16 m[3][3]; s32 t[3]; } MTX_C6F4; -typedef struct { u32 tag, rgbc; s16 x0, y0, x1, y1, x2, y2; } PF3_C6F4; -typedef struct { u32 tag, rgbc; s16 x0, y0, x1, y1, x2, y2, x3, y3; } PF4_C6F4; -typedef struct { u32 tag, rgbc; s16 x0, y0; u32 uvc0; s16 x1, y1; u32 uvp1; s16 x2, y2; u16 uv2, p2; } PFT3_C6F4; -typedef struct { u32 tag, rgbc; s16 x0, y0; u32 uvc0; s16 x1, y1; u32 uvp1; s16 x2, y2; u16 uv2, p2; s16 x3, y3; u16 uv3, p3; } PFT4_C6F4; #include "../shared/ov/func_8017C6F4__362c87a7.h" diff --git a/src/ov_SC06_000/ov_SC06_000_jr_8017AE2C.c b/src/ov_SC06_000/ov_SC06_000_jr_8017AE2C.c index 269b3dfdd7..5715038d9c 100644 --- a/src/ov_SC06_000/ov_SC06_000_jr_8017AE2C.c +++ b/src/ov_SC06_000/ov_SC06_000_jr_8017AE2C.c @@ -3856,7 +3856,6 @@ void func_8017CE54(void *a0) { * may DROP this local typedef and reuse the TU's own `B4` when banking into the host TU. */ -typedef struct { u8 d[4]; } Blk4_8017CE90_8017CE90; extern void func_801465C0(void); extern void func_8001CD04(s32, s32); @@ -3959,13 +3958,6 @@ void func_8017D0DC(void *a0) { #include "../shared/ov/func_8017D194__b55f2b3b.h" - typedef struct { s16 vx; u16 vy; s16 vz, pad; } SVec_8017D1E0; -typedef struct { - SVECTOR_8016E7C8 v[4]; /* 0x00 */ - s32 f0, f1, f2, f3, f4, f5; /* 0x20..0x37 */ - u8 f6; /* 0x38 */ - u8 pad[7]; /* -> 0x40 */ -} Prim_8016E7C8_8017D1E0; @@ -4351,7 +4343,6 @@ extern s16 D_8011F9C8; extern void func_80174684(void *); extern void func_8017DB00(void *); -struct S8_8017DA98 { s16 m[4]; }; #include "../shared/ov/func_8017DA98.h" @@ -6749,7 +6740,6 @@ void func_801816AC(void) { } -typedef struct { u8 b[8]; } Blk8_80181774; void func_80181774(void) { extern Blk8_80181774 D_8018C0E8; @@ -6894,8 +6884,6 @@ void func_80181A78(void *a0) { } -typedef struct { s16 v[4]; } Blk8_80126940_8017D474; -typedef struct { s16 v[8]; } Blk16_80126940; void func_80181AB4(s32 a0) { @@ -8168,7 +8156,6 @@ void func_80183BC4(s32 a0) } -typedef struct { s16 m[16]; } Mat_80183C9C; extern void func_8004978C(s16 *a0, void *a1); extern u16 D_8018C7BC[]; @@ -8244,7 +8231,6 @@ void func_80183DAC(void *arg0) } -typedef struct { s32 w[8]; } Mat32L; void func_80183E48(void *a0) { @@ -9343,27 +9329,9 @@ void func_80185520(void *a0) { } -typedef struct { - u16 h0, h1, h2, h3; -} Q_8018562C; -typedef struct { - Q_8018562C rot; - s32 t0, t1, t2, t3; -} ROW_8018562C; -typedef struct { - Q_8018562C head; - Q_8018562C tail; - ROW_8018562C row; -} BIG_8018562C; -typedef struct { - s16 m[10]; - s32 x; - s32 y; - s32 z; -} MB_8018562C; void func_8018562C(void *a0, void *a1) { BIG_8018562C b; @@ -9427,12 +9395,6 @@ extern void func_8012F14C(s32 a0, s32 a1, s32 a2); extern void func_801858E8(void *arg0); extern s32 rand(void); -typedef struct { - s16 m[10]; - s32 x; - s32 y; - s32 z; -} MB_80185764; void func_80185764(s32 a0, s32 *a1) { @@ -9556,24 +9518,8 @@ void func_80185A5C(s32 param_1, s32 param_2) } -typedef struct { - u16 h0, h1, h2, h3; -} QB_80185B04; -typedef struct { - s16 m[10]; - s32 x; - s32 y; - s32 z; -} MB_80185B04; -typedef struct { - QB_80185B04 a; - QB_80185B04 b; - s32 c; - s32 d; - s32 e; -} BIG_80185B04; void func_80185B04(void *a0, void *a1) { diff --git a/src/ov_SC06_006/ov_SC06_006_jr_8017BEBC.c b/src/ov_SC06_006/ov_SC06_006_jr_8017BEBC.c index b37b24c9e0..95e5b34956 100644 --- a/src/ov_SC06_006/ov_SC06_006_jr_8017BEBC.c +++ b/src/ov_SC06_006/ov_SC06_006_jr_8017BEBC.c @@ -2944,8 +2944,8 @@ extern s32 D_801F8AEC; /* local shapes for the sp-frame locals (mirrors shared/engine_types.h's MATRIX / SVECTOR layouts; declared locally since common.h here doesn't pull in engine_types.h) */ -typedef struct { s16 m[3][3]; s32 t[3]; } Mtx_8017D278; /* 0x20; .t @ +0x14 */ -typedef struct { s16 vx, vy, vz, pad; } Sv_8017D278; /* 0x08 */ + /* 0x20; .t @ +0x14 */ + /* 0x08 */ void func_8017D278(s32 param_1, s16 *param_2) { diff --git a/src/ov_SC06_006/ov_SC06_006_jr_8017DB90.c b/src/ov_SC06_006/ov_SC06_006_jr_8017DB90.c index 239c0d7f96..e0a9798807 100644 --- a/src/ov_SC06_006/ov_SC06_006_jr_8017DB90.c +++ b/src/ov_SC06_006/ov_SC06_006_jr_8017DB90.c @@ -9,8 +9,8 @@ typedef struct { u8 pad[7]; /* -> 0x40 */ } Prim_8016E7C8; typedef void (*Handler)(struct Entry_8016E95C *); -typedef struct { s16 m[3][3]; s32 t[3]; } Mtx_8017D278; /* 0x20; .t @ +0x14 */ -typedef struct { s16 vx, vy, vz, pad; } Sv_8017D278; /* 0x08 */ + /* 0x20; .t @ +0x14 */ + /* 0x08 */ extern void func_801458E0(void); extern s32 D_800AE6AC; extern s32 D_800AE6B0; @@ -2825,21 +2825,8 @@ void func_8017DD28(void *a0) { */ /* 12 bytes, align 2 -> struct copies come out as lwl/lwr + swl/swr triples */ -typedef struct { - s16 f0; - s16 f2; - s16 f4; - s16 f6; - s16 f8; - s16 fA; -} Key12_8017DD64; /* 8-byte stride track record */ -typedef struct { - void *f0; - s16 f4; - s16 f6; -} Rec8_8017DD64; extern s32 D_801F8088; extern void func_8017E078(Key12_8017DD64 *dst, void *src, s32 idx); /* (Key12_8017DD64 *dst, void *src, s32 idx) — unspecified list keeps this compatible with any slate-mate prototype */ @@ -3001,57 +2988,16 @@ void func_8017E168(s32 a0) { * (src/ov_SC06_006/ov_SC06_006_jr_8017BEBC.c) declares none of these symbols. */ /* 8 bytes, align 2 -> the +0x18 rotation copy emits lwl/lwr + swl/swr */ -typedef struct { - s16 x, y, z, pad; -} Rot_8017E330; /* the coordinate/model record hung off +0x20 of both the actor and the driver */ -typedef struct { - u8 pad00[0x10]; - u16 f10; /* 0x10 */ - u16 f12; /* 0x12 */ - u16 f14; /* 0x14 */ - u8 pad16[0x02]; - Rot_8017E330 rot; /* 0x18 */ - s32 align; /* keeps align 4 so the +0x20 pointer loads with lw */ -} Coord_8017E330; -typedef struct { - u8 pad00[0x06]; - s16 f06; /* 0x06 */ - u8 pad08[0x02]; - s16 f0A; /* 0x0A */ - u8 pad0C[0x02]; - s16 f0E; /* 0x0E */ - u8 pad10[0x10]; - Coord_8017E330 *f20; /* 0x20 */ - u8 pad24[0x4C]; - u8 f70; /* 0x70 — pose index */ - u8 pad71[0x27]; - s16 f98; /* 0x98 */ - u8 pad9A[0x42]; - s32 fDC; /* 0xDC */ -} Actor_8017E330; -typedef struct { - u8 pad00[0x02]; - u16 f02; /* 0x02 */ - u8 pad04[0x1C]; - Coord_8017E330 *f20; /* 0x20 */ - u8 pad24[0x10]; - u16 f34; /* 0x34 */ -} Drv_8017E330; /* 12-byte stride pose table based at D_801F8428. * +0/+2/+4 are read signed (lh, they feed a mult); +6/+8/+A are plain HI moves * (D_801F842E / D_801F8430 / D_801F8432). */ -typedef struct { - s16 x, y, z; /* D_801F8428 / D_801F842A / D_801F842C */ - u16 a, b, c; /* D_801F842E / D_801F8430 / D_801F8432 */ -} Pose_8017E330; /* 16 bytes: the frame's var region is 0x10..0x1F (only x/y/z are ever touched) */ -typedef struct { s16 x, y, z; s16 pad[5]; } Work_8017E330; extern void *D_801F80E4; extern s32 D_801F8090; @@ -3124,52 +3070,11 @@ void func_8017E330(Actor_8017E330 *a0) { } -typedef struct { - s16 x, y, z, pad; -} Rot_8017E550; -typedef struct { - u8 pad00[0x10]; - u16 f10; - u16 f12; - u16 f14; - u8 pad16[0x02]; - Rot_8017E550 rot; - s32 align; -} Coord_8017E550; -typedef struct { - u8 pad00[0x06]; - s16 f06; - u8 pad08[0x02]; - s16 f0A; - u8 pad0C[0x02]; - s16 f0E; - u8 pad10[0x10]; - Coord_8017E550 *f20; - u8 pad24[0x40]; - s32 f64; - u8 pad68[0x08]; - u8 f70; - u8 pad71[0x27]; - s16 f98; -} Actor_8017E550; -typedef struct { - u8 pad00[0x02]; - u16 f02; - u8 pad04[0x1C]; - Coord_8017E550 *f20; - u8 pad24[0x10]; - u16 f34; -} Drv_8017E550; -typedef struct { - s16 x, y, z; - u16 a, b, c; -} Pose_8017E550; -typedef struct { s16 x, y, z; s16 pad[5]; } Work_8017E550; extern void *D_80185F6C[]; extern s32 D_801F8090; @@ -3235,7 +3140,6 @@ extern s16 D_80185F7A; extern s16 D_80185F7C; extern s16 D_80185F7E; extern u8 D_80185F80[]; -typedef struct { u16 x, y, z, w; } V4_8017E734; void func_8017E734(void* a0) { @@ -3280,55 +3184,14 @@ body: } -typedef struct { - s16 x, y, z, pad; -} Rot_8017E878; /* the coordinate/model record hung off +0x20 of both the actor and the driver */ -typedef struct { - u8 pad00[0x10]; - u16 f10; /* 0x10 */ - u16 f12; /* 0x12 */ - u16 f14; /* 0x14 */ - u8 pad16[0x02]; - Rot_8017E878 rot; /* 0x18 */ - s32 align; /* keeps align 4 so the +0x20 pointer loads with lw */ -} Coord_8017E878; -typedef struct { - u8 pad00[0x06]; - s16 f06; /* 0x06 */ - u8 pad08[0x02]; - s16 f0A; /* 0x0A */ - u8 pad0C[0x02]; - s16 f0E; /* 0x0E */ - u8 pad10[0x10]; - Coord_8017E878 *f20; /* 0x20 */ - u8 pad24[0x40]; - s32 f64; /* 0x64 — driver record pointer */ - u8 pad68[0x08]; - u8 f70; /* 0x70 — pose index */ - u8 pad71[0x27]; - s16 f98; /* 0x98 */ -} Actor_8017E878; -typedef struct { - u8 pad00[0x02]; - u16 f02; /* 0x02 */ - u8 pad04[0x1C]; - Coord_8017E878 *f20; /* 0x20 */ - u8 pad24[0x10]; - u16 f34; /* 0x34 */ -} Drv_8017E878; /* 12-byte stride pose table based at D_801F82A8 */ -typedef struct { - s16 x, y, z; - u16 a, b, c; -} Pose_8017E878; /* 16 bytes: the frame's var region is 0x10..0x1F (only x/y/z are ever touched) */ -typedef struct { s16 x, y, z; s16 pad[5]; } Work_8017E878; extern s32 D_801F8090; extern void *D_801F8118; @@ -3572,7 +3435,6 @@ void func_8017ECE8(void *a0) { extern int rand(void); -typedef struct { u8 b[4]; } Col4; u32 func_8017ED24(u32 param_1, u32 param_2) { @@ -3805,18 +3667,8 @@ void func_8017EEA4(void *arg) /* align-1 4-byte colour word => struct assignment lowers to lwl/lwr+swl/swr (§160a) */ -typedef struct { u8 r, g, b, c; } Cv_8017F074; /* D_801860AC — overlay-private 20-byte flash-script record (stride 0x14) */ -typedef struct { - /* 0x00 */ s16 f0; - /* 0x02 */ s16 f2; /* OT depth */ - /* 0x04 */ s16 f4; /* first active frame - 1 */ - /* 0x06 */ s16 f6; /* ramp-in end frame */ - /* 0x08 */ s16 f8; /* last active frame */ - /* 0x0A */ s16 fA, fC, fE; - /* 0x10 */ Cv_8017F074 col; /* per-frame colour delta */ -} Fade_8017F074; extern Fade_8017F074 D_801860AC[]; extern short D_800B9A02; /* DROP WHEN BANKING (already in the TU) */ @@ -4187,13 +4039,6 @@ void func_8017F934(void) { * - `s16 i` gives the addiu/move/sll/sra/slti counter idiom on both do-whiles. */ -typedef struct { s16 vx, vy, vz, pad; } Sv_8017FA2C; -typedef struct { u8 r, g, b, cd; } Cv_8017FA2C; -typedef struct { - Sv_8017FA2C v[4]; /* 0x00 */ - Cv_8017FA2C c[4]; /* 0x20 */ - u32 code; /* 0x30 */ -} Prim_8017FA2C; extern u16 D_800B99DA; extern s32 D_801F8090; @@ -4386,20 +4231,8 @@ void func_8017FFA8(void) { #include "common.h" /* 8-byte script command record */ -typedef struct { -/* 0x0 */ s16 kind; /* slot index; -1 terminates */ -/* 0x2 */ s16 cmd; /* opcode 0..3 */ -/* 0x4 */ s32 arg; -} Cmd801800B8; /* argument block (&D_80185A80 &c.) */ -typedef struct { -/* 0x00 */ Cmd801800B8 *cmds; -/* 0x04 */ s32 unk04; -/* 0x08 */ s32 unk08; -/* 0x0C */ s32 unk0C; -/* 0x10 */ s32 unk10; -} Ctl801800B8; extern void func_801802E0(s32 *); extern void func_8017F5D0(void); @@ -4877,14 +4710,6 @@ void func_80180A44(void *a0) { } -typedef struct { - u8 mode; /* 0x00 */ - u8 pad01; - u16 f02; /* 0x02 */ - u16 f04, f06, f08; - u16 f0A; /* 0x0A */ - u8 pad0C[0x14 - 0x0C]; -} Rec_80180AE8; extern Rec_80180AE8 D_80185FA0[]; extern s32 D_80185F9C; diff --git a/src/ov_SC06_008/ov_SC06_008_jr_8017C294.c b/src/ov_SC06_008/ov_SC06_008_jr_8017C294.c index 0bbc7122ed..d5e675df68 100644 --- a/src/ov_SC06_008/ov_SC06_008_jr_8017C294.c +++ b/src/ov_SC06_008/ov_SC06_008_jr_8017C294.c @@ -2879,9 +2879,6 @@ void func_8017D4E8(void *a0) { } -typedef struct { - s16 v[4]; -} Blk8_80126940_8017D524; void func_8017D524(s32 a0) { extern Blk8_80126940_8017D524 D_80126940; @@ -2959,12 +2956,6 @@ void func_8017D5A4(s32 param_1, s16 *param_2) { * `lhu $a2, 0x36($s3)` at both call sites, not caught by the site-diff card). */ -typedef struct { - u16 x; /* 0x00 */ - u16 y; /* 0x02 */ - u16 z; /* 0x04 */ - u16 w; /* 0x06 */ -} V4_8017D73C; extern u16 D_80126B62; extern u16 D_80126B96; @@ -3468,21 +3459,8 @@ extern void func_8017EBAC(int param_1); extern u8 * func_801290DC(s32 a0, u8 *a1); /* 0x10-byte spawn record built on the stack at sp+0x10 */ -typedef struct { - s16 x; /* 0x00 */ - s16 y; /* 0x02 */ - s16 z; /* 0x04 */ - u16 ang; /* 0x06 */ - s16 f8; /* 0x08 */ - s16 fA; /* 0x0A */ - s16 fC; /* 0x0C */ - s16 fE; /* 0x0E */ -} Cfg_8017E37C; /* 0x10-byte VECTOR at sp+0x20 (pad needed: it fixes s0/ra at 0x30/0x34) */ -typedef struct { - s32 vx, vy, vz, pad; -} Vec_8017E37C; s32 func_8017E37C(void *a0, s32 a1, s32 a2) { diff --git a/src/ov_SC06_010/ov_SC06_010_jr_8017A4AC.c b/src/ov_SC06_010/ov_SC06_010_jr_8017A4AC.c index 713fef4f1f..89c356179b 100644 --- a/src/ov_SC06_010/ov_SC06_010_jr_8017A4AC.c +++ b/src/ov_SC06_010/ov_SC06_010_jr_8017A4AC.c @@ -4962,9 +4962,6 @@ void func_8017E510(void *a0) { } -typedef struct { - s16 v[4]; -} Blk8_80126940_8017E54C; extern void func_8017E5CC(s32 param_1, s16 *param_2); @@ -5670,38 +5667,7 @@ void func_8017F978(s32 a0) } -typedef struct SubFAAC { - char pad0[0x4]; - s32 f4; /* 0x04 */ - u16 f8; /* 0x08 */ - u16 fA; /* 0x0A */ - u16 fC; /* 0x0C */ - char padE[2]; - u16 f10; /* 0x10 */ - u16 f12; /* 0x12 */ - u16 f14; /* 0x14 */ -} SubFAAC; -typedef struct EntFAAC { - u16 f0; /* 0x00 */ - char pad2[0x6 - 0x2]; - s16 f6; /* 0x06 */ - char pad8[0xA - 0x8]; - s16 fA; /* 0x0A */ - char padC[0xE - 0xC]; - s16 fE; /* 0x0E */ - s32 f10; /* 0x10 */ - s32 f14; /* 0x14 */ - s32 f18; /* 0x18 */ - char pad1C[4]; - SubFAAC *f20; /* 0x20 */ - char pad24[0xCC - 0x24]; - SubFAAC *fCC; /* 0xCC */ - SubFAAC *fD0; /* 0xD0 */ - char padD4[0xFC - 0xD4]; - u16 fFC; /* 0xFC */ - u16 fFE; /* 0xFE */ -} EntFAAC; extern void func_8012ADE4(s32); @@ -7108,12 +7074,6 @@ void func_80181AD8(s32 param_1) } -typedef struct { - SVECTOR_8016E7C8 v[4]; /* 0x00 */ - s32 f0, f1, f2, f3, f4, f5; /* 0x20..0x37 */ - u8 f6; /* 0x38 */ - u8 pad[7]; /* -> 0x40 */ -} Prim_8016E7C8_80181D80; diff --git a/src/ov_SC06_013/ov_SC06_013_jr_8017BEBC.c b/src/ov_SC06_013/ov_SC06_013_jr_8017BEBC.c index 0bd6512904..05fad30e7b 100644 --- a/src/ov_SC06_013/ov_SC06_013_jr_8017BEBC.c +++ b/src/ov_SC06_013/ov_SC06_013_jr_8017BEBC.c @@ -3199,9 +3199,6 @@ extern u16 D_80126B5E; extern u16 D_80126B62; extern u16 D_80126B66; -typedef struct { - u16 x, y, z, w; -} Pt_8017D87C; void func_8017D87C(void *a0) { diff --git a/src/ov_SC06_014/ov_SC06_014_jr_8017BEBC.c b/src/ov_SC06_014/ov_SC06_014_jr_8017BEBC.c index 46fa44819f..b26189ff45 100644 --- a/src/ov_SC06_014/ov_SC06_014_jr_8017BEBC.c +++ b/src/ov_SC06_014/ov_SC06_014_jr_8017BEBC.c @@ -3209,7 +3209,6 @@ extern s32 func_80047948(s32 a0); extern s32 func_8012D5E4(s32 a0, s32 a1, s32 a2, s32 a3); extern void func_8012DFD4(u8 *a0); -typedef struct { s16 x, y, z, w; } V_8017D9E8; void func_8017D9E8(s32 a0) { extern u16 D_80126B96; diff --git a/src/ov_SC06_016/ov_SC06_016_jr_8017C8D0.c b/src/ov_SC06_016/ov_SC06_016_jr_8017C8D0.c index b74f6c4db8..586d4e2c2d 100644 --- a/src/ov_SC06_016/ov_SC06_016_jr_8017C8D0.c +++ b/src/ov_SC06_016/ov_SC06_016_jr_8017C8D0.c @@ -2917,7 +2917,6 @@ void func_8017DBF8(void *a0) { } -typedef struct { s16 v[4]; } Blk8_80126940_8017DC34; extern s32 func_8012E544(s32 a0); extern void func_8017DD14(s32 param_1, s16 *param_2); @@ -4044,9 +4043,6 @@ extern void func_800183E0(s32 a0); /* 8-byte, 2-aligned vector: alignment < 4 is what makes gcc emit the lwl/lwr + swl/swr unaligned block move for the 0x8 and 0x18 copies. */ -typedef struct { - s16 a, b, c, d; -} SVec8_8017F694; void func_8017F694(s32 arg0) { @@ -4287,7 +4283,7 @@ void func_8017FE54(void *a0) { * twin ov_SC04_011:func_80187B40 uses. */ -typedef struct { u8 c[4]; } Blk4_8017FE90; /* 4 bytes, align 1 -> lwl/lwr + swl/swr copy */ + /* 4 bytes, align 1 -> lwl/lwr + swl/swr copy */ extern void func_800233CC(void *, unsigned short); extern void func_8001CD9C(int, void *); @@ -4422,8 +4418,8 @@ loop: * must stay an explicit variable there. */ -typedef struct { s16 vx, vy, vz, pad; } SV_801800E0; /* 8 bytes, align 2 -> lwl/lwr copy */ -typedef struct { u8 c[4]; } Blk4_801800E0; /* 4 bytes, align 1 -> lwl/lwr copy */ + /* 8 bytes, align 2 -> lwl/lwr copy */ + /* 4 bytes, align 1 -> lwl/lwr copy */ extern void func_8004914C(void *a0); extern void func_800491AC(void *a0); @@ -4569,22 +4565,11 @@ void func_801803FC(void) /* §160a: the lwl/lwr + swl/swr pairs are emit_block_move on struct types whose * TYPE_ALIGN is 1 byte (all-char members) — 4 bytes and 8 bytes here. */ -typedef struct { char c[4]; } Blk4_8018048C; -typedef struct { char c[8]; } Blk8_8018048C; /* §30 / §162q1: every store through these pointers must be a COMPONENT_REF so * it carries MEM_IN_STRUCT_P at a varying address — that is what lets sched1 * drop the dependence against the FIXED-address D_8019FB6x halfwords and hoist * their loads above the pointer stores (sched.c true/output_dependence). */ -typedef struct { - s32 unk00; /* 0x00 */ - s32 flags; /* 0x04 */ - Blk8_8018048C blk; /* 0x08 */ - s16 unk10; /* 0x10 */ - s16 unk12; /* 0x12 */ - s16 unk14[5]; /* 0x14 */ - s16 unk1E; /* 0x1E */ -} Obj_8018048C; extern void *D_8019FB58; /* object A */ extern void *D_8019FB5C; /* object B */ @@ -4673,7 +4658,6 @@ void func_8018048C(void *a0) { } -typedef struct { char c[4]; } Blk4_fc; extern void func_800233CC(void *, unsigned short); extern s32 func_8012C194(void); @@ -4709,7 +4693,6 @@ void func_801806FC(void *a0) } -typedef struct { s16 a, b, c, d; } SV4L; void func_801807C4(void *a0) { @@ -4746,9 +4729,7 @@ void func_801807C4(void *a0) extern s32 aF8012EF70(s32 a0, void *a1) __asm__("func_8012EF70"); /* 4 bytes -> lwl/lwr + swl/swr copy */ -typedef struct { s16 vx, vy; } DVec_80180894; -typedef struct { s16 vx, vy, vz, pad; } SVec_80180894; -typedef struct { s32 a; s32 b[4]; } OtBlk_80180894; /* stride 0x14 */ + /* stride 0x14 */ extern void *func_80010A08(s32 a0); extern s32 AddPrim(s32 a0, void *a1); @@ -4834,7 +4815,6 @@ void func_80180894(s32 arg0, s32 arg1, s32 arg2, s32 arg3) * direct 3-field lhu (not the 0x64/0x20/0x48 triple-indirect chain), and only ONE z-band * (v10.z=-0x280, v18.z=0 fixed) with 3 inner y-values, not the twin's 6-call/2-band form. */ -typedef struct { s16 x, y, z, w; } Vec4S16_80180BF0; extern s32 func_8012B70C(s16 *a0, s16 *a1); extern s32 func_80180D24(s32 arg0, s32 arg1, s32 arg2, s16 arg3); @@ -5317,7 +5297,6 @@ extern s16 D_8019FD70[]; extern s32 D_8019FEF8; extern u8 D_8019FB68[]; -typedef struct { u8 c[8]; } Blk8_801813B0; void func_801813B0(s32 param_1) { u8 *dst; diff --git a/src/ov_SC06_016/ov_SC06_016_jr_801816DC.c b/src/ov_SC06_016/ov_SC06_016_jr_801816DC.c index 989d12be02..6ba782d7f6 100644 --- a/src/ov_SC06_016/ov_SC06_016_jr_801816DC.c +++ b/src/ov_SC06_016/ov_SC06_016_jr_801816DC.c @@ -9,27 +9,9 @@ typedef struct { u8 pad[7]; /* -> 0x40 */ } Prim_8016E7C8; typedef void (*Handler)(struct Entry_8016E95C *); -typedef struct { s16 v[4]; } Blk8_80126940_8017DC34; -typedef struct { - s16 a, b, c, d; -} SVec8_8017F694; -typedef struct { u8 c[4]; } Blk4_8017FE90; /* 4 bytes, align 1 -> lwl/lwr + swl/swr copy */ -typedef struct { s16 vx, vy, vz, pad; } SV_801800E0; /* 8 bytes, align 2 -> lwl/lwr copy */ -typedef struct { u8 c[4]; } Blk4_801800E0; /* 4 bytes, align 1 -> lwl/lwr copy */ -typedef struct { char c[4]; } Blk4_8018048C; -typedef struct { char c[8]; } Blk8_8018048C; -typedef struct { - s32 unk00; /* 0x00 */ - s32 flags; /* 0x04 */ - Blk8_8018048C blk; /* 0x08 */ - s16 unk10; /* 0x10 */ - s16 unk12; /* 0x12 */ - s16 unk14[5]; /* 0x14 */ - s16 unk1E; /* 0x1E */ -} Obj_8018048C; -typedef struct { char c[4]; } Blk4_fc; -typedef struct { s16 a, b, c, d; } SV4L; -typedef struct { s16 x, y, z, w; } Vec4S16_80180BF0; + /* 4 bytes, align 1 -> lwl/lwr + swl/swr copy */ + /* 8 bytes, align 2 -> lwl/lwr copy */ + /* 4 bytes, align 1 -> lwl/lwr copy */ extern void func_801458E0(void); extern s32 D_800AE6AC; extern s32 D_800AE6B0; @@ -4030,13 +4012,6 @@ extern s32 func_80013328(s32 a0, s32 a1); extern void func_800D1724(s32 a0); extern void func_80171928(void *a0); -typedef struct { - u16 f_00; - u8 pad_02[0x5A]; - u16 f_5C; - u8 pad_5E[0x7E]; - s32 f_DC; -} Ent_80182E64; void func_80182E64(void *arg0) { diff --git a/src/ov_SC06_016/ov_SC06_016_jr_801839D0.c b/src/ov_SC06_016/ov_SC06_016_jr_801839D0.c index a13d0d1213..16e4daf4dc 100644 --- a/src/ov_SC06_016/ov_SC06_016_jr_801839D0.c +++ b/src/ov_SC06_016/ov_SC06_016_jr_801839D0.c @@ -9,7 +9,6 @@ typedef struct { u8 pad[7]; /* -> 0x40 */ } Prim_8016E7C8; typedef void (*Handler)(struct Entry_8016E95C *); -typedef struct { s16 x, y, z, w; } Vec4S16_80180BF0; extern void func_801458E0(void); extern s32 D_800AE6AC; extern s32 D_800AE6B0; @@ -3861,12 +3860,6 @@ void func_80184918(s32 a0) { } -typedef struct { - SVECTOR_8016E7C8 v[4]; /* 0x00 */ - s32 f0, f1, f2, f3, f4, f5; /* 0x20..0x37 */ - u8 f6; /* 0x38 */ - u8 pad[7]; /* -> 0x40 */ -} Prim_8016E7C8_80184BFC; /* func_80184BFC (ov_SC03_117, ov_SC03_117_jr_8017BEBC) — MATCH (148 ins) * @@ -3943,8 +3936,7 @@ typedef struct { * do not collide with any name in the TU. */ -typedef struct { s16 vx, vy, vz, pad; } SV_1A30_80184BFC; -typedef struct { s16 m[3][3]; s32 t[3]; } MTX_1A30_80184BFC; /* 0x20 bytes */ + /* 0x20 bytes */ void func_80184BFC(s16 *arg0) { diff --git a/src/ov_SC06_018/ov_SC06_018_jr_8017C24C.c b/src/ov_SC06_018/ov_SC06_018_jr_8017C24C.c index cf5dadbf2d..c9cc2070e0 100644 --- a/src/ov_SC06_018/ov_SC06_018_jr_8017C24C.c +++ b/src/ov_SC06_018/ov_SC06_018_jr_8017C24C.c @@ -2863,9 +2863,6 @@ void func_8017D4A0(void *a0) { } -typedef struct { - s16 v[4]; -} Blk8_80126940_8017D4DC; extern s32 D_80126B58; extern u16 func_80148800(s32 *a0); @@ -3098,19 +3095,6 @@ void func_8017D9A4(int param_1) extern void func_80015978(s32 a0, s32 *a1); extern void func_800178EC(s32 a0); -typedef struct { - s16 vx0, vy0, vz0, pad0; - s16 vx1, vy1, vz1, pad1; - s16 vx2, vy2, vz2, pad2; - s16 vx3, vy3, vz3, pad3; - s16 u0, v0; - s16 u1, v1; - s16 u2, v2; - s16 u3, v3; - s32 rgb0, rgb1, rgb2, rgb3; - s32 flags; - u8 clut; -} Quad_8017DB20; void func_8017DB20(s32 param_1, s32 param_2, s16 param_3, s16 param_4, s32 param_5, s32 param_6) { @@ -4348,12 +4332,6 @@ void func_8017F430(s32 param_1) } -typedef struct { - SVECTOR_8016E7C8 v[4]; /* 0x00 */ - s32 f0, f1, f2, f3, f4, f5; /* 0x20..0x37 */ - u8 f6; /* 0x38 */ - u8 pad[7]; /* -> 0x40 */ -} Prim_8016E7C8_8017F6D8; diff --git a/src/ov_SC06_018/ov_SC06_018_jr_80187AEC.c b/src/ov_SC06_018/ov_SC06_018_jr_80187AEC.c index 2286c248b3..45f8ad6d69 100644 --- a/src/ov_SC06_018/ov_SC06_018_jr_80187AEC.c +++ b/src/ov_SC06_018/ov_SC06_018_jr_80187AEC.c @@ -3269,7 +3269,6 @@ void func_801880C4(s32 a0) { } -typedef struct { u16 x, y, z, w; } V4_80188E10_80182F80; void func_80188234(s32 param_1) { @@ -3888,9 +3887,7 @@ void func_80188D90(s32 a0) * before sweeping (§56b — carry the TU's types, not this draft's). */ -typedef struct { u16 x, y, z, w; } V4_80188E10; -typedef Unkstruct_800B5CB8 Ent_80188E10; extern void func_8012F214(s32 a0, s32 a1, s32 a2); extern s32 func_80135888(s32 a0, s32 a1, s32 a2, s32 a3); @@ -4041,17 +4038,6 @@ s32 func_80189284(void *a0, s32 a1, s32 a2) { extern s32 func_8012C51C(void *a0, s32 a1); -typedef struct { - u16 f10; /* 0x10 */ - u16 f12; /* 0x12 */ - u16 f14; /* 0x14 */ - s16 f16; /* 0x16 */ - s16 f18; /* 0x18 */ - s16 f1a; /* 0x1A */ - s16 f1c; /* 0x1C */ - u16 f1e; /* 0x1E */ - s32 f20; /* 0x20 */ -} buf_801873B0; void func_8018931C(a0, a1, a2, a3, a4, a5) s32 a0; @@ -4779,7 +4765,7 @@ L8018A270: } -typedef struct { s32 a; s32 b[4]; } OtBlk_8018A974_8018EB08_8018A28C; /* == engine_types.h OtBlk (0x14) */ + /* == engine_types.h OtBlk (0x14) */ /* func_8018A28C — ov_SC06_032 / ov_SC06_032_jr_80182890, 122 ins. * @@ -5163,7 +5149,7 @@ main_body: * `void func_80016638(void *a0, s32 a1, s32 a2)`. */ -typedef struct { s32 a; s32 b[4]; } OtBlk_8018A974; /* == engine_types.h OtBlk (0x14) */ + /* == engine_types.h OtBlk (0x14) */ void func_8018A974(s32 arg0, s32 arg1, s32 arg2) { @@ -5522,7 +5508,7 @@ void func_8018B060(s32 param_1) } -typedef struct { s32 a; s32 b[4]; } OtBlk_8018A974_8018EB08_8018B1D8; /* == engine_types.h OtBlk (0x14) */ + /* == engine_types.h OtBlk (0x14) */ /* Local standins for the shared types (src/shared/engine_types.h) that the real TU pulls in via * "../shared/engine_core.h" -- match_one's -Iinclude can't reach src/shared/, so these are typed @@ -5725,10 +5711,8 @@ void func_8018B714(s32 param_1) } -typedef struct { s16 vx, vy, vz, pad; } SVec_80186E9C; /* 8 bytes, align 2 -> lwl/lwr block move */ -typedef struct { u8 b[4]; } Blk4_80185D4C; -typedef struct { s32 a; s32 b[4]; } OtBlk_80185B4C; /* == engine_types.h OtBlk (0x14) */ -typedef Unkstruct_800B5CB8 Ent_80188E10_80183BB4; + /* 8 bytes, align 2 -> lwl/lwr block move */ + /* == engine_types.h OtBlk (0x14) */ @@ -5949,7 +5933,7 @@ void func_8018BC40(s32 param_1) } -typedef struct { s32 a; s32 b[4]; } OtBlk_8018A974_8018EB08_8018BCC4; /* == engine_types.h OtBlk (0x14) */ + /* == engine_types.h OtBlk (0x14) */ /* func_8018BCC4 -- MATCH (185 ins, relocation-masked). * @@ -5980,15 +5964,9 @@ extern void func_800491AC(void *a0); extern void RotTransSV(void *a0, void *a1, void *a2); extern void func_8018C090(void *a0); -typedef struct { s16 vx, vy, vz, pad; } SVec_80186E9C_8018BCC4; /* 8 bytes, align 2 -> lwl/lwr block move */ -typedef struct { u8 r, g, b, cd; } CVec_80186E9C_8018BCC4; /* 4 bytes, align 1 */ -typedef struct { - /* 0x00 */ SVec_80186E9C_8018BCC4 v[4]; - /* 0x20 */ CVec_80186E9C_8018BCC4 col; - /* 0x24 */ u32 code; -} Quad_80186E9C_8018BCC4; + /* 8 bytes, align 2 -> lwl/lwr block move */ + /* 4 bytes, align 1 */ -typedef struct { u8 pad00[0x20]; /* 0x20 */ u8 *mtx; } Ent_80186E9C_8018BCC4; void func_8018BCC4(Ent_80186E9C_8018BCC4 *arg0, s32 arg1, u16 *arg2, u32 col) @@ -6131,15 +6109,6 @@ extern void func_80049CAC(s32 a0, s32 a1); extern void func_8012F038(int param_1, short *param_2, short *param_3); extern u8 D_801CD4C8[]; -struct Fr_8018C190 { - s16 mtx[10]; /* sp+0x10, only its address is used (func_80049CAC out) */ - s32 pos[3]; /* sp+0x24 */ - s16 sv[4]; /* sp+0x30 (RotTransSV out) */ - s16 sv2[4]; /* sp+0x38 (unused, layout filler) */ - s16 buf40[4]; /* sp+0x40 (func_8012F038 out) */ - s16 rot[4]; /* sp+0x48 */ - s32 flg[4]; /* sp+0x50 (RotTransSV flag out) */ -}; void func_8018C190(s32 param_1) { struct Fr_8018C190 fr; @@ -6201,8 +6170,6 @@ void func_8018C310(void) } -typedef struct { u8 d[4]; } __attribute__((packed, aligned(1))) B4_8018C334; -typedef struct { u8 d[8]; } __attribute__((packed, aligned(1))) B8_8018C334; void func_8018C334(s32 param_1, s32 param_2) { @@ -7032,33 +6999,6 @@ void func_8018D514(s32 arg0) { * before sweeping (§56b — carry the TU's types, not this draft's). */ -typedef struct { - u16 f0; /* 0x00 kind; 0 = dead, 0x318 = skipped */ - u8 p02[0x04 - 0x02]; - s16 f4; /* 0x04 x, fractional half */ - s16 f6; /* 0x06 x */ - u8 p08[0x0C - 0x08]; - s16 fC; /* 0x0C y, fractional half */ - s16 fE; /* 0x0E y (*(s32 *)&fC is the whole fixed) */ - s32 f10; /* 0x10 velocity, zeroed on reset */ - u8 p14[0x18 - 0x14]; - s32 f18; /* 0x18 velocity, zeroed on reset */ - u8 p1C[0x20 - 0x1C]; - s32 f20; /* 0x20 -> sub object (0x12 = busy bits) */ - u8 p24[0x38 - 0x24]; - s16 f38; /* 0x38 home x, fractional half */ - s16 f3A; /* 0x3A home x */ - s32 f3C; /* 0x3C "has a home" flag */ - s16 f40; /* 0x40 home y, fractional half */ - s16 f42; /* 0x42 home y */ - u8 p44[0x5E - 0x44]; - u8 f5E; /* 0x5E kind tag; 0x25 is excluded */ - u8 p5F[0x70 - 0x5F]; - s16 f70; /* 0x70 band: 4 = left, 5 = right */ - u8 p72[0x76 - 0x72]; - s16 f76; /* 0x76 budget */ - u8 p78[0x10C - 0x78]; /* stride 0x10C, 0x60 entries */ -} Ent_8018D654; extern s32 D_80126B58; extern u16 D_80126B5E; @@ -8578,7 +8518,6 @@ void func_8018F694(void) } -typedef struct { s32 a; s32 b[4]; } OtBlk_8018FE0C; /* ==== simulated TU file-scope surface (verbatim from ov_SC06_018_jr_80187AEC.c) ==== */ extern short D_800B9A02; diff --git a/src/ov_SC06_018/ov_SC06_018_jr_8018FF98.c b/src/ov_SC06_018/ov_SC06_018_jr_8018FF98.c index 825d456bbe..ee10cf627d 100644 --- a/src/ov_SC06_018/ov_SC06_018_jr_8018FF98.c +++ b/src/ov_SC06_018/ov_SC06_018_jr_8018FF98.c @@ -9,8 +9,6 @@ typedef struct { u8 pad[7]; /* -> 0x40 */ } Prim_8016E7C8; typedef void (*Handler)(struct Entry_8016E95C *); -typedef struct { u16 x, y, z, w; } V4_80188E10; -typedef Unkstruct_800B5CB8 Ent_80188E10; extern void func_801458E0(void); extern s32 D_800AE6AC; extern s32 D_800AE6B0; @@ -3141,7 +3139,6 @@ extern void func_8018F694(void); /* align-1 4-byte block (cookbook §160a): the lwl/lwr + swl/swr pair is emit_block_move * on a type whose alignment is 1. */ -typedef struct { u8 d[4]; } Blk4_8018FF98; extern s32 func_8012C354(s32 a0, s32 a1); extern void func_8001C214(s32 a0, s32 a1); diff --git a/src/ov_SC06_018/ov_SC06_018_jr_8019059C.c b/src/ov_SC06_018/ov_SC06_018_jr_8019059C.c index 0ac6195712..8c30e9f1ac 100644 --- a/src/ov_SC06_018/ov_SC06_018_jr_8019059C.c +++ b/src/ov_SC06_018/ov_SC06_018_jr_8019059C.c @@ -3247,9 +3247,6 @@ void func_80191020(s32 a0) { */ -typedef struct { u8 b[4]; } Blk4_80191320; -typedef struct { u8 b[8]; } Blk8_80191320; -typedef struct { s16 vx, vy, vz, pad; } SV_80191320; extern void func_80016714(void *a0, s32 a1); extern s32 func_8012C194(void); diff --git a/src/ov_SC06_018/ov_SC06_018_jr_80191C50.c b/src/ov_SC06_018/ov_SC06_018_jr_80191C50.c index 8e65f692ab..8de7625cea 100644 --- a/src/ov_SC06_018/ov_SC06_018_jr_80191C50.c +++ b/src/ov_SC06_018/ov_SC06_018_jr_80191C50.c @@ -3535,9 +3535,6 @@ extern s32 func_8012DF34(s32 a0, s32 a1, s32 a2); extern u8 D_801202A0[]; extern u16 D_80126B98[]; -typedef struct { - s16 vx, vy, vz, pad; -} SV_80192F64; void func_80192F64(s32 arg0) { s32 e; diff --git a/src/ov_SC06_020/ov_SC06_020_jr_8017AE2C.c b/src/ov_SC06_020/ov_SC06_020_jr_8017AE2C.c index 9cdfe24529..65ae551ffd 100644 --- a/src/ov_SC06_020/ov_SC06_020_jr_8017AE2C.c +++ b/src/ov_SC06_020/ov_SC06_020_jr_8017AE2C.c @@ -3313,12 +3313,6 @@ void func_8017BEBC(void *a0) { } -typedef struct { - SVECTOR_8016E7C8 v[4]; /* 0x00 */ - s32 f0, f1, f2, f3, f4, f5; /* 0x20..0x37 */ - u8 f6; /* 0x38 */ - u8 pad[7]; /* -> 0x40 */ -} Prim_8016E7C8_8017BEF8; extern s32 func_800D21C4(s32 a0, void *a1, s32 a2); diff --git a/src/ov_SC06_020/ov_SC06_020_jr_8017C24C.c b/src/ov_SC06_020/ov_SC06_020_jr_8017C24C.c index da74dc6217..287814cf7e 100644 --- a/src/ov_SC06_020/ov_SC06_020_jr_8017C24C.c +++ b/src/ov_SC06_020/ov_SC06_020_jr_8017C24C.c @@ -2844,9 +2844,6 @@ void func_8017D464(void *a0) { } -typedef struct { - s16 v[4]; -} Blk8_80126940_8017D4A0; void func_8017D4A0(s32 a0) { @@ -3799,12 +3796,6 @@ void func_8017EA74(s32 param_1) } -typedef struct { - SVECTOR_8016E7C8 v[4]; /* 0x00 */ - s32 f0, f1, f2, f3, f4, f5; /* 0x20..0x37 */ - u8 f6; /* 0x38 */ - u8 pad[7]; /* -> 0x40 */ -} Prim_8016E7C8_8017EAB4; extern s32 func_8012BCCC(s32 a0); extern s32 func_8012B8E4(s32 a0, s32 a1); @@ -3881,12 +3872,6 @@ s32 p; } -typedef struct { - SVECTOR_8016E7C8 v[4]; /* 0x00 */ - s32 f0, f1, f2, f3, f4, f5; /* 0x20..0x37 */ - u8 f6; /* 0x38 */ - u8 pad[7]; /* -> 0x40 */ -} Prim_8016E7C8_8017EC6C; extern s32 func_8012BCCC(s32 a0); extern void func_8012A828(s32 a0, void *a1); diff --git a/src/ov_SC06_020/ov_SC06_020_jr_80180B04.c b/src/ov_SC06_020/ov_SC06_020_jr_80180B04.c index 51414c21d6..8c79523067 100644 --- a/src/ov_SC06_020/ov_SC06_020_jr_80180B04.c +++ b/src/ov_SC06_020/ov_SC06_020_jr_80180B04.c @@ -4435,9 +4435,7 @@ void func_80182F00(s32 param_1) * before sweeping (§56b — carry the TU's types, not this draft's). */ -typedef struct { u16 x, y, z, w; } V4_80188E10_80182F80; -typedef Unkstruct_800B5CB8 Ent_80188E10_80182F80; extern void func_8012F214(s32 a0, s32 a1, s32 a2); extern s32 func_80135888(s32 a0, s32 a1, s32 a2, s32 a3); @@ -4588,17 +4586,6 @@ s32 func_801833F4(void *a0, s32 a1, s32 a2) { extern s32 func_8012C51C(void *a0, s32 a1); -typedef struct { - u16 f10; /* 0x10 */ - u16 f12; /* 0x12 */ - u16 f14; /* 0x14 */ - s16 f16; /* 0x16 */ - s16 f18; /* 0x18 */ - s16 f1a; /* 0x1A */ - s16 f1c; /* 0x1C */ - u16 f1e; /* 0x1E */ - s32 f20; /* 0x20 */ -} buf_801873B0; void func_8018348C(a0, a1, a2, a3, a4, a5) s32 a0; @@ -4977,15 +4964,8 @@ void func_80183D98(void *a0) } -typedef struct { s16 vx, vy, vz, pad; } SVec_80186E9C_8018BCC4_80183ED4; /* 8 bytes, align 2 -> lwl/lwr block move */ -typedef struct { s32 a; s32 b[4]; } OtBlk_8018A974_8018EB08_8018A28C_80183ED4; /* == engine_types.h OtBlk (0x14) */ -typedef Unkstruct_800B5CB8 Ent_80188E10_80183ED4; -typedef struct { - SVECTOR_8016E7C8 v[4]; /* 0x00 */ - s32 f0, f1, f2, f3, f4, f5; /* 0x20..0x37 */ - u8 f6; /* 0x38 */ - u8 pad[7]; /* -> 0x40 */ -} Prim_8016E7C8_80183ED4; + /* 8 bytes, align 2 -> lwl/lwr block move */ + /* == engine_types.h OtBlk (0x14) */ /* TU-canonical declarations (law 2) — verbatim from * src/ov_SC06_018/ov_SC06_018_jr_80187AEC.c (L2761/2988/etc for func_8012C218, @@ -5048,8 +5028,7 @@ void func_80183ED4(void *a0) } -typedef struct { u8 b[4]; } Blk4_80185D4C; -typedef struct { s32 a; s32 b[4]; } OtBlk_8018A974_8018EB08_8018A28C; /* == engine_types.h OtBlk (0x14) */ + /* == engine_types.h OtBlk (0x14) */ /* diff --git a/src/ov_SC06_022/ov_SC06_022_jr_8017BEBC.c b/src/ov_SC06_022/ov_SC06_022_jr_8017BEBC.c index 0e8e2e7e30..5969dc0f41 100644 --- a/src/ov_SC06_022/ov_SC06_022_jr_8017BEBC.c +++ b/src/ov_SC06_022/ov_SC06_022_jr_8017BEBC.c @@ -2737,7 +2737,6 @@ extern s16 D_800B9B00; extern u8 *D_801274C8; extern void *D_801274CC; -struct B16_8017CDE4 { s32 w[4]; }; void func_8017CDE4(void) { @@ -2960,9 +2959,6 @@ void func_8017D29C(void) { } -typedef struct { - s16 v[4]; -} Blk8_80126940_8017D348; void func_8017D348(void) { extern u8 D_80126948[]; @@ -3079,9 +3075,6 @@ void func_8017D59C(void *a0) { } -typedef struct { - s16 v[4]; -} Blk8_80126940_8017D5D8; void func_8017D5D8(s32 a0) { extern s32 D_80126B58; @@ -3124,9 +3117,6 @@ void func_8017D5D8(s32 a0) { } -typedef struct { - s16 v[4]; -} Blk8_80126940_8017D6E0; void func_8017D6E0(s32 a0) { extern s32 D_80126B58; @@ -3165,9 +3155,6 @@ void func_8017D6E0(s32 a0) { } -typedef struct { - s16 v[4]; -} Blk8_80126940_8017D7CC; void func_8017D7CC(s32 a0) { extern s32 D_80126B58; @@ -3469,8 +3456,7 @@ extern void func_8002D4C8(s32 a0, s32 a1); extern void RotMatrixY(s32 a0, void *a1); extern void func_800484EC(s32 a0, s32 a1, s32 a2); -typedef struct { s16 h0, h1, h2, h3; } Q_8017DF28; /* 8 bytes, align 2 -> lwl/lwr copy */ -typedef struct { s32 x, y, z; } VEC_8017DF28; + /* 8 bytes, align 2 -> lwl/lwr copy */ void func_8017DF28(s32 param_1) { @@ -4210,12 +4196,6 @@ void func_8017F2D0(void *a0) { } -typedef struct { - u16 x; - u16 y; - u16 z; - u16 w; -} Vec4h_8017F30C; extern s32 func_8012DEB8(s32 a0, s32 a1, s32 a2); extern u16 D_8019104C; diff --git a/src/ov_SC06_022/ov_SC06_022_jr_80180CD0.c b/src/ov_SC06_022/ov_SC06_022_jr_80180CD0.c index 5f1d2c45e1..d845d44270 100644 --- a/src/ov_SC06_022/ov_SC06_022_jr_80180CD0.c +++ b/src/ov_SC06_022/ov_SC06_022_jr_80180CD0.c @@ -9,24 +9,6 @@ typedef struct { u8 pad[7]; /* -> 0x40 */ } Prim_8016E7C8; typedef void (*Handler)(struct Entry_8016E95C *); -typedef struct { - s16 v[4]; -} Blk8_80126940_8017D348; -typedef struct { - s16 v[4]; -} Blk8_80126940_8017D5D8; -typedef struct { - s16 v[4]; -} Blk8_80126940_8017D6E0; -typedef struct { - s16 v[4]; -} Blk8_80126940_8017D7CC; -typedef struct { - u16 x; - u16 y; - u16 z; - u16 w; -} Vec4h_8017F30C; extern void func_801458E0(void); extern s32 D_800AE6AC; extern s32 D_800AE6B0; @@ -4120,12 +4102,6 @@ void func_80182998(s32 param_1) } -typedef struct { - SVECTOR_8016E7C8 v[4]; /* 0x00 */ - s32 f0, f1, f2, f3, f4, f5; /* 0x20..0x37 */ - u8 f6; /* 0x38 */ - u8 pad[7]; /* -> 0x40 */ -} Prim_8016E7C8_801829D8; extern s32 func_8012BCCC(s32 a0); extern s32 func_8012B8E4(s32 a0, s32 a1); @@ -4197,12 +4173,6 @@ void func_80182B3C(s32 p) } -typedef struct { - SVECTOR_8016E7C8 v[4]; /* 0x00 */ - s32 f0, f1, f2, f3, f4, f5; /* 0x20..0x37 */ - u8 f6; /* 0x38 */ - u8 pad[7]; /* -> 0x40 */ -} Prim_8016E7C8_80182B90; extern s32 func_8012BCCC(s32 a0); extern void func_8012A828(s32 a0, void *a1); diff --git a/src/ov_SC06_022/ov_SC06_022_jr_80184A28.c b/src/ov_SC06_022/ov_SC06_022_jr_80184A28.c index 071eea4456..98749722eb 100644 --- a/src/ov_SC06_022/ov_SC06_022_jr_80184A28.c +++ b/src/ov_SC06_022/ov_SC06_022_jr_80184A28.c @@ -3554,9 +3554,8 @@ void func_801859F4(void *a0) { } -typedef struct { u8 b[4]; } Blk4_80185D4C; -typedef struct { s16 vx, vy, vz, pad; } SVec_80186E9C; /* 8 bytes, align 2 -> lwl/lwr block move */ -typedef struct { s32 a; s32 b[4]; } OtBlk_8018A974_8018EB08_8018A28C; /* == engine_types.h OtBlk (0x14) */ + /* 8 bytes, align 2 -> lwl/lwr block move */ + /* == engine_types.h OtBlk (0x14) */ /* ov_SC06_018 :: func_80185B80 — actor state machine, jump-table switch on the * u16 state word at +0x34. Jump table = jtbl_801D3AF0 (6 entries, 0..5), which @@ -4443,9 +4442,7 @@ void func_80186E24(s32 a0) * before sweeping (§56b — carry the TU's types, not this draft's). */ -typedef struct { u16 x, y, z, w; } V4_80188E10_80186EA4; -typedef Unkstruct_800B5CB8 Ent_80188E10_80186EA4; extern void func_8012F214(s32 a0, s32 a1, s32 a2); extern s32 func_80135888(s32 a0, s32 a1, s32 a2, s32 a3); @@ -4571,7 +4568,6 @@ void func_80187094(s32 a0, s32 a1) { } -typedef struct { u8 d[4]; } __attribute__((packed, aligned(1))) B4_8018C334; s32 func_80187318(void *a0, s32 a1, s32 a2) { @@ -4596,17 +4592,6 @@ s32 func_80187318(void *a0, s32 a1, s32 a2) { extern s32 func_8012C51C(void *a0, s32 a1); -typedef struct { - u16 f10; /* 0x10 */ - u16 f12; /* 0x12 */ - u16 f14; /* 0x14 */ - s16 f16; /* 0x16 */ - s16 f18; /* 0x18 */ - s16 f1a; /* 0x1A */ - s16 f1c; /* 0x1C */ - u16 f1e; /* 0x1E */ - s32 f20; /* 0x20 */ -} buf_801873B0; void func_801873B0(a0, a1, a2, a3, a4, a5) s32 a0; @@ -4985,15 +4970,8 @@ void func_80187CBC(void *a0) } -typedef struct { s16 vx, vy, vz, pad; } SVec_80186E9C_8018BCC4_80187DF8; /* 8 bytes, align 2 -> lwl/lwr block move */ -typedef struct { s32 a; s32 b[4]; } OtBlk_8018A974_8018EB08_8018A28C_80187DF8; /* == engine_types.h OtBlk (0x14) */ -typedef Unkstruct_800B5CB8 Ent_80188E10_80187DF8; -typedef struct { - SVECTOR_8016E7C8 v[4]; /* 0x00 */ - s32 f0, f1, f2, f3, f4, f5; /* 0x20..0x37 */ - u8 f6; /* 0x38 */ - u8 pad[7]; /* -> 0x40 */ -} Prim_8016E7C8_80187DF8; + /* 8 bytes, align 2 -> lwl/lwr block move */ + /* == engine_types.h OtBlk (0x14) */ /* TU-canonical declarations (law 2) — verbatim from * src/ov_SC06_018/ov_SC06_018_jr_80187AEC.c (L2761/2988/etc for func_8012C218, @@ -7838,12 +7816,6 @@ void func_8018C28C(s32 param_1) } -typedef struct { - SVECTOR_8016E7C8 v[4]; /* 0x00 */ - s32 f0, f1, f2, f3, f4, f5; /* 0x20..0x37 */ - u8 f6; /* 0x38 */ - u8 pad[7]; /* -> 0x40 */ -} Prim_8016E7C8_8018C534; diff --git a/src/ov_SC06_024/ov_SC06_024_jr_8017BEBC.c b/src/ov_SC06_024/ov_SC06_024_jr_8017BEBC.c index 19b5aa4657..96202c801e 100644 --- a/src/ov_SC06_024/ov_SC06_024_jr_8017BEBC.c +++ b/src/ov_SC06_024/ov_SC06_024_jr_8017BEBC.c @@ -3030,9 +3030,6 @@ void func_8017D388(s32 a0) { } -typedef struct { - s16 v[4]; -} Blk8_80126940_8017D474; void func_8017D474(s32 a0) { @@ -3990,8 +3987,6 @@ void func_8017EADC(s32 a0) { */ #include "common.h" -typedef struct { s16 vx, vy, vz, pad; } SV_8017EC4C; -typedef struct { s16 m[3][3]; s32 t[3]; } MT_8017EC4C; extern void func_8012EC04(s32, s32, s32 *); extern void func_8012F14C(s32, s32, s32); diff --git a/src/ov_SC06_024/ov_SC06_024_jr_80181D34.c b/src/ov_SC06_024/ov_SC06_024_jr_80181D34.c index 589ad1db09..0dbb619d98 100644 --- a/src/ov_SC06_024/ov_SC06_024_jr_80181D34.c +++ b/src/ov_SC06_024/ov_SC06_024_jr_80181D34.c @@ -9,9 +9,6 @@ typedef struct { u8 pad[7]; /* -> 0x40 */ } Prim_8016E7C8; typedef void (*Handler)(struct Entry_8016E95C *); -typedef struct { - s16 v[4]; -} Blk8_80126940_8017D474; extern void func_801458E0(void); extern s32 D_800AE6AC; extern s32 D_800AE6B0; diff --git a/src/ov_SC06_024/ov_SC06_024_jr_80183B3C.c b/src/ov_SC06_024/ov_SC06_024_jr_80183B3C.c index cb3ba20872..c4d00c470f 100644 --- a/src/ov_SC06_024/ov_SC06_024_jr_80183B3C.c +++ b/src/ov_SC06_024/ov_SC06_024_jr_80183B3C.c @@ -9,9 +9,6 @@ typedef struct { u8 pad[7]; /* -> 0x40 */ } Prim_8016E7C8; typedef void (*Handler)(struct Entry_8016E95C *); -typedef struct { - s16 v[4]; -} Blk8_80126940_8017D474; extern void func_801458E0(void); extern s32 D_800AE6AC; extern s32 D_800AE6B0; @@ -3769,12 +3766,6 @@ void func_80184E70(s32 param_1) } -typedef struct { - SVECTOR_8016E7C8 v[4]; /* 0x00 */ - s32 f0, f1, f2, f3, f4, f5; /* 0x20..0x37 */ - u8 f6; /* 0x38 */ - u8 pad[7]; /* -> 0x40 */ -} Prim_8016E7C8_80184EB0; extern s32 func_8012BCCC(s32 a0); extern s32 func_8012B8E4(s32 a0, s32 a1); @@ -3846,12 +3837,6 @@ void func_80185014(s32 p) } -typedef struct { - SVECTOR_8016E7C8 v[4]; /* 0x00 */ - s32 f0, f1, f2, f3, f4, f5; /* 0x20..0x37 */ - u8 f6; /* 0x38 */ - u8 pad[7]; /* -> 0x40 */ -} Prim_8016E7C8_80185068; extern s32 func_8012BCCC(s32 a0); extern void func_8012A828(s32 a0, void *a1); diff --git a/src/ov_SC06_024/ov_SC06_024_jr_80186F00.c b/src/ov_SC06_024/ov_SC06_024_jr_80186F00.c index f041b203e9..805a05b6e8 100644 --- a/src/ov_SC06_024/ov_SC06_024_jr_80186F00.c +++ b/src/ov_SC06_024/ov_SC06_024_jr_80186F00.c @@ -4488,9 +4488,7 @@ void func_801892FC(s32 param_1) * before sweeping (§56b — carry the TU's types, not this draft's). */ -typedef struct { u16 x, y, z, w; } V4_80188E10_8018937C; -typedef Unkstruct_800B5CB8 Ent_80188E10_8018937C; extern void func_8012F214(s32 a0, s32 a1, s32 a2); extern s32 func_80135888(s32 a0, s32 a1, s32 a2, s32 a3); @@ -5022,15 +5020,8 @@ void func_8018A194(void *a0) } -typedef struct { s16 vx, vy, vz, pad; } SVec_80186E9C_8018BCC4_8018A2D0; /* 8 bytes, align 2 -> lwl/lwr block move */ -typedef struct { s32 a; s32 b[4]; } OtBlk_8018A974_8018EB08_8018A28C_8018A2D0; /* == engine_types.h OtBlk (0x14) */ -typedef Unkstruct_800B5CB8 Ent_80188E10_8018A2D0; -typedef struct { - SVECTOR_8016E7C8 v[4]; /* 0x00 */ - s32 f0, f1, f2, f3, f4, f5; /* 0x20..0x37 */ - u8 f6; /* 0x38 */ - u8 pad[7]; /* -> 0x40 */ -} Prim_8016E7C8_8018A2D0; + /* 8 bytes, align 2 -> lwl/lwr block move */ + /* == engine_types.h OtBlk (0x14) */ /* TU-canonical declarations (law 2) — verbatim from * src/ov_SC06_018/ov_SC06_018_jr_80187AEC.c (L2761/2988/etc for func_8012C218, @@ -7937,12 +7928,6 @@ void func_8018E764(s32 param_1) } -typedef struct { - SVECTOR_8016E7C8 v[4]; /* 0x00 */ - s32 f0, f1, f2, f3, f4, f5; /* 0x20..0x37 */ - u8 f6; /* 0x38 */ - u8 pad[7]; /* -> 0x40 */ -} Prim_8016E7C8_8018EA0C; diff --git a/src/ov_SC06_025/ov_SC06_025_jr_8017BEBC.c b/src/ov_SC06_025/ov_SC06_025_jr_8017BEBC.c index 839d25020a..0a1cb758b8 100644 --- a/src/ov_SC06_025/ov_SC06_025_jr_8017BEBC.c +++ b/src/ov_SC06_025/ov_SC06_025_jr_8017BEBC.c @@ -3058,12 +3058,6 @@ void func_8017D4B4(void *a0) { #include "common.h" -typedef struct { - s16 x; /* 0x0 */ - s16 y; /* 0x2 */ - s16 z; /* 0x4 */ - s16 pad; /* 0x6 */ -} Buf8_8017D4F0; extern s16 D_80126940; extern s32 D_801270C8; @@ -3128,9 +3122,6 @@ void func_8017D4F0(void *param_1) { } -typedef struct { - s16 v[4]; -} Blk8_80126940_8017D654; extern void func_8017D730(s32 param_1, s16 *param_2); @@ -3385,15 +3376,6 @@ void func_8017DB6C(s32 a0) { * re-walked against the .s). func_800599B8 is spelled with the fleet-modal * `void func_800599B8(u16 *)` (n=1066); the TU does not declare it. * ------------------------------------------------------------------------- */ -typedef struct { - u16 tag; /* 0x00 */ - u16 unk02; /* 0x02 */ - u16 x; /* 0x04 */ - u16 y; /* 0x06 */ - s16 n; /* 0x08 */ - u16 h; /* 0x0A */ - u16 *base; /* 0x0C */ -} Rec8017DB98; extern void func_800599B8(u16 *); @@ -4060,10 +4042,6 @@ void func_8017E6C0(void *a0) { extern void func_80016714(void *a0, s32 a1); -typedef struct { - s16 unk0; /* 0x00 */ - u8 pad[0x102]; /* -> 0x104 */ -} St_8017E95C_r; extern St_8017E95C_r D_801B12F0[4]; extern St_8017E95C_r D_801B12F8[4]; @@ -4109,13 +4087,9 @@ void func_8017E9B8(void) { #include "common.h" -typedef struct { - u16 v[4]; -} Tbl8_801AFF3C; /* 8 bytes, align 2 -> lwl/lwr/swl/swr copy */ + /* 8 bytes, align 2 -> lwl/lwr/swl/swr copy */ -typedef struct { - u16 a, b, c, d; -} Ent8_80188; /* 8-byte stride record */ + /* 8-byte stride record */ extern Tbl8_801AFF3C D_801AFF3C; extern Ent8_80188 D_801888CC[]; diff --git a/src/ov_SC06_025/ov_SC06_025_jr_8017EEC4.c b/src/ov_SC06_025/ov_SC06_025_jr_8017EEC4.c index bd343a9bd5..90d3318b87 100644 --- a/src/ov_SC06_025/ov_SC06_025_jr_8017EEC4.c +++ b/src/ov_SC06_025/ov_SC06_025_jr_8017EEC4.c @@ -9,16 +9,6 @@ typedef struct { u8 pad[7]; /* -> 0x40 */ } Prim_8016E7C8; typedef void (*Handler)(struct Entry_8016E95C *); -typedef struct { - s16 x; /* 0x0 */ - s16 y; /* 0x2 */ - s16 z; /* 0x4 */ - s16 pad; /* 0x6 */ -} Buf8_8017D4F0; -typedef struct { - s16 unk0; /* 0x00 */ - u8 pad[0x102]; /* -> 0x104 */ -} St_8017E95C_r; extern void func_801458E0(void); extern s32 D_800AE6AC; extern s32 D_800AE6B0; @@ -2799,9 +2789,6 @@ extern void func_8017ED5C(s32 a0); extern s16 D_801B1738; -typedef struct { - s16 x, y, z, pad; -} V_8017EEC4; extern void func_8017EF94(V_8017EEC4 *a0, s32 a1); @@ -2882,12 +2869,6 @@ s32 func_8017EEC4(void) { extern void func_8012EF70(s32 a0, s32 a1); -typedef struct { s16 vx, vy; } DV_8017EF94; -typedef struct { s16 vx, vy, vz, pad; } SV_8017EF94; -typedef struct { - s16 x, y, w, h; - union { DV_8017EF94 d; s32 w32; } v[4]; -} Quad_8017EF94; extern s32 RotTransPers(s32, s32, s32 *, s32 *); extern s32 func_8017F424(s16 *); @@ -3145,12 +3126,6 @@ void func_8017F580(void) { * always emits lwl/lwr+swl/swr on this compiler (§48-C2 — align 1 AND align 2 both * fall through to the unaligned move; only align>=4 gets lw/sw). Individual field * accesses stay plain lhu/sh because each u16 field is itself naturally 2-aligned. */ -typedef struct { - u16 unk0; - s16 unk2; - u16 unk4; - u16 unk6; -} V16x4; extern V16x4 D_80188984[]; extern u16 D_80188994[]; @@ -3192,12 +3167,6 @@ void func_8017F664(s32 a0, s32 a1) { /* LINE_F2 packet, 0x10 bytes: tag(4) + rgb/code(4, code byte at +3) + xy0(4) + xy1(4). */ -typedef struct { - s32 tag; /* 0x00 */ - s32 rgb; /* 0x04 code byte lives at +3 of this word */ - s32 xy0; /* 0x08 */ - s32 xy1; /* 0x0C */ -} LineF2; extern void *func_80010A08(s32); extern void func_8012E32C(void); @@ -3359,7 +3328,6 @@ void func_8017F9D8(s32 param_1) { * real TU's SVECTOR {short vx,vy,vz,pad;} and OtBlk {s32 a; s32 b[4];} live (via * ../shared/engine_core.h). Function-scoped local names so they collide with nothing; * integrator should drop these and use the TU's own SVECTOR/OtBlk when banking. */ -typedef struct { short vx, vy, vz, pad; } SVEC_8017FB50; /* engine_types.h:525 `OtBlk` VERBATIM (typedef struct { s32 a; s32 b[4]; } OtBlk;). The real TU * reaches it through engine_core.h -> engine_types.h, so the bank driver strips this local copy; * match_one's standalone -Iinclude compile cannot see that header, hence the restatement. Spelled @@ -3563,7 +3531,6 @@ void func_8017FF4C(s32 arg0, s16 *arg1, s32 arg2) { -typedef struct { u8 b[16]; } Blk16A1; extern s16 D_801B1B8C; extern s16 D_801B1B88; @@ -4374,10 +4341,6 @@ void func_80180F34(void *a0) { * D_801891F4 and D_801891F6 are two independent relocation symbols 2 bytes * apart; both tables are walked with the same 4-byte stride, so the second is * reached through a pointer cast of &D_801891F6 (the target's `la $v1` form). */ -typedef struct { - s16 v; - s16 pad; -} Rec4_801891F4; extern Rec4_801891F4 D_801891F4[]; extern s16 D_801891F6; @@ -4917,7 +4880,6 @@ extern void func_8012B0B4(unsigned int *param_1, int param_2, int param_3); /* 8-byte unaligned vector: forces lwl/lwr + swl/swr for the two tail copies * (an aligned struct would emit lw/sw and lose the match). */ -typedef struct { u16 x, y, z, pad; } Vec8_80181CA4; /* a0: dest struct ptr. a1: src1 struct ptr (Vec8_80181CA4-shaped: x,y,z,pad). * a2: scalar, call1's 3rd func_8012B0B4 arg. a3: scalar, stored to a0+0xEC. diff --git a/src/ov_SC06_027/ov_SC06_027_jr_8017BEBC.c b/src/ov_SC06_027/ov_SC06_027_jr_8017BEBC.c index dca86b46bd..0f8e2abece 100644 --- a/src/ov_SC06_027/ov_SC06_027_jr_8017BEBC.c +++ b/src/ov_SC06_027/ov_SC06_027_jr_8017BEBC.c @@ -2956,7 +2956,6 @@ extern s16 D_800B9A02; * still at offset 0, zero codegen difference. The array-of-struct form is load-bearing: * the raw-word `extern s32 D_800A651C;` + &-arithmetic spelling costs the %lo fold * (lui $at/addu/lw %lo -> la + addu + lw) inside a loop. */ -typedef struct { s32 a; s32 b[4]; } OtBlk_8017D3A0; extern OtBlk_8017D3A0 D_800A651C[]; diff --git a/src/ov_SC06_029/ov_SC06_029_jr_8017C954.c b/src/ov_SC06_029/ov_SC06_029_jr_8017C954.c index 01a27812c4..815fa54533 100644 --- a/src/ov_SC06_029/ov_SC06_029_jr_8017C954.c +++ b/src/ov_SC06_029/ov_SC06_029_jr_8017C954.c @@ -3315,27 +3315,9 @@ void func_8017DBFC(void *a0) { extern s32 rand(void); -typedef struct { - u16 f0; - u16 f2; - u16 f4; - u16 f6; - u16 f8; - u16 fA; - s32 fC; - s32 f10; - s32 f14; - s32 f18; -} SubRec_801EB5C8_8017DC38; /* 0x1C */ + /* 0x1C */ -typedef struct { - u16 g0; - u16 g2; - s32 g4; - s32 g8; - s32 gC; - SubRec_801EB5C8_8017DC38 subs[16]; -} GroupRec_801EB5C8_8017DC38; /* 0x1D0 */ + /* 0x1D0 */ void func_8017DC38(s32 param_1) @@ -3876,7 +3858,6 @@ void func_8017E83C(s32 a0) { } -typedef struct { s16 v[4]; } Blk8_80126940_8017E8DC; extern void func_8017E95C(s32 param_1, s16 *param_2, s16 *param_3, s32 param_4); @@ -3899,10 +3880,6 @@ extern s32 func_80012ABC(s32 a0, s32 a1, s32 a2); extern void func_8018ABC0(u16 *r, s16 *m); extern void ApplyMatrixSV(void *a0, void *a1, void *a2); -typedef struct { s16 m[3][3]; s32 t[3]; } Mtx_8017E95C; -typedef struct { s16 vx, vy, vz, pad; } SIn_8017E95C; -typedef struct { u16 vx, vy, vz, pad; } SOut_8017E95C; -typedef struct { u16 vx, vy, vz, pad; } Ang_8017E95C; void func_8017E95C(s32 param_1, s16 *param_2, s16 *param_3, s32 param_4) { Mtx_8017E95C mtx; @@ -3963,10 +3940,6 @@ void func_8017EB24(void *a0) { #include "common.h" -typedef struct Sub8017EBC4 { - /* 0x00 */ u8 pad000[0x12]; - /* 0x12 */ s16 unk_012; -} Sub8017EBC4; typedef struct Obj8017EBC4 { /* 0x000 */ u8 pad000[0x02]; @@ -5414,10 +5387,6 @@ extern D80190448_t D_80190448; extern s32 D_801DDB2C[5]; /* §183 TYPE-adopted-TU */ extern void *D_801DDBF0; -typedef struct { - void *tag; - s16 flag; -} Rec_80181170; void func_80181170(void) { s32 i; @@ -5929,7 +5898,6 @@ extern s32 D_801DFDC8[]; * +4..+7 refs become a single combine_givs address giv ($s0 = $s2 + 4), which * is exactly the target's two-induction-variable shape. A second explicit * `cur = p + 4` source variable makes gcc build a THIRD iv ($s2+6). */ -typedef struct { void *tag; s16 flag; u8 b6; u8 b7; } Rec_80181DF8; s32 func_80181DF8(s32 param_1) { @@ -6269,7 +6237,6 @@ void func_8018280C(s32 param_1) { /* §160a — align-1 8-byte block: struct assignment emits lwl/lwr + swl/swr. * NOTE: uniquely named — src/shared/engine_types.h already typedefs `Blk8` * (same layout) and the destination TU includes it via engine_core.h. */ -typedef struct { char c[8]; } Blk8_801828E4; extern Blk8_801828E4 D_801DDB48; extern s32 D_8019EA7C[]; @@ -6382,22 +6349,9 @@ void func_801828E4(s32 param_1) { extern void func_8012EA90(s32 param_1, s32 param_2, s32 *param_3); extern void RotTransSV(void *a0, void *a1, void *a2); -typedef struct { - s16 vx, vy, vz, pad; -} SVector_80182BC8; /* the struct reached via (entity->0x58 & 0xFFFFFFF) | 0x80000000; only the min/max box fields * (+4/+6/+8/+0xA/+0xC/+0xE) are touched by this function. */ -typedef struct { - s16 unused0; /* 0x0 */ - s16 unused2; /* 0x2 */ - s16 min_x; /* 0x4 */ - s16 max_x; /* 0x6 */ - s16 min_y; /* 0x8 */ - s16 max_y; /* 0xA */ - s16 min_z; /* 0xC */ - s16 max_z; /* 0xE */ -} Box_80182BC8; void func_80182BC8(s32 a0) { if (*(u16 *)(a0 + 0x5C) != 0) { @@ -6846,8 +6800,6 @@ void func_801834D8(void *a0, s32 a1) { -typedef struct { s16 vx, vy, vz, pad; } SVEC_80183534; -typedef struct { u16 vx, vy, vz, pad; } DVEC_80183534; void func_80183534(s32 arg0, SVEC_80183534 *arg1, SVEC_80183534 *arg2, s32 *arg3) { @@ -7156,9 +7108,6 @@ void func_80183D48(void *a0) { #include "common.h" -typedef struct { - s16 vx, vy, vz, pad; -} Vec8_80183D84; extern s32 func_8012C1B8(void); extern void func_8012CAE4(void *a0); @@ -7496,20 +7445,9 @@ done: -typedef struct { s16 vx, vy, vz, pad; } SVec_80184564; /* (entity->0x58 & 0xFFFFFFF) | 0x80000000 -- see func_80182BC8's Box_80182BC8: * the %lo(D_8000000N) tokens in the .s are plain byte offsets, not real symbols. */ -typedef struct { - s16 unused0; /* 0x0 */ - s16 unused2; /* 0x2 */ - s16 min_x; /* 0x4 */ - s16 max_x; /* 0x6 */ - s16 min_y; /* 0x8 */ - s16 max_y; /* 0xA */ - s16 min_z; /* 0xC */ - s16 max_z; /* 0xE */ -} Box_80184564; extern Blk8_801828E4 D_801DDB48; extern Vec8_80183D84 D_801DFE94[]; @@ -7951,21 +7889,8 @@ skip: extern void func_80017910(void *a0, s32 a1); -typedef struct { - s16 vx, vy, vz, pad; -} SVec_80185214; -typedef struct { - s16 u, v; -} UV_80185214; -typedef struct { - SVec_80185214 v[4]; /* 0x00-0x1F */ - UV_80185214 uv[4]; /* 0x20-0x2F */ - u32 rgb[4]; /* 0x30-0x3F */ - u32 flags; /* 0x40 */ - u8 clut; /* 0x44 */ -} Prim_80185214; void func_80185214(s32 a0) { @@ -8012,7 +7937,6 @@ void func_80185214(s32 a0) } -typedef struct { s16 vx, vy, vz, pad; } SV; extern void func_8012C218(void *a0); extern void func_8012F214(s32 a0, s32 a1, s32 a2); @@ -8214,26 +8138,10 @@ void func_801856C0(s32 *a0) /* 8-byte vertex (SVECTOR); the caller hands over four of them. */ -typedef struct { s16 vx, vy, vz, pad; } SV_801857A4; /* POLY_FT4, 0x28 bytes -- byte-level field view (the TU's shared PolyFT4 * packs u/v/clut into words, which cannot express the sb 0xC/0xD/0x14/...). */ -typedef struct { - /* 0x00 */ u32 tag; - /* 0x04 */ u8 r0, g0, b0, code; - /* 0x08 */ s16 x0, y0; - /* 0x0C */ u8 u0, v0; - /* 0x0E */ u16 clut; - /* 0x10 */ s16 x1, y1; - /* 0x14 */ u8 u1, v1; - /* 0x16 */ u16 tpage; - /* 0x18 */ s16 x2, y2; - /* 0x1C */ u8 u2, v2; - /* 0x1E */ u16 pad2; - /* 0x20 */ s16 x3, y3; - /* 0x24 */ u8 u3, v3; - /* 0x26 */ u16 pad3; -} FT4_801857A4; /* 0x28 */ + /* 0x28 */ void func_801857A4(vtx, x, y, cx, cy, w, h, zoff, tp) SV_801857A4 *vtx; /* 4 SVECTORs to project */ @@ -8425,8 +8333,6 @@ void func_801857A4(vtx, x, y, cx, cy, w, h, zoff, tp) * The TU carries no prototype for func_801859F4, so this signature is free. */ -typedef struct { s16 vx, vy; } DVec_59F4; -typedef struct { s16 vx, vy, vz, pad; } SVec_59F4; /* Same spellings as the TU's own copies (ov_SC06_029_jr_8017C954.c) — kept * #ifndef-free because they are token-identical, but if the banking pass hits a @@ -8950,7 +8856,6 @@ void func_8018653C(s32 *a0, s32 *a1) { #include "common.h" -typedef struct { s16 vx, vy, vz, pad; } SVECTOR_8018656C; extern void func_8012BE54(s32 a0); extern s32 func_8012E544(s32 a0); diff --git a/src/ov_SC06_029/ov_SC06_029_jr_801867D0.c b/src/ov_SC06_029/ov_SC06_029_jr_801867D0.c index 90e5fe9b08..429a9be7fe 100644 --- a/src/ov_SC06_029/ov_SC06_029_jr_801867D0.c +++ b/src/ov_SC06_029/ov_SC06_029_jr_801867D0.c @@ -9,105 +9,10 @@ typedef struct { u8 pad[7]; /* -> 0x40 */ } Prim_8016E7C8; typedef void (*Handler)(struct Entry_8016E95C *); -typedef struct { - u16 f0; - u16 f2; - u16 f4; - u16 f6; - u16 f8; - u16 fA; - s32 fC; - s32 f10; - s32 f14; - s32 f18; -} SubRec_801EB5C8_8017DC38; /* 0x1C */ -typedef struct { - u16 g0; - u16 g2; - s32 g4; - s32 g8; - s32 gC; - SubRec_801EB5C8_8017DC38 subs[16]; -} GroupRec_801EB5C8_8017DC38; /* 0x1D0 */ -typedef struct { s16 v[4]; } Blk8_80126940_8017E8DC; -typedef struct { s16 m[3][3]; s32 t[3]; } Mtx_8017E95C; -typedef struct { s16 vx, vy, vz, pad; } SIn_8017E95C; -typedef struct { u16 vx, vy, vz, pad; } SOut_8017E95C; -typedef struct { u16 vx, vy, vz, pad; } Ang_8017E95C; -typedef struct Sub8017EBC4 { - /* 0x00 */ u8 pad000[0x12]; - /* 0x12 */ s16 unk_012; -} Sub8017EBC4; + /* 0x1C */ + /* 0x1D0 */ typedef Unkstruct_800B5CB8 Obj8017EBC4; -typedef struct { - void *tag; - s16 flag; -} Rec_80181170; -typedef struct { void *tag; s16 flag; u8 b6; u8 b7; } Rec_80181DF8; -typedef struct { char c[8]; } Blk8_801828E4; -typedef struct { - s16 vx, vy, vz, pad; -} SVector_80182BC8; -typedef struct { - s16 unused0; /* 0x0 */ - s16 unused2; /* 0x2 */ - s16 min_x; /* 0x4 */ - s16 max_x; /* 0x6 */ - s16 min_y; /* 0x8 */ - s16 max_y; /* 0xA */ - s16 min_z; /* 0xC */ - s16 max_z; /* 0xE */ -} Box_80182BC8; -typedef struct { s16 vx, vy, vz, pad; } SVEC_80183534; -typedef struct { u16 vx, vy, vz, pad; } DVEC_80183534; -typedef struct { - s16 vx, vy, vz, pad; -} Vec8_80183D84; -typedef struct { s16 vx, vy, vz, pad; } SVec_80184564; -typedef struct { - s16 unused0; /* 0x0 */ - s16 unused2; /* 0x2 */ - s16 min_x; /* 0x4 */ - s16 max_x; /* 0x6 */ - s16 min_y; /* 0x8 */ - s16 max_y; /* 0xA */ - s16 min_z; /* 0xC */ - s16 max_z; /* 0xE */ -} Box_80184564; -typedef struct { - s16 vx, vy, vz, pad; -} SVec_80185214; -typedef struct { - s16 u, v; -} UV_80185214; -typedef struct { - SVec_80185214 v[4]; /* 0x00-0x1F */ - UV_80185214 uv[4]; /* 0x20-0x2F */ - u32 rgb[4]; /* 0x30-0x3F */ - u32 flags; /* 0x40 */ - u8 clut; /* 0x44 */ -} Prim_80185214; -typedef struct { s16 vx, vy, vz, pad; } SV; -typedef struct { s16 vx, vy, vz, pad; } SV_801857A4; -typedef struct { - /* 0x00 */ u32 tag; - /* 0x04 */ u8 r0, g0, b0, code; - /* 0x08 */ s16 x0, y0; - /* 0x0C */ u8 u0, v0; - /* 0x0E */ u16 clut; - /* 0x10 */ s16 x1, y1; - /* 0x14 */ u8 u1, v1; - /* 0x16 */ u16 tpage; - /* 0x18 */ s16 x2, y2; - /* 0x1C */ u8 u2, v2; - /* 0x1E */ u16 pad2; - /* 0x20 */ s16 x3, y3; - /* 0x24 */ u8 u3, v3; - /* 0x26 */ u16 pad3; -} FT4_801857A4; /* 0x28 */ -typedef struct { s16 vx, vy; } DVec_59F4; -typedef struct { s16 vx, vy, vz, pad; } SVec_59F4; -typedef struct { s16 vx, vy, vz, pad; } SVECTOR_8018656C; + /* 0x28 */ extern void func_801458E0(void); extern s32 D_800AE6AC; extern s32 D_800AE6B0; @@ -3119,16 +3024,8 @@ extern u8 D_801922BC[]; extern signed char D_8018F650[]; extern signed char D_8018F664[]; -typedef struct { - s16 vx, vy, vz, pad; -} SV_80188D90; -typedef struct { - SV_80188D90 v[4]; /* 0x00 */ - u8 c[4][4]; /* 0x20 */ - u32 code; /* 0x30 */ - u8 tail[0x24]; /* 0x34 */ -} Prim_80188D90; /* 0x58 */ + /* 0x58 */ static inline void setup_80188D90(s32 a0, void *mtx) { s16 buf2[4]; @@ -3714,9 +3611,6 @@ extern void func_8012AD80(s32 a0); extern s32 func_80013350(s32 a0, s32 a1); extern void func_8012B2CC(s32 a0); -typedef struct { - s16 f0, f2, f4, f6, f8, fA, fC, fE; -} Pos16_8018743C; s32 func_8018743C(void) { s32 vec[4]; /* sp+0x10 */ @@ -3900,9 +3794,6 @@ void func_80187660(s32 arg0) /* Local struct shapes only for byte-match purposes (spelled fresh; not declared elsewhere * in this TU, so no canonical-name collision per rule 2). */ -typedef struct { s16 vx, vy, vz, pad; } SVec_80187A04; -typedef struct { s16 m[3][3]; s32 t[3]; } Mat_80187A04; -typedef struct { s32 vx, vy, vz; } Vec_80187A04; extern u16 D_80126B5E; extern u16 D_80126B66; @@ -4690,23 +4581,7 @@ void func_801891D0(void *a0) { extern s32 rand(void); -typedef struct { - s16 unk00; - s16 unk02; - s16 unk04; - s16 unk06; -} Node_80189244; -typedef struct { - Node_80189244 unk00[52]; /* 0x000 .. 0x19F */ - s16 unk1A0; - s16 unk1A2; - s16 unk1A4; - s16 unk1A6; - s16 unk1A8; - s16 unk1AA; - s32 unk1AC; -} Obj_80189244; void func_80189244(Obj_80189244 *p) { s32 i; @@ -4761,7 +4636,6 @@ void func_80189244(Obj_80189244 *p) { * (0xE100004A), exactly like this TU's func_80184C68. */ -typedef struct { s16 vx, vy, vz, pad; } SV_189440; extern s32 func_80047948(s32 a0); extern void RotMatrixZ(s32 r, void *m); diff --git a/src/ov_SC06_029/ov_SC06_029_jr_801898CC.c b/src/ov_SC06_029/ov_SC06_029_jr_801898CC.c index 57418ca9f9..de8dcdf60f 100644 --- a/src/ov_SC06_029/ov_SC06_029_jr_801898CC.c +++ b/src/ov_SC06_029/ov_SC06_029_jr_801898CC.c @@ -9,137 +9,11 @@ typedef struct { u8 pad[7]; /* -> 0x40 */ } Prim_8016E7C8; typedef void (*Handler)(struct Entry_8016E95C *); -typedef struct { - u16 f0; - u16 f2; - u16 f4; - u16 f6; - u16 f8; - u16 fA; - s32 fC; - s32 f10; - s32 f14; - s32 f18; -} SubRec_801EB5C8_8017DC38; /* 0x1C */ -typedef struct { - u16 g0; - u16 g2; - s32 g4; - s32 g8; - s32 gC; - SubRec_801EB5C8_8017DC38 subs[16]; -} GroupRec_801EB5C8_8017DC38; /* 0x1D0 */ -typedef struct { s16 v[4]; } Blk8_80126940_8017E8DC; -typedef struct { s16 m[3][3]; s32 t[3]; } Mtx_8017E95C; -typedef struct { s16 vx, vy, vz, pad; } SIn_8017E95C; -typedef struct { u16 vx, vy, vz, pad; } SOut_8017E95C; -typedef struct { u16 vx, vy, vz, pad; } Ang_8017E95C; -typedef struct Sub8017EBC4 { - /* 0x00 */ u8 pad000[0x12]; - /* 0x12 */ s16 unk_012; -} Sub8017EBC4; + /* 0x1C */ + /* 0x1D0 */ typedef Unkstruct_800B5CB8 Obj8017EBC4; -typedef struct { - void *tag; - s16 flag; -} Rec_80181170; -typedef struct { void *tag; s16 flag; u8 b6; u8 b7; } Rec_80181DF8; -typedef struct { char c[8]; } Blk8_801828E4; -typedef struct { - s16 vx, vy, vz, pad; -} SVector_80182BC8; -typedef struct { - s16 unused0; /* 0x0 */ - s16 unused2; /* 0x2 */ - s16 min_x; /* 0x4 */ - s16 max_x; /* 0x6 */ - s16 min_y; /* 0x8 */ - s16 max_y; /* 0xA */ - s16 min_z; /* 0xC */ - s16 max_z; /* 0xE */ -} Box_80182BC8; -typedef struct { s16 vx, vy, vz, pad; } SVEC_80183534; -typedef struct { u16 vx, vy, vz, pad; } DVEC_80183534; -typedef struct { - s16 vx, vy, vz, pad; -} Vec8_80183D84; -typedef struct { s16 vx, vy, vz, pad; } SVec_80184564; -typedef struct { - s16 unused0; /* 0x0 */ - s16 unused2; /* 0x2 */ - s16 min_x; /* 0x4 */ - s16 max_x; /* 0x6 */ - s16 min_y; /* 0x8 */ - s16 max_y; /* 0xA */ - s16 min_z; /* 0xC */ - s16 max_z; /* 0xE */ -} Box_80184564; -typedef struct { - s16 vx, vy, vz, pad; -} SVec_80185214; -typedef struct { - s16 u, v; -} UV_80185214; -typedef struct { - SVec_80185214 v[4]; /* 0x00-0x1F */ - UV_80185214 uv[4]; /* 0x20-0x2F */ - u32 rgb[4]; /* 0x30-0x3F */ - u32 flags; /* 0x40 */ - u8 clut; /* 0x44 */ -} Prim_80185214; -typedef struct { s16 vx, vy, vz, pad; } SV; -typedef struct { s16 vx, vy, vz, pad; } SV_801857A4; -typedef struct { - /* 0x00 */ u32 tag; - /* 0x04 */ u8 r0, g0, b0, code; - /* 0x08 */ s16 x0, y0; - /* 0x0C */ u8 u0, v0; - /* 0x0E */ u16 clut; - /* 0x10 */ s16 x1, y1; - /* 0x14 */ u8 u1, v1; - /* 0x16 */ u16 tpage; - /* 0x18 */ s16 x2, y2; - /* 0x1C */ u8 u2, v2; - /* 0x1E */ u16 pad2; - /* 0x20 */ s16 x3, y3; - /* 0x24 */ u8 u3, v3; - /* 0x26 */ u16 pad3; -} FT4_801857A4; /* 0x28 */ -typedef struct { s16 vx, vy; } DVec_59F4; -typedef struct { s16 vx, vy, vz, pad; } SVec_59F4; -typedef struct { s16 vx, vy, vz, pad; } SVECTOR_8018656C; -typedef struct { - s16 vx, vy, vz, pad; -} SV_80188D90; -typedef struct { - SV_80188D90 v[4]; /* 0x00 */ - u8 c[4][4]; /* 0x20 */ - u32 code; /* 0x30 */ - u8 tail[0x24]; /* 0x34 */ -} Prim_80188D90; /* 0x58 */ -typedef struct { - s16 f0, f2, f4, f6, f8, fA, fC, fE; -} Pos16_8018743C; -typedef struct { s16 vx, vy, vz, pad; } SVec_80187A04; -typedef struct { s16 m[3][3]; s32 t[3]; } Mat_80187A04; -typedef struct { s32 vx, vy, vz; } Vec_80187A04; -typedef struct { - s16 unk00; - s16 unk02; - s16 unk04; - s16 unk06; -} Node_80189244; -typedef struct { - Node_80189244 unk00[52]; /* 0x000 .. 0x19F */ - s16 unk1A0; - s16 unk1A2; - s16 unk1A4; - s16 unk1A6; - s16 unk1A8; - s16 unk1AA; - s32 unk1AC; -} Obj_80189244; -typedef struct { s16 vx, vy, vz, pad; } SV_189440; + /* 0x28 */ + /* 0x58 */ extern void func_801458E0(void); extern s32 D_800AE6AC; extern s32 D_800AE6B0; @@ -3511,7 +3385,6 @@ void func_80189E10(void) { #include "common.h" -typedef struct { s32 w[8]; } Mtx8_80189E18; extern Blk20 D_800AE620; extern u8 D_801C5C70[]; @@ -3700,26 +3573,9 @@ void func_8018A084(void *a0) { * the order flips to match. */ -typedef struct { - s16 vx, vy, vz, pad; -} SVec_8018A180; -typedef struct { - s16 m[9]; /* 0x00 */ - s16 pad; /* 0x12 */ - s32 t[3]; /* 0x14, 0x18, 0x1c */ -} Mtx_8018A180; -typedef struct { - Mtx_8018A180 mt; /* 0x00 */ - s32 rest[2]; /* 0x20..0x27 — frame padding, never touched */ -} MtxBuf_8018A180; -typedef struct { - SVec_8018A180 v[4]; /* 0x00..0x1f */ - s32 rgb; /* 0x20 */ - s32 tag; /* 0x24 */ -} Prim_8018A180; extern void func_8012EA90(s32 param_1, s32 param_2, s32 *param_3); extern void func_8012F14C(s32 a0, s32 a1, s32 a2); @@ -3796,7 +3652,6 @@ void func_8018A27C(int param_1) } -typedef struct { u16 h0, h1, h2, h3; } Blk8_8018A314; extern void (*D_801D4D0C)(); diff --git a/src/ov_SC06_030/ov_SC06_030_jr_8017C8D0.c b/src/ov_SC06_030/ov_SC06_030_jr_8017C8D0.c index 3ac9a4aa75..9ae9e59670 100644 --- a/src/ov_SC06_030/ov_SC06_030_jr_8017C8D0.c +++ b/src/ov_SC06_030/ov_SC06_030_jr_8017C8D0.c @@ -2889,9 +2889,6 @@ void func_8017DB58(void *a0) { } -typedef struct { - s16 v[4]; -} Blk8_80126940_8017DB94; void func_8017DB94(s32 a0) { diff --git a/src/ov_SC06_030/ov_SC06_030_jr_8017F65C.c b/src/ov_SC06_030/ov_SC06_030_jr_8017F65C.c index 930554308d..7d328a9d64 100644 --- a/src/ov_SC06_030/ov_SC06_030_jr_8017F65C.c +++ b/src/ov_SC06_030/ov_SC06_030_jr_8017F65C.c @@ -9,9 +9,6 @@ typedef struct { u8 pad[7]; /* -> 0x40 */ } Prim_8016E7C8; typedef void (*Handler)(struct Entry_8016E95C *); -typedef struct { - s16 v[4]; -} Blk8_80126940_8017DB94; extern void func_801458E0(void); extern s32 D_800AE6AC; extern s32 D_800AE6B0; @@ -2847,8 +2844,6 @@ void func_8017F65C(s32 a0) * (that TU pulls ../shared/engine_core.h -> engine_types.h). Layouts identical: * MATRIX 0x20: m@0x00 (3x3 shorts), pad@0x12, t@0x14 (3 longs) * SVECTOR 0x08: vx,vy,vz,pad */ -typedef struct { short m[3][3]; long t[3]; } MATRIX_8017F98C; -typedef struct { short vx, vy, vz, pad; } SVECTOR_8017F98C; extern void func_8001C2C4(s32 a0); extern void func_80049CAC(s32 a0, s32 a1); @@ -3180,14 +3175,6 @@ void func_801801E8(s32 a0) { extern u8 D_800AF630[]; /* TU line 53, verbatim */ -typedef struct { s16 vx, vy, vz, pad; } SV_80180228; -typedef struct { u8 r, g, b, cd; } CV_80180228; -typedef struct { - SV_80180228 v[4]; /* +0x00 : sxy0..3 (v[0].vz doubles as the otz slot) */ - CV_80180228 rgb[4]; /* +0x20 */ - u32 code; /* +0x30 */ - u32 pad; /* +0x34 */ -} PKT_80180228; /* every macro is suffixed: this TU already #defines the unsuffixed gte_* family * (func_8017C8D0 region), so an unsuffixed name would clash. */ diff --git a/src/ov_SC06_032/ov_SC06_032_jr_8017AE2C.c b/src/ov_SC06_032/ov_SC06_032_jr_8017AE2C.c index a695b35741..df195ea702 100644 --- a/src/ov_SC06_032/ov_SC06_032_jr_8017AE2C.c +++ b/src/ov_SC06_032/ov_SC06_032_jr_8017AE2C.c @@ -3313,12 +3313,6 @@ void func_8017BEBC(void *a0) { } -typedef struct { - SVECTOR_8016E7C8 v[4]; /* 0x00 */ - s32 f0, f1, f2, f3, f4, f5; /* 0x20..0x37 */ - u8 f6; /* 0x38 */ - u8 pad[7]; /* -> 0x40 */ -} Prim_8016E7C8_8017BEF8; extern s32 func_800D21C4(s32 a0, void *a1, s32 a2); diff --git a/src/ov_SC06_032/ov_SC06_032_jr_8017C24C.c b/src/ov_SC06_032/ov_SC06_032_jr_8017C24C.c index ba6382701f..178073a811 100644 --- a/src/ov_SC06_032/ov_SC06_032_jr_8017C24C.c +++ b/src/ov_SC06_032/ov_SC06_032_jr_8017C24C.c @@ -2845,9 +2845,6 @@ void func_8017D464(void *a0) { } -typedef struct { - s16 v[4]; -} Blk8_80126940_8017D4A0; extern s32 D_80126B58; extern s16 D_80196DDC[]; @@ -3142,19 +3139,6 @@ extern void func_800178EC(s32 a0); * match_one: MATCH, closeness 0, 78/78 instructions. */ -typedef struct { - s16 vx0, vy0, vz0, pad0; - s16 vx1, vy1, vz1, pad1; - s16 vx2, vy2, vz2, pad2; - s16 vx3, vy3, vz3, pad3; - s16 u0, v0; - s16 u1, v1; - s16 u2, v2; - s16 u3, v3; - s32 rgb0, rgb1, rgb2, rgb3; - s32 flags; - u8 clut; -} Quad_8017DABC; void func_8017DABC(s32 param_1, s32 param_2, s32 param_3, s32 param_4, s32 param_5, s32 param_6) { @@ -4430,12 +4414,6 @@ void func_8017F6A8(s32 param_1) } -typedef struct { - SVECTOR_8016E7C8 v[4]; /* 0x00 */ - s32 f0, f1, f2, f3, f4, f5; /* 0x20..0x37 */ - u8 f6; /* 0x38 */ - u8 pad[7]; /* -> 0x40 */ -} Prim_8016E7C8_8017F6E8; extern s32 func_8012BCCC(s32 a0); extern s32 func_8012B8E4(s32 a0, s32 a1); @@ -4512,12 +4490,6 @@ s32 p; } -typedef struct { - SVECTOR_8016E7C8 v[4]; /* 0x00 */ - s32 f0, f1, f2, f3, f4, f5; /* 0x20..0x37 */ - u8 f6; /* 0x38 */ - u8 pad[7]; /* -> 0x40 */ -} Prim_8016E7C8_8017F8A0; extern s32 func_8012BCCC(s32 a0); extern void func_8012A828(s32 a0, void *a1); diff --git a/src/ov_SC06_032/ov_SC06_032_jr_80182890.c b/src/ov_SC06_032/ov_SC06_032_jr_80182890.c index b0a21598c1..7c92a5978c 100644 --- a/src/ov_SC06_032/ov_SC06_032_jr_80182890.c +++ b/src/ov_SC06_032/ov_SC06_032_jr_80182890.c @@ -3739,9 +3739,7 @@ void func_80183B34(s32 param_1) { * before sweeping (§56b — carry the TU's types, not this draft's). */ -typedef struct { u16 x, y, z, w; } V4_80188E10_80183BB4; -typedef Unkstruct_800B5CB8 Ent_80188E10_80183BB4; extern void func_8012F214(s32 a0, s32 a1, s32 a2); extern s32 func_80135888(s32 a0, s32 a1, s32 a2, s32 a3); @@ -3867,7 +3865,6 @@ void func_80183DA4(s32 a0, s32 a1) { } -typedef struct { u8 d[4]; } __attribute__((packed, aligned(1))) B4_8018C334; s32 func_80184028(void *a0, s32 a1, s32 a2) { @@ -3892,17 +3889,6 @@ s32 func_80184028(void *a0, s32 a1, s32 a2) { extern s32 func_8012C51C(void *a0, s32 a1); -typedef struct { - u16 f10; /* 0x10 */ - u16 f12; /* 0x12 */ - u16 f14; /* 0x14 */ - s16 f16; /* 0x16 */ - s16 f18; /* 0x18 */ - s16 f1a; /* 0x1A */ - s16 f1c; /* 0x1C */ - u16 f1e; /* 0x1E */ - s32 f20; /* 0x20 */ -} buf_801840C0; void func_801840C0(a0, a1, a2, a3, a4, a5) s32 a0; @@ -5025,7 +5011,7 @@ body: } -typedef struct { s32 a; s32 b[4]; } OtBlk_80185B4C; /* == engine_types.h OtBlk (0x14) */ + /* == engine_types.h OtBlk (0x14) */ void func_80185B4C(s32 arg0, s32 arg1, s32 arg2) { @@ -5076,7 +5062,6 @@ void func_80185B4C(s32 arg0, s32 arg1, s32 arg2) * two align-1 4-byte block moves (cookbook §160a idiom, cf. ov_SC02_005 * func_8018CE04 / func_8018BDD0). */ -typedef struct { u8 d[4]; } Blk4_80185CD8; void func_80185CD8(void) { extern u8 D_801D0D80; @@ -5091,7 +5076,6 @@ void func_80185CD8(void) { } -typedef struct { u8 b[4]; } Blk4_80185D4C; extern Blk4_80185D4C D_801D0D80; extern Blk4_80185D4C D_801CF0E4; @@ -5764,8 +5748,8 @@ extern void func_8002D4C8(s32 arg0, s32 arg1); -typedef struct { s16 vx, vy, vz, pad; } SVec_80186E9C_8018BCC4; /* 8 bytes, align 2 -> lwl/lwr block move */ -typedef struct { s32 a; s32 b[4]; } OtBlk_8018A974_8018EB08_8018A28C; /* == engine_types.h OtBlk (0x14) */ + /* 8 bytes, align 2 -> lwl/lwr block move */ + /* == engine_types.h OtBlk (0x14) */ extern u16 D_80126B96; @@ -5898,15 +5882,9 @@ extern void func_800491AC(void *a0); extern void RotTransSV(void *a0, void *a1, void *a2); extern void func_80187268(void *a0); -typedef struct { s16 vx, vy, vz, pad; } SVec_80186E9C; /* 8 bytes, align 2 -> lwl/lwr block move */ -typedef struct { u8 r, g, b, cd; } CVec_80186E9C; /* 4 bytes, align 1 */ -typedef struct { - /* 0x00 */ SVec_80186E9C v[4]; - /* 0x20 */ CVec_80186E9C col; - /* 0x24 */ u32 code; -} Quad_80186E9C; + /* 8 bytes, align 2 -> lwl/lwr block move */ + /* 4 bytes, align 1 */ -typedef struct { u8 pad00[0x20]; /* 0x20 */ u8 *mtx; } Ent_80186E9C; extern SVec_80186E9C D_801BEF94[]; @@ -6048,15 +6026,6 @@ extern void func_8012F038(int param_1, short *param_2, short *param_3); extern u8 D_801BEF7C[]; -struct Fr_80187368 { - s16 mtx[10]; /* sp+0x10, only its address is used (func_80049CAC out) */ - s32 pos[3]; /* sp+0x24 */ - s16 sv[4]; /* sp+0x30 (RotTransSV out) */ - s16 sv2[4]; /* sp+0x38 (unused, layout filler) */ - s16 buf40[4]; /* sp+0x40 (func_8012F038 out) */ - s16 rot[4]; /* sp+0x48 */ - s32 flg[4]; /* sp+0x50 (RotTransSV flag out) */ -}; void func_80187368(s32 param_1) { struct Fr_80187368 fr; @@ -6121,8 +6090,6 @@ void func_801874E8(void) -typedef struct { u8 d[8]; } __attribute__((packed, aligned(1))) B8_8018750C; -typedef struct { u8 d[4]; } __attribute__((packed, aligned(1))) B4_8018750C; void func_8018750C(u8 *param_1, B4_8018750C param_2) { extern Blip_8018F694 D_801D0B80[]; @@ -9084,12 +9051,6 @@ void func_8018C11C(s32 param_1) } -typedef struct { - SVECTOR_8016E7C8 v[4]; /* 0x00 */ - s32 f0, f1, f2, f3, f4, f5; /* 0x20..0x37 */ - u8 f6; /* 0x38 */ - u8 pad[7]; /* -> 0x40 */ -} Prim_8016E7C8_8018C3C4; @@ -9843,33 +9804,6 @@ void func_8018D264(s32 arg0) { } -typedef struct { - u16 f0; /* 0x00 kind; 0 = dead, 0x318 = skipped */ - u8 p02[0x04 - 0x02]; - s16 f4; /* 0x04 x, fractional half */ - s16 f6; /* 0x06 x */ - u8 p08[0x0C - 0x08]; - s16 fC; /* 0x0C y, fractional half */ - s16 fE; /* 0x0E y (*(s32 *)&fC is the whole fixed) */ - s32 f10; /* 0x10 velocity, zeroed on reset */ - u8 p14[0x18 - 0x14]; - s32 f18; /* 0x18 velocity, zeroed on reset */ - u8 p1C[0x20 - 0x1C]; - s32 f20; /* 0x20 -> sub object (0x12 = busy bits) */ - u8 p24[0x38 - 0x24]; - s16 f38; /* 0x38 home x, fractional half */ - s16 f3A; /* 0x3A home x */ - s32 f3C; /* 0x3C "has a home" flag */ - s16 f40; /* 0x40 home y, fractional half */ - s16 f42; /* 0x42 home y */ - u8 p44[0x5E - 0x44]; - u8 f5E; /* 0x5E kind tag; 0x25 is excluded */ - u8 p5F[0x70 - 0x5F]; - s16 f70; /* 0x70 band: 4 = left, 5 = right */ - u8 p72[0x76 - 0x72]; - s16 f76; /* 0x76 budget */ - u8 p78[0x10C - 0x78]; /* stride 0x10C, 0x60 entries */ -} Ent_8018D3A4; extern s32 D_80126B58; extern u16 D_80126B5E; @@ -10827,7 +10761,7 @@ void func_8018E70C(void *arg) { } -typedef struct { s32 a; s32 b[4]; } OtBlk_8018A974_8018EB08; /* == engine_types.h OtBlk (0x14) */ + /* == engine_types.h OtBlk (0x14) */ /* func_8018EB08 — ov_SC06_018 / ov_SC06_018_jr_80187AEC * diff --git a/src/ov_SC06_032/ov_SC06_032_jr_8018FCE8.c b/src/ov_SC06_032/ov_SC06_032_jr_8018FCE8.c index 92b240f22b..69d2ac046e 100644 --- a/src/ov_SC06_032/ov_SC06_032_jr_8018FCE8.c +++ b/src/ov_SC06_032/ov_SC06_032_jr_8018FCE8.c @@ -9,8 +9,6 @@ typedef struct { u8 pad[7]; /* -> 0x40 */ } Prim_8016E7C8; typedef void (*Handler)(struct Entry_8016E95C *); -typedef struct { u16 x, y, z, w; } V4_80188E10_80183BB4; -typedef Unkstruct_800B5CB8 Ent_80188E10_80183BB4; extern void func_801458E0(void); extern s32 D_800AE6AC; extern s32 D_800AE6B0; @@ -3058,7 +3056,6 @@ extern void func_8018F3E4(void); /* align-1 4-byte block (cookbook §160a): the lwl/lwr + swl/swr pair is emit_block_move * on a type whose alignment is 1. */ -typedef struct { u8 d[4]; } Blk4_8018FF98_8018FCE8; diff --git a/src/ov_SC06_032/ov_SC06_032_jr_801902EC.c b/src/ov_SC06_032/ov_SC06_032_jr_801902EC.c index ee51303d41..697f724238 100644 --- a/src/ov_SC06_032/ov_SC06_032_jr_801902EC.c +++ b/src/ov_SC06_032/ov_SC06_032_jr_801902EC.c @@ -9,8 +9,6 @@ typedef struct { u8 pad[7]; /* -> 0x40 */ } Prim_8016E7C8; typedef void (*Handler)(struct Entry_8016E95C *); -typedef struct { u16 x, y, z, w; } V4_80188E10_80183BB4; -typedef Unkstruct_800B5CB8 Ent_80188E10_80183BB4; extern void func_801458E0(void); extern s32 D_800AE6AC; extern s32 D_800AE6B0; @@ -3530,12 +3528,6 @@ void func_80190D70(s32 a0) { } -typedef struct { - SVECTOR_8016E7C8 v[4]; /* 0x00 */ - s32 f0, f1, f2, f3, f4, f5; /* 0x20..0x37 */ - u8 f6; /* 0x38 */ - u8 pad[7]; /* -> 0x40 */ -} Prim_8016E7C8_80191070; /* func_80191070 - ov_SC06_018 / ov_SC06_018_jr_8019059C (470 ins, MATCH) * @@ -3643,9 +3635,6 @@ typedef struct { */ -typedef struct { u8 b[4]; } Blk4_80191320_80191070; -typedef struct { u8 b[8]; } Blk8_80191320_80191070; -typedef struct { s16 vx, vy, vz, pad; } SV_80191320_80191070; diff --git a/src/ov_SC06_032/ov_SC06_032_jr_801919A0.c b/src/ov_SC06_032/ov_SC06_032_jr_801919A0.c index 2122d1425e..4cff1e55a8 100644 --- a/src/ov_SC06_032/ov_SC06_032_jr_801919A0.c +++ b/src/ov_SC06_032/ov_SC06_032_jr_801919A0.c @@ -3603,9 +3603,6 @@ extern s32 func_8012DF34(s32 a0, s32 a1, s32 a2); extern u8 D_801202A0[]; extern u16 D_80126B98[]; -typedef struct { - s16 vx, vy, vz, pad; -} SV_80192CB4; void func_80192CB4(s32 arg0) { s32 e; diff --git a/src/ov_SC06_033/ov_SC06_033_jr_8017AE2C.c b/src/ov_SC06_033/ov_SC06_033_jr_8017AE2C.c index 09af2b3957..e20e220e24 100644 --- a/src/ov_SC06_033/ov_SC06_033_jr_8017AE2C.c +++ b/src/ov_SC06_033/ov_SC06_033_jr_8017AE2C.c @@ -3313,12 +3313,6 @@ void func_8017BEBC(void *a0) { } -typedef struct { - SVECTOR_8016E7C8 v[4]; /* 0x00 */ - s32 f0, f1, f2, f3, f4, f5; /* 0x20..0x37 */ - u8 f6; /* 0x38 */ - u8 pad[7]; /* -> 0x40 */ -} Prim_8016E7C8_8017BEF8; extern s32 func_800D21C4(s32 a0, void *a1, s32 a2); diff --git a/src/ov_SC06_033/ov_SC06_033_jr_8017C24C.c b/src/ov_SC06_033/ov_SC06_033_jr_8017C24C.c index 918f222e53..07212c4d87 100644 --- a/src/ov_SC06_033/ov_SC06_033_jr_8017C24C.c +++ b/src/ov_SC06_033/ov_SC06_033_jr_8017C24C.c @@ -3369,19 +3369,6 @@ void func_8017DFE8(s32 arg0, s32 arg1, s32 arg2) extern void func_80015978(s32 a0, s32 *a1); extern void func_800178EC(s32 a0); -typedef struct { - s16 vx0, vy0, vz0, pad0; - s16 vx1, vy1, vz1, pad1; - s16 vx2, vy2, vz2, pad2; - s16 vx3, vy3, vz3, pad3; - s16 u0, v0; - s16 u1, v1; - s16 u2, v2; - s16 u3, v3; - s32 rgb0, rgb1, rgb2, rgb3; - s32 flags; - u8 clut; -} Quad_8017E0E4; void func_8017E0E4(param_1, param_2, param_3, param_4, param_5, param_6) s32 param_1; s32 param_2; s16 param_3; s16 param_4; s32 param_5; s32 param_6; { Quad_8017E0E4 q; @@ -6837,12 +6824,6 @@ void func_8018338C(s32 param_1) } -typedef struct { - SVECTOR_8016E7C8 v[4]; /* 0x00 */ - s32 f0, f1, f2, f3, f4, f5; /* 0x20..0x37 */ - u8 f6; /* 0x38 */ - u8 pad[7]; /* -> 0x40 */ -} Prim_8016E7C8_801833CC; extern s32 func_8012BCCC(s32 a0); extern s32 func_8012B8E4(s32 a0, s32 a1); @@ -6915,12 +6896,6 @@ void func_80183530(s32 p) } -typedef struct { - SVECTOR_8016E7C8 v[4]; /* 0x00 */ - s32 f0, f1, f2, f3, f4, f5; /* 0x20..0x37 */ - u8 f6; /* 0x38 */ - u8 pad[7]; /* -> 0x40 */ -} Prim_8016E7C8_80183584; extern s32 func_8012BCCC(s32 a0); extern void func_8012A828(s32 a0, void * a1); diff --git a/src/ov_SC06_033/ov_SC06_033_jr_80186574.c b/src/ov_SC06_033/ov_SC06_033_jr_80186574.c index f00c4bbdf4..8db38ee9ac 100644 --- a/src/ov_SC06_033/ov_SC06_033_jr_80186574.c +++ b/src/ov_SC06_033/ov_SC06_033_jr_80186574.c @@ -3747,9 +3747,7 @@ void func_80187818(s32 param_1) { * before sweeping (§56b — carry the TU's types, not this draft's). */ -typedef struct { u16 x, y, z, w; } V4_80188E10_80187898; -typedef Unkstruct_800B5CB8 Ent_80188E10_80187898; extern void func_8012F214(s32 a0, s32 a1, s32 a2); extern s32 func_80135888(s32 a0, s32 a1, s32 a2, s32 a3); @@ -3875,7 +3873,6 @@ void func_80187A88(s32 a0, s32 a1) { } -typedef struct { u8 d[4]; } __attribute__((packed, aligned(1))) B4_8018C334; s32 func_80187D0C(void *a0, s32 a1, s32 a2) { @@ -3900,17 +3897,6 @@ s32 func_80187D0C(void *a0, s32 a1, s32 a2) { extern s32 func_8012C51C(void *a0, s32 a1); -typedef struct { - u16 f10; /* 0x10 */ - u16 f12; /* 0x12 */ - u16 f14; /* 0x14 */ - s16 f16; /* 0x16 */ - s16 f18; /* 0x18 */ - s16 f1a; /* 0x1A */ - s16 f1c; /* 0x1C */ - u16 f1e; /* 0x1E */ - s32 f20; /* 0x20 */ -} buf_80187DA4; void func_80187DA4(a0, a1, a2, a3, a4, a5) s32 a0; @@ -4290,15 +4276,8 @@ void func_801886B0(void *a0) } -typedef struct { s16 vx, vy, vz, pad; } SVec_80186E9C_8018BCC4_801887EC; /* 8 bytes, align 2 -> lwl/lwr block move */ -typedef struct { s32 a; s32 b[4]; } OtBlk_8018A974_8018EB08_8018A28C_801887EC; /* == engine_types.h OtBlk (0x14) */ -typedef Unkstruct_800B5CB8 Ent_80188E10_801887EC; -typedef struct { - SVECTOR_8016E7C8 v[4]; /* 0x00 */ - s32 f0, f1, f2, f3, f4, f5; /* 0x20..0x37 */ - u8 f6; /* 0x38 */ - u8 pad[7]; /* -> 0x40 */ -} Prim_8016E7C8_801887EC; + /* 8 bytes, align 2 -> lwl/lwr block move */ + /* == engine_types.h OtBlk (0x14) */ /* TU-canonical declarations (law 2) — verbatim from * src/ov_SC06_018/ov_SC06_018_jr_80187AEC.c (L2761/2988/etc for func_8012C218, @@ -4863,33 +4842,6 @@ void func_80189250(s32 arg0) { } -typedef struct { - u16 f0; /* 0x00 kind; 0 = dead, 0x318 = skipped */ - u8 p02[0x04 - 0x02]; - s16 f4; /* 0x04 x, fractional half */ - s16 f6; /* 0x06 x */ - u8 p08[0x0C - 0x08]; - s16 fC; /* 0x0C y, fractional half */ - s16 fE; /* 0x0E y (*(s32 *)&fC is the whole fixed) */ - s32 f10; /* 0x10 velocity, zeroed on reset */ - u8 p14[0x18 - 0x14]; - s32 f18; /* 0x18 velocity, zeroed on reset */ - u8 p1C[0x20 - 0x1C]; - s32 f20; /* 0x20 -> sub object (0x12 = busy bits) */ - u8 p24[0x38 - 0x24]; - s16 f38; /* 0x38 home x, fractional half */ - s16 f3A; /* 0x3A home x */ - s32 f3C; /* 0x3C "has a home" flag */ - s16 f40; /* 0x40 home y, fractional half */ - s16 f42; /* 0x42 home y */ - u8 p44[0x5E - 0x44]; - u8 f5E; /* 0x5E kind tag; 0x25 is excluded */ - u8 p5F[0x70 - 0x5F]; - s16 f70; /* 0x70 band: 4 = left, 5 = right */ - u8 p72[0x76 - 0x72]; - s16 f76; /* 0x76 budget */ - u8 p78[0x10C - 0x78]; /* stride 0x10C, 0x60 entries */ -} Ent_8018D654; extern s32 D_80126B58; extern u16 D_80126B5E; @@ -5884,7 +5836,7 @@ void func_8018A6F8(void *arg) { } -typedef struct { s32 a; s32 b[4]; } OtBlk_8018A974_8018AAF4; /* == engine_types.h OtBlk (0x14) */ + /* == engine_types.h OtBlk (0x14) */ /* func_8018AAF4 — ov_SC06_018 / ov_SC06_018_jr_80187AEC * @@ -6073,10 +6025,8 @@ void func_8018AAF4(void *arg) { #include "common.h" -typedef struct { u16 vx, vy, vz, pad; } SVEC_8018AD9C; /* u16 source vec -> lhu */ -typedef struct { s16 vx, vy, vz, pad; } SVECTOR_8018AD9C; -typedef struct { u8 d[4]; } __attribute__((packed, aligned(1))) B4_8018AD9C; -typedef struct { u8 d[8]; } __attribute__((packed, aligned(1))) B8_8018AD9C; /* 8 bytes, align 2 */ + /* u16 source vec -> lhu */ + /* 8 bytes, align 2 */ #define DRAW() \ @@ -6478,7 +6428,7 @@ void func_8018B3D0(void) * `void func_80016638(void *a0, s32 a1, s32 a2)`. */ -typedef struct { s32 a; s32 b[4]; } OtBlk_8018A974_8018BB48; /* == engine_types.h OtBlk (0x14) */ + /* == engine_types.h OtBlk (0x14) */ void func_8018BB48(s32 arg0, s32 arg1, s32 arg2) { diff --git a/src/ov_SC06_033/ov_SC06_033_jr_8018BCD4.c b/src/ov_SC06_033/ov_SC06_033_jr_8018BCD4.c index 7a346e3856..41f17c6a79 100644 --- a/src/ov_SC06_033/ov_SC06_033_jr_8018BCD4.c +++ b/src/ov_SC06_033/ov_SC06_033_jr_8018BCD4.c @@ -9,8 +9,6 @@ typedef struct { u8 pad[7]; /* -> 0x40 */ } Prim_8016E7C8; typedef void (*Handler)(struct Entry_8016E95C *); -typedef struct { u16 x, y, z, w; } V4_80188E10_80187898; -typedef Unkstruct_800B5CB8 Ent_80188E10_80187898; extern void func_801458E0(void); extern s32 D_800AE6AC; extern s32 D_800AE6B0; @@ -3028,7 +3026,6 @@ extern void func_8018B3D0(void); /* align-1 4-byte block (cookbook §160a): the lwl/lwr + swl/swr pair is emit_block_move * on a type whose alignment is 1. */ -typedef struct { u8 d[4]; } Blk4_8018FF98; extern s32 func_8012C354(s32 a0, s32 a1); extern void func_8001C214(s32 a0, s32 a1); diff --git a/src/ov_SC06_033/ov_SC06_033_jr_8018C2D8.c b/src/ov_SC06_033/ov_SC06_033_jr_8018C2D8.c index 77608adb17..cabeb5f86a 100644 --- a/src/ov_SC06_033/ov_SC06_033_jr_8018C2D8.c +++ b/src/ov_SC06_033/ov_SC06_033_jr_8018C2D8.c @@ -9,8 +9,6 @@ typedef struct { u8 pad[7]; /* -> 0x40 */ } Prim_8016E7C8; typedef void (*Handler)(struct Entry_8016E95C *); -typedef struct { u16 x, y, z, w; } V4_80188E10_80187898; -typedef Unkstruct_800B5CB8 Ent_80188E10_80187898; extern void func_801458E0(void); extern s32 D_800AE6AC; extern s32 D_800AE6B0; @@ -3624,12 +3622,6 @@ void func_8018CD5C(s32 a0) { } -typedef struct { - SVECTOR_8016E7C8 v[4]; /* 0x00 */ - s32 f0, f1, f2, f3, f4, f5; /* 0x20..0x37 */ - u8 f6; /* 0x38 */ - u8 pad[7]; /* -> 0x40 */ -} Prim_8016E7C8_8018D05C; /* func_8018D05C - ov_SC06_018 / ov_SC06_018_jr_8019059C (470 ins, MATCH) * @@ -3737,9 +3729,6 @@ typedef struct { */ -typedef struct { u8 b[4]; } Blk4_80191320_8018D05C; -typedef struct { u8 b[8]; } Blk8_80191320_8018D05C; -typedef struct { s16 vx, vy, vz, pad; } SV_80191320_8018D05C; diff --git a/src/ov_SC06_033/ov_SC06_033_jr_8018D98C.c b/src/ov_SC06_033/ov_SC06_033_jr_8018D98C.c index 5bd30dcab3..7a779058cc 100644 --- a/src/ov_SC06_033/ov_SC06_033_jr_8018D98C.c +++ b/src/ov_SC06_033/ov_SC06_033_jr_8018D98C.c @@ -9,8 +9,6 @@ typedef struct { u8 pad[7]; /* -> 0x40 */ } Prim_8016E7C8; typedef void (*Handler)(struct Entry_8016E95C *); -typedef struct { u16 x, y, z, w; } V4_80188E10_80187898; -typedef Unkstruct_800B5CB8 Ent_80188E10_80187898; extern void func_801458E0(void); extern s32 D_800AE6AC; extern s32 D_800AE6B0; @@ -3517,9 +3515,6 @@ extern s32 func_8004787C(s32 a0); extern s32 func_80135260(s32 arg0, s32 arg1, s16 *arg2, s16 *arg3); extern s32 func_8012DF34(s32 a0, s32 a1, s32 a2); -typedef struct { - s16 vx, vy, vz, pad; -} SV_80192F64_8018ECA0; void func_8018ECA0(s32 arg0) { @@ -4283,12 +4278,6 @@ void func_8018FDBC(s32 param_1) } -typedef struct { - SVECTOR_8016E7C8 v[4]; /* 0x00 */ - s32 f0, f1, f2, f3, f4, f5; /* 0x20..0x37 */ - u8 f6; /* 0x38 */ - u8 pad[7]; /* -> 0x40 */ -} Prim_8016E7C8_80190064; diff --git a/src/ov_SC07_000/ov_SC07_000_jr_8017BEBC.c b/src/ov_SC07_000/ov_SC07_000_jr_8017BEBC.c index f076e269c4..186d7eae2f 100644 --- a/src/ov_SC07_000/ov_SC07_000_jr_8017BEBC.c +++ b/src/ov_SC07_000/ov_SC07_000_jr_8017BEBC.c @@ -3787,7 +3787,6 @@ void func_8017E804(s32 *a0, s32 a1, s32 a2) { } -typedef struct { s16 vx, vy, vz, pad; } SV3_8017E830; extern s16 D_80186248; extern s16 D_8018624A; diff --git a/src/ov_SC07_000/ov_SC07_000_jr_8017ECB4.c b/src/ov_SC07_000/ov_SC07_000_jr_8017ECB4.c index a6285bc0f0..26f49b679b 100644 --- a/src/ov_SC07_000/ov_SC07_000_jr_8017ECB4.c +++ b/src/ov_SC07_000/ov_SC07_000_jr_8017ECB4.c @@ -9,7 +9,6 @@ typedef struct { u8 pad[7]; /* -> 0x40 */ } Prim_8016E7C8; typedef void (*Handler)(struct Entry_8016E95C *); -typedef struct { s16 vx, vy, vz, pad; } SV3_8017E830; extern void func_801458E0(void); extern s32 D_800AE6AC; extern s32 D_800AE6B0; diff --git a/src/ov_SC07_000/ov_SC07_000_jr_8017F8B8.c b/src/ov_SC07_000/ov_SC07_000_jr_8017F8B8.c index 5555dc04ee..8871cbdec9 100644 --- a/src/ov_SC07_000/ov_SC07_000_jr_8017F8B8.c +++ b/src/ov_SC07_000/ov_SC07_000_jr_8017F8B8.c @@ -9,7 +9,6 @@ typedef struct { u8 pad[7]; /* -> 0x40 */ } Prim_8016E7C8; typedef void (*Handler)(struct Entry_8016E95C *); -typedef struct { s16 vx, vy, vz, pad; } SV3_8017E830; extern void func_801458E0(void); extern s32 D_800AE6AC; extern s32 D_800AE6B0; @@ -2846,7 +2845,6 @@ void func_8017F958(s32 a0) } -typedef struct { u8 b[4]; } __attribute__((packed, aligned(1))) Blk4_9B4; extern void func_8001CD9C(s32, void *); extern void func_800233CC(void *, u16); @@ -3611,9 +3609,7 @@ void func_80180DB4(s32 ent) { extern void func_8017FB38(s32 param_1); -struct D_801D0630_s { u16 f0; u16 f2; u16 pad[2]; }; extern struct D_801D0630_s D_801D0630[]; -struct D_801D0660_s { u16 f0; u16 f2; }; extern struct D_801D0660_s D_801D0660[]; extern struct D_801D0660_s D_801D0662[]; diff --git a/src/ov_SC07_001/ov_SC07_001_jr_8017BEBC.c b/src/ov_SC07_001/ov_SC07_001_jr_8017BEBC.c index b7aebdafd0..f01eb5068f 100644 --- a/src/ov_SC07_001/ov_SC07_001_jr_8017BEBC.c +++ b/src/ov_SC07_001/ov_SC07_001_jr_8017BEBC.c @@ -3568,7 +3568,6 @@ void func_8017ED50(s32 a0) } -typedef struct { u16 f0; u16 f2; u16 f4; s16 f6; } Rec_EDC0; extern Rec_EDC0 D_801AAD6C[]; extern Rec_EDC0 D_80185094[]; extern Rec_EDC0 D_80185098[]; @@ -3855,8 +3854,6 @@ void func_8017F470(void *a0) } -typedef struct { s32 w0, w4, w8, wC; s16 h10, hpad; s32 t0, t1, t2; } Mat32_8017F4E4; -typedef struct { s16 x, y, z; } V3_8017F4E4; extern void RotMatrixY(s32 a0, void *a1); extern void ApplyMatrixSV(void *a0, void *a1, void *a2); @@ -3914,15 +3911,6 @@ void func_8017F4E4(u8 *a0) * frame with 6 callee-saves (s0-s4, ra). * Same shape as func_80183F84 (ov_SC03_105) / func_8018DA64 (ov_SC04_011). */ -typedef struct { s16 vx, vy, vz, pad; } SVec_801A4680_8017F668; -typedef struct { - SVec_801A4680_8017F668 v[4]; /* 0x00 */ - s16 u0, t0, u1, t1, u2, t2, u3, t3; /* 0x20 */ - u32 bcast; /* 0x30 */ - s32 tag; /* 0x34 */ - u8 code; /* 0x38 */ - u8 pad39[7]; /* -> 0x40 */ -} Prim_801A4680_8017F668; extern void func_80016EF8(void *a0, void *a1); diff --git a/src/ov_SC07_002/ov_SC07_002_jr_8017C8D0.c b/src/ov_SC07_002/ov_SC07_002_jr_8017C8D0.c index 0b88475bad..c93a6e4631 100644 --- a/src/ov_SC07_002/ov_SC07_002_jr_8017C8D0.c +++ b/src/ov_SC07_002/ov_SC07_002_jr_8017C8D0.c @@ -2824,11 +2824,6 @@ u8 param_5; extern void func_8017E5D4(s32); extern void func_8017DC80(void); -typedef union { - u8 b; - u16 h[0x1C]; - s16 s[0x1C]; -} R38; extern R38 A_B8[0xC0] __asm__("D_8019B7B8"); extern R38 A_BA[0xC0] __asm__("D_8019B7BA"); @@ -2986,17 +2981,6 @@ extern s32 D_8019B7B8; * non-`/s` scalars at a FIXED address, and sched.c's `/s` drop clause (§30 lattice) * therefore lets each `lw` rise past the previous group's `sh`. LINE_G2 is the * first 0x14 bytes of the same layout. */ -typedef struct { - u8 t0, t1, t2, len; /* 0x00 P_TAG */ - u8 r0, g0, b0, code; /* 0x04 */ - s16 x0, y0; /* 0x08 */ - u8 r1, g1, b1, p1; /* 0x0C */ - s16 x1, y1; /* 0x10 */ - u8 r2, g2, b2, p2; /* 0x14 */ - s16 x2, y2; /* 0x18 */ - u8 r3, g3, b3, p3; /* 0x1C */ - s16 x3, y3; /* 0x20 -> 0x24 */ -} PRIM_8017DC80; void func_8017DC80(void) { @@ -3348,7 +3332,6 @@ void func_8017E37C(u8 *dst, u8 *src1, u8 *src2, u8 *src3) } -typedef struct { s16 m[3][3]; s16 pad; s32 t[3]; } MTX_8017E4D8; extern void func_8004978C(s16 *a0, void *a1); extern void func_80048D9C(void *a0, void *a1); @@ -3406,27 +3389,9 @@ void func_8017E604(void *a0) { extern s32 rand(void); -typedef struct { - u16 f0; - u16 f2; - u16 f4; - u16 f6; - u16 f8; - u16 fA; - s32 fC; - s32 f10; - s32 f14; - s32 f18; -} SubRec_801EB5C8_8017E640; /* 0x1C */ + /* 0x1C */ -typedef struct { - u16 g0; - u16 g2; - s32 g4; - s32 g8; - s32 gC; - SubRec_801EB5C8_8017E640 subs[16]; -} GroupRec_801EB5C8_8017E640; /* 0x1D0 */ + /* 0x1D0 */ void func_8017E640(s32 param_1) @@ -4746,7 +4711,6 @@ void func_80180248(s32 s0) } -typedef struct { u16 w[4]; } __attribute__((aligned(2))) DBlock_8019F04C; extern s16 D_8019F048; extern s16 D_8019F04A; @@ -4867,7 +4831,6 @@ extern s32 func_8018094C(); // K&R: 0/1 of 1 args (P37 rung D t4_D1) } -typedef struct { s16 vx, vy, vz, pad; } SVfbd0; s32 func_8018094C(s32 s1) { @@ -5042,7 +5005,6 @@ extern s32 func_80180DAC(); // K&R: 0/1 of 1 args (P37 rung D t4_D1) } -typedef struct { s16 m0, m1, m2, m3; } Pos; extern s16 D_80126940[4]; extern void func_80180F7C(s32 a0, void *a1); @@ -5109,8 +5071,7 @@ s32 func_80180DAC(s32 a0) * `sll 16` (not `andi 0xffff`) test => separate s16 temp, `t = D - 1; D = t; if (t == 0)`. */ -typedef struct { s16 vx, vy, vz, pad; } SV_80180F7C; -typedef struct { s16 m[3][3]; s32 t[3]; } MTX_80180F7C; /* 0x20: m@0, pad@0x12, t@0x14 */ + /* 0x20: m@0, pad@0x12, t@0x14 */ void func_80180F7C(s32 a0, void *a1) { @@ -5204,9 +5165,7 @@ void func_80180F7C(s32 a0, void *a1) * differs: func_80185848 + ApplyMatrixSV, and the results are `<< 16 >> 19`. */ -typedef struct { s16 vx, vy, vz, pad; } SV_80181394; -typedef struct { u16 vx, vy, vz, pad; } UV_80181394; -typedef struct { s16 m[3][3]; s32 t[3]; } MTX_80181394; /* 0x20 */ + /* 0x20 */ void func_80181394(s32 a0, s16 *param_2, s32 a2) { @@ -5414,11 +5373,9 @@ extern void (*D_8018A3D4[])(void); extern u8 D_80196C04[]; extern s32 D_80196BEC[]; -typedef struct { u16 v; u16 pad; } Rec4; extern Rec4 D_8018A3C0[]; extern Rec4 D_8018A3C2[]; -typedef struct { s32 v; s32 pad; } Rec8; extern Rec8 D_8019F074[]; extern Rec8 D_8019F078[]; @@ -5922,7 +5879,6 @@ void func_801827DC(void *a0) { } -typedef struct { s16 a, b, c, d; } SV4_80182818; void func_80182818(void *a0) { @@ -6330,7 +6286,6 @@ void func_80183078(int param_1) } -typedef struct { s32 a[14]; } Blk38; extern Blk38 D_8018A4F0; void func_801830D8(s32 *a0) @@ -8011,12 +7966,6 @@ void func_80185150(s32 a0) { } -typedef struct { - SVECTOR_8016E7C8 v[4]; /* 0x00 */ - s32 f0, f1, f2, f3, f4, f5; /* 0x20..0x37 */ - u8 f6; /* 0x38 */ - u8 pad[7]; /* -> 0x40 */ -} Prim_8016E7C8_80185434; /* func_80185434 (ov_SC03_117, ov_SC03_117_jr_8017BEBC) — MATCH (148 ins) * @@ -8093,8 +8042,7 @@ typedef struct { * do not collide with any name in the TU. */ -typedef struct { s16 vx, vy, vz, pad; } SV_1A30_80185434; -typedef struct { s16 m[3][3]; s32 t[3]; } MTX_1A30_80185434; /* 0x20 bytes */ + /* 0x20 bytes */ void func_80185434(s16 *arg0) { diff --git a/src/ov_SC07_006/ov_SC07_006_jr_8017BEBC.c b/src/ov_SC07_006/ov_SC07_006_jr_8017BEBC.c index 38771253ae..f63718a5b7 100644 --- a/src/ov_SC07_006/ov_SC07_006_jr_8017BEBC.c +++ b/src/ov_SC07_006/ov_SC07_006_jr_8017BEBC.c @@ -3342,11 +3342,6 @@ void func_8017CFA4(void) { } -typedef struct { - s16 off00; s16 off02; s16 off04; s16 off06; - u16 off08; s16 off0A; u16 off0C; - u8 pad0E[0x12]; -} Ent8018DE64; extern s32 D_80126954; extern s32 D_8012695C; @@ -3519,8 +3514,6 @@ void func_8017D4E4(s32 param_1, s16 *param_2) { } -typedef struct { s16 x; s16 y; s16 z; s16 pad; } SVec8017D67C; -typedef struct { SVec8017D67C v[2]; s32 col[2]; s32 tag; s32 pad; } Prim8017D67C; extern void func_8012C218(void *a0); extern void func_8012EC04(s32 param_1, s32 param_2, s32 *param_3); diff --git a/src/ov_SC07_007/ov_SC07_007_jr_8017BEBC.c b/src/ov_SC07_007/ov_SC07_007_jr_8017BEBC.c index 9886afafa9..558cbd153b 100644 --- a/src/ov_SC07_007/ov_SC07_007_jr_8017BEBC.c +++ b/src/ov_SC07_007/ov_SC07_007_jr_8017BEBC.c @@ -3570,7 +3570,6 @@ extern void func_8012A018(s32 a0, s32 a1); extern void func_8012A094(s32 a0); extern void func_8017D648(void *a0); -typedef struct { s16 x0, x1, x2, x3; } UnalignedShortBlock; void func_8017D4E4(void) { extern u8 D_80126948[]; @@ -3958,9 +3957,6 @@ void func_8017DF5C(s32 a0, s32 a1) { } -typedef struct { - s16 d0, d1, d2, d3; -} Blk8U; s32 func_8017DF74(s32 a0, s32 a1) { @@ -5528,10 +5524,6 @@ extern void func_801813EC(s32 a0); extern s32 func_8012AD50(void*); extern void func_8018272C(void *a0); -typedef struct { - void (*fn)(void *); - u8 unk4[0x14]; -} S_801C7808_Entry; extern s32 D_801C7808; diff --git a/src/ov_SC07_010/ov_SC07_010_jr_8017AE2C.c b/src/ov_SC07_010/ov_SC07_010_jr_8017AE2C.c index 4f783cd6df..af652084d2 100644 --- a/src/ov_SC07_010/ov_SC07_010_jr_8017AE2C.c +++ b/src/ov_SC07_010/ov_SC07_010_jr_8017AE2C.c @@ -3410,7 +3410,6 @@ typedef struct { u8 pad[7]; /* -> 0x40 */ } Prim_8016E7C8; -typedef struct { s16 vx, vy, vz, pad; } SVEC_BEBC; extern s32 func_800491EC(void); extern void func_8017C294(u16 *a0, void *a1); @@ -3450,16 +3449,7 @@ extern void func_8017C530(s32 a0, s32 a1); * cell $t3 naturally once the bbox block allocates right. */ -typedef struct { u32 w0, w1, w2; } PrimC59C; -typedef struct { u8 *vtx; u32 f4; u32 xx, yy, zz; PrimC59C *prim, *end; } CellC59C; -typedef struct { s16 vx, vy; } DVEC2_C59C; -typedef struct { s16 vx, vy, vz, pad; } SVEC2_C59C; -typedef struct { s16 m[3][3]; s32 t[3]; } MTX_C59C; -typedef struct { u32 tag, rgbc; s16 x0, y0, x1, y1, x2, y2; } PF3_C59C; -typedef struct { u32 tag, rgbc; s16 x0, y0, x1, y1, x2, y2, x3, y3; } PF4_C59C; -typedef struct { u32 tag, rgbc; s16 x0, y0; u32 uvc0; s16 x1, y1; u32 uvp1; s16 x2, y2; u16 uv2, p2; } PFT3_C59C; -typedef struct { u32 tag, rgbc; s16 x0, y0; u32 uvc0; s16 x1, y1; u32 uvp1; s16 x2, y2; u16 uv2, p2; s16 x3, y3; u16 uv3, p3; } PFT4_C59C; @@ -4662,9 +4652,6 @@ extern void func_80015954(s32 a0, s32 a1); extern s32 func_8012C588(s32 a0, s32 a1); extern s32 rand(void); -struct S6C { u8 pad[8]; }; -struct S72 { s16 unk0; u8 pad[6]; }; -struct S9E { u16 unk0; u16 pad; }; struct Ent { u8 pad[0xDC]; s32 unkDC; u8 pad2[0x1C]; u16 unkFC; }; extern struct S6C D_80185D6C[]; @@ -5426,21 +5413,6 @@ void func_8017F798(void *arg0) { } -typedef struct { - s16 state; /* 0x00 */ - s16 timer; /* 0x02 */ - s16 unk4; /* 0x04 */ - s16 unk6; /* 0x06 */ - s16 unk8; /* 0x08 */ - s16 unkA; /* 0x0A */ - s16 unkC; /* 0x0C */ - s16 unkE; /* 0x0E */ - s16 unk10; /* 0x10 */ - s16 unk12; /* 0x12 */ - s32 unk14; /* 0x14 */ - u16 unk18; /* 0x18 */ - u16 unk1A; /* 0x1A */ -} Blk1C; extern void func_8017FA24(void *a0); extern void func_8017FA50(s32 a0, void *s0); @@ -5518,7 +5490,6 @@ void func_8017FA50(s32 a0, void *s0) -typedef struct { Blk8 m[4]; } Quad; extern Blk8 D_80185E68; extern Blk8 D_80185E70; @@ -5706,16 +5677,6 @@ void func_8017FF68(s32 a0, void *a1) { * D_* data-symbol addresses differ (D_80194DD0/DD8/DE0/DE8 -> D_80185EB8/ * ED4/EDC/EE4). */ -typedef struct { s16 vx, vy, vz, pad; } SVECTOR_80182800; -typedef struct { s16 m[3][3]; s32 t[3]; } MATRIX_80182800; -typedef struct { - SVECTOR_80182800 v[4]; /* 0x00 */ - s32 k30, k34, k38, k3c; /* 0x20 */ - u32 bcast; /* 0x30 */ - s32 tag; /* 0x34 */ - u8 code; /* 0x38 */ - u8 pad39[7]; /* -> 0x40 */ -} Prim_80182800; extern SVECTOR_80182800 D_80185EB8; extern SVECTOR_80182800 D_80185EC0; diff --git a/src/shared/engine_types.h b/src/shared/engine_types.h index 48ededf29f..d9174767d5 100644 --- a/src/shared/engine_types.h +++ b/src/shared/engine_types.h @@ -4603,6 +4603,3924 @@ typedef struct { } D80190448_t; typedef struct { short m[3][3]; long t[3]; } MATRIX_80188114; typedef struct Rec80182744_s Rec80182744; + +/* --- lift_types.py fleet lift --- */ +struct B16_8017CDE4 { s32 w[4]; }; +struct B16_8018FC38 { s32 w[4]; }; +struct Ctr34 { + u16 h; +}; +struct D_801D0630_s { u16 f0; u16 f2; u16 pad[2]; }; +struct D_801D0660_s { u16 f0; u16 f2; }; +struct EntF2_80181F0C { + /* 0x00 */ u8 pad00[0xF2]; + /* 0xF2 */ s16 unkF2; +}; +struct Ent_80180AB4 { + /* 0x00 */ u8 pad00[0x34]; + /* 0x34 */ u16 unk34; + /* 0x36 */ u8 pad36[0xAA]; + /* 0xE0 */ u16 unkE0; + /* 0xE2 */ u8 padE2[0x10]; + /* 0xF2 */ s16 unkF2; + /* 0xF4 */ s16 unkF4; +}; +struct Ent_80180B24 { + /* 0x00 */ u8 pad00[0x34]; + /* 0x34 */ u16 unk34; + /* 0x36 */ u8 pad36[0xBC]; + /* 0xF2 */ u16 unkF2; + /* 0xF4 */ u16 unkF4; +}; +struct Ent_80181B30 { + /* 0x00 */ u8 pad00[0x1C]; + /* 0x1C */ s32 unk1C; + /* 0x20 */ u8 pad20[0xD2]; + /* 0xF2 */ s16 unkF2; + /* 0xF4 */ u8 padF4[0x2]; + /* 0xF6 */ s16 unkF6; +}; +struct Ent_80181EA0 { + /* 0x00 */ u8 pad00[0x1C]; + /* 0x1C */ s32 unk1C; + /* 0x20 */ u8 pad20[0xD2]; + /* 0xF2 */ s16 unkF2; +}; +struct Ent_80182420 { + /* 0x00 */ u8 pad00[0x1C]; + /* 0x1C */ s32 unk1C; + /* 0x20 */ u8 pad20[0x14]; + /* 0x34 */ u16 unk34; + /* 0x36 */ u8 pad36[0x3C]; + /* 0x72 */ u16 unk72; + /* 0x74 */ u8 pad74[0x20]; + /* 0x94 */ s32 unk94; + /* 0x98 */ s16 unk98; + /* 0x9A */ u8 pad9A[0x48]; + /* 0xE2 */ s16 unkE2; + /* 0xE4 */ u8 padE4[0xE]; + /* 0xF2 */ u16 unkF2; + /* 0xF4 */ u8 padF4[0x2]; + /* 0xF6 */ s16 unkF6; +}; +struct Fr_80187368 { + s16 mtx[10]; /* sp+0x10, only its address is used (func_80049CAC out) */ + s32 pos[3]; /* sp+0x24 */ + s16 sv[4]; /* sp+0x30 (RotTransSV out) */ + s16 sv2[4]; /* sp+0x38 (unused, layout filler) */ + s16 buf40[4]; /* sp+0x40 (func_8012F038 out) */ + s16 rot[4]; /* sp+0x48 */ + s32 flg[4]; /* sp+0x50 (RotTransSV flag out) */ +}; +struct Fr_8018C190 { + s16 mtx[10]; /* sp+0x10, only its address is used (func_80049CAC out) */ + s32 pos[3]; /* sp+0x24 */ + s16 sv[4]; /* sp+0x30 (RotTransSV out) */ + s16 sv2[4]; /* sp+0x38 (unused, layout filler) */ + s16 buf40[4]; /* sp+0x40 (func_8012F038 out) */ + s16 rot[4]; /* sp+0x48 */ + s32 flg[4]; /* sp+0x50 (RotTransSV flag out) */ +}; +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]; }; +struct PrimBE4 { s16 f0, f2, f4, f6, f8, fA, fC, fE; s32 f10; }; +struct PrimSpec80182A6C { + s16 f0, f2, f4, f6, f8, fA, fC, fE; + s32 f10; +}; +struct Prim_80180BDC { s16 f0, f2, f4, f6, f8, fA, fC, fE; s32 f10; }; +struct Rec8017F39C { + s16 f00; + s16 f02; + s16 f04; + s16 f06; + s16 f08; + s16 f0A; + s16 f0C; + s16 f0E; + s32 f10; +}; +struct Rec801806C8_s { + s32 f0; + s32 f1; + s32 f2; +} __attribute__((packed, aligned(1))); +struct Rec80182744_s { + s32 f0; + s32 f1; + s32 f2; +} __attribute__((packed, aligned(1))); +struct S0E_80184828 { s16 v; }; +struct S34_80184A8C { u16 v; }; +struct S6C { u8 pad[8]; }; +struct S72 { s16 unk0; u8 pad[6]; }; +struct S80190C84_846B4 { + s16 f0, f2, f4, f6, f8, fA, fC, fE; + s32 f10; +}; +struct S845EC_in { s16 f00, f02, f04, f06, f08, f0A, f0C, f0E; s32 f10; }; +struct S845EC_out { s16 a, b, c; }; +struct S8_8017DA98 { s16 m[4]; }; +struct S9E { u16 unk0; u16 pad; }; +struct SV3_8012CC88 { u16 vx, vy, vz; u8 pad; }; +struct SV3_801808E8 { u16 vx, vy, vz; u8 pad; }; +struct SVec_8017DB0C { s16 vx, vy, vz, pad; }; +struct SVec_8017E024 { s16 vx, vy, vz, pad; }; +struct SVec_8017EBE4 { s16 vx, vy, vz, pad; }; +struct Sub_80181BA0 { + /* 0x00 */ u8 pad00[0x12]; + /* 0x12 */ s16 unk12; +}; +struct Ent_80181BA0 { + /* 0x00 */ u8 pad00[0x6]; + /* 0x06 */ s16 unk06; + /* 0x08 */ u8 pad08[0x2]; + /* 0x0A */ s16 unk0A; + /* 0x0C */ u8 pad0C[0x2]; + /* 0x0E */ s16 unk0E; + /* 0x10 */ u8 pad10[0xC]; + /* 0x1C */ s32 unk1C; + /* 0x20 */ struct Sub_80181BA0 *unk20; + /* 0x24 */ u8 pad24[0x10]; + /* 0x34 */ u16 unk34; + /* 0x36 */ u8 pad36[0x5E]; + /* 0x94 */ s32 unk94; + /* 0x98 */ s16 unk98; + /* 0x9A */ u8 pad9A[0x58]; + /* 0xF2 */ s16 unkF2; + /* 0xF4 */ u8 padF4[0x2]; + /* 0xF6 */ s16 unkF6; +}; +struct UShortBlk_F4C4 { + s16 x0, x1, x2, x3; +}; +struct Vec_8017DB0C { s32 vx, vy, vz, pad; }; +struct Vec_8017E024 { s32 vx, vy, vz, pad; }; +struct Vec_8017EBE4 { s32 vx, vy, vz, pad; }; +struct ZnRec { + u8 kind; + u8 mode; + s16 opA[2]; + s16 opB[2]; + s16 ax; + s16 az; +}; +struct imgrect { u16 x; u16 y; u16 w; u16 h; }; +struct vecr { int _m; }; +typedef struct { s32 pad[5]; s32 x, y, z; } ARG_80187714; +typedef struct { + u8 pad0[0x18]; + u16 f18; + u16 f1A; + u16 f1C; + u8 pad1[0xE]; + u16 f2C; +} Act_8018069C; +typedef struct { u16 vx, vy, vz, pad; } Ang_8017E95C; +typedef struct { u16 f00, f02, f04, f06; } Args_80182194; +typedef struct { s32 w[4]; } B16_local; +typedef struct { u8 d[4]; } __attribute__((packed, aligned(1))) B4_8018750C; +typedef struct { u8 d[4]; } __attribute__((packed, aligned(1))) B4_8018AD9C; +typedef struct { u8 d[4]; } __attribute__((packed, aligned(1))) B4_8018C334; +typedef struct { u8 d[8]; } __attribute__((packed, aligned(1))) B8_801851A8; +typedef struct { u8 d[8]; } __attribute__((packed, aligned(1))) B8_801851A8_80182D18; +typedef struct { u8 d[8]; } __attribute__((packed, aligned(1))) B8_801851A8_80184E84; +typedef struct { u8 d[8]; } __attribute__((packed, aligned(1))) B8_801851A8_80185D2C; +typedef struct { u8 d[8]; } __attribute__((packed, aligned(1))) B8_8018750C; +typedef struct { u8 d[8]; } __attribute__((packed, aligned(1))) B8_8018AD9C; +typedef struct { u8 d[8]; } __attribute__((packed, aligned(1))) B8_8018C334; +typedef struct { s32 f0; s32 f1; } __attribute__((packed, aligned(1))) Bc8_80180E0C; +typedef struct { u8 b[12]; } Blk12_80180BE0; +typedef struct { u8 b[12]; } Blk12_80185E68; +typedef struct { char c[12]; } Blk12_801C5A30; +typedef struct { u8 b[12]; } Blk12_820F8; +typedef struct { u32 w[38]; } Blk152_8017DF40; +typedef struct { u8 b[16]; } Blk16A1; +typedef struct { s16 v[8]; } Blk16_80126940; +typedef struct { s32 w[4]; } Blk16_8017ECD4; +typedef struct { s32 w[4]; } Blk16_8018A1D8; +typedef struct { s32 w[4]; } Blk16_8018A4C4; +typedef struct { s32 w[4]; } Blk16_801E2F08; +typedef struct { + s16 state; /* 0x00 */ + s16 timer; /* 0x02 */ + s16 unk4; /* 0x04 */ + s16 unk6; /* 0x06 */ + s16 unk8; /* 0x08 */ + s16 unkA; /* 0x0A */ + s16 unkC; /* 0x0C */ + s16 unkE; /* 0x0E */ + s16 unk10; /* 0x10 */ + s16 unk12; /* 0x12 */ + s32 unk14; /* 0x14 */ + u16 unk18; /* 0x18 */ + u16 unk1A; /* 0x1A */ +} Blk1C; +typedef struct { s16 v[8]; s32 w; } Blk20_8017D110; +typedef struct { s32 w[8]; } Blk20_8017E3F8; +typedef struct { s32 w[8]; } Blk20_80180B38; +typedef struct { s32 w[8]; } Blk20_80180B78; +typedef struct { s32 w[8]; } Blk20_80181260; +typedef struct { s32 w[8]; } Blk20_80181EE8; +typedef struct { s32 w[8]; } Blk20_80182D70; +typedef struct { s32 w[8]; } Blk20_8018454C; +typedef struct { s32 w[8]; } Blk20_80184694; +typedef struct { s32 b[8]; } Blk20_80187108; +typedef struct { s32 b[8]; } Blk20_80187714; +typedef struct { s32 w[8]; } Blk20_80188AF4; +typedef struct { s32 w[8]; } Blk20_8018A4C4; +typedef struct { + s32 w[0x95]; +} Blk254_80186AE4; +typedef struct { s32 w[8]; } Blk32_8017ECD4; +typedef struct { s32 w[8]; } Blk32_8017F76C; +typedef struct { s32 w[8]; } Blk32_8017F76C_80186D9C; +typedef struct { s32 w[8]; } Blk32_8017F76C_80187780; +typedef struct { s32 w[8]; } Blk32_80180770; +typedef struct { s32 w[8]; } Blk32_80180908; +typedef struct { s32 w[8]; } Blk32_80180E8C; +typedef struct { s32 w[8]; } Blk32_8018287C; +typedef struct { s32 w[8]; } Blk32_80183F10; +typedef struct { u32 w[8]; } Blk32_801898F4; +typedef struct { s32 f0, f1, f2, f3, f4, f5, f6, f7; } Blk32_801E8788; +typedef struct { s32 a[14]; } Blk38; +typedef struct { + char c[3]; +} Blk3_8017D730; +typedef struct { u8 d[4]; } Blk4_8017CE90; +typedef struct { u8 d[4]; } Blk4_8017CE90_8017CE90; +typedef struct { u8 d[4]; } Blk4_8017CE90_8017F32C; +typedef struct { u8 d[4]; } Blk4_8017CE90_8017F32C_80184FF0; +typedef struct { u8 d[4]; } Blk4_8017CE90_8017F32C_80184FF0_80187A9C; +typedef struct { u8 d[4]; } Blk4_8017CE90_8017F32C_80184FF0_80188134; +typedef struct { u8 d[4]; } Blk4_8017CE90_8017F32C_801869CC; +typedef struct { u8 b[4]; } Blk4_8017D5DC; +typedef struct { u8 b[4]; } Blk4_8017D7A0; +typedef struct { u8 b[4]; } Blk4_8017DF40; +typedef struct { u8 d[4]; } Blk4_8017E808; +typedef struct { u8 b[4]; } Blk4_8017EBCC; +typedef struct { u8 c[4]; } Blk4_8017FE90; +typedef struct { u8 c[4]; } Blk4_801800E0; +typedef struct { char c[4]; } Blk4_8018048C; +typedef struct { u8 c[4]; } Blk4_80180518; +typedef struct { u8 b0, b1, b2, b3; } Blk4_801815D4; +typedef struct { u8 b[4]; } Blk4_80181EDC; +typedef struct { u8 b[4]; } Blk4_80181EDC_8017FEA0; +typedef struct { u8 b[4]; } Blk4_80181EDC_80180400; +typedef struct { u8 b[4]; } Blk4_80181EDC_8018383C; +typedef struct { u8 b[4]; } Blk4_80182194; +typedef struct { u8 b[4]; } Blk4_80183AF4; +typedef struct { u8 b[4]; } Blk4_80183FCC; +typedef struct { u8 d[4]; } Blk4_80185CD8; +typedef struct { u8 b[4]; } Blk4_80185D4C; +typedef struct { u8 c[4]; } Blk4_80187D68; +typedef struct { u8 c[4]; } Blk4_8018B4E0; +typedef struct { u8 d[4]; } Blk4_8018B5E4; +typedef struct { u8 c[4]; } Blk4_8018B948; +typedef struct { u8 b[4]; } Blk4_8018BDD0; +typedef struct { u8 b[4]; } Blk4_8018CC28; +typedef struct { u8 d[4]; } Blk4_8018FF98; +typedef struct { u8 d[4]; } Blk4_8018FF98_8018FCE8; +typedef struct { u8 b[4]; } Blk4_80191320; +typedef struct { u8 b[4]; } Blk4_80191320_8018D05C; +typedef struct { u8 b[4]; } Blk4_80191320_80191070; +typedef struct { u8 d[4]; } Blk4_801EC660; +typedef struct { u8 b[4]; } __attribute__((packed, aligned(1))) Blk4_9B4; +typedef struct { char c[4]; } Blk4_fc; +typedef struct { u8 b[0x6C]; } Blk6C_80184CB0; +typedef struct { + u16 f0, f2, f4; + s16 f6; +} Blk801539F8; +typedef struct { + s16 a, b, c, d, e, f, g, h; + s32 w; +} Blk8018057C; +typedef struct { + s16 d0, d1, d2, d3; +} Blk8U; +typedef struct { + s16 v[4]; +} Blk8_80126940_8017D168; +typedef struct { + s16 v[4]; +} Blk8_80126940_8017D1AC; +typedef struct { + s16 v[4]; +} Blk8_80126940_8017D348; +typedef struct { + s16 v[4]; +} Blk8_80126940_8017D3B0; +typedef struct { + s16 v[4]; +} Blk8_80126940_8017D3C0; +typedef struct { s16 v[4]; } Blk8_80126940_8017D458; +typedef struct { s16 v[4]; } Blk8_80126940_8017D474; +typedef struct { + s16 v[4]; +} Blk8_80126940_8017D4A0; +typedef struct { + s16 v[4]; +} Blk8_80126940_8017D4DC; +typedef struct { + s16 v[4]; +} Blk8_80126940_8017D524; +typedef struct { + s16 v[4]; +} Blk8_80126940_8017D5D8; +typedef struct { + s16 v[4]; +} Blk8_80126940_8017D654; +typedef struct { s16 v[4]; } Blk8_80126940_8017D6D0_8017EAEC; +typedef struct { s16 v[4]; } Blk8_80126940_8017D6D0_8017F2B8; +typedef struct { s16 v[4]; } Blk8_80126940_8017D6D0_8017F498; +typedef struct { s16 v[4]; } Blk8_80126940_8017D6D0_8017F6D4; +typedef struct { + s16 v[4]; +} Blk8_80126940_8017D6E0; +typedef struct { + s16 v[4]; +} Blk8_80126940_8017D7CC; +typedef struct { + s16 v[4]; +} Blk8_80126940_8017DB94; +typedef struct { s16 v[4]; } Blk8_80126940_8017DC34; +typedef struct { + s16 v[4]; +} Blk8_80126940_8017E130; +typedef struct { s16 v[4]; } Blk8_80126940_8017E218; +typedef struct { + s16 v[4]; +} Blk8_80126940_8017E2B8; +typedef struct { + s16 v[4]; +} Blk8_80126940_8017E3A8; +typedef struct { + s16 v[4]; +} Blk8_80126940_8017E54C; +typedef struct { s16 v[4]; } Blk8_80126940_8017E8DC; +typedef struct { s16 f0, f1, f2, f3; } Blk8_80126940_8017EAEC; +typedef struct { + s16 v[4]; +} Blk8_80126940_8017EB14; +typedef struct { + s16 v[4]; +} Blk8_80126940_8017EB74; +typedef struct { s16 v[4]; } Blk8_80126940_8017EC84; +typedef struct { s16 v[4]; } Blk8_80126940_8017EE38; +typedef struct { s16 v[4]; } Blk8_80126940_8017F608; +typedef struct { + s16 v[4]; +} Blk8_80126940_80180A10; +typedef struct { s16 v[4]; } Blk8_80126940_80181B44; +typedef struct { s8 c[8]; } Blk8_8012C890; +typedef struct { s8 c[8]; } Blk8_8012C890_8017C348; +typedef struct { s8 c[8]; } Blk8_8012E364; +typedef struct { s8 c[8]; } Blk8_8012EFB8; +typedef struct { s8 c[8]; } Blk8_8012FCC4; +typedef struct { s8 c[8]; } Blk8_80131170; +typedef struct { s8 c[8]; } Blk8_80131340; +typedef struct { s8 c[8]; } Blk8_80131B14; +typedef struct { s8 c[8]; } Blk8_80131CA8; +typedef struct { s8 c[8]; } Blk8_80131CF4; +typedef struct { s8 c[8]; } Blk8_80132F40; +typedef struct { s8 c[8]; } Blk8_80134C20; +typedef struct { s8 c[8]; } Blk8_80135004; +typedef struct { s8 c[8]; } Blk8_80135260; +typedef struct { u8 b[8]; } Blk8_8017CF48; +typedef struct { u8 b[8]; } Blk8_8017DAB8; +typedef struct { u8 b[8]; } Blk8_8017DAFC; +typedef struct { char c[8]; } Blk8_8017DCF4; +typedef struct { u8 c[8]; } Blk8_8017E224; +typedef struct { u8 b[8]; } Blk8_8017E6A4; +typedef struct { u8 b[8]; } Blk8_8017E72C; +typedef struct { u8 b[8]; } Blk8_8017EBCC; +typedef struct { char c[8]; } Blk8_8017FF80; +typedef struct { u8 b[8]; } Blk8_80180040; +typedef struct { u32 w0; u32 w1; } __attribute__((packed, aligned(1))) Blk8_801800F8; +typedef struct { char c[8]; } Blk8_8018048C; +typedef struct { + u16 x, y, z, w; +} Blk8_801807DC; +typedef struct { u8 b[8]; } Blk8_80180970; +typedef struct { u8 b[8]; } Blk8_80180BFC; +typedef struct { u8 b[8]; } Blk8_801812AC; +typedef struct { u8 b[8]; } Blk8_80181324; +typedef struct { u8 c[8]; } Blk8_801813B0; +typedef struct { u8 b[8]; } Blk8_80181774; +typedef struct { u8 b[8]; } Blk8_80181824; +typedef struct { u8 b[8]; } Blk8_801827C4; +typedef struct { u8 b[8]; } Blk8_80182844; +typedef struct { char c[8]; } Blk8_801828E4; +typedef struct { + u8 b[8]; +} Blk8_80182B08; +typedef struct { u16 x, y, z, w; } Blk8_8018453C; +typedef struct { u8 b[8]; } Blk8_8018495C; +typedef struct { u8 c[8]; } Blk8_801859DC; +typedef struct { + u8 c[8]; + } Blk8_80186594_8017E72C; +typedef struct { + u8 c[8]; + } Blk8_80186594_80181824; +typedef struct { + u8 c[8]; + } Blk8_80186594_80186740; +typedef struct { u8 b[8]; } Blk8_80186740; +typedef struct { u8 b[8]; } Blk8_80187DE4; +typedef struct { u16 h0, h1, h2, h3; } Blk8_8018A314; +typedef struct { u8 b[8]; } Blk8_80191320; +typedef struct { u8 b[8]; } Blk8_80191320_8018D05C; +typedef struct { u8 b[8]; } Blk8_80191320_80191070; +typedef struct { u16 unk0, unk2, unk4, unk6; } Blk8_801E0764; +typedef struct { u16 unk0, unk2, unk4, unk6; } Blk8_801E076C; +typedef struct { u8 b[8]; } Blk8_820F8; +typedef struct { u8 b[8]; } Blk8_E08; +typedef struct { u8 b[8]; } Blk8_EBB8; +typedef struct { s16 v[4]; } Blk8_dc3c; +typedef struct { s16 v[4]; } Blk8_dd58; +typedef struct { u8 b[8]; } Blk8_func_8017E3AC; +typedef struct { u8 b[8]; } Blk8x; +typedef struct { + s32 w[0x29]; +} Blk_0xA4; +typedef struct { char b[8]; } Blob8_80187664; +typedef struct { char b[8]; } Blob8_801876B0; +typedef struct { char b[8]; } Blob8_8018A4C4; +typedef struct { char b[8]; } Blob8_8018B058; +typedef struct { + u32 w0; + u32 w1; +} __attribute__((packed, aligned(1))) Block8_80181600; +typedef struct { + u32 field0; + u32 field1; +} __attribute__((packed, aligned(1))) Block8_80184C74; +typedef struct { + u32 field0; + u32 field1; +} __attribute__((packed, aligned(1))) Block8_80184F98; +typedef struct { + u32 field0; + u32 field1; +} __attribute__((packed, aligned(1))) Block8_80185B1C; +typedef struct { + u32 field0; + u32 field1; +} __attribute__((packed, aligned(1))) BlockData; +typedef struct { + s16 unused0; /* 0x0 */ + s16 unused2; /* 0x2 */ + s16 min_x; /* 0x4 */ + s16 max_x; /* 0x6 */ + s16 min_y; /* 0x8 */ + s16 max_y; /* 0xA */ + s16 min_z; /* 0xC */ + s16 max_z; /* 0xE */ +} Box_80182BC8; +typedef struct { + s16 unused0; /* 0x0 */ + s16 unused2; /* 0x2 */ + s16 min_x; /* 0x4 */ + s16 max_x; /* 0x6 */ + s16 min_y; /* 0x8 */ + s16 max_y; /* 0xA */ + s16 min_z; /* 0xC */ + s16 max_z; /* 0xE */ +} Box_80184564; +typedef struct { + s16 x; /* 0x0 */ + s16 y; /* 0x2 */ + s16 z; /* 0x4 */ + s16 pad; /* 0x6 */ +} Buf8_8017D4F0; +typedef struct { u8 r, g, b, cd; } CV_80180228; +typedef struct { u8 r, g, b, cd; } CV_80187EE8; +typedef struct { u8 r, g, b, cd; } CVec_80186E9C; +typedef struct { u8 r, g, b, cd; } CVec_80186E9C_8018BCC4; +typedef struct { u8 r, g, b, code; } C_8017DCC0; +typedef struct { + u16 x; /* 0x00 D_80126B5E */ + u16 unk2; /* 0x02 */ + u16 y; /* 0x04 D_80126B62 */ +} Cam183098; +typedef struct { + s16 x; /* 0x00 */ + s16 y; /* 0x02 */ + s16 z; /* 0x04 */ + u16 ang; /* 0x06 */ + s16 f8; /* 0x08 */ + s16 fA; /* 0x0A */ + s16 fC; /* 0x0C */ + s16 fE; /* 0x0E */ +} Cfg_8017E37C; +typedef struct { +/* 0x0 */ s16 kind; /* slot index; -1 terminates */ +/* 0x2 */ s16 cmd; /* opcode 0..3 */ +/* 0x4 */ s32 arg; +} Cmd801800B8; +typedef struct { s16 f[0x86]; } Cnt_8018E8A0; +typedef struct { s16 f[0x86]; } Cnt_8018E8A0_801869CC; +typedef struct { u8 b[4]; } Col4; +typedef struct { + u8 r; + u8 g; + u8 b; + u8 cd; +} Col4_8017D878; +typedef struct { + u8 r; /* 0x00 */ + u8 g; /* 0x01 */ + u8 b; /* 0x02 */ + u8 cd; /* 0x03 */ +} Col4_8017F2FC; +typedef struct { + u8 r; + u8 g; + u8 b; + u8 cd; +} Col4_8017F8BC; +typedef struct { + u8 r; /* 0x00 */ + u8 g; /* 0x01 */ + u8 b; /* 0x02 */ + u8 cd; /* 0x03 (never written; the block move copies it anyway) */ +} Col4_80181574; +typedef struct { s32 w[8]; } Copy32; +typedef struct { u8 b[8]; } Copy8; +typedef struct { +/* 0x00 */ Cmd801800B8 *cmds; +/* 0x04 */ s32 unk04; +/* 0x08 */ s32 unk08; +/* 0x0C */ s32 unk0C; +/* 0x10 */ s32 unk10; +} Ctl801800B8; +typedef struct { u8 r, g, b, c; } Cv_8017F074; +typedef struct { u8 r, g, b, cd; } Cv_8017FA2C; +typedef struct { u16 w[4]; } __attribute__((aligned(2))) DBlock_8019F04C; +typedef struct { s16 vx, vy; } DVEC2_C59C; +typedef struct { s16 vx, vy; } DVEC2_C59C_8017D9CC; +typedef struct { s16 vx, vy; } DVEC2_C59C_8017DBEC; +typedef struct { s16 vx, vy; } DVEC2_C59C_801865EC; +typedef struct { s16 vx, vy; } DVEC2_C6F4; +typedef struct { s16 vx, vy; } DVEC2_C974; +typedef struct { s16 vx, vy; } DVEC2_C974_8017BA3C; +typedef struct { s16 vx, vy; } DVEC2_C974_8017BA3C_80189F00; +typedef struct { s16 vx, vy; } DVEC2_CF90; +typedef struct { s16 vx, vy; } DVEC2_D538; +typedef struct { s16 vx, vy; } DVEC2_DF98; +typedef struct { s16 vx, vy; } DVEC80180FE4; +typedef struct { u16 vx, vy, vz, pad; } DVEC_80183534; +typedef struct { s16 vx, vy; } DV_8017EF94; +typedef struct { s16 vx, vy; } DV_80180B3C; +typedef struct { s16 vx, vy; } DVec_59F4; +typedef struct { s16 vx, vy; } DVec_80180894; +typedef struct { u16 vx, vy; } DVec_80183DA4; +typedef struct { u16 vx, vy; } DVec_80184138; +typedef struct { + u8 pad[0x34]; +} D_80195D74_Entry; +typedef struct { + u8 pad_0[0xCC]; + void *arr[4]; +} D_801EC450_t; +typedef struct { + u16 x; + u16 pad0; + u16 z; + u16 pad1; + s32 vx; + s32 vy; + s32 vz; +} D_87298; +typedef struct { u16 a, b, c, d; } __attribute__((aligned(2))) DataBlock; +typedef struct { u32 f0; u32 f4; } E8_8018E450; +typedef struct { + s16 f0; + s16 f1, f2, f3, f4, f5; +} Elem_8018F086; +typedef struct { u8 pad34[0x34]; u16 st; } Ent34; +typedef struct { + /* 0x00 */ s16 unk00; + /* 0x02 */ s16 unk02; + /* 0x04 */ u8 pad04[0xD8]; + /* 0xDC */ s16 unkDC; + /* 0xDE */ s16 unkDE; + /* 0xE0 */ s32 unkE0; +} Ent58_fx; +typedef struct { + s16 off00; s16 off02; s16 off04; s16 off06; + u16 off08; s16 off0A; u16 off0C; + u8 pad0E[0x12]; +} Ent8018DE64; +typedef struct { + u16 a, b, c, d; +} Ent8_80188; +typedef Unkstruct_800B5CB8 Ent_8014D820; +typedef struct { + u16 f0; /* 0x00 */ + u8 p2[4]; + s16 x; /* 0x06 */ + u8 p8[6]; + s16 z; /* 0x0E */ + u8 p10[0x10C - 0x10]; /* stride 0x10C */ +} Ent_8017D898; +typedef Unkstruct_800B5CB8 Ent_8017FD58_8017E52C; +typedef Unkstruct_800B5CB8 Ent_8018172C_tab; +typedef struct { + u16 f_00; + u8 pad_02[0x5A]; + u16 f_5C; + u8 pad_5E[0x7E]; + s32 f_DC; +} Ent_80182E64; +typedef struct { u8 unk0[2]; u16 unk2; } Ent_80183280; +typedef struct { + /* 0x00 */ s16 unk00; + /* 0x02 */ s16 unk02; + /* 0x04 */ u8 pad04[0xD8]; + /* 0xDC */ s16 unkDC; + /* 0xDE */ s16 unkDE; + /* 0xE0 */ s16 unkE0; + /* 0xE2 */ s16 unkE2; + /* 0xE4 */ s16 unkE4; + /* 0xE6 */ s16 unkE6; + /* 0xE8 */ s16 unkE8; + /* 0xEA */ s16 unkEA; +} Ent_80184058; +typedef struct { + u16 f0; + u16 f2; +} Ent_80186AE4; +typedef struct { u8 pad00[0x20]; /* 0x20 */ u8 *mtx; } Ent_80186E9C; +typedef struct { u8 pad00[0x20]; /* 0x20 */ u8 *mtx; } Ent_80186E9C_8018BCC4; +typedef Unkstruct_800B5CB8 Ent_80188E10; +typedef Unkstruct_800B5CB8 Ent_80188E10_80182F80; +typedef Unkstruct_800B5CB8 Ent_80188E10_80183BB4; +typedef Unkstruct_800B5CB8 Ent_80188E10_80183ED4; +typedef Unkstruct_800B5CB8 Ent_80188E10_80186EA4; +typedef Unkstruct_800B5CB8 Ent_80188E10_80187898; +typedef Unkstruct_800B5CB8 Ent_80188E10_80187DF8; +typedef Unkstruct_800B5CB8 Ent_80188E10_801887EC; +typedef Unkstruct_800B5CB8 Ent_80188E10_8018937C; +typedef Unkstruct_800B5CB8 Ent_80188E10_8018A2D0; +typedef struct { + u16 f0; + u16 f1; + u16 f2; + s16 f3; +} Ent_8018A224; +typedef struct { + u16 f0; /* 0x00 kind; 0 = dead, 0x318 = skipped */ + u8 p02[0x04 - 0x02]; + s16 f4; /* 0x04 x, fractional half */ + s16 f6; /* 0x06 x */ + u8 p08[0x0C - 0x08]; + s16 fC; /* 0x0C y, fractional half */ + s16 fE; /* 0x0E y (*(s32 *)&fC is the whole fixed) */ + s32 f10; /* 0x10 velocity, zeroed on reset */ + u8 p14[0x18 - 0x14]; + s32 f18; /* 0x18 velocity, zeroed on reset */ + u8 p1C[0x20 - 0x1C]; + s32 f20; /* 0x20 -> sub object (0x12 = busy bits) */ + u8 p24[0x38 - 0x24]; + s16 f38; /* 0x38 home x, fractional half */ + s16 f3A; /* 0x3A home x */ + s32 f3C; /* 0x3C "has a home" flag */ + s16 f40; /* 0x40 home y, fractional half */ + s16 f42; /* 0x42 home y */ + u8 p44[0x5E - 0x44]; + u8 f5E; /* 0x5E kind tag; 0x25 is excluded */ + u8 p5F[0x70 - 0x5F]; + s16 f70; /* 0x70 band: 4 = left, 5 = right */ + u8 p72[0x76 - 0x72]; + s16 f76; /* 0x76 budget */ + u8 p78[0x10C - 0x78]; /* stride 0x10C, 0x60 entries */ +} Ent_8018D3A4; +typedef struct { + u16 f0; /* 0x00 kind; 0 = dead, 0x318 = skipped */ + u8 p02[0x04 - 0x02]; + s16 f4; /* 0x04 x, fractional half */ + s16 f6; /* 0x06 x */ + u8 p08[0x0C - 0x08]; + s16 fC; /* 0x0C y, fractional half */ + s16 fE; /* 0x0E y (*(s32 *)&fC is the whole fixed) */ + s32 f10; /* 0x10 velocity, zeroed on reset */ + u8 p14[0x18 - 0x14]; + s32 f18; /* 0x18 velocity, zeroed on reset */ + u8 p1C[0x20 - 0x1C]; + s32 f20; /* 0x20 -> sub object (0x12 = busy bits) */ + u8 p24[0x38 - 0x24]; + s16 f38; /* 0x38 home x, fractional half */ + s16 f3A; /* 0x3A home x */ + s32 f3C; /* 0x3C "has a home" flag */ + s16 f40; /* 0x40 home y, fractional half */ + s16 f42; /* 0x42 home y */ + u8 p44[0x5E - 0x44]; + u8 f5E; /* 0x5E kind tag; 0x25 is excluded */ + u8 p5F[0x70 - 0x5F]; + s16 f70; /* 0x70 band: 4 = left, 5 = right */ + u8 p72[0x76 - 0x72]; + s16 f76; /* 0x76 budget */ + u8 p78[0x10C - 0x78]; /* stride 0x10C, 0x60 entries */ +} Ent_8018D654; +typedef struct { + s16 state; /* 0x0 */ + s16 cnt; /* 0x2 */ + s16 x; /* 0x4 */ + s16 y; /* 0x6 */ + s16 lim; /* 0x8 */ + s16 velo; /* 0xA */ + s16 spd; /* 0xC */ + s16 flag; /* 0xE */ +} Ent_801E650C; +typedef struct { + s16 f0; + s16 f2; + s16 f4; + s16 f6; + s16 f8; + s16 flag; +} Entry8018F07C; +typedef struct { + s16 f0; + s16 f2; + s16 f4; + s16 val; +} Entry_80186A04; +typedef struct { + u16 value; + u8 pad[14]; +} Entry_D_801949C8; +typedef struct { u32 *ot; u32 pad[4]; } Env_8017CA18; +typedef struct { u32 *ot; u32 pad[4]; } Env_8017FD50; +typedef struct { u32 *ot; u32 pad[4]; } Env_S40_8018B238; +typedef struct { u32 *ot; u32 pad[4]; } Env_S40_8018B238_80187EA0; +typedef struct { u32 *ot; u32 pad[4]; } Env_S40_8018B238_80188478; +typedef struct { u32 *ot; u32 pad[4]; } Env_S40_8018B238_80188778; +typedef struct { + u8 pad[0x5C]; + u16 f5C; +} F5C_S; +typedef struct { + /* 0x00 */ u32 tag; + /* 0x04 */ u8 r0, g0, b0, code; + /* 0x08 */ s16 x0, y0; + /* 0x0C */ u8 u0, v0; + /* 0x0E */ u16 clut; + /* 0x10 */ s16 x1, y1; + /* 0x14 */ u8 u1, v1; + /* 0x16 */ u16 tpage; + /* 0x18 */ s16 x2, y2; + /* 0x1C */ u8 u2, v2; + /* 0x1E */ u16 pad2; + /* 0x20 */ s16 x3, y3; + /* 0x24 */ u8 u3, v3; + /* 0x26 */ u16 pad3; +} FT4_801857A4; +typedef struct { + /* 0x00 */ s16 f0; + /* 0x02 */ s16 f2; /* OT depth */ + /* 0x04 */ s16 f4; /* first active frame - 1 */ + /* 0x06 */ s16 f6; /* ramp-in end frame */ + /* 0x08 */ s16 f8; /* last active frame */ + /* 0x0A */ s16 fA, fC, fE; + /* 0x10 */ Cv_8017F074 col; /* per-frame colour delta */ +} Fade_8017F074; +typedef struct { s16 v; } Flag_S40_8018B238; +typedef struct { s16 v; } Flag_S40_8018B238_80187EA0; +typedef struct { s16 v; } Flag_S40_8018B238_80188478; +typedef struct { s16 v; } Flag_S40_8018B238_80188778; +typedef void (*Fn8017ECC4)(void); +typedef struct { + u32 tag; /* 0x00 */ + u8 r0, g0, b0, code; /* 0x04 */ + s16 x0, y0; /* 0x08 */ + u8 u0, v0; u16 clut; /* 0x0C */ + s16 x1, y1; /* 0x10 */ + u8 u1, v1; u16 tpage; /* 0x14 */ + s16 x2, y2; /* 0x18 */ + u8 u2, v2; u16 pad2; /* 0x1C */ + s16 x3, y3; /* 0x20 */ + u8 u3, v3; u16 pad3; /* 0x24 */ +} Ft4_80183DA4; +typedef struct { + u32 tag; /* 0x00 */ + u8 r0, g0, b0, code; /* 0x04 */ + s16 x0, y0; /* 0x08 */ + u8 u0, v0; u16 clut; /* 0x0C */ + s16 x1, y1; /* 0x10 */ + u8 u1, v1; u16 tpage; /* 0x14 */ + s16 x2, y2; /* 0x18 */ + u8 u2, v2; u16 pad2; /* 0x1C */ + s16 x3, y3; /* 0x20 */ + u8 u3, v3; u16 pad3; /* 0x24 */ +} Ft4_80184138; +typedef struct { + s32 unk0; /* 0x00 */ + s16 unk4; /* 0x04 */ + s16 unk6; /* 0x06 */ +} Gte8_8017F2FC; +typedef struct { + s32 unk0; /* 0x00 */ + s16 otz; /* 0x04 */ + s16 unk6; /* 0x06 */ +} Gte8_80181574; +typedef struct { u16 h; u8 pad[0x4E]; } H50_80181E04; +typedef struct { + s16 f0; + s16 f2; + s16 f4; + s16 f6; + s16 f8; + s16 fA; +} Key12_8017DD64; +typedef struct { s32 w[4]; } LBlk16; +typedef struct { long vx, vy, vz, pad; } LV_801851A8; +typedef struct { long vx, vy, vz, pad; } LV_801851A8_80182D18; +typedef struct { long vx, vy, vz, pad; } LV_801851A8_80184E84; +typedef struct { long vx, vy, vz, pad; } LV_801851A8_80185D2C; +typedef struct { + s32 tag; /* 0x00 */ + s32 rgb; /* 0x04 code byte lives at +3 of this word */ + s32 xy0; /* 0x08 */ + s32 xy1; /* 0x0C */ +} LineF2; +typedef struct { + u8 addr[3]; + u8 len; + u8 r0, g0, b0, code; + s16 x0, y0; + s16 x1, y1; +} LineF2_80181A60; +typedef struct { + SVECTOR t0; + SVECTOR t1; + SVECTOR v0; + SVECTOR v1; + void *p0; + void *p1; + s32 zero1; + s32 zero2; + s32 tag; + u8 pad[16]; +} LinePrim_80189B1C; +typedef struct { + /* 0x00 */ s16 a30; + /* 0x02 */ s16 a2e; + /* 0x04 */ s16 a2c; + /* 0x06 */ s16 pad06; + /* 0x08 */ s32 buf[2]; + /* 0x10 */ s16 a20; + /* 0x12 */ s16 a1e; + /* 0x14 */ s16 a1c; +} Loc_8014A048; +typedef struct { + s8 pad00[0x14]; + s32 t0; + s32 t1; + s32 t2; + s16 z0; + s16 z1; + s16 v; + s16 pad36; + s16 o0; + s16 o1; + s16 o2; + s16 pad3e; +} Loc_8017DAEC; +typedef struct { + s16 f00; + s16 f02; + s16 f04; + s16 f06; + s16 f08; + s16 f0A; + s16 f0C; + s16 f0E; + s32 f10; +} Loc_80180E10; +typedef struct { + s16 field_0; + s16 field_2; + s16 field_4; + s16 field_6; + s16 field_8; + s16 field_A; + s16 field_C; + s16 field_E; + s32 field_10; +} LocalStruct; +typedef struct { + s16 field_0; + s16 field_2; + s16 field_4; + s16 field_6; + s16 field_8; + s16 field_A; + s16 field_C; + s16 field_E; + s32 field_10; +} LocalStruct_8018A968; +typedef struct { + u16 f0; + u16 f1; + u16 f2; + u16 f3; + u16 f4; + u16 f5; + u16 f6; + u16 f7; + s32 f8; +} Local_8017EE34; +typedef struct { + s16 f0; + s16 f1; + s16 f2; + s16 f3; + s16 f4; + s16 f5; + s16 f6; + s16 f7; + s32 f8; +} Local_80180ABC; +typedef struct { + u16 f0; + u16 f1; + u16 f2; + u16 f3; + u16 f4; + u16 f5; + u16 f6; + u16 f7; + s32 f8; +} Local_80181C84; +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 struct { + s16 m[10]; + s32 x; + s32 y; + s32 z; +} MB_8018562C; +typedef struct { + s16 m[10]; + s32 x; + s32 y; + s32 z; +} MB_80185764; +typedef struct { + s16 m[10]; + s32 x; + s32 y; + s32 z; +} MB_80185B04; +typedef struct { s16 m[3][3]; s32 t[3]; } 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_8017F19C_8017F690; +typedef struct { s16 m[3][3]; s32 t[3]; } MTX_8017D7C0_8017F19C_8018259C; +typedef struct { s16 m[3][3]; s32 t[3]; } MTX_8017D7C0_8017F19C_8018259C_8017E108; +typedef struct { s16 m[3][3]; s32 t[3]; } MTX_8017D7C0_8017F19C_8018259C_8017FB1C; +typedef struct { s16 m[3][3]; s32 t[3]; } MTX_8017D7C0_8017F19C_8018259C_80183FF8; +typedef struct { s16 m[3][3]; s32 t[3]; } MTX_8017D7C0_8017F19C_80182728; +typedef struct { s16 m[3][3]; s32 t[3]; } MTX_8017D7C0_8017F19C_80182728_8017F81C; +typedef struct { s16 m[3][3]; s32 t[3]; } MTX_8017D7C0_8017F19C_80182728_801814F4; +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_8017D7C0_801825C0; +typedef struct { s16 m[3][3]; s32 t[3]; } MTX_8017D7C0_80185F54; +typedef struct { s16 m[3][3]; s32 t[3]; } MTX_8017D7C0_80186B84; +typedef struct { s16 m[3][3]; s32 t[3]; } 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 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 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_80181858; +typedef struct { short m[3][3]; long t[3]; } MTX_801851A8_80182D18; +typedef struct { short m[3][3]; long t[3]; } MTX_801851A8_801839C4; +typedef struct { short m[3][3]; long t[3]; } MTX_801851A8_801839C4_80181D58; +typedef struct { short m[3][3]; long t[3]; } MTX_801851A8_801839C4_801822A0; +typedef struct { short m[3][3]; long t[3]; } MTX_801851A8_801839C4_8018241C; +typedef struct { short m[3][3]; long t[3]; } MTX_801851A8_801839C4_801841E8; +typedef struct { short m[3][3]; long t[3]; } MTX_801851A8_801839C4_80184730; +typedef struct { short m[3][3]; long t[3]; } MTX_801851A8_801839C4_801848AC; +typedef struct { short m[3][3]; long t[3]; } MTX_801851A8_801839C4_80184D6C; +typedef struct { short m[3][3]; long t[3]; } MTX_801851A8_801839C4_801852B4; +typedef struct { short m[3][3]; long t[3]; } MTX_801851A8_801839C4_80185430; +typedef struct { short m[3][3]; long t[3]; } MTX_801851A8_801839C4_80188660; +typedef struct { short m[3][3]; long t[3]; } MTX_801851A8_801839C4_80188C18; +typedef struct { short m[3][3]; long t[3]; } MTX_801851A8_8018486C; +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_C59C_80186078; +typedef struct { s16 m[3][3]; s32 t[3]; } MTX_C6F4; +typedef struct { s16 m[3][3]; s32 t[3]; } MTX_C974; +typedef struct { s16 m[3][3]; s32 t[3]; } MTX_C974_8017B238; +typedef struct { s16 m[3][3]; s32 t[3]; } MTX_C974_8017BA3C; +typedef struct { s16 m[3][3]; s32 t[3]; } MTX_C974_8017BB34; +typedef struct { s16 m[3][3]; s32 t[3]; } MTX_C974_80189F00; +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 struct { s32 w[8]; } Mat32L; +typedef struct { s32 w[8]; } Mat32_8017E2BC; +typedef struct { s32 w[8]; } Mat32_8017E910; +typedef struct { s32 w0, w4, w8, wC; s16 h10, hpad; s32 t0, t1, t2; } Mat32_8017F4E4; +typedef struct { s32 w[8]; } Mat32_80186C20; +typedef struct { s32 w0, w4, w8, wC; s16 h10, hpad; s32 t0, t1, t2; } Mat32_8018741C; +typedef struct { s32 w0, w4, w8, wC; s16 h10, hpad; s32 t0, t1, t2; } Mat32_80188B78; +typedef struct { + u8 pad[8]; /* 0x00 */ + u16 f8; /* 0x08 */ + u16 fa; /* 0x0a */ +} MatEntry_80187B04; +typedef struct { s16 m[16]; } Mat_80183C9C; +typedef struct { s16 m[3][3]; s32 t[3]; } Mat_80187A04; +typedef struct { + s16 x; + s16 y; + s16 z; + s16 type; + s16 sub; + s16 pad1; + s16 flag; + s16 pad2; + s32 extra; +} Msg_8018248C; +typedef struct { + s16 x; + s16 y; + s16 z; + s16 type; + s16 sub; + s16 pad1; + s16 flag; + s16 pad2; + s32 extra; +} Msg_8018248C_80180450; +typedef struct { + s16 x; + s16 y; + s16 z; + s16 type; + s16 sub; + s16 pad1; + s16 flag; + s16 pad2; + s32 extra; +} Msg_8018248C_801809B0; +typedef struct { + s16 x; + s16 y; + s16 z; + s16 type; + s16 sub; + s16 pad1; + s16 flag; + s16 pad2; + s32 extra; +} Msg_8018248C_80183DEC; +typedef struct { + s16 x; + s16 y; + s16 z; + s16 type; + u16 sub; + s16 pad1; + s16 flag; + s16 pad2; + 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 struct { s32 w[8]; } Mtx32_80186A34; +typedef struct { s16 m[3][3]; s32 t[3]; } 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 struct { + s16 m[3][3]; + s16 pad; + s32 t[3]; +} MtxLocal; +typedef struct { + s16 a, b, c, d; /* sp+0x20 : func_80049CAC arg0 (SV4; only a,b,c written) */ + u8 _gap1[28]; /* sp+0x28..0x44 : never referenced by an instruction */ + MtxLocal mtx; /* sp+0x44 : MATRIX out, t[] at sp+0x58 */ + 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 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 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 struct { + s16 m[9]; /* 0x00 */ + s16 pad; /* 0x12 */ + s32 t[3]; /* 0x14, 0x18, 0x1c */ +} Mtx_8018A180; +typedef struct { + Mtx_8018A180 mt; /* 0x00 */ + s32 rest[2]; /* 0x20..0x27 — frame padding, never touched */ +} MtxBuf_8018A180; +typedef struct { s16 m[3][3]; s16 pad; s32 t[3]; } Mtx_8018E8A0; +typedef struct { s16 m[3][3]; s16 pad; s32 t[3]; } Mtx_8018E8A0_80184FF0; +typedef struct { s16 m[3][3]; s16 pad; s32 t[3]; } Mtx_8018E8A0_801869CC; +typedef struct { + s16 unk00; + s16 unk02; + s16 unk04; + s16 unk06; +} Node_80189244; +typedef struct { u8 p[0xE0]; s32 xE0; } ObjE0_80180ABC; +typedef struct { + s8 pad00[0x02]; + u16 f002; + s8 pad04[0x1C]; + s32 *f020; + s8 pad24[0x4C]; + s16 f070; + s8 pad72[0x4E]; + u8 f0C0; +} Obj_8017D7CC; +typedef struct { + s32 unk00; /* 0x00 */ + s32 flags; /* 0x04 */ + Blk8_8018048C blk; /* 0x08 */ + s16 unk10; /* 0x10 */ + s16 unk12; /* 0x12 */ + s16 unk14[5]; /* 0x14 */ + s16 unk1E; /* 0x1E */ +} Obj_8018048C; +typedef struct { + s16 unk0; /* 0x00 — the shared vy of every generated vertex */ + s16 unk2; /* 0x02 — base angle */ + u32 unk4; /* 0x04 — packed colour (b in bits 16..23) */ +} Obj_801809C4; +typedef struct { + s32 unk0; /* 0x0 */ + u32 unk4; /* 0x4 */ + u16 unk8; /* 0x8 */ + u16 unkA; /* 0xA */ + u16 unkC; /* 0xC */ +} Obj_80182284; +typedef struct { + Node_80189244 unk00[52]; /* 0x000 .. 0x19F */ + s16 unk1A0; + s16 unk1A2; + s16 unk1A4; + s16 unk1A6; + s16 unk1A8; + s16 unk1AA; + s32 unk1AC; +} Obj_80189244; +typedef struct { + s32 a, b, c, d, e, f, g, h; +} Oct_801852BC; +typedef struct { + s32 w[8]; +} Oct_801853D0; +typedef struct { s32 a; s32 b[4]; } OtBlk_8017D3A0; +typedef struct { s32 a; s32 b[4]; } OtBlk_8017D3F8; +typedef struct { s32 a; s32 b[4]; } OtBlk_80180894; +typedef struct { s32 a; s32 b[4]; } OtBlk_801809C4; +typedef struct { s32 a; s32 b[4]; } OtBlk_80181A60; +typedef struct { s32 a; s32 b[4]; } OtBlk_80183DA4; +typedef struct { s32 a; s32 b[4]; } OtBlk_80184138; +typedef struct { s32 a; s32 b[4]; } OtBlk_80185B4C; +typedef struct { s32 a; s32 b[4]; } OtBlk_8018A974; +typedef struct { s32 a; s32 b[4]; } OtBlk_8018A974_8018AAF4; +typedef struct { s32 a; s32 b[4]; } OtBlk_8018A974_8018BB48; +typedef struct { s32 a; s32 b[4]; } OtBlk_8018A974_8018EB08; +typedef struct { s32 a; s32 b[4]; } OtBlk_8018A974_8018EB08_8018A28C; +typedef struct { s32 a; s32 b[4]; } OtBlk_8018A974_8018EB08_8018A28C_80183ED4; +typedef struct { s32 a; s32 b[4]; } OtBlk_8018A974_8018EB08_8018A28C_80187DF8; +typedef struct { s32 a; s32 b[4]; } OtBlk_8018A974_8018EB08_8018A28C_801887EC; +typedef struct { s32 a; s32 b[4]; } OtBlk_8018A974_8018EB08_8018A28C_8018A2D0; +typedef struct { s32 a; s32 b[4]; } OtBlk_8018A974_8018EB08_8018B1D8; +typedef struct { s32 a; s32 b[4]; } OtBlk_8018A974_8018EB08_8018BCC4; +typedef struct { s32 a; s32 b[4]; } OtBlk_8018FE0C; +typedef struct { s32 a; s32 b[4]; } Ot_8018B23C_801863B8; +typedef struct { s32 flag; u16 xy[2]; s32 sp1c; } Out_8017E910; +typedef struct { s32 flag; u16 xy[2]; s32 sp1c; } Out_8017E910_8017E508; +typedef struct { u16 xy[2]; s32 sp1c; s32 flag; } Out_8017EC34; +typedef struct { s16 a, b, c, d; } P16; +typedef struct { u32 tag, rgbc; s16 x0, y0, x1, y1, x2, y2; } PF3_C59C; +typedef struct { u32 tag, rgbc; s16 x0, y0, x1, y1, x2, y2; } PF3_C6F4; +typedef struct { u32 tag, rgbc; s16 x0, y0, x1, y1, x2, y2; } PF3_C974; +typedef struct { u32 tag, rgbc; s16 x0, y0, x1, y1, x2, y2; } PF3_CF90; +typedef struct { u32 tag, rgbc; s16 x0, y0, x1, y1, x2, y2; } PF3_D538; +typedef struct { u32 tag, rgbc; s16 x0, y0, x1, y1, x2, y2; } PF3_DF98; +typedef struct { u32 tag, rgbc; s16 x0, y0, x1, y1, x2, y2, x3, y3; } PF4_C59C; +typedef struct { u32 tag, rgbc; s16 x0, y0, x1, y1, x2, y2, x3, y3; } PF4_C6F4; +typedef struct { u32 tag, rgbc; s16 x0, y0, x1, y1, x2, y2, x3, y3; } PF4_C974; +typedef struct { u32 tag, rgbc; s16 x0, y0, x1, y1, x2, y2, x3, y3; } PF4_CF90; +typedef struct { u32 tag, rgbc; s16 x0, y0, x1, y1, x2, y2, x3, y3; } PF4_D538; +typedef struct { u32 tag, rgbc; s16 x0, y0, x1, y1, x2, y2, x3, y3; } PF4_DF98; +typedef struct { u32 tag, rgbc; s16 x0, y0; u32 uvc0; s16 x1, y1; u32 uvp1; s16 x2, y2; u16 uv2, p2; } PFT3_C59C; +typedef struct { u32 tag, rgbc; s16 x0, y0; u32 uvc0; s16 x1, y1; u32 uvp1; s16 x2, y2; u16 uv2, p2; } PFT3_C6F4; +typedef struct { u32 tag, rgbc; s16 x0, y0; u32 uvc0; s16 x1, y1; u32 uvp1; s16 x2, y2; u16 uv2, p2; } PFT3_C974; +typedef struct { u32 tag, rgbc; s16 x0, y0; u32 uvc0; s16 x1, y1; u32 uvp1; s16 x2, y2; u16 uv2, p2; } PFT3_CF90; +typedef struct { u32 tag, rgbc; s16 x0, y0; u32 uvc0; s16 x1, y1; u32 uvp1; s16 x2, y2; u16 uv2, p2; } PFT3_D538; +typedef struct { u32 tag, rgbc; s16 x0, y0; u32 uvc0; s16 x1, y1; u32 uvp1; s16 x2, y2; u16 uv2, p2; } PFT3_DF98; +typedef struct { u32 tag, rgbc; s16 x0, y0; u32 uvc0; s16 x1, y1; u32 uvp1; s16 x2, y2; u16 uv2, p2; s16 x3, y3; u16 uv3, p3; } PFT4_C59C; +typedef struct { u32 tag, rgbc; s16 x0, y0; u32 uvc0; s16 x1, y1; u32 uvp1; s16 x2, y2; u16 uv2, p2; s16 x3, y3; u16 uv3, p3; } PFT4_C6F4; +typedef struct { u32 tag, rgbc; s16 x0, y0; u32 uvc0; s16 x1, y1; u32 uvp1; s16 x2, y2; u16 uv2, p2; s16 x3, y3; u16 uv3, p3; } PFT4_C974; +typedef struct { u32 tag, rgbc; s16 x0, y0; u32 uvc0; s16 x1, y1; u32 uvp1; s16 x2, y2; u16 uv2, p2; s16 x3, y3; u16 uv3, p3; } PFT4_CF90; +typedef struct { u32 tag, rgbc; s16 x0, y0; u32 uvc0; s16 x1, y1; u32 uvp1; s16 x2, y2; u16 uv2, p2; s16 x3, y3; u16 uv3, p3; } PFT4_D538; +typedef struct { u32 tag, rgbc; s16 x0, y0; u32 uvc0; s16 x1, y1; u32 uvp1; s16 x2, y2; u16 uv2, p2; s16 x3, y3; u16 uv3, p3; } PFT4_DF98; +typedef struct { + u8 b0, b1, b2, len; + u8 r, g, b, code; + u16 x0, y0; u32 uv0; + u16 x1, y1; u32 uv1; + u16 x2, y2; u32 uv2; + u16 x3, y3; u32 uv3; +} PFT4_FD64; +typedef struct { + u32 tag; + u8 r0, g0, b0, code; + s16 x0, y0; + u8 r1, g1, b1, p1; + s16 x1, y1; + u8 r2, g2, b2, p2; + s16 x2, y2; + u8 r3, g3, b3, p3; + s16 x3, y3; +} PG4_8017FD50; +typedef struct { + u8 t0, t1, t2, len; /* 0x00 P_TAG */ + u8 r0, g0, b0, code; /* 0x04 */ + s16 x0, y0; /* 0x08 */ + u8 r1, g1, b1, p1; /* 0x0C */ + s16 x1, y1; /* 0x10 */ + u8 r2, g2, b2, p2; /* 0x14 */ + s16 x2, y2; /* 0x18 */ + u8 r3, g3, b3, p3; /* 0x1C */ + s16 x3, y3; /* 0x20 -> 0x24 */ +} PRIM_8017DC80; +typedef struct { u32 addr:24; u32 len:8; } PTAG_85910; +typedef struct { u32 addr : 24; u32 len : 8; } PTag_8017FD50; +typedef struct { u32 addr : 24; u32 len : 8; } PTag_80180B3C; +typedef struct { + PTag_80180B3C tag; + u8 r0, g0, b0, code; + u16 x0, y0; + u8 u0, v0; + u16 clut; + u16 x1, y1; + u8 u1, v1; + u16 tpage; + u16 x2, y2; + u8 u2, v2; + u16 pad2; + u16 x3, y3; + u8 u3, v3; + u16 pad3; +} Ft4_80180B3C; +typedef struct { u32 addr:24; u32 len:8; } PTag_80181E04; +typedef struct { u32 addr : 24; u32 len : 8; } PTag_801843D8; +typedef struct { u32 addr : 24; u32 len : 8; } PTag_801843D8_80183438; +typedef struct { u32 addr : 24; u32 len : 8; } PTag_801843D8_80186DCC; +typedef struct { u32 addr : 24; u32 len : 8; } PTag_801843D8_801879FC; +typedef struct { u32 addr : 24; u32 len : 8; } PTag_S40_8018B238; +typedef struct { u32 addr : 24; u32 len : 8; } PTag_S40_8018B238_80187EA0; +typedef struct { u32 addr : 24; u32 len : 8; } PTag_S40_8018B238_80188478; +typedef struct { u32 addr : 24; u32 len : 8; } PTag_S40_8018B238_80188778; +typedef struct { u32 addr : 24; u32 len : 8; } P_TAG_FD64; +typedef struct { + s32 a; /* 0x00 -> D_801D0120 */ + s32 b; /* 0x04 -> D_801D0124 */ +} Pair8_8017DDC4; +typedef struct { + s32 a; /* 0x00 -> D_801D30D8 */ + s32 b; /* 0x04 -> D_801D30DC */ +} Pair8_8017DDC4_8018034C; +typedef struct { + s32 a; /* 0x00 -> D_801B2EB0 */ + s32 b; /* 0x04 -> D_801B2EB4 */ +} Pair8_8017DDC4_80180F08; +typedef struct { + s32 a; /* 0x00 -> D_801DA750 */ + s32 b; /* 0x04 -> D_801DA754 */ +} Pair8_8017DDC4_80182244; +typedef struct { + s32 a; /* 0x00 -> D_801DA750 */ + s32 b; /* 0x04 -> D_801DA754 */ +} Pair8_8017DDC4_80182244_8017DAB8; +typedef struct { + s32 a; /* 0x00 -> D_801DA750 */ + s32 b; /* 0x04 -> D_801DA754 */ +} Pair8_8017DDC4_80182244_8017E72C; +typedef struct { + s32 a; /* 0x00 -> D_801DA750 */ + s32 b; /* 0x04 -> D_801DA754 */ +} Pair8_8017DDC4_80182244_80180040; +typedef struct { + s32 a; /* 0x00 -> D_801DA750 */ + s32 b; /* 0x04 -> D_801DA754 */ +} Pair8_8017DDC4_80182244_80180040_8017FEA0; +typedef struct { + s32 a; /* 0x00 -> D_801DA750 */ + s32 b; /* 0x04 -> D_801DA754 */ +} Pair8_8017DDC4_80182244_80180040_80180400; +typedef struct { + s32 a; /* 0x00 -> D_801DA750 */ + s32 b; /* 0x04 -> D_801DA754 */ +} Pair8_8017DDC4_80182244_80180040_80180450; +typedef struct { + s32 a; /* 0x00 -> D_801DA750 */ + s32 b; /* 0x04 -> D_801DA754 */ +} Pair8_8017DDC4_80182244_80180040_801809B0; +typedef struct { + s32 a; /* 0x00 -> D_801DA750 */ + s32 b; /* 0x04 -> D_801DA754 */ +} Pair8_8017DDC4_80182244_80180040_8018383C; +typedef struct { + s32 a; /* 0x00 -> D_801DA750 */ + s32 b; /* 0x04 -> D_801DA754 */ +} Pair8_8017DDC4_80182244_80180040_80183DEC; +typedef struct { + s32 a; /* 0x00 -> D_801DA750 */ + s32 b; /* 0x04 -> D_801DA754 */ +} Pair8_8017DDC4_80182244_80180970; +typedef struct { + s32 a; /* 0x00 -> D_801DA750 */ + s32 b; /* 0x04 -> D_801DA754 */ +} Pair8_8017DDC4_80182244_80180BFC; +typedef struct { + s32 a; /* 0x00 -> D_801DA750 */ + s32 b; /* 0x04 -> D_801DA754 */ +} Pair8_8017DDC4_80182244_80181824; +typedef struct { + s32 a; /* 0x00 -> D_801DA750 */ + s32 b; /* 0x04 -> D_801DA754 */ +} Pair8_8017DDC4_80182244_80186740; +typedef struct { + s32 a; /* 0x00 -> D_801DA750 */ + s32 b; /* 0x04 -> D_801DA754 */ +} Pair8_8017DDC4_80182244_80187DE4; +typedef struct { + s32 a; /* 0x00 -> D_801D0120 */ + s32 b; /* 0x04 -> D_801D0124 */ +} Pair8_8017DDC4_80186D9C; +typedef struct { + s32 a; /* 0x00 -> D_801D0120 */ + s32 b; /* 0x04 -> D_801D0124 */ +} Pair8_8017DDC4_80187780; +typedef struct { + s32 a; + s32 b; +} Pair_801B5E30; +typedef struct { + s32 a; + s32 b; +} Pair_801B5E30_8017E9CC; +typedef struct { + s32 a; + s32 b; +} Pair_801B5E30_8017EADC; +typedef struct { + s32 a; + s32 b; +} Pair_801B5E30_8017F08C; +typedef struct { + s32 a; + s32 b; +} Pair_801B5E30_80180AE4; +typedef struct Panel_S40_8018B238 { + s16 f0; /* 0x00 */ + s16 f2; /* 0x02 */ + void *f4; /* 0x04 */ + void *f8; /* 0x08 */ + s16 fC; /* 0x0C */ + s16 fE; /* 0x0E */ + s16 f10; /* 0x10 */ + s16 f12; /* 0x12 */ + void *f14; /* 0x14 */ + void *f18; /* 0x18 */ + void *f1C; /* 0x1C */ +} Panel_S40_8018B238; +typedef struct Panel_S40_8018B238_80187EA0 { + s16 f0; /* 0x00 */ + s16 f2; /* 0x02 */ + void *f4; /* 0x04 */ + void *f8; /* 0x08 */ + s16 fC; /* 0x0C */ + s16 fE; /* 0x0E */ + s16 f10; /* 0x10 */ + s16 f12; /* 0x12 */ + void *f14; /* 0x14 */ + void *f18; /* 0x18 */ + void *f1C; /* 0x1C */ +} Panel_S40_8018B238_80187EA0; +typedef struct Panel_S40_8018B238_80188478 { + s16 f0; /* 0x00 */ + s16 f2; /* 0x02 */ + void *f4; /* 0x04 */ + void *f8; /* 0x08 */ + s16 fC; /* 0x0C */ + s16 fE; /* 0x0E */ + s16 f10; /* 0x10 */ + s16 f12; /* 0x12 */ + void *f14; /* 0x14 */ + void *f18; /* 0x18 */ + void *f1C; /* 0x1C */ +} Panel_S40_8018B238_80188478; +typedef struct Panel_S40_8018B238_80188778 { + s16 f0; /* 0x00 */ + s16 f2; /* 0x02 */ + void *f4; /* 0x04 */ + void *f8; /* 0x08 */ + s16 fC; /* 0x0C */ + s16 fE; /* 0x0E */ + s16 f10; /* 0x10 */ + s16 f12; /* 0x12 */ + void *f14; /* 0x14 */ + void *f18; /* 0x18 */ + void *f1C; /* 0x1C */ +} Panel_S40_8018B238_80188778; +typedef struct { u32 xx, yy, zz; u32 nprim; u32 *prim; } Part80180FE4; +typedef struct { + s16 f0; + s16 f1; + s16 f2; + s16 f3; + s16 f4; + s16 f5; + s16 f6; + s16 f7; + s32 f8; +} Pkt_801861D8; +typedef struct { + s16 f0; + s16 f1; + s16 f2; + s16 f3; + s16 f4; + s16 f5; + s16 f6; + s16 f7; + s32 f8; +} Pkt_8018626C; +typedef struct { u32 tag, rgbc; s16 x0, y0; u32 uvc0; s16 x1, y1; u32 uvp1; + s16 x2, y2; u16 uv2, p2; } PolyFT3_80180FE4; +typedef struct { u32 tag, rgbc; s16 x0, y0; u32 uvc0; s16 x1, y1; u32 uvp1; + s16 x2, y2; u16 uv2, p2; s16 x3, y3; u16 uv3, p3; } PolyFT4_80180FE4; +typedef struct { s16 m0, m1, m2, m3; } Pos; +typedef struct { + s16 f0, f2, f4, f6, f8, fA, fC, fE; +} Pos16_8018743C; +typedef struct { + u16 x; /* +0x0 */ + u16 y; /* +0x2 */ + u16 z; /* +0x4 */ +} Pos_8017DC24; +typedef struct { + u16 x; /* +0x0 */ + u16 y; /* +0x2 */ + u16 z; /* +0x4 */ +} Pos_8017F6A8; +typedef struct { + u16 x; /* +0x0 */ + u16 y; /* +0x2 */ + u16 z; /* +0x4 */ +} Pos_8018012C; +typedef struct { + u16 x; /* +0x0 */ + u16 y; /* +0x2 */ + u16 z; /* +0x4 */ +} Pos_80185C0C; +typedef struct { + s16 x, y, z; /* D_801F8428 / D_801F842A / D_801F842C */ + u16 a, b, c; /* D_801F842E / D_801F8430 / D_801F8432 */ +} Pose_8017E330; +typedef struct { + s16 x, y, z; + u16 a, b, c; +} Pose_8017E550; +typedef struct { + s16 x, y, z; + u16 a, b, c; +} Pose_8017E878; +typedef struct { u32 w0, w1, w2; } Prim126; +typedef struct { u8 *vtx; u32 f4; u32 xx, yy, zz; Prim126 *prim, *end; } Cell126; +typedef struct { + SVECTOR_8016E7C8 v[4]; /* 0x00, 0x20 bytes */ + s32 f0, f1, f2, f3, f4; /* 0x20 - 0x33 */ +} Prim34_80190174; +typedef struct { u32 w0, w1, w2; } Prim59C; +typedef struct { u8 *vtx; u32 f4; u32 xx, yy, zz; Prim59C *prim, *end; } Cell59C; +typedef struct { s16 f10, f12, f14, f16, f18, f1A, f1C, f1E; s32 f20; } Prim80180A38; +typedef struct { u32 w0, w1, w2; } PrimC59C; +typedef struct { u8 *vtx; u32 f4; u32 xx, yy, zz; PrimC59C *prim, *end; } CellC59C; +typedef struct { u32 w0, w1, w2; } PrimC974; +typedef struct { u8 *vtx; u32 f4; u32 xx, yy, zz; PrimC974 *prim, *end; } CellC974; +typedef struct { u32 w0, w1, w2; } PrimCF90; +typedef struct { u8 *vtx; u32 f4; u32 xx, yy, zz; PrimCF90 *prim, *end; } CellCF90; +typedef struct { u32 w0, w1, w2; } PrimD538; +typedef struct { u8 *vtx; u32 f4; u32 xx, yy, zz; PrimD538 *prim, *end; } CellD538; +typedef struct { u32 w0, w1, w2; } PrimDF98; +typedef struct { u8 *vtx; u32 f4; u32 xx, yy, zz; PrimDF98 *prim, *end; } CellDF98; +typedef struct { s16 f10, f12, f14, f16, f18, f1A, f1C, f1E; s32 f20; } PrimF790; +typedef struct { + SVECTOR v[4]; /* 0x00 */ + s32 f0, f1, f2, f3, f4, f5; /* 0x20..0x37 */ + u8 f6; /* 0x38 */ + u8 pad[7]; /* -> 0x40 */ +} Prim_8016E7C8_8016B6BC; +typedef struct { + SVECTOR v[4]; /* 0x00 */ + s32 f0, f1, f2, f3, f4, f5; /* 0x20..0x37 */ + u8 f6; /* 0x38 */ + u8 pad[7]; /* -> 0x40 */ +} Prim_8016E7C8_8016B9F8; +typedef struct { + SVECTOR v[4]; /* 0x00 */ + s32 f0, f1, f2, f3, f4, f5; /* 0x20..0x37 */ + u8 f6; /* 0x38 */ + u8 pad[7]; /* -> 0x40 */ +} Prim_8016E7C8_8016C2C4; +typedef struct { + SVECTOR v[4]; /* 0x00 */ + s32 f0, f1, f2, f3, f4, f5; /* 0x20..0x37 */ + u8 f6; /* 0x38 */ + u8 pad[7]; /* -> 0x40 */ +} Prim_8016E7C8_8016CBC0; +typedef struct { + SVECTOR v[4]; /* 0x00 */ + s32 f0, f1, f2, f3, f4, f5; /* 0x20..0x37 */ + u8 f6; /* 0x38 */ + u8 pad[7]; /* -> 0x40 */ +} Prim_8016E7C8_8016EB3C; +typedef struct { + SVECTOR v[4]; /* 0x00 */ + s32 f0, f1, f2, f3, f4, f5; /* 0x20..0x37 */ + u8 f6; /* 0x38 */ + u8 pad[7]; /* -> 0x40 */ +} Prim_8016E7C8_8016EC0C; +typedef struct { + SVECTOR v[4]; /* 0x00 */ + s32 f0, f1, f2, f3, f4, f5; /* 0x20..0x37 */ + u8 f6; /* 0x38 */ + u8 pad[7]; /* -> 0x40 */ +} Prim_8016E7C8_8016F1C4; +typedef struct { + SVECTOR v[4]; /* 0x00 */ + s32 f0, f1, f2, f3, f4, f5; /* 0x20..0x37 */ + u8 f6; /* 0x38 */ + u8 pad[7]; /* -> 0x40 */ +} Prim_8016E7C8_80175DA8; +typedef struct { + SVECTOR v[4]; /* 0x00 */ + s32 f0, f1, f2, f3, f4, f5; /* 0x20..0x37 */ + u8 f6; /* 0x38 */ + u8 pad[7]; /* -> 0x40 */ +} Prim_8016E7C8_80176218; +typedef struct { + SVECTOR v[4]; /* 0x00 */ + s32 f0, f1, f2, f3, f4, f5; /* 0x20..0x37 */ + u8 f6; /* 0x38 */ + u8 pad[7]; /* -> 0x40 */ +} Prim_8016E7C8_80176734; +typedef struct { + SVECTOR v[4]; /* 0x00 */ + s32 f0, f1, f2, f3, f4, f5; /* 0x20..0x37 */ + u8 f6; /* 0x38 */ + u8 pad[7]; /* -> 0x40 */ +} Prim_8016E7C8_80177B5C; +typedef struct { + SVECTOR v[4]; /* 0x00 */ + s32 f0, f1, f2, f3, f4, f5; /* 0x20..0x37 */ + u8 f6; /* 0x38 */ + u8 pad[7]; /* -> 0x40 */ +} Prim_8016E7C8_80177DA8; +typedef struct { + SVECTOR v[4]; /* 0x00 */ + s32 f0, f1, f2, f3, f4, f5; /* 0x20..0x37 */ + u8 f6; /* 0x38 */ + u8 pad[7]; /* -> 0x40 */ +} Prim_8016E7C8_80178970; +typedef struct { + SVECTOR_8016E7C8 v[4]; /* 0x00 */ + s32 f0, f1, f2, f3, f4, f5; /* 0x20..0x37 */ + u8 f6; /* 0x38 */ + u8 pad[7]; /* -> 0x40 */ +} Prim_8016E7C8_8017BEF8; +typedef struct { + SVECTOR_8016E7C8 v[4]; /* 0x00 */ + s32 f0, f1, f2, f3, f4, f5; /* 0x20..0x37 */ + u8 f6; /* 0x38 */ + u8 pad[7]; /* -> 0x40 */ +} Prim_8016E7C8_8017CE7C; +typedef struct { + SVECTOR_8016E7C8 v[4]; /* 0x00 */ + s32 f0, f1, f2, f3, f4, f5; /* 0x20..0x37 */ + u8 f6; /* 0x38 */ + u8 pad[7]; /* -> 0x40 */ +} Prim_8016E7C8_8017D030; +typedef struct { + SVECTOR_8016E7C8 v[4]; /* 0x00 */ + s32 f0, f1, f2, f3, f4, f5; /* 0x20..0x37 */ + u8 f6; /* 0x38 */ + u8 pad[7]; /* -> 0x40 */ +} Prim_8016E7C8_8017D1E0; +typedef struct { + SVECTOR_8016E7C8 v[4]; /* 0x00 */ + s32 f0, f1, f2, f3, f4, f5; /* 0x20..0x37 */ + u8 f6; /* 0x38 */ + u8 pad[7]; /* -> 0x40 */ +} Prim_8016E7C8_8017D4B4; +typedef struct { + SVECTOR_8016E7C8 v[4]; /* 0x00 */ + s32 f0, f1, f2, f3, f4, f5; /* 0x20..0x37 */ + u8 f6; /* 0x38 */ + u8 pad[7]; /* -> 0x40 */ +} Prim_8016E7C8_8017D728; +typedef struct { + SVECTOR_8016E7C8 v[4]; /* 0x00 */ + s32 f0, f1, f2, f3, f4, f5; /* 0x20..0x37 */ + u8 f6; /* 0x38 */ + u8 pad[7]; /* -> 0x40 */ +} Prim_8016E7C8_8017D9CC; +typedef struct { + SVECTOR_8016E7C8 v[4]; /* 0x00 */ + s32 f0, f1, f2, f3, f4, f5; /* 0x20..0x37 */ + u8 f6; /* 0x38 */ + u8 pad[7]; /* -> 0x40 */ +} Prim_8016E7C8_8017DA64; +typedef struct { + SVECTOR_8016E7C8 v[4]; /* 0x00 */ + s32 f0, f1, f2, f3, f4, f5; /* 0x20..0x37 */ + u8 f6; /* 0x38 */ + u8 pad[7]; /* -> 0x40 */ +} Prim_8016E7C8_8017DBEC; +typedef struct { + SVECTOR_8016E7C8 v[4]; /* 0x00 */ + s32 f0, f1, f2, f3, f4, f5; /* 0x20..0x37 */ + u8 f6; /* 0x38 */ + u8 pad[7]; /* -> 0x40 */ +} Prim_8016E7C8_8017DEA0; +typedef struct { + SVECTOR_8016E7C8 v[4]; /* 0x00 */ + s32 f0, f1, f2, f3, f4, f5; /* 0x20..0x37 */ + u8 f6; /* 0x38 */ + u8 pad[7]; /* -> 0x40 */ +} Prim_8016E7C8_8017DFB0; +typedef struct { + SVECTOR_8016E7C8 v[4]; /* 0x00 */ + s32 f0, f1, f2, f3, f4, f5; /* 0x20..0x37 */ + u8 f6; /* 0x38 */ + u8 pad[7]; /* -> 0x40 */ +} Prim_8016E7C8_8017E470; +typedef struct { + SVECTOR_8016E7C8 v[4]; /* 0x00 */ + s32 f0, f1, f2, f3, f4, f5; /* 0x20..0x37 */ + u8 f6; /* 0x38 */ + u8 pad[7]; /* -> 0x40 */ +} Prim_8016E7C8_8017E560; +typedef struct { + SVECTOR_8016E7C8 v[4]; /* 0x00 */ + s32 f0, f1, f2, f3, f4, f5; /* 0x20..0x37 */ + u8 f6; /* 0x38 */ + u8 pad[7]; /* -> 0x40 */ +} Prim_8016E7C8_8017E590; +typedef struct { + SVECTOR_8016E7C8 v[4]; /* 0x00 */ + s32 f0, f1, f2, f3, f4, f5; /* 0x20..0x37 */ + u8 f6; /* 0x38 */ + u8 pad[7]; /* -> 0x40 */ +} Prim_8016E7C8_8017E5B8; +typedef struct { + SVECTOR_8016E7C8 v[4]; /* 0x00 */ + s32 f0, f1, f2, f3, f4, f5; /* 0x20..0x37 */ + u8 f6; /* 0x38 */ + u8 pad[7]; /* -> 0x40 */ +} Prim_8016E7C8_8017E6F0; +typedef struct { + SVECTOR_8016E7C8 v[4]; /* 0x00 */ + s32 f0, f1, f2, f3, f4, f5; /* 0x20..0x37 */ + u8 f6; /* 0x38 */ + u8 pad[7]; /* -> 0x40 */ +} Prim_8016E7C8_8017EAB4; +typedef struct { + SVECTOR_8016E7C8 v[4]; /* 0x00 */ + s32 f0, f1, f2, f3, f4, f5; /* 0x20..0x37 */ + u8 f6; /* 0x38 */ + u8 pad[7]; /* -> 0x40 */ +} Prim_8016E7C8_8017EC6C; +typedef struct { + SVECTOR_8016E7C8 v[4]; /* 0x00 */ + s32 f0, f1, f2, f3, f4, f5; /* 0x20..0x37 */ + u8 f6; /* 0x38 */ + u8 pad[7]; /* -> 0x40 */ +} Prim_8016E7C8_8017F640; +typedef struct { + SVECTOR_8016E7C8 v[4]; /* 0x00 */ + s32 f0, f1, f2, f3, f4, f5; /* 0x20..0x37 */ + u8 f6; /* 0x38 */ + u8 pad[7]; /* -> 0x40 */ +} Prim_8016E7C8_8017F67C; +typedef struct { + SVECTOR_8016E7C8 v[4]; /* 0x00 */ + s32 f0, f1, f2, f3, f4, f5; /* 0x20..0x37 */ + u8 f6; /* 0x38 */ + u8 pad[7]; /* -> 0x40 */ +} Prim_8016E7C8_8017F6D8; +typedef struct { + SVECTOR_8016E7C8 v[4]; /* 0x00 */ + s32 f0, f1, f2, f3, f4, f5; /* 0x20..0x37 */ + u8 f6; /* 0x38 */ + u8 pad[7]; /* -> 0x40 */ +} Prim_8016E7C8_8017F6E8; +typedef struct { + SVECTOR_8016E7C8 v[4]; /* 0x00 */ + s32 f0, f1, f2, f3, f4, f5; /* 0x20..0x37 */ + u8 f6; /* 0x38 */ + u8 pad[7]; /* -> 0x40 */ +} Prim_8016E7C8_8017F8A0; +typedef struct { + SVECTOR_8016E7C8 v[4]; /* 0x00 */ + s32 f0, f1, f2, f3, f4, f5; /* 0x20..0x37 */ + u8 f6; /* 0x38 */ + u8 pad[7]; /* -> 0x40 */ +} Prim_8016E7C8_8017F9CC; +typedef struct { + SVECTOR_8016E7C8 v[4]; /* 0x00 */ + s32 f0, f1, f2, f3, f4, f5; /* 0x20..0x37 */ + u8 f6; /* 0x38 */ + u8 pad[7]; /* -> 0x40 */ +} Prim_8016E7C8_8017FBEC; +typedef struct { + SVECTOR_8016E7C8 v[4]; /* 0x00 */ + s32 f0, f1, f2, f3, f4, f5; /* 0x20..0x37 */ + u8 f6; /* 0x38 */ + u8 pad[7]; /* -> 0x40 */ +} Prim_8016E7C8_8017FFA0; +typedef struct { + SVECTOR_8016E7C8 v[4]; /* 0x00 */ + s32 f0, f1, f2, f3, f4, f5; /* 0x20..0x37 */ + u8 f6; /* 0x38 */ + u8 pad[7]; /* -> 0x40 */ +} Prim_8016E7C8_8017FFB8; +typedef struct { + SVECTOR_8016E7C8 v[4]; /* 0x00 */ + s32 f0, f1, f2, f3, f4, f5; /* 0x20..0x37 */ + u8 f6; /* 0x38 */ + u8 pad[7]; /* -> 0x40 */ +} Prim_8016E7C8_801801E0; +typedef struct { + SVECTOR_8016E7C8 v[4]; /* 0x00 */ + s32 f0, f1, f2, f3, f4, f5; /* 0x20..0x37 */ + u8 f6; /* 0x38 */ + u8 pad[7]; /* -> 0x40 */ +} Prim_8016E7C8_8018023C; +typedef struct { + SVECTOR_8016E7C8 v[4]; /* 0x00 */ + s32 f0, f1, f2, f3, f4, f5; /* 0x20..0x37 */ + u8 f6; /* 0x38 */ + u8 pad[7]; /* -> 0x40 */ +} Prim_8016E7C8_80180448; +typedef struct { + SVECTOR_8016E7C8 v[4]; /* 0x00 */ + s32 f0, f1, f2, f3, f4, f5; /* 0x20..0x37 */ + u8 f6; /* 0x38 */ + u8 pad[7]; /* -> 0x40 */ +} Prim_8016E7C8_801805F0; +typedef struct { + SVECTOR_8016E7C8 v[4]; /* 0x00 */ + s32 f0, f1, f2, f3, f4, f5; /* 0x20..0x37 */ + u8 f6; /* 0x38 */ + u8 pad[7]; /* -> 0x40 */ +} Prim_8016E7C8_80180E78; +typedef struct { + SVECTOR_8016E7C8 v[4]; /* 0x00 */ + s32 f0, f1, f2, f3, f4, f5; /* 0x20..0x37 */ + u8 f6; /* 0x38 */ + u8 pad[7]; /* -> 0x40 */ +} Prim_8016E7C8_80181784; +typedef struct { + SVECTOR_8016E7C8 v[4]; /* 0x00 */ + s32 f0, f1, f2, f3, f4, f5; /* 0x20..0x37 */ + u8 f6; /* 0x38 */ + u8 pad[7]; /* -> 0x40 */ +} Prim_8016E7C8_801819C0; +typedef struct { + SVECTOR_8016E7C8 v[4]; /* 0x00 */ + s32 f0, f1, f2, f3, f4, f5; /* 0x20..0x37 */ + u8 f6; /* 0x38 */ + u8 pad[7]; /* -> 0x40 */ +} Prim_8016E7C8_80181CE0; +typedef struct { + SVECTOR_8016E7C8 v[4]; /* 0x00 */ + s32 f0, f1, f2, f3, f4, f5; /* 0x20..0x37 */ + u8 f6; /* 0x38 */ + u8 pad[7]; /* -> 0x40 */ +} Prim_8016E7C8_80181D80; +typedef struct { + SVECTOR_8016E7C8 v[4]; /* 0x00 */ + s32 f0, f1, f2, f3, f4, f5; /* 0x20..0x37 */ + u8 f6; /* 0x38 */ + u8 pad[7]; /* -> 0x40 */ +} Prim_8016E7C8_80181DC4; +typedef struct { + SVECTOR_8016E7C8 v[4]; /* 0x00 */ + s32 f0, f1, f2, f3, f4, f5; /* 0x20..0x37 */ + u8 f6; /* 0x38 */ + u8 pad[7]; /* -> 0x40 */ +} Prim_8016E7C8_80181DE0; +typedef struct { + SVECTOR_8016E7C8 v[4]; /* 0x00 */ + s32 f0, f1, f2, f3, f4, f5; /* 0x20..0x37 */ + u8 f6; /* 0x38 */ + u8 pad[7]; /* -> 0x40 */ +} Prim_8016E7C8_80181EC0; +typedef struct { + SVECTOR_8016E7C8 v[4]; /* 0x00 */ + s32 f0, f1, f2, f3, f4, f5; /* 0x20..0x37 */ + u8 f6; /* 0x38 */ + u8 pad[7]; /* -> 0x40 */ +} Prim_8016E7C8_801825C0; +typedef struct { + SVECTOR_8016E7C8 v[4]; /* 0x00 */ + s32 f0, f1, f2, f3, f4, f5; /* 0x20..0x37 */ + u8 f6; /* 0x38 */ + u8 pad[7]; /* -> 0x40 */ +} Prim_8016E7C8_801829D8; +typedef struct { + SVECTOR_8016E7C8 v[4]; /* 0x00 */ + s32 f0, f1, f2, f3, f4, f5; /* 0x20..0x37 */ + u8 f6; /* 0x38 */ + u8 pad[7]; /* -> 0x40 */ +} Prim_8016E7C8_80182B90; +typedef struct { + SVECTOR_8016E7C8 v[4]; /* 0x00 */ + s32 f0, f1, f2, f3, f4, f5; /* 0x20..0x37 */ + u8 f6; /* 0x38 */ + u8 pad[7]; /* -> 0x40 */ +} Prim_8016E7C8_80182E54; +typedef struct { + SVECTOR_8016E7C8 v[4]; /* 0x00 */ + s32 f0, f1, f2, f3, f4, f5; /* 0x20..0x37 */ + u8 f6; /* 0x38 */ + u8 pad[7]; /* -> 0x40 */ +} Prim_8016E7C8_80182E84; +typedef struct { + SVECTOR_8016E7C8 v[4]; /* 0x00 */ + s32 f0, f1, f2, f3, f4, f5; /* 0x20..0x37 */ + u8 f6; /* 0x38 */ + u8 pad[7]; /* -> 0x40 */ +} Prim_8016E7C8_8018330C; +typedef struct { + SVECTOR_8016E7C8 v[4]; /* 0x00 */ + s32 f0, f1, f2, f3, f4, f5; /* 0x20..0x37 */ + u8 f6; /* 0x38 */ + u8 pad[7]; /* -> 0x40 */ +} Prim_8016E7C8_801833CC; +typedef struct { + SVECTOR_8016E7C8 v[4]; /* 0x00 */ + s32 f0, f1, f2, f3, f4, f5; /* 0x20..0x37 */ + u8 f6; /* 0x38 */ + u8 pad[7]; /* -> 0x40 */ +} Prim_8016E7C8_80183584; +typedef struct { + SVECTOR_8016E7C8 v[4]; /* 0x00 */ + s32 f0, f1, f2, f3, f4, f5; /* 0x20..0x37 */ + u8 f6; /* 0x38 */ + u8 pad[7]; /* -> 0x40 */ +} Prim_8016E7C8_8018359C; +typedef struct { + SVECTOR_8016E7C8 v[4]; /* 0x00 */ + s32 f0, f1, f2, f3, f4, f5; /* 0x20..0x37 */ + u8 f6; /* 0x38 */ + u8 pad[7]; /* -> 0x40 */ +} Prim_8016E7C8_80183DC0; +typedef struct { + SVECTOR_8016E7C8 v[4]; /* 0x00 */ + s32 f0, f1, f2, f3, f4, f5; /* 0x20..0x37 */ + u8 f6; /* 0x38 */ + u8 pad[7]; /* -> 0x40 */ +} Prim_8016E7C8_80183ED4; +typedef struct { + SVECTOR_8016E7C8 v[4]; /* 0x00 */ + s32 f0, f1, f2, f3, f4, f5; /* 0x20..0x37 */ + u8 f6; /* 0x38 */ + u8 pad[7]; /* -> 0x40 */ +} Prim_8016E7C8_80183FF8; +typedef struct { + SVECTOR_8016E7C8 v[4]; /* 0x00 */ + s32 f0, f1, f2, f3, f4, f5; /* 0x20..0x37 */ + u8 f6; /* 0x38 */ + u8 pad[7]; /* -> 0x40 */ +} Prim_8016E7C8_8018480C; +typedef struct { + SVECTOR_8016E7C8 v[4]; /* 0x00 */ + s32 f0, f1, f2, f3, f4, f5; /* 0x20..0x37 */ + u8 f6; /* 0x38 */ + u8 pad[7]; /* -> 0x40 */ +} Prim_8016E7C8_80184BFC; +typedef struct { + SVECTOR_8016E7C8 v[4]; /* 0x00 */ + s32 f0, f1, f2, f3, f4, f5; /* 0x20..0x37 */ + u8 f6; /* 0x38 */ + u8 pad[7]; /* -> 0x40 */ +} Prim_8016E7C8_80184EB0; +typedef struct { + SVECTOR_8016E7C8 v[4]; /* 0x00 */ + s32 f0, f1, f2, f3, f4, f5; /* 0x20..0x37 */ + u8 f6; /* 0x38 */ + u8 pad[7]; /* -> 0x40 */ +} Prim_8016E7C8_80185068; +typedef struct { + SVECTOR_8016E7C8 v[4]; /* 0x00 */ + s32 f0, f1, f2, f3, f4, f5; /* 0x20..0x37 */ + u8 f6; /* 0x38 */ + u8 pad[7]; /* -> 0x40 */ +} Prim_8016E7C8_80185434; +typedef struct { + SVECTOR_8016E7C8 v[4]; /* 0x00 */ + s32 f0, f1, f2, f3, f4, f5; /* 0x20..0x37 */ + u8 f6; /* 0x38 */ + u8 pad[7]; /* -> 0x40 */ +} Prim_8016E7C8_8018543C; +typedef struct { + SVECTOR_8016E7C8 v[4]; /* 0x00 */ + s32 f0, f1, f2, f3, f4, f5; /* 0x20..0x37 */ + u8 f6; /* 0x38 */ + u8 pad[7]; /* -> 0x40 */ +} Prim_8016E7C8_80185774; +typedef struct { + SVECTOR_8016E7C8 v[4]; /* 0x00 */ + s32 f0, f1, f2, f3, f4, f5; /* 0x20..0x37 */ + u8 f6; /* 0x38 */ + u8 pad[7]; /* -> 0x40 */ +} Prim_8016E7C8_80185F54; +typedef struct { + SVECTOR_8016E7C8 v[4]; /* 0x00 */ + s32 f0, f1, f2, f3, f4, f5; /* 0x20..0x37 */ + u8 f6; /* 0x38 */ + u8 pad[7]; /* -> 0x40 */ +} Prim_8016E7C8_801863A4; +typedef struct { + SVECTOR_8016E7C8 v[4]; /* 0x00 */ + s32 f0, f1, f2, f3, f4, f5; /* 0x20..0x37 */ + u8 f6; /* 0x38 */ + u8 pad[7]; /* -> 0x40 */ +} Prim_8016E7C8_801865EC; +typedef struct { + SVECTOR_8016E7C8 v[4]; /* 0x00 */ + s32 f0, f1, f2, f3, f4, f5; /* 0x20..0x37 */ + u8 f6; /* 0x38 */ + u8 pad[7]; /* -> 0x40 */ +} Prim_8016E7C8_80186B84; +typedef struct { + SVECTOR_8016E7C8 v[4]; /* 0x00 */ + s32 f0, f1, f2, f3, f4, f5; /* 0x20..0x37 */ + u8 f6; /* 0x38 */ + u8 pad[7]; /* -> 0x40 */ +} Prim_8016E7C8_80187DF8; +typedef struct { + SVECTOR_8016E7C8 v[4]; /* 0x00 */ + s32 f0, f1, f2, f3, f4, f5; /* 0x20..0x37 */ + u8 f6; /* 0x38 */ + u8 pad[7]; /* -> 0x40 */ +} Prim_8016E7C8_80188544; +typedef struct { + SVECTOR_8016E7C8 v[4]; /* 0x00 */ + s32 f0, f1, f2, f3, f4, f5; /* 0x20..0x37 */ + u8 f6; /* 0x38 */ + u8 pad[7]; /* -> 0x40 */ +} Prim_8016E7C8_801887EC; +typedef struct { + SVECTOR_8016E7C8 v[4]; /* 0x00 */ + s32 f0, f1, f2, f3, f4, f5; /* 0x20..0x37 */ + u8 f6; /* 0x38 */ + u8 pad[7]; /* -> 0x40 */ +} Prim_8016E7C8_80188B1C; +typedef struct { + SVECTOR_8016E7C8 v[4]; /* 0x00 */ + s32 f0, f1, f2, f3, f4, f5; /* 0x20..0x37 */ + u8 f6; /* 0x38 */ + u8 pad[7]; /* -> 0x40 */ +} Prim_8016E7C8_801891DC; +typedef struct { + SVECTOR_8016E7C8 v[4]; /* 0x00 */ + s32 f0, f1, f2, f3, f4, f5; /* 0x20..0x37 */ + u8 f6; /* 0x38 */ + u8 pad[7]; /* -> 0x40 */ +} Prim_8016E7C8_8018A2D0; +typedef struct { + SVECTOR_8016E7C8 v[4]; /* 0x00 */ + s32 f0, f1, f2, f3, f4, f5; /* 0x20..0x37 */ + u8 f6; /* 0x38 */ + u8 pad[7]; /* -> 0x40 */ +} Prim_8016E7C8_8018B8DC; +typedef struct { + SVECTOR_8016E7C8 v[4]; /* 0x00 */ + s32 f0, f1, f2, f3, f4, f5; /* 0x20..0x37 */ + u8 f6; /* 0x38 */ + u8 pad[7]; /* -> 0x40 */ +} Prim_8016E7C8_8018C3C4; +typedef struct { + SVECTOR_8016E7C8 v[4]; /* 0x00 */ + s32 f0, f1, f2, f3, f4, f5; /* 0x20..0x37 */ + u8 f6; /* 0x38 */ + u8 pad[7]; /* -> 0x40 */ +} Prim_8016E7C8_8018C534; +typedef struct { + SVECTOR_8016E7C8 v[4]; /* 0x00 */ + s32 f0, f1, f2, f3, f4, f5; /* 0x20..0x37 */ + u8 f6; /* 0x38 */ + u8 pad[7]; /* -> 0x40 */ +} Prim_8016E7C8_8018D05C; +typedef struct { + SVECTOR_8016E7C8 v[4]; /* 0x00 */ + s32 f0, f1, f2, f3, f4, f5; /* 0x20..0x37 */ + u8 f6; /* 0x38 */ + u8 pad[7]; /* -> 0x40 */ +} Prim_8016E7C8_8018EA0C; +typedef struct { + SVECTOR_8016E7C8 v[4]; /* 0x00 */ + s32 f0, f1, f2, f3, f4, f5; /* 0x20..0x37 */ + u8 f6; /* 0x38 */ + u8 pad[7]; /* -> 0x40 */ +} Prim_8016E7C8_8018F734; +typedef struct { + SVECTOR_8016E7C8 v[4]; /* 0x00 */ + s32 f0, f1, f2, f3, f4, f5; /* 0x20..0x37 */ + u8 f6; /* 0x38 */ + u8 pad[7]; /* -> 0x40 */ +} Prim_8016E7C8_80190064; +typedef struct { + SVECTOR_8016E7C8 v[4]; /* 0x00 */ + s32 f0, f1, f2, f3, f4, f5; /* 0x20..0x37 */ + u8 f6; /* 0x38 */ + u8 pad[7]; /* -> 0x40 */ +} Prim_8016E7C8_80191070; +typedef struct { + s16 v[4][4]; + s16 t[4][2]; + s32 f30; + s32 f34; + s32 f38; + s32 f3C; + s32 f40; + u8 f44; +} Prim_80182080; +typedef struct { + s16 a; + s16 b; + s16 c; +} Pt6_8017D65C; +typedef struct { + u16 x, y, z, w; +} Pt_8017D87C; +typedef struct { + s16 x; /* 0x00 — source point */ + s16 y; /* 0x02 */ + s16 sx; /* 0x04 — scaled result */ + s16 sy; /* 0x06 */ +} Pt_8017E1A8; +typedef struct { + u16 h0, h1, h2, h3; +} QB_80185B04; +typedef struct { + QB_80185B04 a; + QB_80185B04 b; + s32 c; + s32 d; + s32 e; +} BIG_80185B04; +typedef struct { s16 h0, h1, h2, h3; } Q_8017DF28; +typedef struct { + u16 h0, h1, h2, h3; +} Q_8018562C; +typedef struct { Blk8 m[4]; } Quad; +typedef struct { + s16 vx0, vy0, vz0, pad0; + s16 vx1, vy1, vz1, pad1; + s16 vx2, vy2, vz2, pad2; + s16 vx3, vy3, vz3, pad3; + s16 u0, v0; + s16 u1, v1; + s16 u2, v2; + s16 u3, v3; + s32 rgb0, rgb1, rgb2, rgb3; + s32 flags; + u8 clut; +} Quad_8017DABC; +typedef struct { + s16 vx0, vy0, vz0, pad0; + s16 vx1, vy1, vz1, pad1; + s16 vx2, vy2, vz2, pad2; + s16 vx3, vy3, vz3, pad3; + s16 u0, v0; + s16 u1, v1; + s16 u2, v2; + s16 u3, v3; + s32 rgb0, rgb1, rgb2, rgb3; + s32 flags; + u8 clut; +} Quad_8017DB20; +typedef struct { + s16 vx0, vy0, vz0, pad0; + s16 vx1, vy1, vz1, pad1; + s16 vx2, vy2, vz2, pad2; + s16 vx3, vy3, vz3, pad3; + s16 u0, v0; + s16 u1, v1; + s16 u2, v2; + s16 u3, v3; + s32 rgb0, rgb1, rgb2, rgb3; + s32 flags; + u8 clut; +} Quad_8017E0E4; +typedef struct { + s16 x, y, w, h; + union { DV_8017EF94 d; s32 w32; } v[4]; +} Quad_8017EF94; +typedef union { + u8 b; + u16 h[0x1C]; + s16 s[0x1C]; +} R38; +typedef struct { s16 x, y; s32 flag; } RES_8018209C; +typedef struct { + Q_8018562C rot; + s32 t0, t1, t2, t3; +} ROW_8018562C; +typedef struct { + Q_8018562C head; + Q_8018562C tail; + ROW_8018562C row; +} BIG_8018562C; +typedef struct { + s16 start; + s16 end; +} Range_80189A70; +typedef struct { + s16 start; + s16 end; +} Range_80189B1C; +typedef struct { s32 f0, f1, f2; } Rec12_801888F4; +typedef struct { u16 x, y, z, p0, p1, p2; } Rec12_EBB8; +typedef struct { + s32 w[4]; +} Rec16_8017DDC4; +typedef struct { + s32 w[4]; +} Rec16_8017DDC4_8018023C; +typedef struct { + s32 w[4]; +} Rec16_8017DDC4_8018034C; +typedef struct { + s32 w[4]; +} Rec16_8017DDC4_80180F08; +typedef struct { + s32 w[4]; +} Rec16_8017DDC4_801815C4; +typedef struct { + s32 w[4]; +} Rec16_8017DDC4_80181DCC; +typedef struct { + s32 w[4]; +} Rec16_8017DDC4_80182244; +typedef struct { + s32 w[4]; +} Rec16_8017DDC4_801867AC; +typedef struct { + s32 w[4]; +} Rec16_8017DDC4_80186944; +typedef struct { + s32 w[4]; +} Rec16_8017DDC4_80187190; +typedef struct { + s32 w[4]; +} Rec16_8017DDC4_801877EC; +typedef struct { + s32 w[4]; +} Rec16_8018066C; +typedef struct { u16 v; u16 pad; } Rec4; +typedef struct { + s16 v; + s16 pad; +} Rec4_801891F4; +typedef struct { s32 v; s32 pad; } Rec8; +typedef struct { + u16 tag; /* 0x00 */ + u16 unk02; /* 0x02 */ + u16 x; /* 0x04 */ + u16 y; /* 0x06 */ + s16 n; /* 0x08 */ + u16 h; /* 0x0A */ + u16 *base; /* 0x0C */ +} Rec8017DB98; +typedef struct Rec801806C8_s Rec801806C8; +typedef struct { + s32 f0; + s32 f1; + s32 f2; +} Rec801944E8; +typedef struct { + void *f0; + s16 f4; + s16 f6; +} Rec8_8017DD64; +typedef struct { + u16 x, y, z; + s16 w; +} Rec8_8017DDC4; +typedef struct { + u16 x, y, z; + s16 w; +} Rec8_8017DDC4_8018023C; +typedef struct { + u16 x, y, z; + s16 w; +} Rec8_8017DDC4_8018034C; +typedef struct { + u16 x, y, z; + s16 w; +} Rec8_8017DDC4_8018034C_80180450; +typedef struct { + u16 x, y, z; + s16 w; +} Rec8_8017DDC4_8018034C_801809B0; +typedef struct { + u16 x, y, z; + s16 w; +} Rec8_8017DDC4_8018034C_80183DEC; +typedef struct { + u16 x, y, z; + s16 w; +} Rec8_8017DDC4_80180F08; +typedef struct { + u16 x, y, z; + s16 w; +} Rec8_8017DDC4_801815C4; +typedef struct { + u16 x, y, z; + s16 w; +} Rec8_8017DDC4_801815C4_80185344; +typedef struct { + u16 x, y, z; + s16 w; +} Rec8_8017DDC4_80181DCC; +typedef struct { + u16 x, y, z; + s16 w; +} Rec8_8017DDC4_80182244; +typedef struct { + u16 x, y, z; + s16 w; +} Rec8_8017DDC4_80186944; +typedef struct { + u16 x, y, z; + s16 w; +} Rec8_8017DDC4_801877EC; +typedef struct { + u16 a, b, c, d; +} Rec8_801863EC; +typedef struct { s16 x; u16 y; u16 z; s16 w; } Rec8_8018A31C; +typedef struct { u16 f0, f2, f4; s16 f6; } Rec_8017ECD4; +typedef struct { + u8 mode; /* 0x00 */ + u8 pad01; + u16 f02; /* 0x02 */ + u16 f04, f06, f08; + u16 f0A; /* 0x0A */ + u8 pad0C[0x14 - 0x0C]; +} Rec_80180AE8; +typedef struct { + void *tag; + s16 flag; +} Rec_80181170; +typedef struct { void *tag; s16 flag; u8 b6; u8 b7; } Rec_80181DF8; +typedef struct { s16 f0; s16 pad[3]; } Rec_801897BC; +typedef struct { + s32 unk0; + s32 unk4; +} Rec_80189AEC; +typedef struct { u16 f0; u16 f2; u16 f4; s16 f6; } Rec_EDC0; +typedef struct { + s16 x, y, z, pad; +} Rot_8017E330; +typedef struct { + u8 pad00[0x10]; + u16 f10; /* 0x10 */ + u16 f12; /* 0x12 */ + u16 f14; /* 0x14 */ + u8 pad16[0x02]; + Rot_8017E330 rot; /* 0x18 */ + s32 align; /* keeps align 4 so the +0x20 pointer loads with lw */ +} Coord_8017E330; +typedef struct { + u8 pad00[0x06]; + s16 f06; /* 0x06 */ + u8 pad08[0x02]; + s16 f0A; /* 0x0A */ + u8 pad0C[0x02]; + s16 f0E; /* 0x0E */ + u8 pad10[0x10]; + Coord_8017E330 *f20; /* 0x20 */ + u8 pad24[0x4C]; + u8 f70; /* 0x70 — pose index */ + u8 pad71[0x27]; + s16 f98; /* 0x98 */ + u8 pad9A[0x42]; + s32 fDC; /* 0xDC */ +} Actor_8017E330; +typedef struct { + u8 pad00[0x02]; + u16 f02; /* 0x02 */ + u8 pad04[0x1C]; + Coord_8017E330 *f20; /* 0x20 */ + u8 pad24[0x10]; + u16 f34; /* 0x34 */ +} Drv_8017E330; +typedef struct { + s16 x, y, z, pad; +} Rot_8017E550; +typedef struct { + u8 pad00[0x10]; + u16 f10; + u16 f12; + u16 f14; + u8 pad16[0x02]; + Rot_8017E550 rot; + s32 align; +} Coord_8017E550; +typedef struct { + u8 pad00[0x06]; + s16 f06; + u8 pad08[0x02]; + s16 f0A; + u8 pad0C[0x02]; + s16 f0E; + u8 pad10[0x10]; + Coord_8017E550 *f20; + u8 pad24[0x40]; + s32 f64; + u8 pad68[0x08]; + u8 f70; + u8 pad71[0x27]; + s16 f98; +} Actor_8017E550; +typedef struct { + u8 pad00[0x02]; + u16 f02; + u8 pad04[0x1C]; + Coord_8017E550 *f20; + u8 pad24[0x10]; + u16 f34; +} Drv_8017E550; +typedef struct { + s16 x, y, z, pad; +} Rot_8017E878; +typedef struct { + u8 pad00[0x10]; + u16 f10; /* 0x10 */ + u16 f12; /* 0x12 */ + u16 f14; /* 0x14 */ + u8 pad16[0x02]; + Rot_8017E878 rot; /* 0x18 */ + s32 align; /* keeps align 4 so the +0x20 pointer loads with lw */ +} Coord_8017E878; +typedef struct { + u8 pad00[0x06]; + s16 f06; /* 0x06 */ + u8 pad08[0x02]; + s16 f0A; /* 0x0A */ + u8 pad0C[0x02]; + s16 f0E; /* 0x0E */ + u8 pad10[0x10]; + Coord_8017E878 *f20; /* 0x20 */ + u8 pad24[0x40]; + s32 f64; /* 0x64 — driver record pointer */ + u8 pad68[0x08]; + u8 f70; /* 0x70 — pose index */ + u8 pad71[0x27]; + s16 f98; /* 0x98 */ +} Actor_8017E878; +typedef struct { + u8 pad00[0x02]; + u16 f02; /* 0x02 */ + u8 pad04[0x1C]; + Coord_8017E878 *f20; /* 0x20 */ + u8 pad24[0x10]; + u16 f34; /* 0x34 */ +} Drv_8017E878; +typedef struct { + s16 v; + u8 pad[14]; +} Row16_t; +typedef struct { + u8 pad0[8]; + s32 unk8; + s32 unkC; + s32 unk10; + s32 unk14; + u16 unk18; + u16 unk1A; + u16 unk1C; + u8 pad1E[2]; + u16 unk20; + u16 unk22; + u16 unk24; + u8 pad26[2]; + s16 unk28; + s16 unk2A; + s16 unk2C; + s16 unk2E; + s16 unk30; + s16 unk32; + u8 pad34[8]; + s32 unk3C; + s32 unk40; + s32 unk44; + s32 unk48; + s32 unk4C; + s32 unk50; +} S; +typedef struct { s16 h[4]; } S16x4; +typedef struct { + u16 f00; + u16 f02; + u16 f04; + u16 pad06; + u16 f08; + u16 f0A; + u16 f0C; + u16 pad0E; + u8 f10; + u8 f11; + u8 f12; + u8 pad13; + u8 f14; + u8 f15; + u8 f16; + u8 pad17; + u32 f18; +} S1_80168F40; +typedef struct { + s16 f0, f2, f4, f6, f8, fA, fC, fE; + s32 f10; +} S80190C84; +typedef struct { + s16 f0, f2, f4, f6, f8, fA, fC, fE; + s32 f10; +} S80190C84L; +typedef struct { + s16 f0, f2, f4, f6, f8, fA, fC, fE; + s32 f10; +} S80190C84_8018483C; +typedef struct { + u8 raw[8]; +} S8Blob; +typedef struct { + S8Blob a; + S8Blob b; +} Entry16; +typedef struct { s16 m[4]; } S8_FF34; +typedef struct { + u16 f0; + u16 f2; + u16 f4; + u16 f6; +} SC05_F3E4_Tbl8; +typedef struct { + s16 f0; + u8 f2; + u8 f3; + s16 f4; + s16 f6; + s16 f8; + s16 fA; +} SC05_FBB0_Rec; +typedef struct { s16 vx, vy, vz, pad; } SIn_8017E95C; +typedef struct { u16 vx, vy, vz, pad; } SOut_8017E95C; +typedef struct { s16 vx, vy, vz, pad; } SV; +typedef struct { s16 h[3]; } SV3L; +typedef struct { + u16 vx, vy, vz; + u16 f6, f8, fA, fC, fE; + s32 f10; +} SV3L2; +typedef struct { s16 vx, vy, vz, pad; } SV3_8017E830; +typedef struct { s16 x, y, z; } SV3_8017FAA8; +typedef struct { short a, b, c; } SV3_801802D0; +typedef struct { s16 vx, vy, vz, pad; } SV3_80180D48; +typedef struct { short a, b, c; } SV3_80181D44; +typedef struct { short a, b, c; } SV3_80181D44_8017CEF4; +typedef struct { short a, b, c; } SV3_80181D44_8017CEF4_8017DC20; +typedef struct { short a, b, c; } SV3_80181D44_8017CEF4_8017E108; +typedef struct { short a, b, c; } SV3_80181D44_8017CEF4_8017F634; +typedef struct { short a, b, c; } SV3_80181D44_8017CEF4_8017F81C; +typedef struct { short a, b, c; } SV3_80181D44_8017CEF4_8017FB1C; +typedef struct { short a, b, c; } SV3_80181D44_8017CEF4_801814F4; +typedef struct { short a, b, c; } SV3_80181D44_801821DC; +typedef struct { short a, b, c; } SV3_80181D44_8018317C; +typedef struct { short a, b, c; } SV3_80181D44_80185B70; +typedef struct { s16 a, b, c; } SV3_8018287C; +typedef struct { s16 a, b, c; } SV3_80182938; +typedef struct { s16 a, b, c; } SV3_8018495C; +typedef struct { s16 a, b, c; } SV3_80184C98; +typedef struct { s16 a, b, c; } SV3_80184D50; +typedef struct { s16 a, b, c; } SV3_80184E00; +typedef struct { s16 a, b, c; } SV3_80184F48; +typedef struct { s16 a, b, c; } SV3_80187654; +typedef struct { s16 a, b, c; } SV3_801891E8; +typedef struct { short a, b, c; } SV3_846B4; +typedef struct { s16 a, b, c; } SV3x; +typedef struct { s16 a, b, c; } SV3x_80180ACC; +typedef struct { s16 a, b, c; } SV3x_80183E2C; +typedef struct { s16 a, b, c; } SV3x_80184B30; +typedef struct { s16 a, b, c; } SV3x_80184B30_80181D58; +typedef struct { s16 a, b, c; } SV3x_80184B30_801822A0; +typedef struct { s16 a, b, c; } SV3x_80184B30_8018241C; +typedef struct { s16 a, b, c; } SV3x_80184B30_801829C4; +typedef struct { s16 a, b, c; } SV3x_80184B30_801841E8; +typedef struct { s16 a, b, c; } SV3x_80184B30_80184730; +typedef struct { s16 a, b, c; } SV3x_80184B30_801848AC; +typedef struct { s16 a, b, c; } SV3x_80184B30_80184D6C; +typedef struct { s16 a, b, c; } SV3x_80184B30_80184E54; +typedef struct { s16 a, b, c; } SV3x_80184B30_801852B4; +typedef struct { s16 a, b, c; } SV3x_80184B30_80185430; +typedef struct { s16 a, b, c; } SV3x_80184B30_801859D8; +typedef struct { s16 a, b, c; } SV3x_80184B30_8018848C; +typedef struct { s16 a, b, c; } SV3x_80184B30_80188C18; +typedef struct { s16 a, b, c, d; } SV4L; +typedef struct { s16 a, b, c, d; } SV4_8017DE40; +typedef struct { s16 a, b, c, d; } SV4_8017E2BC; +typedef struct { s16 a, b, c, d; } SV4_8017E910; +typedef struct { s16 a, b, c, d; } SV4_8017E910_8017E508; +typedef struct { s16 a, b, c, d; } SV4_8017EA48; +typedef struct { s16 a, b, c, d; } SV4_8018256C; +typedef struct { s16 a, b, c, d; } SV4_80182818; +typedef struct { s16 a, b, c, d; } SV4_801836B8; +typedef struct { s16 a, b, c, d; } SV4_80186C20; +typedef struct { s16 a, b, c, d; } SV4_FC6C; +typedef struct { s16 a, b, c, d; } SV4x; +typedef struct { s16 a, b, c, d; } SV4x_80180ACC; +typedef struct { s16 a, b, c, d; } SV4x_80183E2C; +typedef struct { s16 a, b, c, d; } SV4x_80184754; +typedef struct { s16 a, b, c, d; } SV4x_80184B30; +typedef struct { s16 a, b, c, d; } SV4x_80184B30_801829C4; +typedef struct { s16 a, b, c, d; } SV4x_80184B30_80184E54; +typedef struct { s16 a, b, c, d; } SV4x_80184B30_801859D8; +typedef struct { s16 vx, vy, vz, pad; } SV83; +typedef struct { s16 a, b, c, d; } SV892CC; +typedef struct { s16 vx, vy, vz, pad; } SVEC2_C59C; +typedef struct { s16 vx, vy, vz, pad; } SVEC2_C59C_8017D9CC; +typedef struct { s16 vx, vy, vz, pad; } SVEC2_C59C_8017DBEC; +typedef struct { s16 vx, vy, vz, pad; } SVEC2_C59C_801865EC; +typedef struct { s16 vx, vy, vz, pad; } SVEC2_C6F4; +typedef struct { s16 vx, vy, vz, pad; } SVEC2_C974; +typedef struct { s16 vx, vy, vz, pad; } SVEC2_C974_8017BA3C; +typedef struct { s16 vx, vy, vz, pad; } SVEC2_C974_8017BA3C_80189F00; +typedef struct { s16 vx, vy, vz, pad; } SVEC2_CF90; +typedef struct { s16 vx, vy, vz, pad; } SVEC2_D538; +typedef struct { s16 vx, vy, vz, pad; } SVEC2_DF98; +typedef struct { s16 vx, vy, vz, pad; } SVEC80180FE4; +typedef struct { s16 vx, vy, vz, pad; } SVECTOR_8017D5C8; +typedef struct { s16 vx, vy, vz, pad; } SVECTOR_8017D5C8_8017D5C8; +typedef struct { s16 vx, vy, vz, pad; } SVECTOR_8017D5C8_8017EE98; +typedef struct { s16 vx, vy, vz, pad; } SVECTOR_8017D5C8_801814E4; +typedef struct { short vx, vy, vz, pad; } SVECTOR_8017DBC4; +typedef struct { short vx, vy, vz, pad; } SVECTOR_8017F98C; +typedef struct { s16 vx, vy, vz, pad; } SVECTOR_80181030; +typedef struct { s16 vx, vy, vz, pad; } SVECTOR_80181228; +typedef struct { s16 vx, vy, vz, pad; } SVECTOR_80182800; +typedef struct { + SVECTOR_80182800 v[4]; /* 0x00 */ + s32 k30, k34, k38, k3c; /* 0x20 */ + u32 bcast; /* 0x30 */ + s32 tag; /* 0x34 */ + u8 code; /* 0x38 */ + u8 pad39[7]; /* -> 0x40 */ +} Prim_80182800; +typedef struct { s16 vx, vy, vz, pad; } SVECTOR_8018656C; +typedef struct { short vx, vy, vz, pad; } SVECTOR_80188114; +typedef struct { + SVECTOR_80188114 v[4]; /* 0x00 */ + s32 f0; /* 0x20 */ + s32 f1; /* 0x24 */ + s32 f2; /* 0x28 */ + s32 f3; /* 0x2C */ + s32 f4; /* 0x30 */ +} Prim_80188114; +typedef struct { s16 vx, vy, vz, pad; } SVECTOR_8018985C; +typedef struct { s16 vx, vy, vz, pad; } SVECTOR_8018AD9C; +typedef struct { s16 vx, vy, vz, pad; } SVECTOR_8018DA64; +typedef struct { + SVECTOR_8018DA64 v[4]; /* 0x00 */ + s32 k30, k34, k38, k3c; /* 0x20: each a packed pair of s16 UV/coord fields */ + u32 bcast; /* 0x30 */ + s32 tag; /* 0x34 */ + u8 code; /* 0x38 */ + u8 pad39[7]; /* -> 0x40 */ +} Prim_8018DA64; +typedef struct { s16 vx, vy, vz, pad; } SVEC_29B0; +typedef struct { s16 vx, vy, vz, pad; } SVEC_80064; +typedef struct { u16 vx, vy, vz, pad; } SVEC_8017DF68; +typedef struct { short vx, vy, vz, pad; } SVEC_8017E07C; +typedef struct { short vx, vy, vz, pad; } SVEC_8017E158; +typedef struct { short vx, vy, vz, pad; } SVEC_8017EC98; +typedef struct { short vx, vy, vz, pad; } SVEC_8017EC98_8017F704; +typedef struct { short vx, vy, vz, pad; } SVEC_8017EC98_8017FE60; +typedef struct { short vx, vy, vz, pad; } SVEC_8017EC98_8018290C; +typedef struct { short vx, vy, vz, pad; } SVEC_8017FB50; +typedef struct { s16 vx, vy, vz, pad; } SVEC_80183534; +typedef struct { s16 vx, vy, vz, pad; } SVEC_80184358; +typedef struct { s16 vx, vy, vz, pad; } SVEC_801855D4; +typedef struct { u16 vx, vy, vz, pad; } SVEC_8018AD9C; +typedef struct { s16 vx, vy, vz, pad; } SVEC_801BA5A8; +typedef struct { s16 vx, vy, vz, pad; } SVEC_84BD8; +typedef struct { s16 vx, vy, vz, pad; } SVEC_BEBC; +typedef struct { s16 vx, vy, vz, pad; } SVEC_E83C; +typedef struct { s16 vx, vy, vz, pad; } SVEC_EB70; +typedef struct { s16 vx, vy, vz, pad; } SVEC_EDF8; +typedef struct { u16 vx, vy, vz; s16 pad; } SVEC_FD64; +typedef struct { short vx, vy, vz, pad; } SVFD98; +typedef struct { s16 vx, vy, vz, pad; } SV_; +typedef struct { s16 vx, vy, vz, pad; } SV_189440; +typedef struct { s16 vx, vy, vz, pad; } SV_1A30; +typedef struct { s16 vx, vy, vz, pad; } SV_1A30_80184BFC; +typedef struct { s16 vx, vy, vz, pad; } SV_1A30_80185434; +typedef struct { s16 vx, vy, vz, pad; } SV_1A30_8018F734; +typedef struct { s16 vx, vy, vz, pad; } SV_8017D7C0; +typedef struct { s16 vx, vy, vz, pad; } SV_8017D7C0_8017F19C; +typedef struct { s16 vx, vy, vz, pad; } SV_8017D7C0_8017F19C_8017CEF4_80183FF8; +typedef struct { s16 vx, vy, vz, pad; } SV_8017D7C0_8017F19C_8018023C; +typedef struct { s16 vx, vy, vz, pad; } SV_8017D7C0_8017F19C_801832EC; +typedef struct { s16 vx, vy, vz, pad; } SV_8017D7C0_8017F19C_8018359C; +typedef struct { s16 vx, vy, vz, pad; } SV_8017D7C0_8017F19C_8018428C; +typedef struct { s16 vx, vy, vz, pad; } SV_8017D7C0_8017F19C_80186C80; +typedef struct { s16 vx, vy, vz, pad; } SV_8017D7C0_8017F340; +typedef struct { s16 vx, vy, vz, pad; } SV_8017D7C0_8017F65C; +typedef struct { s16 vx, vy, vz, pad; } SV_8017D7C0_80180E78; +typedef struct { s16 vx, vy, vz, pad; } SV_8017D7C0_801825C0; +typedef struct { s16 vx, vy, vz, pad; } SV_8017D7C0_8018480C; +typedef struct { s16 vx, vy, vz, pad; } SV_8017D7C0_8018543C; +typedef struct { s16 vx, vy, vz, pad; } SV_8017D7C0_80185F54; +typedef struct { s16 vx, vy, vz, pad; } SV_8017D7C0_80186B84; +typedef struct { s16 vx, vy, vz, pad; } SV_8017EC4C; +typedef struct { s16 vx, vy, vz, pad; } SV_8017EF94; +typedef struct { s16 vx, vy, vz, pad; } SV_801800E0; +typedef struct { s16 vx, vy, vz, pad; } SV_80180228; +typedef struct { + SV_80180228 v[4]; /* +0x00 : sxy0..3 (v[0].vz doubles as the otz slot) */ + CV_80180228 rgb[4]; /* +0x20 */ + u32 code; /* +0x30 */ + u32 pad; /* +0x34 */ +} PKT_80180228; +typedef struct { s16 vx, vy, vz, pad; } SV_80180B3C; +typedef struct { s16 vx, vy, vz, pad; } SV_80180F7C; +typedef struct { s16 vx, vy, vz, pad; } SV_80181000; +typedef struct { s16 vx, vy, vz, pad; } SV_80181394; +typedef struct { s16 vx, vy, vz, pad; } SV_8018150C; +typedef struct { s16 vx, vy, vz, pad; } SV_80181574; +typedef struct { u16 x, y, z, pad; } SV_80181740; +typedef struct { short vx, vy, vz, pad; } SV_80181824; +typedef struct { s16 vx, vy, vz, pad; } SV_80181850; +typedef struct { s16 vx, vy, vz, pad; } SV_8018209C; +typedef struct { s16 a, b, c, pad; } SV_801821E0; +typedef struct { s16 vx, vy, vz, pad; } SV_80182494; +typedef struct { s16 vx, vy, vz, pad; } SV_80182CB8; +typedef struct { short vx, vy, vz, pad; } SV_80182D80; +typedef struct { short vx, vy, vz, pad; } SV_80182D80_80181DE0; +typedef struct { short vx, vy, vz, pad; } SV_80182D80_80185774; +typedef struct { short vx, vy, vz, pad; } SV_80182D80_801863A4; +typedef struct { s16 vx, vy, vz, pad; } SV_80184F18; +typedef struct { short vx, vy, vz, pad; } SV_801851A8; +typedef struct { short vx, vy, vz, pad; } SV_801851A8_80181858; +typedef struct { short vx, vy, vz, pad; } SV_801851A8_80182D18; +typedef struct { short vx, vy, vz, pad; } SV_801851A8_801839C4; +typedef struct { short vx, vy, vz, pad; } SV_801851A8_8018486C; +typedef struct { short vx, vy, vz, pad; } SV_801851A8_80184E84; +typedef struct { short vx, vy, vz, pad; } SV_801851A8_80185D2C; +typedef struct { s16 vx, vy, vz, pad; } SV_801857A4; +typedef struct { short vx, vy, vz, pad; } SV_801875E4; +typedef struct { short vx, vy, vz, pad; } SV_801875E4_8018848C; +typedef struct { s16 vx, vy, vz, pad; } SV_80187A04; +typedef struct { s16 vx; u16 vy; s16 vz; s16 pad; } SV_80187A30; +typedef struct { + SV_80187A30 v[4]; /* 0x00 */ + u16 u0, t0, u1, t1, u2, t2, u3, t3; /* 0x20 */ + u8 r, g, b, cd; /* 0x30 */ + s32 tag; /* 0x34 */ + u8 code; /* 0x38 */ + u8 pad39[7]; /* 0x39 -> 0x40 */ +} Prim_80187A30; +typedef struct { s16 vx, vy, vz, pad; } SV_80187D68; +typedef struct { s16 vx, vy, vz, pad; } SV_80187EE8; +typedef struct { + SV_80187EE8 v[4]; /* +0x00 : sxy0..3 (v[0].vz doubles as the otz slot) */ + CV_80187EE8 rgb[4]; /* +0x20 */ + u32 code; /* +0x30 */ + u32 pad; /* +0x34 */ +} PKT_80187EE8; +typedef struct { + s16 vx, vy, vz, pad; +} SV_80188D90; +typedef struct { + SV_80188D90 v[4]; /* 0x00 */ + u8 c[4][4]; /* 0x20 */ + u32 code; /* 0x30 */ + u8 tail[0x24]; /* 0x34 */ +} Prim_80188D90; +typedef struct { s16 vx, vy, vz, pad; } SV_8018FE20; +typedef struct { + SV_8018FE20 v[4]; /* 0x00 */ + s32 f0, f1, f2, f3, f4, f5; /* 0x20..0x37 */ +} PRIM_8018FE20; +typedef struct { s16 vx, vy, vz, pad; } SV_80191320; +typedef struct { s16 vx, vy, vz, pad; } SV_80191320_8018D05C; +typedef struct { s16 vx, vy, vz, pad; } SV_80191320_80191070; +typedef struct { + s16 vx, vy, vz, pad; +} SV_80192CB4; +typedef struct { + s16 vx, vy, vz, pad; +} SV_80192F64; +typedef struct { + s16 vx, vy, vz, pad; +} SV_80192F64_8018ECA0; +typedef struct { s16 vx, vy, vz, pad; } SVec3_8018454C; +typedef struct { s16 x; s16 y; s16 z; s16 pad; } SVec8017D67C; +typedef struct { SVec8017D67C v[2]; s32 col[2]; s32 tag; s32 pad; } Prim8017D67C; +typedef struct { + s16 a, b, c, d; +} SVec8_8017F694; +typedef struct { s16 vx, vy, vz, pad; } SVec8_801812AC; +typedef struct { + SVec8_801812AC v[4]; + s32 c[4]; + s32 code; +} Prim_801812AC; +typedef struct { s16 vx, vy, vz, pad; } SVec8_8018E8A0; +typedef struct { + SVec8_8018E8A0 v[4]; /* 0x00 */ + u32 c[4]; /* 0x20 */ + s32 code; /* 0x30 */ + s32 pad; /* 0x34 */ +} Prim_8018E8A0; +typedef struct { s16 vx, vy, vz, pad; } SVec8_8018E8A0_80184FF0; +typedef struct { + SVec8_8018E8A0_80184FF0 v[4]; /* 0x00 */ + u32 c[4]; /* 0x20 */ + s32 code; /* 0x30 */ + s32 pad; /* 0x34 */ +} Prim_8018E8A0_80184FF0; +typedef struct { s16 vx, vy, vz, pad; } SVec8_8018E8A0_80184FF0_80188134; +typedef struct { s16 vx, vy, vz, pad; } SVec8_8018E8A0_801869CC; +typedef struct { + SVec8_8018E8A0_801869CC v[4]; /* 0x00 */ + u32 c[4]; /* 0x20 */ + s32 code; /* 0x30 */ + s32 pad; /* 0x34 */ +} Prim_8018E8A0_801869CC; +typedef struct { s16 vx, vy, vz, pad; } SVec_59F4; +typedef struct { s16 vx; u16 vy; s16 vz, pad; } SVec_8017D1E0; +typedef struct { s16 vx; u16 vy; s16 vz, pad; } SVec_8017F67C; +typedef struct { s16 vx; u16 vy; s16 vz, pad; } SVec_8017F67C_80184FF0; +typedef struct { s16 vx; u16 vy; s16 vz, pad; } SVec_8017F67C_80184FF0_80188134; +typedef struct { s16 vx; u16 vy; s16 vz, pad; } SVec_8017F67C_801869CC; +typedef struct { s16 vx, vy, vz, pad; } SVec_8017FAE8; +typedef struct { s16 vx, vy, vz, pad; } SVec_80180054; +typedef struct { s16 vx, vy, vz, pad; } SVec_80180894; +typedef struct { s16 x, y, z, pad; } SVec_801809C4; +typedef struct { s16 vx, vy, vz, pad; } SVec_80180C38; +typedef struct { s16 vx, vy, vz, pad; } SVec_80181A60; +typedef struct { s16 vx, vy, vz, pad; } SVec_80183DA0; +typedef struct { u16 vx, vy, vz, pad; } SVec_80183DA4; +typedef struct { s16 vx, vy, vz, pad; } SVec_80183F84; +typedef struct { + SVec_80183F84 v[4]; /* 0x00 */ + s16 u0, t0, u1, t1, u2, t2, u3, t3; /* 0x20 */ + u32 bcast; /* 0x30 */ + s32 tag; /* 0x34 */ + u8 code; /* 0x38 */ + u8 pad39[7]; /* 0x39 -> 0x40 */ +} Prim_80183F84; +typedef struct { u16 vx, vy, vz, pad; } SVec_80184138; +typedef struct { s16 vx, vy, vz, pad; } SVec_80184564; +typedef struct { + s16 vx, vy, vz, pad; +} SVec_80184828; +typedef struct { + s16 vx, vy, vz, pad; +} SVec_80185214; +typedef struct { short vx, vy, vz, pad; } SVec_801861D0; +typedef struct { short vx, vy, vz, pad; } SVec_801861D0_80181C0C; +typedef struct { short vx, vy, vz, pad; } SVec_801861D0_80182BAC; +typedef struct { short vx, vy, vz, pad; } SVec_801861D0_801855A0; +typedef struct { s16 vx, vy, vz, pad; } SVec_80186E9C; +typedef struct { + /* 0x00 */ SVec_80186E9C v[4]; + /* 0x20 */ CVec_80186E9C col; + /* 0x24 */ u32 code; +} Quad_80186E9C; +typedef struct { s16 vx, vy, vz, pad; } SVec_80186E9C_8018BCC4; +typedef struct { + /* 0x00 */ SVec_80186E9C_8018BCC4 v[4]; + /* 0x20 */ CVec_80186E9C_8018BCC4 col; + /* 0x24 */ u32 code; +} Quad_80186E9C_8018BCC4; +typedef struct { s16 vx, vy, vz, pad; } SVec_80186E9C_8018BCC4_80183ED4; +typedef struct { s16 vx, vy, vz, pad; } SVec_80186E9C_8018BCC4_80187DF8; +typedef struct { s16 vx, vy, vz, pad; } SVec_80186E9C_8018BCC4_801887EC; +typedef struct { s16 vx, vy, vz, pad; } SVec_80186E9C_8018BCC4_8018A2D0; +typedef struct { s16 vx, vy, vz, pad; } SVec_80187A04; +typedef struct { + s16 vx, vy, vz, pad; +} SVec_8018A180; +typedef struct { + SVec_8018A180 v[4]; /* 0x00..0x1f */ + s32 rgb; /* 0x20 */ + s32 tag; /* 0x24 */ +} Prim_8018A180; +typedef struct { s16 vx, vy, vz, pad; } SVec_801A4680_8017F668; +typedef struct { + SVec_801A4680_8017F668 v[4]; /* 0x00 */ + s16 u0, t0, u1, t1, u2, t2, u3, t3; /* 0x20 */ + u32 bcast; /* 0x30 */ + s32 tag; /* 0x34 */ + u8 code; /* 0x38 */ + u8 pad39[7]; /* -> 0x40 */ +} Prim_801A4680_8017F668; +typedef struct { + s16 vx, vy, vz, pad; +} SVector_80182BC8; +typedef struct { s16 vx, vy, vz, pad; } SVfbd0; +typedef struct { u16 vx, vy, vz, pad; } SXY_80181574; +typedef struct { u16 vx, vy, vz, pad; } SXY_80184F18; +typedef struct { + u8 pad0[0x2]; + u16 unk2; + u8 pad2[0x1C]; + s32 *unk20; + u8 pad3[0xDA]; + u16 unkFE; + u16 unk100; +} S_8018056C; +typedef struct { s32 f0, f1, f2; } S_80182618; +typedef struct { unsigned char b[0x34]; } S_8018AEB8; +typedef struct { + s16 f0; + s16 f1; + s16 f2; + s16 f3; +} Spawn8_80182848; +typedef struct { + u16 dist; + s16 kind; +} SpotDef_8018A278; +typedef struct { + short f0; + short f2; + short f4; + short f6; + short f8; + short fa; + short fc; + short fe; + int f10; +} Sprite8_801861D8; +typedef struct { + s16 f0; + s16 f1; + s16 f2; + s16 f3; + s16 f4; + s16 f5; + s16 f6; + s16 f7; + s32 f8; +} St_8017D118; +typedef struct { + s8 pad00[8]; + s16 f08; + s16 pad0a; + s16 f0c; + s16 pad0e; + s16 f10; + s16 pad12; + s16 f14; + s16 pad16; + s16 f18; + s16 f1a; + s16 f1c; + s8 pad1e[2]; + s16 f20; + s16 f22; + s16 f24; + s8 pad26[2]; + s16 f28; + s16 f2a; + s16 f2c; + s16 f2e; + s16 f30; + s16 f32; + s8 pad34[8]; + s32 f3c; + s32 f40; + s32 f44; + s32 f48; + s32 f4c; + s32 f50; +} St_8017DAEC; +typedef struct { + s16 unk0; /* 0x00 */ + u8 pad[0x102]; /* -> 0x104 */ +} St_8017E95C_r; +typedef struct { + s16 pad00[4]; + s32 f08; + s32 f0C; + s32 f10; + s32 f14; + s16 f18; + s16 f1A; + s16 f1C; + s16 pad1E; + s16 f20; + s16 f22; + s16 f24; + s16 pad26; + s16 f28; + s16 f2A; + s16 f2C; + s16 f2E; + s16 f30; + s16 f32; +} St_8017ED90; +typedef struct { + s16 f0; + s16 f1; + s16 f2; + s16 f3; + s16 f4; + s16 f5; + s16 f6; + s16 f7; + s32 f8; +} St_8017EDC4; +typedef struct { s16 f0, f2, f4, f6, f8, fA, fC, fE; s32 f10; } St_80182784; +typedef struct { s16 f0, f2, f4, f6, f8, fA, fC, fE; s32 f10; } St_80182784_801817E4; +typedef struct { s16 f0, f2, f4, f6, f8, fA, fC, fE; s32 f10; } St_80182784_80185178; +typedef struct { s16 f0, f2, f4, f6, f8, fA, fC, fE; s32 f10; } St_80182784_80185DA8; +typedef struct { s16 f0, f2, f4, f6, f8, fA, fC, fE; s32 f10; } St_80182784_80185DA8_8018023C; +typedef struct { s16 f0, f2, f4, f6, f8, fA, fC, fE; s32 f10; } St_80182784_80185DA8_8018359C; +typedef struct { u8 b[8]; } St_801E6C9C; +typedef struct { + u8 pad00[0x02]; + u16 f02; + u8 pad04[0x02]; + u16 f06; + u8 pad08[0x02]; + u16 f0A; + u8 pad0C[0x02]; + u16 f0E; + u8 pad10[0x08]; + u16 f18; + u16 f1A; + u16 f1C; + u8 pad1E[0x02]; + void *f20; + u8 pad24[0x08]; + u16 f2C; + u8 pad2E[0x2E]; + u16 f5C; + u8 pad5E[0x12]; + u16 f70; + u8 pad72[0x06]; + void *f78; + u8 pad7C[0x0C]; + u16 f88; + u16 f8A; + u16 f8C; + u8 pad8E[0x72]; + u16 f100; +} Str_8018633C; +typedef struct { s32 q[16]; } Str_801C5B00; +typedef struct { + u16 f0; + u8 pad[14]; +} Stride16_801BA59C; +typedef struct { + u16 f0; + u8 pad[14]; +} Stride16_801BA59C_8017DF5C; +typedef struct { + u16 f0; + u8 pad[14]; +} Stride16_801BA59C_8017EE0C; +typedef struct { s16 v; s16 pad[3]; } Stride8_s16_80182868; +typedef struct { s16 v; s16 pad[3]; } Stride8_s16_80182868_80180970; +typedef struct { u16 v; u16 pad[3]; } Stride8_u16_80182868; +typedef struct { u16 v; u16 pad[3]; } Stride8_u16_80182868_80180970; +typedef struct { + s16 unk00; /* 0x00 */ + s16 pad02; /* 0x02 */ + s32 unk04; /* 0x04 */ + s32 unk08; /* 0x08 */ + s32 unk0C; /* 0x0C */ +} Struct801E79D8; +typedef struct { + s16 field_0; + s16 field_2; + s32 field_4; + s32 field_8; + s32 field_C; +} Struct801EF318; +typedef struct { + s16 unk00; + s16 unk02; + s16 unk04; + s16 unk06; + s16 unk08; + s16 unk0A; + s16 unk0C; + s16 unk0E; + s32 unk10; +} Struct_8017D25C; +typedef struct { + s32 unk00; + s32 unk04; +} Struct_80184C18; +typedef struct { + u8 pad00[2]; /* 0x00 */ + s16 unk2; /* 0x02 */ + u8 pad04[2]; /* 0x04 */ + s16 unk6; /* 0x06 */ + u8 pad08[0x14];/* 0x08 */ + s32 unk1C; /* 0x1C */ + u8 pad20[0xDC];/* 0x20 */ + u16 unkFC; /* 0xFC */ +} Struct_8018A078; +typedef struct Sub8017EBC4 { + /* 0x00 */ u8 pad000[0x12]; + /* 0x12 */ s16 unk_012; +} Sub8017EBC4; +typedef struct Sub83178 { + char pad0[0x10]; + s16 unk10; +} Sub83178; +typedef struct Ent83178 { + char pad0[0x20]; + Sub83178 *unk20; +} Ent83178; +typedef struct SubEnt8018B390 { + u8 pad0[0x10]; + s16 unk10; /* +0x10 */ + s16 unk12; /* +0x12 */ +} SubEnt8018B390; +typedef struct Ent8018B390 { + u8 pad0[0x20]; + SubEnt8018B390 *unk20; /* +0x20 */ + u8 pad24[0x34 - 0x24]; + s32 unk34; /* +0x34 */ + u8 pad38[0xB8 - 0x38]; + u16 unkB8; /* +0xB8 */ + u16 unkBA; /* +0xBA */ + u8 padBC[0x234 - 0xBC]; + s32 unk234; /* +0x234 */ +} Ent8018B390; +typedef struct SubFAAC { + char pad0[0x4]; + s32 f4; /* 0x04 */ + u16 f8; /* 0x08 */ + u16 fA; /* 0x0A */ + u16 fC; /* 0x0C */ + char padE[2]; + u16 f10; /* 0x10 */ + u16 f12; /* 0x12 */ + u16 f14; /* 0x14 */ +} SubFAAC; +typedef struct EntFAAC { + u16 f0; /* 0x00 */ + char pad2[0x6 - 0x2]; + s16 f6; /* 0x06 */ + char pad8[0xA - 0x8]; + s16 fA; /* 0x0A */ + char padC[0xE - 0xC]; + s16 fE; /* 0x0E */ + s32 f10; /* 0x10 */ + s32 f14; /* 0x14 */ + s32 f18; /* 0x18 */ + char pad1C[4]; + SubFAAC *f20; /* 0x20 */ + char pad24[0xCC - 0x24]; + SubFAAC *fCC; /* 0xCC */ + SubFAAC *fD0; /* 0xD0 */ + char padD4[0xFC - 0xD4]; + u16 fFC; /* 0xFC */ + u16 fFE; /* 0xFE */ +} EntFAAC; +typedef struct { + u16 f0; + u16 f2; + u16 f4; + u16 f6; + u16 f8; + u16 fA; + s32 fC; + s32 f10; + s32 f14; + s32 f18; +} SubRec_801EB5C8; +typedef struct { + u16 g0; + u16 g2; + s32 g4; + s32 g8; + s32 gC; + SubRec_801EB5C8 subs[16]; +} GroupRec_801EB5C8; +typedef struct { + u16 f0; + u16 f2; + u16 f4; + u16 f6; + u16 f8; + u16 fA; + s32 fC; + s32 f10; + s32 f14; + s32 f18; +} SubRec_801EB5C8_8017D7EC; +typedef struct { + u16 g0; + u16 g2; + s32 g4; + s32 g8; + s32 gC; + SubRec_801EB5C8_8017D7EC subs[16]; +} GroupRec_801EB5C8_8017D7EC; +typedef struct { + u16 f0; + u16 f2; + u16 f4; + u16 f6; + u16 f8; + u16 fA; + s32 fC; + s32 f10; + s32 f14; + s32 f18; +} SubRec_801EB5C8_8017DC38; +typedef struct { + u16 g0; + u16 g2; + s32 g4; + s32 g8; + s32 gC; + SubRec_801EB5C8_8017DC38 subs[16]; +} GroupRec_801EB5C8_8017DC38; +typedef struct { + u16 f0; + u16 f2; + u16 f4; + u16 f6; + u16 f8; + u16 fA; + s32 fC; + s32 f10; + s32 f14; + s32 f18; +} SubRec_801EB5C8_8017E02C; +typedef struct { + u16 g0; + u16 g2; + s32 g4; + s32 g8; + s32 gC; + SubRec_801EB5C8_8017E02C subs[16]; +} GroupRec_801EB5C8_8017E02C; +typedef struct { + u16 f0; + u16 f2; + u16 f4; + u16 f6; + u16 f8; + u16 fA; + s32 fC; + s32 f10; + s32 f14; + s32 f18; +} SubRec_801EB5C8_8017E3B0; +typedef struct { + u16 g0; + u16 g2; + s32 g4; + s32 g8; + s32 gC; + SubRec_801EB5C8_8017E3B0 subs[16]; +} GroupRec_801EB5C8_8017E3B0; +typedef struct { + u16 f0; + u16 f2; + u16 f4; + u16 f6; + u16 f8; + u16 fA; + s32 fC; + s32 f10; + s32 f14; + s32 f18; +} SubRec_801EB5C8_8017E640; +typedef struct { + u16 g0; + u16 g2; + s32 g4; + s32 g8; + s32 gC; + SubRec_801EB5C8_8017E640 subs[16]; +} GroupRec_801EB5C8_8017E640; +typedef struct { + s16 id; + s16 flag; + s16 x; + s16 y; + s16 size; + s16 pad; + s32 param; + s32 ptr; +} Sub_80180A54; +typedef struct { + s16 unk00; +} Sub_8018A3FC; +typedef struct { + s16 unk00; + s16 unk02; + s16 unk04[8]; + Sub_8018A3FC *unk14[8]; +} S_8018A3FC; +typedef struct { s16 vx, vy, vz, pad; } Sv_8017D278; +typedef struct { short vx, vy, vz, pad; } Sv_8017DECC; +typedef struct { short vx, vy, vz, pad; } Sv_8017E3F0; +typedef struct { s16 vx, vy, vz, pad; } Sv_8017E8A0; +typedef struct { s16 vx, vy, vz, pad; } Sv_8017FA2C; +typedef struct { + Sv_8017FA2C v[4]; /* 0x00 */ + Cv_8017FA2C c[4]; /* 0x20 */ + u32 code; /* 0x30 */ +} Prim_8017FA2C; +typedef struct { short vx, vy, vz, pad; } Sv_8017FC10; +typedef struct { s16 vx, vy, vz, pad; } Svec_80181EE8; +typedef struct { + u16 vx; /* +0x0 */ + u16 vy; /* +0x2 */ + u16 vz; /* +0x4 */ + u16 pad; /* +0x6 */ +} Sxy_8017DC24; +typedef struct { + u16 vx; /* +0x0 */ + u16 vy; /* +0x2 */ + u16 vz; /* +0x4 */ + u16 pad; /* +0x6 */ +} Sxy_8017F6A8; +typedef struct { + u16 vx; /* +0x0 */ + u16 vy; /* +0x2 */ + u16 vz; /* +0x4 */ + u16 pad; /* +0x6 */ +} Sxy_8018012C; +typedef struct { + u16 vx; /* +0x0 */ + u16 vy; /* +0x2 */ + u16 vz; /* +0x4 */ + u16 pad; /* +0x6 */ +} Sxy_80185C0C; +typedef struct { + s8 pad00[0x68]; + s32 f68; /* 0x68 */ +} T68_8017FC44; +typedef struct { + s16 f0; + s16 f1; + s16 f2; + s16 f3; +} TBL_80186144; +typedef struct { + s8 pad00[0xC]; + s16 f0C; /* 0x0C */ +} TC_8017FC44; +typedef struct { + s16 f0; + s16 f2; + s16 f4; + u16 f6; +} TableRec_80194A10; +typedef struct { + s32 f0; + u8 pad[12]; +} Tbl16_8018BDE4; +typedef struct { + s32 f0; + u8 pad[12]; +} Tbl16_8018BDE4_8017CEF4; +typedef struct { + s32 f0; + u8 pad[12]; +} Tbl16_8018BDE4_8017CEF4_80183FF8; +typedef struct { + s32 f0; + u8 pad[12]; +} Tbl16_8018BDE4_8018023C; +typedef struct { + s32 f0; + u8 pad[12]; +} Tbl16_8018BDE4_8018359C; +typedef struct { + u16 x, y, z, w; /* stride 8, +0/+2/+4 used */ +} Tbl8_8017D898; +typedef struct { + /* 0x00 */ s32 unk00; + /* 0x04 */ s32 unk04; +} Tbl8_8017FC44; +typedef struct { + u16 v[4]; +} Tbl8_801AFF3C; +typedef struct { u16 f0, f1, f2, f3; } Tbl_80181574; +typedef struct { u16 f0, f1, f2, f3; } Tbl_80184F18; +typedef struct { + s16 f00; + s16 f02; + s16 f04; + s16 f06; + u16 f08; + s16 f0A; + s16 f0C; + s16 f0E; + s32 f10; +} Tmp80181CD0; +typedef struct { s16 vx, vy, vz, pad; } TmpVec_8017DCE4; +typedef struct { s16 a; s16 b; s16 c; } Trio; +typedef struct { + s16 x0, x1, x2, x3; +} UShortBlk_F760; +typedef struct { u16 vx, vy, vz, pad; } UVEC_8017F234; +typedef struct { u16 vx, vy, vz, pad; } UVEC_8017F55C; +typedef struct { u16 vx, vy, vz, pad; } UVEC_80182BD8; +typedef struct { u16 vx, vy, vz, pad; } UV_80181394; +typedef struct { u16 u, v; } UV_80181574; +typedef struct { + SV_80181574 v[4]; /* 0x00 */ + UV_80181574 uv[4]; /* 0x20 */ + u32 rgb[4]; /* 0x30 */ + u32 flags; /* 0x40 */ + u8 clut; /* 0x44 */ +} Desc_80181574; +typedef struct { u16 u, v; } UV_80184F18; +typedef struct { + SV_80184F18 v[4]; /* 0x00 */ + UV_80184F18 uv[4]; /* 0x20 */ + u32 rgb[4]; /* 0x30 */ + u32 flags; /* 0x40 */ + u8 clut; /* 0x44 */ +} Desc_80184F18; +typedef struct { + s16 u, v; +} UV_80185214; +typedef struct { + SVec_80185214 v[4]; /* 0x00-0x1F */ + UV_80185214 uv[4]; /* 0x20-0x2F */ + u32 rgb[4]; /* 0x30-0x3F */ + u32 flags; /* 0x40 */ + u8 clut; /* 0x44 */ +} Prim_80185214; +typedef struct { + s16 vx, vy, vz; +} UVec_8017DB64; +typedef struct { + s16 vx, vy, vz, pad; +} UVec_8017DED4; +typedef union { + ARG_80187714 arg; + MTX_80187714 mtx; +} U_80187714; +typedef struct { u32 a; u32 b; } __attribute__((packed, aligned(1))) Unaligned8; +typedef struct { + s16 x0, x1, x2, x3; +} UnalignedShortBlock; +typedef struct { u16 f0, f1, f2, f3; } Unk_80126940; +typedef struct { u16 x, y, z, w; } __attribute__((aligned(2))) V; +typedef struct { + u16 unk0; + s16 unk2; + u16 unk4; + u16 unk6; +} V16x4; +typedef struct { s32 vx, vy, vz, pad; } V32_8017D7C0; +typedef struct { s32 vx, vy, vz, pad; } V32_8017D7C0_8017F19C; +typedef struct { s32 vx, vy, vz, pad; } V32_8017D7C0_8017F340; +typedef struct { s32 vx, vy, vz, pad; } V32_8017D7C0_8017F65C; +typedef struct { s32 vx, vy, vz, pad; } V32_80182D80; +typedef struct { s32 vx, vy, vz, pad; } V32_80182D80_80181DE0; +typedef struct { s32 vx, vy, vz, pad; } V32_80182D80_80185774; +typedef struct { s32 vx, vy, vz, pad; } V32_80182D80_801863A4; +typedef struct { s32 vx, vy, vz; } V32_801875E4; +typedef struct { s32 vx, vy, vz; } V32_801875E4_8018848C; +typedef struct { s32 vx, vy, vz; } V32_80187C64; +typedef struct { s32 vx, vy, vz; } V32_80188B0C; +typedef struct { s16 x, y, z; } V3_8017F4E4; +typedef struct { s16 x, y, z; } V3_801812AC; +typedef struct { s16 x, y, z, p; } V3_F428; +typedef struct + { + u16 x; + u16 y; + u16 z; + u16 w; + } V4_80146AFC; +typedef struct + { + u16 x; + u16 y; + u16 z; + u16 w; + } V4_8014A738; +typedef struct + { + u16 x; + u16 y; + u16 z; + u16 w; + } V4_8014D820; +typedef struct + { + u16 x; + u16 y; + u16 z; + u16 w; + } V4_8015094C; +typedef struct { + u16 x; /* 0x00 */ + u16 y; /* 0x02 */ + u16 z; /* 0x04 */ + u16 w; /* 0x06 */ +} V4_8017D73C; +typedef struct { u16 x, y, z, w; } V4_8017E734; +typedef struct { + u16 x; /* 0x00 */ + u16 y; /* 0x02 */ + u16 z; /* 0x04 */ + u16 w; /* 0x06 */ +} V4_8017FAC0_80183418; +typedef struct { s16 w[4]; } V4_801817E0; +typedef struct { s16 w[4]; } V4_80181A68; +typedef struct { s16 w[4]; } V4_80181B14; +typedef struct { u16 x, y, z, w; } V4_8018287C; +typedef struct { s16 x, y, z, w; } V4_80185480; +typedef struct { u16 x, y, z, w; } V4_80188E10; +typedef struct { u16 x, y, z, w; } V4_80188E10_80182F80; +typedef struct { u16 x, y, z, w; } V4_80188E10_80183BB4; +typedef struct { u16 x, y, z, w; } V4_80188E10_80186EA4; +typedef struct { u16 x, y, z, w; } V4_80188E10_80187898; +typedef struct { u16 x, y, z, w; } V4_80188E10_8018937C; +typedef struct { s16 w[4]; } V4_88; +typedef struct { + s16 x, y, z, w; /* 8-byte stack vector (sh stores, lh reads) */ +} V8_8017D898; +typedef struct { s16 x, y, z, w; } V8_8017DEBC; +typedef struct { + u16 x, y, z, w; + } V8_8017FBEC; +typedef struct { + u16 x, y, z, w; + } V8_8017FFA0; +typedef struct { + u16 x, y, z, w; + } V8_80180448; +typedef struct { u16 x, y, z, w; } V8_80181368; +typedef struct { u16 x, y, z, w; } V8_80181368_8017F690; +typedef struct { u16 x, y, z, w; } V8_80181368_80181CB0; +typedef struct { u16 x, y, z, w; } V8_80181368_8018259C; +typedef struct { u16 x, y, z, w; } V8_80181368_80182728; +typedef struct { u16 x, y, z, w; } V8_80181368_80182728_8017F81C; +typedef struct { u16 x, y, z, w; } V8_80181368_80182728_801814F4; +typedef struct { u16 x, y, z, w; } V8_80182044; +typedef struct { u16 x, y, z, w; } V8_80182044_801810A4; +typedef struct { u16 x, y, z, w; } V8_80182044_80184A38; +typedef struct { u16 x, y, z, w; } V8_80182044_80185668; +typedef struct { u16 x, y, z, w; } V8_801829BC; +typedef struct { s16 x, y, z, w; } V8_80182E54; +typedef struct { s16 x, y, z, w; } V8_80182E54_80183FF8; +typedef struct { u16 x, y, z, w; } V8_8018370C; +typedef struct { u16 x, y, z, w; } V8_80183C24; +typedef struct { s16 x, y, z, w; } V8_8018487C; +typedef struct { s16 x, y, z, w; } V8_8018487C_80185344; +typedef struct { s16 x, y, z, w; } V8_80184F90; +typedef struct { s16 x, y, z, w; } V8_80184F90_801844C8; +typedef struct { + u16 vx, vy, vz, pad; +} V8_801874C0; +typedef struct { + u16 x, y, z; + u8 flag; +} V8_80187968; +typedef struct { + u16 x, y, z; + u8 flag; +} V8_80187968_801804D8; +typedef struct { + u16 x, y, z; + u8 flag; +} V8_80187968_801807AC; +typedef struct { + u16 x, y, z; + u8 flag; +} V8_80187968_80181F18; +typedef struct { + u16 x, y, z; + u8 flag; +} V8_80187968_8018321C; +typedef struct { + u16 x, y, z; + u8 flag; +} V8_80187968_80183280; +typedef struct { + u16 x, y, z; + u8 flag; +} V8_80187968_80184194; +typedef struct { s16 a, b, c, d; } V8x_80180D2C; +typedef struct { s16 a, b, c, d; } V8x_8018466C; +typedef struct { s32 x, y, z; } VEC_8017DF28; +typedef struct { s16 x, y, z, w; } V_8017D9E8; +typedef struct { u16 x, y, z, w; } V_8017DAF4; +typedef struct { s16 vx, vy, vz, pad; } V_8017DCC0; +typedef struct { V_8017DCC0 v[4]; C_8017DCC0 c[4]; u32 flags; } Q_8017DCC0; +typedef struct { + s16 x, y, z, pad; +} V_8017EEC4; +typedef struct { s32 f0, f4, f8; } Vec12_8017F370; +typedef struct { s32 vx, vy, vz, pad; } Vec16_8018E8A0; +typedef struct { s32 vx, vy, vz, pad; } Vec16_8018E8A0_80184FF0; +typedef struct { s32 vx, vy, vz, pad; } Vec16_8018E8A0_801869CC; +typedef struct { s32 vx, vy, vz, pad; } Vec32_80188AF4; +typedef struct { s32 vx, vy, vz, pad; } Vec32_8018AF58; +typedef struct { s32 vx, vy, vz, pad; } Vec32_8018B058; +typedef struct { + s32 vx, vy, vz; +} Vec3_1818F8; +typedef struct { + s32 vx, vy, vz; +} Vec3_1887F8; +typedef struct { + s32 vx, vy, vz; +} Vec3_189324; +typedef struct { s32 x, y, z; } Vec3_8017DF8C; +typedef struct { + s32 vx, vy, vz; +} Vec3_874E8; +typedef struct { s16 x, y, z, pad; } Vec3s16; +typedef struct { + s16 a, b, c; +} Vec3s16_8018388C; +typedef struct { + s16 a, b, c; +} Vec3s16_80185380; +typedef struct { + u16 f0; + s16 f1; + u16 f2; +} Vec3x16; +typedef struct { s16 x, y, z, w; } Vec4S16_80180BF0; +typedef struct { s16 x, y, z, w; } Vec4S16_8018778C; +typedef struct { + u16 x; /* 0x0 */ + u16 y; /* 0x2 */ + u16 z; /* 0x4 */ + u16 w; /* 0x6 */ +} Vec4h_8017E2F4; +typedef struct { + u16 x; /* 0x0 */ + u16 y; /* 0x2 */ + u16 z; /* 0x4 */ + u16 w; /* 0x6 */ +} Vec4h_8017E608; +typedef struct { + /* 0x0 */ u16 x; + /* 0x2 */ u16 y; + /* 0x4 */ u16 z; + /* 0x6 */ u16 w; +} Vec4h_8017E708; +typedef struct { + /* 0x0 */ s16 x; + /* 0x2 */ s16 y; + /* 0x4 */ s16 z; + /* 0x6 */ s16 w; +} Vec4h_8017EAB0; +typedef struct { + u16 x; /* 0x0 */ + u16 y; /* 0x2 */ + u16 z; /* 0x4 */ + u16 w; /* 0x6 */ +} Vec4h_8017EFAC; +typedef struct { + /* 0x0 */ u16 x; + /* 0x2 */ u16 y; + /* 0x4 */ u16 z; + /* 0x6 */ u16 w; +} Vec4h_8017F14C; +typedef struct { + u16 x; + u16 y; + u16 z; + u16 w; +} Vec4h_8017F30C; +typedef struct { + /* 0x0 */ u16 x; + /* 0x2 */ u16 y; + /* 0x4 */ u16 z; +} Vec4h_8017FB08; +typedef struct { + /* 0x0 */ u16 x; + /* 0x2 */ u16 y; + /* 0x4 */ u16 z; + /* 0x6 */ u16 w; +} Vec4h_801818D8; +typedef struct { + u16 x; + u16 y; + u16 z; + u16 w; +} Vec4h_801873FC; +typedef struct { + /* 0x0 */ u16 x; + /* 0x2 */ u16 y; + /* 0x4 */ u16 z; + /* 0x6 */ u16 w; +} Vec4h_80187560; +typedef struct { + u16 x, y, z, w; +} Vec4h_F78C; +typedef struct { + u16 f0; + s16 f1; + u16 f2; + u16 f3; +} Vec4s16_8018423C; +typedef struct { + u16 f0, f1, f2, f3; +} Vec4x16; +typedef struct { u16 x, y, z, pad; } Vec8_80181CA4; +typedef struct { u16 x, y, z, w; } Vec8_80182674; +typedef struct { + s16 vx, vy, vz, pad; +} Vec8_80183D84; +typedef struct { s32 vx, vy, vz; } VecL_80184694; +typedef struct { + s32 vx, vy, vz, pad; +} Vec_8017E37C; +typedef struct { s16 vx, vy, vz, pad; } Vec_80180E8C; +typedef struct { s32 vx, vy, vz; } Vec_80187A04; +typedef struct { s32 vx, vy, vz, pad; } Vec_80190538; +typedef struct { + s16 x; /* +0x0 */ + s16 y; /* +0x2 */ + s16 c; /* +0x4 */ + s16 pad; /* +0x6 */ +} Vtx_8017DC24; +typedef struct { + Vtx_8017DC24 v[3]; /* +0x00 +0x08 +0x10 */ + u8 r0, g0, b0, code; /* +0x18 .. +0x1B */ + u8 r1, g1, b1, pad1; /* +0x1C .. +0x1F */ + u8 r2, g2, b2, pad2; /* +0x20 .. +0x23 */ + u32 color; /* +0x24 */ +} Prim_8017DC24; +typedef struct { + s16 x; /* +0x0 */ + s16 y; /* +0x2 */ + s16 c; /* +0x4 */ + s16 pad; /* +0x6 */ +} Vtx_8017F6A8; +typedef struct { + Vtx_8017F6A8 v[3]; /* +0x00 +0x08 +0x10 */ + u8 r0, g0, b0, code; /* +0x18 .. +0x1B */ + u8 r1, g1, b1, pad1; /* +0x1C .. +0x1F */ + u8 r2, g2, b2, pad2; /* +0x20 .. +0x23 */ + u32 color; /* +0x24 */ +} Prim_8017F6A8; +typedef struct { + s16 x; /* +0x0 */ + s16 y; /* +0x2 */ + s16 c; /* +0x4 */ + s16 pad; /* +0x6 */ +} Vtx_8018012C; +typedef struct { + Vtx_8018012C v[3]; /* +0x00 +0x08 +0x10 */ + u8 r0, g0, b0, code; /* +0x18 .. +0x1B */ + u8 r1, g1, b1, pad1; /* +0x1C .. +0x1F */ + u8 r2, g2, b2, pad2; /* +0x20 .. +0x23 */ + u32 color; /* +0x24 */ +} Prim_8018012C; +typedef struct { + s16 x; /* +0x0 */ + s16 y; /* +0x2 */ + s16 c; /* +0x4 */ + s16 pad; /* +0x6 */ +} Vtx_80185C0C; +typedef struct { + Vtx_80185C0C v[3]; /* +0x00 +0x08 +0x10 */ + u8 r0, g0, b0, code; /* +0x18 .. +0x1B */ + u8 r1, g1, b1, pad1; /* +0x1C .. +0x1F */ + u8 r2, g2, b2, pad2; /* +0x20 .. +0x23 */ + u32 color; /* +0x24 */ +} Prim_80185C0C; +typedef struct { u8 c[4]; } W4; +typedef struct { u8 c[4]; } W4_80181E88; +typedef struct { + W4_80181E88 f00; /* 0x00 */ + u16 f04; /* 0x04 */ + u16 f06; /* 0x06 */ + W4_80181E88 f08; /* 0x08 */ + u32 f0c; /* 0x0c */ + u32 f10; /* 0x10 */ + u32 f14; /* 0x14 */ + u32 f18; /* 0x18 */ +} Prim_80181E88; +typedef struct { s32 v; u8 pad[0x4C]; } W50_80181E04; +typedef struct { + u8 pad0[0x20]; + s32 f20; + u8 pad24[0x10]; + u16 f34; + u8 pad36[0xC6]; + s16 fFC; + s16 fFE; +} W_801810A0; +typedef struct { u32 w; } W_S40_8018B238; +typedef struct { u32 w; } W_S40_8018B238_80187EA0; +typedef struct { u32 w; } W_S40_8018B238_80188478; +typedef struct { u32 w; } W_S40_8018B238_80188778; +typedef struct { + u8 unk00[0x70]; + s16 unk70; + s16 unk72; + s16 unk74; + s16 unk76; + u8 pad78[0x84]; + s16 unkFC; +} Work; +typedef struct { + u8 pad0[8]; + s32 f08; + s32 f0C; + u8 pad10[0x20]; + s16 f30; +} Work_80126948; +typedef struct { s16 x, y, z; s16 pad[5]; } Work_8017E330; +typedef struct { s16 x, y, z; s16 pad[5]; } Work_8017E550; +typedef struct { s16 x, y, z; s16 pad[5]; } Work_8017E878; +typedef struct { + u8 pad0[2]; + u16 f002; + u8 pad1[0xD8]; + struct { + s16 f0DC; + u16 f0DE; + union { + struct { s32 f0E0; s32 f0E4; } l; + struct { u8 p[2]; s16 f0E2; u8 q[2]; s16 f0E6; } h; + } u; + u16 f0E8; + } f; +} Work_801832E0; +typedef struct { + u8 pad0[2]; + u16 f002; + u8 pad1[0xD8]; + struct { + s16 f0DC; + u16 f0DE; + union { + struct { s32 f0E0; s32 f0E4; } l; + struct { u8 p[2]; s16 f0E2; u8 q[2]; s16 f0E6; } h; + } u; + u16 f0E8; + } f; +} Work_80183634; +typedef struct { + u16 f10; /* 0x10 */ + u16 f12; /* 0x12 */ + u16 f14; /* 0x14 */ + s16 f16; /* 0x16 */ + s16 f18; /* 0x18 */ + s16 f1a; /* 0x1A */ + s16 f1c; /* 0x1C */ + u16 f1e; /* 0x1E */ + s32 f20; /* 0x20 */ +} buf_801840C0; +typedef struct { + u16 f10; /* 0x10 */ + u16 f12; /* 0x12 */ + u16 f14; /* 0x14 */ + s16 f16; /* 0x16 */ + s16 f18; /* 0x18 */ + s16 f1a; /* 0x1A */ + s16 f1c; /* 0x1C */ + u16 f1e; /* 0x1E */ + s32 f20; /* 0x20 */ +} buf_801873B0; +typedef struct { + u16 f10; /* 0x10 */ + u16 f12; /* 0x12 */ + u16 f14; /* 0x14 */ + s16 f16; /* 0x16 */ + s16 f18; /* 0x18 */ + s16 f1a; /* 0x1A */ + s16 f1c; /* 0x1C */ + u16 f1e; /* 0x1E */ + s32 f20; /* 0x20 */ +} buf_80187DA4; +typedef struct { + void (*fn)(void *); + u8 unk4[0x14]; +} S_801C7808_Entry; +typedef struct { + void (*fn[3])(void *); +} Tbl_801E6CA4; +typedef struct { + void (*fp)(void); + s32 pad; +} TblEntry_80189854; #endif /* BFM_ENGINE_TYPES_H */ /* SESSION-19: moved here — 11 typedefs (the * Phase-29 crack-wave lift onward) were sitting OUTSIDE the guard, so any TU that * included this header twice re-declared them. gcc-2.7.2 rejects a repeated typedef diff --git a/tools/lift_types.py b/tools/lift_types.py index 69842db78c..e5f831083d 100644 --- a/tools/lift_types.py +++ b/tools/lift_types.py @@ -33,6 +33,39 @@ def norm(body): return re.sub(r"\s+", " ", body.strip()) +def brace_depths(text, offsets): + """{offset: brace depth} over the comment-blanked text. A def at depth > 0 is BLOCK-scope (a + function-local typedef/struct): it is not a fleet type — two functions may legally define the + same name differently, and one may reference another block-local type (T5: `Locs` lifted while + its member type `Blk8L` stayed local -> parse error in every TU).""" + b = bet.blank_comments(text) + out, want = {}, sorted(set(offsets)) + depth, wi = 0, 0 + for m in re.finditer(r"[{}]", b): + while wi < len(want) and want[wi] <= m.start(): + out[want[wi]] = depth + wi += 1 + depth += 1 if m.group() == "{" else -1 + for o in want[wi:]: + out[o] = depth + return out + + +def declares_object(raw): + """True when a struct/union def also DECLARES an object: `struct T {...} var;`. Lifting it would + define the variable in every TU and stripping it deletes the TU's variable (T5: Ctr34).""" + tail = raw[raw.rfind("}") + 1:] + tail = re.sub(r"__attribute__\s*\(\(.*\)\)", "", tail, flags=re.S) + return tail.strip() not in ("", ";") + + +def common_typedefs(): + """Typedef names include/common.h already provides (u8/s32/...): never lifted — engine_types.h + includes common.h, so a second typedef is a redefinition error.""" + return {n for n, _b, _s, _e in bet.find_typedefs( + bet.blank_comments(open(os.path.join(REPO, "include/common.h")).read()))} + + def scan(names=None): """Return (hits, carried_tags). names=None collects EVERY type (the --candidates sweep). hits {(kind, name): {norm_def: {file: [(s, e, raw), ...]}}} @@ -55,10 +88,16 @@ def scan(names=None): f"def/typedef overlap(s), skipped: {[d[1] for d in partial[:3]]}") for _kind, tag, alias in carried: carried_tags[tag].add(alias) + # file scope only (the lift's contract): block-scope defs and object-declaring defs never enter + depth = brace_depths(text, [s for _n, _b, s, _e in tdefs] + [s for _k, _n, s, _e in defs]) for name, _body, s, e in tdefs: + if depth[s]: + continue if names is None or name in names: hits[("typedef", name)][norm(text[s:e])][f].append((s, e, text[s:e])) for kind, name, s, e in defs: + if depth[s] or declares_object(text[s:e]): + continue if names is None or name in names: hits[(kind, name)][norm(text[s:e])][f].append((s, e, text[s:e])) return hits, carried_tags @@ -133,6 +172,21 @@ def main(): ap.error("--types is required (or use --candidates to derive it)") names = set(t.strip() for t in args.types.split(",") if t.strip()) names -= set(t.strip() for t in args.exclude.split(",") if t.strip()) + provided = names & common_typedefs() + if provided: + print(f" SKIP (include/common.h provides): {', '.join(sorted(provided))}") + names -= provided + # an overlay-LOCAL header (src/ov_*/*.h, src/md_*/*.h) that defines the same name collides with + # the lifted copy in every TU including both (T5: ov_SC02_005_shared.h -> `conflicting types`) + in_local_h = collections.defaultdict(set) + for h in sorted(glob.glob(os.path.join(REPO, "src/ov_*/*.h")) + glob.glob(os.path.join(REPO, "src/md_*/*.h"))): + d, t, _c, _p = bet.resolve_type_defs(open(h).read()) + for n in {n for _k, n, _s, _e in d} | {n for n, _b, _s, _e in t}: + if n in names: + in_local_h[n].add(os.path.relpath(h, REPO)) + for n, hs in sorted(in_local_h.items()): + print(f" SKIP {n}: also defined in overlay-local header {', '.join(sorted(hs))}") + names -= set(in_local_h) hits, carried_tags = scan(names) # what the header ALREADY defines — derived by parsing it, not guessed by a regex (R33)