Merge branch 'master' into event_object_movement
This commit is contained in:
-1473
File diff suppressed because it is too large
Load Diff
@@ -1,580 +0,0 @@
|
||||
.include "asm/macros.inc"
|
||||
.include "constants/constants.inc"
|
||||
|
||||
.syntax unified
|
||||
|
||||
.text
|
||||
|
||||
thumb_func_start sub_814B6F0
|
||||
sub_814B6F0: @ 814B6F0
|
||||
ldr r0, _0814B6F8 @ =gUnknown_203F3DC
|
||||
ldr r0, [r0]
|
||||
bx lr
|
||||
.align 2, 0
|
||||
_0814B6F8: .4byte gUnknown_203F3DC
|
||||
thumb_func_end sub_814B6F0
|
||||
|
||||
thumb_func_start sub_814B6FC
|
||||
sub_814B6FC: @ 814B6FC
|
||||
push {r4,r5,lr}
|
||||
adds r4, r0, 0
|
||||
ldr r5, _0814B70C @ =gUnknown_203F3DC
|
||||
ldr r0, [r5]
|
||||
cmp r0, 0
|
||||
bne _0814B710
|
||||
movs r0, 0x2
|
||||
b _0814B740
|
||||
.align 2, 0
|
||||
_0814B70C: .4byte gUnknown_203F3DC
|
||||
_0814B710:
|
||||
cmp r4, 0
|
||||
bne _0814B716
|
||||
ldr r4, [r0]
|
||||
_0814B716:
|
||||
ldrb r0, [r0, 0xA]
|
||||
bl DestroyTask
|
||||
ldr r0, [r5]
|
||||
bl Free
|
||||
movs r0, 0
|
||||
str r0, [r5]
|
||||
adds r0, r4, 0
|
||||
bl SetMainCallback2
|
||||
ldr r0, _0814B748 @ =CB2_ReturnToField
|
||||
cmp r4, r0
|
||||
bne _0814B73E
|
||||
ldr r0, _0814B74C @ =0x0000012f
|
||||
bl PlayNewMapMusic
|
||||
ldr r0, _0814B750 @ =sub_8056534
|
||||
bl sub_80565E0
|
||||
_0814B73E:
|
||||
movs r0, 0
|
||||
_0814B740:
|
||||
pop {r4,r5}
|
||||
pop {r1}
|
||||
bx r1
|
||||
.align 2, 0
|
||||
_0814B748: .4byte CB2_ReturnToField
|
||||
_0814B74C: .4byte 0x0000012f
|
||||
_0814B750: .4byte sub_8056534
|
||||
thumb_func_end sub_814B6FC
|
||||
|
||||
thumb_func_start sub_814B754
|
||||
sub_814B754: @ 814B754
|
||||
push {r4-r7,lr}
|
||||
mov r7, r8
|
||||
push {r7}
|
||||
sub sp, 0xC
|
||||
adds r4, r0, 0
|
||||
movs r0, 0
|
||||
mov r8, r0
|
||||
ldr r0, _0814B784 @ =gReceivedRemoteLinkPlayers
|
||||
ldrb r0, [r0]
|
||||
cmp r0, 0
|
||||
beq _0814B772
|
||||
ldr r0, _0814B788 @ =gWirelessCommType
|
||||
ldrb r0, [r0]
|
||||
cmp r0, 0
|
||||
bne _0814B790
|
||||
_0814B772:
|
||||
adds r0, r4, 0
|
||||
bl SetMainCallback2
|
||||
ldr r0, _0814B78C @ =Rfu
|
||||
mov r1, r8
|
||||
strh r1, [r0, 0x10]
|
||||
strh r1, [r0, 0x12]
|
||||
b _0814B7DC
|
||||
.align 2, 0
|
||||
_0814B784: .4byte gReceivedRemoteLinkPlayers
|
||||
_0814B788: .4byte gWirelessCommType
|
||||
_0814B78C: .4byte Rfu
|
||||
_0814B790:
|
||||
bl GetLinkPlayerCount
|
||||
lsls r0, 24
|
||||
lsrs r0, 24
|
||||
mov r8, r0
|
||||
bl GetMultiplayerId
|
||||
lsls r0, 24
|
||||
lsrs r7, r0, 24
|
||||
mov r0, r8
|
||||
cmp r0, 0x1
|
||||
bls _0814B7AC
|
||||
cmp r7, r8
|
||||
bcc _0814B7C0
|
||||
_0814B7AC:
|
||||
adds r0, r4, 0
|
||||
bl SetMainCallback2
|
||||
ldr r0, _0814B7BC @ =Rfu
|
||||
movs r1, 0
|
||||
strh r1, [r0, 0x10]
|
||||
strh r1, [r0, 0x12]
|
||||
b _0814B7DC
|
||||
.align 2, 0
|
||||
_0814B7BC: .4byte Rfu
|
||||
_0814B7C0:
|
||||
ldr r6, _0814B7E8 @ =gUnknown_203F3DC
|
||||
ldr r0, _0814B7EC @ =0x000041c0
|
||||
bl AllocZeroed
|
||||
adds r5, r0, 0
|
||||
str r5, [r6]
|
||||
cmp r5, 0
|
||||
bne _0814B7F4
|
||||
adds r0, r4, 0
|
||||
bl SetMainCallback2
|
||||
ldr r0, _0814B7F0 @ =Rfu
|
||||
strh r5, [r0, 0x10]
|
||||
strh r5, [r0, 0x12]
|
||||
_0814B7DC:
|
||||
adds r0, 0xEE
|
||||
ldrb r1, [r0]
|
||||
movs r1, 0x1
|
||||
strb r1, [r0]
|
||||
b _0814B84C
|
||||
.align 2, 0
|
||||
_0814B7E8: .4byte gUnknown_203F3DC
|
||||
_0814B7EC: .4byte 0x000041c0
|
||||
_0814B7F0: .4byte Rfu
|
||||
_0814B7F4:
|
||||
str r4, [r5]
|
||||
movs r4, 0
|
||||
strb r7, [r5, 0x8]
|
||||
ldr r0, [r6]
|
||||
mov r1, r8
|
||||
strb r1, [r0, 0x9]
|
||||
ldr r0, [r6]
|
||||
bl sub_814BABC
|
||||
ldr r1, [r6]
|
||||
movs r2, 0x1
|
||||
movs r0, 0x1
|
||||
strh r0, [r1, 0x12]
|
||||
strb r2, [r1, 0xE]
|
||||
ldr r1, [r6]
|
||||
movs r0, 0x6
|
||||
strb r0, [r1, 0xF]
|
||||
ldr r0, [r6]
|
||||
adds r0, 0x36
|
||||
movs r2, 0x1
|
||||
negs r2, r2
|
||||
movs r1, 0x10
|
||||
str r1, [sp]
|
||||
str r4, [sp, 0x4]
|
||||
str r4, [sp, 0x8]
|
||||
movs r1, 0x1
|
||||
movs r3, 0
|
||||
bl sub_814D564
|
||||
ldr r2, [r6]
|
||||
adds r2, 0x36
|
||||
movs r0, 0x4
|
||||
movs r1, 0x1
|
||||
bl sub_814BB4C
|
||||
ldr r0, _0814B858 @ =sub_814BA80
|
||||
bl SetMainCallback2
|
||||
ldr r0, _0814B85C @ =sub_814BA98
|
||||
movs r1, 0x8
|
||||
bl CreateTask
|
||||
ldr r1, [r6]
|
||||
strb r0, [r1, 0xA]
|
||||
_0814B84C:
|
||||
add sp, 0xC
|
||||
pop {r3}
|
||||
mov r8, r3
|
||||
pop {r4-r7}
|
||||
pop {r0}
|
||||
bx r0
|
||||
.align 2, 0
|
||||
_0814B858: .4byte sub_814BA80
|
||||
_0814B85C: .4byte sub_814BA98
|
||||
thumb_func_end sub_814B754
|
||||
|
||||
thumb_func_start sub_814B860
|
||||
sub_814B860: @ 814B860
|
||||
push {r4,lr}
|
||||
sub sp, 0xC
|
||||
ldr r1, _0814B878 @ =gSpecialVar_ItemId
|
||||
ldrh r0, [r1]
|
||||
subs r0, 0x85
|
||||
lsls r0, 16
|
||||
lsrs r0, 16
|
||||
cmp r0, 0x2B
|
||||
bls _0814B87C
|
||||
movs r0, 0x85
|
||||
strh r0, [r1]
|
||||
b _0814B884
|
||||
.align 2, 0
|
||||
_0814B878: .4byte gSpecialVar_ItemId
|
||||
_0814B87C:
|
||||
ldrh r0, [r1]
|
||||
movs r1, 0x1
|
||||
bl RemoveBagItem
|
||||
_0814B884:
|
||||
ldr r4, _0814B8E0 @ =gUnknown_203F3DC
|
||||
ldr r2, [r4]
|
||||
ldrb r0, [r2, 0x8]
|
||||
lsls r0, 5
|
||||
adds r0, r2, r0
|
||||
ldr r1, _0814B8E4 @ =gSpecialVar_ItemId
|
||||
ldrh r1, [r1]
|
||||
subs r1, 0x85
|
||||
adds r0, 0xA4
|
||||
movs r3, 0
|
||||
strh r1, [r0]
|
||||
movs r0, 0x1
|
||||
strb r0, [r2, 0xE]
|
||||
ldr r1, [r4]
|
||||
movs r0, 0x9
|
||||
strb r0, [r1, 0xF]
|
||||
ldr r0, [r4]
|
||||
adds r0, 0x36
|
||||
movs r2, 0x1
|
||||
negs r2, r2
|
||||
movs r1, 0x10
|
||||
str r1, [sp]
|
||||
str r3, [sp, 0x4]
|
||||
str r3, [sp, 0x8]
|
||||
movs r1, 0
|
||||
bl sub_814D564
|
||||
ldr r2, [r4]
|
||||
adds r2, 0x36
|
||||
movs r0, 0x4
|
||||
movs r1, 0x1
|
||||
bl sub_814BB4C
|
||||
ldr r0, _0814B8E8 @ =sub_814BA98
|
||||
movs r1, 0x8
|
||||
bl CreateTask
|
||||
ldr r1, [r4]
|
||||
strb r0, [r1, 0xA]
|
||||
ldr r0, _0814B8EC @ =sub_814BA80
|
||||
bl SetMainCallback2
|
||||
add sp, 0xC
|
||||
pop {r4}
|
||||
pop {r0}
|
||||
bx r0
|
||||
.align 2, 0
|
||||
_0814B8E0: .4byte gUnknown_203F3DC
|
||||
_0814B8E4: .4byte gSpecialVar_ItemId
|
||||
_0814B8E8: .4byte sub_814BA98
|
||||
_0814B8EC: .4byte sub_814BA80
|
||||
thumb_func_end sub_814B860
|
||||
|
||||
thumb_func_start sub_814B8F0
|
||||
sub_814B8F0: @ 814B8F0
|
||||
push {lr}
|
||||
ldr r0, _0814B90C @ =gUnknown_203F3DC
|
||||
ldr r0, [r0]
|
||||
ldrb r0, [r0, 0xA]
|
||||
bl DestroyTask
|
||||
ldr r1, _0814B910 @ =sub_814B860
|
||||
movs r0, 0x5
|
||||
movs r2, 0
|
||||
bl InitBerryPouch
|
||||
pop {r0}
|
||||
bx r0
|
||||
.align 2, 0
|
||||
_0814B90C: .4byte gUnknown_203F3DC
|
||||
_0814B910: .4byte sub_814B860
|
||||
thumb_func_end sub_814B8F0
|
||||
|
||||
thumb_func_start sub_814B914
|
||||
sub_814B914: @ 814B914
|
||||
push {lr}
|
||||
ldr r0, _0814B920 @ =sub_814BA6C
|
||||
bl SetVBlankCallback
|
||||
pop {r0}
|
||||
bx r0
|
||||
.align 2, 0
|
||||
_0814B920: .4byte sub_814BA6C
|
||||
thumb_func_end sub_814B914
|
||||
|
||||
thumb_func_start sub_814B924
|
||||
sub_814B924: @ 814B924
|
||||
push {lr}
|
||||
movs r0, 0
|
||||
bl SetVBlankCallback
|
||||
pop {r0}
|
||||
bx r0
|
||||
thumb_func_end sub_814B924
|
||||
|
||||
thumb_func_start sub_814B930
|
||||
sub_814B930: @ 814B930
|
||||
push {r4,r5,lr}
|
||||
ldr r4, _0814B974 @ =gUnknown_203F3DC
|
||||
ldr r0, [r4]
|
||||
adds r0, 0x6C
|
||||
ldrh r2, [r0]
|
||||
lsls r2, 8
|
||||
movs r1, 0xF0
|
||||
lsls r1, 6
|
||||
adds r0, r2, 0
|
||||
bl sub_80D8B68
|
||||
adds r2, r0, 0
|
||||
ldr r0, [r4]
|
||||
adds r0, 0x72
|
||||
ldrh r3, [r0]
|
||||
lsls r3, 8
|
||||
adds r0, r3, 0
|
||||
adds r1, r2, 0
|
||||
bl sub_80D8B68
|
||||
adds r3, r0, 0
|
||||
ldr r0, _0814B978 @ =0x0000ffff
|
||||
ands r3, r0
|
||||
ldr r2, [r4]
|
||||
strh r3, [r2, 0x16]
|
||||
ldrb r0, [r2, 0x9]
|
||||
cmp r0, 0x3
|
||||
beq _0814B9B4
|
||||
cmp r0, 0x3
|
||||
bgt _0814B97C
|
||||
cmp r0, 0x2
|
||||
beq _0814B986
|
||||
b _0814BA3C
|
||||
.align 2, 0
|
||||
_0814B974: .4byte gUnknown_203F3DC
|
||||
_0814B978: .4byte 0x0000ffff
|
||||
_0814B97C:
|
||||
cmp r0, 0x4
|
||||
beq _0814B9E4
|
||||
cmp r0, 0x5
|
||||
beq _0814BA14
|
||||
b _0814BA3C
|
||||
_0814B986:
|
||||
ldr r5, _0814B9B0 @ =gSaveBlock2Ptr
|
||||
ldr r1, [r5]
|
||||
movs r0, 0xAF
|
||||
lsls r0, 4
|
||||
adds r1, r0
|
||||
lsls r0, r3, 16
|
||||
lsrs r0, 16
|
||||
ldrh r1, [r1]
|
||||
cmp r0, r1
|
||||
bls _0814BA3C
|
||||
adds r2, 0x25
|
||||
ldrb r0, [r2]
|
||||
movs r1, 0x2
|
||||
orrs r0, r1
|
||||
strb r0, [r2]
|
||||
ldr r0, [r5]
|
||||
ldr r1, [r4]
|
||||
ldrh r1, [r1, 0x16]
|
||||
movs r2, 0xAF
|
||||
lsls r2, 4
|
||||
b _0814BA38
|
||||
.align 2, 0
|
||||
_0814B9B0: .4byte gSaveBlock2Ptr
|
||||
_0814B9B4:
|
||||
ldr r5, _0814B9DC @ =gSaveBlock2Ptr
|
||||
ldr r1, [r5]
|
||||
ldr r0, _0814B9E0 @ =0x00000af2
|
||||
adds r1, r0
|
||||
lsls r0, r3, 16
|
||||
lsrs r0, 16
|
||||
ldrh r1, [r1]
|
||||
cmp r0, r1
|
||||
bls _0814BA3C
|
||||
adds r2, 0x25
|
||||
ldrb r0, [r2]
|
||||
movs r1, 0x2
|
||||
orrs r0, r1
|
||||
strb r0, [r2]
|
||||
ldr r0, [r5]
|
||||
ldr r1, [r4]
|
||||
ldrh r1, [r1, 0x16]
|
||||
ldr r2, _0814B9E0 @ =0x00000af2
|
||||
b _0814BA38
|
||||
.align 2, 0
|
||||
_0814B9DC: .4byte gSaveBlock2Ptr
|
||||
_0814B9E0: .4byte 0x00000af2
|
||||
_0814B9E4:
|
||||
ldr r5, _0814BA0C @ =gSaveBlock2Ptr
|
||||
ldr r1, [r5]
|
||||
ldr r0, _0814BA10 @ =0x00000af4
|
||||
adds r1, r0
|
||||
lsls r0, r3, 16
|
||||
lsrs r0, 16
|
||||
ldrh r1, [r1]
|
||||
cmp r0, r1
|
||||
bls _0814BA3C
|
||||
adds r2, 0x25
|
||||
ldrb r0, [r2]
|
||||
movs r1, 0x2
|
||||
orrs r0, r1
|
||||
strb r0, [r2]
|
||||
ldr r0, [r5]
|
||||
ldr r1, [r4]
|
||||
ldrh r1, [r1, 0x16]
|
||||
ldr r2, _0814BA10 @ =0x00000af4
|
||||
b _0814BA38
|
||||
.align 2, 0
|
||||
_0814BA0C: .4byte gSaveBlock2Ptr
|
||||
_0814BA10: .4byte 0x00000af4
|
||||
_0814BA14:
|
||||
ldr r5, _0814BA60 @ =gSaveBlock2Ptr
|
||||
ldr r1, [r5]
|
||||
ldr r0, _0814BA64 @ =0x00000af6
|
||||
adds r1, r0
|
||||
lsls r0, r3, 16
|
||||
lsrs r0, 16
|
||||
ldrh r1, [r1]
|
||||
cmp r0, r1
|
||||
bls _0814BA3C
|
||||
adds r2, 0x25
|
||||
ldrb r0, [r2]
|
||||
movs r1, 0x2
|
||||
orrs r0, r1
|
||||
strb r0, [r2]
|
||||
ldr r0, [r5]
|
||||
ldr r1, [r4]
|
||||
ldrh r1, [r1, 0x16]
|
||||
ldr r2, _0814BA64 @ =0x00000af6
|
||||
_0814BA38:
|
||||
adds r0, r2
|
||||
strh r1, [r0]
|
||||
_0814BA3C:
|
||||
ldr r4, _0814BA68 @ =gUnknown_203F3DC
|
||||
ldr r1, [r4]
|
||||
ldr r0, [r1, 0x68]
|
||||
str r0, [r1, 0x1C]
|
||||
bl GiveBerryPowder
|
||||
lsls r0, 24
|
||||
cmp r0, 0
|
||||
bne _0814BA5A
|
||||
ldr r0, [r4]
|
||||
adds r0, 0x25
|
||||
ldrb r1, [r0]
|
||||
movs r2, 0x1
|
||||
orrs r1, r2
|
||||
strb r1, [r0]
|
||||
_0814BA5A:
|
||||
pop {r4,r5}
|
||||
pop {r0}
|
||||
bx r0
|
||||
.align 2, 0
|
||||
_0814BA60: .4byte gSaveBlock2Ptr
|
||||
_0814BA64: .4byte 0x00000af6
|
||||
_0814BA68: .4byte gUnknown_203F3DC
|
||||
thumb_func_end sub_814B930
|
||||
|
||||
thumb_func_start sub_814BA6C
|
||||
sub_814BA6C: @ 814BA6C
|
||||
push {lr}
|
||||
bl TransferPlttBuffer
|
||||
bl LoadOam
|
||||
bl ProcessSpriteCopyRequests
|
||||
pop {r0}
|
||||
bx r0
|
||||
thumb_func_end sub_814BA6C
|
||||
|
||||
thumb_func_start sub_814BA80
|
||||
sub_814BA80: @ 814BA80
|
||||
push {lr}
|
||||
bl RunTasks
|
||||
bl RunTextPrinters
|
||||
bl AnimateSprites
|
||||
bl BuildOamBuffer
|
||||
pop {r0}
|
||||
bx r0
|
||||
thumb_func_end sub_814BA80
|
||||
|
||||
thumb_func_start sub_814BA98
|
||||
sub_814BA98: @ 814BA98
|
||||
push {r4,lr}
|
||||
ldr r4, _0814BAB8 @ =gUnknown_203F3DC
|
||||
ldr r0, [r4]
|
||||
ldr r2, [r0, 0x4]
|
||||
cmp r2, 0
|
||||
beq _0814BAAC
|
||||
adds r1, r0, 0
|
||||
adds r1, 0x36
|
||||
bl _call_via_r2
|
||||
_0814BAAC:
|
||||
ldr r0, [r4]
|
||||
bl sub_814D9CC
|
||||
pop {r4}
|
||||
pop {r0}
|
||||
bx r0
|
||||
.align 2, 0
|
||||
_0814BAB8: .4byte gUnknown_203F3DC
|
||||
thumb_func_end sub_814BA98
|
||||
|
||||
thumb_func_start sub_814BABC
|
||||
sub_814BABC: @ 814BABC
|
||||
push {r4-r6,lr}
|
||||
adds r6, r0, 0
|
||||
movs r5, 0
|
||||
b _0814BAE8
|
||||
_0814BAC4:
|
||||
lsls r4, r5, 5
|
||||
adds r0, r4, 0
|
||||
adds r0, 0x98
|
||||
adds r0, r6, r0
|
||||
lsls r1, r5, 3
|
||||
subs r1, r5
|
||||
lsls r1, 2
|
||||
ldr r2, _0814BB2C @ =gLinkPlayers + 8
|
||||
adds r1, r2
|
||||
bl StringCopy
|
||||
adds r4, r6, r4
|
||||
adds r4, 0x9F
|
||||
movs r0, 0xFF
|
||||
strb r0, [r4]
|
||||
adds r0, r5, 0x1
|
||||
lsls r0, 24
|
||||
lsrs r5, r0, 24
|
||||
_0814BAE8:
|
||||
ldrb r0, [r6, 0x9]
|
||||
cmp r5, r0
|
||||
bcc _0814BAC4
|
||||
cmp r5, 0x4
|
||||
bhi _0814BB14
|
||||
_0814BAF2:
|
||||
lsls r4, r5, 5
|
||||
adds r0, r4, 0
|
||||
adds r0, 0x98
|
||||
adds r0, r6, r0
|
||||
movs r1, 0x1
|
||||
movs r2, 0x7
|
||||
bl memset
|
||||
adds r4, r6, r4
|
||||
adds r4, 0x9F
|
||||
movs r0, 0xFF
|
||||
strb r0, [r4]
|
||||
adds r0, r5, 0x1
|
||||
lsls r0, 24
|
||||
lsrs r5, r0, 24
|
||||
cmp r5, 0x4
|
||||
bls _0814BAF2
|
||||
_0814BB14:
|
||||
ldr r0, _0814BB30 @ =gSaveBlock2Ptr
|
||||
ldr r0, [r0]
|
||||
ldrb r0, [r0, 0x14]
|
||||
lsls r0, 29
|
||||
lsrs r0, 29
|
||||
cmp r0, 0x1
|
||||
beq _0814BB3E
|
||||
cmp r0, 0x1
|
||||
bgt _0814BB34
|
||||
cmp r0, 0
|
||||
beq _0814BB3A
|
||||
b _0814BB46
|
||||
.align 2, 0
|
||||
_0814BB2C: .4byte gLinkPlayers + 8
|
||||
_0814BB30: .4byte gSaveBlock2Ptr
|
||||
_0814BB34:
|
||||
cmp r0, 0x2
|
||||
beq _0814BB42
|
||||
b _0814BB46
|
||||
_0814BB3A:
|
||||
movs r0, 0x8
|
||||
b _0814BB44
|
||||
_0814BB3E:
|
||||
movs r0, 0x4
|
||||
b _0814BB44
|
||||
_0814BB42:
|
||||
movs r0, 0x1
|
||||
_0814BB44:
|
||||
strb r0, [r6, 0xB]
|
||||
_0814BB46:
|
||||
pop {r4-r6}
|
||||
pop {r0}
|
||||
bx r0
|
||||
thumb_func_end sub_814BABC
|
||||
|
||||
.align 2, 0 @ Don't pad with nop.
|
||||
-3494
File diff suppressed because it is too large
Load Diff
-3431
File diff suppressed because it is too large
Load Diff
+2
-2
@@ -718,7 +718,7 @@ StartTransitionToFlipBikeState: @ 80BD5C8
|
||||
push {r4,lr}
|
||||
lsls r0, 24
|
||||
lsrs r2, r0, 24
|
||||
ldr r1, _080BD5F0 @ =gUnknown_2036E2C
|
||||
ldr r1, _080BD5F0 @ =gUnusedBikeCameraAheadPanback
|
||||
movs r0, 0
|
||||
strb r0, [r1]
|
||||
ldr r0, _080BD5F4 @ =gPlayerAvatar
|
||||
@@ -733,7 +733,7 @@ StartTransitionToFlipBikeState: @ 80BD5C8
|
||||
bl Overworld_PlaySpecialMapMusic
|
||||
b _080BD618
|
||||
.align 2, 0
|
||||
_080BD5F0: .4byte gUnknown_2036E2C
|
||||
_080BD5F0: .4byte gUnusedBikeCameraAheadPanback
|
||||
_080BD5F4: .4byte gPlayerAvatar
|
||||
_080BD5F8:
|
||||
adds r0, r2, 0
|
||||
|
||||
-2526
File diff suppressed because it is too large
Load Diff
@@ -1,469 +0,0 @@
|
||||
.include "asm/macros.inc"
|
||||
.include "constants/constants.inc"
|
||||
|
||||
.syntax unified
|
||||
|
||||
.text
|
||||
|
||||
thumb_func_start sub_80F5574
|
||||
sub_80F5574: @ 80F5574
|
||||
push {lr}
|
||||
bl RunTasks
|
||||
bl AnimateSprites
|
||||
bl BuildOamBuffer
|
||||
bl UpdatePaletteFade
|
||||
pop {r0}
|
||||
bx r0
|
||||
thumb_func_end sub_80F5574
|
||||
|
||||
thumb_func_start sub_80F558C
|
||||
sub_80F558C: @ 80F558C
|
||||
push {lr}
|
||||
bl LoadOam
|
||||
bl ProcessSpriteCopyRequests
|
||||
bl TransferPlttBuffer
|
||||
pop {r0}
|
||||
bx r0
|
||||
thumb_func_end sub_80F558C
|
||||
|
||||
thumb_func_start CB2_SaveClearScreen_Init
|
||||
CB2_SaveClearScreen_Init: @ 80F55A0
|
||||
push {r4,lr}
|
||||
ldr r4, _080F55D0 @ =gUnknown_203AB54
|
||||
movs r0, 0x4
|
||||
bl AllocZeroed
|
||||
str r0, [r4]
|
||||
movs r1, 0
|
||||
strb r1, [r0, 0x1]
|
||||
ldr r0, [r4]
|
||||
strb r1, [r0]
|
||||
ldr r0, [r4]
|
||||
strb r1, [r0, 0x2]
|
||||
bl sub_80F580C
|
||||
ldr r0, _080F55D4 @ =sub_80F55DC
|
||||
movs r1, 0
|
||||
bl CreateTask
|
||||
ldr r0, _080F55D8 @ =sub_80F5574
|
||||
bl SetMainCallback2
|
||||
pop {r4}
|
||||
pop {r0}
|
||||
bx r0
|
||||
.align 2, 0
|
||||
_080F55D0: .4byte gUnknown_203AB54
|
||||
_080F55D4: .4byte sub_80F55DC
|
||||
_080F55D8: .4byte sub_80F5574
|
||||
thumb_func_end CB2_SaveClearScreen_Init
|
||||
|
||||
thumb_func_start sub_80F55DC
|
||||
sub_80F55DC: @ 80F55DC
|
||||
push {r4,lr}
|
||||
sub sp, 0x14
|
||||
lsls r0, 24
|
||||
lsrs r4, r0, 24
|
||||
ldr r0, _080F55F8 @ =gUnknown_203AB54
|
||||
ldr r0, [r0]
|
||||
ldrb r0, [r0, 0x1]
|
||||
cmp r0, 0x5
|
||||
bhi _080F56C0
|
||||
lsls r0, 2
|
||||
ldr r1, _080F55FC @ =_080F5600
|
||||
adds r0, r1
|
||||
ldr r0, [r0]
|
||||
mov pc, r0
|
||||
.align 2, 0
|
||||
_080F55F8: .4byte gUnknown_203AB54
|
||||
_080F55FC: .4byte _080F5600
|
||||
.align 2, 0
|
||||
_080F5600:
|
||||
.4byte _080F5618
|
||||
.4byte _080F562A
|
||||
.4byte _080F5644
|
||||
.4byte _080F564A
|
||||
.4byte _080F5660
|
||||
.4byte _080F569C
|
||||
_080F5618:
|
||||
movs r0, 0x1
|
||||
negs r0, r0
|
||||
movs r1, 0
|
||||
str r1, [sp]
|
||||
movs r2, 0
|
||||
movs r3, 0x10
|
||||
bl BeginNormalPaletteFade
|
||||
b _080F56E2
|
||||
_080F562A:
|
||||
ldr r0, _080F5640 @ =gPaletteFade
|
||||
ldrb r1, [r0, 0x7]
|
||||
movs r0, 0x80
|
||||
ands r0, r1
|
||||
cmp r0, 0
|
||||
bne _080F56EC
|
||||
movs r0, 0
|
||||
bl SetVBlankCallback
|
||||
b _080F56E2
|
||||
.align 2, 0
|
||||
_080F5640: .4byte gPaletteFade
|
||||
_080F5644:
|
||||
bl sub_80F5820
|
||||
b _080F56E2
|
||||
_080F564A:
|
||||
movs r0, 0
|
||||
movs r1, 0x1
|
||||
movs r2, 0xF0
|
||||
bl TextWindow_SetStdFrame0_WithPal
|
||||
movs r0, 0x1
|
||||
movs r1, 0x1
|
||||
movs r2, 0xF0
|
||||
bl TextWindow_SetStdFrame0_WithPal
|
||||
b _080F56E2
|
||||
_080F5660:
|
||||
movs r0, 0x1
|
||||
movs r1, 0x1
|
||||
movs r2, 0x1
|
||||
movs r3, 0xF
|
||||
bl DrawStdFrameWithCustomTileAndPalette
|
||||
movs r0, 0x1
|
||||
str r0, [sp]
|
||||
str r0, [sp, 0x4]
|
||||
ldr r0, _080F5694 @ =gUnknown_841EE80
|
||||
str r0, [sp, 0x8]
|
||||
movs r0, 0
|
||||
str r0, [sp, 0xC]
|
||||
ldr r0, _080F5698 @ =gUnknown_841B69E
|
||||
str r0, [sp, 0x10]
|
||||
movs r0, 0x1
|
||||
movs r1, 0x2
|
||||
movs r2, 0
|
||||
movs r3, 0x3
|
||||
bl AddTextPrinterParameterized4
|
||||
movs r0, 0x1
|
||||
movs r1, 0x2
|
||||
bl CopyWindowToVram
|
||||
b _080F56E2
|
||||
.align 2, 0
|
||||
_080F5694: .4byte gUnknown_841EE80
|
||||
_080F5698: .4byte gUnknown_841B69E
|
||||
_080F569C:
|
||||
ldr r0, _080F56BC @ =gUnknown_841EE68
|
||||
movs r2, 0x1
|
||||
str r2, [sp]
|
||||
movs r1, 0xF
|
||||
str r1, [sp, 0x4]
|
||||
str r2, [sp, 0x8]
|
||||
movs r1, 0x2
|
||||
movs r2, 0
|
||||
movs r3, 0x2
|
||||
bl CreateYesNoMenu
|
||||
movs r0, 0
|
||||
bl CopyBgTilemapBufferToVram
|
||||
b _080F56E2
|
||||
.align 2, 0
|
||||
_080F56BC: .4byte gUnknown_841EE68
|
||||
_080F56C0:
|
||||
ldr r0, _080F56F4 @ =0x0000ffff
|
||||
str r0, [sp]
|
||||
movs r1, 0
|
||||
movs r2, 0x10
|
||||
movs r3, 0
|
||||
bl BeginNormalPaletteFade
|
||||
ldr r0, _080F56F8 @ =sub_80F558C
|
||||
bl SetVBlankCallback
|
||||
ldr r1, _080F56FC @ =gTasks
|
||||
lsls r0, r4, 2
|
||||
adds r0, r4
|
||||
lsls r0, 3
|
||||
adds r0, r1
|
||||
ldr r1, _080F5700 @ =sub_80F5708
|
||||
str r1, [r0]
|
||||
_080F56E2:
|
||||
ldr r0, _080F5704 @ =gUnknown_203AB54
|
||||
ldr r1, [r0]
|
||||
ldrb r0, [r1, 0x1]
|
||||
adds r0, 0x1
|
||||
strb r0, [r1, 0x1]
|
||||
_080F56EC:
|
||||
add sp, 0x14
|
||||
pop {r4}
|
||||
pop {r0}
|
||||
bx r0
|
||||
.align 2, 0
|
||||
_080F56F4: .4byte 0x0000ffff
|
||||
_080F56F8: .4byte sub_80F558C
|
||||
_080F56FC: .4byte gTasks
|
||||
_080F5700: .4byte sub_80F5708
|
||||
_080F5704: .4byte gUnknown_203AB54
|
||||
thumb_func_end sub_80F55DC
|
||||
|
||||
thumb_func_start sub_80F5708
|
||||
sub_80F5708: @ 80F5708
|
||||
push {r4,r5,lr}
|
||||
sub sp, 0x14
|
||||
lsls r0, 24
|
||||
lsrs r1, r0, 24
|
||||
ldr r5, _080F5740 @ =gUnknown_203AB54
|
||||
ldr r0, [r5]
|
||||
ldrb r0, [r0]
|
||||
cmp r0, 0
|
||||
bne _080F578C
|
||||
bl Menu_ProcessInputNoWrapClearOnChoose
|
||||
lsls r0, 24
|
||||
asrs r4, r0, 24
|
||||
movs r0, 0x1
|
||||
negs r0, r0
|
||||
cmp r4, r0
|
||||
beq _080F5736
|
||||
cmp r4, r0
|
||||
ble _080F5792
|
||||
cmp r4, 0
|
||||
beq _080F5744
|
||||
cmp r4, 0x1
|
||||
bne _080F5792
|
||||
_080F5736:
|
||||
movs r0, 0x5
|
||||
bl PlaySE
|
||||
b _080F577A
|
||||
.align 2, 0
|
||||
_080F5740: .4byte gUnknown_203AB54
|
||||
_080F5744:
|
||||
movs r0, 0x5
|
||||
bl PlaySE
|
||||
movs r0, 0x1
|
||||
movs r1, 0x11
|
||||
bl FillWindowPixelBuffer
|
||||
movs r0, 0x1
|
||||
str r0, [sp]
|
||||
str r0, [sp, 0x4]
|
||||
ldr r0, _080F5784 @ =gUnknown_841EE80
|
||||
str r0, [sp, 0x8]
|
||||
str r4, [sp, 0xC]
|
||||
ldr r0, _080F5788 @ =gUnknown_841B6B9
|
||||
str r0, [sp, 0x10]
|
||||
movs r0, 0x1
|
||||
movs r1, 0x2
|
||||
movs r2, 0
|
||||
movs r3, 0x3
|
||||
bl AddTextPrinterParameterized4
|
||||
movs r0, 0x1
|
||||
movs r1, 0x3
|
||||
bl CopyWindowToVram
|
||||
bl ClearSaveData
|
||||
_080F577A:
|
||||
ldr r1, [r5]
|
||||
ldrb r0, [r1]
|
||||
adds r0, 0x1
|
||||
strb r0, [r1]
|
||||
b _080F5792
|
||||
.align 2, 0
|
||||
_080F5784: .4byte gUnknown_841EE80
|
||||
_080F5788: .4byte gUnknown_841B6B9
|
||||
_080F578C:
|
||||
adds r0, r1, 0
|
||||
bl sub_80F579C
|
||||
_080F5792:
|
||||
add sp, 0x14
|
||||
pop {r4,r5}
|
||||
pop {r0}
|
||||
bx r0
|
||||
thumb_func_end sub_80F5708
|
||||
|
||||
thumb_func_start sub_80F579C
|
||||
sub_80F579C: @ 80F579C
|
||||
push {r4-r6,lr}
|
||||
sub sp, 0x4
|
||||
lsls r0, 24
|
||||
lsrs r6, r0, 24
|
||||
ldr r5, _080F57B4 @ =gUnknown_203AB54
|
||||
ldr r0, [r5]
|
||||
ldrb r0, [r0, 0x2]
|
||||
cmp r0, 0
|
||||
beq _080F57B8
|
||||
cmp r0, 0x1
|
||||
beq _080F57D4
|
||||
b _080F57FE
|
||||
.align 2, 0
|
||||
_080F57B4: .4byte gUnknown_203AB54
|
||||
_080F57B8:
|
||||
ldr r0, _080F57D0 @ =0x0000ffff
|
||||
str r0, [sp]
|
||||
movs r1, 0
|
||||
movs r2, 0
|
||||
movs r3, 0x10
|
||||
bl BeginNormalPaletteFade
|
||||
ldr r1, [r5]
|
||||
ldrb r0, [r1, 0x2]
|
||||
adds r0, 0x1
|
||||
strb r0, [r1, 0x2]
|
||||
b _080F57FE
|
||||
.align 2, 0
|
||||
_080F57D0: .4byte 0x0000ffff
|
||||
_080F57D4:
|
||||
ldr r0, _080F5808 @ =gPaletteFade
|
||||
ldrb r1, [r0, 0x7]
|
||||
movs r0, 0x80
|
||||
ands r0, r1
|
||||
lsls r0, 24
|
||||
lsrs r4, r0, 24
|
||||
cmp r4, 0
|
||||
bne _080F57FE
|
||||
bl DestroyYesNoMenu
|
||||
adds r0, r6, 0
|
||||
bl DestroyTask
|
||||
bl FreeAllWindowBuffers
|
||||
ldr r0, [r5]
|
||||
bl Free
|
||||
str r4, [r5]
|
||||
bl DoSoftReset
|
||||
_080F57FE:
|
||||
add sp, 0x4
|
||||
pop {r4-r6}
|
||||
pop {r0}
|
||||
bx r0
|
||||
.align 2, 0
|
||||
_080F5808: .4byte gPaletteFade
|
||||
thumb_func_end sub_80F579C
|
||||
|
||||
thumb_func_start sub_80F580C
|
||||
sub_80F580C: @ 80F580C
|
||||
push {lr}
|
||||
bl ResetSpriteData
|
||||
bl ResetPaletteFade
|
||||
bl ResetTasks
|
||||
pop {r0}
|
||||
bx r0
|
||||
thumb_func_end sub_80F580C
|
||||
|
||||
thumb_func_start sub_80F5820
|
||||
sub_80F5820: @ 80F5820
|
||||
push {r4-r7,lr}
|
||||
mov r7, r8
|
||||
push {r7}
|
||||
sub sp, 0x8
|
||||
movs r3, 0xC0
|
||||
lsls r3, 19
|
||||
movs r4, 0xC0
|
||||
lsls r4, 9
|
||||
add r0, sp, 0x4
|
||||
mov r8, r0
|
||||
mov r2, sp
|
||||
movs r6, 0
|
||||
ldr r1, _080F593C @ =0x040000d4
|
||||
movs r5, 0x80
|
||||
lsls r5, 5
|
||||
ldr r7, _080F5940 @ =0x81000800
|
||||
movs r0, 0x81
|
||||
lsls r0, 24
|
||||
mov r12, r0
|
||||
_080F5846:
|
||||
strh r6, [r2]
|
||||
mov r0, sp
|
||||
str r0, [r1]
|
||||
str r3, [r1, 0x4]
|
||||
str r7, [r1, 0x8]
|
||||
ldr r0, [r1, 0x8]
|
||||
adds r3, r5
|
||||
subs r4, r5
|
||||
cmp r4, r5
|
||||
bhi _080F5846
|
||||
strh r6, [r2]
|
||||
mov r2, sp
|
||||
str r2, [r1]
|
||||
str r3, [r1, 0x4]
|
||||
lsrs r0, r4, 1
|
||||
mov r2, r12
|
||||
orrs r0, r2
|
||||
str r0, [r1, 0x8]
|
||||
ldr r0, [r1, 0x8]
|
||||
movs r0, 0xE0
|
||||
lsls r0, 19
|
||||
movs r3, 0x80
|
||||
lsls r3, 3
|
||||
movs r4, 0
|
||||
str r4, [sp, 0x4]
|
||||
ldr r2, _080F593C @ =0x040000d4
|
||||
mov r1, r8
|
||||
str r1, [r2]
|
||||
str r0, [r2, 0x4]
|
||||
lsrs r0, r3, 2
|
||||
movs r1, 0x85
|
||||
lsls r1, 24
|
||||
orrs r0, r1
|
||||
str r0, [r2, 0x8]
|
||||
ldr r0, [r2, 0x8]
|
||||
movs r1, 0xA0
|
||||
lsls r1, 19
|
||||
mov r0, sp
|
||||
strh r4, [r0]
|
||||
str r0, [r2]
|
||||
str r1, [r2, 0x4]
|
||||
lsrs r3, 1
|
||||
movs r0, 0x81
|
||||
lsls r0, 24
|
||||
orrs r3, r0
|
||||
str r3, [r2, 0x8]
|
||||
ldr r0, [r2, 0x8]
|
||||
movs r0, 0
|
||||
movs r1, 0
|
||||
bl SetGpuReg
|
||||
movs r0, 0x54
|
||||
movs r1, 0
|
||||
bl SetGpuReg
|
||||
movs r0, 0
|
||||
bl ResetBgsAndClearDma3BusyFlags
|
||||
ldr r1, _080F5944 @ =gUnknown_841EE64
|
||||
movs r0, 0
|
||||
movs r2, 0x1
|
||||
bl InitBgsFromTemplates
|
||||
movs r0, 0
|
||||
movs r1, 0
|
||||
movs r2, 0
|
||||
bl ChangeBgX
|
||||
movs r0, 0
|
||||
movs r1, 0
|
||||
movs r2, 0
|
||||
bl ChangeBgY
|
||||
movs r0, 0x1
|
||||
movs r1, 0
|
||||
movs r2, 0
|
||||
bl ChangeBgX
|
||||
movs r0, 0x1
|
||||
movs r1, 0
|
||||
movs r2, 0
|
||||
bl ChangeBgY
|
||||
movs r0, 0x2
|
||||
movs r1, 0
|
||||
movs r2, 0
|
||||
bl ChangeBgX
|
||||
movs r0, 0x2
|
||||
movs r1, 0
|
||||
movs r2, 0
|
||||
bl ChangeBgY
|
||||
movs r0, 0x3
|
||||
movs r1, 0
|
||||
movs r2, 0
|
||||
bl ChangeBgX
|
||||
movs r0, 0x3
|
||||
movs r1, 0
|
||||
movs r2, 0
|
||||
bl ChangeBgY
|
||||
ldr r0, _080F5948 @ =gUnknown_841EE68
|
||||
bl InitWindows
|
||||
bl DeactivateAllTextPrinters
|
||||
movs r1, 0x82
|
||||
lsls r1, 5
|
||||
movs r0, 0
|
||||
bl SetGpuReg
|
||||
movs r0, 0
|
||||
bl ShowBg
|
||||
add sp, 0x8
|
||||
pop {r3}
|
||||
mov r8, r3
|
||||
pop {r4-r7}
|
||||
pop {r0}
|
||||
bx r0
|
||||
.align 2, 0
|
||||
_080F593C: .4byte 0x040000d4
|
||||
_080F5940: .4byte 0x81000800
|
||||
_080F5944: .4byte gUnknown_841EE64
|
||||
_080F5948: .4byte gUnknown_841EE68
|
||||
thumb_func_end sub_80F5820
|
||||
|
||||
.align 2, 0 @ Don't pad with nop.
|
||||
File diff suppressed because it is too large
Load Diff
@@ -1,734 +0,0 @@
|
||||
.include "asm/macros.inc"
|
||||
.include "constants/constants.inc"
|
||||
|
||||
.syntax unified
|
||||
|
||||
.text
|
||||
|
||||
thumb_func_start sub_815A61C
|
||||
sub_815A61C: @ 815A61C
|
||||
push {r4-r7,lr}
|
||||
mov r7, r10
|
||||
mov r6, r9
|
||||
mov r5, r8
|
||||
push {r5-r7}
|
||||
sub sp, 0x20
|
||||
ldr r4, [sp, 0x48]
|
||||
lsls r4, 24
|
||||
str r4, [sp, 0x1C]
|
||||
movs r4, 0x14
|
||||
adds r4, r0
|
||||
mov r9, r4
|
||||
mov r5, sp
|
||||
movs r4, 0x2
|
||||
strb r4, [r5]
|
||||
mov r10, sp
|
||||
mov r5, r9
|
||||
ldrb r4, [r5, 0xB]
|
||||
movs r7, 0xF
|
||||
adds r5, r7, 0
|
||||
ands r5, r4
|
||||
mov r6, r10
|
||||
ldrb r6, [r6, 0x1]
|
||||
mov r8, r6
|
||||
movs r4, 0x10
|
||||
negs r4, r4
|
||||
mov r6, r8
|
||||
ands r4, r6
|
||||
orrs r4, r5
|
||||
mov r5, r10
|
||||
strb r4, [r5, 0x1]
|
||||
mov r8, sp
|
||||
mov r6, r9
|
||||
ldrb r5, [r6, 0xC]
|
||||
lsls r5, 4
|
||||
ands r4, r7
|
||||
orrs r4, r5
|
||||
mov r5, r8
|
||||
strb r4, [r5, 0x1]
|
||||
ldrb r5, [r6, 0xD]
|
||||
movs r6, 0xF
|
||||
ands r5, r6
|
||||
mov r4, r10
|
||||
ldrb r4, [r4, 0x2]
|
||||
mov r8, r4
|
||||
movs r4, 0x10
|
||||
negs r4, r4
|
||||
mov r6, r8
|
||||
ands r4, r6
|
||||
orrs r4, r5
|
||||
mov r5, r10
|
||||
strb r4, [r5, 0x2]
|
||||
mov r8, sp
|
||||
mov r6, r9
|
||||
ldrb r5, [r6, 0xE]
|
||||
lsls r5, 4
|
||||
ands r4, r7
|
||||
orrs r4, r5
|
||||
mov r5, r8
|
||||
strb r4, [r5, 0x2]
|
||||
ldrb r5, [r6, 0xF]
|
||||
movs r6, 0xF
|
||||
ands r5, r6
|
||||
mov r4, r10
|
||||
ldrb r4, [r4, 0x3]
|
||||
mov r8, r4
|
||||
movs r4, 0x10
|
||||
negs r4, r4
|
||||
mov r6, r8
|
||||
ands r4, r6
|
||||
orrs r4, r5
|
||||
mov r5, r10
|
||||
strb r4, [r5, 0x3]
|
||||
mov r8, sp
|
||||
mov r6, r9
|
||||
ldrb r5, [r6, 0x10]
|
||||
lsls r5, 4
|
||||
ands r4, r7
|
||||
orrs r4, r5
|
||||
mov r5, r8
|
||||
strb r4, [r5, 0x3]
|
||||
ldrb r5, [r6, 0x11]
|
||||
movs r6, 0xF
|
||||
ands r5, r6
|
||||
mov r4, r10
|
||||
ldrb r4, [r4, 0x4]
|
||||
mov r8, r4
|
||||
movs r4, 0x10
|
||||
negs r4, r4
|
||||
mov r6, r8
|
||||
ands r4, r6
|
||||
orrs r4, r5
|
||||
mov r5, r10
|
||||
strb r4, [r5, 0x4]
|
||||
mov r8, sp
|
||||
mov r6, r9
|
||||
ldrb r5, [r6, 0x12]
|
||||
lsls r5, 4
|
||||
ands r4, r7
|
||||
orrs r4, r5
|
||||
mov r5, r8
|
||||
strb r4, [r5, 0x4]
|
||||
ldrb r4, [r6, 0x13]
|
||||
movs r6, 0xF
|
||||
ands r4, r6
|
||||
mov r6, r8
|
||||
ldrb r5, [r6, 0x5]
|
||||
movs r6, 0x10
|
||||
negs r6, r6
|
||||
ands r6, r5
|
||||
orrs r6, r4
|
||||
str r6, [sp, 0xC]
|
||||
mov r4, r8
|
||||
strb r6, [r4, 0x5]
|
||||
mov r5, sp
|
||||
mov r6, r9
|
||||
ldrb r4, [r6, 0x14]
|
||||
lsls r4, 4
|
||||
ldr r6, [sp, 0xC]
|
||||
ands r6, r7
|
||||
orrs r6, r4
|
||||
strb r6, [r5, 0x5]
|
||||
mov r7, sp
|
||||
movs r4, 0x3
|
||||
mov r8, r4
|
||||
ldrb r0, [r0, 0x14]
|
||||
mov r5, r8
|
||||
ands r0, r5
|
||||
ldrb r5, [r7, 0x6]
|
||||
movs r6, 0x4
|
||||
negs r6, r6
|
||||
mov r10, r6
|
||||
mov r4, r10
|
||||
ands r4, r5
|
||||
orrs r4, r0
|
||||
strb r4, [r7, 0x6]
|
||||
mov r5, r9
|
||||
ldrb r0, [r5, 0x1]
|
||||
mov r6, r8
|
||||
ands r0, r6
|
||||
lsls r0, 2
|
||||
movs r5, 0xD
|
||||
negs r5, r5
|
||||
ands r5, r4
|
||||
orrs r5, r0
|
||||
strb r5, [r7, 0x6]
|
||||
mov r0, r9
|
||||
ldrb r4, [r0, 0x2]
|
||||
ands r4, r6
|
||||
lsls r4, 4
|
||||
movs r0, 0x31
|
||||
negs r0, r0
|
||||
ands r0, r5
|
||||
orrs r0, r4
|
||||
strb r0, [r7, 0x6]
|
||||
mov r5, sp
|
||||
mov r6, r9
|
||||
ldrb r4, [r6, 0x3]
|
||||
lsls r4, 6
|
||||
movs r6, 0x3F
|
||||
ands r0, r6
|
||||
orrs r0, r4
|
||||
strb r0, [r5, 0x6]
|
||||
mov r4, r9
|
||||
ldrb r0, [r4, 0x4]
|
||||
mov r5, r8
|
||||
ands r0, r5
|
||||
ldrb r5, [r7, 0x7]
|
||||
mov r4, r10
|
||||
ands r4, r5
|
||||
orrs r4, r0
|
||||
strb r4, [r7, 0x7]
|
||||
mov r6, r9
|
||||
ldrb r0, [r6, 0x5]
|
||||
mov r5, r8
|
||||
ands r0, r5
|
||||
lsls r0, 2
|
||||
movs r5, 0xD
|
||||
negs r5, r5
|
||||
ands r5, r4
|
||||
orrs r5, r0
|
||||
strb r5, [r7, 0x7]
|
||||
ldrb r4, [r6, 0x6]
|
||||
mov r6, r8
|
||||
ands r4, r6
|
||||
lsls r4, 4
|
||||
movs r0, 0x31
|
||||
negs r0, r0
|
||||
ands r0, r5
|
||||
orrs r0, r4
|
||||
strb r0, [r7, 0x7]
|
||||
mov r5, sp
|
||||
mov r6, r9
|
||||
ldrb r4, [r6, 0x7]
|
||||
lsls r4, 6
|
||||
movs r6, 0x3F
|
||||
ands r0, r6
|
||||
orrs r0, r4
|
||||
strb r0, [r5, 0x7]
|
||||
mov r8, sp
|
||||
mov r0, r9
|
||||
ldrb r4, [r0, 0x8]
|
||||
movs r7, 0x3
|
||||
adds r0, r7, 0
|
||||
ands r0, r4
|
||||
mov r4, r8
|
||||
ldrb r5, [r4, 0x8]
|
||||
mov r4, r10
|
||||
ands r4, r5
|
||||
orrs r4, r0
|
||||
mov r5, r8
|
||||
strb r4, [r5, 0x8]
|
||||
mov r6, r9
|
||||
ldrb r5, [r6, 0x9]
|
||||
adds r0, r7, 0
|
||||
ands r0, r5
|
||||
lsls r0, 2
|
||||
movs r5, 0xD
|
||||
negs r5, r5
|
||||
ands r5, r4
|
||||
orrs r5, r0
|
||||
mov r0, r8
|
||||
strb r5, [r0, 0x8]
|
||||
ldrb r0, [r1]
|
||||
adds r4, r7, 0
|
||||
ands r4, r0
|
||||
lsls r4, 4
|
||||
movs r0, 0x31
|
||||
negs r0, r0
|
||||
ands r0, r5
|
||||
orrs r0, r4
|
||||
mov r4, r8
|
||||
strb r0, [r4, 0x8]
|
||||
mov r5, sp
|
||||
ldrb r4, [r2]
|
||||
lsls r4, 6
|
||||
movs r6, 0x3F
|
||||
ands r0, r6
|
||||
orrs r0, r4
|
||||
strb r0, [r5, 0x8]
|
||||
ldrb r4, [r3]
|
||||
adds r0, r7, 0
|
||||
ands r0, r4
|
||||
ldrb r4, [r5, 0x9]
|
||||
mov r6, r10
|
||||
ands r6, r4
|
||||
orrs r6, r0
|
||||
mov r10, r6
|
||||
strb r6, [r5, 0x9]
|
||||
ldr r0, [sp, 0x40]
|
||||
ldrb r4, [r0]
|
||||
adds r0, r7, 0
|
||||
ands r0, r4
|
||||
lsls r0, 2
|
||||
movs r4, 0xD
|
||||
negs r4, r4
|
||||
ands r6, r4
|
||||
orrs r6, r0
|
||||
str r6, [sp, 0x10]
|
||||
strb r6, [r5, 0x9]
|
||||
mov r4, sp
|
||||
ldr r5, [sp, 0x44]
|
||||
ldrb r0, [r5]
|
||||
adds r6, r7, 0
|
||||
ands r6, r0
|
||||
lsls r0, r6, 4
|
||||
subs r7, 0x34
|
||||
ldr r5, [sp, 0x10]
|
||||
ands r7, r5
|
||||
orrs r7, r0
|
||||
strb r7, [r4, 0x9]
|
||||
mov r5, sp
|
||||
ldrb r0, [r1, 0x4]
|
||||
movs r6, 0x1
|
||||
mov r12, r6
|
||||
mov r4, r12
|
||||
ands r4, r0
|
||||
lsls r4, 6
|
||||
movs r0, 0x41
|
||||
negs r0, r0
|
||||
mov r10, r0
|
||||
ands r0, r7
|
||||
orrs r0, r4
|
||||
strb r0, [r5, 0x9]
|
||||
ldrb r4, [r2, 0x4]
|
||||
lsls r4, 7
|
||||
movs r5, 0x7F
|
||||
ands r0, r5
|
||||
orrs r0, r4
|
||||
mov r4, r8
|
||||
strb r0, [r4, 0x9]
|
||||
ldrb r4, [r3, 0x4]
|
||||
mov r0, r12
|
||||
ands r0, r4
|
||||
mov r5, r8
|
||||
ldrb r4, [r5, 0xA]
|
||||
movs r7, 0x2
|
||||
negs r7, r7
|
||||
adds r5, r7, 0
|
||||
ands r5, r4
|
||||
orrs r5, r0
|
||||
mov r6, r8
|
||||
strb r5, [r6, 0xA]
|
||||
mov r9, sp
|
||||
ldr r4, [sp, 0x40]
|
||||
ldrb r0, [r4, 0x4]
|
||||
mov r4, r12
|
||||
ands r4, r0
|
||||
lsls r4, 1
|
||||
movs r6, 0x3
|
||||
negs r6, r6
|
||||
mov r8, r6
|
||||
mov r0, r8
|
||||
ands r0, r5
|
||||
orrs r0, r4
|
||||
mov r4, r9
|
||||
strb r0, [r4, 0xA]
|
||||
ldr r6, [sp, 0x44]
|
||||
ldrb r5, [r6, 0x4]
|
||||
mov r4, r12
|
||||
ands r4, r5
|
||||
lsls r4, 2
|
||||
movs r5, 0x5
|
||||
negs r5, r5
|
||||
ands r0, r5
|
||||
orrs r0, r4
|
||||
mov r4, r9
|
||||
strb r0, [r4, 0xA]
|
||||
mov r4, sp
|
||||
ldrb r1, [r1, 0x8]
|
||||
mov r0, r12
|
||||
ands r0, r1
|
||||
lsls r0, 2
|
||||
ldrb r1, [r4, 0xB]
|
||||
ands r5, r1
|
||||
orrs r5, r0
|
||||
strb r5, [r4, 0xB]
|
||||
ldrb r1, [r2, 0x8]
|
||||
mov r0, r12
|
||||
ands r0, r1
|
||||
lsls r0, 3
|
||||
movs r1, 0x9
|
||||
negs r1, r1
|
||||
ands r1, r5
|
||||
orrs r1, r0
|
||||
strb r1, [r4, 0xB]
|
||||
ldrb r2, [r3, 0x8]
|
||||
mov r0, r12
|
||||
ands r0, r2
|
||||
lsls r0, 4
|
||||
movs r2, 0x11
|
||||
negs r2, r2
|
||||
ands r2, r1
|
||||
orrs r2, r0
|
||||
strb r2, [r4, 0xB]
|
||||
mov r3, sp
|
||||
ldr r5, [sp, 0x40]
|
||||
ldrb r0, [r5, 0x8]
|
||||
mov r1, r12
|
||||
ands r1, r0
|
||||
lsls r1, 5
|
||||
movs r0, 0x21
|
||||
negs r0, r0
|
||||
ands r0, r2
|
||||
orrs r0, r1
|
||||
strb r0, [r3, 0xB]
|
||||
mov r2, sp
|
||||
ldrb r1, [r6, 0x8]
|
||||
mov r6, r12
|
||||
ands r6, r1
|
||||
lsls r1, r6, 6
|
||||
mov r3, r10
|
||||
ands r0, r3
|
||||
orrs r0, r1
|
||||
strb r0, [r2, 0xB]
|
||||
ldr r4, [sp, 0x1C]
|
||||
lsrs r3, r4, 21
|
||||
ldrb r1, [r2, 0xA]
|
||||
movs r0, 0x7
|
||||
ands r0, r1
|
||||
orrs r0, r3
|
||||
strb r0, [r2, 0xA]
|
||||
mov r1, sp
|
||||
ldr r5, [sp, 0x4C]
|
||||
movs r6, 0x1
|
||||
ands r5, r6
|
||||
lsls r2, r5, 1
|
||||
ldrb r0, [r1, 0xB]
|
||||
mov r3, r8
|
||||
ands r3, r0
|
||||
orrs r3, r2
|
||||
mov r8, r3
|
||||
strb r3, [r1, 0xB]
|
||||
mov r0, sp
|
||||
ldr r4, [sp, 0x50]
|
||||
ands r4, r6
|
||||
mov r5, r8
|
||||
ands r5, r7
|
||||
orrs r5, r4
|
||||
strb r5, [r0, 0xB]
|
||||
bl sub_80F9E2C
|
||||
add sp, 0x20
|
||||
pop {r3-r5}
|
||||
mov r8, r3
|
||||
mov r9, r4
|
||||
mov r10, r5
|
||||
pop {r4-r7}
|
||||
pop {r0}
|
||||
bx r0
|
||||
thumb_func_end sub_815A61C
|
||||
|
||||
thumb_func_start sub_815A950
|
||||
sub_815A950: @ 815A950
|
||||
push {r4-r7,lr}
|
||||
mov r7, r9
|
||||
mov r6, r8
|
||||
push {r6,r7}
|
||||
adds r7, r1, 0
|
||||
adds r5, r2, 0
|
||||
adds r6, r3, 0
|
||||
ldr r0, [sp, 0x1C]
|
||||
mov r12, r0
|
||||
ldr r1, [sp, 0x20]
|
||||
mov r8, r1
|
||||
ldr r0, [sp, 0x24]
|
||||
mov r9, r0
|
||||
adds r2, r7, 0
|
||||
adds r2, 0x14
|
||||
ldr r4, _0815A98C @ =gRecvCmds
|
||||
ldrh r0, [r4]
|
||||
movs r1, 0xFF
|
||||
lsls r1, 8
|
||||
ands r1, r0
|
||||
movs r0, 0xBC
|
||||
lsls r0, 6
|
||||
cmp r1, r0
|
||||
bne _0815A988
|
||||
adds r3, r4, 0x2
|
||||
ldrb r0, [r4, 0x2]
|
||||
cmp r0, 0x2
|
||||
beq _0815A990
|
||||
_0815A988:
|
||||
movs r0, 0
|
||||
b _0815AACA
|
||||
.align 2, 0
|
||||
_0815A98C: .4byte gRecvCmds
|
||||
_0815A990:
|
||||
ldrb r0, [r3, 0x1]
|
||||
lsls r0, 28
|
||||
lsrs r0, 28
|
||||
strb r0, [r2, 0xB]
|
||||
ldrb r0, [r3, 0x1]
|
||||
lsrs r0, 4
|
||||
strb r0, [r2, 0xC]
|
||||
ldrb r0, [r3, 0x2]
|
||||
lsls r0, 28
|
||||
lsrs r0, 28
|
||||
strb r0, [r2, 0xD]
|
||||
ldrb r0, [r3, 0x2]
|
||||
lsrs r0, 4
|
||||
strb r0, [r2, 0xE]
|
||||
ldrb r0, [r3, 0x3]
|
||||
lsls r0, 28
|
||||
lsrs r0, 28
|
||||
strb r0, [r2, 0xF]
|
||||
ldrb r0, [r3, 0x3]
|
||||
lsrs r0, 4
|
||||
strb r0, [r2, 0x10]
|
||||
ldrb r0, [r3, 0x4]
|
||||
lsls r0, 28
|
||||
lsrs r0, 28
|
||||
strb r0, [r2, 0x11]
|
||||
ldrb r0, [r3, 0x4]
|
||||
lsrs r0, 4
|
||||
strb r0, [r2, 0x12]
|
||||
ldrb r0, [r3, 0x5]
|
||||
lsls r0, 28
|
||||
lsrs r0, 28
|
||||
strb r0, [r2, 0x13]
|
||||
ldrb r0, [r3, 0x5]
|
||||
lsrs r0, 4
|
||||
strb r0, [r2, 0x14]
|
||||
ldrb r0, [r3, 0x1]
|
||||
lsls r0, 28
|
||||
lsrs r0, 28
|
||||
strb r0, [r2, 0x15]
|
||||
ldrb r0, [r3, 0x6]
|
||||
lsls r0, 30
|
||||
lsrs r0, 30
|
||||
strb r0, [r7, 0x14]
|
||||
ldrb r0, [r3, 0x6]
|
||||
lsls r0, 28
|
||||
lsrs r0, 30
|
||||
strb r0, [r2, 0x1]
|
||||
ldrb r0, [r3, 0x6]
|
||||
lsls r0, 26
|
||||
lsrs r0, 30
|
||||
strb r0, [r2, 0x2]
|
||||
ldrb r0, [r3, 0x6]
|
||||
lsrs r0, 6
|
||||
strb r0, [r2, 0x3]
|
||||
ldrb r0, [r3, 0x7]
|
||||
lsls r0, 30
|
||||
lsrs r0, 30
|
||||
strb r0, [r2, 0x4]
|
||||
ldrb r0, [r3, 0x7]
|
||||
lsls r0, 28
|
||||
lsrs r0, 30
|
||||
strb r0, [r2, 0x5]
|
||||
ldrb r0, [r3, 0x7]
|
||||
lsls r0, 26
|
||||
lsrs r0, 30
|
||||
strb r0, [r2, 0x6]
|
||||
ldrb r0, [r3, 0x7]
|
||||
lsrs r0, 6
|
||||
strb r0, [r2, 0x7]
|
||||
ldrb r0, [r3, 0x8]
|
||||
lsls r0, 30
|
||||
lsrs r0, 30
|
||||
strb r0, [r2, 0x8]
|
||||
ldrb r0, [r3, 0x8]
|
||||
lsls r0, 28
|
||||
lsrs r0, 30
|
||||
strb r0, [r2, 0x9]
|
||||
ldrb r0, [r3, 0x6]
|
||||
lsls r0, 30
|
||||
lsrs r0, 30
|
||||
strb r0, [r2, 0xA]
|
||||
ldrb r0, [r3, 0x8]
|
||||
lsls r0, 26
|
||||
lsrs r0, 30
|
||||
strb r0, [r5]
|
||||
ldrb r0, [r3, 0x9]
|
||||
lsls r0, 25
|
||||
lsrs r0, 31
|
||||
strb r0, [r5, 0x4]
|
||||
ldrb r0, [r3, 0xB]
|
||||
lsls r0, 29
|
||||
lsrs r0, 31
|
||||
strb r0, [r5, 0x8]
|
||||
ldrb r0, [r3, 0x8]
|
||||
lsrs r0, 6
|
||||
strb r0, [r6]
|
||||
ldrb r0, [r3, 0x9]
|
||||
lsrs r0, 7
|
||||
strb r0, [r6, 0x4]
|
||||
ldrb r0, [r3, 0xB]
|
||||
lsls r0, 28
|
||||
lsrs r0, 31
|
||||
strb r0, [r6, 0x8]
|
||||
ldrb r0, [r3, 0x9]
|
||||
lsls r0, 30
|
||||
lsrs r0, 30
|
||||
mov r1, r12
|
||||
strb r0, [r1]
|
||||
ldrb r0, [r3, 0xA]
|
||||
lsls r0, 31
|
||||
lsrs r0, 31
|
||||
strb r0, [r1, 0x4]
|
||||
ldrb r0, [r3, 0xB]
|
||||
lsls r0, 27
|
||||
lsrs r0, 31
|
||||
strb r0, [r1, 0x8]
|
||||
ldrb r0, [r3, 0x9]
|
||||
lsls r0, 28
|
||||
lsrs r0, 30
|
||||
mov r1, r8
|
||||
strb r0, [r1]
|
||||
ldrb r0, [r3, 0xA]
|
||||
lsls r0, 30
|
||||
lsrs r0, 31
|
||||
strb r0, [r1, 0x4]
|
||||
ldrb r0, [r3, 0xB]
|
||||
lsls r0, 26
|
||||
lsrs r0, 31
|
||||
strb r0, [r1, 0x8]
|
||||
ldrb r0, [r3, 0x9]
|
||||
lsls r0, 26
|
||||
lsrs r0, 30
|
||||
mov r1, r9
|
||||
strb r0, [r1]
|
||||
ldrb r0, [r3, 0xA]
|
||||
lsls r0, 29
|
||||
lsrs r0, 31
|
||||
strb r0, [r1, 0x4]
|
||||
ldrb r0, [r3, 0xB]
|
||||
lsls r0, 25
|
||||
lsrs r0, 31
|
||||
strb r0, [r1, 0x8]
|
||||
ldrb r0, [r3, 0xA]
|
||||
lsrs r0, 3
|
||||
ldr r1, [sp, 0x28]
|
||||
strb r0, [r1]
|
||||
ldrb r0, [r3, 0xB]
|
||||
lsls r0, 30
|
||||
lsrs r0, 31
|
||||
ldr r1, [sp, 0x2C]
|
||||
str r0, [r1]
|
||||
ldrb r0, [r3, 0xB]
|
||||
lsls r0, 31
|
||||
lsrs r0, 31
|
||||
ldr r1, [sp, 0x30]
|
||||
str r0, [r1]
|
||||
movs r0, 0x1
|
||||
_0815AACA:
|
||||
pop {r3,r4}
|
||||
mov r8, r3
|
||||
mov r9, r4
|
||||
pop {r4-r7}
|
||||
pop {r1}
|
||||
bx r1
|
||||
thumb_func_end sub_815A950
|
||||
|
||||
thumb_func_start sub_815AAD8
|
||||
sub_815AAD8: @ 815AAD8
|
||||
push {lr}
|
||||
sub sp, 0x8
|
||||
lsls r0, 24
|
||||
lsrs r0, 24
|
||||
ldr r3, _0815AB00 @ =0xffffff00
|
||||
ldr r1, [sp]
|
||||
ands r1, r3
|
||||
movs r2, 0x3
|
||||
orrs r1, r2
|
||||
str r1, [sp]
|
||||
ldr r1, [sp, 0x4]
|
||||
ands r1, r3
|
||||
orrs r1, r0
|
||||
str r1, [sp, 0x4]
|
||||
mov r0, sp
|
||||
bl sub_80F9E2C
|
||||
add sp, 0x8
|
||||
pop {r0}
|
||||
bx r0
|
||||
.align 2, 0
|
||||
_0815AB00: .4byte 0xffffff00
|
||||
thumb_func_end sub_815AAD8
|
||||
|
||||
thumb_func_start sub_815AB04
|
||||
sub_815AB04: @ 815AB04
|
||||
push {r4,lr}
|
||||
adds r2, r0, 0
|
||||
adds r4, r1, 0
|
||||
ldr r3, _0815AB2C @ =gRecvCmds
|
||||
ldrh r0, [r3]
|
||||
movs r1, 0xFF
|
||||
lsls r1, 8
|
||||
ands r1, r0
|
||||
movs r0, 0xBC
|
||||
lsls r0, 6
|
||||
cmp r1, r0
|
||||
bne _0815AB28
|
||||
lsls r0, r2, 4
|
||||
adds r1, r3, 0x2
|
||||
adds r1, r0, r1
|
||||
ldrb r0, [r1]
|
||||
cmp r0, 0x3
|
||||
beq _0815AB30
|
||||
_0815AB28:
|
||||
movs r0, 0
|
||||
b _0815AB36
|
||||
.align 2, 0
|
||||
_0815AB2C: .4byte gRecvCmds
|
||||
_0815AB30:
|
||||
ldrb r0, [r1, 0x4]
|
||||
strb r0, [r4]
|
||||
movs r0, 0x1
|
||||
_0815AB36:
|
||||
pop {r4}
|
||||
pop {r1}
|
||||
bx r1
|
||||
thumb_func_end sub_815AB04
|
||||
|
||||
thumb_func_start sub_815AB3C
|
||||
sub_815AB3C: @ 815AB3C
|
||||
push {lr}
|
||||
sub sp, 0x8
|
||||
ldr r2, _0815AB5C @ =0xffffff00
|
||||
ldr r1, [sp]
|
||||
ands r1, r2
|
||||
movs r2, 0x4
|
||||
orrs r1, r2
|
||||
str r1, [sp]
|
||||
str r0, [sp, 0x4]
|
||||
mov r0, sp
|
||||
bl sub_80F9E2C
|
||||
add sp, 0x8
|
||||
pop {r0}
|
||||
bx r0
|
||||
.align 2, 0
|
||||
_0815AB5C: .4byte 0xffffff00
|
||||
thumb_func_end sub_815AB3C
|
||||
|
||||
thumb_func_start sub_815AB60
|
||||
sub_815AB60: @ 815AB60
|
||||
push {lr}
|
||||
adds r2, r0, 0
|
||||
ldr r3, _0815AB88 @ =gRecvCmds
|
||||
ldrh r0, [r3]
|
||||
movs r1, 0xFF
|
||||
lsls r1, 8
|
||||
ands r1, r0
|
||||
movs r0, 0xBC
|
||||
lsls r0, 6
|
||||
cmp r1, r0
|
||||
bne _0815AB82
|
||||
lsls r0, r2, 4
|
||||
adds r1, r3, 0x2
|
||||
adds r1, r0, r1
|
||||
ldrb r0, [r1]
|
||||
cmp r0, 0x4
|
||||
beq _0815AB8C
|
||||
_0815AB82:
|
||||
movs r0, 0
|
||||
b _0815AB8E
|
||||
.align 2, 0
|
||||
_0815AB88: .4byte gRecvCmds
|
||||
_0815AB8C:
|
||||
ldr r0, [r1, 0x4]
|
||||
_0815AB8E:
|
||||
pop {r1}
|
||||
bx r1
|
||||
thumb_func_end sub_815AB60
|
||||
|
||||
.align 2, 0 @ Don't pad with nop.
|
||||
-7654
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
-1299
File diff suppressed because it is too large
Load Diff
+13
-13
@@ -332,7 +332,7 @@ sub_806CAC8: @ 806CAC8
|
||||
movs r2, 0x2
|
||||
ldrsh r1, [r4, r2]
|
||||
movs r2, 0xFF
|
||||
bl sub_8058F48
|
||||
bl MapGridGetMetatileAttributeAt
|
||||
mov r8, r0
|
||||
mov r0, sp
|
||||
movs r1, 0
|
||||
@@ -798,7 +798,7 @@ sub_806CEA0: @ 806CEA0
|
||||
movs r0, 0
|
||||
b _0806CED2
|
||||
_0806CEB8:
|
||||
ldr r0, _0806CED8 @ =gUnknown_8168CE4
|
||||
ldr r0, _0806CED8 @ =PalletTown_PlayersHouse_2F_EventScript_PC
|
||||
cmp r4, r0
|
||||
beq _0806CECA
|
||||
ldr r0, _0806CEDC @ =EventScript_PC
|
||||
@@ -815,7 +815,7 @@ _0806CED2:
|
||||
pop {r1}
|
||||
bx r1
|
||||
.align 2, 0
|
||||
_0806CED8: .4byte gUnknown_8168CE4
|
||||
_0806CED8: .4byte PalletTown_PlayersHouse_2F_EventScript_PC
|
||||
_0806CEDC: .4byte EventScript_PC
|
||||
thumb_func_end sub_806CEA0
|
||||
|
||||
@@ -1330,10 +1330,10 @@ _0806D2F0:
|
||||
lsrs r0, 24
|
||||
cmp r0, 0x1
|
||||
bne _0806D308
|
||||
ldr r0, _0806D304 @ =EventScript_1C549C
|
||||
ldr r0, _0806D304 @ =TrainerTower_EventScript_ShowTime
|
||||
b _0806D53E
|
||||
.align 2, 0
|
||||
_0806D304: .4byte EventScript_1C549C
|
||||
_0806D304: .4byte TrainerTower_EventScript_ShowTime
|
||||
_0806D308:
|
||||
adds r0, r4, 0
|
||||
adds r1, r5, 0
|
||||
@@ -1530,10 +1530,10 @@ _0806D4A0:
|
||||
lsrs r0, 24
|
||||
cmp r0, 0x1
|
||||
bne _0806D4B8
|
||||
ldr r0, _0806D4B4 @ =gUnknown_81A7702
|
||||
ldr r0, _0806D4B4 @ =EventScript_Questionnaire
|
||||
b _0806D53E
|
||||
.align 2, 0
|
||||
_0806D4B4: .4byte gUnknown_81A7702
|
||||
_0806D4B4: .4byte EventScript_Questionnaire
|
||||
_0806D4B8:
|
||||
adds r0, r4, 0
|
||||
adds r1, r5, 0
|
||||
@@ -1664,16 +1664,16 @@ _0806D5A4:
|
||||
lsrs r0, 24
|
||||
cmp r0, 0x1
|
||||
bne _0806D5D8
|
||||
ldr r0, _0806D5D4 @ =EventScript_InteractWithWaterfall
|
||||
ldr r0, _0806D5D4 @ =EventScript_Waterfall
|
||||
b _0806D5E2
|
||||
.align 2, 0
|
||||
_0806D5D0: .4byte 0x00000826
|
||||
_0806D5D4: .4byte EventScript_InteractWithWaterfall
|
||||
_0806D5D4: .4byte EventScript_Waterfall
|
||||
_0806D5D8:
|
||||
ldr r0, _0806D5DC @ =EventScript_81BE2FF
|
||||
ldr r0, _0806D5DC @ =EventScript_CantUseWaterfall
|
||||
b _0806D5E2
|
||||
.align 2, 0
|
||||
_0806D5DC: .4byte EventScript_81BE2FF
|
||||
_0806D5DC: .4byte EventScript_CantUseWaterfall
|
||||
_0806D5E0:
|
||||
movs r0, 0
|
||||
_0806D5E2:
|
||||
@@ -1822,11 +1822,11 @@ _0806D6EC:
|
||||
lsrs r0, 24
|
||||
cmp r0, 0x1
|
||||
bne _0806D704
|
||||
ldr r0, _0806D700 @ =EventScript_PoisonWhiteOut
|
||||
ldr r0, _0806D700 @ =EventScript_FieldPoison
|
||||
bl ScriptContext1_SetupScript
|
||||
b _0806D730
|
||||
.align 2, 0
|
||||
_0806D700: .4byte EventScript_PoisonWhiteOut
|
||||
_0806D700: .4byte EventScript_FieldPoison
|
||||
_0806D704:
|
||||
bl ShouldEggHatch
|
||||
lsls r0, 24
|
||||
|
||||
-9666
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -1,306 +0,0 @@
|
||||
.include "asm/macros.inc"
|
||||
.include "constants/constants.inc"
|
||||
|
||||
.syntax unified
|
||||
|
||||
.text
|
||||
|
||||
thumb_func_start sub_8069348
|
||||
sub_8069348: @ 8069348
|
||||
ldr r1, _08069368 @ =gUnknown_203709C
|
||||
movs r0, 0
|
||||
strb r0, [r1]
|
||||
ldr r2, _0806936C @ =gTextFlags
|
||||
ldrb r1, [r2]
|
||||
movs r0, 0x2
|
||||
negs r0, r0
|
||||
ands r0, r1
|
||||
movs r1, 0x3
|
||||
negs r1, r1
|
||||
ands r0, r1
|
||||
subs r1, 0x2
|
||||
ands r0, r1
|
||||
strb r0, [r2]
|
||||
bx lr
|
||||
.align 2, 0
|
||||
_08069368: .4byte gUnknown_203709C
|
||||
_0806936C: .4byte gTextFlags
|
||||
thumb_func_end sub_8069348
|
||||
|
||||
thumb_func_start sub_8069370
|
||||
sub_8069370: @ 8069370
|
||||
push {r4,r5,lr}
|
||||
lsls r0, 24
|
||||
lsrs r4, r0, 24
|
||||
lsls r0, r4, 2
|
||||
adds r0, r4
|
||||
lsls r0, 3
|
||||
ldr r1, _08069394 @ =gTasks
|
||||
adds r5, r0, r1
|
||||
movs r1, 0x8
|
||||
ldrsh r0, [r5, r1]
|
||||
cmp r0, 0x1
|
||||
beq _080693DA
|
||||
cmp r0, 0x1
|
||||
bgt _08069398
|
||||
cmp r0, 0
|
||||
beq _0806939E
|
||||
b _08069402
|
||||
.align 2, 0
|
||||
_08069394: .4byte gTasks
|
||||
_08069398:
|
||||
cmp r0, 0x2
|
||||
beq _080693EA
|
||||
b _08069402
|
||||
_0806939E:
|
||||
ldr r0, _080693BC @ =gQuestLogState
|
||||
ldrb r0, [r0]
|
||||
cmp r0, 0x2
|
||||
bne _080693C4
|
||||
ldr r2, _080693C0 @ =gTextFlags
|
||||
ldrb r0, [r2]
|
||||
movs r1, 0x4
|
||||
orrs r0, r1
|
||||
strb r0, [r2]
|
||||
movs r1, 0x80
|
||||
lsls r1, 2
|
||||
movs r0, 0
|
||||
bl TextWindow_LoadTilesStdFrame1
|
||||
b _080693E2
|
||||
.align 2, 0
|
||||
_080693BC: .4byte gQuestLogState
|
||||
_080693C0: .4byte gTextFlags
|
||||
_080693C4:
|
||||
bl IsMsgSignPost
|
||||
lsls r0, 24
|
||||
cmp r0, 0
|
||||
bne _080693D4
|
||||
bl LoadStdWindowFrameGfx
|
||||
b _080693E2
|
||||
_080693D4:
|
||||
bl sub_80F79A4
|
||||
b _080693E2
|
||||
_080693DA:
|
||||
movs r0, 0
|
||||
movs r1, 0x1
|
||||
bl DrawDialogueFrame
|
||||
_080693E2:
|
||||
ldrh r0, [r5, 0x8]
|
||||
adds r0, 0x1
|
||||
strh r0, [r5, 0x8]
|
||||
b _08069402
|
||||
_080693EA:
|
||||
bl RunTextPrinters_CheckPrinter0Active
|
||||
lsls r0, 16
|
||||
lsrs r0, 16
|
||||
cmp r0, 0x1
|
||||
beq _08069402
|
||||
ldr r1, _08069408 @ =gUnknown_203709C
|
||||
movs r0, 0
|
||||
strb r0, [r1]
|
||||
adds r0, r4, 0
|
||||
bl DestroyTask
|
||||
_08069402:
|
||||
pop {r4,r5}
|
||||
pop {r0}
|
||||
bx r0
|
||||
.align 2, 0
|
||||
_08069408: .4byte gUnknown_203709C
|
||||
thumb_func_end sub_8069370
|
||||
|
||||
thumb_func_start task_add_textbox
|
||||
task_add_textbox: @ 806940C
|
||||
push {lr}
|
||||
ldr r0, _0806941C @ =sub_8069370
|
||||
movs r1, 0x50
|
||||
bl CreateTask
|
||||
pop {r0}
|
||||
bx r0
|
||||
.align 2, 0
|
||||
_0806941C: .4byte sub_8069370
|
||||
thumb_func_end task_add_textbox
|
||||
|
||||
thumb_func_start task_del_textbox
|
||||
task_del_textbox: @ 8069420
|
||||
push {lr}
|
||||
ldr r0, _08069438 @ =sub_8069370
|
||||
bl FindTaskIdByFunc
|
||||
lsls r0, 24
|
||||
lsrs r0, 24
|
||||
cmp r0, 0xFF
|
||||
beq _08069434
|
||||
bl DestroyTask
|
||||
_08069434:
|
||||
pop {r0}
|
||||
bx r0
|
||||
.align 2, 0
|
||||
_08069438: .4byte sub_8069370
|
||||
thumb_func_end task_del_textbox
|
||||
|
||||
thumb_func_start ShowFieldMessage
|
||||
ShowFieldMessage: @ 806943C
|
||||
push {r4,lr}
|
||||
adds r1, r0, 0
|
||||
ldr r4, _08069458 @ =gUnknown_203709C
|
||||
ldrb r0, [r4]
|
||||
cmp r0, 0
|
||||
bne _0806945C
|
||||
adds r0, r1, 0
|
||||
bl textbox_fdecode_auto_and_task_add
|
||||
movs r0, 0x2
|
||||
strb r0, [r4]
|
||||
movs r0, 0x1
|
||||
b _0806945E
|
||||
.align 2, 0
|
||||
_08069458: .4byte gUnknown_203709C
|
||||
_0806945C:
|
||||
movs r0, 0
|
||||
_0806945E:
|
||||
pop {r4}
|
||||
pop {r1}
|
||||
bx r1
|
||||
thumb_func_end ShowFieldMessage
|
||||
|
||||
thumb_func_start ShowFieldAutoScrollMessage
|
||||
ShowFieldAutoScrollMessage: @ 8069464
|
||||
push {lr}
|
||||
adds r1, r0, 0
|
||||
ldr r2, _08069480 @ =gUnknown_203709C
|
||||
ldrb r0, [r2]
|
||||
cmp r0, 0
|
||||
bne _08069484
|
||||
movs r0, 0x3
|
||||
strb r0, [r2]
|
||||
adds r0, r1, 0
|
||||
bl textbox_fdecode_auto_and_task_add
|
||||
movs r0, 0x1
|
||||
b _08069486
|
||||
.align 2, 0
|
||||
_08069480: .4byte gUnknown_203709C
|
||||
_08069484:
|
||||
movs r0, 0
|
||||
_08069486:
|
||||
pop {r1}
|
||||
bx r1
|
||||
thumb_func_end ShowFieldAutoScrollMessage
|
||||
|
||||
thumb_func_start sub_806948C
|
||||
sub_806948C: @ 806948C
|
||||
push {lr}
|
||||
ldr r2, _080694A0 @ =gUnknown_203709C
|
||||
movs r1, 0x3
|
||||
strb r1, [r2]
|
||||
bl textbox_fdecode_auto_and_task_add
|
||||
movs r0, 0x1
|
||||
pop {r1}
|
||||
bx r1
|
||||
.align 2, 0
|
||||
_080694A0: .4byte gUnknown_203709C
|
||||
thumb_func_end sub_806948C
|
||||
|
||||
thumb_func_start sub_80694A4
|
||||
sub_80694A4: @ 80694A4
|
||||
push {lr}
|
||||
ldr r1, _080694BC @ =gUnknown_203709C
|
||||
ldrb r0, [r1]
|
||||
cmp r0, 0
|
||||
bne _080694C0
|
||||
movs r0, 0x2
|
||||
strb r0, [r1]
|
||||
bl textbox_auto_and_task_add
|
||||
movs r0, 0x1
|
||||
b _080694C2
|
||||
.align 2, 0
|
||||
_080694BC: .4byte gUnknown_203709C
|
||||
_080694C0:
|
||||
movs r0, 0
|
||||
_080694C2:
|
||||
pop {r1}
|
||||
bx r1
|
||||
thumb_func_end sub_80694A4
|
||||
|
||||
thumb_func_start textbox_fdecode_auto_and_task_add
|
||||
textbox_fdecode_auto_and_task_add: @ 80694C8
|
||||
push {lr}
|
||||
adds r1, r0, 0
|
||||
ldr r0, _080694E0 @ =gStringVar4
|
||||
bl StringExpandPlaceholders
|
||||
movs r0, 0x1
|
||||
bl AddTextPrinterDiffStyle
|
||||
bl task_add_textbox
|
||||
pop {r0}
|
||||
bx r0
|
||||
.align 2, 0
|
||||
_080694E0: .4byte gStringVar4
|
||||
thumb_func_end textbox_fdecode_auto_and_task_add
|
||||
|
||||
thumb_func_start textbox_auto_and_task_add
|
||||
textbox_auto_and_task_add: @ 80694E4
|
||||
push {lr}
|
||||
movs r0, 0x1
|
||||
bl AddTextPrinterDiffStyle
|
||||
bl task_add_textbox
|
||||
pop {r0}
|
||||
bx r0
|
||||
thumb_func_end textbox_auto_and_task_add
|
||||
|
||||
thumb_func_start HideFieldMessageBox
|
||||
HideFieldMessageBox: @ 80694F4
|
||||
push {lr}
|
||||
bl task_del_textbox
|
||||
movs r0, 0
|
||||
movs r1, 0x1
|
||||
bl ClearDialogWindowAndFrame
|
||||
ldr r1, _0806950C @ =gUnknown_203709C
|
||||
movs r0, 0
|
||||
strb r0, [r1]
|
||||
pop {r0}
|
||||
bx r0
|
||||
.align 2, 0
|
||||
_0806950C: .4byte gUnknown_203709C
|
||||
thumb_func_end HideFieldMessageBox
|
||||
|
||||
thumb_func_start textbox_any_visible
|
||||
textbox_any_visible: @ 8069510
|
||||
ldr r0, _08069518 @ =gUnknown_203709C
|
||||
ldrb r0, [r0]
|
||||
bx lr
|
||||
.align 2, 0
|
||||
_08069518: .4byte gUnknown_203709C
|
||||
thumb_func_end textbox_any_visible
|
||||
|
||||
thumb_func_start IsFieldMessageBoxHidden
|
||||
IsFieldMessageBoxHidden: @ 806951C
|
||||
push {lr}
|
||||
ldr r0, _0806952C @ =gUnknown_203709C
|
||||
ldrb r0, [r0]
|
||||
cmp r0, 0
|
||||
beq _08069530
|
||||
movs r0, 0
|
||||
b _08069532
|
||||
.align 2, 0
|
||||
_0806952C: .4byte gUnknown_203709C
|
||||
_08069530:
|
||||
movs r0, 0x1
|
||||
_08069532:
|
||||
pop {r1}
|
||||
bx r1
|
||||
thumb_func_end IsFieldMessageBoxHidden
|
||||
|
||||
thumb_func_start sub_8069538
|
||||
sub_8069538: @ 8069538
|
||||
push {lr}
|
||||
bl task_del_textbox
|
||||
movs r0, 0
|
||||
movs r1, 0x1
|
||||
bl DrawStdWindowFrame
|
||||
ldr r1, _08069550 @ =gUnknown_203709C
|
||||
movs r0, 0
|
||||
strb r0, [r1]
|
||||
pop {r0}
|
||||
bx r0
|
||||
.align 2, 0
|
||||
_08069550: .4byte gUnknown_203709C
|
||||
thumb_func_end sub_8069538
|
||||
|
||||
.align 2, 0 @ Don't pad with nop.
|
||||
+18
-18
@@ -2759,8 +2759,8 @@ GetPlayerAvatarGraphicsIdByStateIdAndGender: @ 805C7E0
|
||||
_0805C7F4: .4byte gUnknown_835B874
|
||||
thumb_func_end GetPlayerAvatarGraphicsIdByStateIdAndGender
|
||||
|
||||
thumb_func_start sub_805C7F8
|
||||
sub_805C7F8: @ 805C7F8
|
||||
thumb_func_start GetHoennLinkPartnerGraphicsIdByGender
|
||||
GetHoennLinkPartnerGraphicsIdByGender: @ 805C7F8
|
||||
lsls r0, 24
|
||||
lsrs r0, 24
|
||||
ldr r1, _0805C804 @ =gUnknown_835B880
|
||||
@@ -2769,10 +2769,10 @@ sub_805C7F8: @ 805C7F8
|
||||
bx lr
|
||||
.align 2, 0
|
||||
_0805C804: .4byte gUnknown_835B880
|
||||
thumb_func_end sub_805C7F8
|
||||
thumb_func_end GetHoennLinkPartnerGraphicsIdByGender
|
||||
|
||||
thumb_func_start sub_805C808
|
||||
sub_805C808: @ 805C808
|
||||
thumb_func_start GetPlayerAvatarGraphicsIdByStateId
|
||||
GetPlayerAvatarGraphicsIdByStateId: @ 805C808
|
||||
push {lr}
|
||||
lsls r0, 24
|
||||
lsrs r0, 24
|
||||
@@ -2785,7 +2785,7 @@ sub_805C808: @ 805C808
|
||||
bx r1
|
||||
.align 2, 0
|
||||
_0805C820: .4byte gPlayerAvatar
|
||||
thumb_func_end sub_805C808
|
||||
thumb_func_end GetPlayerAvatarGraphicsIdByStateId
|
||||
|
||||
thumb_func_start GetPlayerAvatarGenderByGraphicsId
|
||||
GetPlayerAvatarGenderByGraphicsId: @ 805C824
|
||||
@@ -2921,7 +2921,7 @@ IsPlayerFacingSurfableFishableWater: @ 805C8B0
|
||||
ldrsh r0, [r0, r1]
|
||||
movs r2, 0
|
||||
ldrsh r1, [r5, r2]
|
||||
bl sub_805C938
|
||||
bl MetatileAtCoordsIsWaterTile
|
||||
lsls r0, 24
|
||||
lsrs r0, 24
|
||||
cmp r0, 0x1
|
||||
@@ -2940,24 +2940,24 @@ _0805C92E:
|
||||
bx r1
|
||||
thumb_func_end IsPlayerFacingSurfableFishableWater
|
||||
|
||||
thumb_func_start sub_805C938
|
||||
sub_805C938: @ 805C938
|
||||
thumb_func_start MetatileAtCoordsIsWaterTile
|
||||
MetatileAtCoordsIsWaterTile: @ 805C938
|
||||
push {lr}
|
||||
lsls r0, 16
|
||||
asrs r0, 16
|
||||
lsls r1, 16
|
||||
asrs r1, 16
|
||||
movs r2, 0x1
|
||||
bl sub_8058F48
|
||||
bl MapGridGetMetatileAttributeAt
|
||||
lsls r0, 24
|
||||
lsrs r0, 24
|
||||
movs r1, 0x2
|
||||
bl sub_805A2BC
|
||||
bl TestMetatileAttributeBit
|
||||
lsls r0, 24
|
||||
lsrs r0, 24
|
||||
pop {r1}
|
||||
bx r1
|
||||
thumb_func_end sub_805C938
|
||||
thumb_func_end MetatileAtCoordsIsWaterTile
|
||||
|
||||
thumb_func_start ClearPlayerAvatarInfo
|
||||
ClearPlayerAvatarInfo: @ 805C95C
|
||||
@@ -3252,7 +3252,7 @@ sub_805CB70: @ 805CB70
|
||||
ldr r0, _0805CBB0 @ =gObjectEvents
|
||||
adds r4, r0
|
||||
movs r0, 0x3
|
||||
bl sub_805C808
|
||||
bl GetPlayerAvatarGraphicsIdByStateId
|
||||
adds r1, r0, 0
|
||||
lsls r1, 24
|
||||
lsrs r1, 24
|
||||
@@ -3285,7 +3285,7 @@ sub_805CBB8: @ 805CBB8
|
||||
cmp r0, 0
|
||||
bne _0805CBD8
|
||||
movs r0, 0x5
|
||||
bl sub_805C808
|
||||
bl GetPlayerAvatarGraphicsIdByStateId
|
||||
lsls r0, 24
|
||||
lsrs r0, 24
|
||||
b _0805CBE0
|
||||
@@ -3403,7 +3403,7 @@ _0805CC62:
|
||||
movs r1, 0
|
||||
ldrsh r3, [r7, r1]
|
||||
adds r1, r6, 0
|
||||
bl sub_80DB134
|
||||
bl ShowWarpArrowSprite
|
||||
b _0805CCC2
|
||||
.align 2, 0
|
||||
_0805CCA4: .4byte gUnknown_835B890
|
||||
@@ -3419,7 +3419,7 @@ _0805CCA8:
|
||||
cmp r1, 0x3
|
||||
ble _0805CC62
|
||||
ldrb r0, [r5, 0x1B]
|
||||
bl objid_set_invisible
|
||||
bl SetSpriteInvisible
|
||||
_0805CCC2:
|
||||
add sp, 0x4
|
||||
pop {r3,r4}
|
||||
@@ -4129,7 +4129,7 @@ sub_805D240: @ 805D240
|
||||
cmp r0, 0
|
||||
beq _0805D2AE
|
||||
movs r0, 0
|
||||
bl sub_805C808
|
||||
bl GetPlayerAvatarGraphicsIdByStateId
|
||||
adds r1, r0, 0
|
||||
lsls r1, 24
|
||||
lsrs r1, 24
|
||||
@@ -4157,7 +4157,7 @@ sub_805D240: @ 805D240
|
||||
bl DestroySprite
|
||||
adds r0, r5, 0
|
||||
bl DestroyTask
|
||||
bl sub_812B35C
|
||||
bl SetHelpContextForMap
|
||||
_0805D2AE:
|
||||
pop {r4-r6}
|
||||
pop {r0}
|
||||
|
||||
+10
-10
@@ -1906,8 +1906,8 @@ _0807AA84: .4byte gUnknown_2037F34
|
||||
_0807AA88: .4byte 0x000006c6
|
||||
thumb_func_end IsWeatherNotFadingIn
|
||||
|
||||
thumb_func_start sub_807AA8C
|
||||
sub_807AA8C: @ 807AA8C
|
||||
thumb_func_start UpdateSpritePaletteWithWeather
|
||||
UpdateSpritePaletteWithWeather: @ 807AA8C
|
||||
push {r4-r6,lr}
|
||||
lsls r0, 24
|
||||
lsrs r0, 8
|
||||
@@ -2017,7 +2017,7 @@ _0807AB68:
|
||||
bx r0
|
||||
.align 2, 0
|
||||
_0807AB70: .4byte 0x000073fc
|
||||
thumb_func_end sub_807AA8C
|
||||
thumb_func_end UpdateSpritePaletteWithWeather
|
||||
|
||||
thumb_func_start sub_807AB74
|
||||
sub_807AB74: @ 807AB74
|
||||
@@ -2078,7 +2078,7 @@ sub_807ABC0: @ 807ABC0
|
||||
movs r2, 0x20
|
||||
bl LoadPalette
|
||||
ldrb r0, [r4]
|
||||
bl sub_807AA8C
|
||||
bl UpdateSpritePaletteWithWeather
|
||||
pop {r4}
|
||||
pop {r0}
|
||||
bx r0
|
||||
@@ -2698,8 +2698,8 @@ _0807B07C: .4byte gUnknown_2037F34
|
||||
_0807B080: .4byte 0x000006c6
|
||||
thumb_func_end sub_807B070
|
||||
|
||||
thumb_func_start sub_807B084
|
||||
sub_807B084: @ 807B084
|
||||
thumb_func_start PreservePaletteInWeather
|
||||
PreservePaletteInWeather: @ 807B084
|
||||
push {r4,r5,lr}
|
||||
adds r4, r0, 0
|
||||
lsls r4, 24
|
||||
@@ -2721,10 +2721,10 @@ sub_807B084: @ 807B084
|
||||
_0807B0A8: .4byte gUnknown_83C2CC0
|
||||
_0807B0AC: .4byte gUnknown_2038684
|
||||
_0807B0B0: .4byte gUnknown_20386A4
|
||||
thumb_func_end sub_807B084
|
||||
thumb_func_end PreservePaletteInWeather
|
||||
|
||||
thumb_func_start sub_807B0B4
|
||||
sub_807B0B4: @ 807B0B4
|
||||
thumb_func_start ResetPreservedPalettesInWeather
|
||||
ResetPreservedPalettesInWeather: @ 807B0B4
|
||||
ldr r1, _0807B0BC @ =gUnknown_20386A4
|
||||
ldr r0, _0807B0C0 @ =gUnknown_83C2CC0
|
||||
str r0, [r1]
|
||||
@@ -2732,7 +2732,7 @@ sub_807B0B4: @ 807B0B4
|
||||
.align 2, 0
|
||||
_0807B0BC: .4byte gUnknown_20386A4
|
||||
_0807B0C0: .4byte gUnknown_83C2CC0
|
||||
thumb_func_end sub_807B0B4
|
||||
thumb_func_end ResetPreservedPalettesInWeather
|
||||
|
||||
thumb_func_start sub_807B0C4
|
||||
sub_807B0C4: @ 807B0C4
|
||||
|
||||
@@ -526,8 +526,8 @@ sub_807B6BC: @ 807B6BC
|
||||
bx lr
|
||||
thumb_func_end sub_807B6BC
|
||||
|
||||
thumb_func_start sub_807B6C0
|
||||
sub_807B6C0: @ 807B6C0
|
||||
thumb_func_start StartDroughtWeatherBlend
|
||||
StartDroughtWeatherBlend: @ 807B6C0
|
||||
push {lr}
|
||||
ldr r0, _0807B6D0 @ =task50_0807B6D4
|
||||
movs r1, 0x50
|
||||
@@ -536,7 +536,7 @@ sub_807B6C0: @ 807B6C0
|
||||
bx r0
|
||||
.align 2, 0
|
||||
_0807B6D0: .4byte task50_0807B6D4
|
||||
thumb_func_end sub_807B6C0
|
||||
thumb_func_end StartDroughtWeatherBlend
|
||||
|
||||
thumb_func_start task50_0807B6D4
|
||||
task50_0807B6D4: @ 807B6D4
|
||||
|
||||
@@ -1,535 +0,0 @@
|
||||
.include "asm/macros.inc"
|
||||
.include "constants/constants.inc"
|
||||
|
||||
.syntax unified
|
||||
|
||||
.text
|
||||
|
||||
thumb_func_start sub_8097874
|
||||
sub_8097874: @ 8097874
|
||||
push {lr}
|
||||
lsls r0, 16
|
||||
asrs r0, 16
|
||||
lsls r1, 16
|
||||
asrs r1, 16
|
||||
movs r2, 0x1
|
||||
bl sub_8058F48
|
||||
lsls r0, 24
|
||||
lsrs r0, 24
|
||||
movs r1, 0x1
|
||||
bl sub_805A2BC
|
||||
lsls r0, 24
|
||||
lsrs r0, 24
|
||||
pop {r1}
|
||||
bx r1
|
||||
thumb_func_end sub_8097874
|
||||
|
||||
thumb_func_start SetUpFieldMove_Cut
|
||||
SetUpFieldMove_Cut: @ 8097898
|
||||
push {r4-r7,lr}
|
||||
mov r7, r8
|
||||
push {r7}
|
||||
sub sp, 0x4
|
||||
ldr r4, _080978CC @ =gUnknown_2039874
|
||||
movs r0, 0
|
||||
strb r0, [r4]
|
||||
bl CutMoveRuinValleyCheck
|
||||
lsls r0, 24
|
||||
lsrs r0, 24
|
||||
cmp r0, 0x1
|
||||
beq _080978E0
|
||||
movs r0, 0x5F
|
||||
bl CheckObjectGraphicsInFrontOfPlayer
|
||||
lsls r0, 24
|
||||
lsrs r0, 24
|
||||
cmp r0, 0x1
|
||||
bne _08097904
|
||||
ldr r1, _080978D0 @ =gFieldCallback2
|
||||
ldr r0, _080978D4 @ =FieldCallback_PrepareFadeInFromMenu
|
||||
str r0, [r1]
|
||||
ldr r1, _080978D8 @ =gPostMenuFieldCallback
|
||||
ldr r0, _080978DC @ =sub_80979D0
|
||||
b _080978EC
|
||||
.align 2, 0
|
||||
_080978CC: .4byte gUnknown_2039874
|
||||
_080978D0: .4byte gFieldCallback2
|
||||
_080978D4: .4byte FieldCallback_PrepareFadeInFromMenu
|
||||
_080978D8: .4byte gPostMenuFieldCallback
|
||||
_080978DC: .4byte sub_80979D0
|
||||
_080978E0:
|
||||
strb r0, [r4]
|
||||
_080978E2:
|
||||
ldr r1, _080978F4 @ =gFieldCallback2
|
||||
ldr r0, _080978F8 @ =FieldCallback_PrepareFadeInFromMenu
|
||||
str r0, [r1]
|
||||
ldr r1, _080978FC @ =gPostMenuFieldCallback
|
||||
ldr r0, _08097900 @ =sub_8097984
|
||||
_080978EC:
|
||||
str r0, [r1]
|
||||
movs r0, 0x1
|
||||
b _08097970
|
||||
.align 2, 0
|
||||
_080978F4: .4byte gFieldCallback2
|
||||
_080978F8: .4byte FieldCallback_PrepareFadeInFromMenu
|
||||
_080978FC: .4byte gPostMenuFieldCallback
|
||||
_08097900: .4byte sub_8097984
|
||||
_08097904:
|
||||
ldr r4, _0809797C @ =gPlayerFacingPosition
|
||||
adds r1, r4, 0x2
|
||||
adds r0, r4, 0
|
||||
bl PlayerGetDestCoords
|
||||
movs r7, 0
|
||||
adds r2, r4, 0
|
||||
ldr r0, _08097980 @ =0x0000ffff
|
||||
mov r8, r0
|
||||
_08097916:
|
||||
mov r1, r8
|
||||
adds r0, r1, r7
|
||||
ldrh r1, [r2, 0x2]
|
||||
adds r0, r1
|
||||
movs r6, 0
|
||||
lsls r0, 16
|
||||
asrs r5, r0, 16
|
||||
_08097924:
|
||||
mov r1, r8
|
||||
adds r0, r1, r6
|
||||
ldrh r1, [r2]
|
||||
adds r0, r1
|
||||
lsls r0, 16
|
||||
asrs r4, r0, 16
|
||||
adds r0, r4, 0
|
||||
adds r1, r5, 0
|
||||
str r2, [sp]
|
||||
bl MapGridGetZCoordAt
|
||||
lsls r0, 24
|
||||
lsrs r0, 24
|
||||
ldr r2, [sp]
|
||||
movs r1, 0x4
|
||||
ldrsb r1, [r2, r1]
|
||||
cmp r0, r1
|
||||
bne _0809795A
|
||||
adds r0, r4, 0
|
||||
adds r1, r5, 0
|
||||
bl sub_8097874
|
||||
lsls r0, 24
|
||||
lsrs r0, 24
|
||||
ldr r2, [sp]
|
||||
cmp r0, 0x1
|
||||
beq _080978E2
|
||||
_0809795A:
|
||||
adds r0, r6, 0x1
|
||||
lsls r0, 24
|
||||
lsrs r6, r0, 24
|
||||
cmp r6, 0x2
|
||||
bls _08097924
|
||||
adds r0, r7, 0x1
|
||||
lsls r0, 24
|
||||
lsrs r7, r0, 24
|
||||
cmp r7, 0x2
|
||||
bls _08097916
|
||||
movs r0, 0
|
||||
_08097970:
|
||||
add sp, 0x4
|
||||
pop {r3}
|
||||
mov r8, r3
|
||||
pop {r4-r7}
|
||||
pop {r1}
|
||||
bx r1
|
||||
.align 2, 0
|
||||
_0809797C: .4byte gPlayerFacingPosition
|
||||
_08097980: .4byte 0x0000ffff
|
||||
thumb_func_end SetUpFieldMove_Cut
|
||||
|
||||
thumb_func_start sub_8097984
|
||||
sub_8097984: @ 8097984
|
||||
push {lr}
|
||||
movs r0, 0x1
|
||||
bl FieldEffectStart
|
||||
bl GetCursorSelectionMonId
|
||||
ldr r1, _0809799C @ =gFieldEffectArguments
|
||||
lsls r0, 24
|
||||
lsrs r0, 24
|
||||
str r0, [r1]
|
||||
pop {r0}
|
||||
bx r0
|
||||
.align 2, 0
|
||||
_0809799C: .4byte gFieldEffectArguments
|
||||
thumb_func_end sub_8097984
|
||||
|
||||
thumb_func_start sub_80979A0
|
||||
sub_80979A0: @ 80979A0
|
||||
push {lr}
|
||||
bl oei_task_add
|
||||
lsls r0, 24
|
||||
lsrs r0, 24
|
||||
ldr r2, _080979C8 @ =gTasks
|
||||
lsls r1, r0, 2
|
||||
adds r1, r0
|
||||
lsls r1, 3
|
||||
adds r1, r2
|
||||
ldr r2, _080979CC @ =sub_8097A20
|
||||
lsrs r0, r2, 16
|
||||
strh r0, [r1, 0x18]
|
||||
strh r2, [r1, 0x1A]
|
||||
movs r0, 0x12
|
||||
bl IncrementGameStat
|
||||
movs r0, 0
|
||||
pop {r1}
|
||||
bx r1
|
||||
.align 2, 0
|
||||
_080979C8: .4byte gTasks
|
||||
_080979CC: .4byte sub_8097A20
|
||||
thumb_func_end sub_80979A0
|
||||
|
||||
thumb_func_start sub_80979D0
|
||||
sub_80979D0: @ 80979D0
|
||||
push {lr}
|
||||
bl GetCursorSelectionMonId
|
||||
ldr r1, _080979E8 @ =gFieldEffectArguments
|
||||
lsls r0, 24
|
||||
lsrs r0, 24
|
||||
str r0, [r1]
|
||||
ldr r0, _080979EC @ =EventScript_FldEffCut
|
||||
bl ScriptContext1_SetupScript
|
||||
pop {r0}
|
||||
bx r0
|
||||
.align 2, 0
|
||||
_080979E8: .4byte gFieldEffectArguments
|
||||
_080979EC: .4byte EventScript_FldEffCut
|
||||
thumb_func_end sub_80979D0
|
||||
|
||||
thumb_func_start sub_80979F0
|
||||
sub_80979F0: @ 80979F0
|
||||
push {lr}
|
||||
bl oei_task_add
|
||||
lsls r0, 24
|
||||
lsrs r0, 24
|
||||
ldr r2, _08097A18 @ =gTasks
|
||||
lsls r1, r0, 2
|
||||
adds r1, r0
|
||||
lsls r1, 3
|
||||
adds r1, r2
|
||||
ldr r2, _08097A1C @ =sub_8097C6C
|
||||
lsrs r0, r2, 16
|
||||
strh r0, [r1, 0x18]
|
||||
strh r2, [r1, 0x1A]
|
||||
movs r0, 0x12
|
||||
bl IncrementGameStat
|
||||
movs r0, 0
|
||||
pop {r1}
|
||||
bx r1
|
||||
.align 2, 0
|
||||
_08097A18: .4byte gTasks
|
||||
_08097A1C: .4byte sub_8097C6C
|
||||
thumb_func_end sub_80979F0
|
||||
|
||||
thumb_func_start sub_8097A20
|
||||
sub_8097A20: @ 8097A20
|
||||
push {lr}
|
||||
movs r0, 0x1
|
||||
bl FieldEffectActiveListRemove
|
||||
ldr r0, _08097A38 @ =gUnknown_2039874
|
||||
ldrb r0, [r0]
|
||||
cmp r0, 0x1
|
||||
bne _08097A3C
|
||||
bl CutMoveOpenDottedHoleDoor
|
||||
b _08097A42
|
||||
.align 2, 0
|
||||
_08097A38: .4byte gUnknown_2039874
|
||||
_08097A3C:
|
||||
movs r0, 0x3A
|
||||
bl FieldEffectStart
|
||||
_08097A42:
|
||||
pop {r0}
|
||||
bx r0
|
||||
thumb_func_end sub_8097A20
|
||||
|
||||
thumb_func_start sub_8097A48
|
||||
sub_8097A48: @ 8097A48
|
||||
push {r4-r7,lr}
|
||||
mov r7, r9
|
||||
mov r6, r8
|
||||
push {r6,r7}
|
||||
movs r7, 0
|
||||
movs r0, 0x79
|
||||
bl PlaySE
|
||||
ldr r4, _08097B38 @ =gPlayerFacingPosition
|
||||
adds r1, r4, 0x2
|
||||
adds r0, r4, 0
|
||||
bl PlayerGetDestCoords
|
||||
mov r8, r4
|
||||
ldr r0, _08097B3C @ =0x0000ffff
|
||||
mov r9, r0
|
||||
_08097A68:
|
||||
mov r1, r9
|
||||
adds r0, r1, r7
|
||||
mov r2, r8
|
||||
ldrh r2, [r2, 0x2]
|
||||
adds r0, r2
|
||||
movs r6, 0
|
||||
lsls r0, 16
|
||||
asrs r5, r0, 16
|
||||
_08097A78:
|
||||
mov r1, r9
|
||||
adds r0, r1, r6
|
||||
mov r2, r8
|
||||
ldrh r2, [r2]
|
||||
adds r0, r2
|
||||
lsls r0, 16
|
||||
asrs r4, r0, 16
|
||||
adds r0, r4, 0
|
||||
adds r1, r5, 0
|
||||
bl MapGridGetZCoordAt
|
||||
lsls r0, 24
|
||||
lsrs r0, 24
|
||||
mov r2, r8
|
||||
movs r1, 0x4
|
||||
ldrsb r1, [r2, r1]
|
||||
cmp r0, r1
|
||||
bne _08097ABC
|
||||
adds r0, r4, 0
|
||||
adds r1, r5, 0
|
||||
bl sub_8097874
|
||||
lsls r0, 24
|
||||
lsrs r0, 24
|
||||
cmp r0, 0x1
|
||||
bne _08097ABC
|
||||
adds r0, r4, 0
|
||||
adds r1, r5, 0
|
||||
bl sub_8097B50
|
||||
adds r0, r4, 0
|
||||
adds r1, r5, 0
|
||||
bl sub_805F378
|
||||
_08097ABC:
|
||||
adds r0, r6, 0x1
|
||||
lsls r0, 24
|
||||
lsrs r6, r0, 24
|
||||
cmp r6, 0x2
|
||||
bls _08097A78
|
||||
adds r0, r7, 0x1
|
||||
lsls r0, 24
|
||||
lsrs r7, r0, 24
|
||||
cmp r7, 0x2
|
||||
bls _08097A68
|
||||
bl DrawWholeMapView
|
||||
ldr r4, _08097B40 @ =gUnknown_2039870
|
||||
movs r0, 0x8
|
||||
bl Alloc
|
||||
str r0, [r4]
|
||||
movs r7, 0
|
||||
ldr r5, _08097B44 @ =gSprites
|
||||
_08097AE2:
|
||||
ldr r0, _08097B48 @ =gPlayerAvatar
|
||||
ldrb r1, [r0, 0x4]
|
||||
lsls r0, r1, 4
|
||||
adds r0, r1
|
||||
lsls r0, 2
|
||||
adds r0, r5
|
||||
ldrh r1, [r0, 0x2]
|
||||
lsls r1, 23
|
||||
lsrs r1, 7
|
||||
movs r2, 0x80
|
||||
lsls r2, 12
|
||||
adds r1, r2
|
||||
asrs r1, 16
|
||||
ldrb r2, [r0]
|
||||
adds r2, 0x14
|
||||
ldr r0, _08097B4C @ =gUnknown_83D414C
|
||||
movs r3, 0
|
||||
bl CreateSprite
|
||||
ldr r1, [r4]
|
||||
adds r1, r7
|
||||
strb r0, [r1]
|
||||
ldr r0, [r4]
|
||||
adds r0, r7
|
||||
ldrb r1, [r0]
|
||||
lsls r0, r1, 4
|
||||
adds r0, r1
|
||||
lsls r0, 2
|
||||
adds r0, r5
|
||||
lsls r1, r7, 5
|
||||
strh r1, [r0, 0x32]
|
||||
adds r0, r7, 0x1
|
||||
lsls r0, 24
|
||||
lsrs r7, r0, 24
|
||||
cmp r7, 0x7
|
||||
bls _08097AE2
|
||||
movs r0, 0
|
||||
pop {r3,r4}
|
||||
mov r8, r3
|
||||
mov r9, r4
|
||||
pop {r4-r7}
|
||||
pop {r1}
|
||||
bx r1
|
||||
.align 2, 0
|
||||
_08097B38: .4byte gPlayerFacingPosition
|
||||
_08097B3C: .4byte 0x0000ffff
|
||||
_08097B40: .4byte gUnknown_2039870
|
||||
_08097B44: .4byte gSprites
|
||||
_08097B48: .4byte gPlayerAvatar
|
||||
_08097B4C: .4byte gUnknown_83D414C
|
||||
thumb_func_end sub_8097A48
|
||||
|
||||
thumb_func_start sub_8097B50
|
||||
sub_8097B50: @ 8097B50
|
||||
push {r4-r7,lr}
|
||||
lsls r0, 16
|
||||
lsls r1, 16
|
||||
movs r4, 0
|
||||
lsrs r6, r0, 16
|
||||
asrs r0, 16
|
||||
lsrs r7, r1, 16
|
||||
asrs r1, 16
|
||||
bl MapGridGetMetatileIdAt
|
||||
lsls r0, 16
|
||||
lsrs r2, r0, 16
|
||||
ldr r1, _08097B84 @ =gUnknown_83D4100
|
||||
ldr r5, _08097B88 @ =0x0000ffff
|
||||
mov r12, r1
|
||||
_08097B6E:
|
||||
lsls r3, r4, 2
|
||||
adds r0, r3, r1
|
||||
ldrh r0, [r0]
|
||||
cmp r0, r5
|
||||
beq _08097BA0
|
||||
cmp r0, r2
|
||||
beq _08097B8C
|
||||
adds r0, r4, 0x1
|
||||
lsls r0, 16
|
||||
lsrs r4, r0, 16
|
||||
b _08097B6E
|
||||
.align 2, 0
|
||||
_08097B84: .4byte gUnknown_83D4100
|
||||
_08097B88: .4byte 0x0000ffff
|
||||
_08097B8C:
|
||||
lsls r0, r6, 16
|
||||
asrs r0, 16
|
||||
lsls r1, r7, 16
|
||||
asrs r1, 16
|
||||
mov r2, r12
|
||||
adds r2, 0x2
|
||||
adds r2, r3, r2
|
||||
ldrh r2, [r2]
|
||||
bl MapGridSetMetatileIdAt
|
||||
_08097BA0:
|
||||
pop {r4-r7}
|
||||
pop {r0}
|
||||
bx r0
|
||||
thumb_func_end sub_8097B50
|
||||
|
||||
thumb_func_start objc_8097BA8
|
||||
objc_8097BA8: @ 8097BA8
|
||||
movs r2, 0
|
||||
movs r1, 0x8
|
||||
strh r1, [r0, 0x2E]
|
||||
strh r2, [r0, 0x30]
|
||||
strh r2, [r0, 0x34]
|
||||
ldr r1, _08097BB8 @ =objc_8097BBC
|
||||
str r1, [r0, 0x1C]
|
||||
bx lr
|
||||
.align 2, 0
|
||||
_08097BB8: .4byte objc_8097BBC
|
||||
thumb_func_end objc_8097BA8
|
||||
|
||||
thumb_func_start objc_8097BBC
|
||||
objc_8097BBC: @ 8097BBC
|
||||
push {r4,lr}
|
||||
adds r4, r0, 0
|
||||
movs r1, 0x32
|
||||
ldrsh r0, [r4, r1]
|
||||
movs r2, 0x2E
|
||||
ldrsh r1, [r4, r2]
|
||||
bl Sin
|
||||
strh r0, [r4, 0x24]
|
||||
movs r1, 0x32
|
||||
ldrsh r0, [r4, r1]
|
||||
movs r2, 0x2E
|
||||
ldrsh r1, [r4, r2]
|
||||
bl Cos
|
||||
strh r0, [r4, 0x26]
|
||||
ldrh r0, [r4, 0x32]
|
||||
adds r0, 0x8
|
||||
movs r1, 0xFF
|
||||
ands r0, r1
|
||||
strh r0, [r4, 0x32]
|
||||
ldrh r1, [r4, 0x2E]
|
||||
adds r1, 0x1
|
||||
ldrh r2, [r4, 0x34]
|
||||
lsls r0, r2, 16
|
||||
asrs r0, 18
|
||||
adds r1, r0
|
||||
strh r1, [r4, 0x2E]
|
||||
adds r2, 0x1
|
||||
strh r2, [r4, 0x34]
|
||||
ldrh r1, [r4, 0x30]
|
||||
movs r2, 0x30
|
||||
ldrsh r0, [r4, r2]
|
||||
cmp r0, 0x1C
|
||||
beq _08097C08
|
||||
adds r0, r1, 0x1
|
||||
strh r0, [r4, 0x30]
|
||||
b _08097C0C
|
||||
_08097C08:
|
||||
ldr r0, _08097C14 @ =sub_8097C18
|
||||
str r0, [r4, 0x1C]
|
||||
_08097C0C:
|
||||
pop {r4}
|
||||
pop {r0}
|
||||
bx r0
|
||||
.align 2, 0
|
||||
_08097C14: .4byte sub_8097C18
|
||||
thumb_func_end objc_8097BBC
|
||||
|
||||
thumb_func_start sub_8097C18
|
||||
sub_8097C18: @ 8097C18
|
||||
push {r4-r6,lr}
|
||||
movs r4, 0x1
|
||||
_08097C1C:
|
||||
ldr r6, _08097C64 @ =gUnknown_2039870
|
||||
ldr r0, [r6]
|
||||
adds r0, r4
|
||||
ldrb r1, [r0]
|
||||
lsls r0, r1, 4
|
||||
adds r0, r1
|
||||
lsls r0, 2
|
||||
ldr r5, _08097C68 @ =gSprites
|
||||
adds r0, r5
|
||||
bl DestroySprite
|
||||
adds r0, r4, 0x1
|
||||
lsls r0, 24
|
||||
lsrs r4, r0, 24
|
||||
cmp r4, 0x7
|
||||
bls _08097C1C
|
||||
ldr r0, [r6]
|
||||
ldrb r1, [r0]
|
||||
lsls r0, r1, 4
|
||||
adds r0, r1
|
||||
lsls r0, 2
|
||||
adds r0, r5
|
||||
movs r1, 0x3A
|
||||
bl FieldEffectStop
|
||||
ldr r0, [r6]
|
||||
bl Free
|
||||
bl sub_80696C0
|
||||
bl ScriptContext2_Disable
|
||||
pop {r4-r6}
|
||||
pop {r0}
|
||||
bx r0
|
||||
.align 2, 0
|
||||
_08097C64: .4byte gUnknown_2039870
|
||||
_08097C68: .4byte gSprites
|
||||
thumb_func_end sub_8097C18
|
||||
|
||||
thumb_func_start sub_8097C6C
|
||||
sub_8097C6C: @ 8097C6C
|
||||
push {lr}
|
||||
movs r0, 0x79
|
||||
bl PlaySE
|
||||
movs r0, 0x2
|
||||
bl FieldEffectActiveListRemove
|
||||
bl EnableBothScriptContexts
|
||||
pop {r0}
|
||||
bx r0
|
||||
thumb_func_end sub_8097C6C
|
||||
|
||||
.align 2, 0 @ Don't pad with nop.
|
||||
@@ -1,964 +0,0 @@
|
||||
.include "asm/macros.inc"
|
||||
.include "constants/constants.inc"
|
||||
|
||||
.syntax unified
|
||||
|
||||
.text
|
||||
|
||||
thumb_func_start SetUpFieldMove_Flash
|
||||
SetUpFieldMove_Flash: @ 80C9B2C
|
||||
push {lr}
|
||||
ldr r0, _080C9B54 @ =gMapHeader
|
||||
ldrb r0, [r0, 0x15]
|
||||
cmp r0, 0x1
|
||||
bne _080C9B6C
|
||||
ldr r0, _080C9B58 @ =0x00000806
|
||||
bl FlagGet
|
||||
lsls r0, 24
|
||||
cmp r0, 0
|
||||
bne _080C9B6C
|
||||
ldr r1, _080C9B5C @ =gFieldCallback2
|
||||
ldr r0, _080C9B60 @ =FieldCallback_PrepareFadeInFromMenu
|
||||
str r0, [r1]
|
||||
ldr r1, _080C9B64 @ =gPostMenuFieldCallback
|
||||
ldr r0, _080C9B68 @ =sub_80C9B74
|
||||
str r0, [r1]
|
||||
movs r0, 0x1
|
||||
b _080C9B6E
|
||||
.align 2, 0
|
||||
_080C9B54: .4byte gMapHeader
|
||||
_080C9B58: .4byte 0x00000806
|
||||
_080C9B5C: .4byte gFieldCallback2
|
||||
_080C9B60: .4byte FieldCallback_PrepareFadeInFromMenu
|
||||
_080C9B64: .4byte gPostMenuFieldCallback
|
||||
_080C9B68: .4byte sub_80C9B74
|
||||
_080C9B6C:
|
||||
movs r0, 0
|
||||
_080C9B6E:
|
||||
pop {r1}
|
||||
bx r1
|
||||
thumb_func_end SetUpFieldMove_Flash
|
||||
|
||||
thumb_func_start sub_80C9B74
|
||||
sub_80C9B74: @ 80C9B74
|
||||
push {r4,lr}
|
||||
bl oei_task_add
|
||||
adds r4, r0, 0
|
||||
lsls r4, 24
|
||||
lsrs r4, 24
|
||||
bl GetCursorSelectionMonId
|
||||
ldr r1, _080C9BA4 @ =gFieldEffectArguments
|
||||
lsls r0, 24
|
||||
lsrs r0, 24
|
||||
str r0, [r1]
|
||||
ldr r1, _080C9BA8 @ =gTasks
|
||||
lsls r0, r4, 2
|
||||
adds r0, r4
|
||||
lsls r0, 3
|
||||
adds r0, r1
|
||||
ldr r2, _080C9BAC @ =sub_80C9BB0
|
||||
lsrs r1, r2, 16
|
||||
strh r1, [r0, 0x18]
|
||||
strh r2, [r0, 0x1A]
|
||||
pop {r4}
|
||||
pop {r0}
|
||||
bx r0
|
||||
.align 2, 0
|
||||
_080C9BA4: .4byte gFieldEffectArguments
|
||||
_080C9BA8: .4byte gTasks
|
||||
_080C9BAC: .4byte sub_80C9BB0
|
||||
thumb_func_end sub_80C9B74
|
||||
|
||||
thumb_func_start sub_80C9BB0
|
||||
sub_80C9BB0: @ 80C9BB0
|
||||
push {lr}
|
||||
movs r0, 0xC8
|
||||
bl PlaySE
|
||||
ldr r0, _080C9BC8 @ =0x00000806
|
||||
bl FlagSet
|
||||
ldr r0, _080C9BCC @ =EventScript_FldEffFlash
|
||||
bl ScriptContext1_SetupScript
|
||||
pop {r0}
|
||||
bx r0
|
||||
.align 2, 0
|
||||
_080C9BC8: .4byte 0x00000806
|
||||
_080C9BCC: .4byte EventScript_FldEffFlash
|
||||
thumb_func_end sub_80C9BB0
|
||||
|
||||
thumb_func_start sub_80C9BD0
|
||||
sub_80C9BD0: @ 80C9BD0
|
||||
push {lr}
|
||||
bl RunTasks
|
||||
bl AnimateSprites
|
||||
bl BuildOamBuffer
|
||||
bl UpdatePaletteFade
|
||||
pop {r0}
|
||||
bx r0
|
||||
thumb_func_end sub_80C9BD0
|
||||
|
||||
thumb_func_start sub_80C9BE8
|
||||
sub_80C9BE8: @ 80C9BE8
|
||||
push {lr}
|
||||
bl LoadOam
|
||||
bl ProcessSpriteCopyRequests
|
||||
bl TransferPlttBuffer
|
||||
pop {r0}
|
||||
bx r0
|
||||
thumb_func_end sub_80C9BE8
|
||||
|
||||
thumb_func_start sub_80C9BFC
|
||||
sub_80C9BFC: @ 80C9BFC
|
||||
push {lr}
|
||||
sub sp, 0x8
|
||||
movs r0, 0
|
||||
bl SetVBlankCallback
|
||||
movs r0, 0
|
||||
movs r1, 0
|
||||
bl SetGpuReg
|
||||
movs r0, 0xC
|
||||
movs r1, 0
|
||||
bl SetGpuReg
|
||||
movs r0, 0xA
|
||||
movs r1, 0
|
||||
bl SetGpuReg
|
||||
movs r0, 0x8
|
||||
movs r1, 0
|
||||
bl SetGpuReg
|
||||
movs r0, 0x18
|
||||
movs r1, 0
|
||||
bl SetGpuReg
|
||||
movs r0, 0x1A
|
||||
movs r1, 0
|
||||
bl SetGpuReg
|
||||
movs r0, 0x14
|
||||
movs r1, 0
|
||||
bl SetGpuReg
|
||||
movs r0, 0x16
|
||||
movs r1, 0
|
||||
bl SetGpuReg
|
||||
movs r0, 0x10
|
||||
movs r1, 0
|
||||
bl SetGpuReg
|
||||
movs r0, 0x12
|
||||
movs r1, 0
|
||||
bl SetGpuReg
|
||||
mov r1, sp
|
||||
movs r0, 0
|
||||
strh r0, [r1]
|
||||
ldr r1, _080C9CC8 @ =0x040000d4
|
||||
mov r0, sp
|
||||
str r0, [r1]
|
||||
movs r0, 0xC0
|
||||
lsls r0, 19
|
||||
str r0, [r1, 0x4]
|
||||
ldr r0, _080C9CCC @ =0x8100c000
|
||||
str r0, [r1, 0x8]
|
||||
ldr r0, [r1, 0x8]
|
||||
movs r2, 0
|
||||
str r2, [sp, 0x4]
|
||||
add r0, sp, 0x4
|
||||
str r0, [r1]
|
||||
movs r0, 0xE0
|
||||
lsls r0, 19
|
||||
str r0, [r1, 0x4]
|
||||
ldr r0, _080C9CD0 @ =0x85000100
|
||||
str r0, [r1, 0x8]
|
||||
ldr r0, [r1, 0x8]
|
||||
mov r0, sp
|
||||
strh r2, [r0]
|
||||
str r0, [r1]
|
||||
ldr r0, _080C9CD4 @ =0x05000002
|
||||
str r0, [r1, 0x4]
|
||||
ldr r0, _080C9CD8 @ =0x810001ff
|
||||
str r0, [r1, 0x8]
|
||||
ldr r0, [r1, 0x8]
|
||||
bl ResetPaletteFade
|
||||
bl ResetTasks
|
||||
bl ResetSpriteData
|
||||
movs r0, 0x1
|
||||
bl EnableInterrupts
|
||||
ldr r0, _080C9CDC @ =sub_80C9BE8
|
||||
bl SetVBlankCallback
|
||||
ldr r0, _080C9CE0 @ =sub_80C9BD0
|
||||
bl SetMainCallback2
|
||||
bl sub_80C9CE8
|
||||
lsls r0, 24
|
||||
cmp r0, 0
|
||||
bne _080C9CC2
|
||||
ldr r0, _080C9CE4 @ =gMain
|
||||
ldr r0, [r0, 0x8]
|
||||
bl SetMainCallback2
|
||||
_080C9CC2:
|
||||
add sp, 0x8
|
||||
pop {r0}
|
||||
bx r0
|
||||
.align 2, 0
|
||||
_080C9CC8: .4byte 0x040000d4
|
||||
_080C9CCC: .4byte 0x8100c000
|
||||
_080C9CD0: .4byte 0x85000100
|
||||
_080C9CD4: .4byte 0x05000002
|
||||
_080C9CD8: .4byte 0x810001ff
|
||||
_080C9CDC: .4byte sub_80C9BE8
|
||||
_080C9CE0: .4byte sub_80C9BD0
|
||||
_080C9CE4: .4byte gMain
|
||||
thumb_func_end sub_80C9BFC
|
||||
|
||||
thumb_func_start sub_80C9CE8
|
||||
sub_80C9CE8: @ 80C9CE8
|
||||
push {r4-r7,lr}
|
||||
bl get_map_light_from_warp0
|
||||
lsls r0, 24
|
||||
lsrs r7, r0, 24
|
||||
bl GetCurrentMapType
|
||||
lsls r0, 24
|
||||
lsrs r6, r0, 24
|
||||
movs r4, 0
|
||||
bl sub_80561B4
|
||||
ldr r5, _080C9D24 @ =gMapHeader
|
||||
lsls r0, 24
|
||||
lsrs r0, 24
|
||||
ldrb r1, [r5, 0x14]
|
||||
cmp r0, r1
|
||||
beq _080C9D36
|
||||
ldrb r0, [r5, 0x14]
|
||||
movs r1, 0
|
||||
bl sub_80F8154
|
||||
cmp r0, 0x1
|
||||
bne _080C9D36
|
||||
ldrb r0, [r5, 0x14]
|
||||
bl sub_80CA160
|
||||
movs r0, 0x1
|
||||
b _080C9D70
|
||||
.align 2, 0
|
||||
_080C9D24: .4byte gMapHeader
|
||||
_080C9D28:
|
||||
adds r0, r3, 0x4
|
||||
adds r0, r2, r0
|
||||
ldr r0, [r0]
|
||||
bl _call_via_r0
|
||||
movs r0, 0x1
|
||||
b _080C9D70
|
||||
_080C9D36:
|
||||
ldr r5, _080C9D78 @ =gUnknown_83F5738
|
||||
lsls r1, r4, 1
|
||||
adds r0, r1, r4
|
||||
lsls r0, 2
|
||||
adds r0, r5
|
||||
ldrb r0, [r0]
|
||||
cmp r0, 0
|
||||
beq _080C9D6E
|
||||
adds r3, r5, 0
|
||||
_080C9D48:
|
||||
adds r0, r1, r4
|
||||
lsls r2, r0, 2
|
||||
adds r1, r2, r3
|
||||
ldrb r0, [r1]
|
||||
cmp r0, r7
|
||||
bne _080C9D5A
|
||||
ldrb r0, [r1, 0x1]
|
||||
cmp r0, r6
|
||||
beq _080C9D28
|
||||
_080C9D5A:
|
||||
adds r0, r4, 0x1
|
||||
lsls r0, 24
|
||||
lsrs r4, r0, 24
|
||||
lsls r1, r4, 1
|
||||
adds r0, r1, r4
|
||||
lsls r0, 2
|
||||
adds r0, r5
|
||||
ldrb r0, [r0]
|
||||
cmp r0, 0
|
||||
bne _080C9D48
|
||||
_080C9D6E:
|
||||
movs r0, 0
|
||||
_080C9D70:
|
||||
pop {r4-r7}
|
||||
pop {r1}
|
||||
bx r1
|
||||
.align 2, 0
|
||||
_080C9D78: .4byte gUnknown_83F5738
|
||||
thumb_func_end sub_80C9CE8
|
||||
|
||||
thumb_func_start sub_80C9D7C
|
||||
sub_80C9D7C: @ 80C9D7C
|
||||
push {r4-r6,lr}
|
||||
lsls r0, 24
|
||||
lsls r1, 24
|
||||
lsrs r5, r0, 24
|
||||
lsrs r4, r1, 24
|
||||
movs r3, 0
|
||||
ldr r1, _080C9DAC @ =gUnknown_83F5738
|
||||
ldrb r0, [r1]
|
||||
cmp r0, 0
|
||||
beq _080C9DC4
|
||||
adds r6, r1, 0
|
||||
_080C9D92:
|
||||
lsls r0, r3, 1
|
||||
adds r0, r3
|
||||
lsls r0, 2
|
||||
adds r2, r0, r6
|
||||
ldrb r0, [r2]
|
||||
cmp r0, r5
|
||||
bne _080C9DB0
|
||||
ldrb r0, [r2, 0x1]
|
||||
cmp r0, r4
|
||||
bne _080C9DB0
|
||||
ldrb r0, [r2, 0x2]
|
||||
b _080C9DC6
|
||||
.align 2, 0
|
||||
_080C9DAC: .4byte gUnknown_83F5738
|
||||
_080C9DB0:
|
||||
adds r0, r3, 0x1
|
||||
lsls r0, 24
|
||||
lsrs r3, r0, 24
|
||||
lsls r0, r3, 1
|
||||
adds r0, r3
|
||||
lsls r0, 2
|
||||
adds r0, r1
|
||||
ldrb r0, [r0]
|
||||
cmp r0, 0
|
||||
bne _080C9D92
|
||||
_080C9DC4:
|
||||
movs r0, 0
|
||||
_080C9DC6:
|
||||
pop {r4-r6}
|
||||
pop {r1}
|
||||
bx r1
|
||||
thumb_func_end sub_80C9D7C
|
||||
|
||||
thumb_func_start sub_80C9DCC
|
||||
sub_80C9DCC: @ 80C9DCC
|
||||
push {r4-r6,lr}
|
||||
lsls r0, 24
|
||||
lsls r1, 24
|
||||
lsrs r5, r0, 24
|
||||
lsrs r4, r1, 24
|
||||
movs r3, 0
|
||||
ldr r1, _080C9DFC @ =gUnknown_83F5738
|
||||
ldrb r0, [r1]
|
||||
cmp r0, 0
|
||||
beq _080C9E14
|
||||
adds r6, r1, 0
|
||||
_080C9DE2:
|
||||
lsls r0, r3, 1
|
||||
adds r0, r3
|
||||
lsls r0, 2
|
||||
adds r2, r0, r6
|
||||
ldrb r0, [r2]
|
||||
cmp r0, r5
|
||||
bne _080C9E00
|
||||
ldrb r0, [r2, 0x1]
|
||||
cmp r0, r4
|
||||
bne _080C9E00
|
||||
ldrb r0, [r2, 0x3]
|
||||
b _080C9E16
|
||||
.align 2, 0
|
||||
_080C9DFC: .4byte gUnknown_83F5738
|
||||
_080C9E00:
|
||||
adds r0, r3, 0x1
|
||||
lsls r0, 24
|
||||
lsrs r3, r0, 24
|
||||
lsls r0, r3, 1
|
||||
adds r0, r3
|
||||
lsls r0, 2
|
||||
adds r0, r1
|
||||
ldrb r0, [r0]
|
||||
cmp r0, 0
|
||||
bne _080C9DE2
|
||||
_080C9E14:
|
||||
movs r0, 0
|
||||
_080C9E16:
|
||||
pop {r4-r6}
|
||||
pop {r1}
|
||||
bx r1
|
||||
thumb_func_end sub_80C9DCC
|
||||
|
||||
thumb_func_start sub_80C9E1C
|
||||
sub_80C9E1C: @ 80C9E1C
|
||||
push {lr}
|
||||
ldr r0, _080C9E2C @ =sub_80C9E30
|
||||
movs r1, 0
|
||||
bl CreateTask
|
||||
pop {r0}
|
||||
bx r0
|
||||
.align 2, 0
|
||||
_080C9E2C: .4byte sub_80C9E30
|
||||
thumb_func_end sub_80C9E1C
|
||||
|
||||
thumb_func_start sub_80C9E30
|
||||
sub_80C9E30: @ 80C9E30
|
||||
lsls r0, 24
|
||||
lsrs r0, 24
|
||||
ldr r2, _080C9E44 @ =gTasks
|
||||
lsls r1, r0, 2
|
||||
adds r1, r0
|
||||
lsls r1, 3
|
||||
adds r1, r2
|
||||
ldr r0, _080C9E48 @ =sub_80C9E4C
|
||||
str r0, [r1]
|
||||
bx lr
|
||||
.align 2, 0
|
||||
_080C9E44: .4byte gTasks
|
||||
_080C9E48: .4byte sub_80C9E4C
|
||||
thumb_func_end sub_80C9E30
|
||||
|
||||
thumb_func_start sub_80C9E4C
|
||||
sub_80C9E4C: @ 80C9E4C
|
||||
push {r4,lr}
|
||||
adds r4, r0, 0
|
||||
lsls r4, 24
|
||||
lsrs r4, 24
|
||||
movs r0, 0
|
||||
movs r1, 0
|
||||
bl SetGpuReg
|
||||
ldr r0, _080C9EC8 @ =gUnknown_83F5A44
|
||||
ldr r1, _080C9ECC @ =0x0600c000
|
||||
bl LZ77UnCompVram
|
||||
ldr r0, _080C9ED0 @ =gUnknown_83F5864
|
||||
ldr r1, _080C9ED4 @ =0x0600f800
|
||||
bl LZ77UnCompVram
|
||||
ldr r0, _080C9ED8 @ =gUnknown_83F5804
|
||||
movs r1, 0xE0
|
||||
movs r2, 0x20
|
||||
bl LoadPalette
|
||||
ldr r0, _080C9EDC @ =gUnknown_83F5844 + 0x10
|
||||
movs r1, 0xE0
|
||||
movs r2, 0x10
|
||||
bl LoadPalette
|
||||
ldr r1, _080C9EE0 @ =0x00003e41
|
||||
movs r0, 0x50
|
||||
bl SetGpuReg
|
||||
movs r0, 0x52
|
||||
movs r1, 0
|
||||
bl SetGpuReg
|
||||
movs r0, 0x54
|
||||
movs r1, 0
|
||||
bl SetGpuReg
|
||||
ldr r1, _080C9EE4 @ =0x00001f0c =BGCNT_PRIORITY(0) | BGCNT_CHARBASE(3) | BGCNT_SCREENBASE(31)
|
||||
movs r0, 0x8
|
||||
bl SetGpuReg
|
||||
movs r1, 0x8A
|
||||
lsls r1, 5
|
||||
movs r0, 0
|
||||
bl SetGpuReg
|
||||
ldr r1, _080C9EE8 @ =gTasks
|
||||
lsls r0, r4, 2
|
||||
adds r0, r4
|
||||
lsls r0, 3
|
||||
adds r0, r1
|
||||
ldr r1, _080C9EEC @ =sub_80C9EF0
|
||||
str r1, [r0]
|
||||
movs r2, 0
|
||||
movs r1, 0x10
|
||||
strh r1, [r0, 0x8]
|
||||
strh r2, [r0, 0xA]
|
||||
pop {r4}
|
||||
pop {r0}
|
||||
bx r0
|
||||
.align 2, 0
|
||||
_080C9EC8: .4byte gUnknown_83F5A44
|
||||
_080C9ECC: .4byte 0x0600c000
|
||||
_080C9ED0: .4byte gUnknown_83F5864
|
||||
_080C9ED4: .4byte 0x0600f800
|
||||
_080C9ED8: .4byte gUnknown_83F5804
|
||||
_080C9EDC: .4byte gUnknown_83F5844 + 0x10
|
||||
_080C9EE0: .4byte 0x00003e41
|
||||
_080C9EE4: .4byte 0x00001f0c
|
||||
_080C9EE8: .4byte gTasks
|
||||
_080C9EEC: .4byte sub_80C9EF0
|
||||
thumb_func_end sub_80C9E4C
|
||||
|
||||
thumb_func_start sub_80C9EF0
|
||||
sub_80C9EF0: @ 80C9EF0
|
||||
push {r4,r5,lr}
|
||||
lsls r0, 24
|
||||
lsrs r0, 24
|
||||
ldr r2, _080C9F20 @ =gTasks
|
||||
lsls r1, r0, 2
|
||||
adds r1, r0
|
||||
lsls r1, 3
|
||||
adds r5, r1, r2
|
||||
ldrh r4, [r5, 0xA]
|
||||
movs r0, 0x80
|
||||
lsls r0, 5
|
||||
adds r1, r4, r0
|
||||
lsls r1, 16
|
||||
lsrs r1, 16
|
||||
movs r0, 0x52
|
||||
bl SetGpuReg
|
||||
cmp r4, 0x10
|
||||
bhi _080C9F24
|
||||
ldrh r0, [r5, 0xA]
|
||||
adds r0, 0x1
|
||||
strh r0, [r5, 0xA]
|
||||
b _080C9F2C
|
||||
.align 2, 0
|
||||
_080C9F20: .4byte gTasks
|
||||
_080C9F24:
|
||||
movs r0, 0
|
||||
strh r0, [r5, 0xC]
|
||||
ldr r0, _080C9F34 @ =sub_80C9F38
|
||||
str r0, [r5]
|
||||
_080C9F2C:
|
||||
pop {r4,r5}
|
||||
pop {r0}
|
||||
bx r0
|
||||
.align 2, 0
|
||||
_080C9F34: .4byte sub_80C9F38
|
||||
thumb_func_end sub_80C9EF0
|
||||
|
||||
thumb_func_start sub_80C9F38
|
||||
sub_80C9F38: @ 80C9F38
|
||||
push {r4,lr}
|
||||
adds r4, r0, 0
|
||||
lsls r4, 24
|
||||
lsrs r4, 24
|
||||
ldr r1, _080C9F74 @ =0x00001010
|
||||
movs r0, 0x52
|
||||
bl SetGpuReg
|
||||
ldr r1, _080C9F78 @ =gTasks
|
||||
lsls r0, r4, 2
|
||||
adds r0, r4
|
||||
lsls r0, 3
|
||||
adds r4, r0, r1
|
||||
ldrh r1, [r4, 0xC]
|
||||
cmp r1, 0x7
|
||||
bhi _080C9F80
|
||||
adds r0, r1, 0x1
|
||||
strh r0, [r4, 0xC]
|
||||
lsls r1, 1
|
||||
ldr r0, _080C9F7C @ =gUnknown_83F5844 + 0x10
|
||||
adds r0, r1, r0
|
||||
movs r2, 0x10
|
||||
subs r2, r1
|
||||
lsls r2, 16
|
||||
lsrs r2, 16
|
||||
movs r1, 0xE0
|
||||
bl LoadPalette
|
||||
b _080C9F92
|
||||
.align 2, 0
|
||||
_080C9F74: .4byte 0x00001010
|
||||
_080C9F78: .4byte gTasks
|
||||
_080C9F7C: .4byte gUnknown_83F5844 + 0x10
|
||||
_080C9F80:
|
||||
ldr r0, _080C9F98 @ =gUnknown_83F5804
|
||||
movs r1, 0
|
||||
movs r2, 0x20
|
||||
bl LoadPalette
|
||||
ldr r0, _080C9F9C @ =sub_80C9FA0
|
||||
str r0, [r4]
|
||||
movs r0, 0x8
|
||||
strh r0, [r4, 0xC]
|
||||
_080C9F92:
|
||||
pop {r4}
|
||||
pop {r0}
|
||||
bx r0
|
||||
.align 2, 0
|
||||
_080C9F98: .4byte gUnknown_83F5804
|
||||
_080C9F9C: .4byte sub_80C9FA0
|
||||
thumb_func_end sub_80C9F38
|
||||
|
||||
thumb_func_start sub_80C9FA0
|
||||
sub_80C9FA0: @ 80C9FA0
|
||||
push {lr}
|
||||
lsls r0, 24
|
||||
lsrs r0, 24
|
||||
ldr r2, _080C9FC0 @ =gTasks
|
||||
lsls r1, r0, 2
|
||||
adds r1, r0
|
||||
lsls r1, 3
|
||||
adds r1, r2
|
||||
ldrh r2, [r1, 0xC]
|
||||
movs r3, 0xC
|
||||
ldrsh r0, [r1, r3]
|
||||
cmp r0, 0
|
||||
beq _080C9FC4
|
||||
subs r0, r2, 0x1
|
||||
strh r0, [r1, 0xC]
|
||||
b _080C9FCC
|
||||
.align 2, 0
|
||||
_080C9FC0: .4byte gTasks
|
||||
_080C9FC4:
|
||||
ldr r0, _080C9FD0 @ =gMain
|
||||
ldr r0, [r0, 0x8]
|
||||
bl SetMainCallback2
|
||||
_080C9FCC:
|
||||
pop {r0}
|
||||
bx r0
|
||||
.align 2, 0
|
||||
_080C9FD0: .4byte gMain
|
||||
thumb_func_end sub_80C9FA0
|
||||
|
||||
thumb_func_start sub_80C9FD4
|
||||
sub_80C9FD4: @ 80C9FD4
|
||||
push {lr}
|
||||
ldr r0, _080C9FE4 @ =sub_80C9FE8
|
||||
movs r1, 0
|
||||
bl CreateTask
|
||||
pop {r0}
|
||||
bx r0
|
||||
.align 2, 0
|
||||
_080C9FE4: .4byte sub_80C9FE8
|
||||
thumb_func_end sub_80C9FD4
|
||||
|
||||
thumb_func_start sub_80C9FE8
|
||||
sub_80C9FE8: @ 80C9FE8
|
||||
lsls r0, 24
|
||||
lsrs r0, 24
|
||||
ldr r2, _080C9FFC @ =gTasks
|
||||
lsls r1, r0, 2
|
||||
adds r1, r0
|
||||
lsls r1, 3
|
||||
adds r1, r2
|
||||
ldr r0, _080CA000 @ =sub_80CA004
|
||||
str r0, [r1]
|
||||
bx lr
|
||||
.align 2, 0
|
||||
_080C9FFC: .4byte gTasks
|
||||
_080CA000: .4byte sub_80CA004
|
||||
thumb_func_end sub_80C9FE8
|
||||
|
||||
thumb_func_start sub_80CA004
|
||||
sub_80CA004: @ 80CA004
|
||||
push {r4,lr}
|
||||
adds r4, r0, 0
|
||||
lsls r4, 24
|
||||
lsrs r4, 24
|
||||
movs r0, 0
|
||||
movs r1, 0
|
||||
bl SetGpuReg
|
||||
ldr r0, _080CA080 @ =gUnknown_83F5A44
|
||||
ldr r1, _080CA084 @ =0x0600c000
|
||||
bl LZ77UnCompVram
|
||||
ldr r0, _080CA088 @ =gUnknown_83F5864
|
||||
ldr r1, _080CA08C @ =0x0600f800
|
||||
bl LZ77UnCompVram
|
||||
movs r0, 0x50
|
||||
movs r1, 0
|
||||
bl SetGpuReg
|
||||
movs r0, 0x52
|
||||
movs r1, 0
|
||||
bl SetGpuReg
|
||||
movs r0, 0x54
|
||||
movs r1, 0
|
||||
bl SetGpuReg
|
||||
ldr r1, _080CA090 @ =0x00001f0c
|
||||
movs r0, 0x8
|
||||
bl SetGpuReg
|
||||
movs r1, 0x8A
|
||||
lsls r1, 5
|
||||
movs r0, 0
|
||||
bl SetGpuReg
|
||||
ldr r0, _080CA094 @ =gUnknown_83F5804
|
||||
movs r1, 0xE0
|
||||
movs r2, 0x20
|
||||
bl LoadPalette
|
||||
ldr r0, _080CA098 @ =gUnknown_83F5824
|
||||
movs r1, 0
|
||||
movs r2, 0x20
|
||||
bl LoadPalette
|
||||
ldr r1, _080CA09C @ =gTasks
|
||||
lsls r0, r4, 2
|
||||
adds r0, r4
|
||||
lsls r0, 3
|
||||
adds r0, r1
|
||||
ldr r1, _080CA0A0 @ =sub_80CA0A4
|
||||
str r1, [r0]
|
||||
movs r2, 0
|
||||
movs r1, 0x10
|
||||
strh r1, [r0, 0x8]
|
||||
strh r2, [r0, 0xA]
|
||||
strh r2, [r0, 0xC]
|
||||
pop {r4}
|
||||
pop {r0}
|
||||
bx r0
|
||||
.align 2, 0
|
||||
_080CA080: .4byte gUnknown_83F5A44
|
||||
_080CA084: .4byte 0x0600c000
|
||||
_080CA088: .4byte gUnknown_83F5864
|
||||
_080CA08C: .4byte 0x0600f800
|
||||
_080CA090: .4byte 0x00001f0c
|
||||
_080CA094: .4byte gUnknown_83F5804
|
||||
_080CA098: .4byte gUnknown_83F5824
|
||||
_080CA09C: .4byte gTasks
|
||||
_080CA0A0: .4byte sub_80CA0A4
|
||||
thumb_func_end sub_80CA004
|
||||
|
||||
thumb_func_start sub_80CA0A4
|
||||
sub_80CA0A4: @ 80CA0A4
|
||||
push {r4,lr}
|
||||
lsls r0, 24
|
||||
lsrs r0, 24
|
||||
ldr r2, _080CA0D8 @ =gTasks
|
||||
lsls r1, r0, 2
|
||||
adds r1, r0
|
||||
lsls r1, 3
|
||||
adds r4, r1, r2
|
||||
ldrh r1, [r4, 0xC]
|
||||
cmp r1, 0xF
|
||||
bhi _080CA0E0
|
||||
adds r2, r1, 0x1
|
||||
adds r0, r2, 0x1
|
||||
strh r0, [r4, 0xC]
|
||||
movs r0, 0xF
|
||||
subs r0, r1
|
||||
lsls r0, 1
|
||||
ldr r1, _080CA0DC @ =gUnknown_83F5844
|
||||
adds r0, r1
|
||||
lsls r2, 17
|
||||
lsrs r2, 16
|
||||
movs r1, 0xE0
|
||||
bl LoadPalette
|
||||
b _080CA0F4
|
||||
.align 2, 0
|
||||
_080CA0D8: .4byte gTasks
|
||||
_080CA0DC: .4byte gUnknown_83F5844
|
||||
_080CA0E0:
|
||||
ldr r1, _080CA0FC @ =0x00001010
|
||||
movs r0, 0x52
|
||||
bl SetGpuReg
|
||||
ldr r1, _080CA100 @ =0x00003e41
|
||||
movs r0, 0x50
|
||||
bl SetGpuReg
|
||||
ldr r0, _080CA104 @ =sub_80CA108
|
||||
str r0, [r4]
|
||||
_080CA0F4:
|
||||
pop {r4}
|
||||
pop {r0}
|
||||
bx r0
|
||||
.align 2, 0
|
||||
_080CA0FC: .4byte 0x00001010
|
||||
_080CA100: .4byte 0x00003e41
|
||||
_080CA104: .4byte sub_80CA108
|
||||
thumb_func_end sub_80CA0A4
|
||||
|
||||
thumb_func_start sub_80CA108
|
||||
sub_80CA108: @ 80CA108
|
||||
push {r4,r5,lr}
|
||||
lsls r0, 24
|
||||
lsrs r0, 24
|
||||
ldr r2, _080CA13C @ =gTasks
|
||||
lsls r1, r0, 2
|
||||
adds r1, r0
|
||||
lsls r1, 3
|
||||
adds r5, r1, r2
|
||||
ldrh r0, [r5, 0xA]
|
||||
movs r1, 0x10
|
||||
subs r1, r0
|
||||
lsls r1, 16
|
||||
lsrs r4, r1, 16
|
||||
movs r0, 0x80
|
||||
lsls r0, 21
|
||||
adds r1, r0
|
||||
lsrs r1, 16
|
||||
movs r0, 0x52
|
||||
bl SetGpuReg
|
||||
cmp r4, 0
|
||||
beq _080CA140
|
||||
ldrh r0, [r5, 0xA]
|
||||
adds r0, 0x1
|
||||
strh r0, [r5, 0xA]
|
||||
b _080CA152
|
||||
.align 2, 0
|
||||
_080CA13C: .4byte gTasks
|
||||
_080CA140:
|
||||
ldr r0, _080CA158 @ =gUnknown_83F5824
|
||||
movs r1, 0
|
||||
movs r2, 0x20
|
||||
bl LoadPalette
|
||||
ldr r0, _080CA15C @ =gMain
|
||||
ldr r0, [r0, 0x8]
|
||||
bl SetMainCallback2
|
||||
_080CA152:
|
||||
pop {r4,r5}
|
||||
pop {r0}
|
||||
bx r0
|
||||
.align 2, 0
|
||||
_080CA158: .4byte gUnknown_83F5824
|
||||
_080CA15C: .4byte gMain
|
||||
thumb_func_end sub_80CA108
|
||||
|
||||
thumb_func_start sub_80CA160
|
||||
sub_80CA160: @ 80CA160
|
||||
push {r4,lr}
|
||||
adds r4, r0, 0
|
||||
lsls r4, 24
|
||||
lsrs r4, 24
|
||||
ldr r0, _080CA188 @ =sub_80CA190
|
||||
movs r1, 0
|
||||
bl CreateTask
|
||||
lsls r0, 24
|
||||
lsrs r0, 24
|
||||
ldr r2, _080CA18C @ =gTasks
|
||||
lsls r1, r0, 2
|
||||
adds r1, r0
|
||||
lsls r1, 3
|
||||
adds r1, r2
|
||||
strh r4, [r1, 0xE]
|
||||
pop {r4}
|
||||
pop {r0}
|
||||
bx r0
|
||||
.align 2, 0
|
||||
_080CA188: .4byte sub_80CA190
|
||||
_080CA18C: .4byte gTasks
|
||||
thumb_func_end sub_80CA160
|
||||
|
||||
thumb_func_start sub_80CA190
|
||||
sub_80CA190: @ 80CA190
|
||||
push {r4-r6,lr}
|
||||
sub sp, 0x4
|
||||
lsls r0, 24
|
||||
lsrs r5, r0, 24
|
||||
lsls r0, r5, 2
|
||||
adds r0, r5
|
||||
lsls r0, 3
|
||||
ldr r1, _080CA1B8 @ =gTasks+0x8
|
||||
adds r4, r0, r1
|
||||
movs r1, 0
|
||||
ldrsh r0, [r4, r1]
|
||||
cmp r0, 0x5
|
||||
bls _080CA1AC
|
||||
b _080CA2D2
|
||||
_080CA1AC:
|
||||
lsls r0, 2
|
||||
ldr r1, _080CA1BC @ =_080CA1C0
|
||||
adds r0, r1
|
||||
ldr r0, [r0]
|
||||
mov pc, r0
|
||||
.align 2, 0
|
||||
_080CA1B8: .4byte gTasks+0x8
|
||||
_080CA1BC: .4byte _080CA1C0
|
||||
.align 2, 0
|
||||
_080CA1C0:
|
||||
.4byte _080CA1D8
|
||||
.4byte _080CA208
|
||||
.4byte _080CA224
|
||||
.4byte _080CA24E
|
||||
.4byte _080CA262
|
||||
.4byte _080CA2A4
|
||||
_080CA1D8:
|
||||
ldr r0, _080CA204 @ =gMain
|
||||
ldr r2, [r0, 0xC]
|
||||
adds r0, r5, 0
|
||||
movs r1, 0x5
|
||||
bl SetWordTaskArg
|
||||
movs r0, 0
|
||||
bl SetVBlankCallback
|
||||
bl sub_80F8180
|
||||
ldrb r0, [r4, 0x6]
|
||||
bl sub_80F819C
|
||||
movs r0, 0x1
|
||||
negs r0, r0
|
||||
movs r1, 0x10
|
||||
movs r2, 0
|
||||
bl BlendPalettes
|
||||
b _080CA294
|
||||
.align 2, 0
|
||||
_080CA204: .4byte gMain
|
||||
_080CA208:
|
||||
bl sub_80F8258
|
||||
cmp r0, 0
|
||||
bne _080CA2D2
|
||||
ldrb r0, [r4, 0x6]
|
||||
bl sub_80F8318
|
||||
strh r0, [r4, 0x8]
|
||||
lsls r0, 24
|
||||
lsrs r0, 24
|
||||
movs r1, 0x3
|
||||
bl CopyWindowToVram
|
||||
b _080CA294
|
||||
_080CA224:
|
||||
bl IsDma3ManagerBusyWithBgCopy
|
||||
lsls r0, 24
|
||||
lsrs r0, 24
|
||||
cmp r0, 0
|
||||
bne _080CA2D2
|
||||
movs r1, 0x1
|
||||
negs r1, r1
|
||||
str r0, [sp]
|
||||
adds r0, r1, 0
|
||||
movs r2, 0x10
|
||||
movs r3, 0
|
||||
bl BeginNormalPaletteFade
|
||||
adds r0, r5, 0
|
||||
movs r1, 0x5
|
||||
bl GetWordTaskArg
|
||||
bl SetVBlankCallback
|
||||
b _080CA294
|
||||
_080CA24E:
|
||||
bl UpdatePaletteFade
|
||||
lsls r0, 24
|
||||
cmp r0, 0
|
||||
bne _080CA2D2
|
||||
ldrb r0, [r4, 0x6]
|
||||
bl sub_80F856C
|
||||
strh r0, [r4, 0x4]
|
||||
b _080CA294
|
||||
_080CA262:
|
||||
ldrh r0, [r4, 0x2]
|
||||
adds r0, 0x1
|
||||
strh r0, [r4, 0x2]
|
||||
lsls r0, 16
|
||||
asrs r0, 16
|
||||
movs r2, 0x4
|
||||
ldrsh r1, [r4, r2]
|
||||
cmp r0, r1
|
||||
bgt _080CA280
|
||||
ldr r0, _080CA29C @ =gMain
|
||||
ldrh r1, [r0, 0x2C]
|
||||
movs r0, 0x2
|
||||
ands r0, r1
|
||||
cmp r0, 0
|
||||
beq _080CA2D2
|
||||
_080CA280:
|
||||
movs r0, 0x1
|
||||
negs r0, r0
|
||||
movs r1, 0x2
|
||||
negs r1, r1
|
||||
ldr r2, _080CA2A0 @ =0x00007fff
|
||||
str r2, [sp]
|
||||
movs r2, 0
|
||||
movs r3, 0x10
|
||||
bl BeginNormalPaletteFade
|
||||
_080CA294:
|
||||
ldrh r0, [r4]
|
||||
adds r0, 0x1
|
||||
strh r0, [r4]
|
||||
b _080CA2D2
|
||||
.align 2, 0
|
||||
_080CA29C: .4byte gMain
|
||||
_080CA2A0: .4byte 0x00007fff
|
||||
_080CA2A4:
|
||||
bl UpdatePaletteFade
|
||||
lsls r0, 24
|
||||
cmp r0, 0
|
||||
bne _080CA2D2
|
||||
lsls r6, r5, 2
|
||||
movs r1, 0
|
||||
adds r0, r4, 0
|
||||
adds r0, 0x1E
|
||||
_080CA2B6:
|
||||
strh r1, [r0]
|
||||
subs r0, 0x2
|
||||
cmp r0, r4
|
||||
bge _080CA2B6
|
||||
movs r1, 0x8
|
||||
ldrsh r0, [r4, r1]
|
||||
bl sub_80F8234
|
||||
ldr r1, _080CA2DC @ =gTasks
|
||||
adds r0, r6, r5
|
||||
lsls r0, 3
|
||||
adds r0, r1
|
||||
ldr r1, _080CA2E0 @ =sub_80CA004
|
||||
str r1, [r0]
|
||||
_080CA2D2:
|
||||
add sp, 0x4
|
||||
pop {r4-r6}
|
||||
pop {r0}
|
||||
bx r0
|
||||
.align 2, 0
|
||||
_080CA2DC: .4byte gTasks
|
||||
_080CA2E0: .4byte sub_80CA004
|
||||
thumb_func_end sub_80CA190
|
||||
|
||||
.align 2, 0 @ Don't pad with nop.
|
||||
@@ -1,697 +0,0 @@
|
||||
.include "constants/gba_constants.inc"
|
||||
.include "asm/macros.inc"
|
||||
|
||||
.syntax unified
|
||||
|
||||
.text
|
||||
|
||||
arm_func_start IntrSIO32
|
||||
IntrSIO32: @ 81DFC50
|
||||
mov r12, sp
|
||||
stmdb sp!, {r11,r12,lr,pc}
|
||||
ldr r3, _081DFCB0 @ =gSTWIStatus
|
||||
ldr r0, [r3]
|
||||
ldr r2, [r0]
|
||||
sub r11, r12, 0x4
|
||||
cmp r2, 0xA
|
||||
bne _081DFC8C
|
||||
ldr r0, [r0, 0x20]
|
||||
cmp r0, 0
|
||||
ldmdbeq r11, {r11,sp,lr}
|
||||
bxeq lr
|
||||
bl Callback_Dummy_ID
|
||||
ldmdb r11, {r11,sp,lr}
|
||||
bx lr
|
||||
_081DFC8C:
|
||||
ldrb r3, [r0, 0x14]
|
||||
cmp r3, 0x1
|
||||
bne _081DFCA4
|
||||
bl sio32intr_clock_master
|
||||
ldmdb r11, {r11,sp,lr}
|
||||
bx lr
|
||||
_081DFCA4:
|
||||
bl sio32intr_clock_slave
|
||||
ldmdb r11, {r11,sp,lr}
|
||||
bx lr
|
||||
.align 2, 0
|
||||
_081DFCB0: .4byte gSTWIStatus
|
||||
arm_func_end IntrSIO32
|
||||
|
||||
arm_func_start sio32intr_clock_master
|
||||
sio32intr_clock_master: @ 81DFCB4
|
||||
mov r12, sp
|
||||
stmdb sp!, {r4-r6,r11,r12,lr,pc}
|
||||
mov r0, 0x50
|
||||
sub r11, r12, 0x4
|
||||
bl STWI_set_timer_in_RAM
|
||||
mov r4, 0x120
|
||||
ldr r2, _081DFF28 @ =gSTWIStatus
|
||||
add r4, r4, 0x4000000
|
||||
ldr lr, [r4]
|
||||
ldr r12, [r2]
|
||||
ldr r3, [r12]
|
||||
mov r6, r2
|
||||
cmp r3, 0
|
||||
bne _081DFD34
|
||||
cmp lr, 0x80000000
|
||||
bne _081DFDB4
|
||||
ldrb r2, [r12, 0x5]
|
||||
ldrb r3, [r12, 0x4]
|
||||
cmp r2, r3
|
||||
bhi _081DFD24
|
||||
ldr r3, [r12, 0x24]
|
||||
mov r1, r2
|
||||
ldr r2, [r3, r1, lsl 2]
|
||||
str r2, [r4]
|
||||
ldrb r3, [r12, 0x5]
|
||||
add r3, r3, 0x1
|
||||
strb r3, [r12, 0x5]
|
||||
b _081DFE10
|
||||
_081DFD24:
|
||||
mov r3, 0x1
|
||||
str r3, [r12]
|
||||
str lr, [r4]
|
||||
b _081DFE10
|
||||
_081DFD34:
|
||||
ldr r3, [r12]
|
||||
cmp r3, 0x1
|
||||
bne _081DFDC4
|
||||
mov r3, 0x99000000
|
||||
add r3, r3, 0x660000
|
||||
mov r5, 0x80000000
|
||||
and r2, lr, r5, asr 15
|
||||
cmp r2, r3
|
||||
bne _081DFDB4
|
||||
mov r3, 0
|
||||
strb r3, [r12, 0x8]
|
||||
ldr r1, [r6]
|
||||
ldrb r0, [r1, 0x8]
|
||||
ldr r2, [r1, 0x28]
|
||||
str lr, [r2, r0, lsl 2]
|
||||
ldrb r3, [r1, 0x8]
|
||||
add r3, r3, 0x1
|
||||
strb r3, [r1, 0x8]
|
||||
ldr r2, [r6]
|
||||
strb lr, [r2, 0x9]
|
||||
ldr r3, [r6]
|
||||
mov r2, lr, lsr 8
|
||||
strb r2, [r3, 0x7]
|
||||
ldr r1, [r6]
|
||||
ldrb r2, [r1, 0x7]
|
||||
ldrb r3, [r1, 0x8]
|
||||
cmp r2, r3
|
||||
bcc _081DFDFC
|
||||
mov r3, 0x2
|
||||
str r3, [r1]
|
||||
str r5, [r4]
|
||||
b _081DFE10
|
||||
_081DFDB4:
|
||||
bl STWI_stop_timer_in_RAM
|
||||
mov r0, 0x82
|
||||
bl STWI_set_timer_in_RAM
|
||||
b _081DFF3C
|
||||
_081DFDC4:
|
||||
ldr r3, [r12]
|
||||
cmp r3, 0x2
|
||||
bne _081DFE10
|
||||
ldrb r1, [r12, 0x8]
|
||||
ldr r2, [r12, 0x28]
|
||||
str lr, [r2, r1, lsl 2]
|
||||
ldrb r3, [r12, 0x8]
|
||||
add r3, r3, 0x1
|
||||
strb r3, [r12, 0x8]
|
||||
ldr r1, [r6]
|
||||
ldrb r2, [r1, 0x7]
|
||||
ldrb r3, [r1, 0x8]
|
||||
cmp r2, r3
|
||||
bcs _081DFE08
|
||||
_081DFDFC:
|
||||
mov r3, 0x3
|
||||
str r3, [r1]
|
||||
b _081DFE10
|
||||
_081DFE08:
|
||||
mov r3, 0x80000000
|
||||
str r3, [r4]
|
||||
_081DFE10:
|
||||
mov r0, 0x1
|
||||
bl handshake_wait
|
||||
mov r0, r0, lsl 16
|
||||
cmp r0, 0x10000
|
||||
beq _081DFF3C
|
||||
mov r4, 0x128
|
||||
add r4, r4, 0x4000000
|
||||
mov r5, 0x5000
|
||||
add r3, r5, 0xB
|
||||
strh r3, [r4]
|
||||
mov r0, 0
|
||||
bl handshake_wait
|
||||
mov r0, r0, lsl 16
|
||||
cmp r0, 0x10000
|
||||
beq _081DFF3C
|
||||
bl STWI_stop_timer_in_RAM
|
||||
ldr r1, [r6]
|
||||
ldr r0, [r1]
|
||||
cmp r0, 0x3
|
||||
bne _081DFF2C
|
||||
ldrb r3, [r1, 0x9]
|
||||
cmp r3, 0xA5
|
||||
cmpne r3, 0xA7
|
||||
beq _081DFE84
|
||||
and r3, r3, 0xFF
|
||||
cmp r3, 0xB5
|
||||
beq _081DFE84
|
||||
cmp r3, 0xB7
|
||||
bne _081DFECC
|
||||
_081DFE84:
|
||||
mov r1, 0x120
|
||||
add r1, r1, 0x4000000
|
||||
mov r12, 0x128
|
||||
add r12, r12, 0x4000000
|
||||
ldr r0, [r6]
|
||||
mov r3, 0
|
||||
strb r3, [r0, 0x14]
|
||||
mov r2, 0x80000000
|
||||
str r2, [r1]
|
||||
add r3, r3, 0x5000
|
||||
add r2, r3, 0x2
|
||||
strh r2, [r12]
|
||||
add r3, r3, 0x82
|
||||
strh r3, [r12]
|
||||
ldr r2, [r6]
|
||||
mov r3, 0x5
|
||||
str r3, [r2]
|
||||
b _081DFEFC
|
||||
_081DFECC:
|
||||
cmp r3, 0xEE
|
||||
bne _081DFEEC
|
||||
add r3, r5, 0x3
|
||||
strh r3, [r4]
|
||||
mov r2, 0x4
|
||||
str r2, [r1]
|
||||
strh r0, [r1, 0x12]
|
||||
b _081DFEFC
|
||||
_081DFEEC:
|
||||
add r3, r5, 0x3
|
||||
strh r3, [r4]
|
||||
mov r2, 0x4
|
||||
str r2, [r1]
|
||||
_081DFEFC:
|
||||
ldr r2, [r6]
|
||||
mov r3, 0
|
||||
strb r3, [r2, 0x2C]
|
||||
ldr r0, [r6]
|
||||
ldr r2, [r0, 0x18]
|
||||
cmp r2, r3
|
||||
beq _081DFF3C
|
||||
ldrh r1, [r0, 0x12]
|
||||
ldrb r0, [r0, 0x6]
|
||||
bl Callback_Dummy_M
|
||||
b _081DFF3C
|
||||
.align 2, 0
|
||||
_081DFF28: .4byte gSTWIStatus
|
||||
_081DFF2C:
|
||||
add r3, r5, 0x3
|
||||
strh r3, [r4]
|
||||
add r2, r5, 0x83
|
||||
strh r2, [r4]
|
||||
_081DFF3C:
|
||||
ldmdb r11, {r4-r6,r11,sp,lr}
|
||||
bx lr
|
||||
arm_func_end sio32intr_clock_master
|
||||
|
||||
arm_func_start sio32intr_clock_slave
|
||||
sio32intr_clock_slave: @ 81DFF44
|
||||
mov r12, sp
|
||||
stmdb sp!, {r4-r6,r11,r12,lr,pc}
|
||||
ldr r4, _081E02F0 @ =gSTWIStatus
|
||||
mov r0, 0x64
|
||||
ldr r3, [r4]
|
||||
mov r6, 0
|
||||
strb r6, [r3, 0x10]
|
||||
sub r11, r12, 0x4
|
||||
bl STWI_set_timer_in_RAM
|
||||
mov r0, r6
|
||||
bl handshake_wait
|
||||
mov r0, r0, lsl 16
|
||||
cmp r0, 0x10000
|
||||
mov r5, r4
|
||||
beq _081E0348
|
||||
mov r3, 0x128
|
||||
add r3, r3, 0x4000000
|
||||
mov r2, 0x5000
|
||||
add r2, r2, 0xA
|
||||
strh r2, [r3]
|
||||
mov lr, 0x120
|
||||
ldr r0, [r5]
|
||||
add lr, lr, 0x4000000
|
||||
ldr r12, [lr]
|
||||
ldr r3, [r0]
|
||||
cmp r3, 0x5
|
||||
bne _081E0074
|
||||
ldr r3, [r0, 0x28]
|
||||
mov r4, 0x1
|
||||
mov r0, 0x99000000
|
||||
str r12, [r3]
|
||||
add r0, r0, 0x660000
|
||||
ldr r2, [r5]
|
||||
mov r3, r0, lsr 16
|
||||
strb r4, [r2, 0x5]
|
||||
cmp r3, r12, lsr 16
|
||||
bne _081E01C0
|
||||
ldr r3, [r5]
|
||||
mov r2, r12, lsr 8
|
||||
strb r2, [r3, 0x4]
|
||||
ldr r2, [r5]
|
||||
strb r12, [r2, 0x6]
|
||||
ldr r1, [r5]
|
||||
ldrb r3, [r1, 0x4]
|
||||
cmp r3, r6
|
||||
bne _081E0058
|
||||
ldrb r2, [r1, 0x6]
|
||||
sub r3, r2, 0x27
|
||||
cmp r2, 0x36
|
||||
cmpne r3, 0x2
|
||||
bhi _081E002C
|
||||
add r3, r2, 0x80
|
||||
strb r3, [r1, 0x9]
|
||||
ldr r2, [r5]
|
||||
ldrb r3, [r2, 0x9]
|
||||
ldr r1, [r2, 0x24]
|
||||
add r3, r3, r0
|
||||
b _081E00DC
|
||||
_081E002C:
|
||||
ldr r2, [r1, 0x24]
|
||||
ldr r3, _081E02F4 @ =0x996601ee
|
||||
str r3, [r2]
|
||||
ldr r2, [r5]
|
||||
ldrb r3, [r2, 0x6]
|
||||
sub r3, r3, 0x10
|
||||
cmp r3, 0x2D
|
||||
bhi _081E0114
|
||||
ldr r3, [r2, 0x24]
|
||||
str r4, [r3, 0x4]
|
||||
b _081E0120
|
||||
_081E0058:
|
||||
mov r3, 0x80000000
|
||||
str r3, [lr]
|
||||
strb r4, [r1, 0x5]
|
||||
ldr r2, [r5]
|
||||
add r3, r3, 0x80000006
|
||||
str r3, [r2]
|
||||
b _081E01D0
|
||||
_081E0074:
|
||||
ldr r3, [r0]
|
||||
cmp r3, 0x6
|
||||
bne _081E0174
|
||||
ldrb r1, [r0, 0x5]
|
||||
ldr r2, [r0, 0x28]
|
||||
str r12, [r2, r1, lsl 2]
|
||||
ldrb r3, [r0, 0x5]
|
||||
add r3, r3, 0x1
|
||||
strb r3, [r0, 0x5]
|
||||
ldr r1, [r5]
|
||||
ldrb r2, [r1, 0x4]
|
||||
ldrb r3, [r1, 0x5]
|
||||
cmp r2, r3
|
||||
bcs _081E0168
|
||||
ldrb r2, [r1, 0x6]
|
||||
sub r3, r2, 0x28
|
||||
cmp r2, 0x36
|
||||
cmpne r3, 0x1
|
||||
bhi _081E00EC
|
||||
add r3, r2, 0x80
|
||||
strb r3, [r1, 0x9]
|
||||
ldr r2, [r5]
|
||||
ldrb r3, [r2, 0x9]
|
||||
ldr r1, [r2, 0x24]
|
||||
orr r3, r3, 0x99000000
|
||||
orr r3, r3, 0x660000
|
||||
_081E00DC:
|
||||
str r3, [r1]
|
||||
ldr r2, [r5]
|
||||
strb r6, [r2, 0x7]
|
||||
b _081E0138
|
||||
_081E00EC:
|
||||
ldr r2, [r1, 0x24]
|
||||
ldr r3, _081E02F4 @ =0x996601ee
|
||||
str r3, [r2]
|
||||
ldr r2, [r5]
|
||||
ldrb r3, [r2, 0x6]
|
||||
sub r3, r3, 0x10
|
||||
cmp r3, 0x2D
|
||||
ldrls r2, [r2, 0x24]
|
||||
movls r3, 0x1
|
||||
bls _081E011C
|
||||
_081E0114:
|
||||
ldr r2, [r2, 0x24]
|
||||
mov r3, 0x2
|
||||
_081E011C:
|
||||
str r3, [r2, 0x4]
|
||||
_081E0120:
|
||||
ldr r2, [r5]
|
||||
mov r3, 0x1
|
||||
strb r3, [r2, 0x7]
|
||||
ldr r1, [r5]
|
||||
add r3, r3, 0x2
|
||||
strh r3, [r1, 0x12]
|
||||
_081E0138:
|
||||
ldr r0, [r5]
|
||||
ldr r2, [r0, 0x24]
|
||||
mov r3, 0x120
|
||||
ldr r1, [r2]
|
||||
add r3, r3, 0x4000000
|
||||
str r1, [r3]
|
||||
mov r2, 0x1
|
||||
strb r2, [r0, 0x8]
|
||||
ldr r1, [r5]
|
||||
mov r3, 0x7
|
||||
str r3, [r1]
|
||||
b _081E01D0
|
||||
_081E0168:
|
||||
mov r3, 0x80000000
|
||||
str r3, [lr]
|
||||
b _081E01D0
|
||||
_081E0174:
|
||||
ldr r3, [r0]
|
||||
cmp r3, 0x7
|
||||
bne _081E01D0
|
||||
cmp r12, 0x80000000
|
||||
bne _081E01C0
|
||||
ldrb r2, [r0, 0x7]
|
||||
ldrb r3, [r0, 0x8]
|
||||
cmp r2, r3
|
||||
movcc r3, 0x8
|
||||
strcc r3, [r0]
|
||||
bcc _081E01D0
|
||||
ldrb r1, [r0, 0x8]
|
||||
ldr r3, [r0, 0x24]
|
||||
ldr r2, [r3, r1, lsl 2]
|
||||
str r2, [lr]
|
||||
ldrb r3, [r0, 0x8]
|
||||
add r3, r3, 0x1
|
||||
strb r3, [r0, 0x8]
|
||||
b _081E01D0
|
||||
_081E01C0:
|
||||
bl STWI_stop_timer_in_RAM
|
||||
mov r0, 0x64
|
||||
bl STWI_set_timer_in_RAM
|
||||
b _081E0348
|
||||
_081E01D0:
|
||||
mov r0, 0x1
|
||||
bl handshake_wait
|
||||
mov r0, r0, lsl 16
|
||||
cmp r0, 0x10000
|
||||
beq _081E0348
|
||||
mov r6, r5
|
||||
ldr r3, [r6]
|
||||
ldr r2, [r3]
|
||||
cmp r2, 0x8
|
||||
bne _081E0298
|
||||
mov r4, 0x128
|
||||
add r4, r4, 0x4000000
|
||||
mov r3, 0x5000
|
||||
add r3, r3, 0x2
|
||||
strh r3, [r4]
|
||||
bl STWI_stop_timer_in_RAM
|
||||
ldr r0, [r6]
|
||||
ldrh r3, [r0, 0x12]
|
||||
cmp r3, 0x3
|
||||
bne _081E0244
|
||||
bl STWI_init_slave
|
||||
ldr r3, [r6]
|
||||
ldr r1, [r3, 0x1C]
|
||||
cmp r1, 0
|
||||
beq _081E0348
|
||||
mov r0, 0x1EC
|
||||
add r0, r0, 0x2
|
||||
bl Callback_Dummy_S
|
||||
b _081E0348
|
||||
_081E0244:
|
||||
mov r3, 0x120
|
||||
add r3, r3, 0x4000000
|
||||
mov r1, 0
|
||||
str r1, [r3]
|
||||
mov r2, 0x5000
|
||||
strh r1, [r4]
|
||||
add r2, r2, 0x3
|
||||
strh r2, [r4]
|
||||
mov r3, 0x1
|
||||
strb r3, [r0, 0x14]
|
||||
ldr r0, [r5]
|
||||
ldr r2, [r0, 0x1C]
|
||||
str r1, [r0]
|
||||
cmp r2, r1
|
||||
beq _081E0348
|
||||
ldrb r3, [r0, 0x4]
|
||||
ldrb r0, [r0, 0x6]
|
||||
mov r1, r2
|
||||
orr r0, r0, r3, lsl 8
|
||||
bl Callback_Dummy_S
|
||||
b _081E0348
|
||||
_081E0298:
|
||||
mov r3, 0x208
|
||||
add r3, r3, 0x4000000
|
||||
mov r2, 0
|
||||
strh r2, [r3]
|
||||
mov r1, 0x100
|
||||
add r2, r1, 0x4000002
|
||||
ldrh r3, [r2]
|
||||
tst r3, 0x80
|
||||
beq _081E031C
|
||||
ldrh r3, [r2]
|
||||
tst r3, 0x3
|
||||
bne _081E02F8
|
||||
mov r2, 0xFF00
|
||||
add r1, r1, 0x4000000
|
||||
ldrh r3, [r1]
|
||||
add r2, r2, 0x9B
|
||||
cmp r3, r2
|
||||
bls _081E031C
|
||||
_081E02E0:
|
||||
ldrh r3, [r1]
|
||||
cmp r3, r2
|
||||
bhi _081E02E0
|
||||
b _081E031C
|
||||
.align 2, 0
|
||||
_081E02F0: .4byte gSTWIStatus
|
||||
_081E02F4: .4byte 0x996601ee
|
||||
_081E02F8:
|
||||
mov r2, 0xFF00
|
||||
add r1, r1, 0x4000000
|
||||
ldrh r3, [r1]
|
||||
add r2, r2, 0xFE
|
||||
cmp r3, r2
|
||||
bls _081E031C
|
||||
_081E0310:
|
||||
ldrh r3, [r1]
|
||||
cmp r3, r2
|
||||
bhi _081E0310
|
||||
_081E031C:
|
||||
mov r1, 0x128
|
||||
add r1, r1, 0x4000000
|
||||
mov r0, 0x208
|
||||
add r0, r0, 0x4000000
|
||||
mov r3, 0x5000
|
||||
add r2, r3, 0x2
|
||||
strh r2, [r1]
|
||||
add r3, r3, 0x82
|
||||
strh r3, [r1]
|
||||
mov r2, 0x1
|
||||
strh r2, [r0]
|
||||
_081E0348:
|
||||
ldmdb r11, {r4-r6,r11,sp,lr}
|
||||
bx lr
|
||||
arm_func_end sio32intr_clock_slave
|
||||
|
||||
arm_func_start handshake_wait
|
||||
handshake_wait: @ 81E0350
|
||||
mov r12, sp
|
||||
stmdb sp!, {r11,r12,lr,pc}
|
||||
mov r1, 0x128
|
||||
add r1, r1, 0x4000000
|
||||
mov r0, r0, lsl 16
|
||||
ldr r2, _081E03B4 @ =gSTWIStatus
|
||||
sub r11, r12, 0x4
|
||||
mov lr, r0, lsr 14
|
||||
ldr r12, [r2]
|
||||
_081E0374:
|
||||
ldrb r3, [r12, 0x10]
|
||||
and r0, r3, 0xFF
|
||||
cmp r0, 0x1
|
||||
beq _081E03A0
|
||||
ldrh r3, [r1]
|
||||
and r3, r3, 0x4
|
||||
cmp r3, lr
|
||||
bne _081E0374
|
||||
mov r0, 0
|
||||
ldmdb r11, {r11,sp,lr}
|
||||
bx lr
|
||||
_081E03A0:
|
||||
ldr r2, [r2]
|
||||
mov r3, 0
|
||||
strb r3, [r2, 0x10]
|
||||
ldmdb r11, {r11,sp,lr}
|
||||
bx lr
|
||||
.align 2, 0
|
||||
_081E03B4: .4byte gSTWIStatus
|
||||
arm_func_end handshake_wait
|
||||
|
||||
arm_func_start STWI_set_timer_in_RAM
|
||||
STWI_set_timer_in_RAM: @ 81E03B8
|
||||
mov r12, sp
|
||||
stmdb sp!, {r4,r5,r11,r12,lr,pc}
|
||||
mov r1, 0x208
|
||||
add r1, r1, 0x4000000
|
||||
mov r3, 0
|
||||
sub r11, r12, 0x4
|
||||
ldr r12, _081E0470 @ =gSTWIStatus
|
||||
and lr, r0, 0xFF
|
||||
ldr r2, [r12]
|
||||
cmp lr, 0x50
|
||||
ldrb r0, [r2, 0xA]
|
||||
mov r4, r12
|
||||
mov r2, lr
|
||||
strh r3, [r1]
|
||||
mov r0, r0, lsl 2
|
||||
add r3, r3, 0x100
|
||||
add r1, r3, 0x4000000
|
||||
add r3, r3, 0x4000002
|
||||
add r5, r0, r3
|
||||
beq _081E0440
|
||||
bgt _081E0418
|
||||
cmp lr, 0x32
|
||||
beq _081E042C
|
||||
b _081E048C
|
||||
_081E0418:
|
||||
cmp r2, 0x64
|
||||
beq _081E0458
|
||||
cmp r2, 0x82
|
||||
beq _081E0474
|
||||
b _081E048C
|
||||
_081E042C:
|
||||
mvn r3, 0x334
|
||||
strh r3, [r0, r1]
|
||||
ldr r2, [r4]
|
||||
mov r3, 0x1
|
||||
b _081E0488
|
||||
_081E0440:
|
||||
mov r3, 0xAE000000
|
||||
mov r3, r3, asr 20
|
||||
strh r3, [r0, r1]
|
||||
ldr r2, [r4]
|
||||
mov r3, 0x2
|
||||
b _081E0488
|
||||
_081E0458:
|
||||
mvn r3, 0x660
|
||||
sub r3, r3, 0x9
|
||||
strh r3, [r0, r1]
|
||||
ldr r2, [r4]
|
||||
mov r3, 0x3
|
||||
b _081E0488
|
||||
.align 2, 0
|
||||
_081E0470: .4byte gSTWIStatus
|
||||
_081E0474:
|
||||
mvn r3, 0x850
|
||||
sub r3, r3, 0x2
|
||||
strh r3, [r0, r1]
|
||||
ldr r2, [r4]
|
||||
mov r3, 0x4
|
||||
_081E0488:
|
||||
str r3, [r2, 0xC]
|
||||
_081E048C:
|
||||
mov r12, 0x200
|
||||
add r12, r12, 0x4000002
|
||||
mov r3, 0xC3
|
||||
strh r3, [r5]
|
||||
mov r1, 0x208
|
||||
ldr r2, [r4]
|
||||
add r1, r1, 0x4000000
|
||||
ldrb r0, [r2, 0xA]
|
||||
sub r3, r3, 0xBB
|
||||
mov r3, r3, lsl r0
|
||||
strh r3, [r12]
|
||||
mov r2, 0x1
|
||||
strh r2, [r1]
|
||||
ldmdb r11, {r4,r5,r11,sp,lr}
|
||||
bx lr
|
||||
arm_func_end STWI_set_timer_in_RAM
|
||||
|
||||
arm_func_start STWI_stop_timer_in_RAM
|
||||
STWI_stop_timer_in_RAM: @ 81E04C8
|
||||
mov r12, sp
|
||||
stmdb sp!, {r11,r12,lr,pc}
|
||||
mov r1, 0x100
|
||||
ldr lr, _081E0514 @ =gSTWIStatus
|
||||
add r0, r1, 0x4000000
|
||||
ldr r2, [lr]
|
||||
sub r11, r12, 0x4
|
||||
ldrb r3, [r2, 0xA]
|
||||
mov r12, 0
|
||||
str r12, [r2, 0xC]
|
||||
mov r3, r3, lsl 2
|
||||
strh r12, [r3, r0]
|
||||
ldr r2, [lr]
|
||||
ldrb r3, [r2, 0xA]
|
||||
add r1, r1, 0x4000002
|
||||
mov r3, r3, lsl 2
|
||||
strh r12, [r3, r1]
|
||||
ldmdb r11, {r11,sp,lr}
|
||||
bx lr
|
||||
.align 2, 0
|
||||
_081E0514: .4byte gSTWIStatus
|
||||
arm_func_end STWI_stop_timer_in_RAM
|
||||
|
||||
arm_func_start STWI_init_slave
|
||||
STWI_init_slave: @ 81E0518
|
||||
mov r12, sp
|
||||
stmdb sp!, {r11,r12,lr,pc}
|
||||
ldr r0, _081E05A0 @ =gSTWIStatus
|
||||
ldr r2, [r0]
|
||||
mov r3, 0x5
|
||||
str r3, [r2]
|
||||
mov r1, 0
|
||||
strb r1, [r2, 0x14]
|
||||
ldr r3, [r0]
|
||||
strb r1, [r3, 0x4]
|
||||
ldr r2, [r0]
|
||||
strb r1, [r2, 0x5]
|
||||
ldr r3, [r0]
|
||||
strb r1, [r3, 0x6]
|
||||
ldr r2, [r0]
|
||||
strb r1, [r2, 0x7]
|
||||
ldr r3, [r0]
|
||||
strb r1, [r3, 0x8]
|
||||
ldr r2, [r0]
|
||||
strb r1, [r2, 0x9]
|
||||
ldr r3, [r0]
|
||||
str r1, [r3, 0xC]
|
||||
sub r11, r12, 0x4
|
||||
strb r1, [r3, 0x10]
|
||||
mov r2, 0x128
|
||||
ldr r12, [r0]
|
||||
add r2, r2, 0x4000000
|
||||
strh r1, [r12, 0x12]
|
||||
mov r3, 0x5000
|
||||
strb r1, [r12, 0x15]
|
||||
add r3, r3, 0x82
|
||||
strh r3, [r2]
|
||||
ldmdb r11, {r11,sp,lr}
|
||||
bx lr
|
||||
.align 2, 0
|
||||
_081E05A0: .4byte gSTWIStatus
|
||||
arm_func_end STWI_init_slave
|
||||
|
||||
arm_func_start Callback_Dummy_M
|
||||
Callback_Dummy_M: @ 81E05A4
|
||||
bx r2
|
||||
arm_func_end Callback_Dummy_M
|
||||
|
||||
arm_func_start Callback_Dummy_S
|
||||
Callback_Dummy_S: @ 81E05A8
|
||||
bx r1
|
||||
arm_func_end Callback_Dummy_S
|
||||
|
||||
arm_func_start Callback_Dummy_ID
|
||||
Callback_Dummy_ID: @ 81E05AC
|
||||
bx r0
|
||||
arm_func_end Callback_Dummy_ID
|
||||
@@ -5,6 +5,7 @@
|
||||
.include "asm/macros/ec.inc"
|
||||
.include "asm/macros/map.inc"
|
||||
.include "asm/macros/m4a.inc"
|
||||
.include "asm/macros/trainer_tower.inc"
|
||||
|
||||
.macro region_map_location x, y, width, height, name
|
||||
.byte \x
|
||||
|
||||
@@ -1629,7 +1629,7 @@
|
||||
|
||||
@ Jumps to dest if the Quest Log is currently showing playback scenes (dest is usually a release/end)
|
||||
.macro goto_if_questlog dest:req
|
||||
special Special_GetQuestLogState
|
||||
special GetQuestLogState
|
||||
compare VAR_RESULT, 2
|
||||
goto_if_eq \dest
|
||||
.endm
|
||||
|
||||
+8
-2
@@ -14,9 +14,10 @@
|
||||
.4byte \address
|
||||
.endm
|
||||
|
||||
.macro object_event index:req, gfx:req, x:req, y:req, elevation:req, movement_type:req, x_radius:req, y_radius:req, trainer_type:req, sight_radius_tree_etc:req, script:req, event_flag:req
|
||||
.macro object_event index:req, gfx:req, in_connection:req x:req, y:req, elevation:req, movement_type:req, x_radius:req, y_radius:req, trainer_type:req, sight_radius_tree_etc:req, script:req, event_flag:req
|
||||
.byte \index
|
||||
.2byte \gfx
|
||||
.byte \gfx
|
||||
.byte \in_connection
|
||||
.byte 0
|
||||
.2byte \x, \y
|
||||
.byte \elevation, \movement_type, ((\y_radius << 4) | \x_radius), 0
|
||||
@@ -88,3 +89,8 @@
|
||||
map \map
|
||||
.space 2
|
||||
.endm
|
||||
|
||||
.macro map_header_flags allow_cycling:req, allow_escaping:req, allow_running:req, show_map_name:req
|
||||
.byte \allow_cycling
|
||||
.byte ((\show_map_name & 1) << 2) | ((\allow_running & 1) << 1) | ((\allow_escaping & 1) << 0)
|
||||
.endm
|
||||
|
||||
@@ -109,7 +109,7 @@
|
||||
create_movement emote_x
|
||||
create_movement emote_double_exclamation_mark
|
||||
create_movement emote_smile
|
||||
create_movement step_67
|
||||
create_movement reveal_trainer
|
||||
create_movement rock_smash_break
|
||||
create_movement cut_tree
|
||||
|
||||
|
||||
@@ -0,0 +1,133 @@
|
||||
@ Sets NPC gfx and the floor layout depending on current challenge and floor
|
||||
.macro ttower_initfloor
|
||||
setvar VAR_0x8004, TRAINER_TOWER_FUNC_INIT_FLOOR
|
||||
special CallTrainerTowerFunc
|
||||
.endm
|
||||
|
||||
@ Buffers the opponents battle speech to gStringVar4. speech is any TRAINER_TOWER_TEXT_*.
|
||||
.macro ttower_getspeech speech:req, trainer=0xFF
|
||||
setvar VAR_0x8004, TRAINER_TOWER_FUNC_GET_SPEECH
|
||||
setvar VAR_0x8005, \speech
|
||||
.if \trainer >= VARS_START && \trainer != 0xFF
|
||||
copyvar VAR_0x8006, \trainer
|
||||
.elseif \trainer != 0xFF
|
||||
setvar VAR_0x8006, \trainer
|
||||
.endif
|
||||
special CallTrainerTowerFunc
|
||||
.endm
|
||||
|
||||
@ Starts a trainer tower battle. VAR_0x8005 is unused
|
||||
.macro ttower_dobattle
|
||||
setvar VAR_0x8004, TRAINER_TOWER_FUNC_DO_BATTLE
|
||||
setvar VAR_0x8005, 0
|
||||
special CallTrainerTowerFunc
|
||||
.endm
|
||||
|
||||
@ Returns the current challenge type (CHALLENGE_TYPE_*). Mixed challenges use different types for each floor. If VAR_0x8005 is != FALSE, does nothing
|
||||
.macro ttower_getchallengetype
|
||||
setvar VAR_0x8004, TRAINER_TOWER_FUNC_GET_CHALLENGE_TYPE
|
||||
setvar VAR_0x8005, FALSE
|
||||
special CallTrainerTowerFunc
|
||||
.endm
|
||||
|
||||
@ Adds 1 to the number of floors cleared (all trainers on floor defeated)
|
||||
.macro ttower_clearedfloor
|
||||
setvar VAR_0x8004, TRAINER_TOWER_FUNC_CLEARED_FLOOR
|
||||
special CallTrainerTowerFunc
|
||||
.endm
|
||||
|
||||
@ TRUE if the trainers on this floor were already beaten, FALSE otherwise
|
||||
.macro ttower_isfloorcleared
|
||||
setvar VAR_0x8004, TRAINER_TOWER_FUNC_GET_FLOOR_CLEARED
|
||||
special CallTrainerTowerFunc
|
||||
.endm
|
||||
|
||||
@ Initializes the Trainer Tower challenge and starts the timer
|
||||
.macro ttower_startchallenge
|
||||
setvar VAR_0x8004, TRAINER_TOWER_FUNC_START_CHALLENGE
|
||||
special CallTrainerTowerFunc
|
||||
.endm
|
||||
|
||||
@ 0 if not spoken to yet, 1 if spoken to but not received prize, 2 if received prize
|
||||
.macro ttower_getownerstate
|
||||
setvar VAR_0x8004, TRAINER_TOWER_FUNC_GET_OWNER_STATE
|
||||
special CallTrainerTowerFunc
|
||||
.endm
|
||||
|
||||
@ Tries to give prize. 0 if given successfully, 1 if no room for prize, 2 if giving prize should be skipped
|
||||
.macro ttower_giveprize
|
||||
setvar VAR_0x8004, TRAINER_TOWER_FUNC_GIVE_PRIZE
|
||||
special CallTrainerTowerFunc
|
||||
.endm
|
||||
|
||||
@ Checks the final challenge time. 0 if new record, 1 if not, 2 if time has already been checked
|
||||
.macro ttower_checkfinaltime
|
||||
setvar VAR_0x8004, TRAINER_TOWER_FUNC_CHECK_FINAL_TIME
|
||||
special CallTrainerTowerFunc
|
||||
.endm
|
||||
|
||||
@ Resumes the challenge timer (or starts, if the timer is 0)
|
||||
.macro ttower_resumetimer
|
||||
setvar VAR_0x8004, TRAINER_TOWER_FUNC_RESUME_TIMER
|
||||
special CallTrainerTowerFunc
|
||||
.endm
|
||||
|
||||
@ Sets that the player lost the challenge
|
||||
.macro ttower_setlost
|
||||
setvar VAR_0x8004, TRAINER_TOWER_FUNC_SET_LOST
|
||||
special CallTrainerTowerFunc
|
||||
.endm
|
||||
|
||||
@ Returns the status of the current Trainer Tower challenge (CHALLENGE_STATUS_*)
|
||||
.macro ttower_getchallengestatus
|
||||
setvar VAR_0x8004, TRAINER_TOWER_FUNC_GET_CHALLENGE_STATUS
|
||||
special CallTrainerTowerFunc
|
||||
.endm
|
||||
|
||||
@ Buffers the current challenge time (min in gStringVar1, sec in gStringVar2, fraction sec in gStringVar3)
|
||||
.macro ttower_gettime
|
||||
setvar VAR_0x8004, TRAINER_TOWER_FUNC_GET_TIME
|
||||
special CallTrainerTowerFunc
|
||||
.endm
|
||||
|
||||
@ Unused. Displays Trainer Tower results. Handled by ShowBattleRecords instead
|
||||
.macro ttower_showresults
|
||||
setvar VAR_0x8004, TRAINER_TOWER_FUNC_SHOW_RESULTS
|
||||
special CallTrainerTowerFunc
|
||||
.endm
|
||||
|
||||
@ Unused. See above
|
||||
.macro ttower_closeresults
|
||||
setvar VAR_0x8004, TRAINER_TOWER_FUNC_CLOSE_RESULTS
|
||||
special CallTrainerTowerFunc
|
||||
.endm
|
||||
|
||||
@ Returns the eligibility of the players party for a double battle (using GetMonsStateToDoubles)
|
||||
.macro ttower_checkdoubles
|
||||
setvar VAR_0x8004, TRAINER_TOWER_FUNC_CHECK_DOUBLES
|
||||
special CallTrainerTowerFunc
|
||||
.endm
|
||||
|
||||
@ For the unused E-Reader challenges, gets the number of floors used. Otherwise returns FALSE (all floors used)
|
||||
.macro ttower_getnumfloors
|
||||
setvar VAR_0x8004, TRAINER_TOWER_FUNC_GET_NUM_FLOORS
|
||||
special CallTrainerTowerFunc
|
||||
.endm
|
||||
|
||||
@ Dummied, always returns FALSE
|
||||
.macro ttower_shouldexit
|
||||
setvar VAR_0x8004, TRAINER_TOWER_FUNC_SHOULD_WARP_TO_COUNTER
|
||||
special CallTrainerTowerFunc
|
||||
.endm
|
||||
|
||||
@ Plays the encounter music for the trainer number in VAR_TEMP_1
|
||||
.macro ttower_encountermusic
|
||||
setvar VAR_0x8004, TRAINER_TOWER_FUNC_ENCOUNTER_MUSIC
|
||||
special CallTrainerTowerFunc
|
||||
.endm
|
||||
|
||||
@ TRUE if the player reached the Battle Tower owner, FALSE otherwise
|
||||
.macro ttower_getbeatchallenge
|
||||
setvar VAR_0x8004, TRAINER_TOWER_FUNC_GET_BEAT_CHALLENGE
|
||||
special CallTrainerTowerFunc
|
||||
.endm
|
||||
-4594
File diff suppressed because it is too large
Load Diff
+137
-137
@@ -8,7 +8,7 @@
|
||||
thumb_func_start sub_8054BC8
|
||||
sub_8054BC8: @ 8054BC8
|
||||
push {r4,lr}
|
||||
ldr r0, _08054BFC @ =gUnknown_81A654B
|
||||
ldr r0, _08054BFC @ =EventScript_ResetEliteFourEnd
|
||||
bl ScriptContext2_RunNewScript
|
||||
ldr r0, _08054C00 @ =gSaveBlock1Ptr
|
||||
ldr r4, [r0]
|
||||
@@ -27,7 +27,7 @@ sub_8054BC8: @ 8054BC8
|
||||
pop {r0}
|
||||
bx r0
|
||||
.align 2, 0
|
||||
_08054BFC: .4byte gUnknown_81A654B
|
||||
_08054BFC: .4byte EventScript_ResetEliteFourEnd
|
||||
_08054C00: .4byte gSaveBlock1Ptr
|
||||
thumb_func_end sub_8054BC8
|
||||
|
||||
@@ -66,8 +66,8 @@ _08054C40: .4byte sWhiteOutMoneyLossMultipliers
|
||||
_08054C44: .4byte gSaveBlock1Ptr
|
||||
thumb_func_end ComputeWhiteOutMoneyLoss
|
||||
|
||||
thumb_func_start Special_OverworldWhiteOutGetMoneyLoss
|
||||
Special_OverworldWhiteOutGetMoneyLoss: @ 8054C48
|
||||
thumb_func_start OverworldWhiteOutGetMoneyLoss
|
||||
OverworldWhiteOutGetMoneyLoss: @ 8054C48
|
||||
push {r4,r5,lr}
|
||||
bl ComputeWhiteOutMoneyLoss
|
||||
adds r4, r0, 0
|
||||
@@ -85,7 +85,7 @@ Special_OverworldWhiteOutGetMoneyLoss: @ 8054C48
|
||||
bx r0
|
||||
.align 2, 0
|
||||
_08054C6C: .4byte gStringVar1
|
||||
thumb_func_end Special_OverworldWhiteOutGetMoneyLoss
|
||||
thumb_func_end OverworldWhiteOutGetMoneyLoss
|
||||
|
||||
thumb_func_start CountBadgesForOverworldWhiteOutLossCalculation
|
||||
CountBadgesForOverworldWhiteOutLossCalculation: @ 8054C70
|
||||
@@ -115,8 +115,8 @@ _08054C8A:
|
||||
_08054C9C: .4byte sWhiteOutMoneyLossBadgeFlagIDs
|
||||
thumb_func_end CountBadgesForOverworldWhiteOutLossCalculation
|
||||
|
||||
thumb_func_start sub_8054CA0
|
||||
sub_8054CA0: @ 8054CA0
|
||||
thumb_func_start Overworld_ResetStateAfterFly
|
||||
Overworld_ResetStateAfterFly: @ 8054CA0
|
||||
push {lr}
|
||||
bl ResetInitialPlayerAvatarState
|
||||
movs r0, 0x83
|
||||
@@ -152,7 +152,7 @@ _08054CF8: .4byte 0x00000805
|
||||
_08054CFC: .4byte 0x00000806
|
||||
_08054D00: .4byte 0x00000808
|
||||
_08054D04: .4byte 0x0000404d
|
||||
thumb_func_end sub_8054CA0
|
||||
thumb_func_end Overworld_ResetStateAfterFly
|
||||
|
||||
thumb_func_start Overworld_ResetStateAfterTeleport
|
||||
Overworld_ResetStateAfterTeleport: @ 8054D08
|
||||
@@ -1718,7 +1718,7 @@ sub_8055864: @ 8055864
|
||||
bl sav1_reset_battle_music_maybe
|
||||
bl mapheader_run_script_with_tag_x3
|
||||
bl TryRegenerateRenewableHiddenItems
|
||||
bl not_trainer_hill_battle_pyramid
|
||||
bl InitMap
|
||||
ldr r4, _0805591C @ =gMapHeader
|
||||
ldr r0, [r4]
|
||||
bl copy_map_tileset2_to_vram_2
|
||||
@@ -1739,7 +1739,7 @@ _080558D4:
|
||||
bl DoCurrentWeather
|
||||
bl ResetFieldTasksArgs
|
||||
bl mapheader_run_script_with_tag_x5
|
||||
bl sub_80561B4
|
||||
bl GetLastUsedWarpMapSectionId
|
||||
ldr r1, _0805591C @ =gMapHeader
|
||||
lsls r0, 24
|
||||
lsrs r0, 24
|
||||
@@ -1798,7 +1798,7 @@ _08055974:
|
||||
bl UpdateLocationHistoryForRoamer
|
||||
bl RoamerMoveToOtherLocationSet
|
||||
bl sub_8110920
|
||||
bl not_trainer_hill_battle_pyramid
|
||||
bl InitMap
|
||||
pop {r4}
|
||||
pop {r0}
|
||||
bx r0
|
||||
@@ -1823,7 +1823,7 @@ sub_80559A8: @ 80559A8
|
||||
bl sub_8110920
|
||||
bl sub_8111708
|
||||
bl set_current_map_header_from_sav1
|
||||
bl not_trainer_hill_battle_pyramid
|
||||
bl InitMap
|
||||
pop {r0}
|
||||
bx r0
|
||||
.align 2, 0
|
||||
@@ -2597,7 +2597,7 @@ GetMapMusicFadeoutSpeed: @ 8055F68
|
||||
push {lr}
|
||||
bl warp1_get_mapheader
|
||||
ldrb r0, [r0, 0x17]
|
||||
bl is_light_level_8_or_9
|
||||
bl IsMapTypeIndoors
|
||||
lsls r0, 24
|
||||
lsrs r0, 24
|
||||
cmp r0, 0x1
|
||||
@@ -2611,8 +2611,8 @@ _08055F82:
|
||||
bx r1
|
||||
thumb_func_end GetMapMusicFadeoutSpeed
|
||||
|
||||
thumb_func_start sub_8055F88
|
||||
sub_8055F88: @ 8055F88
|
||||
thumb_func_start TryFadeOutOldMapMusic
|
||||
TryFadeOutOldMapMusic: @ 8055F88
|
||||
push {r4,lr}
|
||||
bl sub_8055DA4
|
||||
lsls r0, 16
|
||||
@@ -2638,7 +2638,7 @@ _08055FB8:
|
||||
bx r0
|
||||
.align 2, 0
|
||||
_08055FC0: .4byte 0x00004001
|
||||
thumb_func_end sub_8055F88
|
||||
thumb_func_end TryFadeOutOldMapMusic
|
||||
|
||||
thumb_func_start BGMusicStopped
|
||||
BGMusicStopped: @ 8055FC4
|
||||
@@ -2899,8 +2899,8 @@ GetCurrentMapType: @ 8056188
|
||||
_0805619C: .4byte gSaveBlock1Ptr
|
||||
thumb_func_end GetCurrentMapType
|
||||
|
||||
thumb_func_start get_map_light_from_warp0
|
||||
get_map_light_from_warp0: @ 80561A0
|
||||
thumb_func_start GetLastUsedWarpMapType
|
||||
GetLastUsedWarpMapType: @ 80561A0
|
||||
push {lr}
|
||||
ldr r0, _080561B0 @ =gUnknown_2031DB4
|
||||
bl get_map_light_level_from_warp
|
||||
@@ -2910,10 +2910,10 @@ get_map_light_from_warp0: @ 80561A0
|
||||
bx r1
|
||||
.align 2, 0
|
||||
_080561B0: .4byte gUnknown_2031DB4
|
||||
thumb_func_end get_map_light_from_warp0
|
||||
thumb_func_end GetLastUsedWarpMapType
|
||||
|
||||
thumb_func_start sub_80561B4
|
||||
sub_80561B4: @ 80561B4
|
||||
thumb_func_start GetLastUsedWarpMapSectionId
|
||||
GetLastUsedWarpMapSectionId: @ 80561B4
|
||||
push {lr}
|
||||
ldr r1, _080561D4 @ =gUnknown_2031DB4
|
||||
movs r0, 0
|
||||
@@ -2931,7 +2931,7 @@ sub_80561B4: @ 80561B4
|
||||
bx r1
|
||||
.align 2, 0
|
||||
_080561D4: .4byte gUnknown_2031DB4
|
||||
thumb_func_end sub_80561B4
|
||||
thumb_func_end GetLastUsedWarpMapSectionId
|
||||
|
||||
thumb_func_start IsMapTypeOutdoors
|
||||
IsMapTypeOutdoors: @ 80561D8
|
||||
@@ -2981,8 +2981,8 @@ _08056218:
|
||||
bx r1
|
||||
thumb_func_end Overworld_MapTypeAllowsTeleportAndFly
|
||||
|
||||
thumb_func_start is_light_level_8_or_9
|
||||
is_light_level_8_or_9: @ 805621C
|
||||
thumb_func_start IsMapTypeIndoors
|
||||
IsMapTypeIndoors: @ 805621C
|
||||
push {lr}
|
||||
lsls r0, 24
|
||||
movs r1, 0xF8
|
||||
@@ -2998,10 +2998,10 @@ _08056230:
|
||||
_08056232:
|
||||
pop {r1}
|
||||
bx r1
|
||||
thumb_func_end is_light_level_8_or_9
|
||||
thumb_func_end IsMapTypeIndoors
|
||||
|
||||
thumb_func_start sav1_saved_warp2_map_get_name
|
||||
sav1_saved_warp2_map_get_name: @ 8056238
|
||||
thumb_func_start GetSavedWarpRegionMapSectionId
|
||||
GetSavedWarpRegionMapSectionId: @ 8056238
|
||||
push {lr}
|
||||
ldr r0, _0805625C @ =gSaveBlock1Ptr
|
||||
ldr r1, [r0]
|
||||
@@ -3020,7 +3020,7 @@ sav1_saved_warp2_map_get_name: @ 8056238
|
||||
bx r1
|
||||
.align 2, 0
|
||||
_0805625C: .4byte gSaveBlock1Ptr
|
||||
thumb_func_end sav1_saved_warp2_map_get_name
|
||||
thumb_func_end GetSavedWarpRegionMapSectionId
|
||||
|
||||
thumb_func_start GetCurrentRegionMapSectionId
|
||||
GetCurrentRegionMapSectionId: @ 8056260
|
||||
@@ -3044,8 +3044,8 @@ GetCurrentRegionMapSectionId: @ 8056260
|
||||
_08056284: .4byte gSaveBlock1Ptr
|
||||
thumb_func_end GetCurrentRegionMapSectionId
|
||||
|
||||
thumb_func_start sav1_map_get_battletype
|
||||
sav1_map_get_battletype: @ 8056288
|
||||
thumb_func_start GetCurrentMapBattleScene
|
||||
GetCurrentMapBattleScene: @ 8056288
|
||||
push {lr}
|
||||
ldr r0, _080562AC @ =gSaveBlock1Ptr
|
||||
ldr r1, [r0]
|
||||
@@ -3064,10 +3064,10 @@ sav1_map_get_battletype: @ 8056288
|
||||
bx r1
|
||||
.align 2, 0
|
||||
_080562AC: .4byte gSaveBlock1Ptr
|
||||
thumb_func_end sav1_map_get_battletype
|
||||
thumb_func_end GetCurrentMapBattleScene
|
||||
|
||||
thumb_func_start sub_80562B0
|
||||
sub_80562B0: @ 80562B0
|
||||
thumb_func_start InitOverworldBgs
|
||||
InitOverworldBgs: @ 80562B0
|
||||
push {r4-r6,lr}
|
||||
mov r6, r8
|
||||
push {r6}
|
||||
@@ -3091,7 +3091,7 @@ sub_80562B0: @ 80562B0
|
||||
movs r1, 0x5
|
||||
movs r2, 0x1
|
||||
bl SetBgAttribute
|
||||
ldr r0, _08056348 @ =gUnknown_3005018
|
||||
ldr r0, _08056348 @ =gBGTilemapBuffers2
|
||||
mov r8, r0
|
||||
movs r4, 0x80
|
||||
lsls r4, 4
|
||||
@@ -3099,11 +3099,11 @@ sub_80562B0: @ 80562B0
|
||||
bl AllocZeroed
|
||||
mov r1, r8
|
||||
str r0, [r1]
|
||||
ldr r6, _0805634C @ =gUnknown_3005014
|
||||
ldr r6, _0805634C @ =gBGTilemapBuffers1
|
||||
adds r0, r4, 0
|
||||
bl AllocZeroed
|
||||
str r0, [r6]
|
||||
ldr r5, _08056350 @ =gUnknown_300501C
|
||||
ldr r5, _08056350 @ =gBGTilemapBuffers3
|
||||
adds r0, r4, 0
|
||||
bl AllocZeroed
|
||||
str r0, [r5]
|
||||
@@ -3127,10 +3127,10 @@ sub_80562B0: @ 80562B0
|
||||
bx r0
|
||||
.align 2, 0
|
||||
_08056344: .4byte gUnknown_826D320
|
||||
_08056348: .4byte gUnknown_3005018
|
||||
_0805634C: .4byte gUnknown_3005014
|
||||
_08056350: .4byte gUnknown_300501C
|
||||
thumb_func_end sub_80562B0
|
||||
_08056348: .4byte gBGTilemapBuffers2
|
||||
_0805634C: .4byte gBGTilemapBuffers1
|
||||
_08056350: .4byte gBGTilemapBuffers3
|
||||
thumb_func_end InitOverworldBgs
|
||||
|
||||
thumb_func_start sub_8056354
|
||||
sub_8056354: @ 8056354
|
||||
@@ -3155,7 +3155,7 @@ sub_8056354: @ 8056354
|
||||
movs r1, 0x5
|
||||
movs r2, 0x1
|
||||
bl SetBgAttribute
|
||||
ldr r0, _080563E4 @ =gUnknown_3005018
|
||||
ldr r0, _080563E4 @ =gBGTilemapBuffers2
|
||||
mov r8, r0
|
||||
movs r4, 0x80
|
||||
lsls r4, 4
|
||||
@@ -3163,11 +3163,11 @@ sub_8056354: @ 8056354
|
||||
bl AllocZeroed
|
||||
mov r1, r8
|
||||
str r0, [r1]
|
||||
ldr r6, _080563E8 @ =gUnknown_3005014
|
||||
ldr r6, _080563E8 @ =gBGTilemapBuffers1
|
||||
adds r0, r4, 0
|
||||
bl AllocZeroed
|
||||
str r0, [r6]
|
||||
ldr r5, _080563EC @ =gUnknown_300501C
|
||||
ldr r5, _080563EC @ =gBGTilemapBuffers3
|
||||
adds r0, r4, 0
|
||||
bl AllocZeroed
|
||||
str r0, [r5]
|
||||
@@ -3191,30 +3191,30 @@ sub_8056354: @ 8056354
|
||||
bx r0
|
||||
.align 2, 0
|
||||
_080563E0: .4byte gUnknown_826D320
|
||||
_080563E4: .4byte gUnknown_3005018
|
||||
_080563E8: .4byte gUnknown_3005014
|
||||
_080563EC: .4byte gUnknown_300501C
|
||||
_080563E4: .4byte gBGTilemapBuffers2
|
||||
_080563E8: .4byte gBGTilemapBuffers1
|
||||
_080563EC: .4byte gBGTilemapBuffers3
|
||||
thumb_func_end sub_8056354
|
||||
|
||||
thumb_func_start CleanupOverworldWindowsAndTilemaps
|
||||
CleanupOverworldWindowsAndTilemaps: @ 80563F0
|
||||
push {lr}
|
||||
bl FreeAllOverworldWindowBuffers
|
||||
ldr r0, _08056414 @ =gUnknown_300501C
|
||||
ldr r0, _08056414 @ =gBGTilemapBuffers3
|
||||
ldr r0, [r0]
|
||||
bl Free
|
||||
ldr r0, _08056418 @ =gUnknown_3005014
|
||||
ldr r0, _08056418 @ =gBGTilemapBuffers1
|
||||
ldr r0, [r0]
|
||||
bl Free
|
||||
ldr r0, _0805641C @ =gUnknown_3005018
|
||||
ldr r0, _0805641C @ =gBGTilemapBuffers2
|
||||
ldr r0, [r0]
|
||||
bl Free
|
||||
pop {r0}
|
||||
bx r0
|
||||
.align 2, 0
|
||||
_08056414: .4byte gUnknown_300501C
|
||||
_08056418: .4byte gUnknown_3005014
|
||||
_0805641C: .4byte gUnknown_3005018
|
||||
_08056414: .4byte gBGTilemapBuffers3
|
||||
_08056418: .4byte gBGTilemapBuffers1
|
||||
_0805641C: .4byte gBGTilemapBuffers2
|
||||
thumb_func_end CleanupOverworldWindowsAndTilemaps
|
||||
|
||||
thumb_func_start sub_8056420
|
||||
@@ -3347,8 +3347,8 @@ _08056522:
|
||||
_08056530: .4byte gUnknown_3005E90
|
||||
thumb_func_end sub_80564C8
|
||||
|
||||
thumb_func_start sub_8056534
|
||||
sub_8056534: @ 8056534
|
||||
thumb_func_start CB1_Overworld
|
||||
CB1_Overworld: @ 8056534
|
||||
push {r4,lr}
|
||||
ldr r4, _0805655C @ =gMain
|
||||
ldr r1, [r4, 0x4]
|
||||
@@ -3379,7 +3379,7 @@ _08056570:
|
||||
pop {r4}
|
||||
pop {r0}
|
||||
bx r0
|
||||
thumb_func_end sub_8056534
|
||||
thumb_func_end CB1_Overworld
|
||||
|
||||
thumb_func_start sub_8056578
|
||||
sub_8056578: @ 8056578
|
||||
@@ -3430,14 +3430,14 @@ _080565D4:
|
||||
_080565DC: .4byte gPaletteFade
|
||||
thumb_func_end sub_80565B4
|
||||
|
||||
thumb_func_start sub_80565E0
|
||||
sub_80565E0: @ 80565E0
|
||||
thumb_func_start SetMainCallback1
|
||||
SetMainCallback1: @ 80565E0
|
||||
ldr r1, _080565E8 @ =gMain
|
||||
str r0, [r1]
|
||||
bx lr
|
||||
.align 2, 0
|
||||
_080565E8: .4byte gMain
|
||||
thumb_func_end sub_80565E0
|
||||
thumb_func_end SetMainCallback1
|
||||
|
||||
thumb_func_start map_post_load_hook_exec
|
||||
map_post_load_hook_exec: @ 80565EC
|
||||
@@ -3490,7 +3490,7 @@ _08056640: .4byte gFieldCallback
|
||||
thumb_func_start CB2_NewGame
|
||||
CB2_NewGame: @ 8056644
|
||||
push {lr}
|
||||
bl sub_80569BC
|
||||
bl FieldClearVBlankHBlankCallbacks
|
||||
bl StopMapMusic
|
||||
bl sub_8056420
|
||||
bl NewGameInitData
|
||||
@@ -3507,8 +3507,8 @@ CB2_NewGame: @ 8056644
|
||||
ldr r0, _08056698 @ =gMain + 0x438
|
||||
bl do_load_map_stuff_loop
|
||||
bl SetFieldVBlankCallback
|
||||
ldr r0, _0805669C @ =sub_8056534
|
||||
bl sub_80565E0
|
||||
ldr r0, _0805669C @ =CB1_Overworld
|
||||
bl SetMainCallback1
|
||||
ldr r0, _080566A0 @ =sub_80565B4
|
||||
bl SetMainCallback2
|
||||
pop {r0}
|
||||
@@ -3518,7 +3518,7 @@ _0805668C: .4byte gFieldCallback
|
||||
_08056690: .4byte sub_807DF7C
|
||||
_08056694: .4byte gFieldCallback2
|
||||
_08056698: .4byte gMain + 0x438
|
||||
_0805669C: .4byte sub_8056534
|
||||
_0805669C: .4byte CB1_Overworld
|
||||
_080566A0: .4byte sub_80565B4
|
||||
thumb_func_end CB2_NewGame
|
||||
|
||||
@@ -3537,7 +3537,7 @@ CB2_WhiteOut: @ 80566A4
|
||||
lsrs r0, 24
|
||||
cmp r0, 0x77
|
||||
bls _08056702
|
||||
bl sub_80569BC
|
||||
bl FieldClearVBlankHBlankCallbacks
|
||||
bl StopMapMusic
|
||||
bl sub_8056420
|
||||
bl sub_8054BC8
|
||||
@@ -3555,8 +3555,8 @@ CB2_WhiteOut: @ 80566A4
|
||||
bl do_load_map_stuff_loop
|
||||
bl sub_8112364
|
||||
bl SetFieldVBlankCallback
|
||||
ldr r0, _08056714 @ =sub_8056534
|
||||
bl sub_80565E0
|
||||
ldr r0, _08056714 @ =CB1_Overworld
|
||||
bl SetMainCallback1
|
||||
ldr r0, _08056718 @ =sub_80565B4
|
||||
bl SetMainCallback2
|
||||
_08056702:
|
||||
@@ -3567,19 +3567,19 @@ _08056702:
|
||||
_08056708: .4byte gMain
|
||||
_0805670C: .4byte gFieldCallback
|
||||
_08056710: .4byte sub_807F5F0
|
||||
_08056714: .4byte sub_8056534
|
||||
_08056714: .4byte CB1_Overworld
|
||||
_08056718: .4byte sub_80565B4
|
||||
thumb_func_end CB2_WhiteOut
|
||||
|
||||
thumb_func_start CB2_LoadMap
|
||||
CB2_LoadMap: @ 805671C
|
||||
push {lr}
|
||||
bl sub_80569BC
|
||||
bl FieldClearVBlankHBlankCallbacks
|
||||
bl ScriptContext1_Init
|
||||
bl ScriptContext2_Disable
|
||||
movs r0, 0
|
||||
bl sub_80565E0
|
||||
ldr r0, _08056740 @ =sub_80C9BFC
|
||||
bl SetMainCallback1
|
||||
ldr r0, _08056740 @ =CB2_DoChangeMap
|
||||
bl SetMainCallback2
|
||||
ldr r1, _08056744 @ =gMain
|
||||
ldr r0, _08056748 @ =sub_805674C
|
||||
@@ -3587,7 +3587,7 @@ CB2_LoadMap: @ 805671C
|
||||
pop {r0}
|
||||
bx r0
|
||||
.align 2, 0
|
||||
_08056740: .4byte sub_80C9BFC
|
||||
_08056740: .4byte CB2_DoChangeMap
|
||||
_08056744: .4byte gMain
|
||||
_08056748: .4byte sub_805674C
|
||||
thumb_func_end CB2_LoadMap
|
||||
@@ -3608,24 +3608,24 @@ sub_805674C: @ 805674C
|
||||
_08056768: .4byte gMain + 0x438
|
||||
_0805676C:
|
||||
bl SetFieldVBlankCallback
|
||||
ldr r0, _08056780 @ =sub_8056534
|
||||
bl sub_80565E0
|
||||
ldr r0, _08056780 @ =CB1_Overworld
|
||||
bl SetMainCallback1
|
||||
ldr r0, _08056784 @ =sub_80565B4
|
||||
bl SetMainCallback2
|
||||
_0805677C:
|
||||
pop {r0}
|
||||
bx r0
|
||||
.align 2, 0
|
||||
_08056780: .4byte sub_8056534
|
||||
_08056780: .4byte CB1_Overworld
|
||||
_08056784: .4byte sub_80565B4
|
||||
thumb_func_end sub_805674C
|
||||
|
||||
thumb_func_start sub_8056788
|
||||
sub_8056788: @ 8056788
|
||||
thumb_func_start CB2_ReturnToFieldCableClub
|
||||
CB2_ReturnToFieldCableClub: @ 8056788
|
||||
push {lr}
|
||||
bl sub_80569BC
|
||||
bl FieldClearVBlankHBlankCallbacks
|
||||
ldr r0, _080567A0 @ =gFieldCallback
|
||||
ldr r1, _080567A4 @ =sub_807DE58
|
||||
ldr r1, _080567A4 @ =FieldCB_ReturnToFieldWirelessLink
|
||||
str r1, [r0]
|
||||
ldr r0, _080567A8 @ =c2_80567AC
|
||||
bl SetMainCallback2
|
||||
@@ -3633,20 +3633,20 @@ sub_8056788: @ 8056788
|
||||
bx r0
|
||||
.align 2, 0
|
||||
_080567A0: .4byte gFieldCallback
|
||||
_080567A4: .4byte sub_807DE58
|
||||
_080567A4: .4byte FieldCB_ReturnToFieldWirelessLink
|
||||
_080567A8: .4byte c2_80567AC
|
||||
thumb_func_end sub_8056788
|
||||
thumb_func_end CB2_ReturnToFieldCableClub
|
||||
|
||||
thumb_func_start c2_80567AC
|
||||
c2_80567AC: @ 80567AC
|
||||
push {lr}
|
||||
ldr r0, _080567D0 @ =gMain + 0x438
|
||||
bl sub_8056A5C
|
||||
bl map_loading_iteration_3
|
||||
cmp r0, 0
|
||||
beq _080567CC
|
||||
bl SetFieldVBlankCallback
|
||||
ldr r0, _080567D4 @ =c1_link_related
|
||||
bl sub_80565E0
|
||||
bl SetMainCallback1
|
||||
bl sub_80578D8
|
||||
ldr r0, _080567D8 @ =sub_80565B4
|
||||
bl SetMainCallback2
|
||||
@@ -3671,7 +3671,7 @@ CB2_ReturnToField: @ 80567DC
|
||||
.align 2, 0
|
||||
_080567F0: .4byte c2_exit_to_overworld_2_link
|
||||
_080567F4:
|
||||
bl sub_80569BC
|
||||
bl FieldClearVBlankHBlankCallbacks
|
||||
ldr r0, _08056804 @ =c2_exit_to_overworld_2_local
|
||||
bl SetMainCallback2
|
||||
_080567FE:
|
||||
@@ -3722,26 +3722,26 @@ _08056850: .4byte sub_80565B4
|
||||
thumb_func_start c2_8056854
|
||||
c2_8056854: @ 8056854
|
||||
push {lr}
|
||||
bl sub_80569BC
|
||||
bl FieldClearVBlankHBlankCallbacks
|
||||
bl StopMapMusic
|
||||
ldr r0, _08056878 @ =c1_link_related
|
||||
bl sub_80565E0
|
||||
bl SetMainCallback1
|
||||
bl sub_80578D8
|
||||
ldr r0, _0805687C @ =gWirelessCommType
|
||||
ldrb r0, [r0]
|
||||
cmp r0, 0
|
||||
beq _08056888
|
||||
ldr r1, _08056880 @ =gFieldCallback
|
||||
ldr r0, _08056884 @ =sub_807DE58
|
||||
ldr r0, _08056884 @ =FieldCB_ReturnToFieldWirelessLink
|
||||
b _0805688C
|
||||
.align 2, 0
|
||||
_08056878: .4byte c1_link_related
|
||||
_0805687C: .4byte gWirelessCommType
|
||||
_08056880: .4byte gFieldCallback
|
||||
_08056884: .4byte sub_807DE58
|
||||
_08056884: .4byte FieldCB_ReturnToFieldWirelessLink
|
||||
_08056888:
|
||||
ldr r1, _080568A0 @ =gFieldCallback
|
||||
ldr r0, _080568A4 @ =sub_807DDD0
|
||||
ldr r0, _080568A4 @ =FieldCB_ReturnToFieldWiredLink
|
||||
_0805688C:
|
||||
str r0, [r1]
|
||||
bl ScriptContext1_Init
|
||||
@@ -3751,13 +3751,13 @@ _0805688C:
|
||||
bx r0
|
||||
.align 2, 0
|
||||
_080568A0: .4byte gFieldCallback
|
||||
_080568A4: .4byte sub_807DDD0
|
||||
_080568A4: .4byte FieldCB_ReturnToFieldWiredLink
|
||||
thumb_func_end c2_8056854
|
||||
|
||||
thumb_func_start CB2_ReturnToFieldWithOpenMenu
|
||||
CB2_ReturnToFieldWithOpenMenu: @ 80568A8
|
||||
push {lr}
|
||||
bl sub_80569BC
|
||||
bl FieldClearVBlankHBlankCallbacks
|
||||
ldr r1, _080568BC @ =gFieldCallback2
|
||||
ldr r0, _080568C0 @ =FieldCB2_ReturnToStartMenuInit
|
||||
str r0, [r1]
|
||||
@@ -3772,7 +3772,7 @@ _080568C0: .4byte FieldCB2_ReturnToStartMenuInit
|
||||
thumb_func_start sub_80568C4
|
||||
sub_80568C4: @ 80568C4
|
||||
push {lr}
|
||||
bl sub_80569BC
|
||||
bl FieldClearVBlankHBlankCallbacks
|
||||
ldr r1, _080568D8 @ =gFieldCallback
|
||||
ldr r0, _080568DC @ =sub_807DD44
|
||||
str r0, [r1]
|
||||
@@ -3787,7 +3787,7 @@ _080568DC: .4byte sub_807DD44
|
||||
thumb_func_start CB2_ReturnToFieldContinueScriptPlayMapMusic
|
||||
CB2_ReturnToFieldContinueScriptPlayMapMusic: @ 80568E0
|
||||
push {lr}
|
||||
bl sub_80569BC
|
||||
bl FieldClearVBlankHBlankCallbacks
|
||||
ldr r1, _080568F4 @ =gFieldCallback
|
||||
ldr r0, _080568F8 @ =FieldCallback_ReturnToEventScript2
|
||||
str r0, [r1]
|
||||
@@ -3802,7 +3802,7 @@ _080568F8: .4byte FieldCallback_ReturnToEventScript2
|
||||
thumb_func_start CB2_Overworld
|
||||
CB2_Overworld: @ 80568FC
|
||||
push {lr}
|
||||
bl sub_80569BC
|
||||
bl FieldClearVBlankHBlankCallbacks
|
||||
ldr r1, _08056910 @ =gFieldCallback
|
||||
ldr r0, _08056914 @ =sub_807DF7C
|
||||
str r0, [r1]
|
||||
@@ -3836,14 +3836,14 @@ _08056934: .4byte gMapHeader
|
||||
thumb_func_start CB2_ContinueSavedGame
|
||||
CB2_ContinueSavedGame: @ 8056938
|
||||
push {lr}
|
||||
bl sub_80569BC
|
||||
bl FieldClearVBlankHBlankCallbacks
|
||||
bl StopMapMusic
|
||||
bl sub_8056420
|
||||
bl set_current_map_header_from_sav1
|
||||
bl sub_80550A8
|
||||
bl UnfreezeObjectEvents
|
||||
bl sub_8054E40
|
||||
bl sub_80589E8
|
||||
bl InitMapFromSavedGame
|
||||
bl PlayTimeCounter_Start
|
||||
bl ScriptContext1_Init
|
||||
bl ScriptContext2_Disable
|
||||
@@ -3870,8 +3870,8 @@ _0805699C:
|
||||
ldr r0, _080569B0 @ =gFieldCallback
|
||||
ldr r1, _080569B4 @ =sub_8056918
|
||||
str r1, [r0]
|
||||
ldr r0, _080569B8 @ =sub_8056534
|
||||
bl sub_80565E0
|
||||
ldr r0, _080569B8 @ =CB1_Overworld
|
||||
bl SetMainCallback1
|
||||
bl CB2_ReturnToField
|
||||
_080569AC:
|
||||
pop {r0}
|
||||
@@ -3879,11 +3879,11 @@ _080569AC:
|
||||
.align 2, 0
|
||||
_080569B0: .4byte gFieldCallback
|
||||
_080569B4: .4byte sub_8056918
|
||||
_080569B8: .4byte sub_8056534
|
||||
_080569B8: .4byte CB1_Overworld
|
||||
thumb_func_end CB2_ContinueSavedGame
|
||||
|
||||
thumb_func_start sub_80569BC
|
||||
sub_80569BC: @ 80569BC
|
||||
thumb_func_start FieldClearVBlankHBlankCallbacks
|
||||
FieldClearVBlankHBlankCallbacks: @ 80569BC
|
||||
push {lr}
|
||||
bl sub_80CC87C
|
||||
lsls r0, 24
|
||||
@@ -3915,7 +3915,7 @@ _080569F4:
|
||||
bl SetHBlankCallback
|
||||
pop {r0}
|
||||
bx r0
|
||||
thumb_func_end sub_80569BC
|
||||
thumb_func_end FieldClearVBlankHBlankCallbacks
|
||||
|
||||
thumb_func_start SetFieldVBlankCallback
|
||||
SetFieldVBlankCallback: @ 8056A04
|
||||
@@ -3962,8 +3962,8 @@ _08056A52:
|
||||
_08056A58: .4byte gFlashEffectParams
|
||||
thumb_func_end InitCurrentFlashLevelScanlineEffect
|
||||
|
||||
thumb_func_start sub_8056A5C
|
||||
sub_8056A5C: @ 8056A5C
|
||||
thumb_func_start map_loading_iteration_3
|
||||
map_loading_iteration_3: @ 8056A5C
|
||||
push {r4,lr}
|
||||
adds r4, r0, 0
|
||||
ldrb r0, [r4]
|
||||
@@ -3995,7 +3995,7 @@ _08056A78:
|
||||
.4byte _08056B58
|
||||
.4byte _08056B6A
|
||||
_08056AB0:
|
||||
bl sub_80562B0
|
||||
bl InitOverworldBgs
|
||||
bl ScriptContext1_Init
|
||||
bl ScriptContext2_Disable
|
||||
b _08056B62
|
||||
@@ -4012,7 +4012,7 @@ _08056ACE:
|
||||
bl sub_8057074
|
||||
bl sub_80571A8
|
||||
bl sub_8057140
|
||||
bl sub_812B35C
|
||||
bl SetHelpContextForMap
|
||||
b _08056B62
|
||||
_08056AE4:
|
||||
bl InitCurrentFlashLevelScanlineEffect
|
||||
@@ -4084,7 +4084,7 @@ _08056B70:
|
||||
pop {r4}
|
||||
pop {r1}
|
||||
bx r1
|
||||
thumb_func_end sub_8056A5C
|
||||
thumb_func_end map_loading_iteration_3
|
||||
|
||||
thumb_func_start sub_8056B78
|
||||
sub_8056B78: @ 8056B78
|
||||
@@ -4121,8 +4121,8 @@ _08056B94:
|
||||
.4byte _08056CC0
|
||||
.4byte _08056BFA
|
||||
_08056BD0:
|
||||
bl sub_80562B0
|
||||
bl sub_80569BC
|
||||
bl InitOverworldBgs
|
||||
bl FieldClearVBlankHBlankCallbacks
|
||||
adds r0, r5, 0
|
||||
bl sub_8055920
|
||||
b _08056CCA
|
||||
@@ -4152,7 +4152,7 @@ _08056BFE:
|
||||
bl sub_80CC534
|
||||
bl sub_80CC59C
|
||||
_08056C16:
|
||||
bl sub_812B35C
|
||||
bl SetHelpContextForMap
|
||||
b _08056CCA
|
||||
.align 2, 0
|
||||
_08056C1C: .4byte gQuestLogState
|
||||
@@ -4196,7 +4196,7 @@ _08056C72:
|
||||
bl InitTilesetAnimations
|
||||
b _08056CCA
|
||||
_08056C78:
|
||||
bl sub_80561B4
|
||||
bl GetLastUsedWarpMapSectionId
|
||||
ldr r5, _08056CA4 @ =gMapHeader
|
||||
lsls r0, 24
|
||||
lsrs r0, 24
|
||||
@@ -4205,13 +4205,13 @@ _08056C78:
|
||||
beq _08056CA8
|
||||
ldrb r0, [r5, 0x14]
|
||||
movs r1, 0x1
|
||||
bl sub_80F8154
|
||||
bl MapHasPreviewScreen_HandleQLState2
|
||||
cmp r0, 0x1
|
||||
bne _08056CA8
|
||||
ldrb r0, [r5, 0x14]
|
||||
bl sub_80F819C
|
||||
bl MapPreview_LoadGfx
|
||||
ldrb r0, [r5, 0x14]
|
||||
bl sub_80F8268
|
||||
bl MapPreview_StartForestTransition
|
||||
b _08056CCA
|
||||
.align 2, 0
|
||||
_08056CA4: .4byte gMapHeader
|
||||
@@ -4266,7 +4266,7 @@ _08056CF0:
|
||||
.4byte _08056D26
|
||||
.4byte _08056D38
|
||||
_08056D04:
|
||||
bl sub_80562B0
|
||||
bl InitOverworldBgs
|
||||
bl sub_8111F14
|
||||
movs r0, 0
|
||||
bl sub_8057024
|
||||
@@ -4275,7 +4275,7 @@ _08056D04:
|
||||
b _08056D30
|
||||
_08056D1C:
|
||||
bl sub_8056F08
|
||||
bl sub_812B35C
|
||||
bl SetHelpContextForMap
|
||||
b _08056D30
|
||||
_08056D26:
|
||||
bl map_post_load_hook_exec
|
||||
@@ -4331,8 +4331,8 @@ _08056D60:
|
||||
.4byte _08056E34
|
||||
.4byte _08056E46
|
||||
_08056D98:
|
||||
bl sub_80562B0
|
||||
bl sub_80569BC
|
||||
bl InitOverworldBgs
|
||||
bl FieldClearVBlankHBlankCallbacks
|
||||
b _08056E3E
|
||||
_08056DA2:
|
||||
bl sub_8111F14
|
||||
@@ -4343,7 +4343,7 @@ _08056DAE:
|
||||
bl sub_8057230
|
||||
bl sub_8057100
|
||||
bl sub_805715C
|
||||
bl sub_812B35C
|
||||
bl SetHelpContextForMap
|
||||
b _08056E3E
|
||||
_08056DC0:
|
||||
bl InitCurrentFlashLevelScanlineEffect
|
||||
@@ -4914,15 +4914,15 @@ _08057268: .4byte gLinkPlayers
|
||||
thumb_func_start sub_805726C
|
||||
sub_805726C: @ 805726C
|
||||
push {lr}
|
||||
bl sub_80569BC
|
||||
bl FieldClearVBlankHBlankCallbacks
|
||||
ldr r1, _08057298 @ =gUnknown_2036E28
|
||||
movs r0, 0x1
|
||||
strb r0, [r1]
|
||||
bl ScriptContext1_Init
|
||||
bl ScriptContext2_Disable
|
||||
movs r0, 0
|
||||
bl sub_80565E0
|
||||
ldr r0, _0805729C @ =sub_80C9BFC
|
||||
bl SetMainCallback1
|
||||
ldr r0, _0805729C @ =CB2_DoChangeMap
|
||||
bl SetMainCallback2
|
||||
ldr r1, _080572A0 @ =gMain
|
||||
ldr r0, _080572A4 @ =sub_80572D8
|
||||
@@ -4931,7 +4931,7 @@ sub_805726C: @ 805726C
|
||||
bx r0
|
||||
.align 2, 0
|
||||
_08057298: .4byte gUnknown_2036E28
|
||||
_0805729C: .4byte sub_80C9BFC
|
||||
_0805729C: .4byte CB2_DoChangeMap
|
||||
_080572A0: .4byte gMain
|
||||
_080572A4: .4byte sub_80572D8
|
||||
thumb_func_end sub_805726C
|
||||
@@ -4939,7 +4939,7 @@ _080572A4: .4byte sub_80572D8
|
||||
thumb_func_start sub_80572A8
|
||||
sub_80572A8: @ 80572A8
|
||||
push {lr}
|
||||
bl sub_80569BC
|
||||
bl FieldClearVBlankHBlankCallbacks
|
||||
ldr r0, _080572D0 @ =gUnknown_2036E28
|
||||
movs r1, 0x1
|
||||
strb r1, [r0]
|
||||
@@ -4947,7 +4947,7 @@ sub_80572A8: @ 80572A8
|
||||
bl ScriptContext1_Init
|
||||
bl ScriptContext2_Disable
|
||||
movs r0, 0
|
||||
bl sub_80565E0
|
||||
bl SetMainCallback1
|
||||
ldr r0, _080572D4 @ =sub_80572D8
|
||||
bl SetMainCallback2
|
||||
pop {r0}
|
||||
@@ -4963,15 +4963,15 @@ sub_80572D8: @ 80572D8
|
||||
ldr r0, _080572F4 @ =gMain + 0x438
|
||||
bl sub_8057300
|
||||
bl SetFieldVBlankCallback
|
||||
ldr r0, _080572F8 @ =sub_8056534
|
||||
bl sub_80565E0
|
||||
ldr r0, _080572F8 @ =CB1_Overworld
|
||||
bl SetMainCallback1
|
||||
ldr r0, _080572FC @ =sub_80565B4
|
||||
bl SetMainCallback2
|
||||
pop {r0}
|
||||
bx r0
|
||||
.align 2, 0
|
||||
_080572F4: .4byte gMain + 0x438
|
||||
_080572F8: .4byte sub_8056534
|
||||
_080572F8: .4byte CB1_Overworld
|
||||
_080572FC: .4byte sub_80565B4
|
||||
thumb_func_end sub_80572D8
|
||||
|
||||
@@ -5019,8 +5019,8 @@ _08057330:
|
||||
.4byte _08057404
|
||||
.4byte _0805740A
|
||||
_0805735C:
|
||||
bl sub_80562B0
|
||||
bl sub_80569BC
|
||||
bl InitOverworldBgs
|
||||
bl FieldClearVBlankHBlankCallbacks
|
||||
bl sub_8111F14
|
||||
bl sub_81113E4
|
||||
bl sub_8111438
|
||||
@@ -5118,7 +5118,7 @@ _0805742A:
|
||||
thumb_func_start sub_8057430
|
||||
sub_8057430: @ 8057430
|
||||
push {lr}
|
||||
bl sub_80569BC
|
||||
bl FieldClearVBlankHBlankCallbacks
|
||||
bl StopMapMusic
|
||||
ldr r1, _08057484 @ =gUnknown_2036E28
|
||||
movs r0, 0x3
|
||||
@@ -5128,7 +5128,7 @@ sub_8057430: @ 8057430
|
||||
bl sub_80550A8
|
||||
bl UnfreezeObjectEvents
|
||||
bl sub_8054E40
|
||||
bl sub_80589E8
|
||||
bl InitMapFromSavedGame
|
||||
bl PlayTimeCounter_Start
|
||||
bl ScriptContext1_Init
|
||||
ldr r1, _08057488 @ =gUnknown_2031DE0
|
||||
@@ -5148,14 +5148,14 @@ _08057484: .4byte gUnknown_2036E28
|
||||
_08057488: .4byte gUnknown_2031DE0
|
||||
_0805748C: .4byte CB2_LoadMap
|
||||
_08057490:
|
||||
ldr r0, _080574A0 @ =sub_8056534
|
||||
bl sub_80565E0
|
||||
ldr r0, _080574A0 @ =CB1_Overworld
|
||||
bl SetMainCallback1
|
||||
bl CB2_ReturnToField
|
||||
_0805749A:
|
||||
pop {r0}
|
||||
bx r0
|
||||
.align 2, 0
|
||||
_080574A0: .4byte sub_8056534
|
||||
_080574A0: .4byte CB1_Overworld
|
||||
thumb_func_end sub_8057430
|
||||
|
||||
thumb_func_start Overworld_CreditsMainCB
|
||||
@@ -5313,7 +5313,7 @@ _08057560:
|
||||
bl ScriptContext1_Init
|
||||
bl ScriptContext2_Disable
|
||||
movs r0, 0
|
||||
bl sub_80565E0
|
||||
bl SetMainCallback1
|
||||
ldr r1, _08057614 @ =gFieldCallback2
|
||||
ldr r0, _08057618 @ =sub_80574EC
|
||||
str r0, [r1]
|
||||
@@ -6809,7 +6809,7 @@ _080580F4: .4byte gUnknown_3000E80
|
||||
_080580F8: .4byte CableClub_EventScript_TooBusyToNotice
|
||||
_080580FC:
|
||||
adds r0, r2, 0
|
||||
bl sub_8081A34
|
||||
bl GetSeeingLinkPlayerCardMsg
|
||||
cmp r0, 0
|
||||
bne _08058110
|
||||
ldr r0, _0805810C @ =CableClub_EventScript_ReadTrainerCard
|
||||
@@ -7880,7 +7880,7 @@ _080588BC:
|
||||
ldrb r0, [r4]
|
||||
lsls r0, 30
|
||||
lsrs r0, 31
|
||||
bl sub_805C7F8
|
||||
bl GetHoennLinkPartnerGraphicsIdByGender
|
||||
_080588C6:
|
||||
lsls r0, 24
|
||||
lsrs r0, 24
|
||||
@@ -7979,7 +7979,7 @@ _08058978:
|
||||
_0805898A:
|
||||
adds r0, r5, 0
|
||||
movs r1, 0
|
||||
bl sub_8068EB4
|
||||
bl UpdateObjectEventSpriteVisibility
|
||||
ldrb r0, [r6]
|
||||
lsls r0, 29
|
||||
cmp r0, 0
|
||||
|
||||
@@ -1839,7 +1839,7 @@ _08106478:
|
||||
bl FillWindowPixelBuffer
|
||||
movs r0, 0xB0
|
||||
movs r1, 0x1
|
||||
bl sub_8107D38
|
||||
bl ListMenuLoadStdPalAt
|
||||
mov r0, r10
|
||||
cmp r0, 0
|
||||
beq _08106504
|
||||
|
||||
@@ -1,642 +0,0 @@
|
||||
.include "asm/macros.inc"
|
||||
.include "constants/constants.inc"
|
||||
|
||||
.syntax unified
|
||||
|
||||
.text
|
||||
|
||||
thumb_func_start sub_81475C0
|
||||
sub_81475C0: @ 81475C0
|
||||
push {r4,r5,lr}
|
||||
adds r5, r0, 0
|
||||
lsls r5, 24
|
||||
lsrs r5, 24
|
||||
lsls r1, 24
|
||||
lsrs r1, 24
|
||||
ldr r0, _08147600 @ =sub_8147654
|
||||
bl CreateTask
|
||||
adds r4, r0, 0
|
||||
lsls r4, 24
|
||||
lsrs r4, 24
|
||||
lsls r0, r4, 2
|
||||
adds r0, r4
|
||||
lsls r0, 3
|
||||
ldr r1, _08147604 @ =gTasks
|
||||
adds r0, r1
|
||||
movs r1, 0x1
|
||||
strh r1, [r0, 0x8]
|
||||
strh r5, [r0, 0xA]
|
||||
ldr r0, _08147608 @ =gUnknown_846B4AC
|
||||
lsls r5, 4
|
||||
adds r5, r0
|
||||
ldr r1, [r5]
|
||||
adds r0, r4, 0
|
||||
bl _call_via_r1
|
||||
adds r0, r4, 0
|
||||
pop {r4,r5}
|
||||
pop {r1}
|
||||
bx r1
|
||||
.align 2, 0
|
||||
_08147600: .4byte sub_8147654
|
||||
_08147604: .4byte gTasks
|
||||
_08147608: .4byte gUnknown_846B4AC
|
||||
thumb_func_end sub_81475C0
|
||||
|
||||
thumb_func_start sub_814760C
|
||||
sub_814760C: @ 814760C
|
||||
push {lr}
|
||||
ldr r0, _08147630 @ =sub_8147654
|
||||
bl FindTaskIdByFunc
|
||||
lsls r0, 24
|
||||
lsrs r2, r0, 24
|
||||
cmp r2, 0xFF
|
||||
beq _08147638
|
||||
ldr r0, _08147634 @ =gTasks
|
||||
lsls r1, r2, 2
|
||||
adds r1, r2
|
||||
lsls r1, 3
|
||||
adds r1, r0
|
||||
movs r0, 0x2
|
||||
strh r0, [r1, 0x8]
|
||||
movs r0, 0x1
|
||||
b _0814763A
|
||||
.align 2, 0
|
||||
_08147630: .4byte sub_8147654
|
||||
_08147634: .4byte gTasks
|
||||
_08147638:
|
||||
movs r0, 0
|
||||
_0814763A:
|
||||
pop {r1}
|
||||
bx r1
|
||||
thumb_func_end sub_814760C
|
||||
|
||||
thumb_func_start sub_8147640
|
||||
sub_8147640: @ 8147640
|
||||
push {lr}
|
||||
ldr r0, _08147650 @ =sub_8147654
|
||||
bl FuncIsActiveTask
|
||||
lsls r0, 24
|
||||
lsrs r0, 24
|
||||
pop {r1}
|
||||
bx r1
|
||||
.align 2, 0
|
||||
_08147650: .4byte sub_8147654
|
||||
thumb_func_end sub_8147640
|
||||
|
||||
thumb_func_start sub_8147654
|
||||
sub_8147654: @ 8147654
|
||||
push {r4,r5,lr}
|
||||
lsls r0, 24
|
||||
lsrs r5, r0, 24
|
||||
lsls r0, r5, 2
|
||||
adds r0, r5
|
||||
lsls r0, 3
|
||||
ldr r1, _08147678 @ =gTasks+0x8
|
||||
adds r4, r0, r1
|
||||
movs r1, 0
|
||||
ldrsh r0, [r4, r1]
|
||||
cmp r0, 0x3
|
||||
beq _081476A0
|
||||
cmp r0, 0x3
|
||||
bgt _0814767C
|
||||
cmp r0, 0x2
|
||||
beq _08147682
|
||||
b _081476D6
|
||||
.align 2, 0
|
||||
_08147678: .4byte gTasks+0x8
|
||||
_0814767C:
|
||||
cmp r0, 0x4
|
||||
beq _081476BC
|
||||
b _081476D6
|
||||
_08147682:
|
||||
ldr r1, _0814769C @ =gUnknown_846B4AC
|
||||
movs r2, 0x2
|
||||
ldrsh r0, [r4, r2]
|
||||
lsls r0, 4
|
||||
adds r1, 0x8
|
||||
adds r0, r1
|
||||
ldr r1, [r0]
|
||||
adds r0, r5, 0
|
||||
bl _call_via_r1
|
||||
movs r0, 0x3
|
||||
strh r0, [r4]
|
||||
b _081476D6
|
||||
.align 2, 0
|
||||
_0814769C: .4byte gUnknown_846B4AC
|
||||
_081476A0:
|
||||
ldr r0, _081476B8 @ =gUnknown_846B4AC
|
||||
movs r2, 0x2
|
||||
ldrsh r1, [r4, r2]
|
||||
lsls r1, 4
|
||||
adds r0, 0xC
|
||||
adds r1, r0
|
||||
ldr r1, [r1]
|
||||
adds r0, r5, 0
|
||||
bl _call_via_r1
|
||||
b _081476D6
|
||||
.align 2, 0
|
||||
_081476B8: .4byte gUnknown_846B4AC
|
||||
_081476BC:
|
||||
ldr r0, _081476DC @ =gUnknown_846B4AC
|
||||
movs r2, 0x2
|
||||
ldrsh r1, [r4, r2]
|
||||
lsls r1, 4
|
||||
adds r0, 0x4
|
||||
adds r1, r0
|
||||
ldr r1, [r1]
|
||||
adds r0, r5, 0
|
||||
bl _call_via_r1
|
||||
adds r0, r5, 0
|
||||
bl DestroyTask
|
||||
_081476D6:
|
||||
pop {r4,r5}
|
||||
pop {r0}
|
||||
bx r0
|
||||
.align 2, 0
|
||||
_081476DC: .4byte gUnknown_846B4AC
|
||||
thumb_func_end sub_8147654
|
||||
|
||||
thumb_func_start sub_81476E0
|
||||
sub_81476E0: @ 81476E0
|
||||
push {r4-r7,lr}
|
||||
mov r7, r8
|
||||
push {r7}
|
||||
adds r4, r1, 0
|
||||
lsls r0, 24
|
||||
lsrs r0, 24
|
||||
mov r8, r0
|
||||
movs r1, 0x6
|
||||
ldrsh r0, [r4, r1]
|
||||
lsls r0, 3
|
||||
ldr r1, _081477B0 @ =gUnknown_846B42C
|
||||
adds r0, r1
|
||||
bl LoadCompressedSpriteSheet
|
||||
movs r2, 0x8
|
||||
ldrsh r0, [r4, r2]
|
||||
lsls r0, 3
|
||||
ldr r1, _081477B4 @ =gUnknown_846B43C
|
||||
adds r0, r1
|
||||
bl LoadSpritePalette
|
||||
movs r5, 0
|
||||
movs r3, 0x10
|
||||
ldrsh r0, [r4, r3]
|
||||
cmp r5, r0
|
||||
bge _08147748
|
||||
_08147714:
|
||||
movs r0, 0x4
|
||||
ldrsh r1, [r4, r0]
|
||||
lsls r0, r1, 1
|
||||
adds r0, r1
|
||||
lsls r0, 3
|
||||
ldr r1, _081477B8 @ =gUnknown_846B494
|
||||
adds r0, r1
|
||||
movs r2, 0x12
|
||||
ldrsh r1, [r4, r2]
|
||||
movs r3, 0x14
|
||||
ldrsh r2, [r4, r3]
|
||||
ldrb r3, [r4, 0xE]
|
||||
bl CreateSprite
|
||||
lsls r1, r5, 1
|
||||
adds r1, r4
|
||||
lsls r0, 24
|
||||
lsrs r0, 24
|
||||
strh r0, [r1, 0x1A]
|
||||
adds r0, r5, 0x1
|
||||
lsls r0, 24
|
||||
lsrs r5, r0, 24
|
||||
movs r1, 0x10
|
||||
ldrsh r0, [r4, r1]
|
||||
cmp r5, r0
|
||||
blt _08147714
|
||||
_08147748:
|
||||
movs r5, 0
|
||||
movs r2, 0x10
|
||||
ldrsh r0, [r4, r2]
|
||||
cmp r5, r0
|
||||
bge _081477A4
|
||||
movs r7, 0x3
|
||||
movs r3, 0xD
|
||||
negs r3, r3
|
||||
mov r12, r3
|
||||
ldr r6, _081477BC @ =gSprites
|
||||
_0814775C:
|
||||
lsls r0, r5, 1
|
||||
adds r0, r4
|
||||
movs r1, 0x1A
|
||||
ldrsh r0, [r0, r1]
|
||||
lsls r2, r0, 4
|
||||
adds r2, r0
|
||||
lsls r2, 2
|
||||
adds r2, r6
|
||||
ldrb r1, [r4, 0xC]
|
||||
ands r1, r7
|
||||
lsls r1, 2
|
||||
ldrb r3, [r2, 0x5]
|
||||
mov r0, r12
|
||||
ands r0, r3
|
||||
orrs r0, r1
|
||||
strb r0, [r2, 0x5]
|
||||
adds r3, r2, 0
|
||||
adds r3, 0x3E
|
||||
ldrb r0, [r3]
|
||||
movs r1, 0x4
|
||||
orrs r0, r1
|
||||
strb r0, [r3]
|
||||
ldrh r0, [r4, 0xA]
|
||||
strh r0, [r2, 0x30]
|
||||
mov r3, r8
|
||||
strh r3, [r2, 0x34]
|
||||
strh r5, [r2, 0x36]
|
||||
ldrh r0, [r4, 0x1A]
|
||||
strh r0, [r2, 0x38]
|
||||
adds r0, r5, 0x1
|
||||
lsls r0, 24
|
||||
lsrs r5, r0, 24
|
||||
movs r1, 0x10
|
||||
ldrsh r0, [r4, r1]
|
||||
cmp r5, r0
|
||||
blt _0814775C
|
||||
_081477A4:
|
||||
pop {r3}
|
||||
mov r8, r3
|
||||
pop {r4-r7}
|
||||
pop {r0}
|
||||
bx r0
|
||||
.align 2, 0
|
||||
_081477B0: .4byte gUnknown_846B42C
|
||||
_081477B4: .4byte gUnknown_846B43C
|
||||
_081477B8: .4byte gUnknown_846B494
|
||||
_081477BC: .4byte gSprites
|
||||
thumb_func_end sub_81476E0
|
||||
|
||||
thumb_func_start sub_81477C0
|
||||
sub_81477C0: @ 81477C0
|
||||
push {r4,r5,lr}
|
||||
lsls r0, 24
|
||||
lsrs r0, 24
|
||||
lsls r4, r0, 2
|
||||
adds r4, r0
|
||||
lsls r4, 3
|
||||
ldr r1, _08147840 @ =gTasks+0x8
|
||||
adds r4, r1
|
||||
movs r5, 0
|
||||
strh r5, [r4, 0x4]
|
||||
strh r5, [r4, 0x6]
|
||||
strh r5, [r4, 0x8]
|
||||
movs r1, 0x3C
|
||||
strh r1, [r4, 0xA]
|
||||
strh r5, [r4, 0xC]
|
||||
strh r5, [r4, 0xE]
|
||||
movs r1, 0x3
|
||||
strh r1, [r4, 0x10]
|
||||
movs r1, 0x78
|
||||
strh r1, [r4, 0x12]
|
||||
movs r1, 0x58
|
||||
strh r1, [r4, 0x14]
|
||||
adds r1, r4, 0
|
||||
bl sub_81476E0
|
||||
movs r0, 0x1C
|
||||
ldrsh r1, [r4, r0]
|
||||
lsls r0, r1, 4
|
||||
adds r0, r1
|
||||
lsls r0, 2
|
||||
ldr r5, _08147844 @ =gSprites
|
||||
adds r0, r5
|
||||
movs r1, 0x4
|
||||
bl StartSpriteAnim
|
||||
movs r0, 0x1C
|
||||
ldrsh r1, [r4, r0]
|
||||
lsls r0, r1, 4
|
||||
adds r0, r1
|
||||
lsls r0, 2
|
||||
adds r0, r5
|
||||
ldr r1, _08147848 @ =0x0000ffe0
|
||||
strh r1, [r0, 0x24]
|
||||
movs r0, 0x1E
|
||||
ldrsh r1, [r4, r0]
|
||||
lsls r0, r1, 4
|
||||
adds r0, r1
|
||||
lsls r0, 2
|
||||
adds r0, r5
|
||||
movs r1, 0x5
|
||||
bl StartSpriteAnim
|
||||
movs r0, 0x1E
|
||||
ldrsh r1, [r4, r0]
|
||||
lsls r0, r1, 4
|
||||
adds r0, r1
|
||||
lsls r0, 2
|
||||
adds r0, r5
|
||||
movs r1, 0x20
|
||||
strh r1, [r0, 0x24]
|
||||
pop {r4,r5}
|
||||
pop {r0}
|
||||
bx r0
|
||||
.align 2, 0
|
||||
_08147840: .4byte gTasks+0x8
|
||||
_08147844: .4byte gSprites
|
||||
_08147848: .4byte 0x0000ffe0
|
||||
thumb_func_end sub_81477C0
|
||||
|
||||
thumb_func_start sub_814784C
|
||||
sub_814784C: @ 814784C
|
||||
push {r4,r5,lr}
|
||||
lsls r0, 24
|
||||
lsrs r0, 24
|
||||
movs r5, 0
|
||||
lsls r1, r0, 2
|
||||
adds r1, r0
|
||||
lsls r1, 3
|
||||
ldr r0, _08147860 @ =gTasks+0x8
|
||||
adds r4, r1, r0
|
||||
b _08147880
|
||||
.align 2, 0
|
||||
_08147860: .4byte gTasks+0x8
|
||||
_08147864:
|
||||
lsls r0, r5, 1
|
||||
adds r0, r4
|
||||
movs r2, 0x1A
|
||||
ldrsh r1, [r0, r2]
|
||||
lsls r0, r1, 4
|
||||
adds r0, r1
|
||||
lsls r0, 2
|
||||
ldr r1, _081478B0 @ =gSprites
|
||||
adds r0, r1
|
||||
bl DestroySprite
|
||||
adds r0, r5, 0x1
|
||||
lsls r0, 24
|
||||
lsrs r5, r0, 24
|
||||
_08147880:
|
||||
movs r1, 0x10
|
||||
ldrsh r0, [r4, r1]
|
||||
cmp r5, r0
|
||||
blt _08147864
|
||||
ldr r1, _081478B4 @ =gUnknown_846B42C
|
||||
movs r2, 0x6
|
||||
ldrsh r0, [r4, r2]
|
||||
lsls r0, 3
|
||||
adds r0, r1
|
||||
ldrh r0, [r0, 0x6]
|
||||
bl FreeSpriteTilesByTag
|
||||
ldr r1, _081478B8 @ =gUnknown_846B43C
|
||||
movs r2, 0x8
|
||||
ldrsh r0, [r4, r2]
|
||||
lsls r0, 3
|
||||
adds r0, r1
|
||||
ldrh r0, [r0, 0x4]
|
||||
bl FreeSpritePaletteByTag
|
||||
pop {r4,r5}
|
||||
pop {r0}
|
||||
bx r0
|
||||
.align 2, 0
|
||||
_081478B0: .4byte gSprites
|
||||
_081478B4: .4byte gUnknown_846B42C
|
||||
_081478B8: .4byte gUnknown_846B43C
|
||||
thumb_func_end sub_814784C
|
||||
|
||||
thumb_func_start sub_81478BC
|
||||
sub_81478BC: @ 81478BC
|
||||
push {r4-r6,lr}
|
||||
adds r6, r0, 0
|
||||
movs r0, 0x34
|
||||
ldrsh r1, [r6, r0]
|
||||
lsls r0, r1, 2
|
||||
adds r0, r1
|
||||
lsls r0, 3
|
||||
ldr r1, _08147900 @ =gTasks+0x8
|
||||
adds r5, r0, r1
|
||||
movs r1, 0x16
|
||||
ldrsh r0, [r5, r1]
|
||||
movs r2, 0xA
|
||||
ldrsh r1, [r5, r2]
|
||||
bl __modsi3
|
||||
cmp r0, 0
|
||||
bne _081479CE
|
||||
ldrh r2, [r5, 0x16]
|
||||
movs r3, 0x16
|
||||
ldrsh r1, [r5, r3]
|
||||
movs r3, 0x14
|
||||
ldrsh r0, [r5, r3]
|
||||
cmp r1, r0
|
||||
beq _081479CE
|
||||
strh r2, [r5, 0x14]
|
||||
movs r1, 0x32
|
||||
ldrsh r0, [r6, r1]
|
||||
cmp r0, 0x4
|
||||
bhi _081479C8
|
||||
lsls r0, 2
|
||||
ldr r1, _08147904 @ =_08147908
|
||||
adds r0, r1
|
||||
ldr r0, [r0]
|
||||
mov pc, r0
|
||||
.align 2, 0
|
||||
_08147900: .4byte gTasks+0x8
|
||||
_08147904: .4byte _08147908
|
||||
.align 2, 0
|
||||
_08147908:
|
||||
.4byte _0814791C
|
||||
.4byte _0814792A
|
||||
.4byte _0814792A
|
||||
.4byte _0814793E
|
||||
.4byte _08147988
|
||||
_0814791C:
|
||||
adds r2, r6, 0
|
||||
adds r2, 0x3E
|
||||
ldrb r1, [r2]
|
||||
movs r0, 0x5
|
||||
negs r0, r0
|
||||
ands r0, r1
|
||||
strb r0, [r2]
|
||||
_0814792A:
|
||||
movs r0, 0x31
|
||||
bl PlaySE
|
||||
ldrh r1, [r6, 0x32]
|
||||
lsls r1, 24
|
||||
lsrs r1, 24
|
||||
adds r0, r6, 0
|
||||
bl StartSpriteAnim
|
||||
b _081479C8
|
||||
_0814793E:
|
||||
movs r0, 0x15
|
||||
bl PlaySE
|
||||
ldrh r1, [r6, 0x32]
|
||||
lsls r1, 24
|
||||
lsrs r1, 24
|
||||
adds r0, r6, 0
|
||||
bl StartSpriteAnim
|
||||
ldr r4, _08147984 @ =gSprites
|
||||
movs r2, 0x1C
|
||||
ldrsh r0, [r5, r2]
|
||||
lsls r1, r0, 4
|
||||
adds r1, r0
|
||||
lsls r1, 2
|
||||
adds r1, r4
|
||||
adds r1, 0x3E
|
||||
ldrb r3, [r1]
|
||||
movs r2, 0x5
|
||||
negs r2, r2
|
||||
adds r0, r2, 0
|
||||
ands r0, r3
|
||||
strb r0, [r1]
|
||||
movs r3, 0x1E
|
||||
ldrsh r1, [r5, r3]
|
||||
lsls r0, r1, 4
|
||||
adds r0, r1
|
||||
lsls r0, 2
|
||||
adds r0, r4
|
||||
adds r0, 0x3E
|
||||
ldrb r1, [r0]
|
||||
ands r2, r1
|
||||
strb r2, [r0]
|
||||
b _081479C8
|
||||
.align 2, 0
|
||||
_08147984: .4byte gSprites
|
||||
_08147988:
|
||||
adds r1, r6, 0
|
||||
adds r1, 0x3E
|
||||
ldrb r0, [r1]
|
||||
movs r2, 0x4
|
||||
orrs r0, r2
|
||||
strb r0, [r1]
|
||||
ldr r3, _081479C4 @ =gSprites
|
||||
movs r0, 0x1C
|
||||
ldrsh r1, [r5, r0]
|
||||
lsls r0, r1, 4
|
||||
adds r0, r1
|
||||
lsls r0, 2
|
||||
adds r0, r3
|
||||
adds r0, 0x3E
|
||||
ldrb r1, [r0]
|
||||
orrs r1, r2
|
||||
strb r1, [r0]
|
||||
movs r0, 0x1E
|
||||
ldrsh r1, [r5, r0]
|
||||
lsls r0, r1, 4
|
||||
adds r0, r1
|
||||
lsls r0, 2
|
||||
adds r0, r3
|
||||
adds r0, 0x3E
|
||||
ldrb r1, [r0]
|
||||
orrs r1, r2
|
||||
strb r1, [r0]
|
||||
movs r0, 0x4
|
||||
strh r0, [r5]
|
||||
b _081479CE
|
||||
.align 2, 0
|
||||
_081479C4: .4byte gSprites
|
||||
_081479C8:
|
||||
ldrh r0, [r6, 0x32]
|
||||
adds r0, 0x1
|
||||
strh r0, [r6, 0x32]
|
||||
_081479CE:
|
||||
pop {r4-r6}
|
||||
pop {r0}
|
||||
bx r0
|
||||
thumb_func_end sub_81478BC
|
||||
|
||||
thumb_func_start sub_81479D4
|
||||
sub_81479D4: @ 81479D4
|
||||
push {r4-r6,lr}
|
||||
lsls r0, 24
|
||||
lsrs r0, 24
|
||||
lsls r4, r0, 2
|
||||
adds r4, r0
|
||||
lsls r4, 3
|
||||
ldr r5, _08147A28 @ =gTasks+0x8
|
||||
adds r6, r4, r5
|
||||
movs r0, 0x31
|
||||
bl PlaySE
|
||||
ldr r2, _08147A2C @ =gSprites
|
||||
movs r0, 0x1A
|
||||
ldrsh r1, [r6, r0]
|
||||
lsls r0, r1, 4
|
||||
adds r0, r1
|
||||
lsls r0, 2
|
||||
adds r1, r2, 0
|
||||
adds r1, 0x1C
|
||||
adds r0, r1
|
||||
ldr r1, _08147A30 @ =sub_81478BC
|
||||
str r1, [r0]
|
||||
movs r0, 0x1A
|
||||
ldrsh r1, [r6, r0]
|
||||
lsls r0, r1, 4
|
||||
adds r0, r1
|
||||
lsls r0, 2
|
||||
adds r0, r2
|
||||
adds r0, 0x3E
|
||||
ldrb r2, [r0]
|
||||
movs r1, 0x5
|
||||
negs r1, r1
|
||||
ands r1, r2
|
||||
strb r1, [r0]
|
||||
subs r5, 0x8
|
||||
adds r4, r5
|
||||
movs r0, 0x3
|
||||
strh r0, [r4, 0x8]
|
||||
pop {r4-r6}
|
||||
pop {r0}
|
||||
bx r0
|
||||
.align 2, 0
|
||||
_08147A28: .4byte gTasks+0x8
|
||||
_08147A2C: .4byte gSprites
|
||||
_08147A30: .4byte sub_81478BC
|
||||
thumb_func_end sub_81479D4
|
||||
|
||||
thumb_func_start sub_8147A34
|
||||
sub_8147A34: @ 8147A34
|
||||
push {r4,r5,lr}
|
||||
sub sp, 0xC
|
||||
lsls r0, 24
|
||||
lsrs r0, 24
|
||||
lsls r1, r0, 2
|
||||
adds r1, r0
|
||||
lsls r1, 3
|
||||
ldr r0, _08147A88 @ =gTasks+0x8
|
||||
adds r4, r1, r0
|
||||
ldr r0, _08147A8C @ =gReceivedRemoteLinkPlayers
|
||||
ldrb r0, [r0]
|
||||
cmp r0, 0
|
||||
beq _08147A98
|
||||
ldr r1, _08147A90 @ =gRecvCmds
|
||||
ldrh r0, [r1, 0x2]
|
||||
ldr r5, _08147A94 @ =0x00007fff
|
||||
cmp r0, r5
|
||||
bne _08147A5C
|
||||
ldrh r0, [r1, 0x4]
|
||||
strh r0, [r4, 0x16]
|
||||
_08147A5C:
|
||||
bl GetMultiplayerId
|
||||
lsls r0, 24
|
||||
cmp r0, 0
|
||||
bne _08147A9E
|
||||
ldrh r0, [r4, 0x18]
|
||||
adds r0, 0x1
|
||||
strh r0, [r4, 0x18]
|
||||
mov r0, sp
|
||||
movs r1, 0
|
||||
movs r2, 0xC
|
||||
bl memset
|
||||
mov r0, sp
|
||||
strh r5, [r0]
|
||||
mov r1, sp
|
||||
ldrh r0, [r4, 0x18]
|
||||
strh r0, [r1, 0x2]
|
||||
mov r0, sp
|
||||
bl sub_80F9E2C
|
||||
b _08147A9E
|
||||
.align 2, 0
|
||||
_08147A88: .4byte gTasks+0x8
|
||||
_08147A8C: .4byte gReceivedRemoteLinkPlayers
|
||||
_08147A90: .4byte gRecvCmds
|
||||
_08147A94: .4byte 0x00007fff
|
||||
_08147A98:
|
||||
ldrh r0, [r4, 0x16]
|
||||
adds r0, 0x1
|
||||
strh r0, [r4, 0x16]
|
||||
_08147A9E:
|
||||
add sp, 0xC
|
||||
pop {r4,r5}
|
||||
pop {r0}
|
||||
bx r0
|
||||
thumb_func_end sub_8147A34
|
||||
|
||||
.align 2, 0 @ Don't pad with nop.
|
||||
File diff suppressed because it is too large
Load Diff
+1015
-1015
File diff suppressed because it is too large
Load Diff
@@ -106,8 +106,8 @@ _081345D0:
|
||||
cmp r0, 0x5
|
||||
beq _08134604
|
||||
_081345D4:
|
||||
movs r0, 0x6
|
||||
bl HelpSystem_SetSomeVariable2
|
||||
movs r0, 0x6 @ HELPCONTEXT_POKEMON_INFO
|
||||
bl SetHelpContext
|
||||
ldr r2, _081345F8 @ =gUnknown_203B140
|
||||
ldr r0, [r2]
|
||||
ldr r3, _081345FC @ =0x00003214
|
||||
@@ -127,8 +127,8 @@ _081345F8: .4byte gUnknown_203B140
|
||||
_081345FC: .4byte 0x00003214
|
||||
_08134600: .4byte 0x00003234
|
||||
_08134604:
|
||||
movs r0, 0x6
|
||||
bl HelpSystem_SetSomeVariable2
|
||||
movs r0, 0x6 @ HELPCONTEXT_POKEMON_INFO
|
||||
bl SetHelpContext
|
||||
ldr r0, [r4]
|
||||
ldr r3, _08134628 @ =0x00003214
|
||||
adds r0, r3
|
||||
@@ -148,8 +148,8 @@ _08134628: .4byte 0x00003214
|
||||
_0813462C: .4byte 0x0000321c
|
||||
_08134630: .4byte 0x00003234
|
||||
_08134634:
|
||||
movs r0, 0x8
|
||||
bl HelpSystem_SetSomeVariable2
|
||||
movs r0, 0x8 @ HELPCONTEXT_POKEMON_MOVES
|
||||
bl SetHelpContext
|
||||
ldr r0, [r4]
|
||||
ldr r3, _08134710 @ =0x00003214
|
||||
adds r0, r3
|
||||
@@ -3187,7 +3187,7 @@ _08135FC8: .4byte gUnknown_8E9B310
|
||||
_08135FCC:
|
||||
movs r0, 0x60
|
||||
movs r1, 0x1
|
||||
bl sub_8107D38
|
||||
bl ListMenuLoadStdPalAt
|
||||
ldr r0, _08135FE0 @ =gUnknown_84636C0
|
||||
movs r1, 0x70
|
||||
_08135FD8:
|
||||
@@ -7600,15 +7600,15 @@ _08138460: .4byte 0x00003214
|
||||
_08138464:
|
||||
cmp r0, 0x3
|
||||
bgt _08138476
|
||||
movs r0, 0x8
|
||||
movs r0, 0x8 @ HELPCONTEXT_POKEMON_MOVES
|
||||
b _08138472
|
||||
_0813846C:
|
||||
movs r0, 0x6
|
||||
movs r0, 0x6 @ HELPCONTEXT_POKEMON_INFO
|
||||
b _08138472
|
||||
_08138470:
|
||||
movs r0, 0x7
|
||||
movs r0, 0x7 @ HELPCONTEXT_POKEMON_SKILLS
|
||||
_08138472:
|
||||
bl HelpSystem_SetSomeVariable2
|
||||
bl SetHelpContext
|
||||
_08138476:
|
||||
pop {r0}
|
||||
bx r0
|
||||
|
||||
@@ -1,602 +0,0 @@
|
||||
.include "asm/macros.inc"
|
||||
.include "constants/constants.inc"
|
||||
|
||||
.syntax unified
|
||||
|
||||
.text
|
||||
|
||||
thumb_func_start ScriptMovement_StartObjectMovementScript
|
||||
ScriptMovement_StartObjectMovementScript: @ 8097434
|
||||
push {r4,lr}
|
||||
sub sp, 0x4
|
||||
adds r4, r3, 0
|
||||
lsls r0, 24
|
||||
lsrs r0, 24
|
||||
lsls r1, 24
|
||||
lsrs r1, 24
|
||||
lsls r2, 24
|
||||
lsrs r2, 24
|
||||
mov r3, sp
|
||||
bl TryGetObjectEventIdByLocalIdAndMap
|
||||
lsls r0, 24
|
||||
cmp r0, 0
|
||||
beq _08097456
|
||||
movs r0, 0x1
|
||||
b _0809747E
|
||||
_08097456:
|
||||
ldr r0, _08097488 @ =Task_80A244C
|
||||
bl FuncIsActiveTask
|
||||
lsls r0, 24
|
||||
cmp r0, 0
|
||||
bne _08097468
|
||||
movs r0, 0x32
|
||||
bl sub_80974F8
|
||||
_08097468:
|
||||
bl sub_8097540
|
||||
lsls r0, 24
|
||||
lsrs r0, 24
|
||||
mov r1, sp
|
||||
ldrb r1, [r1]
|
||||
adds r2, r4, 0
|
||||
bl sub_8097554
|
||||
lsls r0, 24
|
||||
lsrs r0, 24
|
||||
_0809747E:
|
||||
add sp, 0x4
|
||||
pop {r4}
|
||||
pop {r1}
|
||||
bx r1
|
||||
.align 2, 0
|
||||
_08097488: .4byte Task_80A244C
|
||||
thumb_func_end ScriptMovement_StartObjectMovementScript
|
||||
|
||||
thumb_func_start ScriptMovement_IsObjectMovementFinished
|
||||
ScriptMovement_IsObjectMovementFinished: @ 809748C
|
||||
push {r4,lr}
|
||||
sub sp, 0x4
|
||||
lsls r0, 24
|
||||
lsrs r0, 24
|
||||
lsls r1, 24
|
||||
lsrs r1, 24
|
||||
lsls r2, 24
|
||||
lsrs r2, 24
|
||||
mov r3, sp
|
||||
bl TryGetObjectEventIdByLocalIdAndMap
|
||||
lsls r0, 24
|
||||
cmp r0, 0
|
||||
bne _080974CE
|
||||
bl sub_8097540
|
||||
lsls r0, 24
|
||||
lsrs r4, r0, 24
|
||||
mov r0, sp
|
||||
ldrb r1, [r0]
|
||||
adds r0, r4, 0
|
||||
bl sub_80975C0
|
||||
lsls r0, 24
|
||||
lsrs r1, r0, 24
|
||||
cmp r1, 0x10
|
||||
beq _080974CE
|
||||
adds r0, r4, 0
|
||||
bl sub_80976D0
|
||||
lsls r0, 24
|
||||
lsrs r0, 24
|
||||
b _080974D0
|
||||
_080974CE:
|
||||
movs r0, 0x1
|
||||
_080974D0:
|
||||
add sp, 0x4
|
||||
pop {r4}
|
||||
pop {r1}
|
||||
bx r1
|
||||
thumb_func_end ScriptMovement_IsObjectMovementFinished
|
||||
|
||||
thumb_func_start sub_80974D8
|
||||
sub_80974D8: @ 80974D8
|
||||
push {r4,lr}
|
||||
bl sub_8097540
|
||||
lsls r0, 24
|
||||
lsrs r4, r0, 24
|
||||
cmp r4, 0xFF
|
||||
beq _080974F2
|
||||
adds r0, r4, 0
|
||||
bl UnfreezeObjects
|
||||
adds r0, r4, 0
|
||||
bl DestroyTask
|
||||
_080974F2:
|
||||
pop {r4}
|
||||
pop {r0}
|
||||
bx r0
|
||||
thumb_func_end sub_80974D8
|
||||
|
||||
thumb_func_start sub_80974F8
|
||||
sub_80974F8: @ 80974F8
|
||||
push {r4,r5,lr}
|
||||
adds r1, r0, 0
|
||||
lsls r1, 24
|
||||
lsrs r1, 24
|
||||
ldr r0, _08097534 @ =Task_80A244C
|
||||
bl CreateTask
|
||||
lsls r0, 24
|
||||
lsrs r0, 24
|
||||
movs r2, 0x1
|
||||
lsls r1, r0, 2
|
||||
adds r1, r0
|
||||
lsls r3, r1, 3
|
||||
ldr r5, _08097538 @ =gTasks+0x8
|
||||
ldr r0, _0809753C @ =0x0000ffff
|
||||
adds r4, r0, 0
|
||||
_08097518:
|
||||
lsls r0, r2, 1
|
||||
adds r0, r3
|
||||
adds r0, r5
|
||||
ldrh r1, [r0]
|
||||
orrs r1, r4
|
||||
strh r1, [r0]
|
||||
adds r0, r2, 0x1
|
||||
lsls r0, 24
|
||||
lsrs r2, r0, 24
|
||||
cmp r2, 0xF
|
||||
bls _08097518
|
||||
pop {r4,r5}
|
||||
pop {r0}
|
||||
bx r0
|
||||
.align 2, 0
|
||||
_08097534: .4byte Task_80A244C
|
||||
_08097538: .4byte gTasks+0x8
|
||||
_0809753C: .4byte 0x0000ffff
|
||||
thumb_func_end sub_80974F8
|
||||
|
||||
thumb_func_start sub_8097540
|
||||
sub_8097540: @ 8097540
|
||||
push {lr}
|
||||
ldr r0, _08097550 @ =Task_80A244C
|
||||
bl FindTaskIdByFunc
|
||||
lsls r0, 24
|
||||
lsrs r0, 24
|
||||
pop {r1}
|
||||
bx r1
|
||||
.align 2, 0
|
||||
_08097550: .4byte Task_80A244C
|
||||
thumb_func_end sub_8097540
|
||||
|
||||
thumb_func_start sub_8097554
|
||||
sub_8097554: @ 8097554
|
||||
push {r4-r7,lr}
|
||||
mov r7, r9
|
||||
mov r6, r8
|
||||
push {r6,r7}
|
||||
mov r9, r2
|
||||
lsls r0, 24
|
||||
lsrs r5, r0, 24
|
||||
adds r7, r5, 0
|
||||
lsls r1, 24
|
||||
lsrs r6, r1, 24
|
||||
mov r8, r6
|
||||
adds r0, r5, 0
|
||||
adds r1, r6, 0
|
||||
bl sub_80975C0
|
||||
lsls r0, 24
|
||||
lsrs r4, r0, 24
|
||||
cmp r4, 0x10
|
||||
beq _08097590
|
||||
adds r0, r5, 0
|
||||
adds r1, r4, 0
|
||||
bl sub_80976D0
|
||||
lsls r0, 24
|
||||
cmp r0, 0
|
||||
beq _080975B0
|
||||
adds r0, r5, 0
|
||||
adds r1, r4, 0
|
||||
adds r2, r6, 0
|
||||
b _080975A6
|
||||
_08097590:
|
||||
adds r0, r7, 0
|
||||
movs r1, 0xFF
|
||||
bl sub_80975C0
|
||||
lsls r0, 24
|
||||
lsrs r4, r0, 24
|
||||
cmp r4, 0x10
|
||||
beq _080975B0
|
||||
adds r0, r7, 0
|
||||
adds r1, r4, 0
|
||||
mov r2, r8
|
||||
_080975A6:
|
||||
mov r3, r9
|
||||
bl sub_8097728
|
||||
movs r0, 0
|
||||
b _080975B2
|
||||
_080975B0:
|
||||
movs r0, 0x1
|
||||
_080975B2:
|
||||
pop {r3,r4}
|
||||
mov r8, r3
|
||||
mov r9, r4
|
||||
pop {r4-r7}
|
||||
pop {r1}
|
||||
bx r1
|
||||
thumb_func_end sub_8097554
|
||||
|
||||
thumb_func_start sub_80975C0
|
||||
sub_80975C0: @ 80975C0
|
||||
push {lr}
|
||||
lsls r0, 24
|
||||
lsrs r0, 24
|
||||
lsls r1, 24
|
||||
lsrs r3, r1, 24
|
||||
lsls r1, r0, 2
|
||||
adds r1, r0
|
||||
lsls r1, 3
|
||||
ldr r0, _080975E4 @ =gTasks+0x8
|
||||
adds r1, r0
|
||||
adds r1, 0x2
|
||||
movs r2, 0
|
||||
_080975D8:
|
||||
ldrb r0, [r1]
|
||||
cmp r0, r3
|
||||
bne _080975E8
|
||||
adds r0, r2, 0
|
||||
b _080975F6
|
||||
.align 2, 0
|
||||
_080975E4: .4byte gTasks+0x8
|
||||
_080975E8:
|
||||
adds r0, r2, 0x1
|
||||
lsls r0, 24
|
||||
lsrs r2, r0, 24
|
||||
adds r1, 0x1
|
||||
cmp r2, 0xF
|
||||
bls _080975D8
|
||||
movs r0, 0x10
|
||||
_080975F6:
|
||||
pop {r1}
|
||||
bx r1
|
||||
thumb_func_end sub_80975C0
|
||||
|
||||
thumb_func_start sub_80975FC
|
||||
sub_80975FC: @ 80975FC
|
||||
push {lr}
|
||||
lsls r0, 24
|
||||
lsrs r0, 24
|
||||
lsls r1, 24
|
||||
lsrs r3, r1, 24
|
||||
lsls r1, r0, 2
|
||||
adds r1, r0
|
||||
lsls r1, 3
|
||||
ldr r0, _0809762C @ =gTasks+0x8
|
||||
adds r1, r0
|
||||
adds r1, 0x2
|
||||
str r1, [r2]
|
||||
movs r0, 0
|
||||
cmp r0, r3
|
||||
bcs _08097628
|
||||
_0809761A:
|
||||
adds r0, 0x1
|
||||
lsls r0, 24
|
||||
lsrs r0, 24
|
||||
adds r1, 0x1
|
||||
cmp r0, r3
|
||||
bcc _0809761A
|
||||
str r1, [r2]
|
||||
_08097628:
|
||||
pop {r0}
|
||||
bx r0
|
||||
.align 2, 0
|
||||
_0809762C: .4byte gTasks+0x8
|
||||
thumb_func_end sub_80975FC
|
||||
|
||||
thumb_func_start sub_8097630
|
||||
sub_8097630: @ 8097630
|
||||
push {r4,lr}
|
||||
sub sp, 0x4
|
||||
adds r4, r2, 0
|
||||
lsls r0, 24
|
||||
lsrs r0, 24
|
||||
lsls r1, 24
|
||||
lsrs r1, 24
|
||||
lsls r4, 24
|
||||
lsrs r4, 24
|
||||
mov r2, sp
|
||||
bl sub_80975FC
|
||||
ldr r0, [sp]
|
||||
strb r4, [r0]
|
||||
add sp, 0x4
|
||||
pop {r4}
|
||||
pop {r0}
|
||||
bx r0
|
||||
thumb_func_end sub_8097630
|
||||
|
||||
thumb_func_start sub_8097654
|
||||
sub_8097654: @ 8097654
|
||||
push {r4,lr}
|
||||
sub sp, 0x4
|
||||
adds r4, r2, 0
|
||||
lsls r0, 24
|
||||
lsrs r0, 24
|
||||
lsls r1, 24
|
||||
lsrs r1, 24
|
||||
mov r2, sp
|
||||
bl sub_80975FC
|
||||
ldr r0, [sp]
|
||||
ldrb r0, [r0]
|
||||
strb r0, [r4]
|
||||
add sp, 0x4
|
||||
pop {r4}
|
||||
pop {r0}
|
||||
bx r0
|
||||
thumb_func_end sub_8097654
|
||||
|
||||
thumb_func_start sub_8097678
|
||||
sub_8097678: @ 8097678
|
||||
lsls r0, 24
|
||||
lsrs r0, 24
|
||||
lsls r1, 24
|
||||
ldr r2, _080976A0 @ =gBitTable
|
||||
lsrs r1, 22
|
||||
adds r1, r2
|
||||
ldr r2, [r1]
|
||||
mvns r2, r2
|
||||
lsls r2, 16
|
||||
lsrs r2, 16
|
||||
ldr r3, _080976A4 @ =gTasks
|
||||
lsls r1, r0, 2
|
||||
adds r1, r0
|
||||
lsls r1, 3
|
||||
adds r1, r3
|
||||
ldrh r0, [r1, 0x8]
|
||||
ands r2, r0
|
||||
strh r2, [r1, 0x8]
|
||||
bx lr
|
||||
.align 2, 0
|
||||
_080976A0: .4byte gBitTable
|
||||
_080976A4: .4byte gTasks
|
||||
thumb_func_end sub_8097678
|
||||
|
||||
thumb_func_start sub_80976A8
|
||||
sub_80976A8: @ 80976A8
|
||||
lsls r0, 24
|
||||
lsrs r0, 24
|
||||
lsls r1, 24
|
||||
ldr r3, _080976C8 @ =gTasks
|
||||
lsls r2, r0, 2
|
||||
adds r2, r0
|
||||
lsls r2, 3
|
||||
adds r2, r3
|
||||
ldr r0, _080976CC @ =gBitTable
|
||||
lsrs r1, 22
|
||||
adds r1, r0
|
||||
ldr r0, [r1]
|
||||
ldrh r1, [r2, 0x8]
|
||||
orrs r0, r1
|
||||
strh r0, [r2, 0x8]
|
||||
bx lr
|
||||
.align 2, 0
|
||||
_080976C8: .4byte gTasks
|
||||
_080976CC: .4byte gBitTable
|
||||
thumb_func_end sub_80976A8
|
||||
|
||||
thumb_func_start sub_80976D0
|
||||
sub_80976D0: @ 80976D0
|
||||
push {lr}
|
||||
lsls r0, 24
|
||||
lsrs r0, 24
|
||||
lsls r1, 24
|
||||
ldr r3, _080976F8 @ =gTasks
|
||||
lsls r2, r0, 2
|
||||
adds r2, r0
|
||||
lsls r2, 3
|
||||
adds r2, r3
|
||||
ldr r0, _080976FC @ =gBitTable
|
||||
lsrs r1, 22
|
||||
adds r1, r0
|
||||
ldr r0, [r1]
|
||||
ldrh r1, [r2, 0x8]
|
||||
ands r0, r1
|
||||
cmp r0, 0
|
||||
bne _08097700
|
||||
movs r0, 0
|
||||
b _08097702
|
||||
.align 2, 0
|
||||
_080976F8: .4byte gTasks
|
||||
_080976FC: .4byte gBitTable
|
||||
_08097700:
|
||||
movs r0, 0x1
|
||||
_08097702:
|
||||
pop {r1}
|
||||
bx r1
|
||||
thumb_func_end sub_80976D0
|
||||
|
||||
thumb_func_start npc_obj_offscreen_culling_and_flag_update
|
||||
npc_obj_offscreen_culling_and_flag_update: @ 8097708
|
||||
lsls r0, 24
|
||||
ldr r2, _08097714 @ =gUnknown_2039830
|
||||
lsrs r0, 22
|
||||
adds r0, r2
|
||||
str r1, [r0]
|
||||
bx lr
|
||||
.align 2, 0
|
||||
_08097714: .4byte gUnknown_2039830
|
||||
thumb_func_end npc_obj_offscreen_culling_and_flag_update
|
||||
|
||||
thumb_func_start sub_8097718
|
||||
sub_8097718: @ 8097718
|
||||
lsls r0, 24
|
||||
ldr r1, _08097724 @ =gUnknown_2039830
|
||||
lsrs r0, 22
|
||||
adds r0, r1
|
||||
ldr r0, [r0]
|
||||
bx lr
|
||||
.align 2, 0
|
||||
_08097724: .4byte gUnknown_2039830
|
||||
thumb_func_end sub_8097718
|
||||
|
||||
thumb_func_start sub_8097728
|
||||
sub_8097728: @ 8097728
|
||||
push {r4-r6,lr}
|
||||
mov r6, r8
|
||||
push {r6}
|
||||
adds r5, r0, 0
|
||||
adds r4, r1, 0
|
||||
adds r6, r2, 0
|
||||
mov r8, r3
|
||||
lsls r5, 24
|
||||
lsrs r5, 24
|
||||
lsls r4, 24
|
||||
lsrs r4, 24
|
||||
lsls r6, 24
|
||||
lsrs r6, 24
|
||||
adds r0, r5, 0
|
||||
adds r1, r4, 0
|
||||
bl sub_8097678
|
||||
adds r0, r4, 0
|
||||
mov r1, r8
|
||||
bl npc_obj_offscreen_culling_and_flag_update
|
||||
adds r0, r5, 0
|
||||
adds r1, r4, 0
|
||||
adds r2, r6, 0
|
||||
bl sub_8097630
|
||||
pop {r3}
|
||||
mov r8, r3
|
||||
pop {r4-r6}
|
||||
pop {r0}
|
||||
bx r0
|
||||
thumb_func_end sub_8097728
|
||||
|
||||
thumb_func_start UnfreezeObjects
|
||||
UnfreezeObjects: @ 8097768
|
||||
push {r4,r5,lr}
|
||||
lsls r0, 24
|
||||
lsrs r0, 24
|
||||
lsls r1, r0, 2
|
||||
adds r1, r0
|
||||
lsls r1, 3
|
||||
ldr r0, _080977A4 @ =gTasks+0x8
|
||||
adds r1, r0
|
||||
adds r4, r1, 0x2
|
||||
movs r5, 0
|
||||
_0809777C:
|
||||
ldrb r0, [r4]
|
||||
cmp r0, 0xFF
|
||||
beq _08097792
|
||||
adds r1, r0, 0
|
||||
lsls r0, r1, 3
|
||||
adds r0, r1
|
||||
lsls r0, 2
|
||||
ldr r1, _080977A8 @ =gObjectEvents
|
||||
adds r0, r1
|
||||
bl UnfreezeObjectEvent
|
||||
_08097792:
|
||||
adds r0, r5, 0x1
|
||||
lsls r0, 24
|
||||
lsrs r5, r0, 24
|
||||
adds r4, 0x1
|
||||
cmp r5, 0xF
|
||||
bls _0809777C
|
||||
pop {r4,r5}
|
||||
pop {r0}
|
||||
bx r0
|
||||
.align 2, 0
|
||||
_080977A4: .4byte gTasks+0x8
|
||||
_080977A8: .4byte gObjectEvents
|
||||
thumb_func_end UnfreezeObjects
|
||||
|
||||
thumb_func_start Task_80A244C
|
||||
Task_80A244C: @ 80977AC
|
||||
push {r4-r7,lr}
|
||||
sub sp, 0x4
|
||||
lsls r0, 24
|
||||
lsrs r7, r0, 24
|
||||
movs r5, 0
|
||||
mov r6, sp
|
||||
_080977B8:
|
||||
adds r0, r7, 0
|
||||
adds r1, r5, 0
|
||||
mov r2, sp
|
||||
bl sub_8097654
|
||||
ldrb r0, [r6]
|
||||
cmp r0, 0xFF
|
||||
beq _080977DC
|
||||
adds r4, r0, 0
|
||||
adds r0, r5, 0
|
||||
bl sub_8097718
|
||||
adds r3, r0, 0
|
||||
adds r0, r7, 0
|
||||
adds r1, r5, 0
|
||||
adds r2, r4, 0
|
||||
bl sub_80977F0
|
||||
_080977DC:
|
||||
adds r0, r5, 0x1
|
||||
lsls r0, 24
|
||||
lsrs r5, r0, 24
|
||||
cmp r5, 0xF
|
||||
bls _080977B8
|
||||
add sp, 0x4
|
||||
pop {r4-r7}
|
||||
pop {r0}
|
||||
bx r0
|
||||
thumb_func_end Task_80A244C
|
||||
|
||||
thumb_func_start sub_80977F0
|
||||
sub_80977F0: @ 80977F0
|
||||
push {r4-r7,lr}
|
||||
mov r7, r8
|
||||
push {r7}
|
||||
adds r6, r3, 0
|
||||
lsls r0, 24
|
||||
lsrs r0, 24
|
||||
adds r7, r0, 0
|
||||
lsls r1, 24
|
||||
lsrs r5, r1, 24
|
||||
mov r8, r5
|
||||
lsls r2, 24
|
||||
lsrs r4, r2, 24
|
||||
adds r1, r5, 0
|
||||
bl sub_80976D0
|
||||
lsls r0, 24
|
||||
lsrs r0, 24
|
||||
cmp r0, 0x1
|
||||
beq _0809786A
|
||||
lsls r0, r4, 3
|
||||
adds r0, r4
|
||||
lsls r0, 2
|
||||
ldr r1, _08097850 @ =gObjectEvents
|
||||
adds r4, r0, r1
|
||||
adds r0, r4, 0
|
||||
bl ObjectEventIsHeldMovementActive
|
||||
lsls r0, 24
|
||||
cmp r0, 0
|
||||
beq _08097838
|
||||
adds r0, r4, 0
|
||||
bl ObjectEventClearHeldMovementIfFinished
|
||||
lsls r0, 24
|
||||
cmp r0, 0
|
||||
beq _0809786A
|
||||
_08097838:
|
||||
ldrb r1, [r6]
|
||||
cmp r1, 0xFE
|
||||
bne _08097854
|
||||
adds r0, r7, 0
|
||||
adds r1, r5, 0
|
||||
bl sub_80976A8
|
||||
adds r0, r4, 0
|
||||
bl FreezeObjectEvent
|
||||
b _0809786A
|
||||
.align 2, 0
|
||||
_08097850: .4byte gObjectEvents
|
||||
_08097854:
|
||||
adds r0, r4, 0
|
||||
bl ObjectEventSetHeldMovement
|
||||
lsls r0, 24
|
||||
cmp r0, 0
|
||||
bne _0809786A
|
||||
adds r6, 0x1
|
||||
mov r0, r8
|
||||
adds r1, r6, 0
|
||||
bl npc_obj_offscreen_culling_and_flag_update
|
||||
_0809786A:
|
||||
pop {r3}
|
||||
mov r8, r3
|
||||
pop {r4-r7}
|
||||
pop {r0}
|
||||
bx r0
|
||||
thumb_func_end sub_80977F0
|
||||
|
||||
.align 2, 0 @ Don't pad with nop.
|
||||
-1628
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user