Put const data in demo

This commit is contained in:
Tal Hayon
2022-04-19 22:33:22 +03:00
parent d3a9d40206
commit e940c1cc5e
4 changed files with 25 additions and 44 deletions
+22 -5
View File
@@ -14,8 +14,10 @@
#include "screen.h"
#include "game.h"
extern void (*const demoFunctions[])(void);
void sub_080A30AC(void);
void sub_080A2E40(void);
void sub_080A2FD0(void);
void sub_080A2F8C(void);
extern u8 gUnk_02000004;
void sub_080A3198(u32, u32);
@@ -26,12 +28,17 @@ extern u8 gUnk_08A05751[];
// sprite_table
extern void gUnk_089FD1B4;
extern void gUnk_089FD2F4;
extern u16 gUnk_0203508E[];
extern u16 gUnk_0203510E[];
extern u16 gUnk_08127CC8[4];
extern void* gUnk_08127C98;
extern u8 gUnk_08A068BF[129];
void DemoTask(void) {
static void (*const demoFunctions[])(void) = {
sub_080A2E40,
sub_080A2FD0,
sub_080A2F8C,
};
FlushSprites();
demoFunctions[gMain.state]();
sub_080A30AC();
@@ -209,14 +216,24 @@ NONMATCH("asm/non_matching/demoScreen/sub_080A30AC.inc", void sub_080A30AC(void)
END_NONMATCH
void sub_080A3198(u32 param_1, u32 param_2) {
static const Font gUnk_08127C98[] = {
{ gUnk_0203508E, (void*)0x0600d000, (void*)0x02000d00, 0, 0x1080, 0xd0, 1, 0, 0, 1, 9, 0, 0, 1, 1 },
{ gUnk_0203510E, (void*)0x0600d000, (void*)0x02000d00, 0, 0x80, 0xd0, 1, 0, 0, 1, 9, 0, 0, 1, 1 },
};
static const u16 gUnk_08127CC8[4] = {
0x71c,
0x720,
0x721,
0x0,
};
u16 r4 = gUnk_08127CC8[param_1];
if (gChooseFileState.unk_0x12 != r4) {
gChooseFileState.unk_0x12 = r4;
MemClear(gUnk_08127C98 - 0x1e, 0x180);
MemClear(gUnk_08127C98[0].dest - 0xf, 0x180);
if (r4 != 0) {
sub_0805F46C(r4, (Font*)&gUnk_08127C98); // TODO
sub_0805F46C(r4, gUnk_08127C98);
}
gScreen.bg0.updated = 1;