summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--asm/pokemon_summary_screen.s2775
-rw-r--r--hgrep.sh10
-rw-r--r--include/pokemon_summary_screen.h2
-rw-r--r--include/strings.h9
-rw-r--r--src/pokemon_summary_screen.c1066
5 files changed, 1062 insertions, 2800 deletions
diff --git a/asm/pokemon_summary_screen.s b/asm/pokemon_summary_screen.s
index b503a8525..d47c7e91c 100644
--- a/asm/pokemon_summary_screen.s
+++ b/asm/pokemon_summary_screen.s
@@ -5,2781 +5,6 @@
.text
- thumb_func_start sub_8134BAC
-sub_8134BAC: @ 8134BAC
- push {r4-r7,lr}
- sub sp, 0x8
- lsls r0, 24
- lsrs r0, 24
- adds r4, r0, 0
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- ldr r6, _08134BD4 @ =gTasks+0x8
- adds r7, r0, r6
- movs r1, 0
- ldrsh r0, [r7, r1]
- cmp r0, 0x9
- bls _08134BCA
- b _08134E18
-_08134BCA:
- lsls r0, 2
- ldr r1, _08134BD8 @ =_08134BDC
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_08134BD4: .4byte gTasks+0x8
-_08134BD8: .4byte _08134BDC
- .align 2, 0
-_08134BDC:
- .4byte _08134C04
- .4byte _08134C48
- .4byte _08134CD4
- .4byte _08134CF8
- .4byte _08134D2C
- .4byte _08134D4C
- .4byte _08134D68
- .4byte _08134D88
- .4byte _08134DB0
- .4byte _08134E00
-_08134C04:
- bl sub_8135638
- bl sub_81356EC
- ldr r4, _08134C38 @ =gMonSummaryScreen
- ldr r0, [r4]
- ldr r2, _08134C3C @ =0x00003234
- adds r0, r2
- movs r1, 0x1
- strb r1, [r0]
- ldr r0, [r4]
- ldr r3, _08134C40 @ =0x0000301c
- adds r0, r3
- strb r1, [r0]
- ldr r0, [r4]
- ldr r5, _08134C44 @ =0x00003214
- adds r0, r5
- ldrb r0, [r0]
- bl sub_813B750
- ldr r0, [r4]
- adds r0, r5
- ldrb r0, [r0]
- bl sub_8138280
- b _08134E74
- .align 2, 0
-_08134C38: .4byte gMonSummaryScreen
-_08134C3C: .4byte 0x00003234
-_08134C40: .4byte 0x0000301c
-_08134C44: .4byte 0x00003214
-_08134C48:
- ldr r0, _08134CC8 @ =gMonSummaryScreen
- ldr r1, [r0]
- ldr r2, _08134CCC @ =0x00003214
- adds r0, r1, r2
- ldrb r0, [r0]
- cmp r0, 0x3
- beq _08134C7E
- cmp r0, 0x2
- bne _08134C64
- ldr r3, _08134CD0 @ =0x00003224
- adds r0, r1, r3
- ldrb r0, [r0]
- cmp r0, 0
- beq _08134C7E
-_08134C64:
- movs r0, 0x1E
- str r0, [sp]
- movs r0, 0x14
- str r0, [sp, 0x4]
- movs r0, 0
- movs r1, 0
- movs r2, 0
- movs r3, 0
- bl FillBgTilemapBufferRect_Palette0
- movs r0, 0
- bl CopyBgTilemapBufferToVram
-_08134C7E:
- movs r4, 0x1E
- str r4, [sp]
- movs r5, 0x2
- str r5, [sp, 0x4]
- movs r0, 0x1
- movs r1, 0
- movs r2, 0
- movs r3, 0
- bl FillBgTilemapBufferRect_Palette0
- movs r6, 0xF
- str r6, [sp]
- str r5, [sp, 0x4]
- movs r0, 0x1
- movs r1, 0
- movs r2, 0
- movs r3, 0x2
- bl FillBgTilemapBufferRect_Palette0
- str r4, [sp]
- str r5, [sp, 0x4]
- movs r0, 0x2
- movs r1, 0
- movs r2, 0
- movs r3, 0
- bl FillBgTilemapBufferRect_Palette0
- str r6, [sp]
- str r5, [sp, 0x4]
- movs r0, 0x2
- movs r1, 0
- movs r2, 0
- movs r3, 0x2
- bl FillBgTilemapBufferRect_Palette0
- b _08134E74
- .align 2, 0
-_08134CC8: .4byte gMonSummaryScreen
-_08134CCC: .4byte 0x00003214
-_08134CD0: .4byte 0x00003224
-_08134CD4:
- bl sub_8135AA4
- bl sub_8135B90
- bl sub_8138538
- ldr r0, _08134CF0 @ =gMonSummaryScreen
- ldr r0, [r0]
- ldr r1, _08134CF4 @ =0x00003214
- adds r0, r1
- ldrb r0, [r0]
- bl sub_8137D28
- b _08134E74
- .align 2, 0
-_08134CF0: .4byte gMonSummaryScreen
-_08134CF4: .4byte 0x00003214
-_08134CF8:
- ldr r4, _08134D20 @ =gMonSummaryScreen
- ldr r0, [r4]
- movs r2, 0xC0
- lsls r2, 6
- adds r0, r2
- ldrb r0, [r0]
- movs r1, 0x2
- bl CopyWindowToVram
- ldr r0, [r4]
- ldr r3, _08134D24 @ =0x00003001
- adds r0, r3
- ldrb r0, [r0]
- movs r1, 0x2
- bl CopyWindowToVram
- ldr r0, [r4]
- ldr r1, _08134D28 @ =0x00003002
- adds r0, r1
- b _08134DE2
- .align 2, 0
-_08134D20: .4byte gMonSummaryScreen
-_08134D24: .4byte 0x00003001
-_08134D28: .4byte 0x00003002
-_08134D2C:
- bl IsDma3ManagerBusyWithBgCopy
- lsls r0, 24
- cmp r0, 0
- beq _08134D38
- b _08134E7A
-_08134D38:
- movs r0, 0x3
- bl CopyBgTilemapBufferToVram
- movs r0, 0x2
- bl CopyBgTilemapBufferToVram
- movs r0, 0x1
- bl CopyBgTilemapBufferToVram
- b _08134E74
-_08134D4C:
- bl sub_8135514
- ldr r0, _08134D60 @ =gMonSummaryScreen
- ldr r0, [r0]
- ldr r2, _08134D64 @ =0x00003244
- adds r0, r2
- movs r1, 0x1
- strb r1, [r0]
- b _08134E74
- .align 2, 0
-_08134D60: .4byte gMonSummaryScreen
-_08134D64: .4byte 0x00003244
-_08134D68:
- ldr r0, _08134D80 @ =gMonSummaryScreen
- ldr r0, [r0]
- ldr r3, _08134D84 @ =0x00003224
- adds r0, r3
- ldrb r0, [r0]
- bl sub_81357A0
- lsls r0, 24
- cmp r0, 0
- bne _08134D7E
- b _08134E7A
-_08134D7E:
- b _08134E74
- .align 2, 0
-_08134D80: .4byte gMonSummaryScreen
-_08134D84: .4byte 0x00003224
-_08134D88:
- bl sub_8136F4C
- ldr r0, _08134DA8 @ =gMonSummaryScreen
- ldr r0, [r0]
- ldr r1, _08134DAC @ =0x00003214
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0x3
- beq _08134D9E
- bl sub_81374E8
-_08134D9E:
- bl sub_8137BD0
- bl sub_8138A38
- b _08134E74
- .align 2, 0
-_08134DA8: .4byte gMonSummaryScreen
-_08134DAC: .4byte 0x00003214
-_08134DB0:
- ldr r4, _08134DEC @ =gMonSummaryScreen
- ldr r0, [r4]
- ldr r2, _08134DF0 @ =0x00003003
- adds r0, r2
- ldrb r0, [r0]
- movs r1, 0x2
- bl CopyWindowToVram
- ldr r0, [r4]
- ldr r3, _08134DF4 @ =0x00003004
- adds r0, r3
- ldrb r0, [r0]
- movs r1, 0x2
- bl CopyWindowToVram
- ldr r0, [r4]
- ldr r1, _08134DF8 @ =0x00003005
- adds r0, r1
- ldrb r0, [r0]
- movs r1, 0x2
- bl CopyWindowToVram
- ldr r0, [r4]
- ldr r2, _08134DFC @ =0x00003006
- adds r0, r2
-_08134DE2:
- ldrb r0, [r0]
- movs r1, 0x2
- bl CopyWindowToVram
- b _08134E74
- .align 2, 0
-_08134DEC: .4byte gMonSummaryScreen
-_08134DF0: .4byte 0x00003003
-_08134DF4: .4byte 0x00003004
-_08134DF8: .4byte 0x00003005
-_08134DFC: .4byte 0x00003006
-_08134E00:
- bl IsDma3ManagerBusyWithBgCopy
- lsls r0, 24
- cmp r0, 0
- bne _08134E7A
- movs r0, 0
- bl CopyBgTilemapBufferToVram
- movs r0, 0
- bl ShowBg
- b _08134E74
-_08134E18:
- bl sub_8138440
- ldr r5, _08134E5C @ =gMonSummaryScreen
- ldr r1, [r5]
- ldr r3, _08134E60 @ =0x00003214
- adds r0, r1, r3
- ldrb r0, [r0]
- cmp r0, 0x3
- bne _08134E40
- adds r2, r6, 0
- subs r2, 0x8
- ldr r3, _08134E64 @ =0x00003018
- adds r0, r1, r3
- ldrb r1, [r0]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- adds r0, r2
- ldr r1, _08134E68 @ =sub_8138CD8
- str r1, [r0]
-_08134E40:
- adds r0, r4, 0
- bl DestroyTask
- movs r0, 0
- strh r0, [r7]
- ldr r1, [r5]
- ldr r2, _08134E6C @ =0x00003234
- adds r1, r2
- strb r0, [r1]
- ldr r1, [r5]
- ldr r3, _08134E70 @ =0x0000301c
- adds r1, r3
- strb r0, [r1]
- b _08134E7A
- .align 2, 0
-_08134E5C: .4byte gMonSummaryScreen
-_08134E60: .4byte 0x00003214
-_08134E64: .4byte 0x00003018
-_08134E68: .4byte sub_8138CD8
-_08134E6C: .4byte 0x00003234
-_08134E70: .4byte 0x0000301c
-_08134E74:
- ldrh r0, [r7]
- adds r0, 0x1
- strh r0, [r7]
-_08134E7A:
- add sp, 0x8
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_8134BAC
-
- thumb_func_start sub_8134E84
-sub_8134E84: @ 8134E84
- push {r4-r6,lr}
- sub sp, 0x8
- ldr r4, _08134EA4 @ =gMonSummaryScreen
- ldr r0, [r4]
- ldr r1, _08134EA8 @ =0x00003284
- adds r0, r1
- ldrb r0, [r0]
- adds r5, r4, 0
- cmp r0, 0xB
- bls _08134E9A
- b _08135132
-_08134E9A:
- lsls r0, 2
- ldr r1, _08134EAC @ =_08134EB0
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_08134EA4: .4byte gMonSummaryScreen
-_08134EA8: .4byte 0x00003284
-_08134EAC: .4byte _08134EB0
- .align 2, 0
-_08134EB0:
- .4byte _08134EE0
- .4byte _08134F14
- .4byte _08134FA0
- .4byte _08134FC8
- .4byte _08135010
- .4byte _08135034
- .4byte _08135054
- .4byte _08135080
- .4byte _081350AC
- .4byte _081350D4
- .4byte _081350E4
- .4byte _08135114
-_08134EE0:
- ldr r1, _08134F04 @ =gMonSummaryScreen
- ldr r0, [r1]
- ldr r2, _08134F08 @ =0x00003234
- adds r0, r2
- movs r2, 0x1
- strb r2, [r0]
- ldr r0, [r1]
- ldr r3, _08134F0C @ =0x0000301c
- adds r0, r3
- strb r2, [r0]
- ldr r0, [r1]
- ldr r1, _08134F10 @ =0x00003214
- adds r0, r1
- ldrb r0, [r0]
- bl sub_8138280
- b _08135180
- .align 2, 0
-_08134F04: .4byte gMonSummaryScreen
-_08134F08: .4byte 0x00003234
-_08134F0C: .4byte 0x0000301c
-_08134F10: .4byte 0x00003214
-_08134F14:
- ldr r0, _08134F94 @ =gMonSummaryScreen
- ldr r1, [r0]
- ldr r2, _08134F98 @ =0x00003214
- adds r0, r1, r2
- ldrb r0, [r0]
- cmp r0, 0x3
- beq _08134F4A
- cmp r0, 0x2
- bne _08134F30
- ldr r3, _08134F9C @ =0x00003224
- adds r0, r1, r3
- ldrb r0, [r0]
- cmp r0, 0
- beq _08134F4A
-_08134F30:
- movs r0, 0x1E
- str r0, [sp]
- movs r0, 0x14
- str r0, [sp, 0x4]
- movs r0, 0
- movs r1, 0
- movs r2, 0
- movs r3, 0
- bl FillBgTilemapBufferRect_Palette0
- movs r0, 0
- bl CopyBgTilemapBufferToVram
-_08134F4A:
- movs r4, 0x1E
- str r4, [sp]
- movs r5, 0x2
- str r5, [sp, 0x4]
- movs r0, 0x1
- movs r1, 0
- movs r2, 0
- movs r3, 0
- bl FillBgTilemapBufferRect_Palette0
- movs r6, 0xF
- str r6, [sp]
- str r5, [sp, 0x4]
- movs r0, 0x1
- movs r1, 0
- movs r2, 0
- movs r3, 0x2
- bl FillBgTilemapBufferRect_Palette0
- str r4, [sp]
- str r5, [sp, 0x4]
- movs r0, 0x2
- movs r1, 0
- movs r2, 0
- movs r3, 0
- bl FillBgTilemapBufferRect_Palette0
- str r6, [sp]
- str r5, [sp, 0x4]
- movs r0, 0x2
- movs r1, 0
- movs r2, 0
- movs r3, 0x2
- bl FillBgTilemapBufferRect_Palette0
- b _08135180
- .align 2, 0
-_08134F94: .4byte gMonSummaryScreen
-_08134F98: .4byte 0x00003214
-_08134F9C: .4byte 0x00003224
-_08134FA0:
- bl sub_8135638
- ldr r0, _08134FC0 @ =gMonSummaryScreen
- ldr r0, [r0]
- ldr r1, _08134FC4 @ =0x00003214
- adds r0, r1
- ldrb r0, [r0]
- bl sub_813B750
- bl sub_8135B90
- bl sub_8138538
- bl sub_8135AA4
- b _08135180
- .align 2, 0
-_08134FC0: .4byte gMonSummaryScreen
-_08134FC4: .4byte 0x00003214
-_08134FC8:
- ldr r0, _08134FF0 @ =gUnknown_8419C39
- bl sub_8136DA4
- ldr r0, _08134FF4 @ =gMain
- ldr r2, _08134FF8 @ =0x00000439
- adds r0, r2
- ldrb r1, [r0]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- bne _08135004
- ldr r0, _08134FFC @ =gReceivedRemoteLinkPlayers
- ldrb r0, [r0]
- cmp r0, 0
- bne _08135004
- ldr r0, _08135000 @ =gUnknown_8419C92
- bl sub_8136DF0
- b _08135180
- .align 2, 0
-_08134FF0: .4byte gUnknown_8419C39
-_08134FF4: .4byte gMain
-_08134FF8: .4byte 0x00000439
-_08134FFC: .4byte gReceivedRemoteLinkPlayers
-_08135000: .4byte gUnknown_8419C92
-_08135004:
- ldr r0, _0813500C @ =gUnknown_8419CA2
- bl sub_8136DF0
- b _08135180
- .align 2, 0
-_0813500C: .4byte gUnknown_8419CA2
-_08135010:
- ldr r4, _0813502C @ =gMonSummaryScreen
- ldr r0, [r4]
- movs r3, 0xC0
- lsls r3, 6
- adds r0, r3
- ldrb r0, [r0]
- movs r1, 0x2
- bl CopyWindowToVram
- ldr r0, [r4]
- ldr r1, _08135030 @ =0x00003001
- adds r0, r1
- b _081350FE
- .align 2, 0
-_0813502C: .4byte gMonSummaryScreen
-_08135030: .4byte 0x00003001
-_08135034:
- bl IsDma3ManagerBusyWithBgCopy
- lsls r0, 24
- cmp r0, 0
- beq _08135040
- b _0813518E
-_08135040:
- movs r0, 0x2
- bl CopyBgTilemapBufferToVram
- movs r0, 0x1
- bl CopyBgTilemapBufferToVram
- movs r0, 0x3
- bl CopyBgTilemapBufferToVram
- b _08135180
-_08135054:
- bl sub_8136F4C
- bl sub_8137BD0
- ldr r4, _08135074 @ =gMonSummaryScreen
- ldr r0, [r4]
- ldr r2, _08135078 @ =0x00003003
- adds r0, r2
- ldrb r0, [r0]
- movs r1, 0x2
- bl CopyWindowToVram
- ldr r0, [r4]
- ldr r3, _0813507C @ =0x00003005
- adds r0, r3
- b _081350FE
- .align 2, 0
-_08135074: .4byte gMonSummaryScreen
-_08135078: .4byte 0x00003003
-_0813507C: .4byte 0x00003005
-_08135080:
- bl IsDma3ManagerBusyWithBgCopy
- lsls r0, 24
- cmp r0, 0
- beq _0813508C
- b _0813518E
-_0813508C:
- movs r0, 0
- bl CopyBgTilemapBufferToVram
- bl sub_8135514
- ldr r0, _081350A4 @ =gMonSummaryScreen
- ldr r0, [r0]
- ldr r1, _081350A8 @ =0x00003244
- adds r0, r1
- movs r1, 0x1
- strb r1, [r0]
- b _08135180
- .align 2, 0
-_081350A4: .4byte gMonSummaryScreen
-_081350A8: .4byte 0x00003244
-_081350AC:
- ldr r0, [r5]
- ldr r2, _081350CC @ =0x00003224
- adds r0, r2
- ldrb r0, [r0]
- bl sub_81357A0
- lsls r0, 24
- cmp r0, 0
- beq _0813518E
- bl sub_81374E8
- ldr r0, [r5]
- ldr r3, _081350D0 @ =0x00003004
- adds r0, r3
- b _081350FE
- .align 2, 0
-_081350CC: .4byte 0x00003224
-_081350D0: .4byte 0x00003004
-_081350D4:
- bl sub_8138A38
- ldr r0, _081350E0 @ =gUnknown_8419C45
- bl sub_8136E50
- b _08135180
- .align 2, 0
-_081350E0: .4byte gUnknown_8419C45
-_081350E4:
- bl sub_81356EC
- ldr r4, _08135108 @ =gMonSummaryScreen
- ldr r0, [r4]
- ldr r1, _0813510C @ =0x00003006
- adds r0, r1
- ldrb r0, [r0]
- movs r1, 0x2
- bl CopyWindowToVram
- ldr r0, [r4]
- ldr r2, _08135110 @ =0x00003002
- adds r0, r2
-_081350FE:
- ldrb r0, [r0]
- movs r1, 0x2
- bl CopyWindowToVram
- b _08135180
- .align 2, 0
-_08135108: .4byte gMonSummaryScreen
-_0813510C: .4byte 0x00003006
-_08135110: .4byte 0x00003002
-_08135114:
- bl IsDma3ManagerBusyWithBgCopy
- lsls r0, 24
- cmp r0, 0
- bne _0813518E
- movs r0, 0
- bl CopyBgTilemapBufferToVram
- movs r0, 0x2
- bl CopyBgTilemapBufferToVram
- movs r0, 0x1
- bl CopyBgTilemapBufferToVram
- b _08135180
-_08135132:
- bl sub_8138440
- ldr r3, _08135168 @ =gTasks
- ldr r2, [r4]
- ldr r1, _0813516C @ =0x00003018
- adds r0, r2, r1
- ldrb r1, [r0]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- adds r0, r3
- ldr r1, _08135170 @ =sub_8138CD8
- str r1, [r0]
- ldr r3, _08135174 @ =0x00003284
- adds r2, r3
- movs r1, 0
- strb r1, [r2]
- ldr r0, [r4]
- ldr r2, _08135178 @ =0x00003234
- adds r0, r2
- strb r1, [r0]
- ldr r0, [r4]
- ldr r3, _0813517C @ =0x0000301c
- adds r0, r3
- strb r1, [r0]
- b _0813518E
- .align 2, 0
-_08135168: .4byte gTasks
-_0813516C: .4byte 0x00003018
-_08135170: .4byte sub_8138CD8
-_08135174: .4byte 0x00003284
-_08135178: .4byte 0x00003234
-_0813517C: .4byte 0x0000301c
-_08135180:
- ldr r0, _08135198 @ =gMonSummaryScreen
- ldr r1, [r0]
- ldr r0, _0813519C @ =0x00003284
- adds r1, r0
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
-_0813518E:
- add sp, 0x8
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_08135198: .4byte gMonSummaryScreen
-_0813519C: .4byte 0x00003284
- thumb_func_end sub_8134E84
-
- thumb_func_start sub_81351A0
-sub_81351A0: @ 81351A0
- push {r4-r6,lr}
- sub sp, 0x8
- ldr r4, _081351C0 @ =gMonSummaryScreen
- ldr r0, [r4]
- ldr r1, _081351C4 @ =0x00003284
- adds r0, r1
- ldrb r0, [r0]
- adds r2, r4, 0
- cmp r0, 0xA
- bls _081351B6
- b _08135400
-_081351B6:
- lsls r0, 2
- ldr r1, _081351C8 @ =_081351CC
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_081351C0: .4byte gMonSummaryScreen
-_081351C4: .4byte 0x00003284
-_081351C8: .4byte _081351CC
- .align 2, 0
-_081351CC:
- .4byte _081351F8
- .4byte _0813522C
- .4byte _081352B8
- .4byte _081352BE
- .4byte _08135310
- .4byte _08135328
- .4byte _08135354
- .4byte _0813544C
- .4byte _08135388
- .4byte _081353AC
- .4byte _081353EC
-_081351F8:
- ldr r1, _0813521C @ =gMonSummaryScreen
- ldr r0, [r1]
- ldr r2, _08135220 @ =0x00003234
- adds r0, r2
- movs r2, 0x1
- strb r2, [r0]
- ldr r0, [r1]
- ldr r3, _08135224 @ =0x0000301c
- adds r0, r3
- strb r2, [r0]
- ldr r0, [r1]
- ldr r1, _08135228 @ =0x00003214
- adds r0, r1
- ldrb r0, [r0]
- bl sub_8138280
- b _0813544C
- .align 2, 0
-_0813521C: .4byte gMonSummaryScreen
-_08135220: .4byte 0x00003234
-_08135224: .4byte 0x0000301c
-_08135228: .4byte 0x00003214
-_0813522C:
- ldr r0, _081352AC @ =gMonSummaryScreen
- ldr r1, [r0]
- ldr r2, _081352B0 @ =0x00003214
- adds r0, r1, r2
- ldrb r0, [r0]
- cmp r0, 0x3
- beq _08135262
- cmp r0, 0x2
- bne _08135248
- ldr r3, _081352B4 @ =0x00003224
- adds r0, r1, r3
- ldrb r0, [r0]
- cmp r0, 0
- beq _08135262
-_08135248:
- movs r0, 0x1E
- str r0, [sp]
- movs r0, 0x14
- str r0, [sp, 0x4]
- movs r0, 0
- movs r1, 0
- movs r2, 0
- movs r3, 0
- bl FillBgTilemapBufferRect_Palette0
- movs r0, 0
- bl CopyBgTilemapBufferToVram
-_08135262:
- movs r4, 0x1E
- str r4, [sp]
- movs r5, 0x2
- str r5, [sp, 0x4]
- movs r0, 0x1
- movs r1, 0
- movs r2, 0
- movs r3, 0
- bl FillBgTilemapBufferRect_Palette0
- movs r6, 0xF
- str r6, [sp]
- str r5, [sp, 0x4]
- movs r0, 0x1
- movs r1, 0
- movs r2, 0
- movs r3, 0x2
- bl FillBgTilemapBufferRect_Palette0
- str r4, [sp]
- str r5, [sp, 0x4]
- movs r0, 0x2
- movs r1, 0
- movs r2, 0
- movs r3, 0
- bl FillBgTilemapBufferRect_Palette0
- str r6, [sp]
- str r5, [sp, 0x4]
- movs r0, 0x2
- movs r1, 0
- movs r2, 0
- movs r3, 0x2
- bl FillBgTilemapBufferRect_Palette0
- b _0813544C
- .align 2, 0
-_081352AC: .4byte gMonSummaryScreen
-_081352B0: .4byte 0x00003214
-_081352B4: .4byte 0x00003224
-_081352B8:
- bl sub_8135AA4
- b _0813544C
-_081352BE:
- bl sub_8136F4C
- bl sub_81374E8
- bl sub_8137BD0
- ldr r4, _08135300 @ =gMonSummaryScreen
- ldr r0, [r4]
- ldr r1, _08135304 @ =0x00003003
- adds r0, r1
- ldrb r0, [r0]
- movs r1, 0x2
- bl CopyWindowToVram
- ldr r0, [r4]
- ldr r2, _08135308 @ =0x00003004
- adds r0, r2
- ldrb r0, [r0]
- movs r1, 0x2
- bl CopyWindowToVram
- ldr r0, [r4]
- ldr r3, _0813530C @ =0x00003005
- adds r0, r3
- ldrb r0, [r0]
- movs r1, 0x2
- bl CopyWindowToVram
- movs r0, 0
- bl CopyBgTilemapBufferToVram
- b _0813544C
- .align 2, 0
-_08135300: .4byte gMonSummaryScreen
-_08135304: .4byte 0x00003003
-_08135308: .4byte 0x00003004
-_0813530C: .4byte 0x00003005
-_08135310:
- ldr r0, _08135320 @ =gUnknown_8419C39
- bl sub_8136DA4
- ldr r0, _08135324 @ =gUnknown_8419C82
- bl sub_8136DF0
- b _0813544C
- .align 2, 0
-_08135320: .4byte gUnknown_8419C39
-_08135324: .4byte gUnknown_8419C82
-_08135328:
- ldr r4, _0813534C @ =gMonSummaryScreen
- ldr r0, [r4]
- movs r1, 0xC0
- lsls r1, 6
- adds r0, r1
- ldrb r0, [r0]
- movs r1, 0x2
- bl CopyWindowToVram
- ldr r0, [r4]
- ldr r2, _08135350 @ =0x00003001
- adds r0, r2
- ldrb r0, [r0]
- movs r1, 0x2
- bl CopyWindowToVram
- b _081353D0
- .align 2, 0
-_0813534C: .4byte gMonSummaryScreen
-_08135350: .4byte 0x00003001
-_08135354:
- bl sub_8135514
- ldr r4, _0813537C @ =gMonSummaryScreen
- ldr r0, [r4]
- ldr r3, _08135380 @ =0x00003244
- adds r0, r3
- movs r1, 0x1
- strb r1, [r0]
- bl sub_8135638
- ldr r0, [r4]
- ldr r1, _08135384 @ =0x00003214
- adds r0, r1
- ldrb r0, [r0]
- bl sub_813B750
- bl sub_8138A38
- b _0813544C
- .align 2, 0
-_0813537C: .4byte gMonSummaryScreen
-_08135380: .4byte 0x00003244
-_08135384: .4byte 0x00003214
-_08135388:
- ldr r0, [r2]
- ldr r2, _081353A4 @ =0x00003224
- adds r0, r2
- ldrb r0, [r0]
- bl sub_81357A0
- lsls r0, 24
- cmp r0, 0
- beq _0813545A
- ldr r0, _081353A8 @ =gUnknown_8419C45
- bl sub_8136E50
- b _0813544C
- .align 2, 0
-_081353A4: .4byte 0x00003224
-_081353A8: .4byte gUnknown_8419C45
-_081353AC:
- ldr r4, _081353E0 @ =gMonSummaryScreen
- ldr r0, [r4]
- ldr r3, _081353E4 @ =0x00003006
- adds r0, r3
- ldrb r0, [r0]
- movs r1, 0x2
- bl CopyWindowToVram
- ldr r0, [r4]
- ldr r1, _081353E8 @ =0x00003002
- adds r0, r1
- ldrb r0, [r0]
- movs r1, 0x2
- bl CopyWindowToVram
- movs r0, 0
- bl CopyBgTilemapBufferToVram
-_081353D0:
- movs r0, 0x2
- bl CopyBgTilemapBufferToVram
- movs r0, 0x1
- bl CopyBgTilemapBufferToVram
- b _0813544C
- .align 2, 0
-_081353E0: .4byte gMonSummaryScreen
-_081353E4: .4byte 0x00003006
-_081353E8: .4byte 0x00003002
-_081353EC:
- bl sub_8135B90
- bl sub_8138538
- movs r0, 0x3
- bl CopyBgTilemapBufferToVram
- bl sub_81356EC
- b _0813544C
-_08135400:
- bl sub_8138440
- ldr r3, _08135434 @ =gTasks
- ldr r2, [r4]
- ldr r1, _08135438 @ =0x00003018
- adds r0, r2, r1
- ldrb r1, [r0]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- adds r0, r3
- ldr r1, _0813543C @ =sub_8134840
- str r1, [r0]
- ldr r3, _08135440 @ =0x00003284
- adds r2, r3
- movs r1, 0
- strb r1, [r2]
- ldr r0, [r4]
- ldr r2, _08135444 @ =0x00003234
- adds r0, r2
- strb r1, [r0]
- ldr r0, [r4]
- ldr r3, _08135448 @ =0x0000301c
- adds r0, r3
- strb r1, [r0]
- b _0813545A
- .align 2, 0
-_08135434: .4byte gTasks
-_08135438: .4byte 0x00003018
-_0813543C: .4byte sub_8134840
-_08135440: .4byte 0x00003284
-_08135444: .4byte 0x00003234
-_08135448: .4byte 0x0000301c
-_0813544C:
- ldr r0, _08135464 @ =gMonSummaryScreen
- ldr r1, [r0]
- ldr r0, _08135468 @ =0x00003284
- adds r1, r0
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
-_0813545A:
- add sp, 0x8
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_08135464: .4byte gMonSummaryScreen
-_08135468: .4byte 0x00003284
- thumb_func_end sub_81351A0
-
- thumb_func_start sub_813546C
-sub_813546C: @ 813546C
- push {r4-r6,lr}
- movs r4, 0
- ldr r6, _081354BC @ =gUnknown_203B160
-_08135472:
- ldr r1, [r6]
- lsls r5, r4, 1
- adds r0, r1, 0
- adds r0, 0x2C
- adds r0, r5
- lsls r2, r4, 3
- mov r12, r2
- movs r2, 0xC6
- lsls r2, 1
- add r2, r12
- strh r2, [r0]
- lsls r3, r4, 2
- adds r1, r3
- ldr r0, [r1]
- strh r2, [r0, 0x20]
- cmp r4, 0x8
- bhi _081354AC
- ldr r0, _081354C0 @ =gUnknown_203B15C
- ldr r1, [r0]
- adds r0, r1, 0
- adds r0, 0x28
- adds r0, r5
- movs r2, 0xCE
- lsls r2, 1
- add r2, r12
- strh r2, [r0]
- adds r1, r3
- ldr r0, [r1]
- strh r2, [r0, 0x20]
-_081354AC:
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0xA
- bls _08135472
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_081354BC: .4byte gUnknown_203B160
-_081354C0: .4byte gUnknown_203B15C
- thumb_func_end sub_813546C
-
- thumb_func_start sub_81354C4
-sub_81354C4: @ 81354C4
- push {r4-r7,lr}
- movs r5, 0
- ldr r7, _0813550C @ =gUnknown_203B160
-_081354CA:
- ldr r1, [r7]
- lsls r6, r5, 1
- adds r0, r1, 0
- adds r0, 0x2C
- adds r0, r6
- lsls r4, r5, 3
- adds r2, r4, 0
- adds r2, 0x9C
- strh r2, [r0]
- lsls r3, r5, 2
- adds r1, r3
- ldr r0, [r1]
- strh r2, [r0, 0x20]
- cmp r5, 0x8
- bhi _081354FC
- ldr r0, _08135510 @ =gUnknown_203B15C
- ldr r1, [r0]
- adds r0, r1, 0
- adds r0, 0x28
- adds r0, r6
- adds r2, 0x10
- strh r2, [r0]
- adds r1, r3
- ldr r0, [r1]
- strh r2, [r0, 0x20]
-_081354FC:
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0xA
- bls _081354CA
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0813550C: .4byte gUnknown_203B160
-_08135510: .4byte gUnknown_203B15C
- thumb_func_end sub_81354C4
-
- thumb_func_start sub_8135514
-sub_8135514: @ 8135514
- push {r4-r6,lr}
- movs r4, 0x1
- ldr r6, _0813553C @ =gMonSummaryScreen
- ldr r1, [r6]
- ldr r2, _08135540 @ =0x00003224
- adds r0, r1, r2
- ldrb r3, [r0]
- cmp r3, 0x1
- bne _08135528
- movs r4, 0xFF
-_08135528:
- ldr r0, _08135544 @ =0x00003214
- adds r2, r1, r0
- ldrb r0, [r2]
- cmp r0, 0x3
- bne _0813554C
- ldr r2, _08135548 @ =0x0000324c
- adds r1, r2
- movs r0, 0xF0
- strh r0, [r1]
- b _08135632
- .align 2, 0
-_0813553C: .4byte gMonSummaryScreen
-_08135540: .4byte 0x00003224
-_08135544: .4byte 0x00003214
-_08135548: .4byte 0x0000324c
-_0813554C:
- lsls r0, r4, 24
- asrs r0, 24
- ldrb r2, [r2]
- adds r0, r2
- cmp r0, 0x3
- bne _08135580
- movs r0, 0
- movs r1, 0
- bl sub_81358DC
- ldr r0, [r6]
- ldr r1, _0813557C @ =0x0000324c
- adds r0, r1
- movs r1, 0
- strh r1, [r0]
- movs r0, 0x14
- bl SetGpuReg
- movs r0, 0x18
- movs r1, 0
- bl SetGpuReg
- b _08135632
- .align 2, 0
-_0813557C: .4byte 0x0000324c
-_08135580:
- cmp r3, 0x1
- bne _081355B4
- ldr r2, _081355B0 @ =0x0000324c
- adds r1, r2
- movs r0, 0
- strh r0, [r1]
- movs r0, 0x10
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x14
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x18
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x1
- movs r1, 0x1
- bl sub_81358DC
- b _081355FC
- .align 2, 0
-_081355B0: .4byte 0x0000324c
-_081355B4:
- movs r0, 0xA
- bl GetGpuReg
- movs r4, 0x3
- adds r5, r4, 0
- ands r5, r0
- movs r0, 0xC
- bl GetGpuReg
- ands r4, r0
- ldr r0, [r6]
- ldr r1, _081355E0 @ =0x0000324c
- adds r0, r1
- movs r1, 0xF0
- strh r1, [r0]
- cmp r5, r4
- bls _081355E4
- movs r0, 0x14
- bl SetGpuReg
- b _081355EC
- .align 2, 0
-_081355E0: .4byte 0x0000324c
-_081355E4:
- movs r0, 0x18
- movs r1, 0xF0
- bl SetGpuReg
-_081355EC:
- movs r0, 0x10
- movs r1, 0xF0
- bl SetGpuReg
- movs r0, 0x1
- movs r1, 0
- bl sub_81358DC
-_081355FC:
- ldr r0, _0813561C @ =gMonSummaryScreen
- ldr r1, [r0]
- ldr r2, _08135620 @ =0x00003214
- adds r0, r1, r2
- ldrb r0, [r0]
- cmp r0, 0x1
- bne _0813562A
- adds r2, 0x10
- adds r0, r1, r2
- ldrb r0, [r0]
- cmp r0, 0x1
- bne _08135624
- bl sub_81354C4
- b _08135632
- .align 2, 0
-_0813561C: .4byte gMonSummaryScreen
-_08135620: .4byte 0x00003214
-_08135624:
- bl sub_813546C
- b _08135632
-_0813562A:
- cmp r0, 0x2
- bne _08135632
- bl sub_81354C4
-_08135632:
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_8135514
-
- thumb_func_start sub_8135638
-sub_8135638: @ 8135638
- push {lr}
- ldr r0, _08135654 @ =gMonSummaryScreen
- ldr r2, [r0]
- ldr r3, _08135658 @ =0x00003224
- adds r1, r2, r3
- ldrb r1, [r1]
- adds r3, r0, 0
- cmp r1, 0x1
- bne _08135660
- ldr r1, _0813565C @ =0x00003214
- adds r0, r2, r1
- ldrb r0, [r0]
- subs r0, 0x1
- b _08135668
- .align 2, 0
-_08135654: .4byte gMonSummaryScreen
-_08135658: .4byte 0x00003224
-_0813565C: .4byte 0x00003214
-_08135660:
- ldr r1, _08135680 @ =0x00003214
- adds r0, r2, r1
- ldrb r0, [r0]
- adds r0, 0x1
-_08135668:
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _08135684
- cmp r0, 0x1
- ble _081356E6
- cmp r0, 0x2
- beq _08135692
- cmp r0, 0x3
- beq _081356C8
- b _081356E6
- .align 2, 0
-_08135680: .4byte 0x00003214
-_08135684:
- movs r0, 0x1
- bl sub_813A838
- movs r0, 0x1
- bl sub_813AB70
- b _081356E6
-_08135692:
- ldr r0, [r3]
- ldr r3, _081356C4 @ =0x00003224
- adds r0, r3
- ldrb r0, [r0]
- cmp r0, 0x1
- bne _081356E6
- movs r0, 0x1
- bl sub_8139C44
- movs r0, 0x1
- bl sub_813B084
- movs r0, 0x1
- bl sub_8139D54
- movs r0, 0x1
- bl sub_813A3B8
- movs r0, 0x1
- bl sub_813ACF8
- movs r0, 0x1
- bl sub_813AEB0
- b _081356E6
- .align 2, 0
-_081356C4: .4byte 0x00003224
-_081356C8:
- movs r0, 0x1
- bl sub_813A0E8
- movs r0, 0x1
- bl sub_8139EE4
- movs r0, 0x1
- bl sub_813A3B8
- movs r0, 0x1
- bl sub_813ACF8
- movs r0, 0x1
- bl sub_813AEB0
-_081356E6:
- pop {r0}
- bx r0
- thumb_func_end sub_8135638
-
- thumb_func_start sub_81356EC
-sub_81356EC: @ 81356EC
- push {lr}
- ldr r0, _08135708 @ =gMonSummaryScreen
- ldr r2, [r0]
- ldr r3, _0813570C @ =0x00003224
- adds r1, r2, r3
- ldrb r1, [r1]
- adds r3, r0, 0
- cmp r1, 0x1
- bne _08135714
- ldr r1, _08135710 @ =0x00003214
- adds r0, r2, r1
- ldrb r0, [r0]
- subs r0, 0x1
- b _0813571C
- .align 2, 0
-_08135708: .4byte gMonSummaryScreen
-_0813570C: .4byte 0x00003224
-_08135710: .4byte 0x00003214
-_08135714:
- ldr r1, _08135730 @ =0x00003214
- adds r0, r2, r1
- ldrb r0, [r0]
- adds r0, 0x1
-_0813571C:
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _0813579A
- cmp r0, 0x1
- bgt _08135734
- cmp r0, 0
- beq _0813574A
- b _0813579A
- .align 2, 0
-_08135730: .4byte 0x00003214
-_08135734:
- cmp r0, 0x2
- beq _0813573E
- cmp r0, 0x3
- beq _08135776
- b _0813579A
-_0813573E:
- ldr r0, [r3]
- ldr r3, _08135758 @ =0x00003224
- adds r0, r3
- ldrb r0, [r0]
- cmp r0, 0
- bne _0813575C
-_0813574A:
- movs r0, 0
- bl sub_813A838
- movs r0, 0
- bl sub_813AB70
- b _0813579A
- .align 2, 0
-_08135758: .4byte 0x00003224
-_0813575C:
- movs r0, 0
- bl sub_813A0E8
- movs r0, 0
- bl sub_813ACF8
- movs r0, 0
- bl sub_8139EE4
- movs r0, 0
- bl sub_813AEB0
- b _0813579A
-_08135776:
- movs r0, 0
- bl sub_8139C44
- movs r0, 0
- bl sub_813B084
- movs r0, 0
- bl sub_813A3B8
- movs r0, 0
- bl sub_8139D54
- movs r0, 0
- bl sub_813ACF8
- movs r0, 0
- bl sub_813AEB0
-_0813579A:
- pop {r0}
- bx r0
- thumb_func_end sub_81356EC
-
- thumb_func_start sub_81357A0
-sub_81357A0: @ 81357A0
- push {r4-r6,lr}
- movs r3, 0x1
- ldr r0, _081357EC @ =gMonSummaryScreen
- ldr r2, [r0]
- ldr r4, _081357F0 @ =0x00003224
- adds r1, r2, r4
- ldrb r1, [r1]
- adds r5, r0, 0
- cmp r1, 0x1
- bne _081357B6
- movs r3, 0xFF
-_081357B6:
- ldr r1, _081357F4 @ =0x00003214
- adds r0, r2, r1
- ldrb r0, [r0]
- cmp r0, 0x3
- bne _08135800
- ldr r4, _081357F8 @ =0x0000324c
- adds r1, r2, r4
- movs r4, 0
- ldrsh r0, [r1, r4]
- cmp r0, 0
- bgt _08135800
- movs r4, 0
- movs r0, 0
- strh r0, [r1]
- ldr r0, _081357FC @ =0x00003238
- adds r2, r0
- ldrb r0, [r2]
- movs r1, 0x1
- eors r0, r1
- strb r0, [r2]
- movs r0, 0
- movs r1, 0
- bl sub_81358DC
- ldr r0, [r5]
- b _0813587E
- .align 2, 0
-_081357EC: .4byte gMonSummaryScreen
-_081357F0: .4byte 0x00003224
-_081357F4: .4byte 0x00003214
-_081357F8: .4byte 0x0000324c
-_081357FC: .4byte 0x00003238
-_08135800:
- ldr r2, [r5]
- ldr r4, _0813583C @ =0x00003214
- adds r1, r2, r4
- lsls r0, r3, 24
- asrs r0, 24
- ldrb r1, [r1]
- adds r0, r1
- cmp r0, 0x3
- bne _08135848
- ldr r0, _08135840 @ =0x0000324c
- adds r1, r2, r0
- movs r3, 0
- ldrsh r0, [r1, r3]
- cmp r0, 0xEF
- ble _08135848
- movs r3, 0
- movs r0, 0xF0
- strh r0, [r1]
- adds r4, 0x24
- adds r2, r4
- ldrb r0, [r2]
- movs r1, 0x1
- eors r0, r1
- strb r0, [r2]
- ldr r0, [r5]
- ldr r1, _08135844 @ =0x00003244
- adds r0, r1
- strb r3, [r0]
- movs r0, 0x1
- b _081358D6
- .align 2, 0
-_0813583C: .4byte 0x00003214
-_08135840: .4byte 0x0000324c
-_08135844: .4byte 0x00003244
-_08135848:
- adds r6, r5, 0
- ldr r2, [r6]
- ldr r3, _08135888 @ =0x00003224
- adds r0, r2, r3
- ldrb r0, [r0]
- cmp r0, 0x1
- bne _08135898
- ldr r4, _0813588C @ =0x0000324c
- adds r1, r2, r4
- movs r3, 0
- ldrsh r0, [r1, r3]
- cmp r0, 0xEF
- ble _081358D4
- movs r4, 0
- movs r0, 0xF0
- strh r0, [r1]
- ldr r0, _08135890 @ =0x00003238
- adds r2, r0
- ldrb r0, [r2]
- movs r1, 0x1
- eors r0, r1
- strb r0, [r2]
- movs r0, 0
- movs r1, 0
- bl sub_81358DC
- ldr r0, [r6]
-_0813587E:
- ldr r1, _08135894 @ =0x00003244
- adds r0, r1
- strb r4, [r0]
- movs r0, 0x1
- b _081358D6
- .align 2, 0
-_08135888: .4byte 0x00003224
-_0813588C: .4byte 0x0000324c
-_08135890: .4byte 0x00003238
-_08135894: .4byte 0x00003244
-_08135898:
- ldr r3, _081358C8 @ =0x0000324c
- adds r0, r2, r3
- movs r4, 0
- ldrsh r0, [r0, r4]
- cmp r0, 0
- bgt _081358D4
- ldr r0, _081358CC @ =0x00003238
- adds r2, r0
- ldrb r0, [r2]
- movs r1, 0x1
- eors r0, r1
- movs r3, 0
- strb r0, [r2]
- ldr r0, [r5]
- ldr r2, _081358C8 @ =0x0000324c
- adds r1, r0, r2
- movs r2, 0
- strh r3, [r1]
- ldr r3, _081358D0 @ =0x00003244
- adds r0, r3
- strb r2, [r0]
- movs r0, 0x1
- b _081358D6
- .align 2, 0
-_081358C8: .4byte 0x0000324c
-_081358CC: .4byte 0x00003238
-_081358D0: .4byte 0x00003244
-_081358D4:
- movs r0, 0
-_081358D6:
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_81357A0
-
- thumb_func_start sub_81358DC
-sub_81358DC: @ 81358DC
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- lsls r0, 24
- lsrs r7, r0, 24
- lsls r1, 24
- lsrs r1, 24
- mov r9, r1
- movs r0, 0x8
- bl GetGpuReg
- movs r4, 0x3
- mov r8, r4
- mov r1, r8
- ands r1, r0
- mov r8, r1
- movs r0, 0xA
- bl GetGpuReg
- adds r5, r4, 0
- ands r5, r0
- movs r0, 0xC
- bl GetGpuReg
- adds r6, r4, 0
- ands r6, r0
- ldr r0, _08135938 @ =gMonSummaryScreen
- ldr r0, [r0]
- ldr r2, _0813593C @ =0x00003224
- adds r0, r2
- ldrb r0, [r0]
- cmp r0, 0x1
- bne _08135970
- cmp r7, 0
- bne _0813594E
- movs r0, 0
- mov r8, r0
- mov r1, r9
- cmp r1, 0
- bne _08135940
- cmp r5, r6
- bhi _0813594A
- b _08135944
- .align 2, 0
-_08135938: .4byte gMonSummaryScreen
-_0813593C: .4byte 0x00003224
-_08135940:
- cmp r5, r6
- bls _0813594A
-_08135944:
- movs r5, 0x2
- movs r6, 0x1
- b _0813594E
-_0813594A:
- movs r5, 0x1
- movs r6, 0x2
-_0813594E:
- cmp r7, 0x1
- bne _08135970
- movs r2, 0x1
- mov r8, r2
- mov r0, r9
- cmp r0, 0
- bne _08135962
- cmp r5, r6
- bhi _0813596C
- b _08135966
-_08135962:
- cmp r5, r6
- bls _0813596C
-_08135966:
- movs r5, 0x2
- movs r6, 0
- b _08135970
-_0813596C:
- movs r5, 0
- movs r6, 0x2
-_08135970:
- ldr r0, _0813598C @ =gMonSummaryScreen
- ldr r0, [r0]
- ldr r1, _08135990 @ =0x00003224
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0
- bne _08135998
- movs r2, 0
- mov r8, r2
- cmp r5, r6
- bls _08135994
- movs r5, 0x1
- movs r6, 0x2
- b _08135998
- .align 2, 0
-_0813598C: .4byte gMonSummaryScreen
-_08135990: .4byte 0x00003224
-_08135994:
- movs r5, 0x2
- movs r6, 0x1
-_08135998:
- movs r4, 0
- mov r0, r8
- lsls r0, 2
- mov r9, r0
- movs r7, 0xD
- negs r7, r7
- lsls r1, r5, 2
- mov r12, r1
- ldr r2, _081359D8 @ =gUnknown_203B160
- mov r10, r2
-_081359AC:
- ldr r0, _081359DC @ =gMonSummaryScreen
- ldr r1, [r0]
- ldr r2, _081359E0 @ =0x00003214
- adds r0, r1, r2
- ldrb r0, [r0]
- cmp r0, 0x1
- bne _081359E4
- adds r2, 0x10
- adds r0, r1, r2
- ldrb r0, [r0]
- cmp r0, 0x1
- bne _081359E4
- mov r1, r10
- ldr r0, [r1]
- lsls r3, r4, 2
- adds r0, r3
- ldr r2, [r0]
- ldrb r1, [r2, 0x5]
- adds r0, r7, 0
- ands r0, r1
- mov r1, r9
- b _081359F6
- .align 2, 0
-_081359D8: .4byte gUnknown_203B160
-_081359DC: .4byte gMonSummaryScreen
-_081359E0: .4byte 0x00003214
-_081359E4:
- mov r2, r10
- ldr r0, [r2]
- lsls r3, r4, 2
- adds r0, r3
- ldr r2, [r0]
- ldrb r1, [r2, 0x5]
- adds r0, r7, 0
- ands r0, r1
- mov r1, r12
-_081359F6:
- orrs r0, r1
- strb r0, [r2, 0x5]
- cmp r4, 0x8
- bhi _08135A48
- ldr r2, _08135A28 @ =gMonSummaryScreen
- ldr r1, [r2]
- ldr r2, _08135A2C @ =0x00003214
- adds r0, r1, r2
- ldrb r0, [r0]
- cmp r0, 0x1
- bne _08135A34
- adds r2, 0x10
- adds r0, r1, r2
- ldrb r0, [r0]
- cmp r0, 0x1
- bne _08135A34
- ldr r0, _08135A30 @ =gUnknown_203B15C
- ldr r0, [r0]
- adds r0, r3
- ldr r2, [r0]
- ldrb r1, [r2, 0x5]
- adds r0, r7, 0
- ands r0, r1
- mov r1, r9
- b _08135A44
- .align 2, 0
-_08135A28: .4byte gMonSummaryScreen
-_08135A2C: .4byte 0x00003214
-_08135A30: .4byte gUnknown_203B15C
-_08135A34:
- ldr r0, _08135A9C @ =gUnknown_203B15C
- ldr r0, [r0]
- adds r0, r3
- ldr r2, [r0]
- ldrb r1, [r2, 0x5]
- adds r0, r7, 0
- ands r0, r1
- mov r1, r12
-_08135A44:
- orrs r0, r1
- strb r0, [r2, 0x5]
-_08135A48:
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0xA
- bls _081359AC
- movs r0, 0x8
- bl GetGpuReg
- ldr r4, _08135AA0 @ =0x0000fffc
- adds r1, r4, 0
- ands r1, r0
- mov r2, r8
- orrs r1, r2
- movs r0, 0x8
- bl SetGpuReg
- movs r0, 0xA
- bl GetGpuReg
- adds r1, r4, 0
- ands r1, r0
- orrs r1, r5
- movs r0, 0xA
- bl SetGpuReg
- movs r0, 0xC
- bl GetGpuReg
- ands r4, r0
- orrs r4, r6
- movs r0, 0xC
- adds r1, r4, 0
- bl SetGpuReg
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08135A9C: .4byte gUnknown_203B15C
-_08135AA0: .4byte 0x0000fffc
- thumb_func_end sub_81358DC
-
- thumb_func_start sub_8135AA4
-sub_8135AA4: @ 8135AA4
- push {lr}
- ldr r0, _08135AC0 @ =gMonSummaryScreen
- ldr r2, [r0]
- ldr r3, _08135AC4 @ =0x00003224
- adds r1, r2, r3
- ldrb r1, [r1]
- adds r3, r0, 0
- cmp r1, 0x1
- bne _08135ACC
- ldr r1, _08135AC8 @ =0x00003214
- adds r0, r2, r1
- ldrb r0, [r0]
- subs r0, 0x1
- b _08135AD4
- .align 2, 0
-_08135AC0: .4byte gMonSummaryScreen
-_08135AC4: .4byte 0x00003224
-_08135AC8: .4byte 0x00003214
-_08135ACC:
- ldr r1, _08135AE8 @ =0x00003214
- adds r0, r2, r1
- ldrb r0, [r0]
- adds r0, 0x1
-_08135AD4:
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _08135B00
- cmp r0, 0x1
- bgt _08135AEC
- cmp r0, 0
- beq _08135AF6
- b _08135B82
- .align 2, 0
-_08135AE8: .4byte 0x00003214
-_08135AEC:
- cmp r0, 0x2
- beq _08135B38
- cmp r0, 0x3
- beq _08135B70
- b _08135B82
-_08135AF6:
- ldr r0, [r3]
- movs r2, 0xC9
- lsls r2, 6
- adds r0, r2
- b _08135B5E
-_08135B00:
- ldr r1, [r3]
- ldr r3, _08135B18 @ =0x00003224
- adds r0, r1, r3
- ldrb r0, [r0]
- cmp r0, 0x1
- bne _08135B24
- ldr r2, _08135B1C @ =0x0000323c
- adds r0, r1, r2
- ldrb r0, [r0]
- ldr r1, _08135B20 @ =gUnknown_8E9B950
- b _08135B62
- .align 2, 0
-_08135B18: .4byte 0x00003224
-_08135B1C: .4byte 0x0000323c
-_08135B20: .4byte gUnknown_8E9B950
-_08135B24:
- ldr r3, _08135B30 @ =0x0000323c
- adds r0, r1, r3
- ldrb r0, [r0]
- ldr r1, _08135B34 @ =gUnknown_8E9B598
- b _08135B62
- .align 2, 0
-_08135B30: .4byte 0x0000323c
-_08135B34: .4byte gUnknown_8E9B598
-_08135B38:
- ldr r1, [r3]
- ldr r2, _08135B50 @ =0x00003224
- adds r0, r1, r2
- ldrb r0, [r0]
- cmp r0, 0x1
- bne _08135B58
- movs r3, 0xC9
- lsls r3, 6
- adds r0, r1, r3
- ldrb r0, [r0]
- ldr r1, _08135B54 @ =gUnknown_8E9BA9C
- b _08135B62
- .align 2, 0
-_08135B50: .4byte 0x00003224
-_08135B54: .4byte gUnknown_8E9BA9C
-_08135B58:
- movs r2, 0xC9
- lsls r2, 6
- adds r0, r1, r2
-_08135B5E:
- ldrb r0, [r0]
- ldr r1, _08135B6C @ =gUnknown_8E9B750
-_08135B62:
- movs r2, 0
- movs r3, 0
- bl CopyToBgTilemapBuffer
- b _08135B82
- .align 2, 0
-_08135B6C: .4byte gUnknown_8E9B750
-_08135B70:
- ldr r0, [r3]
- ldr r3, _08135B88 @ =0x0000323c
- adds r0, r3
- ldrb r0, [r0]
- ldr r1, _08135B8C @ =gUnknown_8E9B950
- movs r2, 0
- movs r3, 0
- bl CopyToBgTilemapBuffer
-_08135B82:
- pop {r0}
- bx r0
- .align 2, 0
-_08135B88: .4byte 0x0000323c
-_08135B8C: .4byte gUnknown_8E9B950
- thumb_func_end sub_8135AA4
-
- thumb_func_start sub_8135B90
-sub_8135B90: @ 8135B90
- push {lr}
- ldr r0, _08135BAC @ =gMonSummaryScreen
- ldr r2, [r0]
- ldr r3, _08135BB0 @ =0x00003224
- adds r1, r2, r3
- ldrb r1, [r1]
- adds r3, r0, 0
- cmp r1, 0x1
- bne _08135BB8
- ldr r1, _08135BB4 @ =0x00003214
- adds r0, r2, r1
- ldrb r0, [r0]
- subs r0, 0x1
- b _08135BC0
- .align 2, 0
-_08135BAC: .4byte gMonSummaryScreen
-_08135BB0: .4byte 0x00003224
-_08135BB4: .4byte 0x00003214
-_08135BB8:
- ldr r1, _08135BD4 @ =0x00003214
- adds r0, r2, r1
- ldrb r0, [r0]
- adds r0, 0x1
-_08135BC0:
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _08135C2C
- cmp r0, 0x1
- bgt _08135BD8
- cmp r0, 0
- beq _08135BE2
- b _08135C2C
- .align 2, 0
-_08135BD4: .4byte 0x00003214
-_08135BD8:
- cmp r0, 0x2
- beq _08135BF4
- cmp r0, 0x3
- beq _08135C20
- b _08135C2C
-_08135BE2:
- ldr r0, [r3]
- movs r3, 0xC9
- lsls r3, 6
- adds r0, r3
- ldrb r0, [r0]
- ldr r1, _08135BF0 @ =gUnknown_8E9B750
- b _08135C10
- .align 2, 0
-_08135BF0: .4byte gUnknown_8E9B750
-_08135BF4:
- ldr r0, [r3]
- ldr r1, _08135C04 @ =0x00003224
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0x1
- bne _08135C0C
- ldr r1, _08135C08 @ =gUnknown_8463C80
- b _08135C0E
- .align 2, 0
-_08135C04: .4byte 0x00003224
-_08135C08: .4byte gUnknown_8463C80
-_08135C0C:
- ldr r1, _08135C1C @ =gUnknown_8463B88
-_08135C0E:
- movs r0, 0x3
-_08135C10:
- movs r2, 0
- movs r3, 0
- bl CopyToBgTilemapBuffer
- b _08135C2C
- .align 2, 0
-_08135C1C: .4byte gUnknown_8463B88
-_08135C20:
- ldr r1, _08135C30 @ =gUnknown_8463B88
- movs r0, 0x3
- movs r2, 0
- movs r3, 0
- bl CopyToBgTilemapBuffer
-_08135C2C:
- pop {r0}
- bx r0
- .align 2, 0
-_08135C30: .4byte gUnknown_8463B88
- thumb_func_end sub_8135B90
-
- thumb_func_start sub_8135C34
-sub_8135C34: @ 8135C34
- push {r4,lr}
- sub sp, 0x4
- ldr r0, _08135C54 @ =gMonSummaryScreen
- ldr r0, [r0]
- ldr r1, _08135C58 @ =0x00003274
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0xF
- bls _08135C48
- b _08135EF6
-_08135C48:
- lsls r0, 2
- ldr r1, _08135C5C @ =_08135C60
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_08135C54: .4byte gMonSummaryScreen
-_08135C58: .4byte 0x00003274
-_08135C5C: .4byte _08135C60
- .align 2, 0
-_08135C60:
- .4byte _08135CA0
- .4byte _08135CA6
- .4byte _08135CAC
- .4byte _08135CB2
- .4byte _08135CB8
- .4byte _08135CBE
- .4byte _08135CC4
- .4byte _08135CD2
- .4byte _08135CD8
- .4byte _08135CDE
- .4byte _08135CE8
- .4byte _08135D30
- .4byte _08135DC4
- .4byte _08135DEC
- .4byte _08135E80
- .4byte _08135E9A
-_08135CA0:
- bl sub_81381AC
- b _08135F00
-_08135CA6:
- bl sub_8136BC4
- b _08135F00
-_08135CAC:
- bl sub_8136BAC
- b _08135F00
-_08135CB2:
- bl sub_8135F20
- b _08135CC8
-_08135CB8:
- bl sub_8136AEC
- b _08135CC8
-_08135CBE:
- bl sub_81381D0
- b _08135F00
-_08135CC4:
- bl sub_8136040
-_08135CC8:
- lsls r0, 24
- cmp r0, 0
- bne _08135CD0
- b _08135F0E
-_08135CD0:
- b _08135F00
-_08135CD2:
- bl sub_8136F4C
- b _08135F00
-_08135CD8:
- bl sub_81374E8
- b _08135F00
-_08135CDE:
- bl sub_8137BD0
- bl sub_8138A38
- b _08135F00
-_08135CE8:
- ldr r0, _08135D0C @ =gMonSummaryScreen
- ldr r0, [r0]
- ldr r2, _08135D10 @ =0x00003208
- adds r0, r2
- ldrb r0, [r0]
- subs r0, 0x2
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bhi _08135D18
- ldr r1, _08135D14 @ =gUnknown_8463C80
- movs r0, 0x3
- movs r2, 0
- movs r3, 0
- bl CopyToBgTilemapBuffer
- b _08135D24
- .align 2, 0
-_08135D0C: .4byte gMonSummaryScreen
-_08135D10: .4byte 0x00003208
-_08135D14: .4byte gUnknown_8463C80
-_08135D18:
- ldr r1, _08135D2C @ =gUnknown_8463B88
- movs r0, 0x3
- movs r2, 0
- movs r3, 0
- bl CopyToBgTilemapBuffer
-_08135D24:
- bl sub_8138538
- b _08135F00
- .align 2, 0
-_08135D2C: .4byte gUnknown_8463B88
-_08135D30:
- ldr r4, _08135D4C @ =gMonSummaryScreen
- ldr r1, [r4]
- movs r2, 0xC8
- lsls r2, 6
- adds r0, r1, r2
- ldrb r0, [r0]
- cmp r0, 0
- beq _08135D54
- adds r2, 0x3C
- adds r0, r1, r2
- ldrb r0, [r0]
- ldr r1, _08135D50 @ =gUnknown_8E9BBCC
- b _08135DAC
- .align 2, 0
-_08135D4C: .4byte gMonSummaryScreen
-_08135D50: .4byte gUnknown_8E9BBCC
-_08135D54:
- ldr r2, _08135D84 @ =0x00003208
- adds r0, r1, r2
- ldrb r0, [r0]
- subs r0, 0x2
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bhi _08135D90
- adds r2, 0x34
- adds r0, r1, r2
- ldrb r0, [r0]
- ldr r1, _08135D88 @ =gUnknown_8E9B950
- movs r2, 0
- movs r3, 0
- bl CopyToBgTilemapBuffer
- ldr r0, [r4]
- movs r1, 0xC9
- lsls r1, 6
- adds r0, r1
- ldrb r0, [r0]
- ldr r1, _08135D8C @ =gUnknown_8E9BA9C
- b _08135DAC
- .align 2, 0
-_08135D84: .4byte 0x00003208
-_08135D88: .4byte gUnknown_8E9B950
-_08135D8C: .4byte gUnknown_8E9BA9C
-_08135D90:
- ldr r2, _08135DB8 @ =0x0000323c
- adds r0, r1, r2
- ldrb r0, [r0]
- ldr r1, _08135DBC @ =gUnknown_8E9B598
- movs r2, 0
- movs r3, 0
- bl CopyToBgTilemapBuffer
- ldr r0, [r4]
- movs r1, 0xC9
- lsls r1, 6
- adds r0, r1
- ldrb r0, [r0]
- ldr r1, _08135DC0 @ =gUnknown_8E9B750
-_08135DAC:
- movs r2, 0
- movs r3, 0
- bl CopyToBgTilemapBuffer
- b _08135F00
- .align 2, 0
-_08135DB8: .4byte 0x0000323c
-_08135DBC: .4byte gUnknown_8E9B598
-_08135DC0: .4byte gUnknown_8E9B750
-_08135DC4:
- movs r0, 0x1
- negs r0, r0
- movs r1, 0x10
- movs r2, 0
- bl BlendPalettes
- ldr r0, _08135DE4 @ =gMonSummaryScreen
- ldr r0, [r0]
- ldr r2, _08135DE8 @ =0x00003214
- adds r0, r2
- ldrb r0, [r0]
- bl sub_8137D28
- bl sub_8137E28
- b _08135F00
- .align 2, 0
-_08135DE4: .4byte gMonSummaryScreen
-_08135DE8: .4byte 0x00003214
-_08135DEC:
- movs r0, 0x1
- negs r0, r0
- movs r1, 0
- str r1, [sp]
- movs r2, 0x10
- movs r3, 0
- bl BeginNormalPaletteFade
- ldr r4, _08135E64 @ =gMonSummaryScreen
- ldr r0, [r4]
- movs r1, 0xC0
- lsls r1, 6
- adds r0, r1
- ldrb r0, [r0]
- movs r1, 0x2
- bl CopyWindowToVram
- ldr r0, [r4]
- ldr r2, _08135E68 @ =0x00003001
- adds r0, r2
- ldrb r0, [r0]
- movs r1, 0x2
- bl CopyWindowToVram
- ldr r0, [r4]
- ldr r1, _08135E6C @ =0x00003002
- adds r0, r1
- ldrb r0, [r0]
- movs r1, 0x2
- bl CopyWindowToVram
- ldr r0, [r4]
- ldr r2, _08135E70 @ =0x00003006
- adds r0, r2
- ldrb r0, [r0]
- movs r1, 0x2
- bl CopyWindowToVram
- ldr r0, [r4]
- ldr r1, _08135E74 @ =0x00003003
- adds r0, r1
- ldrb r0, [r0]
- movs r1, 0x2
- bl CopyWindowToVram
- ldr r0, [r4]
- ldr r2, _08135E78 @ =0x00003004
- adds r0, r2
- ldrb r0, [r0]
- movs r1, 0x2
- bl CopyWindowToVram
- ldr r0, [r4]
- ldr r1, _08135E7C @ =0x00003005
- adds r0, r1
- ldrb r0, [r0]
- movs r1, 0x2
- bl CopyWindowToVram
- b _08135F00
- .align 2, 0
-_08135E64: .4byte gMonSummaryScreen
-_08135E68: .4byte 0x00003001
-_08135E6C: .4byte 0x00003002
-_08135E70: .4byte 0x00003006
-_08135E74: .4byte 0x00003003
-_08135E78: .4byte 0x00003004
-_08135E7C: .4byte 0x00003005
-_08135E80:
- movs r0, 0
- bl CopyBgTilemapBufferToVram
- movs r0, 0x2
- bl CopyBgTilemapBufferToVram
- movs r0, 0x1
- bl CopyBgTilemapBufferToVram
- movs r0, 0x3
- bl CopyBgTilemapBufferToVram
- b _08135F00
-_08135E9A:
- ldr r0, _08135EBC @ =gMonSummaryScreen
- ldr r0, [r0]
- ldr r2, _08135EC0 @ =0x00003208
- adds r0, r2
- ldrb r0, [r0]
- subs r0, 0x2
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bhi _08135EC4
- movs r0, 0
- bl sub_8139EE4
- movs r0, 0
- bl sub_813A0E8
- b _08135EE2
- .align 2, 0
-_08135EBC: .4byte gMonSummaryScreen
-_08135EC0: .4byte 0x00003208
-_08135EC4:
- movs r0, 0
- bl sub_8139C44
- movs r0, 0
- bl sub_813B084
- movs r0, 0
- bl sub_8139D54
- movs r0, 0
- bl sub_813A838
- movs r0, 0
- bl sub_813AB70
-_08135EE2:
- movs r0, 0
- bl sub_813A3B8
- movs r0, 0
- bl sub_813ACF8
- movs r0, 0
- bl sub_813AEB0
- b _08135F00
-_08135EF6:
- bl sub_81381C0
- bl sub_8136D54
- b _08135F0E
-_08135F00:
- ldr r0, _08135F18 @ =gMonSummaryScreen
- ldr r1, [r0]
- ldr r0, _08135F1C @ =0x00003274
- adds r1, r0
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
-_08135F0E:
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08135F18: .4byte gMonSummaryScreen
-_08135F1C: .4byte 0x00003274
- thumb_func_end sub_8135C34
-
- thumb_func_start sub_8135F20
-sub_8135F20: @ 8135F20
- push {r4,r5,lr}
- sub sp, 0x4
- ldr r0, _08135F3C @ =gMonSummaryScreen
- ldr r0, [r0]
- ldr r1, _08135F40 @ =0x00003278
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0x6
- bhi _0813600E
- lsls r0, 2
- ldr r1, _08135F44 @ =_08135F48
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_08135F3C: .4byte gMonSummaryScreen
-_08135F40: .4byte 0x00003278
-_08135F44: .4byte _08135F48
- .align 2, 0
-_08135F48:
- .4byte _08135F64
- .4byte _08135FCC
- .4byte _08135FE4
- .4byte _08135FEA
- .4byte _08136000
- .4byte _08136020
- .4byte _08136020
-_08135F64:
- ldr r4, _08135FA8 @ =gUnknown_8E9B310
- adds r0, r4, 0
- movs r1, 0
- movs r2, 0xA0
- bl LoadPalette
- ldr r5, _08135FAC @ =gMonSummaryScreen
- ldr r0, [r5]
- ldr r1, _08135FB0 @ =0x00003290
- adds r0, r1
- bl IsMonShiny
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _08135FB4
- ldr r0, [r5]
- movs r1, 0xC8
- lsls r1, 6
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0
- bne _08135FB4
- adds r0, r4, 0
- adds r0, 0xC0
- movs r1, 0
- movs r2, 0x20
- bl LoadPalette
- adds r0, r4, 0
- adds r0, 0xA0
- movs r1, 0x10
- b _08135FD8
- .align 2, 0
-_08135FA8: .4byte gUnknown_8E9B310
-_08135FAC: .4byte gMonSummaryScreen
-_08135FB0: .4byte 0x00003290
-_08135FB4:
- ldr r4, _08135FC8 @ =gUnknown_8E9B310
- adds r0, r4, 0
- movs r1, 0
- movs r2, 0x20
- bl LoadPalette
- adds r4, 0x20
- adds r0, r4, 0
- movs r1, 0x10
- b _08135FD8
- .align 2, 0
-_08135FC8: .4byte gUnknown_8E9B310
-_08135FCC:
- movs r0, 0x60
- movs r1, 0x1
- bl ListMenuLoadStdPalAt
- ldr r0, _08135FE0 @ =gUnknown_84636C0
- movs r1, 0x70
-_08135FD8:
- movs r2, 0x20
- bl LoadPalette
- b _08136020
- .align 2, 0
-_08135FE0: .4byte gUnknown_84636C0
-_08135FE4:
- bl ResetTempTileDataBuffers
- b _08136020
-_08135FEA:
- ldr r1, _08135FFC @ =gUnknown_8E9A460
- movs r0, 0
- str r0, [sp]
- movs r0, 0x2
- movs r2, 0
- movs r3, 0
- bl DecompressAndCopyTileDataToVram
- b _08136020
- .align 2, 0
-_08135FFC: .4byte gUnknown_8E9A460
-_08136000:
- bl FreeTempTileDataBuffersIfPossible
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _08136020
- b _0813602E
-_0813600E:
- ldr r0, _0813601C @ =gUnknown_8463700
- movs r1, 0x80
- movs r2, 0x20
- bl LoadPalette
- movs r0, 0x1
- b _08136030
- .align 2, 0
-_0813601C: .4byte gUnknown_8463700
-_08136020:
- ldr r0, _08136038 @ =gMonSummaryScreen
- ldr r1, [r0]
- ldr r0, _0813603C @ =0x00003278
- adds r1, r0
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
-_0813602E:
- movs r0, 0
-_08136030:
- add sp, 0x4
- pop {r4,r5}
- pop {r1}
- bx r1
- .align 2, 0
-_08136038: .4byte gMonSummaryScreen
-_0813603C: .4byte 0x00003278
- thumb_func_end sub_8135F20
-
- thumb_func_start sub_8136040
-sub_8136040: @ 8136040
- push {r4-r6,lr}
- ldr r1, _08136060 @ =gMonSummaryScreen
- ldr r2, [r1]
- movs r6, 0xCA
- lsls r6, 6
- adds r0, r2, r6
- ldrb r4, [r0]
- adds r5, r1, 0
- cmp r4, 0x1
- beq _08136084
- cmp r4, 0x1
- bgt _08136064
- cmp r4, 0
- beq _0813606A
- b _081360A8
- .align 2, 0
-_08136060: .4byte gMonSummaryScreen
-_08136064:
- cmp r4, 0x2
- beq _08136096
- b _081360A8
-_0813606A:
- bl sub_81360D4
- ldr r1, [r5]
- movs r2, 0xC8
- lsls r2, 6
- adds r0, r1, r2
- ldrb r0, [r0]
- cmp r0, 0
- beq _081360B8
- adds r0, r1, r6
- strb r4, [r0]
- movs r0, 0x1
- b _081360CA
-_08136084:
- movs r1, 0xC8
- lsls r1, 6
- adds r0, r2, r1
- ldrb r0, [r0]
- cmp r0, 0
- bne _081360B8
- bl sub_8136350
- b _081360B8
-_08136096:
- movs r1, 0xC8
- lsls r1, 6
- adds r0, r2, r1
- ldrb r0, [r0]
- cmp r0, 0
- bne _081360B8
- bl sub_81367B0
- b _081360B8
-_081360A8:
- ldr r0, [r5]
- movs r2, 0xCA
- lsls r2, 6
- adds r0, r2
- movs r1, 0
- strb r1, [r0]
- movs r0, 0x1
- b _081360CA
-_081360B8:
- ldr r0, _081360D0 @ =gMonSummaryScreen
- ldr r1, [r0]
- movs r0, 0xCA
- lsls r0, 6
- adds r1, r0
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- movs r0, 0
-_081360CA:
- pop {r4-r6}
- pop {r1}
- bx r1
- .align 2, 0
-_081360D0: .4byte gMonSummaryScreen
- thumb_func_end sub_8136040
-
- thumb_func_start sub_81360D4
-sub_81360D4: @ 81360D4
- push {r4-r7,lr}
- sub sp, 0x14
- ldr r5, _08136108 @ =gMonSummaryScreen
- ldr r0, [r5]
- ldr r1, _0813610C @ =0x00003290
- adds r0, r1
- movs r1, 0xB
- bl GetMonData
- lsls r0, 16
- lsrs r0, 16
- bl SpeciesToPokedexNum
- lsls r0, 16
- lsrs r4, r0, 16
- ldr r0, _08136110 @ =0x0000ffff
- cmp r4, r0
- bne _0813611C
- ldr r0, [r5]
- ldr r2, _08136114 @ =0x00003064
- adds r0, r2
- ldr r1, _08136118 @ =gUnknown_8416202
- bl StringCopy
- b _0813612C
- .align 2, 0
-_08136108: .4byte gMonSummaryScreen
-_0813610C: .4byte 0x00003290
-_08136110: .4byte 0x0000ffff
-_08136114: .4byte 0x00003064
-_08136118: .4byte gUnknown_8416202
-_0813611C:
- ldr r0, [r5]
- ldr r3, _08136154 @ =0x00003064
- adds r0, r3
- adds r1, r4, 0
- movs r2, 0x2
- movs r3, 0x3
- bl ConvertIntToDecimalStringN
-_0813612C:
- ldr r0, _08136158 @ =gUnknown_203B144
- ldr r1, [r0]
- movs r0, 0
- strh r0, [r1]
- ldr r6, _0813615C @ =gMonSummaryScreen
- ldr r2, [r6]
- movs r1, 0xC8
- lsls r1, 6
- adds r0, r2, r1
- ldrb r0, [r0]
- cmp r0, 0
- beq _08136168
- ldr r3, _08136160 @ =0x00003290
- adds r0, r2, r3
- ldr r1, _08136164 @ =0x00003028
- adds r2, r1
- movs r1, 0x2
- bl GetMonData
- b _08136342
- .align 2, 0
-_08136154: .4byte 0x00003064
-_08136158: .4byte gUnknown_203B144
-_0813615C: .4byte gMonSummaryScreen
-_08136160: .4byte 0x00003290
-_08136164: .4byte 0x00003028
-_08136168:
- ldr r5, _081361F0 @ =0x00003290
- adds r0, r2, r5
- movs r1, 0xB
- bl GetMonData
- lsls r0, 16
- lsrs r4, r0, 16
- ldr r0, [r6]
- ldr r2, _081361F4 @ =0x00003028
- adds r0, r2
- adds r1, r4, 0
- bl GetSpeciesName
- ldr r1, [r6]
- ldr r2, _081361F8 @ =gBaseStats
- lsls r0, r4, 3
- subs r0, r4
- lsls r0, 2
- adds r0, r2
- ldrb r2, [r0, 0x6]
- ldr r3, _081361FC @ =0x00003220
- adds r1, r3
- strb r2, [r1]
- ldr r1, [r6]
- ldrb r0, [r0, 0x7]
- ldr r2, _08136200 @ =0x00003221
- adds r1, r2
- strb r0, [r1]
- ldr r0, [r6]
- adds r0, r5
- movs r1, 0x2
- mov r2, sp
- bl GetMonData
- ldr r0, [r6]
- ldr r4, _08136204 @ =0x00003034
- adds r0, r4
- mov r1, sp
- movs r2, 0xA
- bl StringCopyN_Multibyte
- ldr r0, [r6]
- adds r0, r4
- bl StringGetEnd10
- ldr r0, [r6]
- adds r0, r5
- bl GetMonGender
- lsls r0, 24
- lsrs r7, r0, 24
- ldr r0, [r6]
- adds r0, r5
- movs r1, 0x41
- bl GetMonData
- lsls r0, 16
- lsrs r4, r0, 16
- cmp r7, 0xFE
- bne _08136210
- ldr r0, [r6]
- ldr r3, _08136208 @ =0x00003084
- adds r0, r3
- ldr r1, _0813620C @ =gText_FemaleSymbol
- bl StringCopy
- b _08136238
- .align 2, 0
-_081361F0: .4byte 0x00003290
-_081361F4: .4byte 0x00003028
-_081361F8: .4byte gBaseStats
-_081361FC: .4byte 0x00003220
-_08136200: .4byte 0x00003221
-_08136204: .4byte 0x00003034
-_08136208: .4byte 0x00003084
-_0813620C: .4byte gText_FemaleSymbol
-_08136210:
- cmp r7, 0
- bne _0813622C
- ldr r0, [r6]
- ldr r1, _08136224 @ =0x00003084
- adds r0, r1
- ldr r1, _08136228 @ =gText_MaleSymbol
- bl StringCopy
- b _08136238
- .align 2, 0
-_08136224: .4byte 0x00003084
-_08136228: .4byte gText_MaleSymbol
-_0813622C:
- ldr r0, [r6]
- ldr r2, _08136308 @ =0x00003084
- adds r0, r2
- ldr r1, _0813630C @ =gString_Dummy
- bl StringCopy
-_08136238:
- cmp r4, 0x20
- beq _08136240
- cmp r4, 0x1D
- bne _08136264
-_08136240:
- ldr r5, _08136310 @ =gMonSummaryScreen
- ldr r0, [r5]
- ldr r3, _08136314 @ =0x00003034
- adds r0, r3
- movs r1, 0xB
- muls r1, r4
- ldr r2, _08136318 @ =gSpeciesNames
- adds r1, r2
- bl StringCompare
- cmp r0, 0
- bne _08136264
- ldr r0, [r5]
- ldr r1, _08136308 @ =0x00003084
- adds r0, r1
- ldr r1, _0813630C @ =gString_Dummy
- bl StringCopy
-_08136264:
- ldr r6, _08136310 @ =gMonSummaryScreen
- ldr r0, [r6]
- ldr r5, _0813631C @ =0x00003290
- adds r0, r5
- movs r1, 0x7
- mov r2, sp
- bl GetMonData
- ldr r0, [r6]
- movs r4, 0xC1
- lsls r4, 6
- adds r0, r4
- mov r1, sp
- movs r2, 0x7
- bl StringCopyN_Multibyte
- ldr r0, [r6]
- adds r4, r0, r4
- adds r0, r5
- movs r1, 0x3
- bl GetMonData
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- adds r0, r4, 0
- bl ConvertInternationalString
- ldr r0, [r6]
- adds r0, r5
- movs r1, 0x1
- bl GetMonData
- ldr r1, _08136320 @ =0x0000ffff
- ands r1, r0
- ldr r0, [r6]
- ldr r2, _08136324 @ =0x0000306c
- adds r0, r2
- movs r2, 0x2
- movs r3, 0x5
- bl ConvertIntToDecimalStringN
- ldr r0, [r6]
- adds r0, r5
- movs r1, 0x38
- bl GetMonData
- adds r1, r0, 0
- mov r0, sp
- movs r2, 0
- movs r3, 0x3
- bl ConvertIntToDecimalStringN
- ldr r0, [r6]
- ldr r4, _08136328 @ =0x00003088
- adds r0, r4
- ldr r1, _0813632C @ =gText_Lv
- bl StringCopy
- ldr r0, [r6]
- adds r0, r4
- mov r1, sp
- movs r2, 0x4
- bl StringAppendN
- ldr r0, [r6]
- adds r0, r5
- movs r1, 0xC
- bl GetMonData
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0
- bne _08136338
- ldr r0, [r6]
- ldr r3, _08136330 @ =0x00003074
- adds r0, r3
- ldr r1, _08136334 @ =gUnknown_84161EF
- bl StringCopy
- b _08136342
- .align 2, 0
-_08136308: .4byte 0x00003084
-_0813630C: .4byte gString_Dummy
-_08136310: .4byte gMonSummaryScreen
-_08136314: .4byte 0x00003034
-_08136318: .4byte gSpeciesNames
-_0813631C: .4byte 0x00003290
-_08136320: .4byte 0x0000ffff
-_08136324: .4byte 0x0000306c
-_08136328: .4byte 0x00003088
-_0813632C: .4byte gText_Lv
-_08136330: .4byte 0x00003074
-_08136334: .4byte gUnknown_84161EF
-_08136338:
- ldr r1, [r6]
- ldr r2, _0813634C @ =0x00003074
- adds r1, r2
- bl CopyItemName
-_08136342:
- add sp, 0x14
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0813634C: .4byte 0x00003074
- thumb_func_end sub_81360D4
-
thumb_func_start sub_8136350
sub_8136350: @ 8136350
push {r4-r7,lr}
diff --git a/hgrep.sh b/hgrep.sh
new file mode 100644
index 000000000..81e14120e
--- /dev/null
+++ b/hgrep.sh
@@ -0,0 +1,10 @@
+#!/bin/bash
+# $1: phrase to find
+
+if [ "$2" == "" ]; then
+ grep_flags="-wr"
+else
+ grep_flags="$2"
+fi
+
+grep "$1" "$grep_flags" --include="*.h" --include="*.s" --include="*.inc" --include="*.txt" --exclude-dir=".git" --exclude-dir=".travis" --exclude-dir="build" --exclude-dir="common_syms" --exclude-dir="data" --exclude-dir="graphics" --exclude-dir="sound" --exclude-dir="tools"
diff --git a/include/pokemon_summary_screen.h b/include/pokemon_summary_screen.h
index 03a10fcde..9c9c1e351 100644
--- a/include/pokemon_summary_screen.h
+++ b/include/pokemon_summary_screen.h
@@ -21,7 +21,7 @@ enum PokemonSummaryScreenMode
PSS_MODE_NORMAL,
PSS_MODE_UNK1,
PSS_MODE_SELECT_MOVE,
- PSS_MODE_UNK3,
+ PSS_MODE_FORGET_MOVE,
PSS_MODE_UNK4,
PSS_MODE_BOX,
};
diff --git a/include/strings.h b/include/strings.h
index fd224aea4..6c12d38f5 100644
--- a/include/strings.h
+++ b/include/strings.h
@@ -1468,4 +1468,13 @@ extern const u8 gText_PokemonOnHook[];
extern const u8 gText_NotEvenANibble[];
extern const u8 gText_ItGotAway[];
+// pokemon_summary_screen
+extern const u8 gUnknown_8419C39[];
+extern const u8 gUnknown_8419C92[];
+extern const u8 gUnknown_8419CA2[];
+extern const u8 gUnknown_8419C45[];
+extern const u8 gUnknown_8419C82[];
+extern const u8 gUnknown_8416202[];
+extern const u8 gUnknown_84161EF[];
+
#endif //GUARD_STRINGS_H
diff --git a/src/pokemon_summary_screen.c b/src/pokemon_summary_screen.c
index 0ca6b2633..af0320be5 100644
--- a/src/pokemon_summary_screen.c
+++ b/src/pokemon_summary_screen.c
@@ -8,16 +8,67 @@
#include "link.h"
#include "overworld.h"
#include "constants/songs.h"
+#include "strings.h"
+#include "new_menu_helpers.h"
+#include "menu.h"
+#include "constants/species.h"
+#include "constants/items.h"
+#include "data.h"
+#include "item.h"
extern void sub_8138B8C(struct Pokemon * mon);
-extern void sub_8135C34(void);
+void sub_8135C34(void);
extern void sub_813B784(void);
extern void sub_8138414(u8 curPageIndex);
-extern void sub_8134BAC(u8 taskId);
-extern void sub_8134E84(u8 taskId);
+static void sub_8134BAC(u8 taskId);
+static void sub_8134E84(u8 taskId);
extern void sub_813B3F0(u8 taskId);
extern void sub_813B120(u8, s8);
extern void sub_8137E64(u8 taskId);
+void sub_8135638(void);
+void sub_81356EC(void);
+extern void sub_813B750(u8 curPageIndex);
+extern void sub_8138280(u8 curPageIndex);
+extern void sub_8137D28(u8 curPageIndex);
+void sub_8135514(void);
+u8 sub_81357A0(u8);
+extern void sub_8138440(void);
+extern void sub_8138CD8(u8 taskId);
+void sub_8135AA4(void);
+void sub_8135B90(void);
+extern void sub_8138538(void);
+extern void sub_8137D28(u8 curPageIndex);
+extern void sub_8136F4C(void);
+extern void sub_81374E8(void);
+extern void sub_8137BD0(void);
+extern void sub_8138A38(void);
+extern void sub_8136DA4(const u8 * str);
+extern void sub_8136DF0(const u8 * str);
+extern void sub_8136E50(const u8 * str);
+void sub_81358DC(u8, u8);
+extern void sub_813A838(u8 invisible);
+extern void sub_813AB70(u8 invisible);
+extern void sub_8139C44(u8 invisible);
+extern void sub_813B084(u8 invisible);
+extern void sub_8139D54(u8 invisible);
+extern void sub_813A3B8(u8 invisible);
+extern void sub_813ACF8(u8 invisible);
+extern void sub_813AEB0(u8 invisible);
+extern void sub_813A0E8(u8 invisible);
+extern void sub_8139EE4(u8 invisible);
+extern void sub_81381AC(void);
+extern void sub_8136BC4(void);
+extern void sub_8136BAC(void);
+u8 sub_8135F20(void);
+extern u8 sub_8136AEC(void);
+extern void sub_81381D0(void);
+u8 sub_8136040(void);
+extern void sub_8137E28(void);
+extern void sub_81381C0(void);
+extern void sub_8136D54(void);
+extern void sub_81360D4(void);
+extern void sub_8136350(void);
+extern void sub_81367B0(void);
struct PokemonSummaryScreenData {
u16 unk0[0x800];
@@ -38,33 +89,43 @@ struct PokemonSummaryScreenData {
bool32 isEnemyParty; /* 0x3024 */
struct PokeSummary {
+ // u8 ALIGNED(4) unk3028[POKEMON_NAME_LENGTH];
+ // u8 ALIGNED(4) unk3034[POKEMON_NAME_LENGTH + 1];
+
+ // u8 ALIGNED(4) unk3040[OT_NAME_LENGTH + 1];
+ // u8 ALIGNED(4) unk3048[2][OT_NAME_LENGTH + 1];
+
u8 ALIGNED(4) unk3028[POKEMON_NAME_LENGTH];
u8 ALIGNED(4) unk3034[POKEMON_NAME_LENGTH + 1];
-
u8 ALIGNED(4) unk3040[OT_NAME_LENGTH + 1];
- u8 ALIGNED(4) unk3048[2][OT_NAME_LENGTH + 1];
+ u8 ALIGNED(4) pad3048[0x1c];
+
+ u8 ALIGNED(4) unk3064[5];
+ //u8 ALIGNED(4) unk3060[7];
+ //u8 ALIGNED(4) unk3068[16];
+ u8 ALIGNED(4) unk306C[7];
+ u8 ALIGNED(4) unk3074[ITEM_NAME_LENGTH + 1];
- u8 ALIGNED(4) unk3058[5];
- u8 ALIGNED(4) unk3060[7];
- u8 ALIGNED(4) unk3068[16];
+ u8 ALIGNED(4) unk3084[3];
+ u8 ALIGNED(4) unk3088[7];
- u8 ALIGNED(4) unk3078[3];
- u8 ALIGNED(4) unk307C[7];
- u8 ALIGNED(4) unk3084[9];
- u8 ALIGNED(4) unk3090[5][5];
+ u8 ALIGNED(4) pad3090[0x170];
- u8 ALIGNED(4) unk30AC[5][11];
- u8 ALIGNED(4) unk30E4[5][11];
- u8 ALIGNED(4) unk311C[5][13];
- u8 ALIGNED(4) pssd4[5][5];
- u8 ALIGNED(4) pssd5[5][5];
+ // u8 ALIGNED(4) unk3090[9];
+ // u8 ALIGNED(4) unk309C[5][5];
- u8 ALIGNED(4) pssd6[9];
- u8 ALIGNED(4) pssd7[9];
+ // u8 ALIGNED(4) unk30AC[5][11];
+ // u8 ALIGNED(4) unk30E4[5][11];
+ // u8 ALIGNED(4) unk311C[5][13];
+ // u8 ALIGNED(4) pssd4[5][5];
+ // u8 ALIGNED(4) pssd5[5][5];
- u8 ALIGNED(4) pssd8[13];
- u8 ALIGNED(4) pssd9[20];
- u8 ALIGNED(4) tempPadRemoveLater[0x2c];
+ // u8 ALIGNED(4) pssd6[9];
+ // u8 ALIGNED(4) pssd7[9];
+
+ // u8 ALIGNED(4) pssd8[13];
+ // u8 ALIGNED(4) pssd9[20];
+ // u8 ALIGNED(4) tempPadRemoveLater[0x2c];
} summary;
u8 ALIGNED(4) isEgg; /* 0x3200 */
@@ -123,14 +184,56 @@ struct PokemonSummaryScreenData {
};
struct Struct203B144 {
- u8 unk0[0x28];
+ u16 unk00;
+ u16 unk02;
+ u16 unk04;
+ u16 unk06;
+ u16 unk08;
+ u16 unk0A;
+ u16 unk0C;
+ u16 unk0E;
+ u16 unk10;
+
+ u16 unk12[5];
+ u16 unk1C[5];
+
+ u16 unk26;
+};
+
+struct Struct203B160 {
+ struct Sprite * sprite00[11]; /* 0x00 */
+ u16 unk2C[11]; /* 0x2c */
+ u16 unk42; /* 0x42 */
+ u16 unk44; /* 0x44 */
+};
+
+struct Struct203B15C {
+ struct Sprite * sprite00[10]; /* 0x00 */
+ u16 unk28[10]; /* 0x28 */
+ u16 unk3C; /* 0x3c */
+ u16 unk3E; /* 0x3e */
};
extern struct PokemonSummaryScreenData * gMonSummaryScreen;
extern struct Struct203B144 * gUnknown_203B144;
+extern struct Struct203B15C * gUnknown_203B15C;
+extern struct Struct203B160 * gUnknown_203B160;
extern u8 gUnknown_203B16D;
extern u8 gUnknown_203B16E;
+extern const u32 gUnknown_8E9B750[];
+extern const u32 gUnknown_8E9B950[];
+extern const u32 gUnknown_8E9B598[];
+extern const u32 gUnknown_8E9BA9C[];
+extern const u32 gUnknown_8463C80[];
+extern const u32 gUnknown_8463B88[];
+extern const u32 gUnknown_8E9BBCC[];
+extern const u16 gUnknown_8E9B310[];
+extern const u32 gUnknown_8E9A460[];
+
+extern const u32 gUnknown_84636C0[];
+extern const u32 gUnknown_8463700[];
+
void ShowPokemonSummaryScreen(struct Pokemon * party, u8 cursorPos, u8 lastIdx, MainCallback savedCallback, u8 mode)
{
gMonSummaryScreen = AllocZeroed(sizeof(struct PokemonSummaryScreenData));
@@ -173,7 +276,7 @@ void ShowPokemonSummaryScreen(struct Pokemon * party, u8 cursorPos, u8 lastIdx,
gMonSummaryScreen->lockMovesFlag = FALSE;
break;
case PSS_MODE_SELECT_MOVE:
- case PSS_MODE_UNK3:
+ case PSS_MODE_FORGET_MOVE:
SetHelpContext(HELPCONTEXT_POKEMON_MOVES);
gMonSummaryScreen->curPageIndex = PSS_PAGE_MOVES_INFO;
gMonSummaryScreen->isBoxMon = FALSE;
@@ -387,3 +490,918 @@ void sub_8134840(u8 taskId)
break;
}
}
+
+static void sub_8134BAC(u8 taskId)
+{
+ s16 * data = gTasks[taskId].data;
+
+ switch (data[0])
+ {
+ case 0:
+ sub_8135638();
+ sub_81356EC();
+ gMonSummaryScreen->lockMovesFlag = TRUE;
+ gMonSummaryScreen->unk301C = TRUE;
+ sub_813B750(gMonSummaryScreen->curPageIndex);
+ sub_8138280(gMonSummaryScreen->curPageIndex);
+ break;
+ case 1:
+ if (gMonSummaryScreen->curPageIndex != PSS_PAGE_MOVES_INFO)
+ {
+ if (!(gMonSummaryScreen->curPageIndex == PSS_PAGE_MOVES && gMonSummaryScreen->unk3224 == 0))
+ {
+ FillBgTilemapBufferRect_Palette0(0, 0, 0, 0, 30, 20);
+ CopyBgTilemapBufferToVram(0);
+ }
+ }
+ FillBgTilemapBufferRect_Palette0(1, 0, 0, 0, 30, 2);
+ FillBgTilemapBufferRect_Palette0(1, 0, 0, 2, 15, 2);
+ FillBgTilemapBufferRect_Palette0(2, 0, 0, 0, 30, 2);
+ FillBgTilemapBufferRect_Palette0(2, 0, 0, 2, 15, 2);
+ break;
+ case 2:
+ sub_8135AA4();
+ sub_8135B90();
+ sub_8138538();
+ sub_8137D28(gMonSummaryScreen->curPageIndex);
+ break;
+ case 3:
+ CopyWindowToVram(gMonSummaryScreen->unk3000[0], 2);
+ CopyWindowToVram(gMonSummaryScreen->unk3000[1], 2);
+ CopyWindowToVram(gMonSummaryScreen->unk3000[2], 2);
+ break;
+ case 4:
+ if (!IsDma3ManagerBusyWithBgCopy())
+ {
+ CopyBgTilemapBufferToVram(3);
+ CopyBgTilemapBufferToVram(2);
+ CopyBgTilemapBufferToVram(1);
+ }
+ else
+ return;
+
+ break;
+ case 5:
+ sub_8135514();
+ gMonSummaryScreen->unk3244 = TRUE;
+ break;
+ case 6:
+ if (!sub_81357A0(gMonSummaryScreen->unk3224))
+ return;
+
+ break;
+ case 7:
+ sub_8136F4C();
+ if (gMonSummaryScreen->curPageIndex != PSS_PAGE_MOVES_INFO)
+ sub_81374E8();
+
+ sub_8137BD0();
+ sub_8138A38();
+ break;
+ case 8:
+ CopyWindowToVram(gMonSummaryScreen->unk3000[3], 2);
+ CopyWindowToVram(gMonSummaryScreen->unk3000[4], 2);
+ CopyWindowToVram(gMonSummaryScreen->unk3000[5], 2);
+ CopyWindowToVram(gMonSummaryScreen->unk3000[6], 2);
+ break;
+ case 9:
+ if (!IsDma3ManagerBusyWithBgCopy())
+ {
+ CopyBgTilemapBufferToVram(0);
+ ShowBg(0);
+ }
+ else
+ return;
+
+ break;
+ default:
+ sub_8138440();
+
+ if (gMonSummaryScreen->curPageIndex == PSS_PAGE_MOVES_INFO)
+ gTasks[gMonSummaryScreen->unk3018].func = sub_8138CD8;
+
+ DestroyTask(taskId);
+ data[0] = 0;
+ gMonSummaryScreen->lockMovesFlag = FALSE;
+ gMonSummaryScreen->unk301C = FALSE;
+ return;
+ }
+
+ data[0]++;
+}
+
+static void sub_8134E84(u8 taskId)
+{
+ switch (gMonSummaryScreen->unk3284)
+ {
+ case 0:
+ gMonSummaryScreen->lockMovesFlag = TRUE;
+ gMonSummaryScreen->unk301C = TRUE;
+ sub_8138280(gMonSummaryScreen->curPageIndex);
+ break;
+ case 1:
+ if (gMonSummaryScreen->curPageIndex != PSS_PAGE_MOVES_INFO)
+ {
+ if (!(gMonSummaryScreen->curPageIndex == PSS_PAGE_MOVES && gMonSummaryScreen->unk3224 == 0))
+ {
+ FillBgTilemapBufferRect_Palette0(0, 0, 0, 0, 30, 20);
+ CopyBgTilemapBufferToVram(0);
+ }
+ }
+
+ FillBgTilemapBufferRect_Palette0(1, 0, 0, 0, 30, 2);
+ FillBgTilemapBufferRect_Palette0(1, 0, 0, 2, 15, 2);
+ FillBgTilemapBufferRect_Palette0(2, 0, 0, 0, 30, 2);
+ FillBgTilemapBufferRect_Palette0(2, 0, 0, 2, 15, 2);
+ break;
+ case 2:
+ sub_8135638();
+ sub_813B750(gMonSummaryScreen->curPageIndex);
+ sub_8135B90();
+ sub_8138538();
+ sub_8135AA4();
+ break;
+ case 3:
+ sub_8136DA4(gUnknown_8419C39);
+ if (!(gMain.inBattle || gReceivedRemoteLinkPlayers))
+ sub_8136DF0(gUnknown_8419C92);
+ else
+ sub_8136DF0(gUnknown_8419CA2);
+
+ break;
+ case 4:
+ CopyWindowToVram(gMonSummaryScreen->unk3000[0], 2);
+ CopyWindowToVram(gMonSummaryScreen->unk3000[1], 2);
+ break;
+ case 5:
+ if (!IsDma3ManagerBusyWithBgCopy())
+ {
+ CopyBgTilemapBufferToVram(2);
+ CopyBgTilemapBufferToVram(1);
+ CopyBgTilemapBufferToVram(3);
+ }
+ else
+ return;
+
+ break;
+ case 6:
+ sub_8136F4C();
+ sub_8137BD0();
+ CopyWindowToVram(gMonSummaryScreen->unk3000[3], 2);
+ CopyWindowToVram(gMonSummaryScreen->unk3000[5], 2);
+ break;
+ case 7:
+ if (!IsDma3ManagerBusyWithBgCopy())
+ {
+ CopyBgTilemapBufferToVram(0);
+ sub_8135514();
+ gMonSummaryScreen->unk3244 = TRUE;
+ }
+ else
+ return;
+
+ break;
+ case 8:
+ if (!sub_81357A0(gMonSummaryScreen->unk3224))
+ return;
+
+ sub_81374E8();
+ CopyWindowToVram(gMonSummaryScreen->unk3000[4], 2);
+ break;
+ case 9:
+ sub_8138A38();
+ sub_8136E50(gUnknown_8419C45);
+ break;
+ case 10:
+ sub_81356EC();
+ CopyWindowToVram(gMonSummaryScreen->unk3000[6], 2);
+ CopyWindowToVram(gMonSummaryScreen->unk3000[2], 2);
+ break;
+ case 11:
+ if (!IsDma3ManagerBusyWithBgCopy())
+ {
+ CopyBgTilemapBufferToVram(0);
+ CopyBgTilemapBufferToVram(2);
+ CopyBgTilemapBufferToVram(1);
+ }
+ else
+ return;
+
+ break;
+ default:
+ sub_8138440();
+ gTasks[gMonSummaryScreen->unk3018].func = sub_8138CD8;
+ gMonSummaryScreen->unk3284 = 0;
+ gMonSummaryScreen->lockMovesFlag = FALSE;
+ gMonSummaryScreen->unk301C = FALSE;
+ return;
+ }
+
+ gMonSummaryScreen->unk3284++;
+ return;
+}
+
+void sub_81351A0(u8 taskId)
+{
+ switch (gMonSummaryScreen->unk3284)
+ {
+ case 0:
+ gMonSummaryScreen->lockMovesFlag = TRUE;
+ gMonSummaryScreen->unk301C = TRUE;
+ sub_8138280(gMonSummaryScreen->curPageIndex);
+ break;
+ case 1:
+ if (gMonSummaryScreen->curPageIndex != PSS_PAGE_MOVES_INFO) {
+ if (!(gMonSummaryScreen->curPageIndex == PSS_PAGE_MOVES && gMonSummaryScreen->unk3224 == 0))
+ {
+ FillBgTilemapBufferRect_Palette0(0, 0, 0, 0, 30, 20);
+ CopyBgTilemapBufferToVram(0);
+ }
+ }
+
+ FillBgTilemapBufferRect_Palette0(1, 0, 0, 0, 30, 2);
+ FillBgTilemapBufferRect_Palette0(1, 0, 0, 2, 15, 2);
+ FillBgTilemapBufferRect_Palette0(2, 0, 0, 0, 30, 2);
+ FillBgTilemapBufferRect_Palette0(2, 0, 0, 2, 15, 2);
+ break;
+ case 2:
+ sub_8135AA4();
+ break;
+ case 3:
+ sub_8136F4C();
+ sub_81374E8();
+ sub_8137BD0();
+ CopyWindowToVram(gMonSummaryScreen->unk3000[3], 2);
+ CopyWindowToVram(gMonSummaryScreen->unk3000[4], 2);
+ CopyWindowToVram(gMonSummaryScreen->unk3000[5], 2);
+ CopyBgTilemapBufferToVram(0);
+ break;
+ case 4:
+ sub_8136DA4(gUnknown_8419C39);
+ sub_8136DF0(gUnknown_8419C82);
+ break;
+ case 5:
+ CopyWindowToVram(gMonSummaryScreen->unk3000[0], 2);
+ CopyWindowToVram(gMonSummaryScreen->unk3000[1], 2);
+ CopyBgTilemapBufferToVram(2);
+ CopyBgTilemapBufferToVram(1);
+ break;
+ case 6:
+ sub_8135514();
+ gMonSummaryScreen->unk3244 = TRUE;
+ sub_8135638();
+ sub_813B750(gMonSummaryScreen->curPageIndex);
+ sub_8138A38();
+ break;
+ case 7:
+ break;
+ case 8:
+ if (sub_81357A0(gMonSummaryScreen->unk3224) == 0)
+ return;
+
+ sub_8136E50(gUnknown_8419C45);
+ break;
+ case 9:
+ CopyWindowToVram(gMonSummaryScreen->unk3000[6], 2);
+ CopyWindowToVram(gMonSummaryScreen->unk3000[2], 2);
+ CopyBgTilemapBufferToVram(0);
+ CopyBgTilemapBufferToVram(2);
+ CopyBgTilemapBufferToVram(1);
+ break;
+ case 10:
+ sub_8135B90();
+ sub_8138538();
+ CopyBgTilemapBufferToVram(3);
+ sub_81356EC();
+ break;
+ default:
+ sub_8138440();
+ gTasks[gMonSummaryScreen->unk3018].func = sub_8134840;
+ gMonSummaryScreen->unk3284 = 0;
+ gMonSummaryScreen->lockMovesFlag = FALSE;
+ gMonSummaryScreen->unk301C = FALSE;
+ return;
+ }
+
+ gMonSummaryScreen->unk3284++;
+ return;
+}
+
+void sub_813546C(void)
+{
+ u8 i;
+ for (i = 0; i < 11; i++)
+ {
+ gUnknown_203B160->unk2C[i] = (8 * i) + 396;
+ gUnknown_203B160->sprite00[i]->pos1.x = gUnknown_203B160->unk2C[i];
+ if (i >= 9)
+ continue;
+
+ gUnknown_203B15C->unk28[i] = (8 * i) + 412;
+ gUnknown_203B15C->sprite00[i]->pos1.x = gUnknown_203B15C->unk28[i];
+ }
+}
+
+void sub_81354C4(void)
+{
+ u8 i;
+ for (i = 0; i < 11; i++)
+ {
+ gUnknown_203B160->unk2C[i] = (8 * i) + 156;
+ gUnknown_203B160->sprite00[i]->pos1.x = gUnknown_203B160->unk2C[i];
+ if (i >= 9)
+ continue;
+ gUnknown_203B15C->unk28[i] = (8 * i) + 172;
+ gUnknown_203B15C->sprite00[i]->pos1.x = gUnknown_203B15C->unk28[i];
+ }
+}
+
+void sub_8135514(void)
+{
+ s8 pageDelta = 1;
+
+ if (gMonSummaryScreen->unk3224 == 1)
+ pageDelta = -1;
+
+ if (gMonSummaryScreen->curPageIndex == PSS_PAGE_MOVES_INFO)
+ {
+ gMonSummaryScreen->unk324C = 240;
+ return;
+ }
+
+ if ((gMonSummaryScreen->curPageIndex + pageDelta) == PSS_PAGE_MOVES_INFO)
+ {
+ sub_81358DC(0, 0);
+ gMonSummaryScreen->unk324C = 0;
+ SetGpuReg(REG_OFFSET_BG1HOFS, 0);
+ SetGpuReg(REG_OFFSET_BG2HOFS, 0);
+ return;
+ }
+
+ if (gMonSummaryScreen->unk3224 == 1)
+ {
+ gMonSummaryScreen->unk324C = 0;
+ SetGpuReg(REG_OFFSET_BG0HOFS, 0);
+ SetGpuReg(REG_OFFSET_BG1HOFS, 0);
+ SetGpuReg(REG_OFFSET_BG2HOFS, 0);
+ sub_81358DC(1, 1);
+ }
+ else
+ {
+ u32 bg1Priority = GetGpuReg(REG_OFFSET_BG1CNT) & 3;
+ u32 bg2Priority = GetGpuReg(REG_OFFSET_BG2CNT) & 3;
+ gMonSummaryScreen->unk324C = 240;
+
+ if (bg1Priority > bg2Priority)
+ SetGpuReg(REG_OFFSET_BG1HOFS, 240);
+ else
+ SetGpuReg(REG_OFFSET_BG2HOFS, 240);
+
+ SetGpuReg(REG_OFFSET_BG0HOFS, 240);
+ sub_81358DC(1, 0);
+ }
+
+ if (gMonSummaryScreen->curPageIndex == PSS_PAGE_SKILLS)
+ {
+ if (gMonSummaryScreen->unk3224 == 1)
+ sub_81354C4();
+ else
+ sub_813546C();
+ }
+ else if (gMonSummaryScreen->curPageIndex == PSS_PAGE_MOVES)
+ sub_81354C4();
+
+}
+
+void sub_8135638(void)
+{
+ u8 newPage;
+
+ if (gMonSummaryScreen->unk3224 == 1)
+ newPage = gMonSummaryScreen->curPageIndex - 1;
+ else
+ newPage = gMonSummaryScreen->curPageIndex + 1;
+
+ switch (newPage)
+ {
+ case PSS_PAGE_INFO:
+ break;
+ case PSS_PAGE_SKILLS:
+ sub_813A838(1);
+ sub_813AB70(1);
+ break;
+ case PSS_PAGE_MOVES:
+ if (gMonSummaryScreen->unk3224 == 1)
+ {
+ sub_8139C44(1);
+ sub_813B084(1);
+ sub_8139D54(1);
+ sub_813A3B8(1);
+ sub_813ACF8(1);
+ sub_813AEB0(1);
+ }
+
+ break;
+ case PSS_PAGE_MOVES_INFO:
+ sub_813A0E8(1);
+ sub_8139EE4(1);
+ sub_813A3B8(1);
+ sub_813ACF8(1);
+ sub_813AEB0(1);
+ break;
+ }
+}
+
+void sub_81356EC(void)
+{
+ u8 newPage;
+
+ if (gMonSummaryScreen->unk3224 == 1)
+ newPage = gMonSummaryScreen->curPageIndex - 1;
+ else
+ newPage = gMonSummaryScreen->curPageIndex + 1;
+
+ switch (newPage)
+ {
+ case PSS_PAGE_INFO:
+ sub_813A838(0);
+ sub_813AB70(0);
+ break;
+ case PSS_PAGE_SKILLS:
+ break;
+ case PSS_PAGE_MOVES:
+ if (gMonSummaryScreen->unk3224 == 0)
+ {
+ sub_813A838(0);
+ sub_813AB70(0);
+ }
+ else
+ {
+ sub_813A0E8(0);
+ sub_813ACF8(0);
+ sub_8139EE4(0);
+ sub_813AEB0(0);
+ }
+
+ break;
+ case PSS_PAGE_MOVES_INFO:
+ sub_8139C44(0);
+ sub_813B084(0);
+ sub_813A3B8(0);
+ sub_8139D54(0);
+ sub_813ACF8(0);
+ sub_813AEB0(0);
+ break;
+ }
+}
+
+u8 sub_81357A0(u8 a0)
+{
+ s8 pageDelta = 1;
+
+ if (gMonSummaryScreen->unk3224 == 1)
+ pageDelta = -1;
+
+ if (gMonSummaryScreen->curPageIndex == PSS_PAGE_MOVES_INFO)
+ if (gMonSummaryScreen->unk324C <= 0)
+ {
+ gMonSummaryScreen->unk324C = 0;
+ gMonSummaryScreen->unk3238 ^= 1;
+ sub_81358DC(0, 0);
+ gMonSummaryScreen->unk3244 = FALSE;
+ return TRUE;
+ }
+
+ if ((gMonSummaryScreen->curPageIndex + pageDelta) == PSS_PAGE_MOVES_INFO)
+ if (gMonSummaryScreen->unk324C >= 240)
+ {
+ gMonSummaryScreen->unk324C = 240;
+ gMonSummaryScreen->unk3238 ^= 1;
+ gMonSummaryScreen->unk3244 = FALSE;
+ return TRUE;
+ }
+
+ if (gMonSummaryScreen->unk3224 == 1)
+ {
+ if (gMonSummaryScreen->unk324C >= 240)
+ {
+ gMonSummaryScreen->unk324C = 240;
+ gMonSummaryScreen->unk3238 ^= 1;
+ sub_81358DC(0, 0);
+ gMonSummaryScreen->unk3244 = FALSE;
+ return TRUE;
+ }
+ }
+ else if (gMonSummaryScreen->unk324C <= 0)
+ {
+ gMonSummaryScreen->unk3238 ^= 1;
+ gMonSummaryScreen->unk324C = 0;
+ gMonSummaryScreen->unk3244 = FALSE;
+ return TRUE;
+ }
+
+ return FALSE;
+}
+
+void sub_81358DC(u8 a0, u8 a1)
+{
+ u8 i;
+ u32 bg0Priority;
+ u32 bg1Priority;
+ u32 bg2Priority;
+
+ bg0Priority = GetGpuReg(REG_OFFSET_BG0CNT) & 3;
+ bg1Priority = GetGpuReg(REG_OFFSET_BG1CNT) & 3;
+ bg2Priority = GetGpuReg(REG_OFFSET_BG2CNT) & 3;
+
+ if (gMonSummaryScreen->unk3224 == 1)
+ {
+ if (a0 == 0)
+ {
+ bg0Priority = 0;
+
+ if (a1 == 0)
+ {
+ if (bg1Priority > bg2Priority)
+ bg1Priority = 1, bg2Priority = 2;
+ else
+ bg1Priority = 2, bg2Priority = 1;
+ }
+ else
+ {
+ if (bg1Priority > bg2Priority)
+ bg1Priority = 2, bg2Priority = 1;
+ else
+ bg1Priority = 1, bg2Priority = 2;
+ }
+ }
+ if (a0 == 1)
+ {
+ bg0Priority = 1;
+
+ if (a1 == 0)
+ {
+ if (bg1Priority > bg2Priority)
+ bg1Priority = 0, bg2Priority = 2;
+ else
+ bg1Priority = 2, bg2Priority = 0;
+ }
+ else
+ {
+ if (bg1Priority > bg2Priority)
+ bg1Priority = 2, bg2Priority = 0;
+ else
+ bg1Priority = 0, bg2Priority = 2;
+ }
+ }
+ }
+
+ if (gMonSummaryScreen->unk3224 == 0)
+ {
+ bg0Priority = 0;
+ if (bg1Priority > bg2Priority)
+ bg1Priority = 1, bg2Priority = 2;
+ else
+ bg1Priority = 2, bg2Priority = 1;
+ }
+
+ for (i = 0; i < 11; i++)
+ {
+ if (gMonSummaryScreen->curPageIndex == PSS_PAGE_SKILLS && gMonSummaryScreen->unk3224 == 1)
+ gUnknown_203B160->sprite00[i]->oam.priority = bg0Priority;
+ else
+ gUnknown_203B160->sprite00[i]->oam.priority = bg1Priority;
+
+ if (i >= 9)
+ continue;
+
+ if (gMonSummaryScreen->curPageIndex == PSS_PAGE_SKILLS && gMonSummaryScreen->unk3224 == 1)
+ gUnknown_203B15C->sprite00[i]->oam.priority = bg0Priority;
+ else
+ gUnknown_203B15C->sprite00[i]->oam.priority = bg1Priority;
+ }
+
+ SetGpuReg(REG_OFFSET_BG0CNT, (GetGpuReg(REG_OFFSET_BG0CNT) & 0xfffc) | bg0Priority);
+ SetGpuReg(REG_OFFSET_BG1CNT, (GetGpuReg(REG_OFFSET_BG1CNT) & 0xfffc) | bg1Priority);
+ SetGpuReg(REG_OFFSET_BG2CNT, (GetGpuReg(REG_OFFSET_BG2CNT) & 0xfffc) | bg2Priority);
+}
+
+void sub_8135AA4(void)
+{
+ u8 newPage;
+
+ if (gMonSummaryScreen->unk3224 == 1)
+ newPage = gMonSummaryScreen->curPageIndex - 1;
+ else
+ newPage = gMonSummaryScreen->curPageIndex + 1;
+
+ switch (newPage)
+ {
+ case PSS_PAGE_INFO:
+ CopyToBgTilemapBuffer(gMonSummaryScreen->unk3240, gUnknown_8E9B750, 0, 0);
+ break;
+ case PSS_PAGE_SKILLS:
+ if (gMonSummaryScreen->unk3224 == 1)
+ CopyToBgTilemapBuffer(gMonSummaryScreen->unk323C, gUnknown_8E9B950, 0, 0);
+ else
+ CopyToBgTilemapBuffer(gMonSummaryScreen->unk323C, gUnknown_8E9B598, 0, 0);
+
+ break;
+ case PSS_PAGE_MOVES:
+ if (gMonSummaryScreen->unk3224 == 1)
+ CopyToBgTilemapBuffer(gMonSummaryScreen->unk3240, gUnknown_8E9BA9C, 0, 0);
+ else
+ CopyToBgTilemapBuffer(gMonSummaryScreen->unk3240, gUnknown_8E9B750, 0, 0);
+
+ break;
+ case PSS_PAGE_MOVES_INFO:
+ CopyToBgTilemapBuffer(gMonSummaryScreen->unk323C, gUnknown_8E9B950, 0, 0);
+ break;
+ }
+}
+
+void sub_8135B90(void)
+{
+ u8 newPage;
+
+ if (gMonSummaryScreen->unk3224 == 1)
+ newPage = gMonSummaryScreen->curPageIndex - 1;
+ else
+ newPage = gMonSummaryScreen->curPageIndex + 1;
+
+ switch (newPage)
+ {
+ case PSS_PAGE_INFO:
+ CopyToBgTilemapBuffer(gMonSummaryScreen->unk3240, gUnknown_8E9B750, 0, 0);
+ break;
+ case PSS_PAGE_SKILLS:
+ break;
+ case PSS_PAGE_MOVES:
+ if (gMonSummaryScreen->unk3224 == 1)
+ CopyToBgTilemapBuffer(3, gUnknown_8463C80, 0, 0);
+ else
+ CopyToBgTilemapBuffer(3, gUnknown_8463B88, 0, 0);
+
+ break;
+ case PSS_PAGE_MOVES_INFO:
+ CopyToBgTilemapBuffer(3, gUnknown_8463B88, 0, 0);
+ break;
+ }
+}
+
+void sub_8135C34(void)
+{
+ switch (gMonSummaryScreen->unk3274)
+ {
+ case 0:
+ sub_81381AC();
+ break;
+ case 1:
+ sub_8136BC4();
+ break;
+ case 2:
+ sub_8136BAC();
+ break;
+ case 3:
+ if (!sub_8135F20())
+ return;
+ break;
+ case 4:
+ if (!sub_8136AEC())
+ return;
+ break;
+ case 5:
+ sub_81381D0();
+ break;
+ case 6:
+ if (!sub_8136040())
+ return;
+ break;
+ case 7:
+ sub_8136F4C();
+ break;
+ case 8:
+ sub_81374E8();
+ break;
+ case 9:
+ sub_8137BD0();
+ sub_8138A38();
+ break;
+ case 10:
+ if (gMonSummaryScreen->mode == PSS_MODE_SELECT_MOVE || gMonSummaryScreen->mode == PSS_MODE_FORGET_MOVE)
+ CopyToBgTilemapBuffer(3, gUnknown_8463C80, 0, 0);
+ else
+ CopyToBgTilemapBuffer(3, gUnknown_8463B88, 0, 0);
+
+ sub_8138538();
+ break;
+ case 11:
+ if (gMonSummaryScreen->isEgg)
+ CopyToBgTilemapBuffer(gMonSummaryScreen->unk323C, gUnknown_8E9BBCC, 0, 0);
+ else
+ {
+ if (gMonSummaryScreen->mode == PSS_MODE_SELECT_MOVE || gMonSummaryScreen->mode == PSS_MODE_FORGET_MOVE)
+ {
+ CopyToBgTilemapBuffer(gMonSummaryScreen->unk323C, gUnknown_8E9B950, 0, 0);
+ CopyToBgTilemapBuffer(gMonSummaryScreen->unk3240, gUnknown_8E9BA9C, 0, 0);
+ }
+ else
+ {
+ CopyToBgTilemapBuffer(gMonSummaryScreen->unk323C, gUnknown_8E9B598, 0, 0);
+ CopyToBgTilemapBuffer(gMonSummaryScreen->unk3240, gUnknown_8E9B750, 0, 0);
+ }
+ }
+
+ break;
+ case 12:
+ BlendPalettes(0xffffffff, 16, 0);
+ sub_8137D28(gMonSummaryScreen->curPageIndex);
+ sub_8137E28();
+ break;
+ case 13:
+ BeginNormalPaletteFade(0xffffffff, 0, 16, 0, 0);
+ CopyWindowToVram(gMonSummaryScreen->unk3000[0], 2);
+ CopyWindowToVram(gMonSummaryScreen->unk3000[1], 2);
+ CopyWindowToVram(gMonSummaryScreen->unk3000[2], 2);
+ CopyWindowToVram(gMonSummaryScreen->unk3000[6], 2);
+ CopyWindowToVram(gMonSummaryScreen->unk3000[3], 2);
+ CopyWindowToVram(gMonSummaryScreen->unk3000[4], 2);
+ CopyWindowToVram(gMonSummaryScreen->unk3000[5], 2);
+ break;
+ case 14:
+ CopyBgTilemapBufferToVram(0);
+ CopyBgTilemapBufferToVram(2);
+ CopyBgTilemapBufferToVram(1);
+ CopyBgTilemapBufferToVram(3);
+ break;
+ case 15:
+ if (gMonSummaryScreen->mode == PSS_MODE_SELECT_MOVE || gMonSummaryScreen->mode == PSS_MODE_FORGET_MOVE)
+ {
+ sub_8139EE4(0);
+ sub_813A0E8(0);
+ }
+ else
+ {
+ sub_8139C44(0);
+ sub_813B084(0);
+ sub_8139D54(0);
+ sub_813A838(0);
+ sub_813AB70(0);
+ }
+
+ sub_813A3B8(0);
+ sub_813ACF8(0);
+ sub_813AEB0(0);
+ break;
+ default:
+ sub_81381C0();
+ sub_8136D54();
+ return;
+ }
+
+ gMonSummaryScreen->unk3274++;
+}
+
+u8 sub_8135F20(void)
+{
+ switch (gMonSummaryScreen->unk3278)
+ {
+ case 0:
+ LoadPalette(gUnknown_8E9B310, 0, 0x20 * 5);
+ if (IsMonShiny(&gMonSummaryScreen->currentMon) == TRUE && !gMonSummaryScreen->isEgg)
+ {
+ LoadPalette(&gUnknown_8E9B310[16 * 6], 0, 0x20);
+ LoadPalette(&gUnknown_8E9B310[16 * 5], 0x10, 0x20);
+ }
+ else
+ {
+ LoadPalette(&gUnknown_8E9B310[16 * 0], 0, 0x20);
+ LoadPalette(&gUnknown_8E9B310[16 * 1], 0x10, 0x20);
+ }
+
+ break;
+ case 1:
+ ListMenuLoadStdPalAt(0x60, 1);
+ LoadPalette(gUnknown_84636C0, 0x70, 0x20);
+ break;
+ case 2:
+ ResetTempTileDataBuffers();
+ break;
+ case 3:
+ DecompressAndCopyTileDataToVram(2, gUnknown_8E9A460, 0, 0, 0);
+ break;
+ case 4:
+ if (FreeTempTileDataBuffersIfPossible() == TRUE)
+ return FALSE;
+ break;
+
+ case 5:
+ case 6:
+ break;
+
+ default:
+ LoadPalette(gUnknown_8463700, 0x80, 0x20);
+ return TRUE;
+ }
+
+ gMonSummaryScreen->unk3278++;
+ return FALSE;
+}
+
+u8 sub_8136040(void)
+{
+ switch (gMonSummaryScreen->unk3280)
+ {
+ case 0:
+ sub_81360D4();
+ if (gMonSummaryScreen->isEgg)
+ {
+ gMonSummaryScreen->unk3280 = 0;
+ return TRUE;
+ }
+
+ break;
+ case 1:
+ if (gMonSummaryScreen->isEgg == 0)
+ sub_8136350();
+ break;
+ case 2:
+ if (gMonSummaryScreen->isEgg == 0)
+ sub_81367B0();
+ break;
+ default:
+ gMonSummaryScreen->unk3280 = 0;
+ return TRUE;
+ }
+
+ gMonSummaryScreen->unk3280++;
+ return FALSE;
+}
+
+void sub_81360D4(void)
+{
+ u8 tempStr[20];
+ u16 dexNum;
+ u16 gender;
+ u16 heldItem;
+ u32 otId;
+
+ dexNum = SpeciesToPokedexNum(GetMonData(&gMonSummaryScreen->currentMon, MON_DATA_SPECIES));
+ if (dexNum == 0xffff)
+ StringCopy(gMonSummaryScreen->summary.unk3064, gUnknown_8416202);
+ else
+ ConvertIntToDecimalStringN(gMonSummaryScreen->summary.unk3064, dexNum, STR_CONV_MODE_LEADING_ZEROS, 3);
+
+ gUnknown_203B144->unk00 = 0;
+
+ if (!gMonSummaryScreen->isEgg)
+ {
+ dexNum = GetMonData(&gMonSummaryScreen->currentMon, MON_DATA_SPECIES);
+ GetSpeciesName(gMonSummaryScreen->summary.unk3028, dexNum);
+ }
+ else
+ {
+ GetMonData(&gMonSummaryScreen->currentMon, MON_DATA_NICKNAME, gMonSummaryScreen->summary.unk3028);
+ return;
+ }
+
+ gMonSummaryScreen->unk3220[0] = gBaseStats[dexNum].type1;
+ gMonSummaryScreen->unk3220[1] = gBaseStats[dexNum].type2;
+
+ GetMonData(&gMonSummaryScreen->currentMon, MON_DATA_NICKNAME, tempStr);
+ StringCopyN_Multibyte(gMonSummaryScreen->summary.unk3034, tempStr, POKEMON_NAME_LENGTH);
+ StringGetEnd10(gMonSummaryScreen->summary.unk3034);
+
+ gender = GetMonGender(&gMonSummaryScreen->currentMon);
+ dexNum = GetMonData(&gMonSummaryScreen->currentMon, MON_DATA_SPECIES2);
+
+ if (gender == MON_FEMALE)
+ StringCopy(gMonSummaryScreen->summary.unk3084, gText_FemaleSymbol);
+ else if (gender == MON_MALE)
+ StringCopy(gMonSummaryScreen->summary.unk3084, gText_MaleSymbol);
+ else
+ StringCopy(gMonSummaryScreen->summary.unk3084, gString_Dummy);
+
+ if (dexNum == SPECIES_NIDORAN_M || dexNum == SPECIES_NIDORAN_F)
+ if (StringCompare(gMonSummaryScreen->summary.unk3034, gSpeciesNames[dexNum]) == 0)
+ StringCopy(gMonSummaryScreen->summary.unk3084, gString_Dummy);
+
+ GetMonData(&gMonSummaryScreen->currentMon, MON_DATA_OT_NAME, tempStr);
+ StringCopyN_Multibyte(gMonSummaryScreen->summary.unk3040, tempStr, OT_NAME_LENGTH);
+
+ ConvertInternationalString(gMonSummaryScreen->summary.unk3040, GetMonData(&gMonSummaryScreen->currentMon, MON_DATA_LANGUAGE));
+
+ otId = GetMonData(&gMonSummaryScreen->currentMon, MON_DATA_OT_ID) & 0xffff;
+ ConvertIntToDecimalStringN(gMonSummaryScreen->summary.unk306C, otId, STR_CONV_MODE_LEADING_ZEROS, 5);
+
+ ConvertIntToDecimalStringN(tempStr, GetMonData(&gMonSummaryScreen->currentMon, MON_DATA_LEVEL), STR_CONV_MODE_LEFT_ALIGN, 3);
+ StringCopy(gMonSummaryScreen->summary.unk3088, gText_Lv);
+ StringAppendN(gMonSummaryScreen->summary.unk3088, tempStr, 4);
+
+ heldItem = GetMonData(&gMonSummaryScreen->currentMon, MON_DATA_HELD_ITEM);
+
+ if (heldItem == ITEM_NONE)
+ StringCopy(gMonSummaryScreen->summary.unk3074, gUnknown_84161EF);
+ else
+ CopyItemName(heldItem, gMonSummaryScreen->summary.unk3074);
+}