through sub_812DB64
This commit is contained in:
@@ -5,97 +5,6 @@
|
||||
|
||||
.text
|
||||
|
||||
thumb_func_start sub_812DB10
|
||||
sub_812DB10: @ 812DB10
|
||||
push {lr}
|
||||
movs r0, 0
|
||||
bl sub_812E094
|
||||
ldr r1, _0812DB24 @ =gUnknown_3005EC8
|
||||
movs r0, 0xFF
|
||||
strb r0, [r1]
|
||||
pop {r0}
|
||||
bx r0
|
||||
.align 2, 0
|
||||
_0812DB24: .4byte gUnknown_3005EC8
|
||||
thumb_func_end sub_812DB10
|
||||
|
||||
thumb_func_start sub_812DB28
|
||||
sub_812DB28: @ 812DB28
|
||||
push {r4,lr}
|
||||
bl sub_812DB64
|
||||
bl sub_812DEF0
|
||||
ldr r4, _0812DB5C @ =gUnknown_203B0FC
|
||||
ldr r3, [r4]
|
||||
lsls r0, 2
|
||||
ldrb r2, [r3, 0x7]
|
||||
movs r1, 0x3
|
||||
ands r1, r2
|
||||
orrs r1, r0
|
||||
strb r1, [r3, 0x7]
|
||||
ldr r0, _0812DB60 @ =gUnknown_3005EB0
|
||||
movs r1, 0
|
||||
movs r2, 0
|
||||
bl ListMenuInit
|
||||
ldr r1, [r4]
|
||||
strb r0, [r1, 0x8]
|
||||
movs r0, 0
|
||||
bl sub_812DFE4
|
||||
pop {r4}
|
||||
pop {r0}
|
||||
bx r0
|
||||
.align 2, 0
|
||||
_0812DB5C: .4byte gUnknown_203B0FC
|
||||
_0812DB60: .4byte gUnknown_3005EB0
|
||||
thumb_func_end sub_812DB28
|
||||
|
||||
thumb_func_start sub_812DB64
|
||||
sub_812DB64: @ 812DB64
|
||||
ldr r2, _0812DBB4 @ =gUnknown_3005EB0
|
||||
ldr r0, _0812DBB8 @ =gUnknown_203B100
|
||||
ldr r0, [r0]
|
||||
str r0, [r2]
|
||||
ldr r0, _0812DBBC @ =sub_812DBC0
|
||||
str r0, [r2, 0x4]
|
||||
movs r0, 0
|
||||
str r0, [r2, 0x8]
|
||||
movs r1, 0
|
||||
movs r0, 0x1
|
||||
strh r0, [r2, 0xC]
|
||||
strh r0, [r2, 0xE]
|
||||
strb r1, [r2, 0x10]
|
||||
strb r1, [r2, 0x11]
|
||||
movs r0, 0x8
|
||||
strb r0, [r2, 0x12]
|
||||
strb r1, [r2, 0x13]
|
||||
ldrb r1, [r2, 0x14]
|
||||
subs r0, 0x18
|
||||
ands r0, r1
|
||||
movs r1, 0x4
|
||||
orrs r0, r1
|
||||
movs r1, 0xF
|
||||
ands r0, r1
|
||||
movs r1, 0x20
|
||||
orrs r0, r1
|
||||
strb r0, [r2, 0x14]
|
||||
movs r0, 0x30
|
||||
strb r0, [r2, 0x15]
|
||||
movs r3, 0x3F
|
||||
movs r0, 0
|
||||
strb r0, [r2, 0x16]
|
||||
ldrb r1, [r2, 0x17]
|
||||
subs r0, 0x40
|
||||
ands r0, r1
|
||||
movs r1, 0x2
|
||||
orrs r0, r1
|
||||
ands r0, r3
|
||||
strb r0, [r2, 0x17]
|
||||
bx lr
|
||||
.align 2, 0
|
||||
_0812DBB4: .4byte gUnknown_3005EB0
|
||||
_0812DBB8: .4byte gUnknown_203B100
|
||||
_0812DBBC: .4byte sub_812DBC0
|
||||
thumb_func_end sub_812DB64
|
||||
|
||||
thumb_func_start sub_812DBC0
|
||||
sub_812DBC0: @ 812DBC0
|
||||
push {r4-r7,lr}
|
||||
|
||||
+15
-14
@@ -18,22 +18,23 @@ struct ListMenu;
|
||||
struct ListMenuTemplate
|
||||
{
|
||||
const struct ListMenuItem *items;
|
||||
void (* unk_04)(u32, bool8, struct ListMenu *);
|
||||
void (* unk_08)(u8, s32, u8);
|
||||
void (* moveCursorFunc)(s32 itemIndex, bool8 onInit, struct ListMenu *list);
|
||||
void (* itemPrintFunc)(u8 windowId, s32 itemId, u8 y);
|
||||
u16 totalItems;
|
||||
u16 maxShowed;
|
||||
u8 unk_10;
|
||||
u8 unk_11;
|
||||
u8 unk_12;
|
||||
u8 cursor_Y;
|
||||
u32 upText_Y:4; // x1, x2, x4, x8 = xF
|
||||
u32 cursorColor:4; // x10, x20, x40, x80 = xF0
|
||||
u32 fillColor:4; // x100, x200, x400, x800 = xF00
|
||||
u32 cursorShadowColor:4; // x1000, x2000, x4000, x8000 = xF000
|
||||
u32 unk_16_0:1; // x10000
|
||||
u32 spaceBetweenItems:6; // x20000, x40000, x80000, x100000, x200000, x400000 = x7E0000
|
||||
u32 unk_16_7:1; // x800000
|
||||
u32 unk_17_0:6; // x1000000, x2000000, x4000000, x8000000, x10000000, x20000000 = x3F000000
|
||||
u8 windowId;
|
||||
u8 header_X;
|
||||
u8 item_X;
|
||||
u8 cursor_X;
|
||||
u8 upText_Y:4; // x1, x2, x4, x8 = xF
|
||||
u8 cursorPal:4; // x10, x20, x40, x80 = xF0
|
||||
u8 fillValue:4; // x1, x2, x4, x8 = xF
|
||||
u8 cursorShadowPal:4; // x10, x20, x40, x80 = xF0
|
||||
u8 lettersSpacing:3;
|
||||
u8 itemVerticalPadding:3;
|
||||
u8 scrollMultiple:2; // x40, x80 = xC0
|
||||
u8 fontId:6; // x1, x2, x4, x8, x10, x20 = x3F
|
||||
u8 cursorKind:2; // x40, x80
|
||||
};
|
||||
|
||||
struct ListMenu {
|
||||
|
||||
+42
-7
@@ -50,16 +50,11 @@ struct FameCheckerData
|
||||
u8 unk_23_2:1;
|
||||
};
|
||||
|
||||
struct FameCheckerData2
|
||||
{
|
||||
u8 filler_00[0x88];
|
||||
};
|
||||
|
||||
EWRAM_DATA u16 * gUnknown_203B0F0 = NULL;
|
||||
EWRAM_DATA u16 * gUnknown_203B0F4 = NULL;
|
||||
EWRAM_DATA u16 * gUnknown_203B0F8 = NULL;
|
||||
EWRAM_DATA struct FameCheckerData * gUnknown_203B0FC = NULL;
|
||||
EWRAM_DATA struct FameCheckerData2 * gUnknown_203B100 = NULL;
|
||||
EWRAM_DATA struct ListMenuItem * gUnknown_203B100 = NULL;
|
||||
EWRAM_DATA u32 gUnknown_203B104 = 0;
|
||||
|
||||
struct ListMenuTemplate gUnknown_3005EB0;
|
||||
@@ -106,6 +101,10 @@ void sub_812D9A8(u8 a0, u16 a1);
|
||||
void sub_812DA14(u8 a0);
|
||||
void sub_812DB10(void);
|
||||
void sub_812DB28(void);
|
||||
void sub_812DB64(void);
|
||||
void sub_812DBC0(s32, bool8, struct ListMenu *);
|
||||
u8 sub_812DEF0(void);
|
||||
void sub_812DFE4(u8);
|
||||
void sub_812E000(void);
|
||||
void sub_812E048(void);
|
||||
u16 sub_812E064(void);
|
||||
@@ -225,7 +224,7 @@ void sub_812C3F8(void)
|
||||
InitWindows(gUnknown_845FC04);
|
||||
DeactivateAllTextPrinters();
|
||||
sub_812CEC0();
|
||||
gUnknown_203B100 = AllocZeroed(sizeof(struct FameCheckerData2));
|
||||
gUnknown_203B100 = AllocZeroed(17 * sizeof(struct ListMenuItem));
|
||||
sub_812DB28();
|
||||
gMain.state++;
|
||||
break;
|
||||
@@ -939,3 +938,39 @@ void sub_812DA14(u8 a0)
|
||||
AddTextPrinterParametrized2(3, 0, width, 10, 0, 2, &gUnknown_845F5E3, -1, gStringVar1);
|
||||
sub_812CEE0(3);
|
||||
}
|
||||
|
||||
void sub_812DB10(void)
|
||||
{
|
||||
sub_812E094(0);
|
||||
gUnknown_3005EC8 = 0xFF;
|
||||
}
|
||||
|
||||
void sub_812DB28(void)
|
||||
{
|
||||
sub_812DB64();
|
||||
gUnknown_203B0FC->unk_07_2 = sub_812DEF0();
|
||||
gUnknown_203B0FC->unk_08 = ListMenuInit(&gUnknown_3005EB0, 0, 0);
|
||||
sub_812DFE4(0);
|
||||
}
|
||||
|
||||
void sub_812DB64(void)
|
||||
{
|
||||
gUnknown_3005EB0.items = gUnknown_203B100;
|
||||
gUnknown_3005EB0.moveCursorFunc = sub_812DBC0;
|
||||
gUnknown_3005EB0.itemPrintFunc = NULL;
|
||||
gUnknown_3005EB0.totalItems = 1;
|
||||
gUnknown_3005EB0.maxShowed = 1;
|
||||
gUnknown_3005EB0.windowId = 0;
|
||||
gUnknown_3005EB0.header_X = 0;
|
||||
gUnknown_3005EB0.item_X = 8;
|
||||
gUnknown_3005EB0.cursor_X = 0;
|
||||
gUnknown_3005EB0.upText_Y = 4;
|
||||
gUnknown_3005EB0.cursorPal = 2;
|
||||
gUnknown_3005EB0.fillValue = 0;
|
||||
gUnknown_3005EB0.cursorShadowPal = 3;
|
||||
gUnknown_3005EB0.lettersSpacing = 0;
|
||||
gUnknown_3005EB0.itemVerticalPadding = 0;
|
||||
gUnknown_3005EB0.scrollMultiple = 0;
|
||||
gUnknown_3005EB0.fontId = 2;
|
||||
gUnknown_3005EB0.cursorKind = 0;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user