region_map through sub_80BFFD0
This commit is contained in:
@@ -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}
|
||||
|
||||
Reference in New Issue
Block a user