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/pokeblock.s | 2675 | ||||
-rw-r--r-- | asm/rotating_gate.s | 1085 | ||||
-rw-r--r-- | asm/sound_check_menu.s | 2444 | ||||
-rw-r--r-- | asm/use_pokeblock.s | 2113 |
10 files changed, 44 insertions, 15008 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/pokeblock.s b/asm/pokeblock.s deleted file mode 100644 index 5b6522144..000000000 --- a/asm/pokeblock.s +++ /dev/null @@ -1,2675 +0,0 @@ - .include "constants/gba_constants.inc" - .include "constants/species_constants.inc" - .include "asm/macros.inc" - - .syntax unified - - .text - - thumb_func_start sub_810B674 -sub_810B674: @ 810B674 - push {lr} - bl AnimateSprites - bl BuildOamBuffer - bl RunTasks - bl UpdatePaletteFade - pop {r0} - bx r0 - thumb_func_end sub_810B674 - - thumb_func_start sub_810B68C -sub_810B68C: @ 810B68C - push {lr} - bl LoadOam - bl ProcessSpriteCopyRequests - bl TransferPlttBuffer - ldr r1, _0810B6B0 @ =gBGTilemapBuffers + 0x1000 - ldr r2, _0810B6B4 @ =0x06007800 - ldr r0, _0810B6B8 @ =0x040000d4 - str r1, [r0] - str r2, [r0, 0x4] - ldr r1, _0810B6BC @ =0x80000400 - str r1, [r0, 0x8] - ldr r0, [r0, 0x8] - pop {r0} - bx r0 - .align 2, 0 -_0810B6B0: .4byte gBGTilemapBuffers + 0x1000 -_0810B6B4: .4byte 0x06007800 -_0810B6B8: .4byte 0x040000d4 -_0810B6BC: .4byte 0x80000400 - thumb_func_end sub_810B68C - - thumb_func_start sub_810B6C0 -sub_810B6C0: @ 810B6C0 - push {r4,lr} - sub sp, 0x4 - ldr r0, _0810B6DC @ =gMain - ldr r1, _0810B6E0 @ =0x0000043c - adds r0, r1 - ldrb r0, [r0] - cmp r0, 0x12 - bls _0810B6D2 - b _0810B960 -_0810B6D2: - lsls r0, 2 - ldr r1, _0810B6E4 @ =_0810B6E8 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0810B6DC: .4byte gMain -_0810B6E0: .4byte 0x0000043c -_0810B6E4: .4byte _0810B6E8 - .align 2, 0 -_0810B6E8: - .4byte _0810B734 - .4byte _0810B764 - .4byte _0810B76A - .4byte _0810B78C - .4byte _0810B792 - .4byte _0810B7B4 - .4byte _0810B7C0 - .4byte _0810B7DC - .4byte _0810B7E8 - .4byte _0810B804 - .4byte _0810B810 - .4byte _0810B830 - .4byte _0810B84C - .4byte _0810B86A - .4byte _0810B894 - .4byte _0810B89E - .4byte _0810B8C4 - .4byte _0810B914 - .4byte _0810B934 -_0810B734: - bl sub_80F9438 - bl sub_80F9368 - ldr r1, _0810B754 @ =REG_BG2CNT - ldr r2, _0810B758 @ =0x00000f0a - adds r0, r2, 0 - strh r0, [r1] - adds r1, 0x44 - movs r0, 0 - strh r0, [r1] - ldr r1, _0810B75C @ =gMain - ldr r0, _0810B760 @ =0x0000043c - adds r1, r0 - b _0810B922 - .align 2, 0 -_0810B754: .4byte REG_BG2CNT -_0810B758: .4byte 0x00000f0a -_0810B75C: .4byte gMain -_0810B760: .4byte 0x0000043c -_0810B764: - bl remove_some_task - b _0810B91C -_0810B76A: - bl ResetPaletteFade - ldr r2, _0810B780 @ =gPaletteFade - ldrb r0, [r2, 0x8] - movs r1, 0x80 - orrs r0, r1 - strb r0, [r2, 0x8] - ldr r1, _0810B784 @ =gMain - ldr r0, _0810B788 @ =0x0000043c - adds r1, r0 - b _0810B922 - .align 2, 0 -_0810B780: .4byte gPaletteFade -_0810B784: .4byte gMain -_0810B788: .4byte 0x0000043c -_0810B78C: - bl ResetSpriteData - b _0810B91C -_0810B792: - ldr r0, _0810B7A8 @ =gUnknown_02039244 - ldrb r0, [r0] - cmp r0, 0x2 - beq _0810B79E - bl ResetTasks -_0810B79E: - ldr r1, _0810B7AC @ =gMain - ldr r0, _0810B7B0 @ =0x0000043c - adds r1, r0 - b _0810B922 - .align 2, 0 -_0810B7A8: .4byte gUnknown_02039244 -_0810B7AC: .4byte gMain -_0810B7B0: .4byte 0x0000043c -_0810B7B4: - ldr r0, _0810B7BC @ =gWindowConfig_81E6E34 - bl SetUpWindowConfig - b _0810B91C - .align 2, 0 -_0810B7BC: .4byte gWindowConfig_81E6E34 -_0810B7C0: - ldr r0, _0810B7D0 @ =gWindowConfig_81E6E50 - bl SetUpWindowConfig - ldr r1, _0810B7D4 @ =gMain - ldr r0, _0810B7D8 @ =0x0000043c - adds r1, r0 - b _0810B922 - .align 2, 0 -_0810B7D0: .4byte gWindowConfig_81E6E50 -_0810B7D4: .4byte gMain -_0810B7D8: .4byte 0x0000043c -_0810B7DC: - ldr r0, _0810B7E4 @ =gWindowConfig_81E6E34 - bl MultistepInitMenuWindowBegin - b _0810B91C - .align 2, 0 -_0810B7E4: .4byte gWindowConfig_81E6E34 -_0810B7E8: - bl MultistepInitMenuWindowContinue - cmp r0, 0 - bne _0810B7F2 - b _0810B960 -_0810B7F2: - ldr r1, _0810B7FC @ =gMain - ldr r0, _0810B800 @ =0x0000043c - adds r1, r0 - b _0810B922 - .align 2, 0 -_0810B7FC: .4byte gMain -_0810B800: .4byte 0x0000043c -_0810B804: - ldr r0, _0810B80C @ =gWindowConfig_81E6E50 - bl MultistepInitMenuWindowBegin - b _0810B91C - .align 2, 0 -_0810B80C: .4byte gWindowConfig_81E6E50 -_0810B810: - bl MultistepInitMenuWindowContinue - cmp r0, 0 - bne _0810B81A - b _0810B960 -_0810B81A: - ldr r0, _0810B828 @ =0x02000000 - ldr r1, _0810B82C @ =0x0001ffff - adds r0, r1 - movs r1, 0 - strb r1, [r0] - b _0810B91C - .align 2, 0 -_0810B828: .4byte 0x02000000 -_0810B82C: .4byte 0x0001ffff -_0810B830: - bl sub_810B998 - lsls r0, 24 - cmp r0, 0 - bne _0810B83C - b _0810B960 -_0810B83C: - ldr r1, _0810B844 @ =gMain - ldr r0, _0810B848 @ =0x0000043c - adds r1, r0 - b _0810B922 - .align 2, 0 -_0810B844: .4byte gMain -_0810B848: .4byte 0x0000043c -_0810B84C: - bl sub_80F944C - bl LoadScrollIndicatorPalette - movs r0, 0 - movs r1, 0xB0 - movs r2, 0x8 - bl CreateVerticalScrollIndicators - movs r0, 0x1 - movs r1, 0xB0 - movs r2, 0x98 - bl CreateVerticalScrollIndicators - b _0810B91C -_0810B86A: - movs r0, 0x38 - movs r1, 0x40 - movs r2, 0 - bl sub_810BA50 - ldr r1, _0810B884 @ =0x02000000 - ldr r2, _0810B888 @ =0x0001fffe - adds r1, r2 - strb r0, [r1] - ldr r1, _0810B88C @ =gMain - ldr r0, _0810B890 @ =0x0000043c - adds r1, r0 - b _0810B922 - .align 2, 0 -_0810B884: .4byte 0x02000000 -_0810B888: .4byte 0x0001fffe -_0810B88C: .4byte gMain -_0810B890: .4byte 0x0000043c -_0810B894: - bl sub_810BC98 - bl sub_810BD08 - b _0810B91C -_0810B89E: - bl sub_810BB0C - bl sub_810BB30 - ldr r0, _0810B8B8 @ =gUnknown_02039248 - ldrb r0, [r0, 0x1] - bl sub_810BC84 - ldr r1, _0810B8BC @ =gMain - ldr r0, _0810B8C0 @ =0x0000043c - adds r1, r0 - b _0810B922 - .align 2, 0 -_0810B8B8: .4byte gUnknown_02039248 -_0810B8BC: .4byte gMain -_0810B8C0: .4byte 0x0000043c -_0810B8C4: - ldr r3, _0810B8FC @ =0x04000208 - ldrh r2, [r3] - movs r0, 0 - strh r0, [r3] - ldr r4, _0810B900 @ =0x04000200 - ldrh r0, [r4] - movs r1, 0x1 - orrs r0, r1 - strh r0, [r4] - strh r2, [r3] - ldr r2, _0810B904 @ =REG_DISPSTAT - ldrh r0, [r2] - movs r1, 0x8 - orrs r0, r1 - strh r0, [r2] - ldr r0, _0810B908 @ =sub_810B68C - bl SetVBlankCallback - movs r1, 0x80 - lsls r1, 19 - movs r2, 0xBA - lsls r2, 5 - adds r0, r2, 0 - strh r0, [r1] - ldr r1, _0810B90C @ =gMain - ldr r0, _0810B910 @ =0x0000043c - adds r1, r0 - b _0810B922 - .align 2, 0 -_0810B8FC: .4byte 0x04000208 -_0810B900: .4byte 0x04000200 -_0810B904: .4byte REG_DISPSTAT -_0810B908: .4byte sub_810B68C -_0810B90C: .4byte gMain -_0810B910: .4byte 0x0000043c -_0810B914: - bl sub_8055870 - cmp r0, 0x1 - beq _0810B960 -_0810B91C: - ldr r1, _0810B92C @ =gMain - ldr r2, _0810B930 @ =0x0000043c - adds r1, r2 -_0810B922: - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - b _0810B960 - .align 2, 0 -_0810B92C: .4byte gMain -_0810B930: .4byte 0x0000043c -_0810B934: - movs r0, 0x1 - negs r0, r0 - movs r1, 0 - str r1, [sp] - movs r2, 0x10 - movs r3, 0 - bl BeginNormalPaletteFade - ldr r2, _0810B958 @ =gPaletteFade - ldrb r1, [r2, 0x8] - movs r0, 0x7F - ands r0, r1 - strb r0, [r2, 0x8] - ldr r0, _0810B95C @ =sub_810B674 - bl SetMainCallback2 - movs r0, 0x1 - b _0810B962 - .align 2, 0 -_0810B958: .4byte gPaletteFade -_0810B95C: .4byte sub_810B674 -_0810B960: - movs r0, 0 -_0810B962: - add sp, 0x4 - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_810B6C0 - - thumb_func_start sub_810B96C -sub_810B96C: @ 810B96C - push {lr} -_0810B96E: - bl sub_810B6C0 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _0810B988 - ldr r0, _0810B984 @ =sub_810BF7C - movs r1, 0 - bl CreateTask - b _0810B994 - .align 2, 0 -_0810B984: .4byte sub_810BF7C -_0810B988: - bl sub_80F9344 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _0810B96E -_0810B994: - pop {r0} - bx r0 - thumb_func_end sub_810B96C - - thumb_func_start sub_810B998 -sub_810B998: @ 810B998 - push {lr} - ldr r0, _0810B9B0 @ =0x02000000 - ldr r1, _0810B9B4 @ =0x0001ffff - adds r0, r1 - ldrb r0, [r0] - cmp r0, 0x4 - bhi _0810BA48 - lsls r0, 2 - ldr r1, _0810B9B8 @ =_0810B9BC - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0810B9B0: .4byte 0x02000000 -_0810B9B4: .4byte 0x0001ffff -_0810B9B8: .4byte _0810B9BC - .align 2, 0 -_0810B9BC: - .4byte _0810B9D0 - .4byte _0810B9E4 - .4byte _0810B9F8 - .4byte _0810BA08 - .4byte _0810BA28 -_0810B9D0: - ldr r0, _0810B9DC @ =gMenuPokeblock_Gfx - ldr r1, _0810B9E0 @ =0x06008000 - bl LZDecompressVram - b _0810BA0E - .align 2, 0 -_0810B9DC: .4byte gMenuPokeblock_Gfx -_0810B9E0: .4byte 0x06008000 -_0810B9E4: - ldr r0, _0810B9F0 @ =gMenuPokeblock_Tilemap - ldr r1, _0810B9F4 @ =gBGTilemapBuffers + 0x1000 - bl sub_800D238 - b _0810BA0E - .align 2, 0 -_0810B9F0: .4byte gMenuPokeblock_Tilemap -_0810B9F4: .4byte gBGTilemapBuffers + 0x1000 -_0810B9F8: - ldr r0, _0810BA04 @ =gMenuPokeblock_Pal - movs r1, 0 - movs r2, 0xC0 - bl LoadCompressedPalette - b _0810BA0E - .align 2, 0 -_0810BA04: .4byte gMenuPokeblock_Pal -_0810BA08: - ldr r0, _0810BA1C @ =gUnknown_083F7F74 - bl LoadCompressedObjectPic -_0810BA0E: - ldr r1, _0810BA20 @ =0x02000000 - ldr r0, _0810BA24 @ =0x0001ffff - adds r1, r0 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - b _0810BA48 - .align 2, 0 -_0810BA1C: .4byte gUnknown_083F7F74 -_0810BA20: .4byte 0x02000000 -_0810BA24: .4byte 0x0001ffff -_0810BA28: - ldr r0, _0810BA3C @ =gUnknown_083F7F7C - bl LoadCompressedObjectPalette - ldr r0, _0810BA40 @ =0x02000000 - ldr r1, _0810BA44 @ =0x0001ffff - adds r0, r1 - movs r1, 0 - strb r1, [r0] - movs r0, 0x1 - b _0810BA4A - .align 2, 0 -_0810BA3C: .4byte gUnknown_083F7F7C -_0810BA40: .4byte 0x02000000 -_0810BA44: .4byte 0x0001ffff -_0810BA48: - movs r0, 0 -_0810BA4A: - pop {r1} - bx r1 - thumb_func_end sub_810B998 - - thumb_func_start sub_810BA50 -sub_810BA50: @ 810BA50 - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - adds r3, r2, 0 - lsls r3, 24 - lsrs r3, 24 - ldr r0, _0810BA78 @ =gSpriteTemplate_83F7F84 - lsls r4, 16 - asrs r4, 16 - lsls r5, 16 - asrs r5, 16 - adds r1, r4, 0 - adds r2, r5, 0 - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - pop {r4,r5} - pop {r1} - bx r1 - .align 2, 0 -_0810BA78: .4byte gSpriteTemplate_83F7F84 - thumb_func_end sub_810BA50 - - thumb_func_start sub_810BA7C -sub_810BA7C: @ 810BA7C - push {lr} - ldr r1, _0810BA98 @ =gUnknown_02039244 - strb r0, [r1] - ldrb r2, [r1] - cmp r2, 0x2 - beq _0810BAA8 - cmp r2, 0x3 - beq _0810BAC0 - ldr r1, _0810BA9C @ =gUnknown_03000758 - ldr r0, _0810BAA0 @ =gUnknown_083F7F1C - str r0, [r1] - ldr r1, _0810BAA4 @ =gUnknown_0203924C - movs r0, 0x3 - b _0810BACA - .align 2, 0 -_0810BA98: .4byte gUnknown_02039244 -_0810BA9C: .4byte gUnknown_03000758 -_0810BAA0: .4byte gUnknown_083F7F1C -_0810BAA4: .4byte gUnknown_0203924C -_0810BAA8: - ldr r0, _0810BAB4 @ =gUnknown_03000758 - ldr r1, _0810BAB8 @ =gUnknown_083F7F1F - str r1, [r0] - ldr r0, _0810BABC @ =gUnknown_0203924C - strb r2, [r0] - b _0810BACC - .align 2, 0 -_0810BAB4: .4byte gUnknown_03000758 -_0810BAB8: .4byte gUnknown_083F7F1F -_0810BABC: .4byte gUnknown_0203924C -_0810BAC0: - ldr r1, _0810BAD0 @ =gUnknown_03000758 - ldr r0, _0810BAD4 @ =gUnknown_083F7F21 - str r0, [r1] - ldr r1, _0810BAD8 @ =gUnknown_0203924C - movs r0, 0x2 -_0810BACA: - strb r0, [r1] -_0810BACC: - pop {r0} - bx r0 - .align 2, 0 -_0810BAD0: .4byte gUnknown_03000758 -_0810BAD4: .4byte gUnknown_083F7F21 -_0810BAD8: .4byte gUnknown_0203924C - thumb_func_end sub_810BA7C - - thumb_func_start sub_810BADC -sub_810BADC: @ 810BADC - push {lr} - movs r0, 0x2 - bl sub_810BA7C - ldr r0, _0810BAF0 @ =sub_810B96C - bl SetMainCallback2 - pop {r0} - bx r0 - .align 2, 0 -_0810BAF0: .4byte sub_810B96C - thumb_func_end sub_810BADC - - thumb_func_start sub_810BAF4 -sub_810BAF4: @ 810BAF4 - push {lr} - movs r0, 0x3 - bl sub_810BA7C - ldr r0, _0810BB08 @ =sub_810B96C - bl SetMainCallback2 - pop {r0} - bx r0 - .align 2, 0 -_0810BB08: .4byte sub_810B96C - thumb_func_end sub_810BAF4 - - thumb_func_start sub_810BB0C -sub_810BB0C: @ 810BB0C - push {lr} - ldr r0, _0810BB28 @ =gWindowConfig_81E6E34 - bl BasicInitMenuWindow - ldr r0, _0810BB2C @ =0x00000111 - bl ItemId_GetItem - movs r1, 0x2 - movs r2, 0x1 - movs r3, 0x48 - bl sub_8072BD8 - pop {r0} - bx r0 - .align 2, 0 -_0810BB28: .4byte gWindowConfig_81E6E34 -_0810BB2C: .4byte 0x00000111 - thumb_func_end sub_810BB0C - - thumb_func_start sub_810BB30 -sub_810BB30: @ 810BB30 - push {lr} - ldr r0, _0810BB70 @ =gWindowConfig_81E6E34 - bl BasicInitMenuWindow - ldr r0, _0810BB74 @ =gContestStatsText_Spicy - movs r1, 0x2 - movs r2, 0xD - bl MenuPrint - ldr r0, _0810BB78 @ =gContestStatsText_Dry - movs r1, 0x2 - movs r2, 0xF - bl MenuPrint - ldr r0, _0810BB7C @ =gContestStatsText_Sweet - movs r1, 0x2 - movs r2, 0x11 - bl MenuPrint - ldr r0, _0810BB80 @ =gContestStatsText_Bitter - movs r1, 0x8 - movs r2, 0xD - bl MenuPrint - ldr r0, _0810BB84 @ =gContestStatsText_Sour - movs r1, 0x8 - movs r2, 0xF - bl MenuPrint - pop {r0} - bx r0 - .align 2, 0 -_0810BB70: .4byte gWindowConfig_81E6E34 -_0810BB74: .4byte gContestStatsText_Spicy -_0810BB78: .4byte gContestStatsText_Dry -_0810BB7C: .4byte gContestStatsText_Sweet -_0810BB80: .4byte gContestStatsText_Bitter -_0810BB84: .4byte gContestStatsText_Sour - thumb_func_end sub_810BB30 - - thumb_func_start sub_810BB88 -sub_810BB88: @ 810BB88 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - ldr r0, _0810BBF4 @ =gWindowConfig_81E6E34 - bl BasicInitMenuWindow - mov r6, r8 - adds r0, r6, 0 - adds r0, 0x8 - cmp r6, r0 - bgt _0810BC6C - ldr r0, _0810BBF8 @ =gStringVar1 - mov r9, r0 - ldr r1, _0810BBFC @ =gSaveBlock1 - mov r10, r1 -_0810BBB0: - mov r1, r8 - subs r0, r6, r1 - lsls r0, 25 - lsrs r7, r0, 24 - ldr r0, _0810BC00 @ =gUnknown_02039248 - ldrb r0, [r0, 0x2] - cmp r6, r0 - bne _0810BC08 - mov r0, r9 - ldr r1, _0810BC04 @ =gContestStatsText_StowCase - movs r2, 0x78 - movs r3, 0 - bl sub_8072C74 - movs r2, 0x1 - orrs r2, r7 - mov r0, r9 - movs r1, 0xF - bl MenuPrint - mov r0, r8 - adds r0, 0x8 - cmp r6, r0 - beq _0810BC6C - adds r1, r7, 0x3 - lsls r1, 24 - lsrs r1, 24 - movs r0, 0xF - movs r2, 0x1D - movs r3, 0x12 - bl MenuZeroFillWindowRect - b _0810BC6C - .align 2, 0 -_0810BBF4: .4byte gWindowConfig_81E6E34 -_0810BBF8: .4byte gStringVar1 -_0810BBFC: .4byte gSaveBlock1 -_0810BC00: .4byte gUnknown_02039248 -_0810BC04: .4byte gContestStatsText_StowCase -_0810BC08: - lsls r5, r6, 3 - mov r1, r10 - adds r0, r5, r1 - movs r1, 0xFF - lsls r1, 3 - adds r0, r1 - ldrb r0, [r0] - lsls r0, 2 - ldr r1, _0810BC7C @ =gPokeblockNames - adds r0, r1 - ldr r1, [r0] - mov r0, r9 - movs r2, 0x5E - movs r3, 0 - bl sub_8072C74 - adds r4, r0, 0 - movs r0, 0xFC - strb r0, [r4] - movs r0, 0x14 - strb r0, [r4, 0x1] - movs r0, 0x6 - strb r0, [r4, 0x2] - adds r4, 0x3 - ldr r0, _0810BC80 @ =gSaveBlock1 + 0x7F8 - adds r5, r0 - adds r0, r5, 0 - bl sub_810C9B0 - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - adds r0, r4, 0 - movs r2, 0x1 - movs r3, 0x3 - bl ConvertIntToDecimalStringN - movs r2, 0x1 - orrs r2, r7 - mov r0, r9 - movs r1, 0xF - bl MenuPrint - adds r0, r6, 0x1 - lsls r0, 24 - lsrs r6, r0, 24 - mov r0, r8 - adds r0, 0x8 - cmp r6, r0 - ble _0810BBB0 -_0810BC6C: - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0810BC7C: .4byte gPokeblockNames -_0810BC80: .4byte gSaveBlock1 + 0x7F8 - thumb_func_end sub_810BB88 - - thumb_func_start sub_810BC84 -sub_810BC84: @ 810BC84 - push {lr} - lsls r0, 24 - lsrs r0, 24 - bl sub_810BB88 - movs r0, 0 - bl sub_810BDAC - pop {r0} - bx r0 - thumb_func_end sub_810BC84 - - thumb_func_start sub_810BC98 -sub_810BC98: @ 810BC98 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - movs r2, 0 - ldr r0, _0810BD00 @ =gSaveBlock1 - mov r9, r0 -_0810BCA6: - adds r1, r2, 0x1 - lsls r0, r1, 16 - lsrs r5, r0, 16 - mov r8, r1 - cmp r5, 0x27 - bhi _0810BCE8 - lsls r1, r2, 3 - mov r2, r9 - adds r0, r1, r2 - movs r2, 0xFF - lsls r2, 3 - adds r7, r0, r2 - ldr r0, _0810BD04 @ =gSaveBlock1 + 0x7F8 - mov r12, r0 - adds r6, r1, r0 -_0810BCC4: - ldrb r0, [r7] - cmp r0, 0 - bne _0810BCDE - ldr r3, [r6] - ldr r4, [r6, 0x4] - lsls r2, r5, 3 - add r2, r12 - ldr r0, [r2] - ldr r1, [r2, 0x4] - str r0, [r6] - str r1, [r6, 0x4] - str r3, [r2] - str r4, [r2, 0x4] -_0810BCDE: - adds r0, r5, 0x1 - lsls r0, 16 - lsrs r5, r0, 16 - cmp r5, 0x27 - bls _0810BCC4 -_0810BCE8: - mov r1, r8 - lsls r0, r1, 16 - lsrs r2, r0, 16 - cmp r2, 0x26 - bls _0810BCA6 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0810BD00: .4byte gSaveBlock1 -_0810BD04: .4byte gSaveBlock1 + 0x7F8 - thumb_func_end sub_810BC98 - - thumb_func_start sub_810BD08 -sub_810BD08: @ 810BD08 - push {r4,r5,lr} - ldr r1, _0810BD5C @ =gUnknown_02039248 - movs r0, 0 - strb r0, [r1, 0x2] - movs r2, 0 - ldr r5, _0810BD60 @ =gSaveBlock1 - movs r4, 0xFF - lsls r4, 3 - adds r3, r1, 0 -_0810BD1A: - lsls r0, r2, 3 - adds r0, r5 - adds r0, r4 - ldrb r0, [r0] - cmp r0, 0 - beq _0810BD2C - ldrb r0, [r3, 0x2] - adds r0, 0x1 - strb r0, [r3, 0x2] -_0810BD2C: - adds r0, r2, 0x1 - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0x27 - bls _0810BD1A - ldrb r0, [r1, 0x2] - cmp r0, 0x7 - bls _0810BD3E - movs r0, 0x8 -_0810BD3E: - strb r0, [r1, 0x3] - ldrb r2, [r1, 0x1] - adds r0, r2, 0 - adds r0, 0x8 - ldrb r3, [r1, 0x2] - cmp r0, r3 - ble _0810BD54 - cmp r2, 0 - beq _0810BD54 - subs r0, r2, 0x1 - strb r0, [r1, 0x1] -_0810BD54: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0810BD5C: .4byte gUnknown_02039248 -_0810BD60: .4byte gSaveBlock1 - thumb_func_end sub_810BD08 - - thumb_func_start sub_810BD64 -sub_810BD64: @ 810BD64 - push {r4,r5,lr} - lsls r0, 16 - lsrs r3, r0, 16 - movs r2, 0 - ldr r5, _0810BDA4 @ =gUnknown_02039248 - ldr r4, _0810BDA8 @ =gBGTilemapBuffers + 0x1000 -_0810BD70: - ldrb r0, [r5] - lsls r0, 1 - adds r0, 0x1 - lsls r0, 5 - adds r1, r2, 0 - adds r1, 0xF - adds r0, r1 - lsls r0, 1 - adds r0, r4 - strh r3, [r0] - ldrb r0, [r5] - lsls r0, 6 - adds r0, 0x40 - adds r0, r1 - lsls r0, 1 - adds r0, r4 - strh r3, [r0] - adds r0, r2, 0x1 - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0xD - bls _0810BD70 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0810BDA4: .4byte gUnknown_02039248 -_0810BDA8: .4byte gBGTilemapBuffers + 0x1000 - thumb_func_end sub_810BD64 - - thumb_func_start sub_810BDAC -sub_810BDAC: @ 810BDAC - push {r4-r7,lr} - mov r7, r8 - push {r7} - lsls r0, 24 - cmp r0, 0 - bne _0810BDCC - ldr r0, _0810BDC4 @ =0x00001005 - ldr r1, _0810BDC8 @ =0x00001014 - bl sub_810BD64 - b _0810BDD4 - .align 2, 0 -_0810BDC4: .4byte 0x00001005 -_0810BDC8: .4byte 0x00001014 -_0810BDCC: - ldr r0, _0810BDE8 @ =0x00002005 - ldr r1, _0810BDEC @ =0x00002014 - bl sub_810BD64 -_0810BDD4: - ldr r0, _0810BDF0 @ =gUnknown_02039248 - ldrb r0, [r0, 0x1] - cmp r0, 0 - beq _0810BDF4 - movs r0, 0 - movs r1, 0 - bl sub_80F979C - b _0810BDFC - .align 2, 0 -_0810BDE8: .4byte 0x00002005 -_0810BDEC: .4byte 0x00002014 -_0810BDF0: .4byte gUnknown_02039248 -_0810BDF4: - movs r0, 0 - movs r1, 0x1 - bl sub_80F979C -_0810BDFC: - ldr r2, _0810BE1C @ =gUnknown_02039248 - ldrb r0, [r2, 0x2] - ldrb r1, [r2, 0x3] - cmp r0, r1 - bls _0810BE20 - ldrb r0, [r2, 0x1] - ldrb r1, [r2, 0x3] - adds r0, r1 - ldrb r2, [r2, 0x2] - cmp r0, r2 - beq _0810BE20 - movs r0, 0x1 - movs r1, 0 - bl sub_80F979C - b _0810BE28 - .align 2, 0 -_0810BE1C: .4byte gUnknown_02039248 -_0810BE20: - movs r0, 0x1 - movs r1, 0x1 - bl sub_80F979C -_0810BE28: - movs r6, 0 - ldr r7, _0810BE94 @ =gBGTilemapBuffers + 0x1000 - movs r0, 0xF - mov r8, r0 -_0810BE30: - adds r0, r6, 0 - movs r1, 0x3 - bl __umodsi3 - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 18 - ldr r1, _0810BE98 @ =0x000001a1 - adds r4, r1 - adds r0, r6, 0 - movs r1, 0x3 - bl __udivsi3 - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 1 - adds r1, r0 - lsls r1, 1 - adds r5, r4, r1 - ldr r1, _0810BE9C @ =gUnknown_02039248 - ldrb r2, [r1] - ldrb r0, [r1, 0x1] - adds r0, r2, r0 - ldrb r1, [r1, 0x2] - cmp r0, r1 - beq _0810BEB8 - lsls r0, 3 - ldr r1, _0810BEA0 @ =gSaveBlock1 + 0x7F8 - adds r0, r1 - adds r4, r6, 0x1 - lsls r1, r4, 24 - lsrs r1, 24 - bl sub_810CA9C - lsls r0, 16 - cmp r0, 0 - ble _0810BEA4 - lsls r1, r5, 1 - adds r1, r7 - lsls r2, r6, 12 - adds r0, r2, 0 - adds r0, 0x17 - strh r0, [r1] - adds r0, r5, 0 - adds r0, 0x20 - lsls r0, 1 - adds r0, r7 - adds r2, 0x18 - strh r2, [r0] - b _0810BECC - .align 2, 0 -_0810BE94: .4byte gBGTilemapBuffers + 0x1000 -_0810BE98: .4byte 0x000001a1 -_0810BE9C: .4byte gUnknown_02039248 -_0810BEA0: .4byte gSaveBlock1 + 0x7F8 -_0810BEA4: - lsls r0, r5, 1 - adds r0, r7 - mov r1, r8 - strh r1, [r0] - adds r0, r5, 0 - adds r0, 0x20 - lsls r0, 1 - adds r0, r7 - strh r1, [r0] - b _0810BECC -_0810BEB8: - lsls r0, r5, 1 - adds r0, r7 - mov r1, r8 - strh r1, [r0] - adds r0, r5, 0 - adds r0, 0x20 - lsls r0, 1 - adds r0, r7 - strh r1, [r0] - adds r4, r6, 0x1 -_0810BECC: - lsls r0, r4, 24 - lsrs r6, r0, 24 - cmp r6, 0x4 - bls _0810BE30 - ldr r0, _0810BF10 @ =gWindowConfig_81E6E34 - bl BasicInitMenuWindow - ldr r0, _0810BF14 @ =gUnknown_02039248 - ldrb r2, [r0] - ldrb r1, [r0, 0x1] - adds r2, r1 - ldrb r0, [r0, 0x2] - cmp r2, r0 - beq _0810BF20 - ldr r4, _0810BF18 @ =gStringVar1 - lsls r0, r2, 3 - ldr r1, _0810BF1C @ =gSaveBlock1 + 0x7F8 - adds r0, r1 - bl sub_810C9E8 - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - adds r0, r4, 0 - movs r2, 0x10 - movs r3, 0x1 - bl sub_8072C14 - adds r0, r4, 0 - movs r1, 0xB - movs r2, 0x11 - bl MenuPrint - b _0810BF2C - .align 2, 0 -_0810BF10: .4byte gWindowConfig_81E6E34 -_0810BF14: .4byte gUnknown_02039248 -_0810BF18: .4byte gStringVar1 -_0810BF1C: .4byte gSaveBlock1 + 0x7F8 -_0810BF20: - movs r0, 0xB - movs r1, 0x11 - movs r2, 0xC - movs r3, 0x12 - bl MenuZeroFillWindowRect -_0810BF2C: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_810BDAC - - thumb_func_start sub_810BF38 -sub_810BF38: @ 810BF38 - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - movs r0, 0x5 - bl PlaySE - ldr r2, _0810BF6C @ =gSprites - ldr r0, _0810BF70 @ =0x02000000 - ldr r1, _0810BF74 @ =0x0001fffe - adds r0, r1 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r2, 0x1C - adds r0, r2 - ldr r1, _0810BF78 @ =sub_810C8D4 - str r1, [r0] - adds r0, r4, 0 - bl sub_810BDAC - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0810BF6C: .4byte gSprites -_0810BF70: .4byte 0x02000000 -_0810BF74: .4byte 0x0001fffe -_0810BF78: .4byte sub_810C8D4 - thumb_func_end sub_810BF38 - - thumb_func_start sub_810BF7C -sub_810BF7C: @ 810BF7C - push {r4,r5,lr} - lsls r0, 24 - lsrs r5, r0, 24 - adds r4, r5, 0 - ldr r0, _0810BFB8 @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r3, 0x80 - adds r0, r3, 0 - ands r0, r1 - cmp r0, 0 - beq _0810BF94 - b _0810C0B8 -_0810BF94: - ldr r2, _0810BFBC @ =gMain - ldrh r1, [r2, 0x30] - movs r0, 0x40 - ands r0, r1 - cmp r0, 0 - beq _0810BFCE - ldr r4, _0810BFC0 @ =gUnknown_02039248 - ldrb r0, [r4] - cmp r0, 0 - beq _0810BFC4 - movs r0, 0x5 - movs r1, 0x14 - bl sub_810BD64 - ldrb r0, [r4] - subs r0, 0x1 - strb r0, [r4] - b _0810C00A - .align 2, 0 -_0810BFB8: .4byte gPaletteFade -_0810BFBC: .4byte gMain -_0810BFC0: .4byte gUnknown_02039248 -_0810BFC4: - ldrb r0, [r4, 0x1] - cmp r0, 0 - beq _0810C0B8 - subs r0, 0x1 - b _0810C002 -_0810BFCE: - adds r0, r3, 0 - ands r0, r1 - cmp r0, 0 - beq _0810C012 - ldr r4, _0810BFF0 @ =gUnknown_02039248 - ldrb r0, [r4] - ldrb r1, [r4, 0x3] - cmp r0, r1 - beq _0810BFF4 - movs r0, 0x5 - movs r1, 0x14 - bl sub_810BD64 - ldrb r0, [r4] - adds r0, 0x1 - strb r0, [r4] - b _0810C00A - .align 2, 0 -_0810BFF0: .4byte gUnknown_02039248 -_0810BFF4: - ldrb r1, [r4, 0x1] - ldrb r0, [r4] - adds r0, r1, r0 - ldrb r2, [r4, 0x2] - cmp r0, r2 - beq _0810C0B8 - adds r0, r1, 0x1 -_0810C002: - strb r0, [r4, 0x1] - ldrb r0, [r4, 0x1] - bl sub_810BB88 -_0810C00A: - movs r0, 0 - bl sub_810BF38 - b _0810C0B8 -_0810C012: - ldrh r1, [r2, 0x2E] - movs r0, 0x4 - ands r0, r1 - cmp r0, 0 - beq _0810C05C - ldr r4, _0810C050 @ =gUnknown_02039248 - ldrb r0, [r4, 0x1] - ldrb r1, [r4] - adds r0, r1 - ldrb r1, [r4, 0x2] - cmp r0, r1 - beq _0810C0B8 - movs r0, 0x5 - bl PlaySE - movs r0, 0x1 - bl sub_810BDAC - ldr r1, _0810C054 @ =gTasks - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r0, r1 - ldrb r1, [r4, 0x1] - ldrb r2, [r4] - adds r1, r2 - strh r1, [r0, 0x8] - ldr r1, _0810C058 @ =sub_810C0C8 - str r1, [r0] - b _0810C0B8 - .align 2, 0 -_0810C050: .4byte gUnknown_02039248 -_0810C054: .4byte gTasks -_0810C058: .4byte sub_810C0C8 -_0810C05C: - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _0810C09C - movs r0, 0x5 - bl PlaySE - ldr r0, _0810C088 @ =gUnknown_02039248 - ldrb r1, [r0, 0x1] - ldrb r2, [r0] - adds r1, r2 - ldrb r0, [r0, 0x2] - cmp r1, r0 - bne _0810C094 - ldr r1, _0810C08C @ =gScriptResult - ldr r2, _0810C090 @ =0x0000ffff - adds r0, r2, 0 - strh r0, [r1] - adds r0, r5, 0 - bl sub_810C31C - b _0810C0B8 - .align 2, 0 -_0810C088: .4byte gUnknown_02039248 -_0810C08C: .4byte gScriptResult -_0810C090: .4byte 0x0000ffff -_0810C094: - adds r0, r5, 0 - bl sub_810C368 - b _0810C0B8 -_0810C09C: - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _0810C0B8 - movs r0, 0x5 - bl PlaySE - ldr r1, _0810C0C0 @ =gScriptResult - ldr r2, _0810C0C4 @ =0x0000ffff - adds r0, r2, 0 - strh r0, [r1] - adds r0, r4, 0 - bl sub_810C31C -_0810C0B8: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0810C0C0: .4byte gScriptResult -_0810C0C4: .4byte 0x0000ffff - thumb_func_end sub_810BF7C - - thumb_func_start sub_810C0C8 -sub_810C0C8: @ 810C0C8 - push {r4,r5,lr} - lsls r0, 24 - lsrs r5, r0, 24 - ldr r2, _0810C0F4 @ =gMain - ldrh r1, [r2, 0x30] - movs r0, 0x40 - ands r0, r1 - cmp r0, 0 - beq _0810C110 - ldr r4, _0810C0F8 @ =gUnknown_02039248 - ldrb r0, [r4] - cmp r0, 0 - beq _0810C0FC - movs r0, 0x5 - movs r1, 0x14 - bl sub_810BD64 - ldrb r0, [r4] - subs r0, 0x1 - strb r0, [r4] - b _0810C158 - .align 2, 0 -_0810C0F4: .4byte gMain -_0810C0F8: .4byte gUnknown_02039248 -_0810C0FC: - ldrb r0, [r4, 0x1] - cmp r0, 0 - beq _0810C1BA - adds r0, r5, 0 - movs r1, 0 - bl sub_810C1C8 - ldrb r0, [r4, 0x1] - subs r0, 0x1 - b _0810C150 -_0810C110: - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _0810C168 - ldr r4, _0810C134 @ =gUnknown_02039248 - ldrb r0, [r4] - ldrb r1, [r4, 0x3] - cmp r0, r1 - beq _0810C138 - movs r0, 0x5 - movs r1, 0x14 - bl sub_810BD64 - ldrb r0, [r4] - adds r0, 0x1 - strb r0, [r4] - b _0810C158 - .align 2, 0 -_0810C134: .4byte gUnknown_02039248 -_0810C138: - ldrb r0, [r4, 0x1] - ldrb r1, [r4] - adds r0, r1 - ldrb r1, [r4, 0x2] - cmp r0, r1 - beq _0810C1BA - adds r0, r5, 0 - movs r1, 0 - bl sub_810C1C8 - ldrb r0, [r4, 0x1] - adds r0, 0x1 -_0810C150: - strb r0, [r4, 0x1] - ldrb r0, [r4, 0x1] - bl sub_810BB88 -_0810C158: - movs r0, 0x1 - bl sub_810BF38 - adds r0, r5, 0 - movs r1, 0x1 - bl sub_810C1C8 - b _0810C1BA -_0810C168: - ldrh r1, [r2, 0x2E] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - bne _0810C17A - movs r0, 0x4 - ands r0, r1 - cmp r0, 0 - beq _0810C190 -_0810C17A: - movs r0, 0x5 - bl PlaySE - adds r0, r5, 0 - movs r1, 0 - bl sub_810C1C8 - adds r0, r5, 0 - bl sub_810C23C - b _0810C1AC -_0810C190: - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _0810C1BA - movs r0, 0x5 - bl PlaySE - adds r0, r5, 0 - movs r1, 0 - bl sub_810C1C8 - movs r0, 0 - bl sub_810BDAC -_0810C1AC: - ldr r0, _0810C1C0 @ =gTasks - lsls r1, r5, 2 - adds r1, r5 - lsls r1, 3 - adds r1, r0 - ldr r0, _0810C1C4 @ =sub_810BF7C - str r0, [r1] -_0810C1BA: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0810C1C0: .4byte gTasks -_0810C1C4: .4byte sub_810BF7C - thumb_func_end sub_810C0C8 - - thumb_func_start sub_810C1C8 -sub_810C1C8: @ 810C1C8 - push {r4-r6,lr} - lsls r0, 24 - lsrs r2, r0, 24 - lsls r1, 24 - ldr r6, _0810C22C @ =0x00001005 - cmp r1, 0 - bne _0810C1D8 - movs r6, 0x5 -_0810C1D8: - ldr r1, _0810C230 @ =gTasks - lsls r0, r2, 2 - adds r0, r2 - lsls r0, 3 - adds r0, r1 - ldr r2, _0810C234 @ =gUnknown_02039248 - ldrb r1, [r2, 0x1] - ldrh r0, [r0, 0x8] - subs r0, r1 - lsls r1, r0, 16 - lsrs r0, r1, 16 - cmp r0, 0x8 - bhi _0810C226 - asrs r0, r1, 16 - ldrb r2, [r2] - cmp r0, r2 - beq _0810C226 - movs r2, 0 - lsls r0, 1 - adds r1, r0, 0x1 - lsls r5, r1, 5 - ldr r3, _0810C238 @ =gBGTilemapBuffers + 0x1000 - adds r0, 0x2 - lsls r4, r0, 5 -_0810C208: - adds r0, r2, 0 - adds r0, 0xF - adds r1, r5, r0 - lsls r1, 1 - adds r1, r3 - strh r6, [r1] - adds r0, r4, r0 - lsls r0, 1 - adds r0, r3 - strh r6, [r0] - adds r0, r2, 0x1 - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0xD - bls _0810C208 -_0810C226: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0810C22C: .4byte 0x00001005 -_0810C230: .4byte gTasks -_0810C234: .4byte gUnknown_02039248 -_0810C238: .4byte gBGTilemapBuffers + 0x1000 - thumb_func_end sub_810C1C8 - - thumb_func_start sub_810C23C -sub_810C23C: @ 810C23C - push {r4-r7,lr} - lsls r0, 24 - lsrs r1, r0, 24 - ldr r7, _0810C25C @ =gUnknown_02039248 - ldrb r0, [r7] - ldrb r2, [r7, 0x1] - adds r0, r2 - lsls r0, 24 - lsrs r0, 24 - ldrb r2, [r7, 0x2] - cmp r0, r2 - bne _0810C260 - movs r0, 0 - bl sub_810BDAC - b _0810C2A2 - .align 2, 0 -_0810C25C: .4byte gUnknown_02039248 -_0810C260: - ldr r4, _0810C2A8 @ =gSaveBlock1 - lsls r3, r0, 3 - movs r0, 0xFF - lsls r0, 3 - adds r4, r0 - adds r3, r4 - ldr r5, [r3] - ldr r6, [r3, 0x4] - ldr r0, _0810C2AC @ =gTasks - lsls r2, r1, 2 - adds r2, r1 - lsls r2, 3 - adds r2, r0 - movs r1, 0x8 - ldrsh r0, [r2, r1] - lsls r0, 3 - adds r0, r4 - ldr r1, [r0, 0x4] - ldr r0, [r0] - str r0, [r3] - str r1, [r3, 0x4] - movs r1, 0x8 - ldrsh r0, [r2, r1] - lsls r0, 3 - adds r0, r4 - str r5, [r0] - str r6, [r0, 0x4] - ldrb r0, [r7, 0x1] - bl sub_810BB88 - movs r0, 0 - bl sub_810BDAC -_0810C2A2: - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0810C2A8: .4byte gSaveBlock1 -_0810C2AC: .4byte gTasks - thumb_func_end sub_810C23C - - thumb_func_start sub_810C2B0 -sub_810C2B0: @ 810C2B0 - push {lr} - movs r0, 0 - bl DestroyVerticalScrollIndicator - movs r0, 0x1 - bl DestroyVerticalScrollIndicator - bl BuyMenuFreeMemory - pop {r0} - bx r0 - thumb_func_end sub_810C2B0 - - thumb_func_start sub_810C2C8 -sub_810C2C8: @ 810C2C8 - push {r4,r5,lr} - lsls r0, 24 - lsrs r5, r0, 24 - ldr r0, _0810C308 @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _0810C300 - ldr r4, _0810C30C @ =gUnknown_02039244 - ldrb r0, [r4] - cmp r0, 0x3 - bne _0810C2E8 - ldr r1, _0810C310 @ =gFieldCallback - ldr r0, _0810C314 @ =sub_8080990 - str r0, [r1] -_0810C2E8: - bl sub_810C2B0 - ldr r0, _0810C318 @ =gUnknown_083F7EA8 - ldrb r1, [r4] - lsls r1, 2 - adds r1, r0 - ldr r0, [r1] - bl SetMainCallback2 - adds r0, r5, 0 - bl DestroyTask -_0810C300: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0810C308: .4byte gPaletteFade -_0810C30C: .4byte gUnknown_02039244 -_0810C310: .4byte gFieldCallback -_0810C314: .4byte sub_8080990 -_0810C318: .4byte gUnknown_083F7EA8 - thumb_func_end sub_810C2C8 - - thumb_func_start sub_810C31C -sub_810C31C: @ 810C31C - push {r4,r5,lr} - sub sp, 0x4 - lsls r0, 24 - lsrs r4, r0, 24 - movs r0, 0x1 - negs r0, r0 - movs r5, 0 - str r5, [sp] - movs r1, 0 - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade - ldr r0, _0810C358 @ =gUnknown_02039244 - ldrb r0, [r0] - cmp r0, 0x1 - bls _0810C342 - ldr r0, _0810C35C @ =gScriptItemId - strh r5, [r0] -_0810C342: - ldr r0, _0810C360 @ =gTasks - lsls r1, r4, 2 - adds r1, r4 - lsls r1, 3 - adds r1, r0 - ldr r0, _0810C364 @ =sub_810C2C8 - str r0, [r1] - add sp, 0x4 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0810C358: .4byte gUnknown_02039244 -_0810C35C: .4byte gScriptItemId -_0810C360: .4byte gTasks -_0810C364: .4byte sub_810C2C8 - thumb_func_end sub_810C31C - - thumb_func_start sub_810C368 -sub_810C368: @ 810C368 - push {r4-r6,lr} - sub sp, 0x8 - lsls r0, 24 - lsrs r6, r0, 24 - movs r4, 0 - ldr r0, _0810C3E8 @ =gUnknown_02039244 - ldrb r0, [r0] - cmp r0, 0x1 - bls _0810C37C - movs r4, 0x2 -_0810C37C: - movs r0, 0 - bl sub_80F98A4 - movs r0, 0x1 - bl sub_80F98A4 - ldr r0, _0810C3EC @ =gWindowConfig_81E6E50 - bl BasicInitMenuWindow - adds r1, r4, 0x4 - movs r0, 0x7 - movs r2, 0xD - movs r3, 0xB - bl MenuDrawTextWindow - adds r4, 0x5 - ldr r5, _0810C3F0 @ =gUnknown_0203924C - ldrb r2, [r5] - ldr r3, _0810C3F4 @ =gUnknown_083F7EF4 - ldr r0, _0810C3F8 @ =gUnknown_03000758 - ldr r0, [r0] - str r0, [sp] - movs r0, 0x8 - adds r1, r4, 0 - bl PrintMenuItemsReordered - ldrb r3, [r5] - movs r0, 0 - str r0, [sp] - movs r0, 0x5 - str r0, [sp, 0x4] - movs r0, 0 - movs r1, 0x8 - adds r2, r4, 0 - bl InitMenu - ldr r2, _0810C3FC @ =gScriptItemId - ldr r1, _0810C400 @ =gUnknown_02039248 - ldrb r0, [r1] - ldrb r1, [r1, 0x1] - adds r0, r1 - strh r0, [r2] - ldr r1, _0810C404 @ =gTasks - lsls r0, r6, 2 - adds r0, r6 - lsls r0, 3 - adds r0, r1 - ldr r1, _0810C408 @ =sub_810C40C - str r1, [r0] - add sp, 0x8 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0810C3E8: .4byte gUnknown_02039244 -_0810C3EC: .4byte gWindowConfig_81E6E50 -_0810C3F0: .4byte gUnknown_0203924C -_0810C3F4: .4byte gUnknown_083F7EF4 -_0810C3F8: .4byte gUnknown_03000758 -_0810C3FC: .4byte gScriptItemId -_0810C400: .4byte gUnknown_02039248 -_0810C404: .4byte gTasks -_0810C408: .4byte sub_810C40C - thumb_func_end sub_810C368 - - thumb_func_start sub_810C40C -sub_810C40C: @ 810C40C - push {r4,r5,lr} - lsls r0, 24 - lsrs r5, r0, 24 - adds r4, r5, 0 - ldr r2, _0810C43C @ =gMain - ldrh r1, [r2, 0x30] - movs r0, 0x40 - ands r0, r1 - cmp r0, 0 - beq _0810C440 - bl GetMenuCursorPos - lsls r0, 24 - cmp r0, 0 - beq _0810C4BC - movs r0, 0x5 - bl PlaySE - movs r0, 0x1 - negs r0, r0 - bl MoveMenuCursor - b _0810C4BC - .align 2, 0 -_0810C43C: .4byte gMain -_0810C440: - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _0810C46C - bl GetMenuCursorPos - lsls r0, 24 - lsrs r0, 24 - ldr r1, _0810C468 @ =gUnknown_0203924C - ldrb r1, [r1] - subs r1, 0x1 - cmp r0, r1 - beq _0810C4BC - movs r0, 0x5 - bl PlaySE - movs r0, 0x1 - bl MoveMenuCursor - b _0810C4BC - .align 2, 0 -_0810C468: .4byte gUnknown_0203924C -_0810C46C: - ldrh r1, [r2, 0x2E] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _0810C4A8 - movs r0, 0x5 - bl PlaySE - ldr r4, _0810C4A0 @ =gUnknown_083F7EF4 - bl GetMenuCursorPos - lsls r0, 24 - lsrs r0, 24 - ldr r1, _0810C4A4 @ =gUnknown_03000758 - ldr r1, [r1] - adds r1, r0 - ldrb r0, [r1] - lsls r0, 3 - adds r4, 0x4 - adds r0, r4 - ldr r1, [r0] - adds r0, r5, 0 - bl _call_via_r1 - b _0810C4BC - .align 2, 0 -_0810C4A0: .4byte gUnknown_083F7EF4 -_0810C4A4: .4byte gUnknown_03000758 -_0810C4A8: - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _0810C4BC - movs r0, 0x5 - bl PlaySE - adds r0, r4, 0 - bl sub_810C748 -_0810C4BC: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_810C40C - - thumb_func_start sub_810C4C4 -sub_810C4C4: @ 810C4C4 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r0, _0810C4F8 @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _0810C4F0 - bl sub_810C2B0 - ldr r0, _0810C4FC @ =gScriptItemId - ldrh r0, [r0] - lsls r0, 3 - ldr r1, _0810C500 @ =gSaveBlock1 + 0x7F8 - adds r0, r1 - ldr r1, _0810C504 @ =sub_810B96C - bl sub_8136130 - adds r0, r4, 0 - bl DestroyTask -_0810C4F0: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0810C4F8: .4byte gPaletteFade -_0810C4FC: .4byte gScriptItemId -_0810C500: .4byte gSaveBlock1 + 0x7F8 -_0810C504: .4byte sub_810B96C - thumb_func_end sub_810C4C4 - - thumb_func_start sub_810C508 -sub_810C508: @ 810C508 - push {r4,lr} - sub sp, 0x4 - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - movs r0, 0x1 - negs r0, r0 - movs r1, 0 - str r1, [sp] - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade - ldr r1, _0810C538 @ =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - ldr r1, _0810C53C @ =sub_810C4C4 - str r1, [r0] - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0810C538: .4byte gTasks -_0810C53C: .4byte sub_810C4C4 - thumb_func_end sub_810C508 - - thumb_func_start sub_810C540 -sub_810C540: @ 810C540 - push {r4,r5,lr} - adds r5, r0, 0 - lsls r5, 24 - lsrs r5, 24 - ldr r0, _0810C5A0 @ =gWindowConfig_81E6E50 - bl BasicInitMenuWindow - bl HandleDestroyMenuCursors - movs r0, 0x7 - movs r1, 0x4 - movs r2, 0xD - movs r3, 0xB - bl MenuZeroFillWindowRect - ldr r0, _0810C5A4 @ =gStringVar1 - ldr r4, _0810C5A8 @ =gPokeblockNames - ldr r3, _0810C5AC @ =gSaveBlock1 - ldr r2, _0810C5B0 @ =gUnknown_02039248 - ldrb r1, [r2] - ldrb r2, [r2, 0x1] - adds r1, r2 - lsls r1, 3 - adds r1, r3 - movs r2, 0xFF - lsls r2, 3 - adds r1, r2 - ldrb r1, [r1] - lsls r1, 2 - adds r1, r4 - ldr r1, [r1] - bl StringCopy - ldr r4, _0810C5B4 @ =gStringVar4 - ldr r1, _0810C5B8 @ =gContestStatsText_ThrowAwayPrompt - adds r0, r4, 0 - bl StringExpandPlaceholders - ldr r2, _0810C5BC @ =sub_810C5EC - adds r0, r5, 0 - adds r1, r4, 0 - movs r3, 0 - bl DisplayItemMessageOnField - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0810C5A0: .4byte gWindowConfig_81E6E50 -_0810C5A4: .4byte gStringVar1 -_0810C5A8: .4byte gPokeblockNames -_0810C5AC: .4byte gSaveBlock1 -_0810C5B0: .4byte gUnknown_02039248 -_0810C5B4: .4byte gStringVar4 -_0810C5B8: .4byte gContestStatsText_ThrowAwayPrompt -_0810C5BC: .4byte sub_810C5EC - thumb_func_end sub_810C540 - - thumb_func_start sub_810C5C0 -sub_810C5C0: @ 810C5C0 - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - movs r0, 0x1 - movs r1, 0x1 - bl sub_80F979C - ldr r1, _0810C5E4 @ =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - ldr r1, _0810C5E8 @ =sub_810C540 - str r1, [r0] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0810C5E4: .4byte gTasks -_0810C5E8: .4byte sub_810C540 - thumb_func_end sub_810C5C0 - - thumb_func_start sub_810C5EC -sub_810C5EC: @ 810C5EC - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - movs r0, 0x7 - movs r1, 0x6 - movs r2, 0x1 - bl DisplayYesNoMenu - ldr r1, _0810C60C @ =gUnknown_083F7F24 - adds r0, r4, 0 - bl DoYesNoFuncWithChoice - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0810C60C: .4byte gUnknown_083F7F24 - thumb_func_end sub_810C5EC - - thumb_func_start sub_810C610 -sub_810C610: @ 810C610 - push {r4,r5,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - movs r0, 0x7 - movs r1, 0x6 - movs r2, 0xD - movs r3, 0xB - bl MenuZeroFillWindowRect - ldr r1, _0810C658 @ =gUnknown_02039248 - ldrb r0, [r1, 0x1] - ldrb r1, [r1] - adds r0, r1 - lsls r0, 24 - lsrs r0, 24 - bl sub_810CA6C - ldr r5, _0810C65C @ =gStringVar4 - ldr r1, _0810C660 @ =gContestStatsText_WasThrownAway - adds r0, r5, 0 - bl StringExpandPlaceholders - ldr r2, _0810C664 @ =sub_810C704 - adds r0, r4, 0 - adds r1, r5, 0 - movs r3, 0 - bl DisplayItemMessageOnField - bl sub_810BC98 - bl sub_810BD08 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0810C658: .4byte gUnknown_02039248 -_0810C65C: .4byte gStringVar4 -_0810C660: .4byte gContestStatsText_WasThrownAway -_0810C664: .4byte sub_810C704 - thumb_func_end sub_810C610 - - thumb_func_start sub_810C668 -sub_810C668: @ 810C668 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - movs r0, 0 - bl StartVerticalScrollIndicators - movs r0, 0x1 - bl StartVerticalScrollIndicators - ldr r2, _0810C6CC @ =gUnknown_02039248 - ldrb r0, [r2, 0x2] - ldrb r1, [r2, 0x3] - cmp r0, r1 - bls _0810C698 - ldrb r0, [r2, 0x1] - ldrb r1, [r2, 0x3] - adds r0, r1 - ldrb r2, [r2, 0x2] - cmp r0, r2 - beq _0810C698 - movs r0, 0x1 - movs r1, 0 - bl sub_80F979C -_0810C698: - ldr r0, _0810C6D0 @ =gWindowConfig_81E6E50 - bl BasicInitMenuWindow - movs r0, 0x7 - movs r1, 0x6 - movs r2, 0xD - movs r3, 0xB - bl MenuZeroFillWindowRect - movs r0, 0 - movs r1, 0xE - movs r2, 0x1D - movs r3, 0x13 - bl MenuZeroFillWindowRect - ldr r1, _0810C6D4 @ =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - ldr r1, _0810C6D8 @ =sub_810BF7C - str r1, [r0] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0810C6CC: .4byte gUnknown_02039248 -_0810C6D0: .4byte gWindowConfig_81E6E50 -_0810C6D4: .4byte gTasks -_0810C6D8: .4byte sub_810BF7C - thumb_func_end sub_810C668 - - thumb_func_start sub_810C6DC -sub_810C6DC: @ 810C6DC - push {lr} - lsls r0, 24 - lsrs r2, r0, 24 - ldr r0, _0810C700 @ =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - bne _0810C6F6 - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _0810C6FC -_0810C6F6: - adds r0, r2, 0 - bl sub_810C668 -_0810C6FC: - pop {r0} - bx r0 - .align 2, 0 -_0810C700: .4byte gMain - thumb_func_end sub_810C6DC - - thumb_func_start sub_810C704 -sub_810C704: @ 810C704 - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - ldr r0, _0810C738 @ =gWindowConfig_81E6E34 - bl BasicInitMenuWindow - ldr r0, _0810C73C @ =gUnknown_02039248 - ldrb r0, [r0, 0x1] - bl sub_810BC84 - movs r0, 0x1 - movs r1, 0x1 - bl sub_80F979C - ldr r1, _0810C740 @ =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - ldr r1, _0810C744 @ =sub_810C6DC - str r1, [r0] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0810C738: .4byte gWindowConfig_81E6E34 -_0810C73C: .4byte gUnknown_02039248 -_0810C740: .4byte gTasks -_0810C744: .4byte sub_810C6DC - thumb_func_end sub_810C704 - - thumb_func_start sub_810C748 -sub_810C748: @ 810C748 - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - movs r0, 0 - bl StartVerticalScrollIndicators - movs r0, 0x1 - bl StartVerticalScrollIndicators - bl HandleDestroyMenuCursors - movs r0, 0x7 - movs r1, 0x4 - movs r2, 0xD - movs r3, 0xB - bl MenuZeroFillWindowRect - ldr r1, _0810C780 @ =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - ldr r1, _0810C784 @ =sub_810BF7C - str r1, [r0] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0810C780: .4byte gTasks -_0810C784: .4byte sub_810BF7C - thumb_func_end sub_810C748 - - thumb_func_start sub_810C788 -sub_810C788: @ 810C788 - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x4 - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - ldr r0, _0810C834 @ =gEnemyParty - bl GetNature - lsls r0, 24 - lsrs r0, 24 - ldr r7, _0810C838 @ =gScriptItemId - ldrh r1, [r7] - lsls r1, 3 - ldr r5, _0810C83C @ =gSaveBlock1 + 0x7F8 - adds r1, r5 - bl sub_810CAE4 - adds r4, r0, 0 - lsls r4, 16 - lsrs r4, 16 - ldr r0, _0810C840 @ =gBattleTextBuff1 - ldr r2, _0810C844 @ =gPokeblockNames - ldr r1, _0810C848 @ =0xfffff808 - adds r5, r1 - ldrh r1, [r7] - lsls r1, 3 - adds r1, r5 - movs r6, 0xFF - lsls r6, 3 - adds r1, r6 - ldrb r1, [r1] - lsls r1, 2 - adds r1, r2 - ldr r1, [r1] - bl StringCopy - ldrb r0, [r7] - bl sub_810CA6C - ldrh r0, [r7] - lsls r0, 3 - adds r0, r5 - adds r0, r6 - ldrb r0, [r0] - lsls r0, 8 - strh r0, [r7] - lsls r4, 16 - asrs r4, 16 - cmp r4, 0 - bne _0810C7F4 - adds r0, 0x1 - strh r0, [r7] -_0810C7F4: - cmp r4, 0 - ble _0810C7FE - ldrh r0, [r7] - adds r0, 0x2 - strh r0, [r7] -_0810C7FE: - cmp r4, 0 - bge _0810C808 - ldrh r0, [r7] - adds r0, 0x3 - strh r0, [r7] -_0810C808: - movs r0, 0x1 - negs r0, r0 - movs r1, 0 - str r1, [sp] - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade - ldr r1, _0810C84C @ =gTasks - mov r2, r8 - lsls r0, r2, 2 - add r0, r8 - lsls r0, 3 - adds r0, r1 - ldr r1, _0810C850 @ =sub_810C2C8 - str r1, [r0] - add sp, 0x4 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0810C834: .4byte gEnemyParty -_0810C838: .4byte gScriptItemId -_0810C83C: .4byte gSaveBlock1 + 0x7F8 -_0810C840: .4byte gBattleTextBuff1 -_0810C844: .4byte gPokeblockNames -_0810C848: .4byte 0xfffff808 -_0810C84C: .4byte gTasks -_0810C850: .4byte sub_810C2C8 - thumb_func_end sub_810C788 - - thumb_func_start sub_810C854 -sub_810C854: @ 810C854 - push {r4,r5,lr} - sub sp, 0x4 - adds r5, r0, 0 - lsls r5, 24 - lsrs r5, 24 - ldr r4, _0810C8B8 @ =gScriptItemId - ldrb r0, [r4] - bl SafariZoneActivatePokeblockFeeder - ldr r0, _0810C8BC @ =gStringVar1 - ldr r3, _0810C8C0 @ =gPokeblockNames - ldr r2, _0810C8C4 @ =gSaveBlock1 - ldrh r1, [r4] - lsls r1, 3 - adds r1, r2 - movs r2, 0xFF - lsls r2, 3 - adds r1, r2 - ldrb r1, [r1] - lsls r1, 2 - adds r1, r3 - ldr r1, [r1] - bl StringCopy - ldr r1, _0810C8C8 @ =gScriptResult - ldrh r0, [r4] - strh r0, [r1] - lsls r0, 24 - lsrs r0, 24 - bl sub_810CA6C - movs r0, 0x1 - negs r0, r0 - movs r1, 0 - str r1, [sp] - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade - ldr r1, _0810C8CC @ =gTasks - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r0, r1 - ldr r1, _0810C8D0 @ =sub_810C2C8 - str r1, [r0] - add sp, 0x4 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0810C8B8: .4byte gScriptItemId -_0810C8BC: .4byte gStringVar1 -_0810C8C0: .4byte gPokeblockNames -_0810C8C4: .4byte gSaveBlock1 -_0810C8C8: .4byte gScriptResult -_0810C8CC: .4byte gTasks -_0810C8D0: .4byte sub_810C2C8 - thumb_func_end sub_810C854 - - thumb_func_start sub_810C8D4 -sub_810C8D4: @ 810C8D4 - push {r4,r5,lr} - adds r4, r0, 0 - movs r1, 0x2E - ldrsh r0, [r4, r1] - cmp r0, 0x1 - ble _0810C8E4 - movs r0, 0 - strh r0, [r4, 0x2E] -_0810C8E4: - movs r0, 0x2E - ldrsh r5, [r4, r0] - cmp r5, 0 - beq _0810C8F2 - cmp r5, 0x1 - beq _0810C918 - b _0810C944 -_0810C8F2: - ldrb r1, [r4, 0x1] - movs r0, 0x4 - negs r0, r0 - ands r0, r1 - movs r1, 0x1 - orrs r0, r1 - strb r0, [r4, 0x1] - ldr r0, _0810C914 @ =gSpriteAffineAnimTable_83F7F70 - str r0, [r4, 0x10] - adds r0, r4, 0 - bl InitSpriteAffineAnim - movs r0, 0x1 - strh r0, [r4, 0x2E] - strh r5, [r4, 0x30] - b _0810C944 - .align 2, 0 -_0810C914: .4byte gSpriteAffineAnimTable_83F7F70 -_0810C918: - ldrh r0, [r4, 0x30] - adds r0, 0x1 - movs r2, 0 - strh r0, [r4, 0x30] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0xB - ble _0810C944 - ldrb r1, [r4, 0x1] - movs r0, 0x4 - negs r0, r0 - ands r0, r1 - strb r0, [r4, 0x1] - strh r2, [r4, 0x2E] - strh r2, [r4, 0x30] - ldrb r0, [r4, 0x3] - lsls r0, 26 - lsrs r0, 27 - bl FreeOamMatrix - ldr r0, _0810C94C @ =SpriteCallbackDummy - str r0, [r4, 0x1C] -_0810C944: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0810C94C: .4byte SpriteCallbackDummy - thumb_func_end sub_810C8D4 - - thumb_func_start ClearPokeblock -ClearPokeblock: @ 810C950 - lsls r0, 24 - ldr r1, _0810C988 @ =gSaveBlock1 - lsrs r0, 21 - adds r0, r1 - movs r2, 0xFF - lsls r2, 3 - adds r1, r0, r2 - movs r2, 0 - strb r2, [r1] - ldr r3, _0810C98C @ =0x000007f9 - adds r1, r0, r3 - strb r2, [r1] - adds r3, 0x1 - adds r1, r0, r3 - strb r2, [r1] - adds r3, 0x1 - adds r1, r0, r3 - strb r2, [r1] - adds r3, 0x1 - adds r1, r0, r3 - strb r2, [r1] - adds r3, 0x1 - adds r1, r0, r3 - strb r2, [r1] - ldr r1, _0810C990 @ =0x000007fe - adds r0, r1 - strb r2, [r0] - bx lr - .align 2, 0 -_0810C988: .4byte gSaveBlock1 -_0810C98C: .4byte 0x000007f9 -_0810C990: .4byte 0x000007fe - thumb_func_end ClearPokeblock - - thumb_func_start ClearPokeblocks -ClearPokeblocks: @ 810C994 - push {r4,lr} - movs r4, 0 -_0810C998: - adds r0, r4, 0 - bl ClearPokeblock - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x27 - bls _0810C998 - pop {r4} - pop {r0} - bx r0 - thumb_func_end ClearPokeblocks - - thumb_func_start sub_810C9B0 -sub_810C9B0: @ 810C9B0 - push {r4-r6,lr} - adds r6, r0, 0 - movs r1, 0x1 - bl sub_810CA9C - lsls r0, 24 - lsrs r5, r0, 24 - movs r1, 0x1 -_0810C9C0: - adds r0, r1, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - adds r0, r6, 0 - adds r1, r4, 0 - bl sub_810CA9C - lsls r0, 24 - lsrs r0, 24 - cmp r5, r0 - bcs _0810C9D8 - adds r5, r0, 0 -_0810C9D8: - adds r1, r4, 0 - cmp r1, 0x4 - bls _0810C9C0 - adds r0, r5, 0 - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_810C9B0 - - thumb_func_start sub_810C9E8 -sub_810C9E8: @ 810C9E8 - push {lr} - movs r1, 0x6 - bl sub_810CA9C - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x63 - bls _0810C9FA - movs r0, 0x63 -_0810C9FA: - pop {r1} - bx r1 - thumb_func_end sub_810C9E8 - - thumb_func_start sub_810CA00 -sub_810CA00: @ 810CA00 - push {lr} - movs r1, 0 - ldr r3, _0810CA1C @ =gSaveBlock1 - movs r2, 0xFF - lsls r2, 3 -_0810CA0A: - lsls r0, r1, 3 - adds r0, r3 - adds r0, r2 - ldrb r0, [r0] - cmp r0, 0 - bne _0810CA20 - lsls r0, r1, 24 - asrs r0, 24 - b _0810CA2E - .align 2, 0 -_0810CA1C: .4byte gSaveBlock1 -_0810CA20: - adds r0, r1, 0x1 - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0x27 - bls _0810CA0A - movs r0, 0x1 - negs r0, r0 -_0810CA2E: - pop {r1} - bx r1 - thumb_func_end sub_810CA00 - - thumb_func_start sub_810CA34 -sub_810CA34: @ 810CA34 - push {r4,lr} - adds r4, r0, 0 - bl sub_810CA00 - lsls r0, 24 - asrs r2, r0, 24 - movs r0, 0x1 - negs r0, r0 - cmp r2, r0 - beq _0810CA64 - ldr r0, _0810CA60 @ =gSaveBlock1 - lsls r2, 3 - movs r1, 0xFF - lsls r1, 3 - adds r0, r1 - adds r2, r0 - ldr r0, [r4] - ldr r1, [r4, 0x4] - str r0, [r2] - str r1, [r2, 0x4] - movs r0, 0x1 - b _0810CA66 - .align 2, 0 -_0810CA60: .4byte gSaveBlock1 -_0810CA64: - movs r0, 0 -_0810CA66: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_810CA34 - - thumb_func_start sub_810CA6C -sub_810CA6C: @ 810CA6C - push {lr} - lsls r0, 24 - lsrs r2, r0, 24 - ldr r1, _0810CA90 @ =gSaveBlock1 - lsls r0, r2, 3 - adds r0, r1 - movs r1, 0xFF - lsls r1, 3 - adds r0, r1 - ldrb r0, [r0] - cmp r0, 0 - beq _0810CA94 - adds r0, r2, 0 - bl ClearPokeblock - movs r0, 0x1 - b _0810CA96 - .align 2, 0 -_0810CA90: .4byte gSaveBlock1 -_0810CA94: - movs r0, 0 -_0810CA96: - pop {r1} - bx r1 - thumb_func_end sub_810CA6C - - thumb_func_start sub_810CA9C -sub_810CA9C: @ 810CA9C - push {lr} - lsls r1, 24 - lsrs r1, 24 - adds r2, r1, 0 - cmp r1, 0 - bne _0810CAAC - ldrb r0, [r0] - b _0810CADE -_0810CAAC: - cmp r1, 0x1 - bne _0810CAB4 - ldrb r0, [r0, 0x1] - b _0810CADE -_0810CAB4: - cmp r1, 0x2 - bne _0810CABC - ldrb r0, [r0, 0x2] - b _0810CADE -_0810CABC: - cmp r1, 0x3 - bne _0810CAC4 - ldrb r0, [r0, 0x3] - b _0810CADE -_0810CAC4: - cmp r1, 0x4 - bne _0810CACC - ldrb r0, [r0, 0x4] - b _0810CADE -_0810CACC: - cmp r1, 0x5 - bne _0810CAD4 - ldrb r0, [r0, 0x5] - b _0810CADE -_0810CAD4: - cmp r2, 0x6 - beq _0810CADC - movs r0, 0 - b _0810CADE -_0810CADC: - ldrb r0, [r0, 0x6] -_0810CADE: - pop {r1} - bx r1 - thumb_func_end sub_810CA9C - - thumb_func_start sub_810CAE4 -sub_810CAE4: @ 810CAE4 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - mov r8, r1 - lsls r0, 24 - lsrs r0, 24 - movs r6, 0 - movs r4, 0 - ldr r1, _0810CB40 @ =gUnknown_083F7E28 - mov r9, r1 - lsls r1, r0, 2 - adds r7, r1, r0 -_0810CAFE: - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - mov r0, r8 - adds r1, r5, 0 - bl sub_810CA9C - lsls r0, 16 - asrs r1, r0, 16 - cmp r1, 0 - ble _0810CB2A - adds r0, r7, r4 - add r0, r9 - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - muls r1, r0 - lsls r0, r6, 16 - asrs r0, 16 - adds r0, r1 - lsls r0, 16 - lsrs r6, r0, 16 -_0810CB2A: - adds r4, r5, 0 - cmp r4, 0x4 - bls _0810CAFE - lsls r0, r6, 16 - asrs r0, 16 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_0810CB40: .4byte gUnknown_083F7E28 - thumb_func_end sub_810CAE4 - - thumb_func_start sub_810CB44 -sub_810CB44: @ 810CB44 - push {r4,lr} - adds r4, r1, 0 - movs r1, 0 - bl sub_810CA9C - lsls r0, 24 - ldr r1, _0810CB64 @ =gPokeblockNames - lsrs r0, 22 - adds r0, r1 - ldr r1, [r0] - adds r0, r4, 0 - bl StringCopy - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0810CB64: .4byte gPokeblockNames - thumb_func_end sub_810CB44 - - thumb_func_start sub_810CB68 -sub_810CB68: @ 810CB68 - push {r4-r7,lr} - adds r6, r1, 0 - lsls r0, 24 - lsrs r5, r0, 24 - movs r4, 0 - ldr r7, _0810CB98 @ =gPokeblockNames -_0810CB74: - lsls r1, r4, 3 - ldr r0, _0810CB9C @ =gUnknown_083F7F9C - adds r1, r0 - adds r0, r5, 0 - bl sub_810CAE4 - lsls r0, 16 - cmp r0, 0 - ble _0810CBA0 - adds r0, r4, 0x1 - lsls r0, 2 - adds r0, r7 - ldr r1, [r0] - adds r0, r6, 0 - bl StringCopy - movs r0, 0x1 - b _0810CBAC - .align 2, 0 -_0810CB98: .4byte gPokeblockNames -_0810CB9C: .4byte gUnknown_083F7F9C -_0810CBA0: - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x4 - bls _0810CB74 - movs r0, 0 -_0810CBAC: - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_810CB68 - - .align 2, 0 @ Don't pad with nop. diff --git a/asm/rotating_gate.s b/asm/rotating_gate.s deleted file mode 100644 index a553802e8..000000000 --- a/asm/rotating_gate.s +++ /dev/null @@ -1,1085 +0,0 @@ - .include "constants/gba_constants.inc" - .include "constants/species_constants.inc" - .include "asm/macros.inc" - - .syntax unified - - .text - - thumb_func_start GetCurrentMapRotatingGatePuzzleType -GetCurrentMapRotatingGatePuzzleType: @ 80C799C - push {lr} - ldr r0, _080C79B0 @ =gSaveBlock1 - ldrh r1, [r0, 0x4] - movs r0, 0x86 - lsls r0, 1 - cmp r1, r0 - bne _080C79B4 - movs r0, 0x1 - b _080C79C6 - .align 2, 0 -_080C79B0: .4byte gSaveBlock1 -_080C79B4: - ldr r0, _080C79C0 @ =0x0000081d - cmp r1, r0 - beq _080C79C4 - movs r0, 0 - b _080C79C6 - .align 2, 0 -_080C79C0: .4byte 0x0000081d -_080C79C4: - movs r0, 0x2 -_080C79C6: - pop {r1} - bx r1 - thumb_func_end GetCurrentMapRotatingGatePuzzleType - - thumb_func_start sub_80C79CC -sub_80C79CC: @ 80C79CC - push {r4-r6,lr} - movs r0, 0x80 - lsls r0, 7 - bl GetVarPointer - adds r5, r0, 0 - movs r3, 0 - ldr r4, _080C7A00 @ =gUnknown_02038804 - ldrb r0, [r4] - cmp r3, r0 - bge _080C79F8 - ldr r6, _080C7A04 @ =gUnknown_02038800 -_080C79E4: - adds r2, r5, r3 - ldr r1, [r6] - lsls r0, r3, 3 - adds r0, r1 - ldrb r0, [r0, 0x5] - strb r0, [r2] - adds r3, 0x1 - ldrb r0, [r4] - cmp r3, r0 - blt _080C79E4 -_080C79F8: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080C7A00: .4byte gUnknown_02038804 -_080C7A04: .4byte gUnknown_02038800 - thumb_func_end sub_80C79CC - - thumb_func_start sub_80C7A08 -sub_80C7A08: @ 80C7A08 - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - movs r0, 0x80 - lsls r0, 7 - bl GetVarPointer - adds r0, r4 - ldrb r0, [r0] - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_80C7A08 - - thumb_func_start sub_80C7A24 -sub_80C7A24: @ 80C7A24 - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - lsls r4, 24 - lsrs r4, 24 - lsls r5, 24 - lsrs r5, 24 - movs r0, 0x80 - lsls r0, 7 - bl GetVarPointer - adds r0, r4 - strb r5, [r0] - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_80C7A24 - - thumb_func_start sub_80C7A44 -sub_80C7A44: @ 80C7A44 - push {r4,r5,lr} - adds r4, r1, 0 - lsls r0, 24 - lsrs r5, r0, 24 - adds r0, r5, 0 - bl sub_80C7A08 - lsls r0, 24 - lsrs r1, r0, 24 - cmp r4, 0x1 - bne _080C7A68 - cmp r1, 0 - beq _080C7A64 - subs r0, r1, 0x1 - lsls r0, 24 - b _080C7A72 -_080C7A64: - movs r1, 0x3 - b _080C7A74 -_080C7A68: - adds r1, 0x1 - lsls r1, 24 - movs r0, 0xC0 - lsls r0, 18 - ands r0, r1 -_080C7A72: - lsrs r1, r0, 24 -_080C7A74: - adds r0, r5, 0 - bl sub_80C7A24 - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_80C7A44 - - thumb_func_start sub_80C7A80 -sub_80C7A80: @ 80C7A80 - push {lr} - bl GetCurrentMapRotatingGatePuzzleType - cmp r0, 0x1 - beq _080C7A94 - cmp r0, 0x1 - ble _080C7AC8 - cmp r0, 0x2 - beq _080C7AAC - b _080C7AC8 -_080C7A94: - ldr r1, _080C7AA0 @ =gUnknown_02038800 - ldr r0, _080C7AA4 @ =gUnknown_083D2964 - str r0, [r1] - ldr r1, _080C7AA8 @ =gUnknown_02038804 - movs r0, 0x7 - b _080C7AB6 - .align 2, 0 -_080C7AA0: .4byte gUnknown_02038800 -_080C7AA4: .4byte gUnknown_083D2964 -_080C7AA8: .4byte gUnknown_02038804 -_080C7AAC: - ldr r1, _080C7ACC @ =gUnknown_02038800 - ldr r0, _080C7AD0 @ =gUnknown_083D299C - str r0, [r1] - ldr r1, _080C7AD4 @ =gUnknown_02038804 - movs r0, 0xE -_080C7AB6: - strb r0, [r1] - movs r1, 0 - ldr r3, _080C7AD8 @ =gUnknown_020387F0 - movs r2, 0x40 -_080C7ABE: - adds r0, r1, r3 - strb r2, [r0] - adds r1, 0x1 - cmp r1, 0xD - bls _080C7ABE -_080C7AC8: - pop {r0} - bx r0 - .align 2, 0 -_080C7ACC: .4byte gUnknown_02038800 -_080C7AD0: .4byte gUnknown_083D299C -_080C7AD4: .4byte gUnknown_02038804 -_080C7AD8: .4byte gUnknown_020387F0 - thumb_func_end sub_80C7A80 - - thumb_func_start sub_80C7ADC -sub_80C7ADC: @ 80C7ADC - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x4 - lsls r0, 16 - lsrs r0, 16 - str r0, [sp] - lsls r1, 16 - lsrs r1, 16 - mov r10, r1 - ldr r2, _080C7B9C @ =gSaveBlock1 - ldrh r1, [r2] - subs r0, r1, 0x2 - lsls r0, 16 - lsrs r3, r0, 16 - adds r1, 0x11 - lsls r1, 16 - lsrs r1, 16 - mov r9, r1 - ldrh r1, [r2, 0x2] - subs r0, r1, 0x2 - lsls r0, 16 - lsrs r2, r0, 16 - adds r1, 0xE - lsls r1, 16 - lsrs r1, 16 - mov r8, r1 - movs r5, 0 - ldr r0, _080C7BA0 @ =gUnknown_02038804 - ldrb r0, [r0] - cmp r5, r0 - bcs _080C7B8C - lsls r0, r2, 16 - asrs r7, r0, 16 - lsls r0, r3, 16 - asrs r6, r0, 16 -_080C7B28: - ldr r0, _080C7BA4 @ =gUnknown_02038800 - ldr r0, [r0] - lsls r1, r5, 3 - adds r1, r0 - ldrh r0, [r1] - adds r0, 0x7 - lsls r0, 16 - lsrs r2, r0, 16 - ldrh r0, [r1, 0x2] - adds r0, 0x7 - lsls r0, 16 - asrs r1, r0, 16 - cmp r7, r1 - bgt _080C7B7E - mov r3, r8 - lsls r0, r3, 16 - asrs r0, 16 - cmp r0, r1 - blt _080C7B7E - lsls r0, r2, 16 - asrs r1, r0, 16 - cmp r6, r1 - bgt _080C7B7E - mov r2, r9 - lsls r0, r2, 16 - asrs r0, 16 - cmp r0, r1 - blt _080C7B7E - ldr r0, _080C7BA8 @ =gUnknown_020387F0 - adds r4, r5, r0 - ldrb r0, [r4] - cmp r0, 0x40 - bne _080C7B7E - ldr r3, [sp] - lsls r1, r3, 16 - mov r0, r10 - lsls r2, r0, 16 - adds r0, r5, 0 - asrs r1, 16 - asrs r2, 16 - bl sub_80C7BAC - strb r0, [r4] -_080C7B7E: - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - ldr r0, _080C7BA0 @ =gUnknown_02038804 - ldrb r0, [r0] - cmp r5, r0 - bcc _080C7B28 -_080C7B8C: - add sp, 0x4 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080C7B9C: .4byte gSaveBlock1 -_080C7BA0: .4byte gUnknown_02038804 -_080C7BA4: .4byte gUnknown_02038800 -_080C7BA8: .4byte gUnknown_020387F0 - thumb_func_end sub_80C7ADC - - thumb_func_start sub_80C7BAC -sub_80C7BAC: @ 80C7BAC - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x18 - lsls r0, 24 - lsrs r6, r0, 24 - lsls r1, 16 - lsrs r7, r1, 16 - lsls r2, 16 - lsrs r2, 16 - mov r8, r2 - ldr r0, _080C7BDC @ =gUnknown_02038800 - lsls r1, r6, 3 - ldr r0, [r0] - adds r4, r0, r1 - ldrb r0, [r4, 0x4] - cmp r0, 0 - beq _080C7BD4 - cmp r0, 0x4 - bne _080C7BE4 -_080C7BD4: - mov r1, sp - ldr r0, _080C7BE0 @ =gSpriteTemplate_83D60A4 - b _080C7BE8 - .align 2, 0 -_080C7BDC: .4byte gUnknown_02038800 -_080C7BE0: .4byte gSpriteTemplate_83D60A4 -_080C7BE4: - mov r1, sp - ldr r0, _080C7C7C @ =gSpriteTemplate_83D608C -_080C7BE8: - ldm r0!, {r2,r3,r5} - stm r1!, {r2,r3,r5} - ldm r0!, {r2,r3,r5} - stm r1!, {r2,r3,r5} - mov r2, sp - ldrb r0, [r4, 0x4] - movs r3, 0x98 - lsls r3, 5 - adds r1, r3, 0 - adds r0, r1 - strh r0, [r2] - mov r0, sp - movs r1, 0 - movs r2, 0 - movs r3, 0x94 - bl CreateSprite - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0x40 - beq _080C7C84 - ldrh r0, [r4] - adds r0, 0x7 - ldrh r1, [r4, 0x2] - adds r1, 0x7 - lsls r4, r5, 4 - adds r4, r5 - lsls r4, 2 - ldr r2, _080C7C80 @ =gSprites - adds r4, r2 - strh r6, [r4, 0x2E] - movs r2, 0x3E - adds r2, r4 - mov r12, r2 - ldrb r2, [r2] - movs r3, 0x2 - orrs r2, r3 - mov r3, r12 - strb r2, [r3] - lsls r0, 16 - asrs r0, 16 - lsls r2, r7, 16 - asrs r2, 16 - adds r0, r2 - lsls r0, 16 - asrs r0, 16 - lsls r1, 16 - asrs r1, 16 - mov r3, r8 - lsls r2, r3, 16 - asrs r2, 16 - adds r1, r2 - lsls r1, 16 - asrs r1, 16 - adds r2, r4, 0 - adds r2, 0x20 - adds r3, r4, 0 - adds r3, 0x22 - bl sub_8060388 - adds r0, r4, 0 - bl sub_80C7D14 - adds r0, r6, 0 - bl sub_80C7A08 - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - adds r0, r4, 0 - bl StartSpriteAffineAnim - adds r0, r5, 0 - b _080C7C86 - .align 2, 0 -_080C7C7C: .4byte gSpriteTemplate_83D608C -_080C7C80: .4byte gSprites -_080C7C84: - movs r0, 0x40 -_080C7C86: - add sp, 0x18 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_80C7BAC - - thumb_func_start sub_80C7C94 -sub_80C7C94: @ 80C7C94 - push {r4-r7,lr} - adds r6, r0, 0 - ldrh r0, [r6, 0x30] - lsls r0, 24 - lsrs r5, r0, 24 - ldrh r0, [r6, 0x32] - lsls r0, 24 - lsrs r4, r0, 24 - adds r7, r4, 0 - adds r0, r6, 0 - bl sub_80C7D14 - cmp r5, 0x1 - bne _080C7CDA - adds r0, r4, 0x4 - lsls r0, 24 - lsrs r4, r0, 24 - bl GetPlayerSpeed - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x1 - beq _080C7CCA - adds r0, r4, 0 - adds r0, 0x8 - lsls r0, 24 - lsrs r4, r0, 24 -_080C7CCA: - movs r0, 0x30 - bl PlaySE - adds r0, r6, 0 - adds r1, r4, 0 - bl StartSpriteAffineAnim - b _080C7D08 -_080C7CDA: - cmp r5, 0x2 - bne _080C7D08 - adds r0, r7, 0 - adds r0, 0x8 - lsls r0, 24 - lsrs r4, r0, 24 - bl GetPlayerSpeed - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x1 - beq _080C7CFA - adds r0, r4, 0 - adds r0, 0x8 - lsls r0, 24 - lsrs r4, r0, 24 -_080C7CFA: - movs r0, 0x30 - bl PlaySE - adds r0, r6, 0 - adds r1, r4, 0 - bl StartSpriteAffineAnim -_080C7D08: - movs r0, 0 - strh r0, [r6, 0x30] - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_80C7C94 - - thumb_func_start sub_80C7D14 -sub_80C7D14: @ 80C7D14 - push {r4-r6,lr} - mov r12, r0 - mov r4, r12 - adds r4, 0x3E - ldrb r0, [r4] - movs r5, 0x5 - negs r5, r5 - ands r5, r0 - strb r5, [r4] - mov r0, r12 - ldrh r1, [r0, 0x24] - ldrh r2, [r0, 0x20] - adds r1, r2 - adds r0, 0x28 - movs r2, 0 - ldrsb r2, [r0, r2] - ldr r0, _080C7DA8 @ =gSpriteCoordOffsetX - adds r2, r1 - ldrh r0, [r0] - adds r2, r0 - lsls r2, 16 - mov r3, r12 - ldrh r1, [r3, 0x26] - ldrh r0, [r3, 0x22] - adds r1, r0 - mov r0, r12 - adds r0, 0x29 - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - ldr r3, _080C7DAC @ =gSpriteCoordOffsetY - adds r0, r1 - ldrh r3, [r3] - adds r0, r3 - lsls r0, 16 - movs r3, 0x80 - lsls r3, 15 - adds r1, r2, r3 - lsrs r1, 16 - lsrs r6, r0, 16 - adds r0, r3 - lsrs r3, r0, 16 - asrs r2, 16 - cmp r2, 0xFF - bgt _080C7D7A - lsls r0, r1, 16 - asrs r0, 16 - movs r1, 0x10 - negs r1, r1 - cmp r0, r1 - bge _080C7D82 -_080C7D7A: - movs r1, 0x4 - adds r0, r5, 0 - orrs r0, r1 - strb r0, [r4] -_080C7D82: - lsls r0, r6, 16 - asrs r0, 16 - cmp r0, 0xAF - bgt _080C7D96 - lsls r0, r3, 16 - asrs r0, 16 - movs r1, 0x10 - negs r1, r1 - cmp r0, r1 - bge _080C7DA2 -_080C7D96: - mov r0, r12 - adds r0, 0x3E - ldrb r1, [r0] - movs r2, 0x4 - orrs r1, r2 - strb r1, [r0] -_080C7DA2: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080C7DA8: .4byte gSpriteCoordOffsetX -_080C7DAC: .4byte gSpriteCoordOffsetY - thumb_func_end sub_80C7D14 - - thumb_func_start LoadRotatingGatePics -LoadRotatingGatePics: @ 80C7DB0 - push {lr} - ldr r0, _080C7DBC @ =gRotatingGatesGraphicsTable - bl LoadSpriteSheets - pop {r0} - bx r0 - .align 2, 0 -_080C7DBC: .4byte gRotatingGatesGraphicsTable - thumb_func_end LoadRotatingGatePics - - thumb_func_start sub_80C7DC0 -sub_80C7DC0: @ 80C7DC0 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - ldr r2, _080C7DF4 @ =gSaveBlock1 - ldrh r1, [r2] - subs r0, r1, 0x2 - lsls r0, 16 - lsrs r0, 16 - mov r10, r0 - adds r1, 0x11 - lsls r1, 16 - lsrs r1, 16 - mov r9, r1 - ldrh r1, [r2, 0x2] - subs r0, r1, 0x2 - lsls r0, 16 - lsrs r0, 16 - mov r8, r0 - adds r1, 0xE - lsls r1, 16 - lsrs r7, r1, 16 - movs r6, 0 - b _080C7E66 - .align 2, 0 -_080C7DF4: .4byte gSaveBlock1 -_080C7DF8: - ldr r0, _080C7E7C @ =gUnknown_02038800 - ldr r0, [r0] - lsls r1, r6, 3 - adds r1, r0 - ldrh r0, [r1] - adds r0, 0x7 - lsls r0, 16 - lsrs r2, r0, 16 - ldrh r0, [r1, 0x2] - adds r0, 0x7 - lsls r0, 16 - lsrs r3, r0, 16 - ldr r0, _080C7E80 @ =gUnknown_020387F0 - adds r0, r6, r0 - ldrb r0, [r0] - cmp r0, 0x40 - beq _080C7E64 - lsls r0, r2, 16 - mov r2, r10 - lsls r1, r2, 16 - asrs r2, r0, 16 - cmp r0, r1 - blt _080C7E44 - mov r1, r9 - lsls r0, r1, 16 - asrs r0, 16 - cmp r2, r0 - bgt _080C7E44 - lsls r0, r3, 16 - mov r2, r8 - lsls r1, r2, 16 - asrs r2, r0, 16 - cmp r0, r1 - blt _080C7E44 - lsls r0, r7, 16 - asrs r0, 16 - cmp r2, r0 - ble _080C7E64 -_080C7E44: - ldr r0, _080C7E80 @ =gUnknown_020387F0 - adds r5, r6, r0 - ldrb r0, [r5] - lsls r4, r0, 4 - adds r4, r0 - lsls r4, 2 - ldr r0, _080C7E84 @ =gSprites - adds r4, r0 - adds r0, r4, 0 - bl FreeSpriteOamMatrix - adds r0, r4, 0 - bl DestroySprite - movs r0, 0x40 - strb r0, [r5] -_080C7E64: - adds r6, 0x1 -_080C7E66: - ldr r0, _080C7E88 @ =gUnknown_02038804 - ldrb r0, [r0] - cmp r6, r0 - blt _080C7DF8 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080C7E7C: .4byte gUnknown_02038800 -_080C7E80: .4byte gUnknown_020387F0 -_080C7E84: .4byte gSprites -_080C7E88: .4byte gUnknown_02038804 - thumb_func_end sub_80C7DC0 - - thumb_func_start sub_80C7E8C -sub_80C7E8C: @ 80C7E8C - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0xC - lsls r0, 24 - lsrs r4, r0, 24 - cmp r1, 0x1 - bne _080C7EAC - ldr r0, _080C7EA8 @ =gUnknown_083D611C - mov r10, r0 - b _080C7EB8 - .align 2, 0 -_080C7EA8: .4byte gUnknown_083D611C -_080C7EAC: - cmp r1, 0x2 - beq _080C7EB4 -_080C7EB0: - movs r0, 0 - b _080C7F48 -_080C7EB4: - ldr r1, _080C7F58 @ =gUnknown_083D60FC - mov r10, r1 -_080C7EB8: - adds r0, r4, 0 - bl sub_80C7A08 - lsls r0, 24 - lsrs r0, 24 - str r0, [sp] - ldr r0, _080C7F5C @ =gUnknown_02038800 - ldr r1, [r0] - lsls r0, r4, 3 - adds r0, r1 - ldrb r2, [r0, 0x4] - ldrh r1, [r0] - adds r1, 0x7 - ldrh r0, [r0, 0x2] - adds r0, 0x7 - movs r3, 0 - lsls r2, 3 - str r2, [sp, 0x4] - lsls r1, 16 - asrs r1, 16 - mov r9, r1 - lsls r0, 16 - asrs r0, 16 - mov r8, r0 -_080C7EE8: - movs r6, 0 - ldr r2, [sp] - adds r7, r2, r3 - lsls r0, r3, 1 - adds r5, r7, 0 - ldr r1, [sp, 0x4] - adds r0, r1 - ldr r2, _080C7F60 @ =gUnknown_083D613C - adds r4, r0, r2 -_080C7EFA: - adds r0, r5, 0 - cmp r5, 0 - bge _080C7F02 - adds r0, r7, 0x3 -_080C7F02: - asrs r0, 2 - lsls r0, 2 - subs r0, r5, r0 - lsls r0, 1 - adds r0, r6 - lsls r0, 24 - lsrs r1, r0, 24 - ldrb r0, [r4] - cmp r0, 0 - beq _080C7F38 - lsls r1, 2 - add r1, r10 - movs r0, 0 - ldrsb r0, [r1, r0] - add r0, r9 - ldrb r1, [r1, 0x1] - lsls r1, 24 - asrs r1, 24 - add r1, r8 - str r3, [sp, 0x8] - bl MapGridIsImpassableAt - lsls r0, 24 - lsrs r0, 24 - ldr r3, [sp, 0x8] - cmp r0, 0x1 - beq _080C7EB0 -_080C7F38: - adds r4, 0x1 - adds r6, 0x1 - cmp r6, 0x1 - ble _080C7EFA - adds r3, 0x1 - cmp r3, 0x3 - ble _080C7EE8 - movs r0, 0x1 -_080C7F48: - add sp, 0xC - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_080C7F58: .4byte gUnknown_083D60FC -_080C7F5C: .4byte gUnknown_02038800 -_080C7F60: .4byte gUnknown_083D613C - thumb_func_end sub_80C7E8C - - thumb_func_start sub_80C7F64 -sub_80C7F64: @ 80C7F64 - push {r4-r6,lr} - adds r4, r1, 0 - lsls r0, 24 - lsrs r0, 24 - adds r6, r0, 0 - lsls r4, 24 - lsrs r5, r4, 24 - lsrs r4, 25 - movs r0, 0x1 - ands r5, r0 - adds r0, r6, 0 - bl sub_80C7A08 - subs r4, r0 - adds r1, r4, 0x4 - adds r0, r1, 0 - cmp r1, 0 - bge _080C7F8A - adds r0, r4, 0x7 -_080C7F8A: - asrs r0, 2 - lsls r0, 2 - subs r0, r1, r0 - ldr r1, _080C7FB0 @ =gUnknown_02038800 - ldr r2, [r1] - lsls r1, r6, 3 - adds r1, r2 - ldrb r1, [r1, 0x4] - ldr r2, _080C7FB4 @ =gUnknown_083D613C - lsls r0, 24 - asrs r0, 23 - adds r0, r5 - lsls r1, 3 - adds r0, r1 - adds r0, r2 - ldrb r0, [r0] - pop {r4-r6} - pop {r1} - bx r1 - .align 2, 0 -_080C7FB0: .4byte gUnknown_02038800 -_080C7FB4: .4byte gUnknown_083D613C - thumb_func_end sub_80C7F64 - - thumb_func_start sub_80C7FB8 -sub_80C7FB8: @ 80C7FB8 - push {r4,lr} - lsls r0, 24 - lsrs r3, r0, 24 - ldr r0, _080C7FE4 @ =gUnknown_020387F0 - adds r2, r3, r0 - ldrb r0, [r2] - cmp r0, 0x40 - beq _080C7FDC - lsls r4, r0, 4 - adds r4, r0 - lsls r4, 2 - ldr r0, _080C7FE8 @ =gSprites - adds r4, r0 - strh r1, [r4, 0x30] - adds r0, r3, 0 - bl sub_80C7A08 - strh r0, [r4, 0x32] -_080C7FDC: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080C7FE4: .4byte gUnknown_020387F0 -_080C7FE8: .4byte gSprites - thumb_func_end sub_80C7FB8 - - thumb_func_start sub_80C7FEC -sub_80C7FEC: @ 80C7FEC - push {lr} - lsls r0, 24 - lsrs r0, 24 - adds r3, r0, 0 - lsls r1, 16 - lsrs r1, 16 - lsls r2, 16 - lsrs r2, 16 - cmp r0, 0x2 - bne _080C8008 - ldr r3, _080C8004 @ =gUnknown_083D60BC - b _080C802A - .align 2, 0 -_080C8004: .4byte gUnknown_083D60BC -_080C8008: - cmp r0, 0x1 - bne _080C8014 - ldr r3, _080C8010 @ =gUnknown_083D60CC - b _080C802A - .align 2, 0 -_080C8010: .4byte gUnknown_083D60CC -_080C8014: - cmp r0, 0x3 - bne _080C8020 - ldr r3, _080C801C @ =gUnknown_083D60DC - b _080C802A - .align 2, 0 -_080C801C: .4byte gUnknown_083D60DC -_080C8020: - cmp r3, 0x4 - beq _080C8028 - movs r0, 0xFF - b _080C8038 -_080C8028: - ldr r3, _080C803C @ =gUnknown_083D60EC -_080C802A: - lsls r0, r2, 16 - lsls r1, 16 - asrs r1, 16 - asrs r0, 14 - adds r0, r1 - adds r0, r3, r0 - ldrb r0, [r0] -_080C8038: - pop {r1} - bx r1 - .align 2, 0 -_080C803C: .4byte gUnknown_083D60EC - thumb_func_end sub_80C7FEC - - thumb_func_start sub_80C8040 -sub_80C8040: @ 80C8040 - push {lr} - bl GetCurrentMapRotatingGatePuzzleType - cmp r0, 0 - beq _080C8052 - bl sub_80C7A80 - bl sub_80C79CC -_080C8052: - pop {r0} - bx r0 - thumb_func_end sub_80C8040 - - thumb_func_start RotatingGatePuzzleCameraUpdate -RotatingGatePuzzleCameraUpdate: @ 80C8058 - push {r4,r5,lr} - lsls r0, 16 - lsrs r4, r0, 16 - lsls r1, 16 - lsrs r5, r1, 16 - bl GetCurrentMapRotatingGatePuzzleType - cmp r0, 0 - beq _080C807A - lsls r0, r4, 16 - asrs r0, 16 - lsls r1, r5, 16 - asrs r1, 16 - bl sub_80C7ADC - bl sub_80C7DC0 -_080C807A: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end RotatingGatePuzzleCameraUpdate - - thumb_func_start sub_80C8080 -sub_80C8080: @ 80C8080 - push {lr} - bl GetCurrentMapRotatingGatePuzzleType - cmp r0, 0 - beq _080C809A - bl LoadRotatingGatePics - bl sub_80C7A80 - movs r0, 0 - movs r1, 0 - bl sub_80C7ADC -_080C809A: - pop {r0} - bx r0 - thumb_func_end sub_80C8080 - - thumb_func_start CheckForRotatingGatePuzzleCollision -CheckForRotatingGatePuzzleCollision: @ 80C80A0 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - lsls r0, 24 - lsrs r0, 24 - mov r9, r0 - lsls r1, 16 - lsrs r4, r1, 16 - lsls r2, 16 - lsrs r2, 16 - mov r8, r2 - bl GetCurrentMapRotatingGatePuzzleType - cmp r0, 0 - bne _080C80D4 - b _080C8172 -_080C80C2: - adds r0, r4, 0 - adds r1, r5, 0 - bl sub_80C7FB8 - adds r0, r4, 0 - adds r1, r5, 0 - bl sub_80C7A44 - b _080C8172 -_080C80D4: - movs r6, 0 - ldr r0, _080C8160 @ =gUnknown_02038804 - ldrb r0, [r0] - cmp r6, r0 - bge _080C8172 - lsls r0, r4, 16 - asrs r7, r0, 16 -_080C80E2: - ldr r0, _080C8164 @ =gUnknown_02038800 - ldr r1, [r0] - lsls r0, r6, 3 - adds r0, r1 - ldrh r1, [r0] - adds r1, 0x7 - ldrh r0, [r0, 0x2] - adds r0, 0x7 - lsls r0, 16 - lsrs r2, r0, 16 - lsls r1, 16 - asrs r4, r1, 16 - subs r0, r4, 0x2 - cmp r0, r7 - bgt _080C8168 - adds r0, r4, 0x1 - cmp r7, r0 - bgt _080C8168 - lsls r0, r2, 16 - asrs r3, r0, 16 - subs r1, r3, 0x2 - mov r2, r8 - lsls r0, r2, 16 - asrs r2, r0, 16 - cmp r1, r2 - bgt _080C8168 - adds r0, r3, 0x1 - cmp r2, r0 - bgt _080C8168 - subs r1, r7, r4 - adds r1, 0x2 - subs r2, r3 - adds r2, 0x2 - lsls r1, 16 - asrs r1, 16 - lsls r2, 16 - asrs r2, 16 - mov r0, r9 - bl sub_80C7FEC - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0xFF - beq _080C8168 - lsrs r5, r0, 4 - movs r1, 0xF - ands r1, r0 - lsls r0, r6, 24 - lsrs r4, r0, 24 - adds r0, r4, 0 - bl sub_80C7F64 - cmp r0, 0 - beq _080C8168 - adds r0, r4, 0 - adds r1, r5, 0 - bl sub_80C7E8C - cmp r0, 0 - bne _080C80C2 - movs r0, 0x1 - b _080C8174 - .align 2, 0 -_080C8160: .4byte gUnknown_02038804 -_080C8164: .4byte gUnknown_02038800 -_080C8168: - adds r6, 0x1 - ldr r0, _080C8180 @ =gUnknown_02038804 - ldrb r0, [r0] - cmp r6, r0 - blt _080C80E2 -_080C8172: - movs r0, 0 -_080C8174: - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_080C8180: .4byte gUnknown_02038804 - thumb_func_end CheckForRotatingGatePuzzleCollision - - .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. diff --git a/asm/use_pokeblock.s b/asm/use_pokeblock.s deleted file mode 100644 index a9913b6d0..000000000 --- a/asm/use_pokeblock.s +++ /dev/null @@ -1,2113 +0,0 @@ - .include "constants/gba_constants.inc" - .include "constants/species_constants.inc" - .include "asm/macros.inc" - - .syntax unified - - .text - - thumb_func_start sub_8136130 -sub_8136130: @ 8136130 - push {r4,r5,lr} - ldr r4, _0813615C @ =gUnknown_02039304 - ldr r2, _08136160 @ =gUnknown_083DFEC4 - ldr r3, [r2] - ldr r5, _08136164 @ =0x0000d164 - adds r2, r3, r5 - str r2, [r4] - str r0, [r2, 0x8] - str r1, [r2, 0x4] - ldr r0, _08136168 @ =0x0000d162 - adds r3, r0 - movs r0, 0x2 - strb r0, [r3] - ldr r0, _0813616C @ =sub_8136294 - bl launch_c3_walk_stairs_and_run_once - ldr r0, _08136170 @ =sub_8136244 - bl SetMainCallback2 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0813615C: .4byte gUnknown_02039304 -_08136160: .4byte gUnknown_083DFEC4 -_08136164: .4byte 0x0000d164 -_08136168: .4byte 0x0000d162 -_0813616C: .4byte sub_8136294 -_08136170: .4byte sub_8136244 - thumb_func_end sub_8136130 - - thumb_func_start sub_8136174 -sub_8136174: @ 8136174 - push {r4,r5,lr} - ldr r5, _081361C4 @ =gUnknown_02039304 - ldr r1, [r5] - ldr r0, _081361C8 @ =gUnknown_0203930C - ldr r0, [r0] - str r0, [r1, 0x8] - ldr r0, _081361CC @ =gUnknown_02039308 - ldr r0, [r0] - str r0, [r1, 0x4] - ldr r4, _081361D0 @ =gUnknown_02039310 - ldrb r0, [r4] - bl sub_81370E4 - strb r0, [r4] - ldr r5, [r5] - movs r1, 0 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x3 - bls _0813619E - movs r1, 0x1 -_0813619E: - adds r0, r5, 0 - adds r0, 0x56 - strb r1, [r0] - ldr r0, _081361D4 @ =gUnknown_083DFEC4 - ldr r0, [r0] - ldr r1, _081361D8 @ =0x0000d162 - adds r0, r1 - movs r1, 0x2 - strb r1, [r0] - ldr r0, _081361DC @ =sub_8136294 - bl launch_c3_walk_stairs_and_run_once - ldr r0, _081361E0 @ =sub_81361E4 - bl SetMainCallback2 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_081361C4: .4byte gUnknown_02039304 -_081361C8: .4byte gUnknown_0203930C -_081361CC: .4byte gUnknown_02039308 -_081361D0: .4byte gUnknown_02039310 -_081361D4: .4byte gUnknown_083DFEC4 -_081361D8: .4byte 0x0000d162 -_081361DC: .4byte sub_8136294 -_081361E0: .4byte sub_81361E4 - thumb_func_end sub_8136174 - - thumb_func_start sub_81361E4 -sub_81361E4: @ 81361E4 - push {r4,lr} - ldr r4, _08136220 @ =gUnknown_02039304 - ldr r0, [r4] - ldr r0, [r0] - bl _call_via_r0 - bl AnimateSprites - bl BuildOamBuffer - bl UpdatePaletteFade - ldr r4, [r4] - ldr r1, [r4] - ldr r0, _08136224 @ =sub_81365C8 - cmp r1, r0 - bne _0813621A - movs r0, 0x80 - lsls r0, 19 - movs r1, 0 - strh r1, [r0] - adds r0, r4, 0 - adds r0, 0x50 - strb r1, [r0] - ldr r0, _08136228 @ =sub_813622C - bl SetMainCallback2 -_0813621A: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08136220: .4byte gUnknown_02039304 -_08136224: .4byte sub_81365C8 -_08136228: .4byte sub_813622C - thumb_func_end sub_81361E4 - - thumb_func_start sub_813622C -sub_813622C: @ 813622C - push {lr} - bl sub_81368A4 - bl AnimateSprites - bl BuildOamBuffer - bl UpdatePaletteFade - pop {r0} - bx r0 - thumb_func_end sub_813622C - - thumb_func_start sub_8136244 -sub_8136244: @ 8136244 - push {lr} - ldr r0, _08136260 @ =gUnknown_02039304 - ldr r0, [r0] - ldr r0, [r0] - bl _call_via_r0 - bl AnimateSprites - bl BuildOamBuffer - bl UpdatePaletteFade - pop {r0} - bx r0 - .align 2, 0 -_08136260: .4byte gUnknown_02039304 - thumb_func_end sub_8136244 - - thumb_func_start sub_8136264 -sub_8136264: @ 8136264 - push {lr} - bl LoadOam - bl ProcessSpriteCopyRequests - bl TransferPlttBuffer - movs r0, 0x6 - bl sub_80F5CDC - bl sub_8089668 - pop {r0} - bx r0 - thumb_func_end sub_8136264 - - thumb_func_start launch_c3_walk_stairs_and_run_once -launch_c3_walk_stairs_and_run_once: @ 8136280 - ldr r1, _08136290 @ =gUnknown_02039304 - ldr r1, [r1] - str r0, [r1] - adds r1, 0x50 - movs r0, 0 - strb r0, [r1] - bx lr - .align 2, 0 -_08136290: .4byte gUnknown_02039304 - thumb_func_end launch_c3_walk_stairs_and_run_once - - thumb_func_start sub_8136294 -sub_8136294: @ 8136294 - push {r4,r5,lr} - sub sp, 0x4 - ldr r1, _081362B4 @ =gUnknown_02039304 - ldr r0, [r1] - adds r0, 0x50 - ldrb r0, [r0] - adds r3, r1, 0 - cmp r0, 0x16 - bls _081362A8 - b _0813657A -_081362A8: - lsls r0, 2 - ldr r1, _081362B8 @ =_081362BC - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_081362B4: .4byte gUnknown_02039304 -_081362B8: .4byte _081362BC - .align 2, 0 -_081362BC: - .4byte _08136318 - .4byte _08136354 - .4byte _0813635E - .4byte _08136366 - .4byte _08136374 - .4byte _08136380 - .4byte _0813638C - .4byte _081363B8 - .4byte _081363C8 - .4byte _081363DC - .4byte _081363EE - .4byte _08136404 - .4byte _08136448 - .4byte _08136464 - .4byte _08136488 - .4byte _08136494 - .4byte _0813649A - .4byte _081364D8 - .4byte _081364FC - .4byte _08136508 - .4byte _08136520 - .4byte _08136538 - .4byte _0813656C -_08136318: - bl is_c1_link_related_active - ldr r1, _08136344 @ =gUnknown_083DFEC4 - ldr r1, [r1] - ldr r2, _08136348 @ =0x00006dac - adds r1, r2 - strb r0, [r1] - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0 - beq _08136330 - b _0813657A -_08136330: - ldr r4, _0813634C @ =gUnknown_02039304 - ldr r0, [r4] - adds r0, 0x55 - strb r1, [r0] - ldr r0, _08136350 @ =sub_81365A0 - bl launch_c3_walk_stairs_and_run_once - ldr r1, [r4] - b _08136528 - .align 2, 0 -_08136344: .4byte gUnknown_083DFEC4 -_08136348: .4byte 0x00006dac -_0813634C: .4byte gUnknown_02039304 -_08136350: .4byte sub_81365A0 -_08136354: - bl ResetSpriteData - bl FreeAllSpritePalettes - b _08136524 -_0813635E: - movs r0, 0 - bl SetVBlankCallback - b _08136524 -_08136366: - ldr r0, _08136370 @ =gWindowConfig_81E7080 - bl SetUpWindowConfig - b _08136524 - .align 2, 0 -_08136370: .4byte gWindowConfig_81E7080 -_08136374: - ldr r0, _0813637C @ =gWindowConfig_81E7080 - bl MultistepInitMenuWindowBegin - b _08136524 - .align 2, 0 -_0813637C: .4byte gWindowConfig_81E7080 -_08136380: - bl MultistepInitMenuWindowContinue - cmp r0, 0 - bne _0813638A - b _0813657A -_0813638A: - b _08136524 -_0813638C: - ldr r0, _081363AC @ =gUnknown_083DFEC4 - ldr r1, [r0] - ldr r4, _081363B0 @ =0x000076aa - adds r0, r1, r4 - movs r2, 0 - strb r2, [r0] - ldr r4, _081363B4 @ =0x000087e0 - adds r0, r1, r4 - str r2, [r0] - movs r0, 0xC3 - lsls r0, 2 - adds r1, r0 - movs r0, 0x20 - strh r0, [r1] - ldr r1, [r3] - b _08136528 - .align 2, 0 -_081363AC: .4byte gUnknown_083DFEC4 -_081363B0: .4byte 0x000076aa -_081363B4: .4byte 0x000087e0 -_081363B8: - bl sub_80F2688 - ldr r0, _081363D8 @ =gUnknown_02039304 - ldr r1, [r0] - adds r1, 0x50 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] -_081363C8: - bl sub_80F26BC - lsls r0, 24 - cmp r0, 0 - beq _081363D4 - b _0813657A -_081363D4: - b _08136524 - .align 2, 0 -_081363D8: .4byte gUnknown_02039304 -_081363DC: - movs r0, 0x1 - bl sub_80F2C80 - ldr r0, _08136400 @ =gUnknown_02039304 - ldr r1, [r0] - adds r1, 0x50 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] -_081363EE: - movs r0, 0x1 - bl sub_80F2CBC - lsls r0, 24 - cmp r0, 0 - beq _081363FC - b _0813657A -_081363FC: - b _08136524 - .align 2, 0 -_08136400: .4byte gUnknown_02039304 -_08136404: - ldr r1, _08136434 @ =gKeyRepeatStartDelay - movs r0, 0x14 - strh r0, [r1] - bl CalculatePlayerPartyCount - ldr r1, _08136438 @ =gUnknown_083DFEC4 - ldr r4, [r1] - ldr r2, _0813643C @ =0x00008828 - adds r1, r4, r2 - movs r5, 0 - strb r0, [r1] - ldr r1, _08136440 @ =0x00009344 - adds r0, r4, r1 - strb r5, [r0] - subs r2, 0xC0 - adds r0, r4, r2 - str r5, [r0] - bl sub_80F4BD0 - ldr r0, _08136444 @ =0x0000d160 - adds r4, r0 - strh r5, [r4] - b _08136524 - .align 2, 0 -_08136434: .4byte gKeyRepeatStartDelay -_08136438: .4byte gUnknown_083DFEC4 -_0813643C: .4byte 0x00008828 -_08136440: .4byte 0x00009344 -_08136444: .4byte 0x0000d160 -_08136448: - bl sub_80F1778 - lsls r0, 24 - cmp r0, 0 - beq _08136454 - b _0813657A -_08136454: - ldr r0, _08136460 @ =REG_BG2VOFS - movs r1, 0x6 - strh r1, [r0] - adds r0, 0x4 - strh r1, [r0] - b _08136524 - .align 2, 0 -_08136460: .4byte REG_BG2VOFS -_08136464: - movs r0, 0 - bl sub_80F2E18 - ldr r0, _0813647C @ =gUnknown_083DFEC4 - ldr r0, [r0] - ldr r1, _08136480 @ =0x00008768 - adds r0, r1 - ldr r1, [r0] - ldr r0, _08136484 @ =0x0000ffd8 - strh r0, [r1, 0x26] - b _08136524 - .align 2, 0 -_0813647C: .4byte gUnknown_083DFEC4 -_08136480: .4byte 0x00008768 -_08136484: .4byte 0x0000ffd8 -_08136488: - bl sub_80F170C - lsls r0, 24 - cmp r0, 0 - bne _0813657A - b _08136524 -_08136494: - bl sub_80F33A8 - b _08136524 -_0813649A: - ldr r1, _081364C4 @ =0x0600f800 - movs r2, 0 - str r2, [sp] - ldr r0, _081364C8 @ =0x040000d4 - mov r4, sp - str r4, [r0] - str r1, [r0, 0x4] - ldr r1, _081364CC @ =0x85000200 - str r1, [r0, 0x8] - ldr r0, [r0, 0x8] - ldr r0, _081364D0 @ =REG_BG1VOFS - strh r2, [r0] - subs r0, 0x2 - strh r2, [r0] - ldr r1, _081364D4 @ =REG_BG1CNT - movs r2, 0xF8 - lsls r2, 5 - adds r0, r2, 0 - strh r0, [r1] - ldr r1, [r3] - b _08136528 - .align 2, 0 -_081364C4: .4byte 0x0600f800 -_081364C8: .4byte 0x040000d4 -_081364CC: .4byte 0x85000200 -_081364D0: .4byte REG_BG1VOFS -_081364D4: .4byte REG_BG1CNT -_081364D8: - ldr r0, _081364F0 @ =gUnknown_083DFEC4 - ldr r1, [r0] - ldr r4, _081364F4 @ =0x00008ff0 - adds r0, r1, r4 - ldr r2, _081364F8 @ =0x00009004 - adds r1, r2 - bl sub_80F567C - bl sub_80F5B38 - b _08136524 - .align 2, 0 -_081364F0: .4byte gUnknown_083DFEC4 -_081364F4: .4byte 0x00008ff0 -_081364F8: .4byte 0x00009004 -_081364FC: - bl sub_80F5B50 - lsls r0, 24 - cmp r0, 0 - bne _0813657A - b _08136524 -_08136508: - ldr r0, _08136518 @ =gUnknown_083DFEC4 - ldr r0, [r0] - ldr r4, _0813651C @ =0x00009004 - adds r0, r4 - bl sub_80F556C - b _08136524 - .align 2, 0 -_08136518: .4byte gUnknown_083DFEC4 -_0813651C: .4byte 0x00009004 -_08136520: - bl sub_80F1934 -_08136524: - ldr r0, _08136534 @ =gUnknown_02039304 - ldr r1, [r0] -_08136528: - adds r1, 0x50 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - b _0813657A - .align 2, 0 -_08136534: .4byte gUnknown_02039304 -_08136538: - ldr r1, _08136584 @ =REG_WIN0H - movs r0, 0xF0 - strh r0, [r1] - adds r1, 0x2 - movs r0, 0x9B - strh r0, [r1] - ldr r0, _08136588 @ =REG_WIN0V - ldr r2, _0813658C @ =0x00003273 - adds r1, r2, 0 - strh r1, [r0] - adds r0, 0x2 - strh r1, [r0] - ldr r1, _08136590 @ =REG_WININ - ldr r4, _08136594 @ =0x00003f3f - adds r0, r4, 0 - strh r0, [r1] - adds r1, 0x2 - movs r0, 0x1B - strh r0, [r1] - subs r1, 0x38 - movs r0, 0x28 - strh r0, [r1] - subs r1, 0x12 - ldr r2, _08136598 @ =0x00007f40 - adds r0, r2, 0 - strh r0, [r1] -_0813656C: - ldr r0, [r3] - adds r0, 0x55 - movs r1, 0x1 - strb r1, [r0] - ldr r0, _0813659C @ =sub_81365C8 - bl launch_c3_walk_stairs_and_run_once -_0813657A: - add sp, 0x4 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08136584: .4byte REG_WIN0H -_08136588: .4byte REG_WIN0V -_0813658C: .4byte 0x00003273 -_08136590: .4byte REG_WININ -_08136594: .4byte 0x00003f3f -_08136598: .4byte 0x00007f40 -_0813659C: .4byte sub_81365C8 - thumb_func_end sub_8136294 - - thumb_func_start sub_81365A0 -sub_81365A0: @ 81365A0 - push {r4,lr} - ldr r1, _081365C4 @ =gUnknown_02039304 - ldr r0, [r1] - adds r0, 0x55 - ldrb r0, [r0] - cmp r0, 0 - bne _081365BE - adds r4, r1, 0 -_081365B0: - bl sub_8136294 - ldr r0, [r4] - adds r0, 0x55 - ldrb r0, [r0] - cmp r0, 0 - beq _081365B0 -_081365BE: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_081365C4: .4byte gUnknown_02039304 - thumb_func_end sub_81365A0 - - thumb_func_start sub_81365C8 -sub_81365C8: @ 81365C8 - push {r4,lr} - sub sp, 0x4 - ldr r4, _081365E0 @ =gUnknown_02039304 - ldr r0, [r4] - adds r0, 0x50 - ldrb r1, [r0] - cmp r1, 0 - beq _081365E4 - cmp r1, 0x1 - beq _0813660C - b _08136626 - .align 2, 0 -_081365E0: .4byte gUnknown_02039304 -_081365E4: - movs r0, 0x1 - negs r0, r0 - str r1, [sp] - movs r1, 0 - movs r2, 0x10 - movs r3, 0 - bl BeginNormalPaletteFade - ldr r0, _08136608 @ =sub_8136264 - bl SetVBlankCallback - ldr r1, [r4] - adds r1, 0x50 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - b _08136626 - .align 2, 0 -_08136608: .4byte sub_8136264 -_0813660C: - ldr r0, _08136630 @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _08136626 - bl sub_80F3C94 - bl sub_80F3D00 - ldr r0, _08136634 @ =sub_8136638 - bl launch_c3_walk_stairs_and_run_once -_08136626: - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08136630: .4byte gPaletteFade -_08136634: .4byte sub_8136638 - thumb_func_end sub_81365C8 - - thumb_func_start sub_8136638 -sub_8136638: @ 8136638 - push {r4,lr} - ldr r0, _08136654 @ =gUnknown_02039304 - ldr r0, [r0] - adds r0, 0x50 - ldrb r0, [r0] - cmp r0, 0x7 - bls _08136648 - b _081367FA -_08136648: - lsls r0, 2 - ldr r1, _08136658 @ =_0813665C - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_08136654: .4byte gUnknown_02039304 -_08136658: .4byte _0813665C - .align 2, 0 -_0813665C: - .4byte _0813667C - .4byte _08136748 - .4byte _08136754 - .4byte _08136774 - .4byte _081367FA - .4byte _08136780 - .4byte _08136798 - .4byte _081367E0 -_0813667C: - ldr r2, _081366A4 @ =gMain - ldrh r1, [r2, 0x2C] - movs r0, 0x40 - ands r0, r1 - cmp r0, 0 - beq _081366AC - movs r0, 0x5 - bl PlaySE - movs r0, 0x1 - bl sub_80F5060 - bl move_anim_execute - ldr r0, _081366A8 @ =gUnknown_02039304 - ldr r0, [r0] - adds r0, 0x50 - movs r1, 0x1 - b _081367F8 - .align 2, 0 -_081366A4: .4byte gMain -_081366A8: .4byte gUnknown_02039304 -_081366AC: - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _081366D4 - movs r0, 0x5 - bl PlaySE - movs r0, 0 - bl sub_80F5060 - bl move_anim_execute - ldr r0, _081366D0 @ =gUnknown_02039304 - ldr r0, [r0] - adds r0, 0x50 - movs r1, 0x1 - b _081367F8 - .align 2, 0 -_081366D0: .4byte gUnknown_02039304 -_081366D4: - ldrh r1, [r2, 0x2E] - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _081366F4 - movs r0, 0x5 - bl PlaySE - ldr r0, _081366F0 @ =gUnknown_02039304 - ldr r0, [r0] - adds r0, 0x50 - movs r1, 0x3 - b _081367F8 - .align 2, 0 -_081366F0: .4byte gUnknown_02039304 -_081366F4: - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - bne _081366FE - b _081367FA -_081366FE: - movs r0, 0x5 - bl PlaySE - ldr r0, _08136728 @ =gUnknown_083DFEC4 - ldr r0, [r0] - ldr r2, _0813672C @ =0x000087dc - adds r1, r0, r2 - movs r2, 0 - ldrsh r1, [r1, r2] - ldr r2, _08136730 @ =0x000087da - adds r0, r2 - movs r2, 0 - ldrsh r0, [r0, r2] - subs r0, 0x1 - cmp r1, r0 - bne _08136738 - ldr r0, _08136734 @ =gUnknown_02039304 - ldr r0, [r0] - adds r0, 0x50 - movs r1, 0x3 - b _081367F8 - .align 2, 0 -_08136728: .4byte gUnknown_083DFEC4 -_0813672C: .4byte 0x000087dc -_08136730: .4byte 0x000087da -_08136734: .4byte gUnknown_02039304 -_08136738: - ldr r0, _08136744 @ =gUnknown_02039304 - ldr r0, [r0] - adds r0, 0x50 - movs r1, 0x5 - b _081367F8 - .align 2, 0 -_08136744: .4byte gUnknown_02039304 -_08136748: - bl gpu_sync_bg_show - lsls r0, 24 - cmp r0, 0 - bne _081367FA - b _08136784 -_08136754: - bl sub_8055870 - adds r4, r0, 0 - cmp r4, 0 - bne _081367FA - bl sub_80F1934 - bl sub_80F3D00 - ldr r0, _08136770 @ =gUnknown_02039304 - ldr r0, [r0] - adds r0, 0x50 - strb r4, [r0] - b _081367FA - .align 2, 0 -_08136770: .4byte gUnknown_02039304 -_08136774: - ldr r0, _0813677C @ =sub_8136B44 - bl launch_c3_walk_stairs_and_run_once - b _081367FA - .align 2, 0 -_0813677C: .4byte sub_8136B44 -_08136780: - bl sub_8136BB8 -_08136784: - ldr r0, _08136794 @ =gUnknown_02039304 - ldr r1, [r0] - adds r1, 0x50 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - b _081367FA - .align 2, 0 -_08136794: .4byte gUnknown_02039304 -_08136798: - bl sub_8136C40 - lsls r0, 24 - asrs r1, r0, 24 - cmp r1, 0 - beq _081367B8 - cmp r1, 0 - bgt _081367B2 - movs r0, 0x1 - negs r0, r0 - cmp r1, r0 - beq _081367F0 - b _081367FA -_081367B2: - cmp r1, 0x1 - bne _081367FA - b _081367F0 -_081367B8: - bl sub_8137058 - lsls r0, 24 - cmp r0, 0 - beq _081367D4 - bl sub_8136D60 - ldr r0, _081367D0 @ =gUnknown_02039304 - ldr r0, [r0] - adds r0, 0x50 - movs r1, 0x7 - b _081367F8 - .align 2, 0 -_081367D0: .4byte gUnknown_02039304 -_081367D4: - ldr r0, _081367DC @ =sub_8136808 - bl launch_c3_walk_stairs_and_run_once - b _081367FA - .align 2, 0 -_081367DC: .4byte sub_8136808 -_081367E0: - ldr r0, _08136800 @ =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x3 - ands r0, r1 - cmp r0, 0 - beq _081367FA - bl sub_8136D8C -_081367F0: - ldr r0, _08136804 @ =gUnknown_02039304 - ldr r0, [r0] - adds r0, 0x50 - movs r1, 0 -_081367F8: - strb r1, [r0] -_081367FA: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08136800: .4byte gMain -_08136804: .4byte gUnknown_02039304 - thumb_func_end sub_8136638 - - thumb_func_start sub_8136808 -sub_8136808: @ 8136808 - push {r4,r5,lr} - sub sp, 0x4 - ldr r5, _08136820 @ =gUnknown_02039304 - ldr r0, [r5] - adds r0, 0x50 - ldrb r4, [r0] - cmp r4, 0 - beq _08136824 - cmp r4, 0x1 - beq _08136874 - b _0813688C - .align 2, 0 -_08136820: .4byte gUnknown_02039304 -_08136824: - ldr r0, _08136860 @ =gUnknown_083DFEC4 - ldr r0, [r0] - ldr r1, _08136864 @ =0x000087dc - adds r0, r1 - ldrb r0, [r0] - bl sub_81370A4 - ldr r1, _08136868 @ =gUnknown_02039310 - strb r0, [r1] - ldr r1, _0813686C @ =gUnknown_02039308 - ldr r2, [r5] - ldr r0, [r2, 0x4] - str r0, [r1] - ldr r1, _08136870 @ =gUnknown_0203930C - ldr r0, [r2, 0x8] - str r0, [r1] - movs r0, 0x1 - negs r0, r0 - str r4, [sp] - movs r1, 0 - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade - ldr r1, [r5] - adds r1, 0x50 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - b _0813688C - .align 2, 0 -_08136860: .4byte gUnknown_083DFEC4 -_08136864: .4byte 0x000087dc -_08136868: .4byte gUnknown_02039310 -_0813686C: .4byte gUnknown_02039308 -_08136870: .4byte gUnknown_0203930C -_08136874: - ldr r0, _08136894 @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _0813688C - ldr r0, _08136898 @ =gMain - ldr r1, _0813689C @ =sub_8136174 - str r1, [r0, 0x8] - ldr r0, _081368A0 @ =sub_8147ADC - bl SetMainCallback2 -_0813688C: - add sp, 0x4 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08136894: .4byte gPaletteFade -_08136898: .4byte gMain -_0813689C: .4byte sub_8136174 -_081368A0: .4byte sub_8147ADC - thumb_func_end sub_8136808 - - thumb_func_start sub_81368A4 -sub_81368A4: @ 81368A4 - push {r4,lr} - sub sp, 0x4 - ldr r1, _081368C4 @ =gUnknown_02039304 - ldr r0, [r1] - adds r0, 0x50 - ldrb r0, [r0] - adds r4, r1, 0 - cmp r0, 0x6 - bls _081368B8 - b _081369B8 -_081368B8: - lsls r0, 2 - ldr r1, _081368C8 @ =_081368CC - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_081368C4: .4byte gUnknown_02039304 -_081368C8: .4byte _081368CC - .align 2, 0 -_081368CC: - .4byte _081368E8 - .4byte _08136922 - .4byte _0813692E - .4byte _0813694C - .4byte _0813695A - .4byte _0813696C - .4byte _08136998 -_081368E8: - ldr r0, _0813690C @ =gUnknown_083DFEC4 - ldr r0, [r0] - ldr r1, _08136910 @ =0x000087dc - adds r0, r1 - movs r2, 0 - ldrsh r1, [r0, r2] - ldr r0, _08136914 @ =gUnknown_02039310 - ldrb r0, [r0] - cmp r1, r0 - beq _08136918 - ldr r0, [r4] - adds r0, 0x56 - ldrb r0, [r0] - bl sub_80F5060 - ldr r1, [r4] - b _08136986 - .align 2, 0 -_0813690C: .4byte gUnknown_083DFEC4 -_08136910: .4byte 0x000087dc -_08136914: .4byte gUnknown_02039310 -_08136918: - ldr r0, [r4] - adds r0, 0x50 - movs r1, 0x3 - strb r1, [r0] - b _081369B8 -_08136922: - bl gpu_sync_bg_show - lsls r0, 24 - cmp r0, 0 - bne _081369B8 - b _08136982 -_0813692E: - bl sub_8055870 - adds r4, r0, 0 - cmp r4, 0 - bne _081369B8 - bl sub_80F1934 - ldr r0, _08136948 @ =gUnknown_02039304 - ldr r0, [r0] - adds r0, 0x50 - strb r4, [r0] - b _081369B8 - .align 2, 0 -_08136948: .4byte gUnknown_02039304 -_0813694C: - movs r0, 0x1 - negs r0, r0 - movs r1, 0x10 - movs r2, 0 - bl BlendPalettes - b _08136982 -_0813695A: - movs r1, 0x80 - lsls r1, 19 - ldr r2, _08136968 @ =0x00007f40 - adds r0, r2, 0 - strh r0, [r1] - ldr r1, [r4] - b _08136986 - .align 2, 0 -_08136968: .4byte 0x00007f40 -_0813696C: - ldr r0, _08136990 @ =sub_8136264 - bl SetVBlankCallback - movs r0, 0x1 - negs r0, r0 - movs r1, 0 - str r1, [sp] - movs r2, 0x10 - movs r3, 0 - bl BeginNormalPaletteFade -_08136982: - ldr r0, _08136994 @ =gUnknown_02039304 - ldr r1, [r0] -_08136986: - adds r1, 0x50 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - b _081369B8 - .align 2, 0 -_08136990: .4byte sub_8136264 -_08136994: .4byte gUnknown_02039304 -_08136998: - ldr r0, _081369C0 @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _081369B8 - bl sub_80F3C94 - bl sub_80F3D00 - ldr r0, _081369C4 @ =sub_81369CC - bl launch_c3_walk_stairs_and_run_once - ldr r0, _081369C8 @ =sub_8136244 - bl SetMainCallback2 -_081369B8: - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_081369C0: .4byte gPaletteFade -_081369C4: .4byte sub_81369CC -_081369C8: .4byte sub_8136244 - thumb_func_end sub_81368A4 - - thumb_func_start sub_81369CC -sub_81369CC: @ 81369CC - push {r4-r6,lr} - ldr r1, _081369E8 @ =gUnknown_02039304 - ldr r0, [r1] - adds r0, 0x50 - ldrb r0, [r0] - adds r4, r1, 0 - cmp r0, 0x5 - bls _081369DE - b _08136B32 -_081369DE: - lsls r0, 2 - ldr r1, _081369EC @ =_081369F0 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_081369E8: .4byte gUnknown_02039304 -_081369EC: .4byte _081369F0 - .align 2, 0 -_081369F0: - .4byte _08136A08 - .4byte _08136A48 - .4byte _08136A5C - .4byte _08136AAC - .4byte _08136AEC - .4byte _08136B0E -_08136A08: - ldr r3, [r4] - ldr r2, _08136A38 @ =gPlayerParty - str r2, [r3, 0xC] - ldr r0, _08136A3C @ =gUnknown_083DFEC4 - ldr r1, [r0] - ldr r5, _08136A40 @ =0x000087dc - adds r0, r1, r5 - movs r5, 0 - ldrsh r0, [r0, r5] - lsls r0, 2 - adds r1, r0 - ldr r0, _08136A44 @ =0x0000893e - adds r1, r0 - ldrb r0, [r1] - lsls r0, 27 - lsrs r0, 27 - movs r1, 0x64 - muls r0, r1 - adds r0, r2 - str r0, [r3, 0xC] - bl move_anim_execute - b _08136B02 - .align 2, 0 -_08136A38: .4byte gPlayerParty -_08136A3C: .4byte gUnknown_083DFEC4 -_08136A40: .4byte 0x000087dc -_08136A44: .4byte 0x0000893e -_08136A48: - ldr r0, _08136A58 @ =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x3 - ands r0, r1 - cmp r0, 0 - beq _08136B32 - b _08136B02 - .align 2, 0 -_08136A58: .4byte gMain -_08136A5C: - bl sub_8136EF0 - ldr r6, _08136A98 @ =gUnknown_02039304 - ldr r0, [r6] - adds r0, 0x5C - ldr r1, _08136A9C @ =gUnknown_083DFEC4 - ldr r4, [r1] - ldr r1, _08136AA0 @ =0x00009040 - adds r5, r4, r1 - adds r1, r5, 0 - bl sub_80F567C - ldr r1, _08136AA4 @ =0x00008fe9 - adds r0, r4, r1 - movs r1, 0 - ldrsb r1, [r0, r1] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 2 - ldr r1, _08136AA8 @ =0x00009004 - adds r0, r1 - adds r4, r0 - adds r0, r4, 0 - adds r1, r5, 0 - bl sub_80F5550 - bl sub_8137138 - ldr r1, [r6] - b _08136B04 - .align 2, 0 -_08136A98: .4byte gUnknown_02039304 -_08136A9C: .4byte gUnknown_083DFEC4 -_08136AA0: .4byte 0x00009040 -_08136AA4: .4byte 0x00008fe9 -_08136AA8: .4byte 0x00009004 -_08136AAC: - bl sub_80F555C - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0 - bne _08136B32 - ldr r0, _08136AE0 @ =gUnknown_083DFEC4 - ldr r0, [r0] - ldr r5, _08136AE4 @ =0x000087dc - adds r0, r5 - ldrb r0, [r0] - bl sub_81370A4 - lsls r0, 24 - lsrs r0, 24 - bl sub_80F7224 - bl sub_80F3D00 - ldr r1, _08136AE8 @ =gUnknown_02039304 - ldr r0, [r1] - adds r0, 0x52 - strb r4, [r0] - ldr r1, [r1] - b _08136B04 - .align 2, 0 -_08136AE0: .4byte gUnknown_083DFEC4 -_08136AE4: .4byte 0x000087dc -_08136AE8: .4byte gUnknown_02039304 -_08136AEC: - ldr r1, [r4] - adds r1, 0x52 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x10 - bls _08136B32 - bl sub_8136C6C -_08136B02: - ldr r1, [r4] -_08136B04: - adds r1, 0x50 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - b _08136B32 -_08136B0E: - ldr r0, _08136B38 @ =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x3 - ands r0, r1 - cmp r0, 0 - beq _08136B32 - bl sub_8136D00 - lsls r0, 24 - cmp r0, 0 - bne _08136B32 - ldr r0, _08136B3C @ =gScriptItemId - ldrb r0, [r0] - bl sub_810CA6C - ldr r0, _08136B40 @ =sub_8136B44 - bl launch_c3_walk_stairs_and_run_once -_08136B32: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_08136B38: .4byte gMain -_08136B3C: .4byte gScriptItemId -_08136B40: .4byte sub_8136B44 - thumb_func_end sub_81369CC - - thumb_func_start sub_8136B44 -sub_8136B44: @ 8136B44 - push {r4,lr} - sub sp, 0x4 - ldr r4, _08136B60 @ =gUnknown_02039304 - ldr r0, [r4] - adds r2, r0, 0 - adds r2, 0x50 - ldrb r1, [r2] - cmp r1, 0x1 - beq _08136B80 - cmp r1, 0x1 - bgt _08136B64 - cmp r1, 0 - beq _08136B6E - b _08136BAE - .align 2, 0 -_08136B60: .4byte gUnknown_02039304 -_08136B64: - cmp r1, 0x2 - beq _08136B98 - cmp r1, 0x3 - beq _08136BA8 - b _08136BAE -_08136B6E: - movs r0, 0x1 - negs r0, r0 - str r1, [sp] - movs r1, 0 - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade - b _08136B9C -_08136B80: - ldr r0, _08136B94 @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _08136BAE - movs r0, 0x2 - strb r0, [r2] - b _08136BAE - .align 2, 0 -_08136B94: .4byte gPaletteFade -_08136B98: - bl sub_80F5BDC -_08136B9C: - ldr r1, [r4] - adds r1, 0x50 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - b _08136BAE -_08136BA8: - ldr r0, [r0, 0x4] - bl SetMainCallback2 -_08136BAE: - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_8136B44 - - thumb_func_start sub_8136BB8 -sub_8136BB8: @ 8136BB8 - push {r4,lr} - ldr r0, _08136C28 @ =gUnknown_083DFEC4 - ldr r0, [r0] - ldr r1, _08136C2C @ =0x000087dc - adds r0, r1 - ldrb r0, [r0] - bl sub_81370A4 - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x64 - muls r0, r1 - ldr r1, _08136C30 @ =gPlayerParty - adds r0, r1 - ldr r4, _08136C34 @ =gUnknown_02039304 - ldr r2, [r4] - adds r2, 0x10 - movs r1, 0x2 - bl GetMonData - ldr r0, [r4] - adds r0, 0x10 - bl StringGetEnd10 - ldr r0, [r4] - adds r0, 0x10 - ldr r1, _08136C38 @ =gOtherText_GetsAPokeBlock - bl StringAppend - ldr r0, _08136C3C @ =gWindowConfig_81E709C - bl BasicInitMenuWindow - movs r0, 0 - movs r1, 0x10 - movs r2, 0x1D - movs r3, 0x13 - bl MenuDrawTextWindow - ldr r0, [r4] - adds r0, 0x10 - movs r1, 0x1 - movs r2, 0x11 - bl MenuPrint - movs r0, 0x17 - movs r1, 0xA - movs r2, 0x1 - bl DisplayYesNoMenu - movs r0, 0 - bl MoveMenuCursor - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08136C28: .4byte gUnknown_083DFEC4 -_08136C2C: .4byte 0x000087dc -_08136C30: .4byte gPlayerParty -_08136C34: .4byte gUnknown_02039304 -_08136C38: .4byte gOtherText_GetsAPokeBlock -_08136C3C: .4byte gWindowConfig_81E709C - thumb_func_end sub_8136BB8 - - thumb_func_start sub_8136C40 -sub_8136C40: @ 8136C40 - push {r4,lr} - bl ProcessMenuInputNoWrap - lsls r0, 24 - asrs r4, r0, 24 - movs r1, 0x80 - lsls r1, 17 - adds r0, r1 - lsrs r0, 24 - cmp r0, 0x2 - bhi _08136C60 - bl MenuZeroFillScreen - ldr r0, _08136C68 @ =gWindowConfig_81E7080 - bl BasicInitMenuWindow -_08136C60: - adds r0, r4, 0 - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_08136C68: .4byte gWindowConfig_81E7080 - thumb_func_end sub_8136C40 - - thumb_func_start sub_8136C6C -sub_8136C6C: @ 8136C6C - push {lr} - ldr r0, _08136C8C @ =gWindowConfig_81E709C - bl BasicInitMenuWindow - movs r0, 0 - movs r1, 0x10 - movs r2, 0x1D - movs r3, 0x13 - bl MenuDrawTextWindow - ldr r3, _08136C90 @ =gUnknown_02039304 - ldr r0, [r3] - adds r0, 0x53 - movs r1, 0 - b _08136C9C - .align 2, 0 -_08136C8C: .4byte gWindowConfig_81E709C -_08136C90: .4byte gUnknown_02039304 -_08136C94: - ldr r0, [r3] - adds r0, 0x53 - ldrb r1, [r0] - adds r1, 0x1 -_08136C9C: - strb r1, [r0] - ldr r2, [r3] - adds r1, r2, 0 - adds r1, 0x53 - ldrb r0, [r1] - cmp r0, 0x4 - bhi _08136CDC - adds r0, r2, 0 - adds r0, 0x61 - ldrb r1, [r1] - adds r0, r1 - ldrb r0, [r0] - cmp r0, 0 - beq _08136C94 - ldr r0, _08136CD8 @ =gUnknown_02039304 - ldr r2, [r0] - adds r1, r2, 0 - adds r1, 0x53 - ldrb r0, [r1] - cmp r0, 0x4 - bhi _08136CDC - adds r0, r2, 0 - adds r0, 0x10 - ldrb r1, [r1] - adds r2, 0x61 - adds r2, r1 - ldrb r2, [r2] - bl sub_8136DC0 - b _08136CEE - .align 2, 0 -_08136CD8: .4byte gUnknown_02039304 -_08136CDC: - ldr r0, _08136CFC @ =gUnknown_02039304 - ldr r1, [r0] - adds r0, r1, 0 - adds r0, 0x10 - adds r1, 0x53 - ldrb r1, [r1] - movs r2, 0 - bl sub_8136DC0 -_08136CEE: - ldr r0, _08136CFC @ =gUnknown_02039304 - ldr r0, [r0] - adds r0, 0x10 - bl sub_8136DA0 - pop {r0} - bx r0 - .align 2, 0 -_08136CFC: .4byte gUnknown_02039304 - thumb_func_end sub_8136C6C - - thumb_func_start sub_8136D00 -sub_8136D00: @ 8136D00 - push {r4,r5,lr} - ldr r4, _08136D30 @ =gUnknown_02039304 - adds r3, r4, 0 - movs r5, 0x5 -_08136D08: - ldr r0, [r3] - adds r0, 0x53 - ldrb r1, [r0] - adds r1, 0x1 - strb r1, [r0] - ldr r2, [r3] - adds r1, r2, 0 - adds r1, 0x53 - ldrb r0, [r1] - cmp r0, 0x4 - bhi _08136D34 - adds r0, r2, 0 - adds r0, 0x61 - ldrb r1, [r1] - adds r0, r1 - ldrb r0, [r0] - cmp r0, 0 - bne _08136D3A - b _08136D08 - .align 2, 0 -_08136D30: .4byte gUnknown_02039304 -_08136D34: - strb r5, [r1] - movs r0, 0 - b _08136D5A -_08136D3A: - ldr r2, [r4] - adds r0, r2, 0 - adds r0, 0x10 - adds r1, r2, 0 - adds r1, 0x53 - ldrb r1, [r1] - adds r2, 0x61 - adds r2, r1 - ldrb r2, [r2] - bl sub_8136DC0 - ldr r0, [r4] - adds r0, 0x10 - bl sub_8136DA0 - movs r0, 0x1 -_08136D5A: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_8136D00 - - thumb_func_start sub_8136D60 -sub_8136D60: @ 8136D60 - push {lr} - ldr r0, _08136D84 @ =gWindowConfig_81E709C - bl BasicInitMenuWindow - movs r0, 0 - movs r1, 0x10 - movs r2, 0x1D - movs r3, 0x13 - bl MenuDrawTextWindow - ldr r0, _08136D88 @ =gOtherText_WontEat - movs r1, 0x1 - movs r2, 0x11 - bl MenuPrint - pop {r0} - bx r0 - .align 2, 0 -_08136D84: .4byte gWindowConfig_81E709C -_08136D88: .4byte gOtherText_WontEat - thumb_func_end sub_8136D60 - - thumb_func_start sub_8136D8C -sub_8136D8C: @ 8136D8C - push {lr} - bl MenuZeroFillScreen - ldr r0, _08136D9C @ =gWindowConfig_81E7080 - bl BasicInitMenuWindow - pop {r0} - bx r0 - .align 2, 0 -_08136D9C: .4byte gWindowConfig_81E7080 - thumb_func_end sub_8136D8C - - thumb_func_start sub_8136DA0 -sub_8136DA0: @ 8136DA0 - push {r4,lr} - adds r4, r0, 0 - movs r0, 0 - movs r1, 0x10 - movs r2, 0x1D - movs r3, 0x13 - bl MenuDrawTextWindow - adds r0, r4, 0 - movs r1, 0x1 - movs r2, 0x11 - bl MenuPrint - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_8136DA0 - - thumb_func_start sub_8136DC0 -sub_8136DC0: @ 8136DC0 - push {r4,lr} - adds r4, r0, 0 - lsls r1, 24 - lsrs r3, r1, 24 - lsls r2, 16 - lsrs r0, r2, 16 - asrs r2, 16 - cmp r2, 0 - beq _08136DFC - cmp r2, 0 - ble _08136DD8 - movs r0, 0 -_08136DD8: - lsls r0, 16 - ldr r1, _08136DF4 @ =gUnknown_08406134 - lsls r0, r3, 2 - adds r0, r1 - ldr r1, [r0] - adds r0, r4, 0 - bl StringCopy - ldr r1, _08136DF8 @ =gOtherText_WasEnhanced - adds r0, r4, 0 - bl StringAppend - b _08136E04 - .align 2, 0 -_08136DF4: .4byte gUnknown_08406134 -_08136DF8: .4byte gOtherText_WasEnhanced -_08136DFC: - ldr r1, _08136E0C @ =gOtherText_NothingChanged - adds r0, r4, 0 - bl StringCopy -_08136E04: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08136E0C: .4byte gOtherText_NothingChanged - thumb_func_end sub_8136DC0 - - thumb_func_start sub_8136E10 -sub_8136E10: @ 8136E10 - push {r4-r7,lr} - adds r6, r0, 0 - adds r5, r1, 0 - movs r4, 0 - ldr r7, _08136E3C @ =gUnknown_08406118 -_08136E1A: - lsls r0, r4, 2 - adds r0, r7 - ldr r1, [r0] - adds r0, r6, 0 - bl GetMonData - adds r1, r5, r4 - strb r0, [r1] - adds r0, r4, 0x1 - lsls r0, 16 - lsrs r4, r0, 16 - cmp r4, 0x4 - bls _08136E1A - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08136E3C: .4byte gUnknown_08406118 - thumb_func_end sub_8136E10 - - thumb_func_start sub_8136E40 -sub_8136E40: @ 8136E40 - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x4 - mov r8, r0 - adds r5, r1, 0 - adds r0, r5, 0 - movs r1, 0x30 - bl GetMonData - cmp r0, 0xFF - beq _08136EDC - mov r0, r8 - adds r1, r5, 0 - bl sub_8136F74 - movs r4, 0 - mov r7, sp -_08136E64: - ldr r1, _08136EE8 @ =gUnknown_08406118 - lsls r0, r4, 2 - adds r0, r1 - ldr r6, [r0] - adds r0, r5, 0 - adds r1, r6, 0 - bl GetMonData - lsls r0, 24 - lsrs r0, 24 - strb r0, [r7] - ldr r1, _08136EEC @ =gUnknown_02039304 - ldr r1, [r1] - lsls r2, r4, 1 - adds r1, 0x66 - adds r1, r2 - ldrh r1, [r1] - adds r0, r1 - lsls r0, 16 - lsrs r1, r0, 16 - cmp r0, 0 - bge _08136E92 - movs r1, 0 -_08136E92: - lsls r0, r1, 16 - asrs r0, 16 - cmp r0, 0xFF - ble _08136E9C - movs r1, 0xFF -_08136E9C: - strb r1, [r7] - adds r0, r5, 0 - adds r1, r6, 0 - mov r2, sp - bl SetMonData - adds r0, r4, 0x1 - lsls r0, 16 - lsrs r4, r0, 16 - cmp r4, 0x4 - bls _08136E64 - adds r0, r5, 0 - movs r1, 0x30 - bl GetMonData - lsls r0, 24 - lsrs r0, 24 - mov r2, r8 - ldrb r2, [r2, 0x6] - adds r1, r0, r2 - lsls r0, r1, 16 - asrs r0, 16 - cmp r0, 0xFF - ble _08136ECE - movs r1, 0xFF -_08136ECE: - mov r0, sp - strb r1, [r0] - adds r0, r5, 0 - movs r1, 0x30 - mov r2, sp - bl SetMonData -_08136EDC: - add sp, 0x4 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08136EE8: .4byte gUnknown_08406118 -_08136EEC: .4byte gUnknown_02039304 - thumb_func_end sub_8136E40 - - thumb_func_start sub_8136EF0 -sub_8136EF0: @ 8136EF0 - push {r4,r5,lr} - ldr r5, _08136F60 @ =gPlayerParty - ldr r0, _08136F64 @ =gUnknown_083DFEC4 - ldr r1, [r0] - ldr r2, _08136F68 @ =0x000087dc - adds r0, r1, r2 - movs r2, 0 - ldrsh r0, [r0, r2] - lsls r0, 2 - adds r1, r0 - ldr r0, _08136F6C @ =0x0000893e - adds r1, r0 - ldrb r0, [r1] - lsls r0, 27 - lsrs r0, 27 - movs r1, 0x64 - muls r0, r1 - adds r5, r0, r5 - ldr r4, _08136F70 @ =gUnknown_02039304 - ldr r1, [r4] - adds r1, 0x57 - adds r0, r5, 0 - bl sub_8136E10 - ldr r0, [r4] - ldr r0, [r0, 0x8] - adds r1, r5, 0 - bl sub_8136E40 - ldr r1, [r4] - adds r1, 0x5C - adds r0, r5, 0 - bl sub_8136E10 - movs r3, 0 -_08136F36: - ldr r0, [r4] - adds r2, r0, 0 - adds r2, 0x61 - adds r2, r3 - adds r1, r0, 0 - adds r1, 0x5C - adds r1, r3 - adds r0, 0x57 - adds r0, r3 - ldrb r1, [r1] - ldrb r0, [r0] - subs r1, r0 - strb r1, [r2] - adds r0, r3, 0x1 - lsls r0, 16 - lsrs r3, r0, 16 - cmp r3, 0x4 - bls _08136F36 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08136F60: .4byte gPlayerParty -_08136F64: .4byte gUnknown_083DFEC4 -_08136F68: .4byte 0x000087dc -_08136F6C: .4byte 0x0000893e -_08136F70: .4byte gUnknown_02039304 - thumb_func_end sub_8136EF0 - - thumb_func_start sub_8136F74 -sub_8136F74: @ 8136F74 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - mov r10, r1 - ldr r1, _08136FBC @ =gUnknown_02039304 - ldr r3, [r1] - ldrb r1, [r0, 0x1] - adds r2, r3, 0 - adds r2, 0x66 - strh r1, [r2] - ldrb r2, [r0, 0x5] - adds r1, r3, 0 - adds r1, 0x68 - strh r2, [r1] - ldrb r1, [r0, 0x4] - adds r2, r3, 0 - adds r2, 0x6A - strh r1, [r2] - ldrb r2, [r0, 0x3] - adds r1, r3, 0 - adds r1, 0x6C - strh r2, [r1] - ldrb r1, [r0, 0x2] - adds r0, r3, 0 - adds r0, 0x6E - strh r1, [r0] - ldr r0, _08136FC0 @ =gUnknown_02039312 - movs r1, 0 - ldrsh r0, [r0, r1] - cmp r0, 0 - ble _08136FC4 - movs r0, 0x1 - b _08136FCA - .align 2, 0 -_08136FBC: .4byte gUnknown_02039304 -_08136FC0: .4byte gUnknown_02039312 -_08136FC4: - cmp r0, 0 - bge _08137040 - movs r0, 0xFF -_08136FCA: - movs r2, 0 - lsls r0, 24 - mov r9, r0 - ldr r0, _08137050 @ =gUnknown_02039304 - mov r8, r0 -_08136FD4: - mov r0, r8 - ldr r1, [r0] - lsls r0, r2, 24 - asrs r6, r0, 24 - lsls r7, r6, 1 - adds r1, 0x66 - adds r1, r7 - movs r2, 0 - ldrsh r4, [r1, r2] - adds r0, r4, 0 - movs r1, 0xA - bl __divsi3 - lsls r0, 24 - lsrs r5, r0, 24 - adds r0, r4, 0 - movs r1, 0xA - bl __modsi3 - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x4 - ble _0813700C - lsls r0, r5, 24 - movs r1, 0x80 - lsls r1, 17 - adds r0, r1 - lsrs r5, r0, 24 -_0813700C: - ldr r0, _08137054 @ =gUnknown_0840612C - adds r0, r6, r0 - ldrb r1, [r0] - mov r0, r10 - bl sub_8040A54 - lsls r0, 24 - asrs r2, r0, 24 - cmp r0, r9 - bne _08137034 - mov r1, r8 - ldr r0, [r1] - adds r0, 0x66 - adds r0, r7 - lsls r1, r5, 24 - asrs r1, 24 - muls r1, r2 - ldrh r2, [r0] - adds r1, r2 - strh r1, [r0] -_08137034: - adds r0, r6, 0x1 - lsls r0, 24 - lsrs r2, r0, 24 - asrs r0, 24 - cmp r0, 0x4 - ble _08136FD4 -_08137040: - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08137050: .4byte gUnknown_02039304 -_08137054: .4byte gUnknown_0840612C - thumb_func_end sub_8136F74 - - thumb_func_start sub_8137058 -sub_8137058: @ 8137058 - push {lr} - ldr r0, _0813708C @ =gPlayerParty - ldr r1, _08137090 @ =gUnknown_083DFEC4 - ldr r2, [r1] - ldr r3, _08137094 @ =0x000087dc - adds r1, r2, r3 - movs r3, 0 - ldrsh r1, [r1, r3] - lsls r1, 2 - adds r2, r1 - ldr r1, _08137098 @ =0x0000893e - adds r2, r1 - ldrb r1, [r2] - lsls r1, 27 - lsrs r1, 27 - movs r2, 0x64 - muls r1, r2 - adds r0, r1, r0 - movs r1, 0x30 - bl GetMonData - cmp r0, 0xFF - beq _0813709C - movs r0, 0 - b _0813709E - .align 2, 0 -_0813708C: .4byte gPlayerParty -_08137090: .4byte gUnknown_083DFEC4 -_08137094: .4byte 0x000087dc -_08137098: .4byte 0x0000893e -_0813709C: - movs r0, 0x1 -_0813709E: - pop {r1} - bx r1 - thumb_func_end sub_8137058 - - thumb_func_start sub_81370A4 -sub_81370A4: @ 81370A4 - push {r4,r5,lr} - lsls r0, 24 - lsrs r5, r0, 24 - movs r4, 0 -_081370AC: - movs r0, 0x64 - muls r0, r4 - ldr r1, _081370C8 @ =gPlayerParty - adds r0, r1 - movs r1, 0x2D - bl GetMonData - cmp r0, 0 - bne _081370D2 - cmp r5, 0 - bne _081370CC - adds r0, r4, 0 - b _081370DE - .align 2, 0 -_081370C8: .4byte gPlayerParty -_081370CC: - subs r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 -_081370D2: - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x5 - bls _081370AC - movs r0, 0 -_081370DE: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_81370A4 - - thumb_func_start sub_81370E4 -sub_81370E4: @ 81370E4 - push {r4-r6,lr} - lsls r0, 24 - lsrs r5, r0, 24 - movs r4, 0 - movs r6, 0 - cmp r6, r5 - bcs _08137114 -_081370F2: - movs r0, 0x64 - muls r0, r4 - ldr r1, _08137120 @ =gPlayerParty - adds r0, r1 - movs r1, 0x2D - bl GetMonData - cmp r0, 0 - beq _0813710A - adds r0, r6, 0x1 - lsls r0, 24 - lsrs r6, r0, 24 -_0813710A: - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, r5 - bcc _081370F2 -_08137114: - subs r0, r5, r6 - lsls r0, 24 - lsrs r0, 24 - pop {r4-r6} - pop {r1} - bx r1 - .align 2, 0 -_08137120: .4byte gPlayerParty - thumb_func_end sub_81370E4 - - thumb_func_start sub_8137124 -sub_8137124: @ 8137124 - push {lr} - lsls r0, 24 - lsrs r0, 24 - bl sub_81370A4 - lsls r0, 24 - lsrs r0, 24 - pop {r1} - bx r1 - thumb_func_end sub_8137124 - - thumb_func_start sub_8137138 -sub_8137138: @ 8137138 - push {r4-r7,lr} - mov r7, r8 - push {r7} - ldr r0, _081371C0 @ =gSpriteSheet_ConditionUpDown - bl LoadSpriteSheet - ldr r0, _081371C4 @ =gSpritePalette_ConditionUpDown - bl LoadSpritePalette - ldr r2, _081371C8 @ =gUnknown_02039304 - ldr r0, [r2] - adds r0, 0x54 - movs r1, 0 - strb r1, [r0] - movs r4, 0 - adds r5, r2, 0 - ldr r6, _081371CC @ =gUnknown_08406158 - adds r0, r6, 0x2 - mov r8, r0 - ldr r7, _081371D0 @ =gSprites + 0x1C -_08137160: - ldr r0, [r5] - adds r0, 0x61 - adds r0, r4 - ldrb r0, [r0] - cmp r0, 0 - beq _081371AC - lsls r2, r4, 2 - adds r0, r2, r6 - movs r3, 0 - ldrsh r1, [r0, r3] - add r2, r8 - movs r0, 0 - ldrsh r2, [r2, r0] - ldr r0, _081371D4 @ =gSpriteTemplate_840618C - movs r3, 0 - bl CreateSprite - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0x40 - beq _081371AC - ldr r0, [r5] - adds r0, 0x61 - adds r0, r4 - ldrb r0, [r0] - cmp r0, 0 - beq _081371A2 - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r7 - ldr r1, _081371D8 @ =sub_81371DC - str r1, [r0] -_081371A2: - ldr r1, [r5] - adds r1, 0x54 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] -_081371AC: - adds r0, r4, 0x1 - lsls r0, 16 - lsrs r4, r0, 16 - cmp r4, 0x4 - bls _08137160 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_081371C0: .4byte gSpriteSheet_ConditionUpDown -_081371C4: .4byte gSpritePalette_ConditionUpDown -_081371C8: .4byte gUnknown_02039304 -_081371CC: .4byte gUnknown_08406158 -_081371D0: .4byte gSprites + 0x1C -_081371D4: .4byte gSpriteTemplate_840618C -_081371D8: .4byte sub_81371DC - thumb_func_end sub_8137138 - - thumb_func_start sub_81371DC -sub_81371DC: @ 81371DC - push {lr} - adds r1, r0, 0 - movs r2, 0x2E - ldrsh r0, [r1, r2] - cmp r0, 0x5 - bgt _081371EE - ldrh r0, [r1, 0x26] - subs r0, 0x2 - b _081371F6 -_081371EE: - cmp r0, 0xB - bgt _081371F8 - ldrh r0, [r1, 0x26] - adds r0, 0x2 -_081371F6: - strh r0, [r1, 0x26] -_081371F8: - ldrh r0, [r1, 0x2E] - adds r0, 0x1 - strh r0, [r1, 0x2E] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x3C - ble _08137218 - adds r0, r1, 0 - bl DestroySprite - ldr r0, _0813721C @ =gUnknown_02039304 - ldr r1, [r0] - adds r1, 0x54 - ldrb r0, [r1] - subs r0, 0x1 - strb r0, [r1] -_08137218: - pop {r0} - bx r0 - .align 2, 0 -_0813721C: .4byte gUnknown_02039304 - thumb_func_end sub_81371DC - - .align 2, 0 @ Don't pad with nop. |