identity -> position

This commit is contained in:
camthesaxman 2018-01-16 14:01:31 -06:00
parent 11cb3275cc
commit 157b88b6db
35 changed files with 895 additions and 881 deletions

View File

@ -5,8 +5,8 @@
.text
thumb_func_start GetBankPosition
GetBankPosition: @ 80A5C6C
thumb_func_start GetBankCoord
GetBankCoord: @ 80A5C6C
push {r4,r5,lr}
lsls r0, 24
lsrs r5, r0, 24
@ -40,7 +40,7 @@ _080A5C9C:
_080A5CB0:
ldr r4, =gUnknown_08525F58
adds r0, r5, 0
bl GetBankIdentity
bl GetBankPosition
lsls r0, 24
lsrs r0, 22
ldr r1, =gBattleTypeFlags
@ -56,7 +56,7 @@ _080A5CB0:
_080A5CD8:
ldr r4, =gUnknown_08525F58
adds r0, r5, 0
bl GetBankIdentity
bl GetBankPosition
lsls r0, 24
lsrs r0, 22
ldr r1, =gBattleTypeFlags
@ -154,7 +154,7 @@ _080A5DB0:
pop {r4,r5}
pop {r1}
bx r1
thumb_func_end GetBankPosition
thumb_func_end GetBankCoord
thumb_func_start sub_80A5DB8
sub_80A5DB8: @ 80A5DB8
@ -476,7 +476,7 @@ _080A603E:
lsrs r4, r0, 16
_080A605C:
adds r0, r6, 0
bl GetBankIdentity
bl GetBankPosition
ldr r3, =gUnknown_08525F58
lsls r0, 24
lsrs r0, 22
@ -577,7 +577,7 @@ _080A611C:
_080A6126:
adds r0, r4, 0
adds r1, r5, 0
bl GetBankPosition
bl GetBankCoord
_080A612E:
lsls r0, 24
lsrs r0, 24
@ -592,7 +592,7 @@ GetBankSpriteDefault_Y: @ 80A6138
lsls r0, 24
lsrs r0, 24
movs r1, 0x4
bl GetBankPosition
bl GetBankCoord
lsls r0, 24
lsrs r0, 24
pop {r1}
@ -611,7 +611,7 @@ GetSubstituteSpriteDefault_Y: @ 80A614C
beq _080A6170
adds r0, r4, 0
movs r1, 0x1
bl GetBankPosition
bl GetBankCoord
lsls r0, 24
lsrs r0, 8
movs r1, 0x80
@ -620,7 +620,7 @@ GetSubstituteSpriteDefault_Y: @ 80A614C
_080A6170:
adds r0, r4, 0
movs r1, 0x1
bl GetBankPosition
bl GetBankCoord
lsls r0, 24
lsrs r0, 8
movs r1, 0x88
@ -642,7 +642,7 @@ sub_80A6190: @ 80A6190
lsrs r5, r0, 24
adds r0, r5, 0
movs r1, 0x1
bl GetBankPosition
bl GetBankCoord
lsls r0, 24
lsrs r6, r0, 24
bl IsContest
@ -1245,13 +1245,13 @@ sub_80A65EC: @ 80A65EC
ldr r5, =gAnimBankTarget
ldrb r0, [r5]
movs r1, 0x2
bl GetBankPosition
bl GetBankCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r4, 0x32]
ldrb r0, [r5]
movs r1, 0x3
bl GetBankPosition
bl GetBankCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r4, 0x36]
@ -1442,13 +1442,13 @@ sub_80A6760: @ 80A6760
ldr r5, =gAnimBankAttacker
ldrb r0, [r5]
movs r1, 0x2
bl GetBankPosition
bl GetBankCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r4, 0x32]
ldrb r0, [r5]
movs r1, 0x3
bl GetBankPosition
bl GetBankCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r4, 0x36]
@ -1550,13 +1550,13 @@ sub_80A6838: @ 80A6838
ldr r4, =gAnimBankAttacker
ldrb r0, [r4]
movs r1, 0x2
bl GetBankPosition
bl GetBankCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0x20]
ldrb r0, [r4]
movs r1, 0x3
bl GetBankPosition
bl GetBankCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0x22]
@ -1578,13 +1578,13 @@ sub_80A6864: @ 80A6864
ldr r7, =gAnimBankAttacker
ldrb r0, [r7]
movs r1, 0
bl GetBankPosition
bl GetBankCoord
lsls r0, 24
lsrs r6, r0, 24
ldr r0, =gAnimBankTarget
ldrb r0, [r0]
movs r1, 0
bl GetBankPosition
bl GetBankCoord
lsls r0, 24
lsrs r0, 24
cmp r6, r0
@ -1810,7 +1810,7 @@ _080A6A04:
GetBankSide: @ 80A6A30
lsls r0, 24
lsrs r0, 24
ldr r1, =gBanksByIdentity
ldr r1, =gBankPositions
adds r0, r1
ldrb r1, [r0]
movs r0, 0x1
@ -1819,16 +1819,16 @@ GetBankSide: @ 80A6A30
.pool
thumb_func_end GetBankSide
thumb_func_start GetBankIdentity
GetBankIdentity: @ 80A6A44
thumb_func_start GetBankPosition
GetBankPosition: @ 80A6A44
lsls r0, 24
lsrs r0, 24
ldr r1, =gBanksByIdentity
ldr r1, =gBankPositions
adds r0, r1
ldrb r0, [r0]
bx lr
.pool
thumb_func_end GetBankIdentity
thumb_func_end GetBankPosition
thumb_func_start GetBankByIdentity
GetBankByIdentity: @ 80A6A54
@ -1840,7 +1840,7 @@ GetBankByIdentity: @ 80A6A54
ldrb r2, [r0]
cmp r1, r2
bcs _080A6A7E
ldr r4, =gBanksByIdentity
ldr r4, =gBankPositions
ldrb r0, [r4]
cmp r0, r3
beq _080A6A7E
@ -1883,7 +1883,7 @@ IsBankSpritePresent: @ 80A6A90
b _080A6B18
.pool
_080A6ABC:
ldr r0, =gBanksByIdentity
ldr r0, =gBankPositions
adds r0, r4, r0
ldrb r0, [r0]
cmp r0, 0xFF
@ -3685,7 +3685,7 @@ _080A785C:
ldr r4, =gAnimBankTarget
ldrb r0, [r4]
movs r1, 0x2
bl GetBankPosition
bl GetBankCoord
lsls r0, 24
lsrs r0, 24
ldrh r1, [r6, 0x4]
@ -3693,7 +3693,7 @@ _080A785C:
strh r0, [r5, 0x32]
ldrb r0, [r4]
adds r1, r7, 0
bl GetBankPosition
bl GetBankCoord
lsls r0, 24
lsrs r0, 24
ldrh r6, [r6, 0x6]
@ -3733,7 +3733,7 @@ _080A78CC:
ldr r5, =gAnimBankTarget
ldrb r0, [r5]
movs r1, 0x2
bl GetBankPosition
bl GetBankCoord
lsls r0, 24
lsrs r0, 24
ldrh r1, [r4, 0x4]
@ -3741,7 +3741,7 @@ _080A78CC:
strh r0, [r6, 0x32]
ldrb r0, [r5]
movs r1, 0x3
bl GetBankPosition
bl GetBankCoord
lsls r0, 24
lsrs r0, 24
ldrh r1, [r4, 0x6]
@ -3828,7 +3828,7 @@ _080A798E:
strh r0, [r5, 0x2E]
adds r0, r6, 0
movs r1, 0x2
bl GetBankPosition
bl GetBankCoord
lsls r0, 24
lsrs r0, 24
ldrh r2, [r4, 0x4]
@ -3836,7 +3836,7 @@ _080A798E:
strh r0, [r5, 0x32]
adds r0, r6, 0
adds r1, r7, 0
bl GetBankPosition
bl GetBankCoord
lsls r0, 24
lsrs r0, 24
ldrh r4, [r4, 0x6]
@ -5027,7 +5027,7 @@ _080A82FC:
b _080A8320
_080A8300:
adds r0, r4, 0
bl GetBankIdentity
bl GetBankPosition
lsls r0, 24
lsrs r0, 24
movs r1, 0x1E
@ -5053,7 +5053,7 @@ sub_80A8328: @ 80A8328
push {r4,lr}
lsls r0, 24
lsrs r0, 24
bl GetBankIdentity
bl GetBankPosition
lsls r0, 24
lsrs r4, r0, 24
bl IsContest
@ -5093,7 +5093,7 @@ sub_80A8364: @ 80A8364
cmp r0, 0
bne _080A838A
adds r0, r4, 0
bl GetBankIdentity
bl GetBankPosition
lsls r0, 24
lsrs r0, 24
cmp r0, 0
@ -5713,7 +5713,7 @@ _080A88A6:
_080A88AE:
mov r0, r8
movs r1, 0x2
bl GetBankPosition
bl GetBankCoord
lsls r0, 24
lsrs r0, 24
ldrb r1, [r4]
@ -5722,7 +5722,7 @@ _080A88AE:
_080A88C0:
mov r0, r8
movs r1, 0x2
bl GetBankPosition
bl GetBankCoord
lsls r0, 24
lsrs r0, 24
ldrb r1, [r4]
@ -5731,7 +5731,7 @@ _080A88C0:
_080A88D2:
mov r0, r8
movs r1, 0x3
bl GetBankPosition
bl GetBankCoord
lsls r0, 24
lsrs r0, 24
ldrb r2, [r4]
@ -5744,7 +5744,7 @@ _080A88E4:
_080A88EA:
mov r0, r8
movs r1, 0x3
bl GetBankPosition
bl GetBankCoord
lsls r0, 24
lsrs r0, 24
ldrb r2, [r4]
@ -5757,7 +5757,7 @@ _080A88FC:
_080A8902:
mov r0, r8
movs r1, 0x1
bl GetBankPosition
bl GetBankCoord
lsls r0, 24
lsrs r0, 24
adds r0, 0x1F
@ -5798,13 +5798,13 @@ _080A8942:
_080A8946:
adds r0, r4, 0
adds r1, r5, 0
bl GetBankPosition
bl GetBankCoord
lsls r0, 24
lsrs r0, 24
mov r8, r0
adds r0, r4, 0
adds r1, r6, 0
bl GetBankPosition
bl GetBankCoord
lsls r0, 24
lsrs r7, r0, 24
bl IsDoubleBattle
@ -5819,12 +5819,12 @@ _080A8946:
eors r4, r0
adds r0, r4, 0
adds r1, r5, 0
bl GetBankPosition
bl GetBankCoord
lsls r0, 24
lsrs r5, r0, 24
adds r0, r4, 0
adds r1, r6, 0
bl GetBankPosition
bl GetBankCoord
lsls r0, 24
lsrs r3, r0, 24
mov r0, r8
@ -6392,13 +6392,13 @@ sub_80A8E30: @ 80A8E30
ldr r4, =gAnimBankAttacker
ldrb r0, [r4]
movs r1, 0x2
bl GetBankPosition
bl GetBankCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0x20]
ldrb r0, [r4]
movs r1, 0x3
bl GetBankPosition
bl GetBankCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0x22]

View File

@ -334,7 +334,7 @@ sub_80A9EF4: @ 80A9EF4
ldr r4, =gAnimBankTarget
ldrb r0, [r4]
movs r1, 0x2
bl GetBankPosition
bl GetBankCoord
lsls r0, 24
lsrs r0, 8
ldr r1, =0xffe00000
@ -342,7 +342,7 @@ sub_80A9EF4: @ 80A9EF4
lsrs r5, r0, 16
ldrb r0, [r4]
movs r1, 0x3
bl GetBankPosition
bl GetBankCoord
lsls r0, 24
lsrs r0, 8
ldr r1, =0xffdc0000

File diff suppressed because it is too large Load Diff

View File

@ -90,7 +90,7 @@ sub_815A160: @ 815A160
ldr r6, =gAnimBankTarget
ldrb r0, [r6]
movs r1, 0x2
bl GetBankPosition
bl GetBankCoord
adds r4, r0, 0
lsls r4, 24
lsrs r4, 8
@ -100,7 +100,7 @@ sub_815A160: @ 815A160
asrs r4, 16
ldrb r0, [r6]
movs r1, 0x3
bl GetBankPosition
bl GetBankCoord
adds r1, r0, 0
lsls r1, 24
lsrs r1, 8
@ -210,13 +210,13 @@ sub_815A254: @ 815A254
ldr r4, =gAnimBankTarget
ldrb r0, [r4]
movs r1, 0x2
bl GetBankPosition
bl GetBankCoord
lsls r0, 24
lsrs r0, 24
adds r7, r0, 0
ldrb r0, [r4]
movs r1, 0x3
bl GetBankPosition
bl GetBankCoord
lsls r0, 24
lsrs r0, 24
adds r6, r0, 0
@ -1254,13 +1254,13 @@ sub_815AAA4: @ 815AAA4
ldr r4, =gAnimBankAttacker
ldrb r0, [r4]
movs r1, 0
bl GetBankPosition
bl GetBankCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0x20]
ldrb r0, [r4]
movs r1, 0x1
bl GetBankPosition
bl GetBankCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0x22]
@ -1510,7 +1510,7 @@ _0815ACEC:
_0815ACEE:
ldrb r0, [r4]
movs r1, 0
bl GetBankPosition
bl GetBankCoord
lsls r0, 24
lsrs r0, 24
ldrh r6, [r6, 0x2]
@ -1518,7 +1518,7 @@ _0815ACEE:
strh r0, [r5, 0x20]
ldrb r0, [r4]
movs r1, 0x1
bl GetBankPosition
bl GetBankCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0x22]
@ -1906,13 +1906,13 @@ sub_815AFF0: @ 815AFF0
ldr r6, =gAnimBankAttacker
ldrb r0, [r6]
movs r1, 0x2
bl GetBankPosition
bl GetBankCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r4, 0xC]
ldrb r0, [r6]
movs r1, 0x3
bl GetBankPosition
bl GetBankCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r4, 0xE]
@ -2281,13 +2281,13 @@ _0815B2D8:
ldr r4, =gAnimBankTarget
ldrb r0, [r4]
movs r1, 0x2
bl GetBankPosition
bl GetBankCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0x32]
ldrb r0, [r4]
movs r1, 0x3
bl GetBankPosition
bl GetBankCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0x36]
@ -2373,13 +2373,13 @@ _0815B3BE:
ldr r4, =gAnimBankAttacker
ldrb r0, [r4]
movs r1, 0x2
bl GetBankPosition
bl GetBankCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0x20]
ldrb r0, [r4]
movs r1, 0x3
bl GetBankPosition
bl GetBankCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0x22]
@ -2817,7 +2817,7 @@ _0815B71E:
ldr r0, =gAnimBankAttacker
ldrb r0, [r0]
movs r1, 0x3
bl GetBankPosition
bl GetBankCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r4, 0x32]
@ -3020,7 +3020,7 @@ _0815B8A8:
.pool
_0815B8E0:
ldrb r0, [r5]
bl GetBankIdentity
bl GetBankPosition
lsls r0, 24
lsrs r1, r0, 24
_0815B8EA:
@ -3624,14 +3624,14 @@ _0815BE2E:
ldr r4, =gAnimBankAttacker
ldrb r0, [r4]
movs r1, 0
bl GetBankPosition
bl GetBankCoord
lsls r0, 24
lsrs r0, 24
adds r0, r5
strh r0, [r7, 0x20]
ldrb r0, [r4]
movs r1, 0x1
bl GetBankPosition
bl GetBankCoord
lsls r0, 24
lsrs r0, 24
adds r0, 0x20
@ -3998,7 +3998,7 @@ _0815C124:
_0815C15C:
ldr r0, =gAnimBankTarget
ldrb r0, [r0]
bl GetBankIdentity
bl GetBankPosition
lsls r0, 24
lsrs r4, r0, 24
bl IsDoubleBattle
@ -4994,13 +4994,13 @@ sub_815C95C: @ 815C95C
ldr r4, =gAnimBankAttacker
ldrb r0, [r4]
movs r1, 0x2
bl GetBankPosition
bl GetBankCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0x20]
ldrb r0, [r4]
movs r1, 0x3
bl GetBankPosition
bl GetBankCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0x22]
@ -5531,13 +5531,13 @@ sub_815CDB4: @ 815CDB4
ldr r5, =gAnimBankAttacker
ldrb r0, [r5]
movs r1, 0x2
bl GetBankPosition
bl GetBankCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r4, 0x20]
ldrb r0, [r5]
movs r1, 0x3
bl GetBankPosition
bl GetBankCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r4, 0x22]
@ -5842,13 +5842,13 @@ _0815D05A:
ldr r5, =gAnimBankAttacker
ldrb r0, [r5]
movs r1, 0
bl GetBankPosition
bl GetBankCoord
adds r4, r0, 0
lsls r4, 24
lsrs r4, 24
ldrb r0, [r5]
movs r1, 0x1
bl GetBankPosition
bl GetBankCoord
lsls r0, 24
mov r2, r10
lsls r1, r2, 16
@ -6840,7 +6840,7 @@ _0815D896:
ldr r4, =gAnimBankAttacker
ldrb r0, [r4]
movs r1, 0x2
bl GetBankPosition
bl GetBankCoord
lsls r0, 24
lsrs r0, 24
ldrh r1, [r6, 0x2]
@ -6848,7 +6848,7 @@ _0815D896:
strh r0, [r5, 0x20]
ldrb r0, [r4]
movs r1, 0x3
bl GetBankPosition
bl GetBankCoord
lsls r0, 24
lsrs r0, 24
ldrh r6, [r6, 0x4]
@ -7382,13 +7382,13 @@ _0815DCEA:
ldrb r4, [r0]
adds r0, r4, 0
movs r1, 0
bl GetBankPosition
bl GetBankCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0x10]
adds r0, r4, 0
movs r1, 0x1
bl GetBankPosition
bl GetBankCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0x12]
@ -7789,7 +7789,7 @@ sub_815E01C: @ 815E01C
_0815E038:
ldrb r0, [r6]
movs r1, 0
bl GetBankPosition
bl GetBankCoord
lsls r0, 24
ldr r4, =gBattleAnimArgs
lsrs r0, 24
@ -7798,7 +7798,7 @@ _0815E038:
strh r0, [r5, 0x20]
ldrb r0, [r6]
movs r1, 0x1
bl GetBankPosition
bl GetBankCoord
lsls r0, 24
lsrs r0, 24
ldrh r1, [r4, 0x2]
@ -7931,7 +7931,7 @@ _0815E14E:
bne _0815E188
ldrb r0, [r5]
movs r1, 0x2
bl GetBankPosition
bl GetBankCoord
adds r4, r0, 0
ldrb r0, [r5]
movs r1, 0
@ -7951,7 +7951,7 @@ _0815E17C:
_0815E188:
ldrb r0, [r5]
movs r1, 0x2
bl GetBankPosition
bl GetBankCoord
adds r4, r0, 0
ldrb r0, [r5]
movs r1, 0
@ -7971,7 +7971,7 @@ _0815E1AC:
ldr r5, =gAnimBankAttacker
ldrb r0, [r5]
movs r1, 0x3
bl GetBankPosition
bl GetBankCoord
adds r4, r0, 0
ldrb r0, [r5]
movs r1, 0
@ -7990,13 +7990,13 @@ _0815E1D0:
ldr r4, =gAnimBankTarget
ldrb r0, [r4]
movs r1, 0x2
bl GetBankPosition
bl GetBankCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r6, 0x22]
ldrb r0, [r4]
movs r1, 0x3
bl GetBankPosition
bl GetBankCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r6, 0x24]
@ -8349,14 +8349,14 @@ sub_815E47C: @ 815E47C
mov r10, r0
ldrb r0, [r0]
movs r1, 0x2
bl GetBankPosition
bl GetBankCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r7, 0x1E]
mov r1, r10
ldrb r0, [r1]
movs r1, 0x3
bl GetBankPosition
bl GetBankCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r7, 0x20]
@ -8364,14 +8364,14 @@ sub_815E47C: @ 815E47C
mov r8, r0
ldrb r0, [r0]
movs r1, 0x2
bl GetBankPosition
bl GetBankCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r7, 0x22]
mov r1, r8
ldrb r0, [r1]
movs r1, 0x3
bl GetBankPosition
bl GetBankCoord
adds r4, r0, 0
mov r1, r8
ldrb r0, [r1]
@ -8659,7 +8659,7 @@ _0815E724:
strh r1, [r4, 0x3C]
adds r0, r5, 0
movs r1, 0x3
bl GetBankPosition
bl GetBankCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r4, 0x22]
@ -8950,7 +8950,7 @@ _0815E970:
_0815E972:
ldrb r0, [r4]
movs r1, 0x2
bl GetBankPosition
bl GetBankCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0x20]
@ -9342,7 +9342,7 @@ sub_815EC48: @ 815EC48
ldr r5, =gAnimBankAttacker
ldrb r0, [r5]
movs r1, 0
bl GetBankPosition
bl GetBankCoord
adds r4, r0, 0
lsls r4, 24
lsrs r4, 24
@ -9350,7 +9350,7 @@ sub_815EC48: @ 815EC48
movs r0, 0x2
eors r0, r1
movs r1, 0
bl GetBankPosition
bl GetBankCoord
lsls r0, 24
lsrs r0, 24
cmp r4, r0
@ -9771,14 +9771,14 @@ _0815EFEC:
lsls r0, 24
lsrs r0, 24
movs r1, 0x2
bl GetBankPosition
bl GetBankCoord
lsls r0, 24
lsrs r5, r0, 24
ldrh r0, [r4, 0x3C]
lsls r0, 24
lsrs r0, 24
movs r1, 0x3
bl GetBankPosition
bl GetBankCoord
lsls r0, 24
lsrs r1, r0, 24
_0815F00C:
@ -9994,10 +9994,10 @@ sub_815F18C: @ 815F18C
ldr r4, =gAnimBankTarget
ldrb r0, [r4]
movs r1, 0x2
bl GetBankPosition
bl GetBankCoord
ldrb r0, [r4]
movs r1, 0x3
bl GetBankPosition
bl GetBankCoord
ldrb r0, [r4]
bl GetBankSide
lsls r0, 24
@ -10387,7 +10387,7 @@ _0815F4C8:
ldr r0, =gAnimBankTarget
ldrb r0, [r0]
movs r1, 0x3
bl GetBankPosition
bl GetBankCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0x22]
@ -11180,7 +11180,7 @@ _0815FB50:
ldr r0, =gAnimBankTarget
ldrb r0, [r0]
movs r1, 0x1
bl GetBankPosition
bl GetBankCoord
lsls r0, 24
lsrs r0, 24
lsls r3, r5, 16
@ -11318,7 +11318,7 @@ _0815FC56:
ldr r0, =gAnimBankTarget
ldrb r0, [r0]
movs r1, 0
bl GetBankPosition
bl GetBankCoord
lsls r0, 24
lsrs r0, 24
cmp r4, r0
@ -11331,7 +11331,7 @@ _0815FCB4:
ldr r0, =gAnimBankTarget
ldrb r0, [r0]
movs r1, 0
bl GetBankPosition
bl GetBankCoord
lsls r0, 24
lsrs r0, 24
cmp r4, r0
@ -11469,7 +11469,7 @@ _0815FD8C:
mov r1, r10
ldrb r0, [r1]
movs r1, 0
bl GetBankPosition
bl GetBankCoord
lsls r0, 24
lsrs r0, 24
adds r3, r5, 0
@ -11499,7 +11499,7 @@ _0815FE0C:
mov r2, r10
ldrb r0, [r2]
movs r1, 0
bl GetBankPosition
bl GetBankCoord
lsls r0, 24
lsrs r0, 24
adds r3, r5, 0
@ -11566,7 +11566,7 @@ _0815FE92:
ldr r0, =gAnimBankTarget
ldrb r0, [r0]
movs r1, 0x1
bl GetBankPosition
bl GetBankCoord
lsls r0, 24
lsrs r0, 24
adds r0, 0x10
@ -11724,14 +11724,14 @@ _08160008:
ldr r0, =gAnimBankAttacker
ldrb r0, [r0]
movs r1, 0
bl GetBankPosition
bl GetBankCoord
lsls r0, 24
lsrs r0, 24
adds r5, r0, 0
ldr r0, =gAnimBankTarget
ldrb r0, [r0]
movs r1, 0
bl GetBankPosition
bl GetBankCoord
lsls r0, 24
lsrs r0, 24
adds r2, r0, 0
@ -12169,7 +12169,7 @@ sub_81603A8: @ 81603A8
ldr r4, =gAnimBankAttacker
ldrb r0, [r4]
movs r1, 0x2
bl GetBankPosition
bl GetBankCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0x20]

