ported reshow_battle_screen from pokeem
This commit is contained in:
+11
-11
@@ -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
@@ -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
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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]
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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
@@ -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
|
||||||
|
|||||||
@@ -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
@@ -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
|
||||||
|
|||||||
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
|
||||||
|
|||||||
@@ -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
@@ -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
@@ -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
|
||||||
|
|||||||
@@ -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
@@ -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
|
||||||
|
|||||||
@@ -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
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -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);
|
||||||
|
|||||||
@@ -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);
|
||||||
|
|||||||
@@ -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,
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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
@@ -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);
|
||||||
|
|||||||
@@ -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,
|
||||||
|
|||||||
@@ -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)
|
||||||
|
|||||||
@@ -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);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user