split battle rodata

This commit is contained in:
DizzyEggg 2017-09-04 15:05:11 +02:00
parent 0b39bfb2c2
commit 1a9b1a45ca
18 changed files with 1374 additions and 967 deletions

File diff suppressed because it is too large Load Diff

View File

@ -18,14 +18,14 @@ SetBankFuncToLinkOpponentBufferRunCommand: @ 8064394
ldrb r0, [r0] ldrb r0, [r0]
lsls r0, 2 lsls r0, 2
adds r0, r1 adds r0, r1
ldr r1, =sub_80643B0 ldr r1, =LinkOpponentBufferRunCommand
str r1, [r0] str r1, [r0]
bx lr bx lr
.pool .pool
thumb_func_end SetBankFuncToLinkOpponentBufferRunCommand thumb_func_end SetBankFuncToLinkOpponentBufferRunCommand
thumb_func_start sub_80643B0 thumb_func_start LinkOpponentBufferRunCommand
sub_80643B0: @ 80643B0 LinkOpponentBufferRunCommand: @ 80643B0
push {lr} push {lr}
ldr r2, =gBattleExecBuffer ldr r2, =gBattleExecBuffer
ldr r1, =gBitTable ldr r1, =gBitTable
@ -44,7 +44,7 @@ sub_80643B0: @ 80643B0
ldrb r0, [r1] ldrb r0, [r1]
cmp r0, 0x38 cmp r0, 0x38
bhi _080643F8 bhi _080643F8
ldr r0, =gUnknown_0831C7B4 ldr r0, =gLinkOpponentBufferCommands
ldrb r1, [r1] ldrb r1, [r1]
lsls r1, 2 lsls r1, 2
adds r1, r0 adds r1, r0
@ -53,11 +53,11 @@ sub_80643B0: @ 80643B0
b _080643FC b _080643FC
.pool .pool
_080643F8: _080643F8:
bl sub_8065068 bl LinkOpponentBufferExecCompleted
_080643FC: _080643FC:
pop {r0} pop {r0}
bx r0 bx r0
thumb_func_end sub_80643B0 thumb_func_end LinkOpponentBufferRunCommand
thumb_func_start sub_8064400 thumb_func_start sub_8064400
sub_8064400: @ 8064400 sub_8064400: @ 8064400
@ -77,7 +77,7 @@ sub_8064400: @ 8064400
ldr r0, =SpriteCallbackDummy ldr r0, =SpriteCallbackDummy
cmp r1, r0 cmp r1, r0
bne _08064424 bne _08064424
bl sub_8065068 bl LinkOpponentBufferExecCompleted
_08064424: _08064424:
pop {r0} pop {r0}
bx r0 bx r0
@ -102,7 +102,7 @@ sub_8064438: @ 8064438
ldr r0, =SpriteCallbackDummy ldr r0, =SpriteCallbackDummy
cmp r1, r0 cmp r1, r0
bne _0806445C bne _0806445C
bl sub_8065068 bl LinkOpponentBufferExecCompleted
_0806445C: _0806445C:
pop {r0} pop {r0}
bx r0 bx r0
@ -147,7 +147,7 @@ sub_8064470: @ 8064470
lsls r0, 2 lsls r0, 2
adds r0, r5 adds r0, r5
bl DestroySprite bl DestroySprite
bl sub_8065068 bl LinkOpponentBufferExecCompleted
_080644C2: _080644C2:
pop {r4-r6} pop {r4-r6}
pop {r0} pop {r0}
@ -183,7 +183,7 @@ sub_80644D8: @ 80644D8
adds r0, r2 adds r0, r2
movs r1, 0 movs r1, 0
strb r1, [r0, 0x9] strb r1, [r0, 0x9]
bl sub_8065068 bl LinkOpponentBufferExecCompleted
_08064510: _08064510:
pop {r4} pop {r4}
pop {r0} pop {r0}
@ -949,7 +949,7 @@ _08064B7C:
bl FreeSpriteTilesByTag bl FreeSpriteTilesByTag
adds r0, r4, 0 adds r0, r4, 0
bl FreeSpritePaletteByTag bl FreeSpritePaletteByTag
bl sub_8065068 bl LinkOpponentBufferExecCompleted
_08064BB6: _08064BB6:
pop {r4-r7} pop {r4-r7}
pop {r0} pop {r0}
@ -989,7 +989,7 @@ sub_8064BC0: @ 8064BC0
b _08064C0C b _08064C0C
.pool .pool
_08064C08: _08064C08:
bl sub_8065068 bl LinkOpponentBufferExecCompleted
_08064C0C: _08064C0C:
pop {r4-r6} pop {r4-r6}
pop {r0} pop {r0}
@ -1018,7 +1018,7 @@ sub_8064C14: @ 8064C14
adds r0, r3, r0 adds r0, r3, r0
ldrb r0, [r0] ldrb r0, [r0]
bl sub_8072984 bl sub_8072984
bl sub_8065068 bl LinkOpponentBufferExecCompleted
_08064C42: _08064C42:
pop {r0} pop {r0}
bx r0 bx r0
@ -1066,7 +1066,7 @@ sub_8064C58: @ 8064C58
adds r0, r1 adds r0, r1
ldrb r0, [r0] ldrb r0, [r0]
bl sub_8072984 bl sub_8072984
bl sub_8065068 bl LinkOpponentBufferExecCompleted
_08064CB2: _08064CB2:
pop {r4-r6} pop {r4-r6}
pop {r0} pop {r0}
@ -1082,7 +1082,7 @@ sub_8064CCC: @ 8064CCC
lsls r0, 16 lsls r0, 16
cmp r0, 0 cmp r0, 0
bne _08064CDE bne _08064CDE
bl sub_8065068 bl LinkOpponentBufferExecCompleted
_08064CDE: _08064CDE:
pop {r0} pop {r0}
bx r0 bx r0
@ -1116,7 +1116,7 @@ sub_8064CE4: @ 8064CE4
strb r0, [r2] strb r0, [r2]
ldr r0, =gDoingBattleAnim ldr r0, =gDoingBattleAnim
strb r3, [r0] strb r3, [r0]
bl sub_8065068 bl LinkOpponentBufferExecCompleted
b _08064D5A b _08064D5A
.pool .pool
_08064D30: _08064D30:
@ -1239,7 +1239,7 @@ _08064E1A:
movs r2, 0x80 movs r2, 0x80
lsls r2, 1 lsls r2, 1
bl m4aMPlayVolumeControl bl m4aMPlayVolumeControl
bl sub_8065068 bl LinkOpponentBufferExecCompleted
_08064E2A: _08064E2A:
pop {r4} pop {r4}
pop {r0} pop {r0}
@ -1444,7 +1444,7 @@ sub_8065008: @ 8065008
ands r0, r1 ands r0, r1
cmp r0, 0 cmp r0, 0
bne _0806502A bne _0806502A
bl sub_8065068 bl LinkOpponentBufferExecCompleted
_0806502A: _0806502A:
pop {r0} pop {r0}
bx r0 bx r0
@ -1468,15 +1468,15 @@ sub_8065038: @ 8065038
ands r0, r1 ands r0, r1
cmp r0, 0 cmp r0, 0
bne _0806505A bne _0806505A
bl sub_8065068 bl LinkOpponentBufferExecCompleted
_0806505A: _0806505A:
pop {r0} pop {r0}
bx r0 bx r0
.pool .pool
thumb_func_end sub_8065038 thumb_func_end sub_8065038
thumb_func_start sub_8065068 thumb_func_start LinkOpponentBufferExecCompleted
sub_8065068: @ 8065068 LinkOpponentBufferExecCompleted: @ 8065068
push {r4,lr} push {r4,lr}
sub sp, 0x4 sub sp, 0x4
ldr r1, =gBattleBankFunc ldr r1, =gBattleBankFunc
@ -1484,7 +1484,7 @@ sub_8065068: @ 8065068
ldrb r0, [r4] ldrb r0, [r4]
lsls r0, 2 lsls r0, 2
adds r0, r1 adds r0, r1
ldr r1, =sub_80643B0 ldr r1, =LinkOpponentBufferRunCommand
str r1, [r0] str r1, [r0]
ldr r0, =gBattleTypeFlags ldr r0, =gBattleTypeFlags
ldr r0, [r0] ldr r0, [r0]
@ -1523,7 +1523,7 @@ _080650CE:
pop {r0} pop {r0}
bx r0 bx r0
.pool .pool
thumb_func_end sub_8065068 thumb_func_end LinkOpponentBufferExecCompleted
thumb_func_start dp01t_00_2_getattr thumb_func_start dp01t_00_2_getattr
dp01t_00_2_getattr: @ 80650E0 dp01t_00_2_getattr: @ 80650E0
@ -1573,7 +1573,7 @@ _0806513A:
movs r0, 0x1 movs r0, 0x1
mov r2, sp mov r2, sp
bl dp01_build_cmdbuf_x1D_1D_numargs_varargs bl dp01_build_cmdbuf_x1D_1D_numargs_varargs
bl sub_8065068 bl LinkOpponentBufferExecCompleted
add sp, 0x100 add sp, 0x100
pop {r4-r6} pop {r4-r6}
pop {r0} pop {r0}
@ -2461,7 +2461,7 @@ _080658EA:
thumb_func_start sub_8065900 thumb_func_start sub_8065900
sub_8065900: @ 8065900 sub_8065900: @ 8065900
push {lr} push {lr}
bl sub_8065068 bl LinkOpponentBufferExecCompleted
pop {r0} pop {r0}
bx r0 bx r0
thumb_func_end sub_8065900 thumb_func_end sub_8065900
@ -2503,7 +2503,7 @@ _0806594E:
cmp r5, 0x5 cmp r5, 0x5
bls _08065940 bls _08065940
_0806595A: _0806595A:
bl sub_8065068 bl LinkOpponentBufferExecCompleted
pop {r4,r5} pop {r4,r5}
pop {r0} pop {r0}
bx r0 bx r0
@ -3542,7 +3542,7 @@ _080662BA:
cmp r3, r0 cmp r3, r0
bcc _080662BA bcc _080662BA
_080662DC: _080662DC:
bl sub_8065068 bl LinkOpponentBufferExecCompleted
pop {r4-r7} pop {r4-r7}
pop {r0} pop {r0}
bx r0 bx r0
@ -3948,7 +3948,7 @@ _0806666C:
adds r0, r1 adds r0, r1
ldrb r0, [r0] ldrb r0, [r0]
bl sub_8072984 bl sub_8072984
bl sub_8065068 bl LinkOpponentBufferExecCompleted
_080666A8: _080666A8:
pop {r4-r6} pop {r4-r6}
pop {r0} pop {r0}
@ -4503,7 +4503,7 @@ _08066A76:
adds r0, r1 adds r0, r1
ldr r1, =sub_8064438 ldr r1, =sub_8064438
str r1, [r0] str r1, [r0]
bl sub_8065068 bl LinkOpponentBufferExecCompleted
pop {r3} pop {r3}
mov r8, r3 mov r8, r3
pop {r4-r6} pop {r4-r6}
@ -4666,7 +4666,7 @@ _08066CD0:
thumb_func_start sub_8066CEC thumb_func_start sub_8066CEC
sub_8066CEC: @ 8066CEC sub_8066CEC: @ 8066CEC
push {lr} push {lr}
bl sub_8065068 bl LinkOpponentBufferExecCompleted
pop {r0} pop {r0}
bx r0 bx r0
thumb_func_end sub_8066CEC thumb_func_end sub_8066CEC
@ -4674,7 +4674,7 @@ sub_8066CEC: @ 8066CEC
thumb_func_start sub_8066CF8 thumb_func_start sub_8066CF8
sub_8066CF8: @ 8066CF8 sub_8066CF8: @ 8066CF8
push {lr} push {lr}
bl sub_8065068 bl LinkOpponentBufferExecCompleted
pop {r0} pop {r0}
bx r0 bx r0
thumb_func_end sub_8066CF8 thumb_func_end sub_8066CF8
@ -4682,7 +4682,7 @@ sub_8066CF8: @ 8066CF8
thumb_func_start sub_8066D04 thumb_func_start sub_8066D04
sub_8066D04: @ 8066D04 sub_8066D04: @ 8066D04
push {lr} push {lr}
bl sub_8065068 bl LinkOpponentBufferExecCompleted
pop {r0} pop {r0}
bx r0 bx r0
thumb_func_end sub_8066D04 thumb_func_end sub_8066D04
@ -4690,7 +4690,7 @@ sub_8066D04: @ 8066D04
thumb_func_start sub_8066D10 thumb_func_start sub_8066D10
sub_8066D10: @ 8066D10 sub_8066D10: @ 8066D10
push {lr} push {lr}
bl sub_8065068 bl LinkOpponentBufferExecCompleted
pop {r0} pop {r0}
bx r0 bx r0
thumb_func_end sub_8066D10 thumb_func_end sub_8066D10
@ -4812,7 +4812,7 @@ _08066D32:
lsrs r3, r0, 24 lsrs r3, r0, 24
cmp r3, 0 cmp r3, 0
beq _08066E30 beq _08066E30
bl sub_8065068 bl LinkOpponentBufferExecCompleted
b _08066E58 b _08066E58
.pool .pool
_08066E30: _08066E30:
@ -5017,7 +5017,7 @@ _08066FA8:
lsls r0, 2 lsls r0, 2
adds r0, r2 adds r0, r2
strb r4, [r0, 0x4] strb r4, [r0, 0x4]
bl sub_8065068 bl LinkOpponentBufferExecCompleted
_08066FE4: _08066FE4:
pop {r3-r5} pop {r3-r5}
mov r8, r3 mov r8, r3
@ -5063,7 +5063,7 @@ sub_8066FF4: @ 8066FF4
thumb_func_start sub_806704C thumb_func_start sub_806704C
sub_806704C: @ 806704C sub_806704C: @ 806704C
push {lr} push {lr}
bl sub_8065068 bl LinkOpponentBufferExecCompleted
pop {r0} pop {r0}
bx r0 bx r0
thumb_func_end sub_806704C thumb_func_end sub_806704C
@ -5071,7 +5071,7 @@ sub_806704C: @ 806704C
thumb_func_start sub_8067058 thumb_func_start sub_8067058
sub_8067058: @ 8067058 sub_8067058: @ 8067058
push {lr} push {lr}
bl sub_8065068 bl LinkOpponentBufferExecCompleted
pop {r0} pop {r0}
bx r0 bx r0
thumb_func_end sub_8067058 thumb_func_end sub_8067058
@ -5079,7 +5079,7 @@ sub_8067058: @ 8067058
thumb_func_start sub_8067064 thumb_func_start sub_8067064
sub_8067064: @ 8067064 sub_8067064: @ 8067064
push {lr} push {lr}
bl sub_8065068 bl LinkOpponentBufferExecCompleted
pop {r0} pop {r0}
bx r0 bx r0
thumb_func_end sub_8067064 thumb_func_end sub_8067064
@ -5087,7 +5087,7 @@ sub_8067064: @ 8067064
thumb_func_start sub_8067070 thumb_func_start sub_8067070
sub_8067070: @ 8067070 sub_8067070: @ 8067070
push {lr} push {lr}
bl sub_8065068 bl LinkOpponentBufferExecCompleted
pop {r0} pop {r0}
bx r0 bx r0
thumb_func_end sub_8067070 thumb_func_end sub_8067070
@ -5095,7 +5095,7 @@ sub_8067070: @ 8067070
thumb_func_start sub_806707C thumb_func_start sub_806707C
sub_806707C: @ 806707C sub_806707C: @ 806707C
push {lr} push {lr}
bl sub_8065068 bl LinkOpponentBufferExecCompleted
pop {r0} pop {r0}
bx r0 bx r0
thumb_func_end sub_806707C thumb_func_end sub_806707C
@ -5103,7 +5103,7 @@ sub_806707C: @ 806707C
thumb_func_start sub_8067088 thumb_func_start sub_8067088
sub_8067088: @ 8067088 sub_8067088: @ 8067088
push {lr} push {lr}
bl sub_8065068 bl LinkOpponentBufferExecCompleted
pop {r0} pop {r0}
bx r0 bx r0
thumb_func_end sub_8067088 thumb_func_end sub_8067088
@ -5111,7 +5111,7 @@ sub_8067088: @ 8067088
thumb_func_start sub_8067094 thumb_func_start sub_8067094
sub_8067094: @ 8067094 sub_8067094: @ 8067094
push {lr} push {lr}
bl sub_8065068 bl LinkOpponentBufferExecCompleted
pop {r0} pop {r0}
bx r0 bx r0
thumb_func_end sub_8067094 thumb_func_end sub_8067094
@ -5215,7 +5215,7 @@ _0806715A:
thumb_func_start sub_8067190 thumb_func_start sub_8067190
sub_8067190: @ 8067190 sub_8067190: @ 8067190
push {lr} push {lr}
bl sub_8065068 bl LinkOpponentBufferExecCompleted
pop {r0} pop {r0}
bx r0 bx r0
thumb_func_end sub_8067190 thumb_func_end sub_8067190
@ -5319,7 +5319,7 @@ _08067264:
thumb_func_start sub_806727C thumb_func_start sub_806727C
sub_806727C: @ 806727C sub_806727C: @ 806727C
push {lr} push {lr}
bl sub_8065068 bl LinkOpponentBufferExecCompleted
pop {r0} pop {r0}
bx r0 bx r0
thumb_func_end sub_806727C thumb_func_end sub_806727C
@ -5327,7 +5327,7 @@ sub_806727C: @ 806727C
thumb_func_start sub_8067288 thumb_func_start sub_8067288
sub_8067288: @ 8067288 sub_8067288: @ 8067288
push {lr} push {lr}
bl sub_8065068 bl LinkOpponentBufferExecCompleted
pop {r0} pop {r0}
bx r0 bx r0
thumb_func_end sub_8067288 thumb_func_end sub_8067288
@ -5335,7 +5335,7 @@ sub_8067288: @ 8067288
thumb_func_start sub_8067294 thumb_func_start sub_8067294
sub_8067294: @ 8067294 sub_8067294: @ 8067294
push {lr} push {lr}
bl sub_8065068 bl LinkOpponentBufferExecCompleted
pop {r0} pop {r0}
bx r0 bx r0
thumb_func_end sub_8067294 thumb_func_end sub_8067294
@ -5343,7 +5343,7 @@ sub_8067294: @ 8067294
thumb_func_start sub_80672A0 thumb_func_start sub_80672A0
sub_80672A0: @ 80672A0 sub_80672A0: @ 80672A0
push {lr} push {lr}
bl sub_8065068 bl LinkOpponentBufferExecCompleted
pop {r0} pop {r0}
bx r0 bx r0
thumb_func_end sub_80672A0 thumb_func_end sub_80672A0
@ -5351,7 +5351,7 @@ sub_80672A0: @ 80672A0
thumb_func_start sub_80672AC thumb_func_start sub_80672AC
sub_80672AC: @ 80672AC sub_80672AC: @ 80672AC
push {lr} push {lr}
bl sub_8065068 bl LinkOpponentBufferExecCompleted
pop {r0} pop {r0}
bx r0 bx r0
thumb_func_end sub_80672AC thumb_func_end sub_80672AC
@ -5359,7 +5359,7 @@ sub_80672AC: @ 80672AC
thumb_func_start sub_80672B8 thumb_func_start sub_80672B8
sub_80672B8: @ 80672B8 sub_80672B8: @ 80672B8
push {lr} push {lr}
bl sub_8065068 bl LinkOpponentBufferExecCompleted
pop {r0} pop {r0}
bx r0 bx r0
thumb_func_end sub_80672B8 thumb_func_end sub_80672B8
@ -5367,7 +5367,7 @@ sub_80672B8: @ 80672B8
thumb_func_start sub_80672C4 thumb_func_start sub_80672C4
sub_80672C4: @ 80672C4 sub_80672C4: @ 80672C4
push {lr} push {lr}
bl sub_8065068 bl LinkOpponentBufferExecCompleted
pop {r0} pop {r0}
bx r0 bx r0
thumb_func_end sub_80672C4 thumb_func_end sub_80672C4
@ -5375,7 +5375,7 @@ sub_80672C4: @ 80672C4
thumb_func_start sub_80672D0 thumb_func_start sub_80672D0
sub_80672D0: @ 80672D0 sub_80672D0: @ 80672D0
push {lr} push {lr}
bl sub_8065068 bl LinkOpponentBufferExecCompleted
pop {r0} pop {r0}
bx r0 bx r0
thumb_func_end sub_80672D0 thumb_func_end sub_80672D0
@ -5383,7 +5383,7 @@ sub_80672D0: @ 80672D0
thumb_func_start sub_80672DC thumb_func_start sub_80672DC
sub_80672DC: @ 80672DC sub_80672DC: @ 80672DC
push {lr} push {lr}
bl sub_8065068 bl LinkOpponentBufferExecCompleted
pop {r0} pop {r0}
bx r0 bx r0
thumb_func_end sub_80672DC thumb_func_end sub_80672DC
@ -5397,7 +5397,7 @@ sub_80672E8: @ 80672E8
negs r0, r0 negs r0, r0
ands r0, r1 ands r0, r1
strb r0, [r2] strb r0, [r2]
bl sub_8065068 bl LinkOpponentBufferExecCompleted
pop {r0} pop {r0}
bx r0 bx r0
.pool .pool
@ -5422,7 +5422,7 @@ sub_8067304: @ 8067304
ands r0, r2 ands r0, r2
orrs r0, r1 orrs r0, r1
strb r0, [r3] strb r0, [r3]
bl sub_8065068 bl LinkOpponentBufferExecCompleted
pop {r0} pop {r0}
bx r0 bx r0
.pool .pool
@ -5436,7 +5436,7 @@ sub_806733C: @ 806733C
movs r0, 0x7F movs r0, 0x7F
ands r0, r1 ands r0, r1
strb r0, [r2] strb r0, [r2]
bl sub_8065068 bl LinkOpponentBufferExecCompleted
pop {r0} pop {r0}
bx r0 bx r0
.pool .pool
@ -5457,7 +5457,7 @@ sub_8067354: @ 8067354
ands r0, r2 ands r0, r2
orrs r0, r1 orrs r0, r1
strb r0, [r3] strb r0, [r3]
bl sub_8065068 bl LinkOpponentBufferExecCompleted
pop {r0} pop {r0}
bx r0 bx r0
.pool .pool
@ -5481,7 +5481,7 @@ sub_806737C: @ 806737C
lsls r0, 29 lsls r0, 29
cmp r0, 0 cmp r0, 0
bge _080673B0 bge _080673B0
bl sub_8065068 bl LinkOpponentBufferExecCompleted
b _080673DA b _080673DA
.pool .pool
_080673B0: _080673B0:
@ -5515,7 +5515,7 @@ _080673DA:
thumb_func_start sub_80673EC thumb_func_start sub_80673EC
sub_80673EC: @ 80673EC sub_80673EC: @ 80673EC
push {lr} push {lr}
bl sub_8065068 bl LinkOpponentBufferExecCompleted
pop {r0} pop {r0}
bx r0 bx r0
thumb_func_end sub_80673EC thumb_func_end sub_80673EC
@ -5546,7 +5546,7 @@ _0806740C:
lsls r1, r3, 24 lsls r1, r3, 24
asrs r1, 24 asrs r1, 24
bl PlaySE12WithPanning bl PlaySE12WithPanning
bl sub_8065068 bl LinkOpponentBufferExecCompleted
pop {r4} pop {r4}
pop {r0} pop {r0}
bx r0 bx r0
@ -5590,7 +5590,7 @@ _08067478:
orrs r0, r1 orrs r0, r1
bl PlayFanfare bl PlayFanfare
_0806748C: _0806748C:
bl sub_8065068 bl LinkOpponentBufferExecCompleted
pop {r4,r5} pop {r4,r5}
pop {r0} pop {r0}
bx r0 bx r0
@ -5616,7 +5616,7 @@ sub_8067498: @ 8067498
movs r1, 0x19 movs r1, 0x19
movs r2, 0x5 movs r2, 0x5
bl PlayCry3 bl PlayCry3
bl sub_8065068 bl LinkOpponentBufferExecCompleted
pop {r0} pop {r0}
bx r0 bx r0
.pool .pool
@ -5638,7 +5638,7 @@ sub_80674D4: @ 80674D4
movs r1, 0x1 movs r1, 0x1
orrs r0, r1 orrs r0, r1
strh r0, [r2] strh r0, [r2]
bl sub_8065068 bl LinkOpponentBufferExecCompleted
pop {r0} pop {r0}
bx r0 bx r0
.pool .pool
@ -5889,7 +5889,7 @@ sub_8067718: @ 8067718
lsls r0, 24 lsls r0, 24
cmp r0, 0 cmp r0, 0
bne _08067748 bne _08067748
bl sub_8065068 bl LinkOpponentBufferExecCompleted
b _08067812 b _08067812
.pool .pool
_08067748: _08067748:
@ -6025,7 +6025,7 @@ sub_806782C: @ 806782C
adds r0, r2 adds r0, r2
movs r1, 0 movs r1, 0
strb r1, [r0, 0x5] strb r1, [r0, 0x5]
bl sub_8065068 bl LinkOpponentBufferExecCompleted
_08067864: _08067864:
pop {r4} pop {r4}
pop {r0} pop {r0}
@ -6061,7 +6061,7 @@ sub_8067874: @ 8067874
ldr r1, =sub_8073C30 ldr r1, =sub_8073C30
str r1, [r0] str r1, [r0]
_080678A6: _080678A6:
bl sub_8065068 bl LinkOpponentBufferExecCompleted
pop {r0} pop {r0}
bx r0 bx r0
.pool .pool
@ -6070,7 +6070,7 @@ _080678A6:
thumb_func_start sub_80678C4 thumb_func_start sub_80678C4
sub_80678C4: @ 80678C4 sub_80678C4: @ 80678C4
push {lr} push {lr}
bl sub_8065068 bl LinkOpponentBufferExecCompleted
pop {r0} pop {r0}
bx r0 bx r0
thumb_func_end sub_80678C4 thumb_func_end sub_80678C4
@ -6111,7 +6111,7 @@ sub_80678D0: @ 80678D0
ldrb r0, [r4] ldrb r0, [r4]
bl sub_805E408 bl sub_805E408
_08067916: _08067916:
bl sub_8065068 bl LinkOpponentBufferExecCompleted
pop {r4} pop {r4}
pop {r0} pop {r0}
bx r0 bx r0
@ -6150,7 +6150,7 @@ sub_8067930: @ 8067930
lsls r0, 24 lsls r0, 24
cmp r0, 0 cmp r0, 0
beq _08067980 beq _08067980
bl sub_8065068 bl LinkOpponentBufferExecCompleted
b _0806798C b _0806798C
.pool .pool
_08067980: _08067980:
@ -6180,7 +6180,7 @@ sub_80679A4: @ 80679A4
ldr r1, =gUnknown_02023066 ldr r1, =gUnknown_02023066
adds r0, r1 adds r0, r1
bl sub_81851A8 bl sub_81851A8
bl sub_8065068 bl LinkOpponentBufferExecCompleted
pop {r0} pop {r0}
bx r0 bx r0
.pool .pool
@ -6189,7 +6189,7 @@ sub_80679A4: @ 80679A4
thumb_func_start sub_80679C4 thumb_func_start sub_80679C4
sub_80679C4: @ 80679C4 sub_80679C4: @ 80679C4
push {lr} push {lr}
bl sub_8065068 bl LinkOpponentBufferExecCompleted
pop {r0} pop {r0}
bx r0 bx r0
thumb_func_end sub_80679C4 thumb_func_end sub_80679C4
@ -6244,7 +6244,7 @@ _08067A08:
bl FadeOutMapMusic bl FadeOutMapMusic
movs r0, 0x3 movs r0, 0x3
bl BeginFastPaletteFade bl BeginFastPaletteFade
bl sub_8065068 bl LinkOpponentBufferExecCompleted
ldr r1, =gBattleBankFunc ldr r1, =gBattleBankFunc
ldrb r0, [r4] ldrb r0, [r4]
lsls r0, 2 lsls r0, 2

