summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorYamaArashi <shadow962@live.com>2016-10-19 02:20:17 -0700
committerYamaArashi <shadow962@live.com>2016-10-19 02:20:17 -0700
commitf74ced3261a1be647327ccfce13af58aecaf63a9 (patch)
treee348093fa78350eaf26d61929c2f3508b726804d
parent642ce26017a8d0c032cca1208db061778a66b84d (diff)
split out diploma.s and berry_tag_screen.s
-rw-r--r--Makefile3
-rw-r--r--asm/berry_tag_screen.s1115
-rw-r--r--asm/diploma.s313
-rw-r--r--asm/mystery_event_menu.s28
-rw-r--r--asm/rom_813BA94.s1438
-rw-r--r--ld_script.txt2
6 files changed, 1460 insertions, 1439 deletions
diff --git a/Makefile b/Makefile
index 02ed4e35b..d00cc6154 100644
--- a/Makefile
+++ b/Makefile
@@ -54,7 +54,8 @@ asm/field_effect_helpers.o asm/contest_ai.o asm/berry.o asm/rom_80B5054.o \
asm/party_menu.o asm/rom_806D7F8.o asm/wild_encounter.o asm/rom_80859BC.o \
asm/field_effect.o asm/title_screen.o asm/rom_807C828.o \
asm/rom_806936C.o asm/clear_save_data_menu.o asm/rom_8148B8C.o \
-asm/mystery_event_menu.o asm/save_failed_screen.o asm/rom_81473B8.o
+asm/mystery_event_menu.o asm/save_failed_screen.o asm/rom_81473B8.o \
+asm/diploma.o asm/berry_tag_screen.o
DATA_ASM_OBJS := data/data2.o data/graphics.o data/sound_data.o \
data/event_scripts.o data/battle_anim_scripts.o \
diff --git a/asm/berry_tag_screen.s b/asm/berry_tag_screen.s
new file mode 100644
index 000000000..52d49f478
--- /dev/null
+++ b/asm/berry_tag_screen.s
@@ -0,0 +1,1115 @@
+ .include "constants/gba_constants.s"
+ .include "constants/species_constants.s"
+ .include "asm/macros.s"
+
+ .syntax unified
+
+ .text
+
+ thumb_func_start sub_8146014
+sub_8146014: @ 8146014
+ push {lr}
+ bl AnimateSprites
+ bl BuildOamBuffer
+ bl RunTasks
+ bl UpdatePaletteFade
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8146014
+
+ thumb_func_start sub_814602C
+sub_814602C: @ 814602C
+ push {lr}
+ ldr r2, _0814604C
+ ldr r0, _08146050
+ ldrh r1, [r0]
+ strh r1, [r2]
+ ldr r0, _08146054
+ strh r1, [r0]
+ bl LoadOam
+ bl ProcessSpriteCopyRequests
+ bl TransferPlttBuffer
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0814604C: .4byte REG_BG0VOFS
+_08146050: .4byte gUnknown_030041B4
+_08146054: .4byte REG_BG1VOFS
+ thumb_func_end sub_814602C
+
+ thumb_func_start sub_8146058
+sub_8146058: @ 8146058
+ push {r4,lr}
+ sub sp, 0x4
+ ldr r0, _08146074
+ ldr r1, _08146078
+ adds r0, r1
+ ldrb r0, [r0]
+ cmp r0, 0xC
+ bls _0814606A
+ b _08146250
+_0814606A:
+ lsls r0, 2
+ ldr r1, _0814607C
+ adds r0, r1
+ ldr r0, [r0]
+ mov pc, r0
+ .align 2, 0
+_08146074: .4byte gMain
+_08146078: .4byte 0x0000043c
+_0814607C: .4byte _08146080
+ .align 2, 0
+_08146080:
+ .4byte _081460B4
+ .4byte _081460CC
+ .4byte _081460F0
+ .4byte _081460F6
+ .4byte _08146110
+ .4byte _0814611C
+ .4byte _0814613C
+ .4byte _0814615C
+ .4byte _08146170
+ .4byte _08146190
+ .4byte _081461B4
+ .4byte _08146204
+ .4byte _08146224
+_081460B4:
+ bl sub_80F9438
+ bl sub_80F9368
+ bl sub_8146288
+ ldr r1, _081460C8
+ movs r0, 0
+ strh r0, [r1]
+ b _0814620C
+ .align 2, 0
+_081460C8: .4byte REG_BLDCNT
+_081460CC:
+ bl ResetPaletteFade
+ ldr r2, _081460E4
+ ldrb r0, [r2, 0x8]
+ movs r1, 0x80
+ orrs r0, r1
+ strb r0, [r2, 0x8]
+ ldr r1, _081460E8
+ ldr r0, _081460EC
+ adds r1, r0
+ b _08146212
+ .align 2, 0
+_081460E4: .4byte gPaletteFade
+_081460E8: .4byte gMain
+_081460EC: .4byte 0x0000043c
+_081460F0:
+ bl ResetSpriteData
+ b _0814620C
+_081460F6:
+ ldr r0, _08146104
+ bl SetUpWindowConfig
+ ldr r1, _08146108
+ ldr r0, _0814610C
+ adds r1, r0
+ b _08146212
+ .align 2, 0
+_08146104: .4byte gWindowConfig_81E6E18
+_08146108: .4byte gMain
+_0814610C: .4byte 0x0000043c
+_08146110:
+ ldr r0, _08146118
+ bl MultistepInitMenuWindowBegin
+ b _0814620C
+ .align 2, 0
+_08146118: .4byte gWindowConfig_81E6E18
+_0814611C:
+ bl MultistepInitMenuWindowContinue
+ cmp r0, 0
+ bne _08146126
+ b _08146250
+_08146126:
+ ldr r0, _08146134
+ ldr r1, _08146138
+ adds r0, r1
+ movs r1, 0
+ strb r1, [r0]
+ b _0814620C
+ .align 2, 0
+_08146134: .4byte 0x02000000
+_08146138: .4byte 0x0001ffff
+_0814613C:
+ bl sub_81462B8
+ lsls r0, 24
+ cmp r0, 0
+ bne _08146148
+ b _08146250
+_08146148:
+ ldr r0, _08146154
+ ldr r1, _08146158
+ adds r0, r1
+ movs r1, 0
+ strb r1, [r0]
+ b _0814620C
+ .align 2, 0
+_08146154: .4byte 0x02000000
+_08146158: .4byte 0x0001ffff
+_0814615C:
+ bl sub_81464E4
+ ldr r1, _08146168
+ ldr r0, _0814616C
+ adds r1, r0
+ b _08146212
+ .align 2, 0
+_08146168: .4byte gMain
+_0814616C: .4byte 0x0000043c
+_08146170:
+ ldr r0, _08146188
+ ldrb r0, [r0]
+ adds r0, 0x7B
+ lsls r0, 24
+ lsrs r0, 24
+ movs r1, 0x38
+ movs r2, 0x40
+ bl sub_80A7D8C
+ ldr r1, _0814618C
+ strb r0, [r1]
+ b _0814620C
+ .align 2, 0
+_08146188: .4byte word_203855E
+_0814618C: .4byte gUnknown_0203932C
+_08146190:
+ ldr r0, _081461A8
+ ldrb r0, [r0]
+ adds r0, 0x7B
+ lsls r0, 24
+ lsrs r0, 24
+ bl sub_8146600
+ ldr r1, _081461AC
+ ldr r0, _081461B0
+ adds r1, r0
+ b _08146212
+ .align 2, 0
+_081461A8: .4byte word_203855E
+_081461AC: .4byte gMain
+_081461B0: .4byte 0x0000043c
+_081461B4:
+ ldr r3, _081461EC
+ ldrh r2, [r3]
+ movs r0, 0
+ strh r0, [r3]
+ ldr r4, _081461F0
+ ldrh r0, [r4]
+ movs r1, 0x1
+ orrs r0, r1
+ strh r0, [r4]
+ strh r2, [r3]
+ ldr r2, _081461F4
+ ldrh r0, [r2]
+ movs r1, 0x8
+ orrs r0, r1
+ strh r0, [r2]
+ ldr r0, _081461F8
+ bl SetVBlankCallback
+ movs r1, 0x80
+ lsls r1, 19
+ movs r2, 0xFA
+ lsls r2, 5
+ adds r0, r2, 0
+ strh r0, [r1]
+ ldr r1, _081461FC
+ ldr r0, _08146200
+ adds r1, r0
+ b _08146212
+ .align 2, 0
+_081461EC: .4byte 0x04000208
+_081461F0: .4byte 0x04000200
+_081461F4: .4byte REG_DISPSTAT
+_081461F8: .4byte sub_814602C
+_081461FC: .4byte gMain
+_08146200: .4byte 0x0000043c
+_08146204:
+ bl sub_8055870
+ cmp r0, 0x1
+ beq _08146250
+_0814620C:
+ ldr r1, _0814621C
+ ldr r2, _08146220
+ adds r1, r2
+_08146212:
+ ldrb r0, [r1]
+ adds r0, 0x1
+ strb r0, [r1]
+ b _08146250
+ .align 2, 0
+_0814621C: .4byte gMain
+_08146220: .4byte 0x0000043c
+_08146224:
+ movs r0, 0x1
+ negs r0, r0
+ movs r1, 0
+ str r1, [sp]
+ movs r2, 0x10
+ movs r3, 0
+ bl BeginNormalPaletteFade
+ ldr r2, _08146248
+ ldrb r1, [r2, 0x8]
+ movs r0, 0x7F
+ ands r0, r1
+ strb r0, [r2, 0x8]
+ ldr r0, _0814624C
+ bl SetMainCallback2
+ movs r0, 0x1
+ b _08146252
+ .align 2, 0
+_08146248: .4byte gPaletteFade
+_0814624C: .4byte sub_8146014
+_08146250:
+ movs r0, 0
+_08146252:
+ add sp, 0x4
+ pop {r4}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_8146058
+
+ thumb_func_start sub_814625C
+sub_814625C: @ 814625C
+ push {lr}
+_0814625E:
+ bl sub_8146058
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, 0x1
+ bne _08146278
+ ldr r0, _08146274
+ movs r1, 0
+ bl CreateTask
+ b _08146284
+ .align 2, 0
+_08146274: .4byte sub_8146480
+_08146278:
+ bl sub_80F9344
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, 0x1
+ bne _0814625E
+_08146284:
+ pop {r0}
+ bx r0
+ thumb_func_end sub_814625C
+
+ thumb_func_start sub_8146288
+sub_8146288: @ 8146288
+ ldr r1, _081462A8
+ ldr r2, _081462AC
+ adds r0, r2, 0
+ strh r0, [r1]
+ adds r1, 0x2
+ adds r2, 0xFE
+ adds r0, r2, 0
+ strh r0, [r1]
+ adds r1, 0x2
+ ldr r2, _081462B0
+ adds r0, r2, 0
+ strh r0, [r1]
+ ldr r1, _081462B4
+ movs r0, 0
+ strh r0, [r1]
+ bx lr
+ .align 2, 0
+_081462A8: .4byte REG_BG1CNT
+_081462AC: .4byte 0x00000502
+_081462B0: .4byte 0x00000703
+_081462B4: .4byte gUnknown_030041B4
+ thumb_func_end sub_8146288
+
+ thumb_func_start sub_81462B8
+sub_81462B8: @ 81462B8
+ push {r4-r7,lr}
+ ldr r1, _081462D4
+ ldr r2, _081462D8
+ adds r0, r1, r2
+ ldrb r0, [r0]
+ mov r12, r1
+ cmp r0, 0x6
+ bls _081462CA
+ b _08146404
+_081462CA:
+ lsls r0, 2
+ ldr r1, _081462DC
+ adds r0, r1
+ ldr r0, [r0]
+ mov pc, r0
+ .align 2, 0
+_081462D4: .4byte 0x02000000
+_081462D8: .4byte 0x0001ffff
+_081462DC: .4byte _081462E0
+ .align 2, 0
+_081462E0:
+ .4byte _081462FC
+ .4byte _0814630C
+ .4byte _0814632C
+ .4byte _08146340
+ .4byte _081463A4
+ .4byte _081463C4
+ .4byte _081463E4
+_081462FC:
+ ldr r0, _08146308
+ movs r1, 0xC0
+ lsls r1, 19
+ bl LZDecompressVram
+ b _081463CA
+ .align 2, 0
+_08146308: .4byte gBerryCheck_Gfx
+_0814630C:
+ ldr r0, _0814631C
+ ldr r1, _08146320
+ bl LZDecompressVram
+ ldr r1, _08146324
+ ldr r2, _08146328
+ adds r1, r2
+ b _081463D0
+ .align 2, 0
+_0814631C: .4byte gUnknown_08E788E4
+_08146320: .4byte 0x06002800
+_08146324: .4byte 0x02000000
+_08146328: .4byte 0x0001ffff
+_0814632C:
+ ldr r0, _08146338
+ ldr r1, _0814633C
+ bl LZDecompressVram
+ b _081463CA
+ .align 2, 0
+_08146338: .4byte gUnknown_08E78A84
+_0814633C: .4byte 0x06003000
+_08146340:
+ movs r1, 0
+ ldr r7, _0814635C
+ adds r2, r7, 0
+ ldr r6, _08146360
+ ldr r5, _08146364
+ ldr r4, _08146368
+ ldr r3, _0814636C
+_0814634E:
+ ldrb r0, [r5, 0x8]
+ cmp r0, 0
+ bne _08146370
+ lsls r0, r1, 1
+ adds r0, r2
+ strh r6, [r0]
+ b _08146376
+ .align 2, 0
+_0814635C: .4byte gBG2TilemapBuffer
+_08146360: .4byte 0x00004042
+_08146364: .4byte gSaveBlock2
+_08146368: .4byte 0x00005042
+_0814636C: .4byte 0x000003ff
+_08146370:
+ lsls r0, r1, 1
+ adds r0, r2
+ strh r4, [r0]
+_08146376:
+ adds r0, r1, 0x1
+ lsls r0, 16
+ lsrs r1, r0, 16
+ cmp r1, r3
+ bls _0814634E
+ ldr r1, _08146394
+ ldr r0, _08146398
+ str r7, [r0]
+ str r1, [r0, 0x4]
+ ldr r1, _0814639C
+ str r1, [r0, 0x8]
+ ldr r0, [r0, 0x8]
+ ldr r1, _081463A0
+ add r1, r12
+ b _081463D0
+ .align 2, 0
+_08146394: .4byte 0x06003800
+_08146398: .4byte 0x040000d4
+_0814639C: .4byte 0x80000400
+_081463A0: .4byte 0x0001ffff
+_081463A4:
+ ldr r0, _081463B8
+ movs r1, 0
+ movs r2, 0xC0
+ bl LoadCompressedPalette
+ ldr r1, _081463BC
+ ldr r2, _081463C0
+ adds r1, r2
+ b _081463D0
+ .align 2, 0
+_081463B8: .4byte gBerryCheck_Pal
+_081463BC: .4byte 0x02000000
+_081463C0: .4byte 0x0001ffff
+_081463C4:
+ ldr r0, _081463D8
+ bl LoadCompressedObjectPic
+_081463CA:
+ ldr r1, _081463DC
+ ldr r0, _081463E0
+ adds r1, r0
+_081463D0:
+ ldrb r0, [r1]
+ adds r0, 0x1
+ strb r0, [r1]
+ b _08146404
+ .align 2, 0
+_081463D8: .4byte gUnknown_083C1F74
+_081463DC: .4byte 0x02000000
+_081463E0: .4byte 0x0001ffff
+_081463E4:
+ ldr r0, _081463F8
+ bl LoadCompressedObjectPalette
+ ldr r0, _081463FC
+ ldr r1, _08146400
+ adds r0, r1
+ movs r1, 0
+ strb r1, [r0]
+ movs r0, 0x1
+ b _08146406
+ .align 2, 0
+_081463F8: .4byte gUnknown_083C1F7C
+_081463FC: .4byte 0x02000000
+_08146400: .4byte 0x0001ffff
+_08146404:
+ movs r0, 0
+_08146406:
+ pop {r4-r7}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_81462B8
+
+ thumb_func_start sub_814640C
+sub_814640C: @ 814640C
+ push {r4,lr}
+ lsls r0, 24
+ lsrs r4, r0, 24
+ ldr r0, _08146438
+ ldrb r1, [r0, 0x7]
+ movs r0, 0x80
+ ands r0, r1
+ cmp r0, 0
+ bne _08146432
+ ldr r0, _0814643C
+ bl SetMainCallback2
+ bl sub_80A7DD4
+ bl gpu_pal_allocator_reset__manage_upper_four
+ adds r0, r4, 0
+ bl DestroyTask
+_08146432:
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08146438: .4byte gPaletteFade
+_0814643C: .4byte sub_80A5B40
+ thumb_func_end sub_814640C
+
+ thumb_func_start sub_8146440
+sub_8146440: @ 8146440
+ push {r4,lr}
+ sub sp, 0x4
+ adds r4, r0, 0
+ lsls r4, 24
+ lsrs r4, 24
+ movs r0, 0x5
+ bl PlaySE
+ movs r0, 0x1
+ negs r0, r0
+ movs r1, 0
+ str r1, [sp]
+ movs r2, 0
+ movs r3, 0x10
+ bl BeginNormalPaletteFade
+ ldr r1, _08146478
+ lsls r0, r4, 2
+ adds r0, r4
+ lsls r0, 3
+ adds r0, r1
+ ldr r1, _0814647C
+ str r1, [r0]
+ add sp, 0x4
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08146478: .4byte gTasks
+_0814647C: .4byte sub_814640C
+ thumb_func_end sub_8146440
+
+ thumb_func_start sub_8146480
+sub_8146480: @ 8146480
+ push {r4-r7,lr}
+ lsls r0, 24
+ lsrs r4, r0, 24
+ adds r7, r4, 0
+ ldr r0, _081464DC
+ ldrb r1, [r0, 0x7]
+ movs r0, 0x80
+ ands r0, r1
+ cmp r0, 0
+ bne _081464D6
+ ldr r5, _081464E0
+ ldrh r1, [r5, 0x30]
+ movs r6, 0xF0
+ adds r0, r6, 0
+ ands r0, r1
+ cmp r0, 0x40
+ bne _081464AC
+ movs r1, 0x1
+ negs r1, r1
+ adds r0, r4, 0
+ bl sub_81466E8
+_081464AC:
+ ldrh r1, [r5, 0x30]
+ adds r0, r6, 0
+ ands r0, r1
+ cmp r0, 0x80
+ bne _081464BE
+ adds r0, r4, 0
+ movs r1, 0x1
+ bl sub_81466E8
+_081464BE:
+ ldrh r1, [r5, 0x2E]
+ movs r0, 0x1
+ ands r0, r1
+ cmp r0, 0
+ bne _081464D0
+ movs r0, 0x2
+ ands r0, r1
+ cmp r0, 0
+ beq _081464D6
+_081464D0:
+ adds r0, r7, 0
+ bl sub_8146440
+_081464D6:
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_081464DC: .4byte gPaletteFade
+_081464E0: .4byte gMain
+ thumb_func_end sub_8146480
+
+ thumb_func_start sub_81464E4
+sub_81464E4: @ 81464E4
+ push {r4-r7,lr}
+ ldr r4, _0814659C
+ ldrb r0, [r4]
+ adds r0, 0x7C
+ lsls r0, 24
+ lsrs r0, 24
+ bl GetBerryInfo
+ adds r5, r0, 0
+ ldr r7, _081465A0
+ ldrh r1, [r4]
+ subs r1, 0x84
+ adds r0, r7, 0
+ movs r2, 0x2
+ movs r3, 0x2
+ bl ConvertIntToDecimalStringN
+ adds r0, r7, 0
+ movs r1, 0xC
+ movs r2, 0x4
+ bl MenuPrint
+ adds r0, r5, 0
+ movs r1, 0xE
+ movs r2, 0x4
+ bl MenuPrint
+ ldr r0, [r5, 0xC]
+ movs r1, 0x4
+ movs r2, 0xE
+ bl MenuPrint
+ ldr r0, [r5, 0x10]
+ movs r1, 0x4
+ movs r2, 0x10
+ bl MenuPrint
+ ldrh r1, [r5, 0x8]
+ lsls r0, r1, 5
+ subs r0, r1
+ lsls r0, 2
+ adds r0, r1
+ lsls r0, 3
+ movs r1, 0xFE
+ bl __divsi3
+ adds r4, r0, 0
+ movs r1, 0xA
+ bl __umodsi3
+ cmp r0, 0x4
+ bls _0814654E
+ adds r4, 0xA
+_0814654E:
+ adds r0, r4, 0
+ movs r1, 0x64
+ bl __umodsi3
+ movs r1, 0xA
+ bl __udivsi3
+ adds r6, r0, 0
+ adds r0, r4, 0
+ movs r1, 0x64
+ bl __udivsi3
+ adds r4, r0, 0
+ ldr r0, _081465A4
+ movs r1, 0xB
+ movs r2, 0x7
+ bl MenuPrint
+ ldrh r0, [r5, 0x8]
+ cmp r0, 0
+ beq _081465B0
+ adds r0, r7, 0
+ adds r1, r4, 0
+ movs r2, 0
+ movs r3, 0x2
+ bl ConvertIntToDecimalStringN
+ ldr r0, _081465A8
+ adds r1, r6, 0
+ movs r2, 0
+ movs r3, 0x2
+ bl ConvertIntToDecimalStringN
+ ldr r0, _081465AC
+ movs r1, 0x10
+ movs r2, 0x7
+ bl MenuPrint
+ b _081465BA
+ .align 2, 0
+_0814659C: .4byte word_203855E
+_081465A0: .4byte gStringVar1
+_081465A4: .4byte gOtherText_Size
+_081465A8: .4byte gStringVar2
+_081465AC: .4byte gContestStatsText_Unknown1
+_081465B0:
+ ldr r0, _081465E0
+ movs r1, 0x10
+ movs r2, 0x7
+ bl MenuPrint
+_081465BA:
+ ldr r0, _081465E4
+ movs r1, 0xB
+ movs r2, 0x9
+ bl MenuPrint
+ ldrb r0, [r5, 0x7]
+ cmp r0, 0
+ beq _081465EC
+ ldr r0, _081465E8
+ ldrb r1, [r5, 0x7]
+ subs r1, 0x1
+ lsls r1, 2
+ adds r1, r0
+ ldr r0, [r1]
+ movs r1, 0x10
+ movs r2, 0x9
+ bl MenuPrint
+ b _081465F6
+ .align 2, 0
+_081465E0: .4byte gOtherText_ThreeQuestions2
+_081465E4: .4byte gOtherText_Firm
+_081465E8: .4byte gUnknown_0841192C
+_081465EC:
+ ldr r0, _081465FC
+ movs r1, 0x10
+ movs r2, 0x9
+ bl MenuPrint
+_081465F6:
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_081465FC: .4byte gOtherText_ThreeQuestions2
+ thumb_func_end sub_81464E4
+
+ thumb_func_start sub_8146600
+sub_8146600: @ 8146600
+ push {r4,r5,lr}
+ lsls r0, 24
+ movs r1, 0x80
+ lsls r1, 17
+ adds r0, r1
+ lsrs r0, 24
+ bl GetBerryInfo
+ adds r4, r0, 0
+ movs r2, 0
+ ldr r5, _08146698
+ ldr r0, _0814669C
+ adds r3, r0, 0
+_0814661A:
+ lsls r0, r2, 1
+ adds r0, r5
+ ldrh r1, [r0]
+ orrs r1, r3
+ strh r1, [r0]
+ adds r0, r2, 0x1
+ lsls r0, 16
+ lsrs r2, r0, 16
+ cmp r2, 0x4
+ bls _0814661A
+ ldrb r0, [r4, 0x15]
+ cmp r0, 0
+ beq _08146642
+ movs r0, 0x30
+ bl sub_80A7E5C
+ ldr r1, _08146698
+ lsls r0, 24
+ lsrs r0, 24
+ strh r0, [r1]
+_08146642:
+ ldrb r0, [r4, 0x16]
+ cmp r0, 0
+ beq _08146656
+ movs r0, 0x58
+ bl sub_80A7E5C
+ ldr r1, _08146698
+ lsls r0, 24
+ lsrs r0, 24
+ strh r0, [r1, 0x2]
+_08146656:
+ ldrb r0, [r4, 0x17]
+ cmp r0, 0
+ beq _0814666A
+ movs r0, 0x80
+ bl sub_80A7E5C
+ ldr r1, _08146698
+ lsls r0, 24
+ lsrs r0, 24
+ strh r0, [r1, 0x4]
+_0814666A:
+ ldrb r0, [r4, 0x18]
+ cmp r0, 0
+ beq _0814667E
+ movs r0, 0xA8
+ bl sub_80A7E5C
+ ldr r1, _08146698
+ lsls r0, 24
+ lsrs r0, 24
+ strh r0, [r1, 0x6]
+_0814667E:
+ ldrb r0, [r4, 0x19]
+ cmp r0, 0
+ beq _08146692
+ movs r0, 0xD0
+ bl sub_80A7E5C
+ ldr r1, _08146698
+ lsls r0, 24
+ lsrs r0, 24
+ strh r0, [r1, 0x8]
+_08146692:
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08146698: .4byte gUnknown_0203932E
+_0814669C: .4byte 0x0000ffff
+ thumb_func_end sub_8146600
+
+ thumb_func_start sub_81466A0
+sub_81466A0: @ 81466A0
+ push {r4-r7,lr}
+ movs r5, 0
+ movs r7, 0x1
+ negs r7, r7
+ ldr r6, _081466DC
+_081466AA:
+ lsls r0, r5, 1
+ adds r4, r0, r6
+ movs r1, 0
+ ldrsh r0, [r4, r1]
+ cmp r0, r7
+ beq _081466CA
+ adds r1, r0, 0
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ ldr r1, _081466E0
+ adds r0, r1
+ bl DestroySprite
+ ldr r0, _081466E4
+ strh r0, [r4]
+_081466CA:
+ adds r0, r5, 0x1
+ lsls r0, 16
+ lsrs r5, r0, 16
+ cmp r5, 0x4
+ bls _081466AA
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_081466DC: .4byte gUnknown_0203932E
+_081466E0: .4byte gSprites
+_081466E4: .4byte 0x0000ffff
+ thumb_func_end sub_81466A0
+
+ thumb_func_start sub_81466E8
+sub_81466E8: @ 81466E8
+ push {r4-r7,lr}
+ mov r7, r8
+ push {r7}
+ lsls r0, 24
+ lsrs r7, r0, 24
+ lsls r1, 24
+ lsrs r2, r1, 24
+ lsls r0, r7, 2
+ adds r0, r7
+ lsls r0, 3
+ ldr r1, _08146748
+ adds r6, r0, r1
+ ldr r4, _0814674C
+ movs r0, 0xC
+ adds r0, r4
+ mov r8, r0
+ ldrb r1, [r0, 0x1]
+ ldrb r0, [r4, 0xC]
+ adds r1, r0
+ cmp r1, 0
+ bne _08146718
+ lsls r0, r2, 24
+ cmp r0, 0
+ blt _0814678C
+_08146718:
+ adds r0, r1, 0x1
+ lsls r5, r2, 24
+ mov r1, r8
+ ldrb r1, [r1, 0x2]
+ cmp r0, r1
+ bne _08146728
+ cmp r5, 0
+ bgt _0814678C
+_08146728:
+ movs r0, 0x5
+ bl PlaySE
+ mov r2, r8
+ ldrb r3, [r2, 0x1]
+ ldrb r4, [r4, 0xC]
+ mov r12, r4
+ adds r0, r3, r4
+ asrs r2, r5, 24
+ adds r1, r0, r2
+ cmp r1, 0
+ bge _08146750
+ negs r0, r0
+ strh r0, [r6, 0x2]
+ b _08146766
+ .align 2, 0
+_08146748: .4byte gUnknown_03004B28
+_0814674C: .4byte gUnknown_03005D10
+_08146750:
+ mov r4, r8
+ ldrb r0, [r4, 0x2]
+ cmp r1, r0
+ blt _08146764
+ subs r0, r3
+ mov r1, r12
+ subs r0, r1
+ subs r0, 0x1
+ strh r0, [r6, 0x2]
+ b _08146766
+_08146764:
+ strh r2, [r6, 0x2]
+_08146766:
+ ldr r0, _08146780
+ lsls r1, r7, 2
+ adds r1, r7
+ lsls r1, 3
+ adds r1, r0
+ ldr r0, _08146784
+ str r0, [r1]
+ cmp r5, 0
+ bge _08146788
+ movs r2, 0x10
+ negs r2, r2
+ adds r0, r2, 0
+ b _0814678A
+ .align 2, 0
+_08146780: .4byte gTasks
+_08146784: .4byte sub_8146798
+_08146788:
+ movs r0, 0x10
+_0814678A:
+ strh r0, [r6]
+_0814678C:
+ pop {r3}
+ mov r8, r3
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_81466E8
+
+ thumb_func_start sub_8146798
+sub_8146798: @ 8146798
+ push {r4,r5,lr}
+ lsls r0, 24
+ lsrs r4, r0, 24
+ lsls r0, r4, 2
+ adds r0, r4
+ lsls r0, 3
+ ldr r1, _08146800
+ adds r0, r1
+ ldr r2, _08146804
+ ldrh r1, [r0]
+ ldrh r5, [r2]
+ adds r3, r1, r5
+ movs r1, 0xFF
+ ands r3, r1
+ strh r3, [r2]
+ movs r1, 0
+ ldrsh r0, [r0, r1]
+ cmp r0, 0
+ ble _081467C2
+ cmp r3, 0x90
+ beq _081467CA
+_081467C2:
+ cmp r0, 0
+ bge _081467E0
+ cmp r3, 0x70
+ bne _081467E0
+_081467CA:
+ ldr r0, _08146808
+ lsls r1, r4, 2
+ adds r1, r4
+ lsls r1, 3
+ adds r1, r0
+ movs r0, 0xA
+ ldrsb r0, [r1, r0]
+ bl sub_8146810
+ bl sub_81468BC
+_081467E0:
+ ldr r0, _08146804
+ ldrh r2, [r0]
+ cmp r2, 0
+ bne _081467FA
+ ldr r0, _08146808
+ lsls r1, r4, 2
+ adds r1, r4
+ lsls r1, 3
+ adds r1, r0
+ strh r2, [r1, 0x8]
+ strh r2, [r1, 0xA]
+ ldr r0, _0814680C
+ str r0, [r1]
+_081467FA:
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08146800: .4byte gUnknown_03004B28
+_08146804: .4byte gUnknown_030041B4
+_08146808: .4byte gTasks
+_0814680C: .4byte sub_8146480
+ thumb_func_end sub_8146798
+
+ thumb_func_start sub_8146810
+sub_8146810: @ 8146810
+ push {r4-r6,lr}
+ lsls r0, 24
+ lsrs r3, r0, 24
+ adds r4, r3, 0
+ lsls r0, r3, 24
+ asrs r1, r0, 24
+ cmp r1, 0
+ ble _08146848
+ ldr r0, _08146840
+ adds r4, r0, 0
+ adds r4, 0xC
+ ldrb r2, [r0, 0xC]
+ adds r1, r2, r1
+ adds r6, r0, 0
+ cmp r1, 0x7
+ ble _08146844
+ adds r0, r3, 0
+ adds r0, 0xF9
+ adds r0, r2, r0
+ ldrb r1, [r4, 0x1]
+ adds r0, r1
+ strb r0, [r4, 0x1]
+ movs r0, 0x7
+ b _0814686E
+ .align 2, 0
+_08146840: .4byte gUnknown_03005D10
+_08146844:
+ adds r0, r2, r3
+ b _0814686E
+_08146848:
+ ldr r0, _08146868
+ adds r5, r0, 0
+ adds r5, 0xC
+ ldrb r2, [r0, 0xC]
+ adds r1, r2, r1
+ adds r6, r0, 0
+ cmp r1, 0
+ bge _0814686C
+ adds r0, r2, r3
+ ldrb r1, [r5, 0x1]
+ adds r0, r1
+ movs r1, 0
+ strb r0, [r5, 0x1]
+ strb r1, [r6, 0xC]
+ b _08146870
+ .align 2, 0
+_08146868: .4byte gUnknown_03005D10
+_0814686C:
+ adds r0, r2, r4
+_0814686E:
+ strb r0, [r6, 0xC]
+_08146870:
+ ldr r2, _081468AC
+ movs r0, 0x3
+ lsls r0, 2
+ adds r0, r6
+ ldrb r1, [r0, 0x1]
+ ldrb r0, [r0]
+ adds r1, r0
+ ldr r0, _081468B0
+ ldr r0, [r0]
+ lsls r1, 2
+ adds r1, r0
+ ldrh r0, [r1]
+ strh r0, [r2]
+ ldr r0, _081468B4
+ ldrb r1, [r0]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ ldr r1, _081468B8
+ adds r0, r1
+ bl DestroySprite
+ bl sub_81466A0
+ bl sub_80A7DD4
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_081468AC: .4byte word_203855E
+_081468B0: .4byte gUnknown_03005D24
+_081468B4: .4byte gUnknown_0203932C
+_081468B8: .4byte gSprites
+ thumb_func_end sub_8146810
+
+ thumb_func_start sub_81468BC
+sub_81468BC: @ 81468BC
+ push {r4,lr}
+ movs r0, 0
+ movs r1, 0x4
+ movs r2, 0x1D
+ movs r3, 0x13
+ bl MenuZeroFillWindowRect
+ bl sub_81464E4
+ ldr r4, _081468F8
+ ldrb r0, [r4]
+ adds r0, 0x7B
+ lsls r0, 24
+ lsrs r0, 24
+ movs r1, 0x38
+ movs r2, 0x40
+ bl sub_80A7D8C
+ ldr r1, _081468FC
+ strb r0, [r1]
+ ldrb r0, [r4]
+ adds r0, 0x7B
+ lsls r0, 24
+ lsrs r0, 24
+ bl sub_8146600
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_081468F8: .4byte word_203855E
+_081468FC: .4byte gUnknown_0203932C
+ thumb_func_end sub_81468BC
+
+ .align 2, 0 @ Don't pad with nop.
diff --git a/asm/diploma.s b/asm/diploma.s
new file mode 100644
index 000000000..c7857b592
--- /dev/null
+++ b/asm/diploma.s
@@ -0,0 +1,313 @@
+ .include "constants/gba_constants.s"
+ .include "constants/species_constants.s"
+ .include "asm/macros.s"
+
+ .syntax unified
+
+ .text
+
+ thumb_func_start sub_8145D74
+sub_8145D74: @ 8145D74
+ push {lr}
+ bl LoadOam
+ bl ProcessSpriteCopyRequests
+ bl TransferPlttBuffer
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8145D74
+
+ thumb_func_start sub_8145D88
+sub_8145D88: @ 8145D88
+ push {r4-r6,lr}
+ mov r6, r8
+ push {r6}
+ sub sp, 0xC
+ movs r0, 0
+ bl SetVBlankCallback
+ movs r0, 0x80
+ lsls r0, 19
+ mov r8, r0
+ movs r1, 0
+ strh r1, [r0]
+ ldr r6, _08145EB0
+ strh r1, [r6]
+ adds r0, 0xC
+ strh r1, [r0]
+ subs r0, 0x2
+ strh r1, [r0]
+ subs r0, 0x2
+ strh r1, [r0]
+ adds r0, 0x14
+ strh r1, [r0]
+ adds r0, 0x2
+ strh r1, [r0]
+ subs r0, 0x6
+ strh r1, [r0]
+ adds r0, 0x2
+ strh r1, [r0]
+ subs r0, 0x6
+ strh r1, [r0]
+ adds r0, 0x2
+ strh r1, [r0]
+ subs r0, 0x6
+ strh r1, [r0]
+ adds r0, 0x2
+ strh r1, [r0]
+ add r0, sp, 0x4
+ strh r1, [r0]
+ ldr r2, _08145EB4
+ str r0, [r2]
+ movs r1, 0xC0
+ lsls r1, 19
+ str r1, [r2, 0x4]
+ ldr r0, _08145EB8
+ str r0, [r2, 0x8]
+ ldr r0, [r2, 0x8]
+ movs r5, 0
+ str r5, [sp, 0x8]
+ add r0, sp, 0x8
+ str r0, [r2]
+ movs r0, 0xE0
+ lsls r0, 19
+ str r0, [r2, 0x4]
+ ldr r0, _08145EBC
+ str r0, [r2, 0x8]
+ ldr r0, [r2, 0x8]
+ add r0, sp, 0x4
+ strh r5, [r0]
+ str r0, [r2]
+ movs r0, 0xA0
+ lsls r0, 19
+ str r0, [r2, 0x4]
+ ldr r0, _08145EC0
+ str r0, [r2, 0x8]
+ ldr r0, [r2, 0x8]
+ ldr r0, _08145EC4
+ bl LZ77UnCompVram
+ ldr r0, _08145EC8
+ ldr r1, _08145ECC
+ bl LZ77UnCompVram
+ bl remove_some_task
+ bl ResetTasks
+ bl ResetSpriteData
+ bl ResetPaletteFade
+ bl FreeAllSpritePalettes
+ ldr r0, _08145ED0
+ movs r1, 0
+ movs r2, 0x40
+ bl LoadPalette
+ ldr r0, _08145ED4
+ bl SetUpWindowConfig
+ ldr r0, _08145ED8
+ bl InitMenuWindow
+ bl pokedex_diploma_something
+ movs r0, 0x1
+ negs r0, r0
+ str r5, [sp]
+ movs r1, 0
+ movs r2, 0x10
+ movs r3, 0
+ bl BeginNormalPaletteFade
+ ldr r3, _08145EDC
+ ldrh r2, [r3]
+ strh r5, [r3]
+ ldr r4, _08145EE0
+ ldrh r0, [r4]
+ movs r1, 0x1
+ orrs r0, r1
+ strh r0, [r4]
+ strh r2, [r3]
+ ldr r2, _08145EE4
+ ldrh r0, [r2]
+ movs r1, 0x8
+ orrs r0, r1
+ strh r0, [r2]
+ ldr r0, _08145EE8
+ bl SetVBlankCallback
+ ldr r0, _08145EEC
+ bl SetMainCallback2
+ ldr r0, _08145EF0
+ strh r5, [r0]
+ adds r0, 0x2
+ strh r5, [r0]
+ adds r0, 0x2
+ strh r5, [r0]
+ ldr r1, _08145EF4
+ adds r0, r1, 0
+ strh r0, [r6]
+ movs r1, 0xCA
+ lsls r1, 5
+ adds r0, r1, 0
+ mov r1, r8
+ strh r0, [r1]
+ ldr r0, _08145EF8
+ movs r1, 0
+ bl CreateTask
+ add sp, 0xC
+ pop {r3}
+ mov r8, r3
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08145EB0: .4byte REG_BG3CNT
+_08145EB4: .4byte 0x040000d4
+_08145EB8: .4byte 0x8100c000
+_08145EBC: .4byte 0x85000100
+_08145EC0: .4byte 0x81000200
+_08145EC4: .4byte gUnknown_0840D288
+_08145EC8: .4byte gUnknown_0840CB4C
+_08145ECC: .4byte 0x06003000
+_08145ED0: .4byte gUnknown_0840CB0C
+_08145ED4: .4byte gWindowConfig_81E6C3C
+_08145ED8: .4byte gWindowConfig_81E6CE4
+_08145EDC: .4byte 0x04000208
+_08145EE0: .4byte 0x04000200
+_08145EE4: .4byte REG_DISPSTAT
+_08145EE8: .4byte sub_8145D74
+_08145EEC: .4byte sub_8145EFC
+_08145EF0: .4byte REG_BLDCNT
+_08145EF4: .4byte 0x00004603
+_08145EF8: .4byte sub_8145F14
+ thumb_func_end sub_8145D88
+
+ thumb_func_start sub_8145EFC
+sub_8145EFC: @ 8145EFC
+ push {lr}
+ bl RunTasks
+ bl AnimateSprites
+ bl BuildOamBuffer
+ bl UpdatePaletteFade
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8145EFC
+
+ thumb_func_start sub_8145F14
+sub_8145F14: @ 8145F14
+ push {lr}
+ lsls r0, 24
+ lsrs r2, r0, 24
+ ldr r0, _08145F38
+ ldrb r1, [r0, 0x7]
+ movs r0, 0x80
+ ands r0, r1
+ cmp r0, 0
+ bne _08145F34
+ ldr r0, _08145F3C
+ lsls r1, r2, 2
+ adds r1, r2
+ lsls r1, 3
+ adds r1, r0
+ ldr r0, _08145F40
+ str r0, [r1]
+_08145F34:
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08145F38: .4byte gPaletteFade
+_08145F3C: .4byte gTasks
+_08145F40: .4byte sub_8145F44
+ thumb_func_end sub_8145F14
+
+ thumb_func_start sub_8145F44
+sub_8145F44: @ 8145F44
+ push {r4,lr}
+ sub sp, 0x4
+ lsls r0, 24
+ lsrs r4, r0, 24
+ ldr r0, _08145F80
+ ldrh r1, [r0, 0x2E]
+ movs r0, 0x3
+ ands r0, r1
+ cmp r0, 0
+ beq _08145F76
+ movs r0, 0x1
+ negs r0, r0
+ movs r1, 0
+ str r1, [sp]
+ movs r2, 0
+ movs r3, 0x10
+ bl BeginNormalPaletteFade
+ ldr r1, _08145F84
+ lsls r0, r4, 2
+ adds r0, r4
+ lsls r0, 3
+ adds r0, r1
+ ldr r1, _08145F88
+ str r1, [r0]
+_08145F76:
+ add sp, 0x4
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08145F80: .4byte gMain
+_08145F84: .4byte gTasks
+_08145F88: .4byte sub_8145F8C
+ thumb_func_end sub_8145F44
+
+ thumb_func_start sub_8145F8C
+sub_8145F8C: @ 8145F8C
+ push {lr}
+ lsls r0, 24
+ lsrs r2, r0, 24
+ ldr r0, _08145FB0
+ ldrb r1, [r0, 0x7]
+ movs r0, 0x80
+ ands r0, r1
+ cmp r0, 0
+ bne _08145FAA
+ adds r0, r2, 0
+ bl DestroyTask
+ ldr r0, _08145FB4
+ bl SetMainCallback2
+_08145FAA:
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08145FB0: .4byte gPaletteFade
+_08145FB4: .4byte sub_80546F0
+ thumb_func_end sub_8145F8C
+
+ thumb_func_start pokedex_diploma_something
+pokedex_diploma_something: @ 8145FB8
+ push {lr}
+ bl sub_8090FF4
+ lsls r0, 16
+ lsrs r1, r0, 16
+ cmp r1, 0
+ beq _08145FE8
+ ldr r1, _08145FDC
+ movs r2, 0x80
+ lsls r2, 1
+ adds r0, r2, 0
+ strh r0, [r1]
+ ldr r0, _08145FE0
+ ldr r1, _08145FE4
+ bl StringCopy
+ b _08145FF4
+ .align 2, 0
+_08145FDC: .4byte REG_BG3HOFS
+_08145FE0: .4byte gStringVar1
+_08145FE4: .4byte gOtherText_NationalDex
+_08145FE8:
+ ldr r0, _08146004
+ strh r1, [r0]
+ ldr r0, _08146008
+ ldr r1, _0814600C
+ bl StringCopy
+_08145FF4:
+ ldr r0, _08146010
+ movs r1, 0x6
+ movs r2, 0x2
+ bl MenuPrint
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08146004: .4byte REG_BG3HOFS
+_08146008: .4byte gStringVar1
+_0814600C: .4byte gOtherText_HoennDex
+_08146010: .4byte gOtherText_DiplomaCertificationGameFreak
+ thumb_func_end pokedex_diploma_something
+
+ .align 2, 0 @ Don't pad with nop.
diff --git a/asm/mystery_event_menu.s b/asm/mystery_event_menu.s
index 0c480a4be..413b572b7 100644
--- a/asm/mystery_event_menu.s
+++ b/asm/mystery_event_menu.s
@@ -6,6 +6,34 @@
.text
+ thumb_func_start sub_8146900
+sub_8146900: @ 8146900
+ push {lr}
+ bl LoadOam
+ bl ProcessSpriteCopyRequests
+ bl TransferPlttBuffer
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8146900
+
+ thumb_func_start sub_8146914
+sub_8146914: @ 8146914
+ push {lr}
+ movs r2, 0
+ ldr r1, _0814692C
+ ldrh r0, [r1, 0x1A]
+ ldrh r1, [r1, 0x36]
+ cmp r0, r1
+ bne _08146924
+ movs r2, 0x1
+_08146924:
+ adds r0, r2, 0
+ pop {r1}
+ bx r1
+ .align 2, 0
+_0814692C: .4byte gLinkPlayers
+ thumb_func_end sub_8146914
+
thumb_func_start CB2_InitMysteryEventMenu
CB2_InitMysteryEventMenu: @ 8146930
push {r4,lr}
diff --git a/asm/rom_813BA94.s b/asm/rom_813BA94.s
index 9483b7a82..5872d8a75 100644
--- a/asm/rom_813BA94.s
+++ b/asm/rom_813BA94.s
@@ -20636,1442 +20636,4 @@ unref_sub_8145D64: @ 8145D64
bx r0
thumb_func_end unref_sub_8145D64
- thumb_func_start sub_8145D74
-sub_8145D74: @ 8145D74
- push {lr}
- bl LoadOam
- bl ProcessSpriteCopyRequests
- bl TransferPlttBuffer
- pop {r0}
- bx r0
- thumb_func_end sub_8145D74
-
- thumb_func_start sub_8145D88
-sub_8145D88: @ 8145D88
- push {r4-r6,lr}
- mov r6, r8
- push {r6}
- sub sp, 0xC
- movs r0, 0
- bl SetVBlankCallback
- movs r0, 0x80
- lsls r0, 19
- mov r8, r0
- movs r1, 0
- strh r1, [r0]
- ldr r6, _08145EB0
- strh r1, [r6]
- adds r0, 0xC
- strh r1, [r0]
- subs r0, 0x2
- strh r1, [r0]
- subs r0, 0x2
- strh r1, [r0]
- adds r0, 0x14
- strh r1, [r0]
- adds r0, 0x2
- strh r1, [r0]
- subs r0, 0x6
- strh r1, [r0]
- adds r0, 0x2
- strh r1, [r0]
- subs r0, 0x6
- strh r1, [r0]
- adds r0, 0x2
- strh r1, [r0]
- subs r0, 0x6
- strh r1, [r0]
- adds r0, 0x2
- strh r1, [r0]
- add r0, sp, 0x4
- strh r1, [r0]
- ldr r2, _08145EB4
- str r0, [r2]
- movs r1, 0xC0
- lsls r1, 19
- str r1, [r2, 0x4]
- ldr r0, _08145EB8
- str r0, [r2, 0x8]
- ldr r0, [r2, 0x8]
- movs r5, 0
- str r5, [sp, 0x8]
- add r0, sp, 0x8
- str r0, [r2]
- movs r0, 0xE0
- lsls r0, 19
- str r0, [r2, 0x4]
- ldr r0, _08145EBC
- str r0, [r2, 0x8]
- ldr r0, [r2, 0x8]
- add r0, sp, 0x4
- strh r5, [r0]
- str r0, [r2]
- movs r0, 0xA0
- lsls r0, 19
- str r0, [r2, 0x4]
- ldr r0, _08145EC0
- str r0, [r2, 0x8]
- ldr r0, [r2, 0x8]
- ldr r0, _08145EC4
- bl LZ77UnCompVram
- ldr r0, _08145EC8
- ldr r1, _08145ECC
- bl LZ77UnCompVram
- bl remove_some_task
- bl ResetTasks
- bl ResetSpriteData
- bl ResetPaletteFade
- bl FreeAllSpritePalettes
- ldr r0, _08145ED0
- movs r1, 0
- movs r2, 0x40
- bl LoadPalette
- ldr r0, _08145ED4
- bl SetUpWindowConfig
- ldr r0, _08145ED8
- bl InitMenuWindow
- bl pokedex_diploma_something
- movs r0, 0x1
- negs r0, r0
- str r5, [sp]
- movs r1, 0
- movs r2, 0x10
- movs r3, 0
- bl BeginNormalPaletteFade
- ldr r3, _08145EDC
- ldrh r2, [r3]
- strh r5, [r3]
- ldr r4, _08145EE0
- ldrh r0, [r4]
- movs r1, 0x1
- orrs r0, r1
- strh r0, [r4]
- strh r2, [r3]
- ldr r2, _08145EE4
- ldrh r0, [r2]
- movs r1, 0x8
- orrs r0, r1
- strh r0, [r2]
- ldr r0, _08145EE8
- bl SetVBlankCallback
- ldr r0, _08145EEC
- bl SetMainCallback2
- ldr r0, _08145EF0
- strh r5, [r0]
- adds r0, 0x2
- strh r5, [r0]
- adds r0, 0x2
- strh r5, [r0]
- ldr r1, _08145EF4
- adds r0, r1, 0
- strh r0, [r6]
- movs r1, 0xCA
- lsls r1, 5
- adds r0, r1, 0
- mov r1, r8
- strh r0, [r1]
- ldr r0, _08145EF8
- movs r1, 0
- bl CreateTask
- add sp, 0xC
- pop {r3}
- mov r8, r3
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_08145EB0: .4byte REG_BG3CNT
-_08145EB4: .4byte 0x040000d4
-_08145EB8: .4byte 0x8100c000
-_08145EBC: .4byte 0x85000100
-_08145EC0: .4byte 0x81000200
-_08145EC4: .4byte gUnknown_0840D288
-_08145EC8: .4byte gUnknown_0840CB4C
-_08145ECC: .4byte 0x06003000
-_08145ED0: .4byte gUnknown_0840CB0C
-_08145ED4: .4byte gWindowConfig_81E6C3C
-_08145ED8: .4byte gWindowConfig_81E6CE4
-_08145EDC: .4byte 0x04000208
-_08145EE0: .4byte 0x04000200
-_08145EE4: .4byte REG_DISPSTAT
-_08145EE8: .4byte sub_8145D74
-_08145EEC: .4byte sub_8145EFC
-_08145EF0: .4byte REG_BLDCNT
-_08145EF4: .4byte 0x00004603
-_08145EF8: .4byte sub_8145F14
- thumb_func_end sub_8145D88
-
- thumb_func_start sub_8145EFC
-sub_8145EFC: @ 8145EFC
- push {lr}
- bl RunTasks
- bl AnimateSprites
- bl BuildOamBuffer
- bl UpdatePaletteFade
- pop {r0}
- bx r0
- thumb_func_end sub_8145EFC
-
- thumb_func_start sub_8145F14
-sub_8145F14: @ 8145F14
- push {lr}
- lsls r0, 24
- lsrs r2, r0, 24
- ldr r0, _08145F38
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _08145F34
- ldr r0, _08145F3C
- lsls r1, r2, 2
- adds r1, r2
- lsls r1, 3
- adds r1, r0
- ldr r0, _08145F40
- str r0, [r1]
-_08145F34:
- pop {r0}
- bx r0
- .align 2, 0
-_08145F38: .4byte gPaletteFade
-_08145F3C: .4byte gTasks
-_08145F40: .4byte sub_8145F44
- thumb_func_end sub_8145F14
-
- thumb_func_start sub_8145F44
-sub_8145F44: @ 8145F44
- push {r4,lr}
- sub sp, 0x4
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, _08145F80
- ldrh r1, [r0, 0x2E]
- movs r0, 0x3
- ands r0, r1
- cmp r0, 0
- beq _08145F76
- movs r0, 0x1
- negs r0, r0
- movs r1, 0
- str r1, [sp]
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- ldr r1, _08145F84
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- ldr r1, _08145F88
- str r1, [r0]
-_08145F76:
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08145F80: .4byte gMain
-_08145F84: .4byte gTasks
-_08145F88: .4byte sub_8145F8C
- thumb_func_end sub_8145F44
-
- thumb_func_start sub_8145F8C
-sub_8145F8C: @ 8145F8C
- push {lr}
- lsls r0, 24
- lsrs r2, r0, 24
- ldr r0, _08145FB0
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _08145FAA
- adds r0, r2, 0
- bl DestroyTask
- ldr r0, _08145FB4
- bl SetMainCallback2
-_08145FAA:
- pop {r0}
- bx r0
- .align 2, 0
-_08145FB0: .4byte gPaletteFade
-_08145FB4: .4byte sub_80546F0
- thumb_func_end sub_8145F8C
-
- thumb_func_start pokedex_diploma_something
-pokedex_diploma_something: @ 8145FB8
- push {lr}
- bl sub_8090FF4
- lsls r0, 16
- lsrs r1, r0, 16
- cmp r1, 0
- beq _08145FE8
- ldr r1, _08145FDC
- movs r2, 0x80
- lsls r2, 1
- adds r0, r2, 0
- strh r0, [r1]
- ldr r0, _08145FE0
- ldr r1, _08145FE4
- bl StringCopy
- b _08145FF4
- .align 2, 0
-_08145FDC: .4byte REG_BG3HOFS
-_08145FE0: .4byte gStringVar1
-_08145FE4: .4byte gOtherText_NationalDex
-_08145FE8:
- ldr r0, _08146004
- strh r1, [r0]
- ldr r0, _08146008
- ldr r1, _0814600C
- bl StringCopy
-_08145FF4:
- ldr r0, _08146010
- movs r1, 0x6
- movs r2, 0x2
- bl MenuPrint
- pop {r0}
- bx r0
- .align 2, 0
-_08146004: .4byte REG_BG3HOFS
-_08146008: .4byte gStringVar1
-_0814600C: .4byte gOtherText_HoennDex
-_08146010: .4byte gOtherText_DiplomaCertificationGameFreak
- thumb_func_end pokedex_diploma_something
-
- thumb_func_start sub_8146014
-sub_8146014: @ 8146014
- push {lr}
- bl AnimateSprites
- bl BuildOamBuffer
- bl RunTasks
- bl UpdatePaletteFade
- pop {r0}
- bx r0
- thumb_func_end sub_8146014
-
- thumb_func_start sub_814602C
-sub_814602C: @ 814602C
- push {lr}
- ldr r2, _0814604C
- ldr r0, _08146050
- ldrh r1, [r0]
- strh r1, [r2]
- ldr r0, _08146054
- strh r1, [r0]
- bl LoadOam
- bl ProcessSpriteCopyRequests
- bl TransferPlttBuffer
- pop {r0}
- bx r0
- .align 2, 0
-_0814604C: .4byte REG_BG0VOFS
-_08146050: .4byte gUnknown_030041B4
-_08146054: .4byte REG_BG1VOFS
- thumb_func_end sub_814602C
-
- thumb_func_start sub_8146058
-sub_8146058: @ 8146058
- push {r4,lr}
- sub sp, 0x4
- ldr r0, _08146074
- ldr r1, _08146078
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0xC
- bls _0814606A
- b _08146250
-_0814606A:
- lsls r0, 2
- ldr r1, _0814607C
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_08146074: .4byte gMain
-_08146078: .4byte 0x0000043c
-_0814607C: .4byte _08146080
- .align 2, 0
-_08146080:
- .4byte _081460B4
- .4byte _081460CC
- .4byte _081460F0
- .4byte _081460F6
- .4byte _08146110
- .4byte _0814611C
- .4byte _0814613C
- .4byte _0814615C
- .4byte _08146170
- .4byte _08146190
- .4byte _081461B4
- .4byte _08146204
- .4byte _08146224
-_081460B4:
- bl sub_80F9438
- bl sub_80F9368
- bl sub_8146288
- ldr r1, _081460C8
- movs r0, 0
- strh r0, [r1]
- b _0814620C
- .align 2, 0
-_081460C8: .4byte REG_BLDCNT
-_081460CC:
- bl ResetPaletteFade
- ldr r2, _081460E4
- ldrb r0, [r2, 0x8]
- movs r1, 0x80
- orrs r0, r1
- strb r0, [r2, 0x8]
- ldr r1, _081460E8
- ldr r0, _081460EC
- adds r1, r0
- b _08146212
- .align 2, 0
-_081460E4: .4byte gPaletteFade
-_081460E8: .4byte gMain
-_081460EC: .4byte 0x0000043c
-_081460F0:
- bl ResetSpriteData
- b _0814620C
-_081460F6:
- ldr r0, _08146104
- bl SetUpWindowConfig
- ldr r1, _08146108
- ldr r0, _0814610C
- adds r1, r0
- b _08146212
- .align 2, 0
-_08146104: .4byte gWindowConfig_81E6E18
-_08146108: .4byte gMain
-_0814610C: .4byte 0x0000043c
-_08146110:
- ldr r0, _08146118
- bl MultistepInitMenuWindowBegin
- b _0814620C
- .align 2, 0
-_08146118: .4byte gWindowConfig_81E6E18
-_0814611C:
- bl MultistepInitMenuWindowContinue
- cmp r0, 0
- bne _08146126
- b _08146250
-_08146126:
- ldr r0, _08146134
- ldr r1, _08146138
- adds r0, r1
- movs r1, 0
- strb r1, [r0]
- b _0814620C
- .align 2, 0
-_08146134: .4byte 0x02000000
-_08146138: .4byte 0x0001ffff
-_0814613C:
- bl sub_81462B8
- lsls r0, 24
- cmp r0, 0
- bne _08146148
- b _08146250
-_08146148:
- ldr r0, _08146154
- ldr r1, _08146158
- adds r0, r1
- movs r1, 0
- strb r1, [r0]
- b _0814620C
- .align 2, 0
-_08146154: .4byte 0x02000000
-_08146158: .4byte 0x0001ffff
-_0814615C:
- bl sub_81464E4
- ldr r1, _08146168
- ldr r0, _0814616C
- adds r1, r0
- b _08146212
- .align 2, 0
-_08146168: .4byte gMain
-_0814616C: .4byte 0x0000043c
-_08146170:
- ldr r0, _08146188
- ldrb r0, [r0]
- adds r0, 0x7B
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0x38
- movs r2, 0x40
- bl sub_80A7D8C
- ldr r1, _0814618C
- strb r0, [r1]
- b _0814620C
- .align 2, 0
-_08146188: .4byte word_203855E
-_0814618C: .4byte gUnknown_0203932C
-_08146190:
- ldr r0, _081461A8
- ldrb r0, [r0]
- adds r0, 0x7B
- lsls r0, 24
- lsrs r0, 24
- bl sub_8146600
- ldr r1, _081461AC
- ldr r0, _081461B0
- adds r1, r0
- b _08146212
- .align 2, 0
-_081461A8: .4byte word_203855E
-_081461AC: .4byte gMain
-_081461B0: .4byte 0x0000043c
-_081461B4:
- ldr r3, _081461EC
- ldrh r2, [r3]
- movs r0, 0
- strh r0, [r3]
- ldr r4, _081461F0
- ldrh r0, [r4]
- movs r1, 0x1
- orrs r0, r1
- strh r0, [r4]
- strh r2, [r3]
- ldr r2, _081461F4
- ldrh r0, [r2]
- movs r1, 0x8
- orrs r0, r1
- strh r0, [r2]
- ldr r0, _081461F8
- bl SetVBlankCallback
- movs r1, 0x80
- lsls r1, 19
- movs r2, 0xFA
- lsls r2, 5
- adds r0, r2, 0
- strh r0, [r1]
- ldr r1, _081461FC
- ldr r0, _08146200
- adds r1, r0
- b _08146212
- .align 2, 0
-_081461EC: .4byte 0x04000208
-_081461F0: .4byte 0x04000200
-_081461F4: .4byte REG_DISPSTAT
-_081461F8: .4byte sub_814602C
-_081461FC: .4byte gMain
-_08146200: .4byte 0x0000043c
-_08146204:
- bl sub_8055870
- cmp r0, 0x1
- beq _08146250
-_0814620C:
- ldr r1, _0814621C
- ldr r2, _08146220
- adds r1, r2
-_08146212:
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- b _08146250
- .align 2, 0
-_0814621C: .4byte gMain
-_08146220: .4byte 0x0000043c
-_08146224:
- movs r0, 0x1
- negs r0, r0
- movs r1, 0
- str r1, [sp]
- movs r2, 0x10
- movs r3, 0
- bl BeginNormalPaletteFade
- ldr r2, _08146248
- ldrb r1, [r2, 0x8]
- movs r0, 0x7F
- ands r0, r1
- strb r0, [r2, 0x8]
- ldr r0, _0814624C
- bl SetMainCallback2
- movs r0, 0x1
- b _08146252
- .align 2, 0
-_08146248: .4byte gPaletteFade
-_0814624C: .4byte sub_8146014
-_08146250:
- movs r0, 0
-_08146252:
- add sp, 0x4
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8146058
-
- thumb_func_start sub_814625C
-sub_814625C: @ 814625C
- push {lr}
-_0814625E:
- bl sub_8146058
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _08146278
- ldr r0, _08146274
- movs r1, 0
- bl CreateTask
- b _08146284
- .align 2, 0
-_08146274: .4byte sub_8146480
-_08146278:
- bl sub_80F9344
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _0814625E
-_08146284:
- pop {r0}
- bx r0
- thumb_func_end sub_814625C
-
- thumb_func_start sub_8146288
-sub_8146288: @ 8146288
- ldr r1, _081462A8
- ldr r2, _081462AC
- adds r0, r2, 0
- strh r0, [r1]
- adds r1, 0x2
- adds r2, 0xFE
- adds r0, r2, 0
- strh r0, [r1]
- adds r1, 0x2
- ldr r2, _081462B0
- adds r0, r2, 0
- strh r0, [r1]
- ldr r1, _081462B4
- movs r0, 0
- strh r0, [r1]
- bx lr
- .align 2, 0
-_081462A8: .4byte REG_BG1CNT
-_081462AC: .4byte 0x00000502
-_081462B0: .4byte 0x00000703
-_081462B4: .4byte gUnknown_030041B4
- thumb_func_end sub_8146288
-
- thumb_func_start sub_81462B8
-sub_81462B8: @ 81462B8
- push {r4-r7,lr}
- ldr r1, _081462D4
- ldr r2, _081462D8
- adds r0, r1, r2
- ldrb r0, [r0]
- mov r12, r1
- cmp r0, 0x6
- bls _081462CA
- b _08146404
-_081462CA:
- lsls r0, 2
- ldr r1, _081462DC
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_081462D4: .4byte 0x02000000
-_081462D8: .4byte 0x0001ffff
-_081462DC: .4byte _081462E0
- .align 2, 0
-_081462E0:
- .4byte _081462FC
- .4byte _0814630C
- .4byte _0814632C
- .4byte _08146340
- .4byte _081463A4
- .4byte _081463C4
- .4byte _081463E4
-_081462FC:
- ldr r0, _08146308
- movs r1, 0xC0
- lsls r1, 19
- bl LZDecompressVram
- b _081463CA
- .align 2, 0
-_08146308: .4byte gBerryCheck_Gfx
-_0814630C:
- ldr r0, _0814631C
- ldr r1, _08146320
- bl LZDecompressVram
- ldr r1, _08146324
- ldr r2, _08146328
- adds r1, r2
- b _081463D0
- .align 2, 0
-_0814631C: .4byte gUnknown_08E788E4
-_08146320: .4byte 0x06002800
-_08146324: .4byte 0x02000000
-_08146328: .4byte 0x0001ffff
-_0814632C:
- ldr r0, _08146338
- ldr r1, _0814633C
- bl LZDecompressVram
- b _081463CA
- .align 2, 0
-_08146338: .4byte gUnknown_08E78A84
-_0814633C: .4byte 0x06003000
-_08146340:
- movs r1, 0
- ldr r7, _0814635C
- adds r2, r7, 0
- ldr r6, _08146360
- ldr r5, _08146364
- ldr r4, _08146368
- ldr r3, _0814636C
-_0814634E:
- ldrb r0, [r5, 0x8]
- cmp r0, 0
- bne _08146370
- lsls r0, r1, 1
- adds r0, r2
- strh r6, [r0]
- b _08146376
- .align 2, 0
-_0814635C: .4byte gBG2TilemapBuffer
-_08146360: .4byte 0x00004042
-_08146364: .4byte gSaveBlock2
-_08146368: .4byte 0x00005042
-_0814636C: .4byte 0x000003ff
-_08146370:
- lsls r0, r1, 1
- adds r0, r2
- strh r4, [r0]
-_08146376:
- adds r0, r1, 0x1
- lsls r0, 16
- lsrs r1, r0, 16
- cmp r1, r3
- bls _0814634E
- ldr r1, _08146394
- ldr r0, _08146398
- str r7, [r0]
- str r1, [r0, 0x4]
- ldr r1, _0814639C
- str r1, [r0, 0x8]
- ldr r0, [r0, 0x8]
- ldr r1, _081463A0
- add r1, r12
- b _081463D0
- .align 2, 0
-_08146394: .4byte 0x06003800
-_08146398: .4byte 0x040000d4
-_0814639C: .4byte 0x80000400
-_081463A0: .4byte 0x0001ffff
-_081463A4:
- ldr r0, _081463B8
- movs r1, 0
- movs r2, 0xC0
- bl LoadCompressedPalette
- ldr r1, _081463BC
- ldr r2, _081463C0
- adds r1, r2
- b _081463D0
- .align 2, 0
-_081463B8: .4byte gBerryCheck_Pal
-_081463BC: .4byte 0x02000000
-_081463C0: .4byte 0x0001ffff
-_081463C4:
- ldr r0, _081463D8
- bl LoadCompressedObjectPic
-_081463CA:
- ldr r1, _081463DC
- ldr r0, _081463E0
- adds r1, r0
-_081463D0:
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- b _08146404
- .align 2, 0
-_081463D8: .4byte gUnknown_083C1F74
-_081463DC: .4byte 0x02000000
-_081463E0: .4byte 0x0001ffff
-_081463E4:
- ldr r0, _081463F8
- bl LoadCompressedObjectPalette
- ldr r0, _081463FC
- ldr r1, _08146400
- adds r0, r1
- movs r1, 0
- strb r1, [r0]
- movs r0, 0x1
- b _08146406
- .align 2, 0
-_081463F8: .4byte gUnknown_083C1F7C
-_081463FC: .4byte 0x02000000
-_08146400: .4byte 0x0001ffff
-_08146404:
- movs r0, 0
-_08146406:
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_81462B8
-
- thumb_func_start sub_814640C
-sub_814640C: @ 814640C
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, _08146438
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _08146432
- ldr r0, _0814643C
- bl SetMainCallback2
- bl sub_80A7DD4
- bl gpu_pal_allocator_reset__manage_upper_four
- adds r0, r4, 0
- bl DestroyTask
-_08146432:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08146438: .4byte gPaletteFade
-_0814643C: .4byte sub_80A5B40
- thumb_func_end sub_814640C
-
- thumb_func_start sub_8146440
-sub_8146440: @ 8146440
- push {r4,lr}
- sub sp, 0x4
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- movs r0, 0x5
- bl PlaySE
- movs r0, 0x1
- negs r0, r0
- movs r1, 0
- str r1, [sp]
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- ldr r1, _08146478
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- ldr r1, _0814647C
- str r1, [r0]
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08146478: .4byte gTasks
-_0814647C: .4byte sub_814640C
- thumb_func_end sub_8146440
-
- thumb_func_start sub_8146480
-sub_8146480: @ 8146480
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- adds r7, r4, 0
- ldr r0, _081464DC
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _081464D6
- ldr r5, _081464E0
- ldrh r1, [r5, 0x30]
- movs r6, 0xF0
- adds r0, r6, 0
- ands r0, r1
- cmp r0, 0x40
- bne _081464AC
- movs r1, 0x1
- negs r1, r1
- adds r0, r4, 0
- bl sub_81466E8
-_081464AC:
- ldrh r1, [r5, 0x30]
- adds r0, r6, 0
- ands r0, r1
- cmp r0, 0x80
- bne _081464BE
- adds r0, r4, 0
- movs r1, 0x1
- bl sub_81466E8
-_081464BE:
- ldrh r1, [r5, 0x2E]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- bne _081464D0
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _081464D6
-_081464D0:
- adds r0, r7, 0
- bl sub_8146440
-_081464D6:
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_081464DC: .4byte gPaletteFade
-_081464E0: .4byte gMain
- thumb_func_end sub_8146480
-
- thumb_func_start sub_81464E4
-sub_81464E4: @ 81464E4
- push {r4-r7,lr}
- ldr r4, _0814659C
- ldrb r0, [r4]
- adds r0, 0x7C
- lsls r0, 24
- lsrs r0, 24
- bl GetBerryInfo
- adds r5, r0, 0
- ldr r7, _081465A0
- ldrh r1, [r4]
- subs r1, 0x84
- adds r0, r7, 0
- movs r2, 0x2
- movs r3, 0x2
- bl ConvertIntToDecimalStringN
- adds r0, r7, 0
- movs r1, 0xC
- movs r2, 0x4
- bl MenuPrint
- adds r0, r5, 0
- movs r1, 0xE
- movs r2, 0x4
- bl MenuPrint
- ldr r0, [r5, 0xC]
- movs r1, 0x4
- movs r2, 0xE
- bl MenuPrint
- ldr r0, [r5, 0x10]
- movs r1, 0x4
- movs r2, 0x10
- bl MenuPrint
- ldrh r1, [r5, 0x8]
- lsls r0, r1, 5
- subs r0, r1
- lsls r0, 2
- adds r0, r1
- lsls r0, 3
- movs r1, 0xFE
- bl __divsi3
- adds r4, r0, 0
- movs r1, 0xA
- bl __umodsi3
- cmp r0, 0x4
- bls _0814654E
- adds r4, 0xA
-_0814654E:
- adds r0, r4, 0
- movs r1, 0x64
- bl __umodsi3
- movs r1, 0xA
- bl __udivsi3
- adds r6, r0, 0
- adds r0, r4, 0
- movs r1, 0x64
- bl __udivsi3
- adds r4, r0, 0
- ldr r0, _081465A4
- movs r1, 0xB
- movs r2, 0x7
- bl MenuPrint
- ldrh r0, [r5, 0x8]
- cmp r0, 0
- beq _081465B0
- adds r0, r7, 0
- adds r1, r4, 0
- movs r2, 0
- movs r3, 0x2
- bl ConvertIntToDecimalStringN
- ldr r0, _081465A8
- adds r1, r6, 0
- movs r2, 0
- movs r3, 0x2
- bl ConvertIntToDecimalStringN
- ldr r0, _081465AC
- movs r1, 0x10
- movs r2, 0x7
- bl MenuPrint
- b _081465BA
- .align 2, 0
-_0814659C: .4byte word_203855E
-_081465A0: .4byte gStringVar1
-_081465A4: .4byte gOtherText_Size
-_081465A8: .4byte gStringVar2
-_081465AC: .4byte gContestStatsText_Unknown1
-_081465B0:
- ldr r0, _081465E0
- movs r1, 0x10
- movs r2, 0x7
- bl MenuPrint
-_081465BA:
- ldr r0, _081465E4
- movs r1, 0xB
- movs r2, 0x9
- bl MenuPrint
- ldrb r0, [r5, 0x7]
- cmp r0, 0
- beq _081465EC
- ldr r0, _081465E8
- ldrb r1, [r5, 0x7]
- subs r1, 0x1
- lsls r1, 2
- adds r1, r0
- ldr r0, [r1]
- movs r1, 0x10
- movs r2, 0x9
- bl MenuPrint
- b _081465F6
- .align 2, 0
-_081465E0: .4byte gOtherText_ThreeQuestions2
-_081465E4: .4byte gOtherText_Firm
-_081465E8: .4byte gUnknown_0841192C
-_081465EC:
- ldr r0, _081465FC
- movs r1, 0x10
- movs r2, 0x9
- bl MenuPrint
-_081465F6:
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_081465FC: .4byte gOtherText_ThreeQuestions2
- thumb_func_end sub_81464E4
-
- thumb_func_start sub_8146600
-sub_8146600: @ 8146600
- push {r4,r5,lr}
- lsls r0, 24
- movs r1, 0x80
- lsls r1, 17
- adds r0, r1
- lsrs r0, 24
- bl GetBerryInfo
- adds r4, r0, 0
- movs r2, 0
- ldr r5, _08146698
- ldr r0, _0814669C
- adds r3, r0, 0
-_0814661A:
- lsls r0, r2, 1
- adds r0, r5
- ldrh r1, [r0]
- orrs r1, r3
- strh r1, [r0]
- adds r0, r2, 0x1
- lsls r0, 16
- lsrs r2, r0, 16
- cmp r2, 0x4
- bls _0814661A
- ldrb r0, [r4, 0x15]
- cmp r0, 0
- beq _08146642
- movs r0, 0x30
- bl sub_80A7E5C
- ldr r1, _08146698
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r1]
-_08146642:
- ldrb r0, [r4, 0x16]
- cmp r0, 0
- beq _08146656
- movs r0, 0x58
- bl sub_80A7E5C
- ldr r1, _08146698
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r1, 0x2]
-_08146656:
- ldrb r0, [r4, 0x17]
- cmp r0, 0
- beq _0814666A
- movs r0, 0x80
- bl sub_80A7E5C
- ldr r1, _08146698
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r1, 0x4]
-_0814666A:
- ldrb r0, [r4, 0x18]
- cmp r0, 0
- beq _0814667E
- movs r0, 0xA8
- bl sub_80A7E5C
- ldr r1, _08146698
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r1, 0x6]
-_0814667E:
- ldrb r0, [r4, 0x19]
- cmp r0, 0
- beq _08146692
- movs r0, 0xD0
- bl sub_80A7E5C
- ldr r1, _08146698
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r1, 0x8]
-_08146692:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08146698: .4byte gUnknown_0203932E
-_0814669C: .4byte 0x0000ffff
- thumb_func_end sub_8146600
-
- thumb_func_start sub_81466A0
-sub_81466A0: @ 81466A0
- push {r4-r7,lr}
- movs r5, 0
- movs r7, 0x1
- negs r7, r7
- ldr r6, _081466DC
-_081466AA:
- lsls r0, r5, 1
- adds r4, r0, r6
- movs r1, 0
- ldrsh r0, [r4, r1]
- cmp r0, r7
- beq _081466CA
- adds r1, r0, 0
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, _081466E0
- adds r0, r1
- bl DestroySprite
- ldr r0, _081466E4
- strh r0, [r4]
-_081466CA:
- adds r0, r5, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
- cmp r5, 0x4
- bls _081466AA
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_081466DC: .4byte gUnknown_0203932E
-_081466E0: .4byte gSprites
-_081466E4: .4byte 0x0000ffff
- thumb_func_end sub_81466A0
-
- thumb_func_start sub_81466E8
-sub_81466E8: @ 81466E8
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- lsls r0, 24
- lsrs r7, r0, 24
- lsls r1, 24
- lsrs r2, r1, 24
- lsls r0, r7, 2
- adds r0, r7
- lsls r0, 3
- ldr r1, _08146748
- adds r6, r0, r1
- ldr r4, _0814674C
- movs r0, 0xC
- adds r0, r4
- mov r8, r0
- ldrb r1, [r0, 0x1]
- ldrb r0, [r4, 0xC]
- adds r1, r0
- cmp r1, 0
- bne _08146718
- lsls r0, r2, 24
- cmp r0, 0
- blt _0814678C
-_08146718:
- adds r0, r1, 0x1
- lsls r5, r2, 24
- mov r1, r8
- ldrb r1, [r1, 0x2]
- cmp r0, r1
- bne _08146728
- cmp r5, 0
- bgt _0814678C
-_08146728:
- movs r0, 0x5
- bl PlaySE
- mov r2, r8
- ldrb r3, [r2, 0x1]
- ldrb r4, [r4, 0xC]
- mov r12, r4
- adds r0, r3, r4
- asrs r2, r5, 24
- adds r1, r0, r2
- cmp r1, 0
- bge _08146750
- negs r0, r0
- strh r0, [r6, 0x2]
- b _08146766
- .align 2, 0
-_08146748: .4byte gUnknown_03004B28
-_0814674C: .4byte gUnknown_03005D10
-_08146750:
- mov r4, r8
- ldrb r0, [r4, 0x2]
- cmp r1, r0
- blt _08146764
- subs r0, r3
- mov r1, r12
- subs r0, r1
- subs r0, 0x1
- strh r0, [r6, 0x2]
- b _08146766
-_08146764:
- strh r2, [r6, 0x2]
-_08146766:
- ldr r0, _08146780
- lsls r1, r7, 2
- adds r1, r7
- lsls r1, 3
- adds r1, r0
- ldr r0, _08146784
- str r0, [r1]
- cmp r5, 0
- bge _08146788
- movs r2, 0x10
- negs r2, r2
- adds r0, r2, 0
- b _0814678A
- .align 2, 0
-_08146780: .4byte gTasks
-_08146784: .4byte sub_8146798
-_08146788:
- movs r0, 0x10
-_0814678A:
- strh r0, [r6]
-_0814678C:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_81466E8
-
- thumb_func_start sub_8146798
-sub_8146798: @ 8146798
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- ldr r1, _08146800
- adds r0, r1
- ldr r2, _08146804
- ldrh r1, [r0]
- ldrh r5, [r2]
- adds r3, r1, r5
- movs r1, 0xFF
- ands r3, r1
- strh r3, [r2]
- movs r1, 0
- ldrsh r0, [r0, r1]
- cmp r0, 0
- ble _081467C2
- cmp r3, 0x90
- beq _081467CA
-_081467C2:
- cmp r0, 0
- bge _081467E0
- cmp r3, 0x70
- bne _081467E0
-_081467CA:
- ldr r0, _08146808
- lsls r1, r4, 2
- adds r1, r4
- lsls r1, 3
- adds r1, r0
- movs r0, 0xA
- ldrsb r0, [r1, r0]
- bl sub_8146810
- bl sub_81468BC
-_081467E0:
- ldr r0, _08146804
- ldrh r2, [r0]
- cmp r2, 0
- bne _081467FA
- ldr r0, _08146808
- lsls r1, r4, 2
- adds r1, r4
- lsls r1, 3
- adds r1, r0
- strh r2, [r1, 0x8]
- strh r2, [r1, 0xA]
- ldr r0, _0814680C
- str r0, [r1]
-_081467FA:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08146800: .4byte gUnknown_03004B28
-_08146804: .4byte gUnknown_030041B4
-_08146808: .4byte gTasks
-_0814680C: .4byte sub_8146480
- thumb_func_end sub_8146798
-
- thumb_func_start sub_8146810
-sub_8146810: @ 8146810
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r3, r0, 24
- adds r4, r3, 0
- lsls r0, r3, 24
- asrs r1, r0, 24
- cmp r1, 0
- ble _08146848
- ldr r0, _08146840
- adds r4, r0, 0
- adds r4, 0xC
- ldrb r2, [r0, 0xC]
- adds r1, r2, r1
- adds r6, r0, 0
- cmp r1, 0x7
- ble _08146844
- adds r0, r3, 0
- adds r0, 0xF9
- adds r0, r2, r0
- ldrb r1, [r4, 0x1]
- adds r0, r1
- strb r0, [r4, 0x1]
- movs r0, 0x7
- b _0814686E
- .align 2, 0
-_08146840: .4byte gUnknown_03005D10
-_08146844:
- adds r0, r2, r3
- b _0814686E
-_08146848:
- ldr r0, _08146868
- adds r5, r0, 0
- adds r5, 0xC
- ldrb r2, [r0, 0xC]
- adds r1, r2, r1
- adds r6, r0, 0
- cmp r1, 0
- bge _0814686C
- adds r0, r2, r3
- ldrb r1, [r5, 0x1]
- adds r0, r1
- movs r1, 0
- strb r0, [r5, 0x1]
- strb r1, [r6, 0xC]
- b _08146870
- .align 2, 0
-_08146868: .4byte gUnknown_03005D10
-_0814686C:
- adds r0, r2, r4
-_0814686E:
- strb r0, [r6, 0xC]
-_08146870:
- ldr r2, _081468AC
- movs r0, 0x3
- lsls r0, 2
- adds r0, r6
- ldrb r1, [r0, 0x1]
- ldrb r0, [r0]
- adds r1, r0
- ldr r0, _081468B0
- ldr r0, [r0]
- lsls r1, 2
- adds r1, r0
- ldrh r0, [r1]
- strh r0, [r2]
- ldr r0, _081468B4
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, _081468B8
- adds r0, r1
- bl DestroySprite
- bl sub_81466A0
- bl sub_80A7DD4
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_081468AC: .4byte word_203855E
-_081468B0: .4byte gUnknown_03005D24
-_081468B4: .4byte gUnknown_0203932C
-_081468B8: .4byte gSprites
- thumb_func_end sub_8146810
-
- thumb_func_start sub_81468BC
-sub_81468BC: @ 81468BC
- push {r4,lr}
- movs r0, 0
- movs r1, 0x4
- movs r2, 0x1D
- movs r3, 0x13
- bl MenuZeroFillWindowRect
- bl sub_81464E4
- ldr r4, _081468F8
- ldrb r0, [r4]
- adds r0, 0x7B
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0x38
- movs r2, 0x40
- bl sub_80A7D8C
- ldr r1, _081468FC
- strb r0, [r1]
- ldrb r0, [r4]
- adds r0, 0x7B
- lsls r0, 24
- lsrs r0, 24
- bl sub_8146600
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_081468F8: .4byte word_203855E
-_081468FC: .4byte gUnknown_0203932C
- thumb_func_end sub_81468BC
-
- thumb_func_start sub_8146900
-sub_8146900: @ 8146900
- push {lr}
- bl LoadOam
- bl ProcessSpriteCopyRequests
- bl TransferPlttBuffer
- pop {r0}
- bx r0
- thumb_func_end sub_8146900
-
- thumb_func_start sub_8146914
-sub_8146914: @ 8146914
- push {lr}
- movs r2, 0
- ldr r1, _0814692C
- ldrh r0, [r1, 0x1A]
- ldrh r1, [r1, 0x36]
- cmp r0, r1
- bne _08146924
- movs r2, 0x1
-_08146924:
- adds r0, r2, 0
- pop {r1}
- bx r1
- .align 2, 0
-_0814692C: .4byte gLinkPlayers
- thumb_func_end sub_8146914
-
.align 2, 0 @ Don't pad with nop.
diff --git a/ld_script.txt b/ld_script.txt
index 26a930f10..174b476c4 100644
--- a/ld_script.txt
+++ b/ld_script.txt
@@ -98,6 +98,8 @@ SECTIONS {
asm/rom_81258BC.o(.text);
src/intro.o(.text);
asm/rom_813BA94.o(.text);
+ asm/diploma.o(.text);
+ asm/berry_tag_screen.o(.text);
asm/mystery_event_menu.o(.text);
asm/save_failed_screen.o(.text);
asm/rom_81473B8.o(.text);