start working on battle controllers, especially player

This commit is contained in:
DizzyEggg 2017-10-21 17:32:35 +02:00
parent afd42c8e14
commit 3d1c16523e
30 changed files with 2812 additions and 5802 deletions

View File

@ -6,23 +6,6 @@
.text
thumb_func_start nullsub_28
nullsub_28: @ 8064390
bx lr
thumb_func_end nullsub_28
thumb_func_start SetBankFuncToLinkOpponentBufferRunCommand
SetBankFuncToLinkOpponentBufferRunCommand: @ 8064394
ldr r1, =gBattleBankFunc
ldr r0, =gActiveBank
ldrb r0, [r0]
lsls r0, 2
adds r0, r1
ldr r1, =LinkOpponentBufferRunCommand
str r1, [r0]
bx lr
.pool
thumb_func_end SetBankFuncToLinkOpponentBufferRunCommand
thumb_func_start LinkOpponentBufferRunCommand
LinkOpponentBufferRunCommand: @ 80643B0
@ -1525,8 +1508,8 @@ _080650CE:
.pool
thumb_func_end LinkOpponentBufferExecCompleted
thumb_func_start dp01t_00_2_getattr
dp01t_00_2_getattr: @ 80650E0
thumb_func_start LinkOpponentHandleGetMonData
LinkOpponentHandleGetMonData: @ 80650E0
push {r4-r6,lr}
sub sp, 0x100
movs r6, 0
@ -1578,7 +1561,7 @@ _0806513A:
pop {r4-r6}
pop {r0}
bx r0
thumb_func_end dp01t_00_2_getattr
thumb_func_end LinkOpponentHandleGetMonData
thumb_func_start dp01_getattr_by_ch1_for_opponent_pokemon
dp01_getattr_by_ch1_for_opponent_pokemon: @ 8065154
@ -2458,16 +2441,16 @@ _080658EA:
.pool
thumb_func_end dp01_getattr_by_ch1_for_opponent_pokemon
thumb_func_start sub_8065900
sub_8065900: @ 8065900
thumb_func_start LinkOpponentHandleGetRawMonData
LinkOpponentHandleGetRawMonData: @ 8065900
push {lr}
bl LinkOpponentBufferExecCompleted
pop {r0}
bx r0
thumb_func_end sub_8065900
thumb_func_end LinkOpponentHandleGetRawMonData
thumb_func_start sub_806590C
sub_806590C: @ 806590C
thumb_func_start LinkOpponentHandleSetMonData
LinkOpponentHandleSetMonData: @ 806590C
push {r4,r5,lr}
ldr r1, =gBattleBufferA
ldr r0, =gActiveBank
@ -2507,7 +2490,7 @@ _0806595A:
pop {r4,r5}
pop {r0}
bx r0
thumb_func_end sub_806590C
thumb_func_end LinkOpponentHandleSetMonData
thumb_func_start sub_8065964
sub_8065964: @ 8065964
@ -3494,8 +3477,8 @@ _08066270:
.pool
thumb_func_end sub_8065964
thumb_func_start sub_8066284
sub_8066284: @ 8066284
thumb_func_start LinkOpponentHandleSetRawMonData
LinkOpponentHandleSetRawMonData: @ 8066284
push {r4-r7,lr}
ldr r1, =gBattlePartyID
ldr r7, =gActiveBank
@ -3547,10 +3530,10 @@ _080662DC:
pop {r0}
bx r0
.pool
thumb_func_end sub_8066284
thumb_func_end LinkOpponentHandleSetRawMonData
thumb_func_start sub_80662F8
sub_80662F8: @ 80662F8
thumb_func_start LinkOpponentHandleLoadMonSprite
LinkOpponentHandleLoadMonSprite: @ 80662F8
push {r4-r7,lr}
mov r7, r10
mov r6, r9
@ -3688,10 +3671,10 @@ sub_80662F8: @ 80662F8
pop {r0}
bx r0
.pool
thumb_func_end sub_80662F8
thumb_func_end LinkOpponentHandleLoadMonSprite
thumb_func_start sub_8066448
sub_8066448: @ 8066448
thumb_func_start LinkOpponentHandleSwitchInAnim
LinkOpponentHandleSwitchInAnim: @ 8066448
push {r4,lr}
ldr r1, =gBattlePartyID
ldr r4, =gActiveBank
@ -3720,7 +3703,7 @@ sub_8066448: @ 8066448
pop {r0}
bx r0
.pool
thumb_func_end sub_8066448
thumb_func_end LinkOpponentHandleSwitchInAnim
thumb_func_start sub_8066494
sub_8066494: @ 8066494
@ -3895,8 +3878,8 @@ sub_8066494: @ 8066494
.pool
thumb_func_end sub_8066494
thumb_func_start sub_8066624
sub_8066624: @ 8066624
thumb_func_start LinkOpponentHandleReturnMonToBall
LinkOpponentHandleReturnMonToBall: @ 8066624
push {r4-r6,lr}
ldr r1, =gBattleBufferA
ldr r6, =gActiveBank
@ -3954,7 +3937,7 @@ _080666A8:
pop {r0}
bx r0
.pool
thumb_func_end sub_8066624
thumb_func_end LinkOpponentHandleReturnMonToBall
thumb_func_start sub_80666BC
sub_80666BC: @ 80666BC
@ -4026,8 +4009,8 @@ _0806673A:
.pool
thumb_func_end sub_80666BC
thumb_func_start sub_8066748
sub_8066748: @ 8066748
thumb_func_start LinkOpponentHandleDrawTrainerPic
LinkOpponentHandleDrawTrainerPic: @ 8066748
push {r4-r7,lr}
mov r7, r9
mov r6, r8
@ -4378,10 +4361,10 @@ _0806694C:
pop {r0}
bx r0
.pool
thumb_func_end sub_8066748
thumb_func_end LinkOpponentHandleDrawTrainerPic
thumb_func_start sub_8066A58
sub_8066A58: @ 8066A58
thumb_func_start LinkOpponentHandleTrainerSlide
LinkOpponentHandleTrainerSlide: @ 8066A58
push {r4-r6,lr}
mov r6, r8
push {r6}
@ -4510,10 +4493,10 @@ _08066A76:
pop {r0}
bx r0
.pool
thumb_func_end sub_8066A58
thumb_func_end LinkOpponentHandleTrainerSlide
thumb_func_start sub_8066B94
sub_8066B94: @ 8066B94
thumb_func_start LinkOpponentHandleTrainerSlideBack
LinkOpponentHandleTrainerSlideBack: @ 8066B94
push {r4-r6,lr}
ldr r6, =gBankSpriteIds
ldr r4, =gActiveBank
@ -4584,10 +4567,10 @@ sub_8066B94: @ 8066B94
pop {r0}
bx r0
.pool
thumb_func_end sub_8066B94
thumb_func_end LinkOpponentHandleTrainerSlideBack
thumb_func_start sub_8066C40
sub_8066C40: @ 8066C40
thumb_func_start LinkOpponentHandleFaintAnimation
LinkOpponentHandleFaintAnimation: @ 8066C40
push {r4-r6,lr}
ldr r6, =gBattleSpritesDataPtr
ldr r4, [r6]
@ -4661,42 +4644,42 @@ _08066CD0:
pop {r0}
bx r0
.pool
thumb_func_end sub_8066C40
thumb_func_end LinkOpponentHandleFaintAnimation
thumb_func_start sub_8066CEC
sub_8066CEC: @ 8066CEC
thumb_func_start LinkOpponentHandleCmd11
LinkOpponentHandleCmd11: @ 8066CEC
push {lr}
bl LinkOpponentBufferExecCompleted
pop {r0}
bx r0
thumb_func_end sub_8066CEC
thumb_func_end LinkOpponentHandleCmd11
thumb_func_start sub_8066CF8
sub_8066CF8: @ 8066CF8
thumb_func_start LinkOpponentHandleCmd12
LinkOpponentHandleCmd12: @ 8066CF8
push {lr}
bl LinkOpponentBufferExecCompleted
pop {r0}
bx r0
thumb_func_end sub_8066CF8
thumb_func_end LinkOpponentHandleCmd12
thumb_func_start sub_8066D04
sub_8066D04: @ 8066D04
thumb_func_start LinkOpponentHandleBallThrow
LinkOpponentHandleBallThrow: @ 8066D04
push {lr}
bl LinkOpponentBufferExecCompleted
pop {r0}
bx r0
thumb_func_end sub_8066D04
thumb_func_end LinkOpponentHandleBallThrow
thumb_func_start sub_8066D10
sub_8066D10: @ 8066D10
thumb_func_start LinkOpponentHandlePause
LinkOpponentHandlePause: @ 8066D10
push {lr}
bl LinkOpponentBufferExecCompleted
pop {r0}
bx r0
thumb_func_end sub_8066D10
thumb_func_end LinkOpponentHandlePause
thumb_func_start sub_8066D1C
sub_8066D1C: @ 8066D1C
thumb_func_start LinkOpponentHandleMoveAnimation
LinkOpponentHandleMoveAnimation: @ 8066D1C
push {r4-r7,lr}
mov r7, r8
push {r7}
@ -4842,7 +4825,7 @@ _08066E58:
pop {r0}
bx r0
.pool
thumb_func_end sub_8066D1C
thumb_func_end LinkOpponentHandleMoveAnimation
thumb_func_start sub_8066E70
sub_8066E70: @ 8066E70
@ -5028,8 +5011,8 @@ _08066FE4:
bx r0
thumb_func_end sub_8066E70
thumb_func_start sub_8066FF4
sub_8066FF4: @ 8066FF4
thumb_func_start LinkOpponentHandlePrintString
LinkOpponentHandlePrintString: @ 8066FF4
push {r4,r5,lr}
ldr r0, =gBattle_BG0_X
movs r1, 0
@ -5058,66 +5041,66 @@ sub_8066FF4: @ 8066FF4
pop {r0}
bx r0
.pool
thumb_func_end sub_8066FF4
thumb_func_end LinkOpponentHandlePrintString
thumb_func_start sub_806704C
sub_806704C: @ 806704C
thumb_func_start LinkOpponentHandlePrintStringPlayerOnly
LinkOpponentHandlePrintStringPlayerOnly: @ 806704C
push {lr}
bl LinkOpponentBufferExecCompleted
pop {r0}
bx r0
thumb_func_end sub_806704C
thumb_func_end LinkOpponentHandlePrintStringPlayerOnly
thumb_func_start sub_8067058
sub_8067058: @ 8067058
thumb_func_start LinkOpponentHandleChooseAction
LinkOpponentHandleChooseAction: @ 8067058
push {lr}
bl LinkOpponentBufferExecCompleted
pop {r0}
bx r0
thumb_func_end sub_8067058
thumb_func_end LinkOpponentHandleChooseAction
thumb_func_start sub_8067064
sub_8067064: @ 8067064
thumb_func_start LinkOpponentHandleCmd19
LinkOpponentHandleCmd19: @ 8067064
push {lr}
bl LinkOpponentBufferExecCompleted
pop {r0}
bx r0
thumb_func_end sub_8067064
thumb_func_end LinkOpponentHandleCmd19
thumb_func_start sub_8067070
sub_8067070: @ 8067070
thumb_func_start LinkOpponentHandleChooseMove
LinkOpponentHandleChooseMove: @ 8067070
push {lr}
bl LinkOpponentBufferExecCompleted
pop {r0}
bx r0
thumb_func_end sub_8067070
thumb_func_end LinkOpponentHandleChooseMove
thumb_func_start sub_806707C
sub_806707C: @ 806707C
thumb_func_start LinkOpponentHandleOpenBag
LinkOpponentHandleOpenBag: @ 806707C
push {lr}
bl LinkOpponentBufferExecCompleted
pop {r0}
bx r0
thumb_func_end sub_806707C
thumb_func_end LinkOpponentHandleOpenBag
thumb_func_start sub_8067088
sub_8067088: @ 8067088
thumb_func_start LinkOpponentHandleChoosePokemon
LinkOpponentHandleChoosePokemon: @ 8067088
push {lr}
bl LinkOpponentBufferExecCompleted
pop {r0}
bx r0
thumb_func_end sub_8067088
thumb_func_end LinkOpponentHandleChoosePokemon
thumb_func_start sub_8067094
sub_8067094: @ 8067094
thumb_func_start LinkOpponentHandleCmd23
LinkOpponentHandleCmd23: @ 8067094
push {lr}
bl LinkOpponentBufferExecCompleted
pop {r0}
bx r0
thumb_func_end sub_8067094
thumb_func_end LinkOpponentHandleCmd23
thumb_func_start sub_80670A0
sub_80670A0: @ 80670A0
thumb_func_start LinkOpponentHandleHealthBarUpdate
LinkOpponentHandleHealthBarUpdate: @ 80670A0
push {r4-r7,lr}
mov r7, r9
mov r6, r8
@ -5210,18 +5193,18 @@ _0806715A:
pop {r0}
bx r0
.pool
thumb_func_end sub_80670A0
thumb_func_end LinkOpponentHandleHealthBarUpdate
thumb_func_start sub_8067190
sub_8067190: @ 8067190
thumb_func_start LinkOpponentHandleExpUpdate
LinkOpponentHandleExpUpdate: @ 8067190
push {lr}
bl LinkOpponentBufferExecCompleted
pop {r0}
bx r0
thumb_func_end sub_8067190
thumb_func_end LinkOpponentHandleExpUpdate
thumb_func_start sub_806719C
sub_806719C: @ 806719C
thumb_func_start LinkOpponentHandleStatusIconUpdate
LinkOpponentHandleStatusIconUpdate: @ 806719C
push {r4,lr}
ldr r4, =gActiveBank
ldrb r0, [r4]
@ -5267,10 +5250,10 @@ _080671F0:
pop {r0}
bx r0
.pool
thumb_func_end sub_806719C
thumb_func_end LinkOpponentHandleStatusIconUpdate
thumb_func_start sub_8067214
sub_8067214: @ 8067214
thumb_func_start LinkOpponentHandleStatusAnimation
LinkOpponentHandleStatusAnimation: @ 8067214
push {r4,r5,lr}
ldr r5, =gActiveBank
ldrb r0, [r5]
@ -5314,82 +5297,82 @@ _08067264:
pop {r0}
bx r0
.pool
thumb_func_end sub_8067214
thumb_func_end LinkOpponentHandleStatusAnimation
thumb_func_start sub_806727C
sub_806727C: @ 806727C
thumb_func_start LinkOpponentHandleStatusXor
LinkOpponentHandleStatusXor: @ 806727C
push {lr}
bl LinkOpponentBufferExecCompleted
pop {r0}
bx r0
thumb_func_end sub_806727C
thumb_func_end LinkOpponentHandleStatusXor
thumb_func_start sub_8067288
sub_8067288: @ 8067288
thumb_func_start LinkOpponentHandleDataTransfer
LinkOpponentHandleDataTransfer: @ 8067288
push {lr}
bl LinkOpponentBufferExecCompleted
pop {r0}
bx r0
thumb_func_end sub_8067288
thumb_func_end LinkOpponentHandleDataTransfer
thumb_func_start sub_8067294
sub_8067294: @ 8067294
thumb_func_start LinkOpponentHandleDMA3Transfer
LinkOpponentHandleDMA3Transfer: @ 8067294
push {lr}
bl LinkOpponentBufferExecCompleted
pop {r0}
bx r0
thumb_func_end sub_8067294
thumb_func_end LinkOpponentHandleDMA3Transfer
thumb_func_start sub_80672A0
sub_80672A0: @ 80672A0
thumb_func_start LinkOpponentHandlePlayBGM
LinkOpponentHandlePlayBGM: @ 80672A0
push {lr}
bl LinkOpponentBufferExecCompleted
pop {r0}
bx r0
thumb_func_end sub_80672A0
thumb_func_end LinkOpponentHandlePlayBGM
thumb_func_start sub_80672AC
sub_80672AC: @ 80672AC
thumb_func_start LinkOpponentHandleCmd32
LinkOpponentHandleCmd32: @ 80672AC
push {lr}
bl LinkOpponentBufferExecCompleted
pop {r0}
bx r0
thumb_func_end sub_80672AC
thumb_func_end LinkOpponentHandleCmd32
thumb_func_start sub_80672B8
sub_80672B8: @ 80672B8
thumb_func_start LinkOpponentHandleCmd33
LinkOpponentHandleCmd33: @ 80672B8
push {lr}
bl LinkOpponentBufferExecCompleted
pop {r0}
bx r0
thumb_func_end sub_80672B8
thumb_func_end LinkOpponentHandleCmd33
thumb_func_start sub_80672C4
sub_80672C4: @ 80672C4
thumb_func_start LinkOpponentHandleCmd34
LinkOpponentHandleCmd34: @ 80672C4
push {lr}
bl LinkOpponentBufferExecCompleted
pop {r0}
bx r0
thumb_func_end sub_80672C4
thumb_func_end LinkOpponentHandleCmd34
thumb_func_start sub_80672D0
sub_80672D0: @ 80672D0
thumb_func_start LinkOpponentHandleCmd35
LinkOpponentHandleCmd35: @ 80672D0
push {lr}
bl LinkOpponentBufferExecCompleted
pop {r0}
bx r0
thumb_func_end sub_80672D0
thumb_func_end LinkOpponentHandleCmd35
thumb_func_start sub_80672DC
sub_80672DC: @ 80672DC
thumb_func_start LinkOpponentHandleCmd36
LinkOpponentHandleCmd36: @ 80672DC
push {lr}
bl LinkOpponentBufferExecCompleted
pop {r0}
bx r0
thumb_func_end sub_80672DC
thumb_func_end LinkOpponentHandleCmd36
thumb_func_start sub_80672E8
sub_80672E8: @ 80672E8
thumb_func_start LinkOpponentHandleCmd37
LinkOpponentHandleCmd37: @ 80672E8
push {lr}
ldr r2, =gUnknown_02022D0C
ldrb r1, [r2]
@ -5401,10 +5384,10 @@ sub_80672E8: @ 80672E8
pop {r0}
bx r0
.pool
thumb_func_end sub_80672E8
thumb_func_end LinkOpponentHandleCmd37
thumb_func_start sub_8067304
sub_8067304: @ 8067304
thumb_func_start LinkOpponentHandleCmd38
LinkOpponentHandleCmd38: @ 8067304
push {lr}
ldr r3, =gUnknown_02022D0C
ldr r1, =gBattleBufferA
@ -5426,10 +5409,10 @@ sub_8067304: @ 8067304
pop {r0}
bx r0
.pool
thumb_func_end sub_8067304
thumb_func_end LinkOpponentHandleCmd38
thumb_func_start sub_806733C
sub_806733C: @ 806733C
thumb_func_start LinkOpponentHandleCmd39
LinkOpponentHandleCmd39: @ 806733C
push {lr}
ldr r2, =gUnknown_02022D0C
ldrb r1, [r2]
@ -5440,10 +5423,10 @@ sub_806733C: @ 806733C
pop {r0}
bx r0
.pool
thumb_func_end sub_806733C
thumb_func_end LinkOpponentHandleCmd39
thumb_func_start sub_8067354
sub_8067354: @ 8067354
thumb_func_start LinkOpponentHandleCmd40
LinkOpponentHandleCmd40: @ 8067354
push {lr}
ldr r3, =gUnknown_02022D0C
ldr r1, [r3]
@ -5461,10 +5444,10 @@ sub_8067354: @ 8067354
pop {r0}
bx r0
.pool
thumb_func_end sub_8067354
thumb_func_end LinkOpponentHandleCmd40
thumb_func_start sub_806737C
sub_806737C: @ 806737C
thumb_func_start LinkOpponentHandleHitAnimation
LinkOpponentHandleHitAnimation: @ 806737C
push {r4,lr}
ldr r3, =gSprites
ldr r2, =gBankSpriteIds
@ -5510,18 +5493,18 @@ _080673DA:
pop {r0}
bx r0
.pool
thumb_func_end sub_806737C
thumb_func_end LinkOpponentHandleHitAnimation
thumb_func_start sub_80673EC
sub_80673EC: @ 80673EC
thumb_func_start LinkOpponentHandleCmd42
LinkOpponentHandleCmd42: @ 80673EC
push {lr}
bl LinkOpponentBufferExecCompleted
pop {r0}
bx r0
thumb_func_end sub_80673EC
thumb_func_end LinkOpponentHandleCmd42
thumb_func_start sub_80673F8
sub_80673F8: @ 80673F8
thumb_func_start LinkOpponentHandleEffectivenessSound
LinkOpponentHandleEffectivenessSound: @ 80673F8
push {r4,lr}
ldr r4, =gActiveBank
ldrb r0, [r4]
@ -5551,10 +5534,10 @@ _0806740C:
pop {r0}
bx r0
.pool
thumb_func_end sub_80673F8
thumb_func_end LinkOpponentHandleEffectivenessSound
thumb_func_start sub_806743C
sub_806743C: @ 806743C
thumb_func_start LinkOpponentHandlePlayFanfareOrBGM
LinkOpponentHandlePlayFanfareOrBGM: @ 806743C
push {r4,r5,lr}
ldr r4, =gBattleBufferA
ldr r5, =gActiveBank
@ -5594,10 +5577,10 @@ _0806748C:
pop {r4,r5}
pop {r0}
bx r0
thumb_func_end sub_806743C
thumb_func_end LinkOpponentHandlePlayFanfareOrBGM
thumb_func_start sub_8067498
sub_8067498: @ 8067498
thumb_func_start LinkOpponentHandleFaintingCry
LinkOpponentHandleFaintingCry: @ 8067498
push {lr}
ldr r1, =gBattlePartyID
ldr r0, =gActiveBank
@ -5620,10 +5603,10 @@ sub_8067498: @ 8067498
pop {r0}
bx r0
.pool
thumb_func_end sub_8067498
thumb_func_end LinkOpponentHandleFaintingCry
thumb_func_start sub_80674D4
sub_80674D4: @ 80674D4
thumb_func_start LinkOpponentHandleIntroSlide
LinkOpponentHandleIntroSlide: @ 80674D4
push {lr}
ldr r1, =gBattleBufferA
ldr r0, =gActiveBank
@ -5642,10 +5625,10 @@ sub_80674D4: @ 80674D4
pop {r0}
bx r0
.pool
thumb_func_end sub_80674D4
thumb_func_end LinkOpponentHandleIntroSlide
thumb_func_start sub_8067508
sub_8067508: @ 8067508
thumb_func_start LinkOpponentHandleIntroTrainerBallThrow
LinkOpponentHandleIntroTrainerBallThrow: @ 8067508
push {r4-r6,lr}
ldr r5, =gBankSpriteIds
ldr r6, =gActiveBank
@ -5757,7 +5740,7 @@ _080675CA:
pop {r0}
bx r0
.pool
thumb_func_end sub_8067508
thumb_func_end LinkOpponentHandleIntroTrainerBallThrow
thumb_func_start c3_08038DC4
c3_08038DC4: @ 8067618
@ -5872,8 +5855,8 @@ sub_80676FC: @ 80676FC
bx r0
thumb_func_end sub_80676FC
thumb_func_start sub_8067718
sub_8067718: @ 8067718
thumb_func_start LinkOpponentHandleDrawPartyStatusSummary
LinkOpponentHandleDrawPartyStatusSummary: @ 8067718
push {r4-r7,lr}
ldr r1, =gBattleBufferA
ldr r0, =gActiveBank
@ -5995,7 +5978,7 @@ _08067812:
pop {r0}
bx r0
.pool
thumb_func_end sub_8067718
thumb_func_end LinkOpponentHandleDrawPartyStatusSummary
thumb_func_start sub_806782C
sub_806782C: @ 806782C
@ -6033,8 +6016,8 @@ _08067864:
.pool
thumb_func_end sub_806782C
thumb_func_start sub_8067874
sub_8067874: @ 8067874
thumb_func_start LinkOpponentHandleCmd49
LinkOpponentHandleCmd49: @ 8067874
push {lr}
ldr r0, =gBattleSpritesDataPtr
ldr r1, [r0]
@ -6065,18 +6048,18 @@ _080678A6:
pop {r0}
bx r0
.pool
thumb_func_end sub_8067874
thumb_func_end LinkOpponentHandleCmd49
thumb_func_start sub_80678C4
sub_80678C4: @ 80678C4
thumb_func_start LinkOpponentHandleCmd50
LinkOpponentHandleCmd50: @ 80678C4
push {lr}
bl LinkOpponentBufferExecCompleted
pop {r0}
bx r0
thumb_func_end sub_80678C4
thumb_func_end LinkOpponentHandleCmd50
thumb_func_start sub_80678D0
sub_80678D0: @ 80678D0
thumb_func_start LinkOpponentHandleSpriteInvisibility
LinkOpponentHandleSpriteInvisibility: @ 80678D0
push {r4,lr}
ldr r4, =gActiveBank
ldrb r0, [r4]
@ -6116,10 +6099,10 @@ _08067916:
pop {r0}
bx r0
.pool
thumb_func_end sub_80678D0
thumb_func_end LinkOpponentHandleSpriteInvisibility
thumb_func_start sub_8067930
sub_8067930: @ 8067930
thumb_func_start LinkOpponentHandleBattleAnimation
LinkOpponentHandleBattleAnimation: @ 8067930
push {r4-r6,lr}
sub sp, 0x4
ldr r5, =gActiveBank
@ -6169,10 +6152,10 @@ _08067992:
pop {r0}
bx r0
.pool
thumb_func_end sub_8067930
thumb_func_end LinkOpponentHandleBattleAnimation
thumb_func_start sub_80679A4
sub_80679A4: @ 80679A4
thumb_func_start LinkOpponentHandleLinkStandbyMsg
LinkOpponentHandleLinkStandbyMsg: @ 80679A4
push {lr}
ldr r0, =gActiveBank
ldrb r0, [r0]
@ -6184,18 +6167,18 @@ sub_80679A4: @ 80679A4
pop {r0}
bx r0
.pool
thumb_func_end sub_80679A4
thumb_func_end LinkOpponentHandleLinkStandbyMsg
thumb_func_start sub_80679C4
sub_80679C4: @ 80679C4
thumb_func_start LinkOpponentHandleResetActionMoveSelection
LinkOpponentHandleResetActionMoveSelection: @ 80679C4
push {lr}
bl LinkOpponentBufferExecCompleted
pop {r0}
bx r0
thumb_func_end sub_80679C4
thumb_func_end LinkOpponentHandleResetActionMoveSelection
thumb_func_start sub_80679D0
sub_80679D0: @ 80679D0
thumb_func_start LinkOpponentHandleCmd55
LinkOpponentHandleCmd55: @ 80679D0
push {r4,r5,lr}
ldr r5, =gActiveBank
ldrb r0, [r5]
@ -6255,7 +6238,7 @@ _08067A08:
pop {r0}
bx r0
.pool
thumb_func_end sub_80679D0
thumb_func_end LinkOpponentHandleCmd55
thumb_func_start nullsub_92
nullsub_92: @ 8067A70

