mirror of https://github.com/zeldaret/tmc.git
Match sub_080A7040
This commit is contained in:
parent
9c9dd6d9dd
commit
4a7f862bcb
|
@ -1,47 +0,0 @@
|
||||||
.syntax unified
|
|
||||||
push {r4, r5, lr}
|
|
||||||
adds r5, r0, #0
|
|
||||||
ldr r1, _080A7090 @ =gMenu
|
|
||||||
ldrh r0, [r1, #0x2e]
|
|
||||||
cmp r0, r5
|
|
||||||
beq _080A708C
|
|
||||||
strh r5, [r1, #0x2e]
|
|
||||||
ldr r4, _080A7094 @ =gUnk_02022130
|
|
||||||
movs r1, #0xc0
|
|
||||||
lsls r1, r1, #2
|
|
||||||
adds r0, r4, #0
|
|
||||||
bl MemClear
|
|
||||||
ldr r0, _080A7098 @ =0xFFFFFE00
|
|
||||||
adds r4, r4, r0
|
|
||||||
ldr r1, _080A709C @ =0x0600E000
|
|
||||||
movs r2, #0x80
|
|
||||||
lsls r2, r2, #4
|
|
||||||
adds r0, r4, #0
|
|
||||||
bl MemCopy
|
|
||||||
ldr r1, _080A70A0 @ =gUnk_08128D70
|
|
||||||
lsls r0, r5, #3
|
|
||||||
adds r4, r0, r1
|
|
||||||
ldrb r0, [r4]
|
|
||||||
bl GetInventoryValue
|
|
||||||
cmp r0, #0
|
|
||||||
beq _080A7082
|
|
||||||
ldrh r0, [r4, #6]
|
|
||||||
ldr r1, _080A70A4 @ =gUnk_08129004
|
|
||||||
bl sub_0805F46C
|
|
||||||
_080A7082:
|
|
||||||
ldr r0, _080A70A8 @ =gScreen
|
|
||||||
movs r1, #3
|
|
||||||
strh r1, [r0, #0x18]
|
|
||||||
movs r1, #1
|
|
||||||
strh r1, [r0, #0x1a]
|
|
||||||
_080A708C:
|
|
||||||
pop {r4, r5, pc}
|
|
||||||
.align 2, 0
|
|
||||||
_080A7090: .4byte gMenu
|
|
||||||
_080A7094: .4byte gUnk_02022130
|
|
||||||
_080A7098: .4byte 0xFFFFFE00
|
|
||||||
_080A709C: .4byte 0x0600E000
|
|
||||||
_080A70A0: .4byte gUnk_08128D70
|
|
||||||
_080A70A4: .4byte gUnk_08129004
|
|
||||||
_080A70A8: .4byte gScreen
|
|
||||||
.syntax divided
|
|
|
@ -99,6 +99,18 @@ typedef struct {
|
||||||
} gUnk_08128DE8_struct;
|
} gUnk_08128DE8_struct;
|
||||||
extern gUnk_08128DE8_struct gUnk_08128DE8[];
|
extern gUnk_08128DE8_struct gUnk_08128DE8[];
|
||||||
|
|
||||||
|
typedef struct {
|
||||||
|
u8 unk0;
|
||||||
|
u8 unk1;
|
||||||
|
u8 unk2;
|
||||||
|
u8 unk3;
|
||||||
|
u8 unk4;
|
||||||
|
s8 unk5;
|
||||||
|
u16 unk6;
|
||||||
|
} struct_gUnk_08128D70;
|
||||||
|
|
||||||
|
extern const struct_gUnk_08128D70 gUnk_08128D70[];
|
||||||
|
|
||||||
ASM_FUNC("asm/non_matching/subtask2/sub_080A5594.inc", void sub_080A5594())
|
ASM_FUNC("asm/non_matching/subtask2/sub_080A5594.inc", void sub_080A5594())
|
||||||
|
|
||||||
ASM_FUNC("asm/non_matching/subtask2/sub_080A56A0.inc", void sub_080A56A0())
|
ASM_FUNC("asm/non_matching/subtask2/sub_080A56A0.inc", void sub_080A56A0())
|
||||||
|
@ -776,7 +788,20 @@ void sub_080A6F6C(u32 param_1) {
|
||||||
|
|
||||||
ASM_FUNC("asm/non_matching/subtask2/sub_080A6FB4.inc", void sub_080A6FB4(u32 a, u32 b))
|
ASM_FUNC("asm/non_matching/subtask2/sub_080A6FB4.inc", void sub_080A6FB4(u32 a, u32 b))
|
||||||
|
|
||||||
ASM_FUNC("asm/non_matching/subtask2/sub_080A7040.inc", void sub_080A7040(u32 a))
|
void sub_080A7040(u32 param_1) {
|
||||||
|
extern Font gUnk_08129004;
|
||||||
|
extern u8 gUnk_02022130[];
|
||||||
|
if (gGenericMenu.unk2e.HWORD != param_1) {
|
||||||
|
gGenericMenu.unk2e.HWORD = param_1;
|
||||||
|
MemClear(gUnk_02022130, 0x300);
|
||||||
|
MemCopy(gUnk_02022130 - 0x200, (void*)0x600e000, 0x800);
|
||||||
|
if (GetInventoryValue(gUnk_08128D70[param_1].unk0) != 0) {
|
||||||
|
sub_0805F46C(gUnk_08128D70[param_1].unk6, &gUnk_08129004);
|
||||||
|
}
|
||||||
|
gScreen.bg1.yOffset = 3;
|
||||||
|
gScreen.bg1.updated = 1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
ASM_FUNC("asm/non_matching/subtask2/sub_080A70AC.inc", void sub_080A70AC(const KeyButtonLayout* layout))
|
ASM_FUNC("asm/non_matching/subtask2/sub_080A70AC.inc", void sub_080A70AC(const KeyButtonLayout* layout))
|
||||||
|
|
||||||
|
@ -787,12 +812,12 @@ void SetMenuType(u32 menuType) {
|
||||||
}
|
}
|
||||||
|
|
||||||
void ResetUI(void) {
|
void ResetUI(void) {
|
||||||
MemClear(&gUI, 0x3b4);
|
MemClear(&gUI, sizeof(gUI));
|
||||||
}
|
}
|
||||||
|
|
||||||
void MenuFadeIn(u32 param_1, u32 param_2) {
|
void MenuFadeIn(u32 param_1, u32 param_2) {
|
||||||
if (gUI.nextToLoad == 0) {
|
if (gUI.nextToLoad == 0) {
|
||||||
MemClear(&gUI, 0x3b4);
|
MemClear(&gUI, sizeof(gUI));
|
||||||
gUI.lastState = param_1;
|
gUI.lastState = param_1;
|
||||||
gUI.field_0x3 = param_2;
|
gUI.field_0x3 = param_2;
|
||||||
gUI.pauseFadeIn = gMain.substate;
|
gUI.pauseFadeIn = gMain.substate;
|
||||||
|
|
Loading…
Reference in New Issue