View File

@ -587,8 +587,8 @@ _08122208:
bx r1 bx r1
thumb_func_end sub_81221EC thumb_func_end sub_81221EC
thumb_func_start atk2D_jumpifarraynotequal thumb_func_start sub_812220C
atk2D_jumpifarraynotequal: @ 812220C sub_812220C: @ 812220C
push {r4-r6,lr} push {r4-r6,lr}
adds r6, r2, 0 adds r6, r2, 0
ldr r2, [sp, 0x10] ldr r2, [sp, 0x10]
@ -633,7 +633,7 @@ _08122254:
pop {r4-r6} pop {r4-r6}
pop {r0} pop {r0}
bx r0 bx r0
thumb_func_end atk2D_jumpifarraynotequal thumb_func_end sub_812220C
thumb_func_start sub_812225C thumb_func_start sub_812225C
sub_812225C: @ 812225C sub_812225C: @ 812225C

View File

@ -2252,7 +2252,7 @@ sub_816C110: @ 816C110
movs r1, 0x8 movs r1, 0x8
str r1, [sp] str r1, [sp]
movs r1, 0x32 movs r1, 0x32
bl atk2D_jumpifarraynotequal bl sub_812220C
add sp, 0x4 add sp, 0x4
pop {r0} pop {r0}
bx r0 bx r0

