From 779d754992356e7e276ddbb3ba74d9abf498a544 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Sat, 24 Aug 2019 22:25:20 -0400 Subject: [PATCH] Decompile map_preview_screen --- asm/map_name_popup.s | 2 +- asm/map_preview_screen.s | 657 ------------------ asm/region_map.s | 10 +- data/data_83FECCC.s | 14 +- data/map_preview/altering_cave_pal.pal | 35 + data/map_preview/altering_cave_tilemap.bin | Bin 0 -> 976 bytes data/map_preview/altering_cave_tiles.png | Bin 0 -> 4476 bytes data/map_preview/berry_forest_pal.pal | 35 + data/map_preview/berry_forest_tilemap.bin | Bin 0 -> 992 bytes data/map_preview/berry_forest_tiles.png | Bin 0 -> 5875 bytes data/map_preview/cerulean_cave_pal.pal | 35 + data/map_preview/cerulean_cave_tilemap.bin | Bin 0 -> 1020 bytes data/map_preview/cerulean_cave_tiles.png | Bin 0 -> 4533 bytes data/map_preview/digletts_cave_pal.pal | 35 + data/map_preview/digletts_cave_tilemap.bin | Bin 0 -> 996 bytes data/map_preview/digletts_cave_tiles.png | Bin 0 -> 5235 bytes data/map_preview/dotted_hole_pal.pal | 35 + data/map_preview/dotted_hole_tilemap.bin | Bin 0 -> 836 bytes data/map_preview/dotted_hole_tiles.png | Bin 0 -> 4125 bytes data/map_preview/icefall_cave_pal.pal | 35 + data/map_preview/icefall_cave_tilemap.bin | Bin 0 -> 992 bytes data/map_preview/icefall_cave_tiles.png | Bin 0 -> 5268 bytes data/map_preview/kanto_safari_zone_pal.pal | 35 + .../map_preview/kanto_safari_zone_tilemap.bin | Bin 0 -> 864 bytes data/map_preview/kanto_safari_zone_tiles.png | Bin 0 -> 4931 bytes data/map_preview/kanto_victory_road_pal.pal | 35 + .../kanto_victory_road_tilemap.bin | Bin 0 -> 956 bytes data/map_preview/kanto_victory_road_tiles.png | Bin 0 -> 5237 bytes data/map_preview/lost_cave_pal.pal | 35 + data/map_preview/lost_cave_tilemap.bin | Bin 0 -> 1000 bytes data/map_preview/lost_cave_tiles.png | Bin 0 -> 4428 bytes data/map_preview/monean_chamber_pal.pal | 35 + data/map_preview/monean_chamber_tilemap.bin | Bin 0 -> 860 bytes data/map_preview/monean_chamber_tiles.png | Bin 0 -> 4809 bytes data/map_preview/mt_ember_pal.pal | 35 + data/map_preview/mt_ember_tilemap.bin | Bin 0 -> 908 bytes data/map_preview/mt_ember_tiles.png | Bin 0 -> 5160 bytes data/map_preview/mt_moon_pal.pal | 35 + data/map_preview/mt_moon_tilemap.bin | Bin 0 -> 920 bytes data/map_preview/mt_moon_tiles.png | Bin 0 -> 5790 bytes data/map_preview/pokemon_mansion_pal.pal | 35 + data/map_preview/pokemon_mansion_tilemap.bin | Bin 0 -> 988 bytes data/map_preview/pokemon_mansion_tiles.png | Bin 0 -> 5595 bytes data/map_preview/pokemon_tower_pal.pal | 35 + data/map_preview/pokemon_tower_tilemap.bin | Bin 0 -> 788 bytes data/map_preview/pokemon_tower_tiles.png | Bin 0 -> 3379 bytes data/map_preview/power_plant_pal.pal | 35 + data/map_preview/power_plant_tilemap.bin | Bin 0 -> 948 bytes data/map_preview/power_plant_tiles.png | Bin 0 -> 3923 bytes data/map_preview/rock_tunnel_pal.pal | 35 + data/map_preview/rock_tunnel_tilemap.bin | Bin 0 -> 1008 bytes data/map_preview/rock_tunnel_tiles.png | Bin 0 -> 5019 bytes data/map_preview/rocket_hideout_pal.pal | 35 + data/map_preview/rocket_hideout_tilemap.bin | Bin 0 -> 604 bytes data/map_preview/rocket_hideout_tiles.png | Bin 0 -> 1764 bytes data/map_preview/rocket_warehouse_pal.pal | 35 + data/map_preview/rocket_warehouse_tilemap.bin | Bin 0 -> 700 bytes data/map_preview/rocket_warehouse_tiles.png | Bin 0 -> 2068 bytes data/map_preview/seafoam_islands_pal.pal | 35 + data/map_preview/seafoam_islands_tilemap.bin | Bin 0 -> 1016 bytes data/map_preview/seafoam_islands_tiles.png | Bin 0 -> 4997 bytes data/map_preview/silph_co_pal.pal | 35 + data/map_preview/silph_co_tilemap.bin | Bin 0 -> 928 bytes data/map_preview/silph_co_tiles.png | Bin 0 -> 3980 bytes data/map_preview/viridian_forest_pal.pal | 35 + data/map_preview/viridian_forest_tilemap.bin | Bin 0 -> 984 bytes data/map_preview/viridian_forest_tiles.png | Bin 0 -> 5543 bytes include/bg.h | 14 + include/map_preview_screen.h | 45 ++ ld_script.txt | 4 +- map_preview_screen.ddump | 11 + src/map_preview_screen.c | 588 ++++++++++++++++ sym_ewram.txt | 8 +- 73 files changed, 1409 insertions(+), 679 deletions(-) delete mode 100644 asm/map_preview_screen.s create mode 100644 data/map_preview/altering_cave_pal.pal create mode 100644 data/map_preview/altering_cave_tilemap.bin create mode 100644 data/map_preview/altering_cave_tiles.png create mode 100644 data/map_preview/berry_forest_pal.pal create mode 100644 data/map_preview/berry_forest_tilemap.bin create mode 100644 data/map_preview/berry_forest_tiles.png create mode 100644 data/map_preview/cerulean_cave_pal.pal create mode 100644 data/map_preview/cerulean_cave_tilemap.bin create mode 100644 data/map_preview/cerulean_cave_tiles.png create mode 100644 data/map_preview/digletts_cave_pal.pal create mode 100644 data/map_preview/digletts_cave_tilemap.bin create mode 100644 data/map_preview/digletts_cave_tiles.png create mode 100644 data/map_preview/dotted_hole_pal.pal create mode 100644 data/map_preview/dotted_hole_tilemap.bin create mode 100644 data/map_preview/dotted_hole_tiles.png create mode 100644 data/map_preview/icefall_cave_pal.pal create mode 100644 data/map_preview/icefall_cave_tilemap.bin create mode 100644 data/map_preview/icefall_cave_tiles.png create mode 100644 data/map_preview/kanto_safari_zone_pal.pal create mode 100644 data/map_preview/kanto_safari_zone_tilemap.bin create mode 100644 data/map_preview/kanto_safari_zone_tiles.png create mode 100644 data/map_preview/kanto_victory_road_pal.pal create mode 100644 data/map_preview/kanto_victory_road_tilemap.bin create mode 100644 data/map_preview/kanto_victory_road_tiles.png create mode 100644 data/map_preview/lost_cave_pal.pal create mode 100644 data/map_preview/lost_cave_tilemap.bin create mode 100644 data/map_preview/lost_cave_tiles.png create mode 100644 data/map_preview/monean_chamber_pal.pal create mode 100644 data/map_preview/monean_chamber_tilemap.bin create mode 100644 data/map_preview/monean_chamber_tiles.png create mode 100644 data/map_preview/mt_ember_pal.pal create mode 100644 data/map_preview/mt_ember_tilemap.bin create mode 100644 data/map_preview/mt_ember_tiles.png create mode 100644 data/map_preview/mt_moon_pal.pal create mode 100644 data/map_preview/mt_moon_tilemap.bin create mode 100644 data/map_preview/mt_moon_tiles.png create mode 100644 data/map_preview/pokemon_mansion_pal.pal create mode 100644 data/map_preview/pokemon_mansion_tilemap.bin create mode 100644 data/map_preview/pokemon_mansion_tiles.png create mode 100644 data/map_preview/pokemon_tower_pal.pal create mode 100644 data/map_preview/pokemon_tower_tilemap.bin create mode 100644 data/map_preview/pokemon_tower_tiles.png create mode 100644 data/map_preview/power_plant_pal.pal create mode 100644 data/map_preview/power_plant_tilemap.bin create mode 100644 data/map_preview/power_plant_tiles.png create mode 100644 data/map_preview/rock_tunnel_pal.pal create mode 100644 data/map_preview/rock_tunnel_tilemap.bin create mode 100644 data/map_preview/rock_tunnel_tiles.png create mode 100644 data/map_preview/rocket_hideout_pal.pal create mode 100644 data/map_preview/rocket_hideout_tilemap.bin create mode 100644 data/map_preview/rocket_hideout_tiles.png create mode 100644 data/map_preview/rocket_warehouse_pal.pal create mode 100644 data/map_preview/rocket_warehouse_tilemap.bin create mode 100644 data/map_preview/rocket_warehouse_tiles.png create mode 100644 data/map_preview/seafoam_islands_pal.pal create mode 100644 data/map_preview/seafoam_islands_tilemap.bin create mode 100644 data/map_preview/seafoam_islands_tiles.png create mode 100644 data/map_preview/silph_co_pal.pal create mode 100644 data/map_preview/silph_co_tilemap.bin create mode 100644 data/map_preview/silph_co_tiles.png create mode 100644 data/map_preview/viridian_forest_pal.pal create mode 100644 data/map_preview/viridian_forest_tilemap.bin create mode 100644 data/map_preview/viridian_forest_tiles.png create mode 100644 map_preview_screen.ddump create mode 100644 src/map_preview_screen.c diff --git a/asm/map_name_popup.s b/asm/map_name_popup.s index 8df50601a..ba64bdbe8 100644 --- a/asm/map_name_popup.s +++ b/asm/map_name_popup.s @@ -388,7 +388,7 @@ sub_8098400: @ 8098400 ldrb r1, [r4, 0x14] add r0, sp, 0xC movs r2, 0 - bl sub_80C4D78 + bl GetMapName adds r2, r0, 0 movs r0, 0x1A ldrsb r0, [r4, r0] diff --git a/asm/map_preview_screen.s b/asm/map_preview_screen.s deleted file mode 100644 index 900b36d9c..000000000 --- a/asm/map_preview_screen.s +++ /dev/null @@ -1,657 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .syntax unified - - .text - - thumb_func_start sub_80F80E4 -sub_80F80E4: @ 80F80E4 - push {lr} - lsls r0, 24 - lsrs r3, r0, 24 - movs r1, 0 - ldr r2, _080F80FC @ =gUnknown_843E9E8 -_080F80EE: - ldrb r0, [r2] - cmp r0, r3 - bne _080F8100 - lsls r0, r1, 24 - lsrs r0, 24 - b _080F810A - .align 2, 0 -_080F80FC: .4byte gUnknown_843E9E8 -_080F8100: - adds r2, 0x10 - adds r1, 0x1 - cmp r1, 0x1B - bls _080F80EE - movs r0, 0x1C -_080F810A: - pop {r1} - bx r1 - thumb_func_end sub_80F80E4 - - thumb_func_start sub_80F8110 -sub_80F8110: @ 80F8110 - push {r4,r5,lr} - lsls r0, 24 - lsrs r0, 24 - lsls r1, 24 - lsrs r4, r1, 24 - adds r5, r4, 0 - bl sub_80F80E4 - lsls r0, 24 - lsrs r0, 24 - adds r1, r0, 0 - cmp r1, 0x1C - beq _080F814C - cmp r4, 0x2 - bne _080F8132 - movs r0, 0x1 - b _080F814E -_080F8132: - movs r2, 0 - ldr r0, _080F8148 @ =gUnknown_843E9E8 - lsls r1, 4 - adds r1, r0 - ldrb r0, [r1, 0x1] - cmp r0, r5 - bne _080F8142 - movs r2, 0x1 -_080F8142: - adds r0, r2, 0 - b _080F814E - .align 2, 0 -_080F8148: .4byte gUnknown_843E9E8 -_080F814C: - movs r0, 0 -_080F814E: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_80F8110 - - thumb_func_start sub_80F8154 -sub_80F8154: @ 80F8154 - push {lr} - lsls r0, 24 - lsrs r2, r0, 24 - lsls r1, 24 - lsrs r1, 24 - ldr r0, _080F8174 @ =gUnknown_203ADFA - ldrb r0, [r0] - cmp r0, 0x2 - beq _080F8178 - adds r0, r2, 0 - bl sub_80F8110 - lsls r0, 24 - lsrs r0, 24 - b _080F817A - .align 2, 0 -_080F8174: .4byte gUnknown_203ADFA -_080F8178: - movs r0, 0 -_080F817A: - pop {r1} - bx r1 - thumb_func_end sub_80F8154 - - thumb_func_start sub_80F8180 -sub_80F8180: @ 80F8180 - push {lr} - ldr r1, _080F8198 @ =gUnknown_843EBB0 - movs r0, 0 - movs r2, 0x1 - bl InitBgsFromTemplates - movs r0, 0 - bl ShowBg - pop {r0} - bx r0 - .align 2, 0 -_080F8198: .4byte gUnknown_843EBB0 - thumb_func_end sub_80F8180 - - thumb_func_start sub_80F819C -sub_80F819C: @ 80F819C - push {r4,r5,lr} - sub sp, 0x4 - lsls r0, 24 - lsrs r0, 24 - bl sub_80F80E4 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0x1C - beq _080F8224 - bl ResetTempTileDataBuffers - ldr r4, _080F8200 @ =gUnknown_843E9E8 - lsls r5, 4 - adds r0, r4, 0 - adds r0, 0xC - adds r0, r5, r0 - ldr r0, [r0] - movs r1, 0xD0 - movs r2, 0x60 - bl LoadPalette - adds r4, 0x4 - adds r4, r5, r4 - ldr r1, [r4] - movs r4, 0 - str r4, [sp] - movs r0, 0 - movs r2, 0 - movs r3, 0 - bl DecompressAndCopyTileDataToVram - movs r0, 0 - bl GetBgTilemapBuffer - cmp r0, 0 - bne _080F8208 - movs r0, 0x80 - lsls r0, 4 - bl Alloc - adds r1, r0, 0 - movs r0, 0 - bl SetBgTilemapBuffer - ldr r1, _080F8204 @ =gUnknown_203ABED - movs r0, 0x1 - strb r0, [r1] - b _080F820C - .align 2, 0 -_080F8200: .4byte gUnknown_843E9E8 -_080F8204: .4byte gUnknown_203ABED -_080F8208: - ldr r0, _080F822C @ =gUnknown_203ABED - strb r4, [r0] -_080F820C: - ldr r0, _080F8230 @ =gUnknown_843E9E8 - adds r0, 0x8 - adds r0, r5, r0 - ldr r1, [r0] - movs r0, 0 - movs r2, 0 - movs r3, 0 - bl CopyToBgTilemapBuffer - movs r0, 0 - bl CopyBgTilemapBufferToVram -_080F8224: - add sp, 0x4 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080F822C: .4byte gUnknown_203ABED -_080F8230: .4byte gUnknown_843E9E8 - thumb_func_end sub_80F819C - - thumb_func_start sub_80F8234 -sub_80F8234: @ 80F8234 - push {lr} - lsls r0, 24 - lsrs r0, 24 - bl RemoveWindow - ldr r0, _080F8254 @ =gUnknown_203ABED - ldrb r0, [r0] - cmp r0, 0 - beq _080F8250 - movs r0, 0 - bl GetBgTilemapBuffer - bl Free -_080F8250: - pop {r0} - bx r0 - .align 2, 0 -_080F8254: .4byte gUnknown_203ABED - thumb_func_end sub_80F8234 - - thumb_func_start sub_80F8258 -sub_80F8258: @ 80F8258 - push {lr} - bl FreeTempTileDataBuffersIfPossible - lsls r0, 24 - lsrs r0, 24 - pop {r1} - bx r1 - thumb_func_end sub_80F8258 - - thumb_func_start sub_80F8268 -sub_80F8268: @ 80F8268 - push {r4-r6,lr} - adds r6, r0, 0 - lsls r6, 24 - lsrs r6, 24 - ldr r0, _080F8308 @ =sub_80F83D0 - movs r1, 0 - bl CreateTask - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - movs r0, 0 - movs r1, 0x7 - bl GetBgAttribute - ldr r1, _080F830C @ =gTasks - lsls r5, r4, 2 - adds r5, r4 - lsls r5, 3 - adds r5, r1 - movs r4, 0 - strh r0, [r5, 0xC] - movs r0, 0x50 - bl GetGpuReg - strh r0, [r5, 0x10] - movs r0, 0x52 - bl GetGpuReg - strh r0, [r5, 0x12] - movs r0, 0 - bl GetGpuReg - strh r0, [r5, 0xE] - movs r0, 0x48 - bl GetGpuReg - strh r0, [r5, 0x14] - movs r0, 0x4A - bl GetGpuReg - strh r0, [r5, 0x16] - adds r0, r6, 0 - bl sub_80F856C - strh r0, [r5, 0x1C] - movs r0, 0x10 - strh r0, [r5, 0x18] - strh r4, [r5, 0x1A] - movs r0, 0 - movs r1, 0x7 - movs r2, 0 - bl SetBgAttribute - ldr r1, _080F8310 @ =0x00003e41 - movs r0, 0x50 - bl SetGpuReg - movs r0, 0x52 - movs r1, 0x10 - bl SetGpuReg - ldr r1, _080F8314 @ =0x00002020 - movs r0, 0x48 - bl SetGpuRegBits - movs r0, 0x4A - movs r1, 0x20 - bl SetGpuRegBits - adds r0, r6, 0 - bl sub_80F8318 - strh r0, [r5, 0x1E] - bl ScriptContext2_Enable - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080F8308: .4byte sub_80F83D0 -_080F830C: .4byte gTasks -_080F8310: .4byte 0x00003e41 -_080F8314: .4byte 0x00002020 - thumb_func_end sub_80F8268 - - thumb_func_start sub_80F8318 -sub_80F8318: @ 80F8318 - push {r4-r6,lr} - mov r6, r9 - mov r5, r8 - push {r5,r6} - sub sp, 0x14 - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - ldr r0, _080F83A8 @ =gUnknown_843EBA8 - bl AddWindow - mov r8, r0 - mov r0, r8 - lsls r0, 16 - lsrs r0, 16 - mov r8, r0 - lsls r6, r0, 24 - lsrs r6, 24 - adds r0, r6, 0 - movs r1, 0x11 - bl FillWindowPixelBuffer - adds r0, r6, 0 - bl PutWindowTilemap - add r1, sp, 0x14 - movs r0, 0 - mov r9, r0 - movs r0, 0x1 - strb r0, [r1] - movs r0, 0x4 - strb r0, [r1, 0x1] - movs r0, 0x3 - strb r0, [r1, 0x2] - ldr r5, _080F83AC @ =gStringVar4 - adds r0, r5, 0 - adds r1, r4, 0 - movs r2, 0 - bl sub_80C4D78 - movs r0, 0x2 - adds r1, r5, 0 - movs r2, 0 - bl GetStringWidth - movs r2, 0x68 - subs r2, r0 - lsrs r2, 1 - lsls r2, 24 - lsrs r2, 24 - mov r0, r9 - str r0, [sp] - str r0, [sp, 0x4] - add r0, sp, 0x14 - str r0, [sp, 0x8] - movs r0, 0x1 - negs r0, r0 - str r0, [sp, 0xC] - str r5, [sp, 0x10] - adds r0, r6, 0 - movs r1, 0x2 - movs r3, 0x2 - bl AddTextPrinterParameterized4 - mov r0, r8 - add sp, 0x14 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r6} - pop {r1} - bx r1 - .align 2, 0 -_080F83A8: .4byte gUnknown_843EBA8 -_080F83AC: .4byte gStringVar4 - thumb_func_end sub_80F8318 - - thumb_func_start sub_80F83B0 -sub_80F83B0: @ 80F83B0 - push {lr} - ldr r0, _080F83C4 @ =sub_80F83D0 - bl FuncIsActiveTask - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _080F83C8 - movs r0, 0x1 - b _080F83CA - .align 2, 0 -_080F83C4: .4byte sub_80F83D0 -_080F83C8: - movs r0, 0 -_080F83CA: - pop {r1} - bx r1 - thumb_func_end sub_80F83B0 - - thumb_func_start sub_80F83D0 -sub_80F83D0: @ 80F83D0 - push {r4,r5,lr} - sub sp, 0x8 - lsls r0, 24 - lsrs r5, r0, 24 - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - ldr r1, _080F83F8 @ =gTasks+0x8 - adds r4, r0, r1 - movs r1, 0 - ldrsh r0, [r4, r1] - cmp r0, 0x5 - bls _080F83EC - b _080F853C -_080F83EC: - lsls r0, 2 - ldr r1, _080F83FC @ =_080F8400 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_080F83F8: .4byte gTasks+0x8 -_080F83FC: .4byte _080F8400 - .align 2, 0 -_080F8400: - .4byte _080F8418 - .4byte _080F8438 - .4byte _080F8448 - .4byte _080F8458 - .4byte _080F8470 - .4byte _080F84F2 -_080F8418: - bl sub_80F8258 - cmp r0, 0 - beq _080F8422 - b _080F853C -_080F8422: - bl IsDma3ManagerBusyWithBgCopy - lsls r0, 24 - cmp r0, 0 - beq _080F842E - b _080F853C -_080F842E: - ldrb r0, [r4, 0x16] - movs r1, 0x3 - bl CopyWindowToVram - b _080F84EA -_080F8438: - bl IsDma3ManagerBusyWithBgCopy - lsls r0, 24 - cmp r0, 0 - bne _080F853C - bl sub_807DC00 - b _080F84EA -_080F8448: - bl sub_807AA70 - lsls r0, 24 - cmp r0, 0 - beq _080F853C - bl Overworld_PlaySpecialMapMusic - b _080F84EA -_080F8458: - ldrh r0, [r4, 0x2] - adds r0, 0x1 - strh r0, [r4, 0x2] - lsls r0, 16 - asrs r0, 16 - movs r2, 0x14 - ldrsh r1, [r4, r2] - cmp r0, r1 - ble _080F853C - movs r0, 0 - strh r0, [r4, 0x2] - b _080F84EA -_080F8470: - movs r1, 0x2 - ldrsh r0, [r4, r1] - cmp r0, 0 - beq _080F847E - cmp r0, 0x1 - beq _080F8492 - b _080F84A2 -_080F847E: - ldrh r0, [r4, 0x12] - adds r0, 0x1 - strh r0, [r4, 0x12] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x10 - ble _080F84A2 - movs r0, 0x10 - strh r0, [r4, 0x12] - b _080F84A2 -_080F8492: - ldrh r0, [r4, 0x10] - subs r0, 0x1 - strh r0, [r4, 0x10] - lsls r0, 16 - cmp r0, 0 - bge _080F84A2 - movs r0, 0 - strh r0, [r4, 0x10] -_080F84A2: - movs r2, 0x2 - ldrsh r0, [r4, r2] - adds r0, 0x1 - movs r1, 0x3 - bl __modsi3 - strh r0, [r4, 0x2] - ldrh r1, [r4, 0x12] - lsls r1, 8 - ldrh r0, [r4, 0x10] - orrs r1, r0 - lsls r1, 16 - lsrs r1, 16 - movs r0, 0x52 - bl SetGpuReg - movs r1, 0x10 - ldrsh r0, [r4, r1] - cmp r0, 0 - bne _080F853C - movs r2, 0x12 - ldrsh r0, [r4, r2] - cmp r0, 0x10 - bne _080F853C - movs r0, 0x20 - str r0, [sp] - str r0, [sp, 0x4] - movs r0, 0 - movs r1, 0 - movs r2, 0 - movs r3, 0 - bl FillBgTilemapBufferRect_Palette0 - movs r0, 0 - bl CopyBgTilemapBufferToVram -_080F84EA: - ldrh r0, [r4] - adds r0, 0x1 - strh r0, [r4] - b _080F853C -_080F84F2: - bl IsDma3ManagerBusyWithBgCopy - lsls r0, 24 - cmp r0, 0 - bne _080F853C - movs r1, 0x16 - ldrsh r0, [r4, r1] - bl sub_80F8234 - ldrb r2, [r4, 0x4] - movs r0, 0 - movs r1, 0x7 - bl SetBgAttribute - ldrh r1, [r4, 0x6] - movs r0, 0 - bl SetGpuReg - ldrh r1, [r4, 0x8] - movs r0, 0x50 - bl SetGpuReg - ldrh r1, [r4, 0xA] - movs r0, 0x52 - bl SetGpuReg - ldrh r1, [r4, 0xC] - movs r0, 0x48 - bl SetGpuReg - ldrh r1, [r4, 0xE] - movs r0, 0x4A - bl SetGpuReg - adds r0, r5, 0 - bl DestroyTask -_080F853C: - add sp, 0x8 - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_80F83D0 - - thumb_func_start sub_80F8544 -sub_80F8544: @ 80F8544 - push {lr} - lsls r0, 24 - lsrs r0, 24 - bl sub_80F80E4 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1C - beq _080F8564 - lsls r0, 4 - ldr r1, _080F8560 @ =gUnknown_843E9E8 - adds r0, r1 - b _080F8566 - .align 2, 0 -_080F8560: .4byte gUnknown_843E9E8 -_080F8564: - movs r0, 0 -_080F8566: - pop {r1} - bx r1 - thumb_func_end sub_80F8544 - - thumb_func_start sub_80F856C -sub_80F856C: @ 80F856C - push {lr} - lsls r0, 24 - lsrs r0, 24 - bl sub_80F80E4 - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0x1C - bne _080F8582 - movs r0, 0 - b _080F85B6 -_080F8582: - ldr r0, _080F85A0 @ =gUnknown_843E9E8 - lsls r1, 4 - adds r1, r0 - ldrh r2, [r1, 0x2] - ldrb r0, [r1, 0x1] - cmp r0, 0 - bne _080F85A4 - adds r0, r2, 0 - bl FlagGet - lsls r0, 24 - cmp r0, 0 - beq _080F85B4 - b _080F85AC - .align 2, 0 -_080F85A0: .4byte gUnknown_843E9E8 -_080F85A4: - ldr r0, _080F85B0 @ =gUnknown_203ABEC - ldrb r0, [r0] - cmp r0, 0 - bne _080F85B4 -_080F85AC: - movs r0, 0x28 - b _080F85B6 - .align 2, 0 -_080F85B0: .4byte gUnknown_203ABEC -_080F85B4: - movs r0, 0x78 -_080F85B6: - pop {r1} - bx r1 - thumb_func_end sub_80F856C - - thumb_func_start sub_80F85BC -sub_80F85BC: @ 80F85BC - push {r4,lr} - lsls r0, 16 - lsrs r4, r0, 16 - adds r0, r4, 0 - bl FlagGet - lsls r0, 24 - cmp r0, 0 - bne _080F85D8 - ldr r1, _080F85D4 @ =gUnknown_203ABEC - movs r0, 0x1 - b _080F85DC - .align 2, 0 -_080F85D4: .4byte gUnknown_203ABEC -_080F85D8: - ldr r1, _080F85EC @ =gUnknown_203ABEC - movs r0, 0 -_080F85DC: - strb r0, [r1] - adds r0, r4, 0 - bl FlagSet - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080F85EC: .4byte gUnknown_203ABEC - thumb_func_end sub_80F85BC - - .align 2, 0 @ Don't pad with nop. diff --git a/asm/region_map.s b/asm/region_map.s index 01c5a71c7..fd681addf 100644 --- a/asm/region_map.s +++ b/asm/region_map.s @@ -1589,7 +1589,7 @@ _080C0B44: lsrs r1, 16 adds r0, r4, 0 movs r2, 0 - bl sub_80C4D78 + bl GetMapName ldr r0, _080C0B94 @ =gUnknown_83F1A90 str r0, [sp] movs r0, 0 @@ -9690,8 +9690,8 @@ _080C4D72: bx r1 thumb_func_end sub_80C4D40 - thumb_func_start sub_80C4D78 -sub_80C4D78: @ 80C4D78 + thumb_func_start GetMapName +GetMapName: @ 80C4D78 push {r4-r6,lr} adds r6, r0, 0 lsls r1, 16 @@ -9759,7 +9759,7 @@ _080C4DF2: pop {r4-r6} pop {r1} bx r1 - thumb_func_end sub_80C4D78 + thumb_func_end GetMapName thumb_func_start sub_80C4DF8 sub_80C4DF8: @ 80C4DF8 @@ -9767,7 +9767,7 @@ sub_80C4DF8: @ 80C4DF8 lsls r1, 16 lsrs r1, 16 movs r2, 0 - bl sub_80C4D78 + bl GetMapName pop {r1} bx r1 thumb_func_end sub_80C4DF8 diff --git a/data/data_83FECCC.s b/data/data_83FECCC.s index 829ee9b35..2107a7c0f 100644 --- a/data/data_83FECCC.s +++ b/data/data_83FECCC.s @@ -1,3 +1,5 @@ +#include "constants/region_map.h" +#include "constants/flags.h" .include "asm/macros.inc" .include "constants/constants.inc" .section .rodata @@ -382,17 +384,9 @@ gTMCaseMainWindowPalette:: @ 841F408 .section .rodata.841F4B4 .align 2 gUnknown_841F4B4:: @ 841F4B4 - .incbin "baserom.gba", 0x41F4B4, 0x1F534 - -gUnknown_843E9E8:: @ 843E9E8 - .incbin "baserom.gba", 0x43E9E8, 0x1C0 - -gUnknown_843EBA8:: @ 843EBA8 - .incbin "baserom.gba", 0x43EBA8, 0x8 - -gUnknown_843EBB0:: @ 843EBB0 - .incbin "baserom.gba", 0x43EBB0, 0x4 + .incbin "baserom.gba", 0x41f4b4, 0x20 + .section .rodata.843EBB4 gUnknown_843EBB4:: @ 843EBB4 .incbin "baserom.gba", 0x43EBB4, 0x18 diff --git a/data/map_preview/altering_cave_pal.pal b/data/map_preview/altering_cave_pal.pal new file mode 100644 index 000000000..f451adce2 --- /dev/null +++ b/data/map_preview/altering_cave_pal.pal @@ -0,0 +1,35 @@ +JASC-PAL +0100 +32 +255 255 0 +65 74 90 +139 205 123 +90 164 98 +213 205 172 +189 172 139 +156 205 164 +230 230 205 +148 213 106 +189 222 197 +148 131 90 +238 230 189 +213 246 255 +164 205 255 +205 230 255 +238 246 255 +255 255 90 +246 246 255 +74 98 123 +213 213 213 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/data/map_preview/altering_cave_tilemap.bin b/data/map_preview/altering_cave_tilemap.bin new file mode 100644 index 0000000000000000000000000000000000000000..fa907c6e742feb4d3d2ddef3a8fef95692527e21 GIT binary patch literal 976 zcmWlYRdiGb07U171Qy=_!R6r&8-hc43GM`U3+@tJ6Rh5*LS3kP3-vZ_sk_{%dqds3 zEp?;I{MASe^_L!9(R$l0nI#Kq-}_l4FS=86_j>;gmU&2p&mhr(8g3 zpfoCwP6nz-C1O-Yk8+g9cpN>!lRU-K=oy~nIi4r&1zzMO;!)K+4hPk!P7PF(IGNN! zFY^ko0y3}hI&Yvid5gDshxB)OkN3lE&UB$G-=gpMo*(!TCHaY; zIgWneSAOGnGXLPuFiMaeM#ZH;H*)As57Cpq_?v&kzx>AuBnM7&1*gjyuINgR6*?Xj zq<`OPte(1t5w~Pf|C@=D2 zFY!`&nU{NoSEdRs<8rRxN^up3xSDIkwOq&b+#qh`CT?a`=+$Ag#%sM!Uhg7r@J4x) zH+ze>rV4K1R&L{VaR+yDm?PpY?&cou758yJ53nut_AuJvo!%wycCkymN8amw-tPk^ Y!sz(HWRMJsjwZ8CGMW16Nu<8|Khj+L>;M1& literal 0 HcmV?d00001 diff --git a/data/map_preview/altering_cave_tiles.png b/data/map_preview/altering_cave_tiles.png new file mode 100644 index 0000000000000000000000000000000000000000..4ea8496a26c6c4d8661d846cb9ee5a09bbc8ccb2 GIT binary patch literal 4476 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 JPDHLkV1j_dMuq?Y literal 0 HcmV?d00001 diff --git a/data/map_preview/cerulean_cave_pal.pal b/data/map_preview/cerulean_cave_pal.pal new file mode 100644 index 000000000..074a6b6f7 --- /dev/null +++ b/data/map_preview/cerulean_cave_pal.pal @@ -0,0 +1,35 @@ +JASC-PAL +0100 +32 +255 255 0 +49 57 106 +222 205 246 +189 164 205 +156 123 164 +238 230 255 +82 106 123 +123 156 172 +222 230 238 +189 197 205 +164 172 180 +139 172 148 +180 205 189 +115 123 131 +213 238 222 +49 57 74 +255 255 90 +246 246 255 +74 98 123 +213 213 213 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/data/map_preview/cerulean_cave_tilemap.bin b/data/map_preview/cerulean_cave_tilemap.bin new file mode 100644 index 0000000000000000000000000000000000000000..e66ab7ea388fa6ebadd791fdb9b6d80798a31f1b GIT binary patch literal 1020 zcmWlYWmuL607dVMV8>^R`C=CeHY&c@-QC^YVgVL*yRmlNo9mvgdpmdC({=CLTo=Oq zbDnempO})A{`}c^kQTgfwn99}I~k~G`9;sUv>+bEBk9E=Ih7W?6i+X*fCN#3M3N{e zN>Q3JlojPDPX#K9O1#V~yeeJ;%P#0h=!&}0oj>>! z{l(w>!@uZ1{-+RGffHQ9i4Kz-i!$j!B(ms9FM5kU^ravD#Q+8}h{2+yOS!bm$Yov5 zca)PV4s;h<35HXZt3}=KG$tXrMMvP?~$8}xL z_2mW*o#KX}8->wirZ81ZV>&aKDP}R7Im{LFn9l+hipFl@rfw!TcMG?4E4j5(-NtPb zoaS`53!_D1F-us=GO?T$tYno~%^KFSPON7G?cG7{=uYnJE^>yux|_SpneO4pS)qG| zQ8pXdBsQ~!t>lPY^4P|9v4frLB46}!Z})Luxu5%cfCtKhJlI1#G{M6>+#|whx7fp8 z_OV|a;2?)MERJxLV;s*_W)knOnFO-Ns@s@ltD&^)Vk;W?FRqL}5IL2dhuVs~58<=-^B-iX*=Og(wm0 literal 0 HcmV?d00001 diff --git a/data/map_preview/cerulean_cave_tiles.png b/data/map_preview/cerulean_cave_tiles.png new file mode 100644 index 0000000000000000000000000000000000000000..e9f7b4e2ef25b53319fde5bb23cceb5baaaed12a GIT binary patch literal 4533 zcmV;m5lZffP)zUHD!L*hxrZfi#nt6a=`i<+~-JT3!+`A_k4d;#{3$2oB3m z+$}HE^8A{xyj}np;9{kgm(&A6NvP1tTgE-QYjM9asAL>BOW?eY61V_(yf=?@sE%q` zt<~MKDi!r?0aO|^`5M=Ra=j|mVofbqxsJ&VP)jhyNs0lSbUi-u4d+_d1f^dw)l z;oR=?Yoi>&vIB00I-tch8qr`z^v~iOASHa0t2|E#8KJ_oe}`+S^o|PhKLdFPBbqC3 zV(HXJm7^g43CJ-oH&6~>c7?_Y_qbuOyhS;@`ep}I_qA<6KW{}eq8xx^TH**Bhq2ap za$YRlZd^5SA^1pR`?&0ijtJ%^3_E$dy}IxvZ(t)*C+?+r^MvqGHL$SzTu^m@`na~R zJAT=KQ_h-q{8~1916e|%Ni>pfu)=DU2`NCbQz<~Q0)B#W@}ERz8IX8LQe2xsIhDv~ zBx3!pR6j!50eB{ZrMM@-sJ~#=Mt`AFsz&pC%gQO6u#uHjtb??T$~yD~y2?d4)fKQ@ zGL~W7&47;(&59u}1TKQqAi3(SLU(9^J+r{dEbMssTouaJK0od;B~DGZHE8AB zb-_g7=G(}1`}5M5&#D`~a`Mauo4j54pvY&HdEGXb3f4rkOn2rD!O8;pz`j+ZJoupQha*F27Wus9}>U7;jy^Jd-tmhP0WSJ_x z5upcKzQpvqQ-lK)#_J2T-PH1NX5XIYRipy&_R{G z81?$wgk(GtZH&H`hsgK!%G-p!F@f$&du#3OnV``TM#Md(eS;@0 ztkjj&t{FZm?*Vb_Dd%Rfu1t9N8CdV6~@4Z5FrQ}O{Q9Ns5|DvCGn3B`L64XKB4 z2tXT$Knne(HX=E#h4|}is*XOOWnf0yQ&T))r_!=%UX)|o(?Jk|v#Oib; zdWfwy%{BOzdN1VdUE_1vkF#5t8Cowt9*D8`yFWP-myoZ2k&lBwp>|C@OuM^G-Ua*-=|P+K*jN_Stp2$5eYamf zqV>dr(t~OYB!Bu1M=D0($!gc)EUE+;x16KD-vC8W59)<_c+fX;5Ft_d7r>`4Q1g>g zo^qZAtF@x0I{GV&{yso2r#-4NIr3G9Dxz2tpqk{pTt!D6qITf9cLMINmzX^$5z~*m zrrzn)Y+{Lo?g>UqTi8(AYtgerkR(gPf-EtuWO?nCF3%;}>Ht-HkNp=@ka6&Ua>ic~ zzA8*Tv$PzWNDGCEzp9Nlj=!YkR$tOee@V;z;(44=f4N1pW7bDgmgjKKiny z^#6hlkV6HfMPQ53A^*s&Fof1SKfes>5Iv?QNhKdFQI@$pED6&7H4PI_K|4I#B(H0*h z<8Ae7ygi_E`@1OErRDzDeR>0U@jyWz`<#K;{`d5!{_B9afAHx*4R+~Ow{7l&J$>+S zz(<8W_gOt)SmCvwO^|+Sht}4^?MAuwk@u2Qz151X+9FE>yj^%=gY__*ll}&^x%Udp zqF}}cJne(8&D`^%U?T=q1iSmSpTI^?1)%@iq-h`Q{!Tx4N5Fnqg~2m9VvG(B=n7h+ zeW|?LsK@yI;o*0x{D4MB`(cM3!nH)pkig(z1PKgwb-m9m3o4ZlxbjFU^PGMTSN}8p z{2fOl>cI%zZ7la$WA&f$;y_mg=Z=AhaJ)&_Y+T{iH`?rO`Pi#x8b!e|{XFJt8OQ!! zmC8|sYtaBM+myb%ZPYW^RGSex8KL=2x?)52G!+ogT`E0BDR(z|Yru=#UBc5F|U{{3%qdwMVy_cAJs*QC0?=0AlhjoYBna6v(0q zY`dB))&dG7>(Uyz3--pm>C`Da+K|5YUFi;s*azo0G)74UcR0Gcs+oi`%IlU<26-9v zQI>j?4X3ceUJ$HJELm{6Nm*$FzH_`QJ<8GpiROwn`xTnPk>IM~q}SSeWOB5t+O$@0 z>d;vrjOvbt;APQV*vuM;=E^7s$qFl-r_gfq=A3H$f@}x#f92949Q|U^_W$fB|4cbbUr#;6e@R&Igu2;3Zf_3Y7+wxUzjB*y9q!x8a zja2!|k0X*iARm{o5jcgxz7#af#8G1o{=+N%R()%ylhaLBk}B|R zuIMlKO5Ng>W$Q<6wv!TBvNW6K>L-$f%KrIRYnoZ-i~*M-pB>gdGxOKM6!p?1QyE;} zOj{K*vGUmAP1vdkoQ5RPhG3F6zcn|ZlOzo296nZSFR%vE(YbuDrSKQ*hiF&n6Z&Vll=hm3NW95 z4P=qoP@U#tUWLY-k7246nL1kPE{&7=0psY%8|jta1XA)l9a|@)3dbffz>a z*hB2YYb9+Yr}g<9bT^2*ejxin(i^n+?Tuj9t@41_qODJ(UPkOm$&SZrm5Wmc5 z49O&EkHMnx6ZEpSXOzxF2x19ek>+)Q)O*$XB!-1!RA;VeePYWTyg?7(u)Qg0Y{>0l zyb&a5&!h#!0_(5-MnT~P9la3G?Ne+F!CWT@#CDXiXY+EN5zjrR)uv{`w8N_-+!%M` zmpiK4m@qF;v_{zK1nEdRRUWsvjc8i9?xr?wh1Ddl@HI=84gGt%2ZG!{pQWk+pfZ)N9_=^LAd^Ts*In z_JztxijOAIR$=;=_J9dWC+hVdUemegHJy8H%-uYn}AaUE%e z^^S75$Rx9^)1LOIbZJzmV$wrS!dBb&;KOrST}GTk5Jg*_P05}E$&V*zE1WAS zwG9+pkFP!TJmy0DlrzsBs5P*4W(tB&@@LkIIeUg@BdZ^3!#9vSy^i2AhO9ZBGsU|) zioU}u`z|o4y&6pTD58DI=tXwPXxdSEf;0_Yib>tOYnO%+ z_-zenoLT#)naU8I8TU|J#<~sDwxFHs7Oa;19B!Se(Y|q@J9p{Z8c=y!9=_ zGuh6a^+Ihp>2>+5ZQy9pmg7KwLrG~F42)0QR%H$pbHcEob3=HuZSBp0f-z_5wcT=P z?luI_l-Hisn#0gx&gXU_&u0%>9u9_c>cP;Lg)W`jQ4TRmsxq+kHg+~lE8ORy^bb`C zb6YRGWm}|yUU=3F*vIbNu#Np&XdC(wFWT+o!6T|W^Bx$%^Fsnz@t9~#(twrYNzs}# zNPCHtxs}KL01{*!N#OQdV2aG#%ba!`mHyfQ|VFz|Ac8lHdKXyCp_9+G? zj`QjK&i4~nnsT2nNd}4Fg_5*nP<%8{X%3ezClWz2N=DL)r8t%dUP|VcDj-Fq5+jW= zqAcYoPX$qtN>rvw3hBJeE2{OXcnvVGi#K?aw|G0?9p2?V;!$Rt3`JFyQw?R3MRjTr zt4S?tE29p2pAYzukBEQFCrU5j1p1WE_?$0@f5}&2RF`bx^{B7xkOl+|X+&dkG(t^i zN;AGD_=a!!j_;Kb|A8Ns_7h2hpZSH8{2E4TP77Mn3bm#UZAqY9+R>g4#5>YS(Qo{Y z{@@gU@)!D>fB2XG&}rnrDGpN|k2=$ZJkgbIbSGc*AfkYtq8GjCLthbdn#;JXT+ZcP z!4>67uIwsKPjTECt{O)DL?Qhdz(6sG!3<%j7{+i$Fj9&XJqAshhdE+`=v0%B@q} z#%-MlquF8(bD76{v4DjvVzF4lQkJn?tY9U%ZYQ^Q2X}NQxwE@C&t2ti?(Tf|2z^e2 zXcenjBi6Ex^=uFu*~DhHh^=g+h++}Bz&+hd?(IJA>wa>f`+I-~COk;_iD)}J&`x%- zn>}bR``FI`f`c65EDlc(G}uEt)WfXd9^sK54~ zMC@WN;nJdLyfwiSJ;{@;DW2+Sp6=KT&-AP?x(r>;6ct| zDzEk$ueH{By*GHHwaJ^k#amslEsP%GVIDz`@)*Z?oPsA5Jjqi$jh^9Io}<%t{8QN^5k6XWlFQ4-3optpET3 literal 0 HcmV?d00001 diff --git a/data/map_preview/digletts_cave_tiles.png b/data/map_preview/digletts_cave_tiles.png new file mode 100644 index 0000000000000000000000000000000000000000..c3e7d2879ad9d81b56c56cce169a33414f9e54d2 GIT binary patch literal 5235 zcmV-(6pZVMP)MZIi;s zat%uAKak6?C9t~2F+TLws9^hQSAyy5fc}Nu_k9tOzm$^Qrt8xwWn^Szyl=cr<@bsI zqd)NiOg}CbMJ(1}vG{mTSWF4`z|`Wtgp~eXf~(u95)TTvQiN%at0ENry$Dx#DQ#U7 zZh;5FElzYhWn3Gi=_3aDc#B~u;0k!iFx8mi-YT0&Y68Z8F?fZ;w|XGp8pad$;QQNW`jJgD0#22Q}V^R@9+UcGdl|F*aCm&*U(jl)J#N*L25hzDdTYkd89WWP0KOQv7%EBvYx9e8*|13kOGe@fuF7c z&3#?WYjtpsE5Eh|-_~J~fr8f%jYh*2F8!6TOXv`GJJLmy z6gwKlCc73LKuWix2ia)+9*w`{BYqEjtB=?PBtVN+)uI8o4Zv+Q?6N1^rK?aGHf5>D z0v?Nz-iTX7nv+qw0c+PsS_UnH)Z%(wKEV2TShFB1)3j#bcU3IP;a-bfDW! >MW_ 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 literal 0 HcmV?d00001 diff --git a/data/map_preview/dotted_hole_pal.pal b/data/map_preview/dotted_hole_pal.pal new file mode 100644 index 000000000..fd424fa28 --- /dev/null +++ b/data/map_preview/dotted_hole_pal.pal @@ -0,0 +1,35 @@ +JASC-PAL +0100 +32 +255 255 0 +65 74 90 +238 246 246 +74 156 106 +115 197 115 +156 230 148 +180 189 197 +213 222 230 +230 238 246 +115 123 90 +156 164 123 +197 205 156 +213 222 189 +222 230 197 +213 238 255 +255 255 255 +255 255 90 +246 246 255 +74 98 123 +213 213 213 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/data/map_preview/dotted_hole_tilemap.bin b/data/map_preview/dotted_hole_tilemap.bin new file mode 100644 index 0000000000000000000000000000000000000000..a83083b3821349090ac45210e97336434bb64643 GIT binary patch literal 836 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 bn@;}^O{3==$!KTL00000NkvXXu0mjfh+zA# literal 0 HcmV?d00001 diff --git a/data/map_preview/icefall_cave_pal.pal b/data/map_preview/icefall_cave_pal.pal new file mode 100644 index 000000000..4e31e5380 --- /dev/null +++ b/data/map_preview/icefall_cave_pal.pal @@ -0,0 +1,35 @@ +JASC-PAL +0100 +32 +255 255 0 +65 74 106 +238 246 246 +82 139 115 +131 180 131 +172 213 164 +205 205 189 +222 222 205 +238 238 222 +115 115 115 +156 156 139 +180 180 156 +197 197 189 +213 213 205 +213 238 255 +255 255 255 +255 255 90 +246 246 255 +74 98 123 +213 213 213 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/data/map_preview/icefall_cave_tilemap.bin b/data/map_preview/icefall_cave_tilemap.bin new file mode 100644 index 0000000000000000000000000000000000000000..bd1d05d1b1f7a121667e7c84cc02fee77b2df8f1 GIT binary patch literal 992 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 Bf8qcD literal 0 HcmV?d00001 diff --git a/data/map_preview/kanto_victory_road_pal.pal b/data/map_preview/kanto_victory_road_pal.pal new file mode 100644 index 000000000..828ff7e22 --- /dev/null +++ b/data/map_preview/kanto_victory_road_pal.pal @@ -0,0 +1,35 @@ +JASC-PAL +0100 +32 +255 255 0 +74 82 98 +222 238 246 +98 139 106 +131 172 98 +164 205 123 +180 189 197 +205 213 222 +222 230 238 +139 131 74 +172 172 98 +197 197 123 +213 205 148 +222 213 156 +213 230 246 +246 246 246 +0 0 0 +246 246 255 +74 98 123 +213 213 213 +0 0 0 +131 172 98 +164 205 123 +139 131 74 +172 172 98 +197 197 123 +213 205 148 +222 213 156 +148 189 131 +205 213 222 +222 238 246 +98 139 106 diff --git a/data/map_preview/kanto_victory_road_tilemap.bin b/data/map_preview/kanto_victory_road_tilemap.bin new file mode 100644 index 0000000000000000000000000000000000000000..03d1cc29281ccdd4882e025de8cfc8572f7f3b4f GIT binary patch literal 956 zcmWlYWpq>r6ol{FBxLbLg3H4p*aiq5UV^*31`7m-Aa$0yJ9SCjTiTQwZAsnRZ(8bh zse8AjZgiPHbG|ue=HDbN#|rNCbdU`0^LRSgRT)@DRhi^qGDt`1$n5?M>`4ZD(*+p{ zh#6UAlS7S=pgPFq0Uk6S;$a?PpYbS<@i_a9YM$Upo=WgE$*3l^2x?P@y40&Ivic-= zhG((oc%Bz{5qpW3d4*T8*8uT4#czaB0~*o@YfK(ZXiB0P%}b*ew8ReZCU5aJ_73mz z9`9ox@F5@ZG1<;RJ}KVWitN_3p{)fW){gdcpd;3a&UB$G_9>t7IbUF3@)ck64fZYH z@jX9~^CM|~3ZrgTUXq{M+npZtv|Q^&Z<73s9pV>$^`Q?@VvK)?V78iN?j5QZ9oV#-psDMvMwtGKDAYN@vB#8g-HR6mT0jA29+ zQxa!5BW%Y=Mj4|S!&t@{<4LH28k!oZvGUZ!)KtyXTrEs3)k>|^CKW~#n8+k1hfE2B zsZ3+KF@u@RVzx1dwhGnG)LtFbQJqYk)kR&^&6Kb1>Y<*Qfw|0MJ`2nj`XXQKOUz4I z$}*N4D_BVxy-dB8RDt@K`l_F*C=Au#q5&#nV5mW1w8~d|x%nDj>+5{I`3B$Un|!nR z7An}vHe;}cXsC+f8m7pKswg&(I*hjaj+h_iNBc2Wc&zzxe!QRHJIzz< z;zUj|#%Qd@X?&;&VWvM(lT4E}MN>5`)bubq*-!CP%}?{w{R}_T{477)&+&83&*OY9 z;KGzeGc;4PG&@xsRWV0%H7}<5TA+ntbdmYRzS}SHOU*Cy%l!(!()=pF+OOeSqmt`b zq{T5UQK^=O(K6F=t literal 0 HcmV?d00001 diff --git a/data/map_preview/kanto_victory_road_tiles.png b/data/map_preview/kanto_victory_road_tiles.png new file mode 100644 index 0000000000000000000000000000000000000000..b3432b9c914dc85b76beda3759178f0928dced30 GIT binary patch literal 5237 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 literal 0 HcmV?d00001 diff --git a/data/map_preview/lost_cave_pal.pal b/data/map_preview/lost_cave_pal.pal new file mode 100644 index 000000000..33b29a07b --- /dev/null +++ b/data/map_preview/lost_cave_pal.pal @@ -0,0 +1,35 @@ +JASC-PAL +0100 +32 +255 255 0 +65 74 90 +98 106 123 +123 131 148 +189 189 164 +164 156 131 +238 238 222 +213 213 197 +213 238 238 +189 213 213 +131 123 98 +213 213 180 +197 222 222 +172 189 230 +189 205 222 +230 230 213 +255 255 90 +246 246 255 +74 98 123 +213 213 213 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/data/map_preview/lost_cave_tilemap.bin b/data/map_preview/lost_cave_tilemap.bin new file mode 100644 index 0000000000000000000000000000000000000000..6c256acc2ef2ce31095bcf831a2e2bf01a84a634 GIT binary patch literal 1000 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 X!TF&J-PHBR!kj9RI?VrE^&y=Ag?z7K literal 0 HcmV?d00001 diff --git a/data/map_preview/monean_chamber_tiles.png b/data/map_preview/monean_chamber_tiles.png new file mode 100644 index 0000000000000000000000000000000000000000..6426d175f75c771b02e1deb1f892a3e7e5fa3100 GIT binary patch literal 4809 zcmV;)5;pCLP)P`SYf8?5}yJi^DiXdZ}ks0e~dKZ zKpz!Z)y3-fzV+%=HRb>Cl2c#v?>xL)RC;!#)N>C!ipp;>wRNo*(LcC6cP1@x&_scIgSb8Dm zhFniZoet6rym*(T4B2fNZ16hM)Z9$HzLE4HEG)!QKE9$;mL~ovpT-}V2Vd?t468hM z!!xgmqfY8$Bel;fyo?piB6YN(-oT33z1>YHQ5bq6lTxD7_nefiy--BCpMY6qj@Z4lP=f6(mZ}vu)#}T z8|kf1-O&P^V&Ey9x@>JZ?fkR1h%QkB-UghvszA3Y&Ii>X9k|HiAovQeEGSNoxwLTf zEoXY*e7n_>`W0ZSwdIJj(+1iA-T@A-_&cZdfjEw1P$g=>2bWV+aWmEGU)_*ua8FC^ ze(Z_%lqX|v zWJl^-jtjW3^A5Gq+H&Pe-Iy5Gy#iChh0;)d46c_gw}glA4|or*w_N z?sZ%pC*|Hy~l{Ug#MQ9_3Vn7?d`j5%?l+oI%maO7q(B_#8U*Cg2zO2C3i74sDZrwW9q3Tk6$n zRf1}@c5=HW(Q6WRmX|Ekqo3(1BA-hxKeVZbmbP@ z{d1Qw3{x$@B$S{F^lo2ur0v3uZ3HZ7J8jM~hj7#R)?zK-h5v4m>mV`xYwI`Ls9ngkrKA1hojj;RBK&xtA} zg(hRu1S3^+{O7qVP~aUw5t@?vKCsS9wc%q8wJ(h&urFzNzd^~{mxxMoMS5+HT86H% z1`*iJI$(DRyzSY|9Cix3nJV!uqMD=2?`X1QjA%Ep6dBQ=rwJ{ zH}h{LK!|KK(K8B}8}BKGId2C40erT`PMdOFJ$+ZyleMaJD(}|hv$gI$bk*(1h3+ps zc$$kL2Ezdn_}-wK2-EnSFnTe-2!bF%ke4`?X4=Gl6h$Xgb z0*_1ixXeIdoVJ56ckd9>{Y}k}9;A$+;a*aMP1+gL^LEoGom?WY5j}nFt_n~%oH;suVlWDnb+GGvWbS?j0 z9l;C#VB;{Y=aw^6*rjXUGoz7Ol*8XHdui_DwV`}Pi-4v^8x~o zx&ZsBH3U^vL4TDB{8p(HZn~LqYJ;5J{*{#J)79?i(UXuJ2M$EZQ)?_1r1>W-twWrBzx=+u|Ni?_;H7R%%H>zN>ob;4d}r{42dEZ5kidH(?)-puzNhfnJ**Ch?Wn+R7^&`o=7GT!CLM$!-i{y> zR1D!1&YAIuP=I}d89Z(8bwZyLED~=IpLu&LIk2%C#q?kT_~X%+C`Dl(&g&!bQcT*^ z%6#BXfstxH<%#wI6;;B5r{g|8J2DS~_Sg9|s6y-$roSkwMfKEEqrQUl%>DzAJXUYy z=Ns9htW*r?Ia1+Oni9zL`7=M8*?i9*i&#?s8|)YAe+^64$Fu0juPo%YtNL(Ne2S)s z&I&fX=G;fCg5Mw-Y(fq#hQ6d?xX`8n+$zf~jfjK1G}6Z1aHCQ*d$Kv30mPspV{v2b zaGkEj2!;lzjd^V}`q7?WXh&+xZyZzbA6qXLAmxW1xEU}_uux`9RHH8e;^Csasj2$j=1vk~HA{Ny` z^2$iSU+52F-r{~t<;24wc8kN9&>3jS*iVtE2{UDHbs$5ADt%~f&|r{a<||inh0WPH z8^MSPP`GcRRApV%zIp;5!NgHGh`7S$aVW=Je}iIe-{NQUun45**SQE^;~os@k$r>b z2M}vbsi9P3;9ktr-?_OziSn807VG|nSjmxmHY9Y8gXG=}B2J;GFomX&c3|c{-VSG* z{E)6f5QO4L^MPLje(3n{A=cJ8@!~-abDT9qhO9?pxrXFy%Ea?h z$#9Y^xH@xAM~uo3tXL&tNai$ZPMYy5aa4$XX%d3W>XN{8nntd$;GPQ6U*2DnezMw6 z&8;b4t|h*F^GEECA0Hq8NE|0fHvOz!TU)DOV_YfX_}BpLP`ie9mANLB%A0S>k9f(O zc*%KM=sXVrFEKz(BtN56O zO~*sI*1^QacvdiGe?_!K9GcSJiX0NCg^Ja1Pddc8$lK$?4S>lk;LADBoX}%dSk@|G zF?C^vVxS&a^e>?voE&pZ1dekIxOfc~EPOM_6!ADgL?j9erxa$K{1Xx8+E@gr=f~5W zLYyvc#ES!kHg}1|b+{KXf97JHI6jK<)t*=+i}^KWks?x0FEa~Tj^TwchtF+Z7!kyzgV4c=j{kj*DE04<^Eb^|hr~}QEICGoA;*uHq#i=|DXbLM$^bK9 z1=GqpRF7Zy8xEFANVeYlT^f2g@NHf7GAX!F+;YkmMkQ zwF)P%7QDZg!%IK&EK~6!?_>Yh!5SZTPLpM%X}qz4>c3is(q9a$LIZ1=+OSfA#Mu>x z(?KSB%us+>AS)=!a$lL?@%v;`Gr^0az~eli9RD|*eEbvE-(x5w1s^#dGc)?1h)OO?G^J2E2&CJc5%W zy^<<>Fm>&W8z-2g5SA(BI!N&N@#4~CjUVMOi~lf3wu7AVWjw*my00>qg@dV5{x)2c zC;lRbOB=Z8>X~a)VvSC-?hmcibBVWn-8qjjfBqLJeSa6Ds@@a*eKiojTI-!W#m${x zBJT23$U4c+b7p^$btfe+x8&r}V2b2t8W0VGWopSdv#wcE4dT!oZA4jSdE&%*w#x#L294e0=}hkuCSvb8adAYb6!ygh=~2ILFqc2iw2OEU5cOxy zbE3ue>tn6~%PVNIY#Q&+PQL^V;7JepUnRJ^E*FAcBU1#waz8upGeEAm%&wvg$N!rS zEg4@jr@2rane|d9K|f78R@6e6ABC7?ViHEoQW^KNw{t;evL~5F1dB(HyqG6hF^%&u zu@Hv)EfElRCEUMo7mdFSc#awHhZC-}UGre1-Il9-NciVY@{H6Gn+V*Nll;=jX-|HQ z;iNywXs17mGQTowiA&MA7lGRb4U11L`I&89ghbz{$Zfk(LAL%h5RWJRUWZU?0G|q0 z)_}=#Njp_eBzA?R#zpqGrlc7J7kS`(SGxRpLqRzUex3gwC9qD+oe2_mfp2^3AtZo} z7&Og;+U1Ib55fx)TKkrS%lrAMF0jv?!#=M~o<(z{_-K{=S;Y{}-v#wUDr`OEErjO8 z%i~Uj6=-6Bv_vHjkwQA&9D8->Zu7GbmCM4E%(ICk15FX~voCqDZ&Zg)xvwz42Z?$5 z5vwClVu(X@$ZNUo|Bgpo)$73J>&XL;arT>{1dE?XDfQ$6!NW{dVfO}4n2Q=jGUgzS zXaYWH4s4=#byvP=8rKHcwA#(P+(7sETMbusTke|dy4XsGyFjI~)*#Fg$XfdR*MLu! jo94kf$ckQ3DtP@rlYuUyhZ@o#00000NkvXXu0mjfA{jy{ literal 0 HcmV?d00001 diff --git a/data/map_preview/mt_ember_pal.pal b/data/map_preview/mt_ember_pal.pal new file mode 100644 index 000000000..4f5066e64 --- /dev/null +++ b/data/map_preview/mt_ember_pal.pal @@ -0,0 +1,35 @@ +JASC-PAL +0100 +32 +255 255 0 +65 74 90 +238 246 246 +222 246 255 +230 230 255 +156 230 148 +205 189 213 +222 205 230 +238 222 246 +131 106 106 +172 148 148 +197 172 172 +222 197 197 +238 213 213 +213 238 255 +255 255 255 +255 255 90 +246 246 255 +74 98 123 +213 213 213 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/data/map_preview/mt_ember_tilemap.bin b/data/map_preview/mt_ember_tilemap.bin new file mode 100644 index 0000000000000000000000000000000000000000..52af71494434432b3d9882014dd58d9a0716f9cc GIT binary patch literal 908 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 literal 0 HcmV?d00001 diff --git a/data/map_preview/mt_moon_tiles.png b/data/map_preview/mt_moon_tiles.png new file mode 100644 index 0000000000000000000000000000000000000000..8ede39bdd09a243fc31090c1c4f2d64af8393b41 GIT binary patch literal 5790 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 literal 0 HcmV?d00001 diff --git a/data/map_preview/pokemon_mansion_pal.pal b/data/map_preview/pokemon_mansion_pal.pal new file mode 100644 index 000000000..7f6ef22a5 --- /dev/null +++ b/data/map_preview/pokemon_mansion_pal.pal @@ -0,0 +1,35 @@ +JASC-PAL +0100 +32 +255 255 0 +106 115 131 +213 164 180 +180 131 148 +238 189 205 +230 238 213 +115 82 131 +172 180 172 +131 139 139 +205 213 205 +238 213 238 +238 238 205 +230 222 189 +246 238 164 +222 213 139 +246 246 255 +255 255 90 +246 246 255 +74 98 123 +213 213 213 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/data/map_preview/pokemon_mansion_tilemap.bin b/data/map_preview/pokemon_mansion_tilemap.bin new file mode 100644 index 0000000000000000000000000000000000000000..a8b1b3d3fa493d9d2adef620c9f5d3e9ec83bb0b GIT binary patch literal 988 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 literal 0 HcmV?d00001 diff --git a/data/map_preview/rock_tunnel_tiles.png b/data/map_preview/rock_tunnel_tiles.png new file mode 100644 index 0000000000000000000000000000000000000000..e58ef7fb126a83ad414fcaf400b84bfc6336e48b GIT binary patch literal 5019 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 literal 0 HcmV?d00001 diff --git a/data/map_preview/rocket_hideout_tiles.png b/data/map_preview/rocket_hideout_tiles.png new file mode 100644 index 0000000000000000000000000000000000000000..8f57f8afe7a4322ecd564bff8ebaf1e92a7dc828 GIT binary patch literal 1764 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 L#cAY!%_`|Xk|aee literal 0 HcmV?d00001 diff --git a/data/map_preview/rocket_warehouse_tiles.png b/data/map_preview/rocket_warehouse_tiles.png new file mode 100644 index 0000000000000000000000000000000000000000..cc9dae203ad14dfad0370525e538ac28efee68fe GIT binary patch literal 2068 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 literal 0 HcmV?d00001 diff --git a/data/map_preview/seafoam_islands_tiles.png b/data/map_preview/seafoam_islands_tiles.png new file mode 100644 index 0000000000000000000000000000000000000000..b76a850532d81ea95943054f323a4c55a8bdf19f GIT binary patch literal 4997 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 m91w>F1G&3)WEkozmf~+94mI2)KlWGv0000mi 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 literal 0 HcmV?d00001 diff --git a/include/bg.h b/include/bg.h index 0d6b0e171..0f20bf1fd 100644 --- a/include/bg.h +++ b/include/bg.h @@ -25,6 +25,20 @@ enum BG_CTRL_ATTR_WRAPAROUND = 8, }; +enum +{ + BG_ATTR_CHARBASEINDEX = 1, + BG_ATTR_MAPBASEINDEX = 2, + BG_ATTR_SCREENSIZE = 3, + BG_ATTR_PALETTEMODE = 4, + BG_ATTR_MOSAIC = 5, + BG_ATTR_WRAPAROUND = 6, + BG_ATTR_PRIORITY = 7, + BG_ATTR_TEXTORAFFINEMODE = 8, + BG_ATTR_BGTYPE = 9, + BG_ATTR_BASETILE = 10 +}; + enum AdjustBgMosaicMode { BG_MOSAIC_SET, diff --git a/include/map_preview_screen.h b/include/map_preview_screen.h index 8d9114b82..cb3974010 100644 --- a/include/map_preview_screen.h +++ b/include/map_preview_screen.h @@ -1,6 +1,51 @@ #ifndef GUARD_MAP_PREVIEW_SCREEN_H #define GUARD_MAP_PREVIEW_SCREEN_H +enum MapPreviewScreenId +{ + MPS_VIRIDIAN_FOREST = 0u, + MPS_MT_MOON, + MPS_DIGLETTS_CAVE, + MPS_ROCK_TUNNEL, + MPS_POKEMON_TOWER, + MPS_SAFARI_ZONE, + MPS_SEAFOAM_ISLANDS, + MPS_POKEMON_MANSION, + MPS_ROCKET_HIDEOUT, + MPS_SILPH_CO, + MPS_VICTORY_ROAD, + MPS_CERULEAN_CAVE, + MPS_POWER_PLANT, + MPS_MT_EMBER, + MPS_ROCKET_WAREHOUSE, + MPS_MONEAN_CHAMBER, + MPS_DOTTED_HOLE, + MPS_BERRY_FOREST, + MPS_ICEFALL_CAVE, + MPS_LOST_CAVE, + MPS_ALTERING_CAVE, + MPS_PATTERN_BUSH, + MPS_LIPTOO_CHAMBER, + MPS_WEEPTH_CHAMBER, + MPS_TDILFORD_CHAMBER, + MPS_SCUFIB_CHAMBER, + MPS_RIXY_CHAMBER, + MPS_VIAPOIS_CHAMBER, + MPS_COUNT +}; + +struct MapPreviewScreen +{ + u8 id; + bool8 forceFirstTime; + 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); #endif //GUARD_MAP_PREVIEW_SCREEN_H diff --git a/ld_script.txt b/ld_script.txt index 7da1b185f..053ee4abc 100644 --- a/ld_script.txt +++ b/ld_script.txt @@ -221,7 +221,7 @@ SECTIONS { src/new_menu_helpers.o(.text); asm/box_party_pokemon_dropdown.o(.text); asm/save_menu_util.o(.text); - asm/map_preview_screen.o(.text); + src/map_preview_screen.o(.text); asm/link_rfu_2.o(.text); asm/link_rfu.o(.text); asm/pokedex_screen.o(.text); @@ -429,6 +429,8 @@ SECTIONS { data/data_83FECCC.o(.rodata.841EE44); src/new_menu_helpers.o(.rodata); data/data_83FECCC.o(.rodata.841F4B4); + src/map_preview_screen.o(.rodata); + data/data_83FECCC.o(.rodata.843EBB4); src/pokedex.o(.rodata); data/data_83FECCC.o(.rodata.8451EBC); src/list_menu.o(.rodata); diff --git a/map_preview_screen.ddump b/map_preview_screen.ddump new file mode 100644 index 000000000..a56a86ca4 --- /dev/null +++ b/map_preview_screen.ddump @@ -0,0 +1,11 @@ +$id :1 int:1 +$field1 :1 int:1 +$flagid :2 int:2 +$tilesptr :4 int:4 checkptr:1 +$tilemapptr :4 int:4 checkptr:1 +$palptr :4 int:4 checkptr:1 +.byte $id, $field1 +.2byte $flagid +.4byte $tilesptr +.4byte $tilemapptr +.4byte $palptr diff --git a/src/map_preview_screen.c b/src/map_preview_screen.c new file mode 100644 index 000000000..37b05ba70 --- /dev/null +++ b/src/map_preview_screen.c @@ -0,0 +1,588 @@ +#include "global.h" +#include "gpu_regs.h" +#include "bg.h" +#include "palette.h" +#include "malloc.h" +#include "quest_log.h" +#include "new_menu_helpers.h" +#include "window.h" +#include "region_map.h" +#include "menu.h" +#include "field_fadetransition.h" +#include "field_weather.h" +#include "script.h" +#include "overworld.h" +#include "event_data.h" +#include "map_preview_screen.h" +#include "constants/region_map.h" + +static EWRAM_DATA u8 gUnknown_203ABEC = 0; +static EWRAM_DATA bool8 gUnknown_203ABED = 0; + +static void sub_80F83D0(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"); +static const u8 gViridianForestMapPreviewTilemap[] = INCBIN_U8("data/map_preview/viridian_forest_tilemap.bin"); +static const u8 gRockTunnelMapPreviewPalette[] = INCBIN_U8("data/map_preview/rock_tunnel_pal.gbapal"); +static const u8 gRockTunnelMapPreviewTiles[] = INCBIN_U8("data/map_preview/rock_tunnel_tiles.4bpp.lz"); +static const u8 gRockTunnelMapPreviewTilemap[] = INCBIN_U8("data/map_preview/rock_tunnel_tilemap.bin"); +static const u8 gRocketHideoutMapPreviewPalette[] = INCBIN_U8("data/map_preview/rocket_hideout_pal.gbapal"); +static const u8 gRocketHideoutMapPreviewTiles[] = INCBIN_U8("data/map_preview/rocket_hideout_tiles.4bpp.lz"); +static const u8 gRocketHideoutMapPreviewTilemap[] = INCBIN_U8("data/map_preview/rocket_hideout_tilemap.bin"); +static const u8 gPowerPlantMapPreviewPalette[] = INCBIN_U8("data/map_preview/power_plant_pal.gbapal"); +static const u8 gPowerPlantMapPreviewTiles[] = INCBIN_U8("data/map_preview/power_plant_tiles.4bpp.lz"); +static const u8 gPowerPlantMapPreviewTilemap[] = INCBIN_U8("data/map_preview/power_plant_tilemap.bin"); +static const u8 gPokemonMansionMapPreviewPalette[] = INCBIN_U8("data/map_preview/pokemon_mansion_pal.gbapal"); +static const u8 gPokemonMansionMapPreviewTiles[] = INCBIN_U8("data/map_preview/pokemon_mansion_tiles.4bpp.lz"); +static const u8 gPokemonMansionMapPreviewTilemap[] = INCBIN_U8("data/map_preview/pokemon_mansion_tilemap.bin"); +static const u8 gPokemonTowerMapPreviewPalette[] = INCBIN_U8("data/map_preview/pokemon_tower_pal.gbapal"); +static const u8 gPokemonTowerMapPreviewTiles[] = INCBIN_U8("data/map_preview/pokemon_tower_tiles.4bpp.lz"); +static const u8 gPokemonTowerMapPreviewTilemap[] = INCBIN_U8("data/map_preview/pokemon_tower_tilemap.bin"); +static const u8 gSilphCoMapPreviewPalette[] = INCBIN_U8("data/map_preview/silph_co_pal.gbapal"); +static const u8 gSilphCoMapPreviewTiles[] = INCBIN_U8("data/map_preview/silph_co_tiles.4bpp.lz"); +static const u8 gSilphCoMapPreviewTilemap[] = INCBIN_U8("data/map_preview/silph_co_tilemap.bin"); +static const u8 gMtMoonMapPreviewPalette[] = INCBIN_U8("data/map_preview/mt_moon_pal.gbapal"); +static const u8 gMtMoonMapPreviewTiles[] = INCBIN_U8("data/map_preview/mt_moon_tiles.4bpp.lz"); +static const u8 gMtMoonMapPreviewTilemap[] = INCBIN_U8("data/map_preview/mt_moon_tilemap.bin"); +static const u8 gSeafoamIslandsMapPreviewPalette[] = INCBIN_U8("data/map_preview/seafoam_islands_pal.gbapal"); +static const u8 gSeafoamIslandsMapPreviewTiles[] = INCBIN_U8("data/map_preview/seafoam_islands_tiles.4bpp.lz"); +static const u8 gSeafoamIslandsMapPreviewTilemap[] = INCBIN_U8("data/map_preview/seafoam_islands_tilemap.bin"); +static const u8 gRocketWarehouseMapPreviewPalette[] = INCBIN_U8("data/map_preview/rocket_warehouse_pal.gbapal"); +static const u8 gRocketWarehouseMapPreviewTiles[] = INCBIN_U8("data/map_preview/rocket_warehouse_tiles.4bpp.lz"); +static const u8 gRocketWarehouseMapPreviewTilemap[] = INCBIN_U8("data/map_preview/rocket_warehouse_tilemap.bin"); +static const u8 gKantoVictoryRoadMapPreviewPalette[] = INCBIN_U8("data/map_preview/kanto_victory_road_pal.gbapal"); +static const u8 gKantoVictoryRoadMapPreviewTiles[] = INCBIN_U8("data/map_preview/kanto_victory_road_tiles.4bpp.lz"); +static const u8 gKantoVictoryRoadMapPreviewTilemap[] = INCBIN_U8("data/map_preview/kanto_victory_road_tilemap.bin"); +static const u8 gMtEmberMapPreviewPalette[] = INCBIN_U8("data/map_preview/mt_ember_pal.gbapal"); +static const u8 gMtEmberMapPreviewTiles[] = INCBIN_U8("data/map_preview/mt_ember_tiles.4bpp.lz"); +static const u8 gMtEmberMapPreviewTilemap[] = INCBIN_U8("data/map_preview/mt_ember_tilemap.bin"); +static const u8 gKantoSafariZoneMapPreviewPalette[] = INCBIN_U8("data/map_preview/kanto_safari_zone_pal.gbapal"); +static const u8 gKantoSafariZoneMapPreviewTiles[] = INCBIN_U8("data/map_preview/kanto_safari_zone_tiles.4bpp.lz"); +static const u8 gKantoSafariZoneMapPreviewTilemap[] = INCBIN_U8("data/map_preview/kanto_safari_zone_tilemap.bin"); +static const u8 gMoneanChamberMapPreviewPalette[] = INCBIN_U8("data/map_preview/monean_chamber_pal.gbapal"); +static const u8 gMoneanChamberMapPreviewTiles[] = INCBIN_U8("data/map_preview/monean_chamber_tiles.4bpp.lz"); +static const u8 gMoneanChamberMapPreviewTilemap[] = INCBIN_U8("data/map_preview/monean_chamber_tilemap.bin"); +static const u8 gDottedHoleMapPreviewPalette[] = INCBIN_U8("data/map_preview/dotted_hole_pal.gbapal"); +static const u8 gDottedHoleMapPreviewTiles[] = INCBIN_U8("data/map_preview/dotted_hole_tiles.4bpp.lz"); +static const u8 gDottedHoleMapPreviewTilemap[] = INCBIN_U8("data/map_preview/dotted_hole_tilemap.bin"); +static const u8 gCeruleanCaveMapPreviewPalette[] = INCBIN_U8("data/map_preview/cerulean_cave_pal.gbapal"); +static const u8 gCeruleanCaveMapPreviewTiles[] = INCBIN_U8("data/map_preview/cerulean_cave_tiles.4bpp.lz"); +static const u8 gCeruleanCaveMapPreviewTilemap[] = INCBIN_U8("data/map_preview/cerulean_cave_tilemap.bin"); +static const u8 gDiglettsCaveMapPreviewPalette[] = INCBIN_U8("data/map_preview/digletts_cave_pal.gbapal"); +static const u8 gDiglettsCaveMapPreviewTiles[] = INCBIN_U8("data/map_preview/digletts_cave_tiles.4bpp.lz"); +static const u8 gDiglettsCaveMapPreviewTilemap[] = INCBIN_U8("data/map_preview/digletts_cave_tilemap.bin"); +static const u8 gLostCaveMapPreviewPalette[] = INCBIN_U8("data/map_preview/lost_cave_pal.gbapal"); +static const u8 gLostCaveMapPreviewTiles[] = INCBIN_U8("data/map_preview/lost_cave_tiles.4bpp.lz"); +static const u8 gLostCaveMapPreviewTilemap[] = INCBIN_U8("data/map_preview/lost_cave_tilemap.bin"); +static const u8 gBerryForestMapPreviewPalette[] = INCBIN_U8("data/map_preview/berry_forest_pal.gbapal"); +static const u8 gBerryForestMapPreviewTiles[] = INCBIN_U8("data/map_preview/berry_forest_tiles.4bpp.lz"); +static const u8 gBerryForestMapPreviewTilemap[] = INCBIN_U8("data/map_preview/berry_forest_tilemap.bin"); +static const u8 gIcefallCaveMapPreviewPalette[] = INCBIN_U8("data/map_preview/icefall_cave_pal.gbapal"); +static const u8 gIcefallCaveMapPreviewTiles[] = INCBIN_U8("data/map_preview/icefall_cave_tiles.4bpp.lz"); +static const u8 gIcefallCaveMapPreviewTilemap[] = INCBIN_U8("data/map_preview/icefall_cave_tilemap.bin"); +static const u8 gAlteringCaveMapPreviewPalette[] = INCBIN_U8("data/map_preview/altering_cave_pal.gbapal"); +static const u8 gAlteringCaveMapPreviewTiles[] = INCBIN_U8("data/map_preview/altering_cave_tiles.4bpp.lz"); +static const u8 gAlteringCaveMapPreviewTilemap[] = INCBIN_U8("data/map_preview/altering_cave_tilemap.bin"); + +static const struct MapPreviewScreen gUnknown_843E9E8[MPS_COUNT] = { + { + .id = MAPSEC_VIRIDIAN_FOREST, + .forceFirstTime = TRUE, + .flagId = FLAG_WORLD_MAP_VIRIDIAN_FOREST, + .tilesptr = gViridianForestMapPreviewTiles, + .tilemapptr = gViridianForestMapPreviewTilemap, + .palptr = gViridianForestMapPreviewPalette + }, { + .id = MAPSEC_MT_MOON, + .forceFirstTime = FALSE, + .flagId = FLAG_WORLD_MAP_MT_MOON_1F, + .tilesptr = gMtMoonMapPreviewTiles, + .tilemapptr = gMtMoonMapPreviewTilemap, + .palptr = gMtMoonMapPreviewPalette + }, { + .id = MAPSEC_DIGLETTS_CAVE, + .forceFirstTime = FALSE, + .flagId = FLAG_WORLD_MAP_DIGLETTS_CAVE_B1F, + .tilesptr = gDiglettsCaveMapPreviewTiles, + .tilemapptr = gDiglettsCaveMapPreviewTilemap, + .palptr = gDiglettsCaveMapPreviewPalette + }, { + .id = MAPSEC_ROCK_TUNNEL, + .forceFirstTime = FALSE, + .flagId = FLAG_WORLD_MAP_ROCK_TUNNEL_1F, + .tilesptr = gRockTunnelMapPreviewTiles, + .tilemapptr = gRockTunnelMapPreviewTilemap, + .palptr = gRockTunnelMapPreviewPalette + }, { + .id = MAPSEC_POKEMON_TOWER, + .forceFirstTime = FALSE, + .flagId = FLAG_WORLD_MAP_POKEMON_TOWER_1F, + .tilesptr = gPokemonTowerMapPreviewTiles, + .tilemapptr = gPokemonTowerMapPreviewTilemap, + .palptr = gPokemonTowerMapPreviewPalette + }, { + .id = MAPSEC_KANTO_SAFARI_ZONE, + .forceFirstTime = TRUE, + .flagId = FLAG_WORLD_MAP_SAFARI_ZONE_CENTER, + .tilesptr = gKantoSafariZoneMapPreviewTiles, + .tilemapptr = gKantoSafariZoneMapPreviewTilemap, + .palptr = gKantoSafariZoneMapPreviewPalette + }, { + .id = MAPSEC_SEAFOAM_ISLANDS, + .forceFirstTime = FALSE, + .flagId = FLAG_WORLD_MAP_SEAFOAM_ISLANDS_1F, + .tilesptr = gSeafoamIslandsMapPreviewTiles, + .tilemapptr = gSeafoamIslandsMapPreviewTilemap, + .palptr = gSeafoamIslandsMapPreviewPalette + }, { + .id = MAPSEC_POKEMON_MANSION, + .forceFirstTime = TRUE, + .flagId = FLAG_WORLD_MAP_POKEMON_MANSION_1F, + .tilesptr = gPokemonMansionMapPreviewTiles, + .tilemapptr = gPokemonMansionMapPreviewTilemap, + .palptr = gPokemonMansionMapPreviewPalette + }, { + .id = MAPSEC_ROCKET_HIDEOUT, + .forceFirstTime = TRUE, + .flagId = FLAG_WORLD_MAP_ROCKET_HIDEOUT_B1F, + .tilesptr = gRocketHideoutMapPreviewTiles, + .tilemapptr = gRocketHideoutMapPreviewTilemap, + .palptr = gRocketHideoutMapPreviewPalette + }, { + .id = MAPSEC_SILPH_CO, + .forceFirstTime = FALSE, + .flagId = FLAG_WORLD_MAP_SILPH_CO_1F, + .tilesptr = gSilphCoMapPreviewTiles, + .tilemapptr = gSilphCoMapPreviewTilemap, + .palptr = gSilphCoMapPreviewPalette + }, { + .id = MAPSEC_KANTO_VICTORY_ROAD, + .forceFirstTime = FALSE, + .flagId = FLAG_WORLD_MAP_VICTORY_ROAD_1F, + .tilesptr = gKantoVictoryRoadMapPreviewTiles, + .tilemapptr = gKantoVictoryRoadMapPreviewTilemap, + .palptr = gKantoVictoryRoadMapPreviewPalette + }, { + .id = MAPSEC_CERULEAN_CAVE, + .forceFirstTime = FALSE, + .flagId = FLAG_WORLD_MAP_CERULEAN_CAVE_1F, + .tilesptr = gCeruleanCaveMapPreviewTiles, + .tilemapptr = gCeruleanCaveMapPreviewTilemap, + .palptr = gCeruleanCaveMapPreviewPalette + }, { + .id = MAPSEC_POWER_PLANT, + .forceFirstTime = TRUE, + .flagId = FLAG_WORLD_MAP_POWER_PLANT, + .tilesptr = gPowerPlantMapPreviewTiles, + .tilemapptr = gPowerPlantMapPreviewTilemap, + .palptr = gPowerPlantMapPreviewPalette + }, { + .id = MAPSEC_MT_EMBER, + .forceFirstTime = FALSE, + .flagId = FLAG_WORLD_MAP_MT_EMBER_EXTERIOR, + .tilesptr = gMtEmberMapPreviewTiles, + .tilemapptr = gMtEmberMapPreviewTilemap, + .palptr = gMtEmberMapPreviewPalette + }, { + .id = MAPSEC_ROCKET_WAREHOUSE, + .forceFirstTime = TRUE, + .flagId = FLAG_WORLD_MAP_THREE_ISLAND_BERRY_FOREST, + .tilesptr = gRocketWarehouseMapPreviewTiles, + .tilemapptr = gRocketWarehouseMapPreviewTilemap, + .palptr = gRocketWarehouseMapPreviewPalette + }, { + .id = MAPSEC_MONEAN_CHAMBER, + .forceFirstTime = FALSE, + .flagId = FLAG_WORLD_MAP_SEVEN_ISLAND_TANOBY_RUINS_MONEAN_CHAMBER, + .tilesptr = gMoneanChamberMapPreviewTiles, + .tilemapptr = gMoneanChamberMapPreviewTilemap, + .palptr = gMoneanChamberMapPreviewPalette + }, { + .id = MAPSEC_DOTTED_HOLE, + .forceFirstTime = FALSE, + .flagId = FLAG_WORLD_MAP_SIX_ISLAND_DOTTED_HOLE_1F, + .tilesptr = gDottedHoleMapPreviewTiles, + .tilemapptr = gDottedHoleMapPreviewTilemap, + .palptr = gDottedHoleMapPreviewPalette + }, { + .id = MAPSEC_BERRY_FOREST, + .forceFirstTime = TRUE, + .flagId = FLAG_WORLD_MAP_THREE_ISLAND_BERRY_FOREST, + .tilesptr = gBerryForestMapPreviewTiles, + .tilemapptr = gBerryForestMapPreviewTilemap, + .palptr = gBerryForestMapPreviewPalette + }, { + .id = MAPSEC_ICEFALL_CAVE, + .forceFirstTime = FALSE, + .flagId = FLAG_WORLD_MAP_FOUR_ISLAND_ICEFALL_CAVE_ENTRANCE, + .tilesptr = gIcefallCaveMapPreviewTiles, + .tilemapptr = gIcefallCaveMapPreviewTilemap, + .palptr = gIcefallCaveMapPreviewPalette + }, { + .id = MAPSEC_LOST_CAVE, + .forceFirstTime = FALSE, + .flagId = FLAG_WORLD_MAP_FIVE_ISLAND_LOST_CAVE_ENTRANCE, + .tilesptr = gLostCaveMapPreviewTiles, + .tilemapptr = gLostCaveMapPreviewTilemap, + .palptr = gLostCaveMapPreviewPalette + }, { + .id = MAPSEC_ALTERING_CAVE, + .forceFirstTime = FALSE, + .flagId = FLAG_WORLD_MAP_SIX_ISLAND_ALTERING_CAVE, + .tilesptr = gAlteringCaveMapPreviewTiles, + .tilemapptr = gAlteringCaveMapPreviewTilemap, + .palptr = gAlteringCaveMapPreviewPalette + }, { + .id = MAPSEC_PATTERN_BUSH, + .forceFirstTime = TRUE, + .flagId = FLAG_WORLD_MAP_SIX_ISLAND_PATTERN_BUSH, + .tilesptr = gViridianForestMapPreviewTiles, + .tilemapptr = gViridianForestMapPreviewTilemap, + .palptr = gViridianForestMapPreviewPalette + }, { + .id = MAPSEC_LIPTOO_CHAMBER, + .forceFirstTime = FALSE, + .flagId = FLAG_WORLD_MAP_SEVEN_ISLAND_TANOBY_RUINS_MONEAN_CHAMBER, + .tilesptr = gMoneanChamberMapPreviewTiles, + .tilemapptr = gMoneanChamberMapPreviewTilemap, + .palptr = gMoneanChamberMapPreviewPalette + }, { + .id = MAPSEC_WEEPTH_CHAMBER, + .forceFirstTime = FALSE, + .flagId = FLAG_WORLD_MAP_SEVEN_ISLAND_TANOBY_RUINS_MONEAN_CHAMBER, + .tilesptr = gMoneanChamberMapPreviewTiles, + .tilemapptr = gMoneanChamberMapPreviewTilemap, + .palptr = gMoneanChamberMapPreviewPalette + }, { + .id = MAPSEC_DILFORD_CHAMBER, + .forceFirstTime = FALSE, + .flagId = FLAG_WORLD_MAP_SEVEN_ISLAND_TANOBY_RUINS_MONEAN_CHAMBER, + .tilesptr = gMoneanChamberMapPreviewTiles, + .tilemapptr = gMoneanChamberMapPreviewTilemap, + .palptr = gMoneanChamberMapPreviewPalette + }, { + .id = MAPSEC_SCUFIB_CHAMBER, + .forceFirstTime = FALSE, + .flagId = FLAG_WORLD_MAP_SEVEN_ISLAND_TANOBY_RUINS_MONEAN_CHAMBER, + .tilesptr = gMoneanChamberMapPreviewTiles, + .tilemapptr = gMoneanChamberMapPreviewTilemap, + .palptr = gMoneanChamberMapPreviewPalette + }, { + .id = MAPSEC_RIXY_CHAMBER, + .forceFirstTime = FALSE, + .flagId = FLAG_WORLD_MAP_SEVEN_ISLAND_TANOBY_RUINS_MONEAN_CHAMBER, + .tilesptr = gMoneanChamberMapPreviewTiles, + .tilemapptr = gMoneanChamberMapPreviewTilemap, + .palptr = gMoneanChamberMapPreviewPalette + }, { + .id = MAPSEC_VIAPOIS_CHAMBER, + .forceFirstTime = FALSE, + .flagId = FLAG_WORLD_MAP_SEVEN_ISLAND_TANOBY_RUINS_MONEAN_CHAMBER, + .tilesptr = gMoneanChamberMapPreviewTiles, + .tilemapptr = gMoneanChamberMapPreviewTilemap, + .palptr = gMoneanChamberMapPreviewPalette + } +}; + +static const struct WindowTemplate gUnknown_843EBA8 = { + .bg = 0, + .tilemapLeft = 0, + .tilemapTop = 0, + .width = 13, + .height = 2, + .paletteNum = 14, + .baseBlock = 0x1C2 +}; + +static const struct BgTemplate gUnknown_843EBB0[1] = { + { + .mapBaseIndex = 31 + } +}; + +static u8 sub_80F80E4(u8 id) +{ + s32 i; + + for (i = 0; i < MPS_COUNT; i++) + { + if (gUnknown_843E9E8[i].id == id) + { + return i; + } + } + return MPS_COUNT; +} + +bool8 sub_80F8110(u8 id, u8 a1) +{ + u8 idx; + + idx = sub_80F80E4(id); + if (idx != MPS_COUNT) + { + if (a1 == 2) + { + return TRUE; + } + else + { + return gUnknown_843E9E8[idx].forceFirstTime == a1 ? TRUE : FALSE; + } + } + else + { + return FALSE; + } +} + +bool8 sub_80F8154(u8 id, u8 a1) +{ + if (gUnknown_203ADFA == 2) + { + return FALSE; + } + else + { + return sub_80F8110(id, a1); + } +} + +void sub_80F8180(void) +{ + InitBgsFromTemplates(0, gUnknown_843EBB0, NELEMS(gUnknown_843EBB0)); + ShowBg(0); +} + +void sub_80F819C(u8 id) +{ + u8 idx; + + idx = sub_80F80E4(id); + if (idx != MPS_COUNT) + { + ResetTempTileDataBuffers(); + LoadPalette(gUnknown_843E9E8[idx].palptr, 0xD0, 0x60); + DecompressAndCopyTileDataToVram(0, gUnknown_843E9E8[idx].tilesptr, 0, 0, 0); + if (GetBgTilemapBuffer(0) == NULL) + { + SetBgTilemapBuffer(0, Alloc(BG_SCREEN_SIZE)); + gUnknown_203ABED = TRUE; + } + else + { + gUnknown_203ABED = FALSE; + } + CopyToBgTilemapBuffer(0, gUnknown_843E9E8[idx].tilemapptr, 0, 0x000); + CopyBgTilemapBufferToVram(0); + } +} + +void sub_80F8234(s32 windowId) +{ + RemoveWindow(windowId); + if (gUnknown_203ABED) + { + Free(GetBgTilemapBuffer(0)); + } +} + +bool32 sub_80F8258(void) +{ + return FreeTempTileDataBuffersIfPossible(); +} + +void sub_80F8268(u8 id) +{ + u8 taskId; + + taskId = CreateTask(sub_80F83D0, 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(id); + 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(id); + ScriptContext2_Enable(); +} + +u16 sub_80F8318(u8 id) +{ + u16 windowId; + u32 xctr; + struct TextColor color[0]; + + windowId = AddWindow(&gUnknown_843EBA8); + FillWindowPixelBuffer(windowId, PIXEL_FILL(1)); + PutWindowTilemap(windowId); + color->fgColor = 1; // Access violation + color->bgColor = 4; // Access violation + color->shadowColor = 3; // Access violation + GetMapName(gStringVar4, id, 0); + xctr = 104 - GetStringWidth(2, gStringVar4, 0); + AddTextPrinterParameterized4(windowId, 2, xctr / 2, 2, 0, 0, color/* Access violation */, -1, gStringVar4); + return windowId; +} + +bool8 sub_80F83B0(void) +{ + if (FuncIsActiveTask(sub_80F83D0) == TRUE) + { + return FALSE; + } + else + { + return TRUE; + } +} + +static void sub_80F83D0(u8 taskId) +{ + s16 * data; + + data = gTasks[taskId].data; + switch (data[0]) + { + case 0: + if (!sub_80F8258() && !IsDma3ManagerBusyWithBgCopy()) + { + CopyWindowToVram(data[11], 3); + data[0]++; + } + break; + case 1: + if (!IsDma3ManagerBusyWithBgCopy()) + { + sub_807DC00(); + data[0]++; + } + break; + case 2: + if (sub_807AA70()) + { + Overworld_PlaySpecialMapMusic(); + data[0]++; + } + break; + case 3: + data[1]++; + if (data[1] > data[10]) + { + data[1] = 0; + data[0]++; + } + break; + case 4: + switch (data[1]) + { + case 0: + data[9]++; + if (data[9] > 16) + { + data[9] = 16; + } + break; + case 1: + data[8]--; + if (data[8] < 0) + { + data[8] = 0; + } + break; + } + data[1] = (data[1] + 1) % 3; + SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(data[8], data[9])); + if (data[8] == 0 && data[9] == 16) + { + FillBgTilemapBufferRect_Palette0(0, 0, 0, 0, 32, 32); + CopyBgTilemapBufferToVram(0); + data[0]++; + } + break; + case 5: + if (!IsDma3ManagerBusyWithBgCopy()) + { + sub_80F8234(data[11]); + SetBgAttribute(0, BG_ATTR_PRIORITY, data[2]); + SetGpuReg(REG_OFFSET_DISPCNT, data[3]); + SetGpuReg(REG_OFFSET_BLDCNT, data[4]); + SetGpuReg(REG_OFFSET_BLDALPHA, data[5]); + SetGpuReg(REG_OFFSET_WININ, data[6]); + SetGpuReg(REG_OFFSET_WINOUT, data[7]); + DestroyTask(taskId); + } + break; + } +} + +const struct MapPreviewScreen * sub_80F8544(u8 id) +{ + u8 idx; + + idx = sub_80F80E4(id); + if (idx == MPS_COUNT) + { + return NULL; + } + else + { + return &gUnknown_843E9E8[idx]; + } +} + +u16 sub_80F856C(u8 id) +{ + u8 idx; + u16 flagId; + + idx = sub_80F80E4(id); + if (idx == MPS_COUNT) + { + return 0; + } + flagId = gUnknown_843E9E8[idx].flagId; + if (gUnknown_843E9E8[idx].forceFirstTime == 0) + { + if (!FlagGet(flagId)) + { + return 120; + } + else + { + return 40; + } + } + else { + if (gUnknown_203ABEC) + { + return 120; + } + else + { + return 40; + } + } +} + +void sub_80F85BC(u16 flagId) +{ + if (!FlagGet(flagId)) + { + gUnknown_203ABEC = TRUE; + } + else + { + gUnknown_203ABEC = FALSE; + } + FlagSet(flagId); +} diff --git a/sym_ewram.txt b/sym_ewram.txt index 3229c3c40..f6540358e 100644 --- a/sym_ewram.txt +++ b/sym_ewram.txt @@ -1124,12 +1124,10 @@ gUnknown_203ABE4: @ 203ABE4 gUnknown_203ABE8: @ 203ABE8 .space 0x4 -gUnknown_203ABEC: @ 203ABEC - .space 0x1 - -gUnknown_203ABED: @ 203ABED - .space 0x3 + .align 2 + .include "src/map_preview_screen.o" + .align 2 gUnknown_203ABF0: @ 203ABF0 .space 0x18