diff options
Diffstat (limited to 'asm')
-rw-r--r-- | asm/battle_anim_813F0F4.s | 8 | ||||
-rw-r--r-- | asm/battle_message.s | 26 | ||||
-rw-r--r-- | asm/battle_tower.s | 8 | ||||
-rw-r--r-- | asm/choose_party.s | 2509 | ||||
-rw-r--r-- | asm/pokeball.s | 2787 | ||||
-rw-r--r-- | asm/pokemon_summary_screen.s | 4 |
6 files changed, 23 insertions, 5319 deletions
diff --git a/asm/battle_anim_813F0F4.s b/asm/battle_anim_813F0F4.s index 296db945e..a5ab2fb83 100644 --- a/asm/battle_anim_813F0F4.s +++ b/asm/battle_anim_813F0F4.s @@ -1218,7 +1218,7 @@ sub_813FA94: @ 813FA94 lsls r0, r1, 1 adds r0, r1 lsls r0, 3 - ldr r1, _0813FB5C @ =gSpriteTemplate_820AAB4 + ldr r1, _0813FB5C @ =gBallSpriteTemplates adds r0, r1 movs r1, 0x20 movs r2, 0x50 @@ -1295,7 +1295,7 @@ sub_813FA94: @ 813FA94 bx r0 .align 2, 0 _0813FB58: .4byte gLastUsedItem -_0813FB5C: .4byte gSpriteTemplate_820AAB4 +_0813FB5C: .4byte gBallSpriteTemplates _0813FB60: .4byte gSprites _0813FB64: .4byte gBattleAnimEnemyMonIndex _0813FB68: .4byte sub_813FD90 @@ -1378,7 +1378,7 @@ _0813FBE0: lsls r0, r4, 1 adds r0, r4 lsls r0, 3 - ldr r1, _0813FCA0 @ =gSpriteTemplate_820AAB4 + ldr r1, _0813FCA0 @ =gBallSpriteTemplates adds r0, r1 adds r1, r6, 0 adds r1, 0x20 @@ -1447,7 +1447,7 @@ _0813FBE0: bx r0 .align 2, 0 _0813FC9C: .4byte gLastUsedItem -_0813FCA0: .4byte gSpriteTemplate_820AAB4 +_0813FCA0: .4byte gBallSpriteTemplates _0813FCA4: .4byte gSprites _0813FCA8: .4byte gBattleAnimEnemyMonIndex _0813FCAC: .4byte SpriteCallbackDummy diff --git a/asm/battle_message.s b/asm/battle_message.s index 414213737..badbf2b7d 100644 --- a/asm/battle_message.s +++ b/asm/battle_message.s @@ -16,7 +16,7 @@ BufferStringBattle: @ 8120AA8 lsls r0, 16 lsrs r7, r0, 16 movs r6, 0 - ldr r5, _08120B70 @ =gBufferedMoves + ldr r5, _08120B70 @ =gSelectedOrderFromParty ldr r4, _08120B74 @ =gActiveBank ldrb r1, [r4] lsls r1, 9 @@ -73,7 +73,7 @@ _08120B10: movs r2, 0 ldr r0, _08120B9C @ =gBattleTextBuff1 mov r8, r0 - ldr r3, _08120B70 @ =gBufferedMoves + ldr r3, _08120B70 @ =gSelectedOrderFromParty ldr r1, _08120BA4 @ =gBattleTextBuff2 mov r12, r1 ldr r5, _08120BA8 @ =gBattleTextBuff3 @@ -111,7 +111,7 @@ _08120B64: ldr r0, [r0] mov pc, r0 .align 2, 0 -_08120B70: .4byte gBufferedMoves +_08120B70: .4byte gSelectedOrderFromParty _08120B74: .4byte gActiveBank _08120B78: .4byte gUnknown_02023A64 _08120B7C: .4byte gLastUsedItem @@ -414,7 +414,7 @@ _08120DE4: .4byte gUnknown_08400622 _08120DE8: mov r0, r10 bl sub_8121D1C - ldr r0, _08120E14 @ =gBufferedMoves + ldr r0, _08120E14 @ =gSelectedOrderFromParty ldr r2, [r0] ldrh r1, [r2] movs r0, 0xB1 @@ -433,7 +433,7 @@ _08120DE8: bl StringCopy b _08120E38 .align 2, 0 -_08120E14: .4byte gBufferedMoves +_08120E14: .4byte gSelectedOrderFromParty _08120E18: .4byte gBattleTextBuff2 _08120E1C: .4byte gUnknown_08401674 _08120E20: .4byte 0x02000000 @@ -1368,7 +1368,7 @@ _081215E8: .align 2, 0 _081215F4: .4byte gBattlePartyID _081215F8: - ldr r0, _08121610 @ =gBufferedMoves + ldr r0, _08121610 @ =gSelectedOrderFromParty ldr r2, [r0] ldrh r1, [r2] movs r0, 0xB1 @@ -1380,14 +1380,14 @@ _081215F8: adds r0, r2 b _08121634 .align 2, 0 -_08121610: .4byte gBufferedMoves +_08121610: .4byte gSelectedOrderFromParty _08121614: .4byte 0x02000000 _08121618: .4byte 0x000160a0 _0812161C: ldrh r1, [r2] b _08121652 _08121620: - ldr r0, _08121640 @ =gBufferedMoves + ldr r0, _08121640 @ =gSelectedOrderFromParty ldr r2, [r0] ldrh r1, [r2, 0x2] movs r0, 0xB1 @@ -1404,7 +1404,7 @@ _08121634: adds r4, r0, r1 b _081219E6 .align 2, 0 -_08121640: .4byte gBufferedMoves +_08121640: .4byte gSelectedOrderFromParty _08121644: .4byte 0x02000000 _08121648: .4byte 0x000160a0 _0812164C: .4byte gUnknown_08401674 @@ -2274,7 +2274,7 @@ sub_8121D1C: @ 8121D1C push {r4,r5,lr} adds r4, r0, 0 movs r2, 0 - ldr r5, _08121D50 @ =gBufferedMoves + ldr r5, _08121D50 @ =gSelectedOrderFromParty ldr r3, _08121D54 @ =gUnknown_084016BC _08121D26: cmp r2, 0x4 @@ -2299,7 +2299,7 @@ _08121D3C: bl StringCopy b _08121D68 .align 2, 0 -_08121D50: .4byte gBufferedMoves +_08121D50: .4byte gSelectedOrderFromParty _08121D54: .4byte gUnknown_084016BC _08121D58: .4byte gUnknown_08400E5E _08121D5C: @@ -2329,7 +2329,7 @@ _08121D7E: cmp r0, 0xFF bne _08121D7C ldr r1, _08121DB4 @ =gUnknown_084016BC - ldr r5, _08121DB8 @ =gBufferedMoves + ldr r5, _08121DB8 @ =gSelectedOrderFromParty movs r0, 0 lsls r0, 1 adds r2, r0, r1 @@ -2356,7 +2356,7 @@ _08121DA8: mov pc, r0 .align 2, 0 _08121DB4: .4byte gUnknown_084016BC -_08121DB8: .4byte gBufferedMoves +_08121DB8: .4byte gSelectedOrderFromParty _08121DBC: .4byte _08121DC0 .align 2, 0 _08121DC0: diff --git a/asm/battle_tower.s b/asm/battle_tower.s index ee8e18198..a8305b2b1 100644 --- a/asm/battle_tower.s +++ b/asm/battle_tower.s @@ -2324,7 +2324,7 @@ _08135750: .4byte 0x00000564 _08135754: movs r2, 0 ldr r4, _0813576C @ =gSaveBlock2 + 0x565 - ldr r3, _08135770 @ =gBufferedMoves + ldr r3, _08135770 @ =gSelectedOrderFromParty _0813575A: adds r0, r2, r4 adds r1, r2, r3 @@ -2336,7 +2336,7 @@ _0813575A: b _0813589A .align 2, 0 _0813576C: .4byte gSaveBlock2 + 0x565 -_08135770: .4byte gBufferedMoves +_08135770: .4byte gSelectedOrderFromParty _08135774: ldr r3, _081357C0 @ =0x00000564 adds r0, r5, r3 @@ -2665,7 +2665,7 @@ _08135A10: .4byte 0x00000554 sub_8135A14: @ 8135A14 push {r4,lr} movs r2, 0 - ldr r4, _08135A34 @ =gBufferedMoves + ldr r4, _08135A34 @ =gSelectedOrderFromParty ldr r3, _08135A38 @ =gSaveBlock2 + 0x565 _08135A1C: adds r0, r2, r4 @@ -2680,7 +2680,7 @@ _08135A1C: pop {r0} bx r0 .align 2, 0 -_08135A34: .4byte gBufferedMoves +_08135A34: .4byte gSelectedOrderFromParty _08135A38: .4byte gSaveBlock2 + 0x565 thumb_func_end sub_8135A14 diff --git a/asm/choose_party.s b/asm/choose_party.s deleted file mode 100644 index efa50dcf5..000000000 --- a/asm/choose_party.s +++ /dev/null @@ -1,2509 +0,0 @@ - .include "constants/gba_constants.inc" - .include "constants/species_constants.inc" - .include "asm/macros.inc" - - .syntax unified - - .text - - thumb_func_start sub_8121E10 -sub_8121E10: @ 8121E10 - push {lr} - bl sub_8121E58 - ldr r0, _08121E2C @ =0x0201b000 - ldr r1, _08121E30 @ =0x00000263 - adds r0, r1 - movs r1, 0 - strb r1, [r0] - movs r0, 0x4 - bl OpenPartyMenu - pop {r0} - bx r0 - .align 2, 0 -_08121E2C: .4byte 0x0201b000 -_08121E30: .4byte 0x00000263 - thumb_func_end sub_8121E10 - - thumb_func_start sub_8121E34 -sub_8121E34: @ 8121E34 - push {lr} - bl sub_8121E58 - ldr r0, _08121E50 @ =0x0201b000 - ldr r1, _08121E54 @ =0x00000263 - adds r0, r1 - movs r1, 0x1 - strb r1, [r0] - movs r0, 0x4 - movs r1, 0 - bl OpenPartyMenu - pop {r0} - bx r0 - .align 2, 0 -_08121E50: .4byte 0x0201b000 -_08121E54: .4byte 0x00000263 - thumb_func_end sub_8121E34 - - thumb_func_start sub_8121E58 -sub_8121E58: @ 8121E58 - push {lr} - movs r1, 0 - ldr r3, _08121E74 @ =gBufferedMoves - movs r2, 0 -_08121E60: - adds r0, r1, r3 - strb r2, [r0] - adds r0, r1, 0x1 - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0x2 - bls _08121E60 - pop {r0} - bx r0 - .align 2, 0 -_08121E74: .4byte gBufferedMoves - thumb_func_end sub_8121E58 - - thumb_func_start sub_8121E78 -sub_8121E78: @ 8121E78 - push {r4-r6,lr} - ldr r1, _08121E98 @ =0x0201b000 - movs r2, 0x99 - lsls r2, 2 - adds r0, r1, r2 - movs r2, 0 - ldrsh r0, [r0, r2] - adds r4, r1, 0 - cmp r0, 0x7 - bls _08121E8E - b _08122026 -_08121E8E: - lsls r0, 2 - ldr r1, _08121E9C @ =_08121EA0 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_08121E98: .4byte 0x0201b000 -_08121E9C: .4byte _08121EA0 - .align 2, 0 -_08121EA0: - .4byte _08121EC0 - .4byte _08121F00 - .4byte _08121F14 - .4byte _08121F28 - .4byte _08121F54 - .4byte _08121F68 - .4byte _08121F6E - .4byte _08121FF8 -_08121EC0: - ldr r0, _08121EE8 @ =0x00000266 - adds r5, r4, r0 - movs r1, 0 - ldrsh r3, [r5, r1] - ldr r0, _08121EEC @ =gPlayerPartyCount - ldrb r0, [r0] - cmp r3, r0 - bge _08121EF4 - movs r2, 0x98 - lsls r2, 2 - adds r0, r4, r2 - ldrb r0, [r0] - ldrb r1, [r5] - movs r2, 0x64 - muls r2, r3 - ldr r3, _08121EF0 @ =gPlayerParty - adds r2, r3 - bl TryCreatePartyMenuMonIcon - b _08122020 - .align 2, 0 -_08121EE8: .4byte 0x00000266 -_08121EEC: .4byte gPlayerPartyCount -_08121EF0: .4byte gPlayerParty -_08121EF4: - movs r0, 0 - strh r0, [r5] - movs r0, 0x99 - lsls r0, 2 - adds r1, r4, r0 - b _08121FE8 -_08121F00: - bl LoadHeldItemIconGraphics - ldr r1, _08121F10 @ =0x0201b000 - movs r2, 0x99 - lsls r2, 2 - adds r1, r2 - b _08121FE8 - .align 2, 0 -_08121F10: .4byte 0x0201b000 -_08121F14: - movs r1, 0x98 - lsls r1, 2 - adds r0, r4, r1 - ldrb r0, [r0] - bl CreateHeldItemIcons_806DC34 - movs r2, 0x99 - lsls r2, 2 - adds r1, r4, r2 - b _08121FE8 -_08121F28: - movs r1, 0x98 - lsls r1, 2 - adds r0, r4, r1 - ldrb r0, [r0] - ldr r2, _08121F50 @ =0x00000266 - adds r5, r4, r2 - ldrb r1, [r5] - bl sub_806BD58 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _08122020 - movs r0, 0 - strh r0, [r5] - movs r0, 0x99 - lsls r0, 2 - adds r1, r4, r0 - b _08121FE8 - .align 2, 0 -_08121F50: .4byte 0x00000266 -_08121F54: - bl PartyMenuPrintMonsLevelOrStatus - ldr r1, _08121F64 @ =0x0201b000 - movs r2, 0x99 - lsls r2, 2 - adds r1, r2 - b _08121FE8 - .align 2, 0 -_08121F64: .4byte 0x0201b000 -_08121F68: - bl PrintPartyMenuMonNicknames - b _08121FE0 -_08121F6E: - movs r5, 0 - b _08121FD8 -_08121F72: - movs r4, 0 - adds r6, r5, 0x1 - b _08121F7E -_08121F78: - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 -_08121F7E: - cmp r4, 0x2 - bhi _08121FA0 - ldr r0, _08121FC4 @ =gBufferedMoves - adds r0, r4, r0 - ldrb r0, [r0] - cmp r0, r6 - bne _08121F78 - lsls r1, r4, 3 - subs r1, r4 - lsls r1, 25 - movs r2, 0xE0 - lsls r2, 21 - adds r1, r2 - lsrs r1, 24 - adds r0, r5, 0 - bl sub_806BC3C -_08121FA0: - cmp r4, 0x3 - bne _08121FD4 - movs r0, 0x64 - muls r0, r5 - ldr r1, _08121FC8 @ =gPlayerParty - adds r0, r1 - bl sub_8122030 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _08121FCC - adds r0, r5, 0 - movs r1, 0x70 - bl sub_806BC3C - b _08121FD4 - .align 2, 0 -_08121FC4: .4byte gBufferedMoves -_08121FC8: .4byte gPlayerParty -_08121FCC: - adds r0, r5, 0 - movs r1, 0x7E - bl sub_806BC3C -_08121FD4: - lsls r0, r6, 24 - lsrs r5, r0, 24 -_08121FD8: - ldr r0, _08121FF0 @ =gPlayerPartyCount - ldrb r0, [r0] - cmp r5, r0 - bcc _08121F72 -_08121FE0: - ldr r1, _08121FF4 @ =0x0201b000 - movs r0, 0x99 - lsls r0, 2 - adds r1, r0 -_08121FE8: - ldrh r0, [r1] - adds r0, 0x1 - strh r0, [r1] - b _08122026 - .align 2, 0 -_08121FF0: .4byte gPlayerPartyCount -_08121FF4: .4byte 0x0201b000 -_08121FF8: - ldr r1, _0812201C @ =0x00000266 - adds r5, r4, r1 - ldrb r0, [r5] - bl sub_806B58C - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _08122020 - movs r1, 0 - strh r1, [r5] - movs r2, 0x99 - lsls r2, 2 - adds r0, r4, r2 - strh r1, [r0] - movs r0, 0x1 - b _08122028 - .align 2, 0 -_0812201C: .4byte 0x00000266 -_08122020: - ldrh r0, [r5] - adds r0, 0x1 - strh r0, [r5] -_08122026: - movs r0, 0 -_08122028: - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_8121E78 - - thumb_func_start sub_8122030 -sub_8122030: @ 8122030 - push {r4,lr} - adds r4, r0, 0 - movs r1, 0x2D - bl GetMonData - cmp r0, 0 - bne _0812207C - ldr r0, _08122058 @ =0x0201b000 - ldr r1, _0812205C @ =0x00000263 - adds r0, r1 - ldrb r0, [r0] - cmp r0, 0 - bne _08122060 - adds r0, r4, 0 - movs r1, 0x39 - bl GetMonData - cmp r0, 0 - beq _0812207C - b _081220B6 - .align 2, 0 -_08122058: .4byte 0x0201b000 -_0812205C: .4byte 0x00000263 -_08122060: - ldr r0, _08122080 @ =gSaveBlock2 - ldr r1, _08122084 @ =0x00000554 - adds r0, r1 - ldrb r1, [r0] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - bne _08122088 - adds r0, r4, 0 - movs r1, 0x38 - bl GetMonData - cmp r0, 0x32 - bls _08122088 -_0812207C: - movs r0, 0 - b _081220B8 - .align 2, 0 -_08122080: .4byte gSaveBlock2 -_08122084: .4byte 0x00000554 -_08122088: - adds r0, r4, 0 - movs r1, 0xB - bl GetMonData - lsls r0, 16 - lsrs r3, r0, 16 - ldr r1, _081220C0 @ =gBattleTowerBanlist - movs r0, 0 - lsls r0, 1 - adds r2, r0, r1 - ldrh r0, [r2] - ldr r1, _081220C4 @ =0x0000ffff - cmp r0, r1 - beq _081220B6 - adds r4, r1, 0 - adds r1, r2, 0 -_081220A8: - ldrh r0, [r1] - cmp r0, r3 - beq _0812207C - adds r1, 0x2 - ldrh r0, [r1] - cmp r0, r4 - bne _081220A8 -_081220B6: - movs r0, 0x1 -_081220B8: - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_081220C0: .4byte gBattleTowerBanlist -_081220C4: .4byte 0x0000ffff - thumb_func_end sub_8122030 - - thumb_func_start sub_81220C8 -sub_81220C8: @ 81220C8 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - ldr r1, _081220EC @ =0x0201b000 - ldr r2, _081220F0 @ =0x00000263 - adds r0, r1, r2 - ldrb r0, [r0] - cmp r0, 0 - beq _081221A2 - ldr r0, _081220F4 @ =gBufferedMoves - ldrb r0, [r0, 0x2] - cmp r0, 0 - bne _08122100 - movs r0, 0x11 - b _081221A4 - .align 2, 0 -_081220EC: .4byte 0x0201b000 -_081220F0: .4byte 0x00000263 -_081220F4: .4byte gBufferedMoves -_081220F8: - movs r0, 0x12 - b _081221A4 -_081220FC: - movs r0, 0x13 - b _081221A4 -_08122100: - movs r5, 0 -_08122102: - ldr r4, _081221B4 @ =gBufferedMoves - adds r4, r5, r4 - ldrb r0, [r4] - movs r1, 0x64 - muls r0, r1 - ldr r2, _081221B8 @ =gUnknown_030042FC - adds r0, r2 - movs r1, 0xB - bl GetMonData - ldr r1, _081221BC @ =0x0201b000 - ldr r2, _081221C0 @ =0x00000282 - adds r6, r1, r2 - strh r0, [r6] - ldrb r0, [r4] - movs r1, 0x64 - muls r0, r1 - ldr r2, _081221B8 @ =gUnknown_030042FC - adds r0, r2 - movs r1, 0xC - bl GetMonData - ldr r1, _081221C4 @ =0x0201b280 - strh r0, [r1] - adds r1, r5, 0x1 - lsls r0, r1, 24 - lsrs r5, r0, 24 - mov r10, r1 - cmp r5, 0x2 - bhi _08122198 - ldr r2, _081221C8 @ =0xfffffd7e - adds r2, r6 - mov r9, r2 - movs r0, 0x64 - mov r8, r0 - ldr r7, _081221B8 @ =gUnknown_030042FC -_0812214A: - ldr r0, _081221C0 @ =0x00000282 - add r0, r9 - movs r1, 0 - ldrsh r4, [r0, r1] - ldr r0, _081221B4 @ =gBufferedMoves - adds r6, r5, r0 - ldrb r0, [r6] - mov r2, r8 - muls r2, r0 - adds r0, r2, 0 - adds r0, r7 - movs r1, 0xB - bl GetMonData - cmp r4, r0 - beq _081220F8 - movs r1, 0xA0 - lsls r1, 2 - add r1, r9 - movs r2, 0 - ldrsh r0, [r1, r2] - cmp r0, 0 - beq _0812218E - adds r4, r0, 0 - ldrb r0, [r6] - mov r1, r8 - muls r1, r0 - adds r0, r1, 0 - adds r0, r7 - movs r1, 0xC - bl GetMonData - cmp r4, r0 - beq _081220FC -_0812218E: - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0x2 - bls _0812214A -_08122198: - mov r2, r10 - lsls r0, r2, 24 - lsrs r5, r0, 24 - cmp r5, 0x1 - bls _08122102 -_081221A2: - movs r0, 0xFF -_081221A4: - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_081221B4: .4byte gBufferedMoves -_081221B8: .4byte gUnknown_030042FC -_081221BC: .4byte 0x0201b000 -_081221C0: .4byte 0x00000282 -_081221C4: .4byte 0x0201b280 -_081221C8: .4byte 0xfffffd7e - thumb_func_end sub_81220C8 - - thumb_func_start sub_81221CC -sub_81221CC: @ 81221CC - push {lr} - lsls r0, 24 - lsrs r2, r0, 24 - movs r1, 0 - ldr r3, _081221E4 @ =gBufferedMoves -_081221D6: - adds r0, r1, r3 - ldrb r0, [r0] - cmp r0, r2 - bne _081221E8 - movs r0, 0x1 - b _081221F4 - .align 2, 0 -_081221E4: .4byte gBufferedMoves -_081221E8: - adds r0, r1, 0x1 - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0x2 - bls _081221D6 - movs r0, 0 -_081221F4: - pop {r1} - bx r1 - thumb_func_end sub_81221CC - - thumb_func_start sub_81221F8 -sub_81221F8: @ 81221F8 - push {r4,r5,lr} - lsls r0, 24 - lsrs r4, r0, 24 - movs r0, 0x5 - movs r1, 0x1 - bl sub_806D538 - ldr r5, _08122248 @ =gLastFieldPokeMenuOpened - ldrb r1, [r5] - movs r0, 0x64 - muls r0, r1 - ldr r1, _0812224C @ =gPlayerParty - adds r0, r1 - bl sub_8122030 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _08122284 - ldrb r0, [r5] - adds r0, 0x1 - lsls r0, 24 - lsrs r0, 24 - bl sub_81221CC - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0x1 - bne _0812225C - ldr r1, _08122250 @ =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - strh r2, [r0, 0x10] - ldr r1, _08122254 @ =gUnknown_084017D8 - ldr r2, _08122258 @ =gUnknown_084017B0 - movs r0, 0x1 - b _08122270 - .align 2, 0 -_08122248: .4byte gLastFieldPokeMenuOpened -_0812224C: .4byte gPlayerParty -_08122250: .4byte gTasks -_08122254: .4byte gUnknown_084017D8 -_08122258: .4byte gUnknown_084017B0 -_0812225C: - ldr r1, _08122278 @ =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - movs r1, 0 - strh r1, [r0, 0x10] - ldr r1, _0812227C @ =gUnknown_084017D8 - ldr r2, _08122280 @ =gUnknown_084017B0 - movs r0, 0 -_08122270: - movs r3, 0 - bl sub_806E750 - b _0812229E - .align 2, 0 -_08122278: .4byte gTasks -_0812227C: .4byte gUnknown_084017D8 -_08122280: .4byte gUnknown_084017B0 -_08122284: - ldr r1, _081222A4 @ =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - movs r1, 0x2 - strh r1, [r0, 0x10] - ldr r1, _081222A8 @ =gUnknown_084017D8 - ldr r2, _081222AC @ =gUnknown_084017B0 - movs r0, 0x2 - movs r3, 0 - bl sub_806E750 -_0812229E: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_081222A4: .4byte gTasks -_081222A8: .4byte gUnknown_084017D8 -_081222AC: .4byte gUnknown_084017B0 - thumb_func_end sub_81221F8 - - thumb_func_start sub_81222B0 -sub_81222B0: @ 81222B0 - push {r4,r5,lr} - sub sp, 0x4 - lsls r0, 24 - lsrs r4, r0, 24 - ldr r0, _081222DC @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0 - bne _0812237C - adds r0, r4, 0 - bl sub_806BE38 - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x1 - beq _081222E0 - cmp r0, 0x2 - beq _08122354 - b _0812237C - .align 2, 0 -_081222DC: .4byte gPaletteFade -_081222E0: - movs r0, 0x5 - bl PlaySE - adds r0, r4, 0 - bl sub_806CA38 - ldr r1, _08122320 @ =gLastFieldPokeMenuOpened - strb r0, [r1] - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x6 - beq _08122334 - ldrb r1, [r1] - movs r0, 0x64 - muls r0, r1 - ldr r1, _08122324 @ =gPlayerParty - adds r0, r1 - ldr r1, _08122328 @ =gStringVar1 - bl GetMonNickname - adds r0, r4, 0 - bl sub_81221F8 - ldr r1, _0812232C @ =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - ldr r1, _08122330 @ =sub_812238C - str r1, [r0] - b _08122342 - .align 2, 0 -_08122320: .4byte gLastFieldPokeMenuOpened -_08122324: .4byte gPlayerParty -_08122328: .4byte gStringVar1 -_0812232C: .4byte gTasks -_08122330: .4byte sub_812238C -_08122334: - ldr r0, _0812234C @ =gTasks - lsls r1, r4, 2 - adds r1, r4 - lsls r1, 3 - adds r1, r0 - ldr r0, _08122350 @ =sub_81224A8 - str r0, [r1] -_08122342: - adds r0, r4, 0 - bl sub_808B5B4 - b _0812237C - .align 2, 0 -_0812234C: .4byte gTasks -_08122350: .4byte sub_81224A8 -_08122354: - movs r0, 0x5 - bl PlaySE - bl sub_8121E58 - movs r0, 0x1 - negs r0, r0 - str r5, [sp] - movs r1, 0 - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade - ldr r1, _08122384 @ =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - ldr r1, _08122388 @ =sub_8122450 - str r1, [r0] -_0812237C: - add sp, 0x4 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08122384: .4byte gTasks -_08122388: .4byte sub_8122450 - thumb_func_end sub_81222B0 - - thumb_func_start sub_812238C -sub_812238C: @ 812238C - push {r4-r7,lr} - lsls r0, 24 - lsrs r7, r0, 24 - adds r4, r7, 0 - ldr r0, _081223C8 @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r3, 0x80 - adds r0, r3, 0 - ands r0, r1 - cmp r0, 0 - bne _0812244A - ldr r2, _081223CC @ =gMain - ldrh r1, [r2, 0x30] - movs r0, 0x40 - ands r0, r1 - cmp r0, 0 - beq _081223D0 - bl GetMenuCursorPos - lsls r0, 24 - cmp r0, 0 - beq _0812244A - movs r0, 0x5 - bl PlaySE - movs r0, 0x1 - negs r0, r0 - bl MoveMenuCursor - b _0812244A - .align 2, 0 -_081223C8: .4byte gPaletteFade -_081223CC: .4byte gMain -_081223D0: - adds r0, r3, 0 - ands r0, r1 - cmp r0, 0 - beq _081223F2 - bl GetMenuCursorPos - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x3 - beq _0812244A - movs r0, 0x5 - bl PlaySE - movs r0, 0x1 - bl MoveMenuCursor - b _0812244A -_081223F2: - ldrh r1, [r2, 0x2E] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _0812243C - movs r0, 0x5 - bl PlaySE - ldr r1, _08122430 @ =gTasks - lsls r0, r7, 2 - adds r0, r7 - lsls r0, 3 - adds r0, r1 - ldrb r4, [r0, 0x10] - ldr r5, _08122434 @ =gUnknown_084017D8 - ldr r6, _08122438 @ =gUnknown_084017B0 - bl GetMenuCursorPos - adds r3, r0, 0 - lsls r3, 24 - lsrs r3, 24 - adds r0, r4, 0 - adds r1, r5, 0 - adds r2, r6, 0 - bl PartyMenuGetPopupMenuFunc - adds r1, r0, 0 - adds r0, r7, 0 - bl _call_via_r1 - b _0812244A - .align 2, 0 -_08122430: .4byte gTasks -_08122434: .4byte gUnknown_084017D8 -_08122438: .4byte gUnknown_084017B0 -_0812243C: - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _0812244A - adds r0, r4, 0 - bl sub_8122838 -_0812244A: - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_812238C - - thumb_func_start sub_8122450 -sub_8122450: @ 8122450 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r0, _08122478 @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _08122470 - ldr r0, _0812247C @ =gMain - ldr r0, [r0, 0x8] - bl SetMainCallback2 - adds r0, r4, 0 - bl DestroyTask -_08122470: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08122478: .4byte gPaletteFade -_0812247C: .4byte gMain - thumb_func_end sub_8122450 - - thumb_func_start sub_8122480 -sub_8122480: @ 8122480 - push {lr} - lsls r0, 24 - lsrs r2, r0, 24 - ldr r0, _081224A4 @ =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - bne _0812249A - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _081224A0 -_0812249A: - adds r0, r2, 0 - bl sub_8122838 -_081224A0: - pop {r0} - bx r0 - .align 2, 0 -_081224A4: .4byte gMain - thumb_func_end sub_8122480 - - thumb_func_start sub_81224A8 -sub_81224A8: @ 81224A8 - push {r4,r5,lr} - sub sp, 0x4 - lsls r0, 24 - lsrs r4, r0, 24 - adds r5, r4, 0 - bl sub_81220C8 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0xFF - beq _081224D0 - movs r1, 0 - bl sub_806D538 - ldr r0, _081224CC @ =gTasks - lsls r1, r4, 2 - adds r1, r4 - b _08122518 - .align 2, 0 -_081224CC: .4byte gTasks -_081224D0: - ldr r0, _081224F8 @ =gBufferedMoves - ldrb r0, [r0] - cmp r0, 0 - beq _08122504 - movs r0, 0x1 - negs r0, r0 - movs r1, 0 - str r1, [sp] - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade - ldr r1, _081224FC @ =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - ldr r1, _08122500 @ =sub_8122450 - str r1, [r0] - b _08122520 - .align 2, 0 -_081224F8: .4byte gBufferedMoves -_081224FC: .4byte gTasks -_08122500: .4byte sub_8122450 -_08122504: - movs r0, 0x20 - bl PlaySE - movs r0, 0xE - movs r1, 0 - bl sub_806D538 - ldr r0, _08122528 @ =gTasks - lsls r1, r5, 2 - adds r1, r5 -_08122518: - lsls r1, 3 - adds r1, r0 - ldr r0, _0812252C @ =sub_8122480 - str r0, [r1] -_08122520: - add sp, 0x4 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08122528: .4byte gTasks -_0812252C: .4byte sub_8122480 - thumb_func_end sub_81224A8 - - thumb_func_start sub_8122530 -sub_8122530: @ 8122530 - push {r4,r5,lr} - ldr r5, _08122578 @ =0x0201b260 - ldr r4, _0812257C @ =gUnknown_020384F0 -_08122536: - bl sub_806B124 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _08122590 - ldrb r0, [r5] - ldrb r1, [r4] - bl sub_806C994 - ldrb r0, [r5] - movs r1, 0 - bl sub_806C658 - ldrb r1, [r4] - movs r0, 0x64 - muls r0, r1 - ldr r1, _08122580 @ =gPlayerParty - adds r0, r1 - ldr r1, _08122584 @ =gStringVar1 - bl GetMonNickname - ldr r1, _08122588 @ =gLastFieldPokeMenuOpened - ldrb r0, [r4] - strb r0, [r1] - ldrb r0, [r5] - bl sub_81221F8 - ldr r0, _0812258C @ =sub_806AEDC - bl SetMainCallback2 - b _0812259C - .align 2, 0 -_08122578: .4byte 0x0201b260 -_0812257C: .4byte gUnknown_020384F0 -_08122580: .4byte gPlayerParty -_08122584: .4byte gStringVar1 -_08122588: .4byte gLastFieldPokeMenuOpened -_0812258C: .4byte sub_806AEDC -_08122590: - bl sub_80F9344 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _08122536 -_0812259C: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_8122530 - - thumb_func_start sub_81225A4 -sub_81225A4: @ 81225A4 - push {lr} - ldr r2, _081225C8 @ =gPaletteFade - ldrb r0, [r2, 0x8] - movs r1, 0x80 - orrs r0, r1 - strb r0, [r2, 0x8] - ldr r2, _081225CC @ =sub_812238C - movs r0, 0x4 - movs r1, 0xFF - movs r3, 0x5 - bl sub_806AF4C - ldr r0, _081225D0 @ =sub_8122530 - bl SetMainCallback2 - pop {r0} - bx r0 - .align 2, 0 -_081225C8: .4byte gPaletteFade -_081225CC: .4byte sub_812238C -_081225D0: .4byte sub_8122530 - thumb_func_end sub_81225A4 - - thumb_func_start sub_81225D4 -sub_81225D4: @ 81225D4 - push {r4,r5,lr} - sub sp, 0x4 - lsls r0, 24 - lsrs r3, r0, 24 - ldr r0, _0812263C @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0 - bne _08122632 - ldr r2, _08122640 @ =gSprites - ldr r1, _08122644 @ =gTasks - lsls r0, r3, 2 - adds r0, r3 - lsls r0, 3 - adds r0, r1 - ldrh r1, [r0, 0xE] - lsls r1, 16 - asrs r1, 24 - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrh r4, [r0, 0x2E] - lsls r4, 24 - lsrs r4, 24 - adds r0, r3, 0 - bl DestroyTask - ldr r0, _08122648 @ =0x0201b000 - ldr r1, _0812264C @ =0x00000262 - adds r0, r1 - movs r1, 0x1 - strb r1, [r0] - ldr r0, _08122650 @ =gPlayerParty - ldr r1, _08122654 @ =gPlayerPartyCount - ldrb r2, [r1] - subs r2, 0x1 - lsls r2, 24 - lsrs r2, 24 - ldr r3, _08122658 @ =sub_81225A4 - str r5, [sp] - adds r1, r4, 0 - bl ShowPokemonSummaryScreen -_08122632: - add sp, 0x4 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0812263C: .4byte gPaletteFade -_08122640: .4byte gSprites -_08122644: .4byte gTasks -_08122648: .4byte 0x0201b000 -_0812264C: .4byte 0x00000262 -_08122650: .4byte gPlayerParty -_08122654: .4byte gPlayerPartyCount -_08122658: .4byte sub_81225A4 - thumb_func_end sub_81225D4 - - thumb_func_start sub_812265C -sub_812265C: @ 812265C - push {r4,lr} - sub sp, 0x4 - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - movs r0, 0x1 - negs r0, r0 - movs r1, 0 - str r1, [sp] - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade - ldr r1, _0812268C @ =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - ldr r1, _08122690 @ =sub_81225D4 - str r1, [r0] - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0812268C: .4byte gTasks -_08122690: .4byte sub_81225D4 - thumb_func_end sub_812265C - - thumb_func_start sub_8122694 -sub_8122694: @ 8122694 - push {r4,r5,lr} - lsls r0, 24 - lsrs r5, r0, 24 - movs r4, 0 - ldr r3, _081226D4 @ =gBufferedMoves - ldr r2, _081226D8 @ =gLastFieldPokeMenuOpened -_081226A0: - adds r1, r4, r3 - ldrb r0, [r1] - cmp r0, 0 - bne _081226DC - ldrb r0, [r2] - adds r0, 0x1 - strb r0, [r1] - ldrb r0, [r2] - lsls r1, r4, 3 - subs r1, r4 - lsls r1, 25 - movs r2, 0xE0 - lsls r2, 21 - adds r1, r2 - lsrs r1, 24 - bl sub_806BC3C - cmp r4, 0x2 - bne _081226CC - adds r0, r5, 0 - bl sub_806C890 -_081226CC: - adds r0, r5, 0 - bl sub_8122838 - b _08122716 - .align 2, 0 -_081226D4: .4byte gBufferedMoves -_081226D8: .4byte gLastFieldPokeMenuOpened -_081226DC: - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x2 - bls _081226A0 - movs r0, 0x20 - bl PlaySE - movs r0, 0x14 - movs r1, 0xA - movs r2, 0x1D - movs r3, 0x13 - bl MenuZeroFillWindowRect - bl HandleDestroyMenuCursors - bl sub_806D5A4 - ldr r0, _0812271C @ =gOtherText_NoMoreThreePoke - movs r1, 0x1 - bl sub_806E834 - ldr r1, _08122720 @ =gTasks - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r0, r1 - ldr r1, _08122724 @ =sub_8122728 - str r1, [r0] -_08122716: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0812271C: .4byte gOtherText_NoMoreThreePoke -_08122720: .4byte gTasks -_08122724: .4byte sub_8122728 - thumb_func_end sub_8122694 - - thumb_func_start sub_8122728 -sub_8122728: @ 8122728 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r0, _08122768 @ =gUnknown_0202E8F6 - ldrb r0, [r0] - cmp r0, 0x1 - beq _08122760 - ldr r0, _0812276C @ =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - bne _0812274A - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _08122760 -_0812274A: - movs r0, 0 - movs r1, 0xE - movs r2, 0x1D - movs r3, 0x13 - bl MenuZeroFillWindowRect - bl HandleDestroyMenuCursors - adds r0, r4, 0 - bl sub_8122838 -_08122760: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08122768: .4byte gUnknown_0202E8F6 -_0812276C: .4byte gMain - thumb_func_end sub_8122728 - - thumb_func_start sub_8122770 -sub_8122770: @ 8122770 - push {r4-r6,lr} - lsls r0, 24 - lsrs r6, r0, 24 - movs r4, 0 - ldr r5, _08122798 @ =gLastFieldPokeMenuOpened - ldr r3, _0812279C @ =gBufferedMoves -_0812277C: - adds r2, r4, r3 - ldrb r1, [r2] - ldrb r0, [r5] - adds r0, 0x1 - cmp r1, r0 - bne _081227B4 - movs r1, 0 - strb r1, [r2] - cmp r4, 0 - beq _081227A0 - cmp r4, 0x1 - beq _081227AC - b _081227BE - .align 2, 0 -_08122798: .4byte gLastFieldPokeMenuOpened -_0812279C: .4byte gBufferedMoves -_081227A0: - ldrb r0, [r3, 0x1] - strb r0, [r3] - ldrb r0, [r3, 0x2] - strb r0, [r3, 0x1] - strb r4, [r3, 0x2] - b _081227BE -_081227AC: - ldrb r0, [r3, 0x2] - strb r0, [r3, 0x1] - strb r1, [r3, 0x2] - b _081227BE -_081227B4: - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x2 - bls _0812277C -_081227BE: - ldrb r0, [r5] - movs r1, 0x70 - bl sub_806BC3C - ldr r4, _081227F8 @ =gBufferedMoves - ldrb r0, [r4] - cmp r0, 0 - beq _081227DA - subs r0, 0x1 - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x1C - bl sub_806BC3C -_081227DA: - ldrb r0, [r4, 0x1] - cmp r0, 0 - beq _081227EC - subs r0, 0x1 - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x2A - bl sub_806BC3C -_081227EC: - adds r0, r6, 0 - bl sub_8122838 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_081227F8: .4byte gBufferedMoves - thumb_func_end sub_8122770 - - thumb_func_start sub_81227FC -sub_81227FC: @ 81227FC - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - movs r0, 0x14 - movs r1, 0xA - movs r2, 0x1D - movs r3, 0x13 - bl MenuZeroFillWindowRect - bl HandleDestroyMenuCursors - movs r0, 0 - movs r1, 0 - bl sub_806D538 - ldr r1, _08122830 @ =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - ldr r1, _08122834 @ =sub_81222B0 - str r1, [r0] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08122830: .4byte gTasks -_08122834: .4byte sub_81222B0 - thumb_func_end sub_81227FC - - thumb_func_start sub_8122838 -sub_8122838: @ 8122838 - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - movs r0, 0x5 - bl PlaySE - adds r0, r4, 0 - bl sub_81227FC - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_8122838 - - thumb_func_start sub_8122854 -sub_8122854: @ 8122854 - push {r4,lr} - ldr r1, _08122874 @ =0x0201b000 - movs r2, 0x99 - lsls r2, 2 - adds r0, r1, r2 - movs r2, 0 - ldrsh r0, [r0, r2] - adds r4, r1, 0 - cmp r0, 0x4 - bhi _081228E0 - lsls r0, 2 - ldr r1, _08122878 @ =_0812287C - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_08122874: .4byte 0x0201b000 -_08122878: .4byte _0812287C - .align 2, 0 -_0812287C: - .4byte _08122890 - .4byte _081228A4 - .4byte _081228AA - .4byte _081228BE - .4byte _081228D8 -_08122890: - movs r1, 0x98 - lsls r1, 2 - adds r0, r4, r1 - ldrb r0, [r0] - bl sub_81228E8 - movs r2, 0x99 - lsls r2, 2 - adds r1, r4, r2 - b _081228CA -_081228A4: - bl LoadHeldItemIconGraphics - b _081228C2 -_081228AA: - movs r1, 0x98 - lsls r1, 2 - adds r0, r4, r1 - ldrb r0, [r0] - bl sub_8122950 - movs r2, 0x99 - lsls r2, 2 - adds r1, r4, r2 - b _081228CA -_081228BE: - bl sub_81229B8 -_081228C2: - ldr r1, _081228D4 @ =0x0201b000 - movs r0, 0x99 - lsls r0, 2 - adds r1, r0 -_081228CA: - ldrh r0, [r1] - adds r0, 0x1 - strh r0, [r1] - b _081228E0 - .align 2, 0 -_081228D4: .4byte 0x0201b000 -_081228D8: - bl sub_806B908 - movs r0, 0x1 - b _081228E2 -_081228E0: - movs r0, 0 -_081228E2: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_8122854 - - thumb_func_start sub_81228E8 -sub_81228E8: @ 81228E8 - push {r4-r6,lr} - lsls r0, 24 - lsrs r6, r0, 24 - movs r5, 0 -_081228F0: - movs r0, 0x64 - adds r1, r5, 0 - muls r1, r0 - ldr r0, _08122948 @ =gPlayerParty - adds r4, r1, r0 - adds r0, r4, 0 - movs r1, 0xB - bl GetMonData - cmp r0, 0 - beq _08122912 - adds r0, r6, 0 - adds r1, r5, 0 - movs r2, 0x3 - adds r3, r4, 0 - bl CreatePartyMenuMonIcon -_08122912: - ldr r0, _0812294C @ =gUnknown_02023A00 - lsls r1, r5, 5 - adds r3, r1, r0 - ldrh r0, [r3] - cmp r0, 0 - beq _08122936 - adds r4, r5, 0x3 - lsls r4, 24 - lsrs r4, 24 - adds r0, r6, 0 - adds r1, r4, 0 - movs r2, 0x3 - bl CreateMonIcon_806D99C - adds r0, r6, 0 - adds r1, r4, 0 - bl sub_806D50C -_08122936: - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0x2 - bls _081228F0 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_08122948: .4byte gPlayerParty -_0812294C: .4byte gUnknown_02023A00 - thumb_func_end sub_81228E8 - - thumb_func_start sub_8122950 -sub_8122950: @ 8122950 - push {r4-r6,lr} - lsls r0, 24 - lsrs r6, r0, 24 - movs r5, 0 -_08122958: - movs r0, 0x64 - adds r1, r5, 0 - muls r1, r0 - ldr r0, _081229B0 @ =gPlayerParty - adds r4, r1, r0 - adds r0, r4, 0 - movs r1, 0xB - bl GetMonData - cmp r0, 0 - beq _08122984 - adds r0, r4, 0 - movs r1, 0xC - bl GetMonData - adds r2, r0, 0 - lsls r2, 16 - lsrs r2, 16 - adds r0, r6, 0 - adds r1, r5, 0 - bl CreateHeldItemIcon_806DCD4 -_08122984: - ldr r0, _081229B4 @ =gUnknown_02023A00 - lsls r1, r5, 5 - adds r2, r1, r0 - ldrh r0, [r2] - cmp r0, 0 - beq _0812299E - adds r1, r5, 0x3 - lsls r1, 24 - lsrs r1, 24 - ldrh r2, [r2, 0x2] - adds r0, r6, 0 - bl CreateHeldItemIcon_806DCD4 -_0812299E: - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0x2 - bls _08122958 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_081229B0: .4byte gPlayerParty -_081229B4: .4byte gUnknown_02023A00 - thumb_func_end sub_8122950 - - thumb_func_start sub_81229B8 -sub_81229B8: @ 81229B8 - push {r4-r7,lr} - movs r5, 0 - movs r7, 0x64 - ldr r6, _08122A00 @ =gPlayerParty -_081229C0: - adds r0, r5, 0 - muls r0, r7 - adds r4, r0, r6 - adds r0, r4, 0 - movs r1, 0xB - bl GetMonData - cmp r0, 0 - beq _08122A36 - adds r0, r5, 0 - movs r1, 0x3 - adds r2, r4, 0 - bl PartyMenuPrintHP - adds r0, r4, 0 - bl GetMonStatusAndPokerus - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0 - beq _08122A04 - cmp r0, 0x6 - beq _08122A04 - subs r2, r0, 0x1 - lsls r2, 24 - lsrs r2, 24 - adds r0, r5, 0 - movs r1, 0x3 - bl PartyMenuPutStatusTilemap - b _08122A12 - .align 2, 0 -_08122A00: .4byte gPlayerParty -_08122A04: - adds r2, r5, 0 - muls r2, r7 - adds r2, r6 - adds r0, r5, 0 - movs r1, 0x3 - bl PartyMenuPrintLevel -_08122A12: - adds r4, r5, 0 - muls r4, r7 - adds r4, r6 - adds r0, r5, 0 - movs r1, 0x3 - adds r2, r4, 0 - bl PartyMenuPutNicknameTilemap - adds r0, r5, 0 - movs r1, 0x3 - adds r2, r4, 0 - bl PrintPartyMenuMonNickname - adds r0, r5, 0 - movs r1, 0x3 - adds r2, r4, 0 - bl PartyMenuDrawHPBar -_08122A36: - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0x2 - bls _081229C0 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_81229B8 - - thumb_func_start sub_8122A48 -sub_8122A48: @ 8122A48 - push {r4-r6,lr} - lsls r0, 24 - lsrs r6, r0, 24 - ldr r0, _08122AA0 @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _08122A98 - ldr r0, _08122AA4 @ =gTasks - lsls r4, r6, 2 - adds r4, r6 - lsls r4, 3 - adds r4, r0 - movs r0, 0x1E - strh r0, [r4, 0x8] - ldr r5, _08122AA8 @ =gUnknown_02023A00 - ldrh r1, [r5] - adds r0, r6, 0 - movs r2, 0 - bl sub_806D4AC - ldrh r1, [r5, 0x20] - adds r0, r6, 0 - movs r2, 0x1 - bl sub_806D4AC - adds r5, 0x40 - ldrh r1, [r5] - adds r0, r6, 0 - movs r2, 0x2 - bl sub_806D4AC - ldr r0, _08122AAC @ =sub_8122AB8 - str r0, [r4] - ldr r0, _08122AB0 @ =0x0201b000 - ldr r1, _08122AB4 @ =0x00000261 - adds r0, r1 - movs r1, 0x1 - strb r1, [r0] -_08122A98: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_08122AA0: .4byte gPaletteFade -_08122AA4: .4byte gTasks -_08122AA8: .4byte gUnknown_02023A00 -_08122AAC: .4byte sub_8122AB8 -_08122AB0: .4byte 0x0201b000 -_08122AB4: .4byte 0x00000261 - thumb_func_end sub_8122A48 - - thumb_func_start sub_8122AB8 -sub_8122AB8: @ 8122AB8 - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - ldr r0, _08122AFC @ =gUnknown_02023A00 - ldrh r1, [r0, 0x20] - adds r0, 0x40 - ldrh r2, [r0] - adds r0, r4, 0 - bl sub_806D3B4 - ldr r1, _08122B00 @ =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r1, r0, r1 - movs r2, 0x8 - ldrsh r0, [r1, r2] - cmp r0, 0 - bne _08122AF4 - ldr r0, _08122B04 @ =sub_8122B10 - str r0, [r1] - ldr r0, _08122B08 @ =0x0201b000 - ldr r1, _08122B0C @ =0x00000261 - adds r0, r1 - movs r1, 0x2 - strb r1, [r0] - movs r0, 0x78 - bl PlaySE -_08122AF4: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08122AFC: .4byte gUnknown_02023A00 -_08122B00: .4byte gTasks -_08122B04: .4byte sub_8122B10 -_08122B08: .4byte 0x0201b000 -_08122B0C: .4byte 0x00000261 - thumb_func_end sub_8122AB8 - - thumb_func_start sub_8122B10 -sub_8122B10: @ 8122B10 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x8 - lsls r0, 24 - lsrs r0, 24 - str r0, [sp, 0x4] - movs r0, 0 - mov r8, r0 - ldr r1, _08122B5C @ =gUnknown_02023A00 - mov r10, r1 - ldr r2, _08122B60 @ =gStringVar1 - mov r9, r2 -_08122B2E: - mov r1, r8 - lsls r0, r1, 5 - mov r2, r10 - adds r6, r0, r2 - ldrh r1, [r6] - adds r7, r0, 0 - cmp r1, 0 - beq _08122BDA - mov r4, r8 - adds r4, 0x3 - lsls r0, r4, 24 - lsrs r5, r0, 24 - ldrh r2, [r6, 0x10] - ldrh r3, [r6, 0x12] - adds r0, r5, 0 - movs r1, 0x3 - bl PartyMenuDoPrintHP - ldrh r0, [r6, 0x10] - cmp r0, 0 - bne _08122B64 - movs r2, 0x7 - b _08122B76 - .align 2, 0 -_08122B5C: .4byte gUnknown_02023A00 -_08122B60: .4byte gStringVar1 -_08122B64: - ldr r1, _08122B88 @ =gUnknown_02023A14 - adds r0, r7, r1 - ldr r0, [r0] - bl pokemon_ailments_get_primary - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0 - beq _08122B8C -_08122B76: - lsls r0, r4, 24 - lsrs r0, 24 - subs r2, 0x1 - lsls r2, 24 - lsrs r2, 24 - movs r1, 0x3 - bl PartyMenuPutStatusTilemap - b _08122B96 - .align 2, 0 -_08122B88: .4byte gUnknown_02023A14 -_08122B8C: - ldrb r2, [r6, 0xF] - adds r0, r5, 0 - movs r1, 0x3 - bl PartyMenuDoPrintLevel -_08122B96: - mov r2, r10 - adds r6, r7, r2 - ldrh r0, [r6] - ldrb r1, [r6, 0x1C] - lsls r4, 24 - lsrs r4, 24 - ldr r2, _08122C0C @ =gUnknown_02023A04 - adds r5, r7, r2 - str r5, [sp] - movs r2, 0x3 - adds r3, r4, 0 - bl PartyMenuDoPutNicknameTilemap - mov r0, r9 - adds r1, r5, 0 - bl StringCopy - mov r0, r9 - bl StringGetEnd10 - mov r0, r9 - bl SanitizeNameString - adds r0, r4, 0 - movs r1, 0x3 - mov r2, r9 - bl box_print - ldrh r2, [r6, 0x10] - ldrh r3, [r6, 0x12] - adds r0, r4, 0 - movs r1, 0x3 - bl PartyMenuDoDrawHPBar -_08122BDA: - mov r0, r8 - adds r0, 0x1 - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - cmp r0, 0x2 - bls _08122B2E - ldr r1, _08122C10 @ =gTasks - ldr r2, [sp, 0x4] - lsls r0, r2, 2 - adds r0, r2 - lsls r0, 3 - adds r0, r1 - ldr r1, _08122C14 @ =sub_8122C18 - str r1, [r0] - movs r1, 0 - strh r1, [r0, 0x8] - add sp, 0x8 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08122C0C: .4byte gUnknown_02023A04 -_08122C10: .4byte gTasks -_08122C14: .4byte sub_8122C18 - thumb_func_end sub_8122B10 - - thumb_func_start sub_8122C18 -sub_8122C18: @ 8122C18 - push {r4,lr} - sub sp, 0x4 - lsls r0, 24 - lsrs r0, 24 - ldr r2, _08122C58 @ =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r4, r1, r2 - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - lsls r0, 16 - movs r1, 0x80 - lsls r1, 17 - cmp r0, r1 - bne _08122C4E - movs r0, 0x1 - negs r0, r0 - movs r1, 0 - str r1, [sp] - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade - ldr r0, _08122C5C @ =sub_8122450 - str r0, [r4] -_08122C4E: - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08122C58: .4byte gTasks -_08122C5C: .4byte sub_8122450 - thumb_func_end sub_8122C18 - - thumb_func_start unref_sub_8122C60 -unref_sub_8122C60: @ 8122C60 - push {r4,r5,lr} - ldr r1, _08122C80 @ =0x0201b000 - movs r2, 0x99 - lsls r2, 2 - adds r0, r1, r2 - movs r2, 0 - ldrsh r0, [r0, r2] - adds r4, r1, 0 - cmp r0, 0x7 - bls _08122C76 - b _08122D8A -_08122C76: - lsls r0, 2 - ldr r1, _08122C84 @ =_08122C88 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_08122C80: .4byte 0x0201b000 -_08122C84: .4byte _08122C88 - .align 2, 0 -_08122C88: - .4byte _08122CA8 - .4byte _08122CE8 - .4byte _08122CEE - .4byte _08122D02 - .4byte _08122D2C - .4byte _08122D32 - .4byte _08122D44 - .4byte _08122D5C -_08122CA8: - ldr r0, _08122CD0 @ =0x00000266 - adds r5, r4, r0 - movs r1, 0 - ldrsh r3, [r5, r1] - ldr r0, _08122CD4 @ =gPlayerPartyCount - ldrb r0, [r0] - cmp r3, r0 - bge _08122CDC - movs r2, 0x98 - lsls r2, 2 - adds r0, r4, r2 - ldrb r0, [r0] - ldrb r1, [r5] - movs r2, 0x64 - muls r2, r3 - ldr r3, _08122CD8 @ =gPlayerParty - adds r2, r3 - bl TryCreatePartyMenuMonIcon - b _08122D84 - .align 2, 0 -_08122CD0: .4byte 0x00000266 -_08122CD4: .4byte gPlayerPartyCount -_08122CD8: .4byte gPlayerParty -_08122CDC: - movs r0, 0 - strh r0, [r5] - movs r0, 0x99 - lsls r0, 2 - adds r1, r4, r0 - b _08122D50 -_08122CE8: - bl LoadHeldItemIconGraphics - b _08122D48 -_08122CEE: - movs r1, 0x98 - lsls r1, 2 - adds r0, r4, r1 - ldrb r0, [r0] - bl CreateHeldItemIcons_806DC34 - movs r2, 0x99 - lsls r2, 2 - adds r1, r4, r2 - b _08122D50 -_08122D02: - movs r1, 0x98 - lsls r1, 2 - adds r0, r4, r1 - ldrb r0, [r0] - ldr r2, _08122D28 @ =0x00000266 - adds r5, r4, r2 - ldrb r1, [r5] - bl sub_806BD58 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _08122D84 - movs r0, 0 - strh r0, [r5] - movs r0, 0x99 - lsls r0, 2 - adds r1, r4, r0 - b _08122D50 - .align 2, 0 -_08122D28: .4byte 0x00000266 -_08122D2C: - bl PartyMenuPrintMonsLevelOrStatus - b _08122D48 -_08122D32: - bl PrintPartyMenuMonNicknames - ldr r1, _08122D40 @ =0x0201b000 - movs r0, 0x99 - lsls r0, 2 - adds r1, r0 - b _08122D50 - .align 2, 0 -_08122D40: .4byte 0x0201b000 -_08122D44: - bl sub_806BCE8 -_08122D48: - ldr r1, _08122D58 @ =0x0201b000 - movs r2, 0x99 - lsls r2, 2 - adds r1, r2 -_08122D50: - ldrh r0, [r1] - adds r0, 0x1 - strh r0, [r1] - b _08122D8A - .align 2, 0 -_08122D58: .4byte 0x0201b000 -_08122D5C: - ldr r0, _08122D80 @ =0x00000266 - adds r5, r4, r0 - ldrb r0, [r5] - bl sub_806B58C - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _08122D84 - movs r1, 0 - strh r1, [r5] - movs r2, 0x99 - lsls r2, 2 - adds r0, r4, r2 - strh r1, [r0] - movs r0, 0x1 - b _08122D8C - .align 2, 0 -_08122D80: .4byte 0x00000266 -_08122D84: - ldrh r0, [r5] - adds r0, 0x1 - strh r0, [r5] -_08122D8A: - movs r0, 0 -_08122D8C: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end unref_sub_8122C60 - - thumb_func_start sub_8122D94 -sub_8122D94: @ 8122D94 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r0, _08122DCC @ =gLastFieldPokeMenuOpened - ldrb r1, [r0] - movs r0, 0x64 - muls r0, r1 - ldr r1, _08122DD0 @ =gPlayerParty - adds r0, r1 - movs r1, 0x2D - bl GetMonData - adds r2, r0, 0 - cmp r2, 0 - bne _08122DE0 - ldr r1, _08122DD4 @ =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - strh r2, [r0, 0x10] - ldr r1, _08122DD8 @ =gUnknown_08401810 - ldr r2, _08122DDC @ =gUnknown_084017F0 - movs r0, 0 - movs r3, 0 - bl sub_806E750 - b _08122DFA - .align 2, 0 -_08122DCC: .4byte gLastFieldPokeMenuOpened -_08122DD0: .4byte gPlayerParty -_08122DD4: .4byte gTasks -_08122DD8: .4byte gUnknown_08401810 -_08122DDC: .4byte gUnknown_084017F0 -_08122DE0: - ldr r1, _08122E00 @ =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - movs r1, 0x1 - strh r1, [r0, 0x10] - ldr r1, _08122E04 @ =gUnknown_08401810 - ldr r2, _08122E08 @ =gUnknown_084017F0 - movs r0, 0x1 - movs r3, 0 - bl sub_806E750 -_08122DFA: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08122E00: .4byte gTasks -_08122E04: .4byte gUnknown_08401810 -_08122E08: .4byte gUnknown_084017F0 - thumb_func_end sub_8122D94 - - thumb_func_start sub_8122E0C -sub_8122E0C: @ 8122E0C - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r0, _08122E34 @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _08122E9C - adds r0, r4, 0 - bl sub_806BD80 - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x1 - beq _08122E38 - cmp r0, 0x2 - beq _08122E84 - b _08122E9C - .align 2, 0 -_08122E34: .4byte gPaletteFade -_08122E38: - movs r0, 0x5 - bl PlaySE - adds r0, r4, 0 - bl sub_806CA38 - ldr r1, _08122E70 @ =gLastFieldPokeMenuOpened - strb r0, [r1] - ldrb r1, [r1] - movs r0, 0x64 - muls r0, r1 - ldr r1, _08122E74 @ =gPlayerParty - adds r0, r1 - ldr r1, _08122E78 @ =gStringVar1 - bl GetMonNickname - adds r0, r4, 0 - bl sub_8122D94 - ldr r1, _08122E7C @ =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - ldr r1, _08122E80 @ =sub_8122EAC - str r1, [r0] - b _08122E9C - .align 2, 0 -_08122E70: .4byte gLastFieldPokeMenuOpened -_08122E74: .4byte gPlayerParty -_08122E78: .4byte gStringVar1 -_08122E7C: .4byte gTasks -_08122E80: .4byte sub_8122EAC -_08122E84: - movs r0, 0x5 - bl PlaySE - ldr r1, _08122EA4 @ =gLastFieldPokeMenuOpened - movs r0, 0xFF - strb r0, [r1] - ldr r1, _08122EA8 @ =gSpecialVar_0x8004 - movs r0, 0xFF - strh r0, [r1] - adds r0, r4, 0 - bl sub_8123138 -_08122E9C: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08122EA4: .4byte gLastFieldPokeMenuOpened -_08122EA8: .4byte gSpecialVar_0x8004 - thumb_func_end sub_8122E0C - - thumb_func_start sub_8122EAC -sub_8122EAC: @ 8122EAC - push {r4-r7,lr} - lsls r0, 24 - lsrs r7, r0, 24 - adds r4, r7, 0 - ldr r0, _08122EE8 @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r3, 0x80 - adds r0, r3, 0 - ands r0, r1 - cmp r0, 0 - bne _08122F6A - ldr r2, _08122EEC @ =gMain - ldrh r1, [r2, 0x30] - movs r0, 0x40 - ands r0, r1 - cmp r0, 0 - beq _08122EF0 - bl GetMenuCursorPos - lsls r0, 24 - cmp r0, 0 - beq _08122F6A - movs r0, 0x5 - bl PlaySE - movs r0, 0x1 - negs r0, r0 - bl MoveMenuCursor - b _08122F6A - .align 2, 0 -_08122EE8: .4byte gPaletteFade -_08122EEC: .4byte gMain -_08122EF0: - adds r0, r3, 0 - ands r0, r1 - cmp r0, 0 - beq _08122F12 - bl GetMenuCursorPos - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x3 - beq _08122F6A - movs r0, 0x5 - bl PlaySE - movs r0, 0x1 - bl MoveMenuCursor - b _08122F6A -_08122F12: - ldrh r1, [r2, 0x2E] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _08122F5C - movs r0, 0x5 - bl PlaySE - ldr r1, _08122F50 @ =gTasks - lsls r0, r7, 2 - adds r0, r7 - lsls r0, 3 - adds r0, r1 - ldrb r4, [r0, 0x10] - ldr r5, _08122F54 @ =gUnknown_08401810 - ldr r6, _08122F58 @ =gUnknown_084017F0 - bl GetMenuCursorPos - adds r3, r0, 0 - lsls r3, 24 - lsrs r3, 24 - adds r0, r4, 0 - adds r1, r5, 0 - adds r2, r6, 0 - bl PartyMenuGetPopupMenuFunc - adds r1, r0, 0 - adds r0, r7, 0 - bl _call_via_r1 - b _08122F6A - .align 2, 0 -_08122F50: .4byte gTasks -_08122F54: .4byte gUnknown_08401810 -_08122F58: .4byte gUnknown_084017F0 -_08122F5C: - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _08122F6A - adds r0, r4, 0 - bl sub_81230F4 -_08122F6A: - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_8122EAC - - thumb_func_start sub_8122F70 -sub_8122F70: @ 8122F70 - push {lr} - lsls r0, 24 - lsrs r0, 24 - ldr r2, _08122F88 @ =gSpecialVar_0x8004 - ldr r1, _08122F8C @ =gLastFieldPokeMenuOpened - ldrb r1, [r1] - strh r1, [r2] - bl sub_8123138 - pop {r0} - bx r0 - .align 2, 0 -_08122F88: .4byte gSpecialVar_0x8004 -_08122F8C: .4byte gLastFieldPokeMenuOpened - thumb_func_end sub_8122F70 - - thumb_func_start sub_8122F90 -sub_8122F90: @ 8122F90 - push {r4,r5,lr} - ldr r5, _08122FD8 @ =0x0201b260 - ldr r4, _08122FDC @ =gUnknown_020384F0 -_08122F96: - bl sub_806B124 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _08122FF0 - ldrb r0, [r5] - ldrb r1, [r4] - bl sub_806C994 - ldrb r0, [r5] - movs r1, 0 - bl sub_806BF74 - ldrb r1, [r4] - movs r0, 0x64 - muls r0, r1 - ldr r1, _08122FE0 @ =gPlayerParty - adds r0, r1 - ldr r1, _08122FE4 @ =gStringVar1 - bl GetMonNickname - ldr r1, _08122FE8 @ =gLastFieldPokeMenuOpened - ldrb r0, [r4] - strb r0, [r1] - ldrb r0, [r5] - bl sub_8122D94 - ldr r0, _08122FEC @ =sub_806AEDC - bl SetMainCallback2 - b _08122FFC - .align 2, 0 -_08122FD8: .4byte 0x0201b260 -_08122FDC: .4byte gUnknown_020384F0 -_08122FE0: .4byte gPlayerParty -_08122FE4: .4byte gStringVar1 -_08122FE8: .4byte gLastFieldPokeMenuOpened -_08122FEC: .4byte sub_806AEDC -_08122FF0: - bl sub_80F9344 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _08122F96 -_08122FFC: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_8122F90 - - thumb_func_start sub_8123004 -sub_8123004: @ 8123004 - push {lr} - ldr r2, _08123028 @ =gPaletteFade - ldrb r0, [r2, 0x8] - movs r1, 0x80 - orrs r0, r1 - strb r0, [r2, 0x8] - ldr r2, _0812302C @ =sub_8122EAC - movs r0, 0x6 - movs r1, 0xFF - movs r3, 0x5 - bl sub_806AF4C - ldr r0, _08123030 @ =sub_8122F90 - bl SetMainCallback2 - pop {r0} - bx r0 - .align 2, 0 -_08123028: .4byte gPaletteFade -_0812302C: .4byte sub_8122EAC -_08123030: .4byte sub_8122F90 - thumb_func_end sub_8123004 - - thumb_func_start sub_8123034 -sub_8123034: @ 8123034 - push {r4,r5,lr} - sub sp, 0x4 - lsls r0, 24 - lsrs r3, r0, 24 - ldr r0, _0812309C @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0 - bne _08123092 - ldr r2, _081230A0 @ =gSprites - ldr r1, _081230A4 @ =gTasks - lsls r0, r3, 2 - adds r0, r3 - lsls r0, 3 - adds r0, r1 - ldrh r1, [r0, 0xE] - lsls r1, 16 - asrs r1, 24 - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrh r4, [r0, 0x2E] - lsls r4, 24 - lsrs r4, 24 - adds r0, r3, 0 - bl DestroyTask - ldr r0, _081230A8 @ =0x0201b000 - ldr r1, _081230AC @ =0x00000262 - adds r0, r1 - movs r1, 0x1 - strb r1, [r0] - ldr r0, _081230B0 @ =gPlayerParty - ldr r1, _081230B4 @ =gPlayerPartyCount - ldrb r2, [r1] - subs r2, 0x1 - lsls r2, 24 - lsrs r2, 24 - ldr r3, _081230B8 @ =sub_8123004 - str r5, [sp] - adds r1, r4, 0 - bl ShowPokemonSummaryScreen -_08123092: - add sp, 0x4 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0812309C: .4byte gPaletteFade -_081230A0: .4byte gSprites -_081230A4: .4byte gTasks -_081230A8: .4byte 0x0201b000 -_081230AC: .4byte 0x00000262 -_081230B0: .4byte gPlayerParty -_081230B4: .4byte gPlayerPartyCount -_081230B8: .4byte sub_8123004 - thumb_func_end sub_8123034 - - thumb_func_start sub_81230BC -sub_81230BC: @ 81230BC - push {r4,lr} - sub sp, 0x4 - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - movs r0, 0x1 - negs r0, r0 - movs r1, 0 - str r1, [sp] - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade - ldr r1, _081230EC @ =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - ldr r1, _081230F0 @ =sub_8123034 - str r1, [r0] - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_081230EC: .4byte gTasks -_081230F0: .4byte sub_8123034 - thumb_func_end sub_81230BC - - thumb_func_start sub_81230F4 -sub_81230F4: @ 81230F4 - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - movs r0, 0x5 - bl PlaySE - movs r0, 0x14 - movs r1, 0xA - movs r2, 0x1D - movs r3, 0x13 - bl MenuZeroFillWindowRect - bl HandleDestroyMenuCursors - movs r0, 0xF - movs r1, 0 - bl sub_806D538 - ldr r1, _08123130 @ =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - ldr r1, _08123134 @ =sub_8122E0C - str r1, [r0] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08123130: .4byte gTasks -_08123134: .4byte sub_8122E0C - thumb_func_end sub_81230F4 - - thumb_func_start sub_8123138 -sub_8123138: @ 8123138 - push {r4,lr} - sub sp, 0x4 - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - movs r0, 0x1 - negs r0, r0 - movs r1, 0 - str r1, [sp] - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade - ldr r1, _08123168 @ =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - ldr r1, _0812316C @ =sub_8123170 - str r1, [r0] - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08123168: .4byte gTasks -_0812316C: .4byte sub_8123170 - thumb_func_end sub_8123138 - - thumb_func_start sub_8123170 -sub_8123170: @ 8123170 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r0, _0812319C @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _08123194 - ldr r0, _081231A0 @ =gFieldCallback - ldr r1, _081231A4 @ =sub_81231AC - str r1, [r0] - ldr r0, _081231A8 @ =c2_exit_to_overworld_2_switch - bl SetMainCallback2 - adds r0, r4, 0 - bl DestroyTask -_08123194: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0812319C: .4byte gPaletteFade -_081231A0: .4byte gFieldCallback -_081231A4: .4byte sub_81231AC -_081231A8: .4byte c2_exit_to_overworld_2_switch - thumb_func_end sub_8123170 - - thumb_func_start sub_81231AC -sub_81231AC: @ 81231AC - push {lr} - bl pal_fill_black - ldr r0, _081231C0 @ =sub_81231C4 - movs r1, 0xA - bl CreateTask - pop {r0} - bx r0 - .align 2, 0 -_081231C0: .4byte sub_81231C4 - thumb_func_end sub_81231AC - - thumb_func_start sub_81231C4 -sub_81231C4: @ 81231C4 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - bl sub_807D770 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _081231E4 - adds r0, r4, 0 - bl DestroyTask - bl ScriptContext2_Disable - bl EnableBothScriptContexts -_081231E4: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_81231C4 - - .align 2, 0 @ Don't pad with nop. diff --git a/asm/pokeball.s b/asm/pokeball.s deleted file mode 100644 index eea360775..000000000 --- a/asm/pokeball.s +++ /dev/null @@ -1,2787 +0,0 @@ - .include "constants/gba_constants.inc" - .include "constants/species_constants.inc" - .include "asm/macros.inc" - - .syntax unified - - .text - - thumb_func_start sub_8046400 -sub_8046400: @ 8046400 - push {r4-r6,lr} - adds r4, r0, 0 - adds r5, r1, 0 - lsls r4, 16 - lsrs r4, 16 - lsls r5, 24 - lsrs r5, 24 - ldr r1, _08046450 @ =gDoingBattleAnim - movs r0, 0x1 - strb r0, [r1] - ldr r6, _08046454 @ =gActiveBank - ldrb r1, [r6] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - ldr r1, _08046458 @ =0x02017810 - adds r0, r1 - ldrb r1, [r0] - movs r2, 0x8 - orrs r1, r2 - strb r1, [r0] - ldr r0, _0804645C @ =sub_8046464 - movs r1, 0x5 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - ldr r2, _08046460 @ =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - strh r4, [r1, 0xA] - strh r5, [r1, 0xC] - ldrb r0, [r6] - strh r0, [r1, 0xE] - movs r0, 0 - pop {r4-r6} - pop {r1} - bx r1 - .align 2, 0 -_08046450: .4byte gDoingBattleAnim -_08046454: .4byte gActiveBank -_08046458: .4byte 0x02017810 -_0804645C: .4byte sub_8046464 -_08046460: .4byte gTasks - thumb_func_end sub_8046400 - - thumb_func_start sub_8046464 -sub_8046464: @ 8046464 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x4 - lsls r0, 24 - lsrs r0, 24 - mov r10, r0 - movs r0, 0 - str r0, [sp] - ldr r1, _08046498 @ =gTasks - mov r2, r10 - lsls r0, r2, 2 - add r0, r10 - lsls r0, 3 - adds r1, r0, r1 - ldrh r2, [r1, 0x8] - movs r3, 0x8 - ldrsh r0, [r1, r3] - cmp r0, 0 - bne _0804649C - adds r0, r2, 0x1 - strh r0, [r1, 0x8] - b _08046616 - .align 2, 0 -_08046498: .4byte gTasks -_0804649C: - ldrh r0, [r1, 0xC] - mov r8, r0 - ldrb r5, [r1, 0xE] - adds r0, r5, 0 - bl GetBankSide - lsls r0, 24 - cmp r0, 0 - beq _080464C8 - ldr r1, _080464C0 @ =gBattlePartyID - lsls r0, r5, 1 - adds r0, r1 - ldrh r1, [r0] - movs r0, 0x64 - muls r0, r1 - ldr r1, _080464C4 @ =gEnemyParty - b _080464D6 - .align 2, 0 -_080464C0: .4byte gBattlePartyID -_080464C4: .4byte gEnemyParty -_080464C8: - ldr r1, _08046544 @ =gBattlePartyID - lsls r0, r5, 1 - adds r0, r1 - ldrh r1, [r0] - movs r0, 0x64 - muls r0, r1 - ldr r1, _08046548 @ =gPlayerParty -_080464D6: - adds r0, r1 - movs r1, 0x26 - bl GetMonData - lsls r0, 16 - lsrs r0, 16 - bl ball_number_to_ball_processing_index - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - adds r0, r4, 0 - bl sub_80478DC - lsls r0, r4, 1 - adds r0, r4 - lsls r0, 3 - ldr r1, _0804654C @ =gSpriteTemplate_820AAB4 - adds r0, r1 - movs r1, 0x20 - movs r2, 0x50 - movs r3, 0x1D - bl CreateSprite - lsls r0, 24 - lsrs r7, r0, 24 - ldr r2, _08046550 @ =gSprites - mov r9, r2 - lsls r0, r7, 4 - adds r0, r7 - lsls r6, r0, 2 - adds r4, r6, r2 - movs r0, 0x80 - strh r0, [r4, 0x2E] - movs r3, 0 - strh r3, [r4, 0x30] - mov r0, r8 - strh r0, [r4, 0x3C] - mov r2, r8 - cmp r2, 0xFE - beq _0804655C - cmp r2, 0xFF - bne _08046598 - ldr r0, _08046554 @ =gBankTarget - strb r5, [r0] - movs r0, 0x18 - strh r0, [r4, 0x20] - movs r0, 0x44 - strh r0, [r4, 0x22] - mov r0, r9 - adds r0, 0x1C - adds r0, r6, r0 - ldr r1, _08046558 @ =sub_8047074 - str r1, [r0] - b _080465A6 - .align 2, 0 -_08046544: .4byte gBattlePartyID -_08046548: .4byte gPlayerParty -_0804654C: .4byte gSpriteTemplate_820AAB4 -_08046550: .4byte gSprites -_08046554: .4byte gBankTarget -_08046558: .4byte sub_8047074 -_0804655C: - adds r0, r5, 0 - movs r1, 0 - bl sub_8077ABC - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4, 0x20] - adds r0, r5, 0 - movs r1, 0x1 - bl sub_8077ABC - lsls r0, 24 - lsrs r0, 24 - adds r0, 0x18 - strh r0, [r4, 0x22] - ldr r0, _08046590 @ =gBankTarget - strb r5, [r0] - movs r3, 0 - strh r3, [r4, 0x2E] - mov r0, r9 - adds r0, 0x1C - adds r0, r6, r0 - ldr r1, _08046594 @ =sub_8047254 - str r1, [r0] - b _080465A6 - .align 2, 0 -_08046590: .4byte gBankTarget -_08046594: .4byte sub_8047254 -_08046598: - movs r0, 0x1 - bl GetBankByPlayerAI - ldr r1, _080465C4 @ =gBankTarget - strb r0, [r1] - movs r0, 0x1 - str r0, [sp] -_080465A6: - ldr r0, _080465C8 @ =gSprites - lsls r1, r7, 4 - adds r1, r7 - lsls r1, 2 - adds r4, r1, r0 - ldr r5, _080465C4 @ =gBankTarget - ldrb r0, [r5] - strh r0, [r4, 0x3A] - ldr r2, [sp] - cmp r2, 0 - bne _080465CC - mov r0, r10 - bl DestroyTask - b _08046616 - .align 2, 0 -_080465C4: .4byte gBankTarget -_080465C8: .4byte gSprites -_080465CC: - movs r0, 0x22 - strh r0, [r4, 0x2E] - ldrb r0, [r5] - movs r1, 0 - bl sub_8077ABC - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4, 0x32] - ldrb r0, [r5] - movs r1, 0x1 - bl sub_8077ABC - lsls r0, 24 - lsrs r0, 24 - subs r0, 0x10 - strh r0, [r4, 0x36] - ldr r0, _08046628 @ =0x0000ffd8 - strh r0, [r4, 0x38] - adds r0, r4, 0 - bl sub_80786EC - mov r3, r10 - strh r3, [r4, 0x6] - ldr r1, _0804662C @ =gTasks - mov r2, r10 - lsls r0, r2, 2 - add r0, r10 - lsls r0, 3 - adds r0, r1 - ldrb r1, [r5] - strh r1, [r0, 0x10] - ldr r1, _08046630 @ =TaskDummy - str r1, [r0] - movs r0, 0x3D - bl PlaySE -_08046616: - add sp, 0x4 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08046628: .4byte 0x0000ffd8 -_0804662C: .4byte gTasks -_08046630: .4byte TaskDummy - thumb_func_end sub_8046464 - - thumb_func_start objc_0804ABD4 -objc_0804ABD4: @ 8046634 - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x4 - adds r7, r0, 0 - bl sub_8078718 - lsls r0, 24 - cmp r0, 0 - beq _080466D4 - ldrb r6, [r7, 0x6] - ldr r1, _080466E0 @ =gTasks - lsls r0, r6, 2 - adds r0, r6 - lsls r0, 3 - adds r0, r1 - ldrb r5, [r0, 0x10] - ldrb r0, [r0, 0xC] - mov r8, r0 - adds r0, r7, 0 - movs r1, 0x1 - bl StartSpriteAnim - adds r2, r7, 0 - adds r2, 0x2C - ldrb r0, [r2] - movs r1, 0x80 - orrs r0, r1 - strb r0, [r2] - ldrh r0, [r7, 0x24] - ldrh r1, [r7, 0x20] - adds r0, r1 - movs r1, 0 - strh r0, [r7, 0x20] - ldrh r0, [r7, 0x26] - ldrh r2, [r7, 0x22] - adds r0, r2 - strh r0, [r7, 0x22] - strh r1, [r7, 0x24] - strh r1, [r7, 0x26] - strh r1, [r7, 0x38] - adds r0, r5, 0 - bl sub_8047978 - lsls r0, 16 - lsrs r0, 16 - bl ball_number_to_ball_processing_index - adds r4, r0, 0 - ldrh r0, [r7, 0x20] - lsls r0, 24 - lsrs r0, 24 - ldrh r1, [r7, 0x22] - subs r1, 0x5 - lsls r1, 24 - lsrs r1, 24 - lsls r4, 24 - lsrs r4, 24 - str r4, [sp] - movs r2, 0x1 - movs r3, 0x1C - bl sub_814086C - movs r0, 0 - adds r1, r5, 0 - movs r2, 0xE - adds r3, r4, 0 - bl sub_8141314 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r7, 0x2E] - strh r5, [r7, 0x3A] - mov r0, r8 - strh r0, [r7, 0x3C] - adds r0, r6, 0 - bl DestroyTask - ldr r0, _080466E4 @ =sub_80466E8 - str r0, [r7, 0x1C] -_080466D4: - add sp, 0x4 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080466E0: .4byte gTasks -_080466E4: .4byte sub_80466E8 - thumb_func_end objc_0804ABD4 - - thumb_func_start sub_80466E8 -sub_80466E8: @ 80466E8 - ldr r1, _080466F0 @ =sub_80466F4 - str r1, [r0, 0x1C] - bx lr - .align 2, 0 -_080466F0: .4byte sub_80466F4 - thumb_func_end sub_80466E8 - - thumb_func_start sub_80466F4 -sub_80466F4: @ 80466F4 - push {r4-r7,lr} - adds r6, r0, 0 - ldrh r0, [r6, 0x38] - adds r0, 0x1 - movs r7, 0 - strh r0, [r6, 0x38] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0xA - bne _0804674E - strh r7, [r6, 0x38] - ldr r0, _08046754 @ =sub_8046760 - str r0, [r6, 0x1C] - ldr r5, _08046758 @ =gObjectBankIDs - movs r1, 0x3A - ldrsh r0, [r6, r1] - adds r0, r5 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r4, _0804675C @ =gSprites - adds r0, r4 - movs r1, 0x2 - bl StartSpriteAffineAnim - movs r1, 0x3A - ldrsh r0, [r6, r1] - adds r0, r5 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - bl AnimateSprite - movs r1, 0x3A - ldrsh r0, [r6, r1] - adds r0, r5 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - strh r7, [r0, 0x30] -_0804674E: - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08046754: .4byte sub_8046760 -_08046758: .4byte gObjectBankIDs -_0804675C: .4byte gSprites - thumb_func_end sub_80466F4 - - thumb_func_start sub_8046760 -sub_8046760: @ 8046760 - push {r4-r6,lr} - adds r4, r0, 0 - ldrh r0, [r4, 0x38] - adds r0, 0x1 - strh r0, [r4, 0x38] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0xB - bne _08046778 - movs r0, 0x3C - bl PlaySE -_08046778: - ldr r6, _080467C4 @ =gSprites - ldr r5, _080467C8 @ =gObjectBankIDs - movs r1, 0x3A - ldrsh r0, [r4, r1] - adds r0, r5 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r1, r0, r6 - adds r0, r1, 0 - adds r0, 0x3F - ldrb r0, [r0] - lsls r0, 26 - cmp r0, 0 - bge _080467D0 - adds r0, r4, 0 - movs r1, 0x2 - bl StartSpriteAnim - movs r2, 0x3A - ldrsh r0, [r4, r2] - adds r0, r5 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r6 - adds r0, 0x3E - ldrb r1, [r0] - movs r2, 0x4 - orrs r1, r2 - strb r1, [r0] - movs r0, 0 - strh r0, [r4, 0x38] - ldr r0, _080467CC @ =sub_80467F8 - str r0, [r4, 0x1C] - b _080467F0 - .align 2, 0 -_080467C4: .4byte gSprites -_080467C8: .4byte gObjectBankIDs -_080467CC: .4byte sub_80467F8 -_080467D0: - ldrh r0, [r1, 0x30] - adds r0, 0x60 - strh r0, [r1, 0x30] - movs r1, 0x3A - ldrsh r0, [r4, r1] - adds r0, r5 - ldrb r0, [r0] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r6 - movs r2, 0x30 - ldrsh r0, [r1, r2] - negs r0, r0 - asrs r0, 8 - strh r0, [r1, 0x26] -_080467F0: - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_8046760 - - thumb_func_start sub_80467F8 -sub_80467F8: @ 80467F8 - push {r4,lr} - adds r4, r0, 0 - adds r0, 0x3F - ldrb r1, [r0] - movs r0, 0x10 - ands r0, r1 - cmp r0, 0 - beq _08046840 - ldrh r0, [r4, 0x38] - adds r0, 0x1 - movs r1, 0 - strh r0, [r4, 0x38] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x1 - bne _08046840 - strh r1, [r4, 0x34] - movs r0, 0x20 - strh r0, [r4, 0x36] - strh r1, [r4, 0x38] - movs r0, 0 - movs r1, 0x20 - bl Cos - ldrh r1, [r4, 0x22] - adds r0, r1 - strh r0, [r4, 0x22] - movs r0, 0x36 - ldrsh r1, [r4, r0] - movs r0, 0 - bl Cos - negs r0, r0 - strh r0, [r4, 0x26] - ldr r0, _08046848 @ =sub_804684C - str r0, [r4, 0x1C] -_08046840: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08046848: .4byte sub_804684C - thumb_func_end sub_80467F8 - - thumb_func_start sub_804684C -sub_804684C: @ 804684C - push {r4,r5,lr} - adds r4, r0, 0 - movs r5, 0 - ldrh r0, [r4, 0x34] - movs r1, 0xFF - ands r1, r0 - cmp r1, 0 - beq _08046862 - cmp r1, 0x1 - beq _080468D6 - b _08046902 -_08046862: - movs r1, 0x38 - ldrsh r0, [r4, r1] - movs r2, 0x36 - ldrsh r1, [r4, r2] - bl Cos - negs r0, r0 - strh r0, [r4, 0x26] - ldrh r1, [r4, 0x38] - adds r1, 0x4 - ldrh r2, [r4, 0x34] - lsls r0, r2, 16 - asrs r0, 24 - adds r1, r0 - strh r1, [r4, 0x38] - lsls r1, 16 - asrs r1, 16 - cmp r1, 0x3F - ble _08046902 - ldrh r0, [r4, 0x36] - subs r0, 0xA - strh r0, [r4, 0x36] - ldr r1, _080468AC @ =0x00000101 - adds r0, r2, r1 - strh r0, [r4, 0x34] - lsls r0, 16 - asrs r0, 24 - cmp r0, 0x4 - bne _0804689E - movs r5, 0x1 -_0804689E: - cmp r0, 0x2 - beq _080468BE - cmp r0, 0x2 - bgt _080468B0 - cmp r0, 0x1 - beq _080468B6 - b _080468CE - .align 2, 0 -_080468AC: .4byte 0x00000101 -_080468B0: - cmp r0, 0x3 - beq _080468C6 - b _080468CE -_080468B6: - movs r0, 0x38 - bl PlaySE - b _08046902 -_080468BE: - movs r0, 0x39 - bl PlaySE - b _08046902 -_080468C6: - movs r0, 0x3A - bl PlaySE - b _08046902 -_080468CE: - movs r0, 0x3B - bl PlaySE - b _08046902 -_080468D6: - movs r2, 0x38 - ldrsh r0, [r4, r2] - movs r2, 0x36 - ldrsh r1, [r4, r2] - bl Cos - negs r0, r0 - strh r0, [r4, 0x26] - ldrh r1, [r4, 0x38] - subs r1, 0x4 - ldrh r2, [r4, 0x34] - lsls r0, r2, 16 - asrs r0, 24 - subs r1, r0 - strh r1, [r4, 0x38] - lsls r1, 16 - cmp r1, 0 - bgt _08046902 - strh r5, [r4, 0x38] - ldr r0, _08046928 @ =0xffffff00 - ands r0, r2 - strh r0, [r4, 0x34] -_08046902: - cmp r5, 0 - beq _0804693A - movs r5, 0 - strh r5, [r4, 0x34] - movs r0, 0x40 - movs r1, 0x20 - bl Cos - ldrh r1, [r4, 0x22] - adds r0, r1 - strh r0, [r4, 0x22] - strh r5, [r4, 0x26] - movs r2, 0x3C - ldrsh r0, [r4, r2] - cmp r0, 0 - bne _08046930 - ldr r0, _0804692C @ =sub_8046C78 - str r0, [r4, 0x1C] - b _0804693A - .align 2, 0 -_08046928: .4byte 0xffffff00 -_0804692C: .4byte sub_8046C78 -_08046930: - ldr r0, _08046940 @ =sub_8046944 - str r0, [r4, 0x1C] - movs r0, 0x1 - strh r0, [r4, 0x36] - strh r5, [r4, 0x38] -_0804693A: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08046940: .4byte sub_8046944 - thumb_func_end sub_804684C - - thumb_func_start sub_8046944 -sub_8046944: @ 8046944 - push {r4,lr} - adds r4, r0, 0 - ldrh r0, [r4, 0x34] - adds r0, 0x1 - strh r0, [r4, 0x34] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x1F - bne _08046978 - movs r0, 0 - strh r0, [r4, 0x34] - adds r2, r4, 0 - adds r2, 0x2C - ldrb r0, [r2] - movs r1, 0x80 - orrs r0, r1 - strb r0, [r2] - adds r0, r4, 0 - movs r1, 0x1 - bl StartSpriteAffineAnim - ldr r0, _08046980 @ =sub_8046984 - str r0, [r4, 0x1C] - movs r0, 0x17 - bl PlaySE -_08046978: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08046980: .4byte sub_8046984 - thumb_func_end sub_8046944 - - thumb_func_start sub_8046984 -sub_8046984: @ 8046984 - push {r4,lr} - adds r4, r0, 0 - ldrh r0, [r4, 0x34] - movs r1, 0xFF - ands r1, r0 - cmp r1, 0x4 - bhi _08046A84 - lsls r0, r1, 2 - ldr r1, _0804699C @ =_080469A0 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0804699C: .4byte _080469A0 - .align 2, 0 -_080469A0: - .4byte _080469B4 - .4byte _080469E6 - .4byte _080469B4 - .4byte _08046A3A - .4byte _08046A84 -_080469B4: - ldrh r0, [r4, 0x36] - ldrh r2, [r4, 0x24] - adds r1, r0, r2 - strh r1, [r4, 0x24] - ldrh r1, [r4, 0x38] - adds r0, r1 - strh r0, [r4, 0x38] - adds r2, r4, 0 - adds r2, 0x2C - ldrb r1, [r2] - movs r0, 0x7F - ands r0, r1 - strb r0, [r2] - ldrh r0, [r4, 0x38] - adds r0, 0x3 - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x6 - bls _08046ACA - ldrh r0, [r4, 0x34] - adds r0, 0x1 - strh r0, [r4, 0x34] - movs r0, 0 - strh r0, [r4, 0x38] - b _08046ACA -_080469E6: - ldrh r0, [r4, 0x38] - adds r0, 0x1 - strh r0, [r4, 0x38] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x1 - bne _08046A2C - movs r0, 0 - strh r0, [r4, 0x38] - ldrh r0, [r4, 0x36] - negs r0, r0 - strh r0, [r4, 0x36] - ldrh r0, [r4, 0x34] - adds r0, 0x1 - strh r0, [r4, 0x34] - adds r2, r4, 0 - adds r2, 0x2C - ldrb r1, [r2] - movs r0, 0x7F - ands r0, r1 - strb r0, [r2] - movs r2, 0x36 - ldrsh r0, [r4, r2] - cmp r0, 0 - bge _08046A22 - adds r0, r4, 0 - movs r1, 0x2 - bl ChangeSpriteAffineAnim - b _08046ACA -_08046A22: - adds r0, r4, 0 - movs r1, 0x1 - bl ChangeSpriteAffineAnim - b _08046ACA -_08046A2C: - adds r0, r4, 0 - adds r0, 0x2C - ldrb r1, [r0] - movs r2, 0x80 - orrs r1, r2 - strb r1, [r0] - b _08046ACA -_08046A3A: - movs r1, 0x80 - lsls r1, 1 - adds r0, r1, 0 - ldrh r2, [r4, 0x34] - adds r0, r2 - strh r0, [r4, 0x34] - lsls r0, 16 - asrs r0, 24 - movs r2, 0x3C - ldrsh r1, [r4, r2] - cmp r0, r1 - bne _08046A5C - ldr r0, _08046A58 @ =sub_8046C78 - str r0, [r4, 0x1C] - b _08046ACA - .align 2, 0 -_08046A58: .4byte sub_8046C78 -_08046A5C: - cmp r1, 0x4 - bne _08046A70 - cmp r0, 0x3 - bne _08046A70 - ldr r0, _08046A6C @ =sub_8046E7C - str r0, [r4, 0x1C] - b _08046A76 - .align 2, 0 -_08046A6C: .4byte sub_8046E7C -_08046A70: - ldrh r0, [r4, 0x34] - adds r0, 0x1 - strh r0, [r4, 0x34] -_08046A76: - adds r2, r4, 0 - adds r2, 0x2C - ldrb r0, [r2] - movs r1, 0x80 - orrs r0, r1 - strb r0, [r2] - b _08046ACA -_08046A84: - ldrh r0, [r4, 0x38] - adds r0, 0x1 - strh r0, [r4, 0x38] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x1F - bne _08046ACA - movs r0, 0 - strh r0, [r4, 0x38] - ldrh r1, [r4, 0x34] - ldr r0, _08046AB8 @ =0xffffff00 - ands r0, r1 - strh r0, [r4, 0x34] - adds r0, r4, 0 - movs r1, 0x3 - bl StartSpriteAffineAnim - movs r1, 0x36 - ldrsh r0, [r4, r1] - cmp r0, 0 - bge _08046ABC - adds r0, r4, 0 - movs r1, 0x2 - bl StartSpriteAffineAnim - b _08046AC4 - .align 2, 0 -_08046AB8: .4byte 0xffffff00 -_08046ABC: - adds r0, r4, 0 - movs r1, 0x1 - bl StartSpriteAffineAnim -_08046AC4: - movs r0, 0x17 - bl PlaySE -_08046ACA: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_8046984 - - thumb_func_start sub_8046AD0 -sub_8046AD0: @ 8046AD0 - push {r4-r6,lr} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r1, _08046AFC @ =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - ldrb r6, [r0, 0xC] - ldrb r3, [r0, 0xA] - ldrh r5, [r0, 0x8] - movs r2, 0x26 - ldrsh r0, [r0, r2] - adds r2, r1, 0 - cmp r0, 0x20 - bhi _08046B88 - lsls r0, 2 - ldr r1, _08046B00 @ =_08046B04 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_08046AFC: .4byte gTasks -_08046B00: .4byte _08046B04 - .align 2, 0 -_08046B04: - .4byte _08046B88 - .4byte _08046BA6 - .4byte _08046BB2 - .4byte _08046BF6 - .4byte _08046B88 - .4byte _08046B88 - .4byte _08046B88 - .4byte _08046B88 - .4byte _08046B88 - .4byte _08046B88 - .4byte _08046B88 - .4byte _08046B88 - .4byte _08046B88 - .4byte _08046B88 - .4byte _08046B88 - .4byte _08046B88 - .4byte _08046B88 - .4byte _08046B88 - .4byte _08046B88 - .4byte _08046B88 - .4byte _08046BD0 - .4byte _08046B88 - .4byte _08046B88 - .4byte _08046B88 - .4byte _08046B88 - .4byte _08046B88 - .4byte _08046B88 - .4byte _08046B88 - .4byte _08046B88 - .4byte _08046B88 - .4byte _08046C08 - .4byte _08046C20 - .4byte _08046C48 -_08046B88: - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r1, r0, r2 - ldrh r2, [r1, 0x18] - movs r3, 0x18 - ldrsh r0, [r1, r3] - cmp r0, 0x2 - bgt _08046BA0 - adds r0, r2, 0x1 - strh r0, [r1, 0x18] - b _08046C72 -_08046BA0: - adds r0, r6, 0x1 - strh r0, [r1, 0x26] - b _08046C72 -_08046BA6: - lsls r1, r3, 24 - asrs r1, 24 - adds r0, r5, 0 - bl PlayCry1 - b _08046BEE -_08046BB2: - bl StopCryAndClearCrySongs - ldr r1, _08046BCC @ =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - movs r1, 0x3 - strh r1, [r0, 0x1C] - movs r1, 0x14 - strh r1, [r0, 0x26] - b _08046C72 - .align 2, 0 -_08046BCC: .4byte gTasks -_08046BD0: - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r1, r0, r2 - ldrh r2, [r1, 0x1C] - movs r6, 0x1C - ldrsh r0, [r1, r6] - cmp r0, 0 - bne _08046C5A - lsls r1, r3, 24 - asrs r1, 24 - adds r0, r5, 0 - movs r2, 0x1 - bl PlayCry4 -_08046BEE: - adds r0, r4, 0 - bl DestroyTask - b _08046C72 -_08046BF6: - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r2 - movs r1, 0x6 - strh r1, [r0, 0x1C] - movs r1, 0x1E - strh r1, [r0, 0x26] - b _08046C72 -_08046C08: - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r1, r0, r2 - ldrh r2, [r1, 0x1C] - movs r3, 0x1C - ldrsh r0, [r1, r3] - cmp r0, 0 - bne _08046C5A - ldrh r0, [r1, 0x26] - adds r0, 0x1 - strh r0, [r1, 0x26] -_08046C20: - bl IsCryPlayingOrClearCrySongs - lsls r0, 24 - cmp r0, 0 - bne _08046C72 - bl StopCryAndClearCrySongs - ldr r0, _08046C44 @ =gTasks - lsls r1, r4, 2 - adds r1, r4 - lsls r1, 3 - adds r1, r0 - movs r0, 0x3 - strh r0, [r1, 0x1C] - ldrh r0, [r1, 0x26] - adds r0, 0x1 - strh r0, [r1, 0x26] - b _08046C72 - .align 2, 0 -_08046C44: .4byte gTasks -_08046C48: - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r1, r0, r2 - ldrh r2, [r1, 0x1C] - movs r6, 0x1C - ldrsh r0, [r1, r6] - cmp r0, 0 - beq _08046C60 -_08046C5A: - subs r0, r2, 0x1 - strh r0, [r1, 0x1C] - b _08046C72 -_08046C60: - lsls r1, r3, 24 - asrs r1, 24 - adds r0, r5, 0 - movs r2, 0 - bl PlayCry4 - adds r0, r4, 0 - bl DestroyTask -_08046C72: - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_8046AD0 - - thumb_func_start sub_8046C78 -sub_8046C78: @ 8046C78 - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x4 - adds r6, r0, 0 - ldrh r0, [r6, 0x3A] - lsls r0, 24 - lsrs r5, r0, 24 - adds r0, r6, 0 - movs r1, 0x1 - bl StartSpriteAnim - adds r0, r5, 0 - bl sub_8047978 - lsls r0, 16 - lsrs r0, 16 - bl ball_number_to_ball_processing_index - adds r4, r0, 0 - ldrh r0, [r6, 0x20] - lsls r0, 24 - lsrs r0, 24 - ldrh r1, [r6, 0x22] - subs r1, 0x5 - lsls r1, 24 - lsrs r1, 24 - lsls r4, 24 - lsrs r4, 24 - str r4, [sp] - movs r2, 0x1 - movs r3, 0x1C - bl sub_814086C - ldrh r1, [r6, 0x3A] - lsls r1, 24 - lsrs r1, 24 - movs r0, 0x1 - movs r2, 0xE - adds r3, r4, 0 - bl sub_8141314 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r6, 0x2E] - ldr r0, _08046D0C @ =sub_8046E9C - str r0, [r6, 0x1C] - ldr r0, _08046D10 @ =gMain - ldr r1, _08046D14 @ =0x0000043d - adds r0, r1 - ldrb r1, [r0] - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - bne _08046CE8 - b _08046E1C -_08046CE8: - adds r0, r5, 0 - bl GetBankSide - lsls r0, 24 - cmp r0, 0 - beq _08046D20 - ldr r1, _08046D18 @ =gBattlePartyID - lsls r0, r5, 1 - adds r0, r1 - ldrh r1, [r0] - movs r0, 0x64 - muls r1, r0 - ldr r0, _08046D1C @ =gEnemyParty - adds r0, r1, r0 - movs r3, 0x19 - mov r8, r3 - b _08046D34 - .align 2, 0 -_08046D0C: .4byte sub_8046E9C -_08046D10: .4byte gMain -_08046D14: .4byte 0x0000043d -_08046D18: .4byte gBattlePartyID -_08046D1C: .4byte gEnemyParty -_08046D20: - ldr r1, _08046D90 @ =gBattlePartyID - lsls r0, r5, 1 - adds r0, r1 - ldrh r1, [r0] - movs r0, 0x64 - muls r1, r0 - ldr r0, _08046D94 @ =gPlayerParty - adds r0, r1, r0 - movs r1, 0xE7 - mov r8, r1 -_08046D34: - movs r1, 0xB - bl GetMonData - lsls r0, 16 - lsrs r7, r0, 16 - movs r0, 0 - bl GetBankByPlayerAI - lsls r0, 24 - lsrs r0, 24 - cmp r5, r0 - beq _08046D5A - movs r0, 0x1 - bl GetBankByPlayerAI - lsls r0, 24 - lsrs r0, 24 - cmp r5, r0 - bne _08046DAE -_08046D5A: - bl IsDoubleBattle - lsls r0, 24 - cmp r0, 0 - beq _08046DAE - ldr r0, _08046D98 @ =0x02017840 - ldrb r1, [r0, 0x9] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _08046DAE - ldr r0, _08046D9C @ =gBattleTypeFlags - ldrh r1, [r0] - movs r0, 0x40 - ands r0, r1 - cmp r0, 0 - beq _08046DA4 - bl IsBGMPlaying - lsls r0, 24 - cmp r0, 0 - beq _08046DAE - ldr r0, _08046DA0 @ =gMPlay_BGM - bl m4aMPlayStop - b _08046DAE - .align 2, 0 -_08046D90: .4byte gBattlePartyID -_08046D94: .4byte gPlayerParty -_08046D98: .4byte 0x02017840 -_08046D9C: .4byte gBattleTypeFlags -_08046DA0: .4byte gMPlay_BGM -_08046DA4: - ldr r0, _08046DC8 @ =gMPlay_BGM - ldr r1, _08046DCC @ =0x0000ffff - movs r2, 0x80 - bl m4aMPlayVolumeControl -_08046DAE: - bl IsDoubleBattle - lsls r0, 24 - cmp r0, 0 - beq _08046DC4 - ldr r0, _08046DD0 @ =0x02017840 - ldrb r1, [r0, 0x9] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - bne _08046DD4 -_08046DC4: - movs r4, 0 - b _08046DF6 - .align 2, 0 -_08046DC8: .4byte gMPlay_BGM -_08046DCC: .4byte 0x0000ffff -_08046DD0: .4byte 0x02017840 -_08046DD4: - movs r0, 0 - bl GetBankByPlayerAI - lsls r0, 24 - lsrs r0, 24 - cmp r5, r0 - beq _08046DF0 - movs r0, 0x1 - bl GetBankByPlayerAI - lsls r0, 24 - lsrs r0, 24 - cmp r5, r0 - bne _08046DF4 -_08046DF0: - movs r4, 0x1 - b _08046DF6 -_08046DF4: - movs r4, 0x2 -_08046DF6: - ldr r0, _08046E6C @ =sub_8046AD0 - movs r1, 0x3 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - ldr r2, _08046E70 @ =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - movs r2, 0 - strh r7, [r1, 0x8] - mov r3, r8 - lsls r0, r3, 24 - asrs r0, 24 - strh r0, [r1, 0xA] - strh r4, [r1, 0xC] - strh r2, [r1, 0x26] -_08046E1C: - ldr r5, _08046E74 @ =gObjectBankIDs - movs r1, 0x3A - ldrsh r0, [r6, r1] - adds r0, r5 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r4, _08046E78 @ =gSprites - adds r0, r4 - movs r1, 0x1 - bl StartSpriteAffineAnim - movs r3, 0x3A - ldrsh r0, [r6, r3] - adds r0, r5 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - bl AnimateSprite - movs r1, 0x3A - ldrsh r0, [r6, r1] - adds r0, r5 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - movs r1, 0x80 - lsls r1, 5 - strh r1, [r0, 0x30] - add sp, 0x4 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08046E6C: .4byte sub_8046AD0 -_08046E70: .4byte gTasks -_08046E74: .4byte gObjectBankIDs -_08046E78: .4byte gSprites - thumb_func_end sub_8046C78 - - thumb_func_start sub_8046E7C -sub_8046E7C: @ 8046E7C - adds r3, r0, 0 - adds r3, 0x2C - ldrb r1, [r3] - movs r2, 0x40 - orrs r1, r2 - strb r1, [r3] - ldr r1, _08046E98 @ =sub_8046FBC - str r1, [r0, 0x1C] - movs r1, 0 - strh r1, [r0, 0x34] - strh r1, [r0, 0x36] - strh r1, [r0, 0x38] - bx lr - .align 2, 0 -_08046E98: .4byte sub_8046FBC - thumb_func_end sub_8046E7C - - thumb_func_start sub_8046E9C -sub_8046E9C: @ 8046E9C - push {r4-r7,lr} - adds r5, r0, 0 - movs r7, 0 - ldrh r0, [r5, 0x3A] - lsls r0, 24 - lsrs r4, r0, 24 - ldr r6, _08046F00 @ =gSprites - ldr r0, _08046F04 @ =gObjectBankIDs - adds r3, r4, r0 - ldrb r1, [r3] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r6 - adds r0, 0x3E - ldrb r2, [r0] - movs r1, 0x5 - negs r1, r1 - ands r1, r2 - strb r1, [r0] - adds r0, r5, 0 - adds r0, 0x3F - ldrb r1, [r0] - movs r0, 0x10 - ands r0, r1 - cmp r0, 0 - beq _08046EDE - adds r2, r5, 0 - adds r2, 0x3E - ldrb r0, [r2] - movs r1, 0x4 - orrs r0, r1 - strb r0, [r2] -_08046EDE: - ldrb r0, [r3] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r6 - adds r0, r1, 0 - adds r0, 0x3F - ldrb r0, [r0] - lsls r0, 26 - cmp r0, 0 - bge _08046F08 - adds r0, r1, 0 - movs r1, 0 - bl StartSpriteAffineAnim - movs r7, 0x1 - b _08046F24 - .align 2, 0 -_08046F00: .4byte gSprites -_08046F04: .4byte gObjectBankIDs -_08046F08: - ldr r2, _08046FA8 @ =0xfffffee0 - adds r0, r2, 0 - ldrh r2, [r1, 0x30] - adds r0, r2 - strh r0, [r1, 0x30] - ldrb r0, [r3] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r6 - ldrh r0, [r1, 0x30] - lsls r0, 16 - asrs r0, 24 - strh r0, [r1, 0x26] -_08046F24: - adds r0, r5, 0 - adds r0, 0x3F - ldrb r1, [r0] - movs r0, 0x10 - ands r0, r1 - cmp r0, 0 - beq _08046FA0 - cmp r7, 0 - beq _08046FA0 - ldr r2, _08046FAC @ =gSprites - ldr r0, _08046FB0 @ =gObjectBankIDs - adds r0, r4, r0 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - movs r2, 0 - movs r1, 0 - strh r1, [r0, 0x26] - ldr r0, _08046FB4 @ =gDoingBattleAnim - strb r2, [r0] - lsls r1, r4, 1 - adds r1, r4 - lsls r1, 2 - ldr r4, _08046FB8 @ =0x02017810 - adds r1, r4 - ldrb r2, [r1] - movs r0, 0x9 - negs r0, r0 - ands r0, r2 - strb r0, [r1] - adds r0, r5, 0 - bl FreeSpriteOamMatrix - adds r0, r5, 0 - bl DestroySprite - movs r3, 0 - movs r5, 0x8 - adds r2, r4, 0 - movs r4, 0x3 -_08046F78: - ldrb r1, [r2] - adds r0, r5, 0 - ands r0, r1 - cmp r0, 0 - bne _08046F84 - adds r3, 0x1 -_08046F84: - adds r2, 0xC - subs r4, 0x1 - cmp r4, 0 - bge _08046F78 - cmp r3, 0x4 - bne _08046FA0 - movs r4, 0 -_08046F92: - lsls r0, r4, 24 - lsrs r0, 24 - bl sub_804794C - adds r4, 0x1 - cmp r4, 0xB - ble _08046F92 -_08046FA0: - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08046FA8: .4byte 0xfffffee0 -_08046FAC: .4byte gSprites -_08046FB0: .4byte gObjectBankIDs -_08046FB4: .4byte gDoingBattleAnim -_08046FB8: .4byte 0x02017810 - thumb_func_end sub_8046E9C - - thumb_func_start sub_8046FBC -sub_8046FBC: @ 8046FBC - push {r4-r7,lr} - adds r6, r0, 0 - ldrh r0, [r6, 0x3A] - lsls r0, 24 - lsrs r7, r0, 24 - ldrh r0, [r6, 0x36] - adds r0, 0x1 - strh r0, [r6, 0x36] - lsls r0, 16 - asrs r1, r0, 16 - cmp r1, 0x28 - beq _08047056 - cmp r1, 0x5F - bne _08046FF4 - ldr r0, _08046FEC @ =gDoingBattleAnim - movs r1, 0 - strb r1, [r0] - bl m4aMPlayAllStop - ldr r0, _08046FF0 @ =0x00000173 - bl PlaySE - b _08047056 - .align 2, 0 -_08046FEC: .4byte gDoingBattleAnim -_08046FF0: .4byte 0x00000173 -_08046FF4: - ldr r0, _0804705C @ =0x0000013b - cmp r1, r0 - bne _08047056 - ldr r5, _08047060 @ =gSprites - ldr r4, _08047064 @ =gObjectBankIDs - movs r1, 0x3A - ldrsh r0, [r6, r1] - adds r0, r4 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - ldrb r0, [r0, 0x3] - lsls r0, 26 - lsrs r0, 27 - bl FreeOamMatrix - movs r1, 0x3A - ldrsh r0, [r6, r1] - adds r0, r4 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - bl DestroySprite - adds r0, r6, 0 - bl DestroySpriteAndFreeResources - ldr r0, _08047068 @ =gMain - ldr r1, _0804706C @ =0x0000043d - adds r0, r1 - ldrb r1, [r0] - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _08047056 - lsls r1, r7, 1 - adds r1, r7 - lsls r1, 2 - ldr r0, _08047070 @ =0x02017810 - adds r1, r0 - ldrb r2, [r1] - movs r0, 0x9 - negs r0, r0 - ands r0, r2 - strb r0, [r1] -_08047056: - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0804705C: .4byte 0x0000013b -_08047060: .4byte gSprites -_08047064: .4byte gObjectBankIDs -_08047068: .4byte gMain -_0804706C: .4byte 0x0000043d -_08047070: .4byte 0x02017810 - thumb_func_end sub_8046FBC - - thumb_func_start sub_8047074 -sub_8047074: @ 8047074 - push {r4,lr} - adds r4, r0, 0 - movs r0, 0x19 - strh r0, [r4, 0x2E] - ldrh r0, [r4, 0x3A] - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x2 - bl sub_8077ABC - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4, 0x32] - ldrh r0, [r4, 0x3A] - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x3 - bl sub_8077ABC - lsls r0, 24 - lsrs r0, 24 - adds r0, 0x18 - strh r0, [r4, 0x36] - ldr r0, _080470BC @ =0x0000ffe2 - strh r0, [r4, 0x38] - ldrh r0, [r4, 0x3A] - strh r0, [r4, 0x6] - adds r0, r4, 0 - bl sub_80786EC - ldr r0, _080470C0 @ =sub_80470C4 - str r0, [r4, 0x1C] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080470BC: .4byte 0x0000ffe2 -_080470C0: .4byte sub_80470C4 - thumb_func_end sub_8047074 - - thumb_func_start sub_80470C4 -sub_80470C4: @ 80470C4 - push {r4-r7,lr} - mov r7, r8 - push {r7} - adds r5, r0, 0 - ldrh r0, [r5, 0x3C] - movs r1, 0xFF - mov r8, r1 - lsrs r0, 8 - subs r0, 0x23 - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x2C - bhi _080471B8 - ldrh r1, [r5, 0x6] - movs r0, 0xFF - lsls r0, 8 - ands r0, r1 - cmp r0, 0 - bne _08047126 - ldrh r0, [r5, 0x30] - movs r1, 0x1 - adds r6, r1, 0 - ands r6, r0 - ldrh r0, [r5, 0x32] - adds r7, r1, 0 - ands r7, r0 - movs r2, 0x30 - ldrsh r0, [r5, r2] - movs r1, 0x3 - bl __divsi3 - movs r1, 0x2 - negs r1, r1 - adds r4, r1, 0 - ands r0, r4 - orrs r6, r0 - strh r6, [r5, 0x30] - movs r2, 0x32 - ldrsh r0, [r5, r2] - movs r1, 0x3 - bl __divsi3 - ands r0, r4 - orrs r7, r0 - strh r7, [r5, 0x32] - adds r0, r5, 0 - movs r1, 0x4 - bl StartSpriteAffineAnim -_08047126: - ldrh r4, [r5, 0x2E] - adds r0, r5, 0 - bl sub_8078B5C - movs r1, 0x3A - ldrsh r0, [r5, r1] - movs r1, 0x3 - bl __divsi3 - adds r1, r0, 0 - ldrh r0, [r5, 0x3C] - adds r0, r1 - strh r0, [r5, 0x3C] - lsls r0, 16 - asrs r0, 24 - mov r2, r8 - ands r0, r2 - movs r2, 0x38 - ldrsh r1, [r5, r2] - bl Sin - ldrh r1, [r5, 0x26] - adds r0, r1 - strh r0, [r5, 0x26] - movs r2, 0x80 - lsls r2, 1 - adds r0, r2, 0 - ldrh r1, [r5, 0x6] - adds r0, r1 - strh r0, [r5, 0x6] - lsls r0, 16 - lsrs r0, 24 - movs r1, 0x3 - bl __umodsi3 - lsls r0, 16 - cmp r0, 0 - beq _08047176 - strh r4, [r5, 0x2E] - b _0804717E -_08047176: - lsls r0, r4, 16 - asrs r0, 16 - subs r0, 0x1 - strh r0, [r5, 0x2E] -_0804717E: - ldrh r0, [r5, 0x3C] - lsrs r0, 8 - cmp r0, 0x4F - ble _08047220 - ldrh r0, [r5, 0x30] - movs r1, 0x1 - adds r6, r1, 0 - ands r6, r0 - ldrh r0, [r5, 0x32] - adds r7, r1, 0 - ands r7, r0 - movs r2, 0x30 - ldrsh r1, [r5, r2] - lsls r0, r1, 1 - adds r0, r1 - movs r1, 0x2 - negs r1, r1 - adds r2, r1, 0 - ands r0, r2 - orrs r0, r6 - strh r0, [r5, 0x30] - movs r0, 0x32 - ldrsh r1, [r5, r0] - lsls r0, r1, 1 - adds r0, r1 - ands r0, r2 - orrs r0, r7 - strh r0, [r5, 0x32] - b _08047220 -_080471B8: - adds r0, r5, 0 - bl sub_8078718 - lsls r0, 24 - cmp r0, 0 - beq _08047220 - ldrh r0, [r5, 0x24] - ldrh r1, [r5, 0x20] - adds r0, r1 - movs r1, 0 - strh r0, [r5, 0x20] - ldrh r0, [r5, 0x26] - ldrh r2, [r5, 0x22] - adds r0, r2 - strh r0, [r5, 0x22] - strh r1, [r5, 0x26] - strh r1, [r5, 0x24] - ldrb r0, [r5, 0x6] - strh r0, [r5, 0x3A] - strh r1, [r5, 0x2E] - bl IsDoubleBattle - lsls r0, 24 - cmp r0, 0 - beq _08047214 - ldr r0, _0804720C @ =0x02017840 - ldrb r1, [r0, 0x9] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _08047214 - movs r0, 0x3A - ldrsh r4, [r5, r0] - movs r0, 0x2 - bl GetBankByPlayerAI - lsls r0, 24 - lsrs r0, 24 - cmp r4, r0 - bne _08047214 - ldr r0, _08047210 @ =sub_8047230 - b _08047216 - .align 2, 0 -_0804720C: .4byte 0x02017840 -_08047210: .4byte sub_8047230 -_08047214: - ldr r0, _0804722C @ =sub_8046C78 -_08047216: - str r0, [r5, 0x1C] - adds r0, r5, 0 - movs r1, 0 - bl StartSpriteAffineAnim -_08047220: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0804722C: .4byte sub_8046C78 - thumb_func_end sub_80470C4 - - thumb_func_start sub_8047230 -sub_8047230: @ 8047230 - push {lr} - adds r2, r0, 0 - ldrh r0, [r2, 0x2E] - adds r1, r0, 0x1 - strh r1, [r2, 0x2E] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x18 - ble _0804724A - movs r0, 0 - strh r0, [r2, 0x2E] - ldr r0, _08047250 @ =sub_8046C78 - str r0, [r2, 0x1C] -_0804724A: - pop {r0} - bx r0 - .align 2, 0 -_08047250: .4byte sub_8046C78 - thumb_func_end sub_8047230 - - thumb_func_start sub_8047254 -sub_8047254: @ 8047254 - push {r4,r5,lr} - adds r5, r0, 0 - ldrh r0, [r5, 0x2E] - adds r0, 0x1 - strh r0, [r5, 0x2E] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0xF - ble _080472A4 - movs r0, 0 - strh r0, [r5, 0x2E] - bl IsDoubleBattle - lsls r0, 24 - cmp r0, 0 - beq _080472A0 - ldr r0, _08047298 @ =0x02017840 - ldrb r1, [r0, 0x9] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _080472A0 - movs r0, 0x3A - ldrsh r4, [r5, r0] - movs r0, 0x3 - bl GetBankByPlayerAI - lsls r0, 24 - lsrs r0, 24 - cmp r4, r0 - bne _080472A0 - ldr r0, _0804729C @ =sub_8047230 - b _080472A2 - .align 2, 0 -_08047298: .4byte 0x02017840 -_0804729C: .4byte sub_8047230 -_080472A0: - ldr r0, _080472AC @ =sub_8046C78 -_080472A2: - str r0, [r5, 0x1C] -_080472A4: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080472AC: .4byte sub_8046C78 - thumb_func_end sub_8047254 - - thumb_func_start sub_80472B0 -sub_80472B0: @ 80472B0 - push {r4,lr} - sub sp, 0x4 - lsls r0, 24 - lsrs r0, 24 - lsls r1, 24 - lsrs r1, 24 - lsls r2, 24 - lsrs r2, 24 - lsls r3, 24 - lsrs r3, 24 - movs r4, 0 - str r4, [sp] - bl sub_814086C - lsls r0, 24 - lsrs r0, 24 - add sp, 0x4 - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_80472B0 - - thumb_func_start sub_80472D8 -sub_80472D8: @ 80472D8 - push {lr} - lsls r0, 24 - lsrs r0, 24 - lsls r1, 24 - lsrs r1, 24 - movs r3, 0 - bl sub_8141314 - lsls r0, 24 - lsrs r0, 24 - pop {r1} - bx r1 - thumb_func_end sub_80472D8 - - thumb_func_start CreatePokeballSprite -CreatePokeballSprite: @ 80472F0 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x4 - adds r5, r0, 0 - mov r9, r2 - mov r10, r3 - ldr r6, [sp, 0x24] - ldr r4, [sp, 0x28] - ldr r0, [sp, 0x2C] - lsls r5, 24 - lsrs r5, 24 - lsls r1, 24 - lsrs r1, 24 - str r1, [sp] - mov r1, r9 - lsls r1, 24 - lsrs r1, 24 - mov r9, r1 - mov r2, r10 - lsls r2, 24 - lsrs r2, 24 - mov r10, r2 - lsls r6, 24 - lsrs r6, 24 - lsls r4, 24 - lsrs r4, 24 - lsls r0, 24 - lsrs r7, r0, 24 - ldr r0, _080473BC @ =gUnknown_0820A92C - bl LoadCompressedObjectPic - ldr r0, _080473C0 @ =gUnknown_0820A98C - bl LoadCompressedObjectPalette - ldr r0, _080473C4 @ =gSpriteTemplate_820AAB4 - mov r1, r9 - mov r2, r10 - adds r3, r4, 0 - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - ldr r3, _080473C8 @ =gSprites - mov r8, r3 - lsls r4, r0, 4 - adds r4, r0 - lsls r4, 2 - adds r1, r4, r3 - strh r5, [r1, 0x2E] - lsls r2, r5, 4 - adds r2, r5 - lsls r2, 2 - add r2, r8 - ldrh r0, [r2, 0x20] - strh r0, [r1, 0x38] - ldrh r0, [r2, 0x22] - strh r0, [r1, 0x3A] - mov r0, r9 - strh r0, [r2, 0x20] - mov r3, r10 - strh r3, [r2, 0x22] - strh r7, [r1, 0x30] - mov r0, sp - ldrh r0, [r0] - strh r0, [r1, 0x32] - mov r3, sp - ldrh r3, [r3, 0x30] - strh r3, [r1, 0x34] - ldr r3, [sp, 0x30] - lsrs r0, r3, 16 - strh r0, [r1, 0x36] - movs r0, 0x3 - ands r6, r0 - lsls r6, 2 - ldrb r3, [r1, 0x5] - movs r0, 0xD - negs r0, r0 - ands r0, r3 - orrs r0, r6 - strb r0, [r1, 0x5] - movs r0, 0x1C - add r8, r0 - add r4, r8 - ldr r0, _080473CC @ =sub_80473D0 - str r0, [r4] - adds r2, 0x3E - ldrb r0, [r2] - movs r1, 0x4 - orrs r0, r1 - strb r0, [r2] - add sp, 0x4 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080473BC: .4byte gUnknown_0820A92C -_080473C0: .4byte gUnknown_0820A98C -_080473C4: .4byte gSpriteTemplate_820AAB4 -_080473C8: .4byte gSprites -_080473CC: .4byte sub_80473D0 - thumb_func_end CreatePokeballSprite - - thumb_func_start sub_80473D0 -sub_80473D0: @ 80473D0 - push {r4-r7,lr} - mov r7, r8 - push {r7} - adds r6, r0, 0 - ldrh r1, [r6, 0x30] - movs r2, 0x30 - ldrsh r0, [r6, r2] - cmp r0, 0 - bne _0804747C - ldrh r0, [r6, 0x2E] - lsls r0, 24 - lsrs r7, r0, 24 - ldrh r0, [r6, 0x32] - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - ldrh r4, [r6, 0x34] - ldrh r0, [r6, 0x36] - lsls r0, 16 - orrs r4, r0 - adds r0, r6, 0 - adds r0, 0x43 - ldrb r0, [r0] - cmp r0, 0 - beq _0804740A - subs r0, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - b _0804740C -_0804740A: - movs r5, 0 -_0804740C: - adds r0, r6, 0 - movs r1, 0x1 - bl StartSpriteAnim - ldrh r0, [r6, 0x20] - lsls r0, 24 - lsrs r0, 24 - ldrh r1, [r6, 0x22] - subs r1, 0x5 - lsls r1, 24 - lsrs r1, 24 - ldrb r2, [r6, 0x5] - lsls r2, 28 - lsrs r2, 30 - adds r3, r5, 0 - bl sub_80472B0 - movs r0, 0x1 - mov r1, r8 - adds r2, r4, 0 - bl sub_80472D8 - lsls r0, 24 - lsrs r0, 24 - movs r5, 0 - strh r0, [r6, 0x30] - ldr r0, _08047474 @ =sub_804748C - str r0, [r6, 0x1C] - ldr r0, _08047478 @ =gSprites - lsls r4, r7, 4 - adds r4, r7 - lsls r4, 2 - adds r4, r0 - adds r2, r4, 0 - adds r2, 0x3E - ldrb r1, [r2] - movs r0, 0x5 - negs r0, r0 - ands r0, r1 - strb r0, [r2] - adds r0, r4, 0 - movs r1, 0x1 - bl StartSpriteAffineAnim - adds r0, r4, 0 - bl AnimateSprite - movs r0, 0x80 - lsls r0, 5 - strh r0, [r4, 0x30] - strh r5, [r6, 0x3C] - b _08047480 - .align 2, 0 -_08047474: .4byte sub_804748C -_08047478: .4byte gSprites -_0804747C: - subs r0, r1, 0x1 - strh r0, [r6, 0x30] -_08047480: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_80473D0 - - thumb_func_start sub_804748C -sub_804748C: @ 804748C - push {r4-r7,lr} - adds r4, r0, 0 - movs r0, 0 - mov r12, r0 - movs r6, 0 - ldrh r0, [r4, 0x2E] - lsls r0, 24 - lsrs r3, r0, 24 - adds r0, r4, 0 - adds r0, 0x3F - ldrb r1, [r0] - movs r0, 0x10 - ands r0, r1 - cmp r0, 0 - beq _080474B6 - adds r2, r4, 0 - adds r2, 0x3E - ldrb r0, [r2] - movs r1, 0x4 - orrs r0, r1 - strb r0, [r2] -_080474B6: - ldr r0, _08047544 @ =gSprites - lsls r1, r3, 4 - adds r1, r3 - lsls r1, 2 - adds r5, r1, r0 - adds r0, r5, 0 - adds r0, 0x3F - ldrb r0, [r0] - lsls r0, 26 - cmp r0, 0 - bge _080474D8 - adds r0, r5, 0 - movs r1, 0 - bl StartSpriteAffineAnim - movs r1, 0x1 - mov r12, r1 -_080474D8: - movs r2, 0x38 - ldrsh r0, [r4, r2] - movs r7, 0x20 - ldrsh r1, [r4, r7] - subs r0, r1 - movs r1, 0x3C - ldrsh r2, [r4, r1] - muls r0, r2 - cmp r0, 0 - bge _080474EE - adds r0, 0x7F -_080474EE: - asrs r0, 7 - ldrh r7, [r4, 0x20] - adds r0, r7 - lsls r0, 16 - lsrs r3, r0, 16 - movs r1, 0x3A - ldrsh r0, [r4, r1] - movs r7, 0x22 - ldrsh r1, [r4, r7] - subs r0, r1 - muls r0, r2 - cmp r0, 0 - bge _0804750A - adds r0, 0x7F -_0804750A: - asrs r0, 7 - ldrh r1, [r4, 0x22] - adds r0, r1 - strh r3, [r5, 0x20] - strh r0, [r5, 0x22] - ldrh r2, [r4, 0x3C] - movs r7, 0x3C - ldrsh r0, [r4, r7] - cmp r0, 0x7F - bgt _0804754C - ldr r1, _08047548 @ =gSineTable - lsls r0, r2, 24 - lsrs r0, 23 - adds r0, r1 - movs r1, 0 - ldrsh r0, [r0, r1] - cmp r0, 0 - bge _08047530 - adds r0, 0x7 -_08047530: - asrs r0, 3 - negs r0, r0 - lsls r0, 16 - lsrs r0, 16 - adds r1, r2, 0x4 - strh r1, [r4, 0x3C] - strh r0, [r5, 0x24] - strh r0, [r5, 0x26] - b _0804755A - .align 2, 0 -_08047544: .4byte gSprites -_08047548: .4byte gSineTable -_0804754C: - ldrh r0, [r4, 0x38] - strh r0, [r5, 0x20] - ldrh r0, [r4, 0x3A] - strh r0, [r5, 0x22] - strh r6, [r5, 0x24] - strh r6, [r5, 0x26] - movs r6, 0x1 -_0804755A: - adds r0, r4, 0 - adds r0, 0x3F - ldrb r1, [r0] - movs r0, 0x10 - ands r0, r1 - cmp r0, 0 - beq _08047578 - mov r2, r12 - cmp r2, 0 - beq _08047578 - cmp r6, 0 - beq _08047578 - adds r0, r4, 0 - bl DestroySpriteAndFreeResources -_08047578: - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_804748C - - thumb_func_start sub_8047580 -sub_8047580: @ 8047580 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - mov r10, r0 - adds r6, r2, 0 - mov r8, r3 - ldr r5, [sp, 0x20] - ldr r4, [sp, 0x24] - ldr r0, [sp, 0x28] - mov r9, r0 - mov r0, r10 - lsls r0, 24 - lsrs r0, 24 - mov r10, r0 - lsls r1, 24 - lsrs r7, r1, 24 - lsls r6, 24 - lsrs r6, 24 - mov r1, r8 - lsls r1, 24 - lsrs r1, 24 - mov r8, r1 - lsls r5, 24 - lsrs r5, 24 - lsls r4, 24 - lsrs r4, 24 - mov r0, r9 - lsls r0, 24 - lsrs r0, 24 - mov r9, r0 - ldr r0, _08047624 @ =gUnknown_0820A92C - bl LoadCompressedObjectPic - ldr r0, _08047628 @ =gUnknown_0820A98C - bl LoadCompressedObjectPalette - ldr r0, _0804762C @ =gSpriteTemplate_820AAB4 - adds r1, r6, 0 - mov r2, r8 - adds r3, r4, 0 - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - ldr r6, _08047630 @ =gSprites - lsls r3, r0, 4 - adds r3, r0 - lsls r3, 2 - adds r2, r3, r6 - mov r1, r10 - strh r1, [r2, 0x2E] - mov r4, r9 - strh r4, [r2, 0x30] - strh r7, [r2, 0x32] - mov r1, sp - ldrh r1, [r1, 0x2C] - strh r1, [r2, 0x34] - ldr r4, [sp, 0x2C] - lsrs r1, r4, 16 - strh r1, [r2, 0x36] - movs r1, 0x3 - ands r5, r1 - lsls r5, 2 - ldrb r4, [r2, 0x5] - movs r1, 0xD - negs r1, r1 - ands r1, r4 - orrs r1, r5 - strb r1, [r2, 0x5] - adds r6, 0x1C - adds r3, r6 - ldr r1, _08047634 @ =sub_8047638 - str r1, [r3] - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_08047624: .4byte gUnknown_0820A92C -_08047628: .4byte gUnknown_0820A98C -_0804762C: .4byte gSpriteTemplate_820AAB4 -_08047630: .4byte gSprites -_08047634: .4byte sub_8047638 - thumb_func_end sub_8047580 - - thumb_func_start sub_8047638 -sub_8047638: @ 8047638 - push {r4-r7,lr} - mov r7, r8 - push {r7} - adds r4, r0, 0 - ldrh r1, [r4, 0x30] - movs r2, 0x30 - ldrsh r0, [r4, r2] - cmp r0, 0 - bne _080476D0 - ldrh r0, [r4, 0x2E] - lsls r0, 24 - lsrs r7, r0, 24 - ldrh r0, [r4, 0x32] - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - ldrh r5, [r4, 0x34] - ldrh r0, [r4, 0x36] - lsls r0, 16 - orrs r5, r0 - adds r0, r4, 0 - adds r0, 0x43 - ldrb r0, [r0] - cmp r0, 0 - beq _08047672 - subs r0, 0x1 - lsls r0, 24 - lsrs r6, r0, 24 - b _08047674 -_08047672: - movs r6, 0 -_08047674: - adds r0, r4, 0 - movs r1, 0x1 - bl StartSpriteAnim - ldrh r0, [r4, 0x20] - lsls r0, 24 - lsrs r0, 24 - ldrh r1, [r4, 0x22] - subs r1, 0x5 - lsls r1, 24 - lsrs r1, 24 - ldrb r2, [r4, 0x5] - lsls r2, 28 - lsrs r2, 30 - adds r3, r6, 0 - bl sub_80472B0 - movs r0, 0x1 - mov r1, r8 - adds r2, r5, 0 - bl sub_80472D8 - lsls r0, 24 - lsrs r0, 24 - movs r5, 0 - strh r0, [r4, 0x30] - ldr r0, _080476C8 @ =sub_80476E0 - str r0, [r4, 0x1C] - lsls r4, r7, 4 - adds r4, r7 - lsls r4, 2 - ldr r0, _080476CC @ =gSprites - adds r4, r0 - adds r0, r4, 0 - movs r1, 0x2 - bl StartSpriteAffineAnim - adds r0, r4, 0 - bl AnimateSprite - strh r5, [r4, 0x30] - b _080476D4 - .align 2, 0 -_080476C8: .4byte sub_80476E0 -_080476CC: .4byte gSprites -_080476D0: - subs r0, r1, 0x1 - strh r0, [r4, 0x30] -_080476D4: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_8047638 - - thumb_func_start sub_80476E0 -sub_80476E0: @ 80476E0 - push {r4,r5,lr} - adds r5, r0, 0 - ldrh r0, [r5, 0x38] - adds r0, 0x1 - strh r0, [r5, 0x38] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0xB - bne _080476F8 - movs r0, 0x3C - bl PlaySE -_080476F8: - ldrh r1, [r5, 0x2E] - lsls r1, 24 - lsrs r1, 24 - ldr r2, _08047734 @ =gSprites - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r4, r0, r2 - adds r0, r4, 0 - adds r0, 0x3F - ldrb r0, [r0] - lsls r0, 26 - cmp r0, 0 - bge _0804773C - adds r0, r5, 0 - movs r1, 0x2 - bl StartSpriteAnim - adds r2, r4, 0 - adds r2, 0x3E - ldrb r0, [r2] - movs r1, 0x4 - orrs r0, r1 - strb r0, [r2] - movs r0, 0 - strh r0, [r5, 0x38] - ldr r0, _08047738 @ =sub_8047754 - str r0, [r5, 0x1C] - b _0804774C - .align 2, 0 -_08047734: .4byte gSprites -_08047738: .4byte sub_8047754 -_0804773C: - ldrh r0, [r4, 0x30] - adds r0, 0x60 - strh r0, [r4, 0x30] - movs r1, 0x30 - ldrsh r0, [r4, r1] - negs r0, r0 - asrs r0, 8 - strh r0, [r4, 0x26] -_0804774C: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_80476E0 - - thumb_func_start sub_8047754 -sub_8047754: @ 8047754 - push {lr} - adds r2, r0, 0 - adds r0, 0x3F - ldrb r1, [r0] - movs r0, 0x10 - ands r0, r1 - cmp r0, 0 - beq _08047768 - ldr r0, _0804776C @ =SpriteCallbackDummy - str r0, [r2, 0x1C] -_08047768: - pop {r0} - bx r0 - .align 2, 0 -_0804776C: .4byte SpriteCallbackDummy - thumb_func_end sub_8047754 - - thumb_func_start obj_delete_and_free_associated_resources_ -obj_delete_and_free_associated_resources_: @ 8047770 - push {lr} - bl DestroySpriteAndFreeResources - pop {r0} - bx r0 - thumb_func_end obj_delete_and_free_associated_resources_ - - thumb_func_start sub_804777C -sub_804777C: @ 804777C - push {r4-r6,lr} - lsls r0, 24 - lsrs r0, 24 - adds r5, r0, 0 - ldr r0, _080477FC @ =gHealthboxIDs - adds r0, r5, r0 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r6, _08047800 @ =gSprites - adds r4, r0, r6 - movs r1, 0 - movs r0, 0x5 - strh r0, [r4, 0x2E] - strh r1, [r4, 0x30] - movs r0, 0x73 - strh r0, [r4, 0x24] - strh r1, [r4, 0x26] - ldr r0, _08047804 @ =sub_8047830 - str r0, [r4, 0x1C] - adds r0, r5, 0 - bl GetBankSide - lsls r0, 24 - cmp r0, 0 - beq _080477CA - ldrh r0, [r4, 0x2E] - negs r0, r0 - strh r0, [r4, 0x2E] - ldrh r0, [r4, 0x30] - negs r0, r0 - strh r0, [r4, 0x30] - ldrh r0, [r4, 0x24] - negs r0, r0 - strh r0, [r4, 0x24] - ldrh r0, [r4, 0x26] - negs r0, r0 - strh r0, [r4, 0x26] -_080477CA: - movs r0, 0x38 - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r1, r6, 0 - adds r1, 0x1C - adds r1, r0, r1 - adds r0, r6 - ldr r1, [r1] - bl _call_via_r1 - adds r0, r5, 0 - bl GetBankIdentity - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x2 - bne _080477F4 - ldr r0, _08047808 @ =sub_804780C - str r0, [r4, 0x1C] -_080477F4: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080477FC: .4byte gHealthboxIDs -_08047800: .4byte gSprites -_08047804: .4byte sub_8047830 -_08047808: .4byte sub_804780C - thumb_func_end sub_804777C - - thumb_func_start sub_804780C -sub_804780C: @ 804780C - push {lr} - adds r1, r0, 0 - ldrh r0, [r1, 0x30] - adds r0, 0x1 - strh r0, [r1, 0x30] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x14 - bne _08047826 - movs r0, 0 - strh r0, [r1, 0x30] - ldr r0, _0804782C @ =sub_8047830 - str r0, [r1, 0x1C] -_08047826: - pop {r0} - bx r0 - .align 2, 0 -_0804782C: .4byte sub_8047830 - thumb_func_end sub_804780C - - thumb_func_start sub_8047830 -sub_8047830: @ 8047830 - push {lr} - adds r2, r0, 0 - ldrh r0, [r2, 0x24] - ldrh r1, [r2, 0x2E] - subs r0, r1 - strh r0, [r2, 0x24] - ldrh r0, [r2, 0x26] - ldrh r1, [r2, 0x30] - subs r0, r1 - strh r0, [r2, 0x26] - ldr r0, [r2, 0x24] - cmp r0, 0 - bne _0804784E - ldr r0, _08047854 @ =SpriteCallbackDummy - str r0, [r2, 0x1C] -_0804784E: - pop {r0} - bx r0 - .align 2, 0 -_08047854: .4byte SpriteCallbackDummy - thumb_func_end sub_8047830 - - thumb_func_start sub_8047858 -sub_8047858: @ 8047858 - push {r4,r5,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - ldr r5, _08047890 @ =oamc_804BEB4 - adds r0, r5, 0 - bl CreateInvisibleSpriteWithCallback - lsls r0, 24 - lsrs r0, 24 - ldr r2, _08047894 @ =gSprites - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r3, r1, r2 - movs r0, 0x1 - strh r0, [r3, 0x2E] - ldr r0, _08047898 @ =gHealthboxIDs - adds r4, r0 - ldrb r0, [r4] - strh r0, [r3, 0x30] - adds r2, 0x1C - adds r1, r2 - str r5, [r1] - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08047890: .4byte oamc_804BEB4 -_08047894: .4byte gSprites -_08047898: .4byte gHealthboxIDs - thumb_func_end sub_8047858 - - thumb_func_start oamc_804BEB4 -oamc_804BEB4: @ 804789C - push {lr} - adds r3, r0, 0 - ldrh r1, [r3, 0x30] - lsls r1, 24 - lsrs r1, 24 - ldr r2, _080478D8 @ =gSprites - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r1, r0, r2 - ldrh r0, [r3, 0x2E] - movs r2, 0 - strh r0, [r1, 0x26] - ldrh r0, [r3, 0x2E] - negs r0, r0 - strh r0, [r3, 0x2E] - ldrh r0, [r3, 0x32] - adds r0, 0x1 - strh r0, [r3, 0x32] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x15 - bne _080478D4 - strh r2, [r1, 0x24] - strh r2, [r1, 0x26] - adds r0, r3, 0 - bl DestroySprite -_080478D4: - pop {r0} - bx r0 - .align 2, 0 -_080478D8: .4byte gSprites - thumb_func_end oamc_804BEB4 - - thumb_func_start sub_80478DC -sub_80478DC: @ 80478DC - push {r4-r6,lr} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r0, _08047938 @ =gUnknown_0820A92C - lsls r6, r4, 3 - adds r5, r6, r0 - ldrh r0, [r5, 0x6] - bl GetSpriteTileStartByTag - lsls r0, 16 - ldr r1, _0804793C @ =0xffff0000 - cmp r0, r1 - bne _08047904 - adds r0, r5, 0 - bl LoadCompressedObjectPic - ldr r0, _08047940 @ =gUnknown_0820A98C - adds r0, r6, r0 - bl LoadCompressedObjectPalette -_08047904: - cmp r4, 0x6 - beq _08047930 - cmp r4, 0x6 - blt _08047914 - cmp r4, 0xB - bgt _08047914 - cmp r4, 0xA - bge _08047930 -_08047914: - ldr r1, _08047938 @ =gUnknown_0820A92C - lsls r0, r4, 3 - adds r0, r1 - ldrh r0, [r0, 0x6] - bl GetSpriteTileStartByTag - adds r1, r0, 0 - lsls r1, 16 - ldr r0, _08047944 @ =gUnknown_08D030D0 - lsrs r1, 11 - ldr r2, _08047948 @ =0x06010100 - adds r1, r2 - bl LZDecompressVram -_08047930: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_08047938: .4byte gUnknown_0820A92C -_0804793C: .4byte 0xffff0000 -_08047940: .4byte gUnknown_0820A98C -_08047944: .4byte gUnknown_08D030D0 -_08047948: .4byte 0x06010100 - thumb_func_end sub_80478DC - - thumb_func_start sub_804794C -sub_804794C: @ 804794C - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - ldr r0, _08047970 @ =gUnknown_0820A92C - lsrs r4, 21 - adds r0, r4, r0 - ldrh r0, [r0, 0x6] - bl FreeSpriteTilesByTag - ldr r0, _08047974 @ =gUnknown_0820A98C - adds r4, r0 - ldrh r0, [r4, 0x4] - bl FreeSpritePaletteByTag - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08047970: .4byte gUnknown_0820A92C -_08047974: .4byte gUnknown_0820A98C - thumb_func_end sub_804794C - - thumb_func_start sub_8047978 -sub_8047978: @ 8047978 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - adds r0, r4, 0 - bl GetBankSide - lsls r0, 24 - cmp r0, 0 - beq _080479A4 - ldr r1, _0804799C @ =gBattlePartyID - lsls r0, r4, 1 - adds r0, r1 - ldrh r1, [r0] - movs r0, 0x64 - muls r0, r1 - ldr r1, _080479A0 @ =gEnemyParty - b _080479B2 - .align 2, 0 -_0804799C: .4byte gBattlePartyID -_080479A0: .4byte gEnemyParty -_080479A4: - ldr r1, _080479C4 @ =gBattlePartyID - lsls r0, r4, 1 - adds r0, r1 - ldrh r1, [r0] - movs r0, 0x64 - muls r0, r1 - ldr r1, _080479C8 @ =gPlayerParty -_080479B2: - adds r0, r1 - movs r1, 0x26 - bl GetMonData - lsls r0, 16 - lsrs r0, 16 - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_080479C4: .4byte gBattlePartyID -_080479C8: .4byte gPlayerParty - thumb_func_end sub_8047978 - - .align 2, 0 @ Don't pad with nop. diff --git a/asm/pokemon_summary_screen.s b/asm/pokemon_summary_screen.s index 20231a0bb..fea619ac8 100644 --- a/asm/pokemon_summary_screen.s +++ b/asm/pokemon_summary_screen.s @@ -8398,7 +8398,7 @@ sub_80A1DE8: @ 80A1DE8 lsls r0, r4, 1 adds r0, r4 lsls r0, 3 - ldr r1, _080A1E48 @ =gSpriteTemplate_820AAB4 + ldr r1, _080A1E48 @ =gBallSpriteTemplates adds r0, r1 movs r1, 0x6 movs r2, 0x88 @@ -8429,7 +8429,7 @@ sub_80A1DE8: @ 80A1DE8 pop {r0} bx r0 .align 2, 0 -_080A1E48: .4byte gSpriteTemplate_820AAB4 +_080A1E48: .4byte gBallSpriteTemplates _080A1E4C: .4byte 0x02018000 _080A1E50: .4byte gSprites _080A1E54: .4byte SpriteCallbackDummy |