50
data/battle_4.s Normal file
View File

@ -0,0 +1,50 @@
@ the second big chunk of data
.include "asm/macros.inc"
.include "constants/constants.inc"
.section .rodata
gMoveEffectBS_Ptrs:: @ 831C224
.incbin "baserom.gba", 0x31c224, 0xa4
gUnknown_0831C2C8:: @ 831C2C8
.incbin "baserom.gba", 0x31c2c8, 0x20
gUnknown_0831C2E8:: @ 831C2E8
.incbin "baserom.gba", 0x31c2e8, 0xd8
gUnknown_0831C3C0:: @ 831C3C0
.incbin "baserom.gba", 0x31c3c0, 0x18
sProtectSuccessRates:: @ 831C3D8
.incbin "baserom.gba", 0x31c3d8, 0x8
gUnknown_0831C3E0:: @ 831C3E0
.incbin "baserom.gba", 0x31c3e0, 0x28
gUnknown_0831C408:: @ 831C408
.incbin "baserom.gba", 0x31c408, 0xc
gUnknown_0831C414:: @ 831C414
.incbin "baserom.gba", 0x31c414, 0x14
gUnknown_0831C428:: @ 831C428
.incbin "baserom.gba", 0x31c428, 0x18
@ 831C440
.include "data/pickup_items.inc"
sTerrainToType:: @ 831C483
.incbin "baserom.gba", 0x31c483, 0xa
sBallCatchBonuses:: @ 831C48D
.incbin "baserom.gba", 0x31c48d, 0x7
gUnknown_0831C494:: @ 831C494
.incbin "baserom.gba", 0x31c494, 0x64
gUnknown_0831C4F8:: @ 831C4F8
.incbin "baserom.gba", 0x31c4f8, 0x1c

