mirror of
https://github.com/Ninjdai1/pokeemerald.git
synced 2025-02-09 14:53:01 +01:00
Merge branch 'master' of https://github.com/pret/pokeemerald into decompile_item_menu
This commit is contained in:
commit
e78697494c
@ -178,7 +178,7 @@ _080B24C8:
|
|||||||
b _080B24F2
|
b _080B24F2
|
||||||
_080B24CC:
|
_080B24CC:
|
||||||
ldr r4, =gStringVar1
|
ldr r4, =gStringVar1
|
||||||
bl sub_800ABAC
|
bl GetLinkPlayerCount_2
|
||||||
adds r1, r0, 0
|
adds r1, r0, 0
|
||||||
lsls r1, 24
|
lsls r1, 24
|
||||||
lsrs r1, 24
|
lsrs r1, 24
|
||||||
@ -239,7 +239,7 @@ sub_80B252C: @ 80B252C
|
|||||||
ands r0, r1
|
ands r0, r1
|
||||||
cmp r0, 0
|
cmp r0, 0
|
||||||
beq _080B2570
|
beq _080B2570
|
||||||
bl sub_800B320
|
bl IsLinkConnectionEstablished
|
||||||
lsls r0, 24
|
lsls r0, 24
|
||||||
lsrs r1, r0, 24
|
lsrs r1, r0, 24
|
||||||
cmp r1, 0
|
cmp r1, 0
|
||||||
@ -269,7 +269,7 @@ sub_80B2578: @ 80B2578
|
|||||||
push {r4,lr}
|
push {r4,lr}
|
||||||
lsls r0, 24
|
lsls r0, 24
|
||||||
lsrs r4, r0, 24
|
lsrs r4, r0, 24
|
||||||
bl sub_800B320
|
bl IsLinkConnectionEstablished
|
||||||
lsls r0, 24
|
lsls r0, 24
|
||||||
cmp r0, 0
|
cmp r0, 0
|
||||||
beq _080B258E
|
beq _080B258E
|
||||||
@ -404,7 +404,7 @@ sub_80B2688: @ 80B2688
|
|||||||
push {r4,r5,lr}
|
push {r4,r5,lr}
|
||||||
lsls r0, 24
|
lsls r0, 24
|
||||||
lsrs r4, r0, 24
|
lsrs r4, r0, 24
|
||||||
bl sub_800ABAC
|
bl GetLinkPlayerCount_2
|
||||||
lsls r0, 24
|
lsls r0, 24
|
||||||
lsrs r5, r0, 24
|
lsrs r5, r0, 24
|
||||||
adds r0, r4, 0
|
adds r0, r4, 0
|
||||||
@ -426,7 +426,7 @@ sub_80B2688: @ 80B2688
|
|||||||
adds r4, r0, r1
|
adds r4, r0, r1
|
||||||
movs r0, 0
|
movs r0, 0
|
||||||
strh r0, [r4, 0xE]
|
strh r0, [r4, 0xE]
|
||||||
bl sub_800ABBC
|
bl IsLinkMaster
|
||||||
lsls r0, 24
|
lsls r0, 24
|
||||||
lsrs r0, 24
|
lsrs r0, 24
|
||||||
cmp r0, 0x1
|
cmp r0, 0x1
|
||||||
@ -506,7 +506,7 @@ sub_80B275C: @ 80B275C
|
|||||||
mov r9, r0
|
mov r9, r0
|
||||||
mov r7, r8
|
mov r7, r8
|
||||||
add r7, r9
|
add r7, r9
|
||||||
bl sub_800ABAC
|
bl GetLinkPlayerCount_2
|
||||||
lsls r0, 24
|
lsls r0, 24
|
||||||
lsrs r5, r0, 24
|
lsrs r5, r0, 24
|
||||||
adds r0, r4, 0
|
adds r0, r4, 0
|
||||||
@ -585,7 +585,7 @@ sub_80B2804: @ 80B2804
|
|||||||
bne _080B2898
|
bne _080B2898
|
||||||
bl sub_800AA48
|
bl sub_800AA48
|
||||||
adds r4, r0, 0
|
adds r4, r0, 0
|
||||||
bl sub_800ABAC
|
bl GetLinkPlayerCount_2
|
||||||
lsls r4, 24
|
lsls r4, 24
|
||||||
lsls r0, 24
|
lsls r0, 24
|
||||||
cmp r4, r0
|
cmp r4, r0
|
||||||
@ -652,7 +652,7 @@ sub_80B28A8: @ 80B28A8
|
|||||||
lsrs r0, 24
|
lsrs r0, 24
|
||||||
cmp r0, 0x1
|
cmp r0, 0x1
|
||||||
beq _080B290A
|
beq _080B290A
|
||||||
bl sub_800ABAC
|
bl GetLinkPlayerCount_2
|
||||||
adds r4, r0, 0
|
adds r4, r0, 0
|
||||||
bl sub_800AA48
|
bl sub_800AA48
|
||||||
lsls r4, 24
|
lsls r4, 24
|
||||||
@ -729,13 +729,13 @@ _080B297C:
|
|||||||
cmp r2, 0x9
|
cmp r2, 0x9
|
||||||
bne _080B2994
|
bne _080B2994
|
||||||
_080B2984:
|
_080B2984:
|
||||||
bl sub_80097E8
|
bl CloseLink
|
||||||
bl HideFieldMessageBox
|
bl HideFieldMessageBox
|
||||||
ldr r0, =sub_80B2CB0
|
ldr r0, =sub_80B2CB0
|
||||||
b _080B29E4
|
b _080B29E4
|
||||||
.pool
|
.pool
|
||||||
_080B2994:
|
_080B2994:
|
||||||
bl sub_800ABAC
|
bl GetLinkPlayerCount_2
|
||||||
ldr r4, =gUnknown_03005DB8
|
ldr r4, =gUnknown_03005DB8
|
||||||
strb r0, [r4]
|
strb r0, [r4]
|
||||||
bl GetMultiplayerId
|
bl GetMultiplayerId
|
||||||
@ -812,7 +812,7 @@ _080B2A42:
|
|||||||
cmp r0, 0x9
|
cmp r0, 0x9
|
||||||
bne _080B2A6C
|
bne _080B2A6C
|
||||||
_080B2A4A:
|
_080B2A4A:
|
||||||
bl sub_80097E8
|
bl CloseLink
|
||||||
_080B2A4E:
|
_080B2A4E:
|
||||||
bl HideFieldMessageBox
|
bl HideFieldMessageBox
|
||||||
ldr r0, =gTasks
|
ldr r0, =gTasks
|
||||||
@ -825,7 +825,7 @@ _080B2A4E:
|
|||||||
b _080B2ACE
|
b _080B2ACE
|
||||||
.pool
|
.pool
|
||||||
_080B2A6C:
|
_080B2A6C:
|
||||||
bl sub_800ABAC
|
bl GetLinkPlayerCount_2
|
||||||
ldr r4, =gUnknown_03005DB8
|
ldr r4, =gUnknown_03005DB8
|
||||||
strb r0, [r4]
|
strb r0, [r4]
|
||||||
bl GetMultiplayerId
|
bl GetMultiplayerId
|
||||||
@ -1610,7 +1610,7 @@ sub_80B3144: @ 80B3144
|
|||||||
ldrsh r2, [r4, r3]
|
ldrsh r2, [r4, r3]
|
||||||
cmp r2, 0
|
cmp r2, 0
|
||||||
bne _080B3178
|
bne _080B3178
|
||||||
bl sub_8009734
|
bl OpenLink
|
||||||
bl sub_800A2BC
|
bl sub_800A2BC
|
||||||
ldr r0, =task00_08081A90
|
ldr r0, =task00_08081A90
|
||||||
movs r1, 0x50
|
movs r1, 0x50
|
||||||
@ -1640,12 +1640,12 @@ sub_80B3194: @ 80B3194
|
|||||||
lsls r0, 24
|
lsls r0, 24
|
||||||
lsrs r4, r0, 24
|
lsrs r4, r0, 24
|
||||||
adds r5, r4, 0
|
adds r5, r4, 0
|
||||||
bl sub_800ABAC
|
bl GetLinkPlayerCount_2
|
||||||
lsls r0, 24
|
lsls r0, 24
|
||||||
lsrs r0, 24
|
lsrs r0, 24
|
||||||
cmp r0, 0x1
|
cmp r0, 0x1
|
||||||
bls _080B31DA
|
bls _080B31DA
|
||||||
bl sub_800ABBC
|
bl IsLinkMaster
|
||||||
lsls r0, 24
|
lsls r0, 24
|
||||||
lsrs r0, 24
|
lsrs r0, 24
|
||||||
cmp r0, 0x1
|
cmp r0, 0x1
|
||||||
@ -1681,7 +1681,7 @@ sub_80B31E8: @ 80B31E8
|
|||||||
lsrs r5, r0, 24
|
lsrs r5, r0, 24
|
||||||
bl sub_800AA48
|
bl sub_800AA48
|
||||||
adds r4, r0, 0
|
adds r4, r0, 0
|
||||||
bl sub_800ABAC
|
bl GetLinkPlayerCount_2
|
||||||
lsls r4, 24
|
lsls r4, 24
|
||||||
lsls r0, 24
|
lsls r0, 24
|
||||||
cmp r4, r0
|
cmp r4, r0
|
||||||
@ -2651,7 +2651,7 @@ task00_08081A90: @ 80B3A30
|
|||||||
lsls r0, 17
|
lsls r0, 17
|
||||||
cmp r1, r0
|
cmp r1, r0
|
||||||
ble _080B3A62
|
ble _080B3A62
|
||||||
bl sub_80097E8
|
bl CloseLink
|
||||||
ldr r0, =c2_800ACD4
|
ldr r0, =c2_800ACD4
|
||||||
bl SetMainCallback2
|
bl SetMainCallback2
|
||||||
adds r0, r4, 0
|
adds r0, r4, 0
|
||||||
@ -2669,7 +2669,7 @@ _080B3A62:
|
|||||||
lsls r0, 24
|
lsls r0, 24
|
||||||
cmp r0, 0
|
cmp r0, 0
|
||||||
bne _080B3A86
|
bne _080B3A86
|
||||||
bl sub_80097E8
|
bl CloseLink
|
||||||
ldr r0, =c2_800ACD4
|
ldr r0, =c2_800ACD4
|
||||||
bl SetMainCallback2
|
bl SetMainCallback2
|
||||||
_080B3A86:
|
_080B3A86:
|
||||||
@ -2761,7 +2761,7 @@ _080B3B2A:
|
|||||||
b _080B3BB8
|
b _080B3BB8
|
||||||
.pool
|
.pool
|
||||||
_080B3B40:
|
_080B3B40:
|
||||||
bl sub_8009734
|
bl OpenLink
|
||||||
ldr r0, =task00_08081A90
|
ldr r0, =task00_08081A90
|
||||||
movs r1, 0x1
|
movs r1, 0x1
|
||||||
bl CreateTask
|
bl CreateTask
|
||||||
@ -2779,14 +2779,14 @@ _080B3B54:
|
|||||||
strh r0, [r5, 0x2]
|
strh r0, [r5, 0x2]
|
||||||
b _080B3B96
|
b _080B3B96
|
||||||
_080B3B68:
|
_080B3B68:
|
||||||
bl sub_800ABAC
|
bl GetLinkPlayerCount_2
|
||||||
adds r4, r0, 0
|
adds r4, r0, 0
|
||||||
bl sub_800AA48
|
bl sub_800AA48
|
||||||
lsls r4, 24
|
lsls r4, 24
|
||||||
lsls r0, 24
|
lsls r0, 24
|
||||||
cmp r4, r0
|
cmp r4, r0
|
||||||
bcc _080B3BB8
|
bcc _080B3BB8
|
||||||
bl sub_800ABBC
|
bl IsLinkMaster
|
||||||
lsls r0, 24
|
lsls r0, 24
|
||||||
cmp r0, 0
|
cmp r0, 0
|
||||||
beq _080B3B96
|
beq _080B3B96
|
||||||
|
@ -1,156 +0,0 @@
|
|||||||
.include "asm/macros.inc"
|
|
||||||
.include "constants/constants.inc"
|
|
||||||
|
|
||||||
.syntax unified
|
|
||||||
|
|
||||||
.text
|
|
||||||
|
|
||||||
thumb_func_start sub_809D7BC
|
|
||||||
sub_809D7BC: @ 809D7BC
|
|
||||||
push {lr}
|
|
||||||
movs r0, 0x1
|
|
||||||
bl sub_80AEDF0
|
|
||||||
pop {r0}
|
|
||||||
bx r0
|
|
||||||
thumb_func_end sub_809D7BC
|
|
||||||
|
|
||||||
thumb_func_start sub_809D7C8
|
|
||||||
sub_809D7C8: @ 809D7C8
|
|
||||||
push {lr}
|
|
||||||
movs r0, 0x2
|
|
||||||
bl sub_80AEDF0
|
|
||||||
pop {r0}
|
|
||||||
bx r0
|
|
||||||
thumb_func_end sub_809D7C8
|
|
||||||
|
|
||||||
thumb_func_start sub_809D7D4
|
|
||||||
sub_809D7D4: @ 809D7D4
|
|
||||||
push {lr}
|
|
||||||
movs r0, 0x3
|
|
||||||
bl sub_80AEDF0
|
|
||||||
pop {r0}
|
|
||||||
bx r0
|
|
||||||
thumb_func_end sub_809D7D4
|
|
||||||
|
|
||||||
thumb_func_start sub_809D7E0
|
|
||||||
sub_809D7E0: @ 809D7E0
|
|
||||||
push {lr}
|
|
||||||
movs r0, 0x4
|
|
||||||
bl sub_80AEDF0
|
|
||||||
pop {r0}
|
|
||||||
bx r0
|
|
||||||
thumb_func_end sub_809D7E0
|
|
||||||
|
|
||||||
thumb_func_start sub_809D7EC
|
|
||||||
sub_809D7EC: @ 809D7EC
|
|
||||||
push {lr}
|
|
||||||
movs r0, 0x5
|
|
||||||
bl sub_80AEDF0
|
|
||||||
pop {r0}
|
|
||||||
bx r0
|
|
||||||
thumb_func_end sub_809D7EC
|
|
||||||
|
|
||||||
thumb_func_start sub_809D7F8
|
|
||||||
sub_809D7F8: @ 809D7F8
|
|
||||||
push {lr}
|
|
||||||
movs r0, 0x6
|
|
||||||
bl sub_80AEDF0
|
|
||||||
pop {r0}
|
|
||||||
bx r0
|
|
||||||
thumb_func_end sub_809D7F8
|
|
||||||
|
|
||||||
thumb_func_start sub_809D804
|
|
||||||
sub_809D804: @ 809D804
|
|
||||||
push {lr}
|
|
||||||
movs r0, 0x9
|
|
||||||
bl sub_80AEDF0
|
|
||||||
pop {r0}
|
|
||||||
bx r0
|
|
||||||
thumb_func_end sub_809D804
|
|
||||||
|
|
||||||
thumb_func_start sub_809D810
|
|
||||||
sub_809D810: @ 809D810
|
|
||||||
push {lr}
|
|
||||||
movs r0, 0x7
|
|
||||||
bl sub_80AEDF0
|
|
||||||
pop {r0}
|
|
||||||
bx r0
|
|
||||||
thumb_func_end sub_809D810
|
|
||||||
|
|
||||||
thumb_func_start sub_809D81C
|
|
||||||
sub_809D81C: @ 809D81C
|
|
||||||
push {lr}
|
|
||||||
movs r0, 0x8
|
|
||||||
bl sub_80AEDF0
|
|
||||||
pop {r0}
|
|
||||||
bx r0
|
|
||||||
thumb_func_end sub_809D81C
|
|
||||||
|
|
||||||
thumb_func_start sub_809D828
|
|
||||||
sub_809D828: @ 809D828
|
|
||||||
push {lr}
|
|
||||||
movs r0, 0xB
|
|
||||||
bl sub_80AEDF0
|
|
||||||
pop {r0}
|
|
||||||
bx r0
|
|
||||||
thumb_func_end sub_809D828
|
|
||||||
|
|
||||||
thumb_func_start sub_809D834
|
|
||||||
sub_809D834: @ 809D834
|
|
||||||
push {lr}
|
|
||||||
movs r0, 0xC
|
|
||||||
bl sub_80AEDF0
|
|
||||||
pop {r0}
|
|
||||||
bx r0
|
|
||||||
thumb_func_end sub_809D834
|
|
||||||
|
|
||||||
thumb_func_start sub_809D840
|
|
||||||
sub_809D840: @ 809D840
|
|
||||||
push {lr}
|
|
||||||
movs r0, 0x14
|
|
||||||
bl sub_80AEDF0
|
|
||||||
pop {r0}
|
|
||||||
bx r0
|
|
||||||
thumb_func_end sub_809D840
|
|
||||||
|
|
||||||
thumb_func_start sub_809D84C
|
|
||||||
sub_809D84C: @ 809D84C
|
|
||||||
push {lr}
|
|
||||||
movs r0, 0x15
|
|
||||||
bl sub_80AEDF0
|
|
||||||
pop {r0}
|
|
||||||
bx r0
|
|
||||||
thumb_func_end sub_809D84C
|
|
||||||
|
|
||||||
thumb_func_start trigger_activate_weather
|
|
||||||
trigger_activate_weather: @ 809D858
|
|
||||||
push {r4,lr}
|
|
||||||
lsls r0, 24
|
|
||||||
lsrs r4, r0, 24
|
|
||||||
movs r2, 0
|
|
||||||
ldr r3, =gUnknown_085102E0
|
|
||||||
_0809D862:
|
|
||||||
lsls r1, r2, 3
|
|
||||||
adds r0, r1, r3
|
|
||||||
ldrb r0, [r0]
|
|
||||||
cmp r0, r4
|
|
||||||
bne _0809D87C
|
|
||||||
adds r0, r3, 0x4
|
|
||||||
adds r0, r1, r0
|
|
||||||
ldr r0, [r0]
|
|
||||||
bl _call_via_r0
|
|
||||||
b _0809D886
|
|
||||||
.pool
|
|
||||||
_0809D87C:
|
|
||||||
adds r0, r2, 0x1
|
|
||||||
lsls r0, 24
|
|
||||||
lsrs r2, r0, 24
|
|
||||||
cmp r2, 0xC
|
|
||||||
bls _0809D862
|
|
||||||
_0809D886:
|
|
||||||
pop {r4}
|
|
||||||
pop {r0}
|
|
||||||
bx r0
|
|
||||||
thumb_func_end trigger_activate_weather
|
|
||||||
|
|
||||||
.align 2, 0 @ Don't pad with nop.
|
|
@ -2155,7 +2155,7 @@ trigger_activate: @ 809D04C
|
|||||||
cmp r1, 0
|
cmp r1, 0
|
||||||
bne _0809D062
|
bne _0809D062
|
||||||
ldrb r0, [r4, 0x6]
|
ldrb r0, [r4, 0x6]
|
||||||
bl trigger_activate_weather
|
bl DoCoordEventWeather
|
||||||
b _0809D082
|
b _0809D082
|
||||||
_0809D062:
|
_0809D062:
|
||||||
ldrh r0, [r4, 0x6]
|
ldrh r0, [r4, 0x6]
|
||||||
|
@ -1,337 +0,0 @@
|
|||||||
.include "asm/macros.inc"
|
|
||||||
.include "constants/constants.inc"
|
|
||||||
|
|
||||||
.syntax unified
|
|
||||||
|
|
||||||
.text
|
|
||||||
|
|
||||||
thumb_func_start sub_8098128
|
|
||||||
sub_8098128: @ 8098128
|
|
||||||
ldr r1, =gUnknown_020375BC
|
|
||||||
movs r0, 0
|
|
||||||
strb r0, [r1]
|
|
||||||
ldr r2, =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
|
|
||||||
subs r1, 0x4
|
|
||||||
ands r0, r1
|
|
||||||
strb r0, [r2]
|
|
||||||
bx lr
|
|
||||||
.pool
|
|
||||||
thumb_func_end sub_8098128
|
|
||||||
|
|
||||||
thumb_func_start sub_8098154
|
|
||||||
sub_8098154: @ 8098154
|
|
||||||
push {r4,r5,lr}
|
|
||||||
lsls r0, 24
|
|
||||||
lsrs r5, r0, 24
|
|
||||||
lsls r0, r5, 2
|
|
||||||
adds r0, r5
|
|
||||||
lsls r0, 3
|
|
||||||
ldr r1, =gTasks
|
|
||||||
adds r4, r0, r1
|
|
||||||
movs r1, 0x8
|
|
||||||
ldrsh r0, [r4, r1]
|
|
||||||
cmp r0, 0x1
|
|
||||||
beq _08098188
|
|
||||||
cmp r0, 0x1
|
|
||||||
bgt _0809817C
|
|
||||||
cmp r0, 0
|
|
||||||
beq _08098182
|
|
||||||
b _080981B0
|
|
||||||
.pool
|
|
||||||
_0809817C:
|
|
||||||
cmp r0, 0x2
|
|
||||||
beq _08098198
|
|
||||||
b _080981B0
|
|
||||||
_08098182:
|
|
||||||
bl sub_81973A4
|
|
||||||
b _08098190
|
|
||||||
_08098188:
|
|
||||||
movs r0, 0
|
|
||||||
movs r1, 0x1
|
|
||||||
bl sub_81973C4
|
|
||||||
_08098190:
|
|
||||||
ldrh r0, [r4, 0x8]
|
|
||||||
adds r0, 0x1
|
|
||||||
strh r0, [r4, 0x8]
|
|
||||||
b _080981B0
|
|
||||||
_08098198:
|
|
||||||
bl sub_8197224
|
|
||||||
lsls r0, 16
|
|
||||||
lsrs r0, 16
|
|
||||||
cmp r0, 0x1
|
|
||||||
beq _080981B0
|
|
||||||
ldr r1, =gUnknown_020375BC
|
|
||||||
movs r0, 0
|
|
||||||
strb r0, [r1]
|
|
||||||
adds r0, r5, 0
|
|
||||||
bl DestroyTask
|
|
||||||
_080981B0:
|
|
||||||
pop {r4,r5}
|
|
||||||
pop {r0}
|
|
||||||
bx r0
|
|
||||||
.pool
|
|
||||||
thumb_func_end sub_8098154
|
|
||||||
|
|
||||||
thumb_func_start task_add_textbox
|
|
||||||
task_add_textbox: @ 80981BC
|
|
||||||
push {lr}
|
|
||||||
ldr r0, =sub_8098154
|
|
||||||
movs r1, 0x50
|
|
||||||
bl CreateTask
|
|
||||||
pop {r0}
|
|
||||||
bx r0
|
|
||||||
.pool
|
|
||||||
thumb_func_end task_add_textbox
|
|
||||||
|
|
||||||
thumb_func_start task_del_textbox
|
|
||||||
task_del_textbox: @ 80981D0
|
|
||||||
push {lr}
|
|
||||||
ldr r0, =sub_8098154
|
|
||||||
bl FindTaskIdByFunc
|
|
||||||
lsls r0, 24
|
|
||||||
lsrs r0, 24
|
|
||||||
cmp r0, 0xFF
|
|
||||||
beq _080981E4
|
|
||||||
bl DestroyTask
|
|
||||||
_080981E4:
|
|
||||||
pop {r0}
|
|
||||||
bx r0
|
|
||||||
.pool
|
|
||||||
thumb_func_end task_del_textbox
|
|
||||||
|
|
||||||
thumb_func_start ShowFieldMessage
|
|
||||||
ShowFieldMessage: @ 80981EC
|
|
||||||
push {r4,lr}
|
|
||||||
adds r1, r0, 0
|
|
||||||
ldr r4, =gUnknown_020375BC
|
|
||||||
ldrb r0, [r4]
|
|
||||||
cmp r0, 0
|
|
||||||
bne _0809820C
|
|
||||||
adds r0, r1, 0
|
|
||||||
movs r1, 0x1
|
|
||||||
bl textbox_fdecode_auto_and_task_add
|
|
||||||
movs r0, 0x2
|
|
||||||
strb r0, [r4]
|
|
||||||
movs r0, 0x1
|
|
||||||
b _0809820E
|
|
||||||
.pool
|
|
||||||
_0809820C:
|
|
||||||
movs r0, 0
|
|
||||||
_0809820E:
|
|
||||||
pop {r4}
|
|
||||||
pop {r1}
|
|
||||||
bx r1
|
|
||||||
thumb_func_end ShowFieldMessage
|
|
||||||
|
|
||||||
thumb_func_start sub_8098214
|
|
||||||
sub_8098214: @ 8098214
|
|
||||||
push {r4,lr}
|
|
||||||
lsls r0, 24
|
|
||||||
lsrs r4, r0, 24
|
|
||||||
bl sub_8196094
|
|
||||||
adds r1, r0, 0
|
|
||||||
cmp r1, 0
|
|
||||||
bne _0809822E
|
|
||||||
ldr r0, =gUnknown_020375BC
|
|
||||||
strb r1, [r0]
|
|
||||||
adds r0, r4, 0
|
|
||||||
bl DestroyTask
|
|
||||||
_0809822E:
|
|
||||||
pop {r4}
|
|
||||||
pop {r0}
|
|
||||||
bx r0
|
|
||||||
.pool
|
|
||||||
thumb_func_end sub_8098214
|
|
||||||
|
|
||||||
thumb_func_start sub_8098238
|
|
||||||
sub_8098238: @ 8098238
|
|
||||||
push {r4,r5,lr}
|
|
||||||
adds r4, r0, 0
|
|
||||||
ldr r5, =gUnknown_020375BC
|
|
||||||
ldrb r0, [r5]
|
|
||||||
cmp r0, 0
|
|
||||||
bne _08098270
|
|
||||||
ldr r0, =gStringVar4
|
|
||||||
adds r1, r4, 0
|
|
||||||
bl StringExpandPlaceholders
|
|
||||||
ldr r0, =sub_8098214
|
|
||||||
movs r1, 0
|
|
||||||
bl CreateTask
|
|
||||||
adds r0, r4, 0
|
|
||||||
bl sub_8196080
|
|
||||||
movs r0, 0x2
|
|
||||||
strb r0, [r5]
|
|
||||||
movs r0, 0x1
|
|
||||||
b _08098272
|
|
||||||
.pool
|
|
||||||
_08098270:
|
|
||||||
movs r0, 0
|
|
||||||
_08098272:
|
|
||||||
pop {r4,r5}
|
|
||||||
pop {r1}
|
|
||||||
bx r1
|
|
||||||
thumb_func_end sub_8098238
|
|
||||||
|
|
||||||
thumb_func_start ShowFieldAutoScrollMessage
|
|
||||||
ShowFieldAutoScrollMessage: @ 8098278
|
|
||||||
push {lr}
|
|
||||||
adds r1, r0, 0
|
|
||||||
ldr r2, =gUnknown_020375BC
|
|
||||||
ldrb r0, [r2]
|
|
||||||
cmp r0, 0
|
|
||||||
bne _08098298
|
|
||||||
movs r0, 0x3
|
|
||||||
strb r0, [r2]
|
|
||||||
adds r0, r1, 0
|
|
||||||
movs r1, 0
|
|
||||||
bl textbox_fdecode_auto_and_task_add
|
|
||||||
movs r0, 0x1
|
|
||||||
b _0809829A
|
|
||||||
.pool
|
|
||||||
_08098298:
|
|
||||||
movs r0, 0
|
|
||||||
_0809829A:
|
|
||||||
pop {r1}
|
|
||||||
bx r1
|
|
||||||
thumb_func_end ShowFieldAutoScrollMessage
|
|
||||||
|
|
||||||
thumb_func_start sub_80982A0
|
|
||||||
sub_80982A0: @ 80982A0
|
|
||||||
push {lr}
|
|
||||||
ldr r2, =gUnknown_020375BC
|
|
||||||
movs r1, 0x3
|
|
||||||
strb r1, [r2]
|
|
||||||
movs r1, 0x1
|
|
||||||
bl textbox_fdecode_auto_and_task_add
|
|
||||||
movs r0, 0x1
|
|
||||||
pop {r1}
|
|
||||||
bx r1
|
|
||||||
.pool
|
|
||||||
thumb_func_end sub_80982A0
|
|
||||||
|
|
||||||
thumb_func_start sub_80982B8
|
|
||||||
sub_80982B8: @ 80982B8
|
|
||||||
push {lr}
|
|
||||||
ldr r1, =gUnknown_020375BC
|
|
||||||
ldrb r0, [r1]
|
|
||||||
cmp r0, 0
|
|
||||||
bne _080982D4
|
|
||||||
movs r0, 0x2
|
|
||||||
strb r0, [r1]
|
|
||||||
bl textbox_auto_and_task_add
|
|
||||||
movs r0, 0x1
|
|
||||||
b _080982D6
|
|
||||||
.pool
|
|
||||||
_080982D4:
|
|
||||||
movs r0, 0
|
|
||||||
_080982D6:
|
|
||||||
pop {r1}
|
|
||||||
bx r1
|
|
||||||
thumb_func_end sub_80982B8
|
|
||||||
|
|
||||||
thumb_func_start textbox_fdecode_auto_and_task_add
|
|
||||||
textbox_fdecode_auto_and_task_add: @ 80982DC
|
|
||||||
push {r4,lr}
|
|
||||||
adds r2, r0, 0
|
|
||||||
adds r4, r1, 0
|
|
||||||
ldr r0, =gStringVar4
|
|
||||||
adds r1, r2, 0
|
|
||||||
bl StringExpandPlaceholders
|
|
||||||
lsls r4, 24
|
|
||||||
lsrs r4, 24
|
|
||||||
adds r0, r4, 0
|
|
||||||
bl AddTextPrinterForMessage
|
|
||||||
bl task_add_textbox
|
|
||||||
pop {r4}
|
|
||||||
pop {r0}
|
|
||||||
bx r0
|
|
||||||
.pool
|
|
||||||
thumb_func_end textbox_fdecode_auto_and_task_add
|
|
||||||
|
|
||||||
thumb_func_start textbox_auto_and_task_add
|
|
||||||
textbox_auto_and_task_add: @ 8098304
|
|
||||||
push {lr}
|
|
||||||
movs r0, 0x1
|
|
||||||
bl AddTextPrinterForMessage
|
|
||||||
bl task_add_textbox
|
|
||||||
pop {r0}
|
|
||||||
bx r0
|
|
||||||
thumb_func_end textbox_auto_and_task_add
|
|
||||||
|
|
||||||
thumb_func_start HideFieldMessageBox
|
|
||||||
HideFieldMessageBox: @ 8098314
|
|
||||||
push {lr}
|
|
||||||
bl task_del_textbox
|
|
||||||
movs r0, 0
|
|
||||||
movs r1, 0x1
|
|
||||||
bl sub_8197434
|
|
||||||
ldr r1, =gUnknown_020375BC
|
|
||||||
movs r0, 0
|
|
||||||
strb r0, [r1]
|
|
||||||
pop {r0}
|
|
||||||
bx r0
|
|
||||||
.pool
|
|
||||||
thumb_func_end HideFieldMessageBox
|
|
||||||
|
|
||||||
thumb_func_start textbox_any_visible
|
|
||||||
textbox_any_visible: @ 8098330
|
|
||||||
ldr r0, =gUnknown_020375BC
|
|
||||||
ldrb r0, [r0]
|
|
||||||
bx lr
|
|
||||||
.pool
|
|
||||||
thumb_func_end textbox_any_visible
|
|
||||||
|
|
||||||
thumb_func_start IsFieldMessageBoxHidden
|
|
||||||
IsFieldMessageBoxHidden: @ 809833C
|
|
||||||
push {lr}
|
|
||||||
ldr r0, =gUnknown_020375BC
|
|
||||||
ldrb r0, [r0]
|
|
||||||
cmp r0, 0
|
|
||||||
beq _08098350
|
|
||||||
movs r0, 0
|
|
||||||
b _08098352
|
|
||||||
.pool
|
|
||||||
_08098350:
|
|
||||||
movs r0, 0x1
|
|
||||||
_08098352:
|
|
||||||
pop {r1}
|
|
||||||
bx r1
|
|
||||||
thumb_func_end IsFieldMessageBoxHidden
|
|
||||||
|
|
||||||
thumb_func_start sub_8098358
|
|
||||||
sub_8098358: @ 8098358
|
|
||||||
push {lr}
|
|
||||||
bl task_del_textbox
|
|
||||||
movs r0, 0
|
|
||||||
movs r1, 0x1
|
|
||||||
bl sub_81973FC
|
|
||||||
ldr r1, =gUnknown_020375BC
|
|
||||||
movs r0, 0
|
|
||||||
strb r0, [r1]
|
|
||||||
pop {r0}
|
|
||||||
bx r0
|
|
||||||
.pool
|
|
||||||
thumb_func_end sub_8098358
|
|
||||||
|
|
||||||
thumb_func_start sub_8098374
|
|
||||||
sub_8098374: @ 8098374
|
|
||||||
push {lr}
|
|
||||||
bl task_del_textbox
|
|
||||||
ldr r1, =gUnknown_020375BC
|
|
||||||
movs r0, 0
|
|
||||||
strb r0, [r1]
|
|
||||||
pop {r0}
|
|
||||||
bx r0
|
|
||||||
.pool
|
|
||||||
thumb_func_end sub_8098374
|
|
||||||
|
|
||||||
.align 2, 0 @ Don't pad with nop.
|
|
@ -2339,43 +2339,43 @@ _080AC290:
|
|||||||
.4byte _080AC300
|
.4byte _080AC300
|
||||||
_080AC2B8:
|
_080AC2B8:
|
||||||
movs r0, 0x1
|
movs r0, 0x1
|
||||||
bl sub_80AEDF0
|
bl SetWeather
|
||||||
b _080AC306
|
b _080AC306
|
||||||
_080AC2C0:
|
_080AC2C0:
|
||||||
movs r0, 0x2
|
movs r0, 0x2
|
||||||
bl sub_80AEDF0
|
bl SetWeather
|
||||||
b _080AC306
|
b _080AC306
|
||||||
_080AC2C8:
|
_080AC2C8:
|
||||||
movs r0, 0x3
|
movs r0, 0x3
|
||||||
bl sub_80AEDF0
|
bl SetWeather
|
||||||
b _080AC306
|
b _080AC306
|
||||||
_080AC2D0:
|
_080AC2D0:
|
||||||
movs r0, 0x4
|
movs r0, 0x4
|
||||||
bl sub_80AEDF0
|
bl SetWeather
|
||||||
b _080AC306
|
b _080AC306
|
||||||
_080AC2D8:
|
_080AC2D8:
|
||||||
movs r0, 0x5
|
movs r0, 0x5
|
||||||
bl sub_80AEDF0
|
bl SetWeather
|
||||||
b _080AC306
|
b _080AC306
|
||||||
_080AC2E0:
|
_080AC2E0:
|
||||||
movs r0, 0x6
|
movs r0, 0x6
|
||||||
bl sub_80AEDF0
|
bl SetWeather
|
||||||
b _080AC306
|
b _080AC306
|
||||||
_080AC2E8:
|
_080AC2E8:
|
||||||
movs r0, 0x9
|
movs r0, 0x9
|
||||||
bl sub_80AEDF0
|
bl SetWeather
|
||||||
b _080AC306
|
b _080AC306
|
||||||
_080AC2F0:
|
_080AC2F0:
|
||||||
movs r0, 0x7
|
movs r0, 0x7
|
||||||
bl sub_80AEDF0
|
bl SetWeather
|
||||||
b _080AC306
|
b _080AC306
|
||||||
_080AC2F8:
|
_080AC2F8:
|
||||||
movs r0, 0x8
|
movs r0, 0x8
|
||||||
bl sub_80AEDF0
|
bl SetWeather
|
||||||
b _080AC306
|
b _080AC306
|
||||||
_080AC300:
|
_080AC300:
|
||||||
movs r0, 0xB
|
movs r0, 0xB
|
||||||
bl sub_80AEDF0
|
bl SetWeather
|
||||||
_080AC306:
|
_080AC306:
|
||||||
pop {r0}
|
pop {r0}
|
||||||
bx r0
|
bx r0
|
||||||
@ -7561,8 +7561,8 @@ SetSav1WeatherFromCurrMapHeader: @ 80AEDBC
|
|||||||
.pool
|
.pool
|
||||||
thumb_func_end SetSav1WeatherFromCurrMapHeader
|
thumb_func_end SetSav1WeatherFromCurrMapHeader
|
||||||
|
|
||||||
thumb_func_start sub_80AEDF0
|
thumb_func_start SetWeather
|
||||||
sub_80AEDF0: @ 80AEDF0
|
SetWeather: @ 80AEDF0
|
||||||
push {lr}
|
push {lr}
|
||||||
bl SetSav1Weather
|
bl SetSav1Weather
|
||||||
bl GetSav1Weather
|
bl GetSav1Weather
|
||||||
@ -7571,7 +7571,7 @@ sub_80AEDF0: @ 80AEDF0
|
|||||||
bl weather_set
|
bl weather_set
|
||||||
pop {r0}
|
pop {r0}
|
||||||
bx r0
|
bx r0
|
||||||
thumb_func_end sub_80AEDF0
|
thumb_func_end SetWeather
|
||||||
|
|
||||||
thumb_func_start sub_80AEE08
|
thumb_func_start sub_80AEE08
|
||||||
sub_80AEE08: @ 80AEE08
|
sub_80AEE08: @ 80AEE08
|
||||||
|
110
asm/link.s
110
asm/link.s
@ -15,7 +15,7 @@ sub_80093CC: @ 80093CC
|
|||||||
cmp r0, r1
|
cmp r0, r1
|
||||||
beq _080093F4
|
beq _080093F4
|
||||||
bl sub_800B4A4
|
bl sub_800B4A4
|
||||||
bl sub_80097E8
|
bl CloseLink
|
||||||
bl RestoreSerialTimer3IntrHandlers
|
bl RestoreSerialTimer3IntrHandlers
|
||||||
movs r0, 0
|
movs r0, 0
|
||||||
b _080093FE
|
b _080093FE
|
||||||
@ -29,15 +29,15 @@ _080093FE:
|
|||||||
bx r1
|
bx r1
|
||||||
thumb_func_end sub_80093CC
|
thumb_func_end sub_80093CC
|
||||||
|
|
||||||
thumb_func_start sub_8009404
|
thumb_func_start Task_DestroySelf
|
||||||
sub_8009404: @ 8009404
|
Task_DestroySelf: @ 8009404
|
||||||
push {lr}
|
push {lr}
|
||||||
lsls r0, 24
|
lsls r0, 24
|
||||||
lsrs r0, 24
|
lsrs r0, 24
|
||||||
bl DestroyTask
|
bl DestroyTask
|
||||||
pop {r0}
|
pop {r0}
|
||||||
bx r0
|
bx r0
|
||||||
thumb_func_end sub_8009404
|
thumb_func_end Task_DestroySelf
|
||||||
|
|
||||||
thumb_func_start sub_8009414
|
thumb_func_start sub_8009414
|
||||||
sub_8009414: @ 8009414
|
sub_8009414: @ 8009414
|
||||||
@ -210,7 +210,7 @@ sub_8009570: @ 8009570
|
|||||||
ldr r2, =0x00001111
|
ldr r2, =0x00001111
|
||||||
adds r0, r2, 0
|
adds r0, r2, 0
|
||||||
strh r0, [r1]
|
strh r0, [r1]
|
||||||
bl sub_8009734
|
bl OpenLink
|
||||||
ldr r0, =gMain
|
ldr r0, =gMain
|
||||||
ldrh r0, [r0, 0x24]
|
ldrh r0, [r0, 0x24]
|
||||||
bl SeedRng
|
bl SeedRng
|
||||||
@ -236,7 +236,7 @@ _080095A0:
|
|||||||
lsls r1, 5
|
lsls r1, 5
|
||||||
movs r0, 0
|
movs r0, 0
|
||||||
bl SetGpuReg
|
bl SetGpuReg
|
||||||
ldr r0, =sub_8009404
|
ldr r0, =Task_DestroySelf
|
||||||
movs r1, 0
|
movs r1, 0
|
||||||
bl CreateTask
|
bl CreateTask
|
||||||
bl RunTasks
|
bl RunTasks
|
||||||
@ -384,8 +384,8 @@ _08009726:
|
|||||||
.pool
|
.pool
|
||||||
thumb_func_end task02_080097CC
|
thumb_func_end task02_080097CC
|
||||||
|
|
||||||
thumb_func_start sub_8009734
|
thumb_func_start OpenLink
|
||||||
sub_8009734: @ 8009734
|
OpenLink: @ 8009734
|
||||||
push {r4-r6,lr}
|
push {r4-r6,lr}
|
||||||
ldr r0, =gLinkVSyncDisabled
|
ldr r0, =gLinkVSyncDisabled
|
||||||
ldrb r4, [r0]
|
ldrb r4, [r0]
|
||||||
@ -443,10 +443,10 @@ _080097BE:
|
|||||||
pop {r0}
|
pop {r0}
|
||||||
bx r0
|
bx r0
|
||||||
.pool
|
.pool
|
||||||
thumb_func_end sub_8009734
|
thumb_func_end OpenLink
|
||||||
|
|
||||||
thumb_func_start sub_80097E8
|
thumb_func_start CloseLink
|
||||||
sub_80097E8: @ 80097E8
|
CloseLink: @ 80097E8
|
||||||
push {r4,lr}
|
push {r4,lr}
|
||||||
ldr r0, =gReceivedRemoteLinkPlayers
|
ldr r0, =gReceivedRemoteLinkPlayers
|
||||||
movs r4, 0
|
movs r4, 0
|
||||||
@ -464,7 +464,7 @@ _080097FC:
|
|||||||
pop {r0}
|
pop {r0}
|
||||||
bx r0
|
bx r0
|
||||||
.pool
|
.pool
|
||||||
thumb_func_end sub_80097E8
|
thumb_func_end CloseLink
|
||||||
|
|
||||||
thumb_func_start sub_8009818
|
thumb_func_start sub_8009818
|
||||||
sub_8009818: @ 8009818
|
sub_8009818: @ 8009818
|
||||||
@ -698,7 +698,7 @@ _080099FC:
|
|||||||
bls _080099FC
|
bls _080099FC
|
||||||
ldrh r0, [r4]
|
ldrh r0, [r4]
|
||||||
strh r0, [r5]
|
strh r0, [r5]
|
||||||
ldr r0, =gUnknown_030030E0
|
ldr r0, =gLinkStatus
|
||||||
ldr r0, [r0]
|
ldr r0, [r0]
|
||||||
movs r1, 0x40
|
movs r1, 0x40
|
||||||
ands r0, r1
|
ands r0, r1
|
||||||
@ -717,7 +717,7 @@ _080099FC:
|
|||||||
_08009A34:
|
_08009A34:
|
||||||
bl sub_800AEB4
|
bl sub_800AEB4
|
||||||
_08009A38:
|
_08009A38:
|
||||||
ldr r0, =gUnknown_030030E0
|
ldr r0, =gLinkStatus
|
||||||
ldrh r0, [r0]
|
ldrh r0, [r0]
|
||||||
_08009A3C:
|
_08009A3C:
|
||||||
pop {r4,r5}
|
pop {r4,r5}
|
||||||
@ -745,7 +745,7 @@ _08009A70:
|
|||||||
adds r5, r0
|
adds r5, r0
|
||||||
adds r4, 0x1
|
adds r4, 0x1
|
||||||
_08009A78:
|
_08009A78:
|
||||||
bl sub_800ABAC
|
bl GetLinkPlayerCount_2
|
||||||
lsls r0, 24
|
lsls r0, 24
|
||||||
lsrs r0, 24
|
lsrs r0, 24
|
||||||
cmp r4, r0
|
cmp r4, r0
|
||||||
@ -1378,7 +1378,7 @@ GetLinkPlayerCount: @ 8009FCC
|
|||||||
ldrb r0, [r0]
|
ldrb r0, [r0]
|
||||||
cmp r0, 0
|
cmp r0, 0
|
||||||
bne _08009FEC
|
bne _08009FEC
|
||||||
ldr r0, =gUnknown_030030E0
|
ldr r0, =gLinkStatus
|
||||||
ldr r0, [r0]
|
ldr r0, [r0]
|
||||||
movs r1, 0x1C
|
movs r1, 0x1C
|
||||||
ands r0, r1
|
ands r0, r1
|
||||||
@ -1514,7 +1514,7 @@ sub_800A0AC: @ 800A0AC
|
|||||||
str r1, [r0]
|
str r1, [r0]
|
||||||
ldr r0, =gUnknown_020229C8
|
ldr r0, =gUnknown_020229C8
|
||||||
strh r1, [r0]
|
strh r1, [r0]
|
||||||
bl sub_8009734
|
bl OpenLink
|
||||||
pop {r0}
|
pop {r0}
|
||||||
bx r0
|
bx r0
|
||||||
.pool
|
.pool
|
||||||
@ -1532,7 +1532,7 @@ sub_800A0C8: @ 800A0C8
|
|||||||
beq _0800A0DA
|
beq _0800A0DA
|
||||||
b _0800A214
|
b _0800A214
|
||||||
_0800A0DA:
|
_0800A0DA:
|
||||||
bl sub_800ABAC
|
bl GetLinkPlayerCount_2
|
||||||
lsls r0, 24
|
lsls r0, 24
|
||||||
lsrs r0, 24
|
lsrs r0, 24
|
||||||
cmp r5, r0
|
cmp r5, r0
|
||||||
@ -1552,7 +1552,7 @@ _0800A0FC:
|
|||||||
bne _0800A10E
|
bne _0800A10E
|
||||||
ldr r0, =gUnknown_0300306C
|
ldr r0, =gUnknown_0300306C
|
||||||
strb r4, [r0]
|
strb r4, [r0]
|
||||||
bl sub_80097E8
|
bl CloseLink
|
||||||
_0800A10E:
|
_0800A10E:
|
||||||
movs r6, 0
|
movs r6, 0
|
||||||
ldr r4, =gLinkPlayers
|
ldr r4, =gLinkPlayers
|
||||||
@ -2211,7 +2211,7 @@ _0800A616:
|
|||||||
thumb_func_start sub_800A620
|
thumb_func_start sub_800A620
|
||||||
sub_800A620: @ 800A620
|
sub_800A620: @ 800A620
|
||||||
push {lr}
|
push {lr}
|
||||||
ldr r0, =gUnknown_030030E0
|
ldr r0, =gLinkStatus
|
||||||
ldr r1, [r0]
|
ldr r1, [r0]
|
||||||
movs r0, 0x20
|
movs r0, 0x20
|
||||||
ands r0, r1
|
ands r0, r1
|
||||||
@ -2499,7 +2499,7 @@ _0800A81C:
|
|||||||
thumb_func_start sub_800A824
|
thumb_func_start sub_800A824
|
||||||
sub_800A824: @ 800A824
|
sub_800A824: @ 800A824
|
||||||
push {lr}
|
push {lr}
|
||||||
ldr r0, =gUnknown_030030E0
|
ldr r0, =gLinkStatus
|
||||||
ldr r0, [r0]
|
ldr r0, [r0]
|
||||||
movs r1, 0x20
|
movs r1, 0x20
|
||||||
ands r0, r1
|
ands r0, r1
|
||||||
@ -2534,7 +2534,7 @@ task00_link_test: @ 800A850
|
|||||||
movs r2, 0x1
|
movs r2, 0x1
|
||||||
movs r3, 0x2
|
movs r3, 0x2
|
||||||
bl sub_800A6E8
|
bl sub_800A6E8
|
||||||
ldr r4, =gUnknown_030030E0
|
ldr r4, =gLinkStatus
|
||||||
ldr r0, [r4]
|
ldr r0, [r4]
|
||||||
movs r1, 0xF
|
movs r1, 0xF
|
||||||
movs r2, 0x1
|
movs r2, 0x1
|
||||||
@ -2606,7 +2606,7 @@ task00_link_test: @ 800A850
|
|||||||
movs r2, 0x6
|
movs r2, 0x6
|
||||||
movs r3, 0x1
|
movs r3, 0x1
|
||||||
bl sub_800A6E8
|
bl sub_800A6E8
|
||||||
bl sub_800B320
|
bl IsLinkConnectionEstablished
|
||||||
lsls r0, 24
|
lsls r0, 24
|
||||||
lsrs r0, 24
|
lsrs r0, 24
|
||||||
movs r1, 0x19
|
movs r1, 0x19
|
||||||
@ -2807,7 +2807,7 @@ _0800AAB4:
|
|||||||
ldrb r0, [r0]
|
ldrb r0, [r0]
|
||||||
cmp r3, r0
|
cmp r3, r0
|
||||||
bne _0800AAE4
|
bne _0800AAE4
|
||||||
bl sub_800ABAC
|
bl GetLinkPlayerCount_2
|
||||||
lsls r0, 24
|
lsls r0, 24
|
||||||
lsrs r0, 24
|
lsrs r0, 24
|
||||||
mov r1, r9
|
mov r1, r9
|
||||||
@ -2887,7 +2887,7 @@ _0800AB5A:
|
|||||||
ldr r1, =gUnknown_0300306C
|
ldr r1, =gUnknown_0300306C
|
||||||
movs r0, 0x1
|
movs r0, 0x1
|
||||||
strb r0, [r1]
|
strb r0, [r1]
|
||||||
bl sub_80097E8
|
bl CloseLink
|
||||||
ldr r0, =c2_800ACD4
|
ldr r0, =c2_800ACD4
|
||||||
bl SetMainCallback2
|
bl SetMainCallback2
|
||||||
_0800AB6A:
|
_0800AB6A:
|
||||||
@ -2918,25 +2918,25 @@ sub_800AB98: @ 800AB98
|
|||||||
.pool
|
.pool
|
||||||
thumb_func_end sub_800AB98
|
thumb_func_end sub_800AB98
|
||||||
|
|
||||||
thumb_func_start sub_800ABAC
|
thumb_func_start GetLinkPlayerCount_2
|
||||||
sub_800ABAC: @ 800ABAC
|
GetLinkPlayerCount_2: @ 800ABAC
|
||||||
ldr r0, =gUnknown_030030E0
|
ldr r0, =gLinkStatus
|
||||||
ldr r0, [r0]
|
ldr r0, [r0]
|
||||||
movs r1, 0x1C
|
movs r1, 0x1C
|
||||||
ands r0, r1
|
ands r0, r1
|
||||||
lsrs r0, 2
|
lsrs r0, 2
|
||||||
bx lr
|
bx lr
|
||||||
.pool
|
.pool
|
||||||
thumb_func_end sub_800ABAC
|
thumb_func_end GetLinkPlayerCount_2
|
||||||
|
|
||||||
thumb_func_start sub_800ABBC
|
thumb_func_start IsLinkMaster
|
||||||
sub_800ABBC: @ 800ABBC
|
IsLinkMaster: @ 800ABBC
|
||||||
push {lr}
|
push {lr}
|
||||||
ldr r0, =gLinkVSyncDisabled
|
ldr r0, =gLinkVSyncDisabled
|
||||||
ldrb r0, [r0]
|
ldrb r0, [r0]
|
||||||
cmp r0, 0
|
cmp r0, 0
|
||||||
bne _0800ABDC
|
bne _0800ABDC
|
||||||
ldr r0, =gUnknown_030030E0
|
ldr r0, =gLinkStatus
|
||||||
ldr r0, [r0]
|
ldr r0, [r0]
|
||||||
lsrs r0, 5
|
lsrs r0, 5
|
||||||
movs r1, 0x1
|
movs r1, 0x1
|
||||||
@ -2950,7 +2950,7 @@ _0800ABDC:
|
|||||||
_0800ABE4:
|
_0800ABE4:
|
||||||
pop {r1}
|
pop {r1}
|
||||||
bx r1
|
bx r1
|
||||||
thumb_func_end sub_800ABBC
|
thumb_func_end IsLinkMaster
|
||||||
|
|
||||||
thumb_func_start sub_800ABE8
|
thumb_func_start sub_800ABE8
|
||||||
sub_800ABE8: @ 800ABE8
|
sub_800ABE8: @ 800ABE8
|
||||||
@ -3074,7 +3074,7 @@ _0800ACD0:
|
|||||||
ldr r0, =gUnknown_03002748
|
ldr r0, =gUnknown_03002748
|
||||||
movs r4, 0x1
|
movs r4, 0x1
|
||||||
strb r4, [r0]
|
strb r4, [r0]
|
||||||
bl sub_80097E8
|
bl CloseLink
|
||||||
ldr r1, =gUnknown_03003140
|
ldr r1, =gUnknown_03003140
|
||||||
movs r0, 0
|
movs r0, 0
|
||||||
str r0, [r1]
|
str r0, [r1]
|
||||||
@ -3178,7 +3178,7 @@ _0800ADB6:
|
|||||||
ldr r0, =gUnknown_03002748
|
ldr r0, =gUnknown_03002748
|
||||||
movs r4, 0x1
|
movs r4, 0x1
|
||||||
strb r4, [r0]
|
strb r4, [r0]
|
||||||
bl sub_80097E8
|
bl CloseLink
|
||||||
ldr r1, =gUnknown_03003140
|
ldr r1, =gUnknown_03003140
|
||||||
movs r0, 0
|
movs r0, 0
|
||||||
str r0, [r1]
|
str r0, [r1]
|
||||||
@ -3290,7 +3290,7 @@ sub_800AEB4: @ 800AEB4
|
|||||||
ldrb r0, [r0]
|
ldrb r0, [r0]
|
||||||
cmp r0, 0
|
cmp r0, 0
|
||||||
beq _0800AEF4
|
beq _0800AEF4
|
||||||
ldr r0, =gUnknown_030030E0
|
ldr r0, =gLinkStatus
|
||||||
ldr r2, [r0]
|
ldr r2, [r0]
|
||||||
movs r0, 0xFE
|
movs r0, 0xFE
|
||||||
lsls r0, 11
|
lsls r0, 11
|
||||||
@ -3315,7 +3315,7 @@ _0800AEEA:
|
|||||||
ldr r1, =gUnknown_0300306C
|
ldr r1, =gUnknown_0300306C
|
||||||
movs r0, 0x1
|
movs r0, 0x1
|
||||||
strb r0, [r1]
|
strb r0, [r1]
|
||||||
bl sub_80097E8
|
bl CloseLink
|
||||||
_0800AEF4:
|
_0800AEF4:
|
||||||
pop {r0}
|
pop {r0}
|
||||||
bx r0
|
bx r0
|
||||||
@ -3426,7 +3426,7 @@ _0800AF8C:
|
|||||||
ldr r1, =gSoftResetDisabled
|
ldr r1, =gSoftResetDisabled
|
||||||
movs r0, 0
|
movs r0, 0
|
||||||
strb r0, [r1]
|
strb r0, [r1]
|
||||||
ldr r0, =sub_8009404
|
ldr r0, =Task_DestroySelf
|
||||||
movs r1, 0
|
movs r1, 0
|
||||||
bl CreateTask
|
bl CreateTask
|
||||||
bl StopMapMusic
|
bl StopMapMusic
|
||||||
@ -3740,16 +3740,16 @@ _0800B314:
|
|||||||
.pool
|
.pool
|
||||||
thumb_func_end sub_800B2F8
|
thumb_func_end sub_800B2F8
|
||||||
|
|
||||||
thumb_func_start sub_800B320
|
thumb_func_start IsLinkConnectionEstablished
|
||||||
sub_800B320: @ 800B320
|
IsLinkConnectionEstablished: @ 800B320
|
||||||
ldr r0, =gUnknown_030030E0
|
ldr r0, =gLinkStatus
|
||||||
ldr r0, [r0]
|
ldr r0, [r0]
|
||||||
lsrs r0, 6
|
lsrs r0, 6
|
||||||
movs r1, 0x1
|
movs r1, 0x1
|
||||||
ands r0, r1
|
ands r0, r1
|
||||||
bx lr
|
bx lr
|
||||||
.pool
|
.pool
|
||||||
thumb_func_end sub_800B320
|
thumb_func_end IsLinkConnectionEstablished
|
||||||
|
|
||||||
thumb_func_start sub_800B330
|
thumb_func_start sub_800B330
|
||||||
sub_800B330: @ 800B330
|
sub_800B330: @ 800B330
|
||||||
@ -3864,7 +3864,7 @@ HandleLinkConnection: @ 800B40C
|
|||||||
ldr r1, =gSendCmd
|
ldr r1, =gSendCmd
|
||||||
ldr r2, =gRecvCmds
|
ldr r2, =gRecvCmds
|
||||||
bl sub_800B638
|
bl sub_800B638
|
||||||
ldr r4, =gUnknown_030030E0
|
ldr r4, =gLinkStatus
|
||||||
str r0, [r4]
|
str r0, [r4]
|
||||||
ldr r0, =gUnknown_030022EC
|
ldr r0, =gUnknown_030022EC
|
||||||
bl sub_80099E0
|
bl sub_80099E0
|
||||||
@ -15025,7 +15025,7 @@ _08010E20:
|
|||||||
ldrb r1, [r0]
|
ldrb r1, [r0]
|
||||||
movs r1, 0x2
|
movs r1, 0x2
|
||||||
strb r1, [r0]
|
strb r1, [r0]
|
||||||
bl sub_80097E8
|
bl CloseLink
|
||||||
b _08010E8E
|
b _08010E8E
|
||||||
.pool
|
.pool
|
||||||
_08010E5C:
|
_08010E5C:
|
||||||
@ -16613,7 +16613,7 @@ sub_8011AFC: @ 8011AFC
|
|||||||
adds r0, r2, 0
|
adds r0, r2, 0
|
||||||
strh r0, [r1]
|
strh r0, [r1]
|
||||||
bl sub_800B488
|
bl sub_800B488
|
||||||
bl sub_8009734
|
bl OpenLink
|
||||||
ldr r0, =gMain
|
ldr r0, =gMain
|
||||||
ldrh r0, [r0, 0x24]
|
ldrh r0, [r0, 0x24]
|
||||||
bl SeedRng
|
bl SeedRng
|
||||||
@ -18142,7 +18142,7 @@ _08012848:
|
|||||||
movs r2, 0
|
movs r2, 0
|
||||||
bl sub_8010F84
|
bl sub_8010F84
|
||||||
bl sub_800B488
|
bl sub_800B488
|
||||||
bl sub_8009734
|
bl OpenLink
|
||||||
ldrb r1, [r4]
|
ldrb r1, [r4]
|
||||||
movs r0, 0xF
|
movs r0, 0xF
|
||||||
ands r0, r1
|
ands r0, r1
|
||||||
@ -19650,7 +19650,7 @@ _08013590:
|
|||||||
movs r2, 0
|
movs r2, 0
|
||||||
bl sub_8010F84
|
bl sub_8010F84
|
||||||
bl sub_800B488
|
bl sub_800B488
|
||||||
bl sub_8009734
|
bl OpenLink
|
||||||
bl sub_8011C5C
|
bl sub_8011C5C
|
||||||
movs r0, 0x70
|
movs r0, 0x70
|
||||||
bl AllocZeroed
|
bl AllocZeroed
|
||||||
@ -20398,7 +20398,7 @@ _08013CD0:
|
|||||||
movs r2, 0
|
movs r2, 0
|
||||||
bl sub_8010F84
|
bl sub_8010F84
|
||||||
bl sub_800B488
|
bl sub_800B488
|
||||||
bl sub_8009734
|
bl OpenLink
|
||||||
bl sub_8011C5C
|
bl sub_8011C5C
|
||||||
movs r0, 0x1
|
movs r0, 0x1
|
||||||
bl sub_80111B0
|
bl sub_80111B0
|
||||||
@ -21897,7 +21897,7 @@ _08014AB0:
|
|||||||
movs r1, 0
|
movs r1, 0
|
||||||
bl sub_8010FA0
|
bl sub_8010FA0
|
||||||
bl sub_800B488
|
bl sub_800B488
|
||||||
bl sub_8009734
|
bl OpenLink
|
||||||
movs r0, 0x2
|
movs r0, 0x2
|
||||||
bl sub_8011C10
|
bl sub_8011C10
|
||||||
movs r0, 0x1
|
movs r0, 0x1
|
||||||
@ -22435,7 +22435,7 @@ _08014FA4:
|
|||||||
movs r2, 0
|
movs r2, 0
|
||||||
bl sub_8010F84
|
bl sub_8010F84
|
||||||
bl sub_800B488
|
bl sub_800B488
|
||||||
bl sub_8009734
|
bl OpenLink
|
||||||
bl sub_8011C5C
|
bl sub_8011C5C
|
||||||
movs r0, 0x70
|
movs r0, 0x70
|
||||||
bl AllocZeroed
|
bl AllocZeroed
|
||||||
@ -22823,7 +22823,7 @@ _08015358:
|
|||||||
movs r2, 0
|
movs r2, 0
|
||||||
bl sub_8010F84
|
bl sub_8010F84
|
||||||
bl sub_800B488
|
bl sub_800B488
|
||||||
bl sub_8009734
|
bl OpenLink
|
||||||
bl sub_8011C5C
|
bl sub_8011C5C
|
||||||
movs r0, 0x70
|
movs r0, 0x70
|
||||||
bl AllocZeroed
|
bl AllocZeroed
|
||||||
@ -23373,7 +23373,7 @@ _08015878:
|
|||||||
ldrh r2, [r2, 0xC]
|
ldrh r2, [r2, 0xC]
|
||||||
bl sub_8010FCC
|
bl sub_8010FCC
|
||||||
bl sub_800B488
|
bl sub_800B488
|
||||||
bl sub_8009734
|
bl OpenLink
|
||||||
bl sub_8011C84
|
bl sub_8011C84
|
||||||
ldr r0, [r6, 0x8]
|
ldr r0, [r6, 0x8]
|
||||||
movs r1, 0x1
|
movs r1, 0x1
|
||||||
@ -25223,7 +25223,7 @@ _080169BE:
|
|||||||
movs r2, 0
|
movs r2, 0
|
||||||
bl sub_8010F84
|
bl sub_8010F84
|
||||||
bl sub_800B488
|
bl sub_800B488
|
||||||
bl sub_8009734
|
bl OpenLink
|
||||||
bl sub_8011C84
|
bl sub_8011C84
|
||||||
movs r0, 0x1
|
movs r0, 0x1
|
||||||
bl sub_80111B0
|
bl sub_80111B0
|
||||||
@ -31098,7 +31098,7 @@ _080198FE:
|
|||||||
b _08019922
|
b _08019922
|
||||||
.pool
|
.pool
|
||||||
_0801990C:
|
_0801990C:
|
||||||
bl sub_80097E8
|
bl CloseLink
|
||||||
ldr r0, [r5, 0x10]
|
ldr r0, [r5, 0x10]
|
||||||
bl Free
|
bl Free
|
||||||
adds r0, r4, 0
|
adds r0, r4, 0
|
||||||
@ -31433,7 +31433,7 @@ _08019B84:
|
|||||||
b _08019B9C
|
b _08019B9C
|
||||||
_08019B96:
|
_08019B96:
|
||||||
adds r0, r4, 0
|
adds r0, r4, 0
|
||||||
bl sub_8097404
|
bl FreezeMapObject
|
||||||
_08019B9C:
|
_08019B9C:
|
||||||
movs r0, 0x1
|
movs r0, 0x1
|
||||||
_08019B9E:
|
_08019B9E:
|
||||||
|
@ -1495,7 +1495,7 @@ _08030478:
|
|||||||
b _0803048A
|
b _0803048A
|
||||||
.pool
|
.pool
|
||||||
_08030480:
|
_08030480:
|
||||||
ldr r0, =sub_8178974
|
ldr r0, =CB2_InitMysteryEventMenu
|
||||||
b _0803048A
|
b _0803048A
|
||||||
.pool
|
.pool
|
||||||
_08030488:
|
_08030488:
|
||||||
|
File diff suppressed because it is too large
Load Diff
@ -109,7 +109,7 @@ _0809842A:
|
|||||||
cmp r0, 0
|
cmp r0, 0
|
||||||
blt _08098452
|
blt _08098452
|
||||||
adds r0, r1, 0
|
adds r0, r1, 0
|
||||||
bl sub_8097404
|
bl FreezeMapObject
|
||||||
movs r0, 0x1
|
movs r0, 0x1
|
||||||
strh r0, [r5, 0xA]
|
strh r0, [r5, 0xA]
|
||||||
_08098452:
|
_08098452:
|
||||||
@ -154,7 +154,7 @@ LockSelectedMapObject: @ 80984A0
|
|||||||
push {r4,r5,lr}
|
push {r4,r5,lr}
|
||||||
ldr r4, =gSelectedMapObject
|
ldr r4, =gSelectedMapObject
|
||||||
ldrb r0, [r4]
|
ldrb r0, [r4]
|
||||||
bl sub_80974D0
|
bl FreezeMapObjectsExceptOne
|
||||||
ldr r0, =sub_8098400
|
ldr r0, =sub_8098400
|
||||||
movs r1, 0x50
|
movs r1, 0x50
|
||||||
bl CreateTask
|
bl CreateTask
|
||||||
@ -171,7 +171,7 @@ LockSelectedMapObject: @ 80984A0
|
|||||||
cmp r0, 0
|
cmp r0, 0
|
||||||
blt _080984DE
|
blt _080984DE
|
||||||
adds r0, r1, 0
|
adds r0, r1, 0
|
||||||
bl sub_8097404
|
bl FreezeMapObject
|
||||||
ldr r0, =gTasks
|
ldr r0, =gTasks
|
||||||
lsls r1, r5, 2
|
lsls r1, r5, 2
|
||||||
adds r1, r5
|
adds r1, r5
|
||||||
@ -317,7 +317,7 @@ _080985E8:
|
|||||||
cmp r0, 0
|
cmp r0, 0
|
||||||
blt _0809860C
|
blt _0809860C
|
||||||
adds r0, r1, 0
|
adds r0, r1, 0
|
||||||
bl sub_8097404
|
bl FreezeMapObject
|
||||||
movs r0, 0x1
|
movs r0, 0x1
|
||||||
strh r0, [r5, 0xA]
|
strh r0, [r5, 0xA]
|
||||||
_0809860C:
|
_0809860C:
|
||||||
@ -385,7 +385,7 @@ sub_8098630: @ 8098630
|
|||||||
cmp r0, 0
|
cmp r0, 0
|
||||||
blt _0809869A
|
blt _0809869A
|
||||||
adds r0, r1, 0
|
adds r0, r1, 0
|
||||||
bl sub_8097404
|
bl FreezeMapObject
|
||||||
movs r0, 0x1
|
movs r0, 0x1
|
||||||
strh r0, [r6, 0xA]
|
strh r0, [r6, 0xA]
|
||||||
_0809869A:
|
_0809869A:
|
||||||
@ -410,14 +410,14 @@ _0809869A:
|
|||||||
cmp r0, 0
|
cmp r0, 0
|
||||||
blt _0809871A
|
blt _0809871A
|
||||||
adds r0, r1, 0
|
adds r0, r1, 0
|
||||||
bl sub_8097404
|
bl FreezeMapObject
|
||||||
movs r0, 0x1
|
movs r0, 0x1
|
||||||
strh r0, [r4, 0xA]
|
strh r0, [r4, 0xA]
|
||||||
b _0809871A
|
b _0809871A
|
||||||
.pool
|
.pool
|
||||||
_080986E0:
|
_080986E0:
|
||||||
adds r0, r4, 0
|
adds r0, r4, 0
|
||||||
bl sub_80974D0
|
bl FreezeMapObjectsExceptOne
|
||||||
ldr r0, =sub_80985BC
|
ldr r0, =sub_80985BC
|
||||||
movs r1, 0x50
|
movs r1, 0x50
|
||||||
bl CreateTask
|
bl CreateTask
|
||||||
@ -439,7 +439,7 @@ _080986E0:
|
|||||||
cmp r0, 0
|
cmp r0, 0
|
||||||
blt _0809871A
|
blt _0809871A
|
||||||
adds r0, r1, 0
|
adds r0, r1, 0
|
||||||
bl sub_8097404
|
bl FreezeMapObject
|
||||||
movs r0, 0x1
|
movs r0, 0x1
|
||||||
strh r0, [r5, 0xA]
|
strh r0, [r5, 0xA]
|
||||||
_0809871A:
|
_0809871A:
|
||||||
|
@ -1,669 +0,0 @@
|
|||||||
.include "asm/macros.inc"
|
|
||||||
.include "constants/constants.inc"
|
|
||||||
|
|
||||||
.syntax unified
|
|
||||||
|
|
||||||
.text
|
|
||||||
|
|
||||||
thumb_func_start sub_8178944
|
|
||||||
sub_8178944: @ 8178944
|
|
||||||
push {lr}
|
|
||||||
bl LoadOam
|
|
||||||
bl ProcessSpriteCopyRequests
|
|
||||||
bl TransferPlttBuffer
|
|
||||||
pop {r0}
|
|
||||||
bx r0
|
|
||||||
thumb_func_end sub_8178944
|
|
||||||
|
|
||||||
thumb_func_start sub_8178958
|
|
||||||
sub_8178958: @ 8178958
|
|
||||||
push {lr}
|
|
||||||
movs r2, 0
|
|
||||||
ldr r1, =gLinkPlayers
|
|
||||||
ldrh r0, [r1, 0x1A]
|
|
||||||
ldrh r1, [r1, 0x36]
|
|
||||||
cmp r0, r1
|
|
||||||
bne _08178968
|
|
||||||
movs r2, 0x1
|
|
||||||
_08178968:
|
|
||||||
adds r0, r2, 0
|
|
||||||
pop {r1}
|
|
||||||
bx r1
|
|
||||||
.pool
|
|
||||||
thumb_func_end sub_8178958
|
|
||||||
|
|
||||||
thumb_func_start sub_8178974
|
|
||||||
sub_8178974: @ 8178974
|
|
||||||
push {r4,lr}
|
|
||||||
sub sp, 0x8
|
|
||||||
bl ResetSpriteData
|
|
||||||
bl FreeAllSpritePalettes
|
|
||||||
bl ResetTasks
|
|
||||||
ldr r0, =sub_8178944
|
|
||||||
bl SetVBlankCallback
|
|
||||||
movs r0, 0
|
|
||||||
bl ResetBgsAndClearDma3BusyFlags
|
|
||||||
ldr r1, =gUnknown_085EFD64
|
|
||||||
movs r0, 0
|
|
||||||
movs r2, 0x1
|
|
||||||
bl InitBgsFromTemplates
|
|
||||||
ldr r0, =gUnknown_085EFD68
|
|
||||||
bl InitWindows
|
|
||||||
lsls r0, 16
|
|
||||||
cmp r0, 0
|
|
||||||
beq _08178A22
|
|
||||||
bl DeactivateAllTextPrinters
|
|
||||||
movs r4, 0
|
|
||||||
_081789AC:
|
|
||||||
lsls r0, r4, 24
|
|
||||||
lsrs r0, 24
|
|
||||||
movs r1, 0
|
|
||||||
bl FillWindowPixelBuffer
|
|
||||||
adds r4, 0x1
|
|
||||||
cmp r4, 0x1
|
|
||||||
ble _081789AC
|
|
||||||
movs r0, 0x1E
|
|
||||||
str r0, [sp]
|
|
||||||
movs r0, 0x14
|
|
||||||
str r0, [sp, 0x4]
|
|
||||||
movs r0, 0
|
|
||||||
movs r1, 0
|
|
||||||
movs r2, 0
|
|
||||||
movs r3, 0
|
|
||||||
bl FillBgTilemapBufferRect_Palette0
|
|
||||||
movs r0, 0
|
|
||||||
movs r1, 0x1
|
|
||||||
movs r2, 0xD0
|
|
||||||
bl sub_809882C
|
|
||||||
movs r0, 0xE0
|
|
||||||
bl sub_81978B0
|
|
||||||
movs r1, 0xA0
|
|
||||||
lsls r1, 1
|
|
||||||
movs r0, 0
|
|
||||||
bl SetGpuReg
|
|
||||||
movs r0, 0x50
|
|
||||||
movs r1, 0
|
|
||||||
bl SetGpuReg
|
|
||||||
ldr r0, =sub_8009404
|
|
||||||
movs r1, 0
|
|
||||||
bl CreateTask
|
|
||||||
bl StopMapMusic
|
|
||||||
bl RunTasks
|
|
||||||
bl AnimateSprites
|
|
||||||
bl BuildOamBuffer
|
|
||||||
bl RunTextPrinters
|
|
||||||
bl UpdatePaletteFade
|
|
||||||
movs r0, 0
|
|
||||||
movs r1, 0
|
|
||||||
movs r2, 0x2
|
|
||||||
bl FillPalette
|
|
||||||
ldr r0, =sub_8178A78
|
|
||||||
bl SetMainCallback2
|
|
||||||
_08178A22:
|
|
||||||
add sp, 0x8
|
|
||||||
pop {r4}
|
|
||||||
pop {r0}
|
|
||||||
bx r0
|
|
||||||
.pool
|
|
||||||
thumb_func_end sub_8178974
|
|
||||||
|
|
||||||
thumb_func_start sub_8178A40
|
|
||||||
sub_8178A40: @ 8178A40
|
|
||||||
push {r4-r6,lr}
|
|
||||||
adds r6, r0, 0
|
|
||||||
adds r4, r1, 0
|
|
||||||
movs r5, 0x1
|
|
||||||
cmp r4, 0
|
|
||||||
bne _08178A54
|
|
||||||
ldr r1, =gText_EventSafelyLoaded
|
|
||||||
bl StringCopy
|
|
||||||
movs r5, 0
|
|
||||||
_08178A54:
|
|
||||||
cmp r4, 0x2
|
|
||||||
bne _08178A5A
|
|
||||||
movs r5, 0
|
|
||||||
_08178A5A:
|
|
||||||
cmp r4, 0x1
|
|
||||||
bne _08178A66
|
|
||||||
ldr r1, =gText_LoadErrorEndingSession
|
|
||||||
adds r0, r6, 0
|
|
||||||
bl StringCopy
|
|
||||||
_08178A66:
|
|
||||||
adds r0, r5, 0
|
|
||||||
pop {r4-r6}
|
|
||||||
pop {r1}
|
|
||||||
bx r1
|
|
||||||
.pool
|
|
||||||
thumb_func_end sub_8178A40
|
|
||||||
|
|
||||||
thumb_func_start sub_8178A78
|
|
||||||
sub_8178A78: @ 8178A78
|
|
||||||
push {r4-r6,lr}
|
|
||||||
sub sp, 0x8
|
|
||||||
ldr r1, =gMain
|
|
||||||
movs r2, 0x87
|
|
||||||
lsls r2, 3
|
|
||||||
adds r0, r1, r2
|
|
||||||
ldrb r0, [r0]
|
|
||||||
adds r4, r1, 0
|
|
||||||
cmp r0, 0x10
|
|
||||||
bls _08178A8E
|
|
||||||
b _08178E58
|
|
||||||
_08178A8E:
|
|
||||||
lsls r0, 2
|
|
||||||
ldr r1, =_08178AA0
|
|
||||||
adds r0, r1
|
|
||||||
ldr r0, [r0]
|
|
||||||
mov pc, r0
|
|
||||||
.pool
|
|
||||||
.align 2, 0
|
|
||||||
_08178AA0:
|
|
||||||
.4byte _08178AE4
|
|
||||||
.4byte _08178B12
|
|
||||||
.4byte _08178B48
|
|
||||||
.4byte _08178B80
|
|
||||||
.4byte _08178BCC
|
|
||||||
.4byte _08178BDC
|
|
||||||
.4byte _08178C54
|
|
||||||
.4byte _08178D28
|
|
||||||
.4byte _08178D38
|
|
||||||
.4byte _08178D58
|
|
||||||
.4byte _08178D60
|
|
||||||
.4byte _08178D74
|
|
||||||
.4byte _08178DBC
|
|
||||||
.4byte _08178DE0
|
|
||||||
.4byte _08178E0C
|
|
||||||
.4byte _08178E24
|
|
||||||
.4byte _08178E48
|
|
||||||
_08178AE4:
|
|
||||||
movs r0, 0
|
|
||||||
movs r1, 0x1
|
|
||||||
movs r2, 0x1
|
|
||||||
movs r3, 0xD
|
|
||||||
bl SetWindowBorderStyle
|
|
||||||
movs r0, 0
|
|
||||||
bl PutWindowTilemap
|
|
||||||
movs r0, 0
|
|
||||||
movs r1, 0x3
|
|
||||||
bl CopyWindowToVram
|
|
||||||
movs r0, 0
|
|
||||||
bl ShowBg
|
|
||||||
movs r0, 0x1
|
|
||||||
negs r0, r0
|
|
||||||
movs r1, 0
|
|
||||||
str r1, [sp]
|
|
||||||
movs r2, 0x10
|
|
||||||
movs r3, 0
|
|
||||||
b _08178E30
|
|
||||||
_08178B12:
|
|
||||||
ldr r0, =gPaletteFade
|
|
||||||
ldrb r1, [r0, 0x7]
|
|
||||||
movs r0, 0x80
|
|
||||||
ands r0, r1
|
|
||||||
cmp r0, 0
|
|
||||||
beq _08178B20
|
|
||||||
b _08178E58
|
|
||||||
_08178B20:
|
|
||||||
ldr r1, =gText_LinkStandby2
|
|
||||||
movs r0, 0x1
|
|
||||||
str r0, [sp]
|
|
||||||
movs r0, 0
|
|
||||||
movs r2, 0x1
|
|
||||||
movs r3, 0x2
|
|
||||||
bl sub_8178EC4
|
|
||||||
ldr r1, =gMain
|
|
||||||
movs r2, 0x87
|
|
||||||
lsls r2, 3
|
|
||||||
adds r1, r2
|
|
||||||
b _08178E3C
|
|
||||||
.pool
|
|
||||||
_08178B48:
|
|
||||||
movs r0, 0
|
|
||||||
bl IsTextPrinterActive
|
|
||||||
lsls r0, 16
|
|
||||||
cmp r0, 0
|
|
||||||
beq _08178B56
|
|
||||||
b _08178E58
|
|
||||||
_08178B56:
|
|
||||||
ldr r1, =gMain
|
|
||||||
movs r0, 0x87
|
|
||||||
lsls r0, 3
|
|
||||||
adds r1, r0
|
|
||||||
ldrb r0, [r1]
|
|
||||||
adds r0, 0x1
|
|
||||||
strb r0, [r1]
|
|
||||||
ldr r1, =gLinkType
|
|
||||||
ldr r2, =0x00005501
|
|
||||||
adds r0, r2, 0
|
|
||||||
strh r0, [r1]
|
|
||||||
bl sub_8009734
|
|
||||||
b _08178E58
|
|
||||||
.pool
|
|
||||||
_08178B80:
|
|
||||||
ldr r0, =gUnknown_030030E0
|
|
||||||
ldr r1, [r0]
|
|
||||||
movs r0, 0x20
|
|
||||||
ands r0, r1
|
|
||||||
cmp r0, 0
|
|
||||||
bne _08178B8E
|
|
||||||
b _08178D00
|
|
||||||
_08178B8E:
|
|
||||||
movs r0, 0x1C
|
|
||||||
ands r1, r0
|
|
||||||
cmp r1, 0x4
|
|
||||||
bhi _08178B98
|
|
||||||
b _08178D00
|
|
||||||
_08178B98:
|
|
||||||
movs r0, 0x15
|
|
||||||
bl PlaySE
|
|
||||||
ldr r1, =gText_PressAToLoadEvent
|
|
||||||
movs r0, 0x1
|
|
||||||
str r0, [sp]
|
|
||||||
movs r0, 0
|
|
||||||
movs r2, 0x1
|
|
||||||
movs r3, 0x2
|
|
||||||
bl sub_8178EC4
|
|
||||||
ldr r1, =gMain
|
|
||||||
movs r0, 0x87
|
|
||||||
lsls r0, 3
|
|
||||||
adds r1, r0
|
|
||||||
ldrb r0, [r1]
|
|
||||||
adds r0, 0x1
|
|
||||||
strb r0, [r1]
|
|
||||||
b _08178D00
|
|
||||||
.pool
|
|
||||||
_08178BCC:
|
|
||||||
movs r0, 0
|
|
||||||
bl IsTextPrinterActive
|
|
||||||
lsls r0, 16
|
|
||||||
cmp r0, 0
|
|
||||||
beq _08178BDA
|
|
||||||
b _08178E58
|
|
||||||
_08178BDA:
|
|
||||||
b _08178E34
|
|
||||||
_08178BDC:
|
|
||||||
bl sub_800ABAC
|
|
||||||
lsls r0, 24
|
|
||||||
lsrs r2, r0, 24
|
|
||||||
cmp r2, 0x2
|
|
||||||
bne _08178CD0
|
|
||||||
ldr r4, =gMain
|
|
||||||
ldrh r1, [r4, 0x2E]
|
|
||||||
movs r0, 0x1
|
|
||||||
ands r0, r1
|
|
||||||
cmp r0, 0
|
|
||||||
beq _08178C38
|
|
||||||
movs r0, 0x5
|
|
||||||
bl PlaySE
|
|
||||||
bl sub_800A620
|
|
||||||
movs r0, 0x1
|
|
||||||
movs r1, 0x1
|
|
||||||
movs r2, 0x1
|
|
||||||
movs r3, 0xD
|
|
||||||
bl SetWindowBorderStyle
|
|
||||||
ldr r1, =gText_LoadingEvent
|
|
||||||
movs r0, 0
|
|
||||||
str r0, [sp]
|
|
||||||
movs r0, 0x1
|
|
||||||
movs r2, 0x1
|
|
||||||
movs r3, 0x2
|
|
||||||
bl sub_8178EC4
|
|
||||||
movs r0, 0x1
|
|
||||||
bl PutWindowTilemap
|
|
||||||
movs r0, 0x1
|
|
||||||
movs r1, 0x3
|
|
||||||
bl CopyWindowToVram
|
|
||||||
movs r2, 0x87
|
|
||||||
lsls r2, 3
|
|
||||||
adds r1, r4, r2
|
|
||||||
b _08178E3C
|
|
||||||
.pool
|
|
||||||
_08178C38:
|
|
||||||
adds r0, r2, 0
|
|
||||||
ands r0, r1
|
|
||||||
cmp r0, 0
|
|
||||||
bne _08178C42
|
|
||||||
b _08178E58
|
|
||||||
_08178C42:
|
|
||||||
movs r0, 0x5
|
|
||||||
bl PlaySE
|
|
||||||
bl sub_80097E8
|
|
||||||
movs r0, 0x87
|
|
||||||
lsls r0, 3
|
|
||||||
adds r1, r4, r0
|
|
||||||
b _08178D1E
|
|
||||||
_08178C54:
|
|
||||||
bl sub_800B320
|
|
||||||
lsls r0, 24
|
|
||||||
cmp r0, 0
|
|
||||||
beq _08178D00
|
|
||||||
ldr r0, =gReceivedRemoteLinkPlayers
|
|
||||||
ldrb r0, [r0]
|
|
||||||
cmp r0, 0
|
|
||||||
bne _08178C68
|
|
||||||
b _08178E58
|
|
||||||
_08178C68:
|
|
||||||
movs r0, 0x2
|
|
||||||
movs r1, 0x2
|
|
||||||
bl sub_800A0C8
|
|
||||||
lsls r0, 24
|
|
||||||
lsrs r0, 24
|
|
||||||
cmp r0, 0x3
|
|
||||||
bne _08178CAC
|
|
||||||
bl sub_800AC34
|
|
||||||
ldr r4, =gStringVar4
|
|
||||||
adds r0, r4, 0
|
|
||||||
movs r1, 0x1
|
|
||||||
bl sub_8178A40
|
|
||||||
movs r0, 0x1
|
|
||||||
str r0, [sp]
|
|
||||||
movs r0, 0
|
|
||||||
adds r1, r4, 0
|
|
||||||
movs r2, 0x1
|
|
||||||
movs r3, 0x2
|
|
||||||
bl sub_8178EC4
|
|
||||||
ldr r0, =gMain
|
|
||||||
movs r2, 0x87
|
|
||||||
lsls r2, 3
|
|
||||||
adds r0, r2
|
|
||||||
b _08178CF2
|
|
||||||
.pool
|
|
||||||
_08178CAC:
|
|
||||||
bl sub_8178958
|
|
||||||
lsls r0, 24
|
|
||||||
cmp r0, 0
|
|
||||||
beq _08178CCC
|
|
||||||
ldr r1, =gText_DontRemoveCableTurnOff
|
|
||||||
movs r0, 0x1
|
|
||||||
str r0, [sp]
|
|
||||||
movs r0, 0
|
|
||||||
movs r2, 0x1
|
|
||||||
movs r3, 0x2
|
|
||||||
bl sub_8178EC4
|
|
||||||
b _08178E34
|
|
||||||
.pool
|
|
||||||
_08178CCC:
|
|
||||||
bl sub_80097E8
|
|
||||||
_08178CD0:
|
|
||||||
ldr r4, =gStringVar4
|
|
||||||
adds r0, r4, 0
|
|
||||||
movs r1, 0x1
|
|
||||||
bl sub_8178A40
|
|
||||||
movs r0, 0x1
|
|
||||||
str r0, [sp]
|
|
||||||
movs r0, 0
|
|
||||||
adds r1, r4, 0
|
|
||||||
movs r2, 0x1
|
|
||||||
movs r3, 0x2
|
|
||||||
bl sub_8178EC4
|
|
||||||
ldr r0, =gMain
|
|
||||||
movs r1, 0x87
|
|
||||||
lsls r1, 3
|
|
||||||
adds r0, r1
|
|
||||||
_08178CF2:
|
|
||||||
movs r1, 0xD
|
|
||||||
strb r1, [r0]
|
|
||||||
b _08178E58
|
|
||||||
.pool
|
|
||||||
_08178D00:
|
|
||||||
ldr r4, =gMain
|
|
||||||
ldrh r1, [r4, 0x2E]
|
|
||||||
movs r0, 0x2
|
|
||||||
ands r0, r1
|
|
||||||
cmp r0, 0
|
|
||||||
bne _08178D0E
|
|
||||||
b _08178E58
|
|
||||||
_08178D0E:
|
|
||||||
movs r0, 0x5
|
|
||||||
bl PlaySE
|
|
||||||
bl sub_80097E8
|
|
||||||
movs r2, 0x87
|
|
||||||
lsls r2, 3
|
|
||||||
adds r1, r4, r2
|
|
||||||
_08178D1E:
|
|
||||||
movs r0, 0xF
|
|
||||||
strb r0, [r1]
|
|
||||||
b _08178E58
|
|
||||||
.pool
|
|
||||||
_08178D28:
|
|
||||||
movs r0, 0
|
|
||||||
bl IsTextPrinterActive
|
|
||||||
lsls r0, 16
|
|
||||||
cmp r0, 0
|
|
||||||
beq _08178D36
|
|
||||||
b _08178E58
|
|
||||||
_08178D36:
|
|
||||||
b _08178E34
|
|
||||||
_08178D38:
|
|
||||||
bl GetBlockReceivedStatus
|
|
||||||
lsls r0, 24
|
|
||||||
cmp r0, 0
|
|
||||||
bne _08178D44
|
|
||||||
b _08178E58
|
|
||||||
_08178D44:
|
|
||||||
bl ResetBlockReceivedFlags
|
|
||||||
ldr r1, =gMain
|
|
||||||
movs r2, 0x87
|
|
||||||
lsls r2, 3
|
|
||||||
adds r1, r2
|
|
||||||
b _08178E3C
|
|
||||||
.pool
|
|
||||||
_08178D58:
|
|
||||||
movs r0, 0x87
|
|
||||||
lsls r0, 3
|
|
||||||
adds r1, r4, r0
|
|
||||||
b _08178E3C
|
|
||||||
_08178D60:
|
|
||||||
bl sub_800AC34
|
|
||||||
ldr r1, =gMain
|
|
||||||
movs r2, 0x87
|
|
||||||
lsls r2, 3
|
|
||||||
adds r1, r2
|
|
||||||
b _08178E3C
|
|
||||||
.pool
|
|
||||||
_08178D74:
|
|
||||||
ldr r0, =gReceivedRemoteLinkPlayers
|
|
||||||
ldrb r6, [r0]
|
|
||||||
cmp r6, 0
|
|
||||||
bne _08178E58
|
|
||||||
ldr r5, =0x0201c000
|
|
||||||
adds r0, r5, 0
|
|
||||||
bl RunMysteryEventScript
|
|
||||||
adds r4, r0, 0
|
|
||||||
lsls r4, 16
|
|
||||||
lsrs r4, 16
|
|
||||||
str r6, [sp, 0x4]
|
|
||||||
ldr r2, =0x050001f5
|
|
||||||
add r0, sp, 0x4
|
|
||||||
adds r1, r5, 0
|
|
||||||
bl CpuSet
|
|
||||||
ldr r0, =gStringVar4
|
|
||||||
adds r1, r4, 0
|
|
||||||
bl sub_8178A40
|
|
||||||
lsls r0, 24
|
|
||||||
cmp r0, 0
|
|
||||||
bne _08178E34
|
|
||||||
movs r0, 0
|
|
||||||
bl TrySavingData
|
|
||||||
b _08178E34
|
|
||||||
.pool
|
|
||||||
_08178DBC:
|
|
||||||
ldr r1, =gStringVar4
|
|
||||||
movs r0, 0x1
|
|
||||||
str r0, [sp]
|
|
||||||
movs r0, 0
|
|
||||||
movs r2, 0x1
|
|
||||||
movs r3, 0x2
|
|
||||||
bl sub_8178EC4
|
|
||||||
ldr r1, =gMain
|
|
||||||
movs r2, 0x87
|
|
||||||
lsls r2, 3
|
|
||||||
adds r1, r2
|
|
||||||
b _08178E3C
|
|
||||||
.pool
|
|
||||||
_08178DE0:
|
|
||||||
movs r0, 0
|
|
||||||
bl IsTextPrinterActive
|
|
||||||
lsls r0, 16
|
|
||||||
lsrs r2, r0, 16
|
|
||||||
cmp r2, 0
|
|
||||||
bne _08178E58
|
|
||||||
ldr r0, =gMain
|
|
||||||
movs r1, 0x87
|
|
||||||
lsls r1, 3
|
|
||||||
adds r0, r1
|
|
||||||
ldrb r1, [r0]
|
|
||||||
adds r1, 0x1
|
|
||||||
strb r1, [r0]
|
|
||||||
ldr r0, =gUnknown_0203BCF8
|
|
||||||
strb r2, [r0]
|
|
||||||
b _08178E58
|
|
||||||
.pool
|
|
||||||
_08178E0C:
|
|
||||||
ldrh r1, [r4, 0x2E]
|
|
||||||
movs r0, 0x1
|
|
||||||
ands r0, r1
|
|
||||||
cmp r0, 0
|
|
||||||
beq _08178E58
|
|
||||||
movs r0, 0x5
|
|
||||||
bl PlaySE
|
|
||||||
movs r2, 0x87
|
|
||||||
lsls r2, 3
|
|
||||||
adds r1, r4, r2
|
|
||||||
b _08178E3C
|
|
||||||
_08178E24:
|
|
||||||
movs r0, 0x1
|
|
||||||
negs r0, r0
|
|
||||||
movs r1, 0
|
|
||||||
str r1, [sp]
|
|
||||||
movs r2, 0
|
|
||||||
movs r3, 0x10
|
|
||||||
_08178E30:
|
|
||||||
bl BeginNormalPaletteFade
|
|
||||||
_08178E34:
|
|
||||||
ldr r1, =gMain
|
|
||||||
movs r0, 0x87
|
|
||||||
lsls r0, 3
|
|
||||||
adds r1, r0
|
|
||||||
_08178E3C:
|
|
||||||
ldrb r0, [r1]
|
|
||||||
adds r0, 0x1
|
|
||||||
strb r0, [r1]
|
|
||||||
b _08178E58
|
|
||||||
.pool
|
|
||||||
_08178E48:
|
|
||||||
ldr r0, =gPaletteFade
|
|
||||||
ldrb r1, [r0, 0x7]
|
|
||||||
movs r0, 0x80
|
|
||||||
ands r0, r1
|
|
||||||
cmp r0, 0
|
|
||||||
bne _08178E58
|
|
||||||
bl DoSoftReset
|
|
||||||
_08178E58:
|
|
||||||
ldr r0, =gUnknown_030030E0
|
|
||||||
ldr r0, [r0]
|
|
||||||
movs r1, 0x40
|
|
||||||
ands r0, r1
|
|
||||||
cmp r0, 0
|
|
||||||
beq _08178E98
|
|
||||||
bl sub_800ABBC
|
|
||||||
lsls r0, 24
|
|
||||||
cmp r0, 0
|
|
||||||
bne _08178E98
|
|
||||||
bl sub_80097E8
|
|
||||||
ldr r4, =gStringVar4
|
|
||||||
adds r0, r4, 0
|
|
||||||
movs r1, 0x1
|
|
||||||
bl sub_8178A40
|
|
||||||
movs r0, 0x1
|
|
||||||
str r0, [sp]
|
|
||||||
movs r0, 0
|
|
||||||
adds r1, r4, 0
|
|
||||||
movs r2, 0x1
|
|
||||||
movs r3, 0x2
|
|
||||||
bl sub_8178EC4
|
|
||||||
ldr r0, =gMain
|
|
||||||
movs r1, 0x87
|
|
||||||
lsls r1, 3
|
|
||||||
adds r0, r1
|
|
||||||
movs r1, 0xD
|
|
||||||
strb r1, [r0]
|
|
||||||
_08178E98:
|
|
||||||
bl RunTasks
|
|
||||||
bl AnimateSprites
|
|
||||||
bl BuildOamBuffer
|
|
||||||
bl RunTextPrinters
|
|
||||||
bl UpdatePaletteFade
|
|
||||||
add sp, 0x8
|
|
||||||
pop {r4-r6}
|
|
||||||
pop {r0}
|
|
||||||
bx r0
|
|
||||||
.pool
|
|
||||||
thumb_func_end sub_8178A78
|
|
||||||
|
|
||||||
thumb_func_start sub_8178EC4
|
|
||||||
sub_8178EC4: @ 8178EC4
|
|
||||||
push {r4-r6,lr}
|
|
||||||
mov r6, r10
|
|
||||||
mov r5, r9
|
|
||||||
mov r4, r8
|
|
||||||
push {r4-r6}
|
|
||||||
sub sp, 0x1C
|
|
||||||
adds r5, r0, 0
|
|
||||||
mov r10, r1
|
|
||||||
adds r6, r2, 0
|
|
||||||
ldr r4, [sp, 0x38]
|
|
||||||
lsls r5, 24
|
|
||||||
lsrs r5, 24
|
|
||||||
lsls r6, 24
|
|
||||||
lsrs r6, 24
|
|
||||||
lsls r3, 24
|
|
||||||
lsrs r3, 24
|
|
||||||
movs r0, 0
|
|
||||||
mov r9, r0
|
|
||||||
movs r1, 0x1
|
|
||||||
mov r8, r1
|
|
||||||
add r0, sp, 0x14
|
|
||||||
mov r1, r8
|
|
||||||
strb r1, [r0]
|
|
||||||
adds r1, r0, 0
|
|
||||||
movs r0, 0x2
|
|
||||||
strb r0, [r1, 0x1]
|
|
||||||
movs r0, 0x3
|
|
||||||
strb r0, [r1, 0x2]
|
|
||||||
adds r0, r1, 0
|
|
||||||
ldrb r0, [r0]
|
|
||||||
lsls r1, r0, 4
|
|
||||||
orrs r1, r0
|
|
||||||
lsls r1, 24
|
|
||||||
lsrs r1, 24
|
|
||||||
adds r0, r5, 0
|
|
||||||
str r3, [sp, 0x18]
|
|
||||||
bl FillWindowPixelBuffer
|
|
||||||
mov r0, r9
|
|
||||||
str r0, [sp]
|
|
||||||
mov r1, r8
|
|
||||||
str r1, [sp, 0x4]
|
|
||||||
add r0, sp, 0x14
|
|
||||||
str r0, [sp, 0x8]
|
|
||||||
lsls r4, 24
|
|
||||||
asrs r4, 24
|
|
||||||
str r4, [sp, 0xC]
|
|
||||||
mov r1, r10
|
|
||||||
str r1, [sp, 0x10]
|
|
||||||
adds r0, r5, 0
|
|
||||||
movs r1, 0x1
|
|
||||||
adds r2, r6, 0
|
|
||||||
ldr r3, [sp, 0x18]
|
|
||||||
bl AddTextPrinterParameterized2
|
|
||||||
add sp, 0x1C
|
|
||||||
pop {r3-r5}
|
|
||||||
mov r8, r3
|
|
||||||
mov r9, r4
|
|
||||||
mov r10, r5
|
|
||||||
pop {r4-r6}
|
|
||||||
pop {r0}
|
|
||||||
bx r0
|
|
||||||
thumb_func_end sub_8178EC4
|
|
||||||
|
|
||||||
.align 2, 0 @ Don't pad with nop.
|
|
@ -3584,7 +3584,7 @@ sub_808631C: @ 808631C
|
|||||||
lsrs r0, 24
|
lsrs r0, 24
|
||||||
cmp r0, 0x1
|
cmp r0, 0x1
|
||||||
bne _0808632E
|
bne _0808632E
|
||||||
bl sub_80097E8
|
bl CloseLink
|
||||||
_0808632E:
|
_0808632E:
|
||||||
ldr r0, =gLinkVSyncDisabled
|
ldr r0, =gLinkVSyncDisabled
|
||||||
ldrb r0, [r0]
|
ldrb r0, [r0]
|
||||||
|
@ -28072,7 +28072,7 @@ sub_81D4E30: @ 81D4E30
|
|||||||
ldr r2, =0x00005503
|
ldr r2, =0x00005503
|
||||||
adds r0, r2, 0
|
adds r0, r2, 0
|
||||||
strh r0, [r1]
|
strh r0, [r1]
|
||||||
bl sub_8009734
|
bl OpenLink
|
||||||
movs r0, 0x1
|
movs r0, 0x1
|
||||||
bl sub_800B330
|
bl sub_800B330
|
||||||
pop {r0}
|
pop {r0}
|
||||||
@ -28128,11 +28128,11 @@ _081D4EBA:
|
|||||||
thumb_func_start sub_81D4EC0
|
thumb_func_start sub_81D4EC0
|
||||||
sub_81D4EC0: @ 81D4EC0
|
sub_81D4EC0: @ 81D4EC0
|
||||||
push {lr}
|
push {lr}
|
||||||
bl sub_800ABBC
|
bl IsLinkMaster
|
||||||
lsls r0, 24
|
lsls r0, 24
|
||||||
cmp r0, 0
|
cmp r0, 0
|
||||||
beq _081D4EDC
|
beq _081D4EDC
|
||||||
bl sub_800ABAC
|
bl GetLinkPlayerCount_2
|
||||||
lsls r0, 24
|
lsls r0, 24
|
||||||
lsrs r0, 24
|
lsrs r0, 24
|
||||||
cmp r0, 0x2
|
cmp r0, 0x2
|
||||||
@ -28186,11 +28186,11 @@ _081D4F20:
|
|||||||
.4byte _081D4FEC
|
.4byte _081D4FEC
|
||||||
.4byte _081D4FF8
|
.4byte _081D4FF8
|
||||||
_081D4F38:
|
_081D4F38:
|
||||||
bl sub_800ABBC
|
bl IsLinkMaster
|
||||||
lsls r0, 24
|
lsls r0, 24
|
||||||
cmp r0, 0
|
cmp r0, 0
|
||||||
beq _081D4F88
|
beq _081D4F88
|
||||||
bl sub_800ABAC
|
bl GetLinkPlayerCount_2
|
||||||
lsls r0, 24
|
lsls r0, 24
|
||||||
lsrs r0, 24
|
lsrs r0, 24
|
||||||
cmp r0, 0x1
|
cmp r0, 0x1
|
||||||
@ -28212,7 +28212,7 @@ _081D4F54:
|
|||||||
strb r0, [r4]
|
strb r0, [r4]
|
||||||
b _081D500C
|
b _081D500C
|
||||||
_081D4F6C:
|
_081D4F6C:
|
||||||
bl sub_800ABAC
|
bl GetLinkPlayerCount_2
|
||||||
lsls r0, 24
|
lsls r0, 24
|
||||||
lsrs r0, 24
|
lsrs r0, 24
|
||||||
cmp r0, 0x2
|
cmp r0, 0x2
|
||||||
@ -28248,7 +28248,7 @@ _081D4FA0:
|
|||||||
movs r0, 0x5
|
movs r0, 0x5
|
||||||
b _081D500E
|
b _081D500E
|
||||||
_081D4FB6:
|
_081D4FB6:
|
||||||
bl sub_800B320
|
bl IsLinkConnectionEstablished
|
||||||
lsls r0, 24
|
lsls r0, 24
|
||||||
cmp r0, 0
|
cmp r0, 0
|
||||||
beq _081D500C
|
beq _081D500C
|
||||||
@ -28447,7 +28447,7 @@ _081D515C:
|
|||||||
beq _081D5166
|
beq _081D5166
|
||||||
b _081D52FC
|
b _081D52FC
|
||||||
_081D5166:
|
_081D5166:
|
||||||
bl sub_80097E8
|
bl CloseLink
|
||||||
b _081D525C
|
b _081D525C
|
||||||
_081D516C:
|
_081D516C:
|
||||||
adds r0, r4, 0
|
adds r0, r4, 0
|
||||||
@ -28500,20 +28500,20 @@ _081D51D0:
|
|||||||
beq _081D51F4
|
beq _081D51F4
|
||||||
movs r0, 0x5
|
movs r0, 0x5
|
||||||
bl PlaySE
|
bl PlaySE
|
||||||
bl sub_80097E8
|
bl CloseLink
|
||||||
adds r0, r4, 0
|
adds r0, r4, 0
|
||||||
bl sub_81D505C
|
bl sub_81D505C
|
||||||
b _081D535A
|
b _081D535A
|
||||||
.pool
|
.pool
|
||||||
_081D51F4:
|
_081D51F4:
|
||||||
bl sub_800ABAC
|
bl GetLinkPlayerCount_2
|
||||||
lsls r0, 24
|
lsls r0, 24
|
||||||
lsrs r0, 24
|
lsrs r0, 24
|
||||||
cmp r0, 0x1
|
cmp r0, 0x1
|
||||||
bls _081D5210
|
bls _081D5210
|
||||||
adds r0, r4, 0
|
adds r0, r4, 0
|
||||||
bl sub_81D505C
|
bl sub_81D505C
|
||||||
bl sub_80097E8
|
bl CloseLink
|
||||||
movs r0, 0x7
|
movs r0, 0x7
|
||||||
strb r0, [r4, 0x8]
|
strb r0, [r4, 0x8]
|
||||||
b _081D548A
|
b _081D548A
|
||||||
@ -28523,7 +28523,7 @@ _081D5210:
|
|||||||
beq _081D522E
|
beq _081D522E
|
||||||
movs r0, 0x5
|
movs r0, 0x5
|
||||||
bl PlaySE
|
bl PlaySE
|
||||||
bl sub_80097E8
|
bl CloseLink
|
||||||
adds r0, r4, 0
|
adds r0, r4, 0
|
||||||
bl sub_81D505C
|
bl sub_81D505C
|
||||||
movs r0, 0x8
|
movs r0, 0x8
|
||||||
@ -28537,7 +28537,7 @@ _081D522E:
|
|||||||
bne _081D523C
|
bne _081D523C
|
||||||
b _081D548A
|
b _081D548A
|
||||||
_081D523C:
|
_081D523C:
|
||||||
bl sub_80097E8
|
bl CloseLink
|
||||||
bl sub_81D4E30
|
bl sub_81D4E30
|
||||||
adds r0, r4, 0
|
adds r0, r4, 0
|
||||||
bl sub_81D505C
|
bl sub_81D505C
|
||||||
@ -28654,13 +28654,13 @@ _081D5340:
|
|||||||
_081D5350:
|
_081D5350:
|
||||||
movs r0, 0x5
|
movs r0, 0x5
|
||||||
bl PlaySE
|
bl PlaySE
|
||||||
bl sub_80097E8
|
bl CloseLink
|
||||||
_081D535A:
|
_081D535A:
|
||||||
movs r0, 0x17
|
movs r0, 0x17
|
||||||
strb r0, [r4, 0x8]
|
strb r0, [r4, 0x8]
|
||||||
b _081D548A
|
b _081D548A
|
||||||
_081D5360:
|
_081D5360:
|
||||||
bl sub_80097E8
|
bl CloseLink
|
||||||
movs r0, 0x15
|
movs r0, 0x15
|
||||||
strb r0, [r4, 0x8]
|
strb r0, [r4, 0x8]
|
||||||
b _081D548A
|
b _081D548A
|
||||||
@ -28670,7 +28670,7 @@ _081D536A:
|
|||||||
cmp r0, 0
|
cmp r0, 0
|
||||||
beq _081D537A
|
beq _081D537A
|
||||||
_081D5374:
|
_081D5374:
|
||||||
bl sub_80097E8
|
bl CloseLink
|
||||||
b _081D53C0
|
b _081D53C0
|
||||||
_081D537A:
|
_081D537A:
|
||||||
bl GetBlockReceivedStatus
|
bl GetBlockReceivedStatus
|
||||||
|
@ -765,10 +765,10 @@ _080E73B0:
|
|||||||
movs r0, 0x65
|
movs r0, 0x65
|
||||||
b _080E7564
|
b _080E7564
|
||||||
_080E73B8:
|
_080E73B8:
|
||||||
bl sub_800ABAC
|
bl GetLinkPlayerCount_2
|
||||||
lsls r0, 24
|
lsls r0, 24
|
||||||
lsrs r4, r0, 24
|
lsrs r4, r0, 24
|
||||||
bl sub_800ABBC
|
bl IsLinkMaster
|
||||||
lsls r0, 24
|
lsls r0, 24
|
||||||
lsrs r0, 24
|
lsrs r0, 24
|
||||||
cmp r0, 0x1
|
cmp r0, 0x1
|
||||||
@ -796,7 +796,7 @@ _080E73EA:
|
|||||||
_080E73F8:
|
_080E73F8:
|
||||||
bl sub_800AA48
|
bl sub_800AA48
|
||||||
adds r4, r0, 0
|
adds r4, r0, 0
|
||||||
bl sub_800ABAC
|
bl GetLinkPlayerCount_2
|
||||||
lsls r4, 24
|
lsls r4, 24
|
||||||
lsls r0, 24
|
lsls r0, 24
|
||||||
cmp r4, r0
|
cmp r4, r0
|
||||||
@ -808,7 +808,7 @@ _080E740C:
|
|||||||
strh r4, [r5, 0x20]
|
strh r4, [r5, 0x20]
|
||||||
lsls r4, 16
|
lsls r4, 16
|
||||||
asrs r4, 16
|
asrs r4, 16
|
||||||
bl sub_800ABAC
|
bl GetLinkPlayerCount_2
|
||||||
lsls r0, 24
|
lsls r0, 24
|
||||||
lsrs r0, 24
|
lsrs r0, 24
|
||||||
lsls r1, r0, 4
|
lsls r1, r0, 4
|
||||||
@ -824,7 +824,7 @@ _080E742A:
|
|||||||
_080E7432:
|
_080E7432:
|
||||||
bl sub_800AA48
|
bl sub_800AA48
|
||||||
adds r4, r0, 0
|
adds r4, r0, 0
|
||||||
bl sub_800ABAC
|
bl GetLinkPlayerCount_2
|
||||||
lsls r4, 24
|
lsls r4, 24
|
||||||
lsls r0, 24
|
lsls r0, 24
|
||||||
cmp r4, r0
|
cmp r4, r0
|
||||||
@ -868,7 +868,7 @@ _080E746E:
|
|||||||
b _080E7564
|
b _080E7564
|
||||||
.pool
|
.pool
|
||||||
_080E7490:
|
_080E7490:
|
||||||
bl sub_800ABAC
|
bl GetLinkPlayerCount_2
|
||||||
lsls r0, 24
|
lsls r0, 24
|
||||||
lsrs r0, 24
|
lsrs r0, 24
|
||||||
movs r1, 0
|
movs r1, 0
|
||||||
|
@ -553,7 +553,7 @@ _080D36DC:
|
|||||||
adds r1, r6, 0
|
adds r1, r6, 0
|
||||||
bl sub_80D355C
|
bl sub_80D355C
|
||||||
adds r0, r4, 0
|
adds r0, r4, 0
|
||||||
bl sub_8097404
|
bl FreezeMapObject
|
||||||
b _080D370E
|
b _080D370E
|
||||||
.pool
|
.pool
|
||||||
_080D36F8:
|
_080D36F8:
|
||||||
|
18
asm/trade.s
18
asm/trade.s
@ -416,12 +416,12 @@ _080774B2:
|
|||||||
cmp r0, 0
|
cmp r0, 0
|
||||||
beq _08077528
|
beq _08077528
|
||||||
bl sub_800B488
|
bl sub_800B488
|
||||||
bl sub_8009734
|
bl OpenLink
|
||||||
bl sub_8011BA4
|
bl sub_8011BA4
|
||||||
b _08077B46
|
b _08077B46
|
||||||
.pool
|
.pool
|
||||||
_08077528:
|
_08077528:
|
||||||
bl sub_8009734
|
bl OpenLink
|
||||||
ldr r0, =gMain
|
ldr r0, =gMain
|
||||||
movs r7, 0x87
|
movs r7, 0x87
|
||||||
lsls r7, 3
|
lsls r7, 3
|
||||||
@ -466,7 +466,7 @@ _0807757A:
|
|||||||
b _08077B22
|
b _08077B22
|
||||||
.pool
|
.pool
|
||||||
_0807758C:
|
_0807758C:
|
||||||
bl sub_800ABAC
|
bl GetLinkPlayerCount_2
|
||||||
adds r4, r0, 0
|
adds r4, r0, 0
|
||||||
bl sub_800AA48
|
bl sub_800AA48
|
||||||
lsls r4, 24
|
lsls r4, 24
|
||||||
@ -475,7 +475,7 @@ _0807758C:
|
|||||||
bcs _080775A0
|
bcs _080775A0
|
||||||
b _08077B46
|
b _08077B46
|
||||||
_080775A0:
|
_080775A0:
|
||||||
bl sub_800ABBC
|
bl IsLinkMaster
|
||||||
lsls r0, 24
|
lsls r0, 24
|
||||||
cmp r0, 0
|
cmp r0, 0
|
||||||
beq _080775D8
|
beq _080775D8
|
||||||
@ -7026,7 +7026,7 @@ _0807AC92:
|
|||||||
lsls r0, 1
|
lsls r0, 1
|
||||||
cmp r1, r0
|
cmp r1, r0
|
||||||
bls _0807ACC4
|
bls _0807ACC4
|
||||||
bl sub_80097E8
|
bl CloseLink
|
||||||
ldr r0, =c2_800ACD4
|
ldr r0, =c2_800ACD4
|
||||||
bl SetMainCallback2
|
bl SetMainCallback2
|
||||||
ldr r1, [r4]
|
ldr r1, [r4]
|
||||||
@ -7264,7 +7264,7 @@ _0807AEAC:
|
|||||||
ldr r2, =0x00001144
|
ldr r2, =0x00001144
|
||||||
adds r0, r2, 0
|
adds r0, r2, 0
|
||||||
strh r0, [r1]
|
strh r0, [r1]
|
||||||
bl sub_80097E8
|
bl CloseLink
|
||||||
_0807AEC0:
|
_0807AEC0:
|
||||||
ldr r4, =gUnknown_020322A0
|
ldr r4, =gUnknown_020322A0
|
||||||
movs r5, 0x80
|
movs r5, 0x80
|
||||||
@ -7332,7 +7332,7 @@ _0807AF58:
|
|||||||
adds r0, 0xFA
|
adds r0, 0xFA
|
||||||
movs r1, 0x1
|
movs r1, 0x1
|
||||||
strb r1, [r0]
|
strb r1, [r0]
|
||||||
bl sub_8009734
|
bl OpenLink
|
||||||
ldr r1, =gMain
|
ldr r1, =gMain
|
||||||
movs r2, 0x87
|
movs r2, 0x87
|
||||||
lsls r2, 3
|
lsls r2, 3
|
||||||
@ -7369,13 +7369,13 @@ _0807AFAC:
|
|||||||
b _0807B0E4
|
b _0807B0E4
|
||||||
.pool
|
.pool
|
||||||
_0807AFBC:
|
_0807AFBC:
|
||||||
bl sub_800ABBC
|
bl IsLinkMaster
|
||||||
lsls r0, 24
|
lsls r0, 24
|
||||||
cmp r0, 0
|
cmp r0, 0
|
||||||
bne _0807AFC8
|
bne _0807AFC8
|
||||||
b _0807B0DC
|
b _0807B0DC
|
||||||
_0807AFC8:
|
_0807AFC8:
|
||||||
bl sub_800ABAC
|
bl GetLinkPlayerCount_2
|
||||||
adds r4, r0, 0
|
adds r4, r0, 0
|
||||||
bl sub_800AA48
|
bl sub_800AA48
|
||||||
lsls r4, 24
|
lsls r4, 24
|
||||||
|
@ -1,21 +0,0 @@
|
|||||||
.include "asm/macros.inc"
|
|
||||||
.include "constants/constants.inc"
|
|
||||||
|
|
||||||
.section .rodata
|
|
||||||
.align 2, 0
|
|
||||||
|
|
||||||
gUnknown_085102E0:: @ 85102E0
|
|
||||||
.4byte 0x00000001, sub_809D7BC
|
|
||||||
.4byte 0x00000002, sub_809D7C8
|
|
||||||
.4byte 0x00000003, sub_809D7D4
|
|
||||||
.4byte 0x00000004, sub_809D7E0
|
|
||||||
.4byte 0x00000005, sub_809D7EC
|
|
||||||
.4byte 0x00000006, sub_809D7F8
|
|
||||||
.4byte 0x00000007, sub_809D804
|
|
||||||
.4byte 0x00000008, sub_809D810
|
|
||||||
.4byte 0x00000009, sub_809D81C
|
|
||||||
.4byte 0x0000000a, sub_809D828
|
|
||||||
.4byte 0x0000000b, sub_809D834
|
|
||||||
.4byte 0x00000014, sub_809D840
|
|
||||||
.4byte 0x00000015, sub_809D84C
|
|
||||||
|
|
@ -1,12 +0,0 @@
|
|||||||
.include "asm/macros.inc"
|
|
||||||
.include "constants/constants.inc"
|
|
||||||
|
|
||||||
.section .rodata
|
|
||||||
|
|
||||||
gUnknown_085EFD64:: @ 85EFD64
|
|
||||||
.4byte 0x1F8
|
|
||||||
|
|
||||||
gUnknown_085EFD68:: @ 85EFD68
|
|
||||||
window_template 0, 4, 15, 22, 4, 14, 20
|
|
||||||
window_template 0, 7, 6, 16, 4, 14, 0x6C
|
|
||||||
null_window_template
|
|
@ -231,7 +231,7 @@ OldaleTown_PokemonCenter_2F_EventScript_276C9D:: @ 8276C9D
|
|||||||
end
|
end
|
||||||
|
|
||||||
OldaleTown_PokemonCenter_2F_EventScript_276CB5:: @ 8276CB5
|
OldaleTown_PokemonCenter_2F_EventScript_276CB5:: @ 8276CB5
|
||||||
special sub_80097E8
|
special CloseLink
|
||||||
setvar VAR_0x4087, 0
|
setvar VAR_0x4087, 0
|
||||||
compare VAR_0x8007, 0
|
compare VAR_0x8007, 0
|
||||||
goto_eq OldaleTown_PokemonCenter_2F_EventScript_276DD5
|
goto_eq OldaleTown_PokemonCenter_2F_EventScript_276DD5
|
||||||
@ -254,7 +254,7 @@ OldaleTown_PokemonCenter_2F_EventScript_276CE7:: @ 8276CE7
|
|||||||
end
|
end
|
||||||
|
|
||||||
OldaleTown_PokemonCenter_2F_EventScript_276CFF:: @ 8276CFF
|
OldaleTown_PokemonCenter_2F_EventScript_276CFF:: @ 8276CFF
|
||||||
special sub_80097E8
|
special CloseLink
|
||||||
setvar VAR_0x4087, 0
|
setvar VAR_0x4087, 0
|
||||||
compare VAR_0x8007, 0
|
compare VAR_0x8007, 0
|
||||||
goto_eq OldaleTown_PokemonCenter_2F_EventScript_276DD5
|
goto_eq OldaleTown_PokemonCenter_2F_EventScript_276DD5
|
||||||
@ -276,7 +276,7 @@ OldaleTown_PokemonCenter_2F_EventScript_276D2C:: @ 8276D2C
|
|||||||
end
|
end
|
||||||
|
|
||||||
OldaleTown_PokemonCenter_2F_EventScript_276D44:: @ 8276D44
|
OldaleTown_PokemonCenter_2F_EventScript_276D44:: @ 8276D44
|
||||||
special sub_80097E8
|
special CloseLink
|
||||||
setvar VAR_0x4087, 0
|
setvar VAR_0x4087, 0
|
||||||
applymovement 255, OldaleTown_PokemonCenter_2F_Movement_27734F
|
applymovement 255, OldaleTown_PokemonCenter_2F_Movement_27734F
|
||||||
waitmovement 0
|
waitmovement 0
|
||||||
@ -501,25 +501,25 @@ OldaleTown_PokemonCenter_2F_EventScript_277046:: @ 8277046
|
|||||||
end
|
end
|
||||||
|
|
||||||
OldaleTown_PokemonCenter_2F_EventScript_277072:: @ 8277072
|
OldaleTown_PokemonCenter_2F_EventScript_277072:: @ 8277072
|
||||||
special sub_80097E8
|
special CloseLink
|
||||||
msgbox OldaleTown_PokemonCenter_2F_Text_27833D, 4
|
msgbox OldaleTown_PokemonCenter_2F_Text_27833D, 4
|
||||||
goto OldaleTown_PokemonCenter_2F_EventScript_2770A5
|
goto OldaleTown_PokemonCenter_2F_EventScript_2770A5
|
||||||
end
|
end
|
||||||
|
|
||||||
OldaleTown_PokemonCenter_2F_EventScript_277083:: @ 8277083
|
OldaleTown_PokemonCenter_2F_EventScript_277083:: @ 8277083
|
||||||
special sub_80097E8
|
special CloseLink
|
||||||
msgbox OldaleTown_PokemonCenter_2F_Text_278307, 4
|
msgbox OldaleTown_PokemonCenter_2F_Text_278307, 4
|
||||||
goto OldaleTown_PokemonCenter_2F_EventScript_2770A5
|
goto OldaleTown_PokemonCenter_2F_EventScript_2770A5
|
||||||
end
|
end
|
||||||
|
|
||||||
OldaleTown_PokemonCenter_2F_EventScript_277094:: @ 8277094
|
OldaleTown_PokemonCenter_2F_EventScript_277094:: @ 8277094
|
||||||
special sub_80097E8
|
special CloseLink
|
||||||
msgbox OldaleTown_PokemonCenter_2F_Text_2782D1, 4
|
msgbox OldaleTown_PokemonCenter_2F_Text_2782D1, 4
|
||||||
goto OldaleTown_PokemonCenter_2F_EventScript_2770A5
|
goto OldaleTown_PokemonCenter_2F_EventScript_2770A5
|
||||||
end
|
end
|
||||||
|
|
||||||
OldaleTown_PokemonCenter_2F_EventScript_2770A5:: @ 82770A5
|
OldaleTown_PokemonCenter_2F_EventScript_2770A5:: @ 82770A5
|
||||||
special sub_80097E8
|
special CloseLink
|
||||||
msgbox OldaleTown_PokemonCenter_2F_Text_278372, 4
|
msgbox OldaleTown_PokemonCenter_2F_Text_278372, 4
|
||||||
release
|
release
|
||||||
end
|
end
|
||||||
@ -658,45 +658,45 @@ OldaleTown_PokemonCenter_2F_EventScript_27724C:: @ 827724C
|
|||||||
end
|
end
|
||||||
|
|
||||||
OldaleTown_PokemonCenter_2F_EventScript_2772AB:: @ 82772AB
|
OldaleTown_PokemonCenter_2F_EventScript_2772AB:: @ 82772AB
|
||||||
special sub_80097E8
|
special CloseLink
|
||||||
msgbox OldaleTown_PokemonCenter_2F_Text_278565, 4
|
msgbox OldaleTown_PokemonCenter_2F_Text_278565, 4
|
||||||
release
|
release
|
||||||
end
|
end
|
||||||
|
|
||||||
OldaleTown_PokemonCenter_2F_EventScript_2772B8:: @ 82772B8
|
OldaleTown_PokemonCenter_2F_EventScript_2772B8:: @ 82772B8
|
||||||
special sub_80097E8
|
special CloseLink
|
||||||
msgbox OldaleTown_PokemonCenter_2F_Text_2785C9, 4
|
msgbox OldaleTown_PokemonCenter_2F_Text_2785C9, 4
|
||||||
release
|
release
|
||||||
end
|
end
|
||||||
|
|
||||||
BattleFrontier_BattleTowerLobby_EventScript_2772C5:: @ 82772C5
|
BattleFrontier_BattleTowerLobby_EventScript_2772C5:: @ 82772C5
|
||||||
OldaleTown_PokemonCenter_2F_EventScript_2772C5:: @ 82772C5
|
OldaleTown_PokemonCenter_2F_EventScript_2772C5:: @ 82772C5
|
||||||
special sub_80097E8
|
special CloseLink
|
||||||
msgbox OldaleTown_PokemonCenter_2F_Text_27821C, 4
|
msgbox OldaleTown_PokemonCenter_2F_Text_27821C, 4
|
||||||
release
|
release
|
||||||
end
|
end
|
||||||
|
|
||||||
BattleFrontier_BattleTowerLobby_EventScript_2772D2:: @ 82772D2
|
BattleFrontier_BattleTowerLobby_EventScript_2772D2:: @ 82772D2
|
||||||
OldaleTown_PokemonCenter_2F_EventScript_2772D2:: @ 82772D2
|
OldaleTown_PokemonCenter_2F_EventScript_2772D2:: @ 82772D2
|
||||||
special sub_80097E8
|
special CloseLink
|
||||||
msgbox OldaleTown_PokemonCenter_2F_Text_2781C7, 4
|
msgbox OldaleTown_PokemonCenter_2F_Text_2781C7, 4
|
||||||
release
|
release
|
||||||
end
|
end
|
||||||
|
|
||||||
OldaleTown_PokemonCenter_2F_EventScript_2772DF:: @ 82772DF
|
OldaleTown_PokemonCenter_2F_EventScript_2772DF:: @ 82772DF
|
||||||
special sub_80097E8
|
special CloseLink
|
||||||
msgbox OldaleTown_PokemonCenter_2F_Text_278255, 4
|
msgbox OldaleTown_PokemonCenter_2F_Text_278255, 4
|
||||||
release
|
release
|
||||||
end
|
end
|
||||||
|
|
||||||
OldaleTown_PokemonCenter_2F_EventScript_2772EC:: @ 82772EC
|
OldaleTown_PokemonCenter_2F_EventScript_2772EC:: @ 82772EC
|
||||||
special sub_80097E8
|
special CloseLink
|
||||||
msgbox OldaleTown_PokemonCenter_2F_Text_278291, 4
|
msgbox OldaleTown_PokemonCenter_2F_Text_278291, 4
|
||||||
release
|
release
|
||||||
end
|
end
|
||||||
|
|
||||||
MossdeepCity_GameCorner_1F_EventScript_2772F9:: @ 82772F9
|
MossdeepCity_GameCorner_1F_EventScript_2772F9:: @ 82772F9
|
||||||
special sub_80097E8
|
special CloseLink
|
||||||
msgbox MossdeepCity_GameCorner_1F_Text_278D51, 4
|
msgbox MossdeepCity_GameCorner_1F_Text_278D51, 4
|
||||||
release
|
release
|
||||||
end
|
end
|
||||||
@ -708,19 +708,19 @@ OldaleTown_PokemonCenter_2F_EventScript_277306:: @ 8277306
|
|||||||
end
|
end
|
||||||
|
|
||||||
OldaleTown_PokemonCenter_2F_EventScript_27730E:: @ 827730E
|
OldaleTown_PokemonCenter_2F_EventScript_27730E:: @ 827730E
|
||||||
special sub_80097E8
|
special CloseLink
|
||||||
msgbox OldaleTown_PokemonCenter_2F_Text_2782A8, 4
|
msgbox OldaleTown_PokemonCenter_2F_Text_2782A8, 4
|
||||||
release
|
release
|
||||||
end
|
end
|
||||||
|
|
||||||
OldaleTown_PokemonCenter_2F_EventScript_27731B:: @ 827731B
|
OldaleTown_PokemonCenter_2F_EventScript_27731B:: @ 827731B
|
||||||
special sub_80097E8
|
special CloseLink
|
||||||
msgbox OldaleTown_PokemonCenter_2F_Text_2785E9, 4
|
msgbox OldaleTown_PokemonCenter_2F_Text_2785E9, 4
|
||||||
release
|
release
|
||||||
end
|
end
|
||||||
|
|
||||||
OldaleTown_PokemonCenter_2F_EventScript_277328:: @ 8277328
|
OldaleTown_PokemonCenter_2F_EventScript_277328:: @ 8277328
|
||||||
special sub_80097E8
|
special CloseLink
|
||||||
msgbox OldaleTown_PokemonCenter_2F_Text_278651, 4
|
msgbox OldaleTown_PokemonCenter_2F_Text_278651, 4
|
||||||
release
|
release
|
||||||
end
|
end
|
||||||
|
@ -725,7 +725,7 @@ BattleFrontier_BattleTowerLobby_EventScript_23F0E3:: @ 823F0E3
|
|||||||
special copy_player_party_from_sav1
|
special copy_player_party_from_sav1
|
||||||
|
|
||||||
BattleFrontier_BattleTowerLobby_EventScript_23F0E6:: @ 823F0E6
|
BattleFrontier_BattleTowerLobby_EventScript_23F0E6:: @ 823F0E6
|
||||||
special sub_80097E8
|
special CloseLink
|
||||||
msgbox BattleFrontier_BattleTowerLobby_Text_23FD07, 4
|
msgbox BattleFrontier_BattleTowerLobby_Text_23FD07, 4
|
||||||
|
|
||||||
BattleFrontier_BattleTowerLobby_EventScript_23F0F1:: @ 823F0F1
|
BattleFrontier_BattleTowerLobby_EventScript_23F0F1:: @ 823F0F1
|
||||||
@ -951,7 +951,7 @@ BattleFrontier_BattleTowerLobby_EventScript_23F2C5:: @ 823F2C5
|
|||||||
end
|
end
|
||||||
|
|
||||||
BattleFrontier_BattleTowerLobby_EventScript_23F327:: @ 823F327
|
BattleFrontier_BattleTowerLobby_EventScript_23F327:: @ 823F327
|
||||||
special sub_80097E8
|
special CloseLink
|
||||||
compare VAR_0x8005, 3
|
compare VAR_0x8005, 3
|
||||||
goto_eq BattleFrontier_BattleTowerLobby_EventScript_23F33F
|
goto_eq BattleFrontier_BattleTowerLobby_EventScript_23F33F
|
||||||
msgbox BattleFrontier_BattleTowerLobby_Text_278255, 4
|
msgbox BattleFrontier_BattleTowerLobby_Text_278255, 4
|
||||||
@ -966,13 +966,13 @@ BattleFrontier_BattleTowerLobby_EventScript_23F33F:: @ 823F33F
|
|||||||
|
|
||||||
BattleFrontier_BattleTowerLobby_EventScript_23F351:: @ 823F351
|
BattleFrontier_BattleTowerLobby_EventScript_23F351:: @ 823F351
|
||||||
msgbox BattleFrontier_BattleTowerLobby_Text_241240, 4
|
msgbox BattleFrontier_BattleTowerLobby_Text_241240, 4
|
||||||
special sub_80097E8
|
special CloseLink
|
||||||
msgbox BattleFrontier_BattleTowerLobby_Text_2782A8, 4
|
msgbox BattleFrontier_BattleTowerLobby_Text_2782A8, 4
|
||||||
release
|
release
|
||||||
end
|
end
|
||||||
|
|
||||||
BattleFrontier_BattleTowerLobby_EventScript_23F366:: @ 823F366
|
BattleFrontier_BattleTowerLobby_EventScript_23F366:: @ 823F366
|
||||||
special sub_80097E8
|
special CloseLink
|
||||||
compare VAR_0x8005, 0
|
compare VAR_0x8005, 0
|
||||||
call_if 1, BattleFrontier_BattleTowerLobby_EventScript_23F394
|
call_if 1, BattleFrontier_BattleTowerLobby_EventScript_23F394
|
||||||
compare VAR_0x8005, 1
|
compare VAR_0x8005, 1
|
||||||
|
@ -709,7 +709,7 @@ LilycoveCity_ContestLobby_EventScript_21A971:: @ 821A971
|
|||||||
end
|
end
|
||||||
|
|
||||||
LilycoveCity_ContestLobby_EventScript_21A97F:: @ 821A97F
|
LilycoveCity_ContestLobby_EventScript_21A97F:: @ 821A97F
|
||||||
special sub_80097E8
|
special CloseLink
|
||||||
msgbox LilycoveCity_ContestLobby_Text_27BD4F, 4
|
msgbox LilycoveCity_ContestLobby_Text_27BD4F, 4
|
||||||
release
|
release
|
||||||
end
|
end
|
||||||
@ -811,13 +811,13 @@ LilycoveCity_ContestLobby_EventScript_21AAE1:: @ 821AAE1
|
|||||||
end
|
end
|
||||||
|
|
||||||
LilycoveCity_ContestLobby_EventScript_21AAEF:: @ 821AAEF
|
LilycoveCity_ContestLobby_EventScript_21AAEF:: @ 821AAEF
|
||||||
special sub_80097E8
|
special CloseLink
|
||||||
msgbox LilycoveCity_ContestLobby_Text_27821C, 4
|
msgbox LilycoveCity_ContestLobby_Text_27821C, 4
|
||||||
release
|
release
|
||||||
end
|
end
|
||||||
|
|
||||||
LilycoveCity_ContestLobby_EventScript_21AAFC:: @ 821AAFC
|
LilycoveCity_ContestLobby_EventScript_21AAFC:: @ 821AAFC
|
||||||
special sub_80097E8
|
special CloseLink
|
||||||
msgbox LilycoveCity_ContestLobby_Text_27C879, 4
|
msgbox LilycoveCity_ContestLobby_Text_27C879, 4
|
||||||
release
|
release
|
||||||
end
|
end
|
||||||
|
@ -655,25 +655,25 @@ LilycoveCity_ContestLobby_EventScript_29416C:: @ 829416C
|
|||||||
end
|
end
|
||||||
|
|
||||||
LilycoveCity_ContestLobby_EventScript_294176:: @ 8294176
|
LilycoveCity_ContestLobby_EventScript_294176:: @ 8294176
|
||||||
special sub_80097E8
|
special CloseLink
|
||||||
msgbox LilycoveCity_ContestLobby_Text_2781C7, 4
|
msgbox LilycoveCity_ContestLobby_Text_2781C7, 4
|
||||||
releaseall
|
releaseall
|
||||||
end
|
end
|
||||||
|
|
||||||
LilycoveCity_ContestLobby_EventScript_294183:: @ 8294183
|
LilycoveCity_ContestLobby_EventScript_294183:: @ 8294183
|
||||||
special sub_80097E8
|
special CloseLink
|
||||||
msgbox LilycoveCity_ContestLobby_Text_278255, 4
|
msgbox LilycoveCity_ContestLobby_Text_278255, 4
|
||||||
releaseall
|
releaseall
|
||||||
end
|
end
|
||||||
|
|
||||||
LilycoveCity_ContestLobby_EventScript_294190:: @ 8294190
|
LilycoveCity_ContestLobby_EventScript_294190:: @ 8294190
|
||||||
special sub_80097E8
|
special CloseLink
|
||||||
msgbox gUnknown_08272D9C, 4
|
msgbox gUnknown_08272D9C, 4
|
||||||
releaseall
|
releaseall
|
||||||
end
|
end
|
||||||
|
|
||||||
LilycoveCity_ContestLobby_EventScript_29419D:: @ 829419D
|
LilycoveCity_ContestLobby_EventScript_29419D:: @ 829419D
|
||||||
special sub_80097E8
|
special CloseLink
|
||||||
msgbox LilycoveCity_ContestLobby_Text_27821C, 4
|
msgbox LilycoveCity_ContestLobby_Text_27821C, 4
|
||||||
releaseall
|
releaseall
|
||||||
end
|
end
|
||||||
|
@ -40,7 +40,7 @@ gSpecials:: @ 81DBA64
|
|||||||
def_special sub_80B2E4C
|
def_special sub_80B2E4C
|
||||||
def_special sub_80B2E74
|
def_special sub_80B2E74
|
||||||
def_special sub_80B2EA8
|
def_special sub_80B2EA8
|
||||||
def_special sub_80097E8
|
def_special CloseLink
|
||||||
def_special sub_80B3968
|
def_special sub_80B3968
|
||||||
def_special sub_80B3924
|
def_special sub_80B3924
|
||||||
def_special nullsub_37
|
def_special nullsub_37
|
||||||
|
39
include/constants/weather.h
Normal file
39
include/constants/weather.h
Normal file
@ -0,0 +1,39 @@
|
|||||||
|
#ifndef GUARD_CONSTANTS_WEATHER_H
|
||||||
|
#define GUARD_CONSTANTS_WEATHER_H
|
||||||
|
|
||||||
|
#define WEATHER_NONE 0
|
||||||
|
#define WEATHER_CLOUDS 1
|
||||||
|
#define WEATHER_SUNNY 2
|
||||||
|
#define WEATHER_RAIN_LIGHT 3
|
||||||
|
#define WEATHER_SNOW 4
|
||||||
|
#define WEATHER_RAIN_MED 5
|
||||||
|
#define WEATHER_FOG_1 6
|
||||||
|
#define WEATHER_ASH 7
|
||||||
|
#define WEATHER_SANDSTORM 8
|
||||||
|
#define WEATHER_FOG_2 9
|
||||||
|
#define WEATHER_FOG_3 10
|
||||||
|
#define WEATHER_SHADE 11
|
||||||
|
#define WEATHER_DROUGHT 12
|
||||||
|
#define WEATHER_RAIN_HEAVY 13
|
||||||
|
#define WEATHER_BUBBLES 14
|
||||||
|
#define WEATHER_ROUTE119_CYCLE 20
|
||||||
|
#define WEATHER_ROUTE123_CYCLE 21
|
||||||
|
|
||||||
|
// These are used in maps' coord_weather_event entries.
|
||||||
|
// They are not a one-to-one mapping with the engine's
|
||||||
|
// internal weather constants above.
|
||||||
|
#define COORD_EVENT_WEATHER_CLOUDS 1
|
||||||
|
#define COORD_EVENT_WEATHER_SUNNY 2
|
||||||
|
#define COORD_EVENT_WEATHER_RAIN_LIGHT 3
|
||||||
|
#define COORD_EVENT_WEATHER_SNOW 4
|
||||||
|
#define COORD_EVENT_WEATHER_RAIN_MED 5
|
||||||
|
#define COORD_EVENT_WEATHER_FOG_1 6
|
||||||
|
#define COORD_EVENT_WEATHER_FOG_2 7
|
||||||
|
#define COORD_EVENT_WEATHER_ASH 8
|
||||||
|
#define COORD_EVENT_WEATHER_SANDSTORM 9
|
||||||
|
#define COORD_EVENT_WEATHER_SHADE 10
|
||||||
|
#define COORD_EVENT_WEATHER_DROUGHT 11
|
||||||
|
#define COORD_EVENT_WEATHER_ROUTE119_CYCLE 20
|
||||||
|
#define COORD_EVENT_WEATHER_ROUTE123_CYCLE 21
|
||||||
|
|
||||||
|
#endif // GUARD_CONSTANTS_WEATHER_H
|
6
include/coord_event_weather.h
Normal file
6
include/coord_event_weather.h
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
#ifndef GUARD_COORD_EVENT_WEATHER_H
|
||||||
|
#define GUARD_COORD_EVENT_WEATHER_H
|
||||||
|
|
||||||
|
void DoCoordEventWeather(u8);
|
||||||
|
|
||||||
|
#endif // GUARD_COORD_EVENT_WEATHER_H
|
@ -1,7 +1,31 @@
|
|||||||
#ifndef GUARD_FIELDMAPOBJHELP_H
|
#ifndef GUARD_FIELD_MAP_OBJ_HELPERS_H
|
||||||
#define GUARD_FIELDMAPOBJHELP_H
|
#define GUARD_FIELD_MAP_OBJ_HELPERS_H
|
||||||
|
|
||||||
|
// Exported type declarations
|
||||||
|
|
||||||
|
// Exported RAM declarations
|
||||||
|
extern u8 *gUnknown_020375B8;
|
||||||
|
|
||||||
|
// Exported ROM declarations
|
||||||
|
void sub_8097AC8(struct Sprite *);
|
||||||
|
void npc_sync_anim_pause_bits(struct MapObject *);
|
||||||
|
void oamt_npc_ministep_reset(struct Sprite *, u8, u8);
|
||||||
|
u8 sub_8097F78(struct MapObject *);
|
||||||
|
bool8 obj_npc_ministep(struct Sprite *sprite);
|
||||||
|
bool8 sub_80976EC(struct Sprite *sprite);
|
||||||
|
void sub_80976DC(struct Sprite *, u8);
|
||||||
|
void sub_809783C(struct Sprite *, u8, u8, u8);
|
||||||
|
void DoShadowFieldEffect(struct MapObject *);
|
||||||
|
u8 sub_809785C(struct Sprite *);
|
||||||
|
u8 sub_80978E4(struct Sprite *);
|
||||||
|
void obj_anim_image_set_and_seek(struct Sprite *, u8, u8);
|
||||||
|
bool8 sub_80979BC(struct Sprite *);
|
||||||
|
void sub_8097750(struct Sprite *);
|
||||||
|
bool8 sub_8097758(struct Sprite *);
|
||||||
|
void sub_8097FA4(struct MapObject *);
|
||||||
|
void sub_8098044(u8);
|
||||||
void UnfreezeMapObjects(void);
|
void UnfreezeMapObjects(void);
|
||||||
|
void FreezeMapObjectsExceptOne(u8 mapObjectId);
|
||||||
void sub_8097B78(u8, u8);
|
void sub_8097B78(u8, u8);
|
||||||
|
|
||||||
#endif
|
#endif //GUARD_FIELD_MAP_OBJ_HELPERS_H
|
||||||
|
@ -150,6 +150,8 @@ void PlayRainSoundEffect(void);
|
|||||||
// ...
|
// ...
|
||||||
void SetSav1Weather(u32);
|
void SetSav1Weather(u32);
|
||||||
u8 GetSav1Weather(void);
|
u8 GetSav1Weather(void);
|
||||||
|
void sub_80AEDBC(void);
|
||||||
|
|
||||||
void SetSav1WeatherFromCurrMapHeader(void);
|
void SetSav1WeatherFromCurrMapHeader(void);
|
||||||
// ...
|
// ...
|
||||||
void DoCurrentWeather(void);
|
void DoCurrentWeather(void);
|
||||||
|
@ -143,8 +143,9 @@ extern struct LinkPlayer gLinkPlayers[];
|
|||||||
extern u16 word_3002910[];
|
extern u16 word_3002910[];
|
||||||
extern bool8 gReceivedRemoteLinkPlayers;
|
extern bool8 gReceivedRemoteLinkPlayers;
|
||||||
extern bool8 gLinkVSyncDisabled;
|
extern bool8 gLinkVSyncDisabled;
|
||||||
|
extern u32 gLinkStatus;
|
||||||
|
|
||||||
void Task_DestroySelf(u8);
|
void Task_DestroySelf(u8 taskId);
|
||||||
void OpenLink(void);
|
void OpenLink(void);
|
||||||
void CloseLink(void);
|
void CloseLink(void);
|
||||||
u16 LinkMain2(u16 *);
|
u16 LinkMain2(u16 *);
|
||||||
@ -188,11 +189,10 @@ bool8 sub_8010500(void);
|
|||||||
void sub_800DFB4(u8, u8);
|
void sub_800DFB4(u8, u8);
|
||||||
void sub_800ADF8(void);
|
void sub_800ADF8(void);
|
||||||
void sub_800B488(void);
|
void sub_800B488(void);
|
||||||
void sub_8009734(void);
|
void OpenLink(void);
|
||||||
void sub_800A620(void);
|
void sub_800A620(void);
|
||||||
void sub_8011BD0(void);
|
void sub_8011BD0(void);
|
||||||
u8 sub_800ABAC(void);
|
|
||||||
u8 sub_800ABBC(void);
|
|
||||||
void sub_800AC34(void);
|
void sub_800AC34(void);
|
||||||
|
u8 sub_800A0C8(s32, s32);
|
||||||
|
|
||||||
#endif // GUARD_LINK_H
|
#endif // GUARD_LINK_H
|
||||||
|
@ -1,34 +0,0 @@
|
|||||||
//
|
|
||||||
// Created by scott on 9/7/2017.
|
|
||||||
//
|
|
||||||
|
|
||||||
#ifndef GUARD_MAP_OBJ_8097404_H
|
|
||||||
#define GUARD_MAP_OBJ_8097404_H
|
|
||||||
|
|
||||||
// Exported type declarations
|
|
||||||
|
|
||||||
// Exported RAM declarations
|
|
||||||
extern void *gUnknown_020375B8;
|
|
||||||
|
|
||||||
// Exported ROM declarations
|
|
||||||
void sub_8097AC8(struct Sprite *);
|
|
||||||
void npc_sync_anim_pause_bits(struct MapObject *);
|
|
||||||
void oamt_npc_ministep_reset(struct Sprite *, u8, u8);
|
|
||||||
u8 sub_8097F78(struct MapObject *);
|
|
||||||
bool8 obj_npc_ministep(struct Sprite *sprite);
|
|
||||||
bool8 sub_80976EC(struct Sprite *sprite);
|
|
||||||
void sub_80976DC(struct Sprite *, u8);
|
|
||||||
void sub_809783C(struct Sprite *, u8, u8, u8);
|
|
||||||
void DoShadowFieldEffect(struct MapObject *);
|
|
||||||
u8 sub_809785C(struct Sprite *);
|
|
||||||
u8 sub_80978E4(struct Sprite *);
|
|
||||||
void obj_anim_image_set_and_seek(struct Sprite *, u8, u8);
|
|
||||||
bool8 sub_80979BC(struct Sprite *);
|
|
||||||
void sub_8097750(struct Sprite *);
|
|
||||||
bool8 sub_8097758(struct Sprite *);
|
|
||||||
void sub_8097FA4(struct MapObject *);
|
|
||||||
void sub_8098044(u8);
|
|
||||||
void UnfreezeMapObjects(void);
|
|
||||||
void sub_80974D0(u8 mapObjectId);
|
|
||||||
|
|
||||||
#endif //GUARD_MAP_OBJ_8097404_H
|
|
6
include/mystery_event_menu.h
Normal file
6
include/mystery_event_menu.h
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
#ifndef GUARD_MYSTERY_EVENT_MENU_H
|
||||||
|
#define GUARD_MYSTERY_EVENT_MENU_H
|
||||||
|
|
||||||
|
void CB2_InitMysteryEventMenu(void);
|
||||||
|
|
||||||
|
#endif // GUARD_MYSTERY_EVENT_MENU_H
|
@ -17,5 +17,9 @@ void SetStandardWindowBorderStyle(u8 a0, u8 a1);
|
|||||||
void sub_8197930(void);
|
void sub_8197930(void);
|
||||||
u8 GetPlayerTextSpeed(void);
|
u8 GetPlayerTextSpeed(void);
|
||||||
void sub_81978B0(u16 arg0);
|
void sub_81978B0(u16 arg0);
|
||||||
|
u16 sub_8197224(void);
|
||||||
|
int sub_8196094(void);
|
||||||
|
void sub_8196080(u8*);
|
||||||
|
void AddTextPrinterForMessage(u8);
|
||||||
|
|
||||||
#endif // GUARD_NEW_MENU_HELPERS_H
|
#endif // GUARD_NEW_MENU_HELPERS_H
|
||||||
|
@ -202,4 +202,12 @@ extern const u8 gText_ButtonMode[];
|
|||||||
extern const u8 gText_MaleSymbol[];
|
extern const u8 gText_MaleSymbol[];
|
||||||
extern const u8 gText_FemaleSymbol[];
|
extern const u8 gText_FemaleSymbol[];
|
||||||
|
|
||||||
|
// mystery event menu text
|
||||||
|
extern const u8 gText_EventSafelyLoaded[];
|
||||||
|
extern const u8 gText_LoadErrorEndingSession[];
|
||||||
|
extern const u8 gText_PressAToLoadEvent[];
|
||||||
|
extern const u8 gText_LoadingEvent[];
|
||||||
|
extern const u8 gText_DontRemoveCableTurnOff[];
|
||||||
|
extern const u8 gText_LinkStandby2[];
|
||||||
|
|
||||||
#endif //GUARD_STRINGS_H
|
#endif //GUARD_STRINGS_H
|
||||||
|
@ -97,15 +97,15 @@ SECTIONS {
|
|||||||
asm/field_player_avatar.o(.text);
|
asm/field_player_avatar.o(.text);
|
||||||
src/field_map_obj.o(.text);
|
src/field_map_obj.o(.text);
|
||||||
asm/field_ground_effect.o(.text);
|
asm/field_ground_effect.o(.text);
|
||||||
asm/map_obj_8097404.o(.text);
|
src/field_map_obj_helpers.o(.text);
|
||||||
asm/field_message_box.o(.text);
|
src/field_message_box.o(.text);
|
||||||
asm/map_obj_lock.o(.text);
|
asm/map_obj_lock.o(.text);
|
||||||
src/text_window.o(.text);
|
src/text_window.o(.text);
|
||||||
src/script.o(.text);
|
src/script.o(.text);
|
||||||
src/scrcmd.o(.text);
|
src/scrcmd.o(.text);
|
||||||
asm/field_control_avatar.o(.text);
|
asm/field_control_avatar.o(.text);
|
||||||
src/event_data.o(.text);
|
src/event_data.o(.text);
|
||||||
asm/coord_event_weather.o(.text);
|
src/coord_event_weather.o(.text);
|
||||||
asm/field_tasks.o(.text);
|
asm/field_tasks.o(.text);
|
||||||
src/clock.o(.text);
|
src/clock.o(.text);
|
||||||
asm/reset_rtc_screen.o(.text);
|
asm/reset_rtc_screen.o(.text);
|
||||||
@ -230,7 +230,7 @@ SECTIONS {
|
|||||||
src/lottery_corner.o(.text);
|
src/lottery_corner.o(.text);
|
||||||
src/diploma.o(.text);
|
src/diploma.o(.text);
|
||||||
asm/berry_tag_screen.o(.text);
|
asm/berry_tag_screen.o(.text);
|
||||||
asm/mystery_event_menu.o(.text);
|
src/mystery_event_menu.o(.text);
|
||||||
src/save_failed_screen.o(.text);
|
src/save_failed_screen.o(.text);
|
||||||
src/braille_puzzles.o(.text);
|
src/braille_puzzles.o(.text);
|
||||||
src/pokeblock_feed.o(.text);
|
src/pokeblock_feed.o(.text);
|
||||||
@ -408,7 +408,7 @@ SECTIONS {
|
|||||||
data/map_obj_8097404.o(.rodata);
|
data/map_obj_8097404.o(.rodata);
|
||||||
src/text_window.o(.rodata);
|
src/text_window.o(.rodata);
|
||||||
src/scrcmd.o(.rodata);
|
src/scrcmd.o(.rodata);
|
||||||
data/coord_event_weather.o(.rodata);
|
src/coord_event_weather.o(.rodata);
|
||||||
data/field_tasks.o(.rodata);
|
data/field_tasks.o(.rodata);
|
||||||
data/reset_rtc_screen.o(.rodata);
|
data/reset_rtc_screen.o(.rodata);
|
||||||
src/start_menu.o(.rodata);
|
src/start_menu.o(.rodata);
|
||||||
@ -506,7 +506,7 @@ SECTIONS {
|
|||||||
src/diploma.o(.rodata);
|
src/diploma.o(.rodata);
|
||||||
data/strings.o(.rodata);
|
data/strings.o(.rodata);
|
||||||
data/berry_tag_screen.o(.rodata);
|
data/berry_tag_screen.o(.rodata);
|
||||||
data/mystery_event_menu.o(.rodata);
|
src/mystery_event_menu.o(.rodata);
|
||||||
src/save_failed_screen.o(.rodata);
|
src/save_failed_screen.o(.rodata);
|
||||||
data/braille_puzzles.o(.rodata);
|
data/braille_puzzles.o(.rodata);
|
||||||
src/pokeblock_feed.o(.rodata);
|
src/pokeblock_feed.o(.rodata);
|
||||||
|
@ -64,7 +64,7 @@ void HandleLinkBattleSetup(void)
|
|||||||
if (gLinkVSyncDisabled)
|
if (gLinkVSyncDisabled)
|
||||||
sub_800B488();
|
sub_800B488();
|
||||||
if (!gReceivedRemoteLinkPlayers)
|
if (!gReceivedRemoteLinkPlayers)
|
||||||
sub_8009734();
|
OpenLink();
|
||||||
CreateTask(task00_08081A90, 0);
|
CreateTask(task00_08081A90, 0);
|
||||||
CreateTasksForSendRecvLinkBuffers();
|
CreateTasksForSendRecvLinkBuffers();
|
||||||
}
|
}
|
||||||
@ -793,9 +793,9 @@ static void Task_HandleSendLinkBuffersData(u8 taskId)
|
|||||||
else
|
else
|
||||||
var = (gBattleTypeFlags & BATTLE_TYPE_MULTI) ? 4 : 2;
|
var = (gBattleTypeFlags & BATTLE_TYPE_MULTI) ? 4 : 2;
|
||||||
|
|
||||||
if (sub_800ABAC() >= var)
|
if (GetLinkPlayerCount_2() >= var)
|
||||||
{
|
{
|
||||||
if (sub_800ABBC())
|
if (IsLinkMaster())
|
||||||
{
|
{
|
||||||
sub_800A620();
|
sub_800A620();
|
||||||
gTasks[taskId].data[11]++;
|
gTasks[taskId].data[11]++;
|
||||||
|
119
src/coord_event_weather.c
Normal file
119
src/coord_event_weather.c
Normal file
@ -0,0 +1,119 @@
|
|||||||
|
#include "global.h"
|
||||||
|
#include "constants/weather.h"
|
||||||
|
#include "coord_event_weather.h"
|
||||||
|
#include "field_weather.h"
|
||||||
|
|
||||||
|
struct CoordEventWeather
|
||||||
|
{
|
||||||
|
u8 coordEventWeather;
|
||||||
|
void (*func)(void);
|
||||||
|
};
|
||||||
|
|
||||||
|
static void CoordEventWeather_Clouds(void);
|
||||||
|
static void CoordEventWeather_Sunny(void);
|
||||||
|
static void CoordEventWeather_LightRain(void);
|
||||||
|
static void CoordEventWeather_Snow(void);
|
||||||
|
static void CoordEventWeather_Thunderstorm(void);
|
||||||
|
static void CoordEventWeather_Fog(void);
|
||||||
|
static void CoordEventWeather_DiagonalFog(void);
|
||||||
|
static void CoordEventWeather_Ash(void);
|
||||||
|
static void CoordEventWeather_Sandstorm(void);
|
||||||
|
static void CoordEventWeather_Dark(void);
|
||||||
|
static void CoordEventWeather_Drought(void);
|
||||||
|
static void CoordEventWeather_Route119Cycle(void);
|
||||||
|
static void CoordEventWeather_Route123Cycle(void);
|
||||||
|
|
||||||
|
static const struct CoordEventWeather sCoordEventWeatherFuncs[] =
|
||||||
|
{
|
||||||
|
{ COORD_EVENT_WEATHER_CLOUDS, CoordEventWeather_Clouds },
|
||||||
|
{ COORD_EVENT_WEATHER_SUNNY, CoordEventWeather_Sunny },
|
||||||
|
{ COORD_EVENT_WEATHER_RAIN_LIGHT, CoordEventWeather_LightRain },
|
||||||
|
{ COORD_EVENT_WEATHER_SNOW, CoordEventWeather_Snow },
|
||||||
|
{ COORD_EVENT_WEATHER_RAIN_MED, CoordEventWeather_Thunderstorm },
|
||||||
|
{ COORD_EVENT_WEATHER_FOG_1, CoordEventWeather_Fog },
|
||||||
|
{ COORD_EVENT_WEATHER_FOG_2, CoordEventWeather_DiagonalFog },
|
||||||
|
{ COORD_EVENT_WEATHER_ASH, CoordEventWeather_Ash },
|
||||||
|
{ COORD_EVENT_WEATHER_SANDSTORM, CoordEventWeather_Sandstorm },
|
||||||
|
{ COORD_EVENT_WEATHER_SHADE, CoordEventWeather_Dark },
|
||||||
|
{ COORD_EVENT_WEATHER_DROUGHT, CoordEventWeather_Drought },
|
||||||
|
{ COORD_EVENT_WEATHER_ROUTE119_CYCLE, CoordEventWeather_Route119Cycle },
|
||||||
|
{ COORD_EVENT_WEATHER_ROUTE123_CYCLE, CoordEventWeather_Route123Cycle },
|
||||||
|
};
|
||||||
|
|
||||||
|
static void CoordEventWeather_Clouds(void)
|
||||||
|
{
|
||||||
|
SetWeather(WEATHER_CLOUDS);
|
||||||
|
}
|
||||||
|
|
||||||
|
static void CoordEventWeather_Sunny(void)
|
||||||
|
{
|
||||||
|
SetWeather(WEATHER_SUNNY);
|
||||||
|
}
|
||||||
|
|
||||||
|
static void CoordEventWeather_LightRain(void)
|
||||||
|
{
|
||||||
|
SetWeather(WEATHER_RAIN_LIGHT);
|
||||||
|
}
|
||||||
|
|
||||||
|
static void CoordEventWeather_Snow(void)
|
||||||
|
{
|
||||||
|
SetWeather(WEATHER_SNOW);
|
||||||
|
}
|
||||||
|
|
||||||
|
static void CoordEventWeather_Thunderstorm(void)
|
||||||
|
{
|
||||||
|
SetWeather(WEATHER_RAIN_MED);
|
||||||
|
}
|
||||||
|
|
||||||
|
static void CoordEventWeather_Fog(void)
|
||||||
|
{
|
||||||
|
SetWeather(WEATHER_FOG_1);
|
||||||
|
}
|
||||||
|
|
||||||
|
static void CoordEventWeather_DiagonalFog(void)
|
||||||
|
{
|
||||||
|
SetWeather(WEATHER_FOG_2);
|
||||||
|
}
|
||||||
|
|
||||||
|
static void CoordEventWeather_Ash(void)
|
||||||
|
{
|
||||||
|
SetWeather(WEATHER_ASH);
|
||||||
|
}
|
||||||
|
|
||||||
|
static void CoordEventWeather_Sandstorm(void)
|
||||||
|
{
|
||||||
|
SetWeather(WEATHER_SANDSTORM);
|
||||||
|
}
|
||||||
|
|
||||||
|
static void CoordEventWeather_Dark(void)
|
||||||
|
{
|
||||||
|
SetWeather(WEATHER_SHADE);
|
||||||
|
}
|
||||||
|
|
||||||
|
static void CoordEventWeather_Drought(void)
|
||||||
|
{
|
||||||
|
SetWeather(WEATHER_DROUGHT);
|
||||||
|
}
|
||||||
|
|
||||||
|
static void CoordEventWeather_Route119Cycle(void)
|
||||||
|
{
|
||||||
|
SetWeather(WEATHER_ROUTE119_CYCLE);
|
||||||
|
}
|
||||||
|
|
||||||
|
static void CoordEventWeather_Route123Cycle(void)
|
||||||
|
{
|
||||||
|
SetWeather(WEATHER_ROUTE123_CYCLE);
|
||||||
|
}
|
||||||
|
|
||||||
|
void DoCoordEventWeather(u8 coordEventWeather)
|
||||||
|
{
|
||||||
|
u8 i;
|
||||||
|
for (i = 0; i < ARRAY_COUNT(sCoordEventWeatherFuncs); i++)
|
||||||
|
{
|
||||||
|
if (sCoordEventWeatherFuncs[i].coordEventWeather == coordEventWeather)
|
||||||
|
{
|
||||||
|
sCoordEventWeatherFuncs[i].func();
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
@ -14,7 +14,7 @@
|
|||||||
#include "rom_818CFC8.h"
|
#include "rom_818CFC8.h"
|
||||||
#include "rom_81BE66C.h"
|
#include "rom_81BE66C.h"
|
||||||
#include "field_ground_effect.h"
|
#include "field_ground_effect.h"
|
||||||
#include "map_obj_8097404.h"
|
#include "field_map_obj_helpers.h"
|
||||||
#include "mauville_old_man.h"
|
#include "mauville_old_man.h"
|
||||||
#include "metatile_behavior.h"
|
#include "metatile_behavior.h"
|
||||||
#include "field_effect.h"
|
#include "field_effect.h"
|
||||||
|
844
src/field_map_obj_helpers.c
Executable file
844
src/field_map_obj_helpers.c
Executable file
@ -0,0 +1,844 @@
|
|||||||
|
#include "global.h"
|
||||||
|
#include "field_ground_effect.h"
|
||||||
|
#include "field_map_obj.h"
|
||||||
|
#include "field_effect.h"
|
||||||
|
#include "field_map_obj_helpers.h"
|
||||||
|
#include "malloc.h"
|
||||||
|
#include "task.h"
|
||||||
|
#include "util.h"
|
||||||
|
|
||||||
|
typedef void (*SpriteStepFunc)(struct Sprite *sprite, u8 dir);
|
||||||
|
|
||||||
|
extern const struct Coords16 gUnknown_0850DB7C[4];
|
||||||
|
extern s16 gUnknown_0850E768[];
|
||||||
|
extern SpriteStepFunc *const gUnknown_0850E754[];
|
||||||
|
extern const s8 gUnknown_0850E772[];
|
||||||
|
extern const s8 gUnknown_0850E7BA[];
|
||||||
|
extern const s8 *const gUnknown_0850E834[];
|
||||||
|
extern s16 gUnknown_0850E840[];
|
||||||
|
extern u8 gUnknown_0850E846[];
|
||||||
|
extern s16 gUnknown_0850E84A[];
|
||||||
|
extern u8 gUnknown_0850E850[];
|
||||||
|
|
||||||
|
void sub_8097D68(struct Sprite *sprite);
|
||||||
|
void sub_8097FE4(u8);
|
||||||
|
|
||||||
|
bool8 FreezeMapObject(struct MapObject *mapObject)
|
||||||
|
{
|
||||||
|
if (mapObject->mapobj_bit_6 || mapObject->mapobj_bit_8)
|
||||||
|
{
|
||||||
|
return TRUE;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
mapObject->mapobj_bit_8 = 1;
|
||||||
|
mapObject->mapobj_bit_23 = gSprites[mapObject->spriteId].animPaused;
|
||||||
|
mapObject->mapobj_bit_24 = gSprites[mapObject->spriteId].affineAnimPaused;
|
||||||
|
gSprites[mapObject->spriteId].animPaused = 1;
|
||||||
|
gSprites[mapObject->spriteId].affineAnimPaused = 1;
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void FreezeMapObjects(void)
|
||||||
|
{
|
||||||
|
u8 i;
|
||||||
|
for (i = 0; i < MAP_OBJECTS_COUNT; i++)
|
||||||
|
if (gMapObjects[i].active && i != gPlayerAvatar.mapObjectId)
|
||||||
|
FreezeMapObject(&gMapObjects[i]);
|
||||||
|
}
|
||||||
|
|
||||||
|
void FreezeMapObjectsExceptOne(u8 a1)
|
||||||
|
{
|
||||||
|
u8 i;
|
||||||
|
for (i = 0; i < MAP_OBJECTS_COUNT; i++)
|
||||||
|
if (i != a1 && gMapObjects[i].active && i != gPlayerAvatar.mapObjectId)
|
||||||
|
FreezeMapObject(&gMapObjects[i]);
|
||||||
|
}
|
||||||
|
|
||||||
|
void npc_sync_anim_pause_bits(struct MapObject *mapObject)
|
||||||
|
{
|
||||||
|
if (mapObject->active && mapObject->mapobj_bit_8)
|
||||||
|
{
|
||||||
|
mapObject->mapobj_bit_8 = 0;
|
||||||
|
gSprites[mapObject->spriteId].animPaused = mapObject->mapobj_bit_23;
|
||||||
|
gSprites[mapObject->spriteId].affineAnimPaused = mapObject->mapobj_bit_24;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void UnfreezeMapObjects(void)
|
||||||
|
{
|
||||||
|
u8 i;
|
||||||
|
for (i = 0; i < MAP_OBJECTS_COUNT; i++)
|
||||||
|
if (gMapObjects[i].active)
|
||||||
|
npc_sync_anim_pause_bits(&gMapObjects[i]);
|
||||||
|
}
|
||||||
|
|
||||||
|
void little_step(struct Sprite *sprite, u8 dir)
|
||||||
|
{
|
||||||
|
sprite->pos1.x += gUnknown_0850DB7C[dir].x;
|
||||||
|
sprite->pos1.y += gUnknown_0850DB7C[dir].y;
|
||||||
|
}
|
||||||
|
|
||||||
|
void double_little_steps(struct Sprite *sprite, u8 dir)
|
||||||
|
{
|
||||||
|
sprite->pos1.x += 2 * (u16) gUnknown_0850DB7C[dir].x;
|
||||||
|
sprite->pos1.y += 2 * (u16) gUnknown_0850DB7C[dir].y;
|
||||||
|
}
|
||||||
|
|
||||||
|
void triple_little_steps(struct Sprite *sprite, u8 dir)
|
||||||
|
{
|
||||||
|
sprite->pos1.x += 2 * (u16) gUnknown_0850DB7C[dir].x + (u16) gUnknown_0850DB7C[dir].x;
|
||||||
|
sprite->pos1.y += 2 * (u16) gUnknown_0850DB7C[dir].y + (u16) gUnknown_0850DB7C[dir].y;
|
||||||
|
}
|
||||||
|
|
||||||
|
void quad_little_steps(struct Sprite *sprite, u8 dir)
|
||||||
|
{
|
||||||
|
sprite->pos1.x += 4 * (u16) gUnknown_0850DB7C[dir].x;
|
||||||
|
sprite->pos1.y += 4 * (u16) gUnknown_0850DB7C[dir].y;
|
||||||
|
}
|
||||||
|
|
||||||
|
void oct_little_steps(struct Sprite *sprite, u8 dir)
|
||||||
|
{
|
||||||
|
sprite->pos1.x += 8 * (u16) gUnknown_0850DB7C[dir].x;
|
||||||
|
sprite->pos1.y += 8 * (u16) gUnknown_0850DB7C[dir].y;
|
||||||
|
}
|
||||||
|
|
||||||
|
void oamt_npc_ministep_reset(struct Sprite *sprite, u8 a2, u8 a3)
|
||||||
|
{
|
||||||
|
sprite->data[3] = a2;
|
||||||
|
sprite->data[4] = a3;
|
||||||
|
sprite->data[5] = 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
bool8 obj_npc_ministep(struct Sprite *sprite)
|
||||||
|
{
|
||||||
|
if (sprite->data[5] >= gUnknown_0850E768[sprite->data[4]])
|
||||||
|
return FALSE;
|
||||||
|
|
||||||
|
gUnknown_0850E754[sprite->data[4]][sprite->data[5]](sprite, sprite->data[3]);
|
||||||
|
|
||||||
|
sprite->data[5]++;
|
||||||
|
|
||||||
|
if (sprite->data[5] < gUnknown_0850E768[sprite->data[4]])
|
||||||
|
return FALSE;
|
||||||
|
|
||||||
|
return TRUE;
|
||||||
|
}
|
||||||
|
|
||||||
|
void sub_80976DC(struct Sprite *sprite, u8 a2)
|
||||||
|
{
|
||||||
|
sprite->data[3] = a2;
|
||||||
|
sprite->data[4] = 0;
|
||||||
|
sprite->data[5] = 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
bool8 sub_80976EC(struct Sprite *sprite)
|
||||||
|
{
|
||||||
|
if (!(sprite->data[4] & 1))
|
||||||
|
{
|
||||||
|
little_step(sprite, sprite->data[3]);
|
||||||
|
sprite->data[5]++;
|
||||||
|
}
|
||||||
|
|
||||||
|
sprite->data[4]++;
|
||||||
|
|
||||||
|
if (sprite->data[5] > 15)
|
||||||
|
return TRUE;
|
||||||
|
else
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
|
|
||||||
|
// new helper added here in the middle. Perhaps Game Freak kept these organized in alphebetical order or some other heirarchy?
|
||||||
|
|
||||||
|
s16 sub_8097728(s16 a1)
|
||||||
|
{
|
||||||
|
return gUnknown_0850E7BA[a1];
|
||||||
|
}
|
||||||
|
|
||||||
|
s16 sub_809773C(s16 a1)
|
||||||
|
{
|
||||||
|
return gUnknown_0850E772[a1];
|
||||||
|
}
|
||||||
|
|
||||||
|
void sub_8097750(struct Sprite *sprite)
|
||||||
|
{
|
||||||
|
sprite->data[6] = 0;
|
||||||
|
sprite->data[7] = 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
bool8 sub_8097758(struct Sprite *sprite)
|
||||||
|
{
|
||||||
|
bool8 result = FALSE;
|
||||||
|
|
||||||
|
switch(sprite->data[7])
|
||||||
|
{
|
||||||
|
case 0:
|
||||||
|
sprite->pos2.x += sub_809773C(sprite->data[6]);
|
||||||
|
sprite->pos2.y += sub_8097728(sprite->data[6]);
|
||||||
|
break;
|
||||||
|
case 1:
|
||||||
|
sprite->pos2.x -= sub_809773C(0x47 - sprite->data[6]);
|
||||||
|
sprite->pos2.y += sub_8097728(0x47 - sprite->data[6]);
|
||||||
|
break;
|
||||||
|
case 2:
|
||||||
|
sprite->pos2.x -= sub_809773C(sprite->data[6]);
|
||||||
|
sprite->pos2.y += sub_8097728(sprite->data[6]);
|
||||||
|
break;
|
||||||
|
case 3:
|
||||||
|
sprite->pos2.x += sub_809773C(0x47 - sprite->data[6]);
|
||||||
|
sprite->pos2.y += sub_8097728(0x47 - sprite->data[6]);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
if(++sprite->data[6] == 0x48)
|
||||||
|
{
|
||||||
|
sprite->data[6] = 0;
|
||||||
|
sprite->data[7]++;
|
||||||
|
}
|
||||||
|
if(sprite->data[7] == 0x4)
|
||||||
|
{
|
||||||
|
sprite->pos2.y = 0;
|
||||||
|
sprite->pos2.x = 0;
|
||||||
|
result = TRUE;
|
||||||
|
}
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
|
s16 sub_8097820(s16 a1, u8 a2)
|
||||||
|
{
|
||||||
|
return gUnknown_0850E834[a2][a1];
|
||||||
|
}
|
||||||
|
|
||||||
|
void sub_809783C(struct Sprite *sprite, u8 a2, u8 a3, u8 a4)
|
||||||
|
{
|
||||||
|
sprite->data[3] = a2;
|
||||||
|
sprite->data[4] = a3;
|
||||||
|
sprite->data[5] = a4;
|
||||||
|
sprite->data[6] = 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
u8 sub_809785C(struct Sprite *sprite)
|
||||||
|
{
|
||||||
|
s16 v5[3];
|
||||||
|
u8 v6[3];
|
||||||
|
u8 v2;
|
||||||
|
|
||||||
|
memcpy(v5, gUnknown_0850E840, 6); // TODO: get rid of memcpy
|
||||||
|
memcpy(v6, gUnknown_0850E846, 3);
|
||||||
|
v2 = 0;
|
||||||
|
|
||||||
|
if (sprite->data[4])
|
||||||
|
little_step(sprite, sprite->data[3]);
|
||||||
|
|
||||||
|
sprite->pos2.y = sub_8097820(sprite->data[6] >> v6[sprite->data[4]], sprite->data[5]);
|
||||||
|
|
||||||
|
sprite->data[6]++;
|
||||||
|
|
||||||
|
if (sprite->data[6] == (v5[sprite->data[4]] >> 1))
|
||||||
|
v2 = 1;
|
||||||
|
|
||||||
|
if (sprite->data[6] >= v5[sprite->data[4]])
|
||||||
|
{
|
||||||
|
sprite->pos2.y = 0;
|
||||||
|
v2 = -1;
|
||||||
|
}
|
||||||
|
|
||||||
|
return v2;
|
||||||
|
}
|
||||||
|
|
||||||
|
u8 sub_80978E4(struct Sprite *sprite)
|
||||||
|
{
|
||||||
|
s16 v5[3];
|
||||||
|
u8 v6[3];
|
||||||
|
u8 v2;
|
||||||
|
|
||||||
|
memcpy(v5, gUnknown_0850E84A, 6);
|
||||||
|
memcpy(v6, gUnknown_0850E850, 3);
|
||||||
|
v2 = 0;
|
||||||
|
|
||||||
|
if (sprite->data[4] && !(sprite->data[6] & 1))
|
||||||
|
little_step(sprite, sprite->data[3]);
|
||||||
|
|
||||||
|
sprite->pos2.y = sub_8097820(sprite->data[6] >> v6[sprite->data[4]], sprite->data[5]);
|
||||||
|
|
||||||
|
sprite->data[6]++;
|
||||||
|
|
||||||
|
if (sprite->data[6] == (v5[sprite->data[4]] >> 1))
|
||||||
|
v2 = 1;
|
||||||
|
|
||||||
|
if (sprite->data[6] >= v5[sprite->data[4]])
|
||||||
|
{
|
||||||
|
sprite->pos2.y = 0;
|
||||||
|
v2 = -1;
|
||||||
|
}
|
||||||
|
|
||||||
|
return v2;
|
||||||
|
}
|
||||||
|
|
||||||
|
void SetFieldObjectStepTimer(struct Sprite *sprite, u16 timer)
|
||||||
|
{
|
||||||
|
sprite->data[3] = timer;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
bool8 RunFieldObjectStepTimer(struct Sprite *sprite)
|
||||||
|
{
|
||||||
|
sprite->data[3]--;
|
||||||
|
|
||||||
|
if (sprite->data[3] == 0)
|
||||||
|
return TRUE;
|
||||||
|
else
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
|
|
||||||
|
void obj_anim_image_set_and_seek(struct Sprite *sprite, u8 a2, u8 a3)
|
||||||
|
{
|
||||||
|
sprite->animNum = a2;
|
||||||
|
sprite->animPaused = 0 ;
|
||||||
|
SeekSpriteAnim(sprite, a3);
|
||||||
|
}
|
||||||
|
|
||||||
|
bool8 sub_80979BC(struct Sprite *sprite)
|
||||||
|
{
|
||||||
|
if (sprite->animEnded)
|
||||||
|
return TRUE;
|
||||||
|
else
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
|
|
||||||
|
void sub_80979D4(struct Sprite *sprite, bool8 invisible)
|
||||||
|
{
|
||||||
|
u16 x, y;
|
||||||
|
s16 x2, y2;
|
||||||
|
|
||||||
|
sprite->invisible = invisible;
|
||||||
|
|
||||||
|
if (sprite->coordOffsetEnabled)
|
||||||
|
{
|
||||||
|
x = sprite->pos1.x + sprite->pos2.x + sprite->centerToCornerVecX + gSpriteCoordOffsetX;
|
||||||
|
y = sprite->pos1.y + sprite->pos2.y + sprite->centerToCornerVecY + gSpriteCoordOffsetY;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
x = sprite->pos1.x + sprite->pos2.x + sprite->centerToCornerVecX;
|
||||||
|
y = sprite->pos1.y + sprite->pos2.y + sprite->centerToCornerVecY;
|
||||||
|
}
|
||||||
|
|
||||||
|
x2 = x - (sprite->centerToCornerVecX >> 1);
|
||||||
|
y2 = y - (sprite->centerToCornerVecY >> 1);
|
||||||
|
|
||||||
|
if ((s16)x > 255 || x2 < -16)
|
||||||
|
sprite->invisible = 1;
|
||||||
|
if ((s16)y > 175 || y2 < -16)
|
||||||
|
sprite->invisible = 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
void sub_8097AC8(struct Sprite *sprite)
|
||||||
|
{
|
||||||
|
sub_8097D68(sprite);
|
||||||
|
SetObjectSubpriorityByZCoord(sprite->data[1], sprite, 1);
|
||||||
|
sub_80979D4(sprite, sprite->data[2]);
|
||||||
|
}
|
||||||
|
|
||||||
|
void sub_8097AF0(void)
|
||||||
|
{
|
||||||
|
int i;
|
||||||
|
|
||||||
|
for(i = 0; i < MAX_SPRITES; i++)
|
||||||
|
{
|
||||||
|
struct Sprite *sprite = &gSprites[i];
|
||||||
|
if(sprite->inUse && sprite->callback == sub_8097AC8)
|
||||||
|
DestroySprite(sprite);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
int sub_8097B2C(u8 var) // this should return a u8, because all that call this shifts to u8, but it wont match because it doesnt shift u8 at the end.
|
||||||
|
{
|
||||||
|
int i;
|
||||||
|
|
||||||
|
for(i = 0; i < MAX_SPRITES; i++)
|
||||||
|
{
|
||||||
|
struct Sprite *sprite = &gSprites[i];
|
||||||
|
if(sprite->inUse && sprite->callback == sub_8097AC8 && (u8)sprite->data[0] == var)
|
||||||
|
return i;
|
||||||
|
}
|
||||||
|
return MAX_SPRITES;
|
||||||
|
}
|
||||||
|
|
||||||
|
void sub_8097B78(u8 var1, u8 var2)
|
||||||
|
{
|
||||||
|
u8 spriteId = sub_8097B2C(var1);
|
||||||
|
|
||||||
|
if(spriteId != MAX_SPRITES)
|
||||||
|
StartSpriteAnim(&gSprites[spriteId], FieldObjectDirectionToImageAnimId(var2));
|
||||||
|
}
|
||||||
|
|
||||||
|
void sub_8097BB4(u8 var1, u8 var2)
|
||||||
|
{
|
||||||
|
int spriteId = sub_8097B2C(var1);
|
||||||
|
|
||||||
|
if(spriteId != MAX_SPRITES)
|
||||||
|
{
|
||||||
|
struct Sprite *sprite = &gSprites[spriteId];
|
||||||
|
const struct MapObjectGraphicsInfo *gfxInfo = GetFieldObjectGraphicsInfo(var2);
|
||||||
|
u16 tileNum = sprite->oam.tileNum;
|
||||||
|
|
||||||
|
sprite->oam = *gfxInfo->oam;
|
||||||
|
sprite->oam.tileNum = tileNum;
|
||||||
|
sprite->oam.paletteNum = gfxInfo->paletteSlot;
|
||||||
|
sprite->images = gfxInfo->images;
|
||||||
|
|
||||||
|
if(gfxInfo->subspriteTables == NULL)
|
||||||
|
{
|
||||||
|
sprite->subspriteTables = NULL;
|
||||||
|
sprite->subspriteTableNum = 0;
|
||||||
|
sprite->subspriteMode = 0;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
SetSubspriteTables(sprite, gfxInfo->subspriteTables);
|
||||||
|
sprite->subspriteMode = 2;
|
||||||
|
}
|
||||||
|
StartSpriteAnim(sprite, 0);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void sub_8097C44(u8 var, bool32 var2)
|
||||||
|
{
|
||||||
|
u8 spriteId = sub_8097B2C(var);
|
||||||
|
|
||||||
|
if(spriteId == MAX_SPRITES)
|
||||||
|
return;
|
||||||
|
|
||||||
|
if(var2)
|
||||||
|
gSprites[spriteId].data[2] = 1;
|
||||||
|
else
|
||||||
|
gSprites[spriteId].data[2] = 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
bool32 sub_8097C8C(u8 var)
|
||||||
|
{
|
||||||
|
u8 spriteId = sub_8097B2C(var);
|
||||||
|
|
||||||
|
if(spriteId == MAX_SPRITES)
|
||||||
|
return FALSE;
|
||||||
|
|
||||||
|
return (gSprites[spriteId].data[2] == TRUE);
|
||||||
|
}
|
||||||
|
|
||||||
|
void sub_8097CC4(u8 var1, u8 var2)
|
||||||
|
{
|
||||||
|
u8 spriteId = sub_8097B2C(var1);
|
||||||
|
|
||||||
|
if(spriteId != MAX_SPRITES)
|
||||||
|
{
|
||||||
|
gSprites[spriteId].data[3] = var2;
|
||||||
|
gSprites[spriteId].data[4] = 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void sub_8097CF4(struct Sprite *sprite)
|
||||||
|
{
|
||||||
|
switch(sprite->data[4])
|
||||||
|
{
|
||||||
|
case 0:
|
||||||
|
sprite->pos2.y = 0;
|
||||||
|
sprite->data[4]++;
|
||||||
|
case 1:
|
||||||
|
sprite->pos2.y -= 8;
|
||||||
|
if(sprite->pos2.y == -160)
|
||||||
|
{
|
||||||
|
sprite->pos2.y = 0;
|
||||||
|
sprite->data[2] = 1;
|
||||||
|
sprite->data[3] = 0;
|
||||||
|
sprite->data[4] = 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void sub_8097D30(struct Sprite *sprite)
|
||||||
|
{
|
||||||
|
switch(sprite->data[4])
|
||||||
|
{
|
||||||
|
case 0:
|
||||||
|
sprite->pos2.y = -160;
|
||||||
|
sprite->data[4]++;
|
||||||
|
case 1:
|
||||||
|
sprite->pos2.y += 8;
|
||||||
|
if(sprite->pos2.y == 0)
|
||||||
|
{
|
||||||
|
sprite->data[3] = 0;
|
||||||
|
sprite->data[4] = 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void sub_8097D68(struct Sprite *sprite)
|
||||||
|
{
|
||||||
|
switch(sprite->data[3])
|
||||||
|
{
|
||||||
|
case 1:
|
||||||
|
sub_8097D30(sprite);
|
||||||
|
break;
|
||||||
|
case 2:
|
||||||
|
sub_8097CF4(sprite);
|
||||||
|
break;
|
||||||
|
case 0:
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
sprite->data[3] = 0;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
bool32 sub_8097D9C(u8 var)
|
||||||
|
{
|
||||||
|
u8 spriteId = sub_8097B2C(var);
|
||||||
|
|
||||||
|
if(spriteId == MAX_SPRITES)
|
||||||
|
return FALSE;
|
||||||
|
|
||||||
|
if(gSprites[spriteId].data[3] != FALSE)
|
||||||
|
return TRUE;
|
||||||
|
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
|
|
||||||
|
u32 oe_exec_and_other_stuff(u8 fieldEffectId, struct MapObject *mapObject)
|
||||||
|
{
|
||||||
|
FieldObjectGetLocalIdAndMap(mapObject, &gFieldEffectArguments[0], &gFieldEffectArguments[1], &gFieldEffectArguments[2]);
|
||||||
|
return FieldEffectStart(fieldEffectId);
|
||||||
|
}
|
||||||
|
|
||||||
|
void DoShadowFieldEffect(struct MapObject *mapObject)
|
||||||
|
{
|
||||||
|
if (!mapObject->mapobj_bit_22)
|
||||||
|
{
|
||||||
|
mapObject->mapobj_bit_22 = 1;
|
||||||
|
oe_exec_and_other_stuff(FLDEFF_SHADOW, mapObject);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void DoRippleFieldEffect(struct MapObject *mapObject, struct Sprite *sprite)
|
||||||
|
{
|
||||||
|
const struct MapObjectGraphicsInfo *gfxInfo = GetFieldObjectGraphicsInfo(mapObject->graphicsId);
|
||||||
|
gFieldEffectArguments[0] = sprite->pos1.x;
|
||||||
|
gFieldEffectArguments[1] = sprite->pos1.y + (gfxInfo->height >> 1) - 2;
|
||||||
|
gFieldEffectArguments[2] = 151;
|
||||||
|
gFieldEffectArguments[3] = 3;
|
||||||
|
FieldEffectStart(FLDEFF_RIPPLE);
|
||||||
|
}
|
||||||
|
|
||||||
|
#ifdef NONMATCHING
|
||||||
|
bool32 sub_8097E50(struct MapObject *mapObject, struct Sprite *sprite)
|
||||||
|
{
|
||||||
|
bool32 ableToStore = FALSE;
|
||||||
|
if (gUnknown_020375B8 == NULL)
|
||||||
|
{
|
||||||
|
gUnknown_020375B8 = AllocZeroed(0x14);
|
||||||
|
gUnknown_020375B8[0] = mapObject->localId;
|
||||||
|
gUnknown_020375B8[16] = 1;
|
||||||
|
ableToStore = TRUE;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
u8 i;
|
||||||
|
u8 firstFreeSlot;
|
||||||
|
bool32 found;
|
||||||
|
for (firstFreeSlot = 16, found = FALSE, i = 0; i < 16; i++)
|
||||||
|
{
|
||||||
|
if (firstFreeSlot == 16 && gUnknown_020375B8[i] == 0)
|
||||||
|
firstFreeSlot = i;
|
||||||
|
|
||||||
|
if (gUnknown_020375B8[i] == mapObject->localId)
|
||||||
|
{
|
||||||
|
found = TRUE;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!found && firstFreeSlot != 16)
|
||||||
|
{
|
||||||
|
gUnknown_020375B8[firstFreeSlot] = mapObject->localId;
|
||||||
|
gUnknown_020375B8[16]++;
|
||||||
|
ableToStore = TRUE; // the nonmatching problem is that ableToStore == TRUE isnt being merged with the above ableToStore = TRUE assignment.
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (ableToStore == TRUE)
|
||||||
|
{
|
||||||
|
mapObject->mapobj_bit_12 = TRUE;
|
||||||
|
mapObject->mapobj_bit_9 = TRUE;
|
||||||
|
}
|
||||||
|
|
||||||
|
sprite->data[2] = 1;
|
||||||
|
return TRUE;
|
||||||
|
}
|
||||||
|
#else
|
||||||
|
__attribute__((naked))
|
||||||
|
bool32 sub_8097E50(struct MapObject *mapObject, struct Sprite *sprite)
|
||||||
|
{
|
||||||
|
asm(".syntax unified\n\
|
||||||
|
push {r4-r7,lr}\n\
|
||||||
|
mov r7, r8\n\
|
||||||
|
push {r7}\n\
|
||||||
|
adds r4, r0, 0\n\
|
||||||
|
mov r8, r1\n\
|
||||||
|
movs r0, 0\n\
|
||||||
|
mov r12, r0\n\
|
||||||
|
ldr r0, =gUnknown_020375B8\n\
|
||||||
|
ldr r1, [r0]\n\
|
||||||
|
adds r6, r0, 0\n\
|
||||||
|
cmp r1, 0\n\
|
||||||
|
bne _08097E80\n\
|
||||||
|
movs r0, 0x14\n\
|
||||||
|
bl AllocZeroed\n\
|
||||||
|
str r0, [r6]\n\
|
||||||
|
ldrb r1, [r4, 0x8]\n\
|
||||||
|
strb r1, [r0]\n\
|
||||||
|
ldr r1, [r6]\n\
|
||||||
|
movs r0, 0x1\n\
|
||||||
|
strb r0, [r1, 0x10]\n\
|
||||||
|
b _08097ECC\n\
|
||||||
|
.pool\n\
|
||||||
|
_08097E80:\n\
|
||||||
|
movs r2, 0x10\n\
|
||||||
|
movs r5, 0\n\
|
||||||
|
movs r1, 0\n\
|
||||||
|
adds r3, r6, 0\n\
|
||||||
|
b _08097E90\n\
|
||||||
|
_08097E8A:\n\
|
||||||
|
adds r0, r1, 0x1\n\
|
||||||
|
lsls r0, 24\n\
|
||||||
|
lsrs r1, r0, 24\n\
|
||||||
|
_08097E90:\n\
|
||||||
|
cmp r1, 0xF\n\
|
||||||
|
bhi _08097EB2\n\
|
||||||
|
cmp r2, 0x10\n\
|
||||||
|
bne _08097EA4\n\
|
||||||
|
ldr r0, [r3]\n\
|
||||||
|
adds r0, r1\n\
|
||||||
|
ldrb r0, [r0]\n\
|
||||||
|
cmp r0, 0\n\
|
||||||
|
bne _08097EA4\n\
|
||||||
|
adds r2, r1, 0\n\
|
||||||
|
_08097EA4:\n\
|
||||||
|
ldr r0, [r3]\n\
|
||||||
|
adds r0, r1\n\
|
||||||
|
ldrb r0, [r0]\n\
|
||||||
|
ldrb r7, [r4, 0x8]\n\
|
||||||
|
cmp r0, r7\n\
|
||||||
|
bne _08097E8A\n\
|
||||||
|
movs r5, 0x1\n\
|
||||||
|
_08097EB2:\n\
|
||||||
|
cmp r5, 0\n\
|
||||||
|
bne _08097ECE\n\
|
||||||
|
cmp r2, 0x10\n\
|
||||||
|
beq _08097ECE\n\
|
||||||
|
ldr r0, [r6]\n\
|
||||||
|
adds r0, r2\n\
|
||||||
|
ldrb r1, [r4, 0x8]\n\
|
||||||
|
strb r1, [r0]\n\
|
||||||
|
ldr r1, [r6]\n\
|
||||||
|
ldrb r0, [r1, 0x10]\n\
|
||||||
|
adds r0, 0x1\n\
|
||||||
|
strb r0, [r1, 0x10]\n\
|
||||||
|
movs r0, 0x1\n\
|
||||||
|
_08097ECC:\n\
|
||||||
|
mov r12, r0\n\
|
||||||
|
_08097ECE:\n\
|
||||||
|
mov r1, r12\n\
|
||||||
|
cmp r1, 0x1\n\
|
||||||
|
bne _08097EE0\n\
|
||||||
|
ldrb r0, [r4, 0x1]\n\
|
||||||
|
movs r1, 0x10\n\
|
||||||
|
orrs r0, r1\n\
|
||||||
|
movs r1, 0x2\n\
|
||||||
|
orrs r0, r1\n\
|
||||||
|
strb r0, [r4, 0x1]\n\
|
||||||
|
_08097EE0:\n\
|
||||||
|
movs r0, 0x1\n\
|
||||||
|
mov r7, r8\n\
|
||||||
|
strh r0, [r7, 0x32]\n\
|
||||||
|
pop {r3}\n\
|
||||||
|
mov r8, r3\n\
|
||||||
|
pop {r4-r7}\n\
|
||||||
|
pop {r1}\n\
|
||||||
|
bx r1\n\
|
||||||
|
.syntax divided");
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
// this function is very similar to the above one and I don't want to decompile this one until the above is matching.
|
||||||
|
__attribute__((naked))
|
||||||
|
bool32 sub_8097EF0(struct MapObject *mapObject, struct Sprite *sprite)
|
||||||
|
{
|
||||||
|
asm(".syntax unified\n\
|
||||||
|
push {r4-r7,lr}\n\
|
||||||
|
mov r7, r8\n\
|
||||||
|
push {r7}\n\
|
||||||
|
adds r6, r0, 0\n\
|
||||||
|
mov r8, r1\n\
|
||||||
|
movs r0, 0x1\n\
|
||||||
|
strh r0, [r1, 0x32]\n\
|
||||||
|
ldr r5, =gUnknown_020375B8\n\
|
||||||
|
ldr r0, [r5]\n\
|
||||||
|
cmp r0, 0\n\
|
||||||
|
beq _08097F68\n\
|
||||||
|
movs r7, 0\n\
|
||||||
|
adds r0, r6, 0\n\
|
||||||
|
bl sub_8097F78\n\
|
||||||
|
lsls r0, 24\n\
|
||||||
|
lsrs r1, r0, 24\n\
|
||||||
|
cmp r1, 0x10\n\
|
||||||
|
beq _08097F28\n\
|
||||||
|
ldr r0, [r5]\n\
|
||||||
|
adds r0, r1\n\
|
||||||
|
movs r1, 0\n\
|
||||||
|
strb r1, [r0]\n\
|
||||||
|
ldr r1, [r5]\n\
|
||||||
|
ldrb r0, [r1, 0x10]\n\
|
||||||
|
subs r0, 0x1\n\
|
||||||
|
strb r0, [r1, 0x10]\n\
|
||||||
|
movs r7, 0x1\n\
|
||||||
|
_08097F28:\n\
|
||||||
|
ldr r0, [r5]\n\
|
||||||
|
ldrb r4, [r0, 0x10]\n\
|
||||||
|
cmp r4, 0\n\
|
||||||
|
bne _08097F36\n\
|
||||||
|
bl Free\n\
|
||||||
|
str r4, [r5]\n\
|
||||||
|
_08097F36:\n\
|
||||||
|
cmp r7, 0x1\n\
|
||||||
|
bne _08097F68\n\
|
||||||
|
ldrb r0, [r6, 0x5]\n\
|
||||||
|
bl GetFieldObjectGraphicsInfo\n\
|
||||||
|
ldrb r1, [r0, 0xC]\n\
|
||||||
|
lsls r1, 25\n\
|
||||||
|
lsrs r1, 31\n\
|
||||||
|
lsls r1, 4\n\
|
||||||
|
ldrb r2, [r6, 0x1]\n\
|
||||||
|
movs r0, 0x11\n\
|
||||||
|
negs r0, r0\n\
|
||||||
|
ands r0, r2\n\
|
||||||
|
orrs r0, r1\n\
|
||||||
|
movs r1, 0x3\n\
|
||||||
|
negs r1, r1\n\
|
||||||
|
ands r0, r1\n\
|
||||||
|
strb r0, [r6, 0x1]\n\
|
||||||
|
mov r2, r8\n\
|
||||||
|
adds r2, 0x2C\n\
|
||||||
|
ldrb r1, [r2]\n\
|
||||||
|
movs r0, 0x41\n\
|
||||||
|
negs r0, r0\n\
|
||||||
|
ands r0, r1\n\
|
||||||
|
strb r0, [r2]\n\
|
||||||
|
_08097F68:\n\
|
||||||
|
movs r0, 0x1\n\
|
||||||
|
pop {r3}\n\
|
||||||
|
mov r8, r3\n\
|
||||||
|
pop {r4-r7}\n\
|
||||||
|
pop {r1}\n\
|
||||||
|
bx r1\n\
|
||||||
|
.pool\n\
|
||||||
|
.syntax divided");
|
||||||
|
}
|
||||||
|
|
||||||
|
u8 sub_8097F78(struct MapObject *mapObject)
|
||||||
|
{
|
||||||
|
u8 i;
|
||||||
|
|
||||||
|
for(i = 0; i < MAP_OBJECTS_COUNT; i++)
|
||||||
|
{
|
||||||
|
if(gUnknown_020375B8[i] == mapObject->localId)
|
||||||
|
return i;
|
||||||
|
}
|
||||||
|
return MAP_OBJECTS_COUNT;
|
||||||
|
}
|
||||||
|
|
||||||
|
void sub_8097FA4(struct MapObject *mapObject)
|
||||||
|
{
|
||||||
|
u8 taskId = CreateTask(sub_8097FE4, 0xFF);
|
||||||
|
struct Task *task = &gTasks[taskId];
|
||||||
|
|
||||||
|
StoreWordInTwoHalfwords(&task->data[0], (u32)mapObject);
|
||||||
|
mapObject->mapobj_unk_1B = taskId;
|
||||||
|
task->data[3] = 0xFFFF;
|
||||||
|
}
|
||||||
|
|
||||||
|
void sub_8097FE4(u8 taskId)
|
||||||
|
{
|
||||||
|
struct MapObject *mapObject;
|
||||||
|
struct Sprite *sprite;
|
||||||
|
struct Task *task = &gTasks[taskId];
|
||||||
|
|
||||||
|
LoadWordFromTwoHalfwords(&task->data[0], (u32 *)&mapObject); // load the map object pointer.
|
||||||
|
sprite = &gSprites[mapObject->spriteId];
|
||||||
|
|
||||||
|
if(!(task->data[2] & 0x3))
|
||||||
|
sprite->pos2.y += task->data[3];
|
||||||
|
|
||||||
|
if(!(task->data[2] & 0xF))
|
||||||
|
task->data[3] = -task->data[3];
|
||||||
|
|
||||||
|
task->data[2]++;
|
||||||
|
}
|
||||||
|
|
||||||
|
void sub_8098044(u8 taskId)
|
||||||
|
{
|
||||||
|
u32 word;
|
||||||
|
struct Task *task = &gTasks[taskId];
|
||||||
|
|
||||||
|
LoadWordFromTwoHalfwords(&task->data[0], &word); // huh??? why does it load a word that never gets used???
|
||||||
|
DestroyTask(taskId);
|
||||||
|
}
|
||||||
|
|
||||||
|
void sub_8098074(u8 var1, u8 var2)
|
||||||
|
{
|
||||||
|
u8 i;
|
||||||
|
|
||||||
|
for(i = 0; i < MAP_OBJECTS_COUNT; i++)
|
||||||
|
{
|
||||||
|
if(i != var1 && i != var2 &&
|
||||||
|
gMapObjects[i].active && i != gPlayerAvatar.mapObjectId)
|
||||||
|
FreezeMapObject(&gMapObjects[i]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
bool32 sub_80980C0(struct MapObject *mapObject, struct Sprite *sprite)
|
||||||
|
{
|
||||||
|
sprite->pos2.y = 0;
|
||||||
|
sprite->data[2]++;
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
|
|
||||||
|
bool32 sub_80980D0(struct MapObject *mapObject, struct Sprite *sprite)
|
||||||
|
{
|
||||||
|
sprite->pos2.y -= 8;
|
||||||
|
|
||||||
|
if(sprite->pos2.y == -160)
|
||||||
|
sprite->data[2]++;
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
|
|
||||||
|
bool32 sub_80980F4(struct MapObject *mapObject, struct Sprite *sprite)
|
||||||
|
{
|
||||||
|
sprite->pos2.y = -160;
|
||||||
|
sprite->data[2]++;
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
|
|
||||||
|
bool32 sub_8098108(struct MapObject *mapObject, struct Sprite *sprite)
|
||||||
|
{
|
||||||
|
sprite->pos2.y += 8;
|
||||||
|
|
||||||
|
if(!sprite->pos2.y)
|
||||||
|
sprite->data[2]++;
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
|
|
||||||
|
// though this function returns TRUE without doing anything, this header is required due to being in an array of functions which needs it.
|
||||||
|
bool32 sub_8098124(struct MapObject *mapObject, struct Sprite *sprite)
|
||||||
|
{
|
||||||
|
return TRUE;
|
||||||
|
}
|
154
src/field_message_box.c
Executable file
154
src/field_message_box.c
Executable file
@ -0,0 +1,154 @@
|
|||||||
|
#include "global.h"
|
||||||
|
#include "new_menu_helpers.h"
|
||||||
|
#include "string.h"
|
||||||
|
#include "string_util.h"
|
||||||
|
#include "task.h"
|
||||||
|
#include "text.h"
|
||||||
|
|
||||||
|
EWRAM_DATA u8 gUnknown_020375BC = 0;
|
||||||
|
|
||||||
|
void textbox_fdecode_auto_and_task_add(u8*, int);
|
||||||
|
void textbox_auto_and_task_add(void);
|
||||||
|
|
||||||
|
void sub_8098128(void)
|
||||||
|
{
|
||||||
|
gUnknown_020375BC = 0;
|
||||||
|
gTextFlags.flag_0 = 0;
|
||||||
|
gTextFlags.flag_1 = 0;
|
||||||
|
gTextFlags.flag_2 = 0;
|
||||||
|
gTextFlags.flag_3 = 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
void sub_8098154(u8 taskId)
|
||||||
|
{
|
||||||
|
struct Task *task = &gTasks[taskId];
|
||||||
|
|
||||||
|
switch (task->data[0])
|
||||||
|
{
|
||||||
|
case 0:
|
||||||
|
sub_81973A4();
|
||||||
|
task->data[0]++;
|
||||||
|
break;
|
||||||
|
case 1:
|
||||||
|
sub_81973C4(0, 1);
|
||||||
|
task->data[0]++;
|
||||||
|
break;
|
||||||
|
case 2:
|
||||||
|
if (sub_8197224() != 1)
|
||||||
|
{
|
||||||
|
gUnknown_020375BC = 0;
|
||||||
|
DestroyTask(taskId);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void task_add_textbox(void)
|
||||||
|
{
|
||||||
|
CreateTask(sub_8098154, 0x50);
|
||||||
|
}
|
||||||
|
|
||||||
|
void task_del_textbox(void)
|
||||||
|
{
|
||||||
|
u8 taskId = FindTaskIdByFunc(sub_8098154);
|
||||||
|
if (taskId != 0xFF)
|
||||||
|
DestroyTask(taskId);
|
||||||
|
}
|
||||||
|
|
||||||
|
bool8 ShowFieldMessage(u8 *str)
|
||||||
|
{
|
||||||
|
if (gUnknown_020375BC != 0)
|
||||||
|
return FALSE;
|
||||||
|
textbox_fdecode_auto_and_task_add(str, 1);
|
||||||
|
gUnknown_020375BC = 2;
|
||||||
|
return TRUE;
|
||||||
|
}
|
||||||
|
|
||||||
|
void sub_8098214(u8 taskId)
|
||||||
|
{
|
||||||
|
if (sub_8196094() == 0)
|
||||||
|
{
|
||||||
|
gUnknown_020375BC = 0;
|
||||||
|
DestroyTask(taskId);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
bool8 sub_8098238(u8 *str)
|
||||||
|
{
|
||||||
|
if (gUnknown_020375BC != 0)
|
||||||
|
return FALSE;
|
||||||
|
StringExpandPlaceholders(gStringVar4, str);
|
||||||
|
CreateTask(sub_8098214, 0);
|
||||||
|
sub_8196080(str);
|
||||||
|
gUnknown_020375BC = 2;
|
||||||
|
return TRUE;
|
||||||
|
}
|
||||||
|
|
||||||
|
bool8 ShowFieldAutoScrollMessage(u8 *str)
|
||||||
|
{
|
||||||
|
if (gUnknown_020375BC != 0)
|
||||||
|
return FALSE;
|
||||||
|
gUnknown_020375BC = 3;
|
||||||
|
textbox_fdecode_auto_and_task_add(str, 0);
|
||||||
|
return TRUE;
|
||||||
|
}
|
||||||
|
|
||||||
|
bool8 sub_80982A0(u8 *str)
|
||||||
|
{
|
||||||
|
gUnknown_020375BC = 3;
|
||||||
|
textbox_fdecode_auto_and_task_add(str, 1);
|
||||||
|
return TRUE;
|
||||||
|
}
|
||||||
|
|
||||||
|
bool8 sub_80982B8(void)
|
||||||
|
{
|
||||||
|
if (gUnknown_020375BC != 0)
|
||||||
|
return FALSE;
|
||||||
|
gUnknown_020375BC = 2;
|
||||||
|
textbox_auto_and_task_add();
|
||||||
|
return TRUE;
|
||||||
|
}
|
||||||
|
|
||||||
|
void textbox_fdecode_auto_and_task_add(u8* str, int a)
|
||||||
|
{
|
||||||
|
StringExpandPlaceholders(gStringVar4, str);
|
||||||
|
AddTextPrinterForMessage(a);
|
||||||
|
task_add_textbox();
|
||||||
|
}
|
||||||
|
|
||||||
|
void textbox_auto_and_task_add(void)
|
||||||
|
{
|
||||||
|
AddTextPrinterForMessage(1);
|
||||||
|
task_add_textbox();
|
||||||
|
}
|
||||||
|
|
||||||
|
void HideFieldMessageBox(void)
|
||||||
|
{
|
||||||
|
task_del_textbox();
|
||||||
|
sub_8197434(0, 1);
|
||||||
|
gUnknown_020375BC = 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
u8 textbox_any_visible(void)
|
||||||
|
{
|
||||||
|
return gUnknown_020375BC;
|
||||||
|
}
|
||||||
|
|
||||||
|
bool8 IsFieldMessageBoxHidden(void)
|
||||||
|
{
|
||||||
|
if (gUnknown_020375BC == 0)
|
||||||
|
return TRUE;
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
|
|
||||||
|
void sub_8098358(void)
|
||||||
|
{
|
||||||
|
task_del_textbox();
|
||||||
|
sub_81973FC(0, 1);
|
||||||
|
gUnknown_020375BC = 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
void sub_8098374(void)
|
||||||
|
{
|
||||||
|
task_del_textbox();
|
||||||
|
gUnknown_020375BC = 0;
|
||||||
|
}
|
@ -15,7 +15,7 @@
|
|||||||
#include "field_screen.h"
|
#include "field_screen.h"
|
||||||
#include "field_weather.h"
|
#include "field_weather.h"
|
||||||
#include "item.h"
|
#include "item.h"
|
||||||
#include "map_obj_8097404.h"
|
#include "field_map_obj_helpers.h"
|
||||||
#include "mail.h"
|
#include "mail.h"
|
||||||
#include "metatile_behavior.h"
|
#include "metatile_behavior.h"
|
||||||
#include "overworld.h"
|
#include "overworld.h"
|
||||||
|
303
src/mystery_event_menu.c
Normal file
303
src/mystery_event_menu.c
Normal file
@ -0,0 +1,303 @@
|
|||||||
|
#include "global.h"
|
||||||
|
#include "mystery_event_menu.h"
|
||||||
|
#include "link.h"
|
||||||
|
#include "main.h"
|
||||||
|
#include "menu.h"
|
||||||
|
#include "mystery_event_script.h"
|
||||||
|
#include "palette.h"
|
||||||
|
#include "save.h"
|
||||||
|
#include "constants/songs.h"
|
||||||
|
#include "sound.h"
|
||||||
|
#include "sprite.h"
|
||||||
|
#include "string_util.h"
|
||||||
|
#include "strings.h"
|
||||||
|
#include "task.h"
|
||||||
|
#include "text.h"
|
||||||
|
#include "bg.h"
|
||||||
|
#include "window.h"
|
||||||
|
#include "gpu_regs.h"
|
||||||
|
#include "text_window.h"
|
||||||
|
#include "new_menu_helpers.h"
|
||||||
|
#include "decompress.h"
|
||||||
|
|
||||||
|
// this file's functions
|
||||||
|
static void CB2_MysteryEventMenu(void);
|
||||||
|
static void PrintMysteryMenuText(u8 windowId, const u8 *text, u8 x, u8 y, s32 speed);
|
||||||
|
|
||||||
|
// EWRAM vars
|
||||||
|
static EWRAM_DATA u8 sUnknown_0203BCF8 = 0; // set but unused
|
||||||
|
|
||||||
|
// const rom data
|
||||||
|
static const struct BgTemplate sBgTemplates[] =
|
||||||
|
{
|
||||||
|
{
|
||||||
|
.bg = 0,
|
||||||
|
.charBaseIndex = 2,
|
||||||
|
.mapBaseIndex = 31,
|
||||||
|
.screenSize = 0,
|
||||||
|
.paletteMode = 0,
|
||||||
|
.priority = 0,
|
||||||
|
.baseTile = 0
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
static const struct WindowTemplate sWindowTemplates[] =
|
||||||
|
{
|
||||||
|
{0, 4, 15, 22, 4, 14, 20},
|
||||||
|
{0, 7, 6, 16, 4, 14, 0x6C},
|
||||||
|
DUMMY_WIN_TEMPLATE
|
||||||
|
};
|
||||||
|
|
||||||
|
// code
|
||||||
|
static void VBlankCB(void)
|
||||||
|
{
|
||||||
|
LoadOam();
|
||||||
|
ProcessSpriteCopyRequests();
|
||||||
|
TransferPlttBuffer();
|
||||||
|
}
|
||||||
|
|
||||||
|
static bool8 CheckLanguageMatch(void)
|
||||||
|
{
|
||||||
|
return (gLinkPlayers[0].language == gLinkPlayers[1].language);
|
||||||
|
}
|
||||||
|
|
||||||
|
void CB2_InitMysteryEventMenu(void)
|
||||||
|
{
|
||||||
|
ResetSpriteData();
|
||||||
|
FreeAllSpritePalettes();
|
||||||
|
ResetTasks();
|
||||||
|
SetVBlankCallback(VBlankCB);
|
||||||
|
ResetBgsAndClearDma3BusyFlags(0);
|
||||||
|
InitBgsFromTemplates(0, sBgTemplates, ARRAY_COUNT(sBgTemplates));
|
||||||
|
if (InitWindows(sWindowTemplates))
|
||||||
|
{
|
||||||
|
s32 i;
|
||||||
|
|
||||||
|
DeactivateAllTextPrinters();
|
||||||
|
for (i = 0; i < 2; i++)
|
||||||
|
FillWindowPixelBuffer(i, 0);
|
||||||
|
|
||||||
|
FillBgTilemapBufferRect_Palette0(0, 0, 0, 0, 0x1E, 0x14);
|
||||||
|
sub_809882C(0, 1u, 0xD0u);
|
||||||
|
sub_81978B0(0xE0);
|
||||||
|
SetGpuReg(REG_OFFSET_DISPCNT, DISPCNT_MODE_0 | DISPCNT_OBJ_1D_MAP | DISPCNT_BG0_ON);
|
||||||
|
SetGpuReg(REG_OFFSET_BLDCNT, 0);
|
||||||
|
CreateTask(Task_DestroySelf, 0);
|
||||||
|
StopMapMusic();
|
||||||
|
RunTasks();
|
||||||
|
AnimateSprites();
|
||||||
|
BuildOamBuffer();
|
||||||
|
RunTextPrinters();
|
||||||
|
UpdatePaletteFade();
|
||||||
|
FillPalette(0, 0, 2);
|
||||||
|
SetMainCallback2(CB2_MysteryEventMenu);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
static bool8 GetEventLoadMessage(u8 *dest, u32 status)
|
||||||
|
{
|
||||||
|
bool8 retVal = TRUE;
|
||||||
|
|
||||||
|
if (status == 0)
|
||||||
|
{
|
||||||
|
StringCopy(dest, gText_EventSafelyLoaded);
|
||||||
|
retVal = FALSE;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (status == 2)
|
||||||
|
retVal = FALSE;
|
||||||
|
|
||||||
|
if (status == 1)
|
||||||
|
StringCopy(dest, gText_LoadErrorEndingSession);
|
||||||
|
|
||||||
|
return retVal;
|
||||||
|
}
|
||||||
|
|
||||||
|
static void CB2_MysteryEventMenu(void)
|
||||||
|
{
|
||||||
|
switch (gMain.state)
|
||||||
|
{
|
||||||
|
case 0:
|
||||||
|
SetWindowBorderStyle(0, 1, 1, 0xD);
|
||||||
|
PutWindowTilemap(0);
|
||||||
|
CopyWindowToVram(0, 3);
|
||||||
|
ShowBg(0);
|
||||||
|
BeginNormalPaletteFade(-1, 0, 0x10, 0, 0);
|
||||||
|
gMain.state++;
|
||||||
|
break;
|
||||||
|
case 1:
|
||||||
|
if (!gPaletteFade.active)
|
||||||
|
{
|
||||||
|
PrintMysteryMenuText(0, gText_LinkStandby2, 1, 2, 1);
|
||||||
|
gMain.state++;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case 2:
|
||||||
|
if (!IsTextPrinterActive(0))
|
||||||
|
{
|
||||||
|
gMain.state++;
|
||||||
|
gLinkType = 21761;
|
||||||
|
OpenLink();
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case 3:
|
||||||
|
if ((gLinkStatus & 0x20) && (gLinkStatus & 0x1C) > 4)
|
||||||
|
{
|
||||||
|
PlaySE(SE_PIN);
|
||||||
|
PrintMysteryMenuText(0, gText_PressAToLoadEvent, 1, 2, 1);
|
||||||
|
gMain.state++;
|
||||||
|
}
|
||||||
|
if (gMain.newKeys & B_BUTTON)
|
||||||
|
{
|
||||||
|
PlaySE(SE_SELECT);
|
||||||
|
CloseLink();
|
||||||
|
gMain.state = 15;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case 4:
|
||||||
|
if (!IsTextPrinterActive(0))
|
||||||
|
gMain.state++;
|
||||||
|
break;
|
||||||
|
case 5:
|
||||||
|
if (GetLinkPlayerCount_2() == 2)
|
||||||
|
{
|
||||||
|
if (gMain.newKeys & A_BUTTON)
|
||||||
|
{
|
||||||
|
PlaySE(SE_SELECT);
|
||||||
|
sub_800A620();
|
||||||
|
SetWindowBorderStyle(1, 1, 1, 0xD);
|
||||||
|
PrintMysteryMenuText(1, gText_LoadingEvent, 1, 2, 0);
|
||||||
|
PutWindowTilemap(1);
|
||||||
|
CopyWindowToVram(1, 3);
|
||||||
|
gMain.state++;
|
||||||
|
}
|
||||||
|
else if (gMain.newKeys & B_BUTTON)
|
||||||
|
{
|
||||||
|
PlaySE(SE_SELECT);
|
||||||
|
CloseLink();
|
||||||
|
gMain.state = 15;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
GetEventLoadMessage(gStringVar4, 1);
|
||||||
|
PrintMysteryMenuText(0, gStringVar4, 1, 2, 1);
|
||||||
|
gMain.state = 13;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case 6:
|
||||||
|
if (IsLinkConnectionEstablished())
|
||||||
|
{
|
||||||
|
if (gReceivedRemoteLinkPlayers != 0)
|
||||||
|
{
|
||||||
|
if (sub_800A0C8(2, 2) == 3)
|
||||||
|
{
|
||||||
|
sub_800AC34();
|
||||||
|
GetEventLoadMessage(gStringVar4, 1);
|
||||||
|
PrintMysteryMenuText(0, gStringVar4, 1, 2, 1);
|
||||||
|
gMain.state = 13;
|
||||||
|
}
|
||||||
|
else if (CheckLanguageMatch())
|
||||||
|
{
|
||||||
|
PrintMysteryMenuText(0, gText_DontRemoveCableTurnOff, 1, 2, 1);
|
||||||
|
gMain.state++;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
CloseLink();
|
||||||
|
GetEventLoadMessage(gStringVar4, 1);
|
||||||
|
PrintMysteryMenuText(0, gStringVar4, 1, 2, 1);
|
||||||
|
gMain.state = 13;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else if (gMain.newKeys & B_BUTTON)
|
||||||
|
{
|
||||||
|
PlaySE(SE_SELECT);
|
||||||
|
CloseLink();
|
||||||
|
gMain.state = 15;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case 7:
|
||||||
|
if (!IsTextPrinterActive(0))
|
||||||
|
gMain.state++;
|
||||||
|
break;
|
||||||
|
case 8:
|
||||||
|
if (GetBlockReceivedStatus())
|
||||||
|
{
|
||||||
|
ResetBlockReceivedFlags();
|
||||||
|
gMain.state++;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case 9:
|
||||||
|
gMain.state++;
|
||||||
|
break;
|
||||||
|
case 10:
|
||||||
|
sub_800AC34();
|
||||||
|
gMain.state++;
|
||||||
|
break;
|
||||||
|
case 11:
|
||||||
|
if (gReceivedRemoteLinkPlayers == 0)
|
||||||
|
{
|
||||||
|
u16 unkVal = RunMysteryEventScript(gDecompressionBuffer);
|
||||||
|
CpuFill32(0, gDecompressionBuffer, 0x7D4);
|
||||||
|
if (!GetEventLoadMessage(gStringVar4, unkVal))
|
||||||
|
TrySavingData(NORMAL_SAVE);
|
||||||
|
gMain.state++;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case 12:
|
||||||
|
PrintMysteryMenuText(0, gStringVar4, 1, 2, 1);
|
||||||
|
gMain.state++;
|
||||||
|
break;
|
||||||
|
case 13:
|
||||||
|
if (!IsTextPrinterActive(0))
|
||||||
|
{
|
||||||
|
gMain.state++;
|
||||||
|
sUnknown_0203BCF8 = 0;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case 14:
|
||||||
|
if (gMain.newKeys & A_BUTTON)
|
||||||
|
{
|
||||||
|
PlaySE(SE_SELECT);
|
||||||
|
gMain.state++;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case 15:
|
||||||
|
BeginNormalPaletteFade(-1, 0, 0, 0x10, 0);
|
||||||
|
gMain.state++;
|
||||||
|
break;
|
||||||
|
case 16:
|
||||||
|
if (!gPaletteFade.active)
|
||||||
|
DoSoftReset();
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (gLinkStatus & 0x40 && !IsLinkMaster())
|
||||||
|
{
|
||||||
|
CloseLink();
|
||||||
|
GetEventLoadMessage(gStringVar4, 1);
|
||||||
|
PrintMysteryMenuText(0, gStringVar4, 1, 2, 1);
|
||||||
|
gMain.state = 13;
|
||||||
|
}
|
||||||
|
|
||||||
|
RunTasks();
|
||||||
|
AnimateSprites();
|
||||||
|
BuildOamBuffer();
|
||||||
|
RunTextPrinters();
|
||||||
|
UpdatePaletteFade();
|
||||||
|
}
|
||||||
|
|
||||||
|
static void PrintMysteryMenuText(u8 windowId, const u8 *text, u8 x, u8 y, s32 speed)
|
||||||
|
{
|
||||||
|
struct TextColor textColor;
|
||||||
|
u8 letterSpacing = 0;
|
||||||
|
u8 lineSpacing = 1;
|
||||||
|
textColor.fgColor = 1;
|
||||||
|
textColor.bgColor = 2;
|
||||||
|
textColor.shadowColor = 3;
|
||||||
|
|
||||||
|
FillWindowPixelBuffer(windowId, (textColor.fgColor) | (textColor.fgColor << 4));
|
||||||
|
AddTextPrinterParameterized2(windowId, 1, x, y, letterSpacing, lineSpacing, &textColor, speed, text);
|
||||||
|
}
|
@ -6,7 +6,7 @@
|
|||||||
#include "field_effect.h"
|
#include "field_effect.h"
|
||||||
#include "field_map_obj.h"
|
#include "field_map_obj.h"
|
||||||
#include "field_player_avatar.h"
|
#include "field_player_avatar.h"
|
||||||
#include "map_obj_8097404.h"
|
#include "field_map_obj_helpers.h"
|
||||||
#include "pokenav.h"
|
#include "pokenav.h"
|
||||||
#include "task.h"
|
#include "task.h"
|
||||||
#include "util.h"
|
#include "util.h"
|
||||||
@ -639,7 +639,7 @@ void sub_80B45D0(void)
|
|||||||
gApproachingTrainerId++;
|
gApproachingTrainerId++;
|
||||||
gSpecialVar_Result = 1;
|
gSpecialVar_Result = 1;
|
||||||
UnfreezeMapObjects();
|
UnfreezeMapObjects();
|
||||||
sub_80974D0(gApproachingTrainers[1].mapObjectId);
|
FreezeMapObjectsExceptOne(gApproachingTrainers[1].mapObjectId);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
@ -84,7 +84,7 @@ gUnknown_03003092: @ 3003092
|
|||||||
gUnknown_03003094: @ 3003094
|
gUnknown_03003094: @ 3003094
|
||||||
.space 0x4C
|
.space 0x4C
|
||||||
|
|
||||||
gUnknown_030030E0: @ 30030E0
|
gLinkStatus: @ 30030E0
|
||||||
.space 0x4
|
.space 0x4
|
||||||
|
|
||||||
gUnknown_030030E4: @ 30030E4
|
gUnknown_030030E4: @ 30030E4
|
||||||
|
@ -642,9 +642,9 @@ gUnknown_020375B6: @ 20375B6
|
|||||||
gUnknown_020375B8: @ 20375B8
|
gUnknown_020375B8: @ 20375B8
|
||||||
.space 0x4
|
.space 0x4
|
||||||
|
|
||||||
gUnknown_020375BC: @ 20375BC
|
.include "src/field_message_box.o"
|
||||||
.space 0x4
|
|
||||||
|
|
||||||
|
.align 2
|
||||||
gUnknown_020375C0: @ 20375C0
|
gUnknown_020375C0: @ 20375C0
|
||||||
.space 0x4
|
.space 0x4
|
||||||
|
|
||||||
@ -1270,9 +1270,7 @@ gUnknown_0203BCE8: @ 203BCE8
|
|||||||
gUnknown_0203BCF4: @ 203BCF4
|
gUnknown_0203BCF4: @ 203BCF4
|
||||||
.space 0x4
|
.space 0x4
|
||||||
|
|
||||||
gUnknown_0203BCF8: @ 203BCF8
|
.include "src/mystery_event_menu.o"
|
||||||
.space 0x4
|
|
||||||
|
|
||||||
.include "src/save_failed_screen.o"
|
.include "src/save_failed_screen.o"
|
||||||
|
|
||||||
gBraillePuzzleCallbackFlag: @ 203BD14
|
gBraillePuzzleCallbackFlag: @ 203BD14
|
||||||
|
Loading…
x
Reference in New Issue
Block a user