View File

@ -6,24 +6,6 @@
.text
thumb_func_start nullsub_26
nullsub_26: @ 805F160
bx lr
thumb_func_end nullsub_26
thumb_func_start SetBankFuncToOpponentBufferRunCommand
SetBankFuncToOpponentBufferRunCommand: @ 805F164
ldr r1, =gBattleBankFunc
ldr r0, =gActiveBank
ldrb r0, [r0]
lsls r0, 2
adds r0, r1
ldr r1, =OpponentBufferRunCommand
str r1, [r0]
bx lr
.pool
thumb_func_end SetBankFuncToOpponentBufferRunCommand
thumb_func_start OpponentBufferRunCommand
OpponentBufferRunCommand: @ 805F180
push {lr}
@ -1619,8 +1601,8 @@ _0805FF7E:
.pool
thumb_func_end OpponentBufferExecCompleted
thumb_func_start dp01t_00_7_getattr
dp01t_00_7_getattr: @ 805FF90
thumb_func_start OpponentHandleGetMonData
OpponentHandleGetMonData: @ 805FF90
push {r4-r6,lr}
sub sp, 0x100
movs r6, 0
@ -1672,7 +1654,7 @@ _0805FFEA:
pop {r4-r6}
pop {r0}
bx r0
thumb_func_end dp01t_00_7_getattr
thumb_func_end OpponentHandleGetMonData
thumb_func_start sub_8060004
sub_8060004: @ 8060004
@ -2552,8 +2534,8 @@ _0806079A:
.pool
thumb_func_end sub_8060004
thumb_func_start dp01t_01_2_read_pokmon_data_slice
dp01t_01_2_read_pokmon_data_slice: @ 80607B0
thumb_func_start OpponentHandleGetRawMonData
OpponentHandleGetRawMonData: @ 80607B0
push {r4-r7,lr}
sub sp, 0x58
ldr r2, =gBattlePartyID
@ -2614,10 +2596,10 @@ _08060806:
pop {r0}
bx r0
.pool
thumb_func_end dp01t_01_2_read_pokmon_data_slice
thumb_func_end OpponentHandleGetRawMonData
thumb_func_start dp01t_02_7_setattr
dp01t_02_7_setattr: @ 8060838
thumb_func_start OpponentHandleSetMonData
OpponentHandleSetMonData: @ 8060838
push {r4,r5,lr}
ldr r1, =gBattleBufferA
ldr r0, =gActiveBank
@ -2657,7 +2639,7 @@ _08060886:
pop {r4,r5}
pop {r0}
bx r0
thumb_func_end dp01t_02_7_setattr
thumb_func_end OpponentHandleSetMonData
thumb_func_start sub_8060890
sub_8060890: @ 8060890
@ -3644,8 +3626,8 @@ _0806119C:
.pool
thumb_func_end sub_8060890
thumb_func_start sub_80611B0
sub_80611B0: @ 80611B0
thumb_func_start OpponentHandleSetRawMonData
OpponentHandleSetRawMonData: @ 80611B0
push {r4-r7,lr}
ldr r1, =gBattlePartyID
ldr r7, =gActiveBank
@ -3697,10 +3679,10 @@ _08061208:
pop {r0}
bx r0
.pool
thumb_func_end sub_80611B0
thumb_func_end OpponentHandleSetRawMonData
thumb_func_start sub_8061224
sub_8061224: @ 8061224
thumb_func_start OpponentHandleLoadMonSprite
OpponentHandleLoadMonSprite: @ 8061224
push {r4-r7,lr}
mov r7, r10
mov r6, r9
@ -3843,10 +3825,10 @@ sub_8061224: @ 8061224
pop {r0}
bx r0
.pool
thumb_func_end sub_8061224
thumb_func_end OpponentHandleLoadMonSprite
thumb_func_start sub_806137C
sub_806137C: @ 806137C
thumb_func_start OpponentHandleSwitchInAnim
OpponentHandleSwitchInAnim: @ 806137C
push {r4,lr}
ldr r4, =gActiveBank
ldrb r0, [r4]
@ -3882,7 +3864,7 @@ sub_806137C: @ 806137C
pop {r0}
bx r0
.pool
thumb_func_end sub_806137C
thumb_func_end OpponentHandleSwitchInAnim
thumb_func_start sub_80613DC
sub_80613DC: @ 80613DC
@ -4057,8 +4039,8 @@ sub_80613DC: @ 80613DC
.pool
thumb_func_end sub_80613DC
thumb_func_start sub_806156C
sub_806156C: @ 806156C
thumb_func_start OpponentHandleReturnMonToBall
OpponentHandleReturnMonToBall: @ 806156C
push {r4-r6,lr}
ldr r1, =gBattleBufferA
ldr r6, =gActiveBank
@ -4116,7 +4098,7 @@ _080615F0:
pop {r0}
bx r0
.pool
thumb_func_end sub_806156C
thumb_func_end OpponentHandleReturnMonToBall
thumb_func_start sub_8061604
sub_8061604: @ 8061604
@ -4188,8 +4170,8 @@ _08061682:
.pool
thumb_func_end sub_8061604
thumb_func_start sub_8061690
sub_8061690: @ 8061690
thumb_func_start OpponentHandleDrawTrainerPic
OpponentHandleDrawTrainerPic: @ 8061690
push {r4-r7,lr}
mov r7, r9
mov r6, r8
@ -4434,10 +4416,10 @@ _080617CA:
pop {r0}
bx r0
.pool
thumb_func_end sub_8061690
thumb_func_end OpponentHandleDrawTrainerPic
thumb_func_start sub_80618D8
sub_80618D8: @ 80618D8
thumb_func_start OpponentHandleTrainerSlide
OpponentHandleTrainerSlide: @ 80618D8
push {r4-r6,lr}
mov r6, r8
push {r6}
@ -4662,10 +4644,10 @@ _080619DE:
pop {r0}
bx r0
.pool
thumb_func_end sub_80618D8
thumb_func_end OpponentHandleTrainerSlide
thumb_func_start sub_8061AF0
sub_8061AF0: @ 8061AF0
thumb_func_start OpponentHandleTrainerSlideBack
OpponentHandleTrainerSlideBack: @ 8061AF0
push {r4-r6,lr}
ldr r6, =gBankSpriteIds
ldr r4, =gActiveBank
@ -4736,10 +4718,10 @@ sub_8061AF0: @ 8061AF0
pop {r0}
bx r0
.pool
thumb_func_end sub_8061AF0
thumb_func_end OpponentHandleTrainerSlideBack
thumb_func_start sub_8061B9C
sub_8061B9C: @ 8061B9C
thumb_func_start OpponentHandleFaintAnimation
OpponentHandleFaintAnimation: @ 8061B9C
push {r4-r6,lr}
ldr r6, =gBattleSpritesDataPtr
ldr r4, [r6]
@ -4813,42 +4795,42 @@ _08061C2C:
pop {r0}
bx r0
.pool
thumb_func_end sub_8061B9C
thumb_func_end OpponentHandleFaintAnimation
thumb_func_start sub_8061C48
sub_8061C48: @ 8061C48
thumb_func_start OpponentHandleCmd11
OpponentHandleCmd11: @ 8061C48
push {lr}
bl OpponentBufferExecCompleted
pop {r0}
bx r0
thumb_func_end sub_8061C48
thumb_func_end OpponentHandleCmd11
thumb_func_start sub_8061C54
sub_8061C54: @ 8061C54
thumb_func_start OpponentHandleCmd12
OpponentHandleCmd12: @ 8061C54
push {lr}
bl OpponentBufferExecCompleted
pop {r0}
bx r0
thumb_func_end sub_8061C54
thumb_func_end OpponentHandleCmd12
thumb_func_start sub_8061C60
sub_8061C60: @ 8061C60
thumb_func_start OpponentHandleBallThrow
OpponentHandleBallThrow: @ 8061C60
push {lr}
bl OpponentBufferExecCompleted
pop {r0}
bx r0
thumb_func_end sub_8061C60
thumb_func_end OpponentHandleBallThrow
thumb_func_start sub_8061C6C
sub_8061C6C: @ 8061C6C
thumb_func_start OpponentHandlePause
OpponentHandlePause: @ 8061C6C
push {lr}
bl OpponentBufferExecCompleted
pop {r0}
bx r0
thumb_func_end sub_8061C6C
thumb_func_end OpponentHandlePause
thumb_func_start sub_8061C78
sub_8061C78: @ 8061C78
thumb_func_start OpponentHandleMoveAnimation
OpponentHandleMoveAnimation: @ 8061C78
push {r4-r6,lr}
ldr r6, =gActiveBank
ldrb r0, [r6]
@ -4982,7 +4964,7 @@ _08061D9E:
pop {r0}
bx r0
.pool
thumb_func_end sub_8061C78
thumb_func_end OpponentHandleMoveAnimation
thumb_func_start bx_move_anim_7
bx_move_anim_7: @ 8061DB0
@ -5168,8 +5150,8 @@ _08061F24:
bx r0
thumb_func_end bx_move_anim_7
thumb_func_start sub_8061F34
sub_8061F34: @ 8061F34
thumb_func_start OpponentHandlePrintString
OpponentHandlePrintString: @ 8061F34
push {r4,r5,lr}
ldr r0, =gBattle_BG0_X
movs r1, 0
@ -5199,35 +5181,35 @@ sub_8061F34: @ 8061F34
pop {r0}
bx r0
.pool
thumb_func_end sub_8061F34
thumb_func_end OpponentHandlePrintString
thumb_func_start sub_8061F90
sub_8061F90: @ 8061F90
thumb_func_start OpponentHandlePrintStringPlayerOnly
OpponentHandlePrintStringPlayerOnly: @ 8061F90
push {lr}
bl OpponentBufferExecCompleted
pop {r0}
bx r0
thumb_func_end sub_8061F90
thumb_func_end OpponentHandlePrintStringPlayerOnly
thumb_func_start sub_8061F9C
sub_8061F9C: @ 8061F9C
thumb_func_start OpponentHandleChooseAction
OpponentHandleChooseAction: @ 8061F9C
push {lr}
bl AI_TrySwitchOrUseItem
bl OpponentBufferExecCompleted
pop {r0}
bx r0
thumb_func_end sub_8061F9C
thumb_func_end OpponentHandleChooseAction
thumb_func_start sub_8061FAC
sub_8061FAC: @ 8061FAC
thumb_func_start OpponentHandleCmd19
OpponentHandleCmd19: @ 8061FAC
push {lr}
bl OpponentBufferExecCompleted
pop {r0}
bx r0
thumb_func_end sub_8061FAC
thumb_func_end OpponentHandleCmd19
thumb_func_start sub_8061FB8
sub_8061FB8: @ 8061FB8
thumb_func_start OpponentHandleChooseMove
OpponentHandleChooseMove: @ 8061FB8
push {r4-r6,lr}
ldr r0, =gBattleTypeFlags
ldr r2, [r0]
@ -5420,10 +5402,10 @@ _08062156:
pop {r4-r6}
pop {r0}
bx r0
thumb_func_end sub_8061FB8
thumb_func_end OpponentHandleChooseMove
thumb_func_start sub_806215C
sub_806215C: @ 806215C
thumb_func_start OpponentHandleOpenBag
OpponentHandleOpenBag: @ 806215C
push {lr}
ldr r0, =gActiveBank
ldrb r0, [r0]
@ -5440,10 +5422,10 @@ sub_806215C: @ 806215C
pop {r0}
bx r0
.pool
thumb_func_end sub_806215C
thumb_func_end OpponentHandleOpenBag
thumb_func_start sub_8062188
sub_8062188: @ 8062188
thumb_func_start OpponentHandleChoosePokemon
OpponentHandleChoosePokemon: @ 8062188
push {r4-r7,lr}
ldr r0, =gActiveBank
ldrb r0, [r0]
@ -5556,18 +5538,18 @@ _0806225A:
pop {r0}
bx r0
.pool
thumb_func_end sub_8062188
thumb_func_end OpponentHandleChoosePokemon
thumb_func_start sub_8062288
sub_8062288: @ 8062288
thumb_func_start OpponentHandleCmd23
OpponentHandleCmd23: @ 8062288
push {lr}
bl OpponentBufferExecCompleted
pop {r0}
bx r0
thumb_func_end sub_8062288
thumb_func_end OpponentHandleCmd23
thumb_func_start sub_8062294
sub_8062294: @ 8062294
thumb_func_start OpponentHandleHealthBarUpdate
OpponentHandleHealthBarUpdate: @ 8062294
push {r4-r7,lr}
mov r7, r9
mov r6, r8
@ -5660,18 +5642,18 @@ _0806234E:
pop {r0}
bx r0
.pool
thumb_func_end sub_8062294
thumb_func_end OpponentHandleHealthBarUpdate
thumb_func_start sub_8062384
sub_8062384: @ 8062384
thumb_func_start OpponentHandleExpUpdate
OpponentHandleExpUpdate: @ 8062384
push {lr}
bl OpponentBufferExecCompleted
pop {r0}
bx r0
thumb_func_end sub_8062384
thumb_func_end OpponentHandleExpUpdate
thumb_func_start sub_8062390
sub_8062390: @ 8062390
thumb_func_start OpponentHandleStatusIconUpdate
OpponentHandleStatusIconUpdate: @ 8062390
push {r4,lr}
ldr r4, =gActiveBank
ldrb r0, [r4]
@ -5717,10 +5699,10 @@ _080623E4:
pop {r0}
bx r0
.pool
thumb_func_end sub_8062390
thumb_func_end OpponentHandleStatusIconUpdate
thumb_func_start sub_8062408
sub_8062408: @ 8062408
thumb_func_start OpponentHandleStatusAnimation
OpponentHandleStatusAnimation: @ 8062408
push {r4,r5,lr}
ldr r5, =gActiveBank
ldrb r0, [r5]
@ -5764,82 +5746,82 @@ _08062458:
pop {r0}
bx r0
.pool
thumb_func_end sub_8062408
thumb_func_end OpponentHandleStatusAnimation
thumb_func_start sub_8062470
sub_8062470: @ 8062470
thumb_func_start OpponentHandleStatusXor
OpponentHandleStatusXor: @ 8062470
push {lr}
bl OpponentBufferExecCompleted
pop {r0}
bx r0
thumb_func_end sub_8062470
thumb_func_end OpponentHandleStatusXor
thumb_func_start sub_806247C
sub_806247C: @ 806247C
thumb_func_start OpponentHandleDataTransfer
OpponentHandleDataTransfer: @ 806247C
push {lr}
bl OpponentBufferExecCompleted
pop {r0}
bx r0
thumb_func_end sub_806247C
thumb_func_end OpponentHandleDataTransfer
thumb_func_start sub_8062488
sub_8062488: @ 8062488
thumb_func_start OpponentHandleDMA3Transfer
OpponentHandleDMA3Transfer: @ 8062488
push {lr}
bl OpponentBufferExecCompleted
pop {r0}
bx r0
thumb_func_end sub_8062488
thumb_func_end OpponentHandleDMA3Transfer
thumb_func_start sub_8062494
sub_8062494: @ 8062494
thumb_func_start OpponentHandlePlayBGM
OpponentHandlePlayBGM: @ 8062494
push {lr}
bl OpponentBufferExecCompleted
pop {r0}
bx r0
thumb_func_end sub_8062494
thumb_func_end OpponentHandlePlayBGM
thumb_func_start sub_80624A0
sub_80624A0: @ 80624A0
thumb_func_start OpponentHandleCmd32
OpponentHandleCmd32: @ 80624A0
push {lr}
bl OpponentBufferExecCompleted
pop {r0}
bx r0
thumb_func_end sub_80624A0
thumb_func_end OpponentHandleCmd32
thumb_func_start sub_80624AC
sub_80624AC: @ 80624AC
thumb_func_start OpponentHandleCmd33
OpponentHandleCmd33: @ 80624AC
push {lr}
bl OpponentBufferExecCompleted
pop {r0}
bx r0
thumb_func_end sub_80624AC
thumb_func_end OpponentHandleCmd33
thumb_func_start sub_80624B8
sub_80624B8: @ 80624B8
thumb_func_start OpponentHandleCmd34
OpponentHandleCmd34: @ 80624B8
push {lr}
bl OpponentBufferExecCompleted
pop {r0}
bx r0
thumb_func_end sub_80624B8
thumb_func_end OpponentHandleCmd34
thumb_func_start sub_80624C4
sub_80624C4: @ 80624C4
thumb_func_start OpponentHandleCmd35
OpponentHandleCmd35: @ 80624C4
push {lr}
bl OpponentBufferExecCompleted
pop {r0}
bx r0
thumb_func_end sub_80624C4
thumb_func_end OpponentHandleCmd35
thumb_func_start sub_80624D0
sub_80624D0: @ 80624D0
thumb_func_start OpponentHandleCmd36
OpponentHandleCmd36: @ 80624D0
push {lr}
bl OpponentBufferExecCompleted
pop {r0}
bx r0
thumb_func_end sub_80624D0
thumb_func_end OpponentHandleCmd36
thumb_func_start sub_80624DC
sub_80624DC: @ 80624DC
thumb_func_start OpponentHandleCmd37
OpponentHandleCmd37: @ 80624DC
push {lr}
ldr r2, =gUnknown_02022D0C
ldrb r1, [r2]
@ -5851,10 +5833,10 @@ sub_80624DC: @ 80624DC
pop {r0}
bx r0
.pool
thumb_func_end sub_80624DC
thumb_func_end OpponentHandleCmd37
thumb_func_start sub_80624F8
sub_80624F8: @ 80624F8
thumb_func_start OpponentHandleCmd38
OpponentHandleCmd38: @ 80624F8
push {lr}
ldr r3, =gUnknown_02022D0C
ldr r1, =gBattleBufferA
@ -5876,10 +5858,10 @@ sub_80624F8: @ 80624F8
pop {r0}
bx r0
.pool
thumb_func_end sub_80624F8
thumb_func_end OpponentHandleCmd38
thumb_func_start sub_8062530
sub_8062530: @ 8062530
thumb_func_start OpponentHandleCmd39
OpponentHandleCmd39: @ 8062530
push {lr}
ldr r2, =gUnknown_02022D0C
ldrb r1, [r2]
@ -5890,10 +5872,10 @@ sub_8062530: @ 8062530
pop {r0}
bx r0
.pool
thumb_func_end sub_8062530
thumb_func_end OpponentHandleCmd39
thumb_func_start sub_8062548
sub_8062548: @ 8062548
thumb_func_start OpponentHandleCmd40
OpponentHandleCmd40: @ 8062548
push {lr}
ldr r3, =gUnknown_02022D0C
ldr r1, [r3]
@ -5911,10 +5893,10 @@ sub_8062548: @ 8062548
pop {r0}
bx r0
.pool
thumb_func_end sub_8062548
thumb_func_end OpponentHandleCmd40
thumb_func_start dp01t_29_7_blink
dp01t_29_7_blink: @ 8062570
thumb_func_start OpponentHandleHitAnimation
OpponentHandleHitAnimation: @ 8062570
push {r4,lr}
ldr r3, =gSprites
ldr r2, =gBankSpriteIds
@ -5960,18 +5942,18 @@ _080625CE:
pop {r0}
bx r0
.pool
thumb_func_end dp01t_29_7_blink
thumb_func_end OpponentHandleHitAnimation
thumb_func_start sub_80625E0
sub_80625E0: @ 80625E0
thumb_func_start OpponentHandleCmd42
OpponentHandleCmd42: @ 80625E0
push {lr}
bl OpponentBufferExecCompleted
pop {r0}
bx r0
thumb_func_end sub_80625E0
thumb_func_end OpponentHandleCmd42
thumb_func_start sub_80625EC
sub_80625EC: @ 80625EC
thumb_func_start OpponentHandleEffectivenessSound
OpponentHandleEffectivenessSound: @ 80625EC
push {r4,lr}
ldr r4, =gActiveBank
ldrb r0, [r4]
@ -6001,10 +5983,10 @@ _08062600:
pop {r0}
bx r0
.pool
thumb_func_end sub_80625EC
thumb_func_end OpponentHandleEffectivenessSound
thumb_func_start sub_8062630
sub_8062630: @ 8062630
thumb_func_start OpponentHandlePlayFanfareOrBGM
OpponentHandlePlayFanfareOrBGM: @ 8062630
push {r4,r5,lr}
ldr r4, =gBattleBufferA
ldr r5, =gActiveBank
@ -6044,10 +6026,10 @@ _08062680:
pop {r4,r5}
pop {r0}
bx r0
thumb_func_end sub_8062630
thumb_func_end OpponentHandlePlayFanfareOrBGM
thumb_func_start sub_806268C
sub_806268C: @ 806268C
thumb_func_start OpponentHandleFaintingCry
OpponentHandleFaintingCry: @ 806268C
push {lr}
ldr r1, =gBattlePartyID
ldr r0, =gActiveBank
@ -6070,10 +6052,10 @@ sub_806268C: @ 806268C
pop {r0}
bx r0
.pool
thumb_func_end sub_806268C
thumb_func_end OpponentHandleFaintingCry
thumb_func_start dp01t_2E_7_battle_intro
dp01t_2E_7_battle_intro: @ 80626C8
thumb_func_start OpponentHandleIntroSlide
OpponentHandleIntroSlide: @ 80626C8
push {lr}
ldr r1, =gBattleBufferA
ldr r0, =gActiveBank
@ -6092,10 +6074,10 @@ dp01t_2E_7_battle_intro: @ 80626C8
pop {r0}
bx r0
.pool
thumb_func_end dp01t_2E_7_battle_intro
thumb_func_end OpponentHandleIntroSlide
thumb_func_start sub_80626FC
sub_80626FC: @ 80626FC
thumb_func_start OpponentHandleIntroTrainerBallThrow
OpponentHandleIntroTrainerBallThrow: @ 80626FC
push {r4-r6,lr}
ldr r5, =gBankSpriteIds
ldr r6, =gActiveBank
@ -6207,7 +6189,7 @@ _080627BE:
pop {r0}
bx r0
.pool
thumb_func_end sub_80626FC
thumb_func_end OpponentHandleIntroTrainerBallThrow
thumb_func_start sub_806280C
sub_806280C: @ 806280C
@ -6327,8 +6309,8 @@ _080628E0:
.pool
thumb_func_end sub_8062828
thumb_func_start dp01t_30_7_0803D67C
dp01t_30_7_0803D67C: @ 8062918
thumb_func_start OpponentHandleDrawPartyStatusSummary
OpponentHandleDrawPartyStatusSummary: @ 8062918
push {r4-r7,lr}
ldr r1, =gBattleBufferA
ldr r0, =gActiveBank
@ -6450,7 +6432,7 @@ _08062A12:
pop {r0}
bx r0
.pool
thumb_func_end dp01t_30_7_0803D67C
thumb_func_end OpponentHandleDrawPartyStatusSummary
thumb_func_start bx_0803D790_t7
bx_0803D790_t7: @ 8062A2C
@ -6488,8 +6470,8 @@ _08062A64:
.pool
thumb_func_end bx_0803D790_t7
thumb_func_start sub_8062A74
sub_8062A74: @ 8062A74
thumb_func_start OpponentHandleCmd49
OpponentHandleCmd49: @ 8062A74
push {lr}
ldr r0, =gBattleSpritesDataPtr
ldr r1, [r0]
@ -6520,18 +6502,18 @@ _08062AA6:
pop {r0}
bx r0
.pool
thumb_func_end sub_8062A74
thumb_func_end OpponentHandleCmd49
thumb_func_start sub_8062AC4
sub_8062AC4: @ 8062AC4
thumb_func_start OpponentHandleCmd50
OpponentHandleCmd50: @ 8062AC4
push {lr}
bl OpponentBufferExecCompleted
pop {r0}
bx r0
thumb_func_end sub_8062AC4
thumb_func_end OpponentHandleCmd50
thumb_func_start sub_8062AD0
sub_8062AD0: @ 8062AD0
thumb_func_start OpponentHandleSpriteInvisibility
OpponentHandleSpriteInvisibility: @ 8062AD0
push {r4,lr}
ldr r4, =gActiveBank
ldrb r0, [r4]
@ -6571,10 +6553,10 @@ _08062B16:
pop {r0}
bx r0
.pool
thumb_func_end sub_8062AD0
thumb_func_end OpponentHandleSpriteInvisibility
thumb_func_start dp01t_34_7_move_anim_start_t3
dp01t_34_7_move_anim_start_t3: @ 8062B30
thumb_func_start OpponentHandleBattleAnimation
OpponentHandleBattleAnimation: @ 8062B30
push {r4-r6,lr}
sub sp, 0x4
ldr r6, =gActiveBank
@ -6620,26 +6602,26 @@ _08062B88:
pop {r0}
bx r0
.pool
thumb_func_end dp01t_34_7_move_anim_start_t3
thumb_func_end OpponentHandleBattleAnimation
thumb_func_start sub_8062B98
sub_8062B98: @ 8062B98
thumb_func_start OpponentHandleLinkStandbyMsg
OpponentHandleLinkStandbyMsg: @ 8062B98
push {lr}
bl OpponentBufferExecCompleted
pop {r0}
bx r0
thumb_func_end sub_8062B98
thumb_func_end OpponentHandleLinkStandbyMsg
thumb_func_start sub_8062BA4
sub_8062BA4: @ 8062BA4
thumb_func_start OpponentHandleResetActionMoveSelection
OpponentHandleResetActionMoveSelection: @ 8062BA4
push {lr}
bl OpponentBufferExecCompleted
pop {r0}
bx r0
thumb_func_end sub_8062BA4
thumb_func_end OpponentHandleResetActionMoveSelection
thumb_func_start sub_8062BB0
sub_8062BB0: @ 8062BB0
thumb_func_start OpponentHandleCmd55
OpponentHandleCmd55: @ 8062BB0
push {lr}
ldr r0, =gBattleTypeFlags
ldr r0, [r0]
@ -6665,7 +6647,7 @@ _08062BDA:
pop {r0}
bx r0
.pool
thumb_func_end sub_8062BB0
thumb_func_end OpponentHandleCmd55
thumb_func_start nullsub_91
nullsub_91: @ 8062BF4

