code_0x800A5AC0 almost matches

This commit is contained in:
rozlette 2018-10-27 22:59:47 -05:00
parent 991bd83ea5
commit c15ac4a925
4 changed files with 11 additions and 14 deletions

View File

@ -194,7 +194,7 @@ known_funcs = {
0x800A5AC0:("func_800A5AC0","UNK_RET","void*, UNK_TYPE"), # guessing this is void* bc it's a thread entry point 0x800A5AC0:("func_800A5AC0","UNK_RET","void*, UNK_TYPE"), # guessing this is void* bc it's a thread entry point
0x800A5B6C:("func_800A5B6C","UNK_RET","struct s800A5AC0*, UNK_TYPE"), 0x800A5B6C:("func_800A5B6C","UNK_RET","struct s800A5AC0*, UNK_TYPE"),
0x800A5B98:("func_800A5B98","UNK_RET","struct s800A5AC0*, UNK_TYPE"), 0x800A5B98:("func_800A5B98","UNK_RET","struct s800A5AC0*, UNK_TYPE"),
0x800A5C28:("func_800A5C28","UNK_RET","struct s800A5AC0*, UNK_TYPE"), 0x800A5C28:("func_800A5C28","UNK_RET","struct s800A5AC0*"),
0x800A5C60:("func_800A5C60","UNK_RET","struct s800A5AC0*, UNK_TYPE"), 0x800A5C60:("func_800A5C60","UNK_RET","struct s800A5AC0*, UNK_TYPE"),
0x800A5CB8:("func_800A5CB8","UNK_RET","struct s800A5AC0*, UNK_TYPE"), 0x800A5CB8:("func_800A5CB8","UNK_RET","struct s800A5AC0*, UNK_TYPE"),
0x800B3BA4:("func_800B3BA4","UNK_RET","UNK_PTR, UNK_TYPE, UNK_PTR, UNK_TYPE"), 0x800B3BA4:("func_800B3BA4","UNK_RET","UNK_PTR, UNK_TYPE, UNK_PTR, UNK_TYPE"),

View File

@ -458,7 +458,7 @@ UNK_RET __libm_qnan_f(UNK_ARGS); // func_80099450
UNK_RET func_800A5AC0(void*, UNK_TYPE); // func_800A5AC0 UNK_RET func_800A5AC0(void*, UNK_TYPE); // func_800A5AC0
UNK_RET func_800A5B6C(struct s800A5AC0*, UNK_TYPE); // func_800A5B6C UNK_RET func_800A5B6C(struct s800A5AC0*, UNK_TYPE); // func_800A5B6C
UNK_RET func_800A5B98(struct s800A5AC0*, UNK_TYPE); // func_800A5B98 UNK_RET func_800A5B98(struct s800A5AC0*, UNK_TYPE); // func_800A5B98
UNK_RET func_800A5C28(struct s800A5AC0*, UNK_TYPE); // func_800A5C28 UNK_RET func_800A5C28(struct s800A5AC0*); // func_800A5C28
UNK_RET func_800A5C60(struct s800A5AC0*, UNK_TYPE); // func_800A5C60 UNK_RET func_800A5C60(struct s800A5AC0*, UNK_TYPE); // func_800A5C60
UNK_RET func_800A5CB8(struct s800A5AC0*, UNK_TYPE); // func_800A5CB8 UNK_RET func_800A5CB8(struct s800A5AC0*, UNK_TYPE); // func_800A5CB8
// UNK_RET func_800A5D00(UNK_ARGS); // UNK_RET func_800A5D00(UNK_ARGS);

View File

@ -37,14 +37,14 @@ struct s80092920 {
struct s800A5AC0 { struct s800A5AC0 {
/* 000 */ u8 pad0[28]; /* 000 */ u8 pad0[28];
/* 028 */ u16 unk28; /* 028 */ s16 unk28;
/* 030 */ u8 pad1[116]; /* 030 */ u8 pad1[116];
/* 146 */ u16 unk146; /* 146 */ s16 unk146;
/* 148 */ u8 pad2[34]; /* 148 */ u8 pad2[34];
/* 182 */ u8 unk182; /* 182 */ u8 unk182;
/* 183 */ u8 pad4[5]; /* 183 */ u8 pad4[5];
/* 188 */ u16 unk188; // or char /* 188 */ u16 unk188; // or char
/* 190 */ u16 unk190; /* 190 */ s16 unk190;
/* 192 */ u8 pad5[86]; /* 192 */ u8 pad5[86];
/* 278 */ u16 unk278; /* 278 */ u16 unk278;
/* 280 */ u8 pad6[44]; /* 280 */ u8 pad6[44];

View File

@ -14,28 +14,25 @@ UNK_RET func_800A5AC0(void* a0, UNK_TYPE a1) {
} }
UNK_RET func_800A5B6C(struct s800A5AC0* a0, UNK_TYPE a1) { UNK_RET func_800A5B6C(struct s800A5AC0* a0, UNK_TYPE a1) {
func_800E11EC(a1, &a0->unk328); UNK_TYPE* a2 = &a0->unk328;
func_800E11EC(a1, a2);
} }
UNK_RET func_800A5B98(struct s800A5AC0* a0, UNK_TYPE a1) { UNK_RET func_800A5B98(struct s800A5AC0* a0, UNK_TYPE a1) {
s16 v0; s32 v0;
s32 v1; s32 v1;
if (func_800B84D0(a0, a1) != 0) { if (func_800B84D0(a0, a1) != 0) {
a0->unk324 = func_800A5C28; a0->unk324 = (void(*)(struct s800A5AC0*, UNK_TYPE))func_800A5C28; //! Is this cast correct?
} else { } else {
v0 = a0->unk146 - a0->unk190; v0 = a0->unk146 - a0->unk190;
if (v0 < 0) { v1 = (v0 < 0)? -v0 : v0;
v1 = -v0;
} else {
v1 = v0;
}
if ((v1 < 10240) || ((a0->unk28 == 1) && (v1 > 22528))) { if ((v1 < 10240) || ((a0->unk28 == 1) && (v1 > 22528))) {
func_800B863C(a0, a1); func_800B863C(a0, a1);
} }
} }
} }
UNK_RET func_800A5C28(struct s800A5AC0* a0, UNK_TYPE a1 /* unused */ ) { UNK_RET func_800A5C28(struct s800A5AC0* a0) {
if (func_800B867C(a0) != 0) { if (func_800B867C(a0) != 0) {
a0->unk324 = func_800A5B98; a0->unk324 = func_800A5B98;
} }