diff options
author | PikalaxALT <PikalaxALT@users.noreply.github.com> | 2020-03-09 10:13:55 -0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-03-09 10:13:55 -0400 |
commit | c40d7241ff2d2c0220550339b27a2725aac856fe (patch) | |
tree | 05e2c9607d600aa3d36c9d3c8a3b2ca172b66a4c | |
parent | ac38e814546eca637ea4bafe8792b8d38ff486a3 (diff) | |
parent | 02aed8fc8e2496cc62873fc52de54c89f0b9ac83 (diff) |
Merge pull request #294 from PikalaxALT/fldeff_flash
fldeff_flash.c
-rw-r--r-- | asm/fldeff_flash.s | 964 | ||||
-rw-r--r-- | asm/overworld.s | 30 | ||||
-rw-r--r-- | data/fldeff_flash.s | 74 | ||||
-rw-r--r-- | include/event_scripts.h | 3 | ||||
-rw-r--r-- | include/field_weather.h | 2 | ||||
-rw-r--r-- | include/fldeff.h | 4 | ||||
-rw-r--r-- | include/map_preview_screen.h | 21 | ||||
-rw-r--r-- | include/overworld.h | 3 | ||||
-rw-r--r-- | include/quest_log.h | 2 | ||||
-rw-r--r-- | ld_script.txt | 4 | ||||
-rw-r--r-- | src/credits.c | 3 | ||||
-rw-r--r-- | src/field_fadetransition.c | 45 | ||||
-rw-r--r-- | src/fldeff_flash.c | 479 | ||||
-rw-r--r-- | src/item_use.c | 11 | ||||
-rw-r--r-- | src/map_preview_screen.c | 140 | ||||
-rw-r--r-- | src/player_pc.c | 9 | ||||
-rw-r--r-- | src/quest_log.c | 11 | ||||
-rw-r--r-- | src/scrcmd.c | 4 | ||||
-rw-r--r-- | src/shop.c | 5 | ||||
-rw-r--r-- | src/start_menu.c | 3 |
20 files changed, 639 insertions, 1178 deletions
diff --git a/asm/fldeff_flash.s b/asm/fldeff_flash.s deleted file mode 100644 index c6cc17f82..000000000 --- a/asm/fldeff_flash.s +++ /dev/null @@ -1,964 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .syntax unified - - .text - - thumb_func_start SetUpFieldMove_Flash -SetUpFieldMove_Flash: @ 80C9B2C - push {lr} - ldr r0, _080C9B54 @ =gMapHeader - ldrb r0, [r0, 0x15] - cmp r0, 0x1 - bne _080C9B6C - ldr r0, _080C9B58 @ =0x00000806 - bl FlagGet - lsls r0, 24 - cmp r0, 0 - bne _080C9B6C - ldr r1, _080C9B5C @ =gFieldCallback2 - ldr r0, _080C9B60 @ =FieldCallback_PrepareFadeInFromMenu - str r0, [r1] - ldr r1, _080C9B64 @ =gPostMenuFieldCallback - ldr r0, _080C9B68 @ =sub_80C9B74 - str r0, [r1] - movs r0, 0x1 - b _080C9B6E - .align 2, 0 -_080C9B54: .4byte gMapHeader -_080C9B58: .4byte 0x00000806 -_080C9B5C: .4byte gFieldCallback2 -_080C9B60: .4byte FieldCallback_PrepareFadeInFromMenu -_080C9B64: .4byte gPostMenuFieldCallback -_080C9B68: .4byte sub_80C9B74 -_080C9B6C: - movs r0, 0 -_080C9B6E: - pop {r1} - bx r1 - thumb_func_end SetUpFieldMove_Flash - - thumb_func_start sub_80C9B74 -sub_80C9B74: @ 80C9B74 - push {r4,lr} - bl CreateFieldEffectShowMon - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - bl GetCursorSelectionMonId - ldr r1, _080C9BA4 @ =gFieldEffectArguments - lsls r0, 24 - lsrs r0, 24 - str r0, [r1] - ldr r1, _080C9BA8 @ =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - ldr r2, _080C9BAC @ =sub_80C9BB0 - lsrs r1, r2, 16 - strh r1, [r0, 0x18] - strh r2, [r0, 0x1A] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080C9BA4: .4byte gFieldEffectArguments -_080C9BA8: .4byte gTasks -_080C9BAC: .4byte sub_80C9BB0 - thumb_func_end sub_80C9B74 - - thumb_func_start sub_80C9BB0 -sub_80C9BB0: @ 80C9BB0 - push {lr} - movs r0, 0xC8 - bl PlaySE - ldr r0, _080C9BC8 @ =0x00000806 - bl FlagSet - ldr r0, _080C9BCC @ =EventScript_FldEffFlash - bl ScriptContext1_SetupScript - pop {r0} - bx r0 - .align 2, 0 -_080C9BC8: .4byte 0x00000806 -_080C9BCC: .4byte EventScript_FldEffFlash - thumb_func_end sub_80C9BB0 - - thumb_func_start sub_80C9BD0 -sub_80C9BD0: @ 80C9BD0 - push {lr} - bl RunTasks - bl AnimateSprites - bl BuildOamBuffer - bl UpdatePaletteFade - pop {r0} - bx r0 - thumb_func_end sub_80C9BD0 - - thumb_func_start sub_80C9BE8 -sub_80C9BE8: @ 80C9BE8 - push {lr} - bl LoadOam - bl ProcessSpriteCopyRequests - bl TransferPlttBuffer - pop {r0} - bx r0 - thumb_func_end sub_80C9BE8 - - thumb_func_start sub_80C9BFC -sub_80C9BFC: @ 80C9BFC - push {lr} - sub sp, 0x8 - movs r0, 0 - bl SetVBlankCallback - movs r0, 0 - movs r1, 0 - bl SetGpuReg - movs r0, 0xC - movs r1, 0 - bl SetGpuReg - movs r0, 0xA - movs r1, 0 - bl SetGpuReg - movs r0, 0x8 - movs r1, 0 - bl SetGpuReg - movs r0, 0x18 - movs r1, 0 - bl SetGpuReg - movs r0, 0x1A - movs r1, 0 - bl SetGpuReg - movs r0, 0x14 - movs r1, 0 - bl SetGpuReg - movs r0, 0x16 - movs r1, 0 - bl SetGpuReg - movs r0, 0x10 - movs r1, 0 - bl SetGpuReg - movs r0, 0x12 - movs r1, 0 - bl SetGpuReg - mov r1, sp - movs r0, 0 - strh r0, [r1] - ldr r1, _080C9CC8 @ =0x040000d4 - mov r0, sp - str r0, [r1] - movs r0, 0xC0 - lsls r0, 19 - str r0, [r1, 0x4] - ldr r0, _080C9CCC @ =0x8100c000 - str r0, [r1, 0x8] - ldr r0, [r1, 0x8] - movs r2, 0 - str r2, [sp, 0x4] - add r0, sp, 0x4 - str r0, [r1] - movs r0, 0xE0 - lsls r0, 19 - str r0, [r1, 0x4] - ldr r0, _080C9CD0 @ =0x85000100 - str r0, [r1, 0x8] - ldr r0, [r1, 0x8] - mov r0, sp - strh r2, [r0] - str r0, [r1] - ldr r0, _080C9CD4 @ =0x05000002 - str r0, [r1, 0x4] - ldr r0, _080C9CD8 @ =0x810001ff - str r0, [r1, 0x8] - ldr r0, [r1, 0x8] - bl ResetPaletteFade - bl ResetTasks - bl ResetSpriteData - movs r0, 0x1 - bl EnableInterrupts - ldr r0, _080C9CDC @ =sub_80C9BE8 - bl SetVBlankCallback - ldr r0, _080C9CE0 @ =sub_80C9BD0 - bl SetMainCallback2 - bl sub_80C9CE8 - lsls r0, 24 - cmp r0, 0 - bne _080C9CC2 - ldr r0, _080C9CE4 @ =gMain - ldr r0, [r0, 0x8] - bl SetMainCallback2 -_080C9CC2: - add sp, 0x8 - pop {r0} - bx r0 - .align 2, 0 -_080C9CC8: .4byte 0x040000d4 -_080C9CCC: .4byte 0x8100c000 -_080C9CD0: .4byte 0x85000100 -_080C9CD4: .4byte 0x05000002 -_080C9CD8: .4byte 0x810001ff -_080C9CDC: .4byte sub_80C9BE8 -_080C9CE0: .4byte sub_80C9BD0 -_080C9CE4: .4byte gMain - thumb_func_end sub_80C9BFC - - thumb_func_start sub_80C9CE8 -sub_80C9CE8: @ 80C9CE8 - push {r4-r7,lr} - bl get_map_light_from_warp0 - lsls r0, 24 - lsrs r7, r0, 24 - bl GetCurrentMapType - lsls r0, 24 - lsrs r6, r0, 24 - movs r4, 0 - bl sub_80561B4 - ldr r5, _080C9D24 @ =gMapHeader - lsls r0, 24 - lsrs r0, 24 - ldrb r1, [r5, 0x14] - cmp r0, r1 - beq _080C9D36 - ldrb r0, [r5, 0x14] - movs r1, 0 - bl sub_80F8154 - cmp r0, 0x1 - bne _080C9D36 - ldrb r0, [r5, 0x14] - bl sub_80CA160 - movs r0, 0x1 - b _080C9D70 - .align 2, 0 -_080C9D24: .4byte gMapHeader -_080C9D28: - adds r0, r3, 0x4 - adds r0, r2, r0 - ldr r0, [r0] - bl _call_via_r0 - movs r0, 0x1 - b _080C9D70 -_080C9D36: - ldr r5, _080C9D78 @ =gUnknown_83F5738 - lsls r1, r4, 1 - adds r0, r1, r4 - lsls r0, 2 - adds r0, r5 - ldrb r0, [r0] - cmp r0, 0 - beq _080C9D6E - adds r3, r5, 0 -_080C9D48: - adds r0, r1, r4 - lsls r2, r0, 2 - adds r1, r2, r3 - ldrb r0, [r1] - cmp r0, r7 - bne _080C9D5A - ldrb r0, [r1, 0x1] - cmp r0, r6 - beq _080C9D28 -_080C9D5A: - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - lsls r1, r4, 1 - adds r0, r1, r4 - lsls r0, 2 - adds r0, r5 - ldrb r0, [r0] - cmp r0, 0 - bne _080C9D48 -_080C9D6E: - movs r0, 0 -_080C9D70: - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_080C9D78: .4byte gUnknown_83F5738 - thumb_func_end sub_80C9CE8 - - thumb_func_start sub_80C9D7C -sub_80C9D7C: @ 80C9D7C - push {r4-r6,lr} - lsls r0, 24 - lsls r1, 24 - lsrs r5, r0, 24 - lsrs r4, r1, 24 - movs r3, 0 - ldr r1, _080C9DAC @ =gUnknown_83F5738 - ldrb r0, [r1] - cmp r0, 0 - beq _080C9DC4 - adds r6, r1, 0 -_080C9D92: - lsls r0, r3, 1 - adds r0, r3 - lsls r0, 2 - adds r2, r0, r6 - ldrb r0, [r2] - cmp r0, r5 - bne _080C9DB0 - ldrb r0, [r2, 0x1] - cmp r0, r4 - bne _080C9DB0 - ldrb r0, [r2, 0x2] - b _080C9DC6 - .align 2, 0 -_080C9DAC: .4byte gUnknown_83F5738 -_080C9DB0: - adds r0, r3, 0x1 - lsls r0, 24 - lsrs r3, r0, 24 - lsls r0, r3, 1 - adds r0, r3 - lsls r0, 2 - adds r0, r1 - ldrb r0, [r0] - cmp r0, 0 - bne _080C9D92 -_080C9DC4: - movs r0, 0 -_080C9DC6: - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_80C9D7C - - thumb_func_start sub_80C9DCC -sub_80C9DCC: @ 80C9DCC - push {r4-r6,lr} - lsls r0, 24 - lsls r1, 24 - lsrs r5, r0, 24 - lsrs r4, r1, 24 - movs r3, 0 - ldr r1, _080C9DFC @ =gUnknown_83F5738 - ldrb r0, [r1] - cmp r0, 0 - beq _080C9E14 - adds r6, r1, 0 -_080C9DE2: - lsls r0, r3, 1 - adds r0, r3 - lsls r0, 2 - adds r2, r0, r6 - ldrb r0, [r2] - cmp r0, r5 - bne _080C9E00 - ldrb r0, [r2, 0x1] - cmp r0, r4 - bne _080C9E00 - ldrb r0, [r2, 0x3] - b _080C9E16 - .align 2, 0 -_080C9DFC: .4byte gUnknown_83F5738 -_080C9E00: - adds r0, r3, 0x1 - lsls r0, 24 - lsrs r3, r0, 24 - lsls r0, r3, 1 - adds r0, r3 - lsls r0, 2 - adds r0, r1 - ldrb r0, [r0] - cmp r0, 0 - bne _080C9DE2 -_080C9E14: - movs r0, 0 -_080C9E16: - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_80C9DCC - - thumb_func_start sub_80C9E1C -sub_80C9E1C: @ 80C9E1C - push {lr} - ldr r0, _080C9E2C @ =sub_80C9E30 - movs r1, 0 - bl CreateTask - pop {r0} - bx r0 - .align 2, 0 -_080C9E2C: .4byte sub_80C9E30 - thumb_func_end sub_80C9E1C - - thumb_func_start sub_80C9E30 -sub_80C9E30: @ 80C9E30 - lsls r0, 24 - lsrs r0, 24 - ldr r2, _080C9E44 @ =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - ldr r0, _080C9E48 @ =sub_80C9E4C - str r0, [r1] - bx lr - .align 2, 0 -_080C9E44: .4byte gTasks -_080C9E48: .4byte sub_80C9E4C - thumb_func_end sub_80C9E30 - - thumb_func_start sub_80C9E4C -sub_80C9E4C: @ 80C9E4C - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - movs r0, 0 - movs r1, 0 - bl SetGpuReg - ldr r0, _080C9EC8 @ =gUnknown_83F5A44 - ldr r1, _080C9ECC @ =0x0600c000 - bl LZ77UnCompVram - ldr r0, _080C9ED0 @ =gUnknown_83F5864 - ldr r1, _080C9ED4 @ =0x0600f800 - bl LZ77UnCompVram - ldr r0, _080C9ED8 @ =gUnknown_83F5804 - movs r1, 0xE0 - movs r2, 0x20 - bl LoadPalette - ldr r0, _080C9EDC @ =gUnknown_83F5844 + 0x10 - movs r1, 0xE0 - movs r2, 0x10 - bl LoadPalette - ldr r1, _080C9EE0 @ =0x00003e41 - movs r0, 0x50 - bl SetGpuReg - movs r0, 0x52 - movs r1, 0 - bl SetGpuReg - movs r0, 0x54 - movs r1, 0 - bl SetGpuReg - ldr r1, _080C9EE4 @ =0x00001f0c =BGCNT_PRIORITY(0) | BGCNT_CHARBASE(3) | BGCNT_SCREENBASE(31) - movs r0, 0x8 - bl SetGpuReg - movs r1, 0x8A - lsls r1, 5 - movs r0, 0 - bl SetGpuReg - ldr r1, _080C9EE8 @ =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - ldr r1, _080C9EEC @ =sub_80C9EF0 - str r1, [r0] - movs r2, 0 - movs r1, 0x10 - strh r1, [r0, 0x8] - strh r2, [r0, 0xA] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080C9EC8: .4byte gUnknown_83F5A44 -_080C9ECC: .4byte 0x0600c000 -_080C9ED0: .4byte gUnknown_83F5864 -_080C9ED4: .4byte 0x0600f800 -_080C9ED8: .4byte gUnknown_83F5804 -_080C9EDC: .4byte gUnknown_83F5844 + 0x10 -_080C9EE0: .4byte 0x00003e41 -_080C9EE4: .4byte 0x00001f0c -_080C9EE8: .4byte gTasks -_080C9EEC: .4byte sub_80C9EF0 - thumb_func_end sub_80C9E4C - - thumb_func_start sub_80C9EF0 -sub_80C9EF0: @ 80C9EF0 - push {r4,r5,lr} - lsls r0, 24 - lsrs r0, 24 - ldr r2, _080C9F20 @ =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r5, r1, r2 - ldrh r4, [r5, 0xA] - movs r0, 0x80 - lsls r0, 5 - adds r1, r4, r0 - lsls r1, 16 - lsrs r1, 16 - movs r0, 0x52 - bl SetGpuReg - cmp r4, 0x10 - bhi _080C9F24 - ldrh r0, [r5, 0xA] - adds r0, 0x1 - strh r0, [r5, 0xA] - b _080C9F2C - .align 2, 0 -_080C9F20: .4byte gTasks -_080C9F24: - movs r0, 0 - strh r0, [r5, 0xC] - ldr r0, _080C9F34 @ =sub_80C9F38 - str r0, [r5] -_080C9F2C: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080C9F34: .4byte sub_80C9F38 - thumb_func_end sub_80C9EF0 - - thumb_func_start sub_80C9F38 -sub_80C9F38: @ 80C9F38 - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - ldr r1, _080C9F74 @ =0x00001010 - movs r0, 0x52 - bl SetGpuReg - ldr r1, _080C9F78 @ =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r4, r0, r1 - ldrh r1, [r4, 0xC] - cmp r1, 0x7 - bhi _080C9F80 - adds r0, r1, 0x1 - strh r0, [r4, 0xC] - lsls r1, 1 - ldr r0, _080C9F7C @ =gUnknown_83F5844 + 0x10 - adds r0, r1, r0 - movs r2, 0x10 - subs r2, r1 - lsls r2, 16 - lsrs r2, 16 - movs r1, 0xE0 - bl LoadPalette - b _080C9F92 - .align 2, 0 -_080C9F74: .4byte 0x00001010 -_080C9F78: .4byte gTasks -_080C9F7C: .4byte gUnknown_83F5844 + 0x10 -_080C9F80: - ldr r0, _080C9F98 @ =gUnknown_83F5804 - movs r1, 0 - movs r2, 0x20 - bl LoadPalette - ldr r0, _080C9F9C @ =sub_80C9FA0 - str r0, [r4] - movs r0, 0x8 - strh r0, [r4, 0xC] -_080C9F92: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080C9F98: .4byte gUnknown_83F5804 -_080C9F9C: .4byte sub_80C9FA0 - thumb_func_end sub_80C9F38 - - thumb_func_start sub_80C9FA0 -sub_80C9FA0: @ 80C9FA0 - push {lr} - lsls r0, 24 - lsrs r0, 24 - ldr r2, _080C9FC0 @ =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - ldrh r2, [r1, 0xC] - movs r3, 0xC - ldrsh r0, [r1, r3] - cmp r0, 0 - beq _080C9FC4 - subs r0, r2, 0x1 - strh r0, [r1, 0xC] - b _080C9FCC - .align 2, 0 -_080C9FC0: .4byte gTasks -_080C9FC4: - ldr r0, _080C9FD0 @ =gMain - ldr r0, [r0, 0x8] - bl SetMainCallback2 -_080C9FCC: - pop {r0} - bx r0 - .align 2, 0 -_080C9FD0: .4byte gMain - thumb_func_end sub_80C9FA0 - - thumb_func_start sub_80C9FD4 -sub_80C9FD4: @ 80C9FD4 - push {lr} - ldr r0, _080C9FE4 @ =sub_80C9FE8 - movs r1, 0 - bl CreateTask - pop {r0} - bx r0 - .align 2, 0 -_080C9FE4: .4byte sub_80C9FE8 - thumb_func_end sub_80C9FD4 - - thumb_func_start sub_80C9FE8 -sub_80C9FE8: @ 80C9FE8 - lsls r0, 24 - lsrs r0, 24 - ldr r2, _080C9FFC @ =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - ldr r0, _080CA000 @ =sub_80CA004 - str r0, [r1] - bx lr - .align 2, 0 -_080C9FFC: .4byte gTasks -_080CA000: .4byte sub_80CA004 - thumb_func_end sub_80C9FE8 - - thumb_func_start sub_80CA004 -sub_80CA004: @ 80CA004 - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - movs r0, 0 - movs r1, 0 - bl SetGpuReg - ldr r0, _080CA080 @ =gUnknown_83F5A44 - ldr r1, _080CA084 @ =0x0600c000 - bl LZ77UnCompVram - ldr r0, _080CA088 @ =gUnknown_83F5864 - ldr r1, _080CA08C @ =0x0600f800 - bl LZ77UnCompVram - movs r0, 0x50 - movs r1, 0 - bl SetGpuReg - movs r0, 0x52 - movs r1, 0 - bl SetGpuReg - movs r0, 0x54 - movs r1, 0 - bl SetGpuReg - ldr r1, _080CA090 @ =0x00001f0c - movs r0, 0x8 - bl SetGpuReg - movs r1, 0x8A - lsls r1, 5 - movs r0, 0 - bl SetGpuReg - ldr r0, _080CA094 @ =gUnknown_83F5804 - movs r1, 0xE0 - movs r2, 0x20 - bl LoadPalette - ldr r0, _080CA098 @ =gUnknown_83F5824 - movs r1, 0 - movs r2, 0x20 - bl LoadPalette - ldr r1, _080CA09C @ =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - ldr r1, _080CA0A0 @ =sub_80CA0A4 - str r1, [r0] - movs r2, 0 - movs r1, 0x10 - strh r1, [r0, 0x8] - strh r2, [r0, 0xA] - strh r2, [r0, 0xC] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080CA080: .4byte gUnknown_83F5A44 -_080CA084: .4byte 0x0600c000 -_080CA088: .4byte gUnknown_83F5864 -_080CA08C: .4byte 0x0600f800 -_080CA090: .4byte 0x00001f0c -_080CA094: .4byte gUnknown_83F5804 -_080CA098: .4byte gUnknown_83F5824 -_080CA09C: .4byte gTasks -_080CA0A0: .4byte sub_80CA0A4 - thumb_func_end sub_80CA004 - - thumb_func_start sub_80CA0A4 -sub_80CA0A4: @ 80CA0A4 - push {r4,lr} - lsls r0, 24 - lsrs r0, 24 - ldr r2, _080CA0D8 @ =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r4, r1, r2 - ldrh r1, [r4, 0xC] - cmp r1, 0xF - bhi _080CA0E0 - adds r2, r1, 0x1 - adds r0, r2, 0x1 - strh r0, [r4, 0xC] - movs r0, 0xF - subs r0, r1 - lsls r0, 1 - ldr r1, _080CA0DC @ =gUnknown_83F5844 - adds r0, r1 - lsls r2, 17 - lsrs r2, 16 - movs r1, 0xE0 - bl LoadPalette - b _080CA0F4 - .align 2, 0 -_080CA0D8: .4byte gTasks -_080CA0DC: .4byte gUnknown_83F5844 -_080CA0E0: - ldr r1, _080CA0FC @ =0x00001010 - movs r0, 0x52 - bl SetGpuReg - ldr r1, _080CA100 @ =0x00003e41 - movs r0, 0x50 - bl SetGpuReg - ldr r0, _080CA104 @ =sub_80CA108 - str r0, [r4] -_080CA0F4: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080CA0FC: .4byte 0x00001010 -_080CA100: .4byte 0x00003e41 -_080CA104: .4byte sub_80CA108 - thumb_func_end sub_80CA0A4 - - thumb_func_start sub_80CA108 -sub_80CA108: @ 80CA108 - push {r4,r5,lr} - lsls r0, 24 - lsrs r0, 24 - ldr r2, _080CA13C @ =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r5, r1, r2 - ldrh r0, [r5, 0xA] - movs r1, 0x10 - subs r1, r0 - lsls r1, 16 - lsrs r4, r1, 16 - movs r0, 0x80 - lsls r0, 21 - adds r1, r0 - lsrs r1, 16 - movs r0, 0x52 - bl SetGpuReg - cmp r4, 0 - beq _080CA140 - ldrh r0, [r5, 0xA] - adds r0, 0x1 - strh r0, [r5, 0xA] - b _080CA152 - .align 2, 0 -_080CA13C: .4byte gTasks -_080CA140: - ldr r0, _080CA158 @ =gUnknown_83F5824 - movs r1, 0 - movs r2, 0x20 - bl LoadPalette - ldr r0, _080CA15C @ =gMain - ldr r0, [r0, 0x8] - bl SetMainCallback2 -_080CA152: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080CA158: .4byte gUnknown_83F5824 -_080CA15C: .4byte gMain - thumb_func_end sub_80CA108 - - thumb_func_start sub_80CA160 -sub_80CA160: @ 80CA160 - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - ldr r0, _080CA188 @ =sub_80CA190 - movs r1, 0 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - ldr r2, _080CA18C @ =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - strh r4, [r1, 0xE] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080CA188: .4byte sub_80CA190 -_080CA18C: .4byte gTasks - thumb_func_end sub_80CA160 - - thumb_func_start sub_80CA190 -sub_80CA190: @ 80CA190 - push {r4-r6,lr} - sub sp, 0x4 - lsls r0, 24 - lsrs r5, r0, 24 - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - ldr r1, _080CA1B8 @ =gTasks+0x8 - adds r4, r0, r1 - movs r1, 0 - ldrsh r0, [r4, r1] - cmp r0, 0x5 - bls _080CA1AC - b _080CA2D2 -_080CA1AC: - lsls r0, 2 - ldr r1, _080CA1BC @ =_080CA1C0 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_080CA1B8: .4byte gTasks+0x8 -_080CA1BC: .4byte _080CA1C0 - .align 2, 0 -_080CA1C0: - .4byte _080CA1D8 - .4byte _080CA208 - .4byte _080CA224 - .4byte _080CA24E - .4byte _080CA262 - .4byte _080CA2A4 -_080CA1D8: - ldr r0, _080CA204 @ =gMain - ldr r2, [r0, 0xC] - adds r0, r5, 0 - movs r1, 0x5 - bl SetWordTaskArg - movs r0, 0 - bl SetVBlankCallback - bl sub_80F8180 - ldrb r0, [r4, 0x6] - bl sub_80F819C - movs r0, 0x1 - negs r0, r0 - movs r1, 0x10 - movs r2, 0 - bl BlendPalettes - b _080CA294 - .align 2, 0 -_080CA204: .4byte gMain -_080CA208: - bl sub_80F8258 - cmp r0, 0 - bne _080CA2D2 - ldrb r0, [r4, 0x6] - bl sub_80F8318 - strh r0, [r4, 0x8] - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x3 - bl CopyWindowToVram - b _080CA294 -_080CA224: - bl IsDma3ManagerBusyWithBgCopy - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0 - bne _080CA2D2 - movs r1, 0x1 - negs r1, r1 - str r0, [sp] - adds r0, r1, 0 - movs r2, 0x10 - movs r3, 0 - bl BeginNormalPaletteFade - adds r0, r5, 0 - movs r1, 0x5 - bl GetWordTaskArg - bl SetVBlankCallback - b _080CA294 -_080CA24E: - bl UpdatePaletteFade - lsls r0, 24 - cmp r0, 0 - bne _080CA2D2 - ldrb r0, [r4, 0x6] - bl sub_80F856C - strh r0, [r4, 0x4] - b _080CA294 -_080CA262: - ldrh r0, [r4, 0x2] - adds r0, 0x1 - strh r0, [r4, 0x2] - lsls r0, 16 - asrs r0, 16 - movs r2, 0x4 - ldrsh r1, [r4, r2] - cmp r0, r1 - bgt _080CA280 - ldr r0, _080CA29C @ =gMain - ldrh r1, [r0, 0x2C] - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _080CA2D2 -_080CA280: - movs r0, 0x1 - negs r0, r0 - movs r1, 0x2 - negs r1, r1 - ldr r2, _080CA2A0 @ =0x00007fff - str r2, [sp] - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade -_080CA294: - ldrh r0, [r4] - adds r0, 0x1 - strh r0, [r4] - b _080CA2D2 - .align 2, 0 -_080CA29C: .4byte gMain -_080CA2A0: .4byte 0x00007fff -_080CA2A4: - bl UpdatePaletteFade - lsls r0, 24 - cmp r0, 0 - bne _080CA2D2 - lsls r6, r5, 2 - movs r1, 0 - adds r0, r4, 0 - adds r0, 0x1E -_080CA2B6: - strh r1, [r0] - subs r0, 0x2 - cmp r0, r4 - bge _080CA2B6 - movs r1, 0x8 - ldrsh r0, [r4, r1] - bl sub_80F8234 - ldr r1, _080CA2DC @ =gTasks - adds r0, r6, r5 - lsls r0, 3 - adds r0, r1 - ldr r1, _080CA2E0 @ =sub_80CA004 - str r1, [r0] -_080CA2D2: - add sp, 0x4 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080CA2DC: .4byte gTasks -_080CA2E0: .4byte sub_80CA004 - thumb_func_end sub_80CA190 - - .align 2, 0 @ Don't pad with nop. diff --git a/asm/overworld.s b/asm/overworld.s index 571d305b4..14afde17a 100644 --- a/asm/overworld.s +++ b/asm/overworld.s @@ -1739,7 +1739,7 @@ _080558D4: bl DoCurrentWeather bl ResetFieldTasksArgs bl mapheader_run_script_with_tag_x5 - bl sub_80561B4 + bl GetLastUsedWarpMapSectionId ldr r1, _0805591C @ =gMapHeader lsls r0, 24 lsrs r0, 24 @@ -2899,8 +2899,8 @@ GetCurrentMapType: @ 8056188 _0805619C: .4byte gSaveBlock1Ptr thumb_func_end GetCurrentMapType - thumb_func_start get_map_light_from_warp0 -get_map_light_from_warp0: @ 80561A0 + thumb_func_start GetLastUsedWarpMapType +GetLastUsedWarpMapType: @ 80561A0 push {lr} ldr r0, _080561B0 @ =gUnknown_2031DB4 bl get_map_light_level_from_warp @@ -2910,10 +2910,10 @@ get_map_light_from_warp0: @ 80561A0 bx r1 .align 2, 0 _080561B0: .4byte gUnknown_2031DB4 - thumb_func_end get_map_light_from_warp0 + thumb_func_end GetLastUsedWarpMapType - thumb_func_start sub_80561B4 -sub_80561B4: @ 80561B4 + thumb_func_start GetLastUsedWarpMapSectionId +GetLastUsedWarpMapSectionId: @ 80561B4 push {lr} ldr r1, _080561D4 @ =gUnknown_2031DB4 movs r0, 0 @@ -2931,7 +2931,7 @@ sub_80561B4: @ 80561B4 bx r1 .align 2, 0 _080561D4: .4byte gUnknown_2031DB4 - thumb_func_end sub_80561B4 + thumb_func_end GetLastUsedWarpMapSectionId thumb_func_start IsMapTypeOutdoors IsMapTypeOutdoors: @ 80561D8 @@ -3579,7 +3579,7 @@ CB2_LoadMap: @ 805671C bl ScriptContext2_Disable movs r0, 0 bl SetMainCallback1 - ldr r0, _08056740 @ =sub_80C9BFC + ldr r0, _08056740 @ =CB2_DoChangeMap bl SetMainCallback2 ldr r1, _08056744 @ =gMain ldr r0, _08056748 @ =sub_805674C @@ -3587,7 +3587,7 @@ CB2_LoadMap: @ 805671C pop {r0} bx r0 .align 2, 0 -_08056740: .4byte sub_80C9BFC +_08056740: .4byte CB2_DoChangeMap _08056744: .4byte gMain _08056748: .4byte sub_805674C thumb_func_end CB2_LoadMap @@ -4196,7 +4196,7 @@ _08056C72: bl InitTilesetAnimations b _08056CCA _08056C78: - bl sub_80561B4 + bl GetLastUsedWarpMapSectionId ldr r5, _08056CA4 @ =gMapHeader lsls r0, 24 lsrs r0, 24 @@ -4205,13 +4205,13 @@ _08056C78: beq _08056CA8 ldrb r0, [r5, 0x14] movs r1, 0x1 - bl sub_80F8154 + bl MapHasPreviewScreen_HandleQLState2 cmp r0, 0x1 bne _08056CA8 ldrb r0, [r5, 0x14] - bl sub_80F819C + bl MapPreview_LoadGfx ldrb r0, [r5, 0x14] - bl sub_80F8268 + bl MapPreview_StartForestTransition b _08056CCA .align 2, 0 _08056CA4: .4byte gMapHeader @@ -4922,7 +4922,7 @@ sub_805726C: @ 805726C bl ScriptContext2_Disable movs r0, 0 bl SetMainCallback1 - ldr r0, _0805729C @ =sub_80C9BFC + ldr r0, _0805729C @ =CB2_DoChangeMap bl SetMainCallback2 ldr r1, _080572A0 @ =gMain ldr r0, _080572A4 @ =sub_80572D8 @@ -4931,7 +4931,7 @@ sub_805726C: @ 805726C bx r0 .align 2, 0 _08057298: .4byte gUnknown_2036E28 -_0805729C: .4byte sub_80C9BFC +_0805729C: .4byte CB2_DoChangeMap _080572A0: .4byte gMain _080572A4: .4byte sub_80572D8 thumb_func_end sub_805726C diff --git a/data/fldeff_flash.s b/data/fldeff_flash.s deleted file mode 100644 index ddffff5c1..000000000 --- a/data/fldeff_flash.s +++ /dev/null @@ -1,74 +0,0 @@ -#include "constants/species.h" -#include "constants/items.h" - .include "asm/macros.inc" - .include "constants/constants.inc" - .section .rodata - .align 2 - -gUnknown_83F5738:: @ 83F5738 - .byte 1, 4, 1, 0 - .4byte sub_80C9FD4 - .4byte sub_80CA160 - .byte 2, 4, 1, 0 - .4byte sub_80C9FD4 - .4byte sub_80CA160 - .byte 3, 4, 1, 0 - .4byte sub_80C9FD4 - .4byte sub_80CA160 - .byte 5, 4, 1, 0 - .4byte sub_80C9FD4 - .4byte sub_80CA160 - .byte 6, 4, 1, 0 - .4byte sub_80C9FD4 - .4byte sub_80CA160 - .byte 7, 4, 1, 0 - .4byte sub_80C9FD4 - .4byte sub_80CA160 - .byte 8, 4, 1, 0 - .4byte sub_80C9FD4 - .4byte sub_80CA160 - .byte 9, 4, 1, 0 - .4byte sub_80C9FD4 - .4byte sub_80CA160 - .byte 4, 1, 0, 1 - .4byte sub_80C9E1C - .4byte sub_80CA160 - .byte 4, 2, 0, 1 - .4byte sub_80C9E1C - .4byte sub_80CA160 - .byte 4, 3, 0, 1 - .4byte sub_80C9E1C - .4byte sub_80CA160 - .byte 4, 5, 0, 1 - .4byte sub_80C9E1C - .4byte sub_80CA160 - .byte 4, 6, 0, 1 - .4byte sub_80C9E1C - .4byte sub_80CA160 - .byte 4, 7, 0, 1 - .4byte sub_80C9E1C - .4byte sub_80CA160 - .byte 4, 8, 0, 1 - .4byte sub_80C9E1C - .4byte sub_80CA160 - .byte 4, 9, 0, 1 - .4byte sub_80C9E1C - .4byte sub_80CA160 - .byte 0, 0, 0, 0 - .4byte NULL - .4byte NULL - -gUnknown_83F5804:: @ 83F5804 - .incbin "graphics/field_effects/flash_white.gbapal" - -gUnknown_83F5824:: @ 83F5824 - .incbin "graphics/field_effects/flash_black.gbapal" - -gUnknown_83F5844:: @ 83F5844 - .incbin "graphics/field_effects/flash_gradient.gbapal" - -gUnknown_83F5864:: @ 83F5864 - .incbin "graphics/field_effects/flash_effect_map.bin.lz" - -gUnknown_83F5A44:: @ 83F5A44 - .incbin "graphics/field_effects/flash_effect_tiles.4bpp.lz" diff --git a/include/event_scripts.h b/include/event_scripts.h index 3fda94a5f..c211e3a34 100644 --- a/include/event_scripts.h +++ b/include/event_scripts.h @@ -1209,4 +1209,7 @@ extern const u8 CableClub_Text_AwaitingLinkupBCancel[]; extern const u8 CableClub_Text_StartLinkWithXPlayersAConfirmBCancel[]; extern const u8 CableClub_Text_PleaseWaitBCancel[]; +// fldeff_flash +extern const u8 EventScript_FldEffFlash[]; + #endif //GUARD_EVENT_SCRIPTS_H diff --git a/include/field_weather.h b/include/field_weather.h index 115cc0dca..6b62f0edd 100644 --- a/include/field_weather.h +++ b/include/field_weather.h @@ -3,7 +3,7 @@ #include "global.h" -void FadeScreen(u8, s8); +void FadeScreen(u8 mode, s8 delay); void SetSav1Weather(u32); u8 GetSav1Weather(void); diff --git a/include/fldeff.h b/include/fldeff.h index 00f2d01f4..9dd6121b2 100644 --- a/include/fldeff.h +++ b/include/fldeff.h @@ -13,8 +13,8 @@ bool8 CheckObjectGraphicsInFrontOfPlayer(u8 graphicsId); u8 CreateFieldEffectShowMon(void); // flash -u8 sub_80C9DCC(u8 lightLevel, u8 mapType); -u8 sub_80C9D7C(u8 mapType1, u8 mapType2); +u8 MapTransitionIsExit(u8 lightLevel, u8 mapType); +u8 MapTransitionIsEnter(u8 mapType1, u8 mapType2); bool8 SetUpFieldMove_Flash(void); // cut diff --git a/include/map_preview_screen.h b/include/map_preview_screen.h index ea85baf71..a287c6f89 100644 --- a/include/map_preview_screen.h +++ b/include/map_preview_screen.h @@ -34,21 +34,30 @@ enum MapPreviewScreenId MPS_COUNT }; +#define MPS_TYPE_CAVE 0 +#define MPS_TYPE_FOREST 1 +#define MPS_TYPE_ANY 2 + struct MapPreviewScreen { u8 mapsec; - bool8 forceFirstTime; + u8 type; u16 flagId; const void * tilesptr; const void * tilemapptr; const void * palptr; }; -u16 sub_80F8318(u8 id); -void sub_80F85BC(u16 a0); -u16 sub_80F856C(u8 id); -bool8 sub_80F8110(u8 mapsec, bool8 forceFirstTime); -bool32 sub_80F83B0(void); +u16 MapPreview_CreateMapNameWindow(u8 id); +void MapPreview_SetFlag(u16 a0); +u16 MapPreview_GetDuration(u8 id); +bool8 MapHasPreviewScreen(u8 mapsec, u8 type); +bool32 ForestMapPreviewScreenIsRunning(void); const struct MapPreviewScreen * GetDungeonMapPreviewScreenInfo(u8 mapsec); +bool32 MapHasPreviewScreen_HandleQLState2(u8 mapsec, u8 type); +void MapPreview_InitBgs(void); +void MapPreview_LoadGfx(u8 mapsec); +bool32 MapPreview_IsGfxLoadFinished(void); +void MapPreview_Unload(s32 windowId); #endif //GUARD_MAP_PREVIEW_SCREEN_H diff --git a/include/overworld.h b/include/overworld.h index daaa5e6e8..02492f74b 100644 --- a/include/overworld.h +++ b/include/overworld.h @@ -157,7 +157,7 @@ void Overworld_ResetStateAfterDigEscRope(void); bool32 sub_8058244(void); u8 GetCurrentMapType(void); -u8 get_map_light_from_warp0(void); +u8 GetLastUsedWarpMapType(void); const struct MapHeader *warp1_get_mapheader(void); void TryFadeOutOldMapMusic(void); void CB2_ReturnToFieldCableClub(void); @@ -192,6 +192,7 @@ void sub_8057F48(void); void SetMainCallback1(MainCallback cb); void CB1_Overworld(void); void sub_80568C4(void); +u8 GetLastUsedWarpMapSectionId(void); extern u16 gHeldKeyCodeToSend; diff --git a/include/quest_log.h b/include/quest_log.h index 3241046bc..b2645954f 100644 --- a/include/quest_log.h +++ b/include/quest_log.h @@ -26,7 +26,7 @@ extern const u16 gUnknown_84566A8[]; void sub_8112720(u8); void SetQuestLogEvent(u16, const u16 *); void sub_811539C(void); -void sub_8115748(u16); +void QuestLog_RecordEnteredMap(u16); u8 sub_8112CAC(void); bool8 QuestLog_SchedulePlaybackCB(void (*func)(void)); void sub_8111F38(u16 offset, u16 idx); diff --git a/ld_script.txt b/ld_script.txt index b919db2ef..c2b35f7a2 100644 --- a/ld_script.txt +++ b/ld_script.txt @@ -183,7 +183,7 @@ SECTIONS { src/battle_ai_script_commands.o(.text); src/fldeff_rocksmash.o(.text); src/fldeff_dig.o(.text); - asm/fldeff_flash.o(.text); + src/fldeff_flash.o(.text); src/post_battle_event_funcs.o(.text); src/prof_pc.o(.text); src/hof_pc.o(.text); @@ -489,7 +489,7 @@ SECTIONS { src/region_map.o(.rodata); src/image_processing_effects.o(.rodata); src/battle_ai_script_commands.o(.rodata); - data/fldeff_flash.o(.rodata); + src/fldeff_flash.o(.rodata); src/field_specials.o(.rodata); src/battle_records.o(.rodata); src/evolution_scene.o(.rodata); diff --git a/src/credits.c b/src/credits.c index 63d4c9c85..e0d57a2a4 100644 --- a/src/credits.c +++ b/src/credits.c @@ -15,6 +15,7 @@ #include "sound.h" #include "constants/species.h" #include "constants/maps.h" +#include "constants/field_weather.h" #if defined(FIRERED) #define TITLE_TEXT gString_PokemonFireRed_Staff @@ -918,7 +919,7 @@ static s32 RollCredits(void) case CREDITSSCRCMD_MON: sCreditsMgr->mainseqno = CREDITSSCENE_MON_DESTROY_ASSETS; sCreditsMgr->whichMon = sCreditsScript[sCreditsMgr->scrcmdidx].param; - FadeScreen(1, 0); + FadeScreen(FADE_TO_BLACK, 0); break; case CREDITSSCRCMD_THEENDGFX: sCreditsMgr->mainseqno = CREDITSSCENE_THEEND_DESTROY_ASSETS; diff --git a/src/field_fadetransition.c b/src/field_fadetransition.c index 4ff105056..6c3a37bb4 100644 --- a/src/field_fadetransition.c +++ b/src/field_fadetransition.c @@ -23,6 +23,7 @@ #include "start_menu.h" #include "constants/songs.h" #include "constants/event_object_movement.h" +#include "constants/field_weather.h" static void sub_807DF4C(u8 a0); static void sub_807DFBC(u8 taskId); @@ -52,16 +53,16 @@ void palette_bg_faded_fill_black(void) void WarpFadeInScreen(void) { - switch (sub_80C9DCC(get_map_light_from_warp0(), GetCurrentMapType())) + switch (MapTransitionIsExit(GetLastUsedWarpMapType(), GetCurrentMapType())) { case 0: palette_bg_faded_fill_black(); - FadeScreen(0, 0); + FadeScreen(FADE_FROM_BLACK, 0); palette_bg_faded_fill_black(); break; case 1: palette_bg_faded_fill_white(); - FadeScreen(2, 0); + FadeScreen(FADE_FROM_WHITE, 0); palette_bg_faded_fill_white(); break; } @@ -69,16 +70,16 @@ void WarpFadeInScreen(void) static void sub_807DBAC(void) { - switch (sub_80C9DCC(get_map_light_from_warp0(), GetCurrentMapType())) + switch (MapTransitionIsExit(GetLastUsedWarpMapType(), GetCurrentMapType())) { case 0: palette_bg_faded_fill_black(); - FadeScreen(0, 3); + FadeScreen(FADE_FROM_BLACK, 3); palette_bg_faded_fill_black(); break; case 1: palette_bg_faded_fill_white(); - FadeScreen(2, 3); + FadeScreen(FADE_FROM_WHITE, 3); palette_bg_faded_fill_white(); break; } @@ -87,24 +88,24 @@ static void sub_807DBAC(void) void FadeInFromBlack(void) { palette_bg_faded_fill_black(); - FadeScreen(0, 0); + FadeScreen(FADE_FROM_BLACK, 0); palette_bg_faded_fill_black(); } void WarpFadeOutScreen(void) { const struct MapHeader *header = warp1_get_mapheader(); - if (header->regionMapSectionId != gMapHeader.regionMapSectionId && sub_80F8110(header->regionMapSectionId, FALSE)) - FadeScreen(1, 0); + if (header->regionMapSectionId != gMapHeader.regionMapSectionId && MapHasPreviewScreen(header->regionMapSectionId, MPS_TYPE_CAVE)) + FadeScreen(FADE_TO_BLACK, 0); else { - switch (sub_80C9D7C(GetCurrentMapType(), header->mapType)) + switch (MapTransitionIsEnter(GetCurrentMapType(), header->mapType)) { - case 0: - FadeScreen(1, 0); + case FALSE: + FadeScreen(FADE_TO_BLACK, 0); break; - case 1: - FadeScreen(3, 0); + case TRUE: + FadeScreen(FADE_TO_WHITE, 0); break; } } @@ -112,13 +113,13 @@ void WarpFadeOutScreen(void) static void sub_807DC70(void) { - switch (sub_80C9D7C(GetCurrentMapType(), warp1_get_mapheader()->mapType)) + switch (MapTransitionIsEnter(GetCurrentMapType(), warp1_get_mapheader()->mapType)) { - case 0: - FadeScreen(1, 3); + case FALSE: + FadeScreen(FADE_TO_BLACK, 3); break; - case 1: - FadeScreen(3, 3); + case TRUE: + FadeScreen(FADE_TO_WHITE, 3); break; } } @@ -246,7 +247,7 @@ static void sub_807DE78(bool8 a0) if (MetatileBehavior_IsWarpDoor_2(behavior) == TRUE) { func = sub_807DFBC; - switch (sub_80C9DCC(get_map_light_from_warp0(), GetCurrentMapType())) + switch (MapTransitionIsExit(GetLastUsedWarpMapType(), GetCurrentMapType())) { case 0: palette_bg_faded_fill_black(); @@ -521,7 +522,7 @@ static bool32 sub_807E40C(void) bool32 sub_807E418(void) { - if (IsWeatherNotFadingIn() == TRUE && sub_80F83B0()) + if (IsWeatherNotFadingIn() == TRUE && ForestMapPreviewScreenIsRunning()) return TRUE; else return FALSE; @@ -654,7 +655,7 @@ static void sub_807E678(u8 taskId) { case 0: ClearLinkCallback_2(); - FadeScreen(1, 0); + FadeScreen(FADE_TO_BLACK, 0); TryFadeOutOldMapMusic(); PlaySE(SE_KAIDAN); data[0]++; diff --git a/src/fldeff_flash.c b/src/fldeff_flash.c new file mode 100644 index 000000000..58cb4c251 --- /dev/null +++ b/src/fldeff_flash.c @@ -0,0 +1,479 @@ +#include "global.h" +#include "gflib.h" +#include "event_data.h" +#include "event_scripts.h" +#include "fldeff.h" +#include "field_effect.h" +#include "map_preview_screen.h" +#include "overworld.h" +#include "party_menu.h" +#include "script.h" +#include "constants/songs.h" +#include "constants/map_types.h" + +struct FlashStruct +{ + u8 fromType; + u8 toType; + bool8 isEnter; + bool8 isExit; + void (*func1)(void); + void (*func2)(u8 mapSecId); +}; + +static void FieldCallback_Flash(void); +static void FldEff_UseFlash(void); +static bool8 TryDoMapTransition(void); +static void FlashTransition_Exit(void); +static void Task_FlashTransition_Exit_0(u8 taskId); +static void Task_FlashTransition_Exit_1(u8 taskId); +static void Task_FlashTransition_Exit_2(u8 taskId); +static void Task_FlashTransition_Exit_3(u8 taskId); +static void Task_FlashTransition_Exit_4(u8 taskId); +static void FlashTransition_Enter(void); +static void Task_FlashTransition_Enter_0(u8 taskId); +static void Task_FlashTransition_Enter_1(u8 taskId); +static void Task_FlashTransition_Enter_2(u8 taskId); +static void Task_FlashTransition_Enter_3(u8 taskId); +static void RunMapPreviewScreen(u8 mapsecId); +static void Task_MapPreviewScreen_0(u8 taskId); + +static const struct FlashStruct sTransitionTypes[] = { + { + .fromType = MAP_TYPE_TOWN, + .toType = MAP_TYPE_UNDERGROUND, + .isEnter = TRUE, + .isExit = FALSE, + .func1 = FlashTransition_Enter, + .func2 = RunMapPreviewScreen + }, { + .fromType = MAP_TYPE_CITY, + .toType = MAP_TYPE_UNDERGROUND, + .isEnter = TRUE, + .isExit = FALSE, + .func1 = FlashTransition_Enter, + .func2 = RunMapPreviewScreen + }, { + .fromType = MAP_TYPE_ROUTE, + .toType = MAP_TYPE_UNDERGROUND, + .isEnter = TRUE, + .isExit = FALSE, + .func1 = FlashTransition_Enter, + .func2 = RunMapPreviewScreen + }, { + .fromType = MAP_TYPE_UNDERWATER, + .toType = MAP_TYPE_UNDERGROUND, + .isEnter = TRUE, + .isExit = FALSE, + .func1 = FlashTransition_Enter, + .func2 = RunMapPreviewScreen + }, { + .fromType = MAP_TYPE_OCEAN_ROUTE, + .toType = MAP_TYPE_UNDERGROUND, + .isEnter = TRUE, + .isExit = FALSE, + .func1 = FlashTransition_Enter, + .func2 = RunMapPreviewScreen + }, { + .fromType = MAP_TYPE_UNKNOWN, + .toType = MAP_TYPE_UNDERGROUND, + .isEnter = TRUE, + .isExit = FALSE, + .func1 = FlashTransition_Enter, + .func2 = RunMapPreviewScreen + }, { + .fromType = MAP_TYPE_INDOOR, + .toType = MAP_TYPE_UNDERGROUND, + .isEnter = TRUE, + .isExit = FALSE, + .func1 = FlashTransition_Enter, + .func2 = RunMapPreviewScreen + }, { + .fromType = MAP_TYPE_SECRET_BASE, + .toType = MAP_TYPE_UNDERGROUND, + .isEnter = TRUE, + .isExit = FALSE, + .func1 = FlashTransition_Enter, + .func2 = RunMapPreviewScreen + }, { + .fromType = MAP_TYPE_UNDERGROUND, + .toType = MAP_TYPE_TOWN, + .isEnter = FALSE, + .isExit = TRUE, + .func1 = FlashTransition_Exit, + .func2 = RunMapPreviewScreen + }, { + .fromType = MAP_TYPE_UNDERGROUND, + .toType = MAP_TYPE_CITY, + .isEnter = FALSE, + .isExit = TRUE, + .func1 = FlashTransition_Exit, + .func2 = RunMapPreviewScreen + }, { + .fromType = MAP_TYPE_UNDERGROUND, + .toType = MAP_TYPE_ROUTE, + .isEnter = FALSE, + .isExit = TRUE, + .func1 = FlashTransition_Exit, + .func2 = RunMapPreviewScreen + }, { + .fromType = MAP_TYPE_UNDERGROUND, + .toType = MAP_TYPE_UNDERWATER, + .isEnter = FALSE, + .isExit = TRUE, + .func1 = FlashTransition_Exit, + .func2 = RunMapPreviewScreen + }, { + .fromType = MAP_TYPE_UNDERGROUND, + .toType = MAP_TYPE_OCEAN_ROUTE, + .isEnter = FALSE, + .isExit = TRUE, + .func1 = FlashTransition_Exit, + .func2 = RunMapPreviewScreen + }, { + .fromType = MAP_TYPE_UNDERGROUND, + .toType = MAP_TYPE_UNKNOWN, + .isEnter = FALSE, + .isExit = TRUE, + .func1 = FlashTransition_Exit, + .func2 = RunMapPreviewScreen + }, { + .fromType = MAP_TYPE_UNDERGROUND, + .toType = MAP_TYPE_INDOOR, + .isEnter = FALSE, + .isExit = TRUE, + .func1 = FlashTransition_Exit, + .func2 = RunMapPreviewScreen + }, { + .fromType = MAP_TYPE_UNDERGROUND, + .toType = MAP_TYPE_SECRET_BASE, + .isEnter = FALSE, + .isExit = TRUE, + .func1 = FlashTransition_Exit, + .func2 = RunMapPreviewScreen + }, {0} +}; + +static const u16 sCaveTransitionPalette_White[] = INCBIN_U16("graphics/field_effects/flash_white.gbapal"); +static const u16 sCaveTransitionPalette_Black[] = INCBIN_U16("graphics/field_effects/flash_black.gbapal"); +static const u16 sCaveTransitionPalette_Gradient[] = INCBIN_U16("graphics/field_effects/flash_gradient.gbapal"); +static const u32 sCaveTransitionTilemap[] = INCBIN_U32("graphics/field_effects/flash_effect_map.bin.lz"); +static const u32 sCaveTransitionTiles[] = INCBIN_U32("graphics/field_effects/flash_effect_tiles.4bpp.lz"); + +bool8 SetUpFieldMove_Flash(void) +{ + if (gMapHeader.cave != TRUE) + return FALSE; + + if (FlagGet(FLAG_SYS_FLASH_ACTIVE)) + return FALSE; + + gFieldCallback2 = FieldCallback_PrepareFadeInFromMenu; + gPostMenuFieldCallback = FieldCallback_Flash; + return TRUE; +} + +static void FieldCallback_Flash(void) +{ + u8 taskId = CreateFieldEffectShowMon(); + gFieldEffectArguments[0] = GetCursorSelectionMonId(); + gTasks[taskId].data[8] = ((uintptr_t)FldEff_UseFlash) >> 16; + gTasks[taskId].data[9] = ((uintptr_t)FldEff_UseFlash); +} + +static void FldEff_UseFlash(void) +{ + PlaySE(SE_W115); + FlagSet(FLAG_SYS_FLASH_ACTIVE); + ScriptContext1_SetupScript(EventScript_FldEffFlash); +} + +// Map transition animatics + +static void CB2_ChangeMapMain(void) +{ + RunTasks(); + AnimateSprites(); + BuildOamBuffer(); + UpdatePaletteFade(); +} + +static void VBC_ChangeMapVBlank(void) +{ + LoadOam(); + ProcessSpriteCopyRequests(); + TransferPlttBuffer(); +} + +void CB2_DoChangeMap(void) +{ + SetVBlankCallback(NULL); + + SetGpuReg(REG_OFFSET_DISPCNT, 0); + SetGpuReg(REG_OFFSET_BG2CNT, 0); + SetGpuReg(REG_OFFSET_BG1CNT, 0); + SetGpuReg(REG_OFFSET_BG0CNT, 0); + SetGpuReg(REG_OFFSET_BG2HOFS, 0); + SetGpuReg(REG_OFFSET_BG2VOFS, 0); + SetGpuReg(REG_OFFSET_BG1HOFS, 0); + SetGpuReg(REG_OFFSET_BG1VOFS, 0); + SetGpuReg(REG_OFFSET_BG0HOFS, 0); + SetGpuReg(REG_OFFSET_BG0VOFS, 0); + + DmaFill16(3, 0, (void *)VRAM, VRAM_SIZE); + DmaFill32(3, 0, (void *)OAM, OAM_SIZE); + DmaFill16(3, 0, (void *)(PLTT + 2), PLTT_SIZE - 2); + ResetPaletteFade(); + ResetTasks(); + ResetSpriteData(); + EnableInterrupts(INTR_FLAG_VBLANK); + SetVBlankCallback(VBC_ChangeMapVBlank); + SetMainCallback2(CB2_ChangeMapMain); + if (!TryDoMapTransition()) + SetMainCallback2(gMain.savedCallback); +} + +static bool8 TryDoMapTransition(void) +{ + u8 fromType = GetLastUsedWarpMapType(); + u8 toType = GetCurrentMapType(); + u8 i = 0; + if (GetLastUsedWarpMapSectionId() != gMapHeader.regionMapSectionId && MapHasPreviewScreen_HandleQLState2(gMapHeader.regionMapSectionId, MPS_TYPE_CAVE) == TRUE) + { + RunMapPreviewScreen(gMapHeader.regionMapSectionId); + return TRUE; + } + for (; sTransitionTypes[i].fromType != 0; i++) + { + if (sTransitionTypes[i].fromType == fromType && sTransitionTypes[i].toType == toType) + { + sTransitionTypes[i].func1(); + return TRUE; + } + } + return FALSE; +} + +bool8 MapTransitionIsEnter(u8 _fromType, u8 _toType) +{ + u8 fromType = _fromType; + u8 toType = _toType; + u8 i = 0; + for (; sTransitionTypes[i].fromType != 0; i++) + { + if (sTransitionTypes[i].fromType == fromType && sTransitionTypes[i].toType == toType) + { + return sTransitionTypes[i].isEnter; + } + } + return FALSE; +} + +bool8 MapTransitionIsExit(u8 _fromType, u8 _toType) +{ + u8 fromType = _fromType; + u8 toType = _toType; + u8 i = 0; + for (; sTransitionTypes[i].fromType != 0; i++) + { + if (sTransitionTypes[i].fromType == fromType && sTransitionTypes[i].toType == toType) + { + return sTransitionTypes[i].isExit; + } + } + return FALSE; +} + +static void FlashTransition_Exit(void) +{ + CreateTask(Task_FlashTransition_Exit_0, 0); +} + +static void Task_FlashTransition_Exit_0(u8 taskId) +{ + gTasks[taskId].func = Task_FlashTransition_Exit_1; +} + +static void Task_FlashTransition_Exit_1(u8 taskId) +{ + SetGpuReg(REG_OFFSET_DISPCNT, 0); + LZ77UnCompVram(sCaveTransitionTiles, (void *)BG_CHAR_ADDR(3)); + LZ77UnCompVram(sCaveTransitionTilemap, (void *)BG_SCREEN_ADDR(31)); + LoadPalette(sCaveTransitionPalette_White, 0xE0, 0x20); + LoadPalette(sCaveTransitionPalette_Gradient + 8, 0xE0, 0x10); + SetGpuReg(REG_OFFSET_BLDCNT, BLDCNT_TGT1_BG0 | BLDCNT_EFFECT_BLEND | BLDCNT_TGT2_BG1 | BLDCNT_TGT2_BG2 | BLDCNT_TGT2_BG3 | BLDCNT_TGT2_OBJ | BLDCNT_TGT2_BD); + SetGpuReg(REG_OFFSET_BLDALPHA, 0); + SetGpuReg(REG_OFFSET_BLDY, 0); + SetGpuReg(REG_OFFSET_BG0CNT, BGCNT_PRIORITY(0) | BGCNT_CHARBASE(3) | BGCNT_SCREENBASE(31)); + SetGpuReg(REG_OFFSET_DISPCNT, DISPCNT_MODE_0 | DISPCNT_OBJ_1D_MAP | DISPCNT_BG0_ON | DISPCNT_OBJ_ON); + gTasks[taskId].func = Task_FlashTransition_Exit_2; + gTasks[taskId].data[0] = 16; + gTasks[taskId].data[1] = 0; +} + +static void Task_FlashTransition_Exit_2(u8 taskId) +{ + u16 r4 = gTasks[taskId].data[1]; + SetGpuReg(REG_OFFSET_BLDALPHA, (16 << 8) + r4); + if (r4 <= 16) + { + gTasks[taskId].data[1]++; + } + else + { + gTasks[taskId].data[2] = 0; + gTasks[taskId].func = Task_FlashTransition_Exit_3; + } +} + +static void Task_FlashTransition_Exit_3(u8 taskId) +{ + u16 r4; + SetGpuReg(REG_OFFSET_BLDALPHA, (16 << 8) + 16); + r4 = gTasks[taskId].data[2]; + if (r4 < 8) + { + gTasks[taskId].data[2]++; + LoadPalette(sCaveTransitionPalette_Gradient + 8 + r4, 0xE0, 0x10 - 2 * r4); + } + else + { + LoadPalette(sCaveTransitionPalette_White, 0x00, 0x20); + gTasks[taskId].func = Task_FlashTransition_Exit_4; + gTasks[taskId].data[2] = 8; + } +} + +static void Task_FlashTransition_Exit_4(u8 taskId) +{ + if (gTasks[taskId].data[2] != 0) + gTasks[taskId].data[2]--; + else + SetMainCallback2(gMain.savedCallback); +} + +static void FlashTransition_Enter(void) +{ + CreateTask(Task_FlashTransition_Enter_0, 0); +} + +static void Task_FlashTransition_Enter_0(u8 taskId) +{ + gTasks[taskId].func = Task_FlashTransition_Enter_1; +} + +static void Task_FlashTransition_Enter_1(u8 taskId) +{ + SetGpuReg(REG_OFFSET_DISPCNT, 0); + LZ77UnCompVram(sCaveTransitionTiles, (void *)BG_CHAR_ADDR(3)); + LZ77UnCompVram(sCaveTransitionTilemap, (void *)BG_SCREEN_ADDR(31)); + SetGpuReg(REG_OFFSET_BLDCNT, 0); + SetGpuReg(REG_OFFSET_BLDALPHA, 0); + SetGpuReg(REG_OFFSET_BLDY, 0); + SetGpuReg(REG_OFFSET_BG0CNT, BGCNT_PRIORITY(0) | BGCNT_CHARBASE(3) | BGCNT_SCREENBASE(31)); + SetGpuReg(REG_OFFSET_DISPCNT, DISPCNT_MODE_0 | DISPCNT_OBJ_1D_MAP | DISPCNT_BG0_ON | DISPCNT_OBJ_ON); + LoadPalette(sCaveTransitionPalette_White, 0xE0, 0x20); + LoadPalette(sCaveTransitionPalette_Black, 0, 0x20); + gTasks[taskId].func = Task_FlashTransition_Enter_2; + gTasks[taskId].data[0] = 16; + gTasks[taskId].data[1] = 0; + gTasks[taskId].data[2] = 0; +} + +static void Task_FlashTransition_Enter_2(u8 taskId) +{ + u16 r4; + r4 = gTasks[taskId].data[2]; + if (r4 < 16) + { + gTasks[taskId].data[2]++; + gTasks[taskId].data[2]++; + LoadPalette(&sCaveTransitionPalette_Gradient[16 - (r4 + 1)], 0xE0, 2 * (r4 + 1)); + } + else + { + SetGpuReg(REG_OFFSET_BLDALPHA, (16 << 8) + 16); + SetGpuReg(REG_OFFSET_BLDCNT, BLDCNT_TGT1_BG0 | BLDCNT_EFFECT_BLEND | BLDCNT_TGT2_BG1 | BLDCNT_TGT2_BG2 | BLDCNT_TGT2_BG3 | BLDCNT_TGT2_OBJ | BLDCNT_TGT2_BD); + gTasks[taskId].func = Task_FlashTransition_Enter_3; + } +} + +static void Task_FlashTransition_Enter_3(u8 taskId) +{ + u16 r4 = 16 - gTasks[taskId].data[1]; + SetGpuReg(REG_OFFSET_BLDALPHA, (16 << 8) + r4); + if (r4 != 0) + { + gTasks[taskId].data[1]++; + } + else + { + LoadPalette(sCaveTransitionPalette_Black, 0x00, 0x20); + SetMainCallback2(gMain.savedCallback); + } +} + +static void RunMapPreviewScreen(u8 mapSecId) +{ + u8 taskId = CreateTask(Task_MapPreviewScreen_0, 0); + gTasks[taskId].data[3] = mapSecId; +} + +static void Task_MapPreviewScreen_0(u8 taskId) +{ + s16 *data = gTasks[taskId].data; + switch (data[0]) + { + case 0: + SetWordTaskArg(taskId, 5, (uintptr_t)gMain.vblankCallback); + SetVBlankCallback(NULL); + MapPreview_InitBgs(); + MapPreview_LoadGfx(data[3]); + BlendPalettes(0xFFFFFFFF, 0x10, RGB_BLACK); + data[0]++; + break; + case 1: + if (!MapPreview_IsGfxLoadFinished()) + { + data[4] = MapPreview_CreateMapNameWindow(data[3]); + CopyWindowToVram(data[4], 3); + data[0]++; + } + break; + case 2: + if (!IsDma3ManagerBusyWithBgCopy()) + { + BeginNormalPaletteFade(0xFFFFFFFF, -1, 16, 0, RGB_BLACK); + SetVBlankCallback((IntrCallback)GetWordTaskArg(taskId, 5)); + data[0]++; + } + break; + case 3: + if (!UpdatePaletteFade()) + { + data[2] = MapPreview_GetDuration(data[3]); + data[0]++; + } + break; + case 4: + data[1]++; + if (data[1] > data[2] || JOY_HELD(B_BUTTON)) + { + BeginNormalPaletteFade(0xFFFFFFFF, -2, 0, 16, RGB_WHITE); + data[0]++; + } + break; + case 5: + if (!UpdatePaletteFade()) + { + int i; + for (i = 0; i < 16; i++) + { + data[i] = 0; + } + MapPreview_Unload(data[4]); + gTasks[taskId].func = Task_FlashTransition_Enter_1; + } + break; + } +} diff --git a/src/item_use.c b/src/item_use.c index ec8155eb1..6f81ee0e3 100644 --- a/src/item_use.c +++ b/src/item_use.c @@ -41,6 +41,7 @@ #include "constants/maps.h" #include "constants/moves.h" #include "constants/songs.h" +#include "constants/field_weather.h" static EWRAM_DATA void (*sItemUseOnFieldCB)(u8 taskId) = NULL; @@ -456,7 +457,7 @@ void FieldUseFunc_TmCase(u8 taskId) else { StopPokemonLeagueLightingEffectTask(); - FadeScreen(1, 0); + FadeScreen(FADE_TO_BLACK, 0); gTasks[taskId].func = Task_InitTMCaseFromField; } } @@ -487,7 +488,7 @@ void FieldUseFunc_BerryPouch(u8 taskId) else { StopPokemonLeagueLightingEffectTask(); - FadeScreen(1, 0); + FadeScreen(FADE_TO_BLACK, 0); gTasks[taskId].func = Task_InitBerryPouchFromField; } } @@ -530,7 +531,7 @@ void FieldUseFunc_TeachyTv(u8 taskId) else { StopPokemonLeagueLightingEffectTask(); - FadeScreen(1, 0); + FadeScreen(FADE_TO_BLACK, 0); gTasks[taskId].func = Task_InitTeachyTvFromField; } } @@ -660,7 +661,7 @@ void FieldUseFunc_TownMap(u8 taskId) else { StopPokemonLeagueLightingEffectTask(); - FadeScreen(1, 0); + FadeScreen(FADE_TO_BLACK, 0); gTasks[taskId].func = sub_80A1CC0; } } @@ -692,7 +693,7 @@ void FieldUseFunc_FameChecker(u8 taskId) else { StopPokemonLeagueLightingEffectTask(); - FadeScreen(1, 0); + FadeScreen(FADE_TO_BLACK, 0); gTasks[taskId].func = sub_80A1D68; } } diff --git a/src/map_preview_screen.c b/src/map_preview_screen.c index b5c68acf9..cae25b986 100644 --- a/src/map_preview_screen.c +++ b/src/map_preview_screen.c @@ -16,10 +16,10 @@ #include "map_preview_screen.h" #include "constants/region_map.h" -static EWRAM_DATA bool8 gUnknown_203ABEC = FALSE; -static EWRAM_DATA bool8 gUnknown_203ABED = FALSE; +static EWRAM_DATA bool8 sHasVisitedMapBefore = FALSE; +static EWRAM_DATA bool8 sAllocedBg0TilemapBuffer = FALSE; -static void sub_80F83D0(u8 taskId); +static void Task_RunMapPreviewScreenForest(u8 taskId); static const u8 gViridianForestMapPreviewPalette[] = INCBIN_U8("data/map_preview/viridian_forest_pal.gbapal"); static const u8 gViridianForestMapPreviewTiles[] = INCBIN_U8("data/map_preview/viridian_forest_tiles.4bpp.lz"); @@ -88,7 +88,7 @@ static const u8 gAlteringCaveMapPreviewTilemap[] = INCBIN_U8("data/map_preview/a static const struct MapPreviewScreen sMapPreviewScreenData[MPS_COUNT] = { [MPS_VIRIDIAN_FOREST] = { .mapsec = MAPSEC_VIRIDIAN_FOREST, - .forceFirstTime = TRUE, + .type = MPS_TYPE_FOREST, .flagId = FLAG_WORLD_MAP_VIRIDIAN_FOREST, .tilesptr = gViridianForestMapPreviewTiles, .tilemapptr = gViridianForestMapPreviewTilemap, @@ -96,7 +96,7 @@ static const struct MapPreviewScreen sMapPreviewScreenData[MPS_COUNT] = { }, [MPS_MT_MOON] = { .mapsec = MAPSEC_MT_MOON, - .forceFirstTime = FALSE, + .type = MPS_TYPE_CAVE, .flagId = FLAG_WORLD_MAP_MT_MOON_1F, .tilesptr = gMtMoonMapPreviewTiles, .tilemapptr = gMtMoonMapPreviewTilemap, @@ -104,7 +104,7 @@ static const struct MapPreviewScreen sMapPreviewScreenData[MPS_COUNT] = { }, [MPS_DIGLETTS_CAVE] = { .mapsec = MAPSEC_DIGLETTS_CAVE, - .forceFirstTime = FALSE, + .type = MPS_TYPE_CAVE, .flagId = FLAG_WORLD_MAP_DIGLETTS_CAVE_B1F, .tilesptr = gDiglettsCaveMapPreviewTiles, .tilemapptr = gDiglettsCaveMapPreviewTilemap, @@ -112,7 +112,7 @@ static const struct MapPreviewScreen sMapPreviewScreenData[MPS_COUNT] = { }, [MPS_ROCK_TUNNEL] = { .mapsec = MAPSEC_ROCK_TUNNEL, - .forceFirstTime = FALSE, + .type = MPS_TYPE_CAVE, .flagId = FLAG_WORLD_MAP_ROCK_TUNNEL_1F, .tilesptr = gRockTunnelMapPreviewTiles, .tilemapptr = gRockTunnelMapPreviewTilemap, @@ -120,7 +120,7 @@ static const struct MapPreviewScreen sMapPreviewScreenData[MPS_COUNT] = { }, [MPS_POKEMON_TOWER] = { .mapsec = MAPSEC_POKEMON_TOWER, - .forceFirstTime = FALSE, + .type = MPS_TYPE_CAVE, .flagId = FLAG_WORLD_MAP_POKEMON_TOWER_1F, .tilesptr = gPokemonTowerMapPreviewTiles, .tilemapptr = gPokemonTowerMapPreviewTilemap, @@ -128,7 +128,7 @@ static const struct MapPreviewScreen sMapPreviewScreenData[MPS_COUNT] = { }, [MPS_SAFARI_ZONE] = { .mapsec = MAPSEC_KANTO_SAFARI_ZONE, - .forceFirstTime = TRUE, + .type = MPS_TYPE_FOREST, .flagId = FLAG_WORLD_MAP_SAFARI_ZONE_CENTER, .tilesptr = gKantoSafariZoneMapPreviewTiles, .tilemapptr = gKantoSafariZoneMapPreviewTilemap, @@ -136,7 +136,7 @@ static const struct MapPreviewScreen sMapPreviewScreenData[MPS_COUNT] = { }, [MPS_SEAFOAM_ISLANDS] = { .mapsec = MAPSEC_SEAFOAM_ISLANDS, - .forceFirstTime = FALSE, + .type = MPS_TYPE_CAVE, .flagId = FLAG_WORLD_MAP_SEAFOAM_ISLANDS_1F, .tilesptr = gSeafoamIslandsMapPreviewTiles, .tilemapptr = gSeafoamIslandsMapPreviewTilemap, @@ -144,7 +144,7 @@ static const struct MapPreviewScreen sMapPreviewScreenData[MPS_COUNT] = { }, [MPS_POKEMON_MANSION] = { .mapsec = MAPSEC_POKEMON_MANSION, - .forceFirstTime = TRUE, + .type = MPS_TYPE_FOREST, .flagId = FLAG_WORLD_MAP_POKEMON_MANSION_1F, .tilesptr = gPokemonMansionMapPreviewTiles, .tilemapptr = gPokemonMansionMapPreviewTilemap, @@ -152,7 +152,7 @@ static const struct MapPreviewScreen sMapPreviewScreenData[MPS_COUNT] = { }, [MPS_ROCKET_HIDEOUT] = { .mapsec = MAPSEC_ROCKET_HIDEOUT, - .forceFirstTime = TRUE, + .type = MPS_TYPE_FOREST, .flagId = FLAG_WORLD_MAP_ROCKET_HIDEOUT_B1F, .tilesptr = gRocketHideoutMapPreviewTiles, .tilemapptr = gRocketHideoutMapPreviewTilemap, @@ -160,7 +160,7 @@ static const struct MapPreviewScreen sMapPreviewScreenData[MPS_COUNT] = { }, [MPS_SILPH_CO] = { .mapsec = MAPSEC_SILPH_CO, - .forceFirstTime = FALSE, + .type = MPS_TYPE_CAVE, .flagId = FLAG_WORLD_MAP_SILPH_CO_1F, .tilesptr = gSilphCoMapPreviewTiles, .tilemapptr = gSilphCoMapPreviewTilemap, @@ -168,7 +168,7 @@ static const struct MapPreviewScreen sMapPreviewScreenData[MPS_COUNT] = { }, [MPS_VICTORY_ROAD] = { .mapsec = MAPSEC_KANTO_VICTORY_ROAD, - .forceFirstTime = FALSE, + .type = MPS_TYPE_CAVE, .flagId = FLAG_WORLD_MAP_VICTORY_ROAD_1F, .tilesptr = gKantoVictoryRoadMapPreviewTiles, .tilemapptr = gKantoVictoryRoadMapPreviewTilemap, @@ -176,7 +176,7 @@ static const struct MapPreviewScreen sMapPreviewScreenData[MPS_COUNT] = { }, [MPS_CERULEAN_CAVE] = { .mapsec = MAPSEC_CERULEAN_CAVE, - .forceFirstTime = FALSE, + .type = MPS_TYPE_CAVE, .flagId = FLAG_WORLD_MAP_CERULEAN_CAVE_1F, .tilesptr = gCeruleanCaveMapPreviewTiles, .tilemapptr = gCeruleanCaveMapPreviewTilemap, @@ -184,7 +184,7 @@ static const struct MapPreviewScreen sMapPreviewScreenData[MPS_COUNT] = { }, [MPS_POWER_PLANT] = { .mapsec = MAPSEC_POWER_PLANT, - .forceFirstTime = TRUE, + .type = MPS_TYPE_FOREST, .flagId = FLAG_WORLD_MAP_POWER_PLANT, .tilesptr = gPowerPlantMapPreviewTiles, .tilemapptr = gPowerPlantMapPreviewTilemap, @@ -192,7 +192,7 @@ static const struct MapPreviewScreen sMapPreviewScreenData[MPS_COUNT] = { }, [MPS_MT_EMBER] = { .mapsec = MAPSEC_MT_EMBER, - .forceFirstTime = FALSE, + .type = MPS_TYPE_CAVE, .flagId = FLAG_WORLD_MAP_MT_EMBER_EXTERIOR, .tilesptr = gMtEmberMapPreviewTiles, .tilemapptr = gMtEmberMapPreviewTilemap, @@ -200,7 +200,7 @@ static const struct MapPreviewScreen sMapPreviewScreenData[MPS_COUNT] = { }, [MPS_ROCKET_WAREHOUSE] = { .mapsec = MAPSEC_ROCKET_WAREHOUSE, - .forceFirstTime = TRUE, + .type = MPS_TYPE_FOREST, .flagId = FLAG_WORLD_MAP_THREE_ISLAND_BERRY_FOREST, .tilesptr = gRocketWarehouseMapPreviewTiles, .tilemapptr = gRocketWarehouseMapPreviewTilemap, @@ -208,7 +208,7 @@ static const struct MapPreviewScreen sMapPreviewScreenData[MPS_COUNT] = { }, [MPS_MONEAN_CHAMBER] = { .mapsec = MAPSEC_MONEAN_CHAMBER, - .forceFirstTime = FALSE, + .type = MPS_TYPE_CAVE, .flagId = FLAG_WORLD_MAP_SEVEN_ISLAND_TANOBY_RUINS_MONEAN_CHAMBER, .tilesptr = gMoneanChamberMapPreviewTiles, .tilemapptr = gMoneanChamberMapPreviewTilemap, @@ -216,7 +216,7 @@ static const struct MapPreviewScreen sMapPreviewScreenData[MPS_COUNT] = { }, [MPS_DOTTED_HOLE] = { .mapsec = MAPSEC_DOTTED_HOLE, - .forceFirstTime = FALSE, + .type = MPS_TYPE_CAVE, .flagId = FLAG_WORLD_MAP_SIX_ISLAND_DOTTED_HOLE_1F, .tilesptr = gDottedHoleMapPreviewTiles, .tilemapptr = gDottedHoleMapPreviewTilemap, @@ -224,7 +224,7 @@ static const struct MapPreviewScreen sMapPreviewScreenData[MPS_COUNT] = { }, [MPS_BERRY_FOREST] = { .mapsec = MAPSEC_BERRY_FOREST, - .forceFirstTime = TRUE, + .type = MPS_TYPE_FOREST, .flagId = FLAG_WORLD_MAP_THREE_ISLAND_BERRY_FOREST, .tilesptr = gBerryForestMapPreviewTiles, .tilemapptr = gBerryForestMapPreviewTilemap, @@ -232,7 +232,7 @@ static const struct MapPreviewScreen sMapPreviewScreenData[MPS_COUNT] = { }, [MPS_ICEFALL_CAVE] = { .mapsec = MAPSEC_ICEFALL_CAVE, - .forceFirstTime = FALSE, + .type = MPS_TYPE_CAVE, .flagId = FLAG_WORLD_MAP_FOUR_ISLAND_ICEFALL_CAVE_ENTRANCE, .tilesptr = gIcefallCaveMapPreviewTiles, .tilemapptr = gIcefallCaveMapPreviewTilemap, @@ -240,7 +240,7 @@ static const struct MapPreviewScreen sMapPreviewScreenData[MPS_COUNT] = { }, [MPS_LOST_CAVE] = { .mapsec = MAPSEC_LOST_CAVE, - .forceFirstTime = FALSE, + .type = MPS_TYPE_CAVE, .flagId = FLAG_WORLD_MAP_FIVE_ISLAND_LOST_CAVE_ENTRANCE, .tilesptr = gLostCaveMapPreviewTiles, .tilemapptr = gLostCaveMapPreviewTilemap, @@ -248,7 +248,7 @@ static const struct MapPreviewScreen sMapPreviewScreenData[MPS_COUNT] = { }, [MPS_ALTERING_CAVE] = { .mapsec = MAPSEC_ALTERING_CAVE, - .forceFirstTime = FALSE, + .type = MPS_TYPE_CAVE, .flagId = FLAG_WORLD_MAP_SIX_ISLAND_ALTERING_CAVE, .tilesptr = gAlteringCaveMapPreviewTiles, .tilemapptr = gAlteringCaveMapPreviewTilemap, @@ -256,7 +256,7 @@ static const struct MapPreviewScreen sMapPreviewScreenData[MPS_COUNT] = { }, [MPS_PATTERN_BUSH] = { .mapsec = MAPSEC_PATTERN_BUSH, - .forceFirstTime = TRUE, + .type = MPS_TYPE_FOREST, .flagId = FLAG_WORLD_MAP_SIX_ISLAND_PATTERN_BUSH, .tilesptr = gViridianForestMapPreviewTiles, .tilemapptr = gViridianForestMapPreviewTilemap, @@ -264,7 +264,7 @@ static const struct MapPreviewScreen sMapPreviewScreenData[MPS_COUNT] = { }, [MPS_LIPTOO_CHAMBER] = { .mapsec = MAPSEC_LIPTOO_CHAMBER, - .forceFirstTime = FALSE, + .type = MPS_TYPE_CAVE, .flagId = FLAG_WORLD_MAP_SEVEN_ISLAND_TANOBY_RUINS_MONEAN_CHAMBER, .tilesptr = gMoneanChamberMapPreviewTiles, .tilemapptr = gMoneanChamberMapPreviewTilemap, @@ -272,7 +272,7 @@ static const struct MapPreviewScreen sMapPreviewScreenData[MPS_COUNT] = { }, [MPS_WEEPTH_CHAMBER] = { .mapsec = MAPSEC_WEEPTH_CHAMBER, - .forceFirstTime = FALSE, + .type = MPS_TYPE_CAVE, .flagId = FLAG_WORLD_MAP_SEVEN_ISLAND_TANOBY_RUINS_MONEAN_CHAMBER, .tilesptr = gMoneanChamberMapPreviewTiles, .tilemapptr = gMoneanChamberMapPreviewTilemap, @@ -280,7 +280,7 @@ static const struct MapPreviewScreen sMapPreviewScreenData[MPS_COUNT] = { }, [MPS_TDILFORD_CHAMBER] = { .mapsec = MAPSEC_DILFORD_CHAMBER, - .forceFirstTime = FALSE, + .type = MPS_TYPE_CAVE, .flagId = FLAG_WORLD_MAP_SEVEN_ISLAND_TANOBY_RUINS_MONEAN_CHAMBER, .tilesptr = gMoneanChamberMapPreviewTiles, .tilemapptr = gMoneanChamberMapPreviewTilemap, @@ -288,7 +288,7 @@ static const struct MapPreviewScreen sMapPreviewScreenData[MPS_COUNT] = { }, [MPS_SCUFIB_CHAMBER] = { .mapsec = MAPSEC_SCUFIB_CHAMBER, - .forceFirstTime = FALSE, + .type = MPS_TYPE_CAVE, .flagId = FLAG_WORLD_MAP_SEVEN_ISLAND_TANOBY_RUINS_MONEAN_CHAMBER, .tilesptr = gMoneanChamberMapPreviewTiles, .tilemapptr = gMoneanChamberMapPreviewTilemap, @@ -296,7 +296,7 @@ static const struct MapPreviewScreen sMapPreviewScreenData[MPS_COUNT] = { }, [MPS_RIXY_CHAMBER] = { .mapsec = MAPSEC_RIXY_CHAMBER, - .forceFirstTime = FALSE, + .type = MPS_TYPE_CAVE, .flagId = FLAG_WORLD_MAP_SEVEN_ISLAND_TANOBY_RUINS_MONEAN_CHAMBER, .tilesptr = gMoneanChamberMapPreviewTiles, .tilemapptr = gMoneanChamberMapPreviewTilemap, @@ -304,7 +304,7 @@ static const struct MapPreviewScreen sMapPreviewScreenData[MPS_COUNT] = { }, [MPS_VIAPOIS_CHAMBER] = { .mapsec = MAPSEC_VIAPOIS_CHAMBER, - .forceFirstTime = FALSE, + .type = MPS_TYPE_CAVE, .flagId = FLAG_WORLD_MAP_SEVEN_ISLAND_TANOBY_RUINS_MONEAN_CHAMBER, .tilesptr = gMoneanChamberMapPreviewTiles, .tilemapptr = gMoneanChamberMapPreviewTilemap, @@ -328,7 +328,7 @@ static const struct BgTemplate sMapPreviewBgTemplate[1] = { } }; -static u8 sub_80F80E4(u8 mapsec) +static u8 GetMapPreviewScreenIdx(u8 mapsec) { s32 i; @@ -342,20 +342,20 @@ static u8 sub_80F80E4(u8 mapsec) return MPS_COUNT; } -bool8 sub_80F8110(u8 mapsec, u8 forceFirstTime) +bool8 MapHasPreviewScreen(u8 mapsec, u8 type) { u8 idx; - idx = sub_80F80E4(mapsec); + idx = GetMapPreviewScreenIdx(mapsec); if (idx != MPS_COUNT) { - if (forceFirstTime == 2) + if (type == MPS_TYPE_ANY) { return TRUE; } else { - return sMapPreviewScreenData[idx].forceFirstTime == forceFirstTime ? TRUE : FALSE; + return sMapPreviewScreenData[idx].type == type ? TRUE : FALSE; } } else @@ -364,29 +364,29 @@ bool8 sub_80F8110(u8 mapsec, u8 forceFirstTime) } } -bool8 sub_80F8154(u8 mapsec, u8 forceFirstTime) +bool32 MapHasPreviewScreen_HandleQLState2(u8 mapsec, u8 type) { - if (gQuestLogState == 2) + if (gQuestLogState == QL_STATE_2) { return FALSE; } else { - return sub_80F8110(mapsec, forceFirstTime); + return MapHasPreviewScreen(mapsec, type); } } -void sub_80F8180(void) +void MapPreview_InitBgs(void) { InitBgsFromTemplates(0, sMapPreviewBgTemplate, NELEMS(sMapPreviewBgTemplate)); ShowBg(0); } -void sub_80F819C(u8 mapsec) +void MapPreview_LoadGfx(u8 mapsec) { u8 idx; - idx = sub_80F80E4(mapsec); + idx = GetMapPreviewScreenIdx(mapsec); if (idx != MPS_COUNT) { ResetTempTileDataBuffers(); @@ -395,55 +395,55 @@ void sub_80F819C(u8 mapsec) if (GetBgTilemapBuffer(0) == NULL) { SetBgTilemapBuffer(0, Alloc(BG_SCREEN_SIZE)); - gUnknown_203ABED = TRUE; + sAllocedBg0TilemapBuffer = TRUE; } else { - gUnknown_203ABED = FALSE; + sAllocedBg0TilemapBuffer = FALSE; } CopyToBgTilemapBuffer(0, sMapPreviewScreenData[idx].tilemapptr, 0, 0x000); CopyBgTilemapBufferToVram(0); } } -void sub_80F8234(s32 windowId) +void MapPreview_Unload(s32 windowId) { RemoveWindow(windowId); - if (gUnknown_203ABED) + if (sAllocedBg0TilemapBuffer) { Free(GetBgTilemapBuffer(0)); } } -bool32 sub_80F8258(void) +bool32 MapPreview_IsGfxLoadFinished(void) { return FreeTempTileDataBuffersIfPossible(); } -void sub_80F8268(u8 mapsec) +void MapPreview_StartForestTransition(u8 mapsec) { u8 taskId; - taskId = CreateTask(sub_80F83D0, 0); + taskId = CreateTask(Task_RunMapPreviewScreenForest, 0); gTasks[taskId].data[2] = GetBgAttribute(0, BG_ATTR_PRIORITY); gTasks[taskId].data[4] = GetGpuReg(REG_OFFSET_BLDCNT); gTasks[taskId].data[5] = GetGpuReg(REG_OFFSET_BLDALPHA); gTasks[taskId].data[3] = GetGpuReg(REG_OFFSET_DISPCNT); gTasks[taskId].data[6] = GetGpuReg(REG_OFFSET_WININ); gTasks[taskId].data[7] = GetGpuReg(REG_OFFSET_WINOUT); - gTasks[taskId].data[10] = sub_80F856C(mapsec); + gTasks[taskId].data[10] = MapPreview_GetDuration(mapsec); gTasks[taskId].data[8] = 16; gTasks[taskId].data[9] = 0; SetBgAttribute(0, BG_ATTR_PRIORITY, 0); SetGpuReg(REG_OFFSET_BLDCNT, BLDCNT_TGT1_BG0 | BLDCNT_EFFECT_BLEND | BLDCNT_TGT2_BG1 | BLDCNT_TGT2_BG2 | BLDCNT_TGT2_BG3 | BLDCNT_TGT2_OBJ | BLDCNT_TGT2_BD); SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(16, 0)); - SetGpuRegBits(REG_OFFSET_WININ, 0x2020); - SetGpuRegBits(REG_OFFSET_WINOUT, 0x0020); - gTasks[taskId].data[11] = sub_80F8318(mapsec); + SetGpuRegBits(REG_OFFSET_WININ, WININ_WIN0_CLR | WININ_WIN1_CLR); + SetGpuRegBits(REG_OFFSET_WINOUT, WINOUT_WIN01_CLR); + gTasks[taskId].data[11] = MapPreview_CreateMapNameWindow(mapsec); ScriptContext2_Enable(); } -u16 sub_80F8318(u8 mapsec) +u16 MapPreview_CreateMapNameWindow(u8 mapsec) { u16 windowId; u32 xctr; @@ -452,18 +452,18 @@ u16 sub_80F8318(u8 mapsec) windowId = AddWindow(&sMapNameWindow); FillWindowPixelBuffer(windowId, PIXEL_FILL(1)); PutWindowTilemap(windowId); - color[0] = 1; // Access violation - color[1] = 4; // Access violation - color[2] = 3; // Access violation + color[0] = TEXT_COLOR_WHITE; // Access violation + color[1] = TEXT_COLOR_RED; // Access violation + color[2] = TEXT_COLOR_LIGHT_GREY; // Access violation GetMapName(gStringVar4, mapsec, 0); xctr = 104 - GetStringWidth(2, gStringVar4, 0); AddTextPrinterParameterized4(windowId, 2, xctr / 2, 2, 0, 0, color/* Access violation */, -1, gStringVar4); return windowId; } -bool32 sub_80F83B0(void) +bool32 ForestMapPreviewScreenIsRunning(void) { - if (FuncIsActiveTask(sub_80F83D0) == TRUE) + if (FuncIsActiveTask(Task_RunMapPreviewScreenForest) == TRUE) { return FALSE; } @@ -473,7 +473,7 @@ bool32 sub_80F83B0(void) } } -static void sub_80F83D0(u8 taskId) +static void Task_RunMapPreviewScreenForest(u8 taskId) { s16 * data; @@ -481,7 +481,7 @@ static void sub_80F83D0(u8 taskId) switch (data[0]) { case 0: - if (!sub_80F8258() && !IsDma3ManagerBusyWithBgCopy()) + if (!MapPreview_IsGfxLoadFinished() && !IsDma3ManagerBusyWithBgCopy()) { CopyWindowToVram(data[11], 3); data[0]++; @@ -539,7 +539,7 @@ static void sub_80F83D0(u8 taskId) case 5: if (!IsDma3ManagerBusyWithBgCopy()) { - sub_80F8234(data[11]); + MapPreview_Unload(data[11]); SetBgAttribute(0, BG_ATTR_PRIORITY, data[2]); SetGpuReg(REG_OFFSET_DISPCNT, data[3]); SetGpuReg(REG_OFFSET_BLDCNT, data[4]); @@ -556,7 +556,7 @@ const struct MapPreviewScreen * GetDungeonMapPreviewScreenInfo(u8 mapsec) { u8 idx; - idx = sub_80F80E4(mapsec); + idx = GetMapPreviewScreenIdx(mapsec); if (idx == MPS_COUNT) { return NULL; @@ -567,18 +567,18 @@ const struct MapPreviewScreen * GetDungeonMapPreviewScreenInfo(u8 mapsec) } } -u16 sub_80F856C(u8 mapsec) +u16 MapPreview_GetDuration(u8 mapsec) { u8 idx; u16 flagId; - idx = sub_80F80E4(mapsec); + idx = GetMapPreviewScreenIdx(mapsec); if (idx == MPS_COUNT) { return 0; } flagId = sMapPreviewScreenData[idx].flagId; - if (!sMapPreviewScreenData[idx].forceFirstTime) + if (sMapPreviewScreenData[idx].type == MPS_TYPE_CAVE) { if (!FlagGet(flagId)) { @@ -590,7 +590,7 @@ u16 sub_80F856C(u8 mapsec) } } else { - if (gUnknown_203ABEC) + if (sHasVisitedMapBefore) { return 120; } @@ -601,15 +601,15 @@ u16 sub_80F856C(u8 mapsec) } } -void sub_80F85BC(u16 flagId) +void MapPreview_SetFlag(u16 flagId) { if (!FlagGet(flagId)) { - gUnknown_203ABEC = TRUE; + sHasVisitedMapBefore = TRUE; } else { - gUnknown_203ABEC = FALSE; + sHasVisitedMapBefore = FALSE; } FlagSet(flagId); } diff --git a/src/player_pc.c b/src/player_pc.c index 62a899e39..736c67a51 100644 --- a/src/player_pc.c +++ b/src/player_pc.c @@ -23,6 +23,7 @@ #include "party_menu.h" #include "constants/items.h" #include "constants/songs.h" +#include "constants/field_weather.h" #define PC_ITEM_ID 0 #define PC_QUANTITY 1 @@ -331,7 +332,7 @@ static void Task_DepositItem_WaitFadeAndGoToBag(u8 taskId) static void Task_PlayerPcDepositItem(u8 taskId) { gTasks[taskId].func = Task_DepositItem_WaitFadeAndGoToBag; - FadeScreen(1, 0); + FadeScreen(FADE_TO_BLACK, 0); } static void Task_ReturnToItemStorageSubmenu(u8 taskId) @@ -394,7 +395,7 @@ static void Task_WithdrawItemBeginFade(u8 taskId) { gTasks[taskId].func = Task_WithdrawItem_WaitFadeAndGoToItemStorage; ItemPc_SetInitializedFlag(0); - FadeScreen(1, 0); + FadeScreen(FADE_TO_BLACK, 0); } static void Task_PlayerPcCancel(u8 taskId) @@ -556,7 +557,7 @@ static void Task_MailSubmenuHandleInput(u8 taskId) static void Task_PlayerPcReadMail(u8 taskId) { - FadeScreen(1, 0); + FadeScreen(FADE_TO_BLACK, 0); gTasks[taskId].func = Task_WaitFadeAndReadSelectedMail; } @@ -663,7 +664,7 @@ static void Task_PlayerPcGiveMailToMon(u8 taskId) } else { - FadeScreen(1, 0); + FadeScreen(FADE_TO_BLACK, 0); gTasks[taskId].func = Task_WaitFadeAndGoToPartyMenu; } } diff --git a/src/quest_log.c b/src/quest_log.c index 5d260b58f..91c07223e 100644 --- a/src/quest_log.c +++ b/src/quest_log.c @@ -42,6 +42,7 @@ #include "constants/trainer_classes.h" #include "constants/species.h" #include "constants/items.h" +#include "constants/field_weather.h" u8 gUnknown_3005E88; @@ -152,7 +153,7 @@ static u8 sub_8111BD4(void); static void DrawQuestLogSceneDescription(void); static void sub_8111D90(u8); static void QuestLog_CloseTextWindow(void); -static void QuestLog_SkipToEndOfPlayback(s8); +static void QuestLog_SkipToEndOfPlayback(s8 delay); static void QuestLog_WaitFadeAndCancelPlayback(void); static bool8 sub_8111F60(void); static void sub_8111F8C(u8); @@ -920,7 +921,7 @@ static void sub_811175C(u8 sceneNum, struct UnkStruct_203AE98 * a1) static void sub_81118F4(s8 a0) { - FadeScreen(1, a0); + FadeScreen(FADE_TO_BLACK, a0); sQuestLogCB = QuestLog_AdvancePlayhead; } @@ -1178,9 +1179,9 @@ static void QuestLog_CloseTextWindow(void) CopyWindowToVram(gUnknown_203ADFE[1], 1); } -static void QuestLog_SkipToEndOfPlayback(s8 a0) +static void QuestLog_SkipToEndOfPlayback(s8 delay) { - FadeScreen(1, a0); + FadeScreen(FADE_TO_BLACK, delay); sQuestLogCB = QuestLog_WaitFadeAndCancelPlayback; } @@ -4294,7 +4295,7 @@ static const u16 sQuestLogWorldMapFlags[] = FLAG_WORLD_MAP_SIX_ISLAND }; -void sub_8115748(u16 worldMapFlag) +void QuestLog_RecordEnteredMap(u16 worldMapFlag) { s32 i; diff --git a/src/scrcmd.c b/src/scrcmd.c index b4605e9d5..7eaa98c76 100644 --- a/src/scrcmd.c +++ b/src/scrcmd.c @@ -598,8 +598,8 @@ bool8 ScrCmd_comparestattoword(struct ScriptContext * ctx) bool8 ScrCmd_setworldmapflag(struct ScriptContext * ctx) { u16 value = ScriptReadHalfword(ctx); - sub_8115748(value); - sub_80F85BC(value); + QuestLog_RecordEnteredMap(value); + MapPreview_SetFlag(value); return FALSE; } diff --git a/src/shop.c b/src/shop.c index 5cc9ab3f0..ddeaf6a68 100644 --- a/src/shop.c +++ b/src/shop.c @@ -36,6 +36,7 @@ #include "constants/songs.h" #include "constants/items.h" #include "constants/game_stat.h" +#include "constants/field_weather.h" #define tItemCount data[1] #define tItemId data[5] @@ -292,14 +293,14 @@ static void Task_ShopMenu(u8 taskId) static void Task_HandleShopMenuBuy(u8 taskId) { SetWordTaskArg(taskId, 0xE, (u32)CB2_InitBuyMenu); - FadeScreen(1, 0); + FadeScreen(FADE_TO_BLACK, 0); gTasks[taskId].func = Task_GoToBuyOrSellMenu; } static void Task_HandleShopMenuSell(u8 taskId) { SetWordTaskArg(taskId, 0xE, (u32)CB2_GoToSellMenu); - FadeScreen(1, 0); + FadeScreen(FADE_TO_BLACK, 0); gTasks[taskId].func = Task_GoToBuyOrSellMenu; } diff --git a/src/start_menu.c b/src/start_menu.c index cf8be2de9..867e469e0 100644 --- a/src/start_menu.c +++ b/src/start_menu.c @@ -39,6 +39,7 @@ #include "help_system.h" #include "constants/songs.h" #include "constants/flags.h" +#include "constants/field_weather.h" enum StartMenuOption { @@ -446,7 +447,7 @@ static void StartMenu_FadeScreenIfLeavingOverworld(void) && sStartMenuCallback != StartMenuSafariZoneRetireCallback) { StopPokemonLeagueLightingEffectTask(); - FadeScreen(1, 0); + FadeScreen(FADE_TO_BLACK, 0); } } |