File diff suppressed because it is too large Load Diff

View File

@ -6,38 +6,6 @@
.text
thumb_func_start nullsub_117
nullsub_117: @ 81683B4
bx lr
thumb_func_end nullsub_117
thumb_func_start SetBankFuncToWallyBufferRunCommand
SetBankFuncToWallyBufferRunCommand: @ 81683B8
ldr r1, =gBattleBankFunc
ldr r0, =gActiveBank
ldrb r0, [r0]
lsls r0, 2
adds r0, r1
ldr r1, =WallyBufferRunCommand
str r1, [r0]
ldr r2, =gBattleStruct
ldr r0, [r2]
adds r0, 0x94
movs r1, 0
strb r1, [r0]
ldr r0, [r2]
adds r0, 0x95
strb r1, [r0]
ldr r0, [r2]
adds r0, 0x96
strb r1, [r0]
ldr r0, [r2]
adds r0, 0x97
strb r1, [r0]
bx lr
.pool
thumb_func_end SetBankFuncToWallyBufferRunCommand
thumb_func_start WallyBufferRunCommand
WallyBufferRunCommand: @ 81683F4
push {lr}
@ -928,8 +896,8 @@ _08168B92:
.pool
thumb_func_end sub_8168B70
thumb_func_start dp01t_00_5_getattr
dp01t_00_5_getattr: @ 8168BA0
thumb_func_start WallyHandleGetMonData
WallyHandleGetMonData: @ 8168BA0
push {r4-r6,lr}
sub sp, 0x100
movs r6, 0
@ -981,7 +949,7 @@ _08168BFA:
pop {r4-r6}
pop {r0}
bx r0
thumb_func_end dp01t_00_5_getattr
thumb_func_end WallyHandleGetMonData
thumb_func_start sub_8168C14
sub_8168C14: @ 8168C14
@ -1861,16 +1829,16 @@ _081693AA:
.pool
thumb_func_end sub_8168C14
thumb_func_start sub_81693C0
sub_81693C0: @ 81693C0
thumb_func_start WallyHandleGetRawMonData
WallyHandleGetRawMonData: @ 81693C0
push {lr}
bl sub_805A614
bl PlayerHandleGetRawMonData
pop {r0}
bx r0
thumb_func_end sub_81693C0
thumb_func_end WallyHandleGetRawMonData
thumb_func_start sub_81693CC
sub_81693CC: @ 81693CC
thumb_func_start WallyHandleSetMonData
WallyHandleSetMonData: @ 81693CC
push {r4,r5,lr}
ldr r1, =gBattleBufferA
ldr r0, =gActiveBank
@ -1910,7 +1878,7 @@ _0816941A:
pop {r4,r5}
pop {r0}
bx r0
thumb_func_end sub_81693CC
thumb_func_end WallyHandleSetMonData
thumb_func_start sub_8169424
sub_8169424: @ 8169424
@ -2945,32 +2913,32 @@ _08169DEA:
.pool
thumb_func_end sub_8169424
thumb_func_start sub_8169E20
sub_8169E20: @ 8169E20
thumb_func_start WallyHandleSetRawMonData
WallyHandleSetRawMonData: @ 8169E20
push {lr}
bl WallyBufferExecCompleted
pop {r0}
bx r0
thumb_func_end sub_8169E20
thumb_func_end WallyHandleSetRawMonData
thumb_func_start sub_8169E2C
sub_8169E2C: @ 8169E2C
thumb_func_start WallyHandleLoadMonSprite
WallyHandleLoadMonSprite: @ 8169E2C
push {lr}
bl WallyBufferExecCompleted
pop {r0}
bx r0
thumb_func_end sub_8169E2C
thumb_func_end WallyHandleLoadMonSprite
thumb_func_start sub_8169E38
sub_8169E38: @ 8169E38
thumb_func_start WallyHandleSwitchInAnim
WallyHandleSwitchInAnim: @ 8169E38
push {lr}
bl WallyBufferExecCompleted
pop {r0}
bx r0
thumb_func_end sub_8169E38
thumb_func_end WallyHandleSwitchInAnim
thumb_func_start sub_8169E44
sub_8169E44: @ 8169E44
thumb_func_start WallyHandleReturnMonToBall
WallyHandleReturnMonToBall: @ 8169E44
push {r4-r6,lr}
ldr r0, =gBattleBufferA
ldr r6, =gActiveBank
@ -3022,10 +2990,10 @@ _08169EB6:
pop {r0}
bx r0
.pool
thumb_func_end sub_8169E44
thumb_func_end WallyHandleReturnMonToBall
thumb_func_start sub_8169EC8
sub_8169EC8: @ 8169EC8
thumb_func_start WallyHandleDrawTrainerPic
WallyHandleDrawTrainerPic: @ 8169EC8
push {r4-r6,lr}
ldr r4, =gActiveBank
ldrb r1, [r4]
@ -3107,10 +3075,10 @@ sub_8169EC8: @ 8169EC8
pop {r0}
bx r0
.pool
thumb_func_end sub_8169EC8
thumb_func_end WallyHandleDrawTrainerPic
thumb_func_start dp01t_07_6_
dp01t_07_6_: @ 8169F94
thumb_func_start WallyHandleTrainerSlide
WallyHandleTrainerSlide: @ 8169F94
push {r4-r6,lr}
ldr r4, =gActiveBank
ldrb r1, [r4]
@ -3192,34 +3160,34 @@ dp01t_07_6_: @ 8169F94
pop {r0}
bx r0
.pool
thumb_func_end dp01t_07_6_
thumb_func_end WallyHandleTrainerSlide
thumb_func_start sub_816A060
sub_816A060: @ 816A060
thumb_func_start WallyHandleTrainerSlideBack
WallyHandleTrainerSlideBack: @ 816A060
push {lr}
bl WallyBufferExecCompleted
pop {r0}
bx r0
thumb_func_end sub_816A060
thumb_func_end WallyHandleTrainerSlideBack
thumb_func_start sub_816A06C
sub_816A06C: @ 816A06C
thumb_func_start WallyHandleFaintAnimation
WallyHandleFaintAnimation: @ 816A06C
push {lr}
bl WallyBufferExecCompleted
pop {r0}
bx r0
thumb_func_end sub_816A06C
thumb_func_end WallyHandleFaintAnimation
thumb_func_start sub_816A078
sub_816A078: @ 816A078
thumb_func_start WallyHandleCmd11
WallyHandleCmd11: @ 816A078
push {lr}
bl WallyBufferExecCompleted
pop {r0}
bx r0
thumb_func_end sub_816A078
thumb_func_end WallyHandleCmd11
thumb_func_start sub_816A084
sub_816A084: @ 816A084
thumb_func_start WallyHandleCmd12
WallyHandleCmd12: @ 816A084
push {r4,r5,lr}
ldr r0, =gBattleSpritesDataPtr
ldr r0, [r0]
@ -3250,10 +3218,10 @@ sub_816A084: @ 816A084
pop {r0}
bx r0
.pool
thumb_func_end sub_816A084
thumb_func_end WallyHandleCmd12
thumb_func_start sub_816A0D8
sub_816A0D8: @ 816A0D8
thumb_func_start WallyHandleBallThrow
WallyHandleBallThrow: @ 816A0D8
push {r4,r5,lr}
ldr r1, =gBattleBufferA
ldr r5, =gActiveBank
@ -3289,18 +3257,18 @@ sub_816A0D8: @ 816A0D8
pop {r0}
bx r0
.pool
thumb_func_end sub_816A0D8
thumb_func_end WallyHandleBallThrow
thumb_func_start sub_816A138
sub_816A138: @ 816A138
thumb_func_start WallyHandlePause
WallyHandlePause: @ 816A138
push {lr}
bl WallyBufferExecCompleted
pop {r0}
bx r0
thumb_func_end sub_816A138
thumb_func_end WallyHandlePause
thumb_func_start sub_816A144
sub_816A144: @ 816A144
thumb_func_start WallyHandleMoveAnimation
WallyHandleMoveAnimation: @ 816A144
push {r4-r6,lr}
ldr r0, =gBattleBufferA
mov r12, r0
@ -3427,7 +3395,7 @@ _0816A25A:
pop {r0}
bx r0
.pool
thumb_func_end sub_816A144
thumb_func_end WallyHandleMoveAnimation
thumb_func_start bx_move_anim_5
bx_move_anim_5: @ 816A26C
@ -3589,8 +3557,8 @@ _0816A3AC:
bx r0
thumb_func_end bx_move_anim_5
thumb_func_start sub_816A3B8
sub_816A3B8: @ 816A3B8
thumb_func_start WallyHandlePrintString
WallyHandlePrintString: @ 816A3B8
push {r4,lr}
ldr r0, =gBattle_BG0_X
movs r1, 0
@ -3617,10 +3585,10 @@ sub_816A3B8: @ 816A3B8
pop {r0}
bx r0
.pool
thumb_func_end sub_816A3B8
thumb_func_end WallyHandlePrintString
thumb_func_start dp01t_11_5_message_for_player_only
dp01t_11_5_message_for_player_only: @ 816A40C
thumb_func_start WallyHandlePrintStringPlayerOnly
WallyHandlePrintStringPlayerOnly: @ 816A40C
push {lr}
ldr r0, =gActiveBank
ldrb r0, [r0]
@ -3628,7 +3596,7 @@ dp01t_11_5_message_for_player_only: @ 816A40C
lsls r0, 24
cmp r0, 0
bne _0816A428
bl sub_816A3B8
bl WallyHandlePrintString
b _0816A42C
.pool
_0816A428:
@ -3636,7 +3604,7 @@ _0816A428:
_0816A42C:
pop {r0}
bx r0
thumb_func_end dp01t_11_5_message_for_player_only
thumb_func_end WallyHandlePrintStringPlayerOnly
thumb_func_start sub_816A430
sub_816A430: @ 816A430
@ -3664,8 +3632,8 @@ _0816A456:
.pool
thumb_func_end sub_816A430
thumb_func_start dp01t_12_1_battle_menu
dp01t_12_1_battle_menu: @ 816A470
thumb_func_start WallyHandleChooseAction
WallyHandleChooseAction: @ 816A470
push {r4,lr}
ldr r1, =gBattleBankFunc
ldr r0, =gActiveBank
@ -3701,18 +3669,18 @@ _0816A48A:
pop {r0}
bx r0
.pool
thumb_func_end dp01t_12_1_battle_menu
thumb_func_end WallyHandleChooseAction
thumb_func_start sub_816A4D8
sub_816A4D8: @ 816A4D8
thumb_func_start WallyHandleCmd19
WallyHandleCmd19: @ 816A4D8
push {lr}
bl WallyBufferExecCompleted
pop {r0}
bx r0
thumb_func_end sub_816A4D8
thumb_func_end WallyHandleCmd19
thumb_func_start sub_816A4E4
sub_816A4E4: @ 816A4E4
thumb_func_start WallyHandleChooseMove
WallyHandleChooseMove: @ 816A4E4
push {r4,lr}
ldr r4, =gBattleStruct
ldr r1, [r4]
@ -3783,10 +3751,10 @@ _0816A574:
pop {r4}
pop {r0}
bx r0
thumb_func_end sub_816A4E4
thumb_func_end WallyHandleChooseMove
thumb_func_start sub_816A57C
sub_816A57C: @ 816A57C
thumb_func_start WallyHandleOpenBag
WallyHandleOpenBag: @ 816A57C
push {lr}
sub sp, 0x4
movs r0, 0x1
@ -3810,26 +3778,26 @@ sub_816A57C: @ 816A57C
pop {r0}
bx r0
.pool
thumb_func_end sub_816A57C
thumb_func_end WallyHandleOpenBag
thumb_func_start sub_816A5BC
sub_816A5BC: @ 816A5BC
thumb_func_start WallyHandleChoosePokemon
WallyHandleChoosePokemon: @ 816A5BC
push {lr}
bl WallyBufferExecCompleted
pop {r0}
bx r0
thumb_func_end sub_816A5BC
thumb_func_end WallyHandleChoosePokemon
thumb_func_start sub_816A5C8
sub_816A5C8: @ 816A5C8
thumb_func_start WallyHandleCmd23
WallyHandleCmd23: @ 816A5C8
push {lr}
bl WallyBufferExecCompleted
pop {r0}
bx r0
thumb_func_end sub_816A5C8
thumb_func_end WallyHandleCmd23
thumb_func_start sub_816A5D4
sub_816A5D4: @ 816A5D4
thumb_func_start WallyHandleHealthBarUpdate
WallyHandleHealthBarUpdate: @ 816A5D4
push {r4-r7,lr}
mov r7, r9
mov r6, r8
@ -3929,138 +3897,138 @@ _0816A69E:
pop {r0}
bx r0
.pool
thumb_func_end sub_816A5D4
thumb_func_end WallyHandleHealthBarUpdate
thumb_func_start sub_816A6D4
sub_816A6D4: @ 816A6D4
thumb_func_start WallyHandleExpUpdate
WallyHandleExpUpdate: @ 816A6D4
push {lr}
bl WallyBufferExecCompleted
pop {r0}
bx r0
thumb_func_end sub_816A6D4
thumb_func_end WallyHandleExpUpdate
thumb_func_start sub_816A6E0
sub_816A6E0: @ 816A6E0
thumb_func_start WallyHandleStatusIconUpdate
WallyHandleStatusIconUpdate: @ 816A6E0
push {lr}
bl WallyBufferExecCompleted
pop {r0}
bx r0
thumb_func_end sub_816A6E0
thumb_func_end WallyHandleStatusIconUpdate
thumb_func_start sub_816A6EC
sub_816A6EC: @ 816A6EC
thumb_func_start WallyHandleStatusAnimation
WallyHandleStatusAnimation: @ 816A6EC
push {lr}
bl WallyBufferExecCompleted
pop {r0}
bx r0
thumb_func_end sub_816A6EC
thumb_func_end WallyHandleStatusAnimation
thumb_func_start sub_816A6F8
sub_816A6F8: @ 816A6F8
thumb_func_start WallyHandleStatusXor
WallyHandleStatusXor: @ 816A6F8
push {lr}
bl WallyBufferExecCompleted
pop {r0}
bx r0
thumb_func_end sub_816A6F8
thumb_func_end WallyHandleStatusXor
thumb_func_start sub_816A704
sub_816A704: @ 816A704
thumb_func_start WallyHandleDataTransfer
WallyHandleDataTransfer: @ 816A704
push {lr}
bl WallyBufferExecCompleted
pop {r0}
bx r0
thumb_func_end sub_816A704
thumb_func_end WallyHandleDataTransfer
thumb_func_start sub_816A710
sub_816A710: @ 816A710
thumb_func_start WallyHandleDMA3Transfer
WallyHandleDMA3Transfer: @ 816A710
push {lr}
bl WallyBufferExecCompleted
pop {r0}
bx r0
thumb_func_end sub_816A710
thumb_func_end WallyHandleDMA3Transfer
thumb_func_start sub_816A71C
sub_816A71C: @ 816A71C
thumb_func_start WallyHandlePlayBGM
WallyHandlePlayBGM: @ 816A71C
push {lr}
bl WallyBufferExecCompleted
pop {r0}
bx r0
thumb_func_end sub_816A71C
thumb_func_end WallyHandlePlayBGM
thumb_func_start sub_816A728
sub_816A728: @ 816A728
thumb_func_start WallyHandleCmd32
WallyHandleCmd32: @ 816A728
push {lr}
bl WallyBufferExecCompleted
pop {r0}
bx r0
thumb_func_end sub_816A728
thumb_func_end WallyHandleCmd32
thumb_func_start sub_816A734
sub_816A734: @ 816A734
thumb_func_start WallyHandleCmd33
WallyHandleCmd33: @ 816A734
push {lr}
bl WallyBufferExecCompleted
pop {r0}
bx r0
thumb_func_end sub_816A734
thumb_func_end WallyHandleCmd33
thumb_func_start sub_816A740
sub_816A740: @ 816A740
thumb_func_start WallyHandleCmd34
WallyHandleCmd34: @ 816A740
push {lr}
bl WallyBufferExecCompleted
pop {r0}
bx r0
thumb_func_end sub_816A740
thumb_func_end WallyHandleCmd34
thumb_func_start sub_816A74C
sub_816A74C: @ 816A74C
thumb_func_start WallyHandleCmd35
WallyHandleCmd35: @ 816A74C
push {lr}
bl WallyBufferExecCompleted
pop {r0}
bx r0
thumb_func_end sub_816A74C
thumb_func_end WallyHandleCmd35
thumb_func_start sub_816A758
sub_816A758: @ 816A758
thumb_func_start WallyHandleCmd36
WallyHandleCmd36: @ 816A758
push {lr}
bl WallyBufferExecCompleted
pop {r0}
bx r0
thumb_func_end sub_816A758
thumb_func_end WallyHandleCmd36
thumb_func_start sub_816A764
sub_816A764: @ 816A764
thumb_func_start WallyHandleCmd37
WallyHandleCmd37: @ 816A764
push {lr}
bl WallyBufferExecCompleted
pop {r0}
bx r0
thumb_func_end sub_816A764
thumb_func_end WallyHandleCmd37
thumb_func_start sub_816A770
sub_816A770: @ 816A770
thumb_func_start WallyHandleCmd38
WallyHandleCmd38: @ 816A770
push {lr}
bl WallyBufferExecCompleted
pop {r0}
bx r0
thumb_func_end sub_816A770
thumb_func_end WallyHandleCmd38
thumb_func_start sub_816A77C
sub_816A77C: @ 816A77C
thumb_func_start WallyHandleCmd39
WallyHandleCmd39: @ 816A77C
push {lr}
bl WallyBufferExecCompleted
pop {r0}
bx r0
thumb_func_end sub_816A77C
thumb_func_end WallyHandleCmd39
thumb_func_start sub_816A788
sub_816A788: @ 816A788
thumb_func_start WallyHandleCmd40
WallyHandleCmd40: @ 816A788
push {lr}
bl WallyBufferExecCompleted
pop {r0}
bx r0
thumb_func_end sub_816A788
thumb_func_end WallyHandleCmd40
thumb_func_start sub_816A794
sub_816A794: @ 816A794
thumb_func_start WallyHandleHitAnimation
WallyHandleHitAnimation: @ 816A794
push {r4,lr}
ldr r3, =gSprites
ldr r2, =gBankSpriteIds
@ -4106,18 +4074,18 @@ _0816A7F2:
pop {r0}
bx r0
.pool
thumb_func_end sub_816A794
thumb_func_end WallyHandleHitAnimation
thumb_func_start sub_816A804
sub_816A804: @ 816A804
thumb_func_start WallyHandleCmd42
WallyHandleCmd42: @ 816A804
push {lr}
bl WallyBufferExecCompleted
pop {r0}
bx r0
thumb_func_end sub_816A804
thumb_func_end WallyHandleCmd42
thumb_func_start sub_816A810
sub_816A810: @ 816A810
thumb_func_start WallyHandleEffectivenessSound
WallyHandleEffectivenessSound: @ 816A810
push {lr}
ldr r2, =gBattleBufferA
ldr r0, =gActiveBank
@ -4136,10 +4104,10 @@ sub_816A810: @ 816A810
pop {r0}
bx r0
.pool
thumb_func_end sub_816A810
thumb_func_end WallyHandleEffectivenessSound
thumb_func_start sub_816A840
sub_816A840: @ 816A840
thumb_func_start WallyHandlePlayFanfareOrBGM
WallyHandlePlayFanfareOrBGM: @ 816A840
push {r4,r5,lr}
ldr r4, =gBattleBufferA
ldr r5, =gActiveBank
@ -4179,10 +4147,10 @@ _0816A890:
pop {r4,r5}
pop {r0}
bx r0
thumb_func_end sub_816A840
thumb_func_end WallyHandlePlayFanfareOrBGM
thumb_func_start sub_816A89C
sub_816A89C: @ 816A89C
thumb_func_start WallyHandleFaintingCry
WallyHandleFaintingCry: @ 816A89C
push {lr}
ldr r1, =gBattlePartyID
ldr r0, =gActiveBank
@ -4204,10 +4172,10 @@ sub_816A89C: @ 816A89C
pop {r0}
bx r0
.pool
thumb_func_end sub_816A89C
thumb_func_end WallyHandleFaintingCry
thumb_func_start dp01t_2E_5_battle_intro
dp01t_2E_5_battle_intro: @ 816A8D8
thumb_func_start WallyHandleIntroSlide
WallyHandleIntroSlide: @ 816A8D8
push {lr}
ldr r1, =gBattleBufferA
ldr r0, =gActiveBank
@ -4226,10 +4194,10 @@ dp01t_2E_5_battle_intro: @ 816A8D8
pop {r0}
bx r0
.pool
thumb_func_end dp01t_2E_5_battle_intro
thumb_func_end WallyHandleIntroSlide
thumb_func_start sub_816A90C
sub_816A90C: @ 816A90C
thumb_func_start WallyHandleIntroTrainerBallThrow
WallyHandleIntroTrainerBallThrow: @ 816A90C
push {r4-r7,lr}
ldr r6, =gBankSpriteIds
ldr r7, =gActiveBank
@ -4381,7 +4349,7 @@ _0816AA24:
pop {r0}
bx r0
.pool
thumb_func_end sub_816A90C
thumb_func_end WallyHandleIntroTrainerBallThrow
thumb_func_start sub_816AA80
sub_816AA80: @ 816AA80
@ -4601,8 +4569,8 @@ _0816AC5E:
.pool
thumb_func_end sub_816AC04
thumb_func_start sub_816AC78
sub_816AC78: @ 816AC78
thumb_func_start WallyHandleDrawPartyStatusSummary
WallyHandleDrawPartyStatusSummary: @ 816AC78
push {r4,r5,lr}
ldr r1, =gBattleBufferA
ldr r0, =gActiveBank
@ -4656,34 +4624,34 @@ _0816ACE6:
pop {r0}
bx r0
.pool
thumb_func_end sub_816AC78
thumb_func_end WallyHandleDrawPartyStatusSummary
thumb_func_start sub_816ACFC
sub_816ACFC: @ 816ACFC
thumb_func_start WallyHandleCmd49
WallyHandleCmd49: @ 816ACFC
push {lr}
bl WallyBufferExecCompleted
pop {r0}
bx r0
thumb_func_end sub_816ACFC
thumb_func_end WallyHandleCmd49
thumb_func_start sub_816AD08
sub_816AD08: @ 816AD08
thumb_func_start WallyHandleCmd50
WallyHandleCmd50: @ 816AD08
push {lr}
bl WallyBufferExecCompleted
pop {r0}
bx r0
thumb_func_end sub_816AD08
thumb_func_end WallyHandleCmd50
thumb_func_start sub_816AD14
sub_816AD14: @ 816AD14
thumb_func_start WallyHandleSpriteInvisibility
WallyHandleSpriteInvisibility: @ 816AD14
push {lr}
bl WallyBufferExecCompleted
pop {r0}
bx r0
thumb_func_end sub_816AD14
thumb_func_end WallyHandleSpriteInvisibility
thumb_func_start sub_816AD20
sub_816AD20: @ 816AD20
thumb_func_start WallyHandleBattleAnimation
WallyHandleBattleAnimation: @ 816AD20
push {r4-r6,lr}
sub sp, 0x4
ldr r5, =gBattleBufferA
@ -4724,26 +4692,26 @@ _0816AD6C:
pop {r0}
bx r0
.pool
thumb_func_end sub_816AD20
thumb_func_end WallyHandleBattleAnimation
thumb_func_start sub_816AD7C
sub_816AD7C: @ 816AD7C
thumb_func_start WallyHandleLinkStandbyMsg
WallyHandleLinkStandbyMsg: @ 816AD7C
push {lr}
bl WallyBufferExecCompleted
pop {r0}
bx r0
thumb_func_end sub_816AD7C
thumb_func_end WallyHandleLinkStandbyMsg
thumb_func_start sub_816AD88
sub_816AD88: @ 816AD88
thumb_func_start WallyHandleResetActionMoveSelection
WallyHandleResetActionMoveSelection: @ 816AD88
push {lr}
bl WallyBufferExecCompleted
pop {r0}
bx r0
thumb_func_end sub_816AD88
thumb_func_end WallyHandleResetActionMoveSelection
thumb_func_start sub_816AD94
sub_816AD94: @ 816AD94
thumb_func_start WallyHandleCmd55
WallyHandleCmd55: @ 816AD94
push {r4,lr}
ldr r2, =gBattleOutcome
ldr r1, =gBattleBufferA
@ -4776,7 +4744,7 @@ _0816ADD0:
pop {r0}
bx r0
.pool
thumb_func_end sub_816AD94
thumb_func_end WallyHandleCmd55
thumb_func_start nullsub_118
nullsub_118: @ 816ADF0