View File

@ -0,0 +1,8 @@
.include "asm/macros.inc"
.include "constants/constants.inc"
.section .rodata
gLinkOpponentBufferCommands:: @ 831C7B4
.incbin "baserom.gba", 0x31c7b4, 0xe4

View File

@ -0,0 +1,9 @@
.include "asm/macros.inc"
.include "constants/constants.inc"
.section .rodata
gLinkPartnerBufferCommands:: @ 85C9A94
.incbin "baserom.gba", 0x5c9a94, 0xe4

View File

@ -0,0 +1,9 @@
.include "asm/macros.inc"
.include "constants/constants.inc"
.section .rodata
gOpponentBufferCommands:: @ 831C6C8
.incbin "baserom.gba", 0x31c6c8, 0xec

View File

@ -0,0 +1,8 @@
.include "asm/macros.inc"
.include "constants/constants.inc"
.section .rodata
gPlayerBufferCommands:: @ 831C514
.incbin "baserom.gba", 0x31c514, 0xe4

View File

@ -0,0 +1,8 @@
.include "asm/macros.inc"
.include "constants/constants.inc"
.section .rodata
gSafariBufferCommands:: @ 85CDF20
.incbin "baserom.gba", 0x5cdf20, 0x380

View File

@ -0,0 +1,9 @@
.include "asm/macros.inc"
.include "constants/constants.inc"
.section .rodata
gWallyBufferCommands:: @ 85DFDC0
.incbin "baserom.gba", 0x5dfdc0, 0xe4

View File

