diff options
-rw-r--r-- | asm/battle_anim.s | 1595 | ||||
-rw-r--r-- | src/battle_anim.c | 680 |
2 files changed, 638 insertions, 1637 deletions
diff --git a/asm/battle_anim.s b/asm/battle_anim.s index d7efbc466..d63a8a7c3 100644 --- a/asm/battle_anim.s +++ b/asm/battle_anim.s @@ -6,1601 +6,6 @@ .text - thumb_func_start sub_8076380 -sub_8076380: @ 8076380 - push {r4-r7,lr} - sub sp, 0xC - ldr r0, _080763F8 @ =0x02019348 - ldrh r0, [r0] - bl sub_80AEB1C - lsls r0, 24 - cmp r0, 0 - beq _080763EE - mov r0, sp - bl sub_8078914 - ldr r6, [sp, 0x4] - movs r5, 0 - movs r0, 0x7 - mov r12, r0 - movs r7, 0 -_080763A2: - movs r4, 0 - adds r3, r7, r6 - mov r1, r12 - lsls r0, r1, 1 - adds r2, r0, r6 -_080763AC: - ldrh r1, [r3] - ldrh r0, [r2] - strh r0, [r3] - strh r1, [r2] - adds r3, 0x2 - subs r2, 0x2 - adds r4, 0x1 - cmp r4, 0x3 - ble _080763AC - movs r0, 0x20 - add r12, r0 - adds r7, 0x40 - adds r5, 0x1 - cmp r5, 0x7 - ble _080763A2 - movs r5, 0 - movs r1, 0x80 - lsls r1, 3 - adds r3, r1, 0 -_080763D2: - adds r2, r5, 0x1 - lsls r0, r5, 6 - adds r1, r0, r6 - movs r4, 0x7 -_080763DA: - ldrh r0, [r1] - eors r0, r3 - strh r0, [r1] - adds r1, 0x2 - subs r4, 0x1 - cmp r4, 0 - bge _080763DA - adds r5, r2, 0 - cmp r5, 0x7 - ble _080763D2 -_080763EE: - add sp, 0xC - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080763F8: .4byte 0x02019348 - thumb_func_end sub_8076380 - - thumb_func_start sub_80763FC -sub_80763FC: @ 80763FC - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - mov r12, r1 - adds r7, r2, 0 - lsls r0, 16 - lsrs r6, r0, 16 - lsls r3, 24 - movs r0, 0x40 - mov r9, r0 - cmp r3, 0 - bne _0807641A - movs r1, 0x20 - mov r9, r1 -_0807641A: - lsls r0, r6, 28 - lsrs r6, r0, 16 - movs r0, 0 - cmp r0, r9 - bcs _08076452 - ldr r1, _08076460 @ =0x00000fff - mov r8, r1 -_08076428: - movs r3, 0 - adds r5, r0, 0x1 - lsls r4, r0, 5 -_0807642E: - adds r1, r4, r3 - lsls r1, 1 - add r1, r12 - ldrh r2, [r1] - mov r0, r8 - ands r0, r2 - orrs r0, r6 - adds r0, r7 - strh r0, [r1] - adds r0, r3, 0x1 - lsls r0, 24 - lsrs r3, r0, 24 - cmp r3, 0x1F - bls _0807642E - lsls r0, r5, 24 - lsrs r0, 24 - cmp r0, r9 - bcc _08076428 -_08076452: - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08076460: .4byte 0x00000fff - thumb_func_end sub_80763FC - - thumb_func_start sub_8076464 -sub_8076464: @ 8076464 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x14 - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - add r5, sp, 0x4 - adds r0, r5, 0 - bl sub_8078914 - cmp r4, 0 - beq _0807648C - bl sub_8076BE0 - lsls r0, 24 - cmp r0, 0 - beq _080764F0 -_0807648C: - ldr r2, [sp, 0x4] - movs r3, 0x80 - lsls r3, 6 - add r5, sp, 0x10 - ldr r0, _080764E0 @ =gUnknown_030042C0 - mov r9, r0 - ldr r0, _080764E4 @ =gUnknown_030041B4 - mov r10, r0 - movs r6, 0 - ldr r1, _080764E8 @ =0x040000d4 - movs r4, 0x80 - lsls r4, 5 - mov r12, r5 - ldr r7, _080764EC @ =0x85000400 - movs r0, 0x85 - lsls r0, 24 - mov r8, r0 -_080764AE: - str r6, [sp, 0x10] - mov r0, r12 - str r0, [r1] - str r2, [r1, 0x4] - str r7, [r1, 0x8] - ldr r0, [r1, 0x8] - adds r2, r4 - subs r3, r4 - cmp r3, r4 - bhi _080764AE - str r6, [sp, 0x10] - str r5, [r1] - str r2, [r1, 0x4] - lsrs r0, r3, 2 - mov r2, r8 - orrs r0, r2 - str r0, [r1, 0x8] - ldr r0, [r1, 0x8] - mov r0, sp - movs r1, 0 - strb r1, [r0] - strb r1, [r0] - ldr r1, [sp, 0x8] - b _08076540 - .align 2, 0 -_080764E0: .4byte gUnknown_030042C0 -_080764E4: .4byte gUnknown_030041B4 -_080764E8: .4byte 0x040000d4 -_080764EC: .4byte 0x85000400 -_080764F0: - ldr r2, _08076568 @ =0x06006000 - movs r3, 0x80 - lsls r3, 6 - add r5, sp, 0x10 - ldr r0, _0807656C @ =gUnknown_03004288 - mov r9, r0 - ldr r0, _08076570 @ =gUnknown_03004280 - mov r10, r0 - movs r6, 0 - ldr r1, _08076574 @ =0x040000d4 - movs r4, 0x80 - lsls r4, 5 - mov r12, r5 - ldr r7, _08076578 @ =0x85000400 - movs r0, 0x85 - lsls r0, 24 - mov r8, r0 -_08076512: - str r6, [sp, 0x10] - mov r0, r12 - str r0, [r1] - str r2, [r1, 0x4] - str r7, [r1, 0x8] - ldr r0, [r1, 0x8] - adds r2, r4 - subs r3, r4 - cmp r3, r4 - bhi _08076512 - str r6, [sp, 0x10] - str r5, [r1] - str r2, [r1, 0x4] - lsrs r0, r3, 2 - mov r2, r8 - orrs r0, r2 - str r0, [r1, 0x8] - ldr r0, [r1, 0x8] - mov r0, sp - movs r1, 0 - strb r1, [r0] - strb r1, [r0] - ldr r1, _0807657C @ =0x0600f000 -_08076540: - movs r2, 0 - str r2, [sp, 0x10] - ldr r0, _08076574 @ =0x040000d4 - str r5, [r0] - str r1, [r0, 0x4] - ldr r1, _08076580 @ =0x85000200 - str r1, [r0, 0x8] - ldr r0, [r0, 0x8] - mov r0, r9 - strh r2, [r0] - mov r0, r10 - strh r2, [r0] - add sp, 0x14 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08076568: .4byte 0x06006000 -_0807656C: .4byte gUnknown_03004288 -_08076570: .4byte gUnknown_03004280 -_08076574: .4byte 0x040000d4 -_08076578: .4byte 0x85000400 -_0807657C: .4byte 0x0600f000 -_08076580: .4byte 0x85000200 - thumb_func_end sub_8076464 - - thumb_func_start task_pA_ma0A_obj_to_bg_pal -task_pA_ma0A_obj_to_bg_pal: @ 8076584 - push {r4-r6,lr} - sub sp, 0xC - lsls r0, 24 - lsrs r0, 24 - ldr r2, _080765FC @ =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r5, r1, r2 - ldrb r4, [r5, 0x8] - ldrb r6, [r5, 0x14] - mov r0, sp - bl sub_8078914 - ldr r0, _08076600 @ =gSprites - lsls r1, r4, 4 - adds r1, r4 - lsls r1, 2 - adds r1, r0 - ldrh r2, [r1, 0x24] - ldrh r0, [r1, 0x20] - adds r2, r0 - ldrh r0, [r5, 0xA] - subs r0, r2 - lsls r0, 16 - lsrs r3, r0, 16 - ldrh r2, [r1, 0x26] - ldrh r1, [r1, 0x22] - adds r2, r1 - ldrh r0, [r5, 0xC] - subs r0, r2 - lsls r0, 16 - lsrs r2, r0, 16 - movs r1, 0x12 - ldrsh r0, [r5, r1] - cmp r0, 0 - bne _08076614 - ldr r1, _08076604 @ =gUnknown_030042C0 - lsls r0, r3, 16 - asrs r0, 16 - ldrh r3, [r5, 0xE] - adds r0, r3 - strh r0, [r1] - ldr r1, _08076608 @ =gUnknown_030041B4 - lsls r0, r2, 16 - asrs r0, 16 - ldrh r5, [r5, 0x10] - adds r0, r5 - strh r0, [r1] - lsls r2, r6, 5 - ldr r1, _0807660C @ =gPlttBufferFaded + 0x200 - adds r2, r1 - mov r0, sp - ldrb r0, [r0, 0x8] - lsls r0, 5 - ldr r3, _08076610 @ =0xfffffe00 - adds r1, r3 - adds r0, r1 - b _08076634 - .align 2, 0 -_080765FC: .4byte gTasks -_08076600: .4byte gSprites -_08076604: .4byte gUnknown_030042C0 -_08076608: .4byte gUnknown_030041B4 -_0807660C: .4byte gPlttBufferFaded + 0x200 -_08076610: .4byte 0xfffffe00 -_08076614: - ldr r1, _08076648 @ =gUnknown_03004288 - lsls r0, r3, 16 - asrs r0, 16 - ldrh r3, [r5, 0xE] - adds r0, r3 - strh r0, [r1] - ldr r1, _0807664C @ =gUnknown_03004280 - lsls r0, r2, 16 - asrs r0, 16 - ldrh r5, [r5, 0x10] - adds r0, r5 - strh r0, [r1] - lsls r2, r6, 5 - ldr r0, _08076650 @ =gPlttBufferFaded + 0x200 - adds r2, r0 - subs r0, 0xE0 -_08076634: - ldr r1, _08076654 @ =0x040000d4 - str r2, [r1] - str r0, [r1, 0x4] - ldr r0, _08076658 @ =0x84000008 - str r0, [r1, 0x8] - ldr r0, [r1, 0x8] - add sp, 0xC - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_08076648: .4byte gUnknown_03004288 -_0807664C: .4byte gUnknown_03004280 -_08076650: .4byte gPlttBufferFaded + 0x200 -_08076654: .4byte 0x040000d4 -_08076658: .4byte 0x84000008 - thumb_func_end task_pA_ma0A_obj_to_bg_pal - - thumb_func_start ma0B_0807324C -ma0B_0807324C: @ 807665C - push {r4,r5,lr} - ldr r0, _08076670 @ =gUnknown_0202F7A4 - ldr r2, [r0] - adds r1, r2, 0x1 - str r1, [r0] - ldrb r4, [r2, 0x1] - cmp r4, 0 - bne _08076674 - movs r4, 0x2 - b _0807667E - .align 2, 0 -_08076670: .4byte gUnknown_0202F7A4 -_08076674: - cmp r4, 0x1 - bne _0807667A - movs r4, 0x3 -_0807667A: - cmp r4, 0 - beq _08076682 -_0807667E: - cmp r4, 0x2 - bne _0807668C -_08076682: - ldr r0, _08076688 @ =gUnknown_0202F7C8 - b _0807668E - .align 2, 0 -_08076688: .4byte gUnknown_0202F7C8 -_0807668C: - ldr r0, _080766E4 @ =gUnknown_0202F7C9 -_0807668E: - ldrb r5, [r0] - ldr r3, _080766E8 @ =gUnknown_0202F7C2 - ldrb r0, [r3] - cmp r0, 0xFF - beq _080766B4 - ldr r2, _080766EC @ =gSprites - ldr r0, _080766F0 @ =gUnknown_02024BE0 - adds r0, r5, r0 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - adds r0, 0x3E - ldrb r2, [r0] - movs r1, 0x5 - negs r1, r1 - ands r1, r2 - strb r1, [r0] -_080766B4: - cmp r4, 0x1 - bls _080766F4 - ldrb r0, [r3, 0x1] - cmp r0, 0xFF - beq _080766F4 - ldr r3, _080766EC @ =gSprites - ldr r2, _080766F0 @ =gUnknown_02024BE0 - movs r1, 0x2 - adds r0, r5, 0 - eors r0, r1 - adds r0, r2 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - adds r0, 0x3E - ldrb r2, [r0] - movs r1, 0x5 - negs r1, r1 - ands r1, r2 - strb r1, [r0] - b _080766F6 - .align 2, 0 -_080766E4: .4byte gUnknown_0202F7C9 -_080766E8: .4byte gUnknown_0202F7C2 -_080766EC: .4byte gSprites -_080766F0: .4byte gUnknown_02024BE0 -_080766F4: - movs r4, 0 -_080766F6: - ldr r0, _08076720 @ =sub_807672C - movs r1, 0x5 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - ldr r2, _08076724 @ =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - strh r4, [r1, 0x8] - strh r5, [r1, 0xC] - ldr r1, _08076728 @ =gUnknown_0202F7A4 - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08076720: .4byte sub_807672C -_08076724: .4byte gTasks -_08076728: .4byte gUnknown_0202F7A4 - thumb_func_end ma0B_0807324C - - thumb_func_start sub_807672C -sub_807672C: @ 807672C - push {r4-r6,lr} - lsls r0, 24 - lsrs r5, r0, 24 - ldr r1, _0807676C @ =gTasks - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r1, r0, r1 - ldrh r0, [r1, 0xA] - adds r0, 0x1 - strh r0, [r1, 0xA] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x1 - beq _080767B6 - ldrb r0, [r1, 0xC] - bl battle_get_per_side_status - lsls r0, 24 - movs r1, 0xFF - lsls r1, 24 - adds r0, r1 - lsrs r0, 24 - cmp r0, 0x1 - bls _08076768 - bl sub_8076BE0 - lsls r0, 24 - cmp r0, 0 - beq _08076770 -_08076768: - movs r4, 0 - b _08076772 - .align 2, 0 -_0807676C: .4byte gTasks -_08076770: - movs r4, 0x1 -_08076772: - ldr r6, _080767BC @ =gUnknown_0202F7C2 - ldrb r0, [r6] - cmp r0, 0xFF - beq _0807678A - adds r0, r4, 0 - bl sub_8076464 - ldrb r0, [r6] - bl DestroyTask - movs r0, 0xFF - strb r0, [r6] -_0807678A: - ldr r0, _080767C0 @ =gTasks - lsls r1, r5, 2 - adds r1, r5 - lsls r1, 3 - adds r1, r0 - movs r2, 0x8 - ldrsh r0, [r1, r2] - cmp r0, 0x1 - ble _080767B0 - movs r0, 0x1 - eors r4, r0 - adds r0, r4, 0 - bl sub_8076464 - ldrb r0, [r6, 0x1] - bl DestroyTask - movs r0, 0xFF - strb r0, [r6, 0x1] -_080767B0: - adds r0, r5, 0 - bl DestroyTask -_080767B6: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080767BC: .4byte gUnknown_0202F7C2 -_080767C0: .4byte gTasks - thumb_func_end sub_807672C - - thumb_func_start sub_80767C4 -sub_80767C4: @ 80767C4 - push {r4,r5,lr} - ldr r0, _080767D8 @ =gUnknown_0202F7A4 - ldr r2, [r0] - adds r1, r2, 0x1 - str r1, [r0] - ldrb r5, [r2, 0x1] - cmp r5, 0 - bne _080767DC - movs r5, 0x2 - b _080767E6 - .align 2, 0 -_080767D8: .4byte gUnknown_0202F7A4 -_080767DC: - cmp r5, 0x1 - bne _080767E2 - movs r5, 0x3 -_080767E2: - cmp r5, 0 - beq _080767EA -_080767E6: - cmp r5, 0x2 - bne _080767F4 -_080767EA: - ldr r0, _080767F0 @ =gUnknown_0202F7C8 - b _080767F6 - .align 2, 0 -_080767F0: .4byte gUnknown_0202F7C8 -_080767F4: - ldr r0, _08076828 @ =gUnknown_0202F7C9 -_080767F6: - ldrb r4, [r0] - adds r0, r4, 0 - bl b_side_obj__get_some_boolean - lsls r0, 24 - cmp r0, 0 - beq _08076850 - adds r0, r4, 0 - bl battle_get_per_side_status - lsls r0, 24 - movs r1, 0xFF - lsls r1, 24 - adds r0, r1 - lsrs r0, 24 - cmp r0, 0x1 - bls _08076822 - bl sub_8076BE0 - lsls r0, 24 - cmp r0, 0 - beq _0807682C -_08076822: - movs r1, 0 - b _0807682E - .align 2, 0 -_08076828: .4byte gUnknown_0202F7C9 -_0807682C: - movs r1, 0x1 -_0807682E: - adds r0, r4, 0 - bl sub_8076034 - ldr r2, _08076888 @ =gSprites - ldr r0, _0807688C @ =gUnknown_02024BE0 - adds r0, r4, r0 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - adds r0, 0x3E - ldrb r2, [r0] - movs r1, 0x5 - negs r1, r1 - ands r1, r2 - strb r1, [r0] -_08076850: - movs r0, 0x2 - eors r4, r0 - cmp r5, 0x1 - bls _080768B4 - adds r0, r4, 0 - bl b_side_obj__get_some_boolean - lsls r0, 24 - cmp r0, 0 - beq _080768B4 - adds r0, r4, 0 - bl battle_get_per_side_status - lsls r0, 24 - movs r1, 0xFF - lsls r1, 24 - adds r0, r1 - lsrs r0, 24 - cmp r0, 0x1 - bls _08076882 - bl sub_8076BE0 - lsls r0, 24 - cmp r0, 0 - beq _08076890 -_08076882: - movs r1, 0 - b _08076892 - .align 2, 0 -_08076888: .4byte gSprites -_0807688C: .4byte gUnknown_02024BE0 -_08076890: - movs r1, 0x1 -_08076892: - adds r0, r4, 0 - bl sub_8076034 - ldr r2, _080768C4 @ =gSprites - ldr r0, _080768C8 @ =gUnknown_02024BE0 - adds r0, r4, r0 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - adds r0, 0x3E - ldrb r2, [r0] - movs r1, 0x5 - negs r1, r1 - ands r1, r2 - strb r1, [r0] -_080768B4: - ldr r1, _080768CC @ =gUnknown_0202F7A4 - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080768C4: .4byte gSprites -_080768C8: .4byte gUnknown_02024BE0 -_080768CC: .4byte gUnknown_0202F7A4 - thumb_func_end sub_80767C4 - - thumb_func_start ma23_8073484 -ma23_8073484: @ 80768D0 - push {r4-r6,lr} - ldr r0, _080768E4 @ =gUnknown_0202F7A4 - ldr r2, [r0] - adds r1, r2, 0x1 - str r1, [r0] - ldrb r5, [r2, 0x1] - cmp r5, 0 - bne _080768E8 - movs r5, 0x2 - b _080768F2 - .align 2, 0 -_080768E4: .4byte gUnknown_0202F7A4 -_080768E8: - cmp r5, 0x1 - bne _080768EE - movs r5, 0x3 -_080768EE: - cmp r5, 0 - beq _080768F6 -_080768F2: - cmp r5, 0x2 - bne _08076900 -_080768F6: - ldr r0, _080768FC @ =gUnknown_0202F7C8 - b _08076902 - .align 2, 0 -_080768FC: .4byte gUnknown_0202F7C8 -_08076900: - ldr r0, _08076960 @ =gUnknown_0202F7C9 -_08076902: - ldrb r6, [r0] - adds r0, r6, 0 - bl b_side_obj__get_some_boolean - lsls r0, 24 - cmp r0, 0 - beq _0807692C - ldr r2, _08076964 @ =gSprites - ldr r0, _08076968 @ =gUnknown_02024BE0 - adds r0, r6, r0 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - adds r0, 0x3E - ldrb r2, [r0] - movs r1, 0x5 - negs r1, r1 - ands r1, r2 - strb r1, [r0] -_0807692C: - cmp r5, 0x1 - bls _0807696C - movs r0, 0x2 - adds r4, r6, 0 - eors r4, r0 - adds r0, r4, 0 - bl b_side_obj__get_some_boolean - lsls r0, 24 - cmp r0, 0 - beq _0807696C - ldr r2, _08076964 @ =gSprites - ldr r0, _08076968 @ =gUnknown_02024BE0 - adds r0, r4, r0 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - adds r0, 0x3E - ldrb r2, [r0] - movs r1, 0x5 - negs r1, r1 - ands r1, r2 - strb r1, [r0] - b _0807696E - .align 2, 0 -_08076960: .4byte gUnknown_0202F7C9 -_08076964: .4byte gSprites -_08076968: .4byte gUnknown_02024BE0 -_0807696C: - movs r5, 0 -_0807696E: - ldr r0, _08076998 @ =sub_80769A4 - movs r1, 0x5 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - ldr r2, _0807699C @ =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - strh r5, [r1, 0x8] - strh r6, [r1, 0xC] - ldr r1, _080769A0 @ =gUnknown_0202F7A4 - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_08076998: .4byte sub_80769A4 -_0807699C: .4byte gTasks -_080769A0: .4byte gUnknown_0202F7A4 - thumb_func_end ma23_8073484 - - thumb_func_start sub_80769A4 -sub_80769A4: @ 80769A4 - push {r4-r6,lr} - lsls r0, 24 - lsrs r6, r0, 24 - ldr r1, _080769E8 @ =gTasks - lsls r0, r6, 2 - adds r0, r6 - lsls r0, 3 - adds r1, r0, r1 - ldrh r0, [r1, 0xA] - adds r0, 0x1 - strh r0, [r1, 0xA] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x1 - beq _08076A32 - ldrb r4, [r1, 0xC] - adds r0, r4, 0 - bl battle_get_per_side_status - lsls r0, 24 - movs r1, 0xFF - lsls r1, 24 - adds r0, r1 - lsrs r0, 24 - cmp r0, 0x1 - bls _080769E2 - bl sub_8076BE0 - lsls r0, 24 - cmp r0, 0 - beq _080769EC -_080769E2: - movs r5, 0 - b _080769EE - .align 2, 0 -_080769E8: .4byte gTasks -_080769EC: - movs r5, 0x1 -_080769EE: - adds r0, r4, 0 - bl b_side_obj__get_some_boolean - lsls r0, 24 - cmp r0, 0 - beq _08076A00 - adds r0, r5, 0 - bl sub_8076464 -_08076A00: - ldr r0, _08076A38 @ =gTasks - lsls r1, r6, 2 - adds r1, r6 - lsls r1, 3 - adds r1, r0 - movs r2, 0x8 - ldrsh r0, [r1, r2] - cmp r0, 0x1 - ble _08076A2C - movs r0, 0x2 - eors r4, r0 - adds r0, r4, 0 - bl b_side_obj__get_some_boolean - lsls r0, 24 - cmp r0, 0 - beq _08076A2C - movs r0, 0x1 - eors r5, r0 - adds r0, r5, 0 - bl sub_8076464 -_08076A2C: - adds r0, r6, 0 - bl DestroyTask -_08076A32: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_08076A38: .4byte gTasks - thumb_func_end sub_80769A4 - - thumb_func_start sub_8076A3C -sub_8076A3C: @ 8076A3C - push {r4,lr} - ldr r2, _08076A6C @ =gUnknown_0202F7A4 - ldr r0, [r2] - adds r1, r0, 0x1 - str r1, [r2] - ldrb r3, [r0, 0x1] - adds r0, r1, 0x1 - str r0, [r2] - ldrb r1, [r1, 0x1] - lsls r1, 8 - adds r0, 0x1 - str r0, [r2] - ldr r2, _08076A70 @ =REG_BLDCNT - movs r4, 0xFD - lsls r4, 6 - adds r0, r4, 0 - strh r0, [r2] - ldr r0, _08076A74 @ =REG_BLDALPHA - orrs r3, r1 - strh r3, [r0] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08076A6C: .4byte gUnknown_0202F7A4 -_08076A70: .4byte REG_BLDCNT -_08076A74: .4byte REG_BLDALPHA - thumb_func_end sub_8076A3C - - thumb_func_start sub_8076A78 -sub_8076A78: @ 8076A78 - ldr r2, _08076A98 @ =gUnknown_0202F7A4 - ldr r0, [r2] - adds r1, r0, 0x1 - str r1, [r2] - ldrb r3, [r0, 0x1] - adds r0, r1, 0x1 - str r0, [r2] - ldrb r1, [r1, 0x1] - lsls r1, 8 - adds r0, 0x1 - str r0, [r2] - ldr r0, _08076A9C @ =REG_BLDCNT - orrs r3, r1 - strh r3, [r0] - bx lr - .align 2, 0 -_08076A98: .4byte gUnknown_0202F7A4 -_08076A9C: .4byte REG_BLDCNT - thumb_func_end sub_8076A78 - - thumb_func_start sub_8076AA0 -sub_8076AA0: @ 8076AA0 - ldr r1, _08076AB4 @ =gUnknown_0202F7A4 - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] - ldr r0, _08076AB8 @ =REG_BLDCNT - movs r1, 0 - strh r1, [r0] - adds r0, 0x2 - strh r1, [r0] - bx lr - .align 2, 0 -_08076AB4: .4byte gUnknown_0202F7A4 -_08076AB8: .4byte REG_BLDCNT - thumb_func_end sub_8076AA0 - - thumb_func_start ma0E_call -ma0E_call: @ 8076ABC - push {r4,lr} - ldr r4, _08076AE8 @ =gUnknown_0202F7A4 - ldr r1, [r4] - adds r3, r1, 0x1 - str r3, [r4] - ldr r2, _08076AEC @ =gUnknown_0202F7A8 - adds r0, r1, 0x5 - str r0, [r2] - ldrb r1, [r1, 0x1] - ldrb r0, [r3, 0x1] - lsls r0, 8 - adds r1, r0 - ldrb r0, [r3, 0x2] - lsls r0, 16 - adds r1, r0 - ldrb r0, [r3, 0x3] - lsls r0, 24 - adds r1, r0 - str r1, [r4] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08076AE8: .4byte gUnknown_0202F7A4 -_08076AEC: .4byte gUnknown_0202F7A8 - thumb_func_end ma0E_call - - thumb_func_start sub_8076AF0 -sub_8076AF0: @ 8076AF0 - ldr r0, _08076AFC @ =gUnknown_0202F7A4 - ldr r1, _08076B00 @ =gUnknown_0202F7A8 - ldr r1, [r1] - str r1, [r0] - bx lr - .align 2, 0 -_08076AFC: .4byte gUnknown_0202F7A4 -_08076B00: .4byte gUnknown_0202F7A8 - thumb_func_end sub_8076AF0 - - thumb_func_start ma10_080736AC -ma10_080736AC: @ 8076B04 - push {r4,r5,lr} - ldr r5, _08076B30 @ =gUnknown_0202F7A4 - ldr r1, [r5] - adds r0, r1, 0x1 - str r0, [r5] - ldrb r2, [r1, 0x1] - adds r3, r0, 0x1 - str r3, [r5] - ldrb r4, [r0, 0x1] - ldrb r0, [r3, 0x1] - lsls r0, 8 - orrs r4, r0 - adds r1, 0x4 - str r1, [r5] - ldr r0, _08076B34 @ =gBattleAnimArgs - lsls r2, 1 - adds r2, r0 - strh r4, [r2] - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08076B30: .4byte gUnknown_0202F7A4 -_08076B34: .4byte gBattleAnimArgs - thumb_func_end ma10_080736AC - - thumb_func_start ma11_if_else -ma11_if_else: @ 8076B38 - push {lr} - ldr r3, _08076B70 @ =gUnknown_0202F7A4 - ldr r2, [r3] - adds r0, r2, 0x1 - str r0, [r3] - ldr r0, _08076B74 @ =gUnknown_0202F7C4 - ldrb r1, [r0] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _08076B52 - adds r0, r2, 0x5 - str r0, [r3] -_08076B52: - ldr r2, [r3] - ldrb r1, [r2] - ldrb r0, [r2, 0x1] - lsls r0, 8 - adds r1, r0 - ldrb r0, [r2, 0x2] - lsls r0, 16 - adds r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 24 - adds r1, r0 - str r1, [r3] - pop {r0} - bx r0 - .align 2, 0 -_08076B70: .4byte gUnknown_0202F7A4 -_08076B74: .4byte gUnknown_0202F7C4 - thumb_func_end ma11_if_else - - thumb_func_start ma12_cond_if -ma12_cond_if: @ 8076B78 - push {r4,r5,lr} - ldr r5, _08076BA8 @ =gUnknown_0202F7A4 - ldr r4, [r5] - adds r2, r4, 0x1 - str r2, [r5] - ldrb r1, [r4, 0x1] - adds r3, r2, 0x1 - str r3, [r5] - ldr r0, _08076BAC @ =gUnknown_0202F7C4 - ldrb r0, [r0] - cmp r1, r0 - bne _08076BB0 - ldrb r1, [r2, 0x1] - ldrb r0, [r3, 0x1] - lsls r0, 8 - adds r1, r0 - ldrb r0, [r3, 0x2] - lsls r0, 16 - adds r1, r0 - ldrb r0, [r3, 0x3] - lsls r0, 24 - adds r1, r0 - str r1, [r5] - b _08076BB4 - .align 2, 0 -_08076BA8: .4byte gUnknown_0202F7A4 -_08076BAC: .4byte gUnknown_0202F7C4 -_08076BB0: - adds r0, r4, 0x6 - str r0, [r5] -_08076BB4: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end ma12_cond_if - - thumb_func_start sub_8076BBC -sub_8076BBC: @ 8076BBC - ldr r3, _08076BDC @ =gUnknown_0202F7A4 - ldr r0, [r3] - adds r2, r0, 0x1 - str r2, [r3] - ldrb r1, [r0, 0x1] - ldrb r0, [r2, 0x1] - lsls r0, 8 - adds r1, r0 - ldrb r0, [r2, 0x2] - lsls r0, 16 - adds r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 24 - adds r1, r0 - str r1, [r3] - bx lr - .align 2, 0 -_08076BDC: .4byte gUnknown_0202F7A4 - thumb_func_end sub_8076BBC - - thumb_func_start sub_8076BE0 -sub_8076BE0: @ 8076BE0 - push {lr} - ldr r0, _08076BF8 @ =gMain - ldr r1, _08076BFC @ =0x0000043d - adds r0, r1 - ldrb r1, [r0] - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _08076C00 - movs r0, 0 - b _08076C02 - .align 2, 0 -_08076BF8: .4byte gMain -_08076BFC: .4byte 0x0000043d -_08076C00: - movs r0, 0x1 -_08076C02: - pop {r1} - bx r1 - thumb_func_end sub_8076BE0 - - thumb_func_start ma14_load_background -ma14_load_background: @ 8076C08 - push {r4,lr} - ldr r1, _08076C3C @ =gUnknown_0202F7A4 - ldr r2, [r1] - adds r0, r2, 0x1 - str r0, [r1] - ldrb r4, [r2, 0x1] - adds r0, 0x1 - str r0, [r1] - ldr r0, _08076C40 @ =task_p5_load_battle_screen_elements - movs r1, 0x5 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - ldr r2, _08076C44 @ =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - strh r4, [r1, 0x8] - ldr r1, _08076C48 @ =gUnknown_0202F7C5 - movs r0, 0x1 - strb r0, [r1] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08076C3C: .4byte gUnknown_0202F7A4 -_08076C40: .4byte task_p5_load_battle_screen_elements -_08076C44: .4byte gTasks -_08076C48: .4byte gUnknown_0202F7C5 - thumb_func_end ma14_load_background - - thumb_func_start sub_8076C4C -sub_8076C4C: @ 8076C4C - push {r4-r7,lr} - mov r7, r8 - push {r7} - ldr r2, _08076C8C @ =gUnknown_0202F7A4 - ldr r1, [r2] - adds r0, r1, 0x1 - str r0, [r2] - ldrb r3, [r1, 0x1] - mov r8, r3 - ldrb r7, [r0, 0x1] - ldrb r6, [r0, 0x2] - adds r1, 0x4 - str r1, [r2] - ldr r0, _08076C90 @ =task_p5_load_battle_screen_elements - movs r1, 0x5 - bl CreateTask - lsls r0, 24 - lsrs r4, r0, 24 - adds r5, r4, 0 - bl sub_8076BE0 - lsls r0, 24 - cmp r0, 0 - beq _08076C98 - ldr r1, _08076C94 @ =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - strh r6, [r0, 0x8] - b _08076CCA - .align 2, 0 -_08076C8C: .4byte gUnknown_0202F7A4 -_08076C90: .4byte task_p5_load_battle_screen_elements -_08076C94: .4byte gTasks -_08076C98: - ldr r0, _08076CB4 @ =gUnknown_0202F7C9 - ldrb r0, [r0] - bl battle_side_get_owner - lsls r0, 24 - cmp r0, 0 - bne _08076CBC - ldr r1, _08076CB8 @ =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - strh r7, [r0, 0x8] - b _08076CCA - .align 2, 0 -_08076CB4: .4byte gUnknown_0202F7C9 -_08076CB8: .4byte gTasks -_08076CBC: - ldr r1, _08076CDC @ =gTasks - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r0, r1 - mov r1, r8 - strh r1, [r0, 0x8] -_08076CCA: - ldr r1, _08076CE0 @ =gUnknown_0202F7C5 - movs r0, 0x1 - strb r0, [r1] - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08076CDC: .4byte gTasks -_08076CE0: .4byte gUnknown_0202F7C5 - thumb_func_end sub_8076C4C - - thumb_func_start task_p5_load_battle_screen_elements -task_p5_load_battle_screen_elements: @ 8076CE4 - push {r4-r7,lr} - sub sp, 0x4 - lsls r0, 24 - lsrs r5, r0, 24 - ldr r1, _08076D18 @ =gTasks - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r4, r0, r1 - ldrh r6, [r4, 0x1C] - movs r0, 0x1C - ldrsh r3, [r4, r0] - adds r7, r1, 0 - cmp r3, 0 - bne _08076D1C - str r3, [sp] - movs r0, 0xE8 - movs r1, 0 - movs r2, 0 - movs r3, 0x10 - bl BeginHardwarePaletteFade - ldrh r0, [r4, 0x1C] - adds r0, 0x1 - strh r0, [r4, 0x1C] - b _08076DAC - .align 2, 0 -_08076D18: .4byte gTasks -_08076D1C: - ldr r2, _08076D38 @ =gPaletteFade - ldrb r1, [r2, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _08076DAC - cmp r3, 0x1 - bne _08076D40 - adds r0, r6, 0x1 - strh r0, [r4, 0x1C] - ldr r1, _08076D3C @ =gUnknown_0202F7C5 - movs r0, 0x2 - strb r0, [r1] - b _08076D84 - .align 2, 0 -_08076D38: .4byte gPaletteFade -_08076D3C: .4byte gUnknown_0202F7C5 -_08076D40: - cmp r3, 0x2 - bne _08076D84 - ldrh r0, [r4, 0x8] - lsls r2, r0, 16 - asrs r1, r2, 16 - movs r0, 0x1 - negs r0, r0 - cmp r1, r0 - bne _08076D58 - bl dp01t_11_3_message_for_player_only - b _08076D5E -_08076D58: - lsrs r0, r2, 16 - bl sub_8076DB8 -_08076D5E: - movs r0, 0x1 - str r0, [sp] - movs r0, 0xE8 - movs r1, 0 - movs r2, 0x10 - movs r3, 0 - bl BeginHardwarePaletteFade - ldr r1, _08076D80 @ =gTasks - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r0, r1 - ldrh r1, [r0, 0x1C] - adds r1, 0x1 - strh r1, [r0, 0x1C] - b _08076DAC - .align 2, 0 -_08076D80: .4byte gTasks -_08076D84: - ldrb r1, [r2, 0x7] - movs r0, 0x80 - ands r0, r1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0 - bne _08076DAC - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r0, r7 - movs r1, 0x1C - ldrsh r0, [r0, r1] - cmp r0, 0x3 - bne _08076DAC - adds r0, r5, 0 - bl DestroyTask - ldr r0, _08076DB4 @ =gUnknown_0202F7C5 - strb r4, [r0] -_08076DAC: - add sp, 0x4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08076DB4: .4byte gUnknown_0202F7C5 - thumb_func_end task_p5_load_battle_screen_elements - - thumb_func_start sub_8076DB8 -sub_8076DB8: @ 8076DB8 - push {r4-r7,lr} - lsls r0, 16 - lsrs r6, r0, 16 - bl sub_8076BE0 - lsls r0, 24 - cmp r0, 0 - beq _08076E70 - ldr r7, _08076E54 @ =gBattleAnimBackgroundTable - lsls r0, r6, 1 - adds r0, r6 - lsls r4, r0, 2 - adds r0, r7, 0 - adds r0, 0x8 - adds r0, r4, r0 - ldr r5, [r0] - bl sub_8076BE0 - lsls r0, 24 - ldr r1, _08076E58 @ =0x02018000 - cmp r0, 0 - beq _08076DE8 - ldr r0, _08076E5C @ =0xffffc800 - adds r1, r0 -_08076DE8: - adds r0, r5, 0 - bl sub_800D238 - bl sub_80789BC - lsls r0, 24 - lsrs r5, r0, 24 - bl sub_8076BE0 - lsls r0, 24 - ldr r1, _08076E58 @ =0x02018000 - cmp r0, 0 - beq _08076E06 - ldr r0, _08076E5C @ =0xffffc800 - adds r1, r0 -_08076E06: - movs r2, 0x80 - lsls r2, 1 - adds r0, r5, 0 - movs r3, 0 - bl sub_80763FC - bl sub_8076BE0 - lsls r0, 24 - ldr r2, _08076E58 @ =0x02018000 - cmp r0, 0 - beq _08076E22 - ldr r0, _08076E5C @ =0xffffc800 - adds r2, r0 -_08076E22: - ldr r1, _08076E60 @ =0x0600d000 - ldr r0, _08076E64 @ =0x040000d4 - str r2, [r0] - str r1, [r0, 0x4] - ldr r1, _08076E68 @ =0x84000200 - str r1, [r0, 0x8] - ldr r0, [r0, 0x8] - adds r0, r4, r7 - ldr r0, [r0] - ldr r1, _08076E6C @ =0x06002000 - bl LZDecompressVram - adds r0, r7, 0x4 - adds r0, r4, r0 - ldr r4, [r0] - bl sub_80789BC - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 20 - adds r0, r4, 0 - movs r2, 0x20 - bl LoadCompressedPalette - b _08076E9E - .align 2, 0 -_08076E54: .4byte gBattleAnimBackgroundTable -_08076E58: .4byte 0x02018000 -_08076E5C: .4byte 0xffffc800 -_08076E60: .4byte 0x0600d000 -_08076E64: .4byte 0x040000d4 -_08076E68: .4byte 0x84000200 -_08076E6C: .4byte 0x06002000 -_08076E70: - ldr r5, _08076EA4 @ =gBattleAnimBackgroundTable - lsls r4, r6, 1 - adds r4, r6 - lsls r4, 2 - adds r0, r5, 0 - adds r0, 0x8 - adds r0, r4, r0 - ldr r0, [r0] - ldr r1, _08076EA8 @ =0x0600d000 - bl LZDecompressVram - adds r0, r4, r5 - ldr r0, [r0] - ldr r1, _08076EAC @ =0x06008000 - bl LZDecompressVram - adds r5, 0x4 - adds r4, r5 - ldr r0, [r4] - movs r1, 0x20 - movs r2, 0x20 - bl LoadCompressedPalette -_08076E9E: - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08076EA4: .4byte gBattleAnimBackgroundTable -_08076EA8: .4byte 0x0600d000 -_08076EAC: .4byte 0x06008000 - thumb_func_end sub_8076DB8 - - thumb_func_start dp01t_11_3_message_for_player_only -dp01t_11_3_message_for_player_only: @ 8076EB0 - push {lr} - bl sub_8076BE0 - lsls r0, 24 - cmp r0, 0 - beq _08076EC2 - bl sub_80AB2AC - b _08076EC6 -_08076EC2: - bl sub_800D7B8 -_08076EC6: - pop {r0} - bx r0 - thumb_func_end dp01t_11_3_message_for_player_only - - thumb_func_start ma15_load_battle_screen_elements -ma15_load_battle_screen_elements: @ 8076ECC - push {lr} - ldr r1, _08076EFC @ =gUnknown_0202F7A4 - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] - ldr r0, _08076F00 @ =task_p5_load_battle_screen_elements - movs r1, 0x5 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - ldr r2, _08076F04 @ =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - ldr r0, _08076F08 @ =0x0000ffff - strh r0, [r1, 0x8] - ldr r1, _08076F0C @ =gUnknown_0202F7C5 - movs r0, 0x1 - strb r0, [r1] - pop {r0} - bx r0 - .align 2, 0 -_08076EFC: .4byte gUnknown_0202F7A4 -_08076F00: .4byte task_p5_load_battle_screen_elements -_08076F04: .4byte gTasks -_08076F08: .4byte 0x0000ffff -_08076F0C: .4byte gUnknown_0202F7C5 - thumb_func_end ma15_load_battle_screen_elements - - thumb_func_start ma16_wait_for_battle_screen_elements_s2 -ma16_wait_for_battle_screen_elements_s2: @ 8076F10 - push {lr} - ldr r0, _08076F28 @ =gUnknown_0202F7C5 - ldrb r0, [r0] - cmp r0, 0x2 - bne _08076F34 - ldr r1, _08076F2C @ =gUnknown_0202F7A4 - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] - ldr r1, _08076F30 @ =gUnknown_0202F7B0 - movs r0, 0 - b _08076F38 - .align 2, 0 -_08076F28: .4byte gUnknown_0202F7C5 -_08076F2C: .4byte gUnknown_0202F7A4 -_08076F30: .4byte gUnknown_0202F7B0 -_08076F34: - ldr r1, _08076F40 @ =gUnknown_0202F7B0 - movs r0, 0x1 -_08076F38: - strb r0, [r1] - pop {r0} - bx r0 - .align 2, 0 -_08076F40: .4byte gUnknown_0202F7B0 - thumb_func_end ma16_wait_for_battle_screen_elements_s2 - - thumb_func_start sub_8076F44 -sub_8076F44: @ 8076F44 - push {lr} - ldr r0, _08076F5C @ =gUnknown_0202F7C5 - ldrb r2, [r0] - cmp r2, 0 - bne _08076F68 - ldr r0, _08076F60 @ =gUnknown_0202F7A4 - ldr r1, [r0] - adds r1, 0x1 - str r1, [r0] - ldr r0, _08076F64 @ =gUnknown_0202F7B0 - strb r2, [r0] - b _08076F6E - .align 2, 0 -_08076F5C: .4byte gUnknown_0202F7C5 -_08076F60: .4byte gUnknown_0202F7A4 -_08076F64: .4byte gUnknown_0202F7B0 -_08076F68: - ldr r1, _08076F74 @ =gUnknown_0202F7B0 - movs r0, 0x1 - strb r0, [r1] -_08076F6E: - pop {r0} - bx r0 - .align 2, 0 -_08076F74: .4byte gUnknown_0202F7B0 - thumb_func_end sub_8076F44 - - thumb_func_start ma18_load_background_probably -ma18_load_background_probably: @ 8076F78 - push {r4,lr} - ldr r4, _08076F94 @ =gUnknown_0202F7A4 - ldr r1, [r4] - adds r0, r1, 0x1 - str r0, [r4] - ldrb r0, [r1, 0x1] - bl sub_8076DB8 - ldr r0, [r4] - adds r0, 0x1 - str r0, [r4] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08076F94: .4byte gUnknown_0202F7A4 - thumb_func_end ma18_load_background_probably - thumb_func_start sub_8076F98 sub_8076F98: @ 8076F98 push {r4,lr} diff --git a/src/battle_anim.c b/src/battle_anim.c index 914c94b6c..3fffe5dd6 100644 --- a/src/battle_anim.c +++ b/src/battle_anim.c @@ -12,11 +12,18 @@ struct UnknownStruct1 u8 unk0; }; +struct UnknownStruct3 +{ + u8 unk0; + u8 filler1[0xB]; +}; + extern u16 gUnknown_02024A6A[4]; extern u8 gUnknown_02024BE0[]; extern u8 gUnknown_02024C07; extern u8 gUnknown_02024C08; extern const u8 *gUnknown_0202F7A4; +extern const u8 *gUnknown_0202F7A8; extern void (*gUnknown_0202F7AC)(void); extern s8 gUnknown_0202F7B0; extern u8 gUnknown_0202F7B1; @@ -57,7 +64,10 @@ extern const struct SpritePalette gBattleAnimPaletteTable[]; extern u8 unk_2000000[]; +#define EWRAM_14800 ((u16 *)(unk_2000000 + 0x14800)) #define EWRAM_17800 ((struct UnknownStruct1 *)(unk_2000000 + 0x17800)) +#define EWRAM_17810 ((struct UnknownStruct3 *)(unk_2000000 + 0x17810)) +#define EWRAM_18000 ((u16 *)(unk_2000000 + 0x18000)) #define EWRAM_19348 (*(u16 *)(unk_2000000 + 0x19348)) void sub_8075624(void) @@ -226,11 +236,11 @@ void sub_80759D0(void) void ma00_load_graphics(void) { - const u8 *ptr = gUnknown_0202F7A4; u32 r4; + //TODO: Clean this up gUnknown_0202F7A4++; - r4 = ptr[1] | (gUnknown_0202F7A4[1] << 8); + r4 = gUnknown_0202F7A4[0] | (gUnknown_0202F7A4[1] << 8); LoadCompressedObjectPic(&gBattleAnimPicTable[r4 - 10000]); LoadCompressedObjectPalette(&gBattleAnimPaletteTable[r4 - 10000]); gUnknown_0202F7A4 += 2; @@ -241,11 +251,10 @@ void ma00_load_graphics(void) void ma01_080728D0(void) { - const u8 *ptr = gUnknown_0202F7A4; u32 r4; gUnknown_0202F7A4++; - r4 = ptr[1] | (gUnknown_0202F7A4[1] << 8); + r4 = gUnknown_0202F7A4[0] | (gUnknown_0202F7A4[1] << 8); FreeSpriteTilesByTag(gBattleAnimPicTable[r4 - 10000].tag); FreeSpritePaletteByTag(gBattleAnimPicTable[r4 - 10000].tag); gUnknown_0202F7A4 += 2; @@ -260,32 +269,35 @@ void ma02_instanciate_template(void) { s32 i; struct SpriteTemplate *r7; - const u8 *ptr = gUnknown_0202F7A4; - s8 r4; + u8 r4; u8 r0; - s8 _r0; - s16 r6; + u8 _r0; + u16 r6; u8 r2; + s8 r1; gUnknown_0202F7A4++; - r7 = (struct SpriteTemplate *)(*(ptr + 1) + (*(gUnknown_0202F7A4 + 1) << 8) + (*(gUnknown_0202F7A4 + 2) << 16) + (*(gUnknown_0202F7A4 + 3) << 24)); - gUnknown_0202F7A4 = ptr + 5; - r4 = *(ptr + 5); - gUnknown_0202F7A4 = ptr + 6; - r0 = *(ptr + 6); - gUnknown_0202F7A4 = ptr + 7; + r7 = (struct SpriteTemplate *)(gUnknown_0202F7A4[0] + (gUnknown_0202F7A4[1] << 8) + (gUnknown_0202F7A4[2] << 16) + (gUnknown_0202F7A4[3] << 24)); + gUnknown_0202F7A4 += 4; + r4 = *gUnknown_0202F7A4; + gUnknown_0202F7A4++; + r0 = *gUnknown_0202F7A4; + gUnknown_0202F7A4++; for (i = 0; i < r0; i++) { - gBattleAnimArgs[i] = *(gUnknown_0202F7A4) | (*(gUnknown_0202F7A4 + 1) << 8); + gBattleAnimArgs[i] = gUnknown_0202F7A4[0] | (gUnknown_0202F7A4[1] << 8); gUnknown_0202F7A4 += 2; } if (r4 & 0x80) { - if ((r4 ^ 0x80) > 0x3F) + r4 ^= 0x80; + if (r4 > 0x3F) r4 -= 0x40; else r4 = -r4; _r0 = sub_8079E90(gUnknown_0202F7C9); + r1 = r4; + } else { @@ -295,10 +307,12 @@ void ma02_instanciate_template(void) else r4 = -r4; _r0 = sub_8079E90(gUnknown_0202F7C8); + r1 = r4; } - r6 = _r0 + r4; - if (r6 < 3) + r6 = _r0 + r1; + if ((s16)r6 < 3) r6 = 3; + r4 = sub_8077ABC(gUnknown_0202F7C9, 2); r2 = sub_8077ABC(gUnknown_0202F7C9, 3); CreateSpriteAndAnimate(r7, r4, r2, r6); @@ -437,7 +451,6 @@ _08075BB4: .4byte gUnknown_0202F7B2\n\ void sub_8075BB8(void) { - const u8 *ptr = gUnknown_0202F7A4; TaskFunc taskFunc; u8 taskPriority; u8 taskId; @@ -445,12 +458,12 @@ void sub_8075BB8(void) s32 i; gUnknown_0202F7A4++; - taskFunc = (TaskFunc)(ptr[1] + (gUnknown_0202F7A4[1] << 8) + (gUnknown_0202F7A4[2] << 16) + (gUnknown_0202F7A4[3] << 24)); - gUnknown_0202F7A4 = ptr + 5; - taskPriority = ptr[5]; - gUnknown_0202F7A4 = ptr + 6; - r0 = ptr[6]; - gUnknown_0202F7A4 = ptr + 7; + taskFunc = (TaskFunc)(gUnknown_0202F7A4[0] + (gUnknown_0202F7A4[1] << 8) + (gUnknown_0202F7A4[2] << 16) + (gUnknown_0202F7A4[3] << 24)); + gUnknown_0202F7A4 += 4; + taskPriority = *gUnknown_0202F7A4; + gUnknown_0202F7A4++; + r0 = *gUnknown_0202F7A4; + gUnknown_0202F7A4++; for (i = 0; i < r0; i++) { gBattleAnimArgs[i] = gUnknown_0202F7A4[0] | (gUnknown_0202F7A4[1] << 8); @@ -463,10 +476,8 @@ void sub_8075BB8(void) void ma04_wait_countdown(void) { - const u8 *ptr = gUnknown_0202F7A4; - gUnknown_0202F7A4++; - gUnknown_0202F7B0 = ptr[1]; + gUnknown_0202F7B0 = *gUnknown_0202F7A4; if (gUnknown_0202F7B0 == 0) gUnknown_0202F7B0 = -1; gUnknown_0202F7A4++; @@ -545,10 +556,8 @@ void sub_8075CB0(void) void ma09_play_sound(void) { - const u8 *ptr = gUnknown_0202F7A4; - gUnknown_0202F7A4++; - PlaySE(ptr[1] | (gUnknown_0202F7A4[1] << 8)); + PlaySE(gUnknown_0202F7A4[0] | (gUnknown_0202F7A4[1] << 8)); gUnknown_0202F7A4 += 2; } @@ -558,7 +567,6 @@ extern void sub_8076034(u8, u8); void sub_8075DE0(void) { - const u8 *ptr = gUnknown_0202F7A4; u8 r6; u8 r5; u8 r0; @@ -567,7 +575,7 @@ void sub_8075DE0(void) u8 taskId; gUnknown_0202F7A4++; - r6 = ptr[1]; + r6 = *gUnknown_0202F7A4; if (r6 == 0) r6 = 2; else if (r6 == 1) @@ -729,9 +737,9 @@ _0807602E:\n\ struct UnknownStruct2 { - void *unk10; - void *unk14; - u8 unk18; + void *unk0; + u16 *unk4; + u8 unk8; }; struct BGCntrlBitfield @@ -748,7 +756,7 @@ struct BGCntrlBitfield extern void sub_8078914(); extern u8 sub_80AEB1C(); -extern void sub_8076380(); +extern void sub_8076380(void); extern void sub_80E4EF8(int, int, int, int, u16, u8, int); void sub_8076034(u8 a, u8 b) @@ -766,7 +774,7 @@ void sub_8076034(u8 a, u8 b) u16 *addr3; sub_8078914(&s); - addr = s.unk10; + addr = s.unk0; size = 0x2000; while (1) { @@ -781,7 +789,7 @@ void sub_8076034(u8 a, u8 b) } pointlessZero = 0; pointlessZero = 0; - addr2 = (void *)s.unk14; + addr2 = (void *)s.unk4; DmaFill16(3, 0xFF, addr2, 0x1000); REG_BGCNT_BITFIELD(1).priority = 2; @@ -798,15 +806,15 @@ void sub_8076034(u8 a, u8 b) REG_BG1HOFS = gUnknown_030042C0; REG_BG1VOFS = gUnknown_030041B4; - LoadPalette(gPlttBufferUnfaded + 0x100 + a * 16, s.unk18 * 16, 32); - addr3 = (u16 *)PLTT + s.unk18 * 16; + LoadPalette(gPlttBufferUnfaded + 0x100 + a * 16, s.unk8 * 16, 32); + addr3 = (u16 *)PLTT + s.unk8 * 16; DmaCopy32(3, gPlttBufferUnfaded + 0x100 + a * 16, addr3, 32); if (sub_8076BE0() != 0) r2 = 0; else r2 = battle_get_per_side_status(a); - sub_80E4EF8(0, 0, r2, s.unk18, (u32)s.unk10, (((s32)s.unk14 - VRAM) / 2048), REG_BGCNT_BITFIELD(1).charBaseBlock); + sub_80E4EF8(0, 0, r2, s.unk8, (u32)s.unk0, (((s32)s.unk4 - VRAM) / 2048), REG_BGCNT_BITFIELD(1).charBaseBlock); if (sub_8076BE0() != 0) sub_8076380(); } @@ -853,3 +861,591 @@ void sub_8076034(u8 a, u8 b) sub_80E4EF8(0, 0, battle_get_per_side_status(a), 9, 0x6000, 0x1E, REG_BGCNT_BITFIELD(2).charBaseBlock); } } + +void sub_8076380(void) +{ + int i; + int j; + struct UnknownStruct2 s; + u16 *ptr; + + if (sub_80AEB1C(EWRAM_19348) != 0) + { + sub_8078914(&s); + ptr = s.unk4; + for (i = 0; i < 8; i++) + { + for (j = 0; j < 4; j++) + { + u16 temp = ptr[j + i * 32]; + + ptr[j + i * 32] = ptr[7 - j + i * 32]; + ptr[7 - j + i * 32] = temp; + } + } + for (i = 0; i < 8; i++) + { + for (j = 0; j < 8; j++) + ptr[j + i * 32] ^= 0x400; + } + } +} + +void sub_80763FC(u16 a, u16 *b, u32 c, u8 d) +{ + u8 i; + u8 j; + u32 r9; + + if (d == 0) + r9 = 32; + else + r9 = 64; + a <<= 12; + for (i = 0; i < r9; i++) + { + for (j = 0; j < 32; j++) + b[j + i * 32] = ((b[j + i * 32] & 0xFFF) | a) + c; + } +} + +void sub_8076464(u8 a) +{ + u8 *addr; + u32 size; + volatile u8 pointlessZero; + struct UnknownStruct2 s; + + sub_8078914(&s); + if (a == 0 || sub_8076BE0() != 0) + { + u16 *addr2; + + addr = s.unk0; + size = 0x2000; + while (1) + { + DmaFill32(3, 0, addr, 0x1000); + addr += 0x1000; + size -= 0x1000; + if (size <= 0x1000) + { + DmaFill32(3, 0, addr, size); + break; + } + } + pointlessZero = 0; + pointlessZero = 0; + addr2 = s.unk4; + DmaFill32(3, 0, addr2, 0x800); + gUnknown_030042C0 = 0; + gUnknown_030041B4 = 0; + } + else + { + u16 *addr2; + + addr = (void *)(VRAM + 0x6000); + size = 0x2000; + while (1) + { + DmaFill32(3, 0, addr, 0x1000); + addr += 0x1000; + size -= 0x1000; + if (size <= 0x1000) + { + DmaFill32(3, 0, addr, size); + break; + } + } + pointlessZero = 0; + pointlessZero = 0; + addr2 = (void *)(VRAM + 0xF000); + DmaFill32(3, 0, addr2, 0x800); + gUnknown_03004288 = 0; + gUnknown_03004280 = 0; + } +} + +void task_pA_ma0A_obj_to_bg_pal(u8 taskId) +{ + u8 r4; + u8 r6; + s16 r3; + s16 r2; + struct UnknownStruct2 s; + + r4 = gTasks[taskId].data[0]; + r6 = gTasks[taskId].data[6]; + sub_8078914(&s); + r3 = gTasks[taskId].data[1] - (gSprites[r4].pos1.x + gSprites[r4].pos2.x); + r2 = gTasks[taskId].data[2] - (gSprites[r4].pos1.y + gSprites[r4].pos2.y); + if (gTasks[taskId].data[5] == 0) + { + u16 *src; + u16 *dst; + + gUnknown_030042C0 = r3 + gTasks[taskId].data[3]; + gUnknown_030041B4 = r2 + gTasks[taskId].data[4]; + src = gPlttBufferFaded + 0x100 + r6 * 16; + dst = gPlttBufferFaded + 0x100 + s.unk8 * 16 - 256; + DmaCopy32(3, src, dst, 32); + } + else + { + u16 *src; + u16 *dst; + + gUnknown_03004288 = r3 + gTasks[taskId].data[3]; + gUnknown_03004280 = r2 + gTasks[taskId].data[4]; + src = gPlttBufferFaded + 0x100 + r6 * 16; + dst = gPlttBufferFaded + 0x100 - 112; + DmaCopy32(3, src, dst, 32); + } +} + +extern void sub_807672C(u8); + +void ma0B_0807324C(void) +{ + u8 r4; + u8 r5; + u8 taskId; + + gUnknown_0202F7A4++; + r4 = *gUnknown_0202F7A4; + if (r4 == 0) + r4 = 2; + else if (r4 == 1) + r4 = 3; + if (r4 == 0 || r4 == 2) + r5 = gUnknown_0202F7C8; + else + r5 = gUnknown_0202F7C9; + if (gUnknown_0202F7C2[0] != 0xFF) + gSprites[gUnknown_02024BE0[r5]].invisible = FALSE; + if (r4 > 1 && gUnknown_0202F7C2[1] != 0xFF) + gSprites[gUnknown_02024BE0[r5 ^ 2]].invisible = FALSE; + else + r4 = 0; + taskId = CreateTask(sub_807672C, 5); + gTasks[taskId].data[0] = r4; + gTasks[taskId].data[2] = r5; + gUnknown_0202F7A4++; +} + +void sub_807672C(u8 taskId) +{ + u8 var; + u8 r4; + + gTasks[taskId].data[1]++; + if (gTasks[taskId].data[1] != 1) + { + var = battle_get_per_side_status(gTasks[taskId].data[2]); + var += 0xFF; + if (var <= 1 || sub_8076BE0() != 0) + r4 = 0; + else + r4 = 1; + if (gUnknown_0202F7C2[0] != 0xFF) + { + sub_8076464(r4); + DestroyTask(gUnknown_0202F7C2[0]); + gUnknown_0202F7C2[0] = 0xFF; + } + if (gTasks[taskId].data[0] > 1) + { + sub_8076464(r4 ^ 1); + DestroyTask(gUnknown_0202F7C2[1]); + gUnknown_0202F7C2[1] = 0xFF; + } + DestroyTask(taskId); + } +} + +void sub_80767C4(void) +{ + u8 r5; + u8 r4; + u8 r0; + u8 r1; + + gUnknown_0202F7A4++; + r5 = *gUnknown_0202F7A4; + if (r5 == 0) + r5 = 2; + else if (r5 == 1) + r5 = 3; + if (r5 == 0 || r5 == 2) + r4 = gUnknown_0202F7C8; + else + r4 = gUnknown_0202F7C9; + if (b_side_obj__get_some_boolean(r4)) + { + r0 = battle_get_per_side_status(r4); + r0 += 0xFF; + if (r0 <= 1 || sub_8076BE0() != 0) + r1 = 0; + else + r1 = 1; + sub_8076034(r4, r1); + gSprites[gUnknown_02024BE0[r4]].invisible = FALSE; + } + r4 ^= 2; + if (r5 > 1 && b_side_obj__get_some_boolean(r4)) + { + r0 = battle_get_per_side_status(r4); + r0 += 0xFF; + if (r0 <= 1 || sub_8076BE0() != 0) + r1 = 0; + else + r1 = 1; + sub_8076034(r4, r1); + gSprites[gUnknown_02024BE0[r4]].invisible = FALSE; + } + gUnknown_0202F7A4++; +} + +extern void sub_80769A4(u8); + +void ma23_8073484(void) +{ + u8 r5; + u8 r6; + u8 taskId; + + gUnknown_0202F7A4++; + r5 = *gUnknown_0202F7A4; + if (r5 == 0) + r5 = 2; + else if (r5 == 1) + r5 = 3; + if (r5 == 0 || r5 == 2) + r6 = gUnknown_0202F7C8; + else + r6 = gUnknown_0202F7C9; + if (b_side_obj__get_some_boolean(r6)) + gSprites[gUnknown_02024BE0[r6]].invisible = FALSE; + if (r5 > 1 && b_side_obj__get_some_boolean(r6 ^ 2)) + gSprites[gUnknown_02024BE0[r6 ^ 2]].invisible = FALSE; + else + r5 = 0; + taskId = CreateTask(sub_80769A4, 5); + gTasks[taskId].data[0] = r5; + gTasks[taskId].data[2] = r6; + gUnknown_0202F7A4++; +} + +void sub_80769A4(u8 taskId) +{ + u8 r0; + u8 r4; + u8 r5; + + gTasks[taskId].data[1]++; + if (gTasks[taskId].data[1] != 1) + { + r4 = gTasks[taskId].data[2]; + r0 = battle_get_per_side_status(r4); + r0 += 0xFF; + if (r0 <= 1 || sub_8076BE0() != 0) + r5 = 0; + else + r5 = 1; + if (b_side_obj__get_some_boolean(r4)) + sub_8076464(r5); + if (gTasks[taskId].data[0] > 1 && b_side_obj__get_some_boolean(r4 ^ 2)) + sub_8076464(r5 ^ 1); + DestroyTask(taskId); + } +} + +void sub_8076A3C(void) +{ + u16 r3; + u16 r1; + + gUnknown_0202F7A4++; + r3 = *(gUnknown_0202F7A4++); + r1 = *(gUnknown_0202F7A4++) << 8; + REG_BLDCNT = 0x3F40; + REG_BLDALPHA = r3 | r1; +} + +void sub_8076A78(void) +{ + u16 r3; + u16 r1; + + gUnknown_0202F7A4++; + r3 = *(gUnknown_0202F7A4++); + r1 = *(gUnknown_0202F7A4++) << 8; + REG_BLDCNT = r3 | r1; +} + +void sub_8076AA0(void) +{ + gUnknown_0202F7A4++; + REG_BLDCNT = 0; + REG_BLDALPHA = 0; +} + +void ma0E_call(void) +{ + u32 addr; + + gUnknown_0202F7A4++; + gUnknown_0202F7A8 = gUnknown_0202F7A4 + 4; //store return address + addr = gUnknown_0202F7A4[0] + (gUnknown_0202F7A4[1] << 8) + (gUnknown_0202F7A4[2] << 16) + (gUnknown_0202F7A4[3] << 24); + gUnknown_0202F7A4 = (u8 *)addr; +} + +//script return +void sub_8076AF0(void) +{ + gUnknown_0202F7A4 = gUnknown_0202F7A8; +} + +void ma10_080736AC(void) +{ + const u8 *addr = gUnknown_0202F7A4; + u16 r4; + u8 r2; + + gUnknown_0202F7A4++; + r2 = *(gUnknown_0202F7A4++); + r4 = gUnknown_0202F7A4[0] | (gUnknown_0202F7A4[1] << 8); + gUnknown_0202F7A4 = addr + 4; + gBattleAnimArgs[r2] = r4; +} + +void ma11_if_else(void) +{ + u32 addr; + + gUnknown_0202F7A4++; + if (gUnknown_0202F7C4 & 1) + gUnknown_0202F7A4 += 4; + addr = gUnknown_0202F7A4[0] + (gUnknown_0202F7A4[1] << 8) + (gUnknown_0202F7A4[2] << 16) + (gUnknown_0202F7A4[3] << 24); + gUnknown_0202F7A4 = (u8 *)addr; +} + +void ma12_cond_if(void) +{ + const u8 *r4 = gUnknown_0202F7A4; + u8 r1; + u32 addr; + + gUnknown_0202F7A4++; + r1 = *gUnknown_0202F7A4; + gUnknown_0202F7A4++; + if (r1 == gUnknown_0202F7C4) + { + addr = gUnknown_0202F7A4[0] + (gUnknown_0202F7A4[1] << 8) + (gUnknown_0202F7A4[2] << 16) + (gUnknown_0202F7A4[3] << 24); + gUnknown_0202F7A4 = (u8 *)addr; + } + else + { + gUnknown_0202F7A4 = r4 + 6; + } +} + +//script goto +void sub_8076BBC(void) +{ + u32 addr; + + gUnknown_0202F7A4++; + addr = gUnknown_0202F7A4[0] + (gUnknown_0202F7A4[1] << 8) + (gUnknown_0202F7A4[2] << 16) + (gUnknown_0202F7A4[3] << 24); + gUnknown_0202F7A4 = (u8 *)addr; +} + +u8 sub_8076BE0(void) +{ + if (!gMain.inBattle) + return TRUE; + else + return FALSE; +} + +extern void task_p5_load_battle_screen_elements(u8); + +void ma14_load_background(void) +{ + u8 r4; + u8 taskId; + + gUnknown_0202F7A4++; + r4 = *(gUnknown_0202F7A4++); + taskId = CreateTask(task_p5_load_battle_screen_elements, 5); + gTasks[taskId].data[0] = r4; + gUnknown_0202F7C5 = 1; +} + +void sub_8076C4C(void) +{ + u8 r8; + u8 r7; + u8 r6; + u8 taskId; + + gUnknown_0202F7A4++; + r8 = gUnknown_0202F7A4[0]; + r7 = gUnknown_0202F7A4[1]; + r6 = gUnknown_0202F7A4[2]; + gUnknown_0202F7A4 += 3; + taskId = CreateTask(task_p5_load_battle_screen_elements, 5); + if (sub_8076BE0() != 0) + gTasks[taskId].data[0] = r6; + else if (battle_side_get_owner(gUnknown_0202F7C9) == 0) + gTasks[taskId].data[0] = r7; + else + gTasks[taskId].data[0] = r8; + gUnknown_0202F7C5 = 1; +} + +extern void sub_8076DB8(u16); +extern void dp01t_11_3_message_for_player_only(void); + +void task_p5_load_battle_screen_elements(u8 taskId) +{ + if (gTasks[taskId].data[10] == 0) + { + BeginHardwarePaletteFade(0xE8, 0, 0, 16, 0); + gTasks[taskId].data[10]++; + return; + } + if (gPaletteFade.active) + return; + if (gTasks[taskId].data[10] == 1) + { + gTasks[taskId].data[10]++; + gUnknown_0202F7C5 = 2; + } + else if (gTasks[taskId].data[10] == 2) + { + s16 data0 = (u16)gTasks[taskId].data[0]; + + if (data0 == -1) + dp01t_11_3_message_for_player_only(); + else + sub_8076DB8(data0); + BeginHardwarePaletteFade(0xE8, 0, 16, 0, 1); + gTasks[taskId].data[10]++; + return; + } + if (gPaletteFade.active) + return; + if (gTasks[taskId].data[10] == 3) + { + DestroyTask(taskId); + gUnknown_0202F7C5 = 0; + } +} + +struct BattleAnimBackground +{ + void *image; + void *palette; + void *tilemap; +}; + +extern const struct BattleAnimBackground gBattleAnimBackgroundTable[]; + +extern void sub_800D238(); +extern u8 sub_80789BC(); + +void sub_8076DB8(u16 a) +{ + if (sub_8076BE0()) + { + void *tilemap = gBattleAnimBackgroundTable[a].tilemap; + void *dmaSrc; + void *dmaDest; + + sub_800D238(tilemap, sub_8076BE0() ? EWRAM_14800 : EWRAM_18000); + sub_80763FC(sub_80789BC(), sub_8076BE0() ? EWRAM_14800 : EWRAM_18000, 0x100, 0); + dmaSrc = sub_8076BE0() ? EWRAM_14800 : EWRAM_18000; + dmaDest = (void *)(VRAM + 0xD000); + DmaCopy32(3, dmaSrc, dmaDest, 0x800); + LZDecompressVram(gBattleAnimBackgroundTable[a].image, (void *)(VRAM + 0x2000)); + LoadCompressedPalette(gBattleAnimBackgroundTable[a].palette, sub_80789BC() * 16, 32); + } + else + { + LZDecompressVram(gBattleAnimBackgroundTable[a].tilemap, (void *)(VRAM + 0xD000)); + LZDecompressVram(gBattleAnimBackgroundTable[a].image, (void *)(VRAM + 0x8000)); + LoadCompressedPalette(gBattleAnimBackgroundTable[a].palette, 32, 32); + } +} + +extern void sub_80AB2AC(void); +extern void sub_800D7B8(void); + +void dp01t_11_3_message_for_player_only(void) +{ + if (sub_8076BE0()) + sub_80AB2AC(); + else + sub_800D7B8(); +} + +void ma15_load_battle_screen_elements(void) +{ + u8 taskId; + + gUnknown_0202F7A4++; + taskId = CreateTask(task_p5_load_battle_screen_elements, 5); + gTasks[taskId].data[0] = 0xFFFF; + gUnknown_0202F7C5 = 1; +} + +void ma16_wait_for_battle_screen_elements_s2(void) +{ + if (gUnknown_0202F7C5 == 2) + { + gUnknown_0202F7A4++; + gUnknown_0202F7B0 = 0; + } + else + { + gUnknown_0202F7B0 = 1; + } +} + +void sub_8076F44(void) +{ + if (gUnknown_0202F7C5 == 0) + { + gUnknown_0202F7A4++; + gUnknown_0202F7B0 = 0; + } + else + { + gUnknown_0202F7B0 = 1; + } +} + +void ma18_load_background_probably(void) +{ + gUnknown_0202F7A4++; + sub_8076DB8(*gUnknown_0202F7A4); + gUnknown_0202F7A4++; +} + +/* +void sub_8076F98(u8 a) +{ + if (!sub_8076BE0() && (EWRAM_17810[gUnknown_0202F7C8].unk0 & 0x10)) + { + battle_side_get_owner(gUnknown_0202F7C8); + } + //_08076FDC + else + { + + } + //_0807706E +} +*/ |