tmc/asm/code_08000108.s

331 lines
7.1 KiB
ArmAsm

.include "asm/macros.inc"
.include "constants/constants.inc"
.syntax unified
.text
thumb_func_start sub_08000108
sub_08000108: @ 0x08000108
push {r4, lr}
ldr r0, _080001E8 @ =gUnk_02000070
ldrb r1, [r0]
lsls r1, r1, #2
beq _08000136
add r4, pc, #0x20
ldr r4, [r4, r1]
ldr r0, _080001EC @ =gUnk_02025EB0
ldr r0, [r0]
cmp r0, #0
beq _08000126
ldr r0, _080001F0 @ =gUnk_02019EE0
ldr r1, _080001F4 @ =gUnk_02021F70
bl _call_via_r4
_08000126:
ldr r0, _080001F8 @ =gUnk_0200B650
ldr r0, [r0]
cmp r0, #0
beq _08000136
ldr r0, _080001FC @ =gUnk_02002F00
ldr r1, _08000200 @ =gUnk_020344F0
bl _call_via_r4
_08000136:
pop {r4, pc}
_08000138:
_08000138: .4byte gUnk_030056F1
_0800013C: .4byte sub_0807D280
_08000140: .4byte sub_0807D46C
_08000144: .4byte sub_0807D6D8
thumb_func_start sub_08000148
sub_08000148: @ 0x08000148
lsls r2, r2, #2
ldr r3, _08000204 @ =gUnk_08000248
ldr r2, [r3, r2]
strb r0, [r2, r1]
bx lr
non_word_aligned_thumb_func_start sub_08000152
sub_08000152: @ 0x08000152
lsls r2, r2, #2
add r3, pc, #0x68
ldr r3, [r3, r2]
lsls r0, r0, #1
ldrh r0, [r3, r0]
lsrs r2, r2, #2
non_word_aligned_thumb_func_start SetTile
SetTile: @ 0x0800015E
push {r4, r5, r6, r7, lr}
lsls r3, r2, #3
ldr r4, _08000208 @ =gUnk_08000228
ldr r5, [r4, r3]
lsls r6, r1, #1
ldrh r7, [r5, r6]
strh r0, [r5, r6]
ldr r6, _0800020C @ =0x00004000
cmp r0, r6
blo _0800019A
push {r1, r2}
subs r4, r0, r6
ldr r3, _08000210 @ =gUnk_080B7910
ldrb r0, [r3, r4]
bl sub_080001D0
ldr r3, _08000214 @ =gUnk_080B79A7
ldrb r0, [r3, r4]
lsrs r2, r2, #2
bl sub_08000148
pop {r0, r1}
push {r0, r1}
bl DeleteLoadedTileEntity
adds r0, r7, #0
pop {r1, r2}
bl sub_0801AF48
pop {r4, r5, r6, r7, pc}
_0800019A:
adds r3, #4
ldr r4, [r4, r3]
lsls r0, r0, #1
ldrh r4, [r4, r0]
push {r1, r2}
ldr r3, _08000218 @ =gUnk_080B37A0
ldrb r0, [r3, r4]
bl sub_080001D0
ldr r3, _0800021C @ =gUnk_080B3E80
ldrb r0, [r3, r4]
lsrs r2, r2, #2
bl sub_08000148
pop {r0, r1}
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
thumb_func_start sub_080001D0
sub_080001D0: @ 0x080001D0
lsls r2, r2, #2
ldr r3, _08000220 @ =gUnk_08000278
ldr r3, [r3, r2]
strb r0, [r3, r1]
bx lr
non_word_aligned_thumb_func_start sub_080001DA
sub_080001DA: @ 0x080001DA
lsls r1, r1, #3
ldr r2, _08000224 @ =gUnk_08000228
ldr r1, [r2, r1]
lsls r0, r0, #1
ldrh r0, [r1, r0]
bx lr
.align 2, 0
_080001E8: .4byte gUnk_02000070
_080001EC: .4byte gUnk_02025EB0
_080001F0: .4byte gUnk_02019EE0
_080001F4: .4byte gUnk_02021F70
_080001F8: .4byte gUnk_0200B650
_080001FC: .4byte gUnk_02002F00
_08000200: .4byte gUnk_020344F0
_08000204: .4byte gUnk_08000248
_08000208: .4byte gUnk_08000228
_0800020C: .4byte 0x00004000
_08000210: .4byte gUnk_080B7910
_08000214: .4byte gUnk_080B79A7
_08000218: .4byte gUnk_080B37A0
_0800021C: .4byte gUnk_080B3E80
_08000220: .4byte gUnk_08000278
_08000224: .4byte gUnk_08000228
gUnk_08000228::
.4byte gUnk_02025EB4
gUnk_0800022C::
.4byte gUnk_0202AEB4
.4byte gUnk_02025EB4
.4byte gUnk_0202AEB4
.4byte gUnk_0200B654
.4byte gUnk_02010654
.4byte gUnk_02025EB4
.4byte gUnk_0202AEB4
gUnk_08000248::
.4byte gUnk_02027EB4
.4byte gUnk_02027EB4
.4byte gUnk_0200D654
.4byte gUnk_02027EB4
gUnk_08000258::
.4byte gUnk_02028EB4
.4byte gUnk_0202AEB4
.4byte gUnk_02028EB4
.4byte gUnk_0202AEB4
.4byte gUnk_0200E654
.4byte gUnk_02010654
.4byte gUnk_02028EB4
.4byte gUnk_0202AEB4
gUnk_08000278::
.4byte gUnk_02030EB4
.4byte gUnk_02030EB4
.4byte gUnk_02016654
.4byte gUnk_02030EB4
thumb_func_start sub_08000288
sub_08000288: @ 0x08000288
ldr r3, _080002F4 @ =gUnk_03005740
bx r3
thumb_func_start sub_0800028C
sub_0800028C: @ 0x0800028C
ldr r3, _080002F8 @ =gUnk_0300574C
bx r3
thumb_func_start sub_08000290
sub_08000290: @ 0x08000290
ldr r3, _080002FC @ =gUnk_03005760
bx r3
thumb_func_start sub_08000294
sub_08000294: @ 0x08000294
ldr r3, _08000300 @ =gUnk_03005770
bx r3
thumb_func_start sub_08000298
sub_08000298: @ 0x08000298
ldr r3, _08000304 @ =gUnk_03005778
bx r3
thumb_func_start sub_0800029C
sub_0800029C: @ 0x0800029C
ldr r3, _08000308 @ =gUnk_03005780
bx r3
thumb_func_start GetTileTypeByEntity
GetTileTypeByEntity: @ 0x080002A0
ldr r3, _0800030C @ =gUnk_0300579C
bx r3
thumb_func_start GetTileTypeByPos
GetTileTypeByPos: @ 0x080002A4
ldr r3, _08000310 @ =gUnk_030057A8
bx r3
thumb_func_start sub_080002A8
sub_080002A8: @ 0x080002A8
ldr r3, _08000314 @ =gUnk_030057BC
bx r3
thumb_func_start sub_080002AC
sub_080002AC: @ 0x080002AC
ldr r3, _08000318 @ =gUnk_030057CC
bx r3
thumb_func_start GetTileType
GetTileType: @ 0x080002B0
ldr r3, _0800031C @ =gUnk_030057D4
bx r3
thumb_func_start sub_080002B4
sub_080002B4: @ 0x080002B4
ldr r3, _08000320 @ =gUnk_03005800
bx r3
thumb_func_start sub_080002B8
sub_080002B8: @ 0x080002B8
ldr r3, _08000324 @ =gUnk_0300581C
bx r3
thumb_func_start sub_080002BC
sub_080002BC: @ 0x080002BC
ldr r3, _08000328 @ =gUnk_03005828
bx r3
thumb_func_start sub_080002C0
sub_080002C0: @ 0x080002C0
ldr r3, _0800032C @ =gUnk_0300583C
bx r3
thumb_func_start sub_080002C4
sub_080002C4: @ 0x080002C4
ldr r3, _08000330 @ =gUnk_0300584C
bx r3
thumb_func_start sub_080002C8
sub_080002C8: @ 0x080002C8
ldr r3, _08000334 @ =gUnk_03005854
bx r3
thumb_func_start sub_080002CC
sub_080002CC: @ 0x080002CC
ldr r3, _08000338 @ =gUnk_03005864
bx r3
thumb_func_start sub_080002D0
sub_080002D0: @ 0x080002D0
ldr r3, _0800033C @ =gUnk_03005880
bx r3
thumb_func_start sub_080002D4
sub_080002D4: @ 0x080002D4
ldr r3, _08000340 @ =gUnk_0300588C
bx r3
thumb_func_start sub_080002D8
sub_080002D8: @ 0x080002D8
ldr r3, _08000344 @ =gUnk_030058A0
bx r3
thumb_func_start sub_080002DC
sub_080002DC: @ 0x080002DC
ldr r3, _08000348 @ =gUnk_030058B0
bx r3
thumb_func_start sub_080002E0
sub_080002E0: @ 0x080002E0
ldr r3, _0800034C @ =gUnk_030058B8
bx r3
thumb_func_start sub_080002E4
sub_080002E4: @ 0x080002E4
ldr r3, _08000350 @ =gUnk_030058C8
bx r3
thumb_func_start sub_080002E8
sub_080002E8: @ 0x080002E8
ldr r3, _08000354 @ =gUnk_030058DC
bx r3
thumb_func_start sub_080002EC
sub_080002EC: @ 0x080002EC
ldr r3, _08000358 @ =gUnk_030058F8
bx r3
thumb_func_start sub_080002F0
sub_080002F0: @ 0x080002F0
ldr r3, _0800035C @ =gUnk_03005918
bx r3
_080002F4: .4byte gUnk_03005740
_080002F8: .4byte gUnk_0300574C
_080002FC: .4byte gUnk_03005760
_08000300: .4byte gUnk_03005770
_08000304: .4byte gUnk_03005778
_08000308: .4byte gUnk_03005780
_0800030C: .4byte gUnk_0300579C
_08000310: .4byte gUnk_030057A8
_08000314: .4byte gUnk_030057BC
_08000318: .4byte gUnk_030057CC
_0800031C: .4byte gUnk_030057D4
_08000320: .4byte gUnk_03005800
_08000324: .4byte gUnk_0300581C
_08000328: .4byte gUnk_03005828
_0800032C: .4byte gUnk_0300583C
_08000330: .4byte gUnk_0300584C
_08000334: .4byte gUnk_03005854
_08000338: .4byte gUnk_03005864
_0800033C: .4byte gUnk_03005880
_08000340: .4byte gUnk_0300588C
_08000344: .4byte gUnk_030058A0
_08000348: .4byte gUnk_030058B0
_0800034C: .4byte gUnk_030058B8
_08000350: .4byte gUnk_030058C8
_08000354: .4byte gUnk_030058DC
_08000358: .4byte gUnk_030058F8
_0800035C: .4byte gUnk_03005918