diff options
Diffstat (limited to 'asm/reshow_battle_screen.s')
-rw-r--r-- | asm/reshow_battle_screen.s | 1190 |
1 files changed, 0 insertions, 1190 deletions
diff --git a/asm/reshow_battle_screen.s b/asm/reshow_battle_screen.s deleted file mode 100644 index 9ec3e3580..000000000 --- a/asm/reshow_battle_screen.s +++ /dev/null @@ -1,1190 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .syntax unified - - .text - - thumb_func_start nullsub_44 -nullsub_44: @ 8077760 - bx lr - thumb_func_end nullsub_44 - - thumb_func_start sub_8077764 -sub_8077764: @ 8077764 - push {lr} - ldr r2, _080777B0 @ =gPaletteFade - ldrb r0, [r2, 0x8] - movs r1, 0x80 - orrs r0, r1 - strb r0, [r2, 0x8] - movs r0, 0 - bl SetHBlankCallback - movs r0, 0x4C - movs r1, 0 - bl SetGpuReg - ldr r0, _080777B4 @ =gBattleScripting - adds r2, r0, 0 - adds r2, 0x21 - movs r1, 0 - strb r1, [r2] - adds r0, 0x22 - strb r1, [r0] - ldr r0, _080777B8 @ =gBattleTypeFlags - ldr r1, [r0] - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - bne _080777DA - movs r0, 0x8 - ands r0, r1 - cmp r0, 0 - beq _080777C4 - movs r0, 0x1 - ands r1, r0 - cmp r1, 0 - beq _080777BC - movs r0, 0x19 - bl HelpSystem_SetSomeVariable2 - b _080777DA - .align 2, 0 -_080777B0: .4byte gPaletteFade -_080777B4: .4byte gBattleScripting -_080777B8: .4byte gBattleTypeFlags -_080777BC: - movs r0, 0x18 - bl HelpSystem_SetSomeVariable2 - b _080777DA -_080777C4: - movs r0, 0x80 - ands r1, r0 - cmp r1, 0 - beq _080777D4 - movs r0, 0x1A - bl HelpSystem_SetSomeVariable2 - b _080777DA -_080777D4: - movs r0, 0x17 - bl HelpSystem_SetSomeVariable2 -_080777DA: - ldr r0, _080777E4 @ =sub_80777E8 - bl SetMainCallback2 - pop {r0} - bx r0 - .align 2, 0 -_080777E4: .4byte sub_80777E8 - thumb_func_end sub_8077764 - - thumb_func_start sub_80777E8 -sub_80777E8: @ 80777E8 - push {r4-r7,lr} - sub sp, 0x8 - ldr r0, _08077804 @ =gBattleScripting - adds r0, 0x21 - ldrb r0, [r0] - cmp r0, 0x14 - bls _080777F8 - b _08077A8A -_080777F8: - lsls r0, 2 - ldr r1, _08077808 @ =_0807780C - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_08077804: .4byte gBattleScripting -_08077808: .4byte _0807780C - .align 2, 0 -_0807780C: - .4byte _08077860 - .4byte _08077866 - .4byte _080778E8 - .4byte _08077900 - .4byte _08077906 - .4byte _08077918 - .4byte _0807791E - .4byte _08077946 - .4byte _0807794A - .4byte _0807794E - .4byte _08077952 - .4byte _08077970 - .4byte _08077978 - .4byte _08077980 - .4byte _08077988 - .4byte _08077990 - .4byte _08077998 - .4byte _080779A0 - .4byte _080779A8 - .4byte _080779B0 - .4byte _08077A5C -_08077860: - bl ResetSpriteData - b _08077A8A -_08077866: - movs r0, 0 - bl SetVBlankCallback - bl ScanlineEffect_Clear - bl sub_800F324 - movs r0, 0x1 - movs r1, 0x1 - movs r2, 0 - bl SetBgAttribute - movs r0, 0x2 - movs r1, 0x1 - movs r2, 0 - bl SetBgAttribute - movs r0, 0 - bl ShowBg - movs r0, 0x1 - bl ShowBg - movs r0, 0x2 - bl ShowBg - movs r0, 0x3 - bl ShowBg - bl ResetPaletteFade - ldr r0, _080778C8 @ =gBattle_BG0_X - movs r1, 0 - strh r1, [r0] - ldr r0, _080778CC @ =gBattle_BG0_Y - strh r1, [r0] - ldr r0, _080778D0 @ =gBattle_BG1_X - strh r1, [r0] - ldr r0, _080778D4 @ =gBattle_BG1_Y - strh r1, [r0] - ldr r0, _080778D8 @ =gBattle_BG2_X - strh r1, [r0] - ldr r0, _080778DC @ =gBattle_BG2_Y - strh r1, [r0] - ldr r0, _080778E0 @ =gBattle_BG3_X - strh r1, [r0] - ldr r0, _080778E4 @ =gBattle_BG3_Y - strh r1, [r0] - b _08077A8A - .align 2, 0 -_080778C8: .4byte gBattle_BG0_X -_080778CC: .4byte gBattle_BG0_Y -_080778D0: .4byte gBattle_BG1_X -_080778D4: .4byte gBattle_BG1_Y -_080778D8: .4byte gBattle_BG2_X -_080778DC: .4byte gBattle_BG2_Y -_080778E0: .4byte gBattle_BG3_X -_080778E4: .4byte gBattle_BG3_Y -_080778E8: - movs r0, 0 - str r0, [sp, 0x4] - movs r1, 0xC0 - lsls r1, 19 - ldr r2, _080778FC @ =0x01006000 - add r0, sp, 0x4 - bl CpuFastSet - b _08077A8A - .align 2, 0 -_080778FC: .4byte 0x01006000 -_08077900: - bl LoadBattleTextboxAndBackground - b _08077A8A -_08077906: - bl FreeAllSpritePalettes - ldr r1, _08077914 @ =gReservedSpritePaletteCount - movs r0, 0x4 - strb r0, [r1] - b _08077A8A - .align 2, 0 -_08077914: .4byte gReservedSpritePaletteCount -_08077918: - bl ClearSpritesHealthboxAnimData - b _08077A8A -_0807791E: - ldr r5, _08077938 @ =gBattleScripting - adds r4, r5, 0 - adds r4, 0x22 - ldrb r0, [r4] - bl BattleLoadAllHealthBoxesGfx - lsls r0, 24 - cmp r0, 0 - beq _0807793C - movs r0, 0 - strb r0, [r4] - b _08077A8A - .align 2, 0 -_08077938: .4byte gBattleScripting -_0807793C: - ldrb r0, [r4] - adds r0, 0x1 - strb r0, [r4] - adds r1, r5, 0 - b _08077962 -_08077946: - movs r0, 0 - b _08077954 -_0807794A: - movs r0, 0x1 - b _08077954 -_0807794E: - movs r0, 0x2 - b _08077954 -_08077952: - movs r0, 0x3 -_08077954: - bl sub_8077B0C - lsls r0, 24 - cmp r0, 0 - beq _08077960 - b _08077A8A -_08077960: - ldr r1, _0807796C @ =gBattleScripting -_08077962: - adds r1, 0x21 - ldrb r0, [r1] - subs r0, 0x1 - strb r0, [r1] - b _08077A8A - .align 2, 0 -_0807796C: .4byte gBattleScripting -_08077970: - movs r0, 0 - bl sub_8077C38 - b _08077A8A -_08077978: - movs r0, 0x1 - bl sub_8077C38 - b _08077A8A -_08077980: - movs r0, 0x2 - bl sub_8077C38 - b _08077A8A -_08077988: - movs r0, 0x3 - bl sub_8077C38 - b _08077A8A -_08077990: - movs r0, 0 - bl CreateHealthboxSprite - b _08077A8A -_08077998: - movs r0, 0x1 - bl CreateHealthboxSprite - b _08077A8A -_080779A0: - movs r0, 0x2 - bl CreateHealthboxSprite - b _08077A8A -_080779A8: - movs r0, 0x3 - bl CreateHealthboxSprite - b _08077A8A -_080779B0: - bl LoadAndCreateEnemyShadowSprites - movs r0, 0x1 - bl GetBattlerAtPosition - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - ldr r7, _08077A44 @ =gBattlerPartyIndexes - lsls r0, r4, 1 - adds r0, r7 - ldrh r0, [r0] - movs r6, 0x64 - muls r0, r6 - ldr r5, _08077A48 @ =gEnemyParty - adds r0, r5 - movs r1, 0xB - bl GetMonData - adds r1, r0, 0 - lsls r1, 16 - lsrs r1, 16 - adds r0, r4, 0 - bl SetBankEnemyShadowSpriteCallback - bl sub_8075290 - lsls r0, 24 - cmp r0, 0 - beq _08077A14 - movs r0, 0x3 - bl GetBattlerAtPosition - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - lsls r0, r4, 1 - adds r0, r7 - ldrh r0, [r0] - muls r0, r6 - adds r0, r5 - movs r1, 0xB - bl GetMonData - adds r1, r0, 0 - lsls r1, 16 - lsrs r1, 16 - adds r0, r4, 0 - bl SetBankEnemyShadowSpriteCallback -_08077A14: - ldr r1, _08077A4C @ =gUnknown_2023FF8 - ldr r0, _08077A50 @ =gBattlerInMenuId - ldrb r0, [r0] - adds r0, r1 - ldrb r0, [r0] - movs r1, 0 - bl ActionSelectionCreateCursorAt - ldr r0, _08077A54 @ =gWirelessCommType - ldrb r0, [r0] - cmp r0, 0 - beq _08077A8A - ldr r0, _08077A58 @ =gReceivedRemoteLinkPlayers - ldrb r0, [r0] - cmp r0, 0 - beq _08077A8A - bl sub_80FCEA8 - movs r0, 0 - movs r1, 0 - bl sub_80FCD74 - b _08077A8A - .align 2, 0 -_08077A44: .4byte gBattlerPartyIndexes -_08077A48: .4byte gEnemyParty -_08077A4C: .4byte gUnknown_2023FF8 -_08077A50: .4byte gBattlerInMenuId -_08077A54: .4byte gWirelessCommType -_08077A58: .4byte gReceivedRemoteLinkPlayers -_08077A5C: - ldr r0, _08077A9C @ =sub_80116F4 - bl SetVBlankCallback - bl sub_8077AAC - movs r0, 0x1 - str r0, [sp] - movs r0, 0xFF - movs r1, 0 - movs r2, 0x10 - movs r3, 0 - bl BeginHardwarePaletteFade - ldr r2, _08077AA0 @ =gPaletteFade - ldrb r1, [r2, 0x8] - movs r0, 0x7F - ands r0, r1 - strb r0, [r2, 0x8] - ldr r0, _08077AA4 @ =sub_8011100 - bl SetMainCallback2 - bl sub_80357C8 -_08077A8A: - ldr r1, _08077AA8 @ =gBattleScripting - adds r1, 0x21 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - add sp, 0x8 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08077A9C: .4byte sub_80116F4 -_08077AA0: .4byte gPaletteFade -_08077AA4: .4byte sub_8011100 -_08077AA8: .4byte gBattleScripting - thumb_func_end sub_80777E8 - - thumb_func_start sub_8077AAC -sub_8077AAC: @ 8077AAC - push {lr} - movs r0, 0x1 - bl EnableInterrupts - movs r0, 0x50 - movs r1, 0 - bl SetGpuReg - movs r0, 0x52 - movs r1, 0 - bl SetGpuReg - movs r0, 0x54 - movs r1, 0 - bl SetGpuReg - movs r0, 0x48 - movs r1, 0x3F - bl SetGpuReg - movs r0, 0x4A - movs r1, 0x3F - bl SetGpuReg - movs r0, 0x40 - movs r1, 0 - bl SetGpuReg - movs r0, 0x44 - movs r1, 0 - bl SetGpuReg - movs r0, 0x42 - movs r1, 0 - bl SetGpuReg - movs r0, 0x46 - movs r1, 0 - bl SetGpuReg - ldr r1, _08077B08 @ =0x0000b040 - movs r0, 0 - bl SetGpuRegBits - pop {r0} - bx r0 - .align 2, 0 -_08077B08: .4byte 0x0000b040 - thumb_func_end sub_8077AAC - - thumb_func_start sub_8077B0C -sub_8077B0C: @ 8077B0C - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r0, _08077B54 @ =gBattlersCount - ldrb r0, [r0] - cmp r4, r0 - bcc _08077B1C - b _08077C2C -_08077B1C: - adds r0, r4, 0 - bl GetBattlerSide - lsls r0, 24 - cmp r0, 0 - beq _08077BA6 - ldr r0, _08077B58 @ =gBattleTypeFlags - ldr r0, [r0] - movs r1, 0xA0 - lsls r1, 8 - ands r0, r1 - movs r1, 0x80 - lsls r1, 8 - cmp r0, r1 - bne _08077B64 - ldr r1, _08077B5C @ =gBattlerPartyIndexes - lsls r0, r4, 1 - adds r0, r1 - ldrh r1, [r0] - movs r0, 0x64 - muls r0, r1 - ldr r1, _08077B60 @ =gEnemyParty - adds r0, r1 - adds r1, r4, 0 - bl sub_8034658 - b _08077C24 - .align 2, 0 -_08077B54: .4byte gBattlersCount -_08077B58: .4byte gBattleTypeFlags -_08077B5C: .4byte gBattlerPartyIndexes -_08077B60: .4byte gEnemyParty -_08077B64: - ldr r0, _08077B90 @ =gUnknown_2024018 - ldr r0, [r0] - ldr r1, [r0] - lsls r0, r4, 2 - adds r0, r1 - ldrb r1, [r0] - movs r0, 0x4 - ands r0, r1 - cmp r0, 0 - bne _08077B9C - ldr r1, _08077B94 @ =gBattlerPartyIndexes - lsls r0, r4, 1 - adds r0, r1 - ldrh r1, [r0] - movs r0, 0x64 - muls r0, r1 - ldr r1, _08077B98 @ =gEnemyParty - adds r0, r1 - adds r1, r4, 0 - bl BattleLoadOpponentMonSpriteGfx - b _08077C24 - .align 2, 0 -_08077B90: .4byte gUnknown_2024018 -_08077B94: .4byte gBattlerPartyIndexes -_08077B98: .4byte gEnemyParty -_08077B9C: - adds r0, r4, 0 - movs r1, 0 - bl sub_80350BC - b _08077C24 -_08077BA6: - ldr r0, _08077BC0 @ =gBattleTypeFlags - ldr r1, [r0] - movs r2, 0x80 - ands r1, r2 - cmp r1, 0 - beq _08077BC8 - cmp r4, 0 - bne _08077BC8 - ldr r0, _08077BC4 @ =gSaveBlock2Ptr - ldr r0, [r0] - ldrb r0, [r0, 0x8] - b _08077BDA - .align 2, 0 -_08077BC0: .4byte gBattleTypeFlags -_08077BC4: .4byte gSaveBlock2Ptr -_08077BC8: - ldr r0, [r0] - movs r1, 0x80 - lsls r1, 2 - ands r0, r1 - cmp r0, 0 - beq _08077BE2 - cmp r4, 0 - bne _08077BE2 - movs r0, 0x5 -_08077BDA: - movs r1, 0 - bl sub_8034750 - b _08077C24 -_08077BE2: - ldr r0, _08077C10 @ =gUnknown_2024018 - ldr r0, [r0] - ldr r1, [r0] - lsls r0, r4, 2 - adds r0, r1 - ldrb r1, [r0] - movs r0, 0x4 - ands r0, r1 - cmp r0, 0 - bne _08077C1C - ldr r1, _08077C14 @ =gBattlerPartyIndexes - lsls r0, r4, 1 - adds r0, r1 - ldrh r1, [r0] - movs r0, 0x64 - muls r0, r1 - ldr r1, _08077C18 @ =gPlayerParty - adds r0, r1 - adds r1, r4, 0 - bl sub_8034498 - b _08077C24 - .align 2, 0 -_08077C10: .4byte gUnknown_2024018 -_08077C14: .4byte gBattlerPartyIndexes -_08077C18: .4byte gPlayerParty -_08077C1C: - adds r0, r4, 0 - movs r1, 0 - bl sub_80350BC -_08077C24: - ldr r0, _08077C34 @ =gBattleScripting - adds r0, 0x22 - movs r1, 0 - strb r1, [r0] -_08077C2C: - movs r0, 0x1 - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_08077C34: .4byte gBattleScripting - thumb_func_end sub_8077B0C - - thumb_func_start sub_8077C38 -sub_8077C38: @ 8077C38 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - lsls r0, 24 - lsrs r7, r0, 24 - ldr r0, _08077C6C @ =gBattlersCount - ldrb r0, [r0] - cmp r7, r0 - bcc _08077C50 - b _08077FB4 -_08077C50: - ldr r0, _08077C70 @ =gBattleTypeFlags - ldr r0, [r0] - movs r1, 0xA0 - lsls r1, 8 - ands r0, r1 - movs r1, 0x80 - lsls r1, 8 - cmp r0, r1 - bne _08077C74 - adds r0, r7, 0 - bl sub_8074900 - b _08077C9A - .align 2, 0 -_08077C6C: .4byte gBattlersCount -_08077C70: .4byte gBattleTypeFlags -_08077C74: - ldr r0, _08077C90 @ =gUnknown_2024018 - ldr r0, [r0] - ldr r1, [r0] - lsls r0, r7, 2 - adds r0, r1 - ldrb r1, [r0] - movs r0, 0x4 - ands r0, r1 - cmp r0, 0 - beq _08077C94 - adds r0, r7, 0 - bl GetSubstituteSpriteDefault_Y - b _08077C9A - .align 2, 0 -_08077C90: .4byte gUnknown_2024018 -_08077C94: - adds r0, r7, 0 - bl GetBankSpriteDefault_Y -_08077C9A: - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - adds r0, r7, 0 - bl GetBattlerSide - lsls r0, 24 - cmp r0, 0 - bne _08077CAE - b _08077DAC -_08077CAE: - ldr r1, _08077D90 @ =gBattlerPartyIndexes - lsls r0, r7, 1 - adds r6, r0, r1 - ldrh r0, [r6] - movs r1, 0x64 - mov r10, r1 - mov r1, r10 - muls r1, r0 - adds r0, r1, 0 - ldr r1, _08077D94 @ =gEnemyParty - mov r9, r1 - add r0, r9 - movs r1, 0x39 - bl GetMonData - cmp r0, 0 - bne _08077CD2 - b _08077FB4 -_08077CD2: - ldrh r0, [r6] - mov r1, r10 - muls r1, r0 - adds r0, r1, 0 - add r0, r9 - movs r1, 0xB - bl GetMonData - adds r4, r0, 0 - lsls r4, 16 - lsrs r4, 16 - adds r0, r7, 0 - bl GetBattlerPosition - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - adds r0, r4, 0 - bl SetMultiuseSpriteTemplateToPokemon - ldr r5, _08077D98 @ =gMultiuseSpriteTemplate - adds r0, r7, 0 - movs r1, 0x2 - bl sub_8074480 - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - adds r0, r7, 0 - bl sub_807685C - adds r3, r0, 0 - lsls r3, 24 - lsrs r3, 24 - adds r0, r5, 0 - adds r1, r4, 0 - mov r2, r8 - bl CreateSprite - ldr r4, _08077D9C @ =gBattlerSpriteIds - adds r4, r7, r4 - strb r0, [r4] - ldr r5, _08077DA0 @ =gSprites - ldrb r0, [r4] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r5 - lsls r3, r7, 4 - ldrb r2, [r1, 0x5] - movs r0, 0xF - ands r0, r2 - orrs r0, r3 - strb r0, [r1, 0x5] - ldrb r1, [r4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r1, r5, 0 - adds r1, 0x1C - adds r0, r1 - ldr r1, _08077DA4 @ =SpriteCallbackDummy - str r1, [r0] - ldrb r1, [r4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - strh r7, [r0, 0x2E] - ldrh r0, [r6] - mov r1, r10 - muls r1, r0 - adds r0, r1, 0 - add r0, r9 - movs r1, 0xB - bl GetMonData - ldrb r2, [r4] - lsls r1, r2, 4 - adds r1, r2 - lsls r1, 2 - adds r1, r5 - strh r0, [r1, 0x32] - ldrb r1, [r4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - ldr r1, _08077DA8 @ =gBattleMonForms - adds r1, r7, r1 - ldrb r1, [r1] - bl StartSpriteAnim - b _08077F84 - .align 2, 0 -_08077D90: .4byte gBattlerPartyIndexes -_08077D94: .4byte gEnemyParty -_08077D98: .4byte gMultiuseSpriteTemplate -_08077D9C: .4byte gBattlerSpriteIds -_08077DA0: .4byte gSprites -_08077DA4: .4byte SpriteCallbackDummy -_08077DA8: .4byte gBattleMonForms -_08077DAC: - ldr r0, _08077E00 @ =gBattleTypeFlags - ldr r1, [r0] - movs r2, 0x80 - ands r1, r2 - cmp r1, 0 - beq _08077E10 - cmp r7, 0 - bne _08077E10 - ldr r5, _08077E04 @ =gSaveBlock2Ptr - ldr r0, [r5] - ldrb r4, [r0, 0x8] - movs r0, 0 - bl GetBattlerPosition - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - adds r0, r4, 0 - bl SetMultiuseSpriteTemplateToTrainerBack - ldr r6, _08077E08 @ =gMultiuseSpriteTemplate - ldr r1, _08077E0C @ =gUnknown_8239F8C - ldr r0, [r5] - ldrb r0, [r0, 0x8] - lsls r0, 2 - adds r0, r1 - ldrb r0, [r0] - movs r4, 0x8 - subs r4, r0 - lsls r4, 18 - movs r0, 0xA0 - lsls r0, 15 - adds r4, r0 - asrs r4, 16 - movs r0, 0 - bl sub_807685C - adds r3, r0, 0 - lsls r3, 24 - lsrs r3, 24 - adds r0, r6, 0 - b _08077E54 - .align 2, 0 -_08077E00: .4byte gBattleTypeFlags -_08077E04: .4byte gSaveBlock2Ptr -_08077E08: .4byte gMultiuseSpriteTemplate -_08077E0C: .4byte gUnknown_8239F8C -_08077E10: - ldr r0, [r0] - movs r1, 0x80 - lsls r1, 2 - ands r0, r1 - cmp r0, 0 - beq _08077EA8 - cmp r7, 0 - bne _08077EA8 - movs r0, 0 - bl GetBattlerPosition - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - movs r0, 0x5 - bl SetMultiuseSpriteTemplateToTrainerBack - ldr r5, _08077E94 @ =gMultiuseSpriteTemplate - ldr r0, _08077E98 @ =gUnknown_8239F8C - ldrb r0, [r0, 0x14] - movs r4, 0x8 - subs r4, r0 - lsls r4, 18 - movs r1, 0xA0 - lsls r1, 15 - adds r4, r1 - asrs r4, 16 - movs r0, 0 - bl sub_807685C - adds r3, r0, 0 - lsls r3, 24 - lsrs r3, 24 - adds r0, r5, 0 -_08077E54: - movs r1, 0x50 - adds r2, r4, 0 - bl CreateSprite - ldr r3, _08077E9C @ =gBattlerSpriteIds - strb r0, [r3] - ldr r4, _08077EA0 @ =gSprites - ldrb r0, [r3] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r4 - ldrb r2, [r1, 0x5] - movs r0, 0xF - ands r0, r2 - strb r0, [r1, 0x5] - ldrb r1, [r3] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r1, r4, 0 - adds r1, 0x1C - adds r0, r1 - ldr r1, _08077EA4 @ =SpriteCallbackDummy - str r1, [r0] - ldrb r1, [r3] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - strh r7, [r0, 0x2E] - b _08077F84 - .align 2, 0 -_08077E94: .4byte gMultiuseSpriteTemplate -_08077E98: .4byte gUnknown_8239F8C -_08077E9C: .4byte gBattlerSpriteIds -_08077EA0: .4byte gSprites -_08077EA4: .4byte SpriteCallbackDummy -_08077EA8: - ldr r1, _08077FC4 @ =gBattlerPartyIndexes - lsls r0, r7, 1 - adds r6, r0, r1 - ldrh r0, [r6] - movs r1, 0x64 - mov r10, r1 - mov r1, r10 - muls r1, r0 - adds r0, r1, 0 - ldr r1, _08077FC8 @ =gPlayerParty - mov r9, r1 - add r0, r9 - movs r1, 0x39 - bl GetMonData - cmp r0, 0 - beq _08077FB4 - ldrh r0, [r6] - mov r1, r10 - muls r1, r0 - adds r0, r1, 0 - add r0, r9 - movs r1, 0xB - bl GetMonData - adds r4, r0, 0 - lsls r4, 16 - lsrs r4, 16 - adds r0, r7, 0 - bl GetBattlerPosition - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - adds r0, r4, 0 - bl SetMultiuseSpriteTemplateToPokemon - ldr r5, _08077FCC @ =gMultiuseSpriteTemplate - adds r0, r7, 0 - movs r1, 0x2 - bl sub_8074480 - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - adds r0, r7, 0 - bl sub_807685C - adds r3, r0, 0 - lsls r3, 24 - lsrs r3, 24 - adds r0, r5, 0 - adds r1, r4, 0 - mov r2, r8 - bl CreateSprite - ldr r4, _08077FD0 @ =gBattlerSpriteIds - adds r4, r7, r4 - strb r0, [r4] - ldr r5, _08077FD4 @ =gSprites - ldrb r0, [r4] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r5 - lsls r3, r7, 4 - ldrb r2, [r1, 0x5] - movs r0, 0xF - ands r0, r2 - orrs r0, r3 - strb r0, [r1, 0x5] - ldrb r1, [r4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r1, r5, 0 - adds r1, 0x1C - adds r0, r1 - ldr r1, _08077FD8 @ =SpriteCallbackDummy - str r1, [r0] - ldrb r1, [r4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - strh r7, [r0, 0x2E] - ldrh r0, [r6] - mov r1, r10 - muls r1, r0 - adds r0, r1, 0 - add r0, r9 - movs r1, 0xB - bl GetMonData - ldrb r2, [r4] - lsls r1, r2, 4 - adds r1, r2 - lsls r1, 2 - adds r1, r5 - strh r0, [r1, 0x32] - ldrb r1, [r4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - ldr r1, _08077FDC @ =gBattleMonForms - adds r1, r7, r1 - ldrb r1, [r1] - bl StartSpriteAnim -_08077F84: - ldr r1, _08077FD4 @ =gSprites - ldr r0, _08077FD0 @ =gBattlerSpriteIds - adds r0, r7, r0 - ldrb r0, [r0] - lsls r2, r0, 4 - adds r2, r0 - lsls r2, 2 - adds r2, r1 - ldr r0, _08077FE0 @ =gUnknown_2024018 - ldr r0, [r0] - ldr r1, [r0] - lsls r0, r7, 2 - adds r0, r1 - ldr r1, [r0] - lsls r1, 31 - adds r2, 0x3E - lsrs r1, 31 - lsls r1, 2 - ldrb r3, [r2] - movs r0, 0x5 - negs r0, r0 - ands r0, r3 - orrs r0, r1 - strb r0, [r2] -_08077FB4: - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08077FC4: .4byte gBattlerPartyIndexes -_08077FC8: .4byte gPlayerParty -_08077FCC: .4byte gMultiuseSpriteTemplate -_08077FD0: .4byte gBattlerSpriteIds -_08077FD4: .4byte gSprites -_08077FD8: .4byte SpriteCallbackDummy -_08077FDC: .4byte gBattleMonForms -_08077FE0: .4byte gUnknown_2024018 - thumb_func_end sub_8077C38 - - thumb_func_start CreateHealthboxSprite -CreateHealthboxSprite: @ 8077FE4 - push {r4-r6,lr} - lsls r0, 24 - lsrs r5, r0, 24 - ldr r0, _0807800C @ =gBattlersCount - ldrb r0, [r0] - cmp r5, r0 - bcc _08077FF4 - b _08078166 -_08077FF4: - ldr r0, _08078010 @ =gBattleTypeFlags - ldr r1, [r0] - movs r2, 0x80 - ands r1, r2 - cmp r1, 0 - beq _08078014 - cmp r5, 0 - bne _08078014 - bl CreateSafariPlayerHealthboxSprites - b _0807802C - .align 2, 0 -_0807800C: .4byte gBattlersCount -_08078010: .4byte gBattleTypeFlags -_08078014: - ldr r0, [r0] - movs r1, 0x80 - lsls r1, 2 - ands r0, r1 - cmp r0, 0 - beq _08078026 - cmp r5, 0 - bne _08078026 - b _08078166 -_08078026: - adds r0, r5, 0 - bl CreateBankHealthboxSprites -_0807802C: - lsls r0, 24 - lsrs r6, r0, 24 - ldr r0, _08078068 @ =gUnknown_3004FF0 - adds r4, r5, r0 - strb r6, [r4] - adds r0, r5, 0 - bl SetBankHealthboxSpritePos - adds r0, r6, 0 - bl SetHealthboxSpriteVisible - adds r0, r5, 0 - bl GetBattlerSide - lsls r0, 24 - cmp r0, 0 - beq _08078074 - ldrb r0, [r4] - ldr r1, _0807806C @ =gBattlerPartyIndexes - lsls r4, r5, 1 - adds r1, r4, r1 - ldrh r2, [r1] - movs r1, 0x64 - muls r1, r2 - ldr r2, _08078070 @ =gEnemyParty - adds r1, r2 - movs r2, 0 - bl UpdateHealthboxAttribute - b _080780C0 - .align 2, 0 -_08078068: .4byte gUnknown_3004FF0 -_0807806C: .4byte gBattlerPartyIndexes -_08078070: .4byte gEnemyParty -_08078074: - ldr r0, _0807809C @ =gBattleTypeFlags - ldr r0, [r0] - movs r1, 0x80 - ands r0, r1 - cmp r0, 0 - beq _080780A8 - ldrb r0, [r4] - ldr r1, _080780A0 @ =gBattlerPartyIndexes - lsls r4, r5, 1 - adds r1, r4, r1 - ldrh r2, [r1] - movs r1, 0x64 - muls r1, r2 - ldr r2, _080780A4 @ =gPlayerParty - adds r1, r2 - movs r2, 0xA - bl UpdateHealthboxAttribute - b _080780C0 - .align 2, 0 -_0807809C: .4byte gBattleTypeFlags -_080780A0: .4byte gBattlerPartyIndexes -_080780A4: .4byte gPlayerParty -_080780A8: - ldrb r0, [r4] - ldr r1, _080780EC @ =gBattlerPartyIndexes - lsls r4, r5, 1 - adds r1, r4, r1 - ldrh r2, [r1] - movs r1, 0x64 - muls r1, r2 - ldr r2, _080780F0 @ =gPlayerParty - adds r1, r2 - movs r2, 0 - bl UpdateHealthboxAttribute -_080780C0: - adds r0, r5, 0 - bl GetBattlerPosition - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x3 - beq _080780DC - adds r0, r5, 0 - bl GetBattlerPosition - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x2 - bne _080780F8 -_080780DC: - ldr r0, _080780F4 @ =gUnknown_3004FF0 - adds r0, r5, r0 - ldrb r0, [r0] - movs r1, 0x1 - bl nullsub_21 - b _08078104 - .align 2, 0 -_080780EC: .4byte gBattlerPartyIndexes -_080780F0: .4byte gPlayerParty -_080780F4: .4byte gUnknown_3004FF0 -_080780F8: - ldr r0, _08078130 @ =gUnknown_3004FF0 - adds r0, r5, r0 - ldrb r0, [r0] - movs r1, 0 - bl nullsub_21 -_08078104: - adds r0, r5, 0 - bl GetBattlerSide - lsls r0, 24 - cmp r0, 0 - beq _0807813C - ldr r0, _08078134 @ =gBattlerPartyIndexes - adds r0, r4, r0 - ldrh r1, [r0] - movs r0, 0x64 - muls r0, r1 - ldr r1, _08078138 @ =gEnemyParty - adds r0, r1 - movs r1, 0x39 - bl GetMonData - cmp r0, 0 - bne _08078166 - adds r0, r6, 0 - bl SetHealthboxSpriteInvisible - b _08078166 - .align 2, 0 -_08078130: .4byte gUnknown_3004FF0 -_08078134: .4byte gBattlerPartyIndexes -_08078138: .4byte gEnemyParty -_0807813C: - ldr r0, _0807816C @ =gBattleTypeFlags - ldr r0, [r0] - movs r1, 0x80 - ands r0, r1 - cmp r0, 0 - bne _08078166 - ldr r0, _08078170 @ =gBattlerPartyIndexes - adds r0, r4, r0 - ldrh r1, [r0] - movs r0, 0x64 - muls r0, r1 - ldr r1, _08078174 @ =gPlayerParty - adds r0, r1 - movs r1, 0x39 - bl GetMonData - cmp r0, 0 - bne _08078166 - adds r0, r6, 0 - bl SetHealthboxSpriteInvisible -_08078166: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0807816C: .4byte gBattleTypeFlags -_08078170: .4byte gBattlerPartyIndexes -_08078174: .4byte gPlayerParty - thumb_func_end CreateHealthboxSprite - - .align 2, 0 @ Don't pad with nop. |