region_map through sub_80C0450
This commit is contained in:
@@ -5,463 +5,6 @@
|
|||||||
|
|
||||||
.text
|
.text
|
||||||
|
|
||||||
thumb_func_start sub_80C0100
|
|
||||||
sub_80C0100: @ 80C0100
|
|
||||||
push {r4,lr}
|
|
||||||
sub sp, 0x8
|
|
||||||
ldr r0, _080C011C @ =gUnknown_20399D4
|
|
||||||
ldr r0, [r0]
|
|
||||||
ldr r1, _080C0120 @ =0x000047a4
|
|
||||||
adds r0, r1
|
|
||||||
ldrb r0, [r0]
|
|
||||||
cmp r0, 0x8
|
|
||||||
bhi _080C0202
|
|
||||||
lsls r0, 2
|
|
||||||
ldr r1, _080C0124 @ =_080C0128
|
|
||||||
adds r0, r1
|
|
||||||
ldr r0, [r0]
|
|
||||||
mov pc, r0
|
|
||||||
.align 2, 0
|
|
||||||
_080C011C: .4byte gUnknown_20399D4
|
|
||||||
_080C0120: .4byte 0x000047a4
|
|
||||||
_080C0124: .4byte _080C0128
|
|
||||||
.align 2, 0
|
|
||||||
_080C0128:
|
|
||||||
.4byte _080C014C
|
|
||||||
.4byte _080C0152
|
|
||||||
.4byte _080C0158
|
|
||||||
.4byte _080C015E
|
|
||||||
.4byte _080C016A
|
|
||||||
.4byte _080C0180
|
|
||||||
.4byte _080C01D4
|
|
||||||
.4byte _080C01E0
|
|
||||||
.4byte _080C01EC
|
|
||||||
_080C014C:
|
|
||||||
bl sub_80C08E0
|
|
||||||
b _080C021A
|
|
||||||
_080C0152:
|
|
||||||
bl sub_80C0904
|
|
||||||
b _080C021A
|
|
||||||
_080C0158:
|
|
||||||
bl sub_80C0A6C
|
|
||||||
b _080C021A
|
|
||||||
_080C015E:
|
|
||||||
bl sub_80C0238
|
|
||||||
lsls r0, 24
|
|
||||||
cmp r0, 0
|
|
||||||
beq _080C0228
|
|
||||||
b _080C021A
|
|
||||||
_080C016A:
|
|
||||||
movs r0, 0x1E
|
|
||||||
str r0, [sp]
|
|
||||||
movs r0, 0x14
|
|
||||||
str r0, [sp, 0x4]
|
|
||||||
movs r0, 0x1
|
|
||||||
movs r1, 0
|
|
||||||
movs r2, 0
|
|
||||||
movs r3, 0
|
|
||||||
bl FillBgTilemapBufferRect_Palette0
|
|
||||||
b _080C01BA
|
|
||||||
_080C0180:
|
|
||||||
ldr r4, _080C01C4 @ =gUnknown_20399D4
|
|
||||||
ldr r1, [r4]
|
|
||||||
ldr r2, _080C01C8 @ =0x0000479b
|
|
||||||
adds r0, r1, r2
|
|
||||||
ldrb r0, [r0]
|
|
||||||
lsls r2, r0, 2
|
|
||||||
adds r2, r0
|
|
||||||
lsls r0, r2, 4
|
|
||||||
subs r0, r2
|
|
||||||
lsls r0, 4
|
|
||||||
adds r0, 0x26
|
|
||||||
adds r1, r0
|
|
||||||
movs r0, 0
|
|
||||||
bl sub_80C0CC8
|
|
||||||
movs r0, 0
|
|
||||||
bl CopyBgTilemapBufferToVram
|
|
||||||
ldr r1, [r4]
|
|
||||||
ldr r2, _080C01CC @ =0x00004796
|
|
||||||
adds r0, r1, r2
|
|
||||||
ldrb r0, [r0]
|
|
||||||
cmp r0, 0
|
|
||||||
beq _080C021A
|
|
||||||
ldr r0, _080C01D0 @ =0x000012e6
|
|
||||||
adds r1, r0
|
|
||||||
movs r0, 0x1
|
|
||||||
bl sub_80C0CC8
|
|
||||||
_080C01BA:
|
|
||||||
movs r0, 0x1
|
|
||||||
bl CopyBgTilemapBufferToVram
|
|
||||||
b _080C021A
|
|
||||||
.align 2, 0
|
|
||||||
_080C01C4: .4byte gUnknown_20399D4
|
|
||||||
_080C01C8: .4byte 0x0000479b
|
|
||||||
_080C01CC: .4byte 0x00004796
|
|
||||||
_080C01D0: .4byte 0x000012e6
|
|
||||||
_080C01D4:
|
|
||||||
bl sub_80C0B18
|
|
||||||
movs r0, 0
|
|
||||||
bl PutWindowTilemap
|
|
||||||
b _080C021A
|
|
||||||
_080C01E0:
|
|
||||||
bl sub_80C0BB0
|
|
||||||
movs r0, 0x1
|
|
||||||
bl PutWindowTilemap
|
|
||||||
b _080C021A
|
|
||||||
_080C01EC:
|
|
||||||
movs r0, 0x2
|
|
||||||
bl sub_80C0E04
|
|
||||||
lsls r0, 24
|
|
||||||
lsrs r0, 24
|
|
||||||
cmp r0, 0x1
|
|
||||||
bne _080C021A
|
|
||||||
movs r0, 0x1
|
|
||||||
bl sub_80C0A88
|
|
||||||
b _080C021A
|
|
||||||
_080C0202:
|
|
||||||
movs r0, 0x1
|
|
||||||
negs r0, r0
|
|
||||||
movs r1, 0
|
|
||||||
str r1, [sp]
|
|
||||||
movs r2, 0x10
|
|
||||||
movs r3, 0
|
|
||||||
bl BeginNormalPaletteFade
|
|
||||||
bl sub_80C03E8
|
|
||||||
bl sub_80C08F4
|
|
||||||
_080C021A:
|
|
||||||
ldr r0, _080C0230 @ =gUnknown_20399D4
|
|
||||||
ldr r1, [r0]
|
|
||||||
ldr r2, _080C0234 @ =0x000047a4
|
|
||||||
adds r1, r2
|
|
||||||
ldrb r0, [r1]
|
|
||||||
adds r0, 0x1
|
|
||||||
strb r0, [r1]
|
|
||||||
_080C0228:
|
|
||||||
add sp, 0x8
|
|
||||||
pop {r4}
|
|
||||||
pop {r0}
|
|
||||||
bx r0
|
|
||||||
.align 2, 0
|
|
||||||
_080C0230: .4byte gUnknown_20399D4
|
|
||||||
_080C0234: .4byte 0x000047a4
|
|
||||||
thumb_func_end sub_80C0100
|
|
||||||
|
|
||||||
thumb_func_start sub_80C0238
|
|
||||||
sub_80C0238: @ 80C0238
|
|
||||||
push {r4,lr}
|
|
||||||
sub sp, 0x4
|
|
||||||
ldr r0, _080C0258 @ =gUnknown_20399D4
|
|
||||||
ldr r1, [r0]
|
|
||||||
ldr r2, _080C025C @ =0x000047a8
|
|
||||||
adds r0, r1, r2
|
|
||||||
ldrb r0, [r0]
|
|
||||||
cmp r0, 0x8
|
|
||||||
bls _080C024C
|
|
||||||
b _080C03B0
|
|
||||||
_080C024C:
|
|
||||||
lsls r0, 2
|
|
||||||
ldr r1, _080C0260 @ =_080C0264
|
|
||||||
adds r0, r1
|
|
||||||
ldr r0, [r0]
|
|
||||||
mov pc, r0
|
|
||||||
.align 2, 0
|
|
||||||
_080C0258: .4byte gUnknown_20399D4
|
|
||||||
_080C025C: .4byte 0x000047a8
|
|
||||||
_080C0260: .4byte _080C0264
|
|
||||||
.align 2, 0
|
|
||||||
_080C0264:
|
|
||||||
.4byte _080C0288
|
|
||||||
.4byte _080C0298
|
|
||||||
.4byte _080C02FC
|
|
||||||
.4byte _080C0302
|
|
||||||
.4byte _080C0340
|
|
||||||
.4byte _080C034E
|
|
||||||
.4byte _080C0364
|
|
||||||
.4byte _080C037C
|
|
||||||
.4byte _080C0394
|
|
||||||
_080C0288:
|
|
||||||
ldr r0, _080C0294 @ =gUnknown_83EF23C
|
|
||||||
movs r1, 0xC0
|
|
||||||
movs r2, 0x20
|
|
||||||
bl LoadPalette
|
|
||||||
b _080C03C8
|
|
||||||
.align 2, 0
|
|
||||||
_080C0294: .4byte gUnknown_83EF23C
|
|
||||||
_080C0298:
|
|
||||||
ldr r0, _080C02EC @ =gUnknown_83EF2DC
|
|
||||||
movs r1, 0
|
|
||||||
movs r2, 0xA0
|
|
||||||
bl LoadPalette
|
|
||||||
bl sub_80BFEA0
|
|
||||||
ldr r0, _080C02F0 @ =gUnknown_20399D4
|
|
||||||
ldr r0, [r0]
|
|
||||||
ldr r1, _080C02F4 @ =0x00004796
|
|
||||||
adds r0, r1
|
|
||||||
ldrb r0, [r0]
|
|
||||||
cmp r0, 0
|
|
||||||
bne _080C02B6
|
|
||||||
b _080C03C8
|
|
||||||
_080C02B6:
|
|
||||||
ldr r4, _080C02F8 @ =gUnknown_83EF23C + 0x1E
|
|
||||||
adds r0, r4, 0
|
|
||||||
movs r1, 0
|
|
||||||
movs r2, 0x2
|
|
||||||
bl LoadPalette
|
|
||||||
adds r0, r4, 0
|
|
||||||
movs r1, 0x10
|
|
||||||
movs r2, 0x2
|
|
||||||
bl LoadPalette
|
|
||||||
adds r0, r4, 0
|
|
||||||
movs r1, 0x20
|
|
||||||
movs r2, 0x2
|
|
||||||
bl LoadPalette
|
|
||||||
adds r0, r4, 0
|
|
||||||
movs r1, 0x30
|
|
||||||
movs r2, 0x2
|
|
||||||
bl LoadPalette
|
|
||||||
adds r0, r4, 0
|
|
||||||
movs r1, 0x40
|
|
||||||
movs r2, 0x2
|
|
||||||
bl LoadPalette
|
|
||||||
b _080C03C8
|
|
||||||
.align 2, 0
|
|
||||||
_080C02EC: .4byte gUnknown_83EF2DC
|
|
||||||
_080C02F0: .4byte gUnknown_20399D4
|
|
||||||
_080C02F4: .4byte 0x00004796
|
|
||||||
_080C02F8: .4byte gUnknown_83EF23C + 0x1E
|
|
||||||
_080C02FC:
|
|
||||||
bl ResetTempTileDataBuffers
|
|
||||||
b _080C03C8
|
|
||||||
_080C0302:
|
|
||||||
ldr r1, _080C0330 @ =gUnknown_83EF61C
|
|
||||||
movs r4, 0
|
|
||||||
str r4, [sp]
|
|
||||||
movs r0, 0
|
|
||||||
movs r2, 0
|
|
||||||
movs r3, 0
|
|
||||||
bl DecompressAndCopyTileDataToVram
|
|
||||||
ldr r0, _080C0334 @ =gUnknown_20399D4
|
|
||||||
ldr r0, [r0]
|
|
||||||
ldr r2, _080C0338 @ =0x00004796
|
|
||||||
adds r0, r2
|
|
||||||
ldrb r0, [r0]
|
|
||||||
cmp r0, 0
|
|
||||||
beq _080C03C8
|
|
||||||
ldr r1, _080C033C @ =gUnknown_83F1978
|
|
||||||
str r4, [sp]
|
|
||||||
movs r0, 0x1
|
|
||||||
movs r2, 0
|
|
||||||
movs r3, 0
|
|
||||||
bl DecompressAndCopyTileDataToVram
|
|
||||||
b _080C03C8
|
|
||||||
.align 2, 0
|
|
||||||
_080C0330: .4byte gUnknown_83EF61C
|
|
||||||
_080C0334: .4byte gUnknown_20399D4
|
|
||||||
_080C0338: .4byte 0x00004796
|
|
||||||
_080C033C: .4byte gUnknown_83F1978
|
|
||||||
_080C0340:
|
|
||||||
bl FreeTempTileDataBuffersIfPossible
|
|
||||||
lsls r0, 24
|
|
||||||
lsrs r0, 24
|
|
||||||
cmp r0, 0x1
|
|
||||||
bne _080C03C8
|
|
||||||
b _080C03D6
|
|
||||||
_080C034E:
|
|
||||||
ldr r0, _080C035C @ =gUnknown_83F089C
|
|
||||||
ldr r1, _080C0360 @ =gUnknown_20399D4
|
|
||||||
ldr r1, [r1]
|
|
||||||
adds r1, 0x26
|
|
||||||
bl LZ77UnCompWram
|
|
||||||
b _080C03C8
|
|
||||||
.align 2, 0
|
|
||||||
_080C035C: .4byte gUnknown_83F089C
|
|
||||||
_080C0360: .4byte gUnknown_20399D4
|
|
||||||
_080C0364:
|
|
||||||
ldr r0, _080C0370 @ =gUnknown_83F0AFC
|
|
||||||
ldr r1, _080C0374 @ =gUnknown_20399D4
|
|
||||||
ldr r1, [r1]
|
|
||||||
ldr r2, _080C0378 @ =0x000004d6
|
|
||||||
b _080C039C
|
|
||||||
.align 2, 0
|
|
||||||
_080C0370: .4byte gUnknown_83F0AFC
|
|
||||||
_080C0374: .4byte gUnknown_20399D4
|
|
||||||
_080C0378: .4byte 0x000004d6
|
|
||||||
_080C037C:
|
|
||||||
ldr r0, _080C0388 @ =gUnknown_83F0C0C
|
|
||||||
ldr r1, _080C038C @ =gUnknown_20399D4
|
|
||||||
ldr r1, [r1]
|
|
||||||
ldr r2, _080C0390 @ =0x00000986
|
|
||||||
b _080C039C
|
|
||||||
.align 2, 0
|
|
||||||
_080C0388: .4byte gUnknown_83F0C0C
|
|
||||||
_080C038C: .4byte gUnknown_20399D4
|
|
||||||
_080C0390: .4byte 0x00000986
|
|
||||||
_080C0394:
|
|
||||||
ldr r0, _080C03A4 @ =gUnknown_83F0CF0
|
|
||||||
ldr r1, _080C03A8 @ =gUnknown_20399D4
|
|
||||||
ldr r1, [r1]
|
|
||||||
ldr r2, _080C03AC @ =0x00000e36
|
|
||||||
_080C039C:
|
|
||||||
adds r1, r2
|
|
||||||
bl LZ77UnCompWram
|
|
||||||
b _080C03C8
|
|
||||||
.align 2, 0
|
|
||||||
_080C03A4: .4byte gUnknown_83F0CF0
|
|
||||||
_080C03A8: .4byte gUnknown_20399D4
|
|
||||||
_080C03AC: .4byte 0x00000e36
|
|
||||||
_080C03B0:
|
|
||||||
ldr r0, _080C03C0 @ =gUnknown_83F19A0
|
|
||||||
ldr r2, _080C03C4 @ =0x000012e6
|
|
||||||
adds r1, r2
|
|
||||||
bl LZ77UnCompWram
|
|
||||||
movs r0, 0x1
|
|
||||||
b _080C03D8
|
|
||||||
.align 2, 0
|
|
||||||
_080C03C0: .4byte gUnknown_83F19A0
|
|
||||||
_080C03C4: .4byte 0x000012e6
|
|
||||||
_080C03C8:
|
|
||||||
ldr r0, _080C03E0 @ =gUnknown_20399D4
|
|
||||||
ldr r1, [r0]
|
|
||||||
ldr r0, _080C03E4 @ =0x000047a8
|
|
||||||
adds r1, r0
|
|
||||||
ldrb r0, [r1]
|
|
||||||
adds r0, 0x1
|
|
||||||
strb r0, [r1]
|
|
||||||
_080C03D6:
|
|
||||||
movs r0, 0
|
|
||||||
_080C03D8:
|
|
||||||
add sp, 0x4
|
|
||||||
pop {r4}
|
|
||||||
pop {r1}
|
|
||||||
bx r1
|
|
||||||
.align 2, 0
|
|
||||||
_080C03E0: .4byte gUnknown_20399D4
|
|
||||||
_080C03E4: .4byte 0x000047a8
|
|
||||||
thumb_func_end sub_80C0238
|
|
||||||
|
|
||||||
thumb_func_start sub_80C03E8
|
|
||||||
sub_80C03E8: @ 80C03E8
|
|
||||||
push {lr}
|
|
||||||
ldr r0, _080C0404 @ =gUnknown_20399D4
|
|
||||||
ldr r0, [r0]
|
|
||||||
ldr r1, _080C0408 @ =0x000047b8
|
|
||||||
adds r0, r1
|
|
||||||
ldr r0, [r0]
|
|
||||||
movs r1, 0
|
|
||||||
bl CreateTask
|
|
||||||
ldr r0, _080C040C @ =sub_80C08B4
|
|
||||||
bl SetMainCallback2
|
|
||||||
pop {r0}
|
|
||||||
bx r0
|
|
||||||
.align 2, 0
|
|
||||||
_080C0404: .4byte gUnknown_20399D4
|
|
||||||
_080C0408: .4byte 0x000047b8
|
|
||||||
_080C040C: .4byte sub_80C08B4
|
|
||||||
thumb_func_end sub_80C03E8
|
|
||||||
|
|
||||||
thumb_func_start sub_80C0410
|
|
||||||
sub_80C0410: @ 80C0410
|
|
||||||
push {r4,r5,lr}
|
|
||||||
bl sub_80C0E20
|
|
||||||
adds r5, r0, 0
|
|
||||||
lsls r5, 24
|
|
||||||
lsrs r5, 24
|
|
||||||
bl sub_80C3514
|
|
||||||
adds r4, r0, 0
|
|
||||||
lsls r4, 16
|
|
||||||
asrs r4, 16
|
|
||||||
bl sub_80C3508
|
|
||||||
adds r3, r0, 0
|
|
||||||
lsls r3, 16
|
|
||||||
asrs r3, 16
|
|
||||||
adds r0, r5, 0
|
|
||||||
movs r1, 0
|
|
||||||
adds r2, r4, 0
|
|
||||||
bl sub_80C4164
|
|
||||||
lsls r0, 24
|
|
||||||
lsrs r0, 24
|
|
||||||
cmp r0, 0x63
|
|
||||||
beq _080C0446
|
|
||||||
movs r0, 0x1
|
|
||||||
b _080C0448
|
|
||||||
_080C0446:
|
|
||||||
movs r0, 0
|
|
||||||
_080C0448:
|
|
||||||
pop {r4,r5}
|
|
||||||
pop {r1}
|
|
||||||
bx r1
|
|
||||||
thumb_func_end sub_80C0410
|
|
||||||
|
|
||||||
thumb_func_start sub_80C0450
|
|
||||||
sub_80C0450: @ 80C0450
|
|
||||||
push {lr}
|
|
||||||
bl sub_80C0410
|
|
||||||
cmp r0, 0
|
|
||||||
beq _080C04E0
|
|
||||||
movs r0, 0
|
|
||||||
bl sub_80C3AC8
|
|
||||||
lsls r0, 24
|
|
||||||
lsrs r0, 24
|
|
||||||
cmp r0, 0x1
|
|
||||||
beq _080C0474
|
|
||||||
movs r0, 0
|
|
||||||
bl sub_80C3AC8
|
|
||||||
lsls r0, 24
|
|
||||||
cmp r0, 0
|
|
||||||
bne _080C048E
|
|
||||||
_080C0474:
|
|
||||||
movs r0, 0x1
|
|
||||||
bl sub_80C3AC8
|
|
||||||
lsls r0, 24
|
|
||||||
lsrs r0, 24
|
|
||||||
cmp r0, 0x1
|
|
||||||
beq _080C0494
|
|
||||||
movs r0, 0x1
|
|
||||||
bl sub_80C3AC8
|
|
||||||
lsls r0, 24
|
|
||||||
cmp r0, 0
|
|
||||||
beq _080C0494
|
|
||||||
_080C048E:
|
|
||||||
movs r0, 0x65
|
|
||||||
bl PlaySE
|
|
||||||
_080C0494:
|
|
||||||
bl sub_80C3508
|
|
||||||
lsls r0, 16
|
|
||||||
lsrs r0, 16
|
|
||||||
cmp r0, 0x15
|
|
||||||
bne _080C04C2
|
|
||||||
bl sub_80C3514
|
|
||||||
lsls r0, 16
|
|
||||||
lsrs r0, 16
|
|
||||||
cmp r0, 0xB
|
|
||||||
bne _080C04C2
|
|
||||||
movs r0, 0
|
|
||||||
bl sub_80C0E04
|
|
||||||
lsls r0, 24
|
|
||||||
lsrs r0, 24
|
|
||||||
cmp r0, 0x1
|
|
||||||
bne _080C04C2
|
|
||||||
movs r0, 0xE1
|
|
||||||
bl PlaySE
|
|
||||||
b _080C04E0
|
|
||||||
_080C04C2:
|
|
||||||
bl sub_80C3508
|
|
||||||
lsls r0, 16
|
|
||||||
lsrs r0, 16
|
|
||||||
cmp r0, 0x15
|
|
||||||
bne _080C04E0
|
|
||||||
bl sub_80C3514
|
|
||||||
lsls r0, 16
|
|
||||||
lsrs r0, 16
|
|
||||||
cmp r0, 0xD
|
|
||||||
bne _080C04E0
|
|
||||||
movs r0, 0xE1
|
|
||||||
bl PlaySE
|
|
||||||
_080C04E0:
|
|
||||||
pop {r0}
|
|
||||||
bx r0
|
|
||||||
thumb_func_end sub_80C0450
|
|
||||||
|
|
||||||
thumb_func_start sub_80C04E4
|
thumb_func_start sub_80C04E4
|
||||||
sub_80C04E4: @ 80C04E4
|
sub_80C04E4: @ 80C04E4
|
||||||
push {r4,r5,lr}
|
push {r4,r5,lr}
|
||||||
|
|||||||
+166
-1
@@ -5,12 +5,18 @@
|
|||||||
#include "overworld.h"
|
#include "overworld.h"
|
||||||
#include "event_data.h"
|
#include "event_data.h"
|
||||||
#include "region_map.h"
|
#include "region_map.h"
|
||||||
|
#include "window.h"
|
||||||
|
#include "sound.h"
|
||||||
|
#include "new_menu_helpers.h"
|
||||||
#include "constants/flags.h"
|
#include "constants/flags.h"
|
||||||
|
#include "constants/songs.h"
|
||||||
#include "constants/region_map.h"
|
#include "constants/region_map.h"
|
||||||
|
|
||||||
struct UnkStruct_20399D4
|
struct UnkStruct_20399D4
|
||||||
{
|
{
|
||||||
u8 filler_0000[0x4796];
|
u8 filler_0000[0x0026];
|
||||||
|
u16 field_0026[5][600];
|
||||||
|
u8 filler_1796[0x3000];
|
||||||
u8 field_4796;
|
u8 field_4796;
|
||||||
u8 field_4797[4];
|
u8 field_4797[4];
|
||||||
u8 field_479B;
|
u8 field_479B;
|
||||||
@@ -38,12 +44,40 @@ EWRAM_DATA void * gUnknown_20399FC = NULL;
|
|||||||
|
|
||||||
static void sub_80BFFD0(void);
|
static void sub_80BFFD0(void);
|
||||||
void sub_80C0100(void);
|
void sub_80C0100(void);
|
||||||
|
bool8 sub_80C0238(void);
|
||||||
|
void sub_80C03E8(void);
|
||||||
void sub_80C04E4(u8 taskId);
|
void sub_80C04E4(u8 taskId);
|
||||||
|
void sub_80C08B4(void);
|
||||||
|
void sub_80C08E0(void);
|
||||||
|
void sub_80C08F4(void);
|
||||||
|
void sub_80C0904(void);
|
||||||
|
void sub_80C0A6C(void);
|
||||||
|
void sub_80C0A88(u8 a0);
|
||||||
|
void sub_80C0B18(void);
|
||||||
|
void sub_80C0BB0(void);
|
||||||
|
void sub_80C0CC8(u8 bg, u16 *map);
|
||||||
|
bool8 sub_80C0E04(u8 a0);
|
||||||
|
u8 sub_80C0E20(void);
|
||||||
|
void sub_80C3008(u16 a0, u16 a1);
|
||||||
|
u16 sub_80C3508(void);
|
||||||
|
u16 sub_80C3514(void);
|
||||||
|
u8 sub_80C3AC8(u8 a0);
|
||||||
|
u8 sub_80C4164(u8 a0, u8 a1, s16 a2, s16 a3);
|
||||||
|
void sub_80C41D8(u16 a0, u16 a1);
|
||||||
|
void sub_80C4398(u8 a0, u8 taskId, TaskFunc taskFunc);
|
||||||
void sub_80C4F08(u8 taskId);
|
void sub_80C4F08(u8 taskId);
|
||||||
|
|
||||||
#include "data/text/map_section_names.h"
|
#include "data/text/map_section_names.h"
|
||||||
|
|
||||||
|
extern const u16 gUnknown_83EF23C[];
|
||||||
extern const u16 gUnknown_83EF2DC[];
|
extern const u16 gUnknown_83EF2DC[];
|
||||||
|
extern const u32 gUnknown_83EF61C[];
|
||||||
|
extern const u32 gUnknown_83F089C[];
|
||||||
|
extern const u32 gUnknown_83F0AFC[];
|
||||||
|
extern const u32 gUnknown_83F0C0C[];
|
||||||
|
extern const u32 gUnknown_83F0CF0[];
|
||||||
|
extern const u32 gUnknown_83F1978[];
|
||||||
|
extern const u32 gUnknown_83F19A0[];
|
||||||
extern const u8 sSeviiMapsecs[3][30];
|
extern const u8 sSeviiMapsecs[3][30];
|
||||||
extern const u8 gUnknown_83F1B00[3][4];
|
extern const u8 gUnknown_83F1B00[3][4];
|
||||||
|
|
||||||
@@ -158,3 +192,134 @@ static void sub_80BFFD0(void)
|
|||||||
gUnknown_20399D4->field_479B = r7;
|
gUnknown_20399D4->field_479B = r7;
|
||||||
gUnknown_20399D4->field_479C = r7;
|
gUnknown_20399D4->field_479C = r7;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void sub_80C0100(void)
|
||||||
|
{
|
||||||
|
switch (gUnknown_20399D4->field_47A4)
|
||||||
|
{
|
||||||
|
case 0:
|
||||||
|
sub_80C08E0();
|
||||||
|
break;
|
||||||
|
case 1:
|
||||||
|
sub_80C0904();
|
||||||
|
break;
|
||||||
|
case 2:
|
||||||
|
sub_80C0A6C();
|
||||||
|
break;
|
||||||
|
case 3:
|
||||||
|
if (!sub_80C0238())
|
||||||
|
return;
|
||||||
|
break;
|
||||||
|
case 4:
|
||||||
|
FillBgTilemapBufferRect_Palette0(1, 0x000, 0, 0, 30, 20);
|
||||||
|
CopyBgTilemapBufferToVram(1);
|
||||||
|
break;
|
||||||
|
case 5:
|
||||||
|
sub_80C0CC8(0, gUnknown_20399D4->field_0026[gUnknown_20399D4->field_479B]);
|
||||||
|
CopyBgTilemapBufferToVram(0);
|
||||||
|
if (gUnknown_20399D4->field_4796 != 0)
|
||||||
|
{
|
||||||
|
sub_80C0CC8(1, gUnknown_20399D4->field_0026[4]);
|
||||||
|
CopyBgTilemapBufferToVram(1);
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case 6:
|
||||||
|
sub_80C0B18();
|
||||||
|
PutWindowTilemap(0);
|
||||||
|
break;
|
||||||
|
case 7:
|
||||||
|
sub_80C0BB0();
|
||||||
|
PutWindowTilemap(1);
|
||||||
|
break;
|
||||||
|
case 8:
|
||||||
|
if (sub_80C0E04(2) == TRUE)
|
||||||
|
sub_80C0A88(1);
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, RGB_BLACK);
|
||||||
|
sub_80C03E8();
|
||||||
|
sub_80C08F4();
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
gUnknown_20399D4->field_47A4++;
|
||||||
|
}
|
||||||
|
|
||||||
|
bool8 sub_80C0238(void)
|
||||||
|
{
|
||||||
|
switch (gUnknown_20399D4->field_47A8)
|
||||||
|
{
|
||||||
|
case 0:
|
||||||
|
LoadPalette(gUnknown_83EF23C, 0xC0, 0x20);
|
||||||
|
break;
|
||||||
|
case 1:
|
||||||
|
LoadPalette(gUnknown_83EF2DC, 0x00, 0xA0);
|
||||||
|
sub_80BFEA0();
|
||||||
|
if (gUnknown_20399D4->field_4796 != 0)
|
||||||
|
{
|
||||||
|
LoadPalette(&gUnknown_83EF23C[15], 0x00, 0x02);
|
||||||
|
LoadPalette(&gUnknown_83EF23C[15], 0x10, 0x02);
|
||||||
|
LoadPalette(&gUnknown_83EF23C[15], 0x20, 0x02);
|
||||||
|
LoadPalette(&gUnknown_83EF23C[15], 0x30, 0x02);
|
||||||
|
LoadPalette(&gUnknown_83EF23C[15], 0x40, 0x02);
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case 2:
|
||||||
|
ResetTempTileDataBuffers();
|
||||||
|
break;
|
||||||
|
case 3:
|
||||||
|
DecompressAndCopyTileDataToVram(0, gUnknown_83EF61C, 0, 0, 0);
|
||||||
|
if (gUnknown_20399D4->field_4796 != 0)
|
||||||
|
{
|
||||||
|
DecompressAndCopyTileDataToVram(1, gUnknown_83F1978, 0, 0, 0);
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case 4:
|
||||||
|
if (FreeTempTileDataBuffersIfPossible() == TRUE)
|
||||||
|
return FALSE;
|
||||||
|
break;
|
||||||
|
case 5:
|
||||||
|
LZ77UnCompWram(gUnknown_83F089C, gUnknown_20399D4->field_0026[0]);
|
||||||
|
break;
|
||||||
|
case 6:
|
||||||
|
LZ77UnCompWram(gUnknown_83F0AFC, gUnknown_20399D4->field_0026[1]);
|
||||||
|
break;
|
||||||
|
case 7:
|
||||||
|
LZ77UnCompWram(gUnknown_83F0C0C, gUnknown_20399D4->field_0026[2]);
|
||||||
|
break;
|
||||||
|
case 8:
|
||||||
|
LZ77UnCompWram(gUnknown_83F0CF0, gUnknown_20399D4->field_0026[3]);
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
LZ77UnCompWram(gUnknown_83F19A0, gUnknown_20399D4->field_0026[4]);
|
||||||
|
return TRUE;
|
||||||
|
}
|
||||||
|
gUnknown_20399D4->field_47A8++;
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
|
|
||||||
|
void sub_80C03E8(void)
|
||||||
|
{
|
||||||
|
CreateTask(gUnknown_20399D4->field_47B8, 0);
|
||||||
|
SetMainCallback2(sub_80C08B4);
|
||||||
|
}
|
||||||
|
|
||||||
|
bool32 sub_80C0410(void)
|
||||||
|
{
|
||||||
|
if (sub_80C4164(sub_80C0E20(), 0, sub_80C3514(), sub_80C3508()) == 99)
|
||||||
|
return FALSE;
|
||||||
|
else
|
||||||
|
return TRUE;
|
||||||
|
}
|
||||||
|
|
||||||
|
void sub_80C0450(void)
|
||||||
|
{
|
||||||
|
if (sub_80C0410())
|
||||||
|
{
|
||||||
|
if ((sub_80C3AC8(0) != 1 && sub_80C3AC8(0) != 0) || (sub_80C3AC8(1) != 1 && sub_80C3AC8(1) != 0))
|
||||||
|
PlaySE(SE_Z_SCROLL);
|
||||||
|
if (sub_80C3508() == 21 && sub_80C3514() == 11 && sub_80C0E04(0) == TRUE)
|
||||||
|
PlaySE(SE_W255);
|
||||||
|
else if (sub_80C3508() == 21 && sub_80C3514() == 13)
|
||||||
|
PlaySE(SE_W255);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user