View File

@ -2100,7 +2100,7 @@ _0813EDEA:
ldr r0, =gBattleCommunication
strb r2, [r0, 0x1]
movs r0, 0
bl BattleCreateCursorAt
bl BattleCreateYesNoCursorAt
b _0813F1A4
.pool
_0813EE34:
@ -2117,10 +2117,10 @@ _0813EE34:
movs r0, 0x5
bl PlaySE
ldrb r0, [r4, 0x1]
bl BattleDestroyCursorAt
bl BattleDestroyYesNoCursorAt
movs r0, 0
strb r0, [r4, 0x1]
bl BattleCreateCursorAt
bl BattleCreateYesNoCursorAt
_0813EE5C:
ldr r0, =gMain
ldrh r1, [r0, 0x2E]
@ -2135,10 +2135,10 @@ _0813EE5C:
movs r0, 0x5
bl PlaySE
ldrb r0, [r4, 0x1]
bl BattleDestroyCursorAt
bl BattleDestroyYesNoCursorAt
movs r0, 0x1
strb r0, [r4, 0x1]
bl BattleCreateCursorAt
bl BattleCreateYesNoCursorAt
_0813EE84:
ldr r0, =gMain
ldrh r1, [r0, 0x2E]

View File

@ -47,14 +47,14 @@ sub_81AABB0: @ 81AABB0
lsls r0, 24
cmp r0, 0
bne _081AABCC
ldr r2, =sub_8059D50
ldr r2, =SetCB2ToReshowScreenAfterMenu2
movs r0, 0x1
movs r1, 0x5
bl GoToBagMenu
b _081AABD4
.pool
_081AABCC:
ldr r1, =sub_8059D50
ldr r1, =SetCB2ToReshowScreenAfterMenu2
movs r0, 0x1
bl sub_81C4F98
_081AABD4:
@ -5634,7 +5634,7 @@ DoWallyTutorialBagMenu: @ 81ADD70
movs r0, 0x4
movs r1, 0x1
bl AddBagItem
ldr r2, =sub_8059D50
ldr r2, =SetCB2ToReshowScreenAfterMenu2
movs r0, 0xA
movs r1, 0
bl GoToBagMenu

