From bd50d449de5fc85ecb6f08f27a6ba0a45bfed6ec Mon Sep 17 00:00:00 2001 From: theo3 Date: Sun, 21 Mar 2021 20:51:08 -0700 Subject: collapse TUs --- src/debugScreen.c | 97 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 97 insertions(+) create mode 100644 src/debugScreen.c (limited to 'src/debugScreen.c') diff --git a/src/debugScreen.c b/src/debugScreen.c new file mode 100644 index 00000000..c5fcd45f --- /dev/null +++ b/src/debugScreen.c @@ -0,0 +1,97 @@ +#include "global.h" +#include "utils.h" +#include "functions.h" +#include "main.h" +#include "menu.h" +#include "screen.h" +#include "structures.h" +#include "textbox.h" + +extern u8 gBG3Buffer[]; + +extern void (*const gUnk_08109A30[])(); + +void HandleDebugTextScreen() { + gUnk_08109A30[gMain.funcIndex](); +} + +void sub_0805FA04(void) { + sub_0801DA90(1); + MemClear(&gBG0Buffer, sizeof(BGBuffer)); + MemClear(&gBG3Buffer, 0x1000); + gScreen.lcd.displayControl = 0x940; + gScreen.bg.bg0xOffset = 0; + gScreen.bg.bg0yOffset = 0; + gScreen.affine.bg3xOffset = 0; + gScreen.affine.bg3yOffset = 0; + gScreen.affine.bg3Control = 0x1e0f; + gScreen.affine.bg3Updated = 1; + MessageInitialize(); + MemClear((void*)&gUnk_02032EC0, sizeof(UI)); + MemClear((void*)&gMenu, sizeof(Menu)); + gMenu.unk16 = gUnk_02000000->gameLanguage; + sub_08053320(); + sub_0801D79C(0, 0x1144); + gMain.funcIndex = 1; + sub_080A3210(); + sub_08050008(); +} + +void sub_0805FA98(void) { + int iVar1; + + switch (gInput.newKeys) { + case 0x40: + gMenu.focusCoords[1] -= 1; + break; + case 0x80: + gMenu.focusCoords[1] += 1; + break; + case 0x200: + gMenu.focusCoords[0] ^= 1; + if (gMenu.focusCoords[0] == 0) { + gScreen.bg.bg0Control = 0x1f0c; + gScreen.affine.bg3Control = 0x1e0f; + } else { + gScreen.bg.bg0Control = 0x1f0f; + gScreen.affine.bg3Control = 0x1e0c; + } + break; + case 0x100: + gUnk_02000000->gameLanguage = gMenu.unk16; + TextboxNoOverlapFollow(gMenu.unk14 * 0x100 + gMenu.unk15); + break; + case 0x2: + MessageInitialize(); + break; + default: + switch (gInput.unk4) { + case 0x20: + iVar1 = -1; + break; + case 0x10: + iVar1 = 1; + break; + default: + iVar1 = 0; + break; + } + switch (gMenu.focusCoords[1]) { + case 0: + gMenu.unk14 = (gMenu.unk14 + iVar1 + 0x50) % 0x50; + break; + case 1: + gMenu.unk15 += iVar1; + break; + case 2: + gMenu.unk16 = (gMenu.unk16 + iVar1 + 7) % 7; + break; + } + } + gMenu.focusCoords[1] = (gMenu.focusCoords[1] + 3) % 3; + gScreen.affine.bg3Updated = 1; +} + +void sub_0805FBC4() { + InitScreen(0); +} -- cgit v1.2.3 From f0d610f385dcbac0973a3c4b2f48621417492b5a Mon Sep 17 00:00:00 2001 From: theo3 Date: Sun, 21 Mar 2021 22:00:07 -0700 Subject: fix entity.c search prototypes, add documentation --- src/debugScreen.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src/debugScreen.c') diff --git a/src/debugScreen.c b/src/debugScreen.c index c5fcd45f..bc034e8e 100644 --- a/src/debugScreen.c +++ b/src/debugScreen.c @@ -16,7 +16,7 @@ void HandleDebugTextScreen() { } void sub_0805FA04(void) { - sub_0801DA90(1); + DispReset(1); MemClear(&gBG0Buffer, sizeof(BGBuffer)); MemClear(&gBG3Buffer, 0x1000); gScreen.lcd.displayControl = 0x940; -- cgit v1.2.3