View File

@ -907,13 +907,13 @@ _08170C44:
ldr r5, =gAnimBankAttacker
ldrb r0, [r5]
movs r1, 0
bl GetBankPosition
bl GetBankCoord
adds r4, r0, 0
lsls r4, 24
lsrs r4, 24
ldrb r0, [r5]
movs r1, 0x1
bl GetBankPosition
bl GetBankCoord
adds r1, r0, 0
lsls r1, 24
ldr r2, =gSprites
@ -1166,14 +1166,14 @@ sub_8170E04: @ 8170E04
mov r8, r2
ldrb r0, [r2]
movs r1, 0
bl GetBankPosition
bl GetBankCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r6, 0x30]
mov r1, r8
ldrb r0, [r1]
movs r1, 0x1
bl GetBankPosition
bl GetBankCoord
lsls r0, 24
lsrs r0, 24
subs r0, 0x10
@ -1317,14 +1317,14 @@ _08170F54:
mov r8, r1
ldrb r0, [r1]
movs r1, 0
bl GetBankPosition
bl GetBankCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r6, 0x30]
mov r1, r8
ldrb r0, [r1]
movs r1, 0x1
bl GetBankPosition
bl GetBankCoord
lsls r0, 24
lsrs r0, 24
subs r0, 0x10
@ -5234,12 +5234,12 @@ _0817303A:
ldrb r0, [r4, 0x8]
mov r8, r0
movs r1, 0
bl GetBankPosition
bl GetBankCoord
lsls r0, 24
lsrs r5, r0, 24
mov r0, r8
movs r1, 0x1
bl GetBankPosition
bl GetBankCoord
lsls r0, 24
lsrs r2, r0, 24
movs r1, 0x1E
@ -5579,7 +5579,7 @@ sub_817330C: @ 817330C
lsls r0, 24
lsrs r0, 24
movs r1, 0
bl GetBankPosition
bl GetBankCoord
lsls r0, 24
ldr r5, =gBattleAnimArgs
lsrs r0, 24
@ -5591,7 +5591,7 @@ sub_817330C: @ 817330C
lsls r0, 24
lsrs r0, 24
movs r1, 0x1
bl GetBankPosition
bl GetBankCoord
lsls r0, 24
lsrs r0, 24
ldrh r5, [r5, 0x6]

View File

@ -136,18 +136,18 @@ _0817CA4C:
_0817CA9C:
ldr r0, =gBankAttacker
ldrb r0, [r0]
bl GetBankIdentity
bl GetBankPosition
lsls r0, 24
lsrs r0, 25
mov r8, r0
ldr r0, =gBankTarget
ldrb r0, [r0]
bl GetBankIdentity
bl GetBankPosition
lsls r0, 24
lsrs r5, r0, 25
ldr r0, =gEffectBank
ldrb r0, [r0]
bl GetBankIdentity
bl GetBankPosition
lsls r0, 24
lsrs r3, r0, 25
ldr r1, [sp]
@ -2593,7 +2593,7 @@ _0817E122:
_0817E184:
mov r2, r10
ldrb r0, [r2]
bl GetBankIdentity
bl GetBankPosition
lsls r0, 24
lsrs r0, 25
lsls r0, 3
@ -2617,7 +2617,7 @@ _0817E184:
strb r1, [r0]
mov r1, r10
ldrb r0, [r1]
bl GetBankIdentity
bl GetBankPosition
lsls r0, 24
lsrs r0, 25
lsls r0, 3
@ -4414,7 +4414,7 @@ _0817EFC2:
ldr r4, =gSideAffecting
mov r1, r9
ldrb r0, [r1]
bl GetBankIdentity
bl GetBankPosition
movs r1, 0x1
ands r1, r0
lsls r1, 1

View File

@ -1048,7 +1048,7 @@ _080D8004:
bl sub_80DC594
bl sub_80DC5E8
bl sub_80DC7EC
ldr r1, =gBanksByIdentity
ldr r1, =gBankPositions
strb r4, [r1]
movs r0, 0x1
strb r0, [r1, 0x1]
@ -13829,13 +13829,13 @@ sub_80DEA5C: @ 80DEA5C
strh r0, [r4, 0x26]
movs r0, 0x3
movs r1, 0
bl GetBankPosition
bl GetBankCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r4, 0x20]
movs r0, 0x3
movs r1, 0x1
bl GetBankPosition
bl GetBankCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r4, 0x22]

View File

@ -45,10 +45,10 @@
.set OPPONENT_TELEPORTED, 0xA
@ identities
.set IDENTITY_PLAYER_MON1, 0
.set IDENTITY_OPPONENT_MON1, 1
.set IDENTITY_PLAYER_MON2, 2
.set IDENTITY_OPPONENT_MON2, 3
.set B_POSITION_PLAYER_LEFT, 0
.set B_POSITION_OPPONENT_LEFT, 1
.set B_POSITION_PLAYER_RIGHT, 2
.set B_POSITION_OPPONENT_RIGHT, 3
@ status 1
.set STATUS_SLEEP, 0x7

View File

@ -2950,7 +2950,7 @@ BattleScript_LocalBattleWonLoseTexts::
waitstate
printstring STRINGID_TRAINER1LOSETEXT
jumpifnotbattletype BATTLE_TYPE_TWO_OPPONENTS, BattleScript_LocalBattleWonReward
trainerslideout IDENTITY_OPPONENT_MON1
trainerslideout B_POSITION_OPPONENT_LEFT
waitstate
trainerslidein GBANK_1
waitstate
@ -2991,7 +2991,7 @@ BattleScript_LocalBattleLostPrintTrainersWinText::
jumpifbattletype BATTLE_TYPE_x800000, BattleScript_LocalBattleLostDoTrainer2WinText
jumpifnotbattletype BATTLE_TYPE_TWO_OPPONENTS, BattleScript_LocalBattleLostEnd_
BattleScript_LocalBattleLostDoTrainer2WinText::
trainerslideout IDENTITY_OPPONENT_MON1
trainerslideout B_POSITION_OPPONENT_LEFT
waitstate
trainerslidein GBANK_1
waitstate
@ -3007,7 +3007,7 @@ BattleScript_82DAA0B::
trainerslidein ATTACKER
waitstate
printstring STRINGID_TRAINER1WINTEXT
trainerslideout IDENTITY_OPPONENT_MON1
trainerslideout B_POSITION_OPPONENT_LEFT
waitstate
trainerslidein GBANK_1
waitstate
@ -3035,7 +3035,7 @@ BattleScript_82DAA5C::
trainerslidein ATTACKER
waitstate
printstring STRINGID_TRAINER1LOSETEXT
trainerslideout IDENTITY_OPPONENT_MON1
trainerslideout B_POSITION_OPPONENT_LEFT
waitstate
trainerslidein GBANK_1
waitstate
@ -3058,7 +3058,7 @@ BattleScript_82DAAAE::
waitstate
printstring STRINGID_TRAINER1LOSETEXT
jumpifnotbattletype BATTLE_TYPE_TWO_OPPONENTS, BattleScript_82DAACB
trainerslideout IDENTITY_OPPONENT_MON1
trainerslideout B_POSITION_OPPONENT_LEFT
waitstate
trainerslidein GBANK_1
waitstate

View File

@ -11,18 +11,33 @@
#include "battle_bg.h"
/*
Banks are a name given to what could be called a 'battlerId' or 'monControllerId'.
Each bank has a value consisting of two bits.
0x1 bit is responsible for the side, 0 = player's side, 1 = opponent's side.
0x2 bit is responsible for the id of sent out pokemon. 0 means it's the first sent out pokemon, 1 it's the second one. (Triple battle didn't exist at the time yet.)
* Banks are a name given to what could be called a 'battlerId' or 'monControllerId'.
* A battler may be in one of four positions on the field. The first bit determines
* what side the battler is on, either the player's side or the opponent's side.
* The second bit determines whether the pokemon is on the left or right of the
* given side. Note that the opponent's mons are drawn opposite because the position
* numbers correspond to their perspective. The bank number is usually the same
* as the position, except in the case of link battles.
*
* +---------------------- +
* | Opponent's side:|
* | 3 1 |
* | |
* | |
* |Player's side: |
* | 0 2 |
* ------------------------+
* | |
* | |
* +-----------------------+
*/
#define BATTLE_BANKS_COUNT 4
#define IDENTITY_PLAYER_MON1 0
#define IDENTITY_OPPONENT_MON1 1
#define IDENTITY_PLAYER_MON2 2
#define IDENTITY_OPPONENT_MON2 3
#define B_POSITION_PLAYER_LEFT 0
#define B_POSITION_OPPONENT_LEFT 1
#define B_POSITION_PLAYER_RIGHT 2
#define B_POSITION_OPPONENT_RIGHT 3
#define SIDE_PLAYER 0x0
#define SIDE_OPPONENT 0x1
@ -30,9 +45,9 @@
#define BIT_SIDE 0x1
#define BIT_MON 0x2
#define GET_BANK_IDENTITY(bank)((gBanksByIdentity[bank]))
#define GET_BANK_SIDE(bank)((GetBankIdentity(bank) & BIT_SIDE))
#define GET_BANK_SIDE2(bank)((GET_BANK_IDENTITY(bank) & BIT_SIDE))
#define GET_BANK_POSITION(bank)((gBankPositions[bank]))
#define GET_BANK_SIDE(bank)((GetBankPosition(bank) & BIT_SIDE))
#define GET_BANK_SIDE2(bank)((GET_BANK_POSITION(bank) & BIT_SIDE))
#define BATTLE_TYPE_DOUBLE 0x0001
#define BATTLE_TYPE_LINK 0x0002
@ -66,6 +81,8 @@
#define BATTLE_TYPE_KYOGRE 0x20000000
#define BATTLE_TYPE_RAYQUAZA 0x40000000
#define BATTLE_TYPE_x80000000 0x80000000
#define BATTLE_TYPE_FRONTIER (BATTLE_TYPE_BATTLE_TOWER | BATTLE_TYPE_DOME | BATTLE_TYPE_PALACE | BATTLE_TYPE_ARENA | BATTLE_TYPE_FACTORY | BATTLE_TYPE_PIKE | BATTLE_TYPE_PYRAMID)
#define BATTLE_TYPE_FRONTIER_NO_PYRAMID (BATTLE_TYPE_BATTLE_TOWER | BATTLE_TYPE_DOME | BATTLE_TYPE_PALACE | BATTLE_TYPE_ARENA | BATTLE_TYPE_FACTORY | BATTLE_TYPE_PIKE)
#define TRAINER_OPPONENT_3FE 0x3FE
#define TRAINER_OPPONENT_C00 0xC00
@ -73,9 +90,6 @@
#define STEVEN_PARTNER_ID 0xC03
#define SECRET_BASE_OPPONENT 0x400
#define BATTLE_TYPE_FRONTIER (BATTLE_TYPE_BATTLE_TOWER | BATTLE_TYPE_DOME | BATTLE_TYPE_PALACE | BATTLE_TYPE_ARENA | BATTLE_TYPE_FACTORY | BATTLE_TYPE_PIKE | BATTLE_TYPE_PYRAMID)
#define BATTLE_TYPE_FRONTIER_NO_PYRAMID (BATTLE_TYPE_BATTLE_TOWER | BATTLE_TYPE_DOME | BATTLE_TYPE_PALACE | BATTLE_TYPE_ARENA | BATTLE_TYPE_FACTORY | BATTLE_TYPE_PIKE)
#define BATTLE_WON 0x1
#define BATTLE_LOST 0x2
#define BATTLE_DREW 0x3
@ -832,7 +846,7 @@ enum
// rom_80A5C6C
u8 GetBankSide(u8 bank);
u8 GetBankIdentity(u8 bank);
u8 GetBankPosition(u8 bank);
u8 GetBankByIdentity(u8 bank);
struct BattleSpriteInfo

View File

@ -85,7 +85,7 @@ enum
BANK_Y_POS,
};
u8 GetBankPosition(u8 bank, u8 attributeId);
u8 GetBankCoord(u8 bank, u8 attributeId);
bool8 IsBankSpritePresent(u8 bank);
void sub_80A6C68(u8 arg0);

View File

