diff options
-rw-r--r-- | Makefile | 3 | ||||
-rw-r--r-- | asm/berry_tag_screen.s | 1115 | ||||
-rw-r--r-- | asm/diploma.s | 313 | ||||
-rw-r--r-- | asm/mystery_event_menu.s | 28 | ||||
-rw-r--r-- | asm/rom_813BA94.s | 1438 | ||||
-rw-r--r-- | ld_script.txt | 2 |
6 files changed, 1460 insertions, 1439 deletions
@@ -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); |