through sub_812DB64
This commit is contained in:
@@ -5,97 +5,6 @@
|
|||||||
|
|
||||||
.text
|
.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
|
thumb_func_start sub_812DBC0
|
||||||
sub_812DBC0: @ 812DBC0
|
sub_812DBC0: @ 812DBC0
|
||||||
push {r4-r7,lr}
|
push {r4-r7,lr}
|
||||||
|
|||||||
+15
-14
@@ -18,22 +18,23 @@ struct ListMenu;
|
|||||||
struct ListMenuTemplate
|
struct ListMenuTemplate
|
||||||
{
|
{
|
||||||
const struct ListMenuItem *items;
|
const struct ListMenuItem *items;
|
||||||
void (* unk_04)(u32, bool8, struct ListMenu *);
|
void (* moveCursorFunc)(s32 itemIndex, bool8 onInit, struct ListMenu *list);
|
||||||
void (* unk_08)(u8, s32, u8);
|
void (* itemPrintFunc)(u8 windowId, s32 itemId, u8 y);
|
||||||
u16 totalItems;
|
u16 totalItems;
|
||||||
u16 maxShowed;
|
u16 maxShowed;
|
||||||
u8 unk_10;
|
u8 windowId;
|
||||||
u8 unk_11;
|
u8 header_X;
|
||||||
u8 unk_12;
|
u8 item_X;
|
||||||
u8 cursor_Y;
|
u8 cursor_X;
|
||||||
u32 upText_Y:4; // x1, x2, x4, x8 = xF
|
u8 upText_Y:4; // x1, x2, x4, x8 = xF
|
||||||
u32 cursorColor:4; // x10, x20, x40, x80 = xF0
|
u8 cursorPal:4; // x10, x20, x40, x80 = xF0
|
||||||
u32 fillColor:4; // x100, x200, x400, x800 = xF00
|
u8 fillValue:4; // x1, x2, x4, x8 = xF
|
||||||
u32 cursorShadowColor:4; // x1000, x2000, x4000, x8000 = xF000
|
u8 cursorShadowPal:4; // x10, x20, x40, x80 = xF0
|
||||||
u32 unk_16_0:1; // x10000
|
u8 lettersSpacing:3;
|
||||||
u32 spaceBetweenItems:6; // x20000, x40000, x80000, x100000, x200000, x400000 = x7E0000
|
u8 itemVerticalPadding:3;
|
||||||
u32 unk_16_7:1; // x800000
|
u8 scrollMultiple:2; // x40, x80 = xC0
|
||||||
u32 unk_17_0:6; // x1000000, x2000000, x4000000, x8000000, x10000000, x20000000 = x3F000000
|
u8 fontId:6; // x1, x2, x4, x8, x10, x20 = x3F
|
||||||
|
u8 cursorKind:2; // x40, x80
|
||||||
};
|
};
|
||||||
|
|
||||||
struct ListMenu {
|
struct ListMenu {
|
||||||
|
|||||||
+42
-7
@@ -50,16 +50,11 @@ struct FameCheckerData
|
|||||||
u8 unk_23_2:1;
|
u8 unk_23_2:1;
|
||||||
};
|
};
|
||||||
|
|
||||||
struct FameCheckerData2
|
|
||||||
{
|
|
||||||
u8 filler_00[0x88];
|
|
||||||
};
|
|
||||||
|
|
||||||
EWRAM_DATA u16 * gUnknown_203B0F0 = NULL;
|
EWRAM_DATA u16 * gUnknown_203B0F0 = NULL;
|
||||||
EWRAM_DATA u16 * gUnknown_203B0F4 = NULL;
|
EWRAM_DATA u16 * gUnknown_203B0F4 = NULL;
|
||||||
EWRAM_DATA u16 * gUnknown_203B0F8 = NULL;
|
EWRAM_DATA u16 * gUnknown_203B0F8 = NULL;
|
||||||
EWRAM_DATA struct FameCheckerData * gUnknown_203B0FC = 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;
|
EWRAM_DATA u32 gUnknown_203B104 = 0;
|
||||||
|
|
||||||
struct ListMenuTemplate gUnknown_3005EB0;
|
struct ListMenuTemplate gUnknown_3005EB0;
|
||||||
@@ -106,6 +101,10 @@ void sub_812D9A8(u8 a0, u16 a1);
|
|||||||
void sub_812DA14(u8 a0);
|
void sub_812DA14(u8 a0);
|
||||||
void sub_812DB10(void);
|
void sub_812DB10(void);
|
||||||
void sub_812DB28(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_812E000(void);
|
||||||
void sub_812E048(void);
|
void sub_812E048(void);
|
||||||
u16 sub_812E064(void);
|
u16 sub_812E064(void);
|
||||||
@@ -225,7 +224,7 @@ void sub_812C3F8(void)
|
|||||||
InitWindows(gUnknown_845FC04);
|
InitWindows(gUnknown_845FC04);
|
||||||
DeactivateAllTextPrinters();
|
DeactivateAllTextPrinters();
|
||||||
sub_812CEC0();
|
sub_812CEC0();
|
||||||
gUnknown_203B100 = AllocZeroed(sizeof(struct FameCheckerData2));
|
gUnknown_203B100 = AllocZeroed(17 * sizeof(struct ListMenuItem));
|
||||||
sub_812DB28();
|
sub_812DB28();
|
||||||
gMain.state++;
|
gMain.state++;
|
||||||
break;
|
break;
|
||||||
@@ -939,3 +938,39 @@ void sub_812DA14(u8 a0)
|
|||||||
AddTextPrinterParametrized2(3, 0, width, 10, 0, 2, &gUnknown_845F5E3, -1, gStringVar1);
|
AddTextPrinterParametrized2(3, 0, width, 10, 0, 2, &gUnknown_845F5E3, -1, gStringVar1);
|
||||||
sub_812CEE0(3);
|
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