diff options
| author | Marcus Huderle <huderlem@gmail.com> | 2020-08-05 17:47:00 -0500 |
|---|---|---|
| committer | Marcus Huderle <huderlem@gmail.com> | 2020-08-05 17:47:00 -0500 |
| commit | acdc85a61dce2edcfcf19face76b3376976db42d (patch) | |
| tree | 876090bd7f7b1298d273aec4f206d859f0a3e491 /src | |
| parent | 1cbdcf5a36f09f569e2a0925e050d1a065ff58a9 (diff) | |
Match MainLoop()
Diffstat (limited to 'src')
| -rw-r--r-- | src/introSetTransition.c | 16 | ||||
| -rw-r--r-- | src/mainLoop.c | 109 |
2 files changed, 39 insertions, 86 deletions
diff --git a/src/introSetTransition.c b/src/introSetTransition.c index 33f0e62c..ea42ecd9 100644 --- a/src/introSetTransition.c +++ b/src/introSetTransition.c @@ -18,17 +18,10 @@ typedef struct { extern struct_03000FD0 gUnk_03000FD0; -typedef struct { - u8 filler[5]; - u8 field_0x5; -} struct_02000010; - -extern struct_02000010 gUnk_02000010; - u32 IntroSetTransition(u32 transition) { gUnk_02032EC0.transitionType = transition; - gUnk_03001000.field_0x3 = 2; + gUnk_03001000.funcIndex = 2; _DmaZero((u32 *)&gMenu, 48); DoFade(7, 8); } @@ -36,7 +29,7 @@ u32 IntroSetTransition(u32 transition) void sub_080AD380() { sub_080AD90C(); - switch (gUnk_03001000.field_0x3) { + switch (gUnk_03001000.funcIndex) { case 0: sub_08056418(); _DmaZero(&gUnk_02032EC0, 0x3b4); @@ -50,7 +43,7 @@ void sub_080AD380() return; } sub_0801DA90(1); - gUnk_03001000.field_0x3 = 1; + gUnk_03001000.funcIndex = 1; break; } sub_080AD918(); @@ -112,7 +105,8 @@ void sub_080AD474(void) gMenu.transitionTimer = 0x1e; gMenu.field_0x4 = 7; EraseAllEntities(); - sub_080ADD30(sub_0801CFA8(0)); + sub_0801CFA8(0); + sub_080ADD30(); gUnk_02024490 = 1; sub_0801D7EC(2); if (((struct_02000000*)0x2000000)->gameLanguage == 0) { diff --git a/src/mainLoop.c b/src/mainLoop.c index 4e07b882..0d04e5a8 100644 --- a/src/mainLoop.c +++ b/src/mainLoop.c @@ -1,58 +1,17 @@ #include "global.h" +#include "functions.h" #include "main.h" +#include "random.h" -#if 0 - -typedef struct { - u8 interruptFlag; - u8 field_0x1; - u8 loadType; - u8 funcIndex; - u8 transition; - u16 field_0x5; - u8 muteAudio; - u8 field_0x8; - u8 countdown; - u8 field_0xa; - u8 field_0xb; - u16 ticks; - u8 field_0xe; - u8 field_0xf; -} MainStruct; - -extern void sub_08055F70(void); -extern void sub_080A3204(void); -extern void sub_0805616C(void); -extern void sub_0807CE90(void); -extern void sub_080560B8(void); -extern void sub_08056208(void); -extern void sub_0804FFE4(void); extern void sub_0804FF84(u32); -extern void sub_08056418(void); -extern void sub_080ADD30(void); extern void _DmaZero(void*, u32); -extern void sub_08056010(u32); -extern void ReadKeyInput(); -extern u32 sub_08055FF4(); -extern void sub_080560A8(void); -extern void sub_08056458(void); -extern void sub_08050154(void); -extern void sub_080A3480(void); -extern void sub_08016E78(void); -extern void sub_08056260(void); -extern u8 gUnk_02000014; extern u32 gUnk_020176A0; -extern u32 gRand; -extern MainStruct gUnk_03001000; -extern void (*gUnk_08100CBC[])(); +extern const void (*gUnk_08100CBC[])(); extern void VBlankInterruptWait(void); void MainLoop(void) { - bool32 codeInputted; - u8 cVar1; - u32 uVar2; - MainStruct *s; + int var0; sub_08055F70(); sub_080A3204(); @@ -60,49 +19,49 @@ void MainLoop(void) { sub_0807CE90(); sub_080560B8(); sub_08056208(); - gUnk_02000014 = 193; + gUnk_02000010.field_0x4 = 193; sub_0804FFE4(); DmaSet(3, 0x5000000U, &gUnk_020176A0, 0x84000080U); sub_0804FF84(1); sub_08056418(); sub_080ADD30(); gRand = 0x1234567; - s = &gUnk_03001000; - _DmaZero(s, 16); + _DmaZero(&gUnk_03001000, 16); sub_08056010(0); while (1) { ReadKeyInput(); - codeInputted = sub_08055FF4(); - if (codeInputted) { + if (sub_08055FF4()) { sub_080560A8(); } - if ((s->field_0x1 != 0) || (s->field_0x1 == 1)) { - sub_08056260(); - } else if (s->field_0x8 != 0) { - while (--s->field_0x8) { - VBlankInterruptWait(); + + switch (gUnk_03001000.field_0x1) { + case 1: + sub_08056260(); + break; + case 0: + default: + if (gUnk_03001000.countdown != 0) { + do { + VBlankIntrWait(); + } while (--gUnk_03001000.countdown); } - } - if (s->countdown != 0) { - s->countdown--; - uVar2 = s->field_0xa; - while (uVar2 > 0) { - VBlankIntrWait(); - uVar2--; + + if (gUnk_03001000.field_0x9 != 0) { + gUnk_03001000.field_0x9--; + var0 = gUnk_03001000.field_0xa; + while (var0-- > 0) { + VBlankIntrWait(); + } } - } - s->ticks++; - gUnk_08100CBC[s->loadType](); - sub_08056458(); - sub_08050154(); - sub_080A3480(); - } - sub_08016E78(); -} -#endif + gUnk_03001000.ticks++; + gUnk_08100CBC[gUnk_03001000.loadType](); + sub_08056458(); + sub_08050154(); + sub_080A3480(); + break; + } -NAKED -void MainLoop(void) { - asm(".include \"asm/non_matching/mainLoop.inc\""); + sub_08016E78(); + } } |
