diff options
Diffstat (limited to 'asm')
-rw-r--r-- | asm/battle_10.s | 4675 | ||||
-rw-r--r-- | asm/battle_6.s | 5484 | ||||
-rw-r--r-- | asm/battle_anim_8137220.s | 5125 | ||||
-rw-r--r-- | asm/battle_message.s | 26 | ||||
-rw-r--r-- | asm/battle_tower.s | 66 | ||||
-rw-r--r-- | asm/choose_party.s | 2509 | ||||
-rw-r--r-- | asm/field_specials.s | 4934 | ||||
-rw-r--r-- | asm/item_menu.s | 4 | ||||
-rw-r--r-- | asm/learn_move.s | 6 | ||||
-rw-r--r-- | asm/mon_markings.s | 4 | ||||
-rw-r--r-- | asm/rom_header.inc | 13 | ||||
-rw-r--r-- | asm/trade.s | 146 | ||||
-rw-r--r-- | asm/unused_8124F94.s | 285 |
13 files changed, 119 insertions, 23158 deletions
diff --git a/asm/battle_10.s b/asm/battle_10.s deleted file mode 100644 index 548c77bce..000000000 --- a/asm/battle_10.s +++ /dev/null @@ -1,4675 +0,0 @@ - .include "constants/gba_constants.inc" - .include "constants/species_constants.inc" - .include "asm/macros.inc" - - .syntax unified - - .text - - thumb_func_start LinkOpponentHandleGetAttributes -LinkOpponentHandleGetAttributes: @ 803807C - push {r4-r6,lr} - sub sp, 0x100 - movs r6, 0 - ldr r1, _080380A8 @ =gBattleBufferA - ldr r0, _080380AC @ =gActiveBank - ldrb r2, [r0] - lsls r0, r2, 9 - adds r1, 0x2 - adds r1, r0, r1 - ldrb r0, [r1] - cmp r0, 0 - bne _080380B4 - ldr r0, _080380B0 @ =gBattlePartyID - lsls r1, r2, 1 - adds r1, r0 - ldrb r0, [r1] - mov r1, sp - bl dp01_getattr_by_ch1_for_player_pokemon__ - adds r6, r0, 0 - b _080380D6 - .align 2, 0 -_080380A8: .4byte gBattleBufferA -_080380AC: .4byte gActiveBank -_080380B0: .4byte gBattlePartyID -_080380B4: - ldrb r4, [r1] - movs r5, 0 -_080380B8: - movs r0, 0x1 - ands r0, r4 - cmp r0, 0 - beq _080380CE - lsls r0, r5, 24 - lsrs r0, 24 - mov r2, sp - adds r1, r2, r6 - bl dp01_getattr_by_ch1_for_player_pokemon__ - adds r6, r0 -_080380CE: - lsrs r4, 1 - adds r5, 0x1 - cmp r5, 0x5 - ble _080380B8 -_080380D6: - lsls r1, r6, 16 - lsrs r1, 16 - movs r0, 0x1 - mov r2, sp - bl dp01_build_cmdbuf_x1D_1D_numargs_varargs - bl dp01_tbl4_exec_completed - add sp, 0x100 - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end LinkOpponentHandleGetAttributes - - thumb_func_start dp01_getattr_by_ch1_for_player_pokemon__ -dp01_getattr_by_ch1_for_player_pokemon__: @ 80380F0 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x90 - adds r7, r1, 0 - lsls r0, 24 - lsrs r5, r0, 24 - movs r6, 0 - ldr r2, _08038124 @ =gBattleBufferA - ldr r3, _08038128 @ =gActiveBank - ldrb r0, [r3] - lsls r0, 9 - adds r1, r2, 0x1 - adds r0, r1 - ldrb r0, [r0] - cmp r0, 0x3B - bls _0803811A - bl _08038886 -_0803811A: - lsls r0, 2 - ldr r1, _0803812C @ =_08038130 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_08038124: .4byte gBattleBufferA -_08038128: .4byte gActiveBank -_0803812C: .4byte _08038130 - .align 2, 0 -_08038130: - .4byte _08038220 - .4byte _08038444 - .4byte _08038454 - .4byte _08038464 - .4byte _080384CC - .4byte _080384CC - .4byte _080384CC - .4byte _080384CC - .4byte _080384E8 - .4byte _08038524 - .4byte _08038524 - .4byte _08038524 - .4byte _08038524 - .4byte _08038886 - .4byte _08038886 - .4byte _08038886 - .4byte _08038886 - .4byte _08038540 - .4byte _08038550 - .4byte _08038580 - .4byte _08038590 - .4byte _080385A0 - .4byte _080385B0 - .4byte _080385C0 - .4byte _080385D0 - .4byte _080385E0 - .4byte _080385F0 - .4byte _08038600 - .4byte _08038610 - .4byte _08038620 - .4byte _08038630 - .4byte _08038640 - .4byte _08038690 - .4byte _080386A0 - .4byte _080386B0 - .4byte _080386C0 - .4byte _080386D0 - .4byte _080386E0 - .4byte _080386F0 - .4byte _08038700 - .4byte _08038710 - .4byte _08038744 - .4byte _08038754 - .4byte _08038764 - .4byte _08038774 - .4byte _08038784 - .4byte _08038794 - .4byte _080387A4 - .4byte _080387B4 - .4byte _080387D4 - .4byte _080387E4 - .4byte _080387F4 - .4byte _08038804 - .4byte _08038814 - .4byte _08038824 - .4byte _08038834 - .4byte _08038844 - .4byte _08038854 - .4byte _08038864 - .4byte _08038874 -_08038220: - movs r0, 0x64 - adds r4, r5, 0 - muls r4, r0 - ldr r0, _08038434 @ =gEnemyParty - adds r4, r0 - adds r0, r4, 0 - movs r1, 0xB - bl GetMonData - mov r1, sp - strh r0, [r1] - adds r0, r4, 0 - movs r1, 0xC - bl GetMonData - mov r1, sp - strh r0, [r1, 0x2E] - movs r6, 0 - add r0, sp, 0x24 - mov r9, r0 - movs r1, 0x3B - add r1, sp - mov r10, r1 - mov r2, sp - adds r2, 0x2B - str r2, [sp, 0x80] - mov r0, sp - adds r0, 0x2A - str r0, [sp, 0x7C] - mov r1, sp - adds r1, 0x68 - str r1, [sp, 0x8C] - adds r2, 0x5 - str r2, [sp, 0x84] - adds r0, 0x12 - str r0, [sp, 0x88] - mov r8, r4 - add r4, sp, 0xC -_0803826C: - adds r1, r6, 0 - adds r1, 0xD - mov r0, r8 - bl GetMonData - strh r0, [r4] - adds r1, r6, 0 - adds r1, 0x11 - mov r0, r8 - bl GetMonData - mov r2, r9 - adds r1, r2, r6 - strb r0, [r1] - adds r4, 0x2 - adds r6, 0x1 - cmp r6, 0x3 - ble _0803826C - movs r0, 0x64 - adds r4, r5, 0 - muls r4, r0 - ldr r0, _08038434 @ =gEnemyParty - adds r4, r0 - adds r0, r4, 0 - movs r1, 0x15 - bl GetMonData - mov r1, r10 - strb r0, [r1] - adds r0, r4, 0 - movs r1, 0x20 - bl GetMonData - ldr r2, [sp, 0x80] - strb r0, [r2] - adds r0, r4, 0 - movs r1, 0x19 - bl GetMonData - str r0, [sp, 0x44] - adds r0, r4, 0 - movs r1, 0x27 - bl GetMonData - mov r3, sp - movs r5, 0x1F - ands r0, r5 - ldrb r2, [r3, 0x14] - movs r1, 0x20 - negs r1, r1 - ands r1, r2 - orrs r1, r0 - strb r1, [r3, 0x14] - adds r0, r4, 0 - movs r1, 0x28 - bl GetMonData - mov r3, sp - movs r6, 0x1F - ands r0, r6 - lsls r0, 5 - ldrh r2, [r3, 0x14] - ldr r1, _08038438 @ =0xfffffc1f - ands r1, r2 - orrs r1, r0 - strh r1, [r3, 0x14] - adds r0, r4, 0 - movs r1, 0x29 - bl GetMonData - mov r3, sp - ands r0, r5 - lsls r0, 2 - ldrb r2, [r3, 0x15] - movs r1, 0x7D - negs r1, r1 - ands r1, r2 - orrs r1, r0 - strb r1, [r3, 0x15] - adds r0, r4, 0 - movs r1, 0x2A - bl GetMonData - movs r1, 0x1F - ands r1, r0 - lsls r1, 15 - ldr r0, [sp, 0x14] - ldr r2, _0803843C @ =0xfff07fff - ands r0, r2 - orrs r0, r1 - str r0, [sp, 0x14] - adds r0, r4, 0 - movs r1, 0x2B - bl GetMonData - mov r3, sp - ands r0, r6 - lsls r0, 4 - ldrh r2, [r3, 0x16] - ldr r1, _08038440 @ =0xfffffe0f - ands r1, r2 - orrs r1, r0 - strh r1, [r3, 0x16] - adds r0, r4, 0 - movs r1, 0x2C - bl GetMonData - mov r3, sp - ands r0, r5 - lsls r0, 1 - ldrb r2, [r3, 0x17] - movs r1, 0x3F - negs r1, r1 - ands r1, r2 - orrs r1, r0 - strb r1, [r3, 0x17] - adds r0, r4, 0 - movs r1, 0 - bl GetMonData - str r0, [sp, 0x48] - adds r0, r4, 0 - movs r1, 0x37 - bl GetMonData - str r0, [sp, 0x4C] - adds r0, r4, 0 - movs r1, 0x38 - bl GetMonData - ldr r1, [sp, 0x7C] - strb r0, [r1] - adds r0, r4, 0 - movs r1, 0x39 - bl GetMonData - mov r1, sp - strh r0, [r1, 0x28] - adds r0, r4, 0 - movs r1, 0x3A - bl GetMonData - mov r1, sp - strh r0, [r1, 0x2C] - adds r0, r4, 0 - movs r1, 0x3B - bl GetMonData - mov r1, sp - strh r0, [r1, 0x2] - adds r0, r4, 0 - movs r1, 0x3C - bl GetMonData - mov r1, sp - strh r0, [r1, 0x4] - adds r0, r4, 0 - movs r1, 0x3D - bl GetMonData - mov r1, sp - strh r0, [r1, 0x6] - adds r0, r4, 0 - movs r1, 0x3E - bl GetMonData - mov r1, sp - strh r0, [r1, 0x8] - adds r0, r4, 0 - movs r1, 0x3F - bl GetMonData - mov r1, sp - strh r0, [r1, 0xA] - adds r0, r4, 0 - movs r1, 0x2D - bl GetMonData - mov r3, sp - movs r1, 0x1 - ands r0, r1 - lsls r0, 6 - ldrb r2, [r3, 0x17] - movs r1, 0x41 - negs r1, r1 - ands r1, r2 - orrs r1, r0 - strb r1, [r3, 0x17] - adds r0, r4, 0 - movs r1, 0x2E - bl GetMonData - mov r3, sp - lsls r0, 7 - ldrb r2, [r3, 0x17] - movs r1, 0x7F - ands r1, r2 - orrs r1, r0 - strb r1, [r3, 0x17] - adds r0, r4, 0 - movs r1, 0x1 - bl GetMonData - str r0, [sp, 0x54] - adds r0, r4, 0 - movs r1, 0x2 - ldr r2, [sp, 0x8C] - bl GetMonData - ldr r0, [sp, 0x84] - ldr r1, [sp, 0x8C] - bl StringCopy10 - adds r0, r4, 0 - movs r1, 0x7 - ldr r2, [sp, 0x88] - bl GetMonData - mov r2, sp - movs r6, 0 -_08038424: - adds r0, r7, r6 - adds r1, r2, r6 - ldrb r1, [r1] - strb r1, [r0] - adds r6, 0x1 - cmp r6, 0x57 - bls _08038424 - b _08038886 - .align 2, 0 -_08038434: .4byte gEnemyParty -_08038438: .4byte 0xfffffc1f -_0803843C: .4byte 0xfff07fff -_08038440: .4byte 0xfffffe0f -_08038444: - movs r0, 0x64 - muls r0, r5 - ldr r1, _08038450 @ =gEnemyParty - adds r0, r1 - movs r1, 0xB - b _080387BE - .align 2, 0 -_08038450: .4byte gEnemyParty -_08038454: - movs r0, 0x64 - muls r0, r5 - ldr r1, _08038460 @ =gEnemyParty - adds r0, r1 - movs r1, 0xC - b _080387BE - .align 2, 0 -_08038460: .4byte gEnemyParty -_08038464: - movs r6, 0 - add r2, sp, 0x58 - mov r9, r2 - add r0, sp, 0x60 - mov r10, r0 - movs r0, 0x64 - adds r1, r5, 0 - muls r1, r0 - ldr r0, _080384C8 @ =gEnemyParty - adds r4, r1, r0 - mov r8, r9 -_0803847A: - adds r1, r6, 0 - adds r1, 0xD - adds r0, r4, 0 - bl GetMonData - mov r1, r8 - strh r0, [r1] - adds r1, r6, 0 - adds r1, 0x11 - adds r0, r4, 0 - bl GetMonData - mov r2, r10 - adds r1, r2, r6 - strb r0, [r1] - movs r0, 0x2 - add r8, r0 - adds r6, 0x1 - cmp r6, 0x3 - ble _0803847A - movs r0, 0x64 - muls r0, r5 - ldr r1, _080384C8 @ =gEnemyParty - adds r0, r1 - movs r1, 0x15 - bl GetMonData - mov r1, r9 - strb r0, [r1, 0xC] - mov r2, r9 - movs r6, 0 -_080384B8: - adds r0, r7, r6 - adds r1, r2, r6 - ldrb r1, [r1] - strb r1, [r0] - adds r6, 0x1 - cmp r6, 0xF - bls _080384B8 - b _08038886 - .align 2, 0 -_080384C8: .4byte gEnemyParty -_080384CC: - movs r0, 0x64 - muls r0, r5 - ldr r1, _080384E4 @ =gEnemyParty - adds r0, r1 - ldrb r1, [r3] - lsls r1, 9 - adds r2, 0x1 - adds r1, r2 - ldrb r1, [r1] - adds r1, 0x9 - b _080387BE - .align 2, 0 -_080384E4: .4byte gEnemyParty -_080384E8: - movs r6, 0 - movs r0, 0x64 - adds r4, r5, 0 - muls r4, r0 - ldr r2, _08038520 @ =gEnemyParty - mov r8, r2 -_080384F4: - adds r1, r6, 0 - adds r1, 0x11 - mov r2, r8 - adds r0, r4, r2 - bl GetMonData - adds r1, r7, r6 - strb r0, [r1] - adds r6, 0x1 - cmp r6, 0x3 - ble _080384F4 - movs r0, 0x64 - muls r0, r5 - ldr r1, _08038520 @ =gEnemyParty - adds r0, r1 - movs r1, 0x15 - bl GetMonData - adds r1, r7, r6 - strb r0, [r1] - adds r6, 0x1 - b _08038886 - .align 2, 0 -_08038520: .4byte gEnemyParty -_08038524: - movs r0, 0x64 - muls r0, r5 - ldr r1, _0803853C @ =gEnemyParty - adds r0, r1 - ldrb r1, [r3] - lsls r1, 9 - adds r2, 0x1 - adds r1, r2 - ldrb r1, [r1] - adds r1, 0x8 - b _0803887E - .align 2, 0 -_0803853C: .4byte gEnemyParty -_08038540: - movs r0, 0x64 - muls r0, r5 - ldr r1, _0803854C @ =gEnemyParty - adds r0, r1 - movs r1, 0x1 - b _0803855A - .align 2, 0 -_0803854C: .4byte gEnemyParty -_08038550: - movs r0, 0x64 - muls r0, r5 - ldr r1, _0803857C @ =gEnemyParty - adds r0, r1 - movs r1, 0x19 -_0803855A: - bl GetMonData - adds r1, r0, 0 - strb r1, [r7] - movs r0, 0xFF - lsls r0, 8 - ands r0, r1 - lsrs r0, 8 - strb r0, [r7, 0x1] - movs r0, 0xFF - lsls r0, 16 - ands r0, r1 - lsrs r0, 16 - strb r0, [r7, 0x2] - movs r6, 0x3 - b _08038886 - .align 2, 0 -_0803857C: .4byte gEnemyParty -_08038580: - movs r0, 0x64 - muls r0, r5 - ldr r1, _0803858C @ =gEnemyParty - adds r0, r1 - movs r1, 0x1A - b _0803887E - .align 2, 0 -_0803858C: .4byte gEnemyParty -_08038590: - movs r0, 0x64 - muls r0, r5 - ldr r1, _0803859C @ =gEnemyParty - adds r0, r1 - movs r1, 0x1B - b _0803887E - .align 2, 0 -_0803859C: .4byte gEnemyParty -_080385A0: - movs r0, 0x64 - muls r0, r5 - ldr r1, _080385AC @ =gEnemyParty - adds r0, r1 - movs r1, 0x1C - b _0803887E - .align 2, 0 -_080385AC: .4byte gEnemyParty -_080385B0: - movs r0, 0x64 - muls r0, r5 - ldr r1, _080385BC @ =gEnemyParty - adds r0, r1 - movs r1, 0x1D - b _0803887E - .align 2, 0 -_080385BC: .4byte gEnemyParty -_080385C0: - movs r0, 0x64 - muls r0, r5 - ldr r1, _080385CC @ =gEnemyParty - adds r0, r1 - movs r1, 0x1E - b _0803887E - .align 2, 0 -_080385CC: .4byte gEnemyParty -_080385D0: - movs r0, 0x64 - muls r0, r5 - ldr r1, _080385DC @ =gEnemyParty - adds r0, r1 - movs r1, 0x1F - b _0803887E - .align 2, 0 -_080385DC: .4byte gEnemyParty -_080385E0: - movs r0, 0x64 - muls r0, r5 - ldr r1, _080385EC @ =gEnemyParty - adds r0, r1 - movs r1, 0x20 - b _0803887E - .align 2, 0 -_080385EC: .4byte gEnemyParty -_080385F0: - movs r0, 0x64 - muls r0, r5 - ldr r1, _080385FC @ =gEnemyParty - adds r0, r1 - movs r1, 0x22 - b _0803887E - .align 2, 0 -_080385FC: .4byte gEnemyParty -_08038600: - movs r0, 0x64 - muls r0, r5 - ldr r1, _0803860C @ =gEnemyParty - adds r0, r1 - movs r1, 0x23 - b _0803887E - .align 2, 0 -_0803860C: .4byte gEnemyParty -_08038610: - movs r0, 0x64 - muls r0, r5 - ldr r1, _0803861C @ =gEnemyParty - adds r0, r1 - movs r1, 0x24 - b _0803887E - .align 2, 0 -_0803861C: .4byte gEnemyParty -_08038620: - movs r0, 0x64 - muls r0, r5 - ldr r1, _0803862C @ =gEnemyParty - adds r0, r1 - movs r1, 0x25 - b _0803887E - .align 2, 0 -_0803862C: .4byte gEnemyParty -_08038630: - movs r0, 0x64 - muls r0, r5 - ldr r1, _0803863C @ =gEnemyParty - adds r0, r1 - movs r1, 0x26 - b _0803887E - .align 2, 0 -_0803863C: .4byte gEnemyParty -_08038640: - movs r0, 0x64 - adds r4, r5, 0 - muls r4, r0 - ldr r0, _0803868C @ =gEnemyParty - adds r4, r0 - adds r0, r4, 0 - movs r1, 0x27 - bl GetMonData - strb r0, [r7] - adds r0, r4, 0 - movs r1, 0x28 - bl GetMonData - strb r0, [r7, 0x1] - adds r0, r4, 0 - movs r1, 0x29 - bl GetMonData - strb r0, [r7, 0x2] - adds r0, r4, 0 - movs r1, 0x2A - bl GetMonData - strb r0, [r7, 0x3] - adds r0, r4, 0 - movs r1, 0x2B - bl GetMonData - strb r0, [r7, 0x4] - adds r0, r4, 0 - movs r1, 0x2C - bl GetMonData - strb r0, [r7, 0x5] - movs r6, 0x6 - b _08038886 - .align 2, 0 -_0803868C: .4byte gEnemyParty -_08038690: - movs r0, 0x64 - muls r0, r5 - ldr r1, _0803869C @ =gEnemyParty - adds r0, r1 - movs r1, 0x27 - b _0803887E - .align 2, 0 -_0803869C: .4byte gEnemyParty -_080386A0: - movs r0, 0x64 - muls r0, r5 - ldr r1, _080386AC @ =gEnemyParty - adds r0, r1 - movs r1, 0x28 - b _0803887E - .align 2, 0 -_080386AC: .4byte gEnemyParty -_080386B0: - movs r0, 0x64 - muls r0, r5 - ldr r1, _080386BC @ =gEnemyParty - adds r0, r1 - movs r1, 0x29 - b _0803887E - .align 2, 0 -_080386BC: .4byte gEnemyParty -_080386C0: - movs r0, 0x64 - muls r0, r5 - ldr r1, _080386CC @ =gEnemyParty - adds r0, r1 - movs r1, 0x2A - b _0803887E - .align 2, 0 -_080386CC: .4byte gEnemyParty -_080386D0: - movs r0, 0x64 - muls r0, r5 - ldr r1, _080386DC @ =gEnemyParty - adds r0, r1 - movs r1, 0x2B - b _0803887E - .align 2, 0 -_080386DC: .4byte gEnemyParty -_080386E0: - movs r0, 0x64 - muls r0, r5 - ldr r1, _080386EC @ =gEnemyParty - adds r0, r1 - movs r1, 0x2C - b _0803887E - .align 2, 0 -_080386EC: .4byte gEnemyParty -_080386F0: - movs r0, 0x64 - muls r0, r5 - ldr r1, _080386FC @ =gEnemyParty - adds r0, r1 - movs r1, 0 - b _0803871A - .align 2, 0 -_080386FC: .4byte gEnemyParty -_08038700: - movs r0, 0x64 - muls r0, r5 - ldr r1, _0803870C @ =gEnemyParty - adds r0, r1 - movs r1, 0x9 - b _080387BE - .align 2, 0 -_0803870C: .4byte gEnemyParty -_08038710: - movs r0, 0x64 - muls r0, r5 - ldr r1, _08038740 @ =gEnemyParty - adds r0, r1 - movs r1, 0x37 -_0803871A: - bl GetMonData - adds r1, r0, 0 - strb r1, [r7] - movs r0, 0xFF - lsls r0, 8 - ands r0, r1 - lsrs r0, 8 - strb r0, [r7, 0x1] - movs r0, 0xFF - lsls r0, 16 - ands r0, r1 - lsrs r0, 16 - strb r0, [r7, 0x2] - lsrs r0, r1, 24 - strb r0, [r7, 0x3] - movs r6, 0x4 - b _08038886 - .align 2, 0 -_08038740: .4byte gEnemyParty -_08038744: - movs r0, 0x64 - muls r0, r5 - ldr r1, _08038750 @ =gEnemyParty - adds r0, r1 - movs r1, 0x38 - b _0803887E - .align 2, 0 -_08038750: .4byte gEnemyParty -_08038754: - movs r0, 0x64 - muls r0, r5 - ldr r1, _08038760 @ =gEnemyParty - adds r0, r1 - movs r1, 0x39 - b _080387BE - .align 2, 0 -_08038760: .4byte gEnemyParty -_08038764: - movs r0, 0x64 - muls r0, r5 - ldr r1, _08038770 @ =gEnemyParty - adds r0, r1 - movs r1, 0x3A - b _080387BE - .align 2, 0 -_08038770: .4byte gEnemyParty -_08038774: - movs r0, 0x64 - muls r0, r5 - ldr r1, _08038780 @ =gEnemyParty - adds r0, r1 - movs r1, 0x3B - b _080387BE - .align 2, 0 -_08038780: .4byte gEnemyParty -_08038784: - movs r0, 0x64 - muls r0, r5 - ldr r1, _08038790 @ =gEnemyParty - adds r0, r1 - movs r1, 0x3C - b _080387BE - .align 2, 0 -_08038790: .4byte gEnemyParty -_08038794: - movs r0, 0x64 - muls r0, r5 - ldr r1, _080387A0 @ =gEnemyParty - adds r0, r1 - movs r1, 0x3D - b _080387BE - .align 2, 0 -_080387A0: .4byte gEnemyParty -_080387A4: - movs r0, 0x64 - muls r0, r5 - ldr r1, _080387B0 @ =gEnemyParty - adds r0, r1 - movs r1, 0x3E - b _080387BE - .align 2, 0 -_080387B0: .4byte gEnemyParty -_080387B4: - movs r0, 0x64 - muls r0, r5 - ldr r1, _080387D0 @ =gEnemyParty - adds r0, r1 - movs r1, 0x3F -_080387BE: - bl GetMonData - lsls r0, 16 - lsrs r0, 16 - strb r0, [r7] - lsrs r0, 8 - strb r0, [r7, 0x1] - movs r6, 0x2 - b _08038886 - .align 2, 0 -_080387D0: .4byte gEnemyParty -_080387D4: - movs r0, 0x64 - muls r0, r5 - ldr r1, _080387E0 @ =gEnemyParty - adds r0, r1 - movs r1, 0x16 - b _0803887E - .align 2, 0 -_080387E0: .4byte gEnemyParty -_080387E4: - movs r0, 0x64 - muls r0, r5 - ldr r1, _080387F0 @ =gEnemyParty - adds r0, r1 - movs r1, 0x17 - b _0803887E - .align 2, 0 -_080387F0: .4byte gEnemyParty -_080387F4: - movs r0, 0x64 - muls r0, r5 - ldr r1, _08038800 @ =gEnemyParty - adds r0, r1 - movs r1, 0x18 - b _0803887E - .align 2, 0 -_08038800: .4byte gEnemyParty -_08038804: - movs r0, 0x64 - muls r0, r5 - ldr r1, _08038810 @ =gEnemyParty - adds r0, r1 - movs r1, 0x21 - b _0803887E - .align 2, 0 -_08038810: .4byte gEnemyParty -_08038814: - movs r0, 0x64 - muls r0, r5 - ldr r1, _08038820 @ =gEnemyParty - adds r0, r1 - movs r1, 0x2F - b _0803887E - .align 2, 0 -_08038820: .4byte gEnemyParty -_08038824: - movs r0, 0x64 - muls r0, r5 - ldr r1, _08038830 @ =gEnemyParty - adds r0, r1 - movs r1, 0x30 - b _0803887E - .align 2, 0 -_08038830: .4byte gEnemyParty -_08038834: - movs r0, 0x64 - muls r0, r5 - ldr r1, _08038840 @ =gEnemyParty - adds r0, r1 - movs r1, 0x32 - b _0803887E - .align 2, 0 -_08038840: .4byte gEnemyParty -_08038844: - movs r0, 0x64 - muls r0, r5 - ldr r1, _08038850 @ =gEnemyParty - adds r0, r1 - movs r1, 0x33 - b _0803887E - .align 2, 0 -_08038850: .4byte gEnemyParty -_08038854: - movs r0, 0x64 - muls r0, r5 - ldr r1, _08038860 @ =gEnemyParty - adds r0, r1 - movs r1, 0x34 - b _0803887E - .align 2, 0 -_08038860: .4byte gEnemyParty -_08038864: - movs r0, 0x64 - muls r0, r5 - ldr r1, _08038870 @ =gEnemyParty - adds r0, r1 - movs r1, 0x35 - b _0803887E - .align 2, 0 -_08038870: .4byte gEnemyParty -_08038874: - movs r0, 0x64 - muls r0, r5 - ldr r1, _08038898 @ =gEnemyParty - adds r0, r1 - movs r1, 0x36 -_0803887E: - bl GetMonData - strb r0, [r7] - movs r6, 0x1 -_08038886: - adds r0, r6, 0 - add sp, 0x90 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_08038898: .4byte gEnemyParty - thumb_func_end dp01_getattr_by_ch1_for_player_pokemon__ - - thumb_func_start sub_803889C -sub_803889C: @ 803889C - push {lr} - bl dp01_tbl4_exec_completed - pop {r0} - bx r0 - thumb_func_end sub_803889C - - thumb_func_start sub_80388A8 -sub_80388A8: @ 80388A8 - push {r4,r5,lr} - ldr r1, _080388CC @ =gBattleBufferA - ldr r0, _080388D0 @ =gActiveBank - ldrb r2, [r0] - lsls r0, r2, 9 - adds r1, 0x2 - adds r1, r0, r1 - ldrb r0, [r1] - cmp r0, 0 - bne _080388D8 - ldr r0, _080388D4 @ =gBattlePartyID - lsls r1, r2, 1 - adds r1, r0 - ldrb r0, [r1] - bl sub_8038900 - b _080388F6 - .align 2, 0 -_080388CC: .4byte gBattleBufferA -_080388D0: .4byte gActiveBank -_080388D4: .4byte gBattlePartyID -_080388D8: - ldrb r4, [r1] - movs r5, 0 -_080388DC: - movs r0, 0x1 - ands r0, r4 - cmp r0, 0 - beq _080388EA - adds r0, r5, 0 - bl sub_8038900 -_080388EA: - lsrs r4, 1 - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0x5 - bls _080388DC -_080388F6: - bl dp01_tbl4_exec_completed - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_80388A8 - - thumb_func_start sub_8038900 -sub_8038900: @ 8038900 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x38 - lsls r0, 24 - lsrs r5, r0, 24 - ldr r3, _08038938 @ =gActiveBank - ldrb r0, [r3] - lsls r0, 9 - ldr r2, _0803893C @ =gUnknown_02023A63 - adds r4, r0, r2 - adds r7, r4, 0 - subs r1, r2, 0x2 - adds r0, r1 - ldrb r0, [r0] - adds r6, r3, 0 - adds r3, r2, 0 - cmp r0, 0x3B - bls _0803892E - bl _0803920C -_0803892E: - lsls r0, 2 - ldr r1, _08038940 @ =_08038944 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_08038938: .4byte gActiveBank -_0803893C: .4byte gUnknown_02023A63 -_08038940: .4byte _08038944 - .align 2, 0 -_08038944: - .4byte _08038A34 - .4byte _08038BCC - .4byte _08038BE8 - .4byte _08038C04 - .4byte _08038C58 - .4byte _08038C58 - .4byte _08038C58 - .4byte _08038C58 - .4byte _08038C78 - .4byte _08038CE0 - .4byte _08038CE0 - .4byte _08038CE0 - .4byte _08038CE0 - .4byte _0803920C - .4byte _0803920C - .4byte _0803920C - .4byte _0803920C - .4byte _08038D08 - .4byte _08038D24 - .4byte _08038D40 - .4byte _08038D5C - .4byte _08038D78 - .4byte _08038D94 - .4byte _08038DB0 - .4byte _08038DCC - .4byte _08038DE8 - .4byte _08038E04 - .4byte _08038E20 - .4byte _08038E3C - .4byte _08038E58 - .4byte _08038E74 - .4byte _08038E90 - .4byte _08038F04 - .4byte _08038F20 - .4byte _08038F3C - .4byte _08038F58 - .4byte _08038F74 - .4byte _08038F90 - .4byte _08038FAC - .4byte _08038FC8 - .4byte _08038FE4 - .4byte _08039000 - .4byte _0803901C - .4byte _08039038 - .4byte _08039054 - .4byte _08039070 - .4byte _0803908C - .4byte _080390A8 - .4byte _080390C4 - .4byte _080390E0 - .4byte _080390FC - .4byte _08039118 - .4byte _08039134 - .4byte _08039150 - .4byte _0803916C - .4byte _08039188 - .4byte _080391A4 - .4byte _080391C0 - .4byte _080391DC - .4byte _080391F8 -_08038A34: - movs r0, 0x64 - adds r4, r5, 0 - muls r4, r0 - ldr r0, _08038BC8 @ =gEnemyParty - adds r4, r0 - adds r0, r4, 0 - movs r1, 0xB - adds r2, r7, 0 - bl SetMonData - adds r2, r7, 0 - adds r2, 0x2E - adds r0, r4, 0 - movs r1, 0xC - bl SetMonData - movs r0, 0 - mov r8, r0 - movs r0, 0x3B - adds r0, r7 - mov r10, r0 - adds r0, r7, 0 - adds r0, 0x2B - str r0, [sp, 0x20] - adds r0, 0x19 - str r0, [sp, 0x28] - adds r0, 0x4 - str r0, [sp, 0x2C] - adds r0, 0x4 - str r0, [sp, 0x30] - subs r0, 0x22 - str r0, [sp, 0x1C] - subs r0, 0x2 - str r0, [sp, 0x18] - adds r0, 0x4 - str r0, [sp, 0x24] - adds r0, r7, 0x2 - str r0, [sp, 0x4] - adds r0, r7, 0x4 - str r0, [sp, 0x8] - adds r0, r7, 0x6 - str r0, [sp, 0xC] - adds r0, 0x2 - str r0, [sp, 0x10] - adds r0, 0x2 - str r0, [sp, 0x14] - mov r9, r4 - adds r6, r7, 0 - adds r6, 0x24 - adds r4, r7, 0 - adds r4, 0xC -_08038A9A: - mov r1, r8 - adds r1, 0xD - mov r0, r9 - adds r2, r4, 0 - bl SetMonData - mov r1, r8 - adds r1, 0x11 - mov r0, r9 - adds r2, r6, 0 - bl SetMonData - adds r6, 0x1 - adds r4, 0x2 - movs r0, 0x1 - add r8, r0 - mov r0, r8 - cmp r0, 0x3 - ble _08038A9A - movs r0, 0x64 - adds r4, r5, 0 - muls r4, r0 - ldr r0, _08038BC8 @ =gEnemyParty - adds r4, r0 - adds r0, r4, 0 - movs r1, 0x15 - mov r2, r10 - bl SetMonData - adds r0, r4, 0 - movs r1, 0x20 - ldr r2, [sp, 0x20] - bl SetMonData - adds r0, r4, 0 - movs r1, 0x19 - ldr r2, [sp, 0x28] - bl SetMonData - ldrb r0, [r7, 0x14] - lsls r0, 27 - lsrs r0, 27 - mov r1, sp - strb r0, [r1] - adds r0, r4, 0 - movs r1, 0x27 - mov r2, sp - bl SetMonData - mov r1, sp - ldrh r0, [r7, 0x14] - lsls r0, 22 - lsrs r0, 27 - strb r0, [r1] - adds r0, r4, 0 - movs r1, 0x28 - mov r2, sp - bl SetMonData - mov r1, sp - ldrb r0, [r7, 0x15] - lsls r0, 25 - lsrs r0, 27 - strb r0, [r1] - adds r0, r4, 0 - movs r1, 0x29 - mov r2, sp - bl SetMonData - mov r1, sp - ldr r0, [r7, 0x14] - lsls r0, 12 - lsrs r0, 27 - strb r0, [r1] - adds r0, r4, 0 - movs r1, 0x2A - mov r2, sp - bl SetMonData - mov r1, sp - ldrh r0, [r7, 0x16] - lsls r0, 23 - lsrs r0, 27 - strb r0, [r1] - adds r0, r4, 0 - movs r1, 0x2B - mov r2, sp - bl SetMonData - mov r1, sp - ldrb r0, [r7, 0x17] - lsls r0, 26 - lsrs r0, 27 - strb r0, [r1] - adds r0, r4, 0 - movs r1, 0x2C - mov r2, sp - bl SetMonData - adds r0, r4, 0 - movs r1, 0 - ldr r2, [sp, 0x2C] - bl SetMonData - adds r0, r4, 0 - movs r1, 0x37 - ldr r2, [sp, 0x30] - bl SetMonData - adds r0, r4, 0 - movs r1, 0x38 - ldr r2, [sp, 0x1C] - bl SetMonData - adds r0, r4, 0 - movs r1, 0x39 - ldr r2, [sp, 0x18] - bl SetMonData - adds r0, r4, 0 - movs r1, 0x3A - ldr r2, [sp, 0x24] - bl SetMonData - adds r0, r4, 0 - movs r1, 0x3B - ldr r2, [sp, 0x4] - bl SetMonData - adds r0, r4, 0 - movs r1, 0x3C - ldr r2, [sp, 0x8] - bl SetMonData - adds r0, r4, 0 - movs r1, 0x3D - ldr r2, [sp, 0xC] - bl SetMonData - adds r0, r4, 0 - movs r1, 0x3E - ldr r2, [sp, 0x10] - bl SetMonData - adds r0, r4, 0 - movs r1, 0x3F - ldr r2, [sp, 0x14] - bl SetMonData - b _0803920C - .align 2, 0 -_08038BC8: .4byte gEnemyParty -_08038BCC: - movs r0, 0x64 - muls r0, r5 - ldr r1, _08038BE4 @ =gEnemyParty - adds r0, r1 - ldrb r2, [r6] - lsls r2, 9 - adds r2, r3 - movs r1, 0xB - bl SetMonData - b _0803920C - .align 2, 0 -_08038BE4: .4byte gEnemyParty -_08038BE8: - movs r0, 0x64 - muls r0, r5 - ldr r1, _08038C00 @ =gEnemyParty - adds r0, r1 - ldrb r2, [r6] - lsls r2, 9 - adds r2, r3 - movs r1, 0xC - bl SetMonData - b _0803920C - .align 2, 0 -_08038C00: .4byte gEnemyParty -_08038C04: - movs r0, 0 - mov r8, r0 - movs r0, 0xC - adds r0, r4 - mov r9, r0 - movs r0, 0x64 - adds r1, r5, 0 - muls r1, r0 - ldr r0, _08038C54 @ =gEnemyParty - adds r7, r1, r0 - adds r6, r4, 0 - adds r6, 0x8 -_08038C1C: - mov r1, r8 - adds r1, 0xD - adds r0, r7, 0 - adds r2, r4, 0 - bl SetMonData - mov r1, r8 - adds r1, 0x11 - adds r0, r7, 0 - adds r2, r6, 0 - bl SetMonData - adds r6, 0x1 - adds r4, 0x2 - movs r0, 0x1 - add r8, r0 - mov r0, r8 - cmp r0, 0x3 - ble _08038C1C - movs r0, 0x64 - muls r0, r5 - ldr r1, _08038C54 @ =gEnemyParty - adds r0, r1 - movs r1, 0x15 - mov r2, r9 - bl SetMonData - b _0803920C - .align 2, 0 -_08038C54: .4byte gEnemyParty -_08038C58: - movs r0, 0x64 - muls r0, r5 - ldr r1, _08038C70 @ =gEnemyParty - adds r0, r1 - ldr r3, _08038C74 @ =gBattleBufferA - ldrb r2, [r6] - lsls r2, 9 - adds r1, r3, 0x1 - adds r1, r2, r1 - ldrb r1, [r1] - adds r1, 0x9 - b _08038CF6 - .align 2, 0 -_08038C70: .4byte gEnemyParty -_08038C74: .4byte gBattleBufferA -_08038C78: - movs r0, 0x64 - adds r4, r5, 0 - muls r4, r0 - ldr r0, _08038CDC @ =gEnemyParty - adds r4, r0 - ldrb r2, [r6] - lsls r2, 9 - adds r2, r3 - adds r0, r4, 0 - movs r1, 0x11 - str r3, [sp, 0x34] - bl SetMonData - ldrb r2, [r6] - lsls r2, 9 - ldr r3, [sp, 0x34] - adds r0, r3, 0x1 - adds r2, r0 - adds r0, r4, 0 - movs r1, 0x12 - bl SetMonData - ldrb r2, [r6] - lsls r2, 9 - ldr r3, [sp, 0x34] - adds r0, r3, 0x2 - adds r2, r0 - adds r0, r4, 0 - movs r1, 0x13 - bl SetMonData - ldrb r2, [r6] - lsls r2, 9 - ldr r3, [sp, 0x34] - adds r0, r3, 0x3 - adds r2, r0 - adds r0, r4, 0 - movs r1, 0x14 - bl SetMonData - ldrb r2, [r6] - lsls r2, 9 - ldr r3, [sp, 0x34] - adds r0, r3, 0x4 - adds r2, r0 - adds r0, r4, 0 - movs r1, 0x15 - bl SetMonData - b _0803920C - .align 2, 0 -_08038CDC: .4byte gEnemyParty -_08038CE0: - movs r0, 0x64 - muls r0, r5 - ldr r1, _08038D00 @ =gEnemyParty - adds r0, r1 - ldr r3, _08038D04 @ =gBattleBufferA - ldrb r2, [r6] - lsls r2, 9 - adds r1, r3, 0x1 - adds r1, r2, r1 - ldrb r1, [r1] - adds r1, 0x8 -_08038CF6: - adds r3, 0x3 - adds r2, r3 - bl SetMonData - b _0803920C - .align 2, 0 -_08038D00: .4byte gEnemyParty -_08038D04: .4byte gBattleBufferA -_08038D08: - movs r0, 0x64 - muls r0, r5 - ldr r1, _08038D20 @ =gEnemyParty - adds r0, r1 - ldrb r2, [r6] - lsls r2, 9 - adds r2, r3 - movs r1, 0x1 - bl SetMonData - b _0803920C - .align 2, 0 -_08038D20: .4byte gEnemyParty -_08038D24: - movs r0, 0x64 - muls r0, r5 - ldr r1, _08038D3C @ =gEnemyParty - adds r0, r1 - ldrb r2, [r6] - lsls r2, 9 - adds r2, r3 - movs r1, 0x19 - bl SetMonData - b _0803920C - .align 2, 0 -_08038D3C: .4byte gEnemyParty -_08038D40: - movs r0, 0x64 - muls r0, r5 - ldr r1, _08038D58 @ =gEnemyParty - adds r0, r1 - ldrb r2, [r6] - lsls r2, 9 - adds r2, r3 - movs r1, 0x1A - bl SetMonData - b _0803920C - .align 2, 0 -_08038D58: .4byte gEnemyParty -_08038D5C: - movs r0, 0x64 - muls r0, r5 - ldr r1, _08038D74 @ =gEnemyParty - adds r0, r1 - ldrb r2, [r6] - lsls r2, 9 - adds r2, r3 - movs r1, 0x1B - bl SetMonData - b _0803920C - .align 2, 0 -_08038D74: .4byte gEnemyParty -_08038D78: - movs r0, 0x64 - muls r0, r5 - ldr r1, _08038D90 @ =gEnemyParty - adds r0, r1 - ldrb r2, [r6] - lsls r2, 9 - adds r2, r3 - movs r1, 0x1C - bl SetMonData - b _0803920C - .align 2, 0 -_08038D90: .4byte gEnemyParty -_08038D94: - movs r0, 0x64 - muls r0, r5 - ldr r1, _08038DAC @ =gEnemyParty - adds r0, r1 - ldrb r2, [r6] - lsls r2, 9 - adds r2, r3 - movs r1, 0x1D - bl SetMonData - b _0803920C - .align 2, 0 -_08038DAC: .4byte gEnemyParty -_08038DB0: - movs r0, 0x64 - muls r0, r5 - ldr r1, _08038DC8 @ =gEnemyParty - adds r0, r1 - ldrb r2, [r6] - lsls r2, 9 - adds r2, r3 - movs r1, 0x1E - bl SetMonData - b _0803920C - .align 2, 0 -_08038DC8: .4byte gEnemyParty -_08038DCC: - movs r0, 0x64 - muls r0, r5 - ldr r1, _08038DE4 @ =gEnemyParty - adds r0, r1 - ldrb r2, [r6] - lsls r2, 9 - adds r2, r3 - movs r1, 0x1F - bl SetMonData - b _0803920C - .align 2, 0 -_08038DE4: .4byte gEnemyParty -_08038DE8: - movs r0, 0x64 - muls r0, r5 - ldr r1, _08038E00 @ =gEnemyParty - adds r0, r1 - ldrb r2, [r6] - lsls r2, 9 - adds r2, r3 - movs r1, 0x20 - bl SetMonData - b _0803920C - .align 2, 0 -_08038E00: .4byte gEnemyParty -_08038E04: - movs r0, 0x64 - muls r0, r5 - ldr r1, _08038E1C @ =gEnemyParty - adds r0, r1 - ldrb r2, [r6] - lsls r2, 9 - adds r2, r3 - movs r1, 0x22 - bl SetMonData - b _0803920C - .align 2, 0 -_08038E1C: .4byte gEnemyParty -_08038E20: - movs r0, 0x64 - muls r0, r5 - ldr r1, _08038E38 @ =gEnemyParty - adds r0, r1 - ldrb r2, [r6] - lsls r2, 9 - adds r2, r3 - movs r1, 0x23 - bl SetMonData - b _0803920C - .align 2, 0 -_08038E38: .4byte gEnemyParty -_08038E3C: - movs r0, 0x64 - muls r0, r5 - ldr r1, _08038E54 @ =gEnemyParty - adds r0, r1 - ldrb r2, [r6] - lsls r2, 9 - adds r2, r3 - movs r1, 0x24 - bl SetMonData - b _0803920C - .align 2, 0 -_08038E54: .4byte gEnemyParty -_08038E58: - movs r0, 0x64 - muls r0, r5 - ldr r1, _08038E70 @ =gEnemyParty - adds r0, r1 - ldrb r2, [r6] - lsls r2, 9 - adds r2, r3 - movs r1, 0x25 - bl SetMonData - b _0803920C - .align 2, 0 -_08038E70: .4byte gEnemyParty -_08038E74: - movs r0, 0x64 - muls r0, r5 - ldr r1, _08038E8C @ =gEnemyParty - adds r0, r1 - ldrb r2, [r6] - lsls r2, 9 - adds r2, r3 - movs r1, 0x26 - bl SetMonData - b _0803920C - .align 2, 0 -_08038E8C: .4byte gEnemyParty -_08038E90: - movs r0, 0x64 - adds r4, r5, 0 - muls r4, r0 - ldr r0, _08038F00 @ =gEnemyParty - adds r4, r0 - ldrb r2, [r6] - lsls r2, 9 - adds r2, r3 - adds r0, r4, 0 - movs r1, 0x27 - str r3, [sp, 0x34] - bl SetMonData - ldrb r2, [r6] - lsls r2, 9 - ldr r3, [sp, 0x34] - adds r0, r3, 0x1 - adds r2, r0 - adds r0, r4, 0 - movs r1, 0x28 - bl SetMonData - ldrb r2, [r6] - lsls r2, 9 - ldr r3, [sp, 0x34] - adds r0, r3, 0x2 - adds r2, r0 - adds r0, r4, 0 - movs r1, 0x29 - bl SetMonData - ldrb r2, [r6] - lsls r2, 9 - ldr r3, [sp, 0x34] - adds r0, r3, 0x3 - adds r2, r0 - adds r0, r4, 0 - movs r1, 0x2A - bl SetMonData - ldrb r2, [r6] - lsls r2, 9 - ldr r3, [sp, 0x34] - adds r0, r3, 0x4 - adds r2, r0 - adds r0, r4, 0 - movs r1, 0x2B - bl SetMonData - ldrb r2, [r6] - lsls r2, 9 - ldr r3, [sp, 0x34] - adds r0, r3, 0x5 - adds r2, r0 - adds r0, r4, 0 - b _08038F9E - .align 2, 0 -_08038F00: .4byte gEnemyParty -_08038F04: - movs r0, 0x64 - muls r0, r5 - ldr r1, _08038F1C @ =gEnemyParty - adds r0, r1 - ldrb r2, [r6] - lsls r2, 9 - adds r2, r3 - movs r1, 0x27 - bl SetMonData - b _0803920C - .align 2, 0 -_08038F1C: .4byte gEnemyParty -_08038F20: - movs r0, 0x64 - muls r0, r5 - ldr r1, _08038F38 @ =gEnemyParty - adds r0, r1 - ldrb r2, [r6] - lsls r2, 9 - adds r2, r3 - movs r1, 0x28 - bl SetMonData - b _0803920C - .align 2, 0 -_08038F38: .4byte gEnemyParty -_08038F3C: - movs r0, 0x64 - muls r0, r5 - ldr r1, _08038F54 @ =gEnemyParty - adds r0, r1 - ldrb r2, [r6] - lsls r2, 9 - adds r2, r3 - movs r1, 0x29 - bl SetMonData - b _0803920C - .align 2, 0 -_08038F54: .4byte gEnemyParty -_08038F58: - movs r0, 0x64 - muls r0, r5 - ldr r1, _08038F70 @ =gEnemyParty - adds r0, r1 - ldrb r2, [r6] - lsls r2, 9 - adds r2, r3 - movs r1, 0x2A - bl SetMonData - b _0803920C - .align 2, 0 -_08038F70: .4byte gEnemyParty -_08038F74: - movs r0, 0x64 - muls r0, r5 - ldr r1, _08038F8C @ =gEnemyParty - adds r0, r1 - ldrb r2, [r6] - lsls r2, 9 - adds r2, r3 - movs r1, 0x2B - bl SetMonData - b _0803920C - .align 2, 0 -_08038F8C: .4byte gEnemyParty -_08038F90: - movs r0, 0x64 - muls r0, r5 - ldr r1, _08038FA8 @ =gEnemyParty - adds r0, r1 - ldrb r2, [r6] - lsls r2, 9 - adds r2, r3 -_08038F9E: - movs r1, 0x2C - bl SetMonData - b _0803920C - .align 2, 0 -_08038FA8: .4byte gEnemyParty -_08038FAC: - movs r0, 0x64 - muls r0, r5 - ldr r1, _08038FC4 @ =gEnemyParty - adds r0, r1 - ldrb r2, [r6] - lsls r2, 9 - adds r2, r3 - movs r1, 0 - bl SetMonData - b _0803920C - .align 2, 0 -_08038FC4: .4byte gEnemyParty -_08038FC8: - movs r0, 0x64 - muls r0, r5 - ldr r1, _08038FE0 @ =gEnemyParty - adds r0, r1 - ldrb r2, [r6] - lsls r2, 9 - adds r2, r3 - movs r1, 0x9 - bl SetMonData - b _0803920C - .align 2, 0 -_08038FE0: .4byte gEnemyParty -_08038FE4: - movs r0, 0x64 - muls r0, r5 - ldr r1, _08038FFC @ =gEnemyParty - adds r0, r1 - ldrb r2, [r6] - lsls r2, 9 - adds r2, r3 - movs r1, 0x37 - bl SetMonData - b _0803920C - .align 2, 0 -_08038FFC: .4byte gEnemyParty -_08039000: - movs r0, 0x64 - muls r0, r5 - ldr r1, _08039018 @ =gEnemyParty - adds r0, r1 - ldrb r2, [r6] - lsls r2, 9 - adds r2, r3 - movs r1, 0x38 - bl SetMonData - b _0803920C - .align 2, 0 -_08039018: .4byte gEnemyParty -_0803901C: - movs r0, 0x64 - muls r0, r5 - ldr r1, _08039034 @ =gEnemyParty - adds r0, r1 - ldrb r2, [r6] - lsls r2, 9 - adds r2, r3 - movs r1, 0x39 - bl SetMonData - b _0803920C - .align 2, 0 -_08039034: .4byte gEnemyParty -_08039038: - movs r0, 0x64 - muls r0, r5 - ldr r1, _08039050 @ =gEnemyParty - adds r0, r1 - ldrb r2, [r6] - lsls r2, 9 - adds r2, r3 - movs r1, 0x3A - bl SetMonData - b _0803920C - .align 2, 0 -_08039050: .4byte gEnemyParty -_08039054: - movs r0, 0x64 - muls r0, r5 - ldr r1, _0803906C @ =gEnemyParty - adds r0, r1 - ldrb r2, [r6] - lsls r2, 9 - adds r2, r3 - movs r1, 0x3B - bl SetMonData - b _0803920C - .align 2, 0 -_0803906C: .4byte gEnemyParty -_08039070: - movs r0, 0x64 - muls r0, r5 - ldr r1, _08039088 @ =gEnemyParty - adds r0, r1 - ldrb r2, [r6] - lsls r2, 9 - adds r2, r3 - movs r1, 0x3C - bl SetMonData - b _0803920C - .align 2, 0 -_08039088: .4byte gEnemyParty -_0803908C: - movs r0, 0x64 - muls r0, r5 - ldr r1, _080390A4 @ =gEnemyParty - adds r0, r1 - ldrb r2, [r6] - lsls r2, 9 - adds r2, r3 - movs r1, 0x3D - bl SetMonData - b _0803920C - .align 2, 0 -_080390A4: .4byte gEnemyParty -_080390A8: - movs r0, 0x64 - muls r0, r5 - ldr r1, _080390C0 @ =gEnemyParty - adds r0, r1 - ldrb r2, [r6] - lsls r2, 9 - adds r2, r3 - movs r1, 0x3E - bl SetMonData - b _0803920C - .align 2, 0 -_080390C0: .4byte gEnemyParty -_080390C4: - movs r0, 0x64 - muls r0, r5 - ldr r1, _080390DC @ =gEnemyParty - adds r0, r1 - ldrb r2, [r6] - lsls r2, 9 - adds r2, r3 - movs r1, 0x3F - bl SetMonData - b _0803920C - .align 2, 0 -_080390DC: .4byte gEnemyParty -_080390E0: - movs r0, 0x64 - muls r0, r5 - ldr r1, _080390F8 @ =gEnemyParty - adds r0, r1 - ldrb r2, [r6] - lsls r2, 9 - adds r2, r3 - movs r1, 0x16 - bl SetMonData - b _0803920C - .align 2, 0 -_080390F8: .4byte gEnemyParty -_080390FC: - movs r0, 0x64 - muls r0, r5 - ldr r1, _08039114 @ =gEnemyParty - adds r0, r1 - ldrb r2, [r6] - lsls r2, 9 - adds r2, r3 - movs r1, 0x17 - bl SetMonData - b _0803920C - .align 2, 0 -_08039114: .4byte gEnemyParty -_08039118: - movs r0, 0x64 - muls r0, r5 - ldr r1, _08039130 @ =gEnemyParty - adds r0, r1 - ldrb r2, [r6] - lsls r2, 9 - adds r2, r3 - movs r1, 0x18 - bl SetMonData - b _0803920C - .align 2, 0 -_08039130: .4byte gEnemyParty -_08039134: - movs r0, 0x64 - muls r0, r5 - ldr r1, _0803914C @ =gEnemyParty - adds r0, r1 - ldrb r2, [r6] - lsls r2, 9 - adds r2, r3 - movs r1, 0x21 - bl SetMonData - b _0803920C - .align 2, 0 -_0803914C: .4byte gEnemyParty -_08039150: - movs r0, 0x64 - muls r0, r5 - ldr r1, _08039168 @ =gEnemyParty - adds r0, r1 - ldrb r2, [r6] - lsls r2, 9 - adds r2, r3 - movs r1, 0x2F - bl SetMonData - b _0803920C - .align 2, 0 -_08039168: .4byte gEnemyParty -_0803916C: - movs r0, 0x64 - muls r0, r5 - ldr r1, _08039184 @ =gEnemyParty - adds r0, r1 - ldrb r2, [r6] - lsls r2, 9 - adds r2, r3 - movs r1, 0x30 - bl SetMonData - b _0803920C - .align 2, 0 -_08039184: .4byte gEnemyParty -_08039188: - movs r0, 0x64 - muls r0, r5 - ldr r1, _080391A0 @ =gEnemyParty - adds r0, r1 - ldrb r2, [r6] - lsls r2, 9 - adds r2, r3 - movs r1, 0x32 - bl SetMonData - b _0803920C - .align 2, 0 -_080391A0: .4byte gEnemyParty -_080391A4: - movs r0, 0x64 - muls r0, r5 - ldr r1, _080391BC @ =gEnemyParty - adds r0, r1 - ldrb r2, [r6] - lsls r2, 9 - adds r2, r3 - movs r1, 0x33 - bl SetMonData - b _0803920C - .align 2, 0 -_080391BC: .4byte gEnemyParty -_080391C0: - movs r0, 0x64 - muls r0, r5 - ldr r1, _080391D8 @ =gEnemyParty - adds r0, r1 - ldrb r2, [r6] - lsls r2, 9 - adds r2, r3 - movs r1, 0x34 - bl SetMonData - b _0803920C - .align 2, 0 -_080391D8: .4byte gEnemyParty -_080391DC: - movs r0, 0x64 - muls r0, r5 - ldr r1, _080391F4 @ =gEnemyParty - adds r0, r1 - ldrb r2, [r6] - lsls r2, 9 - adds r2, r3 - movs r1, 0x35 - bl SetMonData - b _0803920C - .align 2, 0 -_080391F4: .4byte gEnemyParty -_080391F8: - movs r0, 0x64 - muls r0, r5 - ldr r1, _0803921C @ =gEnemyParty - adds r0, r1 - ldrb r2, [r6] - lsls r2, 9 - adds r2, r3 - movs r1, 0x36 - bl SetMonData -_0803920C: - add sp, 0x38 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0803921C: .4byte gEnemyParty - thumb_func_end sub_8038900 - - thumb_func_start sub_8039220 -sub_8039220: @ 8039220 - push {r4-r7,lr} - ldr r1, _08039284 @ =gBattlePartyID - ldr r7, _08039288 @ =gActiveBank - ldrb r2, [r7] - lsls r0, r2, 1 - adds r0, r1 - ldrh r1, [r0] - movs r0, 0x64 - adds r3, r1, 0 - muls r3, r0 - ldr r4, _0803928C @ =gBattleBufferA - lsls r2, 9 - adds r0, r4, 0x1 - adds r0, r2, r0 - ldrb r0, [r0] - ldr r1, _08039290 @ =gEnemyParty - adds r0, r1 - adds r5, r3, r0 - movs r3, 0 - adds r0, r4, 0x2 - adds r2, r0 - ldrb r2, [r2] - cmp r3, r2 - bcs _08039278 - adds r6, r4, 0 - adds r2, r7, 0 - adds r4, r0, 0 -_08039256: - adds r1, r5, r3 - ldrb r0, [r2] - lsls r0, 9 - adds r0, 0x3 - adds r0, r3, r0 - adds r0, r6 - ldrb r0, [r0] - strb r0, [r1] - adds r0, r3, 0x1 - lsls r0, 24 - lsrs r3, r0, 24 - ldrb r0, [r2] - lsls r0, 9 - adds r0, r4 - ldrb r0, [r0] - cmp r3, r0 - bcc _08039256 -_08039278: - bl dp01_tbl4_exec_completed - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08039284: .4byte gBattlePartyID -_08039288: .4byte gActiveBank -_0803928C: .4byte gBattleBufferA -_08039290: .4byte gEnemyParty - thumb_func_end sub_8039220 - - thumb_func_start sub_8039294 -sub_8039294: @ 8039294 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - ldr r7, _080393BC @ =gBattlePartyID - ldr r6, _080393C0 @ =gActiveBank - ldrb r0, [r6] - lsls r0, 1 - adds r0, r7 - ldrh r0, [r0] - movs r1, 0x64 - mov r10, r1 - mov r2, r10 - muls r2, r0 - adds r0, r2, 0 - ldr r1, _080393C4 @ =gEnemyParty - mov r9, r1 - add r0, r9 - movs r1, 0xB - bl GetMonData - adds r4, r0, 0 - lsls r4, 16 - lsrs r4, 16 - ldrb r1, [r6] - lsls r0, r1, 1 - adds r0, r7 - ldrh r0, [r0] - mov r2, r10 - muls r2, r0 - adds r0, r2, 0 - add r0, r9 - bl sub_8031794 - ldrb r0, [r6] - bl GetBankIdentity - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - adds r0, r4, 0 - bl GetMonSpriteTemplate_803C56C - ldr r0, _080393C8 @ =gUnknown_02024E8C - mov r8, r0 - ldrb r0, [r6] - movs r1, 0x2 - bl sub_8077ABC - adds r5, r0, 0 - lsls r5, 24 - lsrs r5, 24 - ldrb r0, [r6] - bl sub_8077F68 - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - ldrb r0, [r6] - bl sub_8079E90 - adds r3, r0, 0 - lsls r3, 24 - lsrs r3, 24 - mov r0, r8 - adds r1, r5, 0 - adds r2, r4, 0 - bl CreateSprite - ldr r4, _080393CC @ =gObjectBankIDs - ldrb r1, [r6] - adds r1, r4 - strb r0, [r1] - ldr r5, _080393D0 @ =gSprites - ldrb r0, [r6] - adds r0, r4 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - ldr r1, _080393D4 @ =0x0000ff10 - strh r1, [r0, 0x24] - ldrb r2, [r6] - adds r0, r2, r4 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - strh r2, [r0, 0x2E] - ldrb r3, [r6] - adds r0, r3, r4 - ldrb r0, [r0] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r5 - lsls r3, 4 - ldrb r2, [r1, 0x5] - movs r0, 0xF - ands r0, r2 - orrs r0, r3 - strb r0, [r1, 0x5] - ldrb r2, [r6] - adds r4, r2, r4 - ldrb r1, [r4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - ldr r1, _080393D8 @ =gBattleMonForms - adds r2, r1 - ldrb r1, [r2] - bl StartSpriteAnim - ldrb r4, [r6] - lsls r0, r4, 1 - adds r0, r7 - ldrh r0, [r0] - mov r1, r10 - muls r1, r0 - adds r0, r1, 0 - add r0, r9 - movs r1, 0xB - bl GetMonData - adds r1, r0, 0 - lsls r1, 16 - lsrs r1, 16 - adds r0, r4, 0 - bl sub_8032984 - ldr r1, _080393DC @ =gBattleBankFunc - ldrb r0, [r6] - lsls r0, 2 - adds r0, r1 - ldr r1, _080393E0 @ =sub_8037A74 - str r1, [r0] - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080393BC: .4byte gBattlePartyID -_080393C0: .4byte gActiveBank -_080393C4: .4byte gEnemyParty -_080393C8: .4byte gUnknown_02024E8C -_080393CC: .4byte gObjectBankIDs -_080393D0: .4byte gSprites -_080393D4: .4byte 0x0000ff10 -_080393D8: .4byte gBattleMonForms -_080393DC: .4byte gBattleBankFunc -_080393E0: .4byte sub_8037A74 - thumb_func_end sub_8039294 - - thumb_func_start sub_80393E4 -sub_80393E4: @ 80393E4 - push {r4,lr} - ldr r1, _0803941C @ =gBattlePartyID - ldr r4, _08039420 @ =gActiveBank - ldrb r0, [r4] - lsls r2, r0, 1 - adds r2, r1 - ldr r3, _08039424 @ =gBattleBufferA - lsls r0, 9 - adds r1, r3, 0x1 - adds r0, r1 - ldrb r0, [r0] - strh r0, [r2] - ldrb r0, [r4] - lsls r1, r0, 9 - adds r3, 0x2 - adds r1, r3 - ldrb r1, [r1] - bl sub_8039430 - ldr r1, _08039428 @ =gBattleBankFunc - ldrb r0, [r4] - lsls r0, 2 - adds r0, r1 - ldr r1, _0803942C @ =sub_8037E30 - str r1, [r0] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0803941C: .4byte gBattlePartyID -_08039420: .4byte gActiveBank -_08039424: .4byte gBattleBufferA -_08039428: .4byte gBattleBankFunc -_0803942C: .4byte sub_8037E30 - thumb_func_end sub_80393E4 - - thumb_func_start sub_8039430 -sub_8039430: @ 8039430 - push {r4-r6,lr} - mov r6, r10 - mov r5, r9 - mov r4, r8 - push {r4-r6} - adds r6, r0, 0 - lsls r6, 24 - lsrs r6, 24 - lsls r1, 24 - lsrs r1, 24 - adds r0, r6, 0 - bl sub_8032AA8 - ldr r0, _0803958C @ =gBattlePartyID - lsls r4, r6, 1 - adds r4, r0 - ldr r0, _08039590 @ =gBattleBufferA - lsls r1, r6, 9 - adds r0, 0x1 - adds r1, r0 - ldrb r0, [r1] - strh r0, [r4] - ldrh r0, [r4] - movs r1, 0x64 - mov r9, r1 - mov r1, r9 - muls r1, r0 - adds r0, r1, 0 - ldr r5, _08039594 @ =gEnemyParty - adds r0, r5 - movs r1, 0xB - bl GetMonData - mov r8, r0 - lsls r0, 16 - lsrs r0, 16 - mov r8, r0 - ldr r0, _08039598 @ =sub_80312F0 - bl CreateInvisibleSpriteWithCallback - ldr r1, _0803959C @ =gUnknown_0300434C - mov r10, r1 - add r10, r6 - mov r1, r10 - strb r0, [r1] - ldrh r0, [r4] - mov r1, r9 - muls r1, r0 - adds r0, r1, 0 - adds r0, r5 - adds r1, r6, 0 - bl sub_8031794 - adds r0, r6, 0 - bl GetBankIdentity - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - mov r0, r8 - bl GetMonSpriteTemplate_803C56C - ldr r0, _080395A0 @ =gUnknown_02024E8C - mov r9, r0 - adds r0, r6, 0 - movs r1, 0x2 - bl sub_8077ABC - adds r5, r0, 0 - lsls r5, 24 - lsrs r5, 24 - adds r0, r6, 0 - bl sub_8077F68 - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - adds r0, r6, 0 - bl sub_8079E90 - adds r3, r0, 0 - lsls r3, 24 - lsrs r3, 24 - mov r0, r9 - adds r1, r5, 0 - adds r2, r4, 0 - bl CreateSprite - ldr r4, _080395A4 @ =gObjectBankIDs - adds r4, r6, r4 - strb r0, [r4] - ldr r5, _080395A8 @ =gSprites - mov r0, r10 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - ldrb r1, [r4] - strh r1, [r0, 0x30] - ldrb r1, [r4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - strh r6, [r0, 0x2E] - ldrb r1, [r4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - mov r1, r8 - strh r1, [r0, 0x32] - ldrb r0, [r4] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r5 - lsls r3, r6, 4 - ldrb r2, [r1, 0x5] - movs r0, 0xF - ands r0, r2 - orrs r0, r3 - strb r0, [r1, 0x5] - ldrb r1, [r4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - ldr r1, _080395AC @ =gBattleMonForms - adds r6, r1 - ldrb r1, [r6] - bl StartSpriteAnim - ldrb r1, [r4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - adds r0, 0x3E - ldrb r1, [r0] - movs r2, 0x4 - orrs r1, r2 - strb r1, [r0] - ldrb r1, [r4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r1, r5, 0 - adds r1, 0x1C - adds r0, r1 - ldr r1, _080395B0 @ =SpriteCallbackDummy - str r1, [r0] - movs r0, 0 - movs r1, 0xFE - bl sub_8046400 - mov r1, r10 - ldrb r2, [r1] - lsls r1, r2, 4 - adds r1, r2 - lsls r1, 2 - adds r1, r5 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r1, 0x2E] - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0803958C: .4byte gBattlePartyID -_08039590: .4byte gBattleBufferA -_08039594: .4byte gEnemyParty -_08039598: .4byte sub_80312F0 -_0803959C: .4byte gUnknown_0300434C -_080395A0: .4byte gUnknown_02024E8C -_080395A4: .4byte gObjectBankIDs -_080395A8: .4byte gSprites -_080395AC: .4byte gBattleMonForms -_080395B0: .4byte SpriteCallbackDummy - thumb_func_end sub_8039430 - - thumb_func_start sub_80395B4 -sub_80395B4: @ 80395B4 - push {r4-r6,lr} - ldr r1, _080395E4 @ =gBattleBufferA - ldr r6, _080395E8 @ =gActiveBank - ldrb r2, [r6] - lsls r0, r2, 9 - adds r1, 0x1 - adds r0, r1 - ldrb r3, [r0] - cmp r3, 0 - bne _080395F8 - lsls r0, r2, 1 - adds r0, r2 - lsls r0, 2 - ldr r1, _080395EC @ =0x02017810 - adds r0, r1 - strb r3, [r0, 0x4] - ldr r1, _080395F0 @ =gBattleBankFunc - ldrb r0, [r6] - lsls r0, 2 - adds r0, r1 - ldr r1, _080395F4 @ =sub_8039648 - str r1, [r0] - b _08039634 - .align 2, 0 -_080395E4: .4byte gBattleBufferA -_080395E8: .4byte gActiveBank -_080395EC: .4byte 0x02017810 -_080395F0: .4byte gBattleBankFunc -_080395F4: .4byte sub_8039648 -_080395F8: - ldr r5, _0803963C @ =gObjectBankIDs - adds r0, r2, r5 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r4, _08039640 @ =gSprites - adds r0, r4 - bl FreeSpriteOamMatrix - ldrb r0, [r6] - adds r0, r5 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - bl DestroySprite - ldrb r0, [r6] - bl sub_8032A08 - ldr r1, _08039644 @ =gHealthboxIDs - ldrb r0, [r6] - adds r0, r1 - ldrb r0, [r0] - bl sub_8043DB0 - bl dp01_tbl4_exec_completed -_08039634: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0803963C: .4byte gObjectBankIDs -_08039640: .4byte gSprites -_08039644: .4byte gHealthboxIDs - thumb_func_end sub_80395B4 - - thumb_func_start sub_8039648 -sub_8039648: @ 8039648 - push {r4,r5,lr} - ldr r5, _08039664 @ =gActiveBank - ldrb r2, [r5] - lsls r0, r2, 1 - adds r0, r2 - lsls r0, 2 - ldr r4, _08039668 @ =0x02017810 - adds r3, r0, r4 - ldrb r0, [r3, 0x4] - cmp r0, 0 - beq _0803966C - cmp r0, 0x1 - beq _08039698 - b _080396C0 - .align 2, 0 -_08039664: .4byte gActiveBank -_08039668: .4byte 0x02017810 -_0803966C: - lsls r0, r2, 2 - adds r1, r4, 0 - subs r1, 0x10 - adds r0, r1 - ldrb r1, [r0] - movs r0, 0x4 - ands r0, r1 - cmp r0, 0 - beq _08039688 - adds r0, r2, 0 - adds r1, r2, 0 - movs r3, 0x5 - bl move_anim_start_t4 -_08039688: - ldrb r0, [r5] - lsls r1, r0, 1 - adds r1, r0 - lsls r1, 2 - adds r1, r4 - movs r0, 0x1 - strb r0, [r1, 0x4] - b _080396C0 -_08039698: - ldrb r1, [r3] - movs r0, 0x40 - ands r0, r1 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0 - bne _080396C0 - strb r0, [r3, 0x4] - ldrb r2, [r5] - adds r0, r2, 0 - adds r1, r2, 0 - movs r3, 0x2 - bl move_anim_start_t4 - ldr r1, _080396C8 @ =gBattleBankFunc - ldrb r0, [r5] - lsls r0, 2 - adds r0, r1 - ldr r1, _080396CC @ =sub_8037BBC - str r1, [r0] -_080396C0: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080396C8: .4byte gBattleBankFunc -_080396CC: .4byte sub_8037BBC - thumb_func_end sub_8039648 - - thumb_func_start sub_80396D0 -sub_80396D0: @ 80396D0 - push {r4-r6,lr} - mov r6, r9 - mov r5, r8 - push {r5,r6} - ldr r0, _08039704 @ =gBattleTypeFlags - ldrh r1, [r0] - movs r0, 0x40 - ands r0, r1 - cmp r0, 0 - beq _08039714 - ldr r6, _08039708 @ =gActiveBank - ldrb r0, [r6] - bl GetBankIdentity - movs r1, 0x2 - ands r1, r0 - movs r5, 0x10 - cmp r1, 0 - beq _080396F8 - ldr r5, _0803970C @ =0x0000fff0 -_080396F8: - ldr r4, _08039710 @ =gLinkPlayers - ldrb r0, [r6] - bl sub_803FC34 - b _08039724 - .align 2, 0 -_08039704: .4byte gBattleTypeFlags -_08039708: .4byte gActiveBank -_0803970C: .4byte 0x0000fff0 -_08039710: .4byte gLinkPlayers -_08039714: - movs r5, 0 - ldr r4, _0803986C @ =gLinkPlayers - bl GetMultiplayerId - movs r1, 0x1 - eors r0, r1 - lsls r0, 24 - lsrs r0, 24 -_08039724: - lsls r1, r0, 3 - subs r1, r0 - lsls r1, 2 - adds r1, r4 - ldrb r0, [r1, 0x13] - mov r9, r0 - ldr r0, _08039870 @ =gActiveBank - mov r8, r0 - ldrb r1, [r0] - mov r0, r9 - bl sub_8031A6C - mov r1, r8 - ldrb r0, [r1] - bl GetBankIdentity - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - mov r0, r9 - bl GetMonSpriteTemplate_803C5A0 - ldr r6, _08039874 @ =gUnknown_02024E8C - lsls r5, 16 - movs r2, 0xB0 - lsls r2, 16 - adds r5, r2 - asrs r5, 16 - ldr r1, _08039878 @ =gTrainerFrontPicCoords - mov r2, r9 - lsls r0, r2, 2 - adds r0, r1 - ldrb r0, [r0] - movs r4, 0x8 - subs r4, r0 - lsls r4, 18 - movs r0, 0xA0 - lsls r0, 14 - adds r4, r0 - asrs r4, 16 - mov r1, r8 - ldrb r0, [r1] - bl sub_8079E90 - adds r3, r0, 0 - lsls r3, 24 - lsrs r3, 24 - adds r0, r6, 0 - adds r1, r5, 0 - adds r2, r4, 0 - bl CreateSprite - ldr r5, _0803987C @ =gObjectBankIDs - mov r2, r8 - ldrb r1, [r2] - adds r1, r5 - strb r0, [r1] - ldr r4, _08039880 @ =gSprites - ldrb r0, [r2] - adds r0, r5 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - ldr r1, _08039884 @ =0x0000ff10 - strh r1, [r0, 0x24] - ldrb r0, [r2] - adds r0, r5 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - movs r1, 0x2 - strh r1, [r0, 0x2E] - ldr r0, _08039888 @ =gTrainerFrontPicPaletteTable - mov r1, r9 - lsls r6, r1, 3 - adds r0, r6, r0 - ldrh r0, [r0, 0x4] - bl IndexOfSpritePaletteTag - mov r2, r8 - ldrb r1, [r2] - adds r1, r5 - ldrb r1, [r1] - lsls r2, r1, 4 - adds r2, r1 - lsls r2, 2 - adds r2, r4 - lsls r0, 4 - ldrb r3, [r2, 0x5] - movs r1, 0xF - ands r1, r3 - orrs r1, r0 - strb r1, [r2, 0x5] - mov r1, r8 - ldrb r0, [r1] - adds r0, r5 - ldrb r0, [r0] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r4 - ldrh r0, [r1, 0x4] - lsls r0, 22 - lsrs r0, 22 - strh r0, [r1, 0x38] - ldr r0, _0803988C @ =gTrainerFrontPicTable - adds r6, r0 - ldrh r0, [r6, 0x6] - bl GetSpriteTileStartByTag - mov r2, r8 - ldrb r1, [r2] - adds r1, r5 - ldrb r2, [r1] - lsls r1, r2, 4 - adds r1, r2 - lsls r1, 2 - adds r1, r4 - ldr r2, _08039890 @ =0x000003ff - ands r2, r0 - ldrh r3, [r1, 0x4] - ldr r0, _08039894 @ =0xfffffc00 - ands r0, r3 - orrs r0, r2 - strh r0, [r1, 0x4] - mov r1, r8 - ldrb r0, [r1] - adds r0, r5 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - mov r2, r9 - strh r2, [r0, 0x6] - mov r1, r8 - ldrb r0, [r1] - adds r0, r5 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r4, 0x1C - adds r0, r4 - ldr r1, _08039898 @ =sub_80313A0 - str r1, [r0] - ldr r1, _0803989C @ =gBattleBankFunc - mov r2, r8 - ldrb r0, [r2] - lsls r0, 2 - adds r0, r1 - ldr r1, _080398A0 @ =sub_803757C - str r1, [r0] - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0803986C: .4byte gLinkPlayers -_08039870: .4byte gActiveBank -_08039874: .4byte gUnknown_02024E8C -_08039878: .4byte gTrainerFrontPicCoords -_0803987C: .4byte gObjectBankIDs -_08039880: .4byte gSprites -_08039884: .4byte 0x0000ff10 -_08039888: .4byte gTrainerFrontPicPaletteTable -_0803988C: .4byte gTrainerFrontPicTable -_08039890: .4byte 0x000003ff -_08039894: .4byte 0xfffffc00 -_08039898: .4byte sub_80313A0 -_0803989C: .4byte gBattleBankFunc -_080398A0: .4byte sub_803757C - thumb_func_end sub_80396D0 - - thumb_func_start sub_80398A4 -sub_80398A4: @ 80398A4 - push {lr} - bl dp01_tbl4_exec_completed - pop {r0} - bx r0 - thumb_func_end sub_80398A4 - - thumb_func_start sub_80398B0 -sub_80398B0: @ 80398B0 - push {r4-r6,lr} - ldr r6, _08039940 @ =gObjectBankIDs - ldr r4, _08039944 @ =gActiveBank - ldrb r0, [r4] - adds r0, r6 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r5, _08039948 @ =gSprites - adds r0, r5 - bl oamt_add_pos2_onto_pos1 - ldrb r0, [r4] - adds r0, r6 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - movs r1, 0x23 - strh r1, [r0, 0x2E] - ldrb r0, [r4] - adds r0, r6 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - movs r1, 0x8C - lsls r1, 1 - strh r1, [r0, 0x32] - ldrb r0, [r4] - adds r0, r6 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - ldrh r1, [r0, 0x22] - strh r1, [r0, 0x36] - ldrb r0, [r4] - adds r0, r6 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r1, r5, 0 - adds r1, 0x1C - adds r0, r1 - ldr r1, _0803994C @ =sub_8078B34 - str r1, [r0] - ldrb r0, [r4] - adds r0, r6 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - ldr r1, _08039950 @ =SpriteCallbackDummy - bl oamt_set_x3A_32 - ldr r1, _08039954 @ =gBattleBankFunc - ldrb r0, [r4] - lsls r0, 2 - adds r0, r1 - ldr r1, _08039958 @ =sub_80375B4 - str r1, [r0] - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_08039940: .4byte gObjectBankIDs -_08039944: .4byte gActiveBank -_08039948: .4byte gSprites -_0803994C: .4byte sub_8078B34 -_08039950: .4byte SpriteCallbackDummy -_08039954: .4byte gBattleBankFunc -_08039958: .4byte sub_80375B4 - thumb_func_end sub_80398B0 - - thumb_func_start sub_803995C -sub_803995C: @ 803995C - push {r4,r5,lr} - ldr r5, _080399A0 @ =gActiveBank - ldrb r2, [r5] - lsls r0, r2, 1 - adds r0, r2 - lsls r0, 2 - ldr r4, _080399A4 @ =0x02017810 - adds r3, r0, r4 - ldrb r0, [r3, 0x4] - cmp r0, 0 - bne _080399A8 - lsls r0, r2, 2 - adds r1, r4, 0 - subs r1, 0x10 - adds r0, r1 - ldrb r1, [r0] - movs r0, 0x4 - ands r0, r1 - cmp r0, 0 - beq _0803998E - adds r0, r2, 0 - adds r1, r2, 0 - movs r3, 0x5 - bl move_anim_start_t4 -_0803998E: - ldrb r0, [r5] - lsls r1, r0, 1 - adds r1, r0 - lsls r1, 2 - adds r1, r4 - ldrb r0, [r1, 0x4] - adds r0, 0x1 - strb r0, [r1, 0x4] - b _080399E4 - .align 2, 0 -_080399A0: .4byte gActiveBank -_080399A4: .4byte 0x02017810 -_080399A8: - ldrb r1, [r3] - movs r0, 0x40 - ands r0, r1 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0 - bne _080399E4 - strb r0, [r3, 0x4] - movs r0, 0x10 - movs r1, 0x3F - bl PlaySE12WithPanning - ldr r2, _080399EC @ =gSprites - ldr r1, _080399F0 @ =gObjectBankIDs - ldrb r0, [r5] - adds r0, r1 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r2, 0x1C - adds r0, r2 - ldr r1, _080399F4 @ =sub_8010384 - str r1, [r0] - ldr r1, _080399F8 @ =gBattleBankFunc - ldrb r0, [r5] - lsls r0, 2 - adds r0, r1 - ldr r1, _080399FC @ =sub_8037B78 - str r1, [r0] -_080399E4: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080399EC: .4byte gSprites -_080399F0: .4byte gObjectBankIDs -_080399F4: .4byte sub_8010384 -_080399F8: .4byte gBattleBankFunc -_080399FC: .4byte sub_8037B78 - thumb_func_end sub_803995C - - thumb_func_start sub_8039A00 -sub_8039A00: @ 8039A00 - push {lr} - bl dp01_tbl4_exec_completed - pop {r0} - bx r0 - thumb_func_end sub_8039A00 - - thumb_func_start sub_8039A0C -sub_8039A0C: @ 8039A0C - push {lr} - bl dp01_tbl4_exec_completed - pop {r0} - bx r0 - thumb_func_end sub_8039A0C - - thumb_func_start sub_8039A18 -sub_8039A18: @ 8039A18 - push {lr} - bl dp01_tbl4_exec_completed - pop {r0} - bx r0 - thumb_func_end sub_8039A18 - - thumb_func_start sub_8039A24 -sub_8039A24: @ 8039A24 - push {lr} - bl dp01_tbl4_exec_completed - pop {r0} - bx r0 - thumb_func_end sub_8039A24 - - thumb_func_start sub_8039A30 -sub_8039A30: @ 8039A30 - push {r4-r6,lr} - ldr r6, _08039B14 @ =gActiveBank - ldrb r0, [r6] - bl mplay_80342A4 - lsls r0, 24 - cmp r0, 0 - beq _08039A42 - b _08039B52 -_08039A42: - ldr r0, _08039B18 @ =gBattleBufferA - mov r12, r0 - ldrb r2, [r6] - lsls r2, 9 - adds r0, 0x1 - adds r0, r2, r0 - ldrb r0, [r0] - mov r1, r12 - adds r1, 0x2 - adds r1, r2, r1 - ldrb r1, [r1] - lsls r1, 8 - orrs r0, r1 - ldr r5, _08039B1C @ =gUnknown_0202F7C4 - mov r1, r12 - adds r1, 0x3 - adds r2, r1 - ldrb r1, [r2] - strb r1, [r5] - ldr r4, _08039B20 @ =gMovePowerMoveAnim - ldrb r2, [r6] - lsls r2, 9 - mov r1, r12 - adds r1, 0x4 - adds r1, r2, r1 - ldrb r3, [r1] - mov r1, r12 - adds r1, 0x5 - adds r2, r1 - ldrb r1, [r2] - lsls r1, 8 - orrs r3, r1 - strh r3, [r4] - ldr r4, _08039B24 @ =gMoveDmgMoveAnim - ldrb r2, [r6] - lsls r2, 9 - mov r1, r12 - adds r1, 0x6 - adds r1, r2, r1 - ldrb r3, [r1] - mov r1, r12 - adds r1, 0x7 - adds r1, r2, r1 - ldrb r1, [r1] - lsls r1, 8 - orrs r3, r1 - mov r1, r12 - adds r1, 0x8 - adds r1, r2, r1 - ldrb r1, [r1] - lsls r1, 16 - orrs r3, r1 - mov r1, r12 - adds r1, 0x9 - adds r2, r1 - ldrb r1, [r2] - lsls r1, 24 - orrs r3, r1 - str r3, [r4] - ldr r3, _08039B28 @ =gHappinessMoveAnim - ldrb r1, [r6] - lsls r1, 9 - mov r2, r12 - adds r2, 0xA - adds r1, r2 - ldrb r1, [r1] - strb r1, [r3] - ldr r4, _08039B2C @ =gWeatherMoveAnim - ldrb r2, [r6] - lsls r2, 9 - mov r1, r12 - adds r1, 0xC - adds r1, r2, r1 - ldrb r3, [r1] - mov r1, r12 - adds r1, 0xD - adds r2, r1 - ldrb r1, [r2] - lsls r1, 8 - orrs r3, r1 - strh r3, [r4] - ldr r3, _08039B30 @ =gDisableStructMoveAnim - ldrb r2, [r6] - lsls r2, 9 - mov r1, r12 - adds r1, 0x10 - adds r2, r1 - str r2, [r3] - ldr r3, _08039B34 @ =gPID_perBank - ldrb r1, [r6] - lsls r1, 2 - adds r1, r3 - ldr r2, [r2] - str r2, [r1] - ldrb r1, [r5] - bl sub_8031720 - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0 - beq _08039B38 - bl dp01_tbl4_exec_completed - b _08039B52 - .align 2, 0 -_08039B14: .4byte gActiveBank -_08039B18: .4byte gBattleBufferA -_08039B1C: .4byte gUnknown_0202F7C4 -_08039B20: .4byte gMovePowerMoveAnim -_08039B24: .4byte gMoveDmgMoveAnim -_08039B28: .4byte gHappinessMoveAnim -_08039B2C: .4byte gWeatherMoveAnim -_08039B30: .4byte gDisableStructMoveAnim -_08039B34: .4byte gPID_perBank -_08039B38: - ldrb r1, [r6] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - ldr r1, _08039B58 @ =0x02017810 - adds r0, r1 - strb r2, [r0, 0x4] - ldr r1, _08039B5C @ =gBattleBankFunc - ldrb r0, [r6] - lsls r0, 2 - adds r0, r1 - ldr r1, _08039B60 @ =sub_8039B64 - str r1, [r0] -_08039B52: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_08039B58: .4byte 0x02017810 -_08039B5C: .4byte gBattleBankFunc -_08039B60: .4byte sub_8039B64 - thumb_func_end sub_8039A30 - - thumb_func_start sub_8039B64 -sub_8039B64: @ 8039B64 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - ldr r2, _08039BA8 @ =gBattleBufferA - ldr r5, _08039BAC @ =gActiveBank - ldrb r3, [r5] - lsls r1, r3, 9 - adds r0, r2, 0x1 - mov r9, r0 - adds r0, r1, r0 - ldrb r4, [r0] - adds r6, r2, 0x2 - mov r8, r6 - adds r0, r1, r6 - ldrb r0, [r0] - lsls r0, 8 - orrs r4, r0 - adds r2, 0xB - adds r1, r2 - ldrb r7, [r1] - lsls r0, r3, 1 - adds r0, r3 - lsls r0, 2 - ldr r6, _08039BB0 @ =0x02017810 - adds r0, r6 - ldrb r2, [r0, 0x4] - cmp r2, 0x1 - beq _08039BF2 - cmp r2, 0x1 - bgt _08039BB4 - cmp r2, 0 - beq _08039BBE - b _08039CBC - .align 2, 0 -_08039BA8: .4byte gBattleBufferA -_08039BAC: .4byte gActiveBank -_08039BB0: .4byte 0x02017810 -_08039BB4: - cmp r2, 0x2 - beq _08039C18 - cmp r2, 0x3 - beq _08039C84 - b _08039CBC -_08039BBE: - lsls r1, r3, 2 - adds r0, r6, 0 - subs r0, 0x10 - adds r1, r0 - ldrb r2, [r1] - movs r0, 0xC - ands r0, r2 - cmp r0, 0x4 - bne _08039BE2 - movs r0, 0x8 - orrs r0, r2 - strb r0, [r1] - ldrb r2, [r5] - adds r0, r2, 0 - adds r1, r2, 0 - movs r3, 0x5 - bl move_anim_start_t4 -_08039BE2: - ldrb r0, [r5] - lsls r1, r0, 1 - adds r1, r0 - lsls r1, 2 - adds r1, r6 - movs r0, 0x1 - strb r0, [r1, 0x4] - b _08039CBC -_08039BF2: - ldrb r1, [r0] - movs r0, 0x40 - ands r0, r1 - cmp r0, 0 - bne _08039CBC - movs r0, 0 - bl sub_80326EC - adds r0, r4, 0 - bl ExecuteMoveAnim - ldrb r0, [r5] - lsls r1, r0, 1 - adds r1, r0 - lsls r1, 2 - adds r1, r6 - movs r0, 0x2 - strb r0, [r1, 0x4] - b _08039CBC -_08039C18: - ldr r0, _08039C74 @ =gAnimScriptCallback - ldr r0, [r0] - bl _call_via_r0 - ldr r0, _08039C78 @ =gAnimScriptActive - ldrb r0, [r0] - cmp r0, 0 - bne _08039CBC - movs r0, 0x1 - bl sub_80326EC - ldrb r2, [r5] - lsls r0, r2, 2 - adds r4, r6, 0 - subs r4, 0x10 - adds r0, r4 - ldrb r1, [r0] - movs r0, 0x4 - ands r0, r1 - cmp r0, 0 - beq _08039C60 - cmp r7, 0x1 - bhi _08039C60 - adds r0, r2, 0 - adds r1, r2, 0 - movs r3, 0x6 - bl move_anim_start_t4 - ldrb r0, [r5] - lsls r0, 2 - adds r0, r4 - ldrb r2, [r0] - movs r1, 0x9 - negs r1, r1 - ands r1, r2 - strb r1, [r0] -_08039C60: - ldr r0, _08039C7C @ =gActiveBank - ldrb r1, [r0] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - ldr r1, _08039C80 @ =0x02017810 - adds r0, r1 - movs r1, 0x3 - strb r1, [r0, 0x4] - b _08039CBC - .align 2, 0 -_08039C74: .4byte gAnimScriptCallback -_08039C78: .4byte gAnimScriptActive -_08039C7C: .4byte gActiveBank -_08039C80: .4byte 0x02017810 -_08039C84: - ldrb r1, [r0] - movs r0, 0x40 - ands r0, r1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0 - bne _08039CBC - bl sub_8031F24 - ldrb r0, [r5] - lsls r2, r0, 9 - mov r3, r9 - adds r1, r2, r3 - ldrb r1, [r1] - add r2, r8 - ldrb r2, [r2] - lsls r2, 8 - orrs r1, r2 - bl sub_80324BC - ldrb r1, [r5] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - adds r0, r6 - strb r4, [r0, 0x4] - bl dp01_tbl4_exec_completed -_08039CBC: - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_8039B64 - - thumb_func_start sub_8039CC8 -sub_8039CC8: @ 8039CC8 - push {r4,lr} - sub sp, 0x4 - ldr r0, _08039D0C @ =gUnknown_030042A4 - movs r1, 0 - strh r1, [r0] - ldr r0, _08039D10 @ =gUnknown_030042A0 - strh r1, [r0] - ldr r4, _08039D14 @ =gActiveBank - ldrb r0, [r4] - lsls r0, 9 - ldr r1, _08039D18 @ =gUnknown_02023A62 - adds r0, r1 - ldrh r0, [r0] - bl BufferStringBattle - ldr r0, _08039D1C @ =gUnknown_03004210 - ldr r1, _08039D20 @ =gDisplayedStringBattle - movs r2, 0xF - str r2, [sp] - movs r2, 0x90 - movs r3, 0x2 - bl sub_8002EB0 - ldr r1, _08039D24 @ =gBattleBankFunc - ldrb r0, [r4] - lsls r0, 2 - adds r0, r1 - ldr r1, _08039D28 @ =sub_8037C2C - str r1, [r0] - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08039D0C: .4byte gUnknown_030042A4 -_08039D10: .4byte gUnknown_030042A0 -_08039D14: .4byte gActiveBank -_08039D18: .4byte gUnknown_02023A62 -_08039D1C: .4byte gUnknown_03004210 -_08039D20: .4byte gDisplayedStringBattle -_08039D24: .4byte gBattleBankFunc -_08039D28: .4byte sub_8037C2C - thumb_func_end sub_8039CC8 - - thumb_func_start sub_8039D2C -sub_8039D2C: @ 8039D2C - push {lr} - bl dp01_tbl4_exec_completed - pop {r0} - bx r0 - thumb_func_end sub_8039D2C - - thumb_func_start sub_8039D38 -sub_8039D38: @ 8039D38 - push {lr} - bl dp01_tbl4_exec_completed - pop {r0} - bx r0 - thumb_func_end sub_8039D38 - - thumb_func_start sub_8039D44 -sub_8039D44: @ 8039D44 - push {lr} - bl dp01_tbl4_exec_completed - pop {r0} - bx r0 - thumb_func_end sub_8039D44 - - thumb_func_start sub_8039D50 -sub_8039D50: @ 8039D50 - push {lr} - bl dp01_tbl4_exec_completed - pop {r0} - bx r0 - thumb_func_end sub_8039D50 - - thumb_func_start sub_8039D5C -sub_8039D5C: @ 8039D5C - push {lr} - bl dp01_tbl4_exec_completed - pop {r0} - bx r0 - thumb_func_end sub_8039D5C - - thumb_func_start sub_8039D68 -sub_8039D68: @ 8039D68 - push {lr} - bl dp01_tbl4_exec_completed - pop {r0} - bx r0 - thumb_func_end sub_8039D68 - - thumb_func_start sub_8039D74 -sub_8039D74: @ 8039D74 - push {lr} - bl dp01_tbl4_exec_completed - pop {r0} - bx r0 - thumb_func_end sub_8039D74 - - thumb_func_start sub_8039D80 -sub_8039D80: @ 8039D80 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - sub sp, 0x4 - movs r0, 0 - bl load_gfxc_health_bar - ldr r3, _08039DF8 @ =gBattleBufferA - ldr r0, _08039DFC @ =gActiveBank - mov r9, r0 - ldrb r4, [r0] - lsls r2, r4, 9 - adds r0, r3, 0x2 - adds r0, r2, r0 - ldrb r1, [r0] - adds r3, 0x3 - adds r2, r3 - ldrb r0, [r2] - lsls r0, 8 - orrs r1, r0 - lsls r1, 16 - asrs r7, r1, 16 - ldr r0, _08039E00 @ =0x00007fff - cmp r7, r0 - beq _08039E10 - ldr r6, _08039E04 @ =gBattlePartyID - lsls r0, r4, 1 - adds r0, r6 - ldrh r0, [r0] - movs r5, 0x64 - muls r0, r5 - ldr r4, _08039E08 @ =gEnemyParty - adds r0, r4 - movs r1, 0x3A - bl GetMonData - mov r8, r0 - mov r1, r9 - ldrb r0, [r1] - lsls r0, 1 - adds r0, r6 - ldrh r0, [r0] - muls r0, r5 - adds r0, r4 - movs r1, 0x39 - bl GetMonData - adds r3, r0, 0 - mov r1, r9 - ldrb r0, [r1] - ldr r1, _08039E0C @ =gHealthboxIDs - adds r1, r0, r1 - ldrb r1, [r1] - str r7, [sp] - mov r2, r8 - bl sub_8043D84 - b _08039E3A - .align 2, 0 -_08039DF8: .4byte gBattleBufferA -_08039DFC: .4byte gActiveBank -_08039E00: .4byte 0x00007fff -_08039E04: .4byte gBattlePartyID -_08039E08: .4byte gEnemyParty -_08039E0C: .4byte gHealthboxIDs -_08039E10: - ldr r1, _08039E58 @ =gBattlePartyID - lsls r0, r4, 1 - adds r0, r1 - ldrh r1, [r0] - movs r0, 0x64 - muls r0, r1 - ldr r1, _08039E5C @ =gEnemyParty - adds r0, r1 - movs r1, 0x3A - bl GetMonData - adds r2, r0, 0 - mov r1, r9 - ldrb r0, [r1] - ldr r1, _08039E60 @ =gHealthboxIDs - adds r1, r0, r1 - ldrb r1, [r1] - str r7, [sp] - movs r3, 0 - bl sub_8043D84 -_08039E3A: - ldr r1, _08039E64 @ =gBattleBankFunc - ldr r0, _08039E68 @ =gActiveBank - ldrb r0, [r0] - lsls r0, 2 - adds r0, r1 - ldr r1, _08039E6C @ =sub_8037B24 - str r1, [r0] - add sp, 0x4 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08039E58: .4byte gBattlePartyID -_08039E5C: .4byte gEnemyParty -_08039E60: .4byte gHealthboxIDs -_08039E64: .4byte gBattleBankFunc -_08039E68: .4byte gActiveBank -_08039E6C: .4byte sub_8037B24 - thumb_func_end sub_8039D80 - - thumb_func_start sub_8039E70 -sub_8039E70: @ 8039E70 - push {lr} - bl dp01_tbl4_exec_completed - pop {r0} - bx r0 - thumb_func_end sub_8039E70 - - thumb_func_start sub_8039E7C -sub_8039E7C: @ 8039E7C - push {r4,lr} - ldr r4, _08039ED4 @ =gActiveBank - ldrb r0, [r4] - bl mplay_80342A4 - lsls r0, 24 - cmp r0, 0 - bne _08039ECC - ldr r0, _08039ED8 @ =gHealthboxIDs - ldrb r1, [r4] - adds r0, r1, r0 - ldrb r0, [r0] - ldr r2, _08039EDC @ =gBattlePartyID - lsls r1, 1 - adds r1, r2 - ldrh r2, [r1] - movs r1, 0x64 - muls r1, r2 - ldr r2, _08039EE0 @ =gEnemyParty - adds r1, r2 - movs r2, 0x9 - bl sub_8045A5C - ldrb r0, [r4] - lsls r1, r0, 1 - adds r1, r0 - lsls r1, 2 - ldr r0, _08039EE4 @ =0x02017810 - adds r1, r0 - ldrb r2, [r1] - movs r0, 0x11 - negs r0, r0 - ands r0, r2 - strb r0, [r1] - ldr r1, _08039EE8 @ =gBattleBankFunc - ldrb r0, [r4] - lsls r0, 2 - adds r0, r1 - ldr r1, _08039EEC @ =sub_8037FAC - str r1, [r0] -_08039ECC: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08039ED4: .4byte gActiveBank -_08039ED8: .4byte gHealthboxIDs -_08039EDC: .4byte gBattlePartyID -_08039EE0: .4byte gEnemyParty -_08039EE4: .4byte 0x02017810 -_08039EE8: .4byte gBattleBankFunc -_08039EEC: .4byte sub_8037FAC - thumb_func_end sub_8039E7C - - thumb_func_start sub_8039EF0 -sub_8039EF0: @ 8039EF0 - push {r4,r5,lr} - ldr r5, _08039F48 @ =gActiveBank - ldrb r0, [r5] - bl mplay_80342A4 - lsls r0, 24 - cmp r0, 0 - bne _08039F40 - ldr r4, _08039F4C @ =gBattleBufferA - ldrb r3, [r5] - lsls r3, 9 - adds r0, r4, 0x1 - adds r0, r3, r0 - ldrb r0, [r0] - adds r1, r4, 0x2 - adds r1, r3, r1 - ldrb r1, [r1] - adds r2, r4, 0x3 - adds r2, r3, r2 - ldrb r2, [r2] - lsls r2, 8 - orrs r1, r2 - adds r2, r4, 0x4 - adds r2, r3, r2 - ldrb r2, [r2] - lsls r2, 16 - orrs r1, r2 - adds r4, 0x5 - adds r3, r4 - ldrb r2, [r3] - lsls r2, 24 - orrs r1, r2 - bl move_anim_start_t2_for_situation - ldr r1, _08039F50 @ =gBattleBankFunc - ldrb r0, [r5] - lsls r0, 2 - adds r0, r1 - ldr r1, _08039F54 @ =sub_8037FAC - str r1, [r0] -_08039F40: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08039F48: .4byte gActiveBank -_08039F4C: .4byte gBattleBufferA -_08039F50: .4byte gBattleBankFunc -_08039F54: .4byte sub_8037FAC - thumb_func_end sub_8039EF0 - - thumb_func_start sub_8039F58 -sub_8039F58: @ 8039F58 - push {lr} - bl dp01_tbl4_exec_completed - pop {r0} - bx r0 - thumb_func_end sub_8039F58 - - thumb_func_start sub_8039F64 -sub_8039F64: @ 8039F64 - push {lr} - bl dp01_tbl4_exec_completed - pop {r0} - bx r0 - thumb_func_end sub_8039F64 - - thumb_func_start sub_8039F70 -sub_8039F70: @ 8039F70 - push {lr} - bl dp01_tbl4_exec_completed - pop {r0} - bx r0 - thumb_func_end sub_8039F70 - - thumb_func_start sub_8039F7C -sub_8039F7C: @ 8039F7C - push {lr} - bl dp01_tbl4_exec_completed - pop {r0} - bx r0 - thumb_func_end sub_8039F7C - - thumb_func_start sub_8039F88 -sub_8039F88: @ 8039F88 - push {lr} - bl dp01_tbl4_exec_completed - pop {r0} - bx r0 - thumb_func_end sub_8039F88 - - thumb_func_start sub_8039F94 -sub_8039F94: @ 8039F94 - push {lr} - bl dp01_tbl4_exec_completed - pop {r0} - bx r0 - thumb_func_end sub_8039F94 - - thumb_func_start sub_8039FA0 -sub_8039FA0: @ 8039FA0 - push {lr} - bl dp01_tbl4_exec_completed - pop {r0} - bx r0 - thumb_func_end sub_8039FA0 - - thumb_func_start sub_8039FAC -sub_8039FAC: @ 8039FAC - push {lr} - bl dp01_tbl4_exec_completed - pop {r0} - bx r0 - thumb_func_end sub_8039FAC - - thumb_func_start sub_8039FB8 -sub_8039FB8: @ 8039FB8 - push {lr} - bl dp01_tbl4_exec_completed - pop {r0} - bx r0 - thumb_func_end sub_8039FB8 - - thumb_func_start sub_8039FC4 -sub_8039FC4: @ 8039FC4 - push {lr} - ldr r2, _08039FDC @ =gUnknown_020238C8 - ldrb r1, [r2] - movs r0, 0x80 - negs r0, r0 - ands r0, r1 - strb r0, [r2] - bl dp01_tbl4_exec_completed - pop {r0} - bx r0 - .align 2, 0 -_08039FDC: .4byte gUnknown_020238C8 - thumb_func_end sub_8039FC4 - - thumb_func_start sub_8039FE0 -sub_8039FE0: @ 8039FE0 - push {lr} - ldr r3, _0803A00C @ =gUnknown_020238C8 - ldr r1, _0803A010 @ =gBattleBufferA - ldr r0, _0803A014 @ =gActiveBank - ldrb r0, [r0] - lsls r0, 9 - adds r1, 0x1 - adds r0, r1 - ldrb r0, [r0] - movs r1, 0x7F - ands r1, r0 - ldrb r2, [r3] - movs r0, 0x80 - negs r0, r0 - ands r0, r2 - orrs r0, r1 - strb r0, [r3] - bl dp01_tbl4_exec_completed - pop {r0} - bx r0 - .align 2, 0 -_0803A00C: .4byte gUnknown_020238C8 -_0803A010: .4byte gBattleBufferA -_0803A014: .4byte gActiveBank - thumb_func_end sub_8039FE0 - - thumb_func_start sub_803A018 -sub_803A018: @ 803A018 - push {lr} - ldr r2, _0803A02C @ =gUnknown_020238C8 - ldrb r1, [r2] - movs r0, 0x7F - ands r0, r1 - strb r0, [r2] - bl dp01_tbl4_exec_completed - pop {r0} - bx r0 - .align 2, 0 -_0803A02C: .4byte gUnknown_020238C8 - thumb_func_end sub_803A018 - - thumb_func_start sub_803A030 -sub_803A030: @ 803A030 - push {lr} - ldr r3, _0803A054 @ =gUnknown_020238C8 - ldr r1, [r3] - lsls r1, 24 - lsrs r1, 31 - movs r0, 0x1 - eors r1, r0 - lsls r1, 7 - ldrb r2, [r3] - movs r0, 0x7F - ands r0, r2 - orrs r0, r1 - strb r0, [r3] - bl dp01_tbl4_exec_completed - pop {r0} - bx r0 - .align 2, 0 -_0803A054: .4byte gUnknown_020238C8 - thumb_func_end sub_803A030 - - thumb_func_start dp01t_29_4_blink -dp01t_29_4_blink: @ 803A058 - push {r4,lr} - ldr r3, _0803A080 @ =gSprites - ldr r2, _0803A084 @ =gObjectBankIDs - ldr r4, _0803A088 @ =gActiveBank - ldrb r0, [r4] - adds r0, r2 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - adds r0, 0x3E - ldrb r0, [r0] - lsls r0, 29 - cmp r0, 0 - bge _0803A08C - bl dp01_tbl4_exec_completed - b _0803A0B6 - .align 2, 0 -_0803A080: .4byte gSprites -_0803A084: .4byte gObjectBankIDs -_0803A088: .4byte gActiveBank -_0803A08C: - ldr r1, _0803A0BC @ =gDoingBattleAnim - movs r0, 0x1 - strb r0, [r1] - ldrb r0, [r4] - adds r0, r2 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - movs r1, 0 - strh r1, [r0, 0x30] - ldrb r0, [r4] - bl sub_8047858 - ldr r1, _0803A0C0 @ =gBattleBankFunc - ldrb r0, [r4] - lsls r0, 2 - adds r0, r1 - ldr r1, _0803A0C4 @ =dp01t_0F_4_move_anim - str r1, [r0] -_0803A0B6: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0803A0BC: .4byte gDoingBattleAnim -_0803A0C0: .4byte gBattleBankFunc -_0803A0C4: .4byte dp01t_0F_4_move_anim - thumb_func_end dp01t_29_4_blink - - thumb_func_start sub_803A0C8 -sub_803A0C8: @ 803A0C8 - push {lr} - bl dp01_tbl4_exec_completed - pop {r0} - bx r0 - thumb_func_end sub_803A0C8 - - thumb_func_start sub_803A0D4 -sub_803A0D4: @ 803A0D4 - push {r4,lr} - ldr r4, _0803A110 @ =gActiveBank - ldrb r0, [r4] - bl GetBankSide - lsls r0, 24 - movs r3, 0x3F - cmp r0, 0 - bne _0803A0E8 - movs r3, 0xC0 -_0803A0E8: - ldr r2, _0803A114 @ =gBattleBufferA - ldrb r1, [r4] - lsls r1, 9 - adds r0, r2, 0x1 - adds r0, r1, r0 - ldrb r0, [r0] - adds r2, 0x2 - adds r1, r2 - ldrb r1, [r1] - lsls r1, 8 - orrs r0, r1 - lsls r1, r3, 24 - asrs r1, 24 - bl PlaySE12WithPanning - bl dp01_tbl4_exec_completed - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0803A110: .4byte gActiveBank -_0803A114: .4byte gBattleBufferA - thumb_func_end sub_803A0D4 - - thumb_func_start sub_803A118 -sub_803A118: @ 803A118 - push {lr} - ldr r2, _0803A140 @ =gBattleBufferA - ldr r0, _0803A144 @ =gActiveBank - ldrb r1, [r0] - lsls r1, 9 - adds r0, r2, 0x1 - adds r0, r1, r0 - ldrb r0, [r0] - adds r2, 0x2 - adds r1, r2 - ldrb r1, [r1] - lsls r1, 8 - orrs r0, r1 - bl PlayFanfare - bl dp01_tbl4_exec_completed - pop {r0} - bx r0 - .align 2, 0 -_0803A140: .4byte gBattleBufferA -_0803A144: .4byte gActiveBank - thumb_func_end sub_803A118 - - thumb_func_start sub_803A148 -sub_803A148: @ 803A148 - push {lr} - ldr r1, _0803A178 @ =gBattlePartyID - ldr r0, _0803A17C @ =gActiveBank - ldrb r0, [r0] - lsls r0, 1 - adds r0, r1 - ldrh r1, [r0] - movs r0, 0x64 - muls r0, r1 - ldr r1, _0803A180 @ =gEnemyParty - adds r0, r1 - movs r1, 0xB - bl GetMonData - lsls r0, 16 - lsrs r0, 16 - movs r1, 0x19 - movs r2, 0x5 - bl PlayCry3 - bl dp01_tbl4_exec_completed - pop {r0} - bx r0 - .align 2, 0 -_0803A178: .4byte gBattlePartyID -_0803A17C: .4byte gActiveBank -_0803A180: .4byte gEnemyParty - thumb_func_end sub_803A148 - - thumb_func_start dp01t_2E_4_battle_intro -dp01t_2E_4_battle_intro: @ 803A184 - push {lr} - ldr r1, _0803A1AC @ =gBattleBufferA - ldr r0, _0803A1B0 @ =gActiveBank - ldrb r0, [r0] - lsls r0, 9 - adds r1, 0x1 - adds r0, r1 - ldrb r0, [r0] - bl sub_80E43C0 - ldr r2, _0803A1B4 @ =gUnknown_02024DE8 - ldrh r0, [r2] - movs r1, 0x1 - orrs r0, r1 - strh r0, [r2] - bl dp01_tbl4_exec_completed - pop {r0} - bx r0 - .align 2, 0 -_0803A1AC: .4byte gBattleBufferA -_0803A1B0: .4byte gActiveBank -_0803A1B4: .4byte gUnknown_02024DE8 - thumb_func_end dp01t_2E_4_battle_intro - - thumb_func_start sub_803A1B8 -sub_803A1B8: @ 803A1B8 - push {r4-r6,lr} - ldr r5, _0803A294 @ =gObjectBankIDs - ldr r6, _0803A298 @ =gActiveBank - ldrb r0, [r6] - adds r0, r5 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r4, _0803A29C @ =gSprites - adds r0, r4 - bl oamt_add_pos2_onto_pos1 - ldrb r0, [r6] - adds r0, r5 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - movs r1, 0x23 - strh r1, [r0, 0x2E] - ldrb r0, [r6] - adds r0, r5 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - movs r1, 0x8C - lsls r1, 1 - strh r1, [r0, 0x32] - ldrb r0, [r6] - adds r0, r5 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - ldrh r1, [r0, 0x22] - strh r1, [r0, 0x36] - ldrb r0, [r6] - adds r0, r5 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r1, r4, 0 - adds r1, 0x1C - adds r0, r1 - ldr r1, _0803A2A0 @ =sub_8078B34 - str r1, [r0] - ldrb r0, [r6] - adds r0, r5 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - ldr r1, _0803A2A4 @ =sub_803A3A8 - bl oamt_set_x3A_32 - ldr r0, _0803A2A8 @ =sub_803A2C4 - movs r1, 0x5 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - ldr r4, _0803A2AC @ =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r4 - ldrb r0, [r6] - strh r0, [r1, 0x8] - ldrb r3, [r6] - lsls r0, r3, 1 - adds r0, r3 - lsls r0, 2 - ldr r2, _0803A2B0 @ =0x02017810 - adds r0, r2 - ldrb r1, [r0] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _0803A276 - ldr r0, _0803A2B4 @ =gUnknown_02024E68 - adds r0, r3, r0 - ldrb r1, [r0] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r4 - ldr r1, _0803A2B8 @ =sub_8044CA0 - str r1, [r0] -_0803A276: - adds r2, 0x30 - ldrb r0, [r2, 0x9] - movs r1, 0x1 - orrs r0, r1 - strb r0, [r2, 0x9] - ldr r1, _0803A2BC @ =gBattleBankFunc - ldrb r0, [r6] - lsls r0, 2 - adds r0, r1 - ldr r1, _0803A2C0 @ =nullsub_47 - str r1, [r0] - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0803A294: .4byte gObjectBankIDs -_0803A298: .4byte gActiveBank -_0803A29C: .4byte gSprites -_0803A2A0: .4byte sub_8078B34 -_0803A2A4: .4byte sub_803A3A8 -_0803A2A8: .4byte sub_803A2C4 -_0803A2AC: .4byte gTasks -_0803A2B0: .4byte 0x02017810 -_0803A2B4: .4byte gUnknown_02024E68 -_0803A2B8: .4byte sub_8044CA0 -_0803A2BC: .4byte gBattleBankFunc -_0803A2C0: .4byte nullsub_47 - thumb_func_end sub_803A1B8 - - thumb_func_start sub_803A2C4 -sub_803A2C4: @ 803A2C4 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - ldr r7, _0803A31C @ =gActiveBank - ldrb r0, [r7] - mov r9, r0 - ldr r1, _0803A320 @ =gTasks - mov r2, r8 - lsls r0, r2, 2 - add r0, r8 - lsls r0, 3 - adds r0, r1 - ldrh r0, [r0, 0x8] - strb r0, [r7] - bl IsDoubleBattle - lsls r0, 24 - cmp r0, 0 - beq _0803A2FE - ldr r0, _0803A324 @ =gBattleTypeFlags - ldrh r1, [r0] - movs r0, 0x40 - ands r0, r1 - cmp r0, 0 - beq _0803A330 -_0803A2FE: - ldr r0, _0803A328 @ =gBattleBufferA - ldrb r1, [r7] - lsls r2, r1, 9 - adds r0, 0x1 - adds r2, r0 - ldr r0, _0803A32C @ =gBattlePartyID - lsls r1, 1 - adds r1, r0 - ldrh r0, [r1] - strb r0, [r2] - ldrb r0, [r7] - movs r1, 0 - bl sub_8039430 - b _0803A370 - .align 2, 0 -_0803A31C: .4byte gActiveBank -_0803A320: .4byte gTasks -_0803A324: .4byte gBattleTypeFlags -_0803A328: .4byte gBattleBufferA -_0803A32C: .4byte gBattlePartyID -_0803A330: - ldr r4, _0803A394 @ =gBattleBufferA - ldrb r0, [r7] - lsls r1, r0, 9 - adds r4, 0x1 - adds r1, r4 - ldr r6, _0803A398 @ =gBattlePartyID - lsls r0, 1 - adds r0, r6 - ldrh r0, [r0] - strb r0, [r1] - ldrb r0, [r7] - movs r1, 0 - bl sub_8039430 - ldrb r0, [r7] - movs r5, 0x2 - eors r0, r5 - strb r0, [r7] - ldrb r0, [r7] - lsls r1, r0, 9 - adds r1, r4 - lsls r0, 1 - adds r0, r6 - ldrh r0, [r0] - strb r0, [r1] - ldrb r0, [r7] - movs r1, 0 - bl sub_8039430 - ldrb r0, [r7] - eors r0, r5 - strb r0, [r7] -_0803A370: - ldr r1, _0803A39C @ =gBattleBankFunc - ldr r2, _0803A3A0 @ =gActiveBank - ldrb r0, [r2] - lsls r0, 2 - adds r0, r1 - ldr r1, _0803A3A4 @ =sub_8037840 - str r1, [r0] - mov r0, r9 - strb r0, [r2] - mov r0, r8 - bl DestroyTask - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0803A394: .4byte gBattleBufferA -_0803A398: .4byte gBattlePartyID -_0803A39C: .4byte gBattleBankFunc -_0803A3A0: .4byte gActiveBank -_0803A3A4: .4byte sub_8037840 - thumb_func_end sub_803A2C4 - - thumb_func_start sub_803A3A8 -sub_803A3A8: @ 803A3A8 - push {r4,lr} - adds r4, r0, 0 - ldrh r0, [r4, 0x6] - bl sub_8031B74 - ldrh r0, [r4, 0x38] - ldr r1, _0803A3D4 @ =0x000003ff - ands r1, r0 - ldrh r2, [r4, 0x4] - ldr r0, _0803A3D8 @ =0xfffffc00 - ands r0, r2 - orrs r0, r1 - strh r0, [r4, 0x4] - adds r0, r4, 0 - bl FreeSpriteOamMatrix - adds r0, r4, 0 - bl DestroySprite - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0803A3D4: .4byte 0x000003ff -_0803A3D8: .4byte 0xfffffc00 - thumb_func_end sub_803A3A8 - - thumb_func_start sub_803A3DC -sub_803A3DC: @ 803A3DC - push {r4-r6,lr} - ldr r1, _0803A404 @ =gBattleBufferA - ldr r0, _0803A408 @ =gActiveBank - ldrb r2, [r0] - lsls r0, r2, 9 - adds r1, 0x1 - adds r0, r1 - ldrb r0, [r0] - cmp r0, 0 - beq _0803A40C - adds r0, r2, 0 - bl GetBankSide - lsls r0, 24 - cmp r0, 0 - bne _0803A40C - bl dp01_tbl4_exec_completed - b _0803A4C6 - .align 2, 0 -_0803A404: .4byte gBattleBufferA -_0803A408: .4byte gActiveBank -_0803A40C: - ldr r3, _0803A45C @ =gActiveBank - ldrb r1, [r3] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - ldr r4, _0803A460 @ =0x02017810 - adds r0, r4 - ldrb r1, [r0] - movs r2, 0x1 - orrs r1, r2 - strb r1, [r0] - ldr r1, _0803A464 @ =gBattleBufferA - ldrb r2, [r3] - lsls r0, r2, 9 - adds r1, 0x2 - adds r0, r1 - ldrb r0, [r0] - adds r6, r3, 0 - cmp r0, 0 - beq _0803A470 - lsls r0, r2, 1 - adds r0, r2 - lsls r0, 2 - adds r3, r0, r4 - ldrb r2, [r3, 0x1] - lsls r1, r2, 26 - lsrs r0, r1, 27 - cmp r0, 0x1 - bhi _0803A468 - adds r0, 0x1 - movs r1, 0x1F - ands r0, r1 - lsls r0, 1 - movs r1, 0x3F - negs r1, r1 - ands r1, r2 - orrs r1, r0 - strb r1, [r3, 0x1] - b _0803A4C6 - .align 2, 0 -_0803A45C: .4byte gActiveBank -_0803A460: .4byte 0x02017810 -_0803A464: .4byte gBattleBufferA -_0803A468: - movs r0, 0x3F - negs r0, r0 - ands r0, r2 - strb r0, [r3, 0x1] -_0803A470: - adds r5, r6, 0 - ldrb r0, [r5] - lsls r3, r0, 9 - ldr r4, _0803A4CC @ =gUnknown_02023A64 - adds r1, r3, r4 - subs r2, r4, 0x3 - adds r2, r3, r2 - ldrb r2, [r2] - subs r4, 0x2 - adds r3, r4 - ldrb r3, [r3] - bl sub_8044804 - ldr r2, _0803A4D0 @ =gUnknown_02024E68 - ldrb r1, [r5] - adds r1, r2 - movs r2, 0 - strb r0, [r1] - ldrb r1, [r5] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - ldr r3, _0803A4D4 @ =0x02017810 - adds r0, r3 - strb r2, [r0, 0x5] - ldrb r1, [r5] - lsls r0, r1, 9 - adds r0, r4 - ldrb r0, [r0] - cmp r0, 0 - beq _0803A4BA - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - movs r1, 0x5D - strb r1, [r0, 0x5] -_0803A4BA: - ldr r0, _0803A4D8 @ =gBattleBankFunc - ldrb r1, [r6] - lsls r1, 2 - adds r1, r0 - ldr r0, _0803A4DC @ =sub_803A4E0 - str r0, [r1] -_0803A4C6: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0803A4CC: .4byte gUnknown_02023A64 -_0803A4D0: .4byte gUnknown_02024E68 -_0803A4D4: .4byte 0x02017810 -_0803A4D8: .4byte gBattleBankFunc -_0803A4DC: .4byte sub_803A4E0 - thumb_func_end sub_803A3DC - - thumb_func_start sub_803A4E0 -sub_803A4E0: @ 803A4E0 - push {r4,lr} - ldr r4, _0803A518 @ =gActiveBank - ldrb r1, [r4] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - ldr r3, _0803A51C @ =0x02017810 - adds r0, r3 - ldrb r1, [r0, 0x5] - adds r2, r1, 0x1 - strb r2, [r0, 0x5] - lsls r1, 24 - lsrs r1, 24 - cmp r1, 0x5C - bls _0803A510 - ldrb r0, [r4] - lsls r1, r0, 1 - adds r1, r0 - lsls r1, 2 - adds r1, r3 - movs r0, 0 - strb r0, [r1, 0x5] - bl dp01_tbl4_exec_completed -_0803A510: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0803A518: .4byte gActiveBank -_0803A51C: .4byte 0x02017810 - thumb_func_end sub_803A4E0 - - thumb_func_start sub_803A520 -sub_803A520: @ 803A520 - push {lr} - ldr r0, _0803A558 @ =gActiveBank - ldrb r3, [r0] - lsls r0, r3, 1 - adds r0, r3 - lsls r0, 2 - ldr r1, _0803A55C @ =0x02017810 - adds r0, r1 - ldrb r1, [r0] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _0803A54E - ldr r2, _0803A560 @ =gTasks - ldr r0, _0803A564 @ =gUnknown_02024E68 - adds r0, r3, r0 - ldrb r1, [r0] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r2 - ldr r1, _0803A568 @ =sub_8044CA0 - str r1, [r0] -_0803A54E: - bl dp01_tbl4_exec_completed - pop {r0} - bx r0 - .align 2, 0 -_0803A558: .4byte gActiveBank -_0803A55C: .4byte 0x02017810 -_0803A560: .4byte gTasks -_0803A564: .4byte gUnknown_02024E68 -_0803A568: .4byte sub_8044CA0 - thumb_func_end sub_803A520 - - thumb_func_start sub_803A56C -sub_803A56C: @ 803A56C - push {lr} - bl dp01_tbl4_exec_completed - pop {r0} - bx r0 - thumb_func_end sub_803A56C - - thumb_func_start sub_803A578 -sub_803A578: @ 803A578 - push {r4,lr} - ldr r4, _0803A5C8 @ =gActiveBank - ldrb r0, [r4] - bl sub_8078874 - lsls r0, 24 - cmp r0, 0 - beq _0803A5BE - ldr r3, _0803A5CC @ =gSprites - ldr r0, _0803A5D0 @ =gObjectBankIDs - ldrb r1, [r4] - adds r0, r1, r0 - ldrb r0, [r0] - lsls r2, r0, 4 - adds r2, r0 - lsls r2, 2 - adds r2, r3 - ldr r0, _0803A5D4 @ =gBattleBufferA - lsls r1, 9 - adds r0, 0x1 - adds r1, r0 - adds r2, 0x3E - movs r0, 0x1 - ldrb r1, [r1] - ands r1, r0 - lsls r1, 2 - ldrb r3, [r2] - movs r0, 0x5 - negs r0, r0 - ands r0, r3 - orrs r0, r1 - strb r0, [r2] - ldrb r0, [r4] - bl sub_8031F88 -_0803A5BE: - bl dp01_tbl4_exec_completed - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0803A5C8: .4byte gActiveBank -_0803A5CC: .4byte gSprites -_0803A5D0: .4byte gObjectBankIDs -_0803A5D4: .4byte gBattleBufferA - thumb_func_end sub_803A578 - - thumb_func_start bx_exec_buffer_A_ch0_tbl4 -bx_exec_buffer_A_ch0_tbl4: @ 803A5D8 - push {r4-r6,lr} - sub sp, 0x4 - ldr r6, _0803A61C @ =gActiveBank - ldrb r0, [r6] - bl mplay_80342A4 - lsls r0, 24 - cmp r0, 0 - bne _0803A630 - ldr r5, _0803A620 @ =gBattleBufferA - ldrb r2, [r6] - lsls r1, r2, 9 - adds r0, r5, 0x1 - adds r0, r1, r0 - ldrb r3, [r0] - adds r0, r5, 0x2 - adds r0, r1, r0 - ldrb r4, [r0] - adds r5, 0x3 - adds r1, r5 - ldrb r0, [r1] - lsls r0, 8 - orrs r4, r0 - str r4, [sp] - adds r0, r2, 0 - adds r1, r2, 0 - bl move_anim_start_t3 - lsls r0, 24 - cmp r0, 0 - beq _0803A624 - bl dp01_tbl4_exec_completed - b _0803A630 - .align 2, 0 -_0803A61C: .4byte gActiveBank -_0803A620: .4byte gBattleBufferA -_0803A624: - ldr r0, _0803A638 @ =gBattleBankFunc - ldrb r1, [r6] - lsls r1, 2 - adds r1, r0 - ldr r0, _0803A63C @ =sub_8037FD8 - str r0, [r1] -_0803A630: - add sp, 0x4 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0803A638: .4byte gBattleBankFunc -_0803A63C: .4byte sub_8037FD8 - thumb_func_end bx_exec_buffer_A_ch0_tbl4 - - thumb_func_start sub_803A640 -sub_803A640: @ 803A640 - push {lr} - bl dp01_tbl4_exec_completed - pop {r0} - bx r0 - thumb_func_end sub_803A640 - - thumb_func_start sub_803A64C -sub_803A64C: @ 803A64C - push {lr} - bl dp01_tbl4_exec_completed - pop {r0} - bx r0 - thumb_func_end sub_803A64C - - thumb_func_start sub_803A658 -sub_803A658: @ 803A658 - push {lr} - ldr r1, _0803A674 @ =gBattleBufferA - ldr r0, _0803A678 @ =gActiveBank - ldrb r0, [r0] - lsls r0, 9 - adds r1, 0x1 - adds r0, r1 - ldrb r2, [r0] - cmp r2, 0x3 - bne _0803A680 - ldr r0, _0803A67C @ =gBattleOutcome - strb r2, [r0] - b _0803A688 - .align 2, 0 -_0803A674: .4byte gBattleBufferA -_0803A678: .4byte gActiveBank -_0803A67C: .4byte gBattleOutcome -_0803A680: - ldr r0, _0803A6AC @ =gBattleOutcome - movs r1, 0x3 - eors r1, r2 - strb r1, [r0] -_0803A688: - movs r0, 0x5 - bl FadeOutMapMusic - movs r0, 0x3 - bl BeginFastPaletteFade - bl dp01_tbl4_exec_completed - ldr r1, _0803A6B0 @ =gBattleBankFunc - ldr r0, _0803A6B4 @ =gActiveBank - ldrb r0, [r0] - lsls r0, 2 - adds r0, r1 - ldr r1, _0803A6B8 @ =sub_8037F34 - str r1, [r0] - pop {r0} - bx r0 - .align 2, 0 -_0803A6AC: .4byte gBattleOutcome -_0803A6B0: .4byte gBattleBankFunc -_0803A6B4: .4byte gActiveBank -_0803A6B8: .4byte sub_8037F34 - thumb_func_end sub_803A658 - - thumb_func_start nullsub_48 -nullsub_48: @ 803A6BC - bx lr - thumb_func_end nullsub_48 - - .align 2, 0 @ Don't pad with nop. diff --git a/asm/battle_6.s b/asm/battle_6.s deleted file mode 100644 index 90c100c73..000000000 --- a/asm/battle_6.s +++ /dev/null @@ -1,5484 +0,0 @@ - .include "constants/gba_constants.inc" - .include "constants/species_constants.inc" - .include "asm/macros.inc" - - .syntax unified - - .text - - thumb_func_start PlayerHandleGetAttributes -PlayerHandleGetAttributes: @ 802E4D0 - push {r4-r6,lr} - sub sp, 0x100 - movs r6, 0 - ldr r1, _0802E4FC @ =gBattleBufferA - ldr r0, _0802E500 @ =gActiveBank - ldrb r2, [r0] - lsls r0, r2, 9 - adds r1, 0x2 - adds r1, r0, r1 - ldrb r0, [r1] - cmp r0, 0 - bne _0802E508 - ldr r0, _0802E504 @ =gBattlePartyID - lsls r1, r2, 1 - adds r1, r0 - ldrb r0, [r1] - mov r1, sp - bl dp01_getattr_by_ch1_for_player_pokemon_ - adds r6, r0, 0 - b _0802E52A - .align 2, 0 -_0802E4FC: .4byte gBattleBufferA -_0802E500: .4byte gActiveBank -_0802E504: .4byte gBattlePartyID -_0802E508: - ldrb r4, [r1] - movs r5, 0 -_0802E50C: - movs r0, 0x1 - ands r0, r4 - cmp r0, 0 - beq _0802E522 - lsls r0, r5, 24 - lsrs r0, 24 - mov r2, sp - adds r1, r2, r6 - bl dp01_getattr_by_ch1_for_player_pokemon_ - adds r6, r0 -_0802E522: - lsrs r4, 1 - adds r5, 0x1 - cmp r5, 0x5 - ble _0802E50C -_0802E52A: - lsls r1, r6, 16 - lsrs r1, 16 - movs r0, 0x1 - mov r2, sp - bl dp01_build_cmdbuf_x1D_1D_numargs_varargs - bl PlayerBufferExecCompleted - add sp, 0x100 - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end PlayerHandleGetAttributes - - thumb_func_start dp01_getattr_by_ch1_for_player_pokemon_ -dp01_getattr_by_ch1_for_player_pokemon_: @ 802E544 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x90 - adds r7, r1, 0 - lsls r0, 24 - lsrs r5, r0, 24 - movs r6, 0 - ldr r2, _0802E578 @ =gBattleBufferA - ldr r3, _0802E57C @ =gActiveBank - ldrb r0, [r3] - lsls r0, 9 - adds r1, r2, 0x1 - adds r0, r1 - ldrb r0, [r0] - cmp r0, 0x3B - bls _0802E56E - bl _0802ECDA -_0802E56E: - lsls r0, 2 - ldr r1, _0802E580 @ =_0802E584 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0802E578: .4byte gBattleBufferA -_0802E57C: .4byte gActiveBank -_0802E580: .4byte _0802E584 - .align 2, 0 -_0802E584: - .4byte _0802E674 - .4byte _0802E898 - .4byte _0802E8A8 - .4byte _0802E8B8 - .4byte _0802E920 - .4byte _0802E920 - .4byte _0802E920 - .4byte _0802E920 - .4byte _0802E93C - .4byte _0802E978 - .4byte _0802E978 - .4byte _0802E978 - .4byte _0802E978 - .4byte _0802ECDA - .4byte _0802ECDA - .4byte _0802ECDA - .4byte _0802ECDA - .4byte _0802E994 - .4byte _0802E9A4 - .4byte _0802E9D4 - .4byte _0802E9E4 - .4byte _0802E9F4 - .4byte _0802EA04 - .4byte _0802EA14 - .4byte _0802EA24 - .4byte _0802EA34 - .4byte _0802EA44 - .4byte _0802EA54 - .4byte _0802EA64 - .4byte _0802EA74 - .4byte _0802EA84 - .4byte _0802EA94 - .4byte _0802EAE4 - .4byte _0802EAF4 - .4byte _0802EB04 - .4byte _0802EB14 - .4byte _0802EB24 - .4byte _0802EB34 - .4byte _0802EB44 - .4byte _0802EB54 - .4byte _0802EB64 - .4byte _0802EB98 - .4byte _0802EBA8 - .4byte _0802EBB8 - .4byte _0802EBC8 - .4byte _0802EBD8 - .4byte _0802EBE8 - .4byte _0802EBF8 - .4byte _0802EC08 - .4byte _0802EC28 - .4byte _0802EC38 - .4byte _0802EC48 - .4byte _0802EC58 - .4byte _0802EC68 - .4byte _0802EC78 - .4byte _0802EC88 - .4byte _0802EC98 - .4byte _0802ECA8 - .4byte _0802ECB8 - .4byte _0802ECC8 -_0802E674: - movs r0, 0x64 - adds r4, r5, 0 - muls r4, r0 - ldr r0, _0802E888 @ =gPlayerParty - adds r4, r0 - adds r0, r4, 0 - movs r1, 0xB - bl GetMonData - mov r1, sp - strh r0, [r1] - adds r0, r4, 0 - movs r1, 0xC - bl GetMonData - mov r1, sp - strh r0, [r1, 0x2E] - movs r6, 0 - add r0, sp, 0x24 - mov r9, r0 - movs r1, 0x3B - add r1, sp - mov r10, r1 - mov r2, sp - adds r2, 0x2B - str r2, [sp, 0x80] - mov r0, sp - adds r0, 0x2A - str r0, [sp, 0x7C] - mov r1, sp - adds r1, 0x68 - str r1, [sp, 0x8C] - adds r2, 0x5 - str r2, [sp, 0x84] - adds r0, 0x12 - str r0, [sp, 0x88] - mov r8, r4 - add r4, sp, 0xC -_0802E6C0: - adds r1, r6, 0 - adds r1, 0xD - mov r0, r8 - bl GetMonData - strh r0, [r4] - adds r1, r6, 0 - adds r1, 0x11 - mov r0, r8 - bl GetMonData - mov r2, r9 - adds r1, r2, r6 - strb r0, [r1] - adds r4, 0x2 - adds r6, 0x1 - cmp r6, 0x3 - ble _0802E6C0 - movs r0, 0x64 - adds r4, r5, 0 - muls r4, r0 - ldr r0, _0802E888 @ =gPlayerParty - adds r4, r0 - adds r0, r4, 0 - movs r1, 0x15 - bl GetMonData - mov r1, r10 - strb r0, [r1] - adds r0, r4, 0 - movs r1, 0x20 - bl GetMonData - ldr r2, [sp, 0x80] - strb r0, [r2] - adds r0, r4, 0 - movs r1, 0x19 - bl GetMonData - str r0, [sp, 0x44] - adds r0, r4, 0 - movs r1, 0x27 - bl GetMonData - mov r3, sp - movs r5, 0x1F - ands r0, r5 - ldrb r2, [r3, 0x14] - movs r1, 0x20 - negs r1, r1 - ands r1, r2 - orrs r1, r0 - strb r1, [r3, 0x14] - adds r0, r4, 0 - movs r1, 0x28 - bl GetMonData - mov r3, sp - movs r6, 0x1F - ands r0, r6 - lsls r0, 5 - ldrh r2, [r3, 0x14] - ldr r1, _0802E88C @ =0xfffffc1f - ands r1, r2 - orrs r1, r0 - strh r1, [r3, 0x14] - adds r0, r4, 0 - movs r1, 0x29 - bl GetMonData - mov r3, sp - ands r0, r5 - lsls r0, 2 - ldrb r2, [r3, 0x15] - movs r1, 0x7D - negs r1, r1 - ands r1, r2 - orrs r1, r0 - strb r1, [r3, 0x15] - adds r0, r4, 0 - movs r1, 0x2A - bl GetMonData - movs r1, 0x1F - ands r1, r0 - lsls r1, 15 - ldr r0, [sp, 0x14] - ldr r2, _0802E890 @ =0xfff07fff - ands r0, r2 - orrs r0, r1 - str r0, [sp, 0x14] - adds r0, r4, 0 - movs r1, 0x2B - bl GetMonData - mov r3, sp - ands r0, r6 - lsls r0, 4 - ldrh r2, [r3, 0x16] - ldr r1, _0802E894 @ =0xfffffe0f - ands r1, r2 - orrs r1, r0 - strh r1, [r3, 0x16] - adds r0, r4, 0 - movs r1, 0x2C - bl GetMonData - mov r3, sp - ands r0, r5 - lsls r0, 1 - ldrb r2, [r3, 0x17] - movs r1, 0x3F - negs r1, r1 - ands r1, r2 - orrs r1, r0 - strb r1, [r3, 0x17] - adds r0, r4, 0 - movs r1, 0 - bl GetMonData - str r0, [sp, 0x48] - adds r0, r4, 0 - movs r1, 0x37 - bl GetMonData - str r0, [sp, 0x4C] - adds r0, r4, 0 - movs r1, 0x38 - bl GetMonData - ldr r1, [sp, 0x7C] - strb r0, [r1] - adds r0, r4, 0 - movs r1, 0x39 - bl GetMonData - mov r1, sp - strh r0, [r1, 0x28] - adds r0, r4, 0 - movs r1, 0x3A - bl GetMonData - mov r1, sp - strh r0, [r1, 0x2C] - adds r0, r4, 0 - movs r1, 0x3B - bl GetMonData - mov r1, sp - strh r0, [r1, 0x2] - adds r0, r4, 0 - movs r1, 0x3C - bl GetMonData - mov r1, sp - strh r0, [r1, 0x4] - adds r0, r4, 0 - movs r1, 0x3D - bl GetMonData - mov r1, sp - strh r0, [r1, 0x6] - adds r0, r4, 0 - movs r1, 0x3E - bl GetMonData - mov r1, sp - strh r0, [r1, 0x8] - adds r0, r4, 0 - movs r1, 0x3F - bl GetMonData - mov r1, sp - strh r0, [r1, 0xA] - adds r0, r4, 0 - movs r1, 0x2D - bl GetMonData - mov r3, sp - movs r1, 0x1 - ands r0, r1 - lsls r0, 6 - ldrb r2, [r3, 0x17] - movs r1, 0x41 - negs r1, r1 - ands r1, r2 - orrs r1, r0 - strb r1, [r3, 0x17] - adds r0, r4, 0 - movs r1, 0x2E - bl GetMonData - mov r3, sp - lsls r0, 7 - ldrb r2, [r3, 0x17] - movs r1, 0x7F - ands r1, r2 - orrs r1, r0 - strb r1, [r3, 0x17] - adds r0, r4, 0 - movs r1, 0x1 - bl GetMonData - str r0, [sp, 0x54] - adds r0, r4, 0 - movs r1, 0x2 - ldr r2, [sp, 0x8C] - bl GetMonData - ldr r0, [sp, 0x84] - ldr r1, [sp, 0x8C] - bl StringCopy10 - adds r0, r4, 0 - movs r1, 0x7 - ldr r2, [sp, 0x88] - bl GetMonData - mov r2, sp - movs r6, 0 -_0802E878: - adds r0, r7, r6 - adds r1, r2, r6 - ldrb r1, [r1] - strb r1, [r0] - adds r6, 0x1 - cmp r6, 0x57 - bls _0802E878 - b _0802ECDA - .align 2, 0 -_0802E888: .4byte gPlayerParty -_0802E88C: .4byte 0xfffffc1f -_0802E890: .4byte 0xfff07fff -_0802E894: .4byte 0xfffffe0f -_0802E898: - movs r0, 0x64 - muls r0, r5 - ldr r1, _0802E8A4 @ =gPlayerParty - adds r0, r1 - movs r1, 0xB - b _0802EC12 - .align 2, 0 -_0802E8A4: .4byte gPlayerParty -_0802E8A8: - movs r0, 0x64 - muls r0, r5 - ldr r1, _0802E8B4 @ =gPlayerParty - adds r0, r1 - movs r1, 0xC - b _0802EC12 - .align 2, 0 -_0802E8B4: .4byte gPlayerParty -_0802E8B8: - movs r6, 0 - add r2, sp, 0x58 - mov r9, r2 - add r0, sp, 0x60 - mov r10, r0 - movs r0, 0x64 - adds r1, r5, 0 - muls r1, r0 - ldr r0, _0802E91C @ =gPlayerParty - adds r4, r1, r0 - mov r8, r9 -_0802E8CE: - adds r1, r6, 0 - adds r1, 0xD - adds r0, r4, 0 - bl GetMonData - mov r1, r8 - strh r0, [r1] - adds r1, r6, 0 - adds r1, 0x11 - adds r0, r4, 0 - bl GetMonData - mov r2, r10 - adds r1, r2, r6 - strb r0, [r1] - movs r0, 0x2 - add r8, r0 - adds r6, 0x1 - cmp r6, 0x3 - ble _0802E8CE - movs r0, 0x64 - muls r0, r5 - ldr r1, _0802E91C @ =gPlayerParty - adds r0, r1 - movs r1, 0x15 - bl GetMonData - mov r1, r9 - strb r0, [r1, 0xC] - mov r2, r9 - movs r6, 0 -_0802E90C: - adds r0, r7, r6 - adds r1, r2, r6 - ldrb r1, [r1] - strb r1, [r0] - adds r6, 0x1 - cmp r6, 0xF - bls _0802E90C - b _0802ECDA - .align 2, 0 -_0802E91C: .4byte gPlayerParty -_0802E920: - movs r0, 0x64 - muls r0, r5 - ldr r1, _0802E938 @ =gPlayerParty - adds r0, r1 - ldrb r1, [r3] - lsls r1, 9 - adds r2, 0x1 - adds r1, r2 - ldrb r1, [r1] - adds r1, 0x9 - b _0802EC12 - .align 2, 0 -_0802E938: .4byte gPlayerParty -_0802E93C: - movs r6, 0 - movs r0, 0x64 - adds r4, r5, 0 - muls r4, r0 - ldr r2, _0802E974 @ =gPlayerParty - mov r8, r2 -_0802E948: - adds r1, r6, 0 - adds r1, 0x11 - mov r2, r8 - adds r0, r4, r2 - bl GetMonData - adds r1, r7, r6 - strb r0, [r1] - adds r6, 0x1 - cmp r6, 0x3 - ble _0802E948 - movs r0, 0x64 - muls r0, r5 - ldr r1, _0802E974 @ =gPlayerParty - adds r0, r1 - movs r1, 0x15 - bl GetMonData - adds r1, r7, r6 - strb r0, [r1] - adds r6, 0x1 - b _0802ECDA - .align 2, 0 -_0802E974: .4byte gPlayerParty -_0802E978: - movs r0, 0x64 - muls r0, r5 - ldr r1, _0802E990 @ =gPlayerParty - adds r0, r1 - ldrb r1, [r3] - lsls r1, 9 - adds r2, 0x1 - adds r1, r2 - ldrb r1, [r1] - adds r1, 0x8 - b _0802ECD2 - .align 2, 0 -_0802E990: .4byte gPlayerParty -_0802E994: - movs r0, 0x64 - muls r0, r5 - ldr r1, _0802E9A0 @ =gPlayerParty - adds r0, r1 - movs r1, 0x1 - b _0802E9AE - .align 2, 0 -_0802E9A0: .4byte gPlayerParty -_0802E9A4: - movs r0, 0x64 - muls r0, r5 - ldr r1, _0802E9D0 @ =gPlayerParty - adds r0, r1 - movs r1, 0x19 -_0802E9AE: - bl GetMonData - adds r1, r0, 0 - strb r1, [r7] - movs r0, 0xFF - lsls r0, 8 - ands r0, r1 - lsrs r0, 8 - strb r0, [r7, 0x1] - movs r0, 0xFF - lsls r0, 16 - ands r0, r1 - lsrs r0, 16 - strb r0, [r7, 0x2] - movs r6, 0x3 - b _0802ECDA - .align 2, 0 -_0802E9D0: .4byte gPlayerParty -_0802E9D4: - movs r0, 0x64 - muls r0, r5 - ldr r1, _0802E9E0 @ =gPlayerParty - adds r0, r1 - movs r1, 0x1A - b _0802ECD2 - .align 2, 0 -_0802E9E0: .4byte gPlayerParty -_0802E9E4: - movs r0, 0x64 - muls r0, r5 - ldr r1, _0802E9F0 @ =gPlayerParty - adds r0, r1 - movs r1, 0x1B - b _0802ECD2 - .align 2, 0 -_0802E9F0: .4byte gPlayerParty -_0802E9F4: - movs r0, 0x64 - muls r0, r5 - ldr r1, _0802EA00 @ =gPlayerParty - adds r0, r1 - movs r1, 0x1C - b _0802ECD2 - .align 2, 0 -_0802EA00: .4byte gPlayerParty -_0802EA04: - movs r0, 0x64 - muls r0, r5 - ldr r1, _0802EA10 @ =gPlayerParty - adds r0, r1 - movs r1, 0x1D - b _0802ECD2 - .align 2, 0 -_0802EA10: .4byte gPlayerParty -_0802EA14: - movs r0, 0x64 - muls r0, r5 - ldr r1, _0802EA20 @ =gPlayerParty - adds r0, r1 - movs r1, 0x1E - b _0802ECD2 - .align 2, 0 -_0802EA20: .4byte gPlayerParty -_0802EA24: - movs r0, 0x64 - muls r0, r5 - ldr r1, _0802EA30 @ =gPlayerParty - adds r0, r1 - movs r1, 0x1F - b _0802ECD2 - .align 2, 0 -_0802EA30: .4byte gPlayerParty -_0802EA34: - movs r0, 0x64 - muls r0, r5 - ldr r1, _0802EA40 @ =gPlayerParty - adds r0, r1 - movs r1, 0x20 - b _0802ECD2 - .align 2, 0 -_0802EA40: .4byte gPlayerParty -_0802EA44: - movs r0, 0x64 - muls r0, r5 - ldr r1, _0802EA50 @ =gPlayerParty - adds r0, r1 - movs r1, 0x22 - b _0802ECD2 - .align 2, 0 -_0802EA50: .4byte gPlayerParty -_0802EA54: - movs r0, 0x64 - muls r0, r5 - ldr r1, _0802EA60 @ =gPlayerParty - adds r0, r1 - movs r1, 0x23 - b _0802ECD2 - .align 2, 0 -_0802EA60: .4byte gPlayerParty -_0802EA64: - movs r0, 0x64 - muls r0, r5 - ldr r1, _0802EA70 @ =gPlayerParty - adds r0, r1 - movs r1, 0x24 - b _0802ECD2 - .align 2, 0 -_0802EA70: .4byte gPlayerParty -_0802EA74: - movs r0, 0x64 - muls r0, r5 - ldr r1, _0802EA80 @ =gPlayerParty - adds r0, r1 - movs r1, 0x25 - b _0802ECD2 - .align 2, 0 -_0802EA80: .4byte gPlayerParty -_0802EA84: - movs r0, 0x64 - muls r0, r5 - ldr r1, _0802EA90 @ =gPlayerParty - adds r0, r1 - movs r1, 0x26 - b _0802ECD2 - .align 2, 0 -_0802EA90: .4byte gPlayerParty -_0802EA94: - movs r0, 0x64 - adds r4, r5, 0 - muls r4, r0 - ldr r0, _0802EAE0 @ =gPlayerParty - adds r4, r0 - adds r0, r4, 0 - movs r1, 0x27 - bl GetMonData - strb r0, [r7] - adds r0, r4, 0 - movs r1, 0x28 - bl GetMonData - strb r0, [r7, 0x1] - adds r0, r4, 0 - movs r1, 0x29 - bl GetMonData - strb r0, [r7, 0x2] - adds r0, r4, 0 - movs r1, 0x2A - bl GetMonData - strb r0, [r7, 0x3] - adds r0, r4, 0 - movs r1, 0x2B - bl GetMonData - strb r0, [r7, 0x4] - adds r0, r4, 0 - movs r1, 0x2C - bl GetMonData - strb r0, [r7, 0x5] - movs r6, 0x6 - b _0802ECDA - .align 2, 0 -_0802EAE0: .4byte gPlayerParty -_0802EAE4: - movs r0, 0x64 - muls r0, r5 - ldr r1, _0802EAF0 @ =gPlayerParty - adds r0, r1 - movs r1, 0x27 - b _0802ECD2 - .align 2, 0 -_0802EAF0: .4byte gPlayerParty -_0802EAF4: - movs r0, 0x64 - muls r0, r5 - ldr r1, _0802EB00 @ =gPlayerParty - adds r0, r1 - movs r1, 0x28 - b _0802ECD2 - .align 2, 0 -_0802EB00: .4byte gPlayerParty -_0802EB04: - movs r0, 0x64 - muls r0, r5 - ldr r1, _0802EB10 @ =gPlayerParty - adds r0, r1 - movs r1, 0x29 - b _0802ECD2 - .align 2, 0 -_0802EB10: .4byte gPlayerParty -_0802EB14: - movs r0, 0x64 - muls r0, r5 - ldr r1, _0802EB20 @ =gPlayerParty - adds r0, r1 - movs r1, 0x2A - b _0802ECD2 - .align 2, 0 -_0802EB20: .4byte gPlayerParty -_0802EB24: - movs r0, 0x64 - muls r0, r5 - ldr r1, _0802EB30 @ =gPlayerParty - adds r0, r1 - movs r1, 0x2B - b _0802ECD2 - .align 2, 0 -_0802EB30: .4byte gPlayerParty -_0802EB34: - movs r0, 0x64 - muls r0, r5 - ldr r1, _0802EB40 @ =gPlayerParty - adds r0, r1 - movs r1, 0x2C - b _0802ECD2 - .align 2, 0 -_0802EB40: .4byte gPlayerParty -_0802EB44: - movs r0, 0x64 - muls r0, r5 - ldr r1, _0802EB50 @ =gPlayerParty - adds r0, r1 - movs r1, 0 - b _0802EB6E - .align 2, 0 -_0802EB50: .4byte gPlayerParty -_0802EB54: - movs r0, 0x64 - muls r0, r5 - ldr r1, _0802EB60 @ =gPlayerParty - adds r0, r1 - movs r1, 0x9 - b _0802EC12 - .align 2, 0 -_0802EB60: .4byte gPlayerParty -_0802EB64: - movs r0, 0x64 - muls r0, r5 - ldr r1, _0802EB94 @ =gPlayerParty - adds r0, r1 - movs r1, 0x37 -_0802EB6E: - bl GetMonData - adds r1, r0, 0 - strb r1, [r7] - movs r0, 0xFF - lsls r0, 8 - ands r0, r1 - lsrs r0, 8 - strb r0, [r7, 0x1] - movs r0, 0xFF - lsls r0, 16 - ands r0, r1 - lsrs r0, 16 - strb r0, [r7, 0x2] - lsrs r0, r1, 24 - strb r0, [r7, 0x3] - movs r6, 0x4 - b _0802ECDA - .align 2, 0 -_0802EB94: .4byte gPlayerParty -_0802EB98: - movs r0, 0x64 - muls r0, r5 - ldr r1, _0802EBA4 @ =gPlayerParty - adds r0, r1 - movs r1, 0x38 - b _0802ECD2 - .align 2, 0 -_0802EBA4: .4byte gPlayerParty -_0802EBA8: - movs r0, 0x64 - muls r0, r5 - ldr r1, _0802EBB4 @ =gPlayerParty - adds r0, r1 - movs r1, 0x39 - b _0802EC12 - .align 2, 0 -_0802EBB4: .4byte gPlayerParty -_0802EBB8: - movs r0, 0x64 - muls r0, r5 - ldr r1, _0802EBC4 @ =gPlayerParty - adds r0, r1 - movs r1, 0x3A - b _0802EC12 - .align 2, 0 -_0802EBC4: .4byte gPlayerParty -_0802EBC8: - movs r0, 0x64 - muls r0, r5 - ldr r1, _0802EBD4 @ =gPlayerParty - adds r0, r1 - movs r1, 0x3B - b _0802EC12 - .align 2, 0 -_0802EBD4: .4byte gPlayerParty -_0802EBD8: - movs r0, 0x64 - muls r0, r5 - ldr r1, _0802EBE4 @ =gPlayerParty - adds r0, r1 - movs r1, 0x3C - b _0802EC12 - .align 2, 0 -_0802EBE4: .4byte gPlayerParty -_0802EBE8: - movs r0, 0x64 - muls r0, r5 - ldr r1, _0802EBF4 @ =gPlayerParty - adds r0, r1 - movs r1, 0x3D - b _0802EC12 - .align 2, 0 -_0802EBF4: .4byte gPlayerParty -_0802EBF8: - movs r0, 0x64 - muls r0, r5 - ldr r1, _0802EC04 @ =gPlayerParty - adds r0, r1 - movs r1, 0x3E - b _0802EC12 - .align 2, 0 -_0802EC04: .4byte gPlayerParty -_0802EC08: - movs r0, 0x64 - muls r0, r5 - ldr r1, _0802EC24 @ =gPlayerParty - adds r0, r1 - movs r1, 0x3F -_0802EC12: - bl GetMonData - lsls r0, 16 - lsrs r0, 16 - strb r0, [r7] - lsrs r0, 8 - strb r0, [r7, 0x1] - movs r6, 0x2 - b _0802ECDA - .align 2, 0 -_0802EC24: .4byte gPlayerParty -_0802EC28: - movs r0, 0x64 - muls r0, r5 - ldr r1, _0802EC34 @ =gPlayerParty - adds r0, r1 - movs r1, 0x16 - b _0802ECD2 - .align 2, 0 -_0802EC34: .4byte gPlayerParty -_0802EC38: - movs r0, 0x64 - muls r0, r5 - ldr r1, _0802EC44 @ =gPlayerParty - adds r0, r1 - movs r1, 0x17 - b _0802ECD2 - .align 2, 0 -_0802EC44: .4byte gPlayerParty -_0802EC48: - movs r0, 0x64 - muls r0, r5 - ldr r1, _0802EC54 @ =gPlayerParty - adds r0, r1 - movs r1, 0x18 - b _0802ECD2 - .align 2, 0 -_0802EC54: .4byte gPlayerParty -_0802EC58: - movs r0, 0x64 - muls r0, r5 - ldr r1, _0802EC64 @ =gPlayerParty - adds r0, r1 - movs r1, 0x21 - b _0802ECD2 - .align 2, 0 -_0802EC64: .4byte gPlayerParty -_0802EC68: - movs r0, 0x64 - muls r0, r5 - ldr r1, _0802EC74 @ =gPlayerParty - adds r0, r1 - movs r1, 0x2F - b _0802ECD2 - .align 2, 0 -_0802EC74: .4byte gPlayerParty -_0802EC78: - movs r0, 0x64 - muls r0, r5 - ldr r1, _0802EC84 @ =gPlayerParty - adds r0, r1 - movs r1, 0x30 - b _0802ECD2 - .align 2, 0 -_0802EC84: .4byte gPlayerParty -_0802EC88: - movs r0, 0x64 - muls r0, r5 - ldr r1, _0802EC94 @ =gPlayerParty - adds r0, r1 - movs r1, 0x32 - b _0802ECD2 - .align 2, 0 -_0802EC94: .4byte gPlayerParty -_0802EC98: - movs r0, 0x64 - muls r0, r5 - ldr r1, _0802ECA4 @ =gPlayerParty - adds r0, r1 - movs r1, 0x33 - b _0802ECD2 - .align 2, 0 -_0802ECA4: .4byte gPlayerParty -_0802ECA8: - movs r0, 0x64 - muls r0, r5 - ldr r1, _0802ECB4 @ =gPlayerParty - adds r0, r1 - movs r1, 0x34 - b _0802ECD2 - .align 2, 0 -_0802ECB4: .4byte gPlayerParty -_0802ECB8: - movs r0, 0x64 - muls r0, r5 - ldr r1, _0802ECC4 @ =gPlayerParty - adds r0, r1 - movs r1, 0x35 - b _0802ECD2 - .align 2, 0 -_0802ECC4: .4byte gPlayerParty -_0802ECC8: - movs r0, 0x64 - muls r0, r5 - ldr r1, _0802ECEC @ =gPlayerParty - adds r0, r1 - movs r1, 0x36 -_0802ECD2: - bl GetMonData - strb r0, [r7] - movs r6, 0x1 -_0802ECDA: - adds r0, r6, 0 - add sp, 0x90 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_0802ECEC: .4byte gPlayerParty - thumb_func_end dp01_getattr_by_ch1_for_player_pokemon_ - - thumb_func_start sub_802ECF0 -sub_802ECF0: @ 802ECF0 - push {r4-r7,lr} - sub sp, 0x58 - ldr r2, _0802ED68 @ =gBattlePartyID - ldr r5, _0802ED6C @ =gActiveBank - ldrb r1, [r5] - lsls r0, r1, 1 - adds r0, r2 - ldrh r2, [r0] - movs r0, 0x64 - adds r4, r2, 0 - muls r4, r0 - ldr r3, _0802ED70 @ =gBattleBufferA - lsls r1, 9 - adds r0, r3, 0x1 - adds r0, r1, r0 - ldrb r2, [r0] - ldr r0, _0802ED74 @ =gPlayerParty - adds r0, r2, r0 - adds r6, r4, r0 - mov r0, sp - adds r4, r0, r2 - movs r2, 0 - adds r0, r3, 0x2 - adds r1, r0 - adds r7, r5, 0 - mov r12, r3 - ldrb r1, [r1] - cmp r2, r1 - bcs _0802ED46 - adds r3, r0, 0 -_0802ED2C: - adds r1, r4, r2 - adds r0, r6, r2 - ldrb r0, [r0] - strb r0, [r1] - adds r0, r2, 0x1 - lsls r0, 24 - lsrs r2, r0, 24 - ldrb r0, [r5] - lsls r0, 9 - adds r0, r3 - ldrb r0, [r0] - cmp r2, r0 - bcc _0802ED2C -_0802ED46: - ldrb r0, [r7] - lsls r0, 9 - mov r1, r12 - adds r1, 0x2 - adds r0, r1 - ldrb r1, [r0] - movs r0, 0x1 - adds r2, r4, 0 - bl dp01_build_cmdbuf_x1D_1D_numargs_varargs - bl PlayerBufferExecCompleted - add sp, 0x58 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0802ED68: .4byte gBattlePartyID -_0802ED6C: .4byte gActiveBank -_0802ED70: .4byte gBattleBufferA -_0802ED74: .4byte gPlayerParty - thumb_func_end sub_802ECF0 - - thumb_func_start PlayerHandleSetAttributes -PlayerHandleSetAttributes: @ 802ED78 - push {r4,r5,lr} - ldr r1, _0802ED9C @ =gBattleBufferA - ldr r0, _0802EDA0 @ =gActiveBank - ldrb r2, [r0] - lsls r0, r2, 9 - adds r1, 0x2 - adds r1, r0, r1 - ldrb r0, [r1] - cmp r0, 0 - bne _0802EDA8 - ldr r0, _0802EDA4 @ =gBattlePartyID - lsls r1, r2, 1 - adds r1, r0 - ldrb r0, [r1] - bl dp01_setattr_by_ch1_for_player_pokemon - b _0802EDC6 - .align 2, 0 -_0802ED9C: .4byte gBattleBufferA -_0802EDA0: .4byte gActiveBank -_0802EDA4: .4byte gBattlePartyID -_0802EDA8: - ldrb r4, [r1] - movs r5, 0 -_0802EDAC: - movs r0, 0x1 - ands r0, r4 - cmp r0, 0 - beq _0802EDBA - adds r0, r5, 0 - bl dp01_setattr_by_ch1_for_player_pokemon -_0802EDBA: - lsrs r4, 1 - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0x5 - bls _0802EDAC -_0802EDC6: - bl PlayerBufferExecCompleted - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end PlayerHandleSetAttributes - - thumb_func_start dp01_setattr_by_ch1_for_player_pokemon -dp01_setattr_by_ch1_for_player_pokemon: @ 802EDD0 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x34 - lsls r0, 24 - lsrs r5, r0, 24 - ldr r0, _0802EE08 @ =gActiveBank - ldrb r0, [r0] - lsls r0, 9 - ldr r2, _0802EE0C @ =gUnknown_02023A63 - adds r3, r0, r2 - adds r6, r3, 0 - subs r1, r2, 0x2 - adds r0, r1 - ldrb r0, [r0] - adds r7, r2, 0 - cmp r0, 0x3B - bls _0802EDFC - bl _0802F796 -_0802EDFC: - lsls r0, 2 - ldr r1, _0802EE10 @ =_0802EE14 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0802EE08: .4byte gActiveBank -_0802EE0C: .4byte gUnknown_02023A63 -_0802EE10: .4byte _0802EE14 - .align 2, 0 -_0802EE14: - .4byte _0802EF04 - .4byte _0802F09C - .4byte _0802F0BC - .4byte _0802F0DC - .4byte _0802F134 - .4byte _0802F134 - .4byte _0802F134 - .4byte _0802F134 - .4byte _0802F15C - .4byte _0802F1C0 - .4byte _0802F1C0 - .4byte _0802F1C0 - .4byte _0802F1C0 - .4byte _0802F796 - .4byte _0802F796 - .4byte _0802F796 - .4byte _0802F796 - .4byte _0802F1F0 - .4byte _0802F210 - .4byte _0802F230 - .4byte _0802F250 - .4byte _0802F270 - .4byte _0802F290 - .4byte _0802F2B0 - .4byte _0802F2D0 - .4byte _0802F2F0 - .4byte _0802F310 - .4byte _0802F330 - .4byte _0802F350 - .4byte _0802F370 - .4byte _0802F390 - .4byte _0802F3B0 - .4byte _0802F420 - .4byte _0802F440 - .4byte _0802F460 - .4byte _0802F480 - .4byte _0802F4A0 - .4byte _0802F4C0 - .4byte _0802F4E0 - .4byte _0802F500 - .4byte _0802F520 - .4byte _0802F540 - .4byte _0802F560 - .4byte _0802F580 - .4byte _0802F5A0 - .4byte _0802F5C0 - .4byte _0802F5E0 - .4byte _0802F600 - .4byte _0802F620 - .4byte _0802F640 - .4byte _0802F660 - .4byte _0802F680 - .4byte _0802F6A0 - .4byte _0802F6C0 - .4byte _0802F6E0 - .4byte _0802F700 - .4byte _0802F720 - .4byte _0802F740 - .4byte _0802F760 - .4byte _0802F780 -_0802EF04: - movs r0, 0x64 - adds r4, r5, 0 - muls r4, r0 - ldr r0, _0802F098 @ =gPlayerParty - adds r4, r0 - adds r0, r4, 0 - movs r1, 0xB - adds r2, r6, 0 - bl SetMonData - adds r2, r6, 0 - adds r2, 0x2E - adds r0, r4, 0 - movs r1, 0xC - bl SetMonData - movs r0, 0 - mov r8, r0 - movs r0, 0x3B - adds r0, r6 - mov r10, r0 - adds r0, r6, 0 - adds r0, 0x2B - str r0, [sp, 0x20] - adds r0, 0x19 - str r0, [sp, 0x28] - adds r0, 0x4 - str r0, [sp, 0x2C] - adds r0, 0x4 - str r0, [sp, 0x30] - subs r0, 0x22 - str r0, [sp, 0x1C] - subs r0, 0x2 - str r0, [sp, 0x18] - adds r0, 0x4 - str r0, [sp, 0x24] - adds r0, r6, 0x2 - str r0, [sp, 0x4] - adds r0, r6, 0x4 - str r0, [sp, 0x8] - adds r0, r6, 0x6 - str r0, [sp, 0xC] - adds r0, 0x2 - str r0, [sp, 0x10] - adds r0, 0x2 - str r0, [sp, 0x14] - mov r9, r4 - adds r7, r6, 0 - adds r7, 0x24 - adds r4, r6, 0 - adds r4, 0xC -_0802EF6A: - mov r1, r8 - adds r1, 0xD - mov r0, r9 - adds r2, r4, 0 - bl SetMonData - mov r1, r8 - adds r1, 0x11 - mov r0, r9 - adds r2, r7, 0 - bl SetMonData - adds r7, 0x1 - adds r4, 0x2 - movs r0, 0x1 - add r8, r0 - mov r0, r8 - cmp r0, 0x3 - ble _0802EF6A - movs r0, 0x64 - adds r4, r5, 0 - muls r4, r0 - ldr r0, _0802F098 @ =gPlayerParty - adds r4, r0 - adds r0, r4, 0 - movs r1, 0x15 - mov r2, r10 - bl SetMonData - adds r0, r4, 0 - movs r1, 0x20 - ldr r2, [sp, 0x20] - bl SetMonData - adds r0, r4, 0 - movs r1, 0x19 - ldr r2, [sp, 0x28] - bl SetMonData - ldrb r0, [r6, 0x14] - lsls r0, 27 - lsrs r0, 27 - mov r1, sp - strb r0, [r1] - adds r0, r4, 0 - movs r1, 0x27 - mov r2, sp - bl SetMonData - mov r1, sp - ldrh r0, [r6, 0x14] - lsls r0, 22 - lsrs r0, 27 - strb r0, [r1] - adds r0, r4, 0 - movs r1, 0x28 - mov r2, sp - bl SetMonData - mov r1, sp - ldrb r0, [r6, 0x15] - lsls r0, 25 - lsrs r0, 27 - strb r0, [r1] - adds r0, r4, 0 - movs r1, 0x29 - mov r2, sp - bl SetMonData - mov r1, sp - ldr r0, [r6, 0x14] - lsls r0, 12 - lsrs r0, 27 - strb r0, [r1] - adds r0, r4, 0 - movs r1, 0x2A - mov r2, sp - bl SetMonData - mov r1, sp - ldrh r0, [r6, 0x16] - lsls r0, 23 - lsrs r0, 27 - strb r0, [r1] - adds r0, r4, 0 - movs r1, 0x2B - mov r2, sp - bl SetMonData - mov r1, sp - ldrb r0, [r6, 0x17] - lsls r0, 26 - lsrs r0, 27 - strb r0, [r1] - adds r0, r4, 0 - movs r1, 0x2C - mov r2, sp - bl SetMonData - adds r0, r4, 0 - movs r1, 0 - ldr r2, [sp, 0x2C] - bl SetMonData - adds r0, r4, 0 - movs r1, 0x37 - ldr r2, [sp, 0x30] - bl SetMonData - adds r0, r4, 0 - movs r1, 0x38 - ldr r2, [sp, 0x1C] - bl SetMonData - adds r0, r4, 0 - movs r1, 0x39 - ldr r2, [sp, 0x18] - bl SetMonData - adds r0, r4, 0 - movs r1, 0x3A - ldr r2, [sp, 0x24] - bl SetMonData - adds r0, r4, 0 - movs r1, 0x3B - ldr r2, [sp, 0x4] - bl SetMonData - adds r0, r4, 0 - movs r1, 0x3C - ldr r2, [sp, 0x8] - bl SetMonData - adds r0, r4, 0 - movs r1, 0x3D - ldr r2, [sp, 0xC] - bl SetMonData - adds r0, r4, 0 - movs r1, 0x3E - ldr r2, [sp, 0x10] - bl SetMonData - adds r0, r4, 0 - movs r1, 0x3F - ldr r2, [sp, 0x14] - bl SetMonData - b _0802F796 - .align 2, 0 -_0802F098: .4byte gPlayerParty -_0802F09C: - movs r0, 0x64 - muls r0, r5 - ldr r1, _0802F0B4 @ =gPlayerParty - adds r0, r1 - ldr r1, _0802F0B8 @ =gActiveBank - ldrb r2, [r1] - lsls r2, 9 - adds r2, r7 - movs r1, 0xB - bl SetMonData - b _0802F796 - .align 2, 0 -_0802F0B4: .4byte gPlayerParty -_0802F0B8: .4byte gActiveBank -_0802F0BC: - movs r0, 0x64 - muls r0, r5 - ldr r1, _0802F0D4 @ =gPlayerParty - adds r0, r1 - ldr r1, _0802F0D8 @ =gActiveBank - ldrb r2, [r1] - lsls r2, 9 - adds r2, r7 - movs r1, 0xC - bl SetMonData - b _0802F796 - .align 2, 0 -_0802F0D4: .4byte gPlayerParty -_0802F0D8: .4byte gActiveBank -_0802F0DC: - movs r0, 0 - mov r8, r0 - movs r0, 0xC - adds r0, r3 - mov r9, r0 - movs r0, 0x64 - adds r1, r5, 0 - muls r1, r0 - ldr r0, _0802F130 @ =gPlayerParty - adds r7, r1, r0 - adds r6, r3, 0 - adds r6, 0x8 - adds r4, r3, 0 -_0802F0F6: - mov r1, r8 - adds r1, 0xD - adds r0, r7, 0 - adds r2, r4, 0 - bl SetMonData - mov r1, r8 - adds r1, 0x11 - adds r0, r7, 0 - adds r2, r6, 0 - bl SetMonData - adds r6, 0x1 - adds r4, 0x2 - movs r0, 0x1 - add r8, r0 - mov r0, r8 - cmp r0, 0x3 - ble _0802F0F6 - movs r0, 0x64 - muls r0, r5 - ldr r1, _0802F130 @ =gPlayerParty - adds r0, r1 - movs r1, 0x15 - mov r2, r9 - bl SetMonData - b _0802F796 - .align 2, 0 -_0802F130: .4byte gPlayerParty -_0802F134: - movs r0, 0x64 - muls r0, r5 - ldr r1, _0802F150 @ =gPlayerParty - adds r0, r1 - ldr r3, _0802F154 @ =gBattleBufferA - ldr r1, _0802F158 @ =gActiveBank - ldrb r2, [r1] - lsls r2, 9 - adds r1, r3, 0x1 - adds r1, r2, r1 - ldrb r1, [r1] - adds r1, 0x9 - b _0802F1D8 - .align 2, 0 -_0802F150: .4byte gPlayerParty -_0802F154: .4byte gBattleBufferA -_0802F158: .4byte gActiveBank -_0802F15C: - movs r0, 0x64 - adds r4, r5, 0 - muls r4, r0 - ldr r0, _0802F1B8 @ =gPlayerParty - adds r4, r0 - ldr r5, _0802F1BC @ =gActiveBank - ldrb r2, [r5] - lsls r2, 9 - adds r2, r7 - adds r0, r4, 0 - movs r1, 0x11 - bl SetMonData - ldrb r2, [r5] - lsls r2, 9 - adds r0, r7, 0x1 - adds r2, r0 - adds r0, r4, 0 - movs r1, 0x12 - bl SetMonData - ldrb r2, [r5] - lsls r2, 9 - adds r0, r7, 0x2 - adds r2, r0 - adds r0, r4, 0 - movs r1, 0x13 - bl SetMonData - ldrb r2, [r5] - lsls r2, 9 - adds r0, r7, 0x3 - adds r2, r0 - adds r0, r4, 0 - movs r1, 0x14 - bl SetMonData - ldrb r2, [r5] - lsls r2, 9 - adds r0, r7, 0x4 - adds r2, r0 - adds r0, r4, 0 - movs r1, 0x15 - bl SetMonData - b _0802F796 - .align 2, 0 -_0802F1B8: .4byte gPlayerParty -_0802F1BC: .4byte gActiveBank -_0802F1C0: - movs r0, 0x64 - muls r0, r5 - ldr r1, _0802F1E4 @ =gPlayerParty - adds r0, r1 - ldr r3, _0802F1E8 @ =gBattleBufferA - ldr r1, _0802F1EC @ =gActiveBank - ldrb r2, [r1] - lsls r2, 9 - adds r1, r3, 0x1 - adds r1, r2, r1 - ldrb r1, [r1] - adds r1, 0x8 -_0802F1D8: - adds r3, 0x3 - adds r2, r3 - bl SetMonData - b _0802F796 - .align 2, 0 -_0802F1E4: .4byte gPlayerParty -_0802F1E8: .4byte gBattleBufferA -_0802F1EC: .4byte gActiveBank -_0802F1F0: - movs r0, 0x64 - muls r0, r5 - ldr r1, _0802F208 @ =gPlayerParty - adds r0, r1 - ldr r1, _0802F20C @ =gActiveBank - ldrb r2, [r1] - lsls r2, 9 - adds r2, r7 - movs r1, 0x1 - bl SetMonData - b _0802F796 - .align 2, 0 -_0802F208: .4byte gPlayerParty -_0802F20C: .4byte gActiveBank -_0802F210: - movs r0, 0x64 - muls r0, r5 - ldr r1, _0802F228 @ =gPlayerParty - adds r0, r1 - ldr r1, _0802F22C @ =gActiveBank - ldrb r2, [r1] - lsls r2, 9 - adds r2, r7 - movs r1, 0x19 - bl SetMonData - b _0802F796 - .align 2, 0 -_0802F228: .4byte gPlayerParty -_0802F22C: .4byte gActiveBank -_0802F230: - movs r0, 0x64 - muls r0, r5 - ldr r1, _0802F248 @ =gPlayerParty - adds r0, r1 - ldr r1, _0802F24C @ =gActiveBank - ldrb r2, [r1] - lsls r2, 9 - adds r2, r7 - movs r1, 0x1A - bl SetMonData - b _0802F796 - .align 2, 0 -_0802F248: .4byte gPlayerParty -_0802F24C: .4byte gActiveBank -_0802F250: - movs r0, 0x64 - muls r0, r5 - ldr r1, _0802F268 @ =gPlayerParty - adds r0, r1 - ldr r1, _0802F26C @ =gActiveBank - ldrb r2, [r1] - lsls r2, 9 - adds r2, r7 - movs r1, 0x1B - bl SetMonData - b _0802F796 - .align 2, 0 -_0802F268: .4byte gPlayerParty -_0802F26C: .4byte gActiveBank -_0802F270: - movs r0, 0x64 - muls r0, r5 - ldr r1, _0802F288 @ =gPlayerParty - adds r0, r1 - ldr r1, _0802F28C @ =gActiveBank - ldrb r2, [r1] - lsls r2, 9 - adds r2, r7 - movs r1, 0x1C - bl SetMonData - b _0802F796 - .align 2, 0 -_0802F288: .4byte gPlayerParty -_0802F28C: .4byte gActiveBank -_0802F290: - movs r0, 0x64 - muls r0, r5 - ldr r1, _0802F2A8 @ =gPlayerParty - adds r0, r1 - ldr r1, _0802F2AC @ =gActiveBank - ldrb r2, [r1] - lsls r2, 9 - adds r2, r7 - movs r1, 0x1D - bl SetMonData - b _0802F796 - .align 2, 0 -_0802F2A8: .4byte gPlayerParty -_0802F2AC: .4byte gActiveBank -_0802F2B0: - movs r0, 0x64 - muls r0, r5 - ldr r1, _0802F2C8 @ =gPlayerParty - adds r0, r1 - ldr r1, _0802F2CC @ =gActiveBank - ldrb r2, [r1] - lsls r2, 9 - adds r2, r7 - movs r1, 0x1E - bl SetMonData - b _0802F796 - .align 2, 0 -_0802F2C8: .4byte gPlayerParty -_0802F2CC: .4byte gActiveBank -_0802F2D0: - movs r0, 0x64 - muls r0, r5 - ldr r1, _0802F2E8 @ =gPlayerParty - adds r0, r1 - ldr r1, _0802F2EC @ =gActiveBank - ldrb r2, [r1] - lsls r2, 9 - adds r2, r7 - movs r1, 0x1F - bl SetMonData - b _0802F796 - .align 2, 0 -_0802F2E8: .4byte gPlayerParty -_0802F2EC: .4byte gActiveBank -_0802F2F0: - movs r0, 0x64 - muls r0, r5 - ldr r1, _0802F308 @ =gPlayerParty - adds r0, r1 - ldr r1, _0802F30C @ =gActiveBank - ldrb r2, [r1] - lsls r2, 9 - adds r2, r7 - movs r1, 0x20 - bl SetMonData - b _0802F796 - .align 2, 0 -_0802F308: .4byte gPlayerParty -_0802F30C: .4byte gActiveBank -_0802F310: - movs r0, 0x64 - muls r0, r5 - ldr r1, _0802F328 @ =gPlayerParty - adds r0, r1 - ldr r1, _0802F32C @ =gActiveBank - ldrb r2, [r1] - lsls r2, 9 - adds r2, r7 - movs r1, 0x22 - bl SetMonData - b _0802F796 - .align 2, 0 -_0802F328: .4byte gPlayerParty -_0802F32C: .4byte gActiveBank -_0802F330: - movs r0, 0x64 - muls r0, r5 - ldr r1, _0802F348 @ =gPlayerParty - adds r0, r1 - ldr r1, _0802F34C @ =gActiveBank - ldrb r2, [r1] - lsls r2, 9 - adds r2, r7 - movs r1, 0x23 - bl SetMonData - b _0802F796 - .align 2, 0 -_0802F348: .4byte gPlayerParty -_0802F34C: .4byte gActiveBank -_0802F350: - movs r0, 0x64 - muls r0, r5 - ldr r1, _0802F368 @ =gPlayerParty - adds r0, r1 - ldr r1, _0802F36C @ =gActiveBank - ldrb r2, [r1] - lsls r2, 9 - adds r2, r7 - movs r1, 0x24 - bl SetMonData - b _0802F796 - .align 2, 0 -_0802F368: .4byte gPlayerParty -_0802F36C: .4byte gActiveBank -_0802F370: - movs r0, 0x64 - muls r0, r5 - ldr r1, _0802F388 @ =gPlayerParty - adds r0, r1 - ldr r1, _0802F38C @ =gActiveBank - ldrb r2, [r1] - lsls r2, 9 - adds r2, r7 - movs r1, 0x25 - bl SetMonData - b _0802F796 - .align 2, 0 -_0802F388: .4byte gPlayerParty -_0802F38C: .4byte gActiveBank -_0802F390: - movs r0, 0x64 - muls r0, r5 - ldr r1, _0802F3A8 @ =gPlayerParty - adds r0, r1 - ldr r1, _0802F3AC @ =gActiveBank - ldrb r2, [r1] - lsls r2, 9 - adds r2, r7 - movs r1, 0x26 - bl SetMonData - b _0802F796 - .align 2, 0 -_0802F3A8: .4byte gPlayerParty -_0802F3AC: .4byte gActiveBank -_0802F3B0: - movs r0, 0x64 - adds r4, r5, 0 - muls r4, r0 - ldr r0, _0802F418 @ =gPlayerParty - adds r4, r0 - ldr r5, _0802F41C @ =gActiveBank - ldrb r2, [r5] - lsls r2, 9 - adds r2, r7 - adds r0, r4, 0 - movs r1, 0x27 - bl SetMonData - ldrb r2, [r5] - lsls r2, 9 - adds r0, r7, 0x1 - adds r2, r0 - adds r0, r4, 0 - movs r1, 0x28 - bl SetMonData - ldrb r2, [r5] - lsls r2, 9 - adds r0, r7, 0x2 - adds r2, r0 - adds r0, r4, 0 - movs r1, 0x29 - bl SetMonData - ldrb r2, [r5] - lsls r2, 9 - adds r0, r7, 0x3 - adds r2, r0 - adds r0, r4, 0 - movs r1, 0x2A - bl SetMonData - ldrb r2, [r5] - lsls r2, 9 - adds r0, r7, 0x4 - adds r2, r0 - adds r0, r4, 0 - movs r1, 0x2B - bl SetMonData - ldrb r2, [r5] - lsls r2, 9 - adds r0, r7, 0x5 - adds r2, r0 - adds r0, r4, 0 - b _0802F4D0 - .align 2, 0 -_0802F418: .4byte gPlayerParty -_0802F41C: .4byte gActiveBank -_0802F420: - movs r0, 0x64 - muls r0, r5 - ldr r1, _0802F438 @ =gPlayerParty - adds r0, r1 - ldr r1, _0802F43C @ =gActiveBank - ldrb r2, [r1] - lsls r2, 9 - adds r2, r7 - movs r1, 0x27 - bl SetMonData - b _0802F796 - .align 2, 0 -_0802F438: .4byte gPlayerParty -_0802F43C: .4byte gActiveBank -_0802F440: - movs r0, 0x64 - muls r0, r5 - ldr r1, _0802F458 @ =gPlayerParty - adds r0, r1 - ldr r1, _0802F45C @ =gActiveBank - ldrb r2, [r1] - lsls r2, 9 - adds r2, r7 - movs r1, 0x28 - bl SetMonData - b _0802F796 - .align 2, 0 -_0802F458: .4byte gPlayerParty -_0802F45C: .4byte gActiveBank -_0802F460: - movs r0, 0x64 - muls r0, r5 - ldr r1, _0802F478 @ =gPlayerParty - adds r0, r1 - ldr r1, _0802F47C @ =gActiveBank - ldrb r2, [r1] - lsls r2, 9 - adds r2, r7 - movs r1, 0x29 - bl SetMonData - b _0802F796 - .align 2, 0 -_0802F478: .4byte gPlayerParty -_0802F47C: .4byte gActiveBank -_0802F480: - movs r0, 0x64 - muls r0, r5 - ldr r1, _0802F498 @ =gPlayerParty - adds r0, r1 - ldr r1, _0802F49C @ =gActiveBank - ldrb r2, [r1] - lsls r2, 9 - adds r2, r7 - movs r1, 0x2A - bl SetMonData - b _0802F796 - .align 2, 0 -_0802F498: .4byte gPlayerParty -_0802F49C: .4byte gActiveBank -_0802F4A0: - movs r0, 0x64 - muls r0, r5 - ldr r1, _0802F4B8 @ =gPlayerParty - adds r0, r1 - ldr r1, _0802F4BC @ =gActiveBank - ldrb r2, [r1] - lsls r2, 9 - adds r2, r7 - movs r1, 0x2B - bl SetMonData - b _0802F796 - .align 2, 0 -_0802F4B8: .4byte gPlayerParty -_0802F4BC: .4byte gActiveBank -_0802F4C0: - movs r0, 0x64 - muls r0, r5 - ldr r1, _0802F4D8 @ =gPlayerParty - adds r0, r1 - ldr r1, _0802F4DC @ =gActiveBank - ldrb r2, [r1] - lsls r2, 9 - adds r2, r7 -_0802F4D0: - movs r1, 0x2C - bl SetMonData - b _0802F796 - .align 2, 0 -_0802F4D8: .4byte gPlayerParty -_0802F4DC: .4byte gActiveBank -_0802F4E0: - movs r0, 0x64 - muls r0, r5 - ldr r1, _0802F4F8 @ =gPlayerParty - adds r0, r1 - ldr r1, _0802F4FC @ =gActiveBank - ldrb r2, [r1] - lsls r2, 9 - adds r2, r7 - movs r1, 0 - bl SetMonData - b _0802F796 - .align 2, 0 -_0802F4F8: .4byte gPlayerParty -_0802F4FC: .4byte gActiveBank -_0802F500: - movs r0, 0x64 - muls r0, r5 - ldr r1, _0802F518 @ =gPlayerParty - adds r0, r1 - ldr r1, _0802F51C @ =gActiveBank - ldrb r2, [r1] - lsls r2, 9 - adds r2, r7 - movs r1, 0x9 - bl SetMonData - b _0802F796 - .align 2, 0 -_0802F518: .4byte gPlayerParty -_0802F51C: .4byte gActiveBank -_0802F520: - movs r0, 0x64 - muls r0, r5 - ldr r1, _0802F538 @ =gPlayerParty - adds r0, r1 - ldr r1, _0802F53C @ =gActiveBank - ldrb r2, [r1] - lsls r2, 9 - adds r2, r7 - movs r1, 0x37 - bl SetMonData - b _0802F796 - .align 2, 0 -_0802F538: .4byte gPlayerParty -_0802F53C: .4byte gActiveBank -_0802F540: - movs r0, 0x64 - muls r0, r5 - ldr r1, _0802F558 @ =gPlayerParty - adds r0, r1 - ldr r1, _0802F55C @ =gActiveBank - ldrb r2, [r1] - lsls r2, 9 - adds r2, r7 - movs r1, 0x38 - bl SetMonData - b _0802F796 - .align 2, 0 -_0802F558: .4byte gPlayerParty -_0802F55C: .4byte gActiveBank -_0802F560: - movs r0, 0x64 - muls r0, r5 - ldr r1, _0802F578 @ =gPlayerParty - adds r0, r1 - ldr r1, _0802F57C @ =gActiveBank - ldrb r2, [r1] - lsls r2, 9 - adds r2, r7 - movs r1, 0x39 - bl SetMonData - b _0802F796 - .align 2, 0 -_0802F578: .4byte gPlayerParty -_0802F57C: .4byte gActiveBank -_0802F580: - movs r0, 0x64 - muls r0, r5 - ldr r1, _0802F598 @ =gPlayerParty - adds r0, r1 - ldr r1, _0802F59C @ =gActiveBank - ldrb r2, [r1] - lsls r2, 9 - adds r2, r7 - movs r1, 0x3A - bl SetMonData - b _0802F796 - .align 2, 0 -_0802F598: .4byte gPlayerParty -_0802F59C: .4byte gActiveBank -_0802F5A0: - movs r0, 0x64 - muls r0, r5 - ldr r1, _0802F5B8 @ =gPlayerParty - adds r0, r1 - ldr r1, _0802F5BC @ =gActiveBank - ldrb r2, [r1] - lsls r2, 9 - adds r2, r7 - movs r1, 0x3B - bl SetMonData - b _0802F796 - .align 2, 0 -_0802F5B8: .4byte gPlayerParty -_0802F5BC: .4byte gActiveBank -_0802F5C0: - movs r0, 0x64 - muls r0, r5 - ldr r1, _0802F5D8 @ =gPlayerParty - adds r0, r1 - ldr r1, _0802F5DC @ =gActiveBank - ldrb r2, [r1] - lsls r2, 9 - adds r2, r7 - movs r1, 0x3C - bl SetMonData - b _0802F796 - .align 2, 0 -_0802F5D8: .4byte gPlayerParty -_0802F5DC: .4byte gActiveBank -_0802F5E0: - movs r0, 0x64 - muls r0, r5 - ldr r1, _0802F5F8 @ =gPlayerParty - adds r0, r1 - ldr r1, _0802F5FC @ =gActiveBank - ldrb r2, [r1] - lsls r2, 9 - adds r2, r7 - movs r1, 0x3D - bl SetMonData - b _0802F796 - .align 2, 0 -_0802F5F8: .4byte gPlayerParty -_0802F5FC: .4byte gActiveBank -_0802F600: - movs r0, 0x64 - muls r0, r5 - ldr r1, _0802F618 @ =gPlayerParty - adds r0, r1 - ldr r1, _0802F61C @ =gActiveBank - ldrb r2, [r1] - lsls r2, 9 - adds r2, r7 - movs r1, 0x3E - bl SetMonData - b _0802F796 - .align 2, 0 -_0802F618: .4byte gPlayerParty -_0802F61C: .4byte gActiveBank -_0802F620: - movs r0, 0x64 - muls r0, r5 - ldr r1, _0802F638 @ =gPlayerParty - adds r0, r1 - ldr r1, _0802F63C @ =gActiveBank - ldrb r2, [r1] - lsls r2, 9 - adds r2, r7 - movs r1, 0x3F - bl SetMonData - b _0802F796 - .align 2, 0 -_0802F638: .4byte gPlayerParty -_0802F63C: .4byte gActiveBank -_0802F640: - movs r0, 0x64 - muls r0, r5 - ldr r1, _0802F658 @ =gPlayerParty - adds r0, r1 - ldr r1, _0802F65C @ =gActiveBank - ldrb r2, [r1] - lsls r2, 9 - adds r2, r7 - movs r1, 0x16 - bl SetMonData - b _0802F796 - .align 2, 0 -_0802F658: .4byte gPlayerParty -_0802F65C: .4byte gActiveBank -_0802F660: - movs r0, 0x64 - muls r0, r5 - ldr r1, _0802F678 @ =gPlayerParty - adds r0, r1 - ldr r1, _0802F67C @ =gActiveBank - ldrb r2, [r1] - lsls r2, 9 - adds r2, r7 - movs r1, 0x17 - bl SetMonData - b _0802F796 - .align 2, 0 -_0802F678: .4byte gPlayerParty -_0802F67C: .4byte gActiveBank -_0802F680: - movs r0, 0x64 - muls r0, r5 - ldr r1, _0802F698 @ =gPlayerParty - adds r0, r1 - ldr r1, _0802F69C @ =gActiveBank - ldrb r2, [r1] - lsls r2, 9 - adds r2, r7 - movs r1, 0x18 - bl SetMonData - b _0802F796 - .align 2, 0 -_0802F698: .4byte gPlayerParty -_0802F69C: .4byte gActiveBank -_0802F6A0: - movs r0, 0x64 - muls r0, r5 - ldr r1, _0802F6B8 @ =gPlayerParty - adds r0, r1 - ldr r1, _0802F6BC @ =gActiveBank - ldrb r2, [r1] - lsls r2, 9 - adds r2, r7 - movs r1, 0x21 - bl SetMonData - b _0802F796 - .align 2, 0 -_0802F6B8: .4byte gPlayerParty -_0802F6BC: .4byte gActiveBank -_0802F6C0: - movs r0, 0x64 - muls r0, r5 - ldr r1, _0802F6D8 @ =gPlayerParty - adds r0, r1 - ldr r1, _0802F6DC @ =gActiveBank - ldrb r2, [r1] - lsls r2, 9 - adds r2, r7 - movs r1, 0x2F - bl SetMonData - b _0802F796 - .align 2, 0 -_0802F6D8: .4byte gPlayerParty -_0802F6DC: .4byte gActiveBank -_0802F6E0: - movs r0, 0x64 - muls r0, r5 - ldr r1, _0802F6F8 @ =gPlayerParty - adds r0, r1 - ldr r1, _0802F6FC @ =gActiveBank - ldrb r2, [r1] - lsls r2, 9 - adds r2, r7 - movs r1, 0x30 - bl SetMonData - b _0802F796 - .align 2, 0 -_0802F6F8: .4byte gPlayerParty -_0802F6FC: .4byte gActiveBank -_0802F700: - movs r0, 0x64 - muls r0, r5 - ldr r1, _0802F718 @ =gPlayerParty - adds r0, r1 - ldr r1, _0802F71C @ =gActiveBank - ldrb r2, [r1] - lsls r2, 9 - adds r2, r7 - movs r1, 0x32 - bl SetMonData - b _0802F796 - .align 2, 0 -_0802F718: .4byte gPlayerParty -_0802F71C: .4byte gActiveBank -_0802F720: - movs r0, 0x64 - muls r0, r5 - ldr r1, _0802F738 @ =gPlayerParty - adds r0, r1 - ldr r1, _0802F73C @ =gActiveBank - ldrb r2, [r1] - lsls r2, 9 - adds r2, r7 - movs r1, 0x33 - bl SetMonData - b _0802F796 - .align 2, 0 -_0802F738: .4byte gPlayerParty -_0802F73C: .4byte gActiveBank -_0802F740: - movs r0, 0x64 - muls r0, r5 - ldr r1, _0802F758 @ =gPlayerParty - adds r0, r1 - ldr r1, _0802F75C @ =gActiveBank - ldrb r2, [r1] - lsls r2, 9 - adds r2, r7 - movs r1, 0x34 - bl SetMonData - b _0802F796 - .align 2, 0 -_0802F758: .4byte gPlayerParty -_0802F75C: .4byte gActiveBank -_0802F760: - movs r0, 0x64 - muls r0, r5 - ldr r1, _0802F778 @ =gPlayerParty - adds r0, r1 - ldr r1, _0802F77C @ =gActiveBank - ldrb r2, [r1] - lsls r2, 9 - adds r2, r7 - movs r1, 0x35 - bl SetMonData - b _0802F796 - .align 2, 0 -_0802F778: .4byte gPlayerParty -_0802F77C: .4byte gActiveBank -_0802F780: - movs r0, 0x64 - muls r0, r5 - ldr r1, _0802F7C0 @ =gPlayerParty - adds r0, r1 - ldr r1, _0802F7C4 @ =gActiveBank - ldrb r2, [r1] - lsls r2, 9 - adds r2, r7 - movs r1, 0x36 - bl SetMonData -_0802F796: - ldr r2, _0802F7C8 @ =gBattlePartyID - ldr r0, _0802F7C4 @ =gActiveBank - ldrb r1, [r0] - lsls r0, r1, 1 - adds r0, r2 - ldrh r2, [r0] - movs r0, 0x64 - muls r0, r2 - ldr r2, _0802F7C0 @ =gPlayerParty - adds r0, r2 - bl sub_80324F8 - add sp, 0x34 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0802F7C0: .4byte gPlayerParty -_0802F7C4: .4byte gActiveBank -_0802F7C8: .4byte gBattlePartyID - thumb_func_end dp01_setattr_by_ch1_for_player_pokemon - - thumb_func_start sub_802F7CC -sub_802F7CC: @ 802F7CC - push {r4-r7,lr} - ldr r1, _0802F830 @ =gBattlePartyID - ldr r7, _0802F834 @ =gActiveBank - ldrb r2, [r7] - lsls r0, r2, 1 - adds r0, r1 - ldrh r1, [r0] - movs r0, 0x64 - adds r3, r1, 0 - muls r3, r0 - ldr r4, _0802F838 @ =gBattleBufferA - lsls r2, 9 - adds r0, r4, 0x1 - adds r0, r2, r0 - ldrb r0, [r0] - ldr r1, _0802F83C @ =gPlayerParty - adds r0, r1 - adds r5, r3, r0 - movs r3, 0 - adds r0, r4, 0x2 - adds r2, r0 - ldrb r2, [r2] - cmp r3, r2 - bcs _0802F824 - adds r6, r4, 0 - adds r2, r7, 0 - adds r4, r0, 0 -_0802F802: - adds r1, r5, r3 - ldrb r0, [r2] - lsls r0, 9 - adds r0, 0x3 - adds r0, r3, r0 - adds r0, r6 - ldrb r0, [r0] - strb r0, [r1] - adds r0, r3, 0x1 - lsls r0, 24 - lsrs r3, r0, 24 - ldrb r0, [r2] - lsls r0, 9 - adds r0, r4 - ldrb r0, [r0] - cmp r3, r0 - bcc _0802F802 -_0802F824: - bl PlayerBufferExecCompleted - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0802F830: .4byte gBattlePartyID -_0802F834: .4byte gActiveBank -_0802F838: .4byte gBattleBufferA -_0802F83C: .4byte gPlayerParty - thumb_func_end sub_802F7CC - - thumb_func_start PlayerHandleLoadPokeSprite -PlayerHandleLoadPokeSprite: @ 802F840 - push {r4,lr} - ldr r2, _0802F88C @ =gBattlePartyID - ldr r4, _0802F890 @ =gActiveBank - ldrb r1, [r4] - lsls r0, r1, 1 - adds r0, r2 - ldrh r2, [r0] - movs r0, 0x64 - muls r0, r2 - ldr r2, _0802F894 @ =gPlayerParty - adds r0, r2 - bl sub_80318FC - ldr r2, _0802F898 @ =gSprites - ldr r0, _0802F89C @ =gObjectBankIDs - ldrb r3, [r4] - adds r0, r3, r0 - ldrb r0, [r0] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r2 - lsls r3, 4 - ldrb r2, [r1, 0x5] - movs r0, 0xF - ands r0, r2 - orrs r0, r3 - strb r0, [r1, 0x5] - ldr r1, _0802F8A0 @ =gBattleBankFunc - ldrb r0, [r4] - lsls r0, 2 - adds r0, r1 - ldr r1, _0802F8A4 @ =bx_0802E404 - str r1, [r0] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0802F88C: .4byte gBattlePartyID -_0802F890: .4byte gActiveBank -_0802F894: .4byte gPlayerParty -_0802F898: .4byte gSprites -_0802F89C: .4byte gObjectBankIDs -_0802F8A0: .4byte gBattleBankFunc -_0802F8A4: .4byte bx_0802E404 - thumb_func_end PlayerHandleLoadPokeSprite - - thumb_func_start PlayerHandleSendOutPoke -PlayerHandleSendOutPoke: @ 802F8A8 - push {r4-r6,lr} - ldr r5, _0802F914 @ =gActiveBank - ldrb r0, [r5] - ldr r4, _0802F918 @ =gBattleBufferA - lsls r1, r0, 9 - adds r6, r4, 0x2 - adds r1, r6 - ldrb r1, [r1] - bl sub_8032AA8 - ldr r2, _0802F91C @ =gBattlePartyID - ldrb r0, [r5] - lsls r1, r0, 1 - adds r1, r2 - lsls r0, 9 - adds r4, 0x1 - adds r0, r4 - ldrb r0, [r0] - movs r4, 0 - strh r0, [r1] - ldrb r1, [r5] - lsls r0, r1, 1 - adds r0, r2 - ldrh r2, [r0] - movs r0, 0x64 - muls r0, r2 - ldr r2, _0802F920 @ =gPlayerParty - adds r0, r2 - bl sub_80318FC - ldr r1, _0802F924 @ =gActionSelectionCursor - ldrb r0, [r5] - adds r0, r1 - strb r4, [r0] - ldr r1, _0802F928 @ =gMoveSelectionCursor - ldrb r0, [r5] - adds r0, r1 - strb r4, [r0] - ldrb r0, [r5] - lsls r1, r0, 9 - adds r1, r6 - ldrb r1, [r1] - bl sub_802F934 - ldr r1, _0802F92C @ =gBattleBankFunc - ldrb r0, [r5] - lsls r0, 2 - adds r0, r1 - ldr r1, _0802F930 @ =sub_802D798 - str r1, [r0] - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0802F914: .4byte gActiveBank -_0802F918: .4byte gBattleBufferA -_0802F91C: .4byte gBattlePartyID -_0802F920: .4byte gPlayerParty -_0802F924: .4byte gActionSelectionCursor -_0802F928: .4byte gMoveSelectionCursor -_0802F92C: .4byte gBattleBankFunc -_0802F930: .4byte sub_802D798 - thumb_func_end PlayerHandleSendOutPoke - - thumb_func_start sub_802F934 -sub_802F934: @ 802F934 - push {r4-r6,lr} - mov r6, r10 - mov r5, r9 - mov r4, r8 - push {r4-r6} - adds r6, r0, 0 - lsls r6, 24 - lsrs r6, 24 - lsls r1, 24 - lsrs r1, 24 - adds r0, r6, 0 - bl sub_8032AA8 - ldr r0, _0802FA78 @ =gBattlePartyID - lsls r2, r6, 1 - adds r2, r0 - ldr r0, _0802FA7C @ =gBattleBufferA - lsls r1, r6, 9 - adds r0, 0x1 - adds r1, r0 - ldrb r0, [r1] - strh r0, [r2] - ldrh r1, [r2] - movs r0, 0x64 - muls r0, r1 - ldr r1, _0802FA80 @ =gPlayerParty - adds r0, r1 - movs r1, 0xB - bl GetMonData - mov r8, r0 - lsls r0, 16 - lsrs r0, 16 - mov r8, r0 - ldr r0, _0802FA84 @ =sub_80312F0 - bl CreateInvisibleSpriteWithCallback - ldr r1, _0802FA88 @ =gUnknown_0300434C - mov r9, r1 - add r9, r6 - mov r1, r9 - strb r0, [r1] - adds r0, r6, 0 - bl GetBankIdentity - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - mov r0, r8 - bl GetMonSpriteTemplate_803C56C - ldr r0, _0802FA8C @ =gUnknown_02024E8C - mov r10, r0 - adds r0, r6, 0 - movs r1, 0x2 - bl sub_8077ABC - adds r5, r0, 0 - lsls r5, 24 - lsrs r5, 24 - adds r0, r6, 0 - bl sub_8077F68 - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - adds r0, r6, 0 - bl sub_8079E90 - adds r3, r0, 0 - lsls r3, 24 - lsrs r3, 24 - mov r0, r10 - adds r1, r5, 0 - adds r2, r4, 0 - bl CreateSprite - ldr r4, _0802FA90 @ =gObjectBankIDs - adds r4, r6, r4 - strb r0, [r4] - ldr r5, _0802FA94 @ =gSprites - mov r0, r9 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - ldrb r1, [r4] - strh r1, [r0, 0x30] - ldrb r1, [r4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - strh r6, [r0, 0x2E] - ldrb r1, [r4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - mov r1, r8 - strh r1, [r0, 0x32] - ldrb r0, [r4] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r5 - lsls r3, r6, 4 - ldrb r2, [r1, 0x5] - movs r0, 0xF - ands r0, r2 - orrs r0, r3 - strb r0, [r1, 0x5] - ldrb r1, [r4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - ldr r1, _0802FA98 @ =gBattleMonForms - adds r6, r1 - ldrb r1, [r6] - bl StartSpriteAnim - ldrb r1, [r4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - adds r0, 0x3E - ldrb r1, [r0] - movs r2, 0x4 - orrs r1, r2 - strb r1, [r0] - ldrb r1, [r4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r1, r5, 0 - adds r1, 0x1C - adds r0, r1 - ldr r1, _0802FA9C @ =SpriteCallbackDummy - str r1, [r0] - movs r0, 0 - movs r1, 0xFF - bl sub_8046400 - mov r1, r9 - ldrb r2, [r1] - lsls r1, r2, 4 - adds r1, r2 - lsls r1, 2 - adds r1, r5 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r1, 0x2E] - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0802FA78: .4byte gBattlePartyID -_0802FA7C: .4byte gBattleBufferA -_0802FA80: .4byte gPlayerParty -_0802FA84: .4byte sub_80312F0 -_0802FA88: .4byte gUnknown_0300434C -_0802FA8C: .4byte gUnknown_02024E8C -_0802FA90: .4byte gObjectBankIDs -_0802FA94: .4byte gSprites -_0802FA98: .4byte gBattleMonForms -_0802FA9C: .4byte SpriteCallbackDummy - thumb_func_end sub_802F934 - - thumb_func_start PlayerHandleReturnPokeToBall -PlayerHandleReturnPokeToBall: @ 802FAA0 - push {r4-r6,lr} - ldr r1, _0802FAD0 @ =gBattleBufferA - ldr r6, _0802FAD4 @ =gActiveBank - ldrb r2, [r6] - lsls r0, r2, 9 - adds r1, 0x1 - adds r0, r1 - ldrb r3, [r0] - cmp r3, 0 - bne _0802FAE4 - lsls r0, r2, 1 - adds r0, r2 - lsls r0, 2 - ldr r1, _0802FAD8 @ =0x02017810 - adds r0, r1 - strb r3, [r0, 0x4] - ldr r1, _0802FADC @ =gBattleBankFunc - ldrb r0, [r6] - lsls r0, 2 - adds r0, r1 - ldr r1, _0802FAE0 @ =sub_802FB2C - str r1, [r0] - b _0802FB1A - .align 2, 0 -_0802FAD0: .4byte gBattleBufferA -_0802FAD4: .4byte gActiveBank -_0802FAD8: .4byte 0x02017810 -_0802FADC: .4byte gBattleBankFunc -_0802FAE0: .4byte sub_802FB2C -_0802FAE4: - ldr r5, _0802FB20 @ =gObjectBankIDs - adds r0, r2, r5 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r4, _0802FB24 @ =gSprites - adds r0, r4 - bl FreeSpriteOamMatrix - ldrb r0, [r6] - adds r0, r5 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - bl DestroySprite - ldr r1, _0802FB28 @ =gHealthboxIDs - ldrb r0, [r6] - adds r0, r1 - ldrb r0, [r0] - bl sub_8043DB0 - bl PlayerBufferExecCompleted -_0802FB1A: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0802FB20: .4byte gObjectBankIDs -_0802FB24: .4byte gSprites -_0802FB28: .4byte gHealthboxIDs - thumb_func_end PlayerHandleReturnPokeToBall - - thumb_func_start sub_802FB2C -sub_802FB2C: @ 802FB2C - push {r4,r5,lr} - ldr r5, _0802FB48 @ =gActiveBank - ldrb r2, [r5] - lsls r0, r2, 1 - adds r0, r2 - lsls r0, 2 - ldr r4, _0802FB4C @ =0x02017810 - adds r3, r0, r4 - ldrb r0, [r3, 0x4] - cmp r0, 0 - beq _0802FB50 - cmp r0, 0x1 - beq _0802FB7C - b _0802FBA4 - .align 2, 0 -_0802FB48: .4byte gActiveBank -_0802FB4C: .4byte 0x02017810 -_0802FB50: - lsls r0, r2, 2 - adds r1, r4, 0 - subs r1, 0x10 - adds r0, r1 - ldrb r1, [r0] - movs r0, 0x4 - ands r0, r1 - cmp r0, 0 - beq _0802FB6C - adds r0, r2, 0 - adds r1, r2, 0 - movs r3, 0x5 - bl move_anim_start_t4 -_0802FB6C: - ldrb r0, [r5] - lsls r1, r0, 1 - adds r1, r0 - lsls r1, 2 - adds r1, r4 - movs r0, 0x1 - strb r0, [r1, 0x4] - b _0802FBA4 -_0802FB7C: - ldrb r1, [r3] - movs r0, 0x40 - ands r0, r1 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0 - bne _0802FBA4 - strb r0, [r3, 0x4] - ldrb r2, [r5] - adds r0, r2, 0 - adds r1, r2, 0 - movs r3, 0x1 - bl move_anim_start_t4 - ldr r1, _0802FBAC @ =gBattleBankFunc - ldrb r0, [r5] - lsls r0, 2 - adds r0, r1 - ldr r1, _0802FBB0 @ =sub_802DEAC - str r1, [r0] -_0802FBA4: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0802FBAC: .4byte gBattleBankFunc -_0802FBB0: .4byte sub_802DEAC - thumb_func_end sub_802FB2C - - thumb_func_start PlayerHandleTrainerThrow -PlayerHandleTrainerThrow: @ 802FBB4 - push {r4-r7,lr} - mov r7, r8 - push {r7} - ldr r0, _0802FBDC @ =gBattleTypeFlags - ldrh r1, [r0] - movs r0, 0x40 - ands r0, r1 - cmp r0, 0 - beq _0802FBE8 - ldr r0, _0802FBE0 @ =gActiveBank - ldrb r0, [r0] - bl GetBankIdentity - movs r1, 0x2 - ands r1, r0 - ldr r7, _0802FBE4 @ =0x0000fff0 - cmp r1, 0 - beq _0802FBEA - movs r7, 0x10 - b _0802FBEA - .align 2, 0 -_0802FBDC: .4byte gBattleTypeFlags -_0802FBE0: .4byte gActiveBank -_0802FBE4: .4byte 0x0000fff0 -_0802FBE8: - movs r7, 0 -_0802FBEA: - ldr r4, _0802FCB8 @ =gSaveBlock2 - ldrb r0, [r4, 0x8] - ldr r6, _0802FCBC @ =gActiveBank - ldrb r1, [r6] - bl sub_8031AF4 - ldrb r5, [r4, 0x8] - ldrb r0, [r6] - bl GetBankIdentity - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - adds r0, r5, 0 - bl GetMonSpriteTemplate_803C5A0 - ldr r0, _0802FCC0 @ =gUnknown_02024E8C - mov r8, r0 - lsls r5, r7, 16 - movs r0, 0xA0 - lsls r0, 15 - adds r5, r0 - asrs r5, 16 - ldr r1, _0802FCC4 @ =gTrainerBackPicCoords - ldrb r0, [r4, 0x8] - lsls r0, 2 - adds r0, r1 - ldrb r0, [r0] - movs r4, 0x8 - subs r4, r0 - lsls r4, 18 - movs r0, 0xA0 - lsls r0, 15 - adds r4, r0 - asrs r4, 16 - ldrb r0, [r6] - bl sub_8079E90 - adds r3, r0, 0 - lsls r3, 24 - lsrs r3, 24 - mov r0, r8 - adds r1, r5, 0 - adds r2, r4, 0 - bl CreateSprite - ldr r5, _0802FCC8 @ =gObjectBankIDs - ldrb r1, [r6] - adds r1, r5 - strb r0, [r1] - ldr r4, _0802FCCC @ =gSprites - ldrb r3, [r6] - adds r0, r3, r5 - ldrb r0, [r0] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r4 - lsls r3, 4 - ldrb r2, [r1, 0x5] - movs r0, 0xF - ands r0, r2 - orrs r0, r3 - strb r0, [r1, 0x5] - ldrb r0, [r6] - adds r0, r5 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - movs r1, 0xF0 - strh r1, [r0, 0x24] - ldrb r0, [r6] - adds r0, r5 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - ldr r1, _0802FCD0 @ =0x0000fffe - strh r1, [r0, 0x2E] - ldrb r0, [r6] - adds r0, r5 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r4, 0x1C - adds r0, r4 - ldr r1, _0802FCD4 @ =sub_80313A0 - str r1, [r0] - ldr r1, _0802FCD8 @ =gBattleBankFunc - ldrb r0, [r6] - lsls r0, 2 - adds r0, r1 - ldr r1, _0802FCDC @ =sub_802D204 - str r1, [r0] - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0802FCB8: .4byte gSaveBlock2 -_0802FCBC: .4byte gActiveBank -_0802FCC0: .4byte gUnknown_02024E8C -_0802FCC4: .4byte gTrainerBackPicCoords -_0802FCC8: .4byte gObjectBankIDs -_0802FCCC: .4byte gSprites -_0802FCD0: .4byte 0x0000fffe -_0802FCD4: .4byte sub_80313A0 -_0802FCD8: .4byte gBattleBankFunc -_0802FCDC: .4byte sub_802D204 - thumb_func_end PlayerHandleTrainerThrow - - thumb_func_start PlayerHandleTrainerSlide -PlayerHandleTrainerSlide: @ 802FCE0 - push {r4-r6,lr} - ldr r4, _0802FD94 @ =gSaveBlock2 - ldrb r0, [r4, 0x8] - ldr r5, _0802FD98 @ =gActiveBank - ldrb r1, [r5] - bl sub_8031AF4 - ldrb r6, [r4, 0x8] - ldrb r0, [r5] - bl GetBankIdentity - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - adds r0, r6, 0 - bl GetMonSpriteTemplate_803C5A0 - ldr r0, _0802FD9C @ =gUnknown_02024E8C - ldr r2, _0802FDA0 @ =gTrainerBackPicCoords - ldrb r1, [r4, 0x8] - lsls r1, 2 - adds r1, r2 - ldrb r1, [r1] - movs r2, 0x8 - subs r2, r1 - lsls r2, 18 - movs r1, 0xA0 - lsls r1, 15 - adds r2, r1 - asrs r2, 16 - movs r1, 0x50 - movs r3, 0x1E - bl CreateSprite - ldr r6, _0802FDA4 @ =gObjectBankIDs - ldrb r1, [r5] - adds r1, r6 - strb r0, [r1] - ldr r4, _0802FDA8 @ =gSprites - ldrb r3, [r5] - adds r0, r3, r6 - ldrb r0, [r0] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r4 - lsls r3, 4 - ldrb r2, [r1, 0x5] - movs r0, 0xF - ands r0, r2 - orrs r0, r3 - strb r0, [r1, 0x5] - ldrb r0, [r5] - adds r0, r6 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - ldr r1, _0802FDAC @ =0x0000ffa0 - strh r1, [r0, 0x24] - ldrb r0, [r5] - adds r0, r6 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - movs r1, 0x2 - strh r1, [r0, 0x2E] - ldrb r0, [r5] - adds r0, r6 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r4, 0x1C - adds r0, r4 - ldr r1, _0802FDB0 @ =sub_80313A0 - str r1, [r0] - ldr r1, _0802FDB4 @ =gBattleBankFunc - ldrb r0, [r5] - lsls r0, 2 - adds r0, r1 - ldr r1, _0802FDB8 @ =sub_802D23C - str r1, [r0] - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0802FD94: .4byte gSaveBlock2 -_0802FD98: .4byte gActiveBank -_0802FD9C: .4byte gUnknown_02024E8C -_0802FDA0: .4byte gTrainerBackPicCoords -_0802FDA4: .4byte gObjectBankIDs -_0802FDA8: .4byte gSprites -_0802FDAC: .4byte 0x0000ffa0 -_0802FDB0: .4byte sub_80313A0 -_0802FDB4: .4byte gBattleBankFunc -_0802FDB8: .4byte sub_802D23C - thumb_func_end PlayerHandleTrainerSlide - - thumb_func_start PlayerHandleTrainerSlideBack -PlayerHandleTrainerSlideBack: @ 802FDBC - push {r4-r6,lr} - ldr r5, _0802FE5C @ =gObjectBankIDs - ldr r6, _0802FE60 @ =gActiveBank - ldrb r0, [r6] - adds r0, r5 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r4, _0802FE64 @ =gSprites - adds r0, r4 - bl oamt_add_pos2_onto_pos1 - ldrb r0, [r6] - adds r0, r5 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - movs r1, 0x32 - strh r1, [r0, 0x2E] - ldrb r0, [r6] - adds r0, r5 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - ldr r1, _0802FE68 @ =0x0000ffd8 - strh r1, [r0, 0x32] - ldrb r0, [r6] - adds r0, r5 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - ldrh r1, [r0, 0x22] - strh r1, [r0, 0x36] - ldrb r0, [r6] - adds r0, r5 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r1, r4, 0 - adds r1, 0x1C - adds r0, r1 - ldr r1, _0802FE6C @ =sub_8078B34 - str r1, [r0] - ldrb r0, [r6] - adds r0, r5 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - ldr r1, _0802FE70 @ =SpriteCallbackDummy - bl oamt_set_x3A_32 - ldrb r0, [r6] - adds r0, r5 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - movs r1, 0x1 - bl StartSpriteAnim - ldr r1, _0802FE74 @ =gBattleBankFunc - ldrb r0, [r6] - lsls r0, 2 - adds r0, r1 - ldr r1, _0802FE78 @ =sub_802D274 - str r1, [r0] - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0802FE5C: .4byte gObjectBankIDs -_0802FE60: .4byte gActiveBank -_0802FE64: .4byte gSprites -_0802FE68: .4byte 0x0000ffd8 -_0802FE6C: .4byte sub_8078B34 -_0802FE70: .4byte SpriteCallbackDummy -_0802FE74: .4byte gBattleBankFunc -_0802FE78: .4byte sub_802D274 - thumb_func_end PlayerHandleTrainerSlideBack - - thumb_func_start sub_802FE7C -sub_802FE7C: @ 802FE7C - push {r4,r5,lr} - ldr r5, _0802FEC0 @ =gActiveBank - ldrb r2, [r5] - lsls r0, r2, 1 - adds r0, r2 - lsls r0, 2 - ldr r4, _0802FEC4 @ =0x02017810 - adds r3, r0, r4 - ldrb r0, [r3, 0x4] - cmp r0, 0 - bne _0802FEC8 - lsls r0, r2, 2 - adds r1, r4, 0 - subs r1, 0x10 - adds r0, r1 - ldrb r1, [r0] - movs r0, 0x4 - ands r0, r1 - cmp r0, 0 - beq _0802FEAE - adds r0, r2, 0 - adds r1, r2, 0 - movs r3, 0x5 - bl move_anim_start_t4 -_0802FEAE: - ldrb r0, [r5] - lsls r1, r0, 1 - adds r1, r0 - lsls r1, 2 - adds r1, r4 - ldrb r0, [r1, 0x4] - adds r0, 0x1 - strb r0, [r1, 0x4] - b _0802FF3E - .align 2, 0 -_0802FEC0: .4byte gActiveBank -_0802FEC4: .4byte 0x02017810 -_0802FEC8: - ldrb r1, [r3] - movs r0, 0x40 - ands r0, r1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0 - bne _0802FF3E - strb r4, [r3, 0x4] - ldr r2, _0802FF44 @ =gBattlePartyID - ldrb r1, [r5] - lsls r0, r1, 1 - adds r0, r2 - ldrh r2, [r0] - movs r0, 0x64 - muls r0, r2 - ldr r2, _0802FF48 @ =gPlayerParty - adds r0, r2 - bl sub_80324F8 - movs r1, 0x40 - negs r1, r1 - movs r0, 0x10 - bl PlaySE12WithPanning - ldr r2, _0802FF4C @ =gSprites - ldr r3, _0802FF50 @ =gObjectBankIDs - ldrb r0, [r5] - adds r0, r3 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - strh r4, [r0, 0x30] - ldrb r0, [r5] - adds r0, r3 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - movs r1, 0x5 - strh r1, [r0, 0x32] - ldrb r0, [r5] - adds r0, r3 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r2, 0x1C - adds r0, r2 - ldr r1, _0802FF54 @ =sub_80105EC - str r1, [r0] - ldr r1, _0802FF58 @ =gBattleBankFunc - ldrb r0, [r5] - lsls r0, 2 - adds r0, r1 - ldr r1, _0802FF5C @ =sub_802DE10 - str r1, [r0] -_0802FF3E: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0802FF44: .4byte gBattlePartyID -_0802FF48: .4byte gPlayerParty -_0802FF4C: .4byte gSprites -_0802FF50: .4byte gObjectBankIDs -_0802FF54: .4byte sub_80105EC -_0802FF58: .4byte gBattleBankFunc -_0802FF5C: .4byte sub_802DE10 - thumb_func_end sub_802FE7C - - thumb_func_start sub_802FF60 -sub_802FF60: @ 802FF60 - push {lr} - sub sp, 0x4 - movs r0, 0x1 - negs r0, r0 - movs r1, 0 - str r1, [sp] - movs r1, 0x2 - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade - bl PlayerBufferExecCompleted - add sp, 0x4 - pop {r0} - bx r0 - thumb_func_end sub_802FF60 - - thumb_func_start sub_802FF80 -sub_802FF80: @ 802FF80 - push {r4,r5,lr} - ldr r1, _0802FFBC @ =0x02017840 - movs r0, 0x4 - strb r0, [r1, 0x8] - ldr r1, _0802FFC0 @ =gDoingBattleAnim - movs r0, 0x1 - strb r0, [r1] - ldr r5, _0802FFC4 @ =gActiveBank - ldrb r4, [r5] - movs r0, 0x1 - bl GetBankByPlayerAI - adds r2, r0, 0 - lsls r2, 24 - lsrs r2, 24 - adds r0, r4, 0 - adds r1, r4, 0 - movs r3, 0x3 - bl move_anim_start_t4 - ldr r1, _0802FFC8 @ =gBattleBankFunc - ldrb r0, [r5] - lsls r0, 2 - adds r0, r1 - ldr r1, _0802FFCC @ =bx_wait_t1 - str r1, [r0] - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0802FFBC: .4byte 0x02017840 -_0802FFC0: .4byte gDoingBattleAnim -_0802FFC4: .4byte gActiveBank -_0802FFC8: .4byte gBattleBankFunc -_0802FFCC: .4byte bx_wait_t1 - thumb_func_end sub_802FF80 - - thumb_func_start PlayerHandleBallThrow -PlayerHandleBallThrow: @ 802FFD0 - push {r4,r5,lr} - ldr r1, _08030014 @ =gBattleBufferA - ldr r5, _08030018 @ =gActiveBank - ldrb r0, [r5] - lsls r0, 9 - adds r1, 0x1 - adds r0, r1 - ldrb r1, [r0] - ldr r0, _0803001C @ =0x02017840 - strb r1, [r0, 0x8] - ldr r1, _08030020 @ =gDoingBattleAnim - movs r0, 0x1 - strb r0, [r1] - ldrb r4, [r5] - movs r0, 0x1 - bl GetBankByPlayerAI - adds r2, r0, 0 - lsls r2, 24 - lsrs r2, 24 - adds r0, r4, 0 - adds r1, r4, 0 - movs r3, 0x3 - bl move_anim_start_t4 - ldr r1, _08030024 @ =gBattleBankFunc - ldrb r0, [r5] - lsls r0, 2 - adds r0, r1 - ldr r1, _08030028 @ =bx_wait_t1 - str r1, [r0] - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08030014: .4byte gBattleBufferA -_08030018: .4byte gActiveBank -_0803001C: .4byte 0x02017840 -_08030020: .4byte gDoingBattleAnim -_08030024: .4byte gBattleBankFunc -_08030028: .4byte bx_wait_t1 - thumb_func_end PlayerHandleBallThrow - - thumb_func_start PlayerHandlePuase -PlayerHandlePuase: @ 803002C - push {lr} - ldr r1, _08030054 @ =gBattleBufferA - ldr r0, _08030058 @ =gActiveBank - ldrb r0, [r0] - lsls r0, 9 - adds r1, 0x1 - adds r0, r1 - ldrb r0, [r0] - cmp r0, 0 - beq _0803004A -_08030040: - subs r0, 0x1 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0 - bne _08030040 -_0803004A: - bl PlayerBufferExecCompleted - pop {r0} - bx r0 - .align 2, 0 -_08030054: .4byte gBattleBufferA -_08030058: .4byte gActiveBank - thumb_func_end PlayerHandlePuase - - thumb_func_start PlayerHandleMoveAnimation -PlayerHandleMoveAnimation: @ 803005C - push {r4-r6,lr} - ldr r6, _08030140 @ =gActiveBank - ldrb r0, [r6] - bl mplay_80342A4 - lsls r0, 24 - cmp r0, 0 - beq _0803006E - b _0803017E -_0803006E: - ldr r0, _08030144 @ =gBattleBufferA - mov r12, r0 - ldrb r2, [r6] - lsls r2, 9 - adds r0, 0x1 - adds r0, r2, r0 - ldrb r0, [r0] - mov r1, r12 - adds r1, 0x2 - adds r1, r2, r1 - ldrb r1, [r1] - lsls r1, 8 - orrs r0, r1 - ldr r5, _08030148 @ =gUnknown_0202F7C4 - mov r1, r12 - adds r1, 0x3 - adds r2, r1 - ldrb r1, [r2] - strb r1, [r5] - ldr r4, _0803014C @ =gMovePowerMoveAnim - ldrb r2, [r6] - lsls r2, 9 - mov r1, r12 - adds r1, 0x4 - adds r1, r2, r1 - ldrb r3, [r1] - mov r1, r12 - adds r1, 0x5 - adds r2, r1 - ldrb r1, [r2] - lsls r1, 8 - orrs r3, r1 - strh r3, [r4] - ldr r4, _08030150 @ =gMoveDmgMoveAnim - ldrb r2, [r6] - lsls r2, 9 - mov r1, r12 - adds r1, 0x6 - adds r1, r2, r1 - ldrb r3, [r1] - mov r1, r12 - adds r1, 0x7 - adds r1, r2, r1 - ldrb r1, [r1] - lsls r1, 8 - orrs r3, r1 - mov r1, r12 - adds r1, 0x8 - adds r1, r2, r1 - ldrb r1, [r1] - lsls r1, 16 - orrs r3, r1 - mov r1, r12 - adds r1, 0x9 - adds r2, r1 - ldrb r1, [r2] - lsls r1, 24 - orrs r3, r1 - str r3, [r4] - ldr r3, _08030154 @ =gHappinessMoveAnim - ldrb r1, [r6] - lsls r1, 9 - mov r2, r12 - adds r2, 0xA - adds r1, r2 - ldrb r1, [r1] - strb r1, [r3] - ldr r4, _08030158 @ =gWeatherMoveAnim - ldrb r2, [r6] - lsls r2, 9 - mov r1, r12 - adds r1, 0xC - adds r1, r2, r1 - ldrb r3, [r1] - mov r1, r12 - adds r1, 0xD - adds r2, r1 - ldrb r1, [r2] - lsls r1, 8 - orrs r3, r1 - strh r3, [r4] - ldr r3, _0803015C @ =gDisableStructMoveAnim - ldrb r2, [r6] - lsls r2, 9 - mov r1, r12 - adds r1, 0x10 - adds r2, r1 - str r2, [r3] - ldr r3, _08030160 @ =gPID_perBank - ldrb r1, [r6] - lsls r1, 2 - adds r1, r3 - ldr r2, [r2] - str r2, [r1] - ldrb r1, [r5] - bl sub_8031720 - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0 - beq _08030164 - bl PlayerBufferExecCompleted - b _0803017E - .align 2, 0 -_08030140: .4byte gActiveBank -_08030144: .4byte gBattleBufferA -_08030148: .4byte gUnknown_0202F7C4 -_0803014C: .4byte gMovePowerMoveAnim -_08030150: .4byte gMoveDmgMoveAnim -_08030154: .4byte gHappinessMoveAnim -_08030158: .4byte gWeatherMoveAnim -_0803015C: .4byte gDisableStructMoveAnim -_08030160: .4byte gPID_perBank -_08030164: - ldrb r1, [r6] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - ldr r1, _08030184 @ =0x02017810 - adds r0, r1 - strb r2, [r0, 0x4] - ldr r1, _08030188 @ =gBattleBankFunc - ldrb r0, [r6] - lsls r0, 2 - adds r0, r1 - ldr r1, _0803018C @ =sub_8030190 - str r1, [r0] -_0803017E: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_08030184: .4byte 0x02017810 -_08030188: .4byte gBattleBankFunc -_0803018C: .4byte sub_8030190 - thumb_func_end PlayerHandleMoveAnimation - - thumb_func_start sub_8030190 -sub_8030190: @ 8030190 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - ldr r2, _080301D4 @ =gBattleBufferA - ldr r5, _080301D8 @ =gActiveBank - ldrb r3, [r5] - lsls r1, r3, 9 - adds r0, r2, 0x1 - mov r9, r0 - adds r0, r1, r0 - ldrb r4, [r0] - adds r6, r2, 0x2 - mov r8, r6 - adds r0, r1, r6 - ldrb r0, [r0] - lsls r0, 8 - orrs r4, r0 - adds r2, 0xB - adds r1, r2 - ldrb r7, [r1] - lsls r0, r3, 1 - adds r0, r3 - lsls r0, 2 - ldr r6, _080301DC @ =0x02017810 - adds r0, r6 - ldrb r2, [r0, 0x4] - cmp r2, 0x1 - beq _0803021E - cmp r2, 0x1 - bgt _080301E0 - cmp r2, 0 - beq _080301EA - b _080302E8 - .align 2, 0 -_080301D4: .4byte gBattleBufferA -_080301D8: .4byte gActiveBank -_080301DC: .4byte 0x02017810 -_080301E0: - cmp r2, 0x2 - beq _08030244 - cmp r2, 0x3 - beq _080302B0 - b _080302E8 -_080301EA: - lsls r1, r3, 2 - adds r0, r6, 0 - subs r0, 0x10 - adds r1, r0 - ldrb r2, [r1] - movs r0, 0xC - ands r0, r2 - cmp r0, 0x4 - bne _0803020E - movs r0, 0x8 - orrs r0, r2 - strb r0, [r1] - ldrb r2, [r5] - adds r0, r2, 0 - adds r1, r2, 0 - movs r3, 0x5 - bl move_anim_start_t4 -_0803020E: - ldrb r0, [r5] - lsls r1, r0, 1 - adds r1, r0 - lsls r1, 2 - adds r1, r6 - movs r0, 0x1 - strb r0, [r1, 0x4] - b _080302E8 -_0803021E: - ldrb r1, [r0] - movs r0, 0x40 - ands r0, r1 - cmp r0, 0 - bne _080302E8 - movs r0, 0 - bl sub_80326EC - adds r0, r4, 0 - bl ExecuteMoveAnim - ldrb r0, [r5] - lsls r1, r0, 1 - adds r1, r0 - lsls r1, 2 - adds r1, r6 - movs r0, 0x2 - strb r0, [r1, 0x4] - b _080302E8 -_08030244: - ldr r0, _080302A0 @ =gAnimScriptCallback - ldr r0, [r0] - bl _call_via_r0 - ldr r0, _080302A4 @ =gAnimScriptActive - ldrb r0, [r0] - cmp r0, 0 - bne _080302E8 - movs r0, 0x1 - bl sub_80326EC - ldrb r2, [r5] - lsls r0, r2, 2 - adds r4, r6, 0 - subs r4, 0x10 - adds r0, r4 - ldrb r1, [r0] - movs r0, 0x4 - ands r0, r1 - cmp r0, 0 - beq _0803028C - cmp r7, 0x1 - bhi _0803028C - adds r0, r2, 0 - adds r1, r2, 0 - movs r3, 0x6 - bl move_anim_start_t4 - ldrb r0, [r5] - lsls r0, 2 - adds r0, r4 - ldrb r2, [r0] - movs r1, 0x9 - negs r1, r1 - ands r1, r2 - strb r1, [r0] -_0803028C: - ldr r0, _080302A8 @ =gActiveBank - ldrb r1, [r0] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - ldr r1, _080302AC @ =0x02017810 - adds r0, r1 - movs r1, 0x3 - strb r1, [r0, 0x4] - b _080302E8 - .align 2, 0 -_080302A0: .4byte gAnimScriptCallback -_080302A4: .4byte gAnimScriptActive -_080302A8: .4byte gActiveBank -_080302AC: .4byte 0x02017810 -_080302B0: - ldrb r1, [r0] - movs r0, 0x40 - ands r0, r1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0 - bne _080302E8 - bl sub_8031F24 - ldrb r0, [r5] - lsls r2, r0, 9 - mov r3, r9 - adds r1, r2, r3 - ldrb r1, [r1] - add r2, r8 - ldrb r2, [r2] - lsls r2, 8 - orrs r1, r2 - bl sub_80324BC - ldrb r1, [r5] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - adds r0, r6 - strb r4, [r0, 0x4] - bl PlayerBufferExecCompleted -_080302E8: - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_8030190 - - thumb_func_start PlayerHandlePrintString -PlayerHandlePrintString: @ 80302F4 - push {r4,lr} - sub sp, 0x4 - ldr r0, _08030338 @ =gUnknown_030042A4 - movs r1, 0 - strh r1, [r0] - ldr r0, _0803033C @ =gUnknown_030042A0 - strh r1, [r0] - ldr r4, _08030340 @ =gActiveBank - ldrb r0, [r4] - lsls r0, 9 - ldr r1, _08030344 @ =gUnknown_02023A62 - adds r0, r1 - ldrh r0, [r0] - bl BufferStringBattle - ldr r0, _08030348 @ =gUnknown_03004210 - ldr r1, _0803034C @ =gDisplayedStringBattle - movs r2, 0xF - str r2, [sp] - movs r2, 0x90 - movs r3, 0x2 - bl sub_8002EB0 - ldr r1, _08030350 @ =gBattleBankFunc - ldrb r0, [r4] - lsls r0, 2 - adds r0, r1 - ldr r1, _08030354 @ =sub_802DF18 - str r1, [r0] - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08030338: .4byte gUnknown_030042A4 -_0803033C: .4byte gUnknown_030042A0 -_08030340: .4byte gActiveBank -_08030344: .4byte gUnknown_02023A62 -_08030348: .4byte gUnknown_03004210 -_0803034C: .4byte gDisplayedStringBattle -_08030350: .4byte gBattleBankFunc -_08030354: .4byte sub_802DF18 - thumb_func_end PlayerHandlePrintString - - thumb_func_start PlayerHandlePrintStringPlayerOnly -PlayerHandlePrintStringPlayerOnly: @ 8030358 - push {lr} - ldr r0, _08030370 @ =gActiveBank - ldrb r0, [r0] - bl GetBankSide - lsls r0, 24 - cmp r0, 0 - bne _08030374 - bl PlayerHandlePrintString - b _08030378 - .align 2, 0 -_08030370: .4byte gActiveBank -_08030374: - bl PlayerBufferExecCompleted -_08030378: - pop {r0} - bx r0 - thumb_func_end PlayerHandlePrintStringPlayerOnly - -.section .text_8030464 - - thumb_func_start nullsub_42 -nullsub_42: @ 8030464 - bx lr - thumb_func_end nullsub_42 - - thumb_func_start sub_8030468 -sub_8030468: @ 8030468 - push {lr} - sub sp, 0x4 - ldr r1, _08030494 @ =0x0000ffff - ldr r3, _08030498 @ =0x00002d9f - movs r0, 0 - str r0, [sp] - movs r2, 0xC - bl sub_814A5C0 - bl sub_80304A8 - ldr r1, _0803049C @ =gBattleBankFunc - ldr r0, _080304A0 @ =gActiveBank - ldrb r0, [r0] - lsls r0, 2 - adds r0, r1 - ldr r1, _080304A4 @ =sub_802C68C - str r1, [r0] - add sp, 0x4 - pop {r0} - bx r0 - .align 2, 0 -_08030494: .4byte 0x0000ffff -_08030498: .4byte 0x00002d9f -_0803049C: .4byte gBattleBankFunc -_080304A0: .4byte gActiveBank -_080304A4: .4byte sub_802C68C - thumb_func_end sub_8030468 - - thumb_func_start sub_80304A8 -sub_80304A8: @ 80304A8 - push {r4,lr} - sub sp, 0x4 - ldr r1, _08030510 @ =gUnknown_030042A4 - movs r0, 0 - strh r0, [r1] - ldr r1, _08030514 @ =gUnknown_030042A0 - movs r2, 0xA0 - lsls r2, 1 - adds r0, r2, 0 - strh r0, [r1] - bl sub_802E1B0 - ldr r1, _08030518 @ =gUnknown_03004344 - movs r0, 0xFF - strb r0, [r1] - ldr r1, _0803051C @ =gMoveSelectionCursor - ldr r4, _08030520 @ =gActiveBank - ldrb r0, [r4] - adds r0, r1 - ldrb r0, [r0] - movs r1, 0 - bl sub_802E3B4 - ldr r1, _08030524 @ =gBattleBufferA - ldrb r0, [r4] - lsls r0, 9 - adds r1, 0x2 - adds r0, r1 - ldrb r0, [r0] - cmp r0, 0x1 - beq _08030500 - ldr r4, _08030528 @ =gUnknown_03004210 - ldr r1, _0803052C @ =gUnknown_08400D38 - movs r2, 0xA4 - lsls r2, 2 - movs r0, 0x37 - str r0, [sp] - adds r0, r4, 0 - movs r3, 0x17 - bl InitWindow - adds r0, r4, 0 - bl sub_8002F44 -_08030500: - bl sub_802E220 - bl sub_802E2D4 - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08030510: .4byte gUnknown_030042A4 -_08030514: .4byte gUnknown_030042A0 -_08030518: .4byte gUnknown_03004344 -_0803051C: .4byte gMoveSelectionCursor -_08030520: .4byte gActiveBank -_08030524: .4byte gBattleBufferA -_08030528: .4byte gUnknown_03004210 -_0803052C: .4byte gUnknown_08400D38 - thumb_func_end sub_80304A8 - - thumb_func_start PlayerHandleOpenBag -PlayerHandleOpenBag: @ 8030530 - push {r4,r5,lr} - sub sp, 0x4 - movs r0, 0x1 - negs r0, r0 - movs r1, 0 - str r1, [sp] - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade - ldr r1, _0803057C @ =gBattleBankFunc - ldr r2, _08030580 @ =gActiveBank - ldrb r0, [r2] - lsls r0, 2 - adds r0, r1 - ldr r1, _08030584 @ =sub_802E004 - str r1, [r0] - ldr r1, _08030588 @ =gBankInMenu - ldrb r0, [r2] - strb r0, [r1] - movs r3, 0 - ldr r5, _0803058C @ =gUnknown_02038470 - ldr r4, _08030590 @ =gBattleBufferA -_0803055E: - adds r0, r3, r5 - ldrb r1, [r2] - lsls r1, 9 - adds r1, 0x1 - adds r1, r3, r1 - adds r1, r4 - ldrb r1, [r1] - strb r1, [r0] - adds r3, 0x1 - cmp r3, 0x2 - ble _0803055E - add sp, 0x4 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0803057C: .4byte gBattleBankFunc -_08030580: .4byte gActiveBank -_08030584: .4byte sub_802E004 -_08030588: .4byte gBankInMenu -_0803058C: .4byte gUnknown_02038470 -_08030590: .4byte gBattleBufferA - thumb_func_end PlayerHandleOpenBag - - thumb_func_start sub_8030594 -sub_8030594: @ 8030594 - push {r4,r5,lr} - sub sp, 0x4 - ldr r0, _08030644 @ =TaskDummy - movs r1, 0xFF - bl CreateTask - ldr r3, _08030648 @ =gUnknown_0300434C - ldr r5, _0803064C @ =gActiveBank - ldrb r1, [r5] - adds r1, r3 - strb r0, [r1] - ldr r4, _08030650 @ =gTasks - ldrb r2, [r5] - adds r3, r2, r3 - ldrb r0, [r3] - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r4 - ldr r4, _08030654 @ =gBattleBufferA - lsls r2, 9 - adds r3, r4, 0x1 - adds r2, r3 - ldrb r2, [r2] - movs r0, 0xF - ands r0, r2 - strh r0, [r1, 0x8] - ldr r2, _08030658 @ =0x02000000 - ldrb r0, [r5] - lsls r0, 9 - adds r0, r3 - ldrb r0, [r0] - lsrs r0, 4 - ldr r3, _0803065C @ =0x00016054 - adds r1, r2, r3 - strb r0, [r1] - ldrb r0, [r5] - lsls r0, 9 - adds r1, r4, 0x2 - adds r0, r1 - ldrb r1, [r0] - adds r3, 0x49 - adds r0, r2, r3 - strb r1, [r0] - ldrb r0, [r5] - lsls r0, 9 - adds r1, r4, 0x3 - adds r0, r1 - ldrb r0, [r0] - ldr r1, _08030660 @ =0x000160c0 - adds r2, r1 - strb r0, [r2] - movs r2, 0 - ldr r3, _08030664 @ =gUnknown_02038470 -_08030600: - adds r0, r2, r3 - ldrb r1, [r5] - lsls r1, 9 - adds r1, 0x4 - adds r1, r2, r1 - adds r1, r4 - ldrb r1, [r1] - strb r1, [r0] - adds r2, 0x1 - cmp r2, 0x2 - ble _08030600 - movs r0, 0x1 - negs r0, r0 - movs r1, 0 - str r1, [sp] - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade - ldr r1, _08030668 @ =gBattleBankFunc - ldr r2, _0803064C @ =gActiveBank - ldrb r0, [r2] - lsls r0, 2 - adds r0, r1 - ldr r1, _0803066C @ =sub_802DF30 - str r1, [r0] - ldr r1, _08030670 @ =gBankInMenu - ldrb r0, [r2] - strb r0, [r1] - add sp, 0x4 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08030644: .4byte TaskDummy -_08030648: .4byte gUnknown_0300434C -_0803064C: .4byte gActiveBank -_08030650: .4byte gTasks -_08030654: .4byte gBattleBufferA -_08030658: .4byte 0x02000000 -_0803065C: .4byte 0x00016054 -_08030660: .4byte 0x000160c0 -_08030664: .4byte gUnknown_02038470 -_08030668: .4byte gBattleBankFunc -_0803066C: .4byte sub_802DF30 -_08030670: .4byte gBankInMenu - thumb_func_end sub_8030594 - - thumb_func_start sub_8030674 -sub_8030674: @ 8030674 - push {lr} - sub sp, 0x4 - bl sub_80325B8 - movs r0, 0x1 - negs r0, r0 - movs r1, 0 - str r1, [sp] - movs r1, 0x2 - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade - bl PlayerBufferExecCompleted - add sp, 0x4 - pop {r0} - bx r0 - thumb_func_end sub_8030674 - - thumb_func_start PlayerHandleHealthBarUpdate -PlayerHandleHealthBarUpdate: @ 8030698 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - sub sp, 0x4 - movs r0, 0 - bl load_gfxc_health_bar - ldr r3, _08030710 @ =gBattleBufferA - ldr r0, _08030714 @ =gActiveBank - mov r9, r0 - ldrb r4, [r0] - lsls r2, r4, 9 - adds r0, r3, 0x2 - adds r0, r2, r0 - ldrb r1, [r0] - adds r3, 0x3 - adds r2, r3 - ldrb r0, [r2] - lsls r0, 8 - orrs r1, r0 - lsls r1, 16 - asrs r7, r1, 16 - ldr r0, _08030718 @ =0x00007fff - cmp r7, r0 - beq _08030728 - ldr r6, _0803071C @ =gBattlePartyID - lsls r0, r4, 1 - adds r0, r6 - ldrh r0, [r0] - movs r5, 0x64 - muls r0, r5 - ldr r4, _08030720 @ =gPlayerParty - adds r0, r4 - movs r1, 0x3A - bl GetMonData - mov r8, r0 - mov r1, r9 - ldrb r0, [r1] - lsls r0, 1 - adds r0, r6 - ldrh r0, [r0] - muls r0, r5 - adds r0, r4 - movs r1, 0x39 - bl GetMonData - adds r3, r0, 0 - mov r1, r9 - ldrb r0, [r1] - ldr r1, _08030724 @ =gHealthboxIDs - adds r1, r0, r1 - ldrb r1, [r1] - str r7, [sp] - mov r2, r8 - bl sub_8043D84 - b _08030762 - .align 2, 0 -_08030710: .4byte gBattleBufferA -_08030714: .4byte gActiveBank -_08030718: .4byte 0x00007fff -_0803071C: .4byte gBattlePartyID -_08030720: .4byte gPlayerParty -_08030724: .4byte gHealthboxIDs -_08030728: - ldr r1, _08030780 @ =gBattlePartyID - lsls r0, r4, 1 - adds r0, r1 - ldrh r1, [r0] - movs r0, 0x64 - muls r0, r1 - ldr r1, _08030784 @ =gPlayerParty - adds r0, r1 - movs r1, 0x3A - bl GetMonData - adds r2, r0, 0 - mov r1, r9 - ldrb r0, [r1] - ldr r4, _08030788 @ =gHealthboxIDs - adds r1, r0, r4 - ldrb r1, [r1] - str r7, [sp] - movs r3, 0 - bl sub_8043D84 - mov r1, r9 - ldrb r0, [r1] - adds r0, r4 - ldrb r0, [r0] - movs r1, 0 - movs r2, 0 - bl sub_80440EC -_08030762: - ldr r1, _0803078C @ =gBattleBankFunc - ldr r0, _08030790 @ =gActiveBank - ldrb r0, [r0] - lsls r0, 2 - adds r0, r1 - ldr r1, _08030794 @ =bx_t1_healthbar_update - str r1, [r0] - add sp, 0x4 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08030780: .4byte gBattlePartyID -_08030784: .4byte gPlayerParty -_08030788: .4byte gHealthboxIDs -_0803078C: .4byte gBattleBankFunc -_08030790: .4byte gActiveBank -_08030794: .4byte bx_t1_healthbar_update - thumb_func_end PlayerHandleHealthBarUpdate - - thumb_func_start PlayerHandleExpBarUpdate -PlayerHandleExpBarUpdate: @ 8030798 - push {r4-r7,lr} - ldr r5, _080307C4 @ =gBattleBufferA - ldr r6, _080307C8 @ =gActiveBank - ldrb r0, [r6] - lsls r0, 9 - adds r1, r5, 0x1 - adds r0, r1 - ldrb r7, [r0] - movs r0, 0x64 - adds r1, r7, 0 - muls r1, r0 - ldr r0, _080307CC @ =gPlayerParty - adds r4, r1, r0 - adds r0, r4, 0 - movs r1, 0x38 - bl GetMonData - cmp r0, 0x63 - bls _080307D0 - bl PlayerBufferExecCompleted - b _0803081C - .align 2, 0 -_080307C4: .4byte gBattleBufferA -_080307C8: .4byte gActiveBank -_080307CC: .4byte gPlayerParty -_080307D0: - movs r0, 0x1 - bl load_gfxc_health_bar - adds r0, r4, 0 - movs r1, 0xB - bl GetMonData - ldrb r1, [r6] - lsls r1, 9 - adds r0, r5, 0x2 - adds r0, r1, r0 - ldrb r4, [r0] - adds r0, r5, 0x3 - adds r1, r0 - ldrb r0, [r1] - lsls r0, 8 - orrs r4, r0 - ldr r0, _08030824 @ =sub_802D924 - movs r1, 0xA - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - ldr r2, _08030828 @ =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - strh r7, [r1, 0x8] - strh r4, [r1, 0xA] - ldrb r0, [r6] - strh r0, [r1, 0xC] - ldr r1, _0803082C @ =gBattleBankFunc - ldrb r0, [r6] - lsls r0, 2 - adds r0, r1 - ldr r1, _08030830 @ =nullsub_91 - str r1, [r0] -_0803081C: - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08030824: .4byte sub_802D924 -_08030828: .4byte gTasks -_0803082C: .4byte gBattleBankFunc -_08030830: .4byte nullsub_91 - thumb_func_end PlayerHandleExpBarUpdate - - thumb_func_start PlayerHandleStatusIconUpdate -PlayerHandleStatusIconUpdate: @ 8030834 - push {r4,lr} - ldr r4, _0803088C @ =gActiveBank - ldrb r0, [r4] - bl mplay_80342A4 - lsls r0, 24 - cmp r0, 0 - bne _08030884 - ldr r0, _08030890 @ =gHealthboxIDs - ldrb r1, [r4] - adds r0, r1, r0 - ldrb r0, [r0] - ldr r2, _08030894 @ =gBattlePartyID - lsls r1, 1 - adds r1, r2 - ldrh r2, [r1] - movs r1, 0x64 - muls r1, r2 - ldr r2, _08030898 @ =gPlayerParty - adds r1, r2 - movs r2, 0x9 - bl sub_8045A5C - ldrb r0, [r4] - lsls r1, r0, 1 - adds r1, r0 - lsls r1, 2 - ldr r0, _0803089C @ =0x02017810 - adds r1, r0 - ldrb r2, [r1] - movs r0, 0x11 - negs r0, r0 - ands r0, r2 - strb r0, [r1] - ldr r1, _080308A0 @ =gBattleBankFunc - ldrb r0, [r4] - lsls r0, 2 - adds r0, r1 - ldr r1, _080308A4 @ =sub_802E434 - str r1, [r0] -_08030884: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0803088C: .4byte gActiveBank -_08030890: .4byte gHealthboxIDs -_08030894: .4byte gBattlePartyID -_08030898: .4byte gPlayerParty -_0803089C: .4byte 0x02017810 -_080308A0: .4byte gBattleBankFunc -_080308A4: .4byte sub_802E434 - thumb_func_end PlayerHandleStatusIconUpdate - - thumb_func_start PlayerHandleStatusAnimation -PlayerHandleStatusAnimation: @ 80308A8 - push {r4,r5,lr} - ldr r5, _08030900 @ =gActiveBank - ldrb r0, [r5] - bl mplay_80342A4 - lsls r0, 24 - cmp r0, 0 - bne _080308F8 - ldr r4, _08030904 @ =gBattleBufferA - ldrb r3, [r5] - lsls r3, 9 - adds r0, r4, 0x1 - adds r0, r3, r0 - ldrb r0, [r0] - adds r1, r4, 0x2 - adds r1, r3, r1 - ldrb r1, [r1] - adds r2, r4, 0x3 - adds r2, r3, r2 - ldrb r2, [r2] - lsls r2, 8 - orrs r1, r2 - adds r2, r4, 0x4 - adds r2, r3, r2 - ldrb r2, [r2] - lsls r2, 16 - orrs r1, r2 - adds r4, 0x5 - adds r3, r4 - ldrb r2, [r3] - lsls r2, 24 - orrs r1, r2 - bl move_anim_start_t2_for_situation - ldr r1, _08030908 @ =gBattleBankFunc - ldrb r0, [r5] - lsls r0, 2 - adds r0, r1 - ldr r1, _0803090C @ =sub_802E434 - str r1, [r0] -_080308F8: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08030900: .4byte gActiveBank -_08030904: .4byte gBattleBufferA -_08030908: .4byte gBattleBankFunc -_0803090C: .4byte sub_802E434 - thumb_func_end PlayerHandleStatusAnimation - - thumb_func_start PlayerHandleStatusXor -PlayerHandleStatusXor: @ 8030910 - push {r4-r6,lr} - mov r6, r8 - push {r6} - sub sp, 0x4 - ldr r0, _0803096C @ =gBattlePartyID - mov r8, r0 - ldr r4, _08030970 @ =gActiveBank - ldrb r0, [r4] - lsls r0, 1 - add r0, r8 - ldrh r0, [r0] - movs r6, 0x64 - muls r0, r6 - ldr r5, _08030974 @ =gPlayerParty - adds r0, r5 - movs r1, 0x37 - bl GetMonData - ldr r2, _08030978 @ =gBattleBufferA - ldrb r1, [r4] - lsls r1, 9 - adds r2, 0x1 - adds r1, r2 - ldrb r1, [r1] - eors r0, r1 - mov r1, sp - strb r0, [r1] - ldrb r0, [r4] - lsls r0, 1 - add r0, r8 - ldrh r0, [r0] - muls r0, r6 - adds r0, r5 - movs r1, 0x37 - mov r2, sp - bl SetMonData - bl PlayerBufferExecCompleted - add sp, 0x4 - pop {r3} - mov r8, r3 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0803096C: .4byte gBattlePartyID -_08030970: .4byte gActiveBank -_08030974: .4byte gPlayerParty -_08030978: .4byte gBattleBufferA - thumb_func_end PlayerHandleStatusXor - - thumb_func_start sub_803097C -sub_803097C: @ 803097C - push {lr} - bl PlayerBufferExecCompleted - pop {r0} - bx r0 - thumb_func_end sub_803097C - - thumb_func_start PlayerHandleDMATransfer -PlayerHandleDMATransfer: @ 8030988 - push {r4,r5,lr} - ldr r3, _080309EC @ =gBattleBufferA - ldr r0, _080309F0 @ =gActiveBank - ldrb r2, [r0] - lsls r2, 9 - adds r0, r3, 0x1 - adds r0, r2, r0 - ldrb r5, [r0] - adds r0, r3, 0x2 - adds r0, r2, r0 - ldrb r0, [r0] - lsls r0, 8 - orrs r5, r0 - adds r0, r3, 0x3 - adds r0, r2, r0 - ldrb r0, [r0] - lsls r0, 16 - orrs r5, r0 - adds r0, r3, 0x4 - adds r0, r2, r0 - ldrb r4, [r0] - lsls r4, 24 - adds r0, r3, 0x5 - adds r0, r2, r0 - ldrb r1, [r0] - adds r0, r3, 0x6 - adds r0, r2, r0 - ldrb r0, [r0] - lsls r0, 8 - orrs r1, r0 - lsls r1, 16 - adds r3, 0x7 - adds r2, r3 - orrs r5, r4 - lsrs r4, r1, 16 - movs r0, 0x80 - lsls r0, 5 - cmp r4, r0 - bhi _080309F8 - ldr r0, _080309F4 @ =0x040000d4 - str r2, [r0] - str r5, [r0, 0x4] - lsrs r1, 17 - movs r2, 0x80 - lsls r2, 24 - orrs r1, r2 - str r1, [r0, 0x8] - ldr r0, [r0, 0x8] - b _08030A24 - .align 2, 0 -_080309EC: .4byte gBattleBufferA -_080309F0: .4byte gActiveBank -_080309F4: .4byte 0x040000d4 -_080309F8: - ldr r3, _08030A30 @ =0x040000d4 - str r2, [r3] - str r5, [r3, 0x4] - ldr r0, _08030A34 @ =0x80000800 - str r0, [r3, 0x8] - ldr r0, [r3, 0x8] - movs r0, 0x80 - lsls r0, 5 - adds r2, r0 - adds r5, r0 - ldr r1, _08030A38 @ =0xfffff000 - adds r4, r1 - cmp r4, r0 - bhi _080309F8 - str r2, [r3] - str r5, [r3, 0x4] - lsrs r0, r4, 1 - movs r1, 0x80 - lsls r1, 24 - orrs r0, r1 - str r0, [r3, 0x8] - ldr r0, [r3, 0x8] -_08030A24: - bl PlayerBufferExecCompleted - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08030A30: .4byte 0x040000d4 -_08030A34: .4byte 0x80000800 -_08030A38: .4byte 0xfffff000 - thumb_func_end PlayerHandleDMATransfer - - thumb_func_start sub_8030A3C -sub_8030A3C: @ 8030A3C - push {lr} - ldr r2, _08030A64 @ =gBattleBufferA - ldr r0, _08030A68 @ =gActiveBank - ldrb r1, [r0] - lsls r1, 9 - adds r0, r2, 0x1 - adds r0, r1, r0 - ldrb r0, [r0] - adds r2, 0x2 - adds r1, r2 - ldrb r1, [r1] - lsls r1, 8 - orrs r0, r1 - bl PlayBGM - bl PlayerBufferExecCompleted - pop {r0} - bx r0 - .align 2, 0 -_08030A64: .4byte gBattleBufferA -_08030A68: .4byte gActiveBank - thumb_func_end sub_8030A3C - - thumb_func_start sub_8030A6C -sub_8030A6C: @ 8030A6C - push {lr} - bl PlayerBufferExecCompleted - pop {r0} - bx r0 - thumb_func_end sub_8030A6C - - thumb_func_start sub_8030A78 -sub_8030A78: @ 8030A78 - push {lr} - movs r0, 0x1 - movs r1, 0 - movs r2, 0 - bl dp01_build_cmdbuf_x21_a_bb - bl PlayerBufferExecCompleted - pop {r0} - bx r0 - thumb_func_end sub_8030A78 - - thumb_func_start sub_8030A8C -sub_8030A8C: @ 8030A8C - push {lr} - movs r0, 0x1 - movs r1, 0 - movs r2, 0 - bl dp01_build_cmdbuf_x22_a_three_bytes - bl PlayerBufferExecCompleted - pop {r0} - bx r0 - thumb_func_end sub_8030A8C - - thumb_func_start sub_8030AA0 -sub_8030AA0: @ 8030AA0 - push {lr} - movs r0, 0x1 - movs r1, 0 - bl dp01_build_cmdbuf_x23_aa_0 - bl PlayerBufferExecCompleted - pop {r0} - bx r0 - thumb_func_end sub_8030AA0 - - thumb_func_start sub_8030AB4 -sub_8030AB4: @ 8030AB4 - push {lr} - movs r0, 0x1 - movs r1, 0 - bl dp01_build_cmdbuf_x24_aa_0 - bl PlayerBufferExecCompleted - pop {r0} - bx r0 - thumb_func_end sub_8030AB4 - - thumb_func_start sub_8030AC8 -sub_8030AC8: @ 8030AC8 - push {lr} - ldr r2, _08030AE0 @ =gUnknown_020238C8 - ldrb r1, [r2] - movs r0, 0x80 - negs r0, r0 - ands r0, r1 - strb r0, [r2] - bl PlayerBufferExecCompleted - pop {r0} - bx r0 - .align 2, 0 -_08030AE0: .4byte gUnknown_020238C8 - thumb_func_end sub_8030AC8 - - thumb_func_start sub_8030AE4 -sub_8030AE4: @ 8030AE4 - push {lr} - ldr r3, _08030B10 @ =gUnknown_020238C8 - ldr r1, _08030B14 @ =gBattleBufferA - ldr r0, _08030B18 @ =gActiveBank - ldrb r0, [r0] - lsls r0, 9 - adds r1, 0x1 - adds r0, r1 - ldrb r0, [r0] - movs r1, 0x7F - ands r1, r0 - ldrb r2, [r3] - movs r0, 0x80 - negs r0, r0 - ands r0, r2 - orrs r0, r1 - strb r0, [r3] - bl PlayerBufferExecCompleted - pop {r0} - bx r0 - .align 2, 0 -_08030B10: .4byte gUnknown_020238C8 -_08030B14: .4byte gBattleBufferA -_08030B18: .4byte gActiveBank - thumb_func_end sub_8030AE4 - - thumb_func_start sub_8030B1C -sub_8030B1C: @ 8030B1C - push {lr} - ldr r2, _08030B30 @ =gUnknown_020238C8 - ldrb r1, [r2] - movs r0, 0x7F - ands r0, r1 - strb r0, [r2] - bl PlayerBufferExecCompleted - pop {r0} - bx r0 - .align 2, 0 -_08030B30: .4byte gUnknown_020238C8 - thumb_func_end sub_8030B1C - - thumb_func_start sub_8030B34 -sub_8030B34: @ 8030B34 - push {lr} - ldr r3, _08030B58 @ =gUnknown_020238C8 - ldr r1, [r3] - lsls r1, 24 - lsrs r1, 31 - movs r0, 0x1 - eors r1, r0 - lsls r1, 7 - ldrb r2, [r3] - movs r0, 0x7F - ands r0, r2 - orrs r0, r1 - strb r0, [r3] - bl PlayerBufferExecCompleted - pop {r0} - bx r0 - .align 2, 0 -_08030B58: .4byte gUnknown_020238C8 - thumb_func_end sub_8030B34 - - thumb_func_start PlayerHandleHitAnimation -PlayerHandleHitAnimation: @ 8030B5C - push {r4,lr} - ldr r3, _08030B84 @ =gSprites - ldr r2, _08030B88 @ =gObjectBankIDs - ldr r4, _08030B8C @ =gActiveBank - ldrb r0, [r4] - adds r0, r2 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - adds r0, 0x3E - ldrb r0, [r0] - lsls r0, 29 - cmp r0, 0 - bge _08030B90 - bl PlayerBufferExecCompleted - b _08030BBA - .align 2, 0 -_08030B84: .4byte gSprites -_08030B88: .4byte gObjectBankIDs -_08030B8C: .4byte gActiveBank -_08030B90: - ldr r1, _08030BC0 @ =gDoingBattleAnim - movs r0, 0x1 - strb r0, [r1] - ldrb r0, [r4] - adds r0, r2 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - movs r1, 0 - strh r1, [r0, 0x30] - ldrb r0, [r4] - bl sub_8047858 - ldr r1, _08030BC4 @ =gBattleBankFunc - ldrb r0, [r4] - lsls r0, 2 - adds r0, r1 - ldr r1, _08030BC8 @ =bx_blink_t1 - str r1, [r0] -_08030BBA: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08030BC0: .4byte gDoingBattleAnim -_08030BC4: .4byte gBattleBankFunc -_08030BC8: .4byte bx_blink_t1 - thumb_func_end PlayerHandleHitAnimation - - thumb_func_start sub_8030BCC -sub_8030BCC: @ 8030BCC - push {lr} - bl PlayerBufferExecCompleted - pop {r0} - bx r0 - thumb_func_end sub_8030BCC - - thumb_func_start PlayerHandleEffectivenessSound -PlayerHandleEffectivenessSound: @ 8030BD8 - push {r4,lr} - ldr r4, _08030C14 @ =gActiveBank - ldrb r0, [r4] - bl GetBankSide - lsls r0, 24 - movs r3, 0x3F - cmp r0, 0 - bne _08030BEC - movs r3, 0xC0 -_08030BEC: - ldr r2, _08030C18 @ =gBattleBufferA - ldrb r1, [r4] - lsls r1, 9 - adds r0, r2, 0x1 - adds r0, r1, r0 - ldrb r0, [r0] - adds r2, 0x2 - adds r1, r2 - ldrb r1, [r1] - lsls r1, 8 - orrs r0, r1 - lsls r1, r3, 24 - asrs r1, 24 - bl PlaySE12WithPanning - bl PlayerBufferExecCompleted - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08030C14: .4byte gActiveBank -_08030C18: .4byte gBattleBufferA - thumb_func_end PlayerHandleEffectivenessSound - - thumb_func_start sub_8030C1C -sub_8030C1C: @ 8030C1C - push {lr} - ldr r2, _08030C44 @ =gBattleBufferA - ldr r0, _08030C48 @ =gActiveBank - ldrb r1, [r0] - lsls r1, 9 - adds r0, r2, 0x1 - adds r0, r1, r0 - ldrb r0, [r0] - adds r2, 0x2 - adds r1, r2 - ldrb r1, [r1] - lsls r1, 8 - orrs r0, r1 - bl PlayFanfare - bl PlayerBufferExecCompleted - pop {r0} - bx r0 - .align 2, 0 -_08030C44: .4byte gBattleBufferA -_08030C48: .4byte gActiveBank - thumb_func_end sub_8030C1C - - thumb_func_start PlayerHandleFaintingCry -PlayerHandleFaintingCry: @ 8030C4C - push {lr} - ldr r1, _08030C80 @ =gBattlePartyID - ldr r0, _08030C84 @ =gActiveBank - ldrb r0, [r0] - lsls r0, 1 - adds r0, r1 - ldrh r1, [r0] - movs r0, 0x64 - muls r0, r1 - ldr r1, _08030C88 @ =gPlayerParty - adds r0, r1 - movs r1, 0xB - bl GetMonData - lsls r0, 16 - lsrs r0, 16 - movs r1, 0x19 - negs r1, r1 - movs r2, 0x5 - bl PlayCry3 - bl PlayerBufferExecCompleted - pop {r0} - bx r0 - .align 2, 0 -_08030C80: .4byte gBattlePartyID -_08030C84: .4byte gActiveBank -_08030C88: .4byte gPlayerParty - thumb_func_end PlayerHandleFaintingCry - - thumb_func_start PlayerHandleIntroSlide -PlayerHandleIntroSlide: @ 8030C8C - push {lr} - ldr r1, _08030CB4 @ =gBattleBufferA - ldr r0, _08030CB8 @ =gActiveBank - ldrb r0, [r0] - lsls r0, 9 - adds r1, 0x1 - adds r0, r1 - ldrb r0, [r0] - bl sub_80E43C0 - ldr r2, _08030CBC @ =gUnknown_02024DE8 - ldrh r0, [r2] - movs r1, 0x1 - orrs r0, r1 - strh r0, [r2] - bl PlayerBufferExecCompleted - pop {r0} - bx r0 - .align 2, 0 -_08030CB4: .4byte gBattleBufferA -_08030CB8: .4byte gActiveBank -_08030CBC: .4byte gUnknown_02024DE8 - thumb_func_end PlayerHandleIntroSlide - - thumb_func_start PlayerHandleTrainerBallThrow -PlayerHandleTrainerBallThrow: @ 8030CC0 - push {r4-r7,lr} - ldr r6, _08030DF8 @ =gObjectBankIDs - ldr r7, _08030DFC @ =gActiveBank - ldrb r0, [r7] - adds r0, r6 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r5, _08030E00 @ =gSprites - adds r0, r5 - bl oamt_add_pos2_onto_pos1 - ldrb r0, [r7] - adds r0, r6 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - movs r1, 0x32 - strh r1, [r0, 0x2E] - ldrb r0, [r7] - adds r0, r6 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - ldr r1, _08030E04 @ =0x0000ffd8 - strh r1, [r0, 0x32] - ldrb r0, [r7] - adds r0, r6 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - ldrh r1, [r0, 0x22] - strh r1, [r0, 0x36] - ldrb r0, [r7] - adds r0, r6 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r1, r5, 0 - adds r1, 0x1C - adds r0, r1 - ldr r1, _08030E08 @ =sub_8078B34 - str r1, [r0] - ldrb r2, [r7] - adds r0, r2, r6 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - strh r2, [r0, 0x38] - ldrb r0, [r7] - adds r0, r6 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - ldr r1, _08030E0C @ =sub_8030E38 - bl oamt_set_x3A_32 - ldrb r0, [r7] - adds r0, r6 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - movs r1, 0x1 - bl StartSpriteAnim - ldr r0, _08030E10 @ =0x0000d6f8 - bl AllocSpritePalette - adds r4, r0, 0 - lsls r4, 24 - ldr r1, _08030E14 @ =gTrainerBackPicPaletteTable - ldr r0, _08030E18 @ =gSaveBlock2 - ldrb r0, [r0, 0x8] - lsls r0, 3 - adds r0, r1 - ldr r0, [r0] - lsrs r4, 20 - movs r2, 0x80 - lsls r2, 1 - adds r1, r4, r2 - movs r2, 0x20 - bl LoadCompressedPalette - ldrb r0, [r7] - adds r0, r6 - ldrb r0, [r0] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r5 - ldrb r2, [r1, 0x5] - movs r0, 0xF - ands r0, r2 - orrs r0, r4 - strb r0, [r1, 0x5] - ldr r0, _08030E1C @ =task05_08033660 - movs r1, 0x5 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - ldr r4, _08030E20 @ =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r4 - ldrb r0, [r7] - strh r0, [r1, 0x8] - ldrb r3, [r7] - lsls r0, r3, 1 - adds r0, r3 - lsls r0, 2 - ldr r2, _08030E24 @ =0x02017810 - adds r0, r2 - ldrb r1, [r0] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _08030DDC - ldr r0, _08030E28 @ =gUnknown_02024E68 - adds r0, r3, r0 - ldrb r1, [r0] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r4 - ldr r1, _08030E2C @ =sub_8044CA0 - str r1, [r0] -_08030DDC: - adds r2, 0x30 - ldrb r0, [r2, 0x9] - movs r1, 0x1 - orrs r0, r1 - strb r0, [r2, 0x9] - ldr r1, _08030E30 @ =gBattleBankFunc - ldrb r0, [r7] - lsls r0, 2 - adds r0, r1 - ldr r1, _08030E34 @ =nullsub_91 - str r1, [r0] - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08030DF8: .4byte gObjectBankIDs -_08030DFC: .4byte gActiveBank -_08030E00: .4byte gSprites -_08030E04: .4byte 0x0000ffd8 -_08030E08: .4byte sub_8078B34 -_08030E0C: .4byte sub_8030E38 -_08030E10: .4byte 0x0000d6f8 -_08030E14: .4byte gTrainerBackPicPaletteTable -_08030E18: .4byte gSaveBlock2 -_08030E1C: .4byte task05_08033660 -_08030E20: .4byte gTasks -_08030E24: .4byte 0x02017810 -_08030E28: .4byte gUnknown_02024E68 -_08030E2C: .4byte sub_8044CA0 -_08030E30: .4byte gBattleBankFunc -_08030E34: .4byte nullsub_91 - thumb_func_end PlayerHandleTrainerBallThrow - - thumb_func_start sub_8030E38 -sub_8030E38: @ 8030E38 - push {r4,r5,lr} - adds r5, r0, 0 - ldrh r4, [r5, 0x38] - lsls r4, 24 - lsrs r4, 24 - bl FreeSpriteOamMatrix - ldrb r0, [r5, 0x5] - lsrs r0, 4 - bl GetSpritePaletteTagByPaletteNum - lsls r0, 16 - lsrs r0, 16 - bl FreeSpritePaletteByTag - adds r0, r5, 0 - bl DestroySprite - ldr r1, _08030E90 @ =gBattlePartyID - lsls r0, r4, 1 - adds r0, r1 - ldrh r1, [r0] - movs r0, 0x64 - muls r0, r1 - ldr r1, _08030E94 @ =gPlayerParty - adds r0, r1 - adds r1, r4, 0 - bl sub_80318FC - ldr r0, _08030E98 @ =gObjectBankIDs - adds r4, r0 - ldrb r1, [r4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, _08030E9C @ =gSprites - adds r0, r1 - movs r1, 0 - bl StartSpriteAnim - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08030E90: .4byte gBattlePartyID -_08030E94: .4byte gPlayerParty -_08030E98: .4byte gObjectBankIDs -_08030E9C: .4byte gSprites - thumb_func_end sub_8030E38 - - thumb_func_start task05_08033660 -task05_08033660: @ 8030EA0 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - ldr r1, _08030EC8 @ =gTasks - lsls r0, 2 - add r0, r8 - lsls r0, 3 - adds r1, r0, r1 - ldrh r2, [r1, 0xA] - movs r3, 0xA - ldrsh r0, [r1, r3] - cmp r0, 0x1E - bgt _08030ECC - adds r0, r2, 0x1 - strh r0, [r1, 0xA] - b _08030F88 - .align 2, 0 -_08030EC8: .4byte gTasks -_08030ECC: - ldr r7, _08030F0C @ =gActiveBank - ldrb r0, [r7] - mov r9, r0 - ldrh r0, [r1, 0x8] - strb r0, [r7] - bl IsDoubleBattle - lsls r0, 24 - cmp r0, 0 - beq _08030EEC - ldr r0, _08030F10 @ =gBattleTypeFlags - ldrh r1, [r0] - movs r0, 0x40 - ands r0, r1 - cmp r0, 0 - beq _08030F1C -_08030EEC: - ldr r0, _08030F14 @ =gBattleBufferA - ldrb r1, [r7] - lsls r2, r1, 9 - adds r0, 0x1 - adds r2, r0 - ldr r0, _08030F18 @ =gBattlePartyID - lsls r1, 1 - adds r1, r0 - ldrh r0, [r1] - strb r0, [r2] - ldrb r0, [r7] - movs r1, 0 - bl sub_802F934 - b _08030F70 - .align 2, 0 -_08030F0C: .4byte gActiveBank -_08030F10: .4byte gBattleTypeFlags -_08030F14: .4byte gBattleBufferA -_08030F18: .4byte gBattlePartyID -_08030F1C: - ldr r4, _08030F94 @ =gBattleBufferA - ldrb r0, [r7] - lsls r1, r0, 9 - adds r4, 0x1 - adds r1, r4 - ldr r5, _08030F98 @ =gBattlePartyID - lsls r0, 1 - adds r0, r5 - ldrh r0, [r0] - strb r0, [r1] - ldrb r0, [r7] - movs r1, 0 - bl sub_802F934 - ldrb r0, [r7] - movs r6, 0x2 - eors r0, r6 - strb r0, [r7] - ldrb r0, [r7] - lsls r1, r0, 9 - adds r1, r4 - lsls r0, 1 - adds r0, r5 - ldrh r0, [r0] - strb r0, [r1] - ldrb r1, [r7] - lsls r0, r1, 1 - adds r0, r5 - ldrh r2, [r0] - movs r0, 0x64 - muls r0, r2 - ldr r2, _08030F9C @ =gPlayerParty - adds r0, r2 - bl sub_80318FC - ldrb r0, [r7] - movs r1, 0 - bl sub_802F934 - ldrb r0, [r7] - eors r0, r6 - strb r0, [r7] -_08030F70: - ldr r1, _08030FA0 @ =gBattleBankFunc - ldr r2, _08030FA4 @ =gActiveBank - ldrb r0, [r2] - lsls r0, 2 - adds r0, r1 - ldr r1, _08030FA8 @ =sub_802D500 - str r1, [r0] - mov r3, r9 - strb r3, [r2] - mov r0, r8 - bl DestroyTask -_08030F88: - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08030F94: .4byte gBattleBufferA -_08030F98: .4byte gBattlePartyID -_08030F9C: .4byte gPlayerParty -_08030FA0: .4byte gBattleBankFunc -_08030FA4: .4byte gActiveBank -_08030FA8: .4byte sub_802D500 - thumb_func_end task05_08033660 - - thumb_func_start sub_8030FAC -sub_8030FAC: @ 8030FAC - push {r4-r6,lr} - ldr r1, _08030FD4 @ =gBattleBufferA - ldr r0, _08030FD8 @ =gActiveBank - ldrb r2, [r0] - lsls r0, r2, 9 - adds r1, 0x1 - adds r0, r1 - ldrb r0, [r0] - cmp r0, 0 - beq _08030FDC - adds r0, r2, 0 - bl GetBankSide - lsls r0, 24 - cmp r0, 0 - bne _08030FDC - bl PlayerBufferExecCompleted - b _08031044 - .align 2, 0 -_08030FD4: .4byte gBattleBufferA -_08030FD8: .4byte gActiveBank -_08030FDC: - ldr r5, _0803104C @ =gActiveBank - ldrb r1, [r5] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - ldr r6, _08031050 @ =0x02017810 - adds r0, r6 - ldrb r1, [r0] - movs r2, 0x1 - orrs r1, r2 - strb r1, [r0] - ldrb r0, [r5] - lsls r3, r0, 9 - ldr r4, _08031054 @ =gUnknown_02023A64 - adds r1, r3, r4 - subs r2, r4, 0x3 - adds r2, r3, r2 - ldrb r2, [r2] - subs r4, 0x2 - adds r3, r4 - ldrb r3, [r3] - bl sub_8044804 - ldr r2, _08031058 @ =gUnknown_02024E68 - ldrb r1, [r5] - adds r1, r2 - movs r2, 0 - strb r0, [r1] - ldrb r1, [r5] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - adds r0, r6 - strb r2, [r0, 0x5] - ldrb r1, [r5] - lsls r0, r1, 9 - adds r0, r4 - ldrb r0, [r0] - cmp r0, 0 - beq _08031038 - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - adds r0, r6 - movs r1, 0x5D - strb r1, [r0, 0x5] -_08031038: - ldr r0, _0803105C @ =gBattleBankFunc - ldrb r1, [r5] - lsls r1, 2 - adds r1, r0 - ldr r0, _08031060 @ =sub_8031064 - str r0, [r1] -_08031044: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0803104C: .4byte gActiveBank -_08031050: .4byte 0x02017810 -_08031054: .4byte gUnknown_02023A64 -_08031058: .4byte gUnknown_02024E68 -_0803105C: .4byte gBattleBankFunc -_08031060: .4byte sub_8031064 - thumb_func_end sub_8030FAC - - thumb_func_start sub_8031064 -sub_8031064: @ 8031064 - push {r4,lr} - ldr r4, _0803109C @ =gActiveBank - ldrb r1, [r4] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - ldr r3, _080310A0 @ =0x02017810 - adds r0, r3 - ldrb r1, [r0, 0x5] - adds r2, r1, 0x1 - strb r2, [r0, 0x5] - lsls r1, 24 - lsrs r1, 24 - cmp r1, 0x5C - bls _08031094 - ldrb r0, [r4] - lsls r1, r0, 1 - adds r1, r0 - lsls r1, 2 - adds r1, r3 - movs r0, 0 - strb r0, [r1, 0x5] - bl PlayerBufferExecCompleted -_08031094: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0803109C: .4byte gActiveBank -_080310A0: .4byte 0x02017810 - thumb_func_end sub_8031064 - - thumb_func_start sub_80310A4 -sub_80310A4: @ 80310A4 - push {lr} - ldr r0, _080310DC @ =gActiveBank - ldrb r3, [r0] - lsls r0, r3, 1 - adds r0, r3 - lsls r0, 2 - ldr r1, _080310E0 @ =0x02017810 - adds r0, r1 - ldrb r1, [r0] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _080310D2 - ldr r2, _080310E4 @ =gTasks - ldr r0, _080310E8 @ =gUnknown_02024E68 - adds r0, r3, r0 - ldrb r1, [r0] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r2 - ldr r1, _080310EC @ =sub_8044CA0 - str r1, [r0] -_080310D2: - bl PlayerBufferExecCompleted - pop {r0} - bx r0 - .align 2, 0 -_080310DC: .4byte gActiveBank -_080310E0: .4byte 0x02017810 -_080310E4: .4byte gTasks -_080310E8: .4byte gUnknown_02024E68 -_080310EC: .4byte sub_8044CA0 - thumb_func_end sub_80310A4 - - thumb_func_start sub_80310F0 -sub_80310F0: @ 80310F0 - push {r4,lr} - ldr r4, _08031110 @ =gActiveBank - ldrb r0, [r4] - movs r1, 0x1 - bl dp11b_obj_free - ldrb r0, [r4] - movs r1, 0 - bl dp11b_obj_free - bl PlayerBufferExecCompleted - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08031110: .4byte gActiveBank - thumb_func_end sub_80310F0 - - thumb_func_start PlayerHandleSpriteInvisibility -PlayerHandleSpriteInvisibility: @ 8031114 - push {r4,lr} - ldr r4, _08031164 @ =gActiveBank - ldrb r0, [r4] - bl sub_8078874 - lsls r0, 24 - cmp r0, 0 - beq _0803115A - ldr r3, _08031168 @ =gSprites - ldr r0, _0803116C @ =gObjectBankIDs - ldrb r1, [r4] - adds r0, r1, r0 - ldrb r0, [r0] - lsls r2, r0, 4 - adds r2, r0 - lsls r2, 2 - adds r2, r3 - ldr r0, _08031170 @ =gBattleBufferA - lsls r1, 9 - adds r0, 0x1 - adds r1, r0 - adds r2, 0x3E - movs r0, 0x1 - ldrb r1, [r1] - ands r1, r0 - lsls r1, 2 - ldrb r3, [r2] - movs r0, 0x5 - negs r0, r0 - ands r0, r3 - orrs r0, r1 - strb r0, [r2] - ldrb r0, [r4] - bl sub_8031F88 -_0803115A: - bl PlayerBufferExecCompleted - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08031164: .4byte gActiveBank -_08031168: .4byte gSprites -_0803116C: .4byte gObjectBankIDs -_08031170: .4byte gBattleBufferA - thumb_func_end PlayerHandleSpriteInvisibility - - thumb_func_start PlayerHandleBattleAnimation -PlayerHandleBattleAnimation: @ 8031174 - push {r4-r6,lr} - sub sp, 0x4 - ldr r6, _080311B8 @ =gActiveBank - ldrb r0, [r6] - bl mplay_80342A4 - lsls r0, 24 - cmp r0, 0 - bne _080311CC - ldr r5, _080311BC @ =gBattleBufferA - ldrb r2, [r6] - lsls r1, r2, 9 - adds r0, r5, 0x1 - adds r0, r1, r0 - ldrb r3, [r0] - adds r0, r5, 0x2 - adds r0, r1, r0 - ldrb r4, [r0] - adds r5, 0x3 - adds r1, r5 - ldrb r0, [r1] - lsls r0, 8 - orrs r4, r0 - str r4, [sp] - adds r0, r2, 0 - adds r1, r2, 0 - bl move_anim_start_t3 - lsls r0, 24 - cmp r0, 0 - beq _080311C0 - bl PlayerBufferExecCompleted - b _080311CC - .align 2, 0 -_080311B8: .4byte gActiveBank -_080311BC: .4byte gBattleBufferA -_080311C0: - ldr r0, _080311D4 @ =gBattleBankFunc - ldrb r1, [r6] - lsls r1, 2 - adds r1, r0 - ldr r0, _080311D8 @ =sub_802E460 - str r0, [r1] -_080311CC: - add sp, 0x4 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080311D4: .4byte gBattleBankFunc -_080311D8: .4byte sub_802E460 - thumb_func_end PlayerHandleBattleAnimation - - thumb_func_start PlayerHandleLinkStandbyMsg -PlayerHandleLinkStandbyMsg: @ 80311DC - push {r4,lr} - ldr r1, _080311FC @ =gBattleBufferA - ldr r0, _08031200 @ =gActiveBank - ldrb r0, [r0] - lsls r0, 9 - adds r1, 0x1 - adds r0, r1 - ldrb r0, [r0] - cmp r0, 0x1 - beq _0803120E - cmp r0, 0x1 - bgt _08031204 - cmp r0, 0 - beq _0803120A - b _0803122C - .align 2, 0 -_080311FC: .4byte gBattleBufferA -_08031200: .4byte gActiveBank -_08031204: - cmp r0, 0x2 - beq _08031228 - b _0803122C -_0803120A: - bl b_link_standby_message -_0803120E: - ldr r4, _08031224 @ =gActiveBank - ldrb r0, [r4] - movs r1, 0x1 - bl dp11b_obj_free - ldrb r0, [r4] - movs r1, 0 - bl dp11b_obj_free - b _0803122C - .align 2, 0 -_08031224: .4byte gActiveBank -_08031228: - bl b_link_standby_message -_0803122C: - bl PlayerBufferExecCompleted - pop {r4} - pop {r0} - bx r0 - thumb_func_end PlayerHandleLinkStandbyMsg - - thumb_func_start PlayerHandleResetActionMoveSelection -PlayerHandleResetActionMoveSelection: @ 8031238 - push {r4,lr} - ldr r1, _08031258 @ =gBattleBufferA - ldr r4, _0803125C @ =gActiveBank - ldrb r3, [r4] - lsls r0, r3, 9 - adds r1, 0x1 - adds r0, r1 - ldrb r2, [r0] - cmp r2, 0x1 - beq _08031280 - cmp r2, 0x1 - bgt _08031260 - cmp r2, 0 - beq _08031266 - b _08031290 - .align 2, 0 -_08031258: .4byte gBattleBufferA -_0803125C: .4byte gActiveBank -_08031260: - cmp r2, 0x2 - beq _08031288 - b _08031290 -_08031266: - ldr r0, _08031278 @ =gActionSelectionCursor - adds r0, r3, r0 - strb r2, [r0] - ldr r1, _0803127C @ =gMoveSelectionCursor - ldrb r0, [r4] - adds r0, r1 - strb r2, [r0] - b _08031290 - .align 2, 0 -_08031278: .4byte gActionSelectionCursor -_0803127C: .4byte gMoveSelectionCursor -_08031280: - ldr r0, _08031284 @ =gActionSelectionCursor - b _0803128A - .align 2, 0 -_08031284: .4byte gActionSelectionCursor -_08031288: - ldr r0, _0803129C @ =gMoveSelectionCursor -_0803128A: - adds r0, r3, r0 - movs r1, 0 - strb r1, [r0] -_08031290: - bl PlayerBufferExecCompleted - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0803129C: .4byte gMoveSelectionCursor - thumb_func_end PlayerHandleResetActionMoveSelection - - thumb_func_start sub_80312A0 -sub_80312A0: @ 80312A0 - push {r4,lr} - ldr r2, _080312D8 @ =gBattleOutcome - ldr r1, _080312DC @ =gBattleBufferA - ldr r4, _080312E0 @ =gActiveBank - ldrb r0, [r4] - lsls r0, 9 - adds r1, 0x1 - adds r0, r1 - ldrb r0, [r0] - strb r0, [r2] - movs r0, 0x5 - bl FadeOutMapMusic - movs r0, 0x3 - bl BeginFastPaletteFade - bl PlayerBufferExecCompleted - ldr r1, _080312E4 @ =gBattleBankFunc - ldrb r0, [r4] - lsls r0, 2 - adds r0, r1 - ldr r1, _080312E8 @ =sub_802D18C - str r1, [r0] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080312D8: .4byte gBattleOutcome -_080312DC: .4byte gBattleBufferA -_080312E0: .4byte gActiveBank -_080312E4: .4byte gBattleBankFunc -_080312E8: .4byte sub_802D18C - thumb_func_end sub_80312A0 - - thumb_func_start nullsub_43 -nullsub_43: @ 80312EC - bx lr - thumb_func_end nullsub_43 - - .align 2, 0 @ Don't pad with nop. diff --git a/asm/battle_anim_8137220.s b/asm/battle_anim_8137220.s deleted file mode 100644 index f88a938e7..000000000 --- a/asm/battle_anim_8137220.s +++ /dev/null @@ -1,5125 +0,0 @@ - .include "constants/gba_constants.inc" - .include "constants/species_constants.inc" - .include "asm/macros.inc" - - .syntax unified - - .text - - thumb_func_start unref_sub_8137220 -unref_sub_8137220: @ 8137220 - bx lr - thumb_func_end unref_sub_8137220 - - thumb_func_start SetBankFuncToWallyBufferRunCommand -SetBankFuncToWallyBufferRunCommand: @ 8137224 - ldr r1, _08137250 @ =gBattleBankFunc - ldr r0, _08137254 @ =gActiveBank - ldrb r0, [r0] - lsls r0, 2 - adds r0, r1 - ldr r1, _08137258 @ =WallyBufferRunCommand - str r1, [r0] - ldr r1, _0813725C @ =0x02000000 - ldr r2, _08137260 @ =0x000160a8 - adds r0, r1, r2 - movs r2, 0 - strb r2, [r0] - ldr r3, _08137264 @ =0x000160a9 - adds r0, r1, r3 - strb r2, [r0] - adds r3, 0x1 - adds r0, r1, r3 - strb r2, [r0] - ldr r0, _08137268 @ =0x000160ab - adds r1, r0 - strb r2, [r1] - bx lr - .align 2, 0 -_08137250: .4byte gBattleBankFunc -_08137254: .4byte gActiveBank -_08137258: .4byte WallyBufferRunCommand -_0813725C: .4byte 0x02000000 -_08137260: .4byte 0x000160a8 -_08137264: .4byte 0x000160a9 -_08137268: .4byte 0x000160ab - thumb_func_end SetBankFuncToWallyBufferRunCommand - - thumb_func_start WallyBufferRunCommand -WallyBufferRunCommand: @ 813726C - push {lr} - ldr r2, _081372A0 @ =gBattleExecBuffer - ldr r1, _081372A4 @ =gBitTable - ldr r0, _081372A8 @ =gActiveBank - ldrb r3, [r0] - lsls r0, r3, 2 - adds r0, r1 - ldr r1, [r2] - ldr r0, [r0] - ands r1, r0 - cmp r1, 0 - beq _081372B8 - ldr r0, _081372AC @ =gBattleBufferA - lsls r1, r3, 9 - adds r1, r0 - ldrb r0, [r1] - cmp r0, 0x38 - bhi _081372B4 - ldr r0, _081372B0 @ =gWallyBufferCommands - ldrb r1, [r1] - lsls r1, 2 - adds r1, r0 - ldr r0, [r1] - bl _call_via_r0 - b _081372B8 - .align 2, 0 -_081372A0: .4byte gBattleExecBuffer -_081372A4: .4byte gBitTable -_081372A8: .4byte gActiveBank -_081372AC: .4byte gBattleBufferA -_081372B0: .4byte gWallyBufferCommands -_081372B4: - bl WallyBufferExecCompleted -_081372B8: - pop {r0} - bx r0 - thumb_func_end WallyBufferRunCommand - - thumb_func_start sub_81372BC -sub_81372BC: @ 81372BC - push {r4-r6,lr} - ldr r1, _081372D8 @ =0x02000000 - ldr r2, _081372DC @ =0x000160a8 - adds r0, r1, r2 - ldrb r0, [r0] - adds r5, r1, 0 - cmp r0, 0x5 - bls _081372CE - b _08137410 -_081372CE: - lsls r0, 2 - ldr r1, _081372E0 @ =_081372E4 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_081372D8: .4byte 0x02000000 -_081372DC: .4byte 0x000160a8 -_081372E0: .4byte _081372E4 - .align 2, 0 -_081372E4: - .4byte _081372FC - .4byte _0813730E - .4byte _08137344 - .4byte _08137368 - .4byte _081373AC - .4byte _081373E8 -_081372FC: - ldr r0, _0813733C @ =0x000160aa - adds r1, r5, r0 - movs r0, 0x40 - strb r0, [r1] - ldr r2, _08137340 @ =0x000160a8 - adds r1, r5, r2 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] -_0813730E: - ldr r0, _0813733C @ =0x000160aa - adds r6, r5, r0 - ldrb r0, [r6] - subs r0, 0x1 - strb r0, [r6] - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0 - bne _08137410 - movs r0, 0x5 - bl PlaySE - movs r0, 0x1 - movs r1, 0 - movs r2, 0 - bl dp01_build_cmdbuf_x21_a_bb - bl WallyBufferExecCompleted - ldr r2, _08137340 @ =0x000160a8 - adds r1, r5, r2 - b _0813738C - .align 2, 0 -_0813733C: .4byte 0x000160aa -_08137340: .4byte 0x000160a8 -_08137344: - ldr r2, _08137364 @ =0x000160aa - adds r6, r5, r2 - ldrb r0, [r6] - subs r0, 0x1 - strb r0, [r6] - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0 - bne _08137410 - movs r0, 0x5 - bl PlaySE - movs r0, 0x1 - movs r1, 0 - b _0813737E - .align 2, 0 -_08137364: .4byte 0x000160aa -_08137368: - ldr r2, _081373A0 @ =0x000160aa - adds r6, r5, r2 - ldrb r0, [r6] - subs r0, 0x1 - strb r0, [r6] - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0 - bne _08137410 - movs r0, 0x1 - movs r1, 0x9 -_0813737E: - movs r2, 0 - bl dp01_build_cmdbuf_x21_a_bb - bl WallyBufferExecCompleted - ldr r0, _081373A4 @ =0x000160a8 - adds r1, r5, r0 -_0813738C: - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - ldr r1, _081373A8 @ =0x000160a9 - adds r0, r5, r1 - strb r4, [r0] - movs r0, 0x40 - strb r0, [r6] - b _08137410 - .align 2, 0 -_081373A0: .4byte 0x000160aa -_081373A4: .4byte 0x000160a8 -_081373A8: .4byte 0x000160a9 -_081373AC: - ldr r2, _081373E0 @ =0x000160aa - adds r4, r5, r2 - ldrb r0, [r4] - subs r0, 0x1 - strb r0, [r4] - lsls r0, 24 - cmp r0, 0 - bne _08137410 - movs r0, 0x5 - bl PlaySE - movs r0, 0 - bl nullsub_8 - movs r0, 0x1 - movs r1, 0 - bl sub_802E3E4 - movs r0, 0x40 - strb r0, [r4] - ldr r0, _081373E4 @ =0x000160a8 - adds r1, r5, r0 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - b _08137410 - .align 2, 0 -_081373E0: .4byte 0x000160aa -_081373E4: .4byte 0x000160a8 -_081373E8: - ldr r2, _08137418 @ =0x000160aa - adds r1, r5, r2 - ldrb r0, [r1] - subs r0, 0x1 - strb r0, [r1] - lsls r0, 24 - cmp r0, 0 - bne _08137410 - movs r0, 0x5 - bl PlaySE - bl DestroyMenuCursor - movs r0, 0x1 - movs r1, 0x1 - movs r2, 0 - bl dp01_build_cmdbuf_x21_a_bb - bl WallyBufferExecCompleted -_08137410: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_08137418: .4byte 0x000160aa - thumb_func_end sub_81372BC - - thumb_func_start sub_813741C -sub_813741C: @ 813741C - push {lr} - ldr r2, _08137444 @ =gSprites - ldr r1, _08137448 @ =gObjectBankIDs - ldr r0, _0813744C @ =gActiveBank - ldrb r0, [r0] - adds r0, r1 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r2, 0x1C - adds r0, r2 - ldr r1, [r0] - ldr r0, _08137450 @ =SpriteCallbackDummy - cmp r1, r0 - bne _08137440 - bl WallyBufferExecCompleted -_08137440: - pop {r0} - bx r0 - .align 2, 0 -_08137444: .4byte gSprites -_08137448: .4byte gObjectBankIDs -_0813744C: .4byte gActiveBank -_08137450: .4byte SpriteCallbackDummy - thumb_func_end sub_813741C - - thumb_func_start sub_8137454 -sub_8137454: @ 8137454 - push {lr} - ldr r0, _08137468 @ =gUnknown_03004210 - ldrh r0, [r0, 0x16] - cmp r0, 0 - bne _08137462 - bl WallyBufferExecCompleted -_08137462: - pop {r0} - bx r0 - .align 2, 0 -_08137468: .4byte gUnknown_03004210 - thumb_func_end sub_8137454 - - thumb_func_start sub_813746C -sub_813746C: @ 813746C - push {lr} - ldr r0, _0813749C @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _08137496 - ldr r2, _081374A0 @ =gMain - ldr r0, _081374A4 @ =0x0000043d - adds r3, r2, r0 - ldrb r1, [r3] - movs r0, 0x3 - negs r0, r0 - ands r0, r1 - strb r0, [r3] - ldr r0, _081374A8 @ =gPreBattleCallback1 - ldr r0, [r0] - str r0, [r2] - ldr r0, [r2, 0x8] - bl SetMainCallback2 -_08137496: - pop {r0} - bx r0 - .align 2, 0 -_0813749C: .4byte gPaletteFade -_081374A0: .4byte gMain -_081374A4: .4byte 0x0000043d -_081374A8: .4byte gPreBattleCallback1 - thumb_func_end sub_813746C - - thumb_func_start bx_wait_t5 -bx_wait_t5: @ 81374AC - push {lr} - ldr r0, _081374C0 @ =gDoingBattleAnim - ldrb r0, [r0] - cmp r0, 0 - bne _081374BA - bl WallyBufferExecCompleted -_081374BA: - pop {r0} - bx r0 - .align 2, 0 -_081374C0: .4byte gDoingBattleAnim - thumb_func_end bx_wait_t5 - - thumb_func_start sub_81374C4 -sub_81374C4: @ 81374C4 - push {lr} - ldr r0, _081374EC @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _081374E8 - ldr r1, _081374F0 @ =gBattleBankFunc - ldr r0, _081374F4 @ =gActiveBank - ldrb r0, [r0] - lsls r0, 2 - adds r0, r1 - ldr r1, _081374F8 @ =sub_81374FC - str r1, [r0] - bl nullsub_14 - bl PrepareBagForWallyTutorial -_081374E8: - pop {r0} - bx r0 - .align 2, 0 -_081374EC: .4byte gPaletteFade -_081374F0: .4byte gBattleBankFunc -_081374F4: .4byte gActiveBank -_081374F8: .4byte sub_81374FC - thumb_func_end sub_81374C4 - - thumb_func_start sub_81374FC -sub_81374FC: @ 81374FC - push {lr} - ldr r0, _08137528 @ =gMain - ldr r1, [r0, 0x4] - ldr r0, _0813752C @ =sub_800F808 - cmp r1, r0 - bne _08137522 - ldr r0, _08137530 @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _08137522 - ldr r0, _08137534 @ =gScriptItemId - ldrh r1, [r0] - movs r0, 0x1 - bl dp01_build_cmdbuf_x23_aa_0 - bl WallyBufferExecCompleted -_08137522: - pop {r0} - bx r0 - .align 2, 0 -_08137528: .4byte gMain -_0813752C: .4byte sub_800F808 -_08137530: .4byte gPaletteFade -_08137534: .4byte gScriptItemId - thumb_func_end sub_81374FC - - thumb_func_start sub_8137538 -sub_8137538: @ 8137538 - push {r4-r7,lr} - ldr r5, _0813768C @ =gActiveBank - ldrb r2, [r5] - lsls r3, r2, 1 - adds r0, r3, r2 - lsls r0, 2 - ldr r4, _08137690 @ =0x02017810 - adds r0, r4 - ldrb r1, [r0] - movs r7, 0x88 - adds r0, r7, 0 - ands r0, r1 - cmp r0, 0 - bne _08137568 - ldr r0, _08137694 @ =gBattlePartyID - adds r0, r3, r0 - ldrh r1, [r0] - movs r0, 0x64 - muls r1, r0 - ldr r0, _08137698 @ =gPlayerParty - adds r1, r0 - adds r0, r2, 0 - bl sub_8141828 -_08137568: - ldrb r0, [r5] - movs r6, 0x2 - adds r2, r6, 0 - eors r2, r0 - lsls r3, r2, 1 - adds r0, r3, r2 - lsls r0, 2 - adds r0, r4 - ldrb r1, [r0] - adds r0, r7, 0 - ands r0, r1 - cmp r0, 0 - bne _08137596 - ldr r0, _08137694 @ =gBattlePartyID - adds r0, r3, r0 - ldrh r1, [r0] - movs r0, 0x64 - muls r1, r0 - ldr r0, _08137698 @ =gPlayerParty - adds r1, r0 - adds r0, r2, 0 - bl sub_8141828 -_08137596: - ldrb r2, [r5] - lsls r0, r2, 1 - adds r0, r2 - lsls r0, 2 - adds r0, r4 - ldrb r1, [r0] - movs r3, 0x8 - adds r0, r3, 0 - ands r0, r1 - cmp r0, 0 - bne _08137684 - adds r1, r6, 0 - eors r1, r2 - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - ldrb r1, [r0] - adds r0, r3, 0 - ands r0, r1 - cmp r0, 0 - bne _08137684 - bl IsDoubleBattle - lsls r0, 24 - cmp r0, 0 - beq _08137626 - ldr r0, _0813769C @ =gBattleTypeFlags - ldrh r1, [r0] - movs r0, 0x40 - ands r0, r1 - cmp r0, 0 - bne _08137626 - ldr r1, _081376A0 @ =gUnknown_0300434C - ldrb r0, [r5] - eors r0, r6 - adds r0, r1 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, _081376A4 @ =gSprites - adds r0, r1 - bl DestroySprite - ldr r4, _081376A8 @ =gHealthboxIDs - ldrb r0, [r5] - adds r1, r6, 0 - eors r1, r0 - adds r0, r1, r4 - ldrb r0, [r0] - ldr r2, _08137694 @ =gBattlePartyID - lsls r1, 1 - adds r1, r2 - ldrh r2, [r1] - movs r1, 0x64 - muls r1, r2 - ldr r2, _08137698 @ =gPlayerParty - adds r1, r2 - movs r2, 0 - bl sub_8045A5C - ldrb r0, [r5] - eors r0, r6 - bl sub_804777C - ldrb r0, [r5] - eors r0, r6 - adds r0, r4 - ldrb r0, [r0] - bl sub_8043DFC -_08137626: - ldr r1, _081376A0 @ =gUnknown_0300434C - ldr r4, _0813768C @ =gActiveBank - ldrb r0, [r4] - adds r0, r1 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, _081376A4 @ =gSprites - adds r0, r1 - bl DestroySprite - ldr r5, _081376A8 @ =gHealthboxIDs - ldrb r1, [r4] - adds r0, r1, r5 - ldrb r0, [r0] - ldr r2, _08137694 @ =gBattlePartyID - lsls r1, 1 - adds r1, r2 - ldrh r2, [r1] - movs r1, 0x64 - muls r1, r2 - ldr r2, _08137698 @ =gPlayerParty - adds r1, r2 - movs r2, 0 - bl sub_8045A5C - ldrb r0, [r4] - bl sub_804777C - ldrb r0, [r4] - adds r0, r5 - ldrb r0, [r0] - bl sub_8043DFC - ldr r2, _081376AC @ =0x02017840 - ldrb r1, [r2, 0x9] - movs r0, 0x2 - negs r0, r0 - ands r0, r1 - strb r0, [r2, 0x9] - ldr r1, _081376B0 @ =gBattleBankFunc - ldrb r0, [r4] - lsls r0, 2 - adds r0, r1 - ldr r1, _081376B4 @ =sub_81376B8 - str r1, [r0] -_08137684: - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0813768C: .4byte gActiveBank -_08137690: .4byte 0x02017810 -_08137694: .4byte gBattlePartyID -_08137698: .4byte gPlayerParty -_0813769C: .4byte gBattleTypeFlags -_081376A0: .4byte gUnknown_0300434C -_081376A4: .4byte gSprites -_081376A8: .4byte gHealthboxIDs -_081376AC: .4byte 0x02017840 -_081376B0: .4byte gBattleBankFunc -_081376B4: .4byte sub_81376B8 - thumb_func_end sub_8137538 - - thumb_func_start sub_81376B8 -sub_81376B8: @ 81376B8 - push {r4-r7,lr} - movs r4, 0 - ldr r2, _0813778C @ =gSprites - ldr r0, _08137790 @ =gHealthboxIDs - ldr r7, _08137794 @ =gActiveBank - ldrb r3, [r7] - adds r0, r3, r0 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r2, 0x1C - adds r0, r2 - ldr r1, [r0] - ldr r0, _08137798 @ =SpriteCallbackDummy - cmp r1, r0 - bne _081376DC - movs r4, 0x1 -_081376DC: - cmp r4, 0 - beq _08137784 - lsls r0, r3, 1 - adds r0, r3 - lsls r0, 2 - ldr r5, _0813779C @ =0x02017810 - adds r2, r0, r5 - ldrb r1, [r2, 0x1] - movs r4, 0x1 - adds r0, r4, 0 - ands r0, r1 - cmp r0, 0 - beq _08137784 - movs r6, 0x2 - adds r1, r6, 0 - eors r1, r3 - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - ldrb r1, [r0, 0x1] - adds r0, r4, 0 - ands r0, r1 - cmp r0, 0 - beq _08137784 - ldrb r1, [r2] - movs r3, 0x7F - adds r0, r3, 0 - ands r0, r1 - strb r0, [r2] - ldrb r0, [r7] - lsls r1, r0, 1 - adds r1, r0 - lsls r1, 2 - adds r1, r5 - ldrb r2, [r1, 0x1] - subs r4, 0x3 - adds r0, r4, 0 - ands r0, r2 - strb r0, [r1, 0x1] - ldrb r0, [r7] - adds r1, r6, 0 - eors r1, r0 - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - ldrb r1, [r0] - ands r3, r1 - strb r3, [r0] - ldrb r0, [r7] - adds r1, r6, 0 - eors r1, r0 - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - ldrb r1, [r0, 0x1] - ands r4, r1 - strb r4, [r0, 0x1] - ldr r4, _081377A0 @ =0x000027f9 - adds r0, r4, 0 - bl FreeSpriteTilesByTag - adds r0, r4, 0 - bl FreeSpritePaletteByTag - ldr r0, _081377A4 @ =c3_0802FDF4 - movs r1, 0xA - bl CreateTask - ldr r2, _081377A8 @ =gBattlePartyID - ldrb r1, [r7] - lsls r0, r1, 1 - adds r0, r2 - ldrh r2, [r0] - movs r0, 0x64 - muls r0, r2 - ldr r2, _081377AC @ =gPlayerParty - adds r0, r2 - bl sub_80324F8 - bl WallyBufferExecCompleted -_08137784: - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0813778C: .4byte gSprites -_08137790: .4byte gHealthboxIDs -_08137794: .4byte gActiveBank -_08137798: .4byte SpriteCallbackDummy -_0813779C: .4byte 0x02017810 -_081377A0: .4byte 0x000027f9 -_081377A4: .4byte c3_0802FDF4 -_081377A8: .4byte gBattlePartyID -_081377AC: .4byte gPlayerParty - thumb_func_end sub_81376B8 - - thumb_func_start sub_81377B0 -sub_81377B0: @ 81377B0 - push {r4-r6,lr} - ldr r5, _081377F0 @ =gActiveBank - ldrb r0, [r5] - ldr r6, _081377F4 @ =gHealthboxIDs - adds r1, r0, r6 - ldrb r1, [r1] - movs r2, 0 - movs r3, 0 - bl sub_8045C78 - adds r4, r0, 0 - lsls r4, 16 - lsrs r4, 16 - ldrb r0, [r5] - adds r0, r6 - ldrb r0, [r0] - bl sub_8043DFC - lsls r4, 16 - asrs r1, r4, 16 - movs r0, 0x1 - negs r0, r0 - cmp r1, r0 - beq _081377F8 - ldrb r0, [r5] - adds r0, r6 - ldrb r0, [r0] - movs r2, 0 - bl sub_80440EC - b _08137812 - .align 2, 0 -_081377F0: .4byte gActiveBank -_081377F4: .4byte gHealthboxIDs -_081377F8: - ldr r2, _08137818 @ =gBattlePartyID - ldrb r1, [r5] - lsls r0, r1, 1 - adds r0, r2 - ldrh r2, [r0] - movs r0, 0x64 - muls r0, r2 - ldr r2, _0813781C @ =gPlayerParty - adds r0, r2 - bl sub_80324F8 - bl WallyBufferExecCompleted -_08137812: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_08137818: .4byte gBattlePartyID -_0813781C: .4byte gPlayerParty - thumb_func_end sub_81377B0 - - thumb_func_start bx_blink_t5 -bx_blink_t5: @ 8137820 - push {r4,lr} - ldr r1, _0813785C @ =gObjectBankIDs - ldr r0, _08137860 @ =gActiveBank - ldrb r0, [r0] - adds r0, r1 - ldrb r1, [r0] - ldr r2, _08137864 @ =gSprites - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r4, r0, r2 - movs r1, 0x30 - ldrsh r0, [r4, r1] - cmp r0, 0x20 - bne _0813786C - movs r3, 0 - movs r0, 0 - strh r0, [r4, 0x30] - adds r2, r4, 0 - adds r2, 0x3E - ldrb r1, [r2] - subs r0, 0x5 - ands r0, r1 - strb r0, [r2] - ldr r0, _08137868 @ =gDoingBattleAnim - strb r3, [r0] - bl WallyBufferExecCompleted - b _08137896 - .align 2, 0 -_0813785C: .4byte gObjectBankIDs -_08137860: .4byte gActiveBank -_08137864: .4byte gSprites -_08137868: .4byte gDoingBattleAnim -_0813786C: - ldrh r0, [r4, 0x30] - movs r1, 0x3 - ands r0, r1 - cmp r0, 0 - bne _08137890 - adds r3, r4, 0 - adds r3, 0x3E - ldrb r2, [r3] - lsls r0, r2, 29 - lsrs r0, 31 - movs r1, 0x1 - eors r1, r0 - lsls r1, 2 - movs r0, 0x5 - negs r0, r0 - ands r0, r2 - orrs r0, r1 - strb r0, [r3] -_08137890: - ldrh r0, [r4, 0x30] - adds r0, 0x1 - strh r0, [r4, 0x30] -_08137896: - pop {r4} - pop {r0} - bx r0 - thumb_func_end bx_blink_t5 - - thumb_func_start sub_813789C -sub_813789C: @ 813789C - push {r4-r6,lr} - ldr r6, _081378F4 @ =gActiveBank - ldrb r2, [r6] - lsls r0, r2, 1 - adds r0, r2 - lsls r0, 2 - ldr r1, _081378F8 @ =0x02017810 - adds r0, r1 - ldrb r1, [r0] - movs r0, 0x40 - ands r0, r1 - cmp r0, 0 - bne _081378EC - ldr r5, _081378FC @ =gObjectBankIDs - adds r0, r2, r5 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r4, _08137900 @ =gSprites - adds r0, r4 - bl FreeSpriteOamMatrix - ldrb r0, [r6] - adds r0, r5 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - bl DestroySprite - ldr r1, _08137904 @ =gHealthboxIDs - ldrb r0, [r6] - adds r0, r1 - ldrb r0, [r0] - bl sub_8043DB0 - bl WallyBufferExecCompleted -_081378EC: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_081378F4: .4byte gActiveBank -_081378F8: .4byte 0x02017810 -_081378FC: .4byte gObjectBankIDs -_08137900: .4byte gSprites -_08137904: .4byte gHealthboxIDs - thumb_func_end sub_813789C - - thumb_func_start sub_8137908 -sub_8137908: @ 8137908 - push {lr} - ldr r2, _08137930 @ =gSprites - ldr r1, _08137934 @ =gObjectBankIDs - ldr r0, _08137938 @ =gActiveBank - ldrb r0, [r0] - adds r0, r1 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r2, 0x1C - adds r0, r2 - ldr r1, [r0] - ldr r0, _0813793C @ =SpriteCallbackDummy - cmp r1, r0 - bne _0813792C - bl WallyBufferExecCompleted -_0813792C: - pop {r0} - bx r0 - .align 2, 0 -_08137930: .4byte gSprites -_08137934: .4byte gObjectBankIDs -_08137938: .4byte gActiveBank -_0813793C: .4byte SpriteCallbackDummy - thumb_func_end sub_8137908 - - thumb_func_start sub_8137940 -sub_8137940: @ 8137940 - push {lr} - ldr r0, _08137964 @ =gActiveBank - ldrb r1, [r0] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - ldr r1, _08137968 @ =0x02017810 - adds r0, r1 - ldrb r1, [r0] - movs r0, 0x20 - ands r0, r1 - cmp r0, 0 - bne _0813795E - bl WallyBufferExecCompleted -_0813795E: - pop {r0} - bx r0 - .align 2, 0 -_08137964: .4byte gActiveBank -_08137968: .4byte 0x02017810 - thumb_func_end sub_8137940 - - thumb_func_start WallyBufferExecCompleted -WallyBufferExecCompleted: @ 813796C - push {r4,lr} - sub sp, 0x4 - ldr r1, _081379AC @ =gBattleBankFunc - ldr r4, _081379B0 @ =gActiveBank - ldrb r0, [r4] - lsls r0, 2 - adds r0, r1 - ldr r1, _081379B4 @ =WallyBufferRunCommand - str r1, [r0] - ldr r0, _081379B8 @ =gBattleTypeFlags - ldrh r1, [r0] - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _081379C0 - bl GetMultiplayerId - mov r1, sp - strb r0, [r1] - movs r0, 0x2 - movs r1, 0x4 - mov r2, sp - bl dp01_prepare_buffer_wireless_probably - ldr r1, _081379BC @ =gBattleBufferA - ldrb r0, [r4] - lsls r0, 9 - adds r0, r1 - movs r1, 0x38 - strb r1, [r0] - b _081379D2 - .align 2, 0 -_081379AC: .4byte gBattleBankFunc -_081379B0: .4byte gActiveBank -_081379B4: .4byte WallyBufferRunCommand -_081379B8: .4byte gBattleTypeFlags -_081379BC: .4byte gBattleBufferA -_081379C0: - ldr r2, _081379DC @ =gBattleExecBuffer - ldr r1, _081379E0 @ =gBitTable - ldrb r0, [r4] - lsls r0, 2 - adds r0, r1 - ldr r1, [r0] - ldr r0, [r2] - bics r0, r1 - str r0, [r2] -_081379D2: - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_081379DC: .4byte gBattleExecBuffer -_081379E0: .4byte gBitTable - thumb_func_end WallyBufferExecCompleted - - thumb_func_start unref_sub_81379E4 -unref_sub_81379E4: @ 81379E4 - push {lr} - ldr r0, _08137A08 @ =gActiveBank - ldrb r1, [r0] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - ldr r1, _08137A0C @ =0x02017810 - adds r0, r1 - ldrb r1, [r0] - movs r0, 0x10 - ands r0, r1 - cmp r0, 0 - bne _08137A02 - bl WallyBufferExecCompleted -_08137A02: - pop {r0} - bx r0 - .align 2, 0 -_08137A08: .4byte gActiveBank -_08137A0C: .4byte 0x02017810 - thumb_func_end unref_sub_81379E4 - - thumb_func_start dp01t_00_5_getattr -dp01t_00_5_getattr: @ 8137A10 - push {r4-r6,lr} - sub sp, 0x100 - movs r6, 0 - ldr r1, _08137A3C @ =gBattleBufferA - ldr r0, _08137A40 @ =gActiveBank - ldrb r2, [r0] - lsls r0, r2, 9 - adds r1, 0x2 - adds r1, r0, r1 - ldrb r0, [r1] - cmp r0, 0 - bne _08137A48 - ldr r0, _08137A44 @ =gBattlePartyID - lsls r1, r2, 1 - adds r1, r0 - ldrb r0, [r1] - mov r1, sp - bl sub_8137A84 - adds r6, r0, 0 - b _08137A6A - .align 2, 0 -_08137A3C: .4byte gBattleBufferA -_08137A40: .4byte gActiveBank -_08137A44: .4byte gBattlePartyID -_08137A48: - ldrb r4, [r1] - movs r5, 0 -_08137A4C: - movs r0, 0x1 - ands r0, r4 - cmp r0, 0 - beq _08137A62 - lsls r0, r5, 24 - lsrs r0, 24 - mov r2, sp - adds r1, r2, r6 - bl sub_8137A84 - adds r6, r0 -_08137A62: - lsrs r4, 1 - adds r5, 0x1 - cmp r5, 0x5 - ble _08137A4C -_08137A6A: - lsls r1, r6, 16 - lsrs r1, 16 - movs r0, 0x1 - mov r2, sp - bl dp01_build_cmdbuf_x1D_1D_numargs_varargs - bl WallyBufferExecCompleted - add sp, 0x100 - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end dp01t_00_5_getattr - - thumb_func_start sub_8137A84 -sub_8137A84: @ 8137A84 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x90 - adds r7, r1, 0 - lsls r0, 24 - lsrs r5, r0, 24 - movs r6, 0 - ldr r2, _08137AB8 @ =gBattleBufferA - ldr r3, _08137ABC @ =gActiveBank - ldrb r0, [r3] - lsls r0, 9 - adds r1, r2, 0x1 - adds r0, r1 - ldrb r0, [r0] - cmp r0, 0x3B - bls _08137AAE - bl _0813821A -_08137AAE: - lsls r0, 2 - ldr r1, _08137AC0 @ =_08137AC4 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_08137AB8: .4byte gBattleBufferA -_08137ABC: .4byte gActiveBank -_08137AC0: .4byte _08137AC4 - .align 2, 0 -_08137AC4: - .4byte _08137BB4 - .4byte _08137DD8 - .4byte _08137DE8 - .4byte _08137DF8 - .4byte _08137E60 - .4byte _08137E60 - .4byte _08137E60 - .4byte _08137E60 - .4byte _08137E7C - .4byte _08137EB8 - .4byte _08137EB8 - .4byte _08137EB8 - .4byte _08137EB8 - .4byte _0813821A - .4byte _0813821A - .4byte _0813821A - .4byte _0813821A - .4byte _08137ED4 - .4byte _08137EE4 - .4byte _08137F14 - .4byte _08137F24 - .4byte _08137F34 - .4byte _08137F44 - .4byte _08137F54 - .4byte _08137F64 - .4byte _08137F74 - .4byte _08137F84 - .4byte _08137F94 - .4byte _08137FA4 - .4byte _08137FB4 - .4byte _08137FC4 - .4byte _08137FD4 - .4byte _08138024 - .4byte _08138034 - .4byte _08138044 - .4byte _08138054 - .4byte _08138064 - .4byte _08138074 - .4byte _08138084 - .4byte _08138094 - .4byte _081380A4 - .4byte _081380D8 - .4byte _081380E8 - .4byte _081380F8 - .4byte _08138108 - .4byte _08138118 - .4byte _08138128 - .4byte _08138138 - .4byte _08138148 - .4byte _08138168 - .4byte _08138178 - .4byte _08138188 - .4byte _08138198 - .4byte _081381A8 - .4byte _081381B8 - .4byte _081381C8 - .4byte _081381D8 - .4byte _081381E8 - .4byte _081381F8 - .4byte _08138208 -_08137BB4: - movs r0, 0x64 - adds r4, r5, 0 - muls r4, r0 - ldr r0, _08137DC8 @ =gPlayerParty - adds r4, r0 - adds r0, r4, 0 - movs r1, 0xB - bl GetMonData - mov r1, sp - strh r0, [r1] - adds r0, r4, 0 - movs r1, 0xC - bl GetMonData - mov r1, sp - strh r0, [r1, 0x2E] - movs r6, 0 - add r0, sp, 0x24 - mov r9, r0 - movs r1, 0x3B - add r1, sp - mov r10, r1 - mov r2, sp - adds r2, 0x2B - str r2, [sp, 0x80] - mov r0, sp - adds r0, 0x2A - str r0, [sp, 0x7C] - mov r1, sp - adds r1, 0x68 - str r1, [sp, 0x8C] - adds r2, 0x5 - str r2, [sp, 0x84] - adds r0, 0x12 - str r0, [sp, 0x88] - mov r8, r4 - add r4, sp, 0xC -_08137C00: - adds r1, r6, 0 - adds r1, 0xD - mov r0, r8 - bl GetMonData - strh r0, [r4] - adds r1, r6, 0 - adds r1, 0x11 - mov r0, r8 - bl GetMonData - mov r2, r9 - adds r1, r2, r6 - strb r0, [r1] - adds r4, 0x2 - adds r6, 0x1 - cmp r6, 0x3 - ble _08137C00 - movs r0, 0x64 - adds r4, r5, 0 - muls r4, r0 - ldr r0, _08137DC8 @ =gPlayerParty - adds r4, r0 - adds r0, r4, 0 - movs r1, 0x15 - bl GetMonData - mov r1, r10 - strb r0, [r1] - adds r0, r4, 0 - movs r1, 0x20 - bl GetMonData - ldr r2, [sp, 0x80] - strb r0, [r2] - adds r0, r4, 0 - movs r1, 0x19 - bl GetMonData - str r0, [sp, 0x44] - adds r0, r4, 0 - movs r1, 0x27 - bl GetMonData - mov r3, sp - movs r5, 0x1F - ands r0, r5 - ldrb r2, [r3, 0x14] - movs r1, 0x20 - negs r1, r1 - ands r1, r2 - orrs r1, r0 - strb r1, [r3, 0x14] - adds r0, r4, 0 - movs r1, 0x28 - bl GetMonData - mov r3, sp - movs r6, 0x1F - ands r0, r6 - lsls r0, 5 - ldrh r2, [r3, 0x14] - ldr r1, _08137DCC @ =0xfffffc1f - ands r1, r2 - orrs r1, r0 - strh r1, [r3, 0x14] - adds r0, r4, 0 - movs r1, 0x29 - bl GetMonData - mov r3, sp - ands r0, r5 - lsls r0, 2 - ldrb r2, [r3, 0x15] - movs r1, 0x7D - negs r1, r1 - ands r1, r2 - orrs r1, r0 - strb r1, [r3, 0x15] - adds r0, r4, 0 - movs r1, 0x2A - bl GetMonData - movs r1, 0x1F - ands r1, r0 - lsls r1, 15 - ldr r0, [sp, 0x14] - ldr r2, _08137DD0 @ =0xfff07fff - ands r0, r2 - orrs r0, r1 - str r0, [sp, 0x14] - adds r0, r4, 0 - movs r1, 0x2B - bl GetMonData - mov r3, sp - ands r0, r6 - lsls r0, 4 - ldrh r2, [r3, 0x16] - ldr r1, _08137DD4 @ =0xfffffe0f - ands r1, r2 - orrs r1, r0 - strh r1, [r3, 0x16] - adds r0, r4, 0 - movs r1, 0x2C - bl GetMonData - mov r3, sp - ands r0, r5 - lsls r0, 1 - ldrb r2, [r3, 0x17] - movs r1, 0x3F - negs r1, r1 - ands r1, r2 - orrs r1, r0 - strb r1, [r3, 0x17] - adds r0, r4, 0 - movs r1, 0 - bl GetMonData - str r0, [sp, 0x48] - adds r0, r4, 0 - movs r1, 0x37 - bl GetMonData - str r0, [sp, 0x4C] - adds r0, r4, 0 - movs r1, 0x38 - bl GetMonData - ldr r1, [sp, 0x7C] - strb r0, [r1] - adds r0, r4, 0 - movs r1, 0x39 - bl GetMonData - mov r1, sp - strh r0, [r1, 0x28] - adds r0, r4, 0 - movs r1, 0x3A - bl GetMonData - mov r1, sp - strh r0, [r1, 0x2C] - adds r0, r4, 0 - movs r1, 0x3B - bl GetMonData - mov r1, sp - strh r0, [r1, 0x2] - adds r0, r4, 0 - movs r1, 0x3C - bl GetMonData - mov r1, sp - strh r0, [r1, 0x4] - adds r0, r4, 0 - movs r1, 0x3D - bl GetMonData - mov r1, sp - strh r0, [r1, 0x6] - adds r0, r4, 0 - movs r1, 0x3E - bl GetMonData - mov r1, sp - strh r0, [r1, 0x8] - adds r0, r4, 0 - movs r1, 0x3F - bl GetMonData - mov r1, sp - strh r0, [r1, 0xA] - adds r0, r4, 0 - movs r1, 0x2D - bl GetMonData - mov r3, sp - movs r1, 0x1 - ands r0, r1 - lsls r0, 6 - ldrb r2, [r3, 0x17] - movs r1, 0x41 - negs r1, r1 - ands r1, r2 - orrs r1, r0 - strb r1, [r3, 0x17] - adds r0, r4, 0 - movs r1, 0x2E - bl GetMonData - mov r3, sp - lsls r0, 7 - ldrb r2, [r3, 0x17] - movs r1, 0x7F - ands r1, r2 - orrs r1, r0 - strb r1, [r3, 0x17] - adds r0, r4, 0 - movs r1, 0x1 - bl GetMonData - str r0, [sp, 0x54] - adds r0, r4, 0 - movs r1, 0x2 - ldr r2, [sp, 0x8C] - bl GetMonData - ldr r0, [sp, 0x84] - ldr r1, [sp, 0x8C] - bl StringCopy10 - adds r0, r4, 0 - movs r1, 0x7 - ldr r2, [sp, 0x88] - bl GetMonData - mov r2, sp - movs r6, 0 -_08137DB8: - adds r0, r7, r6 - adds r1, r2, r6 - ldrb r1, [r1] - strb r1, [r0] - adds r6, 0x1 - cmp r6, 0x57 - bls _08137DB8 - b _0813821A - .align 2, 0 -_08137DC8: .4byte gPlayerParty -_08137DCC: .4byte 0xfffffc1f -_08137DD0: .4byte 0xfff07fff -_08137DD4: .4byte 0xfffffe0f -_08137DD8: - movs r0, 0x64 - muls r0, r5 - ldr r1, _08137DE4 @ =gPlayerParty - adds r0, r1 - movs r1, 0xB - b _08138152 - .align 2, 0 -_08137DE4: .4byte gPlayerParty -_08137DE8: - movs r0, 0x64 - muls r0, r5 - ldr r1, _08137DF4 @ =gPlayerParty - adds r0, r1 - movs r1, 0xC - b _08138152 - .align 2, 0 -_08137DF4: .4byte gPlayerParty -_08137DF8: - movs r6, 0 - add r2, sp, 0x58 - mov r9, r2 - add r0, sp, 0x60 - mov r10, r0 - movs r0, 0x64 - adds r1, r5, 0 - muls r1, r0 - ldr r0, _08137E5C @ =gPlayerParty - adds r4, r1, r0 - mov r8, r9 -_08137E0E: - adds r1, r6, 0 - adds r1, 0xD - adds r0, r4, 0 - bl GetMonData - mov r1, r8 - strh r0, [r1] - adds r1, r6, 0 - adds r1, 0x11 - adds r0, r4, 0 - bl GetMonData - mov r2, r10 - adds r1, r2, r6 - strb r0, [r1] - movs r0, 0x2 - add r8, r0 - adds r6, 0x1 - cmp r6, 0x3 - ble _08137E0E - movs r0, 0x64 - muls r0, r5 - ldr r1, _08137E5C @ =gPlayerParty - adds r0, r1 - movs r1, 0x15 - bl GetMonData - mov r1, r9 - strb r0, [r1, 0xC] - mov r2, r9 - movs r6, 0 -_08137E4C: - adds r0, r7, r6 - adds r1, r2, r6 - ldrb r1, [r1] - strb r1, [r0] - adds r6, 0x1 - cmp r6, 0xF - bls _08137E4C - b _0813821A - .align 2, 0 -_08137E5C: .4byte gPlayerParty -_08137E60: - movs r0, 0x64 - muls r0, r5 - ldr r1, _08137E78 @ =gPlayerParty - adds r0, r1 - ldrb r1, [r3] - lsls r1, 9 - adds r2, 0x1 - adds r1, r2 - ldrb r1, [r1] - adds r1, 0x9 - b _08138152 - .align 2, 0 -_08137E78: .4byte gPlayerParty -_08137E7C: - movs r6, 0 - movs r0, 0x64 - adds r4, r5, 0 - muls r4, r0 - ldr r2, _08137EB4 @ =gPlayerParty - mov r8, r2 -_08137E88: - adds r1, r6, 0 - adds r1, 0x11 - mov r2, r8 - adds r0, r4, r2 - bl GetMonData - adds r1, r7, r6 - strb r0, [r1] - adds r6, 0x1 - cmp r6, 0x3 - ble _08137E88 - movs r0, 0x64 - muls r0, r5 - ldr r1, _08137EB4 @ =gPlayerParty - adds r0, r1 - movs r1, 0x15 - bl GetMonData - adds r1, r7, r6 - strb r0, [r1] - adds r6, 0x1 - b _0813821A - .align 2, 0 -_08137EB4: .4byte gPlayerParty -_08137EB8: - movs r0, 0x64 - muls r0, r5 - ldr r1, _08137ED0 @ =gPlayerParty - adds r0, r1 - ldrb r1, [r3] - lsls r1, 9 - adds r2, 0x1 - adds r1, r2 - ldrb r1, [r1] - adds r1, 0x8 - b _08138212 - .align 2, 0 -_08137ED0: .4byte gPlayerParty -_08137ED4: - movs r0, 0x64 - muls r0, r5 - ldr r1, _08137EE0 @ =gPlayerParty - adds r0, r1 - movs r1, 0x1 - b _08137EEE - .align 2, 0 -_08137EE0: .4byte gPlayerParty -_08137EE4: - movs r0, 0x64 - muls r0, r5 - ldr r1, _08137F10 @ =gPlayerParty - adds r0, r1 - movs r1, 0x19 -_08137EEE: - bl GetMonData - adds r1, r0, 0 - strb r1, [r7] - movs r0, 0xFF - lsls r0, 8 - ands r0, r1 - lsrs r0, 8 - strb r0, [r7, 0x1] - movs r0, 0xFF - lsls r0, 16 - ands r0, r1 - lsrs r0, 16 - strb r0, [r7, 0x2] - movs r6, 0x3 - b _0813821A - .align 2, 0 -_08137F10: .4byte gPlayerParty -_08137F14: - movs r0, 0x64 - muls r0, r5 - ldr r1, _08137F20 @ =gPlayerParty - adds r0, r1 - movs r1, 0x1A - b _08138212 - .align 2, 0 -_08137F20: .4byte gPlayerParty -_08137F24: - movs r0, 0x64 - muls r0, r5 - ldr r1, _08137F30 @ =gPlayerParty - adds r0, r1 - movs r1, 0x1B - b _08138212 - .align 2, 0 -_08137F30: .4byte gPlayerParty -_08137F34: - movs r0, 0x64 - muls r0, r5 - ldr r1, _08137F40 @ =gPlayerParty - adds r0, r1 - movs r1, 0x1C - b _08138212 - .align 2, 0 -_08137F40: .4byte gPlayerParty -_08137F44: - movs r0, 0x64 - muls r0, r5 - ldr r1, _08137F50 @ =gPlayerParty - adds r0, r1 - movs r1, 0x1D - b _08138212 - .align 2, 0 -_08137F50: .4byte gPlayerParty -_08137F54: - movs r0, 0x64 - muls r0, r5 - ldr r1, _08137F60 @ =gPlayerParty - adds r0, r1 - movs r1, 0x1E - b _08138212 - .align 2, 0 -_08137F60: .4byte gPlayerParty -_08137F64: - movs r0, 0x64 - muls r0, r5 - ldr r1, _08137F70 @ =gPlayerParty - adds r0, r1 - movs r1, 0x1F - b _08138212 - .align 2, 0 -_08137F70: .4byte gPlayerParty -_08137F74: - movs r0, 0x64 - muls r0, r5 - ldr r1, _08137F80 @ =gPlayerParty - adds r0, r1 - movs r1, 0x20 - b _08138212 - .align 2, 0 -_08137F80: .4byte gPlayerParty -_08137F84: - movs r0, 0x64 - muls r0, r5 - ldr r1, _08137F90 @ =gPlayerParty - adds r0, r1 - movs r1, 0x22 - b _08138212 - .align 2, 0 -_08137F90: .4byte gPlayerParty -_08137F94: - movs r0, 0x64 - muls r0, r5 - ldr r1, _08137FA0 @ =gPlayerParty - adds r0, r1 - movs r1, 0x23 - b _08138212 - .align 2, 0 -_08137FA0: .4byte gPlayerParty -_08137FA4: - movs r0, 0x64 - muls r0, r5 - ldr r1, _08137FB0 @ =gPlayerParty - adds r0, r1 - movs r1, 0x24 - b _08138212 - .align 2, 0 -_08137FB0: .4byte gPlayerParty -_08137FB4: - movs r0, 0x64 - muls r0, r5 - ldr r1, _08137FC0 @ =gPlayerParty - adds r0, r1 - movs r1, 0x25 - b _08138212 - .align 2, 0 -_08137FC0: .4byte gPlayerParty -_08137FC4: - movs r0, 0x64 - muls r0, r5 - ldr r1, _08137FD0 @ =gPlayerParty - adds r0, r1 - movs r1, 0x26 - b _08138212 - .align 2, 0 -_08137FD0: .4byte gPlayerParty -_08137FD4: - movs r0, 0x64 - adds r4, r5, 0 - muls r4, r0 - ldr r0, _08138020 @ =gPlayerParty - adds r4, r0 - adds r0, r4, 0 - movs r1, 0x27 - bl GetMonData - strb r0, [r7] - adds r0, r4, 0 - movs r1, 0x28 - bl GetMonData - strb r0, [r7, 0x1] - adds r0, r4, 0 - movs r1, 0x29 - bl GetMonData - strb r0, [r7, 0x2] - adds r0, r4, 0 - movs r1, 0x2A - bl GetMonData - strb r0, [r7, 0x3] - adds r0, r4, 0 - movs r1, 0x2B - bl GetMonData - strb r0, [r7, 0x4] - adds r0, r4, 0 - movs r1, 0x2C - bl GetMonData - strb r0, [r7, 0x5] - movs r6, 0x6 - b _0813821A - .align 2, 0 -_08138020: .4byte gPlayerParty -_08138024: - movs r0, 0x64 - muls r0, r5 - ldr r1, _08138030 @ =gPlayerParty - adds r0, r1 - movs r1, 0x27 - b _08138212 - .align 2, 0 -_08138030: .4byte gPlayerParty -_08138034: - movs r0, 0x64 - muls r0, r5 - ldr r1, _08138040 @ =gPlayerParty - adds r0, r1 - movs r1, 0x28 - b _08138212 - .align 2, 0 -_08138040: .4byte gPlayerParty -_08138044: - movs r0, 0x64 - muls r0, r5 - ldr r1, _08138050 @ =gPlayerParty - adds r0, r1 - movs r1, 0x29 - b _08138212 - .align 2, 0 -_08138050: .4byte gPlayerParty -_08138054: - movs r0, 0x64 - muls r0, r5 - ldr r1, _08138060 @ =gPlayerParty - adds r0, r1 - movs r1, 0x2A - b _08138212 - .align 2, 0 -_08138060: .4byte gPlayerParty -_08138064: - movs r0, 0x64 - muls r0, r5 - ldr r1, _08138070 @ =gPlayerParty - adds r0, r1 - movs r1, 0x2B - b _08138212 - .align 2, 0 -_08138070: .4byte gPlayerParty -_08138074: - movs r0, 0x64 - muls r0, r5 - ldr r1, _08138080 @ =gPlayerParty - adds r0, r1 - movs r1, 0x2C - b _08138212 - .align 2, 0 -_08138080: .4byte gPlayerParty -_08138084: - movs r0, 0x64 - muls r0, r5 - ldr r1, _08138090 @ =gPlayerParty - adds r0, r1 - movs r1, 0 - b _081380AE - .align 2, 0 -_08138090: .4byte gPlayerParty -_08138094: - movs r0, 0x64 - muls r0, r5 - ldr r1, _081380A0 @ =gPlayerParty - adds r0, r1 - movs r1, 0x9 - b _08138152 - .align 2, 0 -_081380A0: .4byte gPlayerParty -_081380A4: - movs r0, 0x64 - muls r0, r5 - ldr r1, _081380D4 @ =gPlayerParty - adds r0, r1 - movs r1, 0x37 -_081380AE: - bl GetMonData - adds r1, r0, 0 - strb r1, [r7] - movs r0, 0xFF - lsls r0, 8 - ands r0, r1 - lsrs r0, 8 - strb r0, [r7, 0x1] - movs r0, 0xFF - lsls r0, 16 - ands r0, r1 - lsrs r0, 16 - strb r0, [r7, 0x2] - lsrs r0, r1, 24 - strb r0, [r7, 0x3] - movs r6, 0x4 - b _0813821A - .align 2, 0 -_081380D4: .4byte gPlayerParty -_081380D8: - movs r0, 0x64 - muls r0, r5 - ldr r1, _081380E4 @ =gPlayerParty - adds r0, r1 - movs r1, 0x38 - b _08138212 - .align 2, 0 -_081380E4: .4byte gPlayerParty -_081380E8: - movs r0, 0x64 - muls r0, r5 - ldr r1, _081380F4 @ =gPlayerParty - adds r0, r1 - movs r1, 0x39 - b _08138152 - .align 2, 0 -_081380F4: .4byte gPlayerParty -_081380F8: - movs r0, 0x64 - muls r0, r5 - ldr r1, _08138104 @ =gPlayerParty - adds r0, r1 - movs r1, 0x3A - b _08138152 - .align 2, 0 -_08138104: .4byte gPlayerParty -_08138108: - movs r0, 0x64 - muls r0, r5 - ldr r1, _08138114 @ =gPlayerParty - adds r0, r1 - movs r1, 0x3B - b _08138152 - .align 2, 0 -_08138114: .4byte gPlayerParty -_08138118: - movs r0, 0x64 - muls r0, r5 - ldr r1, _08138124 @ =gPlayerParty - adds r0, r1 - movs r1, 0x3C - b _08138152 - .align 2, 0 -_08138124: .4byte gPlayerParty -_08138128: - movs r0, 0x64 - muls r0, r5 - ldr r1, _08138134 @ =gPlayerParty - adds r0, r1 - movs r1, 0x3D - b _08138152 - .align 2, 0 -_08138134: .4byte gPlayerParty -_08138138: - movs r0, 0x64 - muls r0, r5 - ldr r1, _08138144 @ =gPlayerParty - adds r0, r1 - movs r1, 0x3E - b _08138152 - .align 2, 0 -_08138144: .4byte gPlayerParty -_08138148: - movs r0, 0x64 - muls r0, r5 - ldr r1, _08138164 @ =gPlayerParty - adds r0, r1 - movs r1, 0x3F -_08138152: - bl GetMonData - lsls r0, 16 - lsrs r0, 16 - strb r0, [r7] - lsrs r0, 8 - strb r0, [r7, 0x1] - movs r6, 0x2 - b _0813821A - .align 2, 0 -_08138164: .4byte gPlayerParty -_08138168: - movs r0, 0x64 - muls r0, r5 - ldr r1, _08138174 @ =gPlayerParty - adds r0, r1 - movs r1, 0x16 - b _08138212 - .align 2, 0 -_08138174: .4byte gPlayerParty -_08138178: - movs r0, 0x64 - muls r0, r5 - ldr r1, _08138184 @ =gPlayerParty - adds r0, r1 - movs r1, 0x17 - b _08138212 - .align 2, 0 -_08138184: .4byte gPlayerParty -_08138188: - movs r0, 0x64 - muls r0, r5 - ldr r1, _08138194 @ =gPlayerParty - adds r0, r1 - movs r1, 0x18 - b _08138212 - .align 2, 0 -_08138194: .4byte gPlayerParty -_08138198: - movs r0, 0x64 - muls r0, r5 - ldr r1, _081381A4 @ =gPlayerParty - adds r0, r1 - movs r1, 0x21 - b _08138212 - .align 2, 0 -_081381A4: .4byte gPlayerParty -_081381A8: - movs r0, 0x64 - muls r0, r5 - ldr r1, _081381B4 @ =gPlayerParty - adds r0, r1 - movs r1, 0x2F - b _08138212 - .align 2, 0 -_081381B4: .4byte gPlayerParty -_081381B8: - movs r0, 0x64 - muls r0, r5 - ldr r1, _081381C4 @ =gPlayerParty - adds r0, r1 - movs r1, 0x30 - b _08138212 - .align 2, 0 -_081381C4: .4byte gPlayerParty -_081381C8: - movs r0, 0x64 - muls r0, r5 - ldr r1, _081381D4 @ =gPlayerParty - adds r0, r1 - movs r1, 0x32 - b _08138212 - .align 2, 0 -_081381D4: .4byte gPlayerParty -_081381D8: - movs r0, 0x64 - muls r0, r5 - ldr r1, _081381E4 @ =gPlayerParty - adds r0, r1 - movs r1, 0x33 - b _08138212 - .align 2, 0 -_081381E4: .4byte gPlayerParty -_081381E8: - movs r0, 0x64 - muls r0, r5 - ldr r1, _081381F4 @ =gPlayerParty - adds r0, r1 - movs r1, 0x34 - b _08138212 - .align 2, 0 -_081381F4: .4byte gPlayerParty -_081381F8: - movs r0, 0x64 - muls r0, r5 - ldr r1, _08138204 @ =gPlayerParty - adds r0, r1 - movs r1, 0x35 - b _08138212 - .align 2, 0 -_08138204: .4byte gPlayerParty -_08138208: - movs r0, 0x64 - muls r0, r5 - ldr r1, _0813822C @ =gPlayerParty - adds r0, r1 - movs r1, 0x36 -_08138212: - bl GetMonData - strb r0, [r7] - movs r6, 0x1 -_0813821A: - adds r0, r6, 0 - add sp, 0x90 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_0813822C: .4byte gPlayerParty - thumb_func_end sub_8137A84 - - thumb_func_start sub_8138230 -sub_8138230: @ 8138230 - push {lr} - bl sub_802ECF0 - pop {r0} - bx r0 - thumb_func_end sub_8138230 - - thumb_func_start sub_813823C -sub_813823C: @ 813823C - push {r4,r5,lr} - ldr r1, _08138260 @ =gBattleBufferA - ldr r0, _08138264 @ =gActiveBank - ldrb r2, [r0] - lsls r0, r2, 9 - adds r1, 0x2 - adds r1, r0, r1 - ldrb r0, [r1] - cmp r0, 0 - bne _0813826C - ldr r0, _08138268 @ =gBattlePartyID - lsls r1, r2, 1 - adds r1, r0 - ldrb r0, [r1] - bl sub_8138294 - b _0813828A - .align 2, 0 -_08138260: .4byte gBattleBufferA -_08138264: .4byte gActiveBank -_08138268: .4byte gBattlePartyID -_0813826C: - ldrb r4, [r1] - movs r5, 0 -_08138270: - movs r0, 0x1 - ands r0, r4 - cmp r0, 0 - beq _0813827E - adds r0, r5, 0 - bl sub_8138294 -_0813827E: - lsrs r4, 1 - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0x5 - bls _08138270 -_0813828A: - bl WallyBufferExecCompleted - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_813823C - - thumb_func_start sub_8138294 -sub_8138294: @ 8138294 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x34 - lsls r0, 24 - lsrs r5, r0, 24 - ldr r0, _081382CC @ =gActiveBank - ldrb r0, [r0] - lsls r0, 9 - ldr r2, _081382D0 @ =gUnknown_02023A63 - adds r3, r0, r2 - adds r6, r3, 0 - subs r1, r2, 0x2 - adds r0, r1 - ldrb r0, [r0] - adds r7, r2, 0 - cmp r0, 0x3B - bls _081382C0 - bl _08138C5A -_081382C0: - lsls r0, 2 - ldr r1, _081382D4 @ =_081382D8 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_081382CC: .4byte gActiveBank -_081382D0: .4byte gUnknown_02023A63 -_081382D4: .4byte _081382D8 - .align 2, 0 -_081382D8: - .4byte _081383C8 - .4byte _08138560 - .4byte _08138580 - .4byte _081385A0 - .4byte _081385F8 - .4byte _081385F8 - .4byte _081385F8 - .4byte _081385F8 - .4byte _08138620 - .4byte _08138684 - .4byte _08138684 - .4byte _08138684 - .4byte _08138684 - .4byte _08138C5A - .4byte _08138C5A - .4byte _08138C5A - .4byte _08138C5A - .4byte _081386B4 - .4byte _081386D4 - .4byte _081386F4 - .4byte _08138714 - .4byte _08138734 - .4byte _08138754 - .4byte _08138774 - .4byte _08138794 - .4byte _081387B4 - .4byte _081387D4 - .4byte _081387F4 - .4byte _08138814 - .4byte _08138834 - .4byte _08138854 - .4byte _08138874 - .4byte _081388E4 - .4byte _08138904 - .4byte _08138924 - .4byte _08138944 - .4byte _08138964 - .4byte _08138984 - .4byte _081389A4 - .4byte _081389C4 - .4byte _081389E4 - .4byte _08138A04 - .4byte _08138A24 - .4byte _08138A44 - .4byte _08138A64 - .4byte _08138A84 - .4byte _08138AA4 - .4byte _08138AC4 - .4byte _08138AE4 - .4byte _08138B04 - .4byte _08138B24 - .4byte _08138B44 - .4byte _08138B64 - .4byte _08138B84 - .4byte _08138BA4 - .4byte _08138BC4 - .4byte _08138BE4 - .4byte _08138C04 - .4byte _08138C24 - .4byte _08138C44 -_081383C8: - movs r0, 0x64 - adds r4, r5, 0 - muls r4, r0 - ldr r0, _0813855C @ =gPlayerParty - adds r4, r0 - adds r0, r4, 0 - movs r1, 0xB - adds r2, r6, 0 - bl SetMonData - adds r2, r6, 0 - adds r2, 0x2E - adds r0, r4, 0 - movs r1, 0xC - bl SetMonData - movs r0, 0 - mov r8, r0 - movs r0, 0x3B - adds r0, r6 - mov r10, r0 - adds r0, r6, 0 - adds r0, 0x2B - str r0, [sp, 0x20] - adds r0, 0x19 - str r0, [sp, 0x28] - adds r0, 0x4 - str r0, [sp, 0x2C] - adds r0, 0x4 - str r0, [sp, 0x30] - subs r0, 0x22 - str r0, [sp, 0x1C] - subs r0, 0x2 - str r0, [sp, 0x18] - adds r0, 0x4 - str r0, [sp, 0x24] - adds r0, r6, 0x2 - str r0, [sp, 0x4] - adds r0, r6, 0x4 - str r0, [sp, 0x8] - adds r0, r6, 0x6 - str r0, [sp, 0xC] - adds r0, 0x2 - str r0, [sp, 0x10] - adds r0, 0x2 - str r0, [sp, 0x14] - mov r9, r4 - adds r7, r6, 0 - adds r7, 0x24 - adds r4, r6, 0 - adds r4, 0xC -_0813842E: - mov r1, r8 - adds r1, 0xD - mov r0, r9 - adds r2, r4, 0 - bl SetMonData - mov r1, r8 - adds r1, 0x11 - mov r0, r9 - adds r2, r7, 0 - bl SetMonData - adds r7, 0x1 - adds r4, 0x2 - movs r0, 0x1 - add r8, r0 - mov r0, r8 - cmp r0, 0x3 - ble _0813842E - movs r0, 0x64 - adds r4, r5, 0 - muls r4, r0 - ldr r0, _0813855C @ =gPlayerParty - adds r4, r0 - adds r0, r4, 0 - movs r1, 0x15 - mov r2, r10 - bl SetMonData - adds r0, r4, 0 - movs r1, 0x20 - ldr r2, [sp, 0x20] - bl SetMonData - adds r0, r4, 0 - movs r1, 0x19 - ldr r2, [sp, 0x28] - bl SetMonData - ldrb r0, [r6, 0x14] - lsls r0, 27 - lsrs r0, 27 - mov r1, sp - strb r0, [r1] - adds r0, r4, 0 - movs r1, 0x27 - mov r2, sp - bl SetMonData - mov r1, sp - ldrh r0, [r6, 0x14] - lsls r0, 22 - lsrs r0, 27 - strb r0, [r1] - adds r0, r4, 0 - movs r1, 0x28 - mov r2, sp - bl SetMonData - mov r1, sp - ldrb r0, [r6, 0x15] - lsls r0, 25 - lsrs r0, 27 - strb r0, [r1] - adds r0, r4, 0 - movs r1, 0x29 - mov r2, sp - bl SetMonData - mov r1, sp - ldr r0, [r6, 0x14] - lsls r0, 12 - lsrs r0, 27 - strb r0, [r1] - adds r0, r4, 0 - movs r1, 0x2A - mov r2, sp - bl SetMonData - mov r1, sp - ldrh r0, [r6, 0x16] - lsls r0, 23 - lsrs r0, 27 - strb r0, [r1] - adds r0, r4, 0 - movs r1, 0x2B - mov r2, sp - bl SetMonData - mov r1, sp - ldrb r0, [r6, 0x17] - lsls r0, 26 - lsrs r0, 27 - strb r0, [r1] - adds r0, r4, 0 - movs r1, 0x2C - mov r2, sp - bl SetMonData - adds r0, r4, 0 - movs r1, 0 - ldr r2, [sp, 0x2C] - bl SetMonData - adds r0, r4, 0 - movs r1, 0x37 - ldr r2, [sp, 0x30] - bl SetMonData - adds r0, r4, 0 - movs r1, 0x38 - ldr r2, [sp, 0x1C] - bl SetMonData - adds r0, r4, 0 - movs r1, 0x39 - ldr r2, [sp, 0x18] - bl SetMonData - adds r0, r4, 0 - movs r1, 0x3A - ldr r2, [sp, 0x24] - bl SetMonData - adds r0, r4, 0 - movs r1, 0x3B - ldr r2, [sp, 0x4] - bl SetMonData - adds r0, r4, 0 - movs r1, 0x3C - ldr r2, [sp, 0x8] - bl SetMonData - adds r0, r4, 0 - movs r1, 0x3D - ldr r2, [sp, 0xC] - bl SetMonData - adds r0, r4, 0 - movs r1, 0x3E - ldr r2, [sp, 0x10] - bl SetMonData - adds r0, r4, 0 - movs r1, 0x3F - ldr r2, [sp, 0x14] - bl SetMonData - b _08138C5A - .align 2, 0 -_0813855C: .4byte gPlayerParty -_08138560: - movs r0, 0x64 - muls r0, r5 - ldr r1, _08138578 @ =gPlayerParty - adds r0, r1 - ldr r1, _0813857C @ =gActiveBank - ldrb r2, [r1] - lsls r2, 9 - adds r2, r7 - movs r1, 0xB - bl SetMonData - b _08138C5A - .align 2, 0 -_08138578: .4byte gPlayerParty -_0813857C: .4byte gActiveBank -_08138580: - movs r0, 0x64 - muls r0, r5 - ldr r1, _08138598 @ =gPlayerParty - adds r0, r1 - ldr r1, _0813859C @ =gActiveBank - ldrb r2, [r1] - lsls r2, 9 - adds r2, r7 - movs r1, 0xC - bl SetMonData - b _08138C5A - .align 2, 0 -_08138598: .4byte gPlayerParty -_0813859C: .4byte gActiveBank -_081385A0: - movs r0, 0 - mov r8, r0 - movs r0, 0xC - adds r0, r3 - mov r9, r0 - movs r0, 0x64 - adds r1, r5, 0 - muls r1, r0 - ldr r0, _081385F4 @ =gPlayerParty - adds r7, r1, r0 - adds r6, r3, 0 - adds r6, 0x8 - adds r4, r3, 0 -_081385BA: - mov r1, r8 - adds r1, 0xD - adds r0, r7, 0 - adds r2, r4, 0 - bl SetMonData - mov r1, r8 - adds r1, 0x11 - adds r0, r7, 0 - adds r2, r6, 0 - bl SetMonData - adds r6, 0x1 - adds r4, 0x2 - movs r0, 0x1 - add r8, r0 - mov r0, r8 - cmp r0, 0x3 - ble _081385BA - movs r0, 0x64 - muls r0, r5 - ldr r1, _081385F4 @ =gPlayerParty - adds r0, r1 - movs r1, 0x15 - mov r2, r9 - bl SetMonData - b _08138C5A - .align 2, 0 -_081385F4: .4byte gPlayerParty -_081385F8: - movs r0, 0x64 - muls r0, r5 - ldr r1, _08138614 @ =gPlayerParty - adds r0, r1 - ldr r3, _08138618 @ =gBattleBufferA - ldr r1, _0813861C @ =gActiveBank - ldrb r2, [r1] - lsls r2, 9 - adds r1, r3, 0x1 - adds r1, r2, r1 - ldrb r1, [r1] - adds r1, 0x9 - b _0813869C - .align 2, 0 -_08138614: .4byte gPlayerParty -_08138618: .4byte gBattleBufferA -_0813861C: .4byte gActiveBank -_08138620: - movs r0, 0x64 - adds r4, r5, 0 - muls r4, r0 - ldr r0, _0813867C @ =gPlayerParty - adds r4, r0 - ldr r5, _08138680 @ =gActiveBank - ldrb r2, [r5] - lsls r2, 9 - adds r2, r7 - adds r0, r4, 0 - movs r1, 0x11 - bl SetMonData - ldrb r2, [r5] - lsls r2, 9 - adds r0, r7, 0x1 - adds r2, r0 - adds r0, r4, 0 - movs r1, 0x12 - bl SetMonData - ldrb r2, [r5] - lsls r2, 9 - adds r0, r7, 0x2 - adds r2, r0 - adds r0, r4, 0 - movs r1, 0x13 - bl SetMonData - ldrb r2, [r5] - lsls r2, 9 - adds r0, r7, 0x3 - adds r2, r0 - adds r0, r4, 0 - movs r1, 0x14 - bl SetMonData - ldrb r2, [r5] - lsls r2, 9 - adds r0, r7, 0x4 - adds r2, r0 - adds r0, r4, 0 - movs r1, 0x15 - bl SetMonData - b _08138C5A - .align 2, 0 -_0813867C: .4byte gPlayerParty -_08138680: .4byte gActiveBank -_08138684: - movs r0, 0x64 - muls r0, r5 - ldr r1, _081386A8 @ =gPlayerParty - adds r0, r1 - ldr r3, _081386AC @ =gBattleBufferA - ldr r1, _081386B0 @ =gActiveBank - ldrb r2, [r1] - lsls r2, 9 - adds r1, r3, 0x1 - adds r1, r2, r1 - ldrb r1, [r1] - adds r1, 0x8 -_0813869C: - adds r3, 0x3 - adds r2, r3 - bl SetMonData - b _08138C5A - .align 2, 0 -_081386A8: .4byte gPlayerParty -_081386AC: .4byte gBattleBufferA -_081386B0: .4byte gActiveBank -_081386B4: - movs r0, 0x64 - muls r0, r5 - ldr r1, _081386CC @ =gPlayerParty - adds r0, r1 - ldr r1, _081386D0 @ =gActiveBank - ldrb r2, [r1] - lsls r2, 9 - adds r2, r7 - movs r1, 0x1 - bl SetMonData - b _08138C5A - .align 2, 0 -_081386CC: .4byte gPlayerParty -_081386D0: .4byte gActiveBank -_081386D4: - movs r0, 0x64 - muls r0, r5 - ldr r1, _081386EC @ =gPlayerParty - adds r0, r1 - ldr r1, _081386F0 @ =gActiveBank - ldrb r2, [r1] - lsls r2, 9 - adds r2, r7 - movs r1, 0x19 - bl SetMonData - b _08138C5A - .align 2, 0 -_081386EC: .4byte gPlayerParty -_081386F0: .4byte gActiveBank -_081386F4: - movs r0, 0x64 - muls r0, r5 - ldr r1, _0813870C @ =gPlayerParty - adds r0, r1 - ldr r1, _08138710 @ =gActiveBank - ldrb r2, [r1] - lsls r2, 9 - adds r2, r7 - movs r1, 0x1A - bl SetMonData - b _08138C5A - .align 2, 0 -_0813870C: .4byte gPlayerParty -_08138710: .4byte gActiveBank -_08138714: - movs r0, 0x64 - muls r0, r5 - ldr r1, _0813872C @ =gPlayerParty - adds r0, r1 - ldr r1, _08138730 @ =gActiveBank - ldrb r2, [r1] - lsls r2, 9 - adds r2, r7 - movs r1, 0x1B - bl SetMonData - b _08138C5A - .align 2, 0 -_0813872C: .4byte gPlayerParty -_08138730: .4byte gActiveBank -_08138734: - movs r0, 0x64 - muls r0, r5 - ldr r1, _0813874C @ =gPlayerParty - adds r0, r1 - ldr r1, _08138750 @ =gActiveBank - ldrb r2, [r1] - lsls r2, 9 - adds r2, r7 - movs r1, 0x1C - bl SetMonData - b _08138C5A - .align 2, 0 -_0813874C: .4byte gPlayerParty -_08138750: .4byte gActiveBank -_08138754: - movs r0, 0x64 - muls r0, r5 - ldr r1, _0813876C @ =gPlayerParty - adds r0, r1 - ldr r1, _08138770 @ =gActiveBank - ldrb r2, [r1] - lsls r2, 9 - adds r2, r7 - movs r1, 0x1D - bl SetMonData - b _08138C5A - .align 2, 0 -_0813876C: .4byte gPlayerParty -_08138770: .4byte gActiveBank -_08138774: - movs r0, 0x64 - muls r0, r5 - ldr r1, _0813878C @ =gPlayerParty - adds r0, r1 - ldr r1, _08138790 @ =gActiveBank - ldrb r2, [r1] - lsls r2, 9 - adds r2, r7 - movs r1, 0x1E - bl SetMonData - b _08138C5A - .align 2, 0 -_0813878C: .4byte gPlayerParty -_08138790: .4byte gActiveBank -_08138794: - movs r0, 0x64 - muls r0, r5 - ldr r1, _081387AC @ =gPlayerParty - adds r0, r1 - ldr r1, _081387B0 @ =gActiveBank - ldrb r2, [r1] - lsls r2, 9 - adds r2, r7 - movs r1, 0x1F - bl SetMonData - b _08138C5A - .align 2, 0 -_081387AC: .4byte gPlayerParty -_081387B0: .4byte gActiveBank -_081387B4: - movs r0, 0x64 - muls r0, r5 - ldr r1, _081387CC @ =gPlayerParty - adds r0, r1 - ldr r1, _081387D0 @ =gActiveBank - ldrb r2, [r1] - lsls r2, 9 - adds r2, r7 - movs r1, 0x20 - bl SetMonData - b _08138C5A - .align 2, 0 -_081387CC: .4byte gPlayerParty -_081387D0: .4byte gActiveBank -_081387D4: - movs r0, 0x64 - muls r0, r5 - ldr r1, _081387EC @ =gPlayerParty - adds r0, r1 - ldr r1, _081387F0 @ =gActiveBank - ldrb r2, [r1] - lsls r2, 9 - adds r2, r7 - movs r1, 0x22 - bl SetMonData - b _08138C5A - .align 2, 0 -_081387EC: .4byte gPlayerParty -_081387F0: .4byte gActiveBank -_081387F4: - movs r0, 0x64 - muls r0, r5 - ldr r1, _0813880C @ =gPlayerParty - adds r0, r1 - ldr r1, _08138810 @ =gActiveBank - ldrb r2, [r1] - lsls r2, 9 - adds r2, r7 - movs r1, 0x23 - bl SetMonData - b _08138C5A - .align 2, 0 -_0813880C: .4byte gPlayerParty -_08138810: .4byte gActiveBank -_08138814: - movs r0, 0x64 - muls r0, r5 - ldr r1, _0813882C @ =gPlayerParty - adds r0, r1 - ldr r1, _08138830 @ =gActiveBank - ldrb r2, [r1] - lsls r2, 9 - adds r2, r7 - movs r1, 0x24 - bl SetMonData - b _08138C5A - .align 2, 0 -_0813882C: .4byte gPlayerParty -_08138830: .4byte gActiveBank -_08138834: - movs r0, 0x64 - muls r0, r5 - ldr r1, _0813884C @ =gPlayerParty - adds r0, r1 - ldr r1, _08138850 @ =gActiveBank - ldrb r2, [r1] - lsls r2, 9 - adds r2, r7 - movs r1, 0x25 - bl SetMonData - b _08138C5A - .align 2, 0 -_0813884C: .4byte gPlayerParty -_08138850: .4byte gActiveBank -_08138854: - movs r0, 0x64 - muls r0, r5 - ldr r1, _0813886C @ =gPlayerParty - adds r0, r1 - ldr r1, _08138870 @ =gActiveBank - ldrb r2, [r1] - lsls r2, 9 - adds r2, r7 - movs r1, 0x26 - bl SetMonData - b _08138C5A - .align 2, 0 -_0813886C: .4byte gPlayerParty -_08138870: .4byte gActiveBank -_08138874: - movs r0, 0x64 - adds r4, r5, 0 - muls r4, r0 - ldr r0, _081388DC @ =gPlayerParty - adds r4, r0 - ldr r5, _081388E0 @ =gActiveBank - ldrb r2, [r5] - lsls r2, 9 - adds r2, r7 - adds r0, r4, 0 - movs r1, 0x27 - bl SetMonData - ldrb r2, [r5] - lsls r2, 9 - adds r0, r7, 0x1 - adds r2, r0 - adds r0, r4, 0 - movs r1, 0x28 - bl SetMonData - ldrb r2, [r5] - lsls r2, 9 - adds r0, r7, 0x2 - adds r2, r0 - adds r0, r4, 0 - movs r1, 0x29 - bl SetMonData - ldrb r2, [r5] - lsls r2, 9 - adds r0, r7, 0x3 - adds r2, r0 - adds r0, r4, 0 - movs r1, 0x2A - bl SetMonData - ldrb r2, [r5] - lsls r2, 9 - adds r0, r7, 0x4 - adds r2, r0 - adds r0, r4, 0 - movs r1, 0x2B - bl SetMonData - ldrb r2, [r5] - lsls r2, 9 - adds r0, r7, 0x5 - adds r2, r0 - adds r0, r4, 0 - b _08138994 - .align 2, 0 -_081388DC: .4byte gPlayerParty -_081388E0: .4byte gActiveBank -_081388E4: - movs r0, 0x64 - muls r0, r5 - ldr r1, _081388FC @ =gPlayerParty - adds r0, r1 - ldr r1, _08138900 @ =gActiveBank - ldrb r2, [r1] - lsls r2, 9 - adds r2, r7 - movs r1, 0x27 - bl SetMonData - b _08138C5A - .align 2, 0 -_081388FC: .4byte gPlayerParty -_08138900: .4byte gActiveBank -_08138904: - movs r0, 0x64 - muls r0, r5 - ldr r1, _0813891C @ =gPlayerParty - adds r0, r1 - ldr r1, _08138920 @ =gActiveBank - ldrb r2, [r1] - lsls r2, 9 - adds r2, r7 - movs r1, 0x28 - bl SetMonData - b _08138C5A - .align 2, 0 -_0813891C: .4byte gPlayerParty -_08138920: .4byte gActiveBank -_08138924: - movs r0, 0x64 - muls r0, r5 - ldr r1, _0813893C @ =gPlayerParty - adds r0, r1 - ldr r1, _08138940 @ =gActiveBank - ldrb r2, [r1] - lsls r2, 9 - adds r2, r7 - movs r1, 0x29 - bl SetMonData - b _08138C5A - .align 2, 0 -_0813893C: .4byte gPlayerParty -_08138940: .4byte gActiveBank -_08138944: - movs r0, 0x64 - muls r0, r5 - ldr r1, _0813895C @ =gPlayerParty - adds r0, r1 - ldr r1, _08138960 @ =gActiveBank - ldrb r2, [r1] - lsls r2, 9 - adds r2, r7 - movs r1, 0x2A - bl SetMonData - b _08138C5A - .align 2, 0 -_0813895C: .4byte gPlayerParty -_08138960: .4byte gActiveBank -_08138964: - movs r0, 0x64 - muls r0, r5 - ldr r1, _0813897C @ =gPlayerParty - adds r0, r1 - ldr r1, _08138980 @ =gActiveBank - ldrb r2, [r1] - lsls r2, 9 - adds r2, r7 - movs r1, 0x2B - bl SetMonData - b _08138C5A - .align 2, 0 -_0813897C: .4byte gPlayerParty -_08138980: .4byte gActiveBank -_08138984: - movs r0, 0x64 - muls r0, r5 - ldr r1, _0813899C @ =gPlayerParty - adds r0, r1 - ldr r1, _081389A0 @ =gActiveBank - ldrb r2, [r1] - lsls r2, 9 - adds r2, r7 -_08138994: - movs r1, 0x2C - bl SetMonData - b _08138C5A - .align 2, 0 -_0813899C: .4byte gPlayerParty -_081389A0: .4byte gActiveBank -_081389A4: - movs r0, 0x64 - muls r0, r5 - ldr r1, _081389BC @ =gPlayerParty - adds r0, r1 - ldr r1, _081389C0 @ =gActiveBank - ldrb r2, [r1] - lsls r2, 9 - adds r2, r7 - movs r1, 0 - bl SetMonData - b _08138C5A - .align 2, 0 -_081389BC: .4byte gPlayerParty -_081389C0: .4byte gActiveBank -_081389C4: - movs r0, 0x64 - muls r0, r5 - ldr r1, _081389DC @ =gPlayerParty - adds r0, r1 - ldr r1, _081389E0 @ =gActiveBank - ldrb r2, [r1] - lsls r2, 9 - adds r2, r7 - movs r1, 0x9 - bl SetMonData - b _08138C5A - .align 2, 0 -_081389DC: .4byte gPlayerParty -_081389E0: .4byte gActiveBank -_081389E4: - movs r0, 0x64 - muls r0, r5 - ldr r1, _081389FC @ =gPlayerParty - adds r0, r1 - ldr r1, _08138A00 @ =gActiveBank - ldrb r2, [r1] - lsls r2, 9 - adds r2, r7 - movs r1, 0x37 - bl SetMonData - b _08138C5A - .align 2, 0 -_081389FC: .4byte gPlayerParty -_08138A00: .4byte gActiveBank -_08138A04: - movs r0, 0x64 - muls r0, r5 - ldr r1, _08138A1C @ =gPlayerParty - adds r0, r1 - ldr r1, _08138A20 @ =gActiveBank - ldrb r2, [r1] - lsls r2, 9 - adds r2, r7 - movs r1, 0x38 - bl SetMonData - b _08138C5A - .align 2, 0 -_08138A1C: .4byte gPlayerParty -_08138A20: .4byte gActiveBank -_08138A24: - movs r0, 0x64 - muls r0, r5 - ldr r1, _08138A3C @ =gPlayerParty - adds r0, r1 - ldr r1, _08138A40 @ =gActiveBank - ldrb r2, [r1] - lsls r2, 9 - adds r2, r7 - movs r1, 0x39 - bl SetMonData - b _08138C5A - .align 2, 0 -_08138A3C: .4byte gPlayerParty -_08138A40: .4byte gActiveBank -_08138A44: - movs r0, 0x64 - muls r0, r5 - ldr r1, _08138A5C @ =gPlayerParty - adds r0, r1 - ldr r1, _08138A60 @ =gActiveBank - ldrb r2, [r1] - lsls r2, 9 - adds r2, r7 - movs r1, 0x3A - bl SetMonData - b _08138C5A - .align 2, 0 -_08138A5C: .4byte gPlayerParty -_08138A60: .4byte gActiveBank -_08138A64: - movs r0, 0x64 - muls r0, r5 - ldr r1, _08138A7C @ =gPlayerParty - adds r0, r1 - ldr r1, _08138A80 @ =gActiveBank - ldrb r2, [r1] - lsls r2, 9 - adds r2, r7 - movs r1, 0x3B - bl SetMonData - b _08138C5A - .align 2, 0 -_08138A7C: .4byte gPlayerParty -_08138A80: .4byte gActiveBank -_08138A84: - movs r0, 0x64 - muls r0, r5 - ldr r1, _08138A9C @ =gPlayerParty - adds r0, r1 - ldr r1, _08138AA0 @ =gActiveBank - ldrb r2, [r1] - lsls r2, 9 - adds r2, r7 - movs r1, 0x3C - bl SetMonData - b _08138C5A - .align 2, 0 -_08138A9C: .4byte gPlayerParty -_08138AA0: .4byte gActiveBank -_08138AA4: - movs r0, 0x64 - muls r0, r5 - ldr r1, _08138ABC @ =gPlayerParty - adds r0, r1 - ldr r1, _08138AC0 @ =gActiveBank - ldrb r2, [r1] - lsls r2, 9 - adds r2, r7 - movs r1, 0x3D - bl SetMonData - b _08138C5A - .align 2, 0 -_08138ABC: .4byte gPlayerParty -_08138AC0: .4byte gActiveBank -_08138AC4: - movs r0, 0x64 - muls r0, r5 - ldr r1, _08138ADC @ =gPlayerParty - adds r0, r1 - ldr r1, _08138AE0 @ =gActiveBank - ldrb r2, [r1] - lsls r2, 9 - adds r2, r7 - movs r1, 0x3E - bl SetMonData - b _08138C5A - .align 2, 0 -_08138ADC: .4byte gPlayerParty -_08138AE0: .4byte gActiveBank -_08138AE4: - movs r0, 0x64 - muls r0, r5 - ldr r1, _08138AFC @ =gPlayerParty - adds r0, r1 - ldr r1, _08138B00 @ =gActiveBank - ldrb r2, [r1] - lsls r2, 9 - adds r2, r7 - movs r1, 0x3F - bl SetMonData - b _08138C5A - .align 2, 0 -_08138AFC: .4byte gPlayerParty -_08138B00: .4byte gActiveBank -_08138B04: - movs r0, 0x64 - muls r0, r5 - ldr r1, _08138B1C @ =gPlayerParty - adds r0, r1 - ldr r1, _08138B20 @ =gActiveBank - ldrb r2, [r1] - lsls r2, 9 - adds r2, r7 - movs r1, 0x16 - bl SetMonData - b _08138C5A - .align 2, 0 -_08138B1C: .4byte gPlayerParty -_08138B20: .4byte gActiveBank -_08138B24: - movs r0, 0x64 - muls r0, r5 - ldr r1, _08138B3C @ =gPlayerParty - adds r0, r1 - ldr r1, _08138B40 @ =gActiveBank - ldrb r2, [r1] - lsls r2, 9 - adds r2, r7 - movs r1, 0x17 - bl SetMonData - b _08138C5A - .align 2, 0 -_08138B3C: .4byte gPlayerParty -_08138B40: .4byte gActiveBank -_08138B44: - movs r0, 0x64 - muls r0, r5 - ldr r1, _08138B5C @ =gPlayerParty - adds r0, r1 - ldr r1, _08138B60 @ =gActiveBank - ldrb r2, [r1] - lsls r2, 9 - adds r2, r7 - movs r1, 0x18 - bl SetMonData - b _08138C5A - .align 2, 0 -_08138B5C: .4byte gPlayerParty -_08138B60: .4byte gActiveBank -_08138B64: - movs r0, 0x64 - muls r0, r5 - ldr r1, _08138B7C @ =gPlayerParty - adds r0, r1 - ldr r1, _08138B80 @ =gActiveBank - ldrb r2, [r1] - lsls r2, 9 - adds r2, r7 - movs r1, 0x21 - bl SetMonData - b _08138C5A - .align 2, 0 -_08138B7C: .4byte gPlayerParty -_08138B80: .4byte gActiveBank -_08138B84: - movs r0, 0x64 - muls r0, r5 - ldr r1, _08138B9C @ =gPlayerParty - adds r0, r1 - ldr r1, _08138BA0 @ =gActiveBank - ldrb r2, [r1] - lsls r2, 9 - adds r2, r7 - movs r1, 0x2F - bl SetMonData - b _08138C5A - .align 2, 0 -_08138B9C: .4byte gPlayerParty -_08138BA0: .4byte gActiveBank -_08138BA4: - movs r0, 0x64 - muls r0, r5 - ldr r1, _08138BBC @ =gPlayerParty - adds r0, r1 - ldr r1, _08138BC0 @ =gActiveBank - ldrb r2, [r1] - lsls r2, 9 - adds r2, r7 - movs r1, 0x30 - bl SetMonData - b _08138C5A - .align 2, 0 -_08138BBC: .4byte gPlayerParty -_08138BC0: .4byte gActiveBank -_08138BC4: - movs r0, 0x64 - muls r0, r5 - ldr r1, _08138BDC @ =gPlayerParty - adds r0, r1 - ldr r1, _08138BE0 @ =gActiveBank - ldrb r2, [r1] - lsls r2, 9 - adds r2, r7 - movs r1, 0x32 - bl SetMonData - b _08138C5A - .align 2, 0 -_08138BDC: .4byte gPlayerParty -_08138BE0: .4byte gActiveBank -_08138BE4: - movs r0, 0x64 - muls r0, r5 - ldr r1, _08138BFC @ =gPlayerParty - adds r0, r1 - ldr r1, _08138C00 @ =gActiveBank - ldrb r2, [r1] - lsls r2, 9 - adds r2, r7 - movs r1, 0x33 - bl SetMonData - b _08138C5A - .align 2, 0 -_08138BFC: .4byte gPlayerParty -_08138C00: .4byte gActiveBank -_08138C04: - movs r0, 0x64 - muls r0, r5 - ldr r1, _08138C1C @ =gPlayerParty - adds r0, r1 - ldr r1, _08138C20 @ =gActiveBank - ldrb r2, [r1] - lsls r2, 9 - adds r2, r7 - movs r1, 0x34 - bl SetMonData - b _08138C5A - .align 2, 0 -_08138C1C: .4byte gPlayerParty -_08138C20: .4byte gActiveBank -_08138C24: - movs r0, 0x64 - muls r0, r5 - ldr r1, _08138C3C @ =gPlayerParty - adds r0, r1 - ldr r1, _08138C40 @ =gActiveBank - ldrb r2, [r1] - lsls r2, 9 - adds r2, r7 - movs r1, 0x35 - bl SetMonData - b _08138C5A - .align 2, 0 -_08138C3C: .4byte gPlayerParty -_08138C40: .4byte gActiveBank -_08138C44: - movs r0, 0x64 - muls r0, r5 - ldr r1, _08138C84 @ =gPlayerParty - adds r0, r1 - ldr r1, _08138C88 @ =gActiveBank - ldrb r2, [r1] - lsls r2, 9 - adds r2, r7 - movs r1, 0x36 - bl SetMonData -_08138C5A: - ldr r2, _08138C8C @ =gBattlePartyID - ldr r0, _08138C88 @ =gActiveBank - ldrb r1, [r0] - lsls r0, r1, 1 - adds r0, r2 - ldrh r2, [r0] - movs r0, 0x64 - muls r0, r2 - ldr r2, _08138C84 @ =gPlayerParty - adds r0, r2 - bl sub_80324F8 - add sp, 0x34 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08138C84: .4byte gPlayerParty -_08138C88: .4byte gActiveBank -_08138C8C: .4byte gBattlePartyID - thumb_func_end sub_8138294 - - thumb_func_start sub_8138C90 -sub_8138C90: @ 8138C90 - push {lr} - bl WallyBufferExecCompleted - pop {r0} - bx r0 - thumb_func_end sub_8138C90 - - thumb_func_start sub_8138C9C -sub_8138C9C: @ 8138C9C - push {lr} - bl WallyBufferExecCompleted - pop {r0} - bx r0 - thumb_func_end sub_8138C9C - - thumb_func_start sub_8138CA8 -sub_8138CA8: @ 8138CA8 - push {lr} - bl WallyBufferExecCompleted - pop {r0} - bx r0 - thumb_func_end sub_8138CA8 - - thumb_func_start sub_8138CB4 -sub_8138CB4: @ 8138CB4 - push {r4-r6,lr} - ldr r0, _08138CE0 @ =gBattleBufferA - ldr r6, _08138CE4 @ =gActiveBank - ldrb r2, [r6] - lsls r1, r2, 9 - adds r0, 0x1 - adds r1, r0 - ldrb r0, [r1] - cmp r0, 0 - bne _08138CF0 - adds r0, r2, 0 - adds r1, r2, 0 - movs r3, 0x1 - bl move_anim_start_t4 - ldr r0, _08138CE8 @ =gBattleBankFunc - ldrb r1, [r6] - lsls r1, 2 - adds r1, r0 - ldr r0, _08138CEC @ =sub_813789C - str r0, [r1] - b _08138D26 - .align 2, 0 -_08138CE0: .4byte gBattleBufferA -_08138CE4: .4byte gActiveBank -_08138CE8: .4byte gBattleBankFunc -_08138CEC: .4byte sub_813789C -_08138CF0: - ldr r5, _08138D2C @ =gObjectBankIDs - adds r0, r2, r5 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r4, _08138D30 @ =gSprites - adds r0, r4 - bl FreeSpriteOamMatrix - ldrb r0, [r6] - adds r0, r5 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - bl DestroySprite - ldr r1, _08138D34 @ =gHealthboxIDs - ldrb r0, [r6] - adds r0, r1 - ldrb r0, [r0] - bl sub_8043DB0 - bl WallyBufferExecCompleted -_08138D26: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_08138D2C: .4byte gObjectBankIDs -_08138D30: .4byte gSprites -_08138D34: .4byte gHealthboxIDs - thumb_func_end sub_8138CB4 - - thumb_func_start sub_8138D38 -sub_8138D38: @ 8138D38 - push {r4-r6,lr} - ldr r4, _08138DE0 @ =gActiveBank - ldrb r1, [r4] - movs r0, 0x2 - bl sub_8031AF4 - ldrb r0, [r4] - bl GetBankIdentity - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - movs r0, 0x2 - bl GetMonSpriteTemplate_803C5A0 - ldr r0, _08138DE4 @ =gUnknown_02024E8C - ldr r1, _08138DE8 @ =gTrainerBackPicCoords - ldrb r1, [r1, 0x8] - movs r2, 0x8 - subs r2, r1 - lsls r2, 18 - movs r1, 0xA0 - lsls r1, 15 - adds r2, r1 - asrs r2, 16 - movs r1, 0x50 - movs r3, 0x1E - bl CreateSprite - ldr r6, _08138DEC @ =gObjectBankIDs - ldrb r1, [r4] - adds r1, r6 - strb r0, [r1] - ldr r5, _08138DF0 @ =gSprites - ldrb r3, [r4] - adds r0, r3, r6 - ldrb r0, [r0] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r5 - lsls r3, 4 - ldrb r2, [r1, 0x5] - movs r0, 0xF - ands r0, r2 - orrs r0, r3 - strb r0, [r1, 0x5] - ldrb r0, [r4] - adds r0, r6 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - movs r1, 0xF0 - strh r1, [r0, 0x24] - ldrb r0, [r4] - adds r0, r6 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - ldr r1, _08138DF4 @ =0x0000fffe - strh r1, [r0, 0x2E] - ldrb r0, [r4] - adds r0, r6 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r5, 0x1C - adds r0, r5 - ldr r1, _08138DF8 @ =sub_80313A0 - str r1, [r0] - ldr r1, _08138DFC @ =gBattleBankFunc - ldrb r0, [r4] - lsls r0, 2 - adds r0, r1 - ldr r1, _08138E00 @ =sub_813741C - str r1, [r0] - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_08138DE0: .4byte gActiveBank -_08138DE4: .4byte gUnknown_02024E8C -_08138DE8: .4byte gTrainerBackPicCoords -_08138DEC: .4byte gObjectBankIDs -_08138DF0: .4byte gSprites -_08138DF4: .4byte 0x0000fffe -_08138DF8: .4byte sub_80313A0 -_08138DFC: .4byte gBattleBankFunc -_08138E00: .4byte sub_813741C - thumb_func_end sub_8138D38 - - thumb_func_start sub_8138E04 -sub_8138E04: @ 8138E04 - push {r4-r6,lr} - ldr r4, _08138EAC @ =gActiveBank - ldrb r1, [r4] - movs r0, 0x2 - bl sub_8031AF4 - ldrb r0, [r4] - bl GetBankIdentity - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - movs r0, 0x2 - bl GetMonSpriteTemplate_803C5A0 - ldr r0, _08138EB0 @ =gUnknown_02024E8C - ldr r1, _08138EB4 @ =gTrainerBackPicCoords - ldrb r1, [r1, 0x8] - movs r2, 0x8 - subs r2, r1 - lsls r2, 18 - movs r1, 0xA0 - lsls r1, 15 - adds r2, r1 - asrs r2, 16 - movs r1, 0x50 - movs r3, 0x1E - bl CreateSprite - ldr r6, _08138EB8 @ =gObjectBankIDs - ldrb r1, [r4] - adds r1, r6 - strb r0, [r1] - ldr r5, _08138EBC @ =gSprites - ldrb r3, [r4] - adds r0, r3, r6 - ldrb r0, [r0] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r5 - lsls r3, 4 - ldrb r2, [r1, 0x5] - movs r0, 0xF - ands r0, r2 - orrs r0, r3 - strb r0, [r1, 0x5] - ldrb r0, [r4] - adds r0, r6 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - ldr r1, _08138EC0 @ =0x0000ffa0 - strh r1, [r0, 0x24] - ldrb r0, [r4] - adds r0, r6 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - movs r1, 0x2 - strh r1, [r0, 0x2E] - ldrb r0, [r4] - adds r0, r6 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r5, 0x1C - adds r0, r5 - ldr r1, _08138EC4 @ =sub_80313A0 - str r1, [r0] - ldr r1, _08138EC8 @ =gBattleBankFunc - ldrb r0, [r4] - lsls r0, 2 - adds r0, r1 - ldr r1, _08138ECC @ =sub_8137908 - str r1, [r0] - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_08138EAC: .4byte gActiveBank -_08138EB0: .4byte gUnknown_02024E8C -_08138EB4: .4byte gTrainerBackPicCoords -_08138EB8: .4byte gObjectBankIDs -_08138EBC: .4byte gSprites -_08138EC0: .4byte 0x0000ffa0 -_08138EC4: .4byte sub_80313A0 -_08138EC8: .4byte gBattleBankFunc -_08138ECC: .4byte sub_8137908 - thumb_func_end sub_8138E04 - - thumb_func_start sub_8138ED0 -sub_8138ED0: @ 8138ED0 - push {lr} - bl WallyBufferExecCompleted - pop {r0} - bx r0 - thumb_func_end sub_8138ED0 - - thumb_func_start sub_8138EDC -sub_8138EDC: @ 8138EDC - push {lr} - bl WallyBufferExecCompleted - pop {r0} - bx r0 - thumb_func_end sub_8138EDC - - thumb_func_start sub_8138EE8 -sub_8138EE8: @ 8138EE8 - push {lr} - bl WallyBufferExecCompleted - pop {r0} - bx r0 - thumb_func_end sub_8138EE8 - - thumb_func_start sub_8138EF4 -sub_8138EF4: @ 8138EF4 - push {r4,r5,lr} - ldr r1, _08138F30 @ =0x02017840 - movs r0, 0x4 - strb r0, [r1, 0x8] - ldr r1, _08138F34 @ =gDoingBattleAnim - movs r0, 0x1 - strb r0, [r1] - ldr r5, _08138F38 @ =gActiveBank - ldrb r4, [r5] - movs r0, 0x1 - bl GetBankByPlayerAI - adds r2, r0, 0 - lsls r2, 24 - lsrs r2, 24 - adds r0, r4, 0 - adds r1, r4, 0 - movs r3, 0x4 - bl move_anim_start_t4 - ldr r1, _08138F3C @ =gBattleBankFunc - ldrb r0, [r5] - lsls r0, 2 - adds r0, r1 - ldr r1, _08138F40 @ =bx_wait_t5 - str r1, [r0] - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08138F30: .4byte 0x02017840 -_08138F34: .4byte gDoingBattleAnim -_08138F38: .4byte gActiveBank -_08138F3C: .4byte gBattleBankFunc -_08138F40: .4byte bx_wait_t5 - thumb_func_end sub_8138EF4 - - thumb_func_start sub_8138F44 -sub_8138F44: @ 8138F44 - push {r4,r5,lr} - ldr r1, _08138F88 @ =gBattleBufferA - ldr r5, _08138F8C @ =gActiveBank - ldrb r0, [r5] - lsls r0, 9 - adds r1, 0x1 - adds r0, r1 - ldrb r1, [r0] - ldr r0, _08138F90 @ =0x02017840 - strb r1, [r0, 0x8] - ldr r1, _08138F94 @ =gDoingBattleAnim - movs r0, 0x1 - strb r0, [r1] - ldrb r4, [r5] - movs r0, 0x1 - bl GetBankByPlayerAI - adds r2, r0, 0 - lsls r2, 24 - lsrs r2, 24 - adds r0, r4, 0 - adds r1, r4, 0 - movs r3, 0x4 - bl move_anim_start_t4 - ldr r1, _08138F98 @ =gBattleBankFunc - ldrb r0, [r5] - lsls r0, 2 - adds r0, r1 - ldr r1, _08138F9C @ =bx_wait_t5 - str r1, [r0] - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08138F88: .4byte gBattleBufferA -_08138F8C: .4byte gActiveBank -_08138F90: .4byte 0x02017840 -_08138F94: .4byte gDoingBattleAnim -_08138F98: .4byte gBattleBankFunc -_08138F9C: .4byte bx_wait_t5 - thumb_func_end sub_8138F44 - - thumb_func_start sub_8138FA0 -sub_8138FA0: @ 8138FA0 - push {lr} - bl WallyBufferExecCompleted - pop {r0} - bx r0 - thumb_func_end sub_8138FA0 - - thumb_func_start sub_8138FAC -sub_8138FAC: @ 8138FAC - push {r4-r6,lr} - ldr r0, _08139080 @ =gBattleBufferA - mov r12, r0 - ldr r6, _08139084 @ =gActiveBank - ldrb r2, [r6] - lsls r2, 9 - adds r0, 0x1 - adds r0, r2, r0 - ldrb r0, [r0] - mov r1, r12 - adds r1, 0x2 - adds r1, r2, r1 - ldrb r1, [r1] - lsls r1, 8 - orrs r0, r1 - ldr r5, _08139088 @ =gUnknown_0202F7C4 - mov r1, r12 - adds r1, 0x3 - adds r2, r1 - ldrb r1, [r2] - strb r1, [r5] - ldr r4, _0813908C @ =gMovePowerMoveAnim - ldrb r2, [r6] - lsls r2, 9 - mov r1, r12 - adds r1, 0x4 - adds r1, r2, r1 - ldrb r3, [r1] - mov r1, r12 - adds r1, 0x5 - adds r2, r1 - ldrb r1, [r2] - lsls r1, 8 - orrs r3, r1 - strh r3, [r4] - ldr r4, _08139090 @ =gMoveDmgMoveAnim - ldrb r2, [r6] - lsls r2, 9 - mov r1, r12 - adds r1, 0x6 - adds r1, r2, r1 - ldrb r3, [r1] - mov r1, r12 - adds r1, 0x7 - adds r1, r2, r1 - ldrb r1, [r1] - lsls r1, 8 - orrs r3, r1 - mov r1, r12 - adds r1, 0x8 - adds r1, r2, r1 - ldrb r1, [r1] - lsls r1, 16 - orrs r3, r1 - mov r1, r12 - adds r1, 0x9 - adds r2, r1 - ldrb r1, [r2] - lsls r1, 24 - orrs r3, r1 - str r3, [r4] - ldr r3, _08139094 @ =gHappinessMoveAnim - ldrb r1, [r6] - lsls r1, 9 - mov r2, r12 - adds r2, 0xA - adds r1, r2 - ldrb r1, [r1] - strb r1, [r3] - ldr r4, _08139098 @ =gWeatherMoveAnim - ldrb r2, [r6] - lsls r2, 9 - mov r1, r12 - adds r1, 0xC - adds r1, r2, r1 - ldrb r3, [r1] - mov r1, r12 - adds r1, 0xD - adds r2, r1 - ldrb r1, [r2] - lsls r1, 8 - orrs r3, r1 - strh r3, [r4] - ldr r3, _0813909C @ =gDisableStructMoveAnim - ldrb r2, [r6] - lsls r2, 9 - mov r1, r12 - adds r1, 0x10 - adds r2, r1 - str r2, [r3] - ldr r3, _081390A0 @ =gPID_perBank - ldrb r1, [r6] - lsls r1, 2 - adds r1, r3 - ldr r2, [r2] - str r2, [r1] - ldrb r1, [r5] - bl sub_8031720 - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0 - beq _081390A4 - bl WallyBufferExecCompleted - b _081390BE - .align 2, 0 -_08139080: .4byte gBattleBufferA -_08139084: .4byte gActiveBank -_08139088: .4byte gUnknown_0202F7C4 -_0813908C: .4byte gMovePowerMoveAnim -_08139090: .4byte gMoveDmgMoveAnim -_08139094: .4byte gHappinessMoveAnim -_08139098: .4byte gWeatherMoveAnim -_0813909C: .4byte gDisableStructMoveAnim -_081390A0: .4byte gPID_perBank -_081390A4: - ldrb r1, [r6] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - ldr r1, _081390C4 @ =0x02017810 - adds r0, r1 - strb r2, [r0, 0x4] - ldr r1, _081390C8 @ =gBattleBankFunc - ldrb r0, [r6] - lsls r0, 2 - adds r0, r1 - ldr r1, _081390CC @ =sub_81390D0 - str r1, [r0] -_081390BE: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_081390C4: .4byte 0x02017810 -_081390C8: .4byte gBattleBankFunc -_081390CC: .4byte sub_81390D0 - thumb_func_end sub_8138FAC - - thumb_func_start sub_81390D0 -sub_81390D0: @ 81390D0 - push {r4-r7,lr} - mov r7, r8 - push {r7} - ldr r2, _0813910C @ =gBattleBufferA - ldr r5, _08139110 @ =gActiveBank - ldrb r3, [r5] - lsls r1, r3, 9 - adds r0, r2, 0x1 - mov r8, r0 - adds r0, r1, r0 - ldrb r4, [r0] - adds r7, r2, 0x2 - adds r1, r7 - ldrb r0, [r1] - lsls r0, 8 - orrs r4, r0 - lsls r0, r3, 1 - adds r0, r3 - lsls r0, 2 - ldr r6, _08139114 @ =0x02017810 - adds r0, r6 - ldrb r2, [r0, 0x4] - cmp r2, 0x1 - beq _08139150 - cmp r2, 0x1 - bgt _08139118 - cmp r2, 0 - beq _08139122 - b _081391FC - .align 2, 0 -_0813910C: .4byte gBattleBufferA -_08139110: .4byte gActiveBank -_08139114: .4byte 0x02017810 -_08139118: - cmp r2, 0x2 - beq _08139176 - cmp r2, 0x3 - beq _081391C4 - b _081391FC -_08139122: - lsls r0, r3, 2 - adds r1, r6, 0 - subs r1, 0x10 - adds r0, r1 - ldrb r1, [r0] - movs r0, 0x4 - ands r0, r1 - cmp r0, 0 - beq _08139140 - adds r0, r3, 0 - adds r1, r3, 0 - adds r2, r3, 0 - movs r3, 0x5 - bl move_anim_start_t4 -_08139140: - ldrb r0, [r5] - lsls r1, r0, 1 - adds r1, r0 - lsls r1, 2 - adds r1, r6 - movs r0, 0x1 - strb r0, [r1, 0x4] - b _081391FC -_08139150: - ldrb r1, [r0] - movs r0, 0x40 - ands r0, r1 - cmp r0, 0 - bne _081391FC - movs r0, 0 - bl sub_80326EC - adds r0, r4, 0 - bl ExecuteMoveAnim - ldrb r0, [r5] - lsls r1, r0, 1 - adds r1, r0 - lsls r1, 2 - adds r1, r6 - movs r0, 0x2 - strb r0, [r1, 0x4] - b _081391FC -_08139176: - ldr r0, _081391BC @ =gAnimScriptCallback - ldr r0, [r0] - bl _call_via_r0 - ldr r0, _081391C0 @ =gAnimScriptActive - ldrb r0, [r0] - cmp r0, 0 - bne _081391FC - movs r0, 0x1 - bl sub_80326EC - ldrb r2, [r5] - lsls r0, r2, 2 - adds r1, r6, 0 - subs r1, 0x10 - adds r0, r1 - ldrb r1, [r0] - movs r0, 0x4 - ands r0, r1 - cmp r0, 0 - beq _081391AA - adds r0, r2, 0 - adds r1, r2, 0 - movs r3, 0x6 - bl move_anim_start_t4 -_081391AA: - ldrb r0, [r5] - lsls r1, r0, 1 - adds r1, r0 - lsls r1, 2 - adds r1, r6 - movs r0, 0x3 - strb r0, [r1, 0x4] - b _081391FC - .align 2, 0 -_081391BC: .4byte gAnimScriptCallback -_081391C0: .4byte gAnimScriptActive -_081391C4: - ldrb r1, [r0] - movs r0, 0x40 - ands r0, r1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0 - bne _081391FC - bl sub_8031F24 - ldrb r0, [r5] - lsls r2, r0, 9 - mov r3, r8 - adds r1, r2, r3 - ldrb r1, [r1] - adds r2, r7 - ldrb r2, [r2] - lsls r2, 8 - orrs r1, r2 - bl sub_80324BC - ldrb r1, [r5] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - adds r0, r6 - strb r4, [r0, 0x4] - bl WallyBufferExecCompleted -_081391FC: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_81390D0 - - thumb_func_start sub_8139208 -sub_8139208: @ 8139208 - push {r4,r5,lr} - sub sp, 0x4 - ldr r0, _08139254 @ =gUnknown_030042A4 - movs r1, 0 - strh r1, [r0] - ldr r0, _08139258 @ =gUnknown_030042A0 - strh r1, [r0] - ldr r5, _0813925C @ =gActiveBank - ldrb r0, [r5] - lsls r0, 9 - ldr r1, _08139260 @ =gUnknown_02023A62 - adds r4, r0, r1 - ldrh r0, [r4] - cmp r0, 0x2 - bne _0813922A - bl DestroyMenuCursor -_0813922A: - ldrh r0, [r4] - bl BufferStringBattle - ldr r0, _08139264 @ =gUnknown_03004210 - ldr r1, _08139268 @ =gDisplayedStringBattle - movs r2, 0xF - str r2, [sp] - movs r2, 0x90 - movs r3, 0x2 - bl sub_8002EB0 - ldr r1, _0813926C @ =gBattleBankFunc - ldrb r0, [r5] - lsls r0, 2 - adds r0, r1 - ldr r1, _08139270 @ =sub_8137454 - str r1, [r0] - add sp, 0x4 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08139254: .4byte gUnknown_030042A4 -_08139258: .4byte gUnknown_030042A0 -_0813925C: .4byte gActiveBank -_08139260: .4byte gUnknown_02023A62 -_08139264: .4byte gUnknown_03004210 -_08139268: .4byte gDisplayedStringBattle -_0813926C: .4byte gBattleBankFunc -_08139270: .4byte sub_8137454 - thumb_func_end sub_8139208 - - thumb_func_start dp01t_11_5_message_for_player_only -dp01t_11_5_message_for_player_only: @ 8139274 - push {lr} - ldr r0, _0813928C @ =gActiveBank - ldrb r0, [r0] - bl GetBankSide - lsls r0, 24 - cmp r0, 0 - bne _08139290 - bl sub_8139208 - b _08139294 - .align 2, 0 -_0813928C: .4byte gActiveBank -_08139290: - bl WallyBufferExecCompleted -_08139294: - pop {r0} - bx r0 - thumb_func_end dp01t_11_5_message_for_player_only - - thumb_func_start sub_8139298 -sub_8139298: @ 8139298 - push {r4,r5,lr} - sub sp, 0x8 - ldr r0, _0813934C @ =gUnknown_030042A4 - movs r2, 0 - strh r2, [r0] - ldr r1, _08139350 @ =gUnknown_030042A0 - movs r0, 0xA0 - strh r0, [r1] - ldr r4, _08139354 @ =gUnknown_03004210 - movs r5, 0 - strb r2, [r4, 0x6] - movs r0, 0x1B - str r0, [sp] - movs r0, 0x12 - str r0, [sp, 0x4] - adds r0, r4, 0 - movs r1, 0xA - movs r2, 0x2 - movs r3, 0xF - bl FillWindowRect_DefaultPalette - movs r0, 0x10 - str r0, [sp] - movs r0, 0x24 - str r0, [sp, 0x4] - adds r0, r4, 0 - movs r1, 0xA - movs r2, 0x2 - movs r3, 0x23 - bl FillWindowRect_DefaultPalette - ldr r1, _08139358 @ =gBattleBankFunc - ldr r0, _0813935C @ =gActiveBank - ldrb r0, [r0] - lsls r0, 2 - adds r0, r1 - ldr r1, _08139360 @ =sub_81372BC - str r1, [r0] - ldr r1, _08139364 @ =gUnknown_08400CF3 - movs r2, 0xC8 - lsls r2, 1 - movs r0, 0x23 - str r0, [sp] - adds r0, r4, 0 - movs r3, 0x12 - bl InitWindow - adds r0, r4, 0 - bl sub_8002F44 - ldr r1, _08139368 @ =0x0000ffff - ldr r3, _0813936C @ =0x00002d9f - str r5, [sp] - movs r0, 0 - movs r2, 0xC - bl sub_814A5C0 - movs r4, 0 -_0813930C: - lsls r0, r4, 24 - lsrs r0, 24 - bl nullsub_8 - adds r4, 0x1 - cmp r4, 0x3 - ble _0813930C - movs r0, 0 - movs r1, 0 - bl sub_802E3E4 - ldr r0, _08139370 @ =gUnknown_08400CCC - bl StrCpyDecodeToDisplayedStringBattle - ldr r4, _08139354 @ =gUnknown_03004210 - ldr r1, _08139374 @ =gDisplayedStringBattle - movs r2, 0xDC - lsls r2, 1 - movs r0, 0x23 - str r0, [sp] - adds r0, r4, 0 - movs r3, 0x2 - bl InitWindow - adds r0, r4, 0 - bl sub_8002F44 - add sp, 0x8 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0813934C: .4byte gUnknown_030042A4 -_08139350: .4byte gUnknown_030042A0 -_08139354: .4byte gUnknown_03004210 -_08139358: .4byte gBattleBankFunc -_0813935C: .4byte gActiveBank -_08139360: .4byte sub_81372BC -_08139364: .4byte gUnknown_08400CF3 -_08139368: .4byte 0x0000ffff -_0813936C: .4byte 0x00002d9f -_08139370: .4byte gUnknown_08400CCC -_08139374: .4byte gDisplayedStringBattle - thumb_func_end sub_8139298 - - thumb_func_start sub_8139378 -sub_8139378: @ 8139378 - push {lr} - bl WallyBufferExecCompleted - pop {r0} - bx r0 - thumb_func_end sub_8139378 - - thumb_func_start sub_8139384 -sub_8139384: @ 8139384 - push {r4,r5,lr} - ldr r5, _08139398 @ =0x02000000 - ldr r0, _0813939C @ =0x000160a9 - adds r4, r5, r0 - ldrb r0, [r4] - cmp r0, 0 - beq _081393A0 - cmp r0, 0x1 - beq _081393B2 - b _081393DE - .align 2, 0 -_08139398: .4byte 0x02000000 -_0813939C: .4byte 0x000160a9 -_081393A0: - bl sub_80304A8 - ldrb r0, [r4] - adds r0, 0x1 - strb r0, [r4] - ldr r0, _081393E4 @ =0x000160ab - adds r1, r5, r0 - movs r0, 0x50 - strb r0, [r1] -_081393B2: - ldr r1, _081393E8 @ =0x02000000 - ldr r0, _081393E4 @ =0x000160ab - adds r1, r0 - ldrb r0, [r1] - subs r0, 0x1 - strb r0, [r1] - lsls r0, 24 - cmp r0, 0 - bne _081393DE - bl DestroyMenuCursor - movs r0, 0x5 - bl PlaySE - movs r2, 0x80 - lsls r2, 1 - movs r0, 0x1 - movs r1, 0xA - bl dp01_build_cmdbuf_x21_a_bb - bl WallyBufferExecCompleted -_081393DE: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_081393E4: .4byte 0x000160ab -_081393E8: .4byte 0x02000000 - thumb_func_end sub_8139384 - - thumb_func_start sub_81393EC -sub_81393EC: @ 81393EC - push {lr} - sub sp, 0x4 - movs r0, 0x1 - negs r0, r0 - movs r1, 0 - str r1, [sp] - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade - ldr r1, _0813941C @ =gBattleBankFunc - ldr r2, _08139420 @ =gActiveBank - ldrb r0, [r2] - lsls r0, 2 - adds r0, r1 - ldr r1, _08139424 @ =sub_81374C4 - str r1, [r0] - ldr r1, _08139428 @ =gBankInMenu - ldrb r0, [r2] - strb r0, [r1] - add sp, 0x4 - pop {r0} - bx r0 - .align 2, 0 -_0813941C: .4byte gBattleBankFunc -_08139420: .4byte gActiveBank -_08139424: .4byte sub_81374C4 -_08139428: .4byte gBankInMenu - thumb_func_end sub_81393EC - - thumb_func_start sub_813942C -sub_813942C: @ 813942C - push {lr} - bl WallyBufferExecCompleted - pop {r0} - bx r0 - thumb_func_end sub_813942C - - thumb_func_start sub_8139438 -sub_8139438: @ 8139438 - push {lr} - bl WallyBufferExecCompleted - pop {r0} - bx r0 - thumb_func_end sub_8139438 - - thumb_func_start sub_8139444 -sub_8139444: @ 8139444 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - sub sp, 0x4 - movs r0, 0 - bl load_gfxc_health_bar - ldr r3, _081394BC @ =gBattleBufferA - ldr r0, _081394C0 @ =gActiveBank - mov r9, r0 - ldrb r4, [r0] - lsls r2, r4, 9 - adds r0, r3, 0x2 - adds r0, r2, r0 - ldrb r1, [r0] - adds r3, 0x3 - adds r2, r3 - ldrb r0, [r2] - lsls r0, 8 - orrs r1, r0 - lsls r1, 16 - asrs r7, r1, 16 - ldr r0, _081394C4 @ =0x00007fff - cmp r7, r0 - beq _081394D4 - ldr r6, _081394C8 @ =gBattlePartyID - lsls r0, r4, 1 - adds r0, r6 - ldrh r0, [r0] - movs r5, 0x64 - muls r0, r5 - ldr r4, _081394CC @ =gPlayerParty - adds r0, r4 - movs r1, 0x3A - bl GetMonData - mov r8, r0 - mov r1, r9 - ldrb r0, [r1] - lsls r0, 1 - adds r0, r6 - ldrh r0, [r0] - muls r0, r5 - adds r0, r4 - movs r1, 0x39 - bl GetMonData - adds r3, r0, 0 - mov r1, r9 - ldrb r0, [r1] - ldr r1, _081394D0 @ =gHealthboxIDs - adds r1, r0, r1 - ldrb r1, [r1] - str r7, [sp] - mov r2, r8 - bl sub_8043D84 - b _0813950E - .align 2, 0 -_081394BC: .4byte gBattleBufferA -_081394C0: .4byte gActiveBank -_081394C4: .4byte 0x00007fff -_081394C8: .4byte gBattlePartyID -_081394CC: .4byte gPlayerParty -_081394D0: .4byte gHealthboxIDs -_081394D4: - ldr r1, _0813952C @ =gBattlePartyID - lsls r0, r4, 1 - adds r0, r1 - ldrh r1, [r0] - movs r0, 0x64 - muls r0, r1 - ldr r1, _08139530 @ =gPlayerParty - adds r0, r1 - movs r1, 0x3A - bl GetMonData - adds r2, r0, 0 - mov r1, r9 - ldrb r0, [r1] - ldr r4, _08139534 @ =gHealthboxIDs - adds r1, r0, r4 - ldrb r1, [r1] - str r7, [sp] - movs r3, 0 - bl sub_8043D84 - mov r1, r9 - ldrb r0, [r1] - adds r0, r4 - ldrb r0, [r0] - movs r1, 0 - movs r2, 0 - bl sub_80440EC -_0813950E: - ldr r1, _08139538 @ =gBattleBankFunc - ldr r0, _0813953C @ =gActiveBank - ldrb r0, [r0] - lsls r0, 2 - adds r0, r1 - ldr r1, _08139540 @ =sub_81377B0 - str r1, [r0] - add sp, 0x4 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0813952C: .4byte gBattlePartyID -_08139530: .4byte gPlayerParty -_08139534: .4byte gHealthboxIDs -_08139538: .4byte gBattleBankFunc -_0813953C: .4byte gActiveBank -_08139540: .4byte sub_81377B0 - thumb_func_end sub_8139444 - - thumb_func_start sub_8139544 -sub_8139544: @ 8139544 - push {lr} - bl WallyBufferExecCompleted - pop {r0} - bx r0 - thumb_func_end sub_8139544 - - thumb_func_start sub_8139550 -sub_8139550: @ 8139550 - push {lr} - bl WallyBufferExecCompleted - pop {r0} - bx r0 - thumb_func_end sub_8139550 - - thumb_func_start sub_813955C -sub_813955C: @ 813955C - push {lr} - bl WallyBufferExecCompleted - pop {r0} - bx r0 - thumb_func_end sub_813955C - - thumb_func_start sub_8139568 -sub_8139568: @ 8139568 - push {lr} - bl WallyBufferExecCompleted - pop {r0} - bx r0 - thumb_func_end sub_8139568 - - thumb_func_start sub_8139574 -sub_8139574: @ 8139574 - push {lr} - bl WallyBufferExecCompleted - pop {r0} - bx r0 - thumb_func_end sub_8139574 - - thumb_func_start sub_8139580 -sub_8139580: @ 8139580 - push {lr} - bl WallyBufferExecCompleted - pop {r0} - bx r0 - thumb_func_end sub_8139580 - - thumb_func_start sub_813958C -sub_813958C: @ 813958C - push {lr} - bl WallyBufferExecCompleted - pop {r0} - bx r0 - thumb_func_end sub_813958C - - thumb_func_start sub_8139598 -sub_8139598: @ 8139598 - push {lr} - bl WallyBufferExecCompleted - pop {r0} - bx r0 - thumb_func_end sub_8139598 - - thumb_func_start sub_81395A4 -sub_81395A4: @ 81395A4 - push {lr} - bl WallyBufferExecCompleted - pop {r0} - bx r0 - thumb_func_end sub_81395A4 - - thumb_func_start sub_81395B0 -sub_81395B0: @ 81395B0 - push {lr} - bl WallyBufferExecCompleted - pop {r0} - bx r0 - thumb_func_end sub_81395B0 - - thumb_func_start sub_81395BC -sub_81395BC: @ 81395BC - push {lr} - bl WallyBufferExecCompleted - pop {r0} - bx r0 - thumb_func_end sub_81395BC - - thumb_func_start sub_81395C8 -sub_81395C8: @ 81395C8 - push {lr} - bl WallyBufferExecCompleted - pop {r0} - bx r0 - thumb_func_end sub_81395C8 - - thumb_func_start sub_81395D4 -sub_81395D4: @ 81395D4 - push {lr} - bl WallyBufferExecCompleted - pop {r0} - bx r0 - thumb_func_end sub_81395D4 - - thumb_func_start sub_81395E0 -sub_81395E0: @ 81395E0 - push {lr} - bl WallyBufferExecCompleted - pop {r0} - bx r0 - thumb_func_end sub_81395E0 - - thumb_func_start sub_81395EC -sub_81395EC: @ 81395EC - push {lr} - bl WallyBufferExecCompleted - pop {r0} - bx r0 - thumb_func_end sub_81395EC - - thumb_func_start sub_81395F8 -sub_81395F8: @ 81395F8 - push {lr} - bl WallyBufferExecCompleted - pop {r0} - bx r0 - thumb_func_end sub_81395F8 - - thumb_func_start sub_8139604 -sub_8139604: @ 8139604 - push {r4,lr} - ldr r3, _0813962C @ =gSprites - ldr r2, _08139630 @ =gObjectBankIDs - ldr r4, _08139634 @ =gActiveBank - ldrb r0, [r4] - adds r0, r2 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - adds r0, 0x3E - ldrb r0, [r0] - lsls r0, 29 - cmp r0, 0 - bge _08139638 - bl WallyBufferExecCompleted - b _08139662 - .align 2, 0 -_0813962C: .4byte gSprites -_08139630: .4byte gObjectBankIDs -_08139634: .4byte gActiveBank -_08139638: - ldr r1, _08139668 @ =gDoingBattleAnim - movs r0, 0x1 - strb r0, [r1] - ldrb r0, [r4] - adds r0, r2 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - movs r1, 0 - strh r1, [r0, 0x30] - ldrb r0, [r4] - bl sub_8047858 - ldr r1, _0813966C @ =gBattleBankFunc - ldrb r0, [r4] - lsls r0, 2 - adds r0, r1 - ldr r1, _08139670 @ =bx_blink_t5 - str r1, [r0] -_08139662: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08139668: .4byte gDoingBattleAnim -_0813966C: .4byte gBattleBankFunc -_08139670: .4byte bx_blink_t5 - thumb_func_end sub_8139604 - - thumb_func_start sub_8139674 -sub_8139674: @ 8139674 - push {lr} - bl WallyBufferExecCompleted - pop {r0} - bx r0 - thumb_func_end sub_8139674 - - thumb_func_start sub_8139680 -sub_8139680: @ 8139680 - push {lr} - ldr r2, _081396A8 @ =gBattleBufferA - ldr r0, _081396AC @ =gActiveBank - ldrb r1, [r0] - lsls r1, 9 - adds r0, r2, 0x1 - adds r0, r1, r0 - ldrb r0, [r0] - adds r2, 0x2 - adds r1, r2 - ldrb r1, [r1] - lsls r1, 8 - orrs r0, r1 - bl PlaySE - bl WallyBufferExecCompleted - pop {r0} - bx r0 - .align 2, 0 -_081396A8: .4byte gBattleBufferA -_081396AC: .4byte gActiveBank - thumb_func_end sub_8139680 - - thumb_func_start sub_81396B0 -sub_81396B0: @ 81396B0 - push {lr} - ldr r2, _081396D8 @ =gBattleBufferA - ldr r0, _081396DC @ =gActiveBank - ldrb r1, [r0] - lsls r1, 9 - adds r0, r2, 0x1 - adds r0, r1, r0 - ldrb r0, [r0] - adds r2, 0x2 - adds r1, r2 - ldrb r1, [r1] - lsls r1, 8 - orrs r0, r1 - bl PlayFanfare - bl WallyBufferExecCompleted - pop {r0} - bx r0 - .align 2, 0 -_081396D8: .4byte gBattleBufferA -_081396DC: .4byte gActiveBank - thumb_func_end sub_81396B0 - - thumb_func_start sub_81396E0 -sub_81396E0: @ 81396E0 - push {lr} - ldr r1, _08139710 @ =gBattlePartyID - ldr r0, _08139714 @ =gActiveBank - ldrb r0, [r0] - lsls r0, 1 - adds r0, r1 - ldrh r1, [r0] - movs r0, 0x64 - muls r0, r1 - ldr r1, _08139718 @ =gPlayerParty - adds r0, r1 - movs r1, 0xB - bl GetMonData - lsls r0, 16 - lsrs r0, 16 - movs r1, 0x19 - bl PlayCry1 - bl WallyBufferExecCompleted - pop {r0} - bx r0 - .align 2, 0 -_08139710: .4byte gBattlePartyID -_08139714: .4byte gActiveBank -_08139718: .4byte gPlayerParty - thumb_func_end sub_81396E0 - - thumb_func_start dp01t_2E_5_battle_intro -dp01t_2E_5_battle_intro: @ 813971C - push {lr} - ldr r1, _08139744 @ =gBattleBufferA - ldr r0, _08139748 @ =gActiveBank - ldrb r0, [r0] - lsls r0, 9 - adds r1, 0x1 - adds r0, r1 - ldrb r0, [r0] - bl sub_80E43C0 - ldr r2, _0813974C @ =gUnknown_02024DE8 - ldrh r0, [r2] - movs r1, 0x1 - orrs r0, r1 - strh r0, [r2] - bl WallyBufferExecCompleted - pop {r0} - bx r0 - .align 2, 0 -_08139744: .4byte gBattleBufferA -_08139748: .4byte gActiveBank -_0813974C: .4byte gUnknown_02024DE8 - thumb_func_end dp01t_2E_5_battle_intro - - thumb_func_start sub_8139750 -sub_8139750: @ 8139750 - push {r4-r7,lr} - ldr r6, _08139880 @ =gObjectBankIDs - ldr r7, _08139884 @ =gActiveBank - ldrb r0, [r7] - adds r0, r6 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r5, _08139888 @ =gSprites - adds r0, r5 - bl oamt_add_pos2_onto_pos1 - ldrb r0, [r7] - adds r0, r6 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - movs r1, 0x32 - strh r1, [r0, 0x2E] - ldrb r0, [r7] - adds r0, r6 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - ldr r1, _0813988C @ =0x0000ffd8 - strh r1, [r0, 0x32] - ldrb r0, [r7] - adds r0, r6 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - ldrh r1, [r0, 0x22] - strh r1, [r0, 0x36] - ldrb r0, [r7] - adds r0, r6 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r1, r5, 0 - adds r1, 0x1C - adds r0, r1 - ldr r1, _08139890 @ =sub_8078B34 - str r1, [r0] - ldrb r2, [r7] - adds r0, r2, r6 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - strh r2, [r0, 0x38] - ldrb r0, [r7] - adds r0, r6 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - ldr r1, _08139894 @ =sub_8030E38 - bl oamt_set_x3A_32 - ldrb r0, [r7] - adds r0, r6 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - movs r1, 0x1 - bl StartSpriteAnim - ldr r0, _08139898 @ =0x0000d6f8 - bl AllocSpritePalette - adds r4, r0, 0 - lsls r4, 24 - ldr r0, _0813989C @ =gTrainerBackPicPaletteTable - ldr r0, [r0, 0x10] - lsrs r4, 20 - movs r2, 0x80 - lsls r2, 1 - adds r1, r4, r2 - movs r2, 0x20 - bl LoadCompressedPalette - ldrb r0, [r7] - adds r0, r6 - ldrb r0, [r0] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r5 - ldrb r2, [r1, 0x5] - movs r0, 0xF - ands r0, r2 - orrs r0, r4 - strb r0, [r1, 0x5] - ldr r0, _081398A0 @ =sub_8139A2C - movs r1, 0x5 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - ldr r4, _081398A4 @ =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r4 - ldrb r0, [r7] - strh r0, [r1, 0x8] - ldrb r3, [r7] - lsls r0, r3, 1 - adds r0, r3 - lsls r0, 2 - ldr r2, _081398A8 @ =0x02017810 - adds r0, r2 - ldrb r1, [r0] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _08139864 - ldr r0, _081398AC @ =gUnknown_02024E68 - adds r0, r3, r0 - ldrb r1, [r0] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r4 - ldr r1, _081398B0 @ =sub_8044CA0 - str r1, [r0] -_08139864: - adds r2, 0x30 - ldrb r0, [r2, 0x9] - movs r1, 0x1 - orrs r0, r1 - strb r0, [r2, 0x9] - ldr r1, _081398B4 @ =gBattleBankFunc - ldrb r0, [r7] - lsls r0, 2 - adds r0, r1 - ldr r1, _081398B8 @ =nullsub_91 - str r1, [r0] - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08139880: .4byte gObjectBankIDs -_08139884: .4byte gActiveBank -_08139888: .4byte gSprites -_0813988C: .4byte 0x0000ffd8 -_08139890: .4byte sub_8078B34 -_08139894: .4byte sub_8030E38 -_08139898: .4byte 0x0000d6f8 -_0813989C: .4byte gTrainerBackPicPaletteTable -_081398A0: .4byte sub_8139A2C -_081398A4: .4byte gTasks -_081398A8: .4byte 0x02017810 -_081398AC: .4byte gUnknown_02024E68 -_081398B0: .4byte sub_8044CA0 -_081398B4: .4byte gBattleBankFunc -_081398B8: .4byte nullsub_91 - thumb_func_end sub_8139750 - - thumb_func_start sub_81398BC -sub_81398BC: @ 81398BC - push {r4-r6,lr} - mov r6, r10 - mov r5, r9 - mov r4, r8 - push {r4-r6} - adds r6, r0, 0 - lsls r6, 24 - lsrs r6, 24 - lsls r0, r6, 2 - ldr r1, _08139A00 @ =0x02017800 - adds r0, r1 - movs r1, 0 - strh r1, [r0, 0x2] - ldr r0, _08139A04 @ =gBattlePartyID - lsls r2, r6, 1 - adds r2, r0 - ldr r0, _08139A08 @ =gBattleBufferA - lsls r1, r6, 9 - adds r0, 0x1 - adds r1, r0 - ldrb r0, [r1] - strh r0, [r2] - ldrh r1, [r2] - movs r0, 0x64 - muls r0, r1 - ldr r1, _08139A0C @ =gPlayerParty - adds r0, r1 - movs r1, 0xB - bl GetMonData - mov r8, r0 - lsls r0, 16 - lsrs r0, 16 - mov r8, r0 - ldr r0, _08139A10 @ =sub_80312F0 - bl CreateInvisibleSpriteWithCallback - ldr r1, _08139A14 @ =gUnknown_0300434C - mov r9, r1 - add r9, r6 - mov r1, r9 - strb r0, [r1] - adds r0, r6, 0 - bl GetBankIdentity - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - mov r0, r8 - bl GetMonSpriteTemplate_803C56C - ldr r0, _08139A18 @ =gUnknown_02024E8C - mov r10, r0 - adds r0, r6, 0 - movs r1, 0x2 - bl sub_8077ABC - adds r5, r0, 0 - lsls r5, 24 - lsrs r5, 24 - adds r0, r6, 0 - bl sub_8077F68 - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - adds r0, r6, 0 - bl sub_8079E90 - adds r3, r0, 0 - lsls r3, 24 - lsrs r3, 24 - mov r0, r10 - adds r1, r5, 0 - adds r2, r4, 0 - bl CreateSprite - ldr r4, _08139A1C @ =gObjectBankIDs - adds r4, r6, r4 - strb r0, [r4] - ldr r5, _08139A20 @ =gSprites - mov r0, r9 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - ldrb r1, [r4] - strh r1, [r0, 0x30] - ldrb r1, [r4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - strh r6, [r0, 0x2E] - ldrb r1, [r4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - mov r1, r8 - strh r1, [r0, 0x32] - ldrb r0, [r4] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r5 - lsls r3, r6, 4 - ldrb r2, [r1, 0x5] - movs r0, 0xF - ands r0, r2 - orrs r0, r3 - strb r0, [r1, 0x5] - ldrb r1, [r4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - ldr r1, _08139A24 @ =gBattleMonForms - adds r6, r1 - ldrb r1, [r6] - bl StartSpriteAnim - ldrb r1, [r4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - adds r0, 0x3E - ldrb r1, [r0] - movs r2, 0x4 - orrs r1, r2 - strb r1, [r0] - ldrb r1, [r4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r1, r5, 0 - adds r1, 0x1C - adds r0, r1 - ldr r1, _08139A28 @ =SpriteCallbackDummy - str r1, [r0] - movs r0, 0 - movs r1, 0xFF - bl sub_8046400 - mov r1, r9 - ldrb r2, [r1] - lsls r1, r2, 4 - adds r1, r2 - lsls r1, 2 - adds r1, r5 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r1, 0x2E] - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_08139A00: .4byte 0x02017800 -_08139A04: .4byte gBattlePartyID -_08139A08: .4byte gBattleBufferA -_08139A0C: .4byte gPlayerParty -_08139A10: .4byte sub_80312F0 -_08139A14: .4byte gUnknown_0300434C -_08139A18: .4byte gUnknown_02024E8C -_08139A1C: .4byte gObjectBankIDs -_08139A20: .4byte gSprites -_08139A24: .4byte gBattleMonForms -_08139A28: .4byte SpriteCallbackDummy - thumb_func_end sub_81398BC - - thumb_func_start sub_8139A2C -sub_8139A2C: @ 8139A2C - push {r4-r6,lr} - lsls r0, 24 - lsrs r6, r0, 24 - ldr r1, _08139A4C @ =gTasks - lsls r0, r6, 2 - adds r0, r6 - lsls r0, 3 - adds r1, r0, r1 - ldrh r2, [r1, 0xA] - movs r3, 0xA - ldrsh r0, [r1, r3] - cmp r0, 0x1E - bgt _08139A50 - adds r0, r2, 0x1 - strh r0, [r1, 0xA] - b _08139A86 - .align 2, 0 -_08139A4C: .4byte gTasks -_08139A50: - ldr r4, _08139A8C @ =gActiveBank - ldrb r5, [r4] - ldrh r0, [r1, 0x8] - strb r0, [r4] - ldr r0, _08139A90 @ =gBattleBufferA - ldrb r1, [r4] - lsls r2, r1, 9 - adds r0, 0x1 - adds r2, r0 - ldr r0, _08139A94 @ =gBattlePartyID - lsls r1, 1 - adds r1, r0 - ldrh r0, [r1] - strb r0, [r2] - ldrb r0, [r4] - bl sub_81398BC - ldr r1, _08139A98 @ =gBattleBankFunc - ldrb r0, [r4] - lsls r0, 2 - adds r0, r1 - ldr r1, _08139A9C @ =sub_8137538 - str r1, [r0] - strb r5, [r4] - adds r0, r6, 0 - bl DestroyTask -_08139A86: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_08139A8C: .4byte gActiveBank -_08139A90: .4byte gBattleBufferA -_08139A94: .4byte gBattlePartyID -_08139A98: .4byte gBattleBankFunc -_08139A9C: .4byte sub_8137538 - thumb_func_end sub_8139A2C - - thumb_func_start sub_8139AA0 -sub_8139AA0: @ 8139AA0 - push {r4,r5,lr} - ldr r1, _08139AC8 @ =gBattleBufferA - ldr r0, _08139ACC @ =gActiveBank - ldrb r2, [r0] - lsls r0, r2, 9 - adds r1, 0x1 - adds r0, r1 - ldrb r0, [r0] - cmp r0, 0 - beq _08139AD0 - adds r0, r2, 0 - bl GetBankSide - lsls r0, 24 - cmp r0, 0 - bne _08139AD0 - bl WallyBufferExecCompleted - b _08139B0A - .align 2, 0 -_08139AC8: .4byte gBattleBufferA -_08139ACC: .4byte gActiveBank -_08139AD0: - ldr r5, _08139B10 @ =gActiveBank - ldrb r1, [r5] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - ldr r1, _08139B14 @ =0x02017810 - adds r0, r1 - ldrb r1, [r0] - movs r2, 0x1 - orrs r1, r2 - strb r1, [r0] - ldrb r0, [r5] - lsls r4, r0, 9 - ldr r3, _08139B18 @ =gUnknown_02023A64 - adds r1, r4, r3 - subs r2, r3, 0x3 - adds r2, r4, r2 - ldrb r2, [r2] - subs r3, 0x2 - adds r4, r3 - ldrb r3, [r4] - bl sub_8044804 - ldr r2, _08139B1C @ =gUnknown_02024E68 - ldrb r1, [r5] - adds r1, r2 - strb r0, [r1] - bl WallyBufferExecCompleted -_08139B0A: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08139B10: .4byte gActiveBank -_08139B14: .4byte 0x02017810 -_08139B18: .4byte gUnknown_02023A64 -_08139B1C: .4byte gUnknown_02024E68 - thumb_func_end sub_8139AA0 - - thumb_func_start sub_8139B20 -sub_8139B20: @ 8139B20 - push {lr} - bl WallyBufferExecCompleted - pop {r0} - bx r0 - thumb_func_end sub_8139B20 - - thumb_func_start sub_8139B2C -sub_8139B2C: @ 8139B2C - push {lr} - bl WallyBufferExecCompleted - pop {r0} - bx r0 - thumb_func_end sub_8139B2C - - thumb_func_start sub_8139B38 -sub_8139B38: @ 8139B38 - push {lr} - bl WallyBufferExecCompleted - pop {r0} - bx r0 - thumb_func_end sub_8139B38 - - thumb_func_start sub_8139B44 -sub_8139B44: @ 8139B44 - push {r4-r6,lr} - sub sp, 0x4 - ldr r5, _08139B7C @ =gBattleBufferA - ldr r6, _08139B80 @ =gActiveBank - ldrb r2, [r6] - lsls r1, r2, 9 - adds r0, r5, 0x1 - adds r0, r1, r0 - ldrb r3, [r0] - adds r0, r5, 0x2 - adds r0, r1, r0 - ldrb r4, [r0] - adds r5, 0x3 - adds r1, r5 - ldrb r0, [r1] - lsls r0, 8 - orrs r4, r0 - str r4, [sp] - adds r0, r2, 0 - adds r1, r2, 0 - bl move_anim_start_t3 - lsls r0, 24 - cmp r0, 0 - beq _08139B84 - bl WallyBufferExecCompleted - b _08139B90 - .align 2, 0 -_08139B7C: .4byte gBattleBufferA -_08139B80: .4byte gActiveBank -_08139B84: - ldr r0, _08139B98 @ =gBattleBankFunc - ldrb r1, [r6] - lsls r1, 2 - adds r1, r0 - ldr r0, _08139B9C @ =sub_8137940 - str r0, [r1] -_08139B90: - add sp, 0x4 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_08139B98: .4byte gBattleBankFunc -_08139B9C: .4byte sub_8137940 - thumb_func_end sub_8139B44 - - thumb_func_start sub_8139BA0 -sub_8139BA0: @ 8139BA0 - push {lr} - bl WallyBufferExecCompleted - pop {r0} - bx r0 - thumb_func_end sub_8139BA0 - - thumb_func_start sub_8139BAC -sub_8139BAC: @ 8139BAC - push {lr} - bl WallyBufferExecCompleted - pop {r0} - bx r0 - thumb_func_end sub_8139BAC - - thumb_func_start sub_8139BB8 -sub_8139BB8: @ 8139BB8 - push {r4,lr} - ldr r2, _08139BFC @ =gBattleOutcome - ldr r1, _08139C00 @ =gBattleBufferA - ldr r4, _08139C04 @ =gActiveBank - ldrb r0, [r4] - lsls r0, 9 - adds r1, 0x1 - adds r0, r1 - ldrb r0, [r0] - strb r0, [r2] - movs r0, 0x5 - bl FadeOutMapMusic - movs r0, 0x3 - bl BeginFastPaletteFade - bl WallyBufferExecCompleted - ldr r0, _08139C08 @ =gBattleTypeFlags - ldrh r1, [r0] - movs r0, 0x6 - ands r0, r1 - cmp r0, 0x2 - bne _08139BF4 - ldr r0, _08139C0C @ =gBattleBankFunc - ldrb r1, [r4] - lsls r1, 2 - adds r1, r0 - ldr r0, _08139C10 @ =sub_813746C - str r0, [r1] -_08139BF4: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08139BFC: .4byte gBattleOutcome -_08139C00: .4byte gBattleBufferA -_08139C04: .4byte gActiveBank -_08139C08: .4byte gBattleTypeFlags -_08139C0C: .4byte gBattleBankFunc -_08139C10: .4byte sub_813746C - thumb_func_end sub_8139BB8 - - thumb_func_start nullsub_80 -nullsub_80: @ 8139C14 - bx lr - thumb_func_end nullsub_80 - - .align 2, 0 @ Don't pad with nop. 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..15cb95854 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 @@ -3603,5 +3603,61 @@ _0813611E: .align 2, 0 _0813612C: .4byte gSaveBlock2 + 0x556 thumb_func_end sub_813610C - + +.ifdef GERMAN + thumb_func_start de_sub_81364AC +de_sub_81364AC: @ 81364AC + push {lr} + ldr r2, _DE_081364C0 @ =gSaveBlock2 + ldr r0, _DE_081364C4 @ =0x00000564 + adds r1, r2, r0 + ldrb r0, [r1] + cmp r0, 0xC8 + bne _DE_081364CC + ldr r1, _DE_081364C8 @ =0x00000499 + adds r0, r2, r1 + b _DE_081364F2 + .align 2, 0 +_DE_081364C0: .4byte gSaveBlock2 +_DE_081364C4: .4byte 0x00000564 +_DE_081364C8: .4byte 0x00000499 +_DE_081364CC: + cmp r0, 0x63 + bhi _DE_081364E4 + ldr r2, _DE_081364E0 @ =gBattleTowerTrainers + ldrb r1, [r1] + lsls r0, r1, 1 + adds r0, r1 + lsls r0, 3 + adds r0, r2 + b _DE_081364F2 + .align 2, 0 +_DE_081364E0: .4byte gBattleTowerTrainers +_DE_081364E4: + ldrb r0, [r1] + subs r0, 0x64 + movs r1, 0xA4 + muls r0, r1 + adds r0, r2 + adds r1, 0xA9 + adds r0, r1 +_DE_081364F2: + ldrb r0, [r0] + pop {r1} + bx r1 + thumb_func_end de_sub_81364AC + + thumb_func_start de_sub_81364F8 +de_sub_81364F8: @ 81364F8 + ldr r0, _DE_08136504 @ =gSaveBlock2 + ldr r1, _DE_08136508 @ =0x00000499 + adds r0, r1 + ldrb r0, [r0] + bx lr + .align 2, 0 +_DE_08136504: .4byte gSaveBlock2 +_DE_08136508: .4byte 0x00000499 + thumb_func_end de_sub_81364F8 +.endif + .align 2, 0 @ Don't pad with nop. 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/field_specials.s b/asm/field_specials.s deleted file mode 100644 index 8523e540b..000000000 --- a/asm/field_specials.s +++ /dev/null @@ -1,4934 +0,0 @@ - .include "constants/gba_constants.inc" - .include "constants/species_constants.inc" - .include "asm/macros.inc" - - .syntax unified - - .text - - thumb_func_start SetSSTidalFlag -SetSSTidalFlag: @ 810D980 - push {lr} - ldr r0, _0810D998 @ =0x0000082d - bl FlagSet - ldr r0, _0810D99C @ =0x0000404a - bl GetVarPointer - movs r1, 0 - strh r1, [r0] - pop {r0} - bx r0 - .align 2, 0 -_0810D998: .4byte 0x0000082d -_0810D99C: .4byte 0x0000404a - thumb_func_end SetSSTidalFlag - - thumb_func_start ResetSSTidalFlag -ResetSSTidalFlag: @ 810D9A0 - push {lr} - ldr r0, _0810D9AC @ =0x0000082d - bl FlagReset - pop {r0} - bx r0 - .align 2, 0 -_0810D9AC: .4byte 0x0000082d - thumb_func_end ResetSSTidalFlag - - thumb_func_start CountSSTidalStep -CountSSTidalStep: @ 810D9B0 - push {r4,lr} - lsls r0, 16 - lsrs r4, r0, 16 - ldr r0, _0810D9DC @ =0x0000082d - bl FlagGet - lsls r0, 24 - cmp r0, 0 - beq _0810D9D6 - ldr r0, _0810D9E0 @ =0x0000404a - bl GetVarPointer - ldrh r1, [r0] - adds r1, r4, r1 - strh r1, [r0] - lsls r1, 16 - lsrs r1, 16 - cmp r1, 0xCC - bhi _0810D9E4 -_0810D9D6: - movs r0, 0 - b _0810D9E6 - .align 2, 0 -_0810D9DC: .4byte 0x0000082d -_0810D9E0: .4byte 0x0000404a -_0810D9E4: - movs r0, 0x1 -_0810D9E6: - pop {r4} - pop {r1} - bx r1 - thumb_func_end CountSSTidalStep - - thumb_func_start GetSSTidalLocation -GetSSTidalLocation: @ 810D9EC - push {r4-r7,lr} - mov r7, r8 - push {r7} - mov r8, r0 - adds r5, r1, 0 - adds r6, r2, 0 - adds r7, r3, 0 - ldr r0, _0810DA1C @ =0x0000404a - bl GetVarPointer - adds r4, r0, 0 - ldr r0, _0810DA20 @ =0x000040b4 - bl GetVarPointer - ldrh r0, [r0] - subs r0, 0x1 - cmp r0, 0x9 - bhi _0810DAB2 - lsls r0, 2 - ldr r1, _0810DA24 @ =_0810DA28 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0810DA1C: .4byte 0x0000404a -_0810DA20: .4byte 0x000040b4 -_0810DA24: .4byte _0810DA28 - .align 2, 0 -_0810DA28: - .4byte _0810DA50 - .4byte _0810DA60 - .4byte _0810DA54 - .4byte _0810DA58 - .4byte _0810DA58 - .4byte _0810DA5C - .4byte _0810DA88 - .4byte _0810DA50 - .4byte _0810DA54 - .4byte _0810DA5C -_0810DA50: - movs r0, 0x1 - b _0810DABE -_0810DA54: - movs r0, 0x4 - b _0810DABE -_0810DA58: - movs r0, 0x2 - b _0810DABE -_0810DA5C: - movs r0, 0x3 - b _0810DABE -_0810DA60: - ldrh r0, [r4] - cmp r0, 0x3B - bhi _0810DA70 - movs r0, 0x31 - strb r0, [r5] - ldrh r0, [r4] - adds r0, 0x13 - b _0810DAB0 -_0810DA70: - cmp r0, 0x8B - bhi _0810DA7E - movs r0, 0x30 - strb r0, [r5] - ldrh r0, [r4] - subs r0, 0x3C - b _0810DAB0 -_0810DA7E: - movs r0, 0x2F - strb r0, [r5] - ldrh r0, [r4] - subs r0, 0x8C - b _0810DAB0 -_0810DA88: - ldrh r0, [r4] - cmp r0, 0x41 - bhi _0810DA98 - movs r0, 0x2F - strb r0, [r5] - ldrh r1, [r4] - movs r0, 0x41 - b _0810DAAE -_0810DA98: - cmp r0, 0x91 - bhi _0810DAA6 - movs r0, 0x30 - strb r0, [r5] - ldrh r1, [r4] - movs r0, 0x91 - b _0810DAAE -_0810DAA6: - movs r0, 0x31 - strb r0, [r5] - ldrh r1, [r4] - movs r0, 0xE0 -_0810DAAE: - subs r0, r1 -_0810DAB0: - strh r0, [r6] -_0810DAB2: - movs r0, 0 - mov r1, r8 - strb r0, [r1] - movs r0, 0x14 - strh r0, [r7] - movs r0, 0 -_0810DABE: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end GetSSTidalLocation - - thumb_func_start GetLinkPartnerNames -GetLinkPartnerNames: @ 810DAC8 - push {r4-r7,lr} - mov r7, r8 - push {r7} - movs r6, 0 - bl sub_8008218 - lsls r0, 24 - lsrs r7, r0, 24 - bl sub_800820C - lsls r0, 24 - lsrs r5, r0, 24 - movs r4, 0 - cmp r4, r5 - bcs _0810DB12 - ldr r0, _0810DB20 @ =gUnknown_083D1464 - mov r8, r0 -_0810DAEA: - cmp r7, r4 - beq _0810DB08 - lsls r0, r6, 2 - add r0, r8 - ldr r0, [r0] - lsls r1, r4, 3 - subs r1, r4 - lsls r1, 2 - ldr r2, _0810DB24 @ =gLinkPlayers + 0x8 - adds r1, r2 - bl StringCopy - adds r0, r6, 0x1 - lsls r0, 24 - lsrs r6, r0, 24 -_0810DB08: - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, r5 - bcc _0810DAEA -_0810DB12: - adds r0, r5, 0 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_0810DB20: .4byte gUnknown_083D1464 -_0810DB24: .4byte gLinkPlayers + 0x8 - thumb_func_end GetLinkPartnerNames - - thumb_func_start SpawnBerryBlenderLinkPlayerSprites -SpawnBerryBlenderLinkPlayerSprites: @ 810DB28 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x14 - movs r7, 0 - movs r0, 0 - mov r9, r0 - mov r8, r0 - ldr r1, _0810DB74 @ =gUnknown_083F8358 - add r0, sp, 0x8 - movs r2, 0x4 - bl memcpy - add r4, sp, 0xC - ldr r1, _0810DB78 @ =gUnknown_083F835C - adds r0, r4, 0 - movs r2, 0x8 - bl memcpy - bl sub_8008218 - lsls r0, 24 - lsrs r0, 24 - mov r10, r0 - bl player_get_direction_lower_nybble - lsls r0, 24 - lsrs r0, 24 - adds r1, r0, 0 - cmp r0, 0x2 - beq _0810DB94 - cmp r0, 0x2 - bgt _0810DB7C - cmp r0, 0x1 - beq _0810DBC0 - b _0810DBD2 - .align 2, 0 -_0810DB74: .4byte gUnknown_083F8358 -_0810DB78: .4byte gUnknown_083F835C -_0810DB7C: - cmp r1, 0x3 - beq _0810DB86 - cmp r1, 0x4 - beq _0810DBA8 - b _0810DBD2 -_0810DB86: - movs r7, 0x2 - ldr r1, _0810DB90 @ =gSaveBlock1 - ldrh r0, [r1] - subs r0, 0x1 - b _0810DBAE - .align 2, 0 -_0810DB90: .4byte gSaveBlock1 -_0810DB94: - movs r7, 0x1 - ldr r0, _0810DBA4 @ =gSaveBlock1 - ldrh r1, [r0] - mov r9, r1 - ldrh r0, [r0, 0x2] - subs r0, 0x1 - b _0810DBCC - .align 2, 0 -_0810DBA4: .4byte gSaveBlock1 -_0810DBA8: - ldr r1, _0810DBBC @ =gSaveBlock1 - ldrh r0, [r1] - adds r0, 0x1 -_0810DBAE: - lsls r0, 16 - lsrs r0, 16 - mov r9, r0 - ldrh r1, [r1, 0x2] - mov r8, r1 - b _0810DBD2 - .align 2, 0 -_0810DBBC: .4byte gSaveBlock1 -_0810DBC0: - movs r7, 0x3 - ldr r0, _0810DBD8 @ =gSaveBlock1 - ldrh r4, [r0] - mov r9, r4 - ldrh r0, [r0, 0x2] - adds r0, 0x1 -_0810DBCC: - lsls r0, 16 - lsrs r0, 16 - mov r8, r0 -_0810DBD2: - movs r6, 0 - b _0810DC5C - .align 2, 0 -_0810DBD8: .4byte gSaveBlock1 -_0810DBDC: - cmp r10, r6 - beq _0810DC56 - ldr r1, _0810DC74 @ =gLinkPlayers - lsls r0, r6, 3 - subs r0, r6 - lsls r0, 2 - adds r0, r1 - ldrb r1, [r0, 0x13] - movs r0, 0 - bl GetRivalAvatarGraphicsIdByStateIdAndGender - lsls r0, 24 - lsrs r0, 24 - mov r1, sp - adds r1, r7 - adds r1, 0x8 - ldrb r1, [r1] - movs r2, 0xF0 - subs r2, r6 - lsls r2, 24 - lsrs r2, 24 - lsls r5, r7, 1 - mov r3, sp - adds r3, r5 - adds r3, 0xC - ldrb r3, [r3] - lsls r3, 24 - asrs r3, 24 - mov r12, r3 - mov r4, r9 - lsls r3, r4, 16 - asrs r3, 16 - add r3, r12 - adds r3, 0x7 - lsls r3, 16 - asrs r3, 16 - mov r4, sp - adds r4, 0xD - adds r4, r5 - ldrb r4, [r4] - lsls r4, 24 - asrs r4, 24 - mov r12, r4 - mov r5, r8 - lsls r4, r5, 16 - asrs r4, 16 - add r4, r12 - adds r4, 0x7 - lsls r4, 16 - asrs r4, 16 - str r4, [sp] - movs r4, 0 - str r4, [sp, 0x4] - bl SpawnSpecialFieldObjectParametrized - adds r0, r7, 0x1 - lsls r0, 24 - lsrs r7, r0, 24 - cmp r7, 0x4 - bne _0810DC56 - movs r7, 0 -_0810DC56: - adds r0, r6, 0x1 - lsls r0, 24 - lsrs r6, r0, 24 -_0810DC5C: - ldr r0, _0810DC78 @ =gSpecialVar_0x8004 - ldrh r0, [r0] - cmp r6, r0 - bcc _0810DBDC - add sp, 0x14 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0810DC74: .4byte gLinkPlayers -_0810DC78: .4byte gSpecialVar_0x8004 - thumb_func_end SpawnBerryBlenderLinkPlayerSprites - - thumb_func_start MauvilleGymSpecial1 -MauvilleGymSpecial1: @ 810DC7C - push {r4,r5,lr} - movs r4, 0 - ldr r5, _0810DC9C @ =gUnknown_083F8364 -_0810DC82: - ldr r0, _0810DCA0 @ =gSpecialVar_0x8004 - ldrh r0, [r0] - cmp r4, r0 - bne _0810DCA8 - lsls r1, r4, 2 - adds r1, r5 - ldrb r0, [r1] - ldrb r1, [r1, 0x1] - ldr r2, _0810DCA4 @ =0x00000206 - bl MapGridSetMetatileIdAt - b _0810DCB6 - .align 2, 0 -_0810DC9C: .4byte gUnknown_083F8364 -_0810DCA0: .4byte gSpecialVar_0x8004 -_0810DCA4: .4byte 0x00000206 -_0810DCA8: - lsls r1, r4, 2 - adds r1, r5 - ldrb r0, [r1] - ldrb r1, [r1, 0x1] - ldr r2, _0810DCC8 @ =0x00000205 - bl MapGridSetMetatileIdAt -_0810DCB6: - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x2 - bls _0810DC82 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0810DCC8: .4byte 0x00000205 - thumb_func_end MauvilleGymSpecial1 - - thumb_func_start MauvilleGymSpecial2 -MauvilleGymSpecial2: @ 810DCCC - push {r4-r6,lr} - movs r5, 0xC -_0810DCD0: - movs r4, 0x7 - adds r6, r5, 0x1 -_0810DCD4: - adds r0, r4, 0 - adds r1, r5, 0 - bl MapGridGetMetatileIdAt - ldr r1, _0810DCF0 @ =0xfffffde6 - adds r0, r1 - cmp r0, 0x37 - bls _0810DCE6 - b _0810DEC0 -_0810DCE6: - lsls r0, 2 - ldr r1, _0810DCF4 @ =_0810DCF8 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0810DCF0: .4byte 0xfffffde6 -_0810DCF4: .4byte _0810DCF8 - .align 2, 0 -_0810DCF8: - .4byte _0810DE7E - .4byte _0810DEC0 - .4byte _0810DEC0 - .4byte _0810DEC0 - .4byte _0810DEC0 - .4byte _0810DEC0 - .4byte _0810DDD8 - .4byte _0810DDDE - .4byte _0810DE18 - .4byte _0810DE20 - .4byte _0810DEC0 - .4byte _0810DEC0 - .4byte _0810DEC0 - .4byte _0810DEC0 - .4byte _0810DDE8 - .4byte _0810DDEE - .4byte _0810DE28 - .4byte _0810DE30 - .4byte _0810DEC0 - .4byte _0810DEC0 - .4byte _0810DEC0 - .4byte _0810DEC0 - .4byte _0810DDF8 - .4byte _0810DDFE - .4byte _0810DE38 - .4byte _0810DE40 - .4byte _0810DEC0 - .4byte _0810DEC0 - .4byte _0810DEC0 - .4byte _0810DEC0 - .4byte _0810DE08 - .4byte _0810DE10 - .4byte _0810DE48 - .4byte _0810DE50 - .4byte _0810DEC0 - .4byte _0810DEC0 - .4byte _0810DEC0 - .4byte _0810DEC0 - .4byte _0810DE58 - .4byte _0810DE68 - .4byte _0810DE78 - .4byte _0810DEA0 - .4byte _0810DEC0 - .4byte _0810DEC0 - .4byte _0810DEC0 - .4byte _0810DEC0 - .4byte _0810DE60 - .4byte _0810DE70 - .4byte _0810DEC0 - .4byte _0810DEC0 - .4byte _0810DEC0 - .4byte _0810DEC0 - .4byte _0810DEC0 - .4byte _0810DEC0 - .4byte _0810DEB6 - .4byte _0810DEA8 -_0810DDD8: - movs r2, 0x8C - lsls r2, 2 - b _0810DEAC -_0810DDDE: - ldr r2, _0810DDE4 @ =0x00000231 - b _0810DEAC - .align 2, 0 -_0810DDE4: .4byte 0x00000231 -_0810DDE8: - movs r2, 0x8E - lsls r2, 2 - b _0810DEAC -_0810DDEE: - ldr r2, _0810DDF4 @ =0x00000239 - b _0810DEAC - .align 2, 0 -_0810DDF4: .4byte 0x00000239 -_0810DDF8: - movs r2, 0x88 - lsls r2, 2 - b _0810DEAC -_0810DDFE: - ldr r2, _0810DE04 @ =0x00000221 - b _0810DEAC - .align 2, 0 -_0810DE04: .4byte 0x00000221 -_0810DE08: - ldr r2, _0810DE0C @ =0x00000e28 - b _0810DEAC - .align 2, 0 -_0810DE0C: .4byte 0x00000e28 -_0810DE10: - ldr r2, _0810DE14 @ =0x00000e29 - b _0810DEAC - .align 2, 0 -_0810DE14: .4byte 0x00000e29 -_0810DE18: - ldr r2, _0810DE1C @ =0x00000232 - b _0810DEAC - .align 2, 0 -_0810DE1C: .4byte 0x00000232 -_0810DE20: - ldr r2, _0810DE24 @ =0x00000233 - b _0810DEAC - .align 2, 0 -_0810DE24: .4byte 0x00000233 -_0810DE28: - ldr r2, _0810DE2C @ =0x0000023a - b _0810DEAC - .align 2, 0 -_0810DE2C: .4byte 0x0000023a -_0810DE30: - ldr r2, _0810DE34 @ =0x0000023b - b _0810DEAC - .align 2, 0 -_0810DE34: .4byte 0x0000023b -_0810DE38: - ldr r2, _0810DE3C @ =0x00000222 - b _0810DEAC - .align 2, 0 -_0810DE3C: .4byte 0x00000222 -_0810DE40: - ldr r2, _0810DE44 @ =0x00000223 - b _0810DEAC - .align 2, 0 -_0810DE44: .4byte 0x00000223 -_0810DE48: - ldr r2, _0810DE4C @ =0x00000e2a - b _0810DEAC - .align 2, 0 -_0810DE4C: .4byte 0x00000e2a -_0810DE50: - ldr r2, _0810DE54 @ =0x00000e2b - b _0810DEAC - .align 2, 0 -_0810DE54: .4byte 0x00000e2b -_0810DE58: - ldr r2, _0810DE5C @ =0x00000e42 - b _0810DEAC - .align 2, 0 -_0810DE5C: .4byte 0x00000e42 -_0810DE60: - ldr r2, _0810DE64 @ =0x0000021a - b _0810DEAC - .align 2, 0 -_0810DE64: .4byte 0x0000021a -_0810DE68: - ldr r2, _0810DE6C @ =0x00000e43 - b _0810DEAC - .align 2, 0 -_0810DE6C: .4byte 0x00000e43 -_0810DE70: - ldr r2, _0810DE74 @ =0x0000021a - b _0810DEAC - .align 2, 0 -_0810DE74: .4byte 0x0000021a -_0810DE78: - movs r2, 0xE4 - lsls r2, 4 - b _0810DEAC -_0810DE7E: - subs r1, r5, 0x1 - adds r0, r4, 0 - bl MapGridGetMetatileIdAt - movs r1, 0x90 - lsls r1, 2 - cmp r0, r1 - bne _0810DE98 - ldr r2, _0810DE94 @ =0x00000e48 - b _0810DEAC - .align 2, 0 -_0810DE94: .4byte 0x00000e48 -_0810DE98: - ldr r2, _0810DE9C @ =0x00000e49 - b _0810DEAC - .align 2, 0 -_0810DE9C: .4byte 0x00000e49 -_0810DEA0: - ldr r2, _0810DEA4 @ =0x00000e41 - b _0810DEAC - .align 2, 0 -_0810DEA4: .4byte 0x00000e41 -_0810DEA8: - movs r2, 0xE5 - lsls r2, 4 -_0810DEAC: - adds r0, r4, 0 - adds r1, r5, 0 - bl MapGridSetMetatileIdAt - b _0810DEC0 -_0810DEB6: - ldr r2, _0810DED8 @ =0x00000251 - adds r0, r4, 0 - adds r1, r5, 0 - bl MapGridSetMetatileIdAt -_0810DEC0: - adds r4, 0x1 - cmp r4, 0xF - bgt _0810DEC8 - b _0810DCD4 -_0810DEC8: - adds r5, r6, 0 - cmp r5, 0x17 - bgt _0810DED0 - b _0810DCD0 -_0810DED0: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0810DED8: .4byte 0x00000251 - thumb_func_end MauvilleGymSpecial2 - - thumb_func_start MauvilleGymSpecial3 -MauvilleGymSpecial3: @ 810DEDC - push {r4-r6,lr} - ldr r4, _0810DF18 @ =gUnknown_083F8364 - movs r5, 0x2 -_0810DEE2: - ldrb r0, [r4] - ldrb r1, [r4, 0x1] - ldr r2, _0810DF1C @ =0x00000206 - bl MapGridSetMetatileIdAt - adds r4, 0x4 - subs r5, 0x1 - cmp r5, 0 - bge _0810DEE2 - movs r5, 0xC -_0810DEF6: - movs r4, 0x7 - adds r6, r5, 0x1 -_0810DEFA: - adds r0, r4, 0 - adds r1, r5, 0 - bl MapGridGetMetatileIdAt - ldr r1, _0810DF20 @ =0xfffffde0 - adds r0, r1 - cmp r0, 0x30 - bls _0810DF0C - b _0810E056 -_0810DF0C: - lsls r0, 2 - ldr r1, _0810DF24 @ =_0810DF28 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0810DF18: .4byte gUnknown_083F8364 -_0810DF1C: .4byte 0x00000206 -_0810DF20: .4byte 0xfffffde0 -_0810DF24: .4byte _0810DF28 - .align 2, 0 -_0810DF28: - .4byte _0810DFEC - .4byte _0810DFF2 - .4byte _0810E00C - .4byte _0810E014 - .4byte _0810E056 - .4byte _0810E056 - .4byte _0810E056 - .4byte _0810E056 - .4byte _0810DFFC - .4byte _0810E002 - .4byte _0810E01C - .4byte _0810E024 - .4byte _0810E056 - .4byte _0810E056 - .4byte _0810E056 - .4byte _0810E056 - .4byte _0810E056 - .4byte _0810E056 - .4byte _0810E056 - .4byte _0810E056 - .4byte _0810E056 - .4byte _0810E056 - .4byte _0810E056 - .4byte _0810E056 - .4byte _0810E056 - .4byte _0810E056 - .4byte _0810E056 - .4byte _0810E056 - .4byte _0810E056 - .4byte _0810E056 - .4byte _0810E056 - .4byte _0810E056 - .4byte _0810E02C - .4byte _0810E034 - .4byte _0810E056 - .4byte _0810E056 - .4byte _0810E056 - .4byte _0810E056 - .4byte _0810E056 - .4byte _0810E056 - .4byte _0810E03C - .4byte _0810E03C - .4byte _0810E056 - .4byte _0810E056 - .4byte _0810E056 - .4byte _0810E056 - .4byte _0810E056 - .4byte _0810E056 - .4byte _0810E04C -_0810DFEC: - movs r2, 0x8C - lsls r2, 2 - b _0810E03E -_0810DFF2: - ldr r2, _0810DFF8 @ =0x00000231 - b _0810E03E - .align 2, 0 -_0810DFF8: .4byte 0x00000231 -_0810DFFC: - movs r2, 0x8E - lsls r2, 2 - b _0810E03E -_0810E002: - ldr r2, _0810E008 @ =0x00000239 - b _0810E03E - .align 2, 0 -_0810E008: .4byte 0x00000239 -_0810E00C: - ldr r2, _0810E010 @ =0x00000232 - b _0810E03E - .align 2, 0 -_0810E010: .4byte 0x00000232 -_0810E014: - ldr r2, _0810E018 @ =0x00000233 - b _0810E03E - .align 2, 0 -_0810E018: .4byte 0x00000233 -_0810E01C: - ldr r2, _0810E020 @ =0x0000023a - b _0810E03E - .align 2, 0 -_0810E020: .4byte 0x0000023a -_0810E024: - ldr r2, _0810E028 @ =0x0000023b - b _0810E03E - .align 2, 0 -_0810E028: .4byte 0x0000023b -_0810E02C: - ldr r2, _0810E030 @ =0x00000e42 - b _0810E03E - .align 2, 0 -_0810E030: .4byte 0x00000e42 -_0810E034: - ldr r2, _0810E038 @ =0x00000e43 - b _0810E03E - .align 2, 0 -_0810E038: .4byte 0x00000e43 -_0810E03C: - ldr r2, _0810E048 @ =0x0000021a -_0810E03E: - adds r0, r4, 0 - adds r1, r5, 0 - bl MapGridSetMetatileIdAt - b _0810E056 - .align 2, 0 -_0810E048: .4byte 0x0000021a -_0810E04C: - ldr r2, _0810E06C @ =0x00000251 - adds r0, r4, 0 - adds r1, r5, 0 - bl MapGridSetMetatileIdAt -_0810E056: - adds r4, 0x1 - cmp r4, 0xF - bgt _0810E05E - b _0810DEFA -_0810E05E: - adds r5, r6, 0 - cmp r5, 0x17 - bgt _0810E066 - b _0810DEF6 -_0810E066: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0810E06C: .4byte 0x00000251 - thumb_func_end MauvilleGymSpecial3 - - thumb_func_start PetalburgGymSpecial1 -PetalburgGymSpecial1: @ 810E070 - push {lr} - ldr r0, _0810E090 @ =gUnknown_02039258 - movs r1, 0 - strb r1, [r0] - ldr r0, _0810E094 @ =gUnknown_02039259 - strb r1, [r0] - movs r0, 0x2C - bl PlaySE - ldr r0, _0810E098 @ =Task_PetalburgGym - movs r1, 0x8 - bl CreateTask - pop {r0} - bx r0 - .align 2, 0 -_0810E090: .4byte gUnknown_02039258 -_0810E094: .4byte gUnknown_02039259 -_0810E098: .4byte Task_PetalburgGym - thumb_func_end PetalburgGymSpecial1 - - thumb_func_start Task_PetalburgGym -Task_PetalburgGym: @ 810E09C - push {r4-r6,lr} - lsls r0, 24 - lsrs r6, r0, 24 - ldr r0, _0810E0E4 @ =gUnknown_083F8370 - ldr r5, _0810E0E8 @ =gUnknown_02039259 - ldrb r1, [r5] - adds r0, r1, r0 - ldr r4, _0810E0EC @ =gUnknown_02039258 - ldrb r2, [r4] - ldrb r0, [r0] - cmp r0, r2 - bne _0810E0F8 - ldr r0, _0810E0F0 @ =gSpecialVar_0x8004 - ldrb r0, [r0] - ldr r2, _0810E0F4 @ =gUnknown_083F8376 - lsls r1, 1 - adds r1, r2 - ldrh r1, [r1] - bl PetalburgGymFunc - movs r0, 0 - strb r0, [r4] - ldrb r0, [r5] - adds r0, 0x1 - strb r0, [r5] - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x5 - bne _0810E0FC - adds r0, r6, 0 - bl DestroyTask - bl EnableBothScriptContexts - b _0810E0FC - .align 2, 0 -_0810E0E4: .4byte gUnknown_083F8370 -_0810E0E8: .4byte gUnknown_02039259 -_0810E0EC: .4byte gUnknown_02039258 -_0810E0F0: .4byte gSpecialVar_0x8004 -_0810E0F4: .4byte gUnknown_083F8376 -_0810E0F8: - adds r0, r2, 0x1 - strb r0, [r4] -_0810E0FC: - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end Task_PetalburgGym - - thumb_func_start PetalburgGymFunc -PetalburgGymFunc: @ 810E104 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - sub sp, 0x10 - lsls r0, 24 - lsrs r0, 24 - lsls r1, 16 - lsrs r2, r1, 16 - movs r7, 0 - subs r0, 0x1 - cmp r0, 0x7 - bhi _0810E1CC - lsls r0, 2 - ldr r1, _0810E128 @ =_0810E12C - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0810E128: .4byte _0810E12C - .align 2, 0 -_0810E12C: - .4byte _0810E14C - .4byte _0810E15E - .4byte _0810E170 - .4byte _0810E182 - .4byte _0810E190 - .4byte _0810E1A6 - .4byte _0810E1B2 - .4byte _0810E1C0 -_0810E14C: - movs r7, 0x2 - mov r1, sp - movs r0, 0x1 - strh r0, [r1] - movs r0, 0x7 - strh r0, [r1, 0x2] - add r1, sp, 0x8 - movs r0, 0x68 - b _0810E1A0 -_0810E15E: - movs r7, 0x2 - mov r1, sp - movs r0, 0x1 - strh r0, [r1] - movs r0, 0x7 - strh r0, [r1, 0x2] - add r1, sp, 0x8 - movs r0, 0x4E - b _0810E1A0 -_0810E170: - movs r7, 0x2 - mov r1, sp - movs r0, 0x1 - strh r0, [r1] - movs r0, 0x7 - strh r0, [r1, 0x2] - add r1, sp, 0x8 - movs r0, 0x5B - b _0810E1A0 -_0810E182: - movs r7, 0x1 - mov r1, sp - movs r0, 0x7 - strh r0, [r1] - add r1, sp, 0x8 - movs r0, 0x27 - b _0810E1CA -_0810E190: - movs r7, 0x2 - mov r1, sp - movs r0, 0x1 - strh r0, [r1] - movs r0, 0x7 - strh r0, [r1, 0x2] - add r1, sp, 0x8 - movs r0, 0x34 -_0810E1A0: - strh r0, [r1] - strh r0, [r1, 0x2] - b _0810E1CC -_0810E1A6: - movs r7, 0x1 - mov r0, sp - strh r7, [r0] - add r1, sp, 0x8 - movs r0, 0x41 - b _0810E1CA -_0810E1B2: - movs r7, 0x1 - mov r1, sp - movs r0, 0x7 - strh r0, [r1] - add r1, sp, 0x8 - movs r0, 0xD - b _0810E1CA -_0810E1C0: - movs r7, 0x1 - mov r0, sp - strh r7, [r0] - add r1, sp, 0x8 - movs r0, 0x1A -_0810E1CA: - strh r0, [r1] -_0810E1CC: - movs r6, 0 - cmp r6, r7 - bcs _0810E21E - movs r1, 0xC0 - lsls r1, 4 - adds r0, r1, 0 - adds r1, r2, 0 - orrs r1, r0 - lsls r1, 16 - mov r9, r1 - adds r1, r2, 0 - adds r1, 0x8 - orrs r1, r0 - lsls r1, 16 - mov r8, r1 -_0810E1EA: - lsls r1, r6, 1 - mov r3, sp - adds r5, r3, r1 - ldrh r0, [r5] - adds r0, 0x7 - add r4, sp, 0x8 - adds r4, r1 - ldrh r1, [r4] - adds r1, 0x7 - mov r3, r9 - lsrs r2, r3, 16 - bl MapGridSetMetatileIdAt - ldrh r0, [r5] - adds r0, 0x7 - ldrh r1, [r4] - adds r1, 0x8 - mov r3, r8 - lsrs r2, r3, 16 - bl MapGridSetMetatileIdAt - adds r0, r6, 0x1 - lsls r0, 24 - lsrs r6, r0, 24 - cmp r6, r7 - bcc _0810E1EA -_0810E21E: - bl DrawWholeMapView - add sp, 0x10 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end PetalburgGymFunc - - thumb_func_start PetalburgGymSpecial2 -PetalburgGymSpecial2: @ 810E230 - push {lr} - ldr r0, _0810E244 @ =gSpecialVar_0x8004 - ldrb r0, [r0] - ldr r1, _0810E248 @ =gUnknown_083F8376 - ldrh r1, [r1, 0x8] - bl PetalburgGymFunc - pop {r0} - bx r0 - .align 2, 0 -_0810E244: .4byte gSpecialVar_0x8004 -_0810E248: .4byte gUnknown_083F8376 - thumb_func_end PetalburgGymSpecial2 - - thumb_func_start ShowFieldMessageStringVar4 -ShowFieldMessageStringVar4: @ 810E24C - push {lr} - ldr r0, _0810E258 @ =gStringVar4 - bl ShowFieldMessage - pop {r0} - bx r0 - .align 2, 0 -_0810E258: .4byte gStringVar4 - thumb_func_end ShowFieldMessageStringVar4 - - thumb_func_start StorePlayerCoordsInVars -StorePlayerCoordsInVars: @ 810E25C - ldr r1, _0810E26C @ =gSpecialVar_0x8004 - ldr r2, _0810E270 @ =gSaveBlock1 - ldrh r0, [r2] - strh r0, [r1] - ldr r1, _0810E274 @ =gSpecialVar_0x8005 - ldrh r0, [r2, 0x2] - strh r0, [r1] - bx lr - .align 2, 0 -_0810E26C: .4byte gSpecialVar_0x8004 -_0810E270: .4byte gSaveBlock1 -_0810E274: .4byte gSpecialVar_0x8005 - thumb_func_end StorePlayerCoordsInVars - - thumb_func_start GetPlayerTrainerIdOnesDigit -GetPlayerTrainerIdOnesDigit: @ 810E278 - push {lr} - ldr r0, _0810E294 @ =gSaveBlock2 - ldrb r1, [r0, 0xB] - lsls r1, 8 - ldrb r0, [r0, 0xA] - orrs r0, r1 - movs r1, 0xA - bl __umodsi3 - lsls r0, 24 - lsrs r0, 24 - pop {r1} - bx r1 - .align 2, 0 -_0810E294: .4byte gSaveBlock2 - thumb_func_end GetPlayerTrainerIdOnesDigit - - thumb_func_start GetPlayerBigGuyGirlString -GetPlayerBigGuyGirlString: @ 810E298 - push {lr} - ldr r0, _0810E2AC @ =gSaveBlock2 - ldrb r0, [r0, 0x8] - cmp r0, 0 - bne _0810E2B8 - ldr r0, _0810E2B0 @ =gStringVar1 - ldr r1, _0810E2B4 @ =gOtherText_BigGuy - bl StringCopy - b _0810E2C0 - .align 2, 0 -_0810E2AC: .4byte gSaveBlock2 -_0810E2B0: .4byte gStringVar1 -_0810E2B4: .4byte gOtherText_BigGuy -_0810E2B8: - ldr r0, _0810E2C4 @ =gStringVar1 - ldr r1, _0810E2C8 @ =gOtherText_BigGirl - bl StringCopy -_0810E2C0: - pop {r0} - bx r0 - .align 2, 0 -_0810E2C4: .4byte gStringVar1 -_0810E2C8: .4byte gOtherText_BigGirl - thumb_func_end GetPlayerBigGuyGirlString - - thumb_func_start GetRivalSonDaughterString -GetRivalSonDaughterString: @ 810E2CC - push {lr} - ldr r0, _0810E2E0 @ =gSaveBlock2 - ldrb r0, [r0, 0x8] - cmp r0, 0 - bne _0810E2EC - ldr r0, _0810E2E4 @ =gStringVar1 - ldr r1, _0810E2E8 @ =gOtherText_Daughter - bl StringCopy - b _0810E2F4 - .align 2, 0 -_0810E2E0: .4byte gSaveBlock2 -_0810E2E4: .4byte gStringVar1 -_0810E2E8: .4byte gOtherText_Daughter -_0810E2EC: - ldr r0, _0810E2F8 @ =gStringVar1 - ldr r1, _0810E2FC @ =gOtherText_Son - bl StringCopy -_0810E2F4: - pop {r0} - bx r0 - .align 2, 0 -_0810E2F8: .4byte gStringVar1 -_0810E2FC: .4byte gOtherText_Son - thumb_func_end GetRivalSonDaughterString - - thumb_func_start sub_810E300 -sub_810E300: @ 810E300 - ldr r0, _0810E308 @ =gBattleOutcome - ldrb r0, [r0] - bx lr - .align 2, 0 -_0810E308: .4byte gBattleOutcome - thumb_func_end sub_810E300 - - thumb_func_start CableCarWarp -CableCarWarp: @ 810E30C - push {lr} - sub sp, 0x4 - ldr r0, _0810E32C @ =gSpecialVar_0x8004 - ldrh r0, [r0] - cmp r0, 0 - beq _0810E330 - movs r2, 0x1 - negs r2, r2 - movs r0, 0x4 - str r0, [sp] - movs r0, 0x13 - movs r1, 0 - movs r3, 0x6 - bl warp1_set - b _0810E342 - .align 2, 0 -_0810E32C: .4byte gSpecialVar_0x8004 -_0810E330: - movs r2, 0x1 - negs r2, r2 - movs r0, 0x4 - str r0, [sp] - movs r0, 0x13 - movs r1, 0x1 - movs r3, 0x6 - bl warp1_set -_0810E342: - add sp, 0x4 - pop {r0} - bx r0 - thumb_func_end CableCarWarp - - thumb_func_start SetFlagInVar -SetFlagInVar: @ 810E348 - push {lr} - ldr r0, _0810E358 @ =gSpecialVar_0x8004 - ldrh r0, [r0] - bl FlagSet - pop {r0} - bx r0 - .align 2, 0 -_0810E358: .4byte gSpecialVar_0x8004 - thumb_func_end SetFlagInVar - - thumb_func_start GetWeekCount -GetWeekCount: @ 810E35C - push {lr} - ldr r0, _0810E37C @ =gLocalTime - movs r1, 0 - ldrsh r0, [r0, r1] - movs r1, 0x7 - bl __divsi3 - lsls r0, 16 - lsrs r0, 16 - ldr r1, _0810E380 @ =0x0000270f - cmp r0, r1 - bls _0810E376 - adds r0, r1, 0 -_0810E376: - pop {r1} - bx r1 - .align 2, 0 -_0810E37C: .4byte gLocalTime -_0810E380: .4byte 0x0000270f - thumb_func_end GetWeekCount - - thumb_func_start GetLeadMonFriendshipScore -GetLeadMonFriendshipScore: @ 810E384 - push {r4,lr} - bl GetLeadMonIndex - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x64 - muls r1, r0 - ldr r0, _0810E3A8 @ =gPlayerParty - adds r4, r1, r0 - adds r0, r4, 0 - movs r1, 0x20 - bl GetMonData - cmp r0, 0xFF - bne _0810E3AC - movs r0, 0x6 - b _0810E3FE - .align 2, 0 -_0810E3A8: .4byte gPlayerParty -_0810E3AC: - adds r0, r4, 0 - movs r1, 0x20 - bl GetMonData - cmp r0, 0xC7 - bls _0810E3BC - movs r0, 0x5 - b _0810E3FE -_0810E3BC: - adds r0, r4, 0 - movs r1, 0x20 - bl GetMonData - cmp r0, 0x95 - bls _0810E3CC - movs r0, 0x4 - b _0810E3FE -_0810E3CC: - adds r0, r4, 0 - movs r1, 0x20 - bl GetMonData - cmp r0, 0x63 - bls _0810E3DC - movs r0, 0x3 - b _0810E3FE -_0810E3DC: - adds r0, r4, 0 - movs r1, 0x20 - bl GetMonData - cmp r0, 0x31 - bls _0810E3EC - movs r0, 0x2 - b _0810E3FE -_0810E3EC: - adds r0, r4, 0 - movs r1, 0x20 - bl GetMonData - cmp r0, 0 - bne _0810E3FC - movs r0, 0 - b _0810E3FE -_0810E3FC: - movs r0, 0x1 -_0810E3FE: - pop {r4} - pop {r1} - bx r1 - thumb_func_end GetLeadMonFriendshipScore - - thumb_func_start CB2_FieldShowRegionMap -CB2_FieldShowRegionMap: @ 810E404 - push {lr} - ldr r0, _0810E410 @ =c2_exit_to_overworld_1_continue_scripts_restart_music - bl FieldInitRegionMap - pop {r0} - bx r0 - .align 2, 0 -_0810E410: .4byte c2_exit_to_overworld_1_continue_scripts_restart_music - thumb_func_end CB2_FieldShowRegionMap - - thumb_func_start FieldShowRegionMap -FieldShowRegionMap: @ 810E414 - push {lr} - ldr r0, _0810E420 @ =CB2_FieldShowRegionMap - bl SetMainCallback2 - pop {r0} - bx r0 - .align 2, 0 -_0810E420: .4byte CB2_FieldShowRegionMap - thumb_func_end FieldShowRegionMap - - thumb_func_start DoPCTurnOnEffect -DoPCTurnOnEffect: @ 810E424 - push {r4,lr} - ldr r4, _0810E460 @ =Task_PCTurnOnEffect - adds r0, r4, 0 - bl FuncIsActiveTask - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _0810E458 - adds r0, r4, 0 - movs r1, 0x8 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - ldr r2, _0810E464 @ =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - movs r2, 0 - strh r2, [r1, 0x8] - strh r0, [r1, 0xA] - strh r2, [r1, 0xC] - strh r2, [r1, 0xE] - strh r2, [r1, 0x10] -_0810E458: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0810E460: .4byte Task_PCTurnOnEffect -_0810E464: .4byte gTasks - thumb_func_end DoPCTurnOnEffect - - thumb_func_start Task_PCTurnOnEffect -Task_PCTurnOnEffect: @ 810E468 - push {lr} - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - ldr r0, _0810E48C @ =gTasks - adds r1, r0 - movs r2, 0x8 - ldrsh r0, [r1, r2] - cmp r0, 0 - bne _0810E486 - adds r0, r1, 0 - bl PCTurnOffEffect_0 -_0810E486: - pop {r0} - bx r0 - .align 2, 0 -_0810E48C: .4byte gTasks - thumb_func_end Task_PCTurnOnEffect - - thumb_func_start PCTurnOffEffect_0 -PCTurnOffEffect_0: @ 810E490 - push {r4-r6,lr} - adds r4, r0, 0 - movs r6, 0 - movs r5, 0 - movs r1, 0xE - ldrsh r0, [r4, r1] - cmp r0, 0x6 - bne _0810E4FC - strh r5, [r4, 0xE] - bl player_get_direction_lower_nybble - lsls r0, 24 - lsrs r0, 24 - adds r1, r0, 0 - cmp r0, 0x3 - beq _0810E4C4 - cmp r0, 0x3 - bgt _0810E4BA - cmp r0, 0x2 - beq _0810E4C0 - b _0810E4CC -_0810E4BA: - cmp r1, 0x4 - beq _0810E4C8 - b _0810E4CC -_0810E4C0: - movs r6, 0 - b _0810E4CA -_0810E4C4: - movs r6, 0xFF - b _0810E4CA -_0810E4C8: - movs r6, 0x1 -_0810E4CA: - movs r5, 0xFF -_0810E4CC: - movs r1, 0x10 - ldrsh r0, [r4, r1] - lsls r1, r6, 24 - asrs r1, 24 - lsls r2, r5, 24 - asrs r2, 24 - bl PCTurnOffEffect_1 - bl DrawWholeMapView - ldrh r0, [r4, 0x10] - movs r1, 0x1 - eors r0, r1 - strh r0, [r4, 0x10] - ldrh r0, [r4, 0xC] - adds r0, 0x1 - strh r0, [r4, 0xC] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x5 - bne _0810E4FC - ldrb r0, [r4, 0xA] - bl DestroyTask -_0810E4FC: - ldrh r0, [r4, 0xE] - adds r0, 0x1 - strh r0, [r4, 0xE] - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end PCTurnOffEffect_0 - - thumb_func_start PCTurnOffEffect_1 -PCTurnOffEffect_1: @ 810E508 - push {r4,r5,lr} - lsls r1, 24 - lsrs r1, 24 - lsls r2, 24 - lsrs r4, r2, 24 - movs r3, 0 - lsls r0, 16 - cmp r0, 0 - beq _0810E544 - ldr r0, _0810E528 @ =gSpecialVar_0x8004 - ldrh r0, [r0] - cmp r0, 0 - bne _0810E52C - movs r3, 0x4 - b _0810E566 - .align 2, 0 -_0810E528: .4byte gSpecialVar_0x8004 -_0810E52C: - cmp r0, 0x1 - bne _0810E538 - ldr r3, _0810E534 @ =0x0000025a - b _0810E566 - .align 2, 0 -_0810E534: .4byte 0x0000025a -_0810E538: - cmp r0, 0x2 - bne _0810E566 - ldr r3, _0810E540 @ =0x00000259 - b _0810E566 - .align 2, 0 -_0810E540: .4byte 0x00000259 -_0810E544: - ldr r0, _0810E550 @ =gSpecialVar_0x8004 - ldrh r0, [r0] - cmp r0, 0 - bne _0810E554 - movs r3, 0x5 - b _0810E566 - .align 2, 0 -_0810E550: .4byte gSpecialVar_0x8004 -_0810E554: - cmp r0, 0x1 - bne _0810E560 - ldr r3, _0810E55C @ =0x0000027f - b _0810E566 - .align 2, 0 -_0810E55C: .4byte 0x0000027f -_0810E560: - cmp r0, 0x2 - bne _0810E566 - ldr r3, _0810E594 @ =0x0000027e -_0810E566: - ldr r2, _0810E598 @ =gSaveBlock1 - movs r5, 0 - ldrsh r0, [r2, r5] - lsls r1, 24 - asrs r1, 24 - adds r0, r1 - adds r0, 0x7 - movs r5, 0x2 - ldrsh r1, [r2, r5] - lsls r2, r4, 24 - asrs r2, 24 - adds r1, r2 - adds r1, 0x7 - movs r4, 0xC0 - lsls r4, 4 - adds r2, r4, 0 - orrs r3, r2 - adds r2, r3, 0 - bl MapGridSetMetatileIdAt - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0810E594: .4byte 0x0000027e -_0810E598: .4byte gSaveBlock1 - thumb_func_end PCTurnOffEffect_1 - - thumb_func_start DoPCTurnOffEffect -DoPCTurnOffEffect: @ 810E59C - push {lr} - bl PCTurnOffEffect - pop {r0} - bx r0 - thumb_func_end DoPCTurnOffEffect - - thumb_func_start PCTurnOffEffect -PCTurnOffEffect: @ 810E5A8 - push {r4-r6,lr} - movs r6, 0 - movs r5, 0 - movs r4, 0 - bl player_get_direction_lower_nybble - lsls r0, 24 - lsrs r0, 24 - adds r1, r0, 0 - cmp r0, 0x3 - beq _0810E5D2 - cmp r0, 0x3 - bgt _0810E5C8 - cmp r0, 0x2 - beq _0810E5CE - b _0810E5DA -_0810E5C8: - cmp r1, 0x4 - beq _0810E5D6 - b _0810E5DA -_0810E5CE: - movs r6, 0 - b _0810E5D8 -_0810E5D2: - movs r6, 0xFF - b _0810E5D8 -_0810E5D6: - movs r6, 0x1 -_0810E5D8: - movs r5, 0xFF -_0810E5DA: - ldr r0, _0810E5E8 @ =gSpecialVar_0x8004 - ldrh r0, [r0] - cmp r0, 0 - bne _0810E5EC - movs r4, 0x4 - b _0810E5FE - .align 2, 0 -_0810E5E8: .4byte gSpecialVar_0x8004 -_0810E5EC: - cmp r0, 0x1 - bne _0810E5F8 - ldr r4, _0810E5F4 @ =0x0000025a - b _0810E5FE - .align 2, 0 -_0810E5F4: .4byte 0x0000025a -_0810E5F8: - cmp r0, 0x2 - bne _0810E5FE - ldr r4, _0810E630 @ =0x00000259 -_0810E5FE: - ldr r2, _0810E634 @ =gSaveBlock1 - movs r1, 0 - ldrsh r0, [r2, r1] - lsls r1, r6, 24 - asrs r1, 24 - adds r0, r1 - adds r0, 0x7 - movs r3, 0x2 - ldrsh r1, [r2, r3] - lsls r2, r5, 24 - asrs r2, 24 - adds r1, r2 - adds r1, 0x7 - movs r3, 0xC0 - lsls r3, 4 - adds r2, r3, 0 - orrs r4, r2 - adds r2, r4, 0 - bl MapGridSetMetatileIdAt - bl DrawWholeMapView - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0810E630: .4byte 0x00000259 -_0810E634: .4byte gSaveBlock1 - thumb_func_end PCTurnOffEffect - - thumb_func_start DoLotteryCornerComputerEffect -DoLotteryCornerComputerEffect: @ 810E638 - push {r4,lr} - ldr r4, _0810E674 @ =Task_LotteryCornerComputerEffect - adds r0, r4, 0 - bl FuncIsActiveTask - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _0810E66C - adds r0, r4, 0 - movs r1, 0x8 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - ldr r2, _0810E678 @ =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - movs r2, 0 - strh r2, [r1, 0x8] - strh r0, [r1, 0xA] - strh r2, [r1, 0xC] - strh r2, [r1, 0xE] - strh r2, [r1, 0x10] -_0810E66C: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0810E674: .4byte Task_LotteryCornerComputerEffect -_0810E678: .4byte gTasks - thumb_func_end DoLotteryCornerComputerEffect - - thumb_func_start Task_LotteryCornerComputerEffect -Task_LotteryCornerComputerEffect: @ 810E67C - push {lr} - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - ldr r0, _0810E6A0 @ =gTasks - adds r1, r0 - movs r2, 0x8 - ldrsh r0, [r1, r2] - cmp r0, 0 - bne _0810E69A - adds r0, r1, 0 - bl LotteryCornerComputerEffect -_0810E69A: - pop {r0} - bx r0 - .align 2, 0 -_0810E6A0: .4byte gTasks - thumb_func_end Task_LotteryCornerComputerEffect - - thumb_func_start LotteryCornerComputerEffect -LotteryCornerComputerEffect: @ 810E6A4 - push {r4,lr} - adds r4, r0, 0 - movs r1, 0xE - ldrsh r0, [r4, r1] - cmp r0, 0x6 - bne _0810E712 - movs r0, 0 - strh r0, [r4, 0xE] - movs r1, 0x10 - ldrsh r0, [r4, r1] - cmp r0, 0 - beq _0810E6DC - ldr r2, _0810E6D4 @ =0x00000e9d - movs r0, 0x12 - movs r1, 0x8 - bl MapGridSetMetatileIdAt - ldr r2, _0810E6D8 @ =0x00000ea5 - movs r0, 0x12 - movs r1, 0x9 - bl MapGridSetMetatileIdAt - b _0810E6F2 - .align 2, 0 -_0810E6D4: .4byte 0x00000e9d -_0810E6D8: .4byte 0x00000ea5 -_0810E6DC: - ldr r2, _0810E720 @ =0x00000e58 - movs r0, 0x12 - movs r1, 0x8 - bl MapGridSetMetatileIdAt - movs r2, 0xE6 - lsls r2, 4 - movs r0, 0x12 - movs r1, 0x9 - bl MapGridSetMetatileIdAt -_0810E6F2: - bl DrawWholeMapView - ldrh r0, [r4, 0x10] - movs r1, 0x1 - eors r0, r1 - strh r0, [r4, 0x10] - ldrh r0, [r4, 0xC] - adds r0, 0x1 - strh r0, [r4, 0xC] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x5 - bne _0810E712 - ldrb r0, [r4, 0xA] - bl DestroyTask -_0810E712: - ldrh r0, [r4, 0xE] - adds r0, 0x1 - strh r0, [r4, 0xE] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0810E720: .4byte 0x00000e58 - thumb_func_end LotteryCornerComputerEffect - - thumb_func_start EndLotteryCornerComputerEffect -EndLotteryCornerComputerEffect: @ 810E724 - push {lr} - ldr r2, _0810E744 @ =0x00000e9d - movs r0, 0x12 - movs r1, 0x8 - bl MapGridSetMetatileIdAt - ldr r2, _0810E748 @ =0x00000ea5 - movs r0, 0x12 - movs r1, 0x9 - bl MapGridSetMetatileIdAt - bl DrawWholeMapView - pop {r0} - bx r0 - .align 2, 0 -_0810E744: .4byte 0x00000e9d -_0810E748: .4byte 0x00000ea5 - thumb_func_end EndLotteryCornerComputerEffect - - thumb_func_start SetDepartmentStoreFloorVar -SetDepartmentStoreFloorVar: @ 810E74C - push {lr} - ldr r0, _0810E768 @ =gSaveBlock1 - ldrb r0, [r0, 0x15] - subs r0, 0x11 - lsls r0, 24 - asrs r0, 24 - cmp r0, 0x5 - bhi _0810E79C - lsls r0, 2 - ldr r1, _0810E76C @ =_0810E770 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0810E768: .4byte gSaveBlock1 -_0810E76C: .4byte _0810E770 - .align 2, 0 -_0810E770: - .4byte _0810E79C - .4byte _0810E788 - .4byte _0810E78C - .4byte _0810E790 - .4byte _0810E794 - .4byte _0810E798 -_0810E788: - movs r1, 0x1 - b _0810E79E -_0810E78C: - movs r1, 0x2 - b _0810E79E -_0810E790: - movs r1, 0x3 - b _0810E79E -_0810E794: - movs r1, 0x4 - b _0810E79E -_0810E798: - movs r1, 0xF - b _0810E79E -_0810E79C: - movs r1, 0 -_0810E79E: - ldr r0, _0810E7A8 @ =0x00004043 - bl VarSet - pop {r0} - bx r0 - .align 2, 0 -_0810E7A8: .4byte 0x00004043 - thumb_func_end SetDepartmentStoreFloorVar - - thumb_func_start ScriptAddElevatorMenuItem -ScriptAddElevatorMenuItem: @ 810E7AC - push {r4-r7,lr} - mov r7, r8 - push {r7} - lsls r0, 24 - lsrs r6, r0, 24 - lsls r1, 24 - lsrs r7, r1, 24 - lsls r2, 24 - lsrs r2, 24 - mov r12, r2 - lsls r3, 24 - lsrs r3, 24 - mov r8, r3 - ldr r0, _0810E81C @ =gSpecialVar_0x8004 - ldrh r1, [r0] - adds r2, r0, 0 - ldr r3, _0810E820 @ =gUnknown_03000760 - cmp r1, 0 - bne _0810E7E8 - movs r1, 0 - adds r5, r3, 0 - movs r4, 0x10 -_0810E7D8: - lsls r0, r1, 2 - adds r0, r5 - strb r4, [r0] - adds r0, r1, 0x1 - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0x13 - bls _0810E7D8 -_0810E7E8: - ldrh r0, [r2] - lsls r0, 2 - adds r0, r3 - strb r6, [r0] - ldrh r0, [r2] - lsls r0, 2 - adds r0, r3 - strb r7, [r0, 0x1] - ldrh r0, [r2] - lsls r0, 2 - adds r0, r3 - mov r1, r12 - strb r1, [r0, 0x2] - ldrh r0, [r2] - lsls r0, 2 - adds r0, r3 - mov r1, r8 - strb r1, [r0, 0x3] - ldrh r0, [r2] - adds r0, 0x1 - strh r0, [r2] - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0810E81C: .4byte gSpecialVar_0x8004 -_0810E820: .4byte gUnknown_03000760 - thumb_func_end ScriptAddElevatorMenuItem - - thumb_func_start ScriptShowElevatorMenu -ScriptShowElevatorMenu: @ 810E824 - push {r4,r5,lr} - movs r4, 0 - ldr r5, _0810E868 @ =gUnknown_0203925A - strb r4, [r5] - ldr r0, _0810E86C @ =gUnknown_0203925B - strb r4, [r0] - movs r0, 0x10 - movs r1, 0 - movs r2, 0 - movs r3, 0 - bl ScriptAddElevatorMenuItem - ldr r2, _0810E870 @ =gUnknown_03000760 - ldrb r0, [r2] - cmp r0, 0x10 - beq _0810E85C - adds r1, r5, 0 -_0810E846: - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - lsls r0, r4, 2 - adds r0, r2 - ldrb r0, [r0] - cmp r0, 0x10 - bne _0810E846 -_0810E85C: - bl sub_810E874 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0810E868: .4byte gUnknown_0203925A -_0810E86C: .4byte gUnknown_0203925B -_0810E870: .4byte gUnknown_03000760 - thumb_func_end ScriptShowElevatorMenu - - thumb_func_start sub_810E874 -sub_810E874: @ 810E874 - push {r4-r6,lr} - sub sp, 0x8 - bl ScriptContext2_Enable - ldr r4, _0810E8B8 @ =gUnknown_0203925A - ldrb r0, [r4] - cmp r0, 0x5 - bls _0810E8C0 - movs r0, 0 - movs r1, 0 - movs r2, 0x8 - movs r3, 0xB - bl MenuDrawTextWindow - movs r4, 0 - str r4, [sp] - movs r0, 0x7 - str r0, [sp, 0x4] - movs r0, 0 - movs r1, 0x1 - movs r2, 0x1 - movs r3, 0x5 - bl InitMenu - ldr r0, _0810E8BC @ =gUnknown_0203925C - strb r4, [r0] - bl sub_80F944C - bl LoadScrollIndicatorPalette - bl sub_810ECD4 - b _0810E8E8 - .align 2, 0 -_0810E8B8: .4byte gUnknown_0203925A -_0810E8BC: .4byte gUnknown_0203925C -_0810E8C0: - ldrb r3, [r4] - lsls r3, 1 - adds r3, 0x1 - lsls r3, 24 - lsrs r3, 24 - movs r0, 0 - movs r1, 0 - movs r2, 0x8 - bl MenuDrawTextWindow - ldrb r3, [r4] - movs r0, 0 - str r0, [sp] - movs r0, 0x7 - str r0, [sp, 0x4] - movs r0, 0 - movs r1, 0x1 - movs r2, 0x1 - bl InitMenu -_0810E8E8: - movs r4, 0 - ldr r1, _0810E938 @ =gUnknown_03000760 - ldrb r0, [r1] - cmp r0, 0x10 - beq _0810E924 - ldr r6, _0810E93C @ =gUnknown_083F8380 - adds r5, r1, 0 -_0810E8F6: - lsls r0, r4, 2 - adds r0, r5 - ldrb r0, [r0] - lsls r0, 2 - adds r0, r6 - ldr r0, [r0] - lsls r2, r4, 1 - adds r2, 0x1 - lsls r2, 24 - lsrs r2, 24 - movs r1, 0x1 - bl MenuPrint - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x4 - bhi _0810E924 - lsls r0, r4, 2 - adds r0, r5 - ldrb r0, [r0] - cmp r0, 0x10 - bne _0810E8F6 -_0810E924: - bl sub_810E944 - ldr r0, _0810E940 @ =sub_810E984 - movs r1, 0x8 - bl CreateTask - add sp, 0x8 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0810E938: .4byte gUnknown_03000760 -_0810E93C: .4byte gUnknown_083F8380 -_0810E940: .4byte sub_810E984 - thumb_func_end sub_810E874 - - thumb_func_start sub_810E944 -sub_810E944: @ 810E944 - push {lr} - movs r0, 0x14 - movs r1, 0 - movs r2, 0x1D - movs r3, 0x5 - bl MenuDrawTextWindow - ldr r0, _0810E978 @ =gOtherText_NowOn - movs r1, 0x15 - movs r2, 0x1 - movs r3, 0x40 - bl sub_8072BD8 - ldr r1, _0810E97C @ =gUnknown_083F8380 - ldr r0, _0810E980 @ =gSpecialVar_0x8005 - ldrh r0, [r0] - lsls r0, 2 - adds r0, r1 - ldr r0, [r0] - movs r1, 0x15 - movs r2, 0x3 - movs r3, 0x40 - bl sub_8072BD8 - pop {r0} - bx r0 - .align 2, 0 -_0810E978: .4byte gOtherText_NowOn -_0810E97C: .4byte gUnknown_083F8380 -_0810E980: .4byte gSpecialVar_0x8005 - thumb_func_end sub_810E944 - - thumb_func_start sub_810E984 -sub_810E984: @ 810E984 - push {r4-r6,lr} - sub sp, 0x8 - lsls r0, 24 - lsrs r6, r0, 24 - ldr r0, _0810EA44 @ =gMain - ldrh r0, [r0, 0x2E] - cmp r0, 0x40 - bne _0810E9B8 - ldr r1, _0810EA48 @ =gUnknown_0203925B - ldrb r0, [r1] - cmp r0, 0 - beq _0810E9B8 - subs r0, 0x1 - strb r0, [r1] - bl GetMenuCursorPos - lsls r0, 24 - lsrs r4, r0, 24 - movs r0, 0x1 - negs r0, r0 - bl MoveMenuCursorNoWrap - adds r0, r4, 0 - movs r1, 0x40 - bl sub_810EAC8 -_0810E9B8: - ldr r0, _0810EA44 @ =gMain - ldrh r0, [r0, 0x2E] - cmp r0, 0x80 - bne _0810E9E8 - ldr r2, _0810EA48 @ =gUnknown_0203925B - ldrb r1, [r2] - ldr r0, _0810EA4C @ =gUnknown_0203925A - ldrb r0, [r0] - subs r0, 0x1 - cmp r1, r0 - beq _0810E9E8 - adds r0, r1, 0x1 - strb r0, [r2] - bl GetMenuCursorPos - lsls r0, 24 - lsrs r4, r0, 24 - movs r0, 0x1 - bl MoveMenuCursorNoWrap - adds r0, r4, 0 - movs r1, 0x80 - bl sub_810EAC8 -_0810E9E8: - ldr r0, _0810EA44 @ =gMain - ldrh r2, [r0, 0x2E] - movs r5, 0x1 - adds r1, r5, 0 - ands r1, r2 - cmp r1, 0 - beq _0810EA94 - ldr r1, _0810EA50 @ =gUnknown_03000760 - ldr r4, _0810EA48 @ =gUnknown_0203925B - ldrb r0, [r4] - lsls r0, 2 - adds r0, r1 - movs r1, 0x1 - ldrsb r1, [r0, r1] - movs r2, 0x2 - ldrsb r2, [r0, r2] - movs r3, 0x1 - negs r3, r3 - movs r0, 0x2 - str r0, [sp] - str r5, [sp, 0x4] - movs r0, 0 - bl saved_warp2_set_2 - ldr r1, _0810EA54 @ =gSpecialVar_0x8005 - ldrh r0, [r1] - ldrb r2, [r4] - cmp r0, r2 - bne _0810EA5C - ldr r1, _0810EA58 @ =gScriptResult - movs r0, 0 - strh r0, [r1] - movs r0, 0x5 - bl PlaySE - movs r0, 0 - movs r1, 0 - movs r2, 0x1D - movs r3, 0xC - bl MenuZeroFillWindowRect - adds r0, r6, 0 - bl sub_810EC9C - b _0810EABC - .align 2, 0 -_0810EA44: .4byte gMain -_0810EA48: .4byte gUnknown_0203925B -_0810EA4C: .4byte gUnknown_0203925A -_0810EA50: .4byte gUnknown_03000760 -_0810EA54: .4byte gSpecialVar_0x8005 -_0810EA58: .4byte gScriptResult -_0810EA5C: - ldr r0, _0810EA88 @ =gScriptResult - strh r5, [r0] - ldrb r0, [r4] - strh r0, [r1] - bl sub_810EBEC - ldr r0, _0810EA8C @ =gScriptLastTalked - ldrb r0, [r0] - ldr r2, _0810EA90 @ =gSaveBlock1 - ldrb r1, [r2, 0x5] - ldrb r2, [r2, 0x4] - movs r3, 0x1 - bl FieldObjectTurnByLocalIdAndMap - bl sub_810EEDC - bl MenuZeroFillScreen - adds r0, r6, 0 - bl DestroyTask - b _0810EABC - .align 2, 0 -_0810EA88: .4byte gScriptResult -_0810EA8C: .4byte gScriptLastTalked -_0810EA90: .4byte gSaveBlock1 -_0810EA94: - movs r0, 0x2 - ands r0, r2 - cmp r0, 0 - beq _0810EABC - ldr r0, _0810EAC4 @ =gScriptResult - strh r1, [r0] - movs r0, 0x5 - bl PlaySE - bl sub_810EEDC - movs r0, 0 - movs r1, 0 - movs r2, 0x1D - movs r3, 0xC - bl MenuZeroFillWindowRect - adds r0, r6, 0 - bl sub_810EC9C -_0810EABC: - add sp, 0x8 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0810EAC4: .4byte gScriptResult - thumb_func_end sub_810E984 - - thumb_func_start sub_810EAC8 -sub_810EAC8: @ 810EAC8 - push {r4-r7,lr} - mov r7, r8 - push {r7} - lsls r0, 24 - lsrs r2, r0, 24 - adds r5, r2, 0 - lsls r1, 24 - lsrs r1, 24 - adds r3, r1, 0 - movs r7, 0 - movs r4, 0 - ldr r0, _0810EAEC @ =gUnknown_0203925A - ldrb r0, [r0] - cmp r0, 0x4 - bhi _0810EAF0 - movs r0, 0 - b _0810EB78 - .align 2, 0 -_0810EAEC: .4byte gUnknown_0203925A -_0810EAF0: - cmp r1, 0x40 - bne _0810EB04 - cmp r2, 0 - bne _0810EB18 - ldr r0, _0810EB00 @ =gUnknown_0203925B - ldrb r4, [r0] - movs r7, 0x1 - b _0810EB1C - .align 2, 0 -_0810EB00: .4byte gUnknown_0203925B -_0810EB04: - cmp r3, 0x80 - bne _0810EB18 - cmp r5, 0x4 - bne _0810EB18 - ldr r0, _0810EB84 @ =gUnknown_0203925B - ldrb r0, [r0] - subs r0, 0x4 - lsls r0, 24 - lsrs r4, r0, 24 - movs r7, 0x1 -_0810EB18: - cmp r7, 0 - beq _0810EB76 -_0810EB1C: - adds r0, r4, 0 - movs r1, 0x5 - bl sub_810EB90 - movs r0, 0x2 - movs r1, 0x1 - movs r2, 0x7 - movs r3, 0xA - bl MenuFillWindowRectWithBlankTile - movs r5, 0 - ldr r2, _0810EB88 @ =gUnknown_03000760 - lsls r1, r4, 2 - adds r0, r1, r2 - ldrb r0, [r0] - cmp r0, 0x10 - beq _0810EB76 - ldr r0, _0810EB8C @ =gUnknown_083F8380 - mov r8, r0 - adds r6, r2, 0 -_0810EB44: - adds r0, r1, r6 - ldrb r0, [r0] - lsls r0, 2 - add r0, r8 - ldr r0, [r0] - lsls r2, r5, 1 - adds r2, 0x1 - lsls r2, 24 - lsrs r2, 24 - movs r1, 0x1 - bl MenuPrint - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0x4 - bhi _0810EB76 - lsls r1, r4, 2 - adds r0, r1, r6 - ldrb r0, [r0] - cmp r0, 0x10 - bne _0810EB44 -_0810EB76: - adds r0, r7, 0 -_0810EB78: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_0810EB84: .4byte gUnknown_0203925B -_0810EB88: .4byte gUnknown_03000760 -_0810EB8C: .4byte gUnknown_083F8380 - thumb_func_end sub_810EAC8 - - thumb_func_start sub_810EB90 -sub_810EB90: @ 810EB90 - push {r4,r5,lr} - lsls r0, 24 - lsrs r4, r0, 24 - lsls r1, 24 - lsrs r5, r1, 24 - cmp r4, 0 - bne _0810EBB4 - ldr r0, _0810EBB0 @ =gUnknown_0203925C - ldrb r1, [r0] - movs r2, 0x2 - eors r1, r2 - strb r1, [r0] - movs r0, 0 - bl DestroyVerticalScrollIndicator - b _0810EBB8 - .align 2, 0 -_0810EBB0: .4byte gUnknown_0203925C -_0810EBB4: - bl sub_810ECB0 -_0810EBB8: - adds r1, r4, r5 - ldr r0, _0810EBC8 @ =gUnknown_0203925A - ldrb r0, [r0] - cmp r1, r0 - bge _0810EBCC - bl sub_810ECD4 - b _0810EBE0 - .align 2, 0 -_0810EBC8: .4byte gUnknown_0203925A -_0810EBCC: - cmp r1, r0 - bne _0810EBE0 - ldr r0, _0810EBE8 @ =gUnknown_0203925C - ldrb r1, [r0] - movs r2, 0x1 - eors r1, r2 - strb r1, [r0] - movs r0, 0x1 - bl DestroyVerticalScrollIndicator -_0810EBE0: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0810EBE8: .4byte gUnknown_0203925C - thumb_func_end sub_810EB90 - - thumb_func_start sub_810EBEC -sub_810EBEC: @ 810EBEC - push {lr} - ldr r0, _0810EC2C @ =sub_810EC34 - movs r1, 0x9 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - ldr r2, _0810EC30 @ =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - movs r0, 0 - movs r2, 0x1 - strh r2, [r1, 0x8] - strh r0, [r1, 0xA] - strh r0, [r1, 0xC] - strh r0, [r1, 0xE] - strh r2, [r1, 0x10] - movs r0, 0x3 - strh r0, [r1, 0x12] - movs r0, 0 - bl SetCameraPanningCallback - bl sub_810ECFC - movs r0, 0x59 - bl PlaySE - pop {r0} - bx r0 - .align 2, 0 -_0810EC2C: .4byte sub_810EC34 -_0810EC30: .4byte gTasks - thumb_func_end sub_810EBEC - - thumb_func_start sub_810EC34 -sub_810EC34: @ 810EC34 - push {r4,r5,lr} - lsls r0, 24 - lsrs r5, r0, 24 - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - ldr r1, _0810EC98 @ =gTasks - adds r4, r0, r1 - ldrh r0, [r4, 0xA] - adds r0, 0x1 - strh r0, [r4, 0xA] - movs r1, 0xA - ldrsh r0, [r4, r1] - movs r2, 0x12 - ldrsh r1, [r4, r2] - bl __modsi3 - cmp r0, 0 - bne _0810EC92 - strh r0, [r4, 0xA] - ldrh r0, [r4, 0xC] - adds r0, 0x1 - strh r0, [r4, 0xC] - movs r1, 0xE - ldrsh r0, [r4, r1] - cmp r0, 0 - bne _0810EC92 - ldrh r0, [r4, 0x10] - negs r0, r0 - strh r0, [r4, 0x10] - movs r2, 0x10 - ldrsh r1, [r4, r2] - movs r0, 0 - bl SetCameraPanning - movs r1, 0xC - ldrsh r0, [r4, r1] - cmp r0, 0x17 - bne _0810EC92 - movs r0, 0x49 - bl PlaySE - adds r0, r5, 0 - bl sub_810EC9C - bl InstallCameraPanAheadCallback -_0810EC92: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0810EC98: .4byte gTasks - thumb_func_end sub_810EC34 - - thumb_func_start sub_810EC9C -sub_810EC9C: @ 810EC9C - push {lr} - lsls r0, 24 - lsrs r0, 24 - bl DestroyTask - bl EnableBothScriptContexts - pop {r0} - bx r0 - thumb_func_end sub_810EC9C - - thumb_func_start sub_810ECB0 -sub_810ECB0: @ 810ECB0 - push {lr} - ldr r2, _0810ECD0 @ =gUnknown_0203925C - ldrb r1, [r2] - lsrs r0, r1, 1 - cmp r0, 0x1 - beq _0810ECCC - movs r0, 0x2 - orrs r0, r1 - strb r0, [r2] - movs r0, 0 - movs r1, 0x24 - movs r2, 0x8 - bl CreateVerticalScrollIndicators -_0810ECCC: - pop {r0} - bx r0 - .align 2, 0 -_0810ECD0: .4byte gUnknown_0203925C - thumb_func_end sub_810ECB0 - - thumb_func_start sub_810ECD4 -sub_810ECD4: @ 810ECD4 - push {lr} - ldr r2, _0810ECF8 @ =gUnknown_0203925C - ldrb r1, [r2] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - bne _0810ECF2 - movs r0, 0x1 - orrs r0, r1 - strb r0, [r2] - movs r0, 0x1 - movs r1, 0x24 - movs r2, 0x48 - bl CreateVerticalScrollIndicators -_0810ECF2: - pop {r0} - bx r0 - .align 2, 0 -_0810ECF8: .4byte gUnknown_0203925C - thumb_func_end sub_810ECD4 - - thumb_func_start sub_810ECFC -sub_810ECFC: @ 810ECFC - push {r4,lr} - ldr r4, _0810ED38 @ =sub_810ED40 - adds r0, r4, 0 - bl FuncIsActiveTask - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _0810ED30 - adds r0, r4, 0 - movs r1, 0x8 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - ldr r2, _0810ED3C @ =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - movs r2, 0 - strh r2, [r1, 0x8] - strh r0, [r1, 0xA] - strh r2, [r1, 0xC] - strh r2, [r1, 0xE] - strh r2, [r1, 0x10] -_0810ED30: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0810ED38: .4byte sub_810ED40 -_0810ED3C: .4byte gTasks - thumb_func_end sub_810ECFC - - thumb_func_start sub_810ED40 -sub_810ED40: @ 810ED40 - push {lr} - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - ldr r1, _0810ED5C @ =gTasks - adds r0, r1 - bl sub_810ED60 - pop {r0} - bx r0 - .align 2, 0 -_0810ED5C: .4byte gTasks - thumb_func_end sub_810ED40 - - thumb_func_start sub_810ED60 -sub_810ED60: @ 810ED60 - push {r4,r5,lr} - adds r5, r0, 0 - movs r1, 0xE - ldrsh r0, [r5, r1] - cmp r0, 0x8 - beq _0810ED6E - b _0810EEB2 -_0810ED6E: - movs r0, 0 - strh r0, [r5, 0xE] - movs r1, 0x10 - ldrsh r0, [r5, r1] - cmp r0, 0 - beq _0810EE14 - ldr r2, _0810EDFC @ =0x00000e68 - movs r0, 0x7 - movs r1, 0x7 - bl MapGridSetMetatileIdAt - ldr r4, _0810EE00 @ =0x00000e69 - movs r0, 0x8 - movs r1, 0x7 - adds r2, r4, 0 - bl MapGridSetMetatileIdAt - movs r0, 0x9 - movs r1, 0x7 - adds r2, r4, 0 - bl MapGridSetMetatileIdAt - ldr r2, _0810EE04 @ =0x00000e6a - movs r0, 0xA - movs r1, 0x7 - bl MapGridSetMetatileIdAt - movs r2, 0xE7 - lsls r2, 4 - movs r0, 0x7 - movs r1, 0x8 - bl MapGridSetMetatileIdAt - adds r4, 0x8 - movs r0, 0x8 - movs r1, 0x8 - adds r2, r4, 0 - bl MapGridSetMetatileIdAt - movs r0, 0x9 - movs r1, 0x8 - adds r2, r4, 0 - bl MapGridSetMetatileIdAt - ldr r2, _0810EE08 @ =0x00000e72 - movs r0, 0xA - movs r1, 0x8 - bl MapGridSetMetatileIdAt - ldr r2, _0810EE0C @ =0x00000e78 - movs r0, 0x7 - movs r1, 0x9 - bl MapGridSetMetatileIdAt - adds r4, 0x8 - movs r0, 0x8 - movs r1, 0x9 - adds r2, r4, 0 - bl MapGridSetMetatileIdAt - movs r0, 0x9 - movs r1, 0x9 - adds r2, r4, 0 - bl MapGridSetMetatileIdAt - ldr r2, _0810EE10 @ =0x00000e7a - movs r0, 0xA - movs r1, 0x9 - bl MapGridSetMetatileIdAt - b _0810EE92 - .align 2, 0 -_0810EDFC: .4byte 0x00000e68 -_0810EE00: .4byte 0x00000e69 -_0810EE04: .4byte 0x00000e6a -_0810EE08: .4byte 0x00000e72 -_0810EE0C: .4byte 0x00000e78 -_0810EE10: .4byte 0x00000e7a -_0810EE14: - ldr r2, _0810EEC0 @ =0x00000e6b - movs r0, 0x7 - movs r1, 0x7 - bl MapGridSetMetatileIdAt - ldr r4, _0810EEC4 @ =0x00000e6c - movs r0, 0x8 - movs r1, 0x7 - adds r2, r4, 0 - bl MapGridSetMetatileIdAt - movs r0, 0x9 - movs r1, 0x7 - adds r2, r4, 0 - bl MapGridSetMetatileIdAt - ldr r2, _0810EEC8 @ =0x00000e6d - movs r0, 0xA - movs r1, 0x7 - bl MapGridSetMetatileIdAt - ldr r2, _0810EECC @ =0x00000e73 - movs r0, 0x7 - movs r1, 0x8 - bl MapGridSetMetatileIdAt - adds r4, 0x8 - movs r0, 0x8 - movs r1, 0x8 - adds r2, r4, 0 - bl MapGridSetMetatileIdAt - movs r0, 0x9 - movs r1, 0x8 - adds r2, r4, 0 - bl MapGridSetMetatileIdAt - ldr r2, _0810EED0 @ =0x00000e75 - movs r0, 0xA - movs r1, 0x8 - bl MapGridSetMetatileIdAt - ldr r2, _0810EED4 @ =0x00000e7b - movs r0, 0x7 - movs r1, 0x9 - bl MapGridSetMetatileIdAt - adds r4, 0x8 - movs r0, 0x8 - movs r1, 0x9 - adds r2, r4, 0 - bl MapGridSetMetatileIdAt - movs r0, 0x9 - movs r1, 0x9 - adds r2, r4, 0 - bl MapGridSetMetatileIdAt - ldr r2, _0810EED8 @ =0x00000e7d - movs r0, 0xA - movs r1, 0x9 - bl MapGridSetMetatileIdAt -_0810EE92: - bl DrawWholeMapView - ldrh r0, [r5, 0x10] - movs r1, 0x1 - eors r0, r1 - strh r0, [r5, 0x10] - ldrh r0, [r5, 0xC] - adds r0, 0x1 - strh r0, [r5, 0xC] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x8 - bne _0810EEB2 - ldrb r0, [r5, 0xA] - bl DestroyTask -_0810EEB2: - ldrh r0, [r5, 0xE] - adds r0, 0x1 - strh r0, [r5, 0xE] - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0810EEC0: .4byte 0x00000e6b -_0810EEC4: .4byte 0x00000e6c -_0810EEC8: .4byte 0x00000e6d -_0810EECC: .4byte 0x00000e73 -_0810EED0: .4byte 0x00000e75 -_0810EED4: .4byte 0x00000e7b -_0810EED8: .4byte 0x00000e7d - thumb_func_end sub_810ED60 - - thumb_func_start sub_810EEDC -sub_810EEDC: @ 810EEDC - push {r4,lr} - ldr r4, _0810EF08 @ =gUnknown_0203925C - ldrb r1, [r4] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _0810EEF0 - movs r0, 0x1 - bl DestroyVerticalScrollIndicator -_0810EEF0: - ldrb r0, [r4] - lsrs r0, 1 - cmp r0, 0x1 - bne _0810EEFE - movs r0, 0 - bl DestroyVerticalScrollIndicator -_0810EEFE: - bl BuyMenuFreeMemory - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0810EF08: .4byte gUnknown_0203925C - thumb_func_end sub_810EEDC - - thumb_func_start SetTrickHouseEndRoomFlag -SetTrickHouseEndRoomFlag: @ 810EF0C - push {lr} - ldr r1, _0810EF1C @ =gSpecialVar_0x8004 - ldr r0, _0810EF20 @ =0x00000259 - strh r0, [r1] - bl FlagSet - pop {r0} - bx r0 - .align 2, 0 -_0810EF1C: .4byte gSpecialVar_0x8004 -_0810EF20: .4byte 0x00000259 - thumb_func_end SetTrickHouseEndRoomFlag - - thumb_func_start ResetTrickHouseEndRoomFlag -ResetTrickHouseEndRoomFlag: @ 810EF24 - push {lr} - ldr r1, _0810EF34 @ =gSpecialVar_0x8004 - ldr r0, _0810EF38 @ =0x00000259 - strh r0, [r1] - bl FlagReset - pop {r0} - bx r0 - .align 2, 0 -_0810EF34: .4byte gSpecialVar_0x8004 -_0810EF38: .4byte 0x00000259 - thumb_func_end ResetTrickHouseEndRoomFlag - - thumb_func_start CheckLeadMonCool -CheckLeadMonCool: @ 810EF3C - push {lr} - bl GetLeadMonIndex - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x64 - muls r0, r1 - ldr r1, _0810EF5C @ =gPlayerParty - adds r0, r1 - movs r1, 0x16 - bl GetMonData - cmp r0, 0xC7 - bls _0810EF60 - movs r0, 0x1 - b _0810EF62 - .align 2, 0 -_0810EF5C: .4byte gPlayerParty -_0810EF60: - movs r0, 0 -_0810EF62: - pop {r1} - bx r1 - thumb_func_end CheckLeadMonCool - - thumb_func_start CheckLeadMonBeauty -CheckLeadMonBeauty: @ 810EF68 - push {lr} - bl GetLeadMonIndex - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x64 - muls r0, r1 - ldr r1, _0810EF88 @ =gPlayerParty - adds r0, r1 - movs r1, 0x17 - bl GetMonData - cmp r0, 0xC7 - bls _0810EF8C - movs r0, 0x1 - b _0810EF8E - .align 2, 0 -_0810EF88: .4byte gPlayerParty -_0810EF8C: - movs r0, 0 -_0810EF8E: - pop {r1} - bx r1 - thumb_func_end CheckLeadMonBeauty - - thumb_func_start CheckLeadMonCute -CheckLeadMonCute: @ 810EF94 - push {lr} - bl GetLeadMonIndex - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x64 - muls r0, r1 - ldr r1, _0810EFB4 @ =gPlayerParty - adds r0, r1 - movs r1, 0x18 - bl GetMonData - cmp r0, 0xC7 - bls _0810EFB8 - movs r0, 0x1 - b _0810EFBA - .align 2, 0 -_0810EFB4: .4byte gPlayerParty -_0810EFB8: - movs r0, 0 -_0810EFBA: - pop {r1} - bx r1 - thumb_func_end CheckLeadMonCute - - thumb_func_start CheckLeadMonSmart -CheckLeadMonSmart: @ 810EFC0 - push {lr} - bl GetLeadMonIndex - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x64 - muls r0, r1 - ldr r1, _0810EFE0 @ =gPlayerParty - adds r0, r1 - movs r1, 0x21 - bl GetMonData - cmp r0, 0xC7 - bls _0810EFE4 - movs r0, 0x1 - b _0810EFE6 - .align 2, 0 -_0810EFE0: .4byte gPlayerParty -_0810EFE4: - movs r0, 0 -_0810EFE6: - pop {r1} - bx r1 - thumb_func_end CheckLeadMonSmart - - thumb_func_start CheckLeadMonTough -CheckLeadMonTough: @ 810EFEC - push {lr} - bl GetLeadMonIndex - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x64 - muls r0, r1 - ldr r1, _0810F00C @ =gPlayerParty - adds r0, r1 - movs r1, 0x2F - bl GetMonData - cmp r0, 0xC7 - bls _0810F010 - movs r0, 0x1 - b _0810F012 - .align 2, 0 -_0810F00C: .4byte gPlayerParty -_0810F010: - movs r0, 0 -_0810F012: - pop {r1} - bx r1 - thumb_func_end CheckLeadMonTough - - thumb_func_start IsGrassTypeInParty -IsGrassTypeInParty: @ 810F018 - push {r4-r6,lr} - movs r5, 0 - ldr r6, _0810F068 @ =gBaseStats -_0810F01E: - movs r0, 0x64 - adds r1, r5, 0 - muls r1, r0 - ldr r0, _0810F06C @ =gPlayerParty - adds r4, r1, r0 - adds r0, r4, 0 - movs r1, 0x5 - bl GetMonData - cmp r0, 0 - beq _0810F074 - adds r0, r4, 0 - movs r1, 0x2D - bl GetMonData - cmp r0, 0 - bne _0810F074 - adds r0, r4, 0 - movs r1, 0xB - bl GetMonData - lsls r0, 16 - lsrs r0, 16 - lsls r1, r0, 3 - subs r1, r0 - lsls r1, 2 - adds r1, r6 - ldrb r0, [r1, 0x6] - cmp r0, 0xC - beq _0810F060 - ldrb r0, [r1, 0x7] - cmp r0, 0xC - bne _0810F074 -_0810F060: - ldr r1, _0810F070 @ =gScriptResult - movs r0, 0x1 - b _0810F082 - .align 2, 0 -_0810F068: .4byte gBaseStats -_0810F06C: .4byte gPlayerParty -_0810F070: .4byte gScriptResult -_0810F074: - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0x5 - bls _0810F01E - ldr r1, _0810F08C @ =gScriptResult - movs r0, 0 -_0810F082: - strh r0, [r1] - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0810F08C: .4byte gScriptResult - thumb_func_end IsGrassTypeInParty - - thumb_func_start ShowGlassWorkshopMenu -ShowGlassWorkshopMenu: @ 810F090 - push {r4,r5,lr} - sub sp, 0x8 - bl ScriptContext2_Enable - movs r0, 0 - movs r1, 0 - movs r2, 0xA - movs r3, 0xB - bl MenuDrawTextWindow - movs r4, 0 - str r4, [sp] - movs r0, 0x9 - str r0, [sp, 0x4] - movs r0, 0 - movs r1, 0x1 - movs r2, 0x1 - movs r3, 0x5 - bl InitMenu - ldr r0, _0810F104 @ =gUnknown_0203925C - strb r4, [r0] - bl sub_80F944C - bl LoadScrollIndicatorPalette - bl sub_810F2B4 - ldr r5, _0810F108 @ =gUnknown_083F83C0 -_0810F0CA: - lsls r0, r4, 2 - adds r0, r5 - ldr r0, [r0] - lsls r2, r4, 1 - adds r2, 0x1 - lsls r2, 24 - lsrs r2, 24 - movs r1, 0x1 - bl MenuPrint - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x4 - bls _0810F0CA - ldr r1, _0810F10C @ =gUnknown_0203925B - movs r0, 0 - strb r0, [r1] - ldr r1, _0810F110 @ =gUnknown_0203925A - movs r0, 0x8 - strb r0, [r1] - ldr r0, _0810F114 @ =sub_810F118 - movs r1, 0x8 - bl CreateTask - add sp, 0x8 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0810F104: .4byte gUnknown_0203925C -_0810F108: .4byte gUnknown_083F83C0 -_0810F10C: .4byte gUnknown_0203925B -_0810F110: .4byte gUnknown_0203925A -_0810F114: .4byte sub_810F118 - thumb_func_end ShowGlassWorkshopMenu - - thumb_func_start sub_810F118 -sub_810F118: @ 810F118 - push {r4,r5,lr} - lsls r0, 24 - lsrs r5, r0, 24 - ldr r0, _0810F1E4 @ =gMain - ldrh r0, [r0, 0x2E] - cmp r0, 0x40 - bne _0810F14A - ldr r1, _0810F1E8 @ =gUnknown_0203925B - ldrb r0, [r1] - cmp r0, 0 - beq _0810F14A - subs r0, 0x1 - strb r0, [r1] - bl GetMenuCursorPos - lsls r0, 24 - lsrs r4, r0, 24 - movs r0, 0x1 - negs r0, r0 - bl MoveMenuCursorNoWrap - adds r0, r4, 0 - movs r1, 0x40 - bl sub_810F1F4 -_0810F14A: - ldr r0, _0810F1E4 @ =gMain - ldrh r0, [r0, 0x2E] - cmp r0, 0x80 - bne _0810F17A - ldr r2, _0810F1E8 @ =gUnknown_0203925B - ldrb r1, [r2] - ldr r0, _0810F1EC @ =gUnknown_0203925A - ldrb r0, [r0] - subs r0, 0x1 - cmp r1, r0 - beq _0810F17A - adds r0, r1, 0x1 - strb r0, [r2] - bl GetMenuCursorPos - lsls r0, 24 - lsrs r4, r0, 24 - movs r0, 0x1 - bl MoveMenuCursorNoWrap - adds r0, r4, 0 - movs r1, 0x80 - bl sub_810F1F4 -_0810F17A: - ldr r4, _0810F1E4 @ =gMain - ldrh r1, [r4, 0x2E] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _0810F1AE - bl HandleDestroyMenuCursors - ldr r0, _0810F1F0 @ =gScriptResult - ldr r1, _0810F1E8 @ =gUnknown_0203925B - ldrb r1, [r1] - strh r1, [r0] - movs r0, 0x5 - bl PlaySE - bl sub_810EEDC - movs r0, 0 - movs r1, 0 - movs r2, 0x1D - movs r3, 0xC - bl MenuZeroFillWindowRect - adds r0, r5, 0 - bl sub_810EC9C -_0810F1AE: - ldrh r1, [r4, 0x2E] - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _0810F1DE - bl HandleDestroyMenuCursors - ldr r1, _0810F1F0 @ =gScriptResult - movs r0, 0x7F - strh r0, [r1] - movs r0, 0x5 - bl PlaySE - bl sub_810EEDC - movs r0, 0 - movs r1, 0 - movs r2, 0x1D - movs r3, 0xC - bl MenuZeroFillWindowRect - adds r0, r5, 0 - bl sub_810EC9C -_0810F1DE: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0810F1E4: .4byte gMain -_0810F1E8: .4byte gUnknown_0203925B -_0810F1EC: .4byte gUnknown_0203925A -_0810F1F0: .4byte gScriptResult - thumb_func_end sub_810F118 - - thumb_func_start sub_810F1F4 -sub_810F1F4: @ 810F1F4 - push {r4-r7,lr} - lsls r0, 24 - lsrs r2, r0, 24 - adds r5, r2, 0 - lsls r1, 24 - lsrs r1, 24 - adds r3, r1, 0 - movs r6, 0 - movs r4, 0 - ldr r0, _0810F214 @ =gUnknown_0203925A - ldrb r0, [r0] - cmp r0, 0x4 - bhi _0810F218 - movs r0, 0 - b _0810F282 - .align 2, 0 -_0810F214: .4byte gUnknown_0203925A -_0810F218: - cmp r1, 0x40 - bne _0810F22C - cmp r2, 0 - bne _0810F240 - ldr r0, _0810F228 @ =gUnknown_0203925B - ldrb r4, [r0] - movs r6, 0x1 - b _0810F244 - .align 2, 0 -_0810F228: .4byte gUnknown_0203925B -_0810F22C: - cmp r3, 0x80 - bne _0810F240 - cmp r5, 0x4 - bne _0810F240 - ldr r0, _0810F288 @ =gUnknown_0203925B - ldrb r0, [r0] - subs r0, 0x4 - lsls r0, 24 - lsrs r4, r0, 24 - movs r6, 0x1 -_0810F240: - cmp r6, 0 - beq _0810F280 -_0810F244: - adds r0, r4, 0 - movs r1, 0x5 - bl GlassWorkshopUpdateScrollIndicators - movs r0, 0x2 - movs r1, 0x1 - movs r2, 0x9 - movs r3, 0xA - bl MenuFillWindowRectWithBlankTile - movs r5, 0 - ldr r7, _0810F28C @ =gUnknown_083F83C0 -_0810F25C: - lsls r0, r4, 2 - adds r0, r7 - ldr r0, [r0] - lsls r2, r5, 1 - adds r2, 0x1 - lsls r2, 24 - lsrs r2, 24 - movs r1, 0x1 - bl MenuPrint - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0x4 - bls _0810F25C -_0810F280: - adds r0, r6, 0 -_0810F282: - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_0810F288: .4byte gUnknown_0203925B -_0810F28C: .4byte gUnknown_083F83C0 - thumb_func_end sub_810F1F4 - - thumb_func_start sub_810F290 -sub_810F290: @ 810F290 - push {lr} - ldr r2, _0810F2B0 @ =gUnknown_0203925C - ldrb r1, [r2] - lsrs r0, r1, 1 - cmp r0, 0x1 - beq _0810F2AC - movs r0, 0x2 - orrs r0, r1 - strb r0, [r2] - movs r0, 0 - movs r1, 0x2C - movs r2, 0x8 - bl CreateVerticalScrollIndicators -_0810F2AC: - pop {r0} - bx r0 - .align 2, 0 -_0810F2B0: .4byte gUnknown_0203925C - thumb_func_end sub_810F290 - - thumb_func_start sub_810F2B4 -sub_810F2B4: @ 810F2B4 - push {lr} - ldr r2, _0810F2D8 @ =gUnknown_0203925C - ldrb r1, [r2] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - bne _0810F2D2 - movs r0, 0x1 - orrs r0, r1 - strb r0, [r2] - movs r0, 0x1 - movs r1, 0x2C - movs r2, 0x58 - bl CreateVerticalScrollIndicators -_0810F2D2: - pop {r0} - bx r0 - .align 2, 0 -_0810F2D8: .4byte gUnknown_0203925C - thumb_func_end sub_810F2B4 - - thumb_func_start GlassWorkshopUpdateScrollIndicators -GlassWorkshopUpdateScrollIndicators: @ 810F2DC - push {r4,r5,lr} - lsls r0, 24 - lsrs r4, r0, 24 - lsls r1, 24 - lsrs r5, r1, 24 - cmp r4, 0 - bne _0810F300 - ldr r0, _0810F2FC @ =gUnknown_0203925C - ldrb r1, [r0] - movs r2, 0x2 - eors r1, r2 - strb r1, [r0] - movs r0, 0 - bl DestroyVerticalScrollIndicator - b _0810F304 - .align 2, 0 -_0810F2FC: .4byte gUnknown_0203925C -_0810F300: - bl sub_810F290 -_0810F304: - adds r1, r4, r5 - ldr r0, _0810F314 @ =gUnknown_0203925A - ldrb r0, [r0] - cmp r1, r0 - bge _0810F318 - bl sub_810F2B4 - b _0810F32C - .align 2, 0 -_0810F314: .4byte gUnknown_0203925A -_0810F318: - cmp r1, r0 - bne _0810F32C - ldr r0, _0810F334 @ =gUnknown_0203925C - ldrb r1, [r0] - movs r2, 0x1 - eors r1, r2 - strb r1, [r0] - movs r0, 0x1 - bl DestroyVerticalScrollIndicator -_0810F32C: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0810F334: .4byte gUnknown_0203925C - thumb_func_end GlassWorkshopUpdateScrollIndicators - - thumb_func_start SpawnCameraDummy -SpawnCameraDummy: @ 810F338 - push {lr} - sub sp, 0x8 - ldr r0, _0810F380 @ =gSaveBlock1 - ldrh r3, [r0] - adds r3, 0x7 - lsls r3, 16 - asrs r3, 16 - ldrh r0, [r0, 0x2] - adds r0, 0x7 - lsls r0, 16 - asrs r0, 16 - str r0, [sp] - movs r0, 0x3 - str r0, [sp, 0x4] - movs r0, 0x7 - movs r1, 0x8 - movs r2, 0x7F - bl SpawnSpecialFieldObjectParametrized - lsls r0, 24 - lsrs r0, 24 - ldr r2, _0810F384 @ =gMapObjects - lsls r1, r0, 3 - adds r1, r0 - lsls r1, 2 - adds r1, r2 - ldrb r0, [r1, 0x1] - movs r2, 0x20 - orrs r0, r2 - strb r0, [r1, 0x1] - ldrb r0, [r1, 0x4] - bl CameraObjectSetFollowedObjectId - add sp, 0x8 - pop {r0} - bx r0 - .align 2, 0 -_0810F380: .4byte gSaveBlock1 -_0810F384: .4byte gMapObjects - thumb_func_end SpawnCameraDummy - - thumb_func_start RemoveCameraDummy -RemoveCameraDummy: @ 810F388 - push {lr} - bl GetPlayerAvatarObjectId - lsls r0, 24 - lsrs r0, 24 - bl CameraObjectSetFollowedObjectId - ldr r0, _0810F3A8 @ =gSaveBlock1 - ldrb r1, [r0, 0x5] - ldrb r2, [r0, 0x4] - movs r0, 0x7F - bl RemoveFieldObjectByLocalIdAndMap - pop {r0} - bx r0 - .align 2, 0 -_0810F3A8: .4byte gSaveBlock1 - thumb_func_end RemoveCameraDummy - - thumb_func_start GetPokeblockNameByMonNature -GetPokeblockNameByMonNature: @ 810F3AC - push {lr} - bl GetLeadMonIndex - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x64 - muls r0, r1 - ldr r1, _0810F3D4 @ =gPlayerParty - adds r0, r1 - bl GetNature - lsls r0, 24 - lsrs r0, 24 - ldr r1, _0810F3D8 @ =gStringVar1 - bl sub_810CB68 - lsls r0, 24 - lsrs r0, 24 - pop {r1} - bx r1 - .align 2, 0 -_0810F3D4: .4byte gPlayerParty -_0810F3D8: .4byte gStringVar1 - thumb_func_end GetPokeblockNameByMonNature - - thumb_func_start GetSecretBaseNearbyMapName -GetSecretBaseNearbyMapName: @ 810F3DC - push {r4,lr} - ldr r4, _0810F3FC @ =gStringVar1 - ldr r0, _0810F400 @ =0x00004026 - bl VarGet - adds r1, r0, 0 - lsls r1, 16 - lsrs r1, 16 - adds r0, r4, 0 - movs r2, 0 - bl sub_80FBFB4 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0810F3FC: .4byte gStringVar1 -_0810F400: .4byte 0x00004026 - thumb_func_end GetSecretBaseNearbyMapName - - thumb_func_start sub_810F404 -sub_810F404: @ 810F404 - push {lr} - movs r0, 0x20 - bl GetGameStat - lsls r0, 16 - lsrs r0, 16 - pop {r1} - bx r1 - thumb_func_end sub_810F404 - - thumb_func_start sub_810F414 -sub_810F414: @ 810F414 - push {lr} - ldr r0, _0810F420 @ =gStringVar1 - bl sub_8135FF4 - pop {r0} - bx r0 - .align 2, 0 -_0810F420: .4byte gStringVar1 - thumb_func_end sub_810F414 - - thumb_func_start sub_810F424 -sub_810F424: @ 810F424 - push {r4,r5,lr} - ldr r2, _0810F458 @ =gSaveBlock1 - ldr r1, _0810F45C @ =0x00002dd4 - adds r0, r2, r1 - ldrb r1, [r0] - lsls r1, 25 - ldr r0, _0810F460 @ =0x00002dd6 - adds r2, r0 - lsrs r1, 25 - ldrh r2, [r2] - adds r1, r2 - ldr r2, _0810F464 @ =gUnknown_083F83E0 - ldr r0, _0810F468 @ =gSpecialVar_0x8004 - ldrh r0, [r0] - adds r0, r2 - ldrb r0, [r0] - adds r5, r1, r0 - movs r0, 0x2 - bl GetPriceReduction - lsls r0, 24 - cmp r0, 0 - bne _0810F470 - ldr r4, _0810F46C @ =gUnknown_083F83EC - b _0810F472 - .align 2, 0 -_0810F458: .4byte gSaveBlock1 -_0810F45C: .4byte 0x00002dd4 -_0810F460: .4byte 0x00002dd6 -_0810F464: .4byte gUnknown_083F83E0 -_0810F468: .4byte gSpecialVar_0x8004 -_0810F46C: .4byte gUnknown_083F83EC -_0810F470: - ldr r4, _0810F484 @ =gUnknown_083F83F8 -_0810F472: - adds r0, r5, 0 - movs r1, 0xC - bl __umodsi3 - adds r0, r4 - ldrb r0, [r0] - pop {r4,r5} - pop {r1} - bx r1 - .align 2, 0 -_0810F484: .4byte gUnknown_083F83F8 - thumb_func_end sub_810F424 - - thumb_func_start sub_810F488 -sub_810F488: @ 810F488 - push {lr} - ldr r1, _0810F4A0 @ =gSpecialVar_0x8004 - ldr r0, _0810F4A4 @ =0x00000277 - strh r0, [r1] - bl FlagGet - lsls r0, 24 - cmp r0, 0 - beq _0810F4A8 - movs r0, 0x1 - b _0810F4AA - .align 2, 0 -_0810F4A0: .4byte gSpecialVar_0x8004 -_0810F4A4: .4byte 0x00000277 -_0810F4A8: - movs r0, 0 -_0810F4AA: - pop {r1} - bx r1 - thumb_func_end sub_810F488 - - thumb_func_start sub_810F4B0 -sub_810F4B0: @ 810F4B0 - push {lr} - ldr r1, _0810F4C8 @ =gSpecialVar_0x8004 - movs r0, 0x9E - lsls r0, 2 - strh r0, [r1] - bl FlagGet - lsls r0, 24 - cmp r0, 0 - beq _0810F4CC - movs r0, 0x1 - b _0810F4CE - .align 2, 0 -_0810F4C8: .4byte gSpecialVar_0x8004 -_0810F4CC: - movs r0, 0 -_0810F4CE: - pop {r1} - bx r1 - thumb_func_end sub_810F4B0 - - thumb_func_start sub_810F4D4 -sub_810F4D4: @ 810F4D4 - push {lr} - ldr r1, _0810F4EC @ =gSpecialVar_0x8004 - ldr r0, _0810F4F0 @ =0x00000279 - strh r0, [r1] - bl FlagGet - lsls r0, 24 - cmp r0, 0 - beq _0810F4F4 - movs r0, 0x1 - b _0810F4F6 - .align 2, 0 -_0810F4EC: .4byte gSpecialVar_0x8004 -_0810F4F0: .4byte 0x00000279 -_0810F4F4: - movs r0, 0 -_0810F4F6: - pop {r1} - bx r1 - thumb_func_end sub_810F4D4 - - thumb_func_start sub_810F4FC -sub_810F4FC: @ 810F4FC - push {lr} - ldr r1, _0810F514 @ =gSpecialVar_0x8004 - ldr r0, _0810F518 @ =0x0000027a - strh r0, [r1] - bl FlagGet - lsls r0, 24 - cmp r0, 0 - beq _0810F51C - movs r0, 0x1 - b _0810F51E - .align 2, 0 -_0810F514: .4byte gSpecialVar_0x8004 -_0810F518: .4byte 0x0000027a -_0810F51C: - movs r0, 0 -_0810F51E: - pop {r1} - bx r1 - thumb_func_end sub_810F4FC - - thumb_func_start LeadMonHasEffortRibbon -LeadMonHasEffortRibbon: @ 810F524 - push {lr} - bl GetLeadMonIndex - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x64 - muls r0, r1 - ldr r1, _0810F548 @ =gPlayerParty - adds r0, r1 - movs r1, 0x47 - movs r2, 0 - bl GetMonData - lsls r0, 24 - lsrs r0, 24 - pop {r1} - bx r1 - .align 2, 0 -_0810F548: .4byte gPlayerParty - thumb_func_end LeadMonHasEffortRibbon - - thumb_func_start GivLeadMonEffortRibbon -GivLeadMonEffortRibbon: @ 810F54C - push {lr} - sub sp, 0x4 - movs r0, 0x2A - bl IncrementGameStat - ldr r0, _0810F580 @ =0x0000083b - bl FlagSet - movs r1, 0x1 - mov r0, sp - strb r1, [r0] - bl GetLeadMonIndex - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x64 - muls r0, r1 - ldr r1, _0810F584 @ =gPlayerParty - adds r0, r1 - movs r1, 0x47 - mov r2, sp - bl SetMonData - add sp, 0x4 - pop {r0} - bx r0 - .align 2, 0 -_0810F580: .4byte 0x0000083b -_0810F584: .4byte gPlayerParty - thumb_func_end GivLeadMonEffortRibbon - - thumb_func_start GetLeadMonEVCount -GetLeadMonEVCount: @ 810F588 - push {lr} - bl GetLeadMonIndex - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x64 - muls r0, r1 - ldr r1, _0810F5AC @ =gPlayerParty - adds r0, r1 - bl GetMonEVCount - lsls r0, 16 - ldr r1, _0810F5B0 @ =0x01fd0000 - cmp r0, r1 - bhi _0810F5B4 - movs r0, 0 - b _0810F5B6 - .align 2, 0 -_0810F5AC: .4byte gPlayerParty -_0810F5B0: .4byte 0x01fd0000 -_0810F5B4: - movs r0, 0x1 -_0810F5B6: - pop {r1} - bx r1 - thumb_func_end GetLeadMonEVCount - - thumb_func_start sub_810F5BC -sub_810F5BC: @ 810F5BC - push {lr} - movs r0, 0xC7 - bl FlagGet - lsls r0, 24 - cmp r0, 0 - bne _0810F610 - ldr r0, _0810F5E8 @ =gSaveBlock1 - ldrh r1, [r0, 0x4] - movs r0, 0x83 - lsls r0, 3 - cmp r1, r0 - bne _0810F610 - subs r0, 0x75 - bl FlagGet - lsls r0, 24 - cmp r0, 0 - beq _0810F5F0 - ldr r0, _0810F5EC @ =0x0000409a - movs r1, 0x4 - b _0810F602 - .align 2, 0 -_0810F5E8: .4byte gSaveBlock1 -_0810F5EC: .4byte 0x0000409a -_0810F5F0: - movs r0, 0xE9 - lsls r0, 2 - bl FlagGet - lsls r0, 24 - cmp r0, 0 - beq _0810F610 - ldr r0, _0810F60C @ =0x0000409a - movs r1, 0x5 -_0810F602: - bl VarSet - movs r0, 0x1 - b _0810F612 - .align 2, 0 -_0810F60C: .4byte 0x0000409a -_0810F610: - movs r0, 0 -_0810F612: - pop {r1} - bx r1 - thumb_func_end sub_810F5BC - - thumb_func_start SetShoalItemFlag -SetShoalItemFlag: @ 810F618 - push {lr} - ldr r0, _0810F624 @ =0x0000085f - bl FlagSet - pop {r0} - bx r0 - .align 2, 0 -_0810F624: .4byte 0x0000085f - thumb_func_end SetShoalItemFlag - - thumb_func_start PutZigzagoonInPlayerParty -PutZigzagoonInPlayerParty: @ 810F628 - push {r4,r5,lr} - sub sp, 0x14 - ldr r5, _0810F690 @ =gPlayerParty - movs r1, 0x90 - lsls r1, 1 - movs r4, 0 - str r4, [sp] - str r4, [sp, 0x4] - str r4, [sp, 0x8] - str r4, [sp, 0xC] - adds r0, r5, 0 - movs r2, 0x7 - movs r3, 0x20 - bl CreateMon - movs r1, 0x1 - add r0, sp, 0x10 - strh r1, [r0] - adds r0, r5, 0 - movs r1, 0x2E - add r2, sp, 0x10 - bl SetMonData - add r1, sp, 0x10 - movs r0, 0x21 - strh r0, [r1] - adds r0, r5, 0 - movs r1, 0xD - add r2, sp, 0x10 - bl SetMonData - add r0, sp, 0x10 - strh r4, [r0] - adds r0, r5, 0 - movs r1, 0xE - add r2, sp, 0x10 - bl SetMonData - adds r0, r5, 0 - movs r1, 0xF - add r2, sp, 0x10 - bl SetMonData - adds r0, r5, 0 - movs r1, 0x10 - add r2, sp, 0x10 - bl SetMonData - add sp, 0x14 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0810F690: .4byte gPlayerParty - thumb_func_end PutZigzagoonInPlayerParty - - thumb_func_start IsStarterInParty -IsStarterInParty: @ 810F694 - push {r4-r6,lr} - ldr r0, _0810F6D0 @ =0x00004023 - bl VarGet - lsls r0, 16 - lsrs r0, 16 - bl GetStarterPokemon - lsls r0, 16 - lsrs r6, r0, 16 - bl CalculatePlayerPartyCount - lsls r0, 24 - lsrs r5, r0, 24 - movs r4, 0 - cmp r4, r5 - bcs _0810F6E2 -_0810F6B6: - movs r0, 0x64 - muls r0, r4 - ldr r1, _0810F6D4 @ =gPlayerParty - adds r0, r1 - movs r1, 0x41 - movs r2, 0 - bl GetMonData - cmp r0, r6 - bne _0810F6D8 - movs r0, 0x1 - b _0810F6E4 - .align 2, 0 -_0810F6D0: .4byte 0x00004023 -_0810F6D4: .4byte gPlayerParty -_0810F6D8: - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, r5 - bcc _0810F6B6 -_0810F6E2: - movs r0, 0 -_0810F6E4: - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end IsStarterInParty - - thumb_func_start CheckFreePokemonStorageSpace -CheckFreePokemonStorageSpace: @ 810F6EC - push {r4-r6,lr} - movs r5, 0 -_0810F6F0: - movs r4, 0 - lsls r1, r5, 2 - adds r1, r5 - lsls r0, r1, 4 - subs r0, r1 - lsls r6, r0, 5 -_0810F6FC: - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 4 - ldr r1, _0810F718 @ =gPokemonStorage + 0x4 - adds r0, r1 - adds r0, r6, r0 - movs r1, 0xB - movs r2, 0 - bl GetBoxMonData - cmp r0, 0 - bne _0810F71C - movs r0, 0x1 - b _0810F732 - .align 2, 0 -_0810F718: .4byte gPokemonStorage + 0x4 -_0810F71C: - adds r0, r4, 0x1 - lsls r0, 16 - lsrs r4, r0, 16 - cmp r4, 0x1D - bls _0810F6FC - adds r0, r5, 0x1 - lsls r0, 16 - lsrs r5, r0, 16 - cmp r5, 0xD - bls _0810F6F0 - movs r0, 0 -_0810F732: - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end CheckFreePokemonStorageSpace - - thumb_func_start IsPokerusInParty -IsPokerusInParty: @ 810F738 - push {lr} - ldr r0, _0810F74C @ =gPlayerParty - movs r1, 0x3F - bl CheckPartyPokerus - lsls r0, 24 - cmp r0, 0 - beq _0810F750 - movs r0, 0x1 - b _0810F752 - .align 2, 0 -_0810F74C: .4byte gPlayerParty -_0810F750: - movs r0, 0 -_0810F752: - pop {r1} - bx r1 - thumb_func_end IsPokerusInParty - - thumb_func_start sub_810F758 -sub_810F758: @ 810F758 - push {lr} - ldr r0, _0810F798 @ =sub_810F7A8 - movs r1, 0x9 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - ldr r2, _0810F79C @ =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - ldr r0, _0810F7A0 @ =gSpecialVar_0x8005 - ldrh r2, [r0] - movs r0, 0 - strh r2, [r1, 0x8] - strh r0, [r1, 0xA] - strh r0, [r1, 0xC] - strh r0, [r1, 0xE] - ldr r0, _0810F7A4 @ =gSpecialVar_0x8004 - ldrh r0, [r0] - strh r0, [r1, 0x10] - movs r0, 0x5 - strh r0, [r1, 0x12] - movs r0, 0 - bl SetCameraPanningCallback - movs r0, 0xD6 - bl PlaySE - pop {r0} - bx r0 - .align 2, 0 -_0810F798: .4byte sub_810F7A8 -_0810F79C: .4byte gTasks -_0810F7A0: .4byte gSpecialVar_0x8005 -_0810F7A4: .4byte gSpecialVar_0x8004 - thumb_func_end sub_810F758 - - thumb_func_start sub_810F7A8 -sub_810F7A8: @ 810F7A8 - push {r4,r5,lr} - lsls r0, 24 - lsrs r5, r0, 24 - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - ldr r1, _0810F810 @ =gTasks - adds r4, r0, r1 - ldrh r0, [r4, 0xA] - adds r0, 0x1 - strh r0, [r4, 0xA] - movs r1, 0xA - ldrsh r0, [r4, r1] - movs r2, 0x12 - ldrsh r1, [r4, r2] - bl __modsi3 - cmp r0, 0 - bne _0810F808 - strh r0, [r4, 0xA] - ldrh r0, [r4, 0xC] - adds r0, 0x1 - strh r0, [r4, 0xC] - movs r1, 0xE - ldrsh r0, [r4, r1] - cmp r0, 0 - bne _0810F808 - ldrh r0, [r4, 0x8] - negs r0, r0 - strh r0, [r4, 0x8] - ldrh r0, [r4, 0x10] - negs r0, r0 - strh r0, [r4, 0x10] - movs r2, 0x8 - ldrsh r0, [r4, r2] - movs r2, 0x10 - ldrsh r1, [r4, r2] - bl SetCameraPanning - movs r1, 0xC - ldrsh r0, [r4, r1] - cmp r0, 0x8 - bne _0810F808 - adds r0, r5, 0 - bl sub_810F814 - bl InstallCameraPanAheadCallback -_0810F808: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0810F810: .4byte gTasks - thumb_func_end sub_810F7A8 - - thumb_func_start sub_810F814 -sub_810F814: @ 810F814 - push {lr} - lsls r0, 24 - lsrs r0, 24 - bl DestroyTask - bl EnableBothScriptContexts - pop {r0} - bx r0 - thumb_func_end sub_810F814 - - thumb_func_start sub_810F828 -sub_810F828: @ 810F828 - push {lr} - movs r0, 0xAE - lsls r0, 2 - bl FlagGet - lsls r0, 24 - lsrs r0, 24 - pop {r1} - bx r1 - thumb_func_end sub_810F828 - - thumb_func_start SetRoute119Weather -SetRoute119Weather: @ 810F83C - push {lr} - bl get_map_light_from_warp0 - lsls r0, 24 - lsrs r0, 24 - bl is_light_level_1_2_3_5_or_6 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _0810F858 - movs r0, 0x14 - bl SetSav1Weather -_0810F858: - pop {r0} - bx r0 - thumb_func_end SetRoute119Weather - - thumb_func_start SetRoute123Weather -SetRoute123Weather: @ 810F85C - push {lr} - bl get_map_light_from_warp0 - lsls r0, 24 - lsrs r0, 24 - bl is_light_level_1_2_3_5_or_6 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _0810F878 - movs r0, 0x15 - bl SetSav1Weather -_0810F878: - pop {r0} - bx r0 - thumb_func_end SetRoute123Weather - - thumb_func_start GetLeadMonIndex -GetLeadMonIndex: @ 810F87C - push {r4-r6,lr} - bl CalculatePlayerPartyCount - lsls r0, 24 - lsrs r6, r0, 24 - movs r5, 0 - cmp r5, r6 - bcs _0810F8CA -_0810F88C: - movs r0, 0x64 - adds r1, r5, 0 - muls r1, r0 - ldr r0, _0810F8BC @ =gPlayerParty - adds r4, r1, r0 - adds r0, r4, 0 - movs r1, 0x41 - movs r2, 0 - bl GetMonData - movs r1, 0xCE - lsls r1, 1 - cmp r0, r1 - beq _0810F8C0 - adds r0, r4, 0 - movs r1, 0x41 - movs r2, 0 - bl GetMonData - cmp r0, 0 - beq _0810F8C0 - adds r0, r5, 0 - b _0810F8CC - .align 2, 0 -_0810F8BC: .4byte gPlayerParty -_0810F8C0: - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, r6 - bcc _0810F88C -_0810F8CA: - movs r0, 0 -_0810F8CC: - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end GetLeadMonIndex - - thumb_func_start ScriptGetPartyMonSpecies -ScriptGetPartyMonSpecies: @ 810F8D4 - push {lr} - ldr r0, _0810F8F4 @ =gSpecialVar_0x8004 - ldrh r1, [r0] - movs r0, 0x64 - muls r0, r1 - ldr r1, _0810F8F8 @ =gPlayerParty - adds r0, r1 - movs r1, 0x41 - movs r2, 0 - bl GetMonData - lsls r0, 16 - lsrs r0, 16 - pop {r1} - bx r1 - .align 2, 0 -_0810F8F4: .4byte gSpecialVar_0x8004 -_0810F8F8: .4byte gPlayerParty - thumb_func_end ScriptGetPartyMonSpecies - - thumb_func_start sub_810F8FC -sub_810F8FC: @ 810F8FC - push {lr} - movs r0, 0x6 - bl sub_805ADDC - pop {r0} - bx r0 - thumb_func_end sub_810F8FC - - thumb_func_start sub_810F908 -sub_810F908: @ 810F908 - push {r4,lr} - ldr r0, _0810F928 @ =0x000040c2 - bl VarGet - lsls r0, 16 - lsrs r0, 16 - adds r3, r0, 0 - ldr r2, _0810F92C @ =gLocalTime - movs r1, 0 - ldrsh r0, [r2, r1] - subs r0, r3 - cmp r0, 0x6 - ble _0810F930 - movs r0, 0 - b _0810F948 - .align 2, 0 -_0810F928: .4byte 0x000040c2 -_0810F92C: .4byte gLocalTime -_0810F930: - ldrh r1, [r2] - movs r4, 0 - ldrsh r0, [r2, r4] - cmp r0, 0 - blt _0810F946 - subs r1, r3 - movs r0, 0x7 - subs r0, r1 - lsls r0, 16 - lsrs r0, 16 - b _0810F948 -_0810F946: - movs r0, 0x8 -_0810F948: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_810F908 - - thumb_func_start sub_810F950 -sub_810F950: @ 810F950 - push {r4,lr} - ldr r0, _0810F964 @ =0x000040c2 - ldr r4, _0810F968 @ =gLocalTime - ldrh r1, [r4] - bl VarSet - ldrh r0, [r4] - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_0810F964: .4byte 0x000040c2 -_0810F968: .4byte gLocalTime - thumb_func_end sub_810F950 - - thumb_func_start sub_810F96C -sub_810F96C: @ 810F96C - push {r4,lr} - ldr r0, _0810F994 @ =gSpecialVar_0x8004 - ldrh r1, [r0] - movs r0, 0x64 - muls r0, r1 - ldr r1, _0810F998 @ =gPlayerParty - adds r0, r1 - ldr r4, _0810F99C @ =gStringVar1 - movs r1, 0x7 - adds r2, r4, 0 - bl GetMonData - ldr r0, _0810F9A0 @ =gSaveBlock2 - adds r1, r4, 0 - bl StringCompareWithoutExtCtrlCodes - cmp r0, 0 - beq _0810F9A4 - movs r0, 0x1 - b _0810F9A6 - .align 2, 0 -_0810F994: .4byte gSpecialVar_0x8004 -_0810F998: .4byte gPlayerParty -_0810F99C: .4byte gStringVar1 -_0810F9A0: .4byte gSaveBlock2 -_0810F9A4: - movs r0, 0 -_0810F9A6: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_810F96C - - thumb_func_start sub_810F9AC -sub_810F9AC: @ 810F9AC - push {r4,r5,lr} - ldr r2, _0810F9C0 @ =gScriptResult - ldrh r1, [r2] - ldr r0, _0810F9C4 @ =0x0000270f - cmp r1, r0 - bls _0810F9C8 - movs r0, 0 - bl sub_80BF088 - b _0810FA4A - .align 2, 0 -_0810F9C0: .4byte gScriptResult -_0810F9C4: .4byte 0x0000270f -_0810F9C8: - ldr r0, _0810F9D8 @ =0x000003e7 - cmp r1, r0 - bls _0810F9E0 - ldr r4, _0810F9DC @ =gStringVar1 - movs r0, 0xA1 - strb r0, [r4] - adds r4, 0x1 - b _0810FA04 - .align 2, 0 -_0810F9D8: .4byte 0x000003e7 -_0810F9DC: .4byte gStringVar1 -_0810F9E0: - cmp r1, 0x63 - bls _0810F9F4 - ldr r4, _0810F9F0 @ =gStringVar1 - movs r0, 0xA1 - strb r0, [r4] - strb r0, [r4, 0x1] - adds r4, 0x2 - b _0810FA04 - .align 2, 0 -_0810F9F0: .4byte gStringVar1 -_0810F9F4: - cmp r1, 0x9 - bls _0810FA24 - ldr r4, _0810FA20 @ =gStringVar1 - movs r0, 0xA1 - strb r0, [r4] - strb r0, [r4, 0x1] - strb r0, [r4, 0x2] - adds r4, 0x3 -_0810FA04: - ldrh r5, [r2] - adds r0, r5, 0 - bl sub_80BF0B8 - adds r3, r0, 0 - lsls r3, 24 - lsrs r3, 24 - adds r0, r4, 0 - adds r1, r5, 0 - movs r2, 0 - bl ConvertIntToDecimalStringN - b _0810FA4A - .align 2, 0 -_0810FA20: .4byte gStringVar1 -_0810FA24: - ldr r4, _0810FA50 @ =gStringVar1 - movs r0, 0xA1 - strb r0, [r4] - strb r0, [r4, 0x1] - strb r0, [r4, 0x2] - strb r0, [r4, 0x3] - adds r4, 0x4 - ldrh r5, [r2] - adds r0, r5, 0 - bl sub_80BF0B8 - adds r3, r0, 0 - lsls r3, 24 - lsrs r3, 24 - adds r0, r4, 0 - adds r1, r5, 0 - movs r2, 0 - bl ConvertIntToDecimalStringN -_0810FA4A: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0810FA50: .4byte gStringVar1 - thumb_func_end sub_810F9AC - - thumb_func_start ResetFanClub -ResetFanClub: @ 810FA54 - ldr r0, _0810FA68 @ =gSaveBlock1 - ldr r2, _0810FA6C @ =0x000013c2 - adds r1, r0, r2 - movs r2, 0 - strh r2, [r1] - ldr r1, _0810FA70 @ =0x000013c4 - adds r0, r1 - strh r2, [r0] - bx lr - .align 2, 0 -_0810FA68: .4byte gSaveBlock1 -_0810FA6C: .4byte 0x000013c2 -_0810FA70: .4byte 0x000013c4 - thumb_func_end ResetFanClub - - thumb_func_start sub_810FA74 -sub_810FA74: @ 810FA74 - push {lr} - bl sub_810FF30 - lsls r0, 24 - cmp r0, 0 - beq _0810FA90 - bl sub_810FCE8 - ldr r0, _0810FA94 @ =gSaveBlock1 - ldr r1, _0810FA98 @ =gSaveBlock2 - ldrh r1, [r1, 0xE] - ldr r2, _0810FA9C @ =0x000013c4 - adds r0, r2 - strh r1, [r0] -_0810FA90: - pop {r0} - bx r0 - .align 2, 0 -_0810FA94: .4byte gSaveBlock1 -_0810FA98: .4byte gSaveBlock2 -_0810FA9C: .4byte 0x000013c4 - thumb_func_end sub_810FA74 - - thumb_func_start sub_810FAA0 -sub_810FAA0: @ 810FAA0 - push {r4,lr} - ldr r4, _0810FAF0 @ =gSaveBlock1 - ldr r1, _0810FAF4 @ =0x000013c2 - adds r0, r4, r1 - ldrh r0, [r0] - lsrs r0, 7 - movs r1, 0x1 - ands r0, r1 - cmp r0, 0 - bne _0810FAE8 - bl sub_810FF48 - bl sub_810FD80 - ldr r0, _0810FAF8 @ =gSaveBlock2 - ldrh r1, [r0, 0xE] - ldr r2, _0810FAFC @ =0x000013c4 - adds r0, r4, r2 - strh r1, [r0] - ldr r0, _0810FB00 @ =0x00000315 - bl FlagReset - ldr r0, _0810FB04 @ =0x00000316 - bl FlagReset - ldr r0, _0810FB08 @ =0x00000317 - bl FlagReset - movs r0, 0xC6 - lsls r0, 2 - bl FlagReset - ldr r0, _0810FB0C @ =0x00004095 - movs r1, 0x1 - bl VarSet -_0810FAE8: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0810FAF0: .4byte gSaveBlock1 -_0810FAF4: .4byte 0x000013c2 -_0810FAF8: .4byte gSaveBlock2 -_0810FAFC: .4byte 0x000013c4 -_0810FB00: .4byte 0x00000315 -_0810FB04: .4byte 0x00000316 -_0810FB08: .4byte 0x00000317 -_0810FB0C: .4byte 0x00004095 - thumb_func_end sub_810FAA0 - - thumb_func_start sub_810FB10 -sub_810FB10: @ 810FB10 - push {r4,r5,lr} - lsls r0, 24 - lsrs r5, r0, 24 - ldr r0, _0810FB54 @ =0x00004095 - bl VarGet - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x2 - bne _0810FB80 - ldr r0, _0810FB58 @ =gSaveBlock1 - ldr r1, _0810FB5C @ =0x000013c2 - adds r4, r0, r1 - ldrh r2, [r4] - movs r1, 0x7F - ands r1, r2 - ldr r0, _0810FB60 @ =gUnknown_083F8404 - adds r0, r5, r0 - ldrb r0, [r0] - adds r1, r0 - cmp r1, 0x13 - ble _0810FB7C - bl sub_810FCB0 - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x2 - bhi _0810FB68 - bl sub_810FB9C - ldrh r1, [r4] - ldr r0, _0810FB64 @ =0x0000ff80 - ands r0, r1 - b _0810FB7E - .align 2, 0 -_0810FB54: .4byte 0x00004095 -_0810FB58: .4byte gSaveBlock1 -_0810FB5C: .4byte 0x000013c2 -_0810FB60: .4byte gUnknown_083F8404 -_0810FB64: .4byte 0x0000ff80 -_0810FB68: - ldrh r0, [r4] - ldr r1, _0810FB78 @ =0x0000ff80 - ands r1, r0 - movs r0, 0x14 - orrs r1, r0 - strh r1, [r4] - b _0810FB80 - .align 2, 0 -_0810FB78: .4byte 0x0000ff80 -_0810FB7C: - adds r0, r2, r0 -_0810FB7E: - strh r0, [r4] -_0810FB80: - ldr r0, _0810FB94 @ =gSaveBlock1 - ldr r1, _0810FB98 @ =0x000013c2 - adds r0, r1 - ldrb r1, [r0] - movs r0, 0x7F - ands r0, r1 - pop {r4,r5} - pop {r1} - bx r1 - .align 2, 0 -_0810FB94: .4byte gSaveBlock1 -_0810FB98: .4byte 0x000013c2 - thumb_func_end sub_810FB10 - - thumb_func_start sub_810FB9C -sub_810FB9C: @ 810FB9C - push {r4-r7,lr} - sub sp, 0x4 - movs r3, 0 - movs r5, 0 - ldr r7, _0810FBD8 @ =gSaveBlock1 + 0x13C2 - movs r6, 0x1 -_0810FBA8: - ldrh r1, [r7] - ldr r0, _0810FBDC @ =gUnknown_083F8408 - adds r0, r5, r0 - ldrb r4, [r0] - asrs r1, r4 - ands r1, r6 - cmp r1, 0 - bne _0810FBE0 - adds r3, r5, 0 - str r3, [sp] - bl Random - adds r1, r6, 0 - ands r1, r0 - ldr r3, [sp] - cmp r1, 0 - beq _0810FBE0 - adds r0, r6, 0 - lsls r0, r4 - ldrh r1, [r7] - orrs r0, r1 - strh r0, [r7] - b _0810FC00 - .align 2, 0 -_0810FBD8: .4byte gSaveBlock1 + 0x13C2 -_0810FBDC: .4byte gUnknown_083F8408 -_0810FBE0: - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0x7 - bls _0810FBA8 - ldr r2, _0810FC0C @ =gSaveBlock1 - ldr r0, _0810FC10 @ =0x000013c2 - adds r2, r0 - ldr r1, _0810FC14 @ =gUnknown_083F8408 - adds r1, r3, r1 - movs r0, 0x1 - ldrb r1, [r1] - lsls r0, r1 - ldrh r1, [r2] - orrs r0, r1 - strh r0, [r2] -_0810FC00: - adds r0, r3, 0 - add sp, 0x4 - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_0810FC0C: .4byte gSaveBlock1 -_0810FC10: .4byte 0x000013c2 -_0810FC14: .4byte gUnknown_083F8408 - thumb_func_end sub_810FB9C - - thumb_func_start sub_810FC18 -sub_810FC18: @ 810FC18 - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x4 - movs r0, 0 - mov r8, r0 - bl sub_810FCB0 - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x1 - bne _0810FC3E - movs r0, 0 - b _0810FC94 -_0810FC34: - lsls r4, r6 - ldrh r0, [r2] - eors r4, r0 - strh r4, [r2] - b _0810FC92 -_0810FC3E: - movs r5, 0 - ldr r2, _0810FCA0 @ =gSaveBlock1 + 0x13C2 - movs r4, 0x1 -_0810FC44: - ldrh r1, [r2] - ldr r7, _0810FCA4 @ =gUnknown_083F8410 - adds r0, r5, r7 - ldrb r6, [r0] - asrs r1, r6 - ands r1, r4 - cmp r1, 0 - beq _0810FC66 - mov r8, r5 - str r2, [sp] - bl Random - adds r1, r4, 0 - ands r1, r0 - ldr r2, [sp] - cmp r1, 0 - bne _0810FC34 -_0810FC66: - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0x7 - bls _0810FC44 - ldr r0, _0810FCA8 @ =gSaveBlock1 - ldr r1, _0810FCAC @ =0x000013c2 - adds r4, r0, r1 - ldrh r1, [r4] - mov r2, r8 - adds r0, r2, r7 - ldrb r2, [r0] - adds r0, r1, 0 - asrs r0, r2 - movs r3, 0x1 - ands r0, r3 - cmp r0, 0 - beq _0810FC92 - adds r0, r3, 0 - lsls r0, r2 - eors r1, r0 - strh r1, [r4] -_0810FC92: - mov r0, r8 -_0810FC94: - add sp, 0x4 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_0810FCA0: .4byte gSaveBlock1 + 0x13C2 -_0810FCA4: .4byte gUnknown_083F8410 -_0810FCA8: .4byte gSaveBlock1 -_0810FCAC: .4byte 0x000013c2 - thumb_func_end sub_810FC18 - - thumb_func_start sub_810FCB0 -sub_810FCB0: @ 810FCB0 - push {r4,r5,lr} - movs r3, 0 - movs r2, 0 - ldr r0, _0810FCE4 @ =gSaveBlock1 + 0x13C2 - ldrh r4, [r0] - movs r5, 0x1 -_0810FCBC: - adds r1, r2, 0 - adds r1, 0x8 - adds r0, r4, 0 - asrs r0, r1 - ands r0, r5 - cmp r0, 0 - beq _0810FCD0 - adds r0, r3, 0x1 - lsls r0, 24 - lsrs r3, r0, 24 -_0810FCD0: - adds r0, r2, 0x1 - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0x7 - bls _0810FCBC - adds r0, r3, 0 - pop {r4,r5} - pop {r1} - bx r1 - .align 2, 0 -_0810FCE4: .4byte gSaveBlock1 + 0x13C2 - thumb_func_end sub_810FCB0 - - thumb_func_start sub_810FCE8 -sub_810FCE8: @ 810FCE8 - push {r4-r7,lr} - mov r7, r8 - push {r7} - movs r5, 0 - ldr r2, _0810FD08 @ =gSaveBlock2 - ldrh r1, [r2, 0xE] - ldr r0, _0810FD0C @ =0x000003e6 - cmp r1, r0 - bhi _0810FD54 - ldr r7, _0810FD10 @ =gSaveBlock1 - adds r6, r2, 0 - ldr r0, _0810FD14 @ =0x000013c4 - adds r0, r7 - mov r8, r0 - b _0810FD36 - .align 2, 0 -_0810FD08: .4byte gSaveBlock2 -_0810FD0C: .4byte 0x000003e6 -_0810FD10: .4byte gSaveBlock1 -_0810FD14: .4byte 0x000013c4 -_0810FD18: - ldrh r1, [r6, 0xE] - ldr r0, _0810FD4C @ =0x000013c4 - adds r4, r7, r0 - ldrh r0, [r4] - subs r1, r0 - cmp r1, 0xB - ble _0810FD54 - bl sub_810FC18 - ldrh r0, [r4] - adds r0, 0xC - strh r0, [r4] - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 -_0810FD36: - bl sub_810FCB0 - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x4 - bhi _0810FD50 - ldrh r0, [r6, 0xE] - mov r1, r8 - strh r0, [r1] - b _0810FD54 - .align 2, 0 -_0810FD4C: .4byte 0x000013c4 -_0810FD50: - cmp r5, 0x8 - bne _0810FD18 -_0810FD54: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_810FCE8 - - thumb_func_start sub_810FD60 -sub_810FD60: @ 810FD60 - ldr r0, _0810FD74 @ =gSaveBlock1 - ldr r1, _0810FD78 @ =0x000013c2 - adds r0, r1 - ldrh r0, [r0] - ldr r1, _0810FD7C @ =gSpecialVar_0x8004 - ldrh r1, [r1] - asrs r0, r1 - movs r1, 0x1 - ands r0, r1 - bx lr - .align 2, 0 -_0810FD74: .4byte gSaveBlock1 -_0810FD78: .4byte 0x000013c2 -_0810FD7C: .4byte gSpecialVar_0x8004 - thumb_func_end sub_810FD60 - - thumb_func_start sub_810FD80 -sub_810FD80: @ 810FD80 - ldr r2, _0810FDA4 @ =gSaveBlock1 - ldr r0, _0810FDA8 @ =0x000013c2 - adds r2, r0 - ldrh r1, [r2] - movs r3, 0x80 - lsls r3, 6 - adds r0, r3, 0 - orrs r0, r1 - movs r3, 0x80 - lsls r3, 1 - adds r1, r3, 0 - orrs r0, r1 - movs r3, 0x80 - lsls r3, 3 - adds r1, r3, 0 - orrs r0, r1 - strh r0, [r2] - bx lr - .align 2, 0 -_0810FDA4: .4byte gSaveBlock1 -_0810FDA8: .4byte 0x000013c2 - thumb_func_end sub_810FD80 - - thumb_func_start sub_810FDAC -sub_810FDAC: @ 810FDAC - push {lr} - movs r3, 0 - movs r2, 0 - ldr r0, _0810FDC8 @ =gSpecialVar_0x8004 - ldrh r0, [r0] - subs r0, 0x8 - cmp r0, 0x7 - bhi _0810FE0C - lsls r0, 2 - ldr r1, _0810FDCC @ =_0810FDD0 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0810FDC8: .4byte gSpecialVar_0x8004 -_0810FDCC: .4byte _0810FDD0 - .align 2, 0 -_0810FDD0: - .4byte _0810FE0C - .4byte _0810FE0C - .4byte _0810FDF0 - .4byte _0810FDF6 - .4byte _0810FDFC - .4byte _0810FE02 - .4byte _0810FE08 - .4byte _0810FE0C -_0810FDF0: - movs r3, 0 - movs r2, 0x3 - b _0810FE0C -_0810FDF6: - movs r3, 0 - movs r2, 0x1 - b _0810FE0C -_0810FDFC: - movs r3, 0x1 - movs r2, 0 - b _0810FE0C -_0810FE02: - movs r3, 0 - movs r2, 0x4 - b _0810FE0C -_0810FE08: - movs r3, 0x1 - movs r2, 0x5 -_0810FE0C: - ldr r0, _0810FE18 @ =gSaveBlock1 + 0x30B8 - adds r1, r3, 0 - bl sub_810FE1C - pop {r0} - bx r0 - .align 2, 0 -_0810FE18: .4byte gSaveBlock1 + 0x30B8 - thumb_func_end sub_810FDAC - - thumb_func_start sub_810FE1C -sub_810FE1C: @ 810FE1C - push {r4,lr} - lsls r1, 24 - lsls r2, 24 - lsrs r2, 24 - lsrs r1, 20 - adds r1, r0, r1 - ldrb r0, [r1] - cmp r0, 0xFF - bne _0810FED0 - cmp r2, 0x5 - bhi _0810FEBC - lsls r0, r2, 2 - ldr r1, _0810FE3C @ =_0810FE40 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0810FE3C: .4byte _0810FE40 - .align 2, 0 -_0810FE40: - .4byte _0810FEBC - .4byte _0810FE58 - .4byte _0810FE6C - .4byte _0810FE80 - .4byte _0810FE94 - .4byte _0810FEA8 -_0810FE58: - ldr r0, _0810FE64 @ =gStringVar1 - ldr r1, _0810FE68 @ =gOtherText_Steven - bl StringCopy - b _0810FEF2 - .align 2, 0 -_0810FE64: .4byte gStringVar1 -_0810FE68: .4byte gOtherText_Steven -_0810FE6C: - ldr r0, _0810FE78 @ =gStringVar1 - ldr r1, _0810FE7C @ =gOtherText_Brawly - bl StringCopy - b _0810FEF2 - .align 2, 0 -_0810FE78: .4byte gStringVar1 -_0810FE7C: .4byte gOtherText_Brawly -_0810FE80: - ldr r0, _0810FE8C @ =gStringVar1 - ldr r1, _0810FE90 @ =gOtherText_Winona - bl StringCopy - b _0810FEF2 - .align 2, 0 -_0810FE8C: .4byte gStringVar1 -_0810FE90: .4byte gOtherText_Winona -_0810FE94: - ldr r0, _0810FEA0 @ =gStringVar1 - ldr r1, _0810FEA4 @ =gOtherText_Phoebe - bl StringCopy - b _0810FEF2 - .align 2, 0 -_0810FEA0: .4byte gStringVar1 -_0810FEA4: .4byte gOtherText_Phoebe -_0810FEA8: - ldr r0, _0810FEB4 @ =gStringVar1 - ldr r1, _0810FEB8 @ =gOtherText_Glacia - bl StringCopy - b _0810FEF2 - .align 2, 0 -_0810FEB4: .4byte gStringVar1 -_0810FEB8: .4byte gOtherText_Glacia -_0810FEBC: - ldr r0, _0810FEC8 @ =gStringVar1 - ldr r1, _0810FECC @ =gOtherText_Wallace - bl StringCopy - b _0810FEF2 - .align 2, 0 -_0810FEC8: .4byte gStringVar1 -_0810FECC: .4byte gOtherText_Wallace -_0810FED0: - ldr r4, _0810FEF8 @ =gStringVar1 - adds r0, r4, 0 - movs r2, 0x7 - bl StringCopyN - movs r0, 0xFF - strb r0, [r4, 0x7] - ldrb r0, [r4] - cmp r0, 0xFC - bne _0810FEF2 - ldrb r0, [r4, 0x1] - cmp r0, 0x15 - bne _0810FEF2 - adds r0, r4, 0 - movs r1, 0x1 - bl ConvertInternationalString -_0810FEF2: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0810FEF8: .4byte gStringVar1 - thumb_func_end sub_810FE1C - - thumb_func_start sub_810FEFC -sub_810FEFC: @ 810FEFC - push {lr} - ldr r0, _0810FF20 @ =0x00004095 - bl VarGet - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x2 - bne _0810FF2C - bl sub_810FA74 - ldr r0, _0810FF24 @ =gBattleOutcome - ldrb r0, [r0] - cmp r0, 0x1 - bne _0810FF28 - bl sub_810FB9C - b _0810FF2C - .align 2, 0 -_0810FF20: .4byte 0x00004095 -_0810FF24: .4byte gBattleOutcome -_0810FF28: - bl sub_810FC18 -_0810FF2C: - pop {r0} - bx r0 - thumb_func_end sub_810FEFC - - thumb_func_start sub_810FF30 -sub_810FF30: @ 810FF30 - ldr r0, _0810FF40 @ =gSaveBlock1 - ldr r1, _0810FF44 @ =0x000013c2 - adds r0, r1 - ldrh r0, [r0] - lsrs r0, 7 - movs r1, 0x1 - ands r0, r1 - bx lr - .align 2, 0 -_0810FF40: .4byte gSaveBlock1 -_0810FF44: .4byte 0x000013c2 - thumb_func_end sub_810FF30 - - thumb_func_start sub_810FF48 -sub_810FF48: @ 810FF48 - ldr r0, _0810FF58 @ =gSaveBlock1 - ldr r1, _0810FF5C @ =0x000013c2 - adds r0, r1 - ldrh r2, [r0] - movs r1, 0x80 - orrs r1, r2 - strh r1, [r0] - bx lr - .align 2, 0 -_0810FF58: .4byte gSaveBlock1 -_0810FF5C: .4byte 0x000013c2 - thumb_func_end sub_810FF48 - - thumb_func_start sub_810FF60 -sub_810FF60: @ 810FF60 - push {lr} - ldr r0, _0810FF74 @ =gSpecialVar_0x8004 - ldrb r0, [r0] - bl sub_810FB10 - lsls r0, 24 - lsrs r0, 24 - pop {r1} - bx r1 - .align 2, 0 -_0810FF74: .4byte gSpecialVar_0x8004 - thumb_func_end sub_810FF60 - - .align 2, 0 @ Don't pad with nop. diff --git a/asm/item_menu.s b/asm/item_menu.s index b76f24ccf..17e399160 100644 --- a/asm/item_menu.s +++ b/asm/item_menu.s @@ -2516,7 +2516,11 @@ _080A4470: bl ItemId_GetItem adds r1, r0, 0 adds r0, r7, 0 +.ifdef ENGLISH movs r2, 0x60 +.else + movs r2, 0x63 +.endif movs r3, 0 bl sub_8072C74 ldr r0, _080A44F0 @ =gStringVar1 diff --git a/asm/learn_move.s b/asm/learn_move.s index fdf650a08..89cd2efb8 100644 --- a/asm/learn_move.s +++ b/asm/learn_move.s @@ -1037,7 +1037,7 @@ _08132F58: lsls r0, 24 cmp r0, 0 beq _08132FD6 - ldr r0, _08132F78 @ =gOtherText_ForgotOrDidNotLearnMove + ldr r0, _08132F78 @ =gOtherText_ForgotOrDidNotLearnMove / deuOtherText_ForgotAndLearned bl sub_81328E8 ldr r0, _08132F7C @ =gUnknown_030007B0 ldr r1, [r0] @@ -1047,7 +1047,11 @@ _08132F58: bl PlayFanfare b _08132FD6 .align 2, 0 +.ifdef ENGLISH _08132F78: .4byte gOtherText_ForgotOrDidNotLearnMove +.else +_08132F78: .4byte deuOtherText_ForgotAndLearned +.endif _08132F7C: .4byte gUnknown_030007B0 _08132F80: .4byte 0x0000016f _08132F84: diff --git a/asm/mon_markings.s b/asm/mon_markings.s index caab4e299..d227b17c1 100644 --- a/asm/mon_markings.s +++ b/asm/mon_markings.s @@ -720,7 +720,11 @@ _080F7770: ldr r2, [r1, 0x24] ldr r3, [sp, 0x58] asrs r0, r3, 16 +.ifdef ENGLISH adds r0, 0x20 +.else + adds r0, 0x18 +.endif strh r0, [r2, 0x20] ldr r2, [r1, 0x24] mov r0, r8 diff --git a/asm/rom_header.inc b/asm/rom_header.inc index a7348ad1f..43eec30bb 100644 --- a/asm/rom_header.inc +++ b/asm/rom_header.inc @@ -30,9 +30,14 @@ RomHeaderGameTitle: RomHeaderGameCode: .ifdef SAPPHIRE - .ascii "AXPE" + .ascii "AXP" .else - .ascii "AXVE" + .ascii "AXV" + .endif + .ifdef ENGLISH + .ascii "E" + .else + .ascii "D" .endif RomHeaderMakerCode: @@ -54,11 +59,15 @@ RomHeaderSoftwareVersion: .byte REVISION RomHeaderChecksum: + .ifdef ENGLISH .ifdef SAPPHIRE .byte 0x55 - REVISION .else .byte 0x41 - REVISION .endif + .else + .byte 0x42 + .endif RomHeaderReserved2: .space 2 diff --git a/asm/trade.s b/asm/trade.s index e4d45ec73..223f62474 100644 --- a/asm/trade.s +++ b/asm/trade.s @@ -6,6 +6,10 @@ .text +.ifdef ENGLISH + .set sub_804A96C_alt, sub_804A96C +.endif + thumb_func_start sub_8047CD8 sub_8047CD8: @ 8047CD8 push {lr} @@ -4348,7 +4352,7 @@ _08049F8E: movs r5, 0 str r5, [sp, 0x8] movs r2, 0 - bl sub_804A96C + bl sub_804A96C_alt ldr r0, [sp, 0x6C] cmp r0, 0 beq _0804A08C @@ -4407,7 +4411,7 @@ _0804A0E4: movs r5, 0 str r5, [sp, 0x8] movs r2, 0 - bl sub_804A96C + bl sub_804A96C_alt ldr r0, _0804A22C @ =gUnknown_03004824 ldr r3, [r0] ldr r1, [sp, 0x6C] @@ -5122,6 +5126,13 @@ _0804A690: _0804A6CA: strh r0, [r1] _0804A6CC: +.ifdef GERMAN + ldr r0, _0804A6E8 @ =gUnknown_03004824 + ldr r0, [r0] + adds r0, 0xD8 + movs r1, 0x1 + strb r1, [r0] +.endif add sp, 0x28 pop {r3-r5} mov r8, r3 @@ -5130,6 +5141,10 @@ _0804A6CC: pop {r4-r7} pop {r0} bx r0 +.ifdef GERMAN + .align 2, 0 +_0804A6E8: .4byte gUnknown_03004824 +.endif thumb_func_end sub_804A51C thumb_func_start sub_804A6DC @@ -5347,7 +5362,7 @@ sub_804A840: @ 804A840 str r5, [sp, 0x8] movs r1, 0 movs r2, 0 - bl sub_804A96C + bl sub_804A96C_alt movs r0, 0 bl sub_804A6DC movs r0, 0 @@ -5387,7 +5402,7 @@ _0804A8A8: str r1, [sp, 0x8] movs r1, 0xF movs r2, 0 - bl sub_804A96C + bl sub_804A96C_alt movs r0, 0x1 bl sub_804A6DC movs r0, 0x1 @@ -5462,81 +5477,7 @@ sub_804A964: @ 804A964 bx lr thumb_func_end sub_804A964 - thumb_func_start sub_804A96C -sub_804A96C: @ 804A96C - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x4 - str r0, [sp] - mov r10, r3 - ldr r0, [sp, 0x24] - ldr r3, [sp, 0x28] - ldr r4, [sp, 0x2C] - lsls r1, 24 - lsrs r1, 24 - lsls r2, 24 - lsrs r6, r2, 24 - lsls r0, 24 - lsrs r5, r0, 24 - lsls r3, 24 - lsrs r3, 24 - mov r12, r3 - lsls r4, 16 - lsrs r7, r4, 16 - movs r2, 0 - cmp r2, r12 - bge _0804A9DE - ldr r0, [sp] - adds r0, 0x12 - mov r9, r0 - lsls r0, r6, 5 - adds r0, r1 - mov r8, r0 -_0804A9AA: - movs r4, 0 - adds r6, r2, 0x1 - cmp r4, r5 - bge _0804A9D8 - lsls r1, r2, 5 - add r1, r8 - adds r0, r5, 0 - muls r0, r2 - lsls r0, 1 - mov r2, r10 - adds r3, r0, r2 - lsls r1, 1 - mov r0, r9 - adds r2, r1, r0 -_0804A9C6: - ldrh r1, [r3] - adds r0, r7, 0 - orrs r0, r1 - strh r0, [r2] - adds r3, 0x2 - adds r2, 0x2 - adds r4, 0x1 - cmp r4, r5 - blt _0804A9C6 -_0804A9D8: - adds r2, r6, 0 - cmp r2, r12 - blt _0804A9AA -_0804A9DE: - movs r0, 0x1 - ldr r1, [sp] - strb r0, [r1, 0x10] - add sp, 0x4 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_804A96C +.section .text.sub_804A9F4 thumb_func_start sub_804A9F4 sub_804A9F4: @ 804A9F4 @@ -11309,52 +11250,7 @@ _0804DAC0: _0804DAD0: .4byte gEnemyParty thumb_func_end sub_804D948 - thumb_func_start sub_804DAD4 -sub_804DAD4: @ 804DAD4 - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - ldr r2, _0804DB28 @ =gIngameTradeMail - adds r0, r5, 0 - adds r0, 0x2A - ldrb r1, [r0] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 2 - adds r2, r0, r2 - adds r1, r4, 0 - movs r3, 0x8 -_0804DAEE: - ldrh r0, [r2] - strh r0, [r1] - adds r2, 0x2 - adds r1, 0x2 - subs r3, 0x1 - cmp r3, 0 - bge _0804DAEE - adds r0, r4, 0 - adds r0, 0x12 - adds r1, r5, 0 - adds r1, 0x2B - bl StringCopy - ldr r1, [r5, 0x18] - lsrs r0, r1, 24 - strb r0, [r4, 0x1A] - lsrs r0, r1, 16 - strb r0, [r4, 0x1B] - lsrs r0, r1, 8 - strb r0, [r4, 0x1C] - strb r1, [r4, 0x1D] - ldrh r0, [r5, 0xC] - strh r0, [r4, 0x1E] - ldrh r0, [r5, 0x28] - strh r0, [r4, 0x20] - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0804DB28: .4byte gIngameTradeMail - thumb_func_end sub_804DAD4 +.section .text.sub_804DB2C thumb_func_start sub_804DB2C sub_804DB2C: @ 804DB2C diff --git a/asm/unused_8124F94.s b/asm/unused_8124F94.s deleted file mode 100644 index 335cf4453..000000000 --- a/asm/unused_8124F94.s +++ /dev/null @@ -1,285 +0,0 @@ - .include "constants/gba_constants.inc" - .include "constants/species_constants.inc" - .include "asm/macros.inc" - - .syntax unified - - .text - - thumb_func_start unref_sub_8124F94 -unref_sub_8124F94: @ 8124F94 - sub sp, 0x4 - movs r3, 0 - strb r3, [r0, 0x1] - strb r3, [r0] - strh r3, [r0, 0x2] - movs r1, 0xC0 - lsls r1, 19 - str r1, [r0, 0x4] - mov r1, sp - strh r3, [r1] - ldr r2, _08124FCC @ =0x040000d4 - str r1, [r2] - adds r1, r0, 0 - adds r1, 0x8 - str r1, [r2, 0x4] - ldr r1, _08124FD0 @ =0x81000040 - str r1, [r2, 0x8] - ldr r1, [r2, 0x8] - mov r1, sp - strh r3, [r1] - str r1, [r2] - adds r0, 0x88 - str r0, [r2, 0x4] - ldr r0, _08124FD4 @ =0x810000c0 - str r0, [r2, 0x8] - ldr r0, [r2, 0x8] - add sp, 0x4 - bx lr - .align 2, 0 -_08124FCC: .4byte 0x040000d4 -_08124FD0: .4byte 0x81000040 -_08124FD4: .4byte 0x810000c0 - thumb_func_end unref_sub_8124F94 - - thumb_func_start unref_sub_8124FD8 -unref_sub_8124FD8: @ 8124FD8 - push {r4-r7,lr} - adds r4, r0, 0 - adds r5, r1, 0 - ldr r7, _08124FE4 @ =0x040000d4 - b _0812508A - .align 2, 0 -_08124FE4: .4byte 0x040000d4 -_08124FE8: - ldrb r0, [r4, 0x1] - lsls r1, r0, 1 - adds r1, r0 - lsls r1, 2 - adds r0, r4, 0 - adds r0, 0x88 - adds r0, r1 - str r3, [r0] - ldrb r1, [r4, 0x1] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - adds r0, r4, r0 - ldrb r1, [r5, 0x6] - adds r0, 0x8E - strb r1, [r0] - ldrb r1, [r4, 0x1] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - adds r0, r4, r0 - ldrb r1, [r5, 0x4] - adds r0, 0x8C - strb r1, [r0] - ldrb r1, [r4, 0x1] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - adds r0, r4, r0 - ldrb r1, [r5, 0x5] - adds r0, 0x8D - strb r1, [r0] - ldrb r1, [r5, 0x4] - ldrb r0, [r5, 0x5] - adds r6, r1, 0 - muls r6, r0 - ldrh r2, [r4, 0x2] - adds r1, r2, r6 - movs r0, 0x80 - lsls r0, 3 - cmp r1, r0 - ble _08125040 - movs r0, 0x2 - b _0812509C -_08125040: - ldrh r0, [r5, 0x8] - cmp r0, 0 - bne _08125060 - str r3, [r7] - ldrh r1, [r4, 0x2] - lsls r1, 6 - ldr r0, [r4, 0x4] - adds r0, r1 - str r0, [r7, 0x4] - lsls r0, r6, 4 - movs r1, 0x80 - lsls r1, 24 - orrs r0, r1 - str r0, [r7, 0x8] - ldr r0, [r7, 0x8] - b _0812506C -_08125060: - lsls r0, r2, 6 - ldr r1, [r4, 0x4] - adds r1, r0 - adds r0, r3, 0 - bl sub_800D238 -_0812506C: - ldrb r1, [r4, 0x1] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - adds r0, r4, r0 - ldrh r1, [r4, 0x2] - adds r0, 0x90 - strh r1, [r0] - ldrh r0, [r4, 0x2] - adds r0, r6, r0 - strh r0, [r4, 0x2] - ldrb r0, [r4, 0x1] - adds r0, 0x1 - strb r0, [r4, 0x1] - adds r5, 0xC -_0812508A: - ldrb r0, [r4, 0x1] - cmp r0, 0x1F - bhi _0812509A - ldr r3, [r5] - cmp r3, 0 - bne _08124FE8 - movs r0, 0 - b _0812509C -_0812509A: - movs r0, 0x1 -_0812509C: - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end unref_sub_8124FD8 - - thumb_func_start unref_sub_81250A4 -unref_sub_81250A4: @ 81250A4 - push {r4,r5,lr} - sub sp, 0x20 - adds r4, r0, 0 - adds r5, r1, 0 - b _081250FC -_081250AE: - ldrb r1, [r4] - lsls r1, 3 - adds r0, r4, 0 - adds r0, 0x8 - adds r0, r1 - str r2, [r0] - ldrb r0, [r4] - lsls r0, 3 - adds r0, r4, r0 - ldrb r1, [r5, 0x4] - strb r1, [r0, 0xC] - ldrb r0, [r5, 0x5] - cmp r0, 0 - bne _081250D8 - ldrb r1, [r4] - lsls r1, 4 - adds r0, r2, 0 - movs r2, 0x20 - bl LoadPalette - b _081250EC -_081250D8: - adds r0, r2, 0 - mov r1, sp - bl sub_800D238 - ldrb r1, [r4] - lsls r1, 4 - mov r0, sp - movs r2, 0x20 - bl LoadPalette -_081250EC: - ldrb r0, [r4] - lsls r1, r0, 3 - adds r1, r4, r1 - strb r0, [r1, 0xD] - ldrb r0, [r4] - adds r0, 0x1 - strb r0, [r4] - adds r5, 0x8 -_081250FC: - ldrb r0, [r4] - cmp r0, 0xF - bhi _0812510C - ldr r2, [r5] - cmp r2, 0 - bne _081250AE - movs r0, 0 - b _0812510E -_0812510C: - movs r0, 0x1 -_0812510E: - add sp, 0x20 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end unref_sub_81250A4 - - thumb_func_start unref_sub_8125118 -unref_sub_8125118: @ 8125118 - push {r4-r7,lr} - ldr r4, _0812514C @ =0xfffffe00 - add sp, r4 - adds r5, r0, 0 - adds r6, r1, 0 - movs r2, 0x80 - lsls r2, 2 - mov r0, sp - movs r1, 0 - bl memset - ldrb r7, [r6, 0x5] - ldr r0, [r6] - mov r1, sp - bl sub_800D238 - ldrb r4, [r5] - cmp r4, r7 - bcs _08125186 -_0812513E: - ldrb r0, [r5] - adds r0, r4 - cmp r0, 0xF - ble _08125150 - movs r0, 0x1 - b _08125188 - .align 2, 0 -_0812514C: .4byte 0xfffffe00 -_08125150: - lsls r2, r4, 3 - adds r0, r5, 0 - adds r0, 0x8 - adds r0, r2 - ldr r1, [r6] - str r1, [r0] - adds r2, r5, r2 - ldrb r0, [r6, 0x4] - adds r0, r4, r0 - strb r0, [r2, 0xC] - ldrb r0, [r5] - strb r0, [r2, 0xD] - lsls r0, r4, 5 - add r0, sp - ldrb r1, [r5] - lsls r1, 4 - movs r2, 0x20 - bl LoadPalette - ldrb r0, [r5] - adds r0, 0x1 - strb r0, [r5] - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, r7 - bcc _0812513E -_08125186: - movs r0, 0 -_08125188: - movs r3, 0x80 - lsls r3, 2 - add sp, r3 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end unref_sub_8125118 - - .align 2, 0 @ Don't pad with nop. |