View File

@ -15908,7 +15908,7 @@ sub_81B89AC: @ 81B89AC
str r0, [sp]
ldr r0, =sub_81B1370
str r0, [sp, 0x4]
ldr r0, =sub_8059D40
ldr r0, =SetCB2ToReshowScreenAfterMenu
str r0, [sp, 0x8]
movs r0, 0x1
adds r2, r4, 0
@ -16828,7 +16828,7 @@ _081B9136:
thumb_func_start sub_81B9140
sub_81B9140: @ 81B9140
push {lr}
ldr r0, =sub_8059D40
ldr r0, =SetCB2ToReshowScreenAfterMenu
bl SetMainCallback2
pop {r0}
bx r0

View File

@ -9861,7 +9861,7 @@ sub_81C4EFC: @ 81C4EFC
thumb_func_start sub_81C4F10
sub_81C4F10: @ 81C4F10
push {lr}
ldr r1, =sub_8059D50
ldr r1, =SetCB2ToReshowScreenAfterMenu2
movs r0, 0x1
bl sub_81C4F98
pop {r0}

View File

@ -547,7 +547,7 @@ _081358D4:
thumb_func_start sub_81358F4
sub_81358F4: @ 81358F4
push {lr}
ldr r1, =sub_8059D50
ldr r1, =SetCB2ToReshowScreenAfterMenu2
movs r0, 0x1
bl sub_81357FC
pop {r0}

