diff options
Diffstat (limited to 'asm')
-rw-r--r-- | asm/battle_10.s | 4675 | ||||
-rw-r--r-- | asm/battle_2.s | 2 | ||||
-rw-r--r-- | asm/battle_3.s | 6 | ||||
-rw-r--r-- | asm/battle_4.s | 74 | ||||
-rw-r--r-- | asm/battle_9.s | 6 | ||||
-rw-r--r-- | asm/field_tasks.s | 1972 | ||||
-rw-r--r-- | asm/sound_check_menu.s | 2444 |
7 files changed, 44 insertions, 9135 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_2.s b/asm/battle_2.s index c1f75dad5..ed4140583 100644 --- a/asm/battle_2.s +++ b/asm/battle_2.s @@ -4092,7 +4092,7 @@ _08014522: adds r1, r2 adds r1, 0x20 ldrb r1, [r1] - bl sub_81074C4 + bl RecordAbilityBattle ldr r2, _08014568 @ =gSpecialStatuses ldrb r1, [r4] lsls r0, r1, 2 diff --git a/asm/battle_3.s b/asm/battle_3.s index ffe32f27b..8f3097c3d 100644 --- a/asm/battle_3.s +++ b/asm/battle_3.s @@ -8590,7 +8590,7 @@ _08019F7C: beq _08019F92 adds r1, r0, 0 mov r0, r10 - bl sub_81074C4 + bl RecordAbilityBattle _08019F92: mov r0, r9 add sp, 0x28 @@ -9185,7 +9185,7 @@ _0801A4A8: str r3, [sp, 0xC] adds r0, r7, 0 adds r1, r5, 0 - bl sub_81074F8 + bl RecordItemBattle bl _0801AD5A .align 2, 0 _0801A4C4: .4byte gBattleMoveDamage @@ -11475,7 +11475,7 @@ _0801B7C2: adds r0, 0x20 ldrb r1, [r0] adds r0, r5, 0 - bl sub_81074C4 + bl RecordAbilityBattle ldr r1, _0801B804 @ =gSpecialStatuses lsls r0, r5, 2 adds r0, r5 diff --git a/asm/battle_4.s b/asm/battle_4.s index 5436d3e55..6747abc6c 100644 --- a/asm/battle_4.s +++ b/asm/battle_4.s @@ -291,7 +291,7 @@ _0801BE7E: mov r2, r8 ldrb r0, [r2] ldrb r1, [r4] - bl sub_81074C4 + bl RecordAbilityBattle b _0801BFF4 .align 2, 0 _0801BEB8: .4byte gNoOfAllBanks @@ -1812,8 +1812,8 @@ _0801CAF0: .4byte gProtectStructs _0801CAF4: .4byte gBattlescriptCurrInstr thumb_func_end atk05_damagecalc1 - thumb_func_start sub_801CAF8 -sub_801CAF8: @ 801CAF8 + thumb_func_start AI_CalcDmg +AI_CalcDmg: @ 801CAF8 push {r4-r7,lr} mov r7, r9 mov r6, r8 @@ -1923,7 +1923,7 @@ _0801CBDC: .4byte 0x0001601f _0801CBE0: .4byte gStatuses3 _0801CBE4: .4byte gBattleMoves _0801CBE8: .4byte gProtectStructs - thumb_func_end sub_801CAF8 + thumb_func_end AI_CalcDmg thumb_func_start battle_attack_damage_modulate_by_effectivity battle_attack_damage_modulate_by_effectivity: @ 801CBEC @@ -2143,7 +2143,7 @@ _0801CD44: strb r2, [r0, 0x6] ldrb r0, [r4] ldrb r1, [r3] - bl sub_81074C4 + bl RecordAbilityBattle b _0801CE58 .align 2, 0 _0801CD94: .4byte gBattleMoves @@ -2300,7 +2300,7 @@ _0801CE94: strb r0, [r1, 0x6] ldrb r0, [r5] ldrb r1, [r3] - bl sub_81074C4 + bl RecordAbilityBattle _0801CED6: ldr r0, _0801CF1C @ =gBattleMoveFlags ldrb r1, [r0] @@ -2412,7 +2412,7 @@ _0801CF94: strb r1, [r0, 0x6] ldrb r0, [r3] movs r1, 0x1A - bl sub_81074C4 + bl RecordAbilityBattle b _0801D1A4 .align 2, 0 _0801CFC8: .4byte gBattleMons @@ -2657,7 +2657,7 @@ _0801D14E: mov r1, r8 ldrb r0, [r1] movs r1, 0x19 - bl sub_81074C4 + bl RecordAbilityBattle _0801D1A4: pop {r3,r4} mov r8, r3 @@ -2778,8 +2778,8 @@ _0801D27A: bx r0 thumb_func_end b_attack_effectivity_adapt - thumb_func_start move_effectiveness_something -move_effectiveness_something: @ 801D280 + thumb_func_start TypeCalc +TypeCalc: @ 801D280 push {r4-r7,lr} mov r7, r10 mov r6, r9 @@ -3020,7 +3020,7 @@ _0801D44C: .4byte gTypeEffectiveness _0801D450: .4byte gBattleMons _0801D454: .4byte gBankTarget _0801D458: .4byte gBattleMoves - thumb_func_end move_effectiveness_something + thumb_func_end TypeCalc thumb_func_start ai_rate_move ai_rate_move: @ 801D45C @@ -3280,7 +3280,7 @@ _0801D632: bcs _0801D670 ldrb r0, [r5] movs r1, 0x27 - bl sub_81074F8 + bl RecordItemBattle ldr r2, _0801D6FC @ =gSpecialStatuses ldrb r1, [r5] lsls r0, r1, 2 @@ -3484,7 +3484,7 @@ _0801D7E2: bcs _0801D820 ldrb r0, [r5] movs r1, 0x27 - bl sub_81074F8 + bl RecordItemBattle ldr r2, _0801D890 @ =gSpecialStatuses ldrb r1, [r5] lsls r0, r1, 2 @@ -5294,7 +5294,7 @@ _0801E64A: mov r3, r8 ldrb r0, [r3] movs r1, 0x11 - bl sub_81074C4 + bl RecordAbilityBattle ldr r4, _0801E67C @ =gBattlescriptCurrInstr ldr r0, [r4] adds r0, 0x1 @@ -5417,7 +5417,7 @@ _0801E72E: mov r3, r8 ldrb r0, [r3] movs r1, 0x29 - bl sub_81074C4 + bl RecordAbilityBattle ldr r4, _0801E750 @ =gBattlescriptCurrInstr ldr r0, [r4] adds r0, 0x1 @@ -5608,7 +5608,7 @@ _0801E8A6: mov r3, r8 ldrb r0, [r3] movs r1, 0x7 - bl sub_81074C4 + bl RecordAbilityBattle ldr r4, _0801E8C8 @ =gBattlescriptCurrInstr ldr r0, [r4] adds r0, 0x1 @@ -5651,7 +5651,7 @@ _0801E8FE: mov r1, r8 ldrb r0, [r1] movs r1, 0x11 - bl sub_81074C4 + bl RecordAbilityBattle ldr r4, _0801E93C @ =gBattlescriptCurrInstr ldr r0, [r4] adds r0, 0x1 @@ -6081,7 +6081,7 @@ _0801ECF4: mov r1, r8 ldrb r0, [r1] movs r1, 0x27 - bl sub_81074C4 + bl RecordAbilityBattle ldr r1, _0801ED10 @ =gBattlescriptCurrInstr ldr r0, _0801ED14 @ =BattleScript_FlinchPrevention str r0, [r1] @@ -6712,7 +6712,7 @@ _0801F214: strb r0, [r1] ldrb r0, [r7] ldrb r1, [r1] - bl sub_81074C4 + bl RecordAbilityBattle b _0801F5FA .align 2, 0 _0801F254: .4byte gBankAttacker @@ -7044,7 +7044,7 @@ _0801F500: str r0, [r1] ldrb r0, [r5] movs r1, 0x3C - bl sub_81074C4 + bl RecordAbilityBattle b _0801F5FA .align 2, 0 _0801F534: .4byte gLastUsedAbility @@ -8058,7 +8058,7 @@ _0801FD5C: ldrb r1, [r0] adds r0, r4, 0 _0801FD80: - bl sub_81074C4 + bl RecordAbilityBattle ldr r0, _0801FD98 @ =0x02000000 ldr r1, _0801FD9C @ =0x000160f8 adds r0, r1 @@ -12829,7 +12829,7 @@ atk4A_damageflags: @ 80222DC strb r2, [r0, 0x6] ldrb r0, [r7] ldrb r1, [r3] - bl sub_81074C4 + bl RecordAbilityBattle b _08022452 .align 2, 0 _08022340: .4byte gBattleMoves @@ -13030,7 +13030,7 @@ _08022494: strb r0, [r1, 0x6] ldrb r0, [r2] ldrb r1, [r3] - bl sub_81074C4 + bl RecordAbilityBattle _080224CE: ldr r0, _08022518 @ =gBattleMoveFlags ldrb r1, [r0] @@ -13310,7 +13310,7 @@ _080226EA: ldr r1, [sp, 0x50] str r1, [r0] _08022710: - bl sub_8010B88 + bl SwitchInClearStructs ldr r0, _08022778 @ =0x02000000 ldr r3, _08022754 @ =gActiveBank ldrb r2, [r3] @@ -17237,7 +17237,7 @@ _08024726: bcs _08024764 ldrb r0, [r5] movs r1, 0x27 - bl sub_81074F8 + bl RecordItemBattle ldr r2, _080247F0 @ =gSpecialStatuses ldrb r1, [r5] lsls r0, r1, 2 @@ -17919,7 +17919,7 @@ atk70_record_ability_usage_of_side: @ 8024CB8 ldrb r0, [r1] ldr r1, _08024CE8 @ =gLastUsedAbility ldrb r1, [r1] - bl sub_81074C4 + bl RecordAbilityBattle ldr r0, [r4] adds r0, 0x1 str r0, [r4] @@ -18739,7 +18739,7 @@ _08025354: adds r1, r6 adds r1, 0x20 ldrb r1, [r1] - bl sub_81074C4 + bl RecordAbilityBattle ldr r1, _08025380 @ =gBattlescriptCurrInstr ldr r0, _08025384 @ =gUnknown_081D9834 str r0, [r1] @@ -19746,7 +19746,7 @@ _08025B2C: str r4, [r5] ldrb r1, [r2] adds r0, r3, 0 - bl sub_81074C4 + bl RecordAbilityBattle b _08025B56 .align 2, 0 _08025B44: .4byte gBattleMons @@ -20345,7 +20345,7 @@ _08025FE0: strb r0, [r1] ldrb r0, [r2] ldrb r1, [r1] - bl sub_81074C4 + bl RecordAbilityBattle ldr r0, _0802602C @ =gActiveBank ldrb r1, [r0] lsls r0, r1, 2 @@ -20401,7 +20401,7 @@ _08026040: strb r0, [r1] ldrb r0, [r3] ldrb r1, [r1] - bl sub_81074C4 + bl RecordAbilityBattle b _08025F74 .align 2, 0 _08026090: .4byte gActiveBank @@ -20449,7 +20449,7 @@ _080260CA: strb r0, [r1] ldrb r0, [r3] ldrb r1, [r1] - bl sub_81074C4 + bl RecordAbilityBattle b _08025F74 .align 2, 0 _080260FC: .4byte gActiveBank @@ -21840,7 +21840,7 @@ _08026BCE: bcs _08026C0C ldrb r0, [r5] movs r1, 0x27 - bl sub_81074F8 + bl RecordItemBattle ldr r2, _08026C54 @ =gSpecialStatuses ldrb r1, [r5] lsls r0, r1, 2 @@ -21880,7 +21880,7 @@ _08026C0C: ldr r1, _08026C50 @ =gBankTarget ldrb r0, [r1] movs r1, 0x5 - bl sub_81074C4 + bl RecordAbilityBattle b _08026E40 .align 2, 0 _08026C4C: .4byte gStringBank @@ -22497,7 +22497,7 @@ _080270F0: strb r2, [r0] ldrb r0, [r5] movs r1, 0xC - bl sub_81074C4 + bl RecordAbilityBattle b _0802721C .align 2, 0 _0802714C: .4byte gBattlePartyID @@ -25469,7 +25469,7 @@ _080288C0: .4byte gBattleMons _080288C4: ldrb r1, [r1] adds r0, r3, 0 - bl sub_81074C4 + bl RecordAbilityBattle ldrb r0, [r5, 0x5] movs r1, 0x1 orrs r0, r1 @@ -25532,7 +25532,7 @@ _08028950: .4byte gBattleMons _08028954: ldrb r1, [r1] adds r0, r3, 0 - bl sub_81074C4 + bl RecordAbilityBattle ldr r1, _080289AC @ =gBattleCommunication ldrb r0, [r1, 0x5] orrs r0, r6 @@ -28815,7 +28815,7 @@ _0802A334: strb r0, [r1] ldrb r0, [r7] ldrb r1, [r1] - bl sub_81074C4 + bl RecordAbilityBattle b _0802A49A .align 2, 0 _0802A360: .4byte gBattlescriptCurrInstr diff --git a/asm/battle_9.s b/asm/battle_9.s index 887fbd702..fffb56dc9 100644 --- a/asm/battle_9.s +++ b/asm/battle_9.s @@ -1847,7 +1847,7 @@ _08036EA4: ldrb r1, [r0] adds r0, r4, 0 mov r2, r10 - bl move_effectiveness_something + bl TypeCalc movs r1, 0x2 ands r1, r0 cmp r1, 0 @@ -1976,11 +1976,11 @@ _08036F90: beq _08036FCC ldrb r0, [r6] mov r1, r10 - bl sub_801CAF8 + bl AI_CalcDmg ldrb r1, [r6] adds r0, r4, 0 mov r2, r10 - bl move_effectiveness_something + bl TypeCalc _08036FCC: mov r2, r8 ldr r0, [r2] diff --git a/asm/field_tasks.s b/asm/field_tasks.s deleted file mode 100644 index 5f3e3a03f..000000000 --- a/asm/field_tasks.s +++ /dev/null @@ -1,1972 +0,0 @@ - .include "constants/gba_constants.inc" - .include "constants/species_constants.inc" - .include "asm/macros.inc" - - .syntax unified - - .text - - thumb_func_start Task_RunPerStepCallback -Task_RunPerStepCallback: @ 806943C - push {lr} - lsls r0, 24 - lsrs r0, 24 - ldr r2, _08069460 @ =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - movs r2, 0x8 - ldrsh r1, [r1, r2] - ldr r2, _08069464 @ =gUnknown_08376364 - lsls r1, 2 - adds r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {r0} - bx r0 - .align 2, 0 -_08069460: .4byte gTasks -_08069464: .4byte gUnknown_08376364 - thumb_func_end Task_RunPerStepCallback - - thumb_func_start RunTimeBasedEvents -RunTimeBasedEvents: @ 8069468 - push {r4,lr} - adds r4, r0, 0 - movs r1, 0 - ldrsh r0, [r4, r1] - cmp r0, 0 - beq _0806947A - cmp r0, 0x1 - beq _08069498 - b _080694AC -_0806947A: - ldr r0, _08069494 @ =gMain - ldr r0, [r0, 0x20] - movs r1, 0x80 - lsls r1, 5 - ands r0, r1 - cmp r0, 0 - beq _080694AC - bl DoTimeBasedEvents - ldrh r0, [r4] - adds r0, 0x1 - b _080694AA - .align 2, 0 -_08069494: .4byte gMain -_08069498: - ldr r0, _080694B4 @ =gMain - ldr r0, [r0, 0x20] - movs r1, 0x80 - lsls r1, 5 - ands r0, r1 - cmp r0, 0 - bne _080694AC - ldrh r0, [r4] - subs r0, 0x1 -_080694AA: - strh r0, [r4] -_080694AC: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080694B4: .4byte gMain - thumb_func_end RunTimeBasedEvents - - thumb_func_start Task_RunTimeBasedEvents -Task_RunTimeBasedEvents: @ 80694B8 - push {r4,lr} - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - ldr r0, _080694E8 @ =gTasks + 0x8 - adds r4, r1, r0 - bl ScriptContext2_IsEnabled - lsls r0, 24 - cmp r0, 0 - bne _080694E0 - adds r0, r4, 0 - bl RunTimeBasedEvents - adds r0, r4, 0x2 - adds r1, r4, 0x4 - bl sub_80540D0 -_080694E0: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080694E8: .4byte gTasks + 0x8 - thumb_func_end Task_RunTimeBasedEvents - - thumb_func_start SetUpFieldTasks -SetUpFieldTasks: @ 80694EC - push {r4,r5,lr} - ldr r5, _08069548 @ =Task_RunPerStepCallback - adds r0, r5, 0 - bl FuncIsActiveTask - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0 - bne _08069516 - adds r0, r5, 0 - movs r1, 0x50 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - ldr r2, _0806954C @ =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - strh r4, [r1, 0x8] -_08069516: - ldr r4, _08069550 @ =Task_MuddySlope - adds r0, r4, 0 - bl FuncIsActiveTask - lsls r0, 24 - cmp r0, 0 - bne _0806952C - adds r0, r4, 0 - movs r1, 0x50 - bl CreateTask -_0806952C: - ldr r4, _08069554 @ =Task_RunTimeBasedEvents - adds r0, r4, 0 - bl FuncIsActiveTask - lsls r0, 24 - cmp r0, 0 - bne _08069542 - adds r0, r4, 0 - movs r1, 0x50 - bl CreateTask -_08069542: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08069548: .4byte Task_RunPerStepCallback -_0806954C: .4byte gTasks -_08069550: .4byte Task_MuddySlope -_08069554: .4byte Task_RunTimeBasedEvents - thumb_func_end SetUpFieldTasks - - thumb_func_start ActivatePerStepCallback -ActivatePerStepCallback: @ 8069558 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r0, _08069590 @ =Task_RunPerStepCallback - bl FindTaskIdByFunc - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0xFF - beq _0806959A - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - ldr r1, _08069594 @ =gTasks + 0x8 - adds r1, r0, r1 - movs r2, 0 - adds r0, r1, 0 - adds r0, 0x1E -_0806957C: - strh r2, [r0] - subs r0, 0x2 - cmp r0, r1 - bge _0806957C - cmp r4, 0x7 - bls _08069598 - movs r0, 0 - strh r0, [r1] - b _0806959A - .align 2, 0 -_08069590: .4byte Task_RunPerStepCallback -_08069594: .4byte gTasks + 0x8 -_08069598: - strh r4, [r1] -_0806959A: - pop {r4} - pop {r0} - bx r0 - thumb_func_end ActivatePerStepCallback - - thumb_func_start ResetFieldTasksArgs -ResetFieldTasksArgs: @ 80695A0 - push {lr} - ldr r0, _080695D0 @ =Task_RunPerStepCallback - bl FindTaskIdByFunc - lsls r0, 24 - lsrs r1, r0, 24 - ldr r0, _080695D4 @ =Task_RunTimeBasedEvents - bl FindTaskIdByFunc - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0xFF - beq _080695CA - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - ldr r1, _080695D8 @ =gTasks + 0x8 - adds r0, r1 - movs r1, 0 - strh r1, [r0, 0x2] - strh r1, [r0, 0x4] -_080695CA: - pop {r0} - bx r0 - .align 2, 0 -_080695D0: .4byte Task_RunPerStepCallback -_080695D4: .4byte Task_RunTimeBasedEvents -_080695D8: .4byte gTasks + 0x8 - thumb_func_end ResetFieldTasksArgs - - thumb_func_start DummyPerStepCallback -DummyPerStepCallback: @ 80695DC - bx lr - thumb_func_end DummyPerStepCallback - - thumb_func_start sub_80695E0 -sub_80695E0: @ 80695E0 - push {r4,r5,lr} - adds r5, r0, 0 - lsls r1, 24 - lsrs r4, r1, 24 - adds r0, r4, 0 - bl sub_80576A0 - lsls r0, 24 - cmp r0, 0 - beq _080695F8 - adds r0, r5, 0 - b _08069630 -_080695F8: - adds r0, r4, 0 - bl sub_80576B4 - lsls r0, 24 - cmp r0, 0 - beq _0806960A - adds r0, r5, 0 - adds r0, 0x8 - b _08069630 -_0806960A: - adds r0, r4, 0 - bl sub_80576C8 - lsls r0, 24 - cmp r0, 0 - beq _0806961C - adds r0, r5, 0 - adds r0, 0x10 - b _08069630 -_0806961C: - adds r0, r4, 0 - bl sub_80576DC - lsls r0, 24 - cmp r0, 0 - bne _0806962C - movs r0, 0 - b _08069630 -_0806962C: - adds r0, r5, 0 - adds r0, 0x18 -_08069630: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_80695E0 - - thumb_func_start sub_8069638 -sub_8069638: @ 8069638 - push {r4-r7,lr} - mov r7, r8 - push {r7} - adds r5, r0, 0 - mov r8, r3 - lsls r1, 16 - asrs r6, r1, 16 - lsls r2, 16 - asrs r7, r2, 16 - adds r0, r6, 0 - adds r1, r7, 0 - bl MapGridGetMetatileBehaviorAt - adds r1, r0, 0 - lsls r1, 16 - lsrs r1, 16 - adds r0, r5, 0 - bl sub_80695E0 - adds r4, r0, 0 - adds r5, r4, 0 - cmp r4, 0 - beq _080696B6 - movs r0, 0 - ldrsb r0, [r4, r0] - adds r0, r6, r0 - movs r1, 0x1 - ldrsb r1, [r4, r1] - adds r1, r7, r1 - ldrh r2, [r4, 0x2] - bl MapGridSetMetatileIdAt - mov r0, r8 - cmp r0, 0 - beq _0806968E - movs r0, 0 - ldrsb r0, [r4, r0] - adds r0, r6, r0 - movs r1, 0x1 - ldrsb r1, [r4, r1] - adds r1, r7, r1 - bl CurrentMapDrawMetatileAt -_0806968E: - movs r0, 0x4 - ldrsb r0, [r5, r0] - adds r0, r6, r0 - movs r1, 0x5 - ldrsb r1, [r5, r1] - adds r1, r7, r1 - ldrh r2, [r5, 0x6] - bl MapGridSetMetatileIdAt - mov r0, r8 - cmp r0, 0 - beq _080696B6 - movs r0, 0x4 - ldrsb r0, [r5, r0] - adds r0, r6, r0 - movs r1, 0x5 - ldrsb r1, [r5, r1] - adds r1, r7, r1 - bl CurrentMapDrawMetatileAt -_080696B6: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_8069638 - - thumb_func_start sub_80696C0 -sub_80696C0: @ 80696C0 - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - adds r3, r2, 0 - ldr r0, _080696E0 @ =gUnknown_08376384 - lsls r4, 16 - asrs r4, 16 - lsls r5, 16 - asrs r5, 16 - adds r1, r4, 0 - adds r2, r5, 0 - bl sub_8069638 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080696E0: .4byte gUnknown_08376384 - thumb_func_end sub_80696C0 - - thumb_func_start sub_80696E4 -sub_80696E4: @ 80696E4 - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - adds r3, r2, 0 - ldr r0, _08069704 @ =gUnknown_083763A4 - lsls r4, 16 - asrs r4, 16 - lsls r5, 16 - asrs r5, 16 - adds r1, r4, 0 - adds r2, r5, 0 - bl sub_8069638 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08069704: .4byte gUnknown_083763A4 - thumb_func_end sub_80696E4 - - thumb_func_start sub_8069708 -sub_8069708: @ 8069708 - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - adds r3, r2, 0 - ldr r0, _08069728 @ =gUnknown_083763C4 - lsls r4, 16 - asrs r4, 16 - lsls r5, 16 - asrs r5, 16 - adds r1, r4, 0 - adds r2, r5, 0 - bl sub_8069638 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08069728: .4byte gUnknown_083763C4 - thumb_func_end sub_8069708 - - thumb_func_start sub_806972C -sub_806972C: @ 806972C - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - lsls r0, 16 - lsrs r0, 16 - mov r8, r0 - mov r10, r8 - lsls r1, 16 - lsrs r7, r1, 16 - mov r9, r7 - lsls r2, 16 - asrs r6, r2, 16 - lsls r3, 16 - asrs r5, r3, 16 - adds r0, r6, 0 - adds r1, r5, 0 - bl MapGridGetMetatileBehaviorAt - lsls r0, 24 - lsrs r4, r0, 24 - adds r0, r4, 0 - bl sub_80576A0 - lsls r0, 24 - cmp r0, 0 - beq _08069770 - lsls r0, r7, 16 - asrs r0, 16 - cmp r0, r5 - ble _080697B6 -_0806976C: - movs r0, 0 - b _080697B8 -_08069770: - adds r0, r4, 0 - bl sub_80576B4 - lsls r0, 24 - cmp r0, 0 - beq _08069788 - mov r1, r9 - lsls r0, r1, 16 - asrs r0, 16 - cmp r0, r5 - bge _080697B6 - b _0806976C -_08069788: - adds r0, r4, 0 - bl sub_80576C8 - lsls r0, 24 - cmp r0, 0 - beq _080697A0 - mov r1, r8 - lsls r0, r1, 16 - asrs r0, 16 - cmp r0, r6 - ble _080697B6 - b _0806976C -_080697A0: - adds r0, r4, 0 - bl sub_80576DC - lsls r0, 24 - cmp r0, 0 - beq _080697B6 - mov r1, r10 - lsls r0, r1, 16 - asrs r0, 16 - cmp r0, r6 - blt _0806976C -_080697B6: - movs r0, 0x1 -_080697B8: - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_806972C - - thumb_func_start sub_80697C8 -sub_80697C8: @ 80697C8 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - lsls r2, 16 - lsrs r2, 16 - mov r8, r2 - mov r10, r8 - lsls r3, 16 - lsrs r7, r3, 16 - mov r9, r7 - lsls r0, 16 - asrs r6, r0, 16 - lsls r1, 16 - asrs r5, r1, 16 - adds r0, r6, 0 - adds r1, r5, 0 - bl MapGridGetMetatileBehaviorAt - lsls r0, 24 - lsrs r4, r0, 24 - adds r0, r4, 0 - bl sub_80576A0 - lsls r0, 24 - cmp r0, 0 - beq _0806980C - lsls r0, r7, 16 - asrs r0, 16 - cmp r5, r0 - bge _08069852 -_08069808: - movs r0, 0 - b _08069854 -_0806980C: - adds r0, r4, 0 - bl sub_80576B4 - lsls r0, 24 - cmp r0, 0 - beq _08069824 - mov r1, r9 - lsls r0, r1, 16 - asrs r0, 16 - cmp r5, r0 - ble _08069852 - b _08069808 -_08069824: - adds r0, r4, 0 - bl sub_80576C8 - lsls r0, 24 - cmp r0, 0 - beq _0806983C - mov r1, r8 - lsls r0, r1, 16 - asrs r0, 16 - cmp r6, r0 - bge _08069852 - b _08069808 -_0806983C: - adds r0, r4, 0 - bl sub_80576DC - lsls r0, 24 - cmp r0, 0 - beq _08069852 - mov r1, r10 - lsls r0, r1, 16 - asrs r0, 16 - cmp r6, r0 - bgt _08069808 -_08069852: - movs r0, 0x1 -_08069854: - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_80697C8 - - thumb_func_start PerStepCallback_8069864 -PerStepCallback_8069864: @ 8069864 - push {r4-r7,lr} - sub sp, 0x4 - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - ldr r0, _08069898 @ =gTasks + 0x8 - adds r4, r1, r0 - mov r5, sp - adds r5, 0x2 - mov r0, sp - adds r1, r5, 0 - bl PlayerGetDestCoords - movs r1, 0x2 - ldrsh r0, [r4, r1] - adds r6, r5, 0 - cmp r0, 0x1 - beq _080698BE - cmp r0, 0x1 - bgt _0806989C - cmp r0, 0 - beq _080698A2 - b _080699CE - .align 2, 0 -_08069898: .4byte gTasks + 0x8 -_0806989C: - cmp r0, 0x2 - beq _0806998C - b _080699CE -_080698A2: - mov r0, sp - ldrh r0, [r0] - strh r0, [r4, 0x4] - ldrh r0, [r5] - strh r0, [r4, 0x6] - mov r0, sp - movs r2, 0 - ldrsh r0, [r0, r2] - movs r3, 0 - ldrsh r1, [r5, r3] - movs r2, 0x1 - bl sub_80696E4 - b _080699CA -_080698BE: - mov r0, sp - movs r7, 0 - ldrsh r1, [r0, r7] - movs r2, 0x4 - ldrsh r0, [r4, r2] - cmp r1, r0 - bne _080698D8 - movs r3, 0 - ldrsh r1, [r5, r3] - movs r7, 0x6 - ldrsh r0, [r4, r7] - cmp r1, r0 - beq _080699CE -_080698D8: - mov r0, sp - movs r1, 0 - ldrsh r0, [r0, r1] - movs r2, 0 - ldrsh r1, [r5, r2] - movs r3, 0x4 - ldrsh r2, [r4, r3] - movs r5, 0x6 - ldrsh r3, [r4, r5] - bl sub_806972C - cmp r0, 0 - beq _08069920 - movs r7, 0x4 - ldrsh r0, [r4, r7] - movs r2, 0x6 - ldrsh r1, [r4, r2] - movs r2, 0x1 - bl sub_80696C0 - movs r3, 0x4 - ldrsh r0, [r4, r3] - movs r5, 0x6 - ldrsh r1, [r4, r5] - movs r2, 0 - bl sub_8069708 - ldrh r0, [r4, 0x4] - strh r0, [r4, 0x8] - ldrh r0, [r4, 0x6] - strh r0, [r4, 0xA] - movs r0, 0x2 - strh r0, [r4, 0x2] - movs r0, 0x8 - strh r0, [r4, 0xC] - b _0806992A -_08069920: - movs r7, 0x1 - negs r7, r7 - adds r0, r7, 0 - strh r0, [r4, 0x8] - strh r0, [r4, 0xA] -_0806992A: - mov r0, sp - movs r1, 0 - ldrsh r0, [r0, r1] - adds r5, r6, 0 - movs r2, 0 - ldrsh r1, [r5, r2] - movs r3, 0x4 - ldrsh r2, [r4, r3] - movs r7, 0x6 - ldrsh r3, [r4, r7] - bl sub_80697C8 - cmp r0, 0 - beq _0806995E - mov r0, sp - movs r1, 0 - ldrsh r0, [r0, r1] - movs r2, 0 - ldrsh r1, [r5, r2] - movs r2, 0x1 - bl sub_80696C0 - movs r0, 0x2 - strh r0, [r4, 0x2] - movs r0, 0x8 - strh r0, [r4, 0xC] -_0806995E: - mov r0, sp - ldrh r0, [r0] - strh r0, [r4, 0x4] - ldrh r0, [r6] - strh r0, [r4, 0x6] - mov r0, sp - movs r3, 0 - ldrsh r0, [r0, r3] - movs r5, 0 - ldrsh r1, [r6, r5] - bl MapGridGetMetatileBehaviorAt - lsls r0, 24 - lsrs r0, 24 - bl MetatileBehavior_IsPacifidlogLog - lsls r0, 24 - cmp r0, 0 - beq _080699CE - movs r0, 0x46 - bl PlaySE - b _080699CE -_0806998C: - ldrh r0, [r4, 0xC] - subs r0, 0x1 - strh r0, [r4, 0xC] - lsls r0, 16 - cmp r0, 0 - bne _080699CE - mov r0, sp - movs r7, 0 - ldrsh r0, [r0, r7] - movs r2, 0 - ldrsh r1, [r5, r2] - movs r2, 0x1 - bl sub_80696E4 - movs r3, 0x8 - ldrsh r0, [r4, r3] - movs r1, 0x1 - negs r1, r1 - cmp r0, r1 - beq _080699CA - movs r5, 0xA - ldrsh r0, [r4, r5] - cmp r0, r1 - beq _080699CA - movs r7, 0x8 - ldrsh r0, [r4, r7] - movs r2, 0xA - ldrsh r1, [r4, r2] - movs r2, 0x1 - bl sub_8069708 -_080699CA: - movs r0, 0x1 - strh r0, [r4, 0x2] -_080699CE: - add sp, 0x4 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end PerStepCallback_8069864 - - thumb_func_start sub_80699D8 -sub_80699D8: @ 80699D8 - push {r4,r5,lr} - lsls r0, 16 - lsrs r4, r0, 16 - lsls r1, 16 - lsrs r5, r1, 16 - bl PlayerGetZCoord - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x1 - ands r0, r1 - cmp r0, 0 - bne _08069A32 - lsls r0, r4, 16 - asrs r4, r0, 16 - lsls r0, r5, 16 - asrs r5, r0, 16 - adds r0, r4, 0 - adds r1, r5, 0 - bl MapGridGetMetatileIdAt - adds r1, r0, 0 - ldr r0, _08069A14 @ =0x0000024e - cmp r1, r0 - beq _08069A18 - adds r0, 0x8 - cmp r1, r0 - beq _08069A28 - b _08069A32 - .align 2, 0 -_08069A14: .4byte 0x0000024e -_08069A18: - ldr r2, _08069A24 @ =0x0000024f - adds r0, r4, 0 - adds r1, r5, 0 - bl MapGridSetMetatileIdAt - b _08069A32 - .align 2, 0 -_08069A24: .4byte 0x0000024f -_08069A28: - ldr r2, _08069A38 @ =0x00000257 - adds r0, r4, 0 - adds r1, r5, 0 - bl MapGridSetMetatileIdAt -_08069A32: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08069A38: .4byte 0x00000257 - thumb_func_end sub_80699D8 - - thumb_func_start sub_8069A3C -sub_8069A3C: @ 8069A3C - push {r4,r5,lr} - lsls r0, 16 - lsrs r4, r0, 16 - lsls r1, 16 - lsrs r5, r1, 16 - bl PlayerGetZCoord - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x1 - ands r0, r1 - cmp r0, 0 - bne _08069A96 - lsls r0, r4, 16 - asrs r4, r0, 16 - lsls r0, r5, 16 - asrs r5, r0, 16 - adds r0, r4, 0 - adds r1, r5, 0 - bl MapGridGetMetatileIdAt - adds r1, r0, 0 - ldr r0, _08069A78 @ =0x0000024f - cmp r1, r0 - beq _08069A7C - adds r0, 0x8 - cmp r1, r0 - beq _08069A8C - b _08069A96 - .align 2, 0 -_08069A78: .4byte 0x0000024f -_08069A7C: - ldr r2, _08069A88 @ =0x0000024e - adds r0, r4, 0 - adds r1, r5, 0 - bl MapGridSetMetatileIdAt - b _08069A96 - .align 2, 0 -_08069A88: .4byte 0x0000024e -_08069A8C: - ldr r2, _08069A9C @ =0x00000256 - adds r0, r4, 0 - adds r1, r5, 0 - bl MapGridSetMetatileIdAt -_08069A96: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08069A9C: .4byte 0x00000256 - thumb_func_end sub_8069A3C - - thumb_func_start PerStepCallback_8069AA0 -PerStepCallback_8069AA0: @ 8069AA0 - 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 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - ldr r0, _08069ADC @ =gTasks + 0x8 - adds r6, r1, r0 - mov r4, sp - adds r4, 0x2 - mov r0, sp - adds r1, r4, 0 - bl PlayerGetDestCoords - movs r0, 0x2 - ldrsh r5, [r6, r0] - mov r9, r4 - cmp r5, 0x1 - beq _08069B34 - cmp r5, 0x1 - bgt _08069AE0 - cmp r5, 0 - beq _08069AE8 - b _08069CA6 - .align 2, 0 -_08069ADC: .4byte gTasks + 0x8 -_08069AE0: - cmp r5, 0x2 - bne _08069AE6 - b _08069C14 -_08069AE6: - b _08069CA6 -_08069AE8: - mov r0, sp - ldrh r0, [r0] - strh r0, [r6, 0x4] - mov r1, r9 - ldrh r0, [r1] - strh r0, [r6, 0x6] - mov r0, sp - movs r2, 0 - ldrsh r0, [r0, r2] - movs r3, 0 - ldrsh r1, [r1, r3] - bl MapGridGetMetatileBehaviorAt - lsls r0, 24 - lsrs r0, 24 - bl MetatileBehavior_IsFortreeBridge - lsls r0, 24 - cmp r0, 0 - bne _08069B12 - b _08069CA2 -_08069B12: - mov r0, sp - movs r1, 0 - ldrsh r0, [r0, r1] - mov r2, r9 - movs r3, 0 - ldrsh r1, [r2, r3] - bl sub_80699D8 - mov r0, sp - movs r1, 0 - ldrsh r0, [r0, r1] - mov r2, r9 - movs r3, 0 - ldrsh r1, [r2, r3] - bl CurrentMapDrawMetatileAt - b _08069CA2 -_08069B34: - ldrh r0, [r6, 0x6] - mov r8, r0 - mov r0, sp - movs r1, 0 - ldrsh r0, [r0, r1] - ldrh r2, [r6, 0x4] - mov r10, r2 - movs r3, 0x4 - ldrsh r7, [r6, r3] - cmp r0, r7 - bne _08069B5C - mov r0, r9 - movs r2, 0 - ldrsh r1, [r0, r2] - mov r3, r8 - lsls r0, r3, 16 - asrs r0, 16 - cmp r1, r0 - bne _08069B5C - b _08069CA6 -_08069B5C: - mov r0, sp - movs r1, 0 - ldrsh r0, [r0, r1] - mov r2, r9 - movs r3, 0 - ldrsh r1, [r2, r3] - bl MapGridGetMetatileBehaviorAt - lsls r0, 24 - lsrs r0, 24 - bl MetatileBehavior_IsFortreeBridge - lsls r0, 24 - lsrs r0, 24 - str r0, [sp, 0x4] - mov r0, r8 - lsls r4, r0, 16 - asrs r1, r4, 16 - adds r0, r7, 0 - bl MapGridGetMetatileBehaviorAt - lsls r0, 24 - lsrs r0, 24 - bl MetatileBehavior_IsFortreeBridge - lsls r0, 24 - lsrs r7, r0, 24 - bl PlayerGetZCoord - movs r1, 0 - ands r5, r0 - lsls r0, r5, 24 - adds r5, r4, 0 - cmp r0, 0 - bne _08069BA4 - movs r1, 0x1 -_08069BA4: - cmp r1, 0 - beq _08069BB8 - ldr r1, [sp, 0x4] - cmp r1, 0x1 - beq _08069BB2 - cmp r7, 0x1 - bne _08069BB8 -_08069BB2: - movs r0, 0x47 - bl PlaySE -_08069BB8: - cmp r7, 0 - beq _08069BF4 - mov r2, r10 - lsls r4, r2, 16 - asrs r4, 16 - asrs r5, 16 - adds r0, r4, 0 - adds r1, r5, 0 - bl sub_8069A3C - adds r0, r4, 0 - adds r1, r5, 0 - bl CurrentMapDrawMetatileAt - mov r0, sp - movs r3, 0 - ldrsh r0, [r0, r3] - mov r2, r9 - movs r3, 0 - ldrsh r1, [r2, r3] - bl sub_80699D8 - mov r0, sp - movs r1, 0 - ldrsh r0, [r0, r1] - mov r2, r9 - movs r3, 0 - ldrsh r1, [r2, r3] - bl CurrentMapDrawMetatileAt -_08069BF4: - mov r0, r10 - strh r0, [r6, 0x8] - mov r1, r8 - strh r1, [r6, 0xA] - mov r0, sp - ldrh r0, [r0] - strh r0, [r6, 0x4] - mov r2, r9 - ldrh r0, [r2] - strh r0, [r6, 0x6] - cmp r7, 0 - beq _08069CA6 - movs r0, 0x10 - strh r0, [r6, 0xC] - movs r0, 0x2 - strh r0, [r6, 0x2] -_08069C14: - ldrh r0, [r6, 0xC] - subs r0, 0x1 - strh r0, [r6, 0xC] - ldrh r3, [r6, 0x8] - mov r10, r3 - ldrh r0, [r6, 0xA] - mov r8, r0 - movs r1, 0xC - ldrsh r0, [r6, r1] - movs r1, 0x7 - bl __modsi3 - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x7 - bhi _08069C9A - lsls r0, 2 - ldr r1, _08069C40 @ =_08069C44 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_08069C40: .4byte _08069C44 - .align 2, 0 -_08069C44: - .4byte _08069C64 - .4byte _08069C9A - .4byte _08069C9A - .4byte _08069C9A - .4byte _08069C76 - .4byte _08069C9A - .4byte _08069C9A - .4byte _08069C9A -_08069C64: - mov r2, r10 - lsls r0, r2, 16 - asrs r0, 16 - mov r3, r8 - lsls r1, r3, 16 - asrs r1, 16 - bl CurrentMapDrawMetatileAt - b _08069C9A -_08069C76: - mov r0, r10 - lsls r5, r0, 16 - asrs r5, 16 - mov r1, r8 - lsls r4, r1, 16 - asrs r4, 16 - adds r0, r5, 0 - adds r1, r4, 0 - bl sub_80699D8 - adds r0, r5, 0 - adds r1, r4, 0 - bl CurrentMapDrawMetatileAt - adds r0, r5, 0 - adds r1, r4, 0 - bl sub_8069A3C -_08069C9A: - movs r2, 0xC - ldrsh r0, [r6, r2] - cmp r0, 0 - bne _08069CA6 -_08069CA2: - movs r0, 0x1 - strh r0, [r6, 0x2] -_08069CA6: - add sp, 0x8 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end PerStepCallback_8069AA0 - - thumb_func_start sub_8069CB8 -sub_8069CB8: @ 8069CB8 - push {lr} - lsls r1, 16 - lsrs r1, 16 - lsls r0, 16 - ldr r2, _08069CE8 @ =0xfffd0000 - adds r0, r2 - lsrs r0, 16 - cmp r0, 0xA - bhi _08069CF4 - lsls r0, r1, 16 - asrs r1, r0, 16 - ldr r2, _08069CEC @ =0xfffa0000 - adds r0, r2 - lsrs r0, 16 - cmp r0, 0xD - bhi _08069CF4 - ldr r0, _08069CF0 @ =gUnknown_083763E4 - lsls r1, 1 - adds r1, r0 - ldrh r0, [r1] - cmp r0, 0 - beq _08069CF4 - movs r0, 0x1 - b _08069CF6 - .align 2, 0 -_08069CE8: .4byte 0xfffd0000 -_08069CEC: .4byte 0xfffa0000 -_08069CF0: .4byte gUnknown_083763E4 -_08069CF4: - movs r0, 0 -_08069CF6: - pop {r1} - bx r1 - thumb_func_end sub_8069CB8 - - thumb_func_start sub_8069CFC -sub_8069CFC: @ 8069CFC - push {r4,r5,lr} - lsls r0, 16 - asrs r5, r0, 16 - lsls r1, 16 - asrs r4, r1, 16 - adds r0, r5, 0 - adds r1, r4, 0 - bl sub_8069CB8 - cmp r0, 0 - beq _08069D2A - ldr r1, _08069D30 @ =gUnknown_083763E4 - lsls r0, r4, 1 - adds r0, r1 - ldrh r0, [r0] - bl GetVarPointer - subs r2, r5, 0x3 - movs r1, 0x1 - lsls r1, r2 - ldrh r2, [r0] - orrs r1, r2 - strh r1, [r0] -_08069D2A: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08069D30: .4byte gUnknown_083763E4 - thumb_func_end sub_8069CFC - - thumb_func_start sub_8069D34 -sub_8069D34: @ 8069D34 - push {r4,r5,lr} - lsls r0, 16 - asrs r5, r0, 16 - lsls r1, 16 - asrs r4, r1, 16 - adds r0, r5, 0 - adds r1, r4, 0 - bl sub_8069CB8 - cmp r0, 0 - beq _08069D66 - ldr r1, _08069D6C @ =gUnknown_083763E4 - lsls r0, r4, 1 - adds r0, r1 - ldrh r0, [r0] - bl VarGet - lsls r0, 16 - subs r2, r5, 0x3 - movs r1, 0x80 - lsls r1, 9 - lsls r1, r2 - ands r1, r0 - cmp r1, 0 - bne _08069D70 -_08069D66: - movs r0, 0 - b _08069D72 - .align 2, 0 -_08069D6C: .4byte gUnknown_083763E4 -_08069D70: - movs r0, 0x1 -_08069D72: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_8069D34 - - thumb_func_start sub_8069D78 -sub_8069D78: @ 8069D78 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - ldr r0, _08069DCC @ =gMapHeader - ldr r0, [r0] - ldr r1, [r0] - mov r9, r1 - ldr r7, [r0, 0x4] - movs r5, 0 - cmp r5, r9 - bge _08069DC0 -_08069D90: - movs r4, 0 - adds r0, r5, 0x1 - mov r8, r0 - cmp r4, r7 - bge _08069DBA - lsls r6, r5, 16 -_08069D9C: - lsls r1, r4, 16 - asrs r1, 16 - asrs r0, r6, 16 - bl sub_8069D34 - cmp r0, 0x1 - bne _08069DB4 - adds r1, r4, 0x7 - adds r0, r5, 0x7 - ldr r2, _08069DD0 @ =0x0000020e - bl MapGridSetMetatileIdAt -_08069DB4: - adds r4, 0x1 - cmp r4, r7 - blt _08069D9C -_08069DBA: - mov r5, r8 - cmp r5, r9 - blt _08069D90 -_08069DC0: - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08069DCC: .4byte gMapHeader -_08069DD0: .4byte 0x0000020e - thumb_func_end sub_8069D78 - - thumb_func_start PerStepCallback_8069DD4 -PerStepCallback_8069DD4: @ 8069DD4 - push {r4-r7,lr} - sub sp, 0x4 - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - ldr r0, _08069DF8 @ =gTasks + 0x8 - adds r5, r1, r0 - movs r1, 0x2 - ldrsh r0, [r5, r1] - cmp r0, 0x1 - beq _08069E20 - cmp r0, 0x1 - bgt _08069DFC - cmp r0, 0 - beq _08069E08 - b _08069F56 - .align 2, 0 -_08069DF8: .4byte gTasks + 0x8 -_08069DFC: - cmp r0, 0x2 - beq _08069EB6 - cmp r0, 0x3 - bne _08069E06 - b _08069F10 -_08069E06: - b _08069F56 -_08069E08: - mov r4, sp - adds r4, 0x2 - mov r0, sp - adds r1, r4, 0 - bl PlayerGetDestCoords - mov r0, sp - ldrh r0, [r0] - strh r0, [r5, 0x4] - ldrh r0, [r4] - strh r0, [r5, 0x6] - b _08069F52 -_08069E20: - mov r7, sp - adds r7, 0x2 - mov r0, sp - adds r1, r7, 0 - bl PlayerGetDestCoords - mov r0, sp - ldrh r2, [r0] - movs r3, 0 - ldrsh r1, [r0, r3] - movs r3, 0x4 - ldrsh r0, [r5, r3] - cmp r1, r0 - bne _08069E4A - movs r0, 0 - ldrsh r1, [r7, r0] - movs r3, 0x6 - ldrsh r0, [r5, r3] - cmp r1, r0 - bne _08069E4A - b _08069F56 -_08069E4A: - strh r2, [r5, 0x4] - ldrh r0, [r7] - strh r0, [r5, 0x6] - mov r0, sp - movs r1, 0 - ldrsh r0, [r0, r1] - movs r2, 0 - ldrsh r1, [r7, r2] - bl MapGridGetMetatileBehaviorAt - adds r4, r0, 0 - lsls r4, 16 - lsrs r4, 16 - ldr r0, _08069E8C @ =0x00004022 - bl GetVarPointer - adds r6, r0, 0 - lsls r4, 24 - lsrs r4, 24 - adds r0, r4, 0 - bl MetatileBehavior_IsThinIce - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _08069E90 - ldrh r0, [r6] - adds r0, 0x1 - strh r0, [r6] - movs r0, 0x4 - strh r0, [r5, 0xC] - movs r0, 0x2 - b _08069EA8 - .align 2, 0 -_08069E8C: .4byte 0x00004022 -_08069E90: - adds r0, r4, 0 - bl MetatileBehavior_IsCrackedIce - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _08069F56 - movs r0, 0 - strh r0, [r6] - movs r0, 0x4 - strh r0, [r5, 0xC] - movs r0, 0x3 -_08069EA8: - strh r0, [r5, 0x2] - mov r0, sp - ldrh r0, [r0] - strh r0, [r5, 0x8] - ldrh r0, [r7] - strh r0, [r5, 0xA] - b _08069F56 -_08069EB6: - ldrh r1, [r5, 0xC] - movs r3, 0xC - ldrsh r0, [r5, r3] - cmp r0, 0 - bne _08069F1A - mov r1, sp - ldrh r0, [r5, 0x8] - strh r0, [r1] - mov r4, sp - adds r4, 0x2 - ldrh r0, [r5, 0xA] - strh r0, [r4] - movs r0, 0x2A - bl PlaySE - mov r0, sp - movs r1, 0 - ldrsh r0, [r0, r1] - movs r2, 0 - ldrsh r1, [r4, r2] - ldr r2, _08069F0C @ =0x0000020e - bl MapGridSetMetatileIdAt - mov r0, sp - movs r3, 0 - ldrsh r0, [r0, r3] - movs r2, 0 - ldrsh r1, [r4, r2] - bl CurrentMapDrawMetatileAt - mov r0, sp - ldrh r0, [r0] - subs r0, 0x7 - lsls r0, 16 - asrs r0, 16 - ldrh r1, [r4] - subs r1, 0x7 - lsls r1, 16 - asrs r1, 16 - bl sub_8069CFC - b _08069F52 - .align 2, 0 -_08069F0C: .4byte 0x0000020e -_08069F10: - ldrh r1, [r5, 0xC] - movs r3, 0xC - ldrsh r0, [r5, r3] - cmp r0, 0 - beq _08069F20 -_08069F1A: - subs r0, r1, 0x1 - strh r0, [r5, 0xC] - b _08069F56 -_08069F20: - mov r1, sp - ldrh r0, [r5, 0x8] - strh r0, [r1] - mov r4, sp - adds r4, 0x2 - ldrh r0, [r5, 0xA] - strh r0, [r4] - movs r0, 0x29 - bl PlaySE - mov r0, sp - movs r1, 0 - ldrsh r0, [r0, r1] - movs r2, 0 - ldrsh r1, [r4, r2] - ldr r2, _08069F60 @ =0x00000206 - bl MapGridSetMetatileIdAt - mov r0, sp - movs r3, 0 - ldrsh r0, [r0, r3] - movs r2, 0 - ldrsh r1, [r4, r2] - bl CurrentMapDrawMetatileAt -_08069F52: - movs r0, 0x1 - strh r0, [r5, 0x2] -_08069F56: - add sp, 0x4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08069F60: .4byte 0x00000206 - thumb_func_end PerStepCallback_8069DD4 - - thumb_func_start PerStepCallback_8069F64 -PerStepCallback_8069F64: @ 8069F64 - push {r4,r5,lr} - sub sp, 0x4 - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - ldr r0, _08069FE8 @ =gTasks + 0x8 - adds r5, r1, r0 - mov r4, sp - adds r4, 0x2 - mov r0, sp - adds r1, r4, 0 - bl PlayerGetDestCoords - mov r0, sp - ldrh r2, [r0] - movs r3, 0 - ldrsh r1, [r0, r3] - movs r3, 0x2 - ldrsh r0, [r5, r3] - cmp r1, r0 - bne _08069F9E - movs r0, 0 - ldrsh r1, [r4, r0] - movs r3, 0x4 - ldrsh r0, [r5, r3] - cmp r1, r0 - beq _0806A02A -_08069F9E: - strh r2, [r5, 0x2] - ldrh r0, [r4] - strh r0, [r5, 0x4] - mov r0, sp - movs r1, 0 - ldrsh r0, [r0, r1] - movs r2, 0 - ldrsh r1, [r4, r2] - bl MapGridGetMetatileBehaviorAt - lsls r0, 24 - lsrs r0, 24 - bl MetatileBehavior_IsAshGrass - lsls r0, 24 - cmp r0, 0 - beq _0806A02A - mov r0, sp - movs r3, 0 - ldrsh r0, [r0, r3] - movs r2, 0 - ldrsh r1, [r4, r2] - bl MapGridGetMetatileIdAt - ldr r1, _08069FEC @ =0x0000020a - cmp r0, r1 - bne _08069FF4 - mov r0, sp - movs r3, 0 - ldrsh r0, [r0, r3] - movs r2, 0 - ldrsh r1, [r4, r2] - ldr r2, _08069FF0 @ =0x00000212 - movs r3, 0x4 - bl ash - b _0806A006 - .align 2, 0 -_08069FE8: .4byte gTasks + 0x8 -_08069FEC: .4byte 0x0000020a -_08069FF0: .4byte 0x00000212 -_08069FF4: - mov r0, sp - movs r3, 0 - ldrsh r0, [r0, r3] - movs r2, 0 - ldrsh r1, [r4, r2] - ldr r2, _0806A034 @ =0x00000206 - movs r3, 0x4 - bl ash -_0806A006: - movs r0, 0x87 - lsls r0, 1 - movs r1, 0x1 - bl CheckBagHasItem - lsls r0, 24 - cmp r0, 0 - beq _0806A02A - ldr r0, _0806A038 @ =0x00004048 - bl GetVarPointer - adds r2, r0, 0 - ldrh r1, [r2] - ldr r0, _0806A03C @ =0x0000270e - cmp r1, r0 - bhi _0806A02A - adds r0, r1, 0x1 - strh r0, [r2] -_0806A02A: - add sp, 0x4 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0806A034: .4byte 0x00000206 -_0806A038: .4byte 0x00004048 -_0806A03C: .4byte 0x0000270e - thumb_func_end PerStepCallback_8069F64 - - thumb_func_start sub_806A040 -sub_806A040: @ 806A040 - push {r4,r5,lr} - lsls r0, 16 - asrs r5, r0, 16 - lsls r1, 16 - asrs r4, r1, 16 - adds r0, r5, 0 - adds r1, r4, 0 - bl MapGridGetMetatileIdAt - ldr r1, _0806A074 @ =0x0000022f - ldr r2, _0806A078 @ =0x00000237 - cmp r0, r1 - bne _0806A05C - subs r2, 0x31 -_0806A05C: - adds r0, r5, 0 - adds r1, r4, 0 - bl MapGridSetMetatileIdAt - adds r0, r5, 0 - adds r1, r4, 0 - bl CurrentMapDrawMetatileAt - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0806A074: .4byte 0x0000022f -_0806A078: .4byte 0x00000237 - thumb_func_end sub_806A040 - - thumb_func_start PerStepCallback_806A07C -PerStepCallback_806A07C: @ 806A07C - push {r4-r7,lr} - sub sp, 0x4 - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - ldr r0, _0806A164 @ =gTasks + 0x8 - adds r5, r1, r0 - mov r4, sp - adds r4, 0x2 - mov r0, sp - adds r1, r4, 0 - bl PlayerGetDestCoords - mov r0, sp - movs r1, 0 - ldrsh r0, [r0, r1] - movs r2, 0 - ldrsh r1, [r4, r2] - bl MapGridGetMetatileBehaviorAt - lsls r0, 16 - lsrs r6, r0, 16 - ldrh r1, [r5, 0x8] - movs r3, 0x8 - ldrsh r0, [r5, r3] - adds r7, r4, 0 - cmp r0, 0 - beq _0806A0CE - subs r0, r1, 0x1 - strh r0, [r5, 0x8] - lsls r0, 16 - cmp r0, 0 - bne _0806A0CE - movs r1, 0xA - ldrsh r0, [r5, r1] - movs r2, 0xC - ldrsh r1, [r5, r2] - bl sub_806A040 -_0806A0CE: - ldrh r1, [r5, 0xE] - movs r3, 0xE - ldrsh r0, [r5, r3] - cmp r0, 0 - beq _0806A0EE - subs r0, r1, 0x1 - strh r0, [r5, 0xE] - lsls r0, 16 - cmp r0, 0 - bne _0806A0EE - movs r1, 0x10 - ldrsh r0, [r5, r1] - movs r2, 0x12 - ldrsh r1, [r5, r2] - bl sub_806A040 -_0806A0EE: - lsls r0, r6, 24 - lsrs r6, r0, 24 - adds r0, r6, 0 - bl MetatileBehavior_IsCrackedFloorHole - lsls r0, 24 - cmp r0, 0 - beq _0806A106 - ldr r0, _0806A168 @ =0x00004022 - movs r1, 0 - bl VarSet -_0806A106: - mov r0, sp - ldrh r2, [r0] - movs r3, 0 - ldrsh r1, [r0, r3] - movs r3, 0x4 - ldrsh r0, [r5, r3] - cmp r1, r0 - bne _0806A122 - movs r0, 0 - ldrsh r1, [r7, r0] - movs r3, 0x6 - ldrsh r0, [r5, r3] - cmp r1, r0 - beq _0806A182 -_0806A122: - strh r2, [r5, 0x4] - adds r4, r7, 0 - ldrh r0, [r4] - strh r0, [r5, 0x6] - adds r0, r6, 0 - bl MetatileBehavior_IsCrackedFloor - lsls r0, 24 - cmp r0, 0 - beq _0806A182 - bl GetPlayerSpeed - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x4 - beq _0806A14A - ldr r0, _0806A168 @ =0x00004022 - movs r1, 0 - bl VarSet -_0806A14A: - movs r1, 0x8 - ldrsh r0, [r5, r1] - cmp r0, 0 - bne _0806A16C - movs r0, 0x3 - strh r0, [r5, 0x8] - mov r0, sp - ldrh r0, [r0] - strh r0, [r5, 0xA] - ldrh r0, [r4] - strh r0, [r5, 0xC] - b _0806A182 - .align 2, 0 -_0806A164: .4byte gTasks + 0x8 -_0806A168: .4byte 0x00004022 -_0806A16C: - movs r2, 0xE - ldrsh r0, [r5, r2] - cmp r0, 0 - bne _0806A182 - movs r0, 0x3 - strh r0, [r5, 0xE] - mov r0, sp - ldrh r0, [r0] - strh r0, [r5, 0x10] - ldrh r0, [r7] - strh r0, [r5, 0x12] -_0806A182: - add sp, 0x4 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end PerStepCallback_806A07C - - thumb_func_start sub_806A18C -sub_806A18C: @ 806A18C - push {r4,r5,lr} - adds r3, r0, 0 - lsls r1, 16 - lsrs r5, r1, 16 - lsls r2, 16 - lsrs r4, r2, 16 - ldrh r0, [r3] - subs r0, 0x1 - strh r0, [r3] - lsls r0, 16 - cmp r0, 0 - bne _0806A1A8 - movs r2, 0xE8 - b _0806A1BC -_0806A1A8: - ldr r1, _0806A1E4 @ =gUnknown_08376418 - movs r2, 0 - ldrsh r0, [r3, r2] - cmp r0, 0 - bge _0806A1B4 - adds r0, 0x7 -_0806A1B4: - asrs r0, 3 - lsls r0, 1 - adds r0, r1 - ldrh r2, [r0] -_0806A1BC: - lsls r5, 16 - asrs r5, 16 - lsls r4, 16 - asrs r4, 16 - adds r0, r5, 0 - adds r1, r4, 0 - bl MapGridSetMetatileIdAt - adds r0, r5, 0 - adds r1, r4, 0 - bl CurrentMapDrawMetatileAt - adds r0, r5, 0 - adds r1, r4, 0 - movs r2, 0xE8 - bl MapGridSetMetatileIdAt - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0806A1E4: .4byte gUnknown_08376418 - thumb_func_end sub_806A18C - - thumb_func_start Task_MuddySlope -Task_MuddySlope: @ 806A1E8 - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x4 - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - ldr r0, _0806A230 @ =gTasks + 0x8 - adds r4, r1, r0 - mov r5, sp - adds r5, 0x2 - mov r0, sp - adds r1, r5, 0 - bl PlayerGetDestCoords - ldr r0, _0806A234 @ =gSaveBlock1 - movs r1, 0x4 - ldrsb r1, [r0, r1] - lsls r1, 8 - ldrb r0, [r0, 0x5] - lsls r0, 24 - asrs r0, 24 - orrs r0, r1 - lsls r0, 16 - lsrs r7, r0, 16 - movs r0, 0x2 - ldrsh r1, [r4, r0] - mov r8, r5 - cmp r1, 0 - beq _0806A238 - cmp r1, 0x1 - beq _0806A264 - b _0806A2B8 - .align 2, 0 -_0806A230: .4byte gTasks + 0x8 -_0806A234: .4byte gSaveBlock1 -_0806A238: - strh r7, [r4] - mov r0, sp - ldrh r0, [r0] - strh r0, [r4, 0x4] - ldrh r0, [r5] - strh r0, [r4, 0x6] - movs r0, 0x1 - strh r0, [r4, 0x2] - strh r1, [r4, 0x8] - strh r1, [r4, 0xE] - strh r1, [r4, 0x14] - strh r1, [r4, 0x1A] - b _0806A2B8 -_0806A252: - movs r0, 0x20 - strh r0, [r1] - mov r0, sp - ldrh r0, [r0] - strh r0, [r1, 0x2] - mov r2, r8 - ldrh r0, [r2] - strh r0, [r1, 0x4] - b _0806A2B8 -_0806A264: - mov r0, sp - movs r3, 0x4 - ldrsh r1, [r4, r3] - ldrh r2, [r0] - movs r3, 0 - ldrsh r0, [r0, r3] - cmp r1, r0 - bne _0806A280 - movs r0, 0x6 - ldrsh r1, [r4, r0] - movs r3, 0 - ldrsh r0, [r5, r3] - cmp r1, r0 - beq _0806A2B8 -_0806A280: - strh r2, [r4, 0x4] - ldrh r0, [r5] - strh r0, [r4, 0x6] - mov r0, sp - movs r1, 0 - ldrsh r0, [r0, r1] - movs r2, 0 - ldrsh r1, [r5, r2] - bl MapGridGetMetatileBehaviorAt - lsls r0, 24 - lsrs r0, 24 - bl MetatileBehavior_IsMuddySlope - lsls r0, 24 - cmp r0, 0 - beq _0806A2B8 - movs r6, 0x4 - adds r1, r4, 0 - adds r1, 0x8 -_0806A2A8: - movs r3, 0 - ldrsh r0, [r1, r3] - cmp r0, 0 - beq _0806A252 - adds r1, 0x6 - adds r6, 0x3 - cmp r6, 0xD - ble _0806A2A8 -_0806A2B8: - ldr r2, _0806A2D4 @ =gUnknown_0202E844 - ldrb r1, [r2] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _0806A2D8 - movs r1, 0 - ldrsh r0, [r4, r1] - cmp r7, r0 - beq _0806A2D8 - strh r7, [r4] - ldrh r0, [r2, 0x4] - ldrh r1, [r2, 0x8] - b _0806A2DC - .align 2, 0 -_0806A2D4: .4byte gUnknown_0202E844 -_0806A2D8: - movs r0, 0 - movs r1, 0 -_0806A2DC: - lsls r0, 16 - asrs r0, 16 - mov r8, r0 - lsls r0, r1, 16 - asrs r7, r0, 16 - adds r5, r4, 0 - adds r5, 0x8 - adds r4, r5, 0 - movs r6, 0x9 -_0806A2EE: - movs r2, 0 - ldrsh r0, [r4, r2] - cmp r0, 0 - beq _0806A312 - ldrh r0, [r4, 0x2] - mov r3, r8 - subs r0, r3 - strh r0, [r4, 0x2] - ldrh r0, [r4, 0x4] - subs r0, r7 - strh r0, [r4, 0x4] - movs r0, 0x2 - ldrsh r1, [r4, r0] - movs r3, 0x4 - ldrsh r2, [r4, r3] - adds r0, r5, 0 - bl sub_806A18C -_0806A312: - adds r4, 0x6 - adds r5, 0x6 - subs r6, 0x3 - cmp r6, 0 - bge _0806A2EE - add sp, 0x4 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end Task_MuddySlope - - .align 2, 0 @ Don't pad with nop. diff --git a/asm/sound_check_menu.s b/asm/sound_check_menu.s deleted file mode 100644 index b47229d2b..000000000 --- a/asm/sound_check_menu.s +++ /dev/null @@ -1,2444 +0,0 @@ - .include "constants/gba_constants.inc" - .include "constants/species_constants.inc" - .include "asm/macros.inc" - - .syntax unified - - .text - - thumb_func_start sub_80BA0A8 -sub_80BA0A8: @ 80BA0A8 - push {lr} - bl RunTasks - bl AnimateSprites - bl BuildOamBuffer - bl UpdatePaletteFade - pop {r0} - bx r0 - thumb_func_end sub_80BA0A8 - - thumb_func_start sub_80BA0C0 -sub_80BA0C0: @ 80BA0C0 - push {lr} - bl LoadOam - bl ProcessSpriteCopyRequests - bl TransferPlttBuffer - ldr r0, _080BA0E8 @ =gUnknown_020387B0 - ldrb r0, [r0] - cmp r0, 0 - beq _080BA0E2 - bl m4aSoundMain - bl m4aSoundMain - bl m4aSoundMain -_080BA0E2: - pop {r0} - bx r0 - .align 2, 0 -_080BA0E8: .4byte gUnknown_020387B0 - thumb_func_end sub_80BA0C0 - - thumb_func_start unref_sub_80BA0EC -unref_sub_80BA0EC: @ 80BA0EC - push {r4-r6,lr} - sub sp, 0xC - movs r0, 0 - bl SetVBlankCallback - movs r6, 0x80 - lsls r6, 19 - movs r5, 0 - strh r5, [r6] - ldr r0, _080BA20C @ =REG_BG2CNT - strh r5, [r0] - subs r0, 0x2 - strh r5, [r0] - subs r0, 0x2 - strh r5, [r0] - adds r0, 0x10 - strh r5, [r0] - adds r0, 0x2 - strh r5, [r0] - subs r0, 0x6 - strh r5, [r0] - adds r0, 0x2 - strh r5, [r0] - subs r0, 0x6 - strh r5, [r0] - adds r0, 0x2 - strh r5, [r0] - add r0, sp, 0x4 - strh r5, [r0] - ldr r1, _080BA210 @ =0x040000d4 - str r0, [r1] - movs r0, 0xC0 - lsls r0, 19 - str r0, [r1, 0x4] - ldr r0, _080BA214 @ =0x8100c000 - str r0, [r1, 0x8] - ldr r0, [r1, 0x8] - movs r4, 0 - str r4, [sp, 0x8] - add r0, sp, 0x8 - str r0, [r1] - movs r0, 0xE0 - lsls r0, 19 - str r0, [r1, 0x4] - ldr r0, _080BA218 @ =0x85000100 - str r0, [r1, 0x8] - ldr r0, [r1, 0x8] - add r0, sp, 0x4 - strh r4, [r0] - str r0, [r1] - movs r0, 0xA0 - lsls r0, 19 - str r0, [r1, 0x4] - ldr r0, _080BA21C @ =0x81000200 - str r0, [r1, 0x8] - ldr r0, [r1, 0x8] - bl ResetPaletteFade - bl ResetTasks - bl ResetSpriteData - ldr r0, _080BA220 @ =gWindowConfig_81E6C3C - bl SetUpWindowConfig - ldr r0, _080BA224 @ =gWindowConfig_81E6CE4 - bl InitMenuWindow - movs r0, 0x1 - negs r0, r0 - str r4, [sp] - movs r1, 0 - movs r2, 0x10 - movs r3, 0 - bl BeginNormalPaletteFade - ldr r0, _080BA228 @ =REG_WIN0H - strh r4, [r0] - adds r0, 0x4 - strh r4, [r0] - subs r0, 0x2 - strh r4, [r0] - adds r0, 0x4 - strh r4, [r0] - ldr r1, _080BA22C @ =REG_WININ - ldr r2, _080BA230 @ =0x00001111 - adds r0, r2, 0 - strh r0, [r1] - adds r1, 0x2 - movs r0, 0x31 - strh r0, [r1] - adds r1, 0x6 - movs r0, 0xE1 - strh r0, [r1] - ldr r0, _080BA234 @ =REG_BLDALPHA - strh r4, [r0] - adds r1, 0x4 - movs r0, 0x7 - strh r0, [r1] - ldr r1, _080BA238 @ =0x04000200 - movs r2, 0x1 - strh r2, [r1] - ldrh r0, [r1] - orrs r0, r2 - strh r0, [r1] - ldr r2, _080BA23C @ =REG_DISPSTAT - ldrh r0, [r2] - movs r1, 0x8 - orrs r0, r1 - strh r0, [r2] - ldr r0, _080BA240 @ =sub_80BA0C0 - bl SetVBlankCallback - ldr r0, _080BA244 @ =sub_80BA0A8 - bl SetMainCallback2 - ldr r1, _080BA248 @ =0x00007140 - adds r0, r1, 0 - strh r0, [r6] - ldr r0, _080BA24C @ =sub_80BA258 - movs r1, 0 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - ldr r2, _080BA250 @ =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - strh r4, [r1, 0x8] - strh r4, [r1, 0xA] - strh r4, [r1, 0xC] - strh r4, [r1, 0xE] - ldr r0, _080BA254 @ =gUnknown_020387B0 - strb r5, [r0] - strh r4, [r1, 0xE] - bl m4aSoundInit - add sp, 0xC - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080BA20C: .4byte REG_BG2CNT -_080BA210: .4byte 0x040000d4 -_080BA214: .4byte 0x8100c000 -_080BA218: .4byte 0x85000100 -_080BA21C: .4byte 0x81000200 -_080BA220: .4byte gWindowConfig_81E6C3C -_080BA224: .4byte gWindowConfig_81E6CE4 -_080BA228: .4byte REG_WIN0H -_080BA22C: .4byte REG_WININ -_080BA230: .4byte 0x00001111 -_080BA234: .4byte REG_BLDALPHA -_080BA238: .4byte 0x04000200 -_080BA23C: .4byte REG_DISPSTAT -_080BA240: .4byte sub_80BA0C0 -_080BA244: .4byte sub_80BA0A8 -_080BA248: .4byte 0x00007140 -_080BA24C: .4byte sub_80BA258 -_080BA250: .4byte gTasks -_080BA254: .4byte gUnknown_020387B0 - thumb_func_end unref_sub_80BA0EC - - thumb_func_start sub_80BA258 -sub_80BA258: @ 80BA258 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - sub sp, 0x40 - lsls r0, 24 - lsrs r0, 24 - mov r9, r0 - ldr r1, _080BA354 @ =gDebugText_SoundCheckJap - mov r0, sp - movs r2, 0x9 - bl memcpy - add r7, sp, 0xC - ldr r1, _080BA358 @ =gDebugText_BGM - adds r0, r7, 0 - movs r2, 0x4 - bl memcpy - add r0, sp, 0x10 - mov r8, r0 - ldr r1, _080BA35C @ =gDebugText_SE - movs r2, 0x4 - bl memcpy - add r5, sp, 0x14 - ldr r1, _080BA360 @ =gUnknown_083D02D9 - adds r0, r5, 0 - movs r2, 0xD - bl memcpy - add r4, sp, 0x24 - ldr r1, _080BA364 @ =gDebugText_UpDown - adds r0, r4, 0 - movs r2, 0xC - bl memcpy - add r6, sp, 0x30 - ldr r1, _080BA368 @ =gDebugText_DriverTest - adds r0, r6, 0 - movs r2, 0xE - bl memcpy - ldr r0, _080BA36C @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _080BA344 - movs r0, 0x2 - movs r1, 0 - movs r2, 0x1B - movs r3, 0x3 - bl MenuDrawTextWindow - movs r0, 0x2 - movs r1, 0x5 - movs r2, 0x1B - movs r3, 0xA - bl MenuDrawTextWindow - movs r0, 0x2 - movs r1, 0xC - movs r2, 0x1B - movs r3, 0x11 - bl MenuDrawTextWindow - mov r0, sp - movs r1, 0x4 - movs r2, 0x1 - bl MenuPrint - adds r0, r5, 0 - movs r1, 0xE - movs r2, 0x1 - bl MenuPrint - adds r0, r7, 0 - movs r1, 0x4 - movs r2, 0x6 - bl MenuPrint - adds r0, r4, 0 - movs r1, 0xE - movs r2, 0x6 - bl MenuPrint - mov r0, r8 - movs r1, 0x4 - movs r2, 0xD - bl MenuPrint - adds r0, r4, 0 - movs r1, 0xE - movs r2, 0xD - bl MenuPrint - adds r0, r6, 0 - movs r1, 0xE - movs r2, 0x12 - bl MenuPrint - ldr r1, _080BA370 @ =gTasks - mov r2, r9 - lsls r0, r2, 2 - add r0, r9 - lsls r0, 3 - adds r0, r1 - ldr r1, _080BA374 @ =sub_80BA384 - str r1, [r0] - ldr r1, _080BA378 @ =REG_WIN0H - ldr r2, _080BA37C @ =0x000011df - adds r0, r2, 0 - strh r0, [r1] - adds r1, 0x4 - ldr r2, _080BA380 @ =0x0000011f - adds r0, r2, 0 - strh r0, [r1] -_080BA344: - add sp, 0x40 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080BA354: .4byte gDebugText_SoundCheckJap -_080BA358: .4byte gDebugText_BGM -_080BA35C: .4byte gDebugText_SE -_080BA360: .4byte gUnknown_083D02D9 -_080BA364: .4byte gDebugText_UpDown -_080BA368: .4byte gDebugText_DriverTest -_080BA36C: .4byte gPaletteFade -_080BA370: .4byte gTasks -_080BA374: .4byte sub_80BA384 -_080BA378: .4byte REG_WIN0H -_080BA37C: .4byte 0x000011df -_080BA380: .4byte 0x0000011f - thumb_func_end sub_80BA258 - - thumb_func_start sub_80BA384 -sub_80BA384: @ 80BA384 - push {r4,lr} - lsls r0, 24 - lsrs r0, 24 - ldr r1, _080BA3EC @ =gTasks - lsls r4, r0, 2 - adds r4, r0 - lsls r4, 3 - adds r4, r1 - ldrb r0, [r4, 0x8] - bl sub_80BA6B8 - ldr r1, _080BA3F0 @ =0x0000015d - adds r0, r1, 0 - ldrh r2, [r4, 0xA] - adds r0, r2 - lsls r0, 16 - lsrs r0, 16 - movs r1, 0x7 - movs r2, 0x8 - bl sub_80BA700 - ldr r1, _080BA3F4 @ =gBGMNames - movs r2, 0xA - ldrsh r0, [r4, r2] - lsls r0, 2 - adds r0, r1 - ldr r0, [r0] - movs r1, 0xB - movs r2, 0x8 - bl sub_80BA79C - ldrh r0, [r4, 0xC] - movs r1, 0x7 - movs r2, 0xF - bl sub_80BA700 - ldr r1, _080BA3F8 @ =gSENames - movs r2, 0xC - ldrsh r0, [r4, r2] - lsls r0, 2 - adds r0, r1 - ldr r0, [r0] - movs r1, 0xB - movs r2, 0xF - bl sub_80BA79C - ldr r0, _080BA3FC @ =sub_80BA65C - str r0, [r4] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080BA3EC: .4byte gTasks -_080BA3F0: .4byte 0x0000015d -_080BA3F4: .4byte gBGMNames -_080BA3F8: .4byte gSENames -_080BA3FC: .4byte sub_80BA65C - thumb_func_end sub_80BA384 - - thumb_func_start sub_80BA400 -sub_80BA400: @ 80BA400 - push {r4-r6,lr} - sub sp, 0x4 - lsls r0, 24 - lsrs r4, r0, 24 - ldr r2, _080BA428 @ =gMain - ldrh r1, [r2, 0x2E] - movs r0, 0x80 - lsls r0, 1 - ands r0, r1 - cmp r0, 0 - beq _080BA434 - ldr r0, _080BA42C @ =gTasks - lsls r1, r4, 2 - adds r1, r4 - lsls r1, 3 - adds r1, r0 - ldr r0, _080BA430 @ =sub_80BA800 - str r0, [r1] - b _080BA64C - .align 2, 0 -_080BA428: .4byte gMain -_080BA42C: .4byte gTasks -_080BA430: .4byte sub_80BA800 -_080BA434: - movs r0, 0x80 - lsls r0, 2 - ands r0, r1 - cmp r0, 0 - beq _080BA458 - ldr r0, _080BA450 @ =gTasks - lsls r1, r4, 2 - adds r1, r4 - lsls r1, 3 - adds r1, r0 - ldr r0, _080BA454 @ =sub_80BAF84 - str r0, [r1] - b _080BA64C - .align 2, 0 -_080BA450: .4byte gTasks -_080BA454: .4byte sub_80BAF84 -_080BA458: - movs r0, 0x8 - ands r0, r1 - cmp r0, 0 - beq _080BA478 - ldr r0, _080BA470 @ =gTasks - lsls r1, r4, 2 - adds r1, r4 - lsls r1, 3 - adds r1, r0 - ldr r0, _080BA474 @ =sub_80BB25C - str r0, [r1] - b _080BA64C - .align 2, 0 -_080BA470: .4byte gTasks -_080BA474: .4byte sub_80BB25C -_080BA478: - movs r6, 0x1 - movs r5, 0x1 - ands r5, r1 - cmp r5, 0 - beq _080BA538 - ldr r0, _080BA4AC @ =gTasks - lsls r1, r4, 2 - adds r1, r4 - lsls r1, 3 - adds r5, r1, r0 - movs r1, 0x8 - ldrsh r0, [r5, r1] - cmp r0, 0 - beq _080BA4D0 - movs r2, 0x10 - ldrsh r0, [r5, r2] - cmp r0, 0 - beq _080BA4BA - movs r3, 0xC - ldrsh r4, [r5, r3] - cmp r4, 0 - beq _080BA4B0 - ldrh r0, [r5, 0x10] - bl m4aSongNumStop - b _080BA4C4 - .align 2, 0 -_080BA4AC: .4byte gTasks -_080BA4B0: - ldrh r0, [r5, 0x10] - bl m4aSongNumStop - strh r4, [r5, 0x10] - b _080BA64C -_080BA4BA: - movs r4, 0xC - ldrsh r0, [r5, r4] - cmp r0, 0 - bne _080BA4C4 - b _080BA64C -_080BA4C4: - ldrh r0, [r5, 0xC] - bl m4aSongNumStart - ldrh r0, [r5, 0xC] - strh r0, [r5, 0x10] - b _080BA64C -_080BA4D0: - ldrh r1, [r5, 0xE] - movs r2, 0xE - ldrsh r0, [r5, r2] - cmp r0, 0 - beq _080BA514 - movs r3, 0xA - ldrsh r4, [r5, r3] - cmp r4, 0 - beq _080BA500 - ldr r0, _080BA4FC @ =0x0000015d - adds r4, r0, 0 - adds r0, r1, r4 - lsls r0, 16 - lsrs r0, 16 - bl m4aSongNumStop - ldrh r1, [r5, 0xA] - adds r4, r1 - lsls r4, 16 - lsrs r4, 16 - adds r0, r4, 0 - b _080BA528 - .align 2, 0 -_080BA4FC: .4byte 0x0000015d -_080BA500: - ldr r2, _080BA510 @ =0x0000015d - adds r0, r1, r2 - lsls r0, 16 - lsrs r0, 16 - bl m4aSongNumStop - strh r4, [r5, 0xE] - b _080BA64C - .align 2, 0 -_080BA510: .4byte 0x0000015d -_080BA514: - ldrh r1, [r5, 0xA] - movs r3, 0xA - ldrsh r0, [r5, r3] - cmp r0, 0 - bne _080BA520 - b _080BA64C -_080BA520: - ldr r4, _080BA534 @ =0x0000015d - adds r0, r1, r4 - lsls r0, 16 - lsrs r0, 16 -_080BA528: - bl m4aSongNumStart - ldrh r0, [r5, 0xA] - strh r0, [r5, 0xE] - b _080BA64C - .align 2, 0 -_080BA534: .4byte 0x0000015d -_080BA538: - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _080BA570 - movs r0, 0x5 - bl m4aSongNumStart - movs r0, 0x1 - negs r0, r0 - str r5, [sp] - movs r1, 0 - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade - ldr r1, _080BA568 @ =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - ldr r1, _080BA56C @ =sub_80BA68C - str r1, [r0] - b _080BA64C - .align 2, 0 -_080BA568: .4byte gTasks -_080BA56C: .4byte sub_80BA68C -_080BA570: - ldrh r1, [r2, 0x30] - movs r0, 0x40 - ands r0, r1 - cmp r0, 0 - bne _080BA582 - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _080BA59C -_080BA582: - ldr r0, _080BA598 @ =gTasks - lsls r1, r4, 2 - adds r1, r4 - lsls r1, 3 - adds r1, r0 - ldrh r0, [r1, 0x8] - eors r0, r6 - strh r0, [r1, 0x8] -_080BA592: - movs r0, 0x1 - b _080BA64E - .align 2, 0 -_080BA598: .4byte gTasks -_080BA59C: - movs r0, 0x10 - ands r0, r1 - lsls r0, 16 - lsrs r3, r0, 16 - cmp r3, 0 - beq _080BA5EA - ldr r0, _080BA5CC @ =gTasks - lsls r1, r4, 2 - adds r1, r4 - lsls r1, 3 - adds r1, r0 - movs r2, 0x8 - ldrsh r0, [r1, r2] - cmp r0, 0 - beq _080BA5D6 - ldrh r2, [r1, 0xC] - movs r3, 0xC - ldrsh r0, [r1, r3] - cmp r0, 0 - ble _080BA5D0 - subs r0, r2, 0x1 - strh r0, [r1, 0xC] - b _080BA592 - .align 2, 0 -_080BA5CC: .4byte gTasks -_080BA5D0: - movs r0, 0xF7 - strh r0, [r1, 0xC] - b _080BA592 -_080BA5D6: - ldrh r2, [r1, 0xA] - movs r4, 0xA - ldrsh r0, [r1, r4] - cmp r0, 0 - ble _080BA5E4 - subs r0, r2, 0x1 - b _080BA5E6 -_080BA5E4: - movs r0, 0x75 -_080BA5E6: - strh r0, [r1, 0xA] - b _080BA592 -_080BA5EA: - movs r0, 0x20 - ands r0, r1 - cmp r0, 0 - beq _080BA630 - ldr r1, _080BA614 @ =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r1, r0, r1 - movs r0, 0x8 - ldrsh r2, [r1, r0] - cmp r2, 0 - beq _080BA61C - ldrh r2, [r1, 0xC] - movs r4, 0xC - ldrsh r0, [r1, r4] - cmp r0, 0xF6 - bgt _080BA618 - adds r0, r2, 0x1 - strh r0, [r1, 0xC] - b _080BA592 - .align 2, 0 -_080BA614: .4byte gTasks -_080BA618: - strh r3, [r1, 0xC] - b _080BA592 -_080BA61C: - ldrh r3, [r1, 0xA] - movs r4, 0xA - ldrsh r0, [r1, r4] - cmp r0, 0x74 - bgt _080BA62C - adds r0, r3, 0x1 - strh r0, [r1, 0xA] - b _080BA592 -_080BA62C: - strh r2, [r1, 0xA] - b _080BA592 -_080BA630: - ldrh r1, [r2, 0x2C] - movs r0, 0x4 - ands r0, r1 - lsls r0, 16 - lsrs r1, r0, 16 - cmp r1, 0 - beq _080BA648 - ldr r0, _080BA644 @ =gUnknown_020387B0 - strb r6, [r0] - b _080BA64C - .align 2, 0 -_080BA644: .4byte gUnknown_020387B0 -_080BA648: - ldr r0, _080BA658 @ =gUnknown_020387B0 - strb r1, [r0] -_080BA64C: - movs r0, 0 -_080BA64E: - add sp, 0x4 - pop {r4-r6} - pop {r1} - bx r1 - .align 2, 0 -_080BA658: .4byte gUnknown_020387B0 - thumb_func_end sub_80BA400 - - thumb_func_start sub_80BA65C -sub_80BA65C: @ 80BA65C - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - adds r0, r4, 0 - bl sub_80BA400 - lsls r0, 24 - cmp r0, 0 - beq _080BA67C - ldr r0, _080BA684 @ =gTasks - lsls r1, r4, 2 - adds r1, r4 - lsls r1, 3 - adds r1, r0 - ldr r0, _080BA688 @ =sub_80BA384 - str r0, [r1] -_080BA67C: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080BA684: .4byte gTasks -_080BA688: .4byte sub_80BA384 - thumb_func_end sub_80BA65C - - thumb_func_start sub_80BA68C -sub_80BA68C: @ 80BA68C - push {lr} - lsls r0, 24 - lsrs r2, r0, 24 - ldr r0, _080BA6B0 @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _080BA6AA - adds r0, r2, 0 - bl DestroyTask - ldr r0, _080BA6B4 @ =CB2_InitTitleScreen - bl SetMainCallback2 -_080BA6AA: - pop {r0} - bx r0 - .align 2, 0 -_080BA6B0: .4byte gPaletteFade -_080BA6B4: .4byte CB2_InitTitleScreen - thumb_func_end sub_80BA68C - - thumb_func_start sub_80BA6B8 -sub_80BA6B8: @ 80BA6B8 - push {lr} - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0 - beq _080BA6C6 - cmp r0, 0x1 - beq _080BA6E0 -_080BA6C6: - ldr r1, _080BA6D4 @ =REG_WIN1H - ldr r2, _080BA6D8 @ =0x000011df - adds r0, r2, 0 - strh r0, [r1] - adds r1, 0x4 - ldr r2, _080BA6DC @ =0x00002957 - b _080BA6EC - .align 2, 0 -_080BA6D4: .4byte REG_WIN1H -_080BA6D8: .4byte 0x000011df -_080BA6DC: .4byte 0x00002957 -_080BA6E0: - ldr r1, _080BA6F4 @ =REG_WIN1H - ldr r2, _080BA6F8 @ =0x000011df - adds r0, r2, 0 - strh r0, [r1] - adds r1, 0x4 - ldr r2, _080BA6FC @ =0x0000618f -_080BA6EC: - adds r0, r2, 0 - strh r0, [r1] - pop {r0} - bx r0 - .align 2, 0 -_080BA6F4: .4byte REG_WIN1H -_080BA6F8: .4byte 0x000011df -_080BA6FC: .4byte 0x0000618f - thumb_func_end sub_80BA6B8 - - thumb_func_start sub_80BA700 -sub_80BA700: @ 80BA700 - push {r4-r7,lr} - sub sp, 0x8 - lsls r0, 16 - lsrs r5, r0, 16 - lsls r1, 16 - lsrs r6, r1, 16 - lsls r2, 16 - lsrs r7, r2, 16 - movs r1, 0 - movs r2, 0 -_080BA714: - mov r3, sp - adds r0, r3, r1 - strb r2, [r0] - adds r0, r1, 0x1 - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0x2 - bls _080BA714 - mov r1, sp - movs r0, 0xB0 - strb r0, [r1, 0x3] - movs r0, 0xFF - strb r0, [r1, 0x4] - movs r4, 0 - adds r0, r5, 0 - movs r1, 0x64 - bl __udivsi3 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0 - beq _080BA748 - mov r1, sp - adds r0, 0xA1 - strb r0, [r1] - movs r4, 0x1 -_080BA748: - adds r0, r5, 0 - movs r1, 0x64 - bl __umodsi3 - lsls r0, 16 - lsrs r0, 16 - movs r1, 0xA - bl __udivsi3 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0 - bne _080BA766 - cmp r4, 0 - beq _080BA76C -_080BA766: - mov r1, sp - adds r0, 0xA1 - strb r0, [r1, 0x1] -_080BA76C: - mov r4, sp - adds r0, r5, 0 - movs r1, 0x64 - bl __umodsi3 - lsls r0, 16 - lsrs r0, 16 - movs r1, 0xA - bl __umodsi3 - adds r0, 0xA1 - strb r0, [r4, 0x2] - lsls r1, r6, 24 - lsrs r1, 24 - lsls r2, r7, 24 - lsrs r2, 24 - mov r0, sp - bl MenuPrint - add sp, 0x8 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_80BA700 - - thumb_func_start sub_80BA79C -sub_80BA79C: @ 80BA79C - push {r4-r6,lr} - sub sp, 0xC - adds r4, r0, 0 - lsls r1, 16 - lsrs r6, r1, 16 - lsls r2, 16 - lsrs r5, r2, 16 - movs r3, 0 - movs r1, 0 -_080BA7AE: - mov r2, sp - adds r0, r2, r3 - strb r1, [r0] - adds r0, r3, 0x1 - lsls r0, 24 - lsrs r3, r0, 24 - cmp r3, 0xA - bls _080BA7AE - mov r0, sp - movs r1, 0xFF - strb r1, [r0, 0xA] - movs r3, 0 - ldrb r0, [r4] - lsls r2, r6, 24 - lsls r5, 24 - cmp r0, 0xFF - beq _080BA7EC -_080BA7D0: - mov r0, sp - adds r1, r0, r3 - adds r0, r4, r3 - ldrb r0, [r0] - strb r0, [r1] - adds r0, r3, 0x1 - lsls r0, 24 - lsrs r3, r0, 24 - adds r0, r4, r3 - ldrb r0, [r0] - cmp r0, 0xFF - beq _080BA7EC - cmp r3, 0x9 - bls _080BA7D0 -_080BA7EC: - lsrs r1, r2, 24 - lsrs r2, r5, 24 - mov r0, sp - bl MenuPrint - add sp, 0xC - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_80BA79C - - thumb_func_start sub_80BA800 -sub_80BA800: @ 80BA800 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0xCC - lsls r0, 24 - str r0, [sp, 0xB0] - lsrs r2, r0, 24 - str r2, [sp, 0xAC] - ldr r1, _080BA9E8 @ =gUnknown_083D0312 - mov r0, sp - movs r2, 0xA - bl memcpy - mov r0, sp - adds r0, 0xC - str r0, [sp, 0xB4] - ldr r1, _080BA9EC @ =gUnknown_083D031C - movs r2, 0xB - bl memcpy - mov r2, sp - adds r2, 0x18 - str r2, [sp, 0xB8] - ldr r1, _080BA9F0 @ =gDebugText_Voice - adds r0, r2, 0 - movs r2, 0xA - bl memcpy - mov r0, sp - adds r0, 0x24 - str r0, [sp, 0xBC] - ldr r1, _080BA9F4 @ =gDebugText_Volume - movs r2, 0xA - bl memcpy - mov r2, sp - adds r2, 0x30 - str r2, [sp, 0xC0] - ldr r1, _080BA9F8 @ =gDebugText_Panpot - adds r0, r2, 0 - movs r2, 0xA - bl memcpy - mov r0, sp - adds r0, 0x3C - str r0, [sp, 0xC4] - ldr r1, _080BA9FC @ =gDebugText_Pitch - movs r2, 0xA - bl memcpy - mov r2, sp - adds r2, 0x48 - str r2, [sp, 0xC8] - ldr r1, _080BAA00 @ =gDebugText_Length - adds r0, r2, 0 - movs r2, 0xA - bl memcpy - add r4, sp, 0x54 - ldr r1, _080BAA04 @ =gDebugText_Release - adds r0, r4, 0 - movs r2, 0xA - bl memcpy - add r7, sp, 0x60 - ldr r1, _080BAA08 @ =gDebugText_Progress - adds r0, r7, 0 - movs r2, 0xA - bl memcpy - add r0, sp, 0x6C - mov r10, r0 - ldr r1, _080BAA0C @ =gDebugText_Chorus - movs r2, 0xA - bl memcpy - add r2, sp, 0x78 - mov r9, r2 - ldr r1, _080BAA10 @ =gDebugText_Priority - mov r0, r9 - movs r2, 0xA - bl memcpy - add r0, sp, 0x84 - mov r8, r0 - ldr r1, _080BAA14 @ =gUnknown_083D0381 - movs r2, 0x9 - bl memcpy - add r6, sp, 0x90 - ldr r1, _080BAA18 @ =gUnknown_083D038A - adds r0, r6, 0 - movs r2, 0x9 - bl memcpy - add r5, sp, 0x9C - ldr r1, _080BAA1C @ =gUnknown_083D0393 - adds r0, r5, 0 - movs r2, 0x9 - bl memcpy - movs r1, 0x80 - lsls r1, 19 - movs r2, 0xC5 - lsls r2, 6 - adds r0, r2, 0 - strh r0, [r1] - movs r0, 0 - movs r1, 0 - movs r2, 0x1D - movs r3, 0x13 - bl MenuDrawTextWindow - mov r0, sp - movs r1, 0x13 - movs r2, 0x4 - bl MenuPrint - ldr r0, [sp, 0xB4] - movs r1, 0x13 - movs r2, 0x2 - bl MenuPrint - ldr r0, [sp, 0xB8] - movs r1, 0x2 - movs r2, 0x1 - bl MenuPrint - ldr r0, [sp, 0xBC] - movs r1, 0x2 - movs r2, 0x3 - bl MenuPrint - ldr r0, [sp, 0xC0] - movs r1, 0x2 - movs r2, 0x5 - bl MenuPrint - ldr r0, [sp, 0xC4] - movs r1, 0x2 - movs r2, 0x7 - bl MenuPrint - ldr r0, [sp, 0xC8] - movs r1, 0x2 - movs r2, 0x9 - bl MenuPrint - adds r0, r4, 0 - movs r1, 0x2 - movs r2, 0xB - bl MenuPrint - adds r0, r7, 0 - movs r1, 0x2 - movs r2, 0xD - bl MenuPrint - mov r0, r10 - movs r1, 0x2 - movs r2, 0xF - bl MenuPrint - mov r0, r9 - movs r1, 0x2 - movs r2, 0x11 - bl MenuPrint - mov r0, r8 - movs r1, 0x13 - movs r2, 0x10 - bl MenuPrint - adds r0, r6, 0 - movs r1, 0x13 - movs r2, 0xE - bl MenuPrint - adds r0, r5, 0 - movs r1, 0x13 - movs r2, 0xC - bl MenuPrint - ldr r1, _080BAA20 @ =REG_WIN0H - movs r0, 0xF0 - strh r0, [r1] - adds r1, 0x4 - movs r0, 0xA0 - strh r0, [r1] - ldr r0, _080BAA24 @ =gUnknown_020387B3 - movs r1, 0 - strb r1, [r0] - ldr r0, _080BAA28 @ =gUnknown_020387B1 - strb r1, [r0] - ldr r0, _080BAA2C @ =gUnknown_020387B2 - strb r1, [r0] - ldr r0, _080BAA30 @ =gUnknown_03005D30 - movs r2, 0 - str r2, [r0] - ldr r0, _080BAA34 @ =gUnknown_020387D8 - strb r2, [r0] - ldr r1, _080BAA38 @ =gUnknown_020387D9 - movs r0, 0x1 - strb r0, [r1] - ldr r0, _080BAA3C @ =gUnknown_020387B4 - str r2, [r0] - movs r1, 0x78 - str r1, [r0, 0x4] - str r2, [r0, 0x8] - movs r1, 0xF0 - lsls r1, 6 - str r1, [r0, 0xC] - movs r1, 0xB4 - str r1, [r0, 0x10] - str r2, [r0, 0x18] - str r2, [r0, 0x14] - str r2, [r0, 0x1C] - movs r1, 0x2 - str r1, [r0, 0x20] - bl sub_80BAD5C - movs r0, 0 - movs r1, 0 - bl sub_80BAE10 - ldr r1, _080BAA40 @ =gTasks - ldr r2, [sp, 0xAC] - lsls r0, r2, 2 - adds r0, r2 - lsls r0, 3 - adds r0, r1 - ldr r1, _080BAA44 @ =sub_80BAA48 - str r1, [r0] - add sp, 0xCC - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080BA9E8: .4byte gUnknown_083D0312 -_080BA9EC: .4byte gUnknown_083D031C -_080BA9F0: .4byte gDebugText_Voice -_080BA9F4: .4byte gDebugText_Volume -_080BA9F8: .4byte gDebugText_Panpot -_080BA9FC: .4byte gDebugText_Pitch -_080BAA00: .4byte gDebugText_Length -_080BAA04: .4byte gDebugText_Release -_080BAA08: .4byte gDebugText_Progress -_080BAA0C: .4byte gDebugText_Chorus -_080BAA10: .4byte gDebugText_Priority -_080BAA14: .4byte gUnknown_083D0381 -_080BAA18: .4byte gUnknown_083D038A -_080BAA1C: .4byte gUnknown_083D0393 -_080BAA20: .4byte REG_WIN0H -_080BAA24: .4byte gUnknown_020387B3 -_080BAA28: .4byte gUnknown_020387B1 -_080BAA2C: .4byte gUnknown_020387B2 -_080BAA30: .4byte gUnknown_03005D30 -_080BAA34: .4byte gUnknown_020387D8 -_080BAA38: .4byte gUnknown_020387D9 -_080BAA3C: .4byte gUnknown_020387B4 -_080BAA40: .4byte gTasks -_080BAA44: .4byte sub_80BAA48 - thumb_func_end sub_80BA800 - - thumb_func_start sub_80BAA48 -sub_80BAA48: @ 80BAA48 - push {r4,r5,lr} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r1, _080BAA90 @ =gMain - ldrh r2, [r1, 0x2E] - movs r0, 0x2 - ands r0, r2 - cmp r0, 0 - beq _080BAAA8 - movs r1, 0x80 - lsls r1, 19 - ldr r2, _080BAA94 @ =0x00007140 - adds r0, r2, 0 - strh r0, [r1] - adds r1, 0x40 - ldr r2, _080BAA98 @ =0x000011df - adds r0, r2, 0 - strh r0, [r1] - adds r1, 0x4 - ldr r2, _080BAA9C @ =0x0000011f - adds r0, r2, 0 - strh r0, [r1] - movs r0, 0 - movs r1, 0 - movs r2, 0x1D - movs r3, 0x13 - bl MenuZeroFillWindowRect - ldr r1, _080BAAA0 @ =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - ldr r1, _080BAAA4 @ =sub_80BA258 - str r1, [r0] - b _080BACC6 - .align 2, 0 -_080BAA90: .4byte gMain -_080BAA94: .4byte 0x00007140 -_080BAA98: .4byte 0x000011df -_080BAA9C: .4byte 0x0000011f -_080BAAA0: .4byte gTasks -_080BAAA4: .4byte sub_80BA258 -_080BAAA8: - ldrh r1, [r1, 0x30] - movs r0, 0x40 - ands r0, r1 - lsls r0, 16 - lsrs r3, r0, 16 - cmp r3, 0 - beq _080BAAD0 - ldr r1, _080BAACC @ =gUnknown_020387B3 - ldrb r2, [r1] - subs r0, r2, 0x1 - strb r0, [r1] - lsls r0, 24 - cmp r0, 0 - bge _080BAAEA - movs r0, 0x8 - strb r0, [r1] - b _080BAAEA - .align 2, 0 -_080BAACC: .4byte gUnknown_020387B3 -_080BAAD0: - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _080BAAF8 - ldr r1, _080BAAF4 @ =gUnknown_020387B3 - ldrb r2, [r1] - adds r0, r2, 0x1 - strb r0, [r1] - lsls r0, 24 - asrs r0, 24 - cmp r0, 0x8 - ble _080BAAEA - strb r3, [r1] -_080BAAEA: - ldrb r1, [r1] - adds r0, r2, 0 - bl sub_80BAE10 - b _080BACC6 - .align 2, 0 -_080BAAF4: .4byte gUnknown_020387B3 -_080BAAF8: - movs r0, 0x8 - ands r0, r2 - cmp r0, 0 - beq _080BAB14 - ldr r0, _080BAB10 @ =gUnknown_020387D8 - ldrb r1, [r0] - movs r2, 0x1 - eors r1, r2 - strb r1, [r0] - bl sub_80BAD5C - b _080BACC6 - .align 2, 0 -_080BAB10: .4byte gUnknown_020387D8 -_080BAB14: - movs r0, 0x4 - ands r0, r2 - cmp r0, 0 - beq _080BAB38 - ldr r4, _080BAB34 @ =gUnknown_020387D9 - ldrb r0, [r4] - movs r1, 0x1 - eors r0, r1 - strb r0, [r4] - bl sub_80BAD5C - ldrb r0, [r4] - bl SetPokemonCryStereo - b _080BACC6 - .align 2, 0 -_080BAB34: .4byte gUnknown_020387D9 -_080BAB38: - movs r0, 0x80 - lsls r0, 1 - ands r0, r1 - cmp r0, 0 - beq _080BAB46 - movs r0, 0xA - b _080BAB6E -_080BAB46: - movs r0, 0x80 - lsls r0, 2 - ands r0, r1 - cmp r0, 0 - beq _080BAB56 - movs r0, 0xA - negs r0, r0 - b _080BAB6E -_080BAB56: - movs r0, 0x20 - ands r0, r1 - cmp r0, 0 - beq _080BAB64 - movs r0, 0x1 - negs r0, r0 - b _080BAB6E -_080BAB64: - movs r0, 0x10 - ands r0, r1 - cmp r0, 0 - beq _080BAB78 - movs r0, 0x1 -_080BAB6E: - bl sub_80BACDC - bl sub_80BAD5C - b _080BACC6 -_080BAB78: - movs r0, 0x1 - ands r0, r2 - cmp r0, 0 - bne _080BAB82 - b _080BACA2 -_080BAB82: - ldr r4, _080BABE4 @ =gUnknown_020387B4 - ldrb r0, [r4, 0x4] - bl SetPokemonCryVolume - movs r0, 0x8 - ldrsb r0, [r4, r0] - bl SetPokemonCryPanpot - movs r1, 0xC - ldrsh r0, [r4, r1] - bl SetPokemonCryPitch - ldrh r0, [r4, 0x10] - bl SetPokemonCryLength - ldr r0, [r4, 0x18] - bl SetPokemonCryProgress - ldrb r0, [r4, 0x14] - bl SetPokemonCryRelease - movs r0, 0x1C - ldrsb r0, [r4, r0] - bl SetPokemonCryChorus - ldr r0, [r4, 0x20] - lsls r0, 24 - lsrs r0, 24 - bl SetPokemonCryPriority - ldr r4, [r4] - adds r0, r4, 0 - cmp r4, 0 - bge _080BABC8 - adds r0, 0x7F -_080BABC8: - asrs r2, r0, 7 - lsls r0, r2, 7 - subs r0, r4, r0 - lsls r0, 24 - lsrs r1, r0, 24 - lsls r0, r2, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _080BAC1C - cmp r0, 0x1 - bgt _080BABE8 - cmp r0, 0 - beq _080BABF2 - b _080BACA2 - .align 2, 0 -_080BABE4: .4byte gUnknown_020387B4 -_080BABE8: - cmp r0, 0x2 - beq _080BAC48 - cmp r0, 0x3 - beq _080BAC74 - b _080BACA2 -_080BABF2: - ldr r0, _080BAC04 @ =gUnknown_020387D8 - ldrb r0, [r0] - cmp r0, 0 - beq _080BAC0C - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - ldr r1, _080BAC08 @ =voicegroup_84537C0 - b _080BAC98 - .align 2, 0 -_080BAC04: .4byte gUnknown_020387D8 -_080BAC08: .4byte voicegroup_84537C0 -_080BAC0C: - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - ldr r1, _080BAC18 @ =voicegroup_8452590 - b _080BAC98 - .align 2, 0 -_080BAC18: .4byte voicegroup_8452590 -_080BAC1C: - ldr r0, _080BAC30 @ =gUnknown_020387D8 - ldrb r0, [r0] - cmp r0, 0 - beq _080BAC38 - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - ldr r1, _080BAC34 @ =voicegroup_8453DC0 - b _080BAC98 - .align 2, 0 -_080BAC30: .4byte gUnknown_020387D8 -_080BAC34: .4byte voicegroup_8453DC0 -_080BAC38: - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - ldr r1, _080BAC44 @ =voicegroup_8452B90 - b _080BAC98 - .align 2, 0 -_080BAC44: .4byte voicegroup_8452B90 -_080BAC48: - ldr r0, _080BAC5C @ =gUnknown_020387D8 - ldrb r0, [r0] - cmp r0, 0 - beq _080BAC64 - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - ldr r1, _080BAC60 @ =voicegroup_84543C0 - b _080BAC98 - .align 2, 0 -_080BAC5C: .4byte gUnknown_020387D8 -_080BAC60: .4byte voicegroup_84543C0 -_080BAC64: - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - ldr r1, _080BAC70 @ =voicegroup_8453190 - b _080BAC98 - .align 2, 0 -_080BAC70: .4byte voicegroup_8453190 -_080BAC74: - ldr r0, _080BAC88 @ =gUnknown_020387D8 - ldrb r0, [r0] - cmp r0, 0 - beq _080BAC90 - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - ldr r1, _080BAC8C @ =voicegroup_84549C0 - b _080BAC98 - .align 2, 0 -_080BAC88: .4byte gUnknown_020387D8 -_080BAC8C: .4byte voicegroup_84549C0 -_080BAC90: - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - ldr r1, _080BACCC @ =voicegroup_8453790 -_080BAC98: - adds r0, r1 - bl SetPokemonCryTone - ldr r1, _080BACD0 @ =gUnknown_03005D30 - str r0, [r1] -_080BACA2: - ldr r0, _080BACD0 @ =gUnknown_03005D30 - ldr r0, [r0] - cmp r0, 0 - beq _080BACC6 - ldr r5, _080BACD4 @ =gUnknown_020387B1 - bl IsPokemonCryPlaying - strb r0, [r5] - ldr r4, _080BACD8 @ =gUnknown_020387B2 - lsls r0, 24 - lsrs r0, 24 - ldrb r2, [r4] - cmp r0, r2 - beq _080BACC2 - bl sub_80BAD5C -_080BACC2: - ldrb r0, [r5] - strb r0, [r4] -_080BACC6: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080BACCC: .4byte voicegroup_8453790 -_080BACD0: .4byte gUnknown_03005D30 -_080BACD4: .4byte gUnknown_020387B1 -_080BACD8: .4byte gUnknown_020387B2 - thumb_func_end sub_80BAA48 - - thumb_func_start sub_80BACDC -sub_80BACDC: @ 80BACDC - push {r4-r6,lr} - sub sp, 0x40 - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - ldr r1, _080BAD50 @ =gUnknown_083D039C - mov r0, sp - movs r2, 0x40 - bl memcpy - ldr r6, _080BAD54 @ =gUnknown_020387B4 - ldr r5, _080BAD58 @ =gUnknown_020387B3 - movs r1, 0 - ldrsb r1, [r5, r1] - lsls r1, 2 - adds r1, r6 - lsls r4, 24 - asrs r4, 24 - ldr r0, [r1] - adds r0, r4 - str r0, [r1] - movs r2, 0 - ldrsb r2, [r5, r2] - lsls r0, r2, 2 - adds r3, r0, r6 - lsls r0, r2, 1 - adds r0, 0x1 - lsls r0, 2 - add r0, sp - ldr r1, [r3] - ldr r0, [r0] - cmp r1, r0 - ble _080BAD26 - lsls r0, r2, 3 - add r0, sp - ldr r0, [r0] - str r0, [r3] -_080BAD26: - movs r2, 0 - ldrsb r2, [r5, r2] - lsls r0, r2, 2 - adds r3, r0, r6 - lsls r0, r2, 3 - add r0, sp - ldr r1, [r3] - ldr r0, [r0] - cmp r1, r0 - bge _080BAD46 - lsls r0, r2, 1 - adds r0, 0x1 - lsls r0, 2 - add r0, sp - ldr r0, [r0] - str r0, [r3] -_080BAD46: - add sp, 0x40 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080BAD50: .4byte gUnknown_083D039C -_080BAD54: .4byte gUnknown_020387B4 -_080BAD58: .4byte gUnknown_020387B3 - thumb_func_end sub_80BACDC - - thumb_func_start sub_80BAD5C -sub_80BAD5C: @ 80BAD5C - push {r4,lr} - ldr r4, _080BAE00 @ =gUnknown_020387B4 - ldr r0, [r4] - adds r0, 0x1 - movs r1, 0xB - movs r2, 0x1 - movs r3, 0x5 - bl sub_80BAE78 - ldr r0, [r4, 0x4] - movs r1, 0xB - movs r2, 0x3 - movs r3, 0x5 - bl sub_80BAE78 - ldr r0, [r4, 0x8] - movs r1, 0xB - movs r2, 0x5 - movs r3, 0x5 - bl sub_80BAE78 - ldr r0, [r4, 0xC] - movs r1, 0xB - movs r2, 0x7 - movs r3, 0x5 - bl sub_80BAE78 - ldr r0, [r4, 0x10] - movs r1, 0xB - movs r2, 0x9 - movs r3, 0x5 - bl sub_80BAE78 - ldr r0, [r4, 0x14] - movs r1, 0xB - movs r2, 0xB - movs r3, 0x5 - bl sub_80BAE78 - ldr r0, [r4, 0x18] - movs r1, 0xB - movs r2, 0xD - movs r3, 0x5 - bl sub_80BAE78 - ldr r0, [r4, 0x1C] - movs r1, 0xB - movs r2, 0xF - movs r3, 0x5 - bl sub_80BAE78 - ldr r0, [r4, 0x20] - movs r1, 0xB - movs r2, 0x11 - movs r3, 0x5 - bl sub_80BAE78 - ldr r0, _080BAE04 @ =gUnknown_020387B1 - ldrb r0, [r0] - movs r1, 0x1B - movs r2, 0x10 - movs r3, 0x1 - bl sub_80BAE78 - ldr r0, _080BAE08 @ =gUnknown_020387D8 - ldrb r0, [r0] - movs r1, 0x1B - movs r2, 0xE - movs r3, 0x1 - bl sub_80BAE78 - ldr r0, _080BAE0C @ =gUnknown_020387D9 - ldrb r0, [r0] - movs r1, 0x1B - movs r2, 0xC - movs r3, 0x1 - bl sub_80BAE78 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080BAE00: .4byte gUnknown_020387B4 -_080BAE04: .4byte gUnknown_020387B1 -_080BAE08: .4byte gUnknown_020387D8 -_080BAE0C: .4byte gUnknown_020387D9 - thumb_func_end sub_80BAD5C - - thumb_func_start sub_80BAE10 -sub_80BAE10: @ 80BAE10 - push {r4-r6,lr} - mov r6, r8 - push {r6} - sub sp, 0x8 - adds r4, r0, 0 - adds r5, r1, 0 - lsls r4, 24 - lsrs r4, 24 - lsls r5, 24 - lsrs r5, 24 - ldr r1, _080BAE6C @ =gUnknown_083D03DC - mov r0, sp - movs r2, 0x2 - bl memcpy - add r0, sp, 0x4 - mov r8, r0 - ldr r1, _080BAE70 @ =gUnknown_083D03DE - movs r2, 0x2 - bl memcpy - ldr r6, _080BAE74 @ =gUnknown_083D0300 - lsls r4, 1 - adds r0, r4, r6 - ldrb r1, [r0] - adds r4, 0x1 - adds r4, r6 - ldrb r2, [r4] - mov r0, r8 - bl MenuPrint - lsls r5, 1 - adds r0, r5, r6 - ldrb r1, [r0] - adds r5, 0x1 - adds r5, r6 - ldrb r2, [r5] - mov r0, sp - bl MenuPrint - add sp, 0x8 - pop {r3} - mov r8, r3 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080BAE6C: .4byte gUnknown_083D03DC -_080BAE70: .4byte gUnknown_083D03DE -_080BAE74: .4byte gUnknown_083D0300 - thumb_func_end sub_80BAE10 - - thumb_func_start sub_80BAE78 -sub_80BAE78: @ 80BAE78 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x2C - mov r8, r0 - lsls r1, 16 - lsrs r6, r1, 16 - lsls r2, 16 - lsrs r2, 16 - lsls r3, 24 - lsrs r7, r3, 24 - mov r1, sp - ldr r0, _080BAF80 @ =gUnknown_083D03E0 - ldm r0!, {r3-r5} - stm r1!, {r3-r5} - ldm r0!, {r3-r5} - stm r1!, {r3-r5} - movs r5, 0 - add r0, sp, 0x18 - mov r9, r0 - cmp r5, r7 - bgt _080BAEC0 - mov r4, r9 - movs r3, 0 -_080BAEAC: - lsls r0, r5, 24 - asrs r0, 24 - adds r1, r4, r0 - strb r3, [r1] - adds r0, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - asrs r0, 24 - cmp r0, r7 - ble _080BAEAC -_080BAEC0: - adds r0, r7, 0x1 - add r0, r9 - movs r1, 0xFF - strb r1, [r0] - movs r1, 0 - mov r3, r8 - cmp r3, 0 - bge _080BAED6 - negs r3, r3 - mov r8, r3 - movs r1, 0x1 -_080BAED6: - movs r4, 0 - mov r10, r4 - cmp r7, 0x1 - bne _080BAEE2 - movs r5, 0x1 - mov r10, r5 -_080BAEE2: - subs r0, r7, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - lsls r0, r5, 24 - lsls r6, 24 - str r6, [sp, 0x24] - lsls r2, 24 - str r2, [sp, 0x28] - cmp r0, 0 - blt _080BAF62 - str r1, [sp, 0x20] -_080BAEF8: - asrs r6, r0, 24 - lsls r0, r6, 2 - add r0, sp - ldr r1, [r0] - mov r0, r8 - bl __divsi3 - lsls r0, 24 - lsrs r2, r0, 24 - cmp r0, 0 - bne _080BAF1A - mov r0, r10 - cmp r0, 0 - bne _080BAF1A - lsls r4, r5, 24 - cmp r6, 0 - bne _080BAF46 -_080BAF1A: - lsls r4, r5, 24 - ldr r3, [sp, 0x20] - cmp r3, 0 - beq _080BAF34 - mov r5, r10 - cmp r5, 0 - bne _080BAF34 - asrs r0, r4, 24 - subs r0, r7, r0 - subs r0, 0x1 - add r0, r9 - movs r1, 0xAE - strb r1, [r0] -_080BAF34: - asrs r1, r4, 24 - subs r1, r7, r1 - add r1, r9 - lsls r0, r2, 24 - asrs r0, 24 - subs r0, 0x5F - strb r0, [r1] - movs r0, 0x1 - mov r10, r0 -_080BAF46: - asrs r4, 24 - lsls r0, r4, 2 - add r0, sp - ldr r1, [r0] - mov r0, r8 - bl __modsi3 - mov r8, r0 - subs r4, 0x1 - lsls r4, 24 - lsrs r5, r4, 24 - lsls r0, r5, 24 - cmp r0, 0 - bge _080BAEF8 -_080BAF62: - ldr r3, [sp, 0x24] - lsrs r1, r3, 24 - ldr r4, [sp, 0x28] - lsrs r2, r4, 24 - mov r0, r9 - bl MenuPrint - add sp, 0x2C - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080BAF80: .4byte gUnknown_083D03E0 - thumb_func_end sub_80BAE78 - - thumb_func_start sub_80BAF84 -sub_80BAF84: @ 80BAF84 - push {r4-r6,lr} - sub sp, 0x14 - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - ldr r1, _080BB01C @ =gOtherText_SE - mov r0, sp - movs r2, 0x3 - bl memcpy - add r6, sp, 0x4 - ldr r1, _080BB020 @ =gOtherText_Pan - adds r0, r6, 0 - movs r2, 0x4 - bl memcpy - add r5, sp, 0x8 - ldr r1, _080BB024 @ =gUnknown_083D0381 - adds r0, r5, 0 - movs r2, 0x9 - bl memcpy - movs r1, 0x80 - lsls r1, 19 - movs r2, 0xC5 - lsls r2, 6 - adds r0, r2, 0 - strh r0, [r1] - movs r0, 0 - movs r1, 0 - movs r2, 0x1D - movs r3, 0x13 - bl MenuDrawTextWindow - mov r0, sp - movs r1, 0x3 - movs r2, 0x2 - bl MenuPrint - adds r0, r6, 0 - movs r1, 0x3 - movs r2, 0x4 - bl MenuPrint - adds r0, r5, 0 - movs r1, 0x3 - movs r2, 0x8 - bl MenuPrint - ldr r1, _080BB028 @ =REG_WIN0H - movs r0, 0xF0 - strh r0, [r1] - adds r1, 0x4 - movs r0, 0xA0 - strh r0, [r1] - ldr r1, _080BB02C @ =gUnknown_020387B4 - movs r0, 0x1 - str r0, [r1] - movs r0, 0 - str r0, [r1, 0x8] - str r0, [r1, 0x1C] - str r0, [r1, 0x18] - str r0, [r1, 0x14] - bl sub_80BB1D4 - ldr r1, _080BB030 @ =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - ldr r1, _080BB034 @ =sub_80BB038 - str r1, [r0] - add sp, 0x14 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080BB01C: .4byte gOtherText_SE -_080BB020: .4byte gOtherText_Pan -_080BB024: .4byte gUnknown_083D0381 -_080BB028: .4byte REG_WIN0H -_080BB02C: .4byte gUnknown_020387B4 -_080BB030: .4byte gTasks -_080BB034: .4byte sub_80BB038 - thumb_func_end sub_80BAF84 - - thumb_func_start sub_80BB038 -sub_80BB038: @ 80BB038 - push {r4-r7,lr} - lsls r0, 24 - lsrs r5, r0, 24 - bl sub_80BB1D4 - ldr r2, _080BB058 @ =gUnknown_020387B4 - ldr r0, [r2, 0x18] - cmp r0, 0 - beq _080BB0A2 - ldr r0, [r2, 0x14] - cmp r0, 0 - beq _080BB05C - subs r0, 0x1 - str r0, [r2, 0x14] - b _080BB0A2 - .align 2, 0 -_080BB058: .4byte gUnknown_020387B4 -_080BB05C: - ldr r0, _080BB088 @ =gUnknown_083D03F8 - ldr r1, [r2, 0x8] - adds r1, r0 - ldrb r1, [r1] - lsls r1, 24 - asrs r1, 24 - movs r0, 0x80 - negs r0, r0 - cmp r1, r0 - beq _080BB08C - cmp r1, 0x7F - bne _080BB0A2 - ldr r0, [r2, 0x1C] - adds r0, 0x2 - str r0, [r2, 0x1C] - cmp r0, 0x3E - bgt _080BB0A2 - lsls r0, 24 - asrs r0, 24 - bl SE12PanpotControl - b _080BB0A2 - .align 2, 0 -_080BB088: .4byte gUnknown_083D03F8 -_080BB08C: - ldr r0, [r2, 0x1C] - subs r1, r0, 0x2 - str r1, [r2, 0x1C] - movs r0, 0x40 - negs r0, r0 - cmp r1, r0 - ble _080BB0A2 - lsls r0, r1, 24 - asrs r0, 24 - bl SE12PanpotControl -_080BB0A2: - ldr r1, _080BB0EC @ =gMain - ldrh r3, [r1, 0x2E] - movs r0, 0x2 - ands r0, r3 - lsls r0, 16 - lsrs r4, r0, 16 - adds r7, r1, 0 - cmp r4, 0 - beq _080BB104 - movs r1, 0x80 - lsls r1, 19 - ldr r2, _080BB0F0 @ =0x00007140 - adds r0, r2, 0 - strh r0, [r1] - adds r1, 0x40 - ldr r2, _080BB0F4 @ =0x000011df - adds r0, r2, 0 - strh r0, [r1] - adds r1, 0x4 - ldr r2, _080BB0F8 @ =0x0000011f - adds r0, r2, 0 - strh r0, [r1] - movs r0, 0 - movs r1, 0 - movs r2, 0x1D - movs r3, 0x13 - bl MenuZeroFillWindowRect - ldr r1, _080BB0FC @ =gTasks - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r0, r1 - ldr r1, _080BB100 @ =sub_80BA258 - str r1, [r0] - b _080BB1C8 - .align 2, 0 -_080BB0EC: .4byte gMain -_080BB0F0: .4byte 0x00007140 -_080BB0F4: .4byte 0x000011df -_080BB0F8: .4byte 0x0000011f -_080BB0FC: .4byte gTasks -_080BB100: .4byte sub_80BA258 -_080BB104: - movs r6, 0x1 - adds r2, r6, 0 - ands r2, r3 - cmp r2, 0 - beq _080BB15E - ldr r0, _080BB138 @ =gUnknown_083D03F8 - ldr r5, _080BB13C @ =gUnknown_020387B4 - ldr r1, [r5, 0x8] - adds r1, r0 - ldrb r1, [r1] - lsls r1, 24 - asrs r1, 24 - movs r0, 0x80 - negs r0, r0 - cmp r1, r0 - beq _080BB140 - cmp r1, 0x7F - bne _080BB154 - ldrh r0, [r5] - movs r4, 0x40 - negs r4, r4 - adds r1, r4, 0 - bl PlaySE12WithPanning - str r4, [r5, 0x1C] - b _080BB14C - .align 2, 0 -_080BB138: .4byte gUnknown_083D03F8 -_080BB13C: .4byte gUnknown_020387B4 -_080BB140: - ldrh r0, [r5] - movs r1, 0x3F - bl PlaySE12WithPanning - movs r0, 0x3F - str r0, [r5, 0x1C] -_080BB14C: - str r6, [r5, 0x18] - movs r0, 0x1E - str r0, [r5, 0x14] - b _080BB1C8 -_080BB154: - ldrh r0, [r5] - bl PlaySE12WithPanning - str r4, [r5, 0x18] - b _080BB1C8 -_080BB15E: - movs r0, 0x80 - lsls r0, 2 - ands r0, r3 - cmp r0, 0 - beq _080BB176 - ldr r1, _080BB1AC @ =gUnknown_020387B4 - ldr r0, [r1, 0x8] - adds r0, 0x1 - str r0, [r1, 0x8] - cmp r0, 0x4 - ble _080BB176 - str r2, [r1, 0x8] -_080BB176: - ldrh r1, [r7, 0x2E] - movs r0, 0x80 - lsls r0, 1 - ands r0, r1 - cmp r0, 0 - beq _080BB192 - ldr r1, _080BB1AC @ =gUnknown_020387B4 - ldr r0, [r1, 0x8] - subs r0, 0x1 - str r0, [r1, 0x8] - cmp r0, 0 - bge _080BB192 - movs r0, 0x4 - str r0, [r1, 0x8] -_080BB192: - ldrh r1, [r7, 0x30] - movs r0, 0x10 - ands r0, r1 - cmp r0, 0 - beq _080BB1B0 - ldr r1, _080BB1AC @ =gUnknown_020387B4 - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] - cmp r0, 0xF7 - ble _080BB1C8 - movs r0, 0 - b _080BB1C6 - .align 2, 0 -_080BB1AC: .4byte gUnknown_020387B4 -_080BB1B0: - movs r0, 0x20 - ands r0, r1 - cmp r0, 0 - beq _080BB1C8 - ldr r1, _080BB1D0 @ =gUnknown_020387B4 - ldr r0, [r1] - subs r0, 0x1 - str r0, [r1] - cmp r0, 0 - bge _080BB1C8 - movs r0, 0xF7 -_080BB1C6: - str r0, [r1] -_080BB1C8: - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080BB1D0: .4byte gUnknown_020387B4 - thumb_func_end sub_80BB038 - - thumb_func_start sub_80BB1D4 -sub_80BB1D4: @ 80BB1D4 - push {r4,r5,lr} - sub sp, 0x10 - ldr r1, _080BB218 @ =gOtherText_LR - mov r0, sp - movs r2, 0x5 - bl memcpy - add r5, sp, 0x8 - ldr r1, _080BB21C @ =gOtherText_RL - adds r0, r5, 0 - movs r2, 0x5 - bl memcpy - ldr r4, _080BB220 @ =gUnknown_020387B4 - ldr r0, [r4] - movs r1, 0x7 - movs r2, 0x2 - movs r3, 0x3 - bl sub_80BAE78 - ldr r1, _080BB224 @ =gUnknown_083D03F8 - ldr r0, [r4, 0x8] - adds r0, r1 - movs r1, 0 - ldrsb r1, [r0, r1] - movs r0, 0x80 - negs r0, r0 - cmp r1, r0 - beq _080BB228 - cmp r1, 0x7F - bne _080BB234 - mov r0, sp - b _080BB22A - .align 2, 0 -_080BB218: .4byte gOtherText_LR -_080BB21C: .4byte gOtherText_RL -_080BB220: .4byte gUnknown_020387B4 -_080BB224: .4byte gUnknown_083D03F8 -_080BB228: - adds r0, r5, 0 -_080BB22A: - movs r1, 0x7 - movs r2, 0x4 - bl MenuPrint - b _080BB240 -_080BB234: - adds r0, r1, 0 - movs r1, 0x7 - movs r2, 0x4 - movs r3, 0x3 - bl sub_80BAE78 -_080BB240: - bl IsSEPlaying - lsls r0, 24 - lsrs r0, 24 - movs r1, 0xC - movs r2, 0x8 - movs r3, 0x1 - bl sub_80BAE78 - add sp, 0x10 - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_80BB1D4 - - thumb_func_start sub_80BB25C -sub_80BB25C: @ 80BB25C - push {r4-r6,lr} - sub sp, 0x14 - lsls r0, 24 - lsrs r6, r0, 24 - ldr r0, _080BB374 @ =gWindowConfig_81E6C3C - bl SetUpWindowConfig - ldr r0, _080BB378 @ =gWindowConfig_81E6CE4 - bl InitMenuWindow - ldr r1, _080BB37C @ =gUnknown_03005D34 - movs r0, 0x1 - strh r0, [r1] - bl ResetSpriteData - bl FreeAllSpritePalettes - ldr r1, _080BB380 @ =0xffff0000 - ldr r0, [sp, 0x4] - ands r0, r1 - movs r1, 0x80 - lsls r1, 6 - orrs r0, r1 - ldr r1, _080BB384 @ =0xff00ffff - ands r0, r1 - movs r1, 0xE8 - lsls r1, 13 - orrs r0, r1 - ldr r1, _080BB388 @ =0x00ffffff - ands r0, r1 - movs r1, 0xC0 - lsls r1, 20 - orrs r0, r1 - str r0, [sp, 0x4] - ldr r1, _080BB38C @ =0xffff00ff - ldr r0, [sp, 0x8] - ands r0, r1 - movs r1, 0xF0 - lsls r1, 5 - orrs r0, r1 - ldr r1, _080BB390 @ =0xffffff00 - ands r0, r1 - movs r1, 0x4 - orrs r0, r1 - str r0, [sp, 0x8] - movs r1, 0 - ldr r0, _080BB394 @ =gUnknown_03005E98 - strb r1, [r0] - add r4, sp, 0xC -_080BB2BE: - add r0, sp, 0x4 - movs r1, 0x3 - bl sub_8119E3C - lsls r0, 24 - cmp r0, 0 - beq _080BB2BE - ldr r1, _080BB380 @ =0xffff0000 - ldr r0, [sp, 0xC] - ands r0, r1 - ldr r1, _080BB384 @ =0xff00ffff - ands r0, r1 - movs r1, 0xF0 - lsls r1, 12 - orrs r0, r1 - ldr r1, _080BB388 @ =0x00ffffff - ands r0, r1 - movs r1, 0xD0 - lsls r1, 20 - orrs r0, r1 - str r0, [sp, 0xC] - ldr r1, _080BB390 @ =0xffffff00 - ldr r0, [r4, 0x4] - ands r0, r1 - movs r1, 0xC - orrs r0, r1 - ldr r1, _080BB38C @ =0xffff00ff - ands r0, r1 - movs r1, 0xC0 - lsls r1, 4 - orrs r0, r1 - str r0, [r4, 0x4] - movs r1, 0 - ldr r0, _080BB394 @ =gUnknown_03005E98 - strb r1, [r0] - lsls r5, r6, 2 -_080BB306: - adds r0, r4, 0 - movs r1, 0x2 - bl ShowPokedexCryScreen - lsls r0, 24 - cmp r0, 0 - beq _080BB306 - movs r0, 0 - movs r1, 0x10 - movs r2, 0x5 - movs r3, 0x13 - bl MenuDrawTextWindow - bl sub_80BB494 - movs r0, 0x1 - negs r0, r0 - movs r4, 0 - str r4, [sp] - movs r1, 0 - movs r2, 0x10 - movs r3, 0 - bl BeginNormalPaletteFade - ldr r0, _080BB398 @ =REG_BG2HOFS - strh r4, [r0] - adds r0, 0x2 - strh r4, [r0] - ldr r1, _080BB39C @ =REG_BG2CNT - ldr r2, _080BB3A0 @ =0x00000f01 - adds r0, r2, 0 - strh r0, [r1] - adds r1, 0x2 - ldr r2, _080BB3A4 @ =0x00001d03 - adds r0, r2, 0 - strh r0, [r1] - subs r1, 0xE - adds r2, 0x3D - adds r0, r2, 0 - strh r0, [r1] - ldr r0, _080BB3A8 @ =gMPlay_BGM - movs r1, 0x2 - bl m4aMPlayFadeOutTemporarily - ldr r1, _080BB3AC @ =gTasks - adds r0, r5, r6 - lsls r0, 3 - adds r0, r1 - ldr r1, _080BB3B0 @ =sub_80BB3B4 - str r1, [r0] - add sp, 0x14 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080BB374: .4byte gWindowConfig_81E6C3C -_080BB378: .4byte gWindowConfig_81E6CE4 -_080BB37C: .4byte gUnknown_03005D34 -_080BB380: .4byte 0xffff0000 -_080BB384: .4byte 0xff00ffff -_080BB388: .4byte 0x00ffffff -_080BB38C: .4byte 0xffff00ff -_080BB390: .4byte 0xffffff00 -_080BB394: .4byte gUnknown_03005E98 -_080BB398: .4byte REG_BG2HOFS -_080BB39C: .4byte REG_BG2CNT -_080BB3A0: .4byte 0x00000f01 -_080BB3A4: .4byte 0x00001d03 -_080BB3A8: .4byte gMPlay_BGM -_080BB3AC: .4byte gTasks -_080BB3B0: .4byte sub_80BB3B4 - thumb_func_end sub_80BB25C - - thumb_func_start sub_80BB3B4 -sub_80BB3B4: @ 80BB3B4 - push {r4,r5,lr} - lsls r0, 24 - lsrs r5, r0, 24 - movs r0, 0x3 - bl sub_8119F88 - ldr r4, _080BB478 @ =gMain - ldrh r1, [r4, 0x2E] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _080BB3D4 - ldr r0, _080BB47C @ =gUnknown_03005D34 - ldrh r0, [r0] - bl sub_811A050 -_080BB3D4: - ldrh r1, [r4, 0x2E] - movs r0, 0x80 - lsls r0, 1 - ands r0, r1 - cmp r0, 0 - beq _080BB3E4 - bl StopCryAndClearCrySongs -_080BB3E4: - ldrh r1, [r4, 0x30] - movs r0, 0x40 - ands r0, r1 - cmp r0, 0 - beq _080BB408 - ldr r1, _080BB47C @ =gUnknown_03005D34 - ldrh r0, [r1] - subs r0, 0x1 - strh r0, [r1] - lsls r0, 16 - cmp r0, 0 - bne _080BB404 - movs r2, 0xC0 - lsls r2, 1 - adds r0, r2, 0 - strh r0, [r1] -_080BB404: - bl sub_80BB494 -_080BB408: - ldr r0, _080BB478 @ =gMain - ldrh r1, [r0, 0x30] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _080BB42E - ldr r2, _080BB47C @ =gUnknown_03005D34 - ldrh r0, [r2] - adds r0, 0x1 - strh r0, [r2] - lsls r0, 16 - movs r1, 0xC0 - lsls r1, 17 - cmp r0, r1 - bls _080BB42A - movs r0, 0x1 - strh r0, [r2] -_080BB42A: - bl sub_80BB494 -_080BB42E: - ldr r0, _080BB478 @ =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _080BB472 - movs r1, 0x80 - lsls r1, 19 - ldr r2, _080BB480 @ =0x00007140 - adds r0, r2, 0 - strh r0, [r1] - adds r1, 0x40 - ldr r2, _080BB484 @ =0x000011df - adds r0, r2, 0 - strh r0, [r1] - adds r1, 0x4 - ldr r2, _080BB488 @ =0x0000011f - adds r0, r2, 0 - strh r0, [r1] - movs r0, 0 - movs r1, 0 - movs r2, 0x1D - movs r3, 0x13 - bl MenuZeroFillWindowRect - ldr r1, _080BB48C @ =gTasks - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r0, r1 - ldr r1, _080BB490 @ =sub_80BA258 - str r1, [r0] - bl DestroyCryMeterNeedleSprite -_080BB472: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080BB478: .4byte gMain -_080BB47C: .4byte gUnknown_03005D34 -_080BB480: .4byte 0x00007140 -_080BB484: .4byte 0x000011df -_080BB488: .4byte 0x0000011f -_080BB48C: .4byte gTasks -_080BB490: .4byte sub_80BA258 - thumb_func_end sub_80BB3B4 - - thumb_func_start sub_80BB494 -sub_80BB494: @ 80BB494 - push {lr} - ldr r0, _080BB4A8 @ =gUnknown_03005D34 - ldrh r0, [r0] - movs r1, 0x1 - movs r2, 0x11 - movs r3, 0x3 - bl sub_80BAE78 - pop {r0} - bx r0 - .align 2, 0 -_080BB4A8: .4byte gUnknown_03005D34 - thumb_func_end sub_80BB494 - - .align 2, 0 @ Don't pad with nop. |