diff options
Diffstat (limited to 'asm')
-rw-r--r-- | asm/battle_8.s | 5222 | ||||
-rw-r--r-- | asm/battle_records.s | 868 | ||||
-rw-r--r-- | asm/cable_club.s | 2 | ||||
-rw-r--r-- | asm/field_screen_effect.s | 789 | ||||
-rw-r--r-- | asm/fldeff_flash.s | 753 | ||||
-rw-r--r-- | asm/m4a_1.s | 2 | ||||
-rw-r--r-- | asm/mon_markings.s | 1008 | ||||
-rw-r--r-- | asm/pokedex_area_screen.s | 12 | ||||
-rw-r--r-- | asm/pokemon_icon.s | 788 | ||||
-rw-r--r-- | asm/pokemon_menu.s | 4 | ||||
-rw-r--r-- | asm/pokenav.s | 10 | ||||
-rw-r--r-- | asm/record_mixing.s | 543 | ||||
-rw-r--r-- | asm/region_map.s | 3969 | ||||
-rw-r--r-- | asm/reset_rtc_screen.s | 1300 | ||||
-rw-r--r-- | asm/unknown_task.s | 645 |
15 files changed, 16 insertions, 15899 deletions
diff --git a/asm/battle_8.s b/asm/battle_8.s deleted file mode 100644 index 366c503f2..000000000 --- a/asm/battle_8.s +++ /dev/null @@ -1,5222 +0,0 @@ - .include "constants/gba_constants.inc" - .include "constants/species_constants.inc" - .include "asm/macros.inc" - - .syntax unified - - .text - - thumb_func_start OpponentHandleGetAttributes -OpponentHandleGetAttributes: @ 8033524 - push {r4-r6,lr} - sub sp, 0x100 - movs r6, 0 - ldr r1, _08033550 @ =gBattleBufferA - ldr r0, _08033554 @ =gActiveBank - ldrb r2, [r0] - lsls r0, r2, 9 - adds r1, 0x2 - adds r1, r0, r1 - ldrb r0, [r1] - cmp r0, 0 - bne _0803355C - ldr r0, _08033558 @ =gBattlePartyID - lsls r1, r2, 1 - adds r1, r0 - ldrb r0, [r1] - mov r1, sp - bl sub_8033598 - adds r6, r0, 0 - b _0803357E - .align 2, 0 -_08033550: .4byte gBattleBufferA -_08033554: .4byte gActiveBank -_08033558: .4byte gBattlePartyID -_0803355C: - ldrb r4, [r1] - movs r5, 0 -_08033560: - movs r0, 0x1 - ands r0, r4 - cmp r0, 0 - beq _08033576 - lsls r0, r5, 24 - lsrs r0, 24 - mov r2, sp - adds r1, r2, r6 - bl sub_8033598 - adds r6, r0 -_08033576: - lsrs r4, 1 - adds r5, 0x1 - cmp r5, 0x5 - ble _08033560 -_0803357E: - lsls r1, r6, 16 - lsrs r1, 16 - movs r0, 0x1 - mov r2, sp - bl dp01_build_cmdbuf_x1D_1D_numargs_varargs - bl OpponentBufferExecCompleted - add sp, 0x100 - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end OpponentHandleGetAttributes - - thumb_func_start sub_8033598 -sub_8033598: @ 8033598 - 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, _080335CC @ =gBattleBufferA - ldr r3, _080335D0 @ =gActiveBank - ldrb r0, [r3] - lsls r0, 9 - adds r1, r2, 0x1 - adds r0, r1 - ldrb r0, [r0] - cmp r0, 0x3B - bls _080335C2 - bl _08033D2E -_080335C2: - lsls r0, 2 - ldr r1, _080335D4 @ =_080335D8 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_080335CC: .4byte gBattleBufferA -_080335D0: .4byte gActiveBank -_080335D4: .4byte _080335D8 - .align 2, 0 -_080335D8: - .4byte _080336C8 - .4byte _080338EC - .4byte _080338FC - .4byte _0803390C - .4byte _08033974 - .4byte _08033974 - .4byte _08033974 - .4byte _08033974 - .4byte _08033990 - .4byte _080339CC - .4byte _080339CC - .4byte _080339CC - .4byte _080339CC - .4byte _08033D2E - .4byte _08033D2E - .4byte _08033D2E - .4byte _08033D2E - .4byte _080339E8 - .4byte _080339F8 - .4byte _08033A28 - .4byte _08033A38 - .4byte _08033A48 - .4byte _08033A58 - .4byte _08033A68 - .4byte _08033A78 - .4byte _08033A88 - .4byte _08033A98 - .4byte _08033AA8 - .4byte _08033AB8 - .4byte _08033AC8 - .4byte _08033AD8 - .4byte _08033AE8 - .4byte _08033B38 - .4byte _08033B48 - .4byte _08033B58 - .4byte _08033B68 - .4byte _08033B78 - .4byte _08033B88 - .4byte _08033B98 - .4byte _08033BA8 - .4byte _08033BB8 - .4byte _08033BEC - .4byte _08033BFC - .4byte _08033C0C - .4byte _08033C1C - .4byte _08033C2C - .4byte _08033C3C - .4byte _08033C4C - .4byte _08033C5C - .4byte _08033C7C - .4byte _08033C8C - .4byte _08033C9C - .4byte _08033CAC - .4byte _08033CBC - .4byte _08033CCC - .4byte _08033CDC - .4byte _08033CEC - .4byte _08033CFC - .4byte _08033D0C - .4byte _08033D1C -_080336C8: - movs r0, 0x64 - adds r4, r5, 0 - muls r4, r0 - ldr r0, _080338DC @ =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 -_08033714: - 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 _08033714 - movs r0, 0x64 - adds r4, r5, 0 - muls r4, r0 - ldr r0, _080338DC @ =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, _080338E0 @ =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, _080338E4 @ =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, _080338E8 @ =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 -_080338CC: - adds r0, r7, r6 - adds r1, r2, r6 - ldrb r1, [r1] - strb r1, [r0] - adds r6, 0x1 - cmp r6, 0x57 - bls _080338CC - b _08033D2E - .align 2, 0 -_080338DC: .4byte gEnemyParty -_080338E0: .4byte 0xfffffc1f -_080338E4: .4byte 0xfff07fff -_080338E8: .4byte 0xfffffe0f -_080338EC: - movs r0, 0x64 - muls r0, r5 - ldr r1, _080338F8 @ =gEnemyParty - adds r0, r1 - movs r1, 0xB - b _08033C66 - .align 2, 0 -_080338F8: .4byte gEnemyParty -_080338FC: - movs r0, 0x64 - muls r0, r5 - ldr r1, _08033908 @ =gEnemyParty - adds r0, r1 - movs r1, 0xC - b _08033C66 - .align 2, 0 -_08033908: .4byte gEnemyParty -_0803390C: - 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, _08033970 @ =gEnemyParty - adds r4, r1, r0 - mov r8, r9 -_08033922: - 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 _08033922 - movs r0, 0x64 - muls r0, r5 - ldr r1, _08033970 @ =gEnemyParty - adds r0, r1 - movs r1, 0x15 - bl GetMonData - mov r1, r9 - strb r0, [r1, 0xC] - mov r2, r9 - movs r6, 0 -_08033960: - adds r0, r7, r6 - adds r1, r2, r6 - ldrb r1, [r1] - strb r1, [r0] - adds r6, 0x1 - cmp r6, 0xF - bls _08033960 - b _08033D2E - .align 2, 0 -_08033970: .4byte gEnemyParty -_08033974: - movs r0, 0x64 - muls r0, r5 - ldr r1, _0803398C @ =gEnemyParty - adds r0, r1 - ldrb r1, [r3] - lsls r1, 9 - adds r2, 0x1 - adds r1, r2 - ldrb r1, [r1] - adds r1, 0x9 - b _08033C66 - .align 2, 0 -_0803398C: .4byte gEnemyParty -_08033990: - movs r6, 0 - movs r0, 0x64 - adds r4, r5, 0 - muls r4, r0 - ldr r2, _080339C8 @ =gEnemyParty - mov r8, r2 -_0803399C: - 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 _0803399C - movs r0, 0x64 - muls r0, r5 - ldr r1, _080339C8 @ =gEnemyParty - adds r0, r1 - movs r1, 0x15 - bl GetMonData - adds r1, r7, r6 - strb r0, [r1] - adds r6, 0x1 - b _08033D2E - .align 2, 0 -_080339C8: .4byte gEnemyParty -_080339CC: - movs r0, 0x64 - muls r0, r5 - ldr r1, _080339E4 @ =gEnemyParty - adds r0, r1 - ldrb r1, [r3] - lsls r1, 9 - adds r2, 0x1 - adds r1, r2 - ldrb r1, [r1] - adds r1, 0x8 - b _08033D26 - .align 2, 0 -_080339E4: .4byte gEnemyParty -_080339E8: - movs r0, 0x64 - muls r0, r5 - ldr r1, _080339F4 @ =gEnemyParty - adds r0, r1 - movs r1, 0x1 - b _08033A02 - .align 2, 0 -_080339F4: .4byte gEnemyParty -_080339F8: - movs r0, 0x64 - muls r0, r5 - ldr r1, _08033A24 @ =gEnemyParty - adds r0, r1 - movs r1, 0x19 -_08033A02: - 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 _08033D2E - .align 2, 0 -_08033A24: .4byte gEnemyParty -_08033A28: - movs r0, 0x64 - muls r0, r5 - ldr r1, _08033A34 @ =gEnemyParty - adds r0, r1 - movs r1, 0x1A - b _08033D26 - .align 2, 0 -_08033A34: .4byte gEnemyParty -_08033A38: - movs r0, 0x64 - muls r0, r5 - ldr r1, _08033A44 @ =gEnemyParty - adds r0, r1 - movs r1, 0x1B - b _08033D26 - .align 2, 0 -_08033A44: .4byte gEnemyParty -_08033A48: - movs r0, 0x64 - muls r0, r5 - ldr r1, _08033A54 @ =gEnemyParty - adds r0, r1 - movs r1, 0x1C - b _08033D26 - .align 2, 0 -_08033A54: .4byte gEnemyParty -_08033A58: - movs r0, 0x64 - muls r0, r5 - ldr r1, _08033A64 @ =gEnemyParty - adds r0, r1 - movs r1, 0x1D - b _08033D26 - .align 2, 0 -_08033A64: .4byte gEnemyParty -_08033A68: - movs r0, 0x64 - muls r0, r5 - ldr r1, _08033A74 @ =gEnemyParty - adds r0, r1 - movs r1, 0x1E - b _08033D26 - .align 2, 0 -_08033A74: .4byte gEnemyParty -_08033A78: - movs r0, 0x64 - muls r0, r5 - ldr r1, _08033A84 @ =gEnemyParty - adds r0, r1 - movs r1, 0x1F - b _08033D26 - .align 2, 0 -_08033A84: .4byte gEnemyParty -_08033A88: - movs r0, 0x64 - muls r0, r5 - ldr r1, _08033A94 @ =gEnemyParty - adds r0, r1 - movs r1, 0x20 - b _08033D26 - .align 2, 0 -_08033A94: .4byte gEnemyParty -_08033A98: - movs r0, 0x64 - muls r0, r5 - ldr r1, _08033AA4 @ =gEnemyParty - adds r0, r1 - movs r1, 0x22 - b _08033D26 - .align 2, 0 -_08033AA4: .4byte gEnemyParty -_08033AA8: - movs r0, 0x64 - muls r0, r5 - ldr r1, _08033AB4 @ =gEnemyParty - adds r0, r1 - movs r1, 0x23 - b _08033D26 - .align 2, 0 -_08033AB4: .4byte gEnemyParty -_08033AB8: - movs r0, 0x64 - muls r0, r5 - ldr r1, _08033AC4 @ =gEnemyParty - adds r0, r1 - movs r1, 0x24 - b _08033D26 - .align 2, 0 -_08033AC4: .4byte gEnemyParty -_08033AC8: - movs r0, 0x64 - muls r0, r5 - ldr r1, _08033AD4 @ =gEnemyParty - adds r0, r1 - movs r1, 0x25 - b _08033D26 - .align 2, 0 -_08033AD4: .4byte gEnemyParty -_08033AD8: - movs r0, 0x64 - muls r0, r5 - ldr r1, _08033AE4 @ =gEnemyParty - adds r0, r1 - movs r1, 0x26 - b _08033D26 - .align 2, 0 -_08033AE4: .4byte gEnemyParty -_08033AE8: - movs r0, 0x64 - adds r4, r5, 0 - muls r4, r0 - ldr r0, _08033B34 @ =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 _08033D2E - .align 2, 0 -_08033B34: .4byte gEnemyParty -_08033B38: - movs r0, 0x64 - muls r0, r5 - ldr r1, _08033B44 @ =gEnemyParty - adds r0, r1 - movs r1, 0x27 - b _08033D26 - .align 2, 0 -_08033B44: .4byte gEnemyParty -_08033B48: - movs r0, 0x64 - muls r0, r5 - ldr r1, _08033B54 @ =gEnemyParty - adds r0, r1 - movs r1, 0x28 - b _08033D26 - .align 2, 0 -_08033B54: .4byte gEnemyParty -_08033B58: - movs r0, 0x64 - muls r0, r5 - ldr r1, _08033B64 @ =gEnemyParty - adds r0, r1 - movs r1, 0x29 - b _08033D26 - .align 2, 0 -_08033B64: .4byte gEnemyParty -_08033B68: - movs r0, 0x64 - muls r0, r5 - ldr r1, _08033B74 @ =gEnemyParty - adds r0, r1 - movs r1, 0x2A - b _08033D26 - .align 2, 0 -_08033B74: .4byte gEnemyParty -_08033B78: - movs r0, 0x64 - muls r0, r5 - ldr r1, _08033B84 @ =gEnemyParty - adds r0, r1 - movs r1, 0x2B - b _08033D26 - .align 2, 0 -_08033B84: .4byte gEnemyParty -_08033B88: - movs r0, 0x64 - muls r0, r5 - ldr r1, _08033B94 @ =gEnemyParty - adds r0, r1 - movs r1, 0x2C - b _08033D26 - .align 2, 0 -_08033B94: .4byte gEnemyParty -_08033B98: - movs r0, 0x64 - muls r0, r5 - ldr r1, _08033BA4 @ =gEnemyParty - adds r0, r1 - movs r1, 0 - b _08033BC2 - .align 2, 0 -_08033BA4: .4byte gEnemyParty -_08033BA8: - movs r0, 0x64 - muls r0, r5 - ldr r1, _08033BB4 @ =gEnemyParty - adds r0, r1 - movs r1, 0x9 - b _08033C66 - .align 2, 0 -_08033BB4: .4byte gEnemyParty -_08033BB8: - movs r0, 0x64 - muls r0, r5 - ldr r1, _08033BE8 @ =gEnemyParty - adds r0, r1 - movs r1, 0x37 -_08033BC2: - 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 _08033D2E - .align 2, 0 -_08033BE8: .4byte gEnemyParty -_08033BEC: - movs r0, 0x64 - muls r0, r5 - ldr r1, _08033BF8 @ =gEnemyParty - adds r0, r1 - movs r1, 0x38 - b _08033D26 - .align 2, 0 -_08033BF8: .4byte gEnemyParty -_08033BFC: - movs r0, 0x64 - muls r0, r5 - ldr r1, _08033C08 @ =gEnemyParty - adds r0, r1 - movs r1, 0x39 - b _08033C66 - .align 2, 0 -_08033C08: .4byte gEnemyParty -_08033C0C: - movs r0, 0x64 - muls r0, r5 - ldr r1, _08033C18 @ =gEnemyParty - adds r0, r1 - movs r1, 0x3A - b _08033C66 - .align 2, 0 -_08033C18: .4byte gEnemyParty -_08033C1C: - movs r0, 0x64 - muls r0, r5 - ldr r1, _08033C28 @ =gEnemyParty - adds r0, r1 - movs r1, 0x3B - b _08033C66 - .align 2, 0 -_08033C28: .4byte gEnemyParty -_08033C2C: - movs r0, 0x64 - muls r0, r5 - ldr r1, _08033C38 @ =gEnemyParty - adds r0, r1 - movs r1, 0x3C - b _08033C66 - .align 2, 0 -_08033C38: .4byte gEnemyParty -_08033C3C: - movs r0, 0x64 - muls r0, r5 - ldr r1, _08033C48 @ =gEnemyParty - adds r0, r1 - movs r1, 0x3D - b _08033C66 - .align 2, 0 -_08033C48: .4byte gEnemyParty -_08033C4C: - movs r0, 0x64 - muls r0, r5 - ldr r1, _08033C58 @ =gEnemyParty - adds r0, r1 - movs r1, 0x3E - b _08033C66 - .align 2, 0 -_08033C58: .4byte gEnemyParty -_08033C5C: - movs r0, 0x64 - muls r0, r5 - ldr r1, _08033C78 @ =gEnemyParty - adds r0, r1 - movs r1, 0x3F -_08033C66: - bl GetMonData - lsls r0, 16 - lsrs r0, 16 - strb r0, [r7] - lsrs r0, 8 - strb r0, [r7, 0x1] - movs r6, 0x2 - b _08033D2E - .align 2, 0 -_08033C78: .4byte gEnemyParty -_08033C7C: - movs r0, 0x64 - muls r0, r5 - ldr r1, _08033C88 @ =gEnemyParty - adds r0, r1 - movs r1, 0x16 - b _08033D26 - .align 2, 0 -_08033C88: .4byte gEnemyParty -_08033C8C: - movs r0, 0x64 - muls r0, r5 - ldr r1, _08033C98 @ =gEnemyParty - adds r0, r1 - movs r1, 0x17 - b _08033D26 - .align 2, 0 -_08033C98: .4byte gEnemyParty -_08033C9C: - movs r0, 0x64 - muls r0, r5 - ldr r1, _08033CA8 @ =gEnemyParty - adds r0, r1 - movs r1, 0x18 - b _08033D26 - .align 2, 0 -_08033CA8: .4byte gEnemyParty -_08033CAC: - movs r0, 0x64 - muls r0, r5 - ldr r1, _08033CB8 @ =gEnemyParty - adds r0, r1 - movs r1, 0x21 - b _08033D26 - .align 2, 0 -_08033CB8: .4byte gEnemyParty -_08033CBC: - movs r0, 0x64 - muls r0, r5 - ldr r1, _08033CC8 @ =gEnemyParty - adds r0, r1 - movs r1, 0x2F - b _08033D26 - .align 2, 0 -_08033CC8: .4byte gEnemyParty -_08033CCC: - movs r0, 0x64 - muls r0, r5 - ldr r1, _08033CD8 @ =gEnemyParty - adds r0, r1 - movs r1, 0x30 - b _08033D26 - .align 2, 0 -_08033CD8: .4byte gEnemyParty -_08033CDC: - movs r0, 0x64 - muls r0, r5 - ldr r1, _08033CE8 @ =gEnemyParty - adds r0, r1 - movs r1, 0x32 - b _08033D26 - .align 2, 0 -_08033CE8: .4byte gEnemyParty -_08033CEC: - movs r0, 0x64 - muls r0, r5 - ldr r1, _08033CF8 @ =gEnemyParty - adds r0, r1 - movs r1, 0x33 - b _08033D26 - .align 2, 0 -_08033CF8: .4byte gEnemyParty -_08033CFC: - movs r0, 0x64 - muls r0, r5 - ldr r1, _08033D08 @ =gEnemyParty - adds r0, r1 - movs r1, 0x34 - b _08033D26 - .align 2, 0 -_08033D08: .4byte gEnemyParty -_08033D0C: - movs r0, 0x64 - muls r0, r5 - ldr r1, _08033D18 @ =gEnemyParty - adds r0, r1 - movs r1, 0x35 - b _08033D26 - .align 2, 0 -_08033D18: .4byte gEnemyParty -_08033D1C: - movs r0, 0x64 - muls r0, r5 - ldr r1, _08033D40 @ =gEnemyParty - adds r0, r1 - movs r1, 0x36 -_08033D26: - bl GetMonData - strb r0, [r7] - movs r6, 0x1 -_08033D2E: - 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 -_08033D40: .4byte gEnemyParty - thumb_func_end sub_8033598 - - thumb_func_start dp01t_01_2_read_pokmon_data_slice -dp01t_01_2_read_pokmon_data_slice: @ 8033D44 - push {r4-r7,lr} - sub sp, 0x58 - ldr r2, _08033DBC @ =gBattlePartyID - ldr r5, _08033DC0 @ =gActiveBank - ldrb r1, [r5] - lsls r0, r1, 1 - adds r0, r2 - ldrh r2, [r0] - movs r0, 0x64 - adds r4, r2, 0 - muls r4, r0 - ldr r3, _08033DC4 @ =gBattleBufferA - lsls r1, 9 - adds r0, r3, 0x1 - adds r0, r1, r0 - ldrb r2, [r0] - ldr r0, _08033DC8 @ =gEnemyParty - adds r0, r2, r0 - adds r6, r4, r0 - mov r0, sp - adds r4, r0, r2 - movs r2, 0 - adds r0, r3, 0x2 - adds r1, r0 - adds r7, r5, 0 - mov r12, r3 - ldrb r1, [r1] - cmp r2, r1 - bcs _08033D9A - adds r3, r0, 0 -_08033D80: - adds r1, r4, r2 - adds r0, r6, r2 - ldrb r0, [r0] - strb r0, [r1] - adds r0, r2, 0x1 - lsls r0, 24 - lsrs r2, r0, 24 - ldrb r0, [r5] - lsls r0, 9 - adds r0, r3 - ldrb r0, [r0] - cmp r2, r0 - bcc _08033D80 -_08033D9A: - ldrb r0, [r7] - lsls r0, 9 - mov r1, r12 - adds r1, 0x2 - adds r0, r1 - ldrb r1, [r0] - movs r0, 0x1 - adds r2, r4, 0 - bl dp01_build_cmdbuf_x1D_1D_numargs_varargs - bl OpponentBufferExecCompleted - add sp, 0x58 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08033DBC: .4byte gBattlePartyID -_08033DC0: .4byte gActiveBank -_08033DC4: .4byte gBattleBufferA -_08033DC8: .4byte gEnemyParty - thumb_func_end dp01t_01_2_read_pokmon_data_slice - - thumb_func_start OpponentHandleSetAttributes -OpponentHandleSetAttributes: @ 8033DCC - push {r4,r5,lr} - ldr r1, _08033DF0 @ =gBattleBufferA - ldr r0, _08033DF4 @ =gActiveBank - ldrb r2, [r0] - lsls r0, r2, 9 - adds r1, 0x2 - adds r1, r0, r1 - ldrb r0, [r1] - cmp r0, 0 - bne _08033DFC - ldr r0, _08033DF8 @ =gBattlePartyID - lsls r1, r2, 1 - adds r1, r0 - ldrb r0, [r1] - bl sub_8033E24 - b _08033E1A - .align 2, 0 -_08033DF0: .4byte gBattleBufferA -_08033DF4: .4byte gActiveBank -_08033DF8: .4byte gBattlePartyID -_08033DFC: - ldrb r4, [r1] - movs r5, 0 -_08033E00: - movs r0, 0x1 - ands r0, r4 - cmp r0, 0 - beq _08033E0E - adds r0, r5, 0 - bl sub_8033E24 -_08033E0E: - lsrs r4, 1 - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0x5 - bls _08033E00 -_08033E1A: - bl OpponentBufferExecCompleted - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end OpponentHandleSetAttributes - - thumb_func_start sub_8033E24 -sub_8033E24: @ 8033E24 - 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, _08033E5C @ =gActiveBank - ldrb r0, [r3] - lsls r0, 9 - ldr r2, _08033E60 @ =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 _08033E52 - bl _08034730 -_08033E52: - lsls r0, 2 - ldr r1, _08033E64 @ =_08033E68 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_08033E5C: .4byte gActiveBank -_08033E60: .4byte gUnknown_02023A63 -_08033E64: .4byte _08033E68 - .align 2, 0 -_08033E68: - .4byte _08033F58 - .4byte _080340F0 - .4byte _0803410C - .4byte _08034128 - .4byte _0803417C - .4byte _0803417C - .4byte _0803417C - .4byte _0803417C - .4byte _0803419C - .4byte _08034204 - .4byte _08034204 - .4byte _08034204 - .4byte _08034204 - .4byte _08034730 - .4byte _08034730 - .4byte _08034730 - .4byte _08034730 - .4byte _0803422C - .4byte _08034248 - .4byte _08034264 - .4byte _08034280 - .4byte _0803429C - .4byte _080342B8 - .4byte _080342D4 - .4byte _080342F0 - .4byte _0803430C - .4byte _08034328 - .4byte _08034344 - .4byte _08034360 - .4byte _0803437C - .4byte _08034398 - .4byte _080343B4 - .4byte _08034428 - .4byte _08034444 - .4byte _08034460 - .4byte _0803447C - .4byte _08034498 - .4byte _080344B4 - .4byte _080344D0 - .4byte _080344EC - .4byte _08034508 - .4byte _08034524 - .4byte _08034540 - .4byte _0803455C - .4byte _08034578 - .4byte _08034594 - .4byte _080345B0 - .4byte _080345CC - .4byte _080345E8 - .4byte _08034604 - .4byte _08034620 - .4byte _0803463C - .4byte _08034658 - .4byte _08034674 - .4byte _08034690 - .4byte _080346AC - .4byte _080346C8 - .4byte _080346E4 - .4byte _08034700 - .4byte _0803471C -_08033F58: - movs r0, 0x64 - adds r4, r5, 0 - muls r4, r0 - ldr r0, _080340EC @ =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 -_08033FBE: - 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 _08033FBE - movs r0, 0x64 - adds r4, r5, 0 - muls r4, r0 - ldr r0, _080340EC @ =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 _08034730 - .align 2, 0 -_080340EC: .4byte gEnemyParty -_080340F0: - movs r0, 0x64 - muls r0, r5 - ldr r1, _08034108 @ =gEnemyParty - adds r0, r1 - ldrb r2, [r6] - lsls r2, 9 - adds r2, r3 - movs r1, 0xB - bl SetMonData - b _08034730 - .align 2, 0 -_08034108: .4byte gEnemyParty -_0803410C: - movs r0, 0x64 - muls r0, r5 - ldr r1, _08034124 @ =gEnemyParty - adds r0, r1 - ldrb r2, [r6] - lsls r2, 9 - adds r2, r3 - movs r1, 0xC - bl SetMonData - b _08034730 - .align 2, 0 -_08034124: .4byte gEnemyParty -_08034128: - 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, _08034178 @ =gEnemyParty - adds r7, r1, r0 - adds r6, r4, 0 - adds r6, 0x8 -_08034140: - 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 _08034140 - movs r0, 0x64 - muls r0, r5 - ldr r1, _08034178 @ =gEnemyParty - adds r0, r1 - movs r1, 0x15 - mov r2, r9 - bl SetMonData - b _08034730 - .align 2, 0 -_08034178: .4byte gEnemyParty -_0803417C: - movs r0, 0x64 - muls r0, r5 - ldr r1, _08034194 @ =gEnemyParty - adds r0, r1 - ldr r3, _08034198 @ =gBattleBufferA - ldrb r2, [r6] - lsls r2, 9 - adds r1, r3, 0x1 - adds r1, r2, r1 - ldrb r1, [r1] - adds r1, 0x9 - b _0803421A - .align 2, 0 -_08034194: .4byte gEnemyParty -_08034198: .4byte gBattleBufferA -_0803419C: - movs r0, 0x64 - adds r4, r5, 0 - muls r4, r0 - ldr r0, _08034200 @ =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 _08034730 - .align 2, 0 -_08034200: .4byte gEnemyParty -_08034204: - movs r0, 0x64 - muls r0, r5 - ldr r1, _08034224 @ =gEnemyParty - adds r0, r1 - ldr r3, _08034228 @ =gBattleBufferA - ldrb r2, [r6] - lsls r2, 9 - adds r1, r3, 0x1 - adds r1, r2, r1 - ldrb r1, [r1] - adds r1, 0x8 -_0803421A: - adds r3, 0x3 - adds r2, r3 - bl SetMonData - b _08034730 - .align 2, 0 -_08034224: .4byte gEnemyParty -_08034228: .4byte gBattleBufferA -_0803422C: - movs r0, 0x64 - muls r0, r5 - ldr r1, _08034244 @ =gEnemyParty - adds r0, r1 - ldrb r2, [r6] - lsls r2, 9 - adds r2, r3 - movs r1, 0x1 - bl SetMonData - b _08034730 - .align 2, 0 -_08034244: .4byte gEnemyParty -_08034248: - movs r0, 0x64 - muls r0, r5 - ldr r1, _08034260 @ =gEnemyParty - adds r0, r1 - ldrb r2, [r6] - lsls r2, 9 - adds r2, r3 - movs r1, 0x19 - bl SetMonData - b _08034730 - .align 2, 0 -_08034260: .4byte gEnemyParty -_08034264: - movs r0, 0x64 - muls r0, r5 - ldr r1, _0803427C @ =gEnemyParty - adds r0, r1 - ldrb r2, [r6] - lsls r2, 9 - adds r2, r3 - movs r1, 0x1A - bl SetMonData - b _08034730 - .align 2, 0 -_0803427C: .4byte gEnemyParty -_08034280: - movs r0, 0x64 - muls r0, r5 - ldr r1, _08034298 @ =gEnemyParty - adds r0, r1 - ldrb r2, [r6] - lsls r2, 9 - adds r2, r3 - movs r1, 0x1B - bl SetMonData - b _08034730 - .align 2, 0 -_08034298: .4byte gEnemyParty -_0803429C: - movs r0, 0x64 - muls r0, r5 - ldr r1, _080342B4 @ =gEnemyParty - adds r0, r1 - ldrb r2, [r6] - lsls r2, 9 - adds r2, r3 - movs r1, 0x1C - bl SetMonData - b _08034730 - .align 2, 0 -_080342B4: .4byte gEnemyParty -_080342B8: - movs r0, 0x64 - muls r0, r5 - ldr r1, _080342D0 @ =gEnemyParty - adds r0, r1 - ldrb r2, [r6] - lsls r2, 9 - adds r2, r3 - movs r1, 0x1D - bl SetMonData - b _08034730 - .align 2, 0 -_080342D0: .4byte gEnemyParty -_080342D4: - movs r0, 0x64 - muls r0, r5 - ldr r1, _080342EC @ =gEnemyParty - adds r0, r1 - ldrb r2, [r6] - lsls r2, 9 - adds r2, r3 - movs r1, 0x1E - bl SetMonData - b _08034730 - .align 2, 0 -_080342EC: .4byte gEnemyParty -_080342F0: - movs r0, 0x64 - muls r0, r5 - ldr r1, _08034308 @ =gEnemyParty - adds r0, r1 - ldrb r2, [r6] - lsls r2, 9 - adds r2, r3 - movs r1, 0x1F - bl SetMonData - b _08034730 - .align 2, 0 -_08034308: .4byte gEnemyParty -_0803430C: - movs r0, 0x64 - muls r0, r5 - ldr r1, _08034324 @ =gEnemyParty - adds r0, r1 - ldrb r2, [r6] - lsls r2, 9 - adds r2, r3 - movs r1, 0x20 - bl SetMonData - b _08034730 - .align 2, 0 -_08034324: .4byte gEnemyParty -_08034328: - movs r0, 0x64 - muls r0, r5 - ldr r1, _08034340 @ =gEnemyParty - adds r0, r1 - ldrb r2, [r6] - lsls r2, 9 - adds r2, r3 - movs r1, 0x22 - bl SetMonData - b _08034730 - .align 2, 0 -_08034340: .4byte gEnemyParty -_08034344: - movs r0, 0x64 - muls r0, r5 - ldr r1, _0803435C @ =gEnemyParty - adds r0, r1 - ldrb r2, [r6] - lsls r2, 9 - adds r2, r3 - movs r1, 0x23 - bl SetMonData - b _08034730 - .align 2, 0 -_0803435C: .4byte gEnemyParty -_08034360: - movs r0, 0x64 - muls r0, r5 - ldr r1, _08034378 @ =gEnemyParty - adds r0, r1 - ldrb r2, [r6] - lsls r2, 9 - adds r2, r3 - movs r1, 0x24 - bl SetMonData - b _08034730 - .align 2, 0 -_08034378: .4byte gEnemyParty -_0803437C: - movs r0, 0x64 - muls r0, r5 - ldr r1, _08034394 @ =gEnemyParty - adds r0, r1 - ldrb r2, [r6] - lsls r2, 9 - adds r2, r3 - movs r1, 0x25 - bl SetMonData - b _08034730 - .align 2, 0 -_08034394: .4byte gEnemyParty -_08034398: - movs r0, 0x64 - muls r0, r5 - ldr r1, _080343B0 @ =gEnemyParty - adds r0, r1 - ldrb r2, [r6] - lsls r2, 9 - adds r2, r3 - movs r1, 0x26 - bl SetMonData - b _08034730 - .align 2, 0 -_080343B0: .4byte gEnemyParty -_080343B4: - movs r0, 0x64 - adds r4, r5, 0 - muls r4, r0 - ldr r0, _08034424 @ =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 _080344C2 - .align 2, 0 -_08034424: .4byte gEnemyParty -_08034428: - movs r0, 0x64 - muls r0, r5 - ldr r1, _08034440 @ =gEnemyParty - adds r0, r1 - ldrb r2, [r6] - lsls r2, 9 - adds r2, r3 - movs r1, 0x27 - bl SetMonData - b _08034730 - .align 2, 0 -_08034440: .4byte gEnemyParty -_08034444: - movs r0, 0x64 - muls r0, r5 - ldr r1, _0803445C @ =gEnemyParty - adds r0, r1 - ldrb r2, [r6] - lsls r2, 9 - adds r2, r3 - movs r1, 0x28 - bl SetMonData - b _08034730 - .align 2, 0 -_0803445C: .4byte gEnemyParty -_08034460: - movs r0, 0x64 - muls r0, r5 - ldr r1, _08034478 @ =gEnemyParty - adds r0, r1 - ldrb r2, [r6] - lsls r2, 9 - adds r2, r3 - movs r1, 0x29 - bl SetMonData - b _08034730 - .align 2, 0 -_08034478: .4byte gEnemyParty -_0803447C: - movs r0, 0x64 - muls r0, r5 - ldr r1, _08034494 @ =gEnemyParty - adds r0, r1 - ldrb r2, [r6] - lsls r2, 9 - adds r2, r3 - movs r1, 0x2A - bl SetMonData - b _08034730 - .align 2, 0 -_08034494: .4byte gEnemyParty -_08034498: - movs r0, 0x64 - muls r0, r5 - ldr r1, _080344B0 @ =gEnemyParty - adds r0, r1 - ldrb r2, [r6] - lsls r2, 9 - adds r2, r3 - movs r1, 0x2B - bl SetMonData - b _08034730 - .align 2, 0 -_080344B0: .4byte gEnemyParty -_080344B4: - movs r0, 0x64 - muls r0, r5 - ldr r1, _080344CC @ =gEnemyParty - adds r0, r1 - ldrb r2, [r6] - lsls r2, 9 - adds r2, r3 -_080344C2: - movs r1, 0x2C - bl SetMonData - b _08034730 - .align 2, 0 -_080344CC: .4byte gEnemyParty -_080344D0: - movs r0, 0x64 - muls r0, r5 - ldr r1, _080344E8 @ =gEnemyParty - adds r0, r1 - ldrb r2, [r6] - lsls r2, 9 - adds r2, r3 - movs r1, 0 - bl SetMonData - b _08034730 - .align 2, 0 -_080344E8: .4byte gEnemyParty -_080344EC: - movs r0, 0x64 - muls r0, r5 - ldr r1, _08034504 @ =gEnemyParty - adds r0, r1 - ldrb r2, [r6] - lsls r2, 9 - adds r2, r3 - movs r1, 0x9 - bl SetMonData - b _08034730 - .align 2, 0 -_08034504: .4byte gEnemyParty -_08034508: - movs r0, 0x64 - muls r0, r5 - ldr r1, _08034520 @ =gEnemyParty - adds r0, r1 - ldrb r2, [r6] - lsls r2, 9 - adds r2, r3 - movs r1, 0x37 - bl SetMonData - b _08034730 - .align 2, 0 -_08034520: .4byte gEnemyParty -_08034524: - movs r0, 0x64 - muls r0, r5 - ldr r1, _0803453C @ =gEnemyParty - adds r0, r1 - ldrb r2, [r6] - lsls r2, 9 - adds r2, r3 - movs r1, 0x38 - bl SetMonData - b _08034730 - .align 2, 0 -_0803453C: .4byte gEnemyParty -_08034540: - movs r0, 0x64 - muls r0, r5 - ldr r1, _08034558 @ =gEnemyParty - adds r0, r1 - ldrb r2, [r6] - lsls r2, 9 - adds r2, r3 - movs r1, 0x39 - bl SetMonData - b _08034730 - .align 2, 0 -_08034558: .4byte gEnemyParty -_0803455C: - movs r0, 0x64 - muls r0, r5 - ldr r1, _08034574 @ =gEnemyParty - adds r0, r1 - ldrb r2, [r6] - lsls r2, 9 - adds r2, r3 - movs r1, 0x3A - bl SetMonData - b _08034730 - .align 2, 0 -_08034574: .4byte gEnemyParty -_08034578: - movs r0, 0x64 - muls r0, r5 - ldr r1, _08034590 @ =gEnemyParty - adds r0, r1 - ldrb r2, [r6] - lsls r2, 9 - adds r2, r3 - movs r1, 0x3B - bl SetMonData - b _08034730 - .align 2, 0 -_08034590: .4byte gEnemyParty -_08034594: - movs r0, 0x64 - muls r0, r5 - ldr r1, _080345AC @ =gEnemyParty - adds r0, r1 - ldrb r2, [r6] - lsls r2, 9 - adds r2, r3 - movs r1, 0x3C - bl SetMonData - b _08034730 - .align 2, 0 -_080345AC: .4byte gEnemyParty -_080345B0: - movs r0, 0x64 - muls r0, r5 - ldr r1, _080345C8 @ =gEnemyParty - adds r0, r1 - ldrb r2, [r6] - lsls r2, 9 - adds r2, r3 - movs r1, 0x3D - bl SetMonData - b _08034730 - .align 2, 0 -_080345C8: .4byte gEnemyParty -_080345CC: - movs r0, 0x64 - muls r0, r5 - ldr r1, _080345E4 @ =gEnemyParty - adds r0, r1 - ldrb r2, [r6] - lsls r2, 9 - adds r2, r3 - movs r1, 0x3E - bl SetMonData - b _08034730 - .align 2, 0 -_080345E4: .4byte gEnemyParty -_080345E8: - movs r0, 0x64 - muls r0, r5 - ldr r1, _08034600 @ =gEnemyParty - adds r0, r1 - ldrb r2, [r6] - lsls r2, 9 - adds r2, r3 - movs r1, 0x3F - bl SetMonData - b _08034730 - .align 2, 0 -_08034600: .4byte gEnemyParty -_08034604: - movs r0, 0x64 - muls r0, r5 - ldr r1, _0803461C @ =gEnemyParty - adds r0, r1 - ldrb r2, [r6] - lsls r2, 9 - adds r2, r3 - movs r1, 0x16 - bl SetMonData - b _08034730 - .align 2, 0 -_0803461C: .4byte gEnemyParty -_08034620: - movs r0, 0x64 - muls r0, r5 - ldr r1, _08034638 @ =gEnemyParty - adds r0, r1 - ldrb r2, [r6] - lsls r2, 9 - adds r2, r3 - movs r1, 0x17 - bl SetMonData - b _08034730 - .align 2, 0 -_08034638: .4byte gEnemyParty -_0803463C: - movs r0, 0x64 - muls r0, r5 - ldr r1, _08034654 @ =gEnemyParty - adds r0, r1 - ldrb r2, [r6] - lsls r2, 9 - adds r2, r3 - movs r1, 0x18 - bl SetMonData - b _08034730 - .align 2, 0 -_08034654: .4byte gEnemyParty -_08034658: - movs r0, 0x64 - muls r0, r5 - ldr r1, _08034670 @ =gEnemyParty - adds r0, r1 - ldrb r2, [r6] - lsls r2, 9 - adds r2, r3 - movs r1, 0x21 - bl SetMonData - b _08034730 - .align 2, 0 -_08034670: .4byte gEnemyParty -_08034674: - movs r0, 0x64 - muls r0, r5 - ldr r1, _0803468C @ =gEnemyParty - adds r0, r1 - ldrb r2, [r6] - lsls r2, 9 - adds r2, r3 - movs r1, 0x2F - bl SetMonData - b _08034730 - .align 2, 0 -_0803468C: .4byte gEnemyParty -_08034690: - movs r0, 0x64 - muls r0, r5 - ldr r1, _080346A8 @ =gEnemyParty - adds r0, r1 - ldrb r2, [r6] - lsls r2, 9 - adds r2, r3 - movs r1, 0x30 - bl SetMonData - b _08034730 - .align 2, 0 -_080346A8: .4byte gEnemyParty -_080346AC: - movs r0, 0x64 - muls r0, r5 - ldr r1, _080346C4 @ =gEnemyParty - adds r0, r1 - ldrb r2, [r6] - lsls r2, 9 - adds r2, r3 - movs r1, 0x32 - bl SetMonData - b _08034730 - .align 2, 0 -_080346C4: .4byte gEnemyParty -_080346C8: - movs r0, 0x64 - muls r0, r5 - ldr r1, _080346E0 @ =gEnemyParty - adds r0, r1 - ldrb r2, [r6] - lsls r2, 9 - adds r2, r3 - movs r1, 0x33 - bl SetMonData - b _08034730 - .align 2, 0 -_080346E0: .4byte gEnemyParty -_080346E4: - movs r0, 0x64 - muls r0, r5 - ldr r1, _080346FC @ =gEnemyParty - adds r0, r1 - ldrb r2, [r6] - lsls r2, 9 - adds r2, r3 - movs r1, 0x34 - bl SetMonData - b _08034730 - .align 2, 0 -_080346FC: .4byte gEnemyParty -_08034700: - movs r0, 0x64 - muls r0, r5 - ldr r1, _08034718 @ =gEnemyParty - adds r0, r1 - ldrb r2, [r6] - lsls r2, 9 - adds r2, r3 - movs r1, 0x35 - bl SetMonData - b _08034730 - .align 2, 0 -_08034718: .4byte gEnemyParty -_0803471C: - movs r0, 0x64 - muls r0, r5 - ldr r1, _08034740 @ =gEnemyParty - adds r0, r1 - ldrb r2, [r6] - lsls r2, 9 - adds r2, r3 - movs r1, 0x36 - bl SetMonData -_08034730: - 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 -_08034740: .4byte gEnemyParty - thumb_func_end sub_8033E24 - - thumb_func_start sub_8034744 -sub_8034744: @ 8034744 - push {r4-r7,lr} - ldr r1, _080347A8 @ =gBattlePartyID - ldr r7, _080347AC @ =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, _080347B0 @ =gBattleBufferA - lsls r2, 9 - adds r0, r4, 0x1 - adds r0, r2, r0 - ldrb r0, [r0] - ldr r1, _080347B4 @ =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 _0803479C - adds r6, r4, 0 - adds r2, r7, 0 - adds r4, r0, 0 -_0803477A: - 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 _0803477A -_0803479C: - bl OpponentBufferExecCompleted - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080347A8: .4byte gBattlePartyID -_080347AC: .4byte gActiveBank -_080347B0: .4byte gBattleBufferA -_080347B4: .4byte gEnemyParty - thumb_func_end sub_8034744 - - thumb_func_start OpponentHandleLoadPokeSprite -OpponentHandleLoadPokeSprite: @ 80347B8 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - ldr r6, _080348E8 @ =gActiveBank - ldrb r0, [r6] - lsls r0, 1 - ldr r1, _080348EC @ =gBattlePartyID - adds r0, r1 - ldrh r0, [r0] - movs r7, 0x64 - muls r0, r7 - ldr r2, _080348F0 @ =gEnemyParty - mov r10, r2 - add r0, r10 - movs r1, 0xB - bl GetMonData - mov r8, r0 - lsls r0, 16 - lsrs r0, 16 - mov r8, r0 - ldrb r1, [r6] - lsls r0, r1, 1 - ldr r2, _080348EC @ =gBattlePartyID - adds r0, r2 - ldrh r0, [r0] - muls r0, r7 - add r0, r10 - bl sub_8031794 - ldrb r0, [r6] - bl GetBankIdentity - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - mov r0, r8 - bl GetMonSpriteTemplate_803C56C - ldr r0, _080348F4 @ =gUnknown_02024E8C - mov r9, 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, r9 - adds r1, r5, 0 - adds r2, r4, 0 - bl CreateSprite - ldr r4, _080348F8 @ =gObjectBankIDs - ldrb r1, [r6] - adds r1, r4 - strb r0, [r1] - ldr r5, _080348FC @ =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, _08034900 @ =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 r0, [r6] - adds r0, r4 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - mov r1, r8 - strh r1, [r0, 0x32] - 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, _08034904 @ =gBattleMonForms - adds r2, r1 - ldrb r1, [r2] - bl StartSpriteAnim - ldrb r4, [r6] - lsls r0, r4, 1 - ldr r2, _080348EC @ =gBattlePartyID - adds r0, r2 - ldrh r0, [r0] - muls r0, r7 - add r0, r10 - movs r1, 0xB - bl GetMonData - adds r1, r0, 0 - lsls r1, 16 - lsrs r1, 16 - adds r0, r4, 0 - bl sub_8032984 - ldr r1, _08034908 @ =gBattleBankFunc - ldrb r0, [r6] - lsls r0, 2 - adds r0, r1 - ldr r1, _0803490C @ =sub_8033018 - 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 -_080348E8: .4byte gActiveBank -_080348EC: .4byte gBattlePartyID -_080348F0: .4byte gEnemyParty -_080348F4: .4byte gUnknown_02024E8C -_080348F8: .4byte gObjectBankIDs -_080348FC: .4byte gSprites -_08034900: .4byte 0x0000ff10 -_08034904: .4byte gBattleMonForms -_08034908: .4byte gBattleBankFunc -_0803490C: .4byte sub_8033018 - thumb_func_end OpponentHandleLoadPokeSprite - - thumb_func_start OpponentHandleSendOutPoke -OpponentHandleSendOutPoke: @ 8034910 - push {r4,lr} - ldr r1, _08034948 @ =gBattlePartyID - ldr r4, _0803494C @ =gActiveBank - ldrb r0, [r4] - lsls r2, r0, 1 - adds r2, r1 - ldr r3, _08034950 @ =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_803495C - ldr r1, _08034954 @ =gBattleBankFunc - ldrb r0, [r4] - lsls r0, 2 - adds r0, r1 - ldr r1, _08034958 @ =sub_80333D4 - str r1, [r0] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08034948: .4byte gBattlePartyID -_0803494C: .4byte gActiveBank -_08034950: .4byte gBattleBufferA -_08034954: .4byte gBattleBankFunc -_08034958: .4byte sub_80333D4 - thumb_func_end OpponentHandleSendOutPoke - - thumb_func_start sub_803495C -sub_803495C: @ 803495C - 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, _08034AB8 @ =gBattlePartyID - lsls r4, r6, 1 - adds r4, r0 - ldr r0, _08034ABC @ =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, _08034AC0 @ =gEnemyParty - adds r0, r5 - movs r1, 0xB - bl GetMonData - mov r8, r0 - lsls r0, 16 - lsrs r0, 16 - mov r8, r0 - ldr r0, _08034AC4 @ =sub_80312F0 - bl CreateInvisibleSpriteWithCallback - ldr r1, _08034AC8 @ =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, _08034ACC @ =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, _08034AD0 @ =gObjectBankIDs - adds r4, r6, r4 - strb r0, [r4] - ldr r5, _08034AD4 @ =gSprites - 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] - 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 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, _08034AD8 @ =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, _08034ADC @ =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 -_08034AB8: .4byte gBattlePartyID -_08034ABC: .4byte gBattleBufferA -_08034AC0: .4byte gEnemyParty -_08034AC4: .4byte sub_80312F0 -_08034AC8: .4byte gUnknown_0300434C -_08034ACC: .4byte gUnknown_02024E8C -_08034AD0: .4byte gObjectBankIDs -_08034AD4: .4byte gSprites -_08034AD8: .4byte gBattleMonForms -_08034ADC: .4byte SpriteCallbackDummy - thumb_func_end sub_803495C - - thumb_func_start OpponentHandleReturnPokeToBall -OpponentHandleReturnPokeToBall: @ 8034AE0 - push {r4-r6,lr} - ldr r1, _08034B10 @ =gBattleBufferA - ldr r6, _08034B14 @ =gActiveBank - ldrb r2, [r6] - lsls r0, r2, 9 - adds r1, 0x1 - adds r0, r1 - ldrb r3, [r0] - cmp r3, 0 - bne _08034B24 - lsls r0, r2, 1 - adds r0, r2 - lsls r0, 2 - ldr r1, _08034B18 @ =0x02017810 - adds r0, r1 - strb r3, [r0, 0x4] - ldr r1, _08034B1C @ =gBattleBankFunc - ldrb r0, [r6] - lsls r0, 2 - adds r0, r1 - ldr r1, _08034B20 @ =sub_8034B74 - str r1, [r0] - b _08034B60 - .align 2, 0 -_08034B10: .4byte gBattleBufferA -_08034B14: .4byte gActiveBank -_08034B18: .4byte 0x02017810 -_08034B1C: .4byte gBattleBankFunc -_08034B20: .4byte sub_8034B74 -_08034B24: - ldr r5, _08034B68 @ =gObjectBankIDs - adds r0, r2, r5 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r4, _08034B6C @ =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, _08034B70 @ =gHealthboxIDs - ldrb r0, [r6] - adds r0, r1 - ldrb r0, [r0] - bl sub_8043DB0 - bl OpponentBufferExecCompleted -_08034B60: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_08034B68: .4byte gObjectBankIDs -_08034B6C: .4byte gSprites -_08034B70: .4byte gHealthboxIDs - thumb_func_end OpponentHandleReturnPokeToBall - - thumb_func_start sub_8034B74 -sub_8034B74: @ 8034B74 - push {r4,r5,lr} - ldr r5, _08034B90 @ =gActiveBank - ldrb r2, [r5] - lsls r0, r2, 1 - adds r0, r2 - lsls r0, 2 - ldr r4, _08034B94 @ =0x02017810 - adds r3, r0, r4 - ldrb r0, [r3, 0x4] - cmp r0, 0 - beq _08034B98 - cmp r0, 0x1 - beq _08034BC4 - b _08034BEC - .align 2, 0 -_08034B90: .4byte gActiveBank -_08034B94: .4byte 0x02017810 -_08034B98: - 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 _08034BB4 - adds r0, r2, 0 - adds r1, r2, 0 - movs r3, 0x5 - bl move_anim_start_t4 -_08034BB4: - ldrb r0, [r5] - lsls r1, r0, 1 - adds r1, r0 - lsls r1, 2 - adds r1, r4 - movs r0, 0x1 - strb r0, [r1, 0x4] - b _08034BEC -_08034BC4: - ldrb r1, [r3] - movs r0, 0x40 - ands r0, r1 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0 - bne _08034BEC - 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, _08034BF4 @ =gBattleBankFunc - ldrb r0, [r5] - lsls r0, 2 - adds r0, r1 - ldr r1, _08034BF8 @ =sub_8033160 - str r1, [r0] -_08034BEC: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08034BF4: .4byte gBattleBankFunc -_08034BF8: .4byte sub_8033160 - thumb_func_end sub_8034B74 - - thumb_func_start OpponentHandleTrainerThrow -OpponentHandleTrainerThrow: @ 8034BFC - push {r4-r6,lr} - mov r6, r9 - mov r5, r8 - push {r5,r6} - ldr r3, _08034C18 @ =gTrainerBattleOpponent - ldrh r1, [r3] - movs r0, 0x80 - lsls r0, 3 - cmp r1, r0 - bne _08034C1C - bl GetSecretBaseTrainerPicIndex - b _08034C42 - .align 2, 0 -_08034C18: .4byte gTrainerBattleOpponent -_08034C1C: - ldr r0, _08034C30 @ =gBattleTypeFlags - ldrh r1, [r0] - movs r0, 0x80 - lsls r0, 1 - ands r0, r1 - cmp r0, 0 - beq _08034C34 - bl get_trainer_class_pic_index - b _08034C42 - .align 2, 0 -_08034C30: .4byte gBattleTypeFlags -_08034C34: - movs r0, 0x80 - lsls r0, 4 - ands r0, r1 - cmp r0, 0 - beq _08034C48 - bl sub_8135FBC -_08034C42: - lsls r0, 24 - lsrs r0, 24 - b _08034C56 -_08034C48: - ldr r2, _08034D88 @ =gTrainers - ldrh r1, [r3] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r2 - ldrb r0, [r0, 0x3] -_08034C56: - mov r9, r0 - ldr r0, _08034D8C @ =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 r5, _08034D90 @ =gUnknown_02024E8C - ldr r1, _08034D94 @ =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, r5, 0 - movs r1, 0xB0 - adds r2, r4, 0 - bl CreateSprite - ldr r5, _08034D98 @ =gObjectBankIDs - mov r2, r8 - ldrb r1, [r2] - adds r1, r5 - strb r0, [r1] - ldr r4, _08034D9C @ =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, _08034DA0 @ =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, _08034DA4 @ =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, _08034DA8 @ =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, _08034DAC @ =0x000003ff - ands r2, r0 - ldrh r3, [r1, 0x4] - ldr r0, _08034DB0 @ =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, _08034DB4 @ =sub_80313A0 - str r1, [r0] - ldr r1, _08034DB8 @ =gBattleBankFunc - mov r2, r8 - ldrb r0, [r2] - lsls r0, 2 - adds r0, r1 - ldr r1, _08034DBC @ =sub_8032B4C - str r1, [r0] - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_08034D88: .4byte gTrainers -_08034D8C: .4byte gActiveBank -_08034D90: .4byte gUnknown_02024E8C -_08034D94: .4byte gTrainerFrontPicCoords -_08034D98: .4byte gObjectBankIDs -_08034D9C: .4byte gSprites -_08034DA0: .4byte 0x0000ff10 -_08034DA4: .4byte gTrainerFrontPicPaletteTable -_08034DA8: .4byte gTrainerFrontPicTable -_08034DAC: .4byte 0x000003ff -_08034DB0: .4byte 0xfffffc00 -_08034DB4: .4byte sub_80313A0 -_08034DB8: .4byte gBattleBankFunc -_08034DBC: .4byte sub_8032B4C - thumb_func_end OpponentHandleTrainerThrow - - thumb_func_start OpponentHandleTrainerSlide -OpponentHandleTrainerSlide: @ 8034DC0 - push {r4-r6,lr} - mov r6, r9 - mov r5, r8 - push {r5,r6} - ldr r3, _08034DDC @ =gTrainerBattleOpponent - ldrh r1, [r3] - movs r0, 0x80 - lsls r0, 3 - cmp r1, r0 - bne _08034DE0 - bl GetSecretBaseTrainerPicIndex - b _08034E06 - .align 2, 0 -_08034DDC: .4byte gTrainerBattleOpponent -_08034DE0: - ldr r0, _08034DF4 @ =gBattleTypeFlags - ldrh r1, [r0] - movs r0, 0x80 - lsls r0, 1 - ands r0, r1 - cmp r0, 0 - beq _08034DF8 - bl get_trainer_class_pic_index - b _08034E06 - .align 2, 0 -_08034DF4: .4byte gBattleTypeFlags -_08034DF8: - movs r0, 0x80 - lsls r0, 4 - ands r0, r1 - cmp r0, 0 - beq _08034E0C - bl sub_8135FBC -_08034E06: - lsls r0, 24 - lsrs r0, 24 - b _08034E1A -_08034E0C: - ldr r2, _08034F4C @ =gTrainers - ldrh r1, [r3] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r2 - ldrb r0, [r0, 0x3] -_08034E1A: - mov r9, r0 - ldr r0, _08034F50 @ =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 r0, _08034F54 @ =gUnknown_02024E8C - ldr r2, _08034F58 @ =gTrainerFrontPicCoords - mov r3, r9 - lsls r1, r3, 2 - adds r1, r2 - ldrb r1, [r1] - movs r2, 0x8 - subs r2, r1 - lsls r2, 18 - movs r1, 0xA0 - lsls r1, 14 - adds r2, r1 - asrs r2, 16 - movs r1, 0xB0 - movs r3, 0x1E - bl CreateSprite - ldr r5, _08034F5C @ =gObjectBankIDs - mov r2, r8 - ldrb r1, [r2] - adds r1, r5 - strb r0, [r1] - ldr r4, _08034F60 @ =gSprites - ldrb r0, [r2] - adds r0, r5 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - movs r1, 0x60 - 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 - ldrh r1, [r0, 0x20] - adds r1, 0x20 - strh r1, [r0, 0x20] - ldrb r0, [r2] - adds r0, r5 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - ldr r1, _08034F64 @ =0x0000fffe - strh r1, [r0, 0x2E] - ldr r0, _08034F68 @ =gTrainerFrontPicPaletteTable - mov r3, r9 - lsls r6, r3, 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 r3, r8 - ldrb r0, [r3] - 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, _08034F6C @ =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, _08034F70 @ =0x000003ff - ands r2, r0 - ldrh r3, [r1, 0x4] - ldr r0, _08034F74 @ =0xfffffc00 - ands r0, r3 - orrs r0, r2 - strh r0, [r1, 0x4] - mov r3, r8 - ldrb r0, [r3] - adds r0, r5 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - mov r1, r9 - strh r1, [r0, 0x6] - ldrb r0, [r3] - adds r0, r5 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r4, 0x1C - adds r0, r4 - ldr r1, _08034F78 @ =sub_80313A0 - str r1, [r0] - ldr r1, _08034F7C @ =gBattleBankFunc - ldrb r0, [r3] - lsls r0, 2 - adds r0, r1 - ldr r1, _08034F80 @ =sub_8032B84 - str r1, [r0] - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_08034F4C: .4byte gTrainers -_08034F50: .4byte gActiveBank -_08034F54: .4byte gUnknown_02024E8C -_08034F58: .4byte gTrainerFrontPicCoords -_08034F5C: .4byte gObjectBankIDs -_08034F60: .4byte gSprites -_08034F64: .4byte 0x0000fffe -_08034F68: .4byte gTrainerFrontPicPaletteTable -_08034F6C: .4byte gTrainerFrontPicTable -_08034F70: .4byte 0x000003ff -_08034F74: .4byte 0xfffffc00 -_08034F78: .4byte sub_80313A0 -_08034F7C: .4byte gBattleBankFunc -_08034F80: .4byte sub_8032B84 - thumb_func_end OpponentHandleTrainerSlide - - thumb_func_start OpponentHandleTrainerSlideBack -OpponentHandleTrainerSlideBack: @ 8034F84 - push {r4-r6,lr} - ldr r6, _08035014 @ =gObjectBankIDs - ldr r4, _08035018 @ =gActiveBank - ldrb r0, [r4] - adds r0, r6 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r5, _0803501C @ =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, _08035020 @ =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, _08035024 @ =SpriteCallbackDummy - bl oamt_set_x3A_32 - ldr r1, _08035028 @ =gBattleBankFunc - ldrb r0, [r4] - lsls r0, 2 - adds r0, r1 - ldr r1, _0803502C @ =sub_8032BBC - str r1, [r0] - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_08035014: .4byte gObjectBankIDs -_08035018: .4byte gActiveBank -_0803501C: .4byte gSprites -_08035020: .4byte sub_8078B34 -_08035024: .4byte SpriteCallbackDummy -_08035028: .4byte gBattleBankFunc -_0803502C: .4byte sub_8032BBC - thumb_func_end OpponentHandleTrainerSlideBack - - thumb_func_start sub_8035030 -sub_8035030: @ 8035030 - push {r4,r5,lr} - ldr r5, _08035074 @ =gActiveBank - ldrb r2, [r5] - lsls r0, r2, 1 - adds r0, r2 - lsls r0, 2 - ldr r4, _08035078 @ =0x02017810 - adds r3, r0, r4 - ldrb r0, [r3, 0x4] - cmp r0, 0 - bne _0803507C - 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 _08035062 - adds r0, r2, 0 - adds r1, r2, 0 - movs r3, 0x5 - bl move_anim_start_t4 -_08035062: - 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 _080350B8 - .align 2, 0 -_08035074: .4byte gActiveBank -_08035078: .4byte 0x02017810 -_0803507C: - ldrb r1, [r3] - movs r0, 0x40 - ands r0, r1 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0 - bne _080350B8 - strb r0, [r3, 0x4] - movs r0, 0x10 - movs r1, 0x3F - bl PlaySE12WithPanning - ldr r2, _080350C0 @ =gSprites - ldr r1, _080350C4 @ =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, _080350C8 @ =sub_8010384 - str r1, [r0] - ldr r1, _080350CC @ =gBattleBankFunc - ldrb r0, [r5] - lsls r0, 2 - adds r0, r1 - ldr r1, _080350D0 @ =sub_803311C - str r1, [r0] -_080350B8: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080350C0: .4byte gSprites -_080350C4: .4byte gObjectBankIDs -_080350C8: .4byte sub_8010384 -_080350CC: .4byte gBattleBankFunc -_080350D0: .4byte sub_803311C - thumb_func_end sub_8035030 - - thumb_func_start sub_80350D4 -sub_80350D4: @ 80350D4 - push {lr} - bl OpponentBufferExecCompleted - pop {r0} - bx r0 - thumb_func_end sub_80350D4 - - thumb_func_start sub_80350E0 -sub_80350E0: @ 80350E0 - push {lr} - bl OpponentBufferExecCompleted - pop {r0} - bx r0 - thumb_func_end sub_80350E0 - - thumb_func_start OpponentHandleBallThrow -OpponentHandleBallThrow: @ 80350EC - push {lr} - bl OpponentBufferExecCompleted - pop {r0} - bx r0 - thumb_func_end OpponentHandleBallThrow - - thumb_func_start OpponentHandlePause -OpponentHandlePause: @ 80350F8 - push {lr} - bl OpponentBufferExecCompleted - pop {r0} - bx r0 - thumb_func_end OpponentHandlePause - - thumb_func_start OpponentHandleMoveAnimation -OpponentHandleMoveAnimation: @ 8035104 - push {r4-r6,lr} - ldr r6, _080351E8 @ =gActiveBank - ldrb r0, [r6] - bl mplay_80342A4 - lsls r0, 24 - cmp r0, 0 - beq _08035116 - b _08035226 -_08035116: - ldr r0, _080351EC @ =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, _080351F0 @ =gUnknown_0202F7C4 - mov r1, r12 - adds r1, 0x3 - adds r2, r1 - ldrb r1, [r2] - strb r1, [r5] - ldr r4, _080351F4 @ =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, _080351F8 @ =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, _080351FC @ =gHappinessMoveAnim - ldrb r1, [r6] - lsls r1, 9 - mov r2, r12 - adds r2, 0xA - adds r1, r2 - ldrb r1, [r1] - strb r1, [r3] - ldr r4, _08035200 @ =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, _08035204 @ =gDisableStructMoveAnim - ldrb r2, [r6] - lsls r2, 9 - mov r1, r12 - adds r1, 0x10 - adds r2, r1 - str r2, [r3] - ldr r3, _08035208 @ =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 _0803520C - bl OpponentBufferExecCompleted - b _08035226 - .align 2, 0 -_080351E8: .4byte gActiveBank -_080351EC: .4byte gBattleBufferA -_080351F0: .4byte gUnknown_0202F7C4 -_080351F4: .4byte gMovePowerMoveAnim -_080351F8: .4byte gMoveDmgMoveAnim -_080351FC: .4byte gHappinessMoveAnim -_08035200: .4byte gWeatherMoveAnim -_08035204: .4byte gDisableStructMoveAnim -_08035208: .4byte gPID_perBank -_0803520C: - ldrb r1, [r6] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - ldr r1, _0803522C @ =0x02017810 - adds r0, r1 - strb r2, [r0, 0x4] - ldr r1, _08035230 @ =gBattleBankFunc - ldrb r0, [r6] - lsls r0, 2 - adds r0, r1 - ldr r1, _08035234 @ =sub_8035238 - str r1, [r0] -_08035226: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0803522C: .4byte 0x02017810 -_08035230: .4byte gBattleBankFunc -_08035234: .4byte sub_8035238 - thumb_func_end OpponentHandleMoveAnimation - - thumb_func_start sub_8035238 -sub_8035238: @ 8035238 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - ldr r2, _0803527C @ =gBattleBufferA - ldr r5, _08035280 @ =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, _08035284 @ =0x02017810 - adds r0, r6 - ldrb r2, [r0, 0x4] - cmp r2, 0x1 - beq _080352C6 - cmp r2, 0x1 - bgt _08035288 - cmp r2, 0 - beq _08035292 - b _08035390 - .align 2, 0 -_0803527C: .4byte gBattleBufferA -_08035280: .4byte gActiveBank -_08035284: .4byte 0x02017810 -_08035288: - cmp r2, 0x2 - beq _080352EC - cmp r2, 0x3 - beq _08035358 - b _08035390 -_08035292: - 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 _080352B6 - 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 -_080352B6: - ldrb r0, [r5] - lsls r1, r0, 1 - adds r1, r0 - lsls r1, 2 - adds r1, r6 - movs r0, 0x1 - strb r0, [r1, 0x4] - b _08035390 -_080352C6: - ldrb r1, [r0] - movs r0, 0x40 - ands r0, r1 - cmp r0, 0 - bne _08035390 - 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 _08035390 -_080352EC: - ldr r0, _08035348 @ =gAnimScriptCallback - ldr r0, [r0] - bl _call_via_r0 - ldr r0, _0803534C @ =gAnimScriptActive - ldrb r0, [r0] - cmp r0, 0 - bne _08035390 - 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 _08035334 - cmp r7, 0x1 - bhi _08035334 - 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] -_08035334: - ldr r0, _08035350 @ =gActiveBank - ldrb r1, [r0] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - ldr r1, _08035354 @ =0x02017810 - adds r0, r1 - movs r1, 0x3 - strb r1, [r0, 0x4] - b _08035390 - .align 2, 0 -_08035348: .4byte gAnimScriptCallback -_0803534C: .4byte gAnimScriptActive -_08035350: .4byte gActiveBank -_08035354: .4byte 0x02017810 -_08035358: - ldrb r1, [r0] - movs r0, 0x40 - ands r0, r1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0 - bne _08035390 - 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 OpponentBufferExecCompleted -_08035390: - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_8035238 - - thumb_func_start OpponentHandlePrintString -OpponentHandlePrintString: @ 803539C - push {r4,lr} - sub sp, 0x4 - ldr r0, _080353E0 @ =gUnknown_030042A4 - movs r1, 0 - strh r1, [r0] - ldr r0, _080353E4 @ =gUnknown_030042A0 - strh r1, [r0] - ldr r4, _080353E8 @ =gActiveBank - ldrb r0, [r4] - lsls r0, 9 - ldr r1, _080353EC @ =gUnknown_02023A62 - adds r0, r1 - ldrh r0, [r0] - bl BufferStringBattle - ldr r0, _080353F0 @ =gUnknown_03004210 - ldr r1, _080353F4 @ =gDisplayedStringBattle - movs r2, 0xF - str r2, [sp] - movs r2, 0x90 - movs r3, 0x2 - bl sub_8002EB0 - ldr r1, _080353F8 @ =gBattleBankFunc - ldrb r0, [r4] - lsls r0, 2 - adds r0, r1 - ldr r1, _080353FC @ =sub_80331D0 - str r1, [r0] - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080353E0: .4byte gUnknown_030042A4 -_080353E4: .4byte gUnknown_030042A0 -_080353E8: .4byte gActiveBank -_080353EC: .4byte gUnknown_02023A62 -_080353F0: .4byte gUnknown_03004210 -_080353F4: .4byte gDisplayedStringBattle -_080353F8: .4byte gBattleBankFunc -_080353FC: .4byte sub_80331D0 - thumb_func_end OpponentHandlePrintString - - thumb_func_start OpponentHandlePrintStringPlayerOnly -OpponentHandlePrintStringPlayerOnly: @ 8035400 - push {lr} - bl OpponentBufferExecCompleted - pop {r0} - bx r0 - thumb_func_end OpponentHandlePrintStringPlayerOnly - - thumb_func_start sub_803540C -sub_803540C: @ 803540C - push {lr} - bl sub_8036B0C - bl OpponentBufferExecCompleted - pop {r0} - bx r0 - thumb_func_end sub_803540C - - thumb_func_start sub_803541C -sub_803541C: @ 803541C - push {lr} - bl OpponentBufferExecCompleted - pop {r0} - bx r0 - thumb_func_end sub_803541C - - thumb_func_start sub_8035428 -sub_8035428: @ 8035428 - push {r4-r6,lr} - ldr r6, _0803545C @ =gActiveBank - ldrb r0, [r6] - lsls r0, 9 - ldr r1, _08035460 @ =gUnknown_02023A64 - adds r5, r0, r1 - ldr r0, _08035464 @ =gBattleTypeFlags - ldrh r1, [r0] - movs r0, 0x93 - lsls r0, 3 - ands r0, r1 - cmp r0, 0 - beq _080354F8 - bl BattleAI_SetupAIData - bl BattleAI_GetAIActionToUse - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x4 - beq _08035468 - cmp r4, 0x5 - bne _08035474 - movs r0, 0x1 - movs r1, 0x4 - b _0803546C - .align 2, 0 -_0803545C: .4byte gActiveBank -_08035460: .4byte gUnknown_02023A64 -_08035464: .4byte gBattleTypeFlags -_08035468: - movs r0, 0x1 - movs r1, 0x3 -_0803546C: - movs r2, 0 - bl dp01_build_cmdbuf_x21_a_bb - b _080354E0 -_08035474: - ldr r3, _080354E8 @ =gBattleMoves - lsls r0, r4, 1 - adds r2, r5, r0 - ldrh r1, [r2] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - ldrb r1, [r0, 0x6] - movs r0, 0x12 - ands r0, r1 - cmp r0, 0 - beq _08035494 - ldr r1, _080354EC @ =gBankTarget - ldrb r0, [r6] - strb r0, [r1] -_08035494: - ldrh r1, [r2] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - ldrb r1, [r0, 0x6] - movs r0, 0x8 - ands r0, r1 - cmp r0, 0 - beq _080354CE - movs r0, 0 - bl GetBankByPlayerAI - ldr r5, _080354EC @ =gBankTarget - strb r0, [r5] - ldr r0, _080354F0 @ =gAbsentBankFlags - ldrb r1, [r0] - ldr r2, _080354F4 @ =gBitTable - ldrb r0, [r5] - lsls r0, 2 - adds r0, r2 - ldr r0, [r0] - ands r1, r0 - cmp r1, 0 - beq _080354CE - movs r0, 0x2 - bl GetBankByPlayerAI - strb r0, [r5] -_080354CE: - ldr r0, _080354EC @ =gBankTarget - ldrb r0, [r0] - lsls r0, 8 - orrs r4, r0 - movs r0, 0x1 - movs r1, 0xA - adds r2, r4, 0 - bl dp01_build_cmdbuf_x21_a_bb -_080354E0: - bl OpponentBufferExecCompleted - b _0803558A - .align 2, 0 -_080354E8: .4byte gBattleMoves -_080354EC: .4byte gBankTarget -_080354F0: .4byte gAbsentBankFlags -_080354F4: .4byte gBitTable -_080354F8: - movs r6, 0x3 -_080354FA: - bl Random - adds r4, r0, 0 - ands r4, r6 - lsls r0, r4, 1 - adds r0, r5, r0 - ldrh r2, [r0] - cmp r2, 0 - beq _080354FA - ldr r1, _08035534 @ =gBattleMoves - lsls r0, r2, 1 - adds r0, r2 - lsls r0, 2 - adds r0, r1 - ldrb r1, [r0, 0x6] - movs r0, 0x12 - ands r0, r1 - cmp r0, 0 - beq _0803553C - ldr r0, _08035538 @ =gActiveBank - ldrb r0, [r0] - lsls r0, 8 - orrs r4, r0 - movs r0, 0x1 - movs r1, 0xA - adds r2, r4, 0 - bl dp01_build_cmdbuf_x21_a_bb - b _08035586 - .align 2, 0 -_08035534: .4byte gBattleMoves -_08035538: .4byte gActiveBank -_0803553C: - ldr r0, _0803556C @ =gBattleTypeFlags - ldrh r1, [r0] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _08035570 - bl Random - movs r1, 0x2 - ands r1, r0 - lsls r1, 24 - lsrs r1, 24 - adds r0, r1, 0 - bl GetBankByPlayerAI - adds r2, r0, 0 - lsls r2, 24 - lsrs r2, 16 - orrs r2, r4 - movs r0, 0x1 - movs r1, 0xA - bl dp01_build_cmdbuf_x21_a_bb - b _08035586 - .align 2, 0 -_0803556C: .4byte gBattleTypeFlags -_08035570: - movs r0, 0 - bl GetBankByPlayerAI - adds r2, r0, 0 - lsls r2, 24 - lsrs r2, 16 - orrs r2, r4 - movs r0, 0x1 - movs r1, 0xA - bl dp01_build_cmdbuf_x21_a_bb -_08035586: - bl OpponentBufferExecCompleted -_0803558A: - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_8035428 - - thumb_func_start sub_8035590 -sub_8035590: @ 8035590 - push {lr} - ldr r1, _080355B4 @ =0x02000000 - ldr r0, _080355B8 @ =gActiveBank - ldrb r0, [r0] - lsrs r0, 1 - lsls r0, 1 - ldr r2, _080355BC @ =0x000160d4 - adds r0, r2 - adds r0, r1 - ldrb r1, [r0] - movs r0, 0x1 - bl dp01_build_cmdbuf_x23_aa_0 - bl OpponentBufferExecCompleted - pop {r0} - bx r0 - .align 2, 0 -_080355B4: .4byte 0x02000000 -_080355B8: .4byte gActiveBank -_080355BC: .4byte 0x000160d4 - thumb_func_end sub_8035590 - - thumb_func_start sub_80355C0 -sub_80355C0: @ 80355C0 - push {r4-r6,lr} - ldr r6, _08035604 @ =0x02000000 - ldr r5, _08035608 @ =gActiveBank - ldrb r0, [r5] - bl GetBankIdentity - lsls r0, 24 - lsrs r0, 25 - ldr r1, _0803560C @ =0x000160c8 - adds r0, r1 - adds r0, r6 - ldrb r0, [r0] - cmp r0, 0x6 - bne _08035664 - bl sub_8036CD4 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x6 - bne _0803568A - ldr r0, _08035610 @ =gBattleTypeFlags - ldrh r1, [r0] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - bne _08035614 - movs r0, 0x1 - bl GetBankByPlayerAI - lsls r0, 24 - lsrs r5, r0, 24 - adds r6, r5, 0 - b _08035628 - .align 2, 0 -_08035604: .4byte 0x02000000 -_08035608: .4byte gActiveBank -_0803560C: .4byte 0x000160c8 -_08035610: .4byte gBattleTypeFlags -_08035614: - movs r0, 0x1 - bl GetBankByPlayerAI - lsls r0, 24 - lsrs r6, r0, 24 - movs r0, 0x3 - bl GetBankByPlayerAI - lsls r0, 24 - lsrs r5, r0, 24 -_08035628: - movs r4, 0 - b _0803562E -_0803562C: - adds r4, 0x1 -_0803562E: - cmp r4, 0x5 - bgt _0803568A - movs r0, 0x64 - muls r0, r4 - ldr r1, _0803565C @ =gEnemyParty - adds r0, r1 - movs r1, 0x39 - bl GetMonData - cmp r0, 0 - beq _0803562C - ldr r1, _08035660 @ =gBattlePartyID - lsls r0, r6, 1 - adds r0, r1 - ldrh r0, [r0] - cmp r4, r0 - beq _0803562C - lsls r0, r5, 1 - adds r0, r1 - ldrh r0, [r0] - cmp r4, r0 - beq _0803562C - b _0803568A - .align 2, 0 -_0803565C: .4byte gEnemyParty -_08035660: .4byte gBattlePartyID -_08035664: - ldrb r0, [r5] - bl GetBankIdentity - lsls r0, 24 - lsrs r0, 25 - ldr r2, _080356B0 @ =0x000160c8 - adds r0, r2 - adds r0, r6 - ldrb r4, [r0] - ldrb r0, [r5] - bl GetBankIdentity - lsls r0, 24 - lsrs r0, 25 - ldr r1, _080356B0 @ =0x000160c8 - adds r0, r1 - adds r0, r6 - movs r1, 0x6 - strb r1, [r0] -_0803568A: - ldr r1, _080356B4 @ =0x02000000 - ldr r0, _080356B8 @ =gActiveBank - ldrb r0, [r0] - ldr r2, _080356BC @ =0x00016068 - adds r0, r2 - adds r0, r1 - strb r4, [r0] - lsls r1, r4, 24 - lsrs r1, 24 - movs r0, 0x1 - movs r2, 0 - bl dp01_build_cmdbuf_x22_a_three_bytes - bl OpponentBufferExecCompleted - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080356B0: .4byte 0x000160c8 -_080356B4: .4byte 0x02000000 -_080356B8: .4byte gActiveBank -_080356BC: .4byte 0x00016068 - thumb_func_end sub_80355C0 - - thumb_func_start sub_80356C0 -sub_80356C0: @ 80356C0 - push {lr} - bl OpponentBufferExecCompleted - pop {r0} - bx r0 - thumb_func_end sub_80356C0 - - thumb_func_start OpponentHandleHealthBarUpdate -OpponentHandleHealthBarUpdate: @ 80356CC - 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, _08035744 @ =gBattleBufferA - ldr r0, _08035748 @ =gActiveBank - mov r9, r0 - ldrb r4, [r0] - lsls r2, r4, 9 - adds r0, r3, 0x3 - adds r0, r2, r0 - ldrb r1, [r0] - lsls r1, 8 - adds r3, 0x2 - adds r2, r3 - ldrb r0, [r2] - orrs r0, r1 - lsls r0, 16 - asrs r7, r0, 16 - ldr r0, _0803574C @ =0x00007fff - cmp r7, r0 - beq _0803575C - ldr r6, _08035750 @ =gBattlePartyID - lsls r0, r4, 1 - adds r0, r6 - ldrh r0, [r0] - movs r5, 0x64 - muls r0, r5 - ldr r4, _08035754 @ =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, _08035758 @ =gHealthboxIDs - adds r1, r0, r1 - ldrb r1, [r1] - str r7, [sp] - mov r2, r8 - bl sub_8043D84 - b _08035786 - .align 2, 0 -_08035744: .4byte gBattleBufferA -_08035748: .4byte gActiveBank -_0803574C: .4byte 0x00007fff -_08035750: .4byte gBattlePartyID -_08035754: .4byte gEnemyParty -_08035758: .4byte gHealthboxIDs -_0803575C: - ldr r1, _080357A4 @ =gBattlePartyID - lsls r0, r4, 1 - adds r0, r1 - ldrh r1, [r0] - movs r0, 0x64 - muls r0, r1 - ldr r1, _080357A8 @ =gEnemyParty - adds r0, r1 - movs r1, 0x3A - bl GetMonData - adds r2, r0, 0 - mov r1, r9 - ldrb r0, [r1] - ldr r1, _080357AC @ =gHealthboxIDs - adds r1, r0, r1 - ldrb r1, [r1] - str r7, [sp] - movs r3, 0 - bl sub_8043D84 -_08035786: - ldr r1, _080357B0 @ =gBattleBankFunc - ldr r0, _080357B4 @ =gActiveBank - ldrb r0, [r0] - lsls r0, 2 - adds r0, r1 - ldr r1, _080357B8 @ =sub_80330C8 - 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 -_080357A4: .4byte gBattlePartyID -_080357A8: .4byte gEnemyParty -_080357AC: .4byte gHealthboxIDs -_080357B0: .4byte gBattleBankFunc -_080357B4: .4byte gActiveBank -_080357B8: .4byte sub_80330C8 - thumb_func_end OpponentHandleHealthBarUpdate - - thumb_func_start OpponentHandleExpBarUpdate -OpponentHandleExpBarUpdate: @ 80357BC - push {lr} - bl OpponentBufferExecCompleted - pop {r0} - bx r0 - thumb_func_end OpponentHandleExpBarUpdate - - thumb_func_start OpponentHandleStatusIconUpdate -OpponentHandleStatusIconUpdate: @ 80357C8 - push {r4,lr} - ldr r4, _08035820 @ =gActiveBank - ldrb r0, [r4] - bl mplay_80342A4 - lsls r0, 24 - cmp r0, 0 - bne _08035818 - ldr r0, _08035824 @ =gHealthboxIDs - ldrb r1, [r4] - adds r0, r1, r0 - ldrb r0, [r0] - ldr r2, _08035828 @ =gBattlePartyID - lsls r1, 1 - adds r1, r2 - ldrh r2, [r1] - movs r1, 0x64 - muls r1, r2 - ldr r2, _0803582C @ =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, _08035830 @ =0x02017810 - adds r1, r0 - ldrb r2, [r1] - movs r0, 0x11 - negs r0, r0 - ands r0, r2 - strb r0, [r1] - ldr r1, _08035834 @ =gBattleBankFunc - ldrb r0, [r4] - lsls r0, 2 - adds r0, r1 - ldr r1, _08035838 @ =sub_8033494 - str r1, [r0] -_08035818: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08035820: .4byte gActiveBank -_08035824: .4byte gHealthboxIDs -_08035828: .4byte gBattlePartyID -_0803582C: .4byte gEnemyParty -_08035830: .4byte 0x02017810 -_08035834: .4byte gBattleBankFunc -_08035838: .4byte sub_8033494 - thumb_func_end OpponentHandleStatusIconUpdate - - thumb_func_start OpponentHandleStatusAnimation -OpponentHandleStatusAnimation: @ 803583C - push {r4,r5,lr} - ldr r5, _08035894 @ =gActiveBank - ldrb r0, [r5] - bl mplay_80342A4 - lsls r0, 24 - cmp r0, 0 - bne _0803588C - ldr r4, _08035898 @ =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, _0803589C @ =gBattleBankFunc - ldrb r0, [r5] - lsls r0, 2 - adds r0, r1 - ldr r1, _080358A0 @ =sub_8033494 - str r1, [r0] -_0803588C: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08035894: .4byte gActiveBank -_08035898: .4byte gBattleBufferA -_0803589C: .4byte gBattleBankFunc -_080358A0: .4byte sub_8033494 - thumb_func_end OpponentHandleStatusAnimation - - thumb_func_start OpponentHandleStatusXor -OpponentHandleStatusXor: @ 80358A4 - push {lr} - bl OpponentBufferExecCompleted - pop {r0} - bx r0 - thumb_func_end OpponentHandleStatusXor - - thumb_func_start sub_80358B0 -sub_80358B0: @ 80358B0 - push {lr} - bl OpponentBufferExecCompleted - pop {r0} - bx r0 - thumb_func_end sub_80358B0 - - thumb_func_start OpponentHandleDMATransfer -OpponentHandleDMATransfer: @ 80358BC - push {lr} - bl OpponentBufferExecCompleted - pop {r0} - bx r0 - thumb_func_end OpponentHandleDMATransfer - - thumb_func_start sub_80358C8 -sub_80358C8: @ 80358C8 - push {lr} - bl OpponentBufferExecCompleted - pop {r0} - bx r0 - thumb_func_end sub_80358C8 - - thumb_func_start sub_80358D4 -sub_80358D4: @ 80358D4 - push {lr} - bl OpponentBufferExecCompleted - pop {r0} - bx r0 - thumb_func_end sub_80358D4 - - thumb_func_start sub_80358E0 -sub_80358E0: @ 80358E0 - push {lr} - bl OpponentBufferExecCompleted - pop {r0} - bx r0 - thumb_func_end sub_80358E0 - - thumb_func_start sub_80358EC -sub_80358EC: @ 80358EC - push {lr} - bl OpponentBufferExecCompleted - pop {r0} - bx r0 - thumb_func_end sub_80358EC - - thumb_func_start sub_80358F8 -sub_80358F8: @ 80358F8 - push {lr} - bl OpponentBufferExecCompleted - pop {r0} - bx r0 - thumb_func_end sub_80358F8 - - thumb_func_start sub_8035904 -sub_8035904: @ 8035904 - push {lr} - bl OpponentBufferExecCompleted - pop {r0} - bx r0 - thumb_func_end sub_8035904 - - thumb_func_start sub_8035910 -sub_8035910: @ 8035910 - push {lr} - ldr r2, _08035928 @ =gUnknown_020238C8 - ldrb r1, [r2] - movs r0, 0x80 - negs r0, r0 - ands r0, r1 - strb r0, [r2] - bl OpponentBufferExecCompleted - pop {r0} - bx r0 - .align 2, 0 -_08035928: .4byte gUnknown_020238C8 - thumb_func_end sub_8035910 - - thumb_func_start sub_803592C -sub_803592C: @ 803592C - push {lr} - ldr r3, _08035958 @ =gUnknown_020238C8 - ldr r1, _0803595C @ =gBattleBufferA - ldr r0, _08035960 @ =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 OpponentBufferExecCompleted - pop {r0} - bx r0 - .align 2, 0 -_08035958: .4byte gUnknown_020238C8 -_0803595C: .4byte gBattleBufferA -_08035960: .4byte gActiveBank - thumb_func_end sub_803592C - - thumb_func_start sub_8035964 -sub_8035964: @ 8035964 - push {lr} - ldr r2, _08035978 @ =gUnknown_020238C8 - ldrb r1, [r2] - movs r0, 0x7F - ands r0, r1 - strb r0, [r2] - bl OpponentBufferExecCompleted - pop {r0} - bx r0 - .align 2, 0 -_08035978: .4byte gUnknown_020238C8 - thumb_func_end sub_8035964 - - thumb_func_start sub_803597C -sub_803597C: @ 803597C - push {lr} - ldr r3, _080359A0 @ =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 OpponentBufferExecCompleted - pop {r0} - bx r0 - .align 2, 0 -_080359A0: .4byte gUnknown_020238C8 - thumb_func_end sub_803597C - - thumb_func_start OpponentHandleHitAnimation -OpponentHandleHitAnimation: @ 80359A4 - push {r4,lr} - ldr r3, _080359CC @ =gSprites - ldr r2, _080359D0 @ =gObjectBankIDs - ldr r4, _080359D4 @ =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 _080359D8 - bl OpponentBufferExecCompleted - b _08035A02 - .align 2, 0 -_080359CC: .4byte gSprites -_080359D0: .4byte gObjectBankIDs -_080359D4: .4byte gActiveBank -_080359D8: - ldr r1, _08035A08 @ =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, _08035A0C @ =gBattleBankFunc - ldrb r0, [r4] - lsls r0, 2 - adds r0, r1 - ldr r1, _08035A10 @ =bx_blink_t7 - str r1, [r0] -_08035A02: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08035A08: .4byte gDoingBattleAnim -_08035A0C: .4byte gBattleBankFunc -_08035A10: .4byte bx_blink_t7 - thumb_func_end OpponentHandleHitAnimation - - thumb_func_start sub_8035A14 -sub_8035A14: @ 8035A14 - push {lr} - bl OpponentBufferExecCompleted - pop {r0} - bx r0 - thumb_func_end sub_8035A14 - - thumb_func_start OpponentHandleEffectivenessSound -OpponentHandleEffectivenessSound: @ 8035A20 - push {r4,lr} - ldr r4, _08035A5C @ =gActiveBank - ldrb r0, [r4] - bl GetBankSide - lsls r0, 24 - movs r3, 0x3F - cmp r0, 0 - bne _08035A34 - movs r3, 0xC0 -_08035A34: - ldr r2, _08035A60 @ =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 OpponentBufferExecCompleted - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08035A5C: .4byte gActiveBank -_08035A60: .4byte gBattleBufferA - thumb_func_end OpponentHandleEffectivenessSound - - thumb_func_start sub_8035A64 -sub_8035A64: @ 8035A64 - push {lr} - ldr r2, _08035A8C @ =gBattleBufferA - ldr r0, _08035A90 @ =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 OpponentBufferExecCompleted - pop {r0} - bx r0 - .align 2, 0 -_08035A8C: .4byte gBattleBufferA -_08035A90: .4byte gActiveBank - thumb_func_end sub_8035A64 - - thumb_func_start OpponentHandleFaintingCry -OpponentHandleFaintingCry: @ 8035A94 - push {lr} - ldr r1, _08035AC4 @ =gBattlePartyID - ldr r0, _08035AC8 @ =gActiveBank - ldrb r0, [r0] - lsls r0, 1 - adds r0, r1 - ldrh r1, [r0] - movs r0, 0x64 - muls r0, r1 - ldr r1, _08035ACC @ =gEnemyParty - adds r0, r1 - movs r1, 0xB - bl GetMonData - lsls r0, 16 - lsrs r0, 16 - movs r1, 0x19 - movs r2, 0x5 - bl PlayCry3 - bl OpponentBufferExecCompleted - pop {r0} - bx r0 - .align 2, 0 -_08035AC4: .4byte gBattlePartyID -_08035AC8: .4byte gActiveBank -_08035ACC: .4byte gEnemyParty - thumb_func_end OpponentHandleFaintingCry - - thumb_func_start dp01t_2E_7_battle_intro -dp01t_2E_7_battle_intro: @ 8035AD0 - push {lr} - ldr r1, _08035AF8 @ =gBattleBufferA - ldr r0, _08035AFC @ =gActiveBank - ldrb r0, [r0] - lsls r0, 9 - adds r1, 0x1 - adds r0, r1 - ldrb r0, [r0] - bl sub_80E43C0 - ldr r2, _08035B00 @ =gUnknown_02024DE8 - ldrh r0, [r2] - movs r1, 0x1 - orrs r0, r1 - strh r0, [r2] - bl OpponentBufferExecCompleted - pop {r0} - bx r0 - .align 2, 0 -_08035AF8: .4byte gBattleBufferA -_08035AFC: .4byte gActiveBank -_08035B00: .4byte gUnknown_02024DE8 - thumb_func_end dp01t_2E_7_battle_intro - - thumb_func_start sub_8035B04 -sub_8035B04: @ 8035B04 - push {r4-r6,lr} - ldr r5, _08035BE0 @ =gObjectBankIDs - ldr r6, _08035BE4 @ =gActiveBank - ldrb r0, [r6] - adds r0, r5 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r4, _08035BE8 @ =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, _08035BEC @ =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, _08035BF0 @ =sub_8035C10 - bl oamt_set_x3A_32 - ldr r0, _08035BF4 @ =sub_8035C44 - movs r1, 0x5 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - ldr r4, _08035BF8 @ =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, _08035BFC @ =0x02017810 - adds r0, r2 - ldrb r1, [r0] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _08035BC2 - ldr r0, _08035C00 @ =gUnknown_02024E68 - adds r0, r3, r0 - ldrb r1, [r0] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r4 - ldr r1, _08035C04 @ =sub_8044CA0 - str r1, [r0] -_08035BC2: - adds r2, 0x30 - ldrb r0, [r2, 0x9] - movs r1, 0x1 - orrs r0, r1 - strb r0, [r2, 0x9] - ldr r1, _08035C08 @ =gBattleBankFunc - ldrb r0, [r6] - lsls r0, 2 - adds r0, r1 - ldr r1, _08035C0C @ =nullsub_45 - str r1, [r0] - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_08035BE0: .4byte gObjectBankIDs -_08035BE4: .4byte gActiveBank -_08035BE8: .4byte gSprites -_08035BEC: .4byte sub_8078B34 -_08035BF0: .4byte sub_8035C10 -_08035BF4: .4byte sub_8035C44 -_08035BF8: .4byte gTasks -_08035BFC: .4byte 0x02017810 -_08035C00: .4byte gUnknown_02024E68 -_08035C04: .4byte sub_8044CA0 -_08035C08: .4byte gBattleBankFunc -_08035C0C: .4byte nullsub_45 - thumb_func_end sub_8035B04 - - thumb_func_start sub_8035C10 -sub_8035C10: @ 8035C10 - push {r4,lr} - adds r4, r0, 0 - ldrh r0, [r4, 0x6] - bl sub_8031B74 - ldrh r0, [r4, 0x38] - ldr r1, _08035C3C @ =0x000003ff - ands r1, r0 - ldrh r2, [r4, 0x4] - ldr r0, _08035C40 @ =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 -_08035C3C: .4byte 0x000003ff -_08035C40: .4byte 0xfffffc00 - thumb_func_end sub_8035C10 - - thumb_func_start sub_8035C44 -sub_8035C44: @ 8035C44 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - ldr r7, _08035C9C @ =gActiveBank - ldrb r0, [r7] - mov r9, r0 - ldr r1, _08035CA0 @ =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 _08035C7E - ldr r0, _08035CA4 @ =gBattleTypeFlags - ldrh r1, [r0] - movs r0, 0x40 - ands r0, r1 - cmp r0, 0 - beq _08035CB0 -_08035C7E: - ldr r0, _08035CA8 @ =gBattleBufferA - ldrb r1, [r7] - lsls r2, r1, 9 - adds r0, 0x1 - adds r2, r0 - ldr r0, _08035CAC @ =gBattlePartyID - lsls r1, 1 - adds r1, r0 - ldrh r0, [r1] - strb r0, [r2] - ldrb r0, [r7] - movs r1, 0 - bl sub_803495C - b _08035CF0 - .align 2, 0 -_08035C9C: .4byte gActiveBank -_08035CA0: .4byte gTasks -_08035CA4: .4byte gBattleTypeFlags -_08035CA8: .4byte gBattleBufferA -_08035CAC: .4byte gBattlePartyID -_08035CB0: - ldr r4, _08035D14 @ =gBattleBufferA - ldrb r0, [r7] - lsls r1, r0, 9 - adds r4, 0x1 - adds r1, r4 - ldr r6, _08035D18 @ =gBattlePartyID - lsls r0, 1 - adds r0, r6 - ldrh r0, [r0] - strb r0, [r1] - ldrb r0, [r7] - movs r1, 0 - bl sub_803495C - 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_803495C - ldrb r0, [r7] - eors r0, r5 - strb r0, [r7] -_08035CF0: - ldr r1, _08035D1C @ =gBattleBankFunc - ldr r2, _08035D20 @ =gActiveBank - ldrb r0, [r2] - lsls r0, 2 - adds r0, r1 - ldr r1, _08035D24 @ =sub_8032E2C - 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 -_08035D14: .4byte gBattleBufferA -_08035D18: .4byte gBattlePartyID -_08035D1C: .4byte gBattleBankFunc -_08035D20: .4byte gActiveBank -_08035D24: .4byte sub_8032E2C - thumb_func_end sub_8035C44 - - thumb_func_start dp01t_30_7_0803D67C -dp01t_30_7_0803D67C: @ 8035D28 - push {r4-r6,lr} - ldr r1, _08035D50 @ =gBattleBufferA - ldr r0, _08035D54 @ =gActiveBank - ldrb r2, [r0] - lsls r0, r2, 9 - adds r1, 0x1 - adds r0, r1 - ldrb r0, [r0] - cmp r0, 0 - beq _08035D58 - adds r0, r2, 0 - bl GetBankSide - lsls r0, 24 - cmp r0, 0 - bne _08035D58 - bl OpponentBufferExecCompleted - b _08035E12 - .align 2, 0 -_08035D50: .4byte gBattleBufferA -_08035D54: .4byte gActiveBank -_08035D58: - ldr r3, _08035DA8 @ =gActiveBank - ldrb r1, [r3] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - ldr r4, _08035DAC @ =0x02017810 - adds r0, r4 - ldrb r1, [r0] - movs r2, 0x1 - orrs r1, r2 - strb r1, [r0] - ldr r1, _08035DB0 @ =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 _08035DBC - 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 _08035DB4 - 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 _08035E12 - .align 2, 0 -_08035DA8: .4byte gActiveBank -_08035DAC: .4byte 0x02017810 -_08035DB0: .4byte gBattleBufferA -_08035DB4: - movs r0, 0x3F - negs r0, r0 - ands r0, r2 - strb r0, [r3, 0x1] -_08035DBC: - adds r5, r6, 0 - ldrb r0, [r5] - lsls r3, r0, 9 - ldr r4, _08035E18 @ =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, _08035E1C @ =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, _08035E20 @ =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 _08035E06 - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - movs r1, 0x5D - strb r1, [r0, 0x5] -_08035E06: - ldr r0, _08035E24 @ =gBattleBankFunc - ldrb r1, [r6] - lsls r1, 2 - adds r1, r0 - ldr r0, _08035E28 @ =sub_8035E2C - str r0, [r1] -_08035E12: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_08035E18: .4byte gUnknown_02023A64 -_08035E1C: .4byte gUnknown_02024E68 -_08035E20: .4byte 0x02017810 -_08035E24: .4byte gBattleBankFunc -_08035E28: .4byte sub_8035E2C - thumb_func_end dp01t_30_7_0803D67C - - thumb_func_start sub_8035E2C -sub_8035E2C: @ 8035E2C - push {r4,lr} - ldr r4, _08035E64 @ =gActiveBank - ldrb r1, [r4] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - ldr r3, _08035E68 @ =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 _08035E5C - ldrb r0, [r4] - lsls r1, r0, 1 - adds r1, r0 - lsls r1, 2 - adds r1, r3 - movs r0, 0 - strb r0, [r1, 0x5] - bl OpponentBufferExecCompleted -_08035E5C: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08035E64: .4byte gActiveBank -_08035E68: .4byte 0x02017810 - thumb_func_end sub_8035E2C - - thumb_func_start sub_8035E6C -sub_8035E6C: @ 8035E6C - push {lr} - ldr r0, _08035EA4 @ =gActiveBank - ldrb r3, [r0] - lsls r0, r3, 1 - adds r0, r3 - lsls r0, 2 - ldr r1, _08035EA8 @ =0x02017810 - adds r0, r1 - ldrb r1, [r0] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _08035E9A - ldr r2, _08035EAC @ =gTasks - ldr r0, _08035EB0 @ =gUnknown_02024E68 - adds r0, r3, r0 - ldrb r1, [r0] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r2 - ldr r1, _08035EB4 @ =sub_8044CA0 - str r1, [r0] -_08035E9A: - bl OpponentBufferExecCompleted - pop {r0} - bx r0 - .align 2, 0 -_08035EA4: .4byte gActiveBank -_08035EA8: .4byte 0x02017810 -_08035EAC: .4byte gTasks -_08035EB0: .4byte gUnknown_02024E68 -_08035EB4: .4byte sub_8044CA0 - thumb_func_end sub_8035E6C - - thumb_func_start sub_8035EB8 -sub_8035EB8: @ 8035EB8 - push {lr} - bl OpponentBufferExecCompleted - pop {r0} - bx r0 - thumb_func_end sub_8035EB8 - - thumb_func_start OpponentHandleSpriteInvisibility -OpponentHandleSpriteInvisibility: @ 8035EC4 - push {r4,lr} - ldr r4, _08035F14 @ =gActiveBank - ldrb r0, [r4] - bl sub_8078874 - lsls r0, 24 - cmp r0, 0 - beq _08035F0A - ldr r3, _08035F18 @ =gSprites - ldr r0, _08035F1C @ =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, _08035F20 @ =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 -_08035F0A: - bl OpponentBufferExecCompleted - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08035F14: .4byte gActiveBank -_08035F18: .4byte gSprites -_08035F1C: .4byte gObjectBankIDs -_08035F20: .4byte gBattleBufferA - thumb_func_end OpponentHandleSpriteInvisibility - - thumb_func_start OpponentHandleBattleAnimation -OpponentHandleBattleAnimation: @ 8035F24 - push {r4-r6,lr} - sub sp, 0x4 - ldr r6, _08035F68 @ =gActiveBank - ldrb r0, [r6] - bl mplay_80342A4 - lsls r0, 24 - cmp r0, 0 - bne _08035F7C - ldr r5, _08035F6C @ =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 _08035F70 - bl OpponentBufferExecCompleted - b _08035F7C - .align 2, 0 -_08035F68: .4byte gActiveBank -_08035F6C: .4byte gBattleBufferA -_08035F70: - ldr r0, _08035F84 @ =gBattleBankFunc - ldrb r1, [r6] - lsls r1, 2 - adds r1, r0 - ldr r0, _08035F88 @ =sub_80334C0 - str r0, [r1] -_08035F7C: - add sp, 0x4 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_08035F84: .4byte gBattleBankFunc -_08035F88: .4byte sub_80334C0 - thumb_func_end OpponentHandleBattleAnimation - - thumb_func_start OpponentHandleLinkStandbyMsg -OpponentHandleLinkStandbyMsg: @ 8035F8C - push {lr} - bl OpponentBufferExecCompleted - pop {r0} - bx r0 - thumb_func_end OpponentHandleLinkStandbyMsg - - thumb_func_start OpponentHandleResetActionMoveSelection -OpponentHandleResetActionMoveSelection: @ 8035F98 - push {lr} - bl OpponentBufferExecCompleted - pop {r0} - bx r0 - thumb_func_end OpponentHandleResetActionMoveSelection - - thumb_func_start sub_8035FA4 -sub_8035FA4: @ 8035FA4 - push {lr} - ldr r0, _08035FD8 @ =gBattleTypeFlags - ldrh r1, [r0] - movs r0, 0x6 - ands r0, r1 - cmp r0, 0x2 - bne _08035FCE - ldr r2, _08035FDC @ =gMain - ldr r0, _08035FE0 @ =0x0000043d - adds r3, r2, r0 - ldrb r1, [r3] - movs r0, 0x3 - negs r0, r0 - ands r0, r1 - strb r0, [r3] - ldr r0, _08035FE4 @ =gPreBattleCallback1 - ldr r0, [r0] - str r0, [r2] - ldr r0, [r2, 0x8] - bl SetMainCallback2 -_08035FCE: - bl OpponentBufferExecCompleted - pop {r0} - bx r0 - .align 2, 0 -_08035FD8: .4byte gBattleTypeFlags -_08035FDC: .4byte gMain -_08035FE0: .4byte 0x0000043d -_08035FE4: .4byte gPreBattleCallback1 - thumb_func_end sub_8035FA4 - - thumb_func_start nullsub_46 -nullsub_46: @ 8035FE8 - bx lr - thumb_func_end nullsub_46 - - .align 2, 0 @ Don't pad with nop. diff --git a/asm/battle_records.s b/asm/battle_records.s deleted file mode 100644 index cfe822acc..000000000 --- a/asm/battle_records.s +++ /dev/null @@ -1,868 +0,0 @@ - .include "constants/gba_constants.inc" - .include "constants/species_constants.inc" - .include "asm/macros.inc" - - .syntax unified - - .text - - thumb_func_start sub_810FF78 -sub_810FF78: @ 810FF78 - push {r4,lr} - sub sp, 0x4 - adds r4, r0, 0 - mov r1, sp - movs r0, 0 - strh r0, [r1] - ldr r2, _0810FFA4 @ =0x01000008 - mov r0, sp - adds r1, r4, 0 - bl CpuSet - movs r0, 0xFF - strb r0, [r4] - movs r0, 0 - strh r0, [r4, 0x8] - strh r0, [r4, 0xA] - strh r0, [r4, 0xC] - strh r0, [r4, 0xE] - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0810FFA4: .4byte 0x01000008 - thumb_func_end sub_810FF78 - - thumb_func_start InitLinkBattleRecords_ -InitLinkBattleRecords_: @ 810FFA8 - push {r4,r5,lr} - adds r4, r0, 0 - movs r5, 0x4 -_0810FFAE: - adds r0, r4, 0 - bl sub_810FF78 - adds r4, 0x10 - subs r5, 0x1 - cmp r5, 0 - bge _0810FFAE - movs r0, 0x17 - movs r1, 0 - bl SetGameStat - movs r0, 0x18 - movs r1, 0 - bl SetGameStat - movs r0, 0x19 - movs r1, 0 - bl SetGameStat - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end InitLinkBattleRecords_ - - thumb_func_start sub_810FFDC -sub_810FFDC: @ 810FFDC - adds r1, r0, 0 - ldrh r0, [r1, 0xA] - ldrh r2, [r1, 0xC] - adds r0, r2 - ldrh r1, [r1, 0xE] - adds r0, r1 - bx lr - thumb_func_end sub_810FFDC - - thumb_func_start sub_810FFEC -sub_810FFEC: @ 810FFEC - push {r4-r7,lr} - mov r7, r8 - push {r7} - mov r8, r1 - lsls r2, 16 - lsrs r7, r2, 16 - movs r5, 0 - ldr r6, _08110024 @ =gStringVar1 - adds r4, r0, 0 -_0810FFFE: - adds r0, r6, 0 - adds r1, r4, 0 - movs r2, 0x7 - bl memcpy - movs r0, 0xFF - strb r0, [r6, 0x7] - adds r0, r6, 0 - mov r1, r8 - bl StringCompareWithoutExtCtrlCodes - cmp r0, 0 - bne _08110028 - ldrh r0, [r4, 0x8] - cmp r0, r7 - bne _08110028 - adds r0, r5, 0 - b _08110032 - .align 2, 0 -_08110024: .4byte gStringVar1 -_08110028: - adds r4, 0x10 - adds r5, 0x1 - cmp r5, 0x4 - ble _0810FFFE - movs r0, 0x5 -_08110032: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_810FFEC - - thumb_func_start sub_811003C -sub_811003C: @ 811003C - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - sub sp, 0x14 - mov r8, r0 - movs r0, 0x4 -_0811004A: - subs r2, r0, 0x1 - mov r9, r2 - cmp r2, 0 - blt _081100A4 - lsls r0, 4 - mov r1, r8 - adds r6, r1, r0 - lsls r0, r2, 4 - adds r5, r0, r1 -_0811005C: - adds r0, r6, 0 - str r2, [sp, 0x10] - bl sub_810FFDC - adds r4, r0, 0 - adds r0, r5, 0 - bl sub_810FFDC - ldr r2, [sp, 0x10] - cmp r4, r0 - ble _08110096 - mov r1, sp - adds r0, r6, 0 - ldm r0!, {r3,r4,r7} - stm r1!, {r3,r4,r7} - ldr r0, [r0] - str r0, [r1] - adds r1, r6, 0 - adds r0, r5, 0 - ldm r0!, {r3,r4,r7} - stm r1!, {r3,r4,r7} - ldr r0, [r0] - str r0, [r1] - adds r1, r5, 0 - mov r0, sp - ldm r0!, {r3,r4,r7} - stm r1!, {r3,r4,r7} - ldr r0, [r0] - str r0, [r1] -_08110096: - subs r5, 0x10 - movs r0, 0x1 - negs r0, r0 - add r9, r0 - mov r1, r9 - cmp r1, 0 - bge _0811005C -_081100A4: - adds r0, r2, 0 - cmp r0, 0 - bgt _0811004A - add sp, 0x14 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_811003C - - thumb_func_start sub_81100B8 -sub_81100B8: @ 81100B8 - push {lr} - adds r2, r0, 0 - cmp r1, 0x2 - beq _081100E8 - cmp r1, 0x2 - bgt _081100CA - cmp r1, 0x1 - beq _081100D0 - b _08110112 -_081100CA: - cmp r1, 0x3 - beq _08110100 - b _08110112 -_081100D0: - ldrh r0, [r2, 0xA] - adds r0, 0x1 - strh r0, [r2, 0xA] - lsls r0, 16 - lsrs r0, 16 - ldr r1, _081100E4 @ =0x0000270f - cmp r0, r1 - bls _08110112 - strh r1, [r2, 0xA] - b _08110112 - .align 2, 0 -_081100E4: .4byte 0x0000270f -_081100E8: - ldrh r0, [r2, 0xC] - adds r0, 0x1 - strh r0, [r2, 0xC] - lsls r0, 16 - lsrs r0, 16 - ldr r1, _081100FC @ =0x0000270f - cmp r0, r1 - bls _08110112 - strh r1, [r2, 0xC] - b _08110112 - .align 2, 0 -_081100FC: .4byte 0x0000270f -_08110100: - ldrh r0, [r2, 0xE] - adds r0, 0x1 - strh r0, [r2, 0xE] - lsls r0, 16 - lsrs r0, 16 - ldr r1, _08110118 @ =0x0000270f - cmp r0, r1 - bls _08110112 - strh r1, [r2, 0xE] -_08110112: - pop {r0} - bx r0 - .align 2, 0 -_08110118: .4byte 0x0000270f - thumb_func_end sub_81100B8 - - thumb_func_start sub_811011C -sub_811011C: @ 811011C - push {r4,lr} - cmp r0, 0x2 - beq _08110136 - cmp r0, 0x2 - bgt _0811012C - cmp r0, 0x1 - beq _08110132 - b _0811014E -_0811012C: - cmp r0, 0x3 - beq _0811013A - b _0811014E -_08110132: - movs r4, 0x17 - b _0811013C -_08110136: - movs r4, 0x18 - b _0811013C -_0811013A: - movs r4, 0x19 -_0811013C: - adds r0, r4, 0 - bl GetGameStat - ldr r1, _08110154 @ =0x0000270e - cmp r0, r1 - bhi _0811014E - adds r0, r4, 0 - bl IncrementGameStat -_0811014E: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08110154: .4byte 0x0000270e - thumb_func_end sub_811011C - - thumb_func_start sub_8110158 -sub_8110158: @ 8110158 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - adds r5, r0, 0 - adds r7, r1, 0 - mov r10, r3 - ldr r0, [sp, 0x20] - lsls r2, 16 - lsrs r2, 16 - mov r9, r2 - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - mov r0, r10 - bl sub_811011C - adds r0, r5, 0 - bl sub_811003C - adds r0, r5, 0 - adds r1, r7, 0 - mov r2, r9 - bl sub_810FFEC - adds r6, r0, 0 - cmp r6, 0x5 - bne _081101CC - movs r6, 0x4 - adds r4, r5, 0 - adds r4, 0x40 - adds r0, r4, 0 - bl sub_810FF78 - mov r0, r8 - cmp r0, 0x1 - bne _081101BA - movs r0, 0xFC - strb r0, [r4] - movs r0, 0x15 - strb r0, [r4, 0x1] - adds r0, r5, 0 - adds r0, 0x42 - adds r1, r7, 0 - movs r2, 0x5 - bl StringCopyN - b _081101C4 -_081101BA: - adds r0, r4, 0 - adds r1, r7, 0 - movs r2, 0x7 - bl StringCopyN -_081101C4: - lsls r0, r6, 4 - adds r0, r5, r0 - mov r1, r9 - strh r1, [r0, 0x8] -_081101CC: - lsls r0, r6, 4 - adds r0, r5, r0 - mov r1, r10 - bl sub_81100B8 - adds r0, r5, 0 - bl sub_811003C - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_8110158 - - thumb_func_start InitLinkBattleRecords -InitLinkBattleRecords: @ 81101EC - push {lr} - ldr r0, _081101F8 @ =gSaveBlock1 + 0x30B8 - bl InitLinkBattleRecords_ - pop {r0} - bx r0 - .align 2, 0 -_081101F8: .4byte gSaveBlock1 + 0x30B8 - thumb_func_end InitLinkBattleRecords - - thumb_func_start sub_81101FC -sub_81101FC: @ 81101FC - push {lr} - lsls r1, r0, 3 - subs r1, r0 - lsls r1, 3 - ldr r0, _08110220 @ =gTrainerCards + 0x14 - adds r1, r0 - ldrh r0, [r1] - adds r0, 0x1 - strh r0, [r1] - lsls r0, 16 - lsrs r0, 16 - ldr r2, _08110224 @ =0x0000270f - cmp r0, r2 - bls _0811021A - strh r2, [r1] -_0811021A: - pop {r0} - bx r0 - .align 2, 0 -_08110220: .4byte gTrainerCards + 0x14 -_08110224: .4byte 0x0000270f - thumb_func_end sub_81101FC - - thumb_func_start sub_8110228 -sub_8110228: @ 8110228 - push {lr} - lsls r1, r0, 3 - subs r1, r0 - lsls r1, 3 - ldr r0, _0811024C @ =gTrainerCards + 0x16 - adds r1, r0 - ldrh r0, [r1] - adds r0, 0x1 - strh r0, [r1] - lsls r0, 16 - lsrs r0, 16 - ldr r2, _08110250 @ =0x0000270f - cmp r0, r2 - bls _08110246 - strh r2, [r1] -_08110246: - pop {r0} - bx r0 - .align 2, 0 -_0811024C: .4byte gTrainerCards + 0x16 -_08110250: .4byte 0x0000270f - thumb_func_end sub_8110228 - - thumb_func_start sub_8110254 -sub_8110254: @ 8110254 - push {r4,lr} - adds r4, r0, 0 - ldr r0, _08110268 @ =gBattleOutcome - ldrb r0, [r0] - cmp r0, 0x1 - beq _0811026C - cmp r0, 0x2 - beq _0811027A - b _08110288 - .align 2, 0 -_08110268: .4byte gBattleOutcome -_0811026C: - eors r0, r4 - bl sub_81101FC - adds r0, r4, 0 - bl sub_8110228 - b _08110288 -_0811027A: - movs r0, 0x1 - eors r0, r4 - bl sub_8110228 - adds r0, r4, 0 - bl sub_81101FC -_08110288: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_8110254 - - thumb_func_start sub_8110290 -sub_8110290: @ 8110290 - push {r4-r6,lr} - sub sp, 0x4 - adds r4, r0, 0 - bl sub_8110254 - ldr r0, _081102D4 @ =gSaveBlock1 + 0x30B8 - lsls r2, r4, 3 - subs r2, r4 - lsls r2, 3 - ldr r3, _081102D8 @ =gTrainerCards + 0x30 - adds r1, r2, r3 - subs r3, 0x30 - adds r2, r3 - ldrh r2, [r2, 0xE] - ldr r3, _081102DC @ =gBattleOutcome - ldrb r3, [r3] - ldr r6, _081102E0 @ =gLinkPlayers - ldr r5, _081102E4 @ =gLinkPlayerMapObjects - lsls r4, 2 - adds r4, r5 - ldrb r5, [r4, 0x1] - lsls r4, r5, 3 - subs r4, r5 - lsls r4, 2 - adds r4, r6 - ldrb r4, [r4, 0x1A] - str r4, [sp] - bl sub_8110158 - add sp, 0x4 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_081102D4: .4byte gSaveBlock1 + 0x30B8 -_081102D8: .4byte gTrainerCards + 0x30 -_081102DC: .4byte gBattleOutcome -_081102E0: .4byte gLinkPlayers -_081102E4: .4byte gLinkPlayerMapObjects - thumb_func_end sub_8110290 - - thumb_func_start PrintLinkBattleWinsLossesDraws -PrintLinkBattleWinsLossesDraws: @ 81102E8 - push {r4,lr} - ldr r4, _08110338 @ =gStringVar1 - movs r0, 0x17 - bl GetGameStat - adds r1, r0, 0 - adds r0, r4, 0 - movs r2, 0x1 - movs r3, 0x4 - bl ConvertIntToDecimalStringN_DigitWidth6 - ldr r4, _0811033C @ =gStringVar2 - movs r0, 0x18 - bl GetGameStat - adds r1, r0, 0 - adds r0, r4, 0 - movs r2, 0x1 - movs r3, 0x4 - bl ConvertIntToDecimalStringN_DigitWidth6 - ldr r4, _08110340 @ =gStringVar3 - movs r0, 0x19 - bl GetGameStat - adds r1, r0, 0 - adds r0, r4, 0 - movs r2, 0x1 - movs r3, 0x4 - bl ConvertIntToDecimalStringN_DigitWidth6 - ldr r0, _08110344 @ =gOtherText_WinRecord - movs r1, 0x3 - movs r2, 0x3 - bl MenuPrint - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08110338: .4byte gStringVar1 -_0811033C: .4byte gStringVar2 -_08110340: .4byte gStringVar3 -_08110344: .4byte gOtherText_WinRecord - thumb_func_end PrintLinkBattleWinsLossesDraws - - thumb_func_start PrintLinkBattleRecord -PrintLinkBattleRecord: @ 8110348 - push {r4-r7,lr} - sub sp, 0x10 - adds r7, r0, 0 - lsls r1, 24 - lsrs r6, r1, 24 - ldrh r0, [r7, 0xA] - cmp r0, 0 - bne _081103C0 - ldr r0, [r7, 0xC] - cmp r0, 0 - bne _081103C0 - mov r0, sp - movs r2, 0xFC - strb r2, [r0] - mov r1, sp - movs r0, 0x14 - strb r0, [r1, 0x1] - movs r0, 0x6 - strb r0, [r1, 0x2] - mov r0, sp - strb r2, [r0, 0x3] - movs r0, 0x11 - strb r0, [r1, 0x4] - movs r0, 0x1 - strb r0, [r1, 0x5] - mov r4, sp - adds r4, 0x6 - ldr r1, _081103B8 @ =gOtherText_SevenDashes - adds r0, r4, 0 - bl StringCopy - mov r0, sp - movs r1, 0x3 - adds r2, r6, 0 - bl MenuPrint - ldr r1, _081103BC @ =gOtherText_FourDashes - adds r0, r4, 0 - bl StringCopy - mov r0, sp - movs r1, 0xB - adds r2, r6, 0 - bl MenuPrint - mov r0, sp - movs r1, 0x11 - adds r2, r6, 0 - bl MenuPrint - mov r0, sp - movs r1, 0x17 - adds r2, r6, 0 - bl MenuPrint - b _0811042E - .align 2, 0 -_081103B8: .4byte gOtherText_SevenDashes -_081103BC: .4byte gOtherText_FourDashes -_081103C0: - ldr r4, _08110438 @ =gStringVar1 - adds r0, r4, 0 - movs r1, 0x8 - bl StringFillWithTerminator - adds r0, r4, 0 - adds r1, r7, 0 - movs r2, 0x7 - bl StringCopyN - adds r0, r4, 0 - movs r1, 0x3 - adds r2, r6, 0 - bl MenuPrint - movs r0, 0xFC - strb r0, [r4] - movs r0, 0x14 - strb r0, [r4, 0x1] - movs r0, 0x6 - strb r0, [r4, 0x2] - adds r5, r4, 0x3 - ldrh r1, [r7, 0xA] - adds r0, r5, 0 - movs r2, 0x1 - movs r3, 0x4 - bl ConvertIntToDecimalStringN - adds r0, r4, 0 - movs r1, 0xB - adds r2, r6, 0 - bl MenuPrint - ldrh r1, [r7, 0xC] - adds r0, r5, 0 - movs r2, 0x1 - movs r3, 0x4 - bl ConvertIntToDecimalStringN - adds r0, r4, 0 - movs r1, 0x11 - adds r2, r6, 0 - bl MenuPrint - ldrh r1, [r7, 0xE] - adds r0, r5, 0 - movs r2, 0x1 - movs r3, 0x4 - bl ConvertIntToDecimalStringN - adds r0, r4, 0 - movs r1, 0x17 - adds r2, r6, 0 - bl MenuPrint -_0811042E: - add sp, 0x10 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08110438: .4byte gStringVar1 - thumb_func_end PrintLinkBattleRecord - -.section .text_8110494 - - thumb_func_start sub_8110494 -sub_8110494: @ 8110494 - push {lr} - lsls r0, 24 - lsrs r0, 24 - ldr r1, _081104B4 @ =gSaveBlock2 + 0xA8 - ldr r2, _081104B8 @ =0x000004ae - adds r1, r2 - adds r0, r1 - ldrb r0, [r0] - cmp r0, 0x6 - bhi _081104E0 - lsls r0, 2 - ldr r1, _081104BC @ =_081104C0 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_081104B4: .4byte gSaveBlock2 + 0xA8 -_081104B8: .4byte 0x000004ae -_081104BC: .4byte _081104C0 - .align 2, 0 -_081104C0: - .4byte _081104E0 - .4byte _081104E0 - .4byte _081104DC - .4byte _081104DC - .4byte _081104E0 - .4byte _081104E0 - .4byte _081104DC -_081104DC: - movs r0, 0x1 - b _081104E2 -_081104E0: - movs r0, 0 -_081104E2: - pop {r1} - bx r1 - thumb_func_end sub_8110494 - - thumb_func_start sub_81104E8 -sub_81104E8: @ 81104E8 - push {r4-r6,lr} - lsls r1, 16 - lsrs r4, r1, 16 - lsls r2, 24 - lsrs r2, 24 - adds r5, r2, 0 - lsls r3, 24 - lsrs r3, 24 - adds r6, r3, 0 - adds r1, r5, 0 - adds r2, r6, 0 - bl MenuPrint - ldr r0, _0811052C @ =0x0000270f - cmp r4, r0 - bls _0811050A - adds r4, r0, 0 -_0811050A: - ldr r0, _08110530 @ =gStringVar1 - adds r1, r4, 0 - movs r2, 0x18 - movs r3, 0x1 - bl sub_8072C14 - ldr r0, _08110534 @ =gOtherText_WinStreak - adds r1, r5, 0x7 - lsls r1, 24 - lsrs r1, 24 - adds r2, r6, 0 - bl MenuPrint - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0811052C: .4byte 0x0000270f -_08110530: .4byte gStringVar1 -_08110534: .4byte gOtherText_WinStreak - thumb_func_end sub_81104E8 - - thumb_func_start sub_8110538 -sub_8110538: @ 8110538 - push {r4,lr} - adds r4, r1, 0 - adds r3, r2, 0 - lsls r0, 24 - lsls r4, 24 - lsrs r4, 24 - lsls r3, 24 - lsrs r3, 24 - ldr r1, _08110564 @ =gSaveBlock2 + 0xA8 - lsrs r0, 23 - movs r2, 0x97 - lsls r2, 3 - adds r1, r2 - adds r0, r1 - ldrh r1, [r0] - ldr r0, _08110568 @ =gOtherText_Record - adds r2, r4, 0 - bl sub_81104E8 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08110564: .4byte gSaveBlock2 + 0xA8 -_08110568: .4byte gOtherText_Record - thumb_func_end sub_8110538 - - thumb_func_start sub_811056C -sub_811056C: @ 811056C - push {lr} - lsls r0, 24 - ldr r1, _08110588 @ =gSaveBlock2 - lsrs r0, 23 - ldr r2, _0811058C @ =0x00000574 - adds r1, r2 - adds r0, r1 - ldrh r0, [r0] - ldr r1, _08110590 @ =0x0000270f - cmp r0, r1 - bls _08110584 - adds r0, r1, 0 -_08110584: - pop {r1} - bx r1 - .align 2, 0 -_08110588: .4byte gSaveBlock2 -_0811058C: .4byte 0x00000574 -_08110590: .4byte 0x0000270f - thumb_func_end sub_811056C - - thumb_func_start sub_8110594 -sub_8110594: @ 8110594 - push {r4-r7,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - lsls r1, 24 - lsrs r6, r1, 24 - lsls r2, 24 - lsrs r7, r2, 24 - adds r0, r4, 0 - bl sub_811056C - lsls r0, 16 - lsrs r5, r0, 16 - adds r0, r4, 0 - bl sub_8110494 - cmp r0, 0x1 - bne _081105CC - ldr r0, _081105C8 @ =gOtherText_Current - adds r1, r5, 0 - adds r2, r6, 0 - adds r3, r7, 0 - bl sub_81104E8 - b _081105D8 - .align 2, 0 -_081105C8: .4byte gOtherText_Current -_081105CC: - ldr r0, _081105E0 @ =gOtherText_Prev - adds r1, r5, 0 - adds r2, r6, 0 - adds r3, r7, 0 - bl sub_81104E8 -_081105D8: - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_081105E0: .4byte gOtherText_Prev - thumb_func_end sub_8110594 - - thumb_func_start ShowBattleTowerRecords -ShowBattleTowerRecords: @ 81105E4 - push {r4,lr} - movs r0, 0x3 - movs r1, 0x1 - movs r2, 0x1B - movs r3, 0x11 - bl MenuDrawTextWindow - ldr r0, _08110658 @ =gOtherText_BattleTowerResults - movs r1, 0x3 - movs r2, 0x2 - movs r3, 0xC8 - bl sub_8072BD8 - ldr r0, _0811065C @ =gOtherText_Lv50 - movs r1, 0x5 - movs r2, 0x6 - bl MenuPrint - ldr r0, _08110660 @ =gOtherText_Lv100 - movs r1, 0x5 - movs r2, 0xC - bl MenuPrint - movs r4, 0x5 -_08110614: - lsls r1, r4, 24 - lsrs r1, 24 - movs r0, 0xAE - movs r2, 0xA - bl sub_8071F60 - adds r0, r4, 0x1 - lsls r0, 16 - lsrs r4, r0, 16 - cmp r4, 0x19 - bls _08110614 - movs r0, 0 - movs r1, 0xA - movs r2, 0x6 - bl sub_8110594 - movs r0, 0 - movs r1, 0xA - movs r2, 0x8 - bl sub_8110538 - movs r0, 0x1 - movs r1, 0xA - movs r2, 0xC - bl sub_8110594 - movs r0, 0x1 - movs r1, 0xA - movs r2, 0xE - bl sub_8110538 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08110658: .4byte gOtherText_BattleTowerResults -_0811065C: .4byte gOtherText_Lv50 -_08110660: .4byte gOtherText_Lv100 - thumb_func_end ShowBattleTowerRecords - - .align 2, 0 @ Don't pad with nop. diff --git a/asm/cable_club.s b/asm/cable_club.s index 7e5d19c24..68804ca21 100644 --- a/asm/cable_club.s +++ b/asm/cable_club.s @@ -1215,7 +1215,7 @@ sub_8083958: @ 8083958 ldrb r1, [r0] movs r0, 0x1 eors r0, r1 - bl sub_8110290 + bl UpdateLinkBattleRecords _0808397E: ldr r0, _08083998 @ =gMain ldr r1, _0808399C @ =sub_805465C diff --git a/asm/field_screen_effect.s b/asm/field_screen_effect.s deleted file mode 100644 index 4fbfae1a2..000000000 --- a/asm/field_screen_effect.s +++ /dev/null @@ -1,789 +0,0 @@ - .include "constants/gba_constants.inc" - .include "constants/species_constants.inc" - .include "asm/macros.inc" - - .syntax unified - - .text - - thumb_func_start sub_808136C -sub_808136C: @ 808136C - push {lr} - cmp r1, 0xA0 - bhi _08081394 - cmp r2, 0 - bge _08081378 - movs r2, 0 -_08081378: - cmp r2, 0xFF - ble _0808137E - movs r2, 0xFF -_0808137E: - cmp r3, 0 - bge _08081384 - movs r3, 0 -_08081384: - cmp r3, 0xFF - ble _0808138A - movs r3, 0xFF -_0808138A: - lsls r1, 1 - adds r1, r0 - lsls r0, r2, 8 - orrs r0, r3 - strh r0, [r1] -_08081394: - pop {r0} - bx r0 - thumb_func_end sub_808136C - - thumb_func_start sub_8081398 -sub_8081398: @ 8081398 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x4 - str r0, [sp] - mov r10, r1 - mov r9, r2 - adds r6, r3, 0 - mov r8, r6 - movs r7, 0 - cmp r6, 0 - blt _08081414 -_080813B4: - mov r0, r9 - subs r1, r0, r7 - mov r0, r10 - subs r4, r0, r6 - adds r5, r0, r6 - ldr r0, [sp] - adds r2, r4, 0 - adds r3, r5, 0 - bl sub_808136C - mov r0, r9 - adds r1, r0, r7 - ldr r0, [sp] - adds r2, r4, 0 - adds r3, r5, 0 - bl sub_808136C - mov r0, r9 - subs r1, r0, r6 - mov r0, r10 - subs r4, r0, r7 - adds r5, r0, r7 - ldr r0, [sp] - adds r2, r4, 0 - adds r3, r5, 0 - bl sub_808136C - mov r0, r9 - adds r1, r0, r6 - ldr r0, [sp] - adds r2, r4, 0 - adds r3, r5, 0 - bl sub_808136C - mov r1, r8 - adds r1, 0x1 - lsls r0, r7, 1 - subs r1, r0 - mov r8, r1 - adds r7, 0x1 - cmp r1, 0 - bge _08081410 - subs r1, r6, 0x1 - lsls r0, r1, 1 - add r8, r0 - adds r6, r1, 0 -_08081410: - cmp r6, r7 - bge _080813B4 -_08081414: - add sp, 0x4 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_8081398 - - thumb_func_start sub_8081424 -sub_8081424: @ 8081424 - push {r4-r6,lr} - lsls r0, 24 - lsrs r5, r0, 24 - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - ldr r1, _08081448 @ =gTasks + 0x8 - adds r4, r0, r1 - movs r1, 0 - ldrsh r0, [r4, r1] - cmp r0, 0x1 - beq _08081480 - cmp r0, 0x1 - bgt _0808144C - cmp r0, 0 - beq _08081452 - b _080814E2 - .align 2, 0 -_08081448: .4byte gTasks + 0x8 -_0808144C: - cmp r0, 0x2 - beq _080814D8 - b _080814E2 -_08081452: - ldr r0, _08081478 @ =gUnknown_03004DC0 - ldrb r1, [r0, 0x14] - lsls r0, r1, 4 - subs r0, r1 - lsls r0, 7 - ldr r1, _0808147C @ =gUnknown_03004DE0 - adds r0, r1 - movs r2, 0x2 - ldrsh r1, [r4, r2] - movs r3, 0x4 - ldrsh r2, [r4, r3] - movs r5, 0x6 - ldrsh r3, [r4, r5] - bl sub_8081398 - movs r0, 0x1 - strh r0, [r4] - b _080814E2 - .align 2, 0 -_08081478: .4byte gUnknown_03004DC0 -_0808147C: .4byte gUnknown_03004DE0 -_08081480: - ldr r0, _080814C8 @ =gUnknown_03004DC0 - ldrb r1, [r0, 0x14] - lsls r0, r1, 4 - subs r0, r1 - lsls r0, 7 - ldr r1, _080814CC @ =gUnknown_03004DE0 - adds r0, r1 - movs r6, 0x2 - ldrsh r1, [r4, r6] - movs r3, 0x4 - ldrsh r2, [r4, r3] - movs r6, 0x6 - ldrsh r3, [r4, r6] - bl sub_8081398 - movs r0, 0 - strh r0, [r4] - ldrh r0, [r4, 0xA] - ldrh r1, [r4, 0x6] - adds r0, r1 - strh r0, [r4, 0x6] - lsls r0, 16 - asrs r0, 16 - movs r2, 0x8 - ldrsh r1, [r4, r2] - cmp r0, r1 - ble _080814E2 - movs r3, 0xC - ldrsh r0, [r4, r3] - cmp r0, 0x1 - bne _080814D0 - bl remove_some_task - movs r0, 0x2 - strh r0, [r4] - b _080814E2 - .align 2, 0 -_080814C8: .4byte gUnknown_03004DC0 -_080814CC: .4byte gUnknown_03004DE0 -_080814D0: - adds r0, r5, 0 - bl DestroyTask - b _080814E2 -_080814D8: - bl dp12_8087EA4 - adds r0, r5, 0 - bl DestroyTask -_080814E2: - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_8081424 - - thumb_func_start sub_80814E8 -sub_80814E8: @ 80814E8 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r0, _0808150C @ =sub_8081424 - bl FuncIsActiveTask - lsls r0, 24 - cmp r0, 0 - bne _08081504 - bl EnableBothScriptContexts - adds r0, r4, 0 - bl DestroyTask -_08081504: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0808150C: .4byte sub_8081424 - thumb_func_end sub_80814E8 - - thumb_func_start sub_8081510 -sub_8081510: @ 8081510 - push {r4,lr} - ldr r4, _08081530 @ =sub_80814E8 - adds r0, r4, 0 - bl FuncIsActiveTask - lsls r0, 24 - cmp r0, 0 - bne _08081528 - adds r0, r4, 0 - movs r1, 0x50 - bl CreateTask -_08081528: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08081530: .4byte sub_80814E8 - thumb_func_end sub_8081510 - - thumb_func_start sub_8081534 -sub_8081534: @ 8081534 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - mov r8, r0 - mov r9, r1 - adds r5, r2, 0 - adds r4, r3, 0 - ldr r6, [sp, 0x1C] - ldr r0, [sp, 0x20] - lsls r0, 24 - lsrs r7, r0, 24 - ldr r0, _08081578 @ =sub_8081424 - movs r1, 0x50 - bl CreateTask - lsls r0, 24 - lsrs r2, r0, 24 - lsls r0, r2, 2 - adds r0, r2 - lsls r0, 3 - ldr r1, _0808157C @ =gTasks + 0x8 - adds r1, r0, r1 - strh r5, [r1, 0x6] - strh r4, [r1, 0x8] - mov r0, r8 - strh r0, [r1, 0x2] - mov r0, r9 - strh r0, [r1, 0x4] - strh r6, [r1, 0xC] - cmp r5, r4 - bge _08081580 - strh r7, [r1, 0xA] - b _08081584 - .align 2, 0 -_08081578: .4byte sub_8081424 -_0808157C: .4byte gTasks + 0x8 -_08081580: - negs r0, r7 - strh r0, [r1, 0xA] -_08081584: - adds r0, r2, 0 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_8081534 - - thumb_func_start sub_8081594 -sub_8081594: @ 8081594 - push {r4,r5,lr} - sub sp, 0x8 - lsls r0, 24 - lsrs r0, 24 - adds r4, r0, 0 - bl sav1_get_flash_used_on_map - lsls r0, 24 - lsrs r0, 24 - movs r5, 0 - cmp r4, 0 - bne _080815AE - movs r5, 0x1 -_080815AE: - ldr r1, _080815DC @ =gUnknown_0839ACDC - lsls r0, 1 - adds r0, r1 - ldrh r2, [r0] - lsls r0, r4, 1 - adds r0, r1 - ldrh r3, [r0] - str r5, [sp] - movs r0, 0x1 - str r0, [sp, 0x4] - movs r0, 0x78 - movs r1, 0x50 - bl sub_8081534 - bl sub_8081510 - bl ScriptContext2_Enable - add sp, 0x8 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080815DC: .4byte gUnknown_0839ACDC - thumb_func_end sub_8081594 - - thumb_func_start sub_80815E0 -sub_80815E0: @ 80815E0 - push {r4,lr} - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0 - beq _0808160E - ldr r4, _08081614 @ =gUnknown_03004DE0 - ldr r1, _08081618 @ =gUnknown_0839ACDC - lsls r0, 1 - adds r0, r1 - ldrh r3, [r0] - adds r0, r4, 0 - movs r1, 0x78 - movs r2, 0x50 - bl sub_8081398 - movs r0, 0xF0 - lsls r0, 3 - adds r1, r4, r0 - movs r2, 0xF0 - lsls r2, 1 - adds r0, r4, 0 - bl CpuFastSet -_0808160E: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08081614: .4byte gUnknown_03004DE0 -_08081618: .4byte gUnknown_0839ACDC - thumb_func_end sub_80815E0 - - thumb_func_start sub_808161C -sub_808161C: @ 808161C - push {r4,r5,lr} - sub sp, 0x4 - lsls r0, 24 - cmp r0, 0 - bne _0808162A - movs r1, 0x1F - b _08081630 -_0808162A: - movs r0, 0xF8 - lsls r0, 7 - adds r1, r0, 0 -_08081630: - mov r0, sp - strh r1, [r0] - movs r5, 0 - movs r4, 0xF0 - lsls r4, 16 -_0808163A: - lsrs r1, r4, 16 - mov r0, sp - movs r2, 0x2 - bl LoadPalette - movs r0, 0x80 - lsls r0, 9 - adds r4, r0 - adds r5, 0x1 - cmp r5, 0xF - ble _0808163A - add sp, 0x4 - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_808161C - - thumb_func_start sub_8081658 -sub_8081658: @ 8081658 - push {lr} - lsls r0, 16 - ldr r2, _08081678 @ =REG_BLDALPHA - ldrh r1, [r2] - lsls r1, 24 - lsrs r3, r1, 24 - ldrh r1, [r2] - lsrs r2, r1, 8 - cmp r0, 0 - beq _0808167C - cmp r3, 0 - beq _08081686 - subs r0, r3, 0x1 - lsls r0, 24 - lsrs r3, r0, 24 - b _08081686 - .align 2, 0 -_08081678: .4byte REG_BLDALPHA -_0808167C: - cmp r2, 0xF - bhi _08081686 - adds r0, r2, 0x1 - lsls r0, 24 - lsrs r2, r0, 24 -_08081686: - ldr r1, _0808169C @ =REG_BLDALPHA - lsls r0, r2, 8 - orrs r0, r3 - strh r0, [r1] - cmp r3, 0 - bne _080816A0 - cmp r2, 0x10 - bne _080816A0 - movs r0, 0x1 - b _080816A2 - .align 2, 0 -_0808169C: .4byte REG_BLDALPHA -_080816A0: - movs r0, 0 -_080816A2: - pop {r1} - bx r1 - thumb_func_end sub_8081658 - - thumb_func_start sub_80816A8 -sub_80816A8: @ 80816A8 - push {r4-r7,lr} - sub sp, 0x8 - lsls r0, 24 - lsrs r4, r0, 24 - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - ldr r1, _080816D0 @ =gTasks + 0x8 - adds r7, r0, r1 - movs r1, 0 - ldrsh r0, [r7, r1] - cmp r0, 0x7 - bls _080816C4 - b _08081892 -_080816C4: - lsls r0, 2 - ldr r1, _080816D4 @ =_080816D8 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_080816D0: .4byte gTasks + 0x8 -_080816D4: .4byte _080816D8 - .align 2, 0 -_080816D8: - .4byte _080816F8 - .4byte _08081790 - .4byte _080817BC - .4byte _080817D8 - .4byte _080817EE - .4byte _08081852 - .4byte _08081818 - .4byte _08081826 -_080816F8: - movs r2, 0x80 - lsls r2, 19 - ldrh r0, [r2] - strh r0, [r7, 0xC] - ldr r3, _0808176C @ =REG_BLDCNT - ldrh r0, [r3] - strh r0, [r7, 0xE] - ldr r6, _08081770 @ =REG_BLDALPHA - ldrh r0, [r6] - strh r0, [r7, 0x10] - ldr r5, _08081774 @ =REG_WININ - ldrh r0, [r5] - strh r0, [r7, 0x12] - ldr r4, _08081778 @ =REG_WINOUT - ldrh r0, [r4] - strh r0, [r7, 0x14] - ldrh r1, [r2] - ldr r0, _0808177C @ =0x0000bfff - ands r0, r1 - strh r0, [r2] - ldr r1, _08081780 @ =gUnknown_081E29E8 - ldrh r0, [r3] - ldrh r1, [r1] - orrs r0, r1 - strh r0, [r3] - ldr r2, _08081784 @ =0x0000070c - adds r0, r2, 0 - strh r0, [r6] - movs r0, 0x3F - strh r0, [r5] - movs r0, 0x1E - strh r0, [r4] - ldr r4, _08081788 @ =gUnknown_03004DE0 - movs r0, 0x4 - ldrsh r1, [r7, r0] - movs r0, 0x6 - ldrsh r2, [r7, r0] - adds r0, r4, 0 - movs r3, 0x1 - bl sub_8081398 - movs r2, 0xF0 - lsls r2, 3 - adds r1, r4, r2 - movs r2, 0xF0 - lsls r2, 1 - adds r0, r4, 0 - bl CpuFastSet - ldr r2, _0808178C @ =gUnknown_0839ACEC - ldr r0, [r2] - ldr r1, [r2, 0x4] - ldr r2, [r2, 0x8] - bl sub_80895F8 - movs r0, 0x1 - strh r0, [r7] - b _08081892 - .align 2, 0 -_0808176C: .4byte REG_BLDCNT -_08081770: .4byte REG_BLDALPHA -_08081774: .4byte REG_WININ -_08081778: .4byte REG_WINOUT -_0808177C: .4byte 0x0000bfff -_08081780: .4byte gUnknown_081E29E8 -_08081784: .4byte 0x0000070c -_08081788: .4byte gUnknown_03004DE0 -_0808178C: .4byte gUnknown_0839ACEC -_08081790: - movs r0, 0 - movs r1, 0 - movs r2, 0x1D - movs r3, 0x13 - bl MenuFillWindowRectWithBlankTile - ldrb r0, [r7, 0x2] - bl sub_808161C - movs r1, 0x4 - ldrsh r0, [r7, r1] - movs r2, 0x6 - ldrsh r1, [r7, r2] - movs r2, 0x1 - str r2, [sp] - movs r4, 0x2 - str r4, [sp, 0x4] - movs r3, 0xA0 - bl sub_8081534 - strh r4, [r7] - b _08081892 -_080817BC: - ldr r0, _080817D4 @ =sub_8081424 - bl FuncIsActiveTask - lsls r0, 24 - cmp r0, 0 - bne _08081892 - bl EnableBothScriptContexts - movs r0, 0x3 - strh r0, [r7] - b _08081892 - .align 2, 0 -_080817D4: .4byte sub_8081424 -_080817D8: - bl InstallCameraPanAheadCallback - movs r0, 0 - bl SetCameraPanningCallback - movs r0, 0 - strh r0, [r7, 0xA] - movs r0, 0x4 - strh r0, [r7, 0x8] - strh r0, [r7] - b _08081892 -_080817EE: - ldrh r0, [r7, 0x8] - subs r0, 0x1 - strh r0, [r7, 0x8] - lsls r0, 16 - cmp r0, 0 - bne _08081892 - movs r0, 0x4 - strh r0, [r7, 0x8] - ldrh r0, [r7, 0xA] - movs r1, 0x1 - eors r0, r1 - strh r0, [r7, 0xA] - movs r1, 0x4 - negs r1, r1 - cmp r0, 0 - beq _08081810 - movs r1, 0x4 -_08081810: - movs r0, 0 - bl SetCameraPanning - b _08081892 -_08081818: - bl InstallCameraPanAheadCallback - movs r0, 0x8 - strh r0, [r7, 0x8] - movs r0, 0x7 - strh r0, [r7] - b _08081892 -_08081826: - ldrh r0, [r7, 0x8] - subs r0, 0x1 - strh r0, [r7, 0x8] - lsls r0, 16 - cmp r0, 0 - bne _08081892 - movs r0, 0x8 - strh r0, [r7, 0x8] - ldrh r0, [r7, 0xA] - movs r1, 0x1 - eors r0, r1 - strh r0, [r7, 0xA] - ldrh r0, [r7, 0xA] - bl sub_8081658 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _08081892 - movs r0, 0x5 - strh r0, [r7] - b _08081892 -_08081852: - movs r0, 0 - movs r1, 0 - movs r2, 0x1D - movs r3, 0x13 - bl MenuZeroFillWindowRect - ldr r0, _0808189C @ =gWindowConfig_81E6CE4 - bl LoadFontDefaultPalette - ldr r1, _080818A0 @ =REG_WIN0H - movs r0, 0xFF - strh r0, [r1] - subs r1, 0x40 - ldrh r0, [r7, 0xC] - strh r0, [r1] - adds r1, 0x50 - ldrh r0, [r7, 0xE] - strh r0, [r1] - adds r1, 0x2 - ldrh r0, [r7, 0x10] - strh r0, [r1] - subs r1, 0xA - ldrh r0, [r7, 0x12] - strh r0, [r1] - adds r1, 0x2 - ldrh r0, [r7, 0x14] - strh r0, [r1] - bl EnableBothScriptContexts - adds r0, r4, 0 - bl DestroyTask -_08081892: - add sp, 0x8 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0808189C: .4byte gWindowConfig_81E6CE4 -_080818A0: .4byte REG_WIN0H - thumb_func_end sub_80816A8 - - thumb_func_start sub_80818A4 -sub_80818A4: @ 80818A4 - push {lr} - ldr r0, _080818CC @ =sub_80816A8 - movs r1, 0x50 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - ldr r0, _080818D0 @ =gTasks + 0x8 - adds r1, r0 - ldr r0, _080818D4 @ =gScriptResult - ldrh r0, [r0] - cmp r0, 0 - bne _080818D8 - strh r0, [r1, 0x2] - movs r0, 0x68 - b _080818F0 - .align 2, 0 -_080818CC: .4byte sub_80816A8 -_080818D0: .4byte gTasks + 0x8 -_080818D4: .4byte gScriptResult -_080818D8: - cmp r0, 0x1 - bne _080818E2 - strh r0, [r1, 0x2] - movs r0, 0x68 - b _080818F0 -_080818E2: - cmp r0, 0x2 - bne _080818EA - movs r0, 0 - b _080818EC -_080818EA: - movs r0, 0x1 -_080818EC: - strh r0, [r1, 0x2] - movs r0, 0x78 -_080818F0: - strh r0, [r1, 0x4] - movs r0, 0x50 - strh r0, [r1, 0x6] - pop {r0} - bx r0 - thumb_func_end sub_80818A4 - - thumb_func_start sub_80818FC -sub_80818FC: @ 80818FC - push {lr} - ldr r0, _0808191C @ =sub_80816A8 - bl FindTaskIdByFunc - lsls r0, 24 - lsrs r0, 24 - ldr r2, _08081920 @ =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - movs r0, 0x6 - strh r0, [r1, 0x8] - pop {r0} - bx r0 - .align 2, 0 -_0808191C: .4byte sub_80816A8 -_08081920: .4byte gTasks - thumb_func_end sub_80818FC - - thumb_func_start sub_8081924 -sub_8081924: @ 8081924 - push {lr} - bl sub_8054044 - ldr r0, _08081938 @ =task50_0807F0C8 - movs r1, 0x50 - bl CreateTask - pop {r0} - bx r0 - .align 2, 0 -_08081938: .4byte task50_0807F0C8 - thumb_func_end sub_8081924 - - thumb_func_start task50_0807F0C8 -task50_0807F0C8: @ 808193C - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - bl sub_8054034 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _08081958 - adds r0, r4, 0 - bl DestroyTask - bl EnableBothScriptContexts -_08081958: - pop {r4} - pop {r0} - bx r0 - thumb_func_end task50_0807F0C8 - - .align 2, 0 @ Don't pad with nop. diff --git a/asm/fldeff_flash.s b/asm/fldeff_flash.s deleted file mode 100644 index dcd485d9f..000000000 --- a/asm/fldeff_flash.s +++ /dev/null @@ -1,753 +0,0 @@ - .include "constants/gba_constants.inc" - .include "constants/species_constants.inc" - .include "asm/macros.inc" - - .syntax unified - - .text - - thumb_func_start SetUpFieldMove_Flash -SetUpFieldMove_Flash: @ 810CBB4 - push {lr} - ldr r0, _0810CBDC @ =gMapHeader - ldrb r0, [r0, 0x15] - cmp r0, 0x1 - bne _0810CBF4 - ldr r0, _0810CBE0 @ =0x00000828 - bl FlagGet - lsls r0, 24 - cmp r0, 0 - bne _0810CBF4 - ldr r1, _0810CBE4 @ =gFieldCallback - ldr r0, _0810CBE8 @ =sub_808AB90 - str r0, [r1] - ldr r1, _0810CBEC @ =gUnknown_03005CE4 - ldr r0, _0810CBF0 @ =sub_810CBFC - str r0, [r1] - movs r0, 0x1 - b _0810CBF6 - .align 2, 0 -_0810CBDC: .4byte gMapHeader -_0810CBE0: .4byte 0x00000828 -_0810CBE4: .4byte gFieldCallback -_0810CBE8: .4byte sub_808AB90 -_0810CBEC: .4byte gUnknown_03005CE4 -_0810CBF0: .4byte sub_810CBFC -_0810CBF4: - movs r0, 0 -_0810CBF6: - pop {r1} - bx r1 - thumb_func_end SetUpFieldMove_Flash - - thumb_func_start sub_810CBFC -sub_810CBFC: @ 810CBFC - push {lr} - bl oei_task_add - lsls r0, 24 - lsrs r0, 24 - ldr r2, _0810CC24 @ =gUnknown_0202FF84 - ldr r1, _0810CC28 @ =gLastFieldPokeMenuOpened - ldrb r1, [r1] - str r1, [r2] - ldr r2, _0810CC2C @ =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - ldr r2, _0810CC30 @ =sub_810CC34 - lsrs r0, r2, 16 - strh r0, [r1, 0x18] - strh r2, [r1, 0x1A] - pop {r0} - bx r0 - .align 2, 0 -_0810CC24: .4byte gUnknown_0202FF84 -_0810CC28: .4byte gLastFieldPokeMenuOpened -_0810CC2C: .4byte gTasks -_0810CC30: .4byte sub_810CC34 - thumb_func_end sub_810CBFC - - thumb_func_start sub_810CC34 -sub_810CC34: @ 810CC34 - push {lr} - movs r0, 0xCF - bl PlaySE - ldr r0, _0810CC4C @ =0x00000828 - bl FlagSet - ldr r0, _0810CC50 @ =gUnknown_081B694A - bl ScriptContext1_SetupScript - pop {r0} - bx r0 - .align 2, 0 -_0810CC4C: .4byte 0x00000828 -_0810CC50: .4byte gUnknown_081B694A - thumb_func_end sub_810CC34 - - thumb_func_start sub_810CC54 -sub_810CC54: @ 810CC54 - push {lr} - bl RunTasks - bl AnimateSprites - bl BuildOamBuffer - bl UpdatePaletteFade - pop {r0} - bx r0 - thumb_func_end sub_810CC54 - - thumb_func_start sub_810CC6C -sub_810CC6C: @ 810CC6C - push {lr} - bl LoadOam - bl ProcessSpriteCopyRequests - bl TransferPlttBuffer - pop {r0} - bx r0 - thumb_func_end sub_810CC6C - - thumb_func_start sub_810CC80 -sub_810CC80: @ 810CC80 - push {r4,lr} - sub sp, 0x8 - movs r0, 0 - bl SetVBlankCallback - movs r0, 0x80 - lsls r0, 19 - movs r1, 0 - strh r1, [r0] - adds r0, 0xC - strh r1, [r0] - subs r0, 0x2 - strh r1, [r0] - subs r0, 0x2 - strh r1, [r0] - adds r0, 0x10 - strh r1, [r0] - adds r0, 0x2 - strh r1, [r0] - subs r0, 0x6 - strh r1, [r0] - adds r0, 0x2 - strh r1, [r0] - subs r0, 0x6 - strh r1, [r0] - adds r0, 0x2 - strh r1, [r0] - mov r0, sp - strh r1, [r0] - ldr r1, _0810CD34 @ =0x040000d4 - str r0, [r1] - movs r0, 0xC0 - lsls r0, 19 - str r0, [r1, 0x4] - ldr r0, _0810CD38 @ =0x8100c000 - str r0, [r1, 0x8] - ldr r0, [r1, 0x8] - movs r4, 0 - str r4, [sp, 0x4] - add r0, sp, 0x4 - str r0, [r1] - movs r0, 0xE0 - lsls r0, 19 - str r0, [r1, 0x4] - ldr r0, _0810CD3C @ =0x85000100 - str r0, [r1, 0x8] - ldr r0, [r1, 0x8] - mov r0, sp - strh r4, [r0] - str r0, [r1] - ldr r0, _0810CD40 @ =0x05000002 - str r0, [r1, 0x4] - ldr r0, _0810CD44 @ =0x810001ff - str r0, [r1, 0x8] - ldr r0, [r1, 0x8] - bl ResetPaletteFade - bl ResetTasks - bl ResetSpriteData - ldr r3, _0810CD48 @ =0x04000208 - ldrh r2, [r3] - strh r4, [r3] - ldr r4, _0810CD4C @ =0x04000200 - ldrh r0, [r4] - movs r1, 0x1 - orrs r0, r1 - strh r0, [r4] - strh r2, [r3] - ldr r0, _0810CD50 @ =sub_810CC6C - bl SetVBlankCallback - ldr r0, _0810CD54 @ =sub_810CC54 - bl SetMainCallback2 - bl sub_810CD5C - lsls r0, 24 - cmp r0, 0 - bne _0810CD2A - ldr r0, _0810CD58 @ =gMain - ldr r0, [r0, 0x8] - bl SetMainCallback2 -_0810CD2A: - add sp, 0x8 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0810CD34: .4byte 0x040000d4 -_0810CD38: .4byte 0x8100c000 -_0810CD3C: .4byte 0x85000100 -_0810CD40: .4byte 0x05000002 -_0810CD44: .4byte 0x810001ff -_0810CD48: .4byte 0x04000208 -_0810CD4C: .4byte 0x04000200 -_0810CD50: .4byte sub_810CC6C -_0810CD54: .4byte sub_810CC54 -_0810CD58: .4byte gMain - thumb_func_end sub_810CC80 - - thumb_func_start sub_810CD5C -sub_810CD5C: @ 810CD5C - push {r4-r7,lr} - bl get_map_light_from_warp0 - lsls r0, 24 - lsrs r6, r0, 24 - bl sav1_map_get_light_level - lsls r0, 24 - lsrs r5, r0, 24 - movs r3, 0 - ldr r4, _0810CD9C @ =gUnknown_083F7FC4 - ldrb r0, [r4] - cmp r0, 0 - beq _0810CDB0 - adds r7, r4, 0 - adds r0, r4, 0x4 - mov r12, r0 -_0810CD7E: - lsls r2, r3, 3 - adds r1, r2, r7 - ldrb r0, [r1] - cmp r0, r6 - bne _0810CDA0 - ldrb r0, [r1, 0x1] - cmp r0, r5 - bne _0810CDA0 - mov r1, r12 - adds r0, r2, r1 - ldr r0, [r0] - bl _call_via_r0 - movs r0, 0x1 - b _0810CDB2 - .align 2, 0 -_0810CD9C: .4byte gUnknown_083F7FC4 -_0810CDA0: - adds r0, r3, 0x1 - lsls r0, 24 - lsrs r3, r0, 24 - lsls r0, r3, 3 - adds r0, r4 - ldrb r0, [r0] - cmp r0, 0 - bne _0810CD7E -_0810CDB0: - movs r0, 0 -_0810CDB2: - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_810CD5C - - thumb_func_start sub_810CDB8 -sub_810CDB8: @ 810CDB8 - push {r4-r6,lr} - lsls r0, 24 - lsls r1, 24 - lsrs r5, r0, 24 - lsrs r4, r1, 24 - movs r3, 0 - ldr r1, _0810CDE4 @ =gUnknown_083F7FC4 - ldrb r0, [r1] - cmp r0, 0 - beq _0810CDF8 - adds r6, r1, 0 -_0810CDCE: - lsls r0, r3, 3 - adds r2, r0, r6 - ldrb r0, [r2] - cmp r0, r5 - bne _0810CDE8 - ldrb r0, [r2, 0x1] - cmp r0, r4 - bne _0810CDE8 - ldrb r0, [r2, 0x2] - b _0810CDFA - .align 2, 0 -_0810CDE4: .4byte gUnknown_083F7FC4 -_0810CDE8: - adds r0, r3, 0x1 - lsls r0, 24 - lsrs r3, r0, 24 - lsls r0, r3, 3 - adds r0, r1 - ldrb r0, [r0] - cmp r0, 0 - bne _0810CDCE -_0810CDF8: - movs r0, 0 -_0810CDFA: - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_810CDB8 - - thumb_func_start fade_type_for_given_maplight_pair -fade_type_for_given_maplight_pair: @ 810CE00 - push {r4-r6,lr} - lsls r0, 24 - lsls r1, 24 - lsrs r5, r0, 24 - lsrs r4, r1, 24 - movs r3, 0 - ldr r1, _0810CE2C @ =gUnknown_083F7FC4 - ldrb r0, [r1] - cmp r0, 0 - beq _0810CE40 - adds r6, r1, 0 -_0810CE16: - lsls r0, r3, 3 - adds r2, r0, r6 - ldrb r0, [r2] - cmp r0, r5 - bne _0810CE30 - ldrb r0, [r2, 0x1] - cmp r0, r4 - bne _0810CE30 - ldrb r0, [r2, 0x3] - b _0810CE42 - .align 2, 0 -_0810CE2C: .4byte gUnknown_083F7FC4 -_0810CE30: - adds r0, r3, 0x1 - lsls r0, 24 - lsrs r3, r0, 24 - lsls r0, r3, 3 - adds r0, r1 - ldrb r0, [r0] - cmp r0, 0 - bne _0810CE16 -_0810CE40: - movs r0, 0 -_0810CE42: - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end fade_type_for_given_maplight_pair - - thumb_func_start sub_810CE48 -sub_810CE48: @ 810CE48 - push {lr} - ldr r0, _0810CE58 @ =sub_810CE5C - movs r1, 0 - bl CreateTask - pop {r0} - bx r0 - .align 2, 0 -_0810CE58: .4byte sub_810CE5C - thumb_func_end sub_810CE48 - - thumb_func_start sub_810CE5C -sub_810CE5C: @ 810CE5C - lsls r0, 24 - lsrs r0, 24 - ldr r2, _0810CE70 @ =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - ldr r0, _0810CE74 @ =sub_810CE78 - str r0, [r1] - bx lr - .align 2, 0 -_0810CE70: .4byte gTasks -_0810CE74: .4byte sub_810CE78 - thumb_func_end sub_810CE5C - - thumb_func_start sub_810CE78 -sub_810CE78: @ 810CE78 - push {r4-r6,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - movs r6, 0x80 - lsls r6, 19 - movs r5, 0 - strh r5, [r6] - ldr r0, _0810CEE8 @ =gCaveTransitionTiles - ldr r1, _0810CEEC @ =0x0600c000 - bl LZ77UnCompVram - ldr r0, _0810CEF0 @ =gCaveTransitionTilemap - ldr r1, _0810CEF4 @ =0x0600f800 - bl LZ77UnCompVram - ldr r0, _0810CEF8 @ =gCaveTransitionPalette_White - movs r1, 0xE0 - movs r2, 0x20 - bl LoadPalette - ldr r0, _0810CEFC @ =gUnknown_083F809C - movs r1, 0xE0 - movs r2, 0x10 - bl LoadPalette - ldr r1, _0810CF00 @ =REG_BLDCNT - ldr r2, _0810CF04 @ =0x00003e41 - adds r0, r2, 0 - strh r0, [r1] - ldr r0, _0810CF08 @ =REG_BLDALPHA - strh r5, [r0] - adds r0, 0x2 - strh r5, [r0] - subs r1, 0x48 - ldr r2, _0810CF0C @ =0x00001f0c - adds r0, r2, 0 - strh r0, [r1] - movs r1, 0x8A - lsls r1, 5 - adds r0, r1, 0 - strh r0, [r6] - ldr r1, _0810CF10 @ =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - ldr r1, _0810CF14 @ =sub_810CF18 - str r1, [r0] - movs r2, 0 - movs r1, 0x10 - strh r1, [r0, 0x8] - strh r2, [r0, 0xA] - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0810CEE8: .4byte gCaveTransitionTiles -_0810CEEC: .4byte 0x0600c000 -_0810CEF0: .4byte gCaveTransitionTilemap -_0810CEF4: .4byte 0x0600f800 -_0810CEF8: .4byte gCaveTransitionPalette_White -_0810CEFC: .4byte gUnknown_083F809C -_0810CF00: .4byte REG_BLDCNT -_0810CF04: .4byte 0x00003e41 -_0810CF08: .4byte REG_BLDALPHA -_0810CF0C: .4byte 0x00001f0c -_0810CF10: .4byte gTasks -_0810CF14: .4byte sub_810CF18 - thumb_func_end sub_810CE78 - - thumb_func_start sub_810CF18 -sub_810CF18: @ 810CF18 - push {lr} - lsls r0, 24 - lsrs r0, 24 - ldr r2, _0810CF44 @ =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r3, r1, r2 - ldrh r2, [r3, 0xA] - movs r1, 0x80 - lsls r1, 5 - adds r0, r2, r1 - lsls r0, 16 - lsrs r0, 16 - ldr r1, _0810CF48 @ =REG_BLDALPHA - strh r0, [r1] - cmp r2, 0x10 - bhi _0810CF4C - ldrh r0, [r3, 0xA] - adds r0, 0x1 - strh r0, [r3, 0xA] - b _0810CF54 - .align 2, 0 -_0810CF44: .4byte gTasks -_0810CF48: .4byte REG_BLDALPHA -_0810CF4C: - movs r0, 0 - strh r0, [r3, 0xC] - ldr r0, _0810CF58 @ =sub_810CF5C - str r0, [r3] -_0810CF54: - pop {r0} - bx r0 - .align 2, 0 -_0810CF58: .4byte sub_810CF5C - thumb_func_end sub_810CF18 - - thumb_func_start sub_810CF5C -sub_810CF5C: @ 810CF5C - push {r4,lr} - lsls r0, 24 - lsrs r0, 24 - ldr r2, _0810CF94 @ =REG_BLDALPHA - ldr r3, _0810CF98 @ =0x00001010 - adds r1, r3, 0 - strh r1, [r2] - ldr r2, _0810CF9C @ =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r4, r1, r2 - ldrh r1, [r4, 0xC] - cmp r1, 0x7 - bhi _0810CFA4 - adds r0, r1, 0x1 - strh r0, [r4, 0xC] - lsls r1, 1 - ldr r0, _0810CFA0 @ =gUnknown_083F809C - adds r0, r1, r0 - movs r2, 0x10 - subs r2, r1 - lsls r2, 16 - lsrs r2, 16 - movs r1, 0xE0 - bl LoadPalette - b _0810CFB6 - .align 2, 0 -_0810CF94: .4byte REG_BLDALPHA -_0810CF98: .4byte 0x00001010 -_0810CF9C: .4byte gTasks -_0810CFA0: .4byte gUnknown_083F809C -_0810CFA4: - ldr r0, _0810CFBC @ =gCaveTransitionPalette_White - movs r1, 0 - movs r2, 0x20 - bl LoadPalette - ldr r0, _0810CFC0 @ =sub_810CFC4 - str r0, [r4] - movs r0, 0x8 - strh r0, [r4, 0xC] -_0810CFB6: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0810CFBC: .4byte gCaveTransitionPalette_White -_0810CFC0: .4byte sub_810CFC4 - thumb_func_end sub_810CF5C - - thumb_func_start sub_810CFC4 -sub_810CFC4: @ 810CFC4 - push {lr} - lsls r0, 24 - lsrs r0, 24 - ldr r2, _0810CFE4 @ =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - ldrh r2, [r1, 0xC] - movs r3, 0xC - ldrsh r0, [r1, r3] - cmp r0, 0 - beq _0810CFE8 - subs r0, r2, 0x1 - strh r0, [r1, 0xC] - b _0810CFF0 - .align 2, 0 -_0810CFE4: .4byte gTasks -_0810CFE8: - ldr r0, _0810CFF4 @ =gMain - ldr r0, [r0, 0x8] - bl SetMainCallback2 -_0810CFF0: - pop {r0} - bx r0 - .align 2, 0 -_0810CFF4: .4byte gMain - thumb_func_end sub_810CFC4 - - thumb_func_start sub_810CFF8 -sub_810CFF8: @ 810CFF8 - push {lr} - ldr r0, _0810D008 @ =sub_810D00C - movs r1, 0 - bl CreateTask - pop {r0} - bx r0 - .align 2, 0 -_0810D008: .4byte sub_810D00C - thumb_func_end sub_810CFF8 - - thumb_func_start sub_810D00C -sub_810D00C: @ 810D00C - lsls r0, 24 - lsrs r0, 24 - ldr r2, _0810D020 @ =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - ldr r0, _0810D024 @ =sub_810D028 - str r0, [r1] - bx lr - .align 2, 0 -_0810D020: .4byte gTasks -_0810D024: .4byte sub_810D028 - thumb_func_end sub_810D00C - - thumb_func_start sub_810D028 -sub_810D028: @ 810D028 - push {r4-r6,lr} - adds r5, r0, 0 - lsls r5, 24 - lsrs r5, 24 - movs r6, 0x80 - lsls r6, 19 - movs r4, 0 - strh r4, [r6] - ldr r0, _0810D098 @ =gCaveTransitionTiles - ldr r1, _0810D09C @ =0x0600c000 - bl LZ77UnCompVram - ldr r0, _0810D0A0 @ =gCaveTransitionTilemap - ldr r1, _0810D0A4 @ =0x0600f800 - bl LZ77UnCompVram - ldr r0, _0810D0A8 @ =REG_BLDCNT - strh r4, [r0] - adds r0, 0x2 - strh r4, [r0] - adds r0, 0x2 - strh r4, [r0] - ldr r1, _0810D0AC @ =REG_BG0CNT - ldr r2, _0810D0B0 @ =0x00001f0c - adds r0, r2, 0 - strh r0, [r1] - movs r1, 0x8A - lsls r1, 5 - adds r0, r1, 0 - strh r0, [r6] - ldr r0, _0810D0B4 @ =gCaveTransitionPalette_White - movs r1, 0xE0 - movs r2, 0x20 - bl LoadPalette - ldr r0, _0810D0B8 @ =gCaveTransitionPalette_Black - movs r1, 0 - movs r2, 0x20 - bl LoadPalette - ldr r1, _0810D0BC @ =gTasks - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r0, r1 - ldr r1, _0810D0C0 @ =sub_810D0C4 - str r1, [r0] - movs r2, 0 - movs r1, 0x10 - strh r1, [r0, 0x8] - strh r2, [r0, 0xA] - strh r2, [r0, 0xC] - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0810D098: .4byte gCaveTransitionTiles -_0810D09C: .4byte 0x0600c000 -_0810D0A0: .4byte gCaveTransitionTilemap -_0810D0A4: .4byte 0x0600f800 -_0810D0A8: .4byte REG_BLDCNT -_0810D0AC: .4byte REG_BG0CNT -_0810D0B0: .4byte 0x00001f0c -_0810D0B4: .4byte gCaveTransitionPalette_White -_0810D0B8: .4byte gCaveTransitionPalette_Black -_0810D0BC: .4byte gTasks -_0810D0C0: .4byte sub_810D0C4 - thumb_func_end sub_810D028 - - thumb_func_start sub_810D0C4 -sub_810D0C4: @ 810D0C4 - push {lr} - lsls r0, 24 - lsrs r0, 24 - ldr r2, _0810D0F8 @ =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r3, r1, r2 - ldrh r1, [r3, 0xC] - cmp r1, 0xF - bhi _0810D100 - adds r2, r1, 0x1 - adds r0, r2, 0x1 - strh r0, [r3, 0xC] - movs r0, 0xF - subs r0, r1 - lsls r0, 1 - ldr r1, _0810D0FC @ =gUnknown_083F808C - adds r0, r1 - lsls r2, 17 - lsrs r2, 16 - movs r1, 0xE0 - bl LoadPalette - b _0810D114 - .align 2, 0 -_0810D0F8: .4byte gTasks -_0810D0FC: .4byte gUnknown_083F808C -_0810D100: - ldr r1, _0810D118 @ =REG_BLDALPHA - ldr r2, _0810D11C @ =0x00001010 - adds r0, r2, 0 - strh r0, [r1] - subs r1, 0x2 - ldr r2, _0810D120 @ =0x00003e41 - adds r0, r2, 0 - strh r0, [r1] - ldr r0, _0810D124 @ =sub_810D128 - str r0, [r3] -_0810D114: - pop {r0} - bx r0 - .align 2, 0 -_0810D118: .4byte REG_BLDALPHA -_0810D11C: .4byte 0x00001010 -_0810D120: .4byte 0x00003e41 -_0810D124: .4byte sub_810D128 - thumb_func_end sub_810D0C4 - - thumb_func_start sub_810D128 -sub_810D128: @ 810D128 - push {lr} - lsls r0, 24 - lsrs r0, 24 - ldr r2, _0810D158 @ =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r3, r1, r2 - ldrh r0, [r3, 0xA] - movs r1, 0x10 - subs r1, r0 - lsls r1, 16 - movs r2, 0x80 - lsls r2, 21 - adds r0, r1, r2 - lsrs r0, 16 - ldr r2, _0810D15C @ =REG_BLDALPHA - strh r0, [r2] - cmp r1, 0 - beq _0810D160 - ldrh r0, [r3, 0xA] - adds r0, 0x1 - strh r0, [r3, 0xA] - b _0810D172 - .align 2, 0 -_0810D158: .4byte gTasks -_0810D15C: .4byte REG_BLDALPHA -_0810D160: - ldr r0, _0810D178 @ =gCaveTransitionPalette_Black - movs r1, 0 - movs r2, 0x20 - bl LoadPalette - ldr r0, _0810D17C @ =gMain - ldr r0, [r0, 0x8] - bl SetMainCallback2 -_0810D172: - pop {r0} - bx r0 - .align 2, 0 -_0810D178: .4byte gCaveTransitionPalette_Black -_0810D17C: .4byte gMain - thumb_func_end sub_810D128 - - .align 2, 0 @ Don't pad with nop. diff --git a/asm/m4a_1.s b/asm/m4a_1.s index ffe2ca885..849cf5c2d 100644 --- a/asm/m4a_1.s +++ b/asm/m4a_1.s @@ -4,6 +4,8 @@ .syntax unified + .lcomm gUnknown_030007B8, 0x770 + .text thumb_func_start umul3232H32 diff --git a/asm/mon_markings.s b/asm/mon_markings.s deleted file mode 100644 index d227b17c1..000000000 --- a/asm/mon_markings.s +++ /dev/null @@ -1,1008 +0,0 @@ - .include "constants/gba_constants.inc" - .include "constants/species_constants.inc" - .include "asm/macros.inc" - - .syntax unified - - .text - - thumb_func_start sub_80F727C -sub_80F727C: @ 80F727C - ldr r1, _080F7288 @ =gUnknown_020388B8 - str r0, [r1] - movs r1, 0 - strb r1, [r0, 0xB] - bx lr - .align 2, 0 -_080F7288: .4byte gUnknown_020388B8 - thumb_func_end sub_80F727C - - thumb_func_start sub_80F728C -sub_80F728C: @ 80F728C - push {lr} - sub sp, 0x4 - ldr r0, _080F72C4 @ =gSaveBlock2 - ldrb r0, [r0, 0x14] - lsrs r0, 3 - bl GetTextWindowFrameGraphics - ldr r3, _080F72C8 @ =gUnknown_020388B8 - ldr r2, [r3] - ldr r1, [r0] - str r1, [r2, 0x28] - ldr r0, [r0, 0x4] - str r0, [r2, 0x2C] - ldr r0, _080F72CC @ =0x000010b0 - adds r2, r0 - movs r1, 0 - strb r1, [r2] - mov r0, sp - strh r1, [r0] - ldr r1, [r3] - adds r1, 0x30 - ldr r2, _080F72D0 @ =0x01000800 - bl CpuSet - add sp, 0x4 - pop {r0} - bx r0 - .align 2, 0 -_080F72C4: .4byte gSaveBlock2 -_080F72C8: .4byte gUnknown_020388B8 -_080F72CC: .4byte 0x000010b0 -_080F72D0: .4byte 0x01000800 - thumb_func_end sub_80F728C - - thumb_func_start sub_80F72D4 -sub_80F72D4: @ 80F72D4 - push {r4-r7,lr} - ldr r0, _080F72F4 @ =gUnknown_020388B8 - ldr r1, [r0] - ldr r2, _080F72F8 @ =0x000010b0 - adds r0, r1, r2 - ldrb r2, [r0] - lsls r0, r2, 8 - adds r0, 0x30 - adds r5, r1, r0 - cmp r2, 0xD - beq _080F73A4 - cmp r2, 0xD - bgt _080F72FC - cmp r2, 0 - beq _080F7302 - b _080F734C - .align 2, 0 -_080F72F4: .4byte gUnknown_020388B8 -_080F72F8: .4byte 0x000010b0 -_080F72FC: - cmp r2, 0xE - beq _080F73F0 - b _080F734C -_080F7302: - ldr r0, [r1, 0x28] - adds r1, r5, 0 - movs r2, 0x8 - bl CpuFastSet - movs r4, 0 - adds r7, r5, 0 - adds r7, 0xE0 -_080F7312: - ldr r6, _080F7344 @ =gUnknown_020388B8 - ldr r0, [r6] - ldr r0, [r0, 0x28] - adds r0, 0x20 - adds r4, 0x1 - lsls r1, r4, 5 - adds r1, r5, r1 - movs r2, 0x8 - bl CpuFastSet - lsls r4, 16 - lsrs r4, 16 - cmp r4, 0x5 - bls _080F7312 - ldr r0, [r6] - ldr r0, [r0, 0x28] - adds r0, 0x40 - adds r1, r7, 0 - movs r2, 0x8 - bl CpuFastSet - ldr r1, [r6] - ldr r0, _080F7348 @ =0x000010b0 - adds r1, r0 - b _080F7392 - .align 2, 0 -_080F7344: .4byte gUnknown_020388B8 -_080F7348: .4byte 0x000010b0 -_080F734C: - ldr r0, _080F739C @ =gUnknown_020388B8 - ldr r0, [r0] - ldr r0, [r0, 0x28] - adds r0, 0x60 - adds r1, r5, 0 - movs r2, 0x8 - bl CpuFastSet - movs r4, 0 - adds r7, r5, 0 - adds r7, 0xE0 -_080F7362: - ldr r6, _080F739C @ =gUnknown_020388B8 - ldr r0, [r6] - ldr r0, [r0, 0x28] - adds r0, 0x80 - adds r4, 0x1 - lsls r1, r4, 5 - adds r1, r5, r1 - movs r2, 0x8 - bl CpuFastSet - lsls r4, 16 - lsrs r4, 16 - cmp r4, 0x5 - bls _080F7362 - ldr r0, [r6] - ldr r0, [r0, 0x28] - adds r0, 0xA0 - adds r1, r7, 0 - movs r2, 0x8 - bl CpuFastSet - ldr r1, [r6] - ldr r2, _080F73A0 @ =0x000010b0 - adds r1, r2 -_080F7392: - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - b _080F73FC - .align 2, 0 -_080F739C: .4byte gUnknown_020388B8 -_080F73A0: .4byte 0x000010b0 -_080F73A4: - ldr r0, [r1, 0x28] - adds r0, 0xC0 - adds r1, r5, 0 - movs r2, 0x8 - bl CpuFastSet - movs r4, 0 - adds r7, r5, 0 - adds r7, 0xE0 -_080F73B6: - ldr r6, _080F73F4 @ =gUnknown_020388B8 - ldr r0, [r6] - ldr r0, [r0, 0x28] - adds r0, 0xE0 - adds r4, 0x1 - lsls r1, r4, 5 - adds r1, r5, r1 - movs r2, 0x8 - bl CpuFastSet - lsls r4, 16 - lsrs r4, 16 - cmp r4, 0x5 - bls _080F73B6 - ldr r0, [r6] - ldr r0, [r0, 0x28] - movs r1, 0x80 - lsls r1, 1 - adds r0, r1 - adds r1, r7, 0 - movs r2, 0x8 - bl CpuFastSet - ldr r1, [r6] - ldr r2, _080F73F8 @ =0x000010b0 - adds r1, r2 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] -_080F73F0: - movs r0, 0 - b _080F73FE - .align 2, 0 -_080F73F4: .4byte gUnknown_020388B8 -_080F73F8: .4byte 0x000010b0 -_080F73FC: - movs r0, 0x1 -_080F73FE: - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_80F72D4 - - thumb_func_start sub_80F7404 -sub_80F7404: @ 80F7404 - push {lr} - bl sub_80F728C -_080F740A: - bl sub_80F72D4 - lsls r0, 24 - cmp r0, 0 - bne _080F740A - pop {r0} - bx r0 - thumb_func_end sub_80F7404 - - thumb_func_start sub_80F7418 -sub_80F7418: @ 80F7418 - push {r4-r6,lr} - lsls r1, 16 - lsrs r5, r1, 16 - lsls r2, 16 - lsrs r6, r2, 16 - ldr r2, _080F746C @ =gUnknown_020388B8 - ldr r3, [r2] - movs r1, 0 - strb r1, [r3, 0x5] - ldr r1, [r2] - strb r0, [r1, 0x4] - movs r3, 0 - adds r4, r2, 0 - movs r2, 0x1 -_080F7434: - ldr r0, [r4] - adds r1, r0, 0x6 - adds r1, r3 - ldrb r0, [r0, 0x4] - asrs r0, r3 - ands r0, r2 - strb r0, [r1] - adds r0, r3, 0x1 - lsls r0, 16 - lsrs r3, r0, 16 - cmp r3, 0x3 - bls _080F7434 - bl DestroyMenuCursor - lsls r0, r5, 16 - asrs r0, 16 - lsls r1, r6, 16 - asrs r1, 16 - ldr r2, _080F746C @ =gUnknown_020388B8 - ldr r3, [r2] - ldrh r2, [r3] - ldrh r3, [r3, 0x2] - bl sub_80F761C - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080F746C: .4byte gUnknown_020388B8 - thumb_func_end sub_80F7418 - - thumb_func_start sub_80F7470 -sub_80F7470: @ 80F7470 - push {r4,r5,lr} - movs r4, 0 - ldr r5, _080F74FC @ =gUnknown_020388B8 -_080F7476: - ldr r0, [r5] - ldrh r0, [r0] - adds r0, r4, r0 - lsls r0, 16 - lsrs r0, 16 - bl FreeSpriteTilesByTag - adds r0, r4, 0x1 - lsls r0, 16 - lsrs r4, r0, 16 - cmp r4, 0x2 - bls _080F7476 - ldr r4, _080F74FC @ =gUnknown_020388B8 - ldr r0, [r4] - ldrh r0, [r0, 0x2] - bl FreeSpritePaletteByTag - ldr r0, [r4] - ldrh r0, [r0, 0x2] - adds r0, 0x1 - lsls r0, 16 - lsrs r0, 16 - bl FreeSpritePaletteByTag - movs r4, 0 -_080F74A8: - ldr r0, _080F74FC @ =gUnknown_020388B8 - ldr r0, [r0] - lsls r1, r4, 2 - adds r0, 0xC - adds r0, r1 - ldr r0, [r0] - cmp r0, 0 - beq _080F74F6 - bl DestroySprite - adds r0, r4, 0x1 - lsls r0, 16 - lsrs r4, r0, 16 - cmp r4, 0x1 - bls _080F74A8 - movs r4, 0 -_080F74C8: - ldr r5, _080F74FC @ =gUnknown_020388B8 - ldr r0, [r5] - lsls r1, r4, 2 - adds r0, 0x14 - adds r0, r1 - ldr r0, [r0] - cmp r0, 0 - beq _080F74F6 - bl DestroySprite - adds r0, r4, 0x1 - lsls r0, 16 - lsrs r4, r0, 16 - cmp r4, 0x3 - bls _080F74C8 - bl DestroyMenuCursor - ldr r0, [r5] - ldr r0, [r0, 0x24] - cmp r0, 0 - beq _080F74F6 - bl DestroySprite -_080F74F6: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080F74FC: .4byte gUnknown_020388B8 - thumb_func_end sub_80F7470 - - thumb_func_start sub_80F7500 -sub_80F7500: @ 80F7500 - push {r4,r5,lr} - sub sp, 0x30 - ldr r4, _080F7580 @ =gUnknown_020388B8 - ldr r2, [r4] - adds r0, r2, 0 - adds r0, 0x30 - str r0, [sp, 0x18] - add r1, sp, 0x1C - movs r5, 0 - movs r0, 0x80 - lsls r0, 5 - strh r0, [r1] - ldrh r1, [r2] - mov r0, sp - adds r0, 0x1E - strh r1, [r0] - add r1, sp, 0x20 - ldr r0, _080F7584 @ =gPokenavConditionMenuMisc_Gfx - str r0, [sp, 0x20] - movs r0, 0xA4 - lsls r0, 3 - strh r0, [r1, 0x4] - ldrh r0, [r2] - adds r0, 0x1 - strh r0, [r1, 0x6] - add r0, sp, 0x28 - movs r1, 0 - movs r2, 0x8 - bl memset - add r1, sp, 0x18 - mov r0, sp - movs r2, 0x18 - bl memcpy - ldr r0, [r4] - ldrb r0, [r0, 0xB] - cmp r0, 0 - beq _080F7558 - mov r0, sp - bl LoadTilesForSpriteSheets - ldr r0, [r4] - strb r5, [r0, 0xB] -_080F7558: - ldr r0, _080F7588 @ =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x40 - ands r0, r1 - cmp r0, 0 - beq _080F758C - movs r0, 0x5 - bl PlaySE - ldr r1, [r4] - ldrb r0, [r1, 0x5] - subs r0, 0x1 - strb r0, [r1, 0x5] - lsls r0, 24 - cmp r0, 0 - bge _080F75FE - ldr r1, [r4] - movs r0, 0x5 - strb r0, [r1, 0x5] - b _080F75FE - .align 2, 0 -_080F7580: .4byte gUnknown_020388B8 -_080F7584: .4byte gPokenavConditionMenuMisc_Gfx -_080F7588: .4byte gMain -_080F758C: - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _080F75B0 - movs r0, 0x5 - bl PlaySE - ldr r1, [r4] - ldrb r0, [r1, 0x5] - adds r0, 0x1 - strb r0, [r1, 0x5] - lsls r0, 24 - asrs r0, 24 - cmp r0, 0x5 - ble _080F75FE - ldr r0, [r4] - strb r5, [r0, 0x5] - b _080F75FE -_080F75B0: - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _080F7602 - movs r0, 0x5 - bl PlaySE - ldr r0, [r4] - movs r1, 0x5 - ldrsb r1, [r0, r1] - cmp r1, 0x4 - beq _080F75DC - cmp r1, 0x5 - beq _080F7610 - adds r0, 0x6 - adds r1, r0, r1 - movs r2, 0 - ldrb r0, [r1] - cmp r0, 0 - bne _080F75FC - movs r2, 0x1 - b _080F75FC -_080F75DC: - strb r5, [r0, 0x4] - movs r3, 0 -_080F75E0: - ldr r2, [r4] - adds r0, r2, 0x6 - adds r0, r3 - ldrb r0, [r0] - lsls r0, r3 - ldrb r1, [r2, 0x4] - orrs r0, r1 - strb r0, [r2, 0x4] - adds r0, r3, 0x1 - lsls r0, 16 - lsrs r3, r0, 16 - cmp r3, 0x3 - bls _080F75E0 - b _080F7610 -_080F75FC: - strb r2, [r1] -_080F75FE: - movs r0, 0x1 - b _080F7612 -_080F7602: - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _080F75FE - movs r0, 0x5 - bl PlaySE -_080F7610: - movs r0, 0 -_080F7612: - add sp, 0x30 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_80F7500 - - thumb_func_start sub_80F761C -sub_80F761C: @ 80F761C - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x5C - adds r5, r2, 0 - lsls r0, 16 - lsrs r0, 16 - str r0, [sp, 0x4C] - lsls r1, 16 - lsrs r1, 16 - str r1, [sp, 0x50] - lsls r5, 16 - lsrs r5, 16 - lsls r3, 16 - lsrs r3, 16 - str r3, [sp, 0x54] - ldr r0, _080F7820 @ =gUnknown_020388B8 - mov r8, r0 - ldr r0, [r0] - adds r0, 0x30 - str r0, [sp, 0x1C] - add r1, sp, 0x20 - movs r2, 0 - mov r9, r2 - movs r0, 0x80 - lsls r0, 5 - strh r0, [r1] - mov r0, sp - adds r0, 0x22 - strh r5, [r0] - add r1, sp, 0x24 - ldr r0, _080F7824 @ =gPokenavConditionMenuMisc_Gfx - str r0, [sp, 0x24] - movs r0, 0xA4 - lsls r0, 3 - strh r0, [r1, 0x4] - adds r0, r5, 0x1 - strh r0, [r1, 0x6] - add r0, sp, 0x2C - movs r1, 0 - movs r2, 0x8 - bl memset - add r6, sp, 0x1C - add r0, sp, 0x4 - adds r1, r6, 0 - movs r2, 0x18 - bl memcpy - mov r3, r8 - ldr r0, [r3] - ldr r0, [r0, 0x2C] - str r0, [sp, 0x34] - add r0, sp, 0x38 - add r1, sp, 0x54 - ldrh r1, [r1] - strh r1, [r0] - add r1, sp, 0x3C - ldr r0, _080F7828 @ =gUnknown_08E966B8 - str r0, [sp, 0x3C] - ldr r0, [sp, 0x54] - adds r0, 0x1 - strh r0, [r1, 0x4] - add r0, sp, 0x44 - movs r1, 0 - movs r2, 0x8 - bl memset - add r4, sp, 0x34 - adds r0, r6, 0 - adds r1, r4, 0 - movs r2, 0x18 - bl memcpy - strh r5, [r4] - add r2, sp, 0x54 - ldrh r2, [r2] - strh r2, [r4, 0x2] - ldr r0, _080F782C @ =gOamData_83E5214 - str r0, [r4, 0x4] - ldr r0, _080F7830 @ =gSpriteAnimTable_83E52AC - str r0, [r4, 0x8] - mov r3, r9 - str r3, [r4, 0xC] - ldr r0, _080F7834 @ =gDummySpriteAffineAnimTable - str r0, [r4, 0x10] - ldr r0, _080F7838 @ =nullsub_65 - str r0, [r4, 0x14] - mov r0, r8 - ldr r1, [r0] - movs r0, 0x1 - strb r0, [r1, 0xB] - add r0, sp, 0x4 - bl AllocTilesForSpriteSheets - adds r0, r6, 0 - bl LoadSpritePalettes - movs r5, 0 - ldr r1, [sp, 0x4C] - lsls r0, r1, 16 - movs r2, 0x80 - lsls r2, 14 - adds r2, r0 - mov r8, r2 - str r0, [sp, 0x58] - ldr r3, [sp, 0x50] - lsls r0, r3, 16 - movs r1, 0x80 - lsls r1, 14 - adds r7, r0, r1 - mov r9, r0 -_080F7700: - adds r0, r4, 0 - mov r2, r8 - asrs r1, r2, 16 - asrs r2, r7, 16 - movs r3, 0x2 - bl CreateSprite - lsls r0, 24 - lsrs r3, r0, 24 - cmp r3, 0x40 - bne _080F7718 - b _080F7850 -_080F7718: - ldr r6, _080F7820 @ =gUnknown_020388B8 - ldr r2, [r6] - lsls r0, r5, 2 - adds r2, 0xC - adds r2, r0 - lsls r0, r3, 4 - adds r0, r3 - lsls r0, 2 - ldr r1, _080F783C @ =gSprites - adds r0, r1 - str r0, [r2] - lsls r1, r5, 24 - lsrs r1, 24 - bl StartSpriteAnim - adds r0, r5, 0x1 - lsls r0, 16 - lsrs r5, r0, 16 - cmp r5, 0x1 - bls _080F7700 - ldr r0, [r6] - ldr r1, [r0, 0x10] - mov r3, r9 - asrs r0, r3, 16 - adds r0, 0x60 - strh r0, [r1, 0x22] - ldrh r0, [r4] - adds r0, 0x1 - strh r0, [r4] - ldrh r0, [r4, 0x2] - adds r0, 0x1 - strh r0, [r4, 0x2] - ldr r0, _080F7840 @ =gSpriteAnimTable_83E5274 - str r0, [r4, 0x8] - ldr r0, _080F7844 @ =sub_80F78CC - str r0, [r4, 0x14] - ldr r0, _080F7848 @ =gOamData_83E521C - str r0, [r4, 0x4] - movs r5, 0 - ldr r0, [sp, 0x58] - movs r1, 0x80 - lsls r1, 14 - adds r0, r1 - mov r10, r0 -_080F7770: - lsls r2, r5, 4 - adds r2, 0x10 - mov r3, r9 - asrs r3, 16 - mov r8, r3 - add r2, r8 - lsls r2, 16 - asrs r2, 16 - adds r0, r4, 0 - mov r3, r10 - asrs r1, r3, 16 - movs r3, 0x1 - bl CreateSprite - lsls r0, 24 - lsrs r3, r0, 24 - cmp r3, 0x40 - beq _080F7860 - ldr r6, _080F7820 @ =gUnknown_020388B8 - ldr r1, [r6] - lsls r0, r5, 2 - adds r1, 0x14 - adds r1, r0 - lsls r0, r3, 4 - adds r0, r3 - lsls r0, 2 - ldr r7, _080F783C @ =gSprites - adds r0, r7 - str r0, [r1] - strh r5, [r0, 0x2E] - adds r0, r5, 0x1 - lsls r0, 16 - lsrs r5, r0, 16 - cmp r5, 0x3 - bls _080F7770 - ldr r0, _080F784C @ =SpriteCallbackDummy - str r0, [r4, 0x14] - adds r0, r4, 0 - movs r1, 0 - movs r2, 0 - movs r3, 0x1 - bl CreateSprite - lsls r0, 24 - lsrs r3, r0, 24 - cmp r3, 0x40 - beq _080F7874 - ldr r1, [r6] - lsls r0, r3, 4 - adds r0, r3 - lsls r0, 2 - adds r0, r7 - str r0, [r1, 0x24] - ldrb r2, [r0, 0x1] - movs r1, 0x3F - ands r1, r2 - movs r2, 0x40 - orrs r1, r2 - strb r1, [r0, 0x1] - ldr r0, [r6] - ldr r2, [r0, 0x24] - ldrb r0, [r2, 0x3] - movs r1, 0xC0 - orrs r0, r1 - strb r0, [r2, 0x3] - ldr r0, [r6] - ldr r0, [r0, 0x24] - movs r1, 0x9 - bl StartSpriteAnim - ldr r1, [r6] - ldr r2, [r1, 0x24] - ldr r3, [sp, 0x58] - asrs r0, r3, 16 -.ifdef ENGLISH - adds r0, 0x20 -.else - adds r0, 0x18 -.endif - strh r0, [r2, 0x20] - ldr r2, [r1, 0x24] - mov r0, r8 - adds r0, 0x50 - strh r0, [r2, 0x22] - ldr r0, [r1, 0x24] - movs r1, 0x1 - movs r2, 0x2 - movs r3, 0 - bl CalcCenterToCornerVec - b _080F787A - .align 2, 0 -_080F7820: .4byte gUnknown_020388B8 -_080F7824: .4byte gPokenavConditionMenuMisc_Gfx -_080F7828: .4byte gUnknown_08E966B8 -_080F782C: .4byte gOamData_83E5214 -_080F7830: .4byte gSpriteAnimTable_83E52AC -_080F7834: .4byte gDummySpriteAffineAnimTable -_080F7838: .4byte nullsub_65 -_080F783C: .4byte gSprites -_080F7840: .4byte gSpriteAnimTable_83E5274 -_080F7844: .4byte sub_80F78CC -_080F7848: .4byte gOamData_83E521C -_080F784C: .4byte SpriteCallbackDummy -_080F7850: - ldr r0, _080F785C @ =gUnknown_020388B8 - ldr r0, [r0] - lsls r1, r5, 2 - adds r0, 0xC - b _080F7868 - .align 2, 0 -_080F785C: .4byte gUnknown_020388B8 -_080F7860: - ldr r0, _080F7870 @ =gUnknown_020388B8 - ldr r0, [r0] - lsls r1, r5, 2 - adds r0, 0x14 -_080F7868: - adds r0, r1 - movs r1, 0 - str r1, [r0] - b _080F78B0 - .align 2, 0 -_080F7870: .4byte gUnknown_020388B8 -_080F7874: - ldr r1, [r6] - movs r0, 0 - str r0, [r1, 0x24] -_080F787A: - ldr r4, _080F78C0 @ =gUnknown_020388B8 - ldr r1, [r4] - ldr r0, [sp, 0x50] - adds r0, 0x8 - strb r0, [r1, 0xA] - ldr r1, [sp, 0x54] - adds r1, 0x1 - lsls r1, 16 - lsrs r1, 16 - movs r0, 0x30 - str r0, [sp] - movs r0, 0 - movs r2, 0xF - movs r3, 0 - bl sub_814A5C0 - ldr r0, [sp, 0x4C] - adds r0, 0x8 - lsls r0, 24 - lsrs r0, 24 - ldr r1, [r4] - ldrb r1, [r1, 0xA] - bl sub_814A880 - ldr r0, _080F78C4 @ =sub_80F7908 - bl sub_814AABC -_080F78B0: - add sp, 0x5C - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080F78C0: .4byte gUnknown_020388B8 -_080F78C4: .4byte sub_80F7908 - thumb_func_end sub_80F761C - - thumb_func_start nullsub_65 -nullsub_65: @ 80F78C8 - bx lr - thumb_func_end nullsub_65 - - thumb_func_start sub_80F78CC -sub_80F78CC: @ 80F78CC - push {lr} - adds r2, r0, 0 - ldr r0, _080F78F4 @ =gUnknown_020388B8 - ldr r0, [r0] - movs r3, 0x2E - ldrsh r1, [r2, r3] - adds r0, 0x6 - adds r0, r1 - ldrb r0, [r0] - cmp r0, 0 - beq _080F78F8 - lsls r1, 1 - adds r1, 0x1 - lsls r1, 24 - lsrs r1, 24 - adds r0, r2, 0 - bl StartSpriteAnim - b _080F7902 - .align 2, 0 -_080F78F4: .4byte gUnknown_020388B8 -_080F78F8: - lsls r1, 25 - lsrs r1, 24 - adds r0, r2, 0 - bl StartSpriteAnim -_080F7902: - pop {r0} - bx r0 - thumb_func_end sub_80F78CC - - thumb_func_start sub_80F7908 -sub_80F7908: @ 80F7908 - ldr r1, _080F791C @ =gUnknown_020388B8 - ldr r2, [r1] - movs r1, 0x5 - ldrsb r1, [r2, r1] - lsls r1, 4 - ldrb r2, [r2, 0xA] - adds r1, r2 - strh r1, [r0, 0x22] - bx lr - .align 2, 0 -_080F791C: .4byte gUnknown_020388B8 - thumb_func_end sub_80F7908 - - thumb_func_start sub_80F7920 -sub_80F7920: @ 80F7920 - push {lr} - lsls r0, 16 - lsrs r0, 16 - lsls r1, 16 - lsrs r1, 16 - cmp r2, 0 - bne _080F7930 - ldr r2, _080F793C @ =gUnknown_083E49F4 -_080F7930: - movs r3, 0x10 - bl sub_80F7960 - pop {r1} - bx r1 - .align 2, 0 -_080F793C: .4byte gUnknown_083E49F4 - thumb_func_end sub_80F7920 - - thumb_func_start sub_80F7940 -sub_80F7940: @ 80F7940 - push {lr} - lsls r0, 16 - lsrs r0, 16 - lsls r1, 16 - lsrs r1, 16 - cmp r2, 0 - bne _080F7950 - ldr r2, _080F795C @ =gUnknown_083E49F4 -_080F7950: - movs r3, 0x1 - bl sub_80F7960 - pop {r1} - bx r1 - .align 2, 0 -_080F795C: .4byte gUnknown_083E49F4 - thumb_func_end sub_80F7940 - - thumb_func_start sub_80F7960 -sub_80F7960: @ 80F7960 - push {r4-r6,lr} - mov r6, r8 - push {r6} - sub sp, 0x28 - lsls r0, 16 - lsls r1, 16 - lsrs r1, 16 - ldr r4, _080F79DC @ =gUnknown_083E4A14 - str r4, [sp, 0x18] - movs r4, 0x80 - add r5, sp, 0x18 - lsrs r6, r0, 16 - orrs r0, r4 - str r0, [r5, 0x4] - str r2, [sp, 0x20] - ldr r0, _080F79E0 @ =0xffff0000 - mov r8, r0 - add r4, sp, 0x20 - ldr r0, [r4, 0x4] - mov r2, r8 - ands r0, r2 - orrs r0, r1 - str r0, [r4, 0x4] - mov r0, sp - movs r2, 0 - strh r6, [r0] - strh r1, [r0, 0x2] - ldr r0, _080F79E4 @ =gOamData_83E52B4 - str r0, [sp, 0x4] - ldr r0, _080F79E8 @ =gSpriteAnimTable_83E533C - str r0, [sp, 0x8] - str r2, [sp, 0xC] - ldr r0, _080F79EC @ =gDummySpriteAffineAnimTable - str r0, [sp, 0x10] - ldr r0, _080F79F0 @ =nullsub_65 - str r0, [sp, 0x14] - lsls r3, 23 - lsrs r3, 16 - ldr r0, [r5, 0x4] - mov r1, r8 - ands r0, r1 - orrs r0, r3 - str r0, [r5, 0x4] - adds r0, r5, 0 - bl LoadSpriteSheet - adds r0, r4, 0 - bl LoadSpritePalette - mov r0, sp - movs r1, 0 - movs r2, 0 - movs r3, 0 - bl CreateSprite - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0x40 - bne _080F79F4 - movs r0, 0 - b _080F79FE - .align 2, 0 -_080F79DC: .4byte gUnknown_083E4A14 -_080F79E0: .4byte 0xffff0000 -_080F79E4: .4byte gOamData_83E52B4 -_080F79E8: .4byte gSpriteAnimTable_83E533C -_080F79EC: .4byte gDummySpriteAffineAnimTable -_080F79F0: .4byte nullsub_65 -_080F79F4: - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, _080F7A0C @ =gSprites - adds r0, r1 -_080F79FE: - add sp, 0x28 - pop {r3} - mov r8, r3 - pop {r4-r6} - pop {r1} - bx r1 - .align 2, 0 -_080F7A0C: .4byte gSprites - thumb_func_end sub_80F7960 - - thumb_func_start sub_80F7A10 -sub_80F7A10: @ 80F7A10 - lsls r0, 24 - lsrs r0, 17 - ldr r2, _080F7A28 @ =gUnknown_083E4A14 - adds r0, r2 - ldr r2, _080F7A2C @ =0x040000d4 - str r0, [r2] - str r1, [r2, 0x4] - ldr r0, _080F7A30 @ =0x80000040 - str r0, [r2, 0x8] - ldr r0, [r2, 0x8] - bx lr - .align 2, 0 -_080F7A28: .4byte gUnknown_083E4A14 -_080F7A2C: .4byte 0x040000d4 -_080F7A30: .4byte 0x80000040 - thumb_func_end sub_80F7A10 - - .align 2, 0 @ Don't pad with nop. diff --git a/asm/pokedex_area_screen.s b/asm/pokedex_area_screen.s index bd8db8a2c..542eed201 100644 --- a/asm/pokedex_area_screen.s +++ b/asm/pokedex_area_screen.s @@ -92,7 +92,7 @@ _08110720: ldr r4, _0811073C @ =0x020006e8 adds r0, r4, 0 movs r1, 0 - bl sub_80FA8EC + bl InitRegionMap movs r0, 0x88 lsls r0, 4 adds r4, r0 @@ -115,7 +115,7 @@ _08110746: _08110752: movs r0, 0x1 movs r1, 0x1 - bl sub_80FBCF0 + bl CreateRegionMapPlayerIcon movs r1, 0x8 negs r1, r1 movs r0, 0 @@ -1700,7 +1700,7 @@ _08111344: lsls r0, 24 cmp r0, 0 bne _08111358 - bl sub_80FAB10 + bl FreeRegionMapIconResources ldr r0, [r4, 0x4] bl SetMainCallback2 _08111358: @@ -1740,7 +1740,7 @@ _08111390: lsls r0, 24 cmp r0, 0 bne _081113A4 - bl sub_80FAB10 + bl FreeRegionMapIconResources ldr r0, [r4, 0x8] bl SetMainCallback2 _081113A4: @@ -1859,7 +1859,7 @@ _08111496: ldr r4, _081114B4 @ =0x020006e8 adds r0, r4, 0 movs r1, 0 - bl sub_80FA8EC + bl InitRegionMap movs r0, 0x88 lsls r0, 4 adds r4, r0 @@ -1882,7 +1882,7 @@ _081114BE: _081114CA: movs r0, 0x1 movs r1, 0x1 - bl sub_80FBCF0 + bl CreateRegionMapPlayerIcon movs r1, 0x8 negs r1, r1 movs r0, 0 diff --git a/asm/pokemon_icon.s b/asm/pokemon_icon.s deleted file mode 100644 index 5aa8b5901..000000000 --- a/asm/pokemon_icon.s +++ /dev/null @@ -1,788 +0,0 @@ - .include "constants/gba_constants.inc" - .include "constants/species_constants.inc" - .include "asm/macros.inc" - - .syntax unified - - .text - - thumb_func_start unref_sub_809D26C -unref_sub_809D26C: @ 809D26C - push {r4-r6,lr} - mov r6, r8 - push {r6} - sub sp, 0x18 - adds r6, r3, 0 - ldr r3, [sp, 0x2C] - lsls r0, 16 - lsrs r0, 16 - lsls r3, 24 - lsrs r3, 24 - mov r8, sp - ldr r4, _0809D2E0 @ =gOamData_83BC5E8 - str r4, [sp] - ldr r5, _0809D2E4 @ =gMonIconTable - lsls r4, r0, 2 - adds r4, r5 - ldr r4, [r4] - str r4, [sp, 0x4] - ldr r4, _0809D2E8 @ =gSpriteAnimTable_83BC62C - str r4, [sp, 0x8] - ldr r4, _0809D2EC @ =gSpriteAffineAnimTable_83BC660 - str r4, [sp, 0xC] - str r1, [sp, 0x10] - ldr r1, _0809D2F0 @ =gMonIconPaletteIndices - adds r0, r1 - ldr r4, _0809D2F4 @ =0x0000dac0 - adds r1, r4, 0 - ldrb r0, [r0] - adds r1, r0 - mov r0, r8 - strh r1, [r0, 0x14] - lsls r2, 16 - asrs r2, 16 - lsls r6, 16 - asrs r6, 16 - mov r0, sp - adds r1, r2, 0 - adds r2, r6, 0 - bl CreateMonIconSprite - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - lsls r0, r4, 4 - adds r0, r4 - lsls r0, 2 - ldr r1, _0809D2F8 @ =gSprites - adds r0, r1 - bl UpdateMonIconFrame - adds r0, r4, 0 - add sp, 0x18 - pop {r3} - mov r8, r3 - pop {r4-r6} - pop {r1} - bx r1 - .align 2, 0 -_0809D2E0: .4byte gOamData_83BC5E8 -_0809D2E4: .4byte gMonIconTable -_0809D2E8: .4byte gSpriteAnimTable_83BC62C -_0809D2EC: .4byte gSpriteAffineAnimTable_83BC660 -_0809D2F0: .4byte gMonIconPaletteIndices -_0809D2F4: .4byte 0x0000dac0 -_0809D2F8: .4byte gSprites - thumb_func_end unref_sub_809D26C - - thumb_func_start CreateMonIcon -CreateMonIcon: @ 809D2FC - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x30 - adds r4, r0, 0 - adds r5, r1, 0 - ldr r0, [sp, 0x48] - ldr r1, [sp, 0x4C] - lsls r4, 16 - lsrs r4, 16 - lsls r2, 16 - lsrs r7, r2, 16 - lsls r3, 16 - lsrs r6, r3, 16 - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - ldr r0, _0809D38C @ =gOamData_83BC5E8 - str r0, [sp, 0x18] - adds r0, r4, 0 - bl GetMonIconPtr - str r0, [sp, 0x1C] - ldr r0, _0809D390 @ =gSpriteAnimTable_83BC62C - str r0, [sp, 0x20] - ldr r0, _0809D394 @ =gSpriteAffineAnimTable_83BC660 - str r0, [sp, 0x24] - str r5, [sp, 0x28] - ldr r0, _0809D398 @ =gMonIconPaletteIndices - adds r0, r4, r0 - ldr r1, _0809D39C @ =0x0000dac0 - adds r5, r1, 0 - ldrb r0, [r0] - adds r1, r5, r0 - add r0, sp, 0x2C - strh r1, [r0] - add r1, sp, 0x18 - mov r0, sp - movs r2, 0x18 - bl memcpy - movs r0, 0xCE - lsls r0, 1 - cmp r4, r0 - bls _0809D35A - mov r0, sp - strh r5, [r0, 0x14] -_0809D35A: - lsls r1, r7, 16 - asrs r1, 16 - lsls r2, r6, 16 - asrs r2, 16 - mov r0, sp - mov r3, r8 - bl CreateMonIconSprite - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - lsls r0, r4, 4 - adds r0, r4 - lsls r0, 2 - ldr r1, _0809D3A0 @ =gSprites - adds r0, r1 - bl UpdateMonIconFrame - adds r0, r4, 0 - add sp, 0x30 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_0809D38C: .4byte gOamData_83BC5E8 -_0809D390: .4byte gSpriteAnimTable_83BC62C -_0809D394: .4byte gSpriteAffineAnimTable_83BC660 -_0809D398: .4byte gMonIconPaletteIndices -_0809D39C: .4byte 0x0000dac0 -_0809D3A0: .4byte gSprites - thumb_func_end CreateMonIcon - - thumb_func_start sub_809D3A4 -sub_809D3A4: @ 809D3A4 - push {r4-r6,lr} - mov r6, r8 - push {r6} - sub sp, 0x18 - adds r6, r3, 0 - ldr r3, [sp, 0x2C] - lsls r0, 16 - lsrs r0, 16 - lsls r3, 24 - lsrs r3, 24 - mov r8, sp - ldr r4, _0809D418 @ =gOamData_83BC5E8 - str r4, [sp] - ldr r5, _0809D41C @ =gMonIconTable - lsls r4, r0, 2 - adds r4, r5 - ldr r4, [r4] - str r4, [sp, 0x4] - ldr r4, _0809D420 @ =gSpriteAnimTable_83BC62C - str r4, [sp, 0x8] - ldr r4, _0809D424 @ =gSpriteAffineAnimTable_83BC660 - str r4, [sp, 0xC] - str r1, [sp, 0x10] - ldr r1, _0809D428 @ =gMonIconPaletteIndices - adds r0, r1 - ldr r4, _0809D42C @ =0x0000dac0 - adds r1, r4, 0 - ldrb r0, [r0] - adds r1, r0 - mov r0, r8 - strh r1, [r0, 0x14] - lsls r2, 16 - asrs r2, 16 - lsls r6, 16 - asrs r6, 16 - mov r0, sp - adds r1, r2, 0 - adds r2, r6, 0 - bl CreateMonIconSprite - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - lsls r0, r4, 4 - adds r0, r4 - lsls r0, 2 - ldr r1, _0809D430 @ =gSprites - adds r0, r1 - bl UpdateMonIconFrame - adds r0, r4, 0 - add sp, 0x18 - pop {r3} - mov r8, r3 - pop {r4-r6} - pop {r1} - bx r1 - .align 2, 0 -_0809D418: .4byte gOamData_83BC5E8 -_0809D41C: .4byte gMonIconTable -_0809D420: .4byte gSpriteAnimTable_83BC62C -_0809D424: .4byte gSpriteAffineAnimTable_83BC660 -_0809D428: .4byte gMonIconPaletteIndices -_0809D42C: .4byte 0x0000dac0 -_0809D430: .4byte gSprites - thumb_func_end sub_809D3A4 - - thumb_func_start mon_icon_convert_unown_species_id -mon_icon_convert_unown_species_id: @ 809D434 - push {lr} - lsls r0, 16 - lsrs r2, r0, 16 - cmp r2, SPECIES_UNOWN - bne _0809D45E - adds r0, r1, 0 - bl GetUnownLetterByPersonality - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0 - bne _0809D450 - movs r0, SPECIES_UNOWN - b _0809D45A -_0809D450: - movs r1, 0xCE - lsls r1, 1 - adds r0, r1 - lsls r0, 16 - lsrs r0, 16 -_0809D45A: - adds r1, r0, 0 - b _0809D46C -_0809D45E: - movs r0, 0xCE - lsls r0, 1 - adds r1, r2, 0 - cmp r1, r0 - bls _0809D46C - movs r1, 0x82 - lsls r1, 1 -_0809D46C: - adds r0, r1, 0 - pop {r1} - bx r1 - thumb_func_end mon_icon_convert_unown_species_id - - thumb_func_start GetUnownLetterByPersonality -GetUnownLetterByPersonality: @ 809D474 - push {lr} - adds r2, r0, 0 - movs r0, 0xC0 - lsls r0, 18 - ands r0, r2 - lsrs r0, 18 - movs r1, 0xC0 - lsls r1, 10 - ands r1, r2 - lsrs r1, 12 - orrs r0, r1 - movs r1, 0xC0 - lsls r1, 2 - ands r1, r2 - lsrs r1, 6 - orrs r0, r1 - movs r1, 0x3 - ands r1, r2 - orrs r0, r1 - movs r1, 0x1C - bl __umodsi3 - lsls r0, 16 - lsrs r0, 16 - pop {r1} - bx r1 - thumb_func_end GetUnownLetterByPersonality - - thumb_func_start sub_809D4A8 -sub_809D4A8: @ 809D4A8 - push {r4,lr} - sub sp, 0x4 - lsls r0, 16 - lsrs r4, r0, 16 - adds r0, r4, 0 - mov r1, sp - bl MailSpeciesToSpecies - lsls r0, 16 - lsrs r0, 16 - cmp r0, SPECIES_UNOWN - bne _0809D4DE - mov r0, sp - ldrh r0, [r0] - cmp r0, 0 - bne _0809D4CE - mov r1, sp - adds r0, SPECIES_UNOWN - b _0809D4D6 -_0809D4CE: - mov r1, sp - movs r2, 0xCE - lsls r2, 1 - adds r0, r2 -_0809D4D6: - strh r0, [r1] - mov r0, sp - ldrh r0, [r0] - b _0809D4EA -_0809D4DE: - adds r0, r4, 0 - movs r1, 0 - bl mon_icon_convert_unown_species_id - lsls r0, 16 - lsrs r0, 16 -_0809D4EA: - add sp, 0x4 - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_809D4A8 - - thumb_func_start GetMonIconPtr -GetMonIconPtr: @ 809D4F4 - push {lr} - lsls r0, 16 - lsrs r0, 16 - bl mon_icon_convert_unown_species_id - lsls r0, 16 - ldr r1, _0809D50C @ =gMonIconTable - lsrs r0, 14 - adds r0, r1 - ldr r0, [r0] - pop {r1} - bx r1 - .align 2, 0 -_0809D50C: .4byte gMonIconTable - thumb_func_end GetMonIconPtr - - thumb_func_start sub_809D510 -sub_809D510: @ 809D510 - push {lr} - bl sub_809D7E8 - pop {r0} - bx r0 - thumb_func_end sub_809D510 - - thumb_func_start sub_809D51C -sub_809D51C: @ 809D51C - push {r4,r5,lr} - movs r4, 0 - ldr r5, _0809D53C @ =gMonIconPaletteTable -_0809D522: - lsls r0, r4, 3 - adds r0, r5 - bl LoadSpritePalette - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x5 - bls _0809D522 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0809D53C: .4byte gMonIconPaletteTable - thumb_func_end sub_809D51C - - thumb_func_start unref_sub_809D540 -unref_sub_809D540: @ 809D540 - push {r4,lr} - lsls r0, 16 - lsrs r1, r0, 16 - movs r0, 0xCE - lsls r0, 1 - cmp r1, r0 - bls _0809D552 - movs r1, 0x82 - lsls r1, 1 -_0809D552: - ldr r0, _0809D578 @ =gMonIconPaletteIndices - adds r0, r1, r0 - ldrb r0, [r0] - ldr r1, _0809D57C @ =gMonIconPaletteTable - lsls r0, 3 - adds r4, r0, r1 - ldrh r0, [r4, 0x4] - bl IndexOfSpritePaletteTag - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0xFF - bne _0809D572 - adds r0, r4, 0 - bl LoadSpritePalette -_0809D572: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0809D578: .4byte gMonIconPaletteIndices -_0809D57C: .4byte gMonIconPaletteTable - thumb_func_end unref_sub_809D540 - - thumb_func_start sub_809D580 -sub_809D580: @ 809D580 - push {r4,lr} - lsls r0, 16 - lsrs r0, 16 - ldr r1, _0809D5AC @ =gMonIconPaletteIndices - adds r0, r1 - ldrb r0, [r0] - ldr r1, _0809D5B0 @ =gMonIconPaletteTable - lsls r0, 3 - adds r4, r0, r1 - ldrh r0, [r4, 0x4] - bl IndexOfSpritePaletteTag - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0xFF - bne _0809D5A6 - adds r0, r4, 0 - bl LoadSpritePalette -_0809D5A6: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0809D5AC: .4byte gMonIconPaletteIndices -_0809D5B0: .4byte gMonIconPaletteTable - thumb_func_end sub_809D580 - - thumb_func_start unref_sub_809D5B4 -unref_sub_809D5B4: @ 809D5B4 - push {r4,r5,lr} - movs r4, 0 - ldr r5, _0809D5D4 @ =gMonIconPaletteTable -_0809D5BA: - lsls r0, r4, 3 - adds r0, r5 - ldrh r0, [r0, 0x4] - bl FreeSpritePaletteByTag - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x5 - bls _0809D5BA - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0809D5D4: .4byte gMonIconPaletteTable - thumb_func_end unref_sub_809D5B4 - - thumb_func_start unref_sub_809D5D8 -unref_sub_809D5D8: @ 809D5D8 - push {lr} - lsls r0, 16 - lsrs r1, r0, 16 - movs r0, 0xCE - lsls r0, 1 - cmp r1, r0 - bls _0809D5EA - movs r1, 0x82 - lsls r1, 1 -_0809D5EA: - ldr r0, _0809D600 @ =gMonIconPaletteIndices - adds r0, r1, r0 - ldrb r0, [r0] - ldr r1, _0809D604 @ =gMonIconPaletteTable - lsls r0, 3 - adds r0, r1 - ldrh r0, [r0, 0x4] - bl FreeSpritePaletteByTag - pop {r0} - bx r0 - .align 2, 0 -_0809D600: .4byte gMonIconPaletteIndices -_0809D604: .4byte gMonIconPaletteTable - thumb_func_end unref_sub_809D5D8 - - thumb_func_start sub_809D608 -sub_809D608: @ 809D608 - push {lr} - lsls r0, 16 - lsrs r0, 16 - ldr r1, _0809D624 @ =gMonIconPaletteIndices - adds r0, r1 - ldrb r0, [r0] - ldr r1, _0809D628 @ =gMonIconPaletteTable - lsls r0, 3 - adds r0, r1 - ldrh r0, [r0, 0x4] - bl FreeSpritePaletteByTag - pop {r0} - bx r0 - .align 2, 0 -_0809D624: .4byte gMonIconPaletteIndices -_0809D628: .4byte gMonIconPaletteTable - thumb_func_end sub_809D608 - - thumb_func_start sub_809D62C -sub_809D62C: @ 809D62C - push {lr} - bl UpdateMonIconFrame - pop {r0} - bx r0 - thumb_func_end sub_809D62C - - thumb_func_start UpdateMonIconFrame -UpdateMonIconFrame: @ 809D638 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - adds r4, r0, 0 - movs r7, 0 - adds r6, r4, 0 - adds r6, 0x2C - ldrb r2, [r6] - movs r0, 0x3F - mov r9, r0 - ands r0, r2 - cmp r0, 0 - bne _0809D6EC - movs r1, 0x2A - adds r1, r4 - mov r8, r1 - ldrb r1, [r1] - ldr r0, [r4, 0x8] - lsls r1, 2 - adds r1, r0 - adds r5, r4, 0 - adds r5, 0x2B - ldrb r0, [r5] - ldr r1, [r1] - lsls r0, 2 - adds r0, r1 - movs r1, 0 - ldrsh r3, [r0, r1] - movs r0, 0x2 - negs r0, r0 - cmp r3, r0 - beq _0809D682 - adds r0, 0x1 - cmp r3, r0 - bne _0809D686 - b _0809D700 -_0809D682: - strb r7, [r5] - b _0809D700 -_0809D686: - ldr r2, _0809D6E4 @ =gSpriteImageSizes - ldrb r1, [r4, 0x3] - lsrs r1, 6 - lsls r1, 1 - ldrb r0, [r4, 0x1] - lsrs r0, 6 - lsls r0, 3 - adds r1, r0 - adds r1, r2 - ldrh r2, [r1] - adds r1, r2, 0 - muls r1, r3 - ldr r0, [r4, 0xC] - adds r0, r1 - ldrh r1, [r4, 0x4] - lsls r1, 22 - lsrs r1, 17 - ldr r3, _0809D6E8 @ =0x06010000 - adds r1, r3 - bl RequestSpriteCopy - mov r0, r8 - ldrb r1, [r0] - ldr r0, [r4, 0x8] - lsls r1, 2 - adds r1, r0 - ldrb r0, [r5] - ldr r1, [r1] - lsls r0, 2 - adds r0, r1 - ldr r0, [r0] - lsls r0, 10 - lsrs r0, 26 - mov r1, r9 - ands r1, r0 - ldrb r2, [r6] - movs r0, 0x40 - negs r0, r0 - ands r0, r2 - orrs r0, r1 - strb r0, [r6] - ldrb r0, [r5] - adds r0, 0x1 - strb r0, [r5] - ldrb r7, [r5] - b _0809D700 - .align 2, 0 -_0809D6E4: .4byte gSpriteImageSizes -_0809D6E8: .4byte 0x06010000 -_0809D6EC: - lsls r0, r2, 26 - lsrs r0, 26 - subs r0, 0x1 - movs r1, 0x3F - ands r0, r1 - movs r1, 0x40 - negs r1, r1 - ands r1, r2 - orrs r1, r0 - strb r1, [r6] -_0809D700: - adds r0, r7, 0 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end UpdateMonIconFrame - - thumb_func_start CreateMonIconSprite -CreateMonIconSprite: @ 809D710 - push {r4-r6,lr} - mov r6, r9 - mov r5, r8 - push {r5,r6} - sub sp, 0x38 - mov r9, r0 - adds r4, r1, 0 - adds r5, r2, 0 - mov r8, r3 - lsls r4, 16 - lsrs r4, 16 - lsls r5, 16 - lsrs r5, 16 - mov r0, r8 - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - movs r0, 0 - str r0, [sp, 0x30] - ldr r2, _0809D7D8 @ =gSpriteImageSizes - mov r0, r9 - ldr r6, [r0] - ldrb r1, [r6, 0x3] - lsrs r1, 6 - lsls r1, 1 - ldrb r0, [r6, 0x1] - lsrs r0, 6 - lsls r0, 3 - adds r1, r0 - adds r1, r2 - ldrh r2, [r1] - ldr r1, _0809D7DC @ =0xffff0000 - add r3, sp, 0x30 - ldr r0, [r3, 0x4] - ands r0, r1 - orrs r0, r2 - str r0, [r3, 0x4] - add r1, sp, 0x18 - ldr r0, _0809D7E0 @ =0x0000ffff - strh r0, [r1] - mov r0, r9 - ldrh r2, [r0, 0x14] - mov r0, sp - adds r0, 0x1A - strh r2, [r0] - str r6, [sp, 0x1C] - mov r2, r9 - ldr r0, [r2, 0x8] - str r0, [sp, 0x20] - str r3, [sp, 0x24] - ldr r0, [r2, 0xC] - str r0, [sp, 0x28] - ldr r0, [r2, 0x10] - str r0, [sp, 0x2C] - mov r0, sp - movs r2, 0x18 - bl memcpy - lsls r4, 16 - asrs r4, 16 - lsls r5, 16 - asrs r5, 16 - mov r0, sp - adds r1, r4, 0 - adds r2, r5, 0 - mov r3, r8 - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - ldr r6, _0809D7E4 @ =gSprites - lsls r3, r0, 4 - adds r3, r0 - lsls r3, 2 - adds r4, r3, r6 - adds r5, r4, 0 - adds r5, 0x2C - ldrb r1, [r5] - movs r2, 0x40 - orrs r1, r2 - strb r1, [r5] - adds r4, 0x3F - ldrb r2, [r4] - movs r1, 0x5 - negs r1, r1 - ands r1, r2 - strb r1, [r4] - adds r6, 0xC - adds r3, r6 - mov r2, r9 - ldr r1, [r2, 0x4] - str r1, [r3] - add sp, 0x38 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r6} - pop {r1} - bx r1 - .align 2, 0 -_0809D7D8: .4byte gSpriteImageSizes -_0809D7DC: .4byte 0xffff0000 -_0809D7E0: .4byte 0x0000ffff -_0809D7E4: .4byte gSprites - thumb_func_end CreateMonIconSprite - - thumb_func_start sub_809D7E8 -sub_809D7E8: @ 809D7E8 - push {lr} - sub sp, 0x8 - movs r1, 0 - str r1, [sp] - ldr r3, _0809D81C @ =gSpriteImageSizes - ldrb r2, [r0, 0x3] - lsrs r2, 6 - lsls r2, 1 - ldrb r1, [r0, 0x1] - lsrs r1, 6 - lsls r1, 3 - adds r2, r1 - adds r2, r3 - ldrh r3, [r2] - ldr r2, _0809D820 @ =0xffff0000 - ldr r1, [sp, 0x4] - ands r1, r2 - orrs r1, r3 - str r1, [sp, 0x4] - mov r1, sp - str r1, [r0, 0xC] - bl DestroySprite - add sp, 0x8 - pop {r0} - bx r0 - .align 2, 0 -_0809D81C: .4byte gSpriteImageSizes -_0809D820: .4byte 0xffff0000 - thumb_func_end sub_809D7E8 - - thumb_func_start sub_809D824 -sub_809D824: @ 809D824 - mov r12, r0 - adds r0, 0x2A - movs r3, 0 - strb r1, [r0] - mov r2, r12 - adds r2, 0x2C - ldrb r1, [r2] - movs r0, 0x40 - negs r0, r0 - ands r0, r1 - strb r0, [r2] - mov r0, r12 - adds r0, 0x2B - strb r3, [r0] - bx lr - thumb_func_end sub_809D824 - - .align 2, 0 @ Don't pad with nop. diff --git a/asm/pokemon_menu.s b/asm/pokemon_menu.s index 3a1552f70..fe1b41724 100644 --- a/asm/pokemon_menu.s +++ b/asm/pokemon_menu.s @@ -2093,7 +2093,7 @@ _0808AB6C: .4byte gPaletteFade _0808AB70: .4byte gTasks _0808AB74: .4byte c2_exit_to_overworld_2_switch _0808AB78: - ldr r0, _0808AB8C @ =sub_80FC074 + ldr r0, _0808AB8C @ =CB2_InitFlyRegionMap bl SetMainCallback2 _0808AB7E: adds r0, r4, 0 @@ -2103,7 +2103,7 @@ _0808AB84: pop {r0} bx r0 .align 2, 0 -_0808AB8C: .4byte sub_80FC074 +_0808AB8C: .4byte CB2_InitFlyRegionMap thumb_func_end sub_808AB34 thumb_func_start sub_808AB90 diff --git a/asm/pokenav.s b/asm/pokenav.s index 757a2a5a2..cb6a40450 100644 --- a/asm/pokenav.s +++ b/asm/pokenav.s @@ -340,7 +340,7 @@ sub_80EBD30: @ 80EBD30 bl LoadOam bl ProcessSpriteCopyRequests bl TransferPlttBuffer - bl sub_80FB260 + bl UpdateRegionMapVideoRegs bl sub_80EFE7C pop {r0} bx r0 @@ -10523,7 +10523,7 @@ sub_80F0FFC: @ 80F0FFC ldrh r1, [r0] adds r0, r5, 0 movs r2, 0 - bl sub_80FBFB4 + bl GetMapSectionName ldr r0, _080F1054 @ =gWindowConfig_81E710C bl BasicInitMenuWindow adds r0, r5, 0 @@ -14321,10 +14321,10 @@ sub_80F2DD8: @ 80F2DD8 push {lr} movs r0, 0x7 movs r1, 0x7 - bl sub_80FBB3C + bl CreateRegionMapCursor movs r0, 0x8 movs r1, 0x8 - bl sub_80FBCF0 + bl CreateRegionMapPlayerIcon bl sub_80FBF94 pop {r0} bx r0 @@ -14333,7 +14333,7 @@ sub_80F2DD8: @ 80F2DD8 thumb_func_start sub_80F2DF4 sub_80F2DF4: @ 80F2DF4 push {lr} - bl sub_80FAB10 + bl FreeRegionMapIconResources pop {r0} bx r0 thumb_func_end sub_80F2DF4 diff --git a/asm/record_mixing.s b/asm/record_mixing.s deleted file mode 100644 index ce0121a40..000000000 --- a/asm/record_mixing.s +++ /dev/null @@ -1,543 +0,0 @@ - .include "constants/gba_constants.inc" - .include "constants/species_constants.inc" - .include "asm/macros.inc" - - .syntax unified - - .text - - thumb_func_start sub_80B9C6C -sub_80B9C6C: @ 80B9C6C - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x58 - str r0, [sp, 0x2C] - str r1, [sp, 0x30] - str r3, [sp, 0x38] - lsls r2, 24 - lsrs r2, 24 - str r2, [sp, 0x34] - bl Random - lsls r0, 16 - lsrs r0, 16 - str r0, [sp, 0x40] - ldr r0, _080B9DA8 @ =gLinkPlayers - ldrh r0, [r0, 0x4] - bl SeedRng - bl GetLinkPlayerCount - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - movs r3, 0 - add r0, sp, 0x1C - mov r9, r0 - movs r1, 0x1D - add r1, sp - mov r10, r1 - mov r2, sp - adds r2, 0xC - str r2, [sp, 0x4C] - movs r7, 0xFF - add r4, sp, 0x8 - movs r2, 0 - mov r6, r9 - mov r5, r10 -_080B9CBC: - mov r1, sp - adds r1, r3 - adds r1, 0x4 - ldrb r0, [r1] - orrs r0, r7 - strb r0, [r1] - adds r0, r4, r3 - strb r2, [r0] - lsls r1, r3, 1 - adds r0, r6, r1 - strb r2, [r0] - adds r1, r5, r1 - strb r2, [r1] - adds r0, r3, 0x1 - lsls r0, 16 - lsrs r3, r0, 16 - cmp r3, 0x3 - bls _080B9CBC - movs r4, 0 - str r4, [sp, 0x3C] - movs r3, 0 - mov r1, r8 - lsls r0, r1, 16 - lsrs r1, r0, 16 - str r0, [sp, 0x50] - ldr r4, [sp, 0x30] - ldr r0, [sp, 0x34] - adds r2, r4, 0 - muls r2, r0 - str r2, [sp, 0x48] - ldr r2, [sp, 0x3C] - cmp r2, r1 - bcs _080B9D46 - mov r8, r1 -_080B9D00: - ldr r4, [sp, 0x30] - adds r0, r4, 0 - muls r0, r3 - ldr r1, [sp, 0x2C] - adds r6, r1, r0 - ldr r0, [r6, 0x70] - cmp r0, 0 - beq _080B9D3C - movs r7, 0 - cmp r7, r0 - bcs _080B9D3C - adds r4, r6, 0 - adds r4, 0x74 - mov r2, r9 - lsls r1, r3, 1 - movs r5, 0x1 -_080B9D20: - lsls r0, r7, 1 - adds r0, r4, r0 - ldrh r0, [r0] - cmp r0, 0 - bne _080B9D30 - adds r0, r7, r1 - adds r0, r2, r0 - strb r5, [r0] -_080B9D30: - adds r0, r7, 0x1 - lsls r0, 16 - lsrs r7, r0, 16 - ldr r0, [r6, 0x70] - cmp r7, r0 - bcc _080B9D20 -_080B9D3C: - adds r0, r3, 0x1 - lsls r0, 16 - lsrs r3, r0, 16 - cmp r3, r8 - bcc _080B9D00 -_080B9D46: - movs r7, 0 - movs r3, 0 - ldr r2, [sp, 0x50] - cmp r2, 0 - beq _080B9E3E - mov r4, sp - adds r4, 0x24 - str r4, [sp, 0x44] - movs r0, 0x25 - add r0, sp - mov r8, r0 -_080B9D5C: - ldr r1, [sp, 0x30] - adds r0, r1, 0 - muls r0, r3 - ldr r2, [sp, 0x2C] - adds r6, r2, r0 - lsls r1, r3, 1 - mov r4, r9 - adds r0, r4, r1 - ldrb r0, [r0] - cmp r0, 0x1 - beq _080B9D7C - mov r2, r10 - adds r0, r2, r1 - ldrb r0, [r0] - cmp r0, 0x1 - bne _080B9D86 -_080B9D7C: - ldr r0, [sp, 0x3C] - adds r0, 0x1 - lsls r0, 24 - lsrs r0, 24 - str r0, [sp, 0x3C] -_080B9D86: - mov r4, r9 - adds r0, r4, r1 - ldrb r0, [r0] - cmp r0, 0x1 - bne _080B9DAC - mov r2, r10 - adds r0, r2, r1 - ldrb r2, [r0] - cmp r2, 0 - bne _080B9DAC -_080B9D9A: - lsls r1, r7, 1 - ldr r4, [sp, 0x44] - adds r0, r4, r1 - strb r3, [r0] - add r1, r8 - strb r2, [r1] - b _080B9E2C - .align 2, 0 -_080B9DA8: .4byte gLinkPlayers -_080B9DAC: - mov r2, r9 - adds r0, r2, r1 - ldrb r0, [r0] - cmp r0, 0 - bne _080B9DC0 - mov r4, r10 - adds r0, r4, r1 - ldrb r2, [r0] - cmp r2, 0x1 - beq _080B9D9A -_080B9DC0: - mov r2, r9 - adds r0, r2, r1 - ldrb r0, [r0] - cmp r0, 0x1 - bne _080B9E32 - mov r4, r10 - adds r0, r4, r1 - ldrb r0, [r0] - cmp r0, 0x1 - bne _080B9E32 - lsls r5, r7, 1 - ldr r1, [sp, 0x44] - adds r0, r1, r5 - strb r3, [r0] - adds r0, r6, 0 - str r3, [sp, 0x54] - bl sub_80B9BBC - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - adds r0, r6, 0 - adds r0, 0x38 - bl sub_80B9BBC - lsls r0, 24 - lsrs r1, r0, 24 - ldr r3, [sp, 0x54] - cmp r4, 0 - bne _080B9E0A - cmp r1, 0 - beq _080B9E0E - mov r2, r8 - adds r1, r2, r5 - movs r0, 0x1 - strb r0, [r1] - b _080B9E2C -_080B9E0A: - cmp r1, 0 - beq _080B9E26 -_080B9E0E: - str r3, [sp, 0x54] - bl Random - mov r4, r8 - adds r2, r4, r5 - lsls r0, 16 - lsrs r0, 16 - movs r1, 0x1 - ands r0, r1 - strb r0, [r2] - ldr r3, [sp, 0x54] - b _080B9E2C -_080B9E26: - mov r2, r8 - adds r0, r2, r5 - strb r1, [r0] -_080B9E2C: - adds r0, r7, 0x1 - lsls r0, 16 - lsrs r7, r0, 16 -_080B9E32: - adds r0, r3, 0x1 - lsls r0, 16 - lsrs r3, r0, 16 - ldr r4, [sp, 0x50] - cmp r0, r4 - bcc _080B9D5C -_080B9E3E: - movs r3, 0 - ldr r1, [sp, 0x48] - lsls r0, r1, 4 - subs r0, r1 - lsls r0, 3 - ldr r2, [sp, 0x2C] - adds r6, r2, r0 - ldr r1, [sp, 0x4C] -_080B9E4E: - lsls r0, r3, 2 - adds r0, r1, r0 - str r6, [r0] - adds r0, r3, 0x1 - lsls r0, 16 - lsrs r3, r0, 16 - cmp r3, 0x3 - bls _080B9E4E - ldr r0, [sp, 0x38] - bl sub_80B9C4C - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x3 - bl __umodsi3 - lsls r0, 24 - lsrs r1, r0, 24 - ldr r4, [sp, 0x3C] - cmp r4, 0x3 - beq _080B9E9C - cmp r4, 0x3 - bgt _080B9E82 - cmp r4, 0x2 - beq _080B9E8A - b _080B9EF0 -_080B9E82: - ldr r0, [sp, 0x3C] - cmp r0, 0x4 - beq _080B9EBC - b _080B9EF0 -_080B9E8A: - add r2, sp, 0x24 - movs r0, 0x1 - str r0, [sp] - ldr r0, [sp, 0x2C] - ldr r1, [sp, 0x30] - movs r3, 0 - bl sub_80B9BC4 - b _080B9EF0 -_080B9E9C: - ldr r0, _080B9EB8 @ =gUnknown_083D02B4 - lsls r1, 1 - adds r2, r1, r0 - ldrb r3, [r2] - adds r0, 0x1 - adds r1, r0 - ldrb r0, [r1] - add r2, sp, 0x24 - str r0, [sp] - ldr r0, [sp, 0x2C] - ldr r1, [sp, 0x30] - bl sub_80B9BC4 - b _080B9EF0 - .align 2, 0 -_080B9EB8: .4byte gUnknown_083D02B4 -_080B9EBC: - add r6, sp, 0x24 - ldr r4, _080B9F2C @ =gUnknown_083D02BA - lsls r5, r1, 2 - adds r0, r5, r4 - ldrb r3, [r0] - adds r0, r4, 0x1 - adds r0, r5, r0 - ldrb r0, [r0] - str r0, [sp] - ldr r0, [sp, 0x2C] - ldr r1, [sp, 0x30] - adds r2, r6, 0 - bl sub_80B9BC4 - adds r0, r4, 0x2 - adds r0, r5, r0 - ldrb r3, [r0] - adds r4, 0x3 - adds r5, r4 - ldrb r0, [r5] - str r0, [sp] - ldr r0, [sp, 0x2C] - ldr r1, [sp, 0x30] - adds r2, r6, 0 - bl sub_80B9BC4 -_080B9EF0: - ldr r1, [sp, 0x2C] - ldr r2, [sp, 0x48] - adds r6, r1, r2 - ldr r4, _080B9F30 @ =gSaveBlock1 - ldr r1, _080B9F34 @ =0x0000303c - adds r0, r4, r1 - adds r1, r6, 0 - movs r2, 0x38 - bl memcpy - ldr r2, _080B9F38 @ =0x00003074 - adds r4, r2 - adds r1, r6, 0 - adds r1, 0x38 - adds r0, r4, 0 - movs r2, 0x38 - bl memcpy - ldr r0, [sp, 0x40] - bl SeedRng - add sp, 0x58 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080B9F2C: .4byte gUnknown_083D02BA -_080B9F30: .4byte gSaveBlock1 -_080B9F34: .4byte 0x0000303c -_080B9F38: .4byte 0x00003074 - thumb_func_end sub_80B9C6C - - thumb_func_start sub_80B9F3C -sub_80B9F3C: @ 80B9F3C - push {r4,lr} - adds r4, r0, 0 - lsls r1, 24 - cmp r1, 0 - beq _080BA000 - ldrh r0, [r4] - cmp r0, 0 - beq _080BA000 - bl GetPocketByItemId - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x5 - bne _080B9FC8 - ldrh r0, [r4] - movs r1, 0x1 - bl CheckBagHasItem - lsls r0, 24 - cmp r0, 0 - bne _080B9FB8 - ldrh r0, [r4] - movs r1, 0x1 - bl CheckPCHasItem - lsls r0, 24 - cmp r0, 0 - bne _080B9FB8 - ldrh r0, [r4] - movs r1, 0x1 - bl AddBagItem - lsls r0, 24 - cmp r0, 0 - beq _080B9FB8 - ldr r0, _080B9FA4 @ =0x00004001 - ldrh r1, [r4] - bl VarSet - ldr r0, _080B9FA8 @ =gStringVar1 - ldr r1, _080B9FAC @ =gLinkPlayers + 0x8 - bl StringCopy - ldrh r1, [r4] - ldr r0, _080B9FB0 @ =0x00000113 - cmp r1, r0 - bne _080BA000 - ldr r0, _080B9FB4 @ =0x00000853 - bl FlagSet - b _080BA000 - .align 2, 0 -_080B9FA4: .4byte 0x00004001 -_080B9FA8: .4byte gStringVar1 -_080B9FAC: .4byte gLinkPlayers + 0x8 -_080B9FB0: .4byte 0x00000113 -_080B9FB4: .4byte 0x00000853 -_080B9FB8: - ldr r0, _080B9FC4 @ =0x00004001 - movs r1, 0 - bl VarSet - b _080BA000 - .align 2, 0 -_080B9FC4: .4byte 0x00004001 -_080B9FC8: - ldrh r0, [r4] - movs r1, 0x1 - bl AddBagItem - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _080B9FF8 - ldr r0, _080B9FEC @ =0x00004001 - ldrh r1, [r4] - bl VarSet - ldr r0, _080B9FF0 @ =gStringVar1 - ldr r1, _080B9FF4 @ =gLinkPlayers + 0x8 - bl StringCopy - b _080BA000 - .align 2, 0 -_080B9FEC: .4byte 0x00004001 -_080B9FF0: .4byte gStringVar1 -_080B9FF4: .4byte gLinkPlayers + 0x8 -_080B9FF8: - ldr r0, _080BA008 @ =0x00004001 - movs r1, 0 - bl VarSet -_080BA000: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080BA008: .4byte 0x00004001 - thumb_func_end sub_80B9F3C - - thumb_func_start sub_80BA00C -sub_80BA00C: @ 80BA00C - push {r4,lr} - lsls r0, 24 - lsrs r2, r0, 24 - lsls r0, r2, 2 - adds r0, r2 - lsls r0, 3 - ldr r1, _080BA030 @ =gTasks - adds r4, r0, r1 - movs r1, 0x8 - ldrsh r0, [r4, r1] - cmp r0, 0x5 - bhi _080BA09C - lsls r0, 2 - ldr r1, _080BA034 @ =_080BA038 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_080BA030: .4byte gTasks -_080BA034: .4byte _080BA038 - .align 2, 0 -_080BA038: - .4byte _080BA086 - .4byte _080BA086 - .4byte _080BA050 - .4byte _080BA05A - .4byte _080BA074 - .4byte _080BA08E -_080BA050: - bl SetSecretBase2Field_9_AndHideBG - bl sub_8125E2C - b _080BA086 -_080BA05A: - bl sub_8125E6C - lsls r0, 24 - cmp r0, 0 - beq _080BA09C - bl ClearSecretBase2Field_9_2 - ldrh r0, [r4, 0x8] - adds r0, 0x1 - movs r1, 0 - strh r0, [r4, 0x8] - strh r1, [r4, 0xA] - b _080BA09C -_080BA074: - ldrh r0, [r4, 0xA] - adds r0, 0x1 - strh r0, [r4, 0xA] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0xA - ble _080BA09C - bl sub_800832C -_080BA086: - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - b _080BA09C -_080BA08E: - ldr r0, _080BA0A4 @ =gReceivedRemoteLinkPlayers - ldrb r0, [r0] - cmp r0, 0 - bne _080BA09C - adds r0, r2, 0 - bl DestroyTask -_080BA09C: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080BA0A4: .4byte gReceivedRemoteLinkPlayers - thumb_func_end sub_80BA00C - - .align 2, 0 @ Don't pad with nop. diff --git a/asm/region_map.s b/asm/region_map.s deleted file mode 100644 index 44d6a4e91..000000000 --- a/asm/region_map.s +++ /dev/null @@ -1,3969 +0,0 @@ - .include "constants/gba_constants.inc" - .include "constants/species_constants.inc" - .include "asm/macros.inc" - - .syntax unified - - .text - - thumb_func_start sub_80FA8EC -sub_80FA8EC: @ 80FA8EC - push {lr} - lsls r1, 24 - lsrs r1, 24 - bl sub_80FA904 -_080FA8F6: - bl sub_80FA940 - lsls r0, 24 - cmp r0, 0 - bne _080FA8F6 - pop {r0} - bx r0 - thumb_func_end sub_80FA8EC - - thumb_func_start sub_80FA904 -sub_80FA904: @ 80FA904 - push {r4,lr} - lsls r1, 24 - lsrs r1, 24 - ldr r3, _080FA928 @ =gUnknown_020388CC - str r0, [r3] - movs r2, 0x79 - adds r2, r0 - mov r12, r2 - movs r2, 0 - mov r4, r12 - strb r2, [r4] - adds r0, 0x78 - strb r1, [r0] - ldr r3, [r3] - cmp r1, 0 - bne _080FA930 - ldr r0, _080FA92C @ =sub_80FAB78 - b _080FA932 - .align 2, 0 -_080FA928: .4byte gUnknown_020388CC -_080FA92C: .4byte sub_80FAB78 -_080FA930: - ldr r0, _080FA93C @ =sub_80FAD04 -_080FA932: - str r0, [r3, 0x18] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080FA93C: .4byte sub_80FAD04 - thumb_func_end sub_80FA904 - - thumb_func_start sub_80FA940 -sub_80FA940: @ 80FA940 - push {r4,r5,lr} - sub sp, 0xC - ldr r0, _080FA95C @ =gUnknown_020388CC - ldr r0, [r0] - adds r0, 0x79 - ldrb r0, [r0] - cmp r0, 0x7 - bls _080FA952 - b _080FAAE2 -_080FA952: - lsls r0, 2 - ldr r1, _080FA960 @ =_080FA964 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_080FA95C: .4byte gUnknown_020388CC -_080FA960: .4byte _080FA964 - .align 2, 0 -_080FA964: - .4byte _080FA984 - .4byte _080FA998 - .4byte _080FA9AC - .4byte _080FA9BC - .4byte _080FA9D8 - .4byte _080FA9F4 - .4byte _080FAA38 - .4byte _080FAAB4 -_080FA984: - ldr r0, _080FA990 @ =gUnknown_083E5DA0 - ldr r1, _080FA994 @ =0x06008000 - bl LZ77UnCompVram - b _080FAAF4 - .align 2, 0 -_080FA990: .4byte gUnknown_083E5DA0 -_080FA994: .4byte 0x06008000 -_080FA998: - ldr r0, _080FA9A4 @ =gUnknown_083E6B04 - ldr r1, _080FA9A8 @ =0x0600e000 - bl LZ77UnCompVram - b _080FAAF4 - .align 2, 0 -_080FA9A4: .4byte gUnknown_083E6B04 -_080FA9A8: .4byte 0x0600e000 -_080FA9AC: - ldr r0, _080FA9B8 @ =gUnknown_083E5D60 - movs r1, 0x70 - movs r2, 0x60 - bl LoadPalette - b _080FAAF4 - .align 2, 0 -_080FA9B8: .4byte gUnknown_083E5D60 -_080FA9BC: - ldr r0, _080FA9D0 @ =gUnknown_083E5AF0 - ldr r1, _080FA9D4 @ =gUnknown_020388CC - ldr r1, [r1] - movs r2, 0xC0 - lsls r2, 1 - adds r1, r2 - bl LZ77UnCompWram - b _080FAAF4 - .align 2, 0 -_080FA9D0: .4byte gUnknown_083E5AF0 -_080FA9D4: .4byte gUnknown_020388CC -_080FA9D8: - ldr r0, _080FA9EC @ =gUnknown_083E5B34 - ldr r1, _080FA9F0 @ =gUnknown_020388CC - ldr r1, [r1] - movs r3, 0xA0 - lsls r3, 2 - adds r1, r3 - bl LZ77UnCompWram - b _080FAAF4 - .align 2, 0 -_080FA9EC: .4byte gUnknown_083E5B34 -_080FA9F0: .4byte gUnknown_020388CC -_080FA9F4: - bl sub_80FB32C - ldr r4, _080FAA34 @ =gUnknown_020388CC - ldr r2, [r4] - adds r0, r2, 0 - adds r0, 0x54 - ldrh r1, [r0] - adds r0, 0x20 - strh r1, [r0] - subs r0, 0x1E - ldrh r0, [r0] - adds r1, r2, 0 - adds r1, 0x76 - strh r0, [r1] - ldrh r0, [r2, 0x14] - bl sub_80FB758 - ldr r1, [r4] - strb r0, [r1, 0x16] - ldr r0, [r4] - ldrh r0, [r0, 0x14] - bl sub_80FB9C0 - adds r1, r0, 0 - ldr r0, [r4] - strh r1, [r0, 0x14] - ldrh r1, [r0, 0x14] - movs r2, 0x10 - bl sub_80FBFB4 - b _080FAAF4 - .align 2, 0 -_080FAA34: .4byte gUnknown_020388CC -_080FAA38: - ldr r0, _080FAA60 @ =gUnknown_020388CC - ldr r4, [r0] - adds r0, r4, 0 - adds r0, 0x78 - ldrb r1, [r0] - cmp r1, 0 - bne _080FAA64 - movs r0, 0x80 - lsls r0, 1 - str r0, [sp] - str r0, [sp, 0x4] - str r1, [sp, 0x8] - movs r0, 0 - movs r1, 0 - movs r2, 0 - movs r3, 0 - bl sub_80FB170 - b _080FAAF4 - .align 2, 0 -_080FAA60: .4byte gUnknown_020388CC -_080FAA64: - adds r1, r4, 0 - adds r1, 0x54 - ldrh r0, [r1] - lsls r0, 3 - subs r0, 0x34 - adds r2, r4, 0 - adds r2, 0x5C - movs r3, 0 - strh r0, [r2] - movs r5, 0x56 - adds r5, r4 - mov r12, r5 - ldrh r0, [r5] - lsls r0, 3 - subs r0, 0x44 - adds r5, r4, 0 - adds r5, 0x5E - strh r0, [r5] - ldrh r1, [r1] - adds r0, r4, 0 - adds r0, 0x64 - strh r1, [r0] - mov r0, r12 - ldrh r1, [r0] - adds r0, r4, 0 - adds r0, 0x66 - strh r1, [r0] - movs r1, 0 - ldrsh r0, [r2, r1] - movs r2, 0 - ldrsh r1, [r5, r2] - movs r2, 0x80 - str r2, [sp] - str r2, [sp, 0x4] - str r3, [sp, 0x8] - movs r2, 0x38 - movs r3, 0x48 - bl sub_80FB170 - b _080FAAF4 -_080FAAB4: - bl sub_80FBA18 - bl sub_80FB260 - ldr r2, _080FAAE8 @ =gUnknown_020388CC - ldr r0, [r2] - movs r1, 0 - str r1, [r0, 0x1C] - str r1, [r0, 0x20] - adds r0, 0x7A - strb r1, [r0] - ldr r0, [r2] - adds r0, 0x7E - strb r1, [r0] - ldr r1, _080FAAEC @ =REG_BG2CNT - ldr r3, _080FAAF0 @ =0x0000bc8a - adds r0, r3, 0 - strh r0, [r1] - ldr r1, [r2] - adds r1, 0x79 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] -_080FAAE2: - movs r0, 0 - b _080FAB02 - .align 2, 0 -_080FAAE8: .4byte gUnknown_020388CC -_080FAAEC: .4byte REG_BG2CNT -_080FAAF0: .4byte 0x0000bc8a -_080FAAF4: - ldr r0, _080FAB0C @ =gUnknown_020388CC - ldr r1, [r0] - adds r1, 0x79 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - movs r0, 0x1 -_080FAB02: - add sp, 0xC - pop {r4,r5} - pop {r1} - bx r1 - .align 2, 0 -_080FAB0C: .4byte gUnknown_020388CC - thumb_func_end sub_80FA940 - - thumb_func_start sub_80FAB10 -sub_80FAB10: @ 80FAB10 - push {r4,lr} - ldr r4, _080FAB5C @ =gUnknown_020388CC - ldr r0, [r4] - ldr r0, [r0, 0x1C] - cmp r0, 0 - beq _080FAB34 - bl DestroySprite - ldr r0, [r4] - adds r0, 0x58 - ldrh r0, [r0] - bl FreeSpriteTilesByTag - ldr r0, [r4] - adds r0, 0x5A - ldrh r0, [r0] - bl FreeSpritePaletteByTag -_080FAB34: - ldr r0, [r4] - ldr r0, [r0, 0x20] - cmp r0, 0 - beq _080FAB54 - bl DestroySprite - ldr r0, [r4] - adds r0, 0x70 - ldrh r0, [r0] - bl FreeSpriteTilesByTag - ldr r0, [r4] - adds r0, 0x72 - ldrh r0, [r0] - bl FreeSpritePaletteByTag -_080FAB54: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080FAB5C: .4byte gUnknown_020388CC - thumb_func_end sub_80FAB10 - - thumb_func_start sub_80FAB60 -sub_80FAB60: @ 80FAB60 - push {lr} - ldr r0, _080FAB74 @ =gUnknown_020388CC - ldr r0, [r0] - ldr r0, [r0, 0x18] - bl _call_via_r0 - lsls r0, 24 - lsrs r0, 24 - pop {r1} - bx r1 - .align 2, 0 -_080FAB74: .4byte gUnknown_020388CC - thumb_func_end sub_80FAB60 - - thumb_func_start sub_80FAB78 -sub_80FAB78: @ 80FAB78 - push {r4,lr} - movs r4, 0 - ldr r2, _080FAC14 @ =gUnknown_020388CC - ldr r0, [r2] - adds r0, 0x7B - strb r4, [r0] - ldr r0, [r2] - adds r0, 0x7C - strb r4, [r0] - ldr r3, _080FAC18 @ =gMain - ldrh r1, [r3, 0x2C] - movs r0, 0x40 - ands r0, r1 - cmp r0, 0 - beq _080FABAA - ldr r1, [r2] - adds r0, r1, 0 - adds r0, 0x56 - ldrh r0, [r0] - cmp r0, 0x2 - bls _080FABAA - adds r1, 0x7C - movs r0, 0xFF - strb r0, [r1] - movs r4, 0x1 -_080FABAA: - ldrh r1, [r3, 0x2C] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _080FABC8 - ldr r1, [r2] - adds r0, r1, 0 - adds r0, 0x56 - ldrh r0, [r0] - cmp r0, 0xF - bhi _080FABC8 - adds r1, 0x7C - movs r0, 0x1 - strb r0, [r1] - movs r4, 0x1 -_080FABC8: - ldrh r1, [r3, 0x2C] - movs r0, 0x20 - ands r0, r1 - cmp r0, 0 - beq _080FABE6 - ldr r1, [r2] - adds r0, r1, 0 - adds r0, 0x54 - ldrh r0, [r0] - cmp r0, 0x1 - bls _080FABE6 - adds r1, 0x7B - movs r0, 0xFF - strb r0, [r1] - movs r4, 0x1 -_080FABE6: - ldrh r1, [r3, 0x2C] - movs r0, 0x10 - ands r0, r1 - cmp r0, 0 - beq _080FAC04 - ldr r1, [r2] - adds r0, r1, 0 - adds r0, 0x54 - ldrh r0, [r0] - cmp r0, 0x1B - bhi _080FAC04 - adds r1, 0x7B - movs r0, 0x1 - strb r0, [r1] - movs r4, 0x1 -_080FAC04: - ldrh r3, [r3, 0x2E] - movs r0, 0x1 - ands r0, r3 - cmp r0, 0 - beq _080FAC1C - movs r4, 0x4 - b _080FAC26 - .align 2, 0 -_080FAC14: .4byte gUnknown_020388CC -_080FAC18: .4byte gMain -_080FAC1C: - movs r0, 0x2 - ands r0, r3 - cmp r0, 0 - beq _080FAC26 - movs r4, 0x5 -_080FAC26: - cmp r4, 0x1 - bne _080FAC38 - ldr r0, [r2] - adds r0, 0x7A - movs r1, 0x4 - strb r1, [r0] - ldr r1, [r2] - ldr r0, _080FAC40 @ =_swiopen - str r0, [r1, 0x18] -_080FAC38: - adds r0, r4, 0 - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_080FAC40: .4byte _swiopen - thumb_func_end sub_80FAB78 - - thumb_func_start _swiopen -_swiopen: @ 80FAC44 - push {r4,r5,lr} - ldr r5, _080FAC5C @ =gUnknown_020388CC - ldr r1, [r5] - adds r0, r1, 0 - adds r0, 0x7A - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - cmp r0, 0 - beq _080FAC60 - movs r0, 0x2 - b _080FACFA - .align 2, 0 -_080FAC5C: .4byte gUnknown_020388CC -_080FAC60: - adds r0, r1, 0 - adds r0, 0x7B - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - cmp r0, 0 - ble _080FAC76 - adds r1, 0x54 - ldrh r0, [r1] - adds r0, 0x1 - strh r0, [r1] -_080FAC76: - ldr r1, [r5] - adds r0, r1, 0 - adds r0, 0x7B - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - cmp r0, 0 - bge _080FAC8E - adds r1, 0x54 - ldrh r0, [r1] - subs r0, 0x1 - strh r0, [r1] -_080FAC8E: - ldr r1, [r5] - adds r0, r1, 0 - adds r0, 0x7C - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - cmp r0, 0 - ble _080FACA6 - adds r1, 0x56 - ldrh r0, [r1] - adds r0, 0x1 - strh r0, [r1] -_080FACA6: - ldr r1, [r5] - adds r0, r1, 0 - adds r0, 0x7C - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - cmp r0, 0 - bge _080FACBE - adds r1, 0x56 - ldrh r0, [r1] - subs r0, 0x1 - strh r0, [r1] -_080FACBE: - ldr r1, [r5] - adds r0, r1, 0 - adds r0, 0x54 - ldrh r0, [r0] - adds r1, 0x56 - ldrh r1, [r1] - bl GetRegionMapSectionAt - lsls r0, 16 - lsrs r4, r0, 16 - adds r0, r4, 0 - bl sub_80FB758 - ldr r1, [r5] - strb r0, [r1, 0x16] - ldr r0, [r5] - ldrh r1, [r0, 0x14] - cmp r4, r1 - beq _080FACEE - strh r4, [r0, 0x14] - ldrh r1, [r0, 0x14] - movs r2, 0x10 - bl sub_80FBFB4 -_080FACEE: - bl sub_80FBA18 - ldr r1, [r5] - ldr r0, _080FAD00 @ =sub_80FAB78 - str r0, [r1, 0x18] - movs r0, 0x3 -_080FACFA: - pop {r4,r5} - pop {r1} - bx r1 - .align 2, 0 -_080FAD00: .4byte sub_80FAB78 - thumb_func_end _swiopen - - thumb_func_start sub_80FAD04 -sub_80FAD04: @ 80FAD04 - push {r4-r6,lr} - movs r4, 0 - ldr r3, _080FADD4 @ =gUnknown_020388CC - ldr r0, [r3] - mov r12, r0 - adds r0, 0x6A - strh r4, [r0] - mov r5, r12 - adds r5, 0x68 - strh r4, [r5] - ldr r2, _080FADD8 @ =gMain - ldrh r1, [r2, 0x2C] - movs r0, 0x40 - ands r0, r1 - adds r6, r3, 0 - adds r3, r2, 0 - cmp r0, 0 - beq _080FAD3E - mov r0, r12 - adds r0, 0x5E - movs r2, 0 - ldrsh r1, [r0, r2] - movs r0, 0x34 - negs r0, r0 - cmp r1, r0 - ble _080FAD3E - ldr r0, _080FADDC @ =0x0000ffff - strh r0, [r5] - movs r4, 0x1 -_080FAD3E: - ldrh r1, [r3, 0x2C] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _080FAD5E - ldr r1, [r6] - adds r0, r1, 0 - adds r0, 0x5E - movs r5, 0 - ldrsh r0, [r0, r5] - cmp r0, 0x3B - bgt _080FAD5E - adds r1, 0x68 - movs r0, 0x1 - strh r0, [r1] - movs r4, 0x1 -_080FAD5E: - ldrh r1, [r3, 0x2C] - movs r0, 0x20 - ands r0, r1 - cmp r0, 0 - beq _080FAD84 - ldr r2, [r6] - adds r0, r2, 0 - adds r0, 0x5C - movs r5, 0 - ldrsh r1, [r0, r5] - movs r0, 0x2C - negs r0, r0 - cmp r1, r0 - ble _080FAD84 - adds r1, r2, 0 - adds r1, 0x6A - ldr r0, _080FADDC @ =0x0000ffff - strh r0, [r1] - movs r4, 0x1 -_080FAD84: - ldrh r1, [r3, 0x2C] - movs r0, 0x10 - ands r0, r1 - cmp r0, 0 - beq _080FADA4 - ldr r1, [r6] - adds r0, r1, 0 - adds r0, 0x5C - movs r2, 0 - ldrsh r0, [r0, r2] - cmp r0, 0xAB - bgt _080FADA4 - adds r1, 0x6A - movs r0, 0x1 - strh r0, [r1] - movs r4, 0x1 -_080FADA4: - ldrh r2, [r3, 0x2E] - movs r0, 0x1 - ands r0, r2 - cmp r0, 0 - beq _080FADB0 - movs r4, 0x4 -_080FADB0: - movs r0, 0x2 - ands r0, r2 - cmp r0, 0 - beq _080FADBA - movs r4, 0x5 -_080FADBA: - cmp r4, 0x1 - bne _080FADCA - ldr r0, [r6] - ldr r1, _080FADE0 @ =sub_80FADE4 - str r1, [r0, 0x18] - adds r0, 0x6C - movs r1, 0 - strh r1, [r0] -_080FADCA: - adds r0, r4, 0 - pop {r4-r6} - pop {r1} - bx r1 - .align 2, 0 -_080FADD4: .4byte gUnknown_020388CC -_080FADD8: .4byte gMain -_080FADDC: .4byte 0x0000ffff -_080FADE0: .4byte sub_80FADE4 - thumb_func_end sub_80FAD04 - - thumb_func_start sub_80FADE4 -sub_80FADE4: @ 80FADE4 - push {r4,r5,lr} - ldr r5, _080FAEB4 @ =gUnknown_020388CC - ldr r2, [r5] - adds r3, r2, 0 - adds r3, 0x5E - adds r0, r2, 0 - adds r0, 0x68 - ldrh r0, [r0] - ldrh r1, [r3] - adds r0, r1 - strh r0, [r3] - adds r1, r2, 0 - adds r1, 0x5C - adds r0, r2, 0 - adds r0, 0x6A - ldrh r0, [r0] - ldrh r2, [r1] - adds r0, r2 - strh r0, [r1] - movs r4, 0 - ldrsh r0, [r1, r4] - movs r2, 0 - ldrsh r1, [r3, r2] - bl sub_80FB238 - ldr r2, [r5] - adds r1, r2, 0 - adds r1, 0x6C - ldrh r0, [r1] - adds r0, 0x1 - strh r0, [r1] - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x8 - bne _080FAEBC - adds r0, r2, 0 - adds r0, 0x5C - movs r3, 0 - ldrsh r1, [r0, r3] - adds r0, r1, 0 - adds r0, 0x2C - cmp r0, 0 - bge _080FAE3C - adds r0, 0x7 -_080FAE3C: - asrs r0, 3 - adds r0, 0x1 - lsls r0, 16 - lsrs r3, r0, 16 - adds r0, r2, 0 - adds r0, 0x5E - movs r4, 0 - ldrsh r1, [r0, r4] - adds r0, r1, 0 - adds r0, 0x34 - cmp r0, 0 - bge _080FAE56 - adds r0, 0x7 -_080FAE56: - asrs r0, 3 - adds r0, 0x2 - lsls r0, 16 - lsrs r1, r0, 16 - adds r4, r2, 0 - adds r4, 0x64 - adds r0, r2, 0 - adds r0, 0x66 - ldrh r2, [r4] - cmp r3, r2 - bne _080FAE72 - ldrh r2, [r0] - cmp r1, r2 - beq _080FAEA0 -_080FAE72: - strh r3, [r4] - strh r1, [r0] - adds r0, r3, 0 - bl GetRegionMapSectionAt - lsls r0, 16 - lsrs r4, r0, 16 - adds r0, r4, 0 - bl sub_80FB758 - ldr r1, [r5] - strb r0, [r1, 0x16] - ldr r0, [r5] - ldrh r3, [r0, 0x14] - cmp r4, r3 - beq _080FAE9C - strh r4, [r0, 0x14] - ldrh r1, [r0, 0x14] - movs r2, 0x10 - bl sub_80FBFB4 -_080FAE9C: - bl sub_80FBA18 -_080FAEA0: - ldr r0, _080FAEB4 @ =gUnknown_020388CC - ldr r2, [r0] - adds r1, r2, 0 - adds r1, 0x6C - movs r0, 0 - strh r0, [r1] - ldr r0, _080FAEB8 @ =sub_80FAD04 - str r0, [r2, 0x18] - movs r0, 0x3 - b _080FAEBE - .align 2, 0 -_080FAEB4: .4byte gUnknown_020388CC -_080FAEB8: .4byte sub_80FAD04 -_080FAEBC: - movs r0, 0x2 -_080FAEBE: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_80FADE4 - - thumb_func_start sub_80FAEC4 -sub_80FAEC4: @ 80FAEC4 - push {r4-r6,lr} - ldr r1, _080FAF40 @ =gUnknown_020388CC - ldr r2, [r1] - adds r0, r2, 0 - adds r0, 0x78 - ldrb r3, [r0] - adds r5, r1, 0 - cmp r3, 0 - bne _080FAF48 - subs r0, 0x1A - strh r3, [r0] - subs r0, 0x2 - strh r3, [r0] - str r3, [r2, 0x40] - str r3, [r2, 0x3C] - adds r4, r2, 0 - adds r4, 0x54 - ldrh r0, [r4] - lsls r0, 3 - subs r0, 0x34 - adds r1, r2, 0 - adds r1, 0x60 - strh r0, [r1] - movs r0, 0x56 - adds r0, r2 - mov r12, r0 - ldrh r0, [r0] - lsls r0, 3 - subs r0, 0x44 - adds r3, r2, 0 - adds r3, 0x62 - strh r0, [r3] - movs r6, 0 - ldrsh r0, [r1, r6] - lsls r0, 8 - cmp r0, 0 - bge _080FAF10 - adds r0, 0xF -_080FAF10: - asrs r0, 4 - str r0, [r2, 0x44] - movs r1, 0 - ldrsh r0, [r3, r1] - lsls r0, 8 - cmp r0, 0 - bge _080FAF20 - adds r0, 0xF -_080FAF20: - asrs r0, 4 - str r0, [r2, 0x48] - ldrh r1, [r4] - adds r0, r2, 0 - adds r0, 0x64 - strh r1, [r0] - mov r3, r12 - ldrh r0, [r3] - adds r1, r2, 0 - adds r1, 0x66 - strh r0, [r1] - movs r0, 0x80 - lsls r0, 9 - str r0, [r2, 0x4C] - ldr r0, _080FAF44 @ =0xfffff800 - b _080FAFA6 - .align 2, 0 -_080FAF40: .4byte gUnknown_020388CC -_080FAF44: .4byte 0xfffff800 -_080FAF48: - adds r0, r2, 0 - adds r0, 0x5C - movs r6, 0 - ldrsh r0, [r0, r6] - lsls r0, 8 - str r0, [r2, 0x3C] - adds r0, r2, 0 - adds r0, 0x5E - movs r1, 0 - ldrsh r0, [r0, r1] - lsls r0, 8 - str r0, [r2, 0x40] - adds r0, r2, 0 - adds r0, 0x60 - movs r1, 0 - strh r1, [r0] - adds r0, 0x2 - strh r1, [r0] - ldr r0, [r2, 0x3C] - cmp r0, 0 - bge _080FAF74 - adds r0, 0xF -_080FAF74: - asrs r0, 4 - negs r0, r0 - str r0, [r2, 0x44] - ldr r0, [r2, 0x40] - cmp r0, 0 - bge _080FAF82 - adds r0, 0xF -_080FAF82: - asrs r0, 4 - negs r0, r0 - str r0, [r2, 0x48] - adds r0, r2, 0 - adds r0, 0x64 - ldrh r1, [r0] - subs r0, 0x10 - strh r1, [r0] - adds r0, 0x12 - ldrh r0, [r0] - adds r1, r2, 0 - adds r1, 0x56 - strh r0, [r1] - movs r0, 0x80 - lsls r0, 8 - str r0, [r2, 0x4C] - movs r0, 0x80 - lsls r0, 4 -_080FAFA6: - str r0, [r2, 0x50] - ldr r0, [r5] - adds r0, 0x6E - movs r1, 0 - strh r1, [r0] - bl sub_80FBCA0 - bl sub_80FBDF8 - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_80FAEC4 - - thumb_func_start sub_80FAFC0 -sub_80FAFC0: @ 80FAFC0 - push {r4-r6,lr} - sub sp, 0xC - ldr r0, _080FAFD8 @ =gUnknown_020388CC - ldr r3, [r0] - adds r2, r3, 0 - adds r2, 0x6E - ldrh r1, [r2] - adds r5, r0, 0 - cmp r1, 0xF - bls _080FAFDC - movs r0, 0 - b _080FB164 - .align 2, 0 -_080FAFD8: .4byte gUnknown_020388CC -_080FAFDC: - adds r0, r1, 0x1 - movs r1, 0 - strh r0, [r2] - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x10 - bne _080FB050 - str r1, [r3, 0x44] - str r1, [r3, 0x48] - adds r0, r3, 0 - adds r0, 0x60 - ldrh r1, [r0] - subs r0, 0x4 - strh r1, [r0] - adds r0, 0x6 - ldrh r0, [r0] - adds r1, r3, 0 - adds r1, 0x5E - strh r0, [r1] - adds r1, 0x1A - ldrb r0, [r1] - movs r2, 0x80 - lsls r2, 9 - cmp r0, 0 - bne _080FB012 - movs r2, 0x80 - lsls r2, 8 -_080FB012: - str r2, [r3, 0x4C] - movs r2, 0 - ldrb r0, [r1] - cmp r0, 0 - bne _080FB01E - movs r2, 0x1 -_080FB01E: - strb r2, [r1] - ldr r1, [r5] - adds r0, r1, 0 - adds r0, 0x78 - ldrb r0, [r0] - ldr r2, _080FB048 @ =sub_80FAD04 - cmp r0, 0 - bne _080FB030 - ldr r2, _080FB04C @ =sub_80FAB78 -_080FB030: - str r2, [r1, 0x18] - adds r0, r1, 0 - adds r0, 0x58 - ldrh r0, [r0] - adds r1, 0x5A - ldrh r1, [r1] - bl sub_80FBB3C - bl sub_80FBE24 - movs r4, 0 - b _080FB132 - .align 2, 0 -_080FB048: .4byte sub_80FAD04 -_080FB04C: .4byte sub_80FAB78 -_080FB050: - ldr r2, [r3, 0x3C] - ldr r0, [r3, 0x44] - adds r2, r0 - str r2, [r3, 0x3C] - ldr r0, [r3, 0x40] - ldr r1, [r3, 0x48] - adds r0, r1 - str r0, [r3, 0x40] - asrs r2, 8 - adds r4, r3, 0 - adds r4, 0x5C - strh r2, [r4] - ldr r0, [r3, 0x40] - asrs r0, 8 - adds r1, r3, 0 - adds r1, 0x5E - strh r0, [r1] - ldr r0, [r3, 0x4C] - ldr r1, [r3, 0x50] - adds r0, r1 - str r0, [r3, 0x4C] - ldr r2, [r3, 0x44] - cmp r2, 0 - bge _080FB090 - adds r0, r3, 0 - adds r0, 0x60 - movs r6, 0 - ldrsh r1, [r4, r6] - movs r6, 0 - ldrsh r0, [r0, r6] - cmp r1, r0 - blt _080FB0A4 -_080FB090: - cmp r2, 0 - ble _080FB0B4 - adds r0, r3, 0 - adds r0, 0x60 - movs r2, 0 - ldrsh r1, [r4, r2] - movs r6, 0 - ldrsh r0, [r0, r6] - cmp r1, r0 - ble _080FB0B4 -_080FB0A4: - ldr r3, [r5] - adds r0, r3, 0 - adds r0, 0x60 - ldrh r2, [r0] - subs r0, 0x4 - movs r1, 0 - strh r2, [r0] - str r1, [r3, 0x44] -_080FB0B4: - ldr r2, [r5] - ldr r4, [r2, 0x48] - cmp r4, 0 - bge _080FB0D0 - adds r0, r2, 0 - adds r0, 0x5E - adds r3, r2, 0 - adds r3, 0x62 - movs r6, 0 - ldrsh r1, [r0, r6] - movs r6, 0 - ldrsh r0, [r3, r6] - cmp r1, r0 - blt _080FB0E8 -_080FB0D0: - cmp r4, 0 - ble _080FB0FA - adds r1, r2, 0 - adds r1, 0x5E - adds r0, r2, 0 - adds r0, 0x62 - movs r2, 0 - ldrsh r1, [r1, r2] - movs r6, 0 - ldrsh r0, [r0, r6] - cmp r1, r0 - ble _080FB0FA -_080FB0E8: - ldr r2, [r5] - adds r0, r2, 0 - adds r0, 0x62 - ldrh r1, [r0] - adds r3, r2, 0 - adds r3, 0x5E - movs r0, 0 - strh r1, [r3] - str r0, [r2, 0x48] -_080FB0FA: - ldr r0, _080FB118 @ =gUnknown_020388CC - ldr r2, [r0] - adds r0, r2, 0 - adds r0, 0x78 - ldrb r3, [r0] - cmp r3, 0 - bne _080FB120 - ldr r1, [r2, 0x4C] - ldr r0, _080FB11C @ =0x00007fff - cmp r1, r0 - bgt _080FB130 - adds r0, 0x1 - str r0, [r2, 0x4C] - str r3, [r2, 0x50] - b _080FB130 - .align 2, 0 -_080FB118: .4byte gUnknown_020388CC -_080FB11C: .4byte 0x00007fff -_080FB120: - ldr r0, [r2, 0x4C] - movs r1, 0x80 - lsls r1, 9 - cmp r0, r1 - ble _080FB130 - str r1, [r2, 0x4C] - movs r0, 0 - str r0, [r2, 0x50] -_080FB130: - movs r4, 0x1 -_080FB132: - ldr r0, _080FB16C @ =gUnknown_020388CC - ldr r3, [r0] - adds r0, r3, 0 - adds r0, 0x5C - movs r1, 0 - ldrsh r0, [r0, r1] - adds r1, r3, 0 - adds r1, 0x5E - movs r2, 0 - ldrsh r1, [r1, r2] - ldr r2, [r3, 0x4C] - lsls r2, 8 - lsrs r2, 16 - str r2, [sp] - ldr r2, [r3, 0x4C] - lsls r2, 8 - lsrs r2, 16 - str r2, [sp, 0x4] - movs r2, 0 - str r2, [sp, 0x8] - movs r2, 0x38 - movs r3, 0x48 - bl sub_80FB170 - adds r0, r4, 0 -_080FB164: - add sp, 0xC - pop {r4-r6} - pop {r1} - bx r1 - .align 2, 0 -_080FB16C: .4byte gUnknown_020388CC - thumb_func_end sub_80FAFC0 - - thumb_func_start sub_80FB170 -sub_80FB170: @ 80FB170 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x4 - ldr r4, [sp, 0x24] - ldr r7, [sp, 0x28] - ldr r5, [sp, 0x2C] - lsls r4, 16 - lsrs r4, 16 - mov r8, r4 - lsls r7, 16 - adds r4, r7, 0 - lsrs r4, 16 - mov r9, r4 - lsls r5, 24 - lsrs r5, 24 - ldr r4, _080FB230 @ =gUnknown_020388CC - ldr r6, [r4] - ldr r7, _080FB234 @ =gSineTable - mov r12, r7 - adds r4, r5, 0 - adds r4, 0x40 - lsls r4, 1 - add r4, r12 - movs r7, 0 - ldrsh r4, [r4, r7] - str r4, [sp] - mov r7, r8 - muls r7, r4 - adds r4, r7, 0 - asrs r4, 8 - mov r10, r4 - str r4, [r6, 0x2C] - lsls r5, 1 - add r5, r12 - movs r7, 0 - ldrsh r5, [r5, r7] - negs r4, r5 - mov r7, r8 - muls r7, r4 - adds r4, r7, 0 - asrs r4, 8 - mov r12, r4 - str r4, [r6, 0x30] - mov r7, r9 - muls r7, r5 - adds r5, r7, 0 - asrs r5, 8 - str r5, [r6, 0x34] - ldr r7, [sp] - mov r4, r9 - muls r4, r7 - asrs r4, 8 - mov r8, r4 - str r4, [r6, 0x38] - lsls r0, 16 - asrs r0, 8 - lsls r2, 16 - asrs r2, 16 - lsls r4, r2, 8 - adds r0, r4 - lsls r3, 16 - asrs r3, 16 - adds r4, r3, 0 - muls r4, r5 - mov r5, r10 - muls r5, r2 - adds r4, r5 - subs r0, r4 - str r0, [r6, 0x24] - lsls r1, 16 - asrs r1, 8 - lsls r0, r3, 8 - adds r1, r0 - mov r0, r8 - muls r0, r3 - mov r3, r12 - muls r3, r2 - adds r2, r3, 0 - adds r0, r2 - subs r1, r0 - str r1, [r6, 0x28] - adds r6, 0x7D - movs r0, 0x1 - strb r0, [r6] - add sp, 0x4 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080FB230: .4byte gUnknown_020388CC -_080FB234: .4byte gSineTable - thumb_func_end sub_80FB170 - - thumb_func_start sub_80FB238 -sub_80FB238: @ 80FB238 - ldr r2, _080FB25C @ =gUnknown_020388CC - ldr r2, [r2] - lsls r0, 16 - asrs r0, 8 - movs r3, 0xE0 - lsls r3, 5 - adds r0, r3 - str r0, [r2, 0x24] - lsls r1, 16 - asrs r1, 8 - movs r0, 0x90 - lsls r0, 6 - adds r1, r0 - str r1, [r2, 0x28] - adds r2, 0x7D - movs r0, 0x1 - strb r0, [r2] - bx lr - .align 2, 0 -_080FB25C: .4byte gUnknown_020388CC - thumb_func_end sub_80FB238 - - thumb_func_start sub_80FB260 -sub_80FB260: @ 80FB260 - push {lr} - ldr r0, _080FB29C @ =gUnknown_020388CC - ldr r2, [r0] - adds r3, r2, 0 - adds r3, 0x7D - ldrb r0, [r3] - cmp r0, 0 - beq _080FB298 - ldr r1, _080FB2A0 @ =REG_BG2PA - ldr r0, [r2, 0x2C] - strh r0, [r1] - adds r1, 0x2 - ldr r0, [r2, 0x34] - strh r0, [r1] - adds r1, 0x2 - ldr r0, [r2, 0x30] - strh r0, [r1] - adds r1, 0x2 - ldr r0, [r2, 0x38] - strh r0, [r1] - adds r1, 0x2 - ldr r0, [r2, 0x24] - str r0, [r1] - adds r1, 0x4 - ldr r0, [r2, 0x28] - str r0, [r1] - movs r0, 0 - strb r0, [r3] -_080FB298: - pop {r0} - bx r0 - .align 2, 0 -_080FB29C: .4byte gUnknown_020388CC -_080FB2A0: .4byte REG_BG2PA - thumb_func_end sub_80FB260 - - thumb_func_start sub_80FB2A4 -sub_80FB2A4: @ 80FB2A4 - push {r4,r5,lr} - sub sp, 0xC - lsls r0, 16 - asrs r4, r0, 16 - lsls r1, 16 - asrs r5, r1, 16 - movs r0, 0x80 - lsls r0, 1 - str r0, [sp] - str r0, [sp, 0x4] - movs r0, 0 - str r0, [sp, 0x8] - adds r0, r4, 0 - adds r1, r5, 0 - movs r2, 0x38 - movs r3, 0x48 - bl sub_80FB170 - bl sub_80FB260 - ldr r0, _080FB2E8 @ =gUnknown_020388CC - ldr r2, [r0] - ldr r1, [r2, 0x20] - cmp r1, 0 - beq _080FB2E0 - negs r0, r4 - strh r0, [r1, 0x24] - ldr r1, [r2, 0x20] - negs r0, r5 - strh r0, [r1, 0x26] -_080FB2E0: - add sp, 0xC - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080FB2E8: .4byte gUnknown_020388CC - thumb_func_end sub_80FB2A4 - - thumb_func_start GetRegionMapSectionAt -GetRegionMapSectionAt: @ 80FB2EC - push {lr} - lsls r0, 16 - lsrs r3, r0, 16 - lsls r1, 16 - ldr r0, _080FB30C @ =0xfffe0000 - adds r1, r0 - lsrs r2, r1, 16 - cmp r2, 0xE - bhi _080FB306 - cmp r3, 0 - beq _080FB306 - cmp r3, 0x1C - bls _080FB310 -_080FB306: - movs r0, 0x58 - b _080FB324 - .align 2, 0 -_080FB30C: .4byte 0xfffe0000 -_080FB310: - subs r0, r3, 0x1 - lsls r0, 16 - lsrs r3, r0, 16 - ldr r1, _080FB328 @ =gRegionMapSections - lsls r0, r2, 3 - subs r0, r2 - lsls r0, 2 - adds r0, r3, r0 - adds r0, r1 - ldrb r0, [r0] -_080FB324: - pop {r1} - bx r1 - .align 2, 0 -_080FB328: .4byte gRegionMapSections - thumb_func_end GetRegionMapSectionAt - - thumb_func_start sub_80FB32C -sub_80FB32C: @ 80FB32C - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x4 - ldr r0, _080FB358 @ =gSaveBlock1 - movs r1, 0x4 - ldrsb r1, [r0, r1] - adds r2, r0, 0 - cmp r1, 0x19 - bne _080FB35C - ldrb r0, [r2, 0x5] - subs r0, 0x29 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x2 - bhi _080FB35C - bl sub_80FB600 - b _080FB5E8 - .align 2, 0 -_080FB358: .4byte gSaveBlock1 -_080FB35C: - movs r0, 0x4 - ldrsb r0, [r2, r0] - movs r1, 0x5 - ldrsb r1, [r2, r1] - bl get_map_light_level_by_bank_and_number - lsls r0, 24 - lsrs r0, 24 - subs r0, 0x1 - cmp r0, 0x8 - bhi _080FB3A4 - lsls r0, 2 - ldr r1, _080FB37C @ =_080FB380 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_080FB37C: .4byte _080FB380 - .align 2, 0 -_080FB380: - .4byte _080FB3A4 - .4byte _080FB3A4 - .4byte _080FB3A4 - .4byte _080FB3E0 - .4byte _080FB3A4 - .4byte _080FB3A4 - .4byte _080FB3E0 - .4byte _080FB464 - .4byte _080FB428 -_080FB3A4: - ldr r4, _080FB3D4 @ =gUnknown_020388CC - ldr r0, [r4] - ldr r3, _080FB3D8 @ =gMapHeader - ldrb r1, [r3, 0x14] - movs r2, 0 - strh r1, [r0, 0x14] - adds r0, 0x7F - strb r2, [r0] - ldr r0, [r3] - ldrh r2, [r0] - ldrh r0, [r0, 0x4] - mov r8, r0 - ldr r0, _080FB3DC @ =gSaveBlock1 - ldrh r6, [r0] - ldrh r3, [r0, 0x2] - ldr r1, [r4] - ldrh r0, [r1, 0x14] - cmp r0, 0x45 - beq _080FB3CC - b _080FB4CC -_080FB3CC: - adds r1, 0x7F - movs r0, 0x1 - strb r0, [r1] - b _080FB4CC - .align 2, 0 -_080FB3D4: .4byte gUnknown_020388CC -_080FB3D8: .4byte gMapHeader -_080FB3DC: .4byte gSaveBlock1 -_080FB3E0: - ldr r4, _080FB420 @ =gSaveBlock1 - adds r0, r4, 0 - adds r0, 0x24 - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - lsls r0, 16 - lsrs r0, 16 - adds r1, r4, 0 - adds r1, 0x25 - ldrb r1, [r1] - lsls r1, 24 - asrs r1, 24 - lsls r1, 16 - lsrs r1, 16 - bl get_mapheader_by_bank_and_number - adds r2, r0, 0 - ldr r0, _080FB424 @ =gUnknown_020388CC - ldr r0, [r0] - ldrb r1, [r2, 0x14] - strh r1, [r0, 0x14] - adds r0, 0x7F - movs r1, 0x1 - strb r1, [r0] - ldr r0, [r2] - ldrh r2, [r0] - ldrh r0, [r0, 0x4] - mov r8, r0 - ldrh r6, [r4, 0x28] - ldrh r3, [r4, 0x2A] - b _080FB4CC - .align 2, 0 -_080FB420: .4byte gSaveBlock1 -_080FB424: .4byte gUnknown_020388CC -_080FB428: - ldr r4, _080FB45C @ =gSaveBlock1 - movs r0, 0x14 - ldrsb r0, [r4, r0] - lsls r0, 16 - lsrs r0, 16 - movs r1, 0x15 - ldrsb r1, [r4, r1] - lsls r1, 16 - lsrs r1, 16 - bl get_mapheader_by_bank_and_number - adds r2, r0, 0 - ldr r0, _080FB460 @ =gUnknown_020388CC - ldr r0, [r0] - ldrb r1, [r2, 0x14] - strh r1, [r0, 0x14] - adds r0, 0x7F - movs r1, 0x1 - strb r1, [r0] - ldr r0, [r2] - ldrh r2, [r0] - ldrh r0, [r0, 0x4] - mov r8, r0 - ldrh r6, [r4, 0x18] - ldrh r3, [r4, 0x1A] - b _080FB4CC - .align 2, 0 -_080FB45C: .4byte gSaveBlock1 -_080FB460: .4byte gUnknown_020388CC -_080FB464: - ldr r5, _080FB48C @ =gUnknown_020388CC - ldr r0, [r5] - ldr r1, _080FB490 @ =gMapHeader - ldrb r1, [r1, 0x14] - strh r1, [r0, 0x14] - cmp r1, 0x57 - beq _080FB498 - ldr r4, _080FB494 @ =gSaveBlock1 + 0x24 - movs r0, 0 - ldrsb r0, [r4, r0] - lsls r0, 16 - lsrs r0, 16 - movs r1, 0x1 - ldrsb r1, [r4, r1] - lsls r1, 16 - lsrs r1, 16 - bl get_mapheader_by_bank_and_number - adds r2, r0, 0 - b _080FB4B6 - .align 2, 0 -_080FB48C: .4byte gUnknown_020388CC -_080FB490: .4byte gMapHeader -_080FB494: .4byte gSaveBlock1 + 0x24 -_080FB498: - ldr r4, _080FB548 @ =gSaveBlock1 + 0x14 - movs r0, 0 - ldrsb r0, [r4, r0] - lsls r0, 16 - lsrs r0, 16 - movs r1, 0x1 - ldrsb r1, [r4, r1] - lsls r1, 16 - lsrs r1, 16 - bl get_mapheader_by_bank_and_number - adds r2, r0, 0 - ldr r1, [r5] - ldrb r0, [r2, 0x14] - strh r0, [r1, 0x14] -_080FB4B6: - ldr r0, _080FB54C @ =gUnknown_020388CC - ldr r0, [r0] - adds r0, 0x7F - movs r1, 0 - strb r1, [r0] - ldr r0, [r2] - ldrh r2, [r0] - ldrh r0, [r0, 0x4] - mov r8, r0 - ldrh r6, [r4, 0x4] - ldrh r3, [r4, 0x6] -_080FB4CC: - mov r9, r6 - ldr r4, _080FB54C @ =gUnknown_020388CC - ldr r0, [r4] - ldrh r5, [r0, 0x14] - lsls r0, r5, 3 - ldr r1, _080FB550 @ =gRegionMapLocations - adds r0, r1 - mov r10, r0 - ldrb r7, [r0, 0x2] - adds r0, r2, 0 - adds r1, r7, 0 - str r3, [sp] - bl __divsi3 - lsls r0, 16 - lsrs r1, r0, 16 - ldr r3, [sp] - cmp r1, 0 - bne _080FB4F4 - movs r1, 0x1 -_080FB4F4: - adds r0, r6, 0 - str r3, [sp] - bl __udivsi3 - lsls r0, 16 - lsrs r6, r0, 16 - ldr r3, [sp] - cmp r6, r7 - bcc _080FB50C - subs r0, r7, 0x1 - lsls r0, 16 - lsrs r6, r0, 16 -_080FB50C: - mov r2, r10 - ldrb r4, [r2, 0x3] - mov r0, r8 - adds r1, r4, 0 - str r3, [sp] - bl __divsi3 - lsls r0, 16 - lsrs r1, r0, 16 - ldr r3, [sp] - cmp r1, 0 - bne _080FB526 - movs r1, 0x1 -_080FB526: - adds r0, r3, 0 - bl __udivsi3 - lsls r0, 16 - lsrs r3, r0, 16 - cmp r3, r4 - bcc _080FB53A - subs r0, r4, 0x1 - lsls r0, 16 - lsrs r3, r0, 16 -_080FB53A: - cmp r5, 0x24 - beq _080FB59C - cmp r5, 0x24 - bgt _080FB554 - cmp r5, 0x1D - beq _080FB55E - b _080FB5BE - .align 2, 0 -_080FB548: .4byte gSaveBlock1 + 0x14 -_080FB54C: .4byte gUnknown_020388CC -_080FB550: .4byte gRegionMapLocations -_080FB554: - cmp r5, 0x29 - beq _080FB566 - cmp r5, 0x33 - beq _080FB566 - b _080FB5BE -_080FB55E: - cmp r3, 0 - beq _080FB5BE - movs r6, 0 - b _080FB5BE -_080FB566: - movs r6, 0 - ldr r1, _080FB598 @ =gSaveBlock1 - movs r2, 0 - ldrsh r0, [r1, r2] - cmp r0, 0x20 - ble _080FB574 - movs r6, 0x1 -_080FB574: - cmp r0, 0x33 - ble _080FB57E - adds r0, r6, 0x1 - lsls r0, 16 - lsrs r6, r0, 16 -_080FB57E: - movs r3, 0 - movs r2, 0x2 - ldrsh r0, [r1, r2] - cmp r0, 0x25 - ble _080FB58A - movs r3, 0x1 -_080FB58A: - cmp r0, 0x38 - ble _080FB5BE - adds r0, r3, 0x1 - lsls r0, 16 - lsrs r3, r0, 16 - b _080FB5BE - .align 2, 0 -_080FB598: .4byte gSaveBlock1 -_080FB59C: - movs r6, 0 - mov r0, r9 - cmp r0, 0xE - bls _080FB5A6 - movs r6, 0x1 -_080FB5A6: - mov r1, r9 - cmp r1, 0x1C - bls _080FB5B2 - adds r0, r6, 0x1 - lsls r0, 16 - lsrs r6, r0, 16 -_080FB5B2: - mov r2, r9 - cmp r2, 0x36 - bls _080FB5BE - adds r0, r6, 0x1 - lsls r0, 16 - lsrs r6, r0, 16 -_080FB5BE: - ldr r0, _080FB5F8 @ =gUnknown_020388CC - ldr r2, [r0] - ldrh r0, [r2, 0x14] - lsls r0, 3 - ldr r1, _080FB5FC @ =gRegionMapLocations - adds r0, r1 - ldrb r0, [r0] - adds r0, r6, r0 - adds r0, 0x1 - adds r1, r2, 0 - adds r1, 0x54 - strh r0, [r1] - ldrh r0, [r2, 0x14] - lsls r0, 3 - ldr r1, _080FB5FC @ =gRegionMapLocations - adds r0, r1 - ldrb r0, [r0, 0x1] - adds r0, r3, r0 - adds r0, 0x2 - adds r2, 0x56 - strh r0, [r2] -_080FB5E8: - add sp, 0x4 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080FB5F8: .4byte gUnknown_020388CC -_080FB5FC: .4byte gRegionMapLocations - thumb_func_end sub_80FB32C - - thumb_func_start sub_80FB600 -sub_80FB600: @ 80FB600 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x8 - movs r7, 0 - movs r0, 0 - mov r8, r0 - mov r4, sp - adds r4, 0x1 - mov r5, sp - adds r5, 0x2 - add r6, sp, 0x4 - mov r0, sp - adds r1, r4, 0 - adds r2, r5, 0 - adds r3, r6, 0 - bl GetSSTidalLocation - lsls r0, 24 - lsrs r0, 24 - mov r10, r5 - cmp r0, 0x4 - bhi _080FB694 - lsls r0, 2 - ldr r1, _080FB63C @ =_080FB640 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_080FB63C: .4byte _080FB640 - .align 2, 0 -_080FB640: - .4byte _080FB694 - .4byte _080FB654 - .4byte _080FB664 - .4byte _080FB674 - .4byte _080FB684 -_080FB654: - ldr r2, _080FB660 @ =gUnknown_020388CC - ldr r1, [r2] - movs r0, 0x8 - strh r0, [r1, 0x14] - b _080FB710 - .align 2, 0 -_080FB660: .4byte gUnknown_020388CC -_080FB664: - ldr r2, _080FB670 @ =gUnknown_020388CC - ldr r1, [r2] - movs r0, 0xC - strh r0, [r1, 0x14] - b _080FB710 - .align 2, 0 -_080FB670: .4byte gUnknown_020388CC -_080FB674: - ldr r2, _080FB680 @ =gUnknown_020388CC - ldr r1, [r2] - movs r0, 0x27 - strh r0, [r1, 0x14] - b _080FB710 - .align 2, 0 -_080FB680: .4byte gUnknown_020388CC -_080FB684: - ldr r2, _080FB690 @ =gUnknown_020388CC - ldr r1, [r2] - movs r0, 0x2E - strh r0, [r1, 0x14] - b _080FB710 - .align 2, 0 -_080FB690: .4byte gUnknown_020388CC -_080FB694: - mov r0, sp - ldrb r0, [r0] - ldrb r1, [r4] - bl get_mapheader_by_bank_and_number - ldr r1, _080FB750 @ =gUnknown_020388CC - mov r9, r1 - ldr r2, [r1] - ldrb r1, [r0, 0x14] - strh r1, [r2, 0x14] - ldr r6, [r0] - ldr r1, _080FB754 @ =gRegionMapLocations - ldrh r0, [r2, 0x14] - lsls r0, 3 - adds r5, r0, r1 - ldrb r4, [r5, 0x2] - ldr r0, [r6] - adds r1, r4, 0 - bl __divsi3 - lsls r0, 16 - lsrs r1, r0, 16 - cmp r1, 0 - bne _080FB6C6 - movs r1, 0x1 -_080FB6C6: - mov r2, r10 - movs r3, 0 - ldrsh r0, [r2, r3] - bl __divsi3 - lsls r0, 16 - lsrs r0, 16 - mov r8, r0 - cmp r8, r4 - bcc _080FB6E2 - subs r0, r4, 0x1 - lsls r0, 16 - lsrs r0, 16 - mov r8, r0 -_080FB6E2: - ldrb r4, [r5, 0x3] - ldr r0, [r6, 0x4] - adds r1, r4, 0 - bl __divsi3 - lsls r0, 16 - lsrs r1, r0, 16 - cmp r1, 0 - bne _080FB6F6 - movs r1, 0x1 -_080FB6F6: - mov r2, sp - movs r3, 0x4 - ldrsh r0, [r2, r3] - bl __divsi3 - lsls r0, 16 - lsrs r7, r0, 16 - mov r2, r9 - cmp r7, r4 - bcc _080FB710 - subs r0, r4, 0x1 - lsls r0, 16 - lsrs r7, r0, 16 -_080FB710: - ldr r0, [r2] - adds r0, 0x7F - movs r1, 0 - strb r1, [r0] - ldr r2, [r2] - ldr r3, _080FB754 @ =gRegionMapLocations - ldrh r0, [r2, 0x14] - lsls r0, 3 - adds r0, r3 - ldrb r0, [r0] - add r0, r8 - adds r0, 0x1 - adds r1, r2, 0 - adds r1, 0x54 - strh r0, [r1] - ldrh r0, [r2, 0x14] - lsls r0, 3 - adds r0, r3 - ldrb r0, [r0, 0x1] - adds r0, r7, r0 - adds r0, 0x2 - adds r2, 0x56 - strh r0, [r2] - add sp, 0x8 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080FB750: .4byte gUnknown_020388CC -_080FB754: .4byte gRegionMapLocations - thumb_func_end sub_80FB600 - - thumb_func_start sub_80FB758 -sub_80FB758: @ 80FB758 - push {lr} - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x58 - bls _080FB764 - b _080FB9A0 -_080FB764: - lsls r0, 2 - ldr r1, _080FB770 @ =_080FB774 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_080FB770: .4byte _080FB774 - .align 2, 0 -_080FB774: - .4byte _080FB8DC - .4byte _080FB8E4 - .4byte _080FB8EA - .4byte _080FB8F4 - .4byte _080FB8FC - .4byte _080FB904 - .4byte _080FB90C - .4byte _080FB914 - .4byte _080FB91C - .4byte _080FB924 - .4byte _080FB92C - .4byte _080FB934 - .4byte _080FB93C - .4byte _080FB944 - .4byte _080FB94C - .4byte _080FB954 - .4byte _080FB9A0 - .4byte _080FB9A0 - .4byte _080FB9A0 - .4byte _080FB9A0 - .4byte _080FB9A0 - .4byte _080FB9A0 - .4byte _080FB9A0 - .4byte _080FB9A0 - .4byte _080FB9A0 - .4byte _080FB9A0 - .4byte _080FB9A0 - .4byte _080FB9A0 - .4byte _080FB9A0 - .4byte _080FB9A0 - .4byte _080FB9A0 - .4byte _080FB9A0 - .4byte _080FB9A0 - .4byte _080FB9A0 - .4byte _080FB9A0 - .4byte _080FB9A0 - .4byte _080FB9A0 - .4byte _080FB9A0 - .4byte _080FB9A0 - .4byte _080FB9A0 - .4byte _080FB9A0 - .4byte _080FB9A0 - .4byte _080FB9A0 - .4byte _080FB9A0 - .4byte _080FB9A0 - .4byte _080FB9A0 - .4byte _080FB9A0 - .4byte _080FB9A0 - .4byte _080FB9A0 - .4byte _080FB9A0 - .4byte _080FB9A0 - .4byte _080FB9A0 - .4byte _080FB9A0 - .4byte _080FB9A0 - .4byte _080FB9A0 - .4byte _080FB9A0 - .4byte _080FB9A0 - .4byte _080FB9A0 - .4byte _080FB96C - .4byte _080FB9A0 - .4byte _080FB9A0 - .4byte _080FB9A0 - .4byte _080FB9A0 - .4byte _080FB9A0 - .4byte _080FB9A0 - .4byte _080FB9A0 - .4byte _080FB9A0 - .4byte _080FB9A0 - .4byte _080FB9A0 - .4byte _080FB9A0 - .4byte _080FB9A0 - .4byte _080FB9A0 - .4byte _080FB9A0 - .4byte _080FB988 - .4byte _080FB9A0 - .4byte _080FB9A0 - .4byte _080FB9A0 - .4byte _080FB9A0 - .4byte _080FB9A0 - .4byte _080FB9A0 - .4byte _080FB9A0 - .4byte _080FB9A0 - .4byte _080FB9A0 - .4byte _080FB9A0 - .4byte _080FB9A0 - .4byte _080FB9A0 - .4byte _080FB9A0 - .4byte _080FB9A0 - .4byte _080FB8D8 -_080FB8D8: - movs r0, 0 - b _080FB9A2 -_080FB8DC: - ldr r0, _080FB8E0 @ =0x0000080f - b _080FB956 - .align 2, 0 -_080FB8E0: .4byte 0x0000080f -_080FB8E4: - movs r0, 0x81 - lsls r0, 4 - b _080FB956 -_080FB8EA: - ldr r0, _080FB8F0 @ =0x00000811 - b _080FB956 - .align 2, 0 -_080FB8F0: .4byte 0x00000811 -_080FB8F4: - ldr r0, _080FB8F8 @ =0x00000812 - b _080FB956 - .align 2, 0 -_080FB8F8: .4byte 0x00000812 -_080FB8FC: - ldr r0, _080FB900 @ =0x00000813 - b _080FB956 - .align 2, 0 -_080FB900: .4byte 0x00000813 -_080FB904: - ldr r0, _080FB908 @ =0x00000814 - b _080FB956 - .align 2, 0 -_080FB908: .4byte 0x00000814 -_080FB90C: - ldr r0, _080FB910 @ =0x00000815 - b _080FB956 - .align 2, 0 -_080FB910: .4byte 0x00000815 -_080FB914: - ldr r0, _080FB918 @ =0x00000816 - b _080FB956 - .align 2, 0 -_080FB918: .4byte 0x00000816 -_080FB91C: - ldr r0, _080FB920 @ =0x00000817 - b _080FB956 - .align 2, 0 -_080FB920: .4byte 0x00000817 -_080FB924: - ldr r0, _080FB928 @ =0x00000818 - b _080FB956 - .align 2, 0 -_080FB928: .4byte 0x00000818 -_080FB92C: - ldr r0, _080FB930 @ =0x00000819 - b _080FB956 - .align 2, 0 -_080FB930: .4byte 0x00000819 -_080FB934: - ldr r0, _080FB938 @ =0x0000081a - b _080FB956 - .align 2, 0 -_080FB938: .4byte 0x0000081a -_080FB93C: - ldr r0, _080FB940 @ =0x0000081b - b _080FB956 - .align 2, 0 -_080FB940: .4byte 0x0000081b -_080FB944: - ldr r0, _080FB948 @ =0x0000081c - b _080FB956 - .align 2, 0 -_080FB948: .4byte 0x0000081c -_080FB94C: - ldr r0, _080FB950 @ =0x0000081d - b _080FB956 - .align 2, 0 -_080FB950: .4byte 0x0000081d -_080FB954: - ldr r0, _080FB968 @ =0x0000081e -_080FB956: - bl FlagGet - lsls r0, 24 - movs r1, 0x3 - cmp r0, 0 - beq _080FB964 - movs r1, 0x2 -_080FB964: - adds r0, r1, 0 - b _080FB9A2 - .align 2, 0 -_080FB968: .4byte 0x0000081e -_080FB96C: - ldr r0, _080FB984 @ =0x00000848 - bl FlagGet - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - negs r0, r1 - orrs r0, r1 - asrs r0, 31 - movs r1, 0x4 - ands r0, r1 - b _080FB9A2 - .align 2, 0 -_080FB984: .4byte 0x00000848 -_080FB988: - ldr r0, _080FB99C @ =0x00000849 - bl FlagGet - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - negs r0, r1 - orrs r0, r1 - lsrs r0, 31 - b _080FB9A2 - .align 2, 0 -_080FB99C: .4byte 0x00000849 -_080FB9A0: - movs r0, 0x1 -_080FB9A2: - pop {r1} - bx r1 - thumb_func_end sub_80FB758 - - thumb_func_start GetRegionMapSectionAt_ -GetRegionMapSectionAt_: @ 80FB9A8 - push {lr} - lsls r0, 16 - lsrs r0, 16 - lsls r1, 16 - lsrs r1, 16 - bl GetRegionMapSectionAt - lsls r0, 16 - lsrs r0, 16 - pop {r1} - bx r1 - thumb_func_end GetRegionMapSectionAt_ - - thumb_func_start sub_80FB9C0 -sub_80FB9C0: @ 80FB9C0 - push {r4-r6,lr} - lsls r0, 16 - lsrs r3, r0, 16 - movs r2, 0 - ldr r0, _080FB9E8 @ =gUnknown_083E7684 - ldrh r1, [r0] - adds r4, r0, 0 - cmp r1, 0x58 - beq _080FB9FC - adds r5, r4, 0 - adds r6, r4, 0x2 -_080FB9D6: - lsls r1, r2, 2 - adds r0, r1, r5 - ldrh r0, [r0] - cmp r0, r3 - bne _080FB9EC - adds r0, r1, r6 - ldrh r0, [r0] - b _080FB9FE - .align 2, 0 -_080FB9E8: .4byte gUnknown_083E7684 -_080FB9EC: - adds r0, r2, 0x1 - lsls r0, 16 - lsrs r2, r0, 16 - lsls r0, r2, 2 - adds r0, r4 - ldrh r0, [r0] - cmp r0, 0x58 - bne _080FB9D6 -_080FB9FC: - adds r0, r3, 0 -_080FB9FE: - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_80FB9C0 - - thumb_func_start sub_80FBA04 -sub_80FBA04: @ 80FBA04 - push {lr} - lsls r0, 16 - lsrs r0, 16 - bl sub_80FB9C0 - lsls r0, 16 - lsrs r0, 16 - pop {r1} - bx r1 - thumb_func_end sub_80FBA04 - - thumb_func_start sub_80FBA18 -sub_80FBA18: @ 80FBA18 - push {r4-r6,lr} - ldr r0, _080FBA2C @ =gUnknown_020388CC - ldr r1, [r0] - ldrh r0, [r1, 0x14] - cmp r0, 0x58 - bne _080FBA30 - movs r0, 0 - strb r0, [r1, 0x17] - b _080FBA96 - .align 2, 0 -_080FBA2C: .4byte gUnknown_020388CC -_080FBA30: - adds r0, r1, 0 - adds r0, 0x78 - ldrb r0, [r0] - cmp r0, 0 - bne _080FBA40 - adds r0, r1, 0 - adds r0, 0x54 - b _080FBA44 -_080FBA40: - adds r0, r1, 0 - adds r0, 0x64 -_080FBA44: - ldrh r4, [r0] - adds r0, 0x2 - ldrh r5, [r0] - movs r6, 0 - b _080FBA70 -_080FBA4E: - subs r0, r4, 0x1 - lsls r0, 16 - lsrs r4, r0, 16 - adds r0, r4, 0 - adds r1, r5, 0 - bl GetRegionMapSectionAt - ldr r1, _080FBA8C @ =gUnknown_020388CC - ldr r1, [r1] - lsls r0, 16 - lsrs r0, 16 - ldrh r1, [r1, 0x14] - cmp r0, r1 - bne _080FBA70 - adds r0, r6, 0x1 - lsls r0, 16 - lsrs r6, r0, 16 -_080FBA70: - cmp r4, 0x1 - bhi _080FBA4E - adds r0, r5, 0 - bl sub_80FBAA0 - lsls r0, 24 - cmp r0, 0 - beq _080FBA90 - subs r0, r5, 0x1 - lsls r0, 16 - lsrs r5, r0, 16 - movs r4, 0x1D - b _080FBA70 - .align 2, 0 -_080FBA8C: .4byte gUnknown_020388CC -_080FBA90: - ldr r0, _080FBA9C @ =gUnknown_020388CC - ldr r0, [r0] - strb r6, [r0, 0x17] -_080FBA96: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080FBA9C: .4byte gUnknown_020388CC - thumb_func_end sub_80FBA18 - - thumb_func_start sub_80FBAA0 -sub_80FBAA0: @ 80FBAA0 - push {r4,r5,lr} - lsls r0, 16 - ldr r1, _080FBAB4 @ =0xffff0000 - adds r0, r1 - lsrs r5, r0, 16 - ldr r0, _080FBAB8 @ =0x0000ffff - cmp r5, r0 - bne _080FBAC0 - b _080FBAE2 - .align 2, 0 -_080FBAB4: .4byte 0xffff0000 -_080FBAB8: .4byte 0x0000ffff -_080FBABC: - movs r0, 0x1 - b _080FBAE4 -_080FBAC0: - movs r4, 0x1 -_080FBAC2: - adds r0, r4, 0 - adds r1, r5, 0 - bl GetRegionMapSectionAt - ldr r1, _080FBAEC @ =gUnknown_020388CC - ldr r1, [r1] - lsls r0, 16 - lsrs r0, 16 - ldrh r1, [r1, 0x14] - cmp r0, r1 - beq _080FBABC - adds r0, r4, 0x1 - lsls r0, 16 - lsrs r4, r0, 16 - cmp r4, 0x1C - bls _080FBAC2 -_080FBAE2: - movs r0, 0 -_080FBAE4: - pop {r4,r5} - pop {r1} - bx r1 - .align 2, 0 -_080FBAEC: .4byte gUnknown_020388CC - thumb_func_end sub_80FBAA0 - - thumb_func_start sub_80FBAF0 -sub_80FBAF0: @ 80FBAF0 - push {r4,lr} - adds r2, r0, 0 - ldr r0, _080FBB34 @ =gUnknown_020388CC - ldr r1, [r0] - adds r3, r1, 0 - adds r3, 0x7A - movs r0, 0 - ldrsb r0, [r3, r0] - cmp r0, 0 - beq _080FBB2E - adds r0, r1, 0 - adds r0, 0x7B - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - lsls r0, 1 - ldrh r4, [r2, 0x20] - adds r0, r4 - strh r0, [r2, 0x20] - adds r0, r1, 0 - adds r0, 0x7C - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - lsls r0, 1 - ldrh r1, [r2, 0x22] - adds r0, r1 - strh r0, [r2, 0x22] - ldrb r0, [r3] - subs r0, 0x1 - strb r0, [r3] -_080FBB2E: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080FBB34: .4byte gUnknown_020388CC - thumb_func_end sub_80FBAF0 - - thumb_func_start nullsub_66 -nullsub_66: @ 80FBB38 - bx lr - thumb_func_end nullsub_66 - - thumb_func_start sub_80FBB3C -sub_80FBB3C: @ 80FBB3C - push {r4-r7,lr} - sub sp, 0x28 - lsls r0, 16 - lsls r1, 16 - lsrs r6, r1, 16 - ldr r1, _080FBBAC @ =gUnknown_083E76E8 - ldr r2, [r1, 0x4] - ldr r1, [r1] - str r1, [sp, 0x20] - str r2, [sp, 0x24] - mov r2, sp - ldr r1, _080FBBB0 @ =gSpriteTemplate_83E76F0 - ldm r1!, {r3-r5} - stm r2!, {r3-r5} - ldm r1!, {r3-r5} - stm r2!, {r3-r5} - lsrs r3, r0, 16 - add r2, sp, 0x18 - ldrh r1, [r2, 0x4] - orrs r1, r0 - str r1, [r2, 0x4] - mov r0, sp - strh r3, [r0] - ldr r0, _080FBBB4 @ =gUnknown_020388CC - ldr r4, [r0] - adds r0, r4, 0 - adds r0, 0x58 - strh r3, [r0] - ldr r5, _080FBBB8 @ =0xffff0000 - add r1, sp, 0x20 - ldr r0, [r1, 0x4] - ands r0, r5 - orrs r0, r6 - str r0, [r1, 0x4] - mov r0, sp - strh r6, [r0, 0x2] - adds r3, r4, 0 - adds r0, r3, 0 - adds r0, 0x5A - strh r6, [r0] - adds r0, 0x1E - ldrb r0, [r0] - adds r7, r1, 0 - cmp r0, 0 - bne _080FBBC0 - movs r1, 0xC0 - lsls r1, 1 - adds r0, r3, r1 - str r0, [sp, 0x18] - ldr r0, [r2, 0x4] - ands r0, r5 - subs r1, 0x80 - orrs r0, r1 - str r0, [r2, 0x4] - ldr r0, _080FBBBC @ =sub_80FBAF0 - b _080FBBD6 - .align 2, 0 -_080FBBAC: .4byte gUnknown_083E76E8 -_080FBBB0: .4byte gSpriteTemplate_83E76F0 -_080FBBB4: .4byte gUnknown_020388CC -_080FBBB8: .4byte 0xffff0000 -_080FBBBC: .4byte sub_80FBAF0 -_080FBBC0: - movs r3, 0xA0 - lsls r3, 2 - adds r0, r4, r3 - str r0, [sp, 0x18] - ldr r0, [r2, 0x4] - ands r0, r5 - movs r1, 0xC0 - lsls r1, 3 - orrs r0, r1 - str r0, [r2, 0x4] - ldr r0, _080FBC38 @ =nullsub_66 -_080FBBD6: - str r0, [sp, 0x14] - adds r0, r2, 0 - bl LoadSpriteSheet - adds r0, r7, 0 - bl LoadSpritePalette - mov r0, sp - movs r1, 0x38 - movs r2, 0x48 - movs r3, 0 - bl CreateSprite - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0x40 - beq _080FBC90 - ldr r4, _080FBC3C @ =gUnknown_020388CC - ldr r2, [r4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, _080FBC40 @ =gSprites - adds r3, r0, r1 - str r3, [r2, 0x1C] - adds r2, 0x78 - ldrb r0, [r2] - cmp r0, 0x1 - bne _080FBC44 - ldrb r1, [r3, 0x3] - movs r0, 0x3F - ands r0, r1 - movs r1, 0x80 - orrs r0, r1 - strb r0, [r3, 0x3] - ldr r2, [r4] - ldr r1, [r2, 0x1C] - ldrh r0, [r1, 0x20] - subs r0, 0x8 - strh r0, [r1, 0x20] - ldr r1, [r2, 0x1C] - ldrh r0, [r1, 0x22] - subs r0, 0x8 - strh r0, [r1, 0x22] - ldr r0, [r2, 0x1C] - movs r1, 0x1 - bl StartSpriteAnim - b _080FBC6C - .align 2, 0 -_080FBC38: .4byte nullsub_66 -_080FBC3C: .4byte gUnknown_020388CC -_080FBC40: .4byte gSprites -_080FBC44: - ldrb r1, [r3, 0x3] - movs r0, 0x3F - ands r0, r1 - movs r1, 0x40 - orrs r0, r1 - strb r0, [r3, 0x3] - ldr r1, [r4] - ldr r2, [r1, 0x1C] - adds r0, r1, 0 - adds r0, 0x54 - ldrh r0, [r0] - lsls r0, 3 - adds r0, 0x4 - strh r0, [r2, 0x20] - ldr r2, [r1, 0x1C] - adds r1, 0x56 - ldrh r0, [r1] - lsls r0, 3 - adds r0, 0x4 - strh r0, [r2, 0x22] -_080FBC6C: - ldr r4, _080FBC98 @ =gUnknown_020388CC - ldr r0, [r4] - ldr r1, [r0, 0x1C] - movs r0, 0x2 - strh r0, [r1, 0x30] - adds r0, r6, 0 - bl IndexOfSpritePaletteTag - ldr r1, [r4] - ldr r2, [r1, 0x1C] - lsls r0, 24 - lsrs r0, 20 - ldr r4, _080FBC9C @ =0x00000101 - adds r0, r4 - strh r0, [r2, 0x32] - ldr r1, [r1, 0x1C] - movs r0, 0x1 - strh r0, [r1, 0x34] -_080FBC90: - add sp, 0x28 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080FBC98: .4byte gUnknown_020388CC -_080FBC9C: .4byte 0x00000101 - thumb_func_end sub_80FBB3C - - thumb_func_start sub_80FBCA0 -sub_80FBCA0: @ 80FBCA0 - push {r4,lr} - ldr r4, _080FBCCC @ =gUnknown_020388CC - ldr r0, [r4] - ldr r0, [r0, 0x1C] - cmp r0, 0 - beq _080FBCC4 - bl DestroySprite - ldr r0, [r4] - adds r0, 0x58 - ldrh r0, [r0] - bl FreeSpriteTilesByTag - ldr r0, [r4] - adds r0, 0x5A - ldrh r0, [r0] - bl FreeSpritePaletteByTag -_080FBCC4: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080FBCCC: .4byte gUnknown_020388CC - thumb_func_end sub_80FBCA0 - - thumb_func_start unref_sub_80FBCD0 -unref_sub_80FBCD0: @ 80FBCD0 - ldr r0, _080FBCDC @ =gUnknown_020388CC - ldr r0, [r0] - ldr r1, [r0, 0x1C] - movs r0, 0x1 - strh r0, [r1, 0x34] - bx lr - .align 2, 0 -_080FBCDC: .4byte gUnknown_020388CC - thumb_func_end unref_sub_80FBCD0 - - thumb_func_start unref_sub_80FBCE0 -unref_sub_80FBCE0: @ 80FBCE0 - ldr r0, _080FBCEC @ =gUnknown_020388CC - ldr r0, [r0] - ldr r1, [r0, 0x1C] - movs r0, 0 - strh r0, [r1, 0x34] - bx lr - .align 2, 0 -_080FBCEC: .4byte gUnknown_020388CC - thumb_func_end unref_sub_80FBCE0 - - thumb_func_start sub_80FBCF0 -sub_80FBCF0: @ 80FBCF0 - push {r4,r5,lr} - sub sp, 0x28 - lsls r0, 16 - lsls r1, 16 - lsrs r1, 16 - ldr r2, _080FBD98 @ =gRegionMapBrendanIconTiles - str r2, [sp, 0x18] - movs r2, 0x80 - add r5, sp, 0x18 - lsrs r3, r0, 16 - orrs r0, r2 - str r0, [r5, 0x4] - ldr r0, _080FBD9C @ =gRegionMapBrendanIconPalette - str r0, [sp, 0x20] - ldr r2, _080FBDA0 @ =0xffff0000 - add r4, sp, 0x20 - ldr r0, [r4, 0x4] - ands r0, r2 - orrs r0, r1 - str r0, [r4, 0x4] - mov r0, sp - movs r2, 0 - strh r3, [r0] - strh r1, [r0, 0x2] - ldr r0, _080FBDA4 @ =gOamData_083E7708 - str r0, [sp, 0x4] - ldr r0, _080FBDA8 @ =gSpriteAnimTable_083E7718 - str r0, [sp, 0x8] - str r2, [sp, 0xC] - ldr r0, _080FBDAC @ =gDummySpriteAffineAnimTable - str r0, [sp, 0x10] - ldr r0, _080FBDB0 @ =SpriteCallbackDummy - str r0, [sp, 0x14] - ldr r0, _080FBDB4 @ =gSaveBlock2 - ldrb r0, [r0, 0x8] - cmp r0, 0x1 - bne _080FBD42 - ldr r0, _080FBDB8 @ =gRegionMapMayIconTiles - str r0, [sp, 0x18] - ldr r0, _080FBDBC @ =gRegionMapMayIconPalette - str r0, [sp, 0x20] -_080FBD42: - adds r0, r5, 0 - bl LoadSpriteSheet - adds r0, r4, 0 - bl LoadSpritePalette - mov r0, sp - movs r1, 0 - movs r2, 0 - movs r3, 0x1 - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - ldr r1, _080FBDC0 @ =gUnknown_020388CC - ldr r2, [r1] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - ldr r0, _080FBDC4 @ =gSprites - adds r1, r0 - str r1, [r2, 0x20] - adds r0, r2, 0 - adds r0, 0x78 - ldrb r0, [r0] - cmp r0, 0 - bne _080FBDCC - adds r0, r2, 0 - adds r0, 0x74 - ldrh r0, [r0] - lsls r0, 3 - adds r0, 0x4 - strh r0, [r1, 0x20] - ldr r1, [r2, 0x20] - adds r0, r2, 0 - adds r0, 0x76 - ldrh r0, [r0] - lsls r0, 3 - adds r0, 0x4 - strh r0, [r1, 0x22] - ldr r1, [r2, 0x20] - ldr r0, _080FBDC8 @ =sub_80FBF34 - b _080FBDEA - .align 2, 0 -_080FBD98: .4byte gRegionMapBrendanIconTiles -_080FBD9C: .4byte gRegionMapBrendanIconPalette -_080FBDA0: .4byte 0xffff0000 -_080FBDA4: .4byte gOamData_083E7708 -_080FBDA8: .4byte gSpriteAnimTable_083E7718 -_080FBDAC: .4byte gDummySpriteAffineAnimTable -_080FBDB0: .4byte SpriteCallbackDummy -_080FBDB4: .4byte gSaveBlock2 -_080FBDB8: .4byte gRegionMapMayIconTiles -_080FBDBC: .4byte gRegionMapMayIconPalette -_080FBDC0: .4byte gUnknown_020388CC -_080FBDC4: .4byte gSprites -_080FBDC8: .4byte sub_80FBF34 -_080FBDCC: - adds r0, r2, 0 - adds r0, 0x74 - ldrh r0, [r0] - lsls r0, 4 - subs r0, 0x30 - strh r0, [r1, 0x20] - ldr r1, [r2, 0x20] - adds r0, r2, 0 - adds r0, 0x76 - ldrh r0, [r0] - lsls r0, 4 - subs r0, 0x42 - strh r0, [r1, 0x22] - ldr r1, [r2, 0x20] - ldr r0, _080FBDF4 @ =sub_80FBEA4 -_080FBDEA: - str r0, [r1, 0x1C] - add sp, 0x28 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080FBDF4: .4byte sub_80FBEA4 - thumb_func_end sub_80FBCF0 - - thumb_func_start sub_80FBDF8 -sub_80FBDF8: @ 80FBDF8 - push {lr} - ldr r3, _080FBE1C @ =gUnknown_020388CC - ldr r0, [r3] - ldr r2, [r0, 0x20] - cmp r2, 0 - beq _080FBE16 - adds r2, 0x3E - ldrb r0, [r2] - movs r1, 0x4 - orrs r0, r1 - strb r0, [r2] - ldr r0, [r3] - ldr r1, [r0, 0x20] - ldr r0, _080FBE20 @ =SpriteCallbackDummy - str r0, [r1, 0x1C] -_080FBE16: - pop {r0} - bx r0 - .align 2, 0 -_080FBE1C: .4byte gUnknown_020388CC -_080FBE20: .4byte SpriteCallbackDummy - thumb_func_end sub_80FBDF8 - - thumb_func_start sub_80FBE24 -sub_80FBE24: @ 80FBE24 - push {lr} - ldr r0, _080FBE5C @ =gUnknown_020388CC - ldr r3, [r0] - ldr r1, [r3, 0x20] - cmp r1, 0 - beq _080FBE9A - adds r0, r3, 0 - adds r0, 0x78 - ldrb r0, [r0] - cmp r0, 0x1 - bne _080FBE64 - adds r0, r3, 0 - adds r0, 0x74 - ldrh r0, [r0] - lsls r0, 4 - subs r0, 0x30 - strh r0, [r1, 0x20] - ldr r1, [r3, 0x20] - adds r0, r3, 0 - adds r0, 0x76 - ldrh r0, [r0] - lsls r0, 4 - subs r0, 0x42 - strh r0, [r1, 0x22] - ldr r1, [r3, 0x20] - ldr r0, _080FBE60 @ =sub_80FBEA4 - b _080FBE8C - .align 2, 0 -_080FBE5C: .4byte gUnknown_020388CC -_080FBE60: .4byte sub_80FBEA4 -_080FBE64: - adds r0, r3, 0 - adds r0, 0x74 - ldrh r0, [r0] - lsls r0, 3 - adds r0, 0x4 - movs r2, 0 - strh r0, [r1, 0x20] - ldr r1, [r3, 0x20] - adds r0, r3, 0 - adds r0, 0x76 - ldrh r0, [r0] - lsls r0, 3 - adds r0, 0x4 - strh r0, [r1, 0x22] - ldr r0, [r3, 0x20] - strh r2, [r0, 0x24] - ldr r0, [r3, 0x20] - strh r2, [r0, 0x26] - ldr r1, [r3, 0x20] - ldr r0, _080FBEA0 @ =sub_80FBF34 -_080FBE8C: - str r0, [r1, 0x1C] - adds r1, 0x3E - ldrb r2, [r1] - movs r0, 0x5 - negs r0, r0 - ands r0, r2 - strb r0, [r1] -_080FBE9A: - pop {r0} - bx r0 - .align 2, 0 -_080FBEA0: .4byte sub_80FBF34 - thumb_func_end sub_80FBE24 - - thumb_func_start sub_80FBEA4 -sub_80FBEA4: @ 80FBEA4 - push {r4,lr} - adds r3, r0, 0 - ldr r0, _080FBF08 @ =gUnknown_020388CC - ldr r1, [r0] - adds r0, r1, 0 - adds r0, 0x5C - movs r4, 0 - ldrsh r2, [r0, r4] - lsls r2, 1 - negs r2, r2 - strh r2, [r3, 0x24] - adds r1, 0x5E - movs r4, 0 - ldrsh r0, [r1, r4] - lsls r0, 1 - negs r0, r0 - strh r0, [r3, 0x26] - ldrh r1, [r3, 0x22] - adds r1, r0 - adds r0, r3, 0 - adds r0, 0x29 - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - adds r0, r1 - strh r0, [r3, 0x2E] - ldrh r1, [r3, 0x20] - adds r1, r2 - adds r2, r3, 0 - adds r2, 0x28 - ldrb r2, [r2] - lsls r2, 24 - asrs r2, 24 - adds r2, r1 - strh r2, [r3, 0x30] - adds r0, 0x8 - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0xB0 - bhi _080FBF04 - lsls r0, r2, 16 - asrs r2, r0, 16 - movs r0, 0x8 - negs r0, r0 - cmp r2, r0 - blt _080FBF04 - cmp r2, 0xF8 - ble _080FBF0C -_080FBF04: - movs r0, 0 - b _080FBF0E - .align 2, 0 -_080FBF08: .4byte gUnknown_020388CC -_080FBF0C: - movs r0, 0x1 -_080FBF0E: - strh r0, [r3, 0x32] - movs r1, 0x32 - ldrsh r0, [r3, r1] - cmp r0, 0x1 - bne _080FBF20 - adds r0, r3, 0 - bl sub_80FBF40 - b _080FBF2C -_080FBF20: - adds r0, r3, 0 - adds r0, 0x3E - ldrb r1, [r0] - movs r2, 0x4 - orrs r1, r2 - strb r1, [r0] -_080FBF2C: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_80FBEA4 - - thumb_func_start sub_80FBF34 -sub_80FBF34: @ 80FBF34 - push {lr} - bl sub_80FBF40 - pop {r0} - bx r0 - thumb_func_end sub_80FBF34 - - thumb_func_start sub_80FBF40 -sub_80FBF40: @ 80FBF40 - push {lr} - adds r2, r0, 0 - ldr r0, _080FBF80 @ =gUnknown_020388CC - ldr r0, [r0] - adds r0, 0x7E - ldrb r0, [r0] - cmp r0, 0 - beq _080FBF84 - ldrh r0, [r2, 0x3C] - adds r0, 0x1 - strh r0, [r2, 0x3C] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x10 - ble _080FBF90 - movs r0, 0 - strh r0, [r2, 0x3C] - adds r3, r2, 0 - adds r3, 0x3E - ldrb r2, [r3] - lsrs r1, r2, 2 - movs r0, 0x1 - eors r1, r0 - ands r1, r0 - lsls r1, 2 - movs r0, 0x5 - negs r0, r0 - ands r0, r2 - orrs r0, r1 - strb r0, [r3] - b _080FBF90 - .align 2, 0 -_080FBF80: .4byte gUnknown_020388CC -_080FBF84: - adds r2, 0x3E - ldrb r1, [r2] - movs r0, 0x5 - negs r0, r0 - ands r0, r1 - strb r0, [r2] -_080FBF90: - pop {r0} - bx r0 - thumb_func_end sub_80FBF40 - - thumb_func_start sub_80FBF94 -sub_80FBF94: @ 80FBF94 - push {lr} - ldr r0, _080FBFB0 @ =gUnknown_020388CC - ldr r1, [r0] - adds r0, r1, 0 - adds r0, 0x7F - ldrb r0, [r0] - cmp r0, 0 - beq _080FBFAA - adds r1, 0x7E - movs r0, 0x1 - strb r0, [r1] -_080FBFAA: - pop {r0} - bx r0 - .align 2, 0 -_080FBFB0: .4byte gUnknown_020388CC - thumb_func_end sub_80FBF94 - - thumb_func_start sub_80FBFB4 -sub_80FBFB4: @ 80FBFB4 - push {lr} - adds r3, r0, 0 - lsls r1, 16 - lsrs r1, 16 - lsls r2, 16 - lsrs r2, 16 - cmp r1, 0x56 - bne _080FBFCA - bl GetSecretBaseMapName - b _080FBFF2 -_080FBFCA: - cmp r1, 0x57 - bhi _080FBFE4 - ldr r0, _080FBFE0 @ =gRegionMapLocations - lsls r1, 3 - adds r0, 0x4 - adds r1, r0 - ldr r1, [r1] - adds r0, r3, 0 - bl StringCopy - b _080FBFF2 - .align 2, 0 -_080FBFE0: .4byte gRegionMapLocations -_080FBFE4: - cmp r2, 0 - bne _080FBFEA - movs r2, 0x12 -_080FBFEA: - adds r0, r3, 0 - movs r1, 0 - bl StringFill -_080FBFF2: - pop {r1} - bx r1 - thumb_func_end sub_80FBFB4 - - thumb_func_start CopyMapName -CopyMapName: @ 80FBFF8 - push {lr} - lsls r1, 16 - lsrs r1, 16 - cmp r1, 0x56 - beq _080FC014 - cmp r1, 0x57 - bne _080FC020 - ldr r1, _080FC010 @ =gOtherText_Ferry - bl StringCopy - b _080FC026 - .align 2, 0 -_080FC010: .4byte gOtherText_Ferry -_080FC014: - ldr r1, _080FC01C @ =gOtherText_SecretBase - bl StringCopy - b _080FC026 - .align 2, 0 -_080FC01C: .4byte gOtherText_SecretBase -_080FC020: - movs r2, 0 - bl sub_80FBFB4 -_080FC026: - pop {r1} - bx r1 - thumb_func_end CopyMapName - - thumb_func_start CopyLocationName -CopyLocationName: @ 80FC02C - push {lr} - lsls r1, 16 - lsrs r1, 16 - cmp r1, 0x42 - beq _080FC03C - bl CopyMapName - b _080FC042 -_080FC03C: - ldr r1, _080FC048 @ =gOtherText_Hideout - bl StringCopy -_080FC042: - pop {r1} - bx r1 - .align 2, 0 -_080FC048: .4byte gOtherText_Hideout - thumb_func_end CopyLocationName - - thumb_func_start sub_80FC04C -sub_80FC04C: @ 80FC04C - push {r4,r5,lr} - ldr r5, [sp, 0xC] - lsls r0, 16 - ldr r4, _080FC070 @ =gRegionMapLocations - lsrs r0, 13 - adds r0, r4 - ldrb r4, [r0] - strh r4, [r1] - ldrb r1, [r0, 0x1] - strh r1, [r2] - ldrb r1, [r0, 0x2] - strh r1, [r3] - ldrb r0, [r0, 0x3] - strh r0, [r5] - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080FC070: .4byte gRegionMapLocations - thumb_func_end sub_80FC04C - - thumb_func_start sub_80FC074 -sub_80FC074: @ 80FC074 - push {r4,lr} - ldr r0, _080FC090 @ =gMain - ldr r1, _080FC094 @ =0x0000043c - adds r0, r1 - ldrb r0, [r0] - cmp r0, 0x9 - bls _080FC084 - b _080FC1F2 -_080FC084: - lsls r0, 2 - ldr r1, _080FC098 @ =_080FC09C - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_080FC090: .4byte gMain -_080FC094: .4byte 0x0000043c -_080FC098: .4byte _080FC09C - .align 2, 0 -_080FC09C: - .4byte _080FC0C4 - .4byte _080FC104 - .4byte _080FC110 - .4byte _080FC120 - .4byte _080FC15C - .4byte _080FC170 - .4byte _080FC184 - .4byte _080FC1A4 - .4byte _080FC1AA - .4byte _080FC1C4 -_080FC0C4: - movs r0, 0 - bl SetVBlankCallback - movs r0, 0x80 - lsls r0, 19 - movs r1, 0 - strh r1, [r0] - adds r0, 0x10 - strh r1, [r0] - adds r0, 0x2 - strh r1, [r0] - adds r0, 0x2 - strh r1, [r0] - adds r0, 0x2 - strh r1, [r0] - adds r0, 0x4 - strh r1, [r0] - subs r0, 0x2 - strh r1, [r0] - adds r0, 0x4 - strh r1, [r0] - adds r0, 0x2 - strh r1, [r0] - bl ResetPaletteFade - bl ResetSpriteData - bl FreeSpriteTileRanges - bl FreeAllSpritePalettes - b _080FC1E6 -_080FC104: - ldr r0, _080FC10C @ =gWindowConfig_81E7224 - bl SetUpWindowConfig - b _080FC1E6 - .align 2, 0 -_080FC10C: .4byte gWindowConfig_81E7224 -_080FC110: - ldr r0, _080FC11C @ =gWindowConfig_81E7224 - bl InitMenuWindow - bl MenuZeroFillScreen - b _080FC1E6 - .align 2, 0 -_080FC11C: .4byte gWindowConfig_81E7224 -_080FC120: - ldr r4, _080FC158 @ =0x02000008 - adds r0, r4, 0 - movs r1, 0 - bl sub_80FA8EC - movs r0, 0 - movs r1, 0 - bl sub_80FBB3C - movs r0, 0x1 - movs r1, 0x1 - bl sub_80FBCF0 - adds r1, r4, 0 - subs r1, 0x8 - ldrh r0, [r1, 0x1C] - strh r0, [r1, 0x6] - movs r2, 0xA4 - lsls r2, 4 - adds r4, r2 - adds r0, r4, 0 - movs r1, 0 - movs r2, 0xC - bl StringFill - bl sub_80FC254 - b _080FC1E6 - .align 2, 0 -_080FC158: .4byte 0x02000008 -_080FC15C: - ldr r0, _080FC168 @ =gUnknown_083E773C - ldr r1, _080FC16C @ =0x0600c000 - bl LZ77UnCompVram - b _080FC1E6 - .align 2, 0 -_080FC168: .4byte gUnknown_083E773C -_080FC16C: .4byte 0x0600c000 -_080FC170: - ldr r0, _080FC17C @ =gUnknown_083E7774 - ldr r1, _080FC180 @ =0x0600f000 - bl LZ77UnCompVram - b _080FC1E6 - .align 2, 0 -_080FC17C: .4byte gUnknown_083E7774 -_080FC180: .4byte 0x0600f000 -_080FC184: - ldr r0, _080FC19C @ =gUnknown_083E771C - movs r1, 0x10 - movs r2, 0x20 - bl LoadPalette - ldr r0, _080FC1A0 @ =gOtherText_FlyToWhere - movs r1, 0x1 - movs r2, 0x90 - movs r3, 0x1 - bl MenuPrint_PixelCoords - b _080FC1E6 - .align 2, 0 -_080FC19C: .4byte gUnknown_083E771C -_080FC1A0: .4byte gOtherText_FlyToWhere -_080FC1A4: - bl sub_80FC31C - b _080FC1E6 -_080FC1AA: - movs r0, 0x1 - negs r0, r0 - movs r1, 0x10 - movs r2, 0 - bl BlendPalettes - ldr r0, _080FC1C0 @ =sub_80FC214 - bl SetVBlankCallback - b _080FC1E6 - .align 2, 0 -_080FC1C0: .4byte sub_80FC214 -_080FC1C4: - ldr r1, _080FC1F8 @ =REG_BLDCNT - movs r0, 0 - strh r0, [r1] - subs r1, 0x46 - ldr r2, _080FC1FC @ =0x00001e0d - adds r0, r2, 0 - strh r0, [r1] - subs r1, 0xA - ldr r2, _080FC200 @ =0x00001741 - adds r0, r2, 0 - strh r0, [r1] - ldr r0, _080FC204 @ =sub_80FC5B4 - bl sub_80FC244 - ldr r0, _080FC208 @ =sub_80FC228 - bl SetMainCallback2 -_080FC1E6: - ldr r1, _080FC20C @ =gMain - ldr r0, _080FC210 @ =0x0000043c - adds r1, r0 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] -_080FC1F2: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080FC1F8: .4byte REG_BLDCNT -_080FC1FC: .4byte 0x00001e0d -_080FC200: .4byte 0x00001741 -_080FC204: .4byte sub_80FC5B4 -_080FC208: .4byte sub_80FC228 -_080FC20C: .4byte gMain -_080FC210: .4byte 0x0000043c - thumb_func_end sub_80FC074 - - thumb_func_start sub_80FC214 -sub_80FC214: @ 80FC214 - push {lr} - bl LoadOam - bl ProcessSpriteCopyRequests - bl TransferPlttBuffer - pop {r0} - bx r0 - thumb_func_end sub_80FC214 - - thumb_func_start sub_80FC228 -sub_80FC228: @ 80FC228 - push {lr} - ldr r0, _080FC240 @ =0x02000000 - ldr r0, [r0] - bl _call_via_r0 - bl AnimateSprites - bl BuildOamBuffer - pop {r0} - bx r0 - .align 2, 0 -_080FC240: .4byte 0x02000000 - thumb_func_end sub_80FC228 - - thumb_func_start sub_80FC244 -sub_80FC244: @ 80FC244 - ldr r1, _080FC250 @ =0x02000000 - str r0, [r1] - movs r0, 0 - strh r0, [r1, 0x4] - bx lr - .align 2, 0 -_080FC250: .4byte 0x02000000 - thumb_func_end sub_80FC244 - - thumb_func_start sub_80FC254 -sub_80FC254: @ 80FC254 - push {r4,r5,lr} - ldr r4, _080FC2AC @ =0x02000000 - ldrb r0, [r4, 0x1E] - cmp r0, 0x2 - beq _080FC262 - cmp r0, 0x4 - bne _080FC2EC -_080FC262: - movs r1, 0 - ldr r2, _080FC2B0 @ =gUnknown_083E79C0 - adds r5, r4, 0 -_080FC268: - lsls r0, r1, 3 - adds r4, r0, r2 - ldrh r0, [r5, 0x1C] - ldrh r3, [r4, 0x4] - cmp r0, r3 - bne _080FC2B4 - ldrh r0, [r4, 0x6] - bl FlagGet - lsls r0, 24 - cmp r0, 0 - beq _080FC2BE - movs r0, 0x10 - movs r1, 0xE - movs r2, 0x1D - movs r3, 0x13 - bl MenuDrawTextWindow - adds r0, r5, 0 - adds r0, 0x8 - movs r1, 0x11 - movs r2, 0xF - bl MenuPrint - ldrb r0, [r5, 0x1F] - ldr r1, [r4] - lsls r0, 2 - adds r0, r1 - ldr r0, [r0] - movs r1, 0x1D - movs r2, 0x11 - bl MenuPrint_RightAligned - b _080FC310 - .align 2, 0 -_080FC2AC: .4byte 0x02000000 -_080FC2B0: .4byte gUnknown_083E79C0 -_080FC2B4: - adds r0, r1, 0x1 - lsls r0, 16 - lsrs r1, r0, 16 - cmp r1, 0 - beq _080FC268 -_080FC2BE: - movs r0, 0 - cmp r0, 0 - bne _080FC310 - movs r0, 0x10 - movs r1, 0x10 - movs r2, 0x1D - movs r3, 0x13 - bl MenuDrawTextWindow - ldr r0, _080FC2E8 @ =0x02000008 - movs r1, 0x11 - movs r2, 0x11 - bl MenuPrint - movs r0, 0x10 - movs r1, 0xE - movs r2, 0x1D - movs r3, 0xF - bl MenuZeroFillWindowRect - b _080FC310 - .align 2, 0 -_080FC2E8: .4byte 0x02000008 -_080FC2EC: - movs r0, 0x10 - movs r1, 0x10 - movs r2, 0x1D - movs r3, 0x13 - bl MenuDrawTextWindow - ldr r1, _080FC318 @ =0x00000a48 - adds r0, r4, r1 - movs r1, 0x11 - movs r2, 0x11 - bl MenuPrint - movs r0, 0x10 - movs r1, 0xE - movs r2, 0x1D - movs r3, 0xF - bl MenuZeroFillWindowRect -_080FC310: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080FC318: .4byte 0x00000a48 - thumb_func_end sub_80FC254 - - thumb_func_start sub_80FC31C -sub_80FC31C: @ 80FC31C - push {r4,lr} - sub sp, 0x8 - ldr r0, _080FC360 @ =gUnknown_083E784C - ldr r4, _080FC364 @ =0x02000888 - adds r1, r4, 0 - bl LZ77UnCompWram - str r4, [sp] - ldr r1, _080FC368 @ =0xffff0000 - ldr r0, [sp, 0x4] - ands r0, r1 - movs r1, 0xE0 - lsls r1, 1 - orrs r0, r1 - ldr r1, _080FC36C @ =0x0000ffff - ands r0, r1 - movs r1, 0x80 - lsls r1, 10 - orrs r0, r1 - str r0, [sp, 0x4] - mov r0, sp - bl LoadSpriteSheet - ldr r0, _080FC370 @ =gUnknown_083E79CC - bl LoadSpritePalette - bl sub_80FC374 - bl sub_80FC484 - add sp, 0x8 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080FC360: .4byte gUnknown_083E784C -_080FC364: .4byte 0x02000888 -_080FC368: .4byte 0xffff0000 -_080FC36C: .4byte 0x0000ffff -_080FC370: .4byte gUnknown_083E79CC - thumb_func_end sub_80FC31C - - thumb_func_start sub_80FC374 -sub_80FC374: @ 80FC374 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x1C - ldr r0, _080FC3D4 @ =0x0000080f - str r0, [sp, 0xC] - movs r1, 0 - mov r9, r1 - mov r2, sp - adds r2, 0x6 - str r2, [sp, 0x14] - mov r3, sp - adds r3, 0xA - str r3, [sp, 0x18] - mov r0, sp - adds r0, 0x8 - str r0, [sp, 0x10] - add r1, sp, 0x4 - mov r10, r1 -_080FC39E: - ldr r2, [sp, 0x18] - str r2, [sp] - mov r0, r9 - add r1, sp, 0x4 - mov r2, sp - adds r2, 0x6 - ldr r3, [sp, 0x10] - bl sub_80FC04C - mov r3, r10 - ldrh r0, [r3] - adds r0, 0x1 - lsls r0, 3 - adds r0, 0x4 - strh r0, [r3] - mov r1, sp - ldrh r0, [r1, 0x6] - adds r0, 0x2 - lsls r0, 3 - adds r0, 0x4 - strh r0, [r1, 0x6] - ldr r2, [sp, 0x10] - ldrh r0, [r2] - cmp r0, 0x2 - bne _080FC3D8 - movs r7, 0x1 - b _080FC3E4 - .align 2, 0 -_080FC3D4: .4byte 0x0000080f -_080FC3D8: - ldr r3, [sp, 0x18] - ldrh r0, [r3] - movs r7, 0 - cmp r0, 0x2 - bne _080FC3E4 - movs r7, 0x2 -_080FC3E4: - mov r0, r10 - movs r2, 0 - ldrsh r1, [r0, r2] - ldr r3, [sp, 0x14] - movs r0, 0 - ldrsh r2, [r3, r0] - ldr r0, _080FC430 @ =gSpriteTemplate_83E7A38 - movs r3, 0xA - bl CreateSprite - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0x40 - beq _080FC458 - ldr r1, _080FC434 @ =gSprites - mov r8, r1 - lsls r4, r5, 4 - adds r0, r4, r5 - lsls r6, r0, 2 - adds r2, r6, r1 - lsls r3, r7, 6 - ldrb r1, [r2, 0x1] - movs r0, 0x3F - ands r0, r1 - orrs r0, r3 - strb r0, [r2, 0x1] - ldr r0, [sp, 0xC] - bl FlagGet - lsls r0, 24 - cmp r0, 0 - beq _080FC43C - mov r0, r8 - adds r0, 0x1C - adds r0, r6, r0 - ldr r1, _080FC438 @ =sub_80FC55C - str r1, [r0] - b _080FC442 - .align 2, 0 -_080FC430: .4byte gSpriteTemplate_83E7A38 -_080FC434: .4byte gSprites -_080FC438: .4byte sub_80FC55C -_080FC43C: - adds r0, r7, 0x3 - lsls r0, 16 - lsrs r7, r0, 16 -_080FC442: - adds r4, r5 - lsls r4, 2 - ldr r0, _080FC480 @ =gSprites - adds r4, r0 - lsls r1, r7, 24 - lsrs r1, 24 - adds r0, r4, 0 - bl StartSpriteAnim - mov r2, r9 - strh r2, [r4, 0x2E] -_080FC458: - ldr r0, [sp, 0xC] - adds r0, 0x1 - lsls r0, 16 - lsrs r0, 16 - str r0, [sp, 0xC] - mov r0, r9 - adds r0, 0x1 - lsls r0, 16 - lsrs r0, 16 - mov r9, r0 - cmp r0, 0xF - bls _080FC39E - add sp, 0x1C - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080FC480: .4byte gSprites - thumb_func_end sub_80FC374 - - thumb_func_start sub_80FC484 -sub_80FC484: @ 80FC484 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0xC - movs r0, 0 - mov r8, r0 - ldr r6, _080FC54C @ =gUnknown_083E79D4 - ldrh r0, [r6, 0x2] - cmp r0, 0x58 - beq _080FC53C - mov r5, sp - adds r5, 0x6 - add r7, sp, 0x4 - ldr r1, _080FC550 @ =gSprites - mov r9, r1 - movs r0, 0x1C - add r0, r9 - mov r10, r0 -_080FC4AC: - mov r1, r8 - lsls r4, r1, 2 - adds r0, r4, r6 - ldrh r0, [r0] - bl FlagGet - lsls r0, 24 - cmp r0, 0 - beq _080FC524 - adds r0, r6, 0x2 - adds r0, r4, r0 - ldrh r6, [r0] - mov r0, sp - adds r0, 0xA - str r0, [sp] - adds r0, r6, 0 - add r1, sp, 0x4 - adds r2, r5, 0 - add r3, sp, 0x8 - bl sub_80FC04C - ldrh r0, [r7] - adds r0, 0x1 - lsls r0, 3 - strh r0, [r7] - ldrh r0, [r5] - adds r0, 0x2 - lsls r0, 3 - strh r0, [r5] - movs r0, 0 - ldrsh r1, [r7, r0] - movs r0, 0 - ldrsh r2, [r5, r0] - ldr r0, _080FC554 @ =gSpriteTemplate_83E7A38 - movs r3, 0xA - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x40 - beq _080FC524 - lsls r2, r0, 4 - adds r2, r0 - lsls r2, 2 - mov r1, r9 - adds r4, r2, r1 - ldrb r1, [r4, 0x3] - movs r0, 0x3F - ands r0, r1 - movs r1, 0x40 - orrs r0, r1 - strb r0, [r4, 0x3] - add r2, r10 - ldr r0, _080FC558 @ =sub_80FC55C - str r0, [r2] - adds r0, r4, 0 - movs r1, 0x6 - bl StartSpriteAnim - strh r6, [r4, 0x2E] -_080FC524: - mov r0, r8 - adds r0, 0x1 - lsls r0, 16 - lsrs r0, 16 - mov r8, r0 - ldr r6, _080FC54C @ =gUnknown_083E79D4 - lsls r0, 2 - adds r1, r6, 0x2 - adds r0, r1 - ldrh r0, [r0] - cmp r0, 0x58 - bne _080FC4AC -_080FC53C: - add sp, 0xC - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080FC54C: .4byte gUnknown_083E79D4 -_080FC550: .4byte gSprites -_080FC554: .4byte gSpriteTemplate_83E7A38 -_080FC558: .4byte sub_80FC55C - thumb_func_end sub_80FC484 - - thumb_func_start sub_80FC55C -sub_80FC55C: @ 80FC55C - push {lr} - adds r2, r0, 0 - ldr r0, _080FC59C @ =0x02000000 - ldrh r1, [r0, 0x1C] - movs r3, 0x2E - ldrsh r0, [r2, r3] - cmp r1, r0 - bne _080FC5A0 - ldrh r0, [r2, 0x30] - adds r0, 0x1 - strh r0, [r2, 0x30] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x10 - ble _080FC5AE - movs r0, 0 - strh r0, [r2, 0x30] - adds r3, r2, 0 - adds r3, 0x3E - ldrb r2, [r3] - lsrs r1, r2, 2 - movs r0, 0x1 - eors r1, r0 - ands r1, r0 - lsls r1, 2 - movs r0, 0x5 - negs r0, r0 - ands r0, r2 - orrs r0, r1 - strb r0, [r3] - b _080FC5AE - .align 2, 0 -_080FC59C: .4byte 0x02000000 -_080FC5A0: - movs r0, 0x10 - strh r0, [r2, 0x30] - adds r2, 0x3E - ldrb r1, [r2] - subs r0, 0x15 - ands r0, r1 - strb r0, [r2] -_080FC5AE: - pop {r0} - bx r0 - thumb_func_end sub_80FC55C - - thumb_func_start sub_80FC5B4 -sub_80FC5B4: @ 80FC5B4 - push {r4,lr} - sub sp, 0x4 - ldr r4, _080FC5C8 @ =0x02000000 - ldrh r1, [r4, 0x4] - cmp r1, 0 - beq _080FC5CC - cmp r1, 0x1 - beq _080FC5E4 - b _080FC5F4 - .align 2, 0 -_080FC5C8: .4byte 0x02000000 -_080FC5CC: - movs r0, 0x1 - negs r0, r0 - str r1, [sp] - movs r1, 0 - movs r2, 0x10 - movs r3, 0 - bl BeginNormalPaletteFade - ldrh r0, [r4, 0x4] - adds r0, 0x1 - strh r0, [r4, 0x4] - b _080FC5F4 -_080FC5E4: - bl UpdatePaletteFade - lsls r0, 24 - cmp r0, 0 - bne _080FC5F4 - ldr r0, _080FC5FC @ =sub_80FC600 - bl sub_80FC244 -_080FC5F4: - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080FC5FC: .4byte sub_80FC600 - thumb_func_end sub_80FC5B4 - - thumb_func_start sub_80FC600 -sub_80FC600: @ 80FC600 - push {r4,lr} - ldr r0, _080FC620 @ =0x02000000 - ldrh r0, [r0, 0x4] - cmp r0, 0 - bne _080FC68A - bl sub_80FAB60 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x5 - bhi _080FC68A - lsls r0, 2 - ldr r1, _080FC624 @ =_080FC628 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_080FC620: .4byte 0x02000000 -_080FC624: .4byte _080FC628 - .align 2, 0 -_080FC628: - .4byte _080FC68A - .4byte _080FC68A - .4byte _080FC68A - .4byte _080FC640 - .4byte _080FC646 - .4byte _080FC674 -_080FC640: - bl sub_80FC254 - b _080FC68A -_080FC646: - ldr r4, _080FC668 @ =0x02000000 - ldrb r0, [r4, 0x1E] - cmp r0, 0x2 - beq _080FC652 - cmp r0, 0x4 - bne _080FC68A -_080FC652: - movs r0, 0x5 - bl m4aSongNumStart - ldr r1, _080FC66C @ =0x00000a6e - adds r0, r4, r1 - movs r1, 0x1 - strb r1, [r0] - ldr r0, _080FC670 @ =sub_80FC69C - bl sub_80FC244 - b _080FC68A - .align 2, 0 -_080FC668: .4byte 0x02000000 -_080FC66C: .4byte 0x00000a6e -_080FC670: .4byte sub_80FC69C -_080FC674: - movs r0, 0x5 - bl m4aSongNumStart - ldr r0, _080FC690 @ =0x02000000 - ldr r1, _080FC694 @ =0x00000a6e - adds r0, r1 - movs r1, 0 - strb r1, [r0] - ldr r0, _080FC698 @ =sub_80FC69C - bl sub_80FC244 -_080FC68A: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080FC690: .4byte 0x02000000 -_080FC694: .4byte 0x00000a6e -_080FC698: .4byte sub_80FC69C - thumb_func_end sub_80FC600 - - thumb_func_start sub_80FC69C -sub_80FC69C: @ 80FC69C - push {r4,lr} - sub sp, 0x4 - ldr r4, _080FC6B0 @ =0x02000000 - ldrh r1, [r4, 0x4] - cmp r1, 0 - beq _080FC6B4 - cmp r1, 0x1 - beq _080FC6CC - b _080FC792 - .align 2, 0 -_080FC6B0: .4byte 0x02000000 -_080FC6B4: - movs r0, 0x1 - negs r0, r0 - str r1, [sp] - movs r1, 0 - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade - ldrh r0, [r4, 0x4] - adds r0, 0x1 - strh r0, [r4, 0x4] - b _080FC792 -_080FC6CC: - bl UpdatePaletteFade - lsls r0, 24 - cmp r0, 0 - bne _080FC792 - bl sub_80FAB10 - ldr r1, _080FC6F4 @ =0x00000a6e - adds r0, r4, r1 - ldrb r0, [r0] - cmp r0, 0 - beq _080FC78C - ldrh r0, [r4, 0x1C] - cmp r0, 0xF - beq _080FC724 - cmp r0, 0xF - bgt _080FC6F8 - cmp r0, 0 - beq _080FC710 - b _080FC748 - .align 2, 0 -_080FC6F4: .4byte 0x00000a6e -_080FC6F8: - cmp r0, 0x3A - beq _080FC708 - cmp r0, 0x49 - bne _080FC748 - movs r0, 0x16 - bl sub_8053538 - b _080FC786 -_080FC708: - movs r0, 0x15 - bl sub_8053538 - b _080FC786 -_080FC710: - ldr r0, _080FC720 @ =gSaveBlock2 - ldrb r0, [r0, 0x8] - movs r1, 0xD - cmp r0, 0 - bne _080FC73A - movs r1, 0xC - b _080FC73A - .align 2, 0 -_080FC720: .4byte gSaveBlock2 -_080FC724: - ldr r0, _080FC744 @ =0x00000854 - bl FlagGet - lsls r0, 24 - movs r1, 0xB - cmp r0, 0 - beq _080FC73A - ldrb r0, [r4, 0x1F] - cmp r0, 0 - bne _080FC73A - movs r1, 0x14 -_080FC73A: - adds r0, r1, 0 - bl sub_8053538 - b _080FC786 - .align 2, 0 -_080FC744: .4byte 0x00000854 -_080FC748: - ldr r3, _080FC764 @ =gUnknown_083E7920 - ldr r0, _080FC768 @ =0x02000000 - ldrh r1, [r0, 0x1C] - lsls r0, r1, 1 - adds r2, r0, r1 - adds r0, r3, 0x2 - adds r1, r2, r0 - ldrb r0, [r1] - cmp r0, 0 - beq _080FC76C - bl sub_8053538 - b _080FC786 - .align 2, 0 -_080FC764: .4byte gUnknown_083E7920 -_080FC768: .4byte 0x02000000 -_080FC76C: - adds r0, r2, r3 - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - adds r1, r3, 0x1 - adds r1, r2, r1 - ldrb r1, [r1] - lsls r1, 24 - asrs r1, 24 - movs r2, 0x1 - negs r2, r2 - bl warp1_set_2 -_080FC786: - bl sub_80865BC - b _080FC792 -_080FC78C: - ldr r0, _080FC79C @ =sub_808AD58 - bl SetMainCallback2 -_080FC792: - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080FC79C: .4byte sub_808AD58 - thumb_func_end sub_80FC69C - - .align 2, 0 @ Don't pad with nop. diff --git a/asm/reset_rtc_screen.s b/asm/reset_rtc_screen.s deleted file mode 100644 index 2fbc559c8..000000000 --- a/asm/reset_rtc_screen.s +++ /dev/null @@ -1,1300 +0,0 @@ - .include "constants/gba_constants.inc" - .include "constants/species_constants.inc" - .include "asm/macros.inc" - - .syntax unified - - .text - - thumb_func_start SpriteCB_ResetRtcCusor0 -SpriteCB_ResetRtcCusor0: @ 806A480 - push {lr} - adds r3, r0, 0 - ldr r2, _0806A4B0 @ =gTasks - movs r0, 0x2E - ldrsh r1, [r3, r0] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r2 - movs r2, 0xC - ldrsh r1, [r0, r2] - movs r2, 0x30 - ldrsh r0, [r3, r2] - cmp r1, r0 - beq _0806A596 - strh r1, [r3, 0x30] - subs r0, r1, 0x1 - cmp r0, 0x5 - bhi _0806A596 - lsls r0, 2 - ldr r1, _0806A4B4 @ =_0806A4B8 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0806A4B0: .4byte gTasks -_0806A4B4: .4byte _0806A4B8 - .align 2, 0 -_0806A4B8: - .4byte _0806A4D0 - .4byte _0806A4F4 - .4byte _0806A518 - .4byte _0806A53C - .4byte _0806A566 - .4byte _0806A590 -_0806A4D0: - adds r2, r3, 0 - adds r2, 0x3E - ldrb r1, [r2] - movs r0, 0x5 - negs r0, r0 - ands r0, r1 - strb r0, [r2] - adds r1, r3, 0 - adds r1, 0x2A - movs r0, 0x1 - strb r0, [r1] - subs r2, 0x12 - ldrb r1, [r2] - subs r0, 0x41 - ands r0, r1 - strb r0, [r2] - movs r0, 0x35 - b _0806A55E -_0806A4F4: - adds r2, r3, 0 - adds r2, 0x3E - ldrb r1, [r2] - movs r0, 0x5 - negs r0, r0 - ands r0, r1 - strb r0, [r2] - adds r1, r3, 0 - adds r1, 0x2A - movs r0, 0x1 - strb r0, [r1] - subs r2, 0x12 - ldrb r1, [r2] - subs r0, 0x41 - ands r0, r1 - strb r0, [r2] - movs r0, 0x56 - b _0806A55E -_0806A518: - adds r2, r3, 0 - adds r2, 0x3E - ldrb r1, [r2] - movs r0, 0x5 - negs r0, r0 - ands r0, r1 - strb r0, [r2] - adds r1, r3, 0 - adds r1, 0x2A - movs r0, 0x1 - strb r0, [r1] - subs r2, 0x12 - ldrb r1, [r2] - subs r0, 0x41 - ands r0, r1 - strb r0, [r2] - movs r0, 0x6B - b _0806A55E -_0806A53C: - adds r2, r3, 0 - adds r2, 0x3E - ldrb r1, [r2] - movs r0, 0x5 - negs r0, r0 - ands r0, r1 - strb r0, [r2] - adds r1, r3, 0 - adds r1, 0x2A - movs r0, 0x1 - strb r0, [r1] - subs r2, 0x12 - ldrb r1, [r2] - subs r0, 0x41 - ands r0, r1 - strb r0, [r2] - movs r0, 0x80 -_0806A55E: - strh r0, [r3, 0x20] - movs r0, 0x44 - strh r0, [r3, 0x22] - b _0806A596 -_0806A566: - adds r2, r3, 0 - adds r2, 0x3E - ldrb r1, [r2] - movs r0, 0x5 - negs r0, r0 - ands r0, r1 - strb r0, [r2] - adds r1, r3, 0 - adds r1, 0x2A - movs r0, 0x2 - strb r0, [r1] - subs r2, 0x12 - ldrb r1, [r2] - subs r0, 0x42 - ands r0, r1 - strb r0, [r2] - movs r0, 0x9B - strh r0, [r3, 0x20] - movs r0, 0x50 - strh r0, [r3, 0x22] - b _0806A596 -_0806A590: - adds r0, r3, 0 - bl DestroySprite -_0806A596: - pop {r0} - bx r0 - thumb_func_end SpriteCB_ResetRtcCusor0 - - thumb_func_start SpriteCB_ResetRtcCusor1 -SpriteCB_ResetRtcCusor1: @ 806A59C - push {lr} - adds r3, r0, 0 - ldr r2, _0806A5CC @ =gTasks - movs r0, 0x2E - ldrsh r1, [r3, r0] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r2 - movs r2, 0xC - ldrsh r1, [r0, r2] - movs r2, 0x30 - ldrsh r0, [r3, r2] - cmp r1, r0 - beq _0806A696 - strh r1, [r3, 0x30] - subs r0, r1, 0x1 - cmp r0, 0x5 - bhi _0806A696 - lsls r0, 2 - ldr r1, _0806A5D0 @ =_0806A5D4 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0806A5CC: .4byte gTasks -_0806A5D0: .4byte _0806A5D4 - .align 2, 0 -_0806A5D4: - .4byte _0806A5EC - .4byte _0806A610 - .4byte _0806A634 - .4byte _0806A658 - .4byte _0806A682 - .4byte _0806A690 -_0806A5EC: - adds r2, r3, 0 - adds r2, 0x3E - ldrb r1, [r2] - movs r0, 0x5 - negs r0, r0 - ands r0, r1 - strb r0, [r2] - adds r1, r3, 0 - adds r1, 0x2A - movs r0, 0 - strb r0, [r1] - subs r2, 0x12 - ldrb r1, [r2] - subs r0, 0x40 - ands r0, r1 - strb r0, [r2] - movs r0, 0x35 - b _0806A67A -_0806A610: - adds r2, r3, 0 - adds r2, 0x3E - ldrb r1, [r2] - movs r0, 0x5 - negs r0, r0 - ands r0, r1 - strb r0, [r2] - adds r1, r3, 0 - adds r1, 0x2A - movs r0, 0 - strb r0, [r1] - subs r2, 0x12 - ldrb r1, [r2] - subs r0, 0x40 - ands r0, r1 - strb r0, [r2] - movs r0, 0x56 - b _0806A67A -_0806A634: - adds r2, r3, 0 - adds r2, 0x3E - ldrb r1, [r2] - movs r0, 0x5 - negs r0, r0 - ands r0, r1 - strb r0, [r2] - adds r1, r3, 0 - adds r1, 0x2A - movs r0, 0 - strb r0, [r1] - subs r2, 0x12 - ldrb r1, [r2] - subs r0, 0x40 - ands r0, r1 - strb r0, [r2] - movs r0, 0x6B - b _0806A67A -_0806A658: - adds r2, r3, 0 - adds r2, 0x3E - ldrb r1, [r2] - movs r0, 0x5 - negs r0, r0 - ands r0, r1 - strb r0, [r2] - adds r1, r3, 0 - adds r1, 0x2A - movs r0, 0 - strb r0, [r1] - subs r2, 0x12 - ldrb r1, [r2] - subs r0, 0x40 - ands r0, r1 - strb r0, [r2] - movs r0, 0x80 -_0806A67A: - strh r0, [r3, 0x20] - movs r0, 0x5C - strh r0, [r3, 0x22] - b _0806A696 -_0806A682: - adds r0, r3, 0 - adds r0, 0x3E - ldrb r1, [r0] - movs r2, 0x4 - orrs r1, r2 - strb r1, [r0] - b _0806A696 -_0806A690: - adds r0, r3, 0 - bl DestroySprite -_0806A696: - pop {r0} - bx r0 - thumb_func_end SpriteCB_ResetRtcCusor1 - - thumb_func_start ResetRtcScreen_CreateCursor -ResetRtcScreen_CreateCursor: @ 806A69C - push {r4-r6,lr} - mov r6, r8 - push {r6} - adds r5, r0, 0 - lsls r5, 24 - lsrs r5, 24 - ldr r0, _0806A70C @ =gUnknown_083764BC - bl LoadSpritePalette - ldr r0, _0806A710 @ =gSpriteTemplate_83764E8 - mov r8, r0 - movs r1, 0x35 - movs r2, 0x44 - movs r3, 0 - bl CreateSpriteAtEnd - lsls r0, 24 - lsrs r1, r0, 24 - ldr r6, _0806A714 @ =gSprites - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r4, r6, 0 - adds r4, 0x1C - adds r2, r0, r4 - ldr r1, _0806A718 @ =SpriteCB_ResetRtcCusor0 - str r1, [r2] - adds r0, r6 - strh r5, [r0, 0x2E] - ldr r1, _0806A71C @ =0x0000ffff - strh r1, [r0, 0x30] - mov r0, r8 - movs r1, 0x35 - movs r2, 0x44 - movs r3, 0 - bl CreateSpriteAtEnd - lsls r0, 24 - lsrs r1, r0, 24 - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r4, r0, r4 - ldr r1, _0806A720 @ =SpriteCB_ResetRtcCusor1 - str r1, [r4] - adds r0, r6 - strh r5, [r0, 0x2E] - movs r1, 0x1 - negs r1, r1 - strh r1, [r0, 0x30] - pop {r3} - mov r8, r3 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0806A70C: .4byte gUnknown_083764BC -_0806A710: .4byte gSpriteTemplate_83764E8 -_0806A714: .4byte gSprites -_0806A718: .4byte SpriteCB_ResetRtcCusor0 -_0806A71C: .4byte 0x0000ffff -_0806A720: .4byte SpriteCB_ResetRtcCusor1 - thumb_func_end ResetRtcScreen_CreateCursor - - thumb_func_start ResetRtcScreen_FreeCursorPalette -ResetRtcScreen_FreeCursorPalette: @ 806A724 - push {lr} - ldr r0, _0806A734 @ =gUnknown_083764BC - ldrh r0, [r0, 0x4] - bl FreeSpritePaletteByTag - pop {r0} - bx r0 - .align 2, 0 -_0806A734: .4byte gUnknown_083764BC - thumb_func_end ResetRtcScreen_FreeCursorPalette - - thumb_func_start ResetRtcScreen_HideChooseTimeWindow -ResetRtcScreen_HideChooseTimeWindow: @ 806A738 - push {lr} - movs r0, 0x3 - movs r1, 0x8 - movs r2, 0x19 - movs r3, 0xB - bl MenuZeroFillWindowRect - pop {r0} - bx r0 - thumb_func_end ResetRtcScreen_HideChooseTimeWindow - - thumb_func_start ResetRtcScreen_PrintTime -ResetRtcScreen_PrintTime: @ 806A74C - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x4 - mov r10, r0 - adds r0, r2, 0 - adds r4, r3, 0 - ldr r6, [sp, 0x24] - ldr r2, [sp, 0x28] - mov r9, r2 - mov r2, r10 - lsls r2, 24 - lsrs r2, 24 - mov r10, r2 - lsls r1, 24 - lsrs r1, 24 - str r1, [sp] - lsls r0, 16 - lsrs r0, 16 - lsls r4, 24 - lsrs r4, 24 - lsls r6, 24 - lsrs r6, 24 - mov r1, r9 - lsls r1, 24 - lsrs r1, 24 - mov r9, r1 - ldr r7, _0806A83C @ =gStringVar4 - ldr r1, _0806A840 @ =0x00002710 - bl __umodsi3 - adds r5, r0, 0 - lsls r5, 16 - lsrs r5, 16 - adds r0, r4, 0 - movs r1, 0x18 - bl __umodsi3 - mov r8, r0 - mov r2, r8 - lsls r2, 24 - lsrs r2, 24 - mov r8, r2 - adds r0, r6, 0 - movs r1, 0x3C - bl __umodsi3 - adds r6, r0, 0 - lsls r6, 24 - lsrs r6, 24 - mov r0, r9 - movs r1, 0x3C - bl __umodsi3 - mov r9, r0 - lsls r0, 24 - lsrs r0, 24 - mov r9, r0 - ldr r4, _0806A844 @ =gStringVar1 - adds r0, r4, 0 - adds r1, r5, 0 - movs r2, 0x18 - movs r3, 0x1 - bl sub_8072C44 - adds r0, r7, 0 - adds r1, r4, 0 - bl StringCopy - adds r7, r0, 0 - ldr r1, _0806A848 @ =gOtherText_Day - bl StringCopy - adds r7, r0, 0 - adds r0, r4, 0 - mov r1, r8 - movs r2, 0x12 - movs r3, 0x1 - bl sub_8072C44 - adds r0, r7, 0 - adds r1, r4, 0 - bl StringCopy - adds r7, r0, 0 - ldr r4, _0806A84C @ =gUnknown_08376500 - adds r1, r4, 0 - bl StringCopy - adds r7, r0, 0 - adds r1, r6, 0 - movs r2, 0x2 - movs r3, 0x2 - bl ConvertIntToDecimalStringN - adds r7, r0, 0 - adds r1, r4, 0 - bl StringCopy - adds r7, r0, 0 - mov r1, r9 - movs r2, 0x2 - movs r3, 0x2 - bl ConvertIntToDecimalStringN - ldr r0, _0806A83C @ =gStringVar4 - mov r1, r10 - ldr r2, [sp] - bl MenuPrint - add sp, 0x4 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0806A83C: .4byte gStringVar4 -_0806A840: .4byte 0x00002710 -_0806A844: .4byte gStringVar1 -_0806A848: .4byte gOtherText_Day -_0806A84C: .4byte gUnknown_08376500 - thumb_func_end ResetRtcScreen_PrintTime - - thumb_func_start ResetRtcScreen_ShowChooseTimeWindow -ResetRtcScreen_ShowChooseTimeWindow: @ 806A850 - push {r4-r6,lr} - mov r6, r8 - push {r6} - sub sp, 0x8 - adds r6, r0, 0 - mov r8, r1 - adds r4, r2, 0 - adds r5, r3, 0 - lsls r6, 16 - lsrs r6, 16 - mov r0, r8 - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - lsls r4, 24 - lsrs r4, 24 - lsls r5, 24 - lsrs r5, 24 - movs r0, 0x3 - movs r1, 0x8 - movs r2, 0x19 - movs r3, 0xB - bl MenuDrawTextWindow - ldr r0, _0806A8A8 @ =gOtherText_OK - movs r1, 0x14 - movs r2, 0x9 - bl MenuPrint - str r4, [sp] - str r5, [sp, 0x4] - movs r0, 0x4 - movs r1, 0x9 - adds r2, r6, 0 - mov r3, r8 - bl ResetRtcScreen_PrintTime - add sp, 0x8 - pop {r3} - mov r8, r3 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0806A8A8: .4byte gOtherText_OK - thumb_func_end ResetRtcScreen_ShowChooseTimeWindow - - thumb_func_start ResetRtcScreen_MoveTimeUpDown -ResetRtcScreen_MoveTimeUpDown: @ 806A8AC - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - lsls r3, 16 - lsrs r3, 16 - adds r1, r3, 0 - movs r0, 0x80 - ands r0, r3 - cmp r0, 0 - beq _0806A8C6 - ldrh r0, [r4] - subs r0, 0x1 - b _0806A8E0 -_0806A8C6: - movs r0, 0x40 - ands r0, r3 - cmp r0, 0 - beq _0806A8D4 - ldrh r0, [r4] - adds r0, 0x1 - b _0806A8FE -_0806A8D4: - movs r0, 0x20 - ands r0, r3 - cmp r0, 0 - beq _0806A8EE - ldrh r0, [r4] - subs r0, 0xA -_0806A8E0: - strh r0, [r4] - movs r1, 0 - ldrsh r0, [r4, r1] - cmp r0, r5 - bge _0806A90A - strh r2, [r4] - b _0806A90A -_0806A8EE: - movs r0, 0x10 - ands r1, r0 - cmp r1, 0 - bne _0806A8FA - movs r0, 0 - b _0806A90C -_0806A8FA: - ldrh r0, [r4] - adds r0, 0xA -_0806A8FE: - strh r0, [r4] - movs r1, 0 - ldrsh r0, [r4, r1] - cmp r0, r2 - ble _0806A90A - strh r5, [r4] -_0806A90A: - movs r0, 0x1 -_0806A90C: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end ResetRtcScreen_MoveTimeUpDown - - thumb_func_start Task_ResetRtc_3 -Task_ResetRtc_3: @ 806A914 - lsls r0, 24 - lsrs r0, 24 - ldr r2, _0806A928 @ =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - movs r0, 0x1 - strh r0, [r1, 0x8] - bx lr - .align 2, 0 -_0806A928: .4byte gTasks - thumb_func_end Task_ResetRtc_3 - - thumb_func_start Task_ResetRtc_2 -Task_ResetRtc_2: @ 806A92C - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - bl ResetRtcScreen_HideChooseTimeWindow - bl ResetRtcScreen_FreeCursorPalette - ldr r1, _0806A950 @ =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - ldr r1, _0806A954 @ =Task_ResetRtc_3 - str r1, [r0] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0806A950: .4byte gTasks -_0806A954: .4byte Task_ResetRtc_3 - thumb_func_end Task_ResetRtc_2 - - thumb_func_start Task_ResetRtc_1 -Task_ResetRtc_1: @ 806A958 - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x8 - lsls r0, 24 - lsrs r6, r0, 24 - lsls r0, r6, 2 - adds r0, r6 - lsls r7, r0, 3 - ldr r0, _0806A99C @ =gTasks + 0x8 - mov r8, r0 - adds r5, r7, r0 - ldrb r4, [r5, 0x4] - lsls r0, r4, 1 - adds r0, r4 - lsls r0, 2 - ldr r1, _0806A9A0 @ =gUnknown_08376420 - 0xC - adds r2, r0, r1 - ldr r1, _0806A9A4 @ =gMain - ldrh r3, [r1, 0x2E] - movs r0, 0x2 - ands r0, r3 - mov r12, r1 - cmp r0, 0 - beq _0806A9AC - mov r0, r8 - subs r0, 0x8 - adds r0, r7, r0 - ldr r1, _0806A9A8 @ =Task_ResetRtc_2 - str r1, [r0] - movs r0, 0 - strh r0, [r5, 0x2] - movs r0, 0x6 - b _0806A9CC - .align 2, 0 -_0806A99C: .4byte gTasks + 0x8 -_0806A9A0: .4byte gUnknown_08376420 - 0xC -_0806A9A4: .4byte gMain -_0806A9A8: .4byte Task_ResetRtc_2 -_0806A9AC: - movs r0, 0x10 - ands r0, r3 - cmp r0, 0 - beq _0806A9BA - ldrb r0, [r2, 0x7] - cmp r0, 0 - bne _0806A9CC -_0806A9BA: - mov r3, r12 - ldrh r1, [r3, 0x2E] - movs r0, 0x20 - ands r0, r1 - cmp r0, 0 - beq _0806A9D6 - ldrb r0, [r2, 0x6] - cmp r0, 0 - beq _0806A9D6 -_0806A9CC: - strh r0, [r5, 0x4] - movs r0, 0x5 - bl PlaySE - b _0806AA58 -_0806A9D6: - cmp r4, 0x5 - bne _0806AA24 - mov r0, r12 - ldrh r1, [r0, 0x2E] - movs r4, 0x1 - adds r0, r4, 0 - ands r0, r1 - cmp r0, 0 - beq _0806AA58 - ldr r1, _0806AA18 @ =gLocalTime - ldrh r0, [r5, 0x6] - strh r0, [r1] - ldrh r0, [r5, 0x8] - strb r0, [r1, 0x2] - ldrh r0, [r5, 0xA] - strb r0, [r1, 0x3] - ldrh r0, [r5, 0xC] - strb r0, [r1, 0x4] - movs r0, 0x5 - bl PlaySE - ldr r1, _0806AA1C @ =gTasks - lsls r0, r6, 2 - adds r0, r6 - lsls r0, 3 - adds r0, r1 - ldr r1, _0806AA20 @ =Task_ResetRtc_2 - str r1, [r0] - strh r4, [r5, 0x2] - movs r0, 0x6 - strh r0, [r5, 0x4] - b _0806AA58 - .align 2, 0 -_0806AA18: .4byte gLocalTime -_0806AA1C: .4byte gTasks -_0806AA20: .4byte Task_ResetRtc_2 -_0806AA24: - ldrb r0, [r2] - lsls r0, 1 - adds r0, r5, r0 - ldrh r1, [r2, 0x2] - ldrh r2, [r2, 0x4] - mov r3, r12 - ldrh r4, [r3, 0x30] - movs r3, 0xC0 - ands r3, r4 - bl ResetRtcScreen_MoveTimeUpDown - cmp r0, 0 - beq _0806AA58 - movs r0, 0x5 - bl PlaySE - ldrh r2, [r5, 0x6] - ldrb r3, [r5, 0x8] - ldrb r0, [r5, 0xA] - str r0, [sp] - ldrb r0, [r5, 0xC] - str r0, [sp, 0x4] - movs r0, 0x4 - movs r1, 0x9 - bl ResetRtcScreen_PrintTime -_0806AA58: - add sp, 0x8 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end Task_ResetRtc_1 - - thumb_func_start Task_ResetRtc_0 -Task_ResetRtc_0: @ 806AA64 - push {r4-r6,lr} - mov r6, r8 - push {r6} - adds r5, r0, 0 - lsls r5, 24 - lsrs r5, 24 - lsls r6, r5, 2 - adds r6, r5 - lsls r6, 3 - ldr r0, _0806AACC @ =gTasks + 0x8 - mov r8, r0 - adds r4, r6, r0 - movs r0, 0 - strh r0, [r4] - ldr r3, _0806AAD0 @ =gLocalTime - ldrh r0, [r3] - strh r0, [r4, 0x6] - movs r1, 0x2 - ldrsb r1, [r3, r1] - strh r1, [r4, 0x8] - movs r2, 0x3 - ldrsb r2, [r3, r2] - strh r2, [r4, 0xA] - ldrb r3, [r3, 0x4] - lsls r3, 24 - asrs r3, 24 - strh r3, [r4, 0xC] - ldrh r0, [r4, 0x6] - lsls r1, 24 - lsrs r1, 24 - lsls r2, 24 - lsrs r2, 24 - lsls r3, 24 - lsrs r3, 24 - bl ResetRtcScreen_ShowChooseTimeWindow - adds r0, r5, 0 - bl ResetRtcScreen_CreateCursor - movs r0, 0x2 - strh r0, [r4, 0x4] - movs r0, 0x8 - negs r0, r0 - add r8, r0 - add r6, r8 - ldr r0, _0806AAD4 @ =Task_ResetRtc_1 - str r0, [r6] - pop {r3} - mov r8, r3 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0806AACC: .4byte gTasks + 0x8 -_0806AAD0: .4byte gLocalTime -_0806AAD4: .4byte Task_ResetRtc_1 - thumb_func_end Task_ResetRtc_0 - - thumb_func_start CB2_InitResetRtcScreen -CB2_InitResetRtcScreen: @ 806AAD8 - push {r4-r7,lr} - sub sp, 0x4 - movs r0, 0x80 - lsls r0, 19 - movs r4, 0 - strh r4, [r0] - movs r0, 0 - bl SetVBlankCallback - movs r2, 0xA0 - lsls r2, 19 - mov r0, sp - strh r4, [r0] - ldr r1, _0806AB94 @ =0x040000d4 - str r0, [r1] - str r2, [r1, 0x4] - ldr r0, _0806AB98 @ =0x81000200 - str r0, [r1, 0x8] - ldr r0, [r1, 0x8] - movs r2, 0xC0 - lsls r2, 19 - movs r3, 0xC0 - lsls r3, 9 - mov r4, sp - movs r6, 0 - movs r5, 0x80 - lsls r5, 5 - ldr r7, _0806AB9C @ =0x81000800 - movs r0, 0x81 - lsls r0, 24 - mov r12, r0 -_0806AB16: - strh r6, [r4] - mov r0, sp - str r0, [r1] - str r2, [r1, 0x4] - str r7, [r1, 0x8] - ldr r0, [r1, 0x8] - adds r2, r5 - subs r3, r5 - cmp r3, r5 - bhi _0806AB16 - strh r6, [r4] - mov r0, sp - str r0, [r1] - str r2, [r1, 0x4] - lsrs r0, r3, 1 - mov r2, r12 - orrs r0, r2 - str r0, [r1, 0x8] - ldr r0, [r1, 0x8] - movs r0, 0 - movs r1, 0x80 - bl ResetOamRange - bl LoadOam - bl remove_some_task - bl dp12_8087EA4 - bl ResetSpriteData - bl ResetTasks - bl ResetPaletteFade - ldr r4, _0806ABA0 @ =gWindowConfig_81E6CE4 - adds r0, r4, 0 - bl SetUpWindowConfig - adds r0, r4, 0 - bl InitMenuWindow - movs r1, 0x80 - lsls r1, 19 - movs r2, 0x88 - lsls r2, 5 - adds r0, r2, 0 - strh r0, [r1] - ldr r0, _0806ABA4 @ =VBlankCB_ResetRtcScreen - bl SetVBlankCallback - ldr r0, _0806ABA8 @ =CB2_ResetRtcScreen - bl SetMainCallback2 - ldr r0, _0806ABAC @ =Task_ResetRtcScreen - movs r1, 0x50 - bl CreateTask - add sp, 0x4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0806AB94: .4byte 0x040000d4 -_0806AB98: .4byte 0x81000200 -_0806AB9C: .4byte 0x81000800 -_0806ABA0: .4byte gWindowConfig_81E6CE4 -_0806ABA4: .4byte VBlankCB_ResetRtcScreen -_0806ABA8: .4byte CB2_ResetRtcScreen -_0806ABAC: .4byte Task_ResetRtcScreen - thumb_func_end CB2_InitResetRtcScreen - - thumb_func_start CB2_ResetRtcScreen -CB2_ResetRtcScreen: @ 806ABB0 - push {lr} - bl RunTasks - bl AnimateSprites - bl BuildOamBuffer - bl UpdatePaletteFade - pop {r0} - bx r0 - thumb_func_end CB2_ResetRtcScreen - - thumb_func_start VBlankCB_ResetRtcScreen -VBlankCB_ResetRtcScreen: @ 806ABC8 - push {lr} - bl ProcessSpriteCopyRequests - bl LoadOam - bl TransferPlttBuffer - pop {r0} - bx r0 - thumb_func_end VBlankCB_ResetRtcScreen - - thumb_func_start ResetRtcScreen_ShowMessage -ResetRtcScreen_ShowMessage: @ 806ABDC - push {r4,lr} - adds r4, r0, 0 - bl MenuDisplayMessageBox - adds r0, r4, 0 - movs r1, 0x2 - movs r2, 0xF - bl MenuPrint - pop {r4} - pop {r0} - bx r0 - thumb_func_end ResetRtcScreen_ShowMessage - - thumb_func_start Task_ShowResetRtcPrompt -Task_ShowResetRtcPrompt: @ 806ABF4 - push {r4,r5,lr} - sub sp, 0x8 - lsls r0, 24 - lsrs r5, r0, 24 - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - ldr r1, _0806AC14 @ =gTasks + 0x8 - adds r4, r0, r1 - movs r1, 0 - ldrsh r0, [r4, r1] - cmp r0, 0 - beq _0806AC18 - cmp r0, 0x1 - beq _0806AC80 - b _0806ACC4 - .align 2, 0 -_0806AC14: .4byte gTasks + 0x8 -_0806AC18: - bl MenuZeroFillScreen - movs r0, 0 - movs r1, 0 - movs r2, 0x14 - movs r3, 0xA - bl MenuDrawTextWindow - ldr r0, _0806AC98 @ =gSystemText_PresentTime - movs r1, 0x1 - movs r2, 0x1 - bl MenuPrint - ldr r0, _0806AC9C @ =gLocalTime - ldrh r2, [r0] - ldrb r3, [r0, 0x2] - ldrb r1, [r0, 0x3] - str r1, [sp] - ldrb r0, [r0, 0x4] - str r0, [sp, 0x4] - movs r0, 0x1 - movs r1, 0x3 - bl ResetRtcScreen_PrintTime - ldr r0, _0806ACA0 @ =gSystemText_PreviousTime - movs r1, 0x1 - movs r2, 0x5 - bl MenuPrint - ldr r1, _0806ACA4 @ =gSaveBlock2 - adds r0, r1, 0 - adds r0, 0xA0 - ldrh r2, [r0] - adds r0, 0x2 - ldrb r3, [r0] - adds r0, 0x1 - ldrb r0, [r0] - str r0, [sp] - adds r0, r1, 0 - adds r0, 0xA4 - ldrb r0, [r0] - str r0, [sp, 0x4] - movs r0, 0x1 - movs r1, 0x7 - bl ResetRtcScreen_PrintTime - ldr r0, _0806ACA8 @ =gSystemText_ResetRTCPrompt - bl ResetRtcScreen_ShowMessage - ldrh r0, [r4] - adds r0, 0x1 - strh r0, [r4] -_0806AC80: - ldr r0, _0806ACAC @ =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _0806ACB0 - adds r0, r5, 0 - bl DestroyTask - bl DoSoftReset - b _0806ACC4 - .align 2, 0 -_0806AC98: .4byte gSystemText_PresentTime -_0806AC9C: .4byte gLocalTime -_0806ACA0: .4byte gSystemText_PreviousTime -_0806ACA4: .4byte gSaveBlock2 -_0806ACA8: .4byte gSystemText_ResetRTCPrompt -_0806ACAC: .4byte gMain -_0806ACB0: - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _0806ACC4 - movs r0, 0x5 - bl PlaySE - adds r0, r5, 0 - bl DestroyTask -_0806ACC4: - add sp, 0x8 - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end Task_ShowResetRtcPrompt - - thumb_func_start Task_ResetRtcScreen -Task_ResetRtcScreen: @ 806ACCC - push {r4,r5,lr} - sub sp, 0x4 - lsls r0, 24 - lsrs r4, r0, 24 - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - ldr r1, _0806ACF4 @ =gTasks + 0x8 - adds r5, r0, r1 - movs r1, 0 - ldrsh r0, [r5, r1] - cmp r0, 0x6 - bls _0806ACE8 - b _0806AEC4 -_0806ACE8: - lsls r0, 2 - ldr r1, _0806ACF8 @ =_0806ACFC - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0806ACF4: .4byte gTasks + 0x8 -_0806ACF8: .4byte _0806ACFC - .align 2, 0 -_0806ACFC: - .4byte _0806AD18 - .4byte _0806AD34 - .4byte _0806AD80 - .4byte _0806ADD8 - .4byte _0806AE5C - .4byte _0806AE8C - .4byte _0806AEAE -_0806AD18: - movs r0, 0x1 - negs r0, r0 - ldr r1, _0806AD30 @ =0x0000ffff - str r1, [sp] - movs r1, 0x1 - movs r2, 0x10 - movs r3, 0 - bl BeginNormalPaletteFade - movs r0, 0x1 - strh r0, [r5] - b _0806AEC4 - .align 2, 0 -_0806AD30: .4byte 0x0000ffff -_0806AD34: - ldr r0, _0806AD5C @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _0806AD42 - b _0806AEC4 -_0806AD42: - ldr r0, _0806AD60 @ =gSaveFileStatus - ldrh r0, [r0] - cmp r0, 0 - beq _0806AD4E - cmp r0, 0x2 - bne _0806AD68 -_0806AD4E: - ldr r0, _0806AD64 @ =gSystemText_NoSaveFileNoTime - bl ResetRtcScreen_ShowMessage - movs r0, 0x5 - strh r0, [r5] - b _0806AEC4 - .align 2, 0 -_0806AD5C: .4byte gPaletteFade -_0806AD60: .4byte gSaveFileStatus -_0806AD64: .4byte gSystemText_NoSaveFileNoTime -_0806AD68: - bl RtcCalcLocalTime - ldr r0, _0806AD7C @ =Task_ShowResetRtcPrompt - movs r1, 0x50 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5, 0x2] - b _0806ADFC - .align 2, 0 -_0806AD7C: .4byte Task_ShowResetRtcPrompt -_0806AD80: - ldr r2, _0806ADC4 @ =gTasks - movs r0, 0x2 - ldrsh r1, [r5, r0] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r2 - ldrb r0, [r0, 0x4] - cmp r0, 0x1 - bne _0806AD96 - b _0806AEC4 -_0806AD96: - bl MenuZeroFillScreen - ldr r0, _0806ADC8 @ =gSystemText_PleaseResetTime - bl ResetRtcScreen_ShowMessage - ldr r2, _0806ADCC @ =gLocalTime - ldr r0, _0806ADD0 @ =gSaveBlock2 - adds r0, 0xA0 - ldr r1, [r0, 0x4] - ldr r0, [r0] - str r0, [r2] - str r1, [r2, 0x4] - ldr r0, _0806ADD4 @ =Task_ResetRtc_0 - movs r1, 0x50 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5, 0x2] - movs r0, 0x3 - strh r0, [r5] - b _0806AEC4 - .align 2, 0 -_0806ADC4: .4byte gTasks -_0806ADC8: .4byte gSystemText_PleaseResetTime -_0806ADCC: .4byte gLocalTime -_0806ADD0: .4byte gSaveBlock2 -_0806ADD4: .4byte Task_ResetRtc_0 -_0806ADD8: - ldr r2, _0806AE04 @ =gTasks - movs r0, 0x2 - ldrsh r1, [r5, r0] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r1, r0, r2 - movs r2, 0x8 - ldrsh r0, [r1, r2] - cmp r0, 0 - beq _0806AEC4 - movs r2, 0xA - ldrsh r0, [r1, r2] - cmp r0, 0 - bne _0806AE08 - ldrb r0, [r5, 0x2] - bl DestroyTask -_0806ADFC: - movs r0, 0x2 - strh r0, [r5] - b _0806AEC4 - .align 2, 0 -_0806AE04: .4byte gTasks -_0806AE08: - ldrb r0, [r5, 0x2] - bl DestroyTask - bl RtcReset - ldr r4, _0806AE4C @ =gLocalTime - movs r1, 0 - ldrsh r0, [r4, r1] - movs r1, 0x2 - ldrsb r1, [r4, r1] - movs r2, 0x3 - ldrsb r2, [r4, r2] - movs r3, 0x4 - ldrsb r3, [r4, r3] - bl RtcCalcLocalTimeOffset - ldr r2, _0806AE50 @ =gSaveBlock2 - adds r2, 0xA0 - ldr r0, [r4] - ldr r1, [r4, 0x4] - str r0, [r2] - str r1, [r2, 0x4] - ldr r0, _0806AE54 @ =0x00004040 - ldrh r1, [r4] - bl VarSet - bl DisableResetRTC - ldr r0, _0806AE58 @ =gSystemText_ClockResetDataSave - bl ResetRtcScreen_ShowMessage - movs r0, 0x4 - strh r0, [r5] - b _0806AEC4 - .align 2, 0 -_0806AE4C: .4byte gLocalTime -_0806AE50: .4byte gSaveBlock2 -_0806AE54: .4byte 0x00004040 -_0806AE58: .4byte gSystemText_ClockResetDataSave -_0806AE5C: - movs r0, 0 - bl TrySavingData - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _0806AE7C - ldr r0, _0806AE78 @ =gSystemText_SaveCompleted - bl ResetRtcScreen_ShowMessage - movs r0, 0x49 - bl PlaySE - b _0806AE88 - .align 2, 0 -_0806AE78: .4byte gSystemText_SaveCompleted -_0806AE7C: - ldr r0, _0806AECC @ =gSystemText_SaveFailed - bl ResetRtcScreen_ShowMessage - movs r0, 0x16 - bl PlaySE -_0806AE88: - movs r0, 0x5 - strh r0, [r5] -_0806AE8C: - ldr r0, _0806AED0 @ =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _0806AEC4 - movs r0, 0x1 - negs r0, r0 - ldr r1, _0806AED4 @ =0x0000ffff - str r1, [sp] - movs r1, 0x1 - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade - movs r0, 0x6 - strh r0, [r5] -_0806AEAE: - ldr r0, _0806AED8 @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _0806AEC4 - adds r0, r4, 0 - bl DestroyTask - bl DoSoftReset -_0806AEC4: - add sp, 0x4 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0806AECC: .4byte gSystemText_SaveFailed -_0806AED0: .4byte gMain -_0806AED4: .4byte 0x0000ffff -_0806AED8: .4byte gPaletteFade - thumb_func_end Task_ResetRtcScreen - - .align 2, 0 @ Don't pad with nop. diff --git a/asm/unknown_task.s b/asm/unknown_task.s deleted file mode 100644 index 39f1497ef..000000000 --- a/asm/unknown_task.s +++ /dev/null @@ -1,645 +0,0 @@ - .include "constants/gba_constants.inc" - .include "constants/species_constants.inc" - .include "asm/macros.inc" - - .syntax unified - - .text - - thumb_func_start remove_some_task -remove_some_task: @ 8089578 - push {r4,lr} - ldr r4, _080895A8 @ =gUnknown_03004DC0 - movs r0, 0 - strb r0, [r4, 0x15] - ldr r1, _080895AC @ =0x040000b0 - ldrh r2, [r1, 0xA] - ldr r0, _080895B0 @ =0x0000c5ff - ands r0, r2 - strh r0, [r1, 0xA] - ldrh r2, [r1, 0xA] - ldr r0, _080895B4 @ =0x00007fff - ands r0, r2 - strh r0, [r1, 0xA] - ldrh r0, [r1, 0xA] - ldrb r0, [r4, 0x18] - cmp r0, 0xFF - beq _080895A2 - bl DestroyTask - movs r0, 0xFF - strb r0, [r4, 0x18] -_080895A2: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080895A8: .4byte gUnknown_03004DC0 -_080895AC: .4byte 0x040000b0 -_080895B0: .4byte 0x0000c5ff -_080895B4: .4byte 0x00007fff - thumb_func_end remove_some_task - - thumb_func_start dp12_8087EA4 -dp12_8087EA4: @ 80895B8 - push {r4,lr} - sub sp, 0x4 - mov r0, sp - movs r4, 0 - strh r4, [r0] - ldr r1, _080895EC @ =gUnknown_03004DE0 - ldr r2, _080895F0 @ =0x01000780 - bl CpuSet - ldr r0, _080895F4 @ =gUnknown_03004DC0 - movs r1, 0 - str r1, [r0] - str r1, [r0, 0x4] - str r1, [r0, 0x8] - str r1, [r0, 0xC] - strb r4, [r0, 0x14] - strb r4, [r0, 0x15] - strb r4, [r0, 0x16] - strb r4, [r0, 0x17] - movs r1, 0xFF - strb r1, [r0, 0x18] - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080895EC: .4byte gUnknown_03004DE0 -_080895F0: .4byte 0x01000780 -_080895F4: .4byte gUnknown_03004DC0 - thumb_func_end dp12_8087EA4 - - thumb_func_start sub_80895F8 -sub_80895F8: @ 80895F8 - push {lr} - sub sp, 0xC - str r0, [sp] - str r1, [sp, 0x4] - str r2, [sp, 0x8] - ldr r0, _0808961C @ =0xa2600001 - cmp r1, r0 - bne _0808962C - ldr r0, _08089620 @ =gUnknown_03004DC0 - ldr r1, _08089624 @ =gUnknown_03004DE2 - str r1, [r0] - movs r2, 0xF0 - lsls r2, 3 - adds r1, r2 - str r1, [r0, 0x4] - ldr r1, _08089628 @ =sub_80896F4 - b _0808963C - .align 2, 0 -_0808961C: .4byte 0xa2600001 -_08089620: .4byte gUnknown_03004DC0 -_08089624: .4byte gUnknown_03004DE2 -_08089628: .4byte sub_80896F4 -_0808962C: - ldr r0, _0808965C @ =gUnknown_03004DC0 - ldr r1, _08089660 @ =gUnknown_03004DE4 - str r1, [r0] - movs r2, 0xF0 - lsls r2, 3 - adds r1, r2 - str r1, [r0, 0x4] - ldr r1, _08089664 @ =sub_8089714 -_0808963C: - str r1, [r0, 0x10] - adds r1, r0, 0 - ldr r0, [sp, 0x4] - str r0, [r1, 0xC] - ldr r0, [sp] - str r0, [r1, 0x8] - mov r0, sp - ldrb r0, [r0, 0x8] - strb r0, [r1, 0x15] - mov r0, sp - ldrb r0, [r0, 0x9] - strb r0, [r1, 0x16] - strb r0, [r1, 0x17] - add sp, 0xC - pop {r0} - bx r0 - .align 2, 0 -_0808965C: .4byte gUnknown_03004DC0 -_08089660: .4byte gUnknown_03004DE4 -_08089664: .4byte sub_8089714 - thumb_func_end sub_80895F8 - - thumb_func_start sub_8089668 -sub_8089668: @ 8089668 - push {r4,lr} - ldr r4, _08089698 @ =gUnknown_03004DC0 - ldrb r0, [r4, 0x15] - cmp r0, 0 - beq _080896E2 - cmp r0, 0x3 - bne _080896AC - movs r0, 0 - strb r0, [r4, 0x15] - ldr r1, _0808969C @ =0x040000b0 - ldrh r2, [r1, 0xA] - ldr r0, _080896A0 @ =0x0000c5ff - ands r0, r2 - strh r0, [r1, 0xA] - ldrh r2, [r1, 0xA] - ldr r0, _080896A4 @ =0x00007fff - ands r0, r2 - strh r0, [r1, 0xA] - ldrh r0, [r1, 0xA] - ldr r1, _080896A8 @ =gUnknown_0202FFA4 - movs r0, 0x1 - strb r0, [r1] - b _080896E2 - .align 2, 0 -_08089698: .4byte gUnknown_03004DC0 -_0808969C: .4byte 0x040000b0 -_080896A0: .4byte 0x0000c5ff -_080896A4: .4byte 0x00007fff -_080896A8: .4byte gUnknown_0202FFA4 -_080896AC: - ldr r1, _080896E8 @ =0x040000b0 - ldrh r2, [r1, 0xA] - ldr r0, _080896EC @ =0x0000c5ff - ands r0, r2 - strh r0, [r1, 0xA] - ldrh r2, [r1, 0xA] - ldr r0, _080896F0 @ =0x00007fff - ands r0, r2 - strh r0, [r1, 0xA] - ldrh r0, [r1, 0xA] - ldrb r0, [r4, 0x14] - lsls r0, 2 - adds r0, r4 - ldr r0, [r0] - str r0, [r1] - ldr r0, [r4, 0x8] - str r0, [r1, 0x4] - ldr r0, [r4, 0xC] - str r0, [r1, 0x8] - ldr r0, [r1, 0x8] - ldr r0, [r4, 0x10] - bl _call_via_r0 - ldrb r0, [r4, 0x14] - movs r1, 0x1 - eors r0, r1 - strb r0, [r4, 0x14] -_080896E2: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080896E8: .4byte 0x040000b0 -_080896EC: .4byte 0x0000c5ff -_080896F0: .4byte 0x00007fff - thumb_func_end sub_8089668 - - thumb_func_start sub_80896F4 -sub_80896F4: @ 80896F4 - ldr r0, _0808970C @ =gUnknown_03004DC0 - ldr r2, [r0, 0x8] - ldrb r1, [r0, 0x14] - lsls r0, r1, 4 - subs r0, r1 - lsls r0, 7 - ldr r1, _08089710 @ =gUnknown_03004DE0 - adds r0, r1 - ldrh r0, [r0] - strh r0, [r2] - bx lr - .align 2, 0 -_0808970C: .4byte gUnknown_03004DC0 -_08089710: .4byte gUnknown_03004DE0 - thumb_func_end sub_80896F4 - - thumb_func_start sub_8089714 -sub_8089714: @ 8089714 - ldr r0, _0808972C @ =gUnknown_03004DC0 - ldr r2, [r0, 0x8] - ldrb r1, [r0, 0x14] - lsls r0, r1, 4 - subs r0, r1 - lsls r0, 7 - ldr r1, _08089730 @ =gUnknown_03004DE0 - adds r0, r1 - ldr r0, [r0] - str r0, [r2] - bx lr - .align 2, 0 -_0808972C: .4byte gUnknown_03004DC0 -_08089730: .4byte gUnknown_03004DE0 - thumb_func_end sub_8089714 - - thumb_func_start task00_for_dp12 -task00_for_dp12: @ 8089734 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - lsls r0, 24 - lsrs r0, 24 - mov r12, r0 - movs r6, 0 - ldr r0, _0808975C @ =gUnknown_0202FFA4 - ldrb r0, [r0] - cmp r0, 0 - beq _08089764 - mov r0, r12 - bl DestroyTask - ldr r1, _08089760 @ =gUnknown_03004DC0 - movs r0, 0xFF - strb r0, [r1, 0x18] - b _080898E4 - .align 2, 0 -_0808975C: .4byte gUnknown_0202FFA4 -_08089760: .4byte gUnknown_03004DC0 -_08089764: - ldr r1, _08089790 @ =gTasks - mov r0, r12 - lsls r2, r0, 2 - adds r0, r2, r0 - lsls r0, 3 - adds r3, r0, r1 - movs r4, 0x16 - ldrsh r0, [r3, r4] - mov r10, r1 - mov r9, r2 - cmp r0, 0 - beq _08089810 - movs r1, 0x14 - ldrsh r0, [r3, r1] - cmp r0, 0xE - bhi _08089810 - lsls r0, 2 - ldr r1, _08089794 @ =_08089798 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_08089790: .4byte gTasks -_08089794: .4byte _08089798 - .align 2, 0 -_08089798: - .4byte _080897D4 - .4byte _08089810 - .4byte _080897DC - .4byte _08089810 - .4byte _080897E4 - .4byte _08089810 - .4byte _080897EC - .4byte _08089810 - .4byte _080897F4 - .4byte _08089810 - .4byte _080897FC - .4byte _08089810 - .4byte _08089804 - .4byte _08089810 - .4byte _0808980C -_080897D4: - ldr r0, _080897D8 @ =gUnknown_030042A4 - b _0808980E - .align 2, 0 -_080897D8: .4byte gUnknown_030042A4 -_080897DC: - ldr r0, _080897E0 @ =gUnknown_030042A0 - b _0808980E - .align 2, 0 -_080897E0: .4byte gUnknown_030042A0 -_080897E4: - ldr r0, _080897E8 @ =gUnknown_030042C0 - b _0808980E - .align 2, 0 -_080897E8: .4byte gUnknown_030042C0 -_080897EC: - ldr r0, _080897F0 @ =gUnknown_030041B4 - b _0808980E - .align 2, 0 -_080897F0: .4byte gUnknown_030041B4 -_080897F4: - ldr r0, _080897F8 @ =gUnknown_03004288 - b _0808980E - .align 2, 0 -_080897F8: .4byte gUnknown_03004288 -_080897FC: - ldr r0, _08089800 @ =gUnknown_03004280 - b _0808980E - .align 2, 0 -_08089800: .4byte gUnknown_03004280 -_08089804: - ldr r0, _08089808 @ =gUnknown_030041B0 - b _0808980E - .align 2, 0 -_08089808: .4byte gUnknown_030041B0 -_0808980C: - ldr r0, _08089870 @ =gUnknown_030041B8 -_0808980E: - ldrh r6, [r0] -_08089810: - mov r0, r9 - add r0, r12 - lsls r0, 3 - mov r2, r10 - adds r1, r0, r2 - ldrh r2, [r1, 0x10] - movs r3, 0x10 - ldrsh r0, [r1, r3] - cmp r0, 0 - beq _0808987C - subs r0, r2, 0x1 - strh r0, [r1, 0x10] - movs r4, 0xE - ldrsh r0, [r1, r4] - movs r3, 0xA0 - lsls r3, 1 - adds r2, r0, r3 - movs r4, 0x8 - ldrsh r3, [r1, r4] - movs r4, 0xA - ldrsh r0, [r1, r4] - cmp r3, r0 - bge _080898E4 - ldr r5, _08089874 @ =gUnknown_03004DE0 - ldr r0, _08089878 @ =gUnknown_03004DC0 - mov r8, r0 - adds r7, r1, 0 - lsls r0, r2, 1 - adds r4, r0, r5 -_0808984A: - lsls r2, r3, 1 - mov r0, r8 - ldrb r1, [r0, 0x14] - lsls r0, r1, 4 - subs r0, r1 - lsls r0, 7 - adds r2, r0 - adds r2, r5 - ldrh r0, [r4] - adds r0, r6 - strh r0, [r2] - adds r4, 0x2 - adds r3, 0x1 - movs r1, 0xA - ldrsh r0, [r7, r1] - cmp r3, r0 - blt _0808984A - b _080898E4 - .align 2, 0 -_08089870: .4byte gUnknown_030041B8 -_08089874: .4byte gUnknown_03004DE0 -_08089878: .4byte gUnknown_03004DC0 -_0808987C: - ldrh r0, [r1, 0x12] - strh r0, [r1, 0x10] - movs r2, 0xE - ldrsh r0, [r1, r2] - movs r3, 0xA0 - lsls r3, 1 - adds r2, r0, r3 - movs r4, 0x8 - ldrsh r3, [r1, r4] - movs r4, 0xA - ldrsh r0, [r1, r4] - cmp r3, r0 - bge _080898C4 - ldr r5, _080898F4 @ =gUnknown_03004DE0 - adds r7, r1, 0 - lsls r0, r2, 1 - adds r4, r0, r5 - ldr r0, _080898F8 @ =gUnknown_03004DC0 - mov r8, r0 -_080898A2: - lsls r2, r3, 1 - mov r0, r8 - ldrb r1, [r0, 0x14] - lsls r0, r1, 4 - subs r0, r1 - lsls r0, 7 - adds r2, r0 - adds r2, r5 - ldrh r0, [r4] - adds r0, r6 - strh r0, [r2] - adds r4, 0x2 - adds r3, 0x1 - movs r1, 0xA - ldrsh r0, [r7, r1] - cmp r3, r0 - blt _080898A2 -_080898C4: - mov r0, r9 - add r0, r12 - lsls r0, 3 - mov r3, r10 - adds r2, r0, r3 - ldrh r0, [r2, 0xE] - adds r0, 0x1 - strh r0, [r2, 0xE] - lsls r0, 16 - asrs r0, 16 - movs r4, 0xC - ldrsh r1, [r2, r4] - cmp r0, r1 - bne _080898E4 - movs r0, 0 - strh r0, [r2, 0xE] -_080898E4: - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080898F4: .4byte gUnknown_03004DE0 -_080898F8: .4byte gUnknown_03004DC0 - thumb_func_end task00_for_dp12 - - thumb_func_start sub_80898FC -sub_80898FC: @ 80898FC - push {r4-r7,lr} - adds r6, r0, 0 - lsls r1, 24 - lsrs r5, r1, 24 - lsls r2, 24 - lsrs r4, r2, 24 - movs r1, 0 - movs r2, 0 - ldr r0, _08089940 @ =gSineTable - mov r12, r0 -_08089910: - lsls r0, r1, 1 - adds r3, r0, r6 - lsls r0, r2, 1 - add r0, r12 - movs r7, 0 - ldrsh r0, [r0, r7] - muls r0, r4 - cmp r0, 0 - bge _08089924 - adds r0, 0xFF -_08089924: - asrs r0, 8 - strh r0, [r3] - adds r0, r2, r5 - lsls r0, 24 - lsrs r2, r0, 24 - adds r0, r1, 0x1 - lsls r0, 16 - lsrs r1, r0, 16 - cmp r1, 0xFF - bls _08089910 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08089940: .4byte gSineTable - thumb_func_end sub_80898FC - - thumb_func_start sub_8089944 -sub_8089944: @ 8089944 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x20 - adds r5, r0, 0 - str r1, [sp, 0x10] - ldr r0, [sp, 0x40] - mov r8, r0 - ldr r1, [sp, 0x44] - mov r9, r1 - ldr r0, [sp, 0x48] - mov r10, r0 - lsls r5, 24 - lsrs r5, 24 - ldr r1, [sp, 0x10] - lsls r1, 24 - str r1, [sp, 0x14] - lsrs r0, r1, 24 - str r0, [sp, 0xC] - lsls r1, r2, 24 - lsrs r1, 24 - str r1, [sp, 0x18] - lsls r2, r3, 24 - lsrs r2, 24 - str r2, [sp, 0x1C] - mov r1, r8 - lsls r1, 24 - lsrs r1, 24 - mov r8, r1 - mov r3, r9 - lsls r3, 24 - lsrs r3, 24 - mov r9, r3 - mov r0, r10 - lsls r0, 24 - lsrs r0, 24 - mov r10, r0 - bl dp12_8087EA4 - ldr r0, _08089A50 @ =REG_BG0HOFS - add r0, r9 - str r0, [sp] - ldr r0, _08089A54 @ =0xa2600001 - str r0, [sp, 0x4] - mov r1, sp - movs r0, 0x1 - strb r0, [r1, 0x8] - mov r0, sp - movs r1, 0 - strb r1, [r0, 0x9] - ldr r0, [sp] - ldr r1, [sp, 0x4] - ldr r2, [sp, 0x8] - bl sub_80895F8 - ldr r0, _08089A58 @ =task00_for_dp12 - movs r1, 0 - bl CreateTask - lsls r0, 24 - lsrs r7, r0, 24 - ldr r0, _08089A5C @ =gTasks - lsls r4, r7, 2 - adds r4, r7 - lsls r4, 3 - adds r4, r0 - strh r5, [r4, 0x8] - mov r3, sp - ldrh r3, [r3, 0xC] - strh r3, [r4, 0xA] - movs r0, 0x80 - lsls r0, 1 - ldr r1, [sp, 0x18] - bl __divsi3 - strh r0, [r4, 0xC] - movs r0, 0 - strh r0, [r4, 0xE] - mov r1, r8 - strh r1, [r4, 0x10] - strh r1, [r4, 0x12] - mov r3, r9 - strh r3, [r4, 0x14] - mov r0, r10 - strh r0, [r4, 0x16] - ldr r0, _08089A60 @ =gUnknown_03004DC0 - strb r7, [r0, 0x18] - ldr r0, _08089A64 @ =gUnknown_0202FFA4 - movs r1, 0 - strb r1, [r0] - ldr r4, _08089A68 @ =gUnknown_03005060 - ldr r3, [sp, 0xC] - subs r6, r3, r5 - lsls r3, r6, 24 - lsrs r3, 24 - adds r0, r4, 0 - ldr r1, [sp, 0x18] - ldr r2, [sp, 0x1C] - bl sub_80898FC - ldr r0, [sp, 0xC] - cmp r5, r0 - bge _08089A3E - ldr r1, _08089A6C @ =0xfffffd80 - adds r2, r4, r1 - lsls r1, r5, 1 - movs r3, 0xF0 - lsls r3, 3 - adds r0, r1, r3 - adds r3, r0, r2 - adds r1, r2 - adds r2, r4, 0 - adds r5, r6, 0 -_08089A2A: - ldrh r0, [r2] - strh r0, [r1] - ldrh r0, [r2] - strh r0, [r3] - adds r2, 0x2 - adds r3, 0x2 - adds r1, 0x2 - subs r5, 0x1 - cmp r5, 0 - bne _08089A2A -_08089A3E: - adds r0, r7, 0 - add sp, 0x20 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_08089A50: .4byte REG_BG0HOFS -_08089A54: .4byte 0xa2600001 -_08089A58: .4byte task00_for_dp12 -_08089A5C: .4byte gTasks -_08089A60: .4byte gUnknown_03004DC0 -_08089A64: .4byte gUnknown_0202FFA4 -_08089A68: .4byte gUnknown_03005060 -_08089A6C: .4byte 0xfffffd80 - thumb_func_end sub_8089944 - - .align 2, 0 @ Don't pad with nop. |