Merge pull request #94 from PikalaxALT/map_preview_screen
Decompile map_preview_screen
@@ -1,5 +1,10 @@
|
|||||||
# Pokémon FireRed and LeafGreen
|
# 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.
|
This is a disassembly of Pokémon FireRed and LeafGreen.
|
||||||
|
|
||||||
It builds the following ROM:
|
It builds the following ROM:
|
||||||
|
|||||||
@@ -388,7 +388,7 @@ sub_8098400: @ 8098400
|
|||||||
ldrb r1, [r4, 0x14]
|
ldrb r1, [r4, 0x14]
|
||||||
add r0, sp, 0xC
|
add r0, sp, 0xC
|
||||||
movs r2, 0
|
movs r2, 0
|
||||||
bl sub_80C4D78
|
bl GetMapName
|
||||||
adds r2, r0, 0
|
adds r2, r0, 0
|
||||||
movs r0, 0x1A
|
movs r0, 0x1A
|
||||||
ldrsb r0, [r4, r0]
|
ldrsb r0, [r4, r0]
|
||||||
|
|||||||
@@ -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.
|
|
||||||
@@ -1589,7 +1589,7 @@ _080C0B44:
|
|||||||
lsrs r1, 16
|
lsrs r1, 16
|
||||||
adds r0, r4, 0
|
adds r0, r4, 0
|
||||||
movs r2, 0
|
movs r2, 0
|
||||||
bl sub_80C4D78
|
bl GetMapName
|
||||||
ldr r0, _080C0B94 @ =gUnknown_83F1A90
|
ldr r0, _080C0B94 @ =gUnknown_83F1A90
|
||||||
str r0, [sp]
|
str r0, [sp]
|
||||||
movs r0, 0
|
movs r0, 0
|
||||||
@@ -9690,8 +9690,8 @@ _080C4D72:
|
|||||||
bx r1
|
bx r1
|
||||||
thumb_func_end sub_80C4D40
|
thumb_func_end sub_80C4D40
|
||||||
|
|
||||||
thumb_func_start sub_80C4D78
|
thumb_func_start GetMapName
|
||||||
sub_80C4D78: @ 80C4D78
|
GetMapName: @ 80C4D78
|
||||||
push {r4-r6,lr}
|
push {r4-r6,lr}
|
||||||
adds r6, r0, 0
|
adds r6, r0, 0
|
||||||
lsls r1, 16
|
lsls r1, 16
|
||||||
@@ -9759,7 +9759,7 @@ _080C4DF2:
|
|||||||
pop {r4-r6}
|
pop {r4-r6}
|
||||||
pop {r1}
|
pop {r1}
|
||||||
bx r1
|
bx r1
|
||||||
thumb_func_end sub_80C4D78
|
thumb_func_end GetMapName
|
||||||
|
|
||||||
thumb_func_start sub_80C4DF8
|
thumb_func_start sub_80C4DF8
|
||||||
sub_80C4DF8: @ 80C4DF8
|
sub_80C4DF8: @ 80C4DF8
|
||||||
@@ -9767,7 +9767,7 @@ sub_80C4DF8: @ 80C4DF8
|
|||||||
lsls r1, 16
|
lsls r1, 16
|
||||||
lsrs r1, 16
|
lsrs r1, 16
|
||||||
movs r2, 0
|
movs r2, 0
|
||||||
bl sub_80C4D78
|
bl GetMapName
|
||||||
pop {r1}
|
pop {r1}
|
||||||
bx r1
|
bx r1
|
||||||
thumb_func_end sub_80C4DF8
|
thumb_func_end sub_80C4DF8
|
||||||
|
|||||||
@@ -1,3 +1,5 @@
|
|||||||
|
#include "constants/region_map.h"
|
||||||
|
#include "constants/flags.h"
|
||||||
.include "asm/macros.inc"
|
.include "asm/macros.inc"
|
||||||
.include "constants/constants.inc"
|
.include "constants/constants.inc"
|
||||||
.section .rodata
|
.section .rodata
|
||||||
@@ -382,17 +384,9 @@ gTMCaseMainWindowPalette:: @ 841F408
|
|||||||
.section .rodata.841F4B4
|
.section .rodata.841F4B4
|
||||||
.align 2
|
.align 2
|
||||||
gUnknown_841F4B4:: @ 841F4B4
|
gUnknown_841F4B4:: @ 841F4B4
|
||||||
.incbin "baserom.gba", 0x41F4B4, 0x1F534
|
.incbin "baserom.gba", 0x41f4b4, 0x20
|
||||||
|
|
||||||
gUnknown_843E9E8:: @ 843E9E8
|
|
||||||
.incbin "baserom.gba", 0x43E9E8, 0x1C0
|
|
||||||
|
|
||||||
gUnknown_843EBA8:: @ 843EBA8
|
|
||||||
.incbin "baserom.gba", 0x43EBA8, 0x8
|
|
||||||
|
|
||||||
gUnknown_843EBB0:: @ 843EBB0
|
|
||||||
.incbin "baserom.gba", 0x43EBB0, 0x4
|
|
||||||
|
|
||||||
|
.section .rodata.843EBB4
|
||||||
gUnknown_843EBB4:: @ 843EBB4
|
gUnknown_843EBB4:: @ 843EBB4
|
||||||
.incbin "baserom.gba", 0x43EBB4, 0x18
|
.incbin "baserom.gba", 0x43EBB4, 0x18
|
||||||
|
|
||||||
|
|||||||
@@ -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
|
||||||
|
After Width: | Height: | Size: 4.4 KiB |
@@ -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
|
||||||
|
After Width: | Height: | Size: 5.7 KiB |
@@ -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
|
||||||
|
After Width: | Height: | Size: 4.4 KiB |
@@ -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
|
||||||
|
After Width: | Height: | Size: 5.1 KiB |
@@ -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
|
||||||
|
After Width: | Height: | Size: 4.0 KiB |
@@ -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
|
||||||
|
After Width: | Height: | Size: 5.1 KiB |
@@ -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
|
||||||
|
After Width: | Height: | Size: 4.8 KiB |
@@ -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
|
||||||
|
After Width: | Height: | Size: 5.1 KiB |
@@ -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
|
||||||
|
After Width: | Height: | Size: 4.3 KiB |
@@ -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
|
||||||
|
After Width: | Height: | Size: 4.7 KiB |
@@ -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
|
||||||
|
After Width: | Height: | Size: 5.0 KiB |
@@ -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
|
||||||
|
After Width: | Height: | Size: 5.7 KiB |
@@ -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
|
||||||
|
After Width: | Height: | Size: 5.5 KiB |
@@ -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
|
||||||
|
After Width: | Height: | Size: 3.3 KiB |
@@ -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
|
||||||
|
After Width: | Height: | Size: 3.8 KiB |
@@ -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
|
||||||
|
After Width: | Height: | Size: 4.9 KiB |
@@ -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
|
||||||
|
After Width: | Height: | Size: 1.7 KiB |
@@ -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
|
||||||
|
After Width: | Height: | Size: 2.0 KiB |
@@ -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
|
||||||
|
After Width: | Height: | Size: 4.9 KiB |
@@ -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
|
||||||
|
After Width: | Height: | Size: 3.9 KiB |
@@ -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
|
||||||
|
After Width: | Height: | Size: 5.4 KiB |
@@ -25,6 +25,20 @@ enum
|
|||||||
BG_CTRL_ATTR_WRAPAROUND = 8,
|
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
|
enum AdjustBgMosaicMode
|
||||||
{
|
{
|
||||||
BG_MOSAIC_SET,
|
BG_MOSAIC_SET,
|
||||||
|
|||||||
@@ -1,6 +1,51 @@
|
|||||||
#ifndef GUARD_MAP_PREVIEW_SCREEN_H
|
#ifndef GUARD_MAP_PREVIEW_SCREEN_H
|
||||||
#define 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);
|
void sub_80F85BC(u16 a0);
|
||||||
|
u16 sub_80F856C(u8 id);
|
||||||
|
|
||||||
#endif //GUARD_MAP_PREVIEW_SCREEN_H
|
#endif //GUARD_MAP_PREVIEW_SCREEN_H
|
||||||
|
|||||||
@@ -221,7 +221,7 @@ SECTIONS {
|
|||||||
src/new_menu_helpers.o(.text);
|
src/new_menu_helpers.o(.text);
|
||||||
asm/box_party_pokemon_dropdown.o(.text);
|
asm/box_party_pokemon_dropdown.o(.text);
|
||||||
asm/save_menu_util.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_2.o(.text);
|
||||||
asm/link_rfu.o(.text);
|
asm/link_rfu.o(.text);
|
||||||
asm/pokedex_screen.o(.text);
|
asm/pokedex_screen.o(.text);
|
||||||
@@ -429,6 +429,8 @@ SECTIONS {
|
|||||||
data/data_83FECCC.o(.rodata.841EE44);
|
data/data_83FECCC.o(.rodata.841EE44);
|
||||||
src/new_menu_helpers.o(.rodata);
|
src/new_menu_helpers.o(.rodata);
|
||||||
data/data_83FECCC.o(.rodata.841F4B4);
|
data/data_83FECCC.o(.rodata.841F4B4);
|
||||||
|
src/map_preview_screen.o(.rodata);
|
||||||
|
data/data_83FECCC.o(.rodata.843EBB4);
|
||||||
src/pokedex.o(.rodata);
|
src/pokedex.o(.rodata);
|
||||||
data/data_83FECCC.o(.rodata.8451EBC);
|
data/data_83FECCC.o(.rodata.8451EBC);
|
||||||
src/list_menu.o(.rodata);
|
src/list_menu.o(.rodata);
|
||||||
|
|||||||
@@ -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);
|
||||||
|
}
|
||||||
@@ -1124,12 +1124,10 @@ gUnknown_203ABE4: @ 203ABE4
|
|||||||
gUnknown_203ABE8: @ 203ABE8
|
gUnknown_203ABE8: @ 203ABE8
|
||||||
.space 0x4
|
.space 0x4
|
||||||
|
|
||||||
gUnknown_203ABEC: @ 203ABEC
|
.align 2
|
||||||
.space 0x1
|
.include "src/map_preview_screen.o"
|
||||||
|
|
||||||
gUnknown_203ABED: @ 203ABED
|
|
||||||
.space 0x3
|
|
||||||
|
|
||||||
|
.align 2
|
||||||
gUnknown_203ABF0: @ 203ABF0
|
gUnknown_203ABF0: @ 203ABF0
|
||||||
.space 0x18
|
.space 0x18
|
||||||
|
|
||||||
|
|||||||