diff options
author | YamaArashi <shadow962@live.com> | 2016-12-28 16:33:12 -0800 |
---|---|---|
committer | YamaArashi <shadow962@live.com> | 2016-12-28 16:47:51 -0800 |
commit | c1041cee814c7be8a73af3a90cd37c4a345c2ffc (patch) | |
tree | 95bf3bbdc8b89f9fa31eebed0bc60b5afb87b7f8 | |
parent | 98f9833206b16008e8631b212e5f56047dcec930 (diff) |
clean up sub_8147048 control flow
-rw-r--r-- | src/save_failed_screen.c | 49 |
1 files changed, 16 insertions, 33 deletions
diff --git a/src/save_failed_screen.c b/src/save_failed_screen.c index a6957f15a..ae93f5b43 100644 --- a/src/save_failed_screen.c +++ b/src/save_failed_screen.c @@ -142,59 +142,42 @@ void sub_8147048(void) gUnknown_0203933E.unk0 = 1; - if (gUnknown_03005EA8) + while (gUnknown_03005EA8 && clockVal < 3) // _0814705C { - while(1) // _0814705C + if (sub_814737C(gUnknown_03005EA8)) { - if (!sub_814737C(gUnknown_03005EA8)) - { - MenuDrawTextWindow(1, MSG_WIN_TOP, 28, 19); - MenuPrint(gSystemText_CheckCompleteSaveAttempt, 2, MSG_WIN_TOP + 1); - sub_8125C3C(gUnknown_0203933C); - - if (gUnknown_03005EA8) - MenuPrint(gSystemText_SaveFailedBackupCheck, 2, MSG_WIN_TOP + 1); - - clockVal++; + MenuDrawTextWindow(1, MSG_WIN_TOP, 28, 19); + MenuPrint(gSystemText_BackupDamagedGameContinue, 2, MSG_WIN_TOP + 1); + SetMainCallback2(sub_8147154); + return; + } + + MenuDrawTextWindow(1, MSG_WIN_TOP, 28, 19); + MenuPrint(gSystemText_CheckCompleteSaveAttempt, 2, MSG_WIN_TOP + 1); + sub_8125C3C(gUnknown_0203933C); - if (!gUnknown_03005EA8 || clockVal > 2) - break; // go to _081470A6 + if (gUnknown_03005EA8) + MenuPrint(gSystemText_SaveFailedBackupCheck, 2, MSG_WIN_TOP + 1); - continue; - } - goto gotoLabel2; - } + clockVal++; } + if (clockVal == 3) // _081470A6 { MenuDrawTextWindow(1, MSG_WIN_TOP, 28, 19); MenuPrint(gSystemText_BackupDamagedGameContinue, 2, MSG_WIN_TOP + 1); SetMainCallback2(sub_81471A4); - goto gotoLabel; // this calls sub_81471A4 for some reason. } else // _081470E4 { MenuDrawTextWindow(1, MSG_WIN_TOP, 28, 19); if (!gUnknown_03005EBC) // cant continue game. - { MenuPrint(gSystemText_SaveCompletedGameEnd, 2, MSG_WIN_TOP + 1); - goto gotoLabel; - } else // can continue game. - goto gotoLabel3; + MenuPrint(gSystemText_SaveCompletedPressA, 2, MSG_WIN_TOP + 1); } - // no matter what I do, i can't get rid of these gotos. They were seemingly labeled at the end by the developer and jumped to manually depending on the result. -gotoLabel2: // _0814710C - MenuDrawTextWindow(1, MSG_WIN_TOP, 28, 19); - MenuPrint(gSystemText_BackupDamagedGameContinue, 2, MSG_WIN_TOP + 1); - SetMainCallback2(sub_8147154); - return; - -gotoLabel3: - MenuPrint(gSystemText_SaveCompletedPressA, 2, MSG_WIN_TOP + 1); -gotoLabel: // _0814713E SetMainCallback2(sub_81471A4); // seemingly called twice? } |