diff options
| author | Henny022p <info@henny022.de> | 2022-01-31 17:30:51 +0100 |
|---|---|---|
| committer | Henny022p <info@henny022.de> | 2022-01-31 17:30:51 +0100 |
| commit | 2a53ee4bf2ee7eea617280118c2188bffec77ae5 (patch) | |
| tree | 85ed631ab330f9ca3734bb77253a374e3ef0de21 /src/manager/manager7.c | |
| parent | 9b60d9c5e24ed592524c25a9dc013417d6e7ee0c (diff) | |
| parent | 2b8d880ffc0a4548d25dc613d53a908d36362d84 (diff) | |
merge master
Diffstat (limited to 'src/manager/manager7.c')
| -rw-r--r-- | src/manager/manager7.c | 57 |
1 files changed, 52 insertions, 5 deletions
diff --git a/src/manager/manager7.c b/src/manager/manager7.c index 0560a005..25a73eb4 100644 --- a/src/manager/manager7.c +++ b/src/manager/manager7.c @@ -55,7 +55,54 @@ const u32 gUnk_081080A4[0x50] = { const u8 gUnk_081081E4[] = { 0x16, 0x17, 0x17, 0x18, 0x18 }; #ifdef EU -ASM_FUNC("asm/non_matching/eu/Manager7_Main.inc", void Manager7_Main(Manager7* this)) +void Manager7_Main(Manager7* this) { + u32 tmp; + const u32* tmp2; + s32 tmp3; + if (!this->manager.action) { + this->manager.action = 1; + this->manager.unk_0e = 8; + this->unk_20 = 0xFF; + + RegisterTransitionManager(this, sub_08057E30, 0); + } + if (gRoomControls.reload_flags) + return; + + if (sub_08057E40(this)) { + tmp = (u32)gRoomVars.unk_10[0]; + if (this->unk_20 != tmp) { + this->unk_20 = tmp; + this->manager.unk_0e = 0; + } + } + + tmp2 = &gUnk_081080A4[tmp << 4]; + tmp3 = this->manager.unk_0e; + if (tmp3 == 0) { + gUnk_02034490.unk0 = 1; + LoadResourceAsync(&gGlobalGfxAndPalettes[tmp2[0]], tmp2[1], 0x1000); + LoadPaletteGroup(gUnk_081081E4[tmp]); + this->manager.unk_0e++; + } else { + switch (tmp3) { + case 0: + case 1: + case 2: + case 3: + case 4: + case 5: + case 6: + case 7: + LoadResourceAsync(&gGlobalGfxAndPalettes[tmp2[(this->manager.unk_0e << 1)]], + tmp2[(this->manager.unk_0e << 1) + 1], 0x1000); + this->manager.unk_0e++; + gUnk_02034490.unk0 = 0; + case 8: + break; + } + } +} #else void Manager7_Main(Manager7* this) { u32 tmp; @@ -129,14 +176,15 @@ void sub_08057E64(void) { } } -#ifdef EU -ASM_FUNC("asm/non_matching/eu/sub_08057E7C.inc", void sub_08057E7C(u32 unk1)) -#else void sub_08057E7C(u32 unk1) { u32 tmp; const u32* tmp2; + +#ifndef EU if (unk1 > 4) return; +#endif + LoadPaletteGroup(gUnk_081081E4[unk1]); tmp2 = &gUnk_081080A4[unk1 << 4]; for (tmp = 0; tmp < 8; tmp++, tmp2 += 2) { @@ -144,4 +192,3 @@ void sub_08057E7C(u32 unk1) { } gRoomVars.unk_10[0] = unk1; } -#endif |