@ -257,436 +257,3 @@ gUnknown_0831BCF3:: @ 831BCF3
gUnknown_0831BCF8:: @ 831BCF8 gUnknown_0831BCF8:: @ 831BCF8
.incbin "baserom.gba", 0x31bcf8, 0x18 .incbin "baserom.gba", 0x31bcf8, 0x18
.align 2, 0
gBattleScriptingCommandsTable:: @ 831BD10
.4byte atk00_attackcanceler
.4byte atk01_accuracycheck
.4byte atk02_attackstring
.4byte atk03_ppreduce
.4byte atk04_critcalc
.4byte atk05_cmd5
.4byte sub_8047038
.4byte atk07_cmd7
.4byte atk08_cmd8
.4byte atk09_attackanimation
.4byte sub_8047DC8
.4byte atk0B_graphicalhpupdate
.4byte atk0C_datahpupdate
.4byte atk0D_critmessage
.4byte atk0E_missmessage
.4byte atk0F_resultmessage
.4byte atk10_printstring
.4byte atk11_printstring2
.4byte atk12_waitmessage
.4byte atk13_printfromtable
.4byte atk14_printfromtable2
.4byte atk15_seteffectwithchancetarget
.4byte sub_8049AC0
.4byte sub_8049AD0
.4byte sub_8049AE0
.4byte atk19_faintpokemon
.4byte sub_8049E40
.4byte sub_8049E7C
.4byte atk1C_jumpifstatus
.4byte atk1D_jumpifsecondarystatus
.4byte atk1E_jumpifability
.4byte sub_804A0DC
.4byte sub_804A154
.4byte atk21_jumpifspecialstatusflag
.4byte sub_804A2D0
.4byte sub_804A32C
.4byte sub_804ACD0
.4byte atk25_cmd25
.4byte atk26_80225F0_storebyteforjump
.4byte atk27_cmd27
.4byte atk28_goto
.4byte atk29_jumpifbyte
.4byte sub_804B0A8
.4byte sub_804B150
.4byte sub_804B204
.4byte sub_804B28C
.4byte sub_804B310
.4byte sub_804B338
.4byte sub_804B364
.4byte atk31_copyarray
.4byte atk32_memcpy_with_offset
.4byte atk33_orbyte
.4byte atk34_orhalfword
.4byte atk35_orword
.4byte atk36_bicbyte
.4byte atk37_bichalfword
.4byte atk38_bicword
.4byte atk39_pause
.4byte sub_804B5E0
.4byte atk3B_8022C68
.4byte atk3C_return
.4byte sub_804B664
.4byte atk3E_end2
.4byte atk3F_end3
.4byte atk40_801DBA0
.4byte atk41_call
.4byte atk42_jumpiftype2
.4byte sub_804B784
.4byte sub_804B7D0
.4byte atk46_cmd46
.4byte sub_804B8B0
.4byte sub_804B97C
.4byte atk48_playstatchangeanimation
.4byte sub_804BBCC
.4byte atk4A_damagecalc2
.4byte atk4B_cmd4b
.4byte atk4C_switch1
.4byte sub_804C904
.4byte atk4E_switch3
.4byte atk4F_jumpifcannotswitch
.4byte atk50_openpartyscreen
.4byte atk51_cmd51
.4byte atk52_cmd52
.4byte sub_804DDA8
.4byte atk54_802511C
.4byte sub_804DE14
.4byte atk56_8025194
.4byte atk57_80251C4_flee
.4byte atk58_cmd58
.4byte atk59_8025230
.4byte sub_804E038
.4byte atk5B_80256E0
.4byte atk5C_cmd5c
.4byte sub_804E6D8
.4byte atk5E_8025A70
.4byte atk5F_8025B24
.4byte atk60_cmd60
.4byte atk61_8025BA4
.4byte atk62_08025C6C
.4byte atk63_jumptoattack
.4byte atk64_statusanimation
.4byte atk65_8025D90
.4byte atk66_8025E38
.4byte atk67_8025ECC
.4byte sub_804ECA4
.4byte atk69_8025FE0
.4byte atk6A_stash_item_for_side
.4byte atk6B_end_battle_80261CC
.4byte atk6C_8026208
.4byte sub_804F4D4
.4byte atk6E_state0_side_becomes_attacker
.4byte atk6F_8026810
.4byte atk70_record_ability_usage_of_side
.4byte atk71_80268A0
.4byte atk72_flee
.4byte atk73_cmd73
.4byte atk74_hp_tresholds_2
.4byte atk75_8026A58
.4byte sub_804F7AC
.4byte atk77_setprotect
.4byte atk78_faintifabilitynotdamp
.4byte atk79_setuserhptozero
.4byte sub_8050044
.4byte sub_80500E8
.4byte sub_8050164
.4byte sub_80502C8
.4byte atk7E_setreflect
.4byte sub_80503E8
.4byte atk80_manipulatedamage
.4byte atk81_setrest
.4byte atk82_jumpifnotfirstturn
.4byte sub_8050640
.4byte sub_80506EC
.4byte sub_8050768
.4byte atk86_stockpiletobasedamage
.4byte atk87_stockpiletohprecovery
.4byte atk88_negativedamage
.4byte atk89_statbuffchange
.4byte atk8A_normalisebuffs
.4byte atk8B_setbide
.4byte atk8C_confuseifrepeatingattackends
.4byte atk8D_setloopcounter
.4byte atk8E_cmd8e
.4byte sub_805112C
.4byte sub_8051424
.4byte atk91_givemoney
.4byte atk92_setlightscreen
.4byte atk93_ko_move
.4byte atk94_gethalfcurrentenemyhp
.4byte sub_8051AC0
.4byte sub_8051B18
.4byte atk97_tryinfatuatetarget
.4byte sub_8051E48
.4byte atk99_setmisteffect
.4byte atk9A_setincreasedcriticalchance
.4byte atk9B_transformdataexecution
.4byte sub_80521FC
.4byte atk9D_copyattack
.4byte sub_80524DC
.4byte atk9F_nightshadedamageeffect
.4byte atkA0_psywavedamageeffect
.4byte atkA1_counterdamagecalculator
.4byte atkA2_mirrorcoatdamagecalculator
.4byte atkA3_disablelastusedattack
.4byte atkA4_setencore
.4byte sub_8052A70
.4byte atkA6_settypetorandomresistance
.4byte atkA7_setalwayshitflag
.4byte atkA8_copymovepermanently
.4byte sub_8053018
.4byte atkAA_destinybondeffect
.4byte atkAB_802A458
.4byte atkAC_remaininghptopower
.4byte atkAD_reducepprandom
.4byte atkAE_clearstatusifnotsoundproofed
.4byte atkAF_cursetarget
.4byte atkB0_setspikes
.4byte atkB1_setforesight
.4byte atkB2_setperishsong
.4byte atkB3_rolloutdamagecalculation
.4byte atkB4_jumpifconfusedandattackmaxed
.4byte sub_8053AF8
.4byte atkB6_happinesstodamagecalculation
.4byte atkB7_presentdamagecalculation
.4byte atkB8_setsafeguard
.4byte atkB9_magnitudedamagecalculation
.4byte atkBA_802B140
.4byte sub_805405C
.4byte atkBC_maxattackhalvehp
.4byte atkBD_copyfoestats
.4byte atkBE_breakfree
.4byte atkBF_setcurled
.4byte atkC0_recoverbasedonsunlight
.4byte sub_8054400
.4byte atkC2_selectnexttarget
.4byte atkC3_setfutureattack
.4byte atkC4_802B910
.4byte atkC5_hidepreattack
.4byte atkC6_unhidepostattack
.4byte atkC7_setminimize
.4byte sub_8054A48
.4byte atkC9_jumpifattackandspecialattackcannotfall
.4byte atkCA_setforcedtarget
.4byte atkCB_setcharge
.4byte atkCC_callterrainattack
.4byte atkCD_cureifburnedparalysedorpoisoned
.4byte atkCE_settorment
.4byte atkCF_jumpifnodamage
.4byte atkD0_settaunt
.4byte atkD1_sethelpinghand
.4byte sub_8054EB4
.4byte sub_8055148
.4byte atkD4_802C408
.4byte sub_8055294
.4byte atkD6_doubledamagedealtifdamaged
.4byte sub_805534C
.4byte atkD8_setdamagetohealthdifference
.4byte atkD9_scaledamagebyhealthratio
.4byte atkDA_abilityswap
.4byte atkDB_imprisoneffect
.4byte atkDC_setgrudge
.4byte atkDD_weightdamagecalculation
.4byte atkDE_asistattackselect
.4byte atkDF_setmagiccoat
.4byte atkE0_setstealstatchange
.4byte atkE1_802CBE4
.4byte atkE2_cmde2
.4byte atkE3_jumpiffainted
.4byte sub_8055B48
.4byte atkE5_pickupitemcalculation
.4byte atkE6_castform_transform
.4byte atkE7_castform_switch
.4byte atkE8_settypebasedhalvers
.4byte atkE9_seteffectbyweather
.4byte atkEA_recycleitem
.4byte atkEB_settypetoterrain
.4byte atkEC_802D2A0
.4byte atkED_802D364
.4byte atkEE_removereflectlightscreen
.4byte sub_8056300
.4byte atkF0_catch_pokemon
.4byte atkF1_802D95C
.4byte sub_80568CC
.4byte atkF3_receive_new_pokemon_maybe
.4byte sub_8056E78
.4byte atkF5_reset_attacker_bd_x4C
.4byte sub_8056ED0
.4byte sub_8056EDC
.4byte sub_8056EF8
gUnknown_0831C0F4:: @ 831C0F4
.incbin "baserom.gba", 0x31c0f4, 0x34
gUnknown_0831C128:: @ 831C128
.incbin "baserom.gba", 0x31c128, 0xc
gUnknown_0831C134:: @ 831C134
.incbin "baserom.gba", 0x31c134, 0xf0
gUnknown_0831C224:: @ 831C224
.incbin "baserom.gba", 0x31c224, 0xa4
gUnknown_0831C2C8:: @ 831C2C8
.incbin "baserom.gba", 0x31c2c8, 0x20
gUnknown_0831C2E8:: @ 831C2E8
.incbin "baserom.gba", 0x31c2e8, 0xd8
gUnknown_0831C3C0:: @ 831C3C0
.incbin "baserom.gba", 0x31c3c0, 0x18
gUnknown_0831C3D8:: @ 831C3D8
.incbin "baserom.gba", 0x31c3d8, 0x8
gUnknown_0831C3E0:: @ 831C3E0
.incbin "baserom.gba", 0x31c3e0, 0x28
gUnknown_0831C408:: @ 831C408
.incbin "baserom.gba", 0x31c408, 0xc
gUnknown_0831C414:: @ 831C414
.incbin "baserom.gba", 0x31c414, 0x14
gUnknown_0831C428:: @ 831C428
.incbin "baserom.gba", 0x31c428, 0x18
@ 831C440
.include "data/pickup_items.inc"
gUnknown_0831C483:: @ 831C483
.incbin "baserom.gba", 0x31c483, 0xa
gUnknown_0831C48D:: @ 831C48D
.incbin "baserom.gba", 0x31c48d, 0x7
gUnknown_0831C494:: @ 831C494
.incbin "baserom.gba", 0x31c494, 0x64
gUnknown_0831C4F8:: @ 831C4F8
.incbin "baserom.gba", 0x31c4f8, 0x1c
gPlayerBufferCommands:: @ 831C514
.incbin "baserom.gba", 0x31c514, 0xe4
gUnknown_0831C5F8:: @ 831C5F8
.incbin "baserom.gba", 0x31c5f8, 0xc
gUnknown_0831C604:: @ 831C604
.incbin "baserom.gba", 0x31c604, 0x1c
gUnknown_0831C620:: @ 831C620
.incbin "baserom.gba", 0x31c620, 0x8
gUnknown_0831C628:: @ 831C628
.incbin "baserom.gba", 0x31c628, 0x60
gUnknown_0831C688:: @ 831C688
.incbin "baserom.gba", 0x31c688, 0x18
gUnknown_0831C6A0:: @ 831C6A0
.incbin "baserom.gba", 0x31c6a0, 0x10
gUnknown_0831C6B0:: @ 831C6B0
.incbin "baserom.gba", 0x31c6b0, 0x18
gOpponentBufferCommands:: @ 831C6C8
.incbin "baserom.gba", 0x31c6c8, 0xec
gUnknown_0831C7B4:: @ 831C7B4
.incbin "baserom.gba", 0x31c7b4, 0xe4
@ 831C898
.include "data/battle_moves.inc"
.incbin "baserom.gba", 0x31d93c, 0x10
@ 831D94C
.include "data/pokedex_order.inc"
@ 831E2F0
.include "data/spinda_spot_graphics.inc"
@ 831E380
.include "data/item_effect_info.inc"
@ 831E818
.include "data/nature_stat_table.inc"
@ 831E898
.include "data/tm_hm_learnsets.inc"
@ 831F578
.include "data/trainer_pic_indices.inc"
@ 831F5CA
.include "data/trainer_class_name_indices.inc"
@ 831F61C
.include "data/cry_id_table.inc"
@ 831F72C
.include "data/experience_tables.inc"
@ 83203CC
.include "data/base_stats.inc"
@ 83230DC
.include "data/level_up_learnsets.inc"
@ 832531C
.include "data/evolution_table.inc"
@ 832937C
.include "data/level_up_learnset_pointers.inc"
gUnknown_083299EC:: @ 83299EC
.incbin "baserom.gba", 0x3299ec, 0x19b
gUnknown_08329B87:: @ 8329B87
.incbin "baserom.gba", 0x329b87, 0x19b
gUnknown_08329D22:: @ 8329D22
.incbin "baserom.gba", 0x329d22, 0x4
gUnknown_08329D26:: @ 8329D26
.incbin "baserom.gba", 0x329d26, 0x4
gUnknown_08329D2A:: @ 8329D2A
.incbin "baserom.gba", 0x329d2a, 0x4
gUnknown_08329D2E:: @ 8329D2E
.incbin "baserom.gba", 0x329d2e, 0x1a
gUnknown_08329D48:: @ 8329D48
.incbin "baserom.gba", 0x329d48, 0xc
gUnknown_08329D54:: @ 8329D54
.incbin "baserom.gba", 0x329d54, 0x20
gHoldEffectToType:: @ 8329D74
.incbin "baserom.gba", 0x329d74, 0x24
gUnknown_08329D98:: @ 8329D98
.incbin "baserom.gba", 0x329d98, 0x60
gUnknown_08329DF8:: @ 8329DF8
.incbin "baserom.gba", 0x329df8, 0xc0
gUnknown_08329EB8:: @ 8329EB8
.incbin "baserom.gba", 0x329eb8, 0xa
gUnknown_08329EC2:: @ 8329EC2
.incbin "baserom.gba", 0x329ec2, 0x6
gUnknown_08329EC8:: @ 8329EC8
.incbin "baserom.gba", 0x329ec8, 0x6
gUnknown_08329ECE:: @ 8329ECE
.incbin "baserom.gba", 0x329ece, 0x1c
gUnknown_08329EEA:: @ 8329EEA
.incbin "baserom.gba", 0x329eea, 0x12
gUnknown_08329EFC:: @ 8329EFC
.incbin "baserom.gba", 0x329efc, 0x2
gUnknown_08329EFE:: @ 8329EFE
.incbin "baserom.gba", 0x329efe, 0x2a
gUnknown_08329F28:: @ 8329F28
.incbin "baserom.gba", 0x329f28, 0x18

