summaryrefslogtreecommitdiff
path: root/asm
diff options
context:
space:
mode:
authorPikalaxALT <pikalaxalt@gmail.com>2019-10-29 11:02:57 -0400
committerPikalaxALT <pikalaxalt@gmail.com>2019-10-29 11:02:57 -0400
commit4c5e645e90fbbcc902346404fefef38d1c1ddbf3 (patch)
tree12ee95f8c787c874e16aae4e2d3a5bf9dee3c438 /asm
parentb07899b2d25fea57d1f4f167ace97cedb865a43f (diff)
trade port through sub_804FA14
Diffstat (limited to 'asm')
-rw-r--r--asm/trade.s1499
1 files changed, 0 insertions, 1499 deletions
diff --git a/asm/trade.s b/asm/trade.s
index b77be0074..80d527445 100644
--- a/asm/trade.s
+++ b/asm/trade.s
@@ -5,1505 +5,6 @@
.text
- thumb_func_start sub_804EFB4
-sub_804EFB4: @ 804EFB4
- push {r4-r6,lr}
- sub sp, 0xC
- adds r4, r1, 0
- adds r6, r2, 0
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 1
- adds r1, r0
- lsls r1, 1
- adds r1, 0x2
- lsls r4, 24
- asrs r4, 24
- adds r4, r1
- lsls r4, 24
- lsrs r4, 24
- movs r5, 0
- movs r0, 0
- movs r1, 0x2
- bl GetFontAttribute
- adds r2, r0, 0
- lsls r2, 24
- lsrs r2, 24
- movs r0, 0
- adds r1, r6, 0
- bl GetStringWidth
- movs r2, 0x40
- subs r2, r0
- lsrs r2, 1
- lsls r2, 24
- lsrs r2, 24
- ldr r0, _0804F01C @ =gUnknown_8261F18
- str r0, [sp]
- str r5, [sp, 0x4]
- str r6, [sp, 0x8]
- adds r0, r4, 0
- movs r1, 0
- movs r3, 0x4
- bl AddTextPrinterParameterized3
- adds r0, r4, 0
- bl PutWindowTilemap
- adds r0, r4, 0
- movs r1, 0x3
- bl CopyWindowToVram
- add sp, 0xC
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_0804F01C: .4byte gUnknown_8261F18
- thumb_func_end sub_804EFB4
-
- thumb_func_start sub_804F020
-sub_804F020: @ 804F020
- push {r4-r7,lr}
- sub sp, 0x34
- lsls r0, 24
- lsrs r6, r0, 24
- ldr r7, _0804F080 @ =gEnemyParty
- cmp r6, 0
- bne _0804F030
- ldr r7, _0804F084 @ =gPlayerParty
-_0804F030:
- movs r4, 0
- ldr r0, _0804F088 @ =gUnknown_2031DA8
- ldr r0, [r0]
- adds r0, 0x36
- adds r0, r6
- ldrb r0, [r0]
- cmp r4, r0
- bcs _0804F076
- add r5, sp, 0x14
-_0804F042:
- movs r0, 0x64
- muls r0, r4
- adds r0, r7, r0
- movs r1, 0x2
- mov r2, sp
- bl GetMonData
- adds r0, r5, 0
- mov r1, sp
- bl StringCopy10
- adds r0, r6, 0
- adds r1, r4, 0
- adds r2, r5, 0
- bl sub_804EFB4
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, _0804F088 @ =gUnknown_2031DA8
- ldr r0, [r0]
- adds r0, 0x36
- adds r0, r6
- ldrb r0, [r0]
- cmp r4, r0
- bcc _0804F042
-_0804F076:
- add sp, 0x34
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0804F080: .4byte gEnemyParty
-_0804F084: .4byte gPlayerParty
-_0804F088: .4byte gUnknown_2031DA8
- thumb_func_end sub_804F020
-
- thumb_func_start sub_804F08C
-sub_804F08C: @ 804F08C
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x1C
- ldr r4, [sp, 0x3C]
- ldr r5, [sp, 0x40]
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- lsls r1, 24
- lsrs r7, r1, 24
- lsls r2, 24
- lsrs r2, 24
- mov r9, r2
- lsls r3, 24
- lsrs r3, 24
- mov r10, r3
- lsls r4, 24
- lsrs r4, 24
- lsls r5, 24
- lsrs r5, 24
- ldr r1, _0804F0E8 @ =gUnknown_8E9F1FC
- movs r0, 0x6
- str r0, [sp]
- movs r0, 0x3
- str r0, [sp, 0x4]
- movs r0, 0
- str r0, [sp, 0x8]
- movs r0, 0x1
- adds r2, r4, 0
- adds r3, r5, 0
- bl CopyToBgTilemapBufferRect_ChangePalette
- movs r0, 0x1
- bl CopyBgTilemapBufferToVram
- mov r0, r8
- cmp r0, 0
- bne _0804F0F0
- movs r0, 0x64
- muls r0, r7
- ldr r1, _0804F0EC @ =gPlayerParty
- b _0804F0F6
- .align 2, 0
-_0804F0E8: .4byte gUnknown_8E9F1FC
-_0804F0EC: .4byte gPlayerParty
-_0804F0F0:
- movs r0, 0x64
- muls r0, r7
- ldr r1, _0804F16C @ =gEnemyParty
-_0804F0F6:
- adds r0, r1
- movs r1, 0x38
- movs r2, 0
- bl GetMonData
- lsls r0, 24
- lsrs r6, r0, 24
- ldr r4, _0804F170 @ =gUnknown_2031DA8
- ldr r5, [r4]
- mov r1, r8
- lsls r2, r1, 1
- adds r1, r2, r1
- lsls r1, 1
- adds r1, r7, r1
- adds r0, r5, 0
- adds r0, 0x51
- adds r0, r1
- ldrb r0, [r0]
- str r2, [sp, 0x18]
- cmp r0, 0
- bne _0804F174
- adds r0, r6, 0
- movs r1, 0xA
- bl __udivsi3
- lsls r0, 24
- lsrs r2, r0, 24
- mov r0, r10
- lsls r3, r0, 5
- cmp r2, 0
- beq _0804F148
- mov r1, r9
- adds r0, r1, r3
- lsls r0, 1
- movs r1, 0x8F
- lsls r1, 4
- adds r5, r1
- adds r1, r5, r0
- adds r0, r2, 0
- adds r0, 0x60
- strh r0, [r1]
-_0804F148:
- ldr r4, [r4]
- mov r1, r9
- adds r0, r1, r3
- adds r0, 0x1
- lsls r0, 1
- movs r3, 0x8F
- lsls r3, 4
- adds r4, r3
- adds r4, r0
- adds r0, r6, 0
- movs r1, 0xA
- bl __umodsi3
- lsls r0, 24
- lsrs r0, 24
- adds r0, 0x70
- strh r0, [r4]
- b _0804F1B2
- .align 2, 0
-_0804F16C: .4byte gEnemyParty
-_0804F170: .4byte gUnknown_2031DA8
-_0804F174:
- mov r1, r10
- lsls r0, r1, 5
- mov r1, r9
- adds r3, r1, r0
- adds r1, r3, 0
- subs r1, 0x20
- lsls r1, 1
- movs r0, 0x8F
- lsls r0, 4
- adds r2, r5, r0
- adds r1, r2, r1
- adds r0, r3, 0
- subs r0, 0x21
- lsls r0, 1
- adds r0, r2, r0
- ldrh r0, [r0]
- strh r0, [r1]
- adds r1, r3, 0
- subs r1, 0x1F
- lsls r1, 1
- adds r1, r2, r1
- adds r0, r3, 0
- subs r0, 0x24
- lsls r0, 1
- adds r2, r0
- ldrh r2, [r2]
- movs r3, 0x80
- lsls r3, 3
- adds r0, r3, 0
- orrs r0, r2
- strh r0, [r1]
-_0804F1B2:
- ldr r0, _0804F1D0 @ =gUnknown_2031DA8
- ldr r1, [r0]
- ldr r0, [sp, 0x18]
- add r0, r8
- lsls r0, 1
- adds r0, r7, r0
- adds r1, 0x51
- adds r1, r0
- ldrb r0, [r1]
- cmp r0, 0
- beq _0804F1D4
- movs r2, 0x90
- lsls r2, 3
- b _0804F256
- .align 2, 0
-_0804F1D0: .4byte gUnknown_2031DA8
-_0804F1D4:
- mov r0, r8
- cmp r0, 0
- bne _0804F200
- movs r0, 0x64
- adds r4, r7, 0
- muls r4, r0
- ldr r0, _0804F1FC @ =gPlayerParty
- adds r4, r0
- adds r0, r4, 0
- bl GetMonGender
- lsls r0, 24
- lsrs r5, r0, 24
- adds r0, r4, 0
- movs r1, 0x2
- add r2, sp, 0xC
- bl GetMonData
- b _0804F21E
- .align 2, 0
-_0804F1FC: .4byte gPlayerParty
-_0804F200:
- movs r0, 0x64
- adds r4, r7, 0
- muls r4, r0
- ldr r0, _0804F22C @ =gEnemyParty
- adds r4, r0
- adds r0, r4, 0
- bl GetMonGender
- lsls r0, 24
- lsrs r5, r0, 24
- adds r0, r4, 0
- movs r1, 0x2
- add r2, sp, 0xC
- bl GetMonData
-_0804F21E:
- cmp r5, 0
- beq _0804F230
- cmp r5, 0xFE
- beq _0804F244
- movs r2, 0x83
- b _0804F256
- .align 2, 0
-_0804F22C: .4byte gEnemyParty
-_0804F230:
- add r0, sp, 0xC
- movs r1, 0
- bl NameHasGenderSymbol
- lsls r0, 24
- movs r2, 0x83
- cmp r0, 0
- bne _0804F256
- movs r2, 0x84
- b _0804F256
-_0804F244:
- add r0, sp, 0xC
- movs r1, 0xFE
- bl NameHasGenderSymbol
- lsls r0, 24
- movs r2, 0x83
- cmp r0, 0
- bne _0804F256
- movs r2, 0x85
-_0804F256:
- ldr r0, _0804F280 @ =gUnknown_2031DA8
- ldr r1, [r0]
- mov r0, r10
- subs r0, 0x1
- lsls r0, 5
- add r0, r9
- adds r0, 0x1
- lsls r0, 1
- movs r3, 0x8F
- lsls r3, 4
- adds r1, r3
- adds r1, r0
- strh r2, [r1]
- add sp, 0x1C
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0804F280: .4byte gUnknown_2031DA8
- thumb_func_end sub_804F08C
-
- thumb_func_start sub_804F284
-sub_804F284: @ 804F284
- push {r4-r7,lr}
- sub sp, 0x8
- lsls r0, 24
- lsrs r6, r0, 24
- movs r7, 0
- ldr r0, _0804F2DC @ =gUnknown_2031DA8
- ldr r0, [r0]
- adds r0, 0x36
- adds r0, r6
- ldrb r0, [r0]
- cmp r7, r0
- bge _0804F2D4
- lsls r0, r6, 1
- adds r0, r6
- ldr r1, _0804F2E0 @ =gUnknown_8261E5A
- lsls r0, 2
- adds r5, r0, r1
- ldr r1, _0804F2E4 @ =gUnknown_8261E72
- adds r4, r0, r1
-_0804F2AA:
- lsls r1, r7, 24
- lsrs r1, 24
- ldrb r2, [r5]
- ldrb r3, [r5, 0x1]
- ldrb r0, [r4]
- str r0, [sp]
- ldrb r0, [r4, 0x1]
- str r0, [sp, 0x4]
- adds r0, r6, 0
- bl sub_804F08C
- adds r5, 0x2
- adds r4, 0x2
- adds r7, 0x1
- ldr r0, _0804F2DC @ =gUnknown_2031DA8
- ldr r0, [r0]
- adds r0, 0x36
- adds r0, r6
- ldrb r0, [r0]
- cmp r7, r0
- blt _0804F2AA
-_0804F2D4:
- add sp, 0x8
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0804F2DC: .4byte gUnknown_2031DA8
-_0804F2E0: .4byte gUnknown_8261E5A
-_0804F2E4: .4byte gUnknown_8261E72
- thumb_func_end sub_804F284
-
- thumb_func_start sub_804F2E8
-sub_804F2E8: @ 804F2E8
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- lsls r0, 24
- lsrs r0, 24
- mov r12, r0
- movs r7, 0
- ldr r3, _0804F3A8 @ =gUnknown_2031DA8
- ldr r0, [r3]
- adds r0, 0x36
- add r0, r12
- ldrb r0, [r0]
- cmp r7, r0
- bge _0804F39A
- ldr r6, _0804F3AC @ =gSprites
- mov r9, r3
- mov r1, r12
- lsls r0, r1, 1
- add r0, r12
- lsls r2, r0, 1
- mov r10, r2
- ldr r1, _0804F3B0 @ =gTradeMonSpriteCoords
- movs r2, 0
- mov r8, r2
- lsls r0, 2
- adds r5, r0, r1
-_0804F320:
- mov r1, r9
- ldr r0, [r1]
- mov r2, r10
- adds r4, r7, r2
- adds r0, 0x28
- adds r0, r4
- ldrb r0, [r0]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r6
- adds r1, 0x3E
- ldrb r2, [r1]
- movs r0, 0x5
- negs r0, r0
- ands r0, r2
- strb r0, [r1]
- mov r0, r9
- ldr r3, [r0]
- adds r2, r3, 0
- adds r2, 0x28
- adds r2, r4
- ldrb r0, [r2]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r6
- ldrb r0, [r5]
- lsls r0, 3
- adds r0, 0xE
- strh r0, [r1, 0x20]
- ldrb r0, [r2]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r6
- ldrb r0, [r5, 0x1]
- lsls r0, 3
- subs r0, 0xC
- strh r0, [r1, 0x22]
- ldrb r1, [r2]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r6
- mov r1, r8
- strh r1, [r0, 0x24]
- ldrb r1, [r2]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r6
- mov r2, r8
- strh r2, [r0, 0x26]
- adds r5, 0x2
- adds r7, 0x1
- adds r3, 0x36
- add r3, r12
- ldrb r3, [r3]
- cmp r7, r3
- blt _0804F320
-_0804F39A:
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0804F3A8: .4byte gUnknown_2031DA8
-_0804F3AC: .4byte gSprites
-_0804F3B0: .4byte gTradeMonSpriteCoords
- thumb_func_end sub_804F2E8
-
- thumb_func_start sub_804F3B4
-sub_804F3B4: @ 804F3B4
- push {lr}
- movs r0, 0x1
- bl rbox_fill_rectangle
- movs r0, 0x1
- bl sub_804F020
- pop {r0}
- bx r0
- thumb_func_end sub_804F3B4
-
- thumb_func_start sub_804F3C8
-sub_804F3C8: @ 804F3C8
- push {r4-r6,lr}
- sub sp, 0xC
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- ldr r1, _0804F430 @ =gTradePartyBoxTilemap
- lsls r2, r4, 4
- subs r2, r4
- lsls r2, 24
- lsrs r2, 24
- movs r0, 0xF
- str r0, [sp]
- movs r0, 0x11
- str r0, [sp, 0x4]
- movs r6, 0
- str r6, [sp, 0x8]
- movs r0, 0x1
- movs r3, 0
- bl CopyToBgTilemapBufferRect_ChangePalette
- movs r0, 0x1
- bl CopyBgTilemapBufferToVram
- adds r0, r4, 0
- bl sub_804F284
- adds r0, r4, 0
- bl sub_804F020
- adds r0, r4, 0
- bl sub_804F2E8
- ldr r0, _0804F434 @ =gUnknown_8261ECC
- ldr r0, [r0, 0x4]
- ldr r5, _0804F438 @ =gUnknown_2031DA8
- ldr r1, [r5]
- adds r1, 0x72
- ldrh r1, [r1]
- lsls r1, 5
- ldr r2, _0804F43C @ =0x06010000
- adds r1, r2
- movs r2, 0x18
- bl sub_804F728
- ldr r0, [r5]
- adds r0, 0x74
- adds r0, r4
- strb r6, [r0]
- add sp, 0xC
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_0804F430: .4byte gTradePartyBoxTilemap
-_0804F434: .4byte gUnknown_8261ECC
-_0804F438: .4byte gUnknown_2031DA8
-_0804F43C: .4byte 0x06010000
- thumb_func_end sub_804F3C8
-
- thumb_func_start sub_804F440
-sub_804F440: @ 804F440
- push {lr}
- sub sp, 0x8
- movs r0, 0x1E
- str r0, [sp]
- movs r0, 0x14
- str r0, [sp, 0x4]
- movs r0, 0
- movs r1, 0
- movs r2, 0
- movs r3, 0
- bl FillBgTilemapBufferRect_Palette0
- movs r0, 0
- bl CopyBgTilemapBufferToVram
- add sp, 0x8
- pop {r0}
- bx r0
- thumb_func_end sub_804F440
-
- thumb_func_start sub_804F464
-sub_804F464: @ 804F464
- push {lr}
- sub sp, 0x8
- movs r0, 0x1E
- str r0, [sp]
- movs r0, 0x14
- str r0, [sp, 0x4]
- movs r0, 0
- movs r1, 0
- movs r2, 0
- movs r3, 0
- bl FillBgTilemapBufferRect_Palette0
- movs r0, 0
- bl CopyBgTilemapBufferToVram
- add sp, 0x8
- pop {r0}
- bx r0
- thumb_func_end sub_804F464
-
- thumb_func_start sub_804F488
-sub_804F488: @ 804F488
- push {r4-r7,lr}
- lsls r0, 16
- lsrs r5, r0, 16
- lsls r1, 24
- lsrs r6, r1, 24
- movs r3, 0
- ldr r4, _0804F4C8 @ =gUnknown_2031DA8
- mov r12, r4
- movs r7, 0x8D
- lsls r7, 4
-_0804F49C:
- mov r1, r12
- ldr r0, [r1]
- lsls r1, r3, 3
- adds r2, r0, r1
- adds r0, r2, r7
- ldrb r0, [r0]
- cmp r0, 0
- bne _0804F4D0
- ldr r3, _0804F4CC @ =0x000008d2
- adds r0, r2, r3
- strh r5, [r0]
- adds r3, 0x2
- adds r0, r2, r3
- strb r6, [r0]
- ldr r0, [r4]
- adds r0, r1
- movs r1, 0x8D
- lsls r1, 4
- adds r0, r1
- movs r1, 0x1
- strb r1, [r0]
- b _0804F4D6
- .align 2, 0
-_0804F4C8: .4byte gUnknown_2031DA8
-_0804F4CC: .4byte 0x000008d2
-_0804F4D0:
- adds r3, 0x1
- cmp r3, 0x3
- ble _0804F49C
-_0804F4D6:
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_804F488
-
- thumb_func_start sub_804F4DC
-sub_804F4DC: @ 804F4DC
- push {r4,r5,lr}
- movs r4, 0
- ldr r3, _0804F508 @ =gUnknown_2031DA8
-_0804F4E2:
- ldr r0, [r3]
- lsls r1, r4, 3
- adds r2, r0, r1
- movs r5, 0x8D
- lsls r5, 4
- adds r0, r2, r5
- ldrb r0, [r0]
- adds r5, r1, 0
- cmp r0, 0
- beq _0804F5AC
- ldr r0, _0804F50C @ =0x000008d2
- adds r1, r2, r0
- ldrh r0, [r1]
- cmp r0, 0
- beq _0804F510
- subs r0, 0x1
- strh r0, [r1]
- b _0804F5AC
- .align 2, 0
-_0804F508: .4byte gUnknown_2031DA8
-_0804F50C: .4byte 0x000008d2
-_0804F510:
- ldr r1, _0804F524 @ =0x000008d4
- adds r0, r2, r1
- ldrb r0, [r0]
- cmp r0, 0x8
- bhi _0804F59A
- lsls r0, 2
- ldr r1, _0804F528 @ =_0804F52C
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0804F524: .4byte 0x000008d4
-_0804F528: .4byte _0804F52C
- .align 2, 0
-_0804F52C:
- .4byte _0804F550
- .4byte _0804F56C
- .4byte _0804F574
- .4byte _0804F57C
- .4byte _0804F57C
- .4byte _0804F57C
- .4byte _0804F584
- .4byte _0804F58C
- .4byte _0804F594
-_0804F550:
- bl bitmask_all_link_players_but_self
- lsls r0, 24
- lsrs r0, 24
- ldr r1, _0804F568 @ =gUnknown_2031DA8
- ldr r1, [r1]
- adds r1, 0x80
- movs r2, 0x14
- bl SendBlock
- b _0804F59A
- .align 2, 0
-_0804F568: .4byte gUnknown_2031DA8
-_0804F56C:
- movs r0, 0
- bl sub_804F5BC
- b _0804F59A
-_0804F574:
- movs r0, 0x2
- bl sub_804F5BC
- b _0804F59A
-_0804F57C:
- movs r0, 0x3
- bl sub_804F5BC
- b _0804F59A
-_0804F584:
- movs r0, 0x6
- bl sub_804F5BC
- b _0804F59A
-_0804F58C:
- movs r0, 0x7
- bl sub_804F5BC
- b _0804F59A
-_0804F594:
- movs r0, 0x8
- bl sub_804F5BC
-_0804F59A:
- ldr r0, _0804F5B8 @ =gUnknown_2031DA8
- ldr r1, [r0]
- adds r1, r5
- movs r2, 0x8D
- lsls r2, 4
- adds r1, r2
- movs r2, 0
- strb r2, [r1]
- adds r3, r0, 0
-_0804F5AC:
- adds r4, 0x1
- cmp r4, 0x3
- ble _0804F4E2
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0804F5B8: .4byte gUnknown_2031DA8
- thumb_func_end sub_804F4DC
-
- thumb_func_start sub_804F5BC
-sub_804F5BC: @ 804F5BC
- push {r4,lr}
- sub sp, 0xC
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- movs r0, 0
- movs r1, 0x11
- bl FillWindowPixelBuffer
- ldr r0, _0804F60C @ =gUnknown_8261EF4
- lsls r4, 2
- adds r4, r0
- ldr r2, [r4]
- movs r0, 0x2
- str r0, [sp]
- movs r0, 0xFF
- str r0, [sp, 0x4]
- movs r0, 0
- str r0, [sp, 0x8]
- movs r1, 0x3
- movs r3, 0
- bl AddTextPrinterParameterized
- movs r0, 0
- movs r1, 0x14
- movs r2, 0xC
- bl DrawTextBorderOuter
- movs r0, 0
- bl PutWindowTilemap
- movs r0, 0
- movs r1, 0x3
- bl CopyWindowToVram
- add sp, 0xC
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0804F60C: .4byte gUnknown_8261EF4
- thumb_func_end sub_804F5BC
-
- thumb_func_start sub_804F610
-sub_804F610: @ 804F610
- push {r4,lr}
- sub sp, 0x8
- ldr r0, _0804F660 @ =gUnknown_2031DA8
- ldr r1, [r0]
- adds r3, r1, 0
- adds r3, 0xA8
- ldrb r1, [r3]
- adds r4, r0, 0
- cmp r1, 0xD
- bhi _0804F64C
- ldr r1, _0804F664 @ =gUnknown_2031C94
- ldrb r0, [r3]
- lsls r0, 2
- adds r0, r1
- ldr r0, [r0]
- str r0, [sp]
- ldr r0, _0804F668 @ =0xffff0000
- ldr r2, [sp, 0x4]
- ands r2, r0
- movs r0, 0x80
- lsls r0, 1
- orrs r2, r0
- str r2, [sp, 0x4]
- ldrb r1, [r3]
- adds r1, 0xC8
- lsls r1, 16
- ldr r0, _0804F66C @ =0x0000ffff
- ands r0, r2
- orrs r0, r1
- str r0, [sp, 0x4]
-_0804F64C:
- ldr r0, [r4]
- adds r0, 0xA8
- ldrb r0, [r0]
- cmp r0, 0x11
- bhi _0804F71C
- lsls r0, 2
- ldr r1, _0804F670 @ =_0804F674
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0804F660: .4byte gUnknown_2031DA8
-_0804F664: .4byte gUnknown_2031C94
-_0804F668: .4byte 0xffff0000
-_0804F66C: .4byte 0x0000ffff
-_0804F670: .4byte _0804F674
- .align 2, 0
-_0804F674:
- .4byte _0804F6BC
- .4byte _0804F6BC
- .4byte _0804F6BC
- .4byte _0804F6BC
- .4byte _0804F6BC
- .4byte _0804F6BC
- .4byte _0804F6BC
- .4byte _0804F6BC
- .4byte _0804F6C0
- .4byte _0804F6D8
- .4byte _0804F6D8
- .4byte _0804F6D8
- .4byte _0804F6D8
- .4byte _0804F6D8
- .4byte _0804F6DC
- .4byte _0804F6E8
- .4byte _0804F6F4
- .4byte _0804F710
-_0804F6BC:
- mov r0, sp
- b _0804F6F6
-_0804F6C0:
- mov r0, sp
- bl LoadSpriteSheet
- ldr r1, _0804F6D4 @ =gUnknown_2031DA8
- ldr r1, [r1]
- adds r2, r1, 0
- adds r2, 0x72
- strh r0, [r2]
- b _0804F6FE
- .align 2, 0
-_0804F6D4: .4byte gUnknown_2031DA8
-_0804F6D8:
- mov r0, sp
- b _0804F6F6
-_0804F6DC:
- ldr r0, _0804F6E4 @ =gUnknown_8261D00
- bl LoadSpritePalette
- b _0804F6FA
- .align 2, 0
-_0804F6E4: .4byte gUnknown_8261D00
-_0804F6E8:
- ldr r0, _0804F6F0 @ =gUnknown_8261C60
- bl LoadSpritePalette
- b _0804F6FA
- .align 2, 0
-_0804F6F0: .4byte gUnknown_8261C60
-_0804F6F4:
- ldr r0, _0804F708 @ =gUnknown_8261C58
-_0804F6F6:
- bl LoadSpriteSheet
-_0804F6FA:
- ldr r0, _0804F70C @ =gUnknown_2031DA8
- ldr r1, [r0]
-_0804F6FE:
- adds r1, 0xA8
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- b _0804F71C
- .align 2, 0
-_0804F708: .4byte gUnknown_8261C58
-_0804F70C: .4byte gUnknown_2031DA8
-_0804F710:
- ldr r0, [r4]
- adds r0, 0xA8
- movs r1, 0
- strb r1, [r0]
- movs r0, 0x1
- b _0804F71E
-_0804F71C:
- movs r0, 0
-_0804F71E:
- add sp, 0x8
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_804F610
-
- thumb_func_start sub_804F728
-sub_804F728: @ 804F728
- push {lr}
- sub sp, 0x8
- ldr r2, _0804F744 @ =gDecompressionBuffer
- str r2, [sp]
- movs r2, 0x6
- str r2, [sp, 0x4]
- movs r2, 0
- movs r3, 0
- bl sub_808BEB4
- add sp, 0x8
- pop {r0}
- bx r0
- .align 2, 0
-_0804F744: .4byte gDecompressionBuffer
- thumb_func_end sub_804F728
-
- thumb_func_start sub_804F748
-sub_804F748: @ 804F748
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- cmp r0, 0
- beq _0804F760
- cmp r0, 0x1
- beq _0804F7F4
- b _0804F880
-_0804F760:
- movs r7, 0
- ldr r1, _0804F7A0 @ =gUnknown_2031DA8
- ldr r0, [r1]
- adds r0, 0x36
- ldrb r0, [r0]
- cmp r7, r0
- blt _0804F770
- b _0804F880
-_0804F770:
- adds r6, r1, 0
- movs r5, 0
- mov r9, r5
-_0804F776:
- movs r0, 0x64
- adds r1, r7, 0
- muls r1, r0
- ldr r0, _0804F7A4 @ =gPlayerParty
- adds r4, r1, r0
- adds r0, r4, 0
- movs r1, 0x2D
- bl GetMonData
- adds r1, r0, 0
- cmp r1, 0x1
- bne _0804F7A8
- ldr r0, [r6]
- adds r0, 0x45
- adds r0, r5
- mov r2, r9
- strb r2, [r0]
- ldr r0, [r6]
- adds r0, 0x51
- adds r0, r5
- b _0804F7D8
- .align 2, 0
-_0804F7A0: .4byte gUnknown_2031DA8
-_0804F7A4: .4byte gPlayerParty
-_0804F7A8:
- adds r0, r4, 0
- movs r1, 0x39
- bl GetMonData
- adds r1, r0, 0
- cmp r1, 0
- bne _0804F7C6
- ldr r0, [r6]
- adds r0, 0x45
- adds r0, r5
- strb r1, [r0]
- ldr r0, [r6]
- adds r0, 0x51
- adds r0, r5
- b _0804F7D8
-_0804F7C6:
- ldr r0, [r6]
- adds r0, 0x45
- adds r0, r5
- movs r1, 0x1
- strb r1, [r0]
- ldr r0, [r6]
- adds r0, 0x51
- adds r0, r5
- mov r1, r9
-_0804F7D8:
- strb r1, [r0]
- ldr r0, _0804F7F0 @ =gUnknown_2031DA8
- adds r5, 0x1
- adds r7, 0x1
- ldr r0, [r0]
- adds r0, 0x36
- add r0, r8
- ldrb r0, [r0]
- cmp r7, r0
- blt _0804F776
- b _0804F880
- .align 2, 0
-_0804F7F0: .4byte gUnknown_2031DA8
-_0804F7F4:
- movs r7, 0
- ldr r1, _0804F834 @ =gUnknown_2031DA8
- ldr r0, [r1]
- adds r0, 0x37
- ldrb r0, [r0]
- cmp r7, r0
- bge _0804F880
- adds r6, r1, 0
- movs r5, 0x6
- movs r2, 0
- mov r9, r2
-_0804F80A:
- movs r0, 0x64
- adds r1, r7, 0
- muls r1, r0
- ldr r0, _0804F838 @ =gEnemyParty
- adds r4, r1, r0
- adds r0, r4, 0
- movs r1, 0x2D
- bl GetMonData
- adds r1, r0, 0
- cmp r1, 0x1
- bne _0804F83C
- ldr r0, [r6]
- adds r0, 0x45
- adds r0, r5
- mov r2, r9
- strb r2, [r0]
- ldr r0, [r6]
- adds r0, 0x51
- adds r0, r5
- b _0804F86C
- .align 2, 0
-_0804F834: .4byte gUnknown_2031DA8
-_0804F838: .4byte gEnemyParty
-_0804F83C:
- adds r0, r4, 0
- movs r1, 0x39
- bl GetMonData
- adds r1, r0, 0
- cmp r1, 0
- bne _0804F85A
- ldr r0, [r6]
- adds r0, 0x45
- adds r0, r5
- strb r1, [r0]
- ldr r0, [r6]
- adds r0, 0x51
- adds r0, r5
- b _0804F86C
-_0804F85A:
- ldr r0, [r6]
- adds r0, 0x45
- adds r0, r5
- movs r1, 0x1
- strb r1, [r0]
- ldr r0, [r6]
- adds r0, 0x51
- adds r0, r5
- mov r1, r9
-_0804F86C:
- strb r1, [r0]
- ldr r0, _0804F88C @ =gUnknown_2031DA8
- adds r5, 0x1
- adds r7, 0x1
- ldr r0, [r0]
- adds r0, 0x36
- add r0, r8
- ldrb r0, [r0]
- cmp r7, r0
- blt _0804F80A
-_0804F880:
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0804F88C: .4byte gUnknown_2031DA8
- thumb_func_end sub_804F748
-
- thumb_func_start sub_804F890
-sub_804F890: @ 804F890
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0
- beq _0804F8A0
- cmp r0, 0x1
- beq _0804F900
- b _0804F954
-_0804F8A0:
- movs r6, 0
- ldr r1, _0804F8F8 @ =gUnknown_2031DA8
- ldr r0, [r1]
- adds r0, 0x36
- ldrb r0, [r0]
- cmp r6, r0
- bcs _0804F954
- adds r7, r1, 0
-_0804F8B0:
- movs r0, 0x64
- adds r4, r6, 0
- muls r4, r0
- ldr r0, _0804F8FC @ =gPlayerParty
- adds r4, r0
- adds r0, r4, 0
- movs r1, 0x39
- bl GetMonData
- lsls r0, 16
- lsrs r5, r0, 16
- adds r0, r4, 0
- movs r1, 0x3A
- bl GetMonData
- adds r1, r0, 0
- lsls r0, r5, 16
- asrs r0, 16
- lsls r1, 16
- asrs r1, 16
- bl GetHPBarLevel
- ldr r1, [r7]
- adds r1, 0x5D
- adds r1, r6
- strb r0, [r1]
- adds r0, r6, 0x1
- lsls r0, 16
- lsrs r6, r0, 16
- ldr r0, [r7]
- adds r0, 0x36
- ldrb r0, [r0]
- cmp r6, r0
- bcc _0804F8B0
- b _0804F954
- .align 2, 0
-_0804F8F8: .4byte gUnknown_2031DA8
-_0804F8FC: .4byte gPlayerParty
-_0804F900:
- movs r6, 0
- ldr r1, _0804F95C @ =gUnknown_2031DA8
- ldr r0, [r1]
- adds r0, 0x37
- ldrb r0, [r0]
- cmp r6, r0
- bcs _0804F954
- adds r7, r1, 0
-_0804F910:
- movs r0, 0x64
- adds r4, r6, 0
- muls r4, r0
- ldr r0, _0804F960 @ =gEnemyParty
- adds r4, r0
- adds r0, r4, 0
- movs r1, 0x39
- bl GetMonData
- lsls r0, 16
- lsrs r5, r0, 16
- adds r0, r4, 0
- movs r1, 0x3A
- bl GetMonData
- adds r1, r0, 0
- lsls r0, r5, 16
- asrs r0, 16
- lsls r1, 16
- asrs r1, 16
- bl GetHPBarLevel
- ldr r1, [r7]
- adds r1, 0x63
- adds r1, r6
- strb r0, [r1]
- adds r0, r6, 0x1
- lsls r0, 16
- lsrs r6, r0, 16
- ldr r0, [r7]
- adds r0, 0x37
- ldrb r0, [r0]
- cmp r6, r0
- bcc _0804F910
-_0804F954:
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0804F95C: .4byte gUnknown_2031DA8
-_0804F960: .4byte gEnemyParty
- thumb_func_end sub_804F890
-
- thumb_func_start sub_804F964
-sub_804F964: @ 804F964
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- movs r5, 0
-_0804F96C:
- movs r4, 0
- ldr r2, _0804F9D0 @ =gUnknown_2031DA8
- ldr r0, [r2]
- adds r0, 0x36
- adds r0, r5
- adds r1, r5, 0x1
- mov r8, r1
- ldrb r0, [r0]
- cmp r4, r0
- bge _0804F9BE
- adds r6, r2, 0
- lsls r0, r5, 1
- adds r0, r5
- lsls r7, r0, 1
-_0804F988:
- ldr r2, [r6]
- adds r3, r4, r7
- adds r0, r2, 0
- adds r0, 0x28
- adds r0, r3
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, _0804F9D4 @ =gSprites
- adds r0, r1
- adds r2, 0x5D
- adds r2, r3
- ldrb r2, [r2]
- movs r1, 0x4
- subs r1, r2
- lsls r1, 24
- lsrs r1, 24
- bl MonIcon_SetAnim
- adds r4, 0x1
- ldr r0, [r6]
- adds r0, 0x36
- adds r0, r5
- ldrb r0, [r0]
- cmp r4, r0
- blt _0804F988
-_0804F9BE:
- mov r5, r8
- cmp r5, 0x1
- ble _0804F96C
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0804F9D0: .4byte gUnknown_2031DA8
-_0804F9D4: .4byte gSprites
- thumb_func_end sub_804F964
-
- thumb_func_start sub_804F9D8
-sub_804F9D8: @ 804F9D8
- push {r4,r5,lr}
- movs r2, 0
- ldr r5, _0804FA08 @ =gSaveBlock1Ptr
- ldr r4, _0804FA0C @ =0x0000309c
- ldr r3, _0804FA10 @ =gUnknown_2031DA8
-_0804F9E2:
- ldr r0, [r5]
- adds r0, r4
- adds r1, r0, r2
- ldrb r0, [r1]
- cmp r0, 0
- bne _0804F9FC
- ldr r0, [r3]
- adds r0, 0xA9
- adds r0, r2
- ldrb r0, [r0]
- cmp r0, 0
- beq _0804F9FC
- strb r0, [r1]
-_0804F9FC:
- adds r2, 0x1
- cmp r2, 0xA
- ble _0804F9E2
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0804FA08: .4byte gSaveBlock1Ptr
-_0804FA0C: .4byte 0x0000309c
-_0804FA10: .4byte gUnknown_2031DA8
- thumb_func_end sub_804F9D8
-
- thumb_func_start sub_804FA14
-sub_804FA14: @ 804FA14
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0x30
- mov r8, r0
- adds r7, r1, 0
- mov r9, r2
- movs r5, 0
- cmp r5, r7
- bge _0804FA4E
- mov r6, sp
-_0804FA2C:
- movs r0, 0x64
- adds r4, r5, 0
- muls r4, r0
- add r4, r8
- adds r0, r4, 0
- movs r1, 0x41
- bl GetMonData
- str r0, [r6, 0x18]
- adds r0, r4, 0
- movs r1, 0xB
- bl GetMonData
- stm r6!, {r0}
- adds r5, 0x1
- cmp r5, r7
- blt _0804FA2C
-_0804FA4E:
- bl IsNationalPokedexEnabled
- mov r1, r9
- lsls r4, r1, 2
- cmp r0, 0
- bne _0804FA70
- add r0, sp, 0x18
- adds r0, r4
- ldr r0, [r0]
- cmp r0, 0x97
- ble _0804FA68
- movs r0, 0x2
- b _0804FB24
-_0804FA68:
- cmp r0, 0
- bne _0804FA70
- movs r0, 0x3
- b _0804FB24
-_0804FA70:
- bl GetMultiplayerId
- movs r1, 0x1
- eors r0, r1
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 3
- subs r1, r0
- lsls r1, 2
- ldr r0, _0804FAB0 @ =gLinkPlayers
- adds r1, r0
- ldrb r0, [r1]
- subs r0, 0x1
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x1
- bls _0804FAB8
- ldrb r1, [r1, 0x12]
- movs r0, 0xF
- ands r0, r1
- cmp r0, 0
- bne _0804FAB8
- add r0, sp, 0x18
- adds r0, r4
- ldr r1, [r0]
- movs r0, 0xCE
- lsls r0, 1
- cmp r1, r0
- bne _0804FAB4
- movs r0, 0x5
- b _0804FB24
- .align 2, 0
-_0804FAB0: .4byte gLinkPlayers
-_0804FAB4:
- cmp r1, 0x97
- bgt _0804FADE
-_0804FAB8:
- mov r1, sp
- adds r0, r1, r4
- ldr r1, [r0]
- movs r0, 0xCD
- lsls r0, 1
- cmp r1, r0
- beq _0804FACA
- cmp r1, 0x97
- bne _0804FAE2
-_0804FACA:
- movs r0, 0x64
- mov r1, r9
- muls r1, r0
- adds r0, r1, 0
- add r0, r8
- movs r1, 0x50
- bl GetMonData
- cmp r0, 0
- bne _0804FAE2
-_0804FADE:
- movs r0, 0x4
- b _0804FB24
-_0804FAE2:
- cmp r7, 0
- ble _0804FB00
- movs r3, 0xCE
- lsls r3, 1
- movs r2, 0
- add r1, sp, 0x18
- adds r5, r7, 0
-_0804FAF0:
- ldr r0, [r1]
- cmp r0, r3
- bne _0804FAF8
- str r2, [r1]
-_0804FAF8:
- adds r1, 0x4
- subs r5, 0x1
- cmp r5, 0
- bne _0804FAF0
-_0804FB00:
- movs r2, 0
- movs r5, 0
- cmp r2, r7
- bge _0804FB1A
- add r1, sp, 0x18
-_0804FB0A:
- cmp r5, r9
- beq _0804FB12
- ldr r0, [r1]
- adds r2, r0
-_0804FB12:
- adds r1, 0x4
- adds r5, 0x1
- cmp r5, r7
- blt _0804FB0A
-_0804FB1A:
- cmp r2, 0
- bne _0804FB22
- movs r0, 0x1
- b _0804FB24
-_0804FB22:
- movs r0, 0
-_0804FB24:
- add sp, 0x30
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_804FA14
-
thumb_func_start sub_804FB34
sub_804FB34: @ 804FB34
push {r4-r7,lr}