mirror of
https://github.com/Druthulu/BFM-decomp
synced 2026-09-30 23:37:39 -04:00
phase-36: S104 s104_d6 — func_8017B614 banked at 0 through the whole-object gate + propagated — 3 levers→0: the banked ov_SC01_000 variant ported (one-scope src, struct-member tail reads, D_8012694C[0] store)
This commit is contained in:
@@ -5283,7 +5283,6 @@ extern void func_8012A018(s32 a, s32 b);
|
||||
|
||||
s32 func_8017B614(s32 param_1, s32 param_2)
|
||||
{
|
||||
|
||||
extern s32 D_80126990;
|
||||
extern s32 D_80126994;
|
||||
extern s16 D_8018534C;
|
||||
@@ -5298,52 +5297,40 @@ s32 func_8017B614(s32 param_1, s32 param_2)
|
||||
extern s16 D_801853BC;
|
||||
extern s16 D_801853BE;
|
||||
extern s16 D_801853C0;
|
||||
extern u8 D_8012694C;
|
||||
extern u8 D_8012694C[];
|
||||
extern s32 D_80126998;
|
||||
extern s32 D_80126984;
|
||||
extern s32 D_80126988;
|
||||
extern s32 D_8012698C;
|
||||
|
||||
u8 buf[16];
|
||||
u8 *src;
|
||||
|
||||
if (((u32)param_2) >= 0xB) {
|
||||
register u8 *src __asm__("$16"); // !FAKE: pin $16 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
__asm__ __volatile__("" : "=r"(src) : "0"((u8 *)((u32)param_2))); // !FAKE: launder — NEEDED DIFFERS (P36 rung B tus9)
|
||||
src = (u8 *)((u32)param_2);
|
||||
*(Blk8_8017B614 *)&buf[0] = *(Blk8_8017B614 *)src;
|
||||
*(Blk8_8017B614 *)&buf[8] = *(Blk8_8017B614 *)(src + 8);
|
||||
} else {
|
||||
s32 a1addr = (s32)&D_80181CC0[((u32)param_2) * 0x10];
|
||||
s32 a2addr = (s32)&D_80181CC0[((u32)param_2) * 0x10 + 8];
|
||||
func_8012F214(param_1, a1addr, (s32)&buf[0]);
|
||||
s32 a2addr;
|
||||
|
||||
src = &D_80181CC0[((u32)param_2) * 0x10];
|
||||
a2addr = (s32)&D_80181CC0[((u32)param_2) * 0x10 + 8];
|
||||
func_8012F214(param_1, (s32)src, (s32)&buf[0]);
|
||||
func_8012F214(param_1, a2addr, (s32)&buf[8]);
|
||||
}
|
||||
{
|
||||
s16 *p794 = &D_801853C4;
|
||||
s16 *p78C = &D_801853BC;
|
||||
*(Blk8_8017B614 *)p794 = *(Blk8_8017B614 *)&buf[0];
|
||||
*(Blk8_8017B614 *)p78C = *(Blk8_8017B614 *)&buf[8];
|
||||
func_8012A018((s32)func_8017BE60, 0);
|
||||
{
|
||||
s32 v794, v796, v798, v78C, v78E, v790;
|
||||
D_8012694C = 0;
|
||||
v794 = *p794;
|
||||
v796 = D_801853C6;
|
||||
v798 = D_801853C8;
|
||||
v78C = *p78C;
|
||||
v78E = D_801853BE;
|
||||
v790 = D_801853C0;
|
||||
__asm__ __volatile__(""); // !FAKE: barrier — NEEDED DIFFERS (P36 rung B tus9)
|
||||
D_80185C08 = 1;
|
||||
D_8018534C = 0x1E;
|
||||
D_80126990 = v794;
|
||||
D_80126994 = v796;
|
||||
D_80126998 = v798;
|
||||
D_80126984 = v78C;
|
||||
D_80126988 = v78E;
|
||||
D_8012698C = v790;
|
||||
}
|
||||
func_80129CF8();
|
||||
}
|
||||
*(Blk8_8017B614 *)&D_801853C4 = *(Blk8_8017B614 *)&buf[0];
|
||||
*(Blk8_8017B614 *)&D_801853BC = *(Blk8_8017B614 *)&buf[8];
|
||||
func_8012A018((s32)func_8017BE60, 0);
|
||||
D_8012694C[0] = 0;
|
||||
D_80185C08 = 1;
|
||||
D_8018534C = 0x1E;
|
||||
D_80126990 = ((SV4_8017B368 *)&D_801853C4)->a;
|
||||
D_80126994 = D_801853C6;
|
||||
D_80126998 = D_801853C8;
|
||||
D_80126984 = ((SV4_8017B368 *)&D_801853BC)->a;
|
||||
D_80126988 = D_801853BE;
|
||||
D_8012698C = D_801853C0;
|
||||
func_80129CF8();
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -3044,6 +3044,10 @@ s32 func_8017B490(s32 param)
|
||||
|
||||
s32 func_8017B614(s32 param_1, s32 param_2)
|
||||
{
|
||||
extern s32 D_80126990;
|
||||
extern s32 D_80126994;
|
||||
extern s16 D_801DA71C;
|
||||
extern s16 D_801DAAB8;
|
||||
extern void func_8012F214(s32 a0, s32 a1, s32 a2);
|
||||
extern void func_80129CF8(void);
|
||||
extern s32 func_8017BE60(void *a0);
|
||||
@@ -3054,52 +3058,40 @@ s32 func_8017B614(s32 param_1, s32 param_2)
|
||||
extern s16 D_801DA78C;
|
||||
extern s16 D_801DA78E;
|
||||
extern s16 D_801DA790;
|
||||
extern u8 D_8012694C;
|
||||
extern u8 D_8012694C[];
|
||||
extern s32 D_80126998;
|
||||
extern s32 D_80126984;
|
||||
extern s32 D_80126988;
|
||||
extern s32 D_8012698C;
|
||||
|
||||
u8 buf[16];
|
||||
u8 *src;
|
||||
|
||||
if (((u32)param_2) >= 0xB) {
|
||||
register u8 *src __asm__("$16"); // !FAKE: pin $16 — NEEDED DIFFERS (P36 rung B tus7)
|
||||
__asm__ __volatile__("" : "=r"(src) : "0"((u8 *)((u32)param_2))); // !FAKE: launder — NEEDED DIFFERS (P36 rung B tus7)
|
||||
src = (u8 *)((u32)param_2);
|
||||
*(Blk8_8017B614 *)&buf[0] = *(Blk8_8017B614 *)src;
|
||||
*(Blk8_8017B614 *)&buf[8] = *(Blk8_8017B614 *)(src + 8);
|
||||
} else {
|
||||
s32 a1addr = (s32)&D_8018A45C[((u32)param_2) * 0x10];
|
||||
s32 a2addr = (s32)&D_8018A45C[((u32)param_2) * 0x10 + 8];
|
||||
func_8012F214(param_1, a1addr, (s32)&buf[0]);
|
||||
s32 a2addr;
|
||||
|
||||
src = &D_8018A45C[((u32)param_2) * 0x10];
|
||||
a2addr = (s32)&D_8018A45C[((u32)param_2) * 0x10 + 8];
|
||||
func_8012F214(param_1, (s32)src, (s32)&buf[0]);
|
||||
func_8012F214(param_1, a2addr, (s32)&buf[8]);
|
||||
}
|
||||
{
|
||||
s16 *p794 = &D_801DA794;
|
||||
s16 *p78C = &D_801DA78C;
|
||||
*(Blk8_8017B614 *)p794 = *(Blk8_8017B614 *)&buf[0];
|
||||
*(Blk8_8017B614 *)p78C = *(Blk8_8017B614 *)&buf[8];
|
||||
func_8012A018((s32)func_8017BE60, 0);
|
||||
{
|
||||
s32 v794, v796, v798, v78C, v78E, v790;
|
||||
D_8012694C = 0;
|
||||
v794 = *p794;
|
||||
v796 = D_801DA796;
|
||||
v798 = D_801DA798;
|
||||
v78C = *p78C;
|
||||
v78E = D_801DA78E;
|
||||
v790 = D_801DA790;
|
||||
__asm__ __volatile__(""); // !FAKE: barrier — NEEDED DIFFERS (P36 rung B tus7)
|
||||
D_801DAAB8 = 1;
|
||||
D_801DA71C = 0x1E;
|
||||
D_80126990 = v794;
|
||||
D_80126994 = v796;
|
||||
D_80126998 = v798;
|
||||
D_80126984 = v78C;
|
||||
D_80126988 = v78E;
|
||||
D_8012698C = v790;
|
||||
}
|
||||
func_80129CF8();
|
||||
}
|
||||
*(Blk8_8017B614 *)&D_801DA794 = *(Blk8_8017B614 *)&buf[0];
|
||||
*(Blk8_8017B614 *)&D_801DA78C = *(Blk8_8017B614 *)&buf[8];
|
||||
func_8012A018((s32)func_8017BE60, 0);
|
||||
D_8012694C[0] = 0;
|
||||
D_801DAAB8 = 1;
|
||||
D_801DA71C = 0x1E;
|
||||
D_80126990 = ((SV4_8017B368 *)&D_801DA794)->a;
|
||||
D_80126994 = D_801DA796;
|
||||
D_80126998 = D_801DA798;
|
||||
D_80126984 = ((SV4_8017B368 *)&D_801DA78C)->a;
|
||||
D_80126988 = D_801DA78E;
|
||||
D_8012698C = D_801DA790;
|
||||
func_80129CF8();
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -3980,7 +3980,6 @@ extern void func_8012A018(s32 a, s32 b);
|
||||
|
||||
s32 func_8017B614(s32 param_1, s32 param_2)
|
||||
{
|
||||
|
||||
extern s32 D_80126990;
|
||||
extern s32 D_80126994;
|
||||
extern s16 D_801C9644;
|
||||
@@ -3995,52 +3994,40 @@ s32 func_8017B614(s32 param_1, s32 param_2)
|
||||
extern s16 D_801C96B4;
|
||||
extern s16 D_801C96B6;
|
||||
extern s16 D_801C96B8;
|
||||
extern u8 D_8012694C;
|
||||
extern u8 D_8012694C[];
|
||||
extern s32 D_80126998;
|
||||
extern s32 D_80126984;
|
||||
extern s32 D_80126988;
|
||||
extern s32 D_8012698C;
|
||||
|
||||
u8 buf[16];
|
||||
u8 *src;
|
||||
|
||||
if (((u32)param_2) >= 0xB) {
|
||||
register u8 *src __asm__("$16"); // !FAKE: pin $16 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
__asm__ __volatile__("" : "=r"(src) : "0"((u8 *)((u32)param_2))); // !FAKE: launder — NEEDED DIFFERS (P36 rung B tus9)
|
||||
src = (u8 *)((u32)param_2);
|
||||
*(Blk8_8017B614 *)&buf[0] = *(Blk8_8017B614 *)src;
|
||||
*(Blk8_8017B614 *)&buf[8] = *(Blk8_8017B614 *)(src + 8);
|
||||
} else {
|
||||
s32 a1addr = (s32)&D_8018754C[((u32)param_2) * 0x10];
|
||||
s32 a2addr = (s32)&D_8018754C[((u32)param_2) * 0x10 + 8];
|
||||
func_8012F214(param_1, a1addr, (s32)&buf[0]);
|
||||
s32 a2addr;
|
||||
|
||||
src = &D_8018754C[((u32)param_2) * 0x10];
|
||||
a2addr = (s32)&D_8018754C[((u32)param_2) * 0x10 + 8];
|
||||
func_8012F214(param_1, (s32)src, (s32)&buf[0]);
|
||||
func_8012F214(param_1, a2addr, (s32)&buf[8]);
|
||||
}
|
||||
{
|
||||
s16 *p794 = &D_801C96BC;
|
||||
s16 *p78C = &D_801C96B4;
|
||||
*(Blk8_8017B614 *)p794 = *(Blk8_8017B614 *)&buf[0];
|
||||
*(Blk8_8017B614 *)p78C = *(Blk8_8017B614 *)&buf[8];
|
||||
func_8012A018((s32)func_8017BE60, 0);
|
||||
{
|
||||
s32 v794, v796, v798, v78C, v78E, v790;
|
||||
D_8012694C = 0;
|
||||
v794 = *p794;
|
||||
v796 = D_801C96BE;
|
||||
v798 = D_801C96C0;
|
||||
v78C = *p78C;
|
||||
v78E = D_801C96B6;
|
||||
v790 = D_801C96B8;
|
||||
__asm__ __volatile__(""); // !FAKE: barrier — NEEDED DIFFERS (P36 rung B tus9)
|
||||
D_801C9A70 = 1;
|
||||
D_801C9644 = 0x1E;
|
||||
D_80126990 = v794;
|
||||
D_80126994 = v796;
|
||||
D_80126998 = v798;
|
||||
D_80126984 = v78C;
|
||||
D_80126988 = v78E;
|
||||
D_8012698C = v790;
|
||||
}
|
||||
func_80129CF8();
|
||||
}
|
||||
*(Blk8_8017B614 *)&D_801C96BC = *(Blk8_8017B614 *)&buf[0];
|
||||
*(Blk8_8017B614 *)&D_801C96B4 = *(Blk8_8017B614 *)&buf[8];
|
||||
func_8012A018((s32)func_8017BE60, 0);
|
||||
D_8012694C[0] = 0;
|
||||
D_801C9A70 = 1;
|
||||
D_801C9644 = 0x1E;
|
||||
D_80126990 = ((SV4_8017B368 *)&D_801C96BC)->a;
|
||||
D_80126994 = D_801C96BE;
|
||||
D_80126998 = D_801C96C0;
|
||||
D_80126984 = ((SV4_8017B368 *)&D_801C96B4)->a;
|
||||
D_80126988 = D_801C96B6;
|
||||
D_8012698C = D_801C96B8;
|
||||
func_80129CF8();
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -5284,7 +5284,6 @@ extern void func_8012A018(s32 a, s32 b);
|
||||
|
||||
s32 func_8017B614(s32 param_1, s32 param_2)
|
||||
{
|
||||
|
||||
extern s32 D_80126990;
|
||||
extern s32 D_80126994;
|
||||
extern s16 D_8019B9A4;
|
||||
@@ -5299,52 +5298,40 @@ s32 func_8017B614(s32 param_1, s32 param_2)
|
||||
extern s16 D_8019BA14;
|
||||
extern s16 D_8019BA16;
|
||||
extern s16 D_8019BA18;
|
||||
extern u8 D_8012694C;
|
||||
extern u8 D_8012694C[];
|
||||
extern s32 D_80126998;
|
||||
extern s32 D_80126984;
|
||||
extern s32 D_80126988;
|
||||
extern s32 D_8012698C;
|
||||
|
||||
u8 buf[16];
|
||||
u8 *src;
|
||||
|
||||
if (((u32)param_2) >= 0xB) {
|
||||
register u8 *src __asm__("$16"); // !FAKE: pin $16 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
__asm__ __volatile__("" : "=r"(src) : "0"((u8 *)((u32)param_2))); // !FAKE: launder — NEEDED DIFFERS (P36 rung B tus9)
|
||||
src = (u8 *)((u32)param_2);
|
||||
*(Blk8_8017B614 *)&buf[0] = *(Blk8_8017B614 *)src;
|
||||
*(Blk8_8017B614 *)&buf[8] = *(Blk8_8017B614 *)(src + 8);
|
||||
} else {
|
||||
s32 a1addr = (s32)&D_80185DE8[((u32)param_2) * 0x10];
|
||||
s32 a2addr = (s32)&D_80185DE8[((u32)param_2) * 0x10 + 8];
|
||||
func_8012F214(param_1, a1addr, (s32)&buf[0]);
|
||||
s32 a2addr;
|
||||
|
||||
src = &D_80185DE8[((u32)param_2) * 0x10];
|
||||
a2addr = (s32)&D_80185DE8[((u32)param_2) * 0x10 + 8];
|
||||
func_8012F214(param_1, (s32)src, (s32)&buf[0]);
|
||||
func_8012F214(param_1, a2addr, (s32)&buf[8]);
|
||||
}
|
||||
{
|
||||
s16 *p794 = &D_8019BA1C;
|
||||
s16 *p78C = &D_8019BA14;
|
||||
*(Blk8_8017B614 *)p794 = *(Blk8_8017B614 *)&buf[0];
|
||||
*(Blk8_8017B614 *)p78C = *(Blk8_8017B614 *)&buf[8];
|
||||
func_8012A018((s32)func_8017BE60, 0);
|
||||
{
|
||||
s32 v794, v796, v798, v78C, v78E, v790;
|
||||
D_8012694C = 0;
|
||||
v794 = *p794;
|
||||
v796 = D_8019BA1E;
|
||||
v798 = D_8019BA20;
|
||||
v78C = *p78C;
|
||||
v78E = D_8019BA16;
|
||||
v790 = D_8019BA18;
|
||||
__asm__ __volatile__(""); // !FAKE: barrier — NEEDED DIFFERS (P36 rung B tus9)
|
||||
D_8019BCC8 = 1;
|
||||
D_8019B9A4 = 0x1E;
|
||||
D_80126990 = v794;
|
||||
D_80126994 = v796;
|
||||
D_80126998 = v798;
|
||||
D_80126984 = v78C;
|
||||
D_80126988 = v78E;
|
||||
D_8012698C = v790;
|
||||
}
|
||||
func_80129CF8();
|
||||
}
|
||||
*(Blk8_8017B614 *)&D_8019BA1C = *(Blk8_8017B614 *)&buf[0];
|
||||
*(Blk8_8017B614 *)&D_8019BA14 = *(Blk8_8017B614 *)&buf[8];
|
||||
func_8012A018((s32)func_8017BE60, 0);
|
||||
D_8012694C[0] = 0;
|
||||
D_8019BCC8 = 1;
|
||||
D_8019B9A4 = 0x1E;
|
||||
D_80126990 = ((SV4_8017B368 *)&D_8019BA1C)->a;
|
||||
D_80126994 = D_8019BA1E;
|
||||
D_80126998 = D_8019BA20;
|
||||
D_80126984 = ((SV4_8017B368 *)&D_8019BA14)->a;
|
||||
D_80126988 = D_8019BA16;
|
||||
D_8012698C = D_8019BA18;
|
||||
func_80129CF8();
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -3539,14 +3539,13 @@ extern void func_8012A018(s32 a, s32 b);
|
||||
|
||||
s32 func_8017B614(s32 param_1, s32 param_2)
|
||||
{
|
||||
|
||||
extern s32 D_80126990;
|
||||
extern s32 D_80126994;
|
||||
extern s16 D_801F5FF4;
|
||||
extern s16 D_801F62F8;
|
||||
extern void func_8012F214(s32 a0, s32 a1, s32 a2);
|
||||
extern void func_80129CF8(void);
|
||||
extern void func_8017BE60(void*);
|
||||
extern s32 func_8017BE60(void *a0);
|
||||
extern u8 D_8018DD4C[];
|
||||
extern s16 D_801F606C;
|
||||
extern s16 D_801F606E;
|
||||
@@ -3554,52 +3553,40 @@ s32 func_8017B614(s32 param_1, s32 param_2)
|
||||
extern s16 D_801F6064;
|
||||
extern s16 D_801F6066;
|
||||
extern s16 D_801F6068;
|
||||
extern u8 D_8012694C;
|
||||
extern u8 D_8012694C[];
|
||||
extern s32 D_80126998;
|
||||
extern s32 D_80126984;
|
||||
extern s32 D_80126988;
|
||||
extern s32 D_8012698C;
|
||||
|
||||
u8 buf[16];
|
||||
u8 *src;
|
||||
|
||||
if (((u32)param_2) >= 0xB) {
|
||||
register u8 *src __asm__("$16"); // !FAKE: pin $16 — NEEDED DIFFERS (P36 rung B tus8)
|
||||
__asm__ __volatile__("" : "=r"(src) : "0"((u8 *)((u32)param_2))); // !FAKE: launder — NEEDED DIFFERS (P36 rung B tus8)
|
||||
src = (u8 *)((u32)param_2);
|
||||
*(Blk8_8017B614 *)&buf[0] = *(Blk8_8017B614 *)src;
|
||||
*(Blk8_8017B614 *)&buf[8] = *(Blk8_8017B614 *)(src + 8);
|
||||
} else {
|
||||
s32 a1addr = (s32)&D_8018DD4C[((u32)param_2) * 0x10];
|
||||
s32 a2addr = (s32)&D_8018DD4C[((u32)param_2) * 0x10 + 8];
|
||||
func_8012F214(param_1, a1addr, (s32)&buf[0]);
|
||||
s32 a2addr;
|
||||
|
||||
src = &D_8018DD4C[((u32)param_2) * 0x10];
|
||||
a2addr = (s32)&D_8018DD4C[((u32)param_2) * 0x10 + 8];
|
||||
func_8012F214(param_1, (s32)src, (s32)&buf[0]);
|
||||
func_8012F214(param_1, a2addr, (s32)&buf[8]);
|
||||
}
|
||||
{
|
||||
s16 *p794 = &D_801F606C;
|
||||
s16 *p78C = &D_801F6064;
|
||||
*(Blk8_8017B614 *)p794 = *(Blk8_8017B614 *)&buf[0];
|
||||
*(Blk8_8017B614 *)p78C = *(Blk8_8017B614 *)&buf[8];
|
||||
func_8012A018((s32)func_8017BE60, 0);
|
||||
{
|
||||
s32 v794, v796, v798, v78C, v78E, v790;
|
||||
D_8012694C = 0;
|
||||
v794 = *p794;
|
||||
v796 = D_801F606E;
|
||||
v798 = D_801F6070;
|
||||
v78C = *p78C;
|
||||
v78E = D_801F6066;
|
||||
v790 = D_801F6068;
|
||||
__asm__ __volatile__(""); // !FAKE: barrier — NEEDED DIFFERS (P36 rung B tus8)
|
||||
D_801F62F8 = 1;
|
||||
D_801F5FF4 = 0x1E;
|
||||
D_80126990 = v794;
|
||||
D_80126994 = v796;
|
||||
D_80126998 = v798;
|
||||
D_80126984 = v78C;
|
||||
D_80126988 = v78E;
|
||||
D_8012698C = v790;
|
||||
}
|
||||
func_80129CF8();
|
||||
}
|
||||
*(Blk8_8017B614 *)&D_801F606C = *(Blk8_8017B614 *)&buf[0];
|
||||
*(Blk8_8017B614 *)&D_801F6064 = *(Blk8_8017B614 *)&buf[8];
|
||||
func_8012A018((s32)func_8017BE60, 0);
|
||||
D_8012694C[0] = 0;
|
||||
D_801F62F8 = 1;
|
||||
D_801F5FF4 = 0x1E;
|
||||
D_80126990 = ((SV4_8017B368 *)&D_801F606C)->a;
|
||||
D_80126994 = D_801F606E;
|
||||
D_80126998 = D_801F6070;
|
||||
D_80126984 = ((SV4_8017B368 *)&D_801F6064)->a;
|
||||
D_80126988 = D_801F6066;
|
||||
D_8012698C = D_801F6068;
|
||||
func_80129CF8();
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -3539,14 +3539,13 @@ extern void func_8012A018(s32 a, s32 b);
|
||||
|
||||
s32 func_8017B614(s32 param_1, s32 param_2)
|
||||
{
|
||||
|
||||
extern s32 D_80126990;
|
||||
extern s32 D_80126994;
|
||||
extern s16 D_801C775C;
|
||||
extern s16 D_801C7AC0;
|
||||
extern void func_8012F214(s32 a0, s32 a1, s32 a2);
|
||||
extern void func_80129CF8(void);
|
||||
extern void func_8017BE60(void*);
|
||||
extern s32 func_8017BE60(void *a0);
|
||||
extern u8 D_80186870[];
|
||||
extern s16 D_801C77D4;
|
||||
extern s16 D_801C77D6;
|
||||
@@ -3554,52 +3553,40 @@ s32 func_8017B614(s32 param_1, s32 param_2)
|
||||
extern s16 D_801C77CC;
|
||||
extern s16 D_801C77CE;
|
||||
extern s16 D_801C77D0;
|
||||
extern u8 D_8012694C;
|
||||
extern u8 D_8012694C[];
|
||||
extern s32 D_80126998;
|
||||
extern s32 D_80126984;
|
||||
extern s32 D_80126988;
|
||||
extern s32 D_8012698C;
|
||||
|
||||
u8 buf[16];
|
||||
u8 *src;
|
||||
|
||||
if (((u32)param_2) >= 0xB) {
|
||||
register u8 *src __asm__("$16"); // !FAKE: pin $16 — NEEDED DIFFERS (P36 rung B tus8)
|
||||
__asm__ __volatile__("" : "=r"(src) : "0"((u8 *)((u32)param_2))); // !FAKE: launder — NEEDED DIFFERS (P36 rung B tus8)
|
||||
src = (u8 *)((u32)param_2);
|
||||
*(Blk8_8017B614 *)&buf[0] = *(Blk8_8017B614 *)src;
|
||||
*(Blk8_8017B614 *)&buf[8] = *(Blk8_8017B614 *)(src + 8);
|
||||
} else {
|
||||
s32 a1addr = (s32)&D_80186870[((u32)param_2) * 0x10];
|
||||
s32 a2addr = (s32)&D_80186870[((u32)param_2) * 0x10 + 8];
|
||||
func_8012F214(param_1, a1addr, (s32)&buf[0]);
|
||||
s32 a2addr;
|
||||
|
||||
src = &D_80186870[((u32)param_2) * 0x10];
|
||||
a2addr = (s32)&D_80186870[((u32)param_2) * 0x10 + 8];
|
||||
func_8012F214(param_1, (s32)src, (s32)&buf[0]);
|
||||
func_8012F214(param_1, a2addr, (s32)&buf[8]);
|
||||
}
|
||||
{
|
||||
s16 *p794 = &D_801C77D4;
|
||||
s16 *p78C = &D_801C77CC;
|
||||
*(Blk8_8017B614 *)p794 = *(Blk8_8017B614 *)&buf[0];
|
||||
*(Blk8_8017B614 *)p78C = *(Blk8_8017B614 *)&buf[8];
|
||||
func_8012A018((s32)func_8017BE60, 0);
|
||||
{
|
||||
s32 v794, v796, v798, v78C, v78E, v790;
|
||||
D_8012694C = 0;
|
||||
v794 = *p794;
|
||||
v796 = D_801C77D6;
|
||||
v798 = D_801C77D8;
|
||||
v78C = *p78C;
|
||||
v78E = D_801C77CE;
|
||||
v790 = D_801C77D0;
|
||||
__asm__ __volatile__(""); // !FAKE: barrier — NEEDED DIFFERS (P36 rung B tus8)
|
||||
D_801C7AC0 = 1;
|
||||
D_801C775C = 0x1E;
|
||||
D_80126990 = v794;
|
||||
D_80126994 = v796;
|
||||
D_80126998 = v798;
|
||||
D_80126984 = v78C;
|
||||
D_80126988 = v78E;
|
||||
D_8012698C = v790;
|
||||
}
|
||||
func_80129CF8();
|
||||
}
|
||||
*(Blk8_8017B614 *)&D_801C77D4 = *(Blk8_8017B614 *)&buf[0];
|
||||
*(Blk8_8017B614 *)&D_801C77CC = *(Blk8_8017B614 *)&buf[8];
|
||||
func_8012A018((s32)func_8017BE60, 0);
|
||||
D_8012694C[0] = 0;
|
||||
D_801C7AC0 = 1;
|
||||
D_801C775C = 0x1E;
|
||||
D_80126990 = ((SV4_8017B368 *)&D_801C77D4)->a;
|
||||
D_80126994 = D_801C77D6;
|
||||
D_80126998 = D_801C77D8;
|
||||
D_80126984 = ((SV4_8017B368 *)&D_801C77CC)->a;
|
||||
D_80126988 = D_801C77CE;
|
||||
D_8012698C = D_801C77D0;
|
||||
func_80129CF8();
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -2985,7 +2985,6 @@ extern void func_8012A018(s32 a, s32 b);
|
||||
|
||||
s32 func_8017B614(s32 param_1, s32 param_2)
|
||||
{
|
||||
|
||||
extern s32 D_80126990;
|
||||
extern s32 D_80126994;
|
||||
extern s16 D_801A7C54;
|
||||
@@ -3000,52 +2999,40 @@ s32 func_8017B614(s32 param_1, s32 param_2)
|
||||
extern s16 D_801A7CC4;
|
||||
extern s16 D_801A7CC6;
|
||||
extern s16 D_801A7CC8;
|
||||
extern u8 D_8012694C;
|
||||
extern u8 D_8012694C[];
|
||||
extern s32 D_80126998;
|
||||
extern s32 D_80126984;
|
||||
extern s32 D_80126988;
|
||||
extern s32 D_8012698C;
|
||||
|
||||
u8 buf[16];
|
||||
u8 *src;
|
||||
|
||||
if (((u32)param_2) >= 0xB) {
|
||||
register u8 *src __asm__("$16"); // !FAKE: pin $16 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
__asm__ __volatile__("" : "=r"(src) : "0"((u8 *)((u32)param_2))); // !FAKE: launder — NEEDED DIFFERS (P36 rung B tus9)
|
||||
src = (u8 *)((u32)param_2);
|
||||
*(Blk8_8017B614 *)&buf[0] = *(Blk8_8017B614 *)src;
|
||||
*(Blk8_8017B614 *)&buf[8] = *(Blk8_8017B614 *)(src + 8);
|
||||
} else {
|
||||
s32 a1addr = (s32)&D_80185900[((u32)param_2) * 0x10];
|
||||
s32 a2addr = (s32)&D_80185900[((u32)param_2) * 0x10 + 8];
|
||||
func_8012F214(param_1, a1addr, (s32)&buf[0]);
|
||||
s32 a2addr;
|
||||
|
||||
src = &D_80185900[((u32)param_2) * 0x10];
|
||||
a2addr = (s32)&D_80185900[((u32)param_2) * 0x10 + 8];
|
||||
func_8012F214(param_1, (s32)src, (s32)&buf[0]);
|
||||
func_8012F214(param_1, a2addr, (s32)&buf[8]);
|
||||
}
|
||||
{
|
||||
s16 *p794 = &D_801A7CCC;
|
||||
s16 *p78C = &D_801A7CC4;
|
||||
*(Blk8_8017B614 *)p794 = *(Blk8_8017B614 *)&buf[0];
|
||||
*(Blk8_8017B614 *)p78C = *(Blk8_8017B614 *)&buf[8];
|
||||
func_8012A018((s32)func_8017BE60, 0);
|
||||
{
|
||||
s32 v794, v796, v798, v78C, v78E, v790;
|
||||
D_8012694C = 0;
|
||||
v794 = *p794;
|
||||
v796 = D_801A7CCE;
|
||||
v798 = D_801A7CD0;
|
||||
v78C = *p78C;
|
||||
v78E = D_801A7CC6;
|
||||
v790 = D_801A7CC8;
|
||||
__asm__ __volatile__(""); // !FAKE: barrier — NEEDED DIFFERS (P36 rung B tus9)
|
||||
D_801A94D0 = 1;
|
||||
D_801A7C54 = 0x1E;
|
||||
D_80126990 = v794;
|
||||
D_80126994 = v796;
|
||||
D_80126998 = v798;
|
||||
D_80126984 = v78C;
|
||||
D_80126988 = v78E;
|
||||
D_8012698C = v790;
|
||||
}
|
||||
func_80129CF8();
|
||||
}
|
||||
*(Blk8_8017B614 *)&D_801A7CCC = *(Blk8_8017B614 *)&buf[0];
|
||||
*(Blk8_8017B614 *)&D_801A7CC4 = *(Blk8_8017B614 *)&buf[8];
|
||||
func_8012A018((s32)func_8017BE60, 0);
|
||||
D_8012694C[0] = 0;
|
||||
D_801A94D0 = 1;
|
||||
D_801A7C54 = 0x1E;
|
||||
D_80126990 = ((SV4_8017B368 *)&D_801A7CCC)->a;
|
||||
D_80126994 = D_801A7CCE;
|
||||
D_80126998 = D_801A7CD0;
|
||||
D_80126984 = ((SV4_8017B368 *)&D_801A7CC4)->a;
|
||||
D_80126988 = D_801A7CC6;
|
||||
D_8012698C = D_801A7CC8;
|
||||
func_80129CF8();
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -3541,7 +3541,6 @@ extern void func_8012A018(s32 a, s32 b);
|
||||
|
||||
s32 func_8017B614(s32 param_1, s32 param_2)
|
||||
{
|
||||
|
||||
extern s32 D_80126990;
|
||||
extern s32 D_80126994;
|
||||
extern s16 D_801902EC;
|
||||
@@ -3556,52 +3555,40 @@ s32 func_8017B614(s32 param_1, s32 param_2)
|
||||
extern s16 D_8019035C;
|
||||
extern s16 D_8019035E;
|
||||
extern s16 D_80190360;
|
||||
extern u8 D_8012694C;
|
||||
extern u8 D_8012694C[];
|
||||
extern s32 D_80126998;
|
||||
extern s32 D_80126984;
|
||||
extern s32 D_80126988;
|
||||
extern s32 D_8012698C;
|
||||
|
||||
u8 buf[16];
|
||||
u8 *src;
|
||||
|
||||
if (((u32)param_2) >= 0xB) {
|
||||
register u8 *src __asm__("$16"); // !FAKE: pin $16 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
__asm__ __volatile__("" : "=r"(src) : "0"((u8 *)((u32)param_2))); // !FAKE: launder — NEEDED DIFFERS (P36 rung B tus9)
|
||||
src = (u8 *)((u32)param_2);
|
||||
*(Blk8_8017B614 *)&buf[0] = *(Blk8_8017B614 *)src;
|
||||
*(Blk8_8017B614 *)&buf[8] = *(Blk8_8017B614 *)(src + 8);
|
||||
} else {
|
||||
s32 a1addr = (s32)&D_80181FC0[((u32)param_2) * 0x10];
|
||||
s32 a2addr = (s32)&D_80181FC0[((u32)param_2) * 0x10 + 8];
|
||||
func_8012F214(param_1, a1addr, (s32)&buf[0]);
|
||||
s32 a2addr;
|
||||
|
||||
src = &D_80181FC0[((u32)param_2) * 0x10];
|
||||
a2addr = (s32)&D_80181FC0[((u32)param_2) * 0x10 + 8];
|
||||
func_8012F214(param_1, (s32)src, (s32)&buf[0]);
|
||||
func_8012F214(param_1, a2addr, (s32)&buf[8]);
|
||||
}
|
||||
{
|
||||
s16 *p794 = &D_80190364;
|
||||
s16 *p78C = &D_8019035C;
|
||||
*(Blk8_8017B614 *)p794 = *(Blk8_8017B614 *)&buf[0];
|
||||
*(Blk8_8017B614 *)p78C = *(Blk8_8017B614 *)&buf[8];
|
||||
func_8012A018((s32)func_8017BE60, 0);
|
||||
{
|
||||
s32 v794, v796, v798, v78C, v78E, v790;
|
||||
D_8012694C = 0;
|
||||
v794 = *p794;
|
||||
v796 = D_80190366;
|
||||
v798 = D_80190368;
|
||||
v78C = *p78C;
|
||||
v78E = D_8019035E;
|
||||
v790 = D_80190360;
|
||||
__asm__ __volatile__(""); // !FAKE: barrier — NEEDED DIFFERS (P36 rung B tus9)
|
||||
D_80190488 = 1;
|
||||
D_801902EC = 0x1E;
|
||||
D_80126990 = v794;
|
||||
D_80126994 = v796;
|
||||
D_80126998 = v798;
|
||||
D_80126984 = v78C;
|
||||
D_80126988 = v78E;
|
||||
D_8012698C = v790;
|
||||
}
|
||||
func_80129CF8();
|
||||
}
|
||||
*(Blk8_8017B614 *)&D_80190364 = *(Blk8_8017B614 *)&buf[0];
|
||||
*(Blk8_8017B614 *)&D_8019035C = *(Blk8_8017B614 *)&buf[8];
|
||||
func_8012A018((s32)func_8017BE60, 0);
|
||||
D_8012694C[0] = 0;
|
||||
D_80190488 = 1;
|
||||
D_801902EC = 0x1E;
|
||||
D_80126990 = ((SV4_8017B368 *)&D_80190364)->a;
|
||||
D_80126994 = D_80190366;
|
||||
D_80126998 = D_80190368;
|
||||
D_80126984 = ((SV4_8017B368 *)&D_8019035C)->a;
|
||||
D_80126988 = D_8019035E;
|
||||
D_8012698C = D_80190360;
|
||||
func_80129CF8();
|
||||
}
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user