mirror of
https://github.com/Druthulu/BFM-decomp
synced 2026-10-06 17:11:04 -04:00
T5.c1: fleet lift 1308 types to engine_types.h; lift_types file-scope/common.h/local-.h guards
This commit is contained in:
@@ -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
|
||||
|
||||
@@ -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 <target> reachable/hittable" gate (136 ins, ov_SC01_077 jr_8012ACE0).
|
||||
|
||||
@@ -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);
|
||||
|
||||
|
||||
@@ -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();
|
||||
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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).
|
||||
*
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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] */
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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");
|
||||
|
||||
@@ -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
|
||||
*
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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
|
||||
*
|
||||
|
||||
@@ -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)
|
||||
{
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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);`)
|
||||
|
||||
@@ -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)
|
||||
{
|
||||
|
||||
@@ -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)
|
||||
{
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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)
|
||||
{
|
||||
|
||||
@@ -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;
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -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)
|
||||
{
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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;
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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[];
|
||||
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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)
|
||||
{
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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)
|
||||
{
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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)
|
||||
{
|
||||
|
||||
@@ -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) {
|
||||
|
||||
|
||||
@@ -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)
|
||||
{
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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)
|
||||
*
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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 */
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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 <target> reachable/hittable" gate (136 ins, ov_SC01_077 jr_8012ACE0).
|
||||
|
||||
@@ -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"
|
||||
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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();
|
||||
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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)
|
||||
{
|
||||
|
||||
@@ -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[];
|
||||
|
||||
@@ -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)
|
||||
{
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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 */
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -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;
|
||||
|
||||
|
||||
@@ -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;
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
* *_<addr> 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);
|
||||
|
||||
@@ -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[];
|
||||
|
||||
@@ -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)
|
||||
{
|
||||
|
||||
@@ -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];
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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;
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -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[];
|
||||
|
||||
@@ -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];
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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"
|
||||
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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[];
|
||||
|
||||
@@ -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[];
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user