ported reshow_battle_screen from pokeem

This commit is contained in:
jiangzhengwenjz
2019-08-02 07:28:09 +08:00
parent c2964e8181
commit 742a7ee1be
38 changed files with 465 additions and 1314 deletions
+11 -11
View File
@@ -169,7 +169,7 @@ _0800FEA6:
ldr r1, _0800FF68 @ =gReservedSpritePaletteCount ldr r1, _0800FF68 @ =gReservedSpritePaletteCount
movs r0, 0x4 movs r0, 0x4
strb r0, [r1] strb r0, [r1]
ldr r0, _0800FF6C @ =sub_80116F4 ldr r0, _0800FF6C @ =VBlankCB_Battle
bl SetVBlankCallback bl SetVBlankCallback
bl SetUpBattleVars bl SetUpBattleVars
ldr r0, _0800FF70 @ =gBattleTypeFlags ldr r0, _0800FF70 @ =gBattleTypeFlags
@@ -199,7 +199,7 @@ _0800FF5C: .4byte gBattle_BG3_X
_0800FF60: .4byte gBattle_BG3_Y _0800FF60: .4byte gBattle_BG3_Y
_0800FF64: .4byte gUnknown_2022B50 _0800FF64: .4byte gUnknown_2022B50
_0800FF68: .4byte gReservedSpritePaletteCount _0800FF68: .4byte gReservedSpritePaletteCount
_0800FF6C: .4byte sub_80116F4 _0800FF6C: .4byte VBlankCB_Battle
_0800FF70: .4byte gBattleTypeFlags _0800FF70: .4byte gBattleTypeFlags
_0800FF74: .4byte sub_8010BA0 _0800FF74: .4byte sub_8010BA0
_0800FF78: _0800FF78:
@@ -1010,7 +1010,7 @@ _080105BC:
bne _080105C6 bne _080105C6
b _080108B8 b _080108B8
_080105C6: _080105C6:
bl sub_80FCEA8 bl LoadWirelessStatusIndicatorSpriteGfx
b _080108B8 b _080108B8
.align 2, 0 .align 2, 0
_080105CC: .4byte gBattleCommunication _080105CC: .4byte gBattleCommunication
@@ -1064,7 +1064,7 @@ _0801062A:
_08010634: _08010634:
movs r0, 0 movs r0, 0
movs r1, 0 movs r1, 0
bl sub_80FCD74 bl CreateWirelessStatusIndicatorSprite
b _080108B8 b _080108B8
.align 2, 0 .align 2, 0
_08010640: .4byte gBattleTypeFlags _08010640: .4byte gBattleTypeFlags
@@ -1763,7 +1763,7 @@ _08010C44:
bne _08010C4E bne _08010C4E
b _080110F0 b _080110F0
_08010C4E: _08010C4E:
bl sub_80FCEA8 bl LoadWirelessStatusIndicatorSpriteGfx
b _080110F0 b _080110F0
.align 2, 0 .align 2, 0
_08010C54: .4byte gBattleCommunication _08010C54: .4byte gBattleCommunication
@@ -1813,7 +1813,7 @@ _08010CAA:
_08010CB4: _08010CB4:
movs r0, 0 movs r0, 0
movs r1, 0 movs r1, 0
bl sub_80FCD74 bl CreateWirelessStatusIndicatorSprite
b _080110F0 b _080110F0
.align 2, 0 .align 2, 0
_08010CC0: .4byte gReceivedRemoteLinkPlayers _08010CC0: .4byte gReceivedRemoteLinkPlayers
@@ -3121,8 +3121,8 @@ _080116EC: .4byte 0x04000006
_080116F0: .4byte 0x04000008 _080116F0: .4byte 0x04000008
thumb_func_end sub_80116CC thumb_func_end sub_80116CC
thumb_func_start sub_80116F4 thumb_func_start VBlankCB_Battle
sub_80116F4: @ 80116F4 VBlankCB_Battle: @ 80116F4
push {lr} push {lr}
bl Random bl Random
ldr r0, _08011788 @ =gBattle_BG0_X ldr r0, _08011788 @ =gBattle_BG0_X
@@ -3192,7 +3192,7 @@ _080117A8: .4byte gUnknown_2022984
_080117AC: .4byte gUnknown_2022986 _080117AC: .4byte gUnknown_2022986
_080117B0: .4byte gUnknown_2022988 _080117B0: .4byte gUnknown_2022988
_080117B4: .4byte gUnknown_202298A _080117B4: .4byte gUnknown_202298A
thumb_func_end sub_80116F4 thumb_func_end VBlankCB_Battle
thumb_func_start nullsub_9 thumb_func_start nullsub_9
nullsub_9: @ 80117B8 nullsub_9: @ 80117B8
@@ -3612,7 +3612,7 @@ _08011A9C:
ldr r1, _08011B7C @ =gReservedSpritePaletteCount ldr r1, _08011B7C @ =gReservedSpritePaletteCount
movs r0, 0x4 movs r0, 0x4
strb r0, [r1] strb r0, [r1]
ldr r0, _08011B80 @ =sub_80116F4 ldr r0, _08011B80 @ =VBlankCB_Battle
bl SetVBlankCallback bl SetVBlankCallback
ldr r0, _08011B84 @ =sub_800F6FC ldr r0, _08011B84 @ =sub_800F6FC
movs r1, 0 movs r1, 0
@@ -3657,7 +3657,7 @@ _08011B70: .4byte gBattle_BG3_X
_08011B74: .4byte gBattle_BG3_Y _08011B74: .4byte gBattle_BG3_Y
_08011B78: .4byte gBattleTextboxPalette _08011B78: .4byte gBattleTextboxPalette
_08011B7C: .4byte gReservedSpritePaletteCount _08011B7C: .4byte gReservedSpritePaletteCount
_08011B80: .4byte sub_80116F4 _08011B80: .4byte VBlankCB_Battle
_08011B84: .4byte sub_800F6FC _08011B84: .4byte sub_800F6FC
_08011B88: .4byte gTasks _08011B88: .4byte gTasks
_08011B8C: .4byte sub_8011B94 _08011B8C: .4byte sub_8011B94
+1 -1
View File
@@ -634,7 +634,7 @@ _080729A8:
ldr r0, _08072A04 @ =gBattleAnimAttacker ldr r0, _08072A04 @ =gBattleAnimAttacker
_080729AE: _080729AE:
ldrb r0, [r0] ldrb r0, [r0]
bl sub_807685C bl GetBattlerSpriteSubpriority
lsls r0, 24 lsls r0, 24
lsrs r0, 24 lsrs r0, 24
lsls r1, r4, 24 lsls r1, r4, 24
+6 -6
View File
@@ -229,7 +229,7 @@ _080A24A2:
ble _080A24BC ble _080A24BC
ldr r0, _080A24B8 @ =gBattleAnimTarget ldr r0, _080A24B8 @ =gBattleAnimTarget
ldrb r0, [r0] ldrb r0, [r0]
bl sub_807685C bl GetBattlerSpriteSubpriority
adds r0, 0x1 adds r0, 0x1
b _080A24C6 b _080A24C6
.align 2, 0 .align 2, 0
@@ -237,7 +237,7 @@ _080A24B8: .4byte gBattleAnimTarget
_080A24BC: _080A24BC:
ldr r0, _080A24FC @ =gBattleAnimTarget ldr r0, _080A24FC @ =gBattleAnimTarget
ldrb r0, [r0] ldrb r0, [r0]
bl sub_807685C bl GetBattlerSpriteSubpriority
adds r0, 0x6 adds r0, 0x6
_080A24C6: _080A24C6:
adds r1, r4, 0 adds r1, r4, 0
@@ -306,7 +306,7 @@ sub_80A2500: @ 80A2500
ldr r4, _080A2578 @ =gUnknown_83E2A88 ldr r4, _080A2578 @ =gUnknown_83E2A88
ldr r0, _080A257C @ =gBattleAnimTarget ldr r0, _080A257C @ =gBattleAnimTarget
ldrb r0, [r0] ldrb r0, [r0]
bl sub_807685C bl GetBattlerSpriteSubpriority
adds r3, r0, 0 adds r3, r0, 0
adds r3, 0x1 adds r3, 0x1
lsls r3, 24 lsls r3, 24
@@ -868,7 +868,7 @@ sub_80A2974: @ 80A2974
bhi _080A29C0 bhi _080A29C0
ldr r0, _080A29BC @ =gBattleAnimAttacker ldr r0, _080A29BC @ =gBattleAnimAttacker
ldrb r0, [r0] ldrb r0, [r0]
bl sub_807685C bl GetBattlerSpriteSubpriority
subs r0, 0x1 subs r0, 0x1
b _080A29CA b _080A29CA
.align 2, 0 .align 2, 0
@@ -876,7 +876,7 @@ _080A29BC: .4byte gBattleAnimAttacker
_080A29C0: _080A29C0:
ldr r0, _080A29DC @ =gBattleAnimAttacker ldr r0, _080A29DC @ =gBattleAnimAttacker
ldrb r0, [r0] ldrb r0, [r0]
bl sub_807685C bl GetBattlerSpriteSubpriority
adds r0, 0x1 adds r0, 0x1
_080A29CA: _080A29CA:
adds r1, r4, 0 adds r1, r4, 0
@@ -2995,7 +2995,7 @@ sub_80A39C0: @ 80A39C0
adds r5, r0, r1 adds r5, r0, r1
ldr r4, _080A3B18 @ =gBattleAnimTarget ldr r4, _080A3B18 @ =gBattleAnimTarget
ldrb r0, [r4] ldrb r0, [r4]
bl sub_807685C bl GetBattlerSpriteSubpriority
lsls r0, 24 lsls r0, 24
lsrs r0, 24 lsrs r0, 24
subs r0, 0x1 subs r0, 0x1
+6 -6
View File
@@ -1430,7 +1430,7 @@ _080A7928:
ble _080A79A0 ble _080A79A0
ldr r0, _080A7970 @ =gBattleAnimTarget ldr r0, _080A7970 @ =gBattleAnimTarget
ldrb r0, [r0] ldrb r0, [r0]
bl sub_807685C bl GetBattlerSpriteSubpriority
lsls r0, 24 lsls r0, 24
lsrs r0, 24 lsrs r0, 24
ldr r2, _080A7974 @ =0x0000ffc0 ldr r2, _080A7974 @ =0x0000ffc0
@@ -1451,7 +1451,7 @@ _080A7978:
ble _080A79A0 ble _080A79A0
ldr r0, _080A7998 @ =gBattleAnimTarget ldr r0, _080A7998 @ =gBattleAnimTarget
ldrb r0, [r0] ldrb r0, [r0]
bl sub_807685C bl GetBattlerSpriteSubpriority
lsls r0, 24 lsls r0, 24
lsrs r0, 24 lsrs r0, 24
ldr r3, _080A799C @ =0x0000ffc0 ldr r3, _080A799C @ =0x0000ffc0
@@ -1466,7 +1466,7 @@ _080A799C: .4byte 0x0000ffc0
_080A79A0: _080A79A0:
ldr r0, _080A79DC @ =gBattleAnimTarget ldr r0, _080A79DC @ =gBattleAnimTarget
ldrb r0, [r0] ldrb r0, [r0]
bl sub_807685C bl GetBattlerSpriteSubpriority
lsls r0, 24 lsls r0, 24
lsrs r0, 24 lsrs r0, 24
ldrh r1, [r4, 0x8] ldrh r1, [r4, 0x8]
@@ -2367,7 +2367,7 @@ sub_80A8074: @ 80A8074
strh r5, [r4, 0x14] strh r5, [r4, 0x14]
ldr r0, _080A80C4 @ =gBattleAnimAttacker ldr r0, _080A80C4 @ =gBattleAnimAttacker
ldrb r0, [r0] ldrb r0, [r0]
bl sub_807685C bl GetBattlerSpriteSubpriority
lsls r0, 24 lsls r0, 24
lsrs r0, 24 lsrs r0, 24
strh r0, [r4, 0x16] strh r0, [r4, 0x16]
@@ -6607,7 +6607,7 @@ sub_80AA174: @ 80AA174
ldrh r0, [r1, 0x2] ldrh r0, [r1, 0x2]
strh r0, [r4, 0x30] strh r0, [r4, 0x30]
ldrb r0, [r5] ldrb r0, [r5]
bl sub_807685C bl GetBattlerSpriteSubpriority
lsls r0, 24 lsls r0, 24
lsrs r0, 24 lsrs r0, 24
strh r0, [r4, 0x3C] strh r0, [r4, 0x3C]
@@ -7142,7 +7142,7 @@ sub_80AA58C: @ 80AA58C
bl StartSpriteAnim bl StartSpriteAnim
ldr r0, _080AA68C @ =gBattleAnimTarget ldr r0, _080AA68C @ =gBattleAnimTarget
ldrb r0, [r0] ldrb r0, [r0]
bl sub_807685C bl GetBattlerSpriteSubpriority
subs r0, 0x1 subs r0, 0x1
adds r1, r4, 0 adds r1, r4, 0
adds r1, 0x43 adds r1, 0x43
+6 -6
View File
@@ -5735,7 +5735,7 @@ sub_80E0EDC: @ 80E0EDC
_080E0F16: _080E0F16:
ldr r0, _080E0F24 @ =gBattleAnimAttacker ldr r0, _080E0F24 @ =gBattleAnimAttacker
ldrb r0, [r0] ldrb r0, [r0]
bl sub_807685C bl GetBattlerSpriteSubpriority
subs r0, 0x1 subs r0, 0x1
b _080E0F32 b _080E0F32
.align 2, 0 .align 2, 0
@@ -5743,7 +5743,7 @@ _080E0F24: .4byte gBattleAnimAttacker
_080E0F28: _080E0F28:
ldr r0, _080E0F74 @ =gBattleAnimAttacker ldr r0, _080E0F74 @ =gBattleAnimAttacker
ldrb r0, [r0] ldrb r0, [r0]
bl sub_807685C bl GetBattlerSpriteSubpriority
adds r0, 0x1 adds r0, 0x1
_080E0F32: _080E0F32:
adds r1, r4, 0 adds r1, r4, 0
@@ -7613,7 +7613,7 @@ _080E1DA2:
lsrs r0, 24 lsrs r0, 24
strh r0, [r5, 0x12] strh r0, [r5, 0x12]
adds r0, r4, 0 adds r0, r4, 0
bl sub_807685C bl GetBattlerSpriteSubpriority
lsls r0, 24 lsls r0, 24
lsrs r0, 24 lsrs r0, 24
strh r0, [r5, 0x14] strh r0, [r5, 0x14]
@@ -8641,7 +8641,7 @@ _080E258A:
ldrsh r6, [r7, r1] ldrsh r6, [r7, r1]
mov r1, r8 mov r1, r8
ldrb r0, [r1] ldrb r0, [r1]
bl sub_807685C bl GetBattlerSpriteSubpriority
adds r3, r0, 0 adds r3, r0, 0
subs r3, 0x5 subs r3, 0x5
lsls r3, 24 lsls r3, 24
@@ -10654,7 +10654,7 @@ sub_80E34D0: @ 80E34D0
cmp r0, 0 cmp r0, 0
bne _080E34FC bne _080E34FC
ldrb r0, [r4] ldrb r0, [r4]
bl sub_807685C bl GetBattlerSpriteSubpriority
subs r0, 0x2 subs r0, 0x2
adds r1, r5, 0 adds r1, r5, 0
adds r1, 0x43 adds r1, 0x43
@@ -10666,7 +10666,7 @@ _080E34F4: .4byte gBattleAnimTarget
_080E34F8: .4byte 0x0000ff70 _080E34F8: .4byte 0x0000ff70
_080E34FC: _080E34FC:
ldrb r0, [r4] ldrb r0, [r4]
bl sub_807685C bl GetBattlerSpriteSubpriority
adds r0, 0x2 adds r0, 0x2
adds r1, r5, 0 adds r1, r5, 0
adds r1, 0x43 adds r1, 0x43
+8 -8
View File
@@ -594,8 +594,8 @@ _080748F0:
bx r1 bx r1
thumb_func_end GetSubstituteSpriteDefault_Y thumb_func_end GetSubstituteSpriteDefault_Y
thumb_func_start sub_8074900 thumb_func_start GetGhostSpriteDefault_Y
sub_8074900: @ 8074900 GetGhostSpriteDefault_Y: @ 8074900
push {r4,lr} push {r4,lr}
lsls r0, 24 lsls r0, 24
lsrs r4, r0, 24 lsrs r4, r0, 24
@@ -618,7 +618,7 @@ _0807491E:
pop {r4} pop {r4}
pop {r1} pop {r1}
bx r1 bx r1
thumb_func_end sub_8074900 thumb_func_end GetGhostSpriteDefault_Y
thumb_func_start sub_807492C thumb_func_start sub_807492C
sub_807492C: @ 807492C sub_807492C: @ 807492C
@@ -4839,7 +4839,7 @@ _080767FE:
cmp r0, 0 cmp r0, 0
beq _08076840 beq _08076840
adds r0, r4, 0 adds r0, r4, 0
bl sub_807685C bl GetBattlerSpriteSubpriority
ldr r3, _08076858 @ =gBattlerSpriteIds ldr r3, _08076858 @ =gBattlerSpriteIds
adds r3, r5, r3 adds r3, r5, r3
ldrb r2, [r3] ldrb r2, [r3]
@@ -4878,8 +4878,8 @@ _08076854: .4byte gSprites
_08076858: .4byte gBattlerSpriteIds _08076858: .4byte gBattlerSpriteIds
thumb_func_end sub_80767F0 thumb_func_end sub_80767F0
thumb_func_start sub_807685C thumb_func_start GetBattlerSpriteSubpriority
sub_807685C: @ 807685C GetBattlerSpriteSubpriority: @ 807685C
push {lr} push {lr}
lsls r0, 24 lsls r0, 24
lsrs r0, 24 lsrs r0, 24
@@ -4900,7 +4900,7 @@ _0807687E:
adds r0, r1, 0 adds r0, r1, 0
pop {r1} pop {r1}
bx r1 bx r1
thumb_func_end sub_807685C thumb_func_end GetBattlerSpriteSubpriority
thumb_func_start sub_8076884 thumb_func_start sub_8076884
sub_8076884: @ 8076884 sub_8076884: @ 8076884
@@ -5946,7 +5946,7 @@ _08077064:
adds r0, 0x10 adds r0, 0x10
lsls r4, r0, 4 lsls r4, r0, 4
ldrb r0, [r7] ldrb r0, [r7]
bl sub_807685C bl GetBattlerSpriteSubpriority
lsls r0, 24 lsls r0, 24
lsrs r0, 24 lsrs r0, 24
strh r0, [r5, 0x14] strh r0, [r5, 0x14]
+1 -1
View File
@@ -1379,7 +1379,7 @@ _080EF708:
bl GetBattlerAtPosition bl GetBattlerAtPosition
lsls r0, 24 lsls r0, 24
lsrs r0, 24 lsrs r0, 24
bl sub_807685C bl GetBattlerSpriteSubpriority
adds r3, r0, 0 adds r3, r0, 0
adds r3, 0x1 adds r3, 0x1
lsls r3, 24 lsls r3, 24
+3 -3
View File
@@ -3591,7 +3591,7 @@ LinkOpponentHandleLoadPokeSprite: @ 803C3B4
lsls r4, 24 lsls r4, 24
lsrs r4, 24 lsrs r4, 24
ldrb r0, [r6] ldrb r0, [r6]
bl sub_807685C bl GetBattlerSpriteSubpriority
adds r3, r0, 0 adds r3, r0, 0
lsls r3, 24 lsls r3, 24
lsrs r3, 24 lsrs r3, 24
@@ -3795,7 +3795,7 @@ sub_803C550: @ 803C550
lsls r4, 24 lsls r4, 24
lsrs r4, 24 lsrs r4, 24
adds r0, r6, 0 adds r0, r6, 0
bl sub_807685C bl GetBattlerSpriteSubpriority
adds r3, r0, 0 adds r3, r0, 0
lsls r3, 24 lsls r3, 24
lsrs r3, 24 lsrs r3, 24
@@ -4270,7 +4270,7 @@ _0803C992:
asrs r4, 16 asrs r4, 16
mov r1, r8 mov r1, r8
ldrb r0, [r1] ldrb r0, [r1]
bl sub_807685C bl GetBattlerSpriteSubpriority
adds r3, r0, 0 adds r3, r0, 0
lsls r3, 24 lsls r3, 24
lsrs r3, 24 lsrs r3, 24
+4 -4
View File
@@ -3385,7 +3385,7 @@ LinkPartnerHandleLoadPokeSprite: @ 80D5DB4
lsls r4, 24 lsls r4, 24
lsrs r4, 24 lsrs r4, 24
ldrb r0, [r6] ldrb r0, [r6]
bl sub_807685C bl GetBattlerSpriteSubpriority
adds r3, r0, 0 adds r3, r0, 0
lsls r3, 24 lsls r3, 24
lsrs r3, 24 lsrs r3, 24
@@ -3577,7 +3577,7 @@ sub_80D5F40: @ 80D5F40
lsls r4, 24 lsls r4, 24
lsrs r4, 24 lsrs r4, 24
adds r0, r6, 0 adds r0, r6, 0
bl sub_807685C bl GetBattlerSpriteSubpriority
adds r3, r0, 0 adds r3, r0, 0
lsls r3, 24 lsls r3, 24
lsrs r3, 24 lsrs r3, 24
@@ -3896,7 +3896,7 @@ _080D6258:
ldr r5, _080D6318 @ =gActiveBattler ldr r5, _080D6318 @ =gActiveBattler
ldrb r1, [r5] ldrb r1, [r5]
adds r0, r4, 0 adds r0, r4, 0
bl sub_8034750 bl DecompressTrainerBackPalette
ldrb r0, [r5] ldrb r0, [r5]
bl GetBattlerPosition bl GetBattlerPosition
adds r1, r0, 0 adds r1, r0, 0
@@ -3918,7 +3918,7 @@ _080D6258:
adds r4, r0 adds r4, r0
asrs r4, 16 asrs r4, 16
ldrb r0, [r5] ldrb r0, [r5]
bl sub_807685C bl GetBattlerSpriteSubpriority
adds r3, r0, 0 adds r3, r0, 0
lsls r3, 24 lsls r3, 24
lsrs r3, 24 lsrs r3, 24
+5 -5
View File
@@ -4966,7 +4966,7 @@ sub_80E9E6C: @ 80E9E6C
ldrb r0, [r0, 0x8] ldrb r0, [r0, 0x8]
ldr r6, _080E9ED0 @ =gActiveBattler ldr r6, _080E9ED0 @ =gActiveBattler
ldrb r1, [r6] ldrb r1, [r6]
bl sub_8034750 bl DecompressTrainerBackPalette
ldr r0, [r4] ldr r0, [r4]
ldrb r5, [r0, 0x8] ldrb r5, [r0, 0x8]
ldrb r0, [r6] ldrb r0, [r6]
@@ -5007,7 +5007,7 @@ _080E9EE0:
ldr r4, _080E9F8C @ =gActiveBattler ldr r4, _080E9F8C @ =gActiveBattler
ldrb r1, [r4] ldrb r1, [r4]
movs r0, 0x5 movs r0, 0x5
bl sub_8034750 bl DecompressTrainerBackPalette
ldrb r0, [r4] ldrb r0, [r4]
bl GetBattlerPosition bl GetBattlerPosition
adds r1, r0, 0 adds r1, r0, 0
@@ -5112,7 +5112,7 @@ sub_80E9FB0: @ 80E9FB0
ldrb r0, [r0, 0x8] ldrb r0, [r0, 0x8]
ldr r6, _080EA014 @ =gActiveBattler ldr r6, _080EA014 @ =gActiveBattler
ldrb r1, [r6] ldrb r1, [r6]
bl sub_8034750 bl DecompressTrainerBackPalette
ldr r0, [r4] ldr r0, [r4]
ldrb r5, [r0, 0x8] ldrb r5, [r0, 0x8]
ldrb r0, [r6] ldrb r0, [r6]
@@ -5153,7 +5153,7 @@ _080EA024:
ldr r4, _080EA0D0 @ =gActiveBattler ldr r4, _080EA0D0 @ =gActiveBattler
ldrb r1, [r4] ldrb r1, [r4]
movs r0, 0x5 movs r0, 0x5
bl sub_8034750 bl DecompressTrainerBackPalette
ldrb r0, [r4] ldrb r0, [r4]
bl GetBattlerPosition bl GetBattlerPosition
adds r1, r0, 0 adds r1, r0, 0
@@ -7086,7 +7086,7 @@ sub_80EAF34: @ 80EAF34
lsls r4, 24 lsls r4, 24
lsrs r4, 24 lsrs r4, 24
adds r0, r6, 0 adds r0, r6, 0
bl sub_807685C bl GetBattlerSpriteSubpriority
adds r3, r0, 0 adds r3, r0, 0
lsls r3, 24 lsls r3, 24
lsrs r3, 24 lsrs r3, 24
+4 -4
View File
@@ -3596,7 +3596,7 @@ sub_80377FC: @ 80377FC
adds r0, r6 adds r0, r6
bl DecompressGhostFrontPic bl DecompressGhostFrontPic
ldrb r0, [r4] ldrb r0, [r4]
bl sub_8074900 bl GetGhostSpriteDefault_Y
lsls r0, 24 lsls r0, 24
lsrs r5, r0, 24 lsrs r5, r0, 24
ldr r3, _0803788C @ =gBattleSpritesDataPtr ldr r3, _0803788C @ =gBattleSpritesDataPtr
@@ -3658,7 +3658,7 @@ _080378AA:
lsls r4, 24 lsls r4, 24
lsrs r4, 24 lsrs r4, 24
ldrb r0, [r7] ldrb r0, [r7]
bl sub_807685C bl GetBattlerSpriteSubpriority
adds r3, r0, 0 adds r3, r0, 0
lsls r3, 24 lsls r3, 24
lsrs r3, 24 lsrs r3, 24
@@ -3887,7 +3887,7 @@ sub_8037A28: @ 8037A28
lsls r4, 24 lsls r4, 24
lsrs r4, 24 lsrs r4, 24
adds r0, r6, 0 adds r0, r6, 0
bl sub_807685C bl GetBattlerSpriteSubpriority
adds r3, r0, 0 adds r3, r0, 0
lsls r3, 24 lsls r3, 24
lsrs r3, 24 lsrs r3, 24
@@ -4219,7 +4219,7 @@ _08037D3A:
asrs r4, 16 asrs r4, 16
mov r1, r8 mov r1, r8
ldrb r0, [r1] ldrb r0, [r1]
bl sub_807685C bl GetBattlerSpriteSubpriority
adds r3, r0, 0 adds r3, r0, 0
lsls r3, 24 lsls r3, 24
lsrs r3, 24 lsrs r3, 24
+8 -8
View File
@@ -4884,23 +4884,23 @@ ActionSelectionDestroyCursorAt: @ 8030A98
thumb_func_start sub_8030ADC thumb_func_start sub_8030ADC
sub_8030ADC: @ 8030ADC sub_8030ADC: @ 8030ADC
push {lr} push {lr}
ldr r0, _08030AE8 @ =sub_8077764 ldr r0, _08030AE8 @ =ReshowBattleScreenAfterMenu
bl SetMainCallback2 bl SetMainCallback2
pop {r0} pop {r0}
bx r0 bx r0
.align 2, 0 .align 2, 0
_08030AE8: .4byte sub_8077764 _08030AE8: .4byte ReshowBattleScreenAfterMenu
thumb_func_end sub_8030ADC thumb_func_end sub_8030ADC
thumb_func_start sub_8030AEC thumb_func_start sub_8030AEC
sub_8030AEC: @ 8030AEC sub_8030AEC: @ 8030AEC
push {lr} push {lr}
ldr r0, _08030AF8 @ =sub_8077764 ldr r0, _08030AF8 @ =ReshowBattleScreenAfterMenu
bl SetMainCallback2 bl SetMainCallback2
pop {r0} pop {r0}
bx r0 bx r0
.align 2, 0 .align 2, 0
_08030AF8: .4byte sub_8077764 _08030AF8: .4byte ReshowBattleScreenAfterMenu
thumb_func_end sub_8030AEC thumb_func_end sub_8030AEC
thumb_func_start CompleteOnFinishedStatusAnimation thumb_func_start CompleteOnFinishedStatusAnimation
@@ -7457,7 +7457,7 @@ sub_8031FF4: @ 8031FF4
lsls r4, 24 lsls r4, 24
lsrs r4, 24 lsrs r4, 24
adds r0, r6, 0 adds r0, r6, 0
bl sub_807685C bl GetBattlerSpriteSubpriority
adds r3, r0, 0 adds r3, r0, 0
lsls r3, 24 lsls r3, 24
lsrs r3, 24 lsrs r3, 24
@@ -7803,7 +7803,7 @@ _08032342:
ldr r5, _08032404 @ =gActiveBattler ldr r5, _08032404 @ =gActiveBattler
ldrb r1, [r5] ldrb r1, [r5]
adds r0, r4, 0 adds r0, r4, 0
bl sub_8034750 bl DecompressTrainerBackPalette
ldrb r0, [r5] ldrb r0, [r5]
bl GetBattlerPosition bl GetBattlerPosition
adds r1, r0, 0 adds r1, r0, 0
@@ -7825,7 +7825,7 @@ _08032342:
adds r4, r0 adds r4, r0
asrs r4, 16 asrs r4, 16
ldrb r0, [r5] ldrb r0, [r5]
bl sub_807685C bl GetBattlerSpriteSubpriority
adds r3, r0, 0 adds r3, r0, 0
lsls r3, 24 lsls r3, 24
lsrs r3, 24 lsrs r3, 24
@@ -7980,7 +7980,7 @@ _080324BE:
ldr r5, _0803256C @ =gActiveBattler ldr r5, _0803256C @ =gActiveBattler
ldrb r1, [r5] ldrb r1, [r5]
adds r0, r4, 0 adds r0, r4, 0
bl sub_8034750 bl DecompressTrainerBackPalette
ldrb r0, [r5] ldrb r0, [r5]
bl GetBattlerPosition bl GetBattlerPosition
adds r1, r0, 0 adds r1, r0, 0
+5 -5
View File
@@ -3942,7 +3942,7 @@ sub_81580E0: @ 81580E0
lsls r4, 24 lsls r4, 24
lsrs r4, 24 lsrs r4, 24
ldrb r0, [r6] ldrb r0, [r6]
bl sub_807685C bl GetBattlerSpriteSubpriority
adds r3, r0, 0 adds r3, r0, 0
lsls r3, 24 lsls r3, 24
lsrs r3, 24 lsrs r3, 24
@@ -4181,7 +4181,7 @@ sub_8158344: @ 8158344
bne _081583F0 bne _081583F0
ldrb r1, [r7] ldrb r1, [r7]
movs r0, 0x4 movs r0, 0x4
bl sub_8034750 bl DecompressTrainerBackPalette
ldrb r0, [r7] ldrb r0, [r7]
bl GetBattlerPosition bl GetBattlerPosition
adds r1, r0, 0 adds r1, r0, 0
@@ -4273,7 +4273,7 @@ _081583F0:
adds r4, r0 adds r4, r0
asrs r4, 16 asrs r4, 16
ldrb r0, [r7] ldrb r0, [r7]
bl sub_807685C bl GetBattlerSpriteSubpriority
adds r3, r0, 0 adds r3, r0, 0
lsls r3, 24 lsls r3, 24
lsrs r3, 24 lsrs r3, 24
@@ -4406,7 +4406,7 @@ sub_8158544: @ 8158544
ldr r4, _081585EC @ =gActiveBattler ldr r4, _081585EC @ =gActiveBattler
ldrb r1, [r4] ldrb r1, [r4]
movs r0, 0x4 movs r0, 0x4
bl sub_8034750 bl DecompressTrainerBackPalette
ldrb r0, [r4] ldrb r0, [r4]
bl GetBattlerPosition bl GetBattlerPosition
adds r1, r0, 0 adds r1, r0, 0
@@ -6351,7 +6351,7 @@ sub_8159478: @ 8159478
lsls r4, 24 lsls r4, 24
lsrs r4, 24 lsrs r4, 24
adds r0, r6, 0 adds r0, r6, 0
bl sub_807685C bl GetBattlerSpriteSubpriority
adds r3, r0, 0 adds r3, r0, 0
lsls r3, 24 lsls r3, 24
lsrs r3, 24 lsrs r3, 24
+4 -4
View File
@@ -15672,7 +15672,7 @@ _080254B6:
subs r2, 0x1 subs r2, 0x1
lsls r2, 24 lsls r2, 24
lsrs r2, 24 lsrs r2, 24
ldr r3, _080254F4 @ =sub_8077764 ldr r3, _080254F4 @ =ReshowBattleScreenAfterMenu
ldr r4, _080254F8 @ =gMoveToLearn ldr r4, _080254F8 @ =gMoveToLearn
ldrh r4, [r4] ldrh r4, [r4]
str r4, [sp] str r4, [sp]
@@ -15688,7 +15688,7 @@ _080254E4: .4byte gPaletteFade
_080254E8: .4byte gPlayerParty _080254E8: .4byte gPlayerParty
_080254EC: .4byte gBattleStruct _080254EC: .4byte gBattleStruct
_080254F0: .4byte gPlayerPartyCount _080254F0: .4byte gPlayerPartyCount
_080254F4: .4byte sub_8077764 _080254F4: .4byte ReshowBattleScreenAfterMenu
_080254F8: .4byte gMoveToLearn _080254F8: .4byte gMoveToLearn
_080254FC: .4byte gBattleScripting _080254FC: .4byte gBattleScripting
_08025500: _08025500:
@@ -32490,7 +32490,7 @@ _0802DA72:
ldr r2, _0802DAC0 @ =0x05006000 ldr r2, _0802DAC0 @ =0x05006000
add r0, sp, 0x10 add r0, sp, 0x10
bl CpuSet bl CpuSet
ldr r0, _0802DAC4 @ =sub_80116F4 ldr r0, _0802DAC4 @ =VBlankCB_Battle
bl SetVBlankCallback bl SetVBlankCallback
ldrb r0, [r4] ldrb r0, [r4]
adds r0, 0x1 adds r0, 0x1
@@ -32503,7 +32503,7 @@ _0802DAB4: .4byte BattleMainCB2
_0802DAB8: .4byte gTasks _0802DAB8: .4byte gTasks
_0802DABC: .4byte gBattleCommunication _0802DABC: .4byte gBattleCommunication
_0802DAC0: .4byte 0x05006000 _0802DAC0: .4byte 0x05006000
_0802DAC4: .4byte sub_80116F4 _0802DAC4: .4byte VBlankCB_Battle
_0802DAC8: _0802DAC8:
bl sub_800F34C bl sub_800F34C
bl LoadBattleTextboxAndBackground bl LoadBattleTextboxAndBackground
+2 -2
View File
@@ -236,10 +236,10 @@ _0814D7E8: .4byte gUnknown_846ED90
_0814D7EC: .4byte gUnknown_846EEC0 _0814D7EC: .4byte gUnknown_846EEC0
_0814D7F0: .4byte gUnknown_846F058 _0814D7F0: .4byte gUnknown_846F058
_0814D7F4: _0814D7F4:
bl sub_80FCEA8 bl LoadWirelessStatusIndicatorSpriteGfx
movs r0, 0 movs r0, 0
movs r1, 0 movs r1, 0
bl sub_80FCD74 bl CreateWirelessStatusIndicatorSprite
adds r0, r5, 0 adds r0, r5, 0
bl sub_814ECE0 bl sub_814ECE0
ldr r0, _0814D82C @ =gSpriteCoordOffsetY ldr r0, _0814D82C @ =gSpriteCoordOffsetY
+2 -2
View File
@@ -393,10 +393,10 @@ _08150B16:
ldrb r0, [r0] ldrb r0, [r0]
cmp r0, 0 cmp r0, 0
beq _08150BDC beq _08150BDC
bl sub_80FCEA8 bl LoadWirelessStatusIndicatorSpriteGfx
movs r0, 0 movs r0, 0
movs r1, 0 movs r1, 0
bl sub_80FCD74 bl CreateWirelessStatusIndicatorSprite
b _08150BDC b _08150BDC
.align 2, 0 .align 2, 0
_08150B38: .4byte gReceivedRemoteLinkPlayers _08150B38: .4byte gReceivedRemoteLinkPlayers
+1 -1
View File
@@ -2630,7 +2630,7 @@ _080AEFF8:
lsrs r0, 24 lsrs r0, 24
strh r0, [r5, 0x22] strh r0, [r5, 0x22]
ldrb r0, [r4] ldrb r0, [r4]
bl sub_807685C bl GetBattlerSpriteSubpriority
lsls r0, 24 lsls r0, 24
lsrs r0, 24 lsrs r0, 24
subs r0, 0x2 subs r0, 0x2
+2 -2
View File
@@ -843,10 +843,10 @@ _080CE4CC:
ldrb r0, [r0] ldrb r0, [r0]
cmp r0, 0 cmp r0, 0
beq _080CE4E0 beq _080CE4E0
bl sub_80FCEA8 bl LoadWirelessStatusIndicatorSpriteGfx
movs r0, 0 movs r0, 0
movs r1, 0 movs r1, 0
bl sub_80FCD74 bl CreateWirelessStatusIndicatorSprite
_080CE4E0: _080CE4E0:
movs r0, 0x1 movs r0, 0x1
negs r0, r0 negs r0, r0
+1 -1
View File
@@ -2898,7 +2898,7 @@ sub_80B68C8: @ 80B68C8
lsrs r0, 24 lsrs r0, 24
strh r0, [r4, 0x12] strh r0, [r4, 0x12]
ldrb r0, [r5] ldrb r0, [r5]
bl sub_807685C bl GetBattlerSpriteSubpriority
lsls r0, 24 lsls r0, 24
lsrs r0, 24 lsrs r0, 24
subs r0, 0x2 subs r0, 0x2
+6 -6
View File
@@ -9368,8 +9368,8 @@ _080FCD6C: .4byte gUnknown_3005440
_080FCD70: .4byte gUnknown_3005E00 _080FCD70: .4byte gUnknown_3005E00
thumb_func_end sub_80FCD50 thumb_func_end sub_80FCD50
thumb_func_start sub_80FCD74 thumb_func_start CreateWirelessStatusIndicatorSprite
sub_80FCD74: @ 80FCD74 CreateWirelessStatusIndicatorSprite: @ 80FCD74
push {r4,r5,lr} push {r4,r5,lr}
lsls r0, 24 lsls r0, 24
lsrs r3, r0, 24 lsrs r3, r0, 24
@@ -9464,7 +9464,7 @@ _080FCE34: .4byte gUnknown_203ACE4
_080FCE38: .4byte gSprites _080FCE38: .4byte gSprites
_080FCE3C: .4byte 0x00001234 _080FCE3C: .4byte 0x00001234
_080FCE40: .4byte gUnknown_843F274 _080FCE40: .4byte gUnknown_843F274
thumb_func_end sub_80FCD74 thumb_func_end CreateWirelessStatusIndicatorSprite
thumb_func_start DestroyWirelessStatusIndicatorSprite thumb_func_start DestroyWirelessStatusIndicatorSprite
DestroyWirelessStatusIndicatorSprite: @ 80FCE44 DestroyWirelessStatusIndicatorSprite: @ 80FCE44
@@ -9514,8 +9514,8 @@ _080FCEA0: .4byte gDummyOamData
_080FCEA4: .4byte 0x070003e8 _080FCEA4: .4byte 0x070003e8
thumb_func_end DestroyWirelessStatusIndicatorSprite thumb_func_end DestroyWirelessStatusIndicatorSprite
thumb_func_start sub_80FCEA8 thumb_func_start LoadWirelessStatusIndicatorSpriteGfx
sub_80FCEA8: @ 80FCEA8 LoadWirelessStatusIndicatorSpriteGfx: @ 80FCEA8
push {r4,lr} push {r4,lr}
ldr r4, _080FCED4 @ =gUnknown_843F274 ldr r4, _080FCED4 @ =gUnknown_843F274
ldrh r0, [r4, 0x6] ldrh r0, [r4, 0x6]
@@ -9540,7 +9540,7 @@ _080FCED4: .4byte gUnknown_843F274
_080FCED8: .4byte 0xffff0000 _080FCED8: .4byte 0xffff0000
_080FCEDC: .4byte gUnknown_843F27C _080FCEDC: .4byte gUnknown_843F27C
_080FCEE0: .4byte gUnknown_203ACE4 _080FCEE0: .4byte gUnknown_203ACE4
thumb_func_end sub_80FCEA8 thumb_func_end LoadWirelessStatusIndicatorSpriteGfx
thumb_func_start sub_80FCEE4 thumb_func_start sub_80FCEE4
sub_80FCEE4: @ 80FCEE4 sub_80FCEE4: @ 80FCEE4
+10 -10
View File
@@ -707,10 +707,10 @@ _08115E84:
beq _08115EC0 beq _08115EC0
b _081161D8 b _081161D8
_08115E8E: _08115E8E:
bl sub_80FCEA8 bl LoadWirelessStatusIndicatorSpriteGfx
movs r0, 0 movs r0, 0
movs r1, 0 movs r1, 0
bl sub_80FCD74 bl CreateWirelessStatusIndicatorSprite
movs r0, 0x5 movs r0, 0x5
strb r0, [r5, 0x19] strb r0, [r5, 0x19]
ldrb r1, [r5, 0x13] ldrb r1, [r5, 0x13]
@@ -2475,10 +2475,10 @@ sub_8116D60: @ 8116D60
push {r4,r5,lr} push {r4,r5,lr}
adds r4, r0, 0 adds r4, r0, 0
strb r1, [r4, 0xF] strb r1, [r4, 0xF]
bl sub_80FCEA8 bl LoadWirelessStatusIndicatorSpriteGfx
movs r0, 0 movs r0, 0
movs r1, 0 movs r1, 0
bl sub_80FCD74 bl CreateWirelessStatusIndicatorSprite
ldrb r0, [r4, 0xE] ldrb r0, [r4, 0xE]
bl RedrawListMenu bl RedrawListMenu
ldr r5, _08116DD4 @ =gStringVar1 ldr r5, _08116DD4 @ =gStringVar1
@@ -4188,10 +4188,10 @@ _08117C3C:
beq _08117C84 beq _08117C84
b _08117ECA b _08117ECA
_08117C42: _08117C42:
bl sub_80FCEA8 bl LoadWirelessStatusIndicatorSpriteGfx
movs r0, 0 movs r0, 0
movs r1, 0 movs r1, 0
bl sub_80FCD74 bl CreateWirelessStatusIndicatorSprite
ldr r1, [r5] ldr r1, [r5]
ldrb r0, [r5, 0x13] ldrb r0, [r5, 0x13]
lsls r0, 5 lsls r0, 5
@@ -4702,10 +4702,10 @@ _0811808E:
cmp r0, 0 cmp r0, 0
bne _08118130 bne _08118130
strb r2, [r5, 0xF] strb r2, [r5, 0xF]
bl sub_80FCEA8 bl LoadWirelessStatusIndicatorSpriteGfx
movs r0, 0 movs r0, 0
movs r1, 0 movs r1, 0
bl sub_80FCD74 bl CreateWirelessStatusIndicatorSprite
ldrb r0, [r5, 0xE] ldrb r0, [r5, 0xE]
bl RedrawListMenu bl RedrawListMenu
ldr r4, _0811812C @ =gStringVar1 ldr r4, _0811812C @ =gStringVar1
@@ -5118,10 +5118,10 @@ _0811843A:
beq _0811849C beq _0811849C
strb r4, [r5, 0xF] strb r4, [r5, 0xF]
strb r4, [r5, 0x14] strb r4, [r5, 0x14]
bl sub_80FCEA8 bl LoadWirelessStatusIndicatorSpriteGfx
movs r0, 0 movs r0, 0
movs r1, 0 movs r1, 0
bl sub_80FCD74 bl CreateWirelessStatusIndicatorSprite
ldr r0, [r5] ldr r0, [r5]
adds r4, r0, 0 adds r4, r0, 0
adds r4, 0x10 adds r4, 0x10
+4 -4
View File
@@ -4058,10 +4058,10 @@ _08056B3C:
ldrb r0, [r0] ldrb r0, [r0]
cmp r0, 0 cmp r0, 0
beq _08056B62 beq _08056B62
bl sub_80FCEA8 bl LoadWirelessStatusIndicatorSpriteGfx
movs r0, 0 movs r0, 0
movs r1, 0 movs r1, 0
bl sub_80FCD74 bl CreateWirelessStatusIndicatorSprite
b _08056B62 b _08056B62
.align 2, 0 .align 2, 0
_08056B54: .4byte gWirelessCommType _08056B54: .4byte gWirelessCommType
@@ -4389,10 +4389,10 @@ _08056E18:
ldrb r0, [r0] ldrb r0, [r0]
cmp r0, 0 cmp r0, 0
beq _08056E3E beq _08056E3E
bl sub_80FCEA8 bl LoadWirelessStatusIndicatorSpriteGfx
movs r0, 0 movs r0, 0
movs r1, 0 movs r1, 0
bl sub_80FCD74 bl CreateWirelessStatusIndicatorSprite
b _08056E3E b _08056E3E
.align 2, 0 .align 2, 0
_08056E30: .4byte gWirelessCommType _08056E30: .4byte gWirelessCommType
+2 -2
View File
@@ -442,10 +442,10 @@ _08147E0C:
ldr r0, [r4] ldr r0, [r4]
adds r0, 0xA4 adds r0, 0xA4
bl sub_8149CEC bl sub_8149CEC
bl sub_80FCEA8 bl LoadWirelessStatusIndicatorSpriteGfx
movs r0, 0 movs r0, 0
movs r1, 0 movs r1, 0
bl sub_80FCD74 bl CreateWirelessStatusIndicatorSprite
ldr r1, [r4] ldr r1, [r4]
b _08147EBC b _08147EBC
.align 2, 0 .align 2, 0
File diff suppressed because it is too large Load Diff
+6 -6
View File
@@ -435,10 +435,10 @@ _0804C9C4:
ldrb r0, [r1] ldrb r0, [r1]
adds r0, 0x1 adds r0, 0x1
strb r0, [r1] strb r0, [r1]
bl sub_80FCEA8 bl LoadWirelessStatusIndicatorSpriteGfx
movs r0, 0 movs r0, 0
movs r1, 0 movs r1, 0
bl sub_80FCD74 bl CreateWirelessStatusIndicatorSprite
b _0804CEE6 b _0804CEE6
.align 2, 0 .align 2, 0
_0804C9E0: .4byte gWirelessCommType _0804C9E0: .4byte gWirelessCommType
@@ -1134,10 +1134,10 @@ _0804CFDC:
ldrb r0, [r0] ldrb r0, [r0]
cmp r0, 0 cmp r0, 0
beq _0804CFF0 beq _0804CFF0
bl sub_80FCEA8 bl LoadWirelessStatusIndicatorSpriteGfx
movs r0, 0 movs r0, 0
movs r1, 0 movs r1, 0
bl sub_80FCD74 bl CreateWirelessStatusIndicatorSprite
_0804CFF0: _0804CFF0:
ldr r1, _0804D000 @ =gMain ldr r1, _0804D000 @ =gMain
movs r3, 0x87 movs r3, 0x87
@@ -7749,10 +7749,10 @@ _0805044C:
ldrb r0, [r0] ldrb r0, [r0]
cmp r0, 0 cmp r0, 0
beq _0805046C beq _0805046C
bl sub_80FCEA8 bl LoadWirelessStatusIndicatorSpriteGfx
movs r0, 0 movs r0, 0
movs r1, 0 movs r1, 0
bl sub_80FCD74 bl CreateWirelessStatusIndicatorSprite
_0805046C: _0805046C:
ldr r0, _08050498 @ =sub_8053D84 ldr r0, _08050498 @ =sub_8053D84
bl SetMainCallback2 bl SetMainCallback2
+2 -2
View File
@@ -208,10 +208,10 @@ _0808919A:
ldrb r0, [r0] ldrb r0, [r0]
cmp r0, 0x1 cmp r0, 0x1
bne _080891B6 bne _080891B6
bl sub_80FCEA8 bl LoadWirelessStatusIndicatorSpriteGfx
movs r0, 0xE6 movs r0, 0xE6
movs r1, 0x96 movs r1, 0x96
bl sub_80FCD74 bl CreateWirelessStatusIndicatorSprite
_080891B6: _080891B6:
movs r0, 0x1 movs r0, 0x1
negs r0, r0 negs r0, r0
+2 -2
View File
@@ -177,10 +177,10 @@ _08128554:
bl CreateTask bl CreateTask
ldr r1, [r4] ldr r1, [r4]
strb r0, [r1, 0xF] strb r0, [r1, 0xF]
bl sub_80FCEA8 bl LoadWirelessStatusIndicatorSpriteGfx
movs r0, 0xE8 movs r0, 0xE8
movs r1, 0x96 movs r1, 0x96
bl sub_80FCD74 bl CreateWirelessStatusIndicatorSprite
_08128598: _08128598:
add sp, 0x4 add sp, 0x4
pop {r4-r6} pop {r4-r6}
+4 -4
View File
@@ -750,7 +750,7 @@ sub_80AB168: @ 80AB168
ldr r6, _080AB1B8 @ =0x0000fff6 ldr r6, _080AB1B8 @ =0x0000fff6
strh r6, [r4, 0x26] strh r6, [r4, 0x26]
ldrb r0, [r7] ldrb r0, [r7]
bl sub_807685C bl GetBattlerSpriteSubpriority
lsls r0, 24 lsls r0, 24
lsrs r5, r0, 24 lsrs r5, r0, 24
bl IsContest bl IsContest
@@ -2408,7 +2408,7 @@ sub_80ABE4C: @ 80ABE4C
lsrs r6, r0, 24 lsrs r6, r0, 24
movs r5, 0xAC movs r5, 0xAC
ldrb r0, [r4] ldrb r0, [r4]
bl sub_807685C bl GetBattlerSpriteSubpriority
subs r0, 0x1 subs r0, 0x1
lsls r0, 24 lsls r0, 24
lsrs r0, 24 lsrs r0, 24
@@ -3679,7 +3679,7 @@ _080AC826:
strh r0, [r4, 0x30] strh r0, [r4, 0x30]
ldr r0, _080AC870 @ =gBattleAnimAttacker ldr r0, _080AC870 @ =gBattleAnimAttacker
ldrb r0, [r0] ldrb r0, [r0]
bl sub_807685C bl GetBattlerSpriteSubpriority
subs r0, 0x1 subs r0, 0x1
adds r1, r4, 0 adds r1, r4, 0
adds r1, 0x43 adds r1, 0x43
@@ -3737,7 +3737,7 @@ _080AC89C:
strh r0, [r4, 0x30] strh r0, [r4, 0x30]
ldr r0, _080AC8E8 @ =gBattleAnimAttacker ldr r0, _080AC8E8 @ =gBattleAnimAttacker
ldrb r0, [r0] ldrb r0, [r0]
bl sub_807685C bl GetBattlerSpriteSubpriority
subs r0, 0x1 subs r0, 0x1
adds r1, r4, 0 adds r1, r4, 0
adds r1, 0x43 adds r1, 0x43
+1
View File
@@ -795,6 +795,7 @@ void ApplyPlayerChosenFrameToBattleMenu(void);
bool8 LoadChosenBattleElement(u8 caseId); bool8 LoadChosenBattleElement(u8 caseId);
void DrawMainBattleBackground(void); void DrawMainBattleBackground(void);
void task00_0800F6FC(u8 taskId); void task00_0800F6FC(u8 taskId);
void sub_800F324(void);
enum enum
{ {
+2
View File
@@ -129,6 +129,7 @@ void oamt_add_pos2_onto_pos1(struct Sprite *sprite);
u8 GetBattlerSpriteDefault_Y(u8 bank); u8 GetBattlerSpriteDefault_Y(u8 bank);
u8 sub_80A82E4(u8 bank); u8 sub_80A82E4(u8 bank);
u8 GetSubstituteSpriteDefault_Y(u8 bank); u8 GetSubstituteSpriteDefault_Y(u8 bank);
u8 GetGhostSpriteDefault_Y(u8 battlerId);
// battle_anim_80A9C70.s // battle_anim_80A9C70.s
void LaunchStatusAnimation(u8 bank, u8 statusAnimId); void LaunchStatusAnimation(u8 bank, u8 statusAnimId);
@@ -148,6 +149,7 @@ void SetSpriteRotScale(u8 spriteId, s16 xScale, s16 yScale, u16 rotation);
bool8 IsContest(void); bool8 IsContest(void);
void sub_80759DC(u8 spriteId); void sub_80759DC(u8 spriteId);
bool8 IsBattlerSpritePresent(u8 battlerId); bool8 IsBattlerSpritePresent(u8 battlerId);
u8 GetBattlerSpriteSubpriority(u8 battlerId);
// battle_anim_mon_movement.c // battle_anim_mon_movement.c
void AnimTask_ShakeMon(u8 taskId); void AnimTask_ShakeMon(u8 taskId);
+2 -2
View File
@@ -12,9 +12,9 @@ bool8 IsMoveWithoutAnimation(u16 moveId, u8 animationTurn);
bool8 mplay_80342A4(u8 battlerId); bool8 mplay_80342A4(u8 battlerId);
void BattleLoadOpponentMonSpriteGfx(struct Pokemon *mon, u8 battlerId); void BattleLoadOpponentMonSpriteGfx(struct Pokemon *mon, u8 battlerId);
void BattleLoadPlayerMonSpriteGfx(struct Pokemon *mon, u8 battlerId); void BattleLoadPlayerMonSpriteGfx(struct Pokemon *mon, u8 battlerId);
void DecompressGhostFrontPic(u16 frontPicId, u8 battlerId); void DecompressGhostFrontPic(struct Pokemon *unused, u8 battlerId);
void DecompressTrainerFrontPic(u16 frontPicId, u8 battlerId); void DecompressTrainerFrontPic(u16 frontPicId, u8 battlerId);
void sub_8034750(u16 a1, u8 a2); void DecompressTrainerBackPalette(u16 a1, u8 a2);
void nullsub_16(u8 a1); void nullsub_16(u8 a1);
void FreeTrainerFrontPicPaletteAndTile(u16 frontPicId); void FreeTrainerFrontPicPaletteAndTile(u16 frontPicId);
bool8 BattleLoadAllHealthBoxesGfx(u8 state); bool8 BattleLoadAllHealthBoxesGfx(u8 state);
+14
View File
@@ -13,6 +13,20 @@ struct BGCntrlBitfield // for the I/O registers
volatile u16 screenSize:2; volatile u16 screenSize:2;
}; };
enum
{
BG_ATTR_CHARBASEINDEX = 1,
BG_ATTR_MAPBASEINDEX,
BG_ATTR_SCREENSIZE,
BG_ATTR_PALETTEMODE,
BG_ATTR_MOSAIC,
BG_ATTR_WRAPAROUND,
BG_ATTR_PRIORITY,
BG_ATTR_METRIC,
BG_ATTR_TYPE,
BG_ATTR_BASETILE,
};
enum enum
{ {
BG_CTRL_ATTR_VISIBLE = 1, BG_CTRL_ATTR_VISIBLE = 1,
+2
View File
@@ -211,5 +211,7 @@ bool32 sub_800B270(void);
void sub_800B388(void); void sub_800B388(void);
void sub_8054A28(void); void sub_8054A28(void);
void sub_800B1F4(void); void sub_800B1F4(void);
void LoadWirelessStatusIndicatorSpriteGfx(void);
void CreateWirelessStatusIndicatorSprite(u8, u8);
#endif // GUARD_LINK_H #endif // GUARD_LINK_H
+1 -1
View File
@@ -3,7 +3,7 @@
#include "global.h" #include "global.h"
void nullsub_35(void); void nullsub_44(void);
void ReshowBattleScreenAfterMenu(void); void ReshowBattleScreenAfterMenu(void);
#endif // GUARD_RESHOW_BATTLE_SCREEN_H #endif // GUARD_RESHOW_BATTLE_SCREEN_H
+1 -1
View File
@@ -113,7 +113,7 @@ SECTIONS {
asm/battle_anim.o(.text); asm/battle_anim.o(.text);
asm/battle_anim_mons.o(.text); asm/battle_anim_mons.o(.text);
src/task.o(.text); src/task.o(.text);
asm/reshow_battle_screen.o(.text); src/reshow_battle_screen.o(.text);
asm/battle_anim_status_effects.o(.text); asm/battle_anim_status_effects.o(.text);
asm/title_screen.o(.text); asm/title_screen.o(.text);
src/reset_save_heap.o(.text); src/reset_save_heap.o(.text);
+1 -1
View File
@@ -347,7 +347,7 @@ static void SafariHandleReturnMonToBall(void)
static void SafariHandleDrawTrainerPic(void) static void SafariHandleDrawTrainerPic(void)
{ {
sub_8034750(gSaveBlock2Ptr->playerGender, gActiveBattler); DecompressTrainerBackPalette(gSaveBlock2Ptr->playerGender, gActiveBattler);
SetMultiuseSpriteTemplateToTrainerBack(gSaveBlock2Ptr->playerGender, GetBattlerPosition(gActiveBattler)); SetMultiuseSpriteTemplateToTrainerBack(gSaveBlock2Ptr->playerGender, GetBattlerPosition(gActiveBattler));
gBattlerSpriteIds[gActiveBattler] = CreateSprite(&gMultiuseSpriteTemplate, gBattlerSpriteIds[gActiveBattler] = CreateSprite(&gMultiuseSpriteTemplate,
80, 80,
+3 -3
View File
@@ -420,7 +420,7 @@ void BattleLoadPlayerMonSpriteGfx(struct Pokemon *mon, u8 battlerId)
} }
} }
void DecompressGhostFrontPic(u16 frontPicId, u8 battlerId) void DecompressGhostFrontPic(struct Pokemon *unused, u8 battlerId)
{ {
u16 palOffset; u16 palOffset;
void *buffer; void *buffer;
@@ -448,9 +448,9 @@ void DecompressTrainerFrontPic(u16 frontPicId, u8 battlerId)
LoadCompressedSpritePaletteUsingHeap(&gTrainerFrontPicPaletteTable[frontPicId]); LoadCompressedSpritePaletteUsingHeap(&gTrainerFrontPicPaletteTable[frontPicId]);
} }
void sub_8034750(u16 a1, u8 a2) void DecompressTrainerBackPalette(u16 index, u8 palette)
{ {
LoadCompressedPalette(gUnknown_8239FD4[a1].data, (a2 + 16) * 16, 0x20); LoadCompressedPalette(gUnknown_8239FD4[index].data, (palette + 16) * 16, 0x20);
} }
void nullsub_16(u8 a1) void nullsub_16(u8 a1)
+322
View File
@@ -0,0 +1,322 @@
#include "global.h"
#include "bg.h"
#include "palette.h"
#include "pokemon.h"
#include "main.h"
#include "link.h"
#include "data2.h"
#include "sprite.h"
#include "text.h"
#include "gpu_regs.h"
#include "scanline_effect.h"
#include "help_system.h"
#include "battle.h"
#include "battle_interface.h"
#include "battle_anim.h"
#include "battle_controllers.h"
#include "reshow_battle_screen.h"
#include "constants/species.h"
static void CB2_ReshowBattleScreenAfterMenu(void);
static void sub_8077AAC(void);
static bool8 LoadBattlerSpriteGfx(u8 battlerId);
static void CreateBattlerSprite(u8 battlerId);
static void CreateHealthboxSprite(u8 battlerId);
void nullsub_44(void)
{
}
void ReshowBattleScreenAfterMenu(void)
{
gPaletteFade.bufferTransferDisabled = 1;
SetHBlankCallback(NULL);
SetGpuReg(REG_OFFSET_MOSAIC, 0);
gBattleScripting.reshowMainState = 0;
gBattleScripting.reshowHelperState = 0;
if (!(gBattleTypeFlags & BATTLE_TYPE_LINK))
{
if (gBattleTypeFlags & BATTLE_TYPE_TRAINER)
{
if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE)
HelpSystem_SetSomeVariable2(0x19);
else
HelpSystem_SetSomeVariable2(0x18);
}
else if (gBattleTypeFlags & BATTLE_TYPE_SAFARI)
{
HelpSystem_SetSomeVariable2(0x1A);
}
else
{
HelpSystem_SetSomeVariable2(0x17);
}
}
SetMainCallback2(CB2_ReshowBattleScreenAfterMenu);
}
static void CB2_ReshowBattleScreenAfterMenu(void)
{
u8 opponentBattler;
u16 species;
switch (gBattleScripting.reshowMainState)
{
case 0:
ResetSpriteData();
break;
case 1:
SetVBlankCallback(NULL);
ScanlineEffect_Clear();
sub_800F324();
SetBgAttribute(1, BG_ATTR_CHARBASEINDEX, 0);
SetBgAttribute(2, BG_ATTR_CHARBASEINDEX, 0);
ShowBg(0);
ShowBg(1);
ShowBg(2);
ShowBg(3);
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;
break;
case 2:
CpuFastFill(0, (void *)VRAM, VRAM_SIZE);
break;
case 3:
LoadBattleTextboxAndBackground();
break;
case 4:
FreeAllSpritePalettes();
gReservedSpritePaletteCount = 4;
break;
case 5:
ClearSpritesHealthboxAnimData();
break;
case 6:
if (BattleLoadAllHealthBoxesGfx(gBattleScripting.reshowHelperState))
{
gBattleScripting.reshowHelperState = 0;
}
else
{
++gBattleScripting.reshowHelperState;
--gBattleScripting.reshowMainState;
}
break;
case 7:
if (!LoadBattlerSpriteGfx(0))
--gBattleScripting.reshowMainState;
break;
case 8:
if (!LoadBattlerSpriteGfx(1))
--gBattleScripting.reshowMainState;
break;
case 9:
if (!LoadBattlerSpriteGfx(2))
--gBattleScripting.reshowMainState;
break;
case 0xA:
if (!LoadBattlerSpriteGfx(3))
--gBattleScripting.reshowMainState;
break;
case 0xB:
CreateBattlerSprite(0);
break;
case 0xC:
CreateBattlerSprite(1);
break;
case 0xD:
CreateBattlerSprite(2);
break;
case 0xE:
CreateBattlerSprite(3);
break;
case 0xF:
CreateHealthboxSprite(0);
break;
case 0x10:
CreateHealthboxSprite(1);
break;
case 0x11:
CreateHealthboxSprite(2);
break;
case 0x12:
CreateHealthboxSprite(3);
break;
case 0x13:
LoadAndCreateEnemyShadowSprites();
opponentBattler = GetBattlerAtPosition(B_POSITION_OPPONENT_LEFT);
species = GetMonData(&gEnemyParty[gBattlerPartyIndexes[opponentBattler]], MON_DATA_SPECIES);
SetBattlerShadowSpriteCallback(opponentBattler, species);
if (IsDoubleBattle())
{
opponentBattler = GetBattlerAtPosition(B_POSITION_OPPONENT_RIGHT);
species = GetMonData(&gEnemyParty[gBattlerPartyIndexes[opponentBattler]], MON_DATA_SPECIES);
SetBattlerShadowSpriteCallback(opponentBattler, species);
}
ActionSelectionCreateCursorAt(gActionSelectionCursor[gBattlerInMenuId], 0);
if (gWirelessCommType && gReceivedRemoteLinkPlayers)
{
LoadWirelessStatusIndicatorSpriteGfx();
CreateWirelessStatusIndicatorSprite(0, 0);
}
break;
case 0x14:
SetVBlankCallback(VBlankCB_Battle);
sub_8077AAC();
BeginHardwarePaletteFade(0xFF, 0, 0x10, 0, 1);
gPaletteFade.bufferTransferDisabled = 0;
SetMainCallback2(BattleMainCB2);
sub_80357C8();
break;
default:
break;
}
++gBattleScripting.reshowMainState;
}
static void sub_8077AAC(void)
{
EnableInterrupts(INTR_FLAG_VBLANK);
SetGpuReg(REG_OFFSET_BLDCNT, 0);
SetGpuReg(REG_OFFSET_BLDALPHA, 0);
SetGpuReg(REG_OFFSET_BLDY, 0);
SetGpuReg(REG_OFFSET_WININ, 0x3F);
SetGpuReg(REG_OFFSET_WINOUT, 0x3F);
SetGpuReg(REG_OFFSET_WIN0H, 0);
SetGpuReg(REG_OFFSET_WIN0V, 0);
SetGpuReg(REG_OFFSET_WIN1H, 0);
SetGpuReg(REG_OFFSET_WIN1V, 0);
SetGpuRegBits(REG_OFFSET_DISPCNT, DISPCNT_OBJ_1D_MAP | DISPCNT_OBJ_ON | DISPCNT_WIN0_ON | DISPCNT_OBJWIN_ON);
}
static bool8 LoadBattlerSpriteGfx(u8 battler)
{
if (battler < gBattlersCount)
{
if (GetBattlerSide(battler) != B_SIDE_PLAYER)
{
if ((gBattleTypeFlags & (BATTLE_TYPE_LEGENDARY | BATTLE_TYPE_GHOST)) == BATTLE_TYPE_GHOST)
DecompressGhostFrontPic(&gEnemyParty[gBattlerPartyIndexes[battler]], battler);
else if (!gBattleSpritesDataPtr->battlerData[battler].behindSubstitute)
BattleLoadOpponentMonSpriteGfx(&gEnemyParty[gBattlerPartyIndexes[battler]], battler);
else
BattleLoadSubstituteOrMonSpriteGfx(battler, FALSE);
}
else if (gBattleTypeFlags & BATTLE_TYPE_SAFARI && battler == B_POSITION_PLAYER_LEFT) // Should be checking position, not battler.
DecompressTrainerBackPalette(gSaveBlock2Ptr->playerGender, battler);
else if (gBattleTypeFlags & BATTLE_TYPE_OLDMAN_TUTORIAL && battler == B_POSITION_PLAYER_LEFT) // Should be checking position, not battler.
DecompressTrainerBackPalette(5, battler);
else if (!gBattleSpritesDataPtr->battlerData[battler].behindSubstitute)
BattleLoadPlayerMonSpriteGfx(&gPlayerParty[gBattlerPartyIndexes[battler]], battler);
else
BattleLoadSubstituteOrMonSpriteGfx(battler, FALSE);
gBattleScripting.reshowHelperState = 0;
}
return TRUE;
}
static void CreateBattlerSprite(u8 battler)
{
if (battler < gBattlersCount)
{
u8 posY;
if ((gBattleTypeFlags & (BATTLE_TYPE_LEGENDARY | BATTLE_TYPE_GHOST)) == BATTLE_TYPE_GHOST)
posY = GetGhostSpriteDefault_Y(battler);
else if (gBattleSpritesDataPtr->battlerData[battler].behindSubstitute)
posY = GetSubstituteSpriteDefault_Y(battler);
else
posY = GetBattlerSpriteDefault_Y(battler);
if (GetBattlerSide(battler) != B_SIDE_PLAYER)
{
if (GetMonData(&gEnemyParty[gBattlerPartyIndexes[battler]], MON_DATA_HP) == 0)
return;
SetMultiuseSpriteTemplateToPokemon(GetMonData(&gEnemyParty[gBattlerPartyIndexes[battler]], MON_DATA_SPECIES), GetBattlerPosition(battler));
gBattlerSpriteIds[battler] = CreateSprite(&gMultiuseSpriteTemplate, GetBattlerSpriteCoord(battler, 2), posY, GetBattlerSpriteSubpriority(battler));
gSprites[gBattlerSpriteIds[battler]].oam.paletteNum = battler;
gSprites[gBattlerSpriteIds[battler]].callback = SpriteCallbackDummy;
gSprites[gBattlerSpriteIds[battler]].data[0] = battler;
gSprites[gBattlerSpriteIds[battler]].data[2] = GetMonData(&gEnemyParty[gBattlerPartyIndexes[battler]], MON_DATA_SPECIES);
StartSpriteAnim(&gSprites[gBattlerSpriteIds[battler]], gBattleMonForms[battler]);
}
else if (gBattleTypeFlags & BATTLE_TYPE_SAFARI && battler == B_POSITION_PLAYER_LEFT)
{
SetMultiuseSpriteTemplateToTrainerBack(gSaveBlock2Ptr->playerGender, GetBattlerPosition(B_POSITION_PLAYER_LEFT));
gBattlerSpriteIds[battler] = CreateSprite(&gMultiuseSpriteTemplate, 0x50,
(8 - gTrainerBackPicCoords[gSaveBlock2Ptr->playerGender].size) * 4 + 80,
GetBattlerSpriteSubpriority(0));
gSprites[gBattlerSpriteIds[battler]].oam.paletteNum = battler;
gSprites[gBattlerSpriteIds[battler]].callback = SpriteCallbackDummy;
gSprites[gBattlerSpriteIds[battler]].data[0] = battler;
}
else if (gBattleTypeFlags & BATTLE_TYPE_OLDMAN_TUTORIAL && battler == B_POSITION_PLAYER_LEFT)
{
SetMultiuseSpriteTemplateToTrainerBack(5, GetBattlerPosition(0));
gBattlerSpriteIds[battler] = CreateSprite(&gMultiuseSpriteTemplate, 0x50,
(8 - gTrainerBackPicCoords[5].size) * 4 + 80,
GetBattlerSpriteSubpriority(0));
gSprites[gBattlerSpriteIds[battler]].oam.paletteNum = battler;
gSprites[gBattlerSpriteIds[battler]].callback = SpriteCallbackDummy;
gSprites[gBattlerSpriteIds[battler]].data[0] = battler;
}
else if (GetMonData(&gPlayerParty[gBattlerPartyIndexes[battler]], MON_DATA_HP) == 0)
{
return;
}
else
{
SetMultiuseSpriteTemplateToPokemon(GetMonData(&gPlayerParty[gBattlerPartyIndexes[battler]], MON_DATA_SPECIES), GetBattlerPosition(battler));
gBattlerSpriteIds[battler] = CreateSprite(&gMultiuseSpriteTemplate, GetBattlerSpriteCoord(battler, 2), posY, GetBattlerSpriteSubpriority(battler));
gSprites[gBattlerSpriteIds[battler]].oam.paletteNum = battler;
gSprites[gBattlerSpriteIds[battler]].callback = SpriteCallbackDummy;
gSprites[gBattlerSpriteIds[battler]].data[0] = battler;
gSprites[gBattlerSpriteIds[battler]].data[2] = GetMonData(&gPlayerParty[gBattlerPartyIndexes[battler]], MON_DATA_SPECIES);
StartSpriteAnim(&gSprites[gBattlerSpriteIds[battler]], gBattleMonForms[battler]);
}
gSprites[gBattlerSpriteIds[battler]].invisible = gBattleSpritesDataPtr->battlerData[battler].invisible;
}
}
static void CreateHealthboxSprite(u8 battler)
{
if (battler < gBattlersCount)
{
u8 healthboxSpriteId;
if (gBattleTypeFlags & BATTLE_TYPE_SAFARI && battler == B_POSITION_PLAYER_LEFT)
healthboxSpriteId = CreateSafariPlayerHealthboxSprites();
else if (gBattleTypeFlags & BATTLE_TYPE_OLDMAN_TUTORIAL && battler == B_POSITION_PLAYER_LEFT)
return;
else
healthboxSpriteId = CreateBattlerHealthboxSprites(battler);
gHealthboxSpriteIds[battler] = healthboxSpriteId;
InitBattlerHealthboxCoords(battler);
SetHealthboxSpriteVisible(healthboxSpriteId);
if (GetBattlerSide(battler) != B_SIDE_PLAYER)
UpdateHealthboxAttribute(gHealthboxSpriteIds[battler], &gEnemyParty[gBattlerPartyIndexes[battler]], HEALTHBOX_ALL);
else if (gBattleTypeFlags & BATTLE_TYPE_SAFARI)
UpdateHealthboxAttribute(gHealthboxSpriteIds[battler], &gPlayerParty[gBattlerPartyIndexes[battler]], HEALTHBOX_SAFARI_ALL_TEXT);
else
UpdateHealthboxAttribute(gHealthboxSpriteIds[battler], &gPlayerParty[gBattlerPartyIndexes[battler]], HEALTHBOX_ALL);
if (GetBattlerPosition(battler) == B_POSITION_OPPONENT_RIGHT || GetBattlerPosition(battler) == B_POSITION_PLAYER_RIGHT)
DummyBattleInterfaceFunc(gHealthboxSpriteIds[battler], TRUE);
else
DummyBattleInterfaceFunc(gHealthboxSpriteIds[battler], FALSE);
if (GetBattlerSide(battler) != B_SIDE_PLAYER)
{
if (GetMonData(&gEnemyParty[gBattlerPartyIndexes[battler]], MON_DATA_HP) == 0)
SetHealthboxSpriteInvisible(healthboxSpriteId);
}
else if (!(gBattleTypeFlags & BATTLE_TYPE_SAFARI) && GetMonData(&gPlayerParty[gBattlerPartyIndexes[battler]], MON_DATA_HP) == 0)
{
SetHealthboxSpriteInvisible(healthboxSpriteId);
}
}
}