mirror of https://github.com/zeldaret/tmc.git
Match sub_080A62E0
This commit is contained in:
parent
d4e8e23028
commit
c6efed628b
|
@ -1,81 +0,0 @@
|
|||
.syntax unified
|
||||
push {r4, lr}
|
||||
bl sub_080A51F4
|
||||
cmp r0, #0
|
||||
beq _080A6372
|
||||
ldr r0, _080A6310 @ =gMenu
|
||||
ldrb r3, [r0, #3]
|
||||
lsls r1, r3, #3
|
||||
ldr r0, _080A6314 @ =gUnk_08128DE8
|
||||
adds r1, r1, r0
|
||||
movs r4, #1
|
||||
rsbs r4, r4, #0
|
||||
ldr r0, _080A6318 @ =gInput
|
||||
ldrh r2, [r0, #2]
|
||||
cmp r2, #0x20
|
||||
beq _080A634E
|
||||
cmp r2, #0x20
|
||||
bgt _080A631C
|
||||
cmp r2, #1
|
||||
beq _080A6326
|
||||
cmp r2, #0x10
|
||||
beq _080A6354
|
||||
b _080A635A
|
||||
.align 2, 0
|
||||
_080A6310: .4byte gMenu
|
||||
_080A6314: .4byte gUnk_08128DE8
|
||||
_080A6318: .4byte gInput
|
||||
_080A631C:
|
||||
cmp r2, #0x40
|
||||
beq _080A6344
|
||||
cmp r2, #0x80
|
||||
beq _080A634A
|
||||
b _080A635A
|
||||
_080A6326:
|
||||
ldr r0, _080A6340 @ =gSave
|
||||
lsls r2, r3
|
||||
ldr r0, [r0, #0x40]
|
||||
ands r0, r2
|
||||
cmp r0, #0
|
||||
beq _080A635A
|
||||
movs r0, #0x6a
|
||||
bl SoundReq
|
||||
movs r0, #6
|
||||
bl sub_080A4E84
|
||||
b _080A635A
|
||||
.align 2, 0
|
||||
_080A6340: .4byte gSave
|
||||
_080A6344:
|
||||
ldrb r0, [r1]
|
||||
lsls r0, r0, #0x1b
|
||||
b _080A6358
|
||||
_080A634A:
|
||||
ldrh r0, [r1]
|
||||
b _080A6356
|
||||
_080A634E:
|
||||
ldrb r0, [r1, #2]
|
||||
lsls r0, r0, #0x1b
|
||||
b _080A6358
|
||||
_080A6354:
|
||||
ldrh r0, [r1, #2]
|
||||
_080A6356:
|
||||
lsls r0, r0, #0x16
|
||||
_080A6358:
|
||||
lsrs r4, r0, #0x1b
|
||||
_080A635A:
|
||||
cmp r4, #0
|
||||
blt _080A6368
|
||||
ldr r0, _080A6374 @ =gMenu
|
||||
strb r4, [r0, #3]
|
||||
movs r0, #0x69
|
||||
bl SoundReq
|
||||
_080A6368:
|
||||
ldr r0, _080A6374 @ =gMenu
|
||||
ldrb r0, [r0, #3]
|
||||
movs r1, #0
|
||||
bl sub_080A6FB4
|
||||
_080A6372:
|
||||
pop {r4, pc}
|
||||
.align 2, 0
|
||||
_080A6374: .4byte gMenu
|
||||
.syntax divided
|
|
@ -108,10 +108,14 @@ typedef struct {
|
|||
extern const struct_gUnk_08128E94 gUnk_08128E94[];
|
||||
|
||||
typedef struct {
|
||||
u8 unk0;
|
||||
u8 unk1;
|
||||
u8 unk2;
|
||||
u8 unk3;
|
||||
u8 unk00 : 5;
|
||||
u8 unk05 : 5;
|
||||
u8 unk10 : 6;
|
||||
} PACKED gUnk_08128DE8_struct_2;
|
||||
|
||||
typedef struct {
|
||||
gUnk_08128DE8_struct_2 unk0;
|
||||
gUnk_08128DE8_struct_2 unk2;
|
||||
u8 unk4;
|
||||
u8 unk5;
|
||||
u8 unk6;
|
||||
|
@ -449,7 +453,45 @@ void sub_080A6290(void) {
|
|||
gMenu.menuType = 1;
|
||||
}
|
||||
|
||||
ASM_FUNC("asm/non_matching/subtask2/sub_080A62E0.inc", void sub_080A62E0())
|
||||
void sub_080A62E0(void) {
|
||||
u32 uVar1;
|
||||
int windcrest;
|
||||
gUnk_08128DE8_struct* ptr;
|
||||
|
||||
if (!sub_080A51F4()) {
|
||||
return;
|
||||
}
|
||||
ptr = &gUnk_08128DE8[gMenu.field_0x3];
|
||||
windcrest = -1;
|
||||
|
||||
switch (gInput.newKeys) {
|
||||
case A_BUTTON:
|
||||
if ((gSave.windcrests & (1 << gMenu.field_0x3)) != 0) {
|
||||
SoundReq(SFX_TEXTBOX_SELECT);
|
||||
sub_080A4E84(6);
|
||||
windcrest = -1;
|
||||
}
|
||||
break;
|
||||
case DPAD_UP:
|
||||
windcrest = ptr->unk0.unk00;
|
||||
break;
|
||||
case DPAD_DOWN:
|
||||
windcrest = ptr->unk0.unk05;
|
||||
break;
|
||||
case DPAD_LEFT:
|
||||
windcrest = ptr->unk2.unk00;
|
||||
break;
|
||||
case DPAD_RIGHT:
|
||||
windcrest = ptr->unk2.unk05;
|
||||
break;
|
||||
}
|
||||
|
||||
if (-1 < windcrest) {
|
||||
gMenu.field_0x3 = windcrest;
|
||||
SoundReq(SFX_TEXTBOX_CHOICE);
|
||||
}
|
||||
sub_080A6FB4(gMenu.field_0x3, 0);
|
||||
}
|
||||
|
||||
void sub_080A6378(void) {
|
||||
u32 frameIndex;
|
||||
|
|
Loading…
Reference in New Issue