30
data/data2b_2.s Normal file
View File

@ -0,0 +1,30 @@
@ the second big chunk of data
.include "asm/macros.inc"
.include "constants/constants.inc"
.section .rodata
.align 2
gUnknown_0831C5F8:: @ 831C5F8
.incbin "baserom.gba", 0x31c5f8, 0xc
gUnknown_0831C604:: @ 831C604
.incbin "baserom.gba", 0x31c604, 0x1c
gUnknown_0831C620:: @ 831C620
.incbin "baserom.gba", 0x31c620, 0x8
gUnknown_0831C628:: @ 831C628
.incbin "baserom.gba", 0x31c628, 0x60
gUnknown_0831C688:: @ 831C688
.incbin "baserom.gba", 0x31c688, 0x18
gUnknown_0831C6A0:: @ 831C6A0
.incbin "baserom.gba", 0x31c6a0, 0x10
gUnknown_0831C6B0:: @ 831C6B0
.incbin "baserom.gba", 0x31c6b0, 0x18

110
data/data2c.s Normal file
View File

@ -0,0 +1,110 @@
@ the second big chunk of data
.include "asm/macros.inc"
.include "constants/constants.inc"
.section .rodata
.align 2
@ 831C898
.include "data/battle_moves.inc"
.incbin "baserom.gba", 0x31d93c, 0x10
@ 831D94C
.include "data/pokedex_order.inc"
@ 831E2F0
.include "data/spinda_spot_graphics.inc"
@ 831E380
.include "data/item_effect_info.inc"
@ 831E818
.include "data/nature_stat_table.inc"
@ 831E898
.include "data/tm_hm_learnsets.inc"
@ 831F578
.include "data/trainer_pic_indices.inc"
@ 831F5CA
.include "data/trainer_class_name_indices.inc"
@ 831F61C
.include "data/cry_id_table.inc"
@ 831F72C
.include "data/experience_tables.inc"
@ 83203CC
.include "data/base_stats.inc"
@ 83230DC
.include "data/level_up_learnsets.inc"
@ 832531C
.include "data/evolution_table.inc"
@ 832937C
.include "data/level_up_learnset_pointers.inc"
gUnknown_083299EC:: @ 83299EC
.incbin "baserom.gba", 0x3299ec, 0x19b
gUnknown_08329B87:: @ 8329B87
.incbin "baserom.gba", 0x329b87, 0x19b
gUnknown_08329D22:: @ 8329D22
.incbin "baserom.gba", 0x329d22, 0x4
gUnknown_08329D26:: @ 8329D26
.incbin "baserom.gba", 0x329d26, 0x4
gUnknown_08329D2A:: @ 8329D2A
.incbin "baserom.gba", 0x329d2a, 0x4
gUnknown_08329D2E:: @ 8329D2E
.incbin "baserom.gba", 0x329d2e, 0x1a
gUnknown_08329D48:: @ 8329D48
.incbin "baserom.gba", 0x329d48, 0xc
gUnknown_08329D54:: @ 8329D54
.incbin "baserom.gba", 0x329d54, 0x20
gHoldEffectToType:: @ 8329D74
.incbin "baserom.gba", 0x329d74, 0x24
gUnknown_08329D98:: @ 8329D98
.incbin "baserom.gba", 0x329d98, 0x60
gUnknown_08329DF8:: @ 8329DF8
.incbin "baserom.gba", 0x329df8, 0xc0
gUnknown_08329EB8:: @ 8329EB8
.incbin "baserom.gba", 0x329eb8, 0xa
gUnknown_08329EC2:: @ 8329EC2
.incbin "baserom.gba", 0x329ec2, 0x6
gUnknown_08329EC8:: @ 8329EC8
.incbin "baserom.gba", 0x329ec8, 0x6
gUnknown_08329ECE:: @ 8329ECE
.incbin "baserom.gba", 0x329ece, 0x1c
gUnknown_08329EEA:: @ 8329EEA
.incbin "baserom.gba", 0x329eea, 0x12
gUnknown_08329EFC:: @ 8329EFC
.incbin "baserom.gba", 0x329efc, 0x2
gUnknown_08329EFE:: @ 8329EFE
.incbin "baserom.gba", 0x329efe, 0x2a
gUnknown_08329F28:: @ 8329F28
.incbin "baserom.gba", 0x329f28, 0x18

View File

@ -5055,5 +5055,3 @@ gUnknown_085C9A30:: @ 85C9A30
gUnknown_085C9A53:: @ 85C9A53 gUnknown_085C9A53:: @ 85C9A53
.incbin "baserom.gba", 0x5c9a53, 0x41 .incbin "baserom.gba", 0x5c9a53, 0x41
gLinkPartnerBufferCommands:: @ 85C9A94
.incbin "baserom.gba", 0x5c9a94, 0xe4

View File

@ -3,8 +3,6 @@
.section .rodata .section .rodata
gSafariBufferCommands:: @ 85CDF20
.incbin "baserom.gba", 0x5cdf20, 0x380
gUnknown_085CE2A0:: @ 85CE2A0 gUnknown_085CE2A0:: @ 85CE2A0
.incbin "baserom.gba", 0x5ce2a0, 0xb0 .incbin "baserom.gba", 0x5ce2a0, 0xb0
@ -236,6 +234,3 @@ gUnknown_085DFDA0:: @ 85DFDA0
gUnknown_085DFDB8:: @ 85DFDB8 gUnknown_085DFDB8:: @ 85DFDB8
.incbin "baserom.gba", 0x5dfdb8, 0x8 .incbin "baserom.gba", 0x5dfdb8, 0x8
gWallyBufferCommands:: @ 85DFDC0
.incbin "baserom.gba", 0x5dfdc0, 0xe4

View File

