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_specials.s | 4934 |
6 files changed, 44 insertions, 9653 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_specials.s b/asm/field_specials.s deleted file mode 100644 index 8523e540b..000000000 --- a/asm/field_specials.s +++ /dev/null @@ -1,4934 +0,0 @@ - .include "constants/gba_constants.inc" - .include "constants/species_constants.inc" - .include "asm/macros.inc" - - .syntax unified - - .text - - thumb_func_start SetSSTidalFlag -SetSSTidalFlag: @ 810D980 - push {lr} - ldr r0, _0810D998 @ =0x0000082d - bl FlagSet - ldr r0, _0810D99C @ =0x0000404a - bl GetVarPointer - movs r1, 0 - strh r1, [r0] - pop {r0} - bx r0 - .align 2, 0 -_0810D998: .4byte 0x0000082d -_0810D99C: .4byte 0x0000404a - thumb_func_end SetSSTidalFlag - - thumb_func_start ResetSSTidalFlag -ResetSSTidalFlag: @ 810D9A0 - push {lr} - ldr r0, _0810D9AC @ =0x0000082d - bl FlagReset - pop {r0} - bx r0 - .align 2, 0 -_0810D9AC: .4byte 0x0000082d - thumb_func_end ResetSSTidalFlag - - thumb_func_start CountSSTidalStep -CountSSTidalStep: @ 810D9B0 - push {r4,lr} - lsls r0, 16 - lsrs r4, r0, 16 - ldr r0, _0810D9DC @ =0x0000082d - bl FlagGet - lsls r0, 24 - cmp r0, 0 - beq _0810D9D6 - ldr r0, _0810D9E0 @ =0x0000404a - bl GetVarPointer - ldrh r1, [r0] - adds r1, r4, r1 - strh r1, [r0] - lsls r1, 16 - lsrs r1, 16 - cmp r1, 0xCC - bhi _0810D9E4 -_0810D9D6: - movs r0, 0 - b _0810D9E6 - .align 2, 0 -_0810D9DC: .4byte 0x0000082d -_0810D9E0: .4byte 0x0000404a -_0810D9E4: - movs r0, 0x1 -_0810D9E6: - pop {r4} - pop {r1} - bx r1 - thumb_func_end CountSSTidalStep - - thumb_func_start GetSSTidalLocation -GetSSTidalLocation: @ 810D9EC - push {r4-r7,lr} - mov r7, r8 - push {r7} - mov r8, r0 - adds r5, r1, 0 - adds r6, r2, 0 - adds r7, r3, 0 - ldr r0, _0810DA1C @ =0x0000404a - bl GetVarPointer - adds r4, r0, 0 - ldr r0, _0810DA20 @ =0x000040b4 - bl GetVarPointer - ldrh r0, [r0] - subs r0, 0x1 - cmp r0, 0x9 - bhi _0810DAB2 - lsls r0, 2 - ldr r1, _0810DA24 @ =_0810DA28 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0810DA1C: .4byte 0x0000404a -_0810DA20: .4byte 0x000040b4 -_0810DA24: .4byte _0810DA28 - .align 2, 0 -_0810DA28: - .4byte _0810DA50 - .4byte _0810DA60 - .4byte _0810DA54 - .4byte _0810DA58 - .4byte _0810DA58 - .4byte _0810DA5C - .4byte _0810DA88 - .4byte _0810DA50 - .4byte _0810DA54 - .4byte _0810DA5C -_0810DA50: - movs r0, 0x1 - b _0810DABE -_0810DA54: - movs r0, 0x4 - b _0810DABE -_0810DA58: - movs r0, 0x2 - b _0810DABE -_0810DA5C: - movs r0, 0x3 - b _0810DABE -_0810DA60: - ldrh r0, [r4] - cmp r0, 0x3B - bhi _0810DA70 - movs r0, 0x31 - strb r0, [r5] - ldrh r0, [r4] - adds r0, 0x13 - b _0810DAB0 -_0810DA70: - cmp r0, 0x8B - bhi _0810DA7E - movs r0, 0x30 - strb r0, [r5] - ldrh r0, [r4] - subs r0, 0x3C - b _0810DAB0 -_0810DA7E: - movs r0, 0x2F - strb r0, [r5] - ldrh r0, [r4] - subs r0, 0x8C - b _0810DAB0 -_0810DA88: - ldrh r0, [r4] - cmp r0, 0x41 - bhi _0810DA98 - movs r0, 0x2F - strb r0, [r5] - ldrh r1, [r4] - movs r0, 0x41 - b _0810DAAE -_0810DA98: - cmp r0, 0x91 - bhi _0810DAA6 - movs r0, 0x30 - strb r0, [r5] - ldrh r1, [r4] - movs r0, 0x91 - b _0810DAAE -_0810DAA6: - movs r0, 0x31 - strb r0, [r5] - ldrh r1, [r4] - movs r0, 0xE0 -_0810DAAE: - subs r0, r1 -_0810DAB0: - strh r0, [r6] -_0810DAB2: - movs r0, 0 - mov r1, r8 - strb r0, [r1] - movs r0, 0x14 - strh r0, [r7] - movs r0, 0 -_0810DABE: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end GetSSTidalLocation - - thumb_func_start GetLinkPartnerNames -GetLinkPartnerNames: @ 810DAC8 - push {r4-r7,lr} - mov r7, r8 - push {r7} - movs r6, 0 - bl sub_8008218 - lsls r0, 24 - lsrs r7, r0, 24 - bl sub_800820C - lsls r0, 24 - lsrs r5, r0, 24 - movs r4, 0 - cmp r4, r5 - bcs _0810DB12 - ldr r0, _0810DB20 @ =gUnknown_083D1464 - mov r8, r0 -_0810DAEA: - cmp r7, r4 - beq _0810DB08 - lsls r0, r6, 2 - add r0, r8 - ldr r0, [r0] - lsls r1, r4, 3 - subs r1, r4 - lsls r1, 2 - ldr r2, _0810DB24 @ =gLinkPlayers + 0x8 - adds r1, r2 - bl StringCopy - adds r0, r6, 0x1 - lsls r0, 24 - lsrs r6, r0, 24 -_0810DB08: - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, r5 - bcc _0810DAEA -_0810DB12: - adds r0, r5, 0 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_0810DB20: .4byte gUnknown_083D1464 -_0810DB24: .4byte gLinkPlayers + 0x8 - thumb_func_end GetLinkPartnerNames - - thumb_func_start SpawnBerryBlenderLinkPlayerSprites -SpawnBerryBlenderLinkPlayerSprites: @ 810DB28 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x14 - movs r7, 0 - movs r0, 0 - mov r9, r0 - mov r8, r0 - ldr r1, _0810DB74 @ =gUnknown_083F8358 - add r0, sp, 0x8 - movs r2, 0x4 - bl memcpy - add r4, sp, 0xC - ldr r1, _0810DB78 @ =gUnknown_083F835C - adds r0, r4, 0 - movs r2, 0x8 - bl memcpy - bl sub_8008218 - lsls r0, 24 - lsrs r0, 24 - mov r10, r0 - bl player_get_direction_lower_nybble - lsls r0, 24 - lsrs r0, 24 - adds r1, r0, 0 - cmp r0, 0x2 - beq _0810DB94 - cmp r0, 0x2 - bgt _0810DB7C - cmp r0, 0x1 - beq _0810DBC0 - b _0810DBD2 - .align 2, 0 -_0810DB74: .4byte gUnknown_083F8358 -_0810DB78: .4byte gUnknown_083F835C -_0810DB7C: - cmp r1, 0x3 - beq _0810DB86 - cmp r1, 0x4 - beq _0810DBA8 - b _0810DBD2 -_0810DB86: - movs r7, 0x2 - ldr r1, _0810DB90 @ =gSaveBlock1 - ldrh r0, [r1] - subs r0, 0x1 - b _0810DBAE - .align 2, 0 -_0810DB90: .4byte gSaveBlock1 -_0810DB94: - movs r7, 0x1 - ldr r0, _0810DBA4 @ =gSaveBlock1 - ldrh r1, [r0] - mov r9, r1 - ldrh r0, [r0, 0x2] - subs r0, 0x1 - b _0810DBCC - .align 2, 0 -_0810DBA4: .4byte gSaveBlock1 -_0810DBA8: - ldr r1, _0810DBBC @ =gSaveBlock1 - ldrh r0, [r1] - adds r0, 0x1 -_0810DBAE: - lsls r0, 16 - lsrs r0, 16 - mov r9, r0 - ldrh r1, [r1, 0x2] - mov r8, r1 - b _0810DBD2 - .align 2, 0 -_0810DBBC: .4byte gSaveBlock1 -_0810DBC0: - movs r7, 0x3 - ldr r0, _0810DBD8 @ =gSaveBlock1 - ldrh r4, [r0] - mov r9, r4 - ldrh r0, [r0, 0x2] - adds r0, 0x1 -_0810DBCC: - lsls r0, 16 - lsrs r0, 16 - mov r8, r0 -_0810DBD2: - movs r6, 0 - b _0810DC5C - .align 2, 0 -_0810DBD8: .4byte gSaveBlock1 -_0810DBDC: - cmp r10, r6 - beq _0810DC56 - ldr r1, _0810DC74 @ =gLinkPlayers - lsls r0, r6, 3 - subs r0, r6 - lsls r0, 2 - adds r0, r1 - ldrb r1, [r0, 0x13] - movs r0, 0 - bl GetRivalAvatarGraphicsIdByStateIdAndGender - lsls r0, 24 - lsrs r0, 24 - mov r1, sp - adds r1, r7 - adds r1, 0x8 - ldrb r1, [r1] - movs r2, 0xF0 - subs r2, r6 - lsls r2, 24 - lsrs r2, 24 - lsls r5, r7, 1 - mov r3, sp - adds r3, r5 - adds r3, 0xC - ldrb r3, [r3] - lsls r3, 24 - asrs r3, 24 - mov r12, r3 - mov r4, r9 - lsls r3, r4, 16 - asrs r3, 16 - add r3, r12 - adds r3, 0x7 - lsls r3, 16 - asrs r3, 16 - mov r4, sp - adds r4, 0xD - adds r4, r5 - ldrb r4, [r4] - lsls r4, 24 - asrs r4, 24 - mov r12, r4 - mov r5, r8 - lsls r4, r5, 16 - asrs r4, 16 - add r4, r12 - adds r4, 0x7 - lsls r4, 16 - asrs r4, 16 - str r4, [sp] - movs r4, 0 - str r4, [sp, 0x4] - bl SpawnSpecialFieldObjectParametrized - adds r0, r7, 0x1 - lsls r0, 24 - lsrs r7, r0, 24 - cmp r7, 0x4 - bne _0810DC56 - movs r7, 0 -_0810DC56: - adds r0, r6, 0x1 - lsls r0, 24 - lsrs r6, r0, 24 -_0810DC5C: - ldr r0, _0810DC78 @ =gSpecialVar_0x8004 - ldrh r0, [r0] - cmp r6, r0 - bcc _0810DBDC - add sp, 0x14 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0810DC74: .4byte gLinkPlayers -_0810DC78: .4byte gSpecialVar_0x8004 - thumb_func_end SpawnBerryBlenderLinkPlayerSprites - - thumb_func_start MauvilleGymSpecial1 -MauvilleGymSpecial1: @ 810DC7C - push {r4,r5,lr} - movs r4, 0 - ldr r5, _0810DC9C @ =gUnknown_083F8364 -_0810DC82: - ldr r0, _0810DCA0 @ =gSpecialVar_0x8004 - ldrh r0, [r0] - cmp r4, r0 - bne _0810DCA8 - lsls r1, r4, 2 - adds r1, r5 - ldrb r0, [r1] - ldrb r1, [r1, 0x1] - ldr r2, _0810DCA4 @ =0x00000206 - bl MapGridSetMetatileIdAt - b _0810DCB6 - .align 2, 0 -_0810DC9C: .4byte gUnknown_083F8364 -_0810DCA0: .4byte gSpecialVar_0x8004 -_0810DCA4: .4byte 0x00000206 -_0810DCA8: - lsls r1, r4, 2 - adds r1, r5 - ldrb r0, [r1] - ldrb r1, [r1, 0x1] - ldr r2, _0810DCC8 @ =0x00000205 - bl MapGridSetMetatileIdAt -_0810DCB6: - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x2 - bls _0810DC82 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0810DCC8: .4byte 0x00000205 - thumb_func_end MauvilleGymSpecial1 - - thumb_func_start MauvilleGymSpecial2 -MauvilleGymSpecial2: @ 810DCCC - push {r4-r6,lr} - movs r5, 0xC -_0810DCD0: - movs r4, 0x7 - adds r6, r5, 0x1 -_0810DCD4: - adds r0, r4, 0 - adds r1, r5, 0 - bl MapGridGetMetatileIdAt - ldr r1, _0810DCF0 @ =0xfffffde6 - adds r0, r1 - cmp r0, 0x37 - bls _0810DCE6 - b _0810DEC0 -_0810DCE6: - lsls r0, 2 - ldr r1, _0810DCF4 @ =_0810DCF8 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0810DCF0: .4byte 0xfffffde6 -_0810DCF4: .4byte _0810DCF8 - .align 2, 0 -_0810DCF8: - .4byte _0810DE7E - .4byte _0810DEC0 - .4byte _0810DEC0 - .4byte _0810DEC0 - .4byte _0810DEC0 - .4byte _0810DEC0 - .4byte _0810DDD8 - .4byte _0810DDDE - .4byte _0810DE18 - .4byte _0810DE20 - .4byte _0810DEC0 - .4byte _0810DEC0 - .4byte _0810DEC0 - .4byte _0810DEC0 - .4byte _0810DDE8 - .4byte _0810DDEE - .4byte _0810DE28 - .4byte _0810DE30 - .4byte _0810DEC0 - .4byte _0810DEC0 - .4byte _0810DEC0 - .4byte _0810DEC0 - .4byte _0810DDF8 - .4byte _0810DDFE - .4byte _0810DE38 - .4byte _0810DE40 - .4byte _0810DEC0 - .4byte _0810DEC0 - .4byte _0810DEC0 - .4byte _0810DEC0 - .4byte _0810DE08 - .4byte _0810DE10 - .4byte _0810DE48 - .4byte _0810DE50 - .4byte _0810DEC0 - .4byte _0810DEC0 - .4byte _0810DEC0 - .4byte _0810DEC0 - .4byte _0810DE58 - .4byte _0810DE68 - .4byte _0810DE78 - .4byte _0810DEA0 - .4byte _0810DEC0 - .4byte _0810DEC0 - .4byte _0810DEC0 - .4byte _0810DEC0 - .4byte _0810DE60 - .4byte _0810DE70 - .4byte _0810DEC0 - .4byte _0810DEC0 - .4byte _0810DEC0 - .4byte _0810DEC0 - .4byte _0810DEC0 - .4byte _0810DEC0 - .4byte _0810DEB6 - .4byte _0810DEA8 -_0810DDD8: - movs r2, 0x8C - lsls r2, 2 - b _0810DEAC -_0810DDDE: - ldr r2, _0810DDE4 @ =0x00000231 - b _0810DEAC - .align 2, 0 -_0810DDE4: .4byte 0x00000231 -_0810DDE8: - movs r2, 0x8E - lsls r2, 2 - b _0810DEAC -_0810DDEE: - ldr r2, _0810DDF4 @ =0x00000239 - b _0810DEAC - .align 2, 0 -_0810DDF4: .4byte 0x00000239 -_0810DDF8: - movs r2, 0x88 - lsls r2, 2 - b _0810DEAC -_0810DDFE: - ldr r2, _0810DE04 @ =0x00000221 - b _0810DEAC - .align 2, 0 -_0810DE04: .4byte 0x00000221 -_0810DE08: - ldr r2, _0810DE0C @ =0x00000e28 - b _0810DEAC - .align 2, 0 -_0810DE0C: .4byte 0x00000e28 -_0810DE10: - ldr r2, _0810DE14 @ =0x00000e29 - b _0810DEAC - .align 2, 0 -_0810DE14: .4byte 0x00000e29 -_0810DE18: - ldr r2, _0810DE1C @ =0x00000232 - b _0810DEAC - .align 2, 0 -_0810DE1C: .4byte 0x00000232 -_0810DE20: - ldr r2, _0810DE24 @ =0x00000233 - b _0810DEAC - .align 2, 0 -_0810DE24: .4byte 0x00000233 -_0810DE28: - ldr r2, _0810DE2C @ =0x0000023a - b _0810DEAC - .align 2, 0 -_0810DE2C: .4byte 0x0000023a -_0810DE30: - ldr r2, _0810DE34 @ =0x0000023b - b _0810DEAC - .align 2, 0 -_0810DE34: .4byte 0x0000023b -_0810DE38: - ldr r2, _0810DE3C @ =0x00000222 - b _0810DEAC - .align 2, 0 -_0810DE3C: .4byte 0x00000222 -_0810DE40: - ldr r2, _0810DE44 @ =0x00000223 - b _0810DEAC - .align 2, 0 -_0810DE44: .4byte 0x00000223 -_0810DE48: - ldr r2, _0810DE4C @ =0x00000e2a - b _0810DEAC - .align 2, 0 -_0810DE4C: .4byte 0x00000e2a -_0810DE50: - ldr r2, _0810DE54 @ =0x00000e2b - b _0810DEAC - .align 2, 0 -_0810DE54: .4byte 0x00000e2b -_0810DE58: - ldr r2, _0810DE5C @ =0x00000e42 - b _0810DEAC - .align 2, 0 -_0810DE5C: .4byte 0x00000e42 -_0810DE60: - ldr r2, _0810DE64 @ =0x0000021a - b _0810DEAC - .align 2, 0 -_0810DE64: .4byte 0x0000021a -_0810DE68: - ldr r2, _0810DE6C @ =0x00000e43 - b _0810DEAC - .align 2, 0 -_0810DE6C: .4byte 0x00000e43 -_0810DE70: - ldr r2, _0810DE74 @ =0x0000021a - b _0810DEAC - .align 2, 0 -_0810DE74: .4byte 0x0000021a -_0810DE78: - movs r2, 0xE4 - lsls r2, 4 - b _0810DEAC -_0810DE7E: - subs r1, r5, 0x1 - adds r0, r4, 0 - bl MapGridGetMetatileIdAt - movs r1, 0x90 - lsls r1, 2 - cmp r0, r1 - bne _0810DE98 - ldr r2, _0810DE94 @ =0x00000e48 - b _0810DEAC - .align 2, 0 -_0810DE94: .4byte 0x00000e48 -_0810DE98: - ldr r2, _0810DE9C @ =0x00000e49 - b _0810DEAC - .align 2, 0 -_0810DE9C: .4byte 0x00000e49 -_0810DEA0: - ldr r2, _0810DEA4 @ =0x00000e41 - b _0810DEAC - .align 2, 0 -_0810DEA4: .4byte 0x00000e41 -_0810DEA8: - movs r2, 0xE5 - lsls r2, 4 -_0810DEAC: - adds r0, r4, 0 - adds r1, r5, 0 - bl MapGridSetMetatileIdAt - b _0810DEC0 -_0810DEB6: - ldr r2, _0810DED8 @ =0x00000251 - adds r0, r4, 0 - adds r1, r5, 0 - bl MapGridSetMetatileIdAt -_0810DEC0: - adds r4, 0x1 - cmp r4, 0xF - bgt _0810DEC8 - b _0810DCD4 -_0810DEC8: - adds r5, r6, 0 - cmp r5, 0x17 - bgt _0810DED0 - b _0810DCD0 -_0810DED0: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0810DED8: .4byte 0x00000251 - thumb_func_end MauvilleGymSpecial2 - - thumb_func_start MauvilleGymSpecial3 -MauvilleGymSpecial3: @ 810DEDC - push {r4-r6,lr} - ldr r4, _0810DF18 @ =gUnknown_083F8364 - movs r5, 0x2 -_0810DEE2: - ldrb r0, [r4] - ldrb r1, [r4, 0x1] - ldr r2, _0810DF1C @ =0x00000206 - bl MapGridSetMetatileIdAt - adds r4, 0x4 - subs r5, 0x1 - cmp r5, 0 - bge _0810DEE2 - movs r5, 0xC -_0810DEF6: - movs r4, 0x7 - adds r6, r5, 0x1 -_0810DEFA: - adds r0, r4, 0 - adds r1, r5, 0 - bl MapGridGetMetatileIdAt - ldr r1, _0810DF20 @ =0xfffffde0 - adds r0, r1 - cmp r0, 0x30 - bls _0810DF0C - b _0810E056 -_0810DF0C: - lsls r0, 2 - ldr r1, _0810DF24 @ =_0810DF28 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0810DF18: .4byte gUnknown_083F8364 -_0810DF1C: .4byte 0x00000206 -_0810DF20: .4byte 0xfffffde0 -_0810DF24: .4byte _0810DF28 - .align 2, 0 -_0810DF28: - .4byte _0810DFEC - .4byte _0810DFF2 - .4byte _0810E00C - .4byte _0810E014 - .4byte _0810E056 - .4byte _0810E056 - .4byte _0810E056 - .4byte _0810E056 - .4byte _0810DFFC - .4byte _0810E002 - .4byte _0810E01C - .4byte _0810E024 - .4byte _0810E056 - .4byte _0810E056 - .4byte _0810E056 - .4byte _0810E056 - .4byte _0810E056 - .4byte _0810E056 - .4byte _0810E056 - .4byte _0810E056 - .4byte _0810E056 - .4byte _0810E056 - .4byte _0810E056 - .4byte _0810E056 - .4byte _0810E056 - .4byte _0810E056 - .4byte _0810E056 - .4byte _0810E056 - .4byte _0810E056 - .4byte _0810E056 - .4byte _0810E056 - .4byte _0810E056 - .4byte _0810E02C - .4byte _0810E034 - .4byte _0810E056 - .4byte _0810E056 - .4byte _0810E056 - .4byte _0810E056 - .4byte _0810E056 - .4byte _0810E056 - .4byte _0810E03C - .4byte _0810E03C - .4byte _0810E056 - .4byte _0810E056 - .4byte _0810E056 - .4byte _0810E056 - .4byte _0810E056 - .4byte _0810E056 - .4byte _0810E04C -_0810DFEC: - movs r2, 0x8C - lsls r2, 2 - b _0810E03E -_0810DFF2: - ldr r2, _0810DFF8 @ =0x00000231 - b _0810E03E - .align 2, 0 -_0810DFF8: .4byte 0x00000231 -_0810DFFC: - movs r2, 0x8E - lsls r2, 2 - b _0810E03E -_0810E002: - ldr r2, _0810E008 @ =0x00000239 - b _0810E03E - .align 2, 0 -_0810E008: .4byte 0x00000239 -_0810E00C: - ldr r2, _0810E010 @ =0x00000232 - b _0810E03E - .align 2, 0 -_0810E010: .4byte 0x00000232 -_0810E014: - ldr r2, _0810E018 @ =0x00000233 - b _0810E03E - .align 2, 0 -_0810E018: .4byte 0x00000233 -_0810E01C: - ldr r2, _0810E020 @ =0x0000023a - b _0810E03E - .align 2, 0 -_0810E020: .4byte 0x0000023a -_0810E024: - ldr r2, _0810E028 @ =0x0000023b - b _0810E03E - .align 2, 0 -_0810E028: .4byte 0x0000023b -_0810E02C: - ldr r2, _0810E030 @ =0x00000e42 - b _0810E03E - .align 2, 0 -_0810E030: .4byte 0x00000e42 -_0810E034: - ldr r2, _0810E038 @ =0x00000e43 - b _0810E03E - .align 2, 0 -_0810E038: .4byte 0x00000e43 -_0810E03C: - ldr r2, _0810E048 @ =0x0000021a -_0810E03E: - adds r0, r4, 0 - adds r1, r5, 0 - bl MapGridSetMetatileIdAt - b _0810E056 - .align 2, 0 -_0810E048: .4byte 0x0000021a -_0810E04C: - ldr r2, _0810E06C @ =0x00000251 - adds r0, r4, 0 - adds r1, r5, 0 - bl MapGridSetMetatileIdAt -_0810E056: - adds r4, 0x1 - cmp r4, 0xF - bgt _0810E05E - b _0810DEFA -_0810E05E: - adds r5, r6, 0 - cmp r5, 0x17 - bgt _0810E066 - b _0810DEF6 -_0810E066: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0810E06C: .4byte 0x00000251 - thumb_func_end MauvilleGymSpecial3 - - thumb_func_start PetalburgGymSpecial1 -PetalburgGymSpecial1: @ 810E070 - push {lr} - ldr r0, _0810E090 @ =gUnknown_02039258 - movs r1, 0 - strb r1, [r0] - ldr r0, _0810E094 @ =gUnknown_02039259 - strb r1, [r0] - movs r0, 0x2C - bl PlaySE - ldr r0, _0810E098 @ =Task_PetalburgGym - movs r1, 0x8 - bl CreateTask - pop {r0} - bx r0 - .align 2, 0 -_0810E090: .4byte gUnknown_02039258 -_0810E094: .4byte gUnknown_02039259 -_0810E098: .4byte Task_PetalburgGym - thumb_func_end PetalburgGymSpecial1 - - thumb_func_start Task_PetalburgGym -Task_PetalburgGym: @ 810E09C - push {r4-r6,lr} - lsls r0, 24 - lsrs r6, r0, 24 - ldr r0, _0810E0E4 @ =gUnknown_083F8370 - ldr r5, _0810E0E8 @ =gUnknown_02039259 - ldrb r1, [r5] - adds r0, r1, r0 - ldr r4, _0810E0EC @ =gUnknown_02039258 - ldrb r2, [r4] - ldrb r0, [r0] - cmp r0, r2 - bne _0810E0F8 - ldr r0, _0810E0F0 @ =gSpecialVar_0x8004 - ldrb r0, [r0] - ldr r2, _0810E0F4 @ =gUnknown_083F8376 - lsls r1, 1 - adds r1, r2 - ldrh r1, [r1] - bl PetalburgGymFunc - movs r0, 0 - strb r0, [r4] - ldrb r0, [r5] - adds r0, 0x1 - strb r0, [r5] - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x5 - bne _0810E0FC - adds r0, r6, 0 - bl DestroyTask - bl EnableBothScriptContexts - b _0810E0FC - .align 2, 0 -_0810E0E4: .4byte gUnknown_083F8370 -_0810E0E8: .4byte gUnknown_02039259 -_0810E0EC: .4byte gUnknown_02039258 -_0810E0F0: .4byte gSpecialVar_0x8004 -_0810E0F4: .4byte gUnknown_083F8376 -_0810E0F8: - adds r0, r2, 0x1 - strb r0, [r4] -_0810E0FC: - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end Task_PetalburgGym - - thumb_func_start PetalburgGymFunc -PetalburgGymFunc: @ 810E104 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - sub sp, 0x10 - lsls r0, 24 - lsrs r0, 24 - lsls r1, 16 - lsrs r2, r1, 16 - movs r7, 0 - subs r0, 0x1 - cmp r0, 0x7 - bhi _0810E1CC - lsls r0, 2 - ldr r1, _0810E128 @ =_0810E12C - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0810E128: .4byte _0810E12C - .align 2, 0 -_0810E12C: - .4byte _0810E14C - .4byte _0810E15E - .4byte _0810E170 - .4byte _0810E182 - .4byte _0810E190 - .4byte _0810E1A6 - .4byte _0810E1B2 - .4byte _0810E1C0 -_0810E14C: - movs r7, 0x2 - mov r1, sp - movs r0, 0x1 - strh r0, [r1] - movs r0, 0x7 - strh r0, [r1, 0x2] - add r1, sp, 0x8 - movs r0, 0x68 - b _0810E1A0 -_0810E15E: - movs r7, 0x2 - mov r1, sp - movs r0, 0x1 - strh r0, [r1] - movs r0, 0x7 - strh r0, [r1, 0x2] - add r1, sp, 0x8 - movs r0, 0x4E - b _0810E1A0 -_0810E170: - movs r7, 0x2 - mov r1, sp - movs r0, 0x1 - strh r0, [r1] - movs r0, 0x7 - strh r0, [r1, 0x2] - add r1, sp, 0x8 - movs r0, 0x5B - b _0810E1A0 -_0810E182: - movs r7, 0x1 - mov r1, sp - movs r0, 0x7 - strh r0, [r1] - add r1, sp, 0x8 - movs r0, 0x27 - b _0810E1CA -_0810E190: - movs r7, 0x2 - mov r1, sp - movs r0, 0x1 - strh r0, [r1] - movs r0, 0x7 - strh r0, [r1, 0x2] - add r1, sp, 0x8 - movs r0, 0x34 -_0810E1A0: - strh r0, [r1] - strh r0, [r1, 0x2] - b _0810E1CC -_0810E1A6: - movs r7, 0x1 - mov r0, sp - strh r7, [r0] - add r1, sp, 0x8 - movs r0, 0x41 - b _0810E1CA -_0810E1B2: - movs r7, 0x1 - mov r1, sp - movs r0, 0x7 - strh r0, [r1] - add r1, sp, 0x8 - movs r0, 0xD - b _0810E1CA -_0810E1C0: - movs r7, 0x1 - mov r0, sp - strh r7, [r0] - add r1, sp, 0x8 - movs r0, 0x1A -_0810E1CA: - strh r0, [r1] -_0810E1CC: - movs r6, 0 - cmp r6, r7 - bcs _0810E21E - movs r1, 0xC0 - lsls r1, 4 - adds r0, r1, 0 - adds r1, r2, 0 - orrs r1, r0 - lsls r1, 16 - mov r9, r1 - adds r1, r2, 0 - adds r1, 0x8 - orrs r1, r0 - lsls r1, 16 - mov r8, r1 -_0810E1EA: - lsls r1, r6, 1 - mov r3, sp - adds r5, r3, r1 - ldrh r0, [r5] - adds r0, 0x7 - add r4, sp, 0x8 - adds r4, r1 - ldrh r1, [r4] - adds r1, 0x7 - mov r3, r9 - lsrs r2, r3, 16 - bl MapGridSetMetatileIdAt - ldrh r0, [r5] - adds r0, 0x7 - ldrh r1, [r4] - adds r1, 0x8 - mov r3, r8 - lsrs r2, r3, 16 - bl MapGridSetMetatileIdAt - adds r0, r6, 0x1 - lsls r0, 24 - lsrs r6, r0, 24 - cmp r6, r7 - bcc _0810E1EA -_0810E21E: - bl DrawWholeMapView - add sp, 0x10 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end PetalburgGymFunc - - thumb_func_start PetalburgGymSpecial2 -PetalburgGymSpecial2: @ 810E230 - push {lr} - ldr r0, _0810E244 @ =gSpecialVar_0x8004 - ldrb r0, [r0] - ldr r1, _0810E248 @ =gUnknown_083F8376 - ldrh r1, [r1, 0x8] - bl PetalburgGymFunc - pop {r0} - bx r0 - .align 2, 0 -_0810E244: .4byte gSpecialVar_0x8004 -_0810E248: .4byte gUnknown_083F8376 - thumb_func_end PetalburgGymSpecial2 - - thumb_func_start ShowFieldMessageStringVar4 -ShowFieldMessageStringVar4: @ 810E24C - push {lr} - ldr r0, _0810E258 @ =gStringVar4 - bl ShowFieldMessage - pop {r0} - bx r0 - .align 2, 0 -_0810E258: .4byte gStringVar4 - thumb_func_end ShowFieldMessageStringVar4 - - thumb_func_start StorePlayerCoordsInVars -StorePlayerCoordsInVars: @ 810E25C - ldr r1, _0810E26C @ =gSpecialVar_0x8004 - ldr r2, _0810E270 @ =gSaveBlock1 - ldrh r0, [r2] - strh r0, [r1] - ldr r1, _0810E274 @ =gSpecialVar_0x8005 - ldrh r0, [r2, 0x2] - strh r0, [r1] - bx lr - .align 2, 0 -_0810E26C: .4byte gSpecialVar_0x8004 -_0810E270: .4byte gSaveBlock1 -_0810E274: .4byte gSpecialVar_0x8005 - thumb_func_end StorePlayerCoordsInVars - - thumb_func_start GetPlayerTrainerIdOnesDigit -GetPlayerTrainerIdOnesDigit: @ 810E278 - push {lr} - ldr r0, _0810E294 @ =gSaveBlock2 - ldrb r1, [r0, 0xB] - lsls r1, 8 - ldrb r0, [r0, 0xA] - orrs r0, r1 - movs r1, 0xA - bl __umodsi3 - lsls r0, 24 - lsrs r0, 24 - pop {r1} - bx r1 - .align 2, 0 -_0810E294: .4byte gSaveBlock2 - thumb_func_end GetPlayerTrainerIdOnesDigit - - thumb_func_start GetPlayerBigGuyGirlString -GetPlayerBigGuyGirlString: @ 810E298 - push {lr} - ldr r0, _0810E2AC @ =gSaveBlock2 - ldrb r0, [r0, 0x8] - cmp r0, 0 - bne _0810E2B8 - ldr r0, _0810E2B0 @ =gStringVar1 - ldr r1, _0810E2B4 @ =gOtherText_BigGuy - bl StringCopy - b _0810E2C0 - .align 2, 0 -_0810E2AC: .4byte gSaveBlock2 -_0810E2B0: .4byte gStringVar1 -_0810E2B4: .4byte gOtherText_BigGuy -_0810E2B8: - ldr r0, _0810E2C4 @ =gStringVar1 - ldr r1, _0810E2C8 @ =gOtherText_BigGirl - bl StringCopy -_0810E2C0: - pop {r0} - bx r0 - .align 2, 0 -_0810E2C4: .4byte gStringVar1 -_0810E2C8: .4byte gOtherText_BigGirl - thumb_func_end GetPlayerBigGuyGirlString - - thumb_func_start GetRivalSonDaughterString -GetRivalSonDaughterString: @ 810E2CC - push {lr} - ldr r0, _0810E2E0 @ =gSaveBlock2 - ldrb r0, [r0, 0x8] - cmp r0, 0 - bne _0810E2EC - ldr r0, _0810E2E4 @ =gStringVar1 - ldr r1, _0810E2E8 @ =gOtherText_Daughter - bl StringCopy - b _0810E2F4 - .align 2, 0 -_0810E2E0: .4byte gSaveBlock2 -_0810E2E4: .4byte gStringVar1 -_0810E2E8: .4byte gOtherText_Daughter -_0810E2EC: - ldr r0, _0810E2F8 @ =gStringVar1 - ldr r1, _0810E2FC @ =gOtherText_Son - bl StringCopy -_0810E2F4: - pop {r0} - bx r0 - .align 2, 0 -_0810E2F8: .4byte gStringVar1 -_0810E2FC: .4byte gOtherText_Son - thumb_func_end GetRivalSonDaughterString - - thumb_func_start sub_810E300 -sub_810E300: @ 810E300 - ldr r0, _0810E308 @ =gBattleOutcome - ldrb r0, [r0] - bx lr - .align 2, 0 -_0810E308: .4byte gBattleOutcome - thumb_func_end sub_810E300 - - thumb_func_start CableCarWarp -CableCarWarp: @ 810E30C - push {lr} - sub sp, 0x4 - ldr r0, _0810E32C @ =gSpecialVar_0x8004 - ldrh r0, [r0] - cmp r0, 0 - beq _0810E330 - movs r2, 0x1 - negs r2, r2 - movs r0, 0x4 - str r0, [sp] - movs r0, 0x13 - movs r1, 0 - movs r3, 0x6 - bl warp1_set - b _0810E342 - .align 2, 0 -_0810E32C: .4byte gSpecialVar_0x8004 -_0810E330: - movs r2, 0x1 - negs r2, r2 - movs r0, 0x4 - str r0, [sp] - movs r0, 0x13 - movs r1, 0x1 - movs r3, 0x6 - bl warp1_set -_0810E342: - add sp, 0x4 - pop {r0} - bx r0 - thumb_func_end CableCarWarp - - thumb_func_start SetFlagInVar -SetFlagInVar: @ 810E348 - push {lr} - ldr r0, _0810E358 @ =gSpecialVar_0x8004 - ldrh r0, [r0] - bl FlagSet - pop {r0} - bx r0 - .align 2, 0 -_0810E358: .4byte gSpecialVar_0x8004 - thumb_func_end SetFlagInVar - - thumb_func_start GetWeekCount -GetWeekCount: @ 810E35C - push {lr} - ldr r0, _0810E37C @ =gLocalTime - movs r1, 0 - ldrsh r0, [r0, r1] - movs r1, 0x7 - bl __divsi3 - lsls r0, 16 - lsrs r0, 16 - ldr r1, _0810E380 @ =0x0000270f - cmp r0, r1 - bls _0810E376 - adds r0, r1, 0 -_0810E376: - pop {r1} - bx r1 - .align 2, 0 -_0810E37C: .4byte gLocalTime -_0810E380: .4byte 0x0000270f - thumb_func_end GetWeekCount - - thumb_func_start GetLeadMonFriendshipScore -GetLeadMonFriendshipScore: @ 810E384 - push {r4,lr} - bl GetLeadMonIndex - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x64 - muls r1, r0 - ldr r0, _0810E3A8 @ =gPlayerParty - adds r4, r1, r0 - adds r0, r4, 0 - movs r1, 0x20 - bl GetMonData - cmp r0, 0xFF - bne _0810E3AC - movs r0, 0x6 - b _0810E3FE - .align 2, 0 -_0810E3A8: .4byte gPlayerParty -_0810E3AC: - adds r0, r4, 0 - movs r1, 0x20 - bl GetMonData - cmp r0, 0xC7 - bls _0810E3BC - movs r0, 0x5 - b _0810E3FE -_0810E3BC: - adds r0, r4, 0 - movs r1, 0x20 - bl GetMonData - cmp r0, 0x95 - bls _0810E3CC - movs r0, 0x4 - b _0810E3FE -_0810E3CC: - adds r0, r4, 0 - movs r1, 0x20 - bl GetMonData - cmp r0, 0x63 - bls _0810E3DC - movs r0, 0x3 - b _0810E3FE -_0810E3DC: - adds r0, r4, 0 - movs r1, 0x20 - bl GetMonData - cmp r0, 0x31 - bls _0810E3EC - movs r0, 0x2 - b _0810E3FE -_0810E3EC: - adds r0, r4, 0 - movs r1, 0x20 - bl GetMonData - cmp r0, 0 - bne _0810E3FC - movs r0, 0 - b _0810E3FE -_0810E3FC: - movs r0, 0x1 -_0810E3FE: - pop {r4} - pop {r1} - bx r1 - thumb_func_end GetLeadMonFriendshipScore - - thumb_func_start CB2_FieldShowRegionMap -CB2_FieldShowRegionMap: @ 810E404 - push {lr} - ldr r0, _0810E410 @ =c2_exit_to_overworld_1_continue_scripts_restart_music - bl FieldInitRegionMap - pop {r0} - bx r0 - .align 2, 0 -_0810E410: .4byte c2_exit_to_overworld_1_continue_scripts_restart_music - thumb_func_end CB2_FieldShowRegionMap - - thumb_func_start FieldShowRegionMap -FieldShowRegionMap: @ 810E414 - push {lr} - ldr r0, _0810E420 @ =CB2_FieldShowRegionMap - bl SetMainCallback2 - pop {r0} - bx r0 - .align 2, 0 -_0810E420: .4byte CB2_FieldShowRegionMap - thumb_func_end FieldShowRegionMap - - thumb_func_start DoPCTurnOnEffect -DoPCTurnOnEffect: @ 810E424 - push {r4,lr} - ldr r4, _0810E460 @ =Task_PCTurnOnEffect - adds r0, r4, 0 - bl FuncIsActiveTask - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _0810E458 - adds r0, r4, 0 - movs r1, 0x8 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - ldr r2, _0810E464 @ =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - movs r2, 0 - strh r2, [r1, 0x8] - strh r0, [r1, 0xA] - strh r2, [r1, 0xC] - strh r2, [r1, 0xE] - strh r2, [r1, 0x10] -_0810E458: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0810E460: .4byte Task_PCTurnOnEffect -_0810E464: .4byte gTasks - thumb_func_end DoPCTurnOnEffect - - thumb_func_start Task_PCTurnOnEffect -Task_PCTurnOnEffect: @ 810E468 - push {lr} - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - ldr r0, _0810E48C @ =gTasks - adds r1, r0 - movs r2, 0x8 - ldrsh r0, [r1, r2] - cmp r0, 0 - bne _0810E486 - adds r0, r1, 0 - bl PCTurnOffEffect_0 -_0810E486: - pop {r0} - bx r0 - .align 2, 0 -_0810E48C: .4byte gTasks - thumb_func_end Task_PCTurnOnEffect - - thumb_func_start PCTurnOffEffect_0 -PCTurnOffEffect_0: @ 810E490 - push {r4-r6,lr} - adds r4, r0, 0 - movs r6, 0 - movs r5, 0 - movs r1, 0xE - ldrsh r0, [r4, r1] - cmp r0, 0x6 - bne _0810E4FC - strh r5, [r4, 0xE] - bl player_get_direction_lower_nybble - lsls r0, 24 - lsrs r0, 24 - adds r1, r0, 0 - cmp r0, 0x3 - beq _0810E4C4 - cmp r0, 0x3 - bgt _0810E4BA - cmp r0, 0x2 - beq _0810E4C0 - b _0810E4CC -_0810E4BA: - cmp r1, 0x4 - beq _0810E4C8 - b _0810E4CC -_0810E4C0: - movs r6, 0 - b _0810E4CA -_0810E4C4: - movs r6, 0xFF - b _0810E4CA -_0810E4C8: - movs r6, 0x1 -_0810E4CA: - movs r5, 0xFF -_0810E4CC: - movs r1, 0x10 - ldrsh r0, [r4, r1] - lsls r1, r6, 24 - asrs r1, 24 - lsls r2, r5, 24 - asrs r2, 24 - bl PCTurnOffEffect_1 - bl DrawWholeMapView - ldrh r0, [r4, 0x10] - movs r1, 0x1 - eors r0, r1 - strh r0, [r4, 0x10] - ldrh r0, [r4, 0xC] - adds r0, 0x1 - strh r0, [r4, 0xC] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x5 - bne _0810E4FC - ldrb r0, [r4, 0xA] - bl DestroyTask -_0810E4FC: - ldrh r0, [r4, 0xE] - adds r0, 0x1 - strh r0, [r4, 0xE] - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end PCTurnOffEffect_0 - - thumb_func_start PCTurnOffEffect_1 -PCTurnOffEffect_1: @ 810E508 - push {r4,r5,lr} - lsls r1, 24 - lsrs r1, 24 - lsls r2, 24 - lsrs r4, r2, 24 - movs r3, 0 - lsls r0, 16 - cmp r0, 0 - beq _0810E544 - ldr r0, _0810E528 @ =gSpecialVar_0x8004 - ldrh r0, [r0] - cmp r0, 0 - bne _0810E52C - movs r3, 0x4 - b _0810E566 - .align 2, 0 -_0810E528: .4byte gSpecialVar_0x8004 -_0810E52C: - cmp r0, 0x1 - bne _0810E538 - ldr r3, _0810E534 @ =0x0000025a - b _0810E566 - .align 2, 0 -_0810E534: .4byte 0x0000025a -_0810E538: - cmp r0, 0x2 - bne _0810E566 - ldr r3, _0810E540 @ =0x00000259 - b _0810E566 - .align 2, 0 -_0810E540: .4byte 0x00000259 -_0810E544: - ldr r0, _0810E550 @ =gSpecialVar_0x8004 - ldrh r0, [r0] - cmp r0, 0 - bne _0810E554 - movs r3, 0x5 - b _0810E566 - .align 2, 0 -_0810E550: .4byte gSpecialVar_0x8004 -_0810E554: - cmp r0, 0x1 - bne _0810E560 - ldr r3, _0810E55C @ =0x0000027f - b _0810E566 - .align 2, 0 -_0810E55C: .4byte 0x0000027f -_0810E560: - cmp r0, 0x2 - bne _0810E566 - ldr r3, _0810E594 @ =0x0000027e -_0810E566: - ldr r2, _0810E598 @ =gSaveBlock1 - movs r5, 0 - ldrsh r0, [r2, r5] - lsls r1, 24 - asrs r1, 24 - adds r0, r1 - adds r0, 0x7 - movs r5, 0x2 - ldrsh r1, [r2, r5] - lsls r2, r4, 24 - asrs r2, 24 - adds r1, r2 - adds r1, 0x7 - movs r4, 0xC0 - lsls r4, 4 - adds r2, r4, 0 - orrs r3, r2 - adds r2, r3, 0 - bl MapGridSetMetatileIdAt - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0810E594: .4byte 0x0000027e -_0810E598: .4byte gSaveBlock1 - thumb_func_end PCTurnOffEffect_1 - - thumb_func_start DoPCTurnOffEffect -DoPCTurnOffEffect: @ 810E59C - push {lr} - bl PCTurnOffEffect - pop {r0} - bx r0 - thumb_func_end DoPCTurnOffEffect - - thumb_func_start PCTurnOffEffect -PCTurnOffEffect: @ 810E5A8 - push {r4-r6,lr} - movs r6, 0 - movs r5, 0 - movs r4, 0 - bl player_get_direction_lower_nybble - lsls r0, 24 - lsrs r0, 24 - adds r1, r0, 0 - cmp r0, 0x3 - beq _0810E5D2 - cmp r0, 0x3 - bgt _0810E5C8 - cmp r0, 0x2 - beq _0810E5CE - b _0810E5DA -_0810E5C8: - cmp r1, 0x4 - beq _0810E5D6 - b _0810E5DA -_0810E5CE: - movs r6, 0 - b _0810E5D8 -_0810E5D2: - movs r6, 0xFF - b _0810E5D8 -_0810E5D6: - movs r6, 0x1 -_0810E5D8: - movs r5, 0xFF -_0810E5DA: - ldr r0, _0810E5E8 @ =gSpecialVar_0x8004 - ldrh r0, [r0] - cmp r0, 0 - bne _0810E5EC - movs r4, 0x4 - b _0810E5FE - .align 2, 0 -_0810E5E8: .4byte gSpecialVar_0x8004 -_0810E5EC: - cmp r0, 0x1 - bne _0810E5F8 - ldr r4, _0810E5F4 @ =0x0000025a - b _0810E5FE - .align 2, 0 -_0810E5F4: .4byte 0x0000025a -_0810E5F8: - cmp r0, 0x2 - bne _0810E5FE - ldr r4, _0810E630 @ =0x00000259 -_0810E5FE: - ldr r2, _0810E634 @ =gSaveBlock1 - movs r1, 0 - ldrsh r0, [r2, r1] - lsls r1, r6, 24 - asrs r1, 24 - adds r0, r1 - adds r0, 0x7 - movs r3, 0x2 - ldrsh r1, [r2, r3] - lsls r2, r5, 24 - asrs r2, 24 - adds r1, r2 - adds r1, 0x7 - movs r3, 0xC0 - lsls r3, 4 - adds r2, r3, 0 - orrs r4, r2 - adds r2, r4, 0 - bl MapGridSetMetatileIdAt - bl DrawWholeMapView - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0810E630: .4byte 0x00000259 -_0810E634: .4byte gSaveBlock1 - thumb_func_end PCTurnOffEffect - - thumb_func_start DoLotteryCornerComputerEffect -DoLotteryCornerComputerEffect: @ 810E638 - push {r4,lr} - ldr r4, _0810E674 @ =Task_LotteryCornerComputerEffect - adds r0, r4, 0 - bl FuncIsActiveTask - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _0810E66C - adds r0, r4, 0 - movs r1, 0x8 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - ldr r2, _0810E678 @ =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - movs r2, 0 - strh r2, [r1, 0x8] - strh r0, [r1, 0xA] - strh r2, [r1, 0xC] - strh r2, [r1, 0xE] - strh r2, [r1, 0x10] -_0810E66C: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0810E674: .4byte Task_LotteryCornerComputerEffect -_0810E678: .4byte gTasks - thumb_func_end DoLotteryCornerComputerEffect - - thumb_func_start Task_LotteryCornerComputerEffect -Task_LotteryCornerComputerEffect: @ 810E67C - push {lr} - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - ldr r0, _0810E6A0 @ =gTasks - adds r1, r0 - movs r2, 0x8 - ldrsh r0, [r1, r2] - cmp r0, 0 - bne _0810E69A - adds r0, r1, 0 - bl LotteryCornerComputerEffect -_0810E69A: - pop {r0} - bx r0 - .align 2, 0 -_0810E6A0: .4byte gTasks - thumb_func_end Task_LotteryCornerComputerEffect - - thumb_func_start LotteryCornerComputerEffect -LotteryCornerComputerEffect: @ 810E6A4 - push {r4,lr} - adds r4, r0, 0 - movs r1, 0xE - ldrsh r0, [r4, r1] - cmp r0, 0x6 - bne _0810E712 - movs r0, 0 - strh r0, [r4, 0xE] - movs r1, 0x10 - ldrsh r0, [r4, r1] - cmp r0, 0 - beq _0810E6DC - ldr r2, _0810E6D4 @ =0x00000e9d - movs r0, 0x12 - movs r1, 0x8 - bl MapGridSetMetatileIdAt - ldr r2, _0810E6D8 @ =0x00000ea5 - movs r0, 0x12 - movs r1, 0x9 - bl MapGridSetMetatileIdAt - b _0810E6F2 - .align 2, 0 -_0810E6D4: .4byte 0x00000e9d -_0810E6D8: .4byte 0x00000ea5 -_0810E6DC: - ldr r2, _0810E720 @ =0x00000e58 - movs r0, 0x12 - movs r1, 0x8 - bl MapGridSetMetatileIdAt - movs r2, 0xE6 - lsls r2, 4 - movs r0, 0x12 - movs r1, 0x9 - bl MapGridSetMetatileIdAt -_0810E6F2: - bl DrawWholeMapView - ldrh r0, [r4, 0x10] - movs r1, 0x1 - eors r0, r1 - strh r0, [r4, 0x10] - ldrh r0, [r4, 0xC] - adds r0, 0x1 - strh r0, [r4, 0xC] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x5 - bne _0810E712 - ldrb r0, [r4, 0xA] - bl DestroyTask -_0810E712: - ldrh r0, [r4, 0xE] - adds r0, 0x1 - strh r0, [r4, 0xE] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0810E720: .4byte 0x00000e58 - thumb_func_end LotteryCornerComputerEffect - - thumb_func_start EndLotteryCornerComputerEffect -EndLotteryCornerComputerEffect: @ 810E724 - push {lr} - ldr r2, _0810E744 @ =0x00000e9d - movs r0, 0x12 - movs r1, 0x8 - bl MapGridSetMetatileIdAt - ldr r2, _0810E748 @ =0x00000ea5 - movs r0, 0x12 - movs r1, 0x9 - bl MapGridSetMetatileIdAt - bl DrawWholeMapView - pop {r0} - bx r0 - .align 2, 0 -_0810E744: .4byte 0x00000e9d -_0810E748: .4byte 0x00000ea5 - thumb_func_end EndLotteryCornerComputerEffect - - thumb_func_start SetDepartmentStoreFloorVar -SetDepartmentStoreFloorVar: @ 810E74C - push {lr} - ldr r0, _0810E768 @ =gSaveBlock1 - ldrb r0, [r0, 0x15] - subs r0, 0x11 - lsls r0, 24 - asrs r0, 24 - cmp r0, 0x5 - bhi _0810E79C - lsls r0, 2 - ldr r1, _0810E76C @ =_0810E770 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0810E768: .4byte gSaveBlock1 -_0810E76C: .4byte _0810E770 - .align 2, 0 -_0810E770: - .4byte _0810E79C - .4byte _0810E788 - .4byte _0810E78C - .4byte _0810E790 - .4byte _0810E794 - .4byte _0810E798 -_0810E788: - movs r1, 0x1 - b _0810E79E -_0810E78C: - movs r1, 0x2 - b _0810E79E -_0810E790: - movs r1, 0x3 - b _0810E79E -_0810E794: - movs r1, 0x4 - b _0810E79E -_0810E798: - movs r1, 0xF - b _0810E79E -_0810E79C: - movs r1, 0 -_0810E79E: - ldr r0, _0810E7A8 @ =0x00004043 - bl VarSet - pop {r0} - bx r0 - .align 2, 0 -_0810E7A8: .4byte 0x00004043 - thumb_func_end SetDepartmentStoreFloorVar - - thumb_func_start ScriptAddElevatorMenuItem -ScriptAddElevatorMenuItem: @ 810E7AC - push {r4-r7,lr} - mov r7, r8 - push {r7} - lsls r0, 24 - lsrs r6, r0, 24 - lsls r1, 24 - lsrs r7, r1, 24 - lsls r2, 24 - lsrs r2, 24 - mov r12, r2 - lsls r3, 24 - lsrs r3, 24 - mov r8, r3 - ldr r0, _0810E81C @ =gSpecialVar_0x8004 - ldrh r1, [r0] - adds r2, r0, 0 - ldr r3, _0810E820 @ =gUnknown_03000760 - cmp r1, 0 - bne _0810E7E8 - movs r1, 0 - adds r5, r3, 0 - movs r4, 0x10 -_0810E7D8: - lsls r0, r1, 2 - adds r0, r5 - strb r4, [r0] - adds r0, r1, 0x1 - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0x13 - bls _0810E7D8 -_0810E7E8: - ldrh r0, [r2] - lsls r0, 2 - adds r0, r3 - strb r6, [r0] - ldrh r0, [r2] - lsls r0, 2 - adds r0, r3 - strb r7, [r0, 0x1] - ldrh r0, [r2] - lsls r0, 2 - adds r0, r3 - mov r1, r12 - strb r1, [r0, 0x2] - ldrh r0, [r2] - lsls r0, 2 - adds r0, r3 - mov r1, r8 - strb r1, [r0, 0x3] - ldrh r0, [r2] - adds r0, 0x1 - strh r0, [r2] - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0810E81C: .4byte gSpecialVar_0x8004 -_0810E820: .4byte gUnknown_03000760 - thumb_func_end ScriptAddElevatorMenuItem - - thumb_func_start ScriptShowElevatorMenu -ScriptShowElevatorMenu: @ 810E824 - push {r4,r5,lr} - movs r4, 0 - ldr r5, _0810E868 @ =gUnknown_0203925A - strb r4, [r5] - ldr r0, _0810E86C @ =gUnknown_0203925B - strb r4, [r0] - movs r0, 0x10 - movs r1, 0 - movs r2, 0 - movs r3, 0 - bl ScriptAddElevatorMenuItem - ldr r2, _0810E870 @ =gUnknown_03000760 - ldrb r0, [r2] - cmp r0, 0x10 - beq _0810E85C - adds r1, r5, 0 -_0810E846: - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - lsls r0, r4, 2 - adds r0, r2 - ldrb r0, [r0] - cmp r0, 0x10 - bne _0810E846 -_0810E85C: - bl sub_810E874 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0810E868: .4byte gUnknown_0203925A -_0810E86C: .4byte gUnknown_0203925B -_0810E870: .4byte gUnknown_03000760 - thumb_func_end ScriptShowElevatorMenu - - thumb_func_start sub_810E874 -sub_810E874: @ 810E874 - push {r4-r6,lr} - sub sp, 0x8 - bl ScriptContext2_Enable - ldr r4, _0810E8B8 @ =gUnknown_0203925A - ldrb r0, [r4] - cmp r0, 0x5 - bls _0810E8C0 - movs r0, 0 - movs r1, 0 - movs r2, 0x8 - movs r3, 0xB - bl MenuDrawTextWindow - movs r4, 0 - str r4, [sp] - movs r0, 0x7 - str r0, [sp, 0x4] - movs r0, 0 - movs r1, 0x1 - movs r2, 0x1 - movs r3, 0x5 - bl InitMenu - ldr r0, _0810E8BC @ =gUnknown_0203925C - strb r4, [r0] - bl sub_80F944C - bl LoadScrollIndicatorPalette - bl sub_810ECD4 - b _0810E8E8 - .align 2, 0 -_0810E8B8: .4byte gUnknown_0203925A -_0810E8BC: .4byte gUnknown_0203925C -_0810E8C0: - ldrb r3, [r4] - lsls r3, 1 - adds r3, 0x1 - lsls r3, 24 - lsrs r3, 24 - movs r0, 0 - movs r1, 0 - movs r2, 0x8 - bl MenuDrawTextWindow - ldrb r3, [r4] - movs r0, 0 - str r0, [sp] - movs r0, 0x7 - str r0, [sp, 0x4] - movs r0, 0 - movs r1, 0x1 - movs r2, 0x1 - bl InitMenu -_0810E8E8: - movs r4, 0 - ldr r1, _0810E938 @ =gUnknown_03000760 - ldrb r0, [r1] - cmp r0, 0x10 - beq _0810E924 - ldr r6, _0810E93C @ =gUnknown_083F8380 - adds r5, r1, 0 -_0810E8F6: - lsls r0, r4, 2 - adds r0, r5 - ldrb r0, [r0] - lsls r0, 2 - adds r0, r6 - ldr r0, [r0] - lsls r2, r4, 1 - adds r2, 0x1 - lsls r2, 24 - lsrs r2, 24 - movs r1, 0x1 - bl MenuPrint - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x4 - bhi _0810E924 - lsls r0, r4, 2 - adds r0, r5 - ldrb r0, [r0] - cmp r0, 0x10 - bne _0810E8F6 -_0810E924: - bl sub_810E944 - ldr r0, _0810E940 @ =sub_810E984 - movs r1, 0x8 - bl CreateTask - add sp, 0x8 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0810E938: .4byte gUnknown_03000760 -_0810E93C: .4byte gUnknown_083F8380 -_0810E940: .4byte sub_810E984 - thumb_func_end sub_810E874 - - thumb_func_start sub_810E944 -sub_810E944: @ 810E944 - push {lr} - movs r0, 0x14 - movs r1, 0 - movs r2, 0x1D - movs r3, 0x5 - bl MenuDrawTextWindow - ldr r0, _0810E978 @ =gOtherText_NowOn - movs r1, 0x15 - movs r2, 0x1 - movs r3, 0x40 - bl sub_8072BD8 - ldr r1, _0810E97C @ =gUnknown_083F8380 - ldr r0, _0810E980 @ =gSpecialVar_0x8005 - ldrh r0, [r0] - lsls r0, 2 - adds r0, r1 - ldr r0, [r0] - movs r1, 0x15 - movs r2, 0x3 - movs r3, 0x40 - bl sub_8072BD8 - pop {r0} - bx r0 - .align 2, 0 -_0810E978: .4byte gOtherText_NowOn -_0810E97C: .4byte gUnknown_083F8380 -_0810E980: .4byte gSpecialVar_0x8005 - thumb_func_end sub_810E944 - - thumb_func_start sub_810E984 -sub_810E984: @ 810E984 - push {r4-r6,lr} - sub sp, 0x8 - lsls r0, 24 - lsrs r6, r0, 24 - ldr r0, _0810EA44 @ =gMain - ldrh r0, [r0, 0x2E] - cmp r0, 0x40 - bne _0810E9B8 - ldr r1, _0810EA48 @ =gUnknown_0203925B - ldrb r0, [r1] - cmp r0, 0 - beq _0810E9B8 - subs r0, 0x1 - strb r0, [r1] - bl GetMenuCursorPos - lsls r0, 24 - lsrs r4, r0, 24 - movs r0, 0x1 - negs r0, r0 - bl MoveMenuCursorNoWrap - adds r0, r4, 0 - movs r1, 0x40 - bl sub_810EAC8 -_0810E9B8: - ldr r0, _0810EA44 @ =gMain - ldrh r0, [r0, 0x2E] - cmp r0, 0x80 - bne _0810E9E8 - ldr r2, _0810EA48 @ =gUnknown_0203925B - ldrb r1, [r2] - ldr r0, _0810EA4C @ =gUnknown_0203925A - ldrb r0, [r0] - subs r0, 0x1 - cmp r1, r0 - beq _0810E9E8 - adds r0, r1, 0x1 - strb r0, [r2] - bl GetMenuCursorPos - lsls r0, 24 - lsrs r4, r0, 24 - movs r0, 0x1 - bl MoveMenuCursorNoWrap - adds r0, r4, 0 - movs r1, 0x80 - bl sub_810EAC8 -_0810E9E8: - ldr r0, _0810EA44 @ =gMain - ldrh r2, [r0, 0x2E] - movs r5, 0x1 - adds r1, r5, 0 - ands r1, r2 - cmp r1, 0 - beq _0810EA94 - ldr r1, _0810EA50 @ =gUnknown_03000760 - ldr r4, _0810EA48 @ =gUnknown_0203925B - ldrb r0, [r4] - lsls r0, 2 - adds r0, r1 - movs r1, 0x1 - ldrsb r1, [r0, r1] - movs r2, 0x2 - ldrsb r2, [r0, r2] - movs r3, 0x1 - negs r3, r3 - movs r0, 0x2 - str r0, [sp] - str r5, [sp, 0x4] - movs r0, 0 - bl saved_warp2_set_2 - ldr r1, _0810EA54 @ =gSpecialVar_0x8005 - ldrh r0, [r1] - ldrb r2, [r4] - cmp r0, r2 - bne _0810EA5C - ldr r1, _0810EA58 @ =gScriptResult - movs r0, 0 - strh r0, [r1] - movs r0, 0x5 - bl PlaySE - movs r0, 0 - movs r1, 0 - movs r2, 0x1D - movs r3, 0xC - bl MenuZeroFillWindowRect - adds r0, r6, 0 - bl sub_810EC9C - b _0810EABC - .align 2, 0 -_0810EA44: .4byte gMain -_0810EA48: .4byte gUnknown_0203925B -_0810EA4C: .4byte gUnknown_0203925A -_0810EA50: .4byte gUnknown_03000760 -_0810EA54: .4byte gSpecialVar_0x8005 -_0810EA58: .4byte gScriptResult -_0810EA5C: - ldr r0, _0810EA88 @ =gScriptResult - strh r5, [r0] - ldrb r0, [r4] - strh r0, [r1] - bl sub_810EBEC - ldr r0, _0810EA8C @ =gScriptLastTalked - ldrb r0, [r0] - ldr r2, _0810EA90 @ =gSaveBlock1 - ldrb r1, [r2, 0x5] - ldrb r2, [r2, 0x4] - movs r3, 0x1 - bl FieldObjectTurnByLocalIdAndMap - bl sub_810EEDC - bl MenuZeroFillScreen - adds r0, r6, 0 - bl DestroyTask - b _0810EABC - .align 2, 0 -_0810EA88: .4byte gScriptResult -_0810EA8C: .4byte gScriptLastTalked -_0810EA90: .4byte gSaveBlock1 -_0810EA94: - movs r0, 0x2 - ands r0, r2 - cmp r0, 0 - beq _0810EABC - ldr r0, _0810EAC4 @ =gScriptResult - strh r1, [r0] - movs r0, 0x5 - bl PlaySE - bl sub_810EEDC - movs r0, 0 - movs r1, 0 - movs r2, 0x1D - movs r3, 0xC - bl MenuZeroFillWindowRect - adds r0, r6, 0 - bl sub_810EC9C -_0810EABC: - add sp, 0x8 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0810EAC4: .4byte gScriptResult - thumb_func_end sub_810E984 - - thumb_func_start sub_810EAC8 -sub_810EAC8: @ 810EAC8 - push {r4-r7,lr} - mov r7, r8 - push {r7} - lsls r0, 24 - lsrs r2, r0, 24 - adds r5, r2, 0 - lsls r1, 24 - lsrs r1, 24 - adds r3, r1, 0 - movs r7, 0 - movs r4, 0 - ldr r0, _0810EAEC @ =gUnknown_0203925A - ldrb r0, [r0] - cmp r0, 0x4 - bhi _0810EAF0 - movs r0, 0 - b _0810EB78 - .align 2, 0 -_0810EAEC: .4byte gUnknown_0203925A -_0810EAF0: - cmp r1, 0x40 - bne _0810EB04 - cmp r2, 0 - bne _0810EB18 - ldr r0, _0810EB00 @ =gUnknown_0203925B - ldrb r4, [r0] - movs r7, 0x1 - b _0810EB1C - .align 2, 0 -_0810EB00: .4byte gUnknown_0203925B -_0810EB04: - cmp r3, 0x80 - bne _0810EB18 - cmp r5, 0x4 - bne _0810EB18 - ldr r0, _0810EB84 @ =gUnknown_0203925B - ldrb r0, [r0] - subs r0, 0x4 - lsls r0, 24 - lsrs r4, r0, 24 - movs r7, 0x1 -_0810EB18: - cmp r7, 0 - beq _0810EB76 -_0810EB1C: - adds r0, r4, 0 - movs r1, 0x5 - bl sub_810EB90 - movs r0, 0x2 - movs r1, 0x1 - movs r2, 0x7 - movs r3, 0xA - bl MenuFillWindowRectWithBlankTile - movs r5, 0 - ldr r2, _0810EB88 @ =gUnknown_03000760 - lsls r1, r4, 2 - adds r0, r1, r2 - ldrb r0, [r0] - cmp r0, 0x10 - beq _0810EB76 - ldr r0, _0810EB8C @ =gUnknown_083F8380 - mov r8, r0 - adds r6, r2, 0 -_0810EB44: - adds r0, r1, r6 - ldrb r0, [r0] - lsls r0, 2 - add r0, r8 - ldr r0, [r0] - lsls r2, r5, 1 - adds r2, 0x1 - lsls r2, 24 - lsrs r2, 24 - movs r1, 0x1 - bl MenuPrint - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0x4 - bhi _0810EB76 - lsls r1, r4, 2 - adds r0, r1, r6 - ldrb r0, [r0] - cmp r0, 0x10 - bne _0810EB44 -_0810EB76: - adds r0, r7, 0 -_0810EB78: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_0810EB84: .4byte gUnknown_0203925B -_0810EB88: .4byte gUnknown_03000760 -_0810EB8C: .4byte gUnknown_083F8380 - thumb_func_end sub_810EAC8 - - thumb_func_start sub_810EB90 -sub_810EB90: @ 810EB90 - push {r4,r5,lr} - lsls r0, 24 - lsrs r4, r0, 24 - lsls r1, 24 - lsrs r5, r1, 24 - cmp r4, 0 - bne _0810EBB4 - ldr r0, _0810EBB0 @ =gUnknown_0203925C - ldrb r1, [r0] - movs r2, 0x2 - eors r1, r2 - strb r1, [r0] - movs r0, 0 - bl DestroyVerticalScrollIndicator - b _0810EBB8 - .align 2, 0 -_0810EBB0: .4byte gUnknown_0203925C -_0810EBB4: - bl sub_810ECB0 -_0810EBB8: - adds r1, r4, r5 - ldr r0, _0810EBC8 @ =gUnknown_0203925A - ldrb r0, [r0] - cmp r1, r0 - bge _0810EBCC - bl sub_810ECD4 - b _0810EBE0 - .align 2, 0 -_0810EBC8: .4byte gUnknown_0203925A -_0810EBCC: - cmp r1, r0 - bne _0810EBE0 - ldr r0, _0810EBE8 @ =gUnknown_0203925C - ldrb r1, [r0] - movs r2, 0x1 - eors r1, r2 - strb r1, [r0] - movs r0, 0x1 - bl DestroyVerticalScrollIndicator -_0810EBE0: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0810EBE8: .4byte gUnknown_0203925C - thumb_func_end sub_810EB90 - - thumb_func_start sub_810EBEC -sub_810EBEC: @ 810EBEC - push {lr} - ldr r0, _0810EC2C @ =sub_810EC34 - movs r1, 0x9 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - ldr r2, _0810EC30 @ =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - movs r0, 0 - movs r2, 0x1 - strh r2, [r1, 0x8] - strh r0, [r1, 0xA] - strh r0, [r1, 0xC] - strh r0, [r1, 0xE] - strh r2, [r1, 0x10] - movs r0, 0x3 - strh r0, [r1, 0x12] - movs r0, 0 - bl SetCameraPanningCallback - bl sub_810ECFC - movs r0, 0x59 - bl PlaySE - pop {r0} - bx r0 - .align 2, 0 -_0810EC2C: .4byte sub_810EC34 -_0810EC30: .4byte gTasks - thumb_func_end sub_810EBEC - - thumb_func_start sub_810EC34 -sub_810EC34: @ 810EC34 - push {r4,r5,lr} - lsls r0, 24 - lsrs r5, r0, 24 - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - ldr r1, _0810EC98 @ =gTasks - adds r4, r0, r1 - ldrh r0, [r4, 0xA] - adds r0, 0x1 - strh r0, [r4, 0xA] - movs r1, 0xA - ldrsh r0, [r4, r1] - movs r2, 0x12 - ldrsh r1, [r4, r2] - bl __modsi3 - cmp r0, 0 - bne _0810EC92 - strh r0, [r4, 0xA] - ldrh r0, [r4, 0xC] - adds r0, 0x1 - strh r0, [r4, 0xC] - movs r1, 0xE - ldrsh r0, [r4, r1] - cmp r0, 0 - bne _0810EC92 - ldrh r0, [r4, 0x10] - negs r0, r0 - strh r0, [r4, 0x10] - movs r2, 0x10 - ldrsh r1, [r4, r2] - movs r0, 0 - bl SetCameraPanning - movs r1, 0xC - ldrsh r0, [r4, r1] - cmp r0, 0x17 - bne _0810EC92 - movs r0, 0x49 - bl PlaySE - adds r0, r5, 0 - bl sub_810EC9C - bl InstallCameraPanAheadCallback -_0810EC92: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0810EC98: .4byte gTasks - thumb_func_end sub_810EC34 - - thumb_func_start sub_810EC9C -sub_810EC9C: @ 810EC9C - push {lr} - lsls r0, 24 - lsrs r0, 24 - bl DestroyTask - bl EnableBothScriptContexts - pop {r0} - bx r0 - thumb_func_end sub_810EC9C - - thumb_func_start sub_810ECB0 -sub_810ECB0: @ 810ECB0 - push {lr} - ldr r2, _0810ECD0 @ =gUnknown_0203925C - ldrb r1, [r2] - lsrs r0, r1, 1 - cmp r0, 0x1 - beq _0810ECCC - movs r0, 0x2 - orrs r0, r1 - strb r0, [r2] - movs r0, 0 - movs r1, 0x24 - movs r2, 0x8 - bl CreateVerticalScrollIndicators -_0810ECCC: - pop {r0} - bx r0 - .align 2, 0 -_0810ECD0: .4byte gUnknown_0203925C - thumb_func_end sub_810ECB0 - - thumb_func_start sub_810ECD4 -sub_810ECD4: @ 810ECD4 - push {lr} - ldr r2, _0810ECF8 @ =gUnknown_0203925C - ldrb r1, [r2] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - bne _0810ECF2 - movs r0, 0x1 - orrs r0, r1 - strb r0, [r2] - movs r0, 0x1 - movs r1, 0x24 - movs r2, 0x48 - bl CreateVerticalScrollIndicators -_0810ECF2: - pop {r0} - bx r0 - .align 2, 0 -_0810ECF8: .4byte gUnknown_0203925C - thumb_func_end sub_810ECD4 - - thumb_func_start sub_810ECFC -sub_810ECFC: @ 810ECFC - push {r4,lr} - ldr r4, _0810ED38 @ =sub_810ED40 - adds r0, r4, 0 - bl FuncIsActiveTask - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _0810ED30 - adds r0, r4, 0 - movs r1, 0x8 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - ldr r2, _0810ED3C @ =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - movs r2, 0 - strh r2, [r1, 0x8] - strh r0, [r1, 0xA] - strh r2, [r1, 0xC] - strh r2, [r1, 0xE] - strh r2, [r1, 0x10] -_0810ED30: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0810ED38: .4byte sub_810ED40 -_0810ED3C: .4byte gTasks - thumb_func_end sub_810ECFC - - thumb_func_start sub_810ED40 -sub_810ED40: @ 810ED40 - push {lr} - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - ldr r1, _0810ED5C @ =gTasks - adds r0, r1 - bl sub_810ED60 - pop {r0} - bx r0 - .align 2, 0 -_0810ED5C: .4byte gTasks - thumb_func_end sub_810ED40 - - thumb_func_start sub_810ED60 -sub_810ED60: @ 810ED60 - push {r4,r5,lr} - adds r5, r0, 0 - movs r1, 0xE - ldrsh r0, [r5, r1] - cmp r0, 0x8 - beq _0810ED6E - b _0810EEB2 -_0810ED6E: - movs r0, 0 - strh r0, [r5, 0xE] - movs r1, 0x10 - ldrsh r0, [r5, r1] - cmp r0, 0 - beq _0810EE14 - ldr r2, _0810EDFC @ =0x00000e68 - movs r0, 0x7 - movs r1, 0x7 - bl MapGridSetMetatileIdAt - ldr r4, _0810EE00 @ =0x00000e69 - movs r0, 0x8 - movs r1, 0x7 - adds r2, r4, 0 - bl MapGridSetMetatileIdAt - movs r0, 0x9 - movs r1, 0x7 - adds r2, r4, 0 - bl MapGridSetMetatileIdAt - ldr r2, _0810EE04 @ =0x00000e6a - movs r0, 0xA - movs r1, 0x7 - bl MapGridSetMetatileIdAt - movs r2, 0xE7 - lsls r2, 4 - movs r0, 0x7 - movs r1, 0x8 - bl MapGridSetMetatileIdAt - adds r4, 0x8 - movs r0, 0x8 - movs r1, 0x8 - adds r2, r4, 0 - bl MapGridSetMetatileIdAt - movs r0, 0x9 - movs r1, 0x8 - adds r2, r4, 0 - bl MapGridSetMetatileIdAt - ldr r2, _0810EE08 @ =0x00000e72 - movs r0, 0xA - movs r1, 0x8 - bl MapGridSetMetatileIdAt - ldr r2, _0810EE0C @ =0x00000e78 - movs r0, 0x7 - movs r1, 0x9 - bl MapGridSetMetatileIdAt - adds r4, 0x8 - movs r0, 0x8 - movs r1, 0x9 - adds r2, r4, 0 - bl MapGridSetMetatileIdAt - movs r0, 0x9 - movs r1, 0x9 - adds r2, r4, 0 - bl MapGridSetMetatileIdAt - ldr r2, _0810EE10 @ =0x00000e7a - movs r0, 0xA - movs r1, 0x9 - bl MapGridSetMetatileIdAt - b _0810EE92 - .align 2, 0 -_0810EDFC: .4byte 0x00000e68 -_0810EE00: .4byte 0x00000e69 -_0810EE04: .4byte 0x00000e6a -_0810EE08: .4byte 0x00000e72 -_0810EE0C: .4byte 0x00000e78 -_0810EE10: .4byte 0x00000e7a -_0810EE14: - ldr r2, _0810EEC0 @ =0x00000e6b - movs r0, 0x7 - movs r1, 0x7 - bl MapGridSetMetatileIdAt - ldr r4, _0810EEC4 @ =0x00000e6c - movs r0, 0x8 - movs r1, 0x7 - adds r2, r4, 0 - bl MapGridSetMetatileIdAt - movs r0, 0x9 - movs r1, 0x7 - adds r2, r4, 0 - bl MapGridSetMetatileIdAt - ldr r2, _0810EEC8 @ =0x00000e6d - movs r0, 0xA - movs r1, 0x7 - bl MapGridSetMetatileIdAt - ldr r2, _0810EECC @ =0x00000e73 - movs r0, 0x7 - movs r1, 0x8 - bl MapGridSetMetatileIdAt - adds r4, 0x8 - movs r0, 0x8 - movs r1, 0x8 - adds r2, r4, 0 - bl MapGridSetMetatileIdAt - movs r0, 0x9 - movs r1, 0x8 - adds r2, r4, 0 - bl MapGridSetMetatileIdAt - ldr r2, _0810EED0 @ =0x00000e75 - movs r0, 0xA - movs r1, 0x8 - bl MapGridSetMetatileIdAt - ldr r2, _0810EED4 @ =0x00000e7b - movs r0, 0x7 - movs r1, 0x9 - bl MapGridSetMetatileIdAt - adds r4, 0x8 - movs r0, 0x8 - movs r1, 0x9 - adds r2, r4, 0 - bl MapGridSetMetatileIdAt - movs r0, 0x9 - movs r1, 0x9 - adds r2, r4, 0 - bl MapGridSetMetatileIdAt - ldr r2, _0810EED8 @ =0x00000e7d - movs r0, 0xA - movs r1, 0x9 - bl MapGridSetMetatileIdAt -_0810EE92: - bl DrawWholeMapView - ldrh r0, [r5, 0x10] - movs r1, 0x1 - eors r0, r1 - strh r0, [r5, 0x10] - ldrh r0, [r5, 0xC] - adds r0, 0x1 - strh r0, [r5, 0xC] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x8 - bne _0810EEB2 - ldrb r0, [r5, 0xA] - bl DestroyTask -_0810EEB2: - ldrh r0, [r5, 0xE] - adds r0, 0x1 - strh r0, [r5, 0xE] - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0810EEC0: .4byte 0x00000e6b -_0810EEC4: .4byte 0x00000e6c -_0810EEC8: .4byte 0x00000e6d -_0810EECC: .4byte 0x00000e73 -_0810EED0: .4byte 0x00000e75 -_0810EED4: .4byte 0x00000e7b -_0810EED8: .4byte 0x00000e7d - thumb_func_end sub_810ED60 - - thumb_func_start sub_810EEDC -sub_810EEDC: @ 810EEDC - push {r4,lr} - ldr r4, _0810EF08 @ =gUnknown_0203925C - ldrb r1, [r4] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _0810EEF0 - movs r0, 0x1 - bl DestroyVerticalScrollIndicator -_0810EEF0: - ldrb r0, [r4] - lsrs r0, 1 - cmp r0, 0x1 - bne _0810EEFE - movs r0, 0 - bl DestroyVerticalScrollIndicator -_0810EEFE: - bl BuyMenuFreeMemory - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0810EF08: .4byte gUnknown_0203925C - thumb_func_end sub_810EEDC - - thumb_func_start SetTrickHouseEndRoomFlag -SetTrickHouseEndRoomFlag: @ 810EF0C - push {lr} - ldr r1, _0810EF1C @ =gSpecialVar_0x8004 - ldr r0, _0810EF20 @ =0x00000259 - strh r0, [r1] - bl FlagSet - pop {r0} - bx r0 - .align 2, 0 -_0810EF1C: .4byte gSpecialVar_0x8004 -_0810EF20: .4byte 0x00000259 - thumb_func_end SetTrickHouseEndRoomFlag - - thumb_func_start ResetTrickHouseEndRoomFlag -ResetTrickHouseEndRoomFlag: @ 810EF24 - push {lr} - ldr r1, _0810EF34 @ =gSpecialVar_0x8004 - ldr r0, _0810EF38 @ =0x00000259 - strh r0, [r1] - bl FlagReset - pop {r0} - bx r0 - .align 2, 0 -_0810EF34: .4byte gSpecialVar_0x8004 -_0810EF38: .4byte 0x00000259 - thumb_func_end ResetTrickHouseEndRoomFlag - - thumb_func_start CheckLeadMonCool -CheckLeadMonCool: @ 810EF3C - push {lr} - bl GetLeadMonIndex - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x64 - muls r0, r1 - ldr r1, _0810EF5C @ =gPlayerParty - adds r0, r1 - movs r1, 0x16 - bl GetMonData - cmp r0, 0xC7 - bls _0810EF60 - movs r0, 0x1 - b _0810EF62 - .align 2, 0 -_0810EF5C: .4byte gPlayerParty -_0810EF60: - movs r0, 0 -_0810EF62: - pop {r1} - bx r1 - thumb_func_end CheckLeadMonCool - - thumb_func_start CheckLeadMonBeauty -CheckLeadMonBeauty: @ 810EF68 - push {lr} - bl GetLeadMonIndex - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x64 - muls r0, r1 - ldr r1, _0810EF88 @ =gPlayerParty - adds r0, r1 - movs r1, 0x17 - bl GetMonData - cmp r0, 0xC7 - bls _0810EF8C - movs r0, 0x1 - b _0810EF8E - .align 2, 0 -_0810EF88: .4byte gPlayerParty -_0810EF8C: - movs r0, 0 -_0810EF8E: - pop {r1} - bx r1 - thumb_func_end CheckLeadMonBeauty - - thumb_func_start CheckLeadMonCute -CheckLeadMonCute: @ 810EF94 - push {lr} - bl GetLeadMonIndex - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x64 - muls r0, r1 - ldr r1, _0810EFB4 @ =gPlayerParty - adds r0, r1 - movs r1, 0x18 - bl GetMonData - cmp r0, 0xC7 - bls _0810EFB8 - movs r0, 0x1 - b _0810EFBA - .align 2, 0 -_0810EFB4: .4byte gPlayerParty -_0810EFB8: - movs r0, 0 -_0810EFBA: - pop {r1} - bx r1 - thumb_func_end CheckLeadMonCute - - thumb_func_start CheckLeadMonSmart -CheckLeadMonSmart: @ 810EFC0 - push {lr} - bl GetLeadMonIndex - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x64 - muls r0, r1 - ldr r1, _0810EFE0 @ =gPlayerParty - adds r0, r1 - movs r1, 0x21 - bl GetMonData - cmp r0, 0xC7 - bls _0810EFE4 - movs r0, 0x1 - b _0810EFE6 - .align 2, 0 -_0810EFE0: .4byte gPlayerParty -_0810EFE4: - movs r0, 0 -_0810EFE6: - pop {r1} - bx r1 - thumb_func_end CheckLeadMonSmart - - thumb_func_start CheckLeadMonTough -CheckLeadMonTough: @ 810EFEC - push {lr} - bl GetLeadMonIndex - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x64 - muls r0, r1 - ldr r1, _0810F00C @ =gPlayerParty - adds r0, r1 - movs r1, 0x2F - bl GetMonData - cmp r0, 0xC7 - bls _0810F010 - movs r0, 0x1 - b _0810F012 - .align 2, 0 -_0810F00C: .4byte gPlayerParty -_0810F010: - movs r0, 0 -_0810F012: - pop {r1} - bx r1 - thumb_func_end CheckLeadMonTough - - thumb_func_start IsGrassTypeInParty -IsGrassTypeInParty: @ 810F018 - push {r4-r6,lr} - movs r5, 0 - ldr r6, _0810F068 @ =gBaseStats -_0810F01E: - movs r0, 0x64 - adds r1, r5, 0 - muls r1, r0 - ldr r0, _0810F06C @ =gPlayerParty - adds r4, r1, r0 - adds r0, r4, 0 - movs r1, 0x5 - bl GetMonData - cmp r0, 0 - beq _0810F074 - adds r0, r4, 0 - movs r1, 0x2D - bl GetMonData - cmp r0, 0 - bne _0810F074 - adds r0, r4, 0 - movs r1, 0xB - bl GetMonData - lsls r0, 16 - lsrs r0, 16 - lsls r1, r0, 3 - subs r1, r0 - lsls r1, 2 - adds r1, r6 - ldrb r0, [r1, 0x6] - cmp r0, 0xC - beq _0810F060 - ldrb r0, [r1, 0x7] - cmp r0, 0xC - bne _0810F074 -_0810F060: - ldr r1, _0810F070 @ =gScriptResult - movs r0, 0x1 - b _0810F082 - .align 2, 0 -_0810F068: .4byte gBaseStats -_0810F06C: .4byte gPlayerParty -_0810F070: .4byte gScriptResult -_0810F074: - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0x5 - bls _0810F01E - ldr r1, _0810F08C @ =gScriptResult - movs r0, 0 -_0810F082: - strh r0, [r1] - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0810F08C: .4byte gScriptResult - thumb_func_end IsGrassTypeInParty - - thumb_func_start ShowGlassWorkshopMenu -ShowGlassWorkshopMenu: @ 810F090 - push {r4,r5,lr} - sub sp, 0x8 - bl ScriptContext2_Enable - movs r0, 0 - movs r1, 0 - movs r2, 0xA - movs r3, 0xB - bl MenuDrawTextWindow - movs r4, 0 - str r4, [sp] - movs r0, 0x9 - str r0, [sp, 0x4] - movs r0, 0 - movs r1, 0x1 - movs r2, 0x1 - movs r3, 0x5 - bl InitMenu - ldr r0, _0810F104 @ =gUnknown_0203925C - strb r4, [r0] - bl sub_80F944C - bl LoadScrollIndicatorPalette - bl sub_810F2B4 - ldr r5, _0810F108 @ =gUnknown_083F83C0 -_0810F0CA: - lsls r0, r4, 2 - adds r0, r5 - ldr r0, [r0] - lsls r2, r4, 1 - adds r2, 0x1 - lsls r2, 24 - lsrs r2, 24 - movs r1, 0x1 - bl MenuPrint - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x4 - bls _0810F0CA - ldr r1, _0810F10C @ =gUnknown_0203925B - movs r0, 0 - strb r0, [r1] - ldr r1, _0810F110 @ =gUnknown_0203925A - movs r0, 0x8 - strb r0, [r1] - ldr r0, _0810F114 @ =sub_810F118 - movs r1, 0x8 - bl CreateTask - add sp, 0x8 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0810F104: .4byte gUnknown_0203925C -_0810F108: .4byte gUnknown_083F83C0 -_0810F10C: .4byte gUnknown_0203925B -_0810F110: .4byte gUnknown_0203925A -_0810F114: .4byte sub_810F118 - thumb_func_end ShowGlassWorkshopMenu - - thumb_func_start sub_810F118 -sub_810F118: @ 810F118 - push {r4,r5,lr} - lsls r0, 24 - lsrs r5, r0, 24 - ldr r0, _0810F1E4 @ =gMain - ldrh r0, [r0, 0x2E] - cmp r0, 0x40 - bne _0810F14A - ldr r1, _0810F1E8 @ =gUnknown_0203925B - ldrb r0, [r1] - cmp r0, 0 - beq _0810F14A - subs r0, 0x1 - strb r0, [r1] - bl GetMenuCursorPos - lsls r0, 24 - lsrs r4, r0, 24 - movs r0, 0x1 - negs r0, r0 - bl MoveMenuCursorNoWrap - adds r0, r4, 0 - movs r1, 0x40 - bl sub_810F1F4 -_0810F14A: - ldr r0, _0810F1E4 @ =gMain - ldrh r0, [r0, 0x2E] - cmp r0, 0x80 - bne _0810F17A - ldr r2, _0810F1E8 @ =gUnknown_0203925B - ldrb r1, [r2] - ldr r0, _0810F1EC @ =gUnknown_0203925A - ldrb r0, [r0] - subs r0, 0x1 - cmp r1, r0 - beq _0810F17A - adds r0, r1, 0x1 - strb r0, [r2] - bl GetMenuCursorPos - lsls r0, 24 - lsrs r4, r0, 24 - movs r0, 0x1 - bl MoveMenuCursorNoWrap - adds r0, r4, 0 - movs r1, 0x80 - bl sub_810F1F4 -_0810F17A: - ldr r4, _0810F1E4 @ =gMain - ldrh r1, [r4, 0x2E] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _0810F1AE - bl HandleDestroyMenuCursors - ldr r0, _0810F1F0 @ =gScriptResult - ldr r1, _0810F1E8 @ =gUnknown_0203925B - ldrb r1, [r1] - strh r1, [r0] - movs r0, 0x5 - bl PlaySE - bl sub_810EEDC - movs r0, 0 - movs r1, 0 - movs r2, 0x1D - movs r3, 0xC - bl MenuZeroFillWindowRect - adds r0, r5, 0 - bl sub_810EC9C -_0810F1AE: - ldrh r1, [r4, 0x2E] - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _0810F1DE - bl HandleDestroyMenuCursors - ldr r1, _0810F1F0 @ =gScriptResult - movs r0, 0x7F - strh r0, [r1] - movs r0, 0x5 - bl PlaySE - bl sub_810EEDC - movs r0, 0 - movs r1, 0 - movs r2, 0x1D - movs r3, 0xC - bl MenuZeroFillWindowRect - adds r0, r5, 0 - bl sub_810EC9C -_0810F1DE: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0810F1E4: .4byte gMain -_0810F1E8: .4byte gUnknown_0203925B -_0810F1EC: .4byte gUnknown_0203925A -_0810F1F0: .4byte gScriptResult - thumb_func_end sub_810F118 - - thumb_func_start sub_810F1F4 -sub_810F1F4: @ 810F1F4 - push {r4-r7,lr} - lsls r0, 24 - lsrs r2, r0, 24 - adds r5, r2, 0 - lsls r1, 24 - lsrs r1, 24 - adds r3, r1, 0 - movs r6, 0 - movs r4, 0 - ldr r0, _0810F214 @ =gUnknown_0203925A - ldrb r0, [r0] - cmp r0, 0x4 - bhi _0810F218 - movs r0, 0 - b _0810F282 - .align 2, 0 -_0810F214: .4byte gUnknown_0203925A -_0810F218: - cmp r1, 0x40 - bne _0810F22C - cmp r2, 0 - bne _0810F240 - ldr r0, _0810F228 @ =gUnknown_0203925B - ldrb r4, [r0] - movs r6, 0x1 - b _0810F244 - .align 2, 0 -_0810F228: .4byte gUnknown_0203925B -_0810F22C: - cmp r3, 0x80 - bne _0810F240 - cmp r5, 0x4 - bne _0810F240 - ldr r0, _0810F288 @ =gUnknown_0203925B - ldrb r0, [r0] - subs r0, 0x4 - lsls r0, 24 - lsrs r4, r0, 24 - movs r6, 0x1 -_0810F240: - cmp r6, 0 - beq _0810F280 -_0810F244: - adds r0, r4, 0 - movs r1, 0x5 - bl GlassWorkshopUpdateScrollIndicators - movs r0, 0x2 - movs r1, 0x1 - movs r2, 0x9 - movs r3, 0xA - bl MenuFillWindowRectWithBlankTile - movs r5, 0 - ldr r7, _0810F28C @ =gUnknown_083F83C0 -_0810F25C: - lsls r0, r4, 2 - adds r0, r7 - ldr r0, [r0] - lsls r2, r5, 1 - adds r2, 0x1 - lsls r2, 24 - lsrs r2, 24 - movs r1, 0x1 - bl MenuPrint - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0x4 - bls _0810F25C -_0810F280: - adds r0, r6, 0 -_0810F282: - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_0810F288: .4byte gUnknown_0203925B -_0810F28C: .4byte gUnknown_083F83C0 - thumb_func_end sub_810F1F4 - - thumb_func_start sub_810F290 -sub_810F290: @ 810F290 - push {lr} - ldr r2, _0810F2B0 @ =gUnknown_0203925C - ldrb r1, [r2] - lsrs r0, r1, 1 - cmp r0, 0x1 - beq _0810F2AC - movs r0, 0x2 - orrs r0, r1 - strb r0, [r2] - movs r0, 0 - movs r1, 0x2C - movs r2, 0x8 - bl CreateVerticalScrollIndicators -_0810F2AC: - pop {r0} - bx r0 - .align 2, 0 -_0810F2B0: .4byte gUnknown_0203925C - thumb_func_end sub_810F290 - - thumb_func_start sub_810F2B4 -sub_810F2B4: @ 810F2B4 - push {lr} - ldr r2, _0810F2D8 @ =gUnknown_0203925C - ldrb r1, [r2] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - bne _0810F2D2 - movs r0, 0x1 - orrs r0, r1 - strb r0, [r2] - movs r0, 0x1 - movs r1, 0x2C - movs r2, 0x58 - bl CreateVerticalScrollIndicators -_0810F2D2: - pop {r0} - bx r0 - .align 2, 0 -_0810F2D8: .4byte gUnknown_0203925C - thumb_func_end sub_810F2B4 - - thumb_func_start GlassWorkshopUpdateScrollIndicators -GlassWorkshopUpdateScrollIndicators: @ 810F2DC - push {r4,r5,lr} - lsls r0, 24 - lsrs r4, r0, 24 - lsls r1, 24 - lsrs r5, r1, 24 - cmp r4, 0 - bne _0810F300 - ldr r0, _0810F2FC @ =gUnknown_0203925C - ldrb r1, [r0] - movs r2, 0x2 - eors r1, r2 - strb r1, [r0] - movs r0, 0 - bl DestroyVerticalScrollIndicator - b _0810F304 - .align 2, 0 -_0810F2FC: .4byte gUnknown_0203925C -_0810F300: - bl sub_810F290 -_0810F304: - adds r1, r4, r5 - ldr r0, _0810F314 @ =gUnknown_0203925A - ldrb r0, [r0] - cmp r1, r0 - bge _0810F318 - bl sub_810F2B4 - b _0810F32C - .align 2, 0 -_0810F314: .4byte gUnknown_0203925A -_0810F318: - cmp r1, r0 - bne _0810F32C - ldr r0, _0810F334 @ =gUnknown_0203925C - ldrb r1, [r0] - movs r2, 0x1 - eors r1, r2 - strb r1, [r0] - movs r0, 0x1 - bl DestroyVerticalScrollIndicator -_0810F32C: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0810F334: .4byte gUnknown_0203925C - thumb_func_end GlassWorkshopUpdateScrollIndicators - - thumb_func_start SpawnCameraDummy -SpawnCameraDummy: @ 810F338 - push {lr} - sub sp, 0x8 - ldr r0, _0810F380 @ =gSaveBlock1 - ldrh r3, [r0] - adds r3, 0x7 - lsls r3, 16 - asrs r3, 16 - ldrh r0, [r0, 0x2] - adds r0, 0x7 - lsls r0, 16 - asrs r0, 16 - str r0, [sp] - movs r0, 0x3 - str r0, [sp, 0x4] - movs r0, 0x7 - movs r1, 0x8 - movs r2, 0x7F - bl SpawnSpecialFieldObjectParametrized - lsls r0, 24 - lsrs r0, 24 - ldr r2, _0810F384 @ =gMapObjects - lsls r1, r0, 3 - adds r1, r0 - lsls r1, 2 - adds r1, r2 - ldrb r0, [r1, 0x1] - movs r2, 0x20 - orrs r0, r2 - strb r0, [r1, 0x1] - ldrb r0, [r1, 0x4] - bl CameraObjectSetFollowedObjectId - add sp, 0x8 - pop {r0} - bx r0 - .align 2, 0 -_0810F380: .4byte gSaveBlock1 -_0810F384: .4byte gMapObjects - thumb_func_end SpawnCameraDummy - - thumb_func_start RemoveCameraDummy -RemoveCameraDummy: @ 810F388 - push {lr} - bl GetPlayerAvatarObjectId - lsls r0, 24 - lsrs r0, 24 - bl CameraObjectSetFollowedObjectId - ldr r0, _0810F3A8 @ =gSaveBlock1 - ldrb r1, [r0, 0x5] - ldrb r2, [r0, 0x4] - movs r0, 0x7F - bl RemoveFieldObjectByLocalIdAndMap - pop {r0} - bx r0 - .align 2, 0 -_0810F3A8: .4byte gSaveBlock1 - thumb_func_end RemoveCameraDummy - - thumb_func_start GetPokeblockNameByMonNature -GetPokeblockNameByMonNature: @ 810F3AC - push {lr} - bl GetLeadMonIndex - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x64 - muls r0, r1 - ldr r1, _0810F3D4 @ =gPlayerParty - adds r0, r1 - bl GetNature - lsls r0, 24 - lsrs r0, 24 - ldr r1, _0810F3D8 @ =gStringVar1 - bl sub_810CB68 - lsls r0, 24 - lsrs r0, 24 - pop {r1} - bx r1 - .align 2, 0 -_0810F3D4: .4byte gPlayerParty -_0810F3D8: .4byte gStringVar1 - thumb_func_end GetPokeblockNameByMonNature - - thumb_func_start GetSecretBaseNearbyMapName -GetSecretBaseNearbyMapName: @ 810F3DC - push {r4,lr} - ldr r4, _0810F3FC @ =gStringVar1 - ldr r0, _0810F400 @ =0x00004026 - bl VarGet - adds r1, r0, 0 - lsls r1, 16 - lsrs r1, 16 - adds r0, r4, 0 - movs r2, 0 - bl sub_80FBFB4 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0810F3FC: .4byte gStringVar1 -_0810F400: .4byte 0x00004026 - thumb_func_end GetSecretBaseNearbyMapName - - thumb_func_start sub_810F404 -sub_810F404: @ 810F404 - push {lr} - movs r0, 0x20 - bl GetGameStat - lsls r0, 16 - lsrs r0, 16 - pop {r1} - bx r1 - thumb_func_end sub_810F404 - - thumb_func_start sub_810F414 -sub_810F414: @ 810F414 - push {lr} - ldr r0, _0810F420 @ =gStringVar1 - bl sub_8135FF4 - pop {r0} - bx r0 - .align 2, 0 -_0810F420: .4byte gStringVar1 - thumb_func_end sub_810F414 - - thumb_func_start sub_810F424 -sub_810F424: @ 810F424 - push {r4,r5,lr} - ldr r2, _0810F458 @ =gSaveBlock1 - ldr r1, _0810F45C @ =0x00002dd4 - adds r0, r2, r1 - ldrb r1, [r0] - lsls r1, 25 - ldr r0, _0810F460 @ =0x00002dd6 - adds r2, r0 - lsrs r1, 25 - ldrh r2, [r2] - adds r1, r2 - ldr r2, _0810F464 @ =gUnknown_083F83E0 - ldr r0, _0810F468 @ =gSpecialVar_0x8004 - ldrh r0, [r0] - adds r0, r2 - ldrb r0, [r0] - adds r5, r1, r0 - movs r0, 0x2 - bl GetPriceReduction - lsls r0, 24 - cmp r0, 0 - bne _0810F470 - ldr r4, _0810F46C @ =gUnknown_083F83EC - b _0810F472 - .align 2, 0 -_0810F458: .4byte gSaveBlock1 -_0810F45C: .4byte 0x00002dd4 -_0810F460: .4byte 0x00002dd6 -_0810F464: .4byte gUnknown_083F83E0 -_0810F468: .4byte gSpecialVar_0x8004 -_0810F46C: .4byte gUnknown_083F83EC -_0810F470: - ldr r4, _0810F484 @ =gUnknown_083F83F8 -_0810F472: - adds r0, r5, 0 - movs r1, 0xC - bl __umodsi3 - adds r0, r4 - ldrb r0, [r0] - pop {r4,r5} - pop {r1} - bx r1 - .align 2, 0 -_0810F484: .4byte gUnknown_083F83F8 - thumb_func_end sub_810F424 - - thumb_func_start sub_810F488 -sub_810F488: @ 810F488 - push {lr} - ldr r1, _0810F4A0 @ =gSpecialVar_0x8004 - ldr r0, _0810F4A4 @ =0x00000277 - strh r0, [r1] - bl FlagGet - lsls r0, 24 - cmp r0, 0 - beq _0810F4A8 - movs r0, 0x1 - b _0810F4AA - .align 2, 0 -_0810F4A0: .4byte gSpecialVar_0x8004 -_0810F4A4: .4byte 0x00000277 -_0810F4A8: - movs r0, 0 -_0810F4AA: - pop {r1} - bx r1 - thumb_func_end sub_810F488 - - thumb_func_start sub_810F4B0 -sub_810F4B0: @ 810F4B0 - push {lr} - ldr r1, _0810F4C8 @ =gSpecialVar_0x8004 - movs r0, 0x9E - lsls r0, 2 - strh r0, [r1] - bl FlagGet - lsls r0, 24 - cmp r0, 0 - beq _0810F4CC - movs r0, 0x1 - b _0810F4CE - .align 2, 0 -_0810F4C8: .4byte gSpecialVar_0x8004 -_0810F4CC: - movs r0, 0 -_0810F4CE: - pop {r1} - bx r1 - thumb_func_end sub_810F4B0 - - thumb_func_start sub_810F4D4 -sub_810F4D4: @ 810F4D4 - push {lr} - ldr r1, _0810F4EC @ =gSpecialVar_0x8004 - ldr r0, _0810F4F0 @ =0x00000279 - strh r0, [r1] - bl FlagGet - lsls r0, 24 - cmp r0, 0 - beq _0810F4F4 - movs r0, 0x1 - b _0810F4F6 - .align 2, 0 -_0810F4EC: .4byte gSpecialVar_0x8004 -_0810F4F0: .4byte 0x00000279 -_0810F4F4: - movs r0, 0 -_0810F4F6: - pop {r1} - bx r1 - thumb_func_end sub_810F4D4 - - thumb_func_start sub_810F4FC -sub_810F4FC: @ 810F4FC - push {lr} - ldr r1, _0810F514 @ =gSpecialVar_0x8004 - ldr r0, _0810F518 @ =0x0000027a - strh r0, [r1] - bl FlagGet - lsls r0, 24 - cmp r0, 0 - beq _0810F51C - movs r0, 0x1 - b _0810F51E - .align 2, 0 -_0810F514: .4byte gSpecialVar_0x8004 -_0810F518: .4byte 0x0000027a -_0810F51C: - movs r0, 0 -_0810F51E: - pop {r1} - bx r1 - thumb_func_end sub_810F4FC - - thumb_func_start LeadMonHasEffortRibbon -LeadMonHasEffortRibbon: @ 810F524 - push {lr} - bl GetLeadMonIndex - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x64 - muls r0, r1 - ldr r1, _0810F548 @ =gPlayerParty - adds r0, r1 - movs r1, 0x47 - movs r2, 0 - bl GetMonData - lsls r0, 24 - lsrs r0, 24 - pop {r1} - bx r1 - .align 2, 0 -_0810F548: .4byte gPlayerParty - thumb_func_end LeadMonHasEffortRibbon - - thumb_func_start GivLeadMonEffortRibbon -GivLeadMonEffortRibbon: @ 810F54C - push {lr} - sub sp, 0x4 - movs r0, 0x2A - bl IncrementGameStat - ldr r0, _0810F580 @ =0x0000083b - bl FlagSet - movs r1, 0x1 - mov r0, sp - strb r1, [r0] - bl GetLeadMonIndex - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x64 - muls r0, r1 - ldr r1, _0810F584 @ =gPlayerParty - adds r0, r1 - movs r1, 0x47 - mov r2, sp - bl SetMonData - add sp, 0x4 - pop {r0} - bx r0 - .align 2, 0 -_0810F580: .4byte 0x0000083b -_0810F584: .4byte gPlayerParty - thumb_func_end GivLeadMonEffortRibbon - - thumb_func_start GetLeadMonEVCount -GetLeadMonEVCount: @ 810F588 - push {lr} - bl GetLeadMonIndex - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x64 - muls r0, r1 - ldr r1, _0810F5AC @ =gPlayerParty - adds r0, r1 - bl GetMonEVCount - lsls r0, 16 - ldr r1, _0810F5B0 @ =0x01fd0000 - cmp r0, r1 - bhi _0810F5B4 - movs r0, 0 - b _0810F5B6 - .align 2, 0 -_0810F5AC: .4byte gPlayerParty -_0810F5B0: .4byte 0x01fd0000 -_0810F5B4: - movs r0, 0x1 -_0810F5B6: - pop {r1} - bx r1 - thumb_func_end GetLeadMonEVCount - - thumb_func_start sub_810F5BC -sub_810F5BC: @ 810F5BC - push {lr} - movs r0, 0xC7 - bl FlagGet - lsls r0, 24 - cmp r0, 0 - bne _0810F610 - ldr r0, _0810F5E8 @ =gSaveBlock1 - ldrh r1, [r0, 0x4] - movs r0, 0x83 - lsls r0, 3 - cmp r1, r0 - bne _0810F610 - subs r0, 0x75 - bl FlagGet - lsls r0, 24 - cmp r0, 0 - beq _0810F5F0 - ldr r0, _0810F5EC @ =0x0000409a - movs r1, 0x4 - b _0810F602 - .align 2, 0 -_0810F5E8: .4byte gSaveBlock1 -_0810F5EC: .4byte 0x0000409a -_0810F5F0: - movs r0, 0xE9 - lsls r0, 2 - bl FlagGet - lsls r0, 24 - cmp r0, 0 - beq _0810F610 - ldr r0, _0810F60C @ =0x0000409a - movs r1, 0x5 -_0810F602: - bl VarSet - movs r0, 0x1 - b _0810F612 - .align 2, 0 -_0810F60C: .4byte 0x0000409a -_0810F610: - movs r0, 0 -_0810F612: - pop {r1} - bx r1 - thumb_func_end sub_810F5BC - - thumb_func_start SetShoalItemFlag -SetShoalItemFlag: @ 810F618 - push {lr} - ldr r0, _0810F624 @ =0x0000085f - bl FlagSet - pop {r0} - bx r0 - .align 2, 0 -_0810F624: .4byte 0x0000085f - thumb_func_end SetShoalItemFlag - - thumb_func_start PutZigzagoonInPlayerParty -PutZigzagoonInPlayerParty: @ 810F628 - push {r4,r5,lr} - sub sp, 0x14 - ldr r5, _0810F690 @ =gPlayerParty - movs r1, 0x90 - lsls r1, 1 - movs r4, 0 - str r4, [sp] - str r4, [sp, 0x4] - str r4, [sp, 0x8] - str r4, [sp, 0xC] - adds r0, r5, 0 - movs r2, 0x7 - movs r3, 0x20 - bl CreateMon - movs r1, 0x1 - add r0, sp, 0x10 - strh r1, [r0] - adds r0, r5, 0 - movs r1, 0x2E - add r2, sp, 0x10 - bl SetMonData - add r1, sp, 0x10 - movs r0, 0x21 - strh r0, [r1] - adds r0, r5, 0 - movs r1, 0xD - add r2, sp, 0x10 - bl SetMonData - add r0, sp, 0x10 - strh r4, [r0] - adds r0, r5, 0 - movs r1, 0xE - add r2, sp, 0x10 - bl SetMonData - adds r0, r5, 0 - movs r1, 0xF - add r2, sp, 0x10 - bl SetMonData - adds r0, r5, 0 - movs r1, 0x10 - add r2, sp, 0x10 - bl SetMonData - add sp, 0x14 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0810F690: .4byte gPlayerParty - thumb_func_end PutZigzagoonInPlayerParty - - thumb_func_start IsStarterInParty -IsStarterInParty: @ 810F694 - push {r4-r6,lr} - ldr r0, _0810F6D0 @ =0x00004023 - bl VarGet - lsls r0, 16 - lsrs r0, 16 - bl GetStarterPokemon - lsls r0, 16 - lsrs r6, r0, 16 - bl CalculatePlayerPartyCount - lsls r0, 24 - lsrs r5, r0, 24 - movs r4, 0 - cmp r4, r5 - bcs _0810F6E2 -_0810F6B6: - movs r0, 0x64 - muls r0, r4 - ldr r1, _0810F6D4 @ =gPlayerParty - adds r0, r1 - movs r1, 0x41 - movs r2, 0 - bl GetMonData - cmp r0, r6 - bne _0810F6D8 - movs r0, 0x1 - b _0810F6E4 - .align 2, 0 -_0810F6D0: .4byte 0x00004023 -_0810F6D4: .4byte gPlayerParty -_0810F6D8: - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, r5 - bcc _0810F6B6 -_0810F6E2: - movs r0, 0 -_0810F6E4: - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end IsStarterInParty - - thumb_func_start CheckFreePokemonStorageSpace -CheckFreePokemonStorageSpace: @ 810F6EC - push {r4-r6,lr} - movs r5, 0 -_0810F6F0: - movs r4, 0 - lsls r1, r5, 2 - adds r1, r5 - lsls r0, r1, 4 - subs r0, r1 - lsls r6, r0, 5 -_0810F6FC: - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 4 - ldr r1, _0810F718 @ =gPokemonStorage + 0x4 - adds r0, r1 - adds r0, r6, r0 - movs r1, 0xB - movs r2, 0 - bl GetBoxMonData - cmp r0, 0 - bne _0810F71C - movs r0, 0x1 - b _0810F732 - .align 2, 0 -_0810F718: .4byte gPokemonStorage + 0x4 -_0810F71C: - adds r0, r4, 0x1 - lsls r0, 16 - lsrs r4, r0, 16 - cmp r4, 0x1D - bls _0810F6FC - adds r0, r5, 0x1 - lsls r0, 16 - lsrs r5, r0, 16 - cmp r5, 0xD - bls _0810F6F0 - movs r0, 0 -_0810F732: - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end CheckFreePokemonStorageSpace - - thumb_func_start IsPokerusInParty -IsPokerusInParty: @ 810F738 - push {lr} - ldr r0, _0810F74C @ =gPlayerParty - movs r1, 0x3F - bl CheckPartyPokerus - lsls r0, 24 - cmp r0, 0 - beq _0810F750 - movs r0, 0x1 - b _0810F752 - .align 2, 0 -_0810F74C: .4byte gPlayerParty -_0810F750: - movs r0, 0 -_0810F752: - pop {r1} - bx r1 - thumb_func_end IsPokerusInParty - - thumb_func_start sub_810F758 -sub_810F758: @ 810F758 - push {lr} - ldr r0, _0810F798 @ =sub_810F7A8 - movs r1, 0x9 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - ldr r2, _0810F79C @ =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - ldr r0, _0810F7A0 @ =gSpecialVar_0x8005 - ldrh r2, [r0] - movs r0, 0 - strh r2, [r1, 0x8] - strh r0, [r1, 0xA] - strh r0, [r1, 0xC] - strh r0, [r1, 0xE] - ldr r0, _0810F7A4 @ =gSpecialVar_0x8004 - ldrh r0, [r0] - strh r0, [r1, 0x10] - movs r0, 0x5 - strh r0, [r1, 0x12] - movs r0, 0 - bl SetCameraPanningCallback - movs r0, 0xD6 - bl PlaySE - pop {r0} - bx r0 - .align 2, 0 -_0810F798: .4byte sub_810F7A8 -_0810F79C: .4byte gTasks -_0810F7A0: .4byte gSpecialVar_0x8005 -_0810F7A4: .4byte gSpecialVar_0x8004 - thumb_func_end sub_810F758 - - thumb_func_start sub_810F7A8 -sub_810F7A8: @ 810F7A8 - push {r4,r5,lr} - lsls r0, 24 - lsrs r5, r0, 24 - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - ldr r1, _0810F810 @ =gTasks - adds r4, r0, r1 - ldrh r0, [r4, 0xA] - adds r0, 0x1 - strh r0, [r4, 0xA] - movs r1, 0xA - ldrsh r0, [r4, r1] - movs r2, 0x12 - ldrsh r1, [r4, r2] - bl __modsi3 - cmp r0, 0 - bne _0810F808 - strh r0, [r4, 0xA] - ldrh r0, [r4, 0xC] - adds r0, 0x1 - strh r0, [r4, 0xC] - movs r1, 0xE - ldrsh r0, [r4, r1] - cmp r0, 0 - bne _0810F808 - ldrh r0, [r4, 0x8] - negs r0, r0 - strh r0, [r4, 0x8] - ldrh r0, [r4, 0x10] - negs r0, r0 - strh r0, [r4, 0x10] - movs r2, 0x8 - ldrsh r0, [r4, r2] - movs r2, 0x10 - ldrsh r1, [r4, r2] - bl SetCameraPanning - movs r1, 0xC - ldrsh r0, [r4, r1] - cmp r0, 0x8 - bne _0810F808 - adds r0, r5, 0 - bl sub_810F814 - bl InstallCameraPanAheadCallback -_0810F808: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0810F810: .4byte gTasks - thumb_func_end sub_810F7A8 - - thumb_func_start sub_810F814 -sub_810F814: @ 810F814 - push {lr} - lsls r0, 24 - lsrs r0, 24 - bl DestroyTask - bl EnableBothScriptContexts - pop {r0} - bx r0 - thumb_func_end sub_810F814 - - thumb_func_start sub_810F828 -sub_810F828: @ 810F828 - push {lr} - movs r0, 0xAE - lsls r0, 2 - bl FlagGet - lsls r0, 24 - lsrs r0, 24 - pop {r1} - bx r1 - thumb_func_end sub_810F828 - - thumb_func_start SetRoute119Weather -SetRoute119Weather: @ 810F83C - push {lr} - bl get_map_light_from_warp0 - lsls r0, 24 - lsrs r0, 24 - bl is_light_level_1_2_3_5_or_6 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _0810F858 - movs r0, 0x14 - bl SetSav1Weather -_0810F858: - pop {r0} - bx r0 - thumb_func_end SetRoute119Weather - - thumb_func_start SetRoute123Weather -SetRoute123Weather: @ 810F85C - push {lr} - bl get_map_light_from_warp0 - lsls r0, 24 - lsrs r0, 24 - bl is_light_level_1_2_3_5_or_6 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _0810F878 - movs r0, 0x15 - bl SetSav1Weather -_0810F878: - pop {r0} - bx r0 - thumb_func_end SetRoute123Weather - - thumb_func_start GetLeadMonIndex -GetLeadMonIndex: @ 810F87C - push {r4-r6,lr} - bl CalculatePlayerPartyCount - lsls r0, 24 - lsrs r6, r0, 24 - movs r5, 0 - cmp r5, r6 - bcs _0810F8CA -_0810F88C: - movs r0, 0x64 - adds r1, r5, 0 - muls r1, r0 - ldr r0, _0810F8BC @ =gPlayerParty - adds r4, r1, r0 - adds r0, r4, 0 - movs r1, 0x41 - movs r2, 0 - bl GetMonData - movs r1, 0xCE - lsls r1, 1 - cmp r0, r1 - beq _0810F8C0 - adds r0, r4, 0 - movs r1, 0x41 - movs r2, 0 - bl GetMonData - cmp r0, 0 - beq _0810F8C0 - adds r0, r5, 0 - b _0810F8CC - .align 2, 0 -_0810F8BC: .4byte gPlayerParty -_0810F8C0: - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, r6 - bcc _0810F88C -_0810F8CA: - movs r0, 0 -_0810F8CC: - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end GetLeadMonIndex - - thumb_func_start ScriptGetPartyMonSpecies -ScriptGetPartyMonSpecies: @ 810F8D4 - push {lr} - ldr r0, _0810F8F4 @ =gSpecialVar_0x8004 - ldrh r1, [r0] - movs r0, 0x64 - muls r0, r1 - ldr r1, _0810F8F8 @ =gPlayerParty - adds r0, r1 - movs r1, 0x41 - movs r2, 0 - bl GetMonData - lsls r0, 16 - lsrs r0, 16 - pop {r1} - bx r1 - .align 2, 0 -_0810F8F4: .4byte gSpecialVar_0x8004 -_0810F8F8: .4byte gPlayerParty - thumb_func_end ScriptGetPartyMonSpecies - - thumb_func_start sub_810F8FC -sub_810F8FC: @ 810F8FC - push {lr} - movs r0, 0x6 - bl sub_805ADDC - pop {r0} - bx r0 - thumb_func_end sub_810F8FC - - thumb_func_start sub_810F908 -sub_810F908: @ 810F908 - push {r4,lr} - ldr r0, _0810F928 @ =0x000040c2 - bl VarGet - lsls r0, 16 - lsrs r0, 16 - adds r3, r0, 0 - ldr r2, _0810F92C @ =gLocalTime - movs r1, 0 - ldrsh r0, [r2, r1] - subs r0, r3 - cmp r0, 0x6 - ble _0810F930 - movs r0, 0 - b _0810F948 - .align 2, 0 -_0810F928: .4byte 0x000040c2 -_0810F92C: .4byte gLocalTime -_0810F930: - ldrh r1, [r2] - movs r4, 0 - ldrsh r0, [r2, r4] - cmp r0, 0 - blt _0810F946 - subs r1, r3 - movs r0, 0x7 - subs r0, r1 - lsls r0, 16 - lsrs r0, 16 - b _0810F948 -_0810F946: - movs r0, 0x8 -_0810F948: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_810F908 - - thumb_func_start sub_810F950 -sub_810F950: @ 810F950 - push {r4,lr} - ldr r0, _0810F964 @ =0x000040c2 - ldr r4, _0810F968 @ =gLocalTime - ldrh r1, [r4] - bl VarSet - ldrh r0, [r4] - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_0810F964: .4byte 0x000040c2 -_0810F968: .4byte gLocalTime - thumb_func_end sub_810F950 - - thumb_func_start sub_810F96C -sub_810F96C: @ 810F96C - push {r4,lr} - ldr r0, _0810F994 @ =gSpecialVar_0x8004 - ldrh r1, [r0] - movs r0, 0x64 - muls r0, r1 - ldr r1, _0810F998 @ =gPlayerParty - adds r0, r1 - ldr r4, _0810F99C @ =gStringVar1 - movs r1, 0x7 - adds r2, r4, 0 - bl GetMonData - ldr r0, _0810F9A0 @ =gSaveBlock2 - adds r1, r4, 0 - bl StringCompareWithoutExtCtrlCodes - cmp r0, 0 - beq _0810F9A4 - movs r0, 0x1 - b _0810F9A6 - .align 2, 0 -_0810F994: .4byte gSpecialVar_0x8004 -_0810F998: .4byte gPlayerParty -_0810F99C: .4byte gStringVar1 -_0810F9A0: .4byte gSaveBlock2 -_0810F9A4: - movs r0, 0 -_0810F9A6: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_810F96C - - thumb_func_start sub_810F9AC -sub_810F9AC: @ 810F9AC - push {r4,r5,lr} - ldr r2, _0810F9C0 @ =gScriptResult - ldrh r1, [r2] - ldr r0, _0810F9C4 @ =0x0000270f - cmp r1, r0 - bls _0810F9C8 - movs r0, 0 - bl sub_80BF088 - b _0810FA4A - .align 2, 0 -_0810F9C0: .4byte gScriptResult -_0810F9C4: .4byte 0x0000270f -_0810F9C8: - ldr r0, _0810F9D8 @ =0x000003e7 - cmp r1, r0 - bls _0810F9E0 - ldr r4, _0810F9DC @ =gStringVar1 - movs r0, 0xA1 - strb r0, [r4] - adds r4, 0x1 - b _0810FA04 - .align 2, 0 -_0810F9D8: .4byte 0x000003e7 -_0810F9DC: .4byte gStringVar1 -_0810F9E0: - cmp r1, 0x63 - bls _0810F9F4 - ldr r4, _0810F9F0 @ =gStringVar1 - movs r0, 0xA1 - strb r0, [r4] - strb r0, [r4, 0x1] - adds r4, 0x2 - b _0810FA04 - .align 2, 0 -_0810F9F0: .4byte gStringVar1 -_0810F9F4: - cmp r1, 0x9 - bls _0810FA24 - ldr r4, _0810FA20 @ =gStringVar1 - movs r0, 0xA1 - strb r0, [r4] - strb r0, [r4, 0x1] - strb r0, [r4, 0x2] - adds r4, 0x3 -_0810FA04: - ldrh r5, [r2] - adds r0, r5, 0 - bl sub_80BF0B8 - adds r3, r0, 0 - lsls r3, 24 - lsrs r3, 24 - adds r0, r4, 0 - adds r1, r5, 0 - movs r2, 0 - bl ConvertIntToDecimalStringN - b _0810FA4A - .align 2, 0 -_0810FA20: .4byte gStringVar1 -_0810FA24: - ldr r4, _0810FA50 @ =gStringVar1 - movs r0, 0xA1 - strb r0, [r4] - strb r0, [r4, 0x1] - strb r0, [r4, 0x2] - strb r0, [r4, 0x3] - adds r4, 0x4 - ldrh r5, [r2] - adds r0, r5, 0 - bl sub_80BF0B8 - adds r3, r0, 0 - lsls r3, 24 - lsrs r3, 24 - adds r0, r4, 0 - adds r1, r5, 0 - movs r2, 0 - bl ConvertIntToDecimalStringN -_0810FA4A: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0810FA50: .4byte gStringVar1 - thumb_func_end sub_810F9AC - - thumb_func_start ResetFanClub -ResetFanClub: @ 810FA54 - ldr r0, _0810FA68 @ =gSaveBlock1 - ldr r2, _0810FA6C @ =0x000013c2 - adds r1, r0, r2 - movs r2, 0 - strh r2, [r1] - ldr r1, _0810FA70 @ =0x000013c4 - adds r0, r1 - strh r2, [r0] - bx lr - .align 2, 0 -_0810FA68: .4byte gSaveBlock1 -_0810FA6C: .4byte 0x000013c2 -_0810FA70: .4byte 0x000013c4 - thumb_func_end ResetFanClub - - thumb_func_start sub_810FA74 -sub_810FA74: @ 810FA74 - push {lr} - bl sub_810FF30 - lsls r0, 24 - cmp r0, 0 - beq _0810FA90 - bl sub_810FCE8 - ldr r0, _0810FA94 @ =gSaveBlock1 - ldr r1, _0810FA98 @ =gSaveBlock2 - ldrh r1, [r1, 0xE] - ldr r2, _0810FA9C @ =0x000013c4 - adds r0, r2 - strh r1, [r0] -_0810FA90: - pop {r0} - bx r0 - .align 2, 0 -_0810FA94: .4byte gSaveBlock1 -_0810FA98: .4byte gSaveBlock2 -_0810FA9C: .4byte 0x000013c4 - thumb_func_end sub_810FA74 - - thumb_func_start sub_810FAA0 -sub_810FAA0: @ 810FAA0 - push {r4,lr} - ldr r4, _0810FAF0 @ =gSaveBlock1 - ldr r1, _0810FAF4 @ =0x000013c2 - adds r0, r4, r1 - ldrh r0, [r0] - lsrs r0, 7 - movs r1, 0x1 - ands r0, r1 - cmp r0, 0 - bne _0810FAE8 - bl sub_810FF48 - bl sub_810FD80 - ldr r0, _0810FAF8 @ =gSaveBlock2 - ldrh r1, [r0, 0xE] - ldr r2, _0810FAFC @ =0x000013c4 - adds r0, r4, r2 - strh r1, [r0] - ldr r0, _0810FB00 @ =0x00000315 - bl FlagReset - ldr r0, _0810FB04 @ =0x00000316 - bl FlagReset - ldr r0, _0810FB08 @ =0x00000317 - bl FlagReset - movs r0, 0xC6 - lsls r0, 2 - bl FlagReset - ldr r0, _0810FB0C @ =0x00004095 - movs r1, 0x1 - bl VarSet -_0810FAE8: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0810FAF0: .4byte gSaveBlock1 -_0810FAF4: .4byte 0x000013c2 -_0810FAF8: .4byte gSaveBlock2 -_0810FAFC: .4byte 0x000013c4 -_0810FB00: .4byte 0x00000315 -_0810FB04: .4byte 0x00000316 -_0810FB08: .4byte 0x00000317 -_0810FB0C: .4byte 0x00004095 - thumb_func_end sub_810FAA0 - - thumb_func_start sub_810FB10 -sub_810FB10: @ 810FB10 - push {r4,r5,lr} - lsls r0, 24 - lsrs r5, r0, 24 - ldr r0, _0810FB54 @ =0x00004095 - bl VarGet - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x2 - bne _0810FB80 - ldr r0, _0810FB58 @ =gSaveBlock1 - ldr r1, _0810FB5C @ =0x000013c2 - adds r4, r0, r1 - ldrh r2, [r4] - movs r1, 0x7F - ands r1, r2 - ldr r0, _0810FB60 @ =gUnknown_083F8404 - adds r0, r5, r0 - ldrb r0, [r0] - adds r1, r0 - cmp r1, 0x13 - ble _0810FB7C - bl sub_810FCB0 - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x2 - bhi _0810FB68 - bl sub_810FB9C - ldrh r1, [r4] - ldr r0, _0810FB64 @ =0x0000ff80 - ands r0, r1 - b _0810FB7E - .align 2, 0 -_0810FB54: .4byte 0x00004095 -_0810FB58: .4byte gSaveBlock1 -_0810FB5C: .4byte 0x000013c2 -_0810FB60: .4byte gUnknown_083F8404 -_0810FB64: .4byte 0x0000ff80 -_0810FB68: - ldrh r0, [r4] - ldr r1, _0810FB78 @ =0x0000ff80 - ands r1, r0 - movs r0, 0x14 - orrs r1, r0 - strh r1, [r4] - b _0810FB80 - .align 2, 0 -_0810FB78: .4byte 0x0000ff80 -_0810FB7C: - adds r0, r2, r0 -_0810FB7E: - strh r0, [r4] -_0810FB80: - ldr r0, _0810FB94 @ =gSaveBlock1 - ldr r1, _0810FB98 @ =0x000013c2 - adds r0, r1 - ldrb r1, [r0] - movs r0, 0x7F - ands r0, r1 - pop {r4,r5} - pop {r1} - bx r1 - .align 2, 0 -_0810FB94: .4byte gSaveBlock1 -_0810FB98: .4byte 0x000013c2 - thumb_func_end sub_810FB10 - - thumb_func_start sub_810FB9C -sub_810FB9C: @ 810FB9C - push {r4-r7,lr} - sub sp, 0x4 - movs r3, 0 - movs r5, 0 - ldr r7, _0810FBD8 @ =gSaveBlock1 + 0x13C2 - movs r6, 0x1 -_0810FBA8: - ldrh r1, [r7] - ldr r0, _0810FBDC @ =gUnknown_083F8408 - adds r0, r5, r0 - ldrb r4, [r0] - asrs r1, r4 - ands r1, r6 - cmp r1, 0 - bne _0810FBE0 - adds r3, r5, 0 - str r3, [sp] - bl Random - adds r1, r6, 0 - ands r1, r0 - ldr r3, [sp] - cmp r1, 0 - beq _0810FBE0 - adds r0, r6, 0 - lsls r0, r4 - ldrh r1, [r7] - orrs r0, r1 - strh r0, [r7] - b _0810FC00 - .align 2, 0 -_0810FBD8: .4byte gSaveBlock1 + 0x13C2 -_0810FBDC: .4byte gUnknown_083F8408 -_0810FBE0: - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0x7 - bls _0810FBA8 - ldr r2, _0810FC0C @ =gSaveBlock1 - ldr r0, _0810FC10 @ =0x000013c2 - adds r2, r0 - ldr r1, _0810FC14 @ =gUnknown_083F8408 - adds r1, r3, r1 - movs r0, 0x1 - ldrb r1, [r1] - lsls r0, r1 - ldrh r1, [r2] - orrs r0, r1 - strh r0, [r2] -_0810FC00: - adds r0, r3, 0 - add sp, 0x4 - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_0810FC0C: .4byte gSaveBlock1 -_0810FC10: .4byte 0x000013c2 -_0810FC14: .4byte gUnknown_083F8408 - thumb_func_end sub_810FB9C - - thumb_func_start sub_810FC18 -sub_810FC18: @ 810FC18 - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x4 - movs r0, 0 - mov r8, r0 - bl sub_810FCB0 - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x1 - bne _0810FC3E - movs r0, 0 - b _0810FC94 -_0810FC34: - lsls r4, r6 - ldrh r0, [r2] - eors r4, r0 - strh r4, [r2] - b _0810FC92 -_0810FC3E: - movs r5, 0 - ldr r2, _0810FCA0 @ =gSaveBlock1 + 0x13C2 - movs r4, 0x1 -_0810FC44: - ldrh r1, [r2] - ldr r7, _0810FCA4 @ =gUnknown_083F8410 - adds r0, r5, r7 - ldrb r6, [r0] - asrs r1, r6 - ands r1, r4 - cmp r1, 0 - beq _0810FC66 - mov r8, r5 - str r2, [sp] - bl Random - adds r1, r4, 0 - ands r1, r0 - ldr r2, [sp] - cmp r1, 0 - bne _0810FC34 -_0810FC66: - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0x7 - bls _0810FC44 - ldr r0, _0810FCA8 @ =gSaveBlock1 - ldr r1, _0810FCAC @ =0x000013c2 - adds r4, r0, r1 - ldrh r1, [r4] - mov r2, r8 - adds r0, r2, r7 - ldrb r2, [r0] - adds r0, r1, 0 - asrs r0, r2 - movs r3, 0x1 - ands r0, r3 - cmp r0, 0 - beq _0810FC92 - adds r0, r3, 0 - lsls r0, r2 - eors r1, r0 - strh r1, [r4] -_0810FC92: - mov r0, r8 -_0810FC94: - add sp, 0x4 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_0810FCA0: .4byte gSaveBlock1 + 0x13C2 -_0810FCA4: .4byte gUnknown_083F8410 -_0810FCA8: .4byte gSaveBlock1 -_0810FCAC: .4byte 0x000013c2 - thumb_func_end sub_810FC18 - - thumb_func_start sub_810FCB0 -sub_810FCB0: @ 810FCB0 - push {r4,r5,lr} - movs r3, 0 - movs r2, 0 - ldr r0, _0810FCE4 @ =gSaveBlock1 + 0x13C2 - ldrh r4, [r0] - movs r5, 0x1 -_0810FCBC: - adds r1, r2, 0 - adds r1, 0x8 - adds r0, r4, 0 - asrs r0, r1 - ands r0, r5 - cmp r0, 0 - beq _0810FCD0 - adds r0, r3, 0x1 - lsls r0, 24 - lsrs r3, r0, 24 -_0810FCD0: - adds r0, r2, 0x1 - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0x7 - bls _0810FCBC - adds r0, r3, 0 - pop {r4,r5} - pop {r1} - bx r1 - .align 2, 0 -_0810FCE4: .4byte gSaveBlock1 + 0x13C2 - thumb_func_end sub_810FCB0 - - thumb_func_start sub_810FCE8 -sub_810FCE8: @ 810FCE8 - push {r4-r7,lr} - mov r7, r8 - push {r7} - movs r5, 0 - ldr r2, _0810FD08 @ =gSaveBlock2 - ldrh r1, [r2, 0xE] - ldr r0, _0810FD0C @ =0x000003e6 - cmp r1, r0 - bhi _0810FD54 - ldr r7, _0810FD10 @ =gSaveBlock1 - adds r6, r2, 0 - ldr r0, _0810FD14 @ =0x000013c4 - adds r0, r7 - mov r8, r0 - b _0810FD36 - .align 2, 0 -_0810FD08: .4byte gSaveBlock2 -_0810FD0C: .4byte 0x000003e6 -_0810FD10: .4byte gSaveBlock1 -_0810FD14: .4byte 0x000013c4 -_0810FD18: - ldrh r1, [r6, 0xE] - ldr r0, _0810FD4C @ =0x000013c4 - adds r4, r7, r0 - ldrh r0, [r4] - subs r1, r0 - cmp r1, 0xB - ble _0810FD54 - bl sub_810FC18 - ldrh r0, [r4] - adds r0, 0xC - strh r0, [r4] - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 -_0810FD36: - bl sub_810FCB0 - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x4 - bhi _0810FD50 - ldrh r0, [r6, 0xE] - mov r1, r8 - strh r0, [r1] - b _0810FD54 - .align 2, 0 -_0810FD4C: .4byte 0x000013c4 -_0810FD50: - cmp r5, 0x8 - bne _0810FD18 -_0810FD54: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_810FCE8 - - thumb_func_start sub_810FD60 -sub_810FD60: @ 810FD60 - ldr r0, _0810FD74 @ =gSaveBlock1 - ldr r1, _0810FD78 @ =0x000013c2 - adds r0, r1 - ldrh r0, [r0] - ldr r1, _0810FD7C @ =gSpecialVar_0x8004 - ldrh r1, [r1] - asrs r0, r1 - movs r1, 0x1 - ands r0, r1 - bx lr - .align 2, 0 -_0810FD74: .4byte gSaveBlock1 -_0810FD78: .4byte 0x000013c2 -_0810FD7C: .4byte gSpecialVar_0x8004 - thumb_func_end sub_810FD60 - - thumb_func_start sub_810FD80 -sub_810FD80: @ 810FD80 - ldr r2, _0810FDA4 @ =gSaveBlock1 - ldr r0, _0810FDA8 @ =0x000013c2 - adds r2, r0 - ldrh r1, [r2] - movs r3, 0x80 - lsls r3, 6 - adds r0, r3, 0 - orrs r0, r1 - movs r3, 0x80 - lsls r3, 1 - adds r1, r3, 0 - orrs r0, r1 - movs r3, 0x80 - lsls r3, 3 - adds r1, r3, 0 - orrs r0, r1 - strh r0, [r2] - bx lr - .align 2, 0 -_0810FDA4: .4byte gSaveBlock1 -_0810FDA8: .4byte 0x000013c2 - thumb_func_end sub_810FD80 - - thumb_func_start sub_810FDAC -sub_810FDAC: @ 810FDAC - push {lr} - movs r3, 0 - movs r2, 0 - ldr r0, _0810FDC8 @ =gSpecialVar_0x8004 - ldrh r0, [r0] - subs r0, 0x8 - cmp r0, 0x7 - bhi _0810FE0C - lsls r0, 2 - ldr r1, _0810FDCC @ =_0810FDD0 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0810FDC8: .4byte gSpecialVar_0x8004 -_0810FDCC: .4byte _0810FDD0 - .align 2, 0 -_0810FDD0: - .4byte _0810FE0C - .4byte _0810FE0C - .4byte _0810FDF0 - .4byte _0810FDF6 - .4byte _0810FDFC - .4byte _0810FE02 - .4byte _0810FE08 - .4byte _0810FE0C -_0810FDF0: - movs r3, 0 - movs r2, 0x3 - b _0810FE0C -_0810FDF6: - movs r3, 0 - movs r2, 0x1 - b _0810FE0C -_0810FDFC: - movs r3, 0x1 - movs r2, 0 - b _0810FE0C -_0810FE02: - movs r3, 0 - movs r2, 0x4 - b _0810FE0C -_0810FE08: - movs r3, 0x1 - movs r2, 0x5 -_0810FE0C: - ldr r0, _0810FE18 @ =gSaveBlock1 + 0x30B8 - adds r1, r3, 0 - bl sub_810FE1C - pop {r0} - bx r0 - .align 2, 0 -_0810FE18: .4byte gSaveBlock1 + 0x30B8 - thumb_func_end sub_810FDAC - - thumb_func_start sub_810FE1C -sub_810FE1C: @ 810FE1C - push {r4,lr} - lsls r1, 24 - lsls r2, 24 - lsrs r2, 24 - lsrs r1, 20 - adds r1, r0, r1 - ldrb r0, [r1] - cmp r0, 0xFF - bne _0810FED0 - cmp r2, 0x5 - bhi _0810FEBC - lsls r0, r2, 2 - ldr r1, _0810FE3C @ =_0810FE40 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0810FE3C: .4byte _0810FE40 - .align 2, 0 -_0810FE40: - .4byte _0810FEBC - .4byte _0810FE58 - .4byte _0810FE6C - .4byte _0810FE80 - .4byte _0810FE94 - .4byte _0810FEA8 -_0810FE58: - ldr r0, _0810FE64 @ =gStringVar1 - ldr r1, _0810FE68 @ =gOtherText_Steven - bl StringCopy - b _0810FEF2 - .align 2, 0 -_0810FE64: .4byte gStringVar1 -_0810FE68: .4byte gOtherText_Steven -_0810FE6C: - ldr r0, _0810FE78 @ =gStringVar1 - ldr r1, _0810FE7C @ =gOtherText_Brawly - bl StringCopy - b _0810FEF2 - .align 2, 0 -_0810FE78: .4byte gStringVar1 -_0810FE7C: .4byte gOtherText_Brawly -_0810FE80: - ldr r0, _0810FE8C @ =gStringVar1 - ldr r1, _0810FE90 @ =gOtherText_Winona - bl StringCopy - b _0810FEF2 - .align 2, 0 -_0810FE8C: .4byte gStringVar1 -_0810FE90: .4byte gOtherText_Winona -_0810FE94: - ldr r0, _0810FEA0 @ =gStringVar1 - ldr r1, _0810FEA4 @ =gOtherText_Phoebe - bl StringCopy - b _0810FEF2 - .align 2, 0 -_0810FEA0: .4byte gStringVar1 -_0810FEA4: .4byte gOtherText_Phoebe -_0810FEA8: - ldr r0, _0810FEB4 @ =gStringVar1 - ldr r1, _0810FEB8 @ =gOtherText_Glacia - bl StringCopy - b _0810FEF2 - .align 2, 0 -_0810FEB4: .4byte gStringVar1 -_0810FEB8: .4byte gOtherText_Glacia -_0810FEBC: - ldr r0, _0810FEC8 @ =gStringVar1 - ldr r1, _0810FECC @ =gOtherText_Wallace - bl StringCopy - b _0810FEF2 - .align 2, 0 -_0810FEC8: .4byte gStringVar1 -_0810FECC: .4byte gOtherText_Wallace -_0810FED0: - ldr r4, _0810FEF8 @ =gStringVar1 - adds r0, r4, 0 - movs r2, 0x7 - bl StringCopyN - movs r0, 0xFF - strb r0, [r4, 0x7] - ldrb r0, [r4] - cmp r0, 0xFC - bne _0810FEF2 - ldrb r0, [r4, 0x1] - cmp r0, 0x15 - bne _0810FEF2 - adds r0, r4, 0 - movs r1, 0x1 - bl ConvertInternationalString -_0810FEF2: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0810FEF8: .4byte gStringVar1 - thumb_func_end sub_810FE1C - - thumb_func_start sub_810FEFC -sub_810FEFC: @ 810FEFC - push {lr} - ldr r0, _0810FF20 @ =0x00004095 - bl VarGet - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x2 - bne _0810FF2C - bl sub_810FA74 - ldr r0, _0810FF24 @ =gBattleOutcome - ldrb r0, [r0] - cmp r0, 0x1 - bne _0810FF28 - bl sub_810FB9C - b _0810FF2C - .align 2, 0 -_0810FF20: .4byte 0x00004095 -_0810FF24: .4byte gBattleOutcome -_0810FF28: - bl sub_810FC18 -_0810FF2C: - pop {r0} - bx r0 - thumb_func_end sub_810FEFC - - thumb_func_start sub_810FF30 -sub_810FF30: @ 810FF30 - ldr r0, _0810FF40 @ =gSaveBlock1 - ldr r1, _0810FF44 @ =0x000013c2 - adds r0, r1 - ldrh r0, [r0] - lsrs r0, 7 - movs r1, 0x1 - ands r0, r1 - bx lr - .align 2, 0 -_0810FF40: .4byte gSaveBlock1 -_0810FF44: .4byte 0x000013c2 - thumb_func_end sub_810FF30 - - thumb_func_start sub_810FF48 -sub_810FF48: @ 810FF48 - ldr r0, _0810FF58 @ =gSaveBlock1 - ldr r1, _0810FF5C @ =0x000013c2 - adds r0, r1 - ldrh r2, [r0] - movs r1, 0x80 - orrs r1, r2 - strh r1, [r0] - bx lr - .align 2, 0 -_0810FF58: .4byte gSaveBlock1 -_0810FF5C: .4byte 0x000013c2 - thumb_func_end sub_810FF48 - - thumb_func_start sub_810FF60 -sub_810FF60: @ 810FF60 - push {lr} - ldr r0, _0810FF74 @ =gSpecialVar_0x8004 - ldrb r0, [r0] - bl sub_810FB10 - lsls r0, 24 - lsrs r0, 24 - pop {r1} - bx r1 - .align 2, 0 -_0810FF74: .4byte gSpecialVar_0x8004 - thumb_func_end sub_810FF60 - - .align 2, 0 @ Don't pad with nop. |