mirror of
https://github.com/pret/pokeruby.git
synced 2026-09-11 20:47:03 -05:00
decompile ItemListMenu_ChangeDescription - sub_80A4F74
This commit is contained in:
902
asm/item_menu.s
902
asm/item_menu.s
@@ -6,908 +6,6 @@
|
||||
|
||||
.text
|
||||
|
||||
thumb_func_start ItemListMenu_ChangeDescription
|
||||
ItemListMenu_ChangeDescription: @ 80A49AC
|
||||
push {r4,r5,lr}
|
||||
sub sp, 0x64
|
||||
adds r4, r1, 0
|
||||
lsls r0, 16
|
||||
lsrs r5, r0, 16
|
||||
ldr r1, _080A49E8 @ =gUnknown_03005D10
|
||||
ldr r0, _080A49EC @ =gUnknown_02038559
|
||||
ldrb r0, [r0]
|
||||
lsls r0, 24
|
||||
asrs r0, 24
|
||||
lsls r0, 2
|
||||
adds r0, r1
|
||||
ldrb r1, [r0, 0x1]
|
||||
ldrb r2, [r0]
|
||||
adds r1, r2
|
||||
ldrb r0, [r0, 0x2]
|
||||
cmp r1, r0
|
||||
bne _080A4A18
|
||||
cmp r4, 0
|
||||
bne _080A49F4
|
||||
movs r0, 0
|
||||
movs r1, 0xD
|
||||
movs r2, 0xD
|
||||
movs r3, 0x14
|
||||
bl MenuZeroFillWindowRect
|
||||
ldr r0, _080A49F0 @ =gOtherText_ReturnTo
|
||||
movs r1, 0x4
|
||||
movs r2, 0x68
|
||||
b _080A4A08
|
||||
.align 2, 0
|
||||
_080A49E8: .4byte gUnknown_03005D10
|
||||
_080A49EC: .4byte gUnknown_02038559
|
||||
_080A49F0: .4byte gOtherText_ReturnTo
|
||||
_080A49F4:
|
||||
cmp r4, 0x1
|
||||
bne _080A4A4C
|
||||
ldr r1, _080A4A10 @ =gUnknown_0840E740
|
||||
ldr r0, _080A4A14 @ =gUnknown_03000701
|
||||
ldrb r0, [r0]
|
||||
lsls r0, 2
|
||||
adds r0, r1
|
||||
ldr r0, [r0]
|
||||
movs r1, 0x4
|
||||
movs r2, 0x78
|
||||
_080A4A08:
|
||||
movs r3, 0
|
||||
bl MenuPrint_PixelCoords
|
||||
b _080A4A4C
|
||||
.align 2, 0
|
||||
_080A4A10: .4byte gUnknown_0840E740
|
||||
_080A4A14: .4byte gUnknown_03000701
|
||||
_080A4A18:
|
||||
cmp r4, 0
|
||||
bne _080A4A28
|
||||
movs r0, 0
|
||||
movs r1, 0xD
|
||||
movs r2, 0xD
|
||||
movs r3, 0x14
|
||||
bl MenuZeroFillWindowRect
|
||||
_080A4A28:
|
||||
lsls r1, r5, 16
|
||||
asrs r1, 16
|
||||
mov r0, sp
|
||||
adds r2, r4, 0
|
||||
bl ItemId_CopyDescription
|
||||
cmp r0, 0
|
||||
beq _080A4A4C
|
||||
lsls r2, r4, 20
|
||||
movs r0, 0xD0
|
||||
lsls r0, 15
|
||||
adds r2, r0
|
||||
lsrs r2, 16
|
||||
mov r0, sp
|
||||
movs r1, 0x4
|
||||
movs r3, 0
|
||||
bl MenuPrint_PixelCoords
|
||||
_080A4A4C:
|
||||
add sp, 0x64
|
||||
pop {r4,r5}
|
||||
pop {r0}
|
||||
bx r0
|
||||
thumb_func_end ItemListMenu_ChangeDescription
|
||||
|
||||
thumb_func_start sub_80A4A54
|
||||
sub_80A4A54: @ 80A4A54
|
||||
push {r4,r5,lr}
|
||||
adds r5, r0, 0
|
||||
adds r4, r2, 0x1
|
||||
adds r2, r1, 0
|
||||
adds r1, r5, 0
|
||||
_080A4A5E:
|
||||
ldrb r3, [r2]
|
||||
adds r0, r3, 0x2
|
||||
lsls r0, 24
|
||||
lsrs r0, 24
|
||||
cmp r0, 0x1
|
||||
bhi _080A4A8A
|
||||
subs r4, 0x1
|
||||
cmp r4, 0
|
||||
bne _080A4A78
|
||||
movs r0, 0xFF
|
||||
strb r0, [r1]
|
||||
movs r0, 0x1
|
||||
b _080A4A92
|
||||
_080A4A78:
|
||||
lsls r0, r3, 24
|
||||
lsrs r0, 24
|
||||
cmp r0, 0xFF
|
||||
bne _080A4A84
|
||||
movs r0, 0
|
||||
b _080A4A92
|
||||
_080A4A84:
|
||||
adds r1, r5, 0
|
||||
adds r2, 0x1
|
||||
b _080A4A5E
|
||||
_080A4A8A:
|
||||
strb r3, [r1]
|
||||
adds r2, 0x1
|
||||
adds r1, 0x1
|
||||
b _080A4A5E
|
||||
_080A4A92:
|
||||
pop {r4,r5}
|
||||
pop {r1}
|
||||
bx r1
|
||||
thumb_func_end sub_80A4A54
|
||||
|
||||
thumb_func_start sub_80A4A98
|
||||
sub_80A4A98: @ 80A4A98
|
||||
push {r4,r5,lr}
|
||||
sub sp, 0x64
|
||||
adds r5, r0, 0
|
||||
adds r4, r1, 0
|
||||
cmp r4, 0
|
||||
bne _080A4AB0
|
||||
movs r0, 0
|
||||
movs r1, 0xD
|
||||
movs r2, 0xD
|
||||
movs r3, 0x14
|
||||
bl MenuZeroFillWindowRect
|
||||
_080A4AB0:
|
||||
mov r0, sp
|
||||
adds r1, r5, 0
|
||||
adds r2, r4, 0
|
||||
bl sub_80A4A54
|
||||
cmp r0, 0
|
||||
beq _080A4AD2
|
||||
lsls r2, r4, 20
|
||||
movs r0, 0xD0
|
||||
lsls r0, 15
|
||||
adds r2, r0
|
||||
lsrs r2, 16
|
||||
mov r0, sp
|
||||
movs r1, 0x4
|
||||
movs r3, 0
|
||||
bl MenuPrint_PixelCoords
|
||||
_080A4AD2:
|
||||
add sp, 0x64
|
||||
pop {r4,r5}
|
||||
pop {r0}
|
||||
bx r0
|
||||
thumb_func_end sub_80A4A98
|
||||
|
||||
thumb_func_start sub_80A4ADC
|
||||
sub_80A4ADC: @ 80A4ADC
|
||||
push {lr}
|
||||
lsls r0, 24
|
||||
lsrs r0, 24
|
||||
ldr r2, _080A4B0C @ =gTasks
|
||||
lsls r1, r0, 2
|
||||
adds r1, r0
|
||||
lsls r1, 3
|
||||
adds r1, r2
|
||||
movs r2, 0x1C
|
||||
ldrsh r0, [r1, r2]
|
||||
cmp r0, 0
|
||||
bne _080A4AFA
|
||||
movs r0, 0
|
||||
bl sub_80A7528
|
||||
_080A4AFA:
|
||||
movs r0, 0x5
|
||||
bl PlaySE
|
||||
ldr r1, _080A4B10 @ =gUnknown_0203855C
|
||||
movs r0, 0x1
|
||||
strb r0, [r1]
|
||||
pop {r0}
|
||||
bx r0
|
||||
.align 2, 0
|
||||
_080A4B0C: .4byte gTasks
|
||||
_080A4B10: .4byte gUnknown_0203855C
|
||||
thumb_func_end sub_80A4ADC
|
||||
|
||||
thumb_func_start sub_80A4B14
|
||||
sub_80A4B14: @ 80A4B14
|
||||
push {r4,lr}
|
||||
adds r4, r1, 0
|
||||
lsls r0, 24
|
||||
lsls r4, 24
|
||||
lsrs r4, 24
|
||||
ldr r2, _080A4B50 @ =gUnknown_03005D10
|
||||
ldr r1, _080A4B54 @ =gUnknown_02038559
|
||||
ldrb r1, [r1]
|
||||
lsls r1, 24
|
||||
asrs r1, 24
|
||||
lsls r1, 2
|
||||
adds r1, r2
|
||||
lsrs r0, 24
|
||||
ldrb r2, [r1, 0x1]
|
||||
adds r0, r2
|
||||
strb r0, [r1, 0x1]
|
||||
movs r0, 0
|
||||
bl MoveMenuCursor
|
||||
bl sub_80A73C0
|
||||
bl sub_80A763C
|
||||
adds r0, r4, 0
|
||||
bl sub_80A4ADC
|
||||
pop {r4}
|
||||
pop {r0}
|
||||
bx r0
|
||||
.align 2, 0
|
||||
_080A4B50: .4byte gUnknown_03005D10
|
||||
_080A4B54: .4byte gUnknown_02038559
|
||||
thumb_func_end sub_80A4B14
|
||||
|
||||
thumb_func_start sub_80A4B58
|
||||
sub_80A4B58: @ 80A4B58
|
||||
push {r4,lr}
|
||||
adds r4, r1, 0
|
||||
lsls r4, 24
|
||||
lsrs r4, 24
|
||||
lsls r0, 24
|
||||
asrs r0, 24
|
||||
bl MoveMenuCursor
|
||||
ldr r2, _080A4B88 @ =gUnknown_03005D10
|
||||
ldr r1, _080A4B8C @ =gUnknown_02038559
|
||||
ldrb r1, [r1]
|
||||
lsls r1, 24
|
||||
asrs r1, 24
|
||||
lsls r1, 2
|
||||
adds r1, r2
|
||||
strb r0, [r1]
|
||||
bl sub_80A73C0
|
||||
adds r0, r4, 0
|
||||
bl sub_80A4ADC
|
||||
pop {r4}
|
||||
pop {r0}
|
||||
bx r0
|
||||
.align 2, 0
|
||||
_080A4B88: .4byte gUnknown_03005D10
|
||||
_080A4B8C: .4byte gUnknown_02038559
|
||||
thumb_func_end sub_80A4B58
|
||||
|
||||
thumb_func_start sub_80A4B90
|
||||
sub_80A4B90: @ 80A4B90
|
||||
push {r4,lr}
|
||||
lsls r0, 16
|
||||
lsrs r4, r0, 16
|
||||
movs r0, 0x6
|
||||
bl TestPlayerAvatarFlags
|
||||
lsls r0, 24
|
||||
cmp r0, 0
|
||||
beq _080A4BBC
|
||||
ldr r0, _080A4BB4 @ =0x00000103
|
||||
cmp r4, r0
|
||||
beq _080A4BAE
|
||||
adds r0, 0xD
|
||||
cmp r4, r0
|
||||
bne _080A4BBC
|
||||
_080A4BAE:
|
||||
ldr r0, _080A4BB8 @ =gOtherText_Walk
|
||||
b _080A4BE6
|
||||
.align 2, 0
|
||||
_080A4BB4: .4byte 0x00000103
|
||||
_080A4BB8: .4byte gOtherText_Walk
|
||||
_080A4BBC:
|
||||
adds r0, r4, 0
|
||||
bl ItemIsMail
|
||||
lsls r0, 24
|
||||
lsrs r0, 24
|
||||
cmp r0, 0x1
|
||||
beq _080A4BE4
|
||||
ldr r1, _080A4BDC @ =gUnknown_083C1640
|
||||
ldr r0, _080A4BE0 @ =gUnknown_03000704
|
||||
ldr r0, [r0]
|
||||
ldrb r0, [r0]
|
||||
lsls r0, 3
|
||||
adds r0, r1
|
||||
ldr r0, [r0]
|
||||
b _080A4BE6
|
||||
.align 2, 0
|
||||
_080A4BDC: .4byte gUnknown_083C1640
|
||||
_080A4BE0: .4byte gUnknown_03000704
|
||||
_080A4BE4:
|
||||
ldr r0, _080A4BEC @ =gOtherText_Check
|
||||
_080A4BE6:
|
||||
pop {r4}
|
||||
pop {r1}
|
||||
bx r1
|
||||
.align 2, 0
|
||||
_080A4BEC: .4byte gOtherText_Check
|
||||
thumb_func_end sub_80A4B90
|
||||
|
||||
thumb_func_start sub_80A4BF0
|
||||
sub_80A4BF0: @ 80A4BF0
|
||||
push {r4-r7,lr}
|
||||
sub sp, 0x8
|
||||
adds r5, r0, 0
|
||||
ldr r7, _080A4C38 @ =gUnknown_02038564
|
||||
ldrb r4, [r7]
|
||||
cmp r4, 0x4
|
||||
beq _080A4C00
|
||||
b _080A4CF8
|
||||
_080A4C00:
|
||||
movs r0, 0
|
||||
movs r1, 0x7
|
||||
movs r2, 0xD
|
||||
movs r3, 0xC
|
||||
bl MenuDrawTextWindow
|
||||
str r4, [sp]
|
||||
adds r0, r5, 0
|
||||
movs r1, 0x1
|
||||
movs r2, 0x8
|
||||
movs r3, 0xC
|
||||
bl sub_80A4008
|
||||
bl sub_80F9344
|
||||
lsls r0, 24
|
||||
lsrs r0, 24
|
||||
cmp r0, 0x1
|
||||
bne _080A4C40
|
||||
ldr r0, _080A4C3C @ =gUnknown_03000701
|
||||
ldrb r0, [r0]
|
||||
cmp r0, 0x5
|
||||
bne _080A4C40
|
||||
movs r0, 0x1
|
||||
movs r1, 0
|
||||
bl sub_80A7834
|
||||
b _080A4CA0
|
||||
.align 2, 0
|
||||
_080A4C38: .4byte gUnknown_02038564
|
||||
_080A4C3C: .4byte gUnknown_03000701
|
||||
_080A4C40:
|
||||
movs r6, 0
|
||||
ldr r0, _080A4C5C @ =gUnknown_02038564
|
||||
ldrb r0, [r0]
|
||||
cmp r6, r0
|
||||
bcs _080A4CA0
|
||||
ldr r4, _080A4C60 @ =gUnknown_083C1640
|
||||
_080A4C4C:
|
||||
cmp r6, 0
|
||||
bne _080A4C68
|
||||
ldr r0, _080A4C64 @ =gScriptItemId
|
||||
ldrh r0, [r0]
|
||||
bl sub_80A4B90
|
||||
adds r3, r0, 0
|
||||
b _080A4C76
|
||||
.align 2, 0
|
||||
_080A4C5C: .4byte gUnknown_02038564
|
||||
_080A4C60: .4byte gUnknown_083C1640
|
||||
_080A4C64: .4byte gScriptItemId
|
||||
_080A4C68:
|
||||
ldr r0, _080A4CC4 @ =gUnknown_03000704
|
||||
ldr r0, [r0]
|
||||
adds r0, r6
|
||||
ldrb r0, [r0]
|
||||
lsls r0, 3
|
||||
adds r0, r4
|
||||
ldr r3, [r0]
|
||||
_080A4C76:
|
||||
lsrs r0, r6, 1
|
||||
lsls r1, r0, 1
|
||||
adds r1, r0
|
||||
lsls r1, 1
|
||||
adds r1, 0x1
|
||||
lsls r1, 24
|
||||
lsrs r1, 24
|
||||
movs r2, 0x1
|
||||
ands r2, r6
|
||||
lsls r2, 1
|
||||
adds r2, 0x8
|
||||
adds r0, r3, 0
|
||||
bl MenuPrint
|
||||
adds r0, r6, 0x1
|
||||
lsls r0, 24
|
||||
lsrs r6, r0, 24
|
||||
ldr r0, _080A4CC8 @ =gUnknown_02038564
|
||||
ldrb r0, [r0]
|
||||
cmp r6, r0
|
||||
bcc _080A4C4C
|
||||
_080A4CA0:
|
||||
ldr r0, _080A4CCC @ =gUnknown_03000701
|
||||
ldrb r0, [r0]
|
||||
cmp r0, 0x5
|
||||
bne _080A4CD4
|
||||
ldr r0, _080A4CC8 @ =gUnknown_02038564
|
||||
ldrb r3, [r0]
|
||||
ldr r0, _080A4CD0 @ =gUnknown_03000700
|
||||
ldrb r0, [r0]
|
||||
str r0, [sp]
|
||||
movs r0, 0x1
|
||||
str r0, [sp, 0x4]
|
||||
movs r0, 0
|
||||
movs r1, 0x1
|
||||
movs r2, 0x8
|
||||
bl InitMenu
|
||||
b _080A4CEA
|
||||
.align 2, 0
|
||||
_080A4CC4: .4byte gUnknown_03000704
|
||||
_080A4CC8: .4byte gUnknown_02038564
|
||||
_080A4CCC: .4byte gUnknown_03000701
|
||||
_080A4CD0: .4byte gUnknown_03000700
|
||||
_080A4CD4:
|
||||
ldr r0, _080A4CF4 @ =gUnknown_02038564
|
||||
ldrb r3, [r0]
|
||||
movs r0, 0
|
||||
str r0, [sp]
|
||||
movs r0, 0x1
|
||||
str r0, [sp, 0x4]
|
||||
movs r0, 0
|
||||
movs r1, 0x1
|
||||
movs r2, 0x8
|
||||
bl InitMenu
|
||||
_080A4CEA:
|
||||
movs r0, 0x2F
|
||||
bl sub_8072DCC
|
||||
b _080A4D8A
|
||||
.align 2, 0
|
||||
_080A4CF4: .4byte gUnknown_02038564
|
||||
_080A4CF8:
|
||||
movs r0, 0
|
||||
movs r1, 0x5
|
||||
movs r2, 0xD
|
||||
movs r3, 0xC
|
||||
bl MenuDrawTextWindow
|
||||
movs r0, 0x6
|
||||
str r0, [sp]
|
||||
adds r0, r5, 0
|
||||
movs r1, 0x1
|
||||
movs r2, 0x6
|
||||
movs r3, 0xC
|
||||
bl sub_80A4008
|
||||
movs r6, 0
|
||||
ldrb r7, [r7]
|
||||
cmp r6, r7
|
||||
bcs _080A4D6E
|
||||
ldr r7, _080A4D98 @ =gUnknown_083C1640
|
||||
_080A4D1E:
|
||||
ldr r0, _080A4D9C @ =gUnknown_03000704
|
||||
ldr r0, [r0]
|
||||
adds r0, r6
|
||||
ldrb r0, [r0]
|
||||
lsls r0, 3
|
||||
adds r0, r7
|
||||
ldr r5, [r0]
|
||||
adds r0, r6, 0
|
||||
movs r1, 0x3
|
||||
bl __udivsi3
|
||||
lsls r0, 24
|
||||
lsrs r0, 24
|
||||
lsls r4, r0, 1
|
||||
adds r4, r0
|
||||
lsls r4, 1
|
||||
adds r4, 0x1
|
||||
lsls r4, 24
|
||||
lsrs r4, 24
|
||||
adds r0, r6, 0
|
||||
movs r1, 0x3
|
||||
bl __umodsi3
|
||||
adds r2, r0, 0
|
||||
lsls r2, 25
|
||||
movs r0, 0xC0
|
||||
lsls r0, 19
|
||||
adds r2, r0
|
||||
lsrs r2, 24
|
||||
adds r0, r5, 0
|
||||
adds r1, r4, 0
|
||||
bl MenuPrint
|
||||
adds r0, r6, 0x1
|
||||
lsls r0, 24
|
||||
lsrs r6, r0, 24
|
||||
ldr r0, _080A4DA0 @ =gUnknown_02038564
|
||||
ldrb r0, [r0]
|
||||
cmp r6, r0
|
||||
bcc _080A4D1E
|
||||
_080A4D6E:
|
||||
ldr r0, _080A4DA0 @ =gUnknown_02038564
|
||||
ldrb r3, [r0]
|
||||
movs r0, 0
|
||||
str r0, [sp]
|
||||
movs r0, 0x1
|
||||
str r0, [sp, 0x4]
|
||||
movs r0, 0
|
||||
movs r1, 0x1
|
||||
movs r2, 0x6
|
||||
bl InitMenu
|
||||
movs r0, 0x2F
|
||||
bl sub_8072DCC
|
||||
_080A4D8A:
|
||||
movs r0, 0x2
|
||||
bl sub_80A7528
|
||||
add sp, 0x8
|
||||
pop {r4-r7}
|
||||
pop {r0}
|
||||
bx r0
|
||||
.align 2, 0
|
||||
_080A4D98: .4byte gUnknown_083C1640
|
||||
_080A4D9C: .4byte gUnknown_03000704
|
||||
_080A4DA0: .4byte gUnknown_02038564
|
||||
thumb_func_end sub_80A4BF0
|
||||
|
||||
thumb_func_start sub_80A4DA4
|
||||
sub_80A4DA4: @ 80A4DA4
|
||||
push {r4,lr}
|
||||
sub sp, 0x4
|
||||
adds r4, r0, 0
|
||||
bl sub_80A73FC
|
||||
movs r0, 0x6
|
||||
str r0, [sp]
|
||||
adds r0, r4, 0
|
||||
movs r1, 0
|
||||
movs r2, 0x6
|
||||
movs r3, 0xD
|
||||
bl sub_80A36B8
|
||||
movs r0, 0
|
||||
movs r1, 0x5
|
||||
movs r2, 0xD
|
||||
movs r3, 0xC
|
||||
bl MenuZeroFillWindowRect
|
||||
bl sub_80A7590
|
||||
add sp, 0x4
|
||||
pop {r4}
|
||||
pop {r0}
|
||||
bx r0
|
||||
thumb_func_end sub_80A4DA4
|
||||
|
||||
thumb_func_start sub_80A4DD8
|
||||
sub_80A4DD8: @ 80A4DD8
|
||||
push {r4-r6,lr}
|
||||
mov r6, r10
|
||||
mov r5, r9
|
||||
mov r4, r8
|
||||
push {r4-r6}
|
||||
sub sp, 0x4
|
||||
adds r4, r1, 0
|
||||
adds r1, r2, 0
|
||||
adds r6, r3, 0
|
||||
ldr r5, [sp, 0x20]
|
||||
ldr r2, [sp, 0x24]
|
||||
lsls r0, 24
|
||||
lsrs r0, 24
|
||||
lsls r4, 24
|
||||
lsrs r4, 24
|
||||
lsls r1, 24
|
||||
lsrs r1, 24
|
||||
lsls r6, 24
|
||||
lsrs r6, 24
|
||||
lsls r5, 24
|
||||
lsrs r5, 24
|
||||
lsls r2, 24
|
||||
lsrs r2, 24
|
||||
mov r10, r2
|
||||
ldr r3, _080A4E84 @ =gTasks
|
||||
lsls r2, r0, 2
|
||||
adds r2, r0
|
||||
lsls r2, 3
|
||||
adds r2, r3
|
||||
movs r0, 0x1
|
||||
strh r0, [r2, 0xA]
|
||||
adds r0, r4, 0x2
|
||||
mov r9, r0
|
||||
strh r0, [r2, 0xC]
|
||||
adds r0, r1, 0x1
|
||||
mov r8, r0
|
||||
strh r0, [r2, 0xE]
|
||||
adds r2, r4, r6
|
||||
lsls r2, 24
|
||||
lsrs r2, 24
|
||||
adds r3, r1, r5
|
||||
lsls r3, 24
|
||||
lsrs r3, 24
|
||||
adds r0, r4, 0
|
||||
bl MenuDrawTextWindow
|
||||
ldr r0, _080A4E88 @ =gBGTilemapBuffers + 0x800
|
||||
adds r4, 0x1
|
||||
lsls r4, 24
|
||||
lsrs r4, 24
|
||||
mov r1, r8
|
||||
lsls r1, 24
|
||||
lsrs r1, 24
|
||||
mov r8, r1
|
||||
subs r6, 0x1
|
||||
lsls r6, 24
|
||||
lsrs r6, 24
|
||||
subs r5, 0x1
|
||||
lsls r5, 24
|
||||
lsrs r5, 24
|
||||
str r5, [sp]
|
||||
adds r1, r4, 0
|
||||
mov r2, r8
|
||||
adds r3, r6, 0
|
||||
bl sub_80A4008
|
||||
mov r2, r9
|
||||
lsls r2, 24
|
||||
lsrs r2, 24
|
||||
mov r9, r2
|
||||
mov r0, r10
|
||||
str r0, [sp]
|
||||
movs r0, 0x1
|
||||
movs r1, 0x1
|
||||
mov r3, r8
|
||||
bl sub_80A418C
|
||||
add sp, 0x4
|
||||
pop {r3-r5}
|
||||
mov r8, r3
|
||||
mov r9, r4
|
||||
mov r10, r5
|
||||
pop {r4-r6}
|
||||
pop {r0}
|
||||
bx r0
|
||||
.align 2, 0
|
||||
_080A4E84: .4byte gTasks
|
||||
_080A4E88: .4byte gBGTilemapBuffers + 0x800
|
||||
thumb_func_end sub_80A4DD8
|
||||
|
||||
thumb_func_start sub_80A4E8C
|
||||
sub_80A4E8C: @ 80A4E8C
|
||||
push {r4-r6,lr}
|
||||
adds r4, r0, 0
|
||||
adds r6, r1, 0
|
||||
lsls r4, 24
|
||||
lsrs r4, 24
|
||||
lsls r6, 24
|
||||
lsrs r6, 24
|
||||
movs r0, 0x5
|
||||
bl PlaySE
|
||||
movs r0, 0
|
||||
movs r1, 0x1
|
||||
bl sub_80F979C
|
||||
movs r0, 0x1
|
||||
movs r1, 0x1
|
||||
bl sub_80F979C
|
||||
movs r0, 0x2
|
||||
movs r1, 0x1
|
||||
bl sub_80F979C
|
||||
movs r0, 0x3
|
||||
movs r1, 0x1
|
||||
bl sub_80F979C
|
||||
movs r0, 0
|
||||
bl PauseVerticalScrollIndicator
|
||||
movs r0, 0x1
|
||||
bl PauseVerticalScrollIndicator
|
||||
movs r0, 0x2
|
||||
bl PauseVerticalScrollIndicator
|
||||
movs r0, 0x3
|
||||
bl PauseVerticalScrollIndicator
|
||||
ldr r5, _080A4F04 @ =gBGTilemapBuffers + 0x1000
|
||||
lsls r4, 24
|
||||
asrs r4, 24
|
||||
adds r0, r5, 0
|
||||
adds r1, r4, 0
|
||||
bl sub_80A3B04
|
||||
ldr r0, _080A4F08 @ =gUnknown_02038559
|
||||
ldrb r1, [r0]
|
||||
adds r0, r5, 0
|
||||
bl sub_80A3AC0
|
||||
bl sub_80A3770
|
||||
bl sub_80A7C64
|
||||
adds r0, r6, 0
|
||||
bl CreateBagPokeballSprite
|
||||
pop {r4-r6}
|
||||
pop {r0}
|
||||
bx r0
|
||||
.align 2, 0
|
||||
_080A4F04: .4byte gBGTilemapBuffers + 0x1000
|
||||
_080A4F08: .4byte gUnknown_02038559
|
||||
thumb_func_end sub_80A4E8C
|
||||
|
||||
thumb_func_start sub_80A4F0C
|
||||
sub_80A4F0C: @ 80A4F0C
|
||||
push {r4,lr}
|
||||
ldr r0, _080A4F38 @ =gUnknown_03000701
|
||||
ldrb r0, [r0]
|
||||
subs r0, 0x4
|
||||
lsls r0, 24
|
||||
lsrs r0, 24
|
||||
cmp r0, 0x1
|
||||
bls _080A4F60
|
||||
ldr r4, _080A4F3C @ =gMain
|
||||
ldrh r0, [r4, 0x2E]
|
||||
cmp r0, 0x10
|
||||
beq _080A4F30
|
||||
bl sub_80F9284
|
||||
lsls r0, 24
|
||||
lsrs r0, 24
|
||||
cmp r0, 0x2
|
||||
bne _080A4F40
|
||||
_080A4F30:
|
||||
movs r0, 0x1
|
||||
movs r1, 0x2
|
||||
b _080A4F58
|
||||
.align 2, 0
|
||||
_080A4F38: .4byte gUnknown_03000701
|
||||
_080A4F3C: .4byte gMain
|
||||
_080A4F40:
|
||||
ldrh r0, [r4, 0x2E]
|
||||
cmp r0, 0x20
|
||||
beq _080A4F52
|
||||
bl sub_80F9284
|
||||
lsls r0, 24
|
||||
lsrs r0, 24
|
||||
cmp r0, 0x1
|
||||
bne _080A4F60
|
||||
_080A4F52:
|
||||
movs r0, 0x1
|
||||
negs r0, r0
|
||||
movs r1, 0x1
|
||||
_080A4F58:
|
||||
bl sub_80A4E8C
|
||||
movs r0, 0x1
|
||||
b _080A4F62
|
||||
_080A4F60:
|
||||
movs r0, 0
|
||||
_080A4F62:
|
||||
pop {r4}
|
||||
pop {r1}
|
||||
bx r1
|
||||
thumb_func_end sub_80A4F0C
|
||||
|
||||
thumb_func_start sub_80A4F68
|
||||
sub_80A4F68: @ 80A4F68
|
||||
push {lr}
|
||||
bl sub_80A4F0C
|
||||
pop {r0}
|
||||
bx r0
|
||||
thumb_func_end sub_80A4F68
|
||||
|
||||
thumb_func_start sub_80A4F74
|
||||
sub_80A4F74: @ 80A4F74
|
||||
push {r4,r5,lr}
|
||||
lsls r0, 24
|
||||
lsrs r4, r0, 24
|
||||
adds r2, r4, 0
|
||||
movs r5, 0
|
||||
ldr r0, _080A4FAC @ =gMain
|
||||
ldrh r0, [r0, 0x30]
|
||||
movs r1, 0xF0
|
||||
ands r1, r0
|
||||
cmp r1, 0x40
|
||||
bne _080A4FE8
|
||||
ldr r1, _080A4FB0 @ =gUnknown_03005D10
|
||||
ldr r0, _080A4FB4 @ =gUnknown_02038559
|
||||
ldrb r0, [r0]
|
||||
lsls r0, 24
|
||||
asrs r0, 24
|
||||
lsls r0, 2
|
||||
adds r1, r0, r1
|
||||
ldrb r0, [r1]
|
||||
cmp r0, 0
|
||||
beq _080A4FB8
|
||||
movs r0, 0x1
|
||||
negs r0, r0
|
||||
adds r1, r4, 0
|
||||
bl sub_80A4B58
|
||||
b _080A4FC8
|
||||
.align 2, 0
|
||||
_080A4FAC: .4byte gMain
|
||||
_080A4FB0: .4byte gUnknown_03005D10
|
||||
_080A4FB4: .4byte gUnknown_02038559
|
||||
_080A4FB8:
|
||||
ldrb r0, [r1, 0x1]
|
||||
cmp r0, 0
|
||||
beq _080A4FC8
|
||||
movs r0, 0x1
|
||||
negs r0, r0
|
||||
adds r1, r4, 0
|
||||
bl sub_80A4B14
|
||||
_080A4FC8:
|
||||
ldr r0, _080A4FE0 @ =gLinkOpen
|
||||
ldrb r0, [r0]
|
||||
cmp r0, 0x1
|
||||
bne _080A50AE
|
||||
ldr r1, _080A4FE4 @ =gMain
|
||||
ldrh r0, [r1, 0x32]
|
||||
cmp r0, 0x5
|
||||
bne _080A50AE
|
||||
movs r0, 0xB
|
||||
strh r0, [r1, 0x32]
|
||||
b _080A50AE
|
||||
.align 2, 0
|
||||
_080A4FE0: .4byte gLinkOpen
|
||||
_080A4FE4: .4byte gMain
|
||||
_080A4FE8:
|
||||
cmp r1, 0x80
|
||||
bne _080A5088
|
||||
ldr r0, _080A5020 @ =gUnknown_03000701
|
||||
ldrb r0, [r0]
|
||||
cmp r0, 0x5
|
||||
beq _080A502C
|
||||
ldr r1, _080A5024 @ =gUnknown_03005D10
|
||||
ldr r0, _080A5028 @ =gUnknown_02038559
|
||||
ldrb r0, [r0]
|
||||
lsls r0, 24
|
||||
asrs r0, 24
|
||||
lsls r0, 2
|
||||
adds r2, r0, r1
|
||||
ldrb r0, [r2]
|
||||
ldrb r1, [r2, 0x3]
|
||||
cmp r0, r1
|
||||
bne _080A504E
|
||||
ldrb r0, [r2, 0x1]
|
||||
ldrb r1, [r2]
|
||||
adds r0, r1
|
||||
ldrb r2, [r2, 0x2]
|
||||
cmp r0, r2
|
||||
beq _080A5068
|
||||
movs r0, 0x1
|
||||
adds r1, r4, 0
|
||||
bl sub_80A4B14
|
||||
b _080A5068
|
||||
.align 2, 0
|
||||
_080A5020: .4byte gUnknown_03000701
|
||||
_080A5024: .4byte gUnknown_03005D10
|
||||
_080A5028: .4byte gUnknown_02038559
|
||||
_080A502C:
|
||||
ldr r1, _080A5058 @ =gUnknown_03005D10
|
||||
ldr r0, _080A505C @ =gUnknown_02038559
|
||||
ldrb r0, [r0]
|
||||
lsls r0, 24
|
||||
asrs r0, 24
|
||||
lsls r0, 2
|
||||
adds r2, r0, r1
|
||||
ldrb r1, [r2, 0x1]
|
||||
ldrb r3, [r2]
|
||||
adds r1, r3
|
||||
ldrb r0, [r2, 0x2]
|
||||
subs r0, 0x1
|
||||
cmp r1, r0
|
||||
beq _080A5068
|
||||
ldrb r2, [r2, 0x3]
|
||||
cmp r3, r2
|
||||
beq _080A5060
|
||||
_080A504E:
|
||||
movs r0, 0x1
|
||||
adds r1, r4, 0
|
||||
bl sub_80A4B58
|
||||
b _080A5068
|
||||
.align 2, 0
|
||||
_080A5058: .4byte gUnknown_03005D10
|
||||
_080A505C: .4byte gUnknown_02038559
|
||||
_080A5060:
|
||||
movs r0, 0x1
|
||||
adds r1, r4, 0
|
||||
bl sub_80A4B14
|
||||
_080A5068:
|
||||
movs r5, 0x1
|
||||
ldr r0, _080A5080 @ =gLinkOpen
|
||||
ldrb r0, [r0]
|
||||
cmp r0, 0x1
|
||||
bne _080A50C0
|
||||
ldr r1, _080A5084 @ =gMain
|
||||
ldrh r0, [r1, 0x32]
|
||||
cmp r0, 0x5
|
||||
bne _080A50C0
|
||||
movs r0, 0xB
|
||||
strh r0, [r1, 0x32]
|
||||
b _080A50C0
|
||||
.align 2, 0
|
||||
_080A5080: .4byte gLinkOpen
|
||||
_080A5084: .4byte gMain
|
||||
_080A5088:
|
||||
ldr r0, _080A50B4 @ =gTasks
|
||||
lsls r1, r2, 2
|
||||
adds r1, r2
|
||||
lsls r1, 3
|
||||
adds r4, r1, r0
|
||||
movs r1, 0x1C
|
||||
ldrsh r0, [r4, r1]
|
||||
cmp r0, 0
|
||||
bne _080A50BC
|
||||
bl sub_80A4F0C
|
||||
lsls r0, 24
|
||||
lsrs r0, 24
|
||||
cmp r0, 0x1
|
||||
bne _080A50BC
|
||||
bl sub_80A73F0
|
||||
ldr r0, _080A50B8 @ =sub_80A4F68
|
||||
str r0, [r4]
|
||||
_080A50AE:
|
||||
movs r5, 0x1
|
||||
b _080A50C0
|
||||
.align 2, 0
|
||||
_080A50B4: .4byte gTasks
|
||||
_080A50B8: .4byte sub_80A4F68
|
||||
_080A50BC:
|
||||
bl sub_80A73C0
|
||||
_080A50C0:
|
||||
adds r0, r5, 0
|
||||
pop {r4,r5}
|
||||
pop {r1}
|
||||
bx r1
|
||||
thumb_func_end sub_80A4F74
|
||||
|
||||
thumb_func_start sub_80A50C8
|
||||
sub_80A50C8: @ 80A50C8
|
||||
push {r4-r7,lr}
|
||||
|
||||
@@ -51,7 +51,7 @@ u16 ItemId_GetPrice(u16 itemId);
|
||||
u8 ItemId_GetHoldEffect(u16 itemId);
|
||||
u8 ItemId_GetHoldEffectParam(u16 itemId);
|
||||
u8 *ItemId_GetDescription(u16 itemId);
|
||||
bool8 ItemId_CopyDescription(u8 *a, u32 itemId, u32 c);
|
||||
bool32 ItemId_CopyDescription(u8 *a, u32 itemId, u32 c);
|
||||
u8 ItemId_GetImportance(u16 itemId);
|
||||
u8 ItemId_GetUnknownValue(u16 itemId);
|
||||
u8 ItemId_GetPocket(u16 itemId);
|
||||
|
||||
@@ -587,7 +587,7 @@ u8 *ItemId_GetDescription(u16 itemId)
|
||||
return gItems[SanitizeItemId(itemId)].description;
|
||||
}
|
||||
|
||||
bool8 ItemId_CopyDescription(u8 *a, u32 itemId, u32 c)
|
||||
bool32 ItemId_CopyDescription(u8 *a, u32 itemId, u32 c)
|
||||
{
|
||||
u32 r5 = c + 1;
|
||||
u8 *description = gItems[SanitizeItemId(itemId)].description;
|
||||
|
||||
274
src/item_menu.c
274
src/item_menu.c
@@ -1,8 +1,12 @@
|
||||
#include "global.h"
|
||||
#include "data2.h"
|
||||
#include "decompress.h"
|
||||
#include "field_player_avatar.h"
|
||||
#include "graphics.h"
|
||||
#include "item.h"
|
||||
#include "items.h"
|
||||
#include "item_use.h"
|
||||
#include "mail_data.h"
|
||||
#include "main.h"
|
||||
#include "menu.h"
|
||||
#include "menu_helpers.h"
|
||||
@@ -48,6 +52,8 @@ extern void gpu_pal_allocator_reset__manage_upper_four(void);
|
||||
extern void sub_80F9020(void);
|
||||
extern void sub_80F9988();
|
||||
extern void sub_809D104(u16 *, u16, u16, const u8 *, u16, u16, u16, u16);
|
||||
extern void PauseVerticalScrollIndicator();
|
||||
extern u8 sub_80F9284(void);
|
||||
|
||||
extern const struct CompressedSpriteSheet gUnknown_083C1CC8;
|
||||
extern const struct CompressedSpriteSheet gUnknown_083C1CD0;
|
||||
@@ -114,10 +120,13 @@ void sub_80A3D40(void);
|
||||
void sub_80A40D0(void);
|
||||
void sub_80A48E8(u16, int, int);
|
||||
void ItemListMenu_InitDescription(s16);
|
||||
void ItemListMenu_ChangeDescription();
|
||||
void ItemListMenu_ChangeDescription(s16, int);
|
||||
void sub_80A4F68(u8);
|
||||
void sub_80A50C8(u8);
|
||||
void ItemListMenu_InitMenu(void);
|
||||
void sub_80A73C0(void);
|
||||
void sub_80A73F0(void);
|
||||
void sub_80A73FC(void);
|
||||
void sub_80A740C(void);
|
||||
void sub_80A751C(void);
|
||||
void sub_80A7528();
|
||||
@@ -127,9 +136,11 @@ void sub_80A763C(void);
|
||||
void sub_80A76A0(void);
|
||||
void sub_80A770C(void);
|
||||
void sub_80A7828(void);
|
||||
void sub_80A7834();
|
||||
void sub_80A78B8(void);
|
||||
void CreateBagSprite(void);
|
||||
void CreateBagPokeballSprite();
|
||||
void sub_80A7C64(void);
|
||||
|
||||
void sub_80A3118(void)
|
||||
{
|
||||
@@ -460,7 +471,7 @@ void sub_80A37F8(u8 taskId)
|
||||
{
|
||||
u32 val = gUnknown_03005D10[gUnknown_02038559].unk1 + gUnknown_03005D10[gUnknown_02038559].unk0;
|
||||
|
||||
ItemListMenu_ChangeDescription((s16)gUnknown_03005D24[val].itemId, gUnknown_02038562);
|
||||
ItemListMenu_ChangeDescription(gUnknown_03005D24[val].itemId, gUnknown_02038562);
|
||||
gUnknown_02038562++;
|
||||
}
|
||||
else
|
||||
@@ -469,7 +480,7 @@ void sub_80A37F8(u8 taskId)
|
||||
{
|
||||
u32 val = gUnknown_03005D10[gUnknown_02038559].unk1 + gUnknown_03005D10[gUnknown_02038559].unk0;
|
||||
|
||||
ItemListMenu_ChangeDescription((s16)gUnknown_03005D24[val].itemId, gUnknown_02038562);
|
||||
ItemListMenu_ChangeDescription(gUnknown_03005D24[val].itemId, gUnknown_02038562);
|
||||
gUnknown_02038562++;
|
||||
}
|
||||
}
|
||||
@@ -1315,3 +1326,260 @@ void ItemListMenu_InitDescription(s16 itemId)
|
||||
if (r5 < 3)
|
||||
MenuZeroFillWindowRect(0, 13 + r5 * 2, 13, 20);
|
||||
}
|
||||
|
||||
void ItemListMenu_ChangeDescription(s16 itemId, int b)
|
||||
{
|
||||
u8 description[100];
|
||||
|
||||
if (gUnknown_03005D10[gUnknown_02038559].unk1 + gUnknown_03005D10[gUnknown_02038559].unk0 == gUnknown_03005D10[gUnknown_02038559].unk2)
|
||||
{
|
||||
if (b == 0)
|
||||
{
|
||||
MenuZeroFillWindowRect(0, 13, 13, 20);
|
||||
MenuPrint_PixelCoords(gOtherText_ReturnTo, 4, 0x68, 0);
|
||||
}
|
||||
else if (b == 1)
|
||||
{
|
||||
MenuPrint_PixelCoords(gUnknown_0840E740[gUnknown_03000701], 4, 0x78, 0);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
if (b == 0)
|
||||
MenuZeroFillWindowRect(0, 13, 13, 20);
|
||||
if (ItemId_CopyDescription(description, itemId, b))
|
||||
MenuPrint_PixelCoords(description, 4, 104 + b * 16, 0);
|
||||
}
|
||||
}
|
||||
|
||||
bool32 sub_80A4A54(u8 *a, const u8 *b, u32 c)
|
||||
{
|
||||
u32 r4 = c + 1;
|
||||
const u8 *src = b;
|
||||
u8 *dst = a;
|
||||
|
||||
while (1)
|
||||
{
|
||||
if (*src == CHAR_NEWLINE || *src == EOS)
|
||||
{
|
||||
if (--r4 == 0)
|
||||
{
|
||||
*dst = EOS;
|
||||
return TRUE;
|
||||
}
|
||||
if (*src == EOS)
|
||||
return FALSE;
|
||||
dst = a;
|
||||
src++;
|
||||
}
|
||||
else
|
||||
{
|
||||
*dst++ = *src++;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void sub_80A4A98(u8 *a, u32 b)
|
||||
{
|
||||
u8 text[100];
|
||||
|
||||
if (b == 0)
|
||||
MenuZeroFillWindowRect(0, 13, 13, 20);
|
||||
if (sub_80A4A54(text, a, b))
|
||||
MenuPrint_PixelCoords(text, 4, 104 + b * 16, 0);
|
||||
}
|
||||
|
||||
void sub_80A4ADC(u8 taskId)
|
||||
{
|
||||
if (gTasks[taskId].data[10] == 0)
|
||||
sub_80A7528(0);
|
||||
PlaySE(SE_SELECT);
|
||||
gUnknown_0203855C = 1;
|
||||
}
|
||||
|
||||
void sub_80A4B14(s8 a, u8 b)
|
||||
{
|
||||
gUnknown_03005D10[gUnknown_02038559].unk1 += a;
|
||||
MoveMenuCursor(0);
|
||||
sub_80A73C0();
|
||||
sub_80A763C();
|
||||
sub_80A4ADC(b);
|
||||
}
|
||||
|
||||
void sub_80A4B58(s8 a, u8 b)
|
||||
{
|
||||
gUnknown_03005D10[gUnknown_02038559].unk0 = MoveMenuCursor(a);
|
||||
sub_80A73C0();
|
||||
sub_80A4ADC(b);
|
||||
}
|
||||
|
||||
const u8 *sub_80A4B90(u16 itemId)
|
||||
{
|
||||
if (TestPlayerAvatarFlags(6))
|
||||
{
|
||||
if (itemId == ITEM_MACH_BIKE || itemId == ITEM_ACRO_BIKE)
|
||||
return gOtherText_Walk;
|
||||
}
|
||||
if (ItemIsMail(itemId) == TRUE)
|
||||
return gOtherText_Check;
|
||||
return gUnknown_083C1640[gUnknown_03000704[0]].text;
|
||||
}
|
||||
|
||||
void sub_80A4BF0(u16 *a)
|
||||
{
|
||||
u8 i;
|
||||
|
||||
if (gUnknown_02038564 == 4)
|
||||
{
|
||||
MenuDrawTextWindow(0, 7, 13, 12);
|
||||
sub_80A4008(a, 1, 8, 12, 4);
|
||||
if (sub_80F9344() == 1 && gUnknown_03000701 == 5)
|
||||
{
|
||||
sub_80A7834(1, 0);
|
||||
}
|
||||
else
|
||||
{
|
||||
for (i = 0; i < gUnknown_02038564; i++)
|
||||
{
|
||||
const u8 *text;
|
||||
|
||||
if (i == 0)
|
||||
text = sub_80A4B90(gScriptItemId);
|
||||
else
|
||||
text = gUnknown_083C1640[gUnknown_03000704[i]].text;
|
||||
MenuPrint(text, 1 + (i / 2) * 6, 8 + (i % 2) * 2);
|
||||
}
|
||||
}
|
||||
if (gUnknown_03000701 == 5)
|
||||
InitMenu(0, 1, 8, gUnknown_02038564, gUnknown_03000700, 1);
|
||||
else
|
||||
InitMenu(0, 1, 8, gUnknown_02038564, 0, 1);
|
||||
sub_8072DCC(0x2F);
|
||||
}
|
||||
else
|
||||
{
|
||||
MenuDrawTextWindow(0, 5, 13, 12);
|
||||
sub_80A4008(a, 1, 6, 12, 6);
|
||||
for (i = 0; i < gUnknown_02038564; i++)
|
||||
MenuPrint(gUnknown_083C1640[gUnknown_03000704[i]].text, 1 + (i / 3) * 6, 6 + (i % 3) * 2);
|
||||
InitMenu(0, 1, 6, gUnknown_02038564, 0, 1);
|
||||
sub_8072DCC(0x2F);
|
||||
}
|
||||
sub_80A7528(2);
|
||||
}
|
||||
|
||||
void sub_80A4DA4(u16 *a)
|
||||
{
|
||||
sub_80A73FC();
|
||||
sub_80A36B8(a, 0, 6, 13, 6);
|
||||
MenuZeroFillWindowRect(0, 5, 13, 12);
|
||||
sub_80A7590();
|
||||
}
|
||||
|
||||
void sub_80A4DD8(u8 taskId, u8 b, u8 c, u8 d, u8 e, u8 f)
|
||||
{
|
||||
gTasks[taskId].data[1] = 1;
|
||||
gTasks[taskId].data[2] = b + 2;
|
||||
gTasks[taskId].data[3] = c + 1;
|
||||
MenuDrawTextWindow(b, c, b + d, c + e);
|
||||
sub_80A4008(gBGTilemapBuffers[1], b + 1, c + 1, d - 1, e - 1);
|
||||
sub_80A418C(1, 1, b + 2, c + 1, f);
|
||||
}
|
||||
|
||||
void sub_80A4E8C(s8 a, u8 b)
|
||||
{
|
||||
PlaySE(SE_SELECT);
|
||||
sub_80F979C(0, 1);
|
||||
sub_80F979C(1, 1);
|
||||
sub_80F979C(2, 1);
|
||||
sub_80F979C(3, 1);
|
||||
PauseVerticalScrollIndicator(0);
|
||||
PauseVerticalScrollIndicator(1);
|
||||
PauseVerticalScrollIndicator(2);
|
||||
PauseVerticalScrollIndicator(3);
|
||||
sub_80A3B04(gBGTilemapBuffers[2], a);
|
||||
sub_80A3AC0(gBGTilemapBuffers[2], gUnknown_02038559);
|
||||
sub_80A3770();
|
||||
sub_80A7C64();
|
||||
CreateBagPokeballSprite(b);
|
||||
}
|
||||
|
||||
static bool8 sub_80A4F0C(void)
|
||||
{
|
||||
if (gUnknown_03000701 == 5 || gUnknown_03000701 == 4)
|
||||
return FALSE;
|
||||
if (gMain.newKeys == DPAD_RIGHT || sub_80F9284() == 2)
|
||||
{
|
||||
sub_80A4E8C(1, 2);
|
||||
return TRUE;
|
||||
}
|
||||
if (gMain.newKeys == DPAD_LEFT || sub_80F9284() == 1)
|
||||
{
|
||||
sub_80A4E8C(-1, 1);
|
||||
return TRUE;
|
||||
}
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
void sub_80A4F68(u8 taskId)
|
||||
{
|
||||
sub_80A4F0C();
|
||||
}
|
||||
|
||||
bool8 sub_80A4F74(u8 a)
|
||||
{
|
||||
bool8 retVal = FALSE;
|
||||
|
||||
if ((gMain.newAndRepeatedKeys & DPAD_ANY) == DPAD_UP)
|
||||
{
|
||||
if (gUnknown_03005D10[gUnknown_02038559].unk0 != 0)
|
||||
sub_80A4B58(-1, a);
|
||||
else if (gUnknown_03005D10[gUnknown_02038559].unk1 != 0)
|
||||
sub_80A4B14(-1, a);
|
||||
if (gLinkOpen == TRUE && gMain.keyRepeatCounter == 5)
|
||||
gMain.keyRepeatCounter = 11;
|
||||
retVal = TRUE;
|
||||
}
|
||||
else if ((gMain.newAndRepeatedKeys & DPAD_ANY) == DPAD_DOWN)
|
||||
{
|
||||
if (gUnknown_03000701 != 5)
|
||||
{
|
||||
if (gUnknown_03005D10[gUnknown_02038559].unk0 == gUnknown_03005D10[gUnknown_02038559].unk3)
|
||||
{
|
||||
if (gUnknown_03005D10[gUnknown_02038559].unk1 + gUnknown_03005D10[gUnknown_02038559].unk0 != gUnknown_03005D10[gUnknown_02038559].unk2)
|
||||
sub_80A4B14(1, a);
|
||||
}
|
||||
else
|
||||
{
|
||||
sub_80A4B58(1, a);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
if (gUnknown_03005D10[gUnknown_02038559].unk1 + gUnknown_03005D10[gUnknown_02038559].unk0 != gUnknown_03005D10[gUnknown_02038559].unk2 - 1)
|
||||
{
|
||||
if (gUnknown_03005D10[gUnknown_02038559].unk0 != gUnknown_03005D10[gUnknown_02038559].unk3)
|
||||
sub_80A4B58(1, a);
|
||||
else
|
||||
sub_80A4B14(1, a);
|
||||
}
|
||||
}
|
||||
retVal = TRUE;
|
||||
if (gLinkOpen == TRUE && gMain.keyRepeatCounter == 5)
|
||||
gMain.keyRepeatCounter = 11;
|
||||
}
|
||||
else
|
||||
{
|
||||
if (gTasks[a].data[10] == 0 && sub_80A4F0C() == TRUE)
|
||||
{
|
||||
sub_80A73F0();
|
||||
gTasks[a].func = sub_80A4F68;
|
||||
retVal = TRUE;
|
||||
}
|
||||
else
|
||||
{
|
||||
sub_80A73C0();
|
||||
}
|
||||
}
|
||||
return retVal;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user