@ -55,6 +55,7 @@ SECTIONS {
src/decompress.o(.text); src/decompress.o(.text);
asm/rom_8034C54.o(.text); asm/rom_8034C54.o(.text);
asm/battle_3.o(.text); asm/battle_3.o(.text);
src/battle_4.o(.text);
asm/battle_4.o(.text); asm/battle_4.o(.text);
asm/battle_5.o(.text); asm/battle_5.o(.text);
asm/battle_controller_player.o(.text); asm/battle_controller_player.o(.text);
@ -282,14 +283,24 @@ SECTIONS {
data/data2.o(.rodata); data/data2.o(.rodata);
src/rtc.o(.rodata); src/rtc.o(.rodata);
data/data2b.o(.rodata); data/data2b.o(.rodata);
src/battle_4.o(.rodata);
data/battle_4.o(.rodata);
data/battle_controller_player.o(.rodata);
data/data2b_2.o(.rodata);
data/battle_controller_opponent.o(.rodata);
data/battle_controller_link_opponent.o(.rodata);
data/data2c.o(.rodata);
src/trig.o(.rodata); src/trig.o(.rodata);
data/data3.o(.rodata); data/data3.o(.rodata);
data/battle_controller_link_partner.o(.rodata);
data/battle_message.o(.rodata); data/battle_message.o(.rodata);
data/cable_car.o(.rodata); data/cable_car.o(.rodata);
data/save.o(.rodata); data/save.o(.rodata);
data/field_effect_helpers.o(.rodata); data/field_effect_helpers.o(.rodata);
data/contest_ai.o(.rodata); data/contest_ai.o(.rodata);
data/battle_controller_safari.o(.rodata);
data/rom_8158B30.o(.rodata); data/rom_8158B30.o(.rodata);
data/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);

595
src/battle_4.c Normal file
View File

@ -0,0 +1,595 @@
#include "global.h"
#include "battle.h"
void atk00_attackcanceler(void);
void atk01_accuracycheck(void);
void atk02_attackstring(void);
void atk03_ppreduce(void);
void atk04_critcalc(void);
void atk05_damagecalc1(void);
void atk06_typecalc(void);
void atk07_dmg_adjustment(void);
void atk08_dmg_adjustment2(void);
void atk09_attackanimation(void);
void atk0A_waitanimation(void);
void atk0B_healthbarupdate(void);
void atk0C_datahpupdate(void);
void atk0D_critmessage(void);
void atk0E_effectiveness_sound(void);
void atk0F_resultmessage(void);
void atk10_printstring(void);
void atk11_printstring_playeronly(void);
void atk12_waitmessage(void);
void atk13_printfromtable(void);
void atk14_printfromtable_playeronly(void);
void atk15_seteffectwithchancetarget(void);
void atk16_seteffectprimary(void);
void atk17_seteffectsecondary(void);
void atk18_status_effect_clear(void);
void atk19_faint_pokemon(void);
void atk1A_faint_animation(void);
void atk1B_faint_effects_clear(void);
void atk1C_jumpifstatus(void);
void atk1D_jumpifstatus2(void);
void atk1E_jumpifability(void);
void atk1F_jumpifsideaffecting(void);
void atk20_jumpifstat(void);
void atk21_jumpifstatus3(void);
void atk22_jumpiftype(void);
void atk23_getexp(void);
void atk24(void);
void atk25_move_values_cleanup(void);
void atk26_set_multihit(void);
void atk27_decrement_multihit(void);
void atk28_goto(void);
void atk29_jumpifbyte(void);
void atk2A_jumpifhalfword(void);
void atk2B_jumpifword(void);
void atk2C_jumpifarrayequal(void);
void atk2D_jumpifarraynotequal(void);
void atk2E_setbyte(void);
void atk2F_addbyte(void);
void atk30_subbyte(void);
void atk31_copyarray(void);
void atk32_copyarray_withindex(void);
void atk33_orbyte(void);
void atk34_orhalfword(void);
void atk35_orword(void);
void atk36_bicbyte(void);
void atk37_bichalfword(void);
void atk38_bicword(void);
void atk39_pause(void);
void atk3A_waitstate(void);
void atk3B_healthbar_update(void);
void atk3C_return(void);
void atk3D_end(void);
void atk3E_end2(void);
void atk3F_end3(void);
void atk40_jump_if_move_affected_by_protect(void);
void atk41_call(void);
void atk42_jumpiftype2(void);
void atk43_jumpifabilitypresent(void);
void atk44(void);
void atk45_playanimation(void);
void atk46_playanimation2(void);
void atk47_setgraphicalstatchangevalues(void);
void atk48_playstatchangeanimation(void);
void atk49_moveendturn(void);
void atk4A_typecalc2(void);
void atk4B_return_atk_to_ball(void);
void atk4C_copy_poke_data(void);
void atk4D_switch_data_update(void);
void atk4E_switchin_anim(void);
void atk4F_jump_if_cannot_switch(void);
void atk50_openpartyscreen(void);
void atk51_switch_handle_order(void);
void atk52_switch_in_effects(void);
void atk53_trainer_slide(void);
void atk54_effectiveness_sound(void);
void atk55_play_sound(void);
void atk56_fainting_cry(void);
void atk57(void);
void atk58_return_to_ball(void);
void atk59_learnmove_inbattle(void);
void atk5A(void);
void atk5B_80256E0(void);
void atk5C_hitanimation(void);
void atk5D_getmoneyreward(void);
void atk5E_8025A70(void);
void atk5F_8025B24(void);
void atk60_increment_gamestat(void);
void atk61_8025BA4(void);
void atk62_08025C6C(void);
void atk63_jumptorandomattack(void);
void atk64_statusanimation(void);
void atk65_status2animation(void);
void atk66_chosenstatusanimation(void);
void atk67_8025ECC(void);
void atk68_80246A0(void);
void atk69_dmg_adjustment2(void);
void atk6A_removeitem(void);
void atk6B_atknameinbuff1(void);
void atk6C_lvlbox_display(void);
void atk6D_set_sentpokes_values(void);
void atk6E_set_atk_to_player0(void);
void atk6F_set_visible(void);
void atk70_record_ability(void);
void atk71_buffer_move_to_learn(void);
void atk72_jump_if_can_run_frombattle(void);
void atk73_hp_thresholds(void);
void atk74_hp_thresholds2(void);
void atk75_8026A58(void);
void atk76_various(void);
void atk77_setprotect(void);
void atk78_faintifabilitynotdamp(void);
void atk79_setatkhptozero(void);
void atk7A_jumpwhiletargetvalid(void);
void atk7B_healhalfHP_if_possible(void);
void atk7C_8025508(void);
void atk7D_set_rain(void);
void atk7E_setreflect(void);
void atk7F_setseeded(void);
void atk80_manipulatedamage(void);
void atk81_setrest(void);
void atk82_jumpifnotfirstturn(void);
void atk83_nop(void);
void atk84_jump_if_cant_sleep(void);
void atk85_stockpile(void);
void atk86_stockpiletobasedamage(void);
void atk87_stockpiletohpheal(void);
void atk88_negativedamage(void);
void atk89_statbuffchange(void);
void atk8A_normalisebuffs(void);
void atk8B_setbide(void);
void atk8C_confuseifrepeatingattackends(void);
void atk8D_setmultihit_counter(void);
void atk8E_prepare_multihit(void);
void atk8F_forcerandomswitch(void);
void atk90_conversion_type_change(void);
void atk91_givepaydaymoney(void);
void atk92_setlightscreen(void);
void atk93_ko_move(void);
void atk94_gethalfcurrentenemyhp(void);
void atk95_setsandstorm(void);
void atk96_weatherdamage(void);
void atk97_try_infatuation(void);
void atk98_status_icon_update(void);
void atk99_setmist(void);
void atk9A_set_focusenergy(void);
void atk9B_transformdataexecution(void);
void atk9C_set_substitute(void);
void atk9D_copyattack(void);
void atk9E_metronome(void);
void atk9F_dmgtolevel(void);
void atkA0_psywavedamageeffect(void);
void atkA1_counterdamagecalculator(void);
void atkA2_mirrorcoatdamagecalculator(void);
void atkA3_disablelastusedattack(void);
void atkA4_setencore(void);
void atkA5_painsplitdmgcalc(void);
void atkA6_settypetorandomresistance(void);
void atkA7_setalwayshitflag(void);
void atkA8_copymovepermanently(void);
void atkA9_sleeptalk_choose_move(void);
void atkAA_set_destinybond(void);
void atkAB_DestinyBondFlagUpdate(void);
void atkAC_remaininghptopower(void);
void atkAD_spite_ppreduce(void);
void atkAE_heal_party_status(void);
void atkAF_cursetarget(void);
void atkB0_set_spikes(void);
void atkB1_set_foresight(void);
void atkB2_setperishsong(void);
void atkB3_rolloutdamagecalculation(void);
void atkB4_jumpifconfusedandstatmaxed(void);
void atkB5_furycuttercalc(void);
void atkB6_happinesstodamagecalculation(void);
void atkB7_presentdamagecalculation(void);
void atkB8_set_safeguard(void);
void atkB9_magnitudedamagecalculation(void);
void atkBA_jumpifnopursuitswitchdmg(void);
void atkBB_setsunny(void);
void atkBC_maxattackhalvehp(void);
void atkBD_copyfoestats(void);
void atkBE_breakfree(void);
void atkBF_set_defense_curl(void);
void atkC0_recoverbasedonsunlight(void);
void atkC1_hidden_power(void);
void atkC2_selectnexttarget(void);
void atkC3_setfutureattack(void);
void atkC4_beat_up(void);
void atkC5_hidepreattack(void);
void atkC6_unhidepostattack(void);
void atkC7_setminimize(void);
void atkC8_sethail(void);
void atkC9_jumpifattackandspecialattackcannotfall(void);
void atkCA_setforcedtarget(void);
void atkCB_setcharge(void);
void atkCC_callterrainattack(void);
void atkCD_cureifburnedparalysedorpoisoned(void);
void atkCE_settorment(void);
void atkCF_jumpifnodamage(void);
void atkD0_settaunt(void);
void atkD1_set_helpinghand(void);
void atkD2_swap_items(void);
void atkD3_copy_ability(void);
void atkD4_wish_effect(void);
void atkD5_setroots(void);
void atkD6_doubledamagedealtifdamaged(void);
void atkD7_setyawn(void);
void atkD8_setdamagetohealthdifference(void);
void atkD9_scaledamagebyhealthratio(void);
void atkDA_abilityswap(void);
void atkDB_imprisoneffect(void);
void atkDC_setgrudge(void);
void atkDD_weightdamagecalculation(void);
void atkDE_asistattackselect(void);
void atkDF_setmagiccoat(void);
void atkE0_setstealstatchange(void);
void atkE1_intimidate_string_loader(void);
void atkE2_switchout_abilities(void);
void atkE3_jumpiffainted(void);
void atkE4_getsecretpowereffect(void);
void atkE5_pickup(void);
void atkE6_castform_change_animation(void);
void atkE7_castform_data_change(void);
void atkE8_settypebasedhalvers(void);
void atkE9_setweatherballtype(void);
void atkEA_recycleitem(void);
void atkEB_settypetoterrain(void);
void atkEC_pursuit_sth(void);
void atkED_802B4B4(void);
void atkEE_removelightscreenreflect(void);
void atkEF_pokeball_catch_calculation(void);
void atkF0_copy_caught_poke(void);
void atkF1_setpoke_as_caught(void);
void atkF2_display_dex_info(void);
void atkF3_nickname_caught_poke(void);
void atkF4_802BEF0(void);
void atkF5_removeattackerstatus1(void);
void atkF6_802BF48(void);
void atkF7_802BF54(void);
void sub_8056EF8(void);
void (* const gBattleScriptingCommandsTable[])(void) =
{
atk00_attackcanceler,
atk01_accuracycheck,
atk02_attackstring,
atk03_ppreduce,
atk04_critcalc,
atk05_damagecalc1,
atk06_typecalc,
atk07_dmg_adjustment,
atk08_dmg_adjustment2,
atk09_attackanimation,
atk0A_waitanimation,
atk0B_healthbarupdate,
atk0C_datahpupdate,
atk0D_critmessage,
atk0E_effectiveness_sound,
atk0F_resultmessage,
atk10_printstring,
atk11_printstring_playeronly,
atk12_waitmessage,
atk13_printfromtable,
atk14_printfromtable_playeronly,
atk15_seteffectwithchancetarget,
atk16_seteffectprimary,
atk17_seteffectsecondary,
atk18_status_effect_clear,
atk19_faint_pokemon,
atk1A_faint_animation,
atk1B_faint_effects_clear,
atk1C_jumpifstatus,
atk1D_jumpifstatus2,
atk1E_jumpifability,
atk1F_jumpifsideaffecting,
atk20_jumpifstat,
atk21_jumpifstatus3,
atk22_jumpiftype,
atk23_getexp,
atk24,
atk25_move_values_cleanup,
atk26_set_multihit,
atk27_decrement_multihit,
atk28_goto,
atk29_jumpifbyte,
atk2A_jumpifhalfword,
atk2B_jumpifword,
atk2C_jumpifarrayequal,
atk2D_jumpifarraynotequal,
atk2E_setbyte,
atk2F_addbyte,
atk30_subbyte,
atk31_copyarray,
atk32_copyarray_withindex,
atk33_orbyte,
atk34_orhalfword,
atk35_orword,
atk36_bicbyte,
atk37_bichalfword,
atk38_bicword,
atk39_pause,
atk3A_waitstate,
atk3B_healthbar_update,
atk3C_return,
atk3D_end,
atk3E_end2,
atk3F_end3,
atk40_jump_if_move_affected_by_protect,
atk41_call,
atk42_jumpiftype2,
atk43_jumpifabilitypresent,
atk44,
atk45_playanimation,
atk46_playanimation2,
atk47_setgraphicalstatchangevalues,
atk48_playstatchangeanimation,
atk49_moveendturn,
atk4A_typecalc2,
atk4B_return_atk_to_ball,
atk4C_copy_poke_data,
atk4D_switch_data_update,
atk4E_switchin_anim,
atk4F_jump_if_cannot_switch,
atk50_openpartyscreen,
atk51_switch_handle_order,
atk52_switch_in_effects,
atk53_trainer_slide,
atk54_effectiveness_sound,
atk55_play_sound,
atk56_fainting_cry,
atk57,
atk58_return_to_ball,
atk59_learnmove_inbattle,
atk5A,
atk5B_80256E0,
atk5C_hitanimation,
atk5D_getmoneyreward,
atk5E_8025A70,
atk5F_8025B24,
atk60_increment_gamestat,
atk61_8025BA4,
atk62_08025C6C,
atk63_jumptorandomattack,
atk64_statusanimation,
atk65_status2animation,
atk66_chosenstatusanimation,
atk67_8025ECC,
atk68_80246A0,
atk69_dmg_adjustment2,
atk6A_removeitem,
atk6B_atknameinbuff1,
atk6C_lvlbox_display,
atk6D_set_sentpokes_values,
atk6E_set_atk_to_player0,
atk6F_set_visible,
atk70_record_ability,
atk71_buffer_move_to_learn,
atk72_jump_if_can_run_frombattle,
atk73_hp_thresholds,
atk74_hp_thresholds2,
atk75_8026A58,
atk76_various,
atk77_setprotect,
atk78_faintifabilitynotdamp,
atk79_setatkhptozero,
atk7A_jumpwhiletargetvalid,
atk7B_healhalfHP_if_possible,
atk7C_8025508,
atk7D_set_rain,
atk7E_setreflect,
atk7F_setseeded,
atk80_manipulatedamage,
atk81_setrest,
atk82_jumpifnotfirstturn,
atk83_nop,
atk84_jump_if_cant_sleep,
atk85_stockpile,
atk86_stockpiletobasedamage,
atk87_stockpiletohpheal,
atk88_negativedamage,
atk89_statbuffchange,
atk8A_normalisebuffs,
atk8B_setbide,
atk8C_confuseifrepeatingattackends,
atk8D_setmultihit_counter,
atk8E_prepare_multihit,
atk8F_forcerandomswitch,
atk90_conversion_type_change,
atk91_givepaydaymoney,
atk92_setlightscreen,
atk93_ko_move,
atk94_gethalfcurrentenemyhp,
atk95_setsandstorm,
atk96_weatherdamage,
atk97_try_infatuation,
atk98_status_icon_update,
atk99_setmist,
atk9A_set_focusenergy,
atk9B_transformdataexecution,
atk9C_set_substitute,
atk9D_copyattack,
atk9E_metronome,
atk9F_dmgtolevel,
atkA0_psywavedamageeffect,
atkA1_counterdamagecalculator,
atkA2_mirrorcoatdamagecalculator,
atkA3_disablelastusedattack,
atkA4_setencore,
atkA5_painsplitdmgcalc,
atkA6_settypetorandomresistance,
atkA7_setalwayshitflag,
atkA8_copymovepermanently,
atkA9_sleeptalk_choose_move,
atkAA_set_destinybond,
atkAB_DestinyBondFlagUpdate,
atkAC_remaininghptopower,
atkAD_spite_ppreduce,
atkAE_heal_party_status,
atkAF_cursetarget,
atkB0_set_spikes,
atkB1_set_foresight,
atkB2_setperishsong,
atkB3_rolloutdamagecalculation,
atkB4_jumpifconfusedandstatmaxed,
atkB5_furycuttercalc,
atkB6_happinesstodamagecalculation,
atkB7_presentdamagecalculation,
atkB8_set_safeguard,
atkB9_magnitudedamagecalculation,
atkBA_jumpifnopursuitswitchdmg,
atkBB_setsunny,
atkBC_maxattackhalvehp,
atkBD_copyfoestats,
atkBE_breakfree,
atkBF_set_defense_curl,
atkC0_recoverbasedonsunlight,
atkC1_hidden_power,
atkC2_selectnexttarget,
atkC3_setfutureattack,
atkC4_beat_up,
atkC5_hidepreattack,
atkC6_unhidepostattack,
atkC7_setminimize,
atkC8_sethail,
atkC9_jumpifattackandspecialattackcannotfall,
atkCA_setforcedtarget,
atkCB_setcharge,
atkCC_callterrainattack,
atkCD_cureifburnedparalysedorpoisoned,
atkCE_settorment,
atkCF_jumpifnodamage,
atkD0_settaunt,
atkD1_set_helpinghand,
atkD2_swap_items,
atkD3_copy_ability,
atkD4_wish_effect,
atkD5_setroots,
atkD6_doubledamagedealtifdamaged,
atkD7_setyawn,
atkD8_setdamagetohealthdifference,
atkD9_scaledamagebyhealthratio,
atkDA_abilityswap,
atkDB_imprisoneffect,
atkDC_setgrudge,
atkDD_weightdamagecalculation,
atkDE_asistattackselect,
atkDF_setmagiccoat,
atkE0_setstealstatchange,
atkE1_intimidate_string_loader,
atkE2_switchout_abilities,
atkE3_jumpiffainted,
atkE4_getsecretpowereffect,
atkE5_pickup,
atkE6_castform_change_animation,
atkE7_castform_data_change,
atkE8_settypebasedhalvers,
atkE9_setweatherballtype,
atkEA_recycleitem,
atkEB_settypetoterrain,
atkEC_pursuit_sth,
atkED_802B4B4,
atkEE_removelightscreenreflect,
atkEF_pokeball_catch_calculation,
atkF0_copy_caught_poke,
atkF1_setpoke_as_caught,
atkF2_display_dex_info,
atkF3_nickname_caught_poke,
atkF4_802BEF0,
atkF5_removeattackerstatus1,
atkF6_802BF48,
atkF7_802BF54,
sub_8056EF8
};
struct statFractions
{
u8 dividend;
u8 divisor;
};
const struct statFractions gAccuracyStageRatios[] =
{
{ 33, 100}, // -6
{ 36, 100}, // -5
{ 43, 100}, // -4
{ 50, 100}, // -3
{ 60, 100}, // -2
{ 75, 100}, // -1
{ 1, 1}, // 0
{133, 100}, // +1
{166, 100}, // +2
{ 2, 1}, // +3
{233, 100}, // +4
{133, 50}, // +5
{ 3, 1}, // +6
};
// The chance is 1/N for each stage.
const u16 gCriticalHitChance[] = {16, 8, 4, 3, 2};
const u32 gStatusFlagsForMoveEffects[] =
{
0x00000000,
0x00000007,
0x00000008,
0x00000010,
0x00000020,
0x00000040,
0x00000080,
0x00000007,
0x00000008,
0x00000000,
0x00000070,
0x00000000,
0x00001000,
0x0000E000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00400000,
0x00000000,
0x00000000,
0x04000000,
0x08000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000C00,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000
};