region_map through sub_80BFFD0

This commit is contained in:
PikalaxALT
2019-12-23 13:33:06 -05:00
parent f1d821ecc2
commit 59581b3c57
8 changed files with 341 additions and 726 deletions
-365
View File
@@ -5,371 +5,6 @@
.text
thumb_func_start sub_80BFE18
sub_80BFE18: @ 80BFE18
push {r4-r7,lr}
mov r7, r10
mov r6, r9
mov r5, r8
push {r5-r7}
adds r6, r0, 0
lsls r1, 16
lsrs r1, 16
lsls r2, 16
lsrs r2, 16
mov r9, r2
cmp r1, 0
beq _080BFE92
movs r0, 0x1F
mov r10, r0
mov r8, r1
_080BFE38:
ldrh r1, [r6]
movs r0, 0x1F
ands r0, r1
lsls r1, 16
lsrs r5, r1, 21
mov r2, r10
ands r5, r2
lsrs r4, r1, 26
ands r4, r2
lsls r0, 8
movs r1, 0x64
bl __divsi3
mov r1, r9
muls r1, r0
adds r0, r1, 0
asrs r7, r0, 8
lsls r0, r5, 8
movs r1, 0x64
bl __divsi3
mov r2, r9
muls r2, r0
adds r0, r2, 0
asrs r5, r0, 8
lsls r0, r4, 8
movs r1, 0x64
bl __divsi3
mov r1, r9
muls r1, r0
adds r0, r1, 0
asrs r4, r0, 8
lsls r0, r4, 10
lsls r1, r5, 5
orrs r0, r1
orrs r0, r7
strh r0, [r6]
adds r6, 0x2
movs r2, 0x1
negs r2, r2
add r8, r2
mov r0, r8
cmp r0, 0
bne _080BFE38
_080BFE92:
pop {r3-r5}
mov r8, r3
mov r9, r4
mov r10, r5
pop {r4-r7}
pop {r0}
bx r0
thumb_func_end sub_80BFE18
thumb_func_start sub_80BFEA0
sub_80BFEA0: @ 80BFEA0
push {r4,lr}
sub sp, 0x20
ldr r4, _080BFED8 @ =gUnknown_83EF2DC + 0x40
adds r0, r4, 0
mov r1, sp
movs r2, 0x10
bl CpuSet
mov r0, sp
movs r1, 0x10
movs r2, 0x5F
bl sub_80BFE18
mov r0, sp
movs r1, 0x20
movs r2, 0x20
bl LoadPalette
adds r4, 0x1E
adds r0, r4, 0
movs r1, 0x2F
movs r2, 0x2
bl LoadPalette
add sp, 0x20
pop {r4}
pop {r0}
bx r0
.align 2, 0
_080BFED8: .4byte gUnknown_83EF2DC + 0x40
thumb_func_end sub_80BFEA0
thumb_func_start sub_80BFEDC
sub_80BFEDC: @ 80BFEDC
push {r4,r5,lr}
lsls r0, 24
lsrs r5, r0, 24
ldr r4, _080BFEFC @ =gUnknown_20399D4
ldr r0, _080BFF00 @ =0x000047c0
bl AllocZeroed
adds r2, r0, 0
str r2, [r4]
cmp r2, 0
bne _080BFF08
ldr r0, _080BFF04 @ =CB2_ReturnToField
bl SetMainCallback2
b _080BFF38
.align 2, 0
_080BFEFC: .4byte gUnknown_20399D4
_080BFF00: .4byte 0x000047c0
_080BFF04: .4byte CB2_ReturnToField
_080BFF08:
ldr r1, _080BFF40 @ =gUnknown_2031DE0
movs r0, 0x1
strb r0, [r1]
ldr r1, _080BFF44 @ =0x00004796
adds r0, r2, r1
movs r1, 0
strb r5, [r0]
ldr r0, [r4]
ldr r2, _080BFF48 @ =0x000047a0
adds r0, r2
strb r1, [r0]
ldr r0, [r4]
adds r2, 0x4
adds r0, r2
strb r1, [r0]
ldr r0, [r4]
adds r2, 0x4
adds r0, r2
strb r1, [r0]
bl sub_80BFFD0
ldr r0, _080BFF4C @ =sub_80C0100
bl SetMainCallback2
_080BFF38:
pop {r4,r5}
pop {r0}
bx r0
.align 2, 0
_080BFF40: .4byte gUnknown_2031DE0
_080BFF44: .4byte 0x00004796
_080BFF48: .4byte 0x000047a0
_080BFF4C: .4byte sub_80C0100
thumb_func_end sub_80BFEDC
thumb_func_start sub_80BFF50
sub_80BFF50: @ 80BFF50
push {r4-r6,lr}
adds r6, r1, 0
lsls r0, 24
lsrs r5, r0, 24
ldr r4, _080BFF70 @ =gUnknown_20399D4
ldr r0, _080BFF74 @ =0x000047c0
bl AllocZeroed
adds r2, r0, 0
str r2, [r4]
cmp r2, 0
bne _080BFF7C
ldr r0, _080BFF78 @ =CB2_ReturnToField
bl SetMainCallback2
b _080BFFB4
.align 2, 0
_080BFF70: .4byte gUnknown_20399D4
_080BFF74: .4byte 0x000047c0
_080BFF78: .4byte CB2_ReturnToField
_080BFF7C:
ldr r1, _080BFFBC @ =gUnknown_2031DE0
movs r0, 0x1
strb r0, [r1]
ldr r1, _080BFFC0 @ =0x00004796
adds r0, r2, r1
movs r1, 0
strb r5, [r0]
ldr r0, [r4]
ldr r2, _080BFFC4 @ =0x000047a0
adds r0, r2
strb r1, [r0]
ldr r0, [r4]
adds r2, 0x4
adds r0, r2
strb r1, [r0]
ldr r0, [r4]
adds r2, 0x4
adds r0, r2
strb r1, [r0]
ldr r0, [r4]
ldr r1, _080BFFC8 @ =0x000047bc
adds r0, r1
str r6, [r0]
bl sub_80BFFD0
ldr r0, _080BFFCC @ =sub_80C0100
bl SetMainCallback2
_080BFFB4:
pop {r4-r6}
pop {r0}
bx r0
.align 2, 0
_080BFFBC: .4byte gUnknown_2031DE0
_080BFFC0: .4byte 0x00004796
_080BFFC4: .4byte 0x000047a0
_080BFFC8: .4byte 0x000047bc
_080BFFCC: .4byte sub_80C0100
thumb_func_end sub_80BFF50
thumb_func_start sub_80BFFD0
sub_80BFFD0: @ 80BFFD0
push {r4-r7,lr}
mov r7, r10
mov r6, r9
mov r5, r8
push {r5-r7}
ldr r1, _080C0000 @ =gUnknown_20399D4
ldr r2, [r1]
ldr r3, _080C0004 @ =0x00004796
adds r0, r2, r3
ldrb r0, [r0]
mov r8, r1
cmp r0, 0
blt _080BFFF2
cmp r0, 0x1
ble _080BFFF2
cmp r0, 0x2
beq _080C0010
_080BFFF2:
mov r4, r8
ldr r0, [r4]
ldr r1, _080C0008 @ =0x000047b8
adds r0, r1
ldr r1, _080C000C @ =sub_80C04E4
str r1, [r0]
b _080C0018
.align 2, 0
_080C0000: .4byte gUnknown_20399D4
_080C0004: .4byte 0x00004796
_080C0008: .4byte 0x000047b8
_080C000C: .4byte sub_80C04E4
_080C0010:
ldr r3, _080C009C @ =0x000047b8
adds r1, r2, r3
ldr r0, _080C00A0 @ =sub_80C4F08
str r0, [r1]
_080C0018:
movs r3, 0
ldr r6, _080C00A4 @ =gUnknown_20399D4
ldr r5, _080C00A8 @ =0x00004797
ldr r4, _080C00AC @ =gUnknown_83F1B00
ldr r2, _080C00B0 @ =0x00004796
_080C0022:
ldr r0, [r6]
adds r1, r0, r5
adds r1, r3
adds r0, r2
ldrb r0, [r0]
lsls r0, 2
adds r0, r3, r0
adds r0, r4
ldrb r0, [r0]
strb r0, [r1]
adds r0, r3, 0x1
lsls r0, 24
lsrs r3, r0, 24
cmp r3, 0x3
bls _080C0022
ldr r0, _080C00B4 @ =0x00000845
bl FlagGet
lsls r0, 24
lsrs r1, r0, 24
cmp r1, 0
bne _080C0058
ldr r0, _080C00A4 @ =gUnknown_20399D4
ldr r0, [r0]
ldr r4, _080C00A8 @ =0x00004797
adds r0, r4
strb r1, [r0]
_080C0058:
movs r7, 0
movs r1, 0
ldr r2, _080C00B8 @ =gMapHeader
ldrb r0, [r2, 0x14]
ldr r3, _080C00A4 @ =gUnknown_20399D4
mov r8, r3
cmp r0, 0x8E
bls _080C00D8
ldr r4, _080C00BC @ =gUnknown_83F1AA4
mov r12, r4
mov r10, r12
mov r9, r2
_080C0070:
movs r3, 0
lsls r0, r1, 4
subs r0, r1
lsls r2, r0, 1
mov r4, r10
adds r0, r2, r4
ldrb r0, [r0]
adds r5, r1, 0x1
cmp r0, 0xC5
beq _080C00D0
ldr r6, _080C00BC @ =gUnknown_83F1AA4
mov r0, r9
ldrb r1, [r0, 0x14]
lsls r4, r5, 24
_080C008C:
adds r0, r3, r2
adds r0, r6
ldrb r0, [r0]
cmp r1, r0
bne _080C00C0
lsrs r7, r4, 24
b _080C00D0
.align 2, 0
_080C009C: .4byte 0x000047b8
_080C00A0: .4byte sub_80C4F08
_080C00A4: .4byte gUnknown_20399D4
_080C00A8: .4byte 0x00004797
_080C00AC: .4byte gUnknown_83F1B00
_080C00B0: .4byte 0x00004796
_080C00B4: .4byte 0x00000845
_080C00B8: .4byte gMapHeader
_080C00BC: .4byte gUnknown_83F1AA4
_080C00C0:
adds r0, r3, 0x1
lsls r0, 24
lsrs r3, r0, 24
adds r0, r3, r2
add r0, r12
ldrb r0, [r0]
cmp r0, 0xC5
bne _080C008C
_080C00D0:
lsls r0, r5, 24
lsrs r1, r0, 24
cmp r7, 0
beq _080C0070
_080C00D8:
mov r1, r8
ldr r0, [r1]
ldr r2, _080C00F8 @ =0x0000479b
adds r0, r2
strb r7, [r0]
ldr r0, [r1]
ldr r3, _080C00FC @ =0x0000479c
adds r0, r3
strb r7, [r0]
pop {r3-r5}
mov r8, r3
mov r9, r4
mov r10, r5
pop {r4-r7}
pop {r0}
bx r0
.align 2, 0
_080C00F8: .4byte 0x0000479b
_080C00FC: .4byte 0x0000479c
thumb_func_end sub_80BFFD0
thumb_func_start sub_80C0100
sub_80C0100: @ 80C0100
push {r4,lr}