mirror of
https://github.com/n64decomp/mk64
synced 2026-07-01 02:50:09 -04:00
Match two funcs (#623)
This commit is contained in:
+44
-155
@@ -1597,8 +1597,6 @@ void func_80092258(void) {
|
||||
}
|
||||
}
|
||||
|
||||
#ifdef NON_MATCHING
|
||||
//generated by m2c commit eefca95b040d7ee0c617bc58f9ac6cd1cf7bce87 on Sep-02-2023
|
||||
void func_80092290(s32 arg0, s32 *arg1, s32 *arg2) {
|
||||
s32 temp_v1;
|
||||
s32 i;
|
||||
@@ -1607,6 +1605,7 @@ void func_80092290(s32 arg0, s32 *arg1, s32 *arg2) {
|
||||
s32 temp_t7;
|
||||
s32 temp_t8_2;
|
||||
s32 temp_t9;
|
||||
s32 temp_t0;
|
||||
s32 a, b, c, d;
|
||||
Vtx *vtx;
|
||||
|
||||
@@ -1630,11 +1629,11 @@ void func_80092290(s32 arg0, s32 *arg1, s32 *arg2) {
|
||||
temp_t7 = (vtx+temp_v1)->v.cn[2] * (256 - *arg2);
|
||||
temp_t8_2 = (vtx+temp_v1)->v.cn[3] * (256 - *arg2);
|
||||
|
||||
temp_v1 = (*arg1 % 6) + 2;
|
||||
a = (*arg2 * (vtx+temp_v1)->v.cn[0]);
|
||||
b = (*arg2 * (vtx+temp_v1)->v.cn[1]);
|
||||
c = (*arg2 * (vtx+temp_v1)->v.cn[2]);
|
||||
d = (*arg2 * (vtx+temp_v1)->v.cn[3]);
|
||||
temp_v1 = (((*arg1 * 2) + 2) % 6) + 2;
|
||||
a = ((vtx+temp_v1)->v.cn[0] * *arg2);
|
||||
b = ((vtx+temp_v1)->v.cn[1] * *arg2);
|
||||
c = ((vtx+temp_v1)->v.cn[2] * *arg2);
|
||||
d = ((vtx+temp_v1)->v.cn[3] * *arg2);
|
||||
|
||||
|
||||
(vtx+idx)->v.cn[0] = (temp_t6 + a) / 256;
|
||||
@@ -1648,9 +1647,7 @@ void func_80092290(s32 arg0, s32 *arg1, s32 *arg2) {
|
||||
(vtx+idx+1)->v.cn[3] = (temp_t8_2 + d) / 256;
|
||||
}
|
||||
}
|
||||
#else
|
||||
GLOBAL_ASM("asm/non_matchings/code_80091750/func_80092290.s")
|
||||
#endif
|
||||
|
||||
|
||||
void func_80092500(void) {
|
||||
|
||||
@@ -9330,161 +9327,53 @@ void func_800A9710(struct_8018D9E0_entry *arg0) {
|
||||
}
|
||||
}
|
||||
|
||||
#ifdef MIPS_TO_C
|
||||
//generated by m2c commit 3c194b80148d233bd38495ca3456dc7b201a0302 on Mar-22-2024
|
||||
void func_800A97BC(struct_8018D9E0_entry *arg0) {
|
||||
s32 temp_t4;
|
||||
s32 temp_t7;
|
||||
s8 *var_v1;
|
||||
s8 *var_v1_2;
|
||||
s8 temp_v0;
|
||||
s8 temp_v0_2;
|
||||
s8 temp_v0_3;
|
||||
s8 temp_v0_4;
|
||||
s8 temp_v0_5;
|
||||
s8 temp_v0_6;
|
||||
s8 temp_v0_7;
|
||||
s8 temp_v0_8;
|
||||
void func_800A97BC(struct_8018D9E0_entry* arg0) {
|
||||
s32 i;
|
||||
|
||||
if (*D_800E86D0 != 1) {
|
||||
if (*D_800E86D0 != 2) {
|
||||
switch(*D_800E86D0) {
|
||||
case 1:
|
||||
arg0->row -= 2;
|
||||
if (arg0->row < 0x60) {
|
||||
arg0->row = 0x69;
|
||||
*D_800E86D0 = 0;
|
||||
return;
|
||||
for (i = 0; i < 8; i++) {
|
||||
if (i < 7) {
|
||||
D_800E86C4[i] = D_800E86C4[i + 1];
|
||||
} else {
|
||||
if ((D_800E86C4[i - 1] == 0x10) || (D_800E86C4[i - 1] == 0)) {
|
||||
D_800E86C4[i] = 0;
|
||||
} else {
|
||||
D_800E86C4[i] = D_800E86C4[i - 1] + 1;
|
||||
}
|
||||
}
|
||||
}
|
||||
D_800E86C4[0] = D_800E86C4[8] = 0;
|
||||
}
|
||||
temp_t4 = arg0->row + 2;
|
||||
arg0->row = temp_t4;
|
||||
if (temp_t4 >= 0x73) {
|
||||
arg0->row = 0x00000069;
|
||||
*D_800E86D0 = 0;
|
||||
var_v1 = D_800E86C4 + 8;
|
||||
do {
|
||||
if ((u32) var_v1 >= (u32) (D_800E86C4 + 2)) {
|
||||
var_v1->unk0 = var_v1->unk-1;
|
||||
} else {
|
||||
temp_v0 = var_v1->unk1;
|
||||
if ((temp_v0 == 1) || (temp_v0 == 0)) {
|
||||
var_v1->unk0 = 0;
|
||||
} else {
|
||||
var_v1->unk0 = temp_v0 - 1;
|
||||
}
|
||||
}
|
||||
if ((u32) var_v1 >= (u32) (D_800E86C4 + 3)) {
|
||||
var_v1->unk-1 = (s8) var_v1->unk-2;
|
||||
} else {
|
||||
temp_v0_2 = var_v1->unk0;
|
||||
if ((temp_v0_2 == 1) || (temp_v0_2 == 0)) {
|
||||
var_v1->unk-1 = 0;
|
||||
} else {
|
||||
var_v1->unk-1 = (s8) (temp_v0_2 - 1);
|
||||
}
|
||||
}
|
||||
if ((u32) var_v1 >= (u32) (D_800E86C4 + 4)) {
|
||||
var_v1->unk-2 = (s8) var_v1->unk-3;
|
||||
} else {
|
||||
temp_v0_3 = var_v1->unk-1;
|
||||
if ((temp_v0_3 == 1) || (temp_v0_3 == 0)) {
|
||||
var_v1->unk-2 = 0;
|
||||
} else {
|
||||
var_v1->unk-2 = (s8) (temp_v0_3 - 1);
|
||||
}
|
||||
}
|
||||
if ((u32) var_v1 >= (u32) (D_800E86C4 + 5)) {
|
||||
var_v1->unk-3 = (s8) var_v1->unk-4;
|
||||
} else {
|
||||
temp_v0_4 = var_v1->unk-2;
|
||||
if ((temp_v0_4 == 1) || (temp_v0_4 == 0)) {
|
||||
var_v1->unk-3 = 0;
|
||||
} else {
|
||||
var_v1->unk-3 = (s8) (temp_v0_4 - 1);
|
||||
}
|
||||
}
|
||||
var_v1 -= 4;
|
||||
} while (var_v1 != D_800E86C4);
|
||||
|
||||
// for (var_v1 = 0; var_v1 < 8; var_v1++) {
|
||||
// huh = 8 - var_v1;
|
||||
// if (D_800E86C4[huh] >= D_800E86C4[var_v1 + 2]) {
|
||||
// D_800E86C4[huh] = D_800E86C4[huh - 1];
|
||||
// } else {
|
||||
// if ((D_800E86C4[huh + 1] == 1) || (D_800E86C4[huh + 1] == 0)) {
|
||||
// D_800E86C4[huh] = 0;
|
||||
// } else {
|
||||
// D_800E86C4[huh] = D_800E86C4[huh + 1] + 1;
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
D_800E86C4->unk8 = 0;
|
||||
D_800E86C4->unk0 = D_800E86C4->unk8;
|
||||
}
|
||||
} else {
|
||||
temp_t7 = arg0->row - 2;
|
||||
arg0->row = temp_t7;
|
||||
if (temp_t7 < 0x60) {
|
||||
arg0->row = 0x00000069;
|
||||
break;
|
||||
case 2:
|
||||
arg0->row += 2;
|
||||
if (arg0->row >= 0x73) {
|
||||
arg0->row = 0x69;
|
||||
*D_800E86D0 = 0;
|
||||
var_v1_2 = D_800E86C4;
|
||||
do {
|
||||
if ((u32) var_v1_2 < (u32) (D_800E86C4 + 7)) {
|
||||
var_v1_2->unk0 = var_v1_2->unk1;
|
||||
for (i = 8; i > 0; i--) {
|
||||
if (i > 1) {
|
||||
D_800E86C4[i] = D_800E86C4[i - 1];
|
||||
} else {
|
||||
temp_v0_5 = var_v1_2->unk-1;
|
||||
if ((temp_v0_5 == 0x10) || (temp_v0_5 == 0)) {
|
||||
var_v1_2->unk0 = 0;
|
||||
if ((D_800E86C4[i + 1] == 1) || (D_800E86C4[i + 1] == 0)) {
|
||||
D_800E86C4[i] = 0;
|
||||
} else {
|
||||
var_v1_2->unk0 = temp_v0_5 + 1;
|
||||
D_800E86C4[i] = D_800E86C4[i+1] - 1;
|
||||
}
|
||||
}
|
||||
if ((u32) var_v1_2 < (u32) (D_800E86C4 + 6)) {
|
||||
var_v1_2->unk1 = (s8) var_v1_2->unk2;
|
||||
} else {
|
||||
temp_v0_6 = var_v1_2->unk0;
|
||||
if ((temp_v0_6 == 0x10) || (temp_v0_6 == 0)) {
|
||||
var_v1_2->unk1 = 0;
|
||||
} else {
|
||||
var_v1_2->unk1 = (s8) (temp_v0_6 + 1);
|
||||
}
|
||||
}
|
||||
if ((u32) var_v1_2 < (u32) (D_800E86C4 + 5)) {
|
||||
var_v1_2->unk2 = (s8) var_v1_2->unk3;
|
||||
} else {
|
||||
temp_v0_7 = var_v1_2->unk1;
|
||||
if ((temp_v0_7 == 0x10) || (temp_v0_7 == 0)) {
|
||||
var_v1_2->unk2 = 0;
|
||||
} else {
|
||||
var_v1_2->unk2 = (s8) (temp_v0_7 + 1);
|
||||
}
|
||||
}
|
||||
if ((u32) var_v1_2 < (u32) (D_800E86C4 + 4)) {
|
||||
var_v1_2->unk3 = (s8) var_v1_2->unk4;
|
||||
} else {
|
||||
temp_v0_8 = var_v1_2->unk2;
|
||||
if ((temp_v0_8 == 0x10) || (temp_v0_8 == 0)) {
|
||||
var_v1_2->unk3 = 0;
|
||||
} else {
|
||||
var_v1_2->unk3 = (s8) (temp_v0_8 + 1);
|
||||
}
|
||||
}
|
||||
var_v1_2 += 4;
|
||||
} while (var_v1_2 != (D_800E86C4 + 8));
|
||||
// for (var_v1 = 0; var_v1 < 8; var_v1++) {
|
||||
// if (D_800E86C4[var_v1] < D_800E86C4[7 - var_v1]) {
|
||||
// D_800E86C4[var_v1] = D_800E86C4[var_v1 + 1];
|
||||
// } else {
|
||||
// if ((D_800E86C4[var_v1 - 1] == 16) || (D_800E86C4[var_v1 - 1] == 0)) {
|
||||
// D_800E86C4[var_v1] = 0;
|
||||
// } else {
|
||||
// D_800E86C4[var_v1] = D_800E86C4[var_v1 - 1] + 1;
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
D_800E86C4->unk8 = 0;
|
||||
D_800E86C4->unk0 = D_800E86C4->unk8;
|
||||
}
|
||||
}
|
||||
D_800E86C4[0] = D_800E86C4[8] = 0;
|
||||
break;
|
||||
default:
|
||||
*D_800E86D0 = 0;
|
||||
break;
|
||||
}
|
||||
}
|
||||
#else
|
||||
GLOBAL_ASM("asm/non_matchings/code_80091750/func_800A97BC.s")
|
||||
#endif
|
||||
}} // todo: <-- fix these brackets
|
||||
|
||||
// Don't know if this belongs here or inside func_800A9A98
|
||||
// as a `static const`. But this matches so we'll leave
|
||||
|
||||
Reference in New Issue
Block a user