Merge branch 'master' into event_object_movement

This commit is contained in:
ultima-soul
2020-03-13 00:32:04 -07:00
3241 changed files with 80742 additions and 133435 deletions
-1473
View File
File diff suppressed because it is too large Load Diff
-580
View File
@@ -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
View File
File diff suppressed because it is too large Load Diff
-3431
View File
File diff suppressed because it is too large Load Diff
+2 -2
View File
@@ -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
View File
File diff suppressed because it is too large Load Diff
-469
View File
@@ -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
-734
View File
@@ -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
View File
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
View File
File diff suppressed because it is too large Load Diff
+13 -13
View File
@@ -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
View File
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
-306
View File
@@ -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
View File
@@ -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
View File
@@ -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
+3 -3
View File
@@ -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
-535
View File
@@ -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.
-964
View File
@@ -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.
-697
View File
@@ -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
+1
View File
@@ -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
+1 -1
View File
@@ -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
View File
@@ -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
+1 -1
View File
@@ -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
+133
View File
@@ -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
View File
File diff suppressed because it is too large Load Diff
+137 -137
View File
@@ -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
+1 -1
View File
@@ -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
-642
View File
@@ -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.
-8055
View File
File diff suppressed because it is too large Load Diff
+1015 -1015
View File
File diff suppressed because it is too large Load Diff
+11 -11
View File
@@ -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
-602
View File
@@ -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
View File
File diff suppressed because it is too large Load Diff