through sub_8059250

This commit is contained in:
scnorton
2019-01-07 15:32:11 -05:00
parent b4f57a6c26
commit e1bd043bf3
9 changed files with 224 additions and 451 deletions
+1 -373
View File
@@ -5,378 +5,6 @@
.text
thumb_func_start sub_8059080
sub_8059080: @ 8059080
push {r4-r6,lr}
adds r4, r0, 0
lsls r1, 16
lsrs r3, r1, 16
adds r5, r3, 0
lsls r2, 24
lsrs r2, 24
adds r6, r2, 0
ldr r0, _080590A4 @ =0x0000027f
cmp r3, r0
bhi _080590A8
ldr r0, [r4, 0x10]
ldr r1, [r0, 0x14]
lsls r0, r3, 2
adds r0, r1
ldr r0, [r0]
adds r1, r2, 0
b _080590C8
.align 2, 0
_080590A4: .4byte 0x0000027f
_080590A8:
ldr r0, _080590B4 @ =0x000003ff
cmp r3, r0
bls _080590B8
movs r0, 0xFF
b _080590CC
.align 2, 0
_080590B4: .4byte 0x000003ff
_080590B8:
ldr r0, [r4, 0x14]
ldr r1, [r0, 0x14]
lsls r0, r5, 2
adds r0, r1
ldr r1, _080590D4 @ =0xfffff600
adds r0, r1
ldr r0, [r0]
adds r1, r6, 0
_080590C8:
bl sub_8058F1C
_080590CC:
pop {r4-r6}
pop {r1}
bx r1
.align 2, 0
_080590D4: .4byte 0xfffff600
thumb_func_end sub_8059080
thumb_func_start sub_80590D8
sub_80590D8: @ 80590D8
push {r4-r7,lr}
mov r7, r9
mov r6, r8
push {r6,r7}
ldr r0, _08059144 @ =gSaveBlock2Ptr
ldr r0, [r0]
ldr r1, _08059148 @ =0x00000898
adds r4, r0, r1
ldr r0, _0805914C @ =VMap
ldr r0, [r0]
mov r8, r0
ldr r0, _08059150 @ =gSaveBlock1Ptr
ldr r0, [r0]
movs r2, 0
ldrsh r6, [r0, r2]
movs r1, 0x2
ldrsh r0, [r0, r1]
adds r1, r0, 0
adds r1, 0xE
cmp r0, r1
bge _08059138
mov r12, r1
ldr r2, _08059154 @ =gBackupMapData
mov r9, r2
lsls r7, r6, 1
_0805910A:
adds r1, r6, 0
adds r3, r1, 0
adds r3, 0xF
adds r5, r0, 0x1
cmp r1, r3
bge _08059132
mov r2, r8
muls r2, r0
adds r0, r2, 0
lsls r0, 1
add r0, r9
adds r2, r7, r0
subs r1, r3, r1
_08059124:
ldrh r0, [r2]
strh r0, [r4]
adds r4, 0x2
adds r2, 0x2
subs r1, 0x1
cmp r1, 0
bne _08059124
_08059132:
adds r0, r5, 0
cmp r0, r12
blt _0805910A
_08059138:
pop {r3,r4}
mov r8, r3
mov r9, r4
pop {r4-r7}
pop {r0}
bx r0
.align 2, 0
_08059144: .4byte gSaveBlock2Ptr
_08059148: .4byte 0x00000898
_0805914C: .4byte VMap
_08059150: .4byte gSaveBlock1Ptr
_08059154: .4byte gBackupMapData
thumb_func_end sub_80590D8
thumb_func_start sub_8059158
sub_8059158: @ 8059158
push {r4,lr}
movs r2, 0
movs r1, 0
ldr r0, _08059184 @ =gSaveBlock2Ptr
ldr r0, [r0]
ldr r4, _08059188 @ =0x00000898
adds r3, r0, r4
ldr r4, _0805918C @ =0x000001ff
_08059168:
lsls r0, r1, 1
adds r0, r3, r0
ldrh r0, [r0]
orrs r2, r0
adds r0, r1, 0x1
lsls r0, 16
lsrs r1, r0, 16
cmp r1, r4
bls _08059168
cmp r2, 0
beq _08059190
movs r0, 0
b _08059192
.align 2, 0
_08059184: .4byte gSaveBlock2Ptr
_08059188: .4byte 0x00000898
_0805918C: .4byte 0x000001ff
_08059190:
movs r0, 0x1
_08059192:
pop {r4}
pop {r1}
bx r1
thumb_func_end sub_8059158
thumb_func_start sub_8059198
sub_8059198: @ 8059198
push {lr}
sub sp, 0x4
mov r1, sp
movs r0, 0
strh r0, [r1]
ldr r0, _080591B8 @ =gSaveBlock2Ptr
ldr r1, [r0]
ldr r0, _080591BC @ =0x00000898
adds r1, r0
ldr r2, _080591C0 @ =0x01000100
mov r0, sp
bl CpuSet
add sp, 0x4
pop {r0}
bx r0
.align 2, 0
_080591B8: .4byte gSaveBlock2Ptr
_080591BC: .4byte 0x00000898
_080591C0: .4byte 0x01000100
thumb_func_end sub_8059198
thumb_func_start sub_80591C4
sub_80591C4: @ 80591C4
push {r4-r7,lr}
mov r7, r9
mov r6, r8
push {r6,r7}
ldr r0, _0805923C @ =gSaveBlock2Ptr
ldr r0, [r0]
ldr r1, _08059240 @ =0x00000898
adds r4, r0, r1
bl sub_8059158
cmp r0, 0
bne _08059230
ldr r0, _08059244 @ =VMap
ldr r0, [r0]
mov r8, r0
ldr r0, _08059248 @ =gSaveBlock1Ptr
ldr r0, [r0]
movs r2, 0
ldrsh r6, [r0, r2]
movs r1, 0x2
ldrsh r0, [r0, r1]
adds r1, r0, 0
adds r1, 0xE
cmp r0, r1
bge _0805922C
mov r12, r1
ldr r2, _0805924C @ =gBackupMapData
mov r9, r2
lsls r7, r6, 1
_080591FE:
adds r1, r6, 0
adds r3, r1, 0
adds r3, 0xF
adds r5, r0, 0x1
cmp r1, r3
bge _08059226
mov r2, r8
muls r2, r0
adds r0, r2, 0
lsls r0, 1
add r0, r9
adds r2, r7, r0
subs r1, r3, r1
_08059218:
ldrh r0, [r4]
strh r0, [r2]
adds r4, 0x2
adds r2, 0x2
subs r1, 0x1
cmp r1, 0
bne _08059218
_08059226:
adds r0, r5, 0
cmp r0, r12
blt _080591FE
_0805922C:
bl sub_8059198
_08059230:
pop {r3,r4}
mov r8, r3
mov r9, r4
pop {r4-r7}
pop {r0}
bx r0
.align 2, 0
_0805923C: .4byte gSaveBlock2Ptr
_08059240: .4byte 0x00000898
_08059244: .4byte VMap
_08059248: .4byte gSaveBlock1Ptr
_0805924C: .4byte gBackupMapData
thumb_func_end sub_80591C4
thumb_func_start sub_8059250
sub_8059250: @ 8059250
push {r4-r7,lr}
mov r7, r10
mov r6, r9
mov r5, r8
push {r5-r7}
sub sp, 0xC
lsls r0, 24
lsrs r1, r0, 24
adds r2, r1, 0
ldr r0, _0805929C @ =gSaveBlock2Ptr
ldr r0, [r0]
ldr r3, _080592A0 @ =0x00000898
adds r3, r0, r3
str r3, [sp, 0x4]
ldr r0, _080592A4 @ =VMap
ldr r0, [r0]
str r0, [sp]
movs r4, 0
mov r9, r4
mov r8, r4
ldr r0, _080592A8 @ =gSaveBlock1Ptr
ldr r0, [r0]
movs r3, 0
ldrsh r6, [r0, r3]
str r6, [sp, 0x8]
movs r4, 0x2
ldrsh r5, [r0, r4]
movs r7, 0xF
movs r6, 0xE
mov r12, r6
cmp r1, 0x2
beq _080592B6
cmp r1, 0x2
bgt _080592AC
cmp r1, 0x1
beq _080592BE
b _080592D6
.align 2, 0
_0805929C: .4byte gSaveBlock2Ptr
_080592A0: .4byte 0x00000898
_080592A4: .4byte VMap
_080592A8: .4byte gSaveBlock1Ptr
_080592AC:
cmp r2, 0x3
beq _080592C8
cmp r2, 0x4
beq _080592D0
b _080592D6
_080592B6:
adds r5, 0x1
movs r0, 0xD
mov r12, r0
b _080592D6
_080592BE:
movs r1, 0x1
mov r8, r1
movs r3, 0xD
mov r12, r3
b _080592D6
_080592C8:
ldr r4, [sp, 0x8]
adds r4, 0x1
str r4, [sp, 0x8]
b _080592D4
_080592D0:
movs r6, 0x1
mov r9, r6
_080592D4:
movs r7, 0xE
_080592D6:
movs r1, 0
cmp r1, r12
bge _0805931A
ldr r0, _08059330 @ =gBackupMapData
mov r10, r0
_080592E0:
adds r4, r1, 0x1
cmp r7, 0
beq _08059314
adds r0, r1, r5
ldr r3, [sp]
adds r2, r3, 0
muls r2, r0
add r1, r8
lsls r0, r1, 4
subs r0, r1
add r0, r9
ldr r6, [sp, 0x8]
adds r2, r6, r2
adds r3, r7, 0
lsls r2, 1
add r2, r10
lsls r0, 1
ldr r6, [sp, 0x4]
adds r1, r0, r6
_08059306:
ldrh r0, [r1]
strh r0, [r2]
adds r1, 0x2
adds r2, 0x2
subs r3, 0x1
cmp r3, 0
bne _08059306
_08059314:
adds r1, r4, 0
cmp r1, r12
blt _080592E0
_0805931A:
bl sub_8059198
add sp, 0xC
pop {r3-r5}
mov r8, r3
mov r9, r4
mov r10, r5
pop {r4-r7}
pop {r0}
bx r0
.align 2, 0
_08059330: .4byte gBackupMapData
thumb_func_end sub_8059250
thumb_func_start sub_8059334
sub_8059334: @ 8059334
push {r4-r7,lr}
@@ -686,7 +314,7 @@ CameraMove: @ 8059530
_08059570: .4byte gUnknown_2036E18
_08059574: .4byte gSaveBlock1Ptr
_08059578:
bl sub_80590D8
bl save_serialize_map
ldr r1, _080595F8 @ =gSaveBlock1Ptr
ldr r0, [r1]
movs r2, 0
+1 -1
View File
@@ -1109,7 +1109,7 @@ _0806F61E:
thumb_func_start sub_806F624
sub_806F624: @ 806F624
push {lr}
bl sub_80590D8
bl save_serialize_map
ldr r1, _0806F63C @ =gUnknown_3000FA4
ldr r0, _0806F640 @ =sub_806F7A8
str r0, [r1]
+60 -60
View File
@@ -132,11 +132,11 @@ sub_806FFB0: @ 806FFB0
sub_806FFBC: @ 806FFBC
push {r4,lr}
bl ResetTilesetAnimBuffer
ldr r2, _08070014 @ =gUnknown_3000FAE
ldr r2, _08070014 @ =sPrimaryTilesetCBCounter
ldrh r0, [r2]
adds r0, 0x1
strh r0, [r2]
ldr r1, _08070018 @ =gUnknown_3000FB0
ldr r1, _08070018 @ =sPrimaryTilesetCBBufferSize
lsls r0, 16
lsrs r0, 16
ldrh r1, [r1]
@@ -145,11 +145,11 @@ sub_806FFBC: @ 806FFBC
movs r0, 0
strh r0, [r2]
_0806FFDA:
ldr r4, _0807001C @ =gUnknown_3000FB2
ldr r4, _0807001C @ =sSecondaryTilesetCBCounter
ldrh r0, [r4]
adds r0, 0x1
strh r0, [r4]
ldr r1, _08070020 @ =gUnknown_3000FB4
ldr r1, _08070020 @ =sSecondaryTilesetCBBufferSize
lsls r0, 16
lsrs r0, 16
ldrh r1, [r1]
@@ -158,14 +158,14 @@ _0806FFDA:
movs r0, 0
strh r0, [r4]
_0806FFF2:
ldr r0, _08070024 @ =gUnknown_3000FB8
ldr r0, _08070024 @ =sPrimaryTilesetCB
ldr r1, [r0]
cmp r1, 0
beq _08070000
ldrh r0, [r2]
bl _call_via_r1
_08070000:
ldr r0, _08070028 @ =gUnknown_3000FBC
ldr r0, _08070028 @ =sSecondaryTilesetCB
ldr r1, [r0]
cmp r1, 0
beq _0807000E
@@ -176,23 +176,23 @@ _0807000E:
pop {r0}
bx r0
.align 2, 0
_08070014: .4byte gUnknown_3000FAE
_08070018: .4byte gUnknown_3000FB0
_0807001C: .4byte gUnknown_3000FB2
_08070020: .4byte gUnknown_3000FB4
_08070024: .4byte gUnknown_3000FB8
_08070028: .4byte gUnknown_3000FBC
_08070014: .4byte sPrimaryTilesetCBCounter
_08070018: .4byte sPrimaryTilesetCBBufferSize
_0807001C: .4byte sSecondaryTilesetCBCounter
_08070020: .4byte sSecondaryTilesetCBBufferSize
_08070024: .4byte sPrimaryTilesetCB
_08070028: .4byte sSecondaryTilesetCB
thumb_func_end sub_806FFBC
thumb_func_start cur_mapheader_run_tileset1_func
cur_mapheader_run_tileset1_func: @ 807002C
push {lr}
ldr r0, _08070058 @ =gUnknown_3000FAE
ldr r0, _08070058 @ =sPrimaryTilesetCBCounter
movs r1, 0
strh r1, [r0]
ldr r0, _0807005C @ =gUnknown_3000FB0
ldr r0, _0807005C @ =sPrimaryTilesetCBBufferSize
strh r1, [r0]
ldr r1, _08070060 @ =gUnknown_3000FB8
ldr r1, _08070060 @ =sPrimaryTilesetCB
movs r0, 0
str r0, [r1]
ldr r0, _08070064 @ =gMapHeader
@@ -208,21 +208,21 @@ _08070052:
pop {r0}
bx r0
.align 2, 0
_08070058: .4byte gUnknown_3000FAE
_0807005C: .4byte gUnknown_3000FB0
_08070060: .4byte gUnknown_3000FB8
_08070058: .4byte sPrimaryTilesetCBCounter
_0807005C: .4byte sPrimaryTilesetCBBufferSize
_08070060: .4byte sPrimaryTilesetCB
_08070064: .4byte gMapHeader
thumb_func_end cur_mapheader_run_tileset1_func
thumb_func_start cur_mapheader_run_tileset2_func
cur_mapheader_run_tileset2_func: @ 8070068
push {lr}
ldr r0, _08070094 @ =gUnknown_3000FB2
ldr r0, _08070094 @ =sSecondaryTilesetCBCounter
movs r1, 0
strh r1, [r0]
ldr r0, _08070098 @ =gUnknown_3000FB4
ldr r0, _08070098 @ =sSecondaryTilesetCBBufferSize
strh r1, [r0]
ldr r1, _0807009C @ =gUnknown_3000FBC
ldr r1, _0807009C @ =sSecondaryTilesetCB
movs r0, 0
str r0, [r1]
ldr r0, _080700A0 @ =gMapHeader
@@ -238,9 +238,9 @@ _0807008E:
pop {r0}
bx r0
.align 2, 0
_08070094: .4byte gUnknown_3000FB2
_08070098: .4byte gUnknown_3000FB4
_0807009C: .4byte gUnknown_3000FBC
_08070094: .4byte sSecondaryTilesetCBCounter
_08070098: .4byte sSecondaryTilesetCBBufferSize
_0807009C: .4byte sSecondaryTilesetCB
_080700A0: .4byte gMapHeader
thumb_func_end cur_mapheader_run_tileset2_func
@@ -342,22 +342,22 @@ _0807014C:
thumb_func_start sub_8070154
sub_8070154: @ 8070154
ldr r1, _0807016C @ =gUnknown_3000FAE
ldr r1, _0807016C @ =sPrimaryTilesetCBCounter
movs r0, 0
strh r0, [r1]
ldr r1, _08070170 @ =gUnknown_3000FB0
ldr r1, _08070170 @ =sPrimaryTilesetCBBufferSize
movs r2, 0xA0
lsls r2, 2
adds r0, r2, 0
strh r0, [r1]
ldr r1, _08070174 @ =gUnknown_3000FB8
ldr r1, _08070174 @ =sPrimaryTilesetCB
ldr r0, _08070178 @ =sub_8070120
str r0, [r1]
bx lr
.align 2, 0
_0807016C: .4byte gUnknown_3000FAE
_08070170: .4byte gUnknown_3000FB0
_08070174: .4byte gUnknown_3000FB8
_0807016C: .4byte sPrimaryTilesetCBCounter
_08070170: .4byte sPrimaryTilesetCBBufferSize
_08070174: .4byte sPrimaryTilesetCB
_08070178: .4byte sub_8070120
thumb_func_end sub_8070154
@@ -410,20 +410,20 @@ _080701D0:
thumb_func_start sub_80701D8
sub_80701D8: @ 80701D8
ldr r1, _080701EC @ =gUnknown_3000FB2
ldr r1, _080701EC @ =sSecondaryTilesetCBCounter
movs r0, 0
strh r0, [r1]
ldr r1, _080701F0 @ =gUnknown_3000FB4
ldr r1, _080701F0 @ =sSecondaryTilesetCBBufferSize
movs r0, 0x78
strh r0, [r1]
ldr r1, _080701F4 @ =gUnknown_3000FBC
ldr r1, _080701F4 @ =sSecondaryTilesetCB
ldr r0, _080701F8 @ =sub_80701AC
str r0, [r1]
bx lr
.align 2, 0
_080701EC: .4byte gUnknown_3000FB2
_080701F0: .4byte gUnknown_3000FB4
_080701F4: .4byte gUnknown_3000FBC
_080701EC: .4byte sSecondaryTilesetCBCounter
_080701F0: .4byte sSecondaryTilesetCBBufferSize
_080701F4: .4byte sSecondaryTilesetCB
_080701F8: .4byte sub_80701AC
thumb_func_end sub_80701D8
@@ -474,20 +474,20 @@ _08070248:
thumb_func_start sub_8070250
sub_8070250: @ 8070250
ldr r1, _08070264 @ =gUnknown_3000FB2
ldr r1, _08070264 @ =sSecondaryTilesetCBCounter
movs r0, 0
strh r0, [r1]
ldr r1, _08070268 @ =gUnknown_3000FB4
ldr r1, _08070268 @ =sSecondaryTilesetCBBufferSize
movs r0, 0xA0
strh r0, [r1]
ldr r1, _0807026C @ =gUnknown_3000FBC
ldr r1, _0807026C @ =sSecondaryTilesetCB
ldr r0, _08070270 @ =sub_8070224
str r0, [r1]
bx lr
.align 2, 0
_08070264: .4byte gUnknown_3000FB2
_08070268: .4byte gUnknown_3000FB4
_0807026C: .4byte gUnknown_3000FBC
_08070264: .4byte sSecondaryTilesetCBCounter
_08070268: .4byte sSecondaryTilesetCBBufferSize
_0807026C: .4byte sSecondaryTilesetCB
_08070270: .4byte sub_8070224
thumb_func_end sub_8070250
@@ -531,22 +531,22 @@ _080702B0:
thumb_func_start sub_80702B4
sub_80702B4: @ 80702B4
ldr r1, _080702CC @ =gUnknown_3000FB2
ldr r1, _080702CC @ =sSecondaryTilesetCBCounter
movs r0, 0
strh r0, [r1]
ldr r1, _080702D0 @ =gUnknown_3000FB4
ldr r1, _080702D0 @ =sSecondaryTilesetCBBufferSize
movs r2, 0x80
lsls r2, 1
adds r0, r2, 0
strh r0, [r1]
ldr r1, _080702D4 @ =gUnknown_3000FBC
ldr r1, _080702D4 @ =sSecondaryTilesetCB
ldr r0, _080702D8 @ =sub_807029C
str r0, [r1]
bx lr
.align 2, 0
_080702CC: .4byte gUnknown_3000FB2
_080702D0: .4byte gUnknown_3000FB4
_080702D4: .4byte gUnknown_3000FBC
_080702CC: .4byte sSecondaryTilesetCBCounter
_080702D0: .4byte sSecondaryTilesetCBBufferSize
_080702D4: .4byte sSecondaryTilesetCB
_080702D8: .4byte sub_807029C
thumb_func_end sub_80702B4
@@ -589,20 +589,20 @@ _08070318:
thumb_func_start sub_807031C
sub_807031C: @ 807031C
ldr r1, _08070330 @ =gUnknown_3000FB2
ldr r1, _08070330 @ =sSecondaryTilesetCBCounter
movs r0, 0
strh r0, [r1]
ldr r1, _08070334 @ =gUnknown_3000FB4
ldr r1, _08070334 @ =sSecondaryTilesetCBBufferSize
movs r0, 0xF0
strh r0, [r1]
ldr r1, _08070338 @ =gUnknown_3000FBC
ldr r1, _08070338 @ =sSecondaryTilesetCB
ldr r0, _0807033C @ =sub_8070304
str r0, [r1]
bx lr
.align 2, 0
_08070330: .4byte gUnknown_3000FB2
_08070334: .4byte gUnknown_3000FB4
_08070338: .4byte gUnknown_3000FBC
_08070330: .4byte sSecondaryTilesetCBCounter
_08070334: .4byte sSecondaryTilesetCBBufferSize
_08070338: .4byte sSecondaryTilesetCB
_0807033C: .4byte sub_8070304
thumb_func_end sub_807031C
@@ -645,22 +645,22 @@ _0807037C:
thumb_func_start sub_8070380
sub_8070380: @ 8070380
ldr r1, _08070398 @ =gUnknown_3000FB2
ldr r1, _08070398 @ =sSecondaryTilesetCBCounter
movs r0, 0
strh r0, [r1]
ldr r1, _0807039C @ =gUnknown_3000FB4
ldr r1, _0807039C @ =sSecondaryTilesetCBBufferSize
movs r2, 0x80
lsls r2, 1
adds r0, r2, 0
strh r0, [r1]
ldr r1, _080703A0 @ =gUnknown_3000FBC
ldr r1, _080703A0 @ =sSecondaryTilesetCB
ldr r0, _080703A4 @ =sub_8070368
str r0, [r1]
bx lr
.align 2, 0
_08070398: .4byte gUnknown_3000FB2
_0807039C: .4byte gUnknown_3000FB4
_080703A0: .4byte gUnknown_3000FBC
_08070398: .4byte sSecondaryTilesetCBCounter
_0807039C: .4byte sSecondaryTilesetCBBufferSize
_080703A0: .4byte sSecondaryTilesetCB
_080703A4: .4byte sub_8070368
thumb_func_end sub_8070380