View File

@ -1,64 +0,0 @@
.include "asm/macros.inc"
.include "constants/constants.inc"
.section .rodata
.align 2
gLinkOpponentBufferCommands:: @ 831C7B4
.4byte dp01t_00_2_getattr
.4byte sub_8065900
.4byte sub_806590C
.4byte sub_8066284
.4byte sub_80662F8
.4byte sub_8066448
.4byte sub_8066624
.4byte sub_8066748
.4byte sub_8066A58
.4byte sub_8066B94
.4byte sub_8066C40
.4byte sub_8066CEC
.4byte sub_8066CF8
.4byte sub_8066D04
.4byte sub_8066D10
.4byte sub_8066D1C
.4byte sub_8066FF4
.4byte sub_806704C
.4byte sub_8067058
.4byte sub_8067064
.4byte sub_8067070
.4byte sub_806707C
.4byte sub_8067088
.4byte sub_8067094
.4byte sub_80670A0
.4byte sub_8067190
.4byte sub_806719C
.4byte sub_8067214
.4byte sub_806727C
.4byte sub_8067288
.4byte sub_8067294
.4byte sub_80672A0
.4byte sub_80672AC
.4byte sub_80672B8
.4byte sub_80672C4
.4byte sub_80672D0
.4byte sub_80672DC
.4byte sub_80672E8
.4byte sub_8067304
.4byte sub_806733C
.4byte sub_8067354
.4byte sub_806737C
.4byte sub_80673EC
.4byte sub_80673F8
.4byte sub_806743C
.4byte sub_8067498
.4byte sub_80674D4
.4byte sub_8067508
.4byte sub_8067718
.4byte sub_8067874
.4byte sub_80678C4
.4byte sub_80678D0
.4byte sub_8067930
.4byte sub_80679A4
.4byte sub_80679C4
.4byte sub_80679D0
.4byte nullsub_92

View File

@ -1,67 +0,0 @@
.include "asm/macros.inc"
.include "constants/constants.inc"
.section .rodata
.align 2
gOpponentBufferCommands:: @ 831C6C8
.4byte dp01t_00_7_getattr
.4byte dp01t_01_2_read_pokmon_data_slice
.4byte dp01t_02_7_setattr
.4byte sub_80611B0
.4byte sub_8061224
.4byte sub_806137C
.4byte sub_806156C
.4byte sub_8061690
.4byte sub_80618D8
.4byte sub_8061AF0
.4byte sub_8061B9C
.4byte sub_8061C48
.4byte sub_8061C54
.4byte sub_8061C60
.4byte sub_8061C6C
.4byte sub_8061C78
.4byte sub_8061F34
.4byte sub_8061F90
.4byte sub_8061F9C
.4byte sub_8061FAC
.4byte sub_8061FB8
.4byte sub_806215C
.4byte sub_8062188
.4byte sub_8062288
.4byte sub_8062294
.4byte sub_8062384
.4byte sub_8062390
.4byte sub_8062408
.4byte sub_8062470
.4byte sub_806247C
.4byte sub_8062488
.4byte sub_8062494
.4byte sub_80624A0
.4byte sub_80624AC
.4byte sub_80624B8
.4byte sub_80624C4
.4byte sub_80624D0
.4byte sub_80624DC
.4byte sub_80624F8
.4byte sub_8062530
.4byte sub_8062548
.4byte dp01t_29_7_blink
.4byte sub_80625E0
.4byte sub_80625EC
.4byte sub_8062630
.4byte sub_806268C
.4byte dp01t_2E_7_battle_intro
.4byte sub_80626FC
.4byte dp01t_30_7_0803D67C
.4byte sub_8062A74
.4byte sub_8062AC4
.4byte sub_8062AD0
.4byte dp01t_34_7_move_anim_start_t3
.4byte sub_8062B98
.4byte sub_8062BA4
.4byte sub_8062BB0
.4byte nullsub_91
.align 2
.byte 0xB0, 0xB0, 0xC8, 0x98, 0x28, 0x28, 0x28, 0x20

View File

@ -1,69 +0,0 @@
.include "asm/macros.inc"
.include "constants/constants.inc"
.section .rodata
.align 2
gPlayerBufferCommands:: @ 831C514
.4byte dp01t_00_1_getattr
.4byte sub_805A614
.4byte dp01t_02_1_setattr
.4byte sub_805B0F0
.4byte sub_805B164
.4byte sub_805B1CC
.4byte sub_805B3D4
.4byte sub_805B4F0
.4byte dp01t_08_1_8032428
.4byte sub_805B9F8
.4byte sub_805BAB8
.4byte sub_805BBA4
.4byte sub_805BBC4
.4byte sub_805BC18
.4byte sub_805BC78
.4byte dp01t_0F_1_move_anim
.4byte sub_805BF80
.4byte dp01t_11_1_message_for_player_only
.4byte dp01t_12_6_battle_menu
.4byte sub_805C0B0
.4byte dp01t_14_5_move_menu_pokedude
.4byte sub_805C248
.4byte sub_805C2AC
.4byte sub_805C3EC
.4byte sub_805C410
.4byte sub_805C528
.4byte sub_805C5C4
.4byte sub_805C63C
.4byte sub_805C6A4
.4byte sub_805C710
.4byte sub_805C71C
.4byte sub_805C7D0
.4byte sub_805C800
.4byte sub_805C80C
.4byte sub_805C820
.4byte sub_805C834
.4byte sub_805C848
.4byte sub_805C85C
.4byte sub_805C878
.4byte sub_805C8B0
.4byte sub_805C8C8
.4byte dp01t_29_1_blink
.4byte sub_805C960
.4byte sub_805C96C
.4byte sub_805C9B0
.4byte sub_805CA0C
.4byte dp01t_2E_1_battle_intro
.4byte dp01t_2F_1_pokemon_enter
.4byte sub_805CD74
.4byte sub_805CE80
.4byte sub_805CED0
.4byte dp01t_33_1_enemy_move
.4byte sub_805CF54
.4byte dp01t_35_1_link_standby_message_and_free_vram
.4byte sub_805D02C
.4byte sub_805D094
.4byte nullsub_22
.align 2
gUnknown_0831C5F8:: @ 831C5F8
.byte 0x00, 0x02, 0x03, 0x01, 0x48, 0x48, 0x20, 0x5a
.byte 0x50, 0x50, 0x50, 0x58

View File

@ -1,64 +0,0 @@
.include "asm/macros.inc"
.include "constants/constants.inc"
.section .rodata
.align 2
gWallyBufferCommands:: @ 85DFDC0
.4byte dp01t_00_5_getattr
.4byte sub_81693C0
.4byte sub_81693CC
.4byte sub_8169E20
.4byte sub_8169E2C
.4byte sub_8169E38
.4byte sub_8169E44
.4byte sub_8169EC8
.4byte dp01t_07_6_
.4byte sub_816A060
.4byte sub_816A06C
.4byte sub_816A078
.4byte sub_816A084
.4byte sub_816A0D8
.4byte sub_816A138
.4byte sub_816A144
.4byte sub_816A3B8
.4byte dp01t_11_5_message_for_player_only
.4byte dp01t_12_1_battle_menu
.4byte sub_816A4D8
.4byte sub_816A4E4
.4byte sub_816A57C
.4byte sub_816A5BC
.4byte sub_816A5C8
.4byte sub_816A5D4
.4byte sub_816A6D4
.4byte sub_816A6E0
.4byte sub_816A6EC
.4byte sub_816A6F8
.4byte sub_816A704
.4byte sub_816A710
.4byte sub_816A71C
.4byte sub_816A728
.4byte sub_816A734
.4byte sub_816A740
.4byte sub_816A74C
.4byte sub_816A758
.4byte sub_816A764
.4byte sub_816A770
.4byte sub_816A77C
.4byte sub_816A788
.4byte sub_816A794
.4byte sub_816A804
.4byte sub_816A810
.4byte sub_816A840
.4byte sub_816A89C
.4byte dp01t_2E_5_battle_intro
.4byte sub_816A90C
.4byte sub_816AC78
.4byte sub_816ACFC
.4byte sub_816AD08
.4byte sub_816AD14
.4byte sub_816AD20
.4byte sub_816AD7C
.4byte sub_816AD88
.4byte sub_816AD94
.4byte nullsub_118

View File

@ -856,6 +856,8 @@ void SetBankEnemyShadowSpriteCallback(u8 bank, u16 species);
void BattleLoadPlayerMonSpriteGfx(struct Pokemon *mon, u8 bank);
void BattleLoadOpponentMonSpriteGfx(struct Pokemon *mon, u8 bank);
void BattleLoadSubstituteSpriteGfx(u8 bank, bool8 arg1);
void nullsub_24(u16 arg0);
void nullsub_25(u8 arg0);
enum
{
@ -910,7 +912,17 @@ struct BattleHealthboxInfo
u8 flag_x4 : 1;
u8 flag_x8 : 1;
u8 flag_x10 : 1;
u8 field_1;
u8 flag_x20 : 1;
u8 flag_x40 : 1;
u8 flag_x80 : 1;
u8 field_1_x1 : 1;
u8 field_1_x2 : 1;
u8 field_1_x4 : 1;
u8 field_1_x8 : 1;
u8 field_1_x10 : 1;
u8 field_1_x20 : 1;
u8 field_1_x40 : 1;
u8 field_1_x80 : 1;
u8 field_2;
u8 field_3;
u8 field_4;

View File

@ -13,10 +13,13 @@ u8 IsRunningFromBattleImpossible(void);
u8 GetWhoStrikesFirst(u8 bank1, u8 bank2, bool8 ignoreChosenMoves);
void SwapTurnOrder(u8 id1, u8 id2);
void BattleTurnPassed(void);
void sub_8038D64(void);
void RunBattleScriptCommands_PopCallbacksStack(void);
void RunBattleScriptCommands(void);
u32 sub_80397C4(u32 setId, u32 tableId);
void sub_8039E9C(struct Sprite *sprite);
void sub_8039B2C(struct Sprite *sprite);
void sub_8039AD8(struct Sprite *sprite);
void nullsub_20(void);
void BeginBattleIntro(void);

View File

@ -107,7 +107,7 @@ enum
CONTROLLER_56
};
#define LAST_CONTROLLER_CMD_ID CONTROLLER_56 + 1
#define CONTOLLER_CMDS_COUNT CONTROLLER_56 + 1
// general functions
void HandleLinkBattleSetup(void);

