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

View File

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

File diff suppressed because it is too large Load Diff

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@ -547,7 +547,7 @@ _081358D4:
thumb_func_start sub_81358F4 thumb_func_start sub_81358F4
sub_81358F4: @ 81358F4 sub_81358F4: @ 81358F4
push {lr} push {lr}
ldr r1, =sub_8059D50 ldr r1, =SetCB2ToReshowScreenAfterMenu2
movs r0, 0x1 movs r0, 0x1
bl sub_81357FC bl sub_81357FC
pop {r0} 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 BattleLoadPlayerMonSpriteGfx(struct Pokemon *mon, u8 bank);
void BattleLoadOpponentMonSpriteGfx(struct Pokemon *mon, u8 bank); void BattleLoadOpponentMonSpriteGfx(struct Pokemon *mon, u8 bank);
void BattleLoadSubstituteSpriteGfx(u8 bank, bool8 arg1); void BattleLoadSubstituteSpriteGfx(u8 bank, bool8 arg1);
void nullsub_24(u16 arg0);
void nullsub_25(u8 arg0);
enum enum
{ {
@ -910,7 +912,17 @@ struct BattleHealthboxInfo
u8 flag_x4 : 1; u8 flag_x4 : 1;
u8 flag_x8 : 1; u8 flag_x8 : 1;
u8 flag_x10 : 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_2;
u8 field_3; u8 field_3;
u8 field_4; u8 field_4;

View File

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

View File

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

View File

@ -3,6 +3,12 @@
#include "battle_controllers.h" #include "battle_controllers.h"
enum
{
HP_CURRENT,
HP_MAX
};
#define TAG_HEALTHBOX_PLAYER1_TILE 0xD6FF #define TAG_HEALTHBOX_PLAYER1_TILE 0xD6FF
#define TAG_HEALTHBOX_PLAYER2_TILE 0xD700 #define TAG_HEALTHBOX_PLAYER2_TILE 0xD700
#define TAG_HEALTHBOX_OPPONENT1_TILE 0xD701 #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 AI_TypeCalc(u16 move, u16 targetSpecies, u8 targetAbility);
u8 BankGetTurnOrder(u8 bank); u8 BankGetTurnOrder(u8 bank);
void SetMoveEffect(bool8 primary, u8 certain); void SetMoveEffect(bool8 primary, u8 certain);
void BattleDestroyCursorAt(u8 cursorPosition); void BattleDestroyYesNoCursorAt(u8 cursorPosition);
void BattleCreateCursorAt(u8 cursorPosition); void BattleCreateYesNoCursorAt(u8 cursorPosition);
void BufferMoveToLearnIntoBattleTextBuff2(void); void BufferMoveToLearnIntoBattleTextBuff2(void);
void sub_8056A3C(u8 xStart, u8 yStart, u8 xEnd, u8 yEnd, u8 flags); void sub_8056A3C(u8 xStart, u8 yStart, u8 xEnd, u8 yEnd, u8 flags);
bool8 UproarWakeUpCheck(u8 bank); bool8 UproarWakeUpCheck(u8 bank);

View File

@ -622,6 +622,8 @@
#define KEY_OR_INTR 0x0000 #define KEY_OR_INTR 0x0000
#define KEY_AND_INTR 0x8000 #define KEY_AND_INTR 0x8000
#define DPAD_ANY ((DPAD_RIGHT | DPAD_LEFT | DPAD_UP | DPAD_DOWN))
// interrupt flags // interrupt flags
#define INTR_FLAG_VBLANK (1 << 0) #define INTR_FLAG_VBLANK (1 << 0)
#define INTR_FLAG_HBLANK (1 << 1) #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 GetMonFlavourRelation(struct Pokemon *mon, u8 a2);
s8 GetFlavourRelationByPersonality(u32 personality, u8 a2); s8 GetFlavourRelationByPersonality(u32 personality, u8 a2);
u8 GetItemEffectParamOffset(u16 itemId, u8 effectByte, u8 effectBit); u8 GetItemEffectParamOffset(u16 itemId, u8 effectByte, u8 effectBit);
u8 GetDefaultMoveTarget(u8 atkBank);
#include "sprite.h" #include "sprite.h"

View File

@ -61,10 +61,13 @@ SECTIONS {
src/battle_util.o(.text); src/battle_util.o(.text);
src/battle_script_commands.o(.text); src/battle_script_commands.o(.text);
asm/battle_5.o(.text); asm/battle_5.o(.text);
src/battle_controller_player.o(.text);
asm/battle_controller_player.o(.text); asm/battle_controller_player.o(.text);
asm/battle_7.o(.text); asm/battle_7.o(.text);
src/battle_controller_opponent.o(.text);
asm/battle_controller_opponent.o(.text); asm/battle_controller_opponent.o(.text);
src/battle_ai_switch_items.o(.text); src/battle_ai_switch_items.o(.text);
src/battle_controller_linkopponent.o(.text);
asm/battle_controller_linkopponent.o(.text); asm/battle_controller_linkopponent.o(.text);
src/pokemon_1.o(.text); src/pokemon_1.o(.text);
asm/pokemon_1.o(.text); asm/pokemon_1.o(.text);
@ -208,6 +211,7 @@ SECTIONS {
src/roamer.o(.text); src/roamer.o(.text);
asm/battle_tower.o(.text); asm/battle_tower.o(.text);
asm/use_pokeblock.o(.text); asm/use_pokeblock.o(.text);
src/battle_controller_wally.o(.text);
asm/battle_controller_wally.o(.text); asm/battle_controller_wally.o(.text);
asm/player_pc.o(.text); asm/player_pc.o(.text);
asm/intro.o(.text); asm/intro.o(.text);
@ -330,10 +334,10 @@ SECTIONS {
src/battle_2.o(.rodata); src/battle_2.o(.rodata);
src/battle_util.o(.rodata); src/battle_util.o(.rodata);
src/battle_script_commands.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/smokescreen.o(.rodata);
data/battle_controller_opponent.o(.rodata); src/battle_controller_opponent.o(.rodata);
data/battle_controller_link_opponent.o(.rodata); src/battle_controller_linkopponent.o(.rodata);
data/data2c.o(.rodata); data/data2c.o(.rodata);
src/trig.o(.rodata); src/trig.o(.rodata);
src/util.o(.rodata); src/util.o(.rodata);
@ -425,7 +429,7 @@ SECTIONS {
src/roamer.o(.rodata); src/roamer.o(.rodata);
data/battle_tower.o(.rodata); data/battle_tower.o(.rodata);
data/use_pokeblock.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/player_pc.o(.rodata);
data/intro.o(.rodata); data/intro.o(.rodata);
data/field_region_map.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_8056A3C(0x18, 8, 0x1D, 0xD, 0);
sub_814F9EC(gText_BattleYesNoChoice, 0xC); sub_814F9EC(gText_BattleYesNoChoice, 0xC);
gBattleCommunication[CURSOR_POSITION] = 1; gBattleCommunication[CURSOR_POSITION] = 1;
BattleCreateCursorAt(1); BattleCreateYesNoCursorAt(1);
gBattleCommunication[MULTIUSE_STATE]++; gBattleCommunication[MULTIUSE_STATE]++;
} }
break; break;
@ -2267,9 +2267,9 @@ static void sub_803939C(void)
if (gBattleCommunication[CURSOR_POSITION] != 0) if (gBattleCommunication[CURSOR_POSITION] != 0)
{ {
PlaySE(SE_SELECT); PlaySE(SE_SELECT);
BattleDestroyCursorAt(gBattleCommunication[CURSOR_POSITION]); BattleDestroyYesNoCursorAt(gBattleCommunication[CURSOR_POSITION]);
gBattleCommunication[CURSOR_POSITION] = 0; gBattleCommunication[CURSOR_POSITION] = 0;
BattleCreateCursorAt(0); BattleCreateYesNoCursorAt(0);
} }
} }
else if (gMain.newKeys & DPAD_DOWN) else if (gMain.newKeys & DPAD_DOWN)
@ -2277,9 +2277,9 @@ static void sub_803939C(void)
if (gBattleCommunication[CURSOR_POSITION] == 0) if (gBattleCommunication[CURSOR_POSITION] == 0)
{ {
PlaySE(SE_SELECT); PlaySE(SE_SELECT);
BattleDestroyCursorAt(gBattleCommunication[CURSOR_POSITION]); BattleDestroyYesNoCursorAt(gBattleCommunication[CURSOR_POSITION]);
gBattleCommunication[CURSOR_POSITION] = 1; gBattleCommunication[CURSOR_POSITION] = 1;
BattleCreateCursorAt(1); BattleCreateYesNoCursorAt(1);
} }
} }
else if (gMain.newKeys & A_BUTTON) 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 EXP_BAR
}; };
enum
{
HP_CURRENT,
HP_MAX
};
struct TestingBar struct TestingBar
{ {
s32 maxValue; s32 maxValue;

View File

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

View File

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

View File

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