Decompile some functions

This commit is contained in:
octorock
2022-06-06 12:42:25 +02:00
parent 06d6f7aaa4
commit e11cfed066
29 changed files with 264 additions and 513 deletions
+7 -7
View File
@@ -27,27 +27,27 @@
.endm
.macro metatiles_bottom src_offset, size, compressed, terminator=0
map_data \src_offset, gMetatilesBottom, \size, \compressed, \terminator
map_data \src_offset, gMapBottom+0x7004, \size, \compressed, \terminator
.endm
.macro metatiles_top src_offset, size, compressed, terminator=0
map_data \src_offset, gMetatilesTop, \size, \compressed, \terminator
map_data \src_offset, gMapTop+0x7004, \size, \compressed, \terminator
.endm
.macro metatile_types_bottom src_offset, size, compressed, terminator=0
map_data \src_offset, gMetatileTypesBottom, \size, \compressed, \terminator
map_data \src_offset, gMapBottom+0x5004, \size, \compressed, \terminator
.endm
.macro metatile_types_top src_offset, size, compressed, terminator=0
map_data \src_offset, gMetatileTypesTop, \size, \compressed, \terminator
map_data \src_offset, gMapTop+0x5004, \size, \compressed, \terminator
.endm
.macro map_bottom src_offset, size, compressed, terminator=0
map_data \src_offset, gMapDataBottom, \size, \compressed, \terminator
map_data \src_offset, gMapBottom+0x0004, \size, \compressed, \terminator
.endm
.macro map_top src_offset, size, compressed, terminator=0
map_data \src_offset, gMapDataTop, \size, \compressed, \terminator
map_data \src_offset, gMapTop+0x0004, \size, \compressed, \terminator
.endm
.macro map_top_special src_offset, size, compressed, terminator=0
@@ -55,7 +55,7 @@
.endm
.macro collision_bottom src_offset, size, compressed, terminator=0
map_data \src_offset, gUnk_02027EB4, \size, \compressed, \terminator
map_data \src_offset, gMapBottom+0x2004, \size, \compressed, \terminator
.endm
.macro map_bottom_special src_offset, size, compressed, terminator=0
+2 -2
View File
@@ -62,7 +62,7 @@ _080175A4:
ands r0, r1
cmp r0, #0
beq _080175CC
ldr r2, _080175E0 @ =gUnk_02031EC0
ldr r2, _080175E0 @ =gNPCData
lsls r0, r1, #4
subs r0, #0x10
adds r2, r0, r2
@@ -85,6 +85,6 @@ _080175D2:
.align 2, 0
_080175D8: .4byte gUnk_020342F8
_080175DC: .4byte gNPCFunctions
_080175E0: .4byte gUnk_02031EC0
_080175E0: .4byte gNPCData
_080175E4: .4byte gRoomControls
.syntax divided
+4 -4
View File
@@ -66,11 +66,11 @@ _08030746:
adds r0, r4, #0
adds r0, #0x38
ldrb r0, [r0]
ldr r1, _080307B4 @ =gUnk_02027EB4
ldr r1, _080307B4 @ =gMapBottom+0x2004
mov ip, r1
cmp r0, #2
bne _08030758
ldr r7, _080307B8 @ =gUnk_0200D654
ldr r7, _080307B8 @ =gMapTop+0x2004
mov ip, r7
_08030758:
movs r0, #0x2e
@@ -118,8 +118,8 @@ _0803079E:
b _080307CC
.align 2, 0
_080307B0: .4byte gUnk_020000B0
_080307B4: .4byte gUnk_02027EB4
_080307B8: .4byte gUnk_0200D654
_080307B4: .4byte gMapBottom+0x2004
_080307B8: .4byte gMapTop+0x2004
_080307BC: .4byte gUnk_080CE164
_080307C0:
movs r0, #4
@@ -4,7 +4,7 @@
mov r6, sb
mov r5, r8
push {r5, r6, r7}
ldr r3, _0801B018 @ =gUnk_02027EB4
ldr r3, _0801B018 @ =gMapBottom+0x2004
ldr r0, _0801B01C @ =gRoomControls
ldrh r1, [r0, #0x1e]
lsrs r1, r1, #4
@@ -27,7 +27,7 @@ _0801B00E:
adds r5, r2, #1
b _0801B026
.align 2, 0
_0801B018: .4byte gUnk_02027EB4
_0801B018: .4byte gMapBottom+0x2004
_0801B01C: .4byte gRoomControls
_0801B020: .4byte gUnk_080B44D0
_0801B024:
@@ -26,7 +26,7 @@ _0805AB68:
adds r0, r6, #0
movs r1, #6
bl SetDefaultPriority
ldr r2, _0805ABF4 @ =gUnk_02031EC0
ldr r2, _0805ABF4 @ =gNPCData
ldrb r0, [r6, #0xb]
mov r3, r8
ldrb r1, [r3]
@@ -62,7 +62,7 @@ _0805ABBE:
mov r1, ip
strb r2, [r1]
_0805ABC8:
ldr r4, _0805ABF4 @ =gUnk_02031EC0
ldr r4, _0805ABF4 @ =gNPCData
ldrb r2, [r6, #0xb]
mov r3, r8
ldrb r1, [r3]
@@ -84,7 +84,7 @@ _0805ABC8:
b _0805ACAA
.align 2, 0
_0805ABF0: .4byte gArea
_0805ABF4: .4byte gUnk_02031EC0
_0805ABF4: .4byte gNPCData
_0805ABF8: .4byte gSave
_0805ABFC: .4byte gUnk_020342F8
_0805AC00:
-67
View File
@@ -1,67 +0,0 @@
.syntax unified
push {r4, r5, lr}
ldr r0, _0805387C @ =gFadeControl
ldrb r0, [r0]
cmp r0, #0
bne _0805387A
ldr r1, _08053880 @ =gMenu
ldrb r5, [r1, #0x10]
lsls r4, r5, #1
adds r4, r4, r5
lsls r4, r4, #2
ldr r0, _08053884 @ =gUnk_080FCCB4
adds r4, r4, r0
ldrh r0, [r4, #8]
movs r2, #0
strh r0, [r1, #8]
movs r0, #0x1e
strh r0, [r1, #0xa]
ldrb r0, [r1, #0x10]
adds r0, #1
strb r0, [r1, #0x10]
ldrb r0, [r1, #6]
adds r0, #1
strb r0, [r1, #6]
strb r2, [r1, #7]
adds r0, r5, #0
adds r0, #0x8a
bl LoadPaletteGroup
adds r0, r5, #0
adds r0, #0x3a
bl LoadGfxGroup
ldr r0, _08053888 @ =gBG1Buffer
movs r1, #0x80
lsls r1, r1, #4
bl MemClear
ldr r0, _0805388C @ =0x00000F01
adds r5, r5, r0
ldr r1, [r4]
adds r0, r5, #0
bl sub_0805F46C
ldr r2, _08053890 @ =gScreen
movs r0, #1
strh r0, [r2, #0x1a]
adds r1, r2, #0
adds r1, #0x68
movs r0, #0x10
strh r0, [r1]
ldrh r1, [r4, #4]
adds r0, r2, #0
adds r0, #0x58
strh r1, [r0]
ldrh r1, [r4, #6]
adds r0, #4
strh r1, [r0]
ldrh r1, [r4, #0xa]
movs r0, #4
bl SetFade
_0805387A:
pop {r4, r5, pc}
.align 2, 0
_0805387C: .4byte gFadeControl
_08053880: .4byte gMenu
_08053884: .4byte gUnk_080FCCB4
_08053888: .4byte gBG1Buffer
_0805388C: .4byte 0x00000F01
_08053890: .4byte gScreen
.syntax divided
@@ -5,7 +5,7 @@
mov r5, r8
push {r5, r6, r7}
sub sp, #8
ldr r1, _080465AC @ =gMetatileTypesTop
ldr r1, _080465AC @ =gMapTop+0x5004
ldr r2, _080465B0 @ =0xFFFFBCB0
adds r0, r1, r2
ldr r3, _080465B4 @ =0xFFFFECB0
@@ -41,7 +41,7 @@ _08046560:
strh r0, [r4]
ldrh r0, [r3]
lsls r0, r0, #1
ldr r7, _080465AC @ =gMetatileTypesTop
ldr r7, _080465AC @ =gMapTop+0x5004
adds r0, r0, r7
ldrh r1, [r0]
ldr r0, [sp, #4]
@@ -75,7 +75,7 @@ _08046560:
mov sl, r5
pop {r4, r5, r6, r7, pc}
.align 2, 0
_080465AC: .4byte gMetatileTypesTop
_080465AC: .4byte gMapTop+0x5004
_080465B0: .4byte 0xFFFFBCB0
_080465B4: .4byte 0xFFFFECB0
_080465B8: .4byte 0x00006658
@@ -1,73 +0,0 @@
.syntax unified
push {r4, r5, lr}
adds r5, r0, #0
ldr r4, [r5, #0x70]
ldrh r0, [r5, #0x36]
subs r0, #1
strh r0, [r4, #0x36]
ldrb r1, [r5, #0x1b]
lsrs r1, r1, #6
lsls r1, r1, #6
ldrb r2, [r4, #0x1b]
movs r0, #0x3f
ands r0, r2
orrs r0, r1
strb r0, [r4, #0x1b]
adds r0, r5, #0
adds r0, #0x38
ldrb r1, [r0]
adds r0, r4, #0
adds r0, #0x38
strb r1, [r0]
ldr r1, _08078D28 @ =gUnk_0811C01C
ldr r0, _08078D2C @ =gPlayerState
ldr r0, [r0, #0x2c]
ldrb r0, [r0, #0x1e]
adds r0, r0, r1
ldrb r2, [r0]
ldr r3, _08078D30 @ =gUnk_0811C0B0
ldrb r1, [r4, #0x1c]
movs r0, #0x30
ands r0, r1
lsrs r0, r0, #2
adds r0, r0, r3
lsls r2, r2, #1
ldr r0, [r0]
adds r2, r0, r2
ldrb r0, [r5, #0x18]
lsls r0, r0, #0x19
cmp r0, #0
bge _08078D34
movs r1, #0
ldrsb r1, [r2, r1]
ldrh r0, [r5, #0x2e]
subs r0, r0, r1
b _08078D3C
.align 2, 0
_08078D28: .4byte gUnk_0811C01C
_08078D2C: .4byte gPlayerState
_08078D30: .4byte gUnk_0811C0B0
_08078D34:
movs r0, #0
ldrsb r0, [r2, r0]
ldrh r1, [r5, #0x2e]
adds r0, r0, r1
_08078D3C:
strh r0, [r4, #0x2e]
movs r0, #1
ldrsb r0, [r2, r0]
ldrh r1, [r5, #0x32]
adds r0, r0, r1
strh r0, [r4, #0x32]
adds r0, r5, #0
movs r1, #0
adds r2, r4, #0
bl sub_0806FEBC
ldr r1, [r4, #0x50]
cmp r1, #0
beq _08078D5E
adds r0, r4, #0
bl CopyPosition
_08078D5E:
pop {r4, r5, pc}
.syntax divided
@@ -1,65 +0,0 @@
.syntax unified
push {r4, r5, r6, lr}
sub sp, #4
adds r5, r0, #0
movs r0, #0x2e
ldrsh r2, [r5, r0]
ldr r3, _0807A008 @ =gRoomControls
ldrh r0, [r3, #6]
subs r2, r2, r0
asrs r2, r2, #4
movs r4, #0x3f
ands r2, r4
movs r6, #0x32
ldrsh r0, [r5, r6]
ldrh r3, [r3, #8]
subs r0, r0, r3
asrs r0, r0, #4
ands r0, r4
lsls r0, r0, #6
orrs r2, r0
lsls r2, r2, #1
ldr r6, _0807A00C @ =gUnk_02027EB4
cmp r1, #2
bne _0807A004
ldr r6, _0807A010 @ =gUnk_0200D654
_0807A004:
movs r4, #0
b _0807A028
.align 2, 0
_0807A008: .4byte gRoomControls
_0807A00C: .4byte gUnk_02027EB4
_0807A010: .4byte gUnk_0200D654
_0807A014:
cmp r1, #0x23
beq _0807A028
cmp r1, #0x27
beq _0807A028
ldr r0, _0807A04C @ =gUnk_080082DC
subs r1, #0x10
adds r1, r1, r0
ldrb r0, [r1]
cmp r0, #0
beq _0807A046
_0807A028:
adds r4, #1
adds r0, r5, #0
mov r1, sp
bl sub_08004202
adds r2, r0, #0
lsrs r0, r2, #1
adds r0, r6, r0
ldrb r1, [r0]
cmp r1, #0xe
bls _0807A046
cmp r1, #0xf
bls _0807A028
cmp r1, #0x1d
bne _0807A014
_0807A046:
adds r0, r4, #0
add sp, #4
pop {r4, r5, r6, pc}
.align 2, 0
_0807A04C: .4byte gUnk_080082DC
.syntax divided
@@ -5,7 +5,7 @@
bl ClearBgAnimations
bl sub_0807BFA8
ldr r7, _0807C0B8 @ =0x0000FFFF
ldr r6, _0807C0BC @ =gMetatileTypesBottom
ldr r6, _0807C0BC @ =gMapBottom+0x5004
movs r0, #0x80
lsls r0, r0, #5
mov r8, r0
@@ -15,7 +15,7 @@
bl MemFill16
movs r5, #0
strh r5, [r6]
ldr r4, _0807C0C0 @ =gMetatileTypesTop
ldr r4, _0807C0C0 @ =gMapTop+0x5004
adds r0, r7, #0
adds r1, r4, #0
mov r2, r8
@@ -84,7 +84,7 @@ _0807C078:
ble _0807C066
movs r2, #0x80
lsls r2, r2, #5
ldr r5, _0807C0C0 @ =gMetatileTypesTop
ldr r5, _0807C0C0 @ =gMapTop+0x5004
adds r6, r5, r2
ldr r4, _0807C0B8 @ =0x0000FFFF
adds r0, r4, #0
@@ -112,8 +112,8 @@ _0807C0A8:
pop {r4, r5, r6, r7, pc}
.align 2, 0
_0807C0B8: .4byte 0x0000FFFF
_0807C0BC: .4byte gMetatileTypesBottom
_0807C0C0: .4byte gMetatileTypesTop
_0807C0BC: .4byte gMapBottom+0x5004
_0807C0C0: .4byte gMapTop+0x5004
_0807C0C4: .4byte gRoomControls
_0807C0C8: .4byte gArea
_0807C0CC: .4byte 0x0000085C
+8 -8
View File
@@ -26,13 +26,13 @@ _080802A2:
ldr r0, [sp]
cmp r8, r0
bhs _08080328
ldr r4, _0808034C @ =gMapDataTop
ldr r4, _0808034C @ =gMapTop+0x0004
add r4, sb
ldr r7, _08080350 @ =gUnk_0200E654
ldr r7, _08080350 @ =gMapTop+0x3004
add r7, sb
ldr r3, _08080354 @ =gMapDataBottom
ldr r3, _08080354 @ =gMapBottom+0x0004
add r3, sb
ldr r6, _08080358 @ =gUnk_02028EB4
ldr r6, _08080358 @ =gMapBottom+0x3004
add r6, sb
_080802BC:
mov r2, sl
@@ -110,10 +110,10 @@ _08080336:
.align 2, 0
_08080344: .4byte gUnk_02022830
_08080348: .4byte gRoomControls
_0808034C: .4byte gMapDataTop
_08080350: .4byte gUnk_0200E654
_08080354: .4byte gMapDataBottom
_08080358: .4byte gUnk_02028EB4
_0808034C: .4byte gMapTop+0x0004
_08080350: .4byte gMapTop+0x3004
_08080354: .4byte gMapBottom+0x0004
_08080358: .4byte gMapBottom+0x3004
_0808035C: .4byte 0x00003FFF
_08080360: .4byte 0x000005FF
_08080364: .4byte 0x000007FF
-51
View File
@@ -1,51 +0,0 @@
.syntax unified
push {r4, r5, r6, r7, lr}
ldr r0, _08080384 @ =gDiggingCaveEntranceTransition
ldr r1, _08080388 @ =gRoomControls
ldrb r0, [r0, #0xa]
ldrb r1, [r1, #4]
cmp r0, r1
beq _08080390
cmp r0, #0xff
beq _08080390
ldr r1, _0808038C @ =gUnk_02034480
movs r0, #0
strh r0, [r1]
b _080803BE
.align 2, 0
_08080384: .4byte gDiggingCaveEntranceTransition
_08080388: .4byte gRoomControls
_0808038C: .4byte gUnk_02034480
_08080390:
ldr r5, _080803C0 @ =gUnk_020246B0
ldr r0, _080803C4 @ =gUnk_02034480
ldrh r0, [r0]
lsls r6, r0, #1
movs r4, #0
cmp r4, r6
bhs _080803B8
ldr r0, _080803C8 @ =0x00000FFF
adds r7, r0, #0
_080803A2:
ldrh r0, [r5, #2]
ldrh r2, [r5]
adds r1, r7, #0
ands r1, r2
lsrs r2, r2, #0xe
bl sub_0807B9B8
adds r5, #4
adds r4, #2
cmp r4, r6
blo _080803A2
_080803B8:
ldr r1, _080803CC @ =gUpdateVisibleTiles
movs r0, #0
strb r0, [r1]
_080803BE:
pop {r4, r5, r6, r7, pc}
.align 2, 0
_080803C0: .4byte gUnk_020246B0
_080803C4: .4byte gUnk_02034480
_080803C8: .4byte 0x00000FFF
_080803CC: .4byte gUpdateVisibleTiles
.syntax divided
-98
View File
@@ -1,98 +0,0 @@
.syntax unified
push {r4, r5, r6, lr}
ldr r3, _08080C40 @ =gRoomControls
movs r0, #0xa
ldrsh r1, [r3, r0]
ldrh r0, [r3, #6]
subs r5, r1, r0
movs r2, #0xf
ands r5, r2
movs r1, #0xc
ldrsh r0, [r3, r1]
ldrh r1, [r3, #8]
subs r0, r0, r1
ands r0, r2
adds r6, r0, #0
adds r6, #8
ldrh r2, [r3, #0x16]
adds r4, r2, #0
cmp r4, #0
beq _08080C50
subs r2, #1
strh r2, [r3, #0x16]
ldrb r0, [r3, #0x14]
lsls r0, r0, #4
movs r1, #0xe
ands r2, r1
adds r0, r0, r2
ldr r1, _08080C44 @ =gUnk_080169A4
adds r2, r0, r1
ldr r4, _08080C48 @ =gMapBottom
ldr r1, [r4]
cmp r1, #0
beq _08080C16
movs r0, #0
ldrsb r0, [r2, r0]
adds r0, r0, r5
strh r0, [r1, #2]
ldr r1, [r4]
movs r0, #1
ldrsb r0, [r2, r0]
adds r0, r0, r6
strh r0, [r1, #4]
_08080C16:
ldr r4, _08080C4C @ =gMapTop
ldr r1, [r4]
cmp r1, #0
beq _08080C30
movs r0, #0
ldrsb r0, [r2, r0]
adds r0, r0, r5
strh r0, [r1, #2]
ldr r1, [r4]
movs r0, #1
ldrsb r0, [r2, r0]
adds r0, r0, r6
strh r0, [r1, #4]
_08080C30:
ldrb r1, [r2]
adds r0, r3, #0
adds r0, #0x24
strb r1, [r0]
ldrb r1, [r2, #1]
adds r0, #1
strb r1, [r0]
b _08080C76
.align 2, 0
_08080C40: .4byte gRoomControls
_08080C44: .4byte gUnk_080169A4
_08080C48: .4byte gMapBottom
_08080C4C: .4byte gMapTop
_08080C50:
ldr r0, _08080C78 @ =gMapBottom
ldr r1, [r0]
cmp r1, #0
beq _08080C5E
strh r5, [r1, #2]
ldr r0, [r0]
strh r6, [r0, #4]
_08080C5E:
ldr r0, _08080C7C @ =gMapTop
ldr r1, [r0]
cmp r1, #0
beq _08080C6C
strh r5, [r1, #2]
ldr r0, [r0]
strh r6, [r0, #4]
_08080C6C:
adds r0, r3, #0
adds r0, #0x24
strb r4, [r0]
adds r0, #1
strb r4, [r0]
_08080C76:
pop {r4, r5, r6, pc}
.align 2, 0
_08080C78: .4byte gMapBottom
_08080C7C: .4byte gMapTop
.syntax divided
+28 -28
View File
@@ -99,10 +99,10 @@ _0800019A:
bl DeleteLoadedTileEntity
pop {r4, r5, r6, r7, pc}
.align 2, 0
_080001C0: .4byte gUnk_0202BEB4
_080001C4: .4byte gUnk_0202BEB4
_080001C8: .4byte gUnk_02011654
_080001CC: .4byte gUnk_0202BEB4
_080001C0: .4byte gMapBottom+0x6004
_080001C4: .4byte gMapBottom+0x6004
_080001C8: .4byte gMapTop+0x6004
_080001CC: .4byte gMapBottom+0x6004
thumb_func_start sub_080001D0
sub_080001D0: @ 0x080001D0
@@ -138,34 +138,34 @@ _0800021C: .4byte gUnk_080B3E80
_08000220: .4byte gUnk_08000278
_08000224: .4byte gUnk_08000228
gUnk_08000228::
.4byte gMapDataBottom
.4byte gMapBottom+0x0004
gUnk_0800022C::
.4byte gMetatileTypesBottom
.4byte gMapDataBottom
.4byte gMetatileTypesBottom
.4byte gMapDataTop
.4byte gMetatileTypesTop
.4byte gMapDataBottom
.4byte gMetatileTypesBottom
.4byte gMapBottom+0x5004
.4byte gMapBottom+0x0004
.4byte gMapBottom+0x5004
.4byte gMapTop+0x0004
.4byte gMapTop+0x5004
.4byte gMapBottom+0x0004
.4byte gMapBottom+0x5004
gUnk_08000248::
.4byte gUnk_02027EB4
.4byte gUnk_02027EB4
.4byte gUnk_0200D654
.4byte gUnk_02027EB4
.4byte gMapBottom+0x2004
.4byte gMapBottom+0x2004
.4byte gMapTop+0x2004
.4byte gMapBottom+0x2004
gUnk_08000258::
.4byte gUnk_02028EB4
.4byte gMetatileTypesBottom
.4byte gUnk_02028EB4
.4byte gMetatileTypesBottom
.4byte gUnk_0200E654
.4byte gMetatileTypesTop
.4byte gUnk_02028EB4
.4byte gMetatileTypesBottom
.4byte gMapBottom+0x3004
.4byte gMapBottom+0x5004
.4byte gMapBottom+0x3004
.4byte gMapBottom+0x5004
.4byte gMapTop+0x3004
.4byte gMapTop+0x5004
.4byte gMapBottom+0x3004
.4byte gMapBottom+0x5004
gUnk_08000278::
.4byte gUnk_02030EB4
.4byte gUnk_02030EB4
.4byte gUnk_02016654
.4byte gUnk_02030EB4
.4byte gMapBottom+0xb004
.4byte gMapBottom+0xb004
.4byte gMapTop+0xb004
.4byte gMapBottom+0xb004
@ call 0x80B19CC
@ ========