diff options
author | DizzyEggg <jajkodizzy@wp.pl> | 2017-10-01 18:54:01 +0200 |
---|---|---|
committer | DizzyEggg <jajkodizzy@wp.pl> | 2017-10-01 18:54:01 +0200 |
commit | 1fcafaf35aaf92251e7802e1e3ea36e8d5a6067b (patch) | |
tree | afcfa3b51d96b15bcddfcfc9665bb95b46b2a972 | |
parent | 729f4e10ed8a53155d992b8904926a10181acafa (diff) |
more of battle2 done
45 files changed, 1519 insertions, 3109 deletions
diff --git a/asm/battle_1.s b/asm/battle_1.s index 168f16cca..849736cb4 100644 --- a/asm/battle_1.s +++ b/asm/battle_1.s @@ -1358,8 +1358,8 @@ _080356AA: .pool thumb_func_end trs_config - thumb_func_start c2_berry_program_update_menu -c2_berry_program_update_menu: @ 80356D0 + thumb_func_start sub_80356D0 +sub_80356D0: @ 80356D0 push {lr} movs r0, 0x2 bl DisableInterrupts @@ -1381,10 +1381,10 @@ c2_berry_program_update_menu: @ 80356D0 pop {r0} bx r0 .pool - thumb_func_end c2_berry_program_update_menu + thumb_func_end sub_80356D0 - thumb_func_start sub_803570C -sub_803570C: @ 803570C + thumb_func_start ApplyPlayerChosenFrameToBattleMenu +ApplyPlayerChosenFrameToBattleMenu: @ 803570C push {lr} movs r0, 0x2 movs r1, 0x12 @@ -1422,7 +1422,7 @@ _0803575A: pop {r0} bx r0 .pool - thumb_func_end sub_803570C + thumb_func_end ApplyPlayerChosenFrameToBattleMenu thumb_func_start load_battle_oval_graphics load_battle_oval_graphics: @ 8035770 @@ -1685,7 +1685,7 @@ LoadBattleTextboxAndBackground: @ 8035AA4 movs r1, 0 movs r2, 0x40 bl LoadCompressedPalette - bl sub_803570C + bl ApplyPlayerChosenFrameToBattleMenu bl load_battle_oval_graphics pop {r0} bx r0 @@ -2670,8 +2670,8 @@ _080363AC: .pool thumb_func_end LoadBattleEntryBackground - thumb_func_start sub_80363C4 -sub_80363C4: @ 80363C4 + thumb_func_start LoadChosenBattleElement +LoadChosenBattleElement: @ 80363C4 push {r4,lr} lsls r0, 24 lsrs r0, 24 @@ -3051,7 +3051,7 @@ _08036742: b _08036758 .pool _08036750: - bl sub_803570C + bl ApplyPlayerChosenFrameToBattleMenu b _08036758 _08036756: movs r4, 0x1 @@ -3060,6 +3060,6 @@ _08036758: pop {r4} pop {r1} bx r1 - thumb_func_end sub_80363C4 + thumb_func_end LoadChosenBattleElement .align 2, 0 @ Don't pad with nop. diff --git a/asm/battle_2.s b/asm/battle_2.s index 0f4ec2bea..a4fa43fa2 100644 --- a/asm/battle_2.s +++ b/asm/battle_2.s @@ -5,2670 +5,7 @@ .text - thumb_func_start BattleMainCB2 -BattleMainCB2: @ 8038420 - push {lr} - sub sp, 0x4 - bl AnimateSprites - bl BuildOamBuffer - bl RunTextPrinters - bl UpdatePaletteFade - bl RunTasks - ldr r0, =gMain - ldrh r1, [r0, 0x2C] - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _08038482 - ldr r0, =gBattleTypeFlags - ldr r0, [r0] - movs r1, 0x80 - lsls r1, 17 - ands r0, r1 - cmp r0, 0 - beq _08038482 - bl rfu_lacks_rfufunc - lsls r0, 24 - cmp r0, 0 - beq _08038482 - ldr r2, =gScriptResult - ldr r1, =gBattleOutcome - movs r0, 0x5 - strb r0, [r1] - movs r0, 0x5 - strh r0, [r2] - bl ResetPaletteFadeControl - movs r0, 0x1 - negs r0, r0 - movs r1, 0 - str r1, [sp] - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade - ldr r0, =sub_80384E4 - bl SetMainCallback2 -_08038482: - add sp, 0x4 - pop {r0} - bx r0 - .pool - thumb_func_end BattleMainCB2 - - thumb_func_start sub_803849C -sub_803849C: @ 803849C - push {lr} - ldr r1, =gMain - ldr r0, =gPreBattleCallback1 - ldr r0, [r0] - str r0, [r1] - ldr r2, =gUnknown_02039B28 - movs r0, 0x3 - strb r0, [r2, 0x15] - ldr r0, =0x00000439 - adds r1, r0 - ldrb r2, [r1] - movs r0, 0x3 - negs r0, r0 - ands r0, r2 - strb r0, [r1] - bl ZeroEnemyPartyMons - movs r0, 0x5A - bl m4aSongNumStop - bl sub_805F094 - bl dp11_free - bl sub_8057028 - pop {r0} - bx r0 - .pool - thumb_func_end sub_803849C - - thumb_func_start sub_80384E4 -sub_80384E4: @ 80384E4 - push {lr} - bl UpdatePaletteFade - ldr r0, =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _08038512 - ldr r0, =gMPlay_SE1 - bl m4aMPlayStop - ldr r0, =gMPlay_SE2 - bl m4aMPlayStop - bl sub_803849C - bl FreeAllWindowBuffers - ldr r0, =gMain - ldr r0, [r0, 0x8] - bl SetMainCallback2 -_08038512: - pop {r0} - bx r0 - .pool - thumb_func_end sub_80384E4 - - thumb_func_start sub_8038528 -sub_8038528: @ 8038528 - movs r1, 0 - strh r1, [r0, 0x2E] - ldr r1, =sub_8038538 - str r1, [r0, 0x1C] - bx lr - .pool - thumb_func_end sub_8038528 - - thumb_func_start sub_8038538 -sub_8038538: @ 8038538 - push {r4,r5,lr} - adds r3, r0, 0 - ldr r5, =0x0201c000 - movs r0, 0x2E - ldrsh r1, [r3, r0] - cmp r1, 0x1 - beq _0803856C - cmp r1, 0x1 - bgt _08038554 - cmp r1, 0 - beq _0803855A - b _080385DC - .pool -_08038554: - cmp r1, 0x2 - beq _080385C8 - b _080385DC -_0803855A: - ldrh r0, [r3, 0x2E] - adds r0, 0x1 - strh r0, [r3, 0x2E] - strh r1, [r3, 0x30] - ldr r0, =0x00000281 - strh r0, [r3, 0x32] - strh r1, [r3, 0x34] - movs r0, 0x1 - strh r0, [r3, 0x36] -_0803856C: - ldrh r0, [r3, 0x36] - subs r0, 0x1 - strh r0, [r3, 0x36] - lsls r0, 16 - cmp r0, 0 - bne _080385DC - movs r0, 0x2 - strh r0, [r3, 0x36] - movs r4, 0x30 - ldrsh r2, [r3, r4] - movs r0, 0x34 - ldrsh r1, [r3, r0] - lsls r1, 5 - adds r2, r1 - movs r4, 0x32 - ldrsh r0, [r3, r4] - subs r0, r1 - movs r4, 0x3D - lsls r0, 1 - adds r0, r5 - lsls r2, 1 - adds r2, r5 - movs r1, 0x1C -_0803859A: - strh r4, [r2] - strh r4, [r0] - adds r0, 0x4 - adds r2, 0x4 - subs r1, 0x2 - cmp r1, 0 - bge _0803859A - ldrh r0, [r3, 0x34] - adds r0, 0x1 - strh r0, [r3, 0x34] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x15 - bne _080385DC - ldrh r0, [r3, 0x2E] - adds r0, 0x1 - strh r0, [r3, 0x2E] - movs r0, 0x20 - strh r0, [r3, 0x30] - b _080385DC - .pool -_080385C8: - ldrh r0, [r3, 0x30] - subs r0, 0x1 - strh r0, [r3, 0x30] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x14 - bne _080385DC - ldr r0, =CB2_InitBattle - bl SetMainCallback2 -_080385DC: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8038538 - thumb_func_start CreateNPCTrainerParty -CreateNPCTrainerParty: @ 80385E8 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x28 - str r0, [sp, 0x10] - lsls r1, 16 - lsrs r1, 16 - str r1, [sp, 0x14] - lsls r2, 24 - lsrs r2, 24 - movs r0, 0 - mov r9, r0 - movs r0, 0x80 - lsls r0, 3 - cmp r1, r0 - bne _08038610 - movs r0, 0 - b _080389E2 -_08038610: - ldr r4, =gBattleTypeFlags - ldr r0, [r4] - ldr r1, =0x043f0908 - ands r0, r1 - ldr r1, [sp, 0x14] - lsls r1, 2 - str r1, [sp, 0x20] - cmp r0, 0x8 - beq _08038624 - b _080389D2 -_08038624: - cmp r2, 0x1 - bne _0803862C - bl ZeroEnemyPartyMons -_0803862C: - ldr r0, [r4] - movs r1, 0x80 - lsls r1, 8 - ands r0, r1 - cmp r0, 0 - beq _08038668 - ldr r0, =gTrainers - ldr r2, [sp, 0x20] - ldr r3, [sp, 0x14] - adds r1, r2, r3 - lsls r1, 3 - adds r1, r0 - adds r2, r1, 0 - adds r2, 0x20 - ldrb r1, [r2] - movs r4, 0x3 - str r4, [sp, 0x1C] - adds r4, r0, 0 - cmp r1, 0x3 - bhi _0803867C - adds r2, r1, 0 - str r2, [sp, 0x1C] - b _0803867C - .pool -_08038668: - ldr r1, =gTrainers - ldr r2, [sp, 0x20] - ldr r3, [sp, 0x14] - adds r0, r2, r3 - lsls r0, 3 - adds r0, r1 - adds r0, 0x20 - ldrb r0, [r0] - str r0, [sp, 0x1C] - adds r4, r1, 0 -_0803867C: - movs r0, 0 - str r0, [sp, 0x18] - b _080389B4 - .pool -_08038688: - ldr r2, [sp, 0x20] - ldr r3, [sp, 0x14] - adds r0, r2, r3 - lsls r0, 3 - adds r1, r0, r4 - ldrb r0, [r1, 0x18] - cmp r0, 0x1 - bne _0803869E - movs r0, 0x80 - mov r10, r0 - b _080386B0 -_0803869E: - ldrb r1, [r1, 0x2] - movs r0, 0x80 - ands r0, r1 - movs r1, 0x88 - mov r10, r1 - cmp r0, 0 - beq _080386B0 - movs r2, 0x78 - mov r10, r2 -_080386B0: - movs r6, 0 - ldr r2, [sp, 0x20] - ldr r3, [sp, 0x14] - adds r0, r2, r3 - lsls r0, 3 - adds r1, r4, 0x4 - adds r0, r1 - ldrb r0, [r0] - ldr r3, [sp, 0x18] - adds r3, 0x1 - str r3, [sp, 0x24] - cmp r0, 0xFF - beq _080386E6 - adds r3, r1, 0 -_080386CC: - ldr r0, [sp, 0x14] - adds r1, r2, r0 - lsls r1, 3 - adds r0, r6, r1 - adds r0, r3 - ldrb r0, [r0] - add r9, r0 - adds r6, 0x1 - adds r1, r6, r1 - adds r1, r3 - ldrb r0, [r1] - cmp r0, 0xFF - bne _080386CC -_080386E6: - ldr r1, [sp, 0x20] - ldr r2, [sp, 0x14] - adds r0, r1, r2 - lsls r1, r0, 3 - adds r0, r1, r4 - ldrb r0, [r0] - cmp r0, 0x1 - beq _08038794 - cmp r0, 0x1 - bgt _08038700 - cmp r0, 0 - beq _0803870E - b _080389AC -_08038700: - cmp r0, 0x2 - bne _08038706 - b _08038854 -_08038706: - cmp r0, 0x3 - bne _0803870C - b _080388E8 -_0803870C: - b _080389AC -_0803870E: - adds r0, r4, 0 - adds r0, 0x24 - adds r0, r1, r0 - ldr r4, [r0] - movs r6, 0 - ldr r3, [sp, 0x18] - lsls r2, r3, 3 - adds r0, r2, r4 - ldrh r1, [r0, 0x4] - movs r0, 0xB - muls r0, r1 - ldr r1, =gSpeciesNames - adds r0, r1 - ldrb r0, [r0] - adds r5, r2, 0 - cmp r0, 0xFF - beq _08038750 - adds r3, r1, 0 - movs r7, 0xB -_08038734: - adds r0, r2, r4 - ldrh r0, [r0, 0x4] - adds r1, r0, 0 - muls r1, r7 - adds r0, r6, r1 - adds r0, r3 - ldrb r0, [r0] - add r9, r0 - adds r6, 0x1 - adds r1, r6, r1 - adds r1, r3 - ldrb r0, [r1] - cmp r0, 0xFF - bne _08038734 -_08038750: - mov r2, r9 - lsls r0, r2, 8 - add r10, r0 - adds r4, r5, r4 - ldrh r1, [r4] - lsls r0, r1, 5 - subs r0, r1 - movs r1, 0xFF - bl __divsi3 - lsls r0, 24 - lsrs r6, r0, 24 - ldr r3, [sp, 0x18] - movs r1, 0x64 - adds r0, r3, 0 - muls r0, r1 - ldr r2, [sp, 0x10] - adds r0, r2, r0 - ldrh r1, [r4, 0x4] - ldrb r2, [r4, 0x2] - movs r3, 0x1 - str r3, [sp] - mov r3, r10 - str r3, [sp, 0x4] - movs r3, 0x2 - str r3, [sp, 0x8] - movs r3, 0 - str r3, [sp, 0xC] - adds r3, r6, 0 - bl CreateMon - b _080389AC - .pool -_08038794: - adds r0, r4, 0 - adds r0, 0x24 - adds r0, r1, r0 - ldr r7, [r0] - movs r6, 0 - ldr r4, [sp, 0x18] - lsls r2, r4, 4 - adds r0, r2, r7 - ldrh r1, [r0, 0x4] - movs r0, 0xB - muls r0, r1 - ldr r1, =gSpeciesNames - adds r0, r1 - ldrb r0, [r0] - mov r8, r2 - cmp r0, 0xFF - beq _080387D6 - adds r3, r1, 0 - movs r4, 0xB -_080387BA: - adds r0, r2, r7 - ldrh r0, [r0, 0x4] - adds r1, r0, 0 - muls r1, r4 - adds r0, r6, r1 - adds r0, r3 - ldrb r0, [r0] - add r9, r0 - adds r6, 0x1 - adds r1, r6, r1 - adds r1, r3 - ldrb r0, [r1] - cmp r0, 0xFF - bne _080387BA -_080387D6: - mov r2, r9 - lsls r0, r2, 8 - add r10, r0 - mov r3, r8 - adds r4, r3, r7 - ldrh r1, [r4] - lsls r0, r1, 5 - subs r0, r1 - movs r1, 0xFF - bl __divsi3 - lsls r0, 24 - lsrs r6, r0, 24 - ldr r0, [sp, 0x18] - movs r1, 0x64 - adds r5, r0, 0 - muls r5, r1 - ldr r2, [sp, 0x10] - adds r5, r2, r5 - ldrh r1, [r4, 0x4] - ldrb r2, [r4, 0x2] - movs r0, 0x1 - str r0, [sp] - mov r3, r10 - str r3, [sp, 0x4] - movs r0, 0x2 - str r0, [sp, 0x8] - movs r0, 0 - str r0, [sp, 0xC] - adds r0, r5, 0 - adds r3, r6, 0 - bl CreateMon - movs r6, 0 - mov r0, r8 - adds r0, 0x6 - adds r4, r7, r0 -_08038820: - adds r1, r6, 0 - adds r1, 0xD - adds r0, r5, 0 - adds r2, r4, 0 - bl SetMonData - adds r1, r6, 0 - adds r1, 0x11 - ldrh r0, [r4] - lsls r2, r0, 1 - adds r2, r0 - lsls r2, 2 - ldr r0, =gBattleMoves + 0x4 @ PP offset - adds r2, r0 - adds r0, r5, 0 - bl SetMonData - adds r4, 0x2 - adds r6, 0x1 - cmp r6, 0x3 - ble _08038820 - b _080389AC - .pool -_08038854: - adds r0, r4, 0 - adds r0, 0x24 - adds r0, r1, r0 - ldr r4, [r0] - movs r6, 0 - ldr r0, [sp, 0x18] - lsls r2, r0, 3 - adds r0, r2, r4 - ldrh r1, [r0, 0x4] - movs r0, 0xB - muls r0, r1 - ldr r1, =gSpeciesNames - adds r0, r1 - ldrb r0, [r0] - adds r5, r2, 0 - cmp r0, 0xFF - beq _08038896 - adds r3, r1, 0 - movs r7, 0xB -_0803887A: - adds r0, r2, r4 - ldrh r0, [r0, 0x4] - adds r1, r0, 0 - muls r1, r7 - adds r0, r6, r1 - adds r0, r3 - ldrb r0, [r0] - add r9, r0 - adds r6, 0x1 - adds r1, r6, r1 - adds r1, r3 - ldrb r0, [r1] - cmp r0, 0xFF - bne _0803887A -_08038896: - mov r2, r9 - lsls r0, r2, 8 - add r10, r0 - adds r5, r4 - ldrh r1, [r5] - lsls r0, r1, 5 - subs r0, r1 - movs r1, 0xFF - bl __divsi3 - lsls r0, 24 - lsrs r6, r0, 24 - ldr r3, [sp, 0x18] - movs r0, 0x64 - adds r4, r3, 0 - muls r4, r0 - ldr r1, [sp, 0x10] - adds r4, r1, r4 - ldrh r1, [r5, 0x4] - ldrb r2, [r5, 0x2] - movs r0, 0x1 - str r0, [sp] - mov r3, r10 - str r3, [sp, 0x4] - movs r0, 0x2 - str r0, [sp, 0x8] - movs r0, 0 - str r0, [sp, 0xC] - adds r0, r4, 0 - adds r3, r6, 0 - bl CreateMon - adds r5, 0x6 - adds r0, r4, 0 - movs r1, 0xC - adds r2, r5, 0 - bl SetMonData - b _080389AC - .pool -_080388E8: - adds r0, r4, 0 - adds r0, 0x24 - adds r0, r1, r0 - ldr r7, [r0] - movs r6, 0 - ldr r4, [sp, 0x18] - lsls r2, r4, 4 - adds r0, r2, r7 - ldrh r1, [r0, 0x4] - movs r0, 0xB - muls r0, r1 - ldr r1, =gSpeciesNames - adds r0, r1 - ldrb r0, [r0] - mov r8, r2 - cmp r0, 0xFF - beq _0803892A - adds r3, r1, 0 - movs r4, 0xB -_0803890E: - adds r0, r2, r7 - ldrh r0, [r0, 0x4] - adds r1, r0, 0 - muls r1, r4 - adds r0, r6, r1 - adds r0, r3 - ldrb r0, [r0] - add r9, r0 - adds r6, 0x1 - adds r1, r6, r1 - adds r1, r3 - ldrb r0, [r1] - cmp r0, 0xFF - bne _0803890E -_0803892A: - mov r2, r9 - lsls r0, r2, 8 - add r10, r0 - mov r3, r8 - adds r5, r3, r7 - ldrh r1, [r5] - lsls r0, r1, 5 - subs r0, r1 - movs r1, 0xFF - bl __divsi3 - lsls r0, 24 - lsrs r6, r0, 24 - ldr r0, [sp, 0x18] - movs r1, 0x64 - adds r4, r0, 0 - muls r4, r1 - ldr r2, [sp, 0x10] - adds r4, r2, r4 - ldrh r1, [r5, 0x4] - ldrb r2, [r5, 0x2] - movs r0, 0x1 - str r0, [sp] - mov r3, r10 - str r3, [sp, 0x4] - movs r0, 0x2 - str r0, [sp, 0x8] - movs r0, 0 - str r0, [sp, 0xC] - adds r0, r4, 0 - adds r3, r6, 0 - bl CreateMon - adds r5, 0x6 - adds r0, r4, 0 - movs r1, 0xC - adds r2, r5, 0 - bl SetMonData - movs r6, 0 - adds r5, r4, 0 - mov r0, r8 - adds r0, 0x8 - adds r4, r7, r0 -_08038982: - adds r1, r6, 0 - adds r1, 0xD - adds r0, r5, 0 - adds r2, r4, 0 - bl SetMonData - adds r1, r6, 0 - adds r1, 0x11 - ldrh r0, [r4] - lsls r2, r0, 1 - adds r2, r0 - lsls r2, 2 - ldr r0, =gBattleMoves + 0x4 @ PP offset - adds r2, r0 - adds r0, r5, 0 - bl SetMonData - adds r4, 0x2 - adds r6, 0x1 - cmp r6, 0x3 - ble _08038982 -_080389AC: - ldr r4, [sp, 0x24] - str r4, [sp, 0x18] - ldr r4, =gTrainers - ldr r0, [sp, 0x18] -_080389B4: - ldr r1, [sp, 0x1C] - cmp r0, r1 - bge _080389BC - b _08038688 -_080389BC: - ldr r2, =gBattleTypeFlags - ldr r1, =gTrainers - ldr r3, [sp, 0x20] - ldr r4, [sp, 0x14] - adds r0, r3, r4 - lsls r0, 3 - adds r0, r1 - ldrb r1, [r0, 0x18] - ldr r0, [r2] - orrs r0, r1 - str r0, [r2] -_080389D2: - ldr r0, =gTrainers - ldr r2, [sp, 0x20] - ldr r3, [sp, 0x14] - adds r1, r2, r3 - lsls r1, 3 - adds r1, r0 - adds r1, 0x20 - ldrb r0, [r1] -_080389E2: - add sp, 0x28 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r1} - bx r1 - .pool - thumb_func_end CreateNPCTrainerParty - - thumb_func_start sub_8038A04 -sub_8038A04: @ 8038A04 - push {lr} - ldr r0, =0x04000006 - ldrh r0, [r0] - subs r0, 0x6F - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x30 - bhi _08038A1E - movs r1, 0x98 - lsls r1, 8 - movs r0, 0x8 - bl SetGpuReg -_08038A1E: - pop {r0} - bx r0 - .pool - thumb_func_end sub_8038A04 - - thumb_func_start VBlankCB_Battle -VBlankCB_Battle: @ 8038A28 - push {lr} - ldr r0, =gBattleTypeFlags - ldr r0, [r0] - ldr r1, =0x013f0102 - ands r0, r1 - cmp r0, 0 - bne _08038A3A - bl Random -_08038A3A: - ldr r0, =gBattle_BG0_X - ldrh r1, [r0] - movs r0, 0x10 - bl SetGpuReg - ldr r0, =gBattle_BG0_Y - ldrh r1, [r0] - movs r0, 0x12 - bl SetGpuReg - ldr r0, =gBattle_BG1_X - ldrh r1, [r0] - movs r0, 0x14 - bl SetGpuReg - ldr r0, =gBattle_BG1_Y - ldrh r1, [r0] - movs r0, 0x16 - bl SetGpuReg - ldr r0, =gBattle_BG2_X - ldrh r1, [r0] - movs r0, 0x18 - bl SetGpuReg - ldr r0, =gBattle_BG2_Y - ldrh r1, [r0] - movs r0, 0x1A - bl SetGpuReg - ldr r0, =gBattle_BG3_X - ldrh r1, [r0] - movs r0, 0x1C - bl SetGpuReg - ldr r0, =gBattle_BG3_Y - ldrh r1, [r0] - movs r0, 0x1E - bl SetGpuReg - ldr r0, =gBattle_WIN0H - ldrh r1, [r0] - movs r0, 0x40 - bl SetGpuReg - ldr r0, =gBattle_WIN0V - ldrh r1, [r0] - movs r0, 0x44 - bl SetGpuReg - ldr r0, =gBattle_WIN1H - ldrh r1, [r0] - movs r0, 0x42 - bl SetGpuReg - ldr r0, =gBattle_WIN1V - ldrh r1, [r0] - movs r0, 0x46 - bl SetGpuReg - bl LoadOam - bl ProcessSpriteCopyRequests - bl TransferPlttBuffer - bl sub_80BA0A8 - pop {r0} - bx r0 - .pool - thumb_func_end VBlankCB_Battle - - thumb_func_start nullsub_17 -nullsub_17: @ 8038B00 - bx lr - thumb_func_end nullsub_17 - - thumb_func_start sub_8038B04 -sub_8038B04: @ 8038B04 - push {r4,r5,lr} - adds r5, r0, 0 - movs r1, 0x2E - ldrsh r0, [r5, r1] - cmp r0, 0 - beq _08038B24 - movs r1, 0x32 - ldrsh r0, [r5, r1] - movs r1, 0xFF - lsls r1, 8 - ands r0, r1 - lsrs r0, 8 - ldrh r1, [r5, 0x30] - adds r0, r1 - strh r0, [r5, 0x20] - b _08038B36 -_08038B24: - movs r1, 0x32 - ldrsh r0, [r5, r1] - movs r1, 0xFF - lsls r1, 8 - ands r0, r1 - asrs r0, 8 - ldrh r1, [r5, 0x30] - subs r1, r0 - strh r1, [r5, 0x20] -_08038B36: - movs r1, 0xC0 - lsls r1, 1 - adds r0, r1, 0 - ldrh r1, [r5, 0x32] - adds r0, r1 - strh r0, [r5, 0x32] - adds r0, r5, 0 - adds r0, 0x3F - ldrb r1, [r0] - movs r0, 0x20 - ands r0, r1 - cmp r0, 0 - beq _08038B6A - ldr r4, =0x00002710 - adds r0, r4, 0 - bl FreeSpriteTilesByTag - adds r0, r4, 0 - bl FreeSpritePaletteByTag - adds r0, r5, 0 - bl FreeSpriteOamMatrix - adds r0, r5, 0 - bl DestroySprite -_08038B6A: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8038B04 - - thumb_func_start sub_8038B74 -sub_8038B74: @ 8038B74 - push {r4,lr} - adds r4, r0, 0 - movs r1, 0x1 - bl StartSpriteAffineAnim - ldr r0, =sub_8038B04 - str r0, [r4, 0x1C] - movs r0, 0x68 - bl PlaySE - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8038B74 - - thumb_func_start sub_8038B94 -sub_8038B94: @ 8038B94 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x10 - lsls r0, 24 - lsrs r0, 24 - str r0, [sp] - movs r0, 0 - str r0, [sp, 0x4] - movs r1, 0 - str r1, [sp, 0x8] - ldr r0, =gBattleScripting - adds r0, 0x25 - ldrb r2, [r0] - ldr r0, =gBattleTypeFlags - ldr r0, [r0] - movs r1, 0x40 - ands r0, r1 - cmp r0, 0 - beq _08038C04 - ldr r1, =gLinkPlayers - lsls r0, r2, 3 - subs r0, r2 - lsls r0, 2 - adds r0, r1 - ldrh r0, [r0, 0x18] - cmp r0, 0x1 - beq _08038BF0 - cmp r0, 0x1 - bgt _08038BE8 - cmp r0, 0 - beq _08038C04 - b _08038C0C - .pool -_08038BE8: - cmp r0, 0x2 - beq _08038C04 - cmp r0, 0x3 - bne _08038C0C -_08038BF0: - ldr r0, =gEnemyParty - str r0, [sp, 0x4] - ldr r1, =gPlayerParty - str r1, [sp, 0x8] - b _08038C0C - .pool -_08038C04: - ldr r2, =gPlayerParty - str r2, [sp, 0x4] - ldr r3, =gEnemyParty - str r3, [sp, 0x8] -_08038C0C: - movs r7, 0 - movs r0, 0 - mov r8, r0 - ldr r1, [sp] - lsls r1, 2 - str r1, [sp, 0xC] - movs r2, 0xCE - lsls r2, 1 - mov r10, r2 - mov r9, r0 -_08038C20: - movs r0, 0x64 - mov r4, r8 - muls r4, r0 - ldr r3, [sp, 0x4] - adds r4, r3, r4 - adds r0, r4, 0 - movs r1, 0x41 - bl GetMonData - lsls r0, 16 - lsrs r5, r0, 16 - adds r0, r4, 0 - movs r1, 0x39 - bl GetMonData - lsls r0, 16 - lsrs r6, r0, 16 - adds r0, r4, 0 - movs r1, 0x37 - bl GetMonData - adds r1, r0, 0 - cmp r5, 0 - beq _08038C90 - cmp r5, r10 - beq _08038C64 - cmp r6, 0 - beq _08038C64 - cmp r1, 0 - bne _08038C64 - movs r0, 0x1 - mov r2, r9 - lsls r0, r2 - orrs r7, r0 -_08038C64: - cmp r5, 0 - beq _08038C90 - cmp r6, 0 - beq _08038C7C - cmp r5, r10 - beq _08038C74 - cmp r1, 0 - beq _08038C7C -_08038C74: - movs r0, 0x2 - mov r3, r9 - lsls r0, r3 - orrs r7, r0 -_08038C7C: - cmp r5, 0 - beq _08038C90 - cmp r5, r10 - beq _08038C90 - cmp r6, 0 - bne _08038C90 - movs r0, 0x3 - mov r1, r9 - lsls r0, r1 - orrs r7, r0 -_08038C90: - movs r2, 0x2 - add r9, r2 - movs r3, 0x1 - add r8, r3 - mov r0, r8 - cmp r0, 0x5 - ble _08038C20 - ldr r1, =gTasks - ldr r2, [sp, 0xC] - ldr r3, [sp] - adds r0, r2, r3 - lsls r0, 3 - adds r0, r1 - strh r7, [r0, 0xE] - movs r7, 0 - movs r0, 0 - mov r8, r0 - movs r1, 0xCE - lsls r1, 1 - mov r10, r1 - mov r9, r0 -_08038CBA: - movs r0, 0x64 - mov r4, r8 - muls r4, r0 - ldr r2, [sp, 0x8] - adds r4, r2, r4 - adds r0, r4, 0 - movs r1, 0x41 - bl GetMonData - lsls r0, 16 - lsrs r5, r0, 16 - adds r0, r4, 0 - movs r1, 0x39 - bl GetMonData - lsls r0, 16 - lsrs r6, r0, 16 - adds r0, r4, 0 - movs r1, 0x37 - bl GetMonData - adds r1, r0, 0 - cmp r5, 0 - beq _08038D2A - cmp r5, r10 - beq _08038CFE - cmp r6, 0 - beq _08038CFE - cmp r1, 0 - bne _08038CFE - movs r0, 0x1 - mov r3, r9 - lsls r0, r3 - orrs r7, r0 -_08038CFE: - cmp r5, 0 - beq _08038D2A - cmp r6, 0 - beq _08038D16 - cmp r5, r10 - beq _08038D0E - cmp r1, 0 - beq _08038D16 -_08038D0E: - movs r0, 0x2 - mov r1, r9 - lsls r0, r1 - orrs r7, r0 -_08038D16: - cmp r5, 0 - beq _08038D2A - cmp r5, r10 - beq _08038D2A - cmp r6, 0 - bne _08038D2A - movs r0, 0x3 - mov r2, r9 - lsls r0, r2 - orrs r7, r0 -_08038D2A: - movs r3, 0x2 - add r9, r3 - movs r0, 0x1 - add r8, r0 - mov r1, r8 - cmp r1, 0x5 - ble _08038CBA - ldr r1, =gTasks - ldr r2, [sp, 0xC] - ldr r3, [sp] - adds r0, r2, r3 - lsls r0, 3 - adds r0, r1 - strh r7, [r0, 0x10] - add sp, 0x10 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8038B94 - - thumb_func_start sub_8038D64 -sub_8038D64: @ 8038D64 - push {r4,lr} - sub sp, 0x4 - movs r0, 0 - bl SetHBlankCallback - movs r0, 0 - bl SetVBlankCallback - ldr r0, =gBattleTypeFlags - ldr r1, [r0] - movs r2, 0x21 - negs r2, r2 - ands r1, r2 - str r1, [r0] - ldr r0, =0x003f0100 - ands r0, r1 - cmp r0, 0 - beq _08038DAC - ldr r0, =gMain - ldr r0, [r0, 0x8] - bl SetMainCallback2 - bl sub_8057028 - bl dp11_free - bl sub_805F094 - b _08038EB6 - .pool -_08038DAC: - str r0, [sp] - movs r1, 0xC0 - lsls r1, 19 - ldr r2, =0x05006000 - mov r0, sp - bl CpuSet - movs r0, 0x4C - movs r1, 0 - bl SetGpuReg - movs r0, 0x40 - movs r1, 0xF0 - bl SetGpuReg - ldr r4, =0x00005051 - movs r0, 0x44 - adds r1, r4, 0 - bl SetGpuReg - movs r0, 0x48 - movs r1, 0 - bl SetGpuReg - movs r0, 0x4A - movs r1, 0 - bl SetGpuReg - ldr r1, =gBattle_WIN0H - movs r0, 0xF0 - strh r0, [r1] - ldr r0, =gBattle_WIN0V - strh r4, [r0] - bl dp12_8087EA4 - ldr r0, =gUnknown_02038C28 - movs r3, 0xF0 - movs r1, 0xF0 - lsls r1, 3 - adds r2, r0, r1 - movs r1, 0x4F -_08038DFE: - strh r3, [r0] - strh r3, [r2] - adds r2, 0x2 - adds r0, 0x2 - subs r1, 0x1 - cmp r1, 0 - bge _08038DFE - movs r1, 0x50 - ldr r0, =gUnknown_02038C28 - ldr r3, =0x0000ff10 - movs r4, 0x82 - lsls r4, 4 - adds r2, r0, r4 - adds r0, 0xA0 -_08038E1A: - strh r3, [r0] - strh r3, [r2] - adds r2, 0x2 - adds r0, 0x2 - adds r1, 0x1 - cmp r1, 0x9F - ble _08038E1A - bl ResetPaletteFade - ldr r0, =gBattle_BG0_X - movs r4, 0 - strh r4, [r0] - ldr r0, =gBattle_BG0_Y - strh r4, [r0] - ldr r0, =gBattle_BG1_X - strh r4, [r0] - ldr r0, =gBattle_BG1_Y - strh r4, [r0] - ldr r0, =gBattle_BG2_X - strh r4, [r0] - ldr r0, =gBattle_BG2_Y - strh r4, [r0] - ldr r0, =gBattle_BG3_X - strh r4, [r0] - ldr r0, =gBattle_BG3_Y - strh r4, [r0] - bl c2_berry_program_update_menu - ldr r0, =gUnknown_08C004E0 - movs r1, 0 - movs r2, 0x40 - bl LoadCompressedPalette - bl sub_803570C - bl ResetSpriteData - bl ResetTasks - bl LoadBattleEntryBackground - movs r0, 0x4A - movs r1, 0x37 - bl SetGpuReg - bl FreeAllSpritePalettes - ldr r1, =gReservedSpritePaletteCount - movs r0, 0x4 - strb r0, [r1] - ldr r0, =VBlankCB_Battle - bl SetVBlankCallback - ldr r0, =task00_0800F6FC - movs r1, 0 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - ldr r2, =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - movs r2, 0x87 - lsls r2, 1 - strh r2, [r1, 0xA] - movs r2, 0x5A - strh r2, [r1, 0xC] - movs r2, 0x1 - strh r2, [r1, 0x12] - bl sub_8038B94 - ldr r0, =sub_8038F14 - bl SetMainCallback2 - ldr r0, =gBattleCommunication - strb r4, [r0] -_08038EB6: - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8038D64 - - thumb_func_start sub_8038F14 -sub_8038F14: @ 8038F14 - push {lr} - bl sub_8038F34 - bl AnimateSprites - bl BuildOamBuffer - bl RunTextPrinters - bl UpdatePaletteFade - bl RunTasks - pop {r0} - bx r0 - thumb_func_end sub_8038F14 - - thumb_func_start sub_8038F34 -sub_8038F34: @ 8038F34 - push {r4-r6,lr} - sub sp, 0x8 - ldr r0, =gBattleCommunication - ldrb r1, [r0] - adds r4, r0, 0 - cmp r1, 0x9 - bls _08038F44 - b _080391C6 -_08038F44: - lsls r0, r1, 2 - ldr r1, =_08038F58 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_08038F58: - .4byte _08038F80 - .4byte _08038FA0 - .4byte _08038FC2 - .4byte _080390C8 - .4byte _08039100 - .4byte _08039118 - .4byte _0803912C - .4byte _0803914C - .4byte _08039166 - .4byte _08039184 -_08038F80: - movs r0, 0 - bl ShowBg - movs r0, 0x1 - bl ShowBg - movs r0, 0x2 - bl ShowBg - ldr r1, =gBattleCommunication - movs r0, 0xFF - strb r0, [r1, 0x1] - b _08039174 - .pool -_08038FA0: - ldrb r0, [r4, 0x1] - subs r0, 0x1 - strb r0, [r4, 0x1] - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0 - beq _08038FB0 - b _080391C6 -_08038FB0: - movs r0, 0x1 - negs r0, r0 - str r1, [sp] - movs r1, 0 - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade - b _0803910C -_08038FC2: - ldr r0, =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _08038FD0 - b _080391C6 -_08038FD0: - bl sub_8185FAC - ldr r2, =gMain - ldr r1, =0x00000439 - adds r2, r1 - movs r1, 0x1 - ands r1, r0 - lsls r1, 2 - ldrb r3, [r2] - movs r0, 0x5 - negs r0, r0 - ands r0, r3 - orrs r0, r1 - strb r0, [r2] - ldr r0, =gBattleTypeFlags - ldr r0, [r0] - movs r1, 0x40 - ands r0, r1 - movs r3, 0x2 - cmp r0, 0 - beq _08038FFC - movs r3, 0x4 -_08038FFC: - movs r4, 0 - ldr r6, =gSaveBlock2Ptr - cmp r4, r3 - bge _08039022 - ldr r1, =gLinkPlayers - ldrb r0, [r1] - cmp r0, 0x3 - bne _08039022 - movs r5, 0xFF - adds r2, r1, 0 -_08039010: - adds r2, 0x1C - adds r4, 0x1 - cmp r4, r3 - bge _08039022 - ldrh r1, [r2] - adds r0, r5, 0 - ands r0, r1 - cmp r0, 0x3 - beq _08039010 -_08039022: - ldr r0, [r6] - ldr r1, =0x00000ca9 - adds r0, r1 - ldrb r1, [r0] - movs r0, 0x8 - ands r0, r1 - cmp r0, 0 - bne _080390AC - cmp r4, r3 - bne _080390AC - ldr r0, =0x000008d2 - bl FlagGet - lsls r0, 24 - cmp r0, 0 - beq _08039074 - bl FreeAllWindowBuffers - ldr r0, =sub_80392A8 - bl SetMainCallback2 - b _080391C6 - .pool -_08039074: - ldr r2, =gMain - ldr r1, =0x00000439 - adds r0, r2, r1 - ldrb r1, [r0] - movs r0, 0x4 - ands r0, r1 - cmp r0, 0 - bne _08039090 - ldr r0, [r2, 0x8] - b _080390B0 - .pool -_08039090: - ldr r0, =gReceivedRemoteLinkPlayers - ldrb r0, [r0] - cmp r0, 0 - bne _08039172 - ldr r0, =sub_80B3AF8 - movs r1, 0x5 - bl CreateTask - b _08039172 - .pool -_080390AC: - ldr r0, =gMain - ldr r0, [r0, 0x8] -_080390B0: - bl SetMainCallback2 - bl sub_8057028 - bl dp11_free - bl sub_805F094 - b _080391C6 - .pool -_080390C8: - movs r0, 0 - str r0, [sp, 0x4] - movs r1, 0xC0 - lsls r1, 19 - ldr r2, =0x05006000 - add r0, sp, 0x4 - bl CpuSet - movs r4, 0 -_080390DA: - lsls r0, r4, 24 - lsrs r0, 24 - bl sub_80363C4 - adds r4, 0x1 - cmp r4, 0x1 - ble _080390DA - movs r0, 0x1 - negs r0, r0 - movs r1, 0 - str r1, [sp] - movs r2, 0x10 - movs r3, 0 - bl BeginNormalPaletteFade - b _08039172 - .pool -_08039100: - ldr r0, =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _080391C6 -_0803910C: - ldrb r0, [r4] - adds r0, 0x1 - strb r0, [r4] - b _080391C6 - .pool -_08039118: - ldr r0, =sub_80B3AF8 - bl FuncIsActiveTask - lsls r0, 24 - cmp r0, 0 - bne _080391C6 - b _08039172 - .pool -_0803912C: - bl sub_800A520 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _080391C6 - bl sub_800ADF8 - ldr r0, =gUnknown_0824978D - movs r1, 0 - bl sub_814F9EC - b _08039172 - .pool -_0803914C: - movs r0, 0 - bl IsTextPrinterActive - lsls r0, 16 - cmp r0, 0 - bne _080391C6 - bl sub_800A520 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _080391C6 - b _08039172 -_08039166: - ldr r0, =gLinkVSyncDisabled - ldrb r0, [r0] - cmp r0, 0 - bne _08039172 - bl sub_800AC34 -_08039172: - ldr r1, =gBattleCommunication -_08039174: - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - b _080391C6 - .pool -_08039184: - ldr r2, =gMain - ldr r1, =0x00000439 - adds r0, r2, r1 - ldrb r1, [r0] - movs r0, 0x4 - ands r0, r1 - adds r3, r2, 0 - cmp r0, 0 - beq _080391A6 - ldr r0, =gLinkVSyncDisabled - ldrb r0, [r0] - cmp r0, 0 - bne _080391A6 - ldr r0, =gReceivedRemoteLinkPlayers - ldrb r0, [r0] - cmp r0, 0x1 - beq _080391C6 -_080391A6: - ldr r0, =0x00000439 - adds r2, r3, r0 - ldrb r1, [r2] - movs r0, 0x5 - negs r0, r0 - ands r0, r1 - strb r0, [r2] - ldr r0, [r3, 0x8] - bl SetMainCallback2 - bl sub_8057028 - bl dp11_free - bl sub_805F094 -_080391C6: - add sp, 0x8 - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8038F34 - - thumb_func_start sub_80391E0 -sub_80391E0: @ 80391E0 - push {lr} - lsls r0, 24 - lsrs r2, r0, 24 - lsls r1, 24 - lsrs r1, 24 - movs r0, 0 - cmp r1, 0x6 - bhi _080392A0 - lsls r0, r1, 2 - ldr r1, =_08039200 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_08039200: - .4byte _0803921C - .4byte _08039230 - .4byte _08039244 - .4byte _08039258 - .4byte _0803926C - .4byte _08039280 - .4byte _08039294 -_0803921C: - ldr r0, =gUnknown_0831AA08 - lsls r1, r2, 2 - adds r1, r0 - ldrb r0, [r1] - lsls r0, 30 - lsrs r0, 30 - b _080392A0 - .pool -_08039230: - ldr r0, =gUnknown_0831AA08 - lsls r1, r2, 2 - adds r1, r0 - ldrb r0, [r1] - lsls r0, 28 - lsrs r0, 30 - b _080392A0 - .pool -_08039244: - ldr r0, =gUnknown_0831AA08 - lsls r1, r2, 2 - adds r1, r0 - ldrh r0, [r1] - lsls r0, 23 - lsrs r0, 27 - b _080392A0 - .pool -_08039258: - ldr r0, =gUnknown_0831AA08 - lsls r1, r2, 2 - adds r1, r0 - ldrb r0, [r1, 0x1] - lsls r0, 29 - lsrs r0, 30 - b _080392A0 - .pool -_0803926C: - ldr r0, =gUnknown_0831AA08 - lsls r1, r2, 2 - adds r1, r0 - ldrb r0, [r1, 0x1] - lsls r0, 28 - lsrs r0, 31 - b _080392A0 - .pool -_08039280: - ldr r0, =gUnknown_0831AA08 - lsls r1, r2, 2 - adds r1, r0 - ldrb r0, [r1, 0x1] - lsls r0, 26 - lsrs r0, 30 - b _080392A0 - .pool -_08039294: - ldr r0, =gUnknown_0831AA08 - lsls r1, r2, 2 - adds r1, r0 - ldr r0, [r1] - lsls r0, 8 - lsrs r0, 22 -_080392A0: - pop {r1} - bx r1 - .pool - thumb_func_end sub_80391E0 - - thumb_func_start sub_80392A8 -sub_80392A8: @ 80392A8 - push {r4,lr} - sub sp, 0x8 - movs r0, 0 - bl SetHBlankCallback - movs r0, 0 - bl SetVBlankCallback - movs r4, 0 - str r4, [sp, 0x4] - movs r1, 0xC0 - lsls r1, 19 - ldr r2, =0x05006000 - add r0, sp, 0x4 - bl CpuSet - bl ResetPaletteFade - ldr r0, =gBattle_BG0_X - strh r4, [r0] - ldr r0, =gBattle_BG0_Y - strh r4, [r0] - ldr r0, =gBattle_BG1_X - strh r4, [r0] - ldr r0, =gBattle_BG1_Y - strh r4, [r0] - ldr r0, =gBattle_BG2_X - strh r4, [r0] - ldr r0, =gBattle_BG2_Y - strh r4, [r0] - ldr r0, =gBattle_BG3_X - strh r4, [r0] - ldr r0, =gBattle_BG3_Y - strh r4, [r0] - bl c2_berry_program_update_menu - movs r1, 0x82 - lsls r1, 5 - movs r0, 0 - bl SetGpuReg - bl sub_803570C -_080392FE: - lsls r0, r4, 24 - lsrs r0, 24 - bl sub_80363C4 - adds r4, 0x1 - cmp r4, 0x1 - ble _080392FE - bl ResetSpriteData - bl ResetTasks - bl FreeAllSpritePalettes - ldr r1, =gReservedSpritePaletteCount - movs r0, 0x4 - strb r0, [r1] - ldr r0, =VBlankCB_Battle - bl SetVBlankCallback - ldr r0, =sub_803937C - bl SetMainCallback2 - movs r0, 0x1 - negs r0, r0 - movs r4, 0 - str r4, [sp] - movs r1, 0 - movs r2, 0x10 - movs r3, 0 - bl BeginNormalPaletteFade - ldr r0, =gBattleCommunication - strb r4, [r0] - add sp, 0x8 - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80392A8 - - thumb_func_start sub_803937C -sub_803937C: @ 803937C - push {lr} - bl sub_803939C - bl AnimateSprites - bl BuildOamBuffer - bl RunTextPrinters - bl UpdatePaletteFade - bl RunTasks - pop {r0} - bx r0 - thumb_func_end sub_803937C - - thumb_func_start sub_803939C -sub_803939C: @ 803939C - push {r4,r5,lr} - sub sp, 0x4 - ldr r0, =gBattleCommunication - ldrb r1, [r0] - adds r4, r0, 0 - cmp r1, 0xC - bls _080393AC - b _0803975E -_080393AC: - lsls r0, r1, 2 - ldr r1, =_080393C0 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_080393C0: - .4byte _080393F4 - .4byte _08039414 - .4byte _08039450 - .4byte _08039470 - .4byte _0803949C - .4byte _080394D8 - .4byte _0803957C - .4byte _08039704 - .4byte _080395CC - .4byte _08039610 - .4byte _08039678 - .4byte _080396A8 - .4byte _08039704 -_080393F4: - movs r0, 0 - bl ShowBg - movs r0, 0x1 - bl ShowBg - movs r0, 0x2 - bl ShowBg - ldr r1, =gBattleCommunication - ldrb r0, [r1] - adds r0, 0x1 - b _0803975C - .pool -_08039414: - ldr r0, =gMain - ldr r1, =0x00000439 - adds r0, r1 - ldrb r1, [r0] - movs r0, 0x4 - ands r0, r1 - cmp r0, 0 - beq _08039434 - ldr r0, =gReceivedRemoteLinkPlayers - ldrb r0, [r0] - cmp r0, 0 - bne _08039434 - ldr r0, =sub_80B3AF8 - movs r1, 0x5 - bl CreateTask -_08039434: - ldr r1, =gBattleCommunication - ldrb r0, [r1] - adds r0, 0x1 - b _0803975C - .pool -_08039450: - ldr r0, =sub_80B3AF8 - bl FuncIsActiveTask - lsls r0, 24 - cmp r0, 0 - beq _0803945E - b _0803975E -_0803945E: - ldr r1, =gBattleCommunication - ldrb r0, [r1] - adds r0, 0x1 - b _0803975C - .pool -_08039470: - ldr r0, =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _0803947E - b _0803975E -_0803947E: - ldr r0, =gText_RecordBattleToPass - movs r1, 0 - bl sub_814F9EC - ldr r1, =gBattleCommunication - ldrb r0, [r1] - adds r0, 0x1 - b _0803975C - .pool -_0803949C: - movs r0, 0 - bl IsTextPrinterActive - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0 - beq _080394AC - b _0803975E -_080394AC: - str r0, [sp] - movs r0, 0x18 - movs r1, 0x8 - movs r2, 0x1D - movs r3, 0xD - bl sub_8056A3C - ldr r0, =gText_BattleYesNoChoice - movs r1, 0xC - bl sub_814F9EC - ldr r4, =gBattleCommunication - movs r0, 0x1 - strb r0, [r4, 0x1] - bl BattleCreateCursorAt - b _080396EA - .pool -_080394D8: - ldr r0, =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x40 - ands r0, r1 - cmp r0, 0 - beq _08039500 - ldrb r0, [r4, 0x1] - cmp r0, 0 - bne _080394EC - b _0803975E -_080394EC: - movs r0, 0x5 - bl PlaySE - ldrb r0, [r4, 0x1] - bl BattleDestroyCursorAt - movs r0, 0 - b _0803951E - .pool -_08039500: - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _08039526 - ldrb r0, [r4, 0x1] - cmp r0, 0 - beq _08039510 - b _0803975E -_08039510: - movs r0, 0x5 - bl PlaySE - ldrb r0, [r4, 0x1] - bl BattleDestroyCursorAt - movs r0, 0x1 -_0803951E: - strb r0, [r4, 0x1] - bl BattleCreateCursorAt - b _0803975E -_08039526: - movs r5, 0x1 - adds r0, r5, 0 - ands r0, r1 - cmp r0, 0 - beq _08039560 - movs r0, 0x5 - bl PlaySE - ldr r4, =gBattleCommunication - ldrb r0, [r4, 0x1] - cmp r0, 0 - beq _08039540 - b _080396EA -_08039540: - str r5, [sp] - movs r0, 0x18 - movs r1, 0x8 - movs r2, 0x1D - movs r3, 0xD - bl sub_8056A3C - bl sub_8185338 - strb r0, [r4, 0x1] - movs r0, 0xA - strb r0, [r4] - b _0803975E - .pool -_08039560: - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - bne _0803956A - b _0803975E -_0803956A: - movs r0, 0x5 - bl PlaySE - ldr r1, =gBattleCommunication - ldrb r0, [r1] - adds r0, 0x1 - b _0803975C - .pool -_0803957C: - bl sub_800A520 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _0803958A - b _0803975E -_0803958A: - str r0, [sp] - movs r0, 0x18 - movs r1, 0x8 - movs r2, 0x1D - movs r3, 0xD - bl sub_8056A3C - ldr r0, =gMain - ldr r1, =0x00000439 - adds r0, r1 - ldrb r1, [r0] - movs r0, 0x4 - ands r0, r1 - cmp r0, 0 - beq _080395B4 - bl sub_800ADF8 - ldr r0, =gUnknown_0824978D - movs r1, 0 - bl sub_814F9EC -_080395B4: - ldr r1, =gBattleCommunication - ldrb r0, [r1] - adds r0, 0x1 - b _0803975C - .pool -_080395CC: - ldrb r0, [r4, 0x1] - subs r0, 0x1 - strb r0, [r4, 0x1] - lsls r0, 24 - cmp r0, 0 - beq _080395DA - b _0803975E -_080395DA: - ldr r0, =gMain - ldr r1, =0x00000439 - adds r0, r1 - ldrb r1, [r0] - movs r0, 0x4 - ands r0, r1 - cmp r0, 0 - beq _080395F6 - ldr r0, =gLinkVSyncDisabled - ldrb r0, [r0] - cmp r0, 0 - bne _080395F6 - bl sub_800AC34 -_080395F6: - ldr r1, =gBattleCommunication - ldrb r0, [r1] - adds r0, 0x1 - b _0803975C - .pool -_08039610: - ldr r2, =gMain - ldr r1, =0x00000439 - adds r0, r2, r1 - ldrb r1, [r0] - movs r0, 0x4 - ands r0, r1 - adds r3, r2, 0 - cmp r0, 0 - beq _08039634 - ldr r0, =gLinkVSyncDisabled - ldrb r0, [r0] - cmp r0, 0 - bne _08039634 - ldr r0, =gReceivedRemoteLinkPlayers - ldrb r0, [r0] - cmp r0, 0x1 - bne _08039634 - b _0803975E -_08039634: - ldr r0, =0x00000439 - adds r2, r3, r0 - ldrb r1, [r2] - movs r0, 0x5 - negs r0, r0 - ands r0, r1 - strb r0, [r2] - ldr r0, =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _08039650 - b _0803975E -_08039650: - ldr r0, [r3, 0x8] - bl SetMainCallback2 - bl sub_8057028 - bl dp11_free - bl sub_805F094 - b _0803975E - .pool -_08039678: - ldrb r0, [r4, 0x1] - cmp r0, 0x1 - bne _080396A0 - movs r0, 0x37 - bl PlaySE - ldr r0, =gText_BattleRecordedOnPass -_08039686: - bl BattleStringExpandPlaceholdersToDisplayedString - ldr r0, =gDisplayedStringBattle - movs r1, 0 - bl sub_814F9EC - movs r0, 0x80 - strb r0, [r4, 0x1] - b _080396EA - .pool -_080396A0: - ldr r0, =gUnknown_08242481 - b _08039686 - .pool -_080396A8: - bl sub_800A520 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _0803975E - movs r0, 0 - bl IsTextPrinterActive - lsls r0, 16 - cmp r0, 0 - bne _0803975E - ldr r4, =gBattleCommunication - ldrb r0, [r4, 0x1] - subs r0, 0x1 - strb r0, [r4, 0x1] - lsls r0, 24 - cmp r0, 0 - bne _0803975E - ldr r0, =gMain - ldr r1, =0x00000439 - adds r0, r1 - ldrb r1, [r0] - movs r0, 0x4 - ands r0, r1 - cmp r0, 0 - beq _080396EA - bl sub_800ADF8 - ldr r0, =gUnknown_0824978D - movs r1, 0 - bl sub_814F9EC -_080396EA: - ldrb r0, [r4] - adds r0, 0x1 - strb r0, [r4] - b _0803975E - .pool -_08039704: - movs r0, 0 - bl IsTextPrinterActive - lsls r0, 16 - lsrs r4, r0, 16 - cmp r4, 0 - bne _0803975E - ldr r0, =gMain - ldr r1, =0x00000439 - adds r0, r1 - ldrb r1, [r0] - movs r0, 0x4 - ands r0, r1 - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0 - beq _08039744 - bl sub_800A520 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _0803975E - movs r0, 0x1 - negs r0, r0 - str r4, [sp] - b _0803974A - .pool -_08039744: - movs r0, 0x1 - negs r0, r0 - str r1, [sp] -_0803974A: - movs r1, 0 - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade - ldr r1, =gBattleCommunication - movs r0, 0x20 - strb r0, [r1, 0x1] - movs r0, 0x8 -_0803975C: - strb r0, [r1] -_0803975E: - add sp, 0x4 - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_803939C - - thumb_func_start shedinja_something -shedinja_something: @ 803976C - push {r4,r5,lr} - sub sp, 0x10 - adds r4, r0, 0 - add r5, sp, 0xC - movs r0, 0x1 - strb r0, [r5] - adds r0, r4, 0 - movs r1, 0xB - bl GetMonData - ldr r1, =0x0000012f - cmp r0, r1 - bne _080397B4 - adds r0, r4, 0 - movs r1, 0x3 - bl GetMonData - ldrb r1, [r5] - cmp r0, r1 - beq _080397B4 - adds r0, r4, 0 - movs r1, 0x2 - mov r2, sp - bl GetMonData - ldr r1, =gUnknown_0831ACA0 - mov r0, sp - bl StringCompareWithoutExtCtrlCodes - cmp r0, 0 - bne _080397B4 - adds r0, r4, 0 - movs r1, 0x3 - adds r2, r5, 0 - bl SetMonData -_080397B4: - add sp, 0x10 - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end shedinja_something - - thumb_func_start sub_80397C4 -sub_80397C4: @ 80397C4 - ldr r2, =gUnknown_0831ABA0 - lsls r0, 2 - adds r0, r2 - ldr r0, [r0] - lsls r1, 3 - adds r1, r0 - ldrb r0, [r1, 0x3] - lsls r0, 3 - bx lr - .pool - thumb_func_end sub_80397C4 - - thumb_func_start oac_poke_opponent -oac_poke_opponent: @ 80397DC - push {lr} - sub sp, 0x4 - ldr r1, =sub_803980C - str r1, [r0, 0x1C] - movs r1, 0 - bl StartSpriteAnimIfDifferent - movs r0, 0x80 - lsls r0, 10 - ldr r1, =0x00002108 - str r1, [sp] - movs r1, 0 - movs r2, 0xA - movs r3, 0xA - bl BeginNormalPaletteFade - add sp, 0x4 - pop {r0} - bx r0 - .pool - thumb_func_end oac_poke_opponent - - thumb_func_start sub_803980C -sub_803980C: @ 803980C - push {lr} - adds r2, r0, 0 - ldr r0, =gUnknown_020243FC - ldrh r1, [r0] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - bne _0803982C - ldrh r0, [r2, 0x24] - adds r0, 0x2 - strh r0, [r2, 0x24] - lsls r0, 16 - cmp r0, 0 - bne _0803982C - ldr r0, =sub_8039838 - str r0, [r2, 0x1C] -_0803982C: - pop {r0} - bx r0 - .pool - thumb_func_end sub_803980C - - thumb_func_start sub_8039838 -sub_8039838: @ 8039838 - push {r4,lr} - sub sp, 0x4 - adds r4, r0, 0 - adds r0, 0x3F - ldrb r1, [r0] - movs r0, 0x10 - ands r0, r1 - cmp r0, 0 - beq _08039880 - ldrh r0, [r4, 0x2E] - lsls r0, 24 - lsrs r0, 24 - bl sub_8076918 - ldr r1, =gHealthBoxesIds - movs r2, 0x2E - ldrsh r0, [r4, r2] - adds r0, r1 - ldrb r0, [r0] - bl sub_80729D0 - ldr r0, =sub_8039894 - str r0, [r4, 0x1C] - adds r0, r4, 0 - movs r1, 0 - bl StartSpriteAnimIfDifferent - movs r0, 0x80 - lsls r0, 10 - ldr r1, =0x00002108 - str r1, [sp] - movs r1, 0 - movs r2, 0xA - movs r3, 0 - bl BeginNormalPaletteFade -_08039880: - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8039838 - - thumb_func_start sub_8039894 -sub_8039894: @ 8039894 - push {lr} - adds r2, r0, 0 - ldr r0, =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _080398B0 - ldrh r1, [r2, 0x32] - adds r0, r2, 0 - movs r2, 0 - movs r3, 0x1 - bl BattleAnimateFrontSprite -_080398B0: - pop {r0} - bx r0 - .pool - thumb_func_end sub_8039894 - - thumb_func_start SpriteCallbackDummy_2 -SpriteCallbackDummy_2: @ 80398B8 - bx lr - thumb_func_end SpriteCallbackDummy_2 - - thumb_func_start sub_80398BC -sub_80398BC: @ 80398BC - movs r1, 0x6 - strh r1, [r0, 0x34] - movs r1, 0x1 - strh r1, [r0, 0x36] - ldr r1, =sub_80398D0 - str r1, [r0, 0x1C] - bx lr - .pool - thumb_func_end sub_80398BC - - thumb_func_start sub_80398D0 -sub_80398D0: @ 80398D0 - push {r4,lr} - adds r3, r0, 0 - ldrh r0, [r3, 0x36] - subs r0, 0x1 - strh r0, [r3, 0x36] - lsls r0, 16 - cmp r0, 0 - bne _08039924 - movs r0, 0x8 - strh r0, [r3, 0x36] - movs r0, 0x3E - adds r0, r3 - mov r12, r0 - ldrb r2, [r0] - lsls r0, r2, 29 - lsrs r0, 31 - movs r1, 0x1 - eors r1, r0 - lsls r1, 2 - movs r4, 0x5 - negs r4, r4 - adds r0, r4, 0 - ands r0, r2 - orrs r0, r1 - mov r1, r12 - strb r0, [r1] - ldrh r0, [r3, 0x34] - subs r0, 0x1 - strh r0, [r3, 0x34] - lsls r0, 16 - asrs r2, r0, 16 - cmp r2, 0 - bne _08039924 - ldrb r1, [r1] - adds r0, r4, 0 - ands r0, r1 - mov r1, r12 - strb r0, [r1] - ldr r0, =SpriteCallbackDummy_2 - str r0, [r3, 0x1C] - ldr r0, =gUnknown_02022F88 - str r2, [r0] -_08039924: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80398D0 - - thumb_func_start sub_8039934 -sub_8039934: @ 8039934 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - mov r9, r0 - ldrh r0, [r0, 0x2E] - lsls r0, 24 - lsrs r6, r0, 24 - ldr r0, =gUnknown_020244D0 - ldr r0, [r0] - ldr r1, [r0] - lsls r0, r6, 2 - adds r1, r0, r1 - ldrh r0, [r1, 0x2] - cmp r0, 0 - beq _0803995C - adds r4, r0, 0 - b _08039960 - .pool -_0803995C: - mov r0, r9 - ldrh r4, [r0, 0x32] -_08039960: - ldr r1, =gBattlePartyID - lsls r0, r6, 1 - adds r5, r0, r1 - ldrh r0, [r5] - movs r1, 0x64 - mov r8, r1 - mov r1, r8 - muls r1, r0 - adds r0, r1, 0 - ldr r7, =gEnemyParty - adds r0, r7 - movs r1, 0 - bl GetMonData - cmp r4, 0xC9 - bne _080399E4 - ldrh r0, [r5] - mov r1, r8 - muls r1, r0 - adds r0, r1, 0 - adds r0, r7 - movs r1, 0 - bl GetMonData - 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 - cmp r0, 0 - bne _080399D0 - movs r0, 0xC9 - b _080399DA - .pool -_080399D0: - movs r1, 0xCE - lsls r1, 1 - adds r0, r1 - lsls r0, 16 - lsrs r0, 16 -_080399DA: - ldr r1, =gUnknown_08300D38 - lsls r0, 2 - b _08039A1C - .pool -_080399E4: - ldr r0, =0x00000181 - cmp r4, r0 - bne _08039A08 - ldr r0, =gUnknown_08525F78 - ldr r1, =gBattleMonForms - adds r1, r6, r1 - ldrb r1, [r1] - lsls r1, 2 - adds r1, r0 - ldrb r0, [r1, 0x1] - b _08039A20 - .pool -_08039A08: - movs r0, 0xCE - lsls r0, 1 - cmp r4, r0 - bls _08039A18 - ldr r0, =gUnknown_08300D38 - b _08039A1E - .pool -_08039A18: - ldr r1, =gUnknown_08300D38 - lsls r0, r4, 2 -_08039A1C: - adds r0, r1 -_08039A1E: - ldrb r0, [r0, 0x1] -_08039A20: - lsrs r1, r0, 3 - movs r0, 0x8 - subs r0, r1 - mov r1, r9 - strh r0, [r1, 0x34] - movs r0, 0x1 - strh r0, [r1, 0x36] - ldr r0, =sub_8039A48 - str r0, [r1, 0x1C] - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8039934 - - thumb_func_start sub_8039A48 -sub_8039A48: @ 8039A48 - push {r4,lr} - adds r4, r0, 0 - ldrh r0, [r4, 0x36] - subs r0, 0x1 - strh r0, [r4, 0x36] - lsls r0, 16 - cmp r0, 0 - bne _08039AC8 - movs r0, 0x2 - strh r0, [r4, 0x36] - ldrh r0, [r4, 0x26] - adds r0, 0x8 - strh r0, [r4, 0x26] - ldrh r0, [r4, 0x34] - subs r0, 0x1 - strh r0, [r4, 0x34] - lsls r0, 16 - cmp r0, 0 - bge _08039A7C - adds r0, r4, 0 - bl FreeSpriteOamMatrix - adds r0, r4, 0 - bl DestroySprite - b _08039AC8 -_08039A7C: - ldrh r0, [r4, 0x2E] - lsls r0, 24 - lsrs r0, 24 - bl GetBankIdentity - ldr r1, =gMonSpritesGfxPtr - ldr r1, [r1] - lsls r0, 24 - lsrs r0, 22 - adds r1, 0x4 - adds r1, r0 - ldr r2, =gBattleMonForms - movs r3, 0x2E - ldrsh r0, [r4, r3] - adds r0, r2 - ldrb r0, [r0] - lsls r0, 11 - ldr r1, [r1] - adds r1, r0 - movs r2, 0x34 - ldrsh r0, [r4, r2] - lsls r0, 8 - adds r1, r0 - movs r2, 0 - movs r0, 0xFF -_08039AAE: - strb r2, [r1] - adds r1, 0x1 - subs r0, 0x1 - cmp r0, 0 - bge _08039AAE - ldr r0, =gBattleMonForms - movs r3, 0x2E - ldrsh r1, [r4, r3] - adds r1, r0 - ldrb r1, [r1] - adds r0, r4, 0 - bl StartSpriteAnim -_08039AC8: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8039A48 - - thumb_func_start sub_8039AD8 -sub_8039AD8: @ 8039AD8 - movs r1, 0x8 - strh r1, [r0, 0x34] - adds r1, r0, 0 - adds r1, 0x3E - ldrb r1, [r1] - lsls r1, 29 - lsrs r1, 31 - strh r1, [r0, 0x36] - ldr r1, =sub_8039AF4 - str r1, [r0, 0x1C] - bx lr - .pool - thumb_func_end sub_8039AD8 - - thumb_func_start sub_8039AF4 -sub_8039AF4: @ 8039AF4 - push {lr} - adds r3, r0, 0 - ldrh r0, [r3, 0x34] - subs r0, 0x1 - strh r0, [r3, 0x34] - lsls r0, 16 - cmp r0, 0 - bne _08039B26 - movs r0, 0x3E - adds r0, r3 - mov r12, r0 - ldrb r2, [r0] - lsls r0, r2, 29 - lsrs r0, 31 - movs r1, 0x1 - eors r1, r0 - lsls r1, 2 - movs r0, 0x5 - negs r0, r0 - ands r0, r2 - orrs r0, r1 - mov r1, r12 - strb r0, [r1] - movs r0, 0x8 - strh r0, [r3, 0x34] -_08039B26: - pop {r0} - bx r0 - thumb_func_end sub_8039AF4 - - thumb_func_start sub_8039B2C -sub_8039B2C: @ 8039B2C - movs r1, 0x3E - adds r1, r0 - mov r12, r1 - movs r1, 0x1 - ldrh r2, [r0, 0x36] - ands r2, r1 - lsls r2, 2 - mov r1, r12 - ldrb r3, [r1] - movs r1, 0x5 - negs r1, r1 - ands r1, r3 - orrs r1, r2 - mov r2, r12 - strb r1, [r2] - movs r1, 0 - strh r1, [r0, 0x36] - ldr r1, =SpriteCallbackDummy_2 - str r1, [r0, 0x1C] - bx lr - .pool - thumb_func_end sub_8039B2C thumb_func_start sub_8039B58 sub_8039B58: @ 8039B58 @@ -2805,7 +142,7 @@ dp11b_obj_instanciate: @ 8039C28 mov r10, r3 cmp r1, 0 beq _08039C64 - ldr r0, =gUnknown_020244D0 + ldr r0, =gBattleSpritesDataPtr ldr r0, [r0] ldr r1, [r0, 0x4] lsls r2, r4, 1 @@ -2817,7 +154,7 @@ dp11b_obj_instanciate: @ 8039C28 b _08039C76 .pool _08039C64: - ldr r0, =gUnknown_020244D0 + ldr r0, =gBattleSpritesDataPtr ldr r0, [r0] ldr r1, [r0, 0x4] lsls r2, r4, 1 @@ -2841,7 +178,7 @@ _08039C76: ldr r0, =gHealthBoxesIds adds r0, r4, r0 ldrb r7, [r0] - ldr r2, =gUnknown_020244D0 + ldr r2, =gBattleSpritesDataPtr ldr r0, [r2] ldr r0, [r0, 0x4] adds r1, r6, r4 @@ -2867,7 +204,7 @@ _08039CD0: ldr r0, =gBankSpriteIds adds r0, r4, r0 ldrb r7, [r0] - ldr r2, =gUnknown_020244D0 + ldr r2, =gBattleSpritesDataPtr ldr r0, [r2] ldr r0, [r0, 0x4] adds r1, r6, r4 @@ -2931,7 +268,7 @@ dp11b_obj_free: @ 8039D48 lsrs r1, 24 cmp r1, 0x1 bne _08039D9C - ldr r6, =gUnknown_020244D0 + ldr r6, =gBattleSpritesDataPtr ldr r0, [r6] ldr r1, [r0, 0x4] lsls r0, r2, 1 @@ -2962,7 +299,7 @@ dp11b_obj_free: @ 8039D48 b _08039DD6 .pool _08039D9C: - ldr r6, =gUnknown_020244D0 + ldr r6, =gBattleSpritesDataPtr ldr r0, [r6] ldr r1, [r0, 0x4] lsls r0, r2, 1 @@ -10246,9 +7583,9 @@ _0803DE86: ands r0, r1 cmp r0, 0 bne _0803DEA2 - bl sub_805F094 - bl sub_8057028 - bl dp11_free + bl FreeMonSpritesGfx + bl FreeBattleResources + bl FreeBattleSpritesData _0803DEA2: pop {r0} bx r0 diff --git a/asm/battle_5.s b/asm/battle_5.s index 3163631a9..4d02a5942 100644 --- a/asm/battle_5.s +++ b/asm/battle_5.s @@ -104,8 +104,8 @@ _08056FFA: .pool thumb_func_end AllocateBattleResrouces - thumb_func_start sub_8057028 -sub_8057028: @ 8057028 + thumb_func_start FreeBattleResources +FreeBattleResources: @ 8057028 push {r4-r6,lr} ldr r0, =gBattleTypeFlags ldr r0, [r0] @@ -181,7 +181,7 @@ _080570D0: pop {r0} bx r0 .pool - thumb_func_end sub_8057028 + thumb_func_end FreeBattleResources thumb_func_start AdjustFriendshipOnBattleFaint AdjustFriendshipOnBattleFaint: @ 80570F4 diff --git a/asm/battle_7.s b/asm/battle_7.s index 82298fbf4..7f82e790a 100644 --- a/asm/battle_7.s +++ b/asm/battle_7.s @@ -8,7 +8,7 @@ thumb_func_start AllocateBattleSpritesData AllocateBattleSpritesData: @ 805D118 push {r4,lr} - ldr r4, =gUnknown_020244D0 + ldr r4, =gBattleSpritesDataPtr movs r0, 0x10 bl AllocZeroed str r0, [r4] @@ -34,10 +34,10 @@ AllocateBattleSpritesData: @ 805D118 .pool thumb_func_end AllocateBattleSpritesData - thumb_func_start dp11_free -dp11_free: @ 805D158 + thumb_func_start FreeBattleSpritesData +FreeBattleSpritesData: @ 805D158 push {r4,r5,lr} - ldr r5, =gUnknown_020244D0 + ldr r5, =gBattleSpritesDataPtr ldr r0, [r5] cmp r0, 0 beq _0805D192 @@ -65,7 +65,7 @@ _0805D192: pop {r0} bx r0 .pool - thumb_func_end dp11_free + thumb_func_end FreeBattleSpritesData thumb_func_start sub_805D19C sub_805D19C: @ 805D19C @@ -839,7 +839,7 @@ move_anim_start_t2_for_situation: @ 805D808 push {r4-r6,lr} adds r4, r1, 0 lsls r0, 24 - ldr r6, =gUnknown_020244D0 + ldr r6, =gBattleSpritesDataPtr ldr r1, [r6] ldr r5, =gActiveBank ldrb r2, [r5] @@ -1001,7 +1001,7 @@ move_anim_start_t3: @ 805D908 b _0805DA1E .pool _0805D950: - ldr r0, =gUnknown_020244D0 + ldr r0, =gBattleSpritesDataPtr mov r9, r0 ldr r0, [r0] ldr r0, [r0] @@ -1063,7 +1063,7 @@ _0805D9CC: mov r1, sp ldrb r1, [r1] strb r1, [r0] - ldr r4, =gUnknown_020244D0 + ldr r4, =gBattleSpritesDataPtr ldr r0, [r4] ldr r0, [r0, 0x8] strh r7, [r0] @@ -1119,7 +1119,7 @@ task0A_0803415C: @ 805DA48 ldrb r0, [r0] cmp r0, 0 bne _0805DA8A - ldr r0, =gUnknown_020244D0 + ldr r0, =gBattleSpritesDataPtr ldr r2, [r0] ldr r1, =gTasks lsls r0, r4, 2 @@ -1199,7 +1199,7 @@ move_anim_start_t4: @ 805DAC4 lsls r1, 3 adds r1, r2 strh r4, [r1, 0x8] - ldr r0, =gUnknown_020244D0 + ldr r0, =gBattleSpritesDataPtr ldr r0, [r0] movs r2, 0x8 ldrsh r1, [r1, r2] @@ -1230,7 +1230,7 @@ task0A_08034248: @ 805DB34 ldrb r0, [r0] cmp r0, 0 bne _0805DB76 - ldr r0, =gUnknown_020244D0 + ldr r0, =gBattleSpritesDataPtr ldr r2, [r0] ldr r1, =gTasks lsls r0, r4, 2 @@ -1274,7 +1274,7 @@ mplay_80342A4: @ 805DB90 lsls r0, 24 cmp r0, 0 beq _0805DBD8 - ldr r2, =gUnknown_020244D0 + ldr r2, =gBattleSpritesDataPtr ldr r0, [r2] ldr r1, [r0, 0x4] lsls r0, r4, 1 @@ -1307,7 +1307,7 @@ _0805DBDC: b _0805DC02 .pool _0805DBF0: - ldr r0, =gUnknown_020244D0 + ldr r0, =gBattleSpritesDataPtr ldr r0, [r0] ldr r1, [r0, 0x4] lsls r0, r4, 1 @@ -1338,7 +1338,7 @@ sub_805DC0C: @ 805DC0C movs r1, 0 bl GetMonData str r0, [sp] - ldr r0, =gUnknown_020244D0 + ldr r0, =gBattleSpritesDataPtr ldr r0, [r0] ldr r0, [r0] mov r2, r8 @@ -1386,7 +1386,7 @@ _0805DC58: movs r0, 0x80 lsls r0, 1 adds r7, r2, r0 - ldr r0, =gUnknown_020244D0 + ldr r0, =gBattleSpritesDataPtr ldr r0, [r0] ldr r0, [r0] lsls r1, r3, 2 @@ -1444,7 +1444,7 @@ _0805DCC6: movs r2, 0x20 bl LoadPalette _0805DD1A: - ldr r0, =gUnknown_020244D0 + ldr r0, =gBattleSpritesDataPtr ldr r0, [r0] ldr r0, [r0] ldr r1, [sp, 0x4] @@ -1491,7 +1491,7 @@ sub_805DD7C: @ 805DD7C movs r1, 0 bl GetMonData str r0, [sp] - ldr r0, =gUnknown_020244D0 + ldr r0, =gBattleSpritesDataPtr ldr r0, [r0] ldr r0, [r0] mov r2, r8 @@ -1532,7 +1532,7 @@ _0805DDC8: mov r10, r1 cmp r0, 0x1 beq _0805DE00 - ldr r0, =gUnknown_020244D0 + ldr r0, =gBattleSpritesDataPtr ldr r0, [r0] ldr r0, [r0] add r0, r10 @@ -1573,7 +1573,7 @@ _0805DE46: movs r0, 0x80 lsls r0, 1 adds r7, r1, r0 - ldr r0, =gUnknown_020244D0 + ldr r0, =gBattleSpritesDataPtr ldr r0, [r0] ldr r0, [r0] add r0, r10 @@ -1629,7 +1629,7 @@ _0805DE7E: movs r2, 0x20 bl LoadPalette _0805DED2: - ldr r0, =gUnknown_020244D0 + ldr r0, =gBattleSpritesDataPtr ldr r0, [r0] ldr r0, [r0] add r0, r10 @@ -2141,7 +2141,7 @@ _0805E346: thumb_func_start sub_805E350 sub_805E350: @ 805E350 push {r4,lr} - ldr r4, =gUnknown_020244D0 + ldr r4, =gBattleSpritesDataPtr ldr r0, [r4] ldr r0, [r0, 0x4] movs r1, 0 @@ -2162,7 +2162,7 @@ sub_805E350: @ 805E350 sub_805E378: @ 805E378 push {lr} bl sub_805E350 - ldr r0, =gUnknown_020244D0 + ldr r0, =gBattleSpritesDataPtr ldr r0, [r0] ldr r0, [r0] movs r1, 0 @@ -2191,7 +2191,7 @@ sub_805E394: @ 805E394 movs r0, 0x2 negs r0, r0 mov r8, r0 - ldr r7, =gUnknown_020244D0 + ldr r7, =gBattleSpritesDataPtr ldr r6, =gBankSpriteIds _0805E3B8: ldr r0, [r7] @@ -2233,7 +2233,7 @@ _0805E3EA: sub_805E408: @ 805E408 lsls r0, 24 lsrs r0, 24 - ldr r1, =gUnknown_020244D0 + ldr r1, =gBattleSpritesDataPtr ldr r1, [r1] ldr r1, [r1] lsls r3, r0, 2 @@ -2285,7 +2285,7 @@ sub_805E448: @ 805E448 ldr r1, =gSprites mov r8, r1 add r0, r8 - ldr r4, =gUnknown_020244D0 + ldr r4, =gBattleSpritesDataPtr ldr r1, [r4] ldr r1, [r1, 0x8] ldrb r1, [r1] @@ -2582,7 +2582,7 @@ _0805E70A: lsls r0, 24 cmp r0, 0 bne _0805E74A - ldr r0, =gUnknown_020244D0 + ldr r0, =gBattleSpritesDataPtr ldr r0, [r0] ldr r1, [r0] lsls r0, r7, 2 @@ -2804,7 +2804,7 @@ sub_805E94C: @ 805E94C lsrs r1, 16 cmp r1, 0xA4 bne _0805E96C - ldr r0, =gUnknown_020244D0 + ldr r0, =gBattleSpritesDataPtr ldr r0, [r0] ldr r0, [r0] lsls r1, r2, 2 @@ -2822,7 +2822,7 @@ _0805E96C: thumb_func_start sub_805E974 sub_805E974: @ 805E974 lsls r0, 24 - ldr r1, =gUnknown_020244D0 + ldr r1, =gBattleSpritesDataPtr ldr r1, [r1] ldr r1, [r1] lsrs r0, 22 @@ -2862,7 +2862,7 @@ sub_805E990: @ 805E990 lsrs r0, 24 cmp r0, 0x1 bne _0805EA08 - ldr r7, =gUnknown_020244D0 + ldr r7, =gBattleSpritesDataPtr ldr r0, [r7] ldr r2, [r0] lsls r4, r6, 2 @@ -2895,7 +2895,7 @@ _0805E9F6: b _0805EA5A .pool _0805EA08: - ldr r4, =gUnknown_020244D0 + ldr r4, =gBattleSpritesDataPtr ldr r0, [r4] ldr r0, [r0] lsls r1, r6, 2 @@ -2944,7 +2944,7 @@ BattleMusicStop: @ 805EA60 bl GetBankByIdentity lsls r0, 24 lsrs r4, r0, 24 - ldr r5, =gUnknown_020244D0 + ldr r5, =gBattleSpritesDataPtr ldr r0, [r5] ldr r0, [r0] lsls r1, r4, 2 @@ -3134,7 +3134,7 @@ _0805EBC8: mov r7, r8 cmp r7, 0 bne _0805EC3C - ldr r0, =gUnknown_020244D0 + ldr r0, =gBattleSpritesDataPtr ldr r0, [r0] ldr r2, [r0, 0x4] adds r2, r6, r2 @@ -3164,7 +3164,7 @@ _0805EC3C: adds r2, r0 lsls r2, 2 adds r2, r4 - ldr r0, =gUnknown_020244D0 + ldr r0, =gBattleSpritesDataPtr ldr r0, [r0] ldr r0, [r0, 0x4] adds r0, r6, r0 @@ -3229,7 +3229,7 @@ sub_805EC84: @ 805EC84 adds r1, r4, 0 movs r3, 0xC8 bl CreateSprite - ldr r6, =gUnknown_020244D0 + ldr r6, =gBattleSpritesDataPtr ldr r1, [r6] ldr r2, [r1, 0x4] lsls r1, r5, 1 @@ -3351,12 +3351,12 @@ _0805EDC0: _0805EDD2: movs r0, 0x1 mov r8, r0 - ldr r2, =gUnknown_020244D0 + ldr r2, =gBattleSpritesDataPtr lsls r4, 2 b _0805EE06 .pool _0805EDE4: - ldr r2, =gUnknown_020244D0 + ldr r2, =gBattleSpritesDataPtr ldr r0, [r2] ldr r0, [r0] lsls r1, r4, 2 @@ -3431,7 +3431,7 @@ sub_805EE54: @ 805EE54 lsls r0, 24 cmp r0, 0 beq _0805EED0 - ldr r0, =gUnknown_020244D0 + ldr r0, =gBattleSpritesDataPtr ldr r3, [r0] ldr r1, [r3] lsls r0, r4, 2 @@ -3489,7 +3489,7 @@ sub_805EEE0: @ 805EEE0 lsls r0, 24 lsrs r0, 24 ldr r2, =gSprites - ldr r1, =gUnknown_020244D0 + ldr r1, =gBattleSpritesDataPtr ldr r1, [r1] ldr r3, [r1, 0x4] lsls r1, r0, 1 @@ -3578,7 +3578,7 @@ sub_805EF84: @ 805EF84 lsls r0, 24 lsrs r4, r0, 24 lsls r1, 24 - ldr r0, =gUnknown_020244D0 + ldr r0, =gBattleSpritesDataPtr ldr r0, [r0] ldr r2, [r0] lsls r0, r4, 2 @@ -3708,8 +3708,8 @@ _0805F01A: .pool thumb_func_end AllocateMonSpritesGfx - thumb_func_start sub_805F094 -sub_805F094: @ 805F094 + thumb_func_start FreeMonSpritesGfx +FreeMonSpritesGfx: @ 805F094 push {r4-r6,lr} ldr r6, =gMonSpritesGfxPtr ldr r0, [r6] @@ -3769,7 +3769,7 @@ _0805F106: pop {r0} bx r0 .pool - thumb_func_end sub_805F094 + thumb_func_end FreeMonSpritesGfx thumb_func_start sub_805F110 sub_805F110: @ 805F110 diff --git a/asm/battle_anim.s b/asm/battle_anim.s index b9ab95165..975a7a401 100644 --- a/asm/battle_anim.s +++ b/asm/battle_anim.s @@ -1150,7 +1150,7 @@ _080A4330: lsls r0, 24 cmp r0, 0 bne _080A4374 - ldr r0, =gUnknown_020244D0 + ldr r0, =gBattleSpritesDataPtr ldr r0, [r0] ldr r1, [r0] lsls r0, r5, 2 @@ -2864,7 +2864,7 @@ BattleAnimGetPanControl: @ 80A5178 lsls r0, 24 cmp r0, 0 bne _080A51C0 - ldr r0, =gUnknown_020244D0 + ldr r0, =gBattleSpritesDataPtr ldr r1, [r0] ldr r0, =gAnimationBankAttacker ldrb r2, [r0] @@ -2986,7 +2986,7 @@ sub_80A5278: @ 80A5278 lsls r0, 24 cmp r0, 0 bne _080A52C0 - ldr r0, =gUnknown_020244D0 + ldr r0, =gBattleSpritesDataPtr ldr r1, [r0] ldr r0, =gAnimationBankAttacker ldrb r2, [r0] diff --git a/asm/battle_anim_80A9C70.s b/asm/battle_anim_80A9C70.s index 16366988e..ca6572e1a 100644 --- a/asm/battle_anim_80A9C70.s +++ b/asm/battle_anim_80A9C70.s @@ -629,7 +629,7 @@ sub_80AA18C: @ 80AA18C lsls r0, 24 lsrs r4, r0, 24 movs r3, 0 - ldr r0, =gUnknown_020244D0 + ldr r0, =gBattleSpritesDataPtr ldr r0, [r0] ldr r0, [r0, 0x8] ldrh r0, [r0] @@ -899,7 +899,7 @@ task0A_80788BC: @ 80AA3B4 ldrb r0, [r0] cmp r0, 0 bne _080AA3F6 - ldr r0, =gUnknown_020244D0 + ldr r0, =gBattleSpritesDataPtr ldr r2, [r0] ldr r1, =gTasks lsls r0, r4, 2 diff --git a/asm/battle_anim_80FE840.s b/asm/battle_anim_80FE840.s index 5cec1cbc5..58eb2ebf0 100644 --- a/asm/battle_anim_80FE840.s +++ b/asm/battle_anim_80FE840.s @@ -38602,7 +38602,7 @@ _08111F0C: adds r2, r0 lsls r2, 2 adds r2, r4 - ldr r0, =gUnknown_020244D0 + ldr r0, =gBattleSpritesDataPtr ldr r1, [r0] ldr r0, =gAnimationBankTarget ldrb r0, [r0] @@ -50163,7 +50163,7 @@ _08117F78: adds r3, r4 lsls r3, 3 adds r3, r0 - ldr r0, =gUnknown_020244D0 + ldr r0, =gBattleSpritesDataPtr ldr r4, [r0] ldr r2, =gAnimationBankAttacker ldrb r0, [r2] @@ -50207,7 +50207,7 @@ sub_8117FD0: @ 8117FD0 lsls r0, 5 cmp r1, r0 bne _08118014 - ldr r0, =gUnknown_020244D0 + ldr r0, =gBattleSpritesDataPtr ldr r1, [r0] ldr r0, =gAnimationBankAttacker ldrb r3, [r0] diff --git a/asm/battle_anim_815A0D4.s b/asm/battle_anim_815A0D4.s index 849655fe5..81e4f9163 100755 --- a/asm/battle_anim_815A0D4.s +++ b/asm/battle_anim_815A0D4.s @@ -3250,7 +3250,7 @@ _0815BAB6: cmp r0, 0 bne _0815BAF6 ldrb r0, [r4] - ldr r1, =gUnknown_020244D0 + ldr r1, =gBattleSpritesDataPtr ldr r1, [r1] ldr r2, [r1] lsls r1, r0, 2 @@ -5723,7 +5723,7 @@ _0815CF18: movs r1, 0x1 bl GetMonData mov r8, r0 - ldr r0, =gUnknown_020244D0 + ldr r0, =gBattleSpritesDataPtr ldr r0, [r0] ldrb r2, [r4] ldr r1, [r0] @@ -5791,7 +5791,7 @@ _0815CFC4: movs r1, 0x1 bl GetMonData mov r8, r0 - ldr r0, =gUnknown_020244D0 + ldr r0, =gBattleSpritesDataPtr ldr r0, [r0] ldrb r2, [r4] ldr r1, [r0] @@ -10637,7 +10637,7 @@ _0815F67C: adds r0, r2 movs r1, 0x2 strh r1, [r0, 0x8] - ldr r0, =gUnknown_020244D0 + ldr r0, =gBattleSpritesDataPtr ldr r1, [r0] ldr r0, =gAnimationBankTarget ldrb r0, [r0] @@ -10762,7 +10762,7 @@ sub_815F7C4: @ 815F7C4 ble _0815F80E movs r0, 0 strh r0, [r4, 0x30] - ldr r0, =gUnknown_020244D0 + ldr r0, =gBattleSpritesDataPtr ldr r1, [r0] ldr r0, =gAnimationBankTarget ldrb r0, [r0] @@ -11072,7 +11072,7 @@ _0815FA28: movs r1, 0x1 bl GetMonData mov r9, r0 - ldr r0, =gUnknown_020244D0 + ldr r0, =gBattleSpritesDataPtr ldr r0, [r0] ldrb r2, [r4] ldr r1, [r0] @@ -11136,7 +11136,7 @@ _0815FAC8: movs r1, 0x1 bl GetMonData mov r9, r0 - ldr r0, =gUnknown_020244D0 + ldr r0, =gBattleSpritesDataPtr ldr r0, [r0] ldrb r2, [r4] ldr r1, [r0] @@ -11202,7 +11202,7 @@ _0815FB50: bl sub_80A8394 lsls r0, 24 lsrs r5, r0, 24 - ldr r0, =gUnknown_020244D0 + ldr r0, =gBattleSpritesDataPtr ldr r1, [r0] ldrb r0, [r4] ldr r1, [r1] diff --git a/asm/battle_anim_8170478.s b/asm/battle_anim_8170478.s index cb6391cee..dd992a8cd 100644 --- a/asm/battle_anim_8170478.s +++ b/asm/battle_anim_8170478.s @@ -1035,7 +1035,7 @@ sub_8170D4C: @ 8170D4C push {lr} lsls r0, 24 lsrs r2, r0, 24 - ldr r0, =gUnknown_020244D0 + ldr r0, =gBattleSpritesDataPtr ldr r0, [r0] ldr r0, [r0, 0x8] ldrb r0, [r0, 0x8] @@ -1183,7 +1183,7 @@ sub_8170E04: @ 8170E04 adds r4, r0 ldr r0, =sub_8171104 str r0, [r4] - ldr r0, =gUnknown_020244D0 + ldr r0, =gBattleSpritesDataPtr ldr r0, [r0] ldr r3, [r0, 0x8] ldr r1, =gBankSpriteIds @@ -1491,7 +1491,7 @@ sub_8171134: @ 8171134 lsls r0, 24 cmp r0, 0 beq _081711D2 - ldr r0, =gUnknown_020244D0 + ldr r0, =gBattleSpritesDataPtr ldr r0, [r0] ldr r0, [r0, 0x8] ldrb r0, [r0, 0x8] @@ -1894,7 +1894,7 @@ _08171486: adds r0, r1 strh r0, [r4, 0x22] strh r5, [r4, 0x26] - ldr r0, =gUnknown_020244D0 + ldr r0, =gBattleSpritesDataPtr ldr r0, [r0] ldr r0, [r0, 0x8] ldrb r0, [r0, 0x8] @@ -1940,7 +1940,7 @@ sub_81714D4: @ 81714D4 adds r0, r4, 0 movs r1, 0x1 bl StartSpriteAffineAnim - ldr r0, =gUnknown_020244D0 + ldr r0, =gBattleSpritesDataPtr ldr r0, [r0] ldr r0, [r0, 0x8] strh r5, [r0, 0xC] @@ -1982,7 +1982,7 @@ _08171540: .4byte _08171708 .4byte _08171768 _0817155C: - ldr r1, =gUnknown_020244D0 + ldr r1, =gBattleSpritesDataPtr ldr r5, [r1] ldr r2, [r5, 0x8] ldrh r3, [r2, 0xC] @@ -2060,7 +2060,7 @@ _081715EA: bl ChangeSpriteAffineAnim b _081717AE _081715F4: - ldr r1, =gUnknown_020244D0 + ldr r1, =gBattleSpritesDataPtr ldr r5, [r1] ldr r2, [r5, 0x8] ldrh r3, [r2, 0xC] @@ -2152,7 +2152,7 @@ _0817169C: movs r1, 0x1 bl ChangeSpriteAffineAnim _081716A4: - ldr r1, =gUnknown_020244D0 + ldr r1, =gBattleSpritesDataPtr ldr r5, [r1] ldr r2, [r5, 0x8] ldrh r3, [r2, 0xC] @@ -2211,7 +2211,7 @@ _08171708: strh r0, [r4, 0x34] lsls r0, 16 asrs r1, r0, 24 - ldr r0, =gUnknown_020244D0 + ldr r0, =gBattleSpritesDataPtr ldr r0, [r0] ldr r0, [r0, 0x8] ldrb r0, [r0, 0x8] @@ -2859,7 +2859,7 @@ _08171C24: adds r2, r0 lsls r2, 2 adds r2, r4 - ldr r0, =gUnknown_020244D0 + ldr r0, =gBattleSpritesDataPtr ldr r0, [r0] ldr r0, [r0, 0x8] ldrb r1, [r0, 0x9] @@ -3083,7 +3083,7 @@ sub_8171E20: @ 8171E20 ands r0, r1 cmp r0, 0 beq _08171E3E - ldr r0, =gUnknown_020244D0 + ldr r0, =gBattleSpritesDataPtr ldr r0, [r0] ldr r1, [r0, 0x8] ldrb r0, [r1, 0xA] @@ -4419,7 +4419,7 @@ sub_8172944: @ 8172944 b _081729E2 .pool _08172970: - ldr r2, =gUnknown_020244D0 + ldr r2, =gBattleSpritesDataPtr ldr r0, [r2] ldr r1, [r0, 0x8] ldrb r0, [r1, 0xA] @@ -5046,7 +5046,7 @@ sub_8172E9C: @ 8172E9C lsls r0, 24 lsrs r0, 24 ldr r3, =gBattleAnimArgs - ldr r1, =gUnknown_020244D0 + ldr r1, =gBattleSpritesDataPtr ldr r2, [r1] ldr r1, =gAnimationBankAttacker ldrb r1, [r1] @@ -5088,7 +5088,7 @@ sub_8172EF0: @ 8172EF0 lsrs r6, r0, 24 movs r0, 0 mov r8, r0 - ldr r0, =gUnknown_020244D0 + ldr r0, =gBattleSpritesDataPtr ldr r0, [r0] ldr r1, [r0, 0x4] lsls r0, r6, 1 @@ -5169,7 +5169,7 @@ _08172F6E: b _08172FDE .pool _08172FC8: - ldr r0, =gUnknown_020244D0 + ldr r0, =gBattleSpritesDataPtr ldr r0, [r0] ldr r1, [r0, 0x4] lsls r0, r6, 1 @@ -5212,7 +5212,7 @@ sub_8172FEC: @ 8172FEC b _08173190 .pool _08173018: - ldr r0, =gUnknown_020244D0 + ldr r0, =gBattleSpritesDataPtr ldr r0, [r0] ldr r0, [r0, 0x8] ldrb r0, [r0, 0xA] @@ -5414,7 +5414,7 @@ sub_81731B0: @ 81731B0 cmp r0, 0x1 bne _081731EA ldrb r1, [r1, 0x8] - ldr r0, =gUnknown_020244D0 + ldr r0, =gBattleSpritesDataPtr ldr r0, [r0] ldr r2, [r0, 0x4] lsls r0, r1, 1 @@ -5762,7 +5762,7 @@ sub_81734B4: @ 81734B4 push {lr} lsls r0, 24 lsrs r2, r0, 24 - ldr r0, =gUnknown_020244D0 + ldr r0, =gBattleSpritesDataPtr ldr r0, [r0] ldr r0, [r0, 0x8] ldrh r1, [r0] @@ -5813,7 +5813,7 @@ sub_817351C: @ 817351C lsls r0, 24 lsrs r0, 24 ldr r3, =gAnimationBankAttacker - ldr r1, =gUnknown_020244D0 + ldr r1, =gBattleSpritesDataPtr ldr r2, [r1] ldr r1, [r2, 0x8] ldrh r1, [r1] diff --git a/asm/battle_controller_linkopponent.s b/asm/battle_controller_linkopponent.s index a7168623c..58f3b95b7 100644 --- a/asm/battle_controller_linkopponent.s +++ b/asm/battle_controller_linkopponent.s @@ -158,7 +158,7 @@ _080644C2: thumb_func_start sub_80644D8 sub_80644D8: @ 80644D8 push {r4,lr} - ldr r4, =gUnknown_020244D0 + ldr r4, =gBattleSpritesDataPtr ldr r1, [r4] ldr r3, =gActiveBank ldrb r0, [r3] @@ -281,7 +281,7 @@ _080645CA: cmp r0, 0 bne _0806469C _080645DE: - ldr r1, =gUnknown_020244D0 + ldr r1, =gBattleSpritesDataPtr mov r12, r1 ldr r0, [r1] ldr r7, =gActiveBank @@ -364,7 +364,7 @@ _08064600: b _080646F2 .pool _0806469C: - ldr r3, =gUnknown_020244D0 + ldr r3, =gBattleSpritesDataPtr ldr r0, [r3] ldrb r1, [r7] ldr r2, [r0, 0x4] @@ -405,7 +405,7 @@ _0806469C: adds r0, r4, 0 bl FreeSpritePaletteByTag _080646F2: - ldr r0, =gUnknown_020244D0 + ldr r0, =gBattleSpritesDataPtr ldr r0, [r0] ldr r3, =gActiveBank ldrb r1, [r3] @@ -440,7 +440,7 @@ sub_8064734: @ 8064734 push {r5-r7} movs r0, 0 mov r10, r0 - ldr r5, =gUnknown_020244D0 + ldr r5, =gBattleSpritesDataPtr ldr r0, [r5] ldr r4, =gActiveBank ldrb r2, [r4] @@ -497,7 +497,7 @@ _08064776: adds r0, r3, 0 bl sub_8172EF0 _080647B4: - ldr r3, =gUnknown_020244D0 + ldr r3, =gBattleSpritesDataPtr ldr r0, [r3] ldr r2, =gActiveBank ldrb r5, [r2] @@ -591,7 +591,7 @@ _0806484A: ldrb r0, [r0] bl sub_80729D0 _0806487A: - ldr r4, =gUnknown_020244D0 + ldr r4, =gBattleSpritesDataPtr ldr r0, [r4] ldr r3, =gActiveBank ldrb r1, [r3] @@ -673,7 +673,7 @@ _08064930: lsls r2, 1 bl m4aMPlayVolumeControl _0806493C: - ldr r0, =gUnknown_020244D0 + ldr r0, =gBattleSpritesDataPtr ldr r2, [r0] ldr r0, =gActiveBank ldrb r1, [r0] @@ -735,7 +735,7 @@ _08064998: lsrs r0, 24 cmp r0, 0x3 bne _080649E2 - ldr r3, =gUnknown_020244D0 + ldr r3, =gBattleSpritesDataPtr ldr r0, [r3] ldrb r2, [r5] ldr r0, [r0, 0x4] @@ -828,7 +828,7 @@ _08064A3A: lsrs r1, 16 adds r0, r5, 0 bl sub_805EE54 - ldr r3, =gUnknown_020244D0 + ldr r3, =gBattleSpritesDataPtr ldr r0, [r3] ldr r2, [r0, 0x8] ldrb r1, [r2, 0x9] @@ -900,7 +900,7 @@ sub_8064B04: @ 8064B04 ldrsh r0, [r0, r1] cmp r0, 0 bne _08064BB6 - ldr r6, =gUnknown_020244D0 + ldr r6, =gBattleSpritesDataPtr ldr r0, [r6] ldr r1, [r0, 0x4] lsls r4, r3, 1 @@ -1028,7 +1028,7 @@ _08064C42: thumb_func_start sub_8064C58 sub_8064C58: @ 8064C58 push {r4-r6,lr} - ldr r0, =gUnknown_020244D0 + ldr r0, =gBattleSpritesDataPtr ldr r0, [r0] ldr r6, =gActiveBank ldrb r2, [r6] @@ -1166,7 +1166,7 @@ sub_8064D60: @ 8064D60 ldr r0, =SpriteCallbackDummy cmp r1, r0 bne _08064DAC - ldr r0, =gUnknown_020244D0 + ldr r0, =gBattleSpritesDataPtr ldr r0, [r0] ldr r1, [r0] lsls r0, r3, 2 @@ -1198,7 +1198,7 @@ _08064DAC: thumb_func_start sub_8064DD0 sub_8064DD0: @ 8064DD0 push {r4,lr} - ldr r0, =gUnknown_020244D0 + ldr r0, =gBattleSpritesDataPtr ldr r0, [r0] ldr r4, =gActiveBank ldrb r1, [r4] @@ -1250,7 +1250,7 @@ _08064E2A: thumb_func_start sub_8064E50 sub_8064E50: @ 8064E50 push {r4-r7,lr} - ldr r4, =gUnknown_020244D0 + ldr r4, =gBattleSpritesDataPtr ldr r0, [r4] ldr r5, =gActiveBank ldrb r2, [r5] @@ -1346,7 +1346,7 @@ _08064F0C: thumb_func_start sub_8064F40 sub_8064F40: @ 8064F40 push {r4-r6,lr} - ldr r6, =gUnknown_020244D0 + ldr r6, =gBattleSpritesDataPtr ldr r0, [r6] ldr r5, =gActiveBank ldrb r2, [r5] @@ -1430,7 +1430,7 @@ _08064FDC: thumb_func_start sub_8065008 sub_8065008: @ 8065008 push {lr} - ldr r0, =gUnknown_020244D0 + ldr r0, =gBattleSpritesDataPtr ldr r2, [r0] ldr r0, =gActiveBank ldrb r1, [r0] @@ -1454,7 +1454,7 @@ _0806502A: thumb_func_start sub_8065038 sub_8065038: @ 8065038 push {lr} - ldr r0, =gUnknown_020244D0 + ldr r0, =gBattleSpritesDataPtr ldr r2, [r0] ldr r0, =gActiveBank ldrb r1, [r0] @@ -3907,7 +3907,7 @@ sub_8066624: @ 8066624 ldrb r3, [r0] cmp r3, 0 bne _0806666C - ldr r0, =gUnknown_020244D0 + ldr r0, =gBattleSpritesDataPtr ldr r0, [r0] ldr r1, [r0, 0x4] lsls r0, r2, 1 @@ -3959,7 +3959,7 @@ _080666A8: thumb_func_start sub_80666BC sub_80666BC: @ 80666BC push {r4-r6,lr} - ldr r6, =gUnknown_020244D0 + ldr r6, =gBattleSpritesDataPtr ldr r4, [r6] ldr r5, =gActiveBank ldrb r2, [r5] @@ -4589,7 +4589,7 @@ sub_8066B94: @ 8066B94 thumb_func_start sub_8066C40 sub_8066C40: @ 8066C40 push {r4-r6,lr} - ldr r6, =gUnknown_020244D0 + ldr r6, =gBattleSpritesDataPtr ldr r4, [r6] ldr r5, =gActiveBank ldrb r2, [r5] @@ -4816,7 +4816,7 @@ _08066D32: b _08066E58 .pool _08066E30: - ldr r0, =gUnknown_020244D0 + ldr r0, =gBattleSpritesDataPtr ldr r0, [r0] ldrb r1, [r5] ldr r2, [r0, 0x4] @@ -4869,7 +4869,7 @@ sub_8066E70: @ 8066E70 adds r1, r2 ldrb r1, [r1] mov r8, r1 - ldr r7, =gUnknown_020244D0 + ldr r7, =gBattleSpritesDataPtr ldr r5, [r7] ldr r1, [r5, 0x4] lsls r0, r3, 1 @@ -4977,7 +4977,7 @@ _08066F32: ands r0, r2 strb r0, [r1] _08066F80: - ldr r0, =gUnknown_020244D0 + ldr r0, =gBattleSpritesDataPtr ldr r2, [r0] ldr r0, =gActiveBank ldrb r1, [r0] @@ -5244,7 +5244,7 @@ sub_806719C: @ 806719C movs r2, 0x9 bl healthbar_draw_field_maybe ldrb r2, [r4] - ldr r0, =gUnknown_020244D0 + ldr r0, =gBattleSpritesDataPtr ldr r0, [r0] ldr r0, [r0, 0x4] lsls r1, r2, 1 @@ -5718,7 +5718,7 @@ sub_8067508: @ 8067508 adds r1, r4 ldrb r0, [r6] strh r0, [r1, 0x8] - ldr r3, =gUnknown_020244D0 + ldr r3, =gBattleSpritesDataPtr ldr r0, [r3] ldrb r2, [r6] ldr r1, [r0, 0x4] @@ -5893,7 +5893,7 @@ sub_8067718: @ 8067718 b _08067812 .pool _08067748: - ldr r4, =gUnknown_020244D0 + ldr r4, =gBattleSpritesDataPtr ldr r0, [r4] ldr r3, =gActiveBank ldrb r1, [r3] @@ -5960,7 +5960,7 @@ _080677B4: adds r1, r2 movs r3, 0 strb r0, [r1] - ldr r6, =gUnknown_020244D0 + ldr r6, =gBattleSpritesDataPtr ldr r0, [r6] ldrb r1, [r5] ldr r2, [r0, 0x4] @@ -6000,7 +6000,7 @@ _08067812: thumb_func_start sub_806782C sub_806782C: @ 806782C push {r4,lr} - ldr r4, =gUnknown_020244D0 + ldr r4, =gBattleSpritesDataPtr ldr r0, [r4] ldr r3, =gActiveBank ldrb r1, [r3] @@ -6036,7 +6036,7 @@ _08067864: thumb_func_start sub_8067874 sub_8067874: @ 8067874 push {lr} - ldr r0, =gUnknown_020244D0 + ldr r0, =gBattleSpritesDataPtr ldr r1, [r0] ldr r0, =gActiveBank ldrb r3, [r0] diff --git a/asm/battle_controller_linkpartner.s b/asm/battle_controller_linkpartner.s index 5b0ac0491..562b236d0 100644 --- a/asm/battle_controller_linkpartner.s +++ b/asm/battle_controller_linkpartner.s @@ -131,7 +131,7 @@ _0814AFA4: thumb_func_start sub_814AFBC sub_814AFBC: @ 814AFBC push {r4,lr} - ldr r4, =gUnknown_020244D0 + ldr r4, =gBattleSpritesDataPtr ldr r1, [r4] ldr r3, =gActiveBank ldrb r0, [r3] @@ -239,7 +239,7 @@ _0814B094: _0814B0A0: cmp r6, 0 beq _0814B0C6 - ldr r0, =gUnknown_020244D0 + ldr r0, =gBattleSpritesDataPtr ldr r0, [r0] ldr r3, =gActiveBank ldrb r1, [r3] @@ -270,7 +270,7 @@ sub_814B0E8: @ 814B0E8 mov r6, r9 mov r5, r8 push {r5-r7} - ldr r0, =gUnknown_020244D0 + ldr r0, =gBattleSpritesDataPtr mov r12, r0 ldr r0, [r0] ldr r7, =gActiveBank @@ -426,7 +426,7 @@ _0814B1F0: adds r0, r5 ldrb r0, [r0] bl sub_80729D0 - ldr r0, =gUnknown_020244D0 + ldr r0, =gBattleSpritesDataPtr ldr r0, [r0] ldr r2, [r0, 0x8] ldrb r1, [r2, 0x9] @@ -599,7 +599,7 @@ _0814B3BC: thumb_func_start sub_814B3DC sub_814B3DC: @ 814B3DC push {r4-r6,lr} - ldr r0, =gUnknown_020244D0 + ldr r0, =gBattleSpritesDataPtr ldr r0, [r0] ldr r6, =gActiveBank ldrb r2, [r6] @@ -737,7 +737,7 @@ sub_814B4E0: @ 814B4E0 bne _0814B532 adds r0, r3, 0 bl sub_805E408 - ldr r0, =gUnknown_020244D0 + ldr r0, =gBattleSpritesDataPtr ldr r0, [r0] ldrb r2, [r4] ldr r1, [r0] @@ -769,7 +769,7 @@ _0814B532: thumb_func_start sub_814B554 sub_814B554: @ 814B554 push {lr} - ldr r0, =gUnknown_020244D0 + ldr r0, =gBattleSpritesDataPtr ldr r1, [r0] ldr r0, =gActiveBank ldrb r3, [r0] @@ -808,7 +808,7 @@ sub_814B5A8: @ 814B5A8 push {r4-r7,lr} mov r7, r8 push {r7} - ldr r3, =gUnknown_020244D0 + ldr r3, =gBattleSpritesDataPtr ldr r0, [r3] ldr r7, =gActiveBank ldrb r1, [r7] @@ -903,7 +903,7 @@ _0814B664: thumb_func_start sub_814B69C sub_814B69C: @ 814B69C push {r4-r6,lr} - ldr r6, =gUnknown_020244D0 + ldr r6, =gBattleSpritesDataPtr ldr r0, [r6] ldr r4, =gActiveBank ldrb r2, [r4] @@ -1021,7 +1021,7 @@ _0814B7A6: thumb_func_start sub_814B7B8 sub_814B7B8: @ 814B7B8 push {lr} - ldr r0, =gUnknown_020244D0 + ldr r0, =gBattleSpritesDataPtr ldr r2, [r0] ldr r0, =gActiveBank ldrb r1, [r0] @@ -1045,7 +1045,7 @@ _0814B7DA: thumb_func_start sub_814B7E8 sub_814B7E8: @ 814B7E8 push {lr} - ldr r0, =gUnknown_020244D0 + ldr r0, =gBattleSpritesDataPtr ldr r2, [r0] ldr r0, =gActiveBank ldrb r1, [r0] @@ -3476,7 +3476,7 @@ sub_814CE14: @ 814CE14 ldrb r3, [r0] cmp r3, 0 bne _0814CE5C - ldr r0, =gUnknown_020244D0 + ldr r0, =gBattleSpritesDataPtr ldr r0, [r0] ldr r1, [r0, 0x4] lsls r0, r2, 1 @@ -3526,7 +3526,7 @@ _0814CE92: thumb_func_start sub_814CEA4 sub_814CEA4: @ 814CEA4 push {r4-r6,lr} - ldr r6, =gUnknown_020244D0 + ldr r6, =gBattleSpritesDataPtr ldr r4, [r6] ldr r5, =gActiveBank ldrb r2, [r5] @@ -3870,7 +3870,7 @@ sub_814D0F0: @ 814D0F0 thumb_func_start sub_814D19C sub_814D19C: @ 814D19C push {r4-r6,lr} - ldr r6, =gUnknown_020244D0 + ldr r6, =gBattleSpritesDataPtr ldr r4, [r6] ldr r5, =gActiveBank ldrb r2, [r5] @@ -4125,7 +4125,7 @@ _0814D2CE: b _0814D3F4 .pool _0814D3CC: - ldr r0, =gUnknown_020244D0 + ldr r0, =gBattleSpritesDataPtr ldr r0, [r0] ldrb r1, [r5] ldr r2, [r0, 0x4] @@ -4178,7 +4178,7 @@ bx_move_anim_4: @ 814D40C adds r1, r2 ldrb r1, [r1] mov r8, r1 - ldr r7, =gUnknown_020244D0 + ldr r7, =gBattleSpritesDataPtr ldr r5, [r7] ldr r1, [r5, 0x4] lsls r0, r3, 1 @@ -4286,7 +4286,7 @@ _0814D4CE: ands r0, r2 strb r0, [r1] _0814D51C: - ldr r0, =gUnknown_020244D0 + ldr r0, =gBattleSpritesDataPtr ldr r2, [r0] ldr r0, =gActiveBank ldrb r1, [r0] @@ -4553,7 +4553,7 @@ sub_814D738: @ 814D738 movs r2, 0x9 bl healthbar_draw_field_maybe ldrb r2, [r4] - ldr r0, =gUnknown_020244D0 + ldr r0, =gBattleSpritesDataPtr ldr r0, [r0] ldr r0, [r0, 0x4] lsls r1, r2, 1 @@ -5147,7 +5147,7 @@ _0814DC06: adds r1, r4 ldrb r0, [r5] strh r0, [r1, 0x8] - ldr r3, =gUnknown_020244D0 + ldr r3, =gBattleSpritesDataPtr ldr r0, [r3] ldrb r2, [r5] ldr r1, [r0, 0x4] @@ -5326,7 +5326,7 @@ sub_814DDD8: @ 814DDD8 b _0814DE7C .pool _0814DE08: - ldr r6, =gUnknown_020244D0 + ldr r6, =gBattleSpritesDataPtr ldr r0, [r6] ldr r5, =gActiveBank ldrb r1, [r5] @@ -5394,7 +5394,7 @@ _0814DE7C: thumb_func_start sub_814DE9C sub_814DE9C: @ 814DE9C push {r4,lr} - ldr r4, =gUnknown_020244D0 + ldr r4, =gBattleSpritesDataPtr ldr r0, [r4] ldr r3, =gActiveBank ldrb r1, [r3] @@ -5430,7 +5430,7 @@ _0814DED4: thumb_func_start sub_814DEE4 sub_814DEE4: @ 814DEE4 push {lr} - ldr r0, =gUnknown_020244D0 + ldr r0, =gBattleSpritesDataPtr ldr r1, [r0] ldr r0, =gActiveBank ldrb r3, [r0] diff --git a/asm/battle_controller_opponent.s b/asm/battle_controller_opponent.s index f54896ca7..066a0ceab 100644 --- a/asm/battle_controller_opponent.s +++ b/asm/battle_controller_opponent.s @@ -158,7 +158,7 @@ _0805F292: thumb_func_start sub_805F2A8 sub_805F2A8: @ 805F2A8 push {r4,lr} - ldr r4, =gUnknown_020244D0 + ldr r4, =gBattleSpritesDataPtr ldr r1, [r4] ldr r3, =gActiveBank ldrb r0, [r3] @@ -277,7 +277,7 @@ _0805F3A0: movs r6, 0x1 _0805F3A2: ldr r3, =gUnknown_020244D8 - ldr r1, =gUnknown_020244D0 + ldr r1, =gBattleSpritesDataPtr mov r8, r1 ldr r2, [r1] ldr r7, =gActiveBank @@ -449,7 +449,7 @@ _0805F4E4: ands r0, r2 strb r0, [r1, 0x1] _0805F51A: - ldr r0, =gUnknown_020244D0 + ldr r0, =gBattleSpritesDataPtr ldr r0, [r0] ldr r3, =gActiveBank ldrb r1, [r3] @@ -488,7 +488,7 @@ sub_805F560: @ 805F560 movs r0, 0 str r0, [sp] mov r10, r0 - ldr r5, =gUnknown_020244D0 + ldr r5, =gBattleSpritesDataPtr ldr r0, [r5] ldr r4, =gActiveBank ldrb r2, [r4] @@ -549,7 +549,7 @@ _0805F5A6: adds r0, r3, 0 bl sub_8172EF0 _0805F5EE: - ldr r2, =gUnknown_020244D0 + ldr r2, =gBattleSpritesDataPtr ldr r0, [r2] ldr r1, =gActiveBank mov r8, r1 @@ -643,7 +643,7 @@ _0805F684: ldrb r0, [r0] bl sub_80729D0 _0805F6B4: - ldr r3, =gUnknown_020244D0 + ldr r3, =gBattleSpritesDataPtr ldr r2, [r3] ldr r0, =gActiveBank ldrb r1, [r0] @@ -723,7 +723,7 @@ _0805F768: lsls r2, 1 bl m4aMPlayVolumeControl _0805F774: - ldr r0, =gUnknown_020244D0 + ldr r0, =gBattleSpritesDataPtr ldr r2, [r0] ldr r0, =gActiveBank ldrb r1, [r0] @@ -906,7 +906,7 @@ _0805F8D2: lsrs r1, 16 adds r0, r5, 0 bl sub_805EE54 - ldr r3, =gUnknown_020244D0 + ldr r3, =gBattleSpritesDataPtr ldr r0, [r3] ldr r2, [r0, 0x8] ldrb r1, [r2, 0x9] @@ -972,7 +972,7 @@ sub_805F994: @ 805F994 ldrsh r0, [r0, r1] cmp r0, 0 bne _0805F9E0 - ldr r0, =gUnknown_020244D0 + ldr r0, =gBattleSpritesDataPtr ldr r0, [r0] ldr r1, [r0, 0x4] lsls r2, r3, 1 @@ -1010,7 +1010,7 @@ _0805F9E0: ldr r0, =SpriteCallbackDummy cmp r1, r0 bne _0805FA48 - ldr r4, =gUnknown_020244D0 + ldr r4, =gBattleSpritesDataPtr ldr r0, [r4] ldr r1, [r0, 0x4] lsls r0, r3, 1 @@ -1122,7 +1122,7 @@ _0805FAF2: thumb_func_start sub_805FB08 sub_805FB08: @ 805FB08 push {r4-r6,lr} - ldr r0, =gUnknown_020244D0 + ldr r0, =gBattleSpritesDataPtr ldr r0, [r0] ldr r6, =gActiveBank ldrb r2, [r6] @@ -1260,7 +1260,7 @@ sub_805FC10: @ 805FC10 ldr r0, =SpriteCallbackDummy cmp r1, r0 bne _0805FC5C - ldr r0, =gUnknown_020244D0 + ldr r0, =gBattleSpritesDataPtr ldr r0, [r0] ldr r1, [r0] lsls r0, r3, 2 @@ -1292,7 +1292,7 @@ _0805FC5C: thumb_func_start bx_803AEDC bx_803AEDC: @ 805FC80 push {r4,lr} - ldr r0, =gUnknown_020244D0 + ldr r0, =gBattleSpritesDataPtr ldr r0, [r0] ldr r4, =gActiveBank ldrb r1, [r4] @@ -1344,7 +1344,7 @@ _0805FCDA: thumb_func_start sub_805FD00 sub_805FD00: @ 805FD00 push {r4-r7,lr} - ldr r4, =gUnknown_020244D0 + ldr r4, =gBattleSpritesDataPtr ldr r0, [r4] ldr r5, =gActiveBank ldrb r2, [r5] @@ -1440,7 +1440,7 @@ _0805FDBC: thumb_func_start sub_805FDF0 sub_805FDF0: @ 805FDF0 push {r4-r6,lr} - ldr r6, =gUnknown_020244D0 + ldr r6, =gBattleSpritesDataPtr ldr r0, [r6] ldr r5, =gActiveBank ldrb r2, [r5] @@ -1524,7 +1524,7 @@ _0805FE8C: thumb_func_start sub_805FEB8 sub_805FEB8: @ 805FEB8 push {lr} - ldr r0, =gUnknown_020244D0 + ldr r0, =gBattleSpritesDataPtr ldr r2, [r0] ldr r0, =gActiveBank ldrb r1, [r0] @@ -1548,7 +1548,7 @@ _0805FEDA: thumb_func_start bx_803B0F4 bx_803B0F4: @ 805FEE8 push {lr} - ldr r0, =gUnknown_020244D0 + ldr r0, =gBattleSpritesDataPtr ldr r2, [r0] ldr r0, =gActiveBank ldrb r1, [r0] @@ -4069,7 +4069,7 @@ sub_806156C: @ 806156C ldrb r3, [r0] cmp r3, 0 bne _080615B4 - ldr r0, =gUnknown_020244D0 + ldr r0, =gBattleSpritesDataPtr ldr r0, [r0] ldr r1, [r0, 0x4] lsls r0, r2, 1 @@ -4121,7 +4121,7 @@ _080615F0: thumb_func_start sub_8061604 sub_8061604: @ 8061604 push {r4-r6,lr} - ldr r6, =gUnknown_020244D0 + ldr r6, =gBattleSpritesDataPtr ldr r4, [r6] ldr r5, =gActiveBank ldrb r2, [r5] @@ -4741,7 +4741,7 @@ sub_8061AF0: @ 8061AF0 thumb_func_start sub_8061B9C sub_8061B9C: @ 8061B9C push {r4-r6,lr} - ldr r6, =gUnknown_020244D0 + ldr r6, =gBattleSpritesDataPtr ldr r4, [r6] ldr r5, =gActiveBank ldrb r2, [r5] @@ -4962,7 +4962,7 @@ _08061C8A: b _08061D9E .pool _08061D80: - ldr r0, =gUnknown_020244D0 + ldr r0, =gBattleSpritesDataPtr ldr r0, [r0] ldrb r1, [r6] ldr r2, [r0, 0x4] @@ -5009,7 +5009,7 @@ bx_move_anim_7: @ 8061DB0 adds r1, r2 ldrb r1, [r1] mov r8, r1 - ldr r7, =gUnknown_020244D0 + ldr r7, =gBattleSpritesDataPtr ldr r5, [r7] ldr r1, [r5, 0x4] lsls r0, r3, 1 @@ -5117,7 +5117,7 @@ _08061E72: ands r0, r2 strb r0, [r1] _08061EC0: - ldr r0, =gUnknown_020244D0 + ldr r0, =gBattleSpritesDataPtr ldr r2, [r0] ldr r0, =gActiveBank ldrb r1, [r0] @@ -5694,7 +5694,7 @@ sub_8062390: @ 8062390 movs r2, 0x9 bl healthbar_draw_field_maybe ldrb r2, [r4] - ldr r0, =gUnknown_020244D0 + ldr r0, =gBattleSpritesDataPtr ldr r0, [r0] ldr r0, [r0, 0x4] lsls r1, r2, 1 @@ -6168,7 +6168,7 @@ sub_80626FC: @ 80626FC adds r1, r4 ldrb r0, [r6] strh r0, [r1, 0x8] - ldr r3, =gUnknown_020244D0 + ldr r3, =gBattleSpritesDataPtr ldr r0, [r3] ldrb r2, [r6] ldr r1, [r0, 0x4] @@ -6348,7 +6348,7 @@ dp01t_30_7_0803D67C: @ 8062918 b _08062A12 .pool _08062948: - ldr r4, =gUnknown_020244D0 + ldr r4, =gBattleSpritesDataPtr ldr r0, [r4] ldr r3, =gActiveBank ldrb r1, [r3] @@ -6415,7 +6415,7 @@ _080629B4: adds r1, r2 movs r3, 0 strb r0, [r1] - ldr r6, =gUnknown_020244D0 + ldr r6, =gBattleSpritesDataPtr ldr r0, [r6] ldrb r1, [r5] ldr r2, [r0, 0x4] @@ -6455,7 +6455,7 @@ _08062A12: thumb_func_start bx_0803D790_t7 bx_0803D790_t7: @ 8062A2C push {r4,lr} - ldr r4, =gUnknown_020244D0 + ldr r4, =gBattleSpritesDataPtr ldr r0, [r4] ldr r3, =gActiveBank ldrb r1, [r3] @@ -6491,7 +6491,7 @@ _08062A64: thumb_func_start sub_8062A74 sub_8062A74: @ 8062A74 push {lr} - ldr r0, =gUnknown_020244D0 + ldr r0, =gBattleSpritesDataPtr ldr r1, [r0] ldr r0, =gActiveBank ldrb r3, [r0] diff --git a/asm/battle_controller_player.s b/asm/battle_controller_player.s index b829296d8..b47a8ecdf 100644 --- a/asm/battle_controller_player.s +++ b/asm/battle_controller_player.s @@ -2344,7 +2344,7 @@ _08058908: thumb_func_start sub_8058924 sub_8058924: @ 8058924 push {r4,lr} - ldr r4, =gUnknown_020244D0 + ldr r4, =gBattleSpritesDataPtr ldr r1, [r4] ldr r3, =gActiveBank ldrb r0, [r3] @@ -2452,7 +2452,7 @@ _08058A0A: cmp r7, 0 beq _08058B08 _08058A0E: - ldr r0, =gUnknown_020244D0 + ldr r0, =gBattleSpritesDataPtr mov r9, r0 ldr r0, [r0] mov r6, r10 @@ -2593,7 +2593,7 @@ sub_8058B40: @ 8058B40 movs r0, 0 mov r9, r0 mov r8, r0 - ldr r4, =gUnknown_020244D0 + ldr r4, =gBattleSpritesDataPtr ldr r0, [r4] ldr r7, =gActiveBank ldrb r2, [r7] @@ -2729,7 +2729,7 @@ _08058C38: ldrb r0, [r0] bl sub_80729D0 _08058C68: - ldr r0, =gUnknown_020244D0 + ldr r0, =gBattleSpritesDataPtr ldr r2, [r0] ldr r0, =gActiveBank ldrb r1, [r0] @@ -2743,7 +2743,7 @@ _08058C68: orrs r1, r2 strb r1, [r0, 0x1] _08058C82: - ldr r5, =gUnknown_020244D0 + ldr r5, =gBattleSpritesDataPtr ldr r0, [r5] ldr r4, =gActiveBank ldrb r2, [r4] @@ -2801,7 +2801,7 @@ _08058D08: lsls r2, 1 bl m4aMPlayVolumeControl _08058D14: - ldr r0, =gUnknown_020244D0 + ldr r0, =gBattleSpritesDataPtr ldr r2, [r0] ldr r0, =gActiveBank ldrb r1, [r0] @@ -2950,7 +2950,7 @@ _08058E48: ldr r1, =gSprites adds r0, r1 bl DestroySprite - ldr r3, =gUnknown_020244D0 + ldr r3, =gBattleSpritesDataPtr ldr r0, [r3] ldr r2, [r0, 0x8] ldrb r1, [r2, 0x9] @@ -3015,7 +3015,7 @@ sub_8058EDC: @ 8058EDC ldr r0, =SpriteCallbackDummy cmp r4, r0 bne _08058F94 - ldr r5, =gUnknown_020244D0 + ldr r5, =gBattleSpritesDataPtr ldr r0, [r5] ldr r1, [r0, 0x4] lsls r0, r3, 1 @@ -3098,7 +3098,7 @@ _08058F94: thumb_func_start sub_8058FC0 sub_8058FC0: @ 8058FC0 push {r4,lr} - ldr r0, =gUnknown_020244D0 + ldr r0, =gBattleSpritesDataPtr ldr r0, [r0] ldr r4, =gActiveBank ldrb r1, [r4] @@ -3142,7 +3142,7 @@ _0805900E: thumb_func_start sub_805902C sub_805902C: @ 805902C push {r4-r6,lr} - ldr r6, =gUnknown_020244D0 + ldr r6, =gBattleSpritesDataPtr ldr r0, [r6] ldr r5, =gActiveBank ldrb r2, [r5] @@ -3774,7 +3774,7 @@ sub_80595A4: @ 80595A4 lsls r0, 3 adds r2, r0, r1 ldrb r5, [r2, 0xC] - ldr r0, =gUnknown_020244D0 + ldr r0, =gBattleSpritesDataPtr ldr r0, [r0] ldr r1, [r0, 0x4] lsls r0, r5, 1 @@ -3942,7 +3942,7 @@ _08059724: thumb_func_start sub_8059744 sub_8059744: @ 8059744 push {r4-r6,lr} - ldr r0, =gUnknown_020244D0 + ldr r0, =gBattleSpritesDataPtr ldr r0, [r0] ldr r6, =gActiveBank ldrb r2, [r6] @@ -4145,7 +4145,7 @@ bx_wait_t1: @ 805991C ldrb r0, [r0] cmp r0, 0 beq _08059942 - ldr r0, =gUnknown_020244D0 + ldr r0, =gBattleSpritesDataPtr ldr r2, [r0] ldr r0, =gActiveBank ldrb r1, [r0] @@ -4657,7 +4657,7 @@ sub_8059D50: @ 8059D50 thumb_func_start sub_8059D60 sub_8059D60: @ 8059D60 push {lr} - ldr r0, =gUnknown_020244D0 + ldr r0, =gBattleSpritesDataPtr ldr r2, [r0] ldr r0, =gActiveBank ldrb r1, [r0] @@ -4681,7 +4681,7 @@ _08059D82: thumb_func_start bx_8030B2C bx_8030B2C: @ 8059D90 push {lr} - ldr r0, =gUnknown_020244D0 + ldr r0, =gBattleSpritesDataPtr ldr r2, [r0] ldr r0, =gActiveBank ldrb r1, [r0] @@ -7124,7 +7124,7 @@ sub_805B3D4: @ 805B3D4 ldrb r3, [r0] cmp r3, 0 bne _0805B41C - ldr r0, =gUnknown_020244D0 + ldr r0, =gBattleSpritesDataPtr ldr r0, [r0] ldr r1, [r0, 0x4] lsls r0, r2, 1 @@ -7174,7 +7174,7 @@ _0805B452: thumb_func_start sub_805B464 sub_805B464: @ 805B464 push {r4-r6,lr} - ldr r6, =gUnknown_020244D0 + ldr r6, =gBattleSpritesDataPtr ldr r4, [r6] ldr r5, =gActiveBank ldrb r2, [r5] @@ -7890,7 +7890,7 @@ sub_805B9F8: @ 805B9F8 thumb_func_start sub_805BAB8 sub_805BAB8: @ 805BAB8 push {r4-r6,lr} - ldr r6, =gUnknown_020244D0 + ldr r6, =gBattleSpritesDataPtr ldr r4, [r6] ldr r5, =gActiveBank ldrb r2, [r5] @@ -8013,7 +8013,7 @@ sub_805BBA4: @ 805BBA4 thumb_func_start sub_805BBC4 sub_805BBC4: @ 805BBC4 push {r4,r5,lr} - ldr r0, =gUnknown_020244D0 + ldr r0, =gBattleSpritesDataPtr ldr r0, [r0] ldr r1, [r0, 0x8] movs r0, 0x4 @@ -8054,7 +8054,7 @@ sub_805BC18: @ 805BC18 adds r1, 0x1 adds r0, r1 ldrb r1, [r0] - ldr r0, =gUnknown_020244D0 + ldr r0, =gBattleSpritesDataPtr ldr r0, [r0] ldr r0, [r0, 0x8] strb r1, [r0, 0x8] @@ -8229,7 +8229,7 @@ _0805BCBE: b _0805BDE4 .pool _0805BDBC: - ldr r0, =gUnknown_020244D0 + ldr r0, =gBattleSpritesDataPtr ldr r0, [r0] ldrb r1, [r5] ldr r2, [r0, 0x4] @@ -8282,7 +8282,7 @@ bx_move_anim_1: @ 805BDFC adds r1, r2 ldrb r1, [r1] mov r8, r1 - ldr r7, =gUnknown_020244D0 + ldr r7, =gBattleSpritesDataPtr ldr r5, [r7] ldr r1, [r5, 0x4] lsls r0, r3, 1 @@ -8390,7 +8390,7 @@ _0805BEBE: ands r0, r2 strb r0, [r1] _0805BF0C: - ldr r0, =gUnknown_020244D0 + ldr r0, =gBattleSpritesDataPtr ldr r2, [r0] ldr r0, =gActiveBank ldrb r1, [r0] @@ -9132,7 +9132,7 @@ sub_805C5C4: @ 805C5C4 movs r2, 0x9 bl healthbar_draw_field_maybe ldrb r2, [r4] - ldr r0, =gUnknown_020244D0 + ldr r0, =gBattleSpritesDataPtr ldr r0, [r0] ldr r0, [r0, 0x4] lsls r1, r2, 1 @@ -9794,7 +9794,7 @@ dp01t_2F_1_pokemon_enter: @ 805CA80 adds r1, r4 ldrb r0, [r7] strh r0, [r1, 0x8] - ldr r3, =gUnknown_020244D0 + ldr r3, =gBattleSpritesDataPtr ldr r0, [r3] ldrb r2, [r7] ldr r1, [r0, 0x4] @@ -10015,7 +10015,7 @@ sub_805CD74: @ 805CD74 b _0805CE18 .pool _0805CDA4: - ldr r6, =gUnknown_020244D0 + ldr r6, =gBattleSpritesDataPtr ldr r0, [r6] ldr r5, =gActiveBank ldrb r1, [r5] @@ -10083,7 +10083,7 @@ _0805CE18: thumb_func_start sub_805CE38 sub_805CE38: @ 805CE38 push {r4,lr} - ldr r4, =gUnknown_020244D0 + ldr r4, =gBattleSpritesDataPtr ldr r0, [r4] ldr r3, =gActiveBank ldrb r1, [r3] @@ -10119,7 +10119,7 @@ _0805CE70: thumb_func_start sub_805CE80 sub_805CE80: @ 805CE80 push {lr} - ldr r0, =gUnknown_020244D0 + ldr r0, =gBattleSpritesDataPtr ldr r1, [r0] ldr r0, =gActiveBank ldrb r3, [r0] diff --git a/asm/battle_controller_player_partner.s b/asm/battle_controller_player_partner.s index 185b8d5ca..c0ea9b87f 100644 --- a/asm/battle_controller_player_partner.s +++ b/asm/battle_controller_player_partner.s @@ -132,7 +132,7 @@ _081BAEE8: thumb_func_start sub_81BAF00 sub_81BAF00: @ 81BAF00 push {r4,lr} - ldr r4, =gUnknown_020244D0 + ldr r4, =gBattleSpritesDataPtr ldr r1, [r4] ldr r3, =gActiveBank ldrb r0, [r3] @@ -240,7 +240,7 @@ _081BAFD8: _081BAFE4: cmp r6, 0 beq _081BB00A - ldr r0, =gUnknown_020244D0 + ldr r0, =gBattleSpritesDataPtr ldr r0, [r0] ldr r3, =gActiveBank ldrb r1, [r3] @@ -271,7 +271,7 @@ sub_81BB02C: @ 81BB02C mov r6, r9 mov r5, r8 push {r5-r7} - ldr r0, =gUnknown_020244D0 + ldr r0, =gBattleSpritesDataPtr mov r12, r0 ldr r0, [r0] ldr r7, =gActiveBank @@ -427,7 +427,7 @@ _081BB134: adds r0, r5 ldrb r0, [r0] bl sub_80729D0 - ldr r0, =gUnknown_020244D0 + ldr r0, =gBattleSpritesDataPtr ldr r0, [r0] ldr r2, [r0, 0x8] ldrb r1, [r2, 0x9] @@ -1006,7 +1006,7 @@ sub_81BB688: @ 81BB688 lsls r0, 3 adds r2, r0, r1 ldrb r5, [r2, 0xC] - ldr r0, =gUnknown_020244D0 + ldr r0, =gBattleSpritesDataPtr ldr r0, [r0] ldr r1, [r0, 0x4] lsls r0, r5, 1 @@ -1174,7 +1174,7 @@ _081BB808: thumb_func_start sub_81BB828 sub_81BB828: @ 81BB828 push {r4-r6,lr} - ldr r0, =gUnknown_020244D0 + ldr r0, =gBattleSpritesDataPtr ldr r0, [r0] ldr r6, =gActiveBank ldrb r2, [r6] @@ -1312,7 +1312,7 @@ sub_81BB92C: @ 81BB92C bne _081BB97E adds r0, r3, 0 bl sub_805E408 - ldr r0, =gUnknown_020244D0 + ldr r0, =gBattleSpritesDataPtr ldr r0, [r0] ldrb r2, [r4] ldr r1, [r0] @@ -1344,7 +1344,7 @@ _081BB97E: thumb_func_start dp01t_35_3_free_vram dp01t_35_3_free_vram: @ 81BB9A0 push {lr} - ldr r0, =gUnknown_020244D0 + ldr r0, =gBattleSpritesDataPtr ldr r1, [r0] ldr r0, =gActiveBank ldrb r3, [r0] @@ -1383,7 +1383,7 @@ sub_81BB9F4: @ 81BB9F4 push {r4-r7,lr} mov r7, r8 push {r7} - ldr r3, =gUnknown_020244D0 + ldr r3, =gBattleSpritesDataPtr ldr r0, [r3] ldr r7, =gActiveBank ldrb r1, [r7] @@ -1478,7 +1478,7 @@ _081BBAB0: thumb_func_start sub_81BBAE8 sub_81BBAE8: @ 81BBAE8 push {r4-r6,lr} - ldr r6, =gUnknown_020244D0 + ldr r6, =gBattleSpritesDataPtr ldr r0, [r6] ldr r4, =gActiveBank ldrb r2, [r4] @@ -1596,7 +1596,7 @@ _081BBBF2: thumb_func_start sub_81BBC04 sub_81BBC04: @ 81BBC04 push {lr} - ldr r0, =gUnknown_020244D0 + ldr r0, =gBattleSpritesDataPtr ldr r2, [r0] ldr r0, =gActiveBank ldrb r1, [r0] @@ -1620,7 +1620,7 @@ _081BBC26: thumb_func_start bx_80E8A6C bx_80E8A6C: @ 81BBC34 push {lr} - ldr r0, =gUnknown_020244D0 + ldr r0, =gBattleSpritesDataPtr ldr r2, [r0] ldr r0, =gActiveBank ldrb r1, [r0] @@ -4051,7 +4051,7 @@ sub_81BD260: @ 81BD260 ldrb r3, [r0] cmp r3, 0 bne _081BD2A8 - ldr r0, =gUnknown_020244D0 + ldr r0, =gBattleSpritesDataPtr ldr r0, [r0] ldr r1, [r0, 0x4] lsls r0, r2, 1 @@ -4101,7 +4101,7 @@ _081BD2DE: thumb_func_start sub_81BD2F0 sub_81BD2F0: @ 81BD2F0 push {r4-r6,lr} - ldr r6, =gUnknown_020244D0 + ldr r6, =gBattleSpritesDataPtr ldr r4, [r6] ldr r5, =gActiveBank ldrb r2, [r5] @@ -4494,7 +4494,7 @@ sub_81BD5C8: @ 81BD5C8 thumb_func_start sub_81BD674 sub_81BD674: @ 81BD674 push {r4-r6,lr} - ldr r6, =gUnknown_020244D0 + ldr r6, =gBattleSpritesDataPtr ldr r4, [r6] ldr r5, =gActiveBank ldrb r2, [r5] @@ -4743,7 +4743,7 @@ _081BD7A2: b _081BD8B6 .pool _081BD898: - ldr r0, =gUnknown_020244D0 + ldr r0, =gBattleSpritesDataPtr ldr r0, [r0] ldrb r1, [r6] ldr r2, [r0, 0x4] @@ -4790,7 +4790,7 @@ bx_move_anim_3: @ 81BD8C8 adds r1, r2 ldrb r1, [r1] mov r8, r1 - ldr r7, =gUnknown_020244D0 + ldr r7, =gBattleSpritesDataPtr ldr r5, [r7] ldr r1, [r5, 0x4] lsls r0, r3, 1 @@ -4898,7 +4898,7 @@ _081BD98A: ands r0, r2 strb r0, [r1] _081BD9D8: - ldr r0, =gUnknown_020244D0 + ldr r0, =gBattleSpritesDataPtr ldr r2, [r0] ldr r0, =gActiveBank ldrb r1, [r0] @@ -5340,7 +5340,7 @@ sub_81BDD9C: @ 81BDD9C movs r2, 0x9 bl healthbar_draw_field_maybe ldrb r2, [r4] - ldr r0, =gUnknown_020244D0 + ldr r0, =gBattleSpritesDataPtr ldr r0, [r0] ldr r0, [r0, 0x4] lsls r1, r2, 1 @@ -5880,7 +5880,7 @@ _081BE21A: adds r1, r4 ldrb r0, [r5] strh r0, [r1, 0x8] - ldr r3, =gUnknown_020244D0 + ldr r3, =gBattleSpritesDataPtr ldr r0, [r3] ldrb r2, [r5] ldr r1, [r0, 0x4] @@ -6059,7 +6059,7 @@ dp01t_30_3_80EB11C: @ 81BE3D4 b _081BE478 .pool _081BE404: - ldr r6, =gUnknown_020244D0 + ldr r6, =gBattleSpritesDataPtr ldr r0, [r6] ldr r5, =gActiveBank ldrb r1, [r5] @@ -6127,7 +6127,7 @@ _081BE478: thumb_func_start sub_81BE498 sub_81BE498: @ 81BE498 push {r4,lr} - ldr r4, =gUnknown_020244D0 + ldr r4, =gBattleSpritesDataPtr ldr r0, [r4] ldr r3, =gActiveBank ldrb r1, [r3] @@ -6163,7 +6163,7 @@ _081BE4D0: thumb_func_start sub_81BE4E0 sub_81BE4E0: @ 81BE4E0 push {lr} - ldr r0, =gUnknown_020244D0 + ldr r0, =gBattleSpritesDataPtr ldr r1, [r0] ldr r0, =gActiveBank ldrb r3, [r0] diff --git a/asm/battle_controller_recorded_opponent.s b/asm/battle_controller_recorded_opponent.s index 5c420158a..0d9bb2331 100644 --- a/asm/battle_controller_recorded_opponent.s +++ b/asm/battle_controller_recorded_opponent.s @@ -157,7 +157,7 @@ _0818661A: thumb_func_start sub_8186630 sub_8186630: @ 8186630 push {r4,lr} - ldr r4, =gUnknown_020244D0 + ldr r4, =gBattleSpritesDataPtr ldr r1, [r4] ldr r3, =gActiveBank ldrb r0, [r3] @@ -311,7 +311,7 @@ _0818676A: lsrs r3, r0, 24 cmp r3, 0x1 bne _08186816 - ldr r0, =gUnknown_020244D0 + ldr r0, =gBattleSpritesDataPtr mov r12, r0 ldr r0, [r0] ldrb r2, [r6] @@ -388,7 +388,7 @@ _0818676A: adds r0, r4, 0 bl FreeSpritePaletteByTag _08186816: - ldr r0, =gUnknown_020244D0 + ldr r0, =gBattleSpritesDataPtr ldr r0, [r0] mov r2, r8 ldrb r1, [r2] @@ -425,7 +425,7 @@ sub_818686C: @ 818686C movs r0, 0 mov r9, r0 mov r8, r0 - ldr r4, =gUnknown_020244D0 + ldr r4, =gBattleSpritesDataPtr ldr r0, [r4] ldr r7, =gActiveBank ldrb r2, [r7] @@ -561,7 +561,7 @@ _08186964: ldrb r0, [r0] bl sub_80729D0 _08186994: - ldr r0, =gUnknown_020244D0 + ldr r0, =gBattleSpritesDataPtr ldr r2, [r0] ldr r0, =gActiveBank ldrb r1, [r0] @@ -575,7 +575,7 @@ _08186994: orrs r1, r2 strb r1, [r0, 0x1] _081869AE: - ldr r5, =gUnknown_020244D0 + ldr r5, =gBattleSpritesDataPtr ldr r0, [r5] ldr r4, =gActiveBank ldrb r2, [r4] @@ -639,7 +639,7 @@ _08186A40: lsls r2, 1 bl m4aMPlayVolumeControl _08186A4C: - ldr r0, =gUnknown_020244D0 + ldr r0, =gBattleSpritesDataPtr ldr r2, [r0] ldr r0, =gActiveBank ldrb r1, [r0] @@ -810,7 +810,7 @@ _08186B8A: lsrs r1, 16 adds r0, r5, 0 bl sub_805EE54 - ldr r3, =gUnknown_020244D0 + ldr r3, =gBattleSpritesDataPtr ldr r0, [r3] ldr r2, [r0, 0x8] ldrb r1, [r2, 0x9] @@ -881,7 +881,7 @@ sub_8186C48: @ 8186C48 ldrsh r0, [r0, r1] cmp r0, 0 bne _08186CFA - ldr r6, =gUnknown_020244D0 + ldr r6, =gBattleSpritesDataPtr ldr r0, [r6] ldr r1, [r0, 0x4] lsls r4, r3, 1 @@ -1009,7 +1009,7 @@ _08186D86: thumb_func_start sub_8186D9C sub_8186D9C: @ 8186D9C push {r4-r6,lr} - ldr r0, =gUnknown_020244D0 + ldr r0, =gBattleSpritesDataPtr ldr r0, [r0] ldr r6, =gActiveBank ldrb r2, [r6] @@ -1147,7 +1147,7 @@ sub_8186EA4: @ 8186EA4 ldr r0, =SpriteCallbackDummy cmp r1, r0 bne _08186EF0 - ldr r0, =gUnknown_020244D0 + ldr r0, =gBattleSpritesDataPtr ldr r0, [r0] ldr r1, [r0] lsls r0, r3, 2 @@ -1179,7 +1179,7 @@ _08186EF0: thumb_func_start sub_8186F14 sub_8186F14: @ 8186F14 push {r4,lr} - ldr r0, =gUnknown_020244D0 + ldr r0, =gBattleSpritesDataPtr ldr r0, [r0] ldr r4, =gActiveBank ldrb r1, [r4] @@ -1231,7 +1231,7 @@ _08186F6E: thumb_func_start sub_8186F94 sub_8186F94: @ 8186F94 push {r4-r7,lr} - ldr r4, =gUnknown_020244D0 + ldr r4, =gBattleSpritesDataPtr ldr r0, [r4] ldr r5, =gActiveBank ldrb r2, [r5] @@ -1327,7 +1327,7 @@ _08187050: thumb_func_start sub_8187084 sub_8187084: @ 8187084 push {r4-r6,lr} - ldr r6, =gUnknown_020244D0 + ldr r6, =gBattleSpritesDataPtr ldr r0, [r6] ldr r5, =gActiveBank ldrb r2, [r5] @@ -1411,7 +1411,7 @@ _08187120: thumb_func_start sub_818714C sub_818714C: @ 818714C push {lr} - ldr r0, =gUnknown_020244D0 + ldr r0, =gBattleSpritesDataPtr ldr r2, [r0] ldr r0, =gActiveBank ldrb r1, [r0] @@ -1435,7 +1435,7 @@ _0818716E: thumb_func_start sub_818717C sub_818717C: @ 818717C push {lr} - ldr r0, =gUnknown_020244D0 + ldr r0, =gBattleSpritesDataPtr ldr r2, [r0] ldr r0, =gActiveBank ldrb r1, [r0] @@ -3888,7 +3888,7 @@ sub_8188768: @ 8188768 ldrb r3, [r0] cmp r3, 0 bne _081887B0 - ldr r0, =gUnknown_020244D0 + ldr r0, =gBattleSpritesDataPtr ldr r0, [r0] ldr r1, [r0, 0x4] lsls r0, r2, 1 @@ -3940,7 +3940,7 @@ _081887EC: thumb_func_start sub_8188800 sub_8188800: @ 8188800 push {r4-r6,lr} - ldr r6, =gUnknown_020244D0 + ldr r6, =gBattleSpritesDataPtr ldr r4, [r6] ldr r5, =gActiveBank ldrb r2, [r5] @@ -4278,7 +4278,7 @@ sub_8188A4C: @ 8188A4C thumb_func_start sub_8188AF8 sub_8188AF8: @ 8188AF8 push {r4-r6,lr} - ldr r6, =gUnknown_020244D0 + ldr r6, =gBattleSpritesDataPtr ldr r4, [r6] ldr r5, =gActiveBank ldrb r2, [r5] @@ -4499,7 +4499,7 @@ _08188BE6: b _08188CFA .pool _08188CDC: - ldr r0, =gUnknown_020244D0 + ldr r0, =gBattleSpritesDataPtr ldr r0, [r0] ldrb r1, [r6] ldr r2, [r0, 0x4] @@ -4546,7 +4546,7 @@ sub_8188D0C: @ 8188D0C adds r1, r2 ldrb r1, [r1] mov r8, r1 - ldr r7, =gUnknown_020244D0 + ldr r7, =gBattleSpritesDataPtr ldr r5, [r7] ldr r1, [r5, 0x4] lsls r0, r3, 1 @@ -4654,7 +4654,7 @@ _08188DCE: ands r0, r2 strb r0, [r1] _08188E1C: - ldr r0, =gUnknown_020244D0 + ldr r0, =gBattleSpritesDataPtr ldr r2, [r0] ldr r0, =gActiveBank ldrb r1, [r0] @@ -4983,7 +4983,7 @@ sub_81890CC: @ 81890CC movs r2, 0x9 bl healthbar_draw_field_maybe ldrb r2, [r4] - ldr r0, =gUnknown_020244D0 + ldr r0, =gBattleSpritesDataPtr ldr r0, [r0] ldr r0, [r0, 0x4] lsls r1, r2, 1 @@ -5457,7 +5457,7 @@ sub_8189438: @ 8189438 adds r1, r4 ldrb r0, [r6] strh r0, [r1, 0x8] - ldr r3, =gUnknown_020244D0 + ldr r3, =gBattleSpritesDataPtr ldr r0, [r3] ldrb r2, [r6] ldr r1, [r0, 0x4] @@ -5632,7 +5632,7 @@ sub_8189648: @ 8189648 b _08189742 .pool _08189678: - ldr r4, =gUnknown_020244D0 + ldr r4, =gBattleSpritesDataPtr ldr r0, [r4] ldr r3, =gActiveBank ldrb r1, [r3] @@ -5699,7 +5699,7 @@ _081896E4: adds r1, r2 movs r3, 0 strb r0, [r1] - ldr r6, =gUnknown_020244D0 + ldr r6, =gBattleSpritesDataPtr ldr r0, [r6] ldrb r1, [r5] ldr r2, [r0, 0x4] @@ -5739,7 +5739,7 @@ _08189742: thumb_func_start sub_818975C sub_818975C: @ 818975C push {r4,lr} - ldr r4, =gUnknown_020244D0 + ldr r4, =gBattleSpritesDataPtr ldr r0, [r4] ldr r3, =gActiveBank ldrb r1, [r3] @@ -5775,7 +5775,7 @@ _08189794: thumb_func_start sub_81897A4 sub_81897A4: @ 81897A4 push {lr} - ldr r0, =gUnknown_020244D0 + ldr r0, =gBattleSpritesDataPtr ldr r1, [r0] ldr r0, =gActiveBank ldrb r3, [r0] diff --git a/asm/battle_controller_recorded_player.s b/asm/battle_controller_recorded_player.s index 6ab274da2..1b0cd52e3 100644 --- a/asm/battle_controller_recorded_player.s +++ b/asm/battle_controller_recorded_player.s @@ -132,7 +132,7 @@ _08189A40: thumb_func_start sub_8189A58 sub_8189A58: @ 8189A58 push {r4,lr} - ldr r4, =gUnknown_020244D0 + ldr r4, =gBattleSpritesDataPtr ldr r1, [r4] ldr r3, =gActiveBank ldrb r0, [r3] @@ -244,7 +244,7 @@ _08189B42: bne _08189B48 b _08189D18 _08189B48: - ldr r0, =gUnknown_020244D0 + ldr r0, =gBattleSpritesDataPtr mov r9, r0 ldr r0, [r0] ldr r5, =gActiveBank @@ -435,7 +435,7 @@ _08189CE6: _08189CF2: cmp r6, 0 beq _08189D18 - ldr r0, =gUnknown_020244D0 + ldr r0, =gBattleSpritesDataPtr ldr r0, [r0] ldr r3, =gActiveBank ldrb r1, [r3] @@ -478,7 +478,7 @@ sub_8189D40: @ 8189D40 lsls r0, 24 cmp r0, 0 bne _08189DBE - ldr r5, =gUnknown_020244D0 + ldr r5, =gBattleSpritesDataPtr ldr r0, [r5] ldrb r2, [r4] ldr r1, [r0, 0x4] @@ -527,7 +527,7 @@ _08189D8C: adds r0, r3, 0 bl sub_8172EF0 _08189DBE: - ldr r3, =gUnknown_020244D0 + ldr r3, =gBattleSpritesDataPtr ldr r0, [r3] ldr r2, =gActiveBank ldrb r5, [r2] @@ -621,7 +621,7 @@ _08189E54: ldrb r0, [r0] bl sub_80729D0 _08189E84: - ldr r4, =gUnknown_020244D0 + ldr r4, =gBattleSpritesDataPtr ldr r0, [r4] ldr r3, =gActiveBank ldrb r1, [r3] @@ -702,7 +702,7 @@ _08189F38: lsls r2, 1 bl m4aMPlayVolumeControl _08189F44: - ldr r0, =gUnknown_020244D0 + ldr r0, =gBattleSpritesDataPtr ldr r2, [r0] ldr r0, =gActiveBank ldrb r1, [r0] @@ -779,7 +779,7 @@ _08189FC8: ldr r1, =gSprites adds r0, r1 bl DestroySprite - ldr r3, =gUnknown_020244D0 + ldr r3, =gBattleSpritesDataPtr ldr r0, [r3] ldr r2, [r0, 0x8] ldrb r1, [r2, 0x9] @@ -975,7 +975,7 @@ _0818A190: thumb_func_start sub_818A1B0 sub_818A1B0: @ 818A1B0 push {r4-r6,lr} - ldr r0, =gUnknown_020244D0 + ldr r0, =gBattleSpritesDataPtr ldr r0, [r0] ldr r6, =gActiveBank ldrb r2, [r6] @@ -1113,7 +1113,7 @@ sub_818A2B4: @ 818A2B4 bne _0818A306 adds r0, r3, 0 bl sub_805E408 - ldr r0, =gUnknown_020244D0 + ldr r0, =gBattleSpritesDataPtr ldr r0, [r0] ldrb r2, [r4] ldr r1, [r0] @@ -1145,7 +1145,7 @@ _0818A306: thumb_func_start sub_818A328 sub_818A328: @ 818A328 push {lr} - ldr r0, =gUnknown_020244D0 + ldr r0, =gBattleSpritesDataPtr ldr r1, [r0] ldr r0, =gActiveBank ldrb r3, [r0] @@ -1184,7 +1184,7 @@ sub_818A37C: @ 818A37C push {r4-r7,lr} mov r7, r8 push {r7} - ldr r3, =gUnknown_020244D0 + ldr r3, =gBattleSpritesDataPtr ldr r0, [r3] ldr r7, =gActiveBank ldrb r1, [r7] @@ -1279,7 +1279,7 @@ _0818A438: thumb_func_start sub_818A470 sub_818A470: @ 818A470 push {r4-r6,lr} - ldr r6, =gUnknown_020244D0 + ldr r6, =gBattleSpritesDataPtr ldr r0, [r6] ldr r4, =gActiveBank ldrb r2, [r4] @@ -1397,7 +1397,7 @@ _0818A57A: thumb_func_start sub_818A58C sub_818A58C: @ 818A58C push {lr} - ldr r0, =gUnknown_020244D0 + ldr r0, =gBattleSpritesDataPtr ldr r2, [r0] ldr r0, =gActiveBank ldrb r1, [r0] @@ -1421,7 +1421,7 @@ _0818A5AE: thumb_func_start sub_818A5BC sub_818A5BC: @ 818A5BC push {lr} - ldr r0, =gUnknown_020244D0 + ldr r0, =gBattleSpritesDataPtr ldr r2, [r0] ldr r0, =gActiveBank ldrb r1, [r0] @@ -3852,7 +3852,7 @@ sub_818BBE8: @ 818BBE8 ldrb r3, [r0] cmp r3, 0 bne _0818BC30 - ldr r0, =gUnknown_020244D0 + ldr r0, =gBattleSpritesDataPtr ldr r0, [r0] ldr r1, [r0, 0x4] lsls r0, r2, 1 @@ -3902,7 +3902,7 @@ _0818BC66: thumb_func_start sub_818BC78 sub_818BC78: @ 818BC78 push {r4-r6,lr} - ldr r6, =gUnknown_020244D0 + ldr r6, =gBattleSpritesDataPtr ldr r4, [r6] ldr r5, =gActiveBank ldrb r2, [r5] @@ -4350,7 +4350,7 @@ sub_818BFB8: @ 818BFB8 thumb_func_start sub_818C064 sub_818C064: @ 818C064 push {r4-r6,lr} - ldr r6, =gUnknown_020244D0 + ldr r6, =gBattleSpritesDataPtr ldr r4, [r6] ldr r5, =gActiveBank ldrb r2, [r5] @@ -4599,7 +4599,7 @@ _0818C192: b _0818C2A6 .pool _0818C288: - ldr r0, =gUnknown_020244D0 + ldr r0, =gBattleSpritesDataPtr ldr r0, [r0] ldrb r1, [r6] ldr r2, [r0, 0x4] @@ -4646,7 +4646,7 @@ bx_move_anim_2: @ 818C2B8 adds r1, r2 ldrb r1, [r1] mov r8, r1 - ldr r7, =gUnknown_020244D0 + ldr r7, =gBattleSpritesDataPtr ldr r5, [r7] ldr r1, [r5, 0x4] lsls r0, r3, 1 @@ -4754,7 +4754,7 @@ _0818C37A: ands r0, r2 strb r0, [r1] _0818C3C8: - ldr r0, =gUnknown_020244D0 + ldr r0, =gBattleSpritesDataPtr ldr r2, [r0] ldr r0, =gActiveBank ldrb r1, [r0] @@ -5134,7 +5134,7 @@ sub_818C6F4: @ 818C6F4 movs r2, 0x9 bl healthbar_draw_field_maybe ldrb r2, [r4] - ldr r0, =gUnknown_020244D0 + ldr r0, =gBattleSpritesDataPtr ldr r0, [r0] ldr r0, [r0, 0x4] lsls r1, r2, 1 @@ -5676,7 +5676,7 @@ _0818CB5A: adds r1, r4 ldrb r0, [r5] strh r0, [r1, 0x8] - ldr r3, =gUnknown_020244D0 + ldr r3, =gBattleSpritesDataPtr ldr r0, [r3] ldrb r2, [r5] ldr r1, [r0, 0x4] @@ -5855,7 +5855,7 @@ sub_818CD30: @ 818CD30 b _0818CDD4 .pool _0818CD60: - ldr r6, =gUnknown_020244D0 + ldr r6, =gBattleSpritesDataPtr ldr r0, [r6] ldr r5, =gActiveBank ldrb r1, [r5] @@ -5923,7 +5923,7 @@ _0818CDD4: thumb_func_start bx_increment_dp11b_field_5_till_x60_then_resume bx_increment_dp11b_field_5_till_x60_then_resume: @ 818CDF4 push {r4,lr} - ldr r4, =gUnknown_020244D0 + ldr r4, =gBattleSpritesDataPtr ldr r0, [r4] ldr r3, =gActiveBank ldrb r1, [r3] @@ -5959,7 +5959,7 @@ _0818CE2C: thumb_func_start sub_818CE3C sub_818CE3C: @ 818CE3C push {lr} - ldr r0, =gUnknown_020244D0 + ldr r0, =gBattleSpritesDataPtr ldr r1, [r0] ldr r0, =gActiveBank ldrb r3, [r0] diff --git a/asm/battle_controller_safari.s b/asm/battle_controller_safari.s index dac3034a9..acd716776 100644 --- a/asm/battle_controller_safari.s +++ b/asm/battle_controller_safari.s @@ -336,7 +336,7 @@ bx_wait_t6: @ 8159624 ldrb r0, [r0] cmp r0, 0 beq _0815964A - ldr r0, =gUnknown_020244D0 + ldr r0, =gBattleSpritesDataPtr ldr r2, [r0] ldr r0, =gActiveBank ldrb r1, [r0] @@ -410,7 +410,7 @@ _081596BE: thumb_func_start sub_81596D4 sub_81596D4: @ 81596D4 push {lr} - ldr r0, =gUnknown_020244D0 + ldr r0, =gBattleSpritesDataPtr ldr r2, [r0] ldr r0, =gActiveBank ldrb r1, [r0] @@ -484,7 +484,7 @@ _0815976A: thumb_func_start bx_80364D0 bx_80364D0: @ 815977C push {lr} - ldr r0, =gUnknown_020244D0 + ldr r0, =gBattleSpritesDataPtr ldr r2, [r0] ldr r0, =gActiveBank ldrb r1, [r0] @@ -689,7 +689,7 @@ sub_8159904: @ 8159904 thumb_func_start sub_8159910 sub_8159910: @ 8159910 push {r4,r5,lr} - ldr r0, =gUnknown_020244D0 + ldr r0, =gBattleSpritesDataPtr ldr r0, [r0] ldr r1, [r0, 0x8] movs r0, 0x4 @@ -730,7 +730,7 @@ sub_8159964: @ 8159964 adds r1, 0x1 adds r0, r1 ldrb r1, [r0] - ldr r0, =gUnknown_020244D0 + ldr r0, =gBattleSpritesDataPtr ldr r0, [r0] ldr r0, [r0, 0x8] strb r1, [r0, 0x8] diff --git a/asm/battle_controller_wally.s b/asm/battle_controller_wally.s index 51193024f..8291b05fa 100644 --- a/asm/battle_controller_wally.s +++ b/asm/battle_controller_wally.s @@ -324,7 +324,7 @@ sub_816864C: @ 816864C push {r4-r7,lr} mov r7, r8 push {r7} - ldr r4, =gUnknown_020244D0 + ldr r4, =gBattleSpritesDataPtr ldr r0, [r4] ldr r5, =gActiveBank ldrb r2, [r5] @@ -500,7 +500,7 @@ _0816877A: adds r0, r5 ldrb r0, [r0] bl sub_80729D0 - ldr r0, =gUnknown_020244D0 + ldr r0, =gBattleSpritesDataPtr ldr r0, [r0] ldr r2, [r0, 0x8] ldrb r1, [r2, 0x9] @@ -549,7 +549,7 @@ sub_8168818: @ 8168818 _08168842: cmp r4, 0 beq _08168904 - ldr r7, =gUnknown_020244D0 + ldr r7, =gBattleSpritesDataPtr ldr r0, [r7] ldr r4, [r0, 0x4] lsls r0, r3, 1 @@ -761,7 +761,7 @@ _08168A1A: thumb_func_start sub_8168A20 sub_8168A20: @ 8168A20 push {r4-r6,lr} - ldr r0, =gUnknown_020244D0 + ldr r0, =gBattleSpritesDataPtr ldr r0, [r0] ldr r6, =gActiveBank ldrb r2, [r6] @@ -833,7 +833,7 @@ _08168AB4: thumb_func_start sub_8168AC8 sub_8168AC8: @ 8168AC8 push {lr} - ldr r0, =gUnknown_020244D0 + ldr r0, =gBattleSpritesDataPtr ldr r2, [r0] ldr r0, =gActiveBank ldrb r1, [r0] @@ -907,7 +907,7 @@ _08168B5E: thumb_func_start sub_8168B70 sub_8168B70: @ 8168B70 push {lr} - ldr r0, =gUnknown_020244D0 + ldr r0, =gBattleSpritesDataPtr ldr r2, [r0] ldr r0, =gActiveBank ldrb r1, [r0] @@ -3221,7 +3221,7 @@ sub_816A078: @ 816A078 thumb_func_start sub_816A084 sub_816A084: @ 816A084 push {r4,r5,lr} - ldr r0, =gUnknown_020244D0 + ldr r0, =gBattleSpritesDataPtr ldr r0, [r0] ldr r1, [r0, 0x8] movs r0, 0x4 @@ -3262,7 +3262,7 @@ sub_816A0D8: @ 816A0D8 adds r1, 0x1 adds r0, r1 ldrb r1, [r0] - ldr r0, =gUnknown_020244D0 + ldr r0, =gBattleSpritesDataPtr ldr r0, [r0] ldr r0, [r0, 0x8] strb r1, [r0, 0x8] @@ -3407,7 +3407,7 @@ sub_816A144: @ 816A144 b _0816A25A .pool _0816A23C: - ldr r0, =gUnknown_020244D0 + ldr r0, =gBattleSpritesDataPtr ldr r0, [r0] ldrb r1, [r6] ldr r2, [r0, 0x4] @@ -3449,7 +3449,7 @@ bx_move_anim_5: @ 816A26C ldrb r0, [r1] lsls r0, 8 orrs r4, r0 - ldr r7, =gUnknown_020244D0 + ldr r7, =gBattleSpritesDataPtr ldr r5, [r7] ldr r1, [r5, 0x4] lsls r0, r3, 1 @@ -4342,7 +4342,7 @@ sub_816A90C: @ 816A90C adds r1, r4 ldrb r0, [r7] strh r0, [r1, 0x8] - ldr r3, =gUnknown_020244D0 + ldr r3, =gBattleSpritesDataPtr ldr r0, [r3] ldrb r2, [r7] ldr r1, [r0, 0x4] @@ -4393,7 +4393,7 @@ sub_816AA80: @ 816AA80 adds r6, r0, 0 lsls r6, 24 lsrs r6, 24 - ldr r0, =gUnknown_020244D0 + ldr r0, =gBattleSpritesDataPtr ldr r0, [r0] ldr r1, [r0] lsls r0, r6, 2 @@ -4622,7 +4622,7 @@ sub_816AC78: @ 816AC78 b _0816ACE6 .pool _0816ACA8: - ldr r0, =gUnknown_020244D0 + ldr r0, =gBattleSpritesDataPtr ldr r0, [r0] ldr r5, =gActiveBank ldrb r1, [r5] diff --git a/asm/battle_frontier_2.s b/asm/battle_frontier_2.s index 3d3fba02b..de5617167 100755 --- a/asm/battle_frontier_2.s +++ b/asm/battle_frontier_2.s @@ -18768,7 +18768,7 @@ _081A43EE: sub_81A4410: @ 81A4410 push {r4,lr} ldr r4, =gScriptResult - bl sub_8185338 + bl MoveRecordedBattleToSaveData strh r0, [r4] ldr r0, =gSaveBlock2Ptr ldr r1, [r0] diff --git a/asm/battle_interface.s b/asm/battle_interface.s index 8bc9553f7..d9bb3d8cc 100755 --- a/asm/battle_interface.s +++ b/asm/battle_interface.s @@ -780,7 +780,7 @@ sub_807294C: @ 807294C ldr r7, [sp, 0x14] lsls r0, 24 lsrs r0, 24 - ldr r6, =gUnknown_020244D0 + ldr r6, =gBattleSpritesDataPtr ldr r4, [r6] ldr r5, [r4, 0xC] lsls r4, r0, 2 @@ -1398,7 +1398,7 @@ sub_8072E0C: @ 8072E0C lsls r0, 24 cmp r0, 0 bne _08072F28 - ldr r0, =gUnknown_020244D0 + ldr r0, =gBattleSpritesDataPtr ldr r1, [r0] movs r2, 0x3A ldrsh r0, [r7, r2] @@ -1500,7 +1500,7 @@ _08072F28: lsls r0, 24 lsrs r0, 24 str r0, [sp, 0x2C] - ldr r0, =gUnknown_020244D0 + ldr r0, =gBattleSpritesDataPtr ldr r0, [r0] ldr r1, [r0] ldr r2, [sp, 0x2C] @@ -2004,7 +2004,7 @@ _0807336A: bne _08073382 b _080735A8 _08073382: - ldr r5, =gUnknown_020244D0 + ldr r5, =gBattleSpritesDataPtr ldr r0, [r5] ldr r3, [r0] mov r0, r9 @@ -2988,7 +2988,7 @@ _08073BC6: ldr r2, [sp, 0x10] cmp r2, 0 beq _08073C0A - ldr r0, =gUnknown_020244D0 + ldr r0, =gBattleSpritesDataPtr ldr r0, [r0] ldr r3, [r0, 0x8] ldrb r2, [r3, 0x9] @@ -3311,7 +3311,7 @@ sub_8073E64: @ 8073E64 bne _08073F54 ldrb r5, [r4, 0xA] movs r4, 0 - ldr r6, =gUnknown_020244D0 + ldr r6, =gBattleSpritesDataPtr adds r0, r7, 0 adds r0, 0xE adds r2, r3, r0 @@ -3406,7 +3406,7 @@ _08073F54: negs r0, r0 cmp r1, r0 bne _08073F8A - ldr r0, =gUnknown_020244D0 + ldr r0, =gBattleSpritesDataPtr ldr r0, [r0] ldr r0, [r0, 0x4] lsls r1, r2, 1 @@ -3516,7 +3516,7 @@ _08074034: negs r0, r0 cmp r2, r0 bne _0807406A - ldr r0, =gUnknown_020244D0 + ldr r0, =gBattleSpritesDataPtr ldr r0, [r0] ldr r0, [r0, 0x4] lsls r1, r5, 1 @@ -4140,7 +4140,7 @@ _08074542: adds r4, 0x1 cmp r4, 0x2 ble _08074542 - ldr r0, =gUnknown_020244D0 + ldr r0, =gBattleSpritesDataPtr ldr r0, [r0] ldr r0, [r0] adds r0, r7, r0 @@ -4222,7 +4222,7 @@ _080745B8: cmp r0, 0x1 bne _08074672 _08074626: - ldr r0, =gUnknown_020244D0 + ldr r0, =gBattleSpritesDataPtr ldr r0, [r0] ldr r1, [r0] lsls r0, r7, 2 @@ -4760,7 +4760,7 @@ sub_8074AA0: @ 8074AA0 mov r9, r2 cmp r2, 0 bne _08074AEC - ldr r0, =gUnknown_020244D0 + ldr r0, =gBattleSpritesDataPtr ldr r0, [r0] ldr r0, [r0, 0xC] mov r1, r8 @@ -4782,7 +4782,7 @@ sub_8074AA0: @ 8074AA0 b _08074B48 .pool _08074AEC: - ldr r2, =gUnknown_020244D0 + ldr r2, =gBattleSpritesDataPtr mov r10, r2 ldr r0, [r2] ldr r2, [r0, 0xC] @@ -4833,7 +4833,7 @@ _08074B48: beq _08074B64 cmp r2, 0 bne _08074B6C - ldr r0, =gUnknown_020244D0 + ldr r0, =gBattleSpritesDataPtr ldr r0, [r0] ldr r0, [r0] adds r0, r7, r0 @@ -4851,7 +4851,7 @@ _08074B6C: negs r0, r0 cmp r4, r0 bne _08074B86 - ldr r0, =gUnknown_020244D0 + ldr r0, =gBattleSpritesDataPtr ldr r0, [r0] ldr r1, [r0, 0xC] mov r2, r8 @@ -4890,7 +4890,7 @@ sub_8074B9C: @ 8074B9C beq _08074CA0 b _08074D9E _08074BB8: - ldr r0, =gUnknown_020244D0 + ldr r0, =gBattleSpritesDataPtr ldr r0, [r0] ldr r0, [r0, 0xC] lsls r5, r6, 2 @@ -4924,7 +4924,7 @@ _08074BF4: ldr r0, =gSprites mov r8, r0 _08074BFA: - ldr r0, =gUnknown_020244D0 + ldr r0, =gBattleSpritesDataPtr ldr r0, [r0] ldr r1, [r0, 0xC] adds r0, r7, r6 @@ -4995,7 +4995,7 @@ _08074C8A: b _08074D9E .pool _08074CA0: - ldr r0, =gUnknown_020244D0 + ldr r0, =gBattleSpritesDataPtr ldr r0, [r0] ldr r0, [r0, 0xC] lsls r5, r6, 2 @@ -5055,7 +5055,7 @@ _08074D02: ldrb r1, [r1] lsls r1, 5 adds r0, r1 - ldr r1, =gUnknown_020244D0 + ldr r1, =gBattleSpritesDataPtr ldr r1, [r1] ldr r1, [r1, 0xC] adds r1, r4, r1 @@ -5086,7 +5086,7 @@ _08074D5C: ldrb r1, [r1] lsls r1, 5 adds r0, r1 - ldr r1, =gUnknown_020244D0 + ldr r1, =gBattleSpritesDataPtr ldr r1, [r1] ldr r1, [r1, 0xC] adds r1, r4, r1 diff --git a/asm/contest.s b/asm/contest.s index b469dd8eb..561c79857 100644 --- a/asm/contest.s +++ b/asm/contest.s @@ -5587,7 +5587,7 @@ sub_80DA830: @ 80DA830 str r1, [r0] bl FreeAllWindowBuffers bl sub_80D7A5C - bl sub_805F094 + bl FreeMonSpritesGfx ldr r0, =c2_exit_to_overworld_2_switch bl SetMainCallback2 _080DA860: diff --git a/asm/contest_link_80F57C4.s b/asm/contest_link_80F57C4.s index 8a1bf00f1..03e1aaf2b 100644 --- a/asm/contest_link_80F57C4.s +++ b/asm/contest_link_80F57C4.s @@ -4569,7 +4569,7 @@ sub_80F7E64: @ 80F7E64 str r4, [r0, 0x1C] bl Free str r4, [r5] - bl sub_805F094 + bl FreeMonSpritesGfx pop {r4,r5} pop {r0} bx r0 diff --git a/asm/contest_painting.s b/asm/contest_painting.s index 03fa9b05a..2caf15194 100644 --- a/asm/contest_painting.s +++ b/asm/contest_painting.s @@ -72,7 +72,7 @@ sub_812FE0C: @ 812FE0C movs r0, 0x1 bl GetBgTilemapBuffer bl Free - bl sub_805F094 + bl FreeMonSpritesGfx pop {r4,r5} pop {r0} bx r0 diff --git a/asm/evolution_scene.s b/asm/evolution_scene.s index 0fa0c5eb3..889403787 100644 --- a/asm/evolution_scene.s +++ b/asm/evolution_scene.s @@ -189,7 +189,7 @@ evolution_cutscene: @ 813DA8C ldr r1, =gBattleTerrain movs r0, 0x9 strb r0, [r1] - bl c2_berry_program_update_menu + bl sub_80356D0 bl LoadBattleTextboxAndBackground bl ResetSpriteData bl remove_some_task @@ -482,7 +482,7 @@ sub_813DD7C: @ 813DD7C ldr r1, =gBattleTerrain movs r0, 0x9 strb r0, [r1] - bl c2_berry_program_update_menu + bl sub_80356D0 bl LoadBattleTextboxAndBackground bl ResetSpriteData bl FreeAllSpritePalettes @@ -1775,7 +1775,7 @@ _0813EAF6: _0813EB06: adds r0, r7, 0 bl DestroyTask - bl sub_805F094 + bl FreeMonSpritesGfx ldr r4, =gUnknown_0203AB80 ldr r0, [r4] bl Free diff --git a/asm/link.s b/asm/link.s index 038633758..fb20b1fb2 100644 --- a/asm/link.s +++ b/asm/link.s @@ -71211,7 +71211,7 @@ sub_802DBF8: @ 802DBF8 movs r6, 0 cmp r6, r10 bge _0802DC62 - ldr r0, =gUnknown_08300D38 + ldr r0, =gMonFrontPicCoords mov r9, r0 ldr r1, =gUnknown_02022D00 mov r8, r1 diff --git a/asm/pokeball.s b/asm/pokeball.s index 557813c19..4e637fb9d 100755 --- a/asm/pokeball.s +++ b/asm/pokeball.s @@ -17,7 +17,7 @@ sub_80753E8: @ 80753E8 ldr r1, =gDoingBattleAnim movs r0, 0x1 strb r0, [r1] - ldr r0, =gUnknown_020244D0 + ldr r0, =gBattleSpritesDataPtr ldr r0, [r0] ldr r6, =gActiveBank ldrb r1, [r6] @@ -992,7 +992,7 @@ _08075C22: movs r2, 0xC bl PlayCry4 _08075C2E: - ldr r0, =gUnknown_020244D0 + ldr r0, =gBattleSpritesDataPtr ldr r0, [r0] ldr r0, [r0, 0x4] mov r2, r8 @@ -1082,7 +1082,7 @@ _08075CD8: movs r2, 0xB bl PlayCry4 _08075CE4: - ldr r0, =gUnknown_020244D0 + ldr r0, =gBattleSpritesDataPtr ldr r0, [r0] ldr r0, [r0, 0x4] mov r2, r8 @@ -1215,7 +1215,7 @@ _08075E00: lsls r0, 24 cmp r0, 0 beq _08075E56 - ldr r0, =gUnknown_020244D0 + ldr r0, =gBattleSpritesDataPtr ldr r0, [r0] ldr r0, [r0, 0x8] ldrb r1, [r0, 0x9] @@ -1247,7 +1247,7 @@ _08075E56: lsls r0, 24 cmp r0, 0 beq _08075E70 - ldr r0, =gUnknown_020244D0 + ldr r0, =gBattleSpritesDataPtr ldr r0, [r0] ldr r0, [r0, 0x8] ldrb r1, [r0, 0x9] @@ -1278,7 +1278,7 @@ _08075E9C: _08075EA0: movs r4, 0x2 _08075EA2: - ldr r0, =gUnknown_020244D0 + ldr r0, =gBattleSpritesDataPtr ldr r0, [r0] ldr r0, [r0, 0x4] mov r2, r8 @@ -1508,7 +1508,7 @@ _0807605C: strh r1, [r0, 0x26] ldr r0, =gDoingBattleAnim strb r2, [r0] - ldr r4, =gUnknown_020244D0 + ldr r4, =gBattleSpritesDataPtr ldr r0, [r4] ldr r0, [r0, 0x4] lsls r1, r6, 1 @@ -1619,7 +1619,7 @@ _08076130: ands r0, r1 cmp r0, 0 beq _08076196 - ldr r0, =gUnknown_020244D0 + ldr r0, =gBattleSpritesDataPtr ldr r0, [r0] ldr r0, [r0, 0x4] lsls r1, r7, 1 @@ -1819,7 +1819,7 @@ _080762F8: lsls r0, 24 cmp r0, 0 beq _08076358 - ldr r0, =gUnknown_020244D0 + ldr r0, =gBattleSpritesDataPtr ldr r0, [r0] ldr r0, [r0, 0x8] ldrb r1, [r0, 0x9] @@ -1892,7 +1892,7 @@ sub_8076398: @ 8076398 lsls r0, 24 cmp r0, 0 beq _080763E8 - ldr r0, =gUnknown_020244D0 + ldr r0, =gBattleSpritesDataPtr ldr r0, [r0] ldr r0, [r0, 0x8] ldrb r1, [r0, 0x9] diff --git a/asm/pokeblock_feed.s b/asm/pokeblock_feed.s index bc402d91c..1f8e45f0a 100644 --- a/asm/pokeblock_feed.s +++ b/asm/pokeblock_feed.s @@ -797,7 +797,7 @@ sub_817A2C0: @ 817A2C0 ldr r0, =gUnknown_0203BD18 ldr r0, [r0] bl Free - bl sub_805F094 + bl FreeMonSpritesGfx _0817A304: pop {r4} pop {r0} diff --git a/asm/recorded_battle.s b/asm/recorded_battle.s index 48325cfed..f733033ff 100644 --- a/asm/recorded_battle.s +++ b/asm/recorded_battle.s @@ -348,7 +348,7 @@ _0818507A: movs r2, 0 movs r3, 0x10 bl BeginNormalPaletteFade - ldr r0, =sub_80384E4 + ldr r0, =CB2_QuitRecordedBattle bl SetMainCallback2 movs r0, 0xFF b _081850C6 @@ -681,8 +681,8 @@ _08185332: bx r1 thumb_func_end sub_81852F0 - thumb_func_start sub_8185338 -sub_8185338: @ 8185338 + thumb_func_start MoveRecordedBattleToSaveData +MoveRecordedBattleToSaveData: @ 8185338 push {r4-r7,lr} mov r7, r10 mov r6, r9 @@ -1469,7 +1469,7 @@ _08185A14: pop {r1} bx r1 .pool - thumb_func_end sub_8185338 + thumb_func_end MoveRecordedBattleToSaveData thumb_func_start sub_8185A54 sub_8185A54: @ 8185A54 @@ -2655,8 +2655,8 @@ sub_8186444: @ 8186444 .pool thumb_func_end sub_8186444 - thumb_func_start rfu_lacks_rfufunc -rfu_lacks_rfufunc: @ 8186450 + thumb_func_start sub_8186450 +sub_8186450: @ 8186450 push {lr} movs r1, 0 ldr r0, =gUnknown_0203CCD0 @@ -2669,7 +2669,7 @@ _0818645E: pop {r1} bx r1 .pool - thumb_func_end rfu_lacks_rfufunc + thumb_func_end sub_8186450 thumb_func_start sub_8186468 sub_8186468: @ 8186468 diff --git a/asm/reshow_battle_screen.s b/asm/reshow_battle_screen.s index 8bc97b45a..c7e384a10 100644 --- a/asm/reshow_battle_screen.s +++ b/asm/reshow_battle_screen.s @@ -348,7 +348,7 @@ sub_80A9614: @ 80A9614 lsls r0, 24 cmp r0, 0 beq _080A9676 - ldr r0, =gUnknown_020244D0 + ldr r0, =gBattleSpritesDataPtr ldr r0, [r0] ldr r1, [r0] lsls r0, r4, 2 @@ -404,7 +404,7 @@ _080A96AA: bl sub_805DF84 b _080A96F4 _080A96B2: - ldr r0, =gUnknown_020244D0 + ldr r0, =gBattleSpritesDataPtr ldr r0, [r0] ldr r1, [r0] lsls r0, r4, 2 @@ -459,7 +459,7 @@ sub_80A9708: @ 80A9708 bcc _080A9722 b _080A9AA0 _080A9722: - ldr r0, =gUnknown_020244D0 + ldr r0, =gBattleSpritesDataPtr ldr r0, [r0] ldr r0, [r0] lsls r2, r7, 2 @@ -591,7 +591,7 @@ _080A9786: adds r1, r7, r1 ldrb r1, [r1] bl StartSpriteAnim - ldr r0, =gUnknown_020244D0 + ldr r0, =gBattleSpritesDataPtr ldr r0, [r0] ldr r0, [r0] ldr r2, [sp] @@ -808,7 +808,7 @@ _080A998C: adds r1, r7, r1 ldrb r1, [r1] bl StartSpriteAnim - ldr r0, =gUnknown_020244D0 + ldr r0, =gBattleSpritesDataPtr ldr r0, [r0] ldr r0, [r0] ldr r1, [sp] @@ -839,7 +839,7 @@ _080A9A70: adds r2, r0 lsls r2, 2 adds r2, r1 - ldr r0, =gUnknown_020244D0 + ldr r0, =gBattleSpritesDataPtr ldr r0, [r0] ldr r0, [r0] ldr r1, [sp] diff --git a/asm/rom_80A5C6C.s b/asm/rom_80A5C6C.s index 6135f81e0..bb74b3713 100644 --- a/asm/rom_80A5C6C.s +++ b/asm/rom_80A5C6C.s @@ -94,7 +94,7 @@ _080A5D28: lsls r0, 24 cmp r0, 0 beq _080A5D60 - ldr r0, =gUnknown_020244D0 + ldr r0, =gBattleSpritesDataPtr ldr r0, [r0] ldr r1, [r0] lsls r0, r5, 2 @@ -112,7 +112,7 @@ _080A5D28: b _080A5D7E .pool _080A5D60: - ldr r0, =gUnknown_020244D0 + ldr r0, =gBattleSpritesDataPtr ldr r0, [r0] ldr r1, [r0] lsls r0, r5, 2 @@ -195,7 +195,7 @@ _080A5E00: ldr r2, [r2, 0x8] b _080A5E42 _080A5E04: - ldr r0, =gUnknown_020244D0 + ldr r0, =gBattleSpritesDataPtr ldr r0, [r0] ldr r0, [r0] lsls r1, r4, 2 @@ -285,7 +285,7 @@ _080A5EC0: _080A5EC8: cmp r5, 0xC9 bne _080A5F58 - ldr r0, =gUnknown_020244D0 + ldr r0, =gBattleSpritesDataPtr ldr r0, [r0] ldr r0, [r0] lsls r1, r4, 2 @@ -344,7 +344,7 @@ _080A5F44: lsls r0, 16 lsrs r0, 16 _080A5F4E: - ldr r1, =gUnknown_08300D38 + ldr r1, =gMonFrontPicCoords lsls r0, 2 b _080A5F90 .pool @@ -352,7 +352,7 @@ _080A5F58: ldr r0, =0x00000181 cmp r5, r0 bne _080A5F7C - ldr r0, =gUnknown_08525F78 + ldr r0, =gCastformFrontSpriteCoords ldr r1, =gBattleMonForms adds r1, r4, r1 ldrb r1, [r1] @@ -366,11 +366,11 @@ _080A5F7C: lsls r0, 1 cmp r5, r0 bls _080A5F8C - ldr r0, =gUnknown_08300D38 + ldr r0, =gMonFrontPicCoords b _080A5F92 .pool _080A5F8C: - ldr r1, =gUnknown_08300D38 + ldr r1, =gMonFrontPicCoords _080A5F8E: lsls r0, r5, 2 _080A5F90: @@ -546,7 +546,7 @@ _080A60E4: ldrh r1, [r2] b _080A610E _080A60E8: - ldr r0, =gUnknown_020244D0 + ldr r0, =gBattleSpritesDataPtr ldr r0, [r0] ldr r1, [r0] lsls r0, r4, 2 @@ -654,7 +654,7 @@ sub_80A6190: @ 80A6190 lsls r0, 24 cmp r0, 0 beq _080A61E4 - ldr r0, =gUnknown_020244D0 + ldr r0, =gBattleSpritesDataPtr ldr r0, [r0] ldr r1, [r0] lsls r0, r5, 2 @@ -672,7 +672,7 @@ sub_80A6190: @ 80A6190 b _080A6202 .pool _080A61E4: - ldr r0, =gUnknown_020244D0 + ldr r0, =gBattleSpritesDataPtr ldr r0, [r0] ldr r1, [r0] lsls r0, r5, 2 @@ -2976,7 +2976,7 @@ _080A72B4: lsls r0, 30 cmp r0, 0 bne _080A7312 - ldr r0, =gUnknown_020244D0 + ldr r0, =gBattleSpritesDataPtr ldr r0, [r0] ldr r1, [r0, 0x4] lsls r0, r7, 1 @@ -4571,7 +4571,7 @@ _080A7F78: lsls r0, 24 cmp r0, 0 bne _080A7FD8 - ldr r0, =gUnknown_020244D0 + ldr r0, =gBattleSpritesDataPtr ldr r0, [r0] ldr r1, [r0] lsls r0, r5, 2 @@ -4606,7 +4606,7 @@ _080A7FD0: b _080A8026 .pool _080A7FD8: - ldr r0, =gUnknown_020244D0 + ldr r0, =gBattleSpritesDataPtr ldr r0, [r0] ldr r1, [r0] lsls r0, r5, 2 @@ -4641,7 +4641,7 @@ _080A8018: b _080A8042 .pool _080A8024: - ldr r0, =gUnknown_08300D38 + ldr r0, =gMonFrontPicCoords _080A8026: lsls r1, r2, 2 adds r1, r0 @@ -5200,7 +5200,7 @@ _080A8412: lsrs r0, 24 cmp r0, 0x1 beq _080A845E - ldr r0, =gUnknown_020244D0 + ldr r0, =gBattleSpritesDataPtr ldr r0, [r0] ldr r1, [r0] ldr r2, [sp, 0x40] @@ -5263,7 +5263,7 @@ _080A84B0: lsrs r0, 24 cmp r0, 0x1 beq _080A84F6 - ldr r0, =gUnknown_020244D0 + ldr r0, =gBattleSpritesDataPtr ldr r0, [r0] ldr r1, [r0] ldr r3, [sp, 0x40] @@ -5338,7 +5338,7 @@ _080A8540: mov r2, r10 lsls r1, r2, 16 asrs r1, 16 - ldr r3, =gUnknown_08300D38 + ldr r3, =gMonFrontPicCoords b _080A85B2 .pool _080A85A0: @@ -5490,7 +5490,7 @@ _080A86C4: lsls r0, 24 cmp r0, 0 bne _080A8790 - ldr r0, =gUnknown_020244D0 + ldr r0, =gBattleSpritesDataPtr ldr r0, [r0] ldr r0, [r0] mov r1, r8 @@ -5580,7 +5580,7 @@ _080A8784: b _080A8864 .pool _080A8790: - ldr r0, =gUnknown_020244D0 + ldr r0, =gBattleSpritesDataPtr ldr r0, [r0] ldr r0, [r0] mov r1, r8 @@ -5662,7 +5662,7 @@ _080A8834: add r0, r8 ldrb r0, [r0] lsls r0, 2 - ldr r1, =gUnknown_08525F78 + ldr r1, =gCastformFrontSpriteCoords adds r4, r0, r1 b _080A8866 .pool @@ -5671,13 +5671,13 @@ _080A8850: lsls r0, 1 cmp r7, r0 bls _080A8860 - ldr r4, =gUnknown_08300D38 + ldr r4, =gMonFrontPicCoords b _080A8866 .pool _080A8860: lsls r1, r7, 2 _080A8862: - ldr r0, =gUnknown_08300D38 + ldr r0, =gMonFrontPicCoords _080A8864: adds r4, r1, r0 _080A8866: diff --git a/asm/script_pokemon_util_80F87D8.s b/asm/script_pokemon_util_80F87D8.s index e5f69eeac..231879f02 100644 --- a/asm/script_pokemon_util_80F87D8.s +++ b/asm/script_pokemon_util_80F87D8.s @@ -842,7 +842,7 @@ sub_80F8EB8: @ 80F8EB8 ldrh r0, [r1, 0x8] adds r0, 0x1 strh r0, [r1, 0x8] - bl sub_805F094 + bl FreeMonSpritesGfx _080F8EDC: pop {r0} bx r0 diff --git a/asm/trade.s b/asm/trade.s index 42ed85948..d4c54cef6 100644 --- a/asm/trade.s +++ b/asm/trade.s @@ -8939,7 +8939,7 @@ _0807C04C: adds r1, r0 lsls r1, 2 adds r1, r3 - ldr r2, =gUnknown_08300D38 + ldr r2, =gMonFrontPicCoords adds r0, r4, 0 adds r0, 0xF0 ldrh r0, [r0] @@ -10395,7 +10395,7 @@ _0807CD1C: adds r1, r0 lsls r1, 2 adds r1, r4 - ldr r3, =gUnknown_08300D38 + ldr r3, =gMonFrontPicCoords adds r2, 0xF2 ldrh r0, [r2] lsls r0, 2 @@ -10663,7 +10663,7 @@ _0807CF5C: movs r0, 0 bl GetBgTilemapBuffer bl Free - bl sub_805F094 + bl FreeMonSpritesGfx ldr r0, [r7] bl Free str r4, [r7] @@ -11001,7 +11001,7 @@ _0807D428: adds r1, r0 lsls r1, 2 adds r1, r3 - ldr r2, =gUnknown_08300D38 + ldr r2, =gMonFrontPicCoords adds r0, r4, 0 adds r0, 0xF0 ldrh r0, [r0] @@ -12500,7 +12500,7 @@ _0807E168: adds r1, r0 lsls r1, 2 adds r1, r4 - ldr r3, =gUnknown_08300D38 + ldr r3, =gMonFrontPicCoords adds r2, 0xF2 ldrh r0, [r2] lsls r0, 2 @@ -12768,7 +12768,7 @@ _0807E3A8: movs r0, 0 bl GetBgTilemapBuffer bl Free - bl sub_805F094 + bl FreeMonSpritesGfx ldr r0, [r7] bl Free str r4, [r7] @@ -14136,7 +14136,7 @@ c2_080543C4: @ 807F068 movs r0, 0 bl GetBgTilemapBuffer bl Free - bl sub_805F094 + bl FreeMonSpritesGfx ldr r4, =gUnknown_020322A0 ldr r0, [r4] bl Free diff --git a/data/battle_anims.s b/data/battle_anims.s index 6b48bcd2a..8b285f7be 100644 --- a/data/battle_anims.s +++ b/data/battle_anims.s @@ -327,7 +327,7 @@ gUnknown_08525E98:: @ 8525E98 gUnknown_08525F58:: @ 8525F58 .incbin "baserom.gba", 0x525f58, 0x20 -gUnknown_08525F78:: @ 8525F78 +gCastformFrontSpriteCoords:: @ 8525F78 .incbin "baserom.gba", 0x525f78, 0x10 gUnknown_08525F88:: @ 8525F88 diff --git a/data/data2b.s b/data/data2b.s index fd72e835e..96d56c820 100644 --- a/data/data2b.s +++ b/data/data2b.s @@ -95,7 +95,7 @@ gUnknown_082FF6C0:: @ 82FF6C0 gUnknown_082FF70C:: @ 82FF70C .incbin "baserom.gba", 0x2ff70c, 0x162c -gUnknown_08300D38:: @ 8300D38 +gMonFrontPicCoords:: @ 8300D38 .incbin "baserom.gba", 0x300d38, 0x6e0 @ 8301418 @@ -196,8 +196,13 @@ gUnknown_0831AC70:: @ 831AC70 gUnknown_0831AC88:: @ 831AC88 .incbin "baserom.gba", 0x31ac88, 0x18 -gUnknown_0831ACA0:: @ 831ACA0 - .incbin "baserom.gba", 0x31aca0, 0x40 +gText_ShedinjaJapaneseName:: @ 831ACA0 + .string "ヌケニン$" @Nukenin + +.align 2 + +gUnknown_0831ACA8:: @ 831ACA8 + .incbin "baserom.gba", 0x31aca8, 0x38 gUnknown_0831ACE0:: @ 831ACE0 .incbin "baserom.gba", 0x31ace0, 0x8 diff --git a/data/event_scripts.s b/data/event_scripts.s index e4293570d..4dd5761e5 100644 --- a/data/event_scripts.s +++ b/data/event_scripts.s @@ -84,14 +84,14 @@ gUnknown_0823B68C:: @ 823B68C gUnknown_0823C050:: @ 823C050 .incbin "baserom.gba", 0x23c050, 0x6431 -gUnknown_08242481:: @ 8242481 +gText_BattleRecordCouldntBeSaved:: @ 8242481 .incbin "baserom.gba", 0x242481, 0x87b gUnknown_08242CFC:: @ 8242CFC .incbin "baserom.gba", 0x242cfc, 0x6a91 -gUnknown_0824978D:: @ 824978D - .incbin "baserom.gba", 0x24978d, 0xe +gText_LinkStandby3:: @ 824978D + .string "Link standby…$" gUnknown_0824979B:: @ 824979B .incbin "baserom.gba", 0x24979b, 0x944d diff --git a/include/battle.h b/include/battle.h index 72168aa60..afb3c8d6e 100644 --- a/include/battle.h +++ b/include/battle.h @@ -264,32 +264,32 @@ struct TrainerMonNoItemDefaultMoves { - u16 species; + u16 iv; u8 lvl; - u16 evsValue; + u16 species; }; struct TrainerMonItemDefaultMoves { - u16 species; + u16 iv; u8 lvl; - u16 evsValue; + u16 species; u16 heldItem; }; struct TrainerMonNoItemCustomMoves { - u16 species; + u16 iv; u8 lvl; - u16 evsValue; + u16 species; u16 moves[4]; }; struct TrainerMonItemCustomMoves { - u16 species; + u16 iv; u8 lvl; - u16 evsValue; + u16 species; u16 heldItem; u16 moves[4]; }; @@ -863,10 +863,13 @@ extern struct BattleScripting gBattleScripting; // battle_1 void LoadBattleTextboxAndBackground(void); void LoadBattleEntryBackground(void); +void ApplyPlayerChosenFrameToBattleMenu(void); +bool8 LoadChosenBattleElement(u8 caseId); void task00_0800F6FC(u8 taskId); // battle_2 void CB2_InitBattle(void); +void CB2_QuitRecordedBattle(void); void CancelMultiTurnMoves(u8 bank); void PressurePPLose(u8 bankAtk, u8 bankDef, u16 move); void PrepareStringBattle(u16 stringId, u8 bank); @@ -933,15 +936,18 @@ extern const u8 gUnknown_0831C494[]; // battle_5 void AllocateBattleResrouces(void); +void FreeBattleResources(void); void AdjustFriendshipOnBattleFaint(u8 bank); void sub_80571DC(u8 bank, u8 arg1); u32 sub_805725C(u8 bank); // battle 7 void AllocateBattleSpritesData(void); +void FreeBattleSpritesData(void); +void AllocateMonSpritesGfx(void); +void FreeMonSpritesGfx(void); void BattleMusicStop(void); void sub_805E990(struct Pokemon* mon, u8 bank); -void AllocateMonSpritesGfx(void); void sub_805EF14(void); bool8 BattleInitAllSprites(u8 *state1, u8 *state2); @@ -950,6 +956,30 @@ u8 GetBankSide(u8 bank); u8 GetBankIdentity(u8 bank); u8 GetBankByIdentity(u8 bank); +struct BattleSpriteInfo +{ + u16 invisible : 1; // 0x1 + u16 flag_x2 : 1; // 0x2 + u16 behindSubstitute : 1; // 0x4 + u16 flag_x8 : 1; // 0x8 + u16 hpNumbersNoBars : 1; // 0x10 + u16 transformSpecies; +}; + +struct BattleAnimationInfo +{ + u16 field; // to fill up later +}; + +struct BattleSpriteData +{ + struct BattleSpriteInfo *bankData; + void* field_4; + struct BattleAnimationInfo *animationData; +}; + +extern struct BattleSpriteData *gBattleSpritesDataPtr; + // Move this somewhere else #include "sprite.h" diff --git a/include/link.h b/include/link.h index b719371da..9d581a6c1 100644 --- a/include/link.h +++ b/include/link.h @@ -182,5 +182,6 @@ void sub_800E0E8(void); bool8 sub_800A520(void); bool8 sub_8010500(void); void sub_800DFB4(u8, u8); +void sub_800ADF8(void); #endif // GUARD_LINK_H diff --git a/include/main.h b/include/main.h index e5460b3bf..e283d1754 100644 --- a/include/main.h +++ b/include/main.h @@ -39,6 +39,7 @@ struct Main /*0x439*/ u8 oamLoadDisabled:1; /*0x439*/ u8 inBattle:1; + /*0x439*/ u8 field_439_x4:1; }; extern u8 gUnknown_3001764; diff --git a/include/pokemon.h b/include/pokemon.h index 5ebb9afb1..4b678d679 100644 --- a/include/pokemon.h +++ b/include/pokemon.h @@ -637,5 +637,6 @@ void sub_8068AA4(void); // sets stats for deoxys #include "sprite.h" void DoMonFrontSpriteAnimation(struct Sprite* sprite, u16 species, bool8 noCry, u8 arg3); +void BattleAnimateFrontSprite(struct Sprite* sprite, u16 species, bool8 noCry, u8 arg3); #endif // GUARD_POKEMON_H diff --git a/include/recorded_battle.h b/include/recorded_battle.h index 407d0caf7..5f3099d83 100644 --- a/include/recorded_battle.h +++ b/include/recorded_battle.h @@ -7,5 +7,8 @@ void sub_8185F84(void); void sub_8184E58(void); void RecordedBattle_SetBankAction(u8 bank, u8 action); void sub_8185F90(u16 arg0); +bool8 sub_8186450(void); +u8 sub_8185FAC(void); +u8 MoveRecordedBattleToSaveData(void); #endif // GUARD_RECORDED_BATTLE_H diff --git a/include/unknown_task.h b/include/unknown_task.h index 7457451a8..9c6968c30 100644 --- a/include/unknown_task.h +++ b/include/unknown_task.h @@ -17,5 +17,6 @@ extern struct UnknownTaskStruct gUnknown_0831AC70; // Exported ROM declarations void remove_some_task(void); void sub_80BA038(struct UnknownTaskStruct arg0); +void sub_80BA0A8(void); #endif // GUARD_unknown_task_H diff --git a/src/battle_2.c b/src/battle_2.c index 844827326..8d1f6a7a1 100644 --- a/src/battle_2.c +++ b/src/battle_2.c @@ -20,6 +20,14 @@ #include "dma3.h" #include "string_util.h" #include "malloc.h" +#include "event_data.h" +#include "m4a.h" +#include "window.h" +#include "rng.h" +#include "songs.h" +#include "sound.h" +#include "battle_message.h" +#include "sprite.h" struct UnknownStruct6 { @@ -64,21 +72,43 @@ extern struct BattleEnigmaBerry gEnigmaBerries[BATTLE_BANKS_COUNT]; extern void (*gPreBattleCallback1)(void); extern struct UnknownPokemonStruct2 gUnknown_02022FF8[3]; // what is it used for? extern struct UnknownPokemonStruct2* gUnknown_02023058; // what is it used for? - +extern u8 gBattleOutcome; +extern u8 gUnknown_02039B28[]; // possibly a struct? extern struct UnknownStruct6 gUnknown_02038C28; // todo: identify & document +extern struct MusicPlayerInfo gMPlay_SE1; +extern struct MusicPlayerInfo gMPlay_SE2; +extern u8 gDecompressionBuffer[]; +extern u16 gUnknown_020243FC; +extern u8 gHealthBoxesIds[BATTLE_BANKS_COUNT]; + +extern const u8 gSpeciesNames[][POKEMON_NAME_LENGTH + 1]; +extern const struct BattleMove gBattleMoves[]; +extern const u16 gUnknown_08C004E0[]; // battle textbox palette +extern const struct BgTemplate gUnknown_0831AA08[]; +extern const struct WindowTemplate * const gUnknown_0831ABA0[]; + +// strings +extern const u8 gText_LinkStandby3[]; +extern const u8 gText_RecordBattleToPass[]; +extern const u8 gText_BattleYesNoChoice[]; +extern const u8 gText_BattleRecordCouldntBeSaved[]; +extern const u8 gText_BattleRecordedOnPass[]; +extern const u8 gText_ShedinjaJapaneseName[]; extern void HandleLinkBattleSetup(void); // rom_3 extern void SetUpBattleVarsAndBirchZigzagoon(void); // rom_3 extern void sub_8032768(void); // rom_3 extern void dp12_8087EA4(void); -extern void c2_berry_program_update_menu(void); +extern void sub_80356D0(void); extern void GetFrontierTrainerName(u8* dst, u16 trainerId); // battle tower extern void sub_8166188(void); // battle tower, sets link battle mons level but why? extern void sub_8165B88(u8* dst, u16 trainerId); // battle tower, gets language extern void sub_81DB4DC(u8* dst, u8 arg2); // extern void sub_81B9150(void); -extern void sub_800ADF8(void); extern void sub_800AC34(void); +extern void sub_80B3AF8(u8 taskId); // cable club +extern void sub_8076918(u8 bank); +extern void sub_80729D0(u8 healthoxSpriteId); // this file's functions static void CB2_InitBattleInternal(void); @@ -87,9 +117,22 @@ static void CB2_PreInitIngamePlayerPartnerBattle(void); static void CB2_HandleStartMultiPartnerBattle(void); static void CB2_HandleStartMultiBattle(void); static void CB2_HandleStartBattle(void); -void shedinja_something(struct Pokemon *mon); -void CreateNPCTrainerParty(struct Pokemon *party, u16 trainerNum, bool8 firstTrainer); +static void TryCorrectShedinjaLanguage(struct Pokemon *mon); +static u8 CreateNPCTrainerParty(struct Pokemon *party, u16 trainerNum, bool8 firstTrainer); void BattleMainCB1(void); +static void sub_8038538(struct Sprite *sprite); +static void sub_8038F14(void); +static void sub_8038F34(void); +static void sub_80392A8(void); +static void sub_803937C(void); +static void sub_803939C(void); +static void oac_poke_opponent(struct Sprite *sprite); +static void sub_803980C(struct Sprite *sprite); +static void sub_8039838(struct Sprite *sprite); +static void sub_8039894(struct Sprite *sprite); +static void sub_80398D0(struct Sprite *sprite); +static void sub_8039A48(struct Sprite *sprite); +void sub_8039AF4(struct Sprite *sprite); void CB2_InitBattle(void) { @@ -129,7 +172,7 @@ static void CB2_InitBattleInternal(void) SetHBlankCallback(NULL); SetVBlankCallback(NULL); - CpuFill32(0, (void *)VRAM, VRAM_SIZE); + CpuFill32(0, (void*)(VRAM), VRAM_SIZE); SetGpuReg(REG_OFFSET_MOSAIC, 0); SetGpuReg(REG_OFFSET_WIN0H, 240); @@ -182,7 +225,7 @@ static void CB2_InitBattleInternal(void) if (gBattleTypeFlags & BATTLE_TYPE_RECORDED) gBattleTerrain = BATTLE_TERRAIN_INSIDE; - c2_berry_program_update_menu(); + sub_80356D0(); LoadBattleTextboxAndBackground(); ResetSpriteData(); ResetTasks(); @@ -573,12 +616,12 @@ static void CB2_HandleStartBattle(void) { ResetBlockReceivedFlags(); memcpy(gEnemyParty + 4, gBlockRecvBuffer[enemyMultiplayerId], sizeof(struct Pokemon) * 2); - shedinja_something(&gEnemyParty[0]); - shedinja_something(&gEnemyParty[1]); - shedinja_something(&gEnemyParty[2]); - shedinja_something(&gEnemyParty[3]); - shedinja_something(&gEnemyParty[4]); - shedinja_something(&gEnemyParty[5]); + TryCorrectShedinjaLanguage(&gEnemyParty[0]); + TryCorrectShedinjaLanguage(&gEnemyParty[1]); + TryCorrectShedinjaLanguage(&gEnemyParty[2]); + TryCorrectShedinjaLanguage(&gEnemyParty[3]); + TryCorrectShedinjaLanguage(&gEnemyParty[4]); + TryCorrectShedinjaLanguage(&gEnemyParty[5]); gBattleCommunication[MULTIUSE_STATE]++; } break; @@ -827,18 +870,18 @@ static void CB2_HandleStartMultiPartnerBattle(void) ResetBlockReceivedFlags(); if (GetMultiplayerId() != 0) memcpy(gEnemyParty + 4, gBlockRecvBuffer[0], sizeof(struct Pokemon) * 2); - shedinja_something(&gPlayerParty[0]); - shedinja_something(&gPlayerParty[1]); - shedinja_something(&gPlayerParty[2]); - shedinja_something(&gPlayerParty[3]); - shedinja_something(&gPlayerParty[4]); - shedinja_something(&gPlayerParty[5]); - shedinja_something(&gEnemyParty[0]); - shedinja_something(&gEnemyParty[1]); - shedinja_something(&gEnemyParty[2]); - shedinja_something(&gEnemyParty[3]); - shedinja_something(&gEnemyParty[4]); - shedinja_something(&gEnemyParty[5]); + TryCorrectShedinjaLanguage(&gPlayerParty[0]); + TryCorrectShedinjaLanguage(&gPlayerParty[1]); + TryCorrectShedinjaLanguage(&gPlayerParty[2]); + TryCorrectShedinjaLanguage(&gPlayerParty[3]); + TryCorrectShedinjaLanguage(&gPlayerParty[4]); + TryCorrectShedinjaLanguage(&gPlayerParty[5]); + TryCorrectShedinjaLanguage(&gEnemyParty[0]); + TryCorrectShedinjaLanguage(&gEnemyParty[1]); + TryCorrectShedinjaLanguage(&gEnemyParty[2]); + TryCorrectShedinjaLanguage(&gEnemyParty[3]); + TryCorrectShedinjaLanguage(&gEnemyParty[4]); + TryCorrectShedinjaLanguage(&gEnemyParty[5]); gBattleCommunication[MULTIUSE_STATE]++; } break; @@ -1262,19 +1305,19 @@ static void CB2_HandleStartMultiBattle(void) } } } - shedinja_something(&gPlayerParty[0]); - shedinja_something(&gPlayerParty[1]); - shedinja_something(&gPlayerParty[2]); - shedinja_something(&gPlayerParty[3]); - shedinja_something(&gPlayerParty[4]); - shedinja_something(&gPlayerParty[5]); - - shedinja_something(&gEnemyParty[0]); - shedinja_something(&gEnemyParty[1]); - shedinja_something(&gEnemyParty[2]); - shedinja_something(&gEnemyParty[3]); - shedinja_something(&gEnemyParty[4]); - shedinja_something(&gEnemyParty[5]); + TryCorrectShedinjaLanguage(&gPlayerParty[0]); + TryCorrectShedinjaLanguage(&gPlayerParty[1]); + TryCorrectShedinjaLanguage(&gPlayerParty[2]); + TryCorrectShedinjaLanguage(&gPlayerParty[3]); + TryCorrectShedinjaLanguage(&gPlayerParty[4]); + TryCorrectShedinjaLanguage(&gPlayerParty[5]); + + TryCorrectShedinjaLanguage(&gEnemyParty[0]); + TryCorrectShedinjaLanguage(&gEnemyParty[1]); + TryCorrectShedinjaLanguage(&gEnemyParty[2]); + TryCorrectShedinjaLanguage(&gEnemyParty[3]); + TryCorrectShedinjaLanguage(&gEnemyParty[4]); + TryCorrectShedinjaLanguage(&gEnemyParty[5]); gBattleCommunication[MULTIUSE_STATE]++; } @@ -1341,3 +1384,991 @@ static void CB2_HandleStartMultiBattle(void) } } +void BattleMainCB2(void) +{ + AnimateSprites(); + BuildOamBuffer(); + RunTextPrinters(); + UpdatePaletteFade(); + RunTasks(); + + if (gMain.heldKeys & B_BUTTON && gBattleTypeFlags & BATTLE_TYPE_RECORDED && sub_8186450()) + { + gScriptResult = gBattleOutcome = BATTLE_PLAYER_TELEPORTED; + ResetPaletteFadeControl(); + BeginNormalPaletteFade(-1, 0, 0, 0x10, 0); + SetMainCallback2(CB2_QuitRecordedBattle); + } +} + +static void FreeRestoreBattleData(void) +{ + gMain.callback1 = gPreBattleCallback1; + gUnknown_02039B28[0x15] = 3; + gMain.inBattle = 0; + ZeroEnemyPartyMons(); + m4aSongNumStop(0x5A); + FreeMonSpritesGfx(); + FreeBattleSpritesData(); + FreeBattleResources(); +} + +void CB2_QuitRecordedBattle(void) +{ + UpdatePaletteFade(); + if (!gPaletteFade.active) + { + m4aMPlayStop(&gMPlay_SE1); + m4aMPlayStop(&gMPlay_SE2); + FreeRestoreBattleData(); + FreeAllWindowBuffers(); + SetMainCallback2(gMain.savedCallback); + } +} + +static void sub_8038528(struct Sprite* sprite) +{ + sprite->data0 = 0; + sprite->callback = sub_8038538; +} + +static void sub_8038538(struct Sprite *sprite) +{ + u16 *arr = (u16*)(gDecompressionBuffer); + + switch (sprite->data0) + { + case 0: + sprite->data0++; + sprite->data1 = 0; + sprite->data2 = 0x281; + sprite->data3 = 0; + sprite->data4 = 1; + // fall through + case 1: + sprite->data4--; + if (sprite->data4 == 0) + { + s32 i; + s32 r2; + s32 r0; + + sprite->data4 = 2; + r2 = sprite->data1 + sprite->data3 * 32; + r0 = sprite->data2 - sprite->data3 * 32; + for (i = 0; i < 29; i += 2) + { + arr[r2 + i] = 0x3D; + arr[r0 + i] = 0x3D; + } + sprite->data3++; + if (sprite->data3 == 21) + { + sprite->data0++; + sprite->data1 = 32; + } + } + break; + case 2: + sprite->data1--; + if (sprite->data1 == 20) + SetMainCallback2(CB2_InitBattle); + break; + } +} + +static u8 CreateNPCTrainerParty(struct Pokemon *party, u16 trainerNum, bool8 firstTrainer) +{ + u32 nameHash = 0; + u32 personalityValue; + u8 fixedIV; + s32 i, j; + u8 monsCount; + + if (trainerNum == SECRET_BASE_OPPONENT) + return 0; + + if (gBattleTypeFlags & BATTLE_TYPE_TRAINER && !(gBattleTypeFlags & (BATTLE_TYPE_FRONTIER + | BATTLE_TYPE_EREADER_TRAINER + | BATTLE_TYPE_x4000000))) + { + if (firstTrainer == TRUE) + ZeroEnemyPartyMons(); + + if (gBattleTypeFlags & BATTLE_TYPE_TWO_OPPONENTS) + { + if (gTrainers[trainerNum].partySize > 3) + monsCount = 3; + else + monsCount = gTrainers[trainerNum].partySize; + } + else + { + monsCount = gTrainers[trainerNum].partySize; + } + + for (i = 0; i < monsCount; i++) + { + + if (gTrainers[trainerNum].doubleBattle == TRUE) + personalityValue = 0x80; + else if (gTrainers[trainerNum].encounterMusic_gender & 0x80) + personalityValue = 0x78; + else + personalityValue = 0x88; + + for (j = 0; gTrainers[trainerNum].trainerName[j] != 0xFF; j++) + nameHash += gTrainers[trainerNum].trainerName[j]; + + switch (gTrainers[trainerNum].partyFlags) + { + case 0: + { + const struct TrainerMonNoItemDefaultMoves *partyData = gTrainers[trainerNum].party.NoItemDefaultMoves; + + for (j = 0; gSpeciesNames[partyData[i].species][j] != 0xFF; j++) + nameHash += gSpeciesNames[partyData[i].species][j]; + + personalityValue += nameHash << 8; + fixedIV = partyData[i].iv * 31 / 255; + CreateMon(&party[i], partyData[i].species, partyData[i].lvl, fixedIV, TRUE, personalityValue, OT_ID_RANDOM_NO_SHINY, 0); + break; + } + case PARTY_FLAG_CUSTOM_MOVES: + { + const struct TrainerMonNoItemCustomMoves *partyData = gTrainers[trainerNum].party.NoItemCustomMoves; + + for (j = 0; gSpeciesNames[partyData[i].species][j] != 0xFF; j++) + nameHash += gSpeciesNames[partyData[i].species][j]; + + personalityValue += nameHash << 8; + fixedIV = partyData[i].iv * 31 / 255; + CreateMon(&party[i], partyData[i].species, partyData[i].lvl, fixedIV, TRUE, personalityValue, 2, 0); + + for (j = 0; j < 4; j++) + { + SetMonData(&party[i], MON_DATA_MOVE1 + j, &partyData[i].moves[j]); + SetMonData(&party[i], MON_DATA_PP1 + j, &gBattleMoves[partyData[i].moves[j]].pp); + } + break; + } + case PARTY_FLAG_HAS_ITEM: + { + const struct TrainerMonItemDefaultMoves *partyData = gTrainers[trainerNum].party.ItemDefaultMoves; + + for (j = 0; gSpeciesNames[partyData[i].species][j] != 0xFF; j++) + nameHash += gSpeciesNames[partyData[i].species][j]; + + personalityValue += nameHash << 8; + fixedIV = partyData[i].iv * 31 / 255; + CreateMon(&party[i], partyData[i].species, partyData[i].lvl, fixedIV, TRUE, personalityValue, 2, 0); + + SetMonData(&party[i], MON_DATA_HELD_ITEM, &partyData[i].heldItem); + break; + } + case PARTY_FLAG_CUSTOM_MOVES | PARTY_FLAG_HAS_ITEM: + { + const struct TrainerMonItemCustomMoves *partyData = gTrainers[trainerNum].party.ItemCustomMoves; + + for (j = 0; gSpeciesNames[partyData[i].species][j] != 0xFF; j++) + nameHash += gSpeciesNames[partyData[i].species][j]; + + personalityValue += nameHash << 8; + fixedIV = partyData[i].iv * 31 / 255; + CreateMon(&party[i], partyData[i].species, partyData[i].lvl, fixedIV, TRUE, personalityValue, 2, 0); + + SetMonData(&party[i], MON_DATA_HELD_ITEM, &partyData[i].heldItem); + + for (j = 0; j < 4; j++) + { + SetMonData(&party[i], MON_DATA_MOVE1 + j, &partyData[i].moves[j]); + SetMonData(&party[i], MON_DATA_PP1 + j, &gBattleMoves[partyData[i].moves[j]].pp); + } + break; + } + } + } + + gBattleTypeFlags |= gTrainers[trainerNum].doubleBattle; + } + + return gTrainers[trainerNum].partySize; +} + +void sub_8038A04(void) // unused +{ + if (REG_VCOUNT < 0xA0 && REG_VCOUNT >= 0x6F) + SetGpuReg(REG_OFFSET_BG0CNT, 0x9800); +} + +void VBlankCB_Battle(void) +{ + // change gRngSeed every vblank unless the battle could be recorded + if (!(gBattleTypeFlags & (BATTLE_TYPE_LINK | BATTLE_TYPE_FRONTIER | BATTLE_TYPE_RECORDED))) + Random(); + + SetGpuReg(REG_OFFSET_BG0HOFS, gBattle_BG0_X); + SetGpuReg(REG_OFFSET_BG0VOFS, gBattle_BG0_Y); + SetGpuReg(REG_OFFSET_BG1HOFS, gBattle_BG1_X); + SetGpuReg(REG_OFFSET_BG1VOFS, gBattle_BG1_Y); + SetGpuReg(REG_OFFSET_BG2HOFS, gBattle_BG2_X); + SetGpuReg(REG_OFFSET_BG2VOFS, gBattle_BG2_Y); + SetGpuReg(REG_OFFSET_BG3HOFS, gBattle_BG3_X); + SetGpuReg(REG_OFFSET_BG3VOFS, gBattle_BG3_Y); + SetGpuReg(REG_OFFSET_WIN0H, gBattle_WIN0H); + SetGpuReg(REG_OFFSET_WIN0V, gBattle_WIN0V); + SetGpuReg(REG_OFFSET_WIN1H, gBattle_WIN1H); + SetGpuReg(REG_OFFSET_WIN1V, gBattle_WIN1V); + LoadOam(); + ProcessSpriteCopyRequests(); + TransferPlttBuffer(); + sub_80BA0A8(); +} + +void nullsub_17(void) +{ + +} + +static void sub_8038B04(struct Sprite *sprite) +{ + if (sprite->data0 != 0) + sprite->pos1.x = sprite->data1 + ((sprite->data2 & 0xFF00) >> 8); + else + sprite->pos1.x = sprite->data1 - ((sprite->data2 & 0xFF00) >> 8); + + sprite->data2 += 0x180; + + if (sprite->affineAnimEnded) + { + FreeSpriteTilesByTag(0x2710); + FreeSpritePaletteByTag(0x2710); + FreeSpriteOamMatrix(sprite); + DestroySprite(sprite); + } +} + +void sub_8038B74(struct Sprite *sprite) +{ + StartSpriteAffineAnim(sprite, 1); + sprite->callback = sub_8038B04; + PlaySE(SE_BT_START); +} + +static void sub_8038B94(u8 taskId) +{ + struct Pokemon *sp4 = NULL; + struct Pokemon *sp8 = NULL; + u8 r2 = gBattleScripting.multiplayerId; + u32 r7; + s32 i; + + if (gBattleTypeFlags & BATTLE_TYPE_MULTI) + { + switch (gLinkPlayers[r2].lp_field_18) + { + case 0: + case 2: + sp4 = gPlayerParty; + sp8 = gEnemyParty; + break; + case 1: + case 3: + sp4 = gEnemyParty; + sp8 = gPlayerParty; + break; + } + } + else + { + sp4 = gPlayerParty; + sp8 = gEnemyParty; + } + + r7 = 0; + for (i = 0; i < 6; i++) + { + u16 species = GetMonData(&sp4[i], MON_DATA_SPECIES2); + u16 hp = GetMonData(&sp4[i], MON_DATA_HP); + u32 status = GetMonData(&sp4[i], MON_DATA_STATUS); + + if (species == SPECIES_NONE) + continue; + if (species != SPECIES_EGG && hp != 0 && status == 0) + r7 |= 1 << i * 2; + + if (species == 0) + continue; + if (hp != 0 && (species == SPECIES_EGG || status != 0)) + r7 |= 2 << i * 2; + + if (species == 0) + continue; + if (species != SPECIES_EGG && hp == 0) + r7 |= 3 << i * 2; + } + gTasks[taskId].data[3] = r7; + + r7 = 0; + for (i = 0; i < 6; i++) + { + u16 species = GetMonData(&sp8[i], MON_DATA_SPECIES2); + u16 hp = GetMonData(&sp8[i], MON_DATA_HP); + u32 status = GetMonData(&sp8[i], MON_DATA_STATUS); + + if (species == SPECIES_NONE) + continue; + if (species != SPECIES_EGG && hp != 0 && status == 0) + r7 |= 1 << i * 2; + + if (species == SPECIES_NONE) + continue; + if (hp != 0 && (species == SPECIES_EGG || status != 0)) + r7 |= 2 << i * 2; + + if (species == SPECIES_NONE) + continue; + if (species != SPECIES_EGG && hp == 0) + r7 |= 3 << i * 2; + } + gTasks[taskId].data[4] = r7; +} + +void sub_8038D64(void) +{ + s32 i; + u8 taskId; + + SetHBlankCallback(NULL); + SetVBlankCallback(NULL); + gBattleTypeFlags &= ~(BATTLE_TYPE_20); + + if (gBattleTypeFlags & BATTLE_TYPE_FRONTIER) + { + SetMainCallback2(gMain.savedCallback); + FreeBattleResources(); + FreeBattleSpritesData(); + FreeMonSpritesGfx(); + } + else + { + CpuFill32(0, (void*)(VRAM), VRAM_SIZE); + SetGpuReg(REG_OFFSET_MOSAIC, 0); + SetGpuReg(REG_OFFSET_WIN0H, 0xF0); + SetGpuReg(REG_OFFSET_WIN0V, 0x5051); + SetGpuReg(REG_OFFSET_WININ, 0); + SetGpuReg(REG_OFFSET_WINOUT, 0); + gBattle_WIN0H = 0xF0; + gBattle_WIN0V = 0x5051; + dp12_8087EA4(); + + for (i = 0; i < 80; i++) + { + gUnknown_02038C28.unk0[i] = 0xF0; + gUnknown_02038C28.unk780[i] = 0xF0; + } + for (i = 80; i < 160; i++) + { + asm(""::"r"(i)); // Needed to stop the compiler from optimizing out the loop counter + gUnknown_02038C28.unk0[i] = 0xFF10; + gUnknown_02038C28.unk780[i] = 0xFF10; + } + + ResetPaletteFade(); + + gBattle_BG0_X = 0; + gBattle_BG0_Y = 0; + gBattle_BG1_X = 0; + gBattle_BG1_Y = 0; + gBattle_BG2_X = 0; + gBattle_BG2_Y = 0; + gBattle_BG3_X = 0; + gBattle_BG3_Y = 0; + + sub_80356D0(); + LoadCompressedPalette(gUnknown_08C004E0, 0, 64); + ApplyPlayerChosenFrameToBattleMenu(); + ResetSpriteData(); + ResetTasks(); + LoadBattleEntryBackground(); + SetGpuReg(REG_OFFSET_WINOUT, 0x37); + FreeAllSpritePalettes(); + gReservedSpritePaletteCount = 4; + SetVBlankCallback(VBlankCB_Battle); + + taskId = CreateTask(task00_0800F6FC, 0); + gTasks[taskId].data[1] = 0x10E; + gTasks[taskId].data[2] = 0x5A; + gTasks[taskId].data[5] = 1; + sub_8038B94(taskId); + SetMainCallback2(sub_8038F14); + gBattleCommunication[MULTIUSE_STATE] = 0; + } +} + +static void sub_8038F14(void) +{ + sub_8038F34(); + AnimateSprites(); + BuildOamBuffer(); + RunTextPrinters(); + UpdatePaletteFade(); + RunTasks(); +} + +static void sub_8038F34(void) +{ + s32 i; + + switch (gBattleCommunication[MULTIUSE_STATE]) + { + case 0: + ShowBg(0); + ShowBg(1); + ShowBg(2); + gBattleCommunication[1] = 0xFF; + gBattleCommunication[MULTIUSE_STATE]++; + break; + case 1: + if (--gBattleCommunication[1] == 0) + { + BeginNormalPaletteFade(-1, 0, 0, 0x10, 0); + gBattleCommunication[MULTIUSE_STATE]++; + } + break; + case 2: + if (!gPaletteFade.active) + { + u8 monsCount; + + gMain.field_439_x4 = sub_8185FAC(); + + if (gBattleTypeFlags & BATTLE_TYPE_MULTI) + monsCount = 4; + else + monsCount = 2; + + for (i = 0; i < monsCount && (gLinkPlayers[i].version & 0xFF) == 3; i++); + + if (!gSaveBlock2Ptr->field_CA9_b && i == monsCount) + { + if (FlagGet(SYS_FRONTIER_PASS)) + { + FreeAllWindowBuffers(); + SetMainCallback2(sub_80392A8); + } + else if (!gMain.field_439_x4) + { + SetMainCallback2(gMain.savedCallback); + FreeBattleResources(); + FreeBattleSpritesData(); + FreeMonSpritesGfx(); + } + else if (gReceivedRemoteLinkPlayers == 0) + { + CreateTask(sub_80B3AF8, 5); + gBattleCommunication[MULTIUSE_STATE]++; + } + else + { + gBattleCommunication[MULTIUSE_STATE]++; + } + } + else + { + SetMainCallback2(gMain.savedCallback); + FreeBattleResources(); + FreeBattleSpritesData(); + FreeMonSpritesGfx(); + } + } + break; + case 3: + CpuFill32(0, (void*)(VRAM), VRAM_SIZE); + + for (i = 0; i < 2; i++) + LoadChosenBattleElement(i); + + BeginNormalPaletteFade(-1, 0, 0x10, 0, 0); + gBattleCommunication[MULTIUSE_STATE]++; + break; + case 4: + if (!gPaletteFade.active) + gBattleCommunication[MULTIUSE_STATE]++; + break; + case 5: + if (!FuncIsActiveTask(sub_80B3AF8)) + gBattleCommunication[MULTIUSE_STATE]++; + break; + case 6: + if (sub_800A520() == TRUE) + { + sub_800ADF8(); + sub_814F9EC(gText_LinkStandby3, 0); + gBattleCommunication[MULTIUSE_STATE]++; + } + break; + case 7: + if (!IsTextPrinterActive(0)) + { + if (sub_800A520() == TRUE) + gBattleCommunication[MULTIUSE_STATE]++; + } + break; + case 8: + if (!gLinkVSyncDisabled) + sub_800AC34(); + gBattleCommunication[MULTIUSE_STATE]++; + break; + case 9: + if (!gMain.field_439_x4 || gLinkVSyncDisabled || gReceivedRemoteLinkPlayers != 1) + { + gMain.field_439_x4 = 0; + SetMainCallback2(gMain.savedCallback); + FreeBattleResources(); + FreeBattleSpritesData(); + FreeMonSpritesGfx(); + } + break; + } +} + +u32 sub_80391E0(u8 arrayId, u8 caseId) +{ + u32 ret = 0; + + switch (caseId) + { + case 0: + ret = gUnknown_0831AA08[arrayId].bg; + break; + case 1: + ret = gUnknown_0831AA08[arrayId].charBaseIndex; + break; + case 2: + ret = gUnknown_0831AA08[arrayId].mapBaseIndex; + break; + case 3: + ret = gUnknown_0831AA08[arrayId].screenSize; + break; + case 4: + ret = gUnknown_0831AA08[arrayId].paletteMode; + break; + case 5: + ret = gUnknown_0831AA08[arrayId].priority; + break; + case 6: + ret = gUnknown_0831AA08[arrayId].baseTile; + break; + } + + return ret; +} + +static void sub_80392A8(void) +{ + s32 i; + + SetHBlankCallback(NULL); + SetVBlankCallback(NULL); + CpuFill32(0, (void*)(VRAM), VRAM_SIZE); + ResetPaletteFade(); + gBattle_BG0_X = 0; + gBattle_BG0_Y = 0; + gBattle_BG1_X = 0; + gBattle_BG1_Y = 0; + gBattle_BG2_X = 0; + gBattle_BG2_Y = 0; + gBattle_BG3_X = 0; + gBattle_BG3_Y = 0; + sub_80356D0(); + SetGpuReg(REG_OFFSET_DISPCNT, DISPCNT_OBJ_ON | DISPCNT_OBJ_1D_MAP); + ApplyPlayerChosenFrameToBattleMenu(); + + for (i = 0; i < 2; i++) + LoadChosenBattleElement(i); + + ResetSpriteData(); + ResetTasks(); + FreeAllSpritePalettes(); + gReservedSpritePaletteCount = 4; + SetVBlankCallback(VBlankCB_Battle); + SetMainCallback2(sub_803937C); + BeginNormalPaletteFade(-1, 0, 0x10, 0, 0); + gBattleCommunication[MULTIUSE_STATE] = 0; +} + +static void sub_803937C(void) +{ + sub_803939C(); + AnimateSprites(); + BuildOamBuffer(); + RunTextPrinters(); + UpdatePaletteFade(); + RunTasks(); +} + +static void sub_803939C(void) +{ + switch (gBattleCommunication[MULTIUSE_STATE]) + { + case 0: + ShowBg(0); + ShowBg(1); + ShowBg(2); + gBattleCommunication[MULTIUSE_STATE]++; + break; + case 1: + if (gMain.field_439_x4 && gReceivedRemoteLinkPlayers == 0) + CreateTask(sub_80B3AF8, 5); + gBattleCommunication[MULTIUSE_STATE]++; + break; + case 2: + if (!FuncIsActiveTask(sub_80B3AF8)) + gBattleCommunication[MULTIUSE_STATE]++; + break; + case 3: + if (!gPaletteFade.active) + { + sub_814F9EC(gText_RecordBattleToPass, 0); + gBattleCommunication[MULTIUSE_STATE]++; + } + break; + case 4: + if (!IsTextPrinterActive(0)) + { + sub_8056A3C(0x18, 8, 0x1D, 0xD, 0); + sub_814F9EC(gText_BattleYesNoChoice, 0xC); + gBattleCommunication[CURSOR_POSITION] = 1; + BattleCreateCursorAt(1); + gBattleCommunication[MULTIUSE_STATE]++; + } + break; + case 5: + if (gMain.newKeys & DPAD_UP) + { + if (gBattleCommunication[CURSOR_POSITION] != 0) + { + PlaySE(SE_SELECT); + BattleDestroyCursorAt(gBattleCommunication[CURSOR_POSITION]); + gBattleCommunication[CURSOR_POSITION] = 0; + BattleCreateCursorAt(0); + } + } + else if (gMain.newKeys & DPAD_DOWN) + { + if (gBattleCommunication[CURSOR_POSITION] == 0) + { + PlaySE(SE_SELECT); + BattleDestroyCursorAt(gBattleCommunication[CURSOR_POSITION]); + gBattleCommunication[CURSOR_POSITION] = 1; + BattleCreateCursorAt(1); + } + } + else if (gMain.newKeys & A_BUTTON) + { + PlaySE(SE_SELECT); + if (gBattleCommunication[CURSOR_POSITION] == 0) + { + sub_8056A3C(0x18, 8, 0x1D, 0xD, 1); + gBattleCommunication[1] = MoveRecordedBattleToSaveData(); + gBattleCommunication[MULTIUSE_STATE] = 10; + } + else + { + gBattleCommunication[MULTIUSE_STATE]++; + } + } + else if (gMain.newKeys & B_BUTTON) + { + PlaySE(SE_SELECT); + gBattleCommunication[MULTIUSE_STATE]++; + } + break; + case 6: + if (sub_800A520() == TRUE) + { + sub_8056A3C(0x18, 8, 0x1D, 0xD, 1); + if (gMain.field_439_x4) + { + sub_800ADF8(); + sub_814F9EC(gText_LinkStandby3, 0); + } + gBattleCommunication[MULTIUSE_STATE]++; + } + break; + case 8: + if (--gBattleCommunication[1] == 0) + { + if (gMain.field_439_x4 && !gLinkVSyncDisabled) + sub_800AC34(); + gBattleCommunication[MULTIUSE_STATE]++; + } + break; + case 9: + if (!gMain.field_439_x4 || gLinkVSyncDisabled || gReceivedRemoteLinkPlayers != 1) + { + gMain.field_439_x4 = 0; + if (!gPaletteFade.active) + { + SetMainCallback2(gMain.savedCallback); + FreeBattleResources(); + FreeBattleSpritesData(); + FreeMonSpritesGfx(); + } + } + break; + case 10: + if (gBattleCommunication[1] == 1) + { + PlaySE(SE_SAVE); + BattleStringExpandPlaceholdersToDisplayedString(gText_BattleRecordedOnPass); + sub_814F9EC(gDisplayedStringBattle, 0); + gBattleCommunication[1] = 0x80; + gBattleCommunication[MULTIUSE_STATE]++; + } + else + { + BattleStringExpandPlaceholdersToDisplayedString(gText_BattleRecordCouldntBeSaved); + sub_814F9EC(gDisplayedStringBattle, 0); + gBattleCommunication[1] = 0x80; + gBattleCommunication[MULTIUSE_STATE]++; + } + break; + case 11: + if (sub_800A520() == TRUE && !IsTextPrinterActive(0) && --gBattleCommunication[1] == 0) + { + if (gMain.field_439_x4) + { + sub_800ADF8(); + sub_814F9EC(gText_LinkStandby3, 0); + } + gBattleCommunication[MULTIUSE_STATE]++; + } + break; + case 12: + case 7: + if (!IsTextPrinterActive(0)) + { + if (gMain.field_439_x4) + { + if (sub_800A520() == TRUE) + { + BeginNormalPaletteFade(-1, 0, 0, 0x10, 0); + gBattleCommunication[1] = 0x20; + gBattleCommunication[MULTIUSE_STATE] = 8; + } + + } + else + { + BeginNormalPaletteFade(-1, 0, 0, 0x10, 0); + gBattleCommunication[1] = 0x20; + gBattleCommunication[MULTIUSE_STATE] = 8; + } + } + break; + } +} + +static void TryCorrectShedinjaLanguage(struct Pokemon *mon) +{ + u8 nickname[POKEMON_NAME_LENGTH + 1]; + u8 language = LANGUAGE_JAPANESE; + + if (GetMonData(mon, MON_DATA_SPECIES) == SPECIES_SHEDINJA + && GetMonData(mon, MON_DATA_LANGUAGE) != language) + { + GetMonData(mon, MON_DATA_NICKNAME, nickname); + if (StringCompareWithoutExtCtrlCodes(nickname, gText_ShedinjaJapaneseName) == 0) + SetMonData(mon, MON_DATA_LANGUAGE, &language); + } +} + +u32 sub_80397C4(u32 setId, u32 tableId) +{ + return gUnknown_0831ABA0[setId][tableId].width * 8; +} + +#define tBank data0 +#define tSpeciesId data2 + +static void oac_poke_opponent(struct Sprite *sprite) +{ + sprite->callback = sub_803980C; + StartSpriteAnimIfDifferent(sprite, 0); + BeginNormalPaletteFade(0x20000, 0, 10, 10, 0x2108); +} + +static void sub_803980C(struct Sprite *sprite) +{ + if ((gUnknown_020243FC & 1) == 0) + { + sprite->pos2.x += 2; + if (sprite->pos2.x == 0) + { + sprite->callback = sub_8039838; + } + } +} + +static void sub_8039838(struct Sprite *sprite) +{ + if (sprite->animEnded) + { + sub_8076918(sprite->tBank); + sub_80729D0(gHealthBoxesIds[sprite->tBank]); + sprite->callback = sub_8039894; + StartSpriteAnimIfDifferent(sprite, 0); + BeginNormalPaletteFade(0x20000, 0, 10, 0, 0x2108); + } +} + +static void sub_8039894(struct Sprite *sprite) +{ + if (!gPaletteFade.active) + { + BattleAnimateFrontSprite(sprite, sprite->tSpeciesId, FALSE, 1); + } +} + +void SpriteCallbackDummy_2(struct Sprite *sprite) +{ + +} + +static void sub_80398BC(struct Sprite *sprite) // unused? +{ + sprite->data3 = 6; + sprite->data4 = 1; + sprite->callback = sub_80398D0; +} + +extern u32 gUnknown_02022F88; +extern u16 gBattlePartyID[BATTLE_BANKS_COUNT]; +extern u8 gBattleMonForms[BATTLE_BANKS_COUNT]; + +static void sub_80398D0(struct Sprite *sprite) +{ + sprite->data4--; + if (sprite->data4 == 0) + { + sprite->data4 = 8; + sprite->invisible ^= 1; + sprite->data3--; + if (sprite->data3 == 0) + { + sprite->invisible = FALSE; + sprite->callback = SpriteCallbackDummy_2; + gUnknown_02022F88 = 0; + } + } +} + +// to get rid of once the struct is declared in a header +struct MonCoords +{ + // This would use a bitfield, but sub_8079F44 + // uses it as a u8 and casting won't match. + u8 coords; // u8 x:4, y:4; + u8 y_offset; +}; + +extern const struct MonCoords gMonFrontPicCoords[]; +extern const struct MonCoords gCastformFrontSpriteCoords[]; + +void sub_8039934(struct Sprite *sprite) +{ + u8 bank = sprite->tBank; + u16 species; + u8 yOffset; + + if (gBattleSpritesDataPtr->bankData[bank].transformSpecies != 0) + species = gBattleSpritesDataPtr->bankData[bank].transformSpecies; + else + species = sprite->tSpeciesId; + + GetMonData(&gEnemyParty[gBattlePartyID[bank]], MON_DATA_PERSONALITY); // Unused return value + + if (species == SPECIES_UNOWN) + { + u32 personalityValue = GetMonData(&gEnemyParty[gBattlePartyID[bank]], MON_DATA_PERSONALITY); + u16 unownForm = ((((personalityValue & 0x3000000) >> 18) | ((personalityValue & 0x30000) >> 12) | ((personalityValue & 0x300) >> 6) | (personalityValue & 3)) % 0x1C); + u16 unownSpecies; + + if (unownForm == 0) + unownSpecies = SPECIES_UNOWN; // Use the A Unown form + else + unownSpecies = NUM_SPECIES + unownForm; // Use one of the other Unown letters + + yOffset = gMonFrontPicCoords[unownSpecies].y_offset; + } + else if (species == SPECIES_CASTFORM) + { + yOffset = gCastformFrontSpriteCoords[gBattleMonForms[bank]].y_offset; + } + else if (species > NUM_SPECIES) + { + yOffset = gMonFrontPicCoords[SPECIES_NONE].y_offset; + } + else + { + yOffset = gMonFrontPicCoords[species].y_offset; + } + + sprite->data3 = 8 - yOffset / 8; + sprite->data4 = 1; + sprite->callback = sub_8039A48; +} + +static void sub_8039A48(struct Sprite *sprite) +{ + s32 i; + + sprite->data4--; + if (sprite->data4 == 0) + { + sprite->data4 = 2; + sprite->pos2.y += 8; + sprite->data3--; + if (sprite->data3 < 0) + { + FreeSpriteOamMatrix(sprite); + DestroySprite(sprite); + } + else + { + u8 *dst = (u8 *)gMonSpritesGfxPtr->sprites[GetBankIdentity(sprite->tBank)] + (gBattleMonForms[sprite->tBank] << 11) + (sprite->data3 << 8); + + for (i = 0; i < 0x100; i++) + *(dst++) = 0; + + StartSpriteAnim(sprite, gBattleMonForms[sprite->tBank]); + } + } +} + +void sub_8039AD8(struct Sprite *sprite) +{ + sprite->data3 = 8; + sprite->data4 = sprite->invisible; + sprite->callback = sub_8039AF4; +} + +void sub_8039AF4(struct Sprite *sprite) +{ + sprite->data3--; + if (sprite->data3 == 0) + { + sprite->invisible ^= 1; + sprite->data3 = 8; + } +} + +void sub_8039B2C(struct Sprite *sprite) +{ + sprite->invisible = sprite->data4; + sprite->data4 = FALSE; + sprite->callback = SpriteCallbackDummy_2; +} + diff --git a/src/battle_script_commands.c b/src/battle_script_commands.c index 3b719b8ed..03e1b6a4a 100644 --- a/src/battle_script_commands.c +++ b/src/battle_script_commands.c @@ -145,7 +145,7 @@ extern u16 GetBattlePyramidPickupItemId(void); extern u8 sav1_map_get_light_level(void); extern u8 sub_813B21C(void); extern u16 get_unknown_box_id(void); -extern void c2_berry_program_update_menu(void); +extern void sub_80356D0(void); // BattleScripts extern const u8 BattleScript_MoveEnd[]; @@ -11216,7 +11216,7 @@ static void atkF2_display_dex_info(void) } break; case 3: - c2_berry_program_update_menu(); + sub_80356D0(); LoadBattleTextboxAndBackground(); gBattle_BG3_X = 0x100; gBattleCommunication[0]++; diff --git a/src/egg_hatch.c b/src/egg_hatch.c index c5cee6357..4e4c10090 100644 --- a/src/egg_hatch.c +++ b/src/egg_hatch.c @@ -65,7 +65,7 @@ extern void fade_screen(u8, u8); extern void overworld_free_bg_tilemaps(void); extern void sub_80AF168(void); extern void AllocateMonSpritesGfx(void); -extern void sub_805F094(void); +extern void FreeMonSpritesGfx(void); extern void remove_some_task(void); extern void reset_temp_tile_data_buffers(void); extern void c2_exit_to_overworld_2_switch(void); @@ -570,7 +570,7 @@ static void CB2_EggHatch_0(void) static void EggHatchSetMonNickname(void) { SetMonData(&gPlayerParty[gSpecialVar_0x8004], MON_DATA_NICKNAME, gStringVar3); - sub_805F094(); + FreeMonSpritesGfx(); Free(sEggHatchData); SetMainCallback2(c2_exit_to_overworld_2_switch); } @@ -691,7 +691,7 @@ static void CB2_EggHatch_1(void) case 12: if (!gPaletteFade.active) { - sub_805F094(); + FreeMonSpritesGfx(); RemoveWindow(sEggHatchData->windowId); UnsetBgTilemapBuffer(0); UnsetBgTilemapBuffer(1); diff --git a/sym_ewram.txt b/sym_ewram.txt index ce3b4f250..aecb28dac 100644 --- a/sym_ewram.txt +++ b/sym_ewram.txt @@ -520,7 +520,7 @@ gUnknown_020244BC: @ 20244BC gUnknown_020244CC: @ 20244CC .space 0x4 -gUnknown_020244D0: @ 20244D0 +gBattleSpritesDataPtr: @ 20244D0 .space 0x4 gMonSpritesGfxPtr: @ 20244D4 |