|
1 | 1 | //! PSYQ=3.3 CC1=2.6.3 |
2 | 2 | #include "battle_private.h" |
| 3 | +#include <libetc.h> |
| 4 | +#include <libgpu.h> |
3 | 5 |
|
4 | 6 | static void func_800B85E0(); |
5 | 7 | static void func_800BB75C(Unk800BB75C* arg0, MATRIX* m, s16* arg2, s16* arg3); |
6 | 8 | static void func_800BB804(void); |
7 | 9 | static void func_800BB864(void); |
8 | 10 |
|
| 11 | +static void func_800B7F6C(void) { |
| 12 | + volatile s32 padding; |
| 13 | + |
| 14 | + while (D_80062D99) { |
| 15 | + func_800B7FB4(); |
| 16 | + } |
| 17 | + D_80062D98 = 0; |
| 18 | +} |
| 19 | + |
| 20 | +void func_800B7FB4(void) { D_801518DC = func_80034B44(); } |
| 21 | + |
| 22 | +void func_800B7FDC(void) { |
| 23 | + s32 i; |
| 24 | + |
| 25 | + func_800B7FB4(); |
| 26 | + ClearOTagR((u_long*)D_801517C0->unk40A4, LEN(D_801517C0->unk40A4)); |
| 27 | + ClearOTag((u_long*)D_801517C0->unk4070, LEN(D_801517C0->unk4070)); |
| 28 | + ClearOTag((u_long*)D_801517C0->unk4078, LEN(D_801517C0->unk4078)); |
| 29 | + ClearOTagR((u_long*)D_801517C0->unk70, LEN(D_801517C0->unk70)); |
| 30 | + ClearOTagR((u_long*)D_801517C0->unk4080, LEN(D_801517C0->unk4080)); |
| 31 | + ClearOTag((u_long*)D_801517C0->unk40E4, LEN(D_801517C0->unk40E4)); |
| 32 | + ClearOTag((u_long*)D_801517C0->unk40EC, LEN(D_801517C0->unk40EC)); |
| 33 | + D_80163C74 = D_800F8368 == 0 ? (DR_MODE*)0x80168000 : (DR_MODE*)0x80184000; |
| 34 | + func_800B8360(1); |
| 35 | + func_800C5CC0(); |
| 36 | + func_800B8438(); |
| 37 | + for (i = 0; i < 10; i++) { |
| 38 | + if (D_801518E4[i].D_8015190A == 0) { |
| 39 | + D_800F7DE4 = 0; |
| 40 | + break; |
| 41 | + } |
| 42 | + if (D_80162080 == 0) { |
| 43 | + D_800F7DE4 = 1; |
| 44 | + } else { |
| 45 | + D_800F7DE4 = 0; |
| 46 | + } |
| 47 | + } |
| 48 | + func_800A3ED0(); |
| 49 | + func_800B8360(2); |
| 50 | + func_800DCFD4((u_long*)D_801517C0->unk40E4); |
| 51 | + if (D_800F9D94 == 0) { |
| 52 | + ResetGraph(1); |
| 53 | + D_800F9D94 = 1; |
| 54 | + } |
| 55 | + if (D_8016376A & 2) { |
| 56 | + func_800E16B8(D_801517C0->unk40E4, 0x10, 0x10, D_8009D268[0]); |
| 57 | + } |
| 58 | + D_800FA9B8 = VSync(1); |
| 59 | + BATTLE_FlushImageQueue(); |
| 60 | + func_800B7FB4(); |
| 61 | + D_80158D08 = func_800D8A88(); |
| 62 | + SetGeomScreen(D_80162084); |
| 63 | + D_801516F4++; |
| 64 | + func_800B7F6C(); |
| 65 | + func_800B950C(); |
| 66 | + D_801516A0 = D_800F198C; |
| 67 | +} |
| 68 | + |
| 69 | +void func_800B8234(s32 arg0) { |
| 70 | + if (arg0) { |
| 71 | + func_800D0C80(D_801590CC); |
| 72 | + D_801517BC = 0; |
| 73 | + } |
| 74 | +} |
| 75 | + |
9 | 76 | static void func_800B8268(void) { |
10 | 77 | s32 i; |
11 | 78 | u8* var_a1; |
@@ -429,15 +496,14 @@ INCLUDE_ASM("asm/us/battle/nonmatchings/battle1", func_800C4D10); |
429 | 496 |
|
430 | 497 | INCLUDE_ASM("asm/us/battle/nonmatchings/battle1", func_800C4DC8); |
431 | 498 |
|
432 | | -void* func_800C5040(u8, u8, u8, s32, u8*); |
433 | | -extern u8* D_801517C0; |
| 499 | +void* func_800C5040(u8, u8, u8, s32, u_long*); |
434 | 500 |
|
435 | | -void* func_800C4FC8(u8 arg0, u8 arg1, u8 arg2) { |
436 | | - return func_800C5040(arg0, arg1, arg2, 1, D_801517C0 + 0x4084); |
| 501 | +void func_800C4FC8(u8 arg0, u8 arg1, u8 arg2) { |
| 502 | + func_800C5040(arg0, arg1, arg2, 1, (u_long*)&D_801517C0->unk4080[1]); |
437 | 503 | } |
438 | 504 |
|
439 | | -void* func_800C5004(u8 arg0, u8 arg1, u8 arg2) { |
440 | | - return func_800C5040(arg0, arg1, arg2, 2, D_801517C0 + 0x40EC); |
| 505 | +void func_800C5004(u8 arg0, u8 arg1, u8 arg2) { |
| 506 | + func_800C5040(arg0, arg1, arg2, 2, (u_long*)&D_801517C0->unk40EC); |
441 | 507 | } |
442 | 508 |
|
443 | 509 | INCLUDE_ASM("asm/us/battle/nonmatchings/battle1", func_800C5040); |
|
0 commit comments