@ -2517,7 +2517,7 @@ static void sub_8039A48(struct Sprite *sprite)
}
else
{
u8 *dst = (u8 *)gMonSpritesGfxPtr->sprites[GetBankIdentity(sprite->tBank)] + (gBattleMonForms[sprite->tBank] << 11) + (sprite->data[3] << 8);
u8 *dst = (u8 *)gMonSpritesGfxPtr->sprites[GetBankPosition(sprite->tBank)] + (gBattleMonForms[sprite->tBank] << 11) + (sprite->data[3] << 8);
for (i = 0; i < 0x100; i++)
*(dst++) = 0;
@ -3116,7 +3116,7 @@ static void BattleIntroDrawTrainersOrMonsSprites(void)
gBattleMons[gActiveBank].status2 = 0;
}
if (GetBankIdentity(gActiveBank) == IDENTITY_PLAYER_MON1)
if (GetBankPosition(gActiveBank) == B_POSITION_PLAYER_LEFT)
{
EmitDrawTrainerPic(0);
MarkBufferBankForExecution(gActiveBank);
@ -3124,7 +3124,7 @@ static void BattleIntroDrawTrainersOrMonsSprites(void)
if (gBattleTypeFlags & BATTLE_TYPE_TRAINER)
{
if (GetBankIdentity(gActiveBank) == IDENTITY_OPPONENT_MON1)
if (GetBankPosition(gActiveBank) == B_POSITION_OPPONENT_LEFT)
{
EmitDrawTrainerPic(0);
MarkBufferBankForExecution(gActiveBank);
@ -3159,15 +3159,15 @@ static void BattleIntroDrawTrainersOrMonsSprites(void)
if (gBattleTypeFlags & BATTLE_TYPE_MULTI)
{
if (GetBankIdentity(gActiveBank) == IDENTITY_PLAYER_MON2
|| GetBankIdentity(gActiveBank) == IDENTITY_OPPONENT_MON2)
if (GetBankPosition(gActiveBank) == B_POSITION_PLAYER_RIGHT
|| GetBankPosition(gActiveBank) == B_POSITION_OPPONENT_RIGHT)
{
EmitDrawTrainerPic(0);
MarkBufferBankForExecution(gActiveBank);
}
}
if (gBattleTypeFlags & BATTLE_TYPE_TWO_OPPONENTS && GetBankIdentity(gActiveBank) == IDENTITY_OPPONENT_MON2)
if (gBattleTypeFlags & BATTLE_TYPE_TWO_OPPONENTS && GetBankPosition(gActiveBank) == B_POSITION_OPPONENT_RIGHT)
{
EmitDrawTrainerPic(0);
MarkBufferBankForExecution(gActiveBank);
@ -3203,7 +3203,7 @@ static void BattleIntroDrawPartySummaryScreens(void)
hpStatus[i].status = GetMonData(&gEnemyParty[i], MON_DATA_STATUS);
}
}
gActiveBank = GetBankByIdentity(IDENTITY_OPPONENT_MON1);
gActiveBank = GetBankByIdentity(B_POSITION_OPPONENT_LEFT);
EmitDrawPartyStatusSummary(0, hpStatus, 0x80);
MarkBufferBankForExecution(gActiveBank);
@ -3221,7 +3221,7 @@ static void BattleIntroDrawPartySummaryScreens(void)
hpStatus[i].status = GetMonData(&gPlayerParty[i], MON_DATA_STATUS);
}
}
gActiveBank = GetBankByIdentity(IDENTITY_PLAYER_MON1);
gActiveBank = GetBankByIdentity(B_POSITION_PLAYER_LEFT);
EmitDrawPartyStatusSummary(0, hpStatus, 0x80);
MarkBufferBankForExecution(gActiveBank);
@ -3257,7 +3257,7 @@ static void BattleIntroPrintTrainerWantsToBattle(void)
{
if (gBattleExecBuffer == 0)
{
gActiveBank = GetBankByIdentity(IDENTITY_OPPONENT_MON1);
gActiveBank = GetBankByIdentity(B_POSITION_OPPONENT_LEFT);
PrepareStringBattle(STRINGID_INTROMSG, gActiveBank);
gBattleMainFunc = BattleIntroPrintOpponentSendsOut;
}
@ -3280,16 +3280,16 @@ static void BattleIntroPrintOpponentSendsOut(void)
return;
if (!(gBattleTypeFlags & BATTLE_TYPE_RECORDED))
identity = IDENTITY_OPPONENT_MON1;
identity = B_POSITION_OPPONENT_LEFT;
else if (gBattleTypeFlags & BATTLE_TYPE_x2000000)
{
if (gBattleTypeFlags & BATTLE_TYPE_x80000000)
identity = IDENTITY_OPPONENT_MON1;
identity = B_POSITION_OPPONENT_LEFT;
else
identity = IDENTITY_PLAYER_MON1;
identity = B_POSITION_PLAYER_LEFT;
}
else
identity = IDENTITY_OPPONENT_MON1;
identity = B_POSITION_OPPONENT_LEFT;
PrepareStringBattle(STRINGID_INTROSENDOUT, GetBankByIdentity(identity));
gBattleMainFunc = BattleIntroOpponent1SendsOutMonAnimation;
@ -3300,20 +3300,20 @@ static void BattleIntroOpponent2SendsOutMonAnimation(void)
u32 identity;
if (!(gBattleTypeFlags & BATTLE_TYPE_RECORDED))
identity = IDENTITY_OPPONENT_MON2;
identity = B_POSITION_OPPONENT_RIGHT;
else if (gBattleTypeFlags & BATTLE_TYPE_x2000000)
{
if (gBattleTypeFlags & BATTLE_TYPE_x80000000)
identity = IDENTITY_OPPONENT_MON2;
identity = B_POSITION_OPPONENT_RIGHT;
else
identity = IDENTITY_PLAYER_MON2;
identity = B_POSITION_PLAYER_RIGHT;
}
else
identity = IDENTITY_OPPONENT_MON2;
identity = B_POSITION_OPPONENT_RIGHT;
for (gActiveBank = 0; gActiveBank < gNoOfAllBanks; gActiveBank++)
{
if (GetBankIdentity(gActiveBank) == identity)
if (GetBankPosition(gActiveBank) == identity)
{
EmitIntroTrainerBallThrow(0);
MarkBufferBankForExecution(gActiveBank);
@ -3329,23 +3329,23 @@ static void BattleIntroOpponent1SendsOutMonAnimation(void)
u32 identity;
if (!(gBattleTypeFlags & BATTLE_TYPE_RECORDED))
identity = IDENTITY_OPPONENT_MON1;
identity = B_POSITION_OPPONENT_LEFT;
else if (gBattleTypeFlags & BATTLE_TYPE_x2000000)
{
if (gBattleTypeFlags & BATTLE_TYPE_x80000000)
identity = IDENTITY_OPPONENT_MON1;
identity = B_POSITION_OPPONENT_LEFT;
else
identity = IDENTITY_PLAYER_MON1;
identity = B_POSITION_PLAYER_LEFT;
}
else
identity = IDENTITY_OPPONENT_MON1;
identity = B_POSITION_OPPONENT_LEFT;
if (gBattleExecBuffer)
return;
for (gActiveBank = 0; gActiveBank < gNoOfAllBanks; gActiveBank++)
{
if (GetBankIdentity(gActiveBank) == identity)
if (GetBankPosition(gActiveBank) == identity)
{
EmitIntroTrainerBallThrow(0);
MarkBufferBankForExecution(gActiveBank);
@ -3408,7 +3408,7 @@ _0803B29A:\n\
adds r6, r4, 0\n\
_0803B2B2:\n\
ldrb r0, [r4]\n\
bl GetBankIdentity\n\
bl GetBankPosition\n\
lsls r0, 24\n\
lsrs r0, 24\n\
cmp r0, r5\n\
@ -3482,16 +3482,16 @@ static void BattleIntroPrintPlayerSendsOut(void)
u8 identity;
if (!(gBattleTypeFlags & BATTLE_TYPE_RECORDED))
identity = IDENTITY_PLAYER_MON1;
identity = B_POSITION_PLAYER_LEFT;
else if (gBattleTypeFlags & BATTLE_TYPE_x2000000)
{
if (gBattleTypeFlags & BATTLE_TYPE_x80000000)
identity = IDENTITY_PLAYER_MON1;
identity = B_POSITION_PLAYER_LEFT;
else
identity = IDENTITY_OPPONENT_MON1;
identity = B_POSITION_OPPONENT_LEFT;
}
else
identity = IDENTITY_PLAYER_MON1;
identity = B_POSITION_PLAYER_LEFT;
if (!(gBattleTypeFlags & BATTLE_TYPE_SAFARI))
PrepareStringBattle(STRINGID_INTROSENDOUT, GetBankByIdentity(identity));
@ -3505,20 +3505,20 @@ static void BattleIntroPlayer2SendsOutMonAnimation(void)
u32 identity;
if (!(gBattleTypeFlags & BATTLE_TYPE_RECORDED))
identity = IDENTITY_PLAYER_MON2;
identity = B_POSITION_PLAYER_RIGHT;
else if (gBattleTypeFlags & BATTLE_TYPE_x2000000)
{
if (gBattleTypeFlags & BATTLE_TYPE_x80000000)
identity = IDENTITY_PLAYER_MON2;
identity = B_POSITION_PLAYER_RIGHT;
else
identity = IDENTITY_OPPONENT_MON2;
identity = B_POSITION_OPPONENT_RIGHT;
}
else
identity = IDENTITY_PLAYER_MON2;
identity = B_POSITION_PLAYER_RIGHT;
for (gActiveBank = 0; gActiveBank < gNoOfAllBanks; gActiveBank++)
{
if (GetBankIdentity(gActiveBank) == identity)
if (GetBankPosition(gActiveBank) == identity)
{
EmitIntroTrainerBallThrow(0);
MarkBufferBankForExecution(gActiveBank);
@ -3537,23 +3537,23 @@ static void BattleIntroPlayer1SendsOutMonAnimation(void)
u32 identity;
if (!(gBattleTypeFlags & BATTLE_TYPE_RECORDED))
identity = IDENTITY_PLAYER_MON1;
identity = B_POSITION_PLAYER_LEFT;
else if (gBattleTypeFlags & BATTLE_TYPE_x2000000)
{
if (gBattleTypeFlags & BATTLE_TYPE_x80000000)
identity = IDENTITY_PLAYER_MON1;
identity = B_POSITION_PLAYER_LEFT;
else
identity = IDENTITY_OPPONENT_MON1;
identity = B_POSITION_OPPONENT_LEFT;
}
else
identity = IDENTITY_PLAYER_MON1;
identity = B_POSITION_PLAYER_LEFT;
if (gBattleExecBuffer)
return;
for (gActiveBank = 0; gActiveBank < gNoOfAllBanks; gActiveBank++)
{
if (GetBankIdentity(gActiveBank) == identity)
if (GetBankPosition(gActiveBank) == identity)
{
EmitIntroTrainerBallThrow(0);
MarkBufferBankForExecution(gActiveBank);
@ -3891,7 +3891,7 @@ static void HandleTurnActionSelectionState(void)
gBattleCommunication[ACTIONS_CONFIRMED_COUNT] = 0;
for (gActiveBank = 0; gActiveBank < gNoOfAllBanks; gActiveBank++)
{
u8 identity = GetBankIdentity(gActiveBank);
u8 identity = GetBankPosition(gActiveBank);
switch (gBattleCommunication[gActiveBank])
{
case STATE_TURN_START_RECORD: // recorded battle related on start of every turn
@ -4041,38 +4041,38 @@ static void HandleTurnActionSelectionState(void)
break;
case ACTION_CANCEL_PARTNER:
gBattleCommunication[gActiveBank] = 7;
gBattleCommunication[GetBankByIdentity(GetBankIdentity(gActiveBank) ^ BIT_MON)] = 1;
gBattleCommunication[GetBankByIdentity(GetBankPosition(gActiveBank) ^ BIT_MON)] = 1;
RecordedBattle_ClearBankAction(gActiveBank, 1);
if (gBattleMons[GetBankByIdentity(GetBankIdentity(gActiveBank) ^ BIT_MON)].status2 & STATUS2_MULTIPLETURNS
|| gBattleMons[GetBankByIdentity(GetBankIdentity(gActiveBank) ^ BIT_MON)].status2 & STATUS2_RECHARGE)
if (gBattleMons[GetBankByIdentity(GetBankPosition(gActiveBank) ^ BIT_MON)].status2 & STATUS2_MULTIPLETURNS
|| gBattleMons[GetBankByIdentity(GetBankPosition(gActiveBank) ^ BIT_MON)].status2 & STATUS2_RECHARGE)
{
EmitCmd50(0);
MarkBufferBankForExecution(gActiveBank);
return;
}
else if (gActionForBanks[GetBankByIdentity(GetBankIdentity(gActiveBank) ^ BIT_MON)] == ACTION_SWITCH)
else if (gActionForBanks[GetBankByIdentity(GetBankPosition(gActiveBank) ^ BIT_MON)] == ACTION_SWITCH)
{
RecordedBattle_ClearBankAction(GetBankByIdentity(GetBankIdentity(gActiveBank) ^ BIT_MON), 2);
RecordedBattle_ClearBankAction(GetBankByIdentity(GetBankPosition(gActiveBank) ^ BIT_MON), 2);
}
else if (gActionForBanks[GetBankByIdentity(GetBankIdentity(gActiveBank) ^ BIT_MON)] == ACTION_RUN)
else if (gActionForBanks[GetBankByIdentity(GetBankPosition(gActiveBank) ^ BIT_MON)] == ACTION_RUN)
{
RecordedBattle_ClearBankAction(GetBankByIdentity(GetBankIdentity(gActiveBank) ^ BIT_MON), 1);
RecordedBattle_ClearBankAction(GetBankByIdentity(GetBankPosition(gActiveBank) ^ BIT_MON), 1);
}
else if (gActionForBanks[GetBankByIdentity(GetBankIdentity(gActiveBank) ^ BIT_MON)] == ACTION_USE_MOVE
&& (gProtectStructs[GetBankByIdentity(GetBankIdentity(gActiveBank) ^ BIT_MON)].onlyStruggle
|| gDisableStructs[GetBankByIdentity(GetBankIdentity(gActiveBank) ^ BIT_MON)].encoredMove))
else if (gActionForBanks[GetBankByIdentity(GetBankPosition(gActiveBank) ^ BIT_MON)] == ACTION_USE_MOVE
&& (gProtectStructs[GetBankByIdentity(GetBankPosition(gActiveBank) ^ BIT_MON)].onlyStruggle
|| gDisableStructs[GetBankByIdentity(GetBankPosition(gActiveBank) ^ BIT_MON)].encoredMove))
{
RecordedBattle_ClearBankAction(GetBankByIdentity(GetBankIdentity(gActiveBank) ^ BIT_MON), 1);
RecordedBattle_ClearBankAction(GetBankByIdentity(GetBankPosition(gActiveBank) ^ BIT_MON), 1);
}
else if (gBattleTypeFlags & BATTLE_TYPE_PALACE
&& gActionForBanks[GetBankByIdentity(GetBankIdentity(gActiveBank) ^ BIT_MON)] == ACTION_USE_MOVE)
&& gActionForBanks[GetBankByIdentity(GetBankPosition(gActiveBank) ^ BIT_MON)] == ACTION_USE_MOVE)
{
gRngValue = gBattlePalaceMoveSelectionRngValue;
RecordedBattle_ClearBankAction(GetBankByIdentity(GetBankIdentity(gActiveBank) ^ BIT_MON), 1);
RecordedBattle_ClearBankAction(GetBankByIdentity(GetBankPosition(gActiveBank) ^ BIT_MON), 1);
}
else
{
RecordedBattle_ClearBankAction(GetBankByIdentity(GetBankIdentity(gActiveBank) ^ BIT_MON), 3);
RecordedBattle_ClearBankAction(GetBankByIdentity(GetBankPosition(gActiveBank) ^ BIT_MON), 3);
}
EmitCmd50(0);
MarkBufferBankForExecution(gActiveBank);
@ -4727,7 +4727,7 @@ static void HandleEndTurn_BattleWon(void)
{
gSpecialVar_Result = gBattleOutcome;
gBattleTextBuff1[0] = gBattleOutcome;
gBankAttacker = GetBankByIdentity(IDENTITY_PLAYER_MON1);
gBankAttacker = GetBankByIdentity(B_POSITION_PLAYER_LEFT);
gBattlescriptCurrInstr = BattleScript_LinkBattleWonOrLost;
gBattleOutcome &= ~(OUTCOME_LINK_BATTLE_RUN);
}
@ -4800,7 +4800,7 @@ static void HandleEndTurn_BattleLost(void)
else
{
gBattleTextBuff1[0] = gBattleOutcome;
gBankAttacker = GetBankByIdentity(IDENTITY_PLAYER_MON1);
gBankAttacker = GetBankByIdentity(B_POSITION_PLAYER_LEFT);
gBattlescriptCurrInstr = BattleScript_LinkBattleWonOrLost;
gBattleOutcome &= ~(OUTCOME_LINK_BATTLE_RUN);
}
@ -5127,16 +5127,16 @@ static void HandleAction_UseMove(void)
if (GetBankSide(gBankAttacker) == SIDE_PLAYER)
{
if (Random() & 1)
gBankTarget = GetBankByIdentity(IDENTITY_OPPONENT_MON1);
gBankTarget = GetBankByIdentity(B_POSITION_OPPONENT_LEFT);
else
gBankTarget = GetBankByIdentity(IDENTITY_OPPONENT_MON2);
gBankTarget = GetBankByIdentity(B_POSITION_OPPONENT_RIGHT);
}
else
{
if (Random() & 1)
gBankTarget = GetBankByIdentity(IDENTITY_PLAYER_MON1);
gBankTarget = GetBankByIdentity(B_POSITION_PLAYER_LEFT);
else
gBankTarget = GetBankByIdentity(IDENTITY_PLAYER_MON2);
gBankTarget = GetBankByIdentity(B_POSITION_PLAYER_RIGHT);
}
}
else
@ -5148,13 +5148,13 @@ static void HandleAction_UseMove(void)
{
if (GetBankSide(gBankAttacker) != GetBankSide(gBankTarget))
{
gBankTarget = GetBankByIdentity(GetBankIdentity(gBankTarget) ^ BIT_MON);
gBankTarget = GetBankByIdentity(GetBankPosition(gBankTarget) ^ BIT_MON);
}
else
{
gBankTarget = GetBankByIdentity(GetBankIdentity(gBankAttacker) ^ BIT_SIDE);
gBankTarget = GetBankByIdentity(GetBankPosition(gBankAttacker) ^ BIT_SIDE);
if (gAbsentBankFlags & gBitTable[gBankTarget])
gBankTarget = GetBankByIdentity(GetBankIdentity(gBankTarget) ^ BIT_MON);
gBankTarget = GetBankByIdentity(GetBankPosition(gBankTarget) ^ BIT_MON);
}
}
}
@ -5172,22 +5172,22 @@ static void HandleAction_UseMove(void)
if (GetBankSide(gBankAttacker) == SIDE_PLAYER)
{
if (Random() & 1)
gBankTarget = GetBankByIdentity(IDENTITY_OPPONENT_MON1);
gBankTarget = GetBankByIdentity(B_POSITION_OPPONENT_LEFT);
else
gBankTarget = GetBankByIdentity(IDENTITY_OPPONENT_MON2);
gBankTarget = GetBankByIdentity(B_POSITION_OPPONENT_RIGHT);
}
else
{
if (Random() & 1)
gBankTarget = GetBankByIdentity(IDENTITY_PLAYER_MON1);
gBankTarget = GetBankByIdentity(B_POSITION_PLAYER_LEFT);
else
gBankTarget = GetBankByIdentity(IDENTITY_PLAYER_MON2);
gBankTarget = GetBankByIdentity(B_POSITION_PLAYER_RIGHT);
}
if (gAbsentBankFlags & gBitTable[gBankTarget]
&& GetBankSide(gBankAttacker) != GetBankSide(gBankTarget))
{
gBankTarget = GetBankByIdentity(GetBankIdentity(gBankTarget) ^ BIT_MON);
gBankTarget = GetBankByIdentity(GetBankPosition(gBankTarget) ^ BIT_MON);
}
}
else
@ -5197,13 +5197,13 @@ static void HandleAction_UseMove(void)
{
if (GetBankSide(gBankAttacker) != GetBankSide(gBankTarget))
{
gBankTarget = GetBankByIdentity(GetBankIdentity(gBankTarget) ^ BIT_MON);
gBankTarget = GetBankByIdentity(GetBankPosition(gBankTarget) ^ BIT_MON);
}
else
{
gBankTarget = GetBankByIdentity(GetBankIdentity(gBankAttacker) ^ BIT_SIDE);
gBankTarget = GetBankByIdentity(GetBankPosition(gBankAttacker) ^ BIT_SIDE);
if (gAbsentBankFlags & gBitTable[gBankTarget])
gBankTarget = GetBankByIdentity(GetBankIdentity(gBankTarget) ^ BIT_MON);
gBankTarget = GetBankByIdentity(GetBankPosition(gBankTarget) ^ BIT_MON);
}
}
}

View File

@ -1316,7 +1316,7 @@ static void BattleAICmd_count_usable_party_mons(void)
{
u32 identity;
bankOnField1 = gBattlePartyID[bank];
identity = GetBankIdentity(bank) ^ BIT_MON;
identity = GetBankPosition(bank) ^ BIT_MON;
bankOnField2 = gBattlePartyID[GetBankByIdentity(identity)];
}
else // in singles there's only one bank by side

View File

@ -60,7 +60,7 @@ static bool8 ShouldSwitchIfWonderGuard(void)
if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE)
return FALSE;
opposingIdentity = GetBankIdentity(gActiveBank) ^ BIT_SIDE;
opposingIdentity = GetBankPosition(gActiveBank) ^ BIT_SIDE;
if (gBattleMons[GetBankByIdentity(opposingIdentity)].ability != ABILITY_WONDER_GUARD)
return FALSE;
@ -151,10 +151,10 @@ static bool8 FindMonThatAbsorbsOpponentsMove(void)
if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE)
{
bankIn1 = gActiveBank;
if (gAbsentBankFlags & gBitTable[GetBankByIdentity(GetBankIdentity(gActiveBank) ^ BIT_MON)])
if (gAbsentBankFlags & gBitTable[GetBankByIdentity(GetBankPosition(gActiveBank) ^ BIT_MON)])
bankIn2 = gActiveBank;
else
bankIn2 = GetBankByIdentity(GetBankIdentity(gActiveBank) ^ BIT_MON);
bankIn2 = GetBankByIdentity(GetBankPosition(gActiveBank) ^ BIT_MON);
}
else
{
@ -273,7 +273,7 @@ static bool8 HasSuperEffectiveMoveAgainstOpponents(bool8 noRng)
u8 moveFlags;
u16 move;
opposingIdentity = GetBankIdentity(gActiveBank) ^ BIT_SIDE;
opposingIdentity = GetBankPosition(gActiveBank) ^ BIT_SIDE;
opposingBank = GetBankByIdentity(opposingIdentity);
if (!(gAbsentBankFlags & gBitTable[opposingBank]))
@ -357,10 +357,10 @@ static bool8 FindMonWithFlagsAndSuperEffective(u8 flags, u8 moduloPercent)
if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE)
{
bankIn1 = gActiveBank;
if (gAbsentBankFlags & gBitTable[GetBankByIdentity(GetBankIdentity(gActiveBank) ^ BIT_MON)])
if (gAbsentBankFlags & gBitTable[GetBankByIdentity(GetBankPosition(gActiveBank) ^ BIT_MON)])
bankIn2 = gActiveBank;
else
bankIn2 = GetBankByIdentity(GetBankIdentity(gActiveBank) ^ BIT_MON);
bankIn2 = GetBankByIdentity(GetBankPosition(gActiveBank) ^ BIT_MON);
}
else
{
@ -468,10 +468,10 @@ static bool8 ShouldSwitch(void)
if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE)
{
bankIn1 = *activeBankPtr;
if (gAbsentBankFlags & gBitTable[GetBankByIdentity(GetBankIdentity(*activeBankPtr) ^ BIT_MON)])
if (gAbsentBankFlags & gBitTable[GetBankByIdentity(GetBankPosition(*activeBankPtr) ^ BIT_MON)])
bankIn2 = *activeBankPtr;
else
bankIn2 = GetBankByIdentity(GetBankIdentity(*activeBankPtr) ^ BIT_MON);
bankIn2 = GetBankByIdentity(GetBankPosition(*activeBankPtr) ^ BIT_MON);
}
else
{
@ -543,7 +543,7 @@ void AI_TrySwitchOrUseItem(void)
u8 bankIn1, bankIn2;
s32 firstId;
s32 lastId; // + 1
u8 bankIdentity = GetBankIdentity(gActiveBank);
u8 bankIdentity = GetBankPosition(gActiveBank);
if (GetBankSide(gActiveBank) == SIDE_PLAYER)
party = gPlayerParty;
@ -659,10 +659,10 @@ u8 GetMostSuitableMonToSwitchInto(void)
if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE)
{
bankIn1 = gActiveBank;
if (gAbsentBankFlags & gBitTable[GetBankByIdentity(GetBankIdentity(gActiveBank) ^ BIT_MON)])
if (gAbsentBankFlags & gBitTable[GetBankByIdentity(GetBankPosition(gActiveBank) ^ BIT_MON)])
bankIn2 = gActiveBank;
else
bankIn2 = GetBankByIdentity(GetBankIdentity(gActiveBank) ^ BIT_MON);
bankIn2 = GetBankByIdentity(GetBankPosition(gActiveBank) ^ BIT_MON);
// UB: It considers the opponent only player's side even though it can battle alongside player;
opposingBank = Random() & BIT_MON;
@ -671,7 +671,7 @@ u8 GetMostSuitableMonToSwitchInto(void)
}
else
{
opposingBank = GetBankByIdentity(GetBankIdentity(gActiveBank) ^ BIT_SIDE);
opposingBank = GetBankByIdentity(GetBankPosition(gActiveBank) ^ BIT_SIDE);
bankIn1 = gActiveBank;
bankIn2 = gActiveBank;
}
@ -817,7 +817,7 @@ static bool8 ShouldUseItem(void)
u8 validMons = 0;
bool8 shouldUse = FALSE;
if (gBattleTypeFlags & BATTLE_TYPE_INGAME_PARTNER && GetBankIdentity(gActiveBank) == IDENTITY_PLAYER_MON2)
if (gBattleTypeFlags & BATTLE_TYPE_INGAME_PARTNER && GetBankPosition(gActiveBank) == B_POSITION_PLAYER_RIGHT)
return FALSE;
if (GetBankSide(gActiveBank) == SIDE_PLAYER)

View File

@ -424,7 +424,7 @@ static void ScriptCmd_createsprite(void)
if (subpriority < 3)
subpriority = 3;
CreateSpriteAndAnimate(template, GetBankPosition(gAnimBankTarget, 2), GetBankPosition(gAnimBankTarget, 3), subpriority);
CreateSpriteAndAnimate(template, GetBankCoord(gAnimBankTarget, 2), GetBankCoord(gAnimBankTarget, 3), subpriority);
gAnimVisualTaskCount++;
}
@ -613,8 +613,8 @@ static void ScriptCmd_monbg(void)
if (IsAnimBankSpriteVisible(bank))
{
u8 identity = GetBankIdentity(bank);
if (identity == IDENTITY_OPPONENT_MON1 || identity == IDENTITY_PLAYER_MON2 || IsContest())
u8 identity = GetBankPosition(bank);
if (identity == B_POSITION_OPPONENT_LEFT || identity == B_POSITION_PLAYER_RIGHT || IsContest())
toBG_2 = FALSE;
else
toBG_2 = TRUE;
@ -632,8 +632,8 @@ static void ScriptCmd_monbg(void)
bank ^= BIT_MON;
if (IsAnimBankSpriteVisible(bank))
{
u8 identity = GetBankIdentity(bank);
if (identity == IDENTITY_OPPONENT_MON1 || identity == IDENTITY_PLAYER_MON2 || IsContest())
u8 identity = GetBankPosition(bank);
if (identity == B_POSITION_OPPONENT_LEFT || identity == B_POSITION_PLAYER_RIGHT || IsContest())
toBG_2 = FALSE;
else
toBG_2 = TRUE;
@ -718,7 +718,7 @@ void sub_80A438C(u8 bank, bool8 toBG_2, bool8 setSpriteInvisible)
if (IsContest())
bankIdentity = 0;
else
bankIdentity = GetBankIdentity(bank);
bankIdentity = GetBankPosition(bank);
sub_8118FBC(1, 0, 0, bankIdentity, unknownStruct.unk8, unknownStruct.unk0, unknownStruct.unk4, unknownStruct.unkA);
@ -750,7 +750,7 @@ void sub_80A438C(u8 bank, bool8 toBG_2, bool8 setSpriteInvisible)
LoadPalette(&gPlttBufferUnfaded[0x100 + bank * 16], 0x90, 0x20);
CpuCopy32(&gPlttBufferUnfaded[0x100 + bank * 16], (void*)(BG_PLTT + 0x120), 0x20);
sub_8118FBC(2, 0, 0, GetBankIdentity(bank), unknownStruct.unk8, unknownStruct.unk0 + 0x1000, unknownStruct.unk4 + 0x400, unknownStruct.unkA);
sub_8118FBC(2, 0, 0, GetBankPosition(bank), unknownStruct.unk8, unknownStruct.unk0 + 0x1000, unknownStruct.unk4 + 0x400, unknownStruct.unkA);
}
}
@ -893,8 +893,8 @@ static void sub_80A4980(u8 taskId)
if (gTasks[taskId].data[1] != 1)
{
u8 to_BG2;
u8 identity = GetBankIdentity(gTasks[taskId].data[2]);
if (identity == IDENTITY_OPPONENT_MON1 || identity == IDENTITY_PLAYER_MON2 || IsContest())
u8 identity = GetBankPosition(gTasks[taskId].data[2]);
if (identity == B_POSITION_OPPONENT_LEFT || identity == B_POSITION_PLAYER_RIGHT || IsContest())
to_BG2 = FALSE;
else
to_BG2 = TRUE;
@ -937,8 +937,8 @@ static void ScriptCmd_monbg_22(void)
if (IsAnimBankSpriteVisible(bank))
{
u8 identity = GetBankIdentity(bank);
if (identity == IDENTITY_OPPONENT_MON1 || identity == IDENTITY_PLAYER_MON2 || IsContest())
u8 identity = GetBankPosition(bank);
if (identity == B_POSITION_OPPONENT_LEFT || identity == B_POSITION_PLAYER_RIGHT || IsContest())
toBG_2 = FALSE;
else
toBG_2 = TRUE;
@ -949,8 +949,8 @@ static void ScriptCmd_monbg_22(void)
bank ^= BIT_MON;
if (animBankId > 1 && IsAnimBankSpriteVisible(bank))
{
u8 identity = GetBankIdentity(bank);
if (identity == IDENTITY_OPPONENT_MON1 || identity == IDENTITY_PLAYER_MON2 || IsContest())
u8 identity = GetBankPosition(bank);
if (identity == B_POSITION_OPPONENT_LEFT || identity == B_POSITION_PLAYER_RIGHT || IsContest())
toBG_2 = FALSE;
else
toBG_2 = TRUE;
@ -1001,8 +1001,8 @@ static void sub_80A4BB0(u8 taskId)
{
bool8 toBG_2;
u8 bank = gTasks[taskId].data[2];
u8 identity = GetBankIdentity(bank);
if (identity == IDENTITY_OPPONENT_MON1 || identity == IDENTITY_PLAYER_MON2 || IsContest())
u8 identity = GetBankPosition(bank);
if (identity == B_POSITION_OPPONENT_LEFT || identity == B_POSITION_PLAYER_RIGHT || IsContest())
toBG_2 = FALSE;
else
toBG_2 = TRUE;
@ -1705,8 +1705,8 @@ static void ScriptCmd_monbgprio_28(void)
else
bank = gAnimBankAttacker;
bankIdentity = GetBankIdentity(bank);
if (!IsContest() && (bankIdentity == IDENTITY_PLAYER_MON1 || bankIdentity == IDENTITY_OPPONENT_MON2))
bankIdentity = GetBankPosition(bank);
if (!IsContest() && (bankIdentity == B_POSITION_PLAYER_LEFT || bankIdentity == B_POSITION_OPPONENT_RIGHT))
{
SetAnimBgAttribute(1, BG_ANIM_PRIORITY, 1);
SetAnimBgAttribute(2, BG_ANIM_PRIORITY, 2);
@ -1738,8 +1738,8 @@ static void ScriptCmd_monbgprio_2A(void)
else
bank = gAnimBankAttacker;
bankIdentity = GetBankIdentity(bank);
if (!IsContest() && (bankIdentity == IDENTITY_PLAYER_MON1 || bankIdentity == IDENTITY_OPPONENT_MON2))
bankIdentity = GetBankPosition(bank);
if (!IsContest() && (bankIdentity == B_POSITION_PLAYER_LEFT || bankIdentity == B_POSITION_OPPONENT_RIGHT))
{
SetAnimBgAttribute(1, BG_ANIM_PRIORITY, 1);
SetAnimBgAttribute(2, BG_ANIM_PRIORITY, 2);

View File

@ -295,7 +295,7 @@ static void sub_8064520(void)
gBattleSpritesDataPtr->healthBoxesData[gActiveBank].flag_x80 = 0;
gBattleSpritesDataPtr->healthBoxesData[gActiveBank].field_1_x1 = 0;
if (GetBankIdentity(gActiveBank) == IDENTITY_OPPONENT_MON2)
if (GetBankPosition(gActiveBank) == B_POSITION_OPPONENT_RIGHT)
{
FreeSpriteTilesByTag(0x27F9);
FreeSpritePaletteByTag(0x27F9);
@ -352,7 +352,7 @@ static void sub_8064734(void)
{
if (gBattleTypeFlags & BATTLE_TYPE_MULTI && gBattleTypeFlags & BATTLE_TYPE_LINK)
{
if (GetBankIdentity(gActiveBank) == IDENTITY_OPPONENT_MON1)
if (GetBankPosition(gActiveBank) == B_POSITION_OPPONENT_LEFT)
m4aMPlayContinue(&gMPlayInfo_BGM);
}
else
@ -370,7 +370,7 @@ static void sub_8064734(void)
if (gSprites[gUnknown_03005D7C[gActiveBank]].callback == SpriteCallbackDummy
&& gSprites[gBankSpriteIds[gActiveBank]].callback == SpriteCallbackDummy)
{
if (gBattleTypeFlags & BATTLE_TYPE_MULTI && GetBankIdentity(gActiveBank) == IDENTITY_OPPONENT_MON2)
if (gBattleTypeFlags & BATTLE_TYPE_MULTI && GetBankPosition(gActiveBank) == B_POSITION_OPPONENT_RIGHT)
{
if (++gBattleSpritesDataPtr->healthBoxesData[gActiveBank].field_9 == 1)
return;
@ -1161,10 +1161,10 @@ static void LinkOpponentHandleLoadMonSprite(void)
u16 species = GetMonData(&gEnemyParty[gBattlePartyID[gActiveBank]], MON_DATA_SPECIES);
BattleLoadOpponentMonSpriteGfx(&gEnemyParty[gBattlePartyID[gActiveBank]], gActiveBank);
sub_806A068(species, GetBankIdentity(gActiveBank));
sub_806A068(species, GetBankPosition(gActiveBank));
gBankSpriteIds[gActiveBank] = CreateSprite(&gUnknown_0202499C,
GetBankPosition(gActiveBank, 2),
GetBankCoord(gActiveBank, 2),
GetBankSpriteDefault_Y(gActiveBank),
sub_80A82E4(gActiveBank));
@ -1194,11 +1194,11 @@ static void sub_8066494(u8 bank, bool8 dontClearSubstituteBit)
species = GetMonData(&gEnemyParty[gBattlePartyID[bank]], MON_DATA_SPECIES);
gUnknown_03005D7C[bank] = CreateInvisibleSpriteWithCallback(sub_805D714);
BattleLoadOpponentMonSpriteGfx(&gEnemyParty[gBattlePartyID[bank]], bank);
sub_806A068(species, GetBankIdentity(bank));
sub_806A068(species, GetBankPosition(bank));
gBankSpriteIds[bank] = CreateSprite(
&gUnknown_0202499C,
GetBankPosition(bank, 2),
GetBankCoord(bank, 2),
GetBankSpriteDefault_Y(bank),
sub_80A82E4(bank));
@ -1262,7 +1262,7 @@ static void LinkOpponentHandleDrawTrainerPic(void)
if (gBattleTypeFlags & BATTLE_TYPE_MULTI)
{
if ((GetBankIdentity(gActiveBank) & BIT_MON) != 0) // second mon
if ((GetBankPosition(gActiveBank) & BIT_MON) != 0) // second mon
xPos = 152;
else // first mon
xPos = 200;
@ -1328,7 +1328,7 @@ static void LinkOpponentHandleDrawTrainerPic(void)
}
DecompressTrainerFrontPic(trainerPicId, gActiveBank);
sub_806A12C(trainerPicId, GetBankIdentity(gActiveBank));
sub_806A12C(trainerPicId, GetBankPosition(gActiveBank));
gBankSpriteIds[gActiveBank] = CreateSprite(&gUnknown_0202499C,
xPos,
(8 - gTrainerFrontPicCoords[trainerPicId].coords) * 4 + 40,
@ -1353,7 +1353,7 @@ static void LinkOpponentHandleTrainerSlide(void)
trainerPicId = GetFrontierTrainerFrontSpriteId(gTrainerBattleOpponent_B);
DecompressTrainerFrontPic(trainerPicId, gActiveBank);
sub_806A12C(trainerPicId, GetBankIdentity(gActiveBank));
sub_806A12C(trainerPicId, GetBankPosition(gActiveBank));
gBankSpriteIds[gActiveBank] = CreateSprite(&gUnknown_0202499C, 176, (8 - gTrainerFrontPicCoords[trainerPicId].coords) * 4 + 40, 0x1E);
gSprites[gBankSpriteIds[gActiveBank]].pos2.x = 96;

View File

@ -1047,10 +1047,10 @@ static void LinkPartnerHandleLoadMonSprite(void)
BattleLoadPlayerMonSpriteGfx(&gPlayerParty[gBattlePartyID[gActiveBank]], gActiveBank);
species = GetMonData(&gPlayerParty[gBattlePartyID[gActiveBank]], MON_DATA_SPECIES);
sub_806A068(species, GetBankIdentity(gActiveBank));
sub_806A068(species, GetBankPosition(gActiveBank));
gBankSpriteIds[gActiveBank] = CreateSprite(&gUnknown_0202499C,
GetBankPosition(gActiveBank, 2),
GetBankCoord(gActiveBank, 2),
GetBankSpriteDefault_Y(gActiveBank),
sub_80A82E4(gActiveBank));
gSprites[gBankSpriteIds[gActiveBank]].pos2.x = -240;
@ -1077,11 +1077,11 @@ static void sub_814CC98(u8 bank, bool8 dontClearSubstituteBit)
gBattlePartyID[bank] = gBattleBufferA[bank][1];
species = GetMonData(&gPlayerParty[gBattlePartyID[bank]], MON_DATA_SPECIES);
gUnknown_03005D7C[bank] = CreateInvisibleSpriteWithCallback(sub_805D714);
sub_806A068(species, GetBankIdentity(bank));
sub_806A068(species, GetBankPosition(bank));
gBankSpriteIds[bank] = CreateSprite(
&gUnknown_0202499C,
GetBankPosition(bank, 2),
GetBankCoord(bank, 2),
GetBankSpriteDefault_Y(bank),
sub_80A82E4(bank));
@ -1144,7 +1144,7 @@ static void LinkPartnerHandleDrawTrainerPic(void)
if (gBattleTypeFlags & BATTLE_TYPE_MULTI)
{
if ((GetBankIdentity(gActiveBank) & BIT_MON) != 0) // second mon
if ((GetBankPosition(gActiveBank) & BIT_MON) != 0) // second mon
xPos = 90;
else // first mon
xPos = 32;
@ -1170,7 +1170,7 @@ static void LinkPartnerHandleDrawTrainerPic(void)
}
DecompressTrainerBackPic(trainerPicId, gActiveBank);
sub_806A12C(trainerPicId, GetBankIdentity(gActiveBank));
sub_806A12C(trainerPicId, GetBankPosition(gActiveBank));
gBankSpriteIds[gActiveBank] = CreateSprite(&gUnknown_0202499C, xPos, (8 - gTrainerBackPicCoords[trainerPicId].coords) * 4 + 80, sub_80A82E4(gActiveBank));
gSprites[gBankSpriteIds[gActiveBank]].oam.paletteNum = gActiveBank;

View File

@ -293,7 +293,7 @@ static void sub_805F2F0(void)
}
else if (gBattleSpritesDataPtr->healthBoxesData[gActiveBank].field_1_x1)
{
if (GetBankIdentity(gActiveBank) == 3)
if (GetBankPosition(gActiveBank) == 3)
{
if (gBattleSpritesDataPtr->healthBoxesData[gActiveBank ^ BIT_MON].flag_x80 == 0 && gBattleSpritesDataPtr->healthBoxesData[gActiveBank ^ BIT_MON].field_1_x1 == 0)
{
@ -349,7 +349,7 @@ static void sub_805F560(void)
{
if (gBattleTypeFlags & BATTLE_TYPE_MULTI && gBattleTypeFlags & BATTLE_TYPE_LINK)
{
if (GetBankIdentity(gActiveBank) == 1)
if (GetBankPosition(gActiveBank) == 1)
m4aMPlayContinue(&gMPlayInfo_BGM);
}
else
@ -1149,10 +1149,10 @@ static void OpponentHandleLoadMonSprite(void)
u16 species = GetMonData(&gEnemyParty[gBattlePartyID[gActiveBank]], MON_DATA_SPECIES);
BattleLoadOpponentMonSpriteGfx(&gEnemyParty[gBattlePartyID[gActiveBank]], gActiveBank);
sub_806A068(species, GetBankIdentity(gActiveBank));
sub_806A068(species, GetBankPosition(gActiveBank));
gBankSpriteIds[gActiveBank] = CreateSprite(&gUnknown_0202499C,
GetBankPosition(gActiveBank, 2),
GetBankCoord(gActiveBank, 2),
GetBankSpriteDefault_Y(gActiveBank),
sub_80A82E4(gActiveBank));
@ -1184,10 +1184,10 @@ static void sub_80613DC(u8 bank, bool8 dontClearSubstituteBit)
species = GetMonData(&gEnemyParty[gBattlePartyID[bank]], MON_DATA_SPECIES);
gUnknown_03005D7C[bank] = CreateInvisibleSpriteWithCallback(sub_805D714);
BattleLoadOpponentMonSpriteGfx(&gEnemyParty[gBattlePartyID[bank]], bank);
sub_806A068(species, GetBankIdentity(bank));
sub_806A068(species, GetBankPosition(bank));
gBankSpriteIds[bank] = CreateSprite(&gUnknown_0202499C,
GetBankPosition(bank, 2),
GetBankCoord(bank, 2),
GetBankSpriteDefault_Y(bank),
sub_80A82E4(bank));
@ -1304,7 +1304,7 @@ static void OpponentHandleDrawTrainerPic(void)
if (gBattleTypeFlags & (BATTLE_TYPE_MULTI | BATTLE_TYPE_TWO_OPPONENTS))
{
if ((GetBankIdentity(gActiveBank) & BIT_MON) != 0) // second mon
if ((GetBankPosition(gActiveBank) & BIT_MON) != 0) // second mon
xPos = 152;
else // first mon
xPos = 200;
@ -1315,7 +1315,7 @@ static void OpponentHandleDrawTrainerPic(void)
}
DecompressTrainerFrontPic(trainerPicId, gActiveBank);
sub_806A12C(trainerPicId, GetBankIdentity(gActiveBank));
sub_806A12C(trainerPicId, GetBankPosition(gActiveBank));
gBankSpriteIds[gActiveBank] = CreateSprite(&gUnknown_0202499C,
xPos,
(8 - gTrainerFrontPicCoords[trainerPicId].coords) * 4 + 40,
@ -1387,7 +1387,7 @@ static void OpponentHandleTrainerSlide(void)
}
DecompressTrainerFrontPic(trainerPicId, gActiveBank);
sub_806A12C(trainerPicId, GetBankIdentity(gActiveBank));
sub_806A12C(trainerPicId, GetBankPosition(gActiveBank));
gBankSpriteIds[gActiveBank] = CreateSprite(&gUnknown_0202499C, 176, (8 - gTrainerFrontPicCoords[trainerPicId].coords) * 4 + 40, 0x1E);
gSprites[gBankSpriteIds[gActiveBank]].pos2.x = 96;
@ -1588,9 +1588,9 @@ static void OpponentHandleChooseMove(void)
gBankTarget = gActiveBank;
if (gBattleMoves[moveInfo->moves[chosenMoveId]].target & MOVE_TARGET_BOTH)
{
gBankTarget = GetBankByIdentity(IDENTITY_PLAYER_MON1);
gBankTarget = GetBankByIdentity(B_POSITION_PLAYER_LEFT);
if (gAbsentBankFlags & gBitTable[gBankTarget])
gBankTarget = GetBankByIdentity(IDENTITY_PLAYER_MON2);
gBankTarget = GetBankByIdentity(B_POSITION_PLAYER_RIGHT);
}
EmitTwoReturnValues(1, 10, (chosenMoveId) | (gBankTarget << 8));
break;
@ -1611,7 +1611,7 @@ static void OpponentHandleChooseMove(void)
else if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE)
EmitTwoReturnValues(1, 10, (chosenMoveId) | (GetBankByIdentity(Random() & 2) << 8));
else
EmitTwoReturnValues(1, 10, (chosenMoveId) | (GetBankByIdentity(IDENTITY_PLAYER_MON1) << 8));
EmitTwoReturnValues(1, 10, (chosenMoveId) | (GetBankByIdentity(B_POSITION_PLAYER_LEFT) << 8));
OpponentBufferExecCompleted();
}
@ -1638,12 +1638,12 @@ static void OpponentHandleChoosePokemon(void)
if (!(gBattleTypeFlags & BATTLE_TYPE_DOUBLE))
{
bank2 = bank1 = GetBankByIdentity(IDENTITY_OPPONENT_MON1);
bank2 = bank1 = GetBankByIdentity(B_POSITION_OPPONENT_LEFT);
}
else
{
bank1 = GetBankByIdentity(IDENTITY_OPPONENT_MON1);
bank2 = GetBankByIdentity(IDENTITY_OPPONENT_MON2);
bank1 = GetBankByIdentity(B_POSITION_OPPONENT_LEFT);
bank2 = GetBankByIdentity(B_POSITION_OPPONENT_RIGHT);
}
if (gBattleTypeFlags & (BATTLE_TYPE_TWO_OPPONENTS | BATTLE_TYPE_x800000))

View File

@ -232,7 +232,7 @@ static void (*const sPlayerBufferCommands[CONTROLLER_CMDS_COUNT])(void) =
nullsub_22
};
static const u8 sTargetIdentities[] = {IDENTITY_PLAYER_MON1, IDENTITY_PLAYER_MON2, IDENTITY_OPPONENT_MON2, IDENTITY_OPPONENT_MON1};
static const u8 sTargetIdentities[] = {B_POSITION_PLAYER_LEFT, B_POSITION_PLAYER_RIGHT, B_POSITION_OPPONENT_RIGHT, B_POSITION_OPPONENT_LEFT};
// unknown unused data
static const u8 sUnknown_0831C5FC[] = {0x48, 0x48, 0x20, 0x5a, 0x50, 0x50, 0x50, 0x58};
@ -357,8 +357,8 @@ static void HandleInputChooseAction(void)
else if (gMain.newKeys & B_BUTTON || gPlayerDpadHoldFrames > 59)
{
if ((gBattleTypeFlags & BATTLE_TYPE_DOUBLE)
&& GetBankIdentity(gActiveBank) == IDENTITY_PLAYER_MON2
&& !(gAbsentBankFlags & gBitTable[GetBankByIdentity(IDENTITY_PLAYER_MON1)])
&& GetBankPosition(gActiveBank) == B_POSITION_PLAYER_RIGHT
&& !(gAbsentBankFlags & gBitTable[GetBankByIdentity(B_POSITION_PLAYER_LEFT)])
&& !(gBattleTypeFlags & BATTLE_TYPE_MULTI))
{
if (gBattleBufferA[gActiveBank][1] == ACTION_USE_ITEM)
@ -436,7 +436,7 @@ static void HandleInputChooseTarget(void)
do
{
u8 currSelIdentity = GetBankIdentity(gMultiUsePlayerCursor);
u8 currSelIdentity = GetBankPosition(gMultiUsePlayerCursor);
for (i = 0; i < BATTLE_BANKS_COUNT; i++)
{
@ -451,17 +451,17 @@ static void HandleInputChooseTarget(void)
} while (gMultiUsePlayerCursor == gNoOfAllBanks);
i = 0;
switch (GetBankIdentity(gMultiUsePlayerCursor))
switch (GetBankPosition(gMultiUsePlayerCursor))
{
case IDENTITY_PLAYER_MON1:
case IDENTITY_PLAYER_MON2:
case B_POSITION_PLAYER_LEFT:
case B_POSITION_PLAYER_RIGHT:
if (gActiveBank != gMultiUsePlayerCursor)
i++;
else if (gBattleMoves[GetMonData(&gPlayerParty[gBattlePartyID[gActiveBank]], MON_DATA_MOVE1 + gMoveSelectionCursor[gActiveBank])].target & MOVE_TARGET_USER)
i++;
break;
case IDENTITY_OPPONENT_MON1:
case IDENTITY_OPPONENT_MON2:
case B_POSITION_OPPONENT_LEFT:
case B_POSITION_OPPONENT_RIGHT:
i++;
break;
}
@ -478,7 +478,7 @@ static void HandleInputChooseTarget(void)
do
{
u8 currSelIdentity = GetBankIdentity(gMultiUsePlayerCursor);
u8 currSelIdentity = GetBankPosition(gMultiUsePlayerCursor);
for (i = 0; i < BATTLE_BANKS_COUNT; i++)
{
@ -493,17 +493,17 @@ static void HandleInputChooseTarget(void)
} while (gMultiUsePlayerCursor == gNoOfAllBanks);
i = 0;
switch (GetBankIdentity(gMultiUsePlayerCursor))
switch (GetBankPosition(gMultiUsePlayerCursor))
{
case IDENTITY_PLAYER_MON1:
case IDENTITY_PLAYER_MON2:
case B_POSITION_PLAYER_LEFT:
case B_POSITION_PLAYER_RIGHT:
if (gActiveBank != gMultiUsePlayerCursor)
i++;
else if (gBattleMoves[GetMonData(&gPlayerParty[gBattlePartyID[gActiveBank]], MON_DATA_MOVE1 + gMoveSelectionCursor[gActiveBank])].target & MOVE_TARGET_USER)
i++;
break;
case IDENTITY_OPPONENT_MON1:
case IDENTITY_OPPONENT_MON2:
case B_POSITION_OPPONENT_LEFT:
case B_POSITION_OPPONENT_RIGHT:
i++;
break;
}
@ -545,7 +545,7 @@ static void HandleInputChooseMove(void)
if (moveTarget & MOVE_TARGET_x10)
gMultiUsePlayerCursor = gActiveBank;
else
gMultiUsePlayerCursor = GetBankByIdentity((GetBankIdentity(gActiveBank) & BIT_SIDE) ^ BIT_SIDE);
gMultiUsePlayerCursor = GetBankByIdentity((GetBankPosition(gActiveBank) & BIT_SIDE) ^ BIT_SIDE);
if (!gBattleBufferA[gActiveBank][1]) // not a double battle
{
@ -579,10 +579,10 @@ static void HandleInputChooseMove(void)
if (moveTarget & (MOVE_TARGET_x10 | MOVE_TARGET_USER))
gMultiUsePlayerCursor = gActiveBank;
else if (gAbsentBankFlags & gBitTable[GetBankByIdentity(IDENTITY_OPPONENT_MON1)])
gMultiUsePlayerCursor = GetBankByIdentity(IDENTITY_OPPONENT_MON2);
else if (gAbsentBankFlags & gBitTable[GetBankByIdentity(B_POSITION_OPPONENT_LEFT)])
gMultiUsePlayerCursor = GetBankByIdentity(B_POSITION_OPPONENT_RIGHT);
else
gMultiUsePlayerCursor = GetBankByIdentity(IDENTITY_OPPONENT_MON1);
gMultiUsePlayerCursor = GetBankByIdentity(B_POSITION_OPPONENT_LEFT);
gSprites[gBankSpriteIds[gMultiUsePlayerCursor]].callback = sub_8039AD8;
}
@ -2234,11 +2234,11 @@ static void sub_805B258(u8 bank, bool8 dontClearSubstituteBit)
gBattlePartyID[bank] = gBattleBufferA[bank][1];
species = GetMonData(&gPlayerParty[gBattlePartyID[bank]], MON_DATA_SPECIES);
gUnknown_03005D7C[bank] = CreateInvisibleSpriteWithCallback(sub_805D714);
sub_806A068(species, GetBankIdentity(bank));
sub_806A068(species, GetBankPosition(bank));
gBankSpriteIds[bank] = CreateSprite(
&gUnknown_0202499C,
GetBankPosition(bank, 2),
GetBankCoord(bank, 2),
GetBankSpriteDefault_Y(bank),
sub_80A82E4(bank));
@ -2326,7 +2326,7 @@ static void PlayerHandleDrawTrainerPic(void)
if (gBattleTypeFlags & BATTLE_TYPE_MULTI)
{
if ((GetBankIdentity(gActiveBank) & BIT_MON) != 0) // second mon
if ((GetBankPosition(gActiveBank) & BIT_MON) != 0) // second mon
xPos = 90;
else // first mon
xPos = 32;
@ -2353,7 +2353,7 @@ static void PlayerHandleDrawTrainerPic(void)
{
trainerPicId = PlayerGenderToFrontTrainerPicId(gSaveBlock2Ptr->playerGender);
DecompressTrainerFrontPic(trainerPicId, gActiveBank);
sub_806A1C0(trainerPicId, GetBankIdentity(gActiveBank));
sub_806A1C0(trainerPicId, GetBankPosition(gActiveBank));
gBankSpriteIds[gActiveBank] = CreateSprite(&gUnknown_0202499C, xPos, yPos, sub_80A82E4(gActiveBank));
gSprites[gBankSpriteIds[gActiveBank]].oam.paletteNum = IndexOfSpritePaletteTag(gTrainerFrontPicPaletteTable[trainerPicId].tag);
@ -2368,7 +2368,7 @@ static void PlayerHandleDrawTrainerPic(void)
else
{
DecompressTrainerBackPic(trainerPicId, gActiveBank);
sub_806A12C(trainerPicId, GetBankIdentity(gActiveBank));
sub_806A12C(trainerPicId, GetBankPosition(gActiveBank));
gBankSpriteIds[gActiveBank] = CreateSprite(&gUnknown_0202499C, xPos, yPos, sub_80A82E4(gActiveBank));
gSprites[gBankSpriteIds[gActiveBank]].oam.paletteNum = gActiveBank;
@ -2407,7 +2407,7 @@ static void PlayerHandleTrainerSlide(void)
}
DecompressTrainerBackPic(trainerPicId, gActiveBank);
sub_806A12C(trainerPicId, GetBankIdentity(gActiveBank));
sub_806A12C(trainerPicId, GetBankPosition(gActiveBank));
gBankSpriteIds[gActiveBank] = CreateSprite(&gUnknown_0202499C, 80, (8 - gTrainerBackPicCoords[trainerPicId].coords) * 4 + 80, 30);
gSprites[gBankSpriteIds[gActiveBank]].oam.paletteNum = gActiveBank;
@ -2463,7 +2463,7 @@ static void PlayerHandleSuccessBallThrowAnim(void)
{
gBattleSpritesDataPtr->animationData->ballThrowCaseId = BALL_3_SHAKES_SUCCESS;
gDoingBattleAnim = TRUE;
InitAndLaunchSpecialAnimation(gActiveBank, gActiveBank, GetBankByIdentity(IDENTITY_OPPONENT_MON1), B_ANIM_BALL_THROW);
InitAndLaunchSpecialAnimation(gActiveBank, gActiveBank, GetBankByIdentity(B_POSITION_OPPONENT_LEFT), B_ANIM_BALL_THROW);
gBattleBankFunc[gActiveBank] = CompleteOnSpecialAnimDone;
}
@ -2473,7 +2473,7 @@ static void PlayerHandleBallThrowAnim(void)
gBattleSpritesDataPtr->animationData->ballThrowCaseId = ballThrowCaseId;
gDoingBattleAnim = TRUE;
InitAndLaunchSpecialAnimation(gActiveBank, gActiveBank, GetBankByIdentity(IDENTITY_OPPONENT_MON1), B_ANIM_BALL_THROW);
InitAndLaunchSpecialAnimation(gActiveBank, gActiveBank, GetBankByIdentity(B_POSITION_OPPONENT_LEFT), B_ANIM_BALL_THROW);
gBattleBankFunc[gActiveBank] = CompleteOnSpecialAnimDone;
}

View File

@ -1234,10 +1234,10 @@ static void PlayerPartnerHandleLoadMonSprite(void)
BattleLoadPlayerMonSpriteGfx(&gPlayerParty[gBattlePartyID[gActiveBank]], gActiveBank);
species = GetMonData(&gPlayerParty[gBattlePartyID[gActiveBank]], MON_DATA_SPECIES);
sub_806A068(species, GetBankIdentity(gActiveBank));
sub_806A068(species, GetBankPosition(gActiveBank));
gBankSpriteIds[gActiveBank] = CreateSprite(&gUnknown_0202499C,
GetBankPosition(gActiveBank, 2),
GetBankCoord(gActiveBank, 2),
GetBankSpriteDefault_Y(gActiveBank),
sub_80A82E4(gActiveBank));
gSprites[gBankSpriteIds[gActiveBank]].pos2.x = -240;
@ -1264,11 +1264,11 @@ static void sub_81BD0E4(u8 bank, bool8 dontClearSubstituteBit)
gBattlePartyID[bank] = gBattleBufferA[bank][1];
species = GetMonData(&gPlayerParty[gBattlePartyID[bank]], MON_DATA_SPECIES);
gUnknown_03005D7C[bank] = CreateInvisibleSpriteWithCallback(sub_805D714);
sub_806A068(species, GetBankIdentity(bank));
sub_806A068(species, GetBankPosition(bank));
gBankSpriteIds[bank] = CreateSprite(
&gUnknown_0202499C,
GetBankPosition(bank, 2),
GetBankCoord(bank, 2),
GetBankSpriteDefault_Y(bank),
sub_80A82E4(bank));
@ -1349,7 +1349,7 @@ static void PlayerPartnerHandleDrawTrainerPic(void)
if (gPartnerTrainerId == STEVEN_PARTNER_ID)
{
DecompressTrainerBackPic(trainerPicId, gActiveBank);
sub_806A12C(trainerPicId, GetBankIdentity(gActiveBank));
sub_806A12C(trainerPicId, GetBankPosition(gActiveBank));
gBankSpriteIds[gActiveBank] = CreateSprite(&gUnknown_0202499C, xPos, yPos, sub_80A82E4(gActiveBank));
gSprites[gBankSpriteIds[gActiveBank]].oam.paletteNum = gActiveBank;
@ -1360,7 +1360,7 @@ static void PlayerPartnerHandleDrawTrainerPic(void)
else // otherwise use front sprite
{
DecompressTrainerFrontPic(trainerPicId, gActiveBank);
sub_806A1C0(trainerPicId, GetBankIdentity(gActiveBank));
sub_806A1C0(trainerPicId, GetBankPosition(gActiveBank));
gBankSpriteIds[gActiveBank] = CreateSprite(&gUnknown_0202499C, xPos, yPos, sub_80A82E4(gActiveBank));
gSprites[gBankSpriteIds[gActiveBank]].oam.paletteNum = IndexOfSpritePaletteTag(gTrainerFrontPicPaletteTable[trainerPicId].tag);
@ -1548,9 +1548,9 @@ static void PlayerPartnerHandleChooseMove(void)
gBankTarget = gActiveBank;
if (gBattleMoves[moveInfo->moves[chosenMoveId]].target & MOVE_TARGET_BOTH)
{
gBankTarget = GetBankByIdentity(IDENTITY_OPPONENT_MON1);
gBankTarget = GetBankByIdentity(B_POSITION_OPPONENT_LEFT);
if (gAbsentBankFlags & gBitTable[gBankTarget])
gBankTarget = GetBankByIdentity(IDENTITY_OPPONENT_MON2);
gBankTarget = GetBankByIdentity(B_POSITION_OPPONENT_RIGHT);
}
EmitTwoReturnValues(1, 10, chosenMoveId | (gBankTarget << 8));
@ -1568,8 +1568,8 @@ static void PlayerPartnerHandleChoosePokemon(void)
if (chosenMonId == 6) // just switch to the next mon
{
u8 playerMonIdentity = GetBankByIdentity(IDENTITY_PLAYER_MON1);
u8 selfIdentity = GetBankByIdentity(IDENTITY_PLAYER_MON2);
u8 playerMonIdentity = GetBankByIdentity(B_POSITION_PLAYER_LEFT);
u8 selfIdentity = GetBankByIdentity(B_POSITION_PLAYER_RIGHT);
for (chosenMonId = 3; chosenMonId < 6; chosenMonId++)
{

View File

@ -274,7 +274,7 @@ static void sub_8186678(void)
if (var)
{
if (GetBankIdentity(gActiveBank) == IDENTITY_OPPONENT_MON1)
if (GetBankPosition(gActiveBank) == B_POSITION_OPPONENT_LEFT)
{
if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBank].field_1_x1)
return;
@ -330,7 +330,7 @@ static void sub_818686C(void)
{
if (gBattleTypeFlags & BATTLE_TYPE_MULTI && gBattleTypeFlags & BATTLE_TYPE_LINK)
{
if (GetBankIdentity(gActiveBank) == IDENTITY_OPPONENT_MON1)
if (GetBankPosition(gActiveBank) == B_POSITION_OPPONENT_LEFT)
m4aMPlayContinue(&gMPlayInfo_BGM);
}
else
@ -1146,10 +1146,10 @@ static void RecordedOpponentHandleLoadMonSprite(void)
u16 species = GetMonData(&gEnemyParty[gBattlePartyID[gActiveBank]], MON_DATA_SPECIES);
BattleLoadOpponentMonSpriteGfx(&gEnemyParty[gBattlePartyID[gActiveBank]], gActiveBank);
sub_806A068(species, GetBankIdentity(gActiveBank));
sub_806A068(species, GetBankPosition(gActiveBank));
gBankSpriteIds[gActiveBank] = CreateSprite(&gUnknown_0202499C,
GetBankPosition(gActiveBank, 2),
GetBankCoord(gActiveBank, 2),
GetBankSpriteDefault_Y(gActiveBank),
sub_80A82E4(gActiveBank));
@ -1181,10 +1181,10 @@ static void sub_81885D8(u8 bank, bool8 dontClearSubstituteBit)
species = GetMonData(&gEnemyParty[gBattlePartyID[bank]], MON_DATA_SPECIES);
gUnknown_03005D7C[bank] = CreateInvisibleSpriteWithCallback(sub_805D714);
BattleLoadOpponentMonSpriteGfx(&gEnemyParty[gBattlePartyID[bank]], bank);
sub_806A068(species, GetBankIdentity(bank));
sub_806A068(species, GetBankPosition(bank));
gBankSpriteIds[bank] = CreateSprite(&gUnknown_0202499C,
GetBankPosition(bank, 2),
GetBankCoord(bank, 2),
GetBankSpriteDefault_Y(bank),
sub_80A82E4(bank));
@ -1248,7 +1248,7 @@ static void RecordedOpponentHandleDrawTrainerPic(void)
if (gBattleTypeFlags & BATTLE_TYPE_MULTI)
{
if ((GetBankIdentity(gActiveBank) & BIT_MON) != 0) // second mon
if ((GetBankPosition(gActiveBank) & BIT_MON) != 0) // second mon
xPos = 152;
else // first mon
xPos = 200;
@ -1279,7 +1279,7 @@ static void RecordedOpponentHandleDrawTrainerPic(void)
}
DecompressTrainerFrontPic(trainerPicId, gActiveBank);
sub_806A12C(trainerPicId, GetBankIdentity(gActiveBank));
sub_806A12C(trainerPicId, GetBankPosition(gActiveBank));
gBankSpriteIds[gActiveBank] = CreateSprite(&gUnknown_0202499C,
xPos,
(8 - gTrainerFrontPicCoords[trainerPicId].coords) * 4 + 40,

View File

@ -245,7 +245,7 @@ static void sub_8189AA0(void)
{
bool32 r6 = FALSE;
if (GetBankIdentity(gActiveBank) == IDENTITY_PLAYER_MON1)
if (GetBankPosition(gActiveBank) == B_POSITION_PLAYER_LEFT)
{
if (!IsDoubleBattle() || (IsDoubleBattle() && (gBattleTypeFlags & BATTLE_TYPE_MULTI)))
{
@ -312,7 +312,7 @@ static void sub_8189D40(void)
{
bool32 r10 = FALSE;
if (GetBankIdentity(gActiveBank) == IDENTITY_PLAYER_MON1)
if (GetBankPosition(gActiveBank) == B_POSITION_PLAYER_LEFT)
{
if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBank].flag_x80
&& !gBattleSpritesDataPtr->healthBoxesData[gActiveBank].ballAnimActive)
@ -353,7 +353,7 @@ static void sub_8189D40(void)
{
if ((gBattleTypeFlags & BATTLE_TYPE_LINK) && (gBattleTypeFlags & BATTLE_TYPE_MULTI))
{
if (GetBankIdentity(gActiveBank) == IDENTITY_PLAYER_MON1)
if (GetBankPosition(gActiveBank) == B_POSITION_PLAYER_LEFT)
m4aMPlayContinue(&gMPlayInfo_BGM);
}
else
@ -1132,10 +1132,10 @@ static void RecordedPlayerHandleLoadMonSprite(void)
BattleLoadPlayerMonSpriteGfx(&gPlayerParty[gBattlePartyID[gActiveBank]], gActiveBank);
species = GetMonData(&gPlayerParty[gBattlePartyID[gActiveBank]], MON_DATA_SPECIES);
sub_806A068(species, GetBankIdentity(gActiveBank));
sub_806A068(species, GetBankPosition(gActiveBank));
gBankSpriteIds[gActiveBank] = CreateSprite(&gUnknown_0202499C,
GetBankPosition(gActiveBank, 2),
GetBankCoord(gActiveBank, 2),
GetBankSpriteDefault_Y(gActiveBank),
sub_80A82E4(gActiveBank));
gSprites[gBankSpriteIds[gActiveBank]].pos2.x = -240;
@ -1162,11 +1162,11 @@ static void sub_818BA6C(u8 bank, bool8 dontClearSubstituteBit)
gBattlePartyID[bank] = gBattleBufferA[bank][1];
species = GetMonData(&gPlayerParty[gBattlePartyID[bank]], MON_DATA_SPECIES);
gUnknown_03005D7C[bank] = CreateInvisibleSpriteWithCallback(sub_805D714);
sub_806A068(species, GetBankIdentity(bank));
sub_806A068(species, GetBankPosition(bank));
gBankSpriteIds[bank] = CreateSprite(
&gUnknown_0202499C,
GetBankPosition(bank, 2),
GetBankCoord(bank, 2),
GetBankSpriteDefault_Y(bank),
sub_80A82E4(bank));
@ -1241,7 +1241,7 @@ static void RecordedPlayerHandleDrawTrainerPic(void)
if (gBattleTypeFlags & BATTLE_TYPE_MULTI)
{
if ((GetBankIdentity(gActiveBank) & BIT_MON) != 0) // second mon
if ((GetBankPosition(gActiveBank) & BIT_MON) != 0) // second mon
xPos = 90;
else // first mon
xPos = 32;
@ -1267,7 +1267,7 @@ static void RecordedPlayerHandleDrawTrainerPic(void)
{
trainerPicId = PlayerGenderToFrontTrainerPicId(gSaveBlock2Ptr->playerGender);
DecompressTrainerFrontPic(trainerPicId, gActiveBank);
sub_806A1C0(trainerPicId, GetBankIdentity(gActiveBank));
sub_806A1C0(trainerPicId, GetBankPosition(gActiveBank));
gBankSpriteIds[gActiveBank] = CreateSprite(&gUnknown_0202499C, xPos, yPos, sub_80A82E4(gActiveBank));
gSprites[gBankSpriteIds[gActiveBank]].oam.paletteNum = IndexOfSpritePaletteTag(gTrainerFrontPicPaletteTable[trainerPicId].tag);
@ -1281,7 +1281,7 @@ static void RecordedPlayerHandleDrawTrainerPic(void)
else
{
DecompressTrainerBackPic(trainerPicId, gActiveBank);
sub_806A12C(trainerPicId, GetBankIdentity(gActiveBank));
sub_806A12C(trainerPicId, GetBankPosition(gActiveBank));
gBankSpriteIds[gActiveBank] = CreateSprite(&gUnknown_0202499C, xPos, yPos, sub_80A82E4(gActiveBank));
gSprites[gBankSpriteIds[gActiveBank]].oam.paletteNum = gActiveBank;

View File

@ -378,7 +378,7 @@ static void SafariHandleReturnMonToBall(void)
static void SafariHandleDrawTrainerPic(void)
{
DecompressTrainerBackPic(gSaveBlock2Ptr->playerGender, gActiveBank);
sub_806A12C(gSaveBlock2Ptr->playerGender, GetBankIdentity(gActiveBank));
sub_806A12C(gSaveBlock2Ptr->playerGender, GetBankPosition(gActiveBank));
gBankSpriteIds[gActiveBank] = CreateSprite(
&gUnknown_0202499C,
80,
@ -415,7 +415,7 @@ static void SafariHandleSuccessBallThrowAnim(void)
{
gBattleSpritesDataPtr->animationData->ballThrowCaseId = BALL_3_SHAKES_SUCCESS;
gDoingBattleAnim = TRUE;
InitAndLaunchSpecialAnimation(gActiveBank, gActiveBank, GetBankByIdentity(IDENTITY_OPPONENT_MON1), B_ANIM_SAFARI_BALL_THROW);
InitAndLaunchSpecialAnimation(gActiveBank, gActiveBank, GetBankByIdentity(B_POSITION_OPPONENT_LEFT), B_ANIM_SAFARI_BALL_THROW);
gBattleBankFunc[gActiveBank] = CompleteOnSpecialAnimDone;
}
@ -425,7 +425,7 @@ static void SafariHandleBallThrowAnim(void)
gBattleSpritesDataPtr->animationData->ballThrowCaseId = ballThrowCaseId;
gDoingBattleAnim = TRUE;
InitAndLaunchSpecialAnimation(gActiveBank, gActiveBank, GetBankByIdentity(IDENTITY_OPPONENT_MON1), B_ANIM_SAFARI_BALL_THROW);
InitAndLaunchSpecialAnimation(gActiveBank, gActiveBank, GetBankByIdentity(B_POSITION_OPPONENT_LEFT), B_ANIM_SAFARI_BALL_THROW);
gBattleBankFunc[gActiveBank] = CompleteOnSpecialAnimDone;
}

View File

@ -1067,7 +1067,7 @@ static void WallyHandleReturnMonToBall(void)
static void WallyHandleDrawTrainerPic(void)
{
DecompressTrainerBackPic(BACK_PIC_WALLY, gActiveBank);
sub_806A12C(BACK_PIC_WALLY, GetBankIdentity(gActiveBank));
sub_806A12C(BACK_PIC_WALLY, GetBankPosition(gActiveBank));
gBankSpriteIds[gActiveBank] = CreateSprite(&gUnknown_0202499C,
80,
80 + 4 * (8 - gTrainerBackPicCoords[BACK_PIC_WALLY].coords),
@ -1082,7 +1082,7 @@ static void WallyHandleDrawTrainerPic(void)
static void WallyHandleTrainerSlide(void)
{
DecompressTrainerBackPic(BACK_PIC_WALLY, gActiveBank);
sub_806A12C(BACK_PIC_WALLY, GetBankIdentity(gActiveBank));
sub_806A12C(BACK_PIC_WALLY, GetBankPosition(gActiveBank));
gBankSpriteIds[gActiveBank] = CreateSprite(&gUnknown_0202499C,
80,
80 + 4 * (8 - gTrainerBackPicCoords[BACK_PIC_WALLY].coords),
@ -1113,7 +1113,7 @@ static void WallyHandleSuccessBallThrowAnim(void)
{
gBattleSpritesDataPtr->animationData->ballThrowCaseId = BALL_3_SHAKES_SUCCESS;
gDoingBattleAnim = TRUE;
InitAndLaunchSpecialAnimation(gActiveBank, gActiveBank, GetBankByIdentity(IDENTITY_OPPONENT_MON1), B_ANIM_SAFARI_BALL_THROW);
InitAndLaunchSpecialAnimation(gActiveBank, gActiveBank, GetBankByIdentity(B_POSITION_OPPONENT_LEFT), B_ANIM_SAFARI_BALL_THROW);
gBattleBankFunc[gActiveBank] = CompleteOnFinishedAnimation;
}
@ -1123,7 +1123,7 @@ static void WallyHandleBallThrowAnim(void)
gBattleSpritesDataPtr->animationData->ballThrowCaseId = ballThrowCaseId;
gDoingBattleAnim = TRUE;
InitAndLaunchSpecialAnimation(gActiveBank, gActiveBank, GetBankByIdentity(IDENTITY_OPPONENT_MON1), B_ANIM_SAFARI_BALL_THROW);
InitAndLaunchSpecialAnimation(gActiveBank, gActiveBank, GetBankByIdentity(B_POSITION_OPPONENT_LEFT), B_ANIM_SAFARI_BALL_THROW);
gBattleBankFunc[gActiveBank] = CompleteOnFinishedAnimation;
}
@ -1494,9 +1494,9 @@ static void sub_816AA80(u8 bank)
gBattlePartyID[bank] = gBattleBufferA[bank][1];
species = GetMonData(&gPlayerParty[gBattlePartyID[bank]], MON_DATA_SPECIES);
gUnknown_03005D7C[bank] = CreateInvisibleSpriteWithCallback(sub_805D714);
sub_806A068(species, GetBankIdentity(bank));
sub_806A068(species, GetBankPosition(bank));
gBankSpriteIds[bank] = CreateSprite(&gUnknown_0202499C,
GetBankPosition(bank, 2),
GetBankCoord(bank, 2),
GetBankSpriteDefault_Y(bank),
sub_80A82E4(bank));

View File

@ -16,7 +16,7 @@ extern u32 gBattleTypeFlags;
extern u32 gBattleExecBuffer;
extern void (*gBattleMainFunc)(void);
extern void (*gBattleBankFunc[BATTLE_BANKS_COUNT])(void);
extern u8 gBanksByIdentity[BATTLE_BANKS_COUNT];
extern u8 gBankPositions[BATTLE_BANKS_COUNT];
extern u8 gActionSelectionCursor[BATTLE_BANKS_COUNT];
extern u8 gMoveSelectionCursor[BATTLE_BANKS_COUNT];
extern u8 gNoOfAllBanks;
@ -79,7 +79,7 @@ void SetUpBattleVarsAndBirchZigzagoon(void)
for (i = 0; i < BATTLE_BANKS_COUNT; i++)
{
gBattleBankFunc[i] = nullsub_21;
gBanksByIdentity[i] = 0xFF;
gBankPositions[i] = 0xFF;
gActionSelectionCursor[i] = 0;
gMoveSelectionCursor[i] = 0;
}
@ -146,30 +146,30 @@ static void SetControllersVariables(void)
if (gBattleTypeFlags & BATTLE_TYPE_RECORDED)
{
gBattleBankFunc[0] = SetControllerToRecordedPlayer;
gBanksByIdentity[0] = IDENTITY_PLAYER_MON1;
gBankPositions[0] = B_POSITION_PLAYER_LEFT;
gBattleBankFunc[1] = SetControllerToOpponent;
gBanksByIdentity[1] = IDENTITY_OPPONENT_MON1;
gBankPositions[1] = B_POSITION_OPPONENT_LEFT;
gBattleBankFunc[2] = SetControllerToPlayerPartner;
gBanksByIdentity[2] = IDENTITY_PLAYER_MON2;
gBankPositions[2] = B_POSITION_PLAYER_RIGHT;
gBattleBankFunc[3] = SetControllerToOpponent;
gBanksByIdentity[3] = IDENTITY_OPPONENT_MON2;
gBankPositions[3] = B_POSITION_OPPONENT_RIGHT;
}
else
{
gBattleBankFunc[0] = SetControllerToPlayer;
gBanksByIdentity[0] = IDENTITY_PLAYER_MON1;
gBankPositions[0] = B_POSITION_PLAYER_LEFT;
gBattleBankFunc[1] = SetControllerToOpponent;
gBanksByIdentity[1] = IDENTITY_OPPONENT_MON1;
gBankPositions[1] = B_POSITION_OPPONENT_LEFT;
gBattleBankFunc[2] = SetControllerToPlayerPartner;
gBanksByIdentity[2] = IDENTITY_PLAYER_MON2;
gBankPositions[2] = B_POSITION_PLAYER_RIGHT;
gBattleBankFunc[3] = SetControllerToOpponent;
gBanksByIdentity[3] = IDENTITY_OPPONENT_MON2;
gBankPositions[3] = B_POSITION_OPPONENT_RIGHT;
}
gNoOfAllBanks = 4;
@ -195,10 +195,10 @@ static void SetControllersVariables(void)
else
gBattleBankFunc[0] = SetControllerToPlayer;
gBanksByIdentity[0] = IDENTITY_PLAYER_MON1;
gBankPositions[0] = B_POSITION_PLAYER_LEFT;
gBattleBankFunc[1] = SetControllerToOpponent;
gBanksByIdentity[1] = IDENTITY_OPPONENT_MON1;
gBankPositions[1] = B_POSITION_OPPONENT_LEFT;
gNoOfAllBanks = 2;
@ -211,20 +211,20 @@ static void SetControllersVariables(void)
gBattleMainFunc = BeginBattleIntro;
gBattleBankFunc[0] = SetControllerToRecordedPlayer;
gBanksByIdentity[0] = IDENTITY_PLAYER_MON1;
gBankPositions[0] = B_POSITION_PLAYER_LEFT;
gBattleBankFunc[1] = SetControllerToRecordedOpponent;
gBanksByIdentity[1] = IDENTITY_OPPONENT_MON1;
gBankPositions[1] = B_POSITION_OPPONENT_LEFT;
gNoOfAllBanks = 2;
}
else // see how the banks are switched
{
gBattleBankFunc[1] = SetControllerToRecordedPlayer;
gBanksByIdentity[1] = IDENTITY_PLAYER_MON1;
gBankPositions[1] = B_POSITION_PLAYER_LEFT;
gBattleBankFunc[0] = SetControllerToRecordedOpponent;
gBanksByIdentity[0] = IDENTITY_OPPONENT_MON1;
gBankPositions[0] = B_POSITION_OPPONENT_LEFT;
gNoOfAllBanks = 2;
}
@ -232,10 +232,10 @@ static void SetControllersVariables(void)
else
{
gBattleBankFunc[0] = SetControllerToRecordedPlayer;
gBanksByIdentity[0] = IDENTITY_PLAYER_MON1;
gBankPositions[0] = B_POSITION_PLAYER_LEFT;
gBattleBankFunc[1] = SetControllerToOpponent;
gBanksByIdentity[1] = IDENTITY_OPPONENT_MON1;
gBankPositions[1] = B_POSITION_OPPONENT_LEFT;
}
}
}
@ -244,16 +244,16 @@ static void SetControllersVariables(void)
gBattleMainFunc = BeginBattleIntro;
gBattleBankFunc[0] = SetControllerToPlayer;
gBanksByIdentity[0] = IDENTITY_PLAYER_MON1;
gBankPositions[0] = B_POSITION_PLAYER_LEFT;
gBattleBankFunc[1] = SetControllerToOpponent;
gBanksByIdentity[1] = IDENTITY_OPPONENT_MON1;
gBankPositions[1] = B_POSITION_OPPONENT_LEFT;
gBattleBankFunc[2] = SetControllerToPlayer;
gBanksByIdentity[2] = IDENTITY_PLAYER_MON2;
gBankPositions[2] = B_POSITION_PLAYER_RIGHT;
gBattleBankFunc[3] = SetControllerToOpponent;
gBanksByIdentity[3] = IDENTITY_OPPONENT_MON2;
gBankPositions[3] = B_POSITION_OPPONENT_RIGHT;
gNoOfAllBanks = 4;
@ -264,16 +264,16 @@ static void SetControllersVariables(void)
gBattleMainFunc = BeginBattleIntro;
gBattleBankFunc[0] = SetControllerToRecordedPlayer;
gBanksByIdentity[0] = 0;
gBankPositions[0] = 0;
gBattleBankFunc[1] = SetControllerToOpponent;
gBanksByIdentity[1] = 1;
gBankPositions[1] = 1;
gBattleBankFunc[2] = SetControllerToRecordedPlayer;
gBanksByIdentity[2] = 2;
gBankPositions[2] = 2;
gBattleBankFunc[3] = SetControllerToOpponent;
gBanksByIdentity[3] = 3;
gBankPositions[3] = 3;
gNoOfAllBanks = 4;
@ -312,12 +312,12 @@ static void SetControllersVariables(void)
{
case 0:
case 3:
gBanksByIdentity[gLinkPlayers[i].lp_field_18] = IDENTITY_PLAYER_MON1;
gBankPositions[gLinkPlayers[i].lp_field_18] = B_POSITION_PLAYER_LEFT;
gBattlePartyID[gLinkPlayers[i].lp_field_18] = 0;
break;
case 1:
case 2:
gBanksByIdentity[gLinkPlayers[i].lp_field_18] = IDENTITY_PLAYER_MON2;
gBankPositions[gLinkPlayers[i].lp_field_18] = B_POSITION_PLAYER_RIGHT;
gBattlePartyID[gLinkPlayers[i].lp_field_18] = 3;
break;
}
@ -330,12 +330,12 @@ static void SetControllersVariables(void)
{
case 0:
case 3:
gBanksByIdentity[gLinkPlayers[i].lp_field_18] = IDENTITY_PLAYER_MON1;
gBankPositions[gLinkPlayers[i].lp_field_18] = B_POSITION_PLAYER_LEFT;
gBattlePartyID[gLinkPlayers[i].lp_field_18] = 0;
break;
case 1:
case 2:
gBanksByIdentity[gLinkPlayers[i].lp_field_18] = IDENTITY_PLAYER_MON2;
gBankPositions[gLinkPlayers[i].lp_field_18] = B_POSITION_PLAYER_RIGHT;
gBattlePartyID[gLinkPlayers[i].lp_field_18] = 3;
break;
}
@ -347,12 +347,12 @@ static void SetControllersVariables(void)
{
case 0:
case 3:
gBanksByIdentity[gLinkPlayers[i].lp_field_18] = IDENTITY_OPPONENT_MON1;
gBankPositions[gLinkPlayers[i].lp_field_18] = B_POSITION_OPPONENT_LEFT;
gBattlePartyID[gLinkPlayers[i].lp_field_18] = 0;
break;
case 1:
case 2:
gBanksByIdentity[gLinkPlayers[i].lp_field_18] = IDENTITY_OPPONENT_MON2;
gBankPositions[gLinkPlayers[i].lp_field_18] = B_POSITION_OPPONENT_RIGHT;
gBattlePartyID[gLinkPlayers[i].lp_field_18] = 3;
break;
}
@ -362,51 +362,51 @@ static void SetControllersVariables(void)
else if (gBattleTypeFlags & BATTLE_TYPE_WILD)
{
gBattleBankFunc[0] = SetControllerToRecordedPlayer;
gBanksByIdentity[0] = IDENTITY_PLAYER_MON1;
gBankPositions[0] = B_POSITION_PLAYER_LEFT;
gBattleBankFunc[2] = SetControllerToRecordedPlayer;
gBanksByIdentity[2] = IDENTITY_PLAYER_MON2;
gBankPositions[2] = B_POSITION_PLAYER_RIGHT;
if (gBattleTypeFlags & BATTLE_TYPE_x2000000)
{
gBattleBankFunc[1] = SetControllerToRecordedOpponent;
gBanksByIdentity[1] = IDENTITY_OPPONENT_MON1;
gBankPositions[1] = B_POSITION_OPPONENT_LEFT;
gBattleBankFunc[3] = SetControllerToRecordedOpponent;
gBanksByIdentity[3] = IDENTITY_OPPONENT_MON2;
gBankPositions[3] = B_POSITION_OPPONENT_RIGHT;
}
else
{
gBattleBankFunc[1] = SetControllerToOpponent;
gBanksByIdentity[1] = IDENTITY_OPPONENT_MON1;
gBankPositions[1] = B_POSITION_OPPONENT_LEFT;
gBattleBankFunc[3] = SetControllerToOpponent;
gBanksByIdentity[3] = IDENTITY_OPPONENT_MON2;
gBankPositions[3] = B_POSITION_OPPONENT_RIGHT;
}
}
else
{
gBattleBankFunc[1] = SetControllerToRecordedPlayer;
gBanksByIdentity[1] = IDENTITY_PLAYER_MON1;
gBankPositions[1] = B_POSITION_PLAYER_LEFT;
gBattleBankFunc[3] = SetControllerToRecordedPlayer;
gBanksByIdentity[3] = IDENTITY_PLAYER_MON2;
gBankPositions[3] = B_POSITION_PLAYER_RIGHT;
if (gBattleTypeFlags & BATTLE_TYPE_x2000000)
{
gBattleBankFunc[0] = SetControllerToRecordedOpponent;
gBanksByIdentity[0] = IDENTITY_OPPONENT_MON1;
gBankPositions[0] = B_POSITION_OPPONENT_LEFT;
gBattleBankFunc[2] = SetControllerToRecordedOpponent;
gBanksByIdentity[2] = IDENTITY_OPPONENT_MON2;
gBankPositions[2] = B_POSITION_OPPONENT_RIGHT;
}
else
{
gBattleBankFunc[0] = SetControllerToOpponent;
gBanksByIdentity[0] = IDENTITY_OPPONENT_MON1;
gBankPositions[0] = B_POSITION_OPPONENT_LEFT;
gBattleBankFunc[2] = SetControllerToOpponent;
gBanksByIdentity[2] = IDENTITY_OPPONENT_MON2;
gBankPositions[2] = B_POSITION_OPPONENT_RIGHT;
}
}
}
@ -425,20 +425,20 @@ static void SetControllersVariablesInLinkBattle(void)
gBattleMainFunc = BeginBattleIntro;
gBattleBankFunc[0] = SetControllerToPlayer;
gBanksByIdentity[0] = IDENTITY_PLAYER_MON1;
gBankPositions[0] = B_POSITION_PLAYER_LEFT;
gBattleBankFunc[1] = SetControllerToLinkOpponent;
gBanksByIdentity[1] = IDENTITY_OPPONENT_MON1;
gBankPositions[1] = B_POSITION_OPPONENT_LEFT;
gNoOfAllBanks = 2;
}
else
{
gBattleBankFunc[1] = SetControllerToPlayer;
gBanksByIdentity[1] = IDENTITY_PLAYER_MON1;
gBankPositions[1] = B_POSITION_PLAYER_LEFT;
gBattleBankFunc[0] = SetControllerToLinkOpponent;
gBanksByIdentity[0] = IDENTITY_OPPONENT_MON1;
gBankPositions[0] = B_POSITION_OPPONENT_LEFT;
gNoOfAllBanks = 2;
}
@ -450,32 +450,32 @@ static void SetControllersVariablesInLinkBattle(void)
gBattleMainFunc = BeginBattleIntro;
gBattleBankFunc[0] = SetControllerToPlayer;
gBanksByIdentity[0] = IDENTITY_PLAYER_MON1;
gBankPositions[0] = B_POSITION_PLAYER_LEFT;
gBattleBankFunc[1] = SetControllerToLinkOpponent;
gBanksByIdentity[1] = IDENTITY_OPPONENT_MON1;
gBankPositions[1] = B_POSITION_OPPONENT_LEFT;
gBattleBankFunc[2] = SetControllerToPlayer;
gBanksByIdentity[2] = IDENTITY_PLAYER_MON2;
gBankPositions[2] = B_POSITION_PLAYER_RIGHT;
gBattleBankFunc[3] = SetControllerToLinkOpponent;
gBanksByIdentity[3] = IDENTITY_OPPONENT_MON2;
gBankPositions[3] = B_POSITION_OPPONENT_RIGHT;
gNoOfAllBanks = 4;
}
else
{
gBattleBankFunc[1] = SetControllerToPlayer;
gBanksByIdentity[1] = IDENTITY_PLAYER_MON1;
gBankPositions[1] = B_POSITION_PLAYER_LEFT;
gBattleBankFunc[0] = SetControllerToLinkOpponent;
gBanksByIdentity[0] = IDENTITY_OPPONENT_MON1;
gBankPositions[0] = B_POSITION_OPPONENT_LEFT;
gBattleBankFunc[3] = SetControllerToPlayer;
gBanksByIdentity[3] = IDENTITY_PLAYER_MON2;
gBankPositions[3] = B_POSITION_PLAYER_RIGHT;
gBattleBankFunc[2] = SetControllerToLinkOpponent;
gBanksByIdentity[2] = IDENTITY_OPPONENT_MON2;
gBankPositions[2] = B_POSITION_OPPONENT_RIGHT;
gNoOfAllBanks = 4;
}
@ -487,32 +487,32 @@ static void SetControllersVariablesInLinkBattle(void)
gBattleMainFunc = BeginBattleIntro;
gBattleBankFunc[0] = SetControllerToPlayer;
gBanksByIdentity[0] = IDENTITY_PLAYER_MON1;
gBankPositions[0] = B_POSITION_PLAYER_LEFT;
gBattleBankFunc[1] = SetControllerToOpponent;
gBanksByIdentity[1] = IDENTITY_OPPONENT_MON1;
gBankPositions[1] = B_POSITION_OPPONENT_LEFT;
gBattleBankFunc[2] = SetControllerToLinkPartner;
gBanksByIdentity[2] = IDENTITY_PLAYER_MON2;
gBankPositions[2] = B_POSITION_PLAYER_RIGHT;
gBattleBankFunc[3] = SetControllerToOpponent;
gBanksByIdentity[3] = IDENTITY_OPPONENT_MON2;
gBankPositions[3] = B_POSITION_OPPONENT_RIGHT;
gNoOfAllBanks = 4;
}
else
{
gBattleBankFunc[0] = SetControllerToLinkPartner;
gBanksByIdentity[0] = IDENTITY_PLAYER_MON1;
gBankPositions[0] = B_POSITION_PLAYER_LEFT;
gBattleBankFunc[1] = SetControllerToLinkOpponent;
gBanksByIdentity[1] = IDENTITY_OPPONENT_MON1;
gBankPositions[1] = B_POSITION_OPPONENT_LEFT;
gBattleBankFunc[2] = SetControllerToPlayer;
gBanksByIdentity[2] = IDENTITY_PLAYER_MON2;
gBankPositions[2] = B_POSITION_PLAYER_RIGHT;
gBattleBankFunc[3] = SetControllerToLinkOpponent;
gBanksByIdentity[3] = IDENTITY_OPPONENT_MON2;
gBankPositions[3] = B_POSITION_OPPONENT_RIGHT;
gNoOfAllBanks = 4;
}
@ -554,12 +554,12 @@ static void SetControllersVariablesInLinkBattle(void)
{
case 0:
case 3:
gBanksByIdentity[gLinkPlayers[i].lp_field_18] = 0;
gBankPositions[gLinkPlayers[i].lp_field_18] = 0;
gBattlePartyID[gLinkPlayers[i].lp_field_18] = 0;
break;
case 1:
case 2:
gBanksByIdentity[gLinkPlayers[i].lp_field_18] = 2;
gBankPositions[gLinkPlayers[i].lp_field_18] = 2;
gBattlePartyID[gLinkPlayers[i].lp_field_18] = 3;
break;
}
@ -574,12 +574,12 @@ static void SetControllersVariablesInLinkBattle(void)
{
case 0:
case 3:
gBanksByIdentity[gLinkPlayers[i].lp_field_18] = 0;
gBankPositions[gLinkPlayers[i].lp_field_18] = 0;
gBattlePartyID[gLinkPlayers[i].lp_field_18] = 0;
break;
case 1:
case 2:
gBanksByIdentity[gLinkPlayers[i].lp_field_18] = 2;
gBankPositions[gLinkPlayers[i].lp_field_18] = 2;
gBattlePartyID[gLinkPlayers[i].lp_field_18] = 3;
break;
}
@ -591,12 +591,12 @@ static void SetControllersVariablesInLinkBattle(void)
{
case 0:
case 3:
gBanksByIdentity[gLinkPlayers[i].lp_field_18] = 1;
gBankPositions[gLinkPlayers[i].lp_field_18] = 1;
gBattlePartyID[gLinkPlayers[i].lp_field_18] = 0;
break;
case 1:
case 2:
gBanksByIdentity[gLinkPlayers[i].lp_field_18] = 3;
gBankPositions[gLinkPlayers[i].lp_field_18] = 3;
gBattlePartyID[gLinkPlayers[i].lp_field_18] = 3;
break;
}

View File

@ -29,7 +29,7 @@ extern u8 gNoOfAllBanks;
extern u16 gUnknown_020243FC;
extern u16 gBattlePartyID[BATTLE_BANKS_COUNT];
extern struct BattlePokemon gBattleMons[BATTLE_BANKS_COUNT];
extern u8 gBanksByIdentity[BATTLE_BANKS_COUNT];
extern u8 gBankPositions[BATTLE_BANKS_COUNT];
extern u8 gBankSpriteIds[BATTLE_BANKS_COUNT];
extern u8 gHealthBoxesIds[BATTLE_BANKS_COUNT];
extern u8 gBattleMonForms[BATTLE_BANKS_COUNT];
@ -262,7 +262,7 @@ u16 ChooseMoveAndTargetInBattlePalace(void)
else if (var1 == MOVE_TARGET_SELECTED)
chosenMoveId |= (BattlePalaceGetTargetRetValue());
else
chosenMoveId |= (GetBankByIdentity((GetBankIdentity(gActiveBank) & BIT_SIDE) ^ BIT_SIDE) << 8);
chosenMoveId |= (GetBankByIdentity((GetBankPosition(gActiveBank) & BIT_SIDE) ^ BIT_SIDE) << 8);
return chosenMoveId;
}
@ -299,13 +299,13 @@ static u16 BattlePalaceGetTargetRetValue(void)
if (GetBankSide(gActiveBank) == SIDE_PLAYER)
{
opposing1 = GetBankByIdentity(IDENTITY_OPPONENT_MON1);
opposing2 = GetBankByIdentity(IDENTITY_OPPONENT_MON2);
opposing1 = GetBankByIdentity(B_POSITION_OPPONENT_LEFT);
opposing2 = GetBankByIdentity(B_POSITION_OPPONENT_RIGHT);
}
else
{
opposing1 = GetBankByIdentity(IDENTITY_PLAYER_MON1);
opposing2 = GetBankByIdentity(IDENTITY_PLAYER_MON2);
opposing1 = GetBankByIdentity(B_POSITION_PLAYER_LEFT);
opposing2 = GetBankByIdentity(B_POSITION_PLAYER_RIGHT);
}
if (gBattleMons[opposing1].hp == gBattleMons[opposing2].hp)
@ -561,7 +561,7 @@ void BattleLoadOpponentMonSpriteGfx(struct Pokemon *mon, u8 bank)
}
otId = GetMonData(mon, MON_DATA_OT_ID);
identity = GetBankIdentity(bank);
identity = GetBankPosition(bank);
HandleLoadSpecialPokePic_DontHandleDeoxys(&gMonFrontPicTable[species],
gMonSpritesGfxPtr->sprites[identity],
species, currentPersonality);
@ -614,7 +614,7 @@ void BattleLoadPlayerMonSpriteGfx(struct Pokemon *mon, u8 bank)
}
otId = GetMonData(mon, MON_DATA_OT_ID);
identity = GetBankIdentity(bank);
identity = GetBankPosition(bank);
if (sub_80688F8(1, bank) == 1 || gBattleSpritesDataPtr->bankData[bank].transformSpecies != SPECIES_NONE)
{
@ -665,7 +665,7 @@ void nullsub_24(u16 species)
void DecompressTrainerFrontPic(u16 frontPicId, u8 bank)
{
u8 identity = GetBankIdentity(bank);
u8 identity = GetBankPosition(bank);
DecompressPicFromTable_2(&gTrainerFrontPicTable[frontPicId],
gMonSpritesGfxPtr->sprites[identity],
SPECIES_NONE);
@ -674,7 +674,7 @@ void DecompressTrainerFrontPic(u16 frontPicId, u8 bank)
void DecompressTrainerBackPic(u16 backPicId, u8 bank)
{
u8 identity = GetBankIdentity(bank);
u8 identity = GetBankPosition(bank);
DecompressPicFromTable_2(&gTrainerBackPicTable[backPicId],
gMonSpritesGfxPtr->sprites[identity],
SPECIES_NONE);
@ -713,7 +713,7 @@ void sub_805DFFC(void)
numberOfBanks = 4;
}
for (i = 0; i < numberOfBanks; i++)
LoadCompressedObjectPic(&gUnknown_0832C108[gBanksByIdentity[i]]);
LoadCompressedObjectPic(&gUnknown_0832C108[gBankPositions[i]]);
}
bool8 BattleLoadAllHealthBoxesGfx(u8 state)
@ -739,9 +739,9 @@ bool8 BattleLoadAllHealthBoxesGfx(u8 state)
else if (state == 3)
LoadCompressedObjectPic(&gUnknown_0832C0D8);
else if (state == 4)
LoadCompressedObjectPic(&gUnknown_0832C108[gBanksByIdentity[0]]);
LoadCompressedObjectPic(&gUnknown_0832C108[gBankPositions[0]]);
else if (state == 5)
LoadCompressedObjectPic(&gUnknown_0832C108[gBanksByIdentity[1]]);
LoadCompressedObjectPic(&gUnknown_0832C108[gBankPositions[1]]);
else
retVal = TRUE;
}
@ -756,13 +756,13 @@ bool8 BattleLoadAllHealthBoxesGfx(u8 state)
else if (state == 5)
LoadCompressedObjectPic(&gUnknown_0832C0F0[1]);
else if (state == 6)
LoadCompressedObjectPic(&gUnknown_0832C108[gBanksByIdentity[0]]);
LoadCompressedObjectPic(&gUnknown_0832C108[gBankPositions[0]]);
else if (state == 7)
LoadCompressedObjectPic(&gUnknown_0832C108[gBanksByIdentity[1]]);
LoadCompressedObjectPic(&gUnknown_0832C108[gBankPositions[1]]);
else if (state == 8)
LoadCompressedObjectPic(&gUnknown_0832C108[gBanksByIdentity[2]]);
LoadCompressedObjectPic(&gUnknown_0832C108[gBankPositions[2]]);
else if (state == 9)
LoadCompressedObjectPic(&gUnknown_0832C108[gBanksByIdentity[3]]);
LoadCompressedObjectPic(&gUnknown_0832C108[gBankPositions[3]]);
else
retVal = TRUE;
}
@ -815,7 +815,7 @@ bool8 BattleInitAllSprites(u8 *state1, u8 *bank)
break;
case 4:
SetBankHealthboxSpritePos(*bank);
if (gBanksByIdentity[*bank] <= 1)
if (gBankPositions[*bank] <= 1)
DummyBattleInterfaceFunc(gHealthBoxesIds[*bank], FALSE);
else
DummyBattleInterfaceFunc(gHealthBoxesIds[*bank], TRUE);
@ -921,7 +921,7 @@ void HandleSpeciesGfxDataChange(u8 bankAtk, u8 bankDef, bool8 notTransform)
}
else
{
identity = GetBankIdentity(bankAtk);
identity = GetBankPosition(bankAtk);
if (GetBankSide(bankDef) == SIDE_OPPONENT)
targetSpecies = GetMonData(&gEnemyParty[gBattlePartyID[bankDef]], MON_DATA_SPECIES);
@ -991,7 +991,7 @@ void BattleLoadSubstituteOrMonSpriteGfx(u8 bank, bool8 loadMonSprite)
if (IsContest())
identity = 0;
else
identity = GetBankIdentity(bank);
identity = GetBankPosition(bank);
if (IsContest())
LZDecompressVram(gSubstituteDollTilemap, gMonSpritesGfxPtr->sprites[identity]);
@ -1080,7 +1080,7 @@ void HandleLowHpMusicChange(struct Pokemon *mon, u8 bank)
void BattleStopLowHpSound(void)
{
u8 playerBank = GetBankByIdentity(IDENTITY_PLAYER_MON1);
u8 playerBank = GetBankByIdentity(B_POSITION_PLAYER_LEFT);
gBattleSpritesDataPtr->bankData[playerBank].lowHpSong = 0;
if (IsDoubleBattle())
@ -1101,8 +1101,8 @@ void sub_805EAE8(void)
{
if (gMain.inBattle)
{
u8 playerBank1 = GetBankByIdentity(IDENTITY_PLAYER_MON1);
u8 playerBank2 = GetBankByIdentity(IDENTITY_PLAYER_MON2);
u8 playerBank1 = GetBankByIdentity(B_POSITION_PLAYER_LEFT);
u8 playerBank2 = GetBankByIdentity(B_POSITION_PLAYER_RIGHT);
u8 bank1PartyId = pokemon_order_func(gBattlePartyID[playerBank1]);
u8 bank2PartyId = pokemon_order_func(gBattlePartyID[playerBank2]);
@ -1143,14 +1143,14 @@ void LoadAndCreateEnemyShadowSprites(void)
LoadCompressedObjectPic(&gSpriteSheet_EnemyShadow);
bank = GetBankByIdentity(IDENTITY_OPPONENT_MON1);
gBattleSpritesDataPtr->healthBoxesData[bank].shadowSpriteId = CreateSprite(&gSpriteTemplate_EnemyShadow, GetBankPosition(bank, 0), GetBankPosition(bank, 1) + 29, 0xC8);
bank = GetBankByIdentity(B_POSITION_OPPONENT_LEFT);
gBattleSpritesDataPtr->healthBoxesData[bank].shadowSpriteId = CreateSprite(&gSpriteTemplate_EnemyShadow, GetBankCoord(bank, 0), GetBankCoord(bank, 1) + 29, 0xC8);
gSprites[gBattleSpritesDataPtr->healthBoxesData[bank].shadowSpriteId].data[0] = bank;
if (IsDoubleBattle())
{
bank = GetBankByIdentity(IDENTITY_OPPONENT_MON2);
gBattleSpritesDataPtr->healthBoxesData[bank].shadowSpriteId = CreateSprite(&gSpriteTemplate_EnemyShadow, GetBankPosition(bank, 0), GetBankPosition(bank, 1) + 29, 0xC8);
bank = GetBankByIdentity(B_POSITION_OPPONENT_RIGHT);
gBattleSpritesDataPtr->healthBoxesData[bank].shadowSpriteId = CreateSprite(&gSpriteTemplate_EnemyShadow, GetBankCoord(bank, 0), GetBankCoord(bank, 1) + 29, 0xC8);
gSprites[gBattleSpritesDataPtr->healthBoxesData[bank].shadowSpriteId].data[0] = bank;
}
}

View File

@ -152,7 +152,7 @@ enum
HEALTHBOX_GFX_117,
};
extern u8 gBanksByIdentity[BATTLE_BANKS_COUNT];
extern u8 gBankPositions[BATTLE_BANKS_COUNT];
extern u16 gBattlePartyID[BATTLE_BANKS_COUNT];
extern u8 gNoOfAllBanks;
extern u8 gHealthBoxesIds[BATTLE_BANKS_COUNT];
@ -933,8 +933,8 @@ u8 CreateBankHealthboxSprites(u8 bank)
{
if (GetBankSide(bank) == SIDE_PLAYER)
{
healthboxSpriteId_1 = CreateSprite(&sHealthboxPlayerSpriteTemplates[GetBankIdentity(bank) / 2], 240, 160, 1);
healthboxSpriteId_2 = CreateSpriteAtEnd(&sHealthboxPlayerSpriteTemplates[GetBankIdentity(bank) / 2], 240, 160, 1);
healthboxSpriteId_1 = CreateSprite(&sHealthboxPlayerSpriteTemplates[GetBankPosition(bank) / 2], 240, 160, 1);
healthboxSpriteId_2 = CreateSpriteAtEnd(&sHealthboxPlayerSpriteTemplates[GetBankPosition(bank) / 2], 240, 160, 1);
gSprites[healthboxSpriteId_1].oam.affineParam = healthboxSpriteId_2;
@ -946,8 +946,8 @@ u8 CreateBankHealthboxSprites(u8 bank)
}
else
{
healthboxSpriteId_1 = CreateSprite(&sHealthboxOpponentSpriteTemplates[GetBankIdentity(bank) / 2], 240, 160, 1);
healthboxSpriteId_2 = CreateSpriteAtEnd(&sHealthboxOpponentSpriteTemplates[GetBankIdentity(bank) / 2], 240, 160, 1);
healthboxSpriteId_1 = CreateSprite(&sHealthboxOpponentSpriteTemplates[GetBankPosition(bank) / 2], 240, 160, 1);
healthboxSpriteId_2 = CreateSpriteAtEnd(&sHealthboxOpponentSpriteTemplates[GetBankPosition(bank) / 2], 240, 160, 1);
gSprites[healthboxSpriteId_1].oam.affineParam = healthboxSpriteId_2;
@ -959,7 +959,7 @@ u8 CreateBankHealthboxSprites(u8 bank)
}
}
unkSpriteId = CreateSpriteAtEnd(&sUnknown_0832C1C0[gBanksByIdentity[bank]], 140, 60, 0);
unkSpriteId = CreateSpriteAtEnd(&sUnknown_0832C1C0[gBankPositions[bank]], 140, 60, 0);
unkSpritePtr = &gSprites[unkSpriteId];
SetSubspriteTables(unkSpritePtr, &sUnknown_0832C28C[GetBankSide(bank)]);
unkSpritePtr->subspriteMode = 2;
@ -1111,18 +1111,18 @@ void SetBankHealthboxSpritePos(u8 bank)
}
else
{
switch (GetBankIdentity(bank))
switch (GetBankPosition(bank))
{
case IDENTITY_PLAYER_MON1:
case B_POSITION_PLAYER_LEFT:
x = 159, y = 76;
break;
case IDENTITY_PLAYER_MON2:
case B_POSITION_PLAYER_RIGHT:
x = 171, y = 101;
break;
case IDENTITY_OPPONENT_MON1:
case B_POSITION_OPPONENT_LEFT:
x = 44, y = 19;
break;
case IDENTITY_OPPONENT_MON2:
case B_POSITION_OPPONENT_RIGHT:
x = 32, y = 44;
break;
}
@ -1353,7 +1353,7 @@ static void sub_80730D4(u8 healthboxSpriteId, struct Pokemon *mon)
u8 i, var, nature, healthboxSpriteId_2;
memcpy(text, sUnknown_0832C3C4, sizeof(sUnknown_0832C3C4));
barFontGfx = &gMonSpritesGfxPtr->barFontGfx[0x520 + (GetBankIdentity(gSprites[healthboxSpriteId].data[6]) * 384)];
barFontGfx = &gMonSpritesGfxPtr->barFontGfx[0x520 + (GetBankPosition(gSprites[healthboxSpriteId].data[6]) * 384)];
var = 5;
nature = GetNature(mon);
StringCopy(text + 6, gNatureNamePointers[nature]);
@ -1485,7 +1485,7 @@ u8 CreatePartyStatusSummarySprites(u8 bank, struct HpAndStatus *partyInfo, u8 ar
u8 ballIconSpritesIds[6];
u8 taskId;
if (!arg2 || GetBankIdentity(bank) != IDENTITY_OPPONENT_MON2)
if (!arg2 || GetBankPosition(bank) != B_POSITION_OPPONENT_RIGHT)
{
if (GetBankSide(bank) == SIDE_PLAYER)
{

View File

@ -1834,25 +1834,25 @@ u32 BattleStringExpandPlaceholders(const u8* src, u8* dst)
toCpy = gStringVar3;
break;
case B_TXT_PLAYER_MON1_NAME: // first player poke name
GetMonData(&gPlayerParty[gBattlePartyID[GetBankByIdentity(IDENTITY_PLAYER_MON1)]],
GetMonData(&gPlayerParty[gBattlePartyID[GetBankByIdentity(B_POSITION_PLAYER_LEFT)]],
MON_DATA_NICKNAME, text);
StringGetEnd10(text);
toCpy = text;
break;
case B_TXT_OPPONENT_MON1_NAME: // first enemy poke name
GetMonData(&gEnemyParty[gBattlePartyID[GetBankByIdentity(IDENTITY_OPPONENT_MON1)]],
GetMonData(&gEnemyParty[gBattlePartyID[GetBankByIdentity(B_POSITION_OPPONENT_LEFT)]],
MON_DATA_NICKNAME, text);
StringGetEnd10(text);
toCpy = text;
break;
case B_TXT_PLAYER_MON2_NAME: // second player poke name
GetMonData(&gPlayerParty[gBattlePartyID[GetBankByIdentity(IDENTITY_PLAYER_MON2)]],
GetMonData(&gPlayerParty[gBattlePartyID[GetBankByIdentity(B_POSITION_PLAYER_RIGHT)]],
MON_DATA_NICKNAME, text);
StringGetEnd10(text);
toCpy = text;
break;
case B_TXT_OPPONENT_MON2_NAME: // second enemy poke name
GetMonData(&gEnemyParty[gBattlePartyID[GetBankByIdentity(IDENTITY_OPPONENT_MON2)]],
GetMonData(&gEnemyParty[gBattlePartyID[GetBankByIdentity(B_POSITION_OPPONENT_RIGHT)]],
MON_DATA_NICKNAME, text);
StringGetEnd10(text);
toCpy = text;

View File

@ -4661,7 +4661,7 @@ _0804BA58:\n\
ldr r6, =gActiveBank\n\
ldrb r0, [r6]\n\
str r3, [sp]\n\
bl GetBankIdentity\n\
bl GetBankPosition\n\
mov r1, r10\n\
ands r1, r0\n\
lsls r0, r1, 1\n\
@ -5103,7 +5103,7 @@ static void atk49_moveend(void)
&& !gProtectStructs[gBankAttacker].chargingTurn && gBattleMoves[gCurrentMove].target == MOVE_TARGET_BOTH
&& !(gHitMarker & HITMARKER_NO_ATTACKSTRING))
{
u8 bank = GetBankByIdentity(GetBankIdentity(gBankTarget) ^ BIT_MON);
u8 bank = GetBankByIdentity(GetBankPosition(gBankTarget) ^ BIT_MON);
if (gBattleMons[bank].hp != 0)
{
gBankTarget = bank;
@ -5454,10 +5454,10 @@ static void atk4F_jumpifcantswitch(void)
{
if (GetBankSide(gActiveBank) == SIDE_OPPONENT)
{
r7 = GetBankByIdentity(IDENTITY_OPPONENT_MON1);
r7 = GetBankByIdentity(B_POSITION_OPPONENT_LEFT);
if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE)
compareVar = GetBankByIdentity(IDENTITY_OPPONENT_MON2);
compareVar = GetBankByIdentity(B_POSITION_OPPONENT_RIGHT);
else
compareVar = r7;
@ -5465,10 +5465,10 @@ static void atk4F_jumpifcantswitch(void)
}
else
{
r7 = GetBankByIdentity(IDENTITY_PLAYER_MON1);
r7 = GetBankByIdentity(B_POSITION_PLAYER_LEFT);
if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE)
compareVar = GetBankByIdentity(IDENTITY_PLAYER_MON2);
compareVar = GetBankByIdentity(B_POSITION_PLAYER_RIGHT);
else
compareVar = r7;
@ -5763,7 +5763,7 @@ static void atk50_openpartyscreen(void)
gBattlescriptCurrInstr += 6;
if (GetBankIdentity(gActiveBank) == 0 && gBattleResults.playerSwitchesCounter < 0xFF)
if (GetBankPosition(gActiveBank) == 0 && gBattleResults.playerSwitchesCounter < 0xFF)
gBattleResults.playerSwitchesCounter++;
if (gBattleTypeFlags & BATTLE_TYPE_MULTI)
@ -5779,7 +5779,7 @@ static void atk50_openpartyscreen(void)
}
else
{
gActiveBank = GetBankByIdentity(GetBankIdentity(bank) ^ BIT_SIDE);
gActiveBank = GetBankByIdentity(GetBankPosition(bank) ^ BIT_SIDE);
if (gAbsentBankFlags & gBitTable[gActiveBank])
gActiveBank ^= BIT_MON;
@ -5976,7 +5976,7 @@ static void atk56_playfaintcry(void)
static void atk57(void)
{
gActiveBank = GetBankByIdentity(IDENTITY_PLAYER_MON1);
gActiveBank = GetBankByIdentity(B_POSITION_PLAYER_LEFT);
EmitCmd55(0, gBattleOutcome);
MarkBufferBankForExecution(gActiveBank);
@ -6011,7 +6011,7 @@ static void atk59_handlelearnnewmove(void)
}
else
{
gActiveBank = GetBankByIdentity(IDENTITY_PLAYER_MON1);
gActiveBank = GetBankByIdentity(B_POSITION_PLAYER_LEFT);
if (gBattlePartyID[gActiveBank] == gBattleStruct->expGetterId
&& !(gBattleMons[gActiveBank].status2 & STATUS2_TRANSFORMED))
@ -6020,7 +6020,7 @@ static void atk59_handlelearnnewmove(void)
}
if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE)
{
gActiveBank = GetBankByIdentity(IDENTITY_PLAYER_MON2);
gActiveBank = GetBankByIdentity(B_POSITION_PLAYER_RIGHT);
if (gBattlePartyID[gActiveBank] == gBattleStruct->expGetterId
&& !(gBattleMons[gActiveBank].status2 & STATUS2_TRANSFORMED))
{
@ -6851,7 +6851,7 @@ static void atk6D_resetsentmonsvalue(void)
static void atk6E_setatktoplayer0(void)
{
gBankAttacker = GetBankByIdentity(IDENTITY_PLAYER_MON1);
gBankAttacker = GetBankByIdentity(B_POSITION_PLAYER_LEFT);
gBattlescriptCurrInstr++;
}
@ -8309,7 +8309,7 @@ static void atk98_updatestatusicon(void)
}
if ((gBattleTypeFlags & BATTLE_TYPE_DOUBLE))
{
gActiveBank = GetBankByIdentity(GetBankIdentity(gBankAttacker) ^ BIT_MON);
gActiveBank = GetBankByIdentity(GetBankPosition(gBankAttacker) ^ BIT_MON);
if (!(gAbsentBankFlags & gBitTable[gActiveBank]))
{
EmitStatusIconUpdate(0, gBattleMons[gActiveBank].status1, gBattleMons[gActiveBank].status2);
@ -8978,7 +8978,7 @@ static void atkAE_healpartystatus(void)
gBattleCommunication[MULTISTRING_CHOOSER] |= 1;
}
gActiveBank = gBattleScripting.bank = GetBankByIdentity(GetBankIdentity(gBankAttacker) ^ BIT_MON);
gActiveBank = gBattleScripting.bank = GetBankByIdentity(GetBankPosition(gBankAttacker) ^ BIT_MON);
if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE
&& !(gAbsentBankFlags & gBitTable[gActiveBank]))
@ -9026,7 +9026,7 @@ static void atkAE_healpartystatus(void)
gBattleMons[gBankAttacker].status1 = 0;
gBattleMons[gBankAttacker].status2 &= ~(STATUS2_NIGHTMARE);
gActiveBank = GetBankByIdentity(GetBankIdentity(gBankAttacker) ^ BIT_MON);
gActiveBank = GetBankByIdentity(GetBankPosition(gBankAttacker) ^ BIT_MON);
if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE
&& !(gAbsentBankFlags & gBitTable[gActiveBank]))
{
@ -9296,16 +9296,16 @@ static void atkBA_jumpifnopursuitswitchdmg(void)
if (gMultiHitCounter == 1)
{
if (GetBankSide(gBankAttacker) == SIDE_PLAYER)
gBankTarget = GetBankByIdentity(IDENTITY_OPPONENT_MON1);
gBankTarget = GetBankByIdentity(B_POSITION_OPPONENT_LEFT);
else
gBankTarget = GetBankByIdentity(IDENTITY_PLAYER_MON1);
gBankTarget = GetBankByIdentity(B_POSITION_PLAYER_LEFT);
}
else
{
if (GetBankSide(gBankAttacker) == SIDE_PLAYER)
gBankTarget = GetBankByIdentity(IDENTITY_OPPONENT_MON2);
gBankTarget = GetBankByIdentity(B_POSITION_OPPONENT_RIGHT);
else
gBankTarget = GetBankByIdentity(IDENTITY_PLAYER_MON2);
gBankTarget = GetBankByIdentity(B_POSITION_PLAYER_RIGHT);
}
if (gActionForBanks[gBankTarget] == ACTION_USE_MOVE
@ -9875,7 +9875,7 @@ static void atkD0_settaunt(void)
static void atkD1_trysethelpinghand(void)
{
gBankTarget = GetBankByIdentity(GetBankIdentity(gBankAttacker) ^ BIT_MON);
gBankTarget = GetBankByIdentity(GetBankPosition(gBankAttacker) ^ BIT_MON);
if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE
&& !(gAbsentBankFlags & gBitTable[gBankTarget])
@ -10544,7 +10544,7 @@ static void atkEB_settypetoterrain(void)
static void atkEC_pursuitrelated(void)
{
gActiveBank = GetBankByIdentity(GetBankIdentity(gBankAttacker) ^ BIT_MON);
gActiveBank = GetBankByIdentity(GetBankPosition(gBankAttacker) ^ BIT_MON);
if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE
&& !(gAbsentBankFlags & gBitTable[gActiveBank])

View File

@ -104,16 +104,16 @@ u8 GetBattleBank(u8 caseId)
case 8:
case 9:
case BS_GET_PLAYER1:
ret = GetBankByIdentity(IDENTITY_PLAYER_MON1);
ret = GetBankByIdentity(B_POSITION_PLAYER_LEFT);
break;
case BS_GET_OPPONENT1:
ret = GetBankByIdentity(IDENTITY_OPPONENT_MON1);
ret = GetBankByIdentity(B_POSITION_OPPONENT_LEFT);
break;
case BS_GET_PLAYER2:
ret = GetBankByIdentity(IDENTITY_PLAYER_MON2);
ret = GetBankByIdentity(B_POSITION_PLAYER_RIGHT);
break;
case BS_GET_OPPONENT2:
ret = GetBankByIdentity(IDENTITY_OPPONENT_MON2);
ret = GetBankByIdentity(B_POSITION_OPPONENT_RIGHT);
break;
}
return ret;
@ -1667,14 +1667,14 @@ bool8 sub_80423F4(u8 bank, u8 r1, u8 r2)
{
if (GetBankSide(bank) == SIDE_OPPONENT)
{
r7 = GetBankByIdentity(IDENTITY_OPPONENT_MON1);
r6 = GetBankByIdentity(IDENTITY_OPPONENT_MON2);
r7 = GetBankByIdentity(B_POSITION_OPPONENT_LEFT);
r6 = GetBankByIdentity(B_POSITION_OPPONENT_RIGHT);
party = gEnemyParty;
}
else
{
r7 = GetBankByIdentity(IDENTITY_PLAYER_MON1);
r6 = GetBankByIdentity(IDENTITY_PLAYER_MON2);
r7 = GetBankByIdentity(B_POSITION_PLAYER_LEFT);
r6 = GetBankByIdentity(B_POSITION_PLAYER_RIGHT);
party = gPlayerParty;
}
if (r1 == 6)
@ -2335,7 +2335,7 @@ u8 AbilityBattleEffects(u8 caseID, u8 bank, u8 ability, u8 special, u16 moveArg)
if (gBattleMons[i].ability == ABILITY_TRACE && (gStatuses3[i] & STATUS3_TRACE))
{
u8 target2;
side = (GetBankIdentity(i) ^ BIT_SIDE) & BIT_SIDE; // side of the opposing pokemon
side = (GetBankPosition(i) ^ BIT_SIDE) & BIT_SIDE; // side of the opposing pokemon
target1 = GetBankByIdentity(side);
target2 = GetBankByIdentity(side + BIT_MON);
if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE)
@ -3268,7 +3268,7 @@ u8 GetMoveTarget(u16 move, u8 useMoveTarget)
case MOVE_TARGET_BOTH:
case MOVE_TARGET_FOES_AND_ALLY:
case MOVE_TARGET_OPPONENTS_FIELD:
targetBank = GetBankByIdentity((GetBankIdentity(gBankAttacker) & BIT_SIDE) ^ BIT_SIDE);
targetBank = GetBankByIdentity((GetBankPosition(gBankAttacker) & BIT_SIDE) ^ BIT_SIDE);
if (gAbsentBankFlags & gBitTable[targetBank])
targetBank ^= BIT_MON;
break;
@ -3281,22 +3281,22 @@ u8 GetMoveTarget(u16 move, u8 useMoveTarget)
if (GetBankSide(gBankAttacker) == SIDE_PLAYER)
{
if (Random() & 1)
targetBank = GetBankByIdentity(IDENTITY_OPPONENT_MON1);
targetBank = GetBankByIdentity(B_POSITION_OPPONENT_LEFT);
else
targetBank = GetBankByIdentity(IDENTITY_OPPONENT_MON2);
targetBank = GetBankByIdentity(B_POSITION_OPPONENT_RIGHT);
}
else
{
if (Random() & 1)
targetBank = GetBankByIdentity(IDENTITY_PLAYER_MON1);
targetBank = GetBankByIdentity(B_POSITION_PLAYER_LEFT);
else
targetBank = GetBankByIdentity(IDENTITY_PLAYER_MON2);
targetBank = GetBankByIdentity(B_POSITION_PLAYER_RIGHT);
}
if (gAbsentBankFlags & gBitTable[targetBank])
targetBank ^= BIT_MON;
}
else
targetBank = GetBankByIdentity((GetBankIdentity(gBankAttacker) & BIT_SIDE) ^ BIT_SIDE);
targetBank = GetBankByIdentity((GetBankPosition(gBankAttacker) & BIT_SIDE) ^ BIT_SIDE);
break;
case MOVE_TARGET_USER:
case MOVE_TARGET_x10:
@ -3332,7 +3332,7 @@ u8 IsMonDisobedient(void)
if (HasObedientBitSet(gBankAttacker)) // only if species is Mew or Deoxys
{
if (gBattleTypeFlags & BATTLE_TYPE_INGAME_PARTNER && GetBankIdentity(gBankAttacker) == 2)
if (gBattleTypeFlags & BATTLE_TYPE_INGAME_PARTNER && GetBankPosition(gBankAttacker) == 2)
return 0;
if (gBattleTypeFlags & BATTLE_TYPE_FRONTIER)
return 0;

View File

@ -87,15 +87,15 @@ void AdjustFriendshipOnBattleFaint(u8 bank)
{
u8 opposingBank2;
opposingBank = GetBankByIdentity(IDENTITY_OPPONENT_MON1);
opposingBank2 = GetBankByIdentity(IDENTITY_OPPONENT_MON2);
opposingBank = GetBankByIdentity(B_POSITION_OPPONENT_LEFT);
opposingBank2 = GetBankByIdentity(B_POSITION_OPPONENT_RIGHT);
if (gBattleMons[opposingBank2].level > gBattleMons[opposingBank].level)
opposingBank = opposingBank2;
}
else
{
opposingBank = GetBankByIdentity(IDENTITY_OPPONENT_MON1);
opposingBank = GetBankByIdentity(B_POSITION_OPPONENT_LEFT);
}
if (gBattleMons[opposingBank].level > gBattleMons[bank].level)

View File

@ -384,14 +384,14 @@ static void Task_DoPokeballSendOutAnim(u8 taskId)
gSprites[ballSpriteId].callback = SpriteCB_PlayerMonSendOut_1;
break;
case POKEBALL_OPPONENT_SENDOUT:
gSprites[ballSpriteId].pos1.x = GetBankPosition(bank, BANK_X_POS);
gSprites[ballSpriteId].pos1.y = GetBankPosition(bank, BANK_Y_POS) + 24;
gSprites[ballSpriteId].pos1.x = GetBankCoord(bank, BANK_X_POS);
gSprites[ballSpriteId].pos1.y = GetBankCoord(bank, BANK_Y_POS) + 24;
gBankTarget = bank;
gSprites[ballSpriteId].data[0] = 0;
gSprites[ballSpriteId].callback = SpriteCB_OpponentMonSendOut;
break;
default:
gBankTarget = GetBankByIdentity(IDENTITY_OPPONENT_MON1);
gBankTarget = GetBankByIdentity(B_POSITION_OPPONENT_LEFT);
notSendOut = TRUE;
break;
}
@ -405,8 +405,8 @@ static void Task_DoPokeballSendOutAnim(u8 taskId)
// this will perform an unused ball throw animation
gSprites[ballSpriteId].data[0] = 0x22;
gSprites[ballSpriteId].data[2] = GetBankPosition(gBankTarget, BANK_X_POS);
gSprites[ballSpriteId].data[4] = GetBankPosition(gBankTarget, BANK_Y_POS) - 16;
gSprites[ballSpriteId].data[2] = GetBankCoord(gBankTarget, BANK_X_POS);
gSprites[ballSpriteId].data[4] = GetBankCoord(gBankTarget, BANK_Y_POS) - 16;
gSprites[ballSpriteId].data[5] = -40;
sub_80A68D4(&gSprites[ballSpriteId]);
gSprites[ballSpriteId].oam.affineParam = taskId;
@ -767,7 +767,7 @@ static void SpriteCB_ReleaseMonFromBall(struct Sprite *sprite)
}
species = GetMonData(mon, MON_DATA_SPECIES);
if ((bank == GetBankByIdentity(IDENTITY_PLAYER_MON1) || bank == GetBankByIdentity(IDENTITY_OPPONENT_MON1))
if ((bank == GetBankByIdentity(B_POSITION_PLAYER_LEFT) || bank == GetBankByIdentity(B_POSITION_OPPONENT_LEFT))
&& IsDoubleBattle() && gBattleSpritesDataPtr->animationData->field_9_x1)
{
if (gBattleTypeFlags & BATTLE_TYPE_MULTI && gBattleTypeFlags & BATTLE_TYPE_LINK)
@ -783,7 +783,7 @@ static void SpriteCB_ReleaseMonFromBall(struct Sprite *sprite)
if (!IsDoubleBattle() || !gBattleSpritesDataPtr->animationData->field_9_x1)
wantedCryCase = 0;
else if (bank == GetBankByIdentity(IDENTITY_PLAYER_MON1) || bank == GetBankByIdentity(IDENTITY_OPPONENT_MON1))
else if (bank == GetBankByIdentity(B_POSITION_PLAYER_LEFT) || bank == GetBankByIdentity(B_POSITION_OPPONENT_LEFT))
wantedCryCase = 1;
else
wantedCryCase = 2;
@ -900,8 +900,8 @@ static void sub_80760F8(struct Sprite *sprite)
static void SpriteCB_PlayerMonSendOut_1(struct Sprite *sprite)
{
sprite->data[0] = 25;
sprite->data[2] = GetBankPosition(sprite->sBank, 2);
sprite->data[4] = GetBankPosition(sprite->sBank, 3) + 24;
sprite->data[2] = GetBankCoord(sprite->sBank, 2);
sprite->data[4] = GetBankCoord(sprite->sBank, 3) + 24;
sprite->data[5] = -30;
sprite->oam.affineParam = sprite->sBank;
sub_80A68D4(sprite);
@ -956,7 +956,7 @@ static void SpriteCB_PlayerMonSendOut_2(struct Sprite *sprite)
sprite->data[0] = 0;
if (IsDoubleBattle() && gBattleSpritesDataPtr->animationData->field_9_x1
&& sprite->sBank == GetBankByIdentity(IDENTITY_PLAYER_MON2))
&& sprite->sBank == GetBankByIdentity(B_POSITION_PLAYER_RIGHT))
sprite->callback = SpriteCB_ReleaseMon2FromBall;
else
sprite->callback = SpriteCB_ReleaseMonFromBall;
@ -982,7 +982,7 @@ static void SpriteCB_OpponentMonSendOut(struct Sprite *sprite)
{
sprite->data[0] = 0;
if (IsDoubleBattle() && gBattleSpritesDataPtr->animationData->field_9_x1
&& sprite->sBank == GetBankByIdentity(IDENTITY_OPPONENT_MON2))
&& sprite->sBank == GetBankByIdentity(B_POSITION_OPPONENT_RIGHT))
sprite->callback = SpriteCB_ReleaseMon2FromBall;
else
sprite->callback = SpriteCB_ReleaseMonFromBall;
@ -1198,7 +1198,7 @@ void sub_8076918(u8 bank)
healthboxSprite->pos2.y = -healthboxSprite->pos2.y;
}
gSprites[healthboxSprite->data[5]].callback(&gSprites[healthboxSprite->data[5]]);
if (GetBankIdentity(bank) == IDENTITY_PLAYER_MON2)
if (GetBankPosition(bank) == B_POSITION_PLAYER_RIGHT)
healthboxSprite->callback = sub_80769A8;
}

View File

@ -36,7 +36,7 @@ extern const u8 gText_EggNickname[];
extern u8 GetBankSide(u8 bank);
extern u8 GetBankByIdentity(u8 bank);
extern u8 GetBankIdentity(u8 bank);
extern u8 GetBankPosition(u8 bank);
u8 CountAliveMonsInBattle(u8 caseId)
{
@ -86,7 +86,7 @@ bool8 ShouldGetStatBadgeBoost(u16 badgeFlag, u8 bank)
u8 GetDefaultMoveTarget(u8 bank)
{
u8 status = GetBankIdentity(bank) & 1;
u8 status = GetBankPosition(bank) & 1;
status ^= 1;
if (!(gBattleTypeFlags & BATTLE_TYPE_DOUBLE))

View File

@ -42,7 +42,7 @@ extern u8 GetBankSpriteDefault_Y(u8 bank);
extern u8 sub_80A82E4(u8 bank);
extern void sub_806A068(u16 species, u8 bankIdentity);
extern void sub_806A12C(u16 backPicId, u8 bankIdentity);
extern u8 GetBankPosition(u8 bank, u8 caseId);
extern u8 GetBankCoord(u8 bank, u8 caseId);
// this file's functions
static void CB2_ReshowBattleScreenAfterMenu(void);
@ -164,13 +164,13 @@ static void CB2_ReshowBattleScreenAfterMenu(void)
LoadAndCreateEnemyShadowSprites();
opponentBank = GetBankByIdentity(IDENTITY_OPPONENT_MON1);
opponentBank = GetBankByIdentity(B_POSITION_OPPONENT_LEFT);
species = GetMonData(&gEnemyParty[gBattlePartyID[opponentBank]], MON_DATA_SPECIES);
SetBankEnemyShadowSpriteCallback(opponentBank, species);
if (IsDoubleBattle())
{
opponentBank = GetBankByIdentity(IDENTITY_OPPONENT_MON2);
opponentBank = GetBankByIdentity(B_POSITION_OPPONENT_RIGHT);
species = GetMonData(&gEnemyParty[gBattlePartyID[opponentBank]], MON_DATA_SPECIES);
SetBankEnemyShadowSpriteCallback(opponentBank, species);
}
@ -259,8 +259,8 @@ static void CreateBankSprite(u8 bank)
if (GetMonData(&gEnemyParty[gBattlePartyID[bank]], MON_DATA_HP) == 0)
return;
sub_806A068(GetMonData(&gEnemyParty[gBattlePartyID[bank]], MON_DATA_SPECIES), GetBankIdentity(bank));
gBankSpriteIds[bank] = CreateSprite(&gUnknown_0202499C, GetBankPosition(bank, 2), posY, sub_80A82E4(bank));
sub_806A068(GetMonData(&gEnemyParty[gBattlePartyID[bank]], MON_DATA_SPECIES), GetBankPosition(bank));
gBankSpriteIds[bank] = CreateSprite(&gUnknown_0202499C, GetBankCoord(bank, 2), posY, sub_80A82E4(bank));
gSprites[gBankSpriteIds[bank]].oam.paletteNum = bank;
gSprites[gBankSpriteIds[bank]].callback = SpriteCallbackDummy;
gSprites[gBankSpriteIds[bank]].data[0] = bank;
@ -272,7 +272,7 @@ static void CreateBankSprite(u8 bank)
}
else if (gBattleTypeFlags & BATTLE_TYPE_SAFARI && bank == 0)
{
sub_806A12C(gSaveBlock2Ptr->playerGender, GetBankIdentity(IDENTITY_PLAYER_MON1));
sub_806A12C(gSaveBlock2Ptr->playerGender, GetBankPosition(B_POSITION_PLAYER_LEFT));
gBankSpriteIds[bank] = CreateSprite(&gUnknown_0202499C, 0x50,
(8 - gTrainerBackPicCoords[gSaveBlock2Ptr->playerGender].coords) * 4 + 80,
sub_80A82E4(0));
@ -282,7 +282,7 @@ static void CreateBankSprite(u8 bank)
}
else if (gBattleTypeFlags & BATTLE_TYPE_WALLY_TUTORIAL && bank == 0)
{
sub_806A12C(BACK_PIC_WALLY, GetBankIdentity(0));
sub_806A12C(BACK_PIC_WALLY, GetBankPosition(0));
gBankSpriteIds[bank] = CreateSprite(&gUnknown_0202499C, 0x50,
(8 - gTrainerBackPicCoords[BACK_PIC_WALLY].coords) * 4 + 80,
sub_80A82E4(0));
@ -295,8 +295,8 @@ static void CreateBankSprite(u8 bank)
if (GetMonData(&gPlayerParty[gBattlePartyID[bank]], MON_DATA_HP) == 0)
return;
sub_806A068(GetMonData(&gPlayerParty[gBattlePartyID[bank]], MON_DATA_SPECIES), GetBankIdentity(bank));
gBankSpriteIds[bank] = CreateSprite(&gUnknown_0202499C, GetBankPosition(bank, 2), posY, sub_80A82E4(bank));
sub_806A068(GetMonData(&gPlayerParty[gBattlePartyID[bank]], MON_DATA_SPECIES), GetBankPosition(bank));
gBankSpriteIds[bank] = CreateSprite(&gUnknown_0202499C, GetBankCoord(bank, 2), posY, sub_80A82E4(bank));
gSprites[gBankSpriteIds[bank]].oam.paletteNum = bank;
gSprites[gBankSpriteIds[bank]].callback = SpriteCallbackDummy;
gSprites[gBankSpriteIds[bank]].data[0] = bank;
@ -335,7 +335,7 @@ static void CreateHealthboxSprite(u8 bank)
else
UpdateHealthboxAttribute(gHealthBoxesIds[bank], &gPlayerParty[gBattlePartyID[bank]], HEALTHBOX_ALL);
if (GetBankIdentity(bank) == IDENTITY_OPPONENT_MON2 || GetBankIdentity(bank) == IDENTITY_PLAYER_MON2)
if (GetBankPosition(bank) == B_POSITION_OPPONENT_RIGHT || GetBankPosition(bank) == B_POSITION_PLAYER_RIGHT)
DummyBattleInterfaceFunc(gHealthBoxesIds[bank], TRUE);
else
DummyBattleInterfaceFunc(gHealthBoxesIds[bank], FALSE);

View File

@ -282,7 +282,7 @@ gNoOfAllBanks: @ 202406C
gBattlePartyID: @ 202406E
.space 0x8
gBanksByIdentity: @ 2024076
gBankPositions: @ 2024076
.space 0x4
gActionsByTurnOrder: @ 202407A