summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSeth Barberee <seth.barberee@gmail.com>2021-08-20 20:10:15 -0700
committerGitHub <noreply@github.com>2021-08-20 22:10:15 -0500
commit459171cf48157699e044b66b8274e500ecd5fe0d (patch)
treecd28cdf232047300d37ced34530d34c3bdf3298a
parentd9883945954a30e4b753ecbd5d807f4b6cd2a38a (diff)
Decomp most of friend_rescue (#49)
* decomp most of friend_rescue * dump corresponding data * more data dumping and name some personality test funcs * dump more text
-rw-r--r--asm/friend_rescue.s2614
-rw-r--r--data/data_80E2068.s610
-rw-r--r--include/friend_rescue.h14
-rw-r--r--include/personality_test.h10
-rw-r--r--src/friend_rescue.c8
-rw-r--r--src/friend_rescue_1.c1401
-rw-r--r--src/personality_test.c26
7 files changed, 1858 insertions, 2825 deletions
diff --git a/asm/friend_rescue.s b/asm/friend_rescue.s
index e76fedf..26e1e56 100644
--- a/asm/friend_rescue.s
+++ b/asm/friend_rescue.s
@@ -1911,2618 +1911,4 @@ _080338BC: .4byte gUnknown_80E4314
_080338C0: .4byte 0x00000101
thumb_func_end sub_8032828
- thumb_func_start sub_80338C4
-sub_80338C4:
- push {lr}
- ldr r1, _080338D8
- ldr r1, [r1]
- str r0, [r1]
- bl nullsub_40
- bl sub_8032828
- pop {r0}
- bx r0
- .align 2, 0
-_080338D8: .4byte gUnknown_203B33C
- thumb_func_end sub_80338C4
-
- thumb_func_start sub_80338DC
-sub_80338DC:
- push {lr}
- cmp r0, 0x10
- bls _080338E4
- b _080339BC
-_080338E4:
- lsls r0, 2
- ldr r1, _080338F0
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080338F0: .4byte _080338F4
- .align 2, 0
-_080338F4:
- .4byte _080339BC
- .4byte _08033998
- .4byte _08033940
- .4byte _08033938
- .4byte _08033948
- .4byte _08033998
- .4byte _08033950
- .4byte _08033958
- .4byte _08033960
- .4byte _08033968
- .4byte _08033970
- .4byte _08033978
- .4byte _08033980
- .4byte _08033990
- .4byte _08033998
- .4byte _080339B0
- .4byte _08033988
-_08033938:
- ldr r0, _0803393C
- b _0803399A
- .align 2, 0
-_0803393C: .4byte gUnknown_80E44A4
-_08033940:
- ldr r0, _08033944
- b _0803399A
- .align 2, 0
-_08033944: .4byte gUnknown_80E4500
-_08033948:
- ldr r0, _0803394C
- b _0803399A
- .align 2, 0
-_0803394C: .4byte gUnknown_80E4550
-_08033950:
- ldr r0, _08033954
- b _0803399A
- .align 2, 0
-_08033954: .4byte gUnknown_80E45B4
-_08033958:
- ldr r0, _0803395C
- b _0803399A
- .align 2, 0
-_0803395C: .4byte gUnknown_80E460C
-_08033960:
- ldr r0, _08033964
- b _0803399A
- .align 2, 0
-_08033964: .4byte gUnknown_80E4650
-_08033968:
- ldr r0, _0803396C
- b _0803399A
- .align 2, 0
-_0803396C: .4byte gUnknown_80E468C
-_08033970:
- ldr r0, _08033974
- b _0803399A
- .align 2, 0
-_08033974: .4byte gUnknown_80E46C8
-_08033978:
- ldr r0, _0803397C
- b _0803399A
- .align 2, 0
-_0803397C: .4byte gUnknown_80E4704
-_08033980:
- ldr r0, _08033984
- b _0803399A
- .align 2, 0
-_08033984: .4byte gUnknown_80E4744
-_08033988:
- ldr r0, _0803398C
- b _0803399A
- .align 2, 0
-_0803398C: .4byte gUnknown_80E4788
-_08033990:
- ldr r0, _08033994
- b _0803399A
- .align 2, 0
-_08033994: .4byte gUnknown_80E47D8
-_08033998:
- ldr r0, _080339A8
-_0803399A:
- ldr r3, _080339AC
- movs r1, 0
- movs r2, 0
- bl sub_80141B4
- b _080339BC
- .align 2, 0
-_080339A8: .4byte gUnknown_80E4480
-_080339AC: .4byte 0x00000101
-_080339B0:
- ldr r0, _080339C0
- ldr r3, _080339C4
- movs r1, 0
- movs r2, 0
- bl sub_80141B4
-_080339BC:
- pop {r0}
- bx r0
- .align 2, 0
-_080339C0: .4byte gUnknown_80E482C
-_080339C4: .4byte 0x00000101
- thumb_func_end sub_80338DC
-
- thumb_func_start sub_80339C8
-sub_80339C8:
- push {lr}
- sub sp, 0x4
- mov r0, sp
- bl sub_80144A4
- cmp r0, 0
- bne _08033A24
- ldr r0, _080339F4
- ldr r0, [r0]
- movs r1, 0xA7
- lsls r1, 3
- adds r0, r1
- ldr r1, _080339F8
- strh r1, [r0]
- ldr r0, [sp]
- cmp r0, 0x1
- beq _08033A0E
- cmp r0, 0x1
- bgt _080339FC
- cmp r0, 0
- beq _08033A06
- b _08033A24
- .align 2, 0
-_080339F4: .4byte gUnknown_203B33C
-_080339F8: .4byte 0x0000ffff
-_080339FC:
- cmp r0, 0x8
- beq _08033A1E
- cmp r0, 0x17
- beq _08033A16
- b _08033A24
-_08033A06:
- movs r0, 0x3
- bl sub_80338C4
- b _08033A24
-_08033A0E:
- movs r0, 0x4
- bl sub_80338C4
- b _08033A24
-_08033A16:
- movs r0, 0x78
- bl sub_80338C4
- b _08033A24
-_08033A1E:
- movs r0, 0x2
- bl sub_80338C4
-_08033A24:
- add sp, 0x4
- pop {r0}
- bx r0
- thumb_func_end sub_80339C8
-
- thumb_func_start sub_8033A2C
-sub_8033A2C:
- push {lr}
- sub sp, 0x4
- mov r0, sp
- bl sub_80144A4
- cmp r0, 0
- beq _08033A3C
- b _08033B86
-_08033A3C:
- ldr r2, _08033A58
- ldr r1, [r2]
- movs r0, 0x8
- str r0, [r1, 0x40]
- ldr r0, [sp]
- subs r0, 0x3
- cmp r0, 0x11
- bls _08033A4E
- b _08033B86
-_08033A4E:
- lsls r0, 2
- ldr r1, _08033A5C
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_08033A58: .4byte gUnknown_203B33C
-_08033A5C: .4byte _08033A60
- .align 2, 0
-_08033A60:
- .4byte _08033ACA
- .4byte _08033AEC
- .4byte _08033B86
- .4byte _08033B86
- .4byte _08033B86
- .4byte _08033B80
- .4byte _08033B86
- .4byte _08033B86
- .4byte _08033B86
- .4byte _08033B86
- .4byte _08033B86
- .4byte _08033B86
- .4byte _08033B86
- .4byte _08033B86
- .4byte _08033AA8
- .4byte _08033B14
- .4byte _08033B3E
- .4byte _08033B68
-_08033AA8:
- ldr r0, [r2]
- movs r1, 0x2
- str r1, [r0, 0x40]
- movs r1, 0xA5
- lsls r1, 3
- adds r0, r1
- movs r1, 0x11
- str r1, [r0]
- movs r0, 0x1
- bl sub_8095324
- cmp r0, 0
- beq _08033B0C
- movs r0, 0x31
- bl sub_80338C4
- b _08033B86
-_08033ACA:
- ldr r0, [r2]
- movs r1, 0x3
- str r1, [r0, 0x40]
- movs r2, 0xA5
- lsls r2, 3
- adds r0, r2
- str r1, [r0]
- bl sub_8095190
- movs r1, 0x1
- negs r1, r1
- cmp r0, r1
- bne _08033B36
- movs r0, 0xF
- bl sub_80338C4
- b _08033B86
-_08033AEC:
- ldr r0, [r2]
- movs r1, 0x4
- str r1, [r0, 0x40]
- movs r2, 0xA5
- lsls r2, 3
- adds r0, r2
- str r1, [r0]
- movs r0, 0x4
- bl sub_8095324
- cmp r0, 0
- beq _08033B0C
- movs r0, 0x1C
- bl sub_80338C4
- b _08033B86
-_08033B0C:
- movs r0, 0x22
- bl sub_80338C4
- b _08033B86
-_08033B14:
- ldr r0, [r2]
- movs r1, 0x5
- str r1, [r0, 0x40]
- movs r1, 0xA5
- lsls r1, 3
- adds r0, r1
- movs r1, 0x12
- str r1, [r0]
- movs r0, 0x5
- bl sub_8095324
- cmp r0, 0
- beq _08033B36
- movs r0, 0x3D
- bl sub_80338C4
- b _08033B86
-_08033B36:
- movs r0, 0xE
- bl sub_80338C4
- b _08033B86
-_08033B3E:
- ldr r0, [r2]
- movs r1, 0x6
- str r1, [r0, 0x40]
- movs r2, 0xA5
- lsls r2, 3
- adds r0, r2
- movs r1, 0x13
- str r1, [r0]
- movs r0, 0x5
- bl sub_8095324
- cmp r0, 0
- bne _08033B60
- movs r0, 0x51
- bl sub_80338C4
- b _08033B86
-_08033B60:
- movs r0, 0x5B
- bl sub_80338C4
- b _08033B86
-_08033B68:
- ldr r0, [r2]
- movs r1, 0x7
- str r1, [r0, 0x40]
- movs r1, 0xA5
- lsls r1, 3
- adds r0, r1
- movs r1, 0x14
- str r1, [r0]
- movs r0, 0x52
- bl sub_80338C4
- b _08033B86
-_08033B80:
- movs r0, 0x1
- bl sub_80338C4
-_08033B86:
- add sp, 0x4
- pop {r0}
- bx r0
- thumb_func_end sub_8033A2C
-
- thumb_func_start sub_8033B8C
-sub_8033B8C:
- push {lr}
- sub sp, 0x4
- mov r0, sp
- bl sub_80144A4
- cmp r0, 0
- bne _08033C4C
- ldr r2, [sp]
- cmp r2, 0xC
- bgt _08033BAA
- cmp r2, 0xB
- bge _08033BB0
- cmp r2, 0x8
- beq _08033C46
- b _08033C4C
-_08033BAA:
- cmp r2, 0xD
- beq _08033BF4
- b _08033C4C
-_08033BB0:
- ldr r0, _08033BD4
- ldr r0, [r0]
- ldr r1, _08033BD8
- adds r2, r0, r1
- movs r1, 0xB
- str r1, [r2]
- movs r3, 0xA5
- lsls r3, 3
- adds r0, r3
- ldr r0, [r0]
- cmp r0, 0x4
- beq _08033BEC
- cmp r0, 0x4
- bhi _08033BDC
- cmp r0, 0x3
- beq _08033BE4
- b _08033C4C
- .align 2, 0
-_08033BD4: .4byte gUnknown_203B33C
-_08033BD8: .4byte 0x00000524
-_08033BDC:
- cmp r0, 0x12
- bhi _08033C4C
- cmp r0, 0x11
- bcc _08033C4C
-_08033BE4:
- movs r0, 0x5
- bl sub_80338C4
- b _08033C4C
-_08033BEC:
- movs r0, 0x23
- bl sub_80338C4
- b _08033C4C
-_08033BF4:
- ldr r0, _08033C14
- ldr r0, [r0]
- ldr r3, _08033C18
- adds r1, r0, r3
- str r2, [r1]
- movs r1, 0xA5
- lsls r1, 3
- adds r0, r1
- ldr r0, [r0]
- cmp r0, 0x4
- beq _08033C3E
- cmp r0, 0x4
- bhi _08033C1C
- cmp r0, 0x3
- beq _08033C26
- b _08033C4C
- .align 2, 0
-_08033C14: .4byte gUnknown_203B33C
-_08033C18: .4byte 0x00000524
-_08033C1C:
- cmp r0, 0x11
- beq _08033C2E
- cmp r0, 0x12
- beq _08033C36
- b _08033C4C
-_08033C26:
- movs r0, 0x19
- bl sub_80338C4
- b _08033C4C
-_08033C2E:
- movs r0, 0x39
- bl sub_80338C4
- b _08033C4C
-_08033C36:
- movs r0, 0x43
- bl sub_80338C4
- b _08033C4C
-_08033C3E:
- movs r0, 0x2D
- bl sub_80338C4
- b _08033C4C
-_08033C46:
- movs r0, 0x1
- bl sub_80338C4
-_08033C4C:
- add sp, 0x4
- pop {r0}
- bx r0
- thumb_func_end sub_8033B8C
-
- thumb_func_start sub_8033C54
-sub_8033C54:
- push {lr}
- sub sp, 0x4
- mov r0, sp
- bl sub_80144A4
- cmp r0, 0
- bne _08033CA2
- ldr r0, [sp]
- cmp r0, 0x6
- beq _08033C6E
- cmp r0, 0x8
- beq _08033C9C
- b _08033CA2
-_08033C6E:
- ldr r0, _08033C88
- ldr r0, [r0]
- movs r1, 0xA5
- lsls r1, 3
- adds r0, r1
- ldr r0, [r0]
- cmp r0, 0x4
- beq _08033C94
- cmp r0, 0x4
- bhi _08033C8C
- cmp r0, 0x3
- beq _08033C94
- b _08033CA2
- .align 2, 0
-_08033C88: .4byte gUnknown_203B33C
-_08033C8C:
- cmp r0, 0x11
- beq _08033C94
- cmp r0, 0x12
- bne _08033CA2
-_08033C94:
- movs r0, 0xD
- bl sub_80338C4
- b _08033CA2
-_08033C9C:
- movs r0, 0x1
- bl sub_80338C4
-_08033CA2:
- add sp, 0x4
- pop {r0}
- bx r0
- thumb_func_end sub_8033C54
-
- thumb_func_start nullsub_41
-nullsub_41:
- bx lr
- thumb_func_end nullsub_41
-
- thumb_func_start sub_8033CAC
-sub_8033CAC:
- push {r4,lr}
- sub sp, 0x4
- mov r0, sp
- bl sub_80144A4
- cmp r0, 0
- bne _08033D40
- ldr r4, _08033CDC
- ldr r1, [r4]
- ldr r0, [r1, 0x44]
- cmp r0, 0
- bne _08033D36
- movs r2, 0xA5
- lsls r2, 3
- adds r0, r1, r2
- ldr r0, [r0]
- cmp r0, 0x4
- beq _08033D2E
- cmp r0, 0x4
- bhi _08033CE0
- cmp r0, 0x3
- beq _08033CEA
- b _08033D40
- .align 2, 0
-_08033CDC: .4byte gUnknown_203B33C
-_08033CE0:
- cmp r0, 0x11
- beq _08033CF2
- cmp r0, 0x12
- beq _08033CFA
- b _08033D40
-_08033CEA:
- movs r0, 0x16
- bl sub_80338C4
- b _08033D40
-_08033CF2:
- movs r0, 0x37
- bl sub_80338C4
- b _08033D40
-_08033CFA:
- bl sub_800D588
- lsls r0, 24
- cmp r0, 0
- beq _08033D12
- ldr r0, [r4]
- movs r1, 0xB4
- lsls r1, 1
- adds r0, r1
- movs r2, 0
- ldrsh r0, [r0, r2]
- b _08033D1A
-_08033D12:
- ldr r0, [r4]
- adds r0, 0xE0
- movs r1, 0
- ldrsh r0, [r0, r1]
-_08033D1A:
- cmp r0, 0
- beq _08033D26
- movs r0, 0x3F
- bl sub_80338C4
- b _08033D40
-_08033D26:
- movs r0, 0x40
- bl sub_80338C4
- b _08033D40
-_08033D2E:
- movs r0, 0x2B
- bl sub_80338C4
- b _08033D40
-_08033D36:
- bl sub_80338DC
- movs r0, 0x8
- bl sub_80338C4
-_08033D40:
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_8033CAC
-
- thumb_func_start sub_8033D48
-sub_8033D48:
- push {lr}
- sub sp, 0x4
- mov r0, sp
- bl sub_80144A4
- cmp r0, 0
- bne _08033D5C
- movs r0, 0x1
- bl sub_80338C4
-_08033D5C:
- add sp, 0x4
- pop {r0}
- bx r0
- thumb_func_end sub_8033D48
-
- thumb_func_start nullsub_42
-nullsub_42:
- bx lr
- thumb_func_end nullsub_42
-
- thumb_func_start nullsub_43
-nullsub_43:
- bx lr
- thumb_func_end nullsub_43
-
- thumb_func_start nullsub_44
-nullsub_44:
- bx lr
- thumb_func_end nullsub_44
-
- thumb_func_start nullsub_45
-nullsub_45:
- bx lr
- thumb_func_end nullsub_45
-
- thumb_func_start sub_8033D74
-sub_8033D74:
- push {lr}
- sub sp, 0x4
- mov r0, sp
- bl sub_80144A4
- cmp r0, 0
- bne _08033D8E
- movs r0, 0x17
- bl sub_80338C4
- movs r0, 0
- bl PrepareSavePakWrite
-_08033D8E:
- add sp, 0x4
- pop {r0}
- bx r0
- thumb_func_end sub_8033D74
-
- thumb_func_start sub_8033D94
-sub_8033D94:
- push {lr}
- sub sp, 0x4
- mov r0, sp
- bl sub_80144A4
- cmp r0, 0
- bne _08033DB6
- bl WriteSavePak
- lsls r0, 24
- cmp r0, 0
- bne _08033DB6
- bl FinishWriteSavePak
- movs r0, 0x18
- bl sub_80338C4
-_08033DB6:
- add sp, 0x4
- pop {r0}
- bx r0
- thumb_func_end sub_8033D94
-
- thumb_func_start sub_8033DBC
-sub_8033DBC:
- push {r4,lr}
- sub sp, 0x44
- bl sub_80154F0
- adds r4, r0, 0
- add r0, sp, 0x14
- movs r1, 0
- movs r2, 0x30
- bl MemoryFill8
- cmp r4, 0x2
- bne _08033DD6
- b _08033F38
-_08033DD6:
- cmp r4, 0x3
- beq _08033DDC
- b _08033F58
-_08033DDC:
- ldr r2, _08033DF4
- ldr r1, _08033DF8
- ldr r0, [r1]
- movs r3, 0xA5
- lsls r3, 3
- adds r0, r3
- ldr r0, [r0]
- cmp r0, 0x3
- beq _08033DFC
- cmp r0, 0x12
- beq _08033E00
- b _08033E02
- .align 2, 0
-_08033DF4: .4byte 0x0000ffdc
-_08033DF8: .4byte gUnknown_203B33C
-_08033DFC:
- movs r2, 0x1C
- b _08033E02
-_08033E00:
- movs r2, 0x1E
-_08033E02:
- ldr r1, [r1]
- adds r1, 0x8
- adds r0, r2, 0
- add r2, sp, 0x14
- bl sub_8039068
- subs r0, 0x7
- cmp r0, 0x11
- bls _08033E16
- b _08033F2E
-_08033E16:
- lsls r0, 2
- ldr r1, _08033E20
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_08033E20: .4byte _08033E24
- .align 2, 0
-_08033E24:
- .4byte _08033EA0
- .4byte _08033F2E
- .4byte _08033EE0
- .4byte _08033F2E
- .4byte _08033F2E
- .4byte _08033F2E
- .4byte _08033F2E
- .4byte _08033F2E
- .4byte _08033F2E
- .4byte _08033F2E
- .4byte _08033E6C
- .4byte _08033E98
- .4byte _08033ED8
- .4byte _08033F2E
- .4byte _08033F2E
- .4byte _08033EA8
- .4byte _08033EFC
- .4byte _08033F2E
-_08033E6C:
- ldr r0, _08033E90
- ldr r3, _08033E94
- movs r2, 0
- str r2, [sp]
- movs r1, 0x4
- str r1, [sp, 0x4]
- str r2, [sp, 0x8]
- str r2, [sp, 0xC]
- adds r1, 0xFD
- str r1, [sp, 0x10]
- movs r1, 0
- movs r2, 0x6
- bl sub_8014248
- movs r0, 0x1B
- bl sub_80338C4
- b _08033F2E
- .align 2, 0
-_08033E90: .4byte gUnknown_80E48A8
-_08033E94: .4byte gUnknown_80E2290
-_08033E98:
- ldr r0, _08033E9C
- b _08033EE2
- .align 2, 0
-_08033E9C: .4byte gUnknown_80E48E8
-_08033EA0:
- ldr r0, _08033EA4
- b _08033EE2
- .align 2, 0
-_08033EA4: .4byte gUnknown_80E460C
-_08033EA8:
- ldr r0, [sp, 0x24]
- bl sub_8095274
- add r1, sp, 0x14
- movs r0, 0x2
- strb r0, [r1]
- adds r0, r1, 0
- bl sub_80951BC
- ldr r0, _08033ED0
- ldr r3, _08033ED4
- movs r1, 0
- movs r2, 0
- bl sub_80141B4
- movs r0, 0x16
- bl sub_80338C4
- b _08033F2E
- .align 2, 0
-_08033ED0: .4byte gUnknown_80E4928
-_08033ED4: .4byte 0x00000101
-_08033ED8:
- ldr r0, _08033EDC
- b _08033EE2
- .align 2, 0
-_08033EDC: .4byte gUnknown_80E4964
-_08033EE0:
- ldr r0, _08033EF4
-_08033EE2:
- ldr r3, _08033EF8
- movs r1, 0
- movs r2, 0
- bl sub_80141B4
- movs r0, 0x8
- bl sub_80338C4
- b _08033F2E
- .align 2, 0
-_08033EF4: .4byte gUnknown_80E499C
-_08033EF8: .4byte 0x00000101
-_08033EFC:
- add r1, sp, 0x14
- movs r0, 0x5
- strb r0, [r1]
- adds r0, r1, 0
- bl sub_80951FC
- ldr r1, [sp, 0x24]
- movs r0, 0x1
- bl sub_809539C
- lsls r0, 24
- lsrs r0, 24
- bl sub_8095228
- movs r1, 0x7
- strb r1, [r0]
- ldr r0, _08033F34
- ldr r0, [r0]
- movs r1, 0
- movs r2, 0x5C
- bl MemoryFill8
- movs r0, 0x40
- bl sub_80338C4
-_08033F2E:
- bl sub_80155F0
- b _08033F58
- .align 2, 0
-_08033F34: .4byte gUnknown_203B484
-_08033F38:
- bl sub_80155F0
- bl ResetUnusedInputStruct
- ldr r0, _08033F60
- ldr r0, [r0]
- movs r1, 0xEF
- lsls r1, 2
- adds r0, r1
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- movs r0, 0x1
- bl sub_80338C4
-_08033F58:
- add sp, 0x44
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08033F60: .4byte gUnknown_203B33C
- thumb_func_end sub_8033DBC
-
- thumb_func_start sub_8033F64
-sub_8033F64:
- push {lr}
- sub sp, 0x4
- mov r0, sp
- bl sub_80144A4
- cmp r0, 0
- bne _08033FAE
- ldr r0, [sp]
- cmp r0, 0x6
- beq _08033F7E
- cmp r0, 0x8
- beq _08033FA8
- b _08033FAE
-_08033F7E:
- ldr r0, _08033F94
- ldr r0, [r0]
- movs r1, 0xA5
- lsls r1, 3
- adds r0, r1
- ldr r0, [r0]
- cmp r0, 0x3
- beq _08033F98
- cmp r0, 0x12
- beq _08033FA0
- b _08033FAE
- .align 2, 0
-_08033F94: .4byte gUnknown_203B33C
-_08033F98:
- movs r0, 0x19
- bl sub_80338C4
- b _08033FAE
-_08033FA0:
- movs r0, 0x43
- bl sub_80338C4
- b _08033FAE
-_08033FA8:
- movs r0, 0x1
- bl sub_80338C4
-_08033FAE:
- add sp, 0x4
- pop {r0}
- bx r0
- thumb_func_end sub_8033F64
-
- thumb_func_start sub_8033FB4
-sub_8033FB4:
- push {lr}
- sub sp, 0x4
- mov r0, sp
- bl sub_80144A4
- cmp r0, 0
- bne _08033FDE
- ldr r0, [sp]
- cmp r0, 0x6
- bne _08033FD0
- movs r0, 0xE
- bl sub_80338C4
- b _08033FDE
-_08033FD0:
- cmp r0, 0x6
- blt _08033FDE
- cmp r0, 0x8
- bgt _08033FDE
- movs r0, 0x1
- bl sub_80338C4
-_08033FDE:
- add sp, 0x4
- pop {r0}
- bx r0
- thumb_func_end sub_8033FB4
-
- thumb_func_start sub_8033FE4
-sub_8033FE4:
- push {r4,r5,lr}
- movs r0, 0x1
- bl sub_8030768
- cmp r0, 0x3
- beq _0803400C
- cmp r0, 0x3
- bhi _08033FFA
- cmp r0, 0x2
- beq _08034000
- b _0803406A
-_08033FFA:
- cmp r0, 0x4
- beq _08034028
- b _0803406A
-_08034000:
- bl sub_803084C
- movs r0, 0x1
- bl sub_80338C4
- b _0803406A
-_0803400C:
- bl sub_80307EC
- ldr r1, _08034024
- ldr r1, [r1]
- movs r2, 0x86
- lsls r2, 2
- adds r1, r2
- strb r0, [r1]
- movs r0, 0x1E
- bl sub_80338C4
- b _0803406A
- .align 2, 0
-_08034024: .4byte gUnknown_203B33C
-_08034028:
- ldr r4, _08034070
- ldr r1, [r4]
- movs r0, 0x1D
- str r0, [r1, 0x4]
- bl sub_80307EC
- ldr r1, [r4]
- movs r5, 0x86
- lsls r5, 2
- adds r1, r5
- strb r0, [r1]
- ldr r0, [r4]
- movs r1, 0xEF
- lsls r1, 2
- adds r0, r1
- bl sub_8006518
- bl ResetUnusedInputStruct
- movs r0, 0
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- ldr r0, [r4]
- adds r0, r5
- ldrb r0, [r0]
- movs r1, 0
- bl sub_8030D40
- movs r0, 0x1F
- bl sub_80338C4
-_0803406A:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08034070: .4byte gUnknown_203B33C
- thumb_func_end sub_8033FE4
-
- thumb_func_start sub_8034074
-sub_8034074:
- push {r4,lr}
- sub sp, 0x4
- movs r0, 0x1
- negs r0, r0
- str r0, [sp]
- movs r0, 0
- bl sub_8030768
- ldr r4, _080340B8
- ldr r0, [r4]
- movs r1, 0xC3
- lsls r1, 2
- adds r0, r1
- bl sub_8012FD8
- lsls r0, 24
- cmp r0, 0
- bne _080340A6
- ldr r0, [r4]
- movs r1, 0xC3
- lsls r1, 2
- adds r0, r1
- mov r1, sp
- bl sub_8013114
-_080340A6:
- ldr r0, [sp]
- cmp r0, 0x8
- beq _08034108
- cmp r0, 0x8
- bgt _080340BC
- cmp r0, 0x5
- beq _08034108
- b _08034124
- .align 2, 0
-_080340B8: .4byte gUnknown_203B33C
-_080340BC:
- cmp r0, 0x9
- beq _080340C6
- cmp r0, 0xA
- beq _080340D2
- b _08034124
-_080340C6:
- bl sub_803084C
- movs r0, 0x20
- bl sub_80338C4
- b _08034124
-_080340D2:
- ldr r0, [r4]
- movs r1, 0x7E
- str r1, [r0, 0x4]
- movs r1, 0xEF
- lsls r1, 2
- adds r0, r1
- bl sub_8006518
- bl ResetUnusedInputStruct
- movs r0, 0
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- ldr r0, [r4]
- movs r1, 0x86
- lsls r1, 2
- adds r0, r1
- ldrb r0, [r0]
- movs r1, 0
- bl sub_8030D40
- movs r0, 0x1F
- bl sub_80338C4
- b _08034124
-_08034108:
- ldr r0, _0803412C
- ldr r0, [r0]
- movs r1, 0xD7
- lsls r1, 2
- adds r0, r1
- movs r1, 0x2
- bl sub_8035CC0
- movs r0, 0x1
- bl sub_8030810
- movs r0, 0x1D
- bl sub_80338C4
-_08034124:
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0803412C: .4byte gUnknown_203B33C
- thumb_func_end sub_8034074
-
- thumb_func_start sub_8034130
-sub_8034130:
- push {r4,lr}
- bl sub_8030DA0
- cmp r0, 0x3
- bhi _08034184
- cmp r0, 0x2
- bcc _08034184
- bl sub_8030DE4
- bl ResetUnusedInputStruct
- ldr r4, _0803417C
- ldr r0, [r4]
- movs r1, 0xEF
- lsls r1, 2
- adds r0, r1
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- bl sub_803092C
- ldr r4, [r4]
- ldr r0, [r4, 0x4]
- cmp r0, 0x7E
- bne _08034180
- movs r1, 0x87
- lsls r1, 2
- adds r0, r4, r1
- movs r1, 0x3
- movs r2, 0x1
- bl sub_8035CF4
- movs r0, 0x1E
- bl sub_80338C4
- b _08034184
- .align 2, 0
-_0803417C: .4byte gUnknown_203B33C
-_08034180:
- bl sub_80338C4
-_08034184:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_8034130
-
- thumb_func_start sub_803418C
-sub_803418C:
- push {r4,r5,lr}
- movs r0, 0x1
- bl sub_8023A94
- cmp r0, 0x3
- beq _080341D0
- cmp r0, 0x3
- bhi _080341A2
- cmp r0, 0x2
- beq _080341A8
- b _08034248
-_080341A2:
- cmp r0, 0x4
- beq _08034204
- b _08034248
-_080341A8:
- bl sub_8023C60
- movs r0, 0x1
- bl sub_80338C4
- bl sub_8035D1C
- ldr r0, _080341C8
- ldr r0, [r0]
- movs r1, 0xA7
- lsls r1, 3
- adds r0, r1
- ldr r1, _080341CC
- strh r1, [r0]
- b _08034248
- .align 2, 0
-_080341C8: .4byte gUnknown_203B33C
-_080341CC: .4byte 0x0000ffff
-_080341D0:
- bl sub_8023B44
- ldr r1, _080341F4
- ldr r1, [r1]
- movs r3, 0xA7
- lsls r3, 3
- adds r2, r1, r3
- strh r0, [r2]
- ldr r0, _080341F8
- adds r1, r0
- ldr r0, [r1]
- cmp r0, 0xE
- bne _080341FC
- movs r0, 0x9
- bl sub_80338C4
- b _08034248
- .align 2, 0
-_080341F4: .4byte gUnknown_203B33C
-_080341F8: .4byte 0x00000524
-_080341FC:
- movs r0, 0x27
- bl sub_80338C4
- b _08034248
-_08034204:
- ldr r4, _08034250
- ldr r1, [r4]
- movs r0, 0x26
- str r0, [r1, 0x4]
- bl sub_8023B44
- adds r2, r0, 0
- ldr r0, [r4]
- movs r5, 0xA7
- lsls r5, 3
- adds r1, r0, r5
- strh r2, [r1]
- movs r1, 0xEF
- lsls r1, 2
- adds r0, r1
- bl sub_8006518
- bl ResetUnusedInputStruct
- movs r0, 0
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- ldr r0, [r4]
- adds r0, r5
- movs r3, 0
- ldrsh r0, [r0, r3]
- movs r1, 0
- bl sub_8024458
- movs r0, 0x28
- bl sub_80338C4
-_08034248:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08034250: .4byte gUnknown_203B33C
- thumb_func_end sub_803418C
-
- thumb_func_start sub_8034254
-sub_8034254:
- push {r4,lr}
- sub sp, 0x4
- movs r0, 0x1
- negs r0, r0
- str r0, [sp]
- movs r0, 0
- bl sub_8023A94
- ldr r4, _08034298
- ldr r0, [r4]
- movs r1, 0xC3
- lsls r1, 2
- adds r0, r1
- bl sub_8012FD8
- lsls r0, 24
- cmp r0, 0
- bne _08034286
- ldr r0, [r4]
- movs r1, 0xC3
- lsls r1, 2
- adds r0, r1
- mov r1, sp
- bl sub_8013114
-_08034286:
- ldr r0, [sp]
- cmp r0, 0x8
- beq _080342EA
- cmp r0, 0x8
- bgt _0803429C
- cmp r0, 0x5
- beq _080342EA
- b _08034304
- .align 2, 0
-_08034298: .4byte gUnknown_203B33C
-_0803429C:
- cmp r0, 0x9
- beq _080342A6
- cmp r0, 0xA
- beq _080342B2
- b _08034304
-_080342A6:
- bl sub_8023C60
- movs r0, 0x29
- bl sub_80338C4
- b _08034304
-_080342B2:
- ldr r0, [r4]
- movs r1, 0x7E
- str r1, [r0, 0x4]
- movs r1, 0xEF
- lsls r1, 2
- adds r0, r1
- bl sub_8006518
- bl ResetUnusedInputStruct
- movs r0, 0
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- ldr r0, [r4]
- movs r1, 0xA7
- lsls r1, 3
- adds r0, r1
- movs r1, 0
- ldrsh r0, [r0, r1]
- movs r1, 0
- bl sub_8024458
- movs r0, 0x28
- bl sub_80338C4
- b _08034304
-_080342EA:
- ldr r0, _0803430C
- ldr r0, [r0]
- movs r1, 0xD7
- lsls r1, 2
- adds r0, r1
- movs r1, 0x3
- bl sub_8035CC0
- bl sub_8023DA4
- movs r0, 0x26
- bl sub_80338C4
-_08034304:
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0803430C: .4byte gUnknown_203B33C
- thumb_func_end sub_8034254
-
- thumb_func_start sub_8034310
-sub_8034310:
- push {r4,lr}
- bl sub_80244E4
- cmp r0, 0x1
- bne _08034320
- bl sub_802452C
- b _08034370
-_08034320:
- cmp r0, 0x1
- bcc _08034370
- cmp r0, 0x3
- bhi _08034370
- bl sub_802453C
- bl ResetUnusedInputStruct
- ldr r4, _08034368
- ldr r0, [r4]
- movs r1, 0xEF
- lsls r1, 2
- adds r0, r1
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- movs r0, 0x1
- bl sub_8023B7C
- ldr r4, [r4]
- ldr r0, [r4, 0x4]
- cmp r0, 0x7E
- bne _0803436C
- movs r1, 0x87
- lsls r1, 2
- adds r0, r4, r1
- movs r1, 0x3
- movs r2, 0x1
- bl sub_8035CF4
- movs r0, 0x27
- bl sub_80338C4
- b _08034370
- .align 2, 0
-_08034368: .4byte gUnknown_203B33C
-_0803436C:
- bl sub_80338C4
-_08034370:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_8034310
-
- thumb_func_start sub_8034378
-sub_8034378:
- push {lr}
- sub sp, 0x4
- mov r0, sp
- bl sub_80144A4
- cmp r0, 0
- bne _080343BE
- ldr r0, [sp]
- cmp r0, 0x8
- beq _080343B8
- cmp r0, 0x10
- bne _080343BE
- ldr r0, _080343A8
- ldr r0, [r0]
- ldr r1, _080343AC
- adds r0, r1
- ldr r0, [r0]
- cmp r0, 0xE
- bne _080343B0
- movs r0, 0x9
- bl sub_80338C4
- b _080343BE
- .align 2, 0
-_080343A8: .4byte gUnknown_203B33C
-_080343AC: .4byte 0x00000524
-_080343B0:
- movs r0, 0x5
- bl sub_80338C4
- b _080343BE
-_080343B8:
- movs r0, 0x1
- bl sub_80338C4
-_080343BE:
- add sp, 0x4
- pop {r0}
- bx r0
- thumb_func_end sub_8034378
-
- thumb_func_start sub_80343C4
-sub_80343C4:
- push {lr}
- sub sp, 0x4
- mov r0, sp
- bl sub_80144A4
- cmp r0, 0
- bne _080343FE
- ldr r0, [sp]
- cmp r0, 0x7
- beq _080343F0
- cmp r0, 0x7
- bgt _080343E2
- cmp r0, 0x6
- beq _080343E8
- b _080343FE
-_080343E2:
- cmp r0, 0x8
- beq _080343F8
- b _080343FE
-_080343E8:
- movs r0, 0x5
- bl sub_80338C4
- b _080343FE
-_080343F0:
- movs r0, 0x25
- bl sub_80338C4
- b _080343FE
-_080343F8:
- movs r0, 0x1
- bl sub_80338C4
-_080343FE:
- add sp, 0x4
- pop {r0}
- bx r0
- thumb_func_end sub_80343C4
-
- thumb_func_start sub_8034404
-sub_8034404:
- push {lr}
- sub sp, 0x4
- mov r0, sp
- bl sub_80144A4
- cmp r0, 0
- bne _08034472
- ldr r0, [sp]
- cmp r0, 0xF
- beq _08034428
- cmp r0, 0xF
- bgt _08034422
- cmp r0, 0x8
- beq _0803446C
- b _08034472
-_08034422:
- cmp r0, 0x10
- beq _08034444
- b _08034472
-_08034428:
- movs r0, 0x3
- bl sub_8024108
- lsls r0, 24
- cmp r0, 0
- beq _0803443C
- movs r0, 0x24
- bl sub_80338C4
- b _08034472
-_0803443C:
- movs r0, 0x25
- bl sub_80338C4
- b _08034472
-_08034444:
- ldr r0, _0803445C
- ldr r0, [r0]
- ldr r1, _08034460
- adds r0, r1
- ldr r0, [r0]
- cmp r0, 0xE
- bne _08034464
- movs r0, 0x9
- bl sub_80338C4
- b _08034472
- .align 2, 0
-_0803445C: .4byte gUnknown_203B33C
-_08034460: .4byte 0x00000524
-_08034464:
- movs r0, 0x5
- bl sub_80338C4
- b _08034472
-_0803446C:
- movs r0, 0x1
- bl sub_80338C4
-_08034472:
- add sp, 0x4
- pop {r0}
- bx r0
- thumb_func_end sub_8034404
-
- thumb_func_start sub_8034478
-sub_8034478:
- push {lr}
- sub sp, 0x4
- mov r0, sp
- bl sub_80144A4
- cmp r0, 0
- bne _0803449A
- bl WriteSavePak
- lsls r0, 24
- cmp r0, 0
- bne _0803449A
- bl FinishWriteSavePak
- movs r0, 0x2
- bl sub_80338C4
-_0803449A:
- add sp, 0x4
- pop {r0}
- bx r0
- thumb_func_end sub_8034478
-
- thumb_func_start sub_80344A0
-sub_80344A0:
- push {lr}
- sub sp, 0x4
- mov r0, sp
- bl sub_80144A4
- cmp r0, 0
- bne _080344BA
- movs r0, 0x2C
- bl sub_80338C4
- movs r0, 0
- bl PrepareSavePakWrite
-_080344BA:
- add sp, 0x4
- pop {r0}
- bx r0
- thumb_func_end sub_80344A0
-
- thumb_func_start sub_80344C0
-sub_80344C0:
- push {lr}
- bl sub_8031DCC
- cmp r0, 0x1
- beq _080344F8
- cmp r0, 0x1
- bcc _080344FC
- cmp r0, 0x3
- bhi _080344FC
- bl sub_8031E10
- bl ResetUnusedInputStruct
- ldr r0, _080344F4
- ldr r0, [r0]
- movs r1, 0xEF
- lsls r1, 2
- adds r0, r1
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- movs r0, 0x2F
- bl sub_80338C4
- b _080344FC
- .align 2, 0
-_080344F4: .4byte gUnknown_203B33C
-_080344F8:
- bl sub_8031E00
-_080344FC:
- pop {r0}
- bx r0
- thumb_func_end sub_80344C0
-
- thumb_func_start sub_8034500
-sub_8034500:
- push {r4,r5,lr}
- movs r0, 0x1
- bl sub_8030768
- cmp r0, 0x3
- beq _08034528
- cmp r0, 0x3
- bhi _08034516
- cmp r0, 0x2
- beq _0803451C
- b _08034586
-_08034516:
- cmp r0, 0x4
- beq _08034544
- b _08034586
-_0803451C:
- bl sub_803084C
- movs r0, 0x1
- bl sub_80338C4
- b _08034586
-_08034528:
- bl sub_80307EC
- ldr r1, _08034540
- ldr r1, [r1]
- movs r2, 0x86
- lsls r2, 2
- adds r1, r2
- strb r0, [r1]
- movs r0, 0x33
- bl sub_80338C4
- b _08034586
- .align 2, 0
-_08034540: .4byte gUnknown_203B33C
-_08034544:
- ldr r4, _0803458C
- ldr r1, [r4]
- movs r0, 0x32
- str r0, [r1, 0x4]
- bl sub_80307EC
- ldr r1, [r4]
- movs r5, 0x86
- lsls r5, 2
- adds r1, r5
- strb r0, [r1]
- ldr r0, [r4]
- movs r1, 0xEF
- lsls r1, 2
- adds r0, r1
- bl sub_8006518
- bl ResetUnusedInputStruct
- movs r0, 0
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- ldr r0, [r4]
- adds r0, r5
- ldrb r0, [r0]
- movs r1, 0
- bl sub_8030D40
- movs r0, 0x34
- bl sub_80338C4
-_08034586:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0803458C: .4byte gUnknown_203B33C
- thumb_func_end sub_8034500
-
- thumb_func_start sub_8034590
-sub_8034590:
- push {r4,lr}
- sub sp, 0x4
- movs r0, 0x1
- negs r0, r0
- str r0, [sp]
- movs r0, 0
- bl sub_8030768
- ldr r4, _080345D4
- ldr r0, [r4]
- movs r1, 0xC3
- lsls r1, 2
- adds r0, r1
- bl sub_8012FD8
- lsls r0, 24
- cmp r0, 0
- bne _080345C2
- ldr r0, [r4]
- movs r1, 0xC3
- lsls r1, 2
- adds r0, r1
- mov r1, sp
- bl sub_8013114
-_080345C2:
- ldr r0, [sp]
- cmp r0, 0x8
- beq _08034624
- cmp r0, 0x8
- bgt _080345D8
- cmp r0, 0x5
- beq _08034624
- b _08034640
- .align 2, 0
-_080345D4: .4byte gUnknown_203B33C
-_080345D8:
- cmp r0, 0x9
- beq _080345E2
- cmp r0, 0xA
- beq _080345EE
- b _08034640
-_080345E2:
- bl sub_803084C
- movs r0, 0x35
- bl sub_80338C4
- b _08034640
-_080345EE:
- ldr r0, [r4]
- movs r1, 0x7E
- str r1, [r0, 0x4]
- movs r1, 0xEF
- lsls r1, 2
- adds r0, r1
- bl sub_8006518
- bl ResetUnusedInputStruct
- movs r0, 0
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- ldr r0, [r4]
- movs r1, 0x86
- lsls r1, 2
- adds r0, r1
- ldrb r0, [r0]
- movs r1, 0
- bl sub_8030D40
- movs r0, 0x34
- bl sub_80338C4
- b _08034640
-_08034624:
- ldr r0, _08034648
- ldr r0, [r0]
- movs r1, 0xD7
- lsls r1, 2
- adds r0, r1
- movs r1, 0x2
- bl sub_8035CC0
- movs r0, 0x1
- bl sub_8030810
- movs r0, 0x32
- bl sub_80338C4
-_08034640:
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08034648: .4byte gUnknown_203B33C
- thumb_func_end sub_8034590
-
- thumb_func_start sub_803464C
-sub_803464C:
- push {r4,lr}
- bl sub_8030DA0
- cmp r0, 0x3
- bhi _080346A0
- cmp r0, 0x2
- bcc _080346A0
- bl sub_8030DE4
- bl ResetUnusedInputStruct
- ldr r4, _08034698
- ldr r0, [r4]
- movs r1, 0xEF
- lsls r1, 2
- adds r0, r1
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- bl sub_803092C
- ldr r4, [r4]
- ldr r0, [r4, 0x4]
- cmp r0, 0x7E
- bne _0803469C
- movs r1, 0x87
- lsls r1, 2
- adds r0, r4, r1
- movs r1, 0x3
- movs r2, 0x1
- bl sub_8035CF4
- movs r0, 0x33
- bl sub_80338C4
- b _080346A0
- .align 2, 0
-_08034698: .4byte gUnknown_203B33C
-_0803469C:
- bl sub_80338C4
-_080346A0:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_803464C
-
- thumb_func_start sub_80346A8
-sub_80346A8:
- push {lr}
- sub sp, 0x4
- mov r0, sp
- bl sub_80144A4
- cmp r0, 0
- bne _080346D2
- ldr r0, [sp]
- cmp r0, 0x6
- bne _080346C4
- movs r0, 0xE
- bl sub_80338C4
- b _080346D2
-_080346C4:
- cmp r0, 0x6
- blt _080346D2
- cmp r0, 0x8
- bgt _080346D2
- movs r0, 0x1
- bl sub_80338C4
-_080346D2:
- add sp, 0x4
- pop {r0}
- bx r0
- thumb_func_end sub_80346A8
-
- thumb_func_start sub_80346D8
-sub_80346D8:
- push {lr}
- sub sp, 0x4
- mov r0, sp
- bl sub_80144A4
- cmp r0, 0
- bne _080346FA
- bl WriteSavePak
- lsls r0, 24
- cmp r0, 0
- bne _080346FA
- bl FinishWriteSavePak
- movs r0, 0x2
- bl sub_80338C4
-_080346FA:
- add sp, 0x4
- pop {r0}
- bx r0
- thumb_func_end sub_80346D8
-
- thumb_func_start sub_8034700
-sub_8034700:
- push {lr}
- sub sp, 0x4
- mov r0, sp
- bl sub_80144A4
- cmp r0, 0
- bne _0803471A
- movs r0, 0x38
- bl sub_80338C4
- movs r0, 0
- bl PrepareSavePakWrite
-_0803471A:
- add sp, 0x4
- pop {r0}
- bx r0
- thumb_func_end sub_8034700
-
- thumb_func_start sub_8034720
-sub_8034720:
- push {lr}
- sub sp, 0x4
- mov r0, sp
- bl sub_80144A4
- cmp r0, 0
- bne _08034734
- movs r0, 0x3A
- bl sub_80338C4
-_08034734:
- add sp, 0x4
- pop {r0}
- bx r0
- thumb_func_end sub_8034720
-
- thumb_func_start sub_803473C
-sub_803473C:
- push {lr}
- bl sub_8031DCC
- cmp r0, 0x1
- beq _08034774
- cmp r0, 0x1
- bcc _08034778
- cmp r0, 0x3
- bhi _08034778
- bl sub_8031E10
- bl ResetUnusedInputStruct
- ldr r0, _08034770
- ldr r0, [r0]
- movs r1, 0xEF
- lsls r1, 2
- adds r0, r1
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- movs r0, 0x3B
- bl sub_80338C4
- b _08034778
- .align 2, 0
-_08034770: .4byte gUnknown_203B33C
-_08034774:
- bl sub_8031E00
-_08034778:
- pop {r0}
- bx r0
- thumb_func_end sub_803473C
-
- thumb_func_start sub_803477C
-sub_803477C:
- push {lr}
- sub sp, 0x4
- mov r0, sp
- bl sub_80144A4
- cmp r0, 0
- bne _080347A6
- ldr r0, [sp]
- cmp r0, 0x6
- bne _08034798
- movs r0, 0xE
- bl sub_80338C4
- b _080347A6
-_08034798:
- cmp r0, 0x6
- blt _080347A6
- cmp r0, 0x8
- bgt _080347A6
- movs r0, 0x1
- bl sub_80338C4
-_080347A6:
- add sp, 0x4
- pop {r0}
- bx r0
- thumb_func_end sub_803477C
-
- thumb_func_start sub_80347AC
-sub_80347AC:
- push {lr}
- sub sp, 0x4
- mov r0, sp
- bl sub_80144A4
- cmp r0, 0
- bne _080347C0
- movs r0, 0xD
- bl sub_80338C4
-_080347C0:
- add sp, 0x4
- pop {r0}
- bx r0
- thumb_func_end sub_80347AC
-
- thumb_func_start sub_80347C8
-sub_80347C8:
- push {lr}
- sub sp, 0x4
- mov r0, sp
- bl sub_80144A4
- cmp r0, 0
- bne _080347DC
- movs r0, 0x40
- bl sub_80338C4
-_080347DC:
- add sp, 0x4
- pop {r0}
- bx r0
- thumb_func_end sub_80347C8
-
- thumb_func_start sub_80347E4
-sub_80347E4:
- push {lr}
- sub sp, 0x4
- mov r0, sp
- bl sub_80144A4
- cmp r0, 0
- bne _080347FE
- movs r0, 0x41
- bl sub_80338C4
- movs r0, 0
- bl PrepareSavePakWrite
-_080347FE:
- add sp, 0x4
- pop {r0}
- bx r0
- thumb_func_end sub_80347E4
-
- thumb_func_start sub_8034804
-sub_8034804:
- push {lr}
- sub sp, 0x4
- mov r0, sp
- bl sub_80144A4
- cmp r0, 0
- bne _08034826
- bl WriteSavePak
- lsls r0, 24
- cmp r0, 0
- bne _08034826
- bl FinishWriteSavePak
- movs r0, 0x42
- bl sub_80338C4
-_08034826:
- add sp, 0x4
- pop {r0}
- bx r0
- thumb_func_end sub_8034804
-
- thumb_func_start sub_803482C
-sub_803482C:
- push {lr}
- sub sp, 0x4
- mov r0, sp
- bl sub_80144A4
- cmp r0, 0
- bne _08034840
- movs r0, 0x1
- bl sub_80338C4
-_08034840:
- add sp, 0x4
- pop {r0}
- bx r0
- thumb_func_end sub_803482C
-
- thumb_func_start sub_8034848
-sub_8034848:
- push {r4-r6,lr}
- sub sp, 0x4
- mov r0, sp
- bl sub_80144A4
- adds r6, r0, 0
- cmp r6, 0
- bne _080348BA
- ldr r4, _0803489C
- ldr r0, [r4]
- ldr r5, _080348A0
- adds r0, r5
- movs r1, 0
- movs r2, 0x4
- bl MemoryFill8
- ldr r0, [r4]
- ldr r1, _080348A4
- adds r0, r1
- strb r6, [r0]
- ldr r0, [r4]
- subs r1, 0x1
- adds r0, r1
- movs r1, 0x1
- strb r1, [r0]
- ldr r0, [r4]
- adds r0, r5
- strb r6, [r0]
- ldr r4, [r4]
- ldr r0, [r4, 0x44]
- cmp r0, 0
- bne _080348B0
- ldr r4, [r4, 0x40]
- cmp r4, 0x6
- beq _080348A8
- cmp r4, 0x7
- bne _080348BA
- movs r0, 0x6D
- bl sub_80338C4
- b _080348BA
- .align 2, 0
-_0803489C: .4byte gUnknown_203B33C
-_080348A0: .4byte 0x0000041c
-_080348A4: .4byte 0x0000041e
-_080348A8:
- movs r0, 0x50
- bl sub_80338C4
- b _080348BA
-_080348B0:
- bl sub_80338DC
- movs r0, 0x6B
- bl sub_80338C4
-_080348BA:
- add sp, 0x4
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_8034848
-
- thumb_func_start sub_80348C4
-sub_80348C4:
- push {r4-r6,lr}
- sub sp, 0x4
- mov r0, sp
- bl sub_80144A4
- adds r6, r0, 0
- cmp r6, 0
- bne _08034968
- ldr r4, _08034910
- ldr r0, [r4]
- ldr r5, _08034914
- adds r0, r5
- movs r1, 0
- movs r2, 0x4
- bl MemoryFill8
- ldr r0, [r4]
- ldr r1, _08034918
- adds r0, r1
- strb r6, [r0]
- ldr r0, [r4]
- subs r1, 0x1
- adds r0, r1
- movs r1, 0x1
- strb r1, [r0]
- ldr r0, [r4]
- adds r0, r5
- strb r6, [r0]
- ldr r0, [r4]
- ldr r1, [r0, 0x44]
- cmp r1, 0
- bne _0803495C
- ldr r1, [r0, 0x40]
- cmp r1, 0x6
- beq _0803491C
- cmp r1, 0x7
- beq _08034954
- b _08034968
- .align 2, 0
-_08034910: .4byte gUnknown_203B33C
-_08034914: .4byte 0x0000041c
-_08034918: .4byte 0x0000041e
-_0803491C:
- ldr r1, _08034930
- adds r0, r1
- ldr r0, [r0]
- cmp r0, 0xC
- beq _08034944
- cmp r0, 0xC
- bhi _08034934
- cmp r0, 0xB
- beq _08034938
- b _08034944
- .align 2, 0
-_08034930: .4byte 0x00000524
-_08034934:
- cmp r0, 0xE
- bhi _08034944
-_08034938:
- ldr r0, _0803494C
- ldr r3, _08034950
- movs r1, 0
- movs r2, 0
- bl sub_80141B4
-_08034944:
- movs r0, 0x77
- bl sub_80338C4
- b _08034968
- .align 2, 0
-_0803494C: .4byte gUnknown_80E31FC
-_08034950: .4byte 0x00000101
-_08034954:
- movs r0, 0x6D
- bl sub_80338C4
- b _08034968
-_0803495C:
- adds r0, r1, 0
- bl sub_80338DC
- movs r0, 0x6B
- bl sub_80338C4
-_08034968:
- add sp, 0x4
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_80348C4
-
- thumb_func_start sub_8034970
-sub_8034970:
- push {lr}
- bl sub_8031DCC
- cmp r0, 0x1
- beq _080349A8
- cmp r0, 0x1
- bcc _080349AC
- cmp r0, 0x3
- bhi _080349AC
- bl sub_8031E10
- bl ResetUnusedInputStruct
- ldr r0, _080349A4
- ldr r0, [r0]
- movs r1, 0xEF
- lsls r1, 2
- adds r0, r1
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- movs r0, 0x68
- bl sub_80338C4
- b _080349AC
- .align 2, 0
-_080349A4: .4byte gUnknown_203B33C
-_080349A8:
- bl sub_8031E00
-_080349AC:
- pop {r0}
- bx r0
- thumb_func_end sub_8034970
-
- thumb_func_start sub_80349B0
-sub_80349B0:
- push {lr}
- sub sp, 0x4
- mov r0, sp
- bl sub_80144A4
- cmp r0, 0
- bne _080349DA
- ldr r0, [sp]
- cmp r0, 0x6
- bne _080349CC
- movs r0, 0x52
- bl sub_80338C4
- b _080349DA
-_080349CC:
- cmp r0, 0x6
- blt _080349DA
- cmp r0, 0x8
- bgt _080349DA
- movs r0, 0x1
- bl sub_80338C4
-_080349DA:
- add sp, 0x4
- pop {r0}
- bx r0
- thumb_func_end sub_80349B0
-
- thumb_func_start sub_80349E0
-sub_80349E0:
- push {r4,r5,lr}
- movs r0, 0x1
- bl sub_8030768
- cmp r0, 0x3
- beq _08034A08
- cmp r0, 0x3
- bhi _080349F6
- cmp r0, 0x2
- beq _080349FC
- b _08034A66
-_080349F6:
- cmp r0, 0x4
- beq _08034A24
- b _08034A66
-_080349FC:
- bl sub_803084C
- movs r0, 0x1
- bl sub_80338C4
- b _08034A66
-_08034A08:
- bl sub_80307EC
- ldr r1, _08034A20
- ldr r1, [r1]
- movs r2, 0x86
- lsls r2, 2
- adds r1, r2
- strb r0, [r1]
- movs r0, 0x5D
- bl sub_80338C4
- b _08034A66
- .align 2, 0
-_08034A20: .4byte gUnknown_203B33C
-_08034A24:
- ldr r4, _08034A6C
- ldr r1, [r4]
- movs r0, 0x5C
- str r0, [r1, 0x4]
- bl sub_80307EC
- ldr r1, [r4]
- movs r5, 0x86
- lsls r5, 2
- adds r1, r5
- strb r0, [r1]
- ldr r0, [r4]
- movs r1, 0xEF
- lsls r1, 2
- adds r0, r1
- bl sub_8006518
- bl ResetUnusedInputStruct
- movs r0, 0
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- ldr r0, [r4]
- adds r0, r5
- ldrb r0, [r0]
- movs r1, 0
- bl sub_8030D40
- movs r0, 0x5E
- bl sub_80338C4
-_08034A66:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08034A6C: .4byte gUnknown_203B33C
- thumb_func_end sub_80349E0
-
- thumb_func_start sub_8034A70
-sub_8034A70:
- push {r4,lr}
- sub sp, 0x4
- movs r0, 0x1
- negs r0, r0
- str r0, [sp]
- movs r0, 0
- bl sub_8030768
- ldr r4, _08034AB4
- ldr r0, [r4]
- movs r1, 0xC3
- lsls r1, 2
- adds r0, r1
- bl sub_8012FD8
- lsls r0, 24
- cmp r0, 0
- bne _08034AA2
- ldr r0, [r4]
- movs r1, 0xC3
- lsls r1, 2
- adds r0, r1
- mov r1, sp
- bl sub_8013114
-_08034AA2:
- ldr r0, [sp]
- cmp r0, 0x8
- beq _08034B04
- cmp r0, 0x8
- bgt _08034AB8
- cmp r0, 0x5
- beq _08034B04
- b _08034B20
- .align 2, 0
-_08034AB4: .4byte gUnknown_203B33C
-_08034AB8:
- cmp r0, 0x9
- beq _08034AC2
- cmp r0, 0xA
- beq _08034ACE
- b _08034B20
-_08034AC2:
- bl sub_803084C
- movs r0, 0x5A
- bl sub_80338C4
- b _08034B20
-_08034ACE:
- ldr r0, [r4]
- movs r1, 0x7E
- str r1, [r0, 0x4]
- movs r1, 0xEF
- lsls r1, 2
- adds r0, r1
- bl sub_8006518
- bl ResetUnusedInputStruct
- movs r0, 0
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- ldr r0, [r4]
- movs r1, 0x86
- lsls r1, 2
- adds r0, r1
- ldrb r0, [r0]
- movs r1, 0
- bl sub_8030D40
- movs r0, 0x5E
- bl sub_80338C4
- b _08034B20
-_08034B04:
- ldr r0, _08034B28
- ldr r0, [r0]
- movs r1, 0xD7
- lsls r1, 2
- adds r0, r1
- movs r1, 0x2
- bl sub_8035CC0
- movs r0, 0x1
- bl sub_8030810
- movs r0, 0x5C
- bl sub_80338C4
-_08034B20:
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08034B28: .4byte gUnknown_203B33C
- thumb_func_end sub_8034A70
-
- thumb_func_start sub_8034B2C
-sub_8034B2C:
- push {r4,lr}
- bl sub_8030DA0
- cmp r0, 0x3
- bhi _08034B80
- cmp r0, 0x2
- bcc _08034B80
- bl sub_8030DE4
- bl ResetUnusedInputStruct
- ldr r4, _08034B78
- ldr r0, [r4]
- movs r1, 0xEF
- lsls r1, 2
- adds r0, r1
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- bl sub_803092C
- ldr r4, [r4]
- ldr r0, [r4, 0x4]
- cmp r0, 0x7E
- bne _08034B7C
- movs r1, 0x87
- lsls r1, 2
- adds r0, r4, r1
- movs r1, 0x3
- movs r2, 0x1
- bl sub_8035CF4
- movs r0, 0x5D
- bl sub_80338C4
- b _08034B80
- .align 2, 0
-_08034B78: .4byte gUnknown_203B33C
-_08034B7C:
- bl sub_80338C4
-_08034B80:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_8034B2C
-
- thumb_func_start sub_8034B88
-sub_8034B88:
- push {r4-r6,lr}
- ldr r4, _08034BBC
- ldr r0, [r4]
- ldr r5, _08034BC0
- adds r0, r5
- movs r2, 0
- strb r2, [r0]
- ldr r0, [r4]
- ldr r1, _08034BC4
- adds r0, r1
- movs r1, 0x1
- strb r1, [r0]
- ldr r0, [r4]
- ldr r6, _08034BC8
- adds r0, r6
- strb r2, [r0]
- movs r0, 0x1
- bl sub_801CA08
- cmp r0, 0x3
- beq _08034BDE
- cmp r0, 0x3
- bhi _08034BCC
- cmp r0, 0x2
- beq _08034BD2
- b _08034C30
- .align 2, 0
-_08034BBC: .4byte gUnknown_203B33C
-_08034BC0: .4byte 0x0000041e
-_08034BC4: .4byte 0x0000041d
-_08034BC8: .4byte 0x0000041c
-_08034BCC:
- cmp r0, 0x4
- beq _08034BF8
- b _08034C30
-_08034BD2:
- bl sub_801CBB8
- movs r0, 0x1
- bl sub_80338C4
- b _08034C30
-_08034BDE:
- bl sub_801CB24
- ldr r1, [r4]
- ldr r2, _08034BF4
- adds r1, r2
- strb r0, [r1]
- movs r0, 0x60
- bl sub_80338C4
- b _08034C30
- .align 2, 0
-_08034BF4: .4byte 0x0000041e
-_08034BF8:
- ldr r1, [r4]
- movs r0, 0x5F
- str r0, [r1, 0x4]
- bl sub_801CB24
- ldr r1, [r4]
- adds r1, r5
- strb r0, [r1]
- ldr r0, [r4]
- movs r1, 0xEF
- lsls r1, 2
- adds r0, r1
- bl sub_8006518
- bl ResetUnusedInputStruct
- movs r0, 0
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- ldr r0, [r4]
- adds r0, r6
- bl sub_801B3C0
- movs r0, 0x61
- bl sub_80338C4
-_08034C30:
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_8034B88
-
- thumb_func_start sub_8034C38
-sub_8034C38:
- push {r4,lr}
- bl sub_801B410
- cmp r0, 0x1
- beq _08034C90
- cmp r0, 0x1
- bcc _08034C90
- cmp r0, 0x3
- bhi _08034C90
- bl sub_801B450
- bl ResetUnusedInputStruct
- ldr r4, _08034C88
- ldr r0, [r4]
- movs r1, 0xEF
- lsls r1, 2
- adds r0, r1
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- movs r0, 0x1
- bl sub_801CB5C
- ldr r4, [r4]
- ldr r0, [r4, 0x4]
- cmp r0, 0x7E
- bne _08034C8C
- movs r1, 0x87
- lsls r1, 2
- adds r0, r4, r1
- movs r1, 0x3
- movs r2, 0x1
- bl sub_8035CF4
- movs r0, 0x60
- bl sub_80338C4
- b _08034C90
- .align 2, 0
-_08034C88: .4byte gUnknown_203B33C
-_08034C8C:
- bl sub_80338C4
-_08034C90:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_8034C38
-
- thumb_func_start sub_8034C98
-sub_8034C98:
- push {r4,lr}
- sub sp, 0x4
- movs r0, 0x1
- negs r0, r0
- str r0, [sp]
- movs r0, 0
- bl sub_801CA08
- ldr r4, _08034CDC
- ldr r0, [r4]
- movs r1, 0xC3
- lsls r1, 2
- adds r0, r1
- bl sub_8012FD8
- lsls r0, 24
- cmp r0, 0
- bne _08034CCA
- ldr r0, [r4]
- movs r1, 0xC3
- lsls r1, 2
- adds r0, r1
- mov r1, sp
- bl sub_8013114
-_08034CCA:
- ldr r0, [sp]
- cmp r0, 0x8
- beq _08034D2C
- cmp r0, 0x8
- bgt _08034CE0
- cmp r0, 0x5
- beq _08034D2C
- b _08034D48
- .align 2, 0
-_08034CDC: .4byte gUnknown_203B33C
-_08034CE0:
- cmp r0, 0x9
- beq _08034CEA
- cmp r0, 0xA
- beq _08034CF6
- b _08034D48
-_08034CEA:
- bl sub_801CBB8
- movs r0, 0x58
- bl sub_80338C4
- b _08034D48
-_08034CF6:
- ldr r0, [r4]
- movs r1, 0x7E
- str r1, [r0, 0x4]
- movs r1, 0xEF
- lsls r1, 2
- adds r0, r1
- bl sub_8006518
- bl ResetUnusedInputStruct
- movs r0, 0
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- ldr r0, [r4]
- ldr r1, _08034D28
- adds r0, r1
- bl sub_801B3C0
- movs r0, 0x61
- bl sub_80338C4
- b _08034D48
- .align 2, 0
-_08034D28: .4byte 0x0000041c
-_08034D2C:
- ldr r0, _08034D50
- ldr r0, [r0]
- movs r1, 0xD7
- lsls r1, 2
- adds r0, r1
- movs r1, 0x3
- bl sub_8035CC0
- movs r0, 0x1
- bl sub_801CB5C
- movs r0, 0x5F
- bl sub_80338C4
-_08034D48:
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08034D50: .4byte gUnknown_203B33C
- thumb_func_end sub_8034C98
-
.align 2,0
diff --git a/data/data_80E2068.s b/data/data_80E2068.s
index d7a494a..0b0aa2c 100644
--- a/data/data_80E2068.s
+++ b/data/data_80E2068.s
@@ -2,7 +2,6 @@
.global gUnknown_80E2068
gUnknown_80E2068: @ 80E2068
-@ replacing .incbin "baserom.gba", 0x000e2068, 0x50
.4byte GoRescue_80E20AC
.byte 0x00, 0x00, 0x00, 0x00
.4byte GetHelp_80E20A0
@@ -36,7 +35,6 @@ gUnknown_80E2068: @ 80E2068
.global gUnknown_80E20B8
gUnknown_80E20B8: @ 80E20B8
-@ replacing .incbin "baserom.gba", 0x000e20b8, 0x28
.4byte GoRescue_80E20AC
.byte 0x00, 0x00, 0x00, 0x00
.4byte GetHelp_80E20A0
@@ -50,7 +48,6 @@ gUnknown_80E20B8: @ 80E20B8
.global gUnknown_80E20E0
gUnknown_80E20E0: @ 80E20E0
-@ replacing .incbin "baserom.gba", 0x000e20e0, 0x28
.4byte GoRescue_80E20AC
.byte 0xff, 0xff, 0xff, 0xff
.4byte GetHelp_80E20A0
@@ -64,7 +61,6 @@ gUnknown_80E20E0: @ 80E20E0
.global gUnknown_80E2108
gUnknown_80E2108: @ 80E2108
-@ replacing .incbin "baserom.gba", 0x000e2108, 0x28
.4byte GoRescue_80E20AC
.byte 0xff, 0xff, 0xff, 0xff
.4byte GetHelp_80E20A0
@@ -79,7 +75,6 @@ gUnknown_80E2108: @ 80E2108
.global gUnknown_80E2130
gUnknown_80E2130: @ 80E2130
@ Friend Resuce Pelipper Menu
-@ replacing .incbin "baserom.gba", 0x000e2130, 0x60
.4byte ReceiveSOSMail_80E217C
.byte 0x03, 0x00, 0x00, 0x00
.4byte SendAOKMail_80E216C
@@ -108,7 +103,6 @@ gUnknown_80E2130: @ 80E2130
.global gUnknown_80E2190
gUnknown_80E2190: @ 80E2190
-@ replacing .incbin "baserom.gba", 0x000e2190, 0x28
.4byte ReceiveSOSMail_80E217C
.byte 0x03, 0x00, 0x00, 0x00
.4byte SendAOKMail_80E216C
@@ -122,7 +116,6 @@ gUnknown_80E2190: @ 80E2190
.global gUnknown_80E21B8
gUnknown_80E21B8: @ 80E21B8
-@ replacing .incbin "baserom.gba", 0x000e21b8, 0x60
.4byte SendSOS_80E2208
.byte 0x11, 0x00, 0x00, 0x00
.4byte ReceiveAOK_80E21F4
@@ -151,7 +144,6 @@ gUnknown_80E21B8: @ 80E21B8
.global gUnknown_80E2218
gUnknown_80E2218: @ 80E2218
-@ replacing .incbin "baserom.gba", 0x000e2218, 0x28
.4byte SendSOS_80E2208
.byte 0xff, 0xff, 0xff, 0xff
.4byte ReceiveAOK_80E21F4
@@ -165,7 +157,6 @@ gUnknown_80E2218: @ 80E2218
.global gUnknown_80E2240
gUnknown_80E2240: @ 80E2240
-@ replacing .incbin "baserom.gba", 0x000e2240, 0x28
.4byte SendSOS_80E2208
.byte 0x11, 0x00, 0x00, 0x00
.4byte ReceiveAOK_80E21F4
@@ -179,7 +170,6 @@ gUnknown_80E2240: @ 80E2240
.global gUnknown_80E2268
gUnknown_80E2268: @ 80E2268
-@ replacing .incbin "baserom.gba", 0x000e2268, 0x28
.4byte SendSOS_80E2208
.byte 0xff, 0xff, 0xff, 0xff
.4byte ReceiveAOK_80E21F4
@@ -193,7 +183,6 @@ gUnknown_80E2268: @ 80E2268
.global gUnknown_80E2290
gUnknown_80E2290: @ 80E2290
-@ replacing .incbin "baserom.gba", 0x000e2290, 0x24
.4byte Yes_80E22B0
.byte 0x06, 0x00, 0x00, 0x00
.4byte Cancel_80E22A8
@@ -213,7 +202,6 @@ gUnknown_80E2290: @ 80E2290
.global gUnknown_80E22B4
gUnknown_80E22B4: @ 80E22B4
-@ replacing .incbin "baserom.gba", 0x000e22b4, 0x1c
.4byte Yes_80E22B0
.byte 0x06, 0x00, 0x00, 0x00
.4byte No_80E22CC
@@ -228,7 +216,6 @@ gUnknown_80E22B4: @ 80E22B4
.global gUnknown_80E22D0
gUnknown_80E22D0: @ 80E22D0
-@ replacing .incbin "baserom.gba", 0x000e22d0, 0x20
.4byte Yes_80E22B0
.byte 0x06, 0x00, 0x00, 0x00
.4byte No_80E22CC
@@ -240,7 +227,6 @@ gUnknown_80E22D0: @ 80E22D0
.global gUnknown_80E22F0
gUnknown_80E22F0: @ 80E22F0
-@ replacing .incbin "baserom.gba", 0x000e22f0, 0x2c
.4byte SendPokemon_80E2308
.byte 0x10, 0x00, 0x00, 0x00
.4byte Cancel_80E22A8
@@ -306,7 +292,6 @@ gUnknown_80E236C: @ 80E236C
.global gUnknown_80E23A8
gUnknown_80E23A8: @ 80E23A8
-@ replacing .incbin "baserom.gba", 0x000e23a8, 0x48
.4byte SendPokemon_80E23E0
.byte 0x0f, 0x00, 0x00, 0x00
.4byte DontSendPokemon_80E23C8
@@ -328,7 +313,6 @@ gUnknown_80E23A8: @ 80E23A8
.global gUnknown_80E23F0
gUnknown_80E23F0: @ 80E23F0
- @ replacing .incbin "baserom.gba", 0x000e23f0, 0x18
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x03, 0x00, 0x00, 0x00
.byte 0x15, 0x00, 0x04, 0x00
@@ -338,7 +322,6 @@ gUnknown_80E23F0: @ 80E23F0
.global gUnknown_80E2408
gUnknown_80E2408: @ 80E2408
- @ replacing .incbin "baserom.gba", 0x000e2408, 0x38
.4byte Confirm_80E2364
.byte 0x09, 0x00, 0x00, 0x00
.4byte Info_80E2098
@@ -357,7 +340,6 @@ gUnknown_80E2408: @ 80E2408
.global gUnknown_80E2440
gUnknown_80E2440: @ 80E2440
- @ replacing .incbin "baserom.gba", 0x000e2440, 0x18
.4byte Yes_80E22B0
.byte 0x06, 0x00, 0x00, 0x00
.4byte Cancel_80E22A8
@@ -367,7 +349,6 @@ gUnknown_80E2440: @ 80E2440
.global gUnknown_80E2458
gUnknown_80E2458: @ 80E2458
- @ replacing .incbin "baserom.gba", 0x000e2458, 0x18
.4byte Yes_80E22B0
.byte 0x06, 0x00, 0x00, 0x00
.4byte No_80E22CC
@@ -377,38 +358,113 @@ gUnknown_80E2458: @ 80E2458
.global gUnknown_80E2470
gUnknown_80E2470: @ 80E2470
- @ replacing .incbin "baserom.gba", 0x000e2470, 0x40
- .byte 0xa4, 0x24, 0x0e, 0x08
+ .4byte SendItem_80E24A4
.byte 0x15, 0x00, 0x00, 0x00
- .byte 0x90, 0x24, 0x0e, 0x08
+ .4byte DontSendItem_80E2490
.byte 0x16, 0x00, 0x00, 0x00
- .byte 0xa8, 0x22, 0x0e, 0x08
+ .4byte Cancel_80E22A8
.byte 0x08, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x08, 0x00, 0x00, 0x00
- .byte 0x44, 0x6f, 0x6e, 0x7e, 0x32, 0x37, 0x74, 0x20, 0x53, 0x65, 0x6e, 0x64, 0x20, 0x49, 0x74, 0x65, 0x6d, 0x00, 0x00, 0x00
- .byte 0x53, 0x65, 0x6e, 0x64, 0x20, 0x49, 0x74, 0x65, 0x6d, 0x00, 0x00, 0x00
+
+ DontSendItem_80E2490:
+ .string "Don~27t Send Item\0"
+ .align 2,0
+ SendItem_80E24A4:
+ .string "Send Item\0"
+ .align 2,0
.global gUnknown_80E24B0
gUnknown_80E24B0: @ 80E24B0
- .incbin "baserom.gba", 0xE24B0, 0x28
+ .4byte SendwoItem_80E24C8
+ .byte 0x16, 0x00, 0x00, 0x00
+ .4byte Cancel_80E22A8
+ .byte 0x08, 0x00, 0x00, 0x00
+ .byte 0x00, 0x00, 0x00, 0x00
+ .byte 0x08, 0x00, 0x00, 0x00
+
+ SendwoItem_80E24C8:
+ .string "Send w/o Item\0"
+ .align 2,0
.global gUnknown_80E24D8
gUnknown_80E24D8: @ 80E24D8
- .incbin "baserom.gba", 0xE24D8, 0x20
+ .4byte Yes_80E22B0
+ .byte 0x06, 0x00, 0x00, 0x00
+ .4byte No_80E22CC
+ .byte 0x07, 0x00, 0x00, 0x00
+ .4byte Cancel_80E22A8
+ .byte 0x08, 0x00, 0x00, 0x00
+ .byte 0x00, 0x00, 0x00, 0x00
+ .byte 0x08, 0x00, 0x00, 0x00
.global gUnknown_80E24F8
gUnknown_80E24F8: @ 80E24F8
- .incbin "baserom.gba", 0xE24F8, 0x5C
+ .4byte RescueInfo_80E2540
+ .byte 0x1A, 0x00, 0x00, 0x00
+ .4byte GoRescue_80E530
+ .byte 0x1B, 0x00, 0x00, 0x00
+ .4byte GetHelp_80E2520
+ .byte 0x1C, 0x00, 0x00, 0x00
+ .4byte Cancel_80E22A8
+ .byte 0x19, 0x00, 0x00, 0x00
+ .byte 0x00, 0x00, 0x00, 0x00
+ .byte 0x19, 0x00, 0x00, 0x00
+
+ GetHelp_80E2520:
+ .string "#C6Get help#R \0"
+ .align 2,0
+ GoRescue_80E530:
+ .string "#C6Go rescue#R \0"
+ .align 2,0
+ RescueInfo_80E2540:
+ .string "Friend Rescue Info\0"
+ .align 2,0
.global gUnknown_80E2554
gUnknown_80E2554: @ 80E2554
- .incbin "baserom.gba", 0xE2554, 0x60
+ .4byte RescueProcedures_80E25A0
+ .byte 0x1E, 0x00, 0x00, 0x00
+ .4byte ReceiveSOSMail_80E217C
+ .byte 0x1F, 0x00, 0x00, 0x00
+ .4byte LeaveForRescue_80E258C
+ .byte 0x20, 0x00, 0x00, 0x00
+ .4byte SendAOKMail_80E216C
+ .byte 0x21, 0x00, 0x00, 0x00
+ .4byte GetThankYouMail_80E2158
+ .byte 0x22, 0x00, 0x00, 0x00
+ .4byte Exit_80E2090
+ .byte 0x19, 0x00, 0x00, 0x00
+ .byte 0x00, 0x00, 0x00, 0x00
+ .byte 0x19, 0x00, 0x00, 0x00
+
+ LeaveForRescue_80E258C:
+ .string "Leave for Rescue\0"
+ .align 2,0
+
+ RescueProcedures_80E25A0:
+ .string "Rescue Procedures\0"
+ .align 2,0
.global gUnknown_80E25B4
gUnknown_80E25B4: @ 80E25B4
- .incbin "baserom.gba", 0xE25B4, 0x40
+ .4byte GettingHelp_80E25E4
+ .byte 0x23, 0x00, 0x00, 0x00
+ .4byte SendSOS_80E2208
+ .byte 0x24, 0x00, 0x00, 0x00
+ .4byte ReceiveAOK_80E21F4
+ .byte 0x25, 0x00, 0x00, 0x00
+ .4byte SendThankYou_80E21E0
+ .byte 0x26, 0x00, 0x00, 0x00
+ .4byte Exit_80E2090
+ .byte 0x19, 0x00, 0x00, 0x00
+ .byte 0x00, 0x00, 0x00, 0x00
+ .byte 0x19, 0x00, 0x00, 0x00
+
+ GettingHelp_80E25E4:
+ .string "Getting Help\0"
+ .align 2,0
.global gUnknown_80E25F4
gUnknown_80E25F4: @ 80E25F4
@@ -417,71 +473,104 @@ gUnknown_80E25F4: @ 80E25F4
.global gUnknown_80E2610
gUnknown_80E2610: @ 80E2610
- .incbin "baserom.gba", 0xE2610, 0x30
+ .string "How would you like to send your\n"
+ .string "#CGSOS Mail#R?\0"
+ .align 2,0
.global gUnknown_80E2640
gUnknown_80E2640: @ 80E2640
- .incbin "baserom.gba", 0xE2640, 0x40
+ .string "How would you like to receive your\n"
+ .string "friend~27s #CGSOS Mail#R?\0"
+ .align 2,0
.global gUnknown_80E2680
gUnknown_80E2680: @ 80E2680
- .incbin "baserom.gba", 0xE2680, 0x30
+ .string "How would you like to send your\n"
+ .string "#CGA-OK Mail#R?\0"
+ .align 2,0
.global gUnknown_80E26B0
gUnknown_80E26B0: @ 80E26B0
- .incbin "baserom.gba", 0xE26B0, 0x40
+ .string "How would you like to receive your\n"
+ .string "friend~27s #CGA-OK Mail#R?\0"
+ .align 2,0
.global gUnknown_80E26F0
gUnknown_80E26F0: @ 80E26F0
- .incbin "baserom.gba", 0xE26F0, 0x38
+ .string "How would you like to send your\n"
+ .string "#CGThank-You Mail#R?\0"
+ .align 2,0
.global gUnknown_80E2728
gUnknown_80E2728: @ 80E2728
- .incbin "baserom.gba", 0xE2728, 0x44
+ .string "How would you like to receive your\n"
+ .string "friend~27s #CGThank-You Mail#R?\0"
+ .align 2,0
.global gUnknown_80E276C
gUnknown_80E276C: @ 80E276C
- .incbin "baserom.gba", 0xE276C, 0x38
+ .string "The GBA Game Pak does not have\n"
+ .string "an #CGA-OK Mail#R on it.\0"
+ .align 2,0
.global gUnknown_80E27A4
gUnknown_80E27A4: @ 80E27A4
- .incbin "baserom.gba", 0xE27A4, 0x70
+ .string "If you accept an #CGA-OK Mail#R~2c the\n"
+ .string "#CGThank-You Mail#R you received before\n"
+ .string "will be overwritten. Is that OK?\0"
+ .align 2,0
.global gUnknown_80E2814
gUnknown_80E2814: @ 80E2814
- .incbin "baserom.gba", 0xE2814, 0x2C
+ .string "Please enter the #CGA-OK Mail password#R.\0"
+ .align 2,0
.global gUnknown_80E2840
gUnknown_80E2840: @ 80E2840
- .incbin "baserom.gba", 0xE2840, 0x34
+ .string "The #CGA-OK Mail#R will be received and\n"
+ .string "processed.\0"
+ .align 2,0
.global gUnknown_80E2874
gUnknown_80E2874: @ 80E2874
- .incbin "baserom.gba", 0xE2874, 0x24
+ .string "A #CGhelper Pokémon#R also arrived!\0"
+ .align 2,0
.global gUnknown_80E2898
gUnknown_80E2898: @ 80E2898
- .incbin "baserom.gba", 0xE2898, 0x40
+ .string "An #CGA-OK Mail#R was received.\n"
+ .string "Your adventure will be saved.\0"
+ .align 2,0
.global gUnknown_80E28D8
gUnknown_80E28D8: @ 80E28D8
- .incbin "baserom.gba", 0xE28D8, 0x2C
+ .string "Resume your game using #CGRevive Team#R.\0"
+ .align 2,0
.global gUnknown_80E2904
gUnknown_80E2904: @ 80E2904
- .incbin "baserom.gba", 0xE2904, 0x68
+ .string "Your friend~27s Mailbox is full.\n"
+ .string "This piece of mail cannot be sent.\n"
+ .string "The recipient must delete old mail.\0"
+ .align 2,0
.global gUnknown_80E296C
gUnknown_80E296C: @ 80E296C
- .incbin "baserom.gba", 0xE296C, 0x34
+ .string "Please choose the #CGSOS Mail#R you want\n"
+ .string "to send.\0"
+ .align 2,0
.global gUnknown_80E29A0
gUnknown_80E29A0: @ 80E29A0
- .incbin "baserom.gba", 0xE29A0, 0x30
+ .string "This #CGSOS Mail#R will be sent.\n"
+ .string "Is that OK?\0"
+ .align 2,0
.global gUnknown_80E29D0
gUnknown_80E29D0: @ 80E29D0
- .incbin "baserom.gba", 0xE29D0, 0x3C
+ .string "Your #CGSOS Mail#R was sent.\n"
+ .string "Your adventure will be saved.\0"
+ .align 2,0
.global gUnknown_80E2A0C
gUnknown_80E2A0C: @ 80E2A0C
@@ -490,7 +579,9 @@ gUnknown_80E2A0C: @ 80E2A0C
.global gUnknown_80E2A1C
gUnknown_80E2A1C: @ 80E2A1C
- .incbin "baserom.gba", 0xE2A1C, 0x40
+ .string "Please give this password to the friend\n"
+ .string "coming to your rescue.\0"
+ .align 2,0
.global gUnknown_80E2A5C
gUnknown_80E2A5C: @ 80E2A5C
@@ -504,43 +595,65 @@ gUnknown_80E2A80: @ 80E2A80
.global gUnknown_80E2AA8
gUnknown_80E2AA8: @ 80E2AA8
- .incbin "baserom.gba", 0xE2AA8, 0x3C
+.string "Please give this password to the friend\n"
+.string "that you rescued.\0"
+.align 2,0
.global gUnknown_80E2AE4
gUnknown_80E2AE4: @ 80E2AE4
- .incbin "baserom.gba", 0xE2AE4, 0x70
+.string "Please connect a #CGLink Cable#R.\n"
+.string "When your friend~27s side is ready~2c you may\n"
+.string "communicate and exchange data.\0"
+.align 2,0
.global gUnknown_80E2B54
gUnknown_80E2B54: @ 80E2B54
- .incbin "baserom.gba", 0xE2B54, 0x3C
+.string "Your #CGA-OK Mail#R was sent.\n"
+.string "Your adventure will be saved.\0"
+.align 2,0
.global gUnknown_80E2B90
gUnknown_80E2B90: @ 80E2B90
- .incbin "baserom.gba", 0xE2B90, 0x50
+.string "Using a #CGGame Link cable#R~2c\n"
+.string "you can send a #CGhelper Pokémon#R to\n"
+.string "a friend.\0"
+.align 2,0
.global gUnknown_80E2BE0
gUnknown_80E2BE0: @ 80E2BE0
- .incbin "baserom.gba", 0xE2BE0, 0x68
+.string "Your own Pokémon will not disappear\n"
+.string "if you send it as a helper.\n"
+.string "Will you send a helper to your friend?\0"
+.align 2,0
.global gUnknown_80E2C48
gUnknown_80E2C48: @ 80E2C48
- .incbin "baserom.gba", 0xE2C48, 0x4C
+.string "Pick the Pokémon to be sent as a helper.\n"
+.string "(Any hold item will not be sent.)\0"
+.align 2,0
.global gUnknown_80E2C94
gUnknown_80E2C94: @ 80E2C94
- .incbin "baserom.gba", 0xE2C94, 0x40
+.string "No Pokémon are in your Friend Areas.\n"
+.string "What would you like to do?\0"
+.align 2,0
.global gUnknown_80E2CD4
gUnknown_80E2CD4: @ 80E2CD4
- .incbin "baserom.gba", 0xE2CD4, 0x14
+.string "Is this Pokémon OK?\0"
+.align 2,0
.global gUnknown_80E2CE8
gUnknown_80E2CE8: @ 80E2CE8
- .incbin "baserom.gba", 0xE2CE8, 0x48
+.string "Please choose the #CGA-OK Mail#R that should\n"
+.string "be sent to your friend.\0"
+.align 2,0
.global gUnknown_80E2D30
gUnknown_80E2D30: @ 80E2D30
- .incbin "baserom.gba", 0xE2D30, 0x30
+.string "This #CGA-OK Mail#R will be sent.\n"
+.string "Is that OK?\0"
+.align 2,0
.global gUnknown_80E2D60
gUnknown_80E2D60: @ 80E2D60
@@ -549,67 +662,100 @@ gUnknown_80E2D60: @ 80E2D60
.global gUnknown_80E2D7C
gUnknown_80E2D7C: @ 80E2D7C
- .incbin "baserom.gba", 0xE2D7C, 0x54
+.string "Connect the #CGGame Link cable#R.\n"
+.string "When your friend is ready~2c begin\n"
+.string "communication.\0"
+.align 2,0
.global gUnknown_80E2DD0
gUnknown_80E2DD0: @ 80E2DD0
- .incbin "baserom.gba", 0xE2DD0, 0x50
+.string "#+Communicating...\n"
+.string "#+Please wait with the power on.\n"
+.string "#+To cancel~2c press {B_BUTTON}.\0"
+.align 2,0
.global gUnknown_80E2E20
gUnknown_80E2E20: @ 80E2E20
- .incbin "baserom.gba", 0xE2E20, 0x34
+.string "The GBA Game Pak will be written to.\n"
+.string "Is that OK?\0"
+.align 2,0
.global gUnknown_80E2E54
gUnknown_80E2E54: @ 80E2E54
- .incbin "baserom.gba", 0xE2E54, 0x60
+.string "#+Reading from GBA Game Pak.\n"
+.string "#+Do not remove the GBA Game Pak.\n"
+.string "#+Please wait with the power on.\0"
+.align 2,0
.global gUnknown_80E2EB4
gUnknown_80E2EB4: @ 80E2EB4
- .incbin "baserom.gba", 0xE2EB4, 0x60
+.string "#+Writing to GBA Game Pak.\n"
+.string "#+Do not remove the GBA Game Pak.\n"
+.string "#+Please wait with the power on.\0"
+.align 2,0
.global gUnknown_80E2F14
gUnknown_80E2F14: @ 80E2F14
- .incbin "baserom.gba", 0xE2F14, 0x30
+.string "There is no #CGSOS Mail#R on\n"
+.string "the GBA Game Pak.\0"
+.align 2,0
.global gUnknown_80E2F44
gUnknown_80E2F44: @ 80E2F44
- .incbin "baserom.gba", 0xE2F44, 0x34
+.string "Please choose an #CGSOS Mail#R\n"
+.string "on the GBA Game Pak.\0"
+.align 2,0
.global gUnknown_80E2F78
gUnknown_80E2F78: @ 80E2F78
- .incbin "baserom.gba", 0xE2F78, 0x28
+.string "Is it OK to accept this #CGSOS Mail#R?\0"
+.align 2,0
.global gUnknown_80E2FA0
gUnknown_80E2FA0: @ 80E2FA0
- .incbin "baserom.gba", 0xE2FA0, 0x4C
+.string "There is no more space for accepting\n"
+.string "new mail.\n"
+.string "You must delete old mail.\0"
+.align 2,0
.global gUnknown_80E2FEC
gUnknown_80E2FEC: @ 80E2FEC
- .incbin "baserom.gba", 0xE2FEC, 0x44
+.string "The #CGSOS Mail#R has been received.\n"
+.string "Your adventure will be saved.\0"
+.align 2,0
.global gUnknown_80E3030
gUnknown_80E3030: @ 80E3030
- .incbin "baserom.gba", 0xE3030, 0x48
+.string "Please embark on your rescue mission\n"
+.string "from the Pelipper Post Office. \0"
+.align 2,0
.global gUnknown_80E3078
gUnknown_80E3078: @ 80E3078
- .incbin "baserom.gba", 0xE3078, 0x2C
+.string "Please enter the #CGSOS Mail password#R.\0"
+.align 2,0
.global gUnknown_80E30A4
gUnknown_80E30A4: @ 80E30A4
- .incbin "baserom.gba", 0xE30A4, 0x2C
+.string "Is it OK to send this #CGThank-You Mail#R?\0"
+.align 2,0
.global gUnknown_80E30D0
gUnknown_80E30D0: @ 80E30D0
- .incbin "baserom.gba", 0xE30D0, 0x4C
+.string "Please choose the #CGThank-You Mail#R that\n"
+.string "should be sent to your friend.\0"
+.align 2,0
.global gUnknown_80E311C
gUnknown_80E311C: @ 80E311C
- .incbin "baserom.gba", 0xE311C, 0x30
+.string "Please enter the #CGThank-You Mail password#R.\0"
+.align 2,0
.global gUnknown_80E314C
gUnknown_80E314C: @ 80E314C
- .incbin "baserom.gba", 0xE314C, 0x30
+.string "The #CGThank-You Mail password#R will be\n"
+.string "shown.\0"
+.align 2,0
.global gUnknown_80E317C
gUnknown_80E317C: @ 80E317C
@@ -618,7 +764,9 @@ gUnknown_80E317C: @ 80E317C
.global gUnknown_80E319C
gUnknown_80E319C: @ 80E319C
- .incbin "baserom.gba", 0xE319C, 0x3C
+ .string "Steps will now be taken to receive the\n"
+ .string "#CGThank-You Mail#R.\0"
+ .align 2,0
.global gUnknown_80E31D8
gUnknown_80E31D8: @ 80E31D8
@@ -637,19 +785,29 @@ gUnknown_80E3220: @ 80E3220
.global gUnknown_80E3248
gUnknown_80E3248: @ 80E3248
- .incbin "baserom.gba", 0xE3248, 0x40
+ .string "The #CGThank-You Mail#R was sent.\n"
+ .string "Your adventure will be saved.\0"
+ .align 2,0
.global gUnknown_80E3288
gUnknown_80E3288: @ 80E3288
- .incbin "baserom.gba", 0xE3288, 0x3C
+ .string "Steps will now be taken to send your\n"
+ .string "#CGThank-You Mail#R.\0"
+ .align 2,0
.global gUnknown_80E32C4
gUnknown_80E32C4: @ 80E32C4
- .incbin "baserom.gba", 0xE32C4, 0x58
+ .string "OK. You~27re good to go.\n"
+ .string "#CN%s#R~2c I hope your sense of\n"
+ .string "gratitude reaches your friend.\0"
+ .align 2,0
.global gUnknown_80E331C
gUnknown_80E331C: @ 80E331C
- .incbin "baserom.gba", 0xE331C, 0x5C
+ .string "The item chosen here can~27t be exchanged\n"
+ .string "with anything else.\n"
+ .string "Are you sure this item is OK?\0"
+ .align 2,0
.global gUnknown_80E3378
gUnknown_80E3378: @ 80E3378
@@ -658,23 +816,35 @@ gUnknown_80E3378: @ 80E3378
.global gUnknown_80E339C
gUnknown_80E339C: @ 80E339C
- .incbin "baserom.gba", 0xE339C, 0x3C
+.string "There are no items in storage.\n"
+.string "What would you like to do?\0"
+.align 2,0
.global gUnknown_80E33D8
gUnknown_80E33D8: @ 80E33D8
- .incbin "baserom.gba", 0xE33D8, 0x58
+.string "Would you like to choose\n"
+.string "a #CGreward item#R from storage and\n"
+.string "send it with your mail?\0"
+.align 2,0
.global gUnknown_80E3430
gUnknown_80E3430: @ 80E3430
- .incbin "baserom.gba", 0xE3430, 0x80
+.string "This mail already has an attached\n"
+.string "#CGreward item#R.#POnce an item has been chosen~2c it may not\n"
+.string "be exchanged with another item.\0"
+.align 2,0
.global gUnknown_80E34B0
gUnknown_80E34B0: @ 80E34B0
- .incbin "baserom.gba", 0xE34B0, 0x40
+.string "Would you like to resend the mail\n"
+.string "with the same item attached?\0"
+.align 2,0
.global gUnknown_80E34F0
gUnknown_80E34F0: @ 80E34F0
- .incbin "baserom.gba", 0xE34F0, 0x3C
+.string "Please select a #CGThank-You Mail#R\n"
+.string "from the GBA Game Pak.\0"
+.align 2,0
.global gUnknown_80E352C
gUnknown_80E352C: @ 80E352C
@@ -709,47 +879,125 @@ gUnknown_80E367C: @ 80E367C
.global gUnknown_80E3690
gUnknown_80E3690: @ 80E3690
- .incbin "baserom.gba", 0xE3690, 0x188
+.string "If your team is defeated and in need\n"
+.string "of rescuing~2c send an #CGSOS Mail#R\n"
+.string "to a friend.#POnce you send your mail~2c you must wait\n"
+.string "for your friend to send you\n"
+.string "an #CGA-OK Mail#R.#PIf the #CGA-OK Mail#R arrives~2c your\n"
+.string "team can be revived to resume exploring\n"
+.string "the dungeon it was in.#PWhen your team is revived~2c don~27t forget\n"
+.string "to send a #CGThank-You Mail#R to the friend\n"
+.string "who came to your rescue.\0"
+.align 2,0
.global gUnknown_80E3818
gUnknown_80E3818: @ 80E3818
- .incbin "baserom.gba", 0xE3818, 0x180
+.string "If your team is defeated in\n"
+.string "a dungeon~2c you may send a friend\n"
+.string "an #CGSOS Mail#R for help.#PHowever~2c there are some places\n"
+.string "where it is impossible for you to\n"
+.string "call for a rescue.#PAlso~2c if you send an #CGSOS Mail#R~2c\n"
+.string "you may not continue with your\n"
+.string "adventure while awaiting rescue.#PIf you cannot wait to be rescued~2c\n"
+.string "you will have to give up and return\n"
+.string "to your rescue team base.\0"
+.align 2,0
.global gUnknown_80E3998
gUnknown_80E3998: @ 80E3998
- .incbin "baserom.gba", 0xE3998, 0x184
+.string "If your friend successfully rescues\n"
+.string "your team~2c accept your friend~27s\n"
+.string "#CGA-OK Mail#R.#POnce the #CGA-OK Mail#R is received~2c\n"
+.string "you may revive your team and resume\n"
+.string "exploring the dungeon you were in.#PUsing a #CGGame Link cable#R~2c\n"
+.string "your friend can also send you\n"
+.string "a #CGhelper Pokémon#R.#PHowever~2c the #CGhelper Pokémon#R will not\n"
+.string "be able to bring an item with it when\n"
+.string "joining your team.\0"
+.align 2,0
.global gUnknown_80E3B1C
gUnknown_80E3B1C: @ 80E3B1C
- .incbin "baserom.gba", 0xE3B1C, 0xDC
+.string "If your team has been rescued~2c be sure\n"
+.string "to send a #CGThank-You Mail#R to the friend\n"
+.string "that came to your help.#PYou may also attach a #CGreward item#R\n"
+.string "from storage to your #CGThank-You Mail#R\n"
+.string "and send it to your friend.\0"
+.align 2,0
.global gUnknown_80E3BF8
gUnknown_80E3BF8: @ 80E3BF8
- .incbin "baserom.gba", 0xE3BF8, 0x1EC
+.string "If your friend~27s team needs rescuing~2c\n"
+.string "you must first receive an #CGSOS Mail#R\n"
+.string "from your friend.#PWhen you get the mail~2c you may embark\n"
+.string "on your rescue mission from the\n"
+.string "#CGPelipper Post Office#R.#PIf you rescue your friend~27s defeated\n"
+.string "team~2c send an #CGA-OK Mail#R to your\n"
+.string "friend.#PIf you rescue a friend~2c you will be eligible\n"
+.string "to receive a #CGThank-You Mail#R.#PIf you have quicksaved inside a dungeon~2c\n"
+.string "you may not choose #CGGo Rescue#R.\n"
+.string "Your last save must be out of a dungeon.\0"
+.align 2,0
.global gUnknown_80E3DE4
gUnknown_80E3DE4: @ 80E3DE4
- .incbin "baserom.gba", 0xE3DE4, 0xB4
+.string "You may receive an #CGSOS Mail#R from\n"
+.string "a friend~27s team that lies defeated in\n"
+.string "a dungeon.#PIf there is no space for new mail~2c delete\n"
+.string "old mail at the #CGPelipper Post Office#R.\0"
+.align 2,0
.global gUnknown_80E3E98
gUnknown_80E3E98: @ 80E3E98
- .incbin "baserom.gba", 0xE3E98, 0x17C
+.string "If you successfully rescue your friend~27s\n"
+.string "team~2c send your friend an #CGA-OK Mail#R.#PUsing a #CGGame Link cable#R~2c you may\n"
+.string "also send your friend a Pokémon from\n"
+.string "your Friend Area as a helper.#PDon~27t worry--sending a Pokémon as\n"
+.string "a helper will not make it disappear from\n"
+.string "its Friend Area.#PIf there is no space for new mail~2c delete\n"
+.string "old mail at the #CGPelipper Post Office#R.\0"
+.align 2,0
.global gUnknown_80E4014
gUnknown_80E4014: @ 80E4014
- .incbin "baserom.gba", 0xE4014, 0x11C
+.string "When you receive an #CGSOS Mail#R~2c\n"
+.string "you may embark on your rescue mission\n"
+.string "from the #CGPelipper Post Office#R.#PBeware--if you do not have access to\n"
+.string "the dungeon they are in~2c you may not go\n"
+.string "on a rescue mission there.#PAccept challenging rescues only\n"
+.string "if you are ready and qualified!\0"
+.align 2,0
.global gUnknown_80E4130
gUnknown_80E4130: @ 80E4130
- .incbin "baserom.gba", 0xE4130, 0xAC
+.string "If you send an #CGA-OK Mail#R~2c you may\n"
+.string "receive a #CGThank-You Mail#R in return\n"
+.string "from your friend.#PThe #CGThank-You Mail#R may also come\n"
+.string "with a #CGreward item#R attached.\0"
+.align 2,0
.global gUnknown_80E41DC
gUnknown_80E41DC: @ 80E41DC
- .incbin "baserom.gba", 0xE41DC, 0x138
+.string "Using the #CGDual Slot#R function~2c\n"
+.string "you may perform rescue operations with\n"
+.string "friends using the GBA Game Pak version.#PInsert the DS Game Card and the GBA\n"
+.string "Game Pak in your Nintendo DS system~2c\n"
+.string "then turn on the power.#PFriend Rescue missions using\n"
+.string "the #CGDual Slot#R function will be\n"
+.string "available on the main menu. \0"
+.align 2,0
.global gUnknown_80E4314
gUnknown_80E4314: @ 80E4314
- .incbin "baserom.gba", 0xE4314, 0x16C
+.string "Friends can rescue each other~27s defeated\n"
+.string "teams using a #CGGame Link cable#R~2c\n"
+.string "#CGpasswords#R~2c and so on.#PYou may go on a rescue mission to save\n"
+.string "your friend~27s team that has been defeated\n"
+.string "in a dungeon.#POr~2c you may call for help from a friend\n"
+.string "to save your fallen team in a dungeon.#PUsing #CGpasswords#R~2c you can even\n"
+.string "exchange help with faraway friends.\0"
+.align 2,0
+
.global gUnknown_80E4480
gUnknown_80E4480: @ 80E4480
@@ -758,79 +1006,125 @@ gUnknown_80E4480: @ 80E4480
.global gUnknown_80E44A4
gUnknown_80E44A4: @ 80E44A4
- .incbin "baserom.gba", 0xE44A4, 0x5C
+.string "An incorrect number of GBA systems are\n"
+.string "connected.\n"
+.string "Please redo this process from the start.\0"
+.align 2,0
.global gUnknown_80E4500
gUnknown_80E4500: @ 80E4500
- .incbin "baserom.gba", 0xE4500, 0x50
+.string "There is no response from your friend.\n"
+.string "Please redo this process from the start.\0"
+.align 2,0
.global gUnknown_80E4550
gUnknown_80E4550: @ 80E4550
- .incbin "baserom.gba", 0xE4550, 0x64
+.string "The sender and receiver appear to be\n"
+.string "in different modes.\n"
+.string "Please redo the process from the start.\0"
+.align 2,0
.global gUnknown_80E45B4
gUnknown_80E45B4: @ 80E45B4
- .incbin "baserom.gba", 0xE45B4, 0x58
+.string "Your storage space is full.\n"
+.string "Please make room~2c then redo the\n"
+.string "process from the start.\0"
+.align 2,0
.global gUnknown_80E460C
gUnknown_80E460C: @ 80E460C
- .incbin "baserom.gba", 0xE460C, 0x44
+.string "This mail has been received before.\n"
+.string "It cannot be received again.\0"
+.align 2,0
.global gUnknown_80E4650
gUnknown_80E4650: @ 80E4650
- .incbin "baserom.gba", 0xE4650, 0x3C
+.string "This mail has been sent already.\n"
+.string "It cannot be sent again.\0"
+.align 2,0
.global gUnknown_80E468C
gUnknown_80E468C: @ 80E468C
- .incbin "baserom.gba", 0xE468C, 0x3C
+.string "You do not appear eligible to receive\n"
+.string "this #CGA-OK Mail#R.\0"
+.align 2,0
.global gUnknown_80E46C8
gUnknown_80E46C8: @ 80E46C8
- .incbin "baserom.gba", 0xE46C8, 0x3C
+.string "Your friend is not eligible to receive\n"
+.string "this #CGA-OK Mail#R.\0"
+.align 2,0
.global gUnknown_80E4704
gUnknown_80E4704: @ 80E4704
- .incbin "baserom.gba", 0xE4704, 0x40
+.string "You do not appear eligible to receive\n"
+.string "this #CGThank-You Mail#R.\0"
+.align 2,0
.global gUnknown_80E4744
gUnknown_80E4744: @ 80E4744
- .incbin "baserom.gba", 0xE4744, 0x44
+.string "Your friend is not eligible to receive\n"
+.string "this #CGThank-You Mail#R.\0"
+.align 2,0
.global gUnknown_80E4788
gUnknown_80E4788: @ 80E4788
- .incbin "baserom.gba", 0xE4788, 0x50
+.string "Something went wrong.\n"
+.string "Please turn off the power and\n"
+.string "reinsert the GBA Game Pak.\0"
+.align 2,0
.global gUnknown_80E47D8
gUnknown_80E47D8: @ 80E47D8
- .incbin "baserom.gba", 0xE47D8, 0x54
+.string "There is no space for receiving new\n"
+.string "mail.\n"
+.string "Please delete old mail~2c then try again.\0"
+.align 2,0
.global gUnknown_80E482C
gUnknown_80E482C: @ 80E482C
- .incbin "baserom.gba", 0xE482C, 0x7C
+.string "There is no response from your friend.\n"
+.string "Please make sure the sender and receiver\n"
+.string "are ready~2c then redo this from the start.\0"
+.align 2,0
.global gUnknown_80E48A8
gUnknown_80E48A8: @ 80E48A8
- .incbin "baserom.gba", 0xE48A8, 0x40
+.string "This password is incorrect.\n"
+.string "Would you like to enter it again?\0"
+.align 2,0
.global gUnknown_80E48E8
gUnknown_80E48E8: @ 80E48E8
- .incbin "baserom.gba", 0xE48E8, 0x40
+.string "This password does not appear to be\n"
+.string "that of an #CGSOS Mail#R.\0"
+.align 2,0
.global gUnknown_80E4928
gUnknown_80E4928: @ 80E4928
- .incbin "baserom.gba", 0xE4928, 0x3C
+.string "Received the #CGSOS Mail#R.\n"
+.string "Your adventure will be saved.\0"
+.align 2,0
.global gUnknown_80E4964
gUnknown_80E4964: @ 80E4964
- .incbin "baserom.gba", 0xE4964, 0x38
+.string "This password does not appear to be\n"
+.string "an #CGA-OK Mail#R.\0"
+.align 2,0
.global gUnknown_80E499C
gUnknown_80E499C: @ 80E499C
- .incbin "baserom.gba", 0xE499C, 0x28
+.string "This password can no longer be used.\0"
+.align 2,0
.global gUnknown_80E49C4
gUnknown_80E49C4: @ 80E49C4
- .incbin "baserom.gba", 0xE49C4, 0x4C
+.string "This password does not appear to be\n"
+.string "that of a #CGThank-You Mail#R.\0"
+.align 2,0
+.string "pksdir0\0"
+.align 2,0
+
.global gUnknown_80E4A10
gUnknown_80E4A10: @ 80E4A10
@@ -852,7 +1146,6 @@ gUnknown_80E4A28: @ 80E4A28
.global gUnknown_80E4A40
gUnknown_80E4A40: @ 80E4A40
-@ replacing .incbin "baserom.gba", 0x000e4a40, 0xedc
.byte 0x18, 0x18
.byte 0x38, 0x00
.byte 0x21, 0xff
@@ -1231,19 +1524,30 @@ gTradeItemsCommunicationError: @ 80E6378
.global gUnknown_80E639C
gUnknown_80E639C: @ 80E639C
- .incbin "baserom.gba", 0xE639C, 0x5C
+.string "An incorrect number of GBA systems are\n"
+.string "connected.\n"
+.string "Please redo this process from the start.\0"
+.align 2,0
.global gUnknown_80E63F8
gUnknown_80E63F8: @ 80E63F8
- .incbin "baserom.gba", 0xE63F8, 0x50
+.string "There is no response from your friend.\n"
+.string "Please redo this process from the start.\0"
+.align 2,0
.global gUnknown_80E6448
gUnknown_80E6448: @ 80E6448
- .incbin "baserom.gba", 0xE6448, 0x64
+.string "The sender and receiver appear to be\n"
+.string "in different modes.\n"
+.string "Please redo the process from the start.\0"
+.align 2,0
.global gUnknown_80E64AC
gUnknown_80E64AC: @ 80E64AC
- .incbin "baserom.gba", 0xE64AC, 0x7C
+.string "There is no response from your friend.\n"
+.string "Please make sure the sender and receiver\n"
+.string "are ready~2c then redo this from the start.\0"
+.align 2,0
.global gTradeItemsHowManyText
gTradeItemsHowManyText: @ 80E6528
@@ -1845,23 +2149,81 @@ gUnknown_80E762C: @ 80E762C
.global gUnknown_80E7644
gUnknown_80E7644: @ 80E7644
- .incbin "baserom.gba", 0xE7644, 0x40
+ .4byte ResumeQuicksave_80E7668
+ .byte 0x05, 0x00, 0x00, 0x00
+ .4byte IsThatOK_80E765C
+ .byte 0x05, 0x00, 0x00, 0x00
+ .byte 0x00, 0x00, 0x00, 0x00
+ .byte 0x03, 0x00, 0x00, 0x00
+
+ IsThatOK_80E765C:
+ .string "Is that OK?\0"
+ .align 2,0
+
+ ResumeQuicksave_80E7668:
+ .string "Resuming from quicksave.\0"
+ .align 2,0
.global gUnknown_80E7684
gUnknown_80E7684: @ 80E7684
- .incbin "baserom.gba", 0xE7684, 0x34
+ .4byte ResumeAdventure_80E769C
+ .byte 0x05, 0x00, 0x00, 0x00
+ .4byte IsThatOK_80E765C
+ .byte 0x05, 0x00, 0x00, 0x00
+ .byte 0x00, 0x00, 0x00, 0x00
+ .byte 0x03, 0x00, 0x00, 0x00
+
+ ResumeAdventure_80E769C:
+ .string "Resuming saved adventure.\0"
+ .align 2,0
.global gUnknown_80E76B8
gUnknown_80E76B8: @ 80E76B8
- .incbin "baserom.gba", 0xE76B8, 0x30
+ .4byte QuitAwaitingResuce_80E76D0
+ .byte 0x05, 0x00, 0x00, 0x00
+ .4byte IsThatOK_80E765C
+ .byte 0x05, 0x00, 0x00, 0x00
+ .byte 0x00, 0x00, 0x00, 0x00
+ .byte 0x03, 0x00, 0x00, 0x00
+
+ QuitAwaitingResuce_80E76D0:
+ .string "Quit awaiting rescue?\0"
+ .align 2,0
.global gUnknown_80E76E8
gUnknown_80E76E8: @ 80E76E8
- .incbin "baserom.gba", 0xE76E8, 0x48
+ .4byte Deleted_80E7718
+ .byte 0x05, 0x00, 0x00, 0x00
+ .4byte Deleted_80E7700
+ .byte 0x05, 0x00, 0x00, 0x00
+ .byte 0x00, 0x00, 0x00, 0x00
+ .byte 0x03, 0x00, 0x00, 0x00
+
+ Deleted_80E7700:
+ .string "deleted. Is that OK?\0"
+ .align 2,0
+
+ Deleted_80E7718:
+ .string "Your saved data will be\0"
+ .align 2,0
.global gUnknown_80E7730
gUnknown_80E7730: @ 80E7730
- .incbin "baserom.gba", 0xE7730, 0x54
+ .4byte Deleted_80E7768
+ .byte 0x05, 0x00, 0x00, 0x00
+ .4byte Deleted_80E7748
+ .byte 0x05, 0x00, 0x00, 0x00
+ .byte 0x00, 0x00, 0x00, 0x00
+ .byte 0x03, 0x00, 0x00, 0x00
+
+ Deleted_80E7748:
+ .string "delete all of your saved data?\0"
+ .align 2,0
+
+ Deleted_80E7768:
+ .string "Are you sure you want to\0"
+ .align 2,0
+
.global gUnknown_80E7784
gUnknown_80E7784: @ 80E7784
diff --git a/include/friend_rescue.h b/include/friend_rescue.h
index f7bbe50..62af956 100644
--- a/include/friend_rescue.h
+++ b/include/friend_rescue.h
@@ -4,12 +4,16 @@
struct WonderMailStruct_203B33C
{
// size: 0x568
- u32 unk0;
+ u32 state;
u32 unk4;
- u8 unk8[0x36];
+ u8 passwordBuffer[0x36];
u32 unk40;
- u32 unk44;
- u16 unk48[232];
+ u32 status;
+ u16 unk48[(0xE0 - 0x48) / 2];
+ s16 unkE0;
+ u8 unkE2[0x168 - 0xE2];
+ s16 unk168;
+ u8 unk16A[0x218 - 0x16A];
u8 unk218;
u8 padding7[3];
u32 unk21C;
@@ -31,7 +35,7 @@ struct WonderMailStruct_203B33C
u8 fill52E;
u32 unk530;
u32 unk534;
- u16 unk538; // A7 << 3
+ s16 unk538; // A7 << 3
u32 unk53C;
u32 unk540; // A8 << 4
s16 unk544;
diff --git a/include/personality_test.h b/include/personality_test.h
index 71a2200..d1cc2c6 100644
--- a/include/personality_test.h
+++ b/include/personality_test.h
@@ -71,15 +71,15 @@ void PrintPersonalityTypeDescription(void);
void SetPlayerGender(void);
void RevealPersonality(void);
void RevealStarter(void);
-void sub_803CA8C(void);
+void AdvanceToPickPartnerPrompt(void);
void PromptPickPartner(void);
-void sub_803CAD4(void);
+void AdvanceToPartnerSelection(void);
void CallCreatePartnerSelectionMenu(void);
void PromptForPartnerNickname(void);
-void sub_803CB5C(void);
-void sub_803CB7C(void);
+void AdvanceToPartnerNickhameScreen(void);
+void NicknamePartner(void);
void PrintEndIntroText(void);
-void sub_803CBE4(void);
+void AdvanceToTestEnd(void);
s32 GetValidPartners(void);
void UpdateNatureTotals(void);
void PromptNewQuestion(void);
diff --git a/src/friend_rescue.c b/src/friend_rescue.c
index a93c317..aacc083 100644
--- a/src/friend_rescue.c
+++ b/src/friend_rescue.c
@@ -6,7 +6,7 @@
#include "pokemon.h"
#include "memory.h"
-extern void sub_80338C4(u32);
+extern void SetFriendRescueMenuState(u32);
extern s32 sub_80144A4(s32 *);
extern void sub_802F2C0();
extern u8 sub_809539C(u32, u32);
@@ -129,18 +129,18 @@ u32 CreateFriendRescueMenu(void)
monName = GetMonSpecies(SPECIES_PELIPPER);
strcpy(gAvailablePokemonNames,monName);
for(counter = 0; counter < 0x36; counter++){
- gUnknown_203B33C->unk8[counter] = 0;
+ gUnknown_203B33C->passwordBuffer[counter] = 0;
}
gUnknown_203B33C->unk4 = 0x7E;
gUnknown_203B33C->unk52C = sub_8039880();
gUnknown_203B33C->unk52D = gUnknown_203B33C->unk52C;
- sub_80338C4(0);
+ SetFriendRescueMenuState(0);
return 1;
}
u32 UpdateFriendRescueMenu(void)
{
- switch(gUnknown_203B33C->unk0)
+ switch(gUnknown_203B33C->state)
{
case 0x78:
sub_8035300();
diff --git a/src/friend_rescue_1.c b/src/friend_rescue_1.c
index 2cd1249..8c9612c 100644
--- a/src/friend_rescue_1.c
+++ b/src/friend_rescue_1.c
@@ -7,10 +7,12 @@
#include "team_inventory.h"
#include "friend_rescue.h"
#include "sub_8095228.h"
+#include "item.h"
extern struct TeamInventory *gTeamInventory_203B460;
+extern u8 *gUnknown_203B484;
-extern void sub_80338C4(u32);
+extern void SetFriendRescueMenuState(u32);
extern s32 sub_80144A4(s32 *);
extern void sub_802F2C0();
extern u8 sub_809539C(u32, u32);
@@ -22,28 +24,1307 @@ extern char gAvailablePokemonNames[0x50];
extern struct WonderMailStruct_203B33C *gUnknown_203B33C;
-u8 sub_80953D4(u32);
-u8 sub_801CF14(u32);
+extern u8 sub_80953D4(u32);
+extern u8 sub_801CF14(u32);
extern u8 gUnknown_80E48A8[];
extern u32 gUnknown_80E2440;
extern u8 gUnknown_80E49C4[];
extern u8 gUnknown_80E4704[];
+extern u8 gUnknown_80E48E8[];
+extern u8 gUnknown_80E4928[];
+extern u8 gUnknown_80E4964[];
+extern u8 gUnknown_80E499C[];
+extern u8 gUnknown_80E460C[];
+extern u32 gUnknown_80E2290[];
+extern u8 gUnknown_80E31FC[];
+
-u8 sub_809539C(u32, u32);
-u32 sub_8039068(u32, u8 *, u8 *);
extern u32 sub_80154F0();
extern void sub_80155F0();
struct unkStruct_8095228 *sub_8095228(u8);
extern void sub_80141B4(u8 *r0, u32, u32 *r1, u32);
extern void sub_8014248(const char *r0, u32, u32, u32 *r4, u32, u32, u32, u32 *r5, u32);
+extern u8 sub_8012FD8(u32 *);
+extern void sub_8013114(u32 *, s32 *);
+extern u32 sub_801CA08(u32);
+extern void sub_801CBB8(void);
+extern void sub_801CB5C(u32);
+extern void sub_8035CC0(u32 *, u32);
+extern void sub_801B3C0(struct ItemSlot *);
+extern u32 sub_801B410(void);
+extern void sub_801B450(void);
+extern void sub_8035CF4(u32 *, u32, u32);
+extern u8 sub_801CB24(void);
+extern u32 sub_8030DA0(void);
+extern void sub_8030DE4(void);
+extern void sub_803092C(void);
+extern u32 sub_8030768(u32);
+extern void sub_803084C(void);
+extern void sub_8030D40(u8, u32);
+extern void sub_8030810(u32);
+extern u8 sub_80307EC(void);
+
+extern u32 sub_8031DCC(void);
+extern void sub_8031E10(void);
+extern void sub_8031E00(void);
+extern void PrintFriendRescueError(u32);
+extern u8 sub_8024108(u32);
+extern void sub_802452C(void);
+extern u32 sub_80244E4(void);
+extern void sub_802453C(void);
+extern void sub_8023B7C(u32);
+extern u32 sub_8023A94(u32);
+extern void sub_8023C60(void);
+extern void sub_8024458(s16, u32);
+extern void sub_8023DA4(void);
+extern void sub_8035D1C(void);
+extern u16 sub_8023B44(void);
+
+extern u32 sub_8039068(u32, u8 *r1, u8 *r0);
+extern void sub_8095274(u32);
+extern void sub_80951BC(u8 *r0);
+extern void sub_80951FC(u8 *r0);
+extern u8 sub_809539C(u32, u32);
+extern u8 sub_800D588(void);
+extern u32 sub_8095324(u32);
+extern s32 sub_8095190(void);
+
+extern u8 gUnknown_80E44A4[];
+extern u8 gUnknown_80E4500[];
+extern u8 gUnknown_80E4550[];
+extern u8 gUnknown_80E45B4[];
+extern u8 gUnknown_80E460C[];
+extern u8 gUnknown_80E4650[];
+extern u8 gUnknown_80E468C[];
+extern u8 gUnknown_80E46C8[];
+extern u8 gUnknown_80E4704[];
+extern u8 gUnknown_80E4744[];
+extern u8 gUnknown_80E4788[];
+extern u8 gUnknown_80E47D8[];
+extern u8 gUnknown_80E4480[];
+extern u8 gUnknown_80E482C[];
+
+
+extern void nullsub_40();
+extern void sub_8032828();
+
+void SetFriendRescueMenuState(u32 newState)
+{
+ gUnknown_203B33C->state = newState;
+ nullsub_40();
+ sub_8032828();
+}
+
+void PrintFriendRescueError(u32 status)
+{
+ switch(status)
+ {
+ case 0:
+ break;
+ case 3:
+ sub_80141B4(gUnknown_80E44A4, 0, 0, 0x101);
+ break;
+ case 2:
+ sub_80141B4(gUnknown_80E4500, 0, 0, 0x101);
+ break;
+ case 4:
+ sub_80141B4(gUnknown_80E4550, 0, 0, 0x101);
+ break;
+ case 6:
+ sub_80141B4(gUnknown_80E45B4, 0, 0, 0x101);
+ break;
+ case 7:
+ sub_80141B4(gUnknown_80E460C, 0, 0, 0x101);
+ break;
+ case 8:
+ sub_80141B4(gUnknown_80E4650, 0, 0, 0x101);
+ break;
+ case 9:
+ sub_80141B4(gUnknown_80E468C, 0, 0, 0x101);
+ break;
+ case 10:
+ sub_80141B4(gUnknown_80E46C8, 0, 0, 0x101);
+ break;
+ case 11:
+ sub_80141B4(gUnknown_80E4704, 0, 0, 0x101);
+ break;
+ case 12:
+ sub_80141B4(gUnknown_80E4744, 0, 0, 0x101);
+ break;
+ case 16:
+ sub_80141B4(gUnknown_80E4788, 0, 0, 0x101);
+ break;
+ case 13:
+ sub_80141B4(gUnknown_80E47D8, 0, 0, 0x101);
+ break;
+ case 1:
+ case 5:
+ case 14:
+ sub_80141B4(gUnknown_80E4480, 0, 0, 0x101);
+ break;
+ case 15:
+ sub_80141B4(gUnknown_80E482C, 0, 0, 0x101);
+ break;
+ }
+}
+
+void sub_80339C8(void)
+{
+ s32 temp;
+ if(sub_80144A4(&temp) == 0)
+ {
+ gUnknown_203B33C->unk538 = -1;
+ switch(temp)
+ {
+ case 0:
+ SetFriendRescueMenuState(3);
+ break;
+ case 1:
+ SetFriendRescueMenuState(4);
+ break;
+ case 0x17:
+ SetFriendRescueMenuState(0x78);
+ break;
+ case 0x8:
+ SetFriendRescueMenuState(2);
+ break;
+ }
+ }
+}
+
+void sub_8033A2C(void)
+{
+ s32 temp;
+ if(sub_80144A4(&temp) == 0)
+ {
+ gUnknown_203B33C->unk40 = 8;
+ switch(temp)
+ {
+ case 0x11:
+ gUnknown_203B33C->unk40 = 2;
+ gUnknown_203B33C->unk528 = 0x11;
+ if(sub_8095324(1) != 0)
+ SetFriendRescueMenuState(0x31);
+ else
+ SetFriendRescueMenuState(0x22);
+ break;
+ case 3:
+ gUnknown_203B33C->unk40 = 3;
+ gUnknown_203B33C->unk528 = 3;
+ if(sub_8095190() == -1)
+ SetFriendRescueMenuState(0xF);
+ else
+ SetFriendRescueMenuState(0xE);
+ break;
+ case 4:
+ gUnknown_203B33C->unk40 = 4;
+ gUnknown_203B33C->unk528 = 4;
+ if(sub_8095324(4) != 0)
+ SetFriendRescueMenuState(0x1C);
+ else
+ SetFriendRescueMenuState(0x22);
+ break;
+ case 0x12:
+ gUnknown_203B33C->unk40 = 5;
+ gUnknown_203B33C->unk528 = 0x12;
+ if(sub_8095324(5) != 0)
+ SetFriendRescueMenuState(0x3D);
+ else
+ SetFriendRescueMenuState(0xE);
+ break;
+ case 0x13:
+ gUnknown_203B33C->unk40 = 6;
+ gUnknown_203B33C->unk528 = 0x13;
+ if(sub_8095324(5) == 0)
+ SetFriendRescueMenuState(0x51);
+ else
+ SetFriendRescueMenuState(0x5B);
+ break;
+ case 0x14:
+ gUnknown_203B33C->unk40 = 7;
+ gUnknown_203B33C->unk528 = 0x14;
+ SetFriendRescueMenuState(0x52);
+ break;
+ case 8:
+ SetFriendRescueMenuState(0x1);
+ break;
+ }
+ }
+}
+
+void sub_8033B8C(void)
+{
+ s32 temp;
+ if(sub_80144A4(&temp) == 0)
+ {
+ switch(temp)
+ {
+ case 0xB:
+ case 0xC:
+ gUnknown_203B33C->unk524 = 0xB;
+ switch(gUnknown_203B33C->unk528)
+ {
+ case 3:
+ case 0x11:
+ case 0x12:
+ SetFriendRescueMenuState(5);
+ break;
+ case 4:
+ SetFriendRescueMenuState(0x23);
+ break;
+ default:
+ break;
+ }
+ break;
+ case 0xD:
+ gUnknown_203B33C->unk524 = 0xD;
+ switch(gUnknown_203B33C->unk528)
+ {
+ case 3:
+ SetFriendRescueMenuState(0x19);
+ break;
+ case 0x11:
+ SetFriendRescueMenuState(0x39);
+ break;
+ case 0x12:
+ SetFriendRescueMenuState(0x43);
+ break;
+ case 4:
+ SetFriendRescueMenuState(0x2D);
+ break;
+ default:
+ break;
+ }
+ break;
+ case 8:
+ SetFriendRescueMenuState(1);
+ break;
+ }
+ }
+}
+
+void sub_8033C54(void)
+{
+ s32 temp;
+ if(sub_80144A4(&temp) == 0)
+ {
+ switch(temp)
+ {
+ case 6:
+ switch(gUnknown_203B33C->unk528)
+ {
+ // NOTE: Each case has to be defined to match
+ case 3:
+ SetFriendRescueMenuState(0xD);
+ break;
+ case 4:
+ SetFriendRescueMenuState(0xD);
+ break;
+ case 0x11:
+ SetFriendRescueMenuState(0xD);
+ break;
+ case 0x12:
+ SetFriendRescueMenuState(0xD);
+ break;
+ default:
+ break;
+ }
+ break;
+ case 8:
+ SetFriendRescueMenuState(1);
+ break;
+ }
+ }
+}
+
+void nullsub_41(void)
+{
+}
+
+void sub_8033CAC(void)
+{
+ s32 temp;
+ u32 test_var;
+ if(sub_80144A4(&temp) == 0)
+ {
+ if(gUnknown_203B33C->status == 0)
+ {
+ switch(gUnknown_203B33C->unk528)
+ {
+ case 3:
+ SetFriendRescueMenuState(0x16);
+ break;
+ case 0x11:
+ SetFriendRescueMenuState(0x37);
+ break;
+ case 0x12:
+ if(sub_800D588() != 0)
+ test_var = gUnknown_203B33C->unk168;
+ else
+ test_var = gUnknown_203B33C->unkE0;
+ if(test_var != 0)
+ SetFriendRescueMenuState(0x3F);
+ else
+ SetFriendRescueMenuState(0x40);
+ break;
+ case 4:
+ SetFriendRescueMenuState(0x2B);
+ break;
+
+ }
+ }
+ else
+ {
+ PrintFriendRescueError(gUnknown_203B33C->status);
+ SetFriendRescueMenuState(8);
+ }
+ }
+}
+
+void sub_8033D48(void)
+{
+ s32 temp;
+ if(sub_80144A4(&temp) == 0)
+ {
+ SetFriendRescueMenuState(1);
+ }
+}
+
+void nullsub_42(void)
+{
+}
+
+void nullsub_43(void)
+{
+}
+
+void nullsub_44(void)
+{
+}
+
+void nullsub_45(void)
+{
+}
+
+void sub_8033D74(void)
+{
+ s32 temp;
+ if(sub_80144A4(&temp) == 0)
+ {
+ SetFriendRescueMenuState(0x17);
+ PrepareSavePakWrite(SPECIES_NONE);
+ }
+}
+
+void sub_8033D94(void)
+{
+ s32 temp;
+ if(sub_80144A4(&temp) == 0)
+ {
+ if(!WriteSavePak())
+ {
+ FinishWriteSavePak();
+ SetFriendRescueMenuState(0x18);
+ }
+ }
+}
+
+void sub_8033DBC(void)
+{
+ u32 return_var;
+ u32 input_var;
+ struct unkStruct_8095228 temp;
+ struct unkStruct_8095228 *temp2;
+
+ return_var = sub_80154F0();
+ MemoryFill8((u8 *)&temp, 0, sizeof(struct unkStruct_8095228));
+ switch(return_var)
+ {
+ case 3:
+ input_var = 0xffdc;
+ switch(gUnknown_203B33C->unk528)
+ {
+ case 3:
+ input_var = 0x1C;
+ break;
+ case 0x12:
+ input_var = 0x1E;
+ break;
+ default:
+ break;
+ }
+ switch(sub_8039068(input_var, gUnknown_203B33C->passwordBuffer, &temp.unk0))
+ {
+ case 17:
+ sub_8014248(gUnknown_80E48A8, 0, 6, gUnknown_80E2290, 0, 4, 0, 0, 0x101);
+ SetFriendRescueMenuState(0x1B);
+ break;
+ case 18:
+ sub_80141B4(gUnknown_80E48E8, 0, 0, 0x101);
+ SetFriendRescueMenuState(8);
+ break;
+ case 7:
+ sub_80141B4(gUnknown_80E460C, 0, 0, 0x101);
+ SetFriendRescueMenuState(8);
+ break;
+ case 22:
+ sub_8095274(temp.unk10);
+ temp.unk0 = 2; // Some sort of Ack?
+ sub_80951BC(&temp.unk0);
+ sub_80141B4(gUnknown_80E4928, 0, 0, 0x101);
+ SetFriendRescueMenuState(0x16);
+ break;
+ case 19:
+ sub_80141B4(gUnknown_80E4964, 0, 0, 0x101);
+ SetFriendRescueMenuState(8);
+ break;
+ case 9:
+ sub_80141B4(gUnknown_80E499C, 0, 0, 0x101);
+ SetFriendRescueMenuState(8);
+ break;
+ case 23:
+ temp.unk0 = 5; // Some sort of Ack?
+ sub_80951FC(&temp.unk0);
+ temp2 = sub_8095228(sub_809539C(1, temp.unk10));
+ temp2->unk0 = 7;
+ MemoryFill8((u8 *)gUnknown_203B484, 0, 0x5C);
+ SetFriendRescueMenuState(0x40);
+ break;
+ case 24:
+ default:
+ break;
+ }
+ sub_80155F0();
+ break;
+ case 2:
+ sub_80155F0();
+ ResetUnusedInputStruct();
+ sub_800641C(gUnknown_203B33C->unk3BC, 1, 1);
+ SetFriendRescueMenuState(1);
+ break;
+ default:
+ break;
+ }
+}
+
+void sub_8033F64(void)
+{
+ s32 temp;
+ if(sub_80144A4(&temp) == 0)
+ {
+ switch(temp)
+ {
+ case 6:
+ switch(gUnknown_203B33C->unk528)
+ {
+ case 3:
+ SetFriendRescueMenuState(0x19);
+ break;
+ case 0x12:
+ SetFriendRescueMenuState(0x43);
+ break;
+ }
+ break;
+ case 8:
+ SetFriendRescueMenuState(0x1);
+ break;
+ default:
+ break;
+ }
+ }
+}
+
+void sub_8033FB4(void)
+{
+ s32 temp;
+ if(sub_80144A4(&temp) == 0)
+ {
+ switch(temp)
+ {
+ case 6:
+ SetFriendRescueMenuState(0xE);
+ break;
+ case 7:
+ case 8:
+ SetFriendRescueMenuState(0x1);
+ break;
+ default:
+ break;
+ }
+ }
+}
+
+void sub_8033FE4(void)
+{
+ switch(sub_8030768(1))
+ {
+ case 2:
+ sub_803084C();
+ SetFriendRescueMenuState(1);
+ break;
+ case 3:
+ gUnknown_203B33C->unk218 = sub_80307EC();
+ SetFriendRescueMenuState(0x1E);
+ break;
+ case 4:
+ gUnknown_203B33C->unk4 = 0x1D;
+ gUnknown_203B33C->unk218 = sub_80307EC();
+ sub_8006518(gUnknown_203B33C->unk3BC);
+ ResetUnusedInputStruct();
+ sub_800641C(0, 1, 1);
+ sub_8030D40(gUnknown_203B33C->unk218, 0);
+ SetFriendRescueMenuState(0x1F);
+ break;
+ }
+}
+
+void sub_8034074(void)
+{
+ s32 temp;
+
+ temp = -1;
+ sub_8030768(0);
+ if(!sub_8012FD8(&gUnknown_203B33C->unk30C))
+ sub_8013114(&gUnknown_203B33C->unk30C, &temp);
+ switch(temp)
+ {
+ case 9:
+ sub_803084C();
+ SetFriendRescueMenuState(0x20);
+ break;
+ case 10:
+ gUnknown_203B33C->unk4 = 0x7E;
+ sub_8006518(gUnknown_203B33C->unk3BC);
+ ResetUnusedInputStruct();
+ sub_800641C(0, 1, 1);
+ sub_8030D40(gUnknown_203B33C->unk218, 0);
+ SetFriendRescueMenuState(0x1F);
+ break;
+ case 5:
+ case 8:
+ sub_8035CC0(&gUnknown_203B33C->unk35C, 2);
+ sub_8030810(0x1);
+ SetFriendRescueMenuState(0x1D);
+ break;
+ }
+}
+
+void sub_8034130(void)
+{
+ switch(sub_8030DA0())
+ {
+ case 2:
+ case 3:
+ sub_8030DE4();
+ ResetUnusedInputStruct();
+ sub_800641C(gUnknown_203B33C->unk3BC, 1, 1);
+ sub_803092C();
+ if(gUnknown_203B33C->unk4 == 0x7E)
+ {
+ sub_8035CF4(&gUnknown_203B33C->unk21C, 3, 1);
+ SetFriendRescueMenuState(0x1E);
+ }
+ else
+ SetFriendRescueMenuState(gUnknown_203B33C->unk4);
+ break;
+ default:
+ break;
+ }
+}
+
+void sub_803418C(void)
+{
+ switch(sub_8023A94(1))
+ {
+ case 2:
+ sub_8023C60();
+ SetFriendRescueMenuState(1);
+ sub_8035D1C();
+ gUnknown_203B33C->unk538 = -1;
+ break;
+ case 3:
+ gUnknown_203B33C->unk538 = sub_8023B44();
+ if(gUnknown_203B33C->unk524 == 0xE)
+ SetFriendRescueMenuState(9);
+ else
+ SetFriendRescueMenuState(0x27);
+ break;
+ case 4:
+ gUnknown_203B33C->unk4 = 0x26;
+ gUnknown_203B33C->unk538 = sub_8023B44();
+ sub_8006518(gUnknown_203B33C->unk3BC);
+ ResetUnusedInputStruct();
+ sub_800641C(0, 1, 1);
+ sub_8024458(gUnknown_203B33C->unk538, 0);
+ SetFriendRescueMenuState(0x28);
+ break;
+ }
+}
+
+void sub_8034254(void)
+{
+ s32 temp;
+ temp = -1;
+
+ sub_8023A94(0);
+ if(!sub_8012FD8(&gUnknown_203B33C->unk30C))
+ sub_8013114(&gUnknown_203B33C->unk30C, &temp);
+ switch(temp)
+ {
+ case 9:
+ sub_8023C60();
+ SetFriendRescueMenuState(0x29);
+ break;
+ case 10:
+ gUnknown_203B33C->unk4 = 0x7E;
+ sub_8006518(gUnknown_203B33C->unk3BC);
+ ResetUnusedInputStruct();
+ sub_800641C(0, 1, 1);
+ sub_8024458(gUnknown_203B33C->unk538, 0);
+ SetFriendRescueMenuState(0x28);
+ break;
+ case 5:
+ case 8:
+ sub_8035CC0(&gUnknown_203B33C->unk35C, 3);
+ sub_8023DA4();
+ SetFriendRescueMenuState(0x26);
+ break;
+ }
+}
+
+void sub_8034310(void)
+{
+ switch(sub_80244E4())
+ {
+ case 1:
+ sub_802452C();
+ break;
+ case 2:
+ case 3:
+ sub_802453C();
+ ResetUnusedInputStruct();
+ sub_800641C(gUnknown_203B33C->unk3BC, 1, 1);
+ sub_8023B7C(1);
+ if(gUnknown_203B33C->unk4 == 0x7E)
+ {
+ sub_8035CF4(&gUnknown_203B33C->unk21C, 3, 1);
+ SetFriendRescueMenuState(0x27);
+ }
+ else
+ SetFriendRescueMenuState(gUnknown_203B33C->unk4);
+ break;
+ default:
+ break;
+ }
+}
+
+void sub_8034378(void)
+{
+ s32 temp;
+ if(sub_80144A4(&temp) == 0)
+ {
+ switch(temp)
+ {
+ case 0x10:
+ if(gUnknown_203B33C->unk524 == 0xE)
+ SetFriendRescueMenuState(0x9);
+ else
+ SetFriendRescueMenuState(0x5);
+ break;
+ case 8:
+ SetFriendRescueMenuState(0x1);
+ break;
+ default:
+ break;
+ }
+ }
+}
+
+void sub_80343C4(void)
+{
+ s32 temp;
+ if(sub_80144A4(&temp) == 0)
+ {
+ switch(temp)
+ {
+ case 6:
+ SetFriendRescueMenuState(0x5);
+ break;
+ case 7:
+ SetFriendRescueMenuState(0x25);
+ break;
+ case 8:
+ SetFriendRescueMenuState(0x1);
+ break;
+ default:
+ break;
+ }
+ }
+}
+
+void sub_8034404(void)
+{
+ s32 temp;
+ if(sub_80144A4(&temp) == 0)
+ {
+ switch(temp)
+ {
+ case 0xF:
+ if(sub_8024108(3))
+ SetFriendRescueMenuState(0x24);
+ else
+ SetFriendRescueMenuState(0x25);
+ break;
+ case 0x10:
+ if(gUnknown_203B33C->unk524 == 0xE)
+ SetFriendRescueMenuState(0x9);
+ else
+ SetFriendRescueMenuState(0x5);
+ break;
+ case 0x8:
+ SetFriendRescueMenuState(0x1);
+ break;
+ default:
+ break;
+ }
+ }
+}
+
+void sub_8034478(void)
+{
+ s32 temp;
+ if(sub_80144A4(&temp) == 0)
+ {
+ if(!WriteSavePak())
+ {
+ FinishWriteSavePak();
+ SetFriendRescueMenuState(0x2);
+ }
+ }
+}
+
+void sub_80344A0(void)
+{
+ s32 temp;
+ if(sub_80144A4(&temp) == 0)
+ {
+ SetFriendRescueMenuState(0x2C);
+ PrepareSavePakWrite(SPECIES_NONE);
+ }
+}
+
+void sub_80344C0(void)
+{
+ switch(sub_8031DCC())
+ {
+ case 2:
+ case 3:
+ sub_8031E10();
+ ResetUnusedInputStruct();
+ sub_800641C(gUnknown_203B33C->unk3BC, 1, 1);
+ SetFriendRescueMenuState(0x2F);
+ break;
+ case 1:
+ sub_8031E00();
+ break;
+ case 0:
+ break;
+ }
+}
+
+void sub_8034500(void)
+{
+ switch(sub_8030768(1))
+ {
+ case 2:
+ sub_803084C();
+ SetFriendRescueMenuState(1);
+ break;
+ case 3:
+ gUnknown_203B33C->unk218 = sub_80307EC();
+ SetFriendRescueMenuState(0x33);
+ break;
+ case 4:
+ gUnknown_203B33C->unk4 = 0x32;
+ gUnknown_203B33C->unk218 = sub_80307EC();
+ sub_8006518(gUnknown_203B33C->unk3BC);
+ ResetUnusedInputStruct();
+ sub_800641C(0, 1, 1);
+ sub_8030D40(gUnknown_203B33C->unk218, 0);
+ SetFriendRescueMenuState(0x34);
+ break;
+ }
+}
+
+void sub_8034590(void)
+{
+ s32 temp;
+ temp = -1;
+
+ sub_8030768(0);
+ if(!sub_8012FD8(&gUnknown_203B33C->unk30C))
+ sub_8013114(&gUnknown_203B33C->unk30C, &temp);
+ switch(temp)
+ {
+ case 9:
+ sub_803084C();
+ SetFriendRescueMenuState(0x35);
+ break;
+ case 10:
+ gUnknown_203B33C->unk4 = 0x7E;
+ sub_8006518(gUnknown_203B33C->unk3BC);
+ ResetUnusedInputStruct();
+ sub_800641C(0, 1, 1);
+ sub_8030D40(gUnknown_203B33C->unk218, 0);
+ SetFriendRescueMenuState(0x34);
+ break;
+ case 5:
+ case 8:
+ sub_8035CC0(&gUnknown_203B33C->unk35C, 2);
+ sub_8030810(0x1);
+ SetFriendRescueMenuState(0x32);
+ break;
+ }
+}
+
+void sub_803464C(void)
+{
+ switch(sub_8030DA0())
+ {
+ case 2:
+ case 3:
+ sub_8030DE4();
+ ResetUnusedInputStruct();
+ sub_800641C(gUnknown_203B33C->unk3BC, 1, 1);
+ sub_803092C();
+ if(gUnknown_203B33C->unk4 == 0x7E)
+ {
+ sub_8035CF4(&gUnknown_203B33C->unk21C, 3, 1);
+ SetFriendRescueMenuState(0x33);
+ }
+ else
+ SetFriendRescueMenuState(gUnknown_203B33C->unk4);
+ break;
+ default:
+ break;
+ }
+}
+
+void sub_80346A8(void)
+{
+ s32 temp;
+ if(sub_80144A4(&temp) == 0)
+ {
+ switch(temp)
+ {
+ case 6:
+ SetFriendRescueMenuState(0xE);
+ break;
+ case 7:
+ case 8:
+ SetFriendRescueMenuState(1);
+ break;
+ }
+ }
+}
+
+void sub_80346D8(void)
+{
+ s32 temp;
+ if(sub_80144A4(&temp) == 0)
+ {
+ if(!WriteSavePak())
+ {
+ FinishWriteSavePak();
+ SetFriendRescueMenuState(0x2);
+ }
+ }
+}
+
+void sub_8034700(void)
+{
+ s32 temp;
+ if(sub_80144A4(&temp) == 0)
+ {
+ SetFriendRescueMenuState(0x38);
+ PrepareSavePakWrite(SPECIES_NONE);
+ }
+}
+
+void sub_8034720(void)
+{
+ s32 temp;
+ if(sub_80144A4(&temp) == 0)
+ {
+ SetFriendRescueMenuState(0x3A);
+ }
+}
+
+void sub_803473C(void)
+{
+ switch(sub_8031DCC())
+ {
+ case 2:
+ case 3:
+ sub_8031E10();
+ ResetUnusedInputStruct();
+ sub_800641C(gUnknown_203B33C->unk3BC, 1, 1);
+ SetFriendRescueMenuState(0x3B);
+ break;
+ case 1:
+ sub_8031E00();
+ break;
+ case 0:
+ break;
+ }
+}
+
+void sub_803477C(void)
+{
+ s32 temp;
+ if(sub_80144A4(&temp) == 0)
+ {
+ switch(temp)
+ {
+ case 6:
+ SetFriendRescueMenuState(0xE);
+ break;
+ case 7:
+ case 8:
+ SetFriendRescueMenuState(1);
+ break;
+ }
+ }
+}
+
+void sub_80347AC(void)
+{
+ s32 temp;
+ if(sub_80144A4(&temp) == 0)
+ {
+ SetFriendRescueMenuState(0xD);
+ }
+}
+
+void sub_80347C8(void)
+{
+ s32 temp;
+ if(sub_80144A4(&temp) == 0)
+ {
+ SetFriendRescueMenuState(0x40);
+ }
+}
+
+void sub_80347E4(void)
+{
+ s32 temp;
+ if(sub_80144A4(&temp) == 0)
+ {
+ SetFriendRescueMenuState(0x41);
+ PrepareSavePakWrite(SPECIES_NONE);
+ }
+}
+
+void sub_8034804(void)
+{
+ s32 temp;
+ if(sub_80144A4(&temp) == 0)
+ {
+ if(!WriteSavePak())
+ {
+ FinishWriteSavePak();
+ SetFriendRescueMenuState(0x42);
+ }
+ }
+}
+
+void sub_803482C(void)
+{
+ s32 temp;
+ if(sub_80144A4(&temp) == 0)
+ {
+ SetFriendRescueMenuState(1);
+ }
+}
+
+
+void sub_8034848(void)
+{
+ s32 temp;
+ if(sub_80144A4(&temp) == 0)
+ {
+ MemoryFill8((u8 *)&gUnknown_203B33C->unk41C, 0 , 4);
+ gUnknown_203B33C->unk41C.itemIndex = ITEM_ID_NOTHING;
+ gUnknown_203B33C->unk41C.numItems = 1;
+ gUnknown_203B33C->unk41C.unk0 = 0;
+
+ if(gUnknown_203B33C->status == 0)
+ {
+ switch(gUnknown_203B33C->unk40)
+ {
+ case 7:
+ SetFriendRescueMenuState(0x6D);
+ break;
+ case 6:
+ SetFriendRescueMenuState(0x50);
+ break;
+ }
+ }
+ else
+ {
+ PrintFriendRescueError(gUnknown_203B33C->status);
+ SetFriendRescueMenuState(0x6B);
+ }
+ }
+}
+
+void sub_80348C4(void)
+{
+ s32 temp;
+ if(sub_80144A4(&temp) == 0)
+ {
+ MemoryFill8((u8 *)&gUnknown_203B33C->unk41C, 0 , 4);
+ gUnknown_203B33C->unk41C.itemIndex = ITEM_ID_NOTHING;
+ gUnknown_203B33C->unk41C.numItems = 1;
+ gUnknown_203B33C->unk41C.unk0 = 0;
+
+ if(gUnknown_203B33C->status == 0)
+ {
+ switch(gUnknown_203B33C->unk40)
+ {
+ case 6:
+ switch((u32)gUnknown_203B33C->unk524)
+ {
+ case 0xB:
+ case 0xD:
+ case 0xE:
+ sub_80141B4(gUnknown_80E31FC, 0, 0, 0x101);
+ SetFriendRescueMenuState(0x77);
+ break;
+ case 0xC:
+ default:
+ SetFriendRescueMenuState(0x77);
+ break;
+ }
+ break;
+ case 7:
+ SetFriendRescueMenuState(0x6D);
+ break;
+ }
+ }
+ else
+ {
+ PrintFriendRescueError(gUnknown_203B33C->status);
+ SetFriendRescueMenuState(0x6B);
+ }
+ }
+}
+
+void sub_8034970(void)
+{
+ switch(sub_8031DCC())
+ {
+ case 2:
+ case 3:
+ sub_8031E10();
+ ResetUnusedInputStruct();
+ sub_800641C(gUnknown_203B33C->unk3BC, 1, 1);
+ SetFriendRescueMenuState(0x68);
+ break;
+ case 1:
+ sub_8031E00();
+ break;
+ case 0:
+ break;
+ }
+}
+
+void sub_80349B0(void)
+{
+ s32 temp;
+ if(sub_80144A4(&temp) == 0)
+ {
+ switch(temp)
+ {
+ case 6:
+ SetFriendRescueMenuState(0x52);
+ break;
+ case 7:
+ case 8:
+ SetFriendRescueMenuState(1);
+ break;
+ }
+ }
+}
+
+void sub_80349E0(void)
+{
+ switch(sub_8030768(1))
+ {
+ case 2:
+ sub_803084C();
+ SetFriendRescueMenuState(1);
+ break;
+ case 3:
+ gUnknown_203B33C->unk218 = sub_80307EC();
+ SetFriendRescueMenuState(0x5D);
+ break;
+ case 4:
+ gUnknown_203B33C->unk4 = 0x5C;
+ gUnknown_203B33C->unk218 = sub_80307EC();
+ sub_8006518(gUnknown_203B33C->unk3BC);
+ ResetUnusedInputStruct();
+ sub_800641C(0, 1, 1);
+ sub_8030D40(gUnknown_203B33C->unk218, 0);
+ SetFriendRescueMenuState(0x5E);
+ break;
+ }
+}
+
+void sub_8034A70(void)
+{
+ s32 temp;
+
+ temp = -1;
+ sub_8030768(0);
+ if(!sub_8012FD8(&gUnknown_203B33C->unk30C))
+ sub_8013114(&gUnknown_203B33C->unk30C, &temp);
+ switch(temp)
+ {
+ case 9:
+ sub_803084C();
+ SetFriendRescueMenuState(0x5A);
+ break;
+ case 10:
+ gUnknown_203B33C->unk4 = 0x7E;
+ sub_8006518(gUnknown_203B33C->unk3BC);
+ ResetUnusedInputStruct();
+ sub_800641C(0, 1, 1);
+ sub_8030D40(gUnknown_203B33C->unk218, 0);
+ SetFriendRescueMenuState(0x5E);
+ break;
+ case 5:
+ case 8:
+ sub_8035CC0(&gUnknown_203B33C->unk35C, 2);
+ sub_8030810(0x1);
+ SetFriendRescueMenuState(0x5C);
+ break;
+ }
+}
+
+void sub_8034B2C(void)
+{
+ switch(sub_8030DA0())
+ {
+ case 2:
+ case 3:
+ sub_8030DE4();
+ ResetUnusedInputStruct();
+ sub_800641C(gUnknown_203B33C->unk3BC, 1, 1);
+ sub_803092C();
+ if(gUnknown_203B33C->unk4 == 0x7E)
+ {
+ sub_8035CF4(&gUnknown_203B33C->unk21C, 3, 1);
+ SetFriendRescueMenuState(0x5D);
+ }
+ else
+ SetFriendRescueMenuState(gUnknown_203B33C->unk4);
+ break;
+ default:
+ break;
+ }
+}
+
+void sub_8034B88(void)
+{
+ gUnknown_203B33C->unk41C.itemIndex = ITEM_ID_NOTHING;
+ gUnknown_203B33C->unk41C.numItems = 1;
+ gUnknown_203B33C->unk41C.unk0 = 0;
+ switch(sub_801CA08(1))
+ {
+ case 2:
+ sub_801CBB8();
+ SetFriendRescueMenuState(1);
+ break;
+ case 3:
+ gUnknown_203B33C->unk41C.itemIndex = sub_801CB24();
+ SetFriendRescueMenuState(0x60);
+ break;
+ case 4:
+ gUnknown_203B33C->unk4 = 0x5F;
+ gUnknown_203B33C->unk41C.itemIndex = sub_801CB24();
+ sub_8006518(gUnknown_203B33C->unk3BC);
+ ResetUnusedInputStruct();
+ sub_800641C(0, 1, 1);
+ sub_801B3C0(&gUnknown_203B33C->unk41C);
+ SetFriendRescueMenuState(0x61);
+ break;
+ }
+}
+
+void sub_8034C38(void)
+{
+ switch(sub_801B410())
+ {
+ case 2:
+ case 3:
+ sub_801B450();
+ ResetUnusedInputStruct();
+ sub_800641C(gUnknown_203B33C->unk3BC, 1, 1);
+ sub_801CB5C(1);
+ if(gUnknown_203B33C->unk4 == 0x7E)
+ {
+ sub_8035CF4(&gUnknown_203B33C->unk21C, 3, 1);
+ SetFriendRescueMenuState(0x60);
+ }
+ else
+ SetFriendRescueMenuState(gUnknown_203B33C->unk4);
+ break;
+ default:
+ case 1:
+ break;
+ }
+}
+
+void sub_8034C98(void)
+{
+ s32 temp;
+
+ temp = -1;
+ sub_801CA08(0);
+ if(!sub_8012FD8(&gUnknown_203B33C->unk30C))
+ sub_8013114(&gUnknown_203B33C->unk30C, &temp);
+ switch(temp)
+ {
+ case 9:
+ sub_801CBB8();
+ SetFriendRescueMenuState(0x58);
+ break;
+ case 10:
+ gUnknown_203B33C->unk4 = 0x7E;
+ sub_8006518(gUnknown_203B33C->unk3BC);
+ ResetUnusedInputStruct();
+ sub_800641C(0, 1, 1);
+ sub_801B3C0(&gUnknown_203B33C->unk41C);
+ SetFriendRescueMenuState(0x61);
+ break;
+ case 5:
+ case 8:
+ sub_8035CC0(&gUnknown_203B33C->unk35C, 3);
+ sub_801CB5C(0x1);
+ SetFriendRescueMenuState(0x5F);
+ break;
+ }
+}
+
void sub_8034D54(void)
{
s32 temp;
if(sub_80144A4(&temp) == 0)
{
- sub_80338C4(0x65);
+ SetFriendRescueMenuState(0x65);
PrepareSavePakWrite(SPECIES_NONE);
}
}
@@ -59,26 +1340,26 @@ void sub_8034D74(void)
switch(return_var)
{
case 3:
- switch(sub_8039068(0x20, (gUnknown_203B33C->unk8), &temp.unk0))
+ switch(sub_8039068(0x20, gUnknown_203B33C->passwordBuffer, &temp.unk0))
{
case 17:
sub_8014248(gUnknown_80E48A8, 0, 6, &gUnknown_80E2440, 0, 4, 0, 0, 0x101);
- sub_80338C4(0x74);
+ SetFriendRescueMenuState(0x74);
break;
case 20:
sub_80141B4(gUnknown_80E49C4, 0, 0, 0x101);
- sub_80338C4(0x6B);
+ SetFriendRescueMenuState(0x6B);
break;
case 11:
sub_80141B4(gUnknown_80E4704, 0, 0, 0x101);
- sub_80338C4(0x6B);
+ SetFriendRescueMenuState(0x6B);
break;
case 24:
temp2 = sub_8095228(sub_809539C(4, temp.unk10));
*temp2 = temp;
temp2->unk0 = 6; // Some sort of Ack?
gUnknown_203B33C->unk420 = temp.unk10;
- sub_80338C4(0x6D);
+ SetFriendRescueMenuState(0x6D);
break;
case 7:
default:
@@ -90,7 +1371,7 @@ void sub_8034D74(void)
sub_80155F0();
ResetUnusedInputStruct();
sub_800641C(gUnknown_203B33C->unk3BC, 1, 1);
- sub_80338C4(1);
+ SetFriendRescueMenuState(1);
break;
default:
break;
@@ -105,7 +1386,7 @@ void sub_8034EC8(void)
if(!WriteSavePak())
{
FinishWriteSavePak();
- sub_80338C4(2);
+ SetFriendRescueMenuState(2);
}
}
}
@@ -118,7 +1399,7 @@ void sub_8034EF0(void)
if(!WriteSavePak())
{
FinishWriteSavePak();
- sub_80338C4(2);
+ SetFriendRescueMenuState(2);
}
}
}
@@ -129,7 +1410,7 @@ void sub_8034F18(void)
if(sub_80144A4(&temp) == 0)
{
- sub_80338C4(0x65);
+ SetFriendRescueMenuState(0x65);
PrepareSavePakWrite(SPECIES_NONE);
}
}
@@ -140,7 +1421,7 @@ void sub_8034F38(void)
if(sub_80144A4(&temp) == 0)
{
- sub_80338C4(0x71);
+ SetFriendRescueMenuState(0x71);
PrepareSavePakWrite(SPECIES_NONE);
}
}
@@ -154,10 +1435,10 @@ void sub_8034F58(void)
switch(temp)
{
case 6:
- sub_80338C4(0x62);
+ SetFriendRescueMenuState(0x62);
break;
case 8:
- sub_80338C4(0x1);
+ SetFriendRescueMenuState(0x1);
break;
}
}
@@ -174,16 +1455,16 @@ void sub_8034F88(void)
{
case 6:
temp2 = sub_8095228(gUnknown_203B33C->unk218);
- if(gUnknown_203B33C->unk41C.itemIndex != 0)
+ if(gUnknown_203B33C->unk41C.itemIndex != ITEM_ID_NOTHING)
temp2->unk20 = gUnknown_203B33C->unk41C;
gTeamInventory_203B460->teamStorage[gUnknown_203B33C->unk41C.itemIndex]--;
- sub_80338C4(0x75);
+ SetFriendRescueMenuState(0x75);
break;
case 7:
- sub_80338C4(0x57);
+ SetFriendRescueMenuState(0x57);
break;
case 8:
- sub_80338C4(0x1);
+ SetFriendRescueMenuState(0x1);
break;
}
}
@@ -195,7 +1476,7 @@ void sub_8035018(void)
if(sub_80144A4(&temp) == 0)
{
- sub_80338C4(0x76);
+ SetFriendRescueMenuState(0x76);
PrepareSavePakWrite(SPECIES_NONE);
}
}
@@ -215,13 +1496,13 @@ void sub_8035038(void)
break;
case 0xB:
case 0xC:
- sub_80338C4(0x69);
+ SetFriendRescueMenuState(0x69);
break;
case 0xD:
- sub_80338C4(0x66);
+ SetFriendRescueMenuState(0x66);
break;
case 0xE:
- sub_80338C4(0x4B);
+ SetFriendRescueMenuState(0x4B);
break;
}
}
@@ -244,18 +1525,18 @@ void sub_8035094(void)
break;
case 0xB:
case 0xC:
- sub_80338C4(0x69);
+ SetFriendRescueMenuState(0x69);
break;
case 0xD:
- sub_80338C4(0x66);
+ SetFriendRescueMenuState(0x66);
break;
case 0xE:
- sub_80338C4(0x4B);
+ SetFriendRescueMenuState(0x4B);
break;
}
break;
case 8:
- sub_80338C4(0x1);
+ SetFriendRescueMenuState(0x1);
break;
default:
break;
@@ -273,9 +1554,9 @@ void sub_80350F4(void)
{
case 0x15:
if(sub_801CF14(0) != 0)
- sub_80338C4(0x56);
+ SetFriendRescueMenuState(0x56);
else
- sub_80338C4(0x57);
+ SetFriendRescueMenuState(0x57);
break;
case 0x16:
// Dumb cast to get unsigned switch
@@ -285,18 +1566,18 @@ void sub_80350F4(void)
break;
case 0xB:
case 0xC:
- sub_80338C4(0x69);
+ SetFriendRescueMenuState(0x69);
break;
case 0xD:
- sub_80338C4(0x66);
+ SetFriendRescueMenuState(0x66);
break;
case 0xE:
- sub_80338C4(0x4B);
+ SetFriendRescueMenuState(0x4B);
break;
}
break;
case 8:
- sub_80338C4(0x1);
+ SetFriendRescueMenuState(0x1);
break;
default:
break;
@@ -320,18 +1601,18 @@ void sub_803517C(void)
break;
case 0xB:
case 0xC:
- sub_80338C4(0x69);
+ SetFriendRescueMenuState(0x69);
break;
case 0xD:
- sub_80338C4(0x66);
+ SetFriendRescueMenuState(0x66);
break;
case 0xE:
- sub_80338C4(0x4B);
+ SetFriendRescueMenuState(0x4B);
break;
}
break;
case 8:
- sub_80338C4(0x1);
+ SetFriendRescueMenuState(0x1);
break;
default:
break;
@@ -348,10 +1629,10 @@ void sub_80351E0(void)
switch(temp)
{
case 6:
- sub_80338C4(0x72);
+ SetFriendRescueMenuState(0x72);
break;
case 8:
- sub_80338C4(0x1);
+ SetFriendRescueMenuState(0x1);
break;
default:
break;
@@ -376,18 +1657,18 @@ void sub_8035210(void)
if(gUnknown_203B33C->unk528 == 0x13)
{
temp2 = sub_8095228(sub_80953D4(5));
- if(temp2->unk20.itemIndex != 0)
- sub_80338C4(0x53);
+ if(temp2->unk20.itemIndex != ITEM_ID_NOTHING)
+ SetFriendRescueMenuState(0x53);
else
- sub_80338C4(0x55);
+ SetFriendRescueMenuState(0x55);
}
else if(gUnknown_203B33C->unk524 != 0xD)
- sub_80338C4(0x69);
+ SetFriendRescueMenuState(0x69);
else
- sub_80338C4(0x72);
+ SetFriendRescueMenuState(0x72);
break;
case 8:
- sub_80338C4(1);
+ SetFriendRescueMenuState(1);
break;
case 0xE:
default:
@@ -424,7 +1705,7 @@ void sub_80352A4(void)
strcpy(gAvailablePokemonNames, monName);
uVar1 = sub_809539C(6, gUnknown_203B33C->unk420);
sub_8095240(uVar1);
- sub_80338C4(0x70);
+ SetFriendRescueMenuState(0x70);
}
}
@@ -436,18 +1717,18 @@ void sub_8035300(void)
switch(temp)
{
case 0x19:
- sub_80338C4(1);
+ SetFriendRescueMenuState(1);
break;
case 0x1B:
- sub_80338C4(0x7A);
+ SetFriendRescueMenuState(0x7A);
break;
case 0x1C:
- sub_80338C4(0x7C);
+ SetFriendRescueMenuState(0x7C);
break;
case 0x1A:
case 0x1D:
gUnknown_203B33C->unk564 = temp;
- sub_80338C4(0x79);
+ SetFriendRescueMenuState(0x79);
break;
}
}
@@ -460,7 +1741,7 @@ void sub_8035374(void)
switch(temp)
{
case 0x19:
- sub_80338C4(0x78);
+ SetFriendRescueMenuState(0x78);
break;
case 0x1E:
case 0x1F:
@@ -468,7 +1749,7 @@ void sub_8035374(void)
case 0x21:
case 0x22:
gUnknown_203B33C->unk564 = temp;
- sub_80338C4(0x7B);
+ SetFriendRescueMenuState(0x7B);
break;
}
}
@@ -481,14 +1762,14 @@ void sub_80353BC(void)
switch(temp)
{
case 0x19:
- sub_80338C4(0x78);
+ SetFriendRescueMenuState(0x78);
break;
case 0x23:
case 0x24:
case 0x25:
case 0x26:
gUnknown_203B33C->unk564 = temp;
- sub_80338C4(0x7D);
+ SetFriendRescueMenuState(0x7D);
break;
}
}
@@ -498,18 +1779,18 @@ void sub_8035404(u32 param_1)
s32 iVar1;
if(sub_80144A4(&iVar1) == 0){
- sub_80338C4(param_1);
+ SetFriendRescueMenuState(param_1);
}
}
void sub_8035424(void)
{
- sub_80338C4(6);
+ SetFriendRescueMenuState(6);
}
void sub_8035430(void)
{
- sub_80338C4(0x4F);
+ SetFriendRescueMenuState(0x4F);
}
void nullsub_50(void)
diff --git a/src/personality_test.c b/src/personality_test.c
index 70e76cd..76fc099 100644
--- a/src/personality_test.c
+++ b/src/personality_test.c
@@ -227,13 +227,13 @@ u8 HandleTestTrackerState(void)
RevealStarter();
break;
case 6:
- sub_803CA8C();
+ AdvanceToPickPartnerPrompt();
break;
case 7:
PromptPickPartner();
break;
case 8:
- sub_803CAD4();
+ AdvanceToPartnerSelection();
break;
case 9:
CallCreatePartnerSelectionMenu();
@@ -242,16 +242,16 @@ u8 HandleTestTrackerState(void)
PromptForPartnerNickname();
break;
case 11:
- sub_803CB5C();
+ AdvanceToPartnerNickhameScreen();
break;
case 12:
- sub_803CB7C();
+ NicknamePartner();
break;
case 13:
PrintEndIntroText();
break;
case 14:
- sub_803CBE4();
+ AdvanceToTestEnd();
break;
case 15:
iVar1 = Random() * gUnknown_203B400->FrameCounter;
@@ -471,7 +471,7 @@ void RevealStarter(void)
}
}
-void sub_803CA8C(void)
+void AdvanceToPickPartnerPrompt(void)
{
s32 temp;
@@ -486,7 +486,7 @@ void PromptPickPartner(void)
gUnknown_203B400->TestState = 8;
}
-void sub_803CAD4(void)
+void AdvanceToPartnerSelection(void)
{
s32 temp;
@@ -517,7 +517,7 @@ void PromptForPartnerNickname(void)
}
}
-void sub_803CB5C(void)
+void AdvanceToPartnerNickhameScreen(void)
{
s32 temp;
@@ -526,7 +526,7 @@ void sub_803CB5C(void)
}
}
-void sub_803CB7C(void)
+void NicknamePartner(void)
{
CopyStringtoBuffer(gUnknown_203B400->PartnerNick, GetMonSpecies(gUnknown_203B400->PartnerID));
sub_801602C(3, gUnknown_203B400->PartnerNick);
@@ -542,7 +542,7 @@ void PrintEndIntroText(void)
}
}
-void sub_803CBE4(void)
+void AdvanceToTestEnd(void)
{
s32 temp;
@@ -624,9 +624,9 @@ void CreatePartnerSelectionMenu(s16 starterID)
u16 HandlePartnerSelectionInput(void)
{
- s32 sVar1;
+ s32 partnerID;
- sVar1 = gUnknown_203B404->currPartnerSelection;
+ partnerID = gUnknown_203B404->currPartnerSelection;
gUnknown_203B404->unk16 = 0;
if (GetKeyPress(&gUnknown_203B404->unk18) == A_BUTTON) {
PlayMenuSoundEffect(0);
@@ -636,7 +636,7 @@ u16 HandlePartnerSelectionInput(void)
if (sub_80138B8(&gUnknown_203B404->unk18, 1) != '\0') {
RedrawPartnerSelectionMenu();
}
- if (sVar1 != gUnknown_203B404->currPartnerSelection) {
+ if (partnerID != gUnknown_203B404->currPartnerSelection) {
PersonalityTest_DisplayPartnerSprite();
}
if (gUnknown_203B404->unk16 != '\0') {