through sub_80C527C
This commit is contained in:
@@ -5,568 +5,6 @@
|
||||
|
||||
.text
|
||||
|
||||
thumb_func_start sub_80C4E18
|
||||
sub_80C4E18: @ 80C4E18
|
||||
push {r4,lr}
|
||||
sub sp, 0xC
|
||||
adds r4, r0, 0
|
||||
ldr r0, _080C4E38 @ =gUnknown_20399D4
|
||||
ldr r0, [r0]
|
||||
ldr r1, _080C4E3C @ =0x00004799
|
||||
adds r0, r1
|
||||
ldrb r0, [r0]
|
||||
cmp r0, 0x1
|
||||
bne _080C4E40
|
||||
movs r0, 0x3
|
||||
movs r1, 0
|
||||
bl FillWindowPixelBuffer
|
||||
b _080C4E48
|
||||
.align 2, 0
|
||||
_080C4E38: .4byte gUnknown_20399D4
|
||||
_080C4E3C: .4byte 0x00004799
|
||||
_080C4E40:
|
||||
movs r0, 0x3
|
||||
movs r1, 0xFF
|
||||
bl FillWindowPixelBuffer
|
||||
_080C4E48:
|
||||
ldr r0, _080C4E70 @ =gUnknown_83F1CA8
|
||||
str r0, [sp]
|
||||
movs r0, 0
|
||||
str r0, [sp, 0x4]
|
||||
str r4, [sp, 0x8]
|
||||
movs r0, 0x3
|
||||
movs r1, 0
|
||||
movs r2, 0
|
||||
movs r3, 0
|
||||
bl AddTextPrinterParameterized3
|
||||
movs r0, 0x3
|
||||
movs r1, 0x2
|
||||
bl CopyWindowToVram
|
||||
add sp, 0xC
|
||||
pop {r4}
|
||||
pop {r0}
|
||||
bx r0
|
||||
.align 2, 0
|
||||
_080C4E70: .4byte gUnknown_83F1CA8
|
||||
thumb_func_end sub_80C4E18
|
||||
|
||||
thumb_func_start sub_80C4E74
|
||||
sub_80C4E74: @ 80C4E74
|
||||
push {r4,lr}
|
||||
sub sp, 0xC
|
||||
adds r4, r0, 0
|
||||
ldr r0, _080C4E94 @ =gUnknown_20399D4
|
||||
ldr r0, [r0]
|
||||
ldr r1, _080C4E98 @ =0x00004799
|
||||
adds r0, r1
|
||||
ldrb r0, [r0]
|
||||
cmp r0, 0x1
|
||||
bne _080C4E9C
|
||||
movs r0, 0x4
|
||||
movs r1, 0
|
||||
bl FillWindowPixelBuffer
|
||||
b _080C4EA4
|
||||
.align 2, 0
|
||||
_080C4E94: .4byte gUnknown_20399D4
|
||||
_080C4E98: .4byte 0x00004799
|
||||
_080C4E9C:
|
||||
movs r0, 0x4
|
||||
movs r1, 0xFF
|
||||
bl FillWindowPixelBuffer
|
||||
_080C4EA4:
|
||||
ldr r0, _080C4ECC @ =gUnknown_83F1CA8
|
||||
str r0, [sp]
|
||||
movs r0, 0
|
||||
str r0, [sp, 0x4]
|
||||
str r4, [sp, 0x8]
|
||||
movs r0, 0x4
|
||||
movs r1, 0
|
||||
movs r2, 0
|
||||
movs r3, 0
|
||||
bl AddTextPrinterParameterized3
|
||||
movs r0, 0x4
|
||||
movs r1, 0x3
|
||||
bl CopyWindowToVram
|
||||
add sp, 0xC
|
||||
pop {r4}
|
||||
pop {r0}
|
||||
bx r0
|
||||
.align 2, 0
|
||||
_080C4ECC: .4byte gUnknown_83F1CA8
|
||||
thumb_func_end sub_80C4E74
|
||||
|
||||
thumb_func_start sub_80C4ED0
|
||||
sub_80C4ED0: @ 80C4ED0
|
||||
push {lr}
|
||||
lsls r0, 24
|
||||
cmp r0, 0
|
||||
bne _080C4EE6
|
||||
movs r0, 0x3
|
||||
bl PutWindowTilemap
|
||||
movs r0, 0x4
|
||||
bl PutWindowTilemap
|
||||
b _080C4EF2
|
||||
_080C4EE6:
|
||||
movs r0, 0x3
|
||||
bl ClearWindowTilemap
|
||||
movs r0, 0x4
|
||||
bl ClearWindowTilemap
|
||||
_080C4EF2:
|
||||
pop {r0}
|
||||
bx r0
|
||||
thumb_func_end sub_80C4ED0
|
||||
|
||||
thumb_func_start MCB2_FlyMap
|
||||
MCB2_FlyMap: @ 80C4EF8
|
||||
push {lr}
|
||||
bl sub_80C51E8
|
||||
movs r0, 0x2
|
||||
bl sub_80BFEDC
|
||||
pop {r0}
|
||||
bx r0
|
||||
thumb_func_end MCB2_FlyMap
|
||||
|
||||
thumb_func_start sub_80C4F08
|
||||
sub_80C4F08: @ 80C4F08
|
||||
push {r4,r5,lr}
|
||||
sub sp, 0x4
|
||||
lsls r0, 24
|
||||
lsrs r5, r0, 24
|
||||
ldr r0, _080C4F28 @ =gUnknown_20399FC
|
||||
ldr r2, [r0]
|
||||
ldrb r0, [r2]
|
||||
cmp r0, 0x6
|
||||
bls _080C4F1C
|
||||
b _080C51B8
|
||||
_080C4F1C:
|
||||
lsls r0, 2
|
||||
ldr r1, _080C4F2C @ =_080C4F30
|
||||
adds r0, r1
|
||||
ldr r0, [r0]
|
||||
mov pc, r0
|
||||
.align 2, 0
|
||||
_080C4F28: .4byte gUnknown_20399FC
|
||||
_080C4F2C: .4byte _080C4F30
|
||||
.align 2, 0
|
||||
_080C4F30:
|
||||
.4byte _080C4F4C
|
||||
.4byte _080C4F92
|
||||
.4byte _080C4FEC
|
||||
.4byte _080C5000
|
||||
.4byte _080C5028
|
||||
.4byte _080C5180
|
||||
.4byte _080C5196
|
||||
_080C4F4C:
|
||||
movs r0, 0x1
|
||||
negs r0, r0
|
||||
movs r1, 0
|
||||
str r1, [sp]
|
||||
movs r2, 0x10
|
||||
movs r3, 0
|
||||
bl BeginNormalPaletteFade
|
||||
bl sub_80C0E20
|
||||
adds r4, r0, 0
|
||||
lsls r4, 24
|
||||
lsrs r4, 24
|
||||
bl sub_80C07E4
|
||||
adds r2, r0, 0
|
||||
adds r0, r4, 0
|
||||
adds r1, r5, 0
|
||||
bl sub_80C4398
|
||||
movs r0, 0
|
||||
movs r1, 0
|
||||
bl sub_80C3008
|
||||
movs r0, 0x1
|
||||
movs r1, 0x1
|
||||
bl sub_80C41D8
|
||||
movs r0, 0
|
||||
bl sub_80C3154
|
||||
movs r0, 0
|
||||
bl sub_80C4324
|
||||
b _080C51A6
|
||||
_080C4F92:
|
||||
movs r0, 0x2
|
||||
bl sub_80C0E04
|
||||
lsls r0, 24
|
||||
lsrs r0, 24
|
||||
cmp r0, 0x1
|
||||
bne _080C4FAE
|
||||
bl sub_80C07E4
|
||||
adds r1, r0, 0
|
||||
adds r0, r5, 0
|
||||
bl sub_80C2208
|
||||
b _080C51A6
|
||||
_080C4FAE:
|
||||
movs r0, 0
|
||||
bl ShowBg
|
||||
movs r0, 0x3
|
||||
bl ShowBg
|
||||
movs r0, 0x1
|
||||
bl ShowBg
|
||||
ldr r0, _080C4FE8 @ =gUnknown_8418EB5
|
||||
bl sub_80C4E18
|
||||
bl sub_80C0E20
|
||||
lsls r0, 24
|
||||
lsrs r0, 24
|
||||
movs r1, 0x19
|
||||
movs r2, 0
|
||||
bl sub_80C48BC
|
||||
bl sub_80C0E20
|
||||
lsls r0, 24
|
||||
lsrs r0, 24
|
||||
movs r1, 0x19
|
||||
movs r2, 0
|
||||
bl sub_80C4960
|
||||
b _080C51A6
|
||||
.align 2, 0
|
||||
_080C4FE8: .4byte gUnknown_8418EB5
|
||||
_080C4FEC:
|
||||
ldr r0, _080C4FFC @ =gUnknown_8418EB0
|
||||
bl sub_80C4E74
|
||||
movs r0, 0
|
||||
bl sub_80C4ED0
|
||||
b _080C51A6
|
||||
.align 2, 0
|
||||
_080C4FFC: .4byte gUnknown_8418EB0
|
||||
_080C5000:
|
||||
ldr r0, _080C5024 @ =gPaletteFade
|
||||
ldrb r1, [r0, 0x7]
|
||||
movs r0, 0x80
|
||||
ands r0, r1
|
||||
cmp r0, 0
|
||||
beq _080C500E
|
||||
b _080C51DC
|
||||
_080C500E:
|
||||
bl sub_80C0B18
|
||||
movs r0, 0
|
||||
bl PutWindowTilemap
|
||||
bl sub_80C0BB0
|
||||
movs r0, 0x1
|
||||
bl PutWindowTilemap
|
||||
b _080C51A6
|
||||
.align 2, 0
|
||||
_080C5024: .4byte gPaletteFade
|
||||
_080C5028:
|
||||
bl sub_80C3400
|
||||
lsls r0, 24
|
||||
lsrs r0, 24
|
||||
subs r0, 0x1
|
||||
cmp r0, 0x5
|
||||
bls _080C5038
|
||||
b _080C51DC
|
||||
_080C5038:
|
||||
lsls r0, 2
|
||||
ldr r1, _080C5044 @ =_080C5048
|
||||
adds r0, r1
|
||||
ldr r0, [r0]
|
||||
mov pc, r0
|
||||
.align 2, 0
|
||||
_080C5044: .4byte _080C5048
|
||||
.align 2, 0
|
||||
_080C5048:
|
||||
.4byte _080C51DC
|
||||
.4byte _080C51DC
|
||||
.4byte _080C5070
|
||||
.4byte _080C50F8
|
||||
.4byte _080C5168
|
||||
.4byte _080C5060
|
||||
_080C5060:
|
||||
ldr r0, _080C506C @ =gUnknown_20399FC
|
||||
ldr r1, [r0]
|
||||
movs r0, 0x6
|
||||
strb r0, [r1]
|
||||
b _080C51DC
|
||||
.align 2, 0
|
||||
_080C506C: .4byte gUnknown_20399FC
|
||||
_080C5070:
|
||||
movs r0, 0
|
||||
bl sub_80C3AC8
|
||||
lsls r0, 24
|
||||
lsrs r0, 24
|
||||
cmp r0, 0x2
|
||||
bne _080C5086
|
||||
movs r0, 0x66
|
||||
bl PlaySE
|
||||
b _080C508A
|
||||
_080C5086:
|
||||
bl sub_80C0450
|
||||
_080C508A:
|
||||
bl sub_80C3178
|
||||
bl sub_80C0B18
|
||||
bl sub_80C0BB0
|
||||
bl sub_80C0B9C
|
||||
bl sub_80C3508
|
||||
lsls r0, 16
|
||||
lsrs r0, 16
|
||||
cmp r0, 0x15
|
||||
bne _080C50C4
|
||||
bl sub_80C3514
|
||||
lsls r0, 16
|
||||
lsrs r0, 16
|
||||
cmp r0, 0xD
|
||||
bne _080C50C4
|
||||
movs r0, 0xE1
|
||||
bl PlaySE
|
||||
ldr r0, _080C50C0 @ =gUnknown_8418E95
|
||||
bl sub_80C4E74
|
||||
b _080C51DC
|
||||
.align 2, 0
|
||||
_080C50C0: .4byte gUnknown_8418E95
|
||||
_080C50C4:
|
||||
movs r0, 0
|
||||
bl sub_80C3AC8
|
||||
lsls r0, 24
|
||||
lsrs r0, 24
|
||||
cmp r0, 0x2
|
||||
beq _080C50E0
|
||||
movs r0, 0
|
||||
bl sub_80C3AC8
|
||||
lsls r0, 24
|
||||
lsrs r0, 24
|
||||
cmp r0, 0x4
|
||||
bne _080C50EC
|
||||
_080C50E0:
|
||||
ldr r0, _080C50E8 @ =gUnknown_8418EB0
|
||||
bl sub_80C4E74
|
||||
b _080C51DC
|
||||
.align 2, 0
|
||||
_080C50E8: .4byte gUnknown_8418EB0
|
||||
_080C50EC:
|
||||
ldr r0, _080C50F4 @ =gUnknown_8418E8B
|
||||
bl sub_80C4E74
|
||||
b _080C51DC
|
||||
.align 2, 0
|
||||
_080C50F4: .4byte gUnknown_8418E8B
|
||||
_080C50F8:
|
||||
movs r0, 0
|
||||
bl sub_80C3AC8
|
||||
lsls r0, 24
|
||||
lsrs r0, 24
|
||||
cmp r0, 0x2
|
||||
beq _080C5114
|
||||
movs r0, 0
|
||||
bl sub_80C3AC8
|
||||
lsls r0, 24
|
||||
lsrs r0, 24
|
||||
cmp r0, 0x4
|
||||
bne _080C51DC
|
||||
_080C5114:
|
||||
movs r0, 0x3
|
||||
bl sub_80C0E04
|
||||
lsls r0, 24
|
||||
lsrs r4, r0, 24
|
||||
cmp r4, 0x1
|
||||
bne _080C51DC
|
||||
ldr r0, _080C514C @ =gSaveBlock1Ptr
|
||||
ldr r1, [r0]
|
||||
movs r0, 0x4
|
||||
ldrsb r0, [r1, r0]
|
||||
ldrb r1, [r1, 0x5]
|
||||
lsls r1, 24
|
||||
asrs r1, 24
|
||||
bl get_map_light_level_by_bank_and_number
|
||||
lsls r0, 24
|
||||
lsrs r0, 24
|
||||
cmp r0, 0x4
|
||||
beq _080C5140
|
||||
cmp r0, 0x8
|
||||
bne _080C5154
|
||||
_080C5140:
|
||||
ldr r2, _080C5150 @ =gUnknown_20399FC
|
||||
ldr r1, [r2]
|
||||
movs r0, 0
|
||||
strb r0, [r1, 0x2]
|
||||
ldr r1, [r2]
|
||||
b _080C51AA
|
||||
.align 2, 0
|
||||
_080C514C: .4byte gSaveBlock1Ptr
|
||||
_080C5150: .4byte gUnknown_20399FC
|
||||
_080C5154:
|
||||
movs r0, 0x1
|
||||
bl PlaySE
|
||||
ldr r1, _080C5164 @ =gUnknown_20399FC
|
||||
ldr r0, [r1]
|
||||
strb r4, [r0, 0x2]
|
||||
ldr r1, [r1]
|
||||
b _080C51AA
|
||||
.align 2, 0
|
||||
_080C5164: .4byte gUnknown_20399FC
|
||||
_080C5168:
|
||||
bl sub_80C0E20
|
||||
lsls r0, 24
|
||||
lsrs r0, 24
|
||||
ldr r2, _080C517C @ =sub_80C07F8
|
||||
adds r1, r5, 0
|
||||
bl sub_80C0E70
|
||||
b _080C51DC
|
||||
.align 2, 0
|
||||
_080C517C: .4byte sub_80C07F8
|
||||
_080C5180:
|
||||
movs r0, 0x2
|
||||
bl sub_80C0E04
|
||||
lsls r0, 24
|
||||
lsrs r0, 24
|
||||
cmp r0, 0x1
|
||||
bne _080C51A6
|
||||
adds r0, r5, 0
|
||||
bl sub_80C2C1C
|
||||
b _080C51A6
|
||||
_080C5196:
|
||||
movs r0, 0x1
|
||||
negs r0, r0
|
||||
movs r1, 0
|
||||
str r1, [sp]
|
||||
movs r2, 0
|
||||
movs r3, 0x10
|
||||
bl BeginNormalPaletteFade
|
||||
_080C51A6:
|
||||
ldr r0, _080C51B4 @ =gUnknown_20399FC
|
||||
ldr r1, [r0]
|
||||
_080C51AA:
|
||||
ldrb r0, [r1]
|
||||
adds r0, 0x1
|
||||
strb r0, [r1]
|
||||
b _080C51DC
|
||||
.align 2, 0
|
||||
_080C51B4: .4byte gUnknown_20399FC
|
||||
_080C51B8:
|
||||
ldr r0, _080C51E4 @ =gPaletteFade
|
||||
ldrb r1, [r0, 0x7]
|
||||
movs r0, 0x80
|
||||
ands r0, r1
|
||||
cmp r0, 0
|
||||
bne _080C51DC
|
||||
ldrb r0, [r2, 0x2]
|
||||
cmp r0, 0x1
|
||||
bne _080C51D6
|
||||
bl sub_80C3520
|
||||
lsls r0, 16
|
||||
lsrs r0, 16
|
||||
bl sub_80C527C
|
||||
_080C51D6:
|
||||
adds r0, r5, 0
|
||||
bl sub_80C5208
|
||||
_080C51DC:
|
||||
add sp, 0x4
|
||||
pop {r4,r5}
|
||||
pop {r0}
|
||||
bx r0
|
||||
.align 2, 0
|
||||
_080C51E4: .4byte gPaletteFade
|
||||
thumb_func_end sub_80C4F08
|
||||
|
||||
thumb_func_start sub_80C51E8
|
||||
sub_80C51E8: @ 80C51E8
|
||||
push {r4,lr}
|
||||
ldr r4, _080C5204 @ =gUnknown_20399FC
|
||||
movs r0, 0x4
|
||||
bl AllocZeroed
|
||||
str r0, [r4]
|
||||
movs r1, 0
|
||||
strb r1, [r0]
|
||||
ldr r0, [r4]
|
||||
strb r1, [r0, 0x1]
|
||||
pop {r4}
|
||||
pop {r0}
|
||||
bx r0
|
||||
.align 2, 0
|
||||
_080C5204: .4byte gUnknown_20399FC
|
||||
thumb_func_end sub_80C51E8
|
||||
|
||||
thumb_func_start sub_80C5208
|
||||
sub_80C5208: @ 80C5208
|
||||
push {r4,lr}
|
||||
lsls r0, 24
|
||||
lsrs r4, r0, 24
|
||||
movs r0, 0x2
|
||||
bl sub_80C0E04
|
||||
lsls r0, 24
|
||||
lsrs r0, 24
|
||||
cmp r0, 0x1
|
||||
bne _080C5220
|
||||
bl sub_80C25BC
|
||||
_080C5220:
|
||||
bl sub_80C4A04
|
||||
bl sub_80C3188
|
||||
bl sub_80C4348
|
||||
bl sub_80C4D30
|
||||
bl sub_80C0898
|
||||
adds r0, r4, 0
|
||||
bl DestroyTask
|
||||
bl FreeAllWindowBuffers
|
||||
ldr r0, _080C5250 @ =gUnknown_20399FC
|
||||
ldr r0, [r0]
|
||||
ldrb r0, [r0, 0x2]
|
||||
cmp r0, 0x1
|
||||
bne _080C5258
|
||||
ldr r0, _080C5254 @ =CB2_ReturnToField
|
||||
bl SetMainCallback2
|
||||
b _080C525E
|
||||
.align 2, 0
|
||||
_080C5250: .4byte gUnknown_20399FC
|
||||
_080C5254: .4byte CB2_ReturnToField
|
||||
_080C5258:
|
||||
ldr r0, _080C5274 @ =CB2_ReturnToPartyMenuFromFlyMap
|
||||
bl SetMainCallback2
|
||||
_080C525E:
|
||||
ldr r4, _080C5278 @ =gUnknown_20399FC
|
||||
ldr r0, [r4]
|
||||
cmp r0, 0
|
||||
beq _080C526E
|
||||
bl Free
|
||||
movs r0, 0
|
||||
str r0, [r4]
|
||||
_080C526E:
|
||||
pop {r4}
|
||||
pop {r0}
|
||||
bx r0
|
||||
.align 2, 0
|
||||
_080C5274: .4byte CB2_ReturnToPartyMenuFromFlyMap
|
||||
_080C5278: .4byte gUnknown_20399FC
|
||||
thumb_func_end sub_80C5208
|
||||
|
||||
thumb_func_start sub_80C527C
|
||||
sub_80C527C: @ 80C527C
|
||||
push {r4,r5,lr}
|
||||
lsls r0, 16
|
||||
ldr r1, _080C52A4 @ =0xffa80000
|
||||
adds r0, r1
|
||||
lsrs r0, 16
|
||||
ldr r5, _080C52A8 @ =gUnknown_83F2EE0
|
||||
lsls r1, r0, 1
|
||||
adds r4, r1, r0
|
||||
adds r0, r5, 0x2
|
||||
adds r1, r4, r0
|
||||
ldrb r0, [r1]
|
||||
cmp r0, 0
|
||||
beq _080C52AC
|
||||
bl sub_805546C
|
||||
adds r0, r4, r5
|
||||
bl sub_8124C1C
|
||||
b _080C52C6
|
||||
.align 2, 0
|
||||
_080C52A4: .4byte 0xffa80000
|
||||
_080C52A8: .4byte gUnknown_83F2EE0
|
||||
_080C52AC:
|
||||
adds r0, r4, r5
|
||||
ldrb r0, [r0]
|
||||
lsls r0, 24
|
||||
asrs r0, 24
|
||||
adds r1, r5, 0x1
|
||||
adds r1, r4, r1
|
||||
ldrb r1, [r1]
|
||||
lsls r1, 24
|
||||
asrs r1, 24
|
||||
movs r2, 0x1
|
||||
negs r2, r2
|
||||
bl warp1_set_2
|
||||
_080C52C6:
|
||||
bl sub_80842C8
|
||||
pop {r4,r5}
|
||||
pop {r0}
|
||||
bx r0
|
||||
thumb_func_end sub_80C527C
|
||||
|
||||
thumb_func_start sub_80C52D0
|
||||
sub_80C52D0: @ 80C52D0
|
||||
push {lr}
|
||||
|
||||
@@ -23,5 +23,6 @@ void sub_80853CC(u8 a0);
|
||||
void sub_8083598(u8 a0);
|
||||
void sub_8083A5C(struct Sprite * sprite, u8 spriteId);
|
||||
u8 sub_8083970(u16 species, s16 x, s16 y, bool8 unused);
|
||||
void sub_80842C8(void);
|
||||
|
||||
#endif //GUARD_FIELD_EFFECTS_H
|
||||
|
||||
@@ -149,5 +149,6 @@ void sub_8055778(int);
|
||||
void sub_8055738(u8 loc);
|
||||
|
||||
void sub_8056078(void *, void *);
|
||||
void sub_805546C(u8 a0);
|
||||
|
||||
#endif //GUARD_OVERWORLD_H
|
||||
|
||||
@@ -24,76 +24,10 @@ enum {
|
||||
MAPSECTYPE_CITY_CANTFLY,
|
||||
};
|
||||
|
||||
struct RegionMap {
|
||||
/*0x000*/ u16 mapSecId;
|
||||
/*0x002*/ u8 iconDrawType;
|
||||
/*0x003*/ u8 posWithinMapSec;
|
||||
/*0x004*/ u8 mapSecName[0x14];
|
||||
/*0x018*/ u8 (*inputCallback)(void);
|
||||
/*0x01c*/ struct Sprite *cursorSprite;
|
||||
/*0x020*/ struct Sprite *playerIconSprite;
|
||||
/*0x024*/ s32 bg2x;
|
||||
/*0x028*/ s32 bg2y;
|
||||
/*0x02c*/ u32 bg2pa;
|
||||
/*0x034*/ u32 bg2pc;
|
||||
/*0x030*/ u32 bg2pb;
|
||||
/*0x038*/ u32 bg2pd;
|
||||
/*0x03c*/ s32 unk_03c;
|
||||
/*0x040*/ s32 unk_040;
|
||||
/*0x044*/ s32 unk_044;
|
||||
/*0x048*/ s32 unk_048;
|
||||
/*0x04c*/ s32 unk_04c;
|
||||
/*0x050*/ s32 unk_050;
|
||||
/*0x054*/ u16 cursorPosX;
|
||||
/*0x056*/ u16 cursorPosY;
|
||||
/*0x058*/ u16 cursorTileTag;
|
||||
/*0x05a*/ u16 cursorPaletteTag;
|
||||
/*0x05c*/ s16 scrollX;
|
||||
/*0x05e*/ s16 scrollY;
|
||||
/*0x060*/ s16 unk_060;
|
||||
/*0x062*/ s16 unk_062;
|
||||
/*0x064*/ u16 zoomedCursorPosX;
|
||||
/*0x066*/ u16 zoomedCursorPosY;
|
||||
/*0x068*/ s16 zoomedCursorDeltaY;
|
||||
/*0x06a*/ s16 zoomedCursorDeltaX;
|
||||
/*0x06c*/ u16 zoomedCursorMovementFrameCounter;
|
||||
/*0x06e*/ u16 unk_06e;
|
||||
/*0x070*/ u16 playerIconTileTag;
|
||||
/*0x072*/ u16 playerIconPaletteTag;
|
||||
/*0x074*/ u16 playerIconSpritePosX;
|
||||
/*0x076*/ u16 playerIconSpritePosY;
|
||||
/*0x078*/ bool8 zoomed;
|
||||
/*0x079*/ u8 initStep;
|
||||
/*0x07a*/ s8 cursorMovementFrameCounter;
|
||||
/*0x07b*/ s8 cursorDeltaX;
|
||||
/*0x07c*/ s8 cursorDeltaY;
|
||||
/*0x07d*/ bool8 needUpdateVideoRegs;
|
||||
/*0x07e*/ bool8 blinkPlayerIcon;
|
||||
/*0x07f*/ bool8 playerIsInCave;
|
||||
/*0x080*/ u8 bgNum;
|
||||
/*0x081*/ u8 charBaseIdx;
|
||||
/*0x082*/ u8 mapBaseIdx;
|
||||
/*0x083*/ bool8 bgManaged;
|
||||
/*0x084*/ u8 filler_084[0x100];
|
||||
/*0x184*/ u8 cursorSmallImage[0x100];
|
||||
/*0x284*/ u8 cursorLargeImage[0x600];
|
||||
}; // size = 0x884
|
||||
|
||||
// Exported RAM declarations
|
||||
|
||||
// Exported ROM declarations
|
||||
void sub_8122CF8(struct RegionMap *regionMap, struct BgTemplate *template, bool8 zoomed);
|
||||
bool8 sub_8122DB0(void);
|
||||
void UpdateRegionMapVideoRegs(void);
|
||||
void InitRegionMap(struct RegionMap *regionMap, u8 argument);
|
||||
u8 sub_81230AC(void);
|
||||
bool8 sub_8123514(void);
|
||||
void FreeRegionMapIconResources(void);
|
||||
u16 GetRegionMapSectionIdAt(u16 x, u16 y);
|
||||
void CreateRegionMapPlayerIcon(u16 x, u16 y);
|
||||
void CreateRegionMapCursor(u16 tileTag, u16 paletteTag);
|
||||
u8 *GetMapName(u8 *dest, u16 mapsec, u16 fill);
|
||||
bool32 sub_8124668(u8 mapSecId);
|
||||
u8 *GetMapNameGeneric(u8 *dest, u16 mapsec);
|
||||
void sub_80BFF50(u8 a0, void (*a1)(void));
|
||||
void MCB2_FlyMap(void);
|
||||
|
||||
+215
-2
@@ -10,6 +10,8 @@
|
||||
#include "region_map.h"
|
||||
#include "window.h"
|
||||
#include "sound.h"
|
||||
#include "party_menu.h"
|
||||
#include "field_effect.h"
|
||||
#include "new_menu_helpers.h"
|
||||
#include "menu.h"
|
||||
#include "string_util.h"
|
||||
@@ -160,7 +162,7 @@ struct UnkStruct_20399E4
|
||||
struct Sprite * field_01C;
|
||||
u16 field_020;
|
||||
u16 field_022;
|
||||
u16 field_024[0x080];
|
||||
u16 field_024[0x80];
|
||||
}; // size = 0x124
|
||||
|
||||
struct UnkStruct_20399E8
|
||||
@@ -208,6 +210,13 @@ struct UnkStruct_20399F0
|
||||
u16 win1v;
|
||||
};
|
||||
|
||||
struct UnkStruct_20399FC
|
||||
{
|
||||
u8 field_0;
|
||||
u8 field_1;
|
||||
u8 field_2;
|
||||
};
|
||||
|
||||
EWRAM_DATA struct UnkStruct_20399D4 * gUnknown_20399D4 = NULL;
|
||||
EWRAM_DATA struct UnkStruct_20399D8 * gUnknown_20399D8 = NULL;
|
||||
EWRAM_DATA struct UnkStruct_20399DC * gUnknown_20399DC = NULL;
|
||||
@@ -216,7 +225,7 @@ EWRAM_DATA struct UnkStruct_20399E4 * gUnknown_20399E4 = NULL;
|
||||
EWRAM_DATA struct UnkStruct_20399E8 * gUnknown_20399E8 = NULL;
|
||||
EWRAM_DATA struct UnkStruct_20399EC * gUnknown_20399EC = NULL;
|
||||
EWRAM_DATA struct UnkStruct_20399F0 * gUnknown_20399F0[3] = {};
|
||||
EWRAM_DATA void * gUnknown_20399FC = NULL;
|
||||
EWRAM_DATA struct UnkStruct_20399FC * gUnknown_20399FC = NULL;
|
||||
|
||||
static void sub_80BFFD0(void);
|
||||
void sub_80C0100(void);
|
||||
@@ -315,6 +324,9 @@ void sub_80C4E18(const u8 *str);
|
||||
void sub_80C4E74(const u8 *str);
|
||||
void sub_80C4ED0(bool8 a0);
|
||||
void sub_80C4F08(u8 taskId);
|
||||
void sub_80C51E8(void);
|
||||
void sub_80C5208(u8 taskId);
|
||||
void sub_80C527C(u16 a0);
|
||||
|
||||
#include "data/text/map_section_names.h"
|
||||
extern const u16 gUnknown_83EF23C[];
|
||||
@@ -375,6 +387,7 @@ extern const union AnimCmd *const gUnknown_83F1C94[];
|
||||
extern const union AnimCmd *const gUnknown_83F1C98[];
|
||||
extern const u16 gUnknown_83F1CA0[];
|
||||
extern const u8 gUnknown_83F1CA4[][2];
|
||||
extern const u8 gUnknown_83F1CA8[];
|
||||
extern const u8 *const gUnknown_83F1CAC[];
|
||||
extern const u16 gUnknown_83F1E60[][2];
|
||||
extern const u16 gUnknown_83F2178[][2];
|
||||
@@ -382,6 +395,7 @@ extern const u8 gUnknown_83F2490[][15][22];
|
||||
extern const u8 gUnknown_83F2724[][15][22];
|
||||
extern const u8 gUnknown_83F29B8[][15][22];
|
||||
extern const u8 gUnknown_83F2C4C[][15][22];
|
||||
extern const u8 gUnknown_83F2EE0[][3];
|
||||
|
||||
static void RegionMap_DarkenPalette(u16 *pal, u16 size, u16 tint)
|
||||
{
|
||||
@@ -3269,3 +3283,202 @@ u8 *sub_80C4E08(u8 *dest, u16 mapsec)
|
||||
{
|
||||
return GetMapNameGeneric(dest, mapsec);
|
||||
}
|
||||
|
||||
void sub_80C4E18(const u8 *str)
|
||||
{
|
||||
if (gUnknown_20399D4->field_4797[2] == 1)
|
||||
FillWindowPixelBuffer(3, PIXEL_FILL(0));
|
||||
else
|
||||
FillWindowPixelBuffer(3, PIXEL_FILL(15));
|
||||
AddTextPrinterParameterized3(3, 0, 0, 0, gUnknown_83F1CA8, 0, str);
|
||||
CopyWindowToVram(3, 2);
|
||||
}
|
||||
|
||||
void sub_80C4E74(const u8 *str)
|
||||
{
|
||||
if (gUnknown_20399D4->field_4797[2] == 1)
|
||||
FillWindowPixelBuffer(4, PIXEL_FILL(0));
|
||||
else
|
||||
FillWindowPixelBuffer(4, PIXEL_FILL(15));
|
||||
AddTextPrinterParameterized3(4, 0, 0, 0, gUnknown_83F1CA8, 0, str);
|
||||
CopyWindowToVram(4, 3);
|
||||
}
|
||||
|
||||
void sub_80C4ED0(bool8 mode)
|
||||
{
|
||||
if (!mode)
|
||||
{
|
||||
PutWindowTilemap(3);
|
||||
PutWindowTilemap(4);
|
||||
}
|
||||
else
|
||||
{
|
||||
ClearWindowTilemap(3);
|
||||
ClearWindowTilemap(4);
|
||||
}
|
||||
}
|
||||
|
||||
void MCB2_FlyMap(void)
|
||||
{
|
||||
sub_80C51E8();
|
||||
sub_80BFEDC(2);
|
||||
}
|
||||
|
||||
void sub_80C4F08(u8 taskId)
|
||||
{
|
||||
switch (gUnknown_20399FC->field_0)
|
||||
{
|
||||
case 0:
|
||||
BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, RGB_BLACK);
|
||||
sub_80C4398(sub_80C0E20(), taskId, sub_80C07E4());
|
||||
sub_80C3008(0, 0);
|
||||
sub_80C41D8(1, 1);
|
||||
sub_80C3154(FALSE);
|
||||
sub_80C4324(FALSE);
|
||||
gUnknown_20399FC->field_0++;
|
||||
break;
|
||||
case 1:
|
||||
if (sub_80C0E04(2) == TRUE)
|
||||
{
|
||||
sub_80C2208(taskId, sub_80C07E4());
|
||||
}
|
||||
else
|
||||
{
|
||||
ShowBg(0);
|
||||
ShowBg(3);
|
||||
ShowBg(1);
|
||||
sub_80C4E18(gUnknown_8418EB5);
|
||||
sub_80C48BC(sub_80C0E20(), 25, FALSE);
|
||||
sub_80C4960(sub_80C0E20(), 25, FALSE);
|
||||
}
|
||||
gUnknown_20399FC->field_0++;
|
||||
break;
|
||||
case 2:
|
||||
sub_80C4E74(gUnknown_8418EB0);
|
||||
sub_80C4ED0(FALSE);
|
||||
gUnknown_20399FC->field_0++;
|
||||
break;
|
||||
case 3:
|
||||
if (!gPaletteFade.active)
|
||||
{
|
||||
sub_80C0B18();
|
||||
PutWindowTilemap(0);
|
||||
sub_80C0BB0();
|
||||
PutWindowTilemap(1);
|
||||
gUnknown_20399FC->field_0++;
|
||||
}
|
||||
break;
|
||||
case 4:
|
||||
switch (sub_80C3400())
|
||||
{
|
||||
case 1:
|
||||
case 2:
|
||||
break;
|
||||
case 6:
|
||||
gUnknown_20399FC->field_0 = 6;
|
||||
break;
|
||||
case 3:
|
||||
if (sub_80C3AC8(0) == 2)
|
||||
PlaySE(SE_Z_PAGE);
|
||||
else
|
||||
sub_80C0450();
|
||||
sub_80C3178();
|
||||
sub_80C0B18();
|
||||
sub_80C0BB0();
|
||||
sub_80C0B9C();
|
||||
if (sub_80C3508() == 21 && sub_80C3514() == 13)
|
||||
{
|
||||
PlaySE(SE_W255);
|
||||
sub_80C4E74(gUnknown_8418E95);
|
||||
}
|
||||
else if (sub_80C3AC8(0) == 2 || sub_80C3AC8(0) == 4)
|
||||
{
|
||||
sub_80C4E74(gUnknown_8418EB0);
|
||||
}
|
||||
else
|
||||
{
|
||||
sub_80C4E74(gUnknown_8418E8B);
|
||||
}
|
||||
break;
|
||||
case 4:
|
||||
if ((sub_80C3AC8(0) == 2 || sub_80C3AC8(0) == 4) && sub_80C0E04(3) == TRUE)
|
||||
{
|
||||
switch (get_map_light_level_by_bank_and_number(gSaveBlock1Ptr->location.mapGroup, gSaveBlock1Ptr->location.mapNum))
|
||||
{
|
||||
case 4:
|
||||
case 8:
|
||||
gUnknown_20399FC->field_2 = FALSE;
|
||||
gUnknown_20399FC->field_0++;
|
||||
break;
|
||||
default:
|
||||
PlaySE(SE_KAIFUKU);
|
||||
gUnknown_20399FC->field_2 = TRUE;
|
||||
gUnknown_20399FC->field_0++;
|
||||
break;
|
||||
}
|
||||
}
|
||||
break;
|
||||
case 5:
|
||||
sub_80C0E70(sub_80C0E20(), taskId, sub_80C07F8);
|
||||
break;
|
||||
}
|
||||
break;
|
||||
case 5:
|
||||
if (sub_80C0E04(2) == TRUE)
|
||||
sub_80C2C1C(taskId);
|
||||
gUnknown_20399FC->field_0++;
|
||||
break;
|
||||
case 6:
|
||||
BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB_BLACK);
|
||||
gUnknown_20399FC->field_0++;
|
||||
break;
|
||||
default:
|
||||
if (!gPaletteFade.active)
|
||||
{
|
||||
if (gUnknown_20399FC->field_2 == TRUE)
|
||||
sub_80C527C(sub_80C3520());
|
||||
sub_80C5208(taskId);
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
void sub_80C51E8(void)
|
||||
{
|
||||
gUnknown_20399FC = AllocZeroed(sizeof(struct UnkStruct_20399FC));
|
||||
gUnknown_20399FC->field_0 = 0;
|
||||
gUnknown_20399FC->field_1 = 0;
|
||||
}
|
||||
|
||||
void sub_80C5208(u8 taskId)
|
||||
{
|
||||
if (sub_80C0E04(2) == TRUE)
|
||||
sub_80C25BC();
|
||||
sub_80C4A04();
|
||||
sub_80C3188();
|
||||
sub_80C4348();
|
||||
sub_80C4D30();
|
||||
sub_80C0898();
|
||||
DestroyTask(taskId);
|
||||
FreeAllWindowBuffers();
|
||||
if (gUnknown_20399FC->field_2 == TRUE)
|
||||
SetMainCallback2(CB2_ReturnToField);
|
||||
else
|
||||
SetMainCallback2(CB2_ReturnToPartyMenuFromFlyMap);
|
||||
FREE_IF_NOT_NULL(gUnknown_20399FC);
|
||||
}
|
||||
|
||||
void sub_80C527C(u16 mapsec)
|
||||
{
|
||||
u16 idx = mapsec - MAPSECS_KANTO;
|
||||
if (gUnknown_83F2EE0[idx][2])
|
||||
{
|
||||
sub_805546C(gUnknown_83F2EE0[idx][2]);
|
||||
sub_8124C1C(gUnknown_83F2EE0[idx]);
|
||||
}
|
||||
else
|
||||
{
|
||||
warp1_set_2(gUnknown_83F2EE0[idx][0], gUnknown_83F2EE0[idx][1], -1);
|
||||
}
|
||||
sub_80842C8();
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user