diff options
author | PikalaxALT <PikalaxALT@users.noreply.github.com> | 2019-08-26 11:52:43 -0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-08-26 11:52:43 -0400 |
commit | 634fe80e9dcaffc9b1cf622b3132e686e926e97f (patch) | |
tree | 57a5d22d2b9fea2a39c2124df34283032b360ffb | |
parent | 74e2a0e123be0ecd0e0df516ce242aea9c348117 (diff) | |
parent | b33bcd657768bbc25981420710930a4cdd11a5c2 (diff) |
Merge pull request #94 from PikalaxALT/map_preview_screen
Decompile map_preview_screen
74 files changed, 1430 insertions, 679 deletions
@@ -1,5 +1,10 @@ # Pokémon FireRed and LeafGreen +[![Build Status][travis-badge]][travis] + +[travis]: https://travis-ci.org/pret/pokefirered +[travis-badge]: https://travis-ci.org/pret/pokefirered.svg?branch=master + This is a disassembly of Pokémon FireRed and LeafGreen. It builds the following ROM: 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/baserom.ips b/baserom.ips Binary files differindex b8bb6bebb..c4f49efb2 100644 --- a/baserom.ips +++ b/baserom.ips 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 Binary files differnew file mode 100644 index 000000000..fa907c6e7 --- /dev/null +++ b/data/map_preview/altering_cave_tilemap.bin diff --git a/data/map_preview/altering_cave_tiles.png b/data/map_preview/altering_cave_tiles.png Binary files differnew file mode 100644 index 000000000..4ea8496a2 --- /dev/null +++ b/data/map_preview/altering_cave_tiles.png diff --git a/data/map_preview/berry_forest_pal.pal b/data/map_preview/berry_forest_pal.pal new file mode 100644 index 000000000..755a6c2ed --- /dev/null +++ b/data/map_preview/berry_forest_pal.pal @@ -0,0 +1,35 @@ +JASC-PAL +0100 +32 +255 255 90 +238 238 246 +197 197 98 +180 180 90 +106 115 24 +156 156 49 +197 164 90 +164 131 74 +131 106 65 +213 213 156 +222 238 172 +156 189 115 +131 156 82 +131 123 57 +246 246 246 +189 213 139 +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/berry_forest_tilemap.bin b/data/map_preview/berry_forest_tilemap.bin Binary files differnew file mode 100644 index 000000000..fe7312a9f --- /dev/null +++ b/data/map_preview/berry_forest_tilemap.bin diff --git a/data/map_preview/berry_forest_tiles.png b/data/map_preview/berry_forest_tiles.png Binary files differnew file mode 100644 index 000000000..6f6efd0fe --- /dev/null +++ b/data/map_preview/berry_forest_tiles.png 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 Binary files differnew file mode 100644 index 000000000..e66ab7ea3 --- /dev/null +++ b/data/map_preview/cerulean_cave_tilemap.bin diff --git a/data/map_preview/cerulean_cave_tiles.png b/data/map_preview/cerulean_cave_tiles.png Binary files differnew file mode 100644 index 000000000..e9f7b4e2e --- /dev/null +++ b/data/map_preview/cerulean_cave_tiles.png diff --git a/data/map_preview/digletts_cave_pal.pal b/data/map_preview/digletts_cave_pal.pal new file mode 100644 index 000000000..923d83144 --- /dev/null +++ b/data/map_preview/digletts_cave_pal.pal @@ -0,0 +1,35 @@ +JASC-PAL +0100 +32 +255 255 0 +49 57 74 +197 197 205 +189 180 172 +148 148 115 +222 238 246 +90 98 90 +106 148 106 +222 222 180 +189 189 148 +164 164 123 +156 197 123 +115 164 82 +106 106 98 +197 222 156 +74 74 65 +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/digletts_cave_tilemap.bin b/data/map_preview/digletts_cave_tilemap.bin Binary files differnew file mode 100644 index 000000000..2f8bbd665 --- /dev/null +++ b/data/map_preview/digletts_cave_tilemap.bin diff --git a/data/map_preview/digletts_cave_tiles.png b/data/map_preview/digletts_cave_tiles.png Binary files differnew file mode 100644 index 000000000..c3e7d2879 --- /dev/null +++ b/data/map_preview/digletts_cave_tiles.png 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 Binary files differnew file mode 100644 index 000000000..a83083b38 --- /dev/null +++ b/data/map_preview/dotted_hole_tilemap.bin diff --git a/data/map_preview/dotted_hole_tiles.png b/data/map_preview/dotted_hole_tiles.png Binary files differnew file mode 100644 index 000000000..f2d23d46e --- /dev/null +++ b/data/map_preview/dotted_hole_tiles.png 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 Binary files differnew file mode 100644 index 000000000..bd1d05d1b --- /dev/null +++ b/data/map_preview/icefall_cave_tilemap.bin diff --git a/data/map_preview/icefall_cave_tiles.png b/data/map_preview/icefall_cave_tiles.png Binary files differnew file mode 100644 index 000000000..211f19758 --- /dev/null +++ b/data/map_preview/icefall_cave_tiles.png diff --git a/data/map_preview/kanto_safari_zone_pal.pal b/data/map_preview/kanto_safari_zone_pal.pal new file mode 100644 index 000000000..0434848d8 --- /dev/null +++ b/data/map_preview/kanto_safari_zone_pal.pal @@ -0,0 +1,35 @@ +JASC-PAL +0100 +32 +0 0 0 +222 230 213 +222 213 148 +197 230 148 +213 238 164 +123 164 90 +230 246 246 +222 238 246 +213 222 255 +180 222 98 +205 180 115 +205 213 197 +180 156 106 +164 197 90 +222 238 197 +222 246 213 +255 255 90 +246 246 255 +74 98 123 +213 213 213 +0 0 0 +189 222 98 +172 205 90 +115 172 65 +222 213 148 +139 197 98 +205 180 115 +205 230 246 +180 156 106 +222 238 246 +189 213 255 +197 230 148 diff --git a/data/map_preview/kanto_safari_zone_tilemap.bin b/data/map_preview/kanto_safari_zone_tilemap.bin Binary files differnew file mode 100644 index 000000000..756de73b6 --- /dev/null +++ b/data/map_preview/kanto_safari_zone_tilemap.bin diff --git a/data/map_preview/kanto_safari_zone_tiles.png b/data/map_preview/kanto_safari_zone_tiles.png Binary files differnew file mode 100644 index 000000000..b1da5a41d --- /dev/null +++ b/data/map_preview/kanto_safari_zone_tiles.png 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 Binary files differnew file mode 100644 index 000000000..03d1cc292 --- /dev/null +++ b/data/map_preview/kanto_victory_road_tilemap.bin diff --git a/data/map_preview/kanto_victory_road_tiles.png b/data/map_preview/kanto_victory_road_tiles.png Binary files differnew file mode 100644 index 000000000..b3432b9c9 --- /dev/null +++ b/data/map_preview/kanto_victory_road_tiles.png 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 Binary files differnew file mode 100644 index 000000000..6c256acc2 --- /dev/null +++ b/data/map_preview/lost_cave_tilemap.bin diff --git a/data/map_preview/lost_cave_tiles.png b/data/map_preview/lost_cave_tiles.png Binary files differnew file mode 100644 index 000000000..a2c4c8f38 --- /dev/null +++ b/data/map_preview/lost_cave_tiles.png diff --git a/data/map_preview/monean_chamber_pal.pal b/data/map_preview/monean_chamber_pal.pal new file mode 100644 index 000000000..ce72a4891 --- /dev/null +++ b/data/map_preview/monean_chamber_pal.pal @@ -0,0 +1,35 @@ +JASC-PAL +0100 +32 +255 255 0 +74 82 98 +205 213 139 +156 164 82 +123 131 82 +213 189 164 +222 230 164 +115 189 106 +172 213 131 +172 148 123 +213 238 238 +230 205 180 +131 106 98 +180 189 123 +197 230 255 +230 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/monean_chamber_tilemap.bin b/data/map_preview/monean_chamber_tilemap.bin Binary files differnew file mode 100644 index 000000000..f228d3daf --- /dev/null +++ b/data/map_preview/monean_chamber_tilemap.bin diff --git a/data/map_preview/monean_chamber_tiles.png b/data/map_preview/monean_chamber_tiles.png Binary files differnew file mode 100644 index 000000000..6426d175f --- /dev/null +++ b/data/map_preview/monean_chamber_tiles.png 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 Binary files differnew file mode 100644 index 000000000..52af71494 --- /dev/null +++ b/data/map_preview/mt_ember_tilemap.bin diff --git a/data/map_preview/mt_ember_tiles.png b/data/map_preview/mt_ember_tiles.png Binary files differnew file mode 100644 index 000000000..9145e9d4f --- /dev/null +++ b/data/map_preview/mt_ember_tiles.png diff --git a/data/map_preview/mt_moon_pal.pal b/data/map_preview/mt_moon_pal.pal new file mode 100644 index 000000000..9a858a8c6 --- /dev/null +++ b/data/map_preview/mt_moon_pal.pal @@ -0,0 +1,35 @@ +JASC-PAL +0100 +32 +255 255 0 +74 82 98 +230 238 255 +65 131 90 +115 180 115 +156 213 148 +205 205 230 +230 222 255 +222 222 180 +115 106 90 +148 139 98 +172 164 115 +205 197 164 +205 197 164 +205 230 255 +238 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/mt_moon_tilemap.bin b/data/map_preview/mt_moon_tilemap.bin Binary files differnew file mode 100644 index 000000000..469efcf77 --- /dev/null +++ b/data/map_preview/mt_moon_tilemap.bin diff --git a/data/map_preview/mt_moon_tiles.png b/data/map_preview/mt_moon_tiles.png Binary files differnew file mode 100644 index 000000000..8ede39bdd --- /dev/null +++ b/data/map_preview/mt_moon_tiles.png 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 Binary files differnew file mode 100644 index 000000000..a8b1b3d3f --- /dev/null +++ b/data/map_preview/pokemon_mansion_tilemap.bin diff --git a/data/map_preview/pokemon_mansion_tiles.png b/data/map_preview/pokemon_mansion_tiles.png Binary files differnew file mode 100644 index 000000000..1fa94ceda --- /dev/null +++ b/data/map_preview/pokemon_mansion_tiles.png diff --git a/data/map_preview/pokemon_tower_pal.pal b/data/map_preview/pokemon_tower_pal.pal new file mode 100644 index 000000000..93f4847ae --- /dev/null +++ b/data/map_preview/pokemon_tower_pal.pal @@ -0,0 +1,35 @@ +JASC-PAL +0100 +32 +255 255 0 +222 213 246 +213 230 213 +172 180 205 +205 197 156 +180 205 180 +148 164 148 +238 246 238 +238 230 189 +230 238 255 +148 156 180 +255 246 205 +172 164 123 +115 123 148 +197 205 230 +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/pokemon_tower_tilemap.bin b/data/map_preview/pokemon_tower_tilemap.bin Binary files differnew file mode 100644 index 000000000..f12b9bdf8 --- /dev/null +++ b/data/map_preview/pokemon_tower_tilemap.bin diff --git a/data/map_preview/pokemon_tower_tiles.png b/data/map_preview/pokemon_tower_tiles.png Binary files differnew file mode 100644 index 000000000..21583f9b3 --- /dev/null +++ b/data/map_preview/pokemon_tower_tiles.png diff --git a/data/map_preview/power_plant_pal.pal b/data/map_preview/power_plant_pal.pal new file mode 100644 index 000000000..49e5d6800 --- /dev/null +++ b/data/map_preview/power_plant_pal.pal @@ -0,0 +1,35 @@ +JASC-PAL +0100 +32 +255 255 0 +74 82 98 +255 246 205 +189 180 189 +189 189 222 +230 222 123 +222 205 205 +246 230 230 +139 156 189 +222 238 255 +106 123 156 +213 189 164 +164 156 164 +238 246 255 +255 238 238 +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/power_plant_tilemap.bin b/data/map_preview/power_plant_tilemap.bin Binary files differnew file mode 100644 index 000000000..609cbb30d --- /dev/null +++ b/data/map_preview/power_plant_tilemap.bin diff --git a/data/map_preview/power_plant_tiles.png b/data/map_preview/power_plant_tiles.png Binary files differnew file mode 100644 index 000000000..6cd334aa9 --- /dev/null +++ b/data/map_preview/power_plant_tiles.png diff --git a/data/map_preview/rock_tunnel_pal.pal b/data/map_preview/rock_tunnel_pal.pal new file mode 100644 index 000000000..1412128d0 --- /dev/null +++ b/data/map_preview/rock_tunnel_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 +205 205 189 +222 222 205 +238 238 222 +123 123 90 +164 164 123 +197 197 148 +213 213 180 +230 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/rock_tunnel_tilemap.bin b/data/map_preview/rock_tunnel_tilemap.bin Binary files differnew file mode 100644 index 000000000..9c322e0b1 --- /dev/null +++ b/data/map_preview/rock_tunnel_tilemap.bin diff --git a/data/map_preview/rock_tunnel_tiles.png b/data/map_preview/rock_tunnel_tiles.png Binary files differnew file mode 100644 index 000000000..e58ef7fb1 --- /dev/null +++ b/data/map_preview/rock_tunnel_tiles.png diff --git a/data/map_preview/rocket_hideout_pal.pal b/data/map_preview/rocket_hideout_pal.pal new file mode 100644 index 000000000..9c969e843 --- /dev/null +++ b/data/map_preview/rocket_hideout_pal.pal @@ -0,0 +1,35 @@ +JASC-PAL +0100 +32 +255 255 0 +98 106 123 +156 180 156 +222 213 172 +238 238 246 +246 238 197 +189 156 131 +222 189 164 +213 213 222 +222 238 222 +139 156 139 +197 222 197 +197 230 180 +131 139 156 +238 205 180 +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/rocket_hideout_tilemap.bin b/data/map_preview/rocket_hideout_tilemap.bin Binary files differnew file mode 100644 index 000000000..db9757ebb --- /dev/null +++ b/data/map_preview/rocket_hideout_tilemap.bin diff --git a/data/map_preview/rocket_hideout_tiles.png b/data/map_preview/rocket_hideout_tiles.png Binary files differnew file mode 100644 index 000000000..8f57f8afe --- /dev/null +++ b/data/map_preview/rocket_hideout_tiles.png diff --git a/data/map_preview/rocket_warehouse_pal.pal b/data/map_preview/rocket_warehouse_pal.pal new file mode 100644 index 000000000..c4fffd171 --- /dev/null +++ b/data/map_preview/rocket_warehouse_pal.pal @@ -0,0 +1,35 @@ +JASC-PAL +0100 +32 +255 255 0 +98 106 123 +139 180 172 +222 213 172 +238 238 246 +246 238 197 +189 156 131 +222 189 164 +213 213 222 +222 238 222 +139 156 139 +197 222 197 +197 230 180 +131 139 156 +238 205 180 +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/rocket_warehouse_tilemap.bin b/data/map_preview/rocket_warehouse_tilemap.bin Binary files differnew file mode 100644 index 000000000..7636eea0a --- /dev/null +++ b/data/map_preview/rocket_warehouse_tilemap.bin diff --git a/data/map_preview/rocket_warehouse_tiles.png b/data/map_preview/rocket_warehouse_tiles.png Binary files differnew file mode 100644 index 000000000..cc9dae203 --- /dev/null +++ b/data/map_preview/rocket_warehouse_tiles.png diff --git a/data/map_preview/seafoam_islands_pal.pal b/data/map_preview/seafoam_islands_pal.pal new file mode 100644 index 000000000..348275aca --- /dev/null +++ b/data/map_preview/seafoam_islands_pal.pal @@ -0,0 +1,35 @@ +JASC-PAL +0100 +32 +255 255 0 +65 74 90 +156 222 123 +106 180 98 +197 205 172 +172 172 139 +172 222 164 +222 230 205 +164 230 106 +205 238 197 +131 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/seafoam_islands_tilemap.bin b/data/map_preview/seafoam_islands_tilemap.bin Binary files differnew file mode 100644 index 000000000..05afc22fc --- /dev/null +++ b/data/map_preview/seafoam_islands_tilemap.bin diff --git a/data/map_preview/seafoam_islands_tiles.png b/data/map_preview/seafoam_islands_tiles.png Binary files differnew file mode 100644 index 000000000..b76a85053 --- /dev/null +++ b/data/map_preview/seafoam_islands_tiles.png diff --git a/data/map_preview/silph_co_pal.pal b/data/map_preview/silph_co_pal.pal new file mode 100644 index 000000000..07acfb986 --- /dev/null +++ b/data/map_preview/silph_co_pal.pal @@ -0,0 +1,35 @@ +JASC-PAL +0100 +32 +255 255 0 +238 246 246 +213 238 246 +164 205 197 +131 197 123 +197 230 230 +139 180 172 +180 180 205 +131 131 164 +205 205 230 +172 222 172 +197 213 246 +90 164 90 +123 172 164 +205 238 246 +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/silph_co_tilemap.bin b/data/map_preview/silph_co_tilemap.bin Binary files differnew file mode 100644 index 000000000..9449f6cd7 --- /dev/null +++ b/data/map_preview/silph_co_tilemap.bin diff --git a/data/map_preview/silph_co_tiles.png b/data/map_preview/silph_co_tiles.png Binary files differnew file mode 100644 index 000000000..c5433bcee --- /dev/null +++ b/data/map_preview/silph_co_tiles.png diff --git a/data/map_preview/viridian_forest_pal.pal b/data/map_preview/viridian_forest_pal.pal new file mode 100644 index 000000000..ff1655587 --- /dev/null +++ b/data/map_preview/viridian_forest_pal.pal @@ -0,0 +1,35 @@ +JASC-PAL +0100 +32 +255 255 90 +222 246 246 +156 230 148 +115 197 115 +41 106 106 +90 172 123 +197 189 106 +148 139 90 +106 98 74 +205 246 197 +180 213 230 +123 189 205 +90 156 164 +65 131 139 +246 246 255 +32 41 41 +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/viridian_forest_tilemap.bin b/data/map_preview/viridian_forest_tilemap.bin Binary files differnew file mode 100644 index 000000000..37883b634 --- /dev/null +++ b/data/map_preview/viridian_forest_tilemap.bin diff --git a/data/map_preview/viridian_forest_tiles.png b/data/map_preview/viridian_forest_tiles.png Binary files differnew file mode 100644 index 000000000..79b70c2e5 --- /dev/null +++ b/data/map_preview/viridian_forest_tiles.png 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..6590019e2 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 mapsec; + 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/src/map_preview_screen.c b/src/map_preview_screen.c new file mode 100644 index 000000000..b913d5fe8 --- /dev/null +++ b/src/map_preview_screen.c @@ -0,0 +1,615 @@ +#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 bool8 gUnknown_203ABEC = FALSE; +static EWRAM_DATA bool8 gUnknown_203ABED = FALSE; + +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 sMapPreviewScreenData[MPS_COUNT] = { + [MPS_VIRIDIAN_FOREST] = { + .mapsec = MAPSEC_VIRIDIAN_FOREST, + .forceFirstTime = TRUE, + .flagId = FLAG_WORLD_MAP_VIRIDIAN_FOREST, + .tilesptr = gViridianForestMapPreviewTiles, + .tilemapptr = gViridianForestMapPreviewTilemap, + .palptr = gViridianForestMapPreviewPalette + }, + [MPS_MT_MOON] = { + .mapsec = MAPSEC_MT_MOON, + .forceFirstTime = FALSE, + .flagId = FLAG_WORLD_MAP_MT_MOON_1F, + .tilesptr = gMtMoonMapPreviewTiles, + .tilemapptr = gMtMoonMapPreviewTilemap, + .palptr = gMtMoonMapPreviewPalette + }, + [MPS_DIGLETTS_CAVE] = { + .mapsec = MAPSEC_DIGLETTS_CAVE, + .forceFirstTime = FALSE, + .flagId = FLAG_WORLD_MAP_DIGLETTS_CAVE_B1F, + .tilesptr = gDiglettsCaveMapPreviewTiles, + .tilemapptr = gDiglettsCaveMapPreviewTilemap, + .palptr = gDiglettsCaveMapPreviewPalette + }, + [MPS_ROCK_TUNNEL] = { + .mapsec = MAPSEC_ROCK_TUNNEL, + .forceFirstTime = FALSE, + .flagId = FLAG_WORLD_MAP_ROCK_TUNNEL_1F, + .tilesptr = gRockTunnelMapPreviewTiles, + .tilemapptr = gRockTunnelMapPreviewTilemap, + .palptr = gRockTunnelMapPreviewPalette + }, + [MPS_POKEMON_TOWER] = { + .mapsec = MAPSEC_POKEMON_TOWER, + .forceFirstTime = FALSE, + .flagId = FLAG_WORLD_MAP_POKEMON_TOWER_1F, + .tilesptr = gPokemonTowerMapPreviewTiles, + .tilemapptr = gPokemonTowerMapPreviewTilemap, + .palptr = gPokemonTowerMapPreviewPalette + }, + [MPS_SAFARI_ZONE] = { + .mapsec = MAPSEC_KANTO_SAFARI_ZONE, + .forceFirstTime = TRUE, + .flagId = FLAG_WORLD_MAP_SAFARI_ZONE_CENTER, + .tilesptr = gKantoSafariZoneMapPreviewTiles, + .tilemapptr = gKantoSafariZoneMapPreviewTilemap, + .palptr = gKantoSafariZoneMapPreviewPalette + }, + [MPS_SEAFOAM_ISLANDS] = { + .mapsec = MAPSEC_SEAFOAM_ISLANDS, + .forceFirstTime = FALSE, + .flagId = FLAG_WORLD_MAP_SEAFOAM_ISLANDS_1F, + .tilesptr = gSeafoamIslandsMapPreviewTiles, + .tilemapptr = gSeafoamIslandsMapPreviewTilemap, + .palptr = gSeafoamIslandsMapPreviewPalette + }, + [MPS_POKEMON_MANSION] = { + .mapsec = MAPSEC_POKEMON_MANSION, + .forceFirstTime = TRUE, + .flagId = FLAG_WORLD_MAP_POKEMON_MANSION_1F, + .tilesptr = gPokemonMansionMapPreviewTiles, + .tilemapptr = gPokemonMansionMapPreviewTilemap, + .palptr = gPokemonMansionMapPreviewPalette + }, + [MPS_ROCKET_HIDEOUT] = { + .mapsec = MAPSEC_ROCKET_HIDEOUT, + .forceFirstTime = TRUE, + .flagId = FLAG_WORLD_MAP_ROCKET_HIDEOUT_B1F, + .tilesptr = gRocketHideoutMapPreviewTiles, + .tilemapptr = gRocketHideoutMapPreviewTilemap, + .palptr = gRocketHideoutMapPreviewPalette + }, + [MPS_SILPH_CO] = { + .mapsec = MAPSEC_SILPH_CO, + .forceFirstTime = FALSE, + .flagId = FLAG_WORLD_MAP_SILPH_CO_1F, + .tilesptr = gSilphCoMapPreviewTiles, + .tilemapptr = gSilphCoMapPreviewTilemap, + .palptr = gSilphCoMapPreviewPalette + }, + [MPS_VICTORY_ROAD] = { + .mapsec = MAPSEC_KANTO_VICTORY_ROAD, + .forceFirstTime = FALSE, + .flagId = FLAG_WORLD_MAP_VICTORY_ROAD_1F, + .tilesptr = gKantoVictoryRoadMapPreviewTiles, + .tilemapptr = gKantoVictoryRoadMapPreviewTilemap, + .palptr = gKantoVictoryRoadMapPreviewPalette + }, + [MPS_CERULEAN_CAVE] = { + .mapsec = MAPSEC_CERULEAN_CAVE, + .forceFirstTime = FALSE, + .flagId = FLAG_WORLD_MAP_CERULEAN_CAVE_1F, + .tilesptr = gCeruleanCaveMapPreviewTiles, + .tilemapptr = gCeruleanCaveMapPreviewTilemap, + .palptr = gCeruleanCaveMapPreviewPalette + }, + [MPS_POWER_PLANT] = { + .mapsec = MAPSEC_POWER_PLANT, + .forceFirstTime = TRUE, + .flagId = FLAG_WORLD_MAP_POWER_PLANT, + .tilesptr = gPowerPlantMapPreviewTiles, + .tilemapptr = gPowerPlantMapPreviewTilemap, + .palptr = gPowerPlantMapPreviewPalette + }, + [MPS_MT_EMBER] = { + .mapsec = MAPSEC_MT_EMBER, + .forceFirstTime = FALSE, + .flagId = FLAG_WORLD_MAP_MT_EMBER_EXTERIOR, + .tilesptr = gMtEmberMapPreviewTiles, + .tilemapptr = gMtEmberMapPreviewTilemap, + .palptr = gMtEmberMapPreviewPalette + }, + [MPS_ROCKET_WAREHOUSE] = { + .mapsec = MAPSEC_ROCKET_WAREHOUSE, + .forceFirstTime = TRUE, + .flagId = FLAG_WORLD_MAP_THREE_ISLAND_BERRY_FOREST, + .tilesptr = gRocketWarehouseMapPreviewTiles, + .tilemapptr = gRocketWarehouseMapPreviewTilemap, + .palptr = gRocketWarehouseMapPreviewPalette + }, + [MPS_MONEAN_CHAMBER] = { + .mapsec = MAPSEC_MONEAN_CHAMBER, + .forceFirstTime = FALSE, + .flagId = FLAG_WORLD_MAP_SEVEN_ISLAND_TANOBY_RUINS_MONEAN_CHAMBER, + .tilesptr = gMoneanChamberMapPreviewTiles, + .tilemapptr = gMoneanChamberMapPreviewTilemap, + .palptr = gMoneanChamberMapPreviewPalette + }, + [MPS_DOTTED_HOLE] = { + .mapsec = MAPSEC_DOTTED_HOLE, + .forceFirstTime = FALSE, + .flagId = FLAG_WORLD_MAP_SIX_ISLAND_DOTTED_HOLE_1F, + .tilesptr = gDottedHoleMapPreviewTiles, + .tilemapptr = gDottedHoleMapPreviewTilemap, + .palptr = gDottedHoleMapPreviewPalette + }, + [MPS_BERRY_FOREST] = { + .mapsec = MAPSEC_BERRY_FOREST, + .forceFirstTime = TRUE, + .flagId = FLAG_WORLD_MAP_THREE_ISLAND_BERRY_FOREST, + .tilesptr = gBerryForestMapPreviewTiles, + .tilemapptr = gBerryForestMapPreviewTilemap, + .palptr = gBerryForestMapPreviewPalette + }, + [MPS_ICEFALL_CAVE] = { + .mapsec = MAPSEC_ICEFALL_CAVE, + .forceFirstTime = FALSE, + .flagId = FLAG_WORLD_MAP_FOUR_ISLAND_ICEFALL_CAVE_ENTRANCE, + .tilesptr = gIcefallCaveMapPreviewTiles, + .tilemapptr = gIcefallCaveMapPreviewTilemap, + .palptr = gIcefallCaveMapPreviewPalette + }, + [MPS_LOST_CAVE] = { + .mapsec = MAPSEC_LOST_CAVE, + .forceFirstTime = FALSE, + .flagId = FLAG_WORLD_MAP_FIVE_ISLAND_LOST_CAVE_ENTRANCE, + .tilesptr = gLostCaveMapPreviewTiles, + .tilemapptr = gLostCaveMapPreviewTilemap, + .palptr = gLostCaveMapPreviewPalette + }, + [MPS_ALTERING_CAVE] = { + .mapsec = MAPSEC_ALTERING_CAVE, + .forceFirstTime = FALSE, + .flagId = FLAG_WORLD_MAP_SIX_ISLAND_ALTERING_CAVE, + .tilesptr = gAlteringCaveMapPreviewTiles, + .tilemapptr = gAlteringCaveMapPreviewTilemap, + .palptr = gAlteringCaveMapPreviewPalette + }, + [MPS_PATTERN_BUSH] = { + .mapsec = MAPSEC_PATTERN_BUSH, + .forceFirstTime = TRUE, + .flagId = FLAG_WORLD_MAP_SIX_ISLAND_PATTERN_BUSH, + .tilesptr = gViridianForestMapPreviewTiles, + .tilemapptr = gViridianForestMapPreviewTilemap, + .palptr = gViridianForestMapPreviewPalette + }, + [MPS_LIPTOO_CHAMBER] = { + .mapsec = MAPSEC_LIPTOO_CHAMBER, + .forceFirstTime = FALSE, + .flagId = FLAG_WORLD_MAP_SEVEN_ISLAND_TANOBY_RUINS_MONEAN_CHAMBER, + .tilesptr = gMoneanChamberMapPreviewTiles, + .tilemapptr = gMoneanChamberMapPreviewTilemap, + .palptr = gMoneanChamberMapPreviewPalette + }, + [MPS_WEEPTH_CHAMBER] = { + .mapsec = MAPSEC_WEEPTH_CHAMBER, + .forceFirstTime = FALSE, + .flagId = FLAG_WORLD_MAP_SEVEN_ISLAND_TANOBY_RUINS_MONEAN_CHAMBER, + .tilesptr = gMoneanChamberMapPreviewTiles, + .tilemapptr = gMoneanChamberMapPreviewTilemap, + .palptr = gMoneanChamberMapPreviewPalette + }, + [MPS_TDILFORD_CHAMBER] = { + .mapsec = MAPSEC_DILFORD_CHAMBER, + .forceFirstTime = FALSE, + .flagId = FLAG_WORLD_MAP_SEVEN_ISLAND_TANOBY_RUINS_MONEAN_CHAMBER, + .tilesptr = gMoneanChamberMapPreviewTiles, + .tilemapptr = gMoneanChamberMapPreviewTilemap, + .palptr = gMoneanChamberMapPreviewPalette + }, + [MPS_SCUFIB_CHAMBER] = { + .mapsec = MAPSEC_SCUFIB_CHAMBER, + .forceFirstTime = FALSE, + .flagId = FLAG_WORLD_MAP_SEVEN_ISLAND_TANOBY_RUINS_MONEAN_CHAMBER, + .tilesptr = gMoneanChamberMapPreviewTiles, + .tilemapptr = gMoneanChamberMapPreviewTilemap, + .palptr = gMoneanChamberMapPreviewPalette + }, + [MPS_RIXY_CHAMBER] = { + .mapsec = MAPSEC_RIXY_CHAMBER, + .forceFirstTime = FALSE, + .flagId = FLAG_WORLD_MAP_SEVEN_ISLAND_TANOBY_RUINS_MONEAN_CHAMBER, + .tilesptr = gMoneanChamberMapPreviewTiles, + .tilemapptr = gMoneanChamberMapPreviewTilemap, + .palptr = gMoneanChamberMapPreviewPalette + }, + [MPS_VIAPOIS_CHAMBER] = { + .mapsec = 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 sMapNameWindow = { + .bg = 0, + .tilemapLeft = 0, + .tilemapTop = 0, + .width = 13, + .height = 2, + .paletteNum = 14, + .baseBlock = 0x1C2 +}; + +static const struct BgTemplate sMapPreviewBgTemplate[1] = { + { + .mapBaseIndex = 31 + } +}; + +static u8 sub_80F80E4(u8 mapsec) +{ + s32 i; + + for (i = 0; i < MPS_COUNT; i++) + { + if (sMapPreviewScreenData[i].mapsec == mapsec) + { + return i; + } + } + return MPS_COUNT; +} + +bool8 sub_80F8110(u8 mapsec, u8 forceFirstTime) +{ + u8 idx; + + idx = sub_80F80E4(mapsec); + if (idx != MPS_COUNT) + { + if (forceFirstTime == 2) + { + return TRUE; + } + else + { + return sMapPreviewScreenData[idx].forceFirstTime == forceFirstTime ? TRUE : FALSE; + } + } + else + { + return FALSE; + } +} + +bool8 sub_80F8154(u8 mapsec, u8 forceFirstTime) +{ + if (gUnknown_203ADFA == 2) + { + return FALSE; + } + else + { + return sub_80F8110(mapsec, forceFirstTime); + } +} + +void sub_80F8180(void) +{ + InitBgsFromTemplates(0, sMapPreviewBgTemplate, NELEMS(sMapPreviewBgTemplate)); + ShowBg(0); +} + +void sub_80F819C(u8 mapsec) +{ + u8 idx; + + idx = sub_80F80E4(mapsec); + if (idx != MPS_COUNT) + { + ResetTempTileDataBuffers(); + LoadPalette(sMapPreviewScreenData[idx].palptr, 0xD0, 0x60); + DecompressAndCopyTileDataToVram(0, sMapPreviewScreenData[idx].tilesptr, 0, 0, 0); + if (GetBgTilemapBuffer(0) == NULL) + { + SetBgTilemapBuffer(0, Alloc(BG_SCREEN_SIZE)); + gUnknown_203ABED = TRUE; + } + else + { + gUnknown_203ABED = FALSE; + } + CopyToBgTilemapBuffer(0, sMapPreviewScreenData[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 mapsec) +{ + 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(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); + ScriptContext2_Enable(); +} + +u16 sub_80F8318(u8 mapsec) +{ + u16 windowId; + u32 xctr; + struct TextColor color[0]; + + windowId = AddWindow(&sMapNameWindow); + FillWindowPixelBuffer(windowId, PIXEL_FILL(1)); + PutWindowTilemap(windowId); + color->fgColor = 1; // Access violation + color->bgColor = 4; // Access violation + color->shadowColor = 3; // 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; +} + +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 mapsec) +{ + u8 idx; + + idx = sub_80F80E4(mapsec); + if (idx == MPS_COUNT) + { + return NULL; + } + else + { + return &sMapPreviewScreenData[idx]; + } +} + +u16 sub_80F856C(u8 mapsec) +{ + u8 idx; + u16 flagId; + + idx = sub_80F80E4(mapsec); + if (idx == MPS_COUNT) + { + return 0; + } + flagId = sMapPreviewScreenData[idx].flagId; + if (!sMapPreviewScreenData[idx].forceFirstTime) + { + 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 |