View File

@ -3,6 +3,12 @@
#include "battle_controllers.h"
enum
{
HP_CURRENT,
HP_MAX
};
#define TAG_HEALTHBOX_PLAYER1_TILE 0xD6FF
#define TAG_HEALTHBOX_PLAYER2_TILE 0xD700
#define TAG_HEALTHBOX_OPPONENT1_TILE 0xD701

View File

@ -46,8 +46,8 @@ u8 TypeCalc(u16 move, u8 bankAtk, u8 bankDef);
u8 AI_TypeCalc(u16 move, u16 targetSpecies, u8 targetAbility);
u8 BankGetTurnOrder(u8 bank);
void SetMoveEffect(bool8 primary, u8 certain);
void BattleDestroyCursorAt(u8 cursorPosition);
void BattleCreateCursorAt(u8 cursorPosition);
void BattleDestroyYesNoCursorAt(u8 cursorPosition);
void BattleCreateYesNoCursorAt(u8 cursorPosition);
void BufferMoveToLearnIntoBattleTextBuff2(void);
void sub_8056A3C(u8 xStart, u8 yStart, u8 xEnd, u8 yEnd, u8 flags);
bool8 UproarWakeUpCheck(u8 bank);

View File

@ -622,6 +622,8 @@
#define KEY_OR_INTR 0x0000
#define KEY_AND_INTR 0x8000
#define DPAD_ANY ((DPAD_RIGHT | DPAD_LEFT | DPAD_UP | DPAD_DOWN))
// interrupt flags
#define INTR_FLAG_VBLANK (1 << 0)
#define INTR_FLAG_HBLANK (1 << 1)

View File

@ -643,6 +643,7 @@ void PartySpreadPokerus(struct Pokemon *party);
s8 GetMonFlavourRelation(struct Pokemon *mon, u8 a2);
s8 GetFlavourRelationByPersonality(u32 personality, u8 a2);
u8 GetItemEffectParamOffset(u16 itemId, u8 effectByte, u8 effectBit);
u8 GetDefaultMoveTarget(u8 atkBank);
#include "sprite.h"

View File

@ -61,10 +61,13 @@ SECTIONS {
src/battle_util.o(.text);
src/battle_script_commands.o(.text);
asm/battle_5.o(.text);
src/battle_controller_player.o(.text);
asm/battle_controller_player.o(.text);
asm/battle_7.o(.text);
src/battle_controller_opponent.o(.text);
asm/battle_controller_opponent.o(.text);
src/battle_ai_switch_items.o(.text);
src/battle_controller_linkopponent.o(.text);
asm/battle_controller_linkopponent.o(.text);
src/pokemon_1.o(.text);
asm/pokemon_1.o(.text);
@ -208,6 +211,7 @@ SECTIONS {
src/roamer.o(.text);
asm/battle_tower.o(.text);
asm/use_pokeblock.o(.text);
src/battle_controller_wally.o(.text);
asm/battle_controller_wally.o(.text);
asm/player_pc.o(.text);
asm/intro.o(.text);
@ -330,10 +334,10 @@ SECTIONS {
src/battle_2.o(.rodata);
src/battle_util.o(.rodata);
src/battle_script_commands.o(.rodata);
data/battle_controller_player.o(.rodata);
src/battle_controller_player.o(.rodata);
data/smokescreen.o(.rodata);
data/battle_controller_opponent.o(.rodata);
data/battle_controller_link_opponent.o(.rodata);
src/battle_controller_opponent.o(.rodata);
src/battle_controller_linkopponent.o(.rodata);
data/data2c.o(.rodata);
src/trig.o(.rodata);
src/util.o(.rodata);
@ -425,7 +429,7 @@ SECTIONS {
src/roamer.o(.rodata);
data/battle_tower.o(.rodata);
data/use_pokeblock.o(.rodata);
data/battle_controller_wally.o(.rodata);
src/battle_controller_wally.o(.rodata);
data/player_pc.o(.rodata);
data/intro.o(.rodata);
data/field_region_map.o(.rodata);

View File

@ -2257,7 +2257,7 @@ static void sub_803939C(void)
sub_8056A3C(0x18, 8, 0x1D, 0xD, 0);
sub_814F9EC(gText_BattleYesNoChoice, 0xC);
gBattleCommunication[CURSOR_POSITION] = 1;
BattleCreateCursorAt(1);
BattleCreateYesNoCursorAt(1);
gBattleCommunication[MULTIUSE_STATE]++;
}
break;
@ -2267,9 +2267,9 @@ static void sub_803939C(void)
if (gBattleCommunication[CURSOR_POSITION] != 0)
{
PlaySE(SE_SELECT);
BattleDestroyCursorAt(gBattleCommunication[CURSOR_POSITION]);
BattleDestroyYesNoCursorAt(gBattleCommunication[CURSOR_POSITION]);
gBattleCommunication[CURSOR_POSITION] = 0;
BattleCreateCursorAt(0);
BattleCreateYesNoCursorAt(0);
}
}
else if (gMain.newKeys & DPAD_DOWN)
@ -2277,9 +2277,9 @@ static void sub_803939C(void)
if (gBattleCommunication[CURSOR_POSITION] == 0)
{
PlaySE(SE_SELECT);
BattleDestroyCursorAt(gBattleCommunication[CURSOR_POSITION]);
BattleDestroyYesNoCursorAt(gBattleCommunication[CURSOR_POSITION]);
gBattleCommunication[CURSOR_POSITION] = 1;
BattleCreateCursorAt(1);
BattleCreateYesNoCursorAt(1);
}
}
else if (gMain.newKeys & A_BUTTON)

View File

@ -0,0 +1,143 @@
#include "global.h"
#include "battle.h"
#include "battle_controllers.h"
#include "battle_message.h"
#include "battle_interface.h"
#include "battle_anim.h"
#include "link.h"
extern u8 gActiveBank;
extern bool8 gDoingBattleAnim;
extern u8 gUnknown_020244CC;
extern void (*gBattleBankFunc[BATTLE_BANKS_COUNT])(void);
// this file's functions
void LinkOpponentHandleGetMonData(void);
void LinkOpponentHandleGetRawMonData(void);
void LinkOpponentHandleSetMonData(void);
void LinkOpponentHandleSetRawMonData(void);
void LinkOpponentHandleLoadMonSprite(void);
void LinkOpponentHandleSwitchInAnim(void);
void LinkOpponentHandleReturnMonToBall(void);
void LinkOpponentHandleDrawTrainerPic(void);
void LinkOpponentHandleTrainerSlide(void);
void LinkOpponentHandleTrainerSlideBack(void);
void LinkOpponentHandleFaintAnimation(void);
void LinkOpponentHandleCmd11(void);
void LinkOpponentHandleCmd12(void);
void LinkOpponentHandleBallThrow(void);
void LinkOpponentHandlePause(void);
void LinkOpponentHandleMoveAnimation(void);
void LinkOpponentHandlePrintString(void);
void LinkOpponentHandlePrintStringPlayerOnly(void);
void LinkOpponentHandleChooseAction(void);
void LinkOpponentHandleCmd19(void);
void LinkOpponentHandleChooseMove(void);
void LinkOpponentHandleOpenBag(void);
void LinkOpponentHandleChoosePokemon(void);
void LinkOpponentHandleCmd23(void);
void LinkOpponentHandleHealthBarUpdate(void);
void LinkOpponentHandleExpUpdate(void);
void LinkOpponentHandleStatusIconUpdate(void);
void LinkOpponentHandleStatusAnimation(void);
void LinkOpponentHandleStatusXor(void);
void LinkOpponentHandleDataTransfer(void);
void LinkOpponentHandleDMA3Transfer(void);
void LinkOpponentHandlePlayBGM(void);
void LinkOpponentHandleCmd32(void);
void LinkOpponentHandleCmd33(void);
void LinkOpponentHandleCmd34(void);
void LinkOpponentHandleCmd35(void);
void LinkOpponentHandleCmd36(void);
void LinkOpponentHandleCmd37(void);
void LinkOpponentHandleCmd38(void);
void LinkOpponentHandleCmd39(void);
void LinkOpponentHandleCmd40(void);
void LinkOpponentHandleHitAnimation(void);
void LinkOpponentHandleCmd42(void);
void LinkOpponentHandleEffectivenessSound(void);
void LinkOpponentHandlePlayFanfareOrBGM(void);
void LinkOpponentHandleFaintingCry(void);
void LinkOpponentHandleIntroSlide(void);
void LinkOpponentHandleIntroTrainerBallThrow(void);
void LinkOpponentHandleDrawPartyStatusSummary(void);
void LinkOpponentHandleCmd49(void);
void LinkOpponentHandleCmd50(void);
void LinkOpponentHandleSpriteInvisibility(void);
void LinkOpponentHandleBattleAnimation(void);
void LinkOpponentHandleLinkStandbyMsg(void);
void LinkOpponentHandleResetActionMoveSelection(void);
void LinkOpponentHandleCmd55(void);
void nullsub_92(void);
void LinkOpponentBufferRunCommand(void);
void (*const gLinkOpponentBufferCommands[CONTOLLER_CMDS_CONT])(void) =
{
LinkOpponentHandleGetMonData,
LinkOpponentHandleGetRawMonData,
LinkOpponentHandleSetMonData,
LinkOpponentHandleSetRawMonData,
LinkOpponentHandleLoadMonSprite,
LinkOpponentHandleSwitchInAnim,
LinkOpponentHandleReturnMonToBall,
LinkOpponentHandleDrawTrainerPic,
LinkOpponentHandleTrainerSlide,
LinkOpponentHandleTrainerSlideBack,
LinkOpponentHandleFaintAnimation,
LinkOpponentHandleCmd11,
LinkOpponentHandleCmd12,
LinkOpponentHandleBallThrow,
LinkOpponentHandlePause,
LinkOpponentHandleMoveAnimation,
LinkOpponentHandlePrintString,
LinkOpponentHandlePrintStringPlayerOnly,
LinkOpponentHandleChooseAction,
LinkOpponentHandleCmd19,
LinkOpponentHandleChooseMove,
LinkOpponentHandleOpenBag,
LinkOpponentHandleChoosePokemon,
LinkOpponentHandleCmd23,
LinkOpponentHandleHealthBarUpdate,
LinkOpponentHandleExpUpdate,
LinkOpponentHandleStatusIconUpdate,
LinkOpponentHandleStatusAnimation,
LinkOpponentHandleStatusXor,
LinkOpponentHandleDataTransfer,
LinkOpponentHandleDMA3Transfer,
LinkOpponentHandlePlayBGM,
LinkOpponentHandleCmd32,
LinkOpponentHandleCmd33,
LinkOpponentHandleCmd34,
LinkOpponentHandleCmd35,
LinkOpponentHandleCmd36,
LinkOpponentHandleCmd37,
LinkOpponentHandleCmd38,
LinkOpponentHandleCmd39,
LinkOpponentHandleCmd40,
LinkOpponentHandleHitAnimation,
LinkOpponentHandleCmd42,
LinkOpponentHandleEffectivenessSound,
LinkOpponentHandlePlayFanfareOrBGM,
LinkOpponentHandleFaintingCry,
LinkOpponentHandleIntroSlide,
LinkOpponentHandleIntroTrainerBallThrow,
LinkOpponentHandleDrawPartyStatusSummary,
LinkOpponentHandleCmd49,
LinkOpponentHandleCmd50,
LinkOpponentHandleSpriteInvisibility,
LinkOpponentHandleBattleAnimation,
LinkOpponentHandleLinkStandbyMsg,
LinkOpponentHandleResetActionMoveSelection,
LinkOpponentHandleCmd55,
nullsub_92
};
void nullsub_28(void)
{
}
void SetBankFuncToLinkOpponentBufferRunCommand(void)
{
gBattleBankFunc[gActiveBank] = LinkOpponentBufferRunCommand;
}

View File

@ -0,0 +1,146 @@
#include "global.h"
#include "battle.h"
#include "battle_controllers.h"
#include "battle_message.h"
#include "battle_interface.h"
#include "battle_anim.h"
#include "link.h"
extern u8 gActiveBank;
extern bool8 gDoingBattleAnim;
extern u8 gUnknown_020244CC;
extern void (*gBattleBankFunc[BATTLE_BANKS_COUNT])(void);
// this file's functions
void OpponentHandleGetMonData(void);
void OpponentHandleGetRawMonData(void);
void OpponentHandleSetMonData(void);
void OpponentHandleSetRawMonData(void);
void OpponentHandleLoadMonSprite(void);
void OpponentHandleSwitchInAnim(void);
void OpponentHandleReturnMonToBall(void);
void OpponentHandleDrawTrainerPic(void);
void OpponentHandleTrainerSlide(void);
void OpponentHandleTrainerSlideBack(void);
void OpponentHandleFaintAnimation(void);
void OpponentHandleCmd11(void);
void OpponentHandleCmd12(void);
void OpponentHandleBallThrow(void);
void OpponentHandlePause(void);
void OpponentHandleMoveAnimation(void);
void OpponentHandlePrintString(void);
void OpponentHandlePrintStringPlayerOnly(void);
void OpponentHandleChooseAction(void);
void OpponentHandleCmd19(void);
void OpponentHandleChooseMove(void);
void OpponentHandleOpenBag(void);
void OpponentHandleChoosePokemon(void);
void OpponentHandleCmd23(void);
void OpponentHandleHealthBarUpdate(void);
void OpponentHandleExpUpdate(void);
void OpponentHandleStatusIconUpdate(void);
void OpponentHandleStatusAnimation(void);
void OpponentHandleStatusXor(void);
void OpponentHandleDataTransfer(void);
void OpponentHandleDMA3Transfer(void);
void OpponentHandlePlayBGM(void);
void OpponentHandleCmd32(void);
void OpponentHandleCmd33(void);
void OpponentHandleCmd34(void);
void OpponentHandleCmd35(void);
void OpponentHandleCmd36(void);
void OpponentHandleCmd37(void);
void OpponentHandleCmd38(void);
void OpponentHandleCmd39(void);
void OpponentHandleCmd40(void);
void OpponentHandleHitAnimation(void);
void OpponentHandleCmd42(void);
void OpponentHandleEffectivenessSound(void);
void OpponentHandlePlayFanfareOrBGM(void);
void OpponentHandleFaintingCry(void);
void OpponentHandleIntroSlide(void);
void OpponentHandleIntroTrainerBallThrow(void);
void OpponentHandleDrawPartyStatusSummary(void);
void OpponentHandleCmd49(void);
void OpponentHandleCmd50(void);
void OpponentHandleSpriteInvisibility(void);
void OpponentHandleBattleAnimation(void);
void OpponentHandleLinkStandbyMsg(void);
void OpponentHandleResetActionMoveSelection(void);
void OpponentHandleCmd55(void);
void nullsub_91(void);
void OpponentBufferRunCommand(void);
void (*const gOpponentBufferCommands[CONTOLLER_CMDS_CONT])(void) =
{
OpponentHandleGetMonData,
OpponentHandleGetRawMonData,
OpponentHandleSetMonData,
OpponentHandleSetRawMonData,
OpponentHandleLoadMonSprite,
OpponentHandleSwitchInAnim,
OpponentHandleReturnMonToBall,
OpponentHandleDrawTrainerPic,
OpponentHandleTrainerSlide,
OpponentHandleTrainerSlideBack,
OpponentHandleFaintAnimation,
OpponentHandleCmd11,
OpponentHandleCmd12,
OpponentHandleBallThrow,
OpponentHandlePause,
OpponentHandleMoveAnimation,
OpponentHandlePrintString,
OpponentHandlePrintStringPlayerOnly,
OpponentHandleChooseAction,
OpponentHandleCmd19,
OpponentHandleChooseMove,
OpponentHandleOpenBag,
OpponentHandleChoosePokemon,
OpponentHandleCmd23,
OpponentHandleHealthBarUpdate,
OpponentHandleExpUpdate,
OpponentHandleStatusIconUpdate,
OpponentHandleStatusAnimation,
OpponentHandleStatusXor,
OpponentHandleDataTransfer,
OpponentHandleDMA3Transfer,
OpponentHandlePlayBGM,
OpponentHandleCmd32,
OpponentHandleCmd33,
OpponentHandleCmd34,
OpponentHandleCmd35,
OpponentHandleCmd36,
OpponentHandleCmd37,
OpponentHandleCmd38,
OpponentHandleCmd39,
OpponentHandleCmd40,
OpponentHandleHitAnimation,
OpponentHandleCmd42,
OpponentHandleEffectivenessSound,
OpponentHandlePlayFanfareOrBGM,
OpponentHandleFaintingCry,
OpponentHandleIntroSlide,
OpponentHandleIntroTrainerBallThrow,
OpponentHandleDrawPartyStatusSummary,
OpponentHandleCmd49,
OpponentHandleCmd50,
OpponentHandleSpriteInvisibility,
OpponentHandleBattleAnimation,
OpponentHandleLinkStandbyMsg,
OpponentHandleResetActionMoveSelection,
OpponentHandleCmd55,
nullsub_91
};
// unknown unused data
static const u8 gUnknown_0831C7AC[] = {0xB0, 0xB0, 0xC8, 0x98, 0x28, 0x28, 0x28, 0x20};
void nullsub_26(void)
{
}
void SetBankFuncToOpponentBufferRunCommand(void)
{
gBattleBankFunc[gActiveBank] = OpponentBufferRunCommand;
}

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,147 @@
#include "global.h"
#include "battle.h"
#include "battle_controllers.h"
#include "battle_message.h"
#include "battle_interface.h"
#include "battle_anim.h"
#include "link.h"
extern u8 gActiveBank;
extern bool8 gDoingBattleAnim;
extern u8 gUnknown_020244CC;
extern void (*gBattleBankFunc[BATTLE_BANKS_COUNT])(void);
// this file's functions
void WallyHandleGetMonData(void);
void WallyHandleGetRawMonData(void);
void WallyHandleSetMonData(void);
void WallyHandleSetRawMonData(void);
void WallyHandleLoadMonSprite(void);
void WallyHandleSwitchInAnim(void);
void WallyHandleReturnMonToBall(void);
void WallyHandleDrawTrainerPic(void);
void WallyHandleTrainerSlide(void);
void WallyHandleTrainerSlideBack(void);
void WallyHandleFaintAnimation(void);
void WallyHandleCmd11(void);
void WallyHandleCmd12(void);
void WallyHandleBallThrow(void);
void WallyHandlePause(void);
void WallyHandleMoveAnimation(void);
void WallyHandlePrintString(void);
void WallyHandlePrintStringPlayerOnly(void);
void WallyHandleChooseAction(void);
void WallyHandleCmd19(void);
void WallyHandleChooseMove(void);
void WallyHandleOpenBag(void);
void WallyHandleChoosePokemon(void);
void WallyHandleCmd23(void);
void WallyHandleHealthBarUpdate(void);
void WallyHandleExpUpdate(void);
void WallyHandleStatusIconUpdate(void);
void WallyHandleStatusAnimation(void);
void WallyHandleStatusXor(void);
void WallyHandleDataTransfer(void);
void WallyHandleDMA3Transfer(void);
void WallyHandlePlayBGM(void);
void WallyHandleCmd32(void);
void WallyHandleCmd33(void);
void WallyHandleCmd34(void);
void WallyHandleCmd35(void);
void WallyHandleCmd36(void);
void WallyHandleCmd37(void);
void WallyHandleCmd38(void);
void WallyHandleCmd39(void);
void WallyHandleCmd40(void);
void WallyHandleHitAnimation(void);
void WallyHandleCmd42(void);
void WallyHandleEffectivenessSound(void);
void WallyHandlePlayFanfareOrBGM(void);
void WallyHandleFaintingCry(void);
void WallyHandleIntroSlide(void);
void WallyHandleIntroTrainerBallThrow(void);
void WallyHandleDrawPartyStatusSummary(void);
void WallyHandleCmd49(void);
void WallyHandleCmd50(void);
void WallyHandleSpriteInvisibility(void);
void WallyHandleBattleAnimation(void);
void WallyHandleLinkStandbyMsg(void);
void WallyHandleResetActionMoveSelection(void);
void WallyHandleCmd55(void);
void nullsub_118(void);
void WallyBufferRunCommand(void);
void (*const gWallyBufferCommands[CONTOLLER_CMDS_CONT])(void) =
{
WallyHandleGetMonData,
WallyHandleGetRawMonData,
WallyHandleSetMonData,
WallyHandleSetRawMonData,
WallyHandleLoadMonSprite,
WallyHandleSwitchInAnim,
WallyHandleReturnMonToBall,
WallyHandleDrawTrainerPic,
WallyHandleTrainerSlide,
WallyHandleTrainerSlideBack,
WallyHandleFaintAnimation,
WallyHandleCmd11,
WallyHandleCmd12,
WallyHandleBallThrow,
WallyHandlePause,
WallyHandleMoveAnimation,
WallyHandlePrintString,
WallyHandlePrintStringPlayerOnly,
WallyHandleChooseAction,
WallyHandleCmd19,
WallyHandleChooseMove,
WallyHandleOpenBag,
WallyHandleChoosePokemon,
WallyHandleCmd23,
WallyHandleHealthBarUpdate,
WallyHandleExpUpdate,
WallyHandleStatusIconUpdate,
WallyHandleStatusAnimation,
WallyHandleStatusXor,
WallyHandleDataTransfer,
WallyHandleDMA3Transfer,
WallyHandlePlayBGM,
WallyHandleCmd32,
WallyHandleCmd33,
WallyHandleCmd34,
WallyHandleCmd35,
WallyHandleCmd36,
WallyHandleCmd37,
WallyHandleCmd38,
WallyHandleCmd39,
WallyHandleCmd40,
WallyHandleHitAnimation,
WallyHandleCmd42,
WallyHandleEffectivenessSound,
WallyHandlePlayFanfareOrBGM,
WallyHandleFaintingCry,
WallyHandleIntroSlide,
WallyHandleIntroTrainerBallThrow,
WallyHandleDrawPartyStatusSummary,
WallyHandleCmd49,
WallyHandleCmd50,
WallyHandleSpriteInvisibility,
WallyHandleBattleAnimation,
WallyHandleLinkStandbyMsg,
WallyHandleResetActionMoveSelection,
WallyHandleCmd55,
nullsub_118
};
void nullsub_117(void)
{
}
void SetBankFuncToWallyBufferRunCommand(void)
{
gBattleBankFunc[gActiveBank] = WallyBufferRunCommand;
gBattleStruct->field_94 = 0;
gBattleStruct->field_95 = 0;
gBattleStruct->field_96 = 0;
gBattleStruct->field_97 = 0;
}

View File

@ -27,12 +27,6 @@ enum
EXP_BAR
};
enum
{
HP_CURRENT,
HP_MAX
};
struct TestingBar
{
s32 maxValue;

View File

@ -6118,22 +6118,22 @@ static void atk5A_yesnoboxlearnmove(void)
sub_814F9EC(gText_BattleYesNoChoice, 0xC);
gBattleScripting.learnMoveState++;
gBattleCommunication[CURSOR_POSITION] = 0;
BattleCreateCursorAt(0);
BattleCreateYesNoCursorAt(0);
break;
case 1:
if (gMain.newKeys & DPAD_UP && gBattleCommunication[CURSOR_POSITION] != 0)
{
PlaySE(SE_SELECT);
BattleDestroyCursorAt(gBattleCommunication[CURSOR_POSITION]);
BattleDestroyYesNoCursorAt(gBattleCommunication[CURSOR_POSITION]);
gBattleCommunication[CURSOR_POSITION] = 0;
BattleCreateCursorAt(0);
BattleCreateYesNoCursorAt(0);
}
if (gMain.newKeys & DPAD_DOWN && gBattleCommunication[CURSOR_POSITION] == 0)
{
PlaySE(SE_SELECT);
BattleDestroyCursorAt(gBattleCommunication[CURSOR_POSITION]);
BattleDestroyYesNoCursorAt(gBattleCommunication[CURSOR_POSITION]);
gBattleCommunication[CURSOR_POSITION] = 1;
BattleCreateCursorAt(1);
BattleCreateYesNoCursorAt(1);
}
if (gMain.newKeys & A_BUTTON)
{
@ -6235,22 +6235,22 @@ static void atk5B_yesnoboxstoplearningmove(void)
sub_814F9EC(gText_BattleYesNoChoice, 0xC);
gBattleScripting.learnMoveState++;
gBattleCommunication[CURSOR_POSITION] = 0;
BattleCreateCursorAt(0);
BattleCreateYesNoCursorAt(0);
break;
case 1:
if (gMain.newKeys & DPAD_UP && gBattleCommunication[CURSOR_POSITION] != 0)
{
PlaySE(SE_SELECT);
BattleDestroyCursorAt(gBattleCommunication[CURSOR_POSITION]);
BattleDestroyYesNoCursorAt(gBattleCommunication[CURSOR_POSITION]);
gBattleCommunication[CURSOR_POSITION] = 0;
BattleCreateCursorAt(0);
BattleCreateYesNoCursorAt(0);
}
if (gMain.newKeys & DPAD_DOWN && gBattleCommunication[CURSOR_POSITION] == 0)
{
PlaySE(SE_SELECT);
BattleDestroyCursorAt(gBattleCommunication[CURSOR_POSITION]);
BattleDestroyYesNoCursorAt(gBattleCommunication[CURSOR_POSITION]);
gBattleCommunication[CURSOR_POSITION] = 1;
BattleCreateCursorAt(1);
BattleCreateYesNoCursorAt(1);
}
if (gMain.newKeys & A_BUTTON)
{
@ -6531,22 +6531,22 @@ static void atk67_yesnobox(void)
sub_814F9EC(gText_BattleYesNoChoice, 0xC);
gBattleCommunication[0]++;
gBattleCommunication[CURSOR_POSITION] = 0;
BattleCreateCursorAt(0);
BattleCreateYesNoCursorAt(0);
break;
case 1:
if (gMain.newKeys & DPAD_UP && gBattleCommunication[CURSOR_POSITION] != 0)
{
PlaySE(SE_SELECT);
BattleDestroyCursorAt(gBattleCommunication[CURSOR_POSITION]);
BattleDestroyYesNoCursorAt(gBattleCommunication[CURSOR_POSITION]);
gBattleCommunication[CURSOR_POSITION] = 0;
BattleCreateCursorAt(0);
BattleCreateYesNoCursorAt(0);
}
if (gMain.newKeys & DPAD_DOWN && gBattleCommunication[CURSOR_POSITION] == 0)
{
PlaySE(SE_SELECT);
BattleDestroyCursorAt(gBattleCommunication[CURSOR_POSITION]);
BattleDestroyYesNoCursorAt(gBattleCommunication[CURSOR_POSITION]);
gBattleCommunication[CURSOR_POSITION] = 1;
BattleCreateCursorAt(1);
BattleCreateYesNoCursorAt(1);
}
if (gMain.newKeys & B_BUTTON)
{
@ -11286,7 +11286,7 @@ void sub_8056A3C(u8 xStart, u8 yStart, u8 xEnd, u8 yEnd, u8 flags)
}
}
void BattleCreateCursorAt(u8 cursorPosition)
void BattleCreateYesNoCursorAt(u8 cursorPosition)
{
u16 src[2];
src[0] = 1;
@ -11296,7 +11296,7 @@ void BattleCreateCursorAt(u8 cursorPosition)
CopyBgTilemapBufferToVram(0);
}
void BattleDestroyCursorAt(u8 cursorPosition)
void BattleDestroyYesNoCursorAt(u8 cursorPosition)
{
u16 src[2];
src[0] = 0x1016;
@ -11315,22 +11315,22 @@ static void atkF3_nickname_caught_poke(void)
sub_814F9EC(gText_BattleYesNoChoice, 0xC);
gBattleCommunication[MULTIUSE_STATE]++;
gBattleCommunication[CURSOR_POSITION] = 0;
BattleCreateCursorAt(0);
BattleCreateYesNoCursorAt(0);
break;
case 1:
if (gMain.newKeys & DPAD_UP && gBattleCommunication[CURSOR_POSITION] != 0)
{
PlaySE(SE_SELECT);
BattleDestroyCursorAt(gBattleCommunication[CURSOR_POSITION]);
BattleDestroyYesNoCursorAt(gBattleCommunication[CURSOR_POSITION]);
gBattleCommunication[CURSOR_POSITION] = 0;
BattleCreateCursorAt(0);
BattleCreateYesNoCursorAt(0);
}
if (gMain.newKeys & DPAD_DOWN && gBattleCommunication[CURSOR_POSITION] == 0)
{
PlaySE(SE_SELECT);
BattleDestroyCursorAt(gBattleCommunication[CURSOR_POSITION]);
BattleDestroyYesNoCursorAt(gBattleCommunication[CURSOR_POSITION]);
gBattleCommunication[CURSOR_POSITION] = 1;
BattleCreateCursorAt(1);
BattleCreateYesNoCursorAt(1);
}
if (gMain.newKeys & A_BUTTON)
{

View File

@ -84,7 +84,7 @@ bool8 ShouldGetStatBadgeBoost(u16 badgeFlag, u8 bank)
return FALSE;
}
u8 sub_8069F34(u8 bank)
u8 GetDefaultMoveTarget(u8 bank)
{
u8 status = GetBankIdentity(bank) & 1;

View File

@ -221,10 +221,10 @@ gBattleBankFunc: @ 3005D60
gHealthBoxesIds: @ 3005D70
.space 0x4
gUnknown_03005D74: @ 3005D74
gMultiUsePlayerCursor: @ 3005D74
.space 0x4
gUnknown_03005D78: @ 3005D78
gNumberOfMovesToChoose: @ 3005D78
.space 0x4
gUnknown_03005D7C: @ 3005D7C