diff --git a/INSTALL.md b/INSTALL.md index 3281e563..24ef81e0 100644 --- a/INSTALL.md +++ b/INSTALL.md @@ -29,14 +29,14 @@ Install the **devkitARM** toolchain of [devkitPro](https://devkitpro.org/wiki/Ge To set up the repository: - git clone https://github.com/jiangzhengwenjz/zeldatmc + git clone https://github.com/zeldaret/tmc git clone https://github.com/pret/agbcc cd ./agbcc sh build.sh - sh install.sh ../zeldatmc + sh install.sh ../tmc - cd ../zeldatmc + cd ../tmc To build **zeldatmc.gba**: diff --git a/asm/InitializeLink.s b/asm/InitializeLink.s index 15344f73..3d339ef7 100644 --- a/asm/InitializeLink.s +++ b/asm/InitializeLink.s @@ -9,7 +9,7 @@ InitializeLink: @ 0x080524A8 ldr r0, _08052510 @ =gUnk_03000B80 movs r1, #0x70 bl sub_0801D630 - ldr r6, _08052514 @ =gUnk_03003F80 + ldr r6, _08052514 @ =gLinkState adds r0, r6, #0 movs r1, #0xb0 bl sub_0801D630 @@ -52,7 +52,7 @@ _080524FA: mov pc, r0 .align 2, 0 _08052510: .4byte gUnk_03000B80 -_08052514: .4byte gUnk_03003F80 +_08052514: .4byte gLinkState _08052518: .4byte gLinkEntity _0805251C: .4byte gRoomControls _08052520: .4byte gUnk_080FCAC8 @@ -77,7 +77,7 @@ _08052558: .align 2, 0 _08052560: .4byte 0x0000FF40 _08052564: - ldr r0, _0805257C @ =gUnk_03003F80 + ldr r0, _0805257C @ =gLinkState adds r0, #0x38 movs r1, #0x10 strb r1, [r0] @@ -91,10 +91,10 @@ _08052576: strh r0, [r4, #0x24] b _080525C2 .align 2, 0 -_0805257C: .4byte gUnk_03003F80 +_0805257C: .4byte gLinkState _08052580: .4byte gUnk_030010A0 _08052584: - ldr r1, _08052598 @ =gUnk_03003F80 + ldr r1, _08052598 @ =gLinkState adds r2, r1, #0 adds r2, #0x38 movs r0, #1 @@ -105,24 +105,24 @@ _08052584: strb r0, [r1] b _080525C2 .align 2, 0 -_08052598: .4byte gUnk_03003F80 +_08052598: .4byte gLinkState _0805259C: .4byte gUnk_030010A0 _080525A0: - ldr r0, _080525A8 @ =gUnk_03003F80 + ldr r0, _080525A8 @ =gLinkState adds r0, #0x38 movs r1, #1 b _080525BE .align 2, 0 -_080525A8: .4byte gUnk_03003F80 +_080525A8: .4byte gLinkState _080525AC: - ldr r0, _080525B4 @ =gUnk_03003F80 + ldr r0, _080525B4 @ =gLinkState adds r0, #0x38 movs r1, #3 b _080525BE .align 2, 0 -_080525B4: .4byte gUnk_03003F80 +_080525B4: .4byte gLinkState _080525B8: - ldr r0, _08052614 @ =gUnk_03003F80 + ldr r0, _08052614 @ =gLinkState adds r0, #0x38 movs r1, #4 _080525BE: @@ -169,6 +169,6 @@ _080525C2: bl sub_08017640 pop {r4, r5, r6, pc} .align 2, 0 -_08052614: .4byte gUnk_03003F80 +_08052614: .4byte gLinkState _08052618: .4byte gUnk_030010A0 _0805261C: .4byte gUnk_02002A40 diff --git a/asm/bowUse.s b/asm/bowUse.s index 719dcedd..39934b99 100644 --- a/asm/bowUse.s +++ b/asm/bowUse.s @@ -238,7 +238,7 @@ _08019336: strb r0, [r4, #0x18] b _08019402 _0801934A: - ldr r1, _0801938C @ =gUnk_03003F80 + ldr r1, _0801938C @ =gLinkState ldr r0, [r1, #0x2c] cmp r0, r4 bne _0801935E @@ -259,7 +259,7 @@ _08019368: ldrb r0, [r0] cmp r0, #0xa bne _08019398 - ldr r0, _0801938C @ =gUnk_03003F80 + ldr r0, _0801938C @ =gLinkState adds r2, r0, #0 adds r2, #0x21 ldrb r0, [r2] @@ -272,7 +272,7 @@ _08019368: strb r0, [r2] b _08019398 .align 2, 0 -_0801938C: .4byte gUnk_03003F80 +_0801938C: .4byte gLinkState _08019390: adds r1, r4, #0 adds r1, #0x40 @@ -319,14 +319,14 @@ _080193C2: bl sub_08077CB8 cmp r0, #0 beq _080193FA - ldr r2, _0801940C @ =gUnk_03003F80 + ldr r2, _0801940C @ =gLinkState ldrb r1, [r2, #4] movs r0, #0x80 orrs r0, r1 strb r0, [r2, #4] movs r0, #1 rsbs r0, r0, #0 - bl sub_08054330 + bl ModArrows _080193FA: ldr r1, _08019408 @ =gLinkEntity adds r0, r4, #0 @@ -336,4 +336,4 @@ _08019402: .align 2, 0 _08019404: .4byte gUnk_02002A40 _08019408: .4byte gLinkEntity -_0801940C: .4byte gUnk_03003F80 \ No newline at end of file +_0801940C: .4byte gLinkState \ No newline at end of file diff --git a/asm/catInteract.s b/asm/catInteract.s index f7f26702..282a4fa3 100644 --- a/asm/catInteract.s +++ b/asm/catInteract.s @@ -10,7 +10,7 @@ sub_08067C44: @ 0x08067C44 push {r4, r5, lr} adds r4, r0, #0 - ldr r0, _08067C6C @ =gUnk_03003F80 + ldr r0, _08067C6C @ =gLinkState ldr r0, [r0, #0x30] movs r1, #0x80 ands r0, r1 @@ -27,7 +27,7 @@ sub_08067C44: @ 0x08067C44 bl sub_08078778 b _08067C7C .align 2, 0 -_08067C6C: .4byte gUnk_03003F80 +_08067C6C: .4byte gLinkState _08067C70: adds r0, r4, #0 adds r0, #0x68 diff --git a/asm/chickInteract.s b/asm/chickInteract.s index 90aa842f..69297b6d 100644 --- a/asm/chickInteract.s +++ b/asm/chickInteract.s @@ -15,7 +15,7 @@ sub_0806E838: @ 0x0806E838 ldrsb r2, [r0, r2] cmp r2, #0 beq _0806E882 - ldr r0, _0806E864 @ =gUnk_03003F80 + ldr r0, _0806E864 @ =gLinkState ldr r0, [r0, #0x30] movs r1, #0x80 ands r0, r1 @@ -29,7 +29,7 @@ sub_0806E838: @ 0x0806E838 bl sub_0806F118 b _0806E874 .align 2, 0 -_0806E864: .4byte gUnk_03003F80 +_0806E864: .4byte gLinkState _0806E868: adds r0, r4, #0 bl sub_0806E884 diff --git a/asm/code_08000E44.s b/asm/code_08000E44.s index 548c826f..5754b16d 100644 --- a/asm/code_08000E44.s +++ b/asm/code_08000E44.s @@ -15,9 +15,9 @@ sub_08000E44: @ 0x08000E44 _08000E4E: bx lr - thumb_func_start sub_08000E50 -sub_08000E50: @ 0x08000E50 - ldr r2, _08000EBC @ =gUnk_03001150 + thumb_func_start Random +Random: @ 0x08000E50 + ldr r2, _08000EBC @ =gRand ldr r0, [r2] lsls r1, r0, #1 adds r0, r0, r1 @@ -82,7 +82,7 @@ _08000EB6: pop {r4, r5} bx lr .align 2, 0 -_08000EBC: .4byte gUnk_03001150 +_08000EBC: .4byte gRand _08000EC0: .4byte 0x55555555 _08000EC4: .4byte 0x33333333 _08000EC8: .4byte 0x0F0F0F0F diff --git a/asm/code_080011C4.s b/asm/code_080011C4.s index 7593caad..07862a0e 100644 --- a/asm/code_080011C4.s +++ b/asm/code_080011C4.s @@ -1360,7 +1360,7 @@ _080028F2: sub_080028F4: @ 0x080028F4 push {r4, lr} adds r4, r0, #0 - bl sub_08000E50 + bl Random lsls r0, r0, #0x18 lsrs r0, r0, #0x18 movs r1, #0 diff --git a/asm/code_0800857C.s b/asm/code_0800857C.s index 870d5d48..1d0d9615 100644 --- a/asm/code_0800857C.s +++ b/asm/code_0800857C.s @@ -16,7 +16,7 @@ sub_0800857C: @ 0x0800857C ldrb r1, [r0, #0xb] lsrs r1, r1, #8 bhs _0800859C - ldr r1, _08008888 @ =gUnk_03003F80 + ldr r1, _08008888 @ =gLinkState ldrb r1, [r1, #2] movs r2, #0x80 ands r1, r2 @@ -52,7 +52,7 @@ sub_080085B0: @ 0x080085B0 thumb_func_start sub_080085CC sub_080085CC: @ 0x080085CC push {lr} - ldr r2, _0800888C @ =gUnk_03003F80 + ldr r2, _0800888C @ =gLinkState ldr r1, _08008890 @ =gUnk_080083FC movs r3, #0x26 ldrb r3, [r2, r3] @@ -78,7 +78,7 @@ _080085E6: ands r2, r3 bne _0800861A ldr r1, _080088A4 @ =gUnk_080084BC - ldr r3, _080088A8 @ =gUnk_03003F80 + ldr r3, _080088A8 @ =gLinkState ldrb r2, [r3, #0x1c] orrs r2, r2 bne _0800861A @@ -208,7 +208,7 @@ sub_080086D8: @ 0x080086D8 ldrb r2, [r0, r1] push {r2} mov r0, r8 - ldr r1, _080088C8 @ =gUnk_03003F80 + ldr r1, _080088C8 @ =gLinkState movs r2, #0x26 ldrb r2, [r1, r2] cmp r2, #0 @@ -428,15 +428,15 @@ _0800887E: adds r0, r5, #0 pop {r4, r5, r6, r7, pc} .align 2, 0 -_08008888: .4byte gUnk_03003F80 -_0800888C: .4byte gUnk_03003F80 +_08008888: .4byte gLinkState +_0800888C: .4byte gLinkState _08008890: .4byte gUnk_080083FC _08008894: .4byte gUnk_0800839C _08008898: .4byte gUnk_0800845C _0800889C: .4byte 0x01000000 _080088A0: .4byte gUnk_0800833C _080088A4: .4byte gUnk_080084BC -_080088A8: .4byte gUnk_03003F80 +_080088A8: .4byte gLinkState _080088AC: .4byte gUnk_0800851C _080088B0: .4byte gUnk_080082DC _080088B4: .4byte gUnk_03000BF6 @@ -444,7 +444,7 @@ _080088B8: .4byte gUnk_03000BF8 _080088BC: .4byte gLinkEntity _080088C0: .4byte 0x000003F0 _080088C4: .4byte gUnk_08000248 -_080088C8: .4byte gUnk_03003F80 +_080088C8: .4byte gLinkState _080088CC: .4byte gUnk_0800823C _080088D0: .4byte gUnk_08007DF4 _080088D4: .4byte gRoomControls @@ -487,13 +487,13 @@ sub_08008936: @ 0x08008936 ldrb r2, [r0, #0x14] lsrs r2, r2, #1 lsls r2, r2, #3 - ldr r1, _08008A68 @ =gUnk_03003F80 + ldr r1, _08008A68 @ =gLinkState b _08008960 non_word_aligned_thumb_func_start sub_08008942 sub_08008942: @ 0x08008942 push {lr} - ldr r1, _08008A6C @ =gUnk_03003F80 + ldr r1, _08008A6C @ =gLinkState ldrb r2, [r1, #7] ldrb r3, [r1, #0xa] orrs r2, r3 @@ -502,7 +502,7 @@ sub_08008942: @ 0x08008942 b _08008956 _08008952: push {lr} - ldr r1, _08008A70 @ =gUnk_03003F80 + ldr r1, _08008A70 @ =gLinkState _08008956: movs r3, #0x15 strb r2, [r0, r3] @@ -559,7 +559,7 @@ _080089A8: ldrsb r3, [r4, r3] bl sub_08008A46 _080089C0: - ldr r1, _08008A80 @ =gUnk_03003F80 + ldr r1, _08008A80 @ =gLinkState movs r4, #0x8c movs r2, #8 ldrsh r3, [r1, r4] @@ -636,7 +636,7 @@ _08008A3E: non_word_aligned_thumb_func_start sub_08008A46 sub_08008A46: @ 0x08008A46 push {lr} - ldr r1, _08008A84 @ =gUnk_03003F80 + ldr r1, _08008A84 @ =gLinkState movs r4, #0x8c ldrsh r5, [r1, r4] adds r5, r5, r2 @@ -651,14 +651,14 @@ _08008A60: strh r3, [r1] pop {pc} .align 2, 0 -_08008A68: .4byte gUnk_03003F80 -_08008A6C: .4byte gUnk_03003F80 -_08008A70: .4byte gUnk_03003F80 +_08008A68: .4byte gLinkState +_08008A6C: .4byte gLinkState +_08008A70: .4byte gLinkState _08008A74: .4byte _080088FC _08008A78: .4byte _080088EC _08008A7C: .4byte _0800890C -_08008A80: .4byte gUnk_03003F80 -_08008A84: .4byte gUnk_03003F80 +_08008A80: .4byte gLinkState +_08008A84: .4byte gLinkState thumb_func_start sub_08008A88 sub_08008A88: @ 0x08008A88 @@ -681,7 +681,7 @@ _08008A9C: thumb_func_start sub_08008AA0 sub_08008AA0: @ 0x08008AA0 push {r4, r5, lr} - ldr r1, _08008B40 @ =gUnk_03003F80 + ldr r1, _08008B40 @ =gLinkState ldrb r2, [r1, #0x12] cmp r2, #1 beq _08008AC4 @@ -704,7 +704,7 @@ _08008AC4: non_word_aligned_thumb_func_start sub_08008AC6 sub_08008AC6: @ 0x08008AC6 push {r0, lr} - ldr r1, _08008B48 @ =gUnk_03003F80 + ldr r1, _08008B48 @ =gLinkState movs r3, #0x26 ldrb r2, [r1, r3] movs r3, #0xf @@ -774,9 +774,9 @@ sub_08008B2E: @ 0x08008B2E .align 2, 0 _08008B38: .4byte 0x00000180 _08008B3C: .4byte 0xFFFFFE80 -_08008B40: .4byte gUnk_03003F80 +_08008B40: .4byte gLinkState _08008B44: .4byte gUnk_080C9160 -_08008B48: .4byte gUnk_03003F80 +_08008B48: .4byte gLinkState _08008B4C: .4byte gUnk_02000020 _08008B50: .4byte 0x00004000 _08008B54: .4byte gUnk_08007CAC diff --git a/asm/code_08016DF8.s b/asm/code_08016DF8.s index 40da4360..7671f1ea 100644 --- a/asm/code_08016DF8.s +++ b/asm/code_08016DF8.s @@ -166,7 +166,7 @@ sub_08016F28: @ 0x08016F28 ldrb r0, [r0] cmp r0, #0 beq _08016F4C - ldr r0, _08016F48 @ =gUnk_03003F80 + ldr r0, _08016F48 @ =gLinkState ldr r1, [r0, #0x30] movs r2, #0x80 lsls r2, r2, #7 @@ -174,9 +174,9 @@ sub_08016F28: @ 0x08016F28 b _08016F54 .align 2, 0 _08016F44: .4byte gUnk_02002A40 -_08016F48: .4byte gUnk_03003F80 +_08016F48: .4byte gLinkState _08016F4C: - ldr r0, _08016F98 @ =gUnk_03003F80 + ldr r0, _08016F98 @ =gLinkState ldr r1, [r0, #0x30] ldr r2, _08016F9C @ =0xFFFFBFFF ands r1, r2 @@ -186,7 +186,7 @@ _08016F54: bl sub_0805E3B0 cmp r0, #0 bne _08016FDC - ldr r5, _08016F98 @ =gUnk_03003F80 + ldr r5, _08016F98 @ =gLinkState ldr r0, [r5, #0x30] movs r1, #0x80 lsls r1, r1, #0xc @@ -213,7 +213,7 @@ _08016F54: strb r0, [r4, #0x10] b _08016FB4 .align 2, 0 -_08016F98: .4byte gUnk_03003F80 +_08016F98: .4byte gLinkState _08016F9C: .4byte 0xFFFFBFFF _08016FA0: .4byte 0xFFF7FFFF _08016FA4: @@ -286,7 +286,7 @@ sub_08016FF4: @ 0x08016FF4 movs r0, #0x86 bl PlaySFX _0801702E: - ldr r4, _080170A8 @ =gUnk_03003F80 + ldr r4, _080170A8 @ =gLinkState ldr r0, [r4, #0x30] ldr r1, _080170AC @ =0xFDFFFDFF ands r0, r1 @@ -320,7 +320,7 @@ _0801706E: ldr r0, _080170B0 @ =gUnk_03003DF0 movs r4, #0 strb r4, [r0] - ldr r2, _080170A8 @ =gUnk_03003F80 + ldr r2, _080170A8 @ =gLinkState adds r1, r2, #0 adds r1, #0x27 ldrb r0, [r1] @@ -346,7 +346,7 @@ _08017084: .align 2, 0 _080170A0: .4byte gUnk_0200AF00 _080170A4: .4byte gLinkEntity -_080170A8: .4byte gUnk_03003F80 +_080170A8: .4byte gLinkState _080170AC: .4byte 0xFDFFFDFF _080170B0: .4byte gUnk_03003DF0 _080170B4: @@ -517,7 +517,7 @@ sub_080171F0: @ 0x080171F0 push {r4, r5, r6, r7, lr} mov r7, r8 push {r7} - ldr r4, _080172DC @ =gUnk_03003F80 + ldr r4, _080172DC @ =gLinkState ldrb r0, [r4, #0x1a] cmp r0, #0 beq _08017202 @@ -634,7 +634,7 @@ _080172CC: orrs r0, r1 b _080172FA .align 2, 0 -_080172DC: .4byte gUnk_03003F80 +_080172DC: .4byte gLinkState _080172E0: .4byte gLinkEntity _080172E4: .4byte 0xFFFEFFFF _080172E8: .4byte gUnk_0200AF00 @@ -649,7 +649,7 @@ _080172FA: ldr r4, _08017330 @ =gLinkEntity adds r0, r4, #0 bl sub_0807A8D8 - ldr r0, _08017334 @ =gUnk_03003F80 + ldr r0, _08017334 @ =gLinkState ldrb r1, [r0, #2] movs r0, #0xc0 ands r0, r1 @@ -673,7 +673,7 @@ _08017322: .align 2, 0 _0801732C: .4byte 0xDFFFFFFF _08017330: .4byte gLinkEntity -_08017334: .4byte gUnk_03003F80 +_08017334: .4byte gLinkState thumb_func_start sub_08017338 sub_08017338: @ 0x08017338 @@ -1047,7 +1047,7 @@ _08017602: cmp r0, #0 bne _08017638 ldr r1, _08017628 @ =gUnk_030059F0 - ldr r0, _0801762C @ =gUnk_03003F80 + ldr r0, _0801762C @ =gLinkState adds r0, #0x8b ldrb r0, [r0] cmp r0, #0 @@ -1063,7 +1063,7 @@ _08017602: .align 2, 0 _08017624: .4byte gUnk_03003DC0 _08017628: .4byte gUnk_030059F0 -_0801762C: .4byte gUnk_03003F80 +_0801762C: .4byte gLinkState _08017630: .4byte gLinkEntity _08017634: bl _call_via_r1 @@ -1593,7 +1593,7 @@ sub_080179EC: @ 0x080179EC adds r6, r0, #0 adds r5, r1, #0 ldr r4, _08017A8C @ =gUnk_080B3740 - bl sub_08000E50 + bl Random movs r1, #3 ands r1, r0 adds r1, r1, r4 @@ -1754,7 +1754,7 @@ sub_08017B1C: @ 0x08017B1C push {lr} adds r2, r0, #0 adds r3, r1, #0 - ldr r0, _08017B38 @ =gUnk_03003F80 + ldr r0, _08017B38 @ =gLinkState ldrb r1, [r0, #0x1e] movs r0, #0x60 ands r0, r1 @@ -1766,7 +1766,7 @@ sub_08017B1C: @ 0x08017B1C strb r0, [r3, #0x10] b _08017B52 .align 2, 0 -_08017B38: .4byte gUnk_03003F80 +_08017B38: .4byte gLinkState _08017B3C: adds r1, r2, #0 adds r1, #0x42 @@ -1800,7 +1800,7 @@ sub_08017B58: @ 0x08017B58 ldrb r1, [r2, #0x1d] cmp r1, #0 beq _08017BA2 - ldr r0, _08017B94 @ =gUnk_03003F80 + ldr r0, _08017B94 @ =gLinkState ldrb r0, [r0, #0x1d] subs r0, r1, r0 movs r1, #0 @@ -1816,7 +1816,7 @@ sub_08017B58: @ 0x08017B58 strh r1, [r0] b _08017BA2 .align 2, 0 -_08017B94: .4byte gUnk_03003F80 +_08017B94: .4byte gLinkState _08017B98: strb r0, [r2, #0xd] ldrb r0, [r3] @@ -1845,7 +1845,7 @@ sub_08017BBC: @ 0x08017BBC adds r4, r0, #0 adds r6, r1, #0 adds r7, r2, #0 - ldr r5, _08017C38 @ =gUnk_03003F80 + ldr r5, _08017C38 @ =gLinkState ldr r0, [r5, #0x30] ldr r1, _08017C3C @ =0x00001481 ands r0, r1 @@ -1903,7 +1903,7 @@ _08017C2E: pop {r1} bx r1 .align 2, 0 -_08017C38: .4byte gUnk_03003F80 +_08017C38: .4byte gLinkState _08017C3C: .4byte 0x00001481 thumb_func_start sub_08017C40 @@ -1911,7 +1911,7 @@ sub_08017C40: @ 0x08017C40 push {r4, r5, r6, lr} adds r4, r0, #0 adds r5, r1, #0 - ldr r6, _08017CB4 @ =gUnk_03003F80 + ldr r6, _08017CB4 @ =gLinkState ldr r0, [r6, #0x30] ldr r1, _08017CB8 @ =0x00001881 ands r0, r1 @@ -1968,7 +1968,7 @@ _08017CAA: pop {r1} bx r1 .align 2, 0 -_08017CB4: .4byte gUnk_03003F80 +_08017CB4: .4byte gLinkState _08017CB8: .4byte 0x00001881 thumb_func_start sub_08017CBC @@ -2033,7 +2033,7 @@ _08017D1E: sub_08017D28: @ 0x08017D28 push {lr} adds r3, r0, #0 - ldr r2, _08017D68 @ =gUnk_03003F80 + ldr r2, _08017D68 @ =gLinkState movs r0, #1 strb r0, [r2, #0x1a] adds r2, r3, #0 @@ -2064,7 +2064,7 @@ _08017D60: pop {r1} bx r1 .align 2, 0 -_08017D68: .4byte gUnk_03003F80 +_08017D68: .4byte gLinkState thumb_func_start sub_08017D6C sub_08017D6C: @ 0x08017D6C @@ -2158,7 +2158,7 @@ _08017DFE: adds r2, #0x3d movs r0, #0xf4 strb r0, [r2] - ldr r0, _08017E38 @ =gUnk_03003F80 + ldr r0, _08017E38 @ =gLinkState ldr r0, [r0, #0x30] movs r1, #0x80 ands r0, r1 @@ -2173,7 +2173,7 @@ _08017DFE: b _08017E6E .align 2, 0 _08017E34: .4byte gLinkEntity -_08017E38: .4byte gUnk_03003F80 +_08017E38: .4byte gLinkState _08017E3C: adds r0, r5, #0 adds r0, #0x40 @@ -2337,7 +2337,7 @@ sub_08017F40: @ 0x08017F40 bl sub_08079F8C cmp r0, #0 beq _0801801E - ldr r2, _08017FB0 @ =gUnk_03003F80 + ldr r2, _08017FB0 @ =gLinkState ldr r3, [r2, #0x30] movs r0, #0x80 ands r0, r3 @@ -2378,7 +2378,7 @@ _08017F9A: b _08017FC2 .align 2, 0 _08017FAC: .4byte gLinkEntity -_08017FB0: .4byte gUnk_03003F80 +_08017FB0: .4byte gLinkState _08017FB4: movs r3, #0x80 lsls r3, r3, #9 @@ -2626,7 +2626,7 @@ sub_08018168: @ 0x08018168 bl sub_08079F8C cmp r0, #0 beq _0801821C - ldr r2, _080181F8 @ =gUnk_03003F80 + ldr r2, _080181F8 @ =gLinkState ldr r3, [r2, #0x30] ldr r0, _080181FC @ =0x00040080 ands r0, r3 @@ -2682,7 +2682,7 @@ sub_08018168: @ 0x08018168 b _0801821E .align 2, 0 _080181F4: .4byte gLinkEntity -_080181F8: .4byte gUnk_03003F80 +_080181F8: .4byte gLinkState _080181FC: .4byte 0x00040080 _08018200: adds r0, r4, #0 diff --git a/asm/code_08018500.s b/asm/code_08018500.s index 9e78ff0d..179f3557 100644 --- a/asm/code_08018500.s +++ b/asm/code_08018500.s @@ -163,7 +163,7 @@ _08018628: .4byte gUnk_080B3D20 thumb_func_start sub_0801862C sub_0801862C: @ 0x0801862C push {r4, r5, lr} - ldr r1, _0801864C @ =gUnk_03003F80 + ldr r1, _0801864C @ =gLinkState movs r2, #0 movs r0, #0x16 strb r0, [r1, #0xc] @@ -179,7 +179,7 @@ sub_0801862C: @ 0x0801862C strh r0, [r5, #0x36] b _0801868C .align 2, 0 -_0801864C: .4byte gUnk_03003F80 +_0801864C: .4byte gLinkState _08018650: .4byte gUnk_030010A0 _08018654: .4byte gUnk_02033AB8 _08018658: @@ -222,7 +222,7 @@ sub_08018690: @ 0x08018690 lsls r0, r4, #1 adds r5, r0, r6 _0801869E: - bl sub_08000E50 + bl Random adds r1, r4, #1 bl __modsi3 ldrh r2, [r5] @@ -1090,7 +1090,7 @@ sub_08018CBC: @ 0x08018CBC _08018D50: .4byte gLinkEntity _08018D54: .4byte gUnk_080B3E18 _08018D58: - ldr r7, _08018DDC @ =gUnk_03003F80 + ldr r7, _08018DDC @ =gLinkState ldrb r0, [r7, #0x1c] cmp r0, #0 bne _08018D64 @@ -1153,7 +1153,7 @@ _08018DD2: bl sub_0801766C pop {r4, r5, r6, r7, pc} .align 2, 0 -_08018DDC: .4byte gUnk_03003F80 +_08018DDC: .4byte gLinkState _08018DE0: .4byte gUnk_080B3DE0 _08018DE4: .4byte gUnk_080B3DE8 @@ -1171,11 +1171,11 @@ sub_08018DE8: @ 0x08018DE8 lsrs r1, r0, #0x18 cmp r1, #0 bne _08018E08 - ldr r0, _08018E18 @ =gUnk_03003F80 + ldr r0, _08018E18 @ =gLinkState strb r1, [r0, #0x1c] bl sub_0805E780 _08018E08: - ldr r0, _08018E18 @ =gUnk_03003F80 + ldr r0, _08018E18 @ =gLinkState ldrb r0, [r0, #0x1c] cmp r0, #0 beq _08018E1C @@ -1183,7 +1183,7 @@ _08018E08: beq _08018E24 b _08018E5A .align 2, 0 -_08018E18: .4byte gUnk_03003F80 +_08018E18: .4byte gLinkState _08018E1C: adds r0, r4, #0 bl sub_08018F6C @@ -1303,7 +1303,7 @@ _08018EEE: strb r0, [r1, #0x15] ldr r1, [r4, #0x54] adds r0, r4, #0 - bl sub_0806FA24 + bl CopyPosition _08018F00: ldrb r0, [r4, #0xb] cmp r0, #0 diff --git a/asm/code_08019444.s b/asm/code_08019444.s index 2f0f2987..203f4aa6 100644 --- a/asm/code_08019444.s +++ b/asm/code_08019444.s @@ -59,7 +59,7 @@ sub_08019498: @ 0x08019498 ldr r4, _08019504 @ =gLinkEntity adds r0, r4, #0 adds r1, r5, #0 - bl sub_0806FA24 + bl CopyPosition ldrb r0, [r5, #0xc] adds r0, #1 movs r2, #0 @@ -518,7 +518,7 @@ sub_08019840: @ 0x08019840 mov r7, sb mov r6, r8 push {r6, r7} - ldr r0, _0801985C @ =gUnk_03003F80 + ldr r0, _0801985C @ =gLinkState adds r2, r0, #0 adds r2, #0xa8 ldrb r1, [r2] @@ -529,7 +529,7 @@ sub_08019840: @ 0x08019840 ldrb r0, [r0] b _08019862 .align 2, 0 -_0801985C: .4byte gUnk_03003F80 +_0801985C: .4byte gLinkState _08019860: ldrb r0, [r2] _08019862: @@ -838,7 +838,7 @@ _08019AA4: adds r1, r3, #0 adds r0, r0, r1 strh r0, [r2] - ldr r2, _08019ADC @ =gUnk_03003F80 + ldr r2, _08019ADC @ =gLinkState ldr r1, [r2, #0x30] movs r0, #0x80 ands r1, r0 @@ -852,7 +852,7 @@ _08019AD0: .align 2, 0 _08019AD4: .4byte 0x0000401B _08019AD8: .4byte 0x00004030 -_08019ADC: .4byte gUnk_03003F80 +_08019ADC: .4byte gLinkState _08019AE0: ldr r0, _08019B04 @ =0x00004053 cmp r4, r0 @@ -963,7 +963,7 @@ _08019B88: ldr r4, _08019BB0 @ =0x00004001 adds r0, r0, r4 strh r0, [r1] - ldr r2, _08019BB4 @ =gUnk_03003F80 + ldr r2, _08019BB4 @ =gLinkState ldr r0, [r2, #0x30] movs r1, #0x80 ands r0, r1 @@ -976,9 +976,9 @@ _08019BAA: b _0801A0FA .align 2, 0 _08019BB0: .4byte 0x00004001 -_08019BB4: .4byte gUnk_03003F80 +_08019BB4: .4byte gLinkState _08019BB8: - ldr r1, _08019C50 @ =gUnk_03003F80 + ldr r1, _08019C50 @ =gLinkState ldr r0, [r1, #0x30] movs r2, #0x80 ands r0, r2 @@ -1058,7 +1058,7 @@ _08019C38: strh r0, [r5, #0x32] b _08019C64 .align 2, 0 -_08019C50: .4byte gUnk_03003F80 +_08019C50: .4byte gLinkState _08019C54: .4byte gUnk_080B4478 _08019C58: .4byte gRoomControls _08019C5C: @@ -1091,7 +1091,7 @@ _08019C80: adds r0, r0, r4 movs r3, #0 strh r0, [r1] - ldr r1, _08019CBC @ =gUnk_03003F80 + ldr r1, _08019CBC @ =gLinkState movs r0, #0xa0 strb r0, [r1, #6] movs r0, #5 @@ -1110,9 +1110,9 @@ _08019C80: b _0801A2A6 .align 2, 0 _08019CB8: .4byte 0x0000401C -_08019CBC: .4byte gUnk_03003F80 +_08019CBC: .4byte gLinkState _08019CC0: - ldr r0, _08019CF8 @ =gUnk_03003F80 + ldr r0, _08019CF8 @ =gLinkState adds r2, r0, #0 adds r2, #0x35 ldrb r1, [r2] @@ -1143,9 +1143,9 @@ _08019CF4: movs r0, #1 b _0801A2A6 .align 2, 0 -_08019CF8: .4byte gUnk_03003F80 +_08019CF8: .4byte gLinkState _08019CFC: - ldr r2, _08019D40 @ =gUnk_03003F80 + ldr r2, _08019D40 @ =gLinkState ldr r0, [r2, #0x30] movs r1, #0x80 ands r0, r1 @@ -1182,14 +1182,14 @@ _08019D2C: movs r0, #1 b _0801A2A6 .align 2, 0 -_08019D40: .4byte gUnk_03003F80 +_08019D40: .4byte gLinkState _08019D44: .4byte gUnk_0200AF00 _08019D48: cmp r3, #0 beq _08019D4E b _0801A2A4 _08019D4E: - ldr r2, _08019D8C @ =gUnk_03003F80 + ldr r2, _08019D8C @ =gLinkState ldr r0, [r2, #0x30] movs r1, #0x81 lsls r1, r1, #7 @@ -1221,7 +1221,7 @@ _08019D76: movs r0, #2 b _0801A2A6 .align 2, 0 -_08019D8C: .4byte gUnk_03003F80 +_08019D8C: .4byte gLinkState _08019D90: .4byte gUnk_0200AF00 _08019D94: bl sub_08052734 @@ -1233,7 +1233,7 @@ _08019D9E: adds r0, #0x2d movs r1, #6 strb r1, [r0] - ldr r2, _08019DD0 @ =gUnk_03003F80 + ldr r2, _08019DD0 @ =gLinkState adds r0, r2, #0 adds r0, #0x92 ldrh r1, [r0] @@ -1254,9 +1254,9 @@ _08019DB8: b _0801A2A6 .align 2, 0 _08019DCC: .4byte gUnk_0200AF00 -_08019DD0: .4byte gUnk_03003F80 +_08019DD0: .4byte gLinkState _08019DD4: - ldr r4, _08019E3C @ =gUnk_03003F80 + ldr r4, _08019E3C @ =gLinkState ldr r0, [r4, #0x30] movs r1, #0x80 lsls r1, r1, #7 @@ -1313,7 +1313,7 @@ _08019E18: movs r0, #1 b _0801A2A6 .align 2, 0 -_08019E3C: .4byte gUnk_03003F80 +_08019E3C: .4byte gLinkState _08019E40: .4byte gLinkEntity _08019E44: mov r0, r8 @@ -1358,7 +1358,7 @@ _08019E84: strh r1, [r0] mov sb, r2 _08019E98: - ldr r2, _08019EC4 @ =gUnk_03003F80 + ldr r2, _08019EC4 @ =gLinkState movs r3, #0 movs r0, #0xa0 strb r0, [r2, #6] @@ -1379,7 +1379,7 @@ _08019E98: .align 2, 0 _08019EBC: .4byte gLinkEntity _08019EC0: .4byte 0x0000400C -_08019EC4: .4byte gUnk_03003F80 +_08019EC4: .4byte gLinkState _08019EC8: mov r0, r8 adds r1, r7, #0 @@ -1399,7 +1399,7 @@ _08019ED8: adds r0, r0, r2 movs r3, #0 strh r0, [r1] - ldr r2, _08019F08 @ =gUnk_03003F80 + ldr r2, _08019F08 @ =gLinkState movs r0, #0x98 strb r0, [r2, #6] movs r0, #5 @@ -1413,7 +1413,7 @@ _08019ED8: b _0801A228 .align 2, 0 _08019F04: .4byte 0x0000405B -_08019F08: .4byte gUnk_03003F80 +_08019F08: .4byte gLinkState _08019F0C: mov r0, r8 adds r1, r7, #0 @@ -1433,7 +1433,7 @@ _08019F1C: adds r0, r0, r3 movs r3, #0 strh r0, [r1] - ldr r2, _08019F4C @ =gUnk_03003F80 + ldr r2, _08019F4C @ =gLinkState movs r0, #0xa0 strb r0, [r2, #6] movs r0, #5 @@ -1447,13 +1447,13 @@ _08019F1C: b _0801A228 .align 2, 0 _08019F48: .4byte 0x00004037 -_08019F4C: .4byte gUnk_03003F80 +_08019F4C: .4byte gLinkState _08019F50: cmp r3, #0 beq _08019F56 b _0801A2A4 _08019F56: - ldr r2, _08019FA0 @ =gUnk_03003F80 + ldr r2, _08019FA0 @ =gLinkState adds r0, r2, #0 adds r0, #0x35 ldrb r0, [r0] @@ -1492,10 +1492,10 @@ _08019F7C: strh r3, [r5, #0x30] b _0801A228 .align 2, 0 -_08019FA0: .4byte gUnk_03003F80 +_08019FA0: .4byte gLinkState _08019FA4: .4byte 0x0000403F _08019FA8: - ldr r0, _0801A07C @ =gUnk_03003F80 + ldr r0, _0801A07C @ =gLinkState adds r0, #0x35 ldrb r1, [r0] movs r0, #0x80 @@ -1592,7 +1592,7 @@ _0801A02A: adds r0, r5, #0 adds r0, #0x38 strb r1, [r0] - ldr r2, _0801A07C @ =gUnk_03003F80 + ldr r2, _0801A07C @ =gLinkState movs r0, #0xa0 strb r0, [r2, #6] movs r0, #5 @@ -1606,7 +1606,7 @@ _0801A02A: ldrb r0, [r5, #0x15] b _0801A0B6 .align 2, 0 -_0801A07C: .4byte gUnk_03003F80 +_0801A07C: .4byte gLinkState _0801A080: .4byte 0x0000FFFF _0801A084: .4byte 0x00000FFF _0801A088: .4byte gUnk_03004040 @@ -1654,7 +1654,7 @@ _0801A0CC: ldr r4, _0801A0F0 @ =0x0000404B adds r0, r0, r4 strh r0, [r1] - ldr r2, _0801A0F4 @ =gUnk_03003F80 + ldr r2, _0801A0F4 @ =gLinkState ldr r0, [r2, #0x30] movs r1, #0x80 ands r0, r1 @@ -1665,7 +1665,7 @@ _0801A0CC: b _0801A0FA .align 2, 0 _0801A0F0: .4byte 0x0000404B -_0801A0F4: .4byte gUnk_03003F80 +_0801A0F4: .4byte gLinkState _0801A0F8: movs r0, #0xa0 _0801A0FA: @@ -1688,7 +1688,7 @@ _0801A0FA: .align 2, 0 _0801A11C: .4byte gLinkEntity _0801A120: - ldr r0, _0801A134 @ =gUnk_03003F80 + ldr r0, _0801A134 @ =gLinkState adds r0, #0x35 ldrb r0, [r0] cmp r0, #0 @@ -1699,10 +1699,10 @@ _0801A12C: adds r1, r5, #0 b _0801A28C .align 2, 0 -_0801A134: .4byte gUnk_03003F80 +_0801A134: .4byte gLinkState _0801A138: .4byte 0x00004054 _0801A13C: - ldr r0, _0801A150 @ =gUnk_03003F80 + ldr r0, _0801A150 @ =gLinkState adds r0, #0x35 ldrb r0, [r0] cmp r0, #6 @@ -1713,12 +1713,12 @@ _0801A148: adds r1, r5, #0 b _0801A28C .align 2, 0 -_0801A150: .4byte gUnk_03003F80 +_0801A150: .4byte gLinkState _0801A154: .4byte 0x00004054 _0801A158: subs r7, #1 _0801A15A: - ldr r0, _0801A190 @ =gUnk_03003F80 + ldr r0, _0801A190 @ =gLinkState adds r0, #0x35 ldrb r0, [r0] cmp r0, #0 @@ -1749,12 +1749,12 @@ _0801A186: bls _0801A178 b _0801A2A4 .align 2, 0 -_0801A190: .4byte gUnk_03003F80 +_0801A190: .4byte gLinkState _0801A194: .4byte gUnk_03004040 _0801A198: subs r7, #0x40 _0801A19A: - ldr r0, _0801A1CC @ =gUnk_03003F80 + ldr r0, _0801A1CC @ =gLinkState adds r0, #0x35 ldrb r0, [r0] cmp r0, #6 @@ -1781,14 +1781,14 @@ _0801A1B6: bls _0801A1B6 b _0801A2A4 .align 2, 0 -_0801A1CC: .4byte gUnk_03003F80 +_0801A1CC: .4byte gLinkState _0801A1D0: .4byte gUnk_03004040 _0801A1D4: movs r0, #2 ands r0, r1 cmp r0, #0 beq _0801A2A4 - ldr r6, _0801A234 @ =gUnk_03003F80 + ldr r6, _0801A234 @ =gLinkState adds r0, r6, #0 adds r0, #0x35 ldrb r0, [r0] @@ -1832,12 +1832,12 @@ _0801A228: movs r0, #1 b _0801A2A6 .align 2, 0 -_0801A234: .4byte gUnk_03003F80 +_0801A234: .4byte gLinkState _0801A238: .4byte 0x00004074 _0801A23C: cmp r3, #4 bne _0801A2A4 - ldr r1, _0801A280 @ =gUnk_03003F80 + ldr r1, _0801A280 @ =gLinkState adds r0, r1, #0 adds r0, #0x35 ldrb r0, [r0] @@ -1867,7 +1867,7 @@ _0801A23C: movs r0, #1 b _0801A2A6 .align 2, 0 -_0801A280: .4byte gUnk_03003F80 +_0801A280: .4byte gLinkState _0801A284: .4byte 0x00004074 _0801A288: ldr r0, _0801A29C @ =0x00004059 @@ -1904,7 +1904,7 @@ sub_0801A2B0: @ 0x0801A2B0 lsls r0, r0, #1 adds r0, r0, r1 ldrh r3, [r0] - ldr r1, _0801A324 @ =gUnk_03003F80 + ldr r1, _0801A324 @ =gLinkState adds r0, r1, #0 adds r0, #0x35 ldrb r0, [r0] @@ -1947,7 +1947,7 @@ sub_0801A2B0: @ 0x0801A2B0 .align 2, 0 _0801A31C: .4byte gUnk_080B4488 _0801A320: .4byte gLinkEntity -_0801A324: .4byte gUnk_03003F80 +_0801A324: .4byte gLinkState _0801A328: cmp r1, #0x74 beq _0801A36C @@ -2192,7 +2192,7 @@ _0801A4F2: thumb_func_start sub_0801A4F8 sub_0801A4F8: @ 0x0801A4F8 push {r4, r5, lr} - ldr r4, _0801A538 @ =gUnk_03003F80 + ldr r4, _0801A538 @ =gLinkState ldr r0, [r4, #0x30] movs r5, #0x80 ands r0, r5 @@ -2222,7 +2222,7 @@ sub_0801A4F8: @ 0x0801A4F8 ldrh r0, [r2, #0x2a] b _0801A55E .align 2, 0 -_0801A538: .4byte gUnk_03003F80 +_0801A538: .4byte gLinkState _0801A53C: .4byte gLinkEntity _0801A540: .4byte gUnk_080B44A0 _0801A544: @@ -2974,7 +2974,7 @@ _0801AA94: adds r0, r4, #0 adds r0, #0x38 strb r1, [r0] - ldr r2, _0801AAFC @ =gUnk_03003F80 + ldr r2, _0801AAFC @ =gLinkState movs r0, #0xa0 strb r0, [r2, #6] movs r0, #5 @@ -2992,7 +2992,7 @@ _0801AA94: _0801AAF0: .4byte gUnk_080B4488 _0801AAF4: .4byte 0x00002004 _0801AAF8: .4byte gRoomControls -_0801AAFC: .4byte gUnk_03003F80 +_0801AAFC: .4byte gLinkState _0801AB00: movs r0, #0 _0801AB02: @@ -3771,7 +3771,7 @@ sub_0801B0C4: @ 0x0801B0C4 ldr r0, [r4] cmp r0, #0 bge _0801B0E6 - bl sub_08000E50 + bl Random ldr r1, _0801B0E8 @ =gUnk_080B4550 ldrb r2, [r4] lsls r2, r2, #2 @@ -3936,7 +3936,7 @@ _0801B1E4: ldrb r0, [r4, #0xd] cmp r0, #1 bne _0801B204 - ldr r0, _0801B244 @ =gUnk_03003F80 + ldr r0, _0801B244 @ =gLinkState strb r1, [r0, #5] _0801B204: movs r0, #3 @@ -3963,12 +3963,12 @@ _0801B204: movs r1, #0x20 movs r2, #0 movs r3, #0 - bl sub_080A2988 + bl CreateObjectWithParent adds r0, r4, #0 bl sub_0801B418 b _0801B24E .align 2, 0 -_0801B244: .4byte gUnk_03003F80 +_0801B244: .4byte gLinkState _0801B248: adds r0, r4, #0 bl sub_0801B3A4 @@ -4071,7 +4071,7 @@ _0801B2F6: _0801B2FA: movs r5, #0 _0801B2FC: - ldr r0, _0801B314 @ =gUnk_03003F80 + ldr r0, _0801B314 @ =gLinkState adds r0, #0x92 ldrh r0, [r0] ands r5, r0 @@ -4084,7 +4084,7 @@ _0801B2FC: _0801B310: pop {r4, r5, pc} .align 2, 0 -_0801B314: .4byte gUnk_03003F80 +_0801B314: .4byte gLinkState thumb_func_start sub_0801B318 sub_0801B318: @ 0x0801B318 @@ -4338,7 +4338,7 @@ _0801B4C4: .4byte 0xFFFFE000 sub_0801B4C8: @ 0x0801B4C8 push {r4, r5, lr} adds r4, r0, #0 - ldr r3, _0801B52C @ =gUnk_03003F80 + ldr r3, _0801B52C @ =gLinkState str r4, [r3, #0x2c] movs r2, #0 movs r0, #1 @@ -4388,7 +4388,7 @@ _0801B518: movs r0, #0x3c b _0801B540 .align 2, 0 -_0801B52C: .4byte gUnk_03003F80 +_0801B52C: .4byte gLinkState _0801B530: .4byte gUnk_081271CC _0801B534: .4byte gLinkEntity _0801B538: @@ -4437,7 +4437,7 @@ sub_0801B584: @ 0x0801B584 push {r4, r5, r6, r7, lr} adds r6, r0, #0 bl sub_0801B804 - ldr r1, _0801B5F8 @ =gUnk_03003F80 + ldr r1, _0801B5F8 @ =gLinkState ldrb r0, [r1, #4] cmp r0, #0 beq _0801B5A8 @@ -4452,7 +4452,7 @@ sub_0801B584: @ 0x0801B584 cmp r0, #1 beq _0801B5B8 _0801B5A8: - ldr r1, _0801B5F8 @ =gUnk_03003F80 + ldr r1, _0801B5F8 @ =gLinkState ldr r0, [r1, #0x2c] cmp r0, r6 bne _0801B5B4 @@ -4494,7 +4494,7 @@ _0801B5EE: bl sub_08078E84 b _0801B674 .align 2, 0 -_0801B5F8: .4byte gUnk_03003F80 +_0801B5F8: .4byte gLinkState _0801B5FC: .4byte gLinkEntity _0801B600: movs r5, #0 @@ -4549,7 +4549,7 @@ _0801B600: adds r0, r6, #0 movs r1, #0 bl sub_08004260 - ldr r0, _0801B67C @ =gUnk_03003F80 + ldr r0, _0801B67C @ =gLinkState str r5, [r0, #0x2c] ldrb r1, [r0, #4] orrs r4, r1 @@ -4558,7 +4558,7 @@ _0801B674: pop {r4, r5, r6, r7, pc} .align 2, 0 _0801B678: .4byte gUnk_080B7826 -_0801B67C: .4byte gUnk_03003F80 +_0801B67C: .4byte gLinkState thumb_func_start sub_0801B680 sub_0801B680: @ 0x0801B680 @@ -4575,7 +4575,7 @@ sub_0801B680: @ 0x0801B680 ldrb r0, [r0] cmp r0, #0 bne _0801B6DC - ldr r3, _0801B6C4 @ =gUnk_03003F80 + ldr r3, _0801B6C4 @ =gLinkState ldrb r1, [r3, #0xd] movs r0, #0x80 ands r0, r1 @@ -4596,7 +4596,7 @@ sub_0801B680: @ 0x0801B680 adds r0, #0x40 b _0801B6D0 .align 2, 0 -_0801B6C4: .4byte gUnk_03003F80 +_0801B6C4: .4byte gLinkState _0801B6C8: adds r1, r4, #0 adds r1, #0x82 @@ -4782,7 +4782,7 @@ _0801B820: _0801B824: movs r4, #0 _0801B826: - ldr r3, _0801B850 @ =gUnk_03003F80 + ldr r3, _0801B850 @ =gLinkState adds r0, r3, #0 adds r0, #0x90 ldrh r0, [r0] @@ -4803,7 +4803,7 @@ _0801B826: strb r1, [r3, #0xb] b _0801B862 .align 2, 0 -_0801B850: .4byte gUnk_03003F80 +_0801B850: .4byte gLinkState _0801B854: ldrb r1, [r3, #0xa] movs r0, #0x80 @@ -4860,7 +4860,7 @@ _0801B8AC: .4byte gUnk_080B7840 sub_0801B8B0: @ 0x0801B8B0 push {r4, lr} adds r4, r0, #0 - ldr r1, _0801B8F0 @ =gUnk_03003F80 + ldr r1, _0801B8F0 @ =gLinkState ldrb r0, [r1, #0x1e] cmp r0, #0 beq _0801B8F4 @@ -4887,7 +4887,7 @@ sub_0801B8B0: @ 0x0801B8B0 bl sub_0801B8FC b _0801B8F8 .align 2, 0 -_0801B8F0: .4byte gUnk_03003F80 +_0801B8F0: .4byte gLinkState _0801B8F4: bl sub_0805E780 _0801B8F8: @@ -4897,14 +4897,14 @@ _0801B8F8: thumb_func_start sub_0801B8FC sub_0801B8FC: @ 0x0801B8FC push {lr} - ldr r1, _0801B90C @ =gUnk_03003F80 + ldr r1, _0801B90C @ =gLinkState ldr r2, [r1, #0x2c] cmp r2, r0 beq _0801B910 bl sub_0805E780 b _0801B934 .align 2, 0 -_0801B90C: .4byte gUnk_03003F80 +_0801B90C: .4byte gLinkState _0801B910: ldrb r0, [r1, #0x1e] cmp r0, #0 @@ -4991,7 +4991,7 @@ _0801B9A0: lsls r3, r3, #1 ldr r0, _0801B9E4 @ =gUnk_080B7848 adds r3, r3, r0 - ldr r0, _0801B9E8 @ =gUnk_03003F80 + ldr r0, _0801B9E8 @ =gLinkState adds r0, #0xac ldrh r0, [r0] movs r1, #8 @@ -5014,7 +5014,7 @@ _0801B9A0: .align 2, 0 _0801B9E0: .4byte gUnk_080B7850 _0801B9E4: .4byte gUnk_080B7848 -_0801B9E8: .4byte gUnk_03003F80 +_0801B9E8: .4byte gLinkState _0801B9EC: .4byte gLinkEntity thumb_func_start sub_0801B9F0 @@ -5150,7 +5150,7 @@ _0801BB0A: strb r0, [r4, #0xc] movs r0, #0xff strb r0, [r4, #0x1e] - ldr r0, _0801BB28 @ =gUnk_03003F80 + ldr r0, _0801BB28 @ =gLinkState str r4, [r0, #0x2c] adds r0, r4, #0 movs r1, #1 @@ -5161,13 +5161,13 @@ _0801BB0A: _0801BB26: pop {r4, pc} .align 2, 0 -_0801BB28: .4byte gUnk_03003F80 +_0801BB28: .4byte gLinkState thumb_func_start sub_0801BB2C sub_0801BB2C: @ 0x0801BB2C push {r4, r5, lr} adds r5, r0, #0 - ldr r0, _0801BB88 @ =gUnk_03003F80 + ldr r0, _0801BB88 @ =gLinkState ldr r0, [r0, #0x2c] cmp r0, r5 beq _0801BB68 @@ -5208,7 +5208,7 @@ _0801BB68: ldr r0, [r0] mov pc, r0 .align 2, 0 -_0801BB88: .4byte gUnk_03003F80 +_0801BB88: .4byte gLinkState _0801BB8C: .4byte 0x00000109 _0801BB90: .4byte gLinkEntity _0801BB94: .4byte _0801BB98 @@ -5384,21 +5384,21 @@ _0801BD24: movs r1, #0x68 movs r2, #0 movs r3, #0 - bl sub_080A2988 + bl CreateObjectWithParent b _0801BD6C _0801BD32: adds r0, r4, #0 movs r1, #0x68 movs r2, #1 movs r3, #1 - bl sub_080A2988 + bl CreateObjectWithParent b _0801BD6C _0801BD40: adds r0, r4, #0 movs r1, #0x68 movs r2, #2 movs r3, #2 - bl sub_080A2988 + bl CreateObjectWithParent movs r0, #0x20 bl ModHealth b _0801BD6C @@ -5437,14 +5437,14 @@ _0801BD94: movs r1, #0x68 movs r2, #0 movs r3, #0 - bl sub_080A2988 + bl CreateObjectWithParent b _0801BDAE _0801BDA2: adds r0, r4, #0 movs r1, #0x68 movs r2, #1 movs r3, #1 - bl sub_080A2988 + bl CreateObjectWithParent _0801BDAE: ldr r0, _0801BDC8 @ =gLinkEntity adds r0, #0x5a @@ -5466,14 +5466,14 @@ _0801BDCC: movs r1, #0x68 movs r2, #0 movs r3, #0 - bl sub_080A2988 + bl CreateObjectWithParent b _0801BDE6 _0801BDDA: adds r0, r4, #0 movs r1, #0x68 movs r2, #1 movs r3, #0 - bl sub_080A2988 + bl CreateObjectWithParent _0801BDE6: pop {r4, r5, pc} @@ -5677,7 +5677,7 @@ sub_0801BEF8: @ 0x0801BEF8 adds r0, #1 strb r0, [r1, #0xc] _0801BF62: - ldr r2, _0801BFFC @ =gUnk_03003F80 + ldr r2, _0801BFFC @ =gLinkState mov sb, r2 ldrb r1, [r2, #0x1a] movs r0, #0x80 @@ -5752,7 +5752,7 @@ _0801BFDA: _0801BFF0: .4byte gLinkEntity _0801BFF4: .4byte gUnk_080B7B6C _0801BFF8: .4byte gRoomControls -_0801BFFC: .4byte gUnk_03003F80 +_0801BFFC: .4byte gLinkState _0801C000: .4byte gUnk_03000FF0 _0801C004: ldrh r2, [r6, #2] diff --git a/asm/code_0801C85C.s b/asm/code_0801C85C.s index aecba03b..15a12928 100644 --- a/asm/code_0801C85C.s +++ b/asm/code_0801C85C.s @@ -16,7 +16,7 @@ sub_0801C85C: @ 0x0801C85C ands r0, r1 cmp r0, #0 bne _0801C878 - ldr r0, _0801C888 @ =gUnk_03003F80 + ldr r0, _0801C888 @ =gLinkState adds r0, #0xa0 ldrb r1, [r0] rsbs r0, r1, #0 @@ -29,7 +29,7 @@ _0801C878: b _0801C984 .align 2, 0 _0801C884: .4byte gUnk_0200AF00 -_0801C888: .4byte gUnk_03003F80 +_0801C888: .4byte gLinkState _0801C88C: ldrb r0, [r5, #4] ldr r4, _0801C92C @ =gUnk_02034D30 @@ -37,7 +37,7 @@ _0801C88C: bls _0801C896 adds r4, #0x40 _0801C896: - ldr r0, _0801C930 @ =gUnk_03003F80 + ldr r0, _0801C930 @ =gLinkState adds r0, #0xa4 movs r1, #0 ldrsh r0, [r0, r1] @@ -100,7 +100,7 @@ _0801C90C: ldr r0, _0801C94C @ =gLCDControls strh r6, [r0, #0xe] _0801C910: - ldr r0, _0801C930 @ =gUnk_03003F80 + ldr r0, _0801C930 @ =gLinkState adds r0, #0xa0 ldrb r0, [r0] cmp r0, #5 @@ -116,7 +116,7 @@ _0801C910: b _0801C956 .align 2, 0 _0801C92C: .4byte gUnk_02034D30 -_0801C930: .4byte gUnk_03003F80 +_0801C930: .4byte gLinkState _0801C934: .4byte 0x0000F016 _0801C938: .4byte 0x0000F416 _0801C93C: .4byte 0x040000D4 @@ -658,15 +658,15 @@ _0801CD28: adds r0, #0x80 strb r0, [r3] _0801CD3C: - ldr r1, _0801CD48 @ =gUnk_080FD5A0 + ldr r1, _0801CD48 @ =gBombBagSizes adds r0, r5, #0 adds r0, #0xae b _0801CD52 .align 2, 0 _0801CD44: .4byte gUnk_02002A40 -_0801CD48: .4byte gUnk_080FD5A0 +_0801CD48: .4byte gBombBagSizes _0801CD4C: - ldr r1, _0801CD5C @ =gUnk_080FD5A4 + ldr r1, _0801CD5C @ =gQuiverSizes adds r0, r5, #0 adds r0, #0xaf _0801CD52: @@ -675,7 +675,7 @@ _0801CD52: ldrb r0, [r0] b _0801CD64 .align 2, 0 -_0801CD5C: .4byte gUnk_080FD5A4 +_0801CD5C: .4byte gQuiverSizes _0801CD60: movs r0, #1 movs r2, #0 diff --git a/asm/code_0801D79C.s b/asm/code_0801D79C.s index daabf8e0..b33a8706 100644 --- a/asm/code_0801D79C.s +++ b/asm/code_0801D79C.s @@ -2515,7 +2515,7 @@ _0801EA34: adds r0, r1, r2 add r0, r8 strb r6, [r0] - bl sub_08000E50 + bl Random ldrb r4, [r7, #1] movs r1, #0x64 bl __modsi3 @@ -2542,7 +2542,7 @@ _0801EA6E: thumb_func_start sub_0801EA74 sub_0801EA74: @ 0x0801EA74 push {r4, r5, r6, lr} - bl sub_08000E50 + bl Random movs r1, #0x12 bl __modsi3 adds r5, r0, #0 @@ -2741,7 +2741,7 @@ sub_0801EBC8: @ 0x0801EBC8 ldrb r0, [r4, #0xa] cmp r0, #2 beq _0801EBDE - bl sub_08000E50 + bl Random movs r1, #3 ands r0, r1 _0801EBDE: @@ -2767,7 +2767,7 @@ sub_0801EBF4: @ 0x0801EBF4 bne _0801EC1E movs r0, #2 strb r0, [r4, #0xc] - bl sub_08000E50 + bl Random ldr r2, _0801EC28 @ =gUnk_080CA170 movs r1, #3 ands r1, r0 @@ -2804,7 +2804,7 @@ sub_0801EC2C: @ 0x0801EC2C ldrb r0, [r5, #0xa] adds r0, r0, r1 ldrb r4, [r0] - bl sub_08000E50 + bl Random movs r1, #3 ands r0, r1 cmp r4, r0 @@ -2889,7 +2889,7 @@ sub_0801ECFC: @ 0x0801ECFC adds r4, r0, #0 movs r0, #1 strb r0, [r4, #0xc] - bl sub_08000E50 + bl Random movs r1, #0x38 ands r0, r1 adds r0, #0x18 @@ -2911,7 +2911,7 @@ sub_0801ED14: @ 0x0801ED14 ldrb r0, [r5, #0xa] cmp r0, #1 bne _0801ED46 - bl sub_08000E50 + bl Random movs r1, #3 ands r1, r0 cmp r1, #0 @@ -2922,10 +2922,10 @@ sub_0801ED14: @ 0x0801ED14 cmp r0, #0 bne _0801EDC4 _0801ED46: - bl sub_08000E50 + bl Random b _0801EDD0 _0801ED4C: - bl sub_08000E50 + bl Random movs r1, #3 ands r1, r0 cmp r1, #0 @@ -2933,7 +2933,7 @@ _0801ED4C: adds r0, r5, #0 bl sub_08049EE4 adds r4, r0, #0 - bl sub_08000E50 + bl Random ldr r2, _0801ED74 @ =gUnk_080CA17E movs r1, #1 ands r1, r0 @@ -2944,7 +2944,7 @@ _0801ED4C: .align 2, 0 _0801ED74: .4byte gUnk_080CA17E _0801ED78: - bl sub_08000E50 + bl Random b _0801EDD0 _0801ED7E: adds r0, r5, #0 @@ -2956,10 +2956,10 @@ _0801ED7E: bl sub_08049FA0 cmp r0, #0 beq _0801ED9A - bl sub_08000E50 + bl Random b _0801EDD0 _0801ED9A: - bl sub_08000E50 + bl Random movs r1, #3 ands r1, r0 cmp r1, #0 @@ -2967,7 +2967,7 @@ _0801ED9A: adds r0, r5, #0 bl sub_08049EE4 adds r4, r0, #0 - bl sub_08000E50 + bl Random ldr r2, _0801EDC0 @ =gUnk_080CA17E movs r1, #1 ands r1, r0 @@ -3395,11 +3395,11 @@ sub_0801F0C8: @ 0x0801F0C8 movs r4, #3 movs r0, #3 strb r0, [r5, #0xc] - bl sub_08000E50 + bl Random ands r0, r4 adds r0, #0xc strb r0, [r5, #0xe] - bl sub_08000E50 + bl Random strb r0, [r5, #0xf] adds r0, r5, #0 movs r1, #1 @@ -3480,7 +3480,7 @@ _0801F18A: bl sub_08049F64 cmp r0, #0 beq _0801F1A6 - bl sub_08000E50 + bl Random movs r1, #3 ands r0, r1 adds r0, #0xc @@ -3726,12 +3726,12 @@ sub_0801F360: @ 0x0801F360 adds r4, r0, #0 movs r0, #7 strb r0, [r4, #0xc] - bl sub_08000E50 + bl Random movs r1, #0x38 ands r0, r1 adds r0, #0xb4 strb r0, [r4, #0xe] - bl sub_08000E50 + bl Random strb r0, [r4, #0xf] adds r0, r4, #0 movs r1, #1 @@ -3831,7 +3831,7 @@ sub_0801F428: @ 0x0801F428 movs r4, #0 movs r0, #1 strb r0, [r5, #0xc] - bl sub_08000E50 + bl Random strb r0, [r5, #0xe] adds r0, r5, #0 adds r0, #0x45 @@ -3970,7 +3970,7 @@ _0801F51C: bl sub_08049F64 cmp r0, #0 beq _0801F566 - bl sub_08000E50 + bl Random movs r1, #1 ands r1, r0 cmp r1, #0 @@ -4325,7 +4325,7 @@ sub_0801F7D8: @ 0x0801F7D8 movs r5, #0 movs r0, #1 strb r0, [r4, #0xc] - bl sub_08000E50 + bl Random strb r0, [r4, #0xe] adds r0, r4, #0 adds r0, #0x45 @@ -4969,7 +4969,7 @@ sub_0801FC9C: @ 0x0801FC9C bl sub_0804A720 movs r0, #1 strb r0, [r4, #0xc] - bl sub_08000E50 + bl Random strb r0, [r4, #0xe] pop {r4, pc} @@ -4983,7 +4983,7 @@ sub_0801FCB0: @ 0x0801FCB0 lsls r0, r0, #0x18 cmp r0, #0 bne _0801FD28 - bl sub_08000E50 + bl Random movs r1, #0x1f ands r1, r0 adds r0, r5, #0 @@ -5003,7 +5003,7 @@ sub_0801FCB0: @ 0x0801FCB0 adds r0, r5, #0 bl sub_080045C4 adds r4, r0, #0 - bl sub_08000E50 + bl Random ldr r2, _0801FD18 @ =gUnk_080CA4C8 movs r1, #1 ands r1, r0 @@ -5023,7 +5023,7 @@ sub_0801FCB0: @ 0x0801FCB0 _0801FD14: .4byte gUnk_020000B0 _0801FD18: .4byte gUnk_080CA4C8 _0801FD1C: - bl sub_08000E50 + bl Random movs r1, #0x18 ands r0, r1 adds r0, #8 @@ -5414,7 +5414,7 @@ sub_0801FFDC: @ 0x0801FFDC beq _08020010 adds r0, r4, #0 adds r1, r5, #0 - bl sub_0806FA24 + bl CopyPosition ldrh r0, [r5, #0x36] subs r0, #8 strh r0, [r5, #0x36] @@ -5594,15 +5594,15 @@ sub_08020130: @ 0x08020130 strb r5, [r4, #0xc] movs r0, #0x10 strb r0, [r4, #0xe] - bl sub_08000E50 + bl Random strb r0, [r4, #0xf] - bl sub_08000E50 + bl Random movs r1, #0x1f ands r0, r1 strb r0, [r4, #0x15] movs r0, #0x12 strb r0, [r4, #0x1c] - bl sub_08000E50 + bl Random ands r0, r5 movs r1, #0xfe cmp r0, #0 @@ -5658,7 +5658,7 @@ _08020192: beq _080201D4 movs r0, #2 strb r0, [r4, #0xc] - bl sub_08000E50 + bl Random movs r1, #3 ands r0, r1 strb r0, [r4, #0xd] @@ -5677,12 +5677,12 @@ _080201D4: strb r0, [r4, #0xe] adds r0, r4, #0 bl sub_08020604 - bl sub_08000E50 + bl Random movs r1, #3 ands r1, r0 cmp r1, #0 bne _0802020C - bl sub_08000E50 + bl Random movs r1, #1 ands r1, r0 movs r2, #0xfe @@ -5736,7 +5736,7 @@ _0802024C: adds r0, r5, #0 bl sub_080045C4 adds r4, r0, #0 - bl sub_08000E50 + bl Random ldr r2, _08020280 @ =gUnk_080CA5D4 movs r1, #1 ands r1, r0 @@ -5947,7 +5947,7 @@ _080203F2: movs r0, #0xc0 lsls r0, r0, #9 str r0, [r4, #0x20] - bl sub_08000E50 + bl Random movs r1, #0x1f ands r0, r1 strb r0, [r4, #0x15] @@ -5993,7 +5993,7 @@ _0802044E: strb r0, [r4, #0xc] movs r0, #0xf0 strb r0, [r4, #0xe] - bl sub_08000E50 + bl Random movs r1, #0x1f ands r0, r1 strb r0, [r4, #0x15] @@ -6045,7 +6045,7 @@ _080204A6: movs r0, #0xfd ands r0, r1 strb r0, [r5] - bl sub_08000E50 + bl Random movs r1, #0x1f ands r0, r1 strb r0, [r4, #0x15] @@ -6145,7 +6145,7 @@ sub_0802053C: @ 0x0802053C strb r2, [r4, #0x18] movs r0, #0x20 strh r0, [r4, #0x24] - bl sub_08000E50 + bl Random movs r1, #0x10 ands r0, r1 adds r0, #8 @@ -6199,7 +6199,7 @@ _080205C8: bne _080205F2 movs r0, #0x28 strb r0, [r4, #0xf] - bl sub_08000E50 + bl Random movs r1, #0x10 ands r0, r1 adds r0, #8 @@ -6225,7 +6225,7 @@ sub_08020604: @ 0x08020604 bl sub_08049FA0 cmp r0, #0 bne _08020624 - bl sub_08000E50 + bl Random movs r1, #3 ands r1, r0 cmp r1, #0 @@ -6502,7 +6502,7 @@ sub_080207F4: @ 0x080207F4 adds r0, r4, #0 adds r0, #0x84 strb r1, [r0] - bl sub_08000E50 + bl Random movs r1, #0x18 ands r0, r1 strb r0, [r4, #0x15] @@ -6810,7 +6810,7 @@ sub_08020A30: @ 0x08020A30 ldrb r0, [r5] cmp r0, #1 bhi _08020A68 - bl sub_08000E50 + bl Random ldr r2, _08020A64 @ =gUnk_080CA6CC movs r1, #7 ands r1, r0 @@ -6845,7 +6845,7 @@ _08020A7A: sub_08020A7C: @ 0x08020A7C push {r4, r5, r6, lr} adds r6, r0, #0 - bl sub_08000E50 + bl Random ldrb r5, [r6, #0x15] ldr r4, _08020ACC @ =gUnk_080CA6D4 movs r1, #3 @@ -7961,7 +7961,7 @@ _080212DC: strb r0, [r1] ldr r4, _0802131C @ =gUnk_080CAB4A _080212E2: - bl sub_08000E50 + bl Random movs r1, #7 ands r1, r0 adds r1, r1, r4 @@ -7972,7 +7972,7 @@ _080212E2: cmp r2, #2 bne _08021306 ldr r4, _08021320 @ =gUnk_080CAB52 - bl sub_08000E50 + bl Random movs r1, #3 ands r1, r0 adds r1, r1, r4 @@ -8288,7 +8288,7 @@ _0802153E: sub_08021540: @ 0x08021540 push {r4, r5, lr} adds r4, r0, #0 - bl sub_08000E50 + bl Random adds r5, r0, #0 adds r0, r4, #0 bl sub_08049FA0 @@ -8627,7 +8627,7 @@ sub_08021780: @ 0x08021780 beq _080217F4 b _080217FA _08021792: - ldr r0, _080217A4 @ =gUnk_03003F80 + ldr r0, _080217A4 @ =gLinkState adds r0, #0xa8 ldrb r0, [r0] cmp r0, #0x18 @@ -8636,7 +8636,7 @@ _08021792: bl sub_08021768 b _080217FA .align 2, 0 -_080217A4: .4byte gUnk_03003F80 +_080217A4: .4byte gLinkState _080217A8: movs r1, #0 movs r0, #5 @@ -8817,7 +8817,7 @@ sub_080218CC: @ 0x080218CC movs r1, #1 bl sub_08049F84 adds r4, r0, #0 - bl sub_08000E50 + bl Random movs r1, #0x10 eors r4, r1 ldr r2, _08021980 @ =gUnk_080CB5DC @@ -8866,7 +8866,7 @@ _08021948: beq _0802197C movs r0, #2 strb r0, [r5, #0xc] - bl sub_08000E50 + bl Random movs r1, #0x38 ands r0, r1 adds r0, #8 @@ -8981,7 +8981,7 @@ sub_08021A10: @ 0x08021A10 bne _08021A5E movs r0, #3 strb r0, [r4, #0xc] - bl sub_08000E50 + bl Random movs r1, #0x3f ands r0, r1 adds r0, #0x1e @@ -9013,7 +9013,7 @@ sub_08021A64: @ 0x08021A64 bne _08021A96 movs r0, #2 strb r0, [r4, #0xc] - bl sub_08000E50 + bl Random movs r1, #0x1f ands r0, r1 adds r0, #0x1e @@ -9128,7 +9128,7 @@ _08021B60: sub_08021B64: @ 0x08021B64 push {r4, r5, r6, lr} adds r4, r0, #0 - ldr r0, _08021B88 @ =gUnk_03003F80 + ldr r0, _08021B88 @ =gLinkState ldr r1, [r0, #0x30] movs r2, #4 ands r1, r2 @@ -9144,7 +9144,7 @@ sub_08021B64: @ 0x08021B64 bl sub_08004260 b _08021C4E .align 2, 0 -_08021B88: .4byte gUnk_03003F80 +_08021B88: .4byte gLinkState _08021B8C: movs r5, #1 adds r0, r6, #0 @@ -9498,7 +9498,7 @@ sub_08021DF0: @ 0x08021DF0 ldr r0, _08021E48 @ =0x0000FFF0 strh r0, [r4, #0x36] _08021E14: - bl sub_08000E50 + bl Random movs r1, #0x1f ands r0, r1 strb r0, [r4, #0x15] @@ -9621,7 +9621,7 @@ sub_08021EF0: @ 0x08021EF0 adds r4, r0, #0 movs r0, #1 strb r0, [r4, #0xc] - bl sub_08000E50 + bl Random ldr r2, _08021F20 @ =gUnk_080CB6D6 movs r1, #0xf ands r1, r0 @@ -9652,7 +9652,7 @@ sub_08021F24: @ 0x08021F24 bne _08021F48 movs r0, #2 strb r0, [r4, #0xc] - bl sub_08000E50 + bl Random ldr r2, _08021F44 @ =gUnk_080CB6F6 movs r1, #0xf ands r1, r0 @@ -9693,7 +9693,7 @@ _08021F80: bl sub_08049FA0 cmp r0, #0 beq _08021F94 - bl sub_08000E50 + bl Random movs r1, #0x1f ands r0, r1 b _08021F9A @@ -10116,7 +10116,7 @@ _08022280: @ jump table .4byte _08022356 @ case 23 .4byte _080222F2 @ case 24 _080222E4: - ldr r0, _08022340 @ =gUnk_03003F80 + ldr r0, _08022340 @ =gLinkState adds r0, #0xac ldrh r1, [r0] movs r0, #8 @@ -10161,7 +10161,7 @@ _080222F2: str r5, [r4, #0x54] b _08022356 .align 2, 0 -_08022340: .4byte gUnk_03003F80 +_08022340: .4byte gLinkState _08022344: adds r0, r4, #0 adds r0, #0x3f @@ -10191,7 +10191,7 @@ sub_08022368: @ 0x08022368 bl sub_0804A720 movs r0, #1 strb r0, [r4, #0xc] - bl sub_08000E50 + bl Random strb r0, [r4, #0xe] adds r0, r4, #0 movs r1, #1 @@ -10222,7 +10222,7 @@ sub_08022390: @ 0x08022390 movs r1, #1 bl sub_08049F84 strb r0, [r4, #0x15] - bl sub_08000E50 + bl Random movs r1, #4 ands r0, r1 strb r0, [r4, #0xf] @@ -10238,7 +10238,7 @@ _080223CE: strb r0, [r4, #0xf] b _080223DA _080223D4: - bl sub_08000E50 + bl Random strb r0, [r4, #0xe] _080223DA: adds r0, r4, #0 @@ -10758,7 +10758,7 @@ _080227EE: cmp r0, #0 beq _08022812 strb r3, [r4, #0xc] - bl sub_08000E50 + bl Random ldr r2, _08022818 @ =gUnk_080CBA60 movs r1, #3 ands r1, r0 @@ -11117,7 +11117,7 @@ sub_08022A88: @ 0x08022A88 movs r5, #0 movs r0, #1 strb r0, [r4, #0xc] - bl sub_08000E50 + bl Random movs r1, #0xf ands r0, r1 adds r0, #8 @@ -11130,7 +11130,7 @@ sub_08022A88: @ 0x08022A88 sub_08022AA4: @ 0x08022AA4 push {r4, r5, lr} adds r4, r0, #0 - bl sub_08000E50 + bl Random adds r5, r0, #0 movs r0, #2 strb r0, [r4, #0xc] @@ -11394,7 +11394,7 @@ sub_08022C58: @ 0x08022C58 str r7, [r0, #0x50] adds r0, r7, #0 mov r1, sb - bl sub_0806FA24 + bl CopyPosition movs r0, #0xd movs r1, #2 bl CreateEnemy @@ -11412,7 +11412,7 @@ sub_08022C58: @ 0x08022C58 str r7, [r6, #0x50] adds r0, r7, #0 adds r1, r6, #0 - bl sub_0806FA24 + bl CopyPosition movs r0, #0xd movs r1, #3 bl CreateEnemy @@ -11428,7 +11428,7 @@ sub_08022C58: @ 0x08022C58 str r7, [r5, #0x50] adds r0, r7, #0 adds r1, r5, #0 - bl sub_0806FA24 + bl CopyPosition adds r0, r7, #0 bl sub_0804A720 movs r0, #1 @@ -11446,7 +11446,7 @@ sub_08022C58: @ 0x08022C58 adds r0, r7, #0 adds r0, #0x80 str r5, [r0] - bl sub_08000E50 + bl Random movs r1, #0x1f ands r0, r1 strb r0, [r7, #0x15] @@ -11773,7 +11773,7 @@ _08022F4E: bne _08022F84 movs r0, #8 strb r0, [r4, #0xf] - bl sub_08000E50 + bl Random ldr r2, _08022FA0 @ =gUnk_080CBBC4 movs r1, #1 ands r1, r0 @@ -12043,7 +12043,7 @@ _08023132: ldr r4, _08023194 @ =gLinkEntity adds r0, r5, #0 adds r1, r4, #0 - bl sub_0806FA24 + bl CopyPosition ldrb r1, [r4, #0x10] movs r0, #0x80 orrs r0, r1 @@ -12063,7 +12063,7 @@ _08023132: adds r4, #0x3d movs r0, #0xec strb r0, [r4] - ldr r2, _08023198 @ =gUnk_03003F80 + ldr r2, _08023198 @ =gLinkState movs r0, #0x41 strb r0, [r2, #2] ldr r0, [r2, #0x30] @@ -12077,7 +12077,7 @@ _0802318A: pop {r4, r5, pc} .align 2, 0 _08023194: .4byte gLinkEntity -_08023198: .4byte gUnk_03003F80 +_08023198: .4byte gLinkState _0802319C: .4byte 0xFFF7FFFF _080231A0: .4byte gUnk_080CBC38 @@ -12176,7 +12176,7 @@ sub_080231BC: @ 0x080231BC movs r1, #5 orrs r0, r1 strb r0, [r6, #0x1a] - bl sub_08000E50 + bl Random movs r1, #0x1f ands r0, r1 strb r0, [r6, #0x15] @@ -12218,7 +12218,7 @@ sub_08023288: @ 0x08023288 ands r0, r1 cmp r0, #0 bne _08023324 - bl sub_08000E50 + bl Random adds r4, r0, #0 movs r0, #0x1e ands r4, r0 @@ -12307,7 +12307,7 @@ sub_08023330: @ 0x08023330 movs r0, #0x96 lsls r0, r0, #2 strh r0, [r1] - bl sub_08000E50 + bl Random movs r1, #0x1c ands r0, r1 strb r0, [r5, #0x15] @@ -12323,7 +12323,7 @@ sub_08023330: @ 0x08023330 bl sub_08023A88 ldr r1, [r5, #0x54] adds r0, r5, #0 - bl sub_0806FA24 + bl CopyPosition adds r0, r5, #0 movs r1, #4 movs r2, #0 @@ -12514,7 +12514,7 @@ sub_080234D8: @ 0x080234D8 movs r1, #5 orrs r0, r1 strb r0, [r4, #0x1a] - bl sub_08000E50 + bl Random movs r1, #0x1f ands r0, r1 strb r0, [r4, #0x15] @@ -12577,7 +12577,7 @@ _0802355A: adds r2, r4, #0 ands r2, r0 strb r2, [r5, #0x14] - ldr r3, _080235AC @ =gUnk_03003F80 + ldr r3, _080235AC @ =gLinkState ldr r0, [r3, #0x30] movs r1, #0x80 lsls r1, r1, #0xc @@ -12602,7 +12602,7 @@ _0802355A: b _080235B8 .align 2, 0 _080235A8: .4byte gLinkEntity -_080235AC: .4byte gUnk_03003F80 +_080235AC: .4byte gLinkState _080235B0: .4byte gUnk_080CBC90 _080235B4: movs r0, #4 @@ -13018,7 +13018,7 @@ sub_08023894: @ 0x08023894 ldrb r0, [r0, #0xb] cmp r0, #0 bne _08023900 - ldr r2, _08023904 @ =gUnk_03003F80 + ldr r2, _08023904 @ =gLinkState ldr r0, [r2, #0x30] movs r1, #0x80 lsls r1, r1, #0xe @@ -13050,7 +13050,7 @@ sub_08023894: @ 0x08023894 _08023900: pop {r4, r5, pc} .align 2, 0 -_08023904: .4byte gUnk_03003F80 +_08023904: .4byte gLinkState _08023908: .4byte gLinkEntity thumb_func_start sub_0802390C @@ -13169,7 +13169,7 @@ _080239D4: bl sub_080239F0 adds r0, r5, #0 adds r1, r4, #0 - bl sub_0806FA24 + bl CopyPosition ldr r4, [r4, #0x54] cmp r4, #0 bne _080239D4 @@ -13520,12 +13520,12 @@ sub_08023C5C: @ 0x08023C5C bl sub_0804A720 movs r0, #1 strb r0, [r4, #0xc] - bl sub_08000E50 + bl Random movs r1, #0x30 ands r0, r1 adds r0, #0xb4 strb r0, [r4, #0xe] - bl sub_08000E50 + bl Random movs r1, #0x18 ands r0, r1 strb r0, [r4, #0x15] @@ -13560,7 +13560,7 @@ sub_08023C8C: @ 0x08023C8C strb r0, [r4, #0xe] b _08023CDC _08023CBC: - bl sub_08000E50 + bl Random movs r1, #0x30 ands r0, r1 adds r0, #0xb4 diff --git a/asm/code_08023E10.s b/asm/code_08023E10.s index 15c6056b..91fb4dff 100644 --- a/asm/code_08023E10.s +++ b/asm/code_08023E10.s @@ -83,7 +83,7 @@ _08023E98: .4byte gUnk_080CBDF7 sub_08023E9C: @ 0x08023E9C push {r4, r5, r6, lr} adds r5, r0, #0 - bl sub_08000E50 + bl Random adds r6, r0, #0 adds r0, r5, #0 bl sub_08049FA0 @@ -379,7 +379,7 @@ sub_0802409C: @ 0x0802409C sub_080240B8: @ 0x080240B8 push {r4, r5, r6, r7, lr} adds r4, r0, #0 - bl sub_08000E50 + bl Random movs r1, #0xc0 ands r1, r0 lsrs r7, r1, #3 @@ -460,7 +460,7 @@ _08024136: orrs r1, r0 strb r1, [r4, #0x1b] _08024150: - bl sub_08000E50 + bl Random movs r1, #0x40 ands r0, r1 adds r1, r4, #0 @@ -528,7 +528,7 @@ sub_080241C0: @ 0x080241C0 beq _08024238 b _08024296 _080241D8: - ldr r0, _08024218 @ =gUnk_03003F80 + ldr r0, _08024218 @ =gLinkState ldrb r0, [r0, #0xf] movs r2, #0x40 cmp r0, #0 @@ -559,7 +559,7 @@ _080241E4: bl sub_08024A14 b _08024296 .align 2, 0 -_08024218: .4byte gUnk_03003F80 +_08024218: .4byte gLinkState _0802421C: .4byte gLinkEntity _08024220: ldrb r0, [r4, #0xf] @@ -1161,7 +1161,7 @@ _08024670: movs r0, #0x7f ands r0, r1 strb r0, [r2, #0x10] - ldr r2, _080246E0 @ =gUnk_03003F80 + ldr r2, _080246E0 @ =gLinkState ldr r0, [r2, #0x30] movs r1, #0x80 lsls r1, r1, #1 @@ -1181,7 +1181,7 @@ _080246D6: b _08024924 .align 2, 0 _080246DC: .4byte gLinkEntity -_080246E0: .4byte gUnk_03003F80 +_080246E0: .4byte gLinkState _080246E4: ldr r1, [r5, #0x54] adds r0, r5, #0 @@ -1205,7 +1205,7 @@ _080246F6: strb r0, [r6] ldr r0, [r5, #0x54] adds r1, r5, #0 - bl sub_0806FA24 + bl CopyPosition ldrh r0, [r5, #0x36] subs r0, #0xe strh r0, [r5, #0x36] @@ -1230,7 +1230,7 @@ _08024736: ldr r1, [r5, #0x54] str r1, [r4, #0x54] adds r0, r4, #0 - bl sub_0806FA24 + bl CopyPosition str r4, [r5, #0x54] b _08024924 _0802474C: @@ -1498,7 +1498,7 @@ _0802493C: .4byte gLinkEntity sub_08024940: @ 0x08024940 push {r4, r5, lr} adds r4, r0, #0 - bl sub_08000E50 + bl Random adds r5, r0, #0 movs r0, #0x70 ands r5, r0 @@ -1677,7 +1677,7 @@ _08024A9E: bl sub_08049FA0 cmp r0, #0 bne _08024ABA - bl sub_08000E50 + bl Random movs r1, #3 ands r1, r0 cmp r1, #0 @@ -1714,7 +1714,7 @@ sub_08024AD8: @ 0x08024AD8 ands r0, r2 cmp r0, #3 bne _08024B12 - ldr r0, _08024B0C @ =gUnk_03003F80 + ldr r0, _08024B0C @ =gLinkState ldrb r0, [r0, #0xf] cmp r0, #0 bne _08024B10 @@ -1726,7 +1726,7 @@ sub_08024AD8: @ 0x08024AD8 movs r0, #0 b _08024B34 .align 2, 0 -_08024B0C: .4byte gUnk_03003F80 +_08024B0C: .4byte gLinkState _08024B10: movs r1, #1 _08024B12: @@ -1756,7 +1756,7 @@ sub_08024B38: @ 0x08024B38 push {r4, r5, r6, r7, lr} adds r5, r0, #0 movs r7, #0 - ldr r0, _08024B5C @ =gUnk_03003F80 + ldr r0, _08024B5C @ =gLinkState ldrb r3, [r0, #0xf] adds r2, r3, #0 adds r1, r0, #0 @@ -1772,7 +1772,7 @@ sub_08024B38: @ 0x08024B38 strb r0, [r1, #0xf] b _08024B62 .align 2, 0 -_08024B5C: .4byte gUnk_03003F80 +_08024B5C: .4byte gLinkState _08024B60: strb r7, [r1, #0xf] _08024B62: @@ -2054,7 +2054,7 @@ _08024D60: ldrb r0, [r1] adds r0, #1 strb r0, [r1] - bl sub_08000E50 + bl Random movs r1, #0xf ands r0, r1 adds r0, #0x20 @@ -2094,7 +2094,7 @@ _08024DAE: cmp r0, #0 bne _08024DCE strb r0, [r1] - bl sub_08000E50 + bl Random movs r1, #0x1f ands r0, r1 adds r0, #0x20 @@ -2162,7 +2162,7 @@ _08024E30: .4byte gUnk_080CBF18 thumb_func_start sub_08024E34 sub_08024E34: @ 0x08024E34 push {lr} - bl sub_08000E50 + bl Random movs r1, #0x3c ands r1, r0 lsrs r1, r1, #2 @@ -2192,7 +2192,7 @@ sub_08024E4C: @ 0x08024E4C bl sub_0807953C cmp r0, #0 beq _08024E84 - bl sub_08000E50 + bl Random adds r3, r4, #0 adds r3, #0x84 ldrb r2, [r3] @@ -2240,7 +2240,7 @@ _08024EC8: .4byte gUnk_02002A40 _08024ECC: ldr r6, _08024F48 @ =gLinkEntity bl sub_08077B2C - ldr r2, _08024F4C @ =gUnk_03003F80 + ldr r2, _08024F4C @ =gLinkState ldr r0, [r2, #0x30] movs r1, #0x80 lsls r1, r1, #1 @@ -2299,13 +2299,13 @@ _08024F46: pop {r4, r5, r6, r7, pc} .align 2, 0 _08024F48: .4byte gLinkEntity -_08024F4C: .4byte gUnk_03003F80 +_08024F4C: .4byte gLinkState thumb_func_start sub_08024F50 sub_08024F50: @ 0x08024F50 push {r4, r5, r6, lr} adds r6, r0, #0 - ldr r2, _08024FDC @ =gUnk_03003F80 + ldr r2, _08024FDC @ =gLinkState movs r4, #0 strb r4, [r2, #0xa] ldr r0, [r2, #0x30] @@ -2315,7 +2315,7 @@ sub_08024F50: @ 0x08024F50 ldr r5, _08024FE4 @ =gLinkEntity adds r0, r6, #0 adds r1, r5, #0 - bl sub_0806FA24 + bl CopyPosition movs r0, #1 strb r0, [r5, #0xc] ldrb r0, [r5, #0x10] @@ -2372,7 +2372,7 @@ sub_08024F50: @ 0x08024F50 strh r0, [r6, #0x24] pop {r4, r5, r6, pc} .align 2, 0 -_08024FDC: .4byte gUnk_03003F80 +_08024FDC: .4byte gLinkState _08024FE0: .4byte 0xFFFFFEFF _08024FE4: .4byte gLinkEntity @@ -2519,7 +2519,7 @@ _080250C2: strb r1, [r3] adds r0, r4, #0 adds r1, r2, #0 - bl sub_0806FA24 + bl CopyPosition _08025104: movs r0, #0xc3 lsls r0, r0, #1 @@ -2591,7 +2591,7 @@ sub_08025180: @ 0x08025180 adds r4, r0, #0 movs r0, #1 strb r0, [r4, #0xd] - bl sub_08000E50 + bl Random strb r0, [r4, #0xe] ldr r0, [r4, #0x4c] ldrb r0, [r0, #0x15] @@ -2659,7 +2659,7 @@ sub_080251FC: @ 0x080251FC movs r5, #0 movs r0, #0xf0 strb r0, [r1] - bl sub_08000E50 + bl Random movs r1, #0x1c ands r0, r1 strb r0, [r4, #0x15] @@ -2697,7 +2697,7 @@ _08025242: lsls r0, r0, #0x18 cmp r0, #0 bne _08025270 - bl sub_08000E50 + bl Random movs r1, #3 ands r0, r1 adds r0, #4 @@ -3162,12 +3162,12 @@ _080255D2: lsls r0, r0, #0x18 cmp r0, #0 bne _0802560C - bl sub_08000E50 + bl Random movs r1, #3 ands r0, r1 adds r0, #4 strb r0, [r5, #0xe] - bl sub_08000E50 + bl Random adds r4, r0, #0 movs r0, #0xf ands r4, r0 @@ -3274,14 +3274,14 @@ sub_080256B4: @ 0x080256B4 adds r5, r0, #0 movs r0, #1 strb r0, [r5, #0xc] - bl sub_08000E50 + bl Random movs r1, #3 ands r0, r1 adds r0, #4 strb r0, [r5, #0xe] movs r0, #0x1e strb r0, [r5, #0xf] - bl sub_08000E50 + bl Random ldrb r4, [r5, #0x15] adds r4, #7 movs r1, #7 @@ -3291,7 +3291,7 @@ sub_080256B4: @ 0x080256B4 movs r0, #0x1c ands r4, r0 strb r4, [r5, #0x15] - bl sub_08000E50 + bl Random ldr r2, _08025718 @ =gUnk_080CC000 movs r1, #0xf ands r1, r0 @@ -3302,7 +3302,7 @@ sub_080256B4: @ 0x080256B4 adds r0, #0x78 movs r4, #0 strh r1, [r0] - bl sub_08000E50 + bl Random movs r1, #0x18 bl __modsi3 lsls r0, r0, #1 @@ -3592,7 +3592,7 @@ _08025926: strb r0, [r4, #0xc] movs r0, #1 strb r0, [r4, #0xe] - bl sub_08000E50 + bl Random ldr r2, _08025948 @ =gUnk_080CC050 movs r1, #0xf ands r1, r0 @@ -4024,7 +4024,7 @@ sub_08025C60: @ 0x08025C60 bl sub_08049FA0 cmp r0, #0 bne _08025C80 - bl sub_08000E50 + bl Random movs r1, #1 ands r1, r0 cmp r1, #0 @@ -4033,7 +4033,7 @@ sub_08025C60: @ 0x08025C60 bl sub_08049EE4 b _08025C98 _08025C80: - bl sub_08000E50 + bl Random ldr r2, _08025C9C @ =gUnk_080CC0C2 movs r1, #7 ands r1, r0 @@ -4486,7 +4486,7 @@ _08025FE6: movs r1, #0x49 movs r2, #1 movs r3, #0 - bl sub_080A2988 + bl CreateObjectWithParent adds r1, r0, #0 cmp r1, #0 beq _08025FFC @@ -4500,7 +4500,7 @@ _08025FFC: movs r1, #0x49 movs r2, #3 movs r3, #0 - bl sub_080A2988 + bl CreateObjectWithParent adds r1, r0, #0 cmp r1, #0 beq _08026050 @@ -4614,7 +4614,7 @@ _080260D8: _080260E0: ldr r0, [r4, #0x54] adds r1, r4, #0 - bl sub_0806FA24 + bl CopyPosition b _08026106 _080260EA: bl sub_08078B48 @@ -4871,7 +4871,7 @@ sub_080262A8: @ 0x080262A8 ldrb r0, [r4, #0xb] cmp r0, #0 bne _080262EC - ldr r1, _080262E8 @ =gUnk_03003F80 + ldr r1, _080262E8 @ =gLinkState movs r0, #0x82 lsls r0, r0, #1 strh r0, [r1, #8] @@ -4881,7 +4881,7 @@ sub_080262A8: @ 0x080262A8 strb r5, [r0, #3] b _0802631A .align 2, 0 -_080262E8: .4byte gUnk_03003F80 +_080262E8: .4byte gLinkState _080262EC: adds r0, r4, #0 adds r0, #0x7c @@ -5038,7 +5038,7 @@ _08026404: adds r0, r4, #0 movs r1, #0x49 movs r3, #0 - bl sub_080A2988 + bl CreateObjectWithParent _08026410: pop {r4, r5, pc} .align 2, 0 @@ -5301,7 +5301,7 @@ _080265EE: strb r0, [r2] b _08026626 _08026608: - bl sub_08000E50 + bl Random ldr r2, _08026630 @ =gUnk_080CC24F movs r1, #7 ands r1, r0 @@ -5376,7 +5376,7 @@ _0802668C: ldrb r0, [r0, #4] cmp r0, #2 bne _080266B0 - bl sub_08000E50 + bl Random movs r1, #3 ands r1, r0 cmp r1, #0 @@ -5933,7 +5933,7 @@ _08026A98: movs r1, #0x15 movs r2, #0 movs r3, #0 - bl sub_080A2988 + bl CreateObjectWithParent adds r4, r0, #0 cmp r4, #0 beq _08026B4E @@ -6019,7 +6019,7 @@ _08026B4E: adds r0, r5, #0 adds r0, #0x7a strh r1, [r0] - bl sub_08000E50 + bl Random ldr r2, _08026BB4 @ =gUnk_080CC278 movs r1, #3 ands r1, r0 @@ -6038,7 +6038,7 @@ _08026B4E: movs r1, #0x49 movs r2, #0xa movs r3, #0 - bl sub_080A2988 + bl CreateObjectWithParent adds r4, r0, #0 cmp r4, #0 beq _08026BD4 @@ -8045,7 +8045,7 @@ _08027AC2: adds r0, r5, #0 movs r1, #0x49 movs r2, #9 - bl sub_080A2988 + bl CreateObjectWithParent ldr r0, _08027B3C @ =0x00000155 bl PlaySFX adds r0, r5, #0 @@ -8299,7 +8299,7 @@ sub_08027C9C: @ 0x08027C9C push {r4, r5, lr} adds r5, r0, #0 adds r4, r1, #0 - bl sub_08000E50 + bl Random ands r0, r4 cmp r0, #0 bne _08027D1E @@ -8321,7 +8321,7 @@ sub_08027C9C: @ 0x08027C9C ldrh r1, [r4, #0x2e] adds r0, r0, r1 strh r0, [r4, #0x2e] - bl sub_08000E50 + bl Random ldr r1, [r5, #0x48] ldrb r1, [r1, #6] lsls r1, r1, #1 @@ -8340,7 +8340,7 @@ sub_08027C9C: @ 0x08027C9C ldrh r1, [r4, #0x32] adds r0, r0, r1 strh r0, [r4, #0x32] - bl sub_08000E50 + bl Random ldr r1, [r5, #0x48] ldrb r1, [r1, #7] lsls r1, r1, #1 @@ -8365,7 +8365,7 @@ sub_08027D20: @ 0x08027D20 movs r1, #0x15 movs r2, #0 movs r3, #0 - bl sub_080A2988 + bl CreateObjectWithParent adds r4, r0, #0 cmp r4, #0 beq _08027D66 @@ -8628,7 +8628,7 @@ sub_08027EFC: @ 0x08027EFC bl sub_08049FA0 cmp r0, #0 bne _08027F32 - bl sub_08000E50 + bl Random movs r1, #0x30 ands r1, r0 cmp r1, #0 @@ -8806,7 +8806,7 @@ sub_0802805C: @ 0x0802805C bl sub_0807953C cmp r0, #0 beq _0802807E - bl sub_08000E50 + bl Random ldrb r2, [r5, #0xf] adds r2, #1 movs r1, #1 @@ -8830,7 +8830,7 @@ _0802808E: _08028098: .4byte gUnk_02002A40 _0802809C: bl sub_08077B2C - ldr r2, _08028104 @ =gUnk_03003F80 + ldr r2, _08028104 @ =gLinkState ldrb r1, [r2, #0x1a] movs r0, #0x80 orrs r0, r1 @@ -8879,14 +8879,14 @@ _080280F0: _08028102: pop {r4, r5, pc} .align 2, 0 -_08028104: .4byte gUnk_03003F80 +_08028104: .4byte gLinkState _08028108: .4byte gLinkEntity thumb_func_start sub_0802810C sub_0802810C: @ 0x0802810C push {r4, r5, lr} adds r4, r0, #0 - ldr r2, _08028198 @ =gUnk_03003F80 + ldr r2, _08028198 @ =gLinkState movs r1, #0 movs r0, #0x41 strb r0, [r2, #2] @@ -8956,7 +8956,7 @@ sub_0802810C: @ 0x0802810C _08028196: pop {r4, r5, pc} .align 2, 0 -_08028198: .4byte gUnk_03003F80 +_08028198: .4byte gLinkState _0802819C: .4byte gLinkEntity thumb_func_start sub_080281A0 @@ -9060,7 +9060,7 @@ sub_0802823C: @ 0x0802823C cmp r0, #0 beq _08028266 adds r0, r4, #0 - bl sub_0806FA24 + bl CopyPosition _08028266: pop {r4, pc} .align 2, 0 @@ -9389,7 +9389,7 @@ _080284B4: _080284D2: strb r1, [r4, #0xc] strh r2, [r4, #0x24] - bl sub_08000E50 + bl Random movs r1, #7 ands r0, r1 lsls r1, r0, #1 @@ -9408,7 +9408,7 @@ _080284F0: strb r0, [r3] movs r0, #0x80 strh r0, [r4, #0x24] - bl sub_08000E50 + bl Random movs r1, #7 ands r0, r1 lsls r1, r0, #1 @@ -9552,7 +9552,7 @@ sub_08028604: @ 0x08028604 ldrb r0, [r0] cmp r0, #1 bne _080286B0 - bl sub_08000E50 + bl Random ldr r2, _08028650 @ =gUnk_080CC7BC movs r1, #3 ands r1, r0 @@ -9565,7 +9565,7 @@ sub_08028604: @ 0x08028604 bl sub_08049FA0 cmp r0, #0 beq _08028658 - bl sub_08000E50 + bl Random ldr r2, _08028654 @ =gUnk_080CC7D0 movs r1, #7 ands r1, r0 @@ -9591,7 +9591,7 @@ _08028658: ldrb r0, [r6] cmp r0, #0 bne _08028684 - bl sub_08000E50 + bl Random ldr r2, _08028680 @ =gUnk_080CC7C0 movs r1, #0xf ands r1, r0 @@ -9603,7 +9603,7 @@ _08028658: .align 2, 0 _08028680: .4byte gUnk_080CC7C0 _08028684: - bl sub_08000E50 + bl Random ldr r2, _080286AC @ =gUnk_080CC7C0 movs r1, #7 ands r1, r0 diff --git a/asm/code_08028E40.s b/asm/code_08028E40.s index 8d4f88af..2deef728 100644 --- a/asm/code_08028E40.s +++ b/asm/code_08028E40.s @@ -518,7 +518,7 @@ sub_080291DC: @ 0x080291DC beq _08029204 b _08029228 _080291EC: - ldr r2, _080291FC @ =gUnk_080FD5A0 + ldr r2, _080291FC @ =gBombBagSizes ldr r1, _08029200 @ =gUnk_02002A40 adds r0, r1, #0 adds r0, #0xae @@ -527,10 +527,10 @@ _080291EC: adds r1, #0xac b _08029212 .align 2, 0 -_080291FC: .4byte gUnk_080FD5A0 +_080291FC: .4byte gBombBagSizes _08029200: .4byte gUnk_02002A40 _08029204: - ldr r2, _08029220 @ =gUnk_080FD5A4 + ldr r2, _08029220 @ =gQuiverSizes ldr r1, _08029224 @ =gUnk_02002A40 adds r0, r1, #0 adds r0, #0xaf @@ -545,7 +545,7 @@ _08029212: movs r0, #1 b _0802922A .align 2, 0 -_08029220: .4byte gUnk_080FD5A4 +_08029220: .4byte gQuiverSizes _08029224: .4byte gUnk_02002A40 _08029228: movs r0, #0 @@ -993,7 +993,7 @@ _08029572: _08029580: .4byte gUnk_02002A40 _08029584: bl sub_08077B2C - ldr r2, _08029600 @ =gUnk_03003F80 + ldr r2, _08029600 @ =gLinkState ldrb r1, [r2, #0x1a] movs r0, #0x80 orrs r0, r1 @@ -1052,7 +1052,7 @@ _08029584: _080295FE: pop {r4, r5, pc} .align 2, 0 -_08029600: .4byte gUnk_03003F80 +_08029600: .4byte gLinkState _08029604: .4byte gLinkEntity _08029608: .4byte gUnk_02002A40 _0802960C: .4byte gUnk_080CCC44 @@ -1174,7 +1174,7 @@ sub_080296C8: @ 0x080296C8 sub_080296D8: @ 0x080296D8 push {r4, r5, lr} adds r4, r0, #0 - ldr r2, _08029764 @ =gUnk_03003F80 + ldr r2, _08029764 @ =gLinkState movs r0, #0x41 strb r0, [r2, #2] ldr r0, [r2, #0x30] @@ -1244,7 +1244,7 @@ sub_080296D8: @ 0x080296D8 _08029762: pop {r4, r5, pc} .align 2, 0 -_08029764: .4byte gUnk_03003F80 +_08029764: .4byte gLinkState _08029768: .4byte gLinkEntity _0802976C: .4byte 0x0000FFFE diff --git a/asm/code_08029A94.s b/asm/code_08029A94.s index 8ba9aa40..bc233030 100644 --- a/asm/code_08029A94.s +++ b/asm/code_08029A94.s @@ -496,13 +496,13 @@ sub_08029E0C: @ 0x08029E0C ldr r0, _08029EE0 @ =gUnk_080CCDC8 adds r1, r1, r0 str r1, [sp] - bl sub_08000E50 + bl Random movs r1, #1 ands r1, r0 lsls r1, r1, #1 subs r1, #1 mov sl, r1 - bl sub_08000E50 + bl Random adds r1, r0, #0 movs r0, #0xf ands r0, r1 @@ -1057,14 +1057,14 @@ sub_0802A250: @ 0x0802A250 strb r1, [r5, #0xe] ldr r0, _0802A2A8 @ =0xFFFD0000 str r0, [r5, #0x20] - bl sub_08000E50 + bl Random ldr r1, _0802A2AC @ =gUnk_080CD03C movs r4, #3 ands r0, r4 adds r0, r0, r1 ldrb r0, [r0] strh r0, [r5, #0x24] - bl sub_08000E50 + bl Random ldr r1, _0802A2B0 @ =gUnk_080CD040 ands r0, r4 adds r0, r0, r1 @@ -1398,7 +1398,7 @@ sub_0802A4E4: @ 0x0802A4E4 adds r1, #0x38 movs r0, #3 strb r0, [r1] - bl sub_08000E50 + bl Random adds r1, r4, #0 adds r1, #0x7d strb r0, [r1] @@ -1618,7 +1618,7 @@ sub_0802A69C: @ 0x0802A69C push {r4, lr} adds r4, r0, #0 bl sub_0802A7D0 - ldr r2, _0802A6E4 @ =gUnk_03003F80 + ldr r2, _0802A6E4 @ =gLinkState ldrb r1, [r2, #0xa] movs r0, #0x80 orrs r1, r0 @@ -1651,7 +1651,7 @@ sub_0802A69C: @ 0x0802A69C subs r0, r2, #1 b _0802A6EE .align 2, 0 -_0802A6E4: .4byte gUnk_03003F80 +_0802A6E4: .4byte gLinkState _0802A6E8: .4byte gLinkEntity _0802A6EC: adds r0, r2, #1 @@ -1722,7 +1722,7 @@ _0802A768: ldr r1, _0802A784 @ =0xFFFE0000 adds r0, r0, r1 str r0, [r4, #0x34] - ldr r1, _0802A788 @ =gUnk_03003F80 + ldr r1, _0802A788 @ =gLinkState ldrb r0, [r1, #0xa] movs r2, #0x80 orrs r0, r2 @@ -1734,7 +1734,7 @@ _0802A780: pop {r4, pc} .align 2, 0 _0802A784: .4byte 0xFFFE0000 -_0802A788: .4byte gUnk_03003F80 +_0802A788: .4byte gLinkState thumb_func_start sub_0802A78C sub_0802A78C: @ 0x0802A78C @@ -1939,7 +1939,7 @@ sub_0802A8F4: @ 0x0802A8F4 sub_0802A8FC: @ 0x0802A8FC push {lr} adds r2, r0, #0 - ldr r0, _0802A914 @ =gUnk_03003F80 + ldr r0, _0802A914 @ =gLinkState ldrb r0, [r0, #0x1c] movs r1, #0xf ands r1, r0 @@ -1951,7 +1951,7 @@ sub_0802A8FC: @ 0x0802A8FC _0802A912: pop {pc} .align 2, 0 -_0802A914: .4byte gUnk_03003F80 +_0802A914: .4byte gLinkState thumb_func_start nullsub_143 nullsub_143: @ 0x0802A918 @@ -1981,7 +1981,7 @@ sub_0802A924: @ 0x0802A924 movs r4, #0 ldr r0, _0802A9A4 @ =0x0000FFD0 strh r0, [r7, #0x36] - bl sub_08000E50 + bl Random ands r0, r6 adds r1, r7, #0 adds r1, #0x80 diff --git a/asm/code_0802AE24.s b/asm/code_0802AE24.s index 3907cddb..ecb99917 100644 --- a/asm/code_0802AE24.s +++ b/asm/code_0802AE24.s @@ -66,7 +66,7 @@ _0802AE8A: beq _0802AEA8 adds r0, r1, #0 adds r1, r4, #0 - bl sub_0806FA24 + bl CopyPosition ldrb r1, [r4, #0x18] movs r0, #4 rsbs r0, r0, #0 @@ -426,7 +426,7 @@ _0802B10E: ldrb r0, [r4, #0xd] cmp r0, #1 bne _0802B12E - ldr r0, _0802B188 @ =gUnk_03003F80 + ldr r0, _0802B188 @ =gLinkState strb r1, [r0, #5] _0802B12E: adds r0, r4, #0 @@ -463,7 +463,7 @@ _0802B16C: movs r1, #0x20 movs r2, #0 movs r3, #0 - bl sub_080A2988 + bl CreateObjectWithParent adds r5, r0, #0 cmp r5, #0 beq _0802B190 @@ -473,7 +473,7 @@ _0802B16C: strb r0, [r1] b _0802B19E .align 2, 0 -_0802B188: .4byte gUnk_03003F80 +_0802B188: .4byte gLinkState _0802B18C: .4byte gUnk_080CD17C _0802B190: adds r0, r4, #0 @@ -529,7 +529,7 @@ _0802B1E2: beq _0802B1F6 adds r0, r1, #0 adds r1, r4, #0 - bl sub_0806FA24 + bl CopyPosition b _0802B200 _0802B1F6: movs r0, #2 diff --git a/asm/code_0802B234.s b/asm/code_0802B234.s index 49f03919..e743c215 100644 --- a/asm/code_0802B234.s +++ b/asm/code_0802B234.s @@ -144,7 +144,7 @@ sub_0802B2E0: @ 0x0802B2E0 movs r0, #0xe strb r0, [r4, #0xe] adds r0, r4, #0 - bl sub_0806FA24 + bl CopyPosition _0802B334: pop {r4, pc} .align 2, 0 @@ -373,7 +373,7 @@ sub_0802B4A8: @ 0x0802B4A8 movs r1, #0 movs r2, #0x60 movs r3, #0 - bl sub_080A2988 + bl CreateObjectWithParent adds r1, r0, #0 cmp r1, #0 beq _0802B4D0 @@ -747,7 +747,7 @@ sub_0802B7A4: @ 0x0802B7A4 bne _0802B7F4 movs r0, #1 strb r0, [r4, #0xc] - bl sub_08000E50 + bl Random ldr r2, _0802B7F8 @ =gUnk_080CD314 movs r1, #3 ands r1, r0 @@ -978,7 +978,7 @@ sub_0802B960: @ 0x0802B960 bl sub_08049FDC cmp r0, #0 beq _0802B986 - bl sub_08000E50 + bl Random movs r1, #7 ands r1, r0 cmp r1, #0 @@ -993,7 +993,7 @@ _0802B986: bl sub_08049FA0 cmp r0, #0 bne _0802B9A6 - bl sub_08000E50 + bl Random movs r1, #3 ands r1, r0 cmp r1, #0 @@ -1003,7 +1003,7 @@ _0802B986: adds r0, #4 b _0802B9AA _0802B9A6: - bl sub_08000E50 + bl Random _0802B9AA: movs r1, #0x18 ands r0, r1 @@ -1458,7 +1458,7 @@ sub_0802BCA8: @ 0x0802BCA8 ldrb r0, [r4, #0x14] strb r0, [r1, #0x14] adds r0, r4, #0 - bl sub_0806FA24 + bl CopyPosition _0802BCF0: ldrb r1, [r4, #0x14] adds r1, #4 @@ -1533,7 +1533,7 @@ sub_0802BD54: @ 0x0802BD54 bl sub_0804A720 movs r0, #1 strb r0, [r4, #0xc] - bl sub_08000E50 + bl Random adds r1, r4, #0 adds r1, #0x78 strb r0, [r1] @@ -1542,7 +1542,7 @@ sub_0802BD54: @ 0x0802BD54 adds r1, #1 movs r0, #0xff strb r0, [r1] - bl sub_08000E50 + bl Random movs r1, #0x18 ands r0, r1 strb r0, [r4, #0x15] @@ -1615,7 +1615,7 @@ sub_0802BDE0: @ 0x0802BDE0 _0802BDFE: movs r0, #1 strb r0, [r4, #0xc] - bl sub_08000E50 + bl Random movs r1, #0xf ands r0, r1 adds r0, #0xf @@ -1913,7 +1913,7 @@ _0802C01C: sub_0802C020: @ 0x0802C020 push {r4, r5, r6, lr} adds r5, r0, #0 - bl sub_08000E50 + bl Random adds r4, r0, #0 adds r0, r5, #0 bl sub_08049FA0 @@ -2229,7 +2229,7 @@ sub_0802C258: @ 0x0802C258 str r0, [r4, #0x20] movs r0, #2 strb r0, [r4, #0xe] - bl sub_08000E50 + bl Random adds r2, r0, #0 movs r0, #0x70 ands r2, r0 @@ -2462,7 +2462,7 @@ _0802C420: bge _0802C408 adds r0, r4, #0 bl sub_0802C62C - bl sub_08000E50 + bl Random movs r1, #0xff ands r0, r1 movs r2, #0x80 @@ -2496,7 +2496,7 @@ _0802C460: ble _0802C48C adds r0, r4, #0 bl sub_0802C62C - bl sub_08000E50 + bl Random movs r1, #0x7f ands r0, r1 movs r1, #0x80 @@ -2561,7 +2561,7 @@ _0802C4E0: _0802C4E4: movs r6, #0 _0802C4E6: - bl sub_08000E50 + bl Random adds r4, r0, #0 movs r0, #7 ands r4, r0 @@ -2606,7 +2606,7 @@ _0802C534: adds r1, r1, r0 ldrh r0, [r1] strh r0, [r5, #0x24] - bl sub_08000E50 + bl Random adds r4, r0, #0 movs r0, #7 ands r4, r0 @@ -2670,7 +2670,7 @@ _0802C5B2: ldrb r0, [r1] _0802C5B6: strb r0, [r5, #0x15] - bl sub_08000E50 + bl Random adds r4, r0, #0 movs r0, #7 ands r4, r0 @@ -3095,7 +3095,7 @@ sub_0802C8D8: @ 0x0802C8D8 movs r0, #0x3c strb r0, [r5, #0xe] strb r4, [r5, #0xf] - bl sub_08000E50 + bl Random movs r1, #0x18 ands r0, r1 movs r1, #4 @@ -3246,7 +3246,7 @@ sub_0802C9D0: @ 0x0802C9D0 sub_0802CA10: @ 0x0802CA10 push {r4, lr} adds r4, r0, #0 - ldr r0, _0802CA30 @ =gUnk_03003F80 + ldr r0, _0802CA30 @ =gLinkState ldrb r0, [r0, #5] cmp r0, #5 beq _0802CA42 @@ -3260,7 +3260,7 @@ sub_0802CA10: @ 0x0802CA10 bl sub_0802CBC4 b _0802CA66 .align 2, 0 -_0802CA30: .4byte gUnk_03003F80 +_0802CA30: .4byte gLinkState _0802CA34: adds r0, r4, #0 bl sub_0802CC18 @@ -3431,7 +3431,7 @@ sub_0802CB68: @ 0x0802CB68 movs r0, #1 strb r0, [r5, #0xc] strb r1, [r5, #0xd] - bl sub_08000E50 + bl Random adds r2, r0, #0 movs r0, #0x18 ands r2, r0 @@ -3500,7 +3500,7 @@ _0802CBF0: movs r1, #0x20 movs r2, #0 movs r3, #0 - bl sub_080A2988 + bl CreateObjectWithParent adds r2, r0, #0 cmp r2, #0 beq _0802CC14 @@ -3631,7 +3631,7 @@ sub_0802CCE0: @ 0x0802CCE0 strb r0, [r4, #0xc] movs r0, #0x3c strb r0, [r4, #0xe] - bl sub_08000E50 + bl Random strb r0, [r4, #0xf] ldrb r1, [r4, #0x18] movs r0, #0x31 @@ -3648,7 +3648,7 @@ sub_0802CCE0: @ 0x0802CCE0 adds r1, #0x38 movs r0, #3 strb r0, [r1] - bl sub_08000E50 + bl Random adds r1, r4, #0 adds r1, #0x7a strb r0, [r1] @@ -3704,13 +3704,13 @@ _0802CD76: bne _0802CDC4 movs r0, #2 strb r0, [r5, #0xc] - bl sub_08000E50 + bl Random adds r4, r0, #0 lsrs r0, r4, #0x10 strb r0, [r5, #0xe] movs r0, #0xc0 strh r0, [r5, #0x24] - bl sub_08000E50 + bl Random ldr r2, _0802CDC0 @ =gUnk_080CD728 movs r1, #3 ands r1, r0 @@ -3794,7 +3794,7 @@ _0802CE3C: strb r0, [r4, #0xe] movs r0, #0x60 strh r0, [r4, #0x24] - bl sub_08000E50 + bl Random movs r1, #0x38 ands r0, r1 adds r0, #0x96 @@ -3813,7 +3813,7 @@ _0802CE58: sub_0802CE68: @ 0x0802CE68 push {r4, r5, lr} adds r4, r0, #0 - ldr r2, _0802CED4 @ =gUnk_03003F80 + ldr r2, _0802CED4 @ =gLinkState ldrb r1, [r2, #0xa] movs r0, #0x80 orrs r1, r0 @@ -3862,7 +3862,7 @@ _0802CEAC: strb r0, [r4, #0xe] b _0802CEF0 .align 2, 0 -_0802CED4: .4byte gUnk_03003F80 +_0802CED4: .4byte gLinkState _0802CED8: .4byte gLinkEntity _0802CEDC: movs r0, #1 @@ -3921,7 +3921,7 @@ _0802CF28: orrs r1, r0 strb r1, [r4, #0x18] _0802CF4A: - ldr r1, _0802CF60 @ =gUnk_03003F80 + ldr r1, _0802CF60 @ =gLinkState ldrb r0, [r1, #0xa] movs r2, #0x80 orrs r0, r2 @@ -3933,7 +3933,7 @@ _0802CF5A: pop {r4, pc} .align 2, 0 _0802CF5C: .4byte 0xFFFE0000 -_0802CF60: .4byte gUnk_03003F80 +_0802CF60: .4byte gLinkState thumb_func_start sub_0802CF64 sub_0802CF64: @ 0x0802CF64 @@ -3942,7 +3942,7 @@ sub_0802CF64: @ 0x0802CF64 bl sub_08049FA0 cmp r0, #0 beq _0802CF76 - bl sub_08000E50 + bl Random b _0802CF7E _0802CF76: adds r0, r4, #0 @@ -4148,7 +4148,7 @@ _0802D0F4: bl sub_0804A7D4 b _0802D148 _0802D104: - ldr r5, _0802D14C @ =gUnk_03003F80 + ldr r5, _0802D14C @ =gLinkState movs r0, #1 strb r0, [r5, #0x14] ldr r1, _0802D150 @ =gLinkEntity @@ -4182,7 +4182,7 @@ _0802D128: _0802D148: pop {r4, r5, pc} .align 2, 0 -_0802D14C: .4byte gUnk_03003F80 +_0802D14C: .4byte gLinkState _0802D150: .4byte gLinkEntity _0802D154: .4byte gUnk_080CD75C @@ -4312,7 +4312,7 @@ sub_0802D218: @ 0x0802D218 adds r0, r4, #0 movs r1, #0x67 movs r2, #2 - bl sub_080A2988 + bl CreateObjectWithParent _0802D254: pop {r4, r5, pc} .align 2, 0 @@ -4405,7 +4405,7 @@ _0802D2F8: ands r0, r1 cmp r0, #0 bne _0802D32E - bl sub_08000E50 + bl Random movs r1, #5 ands r1, r0 ldr r0, [r4] @@ -4676,7 +4676,7 @@ _0802D4D6: adds r0, #8 strb r3, [r0] _0802D52E: - ldr r0, _0802D540 @ =gUnk_03003F80 + ldr r0, _0802D540 @ =gLinkState adds r0, #0x8b movs r1, #3 strb r1, [r0] @@ -4685,7 +4685,7 @@ _0802D52E: bl sub_08004260 b _0802D63C .align 2, 0 -_0802D540: .4byte gUnk_03003F80 +_0802D540: .4byte gLinkState _0802D544: ldrb r0, [r4, #0xb] cmp r0, #1 @@ -4762,7 +4762,7 @@ _0802D5A8: strb r0, [r2] ldr r0, [r4, #0x50] adds r1, r4, #0 - bl sub_0806FA24 + bl CopyPosition adds r0, r4, #0 movs r1, #0x4f bl sub_08004260 @@ -4786,7 +4786,7 @@ _0802D5F6: strb r0, [r2] ldr r0, [r4, #0x50] adds r1, r4, #0 - bl sub_0806FA24 + bl CopyPosition adds r0, r4, #0 movs r1, #0x2d bl sub_080042AC @@ -4803,7 +4803,7 @@ _0802D61A: strb r0, [r2] ldr r0, [r4, #0x50] adds r1, r4, #0 - bl sub_0806FA24 + bl CopyPosition adds r0, r4, #0 movs r1, #0x50 bl sub_08004260 @@ -5038,7 +5038,7 @@ sub_0802D7B4: @ 0x0802D7B4 ldr r1, _0802D800 @ =gRoomControls ldr r0, _0802D804 @ =gLinkEntity str r0, [r1, #0x30] - ldr r0, _0802D808 @ =gUnk_03003F80 + ldr r0, _0802D808 @ =gLinkState adds r0, #0x8b strb r2, [r0] ldr r0, _0802D80C @ =gUnk_02034490 @@ -5050,7 +5050,7 @@ sub_0802D7B4: @ 0x0802D7B4 _0802D7FC: .4byte gUnk_080CD7F8 _0802D800: .4byte gRoomControls _0802D804: .4byte gLinkEntity -_0802D808: .4byte gUnk_03003F80 +_0802D808: .4byte gLinkState _0802D80C: .4byte gUnk_02034490 _0802D810: strb r1, [r5, #0xe] @@ -5202,7 +5202,7 @@ _0802D924: bne _0802D936 b _0802DB7E _0802D936: - ldr r0, _0802D948 @ =gUnk_03003F80 + ldr r0, _0802D948 @ =gLinkState movs r1, #1 strb r1, [r0, #0x14] adds r0, #0x3f @@ -5211,7 +5211,7 @@ _0802D936: b _0802DB7E .align 2, 0 _0802D944: .4byte gLinkEntity -_0802D948: .4byte gUnk_03003F80 +_0802D948: .4byte gLinkState _0802D94C: adds r0, r4, #0 adds r0, #0x5a @@ -5241,7 +5241,7 @@ _0802D97A: adds r0, r4, #0 movs r1, #0x67 movs r2, #0 - bl sub_080A2988 + bl CreateObjectWithParent ldrb r0, [r4, #0xe] adds r0, #1 strb r0, [r4, #0xe] @@ -5480,7 +5480,7 @@ _0802DB20: str r1, [r0] ldr r1, [r4, #0x54] adds r0, r4, #0 - bl sub_0806FA24 + bl CopyPosition b _0802D99C _0802DB64: ldr r1, _0802DB80 @ =gUnk_080CD810 @@ -5832,7 +5832,7 @@ sub_0802DDD8: @ 0x0802DDD8 ldrb r0, [r0] cmp r0, #2 bne _0802DE06 - bl sub_08000E50 + bl Random movs r1, #1 ands r1, r0 cmp r1, #0 @@ -5873,7 +5873,7 @@ _0802DE3E: movs r4, #1 strb r4, [r5, #0xb] strb r0, [r5, #0xf] - bl sub_08000E50 + bl Random ands r0, r4 cmp r0, #0 bne _0802DE58 @@ -6225,7 +6225,7 @@ sub_0802E0B8: @ 0x0802E0B8 bl sub_0806FC80 cmp r0, #0 beq _0802E0F4 - ldr r0, _0802E12C @ =gUnk_03003F80 + ldr r0, _0802E12C @ =gLinkState movs r1, #1 strb r1, [r0, #0x14] adds r0, #0x3f @@ -6258,7 +6258,7 @@ _0802E0F4: b _0802E1CA .align 2, 0 _0802E128: .4byte gLinkEntity -_0802E12C: .4byte gUnk_03003F80 +_0802E12C: .4byte gLinkState _0802E130: .4byte gUnk_080CD844 _0802E134: ldrb r1, [r4, #0x10] @@ -6372,7 +6372,7 @@ _0802E1F6: bl sub_0806FC80 cmp r0, #0 beq _0802E218 - ldr r0, _0802E284 @ =gUnk_03003F80 + ldr r0, _0802E284 @ =gLinkState movs r1, #1 strb r1, [r0, #0x14] adds r0, #0x3f @@ -6431,7 +6431,7 @@ _0802E23A: b _0802E2E4 .align 2, 0 _0802E280: .4byte gLinkEntity -_0802E284: .4byte gUnk_03003F80 +_0802E284: .4byte gLinkState _0802E288: .4byte gLCDControls _0802E28C: adds r4, r7, #0 @@ -6448,7 +6448,7 @@ _0802E29E: adds r0, r5, #0 movs r1, #0x67 movs r2, #1 - bl sub_080A2988 + bl CreateObjectWithParent ldrh r0, [r4] adds r0, #1 strh r0, [r4] @@ -6787,7 +6787,7 @@ sub_0802E518: @ 0x0802E518 mov sb, r0 ldr r1, [r0, #0x3c] ldr r0, [r1, #0x50] - bl sub_0806FA24 + bl CopyPosition mov r0, sb ldr r1, [r0, #0x3c] ldrb r0, [r0, #1] @@ -6837,7 +6837,7 @@ _0802E580: mov r2, sl adds r5, r2, r4 ldr r1, [r5] - bl sub_0806FA24 + bl CopyPosition add r4, sb ldrb r0, [r4, #0x19] lsls r0, r0, #4 @@ -7742,7 +7742,7 @@ sub_0802EBC4: @ 0x0802EBC4 _0802EC18: .4byte gUnk_080CD86C _0802EC1C: .4byte gUnk_080CD878 _0802EC20: - bl sub_08000E50 + bl Random adds r1, r0, #0 movs r5, #1 ands r1, r5 @@ -7983,7 +7983,7 @@ _0802EDE0: strb r0, [r1] adds r1, #0x34 strb r0, [r1] - bl sub_08000E50 + bl Random adds r1, r4, #0 adds r1, #0x78 strb r0, [r1] @@ -8035,13 +8035,13 @@ sub_0802EE38: @ 0x0802EE38 str r5, [r0, #0x50] movs r0, #1 strb r0, [r5, #0xc] - bl sub_08000E50 + bl Random adds r4, r0, #0 movs r1, #3 ands r0, r1 adds r0, #1 strb r0, [r5, #0xe] - bl sub_08000E50 + bl Random lsrs r0, r0, #8 adds r1, r5, #0 adds r1, #0x78 @@ -8193,7 +8193,7 @@ _0802EF5E: bl UpdateSpriteOrderAndFlip adds r0, r6, #0 adds r1, r4, #0 - bl sub_0806FA24 + bl CopyPosition _0802EF86: adds r5, #1 cmp r5, #6 @@ -8227,7 +8227,7 @@ _0802EFB4: .4byte gUnk_080CDE90 sub_0802EFB8: @ 0x0802EFB8 push {r4, r5, r6, r7, lr} adds r4, r0, #0 - bl sub_08000E50 + bl Random adds r6, r0, #0 lsrs r0, r6, #0x10 movs r1, #3 @@ -8486,7 +8486,7 @@ _0802F196: movs r0, #0xc0 b _0802F1B6 _0802F1A8: - bl sub_08000E50 + bl Random ldr r2, _0802F1DC @ =gUnk_080CDEF8 movs r1, #3 ands r1, r0 @@ -8554,14 +8554,14 @@ sub_0802F210: @ 0x0802F210 movs r0, #1 strb r0, [r5, #0xc] strb r4, [r5, #0xd] - bl sub_08000E50 + bl Random ldr r2, _0802F280 @ =gUnk_080CDEF8 movs r1, #3 ands r1, r0 adds r1, r1, r2 ldrb r0, [r1] strb r0, [r5, #0xe] - bl sub_08000E50 + bl Random movs r1, #0x1f ands r0, r1 ldrb r1, [r5, #0xe] @@ -8678,7 +8678,7 @@ sub_0802F300: @ 0x0802F300 bl sub_080AEF88 movs r0, #0x36 ldrsh r6, [r4, r0] - bl sub_08000E50 + bl Random adds r5, r0, #0 movs r0, #0xf ands r5, r0 @@ -8872,7 +8872,7 @@ _0802F472: strb r0, [r4, #0x15] b _0802F49E _0802F48A: - bl sub_08000E50 + bl Random movs r1, #0xf ands r1, r0 adds r1, #0x18 @@ -9237,7 +9237,7 @@ _0802F742: ldrb r0, [r2] adds r0, #1 strb r0, [r2] - bl sub_08000E50 + bl Random movs r1, #0x3f ands r0, r1 adds r0, #0x20 @@ -9346,7 +9346,7 @@ _0802F818: ldrb r0, [r2] adds r0, #1 strb r0, [r2] - bl sub_08000E50 + bl Random movs r1, #0x1f ands r0, r1 adds r0, #0x30 @@ -9473,7 +9473,7 @@ sub_0802F8E4: @ 0x0802F8E4 ldr r1, _0802F9BC @ =gRoomControls mov sb, r1 _0802F920: - bl sub_08000E50 + bl Random adds r4, r0, #0 ldr r2, [sp, #0xc] ldrh r5, [r2] @@ -10038,7 +10038,7 @@ _0802FD6A: ldrb r0, [r2] adds r0, #1 strb r0, [r2] - bl sub_08000E50 + bl Random movs r1, #0x3f ands r0, r1 adds r0, #0x1c @@ -10408,7 +10408,7 @@ _08030042: ldrb r0, [r2] adds r0, #1 strb r0, [r2] - bl sub_08000E50 + bl Random movs r1, #0x3f ands r0, r1 adds r0, #0x18 @@ -11309,7 +11309,7 @@ sub_080306C4: @ 0x080306C4 beq _080307CC movs r0, #0 mov r8, r0 - bl sub_08000E50 + bl Random movs r1, #7 ands r1, r0 cmp r1, #0 @@ -11338,7 +11338,7 @@ _0803072A: mov r7, r8 cmp r7, #0 bne _08030746 - bl sub_08000E50 + bl Random movs r1, #2 ands r1, r0 subs r1, #1 @@ -11514,7 +11514,7 @@ sub_0803086C: @ 0x0803086C bne _08030880 b _0803099C _08030880: - ldr r0, _08030928 @ =gUnk_03003F80 + ldr r0, _08030928 @ =gLinkState ldr r0, [r0, #0x30] movs r1, #0x80 ands r0, r1 @@ -11595,7 +11595,7 @@ _0803088E: movs r0, #1 b _0803099E .align 2, 0 -_08030928: .4byte gUnk_03003F80 +_08030928: .4byte gLinkState _0803092C: .4byte gRoomControls _08030930: .4byte 0x00004049 _08030934: .4byte gLinkEntity @@ -12335,7 +12335,7 @@ sub_08030E80: @ 0x08030E80 beq _08030EC0 adds r0, r6, #0 adds r1, r4, #0 - bl sub_0806FA24 + bl CopyPosition ldr r1, _08030EFC @ =gUnk_080CE2F4 adds r0, r5, r1 ldrb r0, [r0] @@ -12362,7 +12362,7 @@ _08030EC0: beq _08030EFA adds r0, r6, #0 adds r1, r4, #0 - bl sub_0806FA24 + bl CopyPosition ldr r1, _08030EFC @ =gUnk_080CE2F4 adds r0, r5, #2 adds r0, r0, r1 @@ -13243,7 +13243,7 @@ _0803151E: .align 2, 0 _08031574: .4byte gUnk_020000B0 _08031578: - bl sub_08000E50 + bl Random movs r1, #1 ands r1, r0 cmp r1, #0 @@ -13317,7 +13317,7 @@ sub_08031600: @ 0x08031600 adds r4, r0, #0 movs r0, #2 strb r0, [r4, #0xc] - bl sub_08000E50 + bl Random movs r1, #0x30 ands r0, r1 adds r0, #0x3c @@ -13327,7 +13327,7 @@ sub_08031600: @ 0x08031600 adds r1, r4, #0 adds r1, #0x7a strh r0, [r1] - bl sub_08000E50 + bl Random movs r1, #0x18 ands r0, r1 strb r0, [r4, #0x15] @@ -13478,7 +13478,7 @@ sub_08031714: @ 0x08031714 lsls r0, r0, #0x18 cmp r0, #0 bne _0803176E - bl sub_08000E50 + bl Random movs r1, #0xf ands r0, r1 adds r0, #0x10 @@ -13499,7 +13499,7 @@ _08031750: ldrb r0, [r4, #0x15] adds r0, #0x18 strb r0, [r4, #0x15] - bl sub_08000E50 + bl Random movs r1, #0xe ands r0, r1 ldrb r1, [r4, #0x15] @@ -13534,7 +13534,7 @@ _08031790: ldr r0, [r1, #0x54] cmp r0, #0 bne _080317AA - bl sub_08000E50 + bl Random movs r1, #0x7f ands r0, r1 movs r2, #0x80 @@ -13555,7 +13555,7 @@ _080317B2: sub_080317B4: @ 0x080317B4 push {r4, lr} adds r4, r0, #0 - bl sub_08000E50 + bl Random movs r1, #0x30 ands r1, r0 movs r2, #0xd @@ -13592,7 +13592,7 @@ sub_080317E0: @ 0x080317E0 sub_080317F8: @ 0x080317F8 push {r4, r5, r6, lr} adds r4, r0, #0 - bl sub_08000E50 + bl Random movs r1, #0x18 ands r0, r1 movs r5, #1 @@ -13635,7 +13635,7 @@ sub_08031840: @ 0x08031840 beq _08031862 adds r0, r5, #0 adds r1, r4, #0 - bl sub_0806FA24 + bl CopyPosition str r5, [r4, #0x50] str r4, [r5, #0x54] movs r0, #1 @@ -13821,7 +13821,7 @@ _080319AC: ldrb r0, [r1] cmp r0, #0 bne _080319DE - bl sub_08000E50 + bl Random adds r2, r4, #0 adds r2, #0x3e movs r1, #7 @@ -13966,7 +13966,7 @@ sub_08031AA0: @ 0x08031AA0 adds r1, r4, #0 adds r1, #0x76 strh r0, [r1] - bl sub_08000E50 + bl Random adds r4, #0x79 strb r0, [r4] pop {r4, pc} @@ -13988,7 +13988,7 @@ _08031AD8: bl sub_08049FDC cmp r0, #0 beq _08031B44 - bl sub_08000E50 + bl Random adds r5, r0, #0 adds r0, r6, #0 adds r0, #0x74 @@ -14061,7 +14061,7 @@ _08031B6C: beq _08031B90 movs r0, #3 strb r0, [r4, #0xc] - bl sub_08000E50 + bl Random ldr r2, _08031B94 @ =gUnk_080CE5B0 movs r1, #7 ands r1, r0 @@ -14159,7 +14159,7 @@ sub_08031C1C: @ 0x08031C1C beq _08031C50 movs r0, #1 strb r0, [r4, #0xc] - bl sub_08000E50 + bl Random ldr r2, _08031C54 @ =gUnk_080CE5B8 movs r1, #7 ands r1, r0 @@ -14197,7 +14197,7 @@ sub_08031C58: @ 0x08031C58 ldrb r0, [r0] cmp r0, #0x42 bhi _08031D66 - bl sub_08000E50 + bl Random adds r6, r0, #0 movs r0, #3 mov sb, r0 @@ -14435,7 +14435,7 @@ sub_08031E48: @ 0x08031E48 push {r4, r5, lr} adds r5, r0, #0 adds r4, r1, #0 - bl sub_0806FA24 + bl CopyPosition adds r0, r5, #0 adds r0, #0x6c ldrb r1, [r0] @@ -14505,7 +14505,7 @@ sub_08031EA8: @ 0x08031EA8 subs r0, r0, r1 lsls r0, r0, #1 strh r0, [r4, #0x36] - bl sub_08000E50 + bl Random adds r1, r4, #0 adds r1, #0x79 strb r0, [r1] @@ -14729,7 +14729,7 @@ _0803207C: bl sub_08049FA0 cmp r0, #0 bne _0803209E - bl sub_08000E50 + bl Random movs r1, #1 ands r1, r0 cmp r1, #0 @@ -14738,7 +14738,7 @@ _0803207C: bl sub_08049EE4 b _080320A6 _0803209E: - bl sub_08000E50 + bl Random movs r1, #0x1e ands r0, r1 _080320A6: @@ -14942,7 +14942,7 @@ sub_08032204: @ 0x08032204 beq _08032230 movs r0, #0 strb r0, [r2] - bl sub_08000E50 + bl Random movs r1, #0x30 ands r0, r1 adds r0, #0x1e @@ -15515,7 +15515,7 @@ _0803264E: sub_08032650: @ 0x08032650 push {r4, r5, lr} adds r4, r0, #0 - bl sub_08000E50 + bl Random adds r5, r0, #0 ldr r1, _08032680 @ =gUnk_080CE7E0 movs r0, #0xf @@ -15605,7 +15605,7 @@ _080326F8: sub_080326FC: @ 0x080326FC push {r4, lr} adds r4, r0, #0 - bl sub_08000E50 + bl Random ldr r2, _08032718 @ =gUnk_080CE7F0 movs r1, #0xf ands r1, r0 @@ -16429,7 +16429,7 @@ _08032CF0: ldrb r0, [r0] strb r0, [r4, #0x15] ldrb r5, [r4, #0x15] - bl sub_08000E50 + bl Random movs r1, #0x40 ands r1, r0 cmp r1, #0 @@ -16895,7 +16895,7 @@ sub_08033058: @ 0x08033058 strb r6, [r5, #0xc] adds r0, #0x80 strb r6, [r0] - bl sub_08000E50 + bl Random ldr r1, _080330A0 @ =gUnk_080CEA50 movs r4, #3 ands r0, r4 @@ -16906,14 +16906,14 @@ sub_08033058: @ 0x08033058 bl sub_08049FA0 cmp r0, #0 bne _080330A8 - bl sub_08000E50 + bl Random ands r0, r4 cmp r0, #0 beq _080330A8 adds r0, r5, #0 bl sub_08049EE4 adds r4, r0, #0 - bl sub_08000E50 + bl Random ldr r1, _080330A4 @ =gUnk_080CEA54 ands r0, r6 adds r0, r0, r1 @@ -16924,7 +16924,7 @@ sub_08033058: @ 0x08033058 _080330A0: .4byte gUnk_080CEA50 _080330A4: .4byte gUnk_080CEA54 _080330A8: - bl sub_08000E50 + bl Random _080330AC: movs r1, #0x18 ands r0, r1 @@ -16949,7 +16949,7 @@ sub_080330C0: @ 0x080330C0 ldrb r0, [r4, #0xa] cmp r0, #0 bne _080330E2 - bl sub_08000E50 + bl Random movs r1, #0x38 ands r0, r1 adds r0, #0x18 @@ -17017,7 +17017,7 @@ _08033150: adds r1, #0x83 movs r0, #0 strb r0, [r1] - bl sub_08000E50 + bl Random movs r1, #0x80 ands r0, r1 adds r1, r4, #0 @@ -17050,7 +17050,7 @@ sub_08033174: @ 0x08033174 ldrb r0, [r4, #0xa] cmp r0, #0 bne _080331A4 - bl sub_08000E50 + bl Random movs r1, #0x18 ands r0, r1 adds r0, #0x18 @@ -17069,7 +17069,7 @@ _080331A6: sub_080331B4: @ 0x080331B4 push {r4, lr} adds r4, r0, #0 - bl sub_08000E50 + bl Random adds r1, r0, #0 movs r0, #0xf0 ands r1, r0 @@ -17284,7 +17284,7 @@ sub_08033320: @ 0x08033320 beq _08033350 cmp r1, #2 beq _08033354 - bl sub_08000E50 + bl Random movs r1, #0x10 ands r1, r0 movs r0, #0x1c @@ -17375,7 +17375,7 @@ sub_080333D4: @ 0x080333D4 bne _0803340E movs r0, #1 strb r0, [r4, #0xc] - bl sub_08000E50 + bl Random movs r1, #0xf ands r0, r1 strb r0, [r4, #0xe] @@ -17480,7 +17480,7 @@ _080334E0: cmp r1, #0 beq _080334F6 adds r0, r4, #0 - bl sub_0806FA24 + bl CopyPosition _080334F6: bl sub_0805E780 _080334FA: @@ -17586,7 +17586,7 @@ _08033590: movs r0, #0x9f lsls r0, r0, #2 strh r0, [r1] - ldr r2, _080335DC @ =gUnk_03003F80 + ldr r2, _080335DC @ =gLinkState ldr r0, [r2, #0x30] movs r1, #0x80 lsls r1, r1, #7 @@ -17608,7 +17608,7 @@ _08033590: bl sub_0805E780 b _08033628 .align 2, 0 -_080335DC: .4byte gUnk_03003F80 +_080335DC: .4byte gLinkState _080335E0: .4byte gUnk_02002A40 _080335E4: adds r1, r4, #0 @@ -17641,7 +17641,7 @@ _080335EE: movs r0, #0xe strb r0, [r4, #0xe] adds r0, r4, #0 - bl sub_0806FA24 + bl CopyPosition _08033624: bl sub_0805E780 _08033628: @@ -17807,7 +17807,7 @@ _08033740: sub_08033744: @ 0x08033744 push {r4, r5, r6, lr} adds r6, r0, #0 - bl sub_08000E50 + bl Random adds r5, r0, #0 movs r0, #0xff ands r5, r0 @@ -18053,7 +18053,7 @@ sub_08033890: @ 0x08033890 _08033928: adds r0, r6, #0 adds r1, r4, #0 - bl sub_0806FA24 + bl CopyPosition str r4, [r6, #0x54] str r6, [r4, #0x50] ldrb r0, [r6, #0xa] @@ -18556,7 +18556,7 @@ _08033CD2: bl sub_08049F84 adds r0, #0x14 strb r0, [r4, #0x15] - bl sub_08000E50 + bl Random adds r1, r0, #0 movs r0, #3 ands r1, r0 @@ -18586,7 +18586,7 @@ _08033D2A: lsls r0, r0, #0x18 cmp r0, #0 bne _08033D76 - bl sub_08000E50 + bl Random movs r1, #0x1f ands r0, r1 adds r0, #0x20 @@ -18596,7 +18596,7 @@ _08033D2A: bl sub_08049F84 adds r0, #0x14 strb r0, [r4, #0x15] - bl sub_08000E50 + bl Random adds r1, r0, #0 movs r0, #3 ands r1, r0 @@ -18785,7 +18785,7 @@ _08033EA4: .4byte 0xFFF00000 sub_08033EA8: @ 0x08033EA8 push {lr} adds r2, r0, #0 - ldr r0, _08033EC4 @ =gUnk_03003F80 + ldr r0, _08033EC4 @ =gLinkState adds r0, #0xac ldrh r1, [r0] movs r0, #8 @@ -18797,7 +18797,7 @@ sub_08033EA8: @ 0x08033EA8 movs r0, #0x95 b _08033ECE .align 2, 0 -_08033EC4: .4byte gUnk_03003F80 +_08033EC4: .4byte gLinkState _08033EC8: adds r1, r2, #0 adds r1, #0x3f diff --git a/asm/code_08033FFC.s b/asm/code_08033FFC.s index dfa360b0..07efb727 100644 --- a/asm/code_08033FFC.s +++ b/asm/code_08033FFC.s @@ -156,7 +156,7 @@ _08034114: str r0, [r1, #0x30] adds r0, r3, #0 bl sub_08034420 - ldr r0, _08034148 @ =gUnk_03003F80 + ldr r0, _08034148 @ =gLinkState adds r0, #0x8b movs r1, #1 strb r1, [r0] @@ -168,7 +168,7 @@ _0803413E: .align 2, 0 _08034140: .4byte gRoomControls _08034144: .4byte gLinkEntity -_08034148: .4byte gUnk_03003F80 +_08034148: .4byte gLinkState thumb_func_start sub_0803414C sub_0803414C: @ 0x0803414C @@ -512,7 +512,7 @@ _080343C4: cmp r2, #0 bne _08034414 ldr r4, _08034418 @ =gUnk_080CED02 - bl sub_08000E50 + bl Random movs r1, #3 ands r1, r0 adds r1, r1, r4 @@ -679,7 +679,7 @@ _080344F8: ands r0, r1 cmp r0, #0 bne _0803450C - bl sub_08000E50 + bl Random movs r1, #1 ands r1, r0 cmp r1, #0 @@ -712,7 +712,7 @@ sub_0803451C: @ 0x0803451C bl sub_08034638 b _08034556 _0803453C: - bl sub_08000E50 + bl Random movs r1, #1 ands r1, r0 cmp r1, #0 @@ -731,7 +731,7 @@ _08034556: sub_08034558: @ 0x08034558 push {r4, lr} adds r4, r0, #0 - bl sub_08000E50 + bl Random movs r1, #1 ands r1, r0 cmp r1, #0 @@ -800,7 +800,7 @@ sub_080345D0: @ 0x080345D0 adds r4, r0, #0 movs r0, #6 strb r0, [r4, #0xc] - bl sub_08000E50 + bl Random movs r1, #1 ands r1, r0 cmp r1, #0 @@ -939,7 +939,7 @@ sub_080346C8: @ 0x080346C8 adds r0, r4, #0 adds r0, #0x7e strh r1, [r0] - bl sub_08000E50 + bl Random movs r1, #1 ands r1, r0 cmp r1, #0 @@ -1657,7 +1657,7 @@ _08034BFE: sub_08034C00: @ 0x08034C00 push {r4, lr} adds r3, r0, #0 - ldr r0, _08034C44 @ =gUnk_03003F80 + ldr r0, _08034C44 @ =gLinkState ldr r0, [r0, #0x30] movs r1, #0x80 ands r0, r1 @@ -1687,7 +1687,7 @@ sub_08034C00: @ 0x08034C00 bl sub_08080840 b _08034C5A .align 2, 0 -_08034C44: .4byte gUnk_03003F80 +_08034C44: .4byte gLinkState _08034C48: .4byte gRoomControls _08034C4C: .4byte gUnk_030010A0 _08034C50: .4byte gUnk_080CED88 @@ -1813,7 +1813,7 @@ sub_08034CC4: @ 0x08034CC4 str r1, [r5, #0x54] str r5, [r1, #0x50] adds r0, r5, #0 - bl sub_0806FA24 + bl CopyPosition _08034D42: pop {r4, r5, r6, pc} .align 2, 0 @@ -1842,7 +1842,7 @@ sub_08034D4C: @ 0x08034D4C adds r4, r0, #0 cmp r4, #0 beq _08034DBC - bl sub_08000E50 + bl Random movs r1, #5 bl __modsi3 adds r0, #0xc @@ -2043,7 +2043,7 @@ sub_08034EE4: @ 0x08034EE4 ands r0, r1 cmp r0, #0 bne _08034F46 - bl sub_08000E50 + bl Random adds r4, r0, #0 ldr r0, _08034F50 @ =gUnk_080CEEC8 movs r1, #3 @@ -2269,7 +2269,7 @@ _080350A0: .4byte gUnk_03003DBC _080350A4: ldr r4, _080350D8 @ =gUnk_030010D8 _080350A6: - bl sub_08000E50 + bl Random movs r1, #6 bl __modsi3 adds r6, r0, #0 @@ -2665,27 +2665,27 @@ _08035394: movs r1, #0x87 movs r2, #5 movs r3, #0 - bl sub_080A2988 + bl CreateObjectWithParent adds r0, r5, #0 movs r1, #0x87 movs r2, #5 movs r3, #1 - bl sub_080A2988 + bl CreateObjectWithParent adds r0, r5, #0 movs r1, #0x87 movs r2, #5 movs r3, #2 - bl sub_080A2988 + bl CreateObjectWithParent adds r0, r5, #0 movs r1, #0x87 movs r2, #5 movs r3, #3 - bl sub_080A2988 + bl CreateObjectWithParent adds r0, r5, #0 movs r1, #0x87 movs r2, #5 movs r3, #4 - bl sub_080A2988 + bl CreateObjectWithParent strb r6, [r5, #0xb] _080353D8: mov r1, sb @@ -2749,7 +2749,7 @@ _08035438: movs r1, #0x87 movs r2, #6 movs r3, #0 - bl sub_080A2988 + bl CreateObjectWithParent _08035450: ldrb r0, [r7] subs r0, #1 @@ -2818,7 +2818,7 @@ _080354DC: movs r1, #0x87 movs r2, #8 movs r3, #0 - bl sub_080A2988 + bl CreateObjectWithParent _080354E8: pop {r3, r4, r5} mov r8, r3 @@ -2906,7 +2906,7 @@ sub_08035578: @ 0x08035578 movs r1, #0x87 movs r2, #9 movs r3, #0 - bl sub_080A2988 + bl CreateObjectWithParent adds r1, r0, #0 cmp r1, #0 beq _08035592 @@ -2958,7 +2958,7 @@ sub_080355B4: @ 0x080355B4 ands r0, r1 cmp r0, #0 beq _080355FA - bl sub_08000E50 + bl Random movs r1, #3 ands r0, r1 ldrb r1, [r4] @@ -2971,7 +2971,7 @@ sub_080355B4: @ 0x080355B4 bne _08035616 b _08035614 _080355FA: - bl sub_08000E50 + bl Random movs r1, #3 ands r0, r1 ldrb r2, [r4] @@ -3220,7 +3220,7 @@ _080357E6: cmp r1, #0 beq _08035816 adds r0, r4, #0 - bl sub_0806FA24 + bl CopyPosition ldr r0, [r4, #0x54] str r4, [r0, #0x50] ldr r0, [r4, #0x54] @@ -3245,7 +3245,7 @@ _08035816: cmp r1, #0 beq _08035840 adds r0, r4, #0 - bl sub_0806FA24 + bl CopyPosition ldr r0, [r4, #0x54] str r4, [r0, #0x50] ldr r0, [r4, #0x54] @@ -3262,7 +3262,7 @@ _08035840: cmp r1, #0 beq _0803586A adds r0, r4, #0 - bl sub_0806FA24 + bl CopyPosition ldr r0, [r4, #0x54] str r4, [r0, #0x50] ldr r0, [r4, #0x54] @@ -3287,7 +3287,7 @@ _0803586E: strb r5, [r0, #0xb] ldr r1, [r4, #0x54] adds r0, r4, #0 - bl sub_0806FA24 + bl CopyPosition ldr r0, [r4, #0x54] str r4, [r0, #0x50] ldr r0, [r4, #0x54] @@ -4009,7 +4009,7 @@ _08035DC4: movs r1, #0x87 movs r2, #0 movs r3, #0 - bl sub_080A2988 + bl CreateObjectWithParent adds r1, r0, #0 str r1, [r5, #0x54] cmp r1, #0 @@ -4664,7 +4664,7 @@ _080362E6: movs r1, #0x87 movs r2, #4 movs r3, #0 - bl sub_080A2988 + bl CreateObjectWithParent b _08036300 _080362FA: subs r0, #1 @@ -4825,7 +4825,7 @@ _0803640C: bl sub_0806FC80 cmp r0, #0 beq _080364AA - ldr r2, _0803649C @ =gUnk_03003F80 + ldr r2, _0803649C @ =gLinkState ldr r1, [r2, #0x30] movs r0, #0x80 lsls r0, r0, #4 @@ -4882,7 +4882,7 @@ _0803640C: b _080364AA .align 2, 0 _08036498: .4byte gLinkEntity -_0803649C: .4byte gUnk_03003F80 +_0803649C: .4byte gLinkState _080364A0: .4byte gRoomControls _080364A4: ldr r0, _080364C4 @ =0xFFFFF7FF @@ -4899,7 +4899,7 @@ _080364AA: movs r1, #0x87 movs r2, #2 movs r3, #0 - bl sub_080A2988 + bl CreateObjectWithParent b _0803657A .align 2, 0 _080364C4: .4byte 0xFFFFF7FF @@ -5010,7 +5010,7 @@ _0803657A: _08036598: subs r2, r0, #1 strb r2, [r6] - ldr r0, _080365E4 @ =gUnk_03003F80 + ldr r0, _080365E4 @ =gLinkState ldr r1, [r0, #0x30] movs r0, #0x80 lsls r0, r0, #4 @@ -5046,7 +5046,7 @@ _08036598: adds r0, #0x30 b _080365F6 .align 2, 0 -_080365E4: .4byte gUnk_03003F80 +_080365E4: .4byte gLinkState _080365E8: .4byte gLinkEntity _080365EC: adds r0, r4, #0 @@ -5150,7 +5150,7 @@ _080366A0: movs r1, #0x87 movs r2, #3 movs r3, #0 - bl sub_080A2988 + bl CreateObjectWithParent _080366AC: pop {r4, r5, pc} .align 2, 0 @@ -6167,7 +6167,7 @@ _08036E3E: cmp r5, #4 bne _08036ECC str r2, [sp] - bl sub_08000E50 + bl Random movs r1, #3 mov sb, r1 ands r0, r1 @@ -6208,7 +6208,7 @@ _08036E8C: adds r0, r4, #0 adds r0, #0x7e strb r2, [r0] - bl sub_08000E50 + bl Random adds r1, r0, #0 mov r3, sb ands r1, r3 @@ -6671,7 +6671,7 @@ _080371F6: sub_080371F8: @ 0x080371F8 push {lr} adds r2, r0, #0 - ldr r0, _08037210 @ =gUnk_03003F80 + ldr r0, _08037210 @ =gLinkState ldrb r1, [r0, #0x1c] movs r0, #0xf ands r0, r1 @@ -6682,7 +6682,7 @@ sub_080371F8: @ 0x080371F8 _0803720E: pop {pc} .align 2, 0 -_08037210: .4byte gUnk_03003F80 +_08037210: .4byte gLinkState thumb_func_start nullsub_161 nullsub_161: @ 0x08037214 @@ -7127,7 +7127,7 @@ sub_08037558: @ 0x08037558 push {r4, lr} adds r4, r0, #0 bl sub_0804A720 - bl sub_08000E50 + bl Random movs r1, #3 ands r0, r1 movs r1, #0 @@ -7321,7 +7321,7 @@ sub_080376D0: @ 0x080376D0 cmp r0, #0 bne _0803773A bl sub_08077B2C - ldr r2, _08037724 @ =gUnk_03003F80 + ldr r2, _08037724 @ =gLinkState ldrb r1, [r2, #0x1a] movs r0, #0x80 orrs r1, r0 @@ -7353,7 +7353,7 @@ sub_080376D0: @ 0x080376D0 bl sub_08037A58 b _0803773A .align 2, 0 -_08037724: .4byte gUnk_03003F80 +_08037724: .4byte gLinkState _08037728: .4byte gLinkEntity _0803772C: ldrb r0, [r2] @@ -7436,7 +7436,7 @@ sub_080377B0: @ 0x080377B0 strb r0, [r4, #0xc] movs r0, #8 strb r0, [r4, #0xf] - bl sub_08000E50 + bl Random movs r1, #0x38 ands r0, r1 adds r0, #0x78 @@ -7445,7 +7445,7 @@ sub_080377B0: @ 0x080377B0 strh r0, [r1] movs r0, #0x40 strh r0, [r4, #0x24] - bl sub_08000E50 + bl Random adds r5, r0, #0 adds r0, r4, #0 bl sub_08049FA0 @@ -7704,7 +7704,7 @@ sub_080379BC: @ 0x080379BC strb r0, [r4, #0xe] movs r0, #8 strb r0, [r4, #0xf] - bl sub_08000E50 + bl Random movs r1, #2 ands r0, r1 ldrb r1, [r4, #0x14] @@ -7771,7 +7771,7 @@ sub_08037A14: @ 0x08037A14 strb r0, [r1] ldr r1, [r4, #0x4c] adds r0, r4, #0 - bl sub_0806FA24 + bl CopyPosition ldrb r1, [r4, #0x14] adds r1, #0xc adds r0, r4, #0 @@ -7841,7 +7841,7 @@ _08037A84: thumb_func_start sub_08037ACC sub_08037ACC: @ 0x08037ACC - ldr r3, _08037B04 @ =gUnk_03003F80 + ldr r3, _08037B04 @ =gLinkState ldr r1, [r3, #0x30] ldr r2, _08037B08 @ =0xFFFFFEFF ands r1, r2 @@ -7869,7 +7869,7 @@ sub_08037ACC: @ 0x08037ACC strh r0, [r1] bx lr .align 2, 0 -_08037B04: .4byte gUnk_03003F80 +_08037B04: .4byte gLinkState _08037B08: .4byte 0xFFFFFEFF _08037B0C: .4byte gLinkEntity @@ -8307,7 +8307,7 @@ sub_08037E14: @ 0x08037E14 bl sub_080AE4CC cmp r0, #0 beq _08037E78 - bl sub_08000E50 + bl Random movs r1, #0x18 ands r0, r1 strb r0, [r5, #0x15] @@ -8493,7 +8493,7 @@ _08037FB2: movs r0, #1 strb r0, [r5, #0xc] strb r4, [r5, #0xd] - bl sub_08000E50 + bl Random movs r1, #0x1f ands r0, r1 adds r0, #0x20 @@ -8572,7 +8572,7 @@ sub_08038048: @ 0x08038048 bl sub_080AEF88 movs r0, #0x36 ldrsh r6, [r4, r0] - bl sub_08000E50 + bl Random adds r5, r0, #0 movs r0, #0xf ands r5, r0 @@ -8732,7 +8732,7 @@ _0803817E: strb r0, [r4, #0x15] b _080381AA _08038196: - bl sub_08000E50 + bl Random movs r1, #0xf ands r1, r0 adds r1, #0x18 @@ -8967,7 +8967,7 @@ _08038334: ldrb r3, [r4, #0x15] cmp r0, r3 bne _08038398 - bl sub_08000E50 + bl Random movs r1, #2 ands r1, r0 subs r1, #1 @@ -9184,7 +9184,7 @@ sub_080384E0: @ 0x080384E0 movs r5, #1 movs r0, #1 strb r0, [r6, #0xc] - bl sub_08000E50 + bl Random movs r1, #0x1c ands r0, r1 strb r0, [r6, #0x15] @@ -9200,7 +9200,7 @@ sub_080384E0: @ 0x080384E0 adds r0, r6, #0 adds r0, #0x82 strb r4, [r0] - bl sub_08000E50 + bl Random ands r0, r5 adds r1, r6, #0 adds r1, #0x80 @@ -9337,7 +9337,7 @@ _08038604: b _08038638 _08038622: ldrb r5, [r4, #0x14] - bl sub_08000E50 + bl Random ands r0, r6 cmp r0, #0 beq _08038632 @@ -9809,7 +9809,7 @@ sub_08038984: @ 0x08038984 orrs r0, r1 strb r0, [r5, #0x10] str r6, [r5, #0x54] - bl sub_08000E50 + bl Random movs r1, #6 ands r0, r1 strb r0, [r5, #0x14] @@ -9883,7 +9883,7 @@ _08038A2E: cmp r0, #0 bne _08038A5C ldrb r5, [r6, #0x14] - bl sub_08000E50 + bl Random movs r1, #0x20 ands r1, r0 cmp r1, #0 @@ -10069,7 +10069,7 @@ sub_08038B90: @ 0x08038B90 sub_08038BA8: @ 0x08038BA8 push {r4, r5, lr} adds r4, r0, #0 - bl sub_08000E50 + bl Random ldr r1, _08038BEC @ =gUnk_080CF62C movs r5, #7 ands r0, r5 @@ -10139,7 +10139,7 @@ _08038C2A: sub_08038C2C: @ 0x08038C2C push {r4, r5, r6, lr} adds r5, r0, #0 - bl sub_08000E50 + bl Random ldr r1, _08038C58 @ =gUnk_080CF634 movs r6, #7 ands r0, r6 @@ -10159,7 +10159,7 @@ sub_08038C2C: @ 0x08038C2C .align 2, 0 _08038C58: .4byte gUnk_080CF634 _08038C5C: - bl sub_08000E50 + bl Random ldr r1, _08038C80 @ =gUnk_080CF63C ands r0, r6 adds r0, r0, r1 @@ -10423,7 +10423,7 @@ sub_08038E18: @ 0x08038E18 movs r1, #4 orrs r0, r1 strb r0, [r2] - bl sub_08000E50 + bl Random movs r1, #0x1f ands r0, r1 strb r0, [r4, #0x15] @@ -10440,7 +10440,7 @@ _08038E70: bne _08038EA2 movs r0, #0x10 strb r0, [r4, #0xe] - bl sub_08000E50 + bl Random ldrb r3, [r4, #0x18] lsls r2, r3, #0x19 lsrs r2, r2, #0x1f @@ -10646,7 +10646,7 @@ _08039018: sub_0803901C: @ 0x0803901C push {r4, r5, lr} adds r4, r0, #0 - bl sub_08000E50 + bl Random adds r3, r0, #0 movs r5, #3 ands r5, r3 @@ -10700,11 +10700,11 @@ _0803906C: adds r0, r4, #0 movs r1, #1 bl sub_08004260 - bl sub_08000E50 + bl Random ands r0, r5 cmp r0, #0 beq _080390BC - bl sub_08000E50 + bl Random ands r5, r0 movs r1, #0xeb lsls r1, r1, #1 @@ -10728,7 +10728,7 @@ _080390BC: sub_080390C0: @ 0x080390C0 push {r4, r5, lr} adds r4, r0, #0 - bl sub_08000E50 + bl Random adds r5, r0, #0 adds r0, r4, #0 bl sub_08049FA0 @@ -10800,7 +10800,7 @@ sub_08039140: @ 0x08039140 adds r4, r0, #0 movs r0, #6 strb r0, [r4, #0xc] - bl sub_08000E50 + bl Random strb r0, [r4, #0xe] ldr r1, _08039174 @ =gLinkEntity adds r0, r4, #0 @@ -10877,7 +10877,7 @@ sub_080391B4: @ 0x080391B4 adds r4, r0, #0 cmp r4, #0 beq _0803920C - bl sub_08000E50 + bl Random movs r1, #0x17 ands r1, r0 lsls r1, r1, #2 @@ -11279,7 +11279,7 @@ sub_080394CC: @ 0x080394CC push {r4, lr} adds r4, r0, #0 bl sub_0804A720 - bl sub_08000E50 + bl Random movs r1, #3 ands r0, r1 movs r1, #0 @@ -11765,7 +11765,7 @@ sub_08039858: @ 0x08039858 bne _080398B8 movs r0, #0 strb r0, [r1] - bl sub_08000E50 + bl Random movs r1, #2 ands r1, r0 subs r1, #1 @@ -11802,7 +11802,7 @@ _080398BC: .4byte gUnk_080CF8F8 sub_080398C0: @ 0x080398C0 push {r4, r5, lr} adds r4, r0, #0 - bl sub_08000E50 + bl Random adds r5, r0, #0 ldrb r0, [r4, #0xa] cmp r0, #0 @@ -11861,7 +11861,7 @@ sub_0803992C: @ 0x0803992C ldrb r0, [r4, #0x14] lsls r0, r0, #3 strb r0, [r4, #0x15] - bl sub_08000E50 + bl Random ldr r2, _08039978 @ =gUnk_080CF900 movs r1, #0xf ands r1, r0 @@ -11910,7 +11910,7 @@ sub_0803998C: @ 0x0803998C strb r0, [r1] adds r1, #0x3e strb r0, [r1] - bl sub_08000E50 + bl Random ldr r2, _080399C0 @ =gUnk_080CF918 movs r1, #0xf ands r1, r0 @@ -11964,7 +11964,7 @@ sub_08039A00: @ 0x08039A00 push {r4, r5, lr} adds r4, r0, #0 adds r5, r1, #0 - bl sub_08000E50 + bl Random ldr r2, _08039A1C @ =gUnk_080CF928 movs r1, #3 ands r1, r0 @@ -12029,7 +12029,7 @@ sub_08039A70: @ 0x08039A70 strb r0, [r5, #0xc] movs r0, #0xe0 strh r0, [r5, #0x24] - bl sub_08000E50 + bl Random adds r4, r0, #0 ldr r1, _08039AB8 @ =gUnk_080CF92C movs r0, #3 @@ -12397,7 +12397,7 @@ _08039D4A: sub_08039D4C: @ 0x08039D4C push {lr} adds r2, r0, #0 - ldr r0, _08039D64 @ =gUnk_03003F80 + ldr r0, _08039D64 @ =gLinkState ldrb r1, [r0, #0x1c] movs r0, #0xf ands r0, r1 @@ -12408,7 +12408,7 @@ sub_08039D4C: @ 0x08039D4C _08039D62: pop {pc} .align 2, 0 -_08039D64: .4byte gUnk_03003F80 +_08039D64: .4byte gLinkState thumb_func_start nullsub_166 nullsub_166: @ 0x08039D68 @@ -12516,7 +12516,7 @@ _08039E28: _08039E30: .4byte 0x00004073 _08039E34: .4byte gRoomControls _08039E38: - ldr r0, _08039E6C @ =gUnk_03003F80 + ldr r0, _08039E6C @ =gLinkState ldr r0, [r0, #0x30] movs r1, #0x80 ands r0, r1 @@ -12541,7 +12541,7 @@ _08039E38: strb r0, [r5, #0xe] b _08039EC6 .align 2, 0 -_08039E6C: .4byte gUnk_03003F80 +_08039E6C: .4byte gLinkState _08039E70: .4byte gLinkEntity _08039E74: ldrb r1, [r5, #0xa] @@ -12555,7 +12555,7 @@ _08039E74: strb r0, [r2, #0xb] adds r0, r5, #0 adds r1, r2, #0 - bl sub_0806FA24 + bl CopyPosition adds r0, r5, #0 adds r0, #0x74 ldrh r0, [r0] @@ -15852,7 +15852,7 @@ sub_0803B724: @ 0x0803B724 beq _0803B78E movs r0, #1 strb r0, [r4, #0xb] - bl sub_08000E50 + bl Random ldr r2, _0803B790 @ =gUnk_080CFD1B ldrb r1, [r5, #0xa] adds r1, r1, r2 @@ -15892,7 +15892,7 @@ _0803B794: .4byte gRoomControls thumb_func_start sub_0803B798 sub_0803B798: @ 0x0803B798 - ldr r2, _0803B7F4 @ =gUnk_03003F80 + ldr r2, _0803B7F4 @ =gLinkState movs r1, #0 movs r0, #0x41 strb r0, [r2, #2] @@ -15939,7 +15939,7 @@ sub_0803B798: @ 0x0803B798 strb r0, [r1] bx lr .align 2, 0 -_0803B7F4: .4byte gUnk_03003F80 +_0803B7F4: .4byte gLinkState _0803B7F8: .4byte 0x0000FFEF _0803B7FC: .4byte gLinkEntity _0803B800: .4byte 0x0000FFF6 @@ -15966,7 +15966,7 @@ sub_0803B824: @ 0x0803B824 push {r4, r5, lr} adds r5, r0, #0 bl sub_08077B2C - ldr r2, _0803B864 @ =gUnk_03003F80 + ldr r2, _0803B864 @ =gLinkState ldrb r1, [r2, #0x1a] movs r0, #0x80 orrs r0, r1 @@ -15993,7 +15993,7 @@ sub_0803B824: @ 0x0803B824 strb r0, [r4] pop {r4, r5, pc} .align 2, 0 -_0803B864: .4byte gUnk_03003F80 +_0803B864: .4byte gLinkState _0803B868: .4byte gLinkEntity _0803B86C: .4byte gUnk_080CFD1D @@ -16009,7 +16009,7 @@ sub_0803B870: @ 0x0803B870 ands r0, r1 cmp r0, #0 beq _0803B8DC - ldr r0, _0803B8D4 @ =gUnk_03003F80 + ldr r0, _0803B8D4 @ =gLinkState ldr r0, [r0, #0x30] movs r1, #0x10 ands r0, r1 @@ -16046,7 +16046,7 @@ sub_0803B870: @ 0x0803B870 movs r0, #1 b _0803B8E6 .align 2, 0 -_0803B8D4: .4byte gUnk_03003F80 +_0803B8D4: .4byte gLinkState _0803B8D8: .4byte gLinkEntity _0803B8DC: adds r1, r4, #0 @@ -17156,7 +17156,7 @@ _0803C100: cmp r1, #0 beq _0803C116 adds r0, r5, #0 - bl sub_0806FA24 + bl CopyPosition _0803C116: subs r4, #1 _0803C118: @@ -17350,7 +17350,7 @@ _0803C26E: ands r2, r0 cmp r2, #0 bne _0803C28A - bl sub_08000E50 + bl Random movs r1, #0x10 ands r1, r0 cmp r1, #0 @@ -17503,7 +17503,7 @@ _0803C3A6: movs r0, #2 strb r0, [r4, #0xc] strh r1, [r4, #0x24] - bl sub_08000E50 + bl Random movs r1, #7 ands r0, r1 lsls r1, r0, #1 @@ -17522,7 +17522,7 @@ _0803C3C8: strb r0, [r2] movs r0, #0x80 strh r0, [r4, #0x24] - bl sub_08000E50 + bl Random movs r1, #7 ands r0, r1 lsls r1, r0, #1 @@ -17574,7 +17574,7 @@ sub_0803C400: @ 0x0803C400 ands r0, r2 cmp r0, #2 bhi _0803C450 - bl sub_08000E50 + bl Random movs r1, #0xc0 ands r1, r0 cmp r1, #0 @@ -17646,7 +17646,7 @@ sub_0803C4B0: @ 0x0803C4B0 ldrb r0, [r0] cmp r0, #1 bne _0803C54C - bl sub_08000E50 + bl Random ldr r1, _0803C4F0 @ =gUnk_080CFFA4 movs r7, #7 ands r0, r7 @@ -17659,7 +17659,7 @@ sub_0803C4B0: @ 0x0803C4B0 bl sub_08049FA0 cmp r0, #0 beq _0803C4F4 - bl sub_08000E50 + bl Random adds r4, r0, #0 movs r0, #6 ands r4, r0 @@ -17677,7 +17677,7 @@ _0803C4F4: ldrb r0, [r6] cmp r0, #0 bne _0803C520 - bl sub_08000E50 + bl Random ldr r2, _0803C51C @ =gUnk_080CFFAC movs r1, #0xf ands r1, r0 @@ -17689,7 +17689,7 @@ _0803C4F4: .align 2, 0 _0803C51C: .4byte gUnk_080CFFAC _0803C520: - bl sub_08000E50 + bl Random ldr r1, _0803C548 @ =gUnk_080CFFAC ands r0, r7 adds r0, r0, r1 @@ -18310,7 +18310,7 @@ sub_0803C97C: @ 0x0803C97C adds r1, #0x3f movs r0, #0x42 strb r0, [r1] - bl sub_08000E50 + bl Random movs r1, #1 ands r0, r1 adds r2, r4, #0 @@ -19200,7 +19200,7 @@ sub_0803D024: @ 0x0803D024 adds r0, #2 b _0803D04E _0803D03A: - bl sub_08000E50 + bl Random ldr r2, _0803D054 @ =gUnk_080D0458 movs r1, #7 ands r1, r0 @@ -19233,7 +19233,7 @@ sub_0803D058: @ 0x0803D058 strh r1, [r5, #0x24] b _0803D08A _0803D078: - bl sub_08000E50 + bl Random ldr r2, _0803D0A4 @ =gUnk_080D0468 movs r1, #3 ands r1, r0 @@ -19533,7 +19533,7 @@ _0803D2B0: cmp r0, #0 beq _0803D2D6 _0803D2C4: - bl sub_08000E50 + bl Random movs r1, #0x80 ands r1, r0 lsrs r1, r1, #3 @@ -19649,7 +19649,7 @@ _0803D384: cmp r0, #0 beq _0803D3B4 _0803D3A2: - bl sub_08000E50 + bl Random movs r1, #0x80 ands r1, r0 lsrs r1, r1, #3 @@ -19779,7 +19779,7 @@ _0803D478: bl sub_0803E028 cmp r0, #0 bne _0803D4D0 - bl sub_08000E50 + bl Random adds r5, r4, #0 adds r5, #0x81 ldrb r1, [r5] @@ -20166,7 +20166,7 @@ _0803D764: beq _0803D81C movs r0, #2 strb r0, [r2] - bl sub_08000E50 + bl Random movs r1, #0x3f ands r0, r1 adds r0, #0x40 @@ -20191,7 +20191,7 @@ _0803D78E: ldrb r0, [r5] cmp r0, #3 bhi _0803D7E4 - bl sub_08000E50 + bl Random movs r1, #0x10 ands r1, r0 cmp r1, #0 @@ -20199,7 +20199,7 @@ _0803D78E: ldrb r0, [r5] adds r0, #1 strb r0, [r5] - bl sub_08000E50 + bl Random movs r1, #0x3f ands r0, r1 adds r0, #0x40 @@ -20391,7 +20391,7 @@ _0803D918: adds r4, r0, #0 cmp r4, #0 beq _0803D968 - bl sub_08000E50 + bl Random ldr r1, _0803D96C @ =0x00003F3F ands r0, r1 movs r3, #0xff @@ -20963,7 +20963,7 @@ _0803DD74: sub_0803DD78: @ 0x0803DD78 push {r4, r5, lr} adds r4, r0, #0 - bl sub_08000E50 + bl Random movs r1, #0x7c ands r1, r0 lsrs r2, r1, #2 @@ -21114,7 +21114,7 @@ _0803DEA6: adds r1, #0x75 movs r0, #2 strb r0, [r1] - bl sub_08000E50 + bl Random movs r1, #1 ands r0, r1 adds r0, #2 @@ -21144,7 +21144,7 @@ sub_0803DEE0: @ 0x0803DEE0 push {r4, r5, lr} adds r4, r0, #0 movs r5, #2 - bl sub_08000E50 + bl Random movs r1, #0xf8 ands r1, r0 lsrs r2, r1, #3 @@ -21321,7 +21321,7 @@ sub_0803E028: @ 0x0803E028 ldrb r0, [r0] cmp r0, #2 beq _0803E046 - bl sub_08000E50 + bl Random movs r1, #1 ands r1, r0 cmp r1, #0 @@ -21470,7 +21470,7 @@ sub_0803E0DC: @ 0x0803E0DC .align 2, 0 _0803E154: .4byte gLinkEntity _0803E158: - ldr r2, _0803E178 @ =gUnk_03003F80 + ldr r2, _0803E178 @ =gLinkState ldr r0, [r2, #0x30] ldr r1, _0803E17C @ =0xFFFFFEFF ands r0, r1 @@ -21487,7 +21487,7 @@ _0803E16C: bl sub_0804AA30 pop {r4, r5, r6, pc} .align 2, 0 -_0803E178: .4byte gUnk_03003F80 +_0803E178: .4byte gLinkState _0803E17C: .4byte 0xFFFFFEFF _0803E180: .4byte gLinkEntity _0803E184: .4byte gUnk_080D0648 @@ -21686,7 +21686,7 @@ sub_0803E2D0: @ 0x0803E2D0 bgt _0803E30C movs r0, #4 strb r0, [r4, #0xc] - bl sub_08000E50 + bl Random movs r1, #0xf ands r0, r1 adds r0, #0xf @@ -21867,7 +21867,7 @@ sub_0803E444: @ 0x0803E444 push {r4, lr} adds r4, r0, #0 bl sub_08077B2C - ldr r2, _0803E478 @ =gUnk_03003F80 + ldr r2, _0803E478 @ =gLinkState ldrb r1, [r2, #0x1a] movs r0, #0x80 orrs r1, r0 @@ -21888,7 +21888,7 @@ sub_0803E444: @ 0x0803E444 strb r0, [r1] pop {r4, pc} .align 2, 0 -_0803E478: .4byte gUnk_03003F80 +_0803E478: .4byte gLinkState _0803E47C: .4byte gLinkEntity thumb_func_start sub_0803E480 @@ -22068,7 +22068,7 @@ sub_0803E580: @ 0x0803E580 movs r1, #1 orrs r0, r1 strb r0, [r5, #0x18] - bl sub_08000E50 + bl Random movs r1, #3 ands r0, r1 strb r0, [r5, #0x14] @@ -22467,7 +22467,7 @@ sub_0803E86C: @ 0x0803E86C _0803E898: movs r0, #1 strb r0, [r4, #0xc] - bl sub_08000E50 + bl Random ldr r2, _0803E8C8 @ =gUnk_080D0728 movs r1, #3 ands r1, r0 @@ -22493,7 +22493,7 @@ _0803E8C8: .4byte gUnk_080D0728 sub_0803E8CC: @ 0x0803E8CC push {r4, r5, lr} adds r4, r0, #0 - bl sub_08000E50 + bl Random adds r5, r0, #0 adds r0, r4, #0 bl sub_08049FA0 @@ -22541,7 +22541,7 @@ _0803E928: .4byte gUnk_080D0730 sub_0803E92C: @ 0x0803E92C push {r4, lr} adds r4, r0, #0 - bl sub_08000E50 + bl Random movs r1, #1 ands r1, r0 cmp r1, #0 @@ -23780,7 +23780,7 @@ sub_0803F248: @ 0x0803F248 push {r4, lr} adds r4, r0, #0 bl sub_0804A720 - bl sub_08000E50 + bl Random movs r2, #0x1e adds r1, r0, #0 ands r1, r2 @@ -23830,7 +23830,7 @@ sub_0803F2A4: @ 0x0803F2A4 beq _0803F2C0 movs r0, #2 strb r0, [r4, #0xc] - bl sub_08000E50 + bl Random movs r1, #0x60 ands r0, r1 adds r0, #0xa @@ -23872,7 +23872,7 @@ _0803F2D8: .align 2, 0 _0803F304: .4byte gUnk_020000B0 _0803F308: - bl sub_08000E50 + bl Random movs r1, #0x1f ands r0, r1 _0803F310: @@ -24158,7 +24158,7 @@ sub_0803F51C: @ 0x0803F51C sub_0803F528: @ 0x0803F528 push {r4, r5, lr} adds r4, r0, #0 - bl sub_08000E50 + bl Random adds r5, r0, #0 movs r0, #8 adds r1, r5, #0 @@ -24310,7 +24310,7 @@ sub_0803F630: @ 0x0803F630 beq _0803F64C movs r5, #0x3c _0803F64C: - bl sub_08000E50 + bl Random ldr r2, _0803F668 @ =gUnk_080D0980 movs r1, #3 ands r1, r0 @@ -24402,7 +24402,7 @@ sub_0803F6EC: @ 0x0803F6EC adds r0, r2, #0 adds r0, #0x45 ldrb r0, [r0] - ldr r3, _0803F730 @ =gUnk_03003F80 + ldr r3, _0803F730 @ =gLinkState cmp r0, #0 beq _0803F720 ldrb r1, [r2, #0x10] @@ -24432,7 +24432,7 @@ _0803F720: pop {pc} .align 2, 0 _0803F72C: .4byte gLinkEntity -_0803F730: .4byte gUnk_03003F80 +_0803F730: .4byte gLinkState _0803F734: .4byte 0x0000FFFE thumb_func_start sub_0803F738 @@ -24440,7 +24440,7 @@ sub_0803F738: @ 0x0803F738 push {r4, lr} adds r4, r0, #0 bl sub_08077B2C - ldr r2, _0803F768 @ =gUnk_03003F80 + ldr r2, _0803F768 @ =gLinkState ldrb r1, [r2, #0x1a] movs r0, #0x80 orrs r1, r0 @@ -24459,7 +24459,7 @@ sub_0803F738: @ 0x0803F738 strb r0, [r4] pop {r4, pc} .align 2, 0 -_0803F768: .4byte gUnk_03003F80 +_0803F768: .4byte gLinkState _0803F76C: .4byte gLinkEntity thumb_func_start sub_0803F770 @@ -24584,7 +24584,7 @@ sub_0803F818: @ 0x0803F818 ldrb r0, [r1] orrs r2, r0 strb r2, [r1] - bl sub_08000E50 + bl Random movs r1, #0x17 ands r0, r1 adds r0, #4 @@ -24640,7 +24640,7 @@ _0803F8C2: adds r4, #1 cmp r4, #5 bls _0803F8C2 - bl sub_08000E50 + bl Random adds r0, r5, #0 bl sub_080408EC movs r4, #0 @@ -24763,7 +24763,7 @@ _0803F998: cmp r0, #1 bhi _0803F9C8 str r3, [sp] - bl sub_08000E50 + bl Random movs r1, #0x7f ands r0, r1 adds r0, #0x40 @@ -24864,7 +24864,7 @@ _0803FA42: beq _0803FAAC str r7, [r6, #0x50] str r3, [sp] - bl sub_08000E50 + bl Random movs r5, #0xf ands r0, r5 ldr r1, _0803FAC4 @ =0x0000FFF9 @@ -24873,7 +24873,7 @@ _0803FA42: ldrh r1, [r6, #0x2e] adds r0, r0, r1 strh r0, [r6, #0x2e] - bl sub_08000E50 + bl Random ands r0, r5 adds r4, r4, r0 ldrh r0, [r6, #0x32] @@ -25164,8 +25164,8 @@ _0803FCA8: str r7, [r6, #0x50] adds r0, r7, #0 adds r1, r6, #0 - bl sub_0806FA24 - bl sub_08000E50 + bl CopyPosition + bl Random movs r5, #0xf ands r0, r5 ldr r1, _0803FD08 @ =0x0000FFF9 @@ -25174,7 +25174,7 @@ _0803FCA8: ldrh r1, [r6, #0x2e] adds r0, r0, r1 strh r0, [r6, #0x2e] - bl sub_08000E50 + bl Random ands r0, r5 adds r4, r4, r0 ldrh r0, [r6, #0x32] @@ -25313,7 +25313,7 @@ _0803FDDE: strb r0, [r4, #0xf] b _0803FDF0 _0803FDE4: - bl sub_08000E50 + bl Random movs r1, #0x20 ands r1, r0 lsrs r1, r1, #5 @@ -25710,7 +25710,7 @@ _080400C2: adds r5, r0, #0 cmp r5, #0 beq _08040120 - bl sub_08000E50 + bl Random ldr r1, _08040128 @ =0x00003F3F ands r0, r1 movs r3, #0xff @@ -25894,7 +25894,7 @@ _08040212: movs r0, #1 strb r0, [r4, #0xc] strb r5, [r4, #0xe] - bl sub_08000E50 + bl Random movs r1, #0x7f ands r0, r1 adds r0, #0x17 @@ -25929,7 +25929,7 @@ sub_08040268: @ 0x08040268 _08040286: ldr r0, [r4, #0x50] adds r1, r4, #0 - bl sub_0806FA24 + bl CopyPosition ldrb r2, [r4, #0xb] cmp r2, #1 beq _080402C6 @@ -25997,7 +25997,7 @@ _08040302: lsls r0, r0, #0x18 cmp r0, #0 bne _08040382 - bl sub_08000E50 + bl Random movs r1, #0x7f ands r0, r1 adds r0, #0x27 @@ -26020,7 +26020,7 @@ _0804032E: cmp r0, #0 beq _08040382 strb r2, [r5] - bl sub_08000E50 + bl Random movs r1, #0x7f ands r0, r1 adds r0, #0x17 @@ -26077,7 +26077,7 @@ sub_0804038C: @ 0x0804038C _080403AA: ldr r0, [r4, #0x50] adds r1, r4, #0 - bl sub_0806FA24 + bl CopyPosition ldr r0, [r4, #0x50] ldrb r0, [r0, #0x1e] cmp r0, #2 @@ -26130,7 +26130,7 @@ sub_080403EC: @ 0x080403EC _0804040A: ldr r0, [r4, #0x50] adds r1, r4, #0 - bl sub_0806FA24 + bl CopyPosition adds r0, r4, #0 bl sub_080042B8 pop {r4, pc} @@ -26224,7 +26224,7 @@ _080404A6: _080404BC: ldr r0, [r4, #0x50] adds r1, r4, #0 - bl sub_0806FA24 + bl CopyPosition adds r0, r4, #0 bl sub_08004274 pop {r4, pc} @@ -26363,7 +26363,7 @@ _080405BE: _080405C4: ldr r0, [r4, #0x50] adds r1, r4, #0 - bl sub_0806FA24 + bl CopyPosition _080405CC: pop {r4, pc} .align 2, 0 @@ -26422,7 +26422,7 @@ _08040626: _08040638: ldr r0, [r4, #0x50] adds r1, r4, #0 - bl sub_0806FA24 + bl CopyPosition adds r0, r4, #0 bl sub_08004274 pop {r4, pc} @@ -26440,7 +26440,7 @@ sub_08040648: @ 0x08040648 str r6, [r5, #0x50] adds r0, r6, #0 adds r1, r5, #0 - bl sub_0806FA24 + bl CopyPosition cmp r4, #2 bne _0804066E cmp r7, #0 @@ -26482,7 +26482,7 @@ sub_080406A0: @ 0x080406A0 mov r7, r8 push {r7} adds r5, r0, #0 - bl sub_08000E50 + bl Random mov r8, r0 movs r0, #0x30 mov r1, r8 @@ -26520,7 +26520,7 @@ sub_080406A0: @ 0x080406A0 _080406F0: .4byte gRoomControls _080406F4: .4byte gUnk_080D0B58 _080406F8: - bl sub_08000E50 + bl Random movs r1, #1 ands r1, r0 adds r6, r1, #1 @@ -26588,7 +26588,7 @@ sub_08040770: @ 0x08040770 mov r7, r8 push {r7} adds r7, r0, #0 - bl sub_08000E50 + bl Random mov r8, r0 movs r0, #0x38 mov r1, r8 @@ -26700,13 +26700,13 @@ _08040840: strb r0, [r4] b _0804087A _08040848: - bl sub_08000E50 + bl Random movs r1, #7 ands r0, r1 adds r0, #4 strb r0, [r4] ldrb r6, [r4] - bl sub_08000E50 + bl Random movs r1, #0x20 ands r1, r0 cmp r1, #0 @@ -26808,7 +26808,7 @@ _08040902: ldr r7, _08040930 @ =gUnk_080D0B74 movs r6, #0x3c _0804090E: - bl sub_08000E50 + bl Random ands r0, r6 lsrs r0, r0, #2 adds r0, r0, r7 @@ -26832,7 +26832,7 @@ _08040930: .4byte gUnk_080D0B74 sub_08040934: @ 0x08040934 push {r4, lr} adds r4, r0, #0 - bl sub_08000E50 + bl Random movs r1, #0x3e ands r1, r0 movs r2, #0 @@ -26859,7 +26859,7 @@ _08040958: movs r1, #5 bl __modsi3 strb r0, [r4] - bl sub_08000E50 + bl Random movs r1, #0xf8 ands r1, r0 lsrs r1, r1, #3 @@ -27031,7 +27031,7 @@ _08040AB0: ldrb r0, [r5] cmp r0, #0x8a bne _08040AC8 - ldr r0, _08040AD0 @ =gUnk_03003F80 + ldr r0, _08040AD0 @ =gLinkState adds r0, #0xa0 ldrb r0, [r0] cmp r0, #5 @@ -27044,7 +27044,7 @@ _08040AC8: pop {r4, r5, pc} .align 2, 0 _08040ACC: .4byte 0x00000127 -_08040AD0: .4byte gUnk_03003F80 +_08040AD0: .4byte gLinkState thumb_func_start sub_08040AD4 sub_08040AD4: @ 0x08040AD4 @@ -27503,7 +27503,7 @@ sub_08040E3C: @ 0x08040E3C push {r4, r5, lr} adds r4, r0, #0 bl sub_0804A720 - bl sub_08000E50 + bl Random movs r2, #0x1e adds r1, r0, #0 ands r1, r2 @@ -27590,7 +27590,7 @@ sub_08040EC8: @ 0x08040EC8 movs r0, #0x80 orrs r0, r1 strb r0, [r4, #0x10] - bl sub_08000E50 + bl Random adds r1, r4, #0 adds r1, #0x80 ldrb r2, [r1] @@ -27656,7 +27656,7 @@ sub_08040F38: @ 0x08040F38 bne _08040F94 movs r0, #6 strb r0, [r4, #0xc] - bl sub_08000E50 + bl Random movs r2, #0xe0 adds r1, r0, #0 ands r1, r2 @@ -27751,7 +27751,7 @@ sub_08041018: @ 0x08041018 lsls r0, r0, #0x18 cmp r0, #0 bne _08041042 - bl sub_08000E50 + bl Random movs r1, #0xf8 ands r0, r1 adds r0, #0xb4 @@ -27907,7 +27907,7 @@ sub_08041134: @ 0x08041134 beq _08041150 movs r5, #0x3c _08041150: - bl sub_08000E50 + bl Random ldr r2, _0804116C @ =gUnk_080D0E18 movs r1, #3 ands r1, r0 @@ -28003,7 +28003,7 @@ _08041200: movs r0, #1 b _08041224 _08041204: - ldr r0, _08041214 @ =gUnk_03003F80 + ldr r0, _08041214 @ =gLinkState ldr r0, [r0, #0x30] movs r1, #0x80 lsls r1, r1, #0x10 @@ -28012,7 +28012,7 @@ _08041204: beq _08041222 b _08041200 .align 2, 0 -_08041214: .4byte gUnk_03003F80 +_08041214: .4byte gLinkState _08041218: ldr r0, _08041228 @ =gUnk_02033A90 movs r1, #0xa @@ -28036,7 +28036,7 @@ sub_0804122C: @ 0x0804122C adds r4, r0, #0 ldr r0, [r4, #0x54] mov r8, r0 - bl sub_08000E50 + bl Random movs r6, #6 ands r6, r0 lsrs r5, r0, #8 @@ -28480,7 +28480,7 @@ _08041592: ldr r1, _080415C0 @ =gRoomControls ldr r0, _080415C4 @ =gLinkEntity str r0, [r1, #0x30] - ldr r0, _080415C8 @ =gUnk_03003F80 + ldr r0, _080415C8 @ =gLinkState adds r0, #0x8b movs r1, #1 strb r1, [r0] @@ -28489,7 +28489,7 @@ _08041592: _080415BC: .4byte gUnk_030010A0 _080415C0: .4byte gRoomControls _080415C4: .4byte gLinkEntity -_080415C8: .4byte gUnk_03003F80 +_080415C8: .4byte gLinkState _080415CC: adds r0, r4, #0 bl sub_08042004 @@ -28521,7 +28521,7 @@ sub_080415E8: @ 0x080415E8 lsls r0, r0, #0x18 cmp r0, #0 bne _08041614 - bl sub_08000E50 + bl Random movs r1, #1 ands r0, r1 adds r0, #1 @@ -28650,7 +28650,7 @@ sub_080416DC: @ 0x080416DC bne _08041748 movs r4, #1 strb r4, [r5, #0xd] - bl sub_08000E50 + bl Random ands r0, r4 cmp r0, #0 beq _08041716 @@ -28679,7 +28679,7 @@ _08041724: strb r1, [r2, #0xd] b _080417AA _08041734: - bl sub_08000E50 + bl Random movs r1, #1 ands r0, r1 adds r0, #1 @@ -29752,7 +29752,7 @@ _08041F8C: str r5, [r4, #0x50] adds r0, r5, #0 adds r1, r4, #0 - bl sub_0806FA24 + bl CopyPosition _08041FB6: cmp r6, #0 bne _08041FC4 @@ -29824,7 +29824,7 @@ sub_08042028: @ 0x08042028 adds r4, r0, #0 movs r5, #3 strb r5, [r4, #0xc] - bl sub_08000E50 + bl Random ldr r1, _0804204C @ =gUnk_080D0EA8 ands r0, r5 adds r0, r0, r1 @@ -29845,7 +29845,7 @@ sub_08042050: @ 0x08042050 adds r4, r0, #0 movs r0, #8 strb r0, [r4, #0xc] - bl sub_08000E50 + bl Random ldr r2, _08042078 @ =gUnk_080D0EAC movs r1, #3 ands r1, r0 @@ -30005,7 +30005,7 @@ _0804217A: ldrb r0, [r5, #0xc] cmp r0, #2 bne _080421AA - bl sub_08000E50 + bl Random movs r1, #1 ands r1, r0 cmp r1, #0 @@ -30046,7 +30046,7 @@ _080421C0: ldrb r0, [r6] cmp r0, #0 bne _080421FE - bl sub_08000E50 + bl Random movs r5, #1 ands r0, r5 cmp r0, #0 @@ -30102,7 +30102,7 @@ _08042228: ldrb r0, [r5] cmp r0, #0 bne _0804224E - bl sub_08000E50 + bl Random movs r1, #3 ands r1, r0 cmp r1, #0 @@ -30311,7 +30311,7 @@ sub_080423A4: @ 0x080423A4 _080423CC: .4byte gUnk_030010A0 _080423D0: .4byte gUnk_02002A40 _080423D4: - ldr r2, _08042420 @ =gUnk_03003F80 + ldr r2, _08042420 @ =gLinkState adds r0, r2, #0 adds r0, #0xa9 ldrb r0, [r0] @@ -30350,7 +30350,7 @@ _0804240A: _0804241C: pop {r4, pc} .align 2, 0 -_08042420: .4byte gUnk_03003F80 +_08042420: .4byte gLinkState _08042424: .4byte gLinkEntity thumb_func_start sub_08042428 @@ -30390,7 +30390,7 @@ _0804245C: adds r0, r4, #0 movs r1, #0xc bl sub_08004260 - bl sub_08000E50 + bl Random movs r1, #0x78 ands r0, r1 adds r0, #0x78 @@ -31376,7 +31376,7 @@ _08042B9C: beq _08042BBA ldr r0, [r5, #0x64] ldr r0, [r0, #0x10] - bl sub_0806FA24 + bl CopyPosition _08042BBA: ldrb r1, [r4, #0x10] movs r0, #0x7f @@ -31462,7 +31462,7 @@ sub_08042C34: @ 0x08042C34 strb r0, [r7, #0xf] movs r0, #1 strb r0, [r7, #0xd] - bl sub_08000E50 + bl Random movs r1, #6 ands r1, r0 ldr r0, _08042D14 @ =gUnk_080D12F8 @@ -31641,7 +31641,7 @@ _08042D8E: cmp r1, #0 beq _08042DB4 adds r0, r4, #0 - bl sub_0806FA24 + bl CopyPosition movs r0, #0xb3 lsls r0, r0, #1 bl PlaySFX @@ -31738,7 +31738,7 @@ _08042E4E: bne _08042EB2 movs r0, #4 strb r0, [r6, #0xd] - bl sub_08000E50 + bl Random movs r1, #0x38 ands r0, r1 adds r0, #0x28 @@ -31762,7 +31762,7 @@ _08042E4E: adds r3, #0x60 bl sub_080045D4 adds r4, r0, #0 - bl sub_08000E50 + bl Random ldr r2, _08042ED8 @ =gUnk_080D1304 movs r1, #7 ands r1, r0 @@ -31947,7 +31947,7 @@ sub_08042FD8: @ 0x08042FD8 beq _08043046 adds r0, r5, #0 adds r1, r4, #0 - bl sub_0806FA24 + bl CopyPosition ldrh r0, [r4, #0x36] subs r0, #0x18 movs r1, #0 @@ -33083,7 +33083,7 @@ _080437FC: str r2, [r7, #4] adds r0, r6, #0 adds r1, r2, #0 - bl sub_0806FA24 + bl CopyPosition movs r0, #0x52 movs r1, #2 bl CreateEnemy @@ -33105,7 +33105,7 @@ _080437FC: str r2, [r7, #8] adds r0, r6, #0 adds r1, r2, #0 - bl sub_0806FA24 + bl CopyPosition movs r0, #0x52 movs r1, #3 bl CreateEnemy @@ -33127,7 +33127,7 @@ _080437FC: str r2, [r7, #0xc] adds r0, r6, #0 adds r1, r2, #0 - bl sub_0806FA24 + bl CopyPosition movs r0, #0x52 movs r1, #4 bl CreateEnemy @@ -33147,7 +33147,7 @@ _080437FC: str r2, [r7, #0x10] adds r0, r6, #0 adds r1, r2, #0 - bl sub_0806FA24 + bl CopyPosition ldr r0, [r6, #0x50] str r0, [r7, #0x14] ldr r1, _08043930 @ =gUnk_080D135C @@ -33776,7 +33776,7 @@ _08043D78: ldr r0, [r5, #0x64] ldr r0, [r0, #0xc] adds r1, r4, #0 - bl sub_0806FA24 + bl CopyPosition ldr r1, [r5, #0x64] adds r1, #0x54 ldrh r0, [r4, #0x36] @@ -33805,7 +33805,7 @@ _08043DAC: .4byte gUnk_080D13E9 sub_08043DB0: @ 0x08043DB0 push {r4, r5, r6, lr} adds r5, r0, #0 - ldr r0, _08043E48 @ =gUnk_03003F80 + ldr r0, _08043E48 @ =gLinkState ldr r0, [r0, #0x30] movs r1, #0x80 ands r0, r1 @@ -33877,7 +33877,7 @@ _08043DFE: strh r1, [r0] b _08043E70 .align 2, 0 -_08043E48: .4byte gUnk_03003F80 +_08043E48: .4byte gLinkState _08043E4C: .4byte gRoomControls _08043E50: .4byte gUnk_080D13EC _08043E54: .4byte gUnk_030010A0 @@ -34153,7 +34153,7 @@ _0804401C: ldr r1, [r4, #0x64] ldr r0, [r1, #0x14] ldr r1, [r1, #0x10] - bl sub_0806FA24 + bl CopyPosition pop {r4, r5, r6, r7, pc} .align 2, 0 _08044070: .4byte gUnk_080D1400 @@ -34744,7 +34744,7 @@ sub_08044498: @ 0x08044498 ands r0, r2 lsls r0, r0, #6 orrs r4, r0 - ldr r0, _08044540 @ =gUnk_03003F80 + ldr r0, _08044540 @ =gLinkState adds r0, #0x92 ldrh r0, [r0] movs r1, #0xf0 @@ -34803,12 +34803,12 @@ _0804450C: cmp r1, #0 beq _0804454C ldr r0, _08044538 @ =gLinkEntity - bl sub_0806FA24 + bl CopyPosition b _0804454C .align 2, 0 _08044538: .4byte gLinkEntity _0804453C: .4byte gRoomControls -_08044540: .4byte gUnk_03003F80 +_08044540: .4byte gLinkState _08044544: adds r2, #5 adds r3, #1 @@ -34822,7 +34822,7 @@ _0804454C: sub_08044550: @ 0x08044550 push {r4, r5, r6, r7, lr} adds r6, r0, #0 - ldr r0, _080445A8 @ =gUnk_03003F80 + ldr r0, _080445A8 @ =gLinkState ldrb r1, [r0, #0x1c] movs r0, #0xf ands r0, r1 @@ -34864,7 +34864,7 @@ _08044570: bl sub_0806F69C b _080445BE .align 2, 0 -_080445A8: .4byte gUnk_03003F80 +_080445A8: .4byte gLinkState _080445AC: .4byte gLinkEntity _080445B0: .4byte gUnk_08126EE4 _080445B4: @@ -34886,7 +34886,7 @@ sub_080445C0: @ 0x080445C0 cmp r1, #0 beq _080445DA adds r0, r4, #0 - bl sub_0806FA24 + bl CopyPosition _080445DA: pop {r4, pc} @@ -36271,7 +36271,7 @@ sub_08044FF8: @ 0x08044FF8 adds r4, r0, #0 movs r0, #2 strb r0, [r4, #0xc] - bl sub_08000E50 + bl Random movs r1, #0x1f ands r0, r1 adds r0, #0x1e @@ -36314,14 +36314,14 @@ _0804504C: bl sub_08049FA0 cmp r0, #0 bne _0804507C - bl sub_08000E50 + bl Random ands r0, r4 cmp r0, #0 beq _0804507C adds r0, r5, #0 bl sub_08049EE4 adds r4, r0, #0 - bl sub_08000E50 + bl Random movs r1, #8 ands r0, r1 adds r0, #0xfc @@ -36331,7 +36331,7 @@ _0804504C: strb r4, [r5, #0x15] b _08045086 _0804507C: - bl sub_08000E50 + bl Random movs r1, #0x18 ands r0, r1 strb r0, [r5, #0x15] @@ -36444,7 +36444,7 @@ _08045142: beq _0804515A mov r0, r8 adds r1, r6, #0 - bl sub_0806FA24 + bl CopyPosition _0804515A: mov r0, r8 bl sub_0805E7BC @@ -36662,7 +36662,7 @@ sub_080452E4: @ 0x080452E4 adds r4, r0, #0 movs r0, #2 strb r0, [r4, #0xc] - bl sub_08000E50 + bl Random movs r1, #0x1f ands r0, r1 adds r0, #1 @@ -36701,14 +36701,14 @@ _08045330: bl sub_08049FA0 cmp r0, #0 bne _08045360 - bl sub_08000E50 + bl Random ands r0, r4 cmp r0, #0 beq _08045360 adds r0, r5, #0 bl sub_08049EE4 adds r4, r0, #0 - bl sub_08000E50 + bl Random movs r1, #8 ands r0, r1 adds r0, #0xfc @@ -36718,7 +36718,7 @@ _08045330: strb r4, [r5, #0x15] b _08045370 _08045360: - bl sub_08000E50 + bl Random movs r1, #0x18 ands r0, r1 strb r0, [r5, #0x15] @@ -36939,7 +36939,7 @@ _080454EE: beq _08045506 mov r0, r8 adds r1, r6, #0 - bl sub_0806FA24 + bl CopyPosition _08045506: mov r0, r8 bl sub_0805E7BC @@ -36968,12 +36968,12 @@ sub_08045524: @ 0x08045524 adds r4, r0, #0 cmp r4, #0xff beq _08045556 - bl sub_08000E50 + bl Random movs r1, #3 ands r1, r0 cmp r1, #0 bne _08045556 - bl sub_08000E50 + bl Random movs r1, #3 ands r0, r1 strb r0, [r5, #0xe] @@ -36986,7 +36986,7 @@ _08045556: strb r0, [r5, #0xe] b _080455A8 _08045562: - bl sub_08000E50 + bl Random movs r1, #3 ands r0, r1 strb r0, [r5, #0xe] @@ -36994,7 +36994,7 @@ _08045562: bl sub_08049FA0 cmp r0, #0 bne _0804559E - bl sub_08000E50 + bl Random movs r1, #3 ands r1, r0 cmp r1, #0 @@ -37002,7 +37002,7 @@ _08045562: adds r0, r5, #0 bl sub_08049EE4 adds r4, r0, #0 - bl sub_08000E50 + bl Random movs r1, #8 ands r0, r1 adds r0, #0xfc @@ -37013,7 +37013,7 @@ _08045596: strb r4, [r5, #0x15] b _080455A8 _0804559E: - bl sub_08000E50 + bl Random movs r1, #0x18 ands r0, r1 strb r0, [r5, #0x15] @@ -37146,7 +37146,7 @@ sub_08045678: @ 0x08045678 strb r0, [r5, #0xe] b _080456D4 _0804568E: - bl sub_08000E50 + bl Random movs r1, #3 ands r0, r1 strb r0, [r5, #0xe] @@ -37154,7 +37154,7 @@ _0804568E: bl sub_08049FA0 cmp r0, #0 bne _080456CA - bl sub_08000E50 + bl Random movs r1, #3 ands r1, r0 cmp r1, #0 @@ -37162,7 +37162,7 @@ _0804568E: adds r0, r5, #0 bl sub_08049EE4 adds r4, r0, #0 - bl sub_08000E50 + bl Random movs r1, #8 ands r0, r1 adds r0, #0xfc @@ -37172,7 +37172,7 @@ _0804568E: strb r4, [r5, #0x15] b _080456D4 _080456CA: - bl sub_08000E50 + bl Random movs r1, #0x18 ands r0, r1 strb r0, [r5, #0x15] @@ -37369,7 +37369,7 @@ sub_080457E4: @ 0x080457E4 ldrb r0, [r4, #0xb] strb r0, [r1, #0xb] adds r0, r4, #0 - bl sub_0806FA24 + bl CopyPosition b _0804585A .align 2, 0 _08045850: .4byte gTextBox @@ -37897,7 +37897,7 @@ sub_08045BC8: @ 0x08045BC8 subs r0, #8 strh r0, [r1, #0x36] _08045C16: - ldr r0, _08045C30 @ =gUnk_03003F80 + ldr r0, _08045C30 @ =gLinkState adds r0, #0x27 movs r1, #0xff strb r1, [r0] @@ -37909,7 +37909,7 @@ _08045C16: _08045C2C: pop {r4, pc} .align 2, 0 -_08045C30: .4byte gUnk_03003F80 +_08045C30: .4byte gLinkState _08045C34: .4byte 0x000001BB thumb_func_start nullsub_174 @@ -38158,7 +38158,7 @@ _08045E12: sub_08045E14: @ 0x08045E14 push {r4, lr} adds r4, r0, #0 - ldr r0, _08045E2C @ =gUnk_03003F80 + ldr r0, _08045E2C @ =gLinkState adds r0, #0x27 movs r1, #0xff strb r1, [r0] @@ -38169,7 +38169,7 @@ sub_08045E14: @ 0x08045E14 beq _08045E70 b _08045EBA .align 2, 0 -_08045E2C: .4byte gUnk_03003F80 +_08045E2C: .4byte gLinkState _08045E30: ldrb r0, [r4, #0xe] cmp r0, #0 @@ -38484,7 +38484,7 @@ _08046074: .4byte gUnk_080D1A3E sub_08046078: @ 0x08046078 push {r4, r5, r6, r7, lr} adds r7, r0, #0 - ldr r0, _08046114 @ =gUnk_03003F80 + ldr r0, _08046114 @ =gLinkState adds r0, #0x27 movs r1, #0 strb r1, [r0] @@ -38539,7 +38539,7 @@ _080460AE: cmp r1, #0 beq _08046102 adds r0, r7, #0 - bl sub_0806FA24 + bl CopyPosition movs r0, #0xc2 lsls r0, r0, #1 bl sub_08004488 @@ -38554,7 +38554,7 @@ _0804610C: bl sub_0804AA1C pop {r4, r5, r6, r7, pc} .align 2, 0 -_08046114: .4byte gUnk_03003F80 +_08046114: .4byte gLinkState _08046118: .4byte gUnk_080D1A4E _0804611C: .4byte gRoomControls _08046120: .4byte 0x000007A2 @@ -39162,7 +39162,7 @@ sub_080465C8: @ 0x080465C8 ldrh r0, [r0] cmp r0, #0 beq _080465F8 - ldr r1, _08046608 @ =gUnk_03003F80 + ldr r1, _08046608 @ =gLinkState movs r0, #1 strb r0, [r1, #0x14] _080465F8: @@ -39171,7 +39171,7 @@ _080465F8: _080465FC: .4byte gLinkEntity _08046600: .4byte gRoomControls _08046604: .4byte gUnk_02019EE0 -_08046608: .4byte gUnk_03003F80 +_08046608: .4byte gLinkState thumb_func_start sub_0804660C sub_0804660C: @ 0x0804660C @@ -39202,7 +39202,7 @@ sub_08046634: @ 0x08046634 cmp r1, #0 bne _08046650 ldr r4, _0804664C @ =gUnk_080D1AF4 - bl sub_08000E50 + bl Random movs r1, #3 ands r1, r0 adds r1, r1, r4 @@ -39211,7 +39211,7 @@ sub_08046634: @ 0x08046634 .align 2, 0 _0804664C: .4byte gUnk_080D1AF4 _08046650: - bl sub_08000E50 + bl Random adds r1, r0, #0 movs r0, #7 ands r1, r0 @@ -39236,7 +39236,7 @@ sub_08046668: @ 0x08046668 ldrb r0, [r5] cmp r0, #0xff beq _080466A0 - bl sub_08000E50 + bl Random ldr r2, _080466A4 @ =gUnk_080D1AF8 movs r1, #3 ands r1, r0 @@ -40350,7 +40350,7 @@ _08046EC6: strb r0, [r5, #0xe] movs r4, #1 strb r4, [r5, #0xf] - bl sub_08000E50 + bl Random ldr r1, _08046EF0 @ =gUnk_080D1B70 ands r0, r4 lsls r0, r0, #1 @@ -40400,7 +40400,7 @@ _08046F12: ands r0, r3 cmp r0, #0 bne _08046F58 - bl sub_08000E50 + bl Random movs r1, #0x38 ands r0, r1 adds r0, #0x78 @@ -40653,7 +40653,7 @@ _0804710A: adds r1, r4, #0 adds r1, #0x76 strh r0, [r1] - bl sub_08000E50 + bl Random ldr r2, _0804713C @ =gUnk_080D1BBC movs r1, #1 ands r1, r0 @@ -40787,7 +40787,7 @@ _080471EA: ldrh r0, [r0] cmp r0, r5 bls _08047234 - bl sub_08000E50 + bl Random adds r1, r0, #0 movs r0, #1 ands r1, r0 @@ -41299,7 +41299,7 @@ _080475CA: lsls r0, r0, #0x10 cmp r0, #0 bne _080475EE - bl sub_08000E50 + bl Random movs r1, #3 ands r1, r0 movs r0, #0x62 @@ -41463,7 +41463,7 @@ _08047700: lsls r0, r0, #0x10 cmp r0, #0 bne _08047724 - bl sub_08000E50 + bl Random movs r1, #3 ands r1, r0 movs r0, #0x62 @@ -41682,7 +41682,7 @@ _080478A0: adds r1, r4, #0 adds r1, #0x76 strh r0, [r1] - bl sub_08000E50 + bl Random ldr r2, _08047900 @ =gUnk_080D1BF0 movs r1, #1 ands r0, r1 @@ -41835,7 +41835,7 @@ _080479CC: bne _080479F4 movs r0, #0xf0 strh r0, [r1] - bl sub_08000E50 + bl Random movs r1, #3 ands r1, r0 movs r0, #0x62 @@ -42140,7 +42140,7 @@ sub_08047BF0: @ 0x08047BF0 adds r4, r0, #0 cmp r4, #0 beq _08047C74 - bl sub_08000E50 + bl Random movs r3, #0x1e adds r1, r0, #0 ands r1, r3 @@ -42330,7 +42330,7 @@ sub_08047D88: @ 0x08047D88 lsrs r0, r0, #6 cmp r0, #3 bne _08047DB0 - ldr r0, _08047DE8 @ =gUnk_03003F80 + ldr r0, _08047DE8 @ =gLinkState ldrb r0, [r0, #0x14] cmp r0, #0 bne _08047DE6 @@ -42350,7 +42350,7 @@ _08047DB0: bl sub_0806FCB8 cmp r0, #0 beq _08047DE6 - ldr r0, _08047DE8 @ =gUnk_03003F80 + ldr r0, _08047DE8 @ =gLinkState movs r1, #1 strb r1, [r0, #0x14] movs r1, #0x36 @@ -42364,7 +42364,7 @@ _08047DB0: _08047DE6: pop {r4, r5, pc} .align 2, 0 -_08047DE8: .4byte gUnk_03003F80 +_08047DE8: .4byte gLinkState _08047DEC: .4byte gLinkEntity thumb_func_start sub_08047DF0 @@ -42815,7 +42815,7 @@ _08048138: thumb_func_start sub_0804813C sub_0804813C: @ 0x0804813C push {lr} - bl sub_08000E50 + bl Random adds r2, r0, #0 movs r0, #7 ands r0, r2 @@ -42832,7 +42832,7 @@ sub_08048158: @ 0x08048158 push {r4, r5, r6, lr} adds r5, r0, #0 ldr r6, _08048174 @ =gUnk_080D1C44 - bl sub_08000E50 + bl Random lsls r4, r5, #1 adds r4, r4, r5 movs r1, #3 @@ -43631,7 +43631,7 @@ sub_080486F4: @ 0x080486F4 movs r1, #0x80 orrs r0, r1 strb r0, [r4, #0x10] - bl sub_08000E50 + bl Random movs r1, #0xb bl __modsi3 ldrb r1, [r4, #0x15] @@ -43780,7 +43780,7 @@ sub_0804882C: @ 0x0804882C movs r1, #0x80 orrs r0, r1 strb r0, [r4, #0x10] - bl sub_08000E50 + bl Random ldrb r1, [r4, #0x18] movs r0, #4 rsbs r0, r0, #0 @@ -44353,7 +44353,7 @@ _08048CBC: adds r1, #0x10 adds r0, r4, #0 bl sub_08004260 - bl sub_08000E50 + bl Random movs r1, #0x1c ands r1, r0 adds r0, r4, #0 @@ -45452,7 +45452,7 @@ _08049518: lsrs r0, r0, #0x18 cmp r0, #0x50 bne _08049534 - bl sub_08000E50 + bl Random movs r1, #3 ands r1, r0 movs r0, #0x62 @@ -45584,7 +45584,7 @@ sub_080495F8: @ 0x080495F8 strb r0, [r4, #0xd] movs r0, #0x2d strb r0, [r4, #0xe] - bl sub_08000E50 + bl Random ldr r2, _08049658 @ =gUnk_080D29B8 movs r1, #7 ands r1, r0 @@ -46021,7 +46021,7 @@ sub_08049944: @ 0x08049944 bl sub_0806FCB8 cmp r0, #0 beq _0804998C - ldr r2, _08049994 @ =gUnk_03003F80 + ldr r2, _08049994 @ =gLinkState movs r0, #1 strb r0, [r2, #0x14] movs r1, #0x36 @@ -46040,7 +46040,7 @@ _0804998C: pop {r4, r5, pc} .align 2, 0 _08049990: .4byte gLinkEntity -_08049994: .4byte gUnk_03003F80 +_08049994: .4byte gLinkState thumb_func_start sub_08049998 sub_08049998: @ 0x08049998 @@ -46174,7 +46174,7 @@ sub_08049A8C: @ 0x08049A8C lsls r1, r1, #0x18 cmp r1, #0 bne _08049AAA - bl sub_08000E50 + bl Random movs r1, #0xf ands r1, r0 cmp r1, #0 @@ -46207,7 +46207,7 @@ sub_08049AB0: @ 0x08049AB0 adds r4, r0, #0 cmp r4, #0 beq _08049B18 - bl sub_08000E50 + bl Random movs r3, #0x30 adds r1, r0, #0 ands r1, r3 @@ -46340,7 +46340,7 @@ _08049BB0: strb r0, [r4, #0xe] adds r0, r5, #0 adds r1, r4, #0 - bl sub_0806FA24 + bl CopyPosition b _08049C16 .align 2, 0 _08049BEC: .4byte gUnk_080D29E0 @@ -46356,7 +46356,7 @@ _08049BF0: beq _08049C16 adds r0, r5, #0 adds r1, r4, #0 - bl sub_0806FA24 + bl CopyPosition ldrh r0, [r4, #0x32] adds r0, #0x10 strh r0, [r4, #0x32] @@ -46643,7 +46643,7 @@ _08049E14: .4byte gUnk_080D3BE8 thumb_func_start sub_08049E18 sub_08049E18: @ 0x08049E18 push {lr} - ldr r1, _08049E38 @ =gUnk_03003F80 + ldr r1, _08049E38 @ =gLinkState adds r0, r1, #0 adds r0, #0x3c ldrb r0, [r0] @@ -46659,7 +46659,7 @@ sub_08049E18: @ 0x08049E18 str r0, [r1] b _08049E4A .align 2, 0 -_08049E38: .4byte gUnk_03003F80 +_08049E38: .4byte gLinkState _08049E3C: .4byte 0x22189B75 _08049E40: .4byte gUnk_020000B0 _08049E44: .4byte gLinkEntity @@ -46671,7 +46671,7 @@ _08049E4A: thumb_func_start sub_08049E4C sub_08049E4C: @ 0x08049E4C push {lr} - ldr r1, _08049E6C @ =gUnk_03003F80 + ldr r1, _08049E6C @ =gLinkState adds r0, r1, #0 adds r0, #0x3c ldrb r0, [r0] @@ -46687,7 +46687,7 @@ sub_08049E4C: @ 0x08049E4C str r0, [r1] b _08049E7E .align 2, 0 -_08049E6C: .4byte gUnk_03003F80 +_08049E6C: .4byte gLinkState _08049E70: .4byte 0x22189BF5 _08049E74: .4byte gUnk_020000B0 _08049E78: .4byte gLinkEntity @@ -46699,7 +46699,7 @@ _08049E7E: thumb_func_start sub_08049E80 sub_08049E80: @ 0x08049E80 push {lr} - ldr r1, _08049E9C @ =gUnk_03003F80 + ldr r1, _08049E9C @ =gLinkState adds r0, r1, #0 adds r0, #0x3c ldrb r0, [r0] @@ -46714,7 +46714,7 @@ _08049E98: movs r0, #0 b _08049EA6 .align 2, 0 -_08049E9C: .4byte gUnk_03003F80 +_08049E9C: .4byte gLinkState _08049EA0: ldr r1, _08049EA8 @ =gUnk_020000B0 ldr r0, _08049EAC @ =gLinkEntity @@ -46728,7 +46728,7 @@ _08049EAC: .4byte gLinkEntity thumb_func_start sub_08049EB0 sub_08049EB0: @ 0x08049EB0 push {lr} - ldr r1, _08049ED0 @ =gUnk_03003F80 + ldr r1, _08049ED0 @ =gLinkState adds r0, r1, #0 adds r0, #0x3c ldrb r0, [r0] @@ -46744,7 +46744,7 @@ sub_08049EB0: @ 0x08049EB0 str r0, [r1] b _08049EE2 .align 2, 0 -_08049ED0: .4byte gUnk_03003F80 +_08049ED0: .4byte gLinkState _08049ED4: .4byte 0x00080190 _08049ED8: .4byte gUnk_020000B0 _08049EDC: .4byte gLinkEntity @@ -47795,7 +47795,7 @@ _0804A638: str r4, [r2, #0x50] adds r0, r4, #0 adds r1, r2, #0 - bl sub_0806FA24 + bl CopyPosition ldrb r1, [r4, #0x10] movs r0, #0x7f ands r0, r1 @@ -48089,7 +48089,7 @@ _0804A864: str r5, [r4, #0x54] adds r0, r5, #0 adds r1, r4, #0 - bl sub_0806FA24 + bl CopyPosition _0804A8CA: ldrb r1, [r6] movs r0, #8 @@ -48207,7 +48207,7 @@ sub_0804A98C: @ 0x0804A98C strb r5, [r4, #0xa] adds r0, r6, #0 adds r1, r4, #0 - bl sub_0806FA24 + bl CopyPosition _0804A9A8: adds r0, r4, #0 pop {r4, r5, r6, pc} diff --git a/asm/code_0804B058.s b/asm/code_0804B058.s index b9c1ac72..ce88fa6d 100644 --- a/asm/code_0804B058.s +++ b/asm/code_0804B058.s @@ -1082,7 +1082,7 @@ sub_0804B7A8: @ 0x0804B7A8 bl sub_0807CBD0 cmp r0, #0 beq _0804B7C8 - bl sub_08000E50 + bl Random movs r1, #3 bl __modsi3 adds r4, r0, #0 @@ -1145,7 +1145,7 @@ sub_0804B82C: @ 0x0804B82C bl sub_0807CBD0 cmp r0, #0 beq _0804B84A - bl sub_08000E50 + bl Random adds r4, r0, #0 movs r0, #1 ands r4, r0 @@ -1208,7 +1208,7 @@ sub_0804B8B0: @ 0x0804B8B0 bl sub_0807CBD0 cmp r0, #0 beq _0804B8D0 - bl sub_08000E50 + bl Random movs r1, #3 bl __modsi3 adds r4, r0, #0 diff --git a/asm/code_0804B9F8.s b/asm/code_0804B9F8.s index 56664181..f9d86636 100644 --- a/asm/code_0804B9F8.s +++ b/asm/code_0804B9F8.s @@ -7226,7 +7226,7 @@ _0804E3DE: beq _0804E3EA movs r6, #3 _0804E3EA: - bl sub_08000E50 + bl Random adds r4, r0, #0 ldr r1, _0804E448 @ =gUnk_080F0D58 lsls r0, r6, #2 @@ -7745,7 +7745,7 @@ sub_0804E7A4: @ 0x0804E7A4 bl GetProgressFlag cmp r0, #0 bne _0804E7CC - ldr r0, _0804E7D0 @ =gUnk_03003F80 + ldr r0, _0804E7D0 @ =gLinkState ldr r0, [r0, #0x30] movs r1, #0x80 ands r0, r1 @@ -7756,7 +7756,7 @@ sub_0804E7A4: @ 0x0804E7A4 _0804E7CC: pop {pc} .align 2, 0 -_0804E7D0: .4byte gUnk_03003F80 +_0804E7D0: .4byte gLinkState _0804E7D4: .4byte gUnk_080F30CC thumb_func_start sub_0804E7D8 @@ -7807,7 +7807,7 @@ _0804E818: ldr r0, _0804E858 @ =0x800B0036 bl PlaySFX _0804E838: - ldr r0, _0804E85C @ =gUnk_03003F80 + ldr r0, _0804E85C @ =gLinkState ldr r0, [r0, #0x30] movs r1, #8 ands r0, r1 @@ -7822,7 +7822,7 @@ _0804E84C: .4byte gUnk_02000070 _0804E850: .4byte gUnk_08009B30 _0804E854: .4byte gUnk_02033A90 _0804E858: .4byte 0x800B0036 -_0804E85C: .4byte gUnk_03003F80 +_0804E85C: .4byte gLinkState _0804E860: .4byte gUnk_080F31D8 thumb_func_start sub_0804E864 @@ -8725,7 +8725,7 @@ _0804EEF4: .4byte gUnk_080F5758 _0804EEF8: .4byte gUnk_080F57E8 _0804EEFC: .4byte gUnk_080F57A8 _0804EF00: - ldr r1, _0804EF34 @ =gUnk_080FD5A0 + ldr r1, _0804EF34 @ =gBombBagSizes ldr r0, _0804EF38 @ =gUnk_02002A40 adds r0, #0xae ldrb r0, [r0] @@ -8748,7 +8748,7 @@ _0804EF16: bl LoadRoomEntityList b _0804EF54 .align 2, 0 -_0804EF34: .4byte gUnk_080FD5A0 +_0804EF34: .4byte gBombBagSizes _0804EF38: .4byte gUnk_02002A40 _0804EF3C: .4byte gUnk_080F57C8 _0804EF40: .4byte gUnk_080F5888 diff --git a/asm/code_08050038.s b/asm/code_08050038.s index 7c76b100..7393254f 100644 --- a/asm/code_08050038.s +++ b/asm/code_08050038.s @@ -812,7 +812,7 @@ _08050690: bne _080506AA movs r0, #1 strb r0, [r4, #2] - bl sub_08000E50 + bl Random movs r1, #7 ands r1, r0 lsls r1, r1, #4 @@ -3550,7 +3550,7 @@ _08051C60: .4byte gTextBox _08051C64: .4byte gUnk_03003DC0 _08051C68: .4byte gRoomControls _08051C6C: - ldr r0, _08051C80 @ =gUnk_03003F80 + ldr r0, _08051C80 @ =gLinkState movs r1, #0x17 strb r1, [r0, #0xc] ldr r0, _08051C84 @ =gUnk_03001000 @@ -3559,10 +3559,10 @@ _08051C6C: bl sub_08051D98 b _08051C9C .align 2, 0 -_08051C80: .4byte gUnk_03003F80 +_08051C80: .4byte gLinkState _08051C84: .4byte gUnk_03001000 _08051C88: - ldr r1, _08051CA0 @ =gUnk_03003F80 + ldr r1, _08051CA0 @ =gLinkState movs r0, #0x17 strb r0, [r1, #0xc] ldr r1, _08051CA4 @ =gUnk_03001000 @@ -3573,7 +3573,7 @@ _08051C88: _08051C9C: pop {pc} .align 2, 0 -_08051CA0: .4byte gUnk_03003F80 +_08051CA0: .4byte gLinkState _08051CA4: .4byte gUnk_03001000 thumb_func_start sub_08051CA8 diff --git a/asm/code_080526F8.s b/asm/code_080526F8.s index cdb9258f..698eb7d4 100644 --- a/asm/code_080526F8.s +++ b/asm/code_080526F8.s @@ -298,7 +298,7 @@ sub_0805291C: @ 0x0805291C ldrb r0, [r0] cmp r0, #0 beq _080529F4 - ldr r0, _08052950 @ =gUnk_03003F80 + ldr r0, _08052950 @ =gLinkState adds r0, #0xa8 ldrb r0, [r0] cmp r0, #0x12 @@ -312,7 +312,7 @@ sub_0805291C: @ 0x0805291C .align 2, 0 _08052948: .4byte gUnk_030010A0 _0805294C: .4byte gUnk_02002A40 -_08052950: .4byte gUnk_03003F80 +_08052950: .4byte gLinkState _08052954: ldrb r0, [r4, #9] subs r0, #1 @@ -400,7 +400,7 @@ sub_080529F8: @ 0x080529F8 ldrh r0, [r2] cmp r0, #0 beq _08052A48 - ldr r3, _08052A3C @ =gUnk_03003F80 + ldr r3, _08052A3C @ =gLinkState movs r6, #0 movs r0, #0x39 adds r0, r0, r3 @@ -428,7 +428,7 @@ _08052A30: .align 2, 0 _08052A34: .4byte gUnk_030010A0 _08052A38: .4byte gUnk_080FCAD6 -_08052A3C: .4byte gUnk_03003F80 +_08052A3C: .4byte gLinkState _08052A40: adds r2, #4 ldrh r0, [r2] @@ -552,7 +552,7 @@ sub_08052B24: @ 0x08052B24 ands r0, r1 cmp r0, #0 beq _08052B8A - ldr r2, _08052B94 @ =gUnk_03003F80 + ldr r2, _08052B94 @ =gLinkState adds r0, r2, #0 adds r0, #0x8b ldrb r0, [r0] @@ -601,7 +601,7 @@ _08052B8A: b _08052BB4 .align 2, 0 _08052B90: .4byte gUnk_03000FF0 -_08052B94: .4byte gUnk_03003F80 +_08052B94: .4byte gLinkState _08052B98: .4byte gUnk_02034490 _08052B9C: .4byte gUnk_0200AF00 _08052BA0: .4byte gLinkEntity @@ -1418,7 +1418,7 @@ _080531F4: .4byte gUnk_02002AA0 thumb_func_start sub_080531F8 sub_080531F8: @ 0x080531F8 push {r4, r5, lr} - ldr r1, _0805323C @ =gUnk_03003F80 + ldr r1, _0805323C @ =gLinkState ldr r4, _08053240 @ =gLinkEntity ldrh r0, [r4, #0x2e] strh r0, [r1, #0x16] @@ -1449,7 +1449,7 @@ sub_080531F8: @ 0x080531F8 _08053238: pop {r4, r5, pc} .align 2, 0 -_0805323C: .4byte gUnk_03003F80 +_0805323C: .4byte gLinkState _08053240: .4byte gLinkEntity _08053244: .4byte gUnk_030010AC _08053248: .4byte gUnk_02002AC8 @@ -3403,7 +3403,7 @@ _080541A2: bl sub_0807CAA0 _080541AA: movs r0, #0x63 - bl sub_080542F4 + bl ModBombs _080541B0: bl sub_08053390 b _0805427C @@ -3431,13 +3431,13 @@ _080541CA: strb r0, [r1] _080541E2: movs r0, #0x63 - bl sub_080542F4 + bl ModBombs b _0805427C .align 2, 0 _080541EC: .4byte gUnk_02002A40 _080541F0: ldrb r0, [r4, #2] - bl sub_080542F4 + bl ModBombs b _0805424E _080541F8: movs r0, #0x66 @@ -3449,7 +3449,7 @@ _080541F8: bl sub_0807CAA0 _0805420A: movs r0, #0x63 - bl sub_08054330 + bl ModArrows b _080541B0 _08054212: ldr r0, _08054234 @ =gUnk_02002A40 @@ -3466,13 +3466,13 @@ _08054212: strb r0, [r1] _0805422A: movs r0, #0x63 - bl sub_08054330 + bl ModArrows b _0805427C .align 2, 0 _08054234: .4byte gUnk_02002A40 _08054238: ldrb r0, [r4, #2] - bl sub_08054330 + bl ModArrows b _0805424E _08054240: movs r0, #0x3f @@ -3577,3545 +3577,4 @@ _080542E8: pop {pc} .align 2, 0 _080542F0: .4byte 0x000003E7 - - thumb_func_start sub_080542F4 -sub_080542F4: @ 0x080542F4 - push {lr} - adds r3, r0, #0 - ldr r1, _08054318 @ =gUnk_02002A40 - adds r0, r1, #0 - adds r0, #0xac - ldrb r0, [r0] - adds r3, r3, r0 - ldr r2, _0805431C @ =gUnk_080FD5A0 - adds r0, r1, #0 - adds r0, #0xae - ldrb r0, [r0] - adds r0, r0, r2 - ldrb r2, [r0] - cmp r3, #0 - bge _08054320 - movs r3, #0 - b _08054326 - .align 2, 0 -_08054318: .4byte gUnk_02002A40 -_0805431C: .4byte gUnk_080FD5A0 -_08054320: - cmp r2, r3 - bge _08054326 - adds r3, r2, #0 -_08054326: - adds r0, r1, #0 - adds r0, #0xac - strb r3, [r0] - pop {pc} - .align 2, 0 - - thumb_func_start sub_08054330 -sub_08054330: @ 0x08054330 - push {lr} - adds r3, r0, #0 - ldr r1, _08054354 @ =gUnk_02002A40 - adds r0, r1, #0 - adds r0, #0xad - ldrb r0, [r0] - adds r3, r3, r0 - ldr r2, _08054358 @ =gUnk_080FD5A4 - adds r0, r1, #0 - adds r0, #0xaf - ldrb r0, [r0] - adds r0, r0, r2 - ldrb r2, [r0] - cmp r3, #0 - bge _0805435C - movs r3, #0 - b _08054362 - .align 2, 0 -_08054354: .4byte gUnk_02002A40 -_08054358: .4byte gUnk_080FD5A4 -_0805435C: - cmp r2, r3 - bge _08054362 - adds r3, r2, #0 -_08054362: - adds r0, r1, #0 - adds r0, #0xad - strb r3, [r0] - pop {pc} - .align 2, 0 - - thumb_func_start sub_0805436C -sub_0805436C: @ 0x0805436C - push {lr} - adds r2, r0, #0 - ldr r1, _08054380 @ =gUnk_02002A40 - adds r0, r1, #0 - adds r0, #0xb4 - ldrb r0, [r0] - cmp r2, r0 - bne _08054384 - movs r1, #0 - b _08054392 - .align 2, 0 -_08054380: .4byte gUnk_02002A40 -_08054384: - adds r0, r1, #0 - adds r0, #0xb5 - movs r1, #2 - ldrb r0, [r0] - cmp r2, r0 - bne _08054392 - movs r1, #1 -_08054392: - adds r0, r1, #0 - pop {pc} - .align 2, 0 - - thumb_func_start sub_08054398 -sub_08054398: @ 0x08054398 - push {r4, r5, lr} - adds r5, r0, #0 - cmp r5, #0x46 - bhi _080543A8 - movs r0, #0 - movs r1, #1 - bl sub_0807CAA0 -_080543A8: - subs r0, r5, #1 - cmp r0, #0x1e - bhi _08054410 - movs r1, #2 - ldr r2, _080543C0 @ =gUnk_02002A40 - adds r0, r2, #0 - adds r0, #0xb4 - ldrb r0, [r0] - cmp r0, #0 - bne _080543C4 - movs r1, #0 - b _080543D0 - .align 2, 0 -_080543C0: .4byte gUnk_02002A40 -_080543C4: - adds r0, r2, #0 - adds r0, #0xb5 - ldrb r0, [r0] - cmp r0, #0 - bne _080543D0 - movs r1, #1 -_080543D0: - cmp r1, #2 - bne _0805440A - ldr r3, _080543F0 @ =gUnk_080FD5B4 - lsls r0, r5, #3 - adds r0, r0, r3 - ldrb r4, [r0] - adds r0, r2, #0 - adds r0, #0xb4 - ldrb r0, [r0] - lsls r0, r0, #3 - adds r0, r0, r3 - ldrb r0, [r0] - cmp r4, r0 - bne _080543F4 - movs r1, #0 - b _08054406 - .align 2, 0 -_080543F0: .4byte gUnk_080FD5B4 -_080543F4: - adds r0, r2, #0 - adds r0, #0xb5 - ldrb r0, [r0] - lsls r0, r0, #3 - adds r0, r0, r3 - ldrb r0, [r0] - cmp r4, r0 - bne _08054406 - movs r1, #1 -_08054406: - cmp r1, #2 - beq _08054410 -_0805440A: - adds r0, r5, #0 - bl sub_08054414 -_08054410: - pop {r4, r5, pc} - .align 2, 0 - - thumb_func_start sub_08054414 -sub_08054414: @ 0x08054414 - push {r4, r5, r6, r7, lr} - adds r4, r0, #0 - subs r0, r4, #1 - cmp r0, #0x1e - bhi _08054456 - cmp r1, #1 - bhi _08054456 - movs r2, #0 - cmp r1, #0 - bne _0805442A - movs r2, #1 -_0805442A: - ldr r0, _08054458 @ =gUnk_02002A40 - adds r0, #0xb4 - adds r6, r1, r0 - ldrb r7, [r6] - adds r5, r2, r0 - ldrb r3, [r5] - ldr r2, _0805445C @ =gUnk_080FD5B4 - lsls r1, r3, #3 - adds r1, r1, r2 - lsls r0, r4, #3 - adds r0, r0, r2 - ldrb r1, [r1] - ldrb r0, [r0] - cmp r1, r0 - bne _0805444A - adds r3, r7, #0 -_0805444A: - strb r4, [r6] - strb r3, [r5] - ldr r1, _08054460 @ =gUnk_0200AF00 - movs r0, #0x7f - strb r0, [r1, #0x13] - strb r0, [r1, #0x14] -_08054456: - pop {r4, r5, r6, r7, pc} - .align 2, 0 -_08054458: .4byte gUnk_02002A40 -_0805445C: .4byte gUnk_080FD5B4 -_08054460: .4byte gUnk_0200AF00 - - thumb_func_start sub_08054464 -sub_08054464: @ 0x08054464 - push {r4, lr} - adds r4, r0, #0 - ldr r3, _08054498 @ =gUnk_02002A40 - cmp r1, #3 - bls _0805448C - movs r1, #0 - adds r2, r3, #0 - adds r2, #0xb6 - ldrb r0, [r2] - cmp r0, #0x20 - beq _08054488 -_0805447A: - adds r1, #1 - cmp r1, #3 - bhi _08054494 - adds r0, r1, r2 - ldrb r0, [r0] - cmp r0, #0x20 - bne _0805447A -_08054488: - cmp r1, #3 - bhi _08054494 -_0805448C: - adds r0, r3, #0 - adds r0, #0xb6 - adds r0, r1, r0 - strb r4, [r0] -_08054494: - adds r0, r1, #0 - pop {r4, pc} - .align 2, 0 -_08054498: .4byte gUnk_02002A40 - - thumb_func_start sub_0805449C -sub_0805449C: @ 0x0805449C - push {lr} - cmp r0, #1 - blo _080544AE - cmp r0, #4 - bls _080544AA - cmp r0, #6 - bne _080544AE -_080544AA: - movs r0, #1 - b _080544B0 -_080544AE: - movs r0, #0 -_080544B0: - pop {pc} - .align 2, 0 - - thumb_func_start sub_080544B4 -sub_080544B4: @ 0x080544B4 - push {lr} - cmp r0, #0xe - bhi _080544C2 - cmp r0, #0xd - blo _080544C2 - movs r0, #1 - b _080544C4 -_080544C2: - movs r0, #0 -_080544C4: - pop {pc} - .align 2, 0 - - thumb_func_start sub_080544C8 -sub_080544C8: @ 0x080544C8 - push {lr} - cmp r0, #0x1f - bhi _080544D6 - cmp r0, #0x1c - blo _080544D6 - movs r0, #1 - b _080544D8 -_080544D6: - movs r0, #0 -_080544D8: - pop {pc} - .align 2, 0 - - thumb_func_start sub_080544DC -sub_080544DC: @ 0x080544DC - push {lr} - adds r2, r0, #0 - ldr r1, _080544F0 @ =gUnk_02002A40 - adds r0, r1, #0 - adds r0, #0xb6 - ldrb r0, [r0] - cmp r2, r0 - bne _080544F4 - movs r0, #1 - b _08054520 - .align 2, 0 -_080544F0: .4byte gUnk_02002A40 -_080544F4: - adds r0, r1, #0 - adds r0, #0xb7 - ldrb r0, [r0] - cmp r2, r0 - bne _08054502 - movs r0, #2 - b _08054520 -_08054502: - adds r0, r1, #0 - adds r0, #0xb8 - ldrb r0, [r0] - cmp r2, r0 - bne _08054510 - movs r0, #3 - b _08054520 -_08054510: - adds r0, r1, #0 - adds r0, #0xb9 - ldrb r0, [r0] - cmp r2, r0 - beq _0805451E - movs r0, #0 - b _08054520 -_0805451E: - movs r0, #4 -_08054520: - pop {pc} - .align 2, 0 - - thumb_func_start sub_08054524 -sub_08054524: @ 0x08054524 - push {lr} - ldr r0, _08054550 @ =gUnk_02033A90 - ldrb r1, [r0, #1] - cmp r1, #0 - bne _08054534 - ldr r0, _08054554 @ =gUnk_030010A0 - adds r0, #0x2e - ldrb r1, [r0] -_08054534: - cmp r1, #0x16 - bls _0805453A - movs r1, #0 -_0805453A: - ldr r0, _08054558 @ =gUnk_080FE1C6 - adds r0, r1, r0 - ldrb r1, [r0] - lsls r0, r1, #5 - ldr r1, _0805455C @ =gUnk_080015BC - adds r0, r0, r1 - ldr r1, _08054560 @ =gUnk_02034398 - movs r2, #0x20 - bl sub_0801D66C - pop {pc} - .align 2, 0 -_08054550: .4byte gUnk_02033A90 -_08054554: .4byte gUnk_030010A0 -_08054558: .4byte gUnk_080FE1C6 -_0805455C: .4byte gUnk_080015BC -_08054560: .4byte gUnk_02034398 - - thumb_func_start sub_08054564 -sub_08054564: @ 0x08054564 - ldr r1, _0805456C @ =gUnk_02034350 - movs r0, #1 - strb r0, [r1, #2] - bx lr - .align 2, 0 -_0805456C: .4byte gUnk_02034350 - - thumb_func_start sub_08054570 -sub_08054570: @ 0x08054570 - ldr r1, _08054578 @ =gUnk_02034350 - movs r0, #0 - strb r0, [r1, #2] - bx lr - .align 2, 0 -_08054578: .4byte gUnk_02034350 - - thumb_func_start sub_0805457C -sub_0805457C: @ 0x0805457C - push {r4, r5, r6, r7, lr} - sub sp, #0x20 - adds r6, r0, #0 - adds r3, r1, #0 - ldr r0, _080545A4 @ =gUnk_02034350 - ldrb r1, [r0, #2] - adds r5, r0, #0 - cmp r1, #1 - bne _08054590 - b _0805474C -_08054590: - ldr r2, _080545A8 @ =gUnk_08001A1C - movs r4, #0 - cmp r3, #0x19 - bhi _0805463C - lsls r0, r3, #2 - ldr r1, _080545AC @ =_080545B0 - adds r0, r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_080545A4: .4byte gUnk_02034350 -_080545A8: .4byte gUnk_08001A1C -_080545AC: .4byte _080545B0 -_080545B0: @ jump table - .4byte _0805463C @ case 0 - .4byte _08054618 @ case 1 - .4byte _08054618 @ case 2 - .4byte _08054618 @ case 3 - .4byte _08054618 @ case 4 - .4byte _08054618 @ case 5 - .4byte _08054618 @ case 6 - .4byte _08054618 @ case 7 - .4byte _08054618 @ case 8 - .4byte _08054618 @ case 9 - .4byte _08054618 @ case 10 - .4byte _08054618 @ case 11 - .4byte _08054618 @ case 12 - .4byte _0805463C @ case 13 - .4byte _0805463C @ case 14 - .4byte _0805463A @ case 15 - .4byte _08054634 @ case 16 - .4byte _08054634 @ case 17 - .4byte _08054634 @ case 18 - .4byte _08054634 @ case 19 - .4byte _08054634 @ case 20 - .4byte _08054634 @ case 21 - .4byte _08054634 @ case 22 - .4byte _08054634 @ case 23 - .4byte _08054624 @ case 24 - .4byte _08054624 @ case 25 -_08054618: - lsls r1, r3, #5 - ldr r0, _08054620 @ =gUnk_0800137C - adds r4, r1, r0 - b _0805463C - .align 2, 0 -_08054620: .4byte gUnk_0800137C -_08054624: - ldrb r0, [r5, #0xa] - ldr r4, _08054630 @ =gUnk_0800191C - cmp r0, #0 - beq _0805463C - adds r4, #0x20 - b _0805463C - .align 2, 0 -_08054630: .4byte gUnk_0800191C -_08054634: - lsls r1, r3, #5 - ldr r0, _08054650 @ =gUnk_0800161C - adds r2, r1, r0 -_0805463A: - ldr r4, _08054654 @ =gUnk_02034398 -_0805463C: - cmp r4, #0 - bne _08054642 - b _0805474C -_08054642: - ldr r0, _08054658 @ =gUnk_02002A40 - adds r0, #0xb3 - ldrb r1, [r0] - cmp r1, #0 - bne _08054660 - ldr r3, _0805465C @ =gUnk_08001A1C - b _08054666 - .align 2, 0 -_08054650: .4byte gUnk_0800161C -_08054654: .4byte gUnk_02034398 -_08054658: .4byte gUnk_02002A40 -_0805465C: .4byte gUnk_08001A1C -_08054660: - lsls r1, r1, #5 - ldr r0, _0805473C @ =gUnk_0800143C - adds r3, r1, r0 -_08054666: - mov r0, sp - adds r1, r4, #0 - bl sub_08000F14 - ldr r4, _08054740 @ =gUnk_02002A40 - adds r0, r4, #0 - adds r0, #0xaa - ldrb r0, [r0] - cmp r0, #8 - bhi _08054684 - mov r1, sp - mov r0, sp - ldrh r0, [r0, #8] - adds r0, #5 - strh r0, [r1, #8] -_08054684: - adds r0, r4, #0 - adds r0, #0xac - ldrb r0, [r0] - cmp r0, #0 - bne _08054698 - mov r1, sp - mov r0, sp - ldrh r0, [r0, #0xc] - adds r0, #3 - strh r0, [r1, #0xc] -_08054698: - adds r0, r4, #0 - adds r0, #0xad - ldrb r0, [r0] - cmp r0, #0 - bne _080546AC - mov r1, sp - mov r0, sp - ldrh r0, [r0, #0xe] - adds r0, #3 - strh r0, [r1, #0xe] -_080546AC: - adds r0, r4, #0 - adds r0, #0xc0 - ldrh r0, [r0] - cmp r0, #0xa - bhi _080546C0 - mov r1, sp - mov r0, sp - ldrh r0, [r0, #4] - adds r0, #1 - strh r0, [r1, #4] -_080546C0: - ldr r2, _08054744 @ =gUnk_08001A1C - adds r0, r4, #0 - adds r0, #0xbb - ldrb r0, [r0] - adds r3, r2, #0 - cmp r0, #0 - beq _080546D0 - adds r2, #0x20 -_080546D0: - movs r1, #0x8b - lsls r1, r1, #1 - adds r0, r4, r1 - ldrb r0, [r0] - cmp r0, #0 - beq _080546DE - adds r3, #0x40 -_080546DE: - mov r0, sp - mov r1, sp - bl sub_08000F2C - adds r4, r0, #0 - bl sub_08000E50 - adds r2, r0, #0 - asrs r5, r2, #0x18 - movs r0, #0xf - ands r5, r0 - adds r0, r2, #0 - adds r1, r4, #0 - bl __modsi3 - adds r2, r0, #0 - movs r3, #0 - lsls r0, r5, #1 - add r0, sp - movs r4, #0 - ldrsh r1, [r0, r4] - cmp r1, r2 - bgt _08054726 - movs r4, #0xf -_0805470E: - adds r3, #1 - adds r5, #1 - ands r5, r4 - cmp r3, #0xf - bhi _08054726 - lsls r0, r5, #1 - add r0, sp - movs r7, #0 - ldrsh r0, [r0, r7] - adds r1, r1, r0 - cmp r1, r2 - ble _0805470E -_08054726: - ldr r0, _08054748 @ =gUnk_080FE1B4 - adds r0, r5, r0 - ldrb r1, [r0] - cmp r1, #0 - beq _0805474C - adds r0, r6, #0 - movs r2, #0 - bl sub_08054754 - b _0805474E - .align 2, 0 -_0805473C: .4byte gUnk_0800143C -_08054740: .4byte gUnk_02002A40 -_08054744: .4byte gUnk_08001A1C -_08054748: .4byte gUnk_080FE1B4 -_0805474C: - movs r0, #0 -_0805474E: - add sp, #0x20 - pop {r4, r5, r6, r7, pc} - .align 2, 0 - - thumb_func_start sub_08054754 -sub_08054754: @ 0x08054754 - push {r4, r5, r6, lr} - adds r6, r0, #0 - adds r4, r1, #0 - adds r5, r2, #0 - cmp r4, #0x5e - beq _08054786 - cmp r4, #0x5e - bhi _08054772 - cmp r4, #0x5c - beq _080547A6 - cmp r4, #0x5c - bhi _08054782 - cmp r4, #0x3f - beq _08054794 - b _080547DA -_08054772: - cmp r4, #0xfc - blo _080547DA - cmp r4, #0xfe - bls _080547A6 - cmp r4, #0xff - bne _080547DA - movs r0, #1 - b _08054788 -_08054782: - movs r0, #0x65 - b _08054788 -_08054786: - movs r0, #9 -_08054788: - bl GetInventoryValue - cmp r0, #0 - bne _080547DA -_08054790: - movs r0, #0 - b _0805486C -_08054794: - movs r0, #0x40 - bl GetInventoryValue - cmp r0, #0 - beq _08054790 - cmp r5, #0 - bne _080547DA - movs r5, #1 - b _080547DA -_080547A6: - movs r0, #0x67 - bl GetInventoryValue - cmp r0, #0 - beq _08054790 - ldr r0, _080547FC @ =gUnk_02034350 - ldrb r0, [r0, #5] - cmp r0, #3 - bhi _08054790 - cmp r4, #0x5c - beq _080547DA - adds r5, r4, #0 - subs r5, #0xfc - bl sub_08000E50 - movs r1, #0x3f - ands r1, r0 - ldr r2, _08054800 @ =gUnk_080FE1DD - lsls r0, r5, #6 - adds r1, r1, r0 - adds r1, r1, r2 - ldrb r5, [r1] - movs r4, #0x5c - cmp r5, #0 - bne _080547DA - movs r4, #0 -_080547DA: - cmp r4, #0 - beq _0805486A - cmp r4, #0xff - beq _08054842 - movs r0, #0 - adds r1, r4, #0 - adds r2, r5, #0 - bl CreateObject - adds r2, r0, #0 - cmp r2, #0 - beq _0805486A - ldr r0, _08054804 @ =gLinkEntity - cmp r6, r0 - bne _08054808 - movs r0, #1 - b _0805480A - .align 2, 0 -_080547FC: .4byte gUnk_02034350 -_08054800: .4byte gUnk_080FE1DD -_08054804: .4byte gLinkEntity -_08054808: - movs r0, #0 -_0805480A: - strb r0, [r2, #0xe] - ldrb r0, [r6, #8] - cmp r0, #6 - bne _08054838 - ldrb r0, [r6, #9] - cmp r0, #0x63 - bne _0805481C - str r2, [r6, #0x54] - b _08054838 -_0805481C: - cmp r0, #0x1e - bne _08054838 - ldrb r0, [r6, #0x14] - lsls r0, r0, #3 - movs r3, #0x80 - rsbs r3, r3, #0 - adds r1, r3, #0 - orrs r0, r1 - strb r0, [r2, #0x15] - movs r0, #0xc0 - strh r0, [r2, #0x24] - movs r0, #0xc0 - lsls r0, r0, #9 - str r0, [r2, #0x20] -_08054838: - adds r0, r6, #0 - adds r1, r2, #0 - bl sub_0806FA24 - b _0805486A -_08054842: - movs r0, #7 - movs r1, #0 - bl CreateEnemy - adds r2, r0, #0 - cmp r2, #0 - beq _0805486A - ldrh r0, [r6, #0x2e] - strh r0, [r2, #0x2e] - ldrh r0, [r6, #0x32] - strh r0, [r2, #0x32] - adds r0, r6, #0 - adds r0, #0x38 - ldrb r1, [r0] - adds r0, r2, #0 - adds r0, #0x38 - strb r1, [r0] - adds r0, r2, #0 - bl UpdateSpriteOrderAndFlip -_0805486A: - adds r0, r4, #0 -_0805486C: - pop {r4, r5, r6, pc} - .align 2, 0 - - thumb_func_start sub_08054870 -sub_08054870: @ 0x08054870 - push {lr} - ldr r1, _08054884 @ =gUnk_080FE2A0 - ldr r0, _08054888 @ =gUnk_02000080 - ldrb r0, [r0, #5] - lsls r0, r0, #2 - adds r0, r0, r1 - ldr r0, [r0] - bl _call_via_r0 - pop {pc} - .align 2, 0 -_08054884: .4byte gUnk_080FE2A0 -_08054888: .4byte gUnk_02000080 - - thumb_func_start sub_0805488C -sub_0805488C: @ 0x0805488C - push {r4, lr} - ldr r4, _080548DC @ =gUnk_02032EC0 - ldrb r1, [r4, #3] - lsls r0, r1, #2 - adds r0, r0, r1 - lsls r0, r0, #2 - ldr r1, _080548E0 @ =gUnk_080FE320 - adds r0, r0, r1 - ldr r2, _080548E4 @ =gUnk_02000080 - ldrb r1, [r0] - movs r3, #0 - strb r1, [r2] - ldrb r1, [r0, #1] - strb r1, [r2, #3] - ldrb r1, [r4, #3] - strb r1, [r2, #4] - str r0, [r2, #0xc] - ldrb r0, [r2, #5] - adds r0, #1 - strb r0, [r2, #5] - strb r3, [r2, #6] - movs r0, #0x96 - lsls r0, r0, #1 - strh r0, [r2, #8] - movs r0, #0 - bl sub_0801DA90 - ldrb r0, [r4, #3] - movs r1, #1 - bl sub_08054974 - bl sub_0806F364 - movs r0, #0xff - bl sub_0807CD8C - bl sub_080548E8 - pop {r4, pc} - .align 2, 0 -_080548DC: .4byte gUnk_02032EC0 -_080548E0: .4byte gUnk_080FE320 -_080548E4: .4byte gUnk_02000080 - - thumb_func_start sub_080548E8 -sub_080548E8: @ 0x080548E8 - push {lr} - ldr r1, _08054918 @ =gUnk_080FE2AC - ldr r0, _0805491C @ =gUnk_02000080 - ldrb r0, [r0] - lsls r0, r0, #2 - adds r0, r0, r1 - ldr r0, [r0] - bl _call_via_r0 - bl sub_080AD90C - bl sub_0805E5C0 - bl sub_080AD9B0 - bl sub_080AD918 - bl sub_0807FC40 - bl sub_0801B060 - bl sub_08000108 - pop {pc} - .align 2, 0 -_08054918: .4byte gUnk_080FE2AC -_0805491C: .4byte gUnk_02000080 - - thumb_func_start sub_08054920 -sub_08054920: @ 0x08054920 - push {lr} - bl sub_08056418 - bl sub_0806F38C - ldr r1, _08054948 @ =gUnk_080C9CBC - ldr r0, _0805494C @ =gUnk_02022740 - ldrb r0, [r0, #3] - lsls r0, r0, #3 - adds r0, r0, r1 - ldrb r0, [r0, #7] - cmp r0, #0 - beq _08054954 - ldr r0, _08054950 @ =gUnk_02032EC0 - ldrb r1, [r0, #3] - movs r0, #0xa - bl sub_080A7138 - b _08054962 - .align 2, 0 -_08054948: .4byte gUnk_080C9CBC -_0805494C: .4byte gUnk_02022740 -_08054950: .4byte gUnk_02032EC0 -_08054954: - ldr r1, _08054964 @ =gUnk_02032EC0 - movs r0, #3 - strb r0, [r1] - movs r0, #7 - movs r1, #0x10 - bl DoFade -_08054962: - pop {pc} - .align 2, 0 -_08054964: .4byte gUnk_02032EC0 - - thumb_func_start sub_08054968 -sub_08054968: @ 0x08054968 - ldr r1, _08054970 @ =gUnk_02000080 - movs r0, #2 - strb r0, [r1, #5] - bx lr - .align 2, 0 -_08054970: .4byte gUnk_02000080 - - thumb_func_start sub_08054974 -sub_08054974: @ 0x08054974 - push {r4, r5, r6, lr} - adds r5, r1, #0 - lsls r1, r0, #2 - adds r1, r1, r0 - lsls r1, r1, #2 - ldr r0, _080549B0 @ =gUnk_080FE320 - adds r6, r1, r0 - ldrb r0, [r6, #2] - ldrb r1, [r6, #3] - bl sub_0804B0C0 - ldr r4, _080549B4 @ =gRoomControls - ldrb r0, [r6, #2] - strb r0, [r4, #4] - ldrb r0, [r6, #3] - strb r0, [r4, #5] - bl sub_08053320 - ldrb r0, [r4, #4] - bl sub_08052D58 - ldr r1, _080549B8 @ =gUnk_02033A90 - strh r0, [r1, #4] - cmp r5, #0 - beq _080549BC - ldrb r0, [r6, #2] - ldrb r1, [r6, #3] - bl sub_08052FD8 - b _080549CE - .align 2, 0 -_080549B0: .4byte gUnk_080FE320 -_080549B4: .4byte gRoomControls -_080549B8: .4byte gUnk_02033A90 -_080549BC: - ldrb r0, [r6, #2] - ldrb r1, [r6, #3] - bl sub_08052FF4 - bl sub_0807C740 - ldr r1, _08054A00 @ =gUnk_02000070 - movs r0, #1 - strb r0, [r1] -_080549CE: - ldr r2, _08054A04 @ =gLCDControls - ldrh r1, [r2] - ldr r0, _08054A08 @ =0x00001FFF - ands r0, r1 - strh r0, [r2] - ldr r1, _08054A0C @ =gRoomControls - ldrh r0, [r6, #4] - ldrh r2, [r1, #6] - adds r0, r0, r2 - strh r0, [r1, #0xa] - ldrh r0, [r6, #6] - ldrh r2, [r1, #8] - adds r0, r0, r2 - strh r0, [r1, #0xc] - ldrb r0, [r6, #2] - cmp r0, #2 - bne _080549F4 - bl sub_08059D18 -_080549F4: - ldr r0, _08054A10 @ =gUnk_02032EC0 - ldrb r0, [r0, #3] - bl sub_08018710 - pop {r4, r5, r6, pc} - .align 2, 0 -_08054A00: .4byte gUnk_02000070 -_08054A04: .4byte gLCDControls -_08054A08: .4byte 0x00001FFF -_08054A0C: .4byte gRoomControls -_08054A10: .4byte gUnk_02032EC0 - - thumb_func_start sub_08054A14 -sub_08054A14: @ 0x08054A14 - push {lr} - lsls r1, r0, #2 - adds r1, r1, r0 - lsls r1, r1, #2 - ldr r0, _08054A38 @ =gUnk_080FE320 - adds r2, r1, r0 - ldrb r0, [r2, #0x11] - cmp r0, #0xd - bhi _08054A34 - ldr r1, _08054A3C @ =gUnk_0811E454 - lsls r0, r0, #1 - adds r0, r0, r1 - ldrh r0, [r0] - ldrh r1, [r2, #0x12] - bl sub_0807CC9C -_08054A34: - pop {pc} - .align 2, 0 -_08054A38: .4byte gUnk_080FE320 -_08054A3C: .4byte gUnk_0811E454 - - thumb_func_start sub_08054A40 -sub_08054A40: @ 0x08054A40 - push {r4, lr} - adds r4, r0, #0 - ldr r1, _08054A5C @ =gUnk_080FEEA8 - ldrb r0, [r4, #0xc] - lsls r0, r0, #2 - adds r0, r0, r1 - ldr r1, [r0] - adds r0, r4, #0 - bl _call_via_r1 - adds r4, #0x41 - movs r0, #0 - strb r0, [r4] - pop {r4, pc} - .align 2, 0 -_08054A5C: .4byte gUnk_080FEEA8 - - thumb_func_start sub_08054A60 -sub_08054A60: @ 0x08054A60 - push {r4, lr} - adds r4, r0, #0 - ldrb r1, [r4, #0x10] - movs r0, #0xa0 - orrs r0, r1 - strb r0, [r4, #0x10] - movs r0, #1 - strb r0, [r4, #0xc] - movs r0, #4 - strb r0, [r4, #0xe] - movs r0, #0xff - strb r0, [r4, #0x1e] - ldrb r1, [r4, #0x11] - movs r0, #0x10 - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #6 - orrs r0, r1 - strb r0, [r4, #0x11] - adds r1, r4, #0 - adds r1, #0x3c - movs r0, #7 - strb r0, [r1] - subs r1, #1 - movs r0, #0x80 - strb r0, [r1] - ldr r0, _08054AC4 @ =gLinkEntity - ldrb r1, [r0, #0x14] - movs r0, #0xe - ands r0, r1 - strb r0, [r4, #0x14] - adds r0, r4, #0 - bl sub_0806FBD8 - cmp r0, #0 - bne _08054AAC - bl sub_0805E780 -_08054AAC: - adds r0, r4, #0 - bl sub_0801766C - adds r0, r4, #0 - movs r1, #1 - movs r2, #3 - bl sub_080AE008 - adds r0, r4, #0 - bl sub_08054AC8 - pop {r4, pc} - .align 2, 0 -_08054AC4: .4byte gLinkEntity - - thumb_func_start sub_08054AC8 -sub_08054AC8: @ 0x08054AC8 - push {r4, r5, r6, r7, lr} - adds r4, r0, #0 - ldr r5, _08054B14 @ =gLinkEntity - ldrb r1, [r5, #0x14] - movs r0, #0xe - ands r0, r1 - strb r0, [r4, #0x14] - ldr r1, [r4, #0x48] - ldr r2, _08054B18 @ =gUnk_080FEEB0 - ldrb r0, [r4, #0x14] - adds r0, r0, r2 - ldrb r0, [r0] - strb r0, [r1] - ldr r1, [r4, #0x48] - ldrb r0, [r4, #0x14] - adds r0, #1 - adds r0, r0, r2 - ldrb r0, [r0] - strb r0, [r1, #1] - ldr r0, [r4, #0x48] - movs r1, #4 - strb r1, [r0, #6] - ldr r0, [r4, #0x48] - strb r1, [r0, #7] - ldrb r7, [r5, #0x1e] - adds r6, r7, #0 - cmp r6, #0x36 - bhi _08054B06 - ldrh r0, [r5, #0x12] - cmp r0, #6 - beq _08054B1C -_08054B06: - movs r0, #0xff - strb r0, [r4, #0x1e] - ldrb r1, [r4, #0x10] - movs r0, #0x7f - ands r0, r1 - strb r0, [r4, #0x10] - b _08054B68 - .align 2, 0 -_08054B14: .4byte gLinkEntity -_08054B18: .4byte gUnk_080FEEB0 -_08054B1C: - ldrb r0, [r4, #0x10] - movs r1, #0x80 - orrs r0, r1 - strb r0, [r4, #0x10] - ldrb r2, [r5, #0x18] - movs r1, #0x40 - ands r1, r2 - ldrb r3, [r4, #0x18] - movs r0, #0x41 - rsbs r0, r0, #0 - ands r0, r3 - orrs r0, r1 - lsrs r2, r2, #7 - lsls r2, r2, #7 - movs r1, #0x7f - ands r0, r1 - orrs r0, r2 - strb r0, [r4, #0x18] - ldrb r0, [r4, #0x1e] - cmp r6, r0 - beq _08054B52 - strb r7, [r4, #0x1e] - ldrb r1, [r4, #0x1e] - ldrh r2, [r4, #0x12] - adds r0, r4, #0 - bl sub_080042D0 -_08054B52: - adds r0, r5, #0 - adds r0, #0x5a - ldrb r0, [r0] - adds r1, r4, #0 - adds r1, #0x5a - strb r0, [r1] - adds r0, r5, #0 - adds r0, #0x5b - ldrb r0, [r0] - adds r1, #1 - strb r0, [r1] -_08054B68: - movs r0, #0x10 - bl sub_0805436C - cmp r0, #1 - bhi _08054BFC - ldrb r0, [r4, #0x1e] - cmp r0, #0xff - beq _08054BE8 - ldr r0, _08054BF4 @ =gLinkEntity - ldrb r0, [r0, #0x18] - lsls r0, r0, #0x1e - cmp r0, #0 - beq _08054BE8 - ldrb r0, [r4, #0xe] - subs r0, #1 - strb r0, [r4, #0xe] - lsls r0, r0, #0x18 - lsrs r0, r0, #0x18 - cmp r0, #0xff - bne _08054BE8 - movs r0, #4 - strb r0, [r4, #0xe] - movs r0, #0x45 - movs r1, #0 - movs r2, #0x10 - bl CreateObject - adds r5, r0, #0 - cmp r5, #0 - beq _08054BE8 - movs r3, #0x80 - lsls r3, r3, #0xa - adds r0, r4, #0 - adds r1, r5, #0 - movs r2, #0 - bl PositionRelative - adds r0, r4, #0 - adds r0, #0x29 - ldrb r1, [r0] - lsls r1, r1, #0x1d - adds r3, r5, #0 - adds r3, #0x29 - lsrs r1, r1, #0x1d - ldrb r2, [r3] - movs r0, #8 - rsbs r0, r0, #0 - ands r0, r2 - orrs r0, r1 - strb r0, [r3] - ldr r1, _08054BF8 @ =gUnk_080FEEB0 - ldrb r0, [r4, #0x14] - adds r0, r0, r1 - ldrb r0, [r0] - adds r2, r5, #0 - adds r2, #0x62 - strb r0, [r2] - ldrb r0, [r4, #0x14] - adds r0, #1 - adds r0, r0, r1 - ldrb r1, [r0] - adds r0, r5, #0 - adds r0, #0x63 - strb r1, [r0] -_08054BE8: - ldr r1, _08054BF4 @ =gLinkEntity - adds r0, r4, #0 - bl sub_08078E84 - b _08054C00 - .align 2, 0 -_08054BF4: .4byte gLinkEntity -_08054BF8: .4byte gUnk_080FEEB0 -_08054BFC: - bl sub_0805E780 -_08054C00: - pop {r4, r5, r6, r7, pc} - .align 2, 0 - - thumb_func_start sub_08054C04 -sub_08054C04: @ 0x08054C04 - push {lr} - ldr r1, _08054C18 @ =gUnk_080FEEB8 - ldr r0, _08054C1C @ =gUnk_02000080 - ldrb r0, [r0, #6] - lsls r0, r0, #2 - adds r0, r0, r1 - ldr r0, [r0] - bl _call_via_r0 - pop {pc} - .align 2, 0 -_08054C18: .4byte gUnk_080FEEB8 -_08054C1C: .4byte gUnk_02000080 - - thumb_func_start sub_08054C20 -sub_08054C20: @ 0x08054C20 - push {r4, lr} - ldr r4, _08054C50 @ =gUnk_02000080 - ldrb r0, [r4, #4] - movs r1, #0 - movs r2, #0 - movs r3, #0 - bl sub_08055B70 - ldrb r0, [r4, #4] - movs r1, #0 - bl sub_0801876C - ldrb r0, [r4, #6] - adds r0, #1 - strb r0, [r4, #6] - ldr r1, _08054C54 @ =gUnk_02000070 - movs r0, #1 - strb r0, [r1] - movs r0, #4 - movs r1, #0x10 - bl DoFade - pop {r4, pc} - .align 2, 0 -_08054C50: .4byte gUnk_02000080 -_08054C54: .4byte gUnk_02000070 - - thumb_func_start sub_08054C58 -sub_08054C58: @ 0x08054C58 - push {lr} - ldr r0, _08054C80 @ =gUnk_03000FD0 - ldrb r0, [r0] - cmp r0, #0 - bne _08054C7C - movs r0, #0xff - bl sub_0807CC3C - cmp r0, #0 - beq _08054C7C - movs r0, #7 - movs r1, #0x10 - bl DoFade - ldr r1, _08054C84 @ =gUnk_02000080 - ldrb r0, [r1, #6] - adds r0, #1 - strb r0, [r1, #6] -_08054C7C: - pop {pc} - .align 2, 0 -_08054C80: .4byte gUnk_03000FD0 -_08054C84: .4byte gUnk_02000080 - - thumb_func_start sub_08054C88 -sub_08054C88: @ 0x08054C88 - push {r4, lr} - ldr r0, _08054CB8 @ =gUnk_03000FD0 - ldrb r0, [r0] - cmp r0, #0 - bne _08054CB4 - ldr r4, _08054CBC @ =gUnk_02000080 - ldrb r0, [r4, #4] - movs r1, #0 - bl sub_08054974 - movs r0, #6 - movs r1, #0x10 - bl DoFade - movs r0, #0x73 - bl PlaySFX - ldrb r0, [r4, #6] - adds r0, #1 - strb r0, [r4, #6] - movs r0, #0x78 - strh r0, [r4, #8] -_08054CB4: - pop {r4, pc} - .align 2, 0 -_08054CB8: .4byte gUnk_03000FD0 -_08054CBC: .4byte gUnk_02000080 - - thumb_func_start sub_08054CC0 -sub_08054CC0: @ 0x08054CC0 - push {lr} - ldr r0, _08054CE0 @ =gUnk_03000FD0 - ldrb r0, [r0] - cmp r0, #0 - bne _08054CDE - ldr r1, _08054CE4 @ =gUnk_02000080 - ldrh r0, [r1, #8] - subs r0, #1 - strh r0, [r1, #8] - lsls r0, r0, #0x10 - cmp r0, #0 - bne _08054CDE - ldrb r0, [r1, #5] - adds r0, #1 - strb r0, [r1, #5] -_08054CDE: - pop {pc} - .align 2, 0 -_08054CE0: .4byte gUnk_03000FD0 -_08054CE4: .4byte gUnk_02000080 - - thumb_func_start sub_08054CE8 -sub_08054CE8: @ 0x08054CE8 - push {lr} - ldr r1, _08054CFC @ =gUnk_080FEEC8 - ldr r0, _08054D00 @ =gUnk_02000080 - ldrb r0, [r0, #6] - lsls r0, r0, #2 - adds r0, r0, r1 - ldr r0, [r0] - bl _call_via_r0 - pop {pc} - .align 2, 0 -_08054CFC: .4byte gUnk_080FEEC8 -_08054D00: .4byte gUnk_02000080 - - thumb_func_start sub_08054D04 -sub_08054D04: @ 0x08054D04 - push {r4, lr} - ldr r4, _08054D34 @ =gUnk_02000080 - ldr r1, [r4, #0xc] - ldrb r0, [r1, #2] - ldrb r1, [r1, #3] - bl sub_0804B0B0 - ldrb r0, [r4, #4] - movs r1, #0 - movs r2, #0 - movs r3, #0 - bl sub_08055B70 - ldrb r0, [r4, #6] - adds r0, #1 - strb r0, [r4, #6] - ldr r1, _08054D38 @ =gUnk_02000070 - movs r0, #1 - strb r0, [r1] - movs r0, #4 - movs r1, #0x10 - bl DoFade - pop {r4, pc} - .align 2, 0 -_08054D34: .4byte gUnk_02000080 -_08054D38: .4byte gUnk_02000070 - - thumb_func_start sub_08054D3C -sub_08054D3C: @ 0x08054D3C - push {r4, lr} - ldr r0, _08054D6C @ =gUnk_03000FD0 - ldrb r0, [r0] - cmp r0, #0 - bne _08054D6A - movs r0, #0xff - bl sub_0807CC3C - cmp r0, #0 - beq _08054D6A - ldr r4, _08054D70 @ =gUnk_02000080 - ldrb r0, [r4, #4] - movs r1, #1 - bl sub_0801876C - ldrb r0, [r4, #4] - bl sub_080553E0 - ldrb r0, [r4, #6] - adds r0, #1 - strb r0, [r4, #6] - movs r0, #0x78 - strh r0, [r4, #8] -_08054D6A: - pop {r4, pc} - .align 2, 0 -_08054D6C: .4byte gUnk_03000FD0 -_08054D70: .4byte gUnk_02000080 - - thumb_func_start sub_08054D74 -sub_08054D74: @ 0x08054D74 - push {lr} - ldr r1, _08054D8C @ =gUnk_02000080 - ldrh r0, [r1, #8] - subs r0, #1 - strh r0, [r1, #8] - lsls r0, r0, #0x10 - cmp r0, #0 - bne _08054D8A - ldrb r0, [r1, #5] - adds r0, #1 - strb r0, [r1, #5] -_08054D8A: - pop {pc} - .align 2, 0 -_08054D8C: .4byte gUnk_02000080 - - thumb_func_start sub_08054D90 -sub_08054D90: @ 0x08054D90 - push {lr} - ldr r1, _08054DA4 @ =gUnk_080FEF34 - ldr r0, _08054DA8 @ =gUnk_02000080 - ldrb r0, [r0, #6] - lsls r0, r0, #2 - adds r0, r0, r1 - ldr r0, [r0] - bl _call_via_r0 - pop {pc} - .align 2, 0 -_08054DA4: .4byte gUnk_080FEF34 -_08054DA8: .4byte gUnk_02000080 - - thumb_func_start sub_08054DAC -sub_08054DAC: @ 0x08054DAC - push {r4, lr} - ldr r4, _08054DF0 @ =gUnk_02000080 - ldr r1, [r4, #0xc] - ldrb r0, [r1, #2] - ldrb r1, [r1, #3] - bl sub_0804B0B0 - ldr r0, _08054DF4 @ =gUnk_080FEED4 - bl LoadRoomEntityList - movs r0, #2 - bl sub_0805B4D0 - movs r0, #0 - bl sub_0806D0B0 - ldrb r0, [r4, #4] - movs r1, #0 - movs r2, #0 - movs r3, #0 - bl sub_08055B70 - ldrb r0, [r4, #6] - adds r0, #1 - strb r0, [r4, #6] - ldr r1, _08054DF8 @ =gUnk_02000070 - movs r0, #1 - strb r0, [r1] - movs r0, #4 - movs r1, #0x10 - bl DoFade - pop {r4, pc} - .align 2, 0 -_08054DF0: .4byte gUnk_02000080 -_08054DF4: .4byte gUnk_080FEED4 -_08054DF8: .4byte gUnk_02000070 - - thumb_func_start nullsub_484 -nullsub_484: @ 0x08054DFC - bx lr - .align 2, 0 - - thumb_func_start sub_08054E00 -sub_08054E00: @ 0x08054E00 - push {lr} - ldr r1, _08054E14 @ =gUnk_080FEF3C - ldr r0, _08054E18 @ =gUnk_02000080 - ldrb r0, [r0, #6] - lsls r0, r0, #2 - adds r0, r0, r1 - ldr r0, [r0] - bl _call_via_r0 - pop {pc} - .align 2, 0 -_08054E14: .4byte gUnk_080FEF3C -_08054E18: .4byte gUnk_02000080 - - thumb_func_start sub_08054E1C -sub_08054E1C: @ 0x08054E1C - push {r4, r5, lr} - ldr r5, _08054E54 @ =gUnk_02000080 - ldr r4, [r5, #0xc] - ldrb r0, [r4, #2] - ldrb r1, [r4, #3] - bl sub_0804B0B0 - ldrb r0, [r4, #2] - ldrb r1, [r4, #3] - bl sub_0804B0E8 - ldrb r0, [r5, #4] - movs r1, #0 - movs r2, #0 - movs r3, #0 - bl sub_08055B70 - ldrb r0, [r5, #6] - adds r0, #1 - strb r0, [r5, #6] - ldr r1, _08054E58 @ =gUnk_02000070 - movs r0, #1 - strb r0, [r1] - movs r0, #4 - movs r1, #0x10 - bl DoFade - pop {r4, r5, pc} - .align 2, 0 -_08054E54: .4byte gUnk_02000080 -_08054E58: .4byte gUnk_02000070 - - thumb_func_start sub_08054E5C -sub_08054E5C: @ 0x08054E5C - push {r4, lr} - ldr r0, _08054E94 @ =gUnk_03000FD0 - ldrb r0, [r0] - cmp r0, #0 - bne _08054E92 - movs r0, #0xff - bl sub_0807CC3C - cmp r0, #0 - beq _08054E92 - ldr r4, _08054E98 @ =gUnk_02000080 - ldrb r0, [r4, #6] - adds r0, #1 - strb r0, [r4, #6] - movs r0, #0xb4 - strh r0, [r4, #8] - movs r0, #6 - movs r1, #0x10 - bl DoFade - ldrb r0, [r4, #4] - bl sub_080553E0 - ldrb r0, [r4, #4] - movs r1, #1 - bl sub_0801876C -_08054E92: - pop {r4, pc} - .align 2, 0 -_08054E94: .4byte gUnk_03000FD0 -_08054E98: .4byte gUnk_02000080 - - thumb_func_start sub_08054E9C -sub_08054E9C: @ 0x08054E9C - push {lr} - ldr r1, _08054EB4 @ =gUnk_02000080 - ldrh r0, [r1, #8] - subs r0, #1 - strh r0, [r1, #8] - lsls r0, r0, #0x10 - cmp r0, #0 - bne _08054EB2 - ldrb r0, [r1, #5] - adds r0, #1 - strb r0, [r1, #5] -_08054EB2: - pop {pc} - .align 2, 0 -_08054EB4: .4byte gUnk_02000080 - - thumb_func_start sub_08054EB8 -sub_08054EB8: @ 0x08054EB8 - push {r4, lr} - adds r4, r0, #0 - bl sub_0805E8D4 - adds r3, r0, #0 - cmp r3, #0 - beq _08054EF6 - movs r0, #9 - strb r0, [r3, #8] - movs r0, #0x24 - strb r0, [r3, #9] - ldr r2, _08054EF8 @ =gRoomControls - ldrh r0, [r4, #0x2e] - ldrh r1, [r2, #6] - subs r0, r0, r1 - strh r0, [r3, #0x38] - ldrh r0, [r4, #0x32] - ldrh r1, [r2, #8] - subs r0, r0, r1 - subs r0, #0x10 - strh r0, [r3, #0x3a] - adds r1, r3, #0 - adds r1, #0x35 - movs r0, #1 - strb r0, [r1] - movs r0, #0x79 - strh r0, [r3, #0x3e] - adds r0, r3, #0 - movs r1, #6 - bl sub_0805EA2C -_08054EF6: - pop {r4, pc} - .align 2, 0 -_08054EF8: .4byte gRoomControls - - thumb_func_start sub_08054EFC -sub_08054EFC: @ 0x08054EFC - push {r4, r5, lr} - adds r4, r0, #0 - movs r0, #0x2e - ldrsh r1, [r4, r0] - ldr r2, _08054F5C @ =gRoomControls - ldrh r0, [r2, #6] - subs r1, r1, r0 - asrs r1, r1, #4 - movs r3, #0x3f - ands r1, r3 - movs r5, #0x32 - ldrsh r0, [r4, r5] - ldrh r2, [r2, #8] - subs r0, r0, r2 - asrs r0, r0, #4 - ands r0, r3 - lsls r0, r0, #6 - orrs r1, r0 - subs r1, #0x40 - ldr r0, _08054F60 @ =0x00004074 - movs r2, #1 - bl sub_0800015E - adds r1, r4, #0 - adds r1, #0x38 - movs r0, #2 - strb r0, [r1] - adds r0, r4, #0 - bl UpdateSpriteOrderAndFlip - adds r0, r4, #0 - movs r1, #0x35 - movs r2, #0 - bl CreateFX - adds r1, r0, #0 - cmp r1, #0 - beq _08054F54 - ldrh r0, [r1, #0x32] - subs r0, #0x10 - strh r0, [r1, #0x32] - adds r0, r4, #0 - bl sub_0806FAD8 -_08054F54: - movs r0, #0xfd - bl PlaySFX - pop {r4, r5, pc} - .align 2, 0 -_08054F5C: .4byte gRoomControls -_08054F60: .4byte 0x00004074 - - thumb_func_start sub_08054F64 -sub_08054F64: @ 0x08054F64 - push {lr} - ldrb r0, [r0, #0xb] - ldr r3, _08054F7C @ =gUnk_02033280 - ldr r2, [r3] - adds r1, r2, #0 - ands r1, r0 - cmp r1, r0 - beq _08054F80 - movs r0, #0 - strb r0, [r3, #6] - b _08054F8C - .align 2, 0 -_08054F7C: .4byte gUnk_02033280 -_08054F80: - bics r2, r1 - str r2, [r3] - ldrb r1, [r3, #7] - movs r0, #1 - orrs r0, r1 - strb r0, [r3, #7] -_08054F8C: - pop {pc} - .align 2, 0 - - thumb_func_start sub_08054F90 -sub_08054F90: @ 0x08054F90 - push {lr} - ldr r1, _08054FA4 @ =gUnk_080FF120 - ldr r0, _08054FA8 @ =gUnk_02000080 - ldrb r0, [r0, #6] - lsls r0, r0, #2 - adds r0, r0, r1 - ldr r0, [r0] - bl _call_via_r0 - pop {pc} - .align 2, 0 -_08054FA4: .4byte gUnk_080FF120 -_08054FA8: .4byte gUnk_02000080 - - thumb_func_start sub_08054FAC -sub_08054FAC: @ 0x08054FAC - push {r4, r5, r6, lr} - ldr r6, _08055008 @ =gUnk_02000080 - ldr r5, [r6, #0xc] - ldr r1, _0805500C @ =gUnk_080FF108 - ldrb r0, [r5, #1] - lsls r0, r0, #2 - adds r0, r0, r1 - ldr r0, [r0] - bl LoadRoomEntityList - ldrb r0, [r5, #1] - movs r1, #0 - cmp r0, #0 - beq _08054FCA - movs r1, #3 -_08054FCA: - ldrb r0, [r6, #4] - movs r2, #0 - movs r3, #0 - bl sub_08055B70 - ldrb r0, [r6, #6] - adds r0, #1 - movs r4, #0 - strb r0, [r6, #6] - ldr r1, _08055010 @ =gUnk_02000070 - movs r0, #1 - strb r0, [r1] - movs r0, #4 - movs r1, #0x10 - bl DoFade - strh r4, [r6, #0xa] - movs r0, #0x80 - lsls r0, r0, #3 - movs r1, #0x77 - bl GetProgressFlagWithOffset - cmp r0, #0 - beq _08055004 - ldrb r0, [r5, #2] - cmp r0, #0x2f - bne _08055004 - movs r0, #1 - strh r0, [r6, #0xa] -_08055004: - pop {r4, r5, r6, pc} - .align 2, 0 -_08055008: .4byte gUnk_02000080 -_0805500C: .4byte gUnk_080FF108 -_08055010: .4byte gUnk_02000070 - - thumb_func_start sub_08055014 -sub_08055014: @ 0x08055014 - push {lr} - ldr r1, _08055030 @ =gUnk_02000080 - ldrh r0, [r1, #0xa] - cmp r0, #0 - beq _0805502C - movs r0, #0 - strh r0, [r1, #0xa] - ldr r1, _08055034 @ =0x00000407 - movs r0, #0x74 - movs r2, #1 - bl sub_0807B314 -_0805502C: - pop {pc} - .align 2, 0 -_08055030: .4byte gUnk_02000080 -_08055034: .4byte 0x00000407 - - thumb_func_start sub_08055038 -sub_08055038: @ 0x08055038 - push {lr} - ldr r1, _0805504C @ =gUnk_080FF148 - ldr r0, _08055050 @ =gUnk_02000080 - ldrb r0, [r0, #6] - lsls r0, r0, #2 - adds r0, r0, r1 - ldr r0, [r0] - bl _call_via_r0 - pop {pc} - .align 2, 0 -_0805504C: .4byte gUnk_080FF148 -_08055050: .4byte gUnk_02000080 - - thumb_func_start sub_08055054 -sub_08055054: @ 0x08055054 - push {r4, lr} - ldr r0, _08055080 @ =gUnk_080FF128 - bl LoadRoomEntityList - ldr r4, _08055084 @ =gUnk_02000080 - ldrb r0, [r4, #4] - movs r1, #2 - movs r2, #0 - movs r3, #0 - bl sub_08055B70 - ldrb r0, [r4, #6] - adds r0, #1 - strb r0, [r4, #6] - ldr r1, _08055088 @ =gUnk_02000070 - movs r0, #1 - strb r0, [r1] - movs r0, #4 - movs r1, #0x10 - bl DoFade - pop {r4, pc} - .align 2, 0 -_08055080: .4byte gUnk_080FF128 -_08055084: .4byte gUnk_02000080 -_08055088: .4byte gUnk_02000070 - - thumb_func_start sub_0805508C -sub_0805508C: @ 0x0805508C - bx lr - .align 2, 0 - - thumb_func_start sub_08055090 -sub_08055090: @ 0x08055090 - bx lr - .align 2, 0 - - thumb_func_start sub_08055094 -sub_08055094: @ 0x08055094 - push {lr} - ldr r1, _080550A8 @ =gUnk_080FF174 - ldr r0, _080550AC @ =gUnk_02000080 - ldrb r0, [r0, #6] - lsls r0, r0, #2 - adds r0, r0, r1 - ldr r0, [r0] - bl _call_via_r0 - pop {pc} - .align 2, 0 -_080550A8: .4byte gUnk_080FF174 -_080550AC: .4byte gUnk_02000080 - - thumb_func_start sub_080550B0 -sub_080550B0: @ 0x080550B0 - push {r4, lr} - ldr r4, _080550E8 @ =gUnk_02000080 - ldr r1, [r4, #0xc] - ldrb r0, [r1, #2] - ldrb r1, [r1, #3] - bl sub_0804B0B0 - ldr r0, _080550EC @ =gUnk_080FF154 - bl LoadRoomEntityList - ldrb r0, [r4, #4] - movs r1, #0 - movs r2, #0 - movs r3, #0 - bl sub_08055B70 - ldrb r0, [r4, #6] - adds r0, #1 - strb r0, [r4, #6] - ldr r1, _080550F0 @ =gUnk_02000070 - movs r0, #1 - strb r0, [r1] - movs r0, #4 - movs r1, #0x10 - bl DoFade - pop {r4, pc} - .align 2, 0 -_080550E8: .4byte gUnk_02000080 -_080550EC: .4byte gUnk_080FF154 -_080550F0: .4byte gUnk_02000070 - - thumb_func_start nullsub_487 -nullsub_487: @ 0x080550F4 - bx lr - .align 2, 0 - - thumb_func_start sub_080550F8 -sub_080550F8: @ 0x080550F8 - push {lr} - ldr r1, _0805510C @ =gUnk_080FF1CC - ldr r0, _08055110 @ =gUnk_02000080 - ldrb r0, [r0, #6] - lsls r0, r0, #2 - adds r0, r0, r1 - ldr r0, [r0] - bl _call_via_r0 - pop {pc} - .align 2, 0 -_0805510C: .4byte gUnk_080FF1CC -_08055110: .4byte gUnk_02000080 - - thumb_func_start sub_08055114 -sub_08055114: @ 0x08055114 - push {r4, lr} - ldr r0, _08055150 @ =gUnk_080FF17C - bl LoadRoomEntityList - ldr r0, _08055154 @ =gUnk_02002A40 - ldrb r0, [r0, #8] - cmp r0, #9 - beq _0805512A - ldr r0, _08055158 @ =0x00000DB4 - bl sub_08018C58 -_0805512A: - ldr r4, _0805515C @ =gUnk_02000080 - ldrb r0, [r4, #4] - movs r1, #0 - movs r2, #0 - movs r3, #0 - bl sub_08055B70 - ldrb r0, [r4, #6] - adds r0, #1 - strb r0, [r4, #6] - ldr r1, _08055160 @ =gUnk_02000070 - movs r0, #1 - strb r0, [r1] - movs r0, #4 - movs r1, #0x10 - bl DoFade - pop {r4, pc} - .align 2, 0 -_08055150: .4byte gUnk_080FF17C -_08055154: .4byte gUnk_02002A40 -_08055158: .4byte 0x00000DB4 -_0805515C: .4byte gUnk_02000080 -_08055160: .4byte gUnk_02000070 - - thumb_func_start nullsub_488 -nullsub_488: @ 0x08055164 - bx lr - .align 2, 0 - - thumb_func_start sub_08055168 -sub_08055168: @ 0x08055168 - push {lr} - ldr r1, _0805517C @ =gUnk_080FF1F4 - ldr r0, _08055180 @ =gUnk_02000080 - ldrb r0, [r0, #6] - lsls r0, r0, #2 - adds r0, r0, r1 - ldr r0, [r0] - bl _call_via_r0 - pop {pc} - .align 2, 0 -_0805517C: .4byte gUnk_080FF1F4 -_08055180: .4byte gUnk_02000080 - - thumb_func_start sub_08055184 -sub_08055184: @ 0x08055184 - push {r4, r5, r6, lr} - mov r6, r8 - push {r6} - ldr r5, _0805520C @ =gUnk_02000080 - ldr r0, [r5, #0xc] - ldrb r1, [r0, #1] - movs r0, #0xf - ands r0, r1 - lsls r4, r0, #1 - adds r4, r4, r0 - lsls r4, r4, #1 - ldr r0, _08055210 @ =gUnk_080FF1D4 - adds r4, r4, r0 - movs r1, #0 - ldrsh r0, [r4, r1] - bl sub_0801D7EC - ldr r2, _08055214 @ =gLCDControls - ldrh r0, [r4, #2] - movs r6, #0 - movs r3, #0 - mov r8, r3 - strh r0, [r2, #0x2e] - ldrh r0, [r4, #4] - strh r0, [r2, #0x30] - ldr r0, _08055218 @ =0x00001E05 - strh r0, [r2, #0x2c] - adds r1, r2, #0 - adds r1, #0x66 - ldr r0, _0805521C @ =0x00003648 - strh r0, [r1] - adds r1, #2 - movs r0, #0x10 - strh r0, [r1] - ldrh r0, [r2] - movs r3, #0x80 - lsls r3, r3, #4 - adds r1, r3, #0 - orrs r0, r1 - strh r0, [r2] - ldrb r0, [r5, #4] - movs r1, #1 - bl sub_0801876C - ldrb r0, [r5, #4] - movs r1, #0 - movs r2, #0 - movs r3, #0 - bl sub_08055B70 - ldrb r0, [r5, #6] - adds r0, #1 - strb r0, [r5, #6] - strb r6, [r5, #7] - movs r0, #0x3c - strh r0, [r5, #8] - mov r0, r8 - strh r0, [r5, #0xa] - ldr r1, _08055220 @ =gUnk_02000070 - movs r0, #1 - strb r0, [r1] - movs r0, #4 - movs r1, #0x10 - bl DoFade - pop {r3} - mov r8, r3 - pop {r4, r5, r6, pc} - .align 2, 0 -_0805520C: .4byte gUnk_02000080 -_08055210: .4byte gUnk_080FF1D4 -_08055214: .4byte gLCDControls -_08055218: .4byte 0x00001E05 -_0805521C: .4byte 0x00003648 -_08055220: .4byte gUnk_02000070 - - thumb_func_start sub_08055224 -sub_08055224: @ 0x08055224 - push {lr} - ldr r0, _08055244 @ =gUnk_03000FD0 - ldrb r0, [r0] - cmp r0, #0 - bne _08055240 - movs r0, #0xff - bl sub_0807CC3C - cmp r0, #0 - beq _08055240 - ldr r1, _08055248 @ =gUnk_02000080 - ldrb r0, [r1, #6] - adds r0, #1 - strb r0, [r1, #6] -_08055240: - pop {pc} - .align 2, 0 -_08055244: .4byte gUnk_03000FD0 -_08055248: .4byte gUnk_02000080 - - thumb_func_start sub_0805524C -sub_0805524C: @ 0x0805524C - push {r4, lr} - ldr r3, _08055270 @ =gUnk_02000080 - ldrb r0, [r3, #7] - cmp r0, #0 - bne _08055274 - ldrh r0, [r3, #8] - subs r0, #1 - strh r0, [r3, #8] - lsls r0, r0, #0x10 - cmp r0, #0 - bne _080552D6 - ldrb r0, [r3, #7] - adds r0, #1 - strb r0, [r3, #7] - movs r0, #0xf6 - bl PlaySFX - b _080552D6 - .align 2, 0 -_08055270: .4byte gUnk_02000080 -_08055274: - ldr r0, _080552A4 @ =gUnk_030010A0 - ldr r0, [r0] - movs r1, #7 - ands r0, r1 - cmp r0, #0 - bne _080552D6 - ldr r4, _080552A8 @ =gUnk_080FF204 - ldrh r2, [r3, #0xa] - lsls r0, r2, #1 - adds r0, r0, r4 - ldrh r1, [r0] - ldr r0, _080552AC @ =0x0000FFFF - cmp r1, r0 - beq _080552B4 - ldr r1, _080552B0 @ =gLCDControls - adds r0, r2, #1 - strh r0, [r3, #0xa] - lsls r0, r2, #1 - adds r0, r0, r4 - ldrh r0, [r0] - adds r1, #0x68 - strh r0, [r1] - b _080552D6 - .align 2, 0 -_080552A4: .4byte gUnk_030010A0 -_080552A8: .4byte gUnk_080FF204 -_080552AC: .4byte 0x0000FFFF -_080552B0: .4byte gLCDControls -_080552B4: - ldr r1, _080552D8 @ =gLCDControls - ldrh r2, [r1] - ldr r0, _080552DC @ =0x0000F7FF - ands r0, r2 - strh r0, [r1] - adds r1, #0x68 - movs r0, #0x80 - lsls r0, r0, #5 - strh r0, [r1] - movs r0, #0x78 - strh r0, [r3, #8] - ldrb r0, [r3, #6] - adds r0, #1 - strb r0, [r3, #6] - movs r0, #0x73 - bl PlaySFX -_080552D6: - pop {r4, pc} - .align 2, 0 -_080552D8: .4byte gLCDControls -_080552DC: .4byte 0x0000F7FF - - thumb_func_start sub_080552E0 -sub_080552E0: @ 0x080552E0 - push {lr} - ldr r1, _080552F8 @ =gUnk_02000080 - ldrh r0, [r1, #8] - subs r0, #1 - strh r0, [r1, #8] - lsls r0, r0, #0x10 - cmp r0, #0 - bne _080552F6 - ldrb r0, [r1, #5] - adds r0, #1 - strb r0, [r1, #5] -_080552F6: - pop {pc} - .align 2, 0 -_080552F8: .4byte gUnk_02000080 - - thumb_func_start sub_080552FC -sub_080552FC: @ 0x080552FC - push {lr} - ldr r1, _08055310 @ =gUnk_080FF228 - ldr r0, _08055314 @ =gUnk_02000080 - ldrb r0, [r0, #6] - lsls r0, r0, #2 - adds r0, r0, r1 - ldr r0, [r0] - bl _call_via_r0 - pop {pc} - .align 2, 0 -_08055310: .4byte gUnk_080FF228 -_08055314: .4byte gUnk_02000080 - - thumb_func_start sub_08055318 -sub_08055318: @ 0x08055318 - push {r4, lr} - ldr r4, _08055348 @ =gUnk_02000080 - ldrb r0, [r4, #4] - movs r1, #0 - movs r2, #0 - movs r3, #0 - bl sub_08055B70 - ldrb r0, [r4, #4] - movs r1, #0 - bl sub_0801876C - ldrb r0, [r4, #6] - adds r0, #1 - strb r0, [r4, #6] - ldr r1, _0805534C @ =gUnk_02000070 - movs r0, #1 - strb r0, [r1] - movs r0, #4 - movs r1, #0x10 - bl DoFade - pop {r4, pc} - .align 2, 0 -_08055348: .4byte gUnk_02000080 -_0805534C: .4byte gUnk_02000070 - - thumb_func_start sub_08055350 -sub_08055350: @ 0x08055350 - push {lr} - ldr r0, _08055378 @ =gUnk_03000FD0 - ldrb r0, [r0] - cmp r0, #0 - bne _08055374 - movs r0, #0xff - bl sub_0807CC3C - cmp r0, #0 - beq _08055374 - movs r0, #7 - movs r1, #0x10 - bl DoFade - ldr r1, _0805537C @ =gUnk_02000080 - ldrb r0, [r1, #6] - adds r0, #1 - strb r0, [r1, #6] -_08055374: - pop {pc} - .align 2, 0 -_08055378: .4byte gUnk_03000FD0 -_0805537C: .4byte gUnk_02000080 - - thumb_func_start sub_08055380 -sub_08055380: @ 0x08055380 - push {r4, lr} - ldr r0, _080553B0 @ =gUnk_03000FD0 - ldrb r0, [r0] - cmp r0, #0 - bne _080553AC - ldr r4, _080553B4 @ =gUnk_02000080 - ldrb r0, [r4, #4] - movs r1, #0 - bl sub_08054974 - movs r0, #6 - movs r1, #0x10 - bl DoFade - movs r0, #0x73 - bl PlaySFX - ldrb r0, [r4, #6] - adds r0, #1 - strb r0, [r4, #6] - movs r0, #0x78 - strh r0, [r4, #8] -_080553AC: - pop {r4, pc} - .align 2, 0 -_080553B0: .4byte gUnk_03000FD0 -_080553B4: .4byte gUnk_02000080 - - thumb_func_start sub_080553B8 -sub_080553B8: @ 0x080553B8 - push {lr} - ldr r0, _080553D8 @ =gUnk_03000FD0 - ldrb r0, [r0] - cmp r0, #0 - bne _080553D6 - ldr r1, _080553DC @ =gUnk_02000080 - ldrh r0, [r1, #8] - subs r0, #1 - strh r0, [r1, #8] - lsls r0, r0, #0x10 - cmp r0, #0 - bne _080553D6 - ldrb r0, [r1, #5] - adds r0, #1 - strb r0, [r1, #5] -_080553D6: - pop {pc} - .align 2, 0 -_080553D8: .4byte gUnk_03000FD0 -_080553DC: .4byte gUnk_02000080 - - thumb_func_start sub_080553E0 -sub_080553E0: @ 0x080553E0 - push {r4, lr} - ldr r0, _0805540C @ =gUnk_02000080 - ldr r4, [r0, #0xc] - movs r0, #0xf - movs r1, #0x43 - movs r2, #0 - bl CreateObject - adds r2, r0, #0 - cmp r2, #0 - beq _08055408 - ldr r0, _08055410 @ =gRoomControls - ldrh r1, [r0, #6] - ldrh r3, [r4, #8] - adds r1, r1, r3 - strh r1, [r2, #0x2e] - ldrh r0, [r0, #8] - ldrh r4, [r4, #0xa] - adds r0, r0, r4 - strh r0, [r2, #0x32] -_08055408: - pop {r4, pc} - .align 2, 0 -_0805540C: .4byte gUnk_02000080 -_08055410: .4byte gRoomControls - - thumb_func_start sub_08055414 -sub_08055414: @ 0x08055414 - push {lr} - ldr r1, _08055428 @ =gUnk_080FF238 - ldr r0, _0805542C @ =gUnk_02000080 - ldrb r0, [r0, #6] - lsls r0, r0, #2 - adds r0, r0, r1 - ldr r0, [r0] - bl _call_via_r0 - pop {pc} - .align 2, 0 -_08055428: .4byte gUnk_080FF238 -_0805542C: .4byte gUnk_02000080 - - thumb_func_start sub_08055430 -sub_08055430: @ 0x08055430 - push {r4, lr} - ldr r4, _08055460 @ =gUnk_02000080 - ldr r1, [r4, #0xc] - ldrb r0, [r1, #2] - ldrb r1, [r1, #3] - bl sub_0804B0E8 - ldrb r0, [r4, #4] - movs r1, #0 - movs r2, #0 - movs r3, #0 - bl sub_08055B70 - ldrb r0, [r4, #6] - adds r0, #1 - strb r0, [r4, #6] - ldr r1, _08055464 @ =gUnk_02000070 - movs r0, #1 - strb r0, [r1] - movs r0, #4 - movs r1, #0x10 - bl DoFade - pop {r4, pc} - .align 2, 0 -_08055460: .4byte gUnk_02000080 -_08055464: .4byte gUnk_02000070 - - thumb_func_start sub_08055468 -sub_08055468: @ 0x08055468 - push {lr} - ldr r0, _08055490 @ =gUnk_03000FD0 - ldrb r0, [r0] - cmp r0, #0 - bne _0805548C - movs r0, #0xff - bl sub_0807CC3C - cmp r0, #0 - beq _0805548C - movs r0, #7 - movs r1, #0x10 - bl DoFade - ldr r1, _08055494 @ =gUnk_02000080 - ldrb r0, [r1, #6] - adds r0, #1 - strb r0, [r1, #6] -_0805548C: - pop {pc} - .align 2, 0 -_08055490: .4byte gUnk_03000FD0 -_08055494: .4byte gUnk_02000080 - - thumb_func_start sub_08055498 -sub_08055498: @ 0x08055498 - push {r4, lr} - ldr r0, _080554CC @ =gUnk_03000FD0 - ldrb r0, [r0] - cmp r0, #0 - bne _080554CA - ldr r4, _080554D0 @ =gUnk_02000080 - ldrb r0, [r4, #4] - movs r1, #1 - bl sub_0801876C - ldrb r0, [r4, #4] - bl sub_080553E0 - movs r0, #6 - movs r1, #0x10 - bl DoFade - movs r0, #0x73 - bl PlaySFX - ldrb r0, [r4, #6] - adds r0, #1 - strb r0, [r4, #6] - movs r0, #0x78 - strh r0, [r4, #8] -_080554CA: - pop {r4, pc} - .align 2, 0 -_080554CC: .4byte gUnk_03000FD0 -_080554D0: .4byte gUnk_02000080 - - thumb_func_start sub_080554D4 -sub_080554D4: @ 0x080554D4 - push {lr} - ldr r0, _080554F4 @ =gUnk_03000FD0 - ldrb r0, [r0] - cmp r0, #0 - bne _080554F2 - ldr r1, _080554F8 @ =gUnk_02000080 - ldrh r0, [r1, #8] - subs r0, #1 - strh r0, [r1, #8] - lsls r0, r0, #0x10 - cmp r0, #0 - bne _080554F2 - ldrb r0, [r1, #5] - adds r0, #1 - strb r0, [r1, #5] -_080554F2: - pop {pc} - .align 2, 0 -_080554F4: .4byte gUnk_03000FD0 -_080554F8: .4byte gUnk_02000080 - - thumb_func_start sub_080554FC -sub_080554FC: @ 0x080554FC - push {lr} - ldr r1, _08055510 @ =gUnk_080FF248 - ldr r0, _08055514 @ =gUnk_02000080 - ldrb r0, [r0, #6] - lsls r0, r0, #2 - adds r0, r0, r1 - ldr r0, [r0] - bl _call_via_r0 - pop {pc} - .align 2, 0 -_08055510: .4byte gUnk_080FF248 -_08055514: .4byte gUnk_02000080 - - thumb_func_start sub_08055518 -sub_08055518: @ 0x08055518 - push {r4, lr} - ldr r4, _08055540 @ =gUnk_02000080 - ldrb r0, [r4, #4] - movs r1, #0 - movs r2, #0 - movs r3, #0 - bl sub_08055B70 - ldrb r0, [r4, #6] - adds r0, #1 - strb r0, [r4, #6] - ldr r1, _08055544 @ =gUnk_02000070 - movs r0, #1 - strb r0, [r1] - movs r0, #4 - movs r1, #0x10 - bl DoFade - pop {r4, pc} - .align 2, 0 -_08055540: .4byte gUnk_02000080 -_08055544: .4byte gUnk_02000070 - - thumb_func_start sub_08055548 -sub_08055548: @ 0x08055548 - push {r4, lr} - ldr r0, _08055578 @ =gUnk_03000FD0 - ldrb r0, [r0] - cmp r0, #0 - bne _08055576 - movs r0, #0xff - bl sub_0807CC3C - cmp r0, #0 - beq _08055576 - ldr r4, _0805557C @ =gUnk_02000080 - ldrb r0, [r4, #4] - movs r1, #1 - bl sub_0801876C - ldrb r0, [r4, #4] - bl sub_080553E0 - ldrb r0, [r4, #6] - adds r0, #1 - strb r0, [r4, #6] - movs r0, #0xb4 - strh r0, [r4, #8] -_08055576: - pop {r4, pc} - .align 2, 0 -_08055578: .4byte gUnk_03000FD0 -_0805557C: .4byte gUnk_02000080 - - thumb_func_start sub_08055580 -sub_08055580: @ 0x08055580 - push {lr} - ldr r1, _08055598 @ =gUnk_02000080 - ldrh r0, [r1, #8] - subs r0, #1 - strh r0, [r1, #8] - lsls r0, r0, #0x10 - cmp r0, #0 - bne _08055596 - ldrb r0, [r1, #5] - adds r0, #1 - strb r0, [r1, #5] -_08055596: - pop {pc} - .align 2, 0 -_08055598: .4byte gUnk_02000080 - - thumb_func_start sub_0805559C -sub_0805559C: @ 0x0805559C - push {lr} - ldr r1, _080555B0 @ =gUnk_080FF254 - ldr r0, _080555B4 @ =gUnk_02000080 - ldrb r0, [r0, #6] - lsls r0, r0, #2 - adds r0, r0, r1 - ldr r0, [r0] - bl _call_via_r0 - pop {pc} - .align 2, 0 -_080555B0: .4byte gUnk_080FF254 -_080555B4: .4byte gUnk_02000080 - - thumb_func_start sub_080555B8 -sub_080555B8: @ 0x080555B8 - push {r4, r5, lr} - ldr r5, _08055600 @ =gUnk_02000080 - ldr r4, [r5, #0xc] - ldr r1, _08055604 @ =gUnk_0811E454 - ldrb r0, [r4, #0x11] - lsls r0, r0, #1 - adds r0, r0, r1 - ldrh r0, [r0] - ldrh r1, [r4, #0x12] - bl sub_0807CC9C - ldrb r0, [r4, #2] - ldrb r1, [r4, #3] - bl sub_0804B0E8 - movs r0, #0x11 - bl sub_0801D7EC - ldrb r0, [r5, #4] - movs r1, #0 - movs r2, #0 - movs r3, #0 - bl sub_08055B70 - ldrb r0, [r5, #6] - adds r0, #1 - strb r0, [r5, #6] - ldr r1, _08055608 @ =gUnk_02000070 - movs r0, #1 - strb r0, [r1] - movs r0, #4 - movs r1, #0x10 - bl DoFade - pop {r4, r5, pc} - .align 2, 0 -_08055600: .4byte gUnk_02000080 -_08055604: .4byte gUnk_0811E454 -_08055608: .4byte gUnk_02000070 - - thumb_func_start sub_0805560C -sub_0805560C: @ 0x0805560C - push {lr} - ldr r0, _0805562C @ =gUnk_03000FD0 - ldrb r0, [r0] - cmp r0, #0 - bne _08055628 - movs r0, #0xff - bl sub_0807CC3C - cmp r0, #0 - beq _08055628 - ldr r1, _08055630 @ =gUnk_02000080 - ldrb r0, [r1, #6] - adds r0, #1 - strb r0, [r1, #6] -_08055628: - pop {pc} - .align 2, 0 -_0805562C: .4byte gUnk_03000FD0 -_08055630: .4byte gUnk_02000080 - - thumb_func_start sub_08055634 -sub_08055634: @ 0x08055634 - push {r4, r5, lr} - ldr r4, _0805566C @ =gUnk_02000080 - ldr r5, [r4, #0xc] - movs r0, #0x2c - movs r1, #0 - movs r2, #0 - bl CreateObject - adds r2, r0, #0 - cmp r2, #0 - beq _0805565C - ldr r0, _08055670 @ =gRoomControls - ldrh r1, [r5, #8] - ldrh r3, [r0, #6] - adds r1, r1, r3 - strh r1, [r2, #0x2e] - ldrh r1, [r5, #0xa] - ldrh r0, [r0, #8] - adds r1, r1, r0 - strh r1, [r2, #0x32] -_0805565C: - ldrb r0, [r4, #6] - adds r0, #1 - strb r0, [r4, #6] - movs r0, #0xc3 - lsls r0, r0, #1 - strh r0, [r4, #8] - pop {r4, r5, pc} - .align 2, 0 -_0805566C: .4byte gUnk_02000080 -_08055670: .4byte gRoomControls - - thumb_func_start sub_08055674 -sub_08055674: @ 0x08055674 - push {lr} - ldr r1, _0805568C @ =gUnk_02000080 - ldrh r0, [r1, #8] - subs r0, #1 - strh r0, [r1, #8] - lsls r0, r0, #0x10 - cmp r0, #0 - bne _0805568A - ldrb r0, [r1, #5] - adds r0, #1 - strb r0, [r1, #5] -_0805568A: - pop {pc} - .align 2, 0 -_0805568C: .4byte gUnk_02000080 - - thumb_func_start sub_08055690 -sub_08055690: @ 0x08055690 - push {lr} - ldr r1, _080556A4 @ =gUnk_080FF284 - ldr r0, _080556A8 @ =gUnk_02000080 - ldrb r0, [r0, #6] - lsls r0, r0, #2 - adds r0, r0, r1 - ldr r0, [r0] - bl _call_via_r0 - pop {pc} - .align 2, 0 -_080556A4: .4byte gUnk_080FF284 -_080556A8: .4byte gUnk_02000080 - - thumb_func_start sub_080556AC -sub_080556AC: @ 0x080556AC - push {r4, lr} - ldr r4, _080556E4 @ =gUnk_02000080 - ldrb r0, [r4, #6] - adds r0, #1 - strb r0, [r4, #6] - ldr r1, _080556E8 @ =gUnk_02000070 - movs r0, #1 - strb r0, [r1] - ldr r1, [r4, #0xc] - ldrb r0, [r1, #2] - ldrb r1, [r1, #3] - bl sub_0804B0B0 - ldr r0, _080556EC @ =gUnk_080FF264 - bl LoadRoomEntityList - ldrb r0, [r4, #4] - movs r1, #0 - movs r2, #0 - movs r3, #0 - bl sub_08055B70 - movs r0, #4 - movs r1, #0x10 - bl DoFade - pop {r4, pc} - .align 2, 0 -_080556E4: .4byte gUnk_02000080 -_080556E8: .4byte gUnk_02000070 -_080556EC: .4byte gUnk_080FF264 - - thumb_func_start nullsub_489 -nullsub_489: @ 0x080556F0 - bx lr - .align 2, 0 - - thumb_func_start sub_080556F4 -sub_080556F4: @ 0x080556F4 - push {lr} - ldr r1, _08055708 @ =gUnk_080FF28C - ldr r0, _0805570C @ =gUnk_02000080 - ldrb r0, [r0, #6] - lsls r0, r0, #2 - adds r0, r0, r1 - ldr r0, [r0] - bl _call_via_r0 - pop {pc} - .align 2, 0 -_08055708: .4byte gUnk_080FF28C -_0805570C: .4byte gUnk_02000080 - - thumb_func_start sub_08055710 -sub_08055710: @ 0x08055710 - push {r4, lr} - ldr r4, _0805575C @ =gUnk_02000080 - ldr r1, [r4, #0xc] - ldrb r0, [r1, #2] - ldrb r1, [r1, #3] - bl sub_0804B0B0 - ldr r0, _08055760 @ =gUnk_080FEE48 - bl CreateEntity - adds r1, r0, #0 - cmp r1, #0 - beq _08055734 - movs r0, #2 - strb r0, [r1, #0xb] - adds r1, #0x86 - ldr r0, _08055764 @ =0x000080FF - strh r0, [r1] -_08055734: - ldrb r0, [r4, #4] - bl sub_08054A14 - ldrb r0, [r4, #4] - movs r1, #0 - movs r2, #0 - movs r3, #0 - bl sub_08055B70 - ldrb r0, [r4, #6] - adds r0, #1 - strb r0, [r4, #6] - ldr r1, _08055768 @ =gUnk_02000070 - movs r0, #1 - strb r0, [r1] - movs r0, #4 - movs r1, #0x10 - bl DoFade - pop {r4, pc} - .align 2, 0 -_0805575C: .4byte gUnk_02000080 -_08055760: .4byte gUnk_080FEE48 -_08055764: .4byte 0x000080FF -_08055768: .4byte gUnk_02000070 - - thumb_func_start sub_0805576C -sub_0805576C: @ 0x0805576C - push {lr} - ldr r0, _08055790 @ =gUnk_03000FD0 - ldrb r0, [r0] - cmp r0, #0 - bne _0805578C - movs r0, #0xff - bl sub_0807CC3C - cmp r0, #0 - beq _0805578C - ldr r0, _08055794 @ =gUnk_02000080 - ldrb r1, [r0, #6] - adds r1, #1 - strb r1, [r0, #6] - movs r1, #0x78 - strh r1, [r0, #8] -_0805578C: - pop {pc} - .align 2, 0 -_08055790: .4byte gUnk_03000FD0 -_08055794: .4byte gUnk_02000080 - - thumb_func_start sub_08055798 -sub_08055798: @ 0x08055798 - push {lr} - ldr r1, _080557B0 @ =gUnk_02000080 - ldrh r0, [r1, #8] - subs r0, #1 - strh r0, [r1, #8] - lsls r0, r0, #0x10 - cmp r0, #0 - bne _080557AE - ldrb r0, [r1, #5] - adds r0, #1 - strb r0, [r1, #5] -_080557AE: - pop {pc} - .align 2, 0 -_080557B0: .4byte gUnk_02000080 - - thumb_func_start sub_080557B4 -sub_080557B4: @ 0x080557B4 - push {lr} - ldr r1, _080557C8 @ =gUnk_080FF2B8 - ldr r0, _080557CC @ =gUnk_02000080 - ldrb r0, [r0, #6] - lsls r0, r0, #2 - adds r0, r0, r1 - ldr r0, [r0] - bl _call_via_r0 - pop {pc} - .align 2, 0 -_080557C8: .4byte gUnk_080FF2B8 -_080557CC: .4byte gUnk_02000080 - - thumb_func_start sub_080557D0 -sub_080557D0: @ 0x080557D0 - push {r4, lr} - ldr r4, _08055808 @ =gUnk_02000080 - ldrb r0, [r4, #6] - adds r0, #1 - strb r0, [r4, #6] - ldr r1, _0805580C @ =gUnk_02000070 - movs r0, #1 - strb r0, [r1] - ldr r1, [r4, #0xc] - ldrb r0, [r1, #2] - ldrb r1, [r1, #3] - bl sub_0804B0B0 - ldr r0, _08055810 @ =gUnk_080FF298 - bl LoadRoomEntityList - ldrb r0, [r4, #4] - movs r1, #0 - movs r2, #0 - movs r3, #0 - bl sub_08055B70 - movs r0, #4 - movs r1, #0x10 - bl DoFade - pop {r4, pc} - .align 2, 0 -_08055808: .4byte gUnk_02000080 -_0805580C: .4byte gUnk_02000070 -_08055810: .4byte gUnk_080FF298 - - thumb_func_start nullsub_490 -nullsub_490: @ 0x08055814 - bx lr - .align 2, 0 - - thumb_func_start sub_08055818 -sub_08055818: @ 0x08055818 - push {lr} - ldr r1, _0805582C @ =gUnk_080FF300 - ldr r0, _08055830 @ =gUnk_02000080 - ldrb r0, [r0, #6] - lsls r0, r0, #2 - adds r0, r0, r1 - ldr r0, [r0] - bl _call_via_r0 - pop {pc} - .align 2, 0 -_0805582C: .4byte gUnk_080FF300 -_08055830: .4byte gUnk_02000080 - - thumb_func_start sub_08055834 -sub_08055834: @ 0x08055834 - push {r4, lr} - ldr r0, _08055870 @ =gUnk_080FF2C0 - bl LoadRoomEntityList - ldr r0, _08055874 @ =gUnk_02002A40 - ldrb r0, [r0, #8] - cmp r0, #9 - beq _0805584A - ldr r0, _08055878 @ =0x00000DB4 - bl sub_08018C58 -_0805584A: - ldr r4, _0805587C @ =gUnk_02000080 - ldrb r0, [r4, #4] - movs r1, #1 - movs r2, #0 - movs r3, #0 - bl sub_08055B70 - ldrb r0, [r4, #6] - adds r0, #1 - strb r0, [r4, #6] - ldr r1, _08055880 @ =gUnk_02000070 - movs r0, #1 - strb r0, [r1] - movs r0, #4 - movs r1, #0x10 - bl DoFade - pop {r4, pc} - .align 2, 0 -_08055870: .4byte gUnk_080FF2C0 -_08055874: .4byte gUnk_02002A40 -_08055878: .4byte 0x00000DB4 -_0805587C: .4byte gUnk_02000080 -_08055880: .4byte gUnk_02000070 - - thumb_func_start nullsub_491 -nullsub_491: @ 0x08055884 - bx lr - .align 2, 0 - - thumb_func_start sub_08055888 -sub_08055888: @ 0x08055888 - push {lr} - ldr r1, _0805589C @ =gUnk_080FF328 - ldr r0, _080558A0 @ =gUnk_02000080 - ldrb r0, [r0, #6] - lsls r0, r0, #2 - adds r0, r0, r1 - ldr r0, [r0] - bl _call_via_r0 - pop {pc} - .align 2, 0 -_0805589C: .4byte gUnk_080FF328 -_080558A0: .4byte gUnk_02000080 - - thumb_func_start sub_080558A4 -sub_080558A4: @ 0x080558A4 - push {r4, lr} - ldr r4, _080558DC @ =gUnk_02000080 - ldr r1, [r4, #0xc] - ldrb r0, [r1, #2] - ldrb r1, [r1, #3] - bl sub_0804B0B0 - ldr r0, _080558E0 @ =gUnk_080FF308 - bl LoadRoomEntityList - ldrb r0, [r4, #4] - movs r1, #0 - movs r2, #0 - movs r3, #0 - bl sub_08055B70 - ldrb r0, [r4, #6] - adds r0, #1 - strb r0, [r4, #6] - ldr r1, _080558E4 @ =gUnk_02000070 - movs r0, #1 - strb r0, [r1] - movs r0, #4 - movs r1, #0x10 - bl DoFade - pop {r4, pc} - .align 2, 0 -_080558DC: .4byte gUnk_02000080 -_080558E0: .4byte gUnk_080FF308 -_080558E4: .4byte gUnk_02000070 - - thumb_func_start nullsub_492 -nullsub_492: @ 0x080558E8 - bx lr - .align 2, 0 - - thumb_func_start sub_080558EC -sub_080558EC: @ 0x080558EC - push {lr} - ldr r1, _08055900 @ =gUnk_080FF330 - ldr r0, _08055904 @ =gUnk_02000080 - ldrb r0, [r0, #6] - lsls r0, r0, #2 - adds r0, r0, r1 - ldr r0, [r0] - bl _call_via_r0 - pop {pc} - .align 2, 0 -_08055900: .4byte gUnk_080FF330 -_08055904: .4byte gUnk_02000080 - - thumb_func_start sub_08055908 -sub_08055908: @ 0x08055908 - push {r4, r5, lr} - ldr r5, _08055940 @ =gUnk_02000080 - ldr r4, [r5, #0xc] - ldrb r0, [r4, #2] - ldrb r1, [r4, #3] - bl sub_0804B0B0 - ldrb r0, [r4, #2] - ldrb r1, [r4, #3] - bl sub_0804B0E8 - ldrb r0, [r5, #4] - movs r1, #0 - movs r2, #0 - movs r3, #0 - bl sub_08055B70 - ldrb r0, [r5, #6] - adds r0, #1 - strb r0, [r5, #6] - ldr r1, _08055944 @ =gUnk_02000070 - movs r0, #1 - strb r0, [r1] - movs r0, #4 - movs r1, #0x10 - bl DoFade - pop {r4, r5, pc} - .align 2, 0 -_08055940: .4byte gUnk_02000080 -_08055944: .4byte gUnk_02000070 - - thumb_func_start sub_08055948 -sub_08055948: @ 0x08055948 - push {lr} - ldr r0, _08055970 @ =gUnk_03000FD0 - ldrb r0, [r0] - cmp r0, #0 - bne _0805596C - movs r0, #0xff - bl sub_0807CC3C - cmp r0, #0 - beq _0805596C - bl sub_08055994 - ldr r0, _08055974 @ =gUnk_02000080 - ldrb r1, [r0, #6] - adds r1, #1 - strb r1, [r0, #6] - movs r1, #0x78 - strh r1, [r0, #8] -_0805596C: - pop {pc} - .align 2, 0 -_08055970: .4byte gUnk_03000FD0 -_08055974: .4byte gUnk_02000080 - - thumb_func_start sub_08055978 -sub_08055978: @ 0x08055978 - push {lr} - ldr r1, _08055990 @ =gUnk_02000080 - ldrh r0, [r1, #8] - subs r0, #1 - strh r0, [r1, #8] - lsls r0, r0, #0x10 - cmp r0, #0 - bne _0805598E - ldrb r0, [r1, #5] - adds r0, #1 - strb r0, [r1, #5] -_0805598E: - pop {pc} - .align 2, 0 -_08055990: .4byte gUnk_02000080 - - thumb_func_start sub_08055994 -sub_08055994: @ 0x08055994 - push {r4, lr} - ldr r4, _080559D8 @ =gUnk_02000080 - ldrb r0, [r4, #4] - lsls r0, r0, #3 - ldr r1, _080559DC @ =gUnk_080FEAC8 - adds r0, r0, r1 - ldrb r1, [r0, #6] - movs r0, #1 - ands r0, r1 - movs r3, #1 - cmp r0, #0 - beq _080559AE - movs r3, #2 -_080559AE: - ldr r0, [r4, #0xc] - ldrh r1, [r0, #8] - lsrs r1, r1, #4 - movs r2, #0x3f - ands r1, r2 - ldrh r0, [r0, #0xa] - lsrs r0, r0, #4 - ands r0, r2 - lsls r0, r0, #6 - orrs r1, r0 - movs r0, #0x73 - adds r2, r3, #0 - bl sub_0807B314 - ldrb r0, [r4, #4] - bl sub_080553E0 - movs r0, #0x73 - bl PlaySFX - pop {r4, pc} - .align 2, 0 -_080559D8: .4byte gUnk_02000080 -_080559DC: .4byte gUnk_080FEAC8 - - thumb_func_start sub_080559E0 -sub_080559E0: @ 0x080559E0 - push {lr} - ldr r1, _080559F4 @ =gUnk_080FF35C - ldr r0, _080559F8 @ =gUnk_02000080 - ldrb r0, [r0, #6] - lsls r0, r0, #2 - adds r0, r0, r1 - ldr r0, [r0] - bl _call_via_r0 - pop {pc} - .align 2, 0 -_080559F4: .4byte gUnk_080FF35C -_080559F8: .4byte gUnk_02000080 - - thumb_func_start sub_080559FC -sub_080559FC: @ 0x080559FC - push {r4, lr} - ldr r4, _08055A30 @ =gUnk_02000080 - ldr r0, [r4, #0xc] - ldrb r0, [r0, #1] - cmp r0, #0 - beq _08055A0E - ldr r0, _08055A34 @ =gUnk_080FF33C - bl LoadRoomEntityList -_08055A0E: - ldrb r0, [r4, #4] - movs r1, #0 - movs r2, #0 - movs r3, #0 - bl sub_08055B70 - ldrb r0, [r4, #6] - adds r0, #1 - strb r0, [r4, #6] - ldr r1, _08055A38 @ =gUnk_02000070 - movs r0, #1 - strb r0, [r1] - movs r0, #4 - movs r1, #0x10 - bl DoFade - pop {r4, pc} - .align 2, 0 -_08055A30: .4byte gUnk_02000080 -_08055A34: .4byte gUnk_080FF33C -_08055A38: .4byte gUnk_02000070 - - thumb_func_start sub_08055A3C -sub_08055A3C: @ 0x08055A3C - push {lr} - ldr r0, _08055A64 @ =gUnk_03000FD0 - ldrb r0, [r0] - cmp r0, #0 - bne _08055A60 - movs r0, #0xff - bl sub_0807CC3C - cmp r0, #0 - beq _08055A60 - movs r0, #7 - movs r1, #0x10 - bl DoFade - ldr r1, _08055A68 @ =gUnk_02000080 - ldrb r0, [r1, #6] - adds r0, #1 - strb r0, [r1, #6] -_08055A60: - pop {pc} - .align 2, 0 -_08055A64: .4byte gUnk_03000FD0 -_08055A68: .4byte gUnk_02000080 - - thumb_func_start sub_08055A6C -sub_08055A6C: @ 0x08055A6C - push {r4, lr} - ldr r0, _08055AA0 @ =gUnk_03000FD0 - ldrb r0, [r0] - cmp r0, #0 - bne _08055A9E - ldr r4, _08055AA4 @ =gUnk_02000080 - ldrb r0, [r4, #4] - movs r1, #1 - bl sub_0801876C - ldrb r0, [r4, #4] - bl sub_080553E0 - movs r0, #6 - movs r1, #0x10 - bl DoFade - movs r0, #0x73 - bl PlaySFX - ldrb r0, [r4, #6] - adds r0, #1 - strb r0, [r4, #6] - movs r0, #0x78 - strh r0, [r4, #8] -_08055A9E: - pop {r4, pc} - .align 2, 0 -_08055AA0: .4byte gUnk_03000FD0 -_08055AA4: .4byte gUnk_02000080 - - thumb_func_start sub_08055AA8 -sub_08055AA8: @ 0x08055AA8 - push {lr} - ldr r0, _08055AC8 @ =gUnk_03000FD0 - ldrb r0, [r0] - cmp r0, #0 - bne _08055AC6 - ldr r1, _08055ACC @ =gUnk_02000080 - ldrh r0, [r1, #8] - subs r0, #1 - strh r0, [r1, #8] - lsls r0, r0, #0x10 - cmp r0, #0 - bne _08055AC6 - ldrb r0, [r1, #5] - adds r0, #1 - strb r0, [r1, #5] -_08055AC6: - pop {pc} - .align 2, 0 -_08055AC8: .4byte gUnk_03000FD0 -_08055ACC: .4byte gUnk_02000080 - - thumb_func_start sub_08055AD0 -sub_08055AD0: @ 0x08055AD0 - push {lr} - ldr r1, _08055AE4 @ =gUnk_080FF36C - ldr r0, _08055AE8 @ =gUnk_02000080 - ldrb r0, [r0, #6] - lsls r0, r0, #2 - adds r0, r0, r1 - ldr r0, [r0] - bl _call_via_r0 - pop {pc} - .align 2, 0 -_08055AE4: .4byte gUnk_080FF36C -_08055AE8: .4byte gUnk_02000080 - - thumb_func_start sub_08055AEC -sub_08055AEC: @ 0x08055AEC - push {r4, lr} - ldr r4, _08055B2C @ =gUnk_02000080 - ldrb r0, [r4, #4] - movs r1, #0 - movs r2, #0 - movs r3, #0 - bl sub_08055B70 - ldr r0, [r4, #0xc] - ldrb r0, [r0, #1] - lsls r0, r0, #4 - ldr r1, _08055B30 @ =gUnk_080FED18 - adds r0, r0, r1 - bl CreateEntity - adds r1, r0, #0 - cmp r1, #0 - beq _08055B14 - movs r0, #1 - strb r0, [r1, #0xb] -_08055B14: - ldrb r0, [r4, #6] - adds r0, #1 - strb r0, [r4, #6] - ldr r1, _08055B34 @ =gUnk_02000070 - movs r0, #1 - strb r0, [r1] - movs r0, #4 - movs r1, #0x10 - bl DoFade - pop {r4, pc} - .align 2, 0 -_08055B2C: .4byte gUnk_02000080 -_08055B30: .4byte gUnk_080FED18 -_08055B34: .4byte gUnk_02000070 - - thumb_func_start sub_08055B38 -sub_08055B38: @ 0x08055B38 - push {lr} - ldr r0, _08055B4C @ =gUnk_03000FD0 - ldrb r0, [r0] - cmp r0, #0 - bne _08055B48 - ldr r1, _08055B50 @ =gUnk_02000080 - movs r0, #0x78 - strh r0, [r1, #8] -_08055B48: - pop {pc} - .align 2, 0 -_08055B4C: .4byte gUnk_03000FD0 -_08055B50: .4byte gUnk_02000080 - - thumb_func_start sub_08055B54 -sub_08055B54: @ 0x08055B54 - push {lr} - ldr r1, _08055B6C @ =gUnk_02000080 - ldrh r0, [r1, #8] - subs r0, #1 - strh r0, [r1, #8] - lsls r0, r0, #0x10 - cmp r0, #0 - bne _08055B6A - ldrb r0, [r1, #5] - adds r0, #1 - strb r0, [r1, #5] -_08055B6A: - pop {pc} - .align 2, 0 -_08055B6C: .4byte gUnk_02000080 - - thumb_func_start sub_08055B70 -sub_08055B70: @ 0x08055B70 - push {r4, r5, r6, lr} - adds r0, r1, #0 - adds r5, r2, #0 - adds r6, r3, #0 - ldr r1, _08055BA4 @ =gUnk_02000080 - ldr r4, [r1, #0xc] - lsls r0, r0, #4 - ldr r1, _08055BA8 @ =gUnk_080FF378 - adds r0, r0, r1 - bl CreateEntity - adds r3, r0, #0 - cmp r3, #0 - beq _08055BA2 - ldrh r0, [r4, #8] - ldr r1, _08055BAC @ =gRoomControls - adds r0, r0, r5 - ldrh r2, [r1, #6] - adds r0, r0, r2 - strh r0, [r3, #0x2e] - ldrh r0, [r4, #0xa] - adds r0, r0, r6 - ldrh r1, [r1, #8] - adds r0, r0, r1 - strh r0, [r3, #0x32] -_08055BA2: - pop {r4, r5, r6, pc} - .align 2, 0 -_08055BA4: .4byte gUnk_02000080 -_08055BA8: .4byte gUnk_080FF378 -_08055BAC: .4byte gRoomControls - - thumb_func_start sub_08055BB0 -sub_08055BB0: @ 0x08055BB0 - push {lr} - ldr r1, _08055BC4 @ =gUnk_080FF3C8 - ldr r0, _08055BC8 @ =gUnk_02000080 - ldrb r0, [r0, #6] - lsls r0, r0, #2 - adds r0, r0, r1 - ldr r0, [r0] - bl _call_via_r0 - pop {pc} - .align 2, 0 -_08055BC4: .4byte gUnk_080FF3C8 -_08055BC8: .4byte gUnk_02000080 - - thumb_func_start sub_08055BCC -sub_08055BCC: @ 0x08055BCC - push {r4, lr} - ldr r4, _08055BFC @ =gUnk_02000080 - ldrb r0, [r4, #4] - movs r1, #0 - movs r2, #0 - movs r3, #0 - bl sub_08055B70 - ldrb r0, [r4, #4] - movs r1, #0 - bl sub_0801876C - ldrb r0, [r4, #6] - adds r0, #1 - strb r0, [r4, #6] - ldr r1, _08055C00 @ =gUnk_02000070 - movs r0, #1 - strb r0, [r1] - movs r0, #4 - movs r1, #0x10 - bl DoFade - pop {r4, pc} - .align 2, 0 -_08055BFC: .4byte gUnk_02000080 -_08055C00: .4byte gUnk_02000070 - - thumb_func_start sub_08055C04 -sub_08055C04: @ 0x08055C04 - push {lr} - ldr r0, _08055C2C @ =gUnk_03000FD0 - ldrb r0, [r0] - cmp r0, #0 - bne _08055C28 - movs r0, #0xff - bl sub_0807CC3C - cmp r0, #0 - beq _08055C28 - movs r0, #7 - movs r1, #0x10 - bl DoFade - ldr r1, _08055C30 @ =gUnk_02000080 - ldrb r0, [r1, #6] - adds r0, #1 - strb r0, [r1, #6] -_08055C28: - pop {pc} - .align 2, 0 -_08055C2C: .4byte gUnk_03000FD0 -_08055C30: .4byte gUnk_02000080 - - thumb_func_start sub_08055C34 -sub_08055C34: @ 0x08055C34 - push {r4, r5, lr} - sub sp, #4 - ldr r0, _08055C64 @ =gUnk_03000FD0 - ldrb r0, [r0] - cmp r0, #0 - bne _08055CA6 - ldr r5, _08055C68 @ =gUnk_02000080 - ldr r4, [r5, #0xc] - ldrb r0, [r5, #4] - bl sub_080553E0 - ldrb r1, [r4, #1] - movs r0, #0x80 - ands r0, r1 - lsls r0, r0, #0x18 - lsrs r0, r0, #0x18 - cmp r0, #0 - beq _08055C6C - ldrb r0, [r5, #4] - movs r1, #0 - bl sub_08054974 - b _08055C8C - .align 2, 0 -_08055C64: .4byte gUnk_03000FD0 -_08055C68: .4byte gUnk_02000080 -_08055C6C: - str r0, [sp] - movs r0, #6 - movs r1, #0x9e - movs r2, #6 - movs r3, #0 - bl sub_0805EB2C - adds r4, r0, #0 - cmp r4, #0 - beq _08055C8C - ldr r0, [r4, #0x54] - bl sub_0805E7BC - adds r0, r4, #0 - bl sub_0805E7BC -_08055C8C: - movs r0, #6 - movs r1, #0x10 - bl DoFade - movs r0, #0x73 - bl PlaySFX - ldr r0, _08055CAC @ =gUnk_02000080 - ldrb r1, [r0, #6] - adds r1, #1 - strb r1, [r0, #6] - movs r1, #0x78 - strh r1, [r0, #8] -_08055CA6: - add sp, #4 - pop {r4, r5, pc} - .align 2, 0 -_08055CAC: .4byte gUnk_02000080 - - thumb_func_start sub_08055CB0 -sub_08055CB0: @ 0x08055CB0 - push {lr} - ldr r0, _08055CD0 @ =gUnk_03000FD0 - ldrb r0, [r0] - cmp r0, #0 - bne _08055CCE - ldr r1, _08055CD4 @ =gUnk_02000080 - ldrh r0, [r1, #8] - subs r0, #1 - strh r0, [r1, #8] - lsls r0, r0, #0x10 - cmp r0, #0 - bne _08055CCE - ldrb r0, [r1, #5] - adds r0, #1 - strb r0, [r1, #5] -_08055CCE: - pop {pc} - .align 2, 0 -_08055CD0: .4byte gUnk_03000FD0 -_08055CD4: .4byte gUnk_02000080 - - thumb_func_start sub_08055CD8 -sub_08055CD8: @ 0x08055CD8 - push {lr} - ldr r1, _08055CEC @ =gUnk_080FF3E8 - ldr r0, _08055CF0 @ =gUnk_02000080 - ldrb r0, [r0, #6] - lsls r0, r0, #2 - adds r0, r0, r1 - ldr r0, [r0] - bl _call_via_r0 - pop {pc} - .align 2, 0 -_08055CEC: .4byte gUnk_080FF3E8 -_08055CF0: .4byte gUnk_02000080 - - thumb_func_start sub_08055CF4 -sub_08055CF4: @ 0x08055CF4 - push {r4, lr} - ldr r4, _08055D24 @ =gUnk_02000080 - ldr r1, [r4, #0xc] - ldrb r0, [r1, #2] - ldrb r1, [r1, #3] - bl sub_0804B0B0 - ldrb r0, [r4, #4] - movs r1, #0 - movs r2, #0 - movs r3, #0 - bl sub_08055B70 - ldrb r0, [r4, #6] - adds r0, #1 - strb r0, [r4, #6] - ldr r1, _08055D28 @ =gUnk_02000070 - movs r0, #1 - strb r0, [r1] - movs r0, #4 - movs r1, #0x10 - bl DoFade - pop {r4, pc} - .align 2, 0 -_08055D24: .4byte gUnk_02000080 -_08055D28: .4byte gUnk_02000070 - - thumb_func_start sub_08055D2C -sub_08055D2C: @ 0x08055D2C - push {r4, lr} - ldr r0, _08055D5C @ =gUnk_03000FD0 - ldrb r0, [r0] - cmp r0, #0 - bne _08055D5A - movs r0, #0xff - bl sub_0807CC3C - cmp r0, #0 - beq _08055D5A - ldr r4, _08055D60 @ =gUnk_02000080 - ldrb r0, [r4, #4] - movs r1, #1 - bl sub_0801876C - ldrb r0, [r4, #4] - bl sub_080553E0 - ldrb r0, [r4, #6] - adds r0, #1 - strb r0, [r4, #6] - movs r0, #0x78 - strh r0, [r4, #8] -_08055D5A: - pop {r4, pc} - .align 2, 0 -_08055D5C: .4byte gUnk_03000FD0 -_08055D60: .4byte gUnk_02000080 - - thumb_func_start sub_08055D64 -sub_08055D64: @ 0x08055D64 - push {lr} - ldr r1, _08055D7C @ =gUnk_02000080 - ldrh r0, [r1, #8] - subs r0, #1 - strh r0, [r1, #8] - lsls r0, r0, #0x10 - cmp r0, #0 - bne _08055D7A - ldrb r0, [r1, #5] - adds r0, #1 - strb r0, [r1, #5] -_08055D7A: - pop {pc} - .align 2, 0 -_08055D7C: .4byte gUnk_02000080 - - thumb_func_start sub_08055D80 -sub_08055D80: @ 0x08055D80 - push {lr} - ldr r1, _08055D94 @ =gUnk_080FF3F4 - ldr r0, _08055D98 @ =gUnk_02000080 - ldrb r0, [r0, #6] - lsls r0, r0, #2 - adds r0, r0, r1 - ldr r0, [r0] - bl _call_via_r0 - pop {pc} - .align 2, 0 -_08055D94: .4byte gUnk_080FF3F4 -_08055D98: .4byte gUnk_02000080 - - thumb_func_start sub_08055D9C -sub_08055D9C: @ 0x08055D9C - push {lr} - ldr r1, _08055DB8 @ =gUnk_02000080 - ldrb r0, [r1, #6] - adds r0, #1 - strb r0, [r1, #6] - ldr r1, _08055DBC @ =gUnk_02000070 - movs r0, #1 - strb r0, [r1] - movs r0, #4 - movs r1, #0x10 - bl DoFade - pop {pc} - .align 2, 0 -_08055DB8: .4byte gUnk_02000080 -_08055DBC: .4byte gUnk_02000070 - - thumb_func_start sub_08055DC0 -sub_08055DC0: @ 0x08055DC0 - push {lr} - ldr r0, _08055DE0 @ =gUnk_03000FD0 - ldrb r0, [r0] - cmp r0, #0 - bne _08055DDC - ldr r0, _08055DE4 @ =0x00000A01 - bl TextboxTryNoOverlap - ldr r1, _08055DE8 @ =gUnk_02000080 - ldrb r0, [r1, #6] - adds r0, #1 - strb r0, [r1, #6] - movs r0, #0x78 - strh r0, [r1, #8] -_08055DDC: - pop {pc} - .align 2, 0 -_08055DE0: .4byte gUnk_03000FD0 -_08055DE4: .4byte 0x00000A01 -_08055DE8: .4byte gUnk_02000080 - - thumb_func_start sub_08055DEC -sub_08055DEC: @ 0x08055DEC - push {lr} - ldr r1, _08055E04 @ =gUnk_02000080 - ldrh r0, [r1, #8] - subs r0, #1 - strh r0, [r1, #8] - lsls r0, r0, #0x10 - cmp r0, #0 - bne _08055E02 - ldrb r0, [r1, #5] - adds r0, #1 - strb r0, [r1, #5] -_08055E02: - pop {pc} - .align 2, 0 -_08055E04: .4byte gUnk_02000080 + \ No newline at end of file diff --git a/asm/code_0805436C.s b/asm/code_0805436C.s new file mode 100644 index 00000000..b85131cc --- /dev/null +++ b/asm/code_0805436C.s @@ -0,0 +1,3483 @@ + .include "asm/macros.inc" + + .include "constants/constants.inc" + + .syntax unified + + .text + + thumb_func_start sub_0805436C +sub_0805436C: @ 0x0805436C + push {lr} + adds r2, r0, #0 + ldr r1, _08054380 @ =gUnk_02002A40 + adds r0, r1, #0 + adds r0, #0xb4 + ldrb r0, [r0] + cmp r2, r0 + bne _08054384 + movs r1, #0 + b _08054392 + .align 2, 0 +_08054380: .4byte gUnk_02002A40 +_08054384: + adds r0, r1, #0 + adds r0, #0xb5 + movs r1, #2 + ldrb r0, [r0] + cmp r2, r0 + bne _08054392 + movs r1, #1 +_08054392: + adds r0, r1, #0 + pop {pc} + .align 2, 0 + + thumb_func_start sub_08054398 +sub_08054398: @ 0x08054398 + push {r4, r5, lr} + adds r5, r0, #0 + cmp r5, #0x46 + bhi _080543A8 + movs r0, #0 + movs r1, #1 + bl sub_0807CAA0 +_080543A8: + subs r0, r5, #1 + cmp r0, #0x1e + bhi _08054410 + movs r1, #2 + ldr r2, _080543C0 @ =gUnk_02002A40 + adds r0, r2, #0 + adds r0, #0xb4 + ldrb r0, [r0] + cmp r0, #0 + bne _080543C4 + movs r1, #0 + b _080543D0 + .align 2, 0 +_080543C0: .4byte gUnk_02002A40 +_080543C4: + adds r0, r2, #0 + adds r0, #0xb5 + ldrb r0, [r0] + cmp r0, #0 + bne _080543D0 + movs r1, #1 +_080543D0: + cmp r1, #2 + bne _0805440A + ldr r3, _080543F0 @ =gUnk_080FD5B4 + lsls r0, r5, #3 + adds r0, r0, r3 + ldrb r4, [r0] + adds r0, r2, #0 + adds r0, #0xb4 + ldrb r0, [r0] + lsls r0, r0, #3 + adds r0, r0, r3 + ldrb r0, [r0] + cmp r4, r0 + bne _080543F4 + movs r1, #0 + b _08054406 + .align 2, 0 +_080543F0: .4byte gUnk_080FD5B4 +_080543F4: + adds r0, r2, #0 + adds r0, #0xb5 + ldrb r0, [r0] + lsls r0, r0, #3 + adds r0, r0, r3 + ldrb r0, [r0] + cmp r4, r0 + bne _08054406 + movs r1, #1 +_08054406: + cmp r1, #2 + beq _08054410 +_0805440A: + adds r0, r5, #0 + bl sub_08054414 +_08054410: + pop {r4, r5, pc} + .align 2, 0 + + thumb_func_start sub_08054414 +sub_08054414: @ 0x08054414 + push {r4, r5, r6, r7, lr} + adds r4, r0, #0 + subs r0, r4, #1 + cmp r0, #0x1e + bhi _08054456 + cmp r1, #1 + bhi _08054456 + movs r2, #0 + cmp r1, #0 + bne _0805442A + movs r2, #1 +_0805442A: + ldr r0, _08054458 @ =gUnk_02002A40 + adds r0, #0xb4 + adds r6, r1, r0 + ldrb r7, [r6] + adds r5, r2, r0 + ldrb r3, [r5] + ldr r2, _0805445C @ =gUnk_080FD5B4 + lsls r1, r3, #3 + adds r1, r1, r2 + lsls r0, r4, #3 + adds r0, r0, r2 + ldrb r1, [r1] + ldrb r0, [r0] + cmp r1, r0 + bne _0805444A + adds r3, r7, #0 +_0805444A: + strb r4, [r6] + strb r3, [r5] + ldr r1, _08054460 @ =gUnk_0200AF00 + movs r0, #0x7f + strb r0, [r1, #0x13] + strb r0, [r1, #0x14] +_08054456: + pop {r4, r5, r6, r7, pc} + .align 2, 0 +_08054458: .4byte gUnk_02002A40 +_0805445C: .4byte gUnk_080FD5B4 +_08054460: .4byte gUnk_0200AF00 + + thumb_func_start sub_08054464 +sub_08054464: @ 0x08054464 + push {r4, lr} + adds r4, r0, #0 + ldr r3, _08054498 @ =gUnk_02002A40 + cmp r1, #3 + bls _0805448C + movs r1, #0 + adds r2, r3, #0 + adds r2, #0xb6 + ldrb r0, [r2] + cmp r0, #0x20 + beq _08054488 +_0805447A: + adds r1, #1 + cmp r1, #3 + bhi _08054494 + adds r0, r1, r2 + ldrb r0, [r0] + cmp r0, #0x20 + bne _0805447A +_08054488: + cmp r1, #3 + bhi _08054494 +_0805448C: + adds r0, r3, #0 + adds r0, #0xb6 + adds r0, r1, r0 + strb r4, [r0] +_08054494: + adds r0, r1, #0 + pop {r4, pc} + .align 2, 0 +_08054498: .4byte gUnk_02002A40 + + thumb_func_start sub_0805449C +sub_0805449C: @ 0x0805449C + push {lr} + cmp r0, #1 + blo _080544AE + cmp r0, #4 + bls _080544AA + cmp r0, #6 + bne _080544AE +_080544AA: + movs r0, #1 + b _080544B0 +_080544AE: + movs r0, #0 +_080544B0: + pop {pc} + .align 2, 0 + + thumb_func_start sub_080544B4 +sub_080544B4: @ 0x080544B4 + push {lr} + cmp r0, #0xe + bhi _080544C2 + cmp r0, #0xd + blo _080544C2 + movs r0, #1 + b _080544C4 +_080544C2: + movs r0, #0 +_080544C4: + pop {pc} + .align 2, 0 + + thumb_func_start sub_080544C8 +sub_080544C8: @ 0x080544C8 + push {lr} + cmp r0, #0x1f + bhi _080544D6 + cmp r0, #0x1c + blo _080544D6 + movs r0, #1 + b _080544D8 +_080544D6: + movs r0, #0 +_080544D8: + pop {pc} + .align 2, 0 + + thumb_func_start sub_080544DC +sub_080544DC: @ 0x080544DC + push {lr} + adds r2, r0, #0 + ldr r1, _080544F0 @ =gUnk_02002A40 + adds r0, r1, #0 + adds r0, #0xb6 + ldrb r0, [r0] + cmp r2, r0 + bne _080544F4 + movs r0, #1 + b _08054520 + .align 2, 0 +_080544F0: .4byte gUnk_02002A40 +_080544F4: + adds r0, r1, #0 + adds r0, #0xb7 + ldrb r0, [r0] + cmp r2, r0 + bne _08054502 + movs r0, #2 + b _08054520 +_08054502: + adds r0, r1, #0 + adds r0, #0xb8 + ldrb r0, [r0] + cmp r2, r0 + bne _08054510 + movs r0, #3 + b _08054520 +_08054510: + adds r0, r1, #0 + adds r0, #0xb9 + ldrb r0, [r0] + cmp r2, r0 + beq _0805451E + movs r0, #0 + b _08054520 +_0805451E: + movs r0, #4 +_08054520: + pop {pc} + .align 2, 0 + + thumb_func_start sub_08054524 +sub_08054524: @ 0x08054524 + push {lr} + ldr r0, _08054550 @ =gUnk_02033A90 + ldrb r1, [r0, #1] + cmp r1, #0 + bne _08054534 + ldr r0, _08054554 @ =gUnk_030010A0 + adds r0, #0x2e + ldrb r1, [r0] +_08054534: + cmp r1, #0x16 + bls _0805453A + movs r1, #0 +_0805453A: + ldr r0, _08054558 @ =gUnk_080FE1C6 + adds r0, r1, r0 + ldrb r1, [r0] + lsls r0, r1, #5 + ldr r1, _0805455C @ =gUnk_080015BC + adds r0, r0, r1 + ldr r1, _08054560 @ =gUnk_02034398 + movs r2, #0x20 + bl sub_0801D66C + pop {pc} + .align 2, 0 +_08054550: .4byte gUnk_02033A90 +_08054554: .4byte gUnk_030010A0 +_08054558: .4byte gUnk_080FE1C6 +_0805455C: .4byte gUnk_080015BC +_08054560: .4byte gUnk_02034398 + + thumb_func_start sub_08054564 +sub_08054564: @ 0x08054564 + ldr r1, _0805456C @ =gUnk_02034350 + movs r0, #1 + strb r0, [r1, #2] + bx lr + .align 2, 0 +_0805456C: .4byte gUnk_02034350 + + thumb_func_start sub_08054570 +sub_08054570: @ 0x08054570 + ldr r1, _08054578 @ =gUnk_02034350 + movs r0, #0 + strb r0, [r1, #2] + bx lr + .align 2, 0 +_08054578: .4byte gUnk_02034350 + + thumb_func_start sub_0805457C +sub_0805457C: @ 0x0805457C + push {r4, r5, r6, r7, lr} + sub sp, #0x20 + adds r6, r0, #0 + adds r3, r1, #0 + ldr r0, _080545A4 @ =gUnk_02034350 + ldrb r1, [r0, #2] + adds r5, r0, #0 + cmp r1, #1 + bne _08054590 + b _0805474C +_08054590: + ldr r2, _080545A8 @ =gUnk_08001A1C + movs r4, #0 + cmp r3, #0x19 + bhi _0805463C + lsls r0, r3, #2 + ldr r1, _080545AC @ =_080545B0 + adds r0, r0, r1 + ldr r0, [r0] + mov pc, r0 + .align 2, 0 +_080545A4: .4byte gUnk_02034350 +_080545A8: .4byte gUnk_08001A1C +_080545AC: .4byte _080545B0 +_080545B0: @ jump table + .4byte _0805463C @ case 0 + .4byte _08054618 @ case 1 + .4byte _08054618 @ case 2 + .4byte _08054618 @ case 3 + .4byte _08054618 @ case 4 + .4byte _08054618 @ case 5 + .4byte _08054618 @ case 6 + .4byte _08054618 @ case 7 + .4byte _08054618 @ case 8 + .4byte _08054618 @ case 9 + .4byte _08054618 @ case 10 + .4byte _08054618 @ case 11 + .4byte _08054618 @ case 12 + .4byte _0805463C @ case 13 + .4byte _0805463C @ case 14 + .4byte _0805463A @ case 15 + .4byte _08054634 @ case 16 + .4byte _08054634 @ case 17 + .4byte _08054634 @ case 18 + .4byte _08054634 @ case 19 + .4byte _08054634 @ case 20 + .4byte _08054634 @ case 21 + .4byte _08054634 @ case 22 + .4byte _08054634 @ case 23 + .4byte _08054624 @ case 24 + .4byte _08054624 @ case 25 +_08054618: + lsls r1, r3, #5 + ldr r0, _08054620 @ =gUnk_0800137C + adds r4, r1, r0 + b _0805463C + .align 2, 0 +_08054620: .4byte gUnk_0800137C +_08054624: + ldrb r0, [r5, #0xa] + ldr r4, _08054630 @ =gUnk_0800191C + cmp r0, #0 + beq _0805463C + adds r4, #0x20 + b _0805463C + .align 2, 0 +_08054630: .4byte gUnk_0800191C +_08054634: + lsls r1, r3, #5 + ldr r0, _08054650 @ =gUnk_0800161C + adds r2, r1, r0 +_0805463A: + ldr r4, _08054654 @ =gUnk_02034398 +_0805463C: + cmp r4, #0 + bne _08054642 + b _0805474C +_08054642: + ldr r0, _08054658 @ =gUnk_02002A40 + adds r0, #0xb3 + ldrb r1, [r0] + cmp r1, #0 + bne _08054660 + ldr r3, _0805465C @ =gUnk_08001A1C + b _08054666 + .align 2, 0 +_08054650: .4byte gUnk_0800161C +_08054654: .4byte gUnk_02034398 +_08054658: .4byte gUnk_02002A40 +_0805465C: .4byte gUnk_08001A1C +_08054660: + lsls r1, r1, #5 + ldr r0, _0805473C @ =gUnk_0800143C + adds r3, r1, r0 +_08054666: + mov r0, sp + adds r1, r4, #0 + bl sub_08000F14 + ldr r4, _08054740 @ =gUnk_02002A40 + adds r0, r4, #0 + adds r0, #0xaa + ldrb r0, [r0] + cmp r0, #8 + bhi _08054684 + mov r1, sp + mov r0, sp + ldrh r0, [r0, #8] + adds r0, #5 + strh r0, [r1, #8] +_08054684: + adds r0, r4, #0 + adds r0, #0xac + ldrb r0, [r0] + cmp r0, #0 + bne _08054698 + mov r1, sp + mov r0, sp + ldrh r0, [r0, #0xc] + adds r0, #3 + strh r0, [r1, #0xc] +_08054698: + adds r0, r4, #0 + adds r0, #0xad + ldrb r0, [r0] + cmp r0, #0 + bne _080546AC + mov r1, sp + mov r0, sp + ldrh r0, [r0, #0xe] + adds r0, #3 + strh r0, [r1, #0xe] +_080546AC: + adds r0, r4, #0 + adds r0, #0xc0 + ldrh r0, [r0] + cmp r0, #0xa + bhi _080546C0 + mov r1, sp + mov r0, sp + ldrh r0, [r0, #4] + adds r0, #1 + strh r0, [r1, #4] +_080546C0: + ldr r2, _08054744 @ =gUnk_08001A1C + adds r0, r4, #0 + adds r0, #0xbb + ldrb r0, [r0] + adds r3, r2, #0 + cmp r0, #0 + beq _080546D0 + adds r2, #0x20 +_080546D0: + movs r1, #0x8b + lsls r1, r1, #1 + adds r0, r4, r1 + ldrb r0, [r0] + cmp r0, #0 + beq _080546DE + adds r3, #0x40 +_080546DE: + mov r0, sp + mov r1, sp + bl sub_08000F2C + adds r4, r0, #0 + bl Random + adds r2, r0, #0 + asrs r5, r2, #0x18 + movs r0, #0xf + ands r5, r0 + adds r0, r2, #0 + adds r1, r4, #0 + bl __modsi3 + adds r2, r0, #0 + movs r3, #0 + lsls r0, r5, #1 + add r0, sp + movs r4, #0 + ldrsh r1, [r0, r4] + cmp r1, r2 + bgt _08054726 + movs r4, #0xf +_0805470E: + adds r3, #1 + adds r5, #1 + ands r5, r4 + cmp r3, #0xf + bhi _08054726 + lsls r0, r5, #1 + add r0, sp + movs r7, #0 + ldrsh r0, [r0, r7] + adds r1, r1, r0 + cmp r1, r2 + ble _0805470E +_08054726: + ldr r0, _08054748 @ =gUnk_080FE1B4 + adds r0, r5, r0 + ldrb r1, [r0] + cmp r1, #0 + beq _0805474C + adds r0, r6, #0 + movs r2, #0 + bl sub_08054754 + b _0805474E + .align 2, 0 +_0805473C: .4byte gUnk_0800143C +_08054740: .4byte gUnk_02002A40 +_08054744: .4byte gUnk_08001A1C +_08054748: .4byte gUnk_080FE1B4 +_0805474C: + movs r0, #0 +_0805474E: + add sp, #0x20 + pop {r4, r5, r6, r7, pc} + .align 2, 0 + + thumb_func_start sub_08054754 +sub_08054754: @ 0x08054754 + push {r4, r5, r6, lr} + adds r6, r0, #0 + adds r4, r1, #0 + adds r5, r2, #0 + cmp r4, #0x5e + beq _08054786 + cmp r4, #0x5e + bhi _08054772 + cmp r4, #0x5c + beq _080547A6 + cmp r4, #0x5c + bhi _08054782 + cmp r4, #0x3f + beq _08054794 + b _080547DA +_08054772: + cmp r4, #0xfc + blo _080547DA + cmp r4, #0xfe + bls _080547A6 + cmp r4, #0xff + bne _080547DA + movs r0, #1 + b _08054788 +_08054782: + movs r0, #0x65 + b _08054788 +_08054786: + movs r0, #9 +_08054788: + bl GetInventoryValue + cmp r0, #0 + bne _080547DA +_08054790: + movs r0, #0 + b _0805486C +_08054794: + movs r0, #0x40 + bl GetInventoryValue + cmp r0, #0 + beq _08054790 + cmp r5, #0 + bne _080547DA + movs r5, #1 + b _080547DA +_080547A6: + movs r0, #0x67 + bl GetInventoryValue + cmp r0, #0 + beq _08054790 + ldr r0, _080547FC @ =gUnk_02034350 + ldrb r0, [r0, #5] + cmp r0, #3 + bhi _08054790 + cmp r4, #0x5c + beq _080547DA + adds r5, r4, #0 + subs r5, #0xfc + bl Random + movs r1, #0x3f + ands r1, r0 + ldr r2, _08054800 @ =gUnk_080FE1DD + lsls r0, r5, #6 + adds r1, r1, r0 + adds r1, r1, r2 + ldrb r5, [r1] + movs r4, #0x5c + cmp r5, #0 + bne _080547DA + movs r4, #0 +_080547DA: + cmp r4, #0 + beq _0805486A + cmp r4, #0xff + beq _08054842 + movs r0, #0 + adds r1, r4, #0 + adds r2, r5, #0 + bl CreateObject + adds r2, r0, #0 + cmp r2, #0 + beq _0805486A + ldr r0, _08054804 @ =gLinkEntity + cmp r6, r0 + bne _08054808 + movs r0, #1 + b _0805480A + .align 2, 0 +_080547FC: .4byte gUnk_02034350 +_08054800: .4byte gUnk_080FE1DD +_08054804: .4byte gLinkEntity +_08054808: + movs r0, #0 +_0805480A: + strb r0, [r2, #0xe] + ldrb r0, [r6, #8] + cmp r0, #6 + bne _08054838 + ldrb r0, [r6, #9] + cmp r0, #0x63 + bne _0805481C + str r2, [r6, #0x54] + b _08054838 +_0805481C: + cmp r0, #0x1e + bne _08054838 + ldrb r0, [r6, #0x14] + lsls r0, r0, #3 + movs r3, #0x80 + rsbs r3, r3, #0 + adds r1, r3, #0 + orrs r0, r1 + strb r0, [r2, #0x15] + movs r0, #0xc0 + strh r0, [r2, #0x24] + movs r0, #0xc0 + lsls r0, r0, #9 + str r0, [r2, #0x20] +_08054838: + adds r0, r6, #0 + adds r1, r2, #0 + bl CopyPosition + b _0805486A +_08054842: + movs r0, #7 + movs r1, #0 + bl CreateEnemy + adds r2, r0, #0 + cmp r2, #0 + beq _0805486A + ldrh r0, [r6, #0x2e] + strh r0, [r2, #0x2e] + ldrh r0, [r6, #0x32] + strh r0, [r2, #0x32] + adds r0, r6, #0 + adds r0, #0x38 + ldrb r1, [r0] + adds r0, r2, #0 + adds r0, #0x38 + strb r1, [r0] + adds r0, r2, #0 + bl UpdateSpriteOrderAndFlip +_0805486A: + adds r0, r4, #0 +_0805486C: + pop {r4, r5, r6, pc} + .align 2, 0 + + thumb_func_start sub_08054870 +sub_08054870: @ 0x08054870 + push {lr} + ldr r1, _08054884 @ =gUnk_080FE2A0 + ldr r0, _08054888 @ =gUnk_02000080 + ldrb r0, [r0, #5] + lsls r0, r0, #2 + adds r0, r0, r1 + ldr r0, [r0] + bl _call_via_r0 + pop {pc} + .align 2, 0 +_08054884: .4byte gUnk_080FE2A0 +_08054888: .4byte gUnk_02000080 + + thumb_func_start sub_0805488C +sub_0805488C: @ 0x0805488C + push {r4, lr} + ldr r4, _080548DC @ =gUnk_02032EC0 + ldrb r1, [r4, #3] + lsls r0, r1, #2 + adds r0, r0, r1 + lsls r0, r0, #2 + ldr r1, _080548E0 @ =gUnk_080FE320 + adds r0, r0, r1 + ldr r2, _080548E4 @ =gUnk_02000080 + ldrb r1, [r0] + movs r3, #0 + strb r1, [r2] + ldrb r1, [r0, #1] + strb r1, [r2, #3] + ldrb r1, [r4, #3] + strb r1, [r2, #4] + str r0, [r2, #0xc] + ldrb r0, [r2, #5] + adds r0, #1 + strb r0, [r2, #5] + strb r3, [r2, #6] + movs r0, #0x96 + lsls r0, r0, #1 + strh r0, [r2, #8] + movs r0, #0 + bl sub_0801DA90 + ldrb r0, [r4, #3] + movs r1, #1 + bl sub_08054974 + bl sub_0806F364 + movs r0, #0xff + bl sub_0807CD8C + bl sub_080548E8 + pop {r4, pc} + .align 2, 0 +_080548DC: .4byte gUnk_02032EC0 +_080548E0: .4byte gUnk_080FE320 +_080548E4: .4byte gUnk_02000080 + + thumb_func_start sub_080548E8 +sub_080548E8: @ 0x080548E8 + push {lr} + ldr r1, _08054918 @ =gUnk_080FE2AC + ldr r0, _0805491C @ =gUnk_02000080 + ldrb r0, [r0] + lsls r0, r0, #2 + adds r0, r0, r1 + ldr r0, [r0] + bl _call_via_r0 + bl sub_080AD90C + bl sub_0805E5C0 + bl sub_080AD9B0 + bl sub_080AD918 + bl sub_0807FC40 + bl sub_0801B060 + bl sub_08000108 + pop {pc} + .align 2, 0 +_08054918: .4byte gUnk_080FE2AC +_0805491C: .4byte gUnk_02000080 + + thumb_func_start sub_08054920 +sub_08054920: @ 0x08054920 + push {lr} + bl sub_08056418 + bl sub_0806F38C + ldr r1, _08054948 @ =gUnk_080C9CBC + ldr r0, _0805494C @ =gUnk_02022740 + ldrb r0, [r0, #3] + lsls r0, r0, #3 + adds r0, r0, r1 + ldrb r0, [r0, #7] + cmp r0, #0 + beq _08054954 + ldr r0, _08054950 @ =gUnk_02032EC0 + ldrb r1, [r0, #3] + movs r0, #0xa + bl sub_080A7138 + b _08054962 + .align 2, 0 +_08054948: .4byte gUnk_080C9CBC +_0805494C: .4byte gUnk_02022740 +_08054950: .4byte gUnk_02032EC0 +_08054954: + ldr r1, _08054964 @ =gUnk_02032EC0 + movs r0, #3 + strb r0, [r1] + movs r0, #7 + movs r1, #0x10 + bl DoFade +_08054962: + pop {pc} + .align 2, 0 +_08054964: .4byte gUnk_02032EC0 + + thumb_func_start sub_08054968 +sub_08054968: @ 0x08054968 + ldr r1, _08054970 @ =gUnk_02000080 + movs r0, #2 + strb r0, [r1, #5] + bx lr + .align 2, 0 +_08054970: .4byte gUnk_02000080 + + thumb_func_start sub_08054974 +sub_08054974: @ 0x08054974 + push {r4, r5, r6, lr} + adds r5, r1, #0 + lsls r1, r0, #2 + adds r1, r1, r0 + lsls r1, r1, #2 + ldr r0, _080549B0 @ =gUnk_080FE320 + adds r6, r1, r0 + ldrb r0, [r6, #2] + ldrb r1, [r6, #3] + bl sub_0804B0C0 + ldr r4, _080549B4 @ =gRoomControls + ldrb r0, [r6, #2] + strb r0, [r4, #4] + ldrb r0, [r6, #3] + strb r0, [r4, #5] + bl sub_08053320 + ldrb r0, [r4, #4] + bl sub_08052D58 + ldr r1, _080549B8 @ =gUnk_02033A90 + strh r0, [r1, #4] + cmp r5, #0 + beq _080549BC + ldrb r0, [r6, #2] + ldrb r1, [r6, #3] + bl sub_08052FD8 + b _080549CE + .align 2, 0 +_080549B0: .4byte gUnk_080FE320 +_080549B4: .4byte gRoomControls +_080549B8: .4byte gUnk_02033A90 +_080549BC: + ldrb r0, [r6, #2] + ldrb r1, [r6, #3] + bl sub_08052FF4 + bl sub_0807C740 + ldr r1, _08054A00 @ =gUnk_02000070 + movs r0, #1 + strb r0, [r1] +_080549CE: + ldr r2, _08054A04 @ =gLCDControls + ldrh r1, [r2] + ldr r0, _08054A08 @ =0x00001FFF + ands r0, r1 + strh r0, [r2] + ldr r1, _08054A0C @ =gRoomControls + ldrh r0, [r6, #4] + ldrh r2, [r1, #6] + adds r0, r0, r2 + strh r0, [r1, #0xa] + ldrh r0, [r6, #6] + ldrh r2, [r1, #8] + adds r0, r0, r2 + strh r0, [r1, #0xc] + ldrb r0, [r6, #2] + cmp r0, #2 + bne _080549F4 + bl sub_08059D18 +_080549F4: + ldr r0, _08054A10 @ =gUnk_02032EC0 + ldrb r0, [r0, #3] + bl sub_08018710 + pop {r4, r5, r6, pc} + .align 2, 0 +_08054A00: .4byte gUnk_02000070 +_08054A04: .4byte gLCDControls +_08054A08: .4byte 0x00001FFF +_08054A0C: .4byte gRoomControls +_08054A10: .4byte gUnk_02032EC0 + + thumb_func_start sub_08054A14 +sub_08054A14: @ 0x08054A14 + push {lr} + lsls r1, r0, #2 + adds r1, r1, r0 + lsls r1, r1, #2 + ldr r0, _08054A38 @ =gUnk_080FE320 + adds r2, r1, r0 + ldrb r0, [r2, #0x11] + cmp r0, #0xd + bhi _08054A34 + ldr r1, _08054A3C @ =gUnk_0811E454 + lsls r0, r0, #1 + adds r0, r0, r1 + ldrh r0, [r0] + ldrh r1, [r2, #0x12] + bl sub_0807CC9C +_08054A34: + pop {pc} + .align 2, 0 +_08054A38: .4byte gUnk_080FE320 +_08054A3C: .4byte gUnk_0811E454 + + thumb_func_start sub_08054A40 +sub_08054A40: @ 0x08054A40 + push {r4, lr} + adds r4, r0, #0 + ldr r1, _08054A5C @ =gUnk_080FEEA8 + ldrb r0, [r4, #0xc] + lsls r0, r0, #2 + adds r0, r0, r1 + ldr r1, [r0] + adds r0, r4, #0 + bl _call_via_r1 + adds r4, #0x41 + movs r0, #0 + strb r0, [r4] + pop {r4, pc} + .align 2, 0 +_08054A5C: .4byte gUnk_080FEEA8 + + thumb_func_start sub_08054A60 +sub_08054A60: @ 0x08054A60 + push {r4, lr} + adds r4, r0, #0 + ldrb r1, [r4, #0x10] + movs r0, #0xa0 + orrs r0, r1 + strb r0, [r4, #0x10] + movs r0, #1 + strb r0, [r4, #0xc] + movs r0, #4 + strb r0, [r4, #0xe] + movs r0, #0xff + strb r0, [r4, #0x1e] + ldrb r1, [r4, #0x11] + movs r0, #0x10 + rsbs r0, r0, #0 + ands r0, r1 + movs r1, #6 + orrs r0, r1 + strb r0, [r4, #0x11] + adds r1, r4, #0 + adds r1, #0x3c + movs r0, #7 + strb r0, [r1] + subs r1, #1 + movs r0, #0x80 + strb r0, [r1] + ldr r0, _08054AC4 @ =gLinkEntity + ldrb r1, [r0, #0x14] + movs r0, #0xe + ands r0, r1 + strb r0, [r4, #0x14] + adds r0, r4, #0 + bl sub_0806FBD8 + cmp r0, #0 + bne _08054AAC + bl sub_0805E780 +_08054AAC: + adds r0, r4, #0 + bl sub_0801766C + adds r0, r4, #0 + movs r1, #1 + movs r2, #3 + bl sub_080AE008 + adds r0, r4, #0 + bl sub_08054AC8 + pop {r4, pc} + .align 2, 0 +_08054AC4: .4byte gLinkEntity + + thumb_func_start sub_08054AC8 +sub_08054AC8: @ 0x08054AC8 + push {r4, r5, r6, r7, lr} + adds r4, r0, #0 + ldr r5, _08054B14 @ =gLinkEntity + ldrb r1, [r5, #0x14] + movs r0, #0xe + ands r0, r1 + strb r0, [r4, #0x14] + ldr r1, [r4, #0x48] + ldr r2, _08054B18 @ =gUnk_080FEEB0 + ldrb r0, [r4, #0x14] + adds r0, r0, r2 + ldrb r0, [r0] + strb r0, [r1] + ldr r1, [r4, #0x48] + ldrb r0, [r4, #0x14] + adds r0, #1 + adds r0, r0, r2 + ldrb r0, [r0] + strb r0, [r1, #1] + ldr r0, [r4, #0x48] + movs r1, #4 + strb r1, [r0, #6] + ldr r0, [r4, #0x48] + strb r1, [r0, #7] + ldrb r7, [r5, #0x1e] + adds r6, r7, #0 + cmp r6, #0x36 + bhi _08054B06 + ldrh r0, [r5, #0x12] + cmp r0, #6 + beq _08054B1C +_08054B06: + movs r0, #0xff + strb r0, [r4, #0x1e] + ldrb r1, [r4, #0x10] + movs r0, #0x7f + ands r0, r1 + strb r0, [r4, #0x10] + b _08054B68 + .align 2, 0 +_08054B14: .4byte gLinkEntity +_08054B18: .4byte gUnk_080FEEB0 +_08054B1C: + ldrb r0, [r4, #0x10] + movs r1, #0x80 + orrs r0, r1 + strb r0, [r4, #0x10] + ldrb r2, [r5, #0x18] + movs r1, #0x40 + ands r1, r2 + ldrb r3, [r4, #0x18] + movs r0, #0x41 + rsbs r0, r0, #0 + ands r0, r3 + orrs r0, r1 + lsrs r2, r2, #7 + lsls r2, r2, #7 + movs r1, #0x7f + ands r0, r1 + orrs r0, r2 + strb r0, [r4, #0x18] + ldrb r0, [r4, #0x1e] + cmp r6, r0 + beq _08054B52 + strb r7, [r4, #0x1e] + ldrb r1, [r4, #0x1e] + ldrh r2, [r4, #0x12] + adds r0, r4, #0 + bl sub_080042D0 +_08054B52: + adds r0, r5, #0 + adds r0, #0x5a + ldrb r0, [r0] + adds r1, r4, #0 + adds r1, #0x5a + strb r0, [r1] + adds r0, r5, #0 + adds r0, #0x5b + ldrb r0, [r0] + adds r1, #1 + strb r0, [r1] +_08054B68: + movs r0, #0x10 + bl sub_0805436C + cmp r0, #1 + bhi _08054BFC + ldrb r0, [r4, #0x1e] + cmp r0, #0xff + beq _08054BE8 + ldr r0, _08054BF4 @ =gLinkEntity + ldrb r0, [r0, #0x18] + lsls r0, r0, #0x1e + cmp r0, #0 + beq _08054BE8 + ldrb r0, [r4, #0xe] + subs r0, #1 + strb r0, [r4, #0xe] + lsls r0, r0, #0x18 + lsrs r0, r0, #0x18 + cmp r0, #0xff + bne _08054BE8 + movs r0, #4 + strb r0, [r4, #0xe] + movs r0, #0x45 + movs r1, #0 + movs r2, #0x10 + bl CreateObject + adds r5, r0, #0 + cmp r5, #0 + beq _08054BE8 + movs r3, #0x80 + lsls r3, r3, #0xa + adds r0, r4, #0 + adds r1, r5, #0 + movs r2, #0 + bl PositionRelative + adds r0, r4, #0 + adds r0, #0x29 + ldrb r1, [r0] + lsls r1, r1, #0x1d + adds r3, r5, #0 + adds r3, #0x29 + lsrs r1, r1, #0x1d + ldrb r2, [r3] + movs r0, #8 + rsbs r0, r0, #0 + ands r0, r2 + orrs r0, r1 + strb r0, [r3] + ldr r1, _08054BF8 @ =gUnk_080FEEB0 + ldrb r0, [r4, #0x14] + adds r0, r0, r1 + ldrb r0, [r0] + adds r2, r5, #0 + adds r2, #0x62 + strb r0, [r2] + ldrb r0, [r4, #0x14] + adds r0, #1 + adds r0, r0, r1 + ldrb r1, [r0] + adds r0, r5, #0 + adds r0, #0x63 + strb r1, [r0] +_08054BE8: + ldr r1, _08054BF4 @ =gLinkEntity + adds r0, r4, #0 + bl sub_08078E84 + b _08054C00 + .align 2, 0 +_08054BF4: .4byte gLinkEntity +_08054BF8: .4byte gUnk_080FEEB0 +_08054BFC: + bl sub_0805E780 +_08054C00: + pop {r4, r5, r6, r7, pc} + .align 2, 0 + + thumb_func_start sub_08054C04 +sub_08054C04: @ 0x08054C04 + push {lr} + ldr r1, _08054C18 @ =gUnk_080FEEB8 + ldr r0, _08054C1C @ =gUnk_02000080 + ldrb r0, [r0, #6] + lsls r0, r0, #2 + adds r0, r0, r1 + ldr r0, [r0] + bl _call_via_r0 + pop {pc} + .align 2, 0 +_08054C18: .4byte gUnk_080FEEB8 +_08054C1C: .4byte gUnk_02000080 + + thumb_func_start sub_08054C20 +sub_08054C20: @ 0x08054C20 + push {r4, lr} + ldr r4, _08054C50 @ =gUnk_02000080 + ldrb r0, [r4, #4] + movs r1, #0 + movs r2, #0 + movs r3, #0 + bl sub_08055B70 + ldrb r0, [r4, #4] + movs r1, #0 + bl sub_0801876C + ldrb r0, [r4, #6] + adds r0, #1 + strb r0, [r4, #6] + ldr r1, _08054C54 @ =gUnk_02000070 + movs r0, #1 + strb r0, [r1] + movs r0, #4 + movs r1, #0x10 + bl DoFade + pop {r4, pc} + .align 2, 0 +_08054C50: .4byte gUnk_02000080 +_08054C54: .4byte gUnk_02000070 + + thumb_func_start sub_08054C58 +sub_08054C58: @ 0x08054C58 + push {lr} + ldr r0, _08054C80 @ =gUnk_03000FD0 + ldrb r0, [r0] + cmp r0, #0 + bne _08054C7C + movs r0, #0xff + bl sub_0807CC3C + cmp r0, #0 + beq _08054C7C + movs r0, #7 + movs r1, #0x10 + bl DoFade + ldr r1, _08054C84 @ =gUnk_02000080 + ldrb r0, [r1, #6] + adds r0, #1 + strb r0, [r1, #6] +_08054C7C: + pop {pc} + .align 2, 0 +_08054C80: .4byte gUnk_03000FD0 +_08054C84: .4byte gUnk_02000080 + + thumb_func_start sub_08054C88 +sub_08054C88: @ 0x08054C88 + push {r4, lr} + ldr r0, _08054CB8 @ =gUnk_03000FD0 + ldrb r0, [r0] + cmp r0, #0 + bne _08054CB4 + ldr r4, _08054CBC @ =gUnk_02000080 + ldrb r0, [r4, #4] + movs r1, #0 + bl sub_08054974 + movs r0, #6 + movs r1, #0x10 + bl DoFade + movs r0, #0x73 + bl PlaySFX + ldrb r0, [r4, #6] + adds r0, #1 + strb r0, [r4, #6] + movs r0, #0x78 + strh r0, [r4, #8] +_08054CB4: + pop {r4, pc} + .align 2, 0 +_08054CB8: .4byte gUnk_03000FD0 +_08054CBC: .4byte gUnk_02000080 + + thumb_func_start sub_08054CC0 +sub_08054CC0: @ 0x08054CC0 + push {lr} + ldr r0, _08054CE0 @ =gUnk_03000FD0 + ldrb r0, [r0] + cmp r0, #0 + bne _08054CDE + ldr r1, _08054CE4 @ =gUnk_02000080 + ldrh r0, [r1, #8] + subs r0, #1 + strh r0, [r1, #8] + lsls r0, r0, #0x10 + cmp r0, #0 + bne _08054CDE + ldrb r0, [r1, #5] + adds r0, #1 + strb r0, [r1, #5] +_08054CDE: + pop {pc} + .align 2, 0 +_08054CE0: .4byte gUnk_03000FD0 +_08054CE4: .4byte gUnk_02000080 + + thumb_func_start sub_08054CE8 +sub_08054CE8: @ 0x08054CE8 + push {lr} + ldr r1, _08054CFC @ =gUnk_080FEEC8 + ldr r0, _08054D00 @ =gUnk_02000080 + ldrb r0, [r0, #6] + lsls r0, r0, #2 + adds r0, r0, r1 + ldr r0, [r0] + bl _call_via_r0 + pop {pc} + .align 2, 0 +_08054CFC: .4byte gUnk_080FEEC8 +_08054D00: .4byte gUnk_02000080 + + thumb_func_start sub_08054D04 +sub_08054D04: @ 0x08054D04 + push {r4, lr} + ldr r4, _08054D34 @ =gUnk_02000080 + ldr r1, [r4, #0xc] + ldrb r0, [r1, #2] + ldrb r1, [r1, #3] + bl sub_0804B0B0 + ldrb r0, [r4, #4] + movs r1, #0 + movs r2, #0 + movs r3, #0 + bl sub_08055B70 + ldrb r0, [r4, #6] + adds r0, #1 + strb r0, [r4, #6] + ldr r1, _08054D38 @ =gUnk_02000070 + movs r0, #1 + strb r0, [r1] + movs r0, #4 + movs r1, #0x10 + bl DoFade + pop {r4, pc} + .align 2, 0 +_08054D34: .4byte gUnk_02000080 +_08054D38: .4byte gUnk_02000070 + + thumb_func_start sub_08054D3C +sub_08054D3C: @ 0x08054D3C + push {r4, lr} + ldr r0, _08054D6C @ =gUnk_03000FD0 + ldrb r0, [r0] + cmp r0, #0 + bne _08054D6A + movs r0, #0xff + bl sub_0807CC3C + cmp r0, #0 + beq _08054D6A + ldr r4, _08054D70 @ =gUnk_02000080 + ldrb r0, [r4, #4] + movs r1, #1 + bl sub_0801876C + ldrb r0, [r4, #4] + bl sub_080553E0 + ldrb r0, [r4, #6] + adds r0, #1 + strb r0, [r4, #6] + movs r0, #0x78 + strh r0, [r4, #8] +_08054D6A: + pop {r4, pc} + .align 2, 0 +_08054D6C: .4byte gUnk_03000FD0 +_08054D70: .4byte gUnk_02000080 + + thumb_func_start sub_08054D74 +sub_08054D74: @ 0x08054D74 + push {lr} + ldr r1, _08054D8C @ =gUnk_02000080 + ldrh r0, [r1, #8] + subs r0, #1 + strh r0, [r1, #8] + lsls r0, r0, #0x10 + cmp r0, #0 + bne _08054D8A + ldrb r0, [r1, #5] + adds r0, #1 + strb r0, [r1, #5] +_08054D8A: + pop {pc} + .align 2, 0 +_08054D8C: .4byte gUnk_02000080 + + thumb_func_start sub_08054D90 +sub_08054D90: @ 0x08054D90 + push {lr} + ldr r1, _08054DA4 @ =gUnk_080FEF34 + ldr r0, _08054DA8 @ =gUnk_02000080 + ldrb r0, [r0, #6] + lsls r0, r0, #2 + adds r0, r0, r1 + ldr r0, [r0] + bl _call_via_r0 + pop {pc} + .align 2, 0 +_08054DA4: .4byte gUnk_080FEF34 +_08054DA8: .4byte gUnk_02000080 + + thumb_func_start sub_08054DAC +sub_08054DAC: @ 0x08054DAC + push {r4, lr} + ldr r4, _08054DF0 @ =gUnk_02000080 + ldr r1, [r4, #0xc] + ldrb r0, [r1, #2] + ldrb r1, [r1, #3] + bl sub_0804B0B0 + ldr r0, _08054DF4 @ =gUnk_080FEED4 + bl LoadRoomEntityList + movs r0, #2 + bl sub_0805B4D0 + movs r0, #0 + bl sub_0806D0B0 + ldrb r0, [r4, #4] + movs r1, #0 + movs r2, #0 + movs r3, #0 + bl sub_08055B70 + ldrb r0, [r4, #6] + adds r0, #1 + strb r0, [r4, #6] + ldr r1, _08054DF8 @ =gUnk_02000070 + movs r0, #1 + strb r0, [r1] + movs r0, #4 + movs r1, #0x10 + bl DoFade + pop {r4, pc} + .align 2, 0 +_08054DF0: .4byte gUnk_02000080 +_08054DF4: .4byte gUnk_080FEED4 +_08054DF8: .4byte gUnk_02000070 + + thumb_func_start nullsub_484 +nullsub_484: @ 0x08054DFC + bx lr + .align 2, 0 + + thumb_func_start sub_08054E00 +sub_08054E00: @ 0x08054E00 + push {lr} + ldr r1, _08054E14 @ =gUnk_080FEF3C + ldr r0, _08054E18 @ =gUnk_02000080 + ldrb r0, [r0, #6] + lsls r0, r0, #2 + adds r0, r0, r1 + ldr r0, [r0] + bl _call_via_r0 + pop {pc} + .align 2, 0 +_08054E14: .4byte gUnk_080FEF3C +_08054E18: .4byte gUnk_02000080 + + thumb_func_start sub_08054E1C +sub_08054E1C: @ 0x08054E1C + push {r4, r5, lr} + ldr r5, _08054E54 @ =gUnk_02000080 + ldr r4, [r5, #0xc] + ldrb r0, [r4, #2] + ldrb r1, [r4, #3] + bl sub_0804B0B0 + ldrb r0, [r4, #2] + ldrb r1, [r4, #3] + bl sub_0804B0E8 + ldrb r0, [r5, #4] + movs r1, #0 + movs r2, #0 + movs r3, #0 + bl sub_08055B70 + ldrb r0, [r5, #6] + adds r0, #1 + strb r0, [r5, #6] + ldr r1, _08054E58 @ =gUnk_02000070 + movs r0, #1 + strb r0, [r1] + movs r0, #4 + movs r1, #0x10 + bl DoFade + pop {r4, r5, pc} + .align 2, 0 +_08054E54: .4byte gUnk_02000080 +_08054E58: .4byte gUnk_02000070 + + thumb_func_start sub_08054E5C +sub_08054E5C: @ 0x08054E5C + push {r4, lr} + ldr r0, _08054E94 @ =gUnk_03000FD0 + ldrb r0, [r0] + cmp r0, #0 + bne _08054E92 + movs r0, #0xff + bl sub_0807CC3C + cmp r0, #0 + beq _08054E92 + ldr r4, _08054E98 @ =gUnk_02000080 + ldrb r0, [r4, #6] + adds r0, #1 + strb r0, [r4, #6] + movs r0, #0xb4 + strh r0, [r4, #8] + movs r0, #6 + movs r1, #0x10 + bl DoFade + ldrb r0, [r4, #4] + bl sub_080553E0 + ldrb r0, [r4, #4] + movs r1, #1 + bl sub_0801876C +_08054E92: + pop {r4, pc} + .align 2, 0 +_08054E94: .4byte gUnk_03000FD0 +_08054E98: .4byte gUnk_02000080 + + thumb_func_start sub_08054E9C +sub_08054E9C: @ 0x08054E9C + push {lr} + ldr r1, _08054EB4 @ =gUnk_02000080 + ldrh r0, [r1, #8] + subs r0, #1 + strh r0, [r1, #8] + lsls r0, r0, #0x10 + cmp r0, #0 + bne _08054EB2 + ldrb r0, [r1, #5] + adds r0, #1 + strb r0, [r1, #5] +_08054EB2: + pop {pc} + .align 2, 0 +_08054EB4: .4byte gUnk_02000080 + + thumb_func_start sub_08054EB8 +sub_08054EB8: @ 0x08054EB8 + push {r4, lr} + adds r4, r0, #0 + bl sub_0805E8D4 + adds r3, r0, #0 + cmp r3, #0 + beq _08054EF6 + movs r0, #9 + strb r0, [r3, #8] + movs r0, #0x24 + strb r0, [r3, #9] + ldr r2, _08054EF8 @ =gRoomControls + ldrh r0, [r4, #0x2e] + ldrh r1, [r2, #6] + subs r0, r0, r1 + strh r0, [r3, #0x38] + ldrh r0, [r4, #0x32] + ldrh r1, [r2, #8] + subs r0, r0, r1 + subs r0, #0x10 + strh r0, [r3, #0x3a] + adds r1, r3, #0 + adds r1, #0x35 + movs r0, #1 + strb r0, [r1] + movs r0, #0x79 + strh r0, [r3, #0x3e] + adds r0, r3, #0 + movs r1, #6 + bl sub_0805EA2C +_08054EF6: + pop {r4, pc} + .align 2, 0 +_08054EF8: .4byte gRoomControls + + thumb_func_start sub_08054EFC +sub_08054EFC: @ 0x08054EFC + push {r4, r5, lr} + adds r4, r0, #0 + movs r0, #0x2e + ldrsh r1, [r4, r0] + ldr r2, _08054F5C @ =gRoomControls + ldrh r0, [r2, #6] + subs r1, r1, r0 + asrs r1, r1, #4 + movs r3, #0x3f + ands r1, r3 + movs r5, #0x32 + ldrsh r0, [r4, r5] + ldrh r2, [r2, #8] + subs r0, r0, r2 + asrs r0, r0, #4 + ands r0, r3 + lsls r0, r0, #6 + orrs r1, r0 + subs r1, #0x40 + ldr r0, _08054F60 @ =0x00004074 + movs r2, #1 + bl sub_0800015E + adds r1, r4, #0 + adds r1, #0x38 + movs r0, #2 + strb r0, [r1] + adds r0, r4, #0 + bl UpdateSpriteOrderAndFlip + adds r0, r4, #0 + movs r1, #0x35 + movs r2, #0 + bl CreateFX + adds r1, r0, #0 + cmp r1, #0 + beq _08054F54 + ldrh r0, [r1, #0x32] + subs r0, #0x10 + strh r0, [r1, #0x32] + adds r0, r4, #0 + bl sub_0806FAD8 +_08054F54: + movs r0, #0xfd + bl PlaySFX + pop {r4, r5, pc} + .align 2, 0 +_08054F5C: .4byte gRoomControls +_08054F60: .4byte 0x00004074 + + thumb_func_start sub_08054F64 +sub_08054F64: @ 0x08054F64 + push {lr} + ldrb r0, [r0, #0xb] + ldr r3, _08054F7C @ =gUnk_02033280 + ldr r2, [r3] + adds r1, r2, #0 + ands r1, r0 + cmp r1, r0 + beq _08054F80 + movs r0, #0 + strb r0, [r3, #6] + b _08054F8C + .align 2, 0 +_08054F7C: .4byte gUnk_02033280 +_08054F80: + bics r2, r1 + str r2, [r3] + ldrb r1, [r3, #7] + movs r0, #1 + orrs r0, r1 + strb r0, [r3, #7] +_08054F8C: + pop {pc} + .align 2, 0 + + thumb_func_start sub_08054F90 +sub_08054F90: @ 0x08054F90 + push {lr} + ldr r1, _08054FA4 @ =gUnk_080FF120 + ldr r0, _08054FA8 @ =gUnk_02000080 + ldrb r0, [r0, #6] + lsls r0, r0, #2 + adds r0, r0, r1 + ldr r0, [r0] + bl _call_via_r0 + pop {pc} + .align 2, 0 +_08054FA4: .4byte gUnk_080FF120 +_08054FA8: .4byte gUnk_02000080 + + thumb_func_start sub_08054FAC +sub_08054FAC: @ 0x08054FAC + push {r4, r5, r6, lr} + ldr r6, _08055008 @ =gUnk_02000080 + ldr r5, [r6, #0xc] + ldr r1, _0805500C @ =gUnk_080FF108 + ldrb r0, [r5, #1] + lsls r0, r0, #2 + adds r0, r0, r1 + ldr r0, [r0] + bl LoadRoomEntityList + ldrb r0, [r5, #1] + movs r1, #0 + cmp r0, #0 + beq _08054FCA + movs r1, #3 +_08054FCA: + ldrb r0, [r6, #4] + movs r2, #0 + movs r3, #0 + bl sub_08055B70 + ldrb r0, [r6, #6] + adds r0, #1 + movs r4, #0 + strb r0, [r6, #6] + ldr r1, _08055010 @ =gUnk_02000070 + movs r0, #1 + strb r0, [r1] + movs r0, #4 + movs r1, #0x10 + bl DoFade + strh r4, [r6, #0xa] + movs r0, #0x80 + lsls r0, r0, #3 + movs r1, #0x77 + bl GetProgressFlagWithOffset + cmp r0, #0 + beq _08055004 + ldrb r0, [r5, #2] + cmp r0, #0x2f + bne _08055004 + movs r0, #1 + strh r0, [r6, #0xa] +_08055004: + pop {r4, r5, r6, pc} + .align 2, 0 +_08055008: .4byte gUnk_02000080 +_0805500C: .4byte gUnk_080FF108 +_08055010: .4byte gUnk_02000070 + + thumb_func_start sub_08055014 +sub_08055014: @ 0x08055014 + push {lr} + ldr r1, _08055030 @ =gUnk_02000080 + ldrh r0, [r1, #0xa] + cmp r0, #0 + beq _0805502C + movs r0, #0 + strh r0, [r1, #0xa] + ldr r1, _08055034 @ =0x00000407 + movs r0, #0x74 + movs r2, #1 + bl sub_0807B314 +_0805502C: + pop {pc} + .align 2, 0 +_08055030: .4byte gUnk_02000080 +_08055034: .4byte 0x00000407 + + thumb_func_start sub_08055038 +sub_08055038: @ 0x08055038 + push {lr} + ldr r1, _0805504C @ =gUnk_080FF148 + ldr r0, _08055050 @ =gUnk_02000080 + ldrb r0, [r0, #6] + lsls r0, r0, #2 + adds r0, r0, r1 + ldr r0, [r0] + bl _call_via_r0 + pop {pc} + .align 2, 0 +_0805504C: .4byte gUnk_080FF148 +_08055050: .4byte gUnk_02000080 + + thumb_func_start sub_08055054 +sub_08055054: @ 0x08055054 + push {r4, lr} + ldr r0, _08055080 @ =gUnk_080FF128 + bl LoadRoomEntityList + ldr r4, _08055084 @ =gUnk_02000080 + ldrb r0, [r4, #4] + movs r1, #2 + movs r2, #0 + movs r3, #0 + bl sub_08055B70 + ldrb r0, [r4, #6] + adds r0, #1 + strb r0, [r4, #6] + ldr r1, _08055088 @ =gUnk_02000070 + movs r0, #1 + strb r0, [r1] + movs r0, #4 + movs r1, #0x10 + bl DoFade + pop {r4, pc} + .align 2, 0 +_08055080: .4byte gUnk_080FF128 +_08055084: .4byte gUnk_02000080 +_08055088: .4byte gUnk_02000070 + + thumb_func_start sub_0805508C +sub_0805508C: @ 0x0805508C + bx lr + .align 2, 0 + + thumb_func_start sub_08055090 +sub_08055090: @ 0x08055090 + bx lr + .align 2, 0 + + thumb_func_start sub_08055094 +sub_08055094: @ 0x08055094 + push {lr} + ldr r1, _080550A8 @ =gUnk_080FF174 + ldr r0, _080550AC @ =gUnk_02000080 + ldrb r0, [r0, #6] + lsls r0, r0, #2 + adds r0, r0, r1 + ldr r0, [r0] + bl _call_via_r0 + pop {pc} + .align 2, 0 +_080550A8: .4byte gUnk_080FF174 +_080550AC: .4byte gUnk_02000080 + + thumb_func_start sub_080550B0 +sub_080550B0: @ 0x080550B0 + push {r4, lr} + ldr r4, _080550E8 @ =gUnk_02000080 + ldr r1, [r4, #0xc] + ldrb r0, [r1, #2] + ldrb r1, [r1, #3] + bl sub_0804B0B0 + ldr r0, _080550EC @ =gUnk_080FF154 + bl LoadRoomEntityList + ldrb r0, [r4, #4] + movs r1, #0 + movs r2, #0 + movs r3, #0 + bl sub_08055B70 + ldrb r0, [r4, #6] + adds r0, #1 + strb r0, [r4, #6] + ldr r1, _080550F0 @ =gUnk_02000070 + movs r0, #1 + strb r0, [r1] + movs r0, #4 + movs r1, #0x10 + bl DoFade + pop {r4, pc} + .align 2, 0 +_080550E8: .4byte gUnk_02000080 +_080550EC: .4byte gUnk_080FF154 +_080550F0: .4byte gUnk_02000070 + + thumb_func_start nullsub_487 +nullsub_487: @ 0x080550F4 + bx lr + .align 2, 0 + + thumb_func_start sub_080550F8 +sub_080550F8: @ 0x080550F8 + push {lr} + ldr r1, _0805510C @ =gUnk_080FF1CC + ldr r0, _08055110 @ =gUnk_02000080 + ldrb r0, [r0, #6] + lsls r0, r0, #2 + adds r0, r0, r1 + ldr r0, [r0] + bl _call_via_r0 + pop {pc} + .align 2, 0 +_0805510C: .4byte gUnk_080FF1CC +_08055110: .4byte gUnk_02000080 + + thumb_func_start sub_08055114 +sub_08055114: @ 0x08055114 + push {r4, lr} + ldr r0, _08055150 @ =gUnk_080FF17C + bl LoadRoomEntityList + ldr r0, _08055154 @ =gUnk_02002A40 + ldrb r0, [r0, #8] + cmp r0, #9 + beq _0805512A + ldr r0, _08055158 @ =0x00000DB4 + bl sub_08018C58 +_0805512A: + ldr r4, _0805515C @ =gUnk_02000080 + ldrb r0, [r4, #4] + movs r1, #0 + movs r2, #0 + movs r3, #0 + bl sub_08055B70 + ldrb r0, [r4, #6] + adds r0, #1 + strb r0, [r4, #6] + ldr r1, _08055160 @ =gUnk_02000070 + movs r0, #1 + strb r0, [r1] + movs r0, #4 + movs r1, #0x10 + bl DoFade + pop {r4, pc} + .align 2, 0 +_08055150: .4byte gUnk_080FF17C +_08055154: .4byte gUnk_02002A40 +_08055158: .4byte 0x00000DB4 +_0805515C: .4byte gUnk_02000080 +_08055160: .4byte gUnk_02000070 + + thumb_func_start nullsub_488 +nullsub_488: @ 0x08055164 + bx lr + .align 2, 0 + + thumb_func_start sub_08055168 +sub_08055168: @ 0x08055168 + push {lr} + ldr r1, _0805517C @ =gUnk_080FF1F4 + ldr r0, _08055180 @ =gUnk_02000080 + ldrb r0, [r0, #6] + lsls r0, r0, #2 + adds r0, r0, r1 + ldr r0, [r0] + bl _call_via_r0 + pop {pc} + .align 2, 0 +_0805517C: .4byte gUnk_080FF1F4 +_08055180: .4byte gUnk_02000080 + + thumb_func_start sub_08055184 +sub_08055184: @ 0x08055184 + push {r4, r5, r6, lr} + mov r6, r8 + push {r6} + ldr r5, _0805520C @ =gUnk_02000080 + ldr r0, [r5, #0xc] + ldrb r1, [r0, #1] + movs r0, #0xf + ands r0, r1 + lsls r4, r0, #1 + adds r4, r4, r0 + lsls r4, r4, #1 + ldr r0, _08055210 @ =gUnk_080FF1D4 + adds r4, r4, r0 + movs r1, #0 + ldrsh r0, [r4, r1] + bl sub_0801D7EC + ldr r2, _08055214 @ =gLCDControls + ldrh r0, [r4, #2] + movs r6, #0 + movs r3, #0 + mov r8, r3 + strh r0, [r2, #0x2e] + ldrh r0, [r4, #4] + strh r0, [r2, #0x30] + ldr r0, _08055218 @ =0x00001E05 + strh r0, [r2, #0x2c] + adds r1, r2, #0 + adds r1, #0x66 + ldr r0, _0805521C @ =0x00003648 + strh r0, [r1] + adds r1, #2 + movs r0, #0x10 + strh r0, [r1] + ldrh r0, [r2] + movs r3, #0x80 + lsls r3, r3, #4 + adds r1, r3, #0 + orrs r0, r1 + strh r0, [r2] + ldrb r0, [r5, #4] + movs r1, #1 + bl sub_0801876C + ldrb r0, [r5, #4] + movs r1, #0 + movs r2, #0 + movs r3, #0 + bl sub_08055B70 + ldrb r0, [r5, #6] + adds r0, #1 + strb r0, [r5, #6] + strb r6, [r5, #7] + movs r0, #0x3c + strh r0, [r5, #8] + mov r0, r8 + strh r0, [r5, #0xa] + ldr r1, _08055220 @ =gUnk_02000070 + movs r0, #1 + strb r0, [r1] + movs r0, #4 + movs r1, #0x10 + bl DoFade + pop {r3} + mov r8, r3 + pop {r4, r5, r6, pc} + .align 2, 0 +_0805520C: .4byte gUnk_02000080 +_08055210: .4byte gUnk_080FF1D4 +_08055214: .4byte gLCDControls +_08055218: .4byte 0x00001E05 +_0805521C: .4byte 0x00003648 +_08055220: .4byte gUnk_02000070 + + thumb_func_start sub_08055224 +sub_08055224: @ 0x08055224 + push {lr} + ldr r0, _08055244 @ =gUnk_03000FD0 + ldrb r0, [r0] + cmp r0, #0 + bne _08055240 + movs r0, #0xff + bl sub_0807CC3C + cmp r0, #0 + beq _08055240 + ldr r1, _08055248 @ =gUnk_02000080 + ldrb r0, [r1, #6] + adds r0, #1 + strb r0, [r1, #6] +_08055240: + pop {pc} + .align 2, 0 +_08055244: .4byte gUnk_03000FD0 +_08055248: .4byte gUnk_02000080 + + thumb_func_start sub_0805524C +sub_0805524C: @ 0x0805524C + push {r4, lr} + ldr r3, _08055270 @ =gUnk_02000080 + ldrb r0, [r3, #7] + cmp r0, #0 + bne _08055274 + ldrh r0, [r3, #8] + subs r0, #1 + strh r0, [r3, #8] + lsls r0, r0, #0x10 + cmp r0, #0 + bne _080552D6 + ldrb r0, [r3, #7] + adds r0, #1 + strb r0, [r3, #7] + movs r0, #0xf6 + bl PlaySFX + b _080552D6 + .align 2, 0 +_08055270: .4byte gUnk_02000080 +_08055274: + ldr r0, _080552A4 @ =gUnk_030010A0 + ldr r0, [r0] + movs r1, #7 + ands r0, r1 + cmp r0, #0 + bne _080552D6 + ldr r4, _080552A8 @ =gUnk_080FF204 + ldrh r2, [r3, #0xa] + lsls r0, r2, #1 + adds r0, r0, r4 + ldrh r1, [r0] + ldr r0, _080552AC @ =0x0000FFFF + cmp r1, r0 + beq _080552B4 + ldr r1, _080552B0 @ =gLCDControls + adds r0, r2, #1 + strh r0, [r3, #0xa] + lsls r0, r2, #1 + adds r0, r0, r4 + ldrh r0, [r0] + adds r1, #0x68 + strh r0, [r1] + b _080552D6 + .align 2, 0 +_080552A4: .4byte gUnk_030010A0 +_080552A8: .4byte gUnk_080FF204 +_080552AC: .4byte 0x0000FFFF +_080552B0: .4byte gLCDControls +_080552B4: + ldr r1, _080552D8 @ =gLCDControls + ldrh r2, [r1] + ldr r0, _080552DC @ =0x0000F7FF + ands r0, r2 + strh r0, [r1] + adds r1, #0x68 + movs r0, #0x80 + lsls r0, r0, #5 + strh r0, [r1] + movs r0, #0x78 + strh r0, [r3, #8] + ldrb r0, [r3, #6] + adds r0, #1 + strb r0, [r3, #6] + movs r0, #0x73 + bl PlaySFX +_080552D6: + pop {r4, pc} + .align 2, 0 +_080552D8: .4byte gLCDControls +_080552DC: .4byte 0x0000F7FF + + thumb_func_start sub_080552E0 +sub_080552E0: @ 0x080552E0 + push {lr} + ldr r1, _080552F8 @ =gUnk_02000080 + ldrh r0, [r1, #8] + subs r0, #1 + strh r0, [r1, #8] + lsls r0, r0, #0x10 + cmp r0, #0 + bne _080552F6 + ldrb r0, [r1, #5] + adds r0, #1 + strb r0, [r1, #5] +_080552F6: + pop {pc} + .align 2, 0 +_080552F8: .4byte gUnk_02000080 + + thumb_func_start sub_080552FC +sub_080552FC: @ 0x080552FC + push {lr} + ldr r1, _08055310 @ =gUnk_080FF228 + ldr r0, _08055314 @ =gUnk_02000080 + ldrb r0, [r0, #6] + lsls r0, r0, #2 + adds r0, r0, r1 + ldr r0, [r0] + bl _call_via_r0 + pop {pc} + .align 2, 0 +_08055310: .4byte gUnk_080FF228 +_08055314: .4byte gUnk_02000080 + + thumb_func_start sub_08055318 +sub_08055318: @ 0x08055318 + push {r4, lr} + ldr r4, _08055348 @ =gUnk_02000080 + ldrb r0, [r4, #4] + movs r1, #0 + movs r2, #0 + movs r3, #0 + bl sub_08055B70 + ldrb r0, [r4, #4] + movs r1, #0 + bl sub_0801876C + ldrb r0, [r4, #6] + adds r0, #1 + strb r0, [r4, #6] + ldr r1, _0805534C @ =gUnk_02000070 + movs r0, #1 + strb r0, [r1] + movs r0, #4 + movs r1, #0x10 + bl DoFade + pop {r4, pc} + .align 2, 0 +_08055348: .4byte gUnk_02000080 +_0805534C: .4byte gUnk_02000070 + + thumb_func_start sub_08055350 +sub_08055350: @ 0x08055350 + push {lr} + ldr r0, _08055378 @ =gUnk_03000FD0 + ldrb r0, [r0] + cmp r0, #0 + bne _08055374 + movs r0, #0xff + bl sub_0807CC3C + cmp r0, #0 + beq _08055374 + movs r0, #7 + movs r1, #0x10 + bl DoFade + ldr r1, _0805537C @ =gUnk_02000080 + ldrb r0, [r1, #6] + adds r0, #1 + strb r0, [r1, #6] +_08055374: + pop {pc} + .align 2, 0 +_08055378: .4byte gUnk_03000FD0 +_0805537C: .4byte gUnk_02000080 + + thumb_func_start sub_08055380 +sub_08055380: @ 0x08055380 + push {r4, lr} + ldr r0, _080553B0 @ =gUnk_03000FD0 + ldrb r0, [r0] + cmp r0, #0 + bne _080553AC + ldr r4, _080553B4 @ =gUnk_02000080 + ldrb r0, [r4, #4] + movs r1, #0 + bl sub_08054974 + movs r0, #6 + movs r1, #0x10 + bl DoFade + movs r0, #0x73 + bl PlaySFX + ldrb r0, [r4, #6] + adds r0, #1 + strb r0, [r4, #6] + movs r0, #0x78 + strh r0, [r4, #8] +_080553AC: + pop {r4, pc} + .align 2, 0 +_080553B0: .4byte gUnk_03000FD0 +_080553B4: .4byte gUnk_02000080 + + thumb_func_start sub_080553B8 +sub_080553B8: @ 0x080553B8 + push {lr} + ldr r0, _080553D8 @ =gUnk_03000FD0 + ldrb r0, [r0] + cmp r0, #0 + bne _080553D6 + ldr r1, _080553DC @ =gUnk_02000080 + ldrh r0, [r1, #8] + subs r0, #1 + strh r0, [r1, #8] + lsls r0, r0, #0x10 + cmp r0, #0 + bne _080553D6 + ldrb r0, [r1, #5] + adds r0, #1 + strb r0, [r1, #5] +_080553D6: + pop {pc} + .align 2, 0 +_080553D8: .4byte gUnk_03000FD0 +_080553DC: .4byte gUnk_02000080 + + thumb_func_start sub_080553E0 +sub_080553E0: @ 0x080553E0 + push {r4, lr} + ldr r0, _0805540C @ =gUnk_02000080 + ldr r4, [r0, #0xc] + movs r0, #0xf + movs r1, #0x43 + movs r2, #0 + bl CreateObject + adds r2, r0, #0 + cmp r2, #0 + beq _08055408 + ldr r0, _08055410 @ =gRoomControls + ldrh r1, [r0, #6] + ldrh r3, [r4, #8] + adds r1, r1, r3 + strh r1, [r2, #0x2e] + ldrh r0, [r0, #8] + ldrh r4, [r4, #0xa] + adds r0, r0, r4 + strh r0, [r2, #0x32] +_08055408: + pop {r4, pc} + .align 2, 0 +_0805540C: .4byte gUnk_02000080 +_08055410: .4byte gRoomControls + + thumb_func_start sub_08055414 +sub_08055414: @ 0x08055414 + push {lr} + ldr r1, _08055428 @ =gUnk_080FF238 + ldr r0, _0805542C @ =gUnk_02000080 + ldrb r0, [r0, #6] + lsls r0, r0, #2 + adds r0, r0, r1 + ldr r0, [r0] + bl _call_via_r0 + pop {pc} + .align 2, 0 +_08055428: .4byte gUnk_080FF238 +_0805542C: .4byte gUnk_02000080 + + thumb_func_start sub_08055430 +sub_08055430: @ 0x08055430 + push {r4, lr} + ldr r4, _08055460 @ =gUnk_02000080 + ldr r1, [r4, #0xc] + ldrb r0, [r1, #2] + ldrb r1, [r1, #3] + bl sub_0804B0E8 + ldrb r0, [r4, #4] + movs r1, #0 + movs r2, #0 + movs r3, #0 + bl sub_08055B70 + ldrb r0, [r4, #6] + adds r0, #1 + strb r0, [r4, #6] + ldr r1, _08055464 @ =gUnk_02000070 + movs r0, #1 + strb r0, [r1] + movs r0, #4 + movs r1, #0x10 + bl DoFade + pop {r4, pc} + .align 2, 0 +_08055460: .4byte gUnk_02000080 +_08055464: .4byte gUnk_02000070 + + thumb_func_start sub_08055468 +sub_08055468: @ 0x08055468 + push {lr} + ldr r0, _08055490 @ =gUnk_03000FD0 + ldrb r0, [r0] + cmp r0, #0 + bne _0805548C + movs r0, #0xff + bl sub_0807CC3C + cmp r0, #0 + beq _0805548C + movs r0, #7 + movs r1, #0x10 + bl DoFade + ldr r1, _08055494 @ =gUnk_02000080 + ldrb r0, [r1, #6] + adds r0, #1 + strb r0, [r1, #6] +_0805548C: + pop {pc} + .align 2, 0 +_08055490: .4byte gUnk_03000FD0 +_08055494: .4byte gUnk_02000080 + + thumb_func_start sub_08055498 +sub_08055498: @ 0x08055498 + push {r4, lr} + ldr r0, _080554CC @ =gUnk_03000FD0 + ldrb r0, [r0] + cmp r0, #0 + bne _080554CA + ldr r4, _080554D0 @ =gUnk_02000080 + ldrb r0, [r4, #4] + movs r1, #1 + bl sub_0801876C + ldrb r0, [r4, #4] + bl sub_080553E0 + movs r0, #6 + movs r1, #0x10 + bl DoFade + movs r0, #0x73 + bl PlaySFX + ldrb r0, [r4, #6] + adds r0, #1 + strb r0, [r4, #6] + movs r0, #0x78 + strh r0, [r4, #8] +_080554CA: + pop {r4, pc} + .align 2, 0 +_080554CC: .4byte gUnk_03000FD0 +_080554D0: .4byte gUnk_02000080 + + thumb_func_start sub_080554D4 +sub_080554D4: @ 0x080554D4 + push {lr} + ldr r0, _080554F4 @ =gUnk_03000FD0 + ldrb r0, [r0] + cmp r0, #0 + bne _080554F2 + ldr r1, _080554F8 @ =gUnk_02000080 + ldrh r0, [r1, #8] + subs r0, #1 + strh r0, [r1, #8] + lsls r0, r0, #0x10 + cmp r0, #0 + bne _080554F2 + ldrb r0, [r1, #5] + adds r0, #1 + strb r0, [r1, #5] +_080554F2: + pop {pc} + .align 2, 0 +_080554F4: .4byte gUnk_03000FD0 +_080554F8: .4byte gUnk_02000080 + + thumb_func_start sub_080554FC +sub_080554FC: @ 0x080554FC + push {lr} + ldr r1, _08055510 @ =gUnk_080FF248 + ldr r0, _08055514 @ =gUnk_02000080 + ldrb r0, [r0, #6] + lsls r0, r0, #2 + adds r0, r0, r1 + ldr r0, [r0] + bl _call_via_r0 + pop {pc} + .align 2, 0 +_08055510: .4byte gUnk_080FF248 +_08055514: .4byte gUnk_02000080 + + thumb_func_start sub_08055518 +sub_08055518: @ 0x08055518 + push {r4, lr} + ldr r4, _08055540 @ =gUnk_02000080 + ldrb r0, [r4, #4] + movs r1, #0 + movs r2, #0 + movs r3, #0 + bl sub_08055B70 + ldrb r0, [r4, #6] + adds r0, #1 + strb r0, [r4, #6] + ldr r1, _08055544 @ =gUnk_02000070 + movs r0, #1 + strb r0, [r1] + movs r0, #4 + movs r1, #0x10 + bl DoFade + pop {r4, pc} + .align 2, 0 +_08055540: .4byte gUnk_02000080 +_08055544: .4byte gUnk_02000070 + + thumb_func_start sub_08055548 +sub_08055548: @ 0x08055548 + push {r4, lr} + ldr r0, _08055578 @ =gUnk_03000FD0 + ldrb r0, [r0] + cmp r0, #0 + bne _08055576 + movs r0, #0xff + bl sub_0807CC3C + cmp r0, #0 + beq _08055576 + ldr r4, _0805557C @ =gUnk_02000080 + ldrb r0, [r4, #4] + movs r1, #1 + bl sub_0801876C + ldrb r0, [r4, #4] + bl sub_080553E0 + ldrb r0, [r4, #6] + adds r0, #1 + strb r0, [r4, #6] + movs r0, #0xb4 + strh r0, [r4, #8] +_08055576: + pop {r4, pc} + .align 2, 0 +_08055578: .4byte gUnk_03000FD0 +_0805557C: .4byte gUnk_02000080 + + thumb_func_start sub_08055580 +sub_08055580: @ 0x08055580 + push {lr} + ldr r1, _08055598 @ =gUnk_02000080 + ldrh r0, [r1, #8] + subs r0, #1 + strh r0, [r1, #8] + lsls r0, r0, #0x10 + cmp r0, #0 + bne _08055596 + ldrb r0, [r1, #5] + adds r0, #1 + strb r0, [r1, #5] +_08055596: + pop {pc} + .align 2, 0 +_08055598: .4byte gUnk_02000080 + + thumb_func_start sub_0805559C +sub_0805559C: @ 0x0805559C + push {lr} + ldr r1, _080555B0 @ =gUnk_080FF254 + ldr r0, _080555B4 @ =gUnk_02000080 + ldrb r0, [r0, #6] + lsls r0, r0, #2 + adds r0, r0, r1 + ldr r0, [r0] + bl _call_via_r0 + pop {pc} + .align 2, 0 +_080555B0: .4byte gUnk_080FF254 +_080555B4: .4byte gUnk_02000080 + + thumb_func_start sub_080555B8 +sub_080555B8: @ 0x080555B8 + push {r4, r5, lr} + ldr r5, _08055600 @ =gUnk_02000080 + ldr r4, [r5, #0xc] + ldr r1, _08055604 @ =gUnk_0811E454 + ldrb r0, [r4, #0x11] + lsls r0, r0, #1 + adds r0, r0, r1 + ldrh r0, [r0] + ldrh r1, [r4, #0x12] + bl sub_0807CC9C + ldrb r0, [r4, #2] + ldrb r1, [r4, #3] + bl sub_0804B0E8 + movs r0, #0x11 + bl sub_0801D7EC + ldrb r0, [r5, #4] + movs r1, #0 + movs r2, #0 + movs r3, #0 + bl sub_08055B70 + ldrb r0, [r5, #6] + adds r0, #1 + strb r0, [r5, #6] + ldr r1, _08055608 @ =gUnk_02000070 + movs r0, #1 + strb r0, [r1] + movs r0, #4 + movs r1, #0x10 + bl DoFade + pop {r4, r5, pc} + .align 2, 0 +_08055600: .4byte gUnk_02000080 +_08055604: .4byte gUnk_0811E454 +_08055608: .4byte gUnk_02000070 + + thumb_func_start sub_0805560C +sub_0805560C: @ 0x0805560C + push {lr} + ldr r0, _0805562C @ =gUnk_03000FD0 + ldrb r0, [r0] + cmp r0, #0 + bne _08055628 + movs r0, #0xff + bl sub_0807CC3C + cmp r0, #0 + beq _08055628 + ldr r1, _08055630 @ =gUnk_02000080 + ldrb r0, [r1, #6] + adds r0, #1 + strb r0, [r1, #6] +_08055628: + pop {pc} + .align 2, 0 +_0805562C: .4byte gUnk_03000FD0 +_08055630: .4byte gUnk_02000080 + + thumb_func_start sub_08055634 +sub_08055634: @ 0x08055634 + push {r4, r5, lr} + ldr r4, _0805566C @ =gUnk_02000080 + ldr r5, [r4, #0xc] + movs r0, #0x2c + movs r1, #0 + movs r2, #0 + bl CreateObject + adds r2, r0, #0 + cmp r2, #0 + beq _0805565C + ldr r0, _08055670 @ =gRoomControls + ldrh r1, [r5, #8] + ldrh r3, [r0, #6] + adds r1, r1, r3 + strh r1, [r2, #0x2e] + ldrh r1, [r5, #0xa] + ldrh r0, [r0, #8] + adds r1, r1, r0 + strh r1, [r2, #0x32] +_0805565C: + ldrb r0, [r4, #6] + adds r0, #1 + strb r0, [r4, #6] + movs r0, #0xc3 + lsls r0, r0, #1 + strh r0, [r4, #8] + pop {r4, r5, pc} + .align 2, 0 +_0805566C: .4byte gUnk_02000080 +_08055670: .4byte gRoomControls + + thumb_func_start sub_08055674 +sub_08055674: @ 0x08055674 + push {lr} + ldr r1, _0805568C @ =gUnk_02000080 + ldrh r0, [r1, #8] + subs r0, #1 + strh r0, [r1, #8] + lsls r0, r0, #0x10 + cmp r0, #0 + bne _0805568A + ldrb r0, [r1, #5] + adds r0, #1 + strb r0, [r1, #5] +_0805568A: + pop {pc} + .align 2, 0 +_0805568C: .4byte gUnk_02000080 + + thumb_func_start sub_08055690 +sub_08055690: @ 0x08055690 + push {lr} + ldr r1, _080556A4 @ =gUnk_080FF284 + ldr r0, _080556A8 @ =gUnk_02000080 + ldrb r0, [r0, #6] + lsls r0, r0, #2 + adds r0, r0, r1 + ldr r0, [r0] + bl _call_via_r0 + pop {pc} + .align 2, 0 +_080556A4: .4byte gUnk_080FF284 +_080556A8: .4byte gUnk_02000080 + + thumb_func_start sub_080556AC +sub_080556AC: @ 0x080556AC + push {r4, lr} + ldr r4, _080556E4 @ =gUnk_02000080 + ldrb r0, [r4, #6] + adds r0, #1 + strb r0, [r4, #6] + ldr r1, _080556E8 @ =gUnk_02000070 + movs r0, #1 + strb r0, [r1] + ldr r1, [r4, #0xc] + ldrb r0, [r1, #2] + ldrb r1, [r1, #3] + bl sub_0804B0B0 + ldr r0, _080556EC @ =gUnk_080FF264 + bl LoadRoomEntityList + ldrb r0, [r4, #4] + movs r1, #0 + movs r2, #0 + movs r3, #0 + bl sub_08055B70 + movs r0, #4 + movs r1, #0x10 + bl DoFade + pop {r4, pc} + .align 2, 0 +_080556E4: .4byte gUnk_02000080 +_080556E8: .4byte gUnk_02000070 +_080556EC: .4byte gUnk_080FF264 + + thumb_func_start nullsub_489 +nullsub_489: @ 0x080556F0 + bx lr + .align 2, 0 + + thumb_func_start sub_080556F4 +sub_080556F4: @ 0x080556F4 + push {lr} + ldr r1, _08055708 @ =gUnk_080FF28C + ldr r0, _0805570C @ =gUnk_02000080 + ldrb r0, [r0, #6] + lsls r0, r0, #2 + adds r0, r0, r1 + ldr r0, [r0] + bl _call_via_r0 + pop {pc} + .align 2, 0 +_08055708: .4byte gUnk_080FF28C +_0805570C: .4byte gUnk_02000080 + + thumb_func_start sub_08055710 +sub_08055710: @ 0x08055710 + push {r4, lr} + ldr r4, _0805575C @ =gUnk_02000080 + ldr r1, [r4, #0xc] + ldrb r0, [r1, #2] + ldrb r1, [r1, #3] + bl sub_0804B0B0 + ldr r0, _08055760 @ =gUnk_080FEE48 + bl CreateEntity + adds r1, r0, #0 + cmp r1, #0 + beq _08055734 + movs r0, #2 + strb r0, [r1, #0xb] + adds r1, #0x86 + ldr r0, _08055764 @ =0x000080FF + strh r0, [r1] +_08055734: + ldrb r0, [r4, #4] + bl sub_08054A14 + ldrb r0, [r4, #4] + movs r1, #0 + movs r2, #0 + movs r3, #0 + bl sub_08055B70 + ldrb r0, [r4, #6] + adds r0, #1 + strb r0, [r4, #6] + ldr r1, _08055768 @ =gUnk_02000070 + movs r0, #1 + strb r0, [r1] + movs r0, #4 + movs r1, #0x10 + bl DoFade + pop {r4, pc} + .align 2, 0 +_0805575C: .4byte gUnk_02000080 +_08055760: .4byte gUnk_080FEE48 +_08055764: .4byte 0x000080FF +_08055768: .4byte gUnk_02000070 + + thumb_func_start sub_0805576C +sub_0805576C: @ 0x0805576C + push {lr} + ldr r0, _08055790 @ =gUnk_03000FD0 + ldrb r0, [r0] + cmp r0, #0 + bne _0805578C + movs r0, #0xff + bl sub_0807CC3C + cmp r0, #0 + beq _0805578C + ldr r0, _08055794 @ =gUnk_02000080 + ldrb r1, [r0, #6] + adds r1, #1 + strb r1, [r0, #6] + movs r1, #0x78 + strh r1, [r0, #8] +_0805578C: + pop {pc} + .align 2, 0 +_08055790: .4byte gUnk_03000FD0 +_08055794: .4byte gUnk_02000080 + + thumb_func_start sub_08055798 +sub_08055798: @ 0x08055798 + push {lr} + ldr r1, _080557B0 @ =gUnk_02000080 + ldrh r0, [r1, #8] + subs r0, #1 + strh r0, [r1, #8] + lsls r0, r0, #0x10 + cmp r0, #0 + bne _080557AE + ldrb r0, [r1, #5] + adds r0, #1 + strb r0, [r1, #5] +_080557AE: + pop {pc} + .align 2, 0 +_080557B0: .4byte gUnk_02000080 + + thumb_func_start sub_080557B4 +sub_080557B4: @ 0x080557B4 + push {lr} + ldr r1, _080557C8 @ =gUnk_080FF2B8 + ldr r0, _080557CC @ =gUnk_02000080 + ldrb r0, [r0, #6] + lsls r0, r0, #2 + adds r0, r0, r1 + ldr r0, [r0] + bl _call_via_r0 + pop {pc} + .align 2, 0 +_080557C8: .4byte gUnk_080FF2B8 +_080557CC: .4byte gUnk_02000080 + + thumb_func_start sub_080557D0 +sub_080557D0: @ 0x080557D0 + push {r4, lr} + ldr r4, _08055808 @ =gUnk_02000080 + ldrb r0, [r4, #6] + adds r0, #1 + strb r0, [r4, #6] + ldr r1, _0805580C @ =gUnk_02000070 + movs r0, #1 + strb r0, [r1] + ldr r1, [r4, #0xc] + ldrb r0, [r1, #2] + ldrb r1, [r1, #3] + bl sub_0804B0B0 + ldr r0, _08055810 @ =gUnk_080FF298 + bl LoadRoomEntityList + ldrb r0, [r4, #4] + movs r1, #0 + movs r2, #0 + movs r3, #0 + bl sub_08055B70 + movs r0, #4 + movs r1, #0x10 + bl DoFade + pop {r4, pc} + .align 2, 0 +_08055808: .4byte gUnk_02000080 +_0805580C: .4byte gUnk_02000070 +_08055810: .4byte gUnk_080FF298 + + thumb_func_start nullsub_490 +nullsub_490: @ 0x08055814 + bx lr + .align 2, 0 + + thumb_func_start sub_08055818 +sub_08055818: @ 0x08055818 + push {lr} + ldr r1, _0805582C @ =gUnk_080FF300 + ldr r0, _08055830 @ =gUnk_02000080 + ldrb r0, [r0, #6] + lsls r0, r0, #2 + adds r0, r0, r1 + ldr r0, [r0] + bl _call_via_r0 + pop {pc} + .align 2, 0 +_0805582C: .4byte gUnk_080FF300 +_08055830: .4byte gUnk_02000080 + + thumb_func_start sub_08055834 +sub_08055834: @ 0x08055834 + push {r4, lr} + ldr r0, _08055870 @ =gUnk_080FF2C0 + bl LoadRoomEntityList + ldr r0, _08055874 @ =gUnk_02002A40 + ldrb r0, [r0, #8] + cmp r0, #9 + beq _0805584A + ldr r0, _08055878 @ =0x00000DB4 + bl sub_08018C58 +_0805584A: + ldr r4, _0805587C @ =gUnk_02000080 + ldrb r0, [r4, #4] + movs r1, #1 + movs r2, #0 + movs r3, #0 + bl sub_08055B70 + ldrb r0, [r4, #6] + adds r0, #1 + strb r0, [r4, #6] + ldr r1, _08055880 @ =gUnk_02000070 + movs r0, #1 + strb r0, [r1] + movs r0, #4 + movs r1, #0x10 + bl DoFade + pop {r4, pc} + .align 2, 0 +_08055870: .4byte gUnk_080FF2C0 +_08055874: .4byte gUnk_02002A40 +_08055878: .4byte 0x00000DB4 +_0805587C: .4byte gUnk_02000080 +_08055880: .4byte gUnk_02000070 + + thumb_func_start nullsub_491 +nullsub_491: @ 0x08055884 + bx lr + .align 2, 0 + + thumb_func_start sub_08055888 +sub_08055888: @ 0x08055888 + push {lr} + ldr r1, _0805589C @ =gUnk_080FF328 + ldr r0, _080558A0 @ =gUnk_02000080 + ldrb r0, [r0, #6] + lsls r0, r0, #2 + adds r0, r0, r1 + ldr r0, [r0] + bl _call_via_r0 + pop {pc} + .align 2, 0 +_0805589C: .4byte gUnk_080FF328 +_080558A0: .4byte gUnk_02000080 + + thumb_func_start sub_080558A4 +sub_080558A4: @ 0x080558A4 + push {r4, lr} + ldr r4, _080558DC @ =gUnk_02000080 + ldr r1, [r4, #0xc] + ldrb r0, [r1, #2] + ldrb r1, [r1, #3] + bl sub_0804B0B0 + ldr r0, _080558E0 @ =gUnk_080FF308 + bl LoadRoomEntityList + ldrb r0, [r4, #4] + movs r1, #0 + movs r2, #0 + movs r3, #0 + bl sub_08055B70 + ldrb r0, [r4, #6] + adds r0, #1 + strb r0, [r4, #6] + ldr r1, _080558E4 @ =gUnk_02000070 + movs r0, #1 + strb r0, [r1] + movs r0, #4 + movs r1, #0x10 + bl DoFade + pop {r4, pc} + .align 2, 0 +_080558DC: .4byte gUnk_02000080 +_080558E0: .4byte gUnk_080FF308 +_080558E4: .4byte gUnk_02000070 + + thumb_func_start nullsub_492 +nullsub_492: @ 0x080558E8 + bx lr + .align 2, 0 + + thumb_func_start sub_080558EC +sub_080558EC: @ 0x080558EC + push {lr} + ldr r1, _08055900 @ =gUnk_080FF330 + ldr r0, _08055904 @ =gUnk_02000080 + ldrb r0, [r0, #6] + lsls r0, r0, #2 + adds r0, r0, r1 + ldr r0, [r0] + bl _call_via_r0 + pop {pc} + .align 2, 0 +_08055900: .4byte gUnk_080FF330 +_08055904: .4byte gUnk_02000080 + + thumb_func_start sub_08055908 +sub_08055908: @ 0x08055908 + push {r4, r5, lr} + ldr r5, _08055940 @ =gUnk_02000080 + ldr r4, [r5, #0xc] + ldrb r0, [r4, #2] + ldrb r1, [r4, #3] + bl sub_0804B0B0 + ldrb r0, [r4, #2] + ldrb r1, [r4, #3] + bl sub_0804B0E8 + ldrb r0, [r5, #4] + movs r1, #0 + movs r2, #0 + movs r3, #0 + bl sub_08055B70 + ldrb r0, [r5, #6] + adds r0, #1 + strb r0, [r5, #6] + ldr r1, _08055944 @ =gUnk_02000070 + movs r0, #1 + strb r0, [r1] + movs r0, #4 + movs r1, #0x10 + bl DoFade + pop {r4, r5, pc} + .align 2, 0 +_08055940: .4byte gUnk_02000080 +_08055944: .4byte gUnk_02000070 + + thumb_func_start sub_08055948 +sub_08055948: @ 0x08055948 + push {lr} + ldr r0, _08055970 @ =gUnk_03000FD0 + ldrb r0, [r0] + cmp r0, #0 + bne _0805596C + movs r0, #0xff + bl sub_0807CC3C + cmp r0, #0 + beq _0805596C + bl sub_08055994 + ldr r0, _08055974 @ =gUnk_02000080 + ldrb r1, [r0, #6] + adds r1, #1 + strb r1, [r0, #6] + movs r1, #0x78 + strh r1, [r0, #8] +_0805596C: + pop {pc} + .align 2, 0 +_08055970: .4byte gUnk_03000FD0 +_08055974: .4byte gUnk_02000080 + + thumb_func_start sub_08055978 +sub_08055978: @ 0x08055978 + push {lr} + ldr r1, _08055990 @ =gUnk_02000080 + ldrh r0, [r1, #8] + subs r0, #1 + strh r0, [r1, #8] + lsls r0, r0, #0x10 + cmp r0, #0 + bne _0805598E + ldrb r0, [r1, #5] + adds r0, #1 + strb r0, [r1, #5] +_0805598E: + pop {pc} + .align 2, 0 +_08055990: .4byte gUnk_02000080 + + thumb_func_start sub_08055994 +sub_08055994: @ 0x08055994 + push {r4, lr} + ldr r4, _080559D8 @ =gUnk_02000080 + ldrb r0, [r4, #4] + lsls r0, r0, #3 + ldr r1, _080559DC @ =gUnk_080FEAC8 + adds r0, r0, r1 + ldrb r1, [r0, #6] + movs r0, #1 + ands r0, r1 + movs r3, #1 + cmp r0, #0 + beq _080559AE + movs r3, #2 +_080559AE: + ldr r0, [r4, #0xc] + ldrh r1, [r0, #8] + lsrs r1, r1, #4 + movs r2, #0x3f + ands r1, r2 + ldrh r0, [r0, #0xa] + lsrs r0, r0, #4 + ands r0, r2 + lsls r0, r0, #6 + orrs r1, r0 + movs r0, #0x73 + adds r2, r3, #0 + bl sub_0807B314 + ldrb r0, [r4, #4] + bl sub_080553E0 + movs r0, #0x73 + bl PlaySFX + pop {r4, pc} + .align 2, 0 +_080559D8: .4byte gUnk_02000080 +_080559DC: .4byte gUnk_080FEAC8 + + thumb_func_start sub_080559E0 +sub_080559E0: @ 0x080559E0 + push {lr} + ldr r1, _080559F4 @ =gUnk_080FF35C + ldr r0, _080559F8 @ =gUnk_02000080 + ldrb r0, [r0, #6] + lsls r0, r0, #2 + adds r0, r0, r1 + ldr r0, [r0] + bl _call_via_r0 + pop {pc} + .align 2, 0 +_080559F4: .4byte gUnk_080FF35C +_080559F8: .4byte gUnk_02000080 + + thumb_func_start sub_080559FC +sub_080559FC: @ 0x080559FC + push {r4, lr} + ldr r4, _08055A30 @ =gUnk_02000080 + ldr r0, [r4, #0xc] + ldrb r0, [r0, #1] + cmp r0, #0 + beq _08055A0E + ldr r0, _08055A34 @ =gUnk_080FF33C + bl LoadRoomEntityList +_08055A0E: + ldrb r0, [r4, #4] + movs r1, #0 + movs r2, #0 + movs r3, #0 + bl sub_08055B70 + ldrb r0, [r4, #6] + adds r0, #1 + strb r0, [r4, #6] + ldr r1, _08055A38 @ =gUnk_02000070 + movs r0, #1 + strb r0, [r1] + movs r0, #4 + movs r1, #0x10 + bl DoFade + pop {r4, pc} + .align 2, 0 +_08055A30: .4byte gUnk_02000080 +_08055A34: .4byte gUnk_080FF33C +_08055A38: .4byte gUnk_02000070 + + thumb_func_start sub_08055A3C +sub_08055A3C: @ 0x08055A3C + push {lr} + ldr r0, _08055A64 @ =gUnk_03000FD0 + ldrb r0, [r0] + cmp r0, #0 + bne _08055A60 + movs r0, #0xff + bl sub_0807CC3C + cmp r0, #0 + beq _08055A60 + movs r0, #7 + movs r1, #0x10 + bl DoFade + ldr r1, _08055A68 @ =gUnk_02000080 + ldrb r0, [r1, #6] + adds r0, #1 + strb r0, [r1, #6] +_08055A60: + pop {pc} + .align 2, 0 +_08055A64: .4byte gUnk_03000FD0 +_08055A68: .4byte gUnk_02000080 + + thumb_func_start sub_08055A6C +sub_08055A6C: @ 0x08055A6C + push {r4, lr} + ldr r0, _08055AA0 @ =gUnk_03000FD0 + ldrb r0, [r0] + cmp r0, #0 + bne _08055A9E + ldr r4, _08055AA4 @ =gUnk_02000080 + ldrb r0, [r4, #4] + movs r1, #1 + bl sub_0801876C + ldrb r0, [r4, #4] + bl sub_080553E0 + movs r0, #6 + movs r1, #0x10 + bl DoFade + movs r0, #0x73 + bl PlaySFX + ldrb r0, [r4, #6] + adds r0, #1 + strb r0, [r4, #6] + movs r0, #0x78 + strh r0, [r4, #8] +_08055A9E: + pop {r4, pc} + .align 2, 0 +_08055AA0: .4byte gUnk_03000FD0 +_08055AA4: .4byte gUnk_02000080 + + thumb_func_start sub_08055AA8 +sub_08055AA8: @ 0x08055AA8 + push {lr} + ldr r0, _08055AC8 @ =gUnk_03000FD0 + ldrb r0, [r0] + cmp r0, #0 + bne _08055AC6 + ldr r1, _08055ACC @ =gUnk_02000080 + ldrh r0, [r1, #8] + subs r0, #1 + strh r0, [r1, #8] + lsls r0, r0, #0x10 + cmp r0, #0 + bne _08055AC6 + ldrb r0, [r1, #5] + adds r0, #1 + strb r0, [r1, #5] +_08055AC6: + pop {pc} + .align 2, 0 +_08055AC8: .4byte gUnk_03000FD0 +_08055ACC: .4byte gUnk_02000080 + + thumb_func_start sub_08055AD0 +sub_08055AD0: @ 0x08055AD0 + push {lr} + ldr r1, _08055AE4 @ =gUnk_080FF36C + ldr r0, _08055AE8 @ =gUnk_02000080 + ldrb r0, [r0, #6] + lsls r0, r0, #2 + adds r0, r0, r1 + ldr r0, [r0] + bl _call_via_r0 + pop {pc} + .align 2, 0 +_08055AE4: .4byte gUnk_080FF36C +_08055AE8: .4byte gUnk_02000080 + + thumb_func_start sub_08055AEC +sub_08055AEC: @ 0x08055AEC + push {r4, lr} + ldr r4, _08055B2C @ =gUnk_02000080 + ldrb r0, [r4, #4] + movs r1, #0 + movs r2, #0 + movs r3, #0 + bl sub_08055B70 + ldr r0, [r4, #0xc] + ldrb r0, [r0, #1] + lsls r0, r0, #4 + ldr r1, _08055B30 @ =gUnk_080FED18 + adds r0, r0, r1 + bl CreateEntity + adds r1, r0, #0 + cmp r1, #0 + beq _08055B14 + movs r0, #1 + strb r0, [r1, #0xb] +_08055B14: + ldrb r0, [r4, #6] + adds r0, #1 + strb r0, [r4, #6] + ldr r1, _08055B34 @ =gUnk_02000070 + movs r0, #1 + strb r0, [r1] + movs r0, #4 + movs r1, #0x10 + bl DoFade + pop {r4, pc} + .align 2, 0 +_08055B2C: .4byte gUnk_02000080 +_08055B30: .4byte gUnk_080FED18 +_08055B34: .4byte gUnk_02000070 + + thumb_func_start sub_08055B38 +sub_08055B38: @ 0x08055B38 + push {lr} + ldr r0, _08055B4C @ =gUnk_03000FD0 + ldrb r0, [r0] + cmp r0, #0 + bne _08055B48 + ldr r1, _08055B50 @ =gUnk_02000080 + movs r0, #0x78 + strh r0, [r1, #8] +_08055B48: + pop {pc} + .align 2, 0 +_08055B4C: .4byte gUnk_03000FD0 +_08055B50: .4byte gUnk_02000080 + + thumb_func_start sub_08055B54 +sub_08055B54: @ 0x08055B54 + push {lr} + ldr r1, _08055B6C @ =gUnk_02000080 + ldrh r0, [r1, #8] + subs r0, #1 + strh r0, [r1, #8] + lsls r0, r0, #0x10 + cmp r0, #0 + bne _08055B6A + ldrb r0, [r1, #5] + adds r0, #1 + strb r0, [r1, #5] +_08055B6A: + pop {pc} + .align 2, 0 +_08055B6C: .4byte gUnk_02000080 + + thumb_func_start sub_08055B70 +sub_08055B70: @ 0x08055B70 + push {r4, r5, r6, lr} + adds r0, r1, #0 + adds r5, r2, #0 + adds r6, r3, #0 + ldr r1, _08055BA4 @ =gUnk_02000080 + ldr r4, [r1, #0xc] + lsls r0, r0, #4 + ldr r1, _08055BA8 @ =gUnk_080FF378 + adds r0, r0, r1 + bl CreateEntity + adds r3, r0, #0 + cmp r3, #0 + beq _08055BA2 + ldrh r0, [r4, #8] + ldr r1, _08055BAC @ =gRoomControls + adds r0, r0, r5 + ldrh r2, [r1, #6] + adds r0, r0, r2 + strh r0, [r3, #0x2e] + ldrh r0, [r4, #0xa] + adds r0, r0, r6 + ldrh r1, [r1, #8] + adds r0, r0, r1 + strh r0, [r3, #0x32] +_08055BA2: + pop {r4, r5, r6, pc} + .align 2, 0 +_08055BA4: .4byte gUnk_02000080 +_08055BA8: .4byte gUnk_080FF378 +_08055BAC: .4byte gRoomControls + + thumb_func_start sub_08055BB0 +sub_08055BB0: @ 0x08055BB0 + push {lr} + ldr r1, _08055BC4 @ =gUnk_080FF3C8 + ldr r0, _08055BC8 @ =gUnk_02000080 + ldrb r0, [r0, #6] + lsls r0, r0, #2 + adds r0, r0, r1 + ldr r0, [r0] + bl _call_via_r0 + pop {pc} + .align 2, 0 +_08055BC4: .4byte gUnk_080FF3C8 +_08055BC8: .4byte gUnk_02000080 + + thumb_func_start sub_08055BCC +sub_08055BCC: @ 0x08055BCC + push {r4, lr} + ldr r4, _08055BFC @ =gUnk_02000080 + ldrb r0, [r4, #4] + movs r1, #0 + movs r2, #0 + movs r3, #0 + bl sub_08055B70 + ldrb r0, [r4, #4] + movs r1, #0 + bl sub_0801876C + ldrb r0, [r4, #6] + adds r0, #1 + strb r0, [r4, #6] + ldr r1, _08055C00 @ =gUnk_02000070 + movs r0, #1 + strb r0, [r1] + movs r0, #4 + movs r1, #0x10 + bl DoFade + pop {r4, pc} + .align 2, 0 +_08055BFC: .4byte gUnk_02000080 +_08055C00: .4byte gUnk_02000070 + + thumb_func_start sub_08055C04 +sub_08055C04: @ 0x08055C04 + push {lr} + ldr r0, _08055C2C @ =gUnk_03000FD0 + ldrb r0, [r0] + cmp r0, #0 + bne _08055C28 + movs r0, #0xff + bl sub_0807CC3C + cmp r0, #0 + beq _08055C28 + movs r0, #7 + movs r1, #0x10 + bl DoFade + ldr r1, _08055C30 @ =gUnk_02000080 + ldrb r0, [r1, #6] + adds r0, #1 + strb r0, [r1, #6] +_08055C28: + pop {pc} + .align 2, 0 +_08055C2C: .4byte gUnk_03000FD0 +_08055C30: .4byte gUnk_02000080 + + thumb_func_start sub_08055C34 +sub_08055C34: @ 0x08055C34 + push {r4, r5, lr} + sub sp, #4 + ldr r0, _08055C64 @ =gUnk_03000FD0 + ldrb r0, [r0] + cmp r0, #0 + bne _08055CA6 + ldr r5, _08055C68 @ =gUnk_02000080 + ldr r4, [r5, #0xc] + ldrb r0, [r5, #4] + bl sub_080553E0 + ldrb r1, [r4, #1] + movs r0, #0x80 + ands r0, r1 + lsls r0, r0, #0x18 + lsrs r0, r0, #0x18 + cmp r0, #0 + beq _08055C6C + ldrb r0, [r5, #4] + movs r1, #0 + bl sub_08054974 + b _08055C8C + .align 2, 0 +_08055C64: .4byte gUnk_03000FD0 +_08055C68: .4byte gUnk_02000080 +_08055C6C: + str r0, [sp] + movs r0, #6 + movs r1, #0x9e + movs r2, #6 + movs r3, #0 + bl sub_0805EB2C + adds r4, r0, #0 + cmp r4, #0 + beq _08055C8C + ldr r0, [r4, #0x54] + bl sub_0805E7BC + adds r0, r4, #0 + bl sub_0805E7BC +_08055C8C: + movs r0, #6 + movs r1, #0x10 + bl DoFade + movs r0, #0x73 + bl PlaySFX + ldr r0, _08055CAC @ =gUnk_02000080 + ldrb r1, [r0, #6] + adds r1, #1 + strb r1, [r0, #6] + movs r1, #0x78 + strh r1, [r0, #8] +_08055CA6: + add sp, #4 + pop {r4, r5, pc} + .align 2, 0 +_08055CAC: .4byte gUnk_02000080 + + thumb_func_start sub_08055CB0 +sub_08055CB0: @ 0x08055CB0 + push {lr} + ldr r0, _08055CD0 @ =gUnk_03000FD0 + ldrb r0, [r0] + cmp r0, #0 + bne _08055CCE + ldr r1, _08055CD4 @ =gUnk_02000080 + ldrh r0, [r1, #8] + subs r0, #1 + strh r0, [r1, #8] + lsls r0, r0, #0x10 + cmp r0, #0 + bne _08055CCE + ldrb r0, [r1, #5] + adds r0, #1 + strb r0, [r1, #5] +_08055CCE: + pop {pc} + .align 2, 0 +_08055CD0: .4byte gUnk_03000FD0 +_08055CD4: .4byte gUnk_02000080 + + thumb_func_start sub_08055CD8 +sub_08055CD8: @ 0x08055CD8 + push {lr} + ldr r1, _08055CEC @ =gUnk_080FF3E8 + ldr r0, _08055CF0 @ =gUnk_02000080 + ldrb r0, [r0, #6] + lsls r0, r0, #2 + adds r0, r0, r1 + ldr r0, [r0] + bl _call_via_r0 + pop {pc} + .align 2, 0 +_08055CEC: .4byte gUnk_080FF3E8 +_08055CF0: .4byte gUnk_02000080 + + thumb_func_start sub_08055CF4 +sub_08055CF4: @ 0x08055CF4 + push {r4, lr} + ldr r4, _08055D24 @ =gUnk_02000080 + ldr r1, [r4, #0xc] + ldrb r0, [r1, #2] + ldrb r1, [r1, #3] + bl sub_0804B0B0 + ldrb r0, [r4, #4] + movs r1, #0 + movs r2, #0 + movs r3, #0 + bl sub_08055B70 + ldrb r0, [r4, #6] + adds r0, #1 + strb r0, [r4, #6] + ldr r1, _08055D28 @ =gUnk_02000070 + movs r0, #1 + strb r0, [r1] + movs r0, #4 + movs r1, #0x10 + bl DoFade + pop {r4, pc} + .align 2, 0 +_08055D24: .4byte gUnk_02000080 +_08055D28: .4byte gUnk_02000070 + + thumb_func_start sub_08055D2C +sub_08055D2C: @ 0x08055D2C + push {r4, lr} + ldr r0, _08055D5C @ =gUnk_03000FD0 + ldrb r0, [r0] + cmp r0, #0 + bne _08055D5A + movs r0, #0xff + bl sub_0807CC3C + cmp r0, #0 + beq _08055D5A + ldr r4, _08055D60 @ =gUnk_02000080 + ldrb r0, [r4, #4] + movs r1, #1 + bl sub_0801876C + ldrb r0, [r4, #4] + bl sub_080553E0 + ldrb r0, [r4, #6] + adds r0, #1 + strb r0, [r4, #6] + movs r0, #0x78 + strh r0, [r4, #8] +_08055D5A: + pop {r4, pc} + .align 2, 0 +_08055D5C: .4byte gUnk_03000FD0 +_08055D60: .4byte gUnk_02000080 + + thumb_func_start sub_08055D64 +sub_08055D64: @ 0x08055D64 + push {lr} + ldr r1, _08055D7C @ =gUnk_02000080 + ldrh r0, [r1, #8] + subs r0, #1 + strh r0, [r1, #8] + lsls r0, r0, #0x10 + cmp r0, #0 + bne _08055D7A + ldrb r0, [r1, #5] + adds r0, #1 + strb r0, [r1, #5] +_08055D7A: + pop {pc} + .align 2, 0 +_08055D7C: .4byte gUnk_02000080 + + thumb_func_start sub_08055D80 +sub_08055D80: @ 0x08055D80 + push {lr} + ldr r1, _08055D94 @ =gUnk_080FF3F4 + ldr r0, _08055D98 @ =gUnk_02000080 + ldrb r0, [r0, #6] + lsls r0, r0, #2 + adds r0, r0, r1 + ldr r0, [r0] + bl _call_via_r0 + pop {pc} + .align 2, 0 +_08055D94: .4byte gUnk_080FF3F4 +_08055D98: .4byte gUnk_02000080 + + thumb_func_start sub_08055D9C +sub_08055D9C: @ 0x08055D9C + push {lr} + ldr r1, _08055DB8 @ =gUnk_02000080 + ldrb r0, [r1, #6] + adds r0, #1 + strb r0, [r1, #6] + ldr r1, _08055DBC @ =gUnk_02000070 + movs r0, #1 + strb r0, [r1] + movs r0, #4 + movs r1, #0x10 + bl DoFade + pop {pc} + .align 2, 0 +_08055DB8: .4byte gUnk_02000080 +_08055DBC: .4byte gUnk_02000070 + + thumb_func_start sub_08055DC0 +sub_08055DC0: @ 0x08055DC0 + push {lr} + ldr r0, _08055DE0 @ =gUnk_03000FD0 + ldrb r0, [r0] + cmp r0, #0 + bne _08055DDC + ldr r0, _08055DE4 @ =0x00000A01 + bl TextboxTryNoOverlap + ldr r1, _08055DE8 @ =gUnk_02000080 + ldrb r0, [r1, #6] + adds r0, #1 + strb r0, [r1, #6] + movs r0, #0x78 + strh r0, [r1, #8] +_08055DDC: + pop {pc} + .align 2, 0 +_08055DE0: .4byte gUnk_03000FD0 +_08055DE4: .4byte 0x00000A01 +_08055DE8: .4byte gUnk_02000080 + + thumb_func_start sub_08055DEC +sub_08055DEC: @ 0x08055DEC + push {lr} + ldr r1, _08055E04 @ =gUnk_02000080 + ldrh r0, [r1, #8] + subs r0, #1 + strh r0, [r1, #8] + lsls r0, r0, #0x10 + cmp r0, #0 + bne _08055E02 + ldrb r0, [r1, #5] + adds r0, #1 + strb r0, [r1, #5] +_08055E02: + pop {pc} + .align 2, 0 +_08055E04: .4byte gUnk_02000080 diff --git a/asm/code_08056418.s b/asm/code_08056418.s index 52140b42..677b3574 100644 --- a/asm/code_08056418.s +++ b/asm/code_08056418.s @@ -2478,7 +2478,7 @@ _080576EC: _08057738: .4byte gUnk_02033A90 _0805773C: .4byte gUnk_08107C6C _08057740: - ldr r2, _08057758 @ =gUnk_03003F80 + ldr r2, _08057758 @ =gLinkState ldr r0, [r2, #0x30] movs r1, #0x20 ands r0, r1 @@ -2491,7 +2491,7 @@ _08057740: strb r0, [r5, #0x18] b _0805776A .align 2, 0 -_08057758: .4byte gUnk_03003F80 +_08057758: .4byte gLinkState _0805775C: bl sub_08057810 cmp r0, #0 @@ -2540,7 +2540,7 @@ sub_080577AC: @ 0x080577AC adds r6, r0, #0 adds r7, r1, #0 mov r8, r2 - bl sub_08000E50 + bl Random adds r5, r0, #0 movs r0, #7 ands r0, r5 @@ -2588,7 +2588,7 @@ _08057808: thumb_func_start sub_08057810 sub_08057810: @ 0x08057810 push {lr} - ldr r2, _08057848 @ =gUnk_03003F80 + ldr r2, _08057848 @ =gLinkState ldr r0, [r2, #0x30] movs r1, #0x80 ands r0, r1 @@ -2616,7 +2616,7 @@ sub_08057810: @ 0x08057810 movs r0, #1 b _08057852 .align 2, 0 -_08057848: .4byte gUnk_03003F80 +_08057848: .4byte gLinkState _0805784C: .4byte gUnk_02033A90 _08057850: movs r0, #0 @@ -3220,7 +3220,7 @@ _08057CD6: ldrb r0, [r4, #0xe] cmp r0, #0 beq _08057CE4 - ldr r0, _08057D44 @ =gUnk_03003F80 + ldr r0, _08057D44 @ =gLinkState ldrb r0, [r0, #0x12] cmp r0, #0x1e bne _08057D42 @@ -3242,7 +3242,7 @@ _08057CF2: ands r0, r1 cmp r0, #0 beq _08057D3A - ldr r0, _08057D44 @ =gUnk_03003F80 + ldr r0, _08057D44 @ =gLinkState ldr r0, [r0, #0x30] movs r1, #0x80 ands r0, r1 @@ -3275,7 +3275,7 @@ _08057D3A: _08057D42: pop {r4, r5, r6, pc} .align 2, 0 -_08057D44: .4byte gUnk_03003F80 +_08057D44: .4byte gLinkState _08057D48: .4byte 0x0000FFFF _08057D4C: .4byte gLinkEntity @@ -4145,7 +4145,7 @@ _08058404: sub_08058408: @ 0x08058408 push {r4, r5, r6, lr} adds r4, r0, #0 - ldr r6, _0805843C @ =gUnk_03003F80 + ldr r6, _0805843C @ =gLinkState ldr r5, [r6, #0x30] movs r0, #8 ands r5, r0 @@ -4169,7 +4169,7 @@ sub_08058408: @ 0x08058408 beq _0805847C b _08058450 .align 2, 0 -_0805843C: .4byte gUnk_03003F80 +_0805843C: .4byte gLinkState _08058440: adds r0, r4, #0 bl sub_080585DC @@ -4209,7 +4209,7 @@ _08058488: thumb_func_start sub_0805848C sub_0805848C: @ 0x0805848C push {lr} - ldr r0, _080584A4 @ =gUnk_03003F80 + ldr r0, _080584A4 @ =gLinkState adds r0, #0xa8 ldrb r0, [r0] subs r0, #5 @@ -4221,7 +4221,7 @@ sub_0805848C: @ 0x0805848C ldr r0, [r0] mov pc, r0 .align 2, 0 -_080584A4: .4byte gUnk_03003F80 +_080584A4: .4byte gLinkState _080584A8: .4byte _080584AC _080584AC: @ jump table .4byte _0805850C @ case 0 @@ -4275,7 +4275,7 @@ _08058528: beq _08058584 b _080585A6 _08058532: - ldr r2, _08058564 @ =gUnk_03003F80 + ldr r2, _08058564 @ =gLinkState ldr r0, [r2, #0x30] ldr r1, _08058568 @ =0x00001235 ands r0, r1 @@ -4299,7 +4299,7 @@ _08058532: strb r0, [r4, #0xe] b _080585A6 .align 2, 0 -_08058564: .4byte gUnk_03003F80 +_08058564: .4byte gLinkState _08058568: .4byte 0x00001235 _0805856C: .4byte gLinkEntity _08058570: @@ -4321,11 +4321,11 @@ _08058584: cmp r0, #9 bne _080585A6 _08058590: - ldr r0, _080585AC @ =gUnk_03003F80 + ldr r0, _080585AC @ =gLinkState adds r0, #0x8b movs r1, #1 strb r1, [r0] - bl sub_0805E564 + bl UnfreezeTime ldrh r0, [r4, #0x3c] bl sub_0807CCC8 bl sub_0805E780 @@ -4333,7 +4333,7 @@ _080585A6: pop {r4, pc} .align 2, 0 _080585A8: .4byte gLinkEntity -_080585AC: .4byte gUnk_03003F80 +_080585AC: .4byte gLinkState thumb_func_start sub_080585B0 sub_080585B0: @ 0x080585B0 @@ -4964,7 +4964,7 @@ sub_08058A04: @ 0x08058A04 ldrsh r2, [r6, r0] cmp r2, #0 bne _08058A78 - ldr r0, _08058A74 @ =gUnk_03003F80 + ldr r0, _08058A74 @ =gLinkState movs r1, #3 strb r1, [r0, #0xc] adds r0, #0x38 @@ -4980,7 +4980,7 @@ sub_08058A04: @ 0x08058A04 _08058A68: .4byte gLinkEntity _08058A6C: .4byte gRoomControls _08058A70: .4byte 0xFFFFFEE8 -_08058A74: .4byte gUnk_03003F80 +_08058A74: .4byte gLinkState _08058A78: mov r1, r8 cmp r1, #0x77 @@ -6193,7 +6193,7 @@ _080593CA: sub_080593CC: @ 0x080593CC push {r4, lr} adds r3, r0, #0 - ldr r2, _08059418 @ =gUnk_03003F80 + ldr r2, _08059418 @ =gLinkState ldr r0, [r2, #0x30] movs r1, #0x80 ands r0, r1 @@ -6228,7 +6228,7 @@ sub_080593CC: @ 0x080593CC bl sub_0806FCB8 b _08059422 .align 2, 0 -_08059418: .4byte gUnk_03003F80 +_08059418: .4byte gLinkState _0805941C: .4byte gLinkEntity _08059420: movs r0, #0 @@ -8712,7 +8712,7 @@ sub_0805A76C: @ 0x0805A76C ldrsh r0, [r5, r1] cmp r0, #0 bne _0805A7D0 - ldr r0, _0805A7D8 @ =gUnk_03003F80 + ldr r0, _0805A7D8 @ =gLinkState ldr r6, [r0, #0x2c] cmp r6, #0 bne _0805A7D0 @@ -8749,14 +8749,14 @@ _0805A7D0: pop {r4, r5, r6, pc} .align 2, 0 _0805A7D4: .4byte gLinkEntity -_0805A7D8: .4byte gUnk_03003F80 +_0805A7D8: .4byte gLinkState _0805A7DC: .4byte gUnk_02034490 _0805A7E0: .4byte gRoomControls thumb_func_start sub_0805A7E4 sub_0805A7E4: @ 0x0805A7E4 push {lr} - ldr r2, _0805A800 @ =gUnk_03003F80 + ldr r2, _0805A800 @ =gLinkState ldrb r0, [r2, #0xc] cmp r0, #0x12 beq _0805A7FE @@ -8771,7 +8771,7 @@ sub_0805A7E4: @ 0x0805A7E4 _0805A7FE: pop {pc} .align 2, 0 -_0805A800: .4byte gUnk_03003F80 +_0805A800: .4byte gLinkState thumb_func_start sub_0805A804 sub_0805A804: @ 0x0805A804 @@ -10050,7 +10050,7 @@ sub_0805B1CC: @ 0x0805B1CC bl sub_0806FBFC cmp r0, #0 beq _0805B20C - ldr r2, _0805B1FC @ =gUnk_03003F80 + ldr r2, _0805B1FC @ =gLinkState ldr r1, [r2, #0x30] movs r0, #5 ands r0, r1 @@ -10062,7 +10062,7 @@ sub_0805B1CC: @ 0x0805B1CC str r1, [r2, #0x30] b _0805B20C .align 2, 0 -_0805B1FC: .4byte gUnk_03003F80 +_0805B1FC: .4byte gLinkState _0805B200: movs r0, #0x80 lsls r0, r0, #8 @@ -10095,7 +10095,7 @@ sub_0805B210: @ 0x0805B210 strb r0, [r2, #0xd] ldrb r0, [r4, #3] strb r0, [r2, #0x14] - ldr r0, _0805B250 @ =gUnk_03003F80 + ldr r0, _0805B250 @ =gLinkState ldr r0, [r0, #0x30] movs r1, #0x80 ands r0, r1 @@ -10107,7 +10107,7 @@ sub_0805B210: @ 0x0805B210 .align 2, 0 _0805B248: .4byte gUnk_030010A0 _0805B24C: .4byte gUnk_08108764 -_0805B250: .4byte gUnk_03003F80 +_0805B250: .4byte gLinkState _0805B254: movs r0, #2 _0805B256: @@ -10532,7 +10532,7 @@ sub_0805B55C: @ 0x0805B55C adds r5, r0, #0 cmp r5, #0 beq _0805B5B4 - bl sub_08000E50 + bl Random ldr r4, _0805B5B8 @ =gRoomControls ldr r2, _0805B5BC @ =gUnk_08108C6C movs r1, #7 @@ -10544,7 +10544,7 @@ sub_0805B55C: @ 0x0805B55C ldrh r1, [r4, #0xa] adds r0, r0, r1 strh r0, [r5, #0x2e] - bl sub_08000E50 + bl Random ldr r2, _0805B5C0 @ =gUnk_08108C7C movs r1, #3 ands r1, r0 @@ -11095,7 +11095,7 @@ _0805B9B4: _0805B9BC: strh r0, [r2] ldrb r4, [r5, #0xe] - ldr r0, _0805B9F0 @ =gUnk_03003F80 + ldr r0, _0805B9F0 @ =gLinkState ldr r0, [r0, #0x30] movs r1, #0x80 lsls r1, r1, #0x10 @@ -11117,7 +11117,7 @@ _0805B9BC: .align 2, 0 _0805B9E8: .4byte gLCDControls _0805B9EC: .4byte 0x0000DFFF -_0805B9F0: .4byte gUnk_03003F80 +_0805B9F0: .4byte gLinkState _0805B9F4: .4byte gUnk_02033A90 _0805B9F8: ldr r0, _0805BA24 @ =gUnk_030010A0 @@ -12881,7 +12881,7 @@ sub_0805C7C4: @ 0x0805C7C4 sub_0805C7CC: @ 0x0805C7CC push {lr} adds r2, r0, #0 - ldr r0, _0805C7F0 @ =gUnk_03003F80 + ldr r0, _0805C7F0 @ =gLinkState ldr r0, [r0, #0x30] movs r1, #0x80 ands r0, r1 @@ -12897,7 +12897,7 @@ sub_0805C7CC: @ 0x0805C7CC movs r0, #1 b _0805C816 .align 2, 0 -_0805C7F0: .4byte gUnk_03003F80 +_0805C7F0: .4byte gLinkState _0805C7F4: .4byte gLinkEntity _0805C7F8: movs r0, #0 @@ -14835,7 +14835,7 @@ _0805D700: bl GetProgressFlag cmp r0, #0 bne _0805D760 - bl sub_08000E50 + bl Random ldrh r1, [r4, #2] bl __modsi3 adds r2, r0, #0 @@ -15391,7 +15391,7 @@ sub_0805DAE8: @ 0x0805DAE8 rsbs r0, r0, #0 cmp r1, r0 bge _0805DB88 - ldr r0, _0805DB54 @ =gUnk_03003F80 + ldr r0, _0805DB54 @ =gLinkState adds r0, #0xa8 ldrb r0, [r0] cmp r0, #0x14 @@ -15406,7 +15406,7 @@ sub_0805DAE8: @ 0x0805DAE8 .align 2, 0 _0805DB4C: .4byte gRoomControls _0805DB50: .4byte gLinkEntity -_0805DB54: .4byte gUnk_03003F80 +_0805DB54: .4byte gLinkState _0805DB58: ldrb r0, [r2, #0xe] subs r0, #1 @@ -16264,7 +16264,7 @@ sub_0805E18C: @ 0x0805E18C cmp r0, #0 bne _0805E1BA strb r0, [r4, #0xb] - ldr r0, _0805E1D4 @ =gUnk_03003F80 + ldr r0, _0805E1D4 @ =gLinkState adds r0, #0x8b movs r1, #1 strb r1, [r0] @@ -16282,7 +16282,7 @@ _0805E1CC: pop {r4, pc} .align 2, 0 _0805E1D0: .4byte gUnk_03000FD0 -_0805E1D4: .4byte gUnk_03003F80 +_0805E1D4: .4byte gLinkState thumb_func_start sub_0805E1D8 sub_0805E1D8: @ 0x0805E1D8 diff --git a/asm/code_0805E3B0.s b/asm/code_0805E3B0.s index 59358fd7..22e67d47 100644 --- a/asm/code_0805E3B0.s +++ b/asm/code_0805E3B0.s @@ -263,8 +263,8 @@ sub_0805E544: @ 0x0805E544 _0805E55C: .4byte gUnk_03003DC0 _0805E560: .4byte gLinkEntity - thumb_func_start sub_0805E564 -sub_0805E564: @ 0x0805E564 + thumb_func_start UnfreezeTime +UnfreezeTime: @ 0x0805E564 ldr r1, _0805E57C @ =gUnk_03003DC0 movs r0, #0 strb r0, [r1] diff --git a/asm/code_0805E744.s b/asm/code_0805E744.s index d9702cb4..b9eb99e9 100644 --- a/asm/code_0805E744.s +++ b/asm/code_0805E744.s @@ -834,7 +834,7 @@ _0805ED10: .4byte 0x00000427 thumb_func_start sub_0805ED14 sub_0805ED14: @ 0x0805ED14 - ldr r2, _0805ED2C @ =gUnk_03003F80 + ldr r2, _0805ED2C @ =gLinkState adds r1, r2, #0 adds r1, #0x9c str r0, [r1] @@ -846,12 +846,12 @@ sub_0805ED14: @ 0x0805ED14 strh r1, [r0] bx lr .align 2, 0 -_0805ED2C: .4byte gUnk_03003F80 +_0805ED2C: .4byte gLinkState thumb_func_start sub_0805ED30 sub_0805ED30: @ 0x0805ED30 push {r4, lr} - ldr r2, _0805ED50 @ =gUnk_03003F80 + ldr r2, _0805ED50 @ =gLinkState adds r0, r2, #0 adds r0, #0x9c ldr r0, [r0] @@ -867,7 +867,7 @@ sub_0805ED30: @ 0x0805ED30 movs r4, #0 b _0805ED62 .align 2, 0 -_0805ED50: .4byte gUnk_03003F80 +_0805ED50: .4byte gLinkState _0805ED54: cmp r0, #2 beq _0805ED5E @@ -940,7 +940,7 @@ _0805EDC6: _0805EDCA: adds r0, r1, #0 bl sub_0805EE04 - ldr r3, _0805EDFC @ =gUnk_03003F80 + ldr r3, _0805EDFC @ =gLinkState adds r1, r3, #0 adds r1, #0x90 ldrh r2, [r1] @@ -961,7 +961,7 @@ _0805EDCA: pop {r4, pc} .align 2, 0 _0805EDF8: .4byte gUnk_03000FF0 -_0805EDFC: .4byte gUnk_03003F80 +_0805EDFC: .4byte gLinkState _0805EE00: .4byte gUnk_08109202 thumb_func_start sub_0805EE04 @@ -2795,7 +2795,7 @@ sub_0805FBE8: @ 0x0805FBE8 ldr r4, _0805FC68 @ =gLinkEntity adds r0, r4, #0 adds r1, r5, #0 - bl sub_0806FA24 + bl CopyPosition ldrb r0, [r5, #0xc] adds r0, #1 strb r0, [r5, #0xc] @@ -3694,7 +3694,7 @@ sub_080602BC: @ 0x080602BC bl GetInventoryValue cmp r0, #0 beq _080602D6 - bl sub_08000E50 + bl Random movs r1, #1 ands r1, r0 adds r2, r1, #2 @@ -3703,7 +3703,7 @@ _080602D6: ldr r0, _08060300 @ =gUnk_02002A40 adds r2, r0, #0 adds r2, #0xac - ldr r1, _08060304 @ =gUnk_080FD5A0 + ldr r1, _08060304 @ =gBombBagSizes adds r0, #0xae ldrb r0, [r0] adds r0, r0, r1 @@ -3723,14 +3723,14 @@ _080602F0: pop {r4, pc} .align 2, 0 _08060300: .4byte gUnk_02002A40 -_08060304: .4byte gUnk_080FD5A0 +_08060304: .4byte gBombBagSizes _08060308: .4byte gUnk_0810A362 thumb_func_start sub_0806030C sub_0806030C: @ 0x0806030C push {lr} ldr r0, [r1, #4] - bl sub_080542F4 + bl ModBombs pop {pc} .align 2, 0 @@ -4372,7 +4372,7 @@ _080607FC: movs r5, #0 ldrsb r5, [r6, r5] adds r6, #1 - bl sub_08000E50 + bl Random adds r1, r5, #0 bl __modsi3 adds r0, r6, r0 @@ -4412,7 +4412,7 @@ _08060846: movs r5, #0 ldrsb r5, [r6, r5] adds r6, #1 - bl sub_08000E50 + bl Random adds r1, r5, #0 bl __modsi3 str r0, [sp, #4] @@ -4609,7 +4609,7 @@ CreateZeldaFollower: @ 0x080609AC beq _080609E0 ldr r0, _080609E4 @ =gLinkEntity adds r1, r4, #0 - bl sub_0806FA24 + bl CopyPosition ldrb r1, [r4, #0x10] movs r0, #0x20 orrs r0, r1 @@ -4639,7 +4639,7 @@ _080609FC: .4byte gUnk_0810AC1C sub_08060A00: @ 0x08060A00 push {r4, r5, lr} adds r5, r0, #0 - ldr r0, _08060AD0 @ =gUnk_03003F80 + ldr r0, _08060AD0 @ =gLinkState ldrb r1, [r0, #2] movs r0, #0x80 ands r0, r1 @@ -4709,7 +4709,7 @@ _08060A76: strh r1, [r2] ldr r0, _08060AD4 @ =gLinkEntity adds r1, r5, #0 - bl sub_0806FA24 + bl CopyPosition movs r2, #1 movs r0, #1 strb r0, [r5, #0xc] @@ -4728,7 +4728,7 @@ _08060A76: lsrs r1, r1, #0x19 adds r0, r5, #0 bl sub_080042AC - bl sub_08000E50 + bl Random movs r1, #0x7f ands r0, r1 adds r0, #0x80 @@ -4743,7 +4743,7 @@ _08060A76: _08060ACE: pop {r4, r5, pc} .align 2, 0 -_08060AD0: .4byte gUnk_03003F80 +_08060AD0: .4byte gLinkState _08060AD4: .4byte gLinkEntity _08060AD8: .4byte gUnk_0810AC2C _08060ADC: .4byte gRoomControls @@ -5242,7 +5242,7 @@ sub_08060E94: @ 0x08060E94 lsrs r1, r1, #1 adds r0, r4, #0 bl sub_080042AC - bl sub_08000E50 + bl Random movs r1, #0x7f ands r0, r1 adds r0, #0x80 @@ -5870,7 +5870,7 @@ _0806139C: lsls r0, r0, #0x18 cmp r0, #0 bne _08061460 - bl sub_08000E50 + bl Random adds r6, r0, #0 ands r5, r6 cmp r5, #0 @@ -5902,7 +5902,7 @@ _080613D0: ands r0, r1 lsrs r0, r0, #2 strb r0, [r4, #0x14] - bl sub_08000E50 + bl Random adds r1, r0, #0 movs r0, #1 ands r1, r0 @@ -6834,7 +6834,7 @@ sub_08061AA8: @ 0x08061AA8 bl _call_via_r1 ldr r0, [r4, #0x50] adds r1, r4, #0 - bl sub_0806FA24 + bl CopyPosition pop {r4, pc} .align 2, 0 _08061AC8: .4byte gUnk_0810AC70 @@ -7345,12 +7345,12 @@ sub_08061E90: @ 0x08061E90 bne _08061F04 adds r0, #1 strb r0, [r5, #0x18] - bl sub_08000E50 + bl Random movs r1, #0x3f ands r0, r1 adds r0, #0x20 strh r0, [r5, #0x12] - bl sub_08000E50 + bl Random adds r1, r0, #0 movs r0, #0x18 ands r1, r0 @@ -7964,7 +7964,7 @@ sub_080622F4: @ 0x080622F4 ldrh r0, [r1, #0x36] ands r3, r6 orrs r3, r0 - ldr r0, _080623A8 @ =gUnk_03003F80 + ldr r0, _080623A8 @ =gLinkState adds r0, #0xa8 ldrb r0, [r0] lsls r0, r0, #0x10 @@ -8031,7 +8031,7 @@ _08062390: _0806239C: .4byte gLinkEntity _080623A0: .4byte 0xFFFF0000 _080623A4: .4byte 0x0000FFFF -_080623A8: .4byte gUnk_03003F80 +_080623A8: .4byte gLinkState _080623AC: .4byte 0xFF00FFFF _080623B0: .4byte 0xC0FFFFFF _080623B4: .4byte 0x3FFFFFFF @@ -8257,7 +8257,7 @@ sub_0806252C: @ 0x0806252C ldrh r0, [r4, #0x36] ands r3, r6 orrs r3, r0 - ldr r0, _08062624 @ =gUnk_03003F80 + ldr r0, _08062624 @ =gLinkState adds r0, #0xa8 ldrb r0, [r0] lsls r0, r0, #0x10 @@ -8357,7 +8357,7 @@ _080625C8: _08062618: .4byte gLinkEntity _0806261C: .4byte 0xFFFF0000 _08062620: .4byte 0x0000FFFF -_08062624: .4byte gUnk_03003F80 +_08062624: .4byte gLinkState _08062628: .4byte 0xFF00FFFF _0806262C: .4byte 0xC0FFFFFF _08062630: .4byte 0x3FFFFFFF @@ -8367,7 +8367,7 @@ sub_08062634: @ 0x08062634 push {r4, r5, lr} adds r5, r0, #0 ldrb r4, [r5, #0xb] - bl sub_08000E50 + bl Random movs r1, #1 ands r1, r0 ldr r0, _08062658 @ =gUnk_0810BDE8 @@ -8417,7 +8417,7 @@ _08062694: .4byte gUnk_0810BE10 sub_08062698: @ 0x08062698 push {r4, lr} adds r4, r0, #0 - bl sub_08000E50 + bl Random movs r1, #0x3f ands r0, r1 adds r0, #0xc0 @@ -8429,7 +8429,7 @@ sub_08062698: @ 0x08062698 sub_080626AC: @ 0x080626AC push {r4, lr} adds r4, r0, #0 - bl sub_08000E50 + bl Random movs r1, #0x1f ands r0, r1 adds r0, #0x40 @@ -8503,7 +8503,7 @@ _0806270E: subs r1, r1, r2 bl sub_080045DA strb r0, [r5, #0x15] - bl sub_08000E50 + bl Random movs r1, #0xb bl __modsi3 ldrb r1, [r5, #0x15] @@ -8746,12 +8746,12 @@ sub_08062948: @ 0x08062948 bne _080629B4 adds r0, #1 strb r0, [r6, #0x18] - bl sub_08000E50 + bl Random movs r1, #0x3f ands r0, r1 adds r0, #0x20 strh r0, [r6, #0x12] - bl sub_08000E50 + bl Random adds r1, r0, #0 movs r0, #0x18 ands r1, r0 @@ -9520,7 +9520,7 @@ _08062F12: bl sub_0807CCB4 movs r4, #4 _08062F24: - bl sub_08000E50 + bl Random movs r1, #0xff ands r1, r0 ldr r0, _08062F58 @ =gUnk_0810C430 @@ -10392,7 +10392,7 @@ sub_08063584: @ 0x08063584 ldrb r0, [r4, #0xf] cmp r0, #0 bne _080635B8 - bl sub_08000E50 + bl Random movs r1, #0x3f ands r1, r0 cmp r1, #0 @@ -10717,7 +10717,7 @@ _08063804: ldrb r0, [r5] cmp r0, #0xfe bne _08063828 - bl sub_08000E50 + bl Random movs r1, #0x1f ands r0, r1 adds r0, #0x1e @@ -10998,7 +10998,7 @@ _08063A40: ldrb r0, [r5] cmp r0, #0xfe bne _08063A56 - bl sub_08000E50 + bl Random movs r1, #0x1f ands r0, r1 adds r0, #0x1e @@ -11075,7 +11075,7 @@ sub_08063AC0: @ 0x08063AC0 ldrb r0, [r4, #0xf] cmp r0, #0 bne _08063AF4 - bl sub_08000E50 + bl Random movs r1, #0x3f ands r1, r0 cmp r1, #0 @@ -11840,12 +11840,12 @@ sub_0806407C: @ 0x0806407C bne _080640E8 adds r0, #1 strb r0, [r5, #0x18] - bl sub_08000E50 + bl Random movs r1, #0x3f ands r0, r1 adds r0, #0x20 strh r0, [r5, #0x12] - bl sub_08000E50 + bl Random adds r1, r0, #0 movs r0, #0x18 ands r1, r0 @@ -12357,7 +12357,7 @@ _0806446C: .4byte gUnk_0810D0A4 thumb_func_start sub_08064470 sub_08064470: @ 0x08064470 push {lr} - ldr r0, _08064484 @ =gUnk_03003F80 + ldr r0, _08064484 @ =gLinkState adds r0, #0xab ldrb r0, [r0] cmp r0, #1 @@ -12367,12 +12367,12 @@ _0806447E: str r0, [r1, #0x14] pop {pc} .align 2, 0 -_08064484: .4byte gUnk_03003F80 +_08064484: .4byte gLinkState thumb_func_start sub_08064488 sub_08064488: @ 0x08064488 push {lr} - ldr r1, _080644A0 @ =gUnk_03003F80 + ldr r1, _080644A0 @ =gLinkState adds r0, r1, #0 adds r0, #0xa8 ldrb r0, [r0] @@ -12384,17 +12384,17 @@ sub_08064488: @ 0x08064488 _0806449C: pop {pc} .align 2, 0 -_080644A0: .4byte gUnk_03003F80 +_080644A0: .4byte gLinkState thumb_func_start sub_080644A4 sub_080644A4: @ 0x080644A4 - ldr r0, _080644B0 @ =gUnk_03003F80 + ldr r0, _080644B0 @ =gLinkState adds r0, #0xab movs r1, #0 strb r1, [r0] bx lr .align 2, 0 -_080644B0: .4byte gUnk_03003F80 +_080644B0: .4byte gLinkState thumb_func_start sub_080644B4 sub_080644B4: @ 0x080644B4 @@ -12673,12 +12673,12 @@ sub_080646A4: @ 0x080646A4 bne _08064710 adds r0, #1 strb r0, [r5, #0x18] - bl sub_08000E50 + bl Random movs r1, #0x3f ands r0, r1 adds r0, #0x20 strh r0, [r5, #0x12] - bl sub_08000E50 + bl Random adds r1, r0, #0 movs r0, #0x18 ands r1, r0 @@ -14100,7 +14100,7 @@ _0806517C: cmp r0, #0 beq _080651A0 ldr r4, _0806519C @ =gUnk_0810FDB8 - bl sub_08000E50 + bl Random movs r1, #0xf ands r1, r0 adds r1, r1, r4 @@ -14404,7 +14404,7 @@ _080653AA: bls _080653EC cmp r5, #0x6f bhi _0806543C - ldr r2, _080653C8 @ =gUnk_080FD5A4 + ldr r2, _080653C8 @ =gQuiverSizes ldr r1, _080653CC @ =gUnk_02002A40 adds r0, r1, #0 adds r0, #0xaf @@ -14413,7 +14413,7 @@ _080653AA: adds r1, #0xad b _080653FA .align 2, 0 -_080653C8: .4byte gUnk_080FD5A4 +_080653C8: .4byte gQuiverSizes _080653CC: .4byte gUnk_02002A40 _080653D0: movs r0, #0xd @@ -14430,7 +14430,7 @@ _080653E4: .align 2, 0 _080653E8: .4byte 0x00002C0B _080653EC: - ldr r2, _08065408 @ =gUnk_080FD5A0 + ldr r2, _08065408 @ =gBombBagSizes ldr r1, _0806540C @ =gUnk_02002A40 adds r0, r1, #0 adds r0, #0xae @@ -14445,7 +14445,7 @@ _080653FA: ldr r0, _08065410 @ =0x00002C0E b _080654C2 .align 2, 0 -_08065408: .4byte gUnk_080FD5A0 +_08065408: .4byte gBombBagSizes _0806540C: .4byte gUnk_02002A40 _08065410: .4byte 0x00002C0E _08065414: @@ -14922,7 +14922,7 @@ sub_08065780: @ 0x08065780 push {r4, r5, lr} adds r4, r0, #0 adds r5, r1, #0 - bl sub_08000E50 + bl Random movs r2, #6 adds r1, r0, #0 ands r1, r2 @@ -15312,7 +15312,7 @@ _08065A60: .4byte gUnk_08110080 sub_08065A64: @ 0x08065A64 push {r4, r5, lr} adds r4, r0, #0 - ldr r0, _08065A8C @ =gUnk_03003F80 + ldr r0, _08065A8C @ =gLinkState ldr r0, [r0, #0x30] movs r1, #0x80 ands r0, r1 @@ -15329,7 +15329,7 @@ sub_08065A64: @ 0x08065A64 bl sub_08078778 b _08065A9C .align 2, 0 -_08065A8C: .4byte gUnk_03003F80 +_08065A8C: .4byte gLinkState _08065A90: adds r0, r4, #0 adds r0, #0x68 diff --git a/asm/code_08065B1C.s b/asm/code_08065B1C.s index 5cdd740a..455bb88c 100644 --- a/asm/code_08065B1C.s +++ b/asm/code_08065B1C.s @@ -728,7 +728,7 @@ _0806606E: movs r2, #0x20 bl CreateFX ldr r4, _080660A4 @ =gUnk_08110380 - bl sub_08000E50 + bl Random movs r1, #7 ands r1, r0 lsls r1, r1, #1 @@ -978,7 +978,7 @@ nullsub_501: @ 0x08066254 sub_08066258: @ 0x08066258 push {r4, lr} ldr r4, _08066270 @ =gUnk_081103D0 - bl sub_08000E50 + bl Random movs r1, #7 ands r1, r0 lsls r1, r1, #1 @@ -2476,7 +2476,7 @@ sub_08066D14: @ 0x08066D14 strb r0, [r4, #0x18] adds r0, r2, #0 adds r1, r4, #0 - bl sub_0806FA24 + bl CopyPosition ldr r1, [r4, #0x50] adds r0, r4, #0 bl sub_08068680 @@ -2496,7 +2496,7 @@ sub_08066D4C: @ 0x08066D4C ldr r1, [r4, #0x50] cmp r1, #0 beq _08066D90 - bl sub_0806FA24 + bl CopyPosition ldr r3, [r4, #0x50] ldrb r1, [r3, #0x18] movs r2, #4 @@ -2557,7 +2557,7 @@ sub_08066D94: @ 0x08066D94 strh r1, [r0] adds r0, r5, #0 adds r1, r4, #0 - bl sub_0806FA24 + bl CopyPosition _08066DD6: bl sub_0805E780 pop {r4, r5, pc} @@ -2577,7 +2577,7 @@ sub_08066DE4: @ 0x08066DE4 beq _08066E06 adds r0, r5, #0 adds r1, r4, #0 - bl sub_0806FA24 + bl CopyPosition adds r0, r5, #0 adds r1, r4, #0 bl sub_080686C4 @@ -3959,7 +3959,7 @@ _08067872: adds r0, r4, #0 adds r0, #0x75 strb r1, [r0] - bl sub_08000E50 + bl Random movs r1, #0x7f ands r0, r1 adds r0, #0x1e @@ -4251,7 +4251,7 @@ sub_08067AAC: @ 0x08067AAC adds r4, r0, #0 movs r0, #2 strb r0, [r4, #0xc] - bl sub_08000E50 + bl Random ldr r2, _08067AFC @ =gUnk_081110FC movs r1, #3 ands r1, r0 @@ -4294,7 +4294,7 @@ sub_08067B08: @ 0x08067B08 adds r4, r0, #0 movs r0, #1 strb r0, [r4, #0xc] - bl sub_08000E50 + bl Random ldr r2, _08067B30 @ =gUnk_08111104 movs r1, #3 ands r1, r0 @@ -4316,7 +4316,7 @@ sub_08067B34: @ 0x08067B34 adds r4, r0, #0 movs r1, #0 bl sub_08067DCC - bl sub_08000E50 + bl Random movs r1, #0x30 ands r0, r1 adds r0, #0xb4 @@ -4357,7 +4357,7 @@ sub_08067B80: @ 0x08067B80 strb r0, [r5, #0xc] movs r0, #0x14 strb r0, [r5, #0xe] - bl sub_08000E50 + bl Random movs r1, #0x7f ands r0, r1 adds r0, #0x1e diff --git a/asm/code_08067D20.s b/asm/code_08067D20.s index 28401bec..dfa7cf0d 100644 --- a/asm/code_08067D20.s +++ b/asm/code_08067D20.s @@ -434,7 +434,7 @@ _0806802C: cmp r0, #0 bne _08068068 ldr r4, _08068064 @ =gUnk_0811137A - bl sub_08000E50 + bl Random movs r1, #3 bl __modsi3 lsls r0, r0, #1 @@ -446,7 +446,7 @@ _0806802C: _08068064: .4byte gUnk_0811137A _08068068: ldr r4, _080680F4 @ =gUnk_08111374 - bl sub_08000E50 + bl Random movs r1, #3 bl __modsi3 lsls r0, r0, #1 @@ -502,7 +502,7 @@ _080680D2: movs r0, #0xf7 ands r0, r1 strb r0, [r6] - bl sub_08000E50 + bl Random movs r1, #0x1f ands r0, r1 ldrb r1, [r7] @@ -816,7 +816,7 @@ sub_08068318: @ 0x08068318 ands r3, r7 orrs r3, r0 adds r7, r3, #0 - ldr r0, _08068420 @ =gUnk_03003F80 + ldr r0, _08068420 @ =gLinkState adds r0, #0xa8 ldrb r0, [r0] lsls r0, r0, #0x10 @@ -928,7 +928,7 @@ _080683E6: _08068414: .4byte gLinkEntity _08068418: .4byte 0xFFFF0000 _0806841C: .4byte 0x0000FFFF -_08068420: .4byte gUnk_03003F80 +_08068420: .4byte gLinkState _08068424: .4byte 0xFF00FFFF _08068428: .4byte 0xC0FFFFFF _0806842C: .4byte 0x3FFFFFFF @@ -1127,7 +1127,7 @@ sub_08068578: @ 0x08068578 ldrh r0, [r4, #0x36] ands r3, r6 orrs r3, r0 - ldr r0, _08068670 @ =gUnk_03003F80 + ldr r0, _08068670 @ =gLinkState adds r0, #0xa8 ldrb r0, [r0] lsls r0, r0, #0x10 @@ -1227,7 +1227,7 @@ _08068614: _08068664: .4byte gLinkEntity _08068668: .4byte 0xFFFF0000 _0806866C: .4byte 0x0000FFFF -_08068670: .4byte gUnk_03003F80 +_08068670: .4byte gLinkState _08068674: .4byte 0xFF00FFFF _08068678: .4byte 0xC0FFFFFF _0806867C: .4byte 0x3FFFFFFF @@ -1455,7 +1455,7 @@ _0806880E: cmp r0, #0 bne _08068848 ldr r4, _08068844 @ =gUnk_0811153E - bl sub_08000E50 + bl Random movs r1, #3 bl __modsi3 lsls r0, r0, #1 @@ -1467,7 +1467,7 @@ _0806880E: _08068844: .4byte gUnk_0811153E _08068848: ldr r4, _0806887C @ =gUnk_08111538 - bl sub_08000E50 + bl Random movs r1, #3 bl __modsi3 lsls r0, r0, #1 @@ -2322,7 +2322,7 @@ _08068E8C: .4byte gUnk_08111714 thumb_func_start sub_08068E90 sub_08068E90: @ 0x08068E90 - ldr r2, _08068EAC @ =gUnk_03003F80 + ldr r2, _08068EAC @ =gLinkState adds r2, #0xac ldr r1, _08068EB0 @ =gUnk_08111740 ldrb r0, [r0, #0xe] @@ -2337,18 +2337,18 @@ sub_08068E90: @ 0x08068E90 strh r0, [r2] bx lr .align 2, 0 -_08068EAC: .4byte gUnk_03003F80 +_08068EAC: .4byte gLinkState _08068EB0: .4byte gUnk_08111740 thumb_func_start sub_08068EB4 sub_08068EB4: @ 0x08068EB4 - ldr r0, _08068EC0 @ =gUnk_03003F80 + ldr r0, _08068EC0 @ =gLinkState adds r0, #0xab movs r1, #0 strb r1, [r0] bx lr .align 2, 0 -_08068EC0: .4byte gUnk_03003F80 +_08068EC0: .4byte gLinkState thumb_func_start sub_08068EC4 sub_08068EC4: @ 0x08068EC4 @@ -2358,7 +2358,7 @@ sub_08068EC4: @ 0x08068EC4 ldrb r4, [r0, #0xe] lsls r1, r4, #2 adds r1, r1, r2 - ldr r0, _08068EF0 @ =gUnk_03003F80 + ldr r0, _08068EF0 @ =gLinkState adds r0, #0xab ldr r1, [r1] ldrb r0, [r0] @@ -2373,7 +2373,7 @@ sub_08068EC4: @ 0x08068EC4 b _08068EFA .align 2, 0 _08068EEC: .4byte gUnk_08111740 -_08068EF0: .4byte gUnk_03003F80 +_08068EF0: .4byte gLinkState _08068EF4: .4byte gUnk_0811172A _08068EF8: movs r0, #0 @@ -2543,7 +2543,7 @@ sub_08069018: @ 0x08069018 bne _0806903A adds r0, #1 strb r0, [r4, #0xd] - bl sub_08000E50 + bl Random movs r1, #0x3f ands r0, r1 adds r0, #0x3c @@ -2586,7 +2586,7 @@ sub_08069068: @ 0x08069068 bne _080690A4 adds r0, #1 strb r0, [r4, #0xd] - bl sub_08000E50 + bl Random movs r1, #2 ands r1, r0 subs r1, #1 @@ -2597,7 +2597,7 @@ sub_08069068: @ 0x08069068 strb r1, [r4, #0x14] lsls r1, r1, #3 strb r1, [r4, #0x15] - bl sub_08000E50 + bl Random movs r1, #0x3f ands r0, r1 adds r0, #0x3c @@ -2696,7 +2696,7 @@ _08069144: .4byte gUnk_08111928 sub_08069148: @ 0x08069148 push {r4, lr} adds r4, r0, #0 - bl sub_08000E50 + bl Random movs r1, #3 ands r0, r1 adds r0, #3 @@ -2809,7 +2809,7 @@ _08069208: .4byte gUnk_08111938 sub_0806920C: @ 0x0806920C push {r4, r5, lr} adds r4, r0, #0 - ldr r0, _08069234 @ =gUnk_03003F80 + ldr r0, _08069234 @ =gLinkState ldr r0, [r0, #0x30] movs r1, #0x80 ands r0, r1 @@ -2826,7 +2826,7 @@ sub_0806920C: @ 0x0806920C bl sub_08078778 b _08069244 .align 2, 0 -_08069234: .4byte gUnk_03003F80 +_08069234: .4byte gLinkState _08069238: adds r0, r4, #0 adds r0, #0x6c diff --git a/asm/code_080692A0.s b/asm/code_080692A0.s index 45dda0cf..08d54a80 100644 --- a/asm/code_080692A0.s +++ b/asm/code_080692A0.s @@ -885,7 +885,7 @@ sub_0806991C: @ 0x0806991C push {r4, r5, r6, lr} adds r5, r0, #0 adds r4, r1, #0 - bl sub_08000E50 + bl Random movs r1, #0x1f ands r0, r1 adds r0, #0x3c @@ -955,7 +955,7 @@ sub_080699AC: @ 0x080699AC push {r4, r5, r6, lr} adds r5, r0, #0 adds r4, r1, #0 - bl sub_08000E50 + bl Random movs r1, #0x1f ands r0, r1 adds r0, #0x3c @@ -1024,7 +1024,7 @@ _08069A38: .4byte gUnk_02033280 sub_08069A3C: @ 0x08069A3C push {r4, lr} adds r4, r0, #0 - bl sub_08000E50 + bl Random ldr r2, _08069A5C @ =gUnk_08111C9C movs r1, #1 ands r1, r0 @@ -1044,7 +1044,7 @@ _08069A5C: .4byte gUnk_08111C9C sub_08069A60: @ 0x08069A60 push {r4, lr} adds r4, r0, #0 - bl sub_08000E50 + bl Random ldr r2, _08069A80 @ =gUnk_08111CA8 movs r1, #1 ands r1, r0 @@ -1064,7 +1064,7 @@ _08069A80: .4byte gUnk_08111CA8 sub_08069A84: @ 0x08069A84 push {r4, lr} adds r4, r0, #0 - bl sub_08000E50 + bl Random ldr r2, _08069AA4 @ =gUnk_08111CB4 movs r1, #1 ands r1, r0 @@ -1084,7 +1084,7 @@ _08069AA4: .4byte gUnk_08111CB4 sub_08069AA8: @ 0x08069AA8 push {r4, lr} adds r4, r0, #0 - bl sub_08000E50 + bl Random ldr r2, _08069AC8 @ =gUnk_08111CB8 movs r1, #1 ands r1, r0 @@ -1237,7 +1237,7 @@ _08069BD2: ldrb r0, [r5, #0xa] cmp r0, #0 bne _08069BF2 - ldr r0, _08069C34 @ =gUnk_03003F80 + ldr r0, _08069C34 @ =gLinkState ldr r0, [r0, #0x30] movs r1, #0x80 ands r0, r1 @@ -1282,7 +1282,7 @@ _08069BF2: _08069C30: pop {r4, r5, r6, pc} .align 2, 0 -_08069C34: .4byte gUnk_03003F80 +_08069C34: .4byte gLinkState _08069C38: .4byte 0x00004072 _08069C3C: .4byte gRoomControls @@ -1295,7 +1295,7 @@ sub_08069C40: @ 0x08069C40 bl sub_08069F90 cmp r0, #0 beq _08069C80 - ldr r0, _08069C68 @ =gUnk_03003F80 + ldr r0, _08069C68 @ =gLinkState ldr r0, [r0, #0x30] movs r1, #0x80 ands r0, r1 @@ -1305,7 +1305,7 @@ sub_08069C40: @ 0x08069C40 bl sub_08069CB8 b _08069C7A .align 2, 0 -_08069C68: .4byte gUnk_03003F80 +_08069C68: .4byte gLinkState _08069C6C: adds r0, r4, #0 bl sub_0806EDC4 @@ -1325,12 +1325,12 @@ _08069C80: bne _08069CB2 movs r0, #2 strb r0, [r4, #0xc] - bl sub_08000E50 + bl Random movs r1, #0x1f ands r0, r1 adds r0, #0x1e strb r0, [r4, #0xe] - bl sub_08000E50 + bl Random ldr r2, _08069CB4 @ =gUnk_08111DA8 movs r1, #7 ands r1, r0 @@ -1403,7 +1403,7 @@ sub_08069D00: @ 0x08069D00 beq _08069D4E strb r7, [r5] _08069D2A: - bl sub_08000E50 + bl Random ldr r1, _08069D50 @ =0x000001FF ands r1, r0 cmp r1, #2 @@ -1502,7 +1502,7 @@ _08069DE6: movs r0, #3 _08069DE8: strb r0, [r4, #0xc] - bl sub_08000E50 + bl Random movs r1, #0x1f ands r0, r1 adds r0, #0x1e @@ -1532,7 +1532,7 @@ _08069E0E: bl sub_08069D00 b _08069E42 _08069E22: - bl sub_08000E50 + bl Random movs r1, #0xff ands r1, r0 cmp r1, #0x2f @@ -1543,7 +1543,7 @@ _08069E32: movs r0, #3 _08069E34: strb r0, [r4, #0xc] - bl sub_08000E50 + bl Random movs r1, #0x1f ands r0, r1 adds r0, #0x1e @@ -1756,7 +1756,7 @@ _08069FB8: .4byte gLinkEntity sub_08069FBC: @ 0x08069FBC push {lr} adds r2, r0, #0 - ldr r0, _08069FE4 @ =gUnk_03003F80 + ldr r0, _08069FE4 @ =gLinkState ldr r0, [r0, #0x30] movs r1, #0x80 ands r0, r1 @@ -1777,13 +1777,13 @@ _08069FDA: _08069FE0: pop {pc} .align 2, 0 -_08069FE4: .4byte gUnk_03003F80 +_08069FE4: .4byte gLinkState thumb_func_start sub_08069FE8 sub_08069FE8: @ 0x08069FE8 push {r4, r5, lr} adds r4, r0, #0 - ldr r0, _0806A010 @ =gUnk_03003F80 + ldr r0, _0806A010 @ =gLinkState ldr r0, [r0, #0x30] movs r1, #0x80 ands r0, r1 @@ -1800,7 +1800,7 @@ sub_08069FE8: @ 0x08069FE8 bl sub_08078778 b _0806A020 .align 2, 0 -_0806A010: .4byte gUnk_03003F80 +_0806A010: .4byte gLinkState _0806A014: adds r0, r4, #0 adds r0, #0x74 diff --git a/asm/code_0806A0A4.s b/asm/code_0806A0A4.s index 4ee6c18c..b84c38c1 100644 --- a/asm/code_0806A0A4.s +++ b/asm/code_0806A0A4.s @@ -10,7 +10,7 @@ sub_0806A0A4: @ 0x0806A0A4 push {r4, r5, r6, lr} adds r4, r0, #0 - ldr r0, _0806A0F8 @ =gUnk_03003F80 + ldr r0, _0806A0F8 @ =gLinkState ldr r0, [r0, #0x30] movs r1, #0x80 ands r0, r1 @@ -47,7 +47,7 @@ sub_0806A0A4: @ 0x0806A0A4 bl sub_0807BA8C b _0806A120 .align 2, 0 -_0806A0F8: .4byte gUnk_03003F80 +_0806A0F8: .4byte gLinkState _0806A0FC: .4byte gRoomControls _0806A100: movs r5, #2 @@ -85,7 +85,7 @@ sub_0806A144: @ 0x0806A144 push {r4, r5, lr} adds r5, r0, #0 movs r4, #4 - ldr r0, _0806A18C @ =gUnk_03003F80 + ldr r0, _0806A18C @ =gLinkState ldr r0, [r0, #0x30] movs r1, #0x80 ands r0, r1 @@ -115,7 +115,7 @@ _0806A17A: bl TextboxNoOverlap pop {r4, r5, pc} .align 2, 0 -_0806A18C: .4byte gUnk_03003F80 +_0806A18C: .4byte gLinkState _0806A190: .4byte gUnk_08111FD8 thumb_func_start sub_0806A194 @@ -244,7 +244,7 @@ sub_0806A26C: @ 0x0806A26C adds r0, r5, #0 adds r1, r4, #0 bl sub_0806FA30 - bl sub_08000E50 + bl Random adds r5, r0, #0 ldr r2, _0806A2B0 @ =gUnk_081121DC movs r1, #7 @@ -671,7 +671,7 @@ sub_0806A5C0: @ 0x0806A5C0 ands r0, r1 cmp r0, #0 beq _0806A5E6 - bl sub_08000E50 + bl Random movs r1, #3 ands r1, r0 adds r1, #4 @@ -692,7 +692,7 @@ sub_0806A5E8: @ 0x0806A5E8 adds r0, r4, #0 movs r1, #0x10 bl sub_08004260 - bl sub_08000E50 + bl Random movs r1, #0x3f ands r0, r1 adds r0, #0x3c @@ -704,7 +704,7 @@ _0806A60A: lsls r0, r0, #0x18 cmp r0, #0 bne _0806A628 - bl sub_08000E50 + bl Random movs r1, #0x3f ands r0, r1 adds r0, #0x78 @@ -830,7 +830,7 @@ _0806A6E4: ldrb r2, [r4, #0xe] cmp r2, #0 bne _0806A724 - bl sub_08000E50 + bl Random adds r2, r0, #0 movs r1, #7 ands r0, r1 @@ -878,7 +878,7 @@ _0806A75A: ldrb r2, [r4, #0xf] cmp r2, #0 bne _0806A784 - bl sub_08000E50 + bl Random adds r2, r0, #0 movs r1, #7 ands r0, r1 @@ -1083,7 +1083,7 @@ sub_0806A8C8: @ 0x0806A8C8 beq _0806A8F0 adds r0, r5, #0 adds r1, r4, #0 - bl sub_0806FA24 + bl CopyPosition str r5, [r4, #0x50] _0806A8F0: movs r0, #0x37 @@ -1095,7 +1095,7 @@ _0806A8F0: beq _0806A910 adds r0, r5, #0 adds r1, r4, #0 - bl sub_0806FA24 + bl CopyPosition ldrh r0, [r4, #0x32] adds r0, #2 strh r0, [r4, #0x32] @@ -1117,7 +1117,7 @@ sub_0806A914: @ 0x0806A914 beq _0806A938 adds r0, r5, #0 adds r1, r4, #0 - bl sub_0806FA24 + bl CopyPosition adds r0, r5, #0 adds r1, r4, #0 bl sub_0806FAB0 @@ -1199,7 +1199,7 @@ sub_0806A9B0: @ 0x0806A9B0 movs r0, #2 strb r0, [r4, #0xc] strb r1, [r4, #0xd] - bl sub_08000E50 + bl Random ldr r2, _0806A9E4 @ =gUnk_081122A0 movs r1, #7 ands r1, r0 @@ -1232,7 +1232,7 @@ sub_0806A9E8: @ 0x0806A9E8 beq _0806AA0C adds r0, r5, #0 adds r1, r4, #0 - bl sub_0806FA24 + bl CopyPosition adds r0, r5, #0 adds r1, r4, #0 bl sub_0806FAD8 @@ -2645,7 +2645,7 @@ _0806B4B2: ldrh r3, [r3, #4] adds r0, r4, #0 bl sub_0801DFB4 - ldr r0, _0806B4D0 @ =gUnk_03003F80 + ldr r0, _0806B4D0 @ =gLinkState adds r0, #0x8b movs r1, #3 strb r1, [r0] @@ -2653,7 +2653,7 @@ _0806B4B2: .align 2, 0 _0806B4C8: .4byte gLinkEntity _0806B4CC: .4byte gUnk_08001A7C -_0806B4D0: .4byte gUnk_03003F80 +_0806B4D0: .4byte gLinkState _0806B4D4: adds r0, r4, #0 movs r1, #0 @@ -2972,7 +2972,7 @@ _0806B726: beq _0806B76C adds r0, r6, #0 adds r1, r4, #0 - bl sub_0806FA24 + bl CopyPosition str r6, [r4, #0x50] adds r0, r6, #0 adds r0, #0x29 @@ -3002,7 +3002,7 @@ _0806B76C: beq _0806B7A6 adds r0, r6, #0 adds r1, r4, #0 - bl sub_0806FA24 + bl CopyPosition str r6, [r4, #0x50] adds r0, r6, #0 adds r0, #0x29 @@ -3079,7 +3079,7 @@ _0806B7E6: _0806B80C: adds r0, r5, #0 adds r1, r4, #0 - bl sub_0806FA24 + bl CopyPosition ldr r0, _0806B828 @ =0x00001634 bl TextboxTryNoOverlap ldrb r0, [r5, #0xd] @@ -4112,7 +4112,7 @@ sub_0806BFD8: @ 0x0806BFD8 beq _0806C002 b _0806C00A _0806BFF0: - bl sub_08000E50 + bl Random adds r1, r0, #0 ands r1, r5 adds r1, #0xc @@ -4426,7 +4426,7 @@ sub_0806C23C: @ 0x0806C23C movs r1, #0xf movs r2, #0x43 movs r3, #0 - bl sub_080A2988 + bl CreateObjectWithParent movs r0, #0x2e ldrsh r1, [r4, r0] ldr r2, _0806C27C @ =gRoomControls @@ -5594,7 +5594,7 @@ sub_0806CAF4: @ 0x0806CAF4 str r5, [r4, #0x50] adds r0, r5, #0 adds r1, r4, #0 - bl sub_0806FA24 + bl CopyPosition adds r0, r5, #0 adds r1, r4, #0 bl sub_0806FAD8 @@ -5609,7 +5609,7 @@ _0806CB2C: str r5, [r4, #0x50] adds r0, r5, #0 adds r1, r4, #0 - bl sub_0806FA24 + bl CopyPosition adds r0, r5, #0 adds r1, r4, #0 bl sub_0806FAB0 @@ -6222,7 +6222,7 @@ _0806CFD4: lsls r0, r0, #0x18 cmp r0, #0 bne _0806D000 - bl sub_08000E50 + bl Random adds r4, r0, #0 ldr r1, _0806D008 @ =gUnk_081140CC movs r0, #3 @@ -6535,7 +6535,7 @@ _0806D228: lsls r0, r0, #0x18 cmp r0, #0 bne _0806D24A - bl sub_08000E50 + bl Random movs r1, #0x7f ands r0, r1 adds r0, #0x30 @@ -6883,7 +6883,7 @@ sub_0806D4C0: @ 0x0806D4C0 str r5, [r4, #0x50] adds r0, r5, #0 adds r1, r4, #0 - bl sub_0806FA24 + bl CopyPosition adds r0, r5, #0 adds r1, r4, #0 bl sub_0806FAB0 @@ -8054,7 +8054,7 @@ _0806DD5A: ldrb r0, [r4] cmp r0, #0xfe bne _0806DD74 - bl sub_08000E50 + bl Random movs r1, #0x1f ands r0, r1 adds r0, #0x14 @@ -8246,7 +8246,7 @@ sub_0806DED0: @ 0x0806DED0 ldrb r0, [r4, #0xa] cmp r0, #0 bne _0806DEF4 - ldr r2, _0806DEFC @ =gUnk_03003F80 + ldr r2, _0806DEFC @ =gLinkState ldrb r1, [r2, #0x1a] movs r0, #0x80 orrs r0, r1 @@ -8255,7 +8255,7 @@ _0806DEF4: pop {r4, pc} .align 2, 0 _0806DEF8: .4byte gUnk_081142BC -_0806DEFC: .4byte gUnk_03003F80 +_0806DEFC: .4byte gLinkState thumb_func_start sub_0806DF00 sub_0806DF00: @ 0x0806DF00 @@ -8382,7 +8382,7 @@ _0806DFD6: str r4, [r1, #0x50] str r1, [r4, #0x54] adds r0, r4, #0 - bl sub_0806FA24 + bl CopyPosition _0806DFF8: adds r0, r4, #0 bl sub_080788E0 @@ -8405,7 +8405,7 @@ nullsub_111: @ 0x0806E010 sub_0806E014: @ 0x0806E014 push {r4, r5, r6, r7, lr} adds r5, r0, #0 - bl sub_08000E50 + bl Random movs r1, #0x70 ands r1, r0 lsrs r4, r1, #4 @@ -8451,7 +8451,7 @@ sub_0806E014: @ 0x0806E014 strb r0, [r1, #0xf] ldr r1, [r5, #0x70] adds r0, r5, #0 - bl sub_0806FA24 + bl CopyPosition b _0806E0D6 .align 2, 0 _0806E084: .4byte gUnk_081142CC @@ -8737,7 +8737,7 @@ _0806E2A8: movs r1, #0 bl sub_0807DD94 _0806E2B0: - ldr r0, _0806E2CC @ =gUnk_03003F80 + ldr r0, _0806E2CC @ =gLinkState ldr r0, [r0, #0x30] movs r1, #0x80 ands r0, r1 @@ -8751,7 +8751,7 @@ _0806E2B0: strb r1, [r4, #0x18] b _0806E2DA .align 2, 0 -_0806E2CC: .4byte gUnk_03003F80 +_0806E2CC: .4byte gLinkState _0806E2D0: ldrb r1, [r4, #0x18] movs r0, #4 @@ -8861,7 +8861,7 @@ _0806E398: ldrh r3, [r3, #4] adds r0, r4, #0 bl sub_0801DFB4 - ldr r0, _0806E3B8 @ =gUnk_03003F80 + ldr r0, _0806E3B8 @ =gLinkState adds r0, #0x8b movs r1, #3 strb r1, [r0] @@ -8869,7 +8869,7 @@ _0806E398: .align 2, 0 _0806E3B0: .4byte gLinkEntity _0806E3B4: .4byte gUnk_08001A7C -_0806E3B8: .4byte gUnk_03003F80 +_0806E3B8: .4byte gLinkState _0806E3BC: adds r0, r4, #0 movs r1, #0 @@ -9034,7 +9034,7 @@ sub_0806E4EC: @ 0x0806E4EC bne _0806E50E adds r0, #1 strb r0, [r5, #0xd] - bl sub_08000E50 + bl Random movs r1, #0x1f ands r0, r1 adds r0, #0x3c @@ -9049,7 +9049,7 @@ _0806E50E: lsls r0, r0, #0x18 cmp r0, #0 bne _0806E552 - bl sub_08000E50 + bl Random movs r1, #1 ands r1, r0 cmp r1, #0 @@ -9062,13 +9062,13 @@ _0806E52C: strb r0, [r5, #0xc] movs r0, #0 strb r0, [r5, #0xd] - bl sub_08000E50 + bl Random movs r1, #1 ands r1, r0 cmp r1, #0 beq _0806E552 ldr r4, _0806E560 @ =gUnk_081145C8 - bl sub_08000E50 + bl Random movs r1, #3 ands r1, r0 lsls r1, r1, #1 @@ -9093,7 +9093,7 @@ sub_0806E564: @ 0x0806E564 bne _0806E5AA adds r0, #1 strb r0, [r4, #0xd] - bl sub_08000E50 + bl Random movs r2, #1 ands r0, r2 cmp r0, #0 @@ -9108,7 +9108,7 @@ sub_0806E564: @ 0x0806E564 orrs r2, r1 strb r2, [r4, #0x18] _0806E590: - bl sub_08000E50 + bl Random movs r1, #1 ands r0, r1 adds r0, #1 @@ -9158,7 +9158,7 @@ sub_0806E5E4: @ 0x0806E5E4 bne _0806E622 adds r0, #1 strb r0, [r4, #0xd] - bl sub_08000E50 + bl Random movs r5, #1 ands r0, r5 cmp r0, #0 @@ -9174,7 +9174,7 @@ sub_0806E5E4: @ 0x0806E5E4 orrs r2, r1 strb r2, [r4, #0x18] _0806E612: - bl sub_08000E50 + bl Random adds r1, r0, #0 ands r1, r5 adds r1, #2 diff --git a/asm/code_0806E6A8.s b/asm/code_0806E6A8.s index a668f9b5..f2f4f409 100644 --- a/asm/code_0806E6A8.s +++ b/asm/code_0806E6A8.s @@ -112,7 +112,7 @@ sub_0806E764: @ 0x0806E764 bne _0806E782 adds r0, #1 strb r0, [r4, #0xd] - bl sub_08000E50 + bl Random movs r1, #0x1f ands r0, r1 adds r0, #0x1e @@ -129,7 +129,7 @@ _0806E782: movs r0, #2 strb r0, [r4, #0xc] strb r1, [r4, #0xd] - bl sub_08000E50 + bl Random movs r1, #1 ands r1, r0 cmp r1, #0 @@ -150,7 +150,7 @@ sub_0806E7B0: @ 0x0806E7B0 bne _0806E7F2 adds r0, #1 strb r0, [r4, #0xd] - bl sub_08000E50 + bl Random movs r5, #1 ands r0, r5 cmp r0, #0 @@ -166,7 +166,7 @@ sub_0806E7B0: @ 0x0806E7B0 orrs r2, r1 strb r2, [r4, #0x18] _0806E7DE: - bl sub_08000E50 + bl Random movs r1, #3 ands r0, r1 adds r0, #1 diff --git a/asm/code_0806ED78.s b/asm/code_0806ED78.s index 6db34f0e..09456f43 100644 --- a/asm/code_0806ED78.s +++ b/asm/code_0806ED78.s @@ -13,7 +13,7 @@ sub_0806ED78: @ 0x0806ED78 adds r4, r0, #0 cmp r4, #0 beq _0806ED94 - ldr r0, _0806ED98 @ =gUnk_03003F80 + ldr r0, _0806ED98 @ =gLinkState ldrb r1, [r0, #0x1e] movs r0, #0x40 ands r0, r1 @@ -24,7 +24,7 @@ _0806ED94: adds r0, r4, #0 pop {r4, pc} .align 2, 0 -_0806ED98: .4byte gUnk_03003F80 +_0806ED98: .4byte gLinkState thumb_func_start sub_0806ED9C sub_0806ED9C: @ 0x0806ED9C @@ -548,14 +548,14 @@ sub_0806F118: @ 0x0806F118 ldrh r3, [r0, #4] adds r0, r4, #0 bl sub_0801DFB4 - ldr r0, _0806F144 @ =gUnk_03003F80 + ldr r0, _0806F144 @ =gLinkState adds r0, #0x8b movs r1, #3 strb r1, [r0] pop {r4, pc} .align 2, 0 _0806F140: .4byte gUnk_08001A7C -_0806F144: .4byte gUnk_03003F80 +_0806F144: .4byte gLinkState thumb_func_start sub_0806F148 sub_0806F148: @ 0x0806F148 @@ -574,14 +574,14 @@ sub_0806F148: @ 0x0806F148 .align 2, 0 _0806F164: .4byte gUnk_02022740 _0806F168: - ldr r0, _0806F184 @ =gUnk_03003F80 + ldr r0, _0806F184 @ =gLinkState adds r0, #0x8b movs r1, #3 strb r1, [r0] movs r4, #1 _0806F172: bl sub_0807919C - ldr r0, _0806F184 @ =gUnk_03003F80 + ldr r0, _0806F184 @ =gLinkState adds r0, #0x8b movs r1, #1 strb r1, [r0] @@ -589,7 +589,7 @@ _0806F17E: adds r0, r4, #0 pop {r4, pc} .align 2, 0 -_0806F184: .4byte gUnk_03003F80 +_0806F184: .4byte gLinkState thumb_func_start sub_0806F188 sub_0806F188: @ 0x0806F188 @@ -801,7 +801,7 @@ _0806F332: movs r0, #0 b _0806F34E _0806F336: - ldr r0, _0806F348 @ =gUnk_03003F80 + ldr r0, _0806F348 @ =gLinkState ldr r0, [r0, #0x30] movs r1, #0x80 ands r0, r1 @@ -811,7 +811,7 @@ _0806F342: ldrh r0, [r6, #6] b _0806F34E .align 2, 0 -_0806F348: .4byte gUnk_03003F80 +_0806F348: .4byte gLinkState _0806F34C: ldrh r0, [r6, #4] _0806F34E: @@ -907,7 +907,7 @@ sub_0806F3E4: @ 0x0806F3E4 push {r4, r5, r6, lr} sub sp, #0x88 adds r5, r0, #0 - ldr r2, _0806F408 @ =gUnk_03003F80 + ldr r2, _0806F408 @ =gLinkState ldrb r1, [r2, #0x1c] movs r0, #0x7f ands r0, r1 @@ -922,7 +922,7 @@ sub_0806F3E4: @ 0x0806F3E4 beq _0806F416 b _0806F410 .align 2, 0 -_0806F408: .4byte gUnk_03003F80 +_0806F408: .4byte gLinkState _0806F40C: cmp r0, #3 beq _0806F42A @@ -999,7 +999,7 @@ _0806F444: movs r0, #3 strb r0, [r5, #0xd] str r5, [r6, #0x70] - ldr r1, _0806F4C4 @ =gUnk_03003F80 + ldr r1, _0806F4C4 @ =gLinkState movs r0, #7 strb r0, [r1, #0x1c] movs r0, #0x11 @@ -1018,11 +1018,11 @@ _0806F4B4: .align 2, 0 _0806F4BC: .4byte gLinkEntity _0806F4C0: .4byte gUnk_08126EE4 -_0806F4C4: .4byte gUnk_03003F80 +_0806F4C4: .4byte gLinkState _0806F4C8: cmp r1, #1 bne _0806F4D8 - ldr r0, _0806F4DC @ =gUnk_03003F80 + ldr r0, _0806F4DC @ =gLinkState ldr r0, [r0, #0x2c] strb r1, [r0, #0xa] movs r0, #0xef @@ -1031,7 +1031,7 @@ _0806F4D8: movs r0, #1 b _0806F4E2 .align 2, 0 -_0806F4DC: .4byte gUnk_03003F80 +_0806F4DC: .4byte gLinkState _0806F4E0: movs r0, #0 _0806F4E2: @@ -1657,7 +1657,7 @@ _0806F944: sub_0806F948: @ 0x0806F948 push {r4, lr} adds r4, r0, #0 - ldr r1, _0806F974 @ =gUnk_03003F80 + ldr r1, _0806F974 @ =gLinkState ldrb r0, [r1, #0xd] cmp r0, #0xff beq _0806F994 @@ -1677,7 +1677,7 @@ sub_0806F948: @ 0x0806F948 adds r0, r2, #0 b _0806F996 .align 2, 0 -_0806F974: .4byte gUnk_03003F80 +_0806F974: .4byte gLinkState _0806F978: movs r2, #0 cmp r3, #4 diff --git a/asm/code_0806FA6C.s b/asm/code_0806FA6C.s index 745ba933..c2f983db 100644 --- a/asm/code_0806FA6C.s +++ b/asm/code_0806FA6C.s @@ -192,7 +192,7 @@ sub_0806FBB4: @ 0x0806FBB4 ldrb r0, [r0, #5] cmp r0, #0 bne _0806FBC8 - ldr r0, _0806FBD4 @ =gUnk_03003F80 + ldr r0, _0806FBD4 @ =gLinkState ldrb r0, [r0, #5] cmp r0, #0 bne _0806FBCC @@ -203,7 +203,7 @@ _0806FBCC: pop {pc} .align 2, 0 _0806FBD0: .4byte gUnk_030010A0 -_0806FBD4: .4byte gUnk_03003F80 +_0806FBD4: .4byte gLinkState thumb_func_start sub_0806FBD8 sub_0806FBD8: @ 0x0806FBD8 @@ -435,7 +435,7 @@ sub_0806FD3C: @ 0x0806FD3C sub_0806FD54: @ 0x0806FD54 push {r4, lr} adds r3, r0, #0 - ldr r0, _0806FD6C @ =gUnk_03003F80 + ldr r0, _0806FD6C @ =gLinkState ldr r0, [r0, #0x30] movs r1, #0x80 lsls r1, r1, #0x10 @@ -445,7 +445,7 @@ sub_0806FD54: @ 0x0806FD54 movs r0, #0 b _0806FD84 .align 2, 0 -_0806FD6C: .4byte gUnk_03003F80 +_0806FD6C: .4byte gLinkState _0806FD70: ldr r0, _0806FD88 @ =gLinkEntity movs r2, #0x2e @@ -1456,7 +1456,7 @@ sub_080704FC: @ 0x080704FC ldrb r2, [r0] movs r0, #0x80 ands r0, r2 - ldr r1, _08070530 @ =gUnk_03003F80 + ldr r1, _08070530 @ =gLinkState cmp r0, #0 bne _08070518 ldr r0, [r1, #0x2c] @@ -1474,7 +1474,7 @@ _08070522: b _08070566 .align 2, 0 _0807052C: .4byte gLinkEntity -_08070530: .4byte gUnk_03003F80 +_08070530: .4byte gLinkState _08070534: movs r0, #0xf ands r0, r2 @@ -1575,7 +1575,7 @@ sub_080705AC: @ 0x080705AC ldrb r0, [r0] cmp r0, #0 beq _08070674 - ldr r1, _08070628 @ =gUnk_03003F80 + ldr r1, _08070628 @ =gLinkState adds r0, r1, #0 adds r0, #0x8b ldrb r0, [r0] @@ -1600,7 +1600,7 @@ _08070618: .4byte gUnk_03000FD0 _0807061C: .4byte gUnk_02034490 _08070620: .4byte gTextBox _08070624: .4byte gUnk_02002A40 -_08070628: .4byte gUnk_03003F80 +_08070628: .4byte gLinkState _0807062C: .4byte gUnk_03003DC0 _08070630: ldrb r0, [r2] @@ -1654,7 +1654,7 @@ sub_08070698: @ 0x08070698 push {r4, r5, r6, lr} sub sp, #4 adds r4, r0, #0 - ldr r6, _08070788 @ =gUnk_03003F80 + ldr r6, _08070788 @ =gLinkState movs r0, #0xff strb r0, [r6] ldr r1, _0807078C @ =gLinkEntity @@ -1760,7 +1760,7 @@ _08070784: add sp, #4 pop {r4, r5, r6, pc} .align 2, 0 -_08070788: .4byte gUnk_03003F80 +_08070788: .4byte gLinkState _0807078C: .4byte gLinkEntity _08070790: .4byte gUnk_08114F88 @@ -1768,7 +1768,7 @@ _08070790: .4byte gUnk_08114F88 sub_08070794: @ 0x08070794 push {r4, r5, r6, r7, lr} adds r5, r0, #0 - ldr r6, _080707F0 @ =gUnk_03003F80 + ldr r6, _080707F0 @ =gLinkState adds r3, r6, #0 adds r3, #0xa8 movs r4, #0 @@ -1811,7 +1811,7 @@ sub_08070794: @ 0x08070794 bl sub_080042B8 b _08070800 .align 2, 0 -_080707F0: .4byte gUnk_03003F80 +_080707F0: .4byte gLinkState _080707F4: .4byte gLinkEntity _080707F8: movs r0, #0x97 @@ -1908,7 +1908,7 @@ _080708A6: _080708AA: strh r0, [r5, #0x24] _080708AC: - ldr r4, _08070918 @ =gUnk_03003F80 + ldr r4, _08070918 @ =gLinkState ldrb r0, [r4, #6] movs r1, #0x80 orrs r1, r0 @@ -1962,11 +1962,11 @@ _0807090C: bl sub_08078EFC b _08070BE4 .align 2, 0 -_08070918: .4byte gUnk_03003F80 +_08070918: .4byte gLinkState _0807091C: .4byte 0x10000002 _08070920: .4byte gUnk_02034350 _08070924: - ldr r0, _0807094C @ =gUnk_03003F80 + ldr r0, _0807094C @ =gLinkState ldr r1, [r0, #0x30] ldr r2, _08070950 @ =0x00041635 ands r1, r2 @@ -1986,7 +1986,7 @@ _08070940: ldr r0, [r0] mov pc, r0 .align 2, 0 -_0807094C: .4byte gUnk_03003F80 +_0807094C: .4byte gLinkState _08070950: .4byte 0x00041635 _08070954: .4byte _08070958 _08070958: @ jump table @@ -2007,21 +2007,21 @@ _08070958: @ jump table .4byte _08070BE4 @ case 14 .4byte _080709B4 @ case 15 _08070998: - ldr r0, _080709A4 @ =gUnk_03003F80 + ldr r0, _080709A4 @ =gLinkState ldrb r1, [r0, #6] movs r2, #0x80 eors r1, r2 strb r1, [r0, #6] b _080709D8 .align 2, 0 -_080709A4: .4byte gUnk_03003F80 +_080709A4: .4byte gLinkState _080709A8: - ldr r1, _080709B0 @ =gUnk_03003F80 + ldr r1, _080709B0 @ =gLinkState movs r0, #0x80 strb r0, [r1, #6] b _080709D8 .align 2, 0 -_080709B0: .4byte gUnk_03003F80 +_080709B0: .4byte gLinkState _080709B4: ldrb r1, [r5, #0x10] movs r0, #0x7f @@ -2030,7 +2030,7 @@ _080709B4: bl sub_080797EC b _08070BE4 _080709C2: - ldr r0, _080709D4 @ =gUnk_03003F80 + ldr r0, _080709D4 @ =gLinkState ldrb r1, [r0, #6] movs r2, #0x80 eors r1, r2 @@ -2038,7 +2038,7 @@ _080709C2: bl sub_080797EC b _08070BE4 .align 2, 0 -_080709D4: .4byte gUnk_03003F80 +_080709D4: .4byte gLinkState _080709D8: adds r1, r5, #0 adds r1, #0x3c @@ -2066,7 +2066,7 @@ _080709FC: b _08070BE4 _08070A0C: bl sub_080792D8 - ldr r4, _08070A78 @ =gUnk_03003F80 + ldr r4, _08070A78 @ =gLinkState ldrb r1, [r4, #2] ldrb r0, [r4, #0xa] orrs r0, r1 @@ -2116,7 +2116,7 @@ _08070A42: bl sub_08008926 b _08070A80 .align 2, 0 -_08070A78: .4byte gUnk_03003F80 +_08070A78: .4byte gLinkState _08070A7C: movs r0, #0xff strb r0, [r5, #0x15] @@ -2131,7 +2131,7 @@ _08070A80: beq _08070A94 b _08070BE4 _08070A94: - ldr r0, _08070AA8 @ =gUnk_03003F80 + ldr r0, _08070AA8 @ =gLinkState ldrb r0, [r0, #4] cmp r0, #0 beq _08070A9E @@ -2141,7 +2141,7 @@ _08070A9E: bl sub_080042B8 b _08070BE4 .align 2, 0 -_08070AA8: .4byte gUnk_03003F80 +_08070AA8: .4byte gLinkState _08070AAC: adds r0, r5, #0 adds r0, #0x42 @@ -2202,7 +2202,7 @@ _08070B18: adds r0, r5, #0 bl sub_08008AA0 _08070B1E: - ldr r2, _08070BB8 @ =gUnk_03003F80 + ldr r2, _08070BB8 @ =gLinkState ldrb r1, [r2, #0x1b] movs r0, #0x10 ands r0, r1 @@ -2232,7 +2232,7 @@ _08070B52: bl sub_0807A108 _08070B56: movs r4, #0 - ldr r3, _08070BB8 @ =gUnk_03003F80 + ldr r3, _08070BB8 @ =gLinkState ldrb r2, [r3, #7] ldrb r0, [r5, #0x15] orrs r0, r2 @@ -2269,7 +2269,7 @@ _08070B8E: ldrb r0, [r7] cmp r0, #0 bne _08070BE4 - ldr r1, _08070BB8 @ =gUnk_03003F80 + ldr r1, _08070BB8 @ =gLinkState ldrb r0, [r1, #0xb] cmp r0, #0 bne _08070BE4 @@ -2280,7 +2280,7 @@ _08070B8E: bl sub_0806F948 b _08070BE4 .align 2, 0 -_08070BB8: .4byte gUnk_03003F80 +_08070BB8: .4byte gLinkState _08070BBC: ldr r0, [r4, #0x2c] cmp r0, #0 @@ -2330,7 +2330,7 @@ _08070C0E: thumb_func_start sub_08070C10 sub_08070C10: @ 0x08070C10 push {lr} - ldr r2, _08070C34 @ =gUnk_03003F80 + ldr r2, _08070C34 @ =gLinkState movs r1, #0xff strb r1, [r2, #0xd] movs r1, #0x80 @@ -2346,7 +2346,7 @@ sub_08070C10: @ 0x08070C10 bl _call_via_r1 pop {pc} .align 2, 0 -_08070C34: .4byte gUnk_03003F80 +_08070C34: .4byte gLinkState _08070C38: .4byte gUnk_0811BA60 thumb_func_start sub_08070C3C @@ -2354,7 +2354,7 @@ sub_08070C3C: @ 0x08070C3C push {r4, lr} adds r4, r0, #0 bl sub_08004168 - ldr r2, _08070C64 @ =gUnk_03003F80 + ldr r2, _08070C64 @ =gLinkState ldr r1, [r2, #0x30] movs r0, #5 orrs r1, r0 @@ -2371,7 +2371,7 @@ sub_08070C3C: @ 0x08070C3C lsls r0, r0, #1 b _08070C7E .align 2, 0 -_08070C64: .4byte gUnk_03003F80 +_08070C64: .4byte gLinkState _08070C68: .4byte 0xFFFFFBFF _08070C6C: movs r0, #8 @@ -2424,7 +2424,7 @@ sub_08070CB4: @ 0x08070CB4 ldr r0, _08070CF4 @ =gUnk_02002A40 adds r0, #0xaa ldrb r0, [r0] - ldr r4, _08070CF8 @ =gUnk_03003F80 + ldr r4, _08070CF8 @ =gLinkState cmp r0, #0 beq _08070CFC ldr r1, [r4, #0x30] @@ -2444,7 +2444,7 @@ sub_08070CB4: @ 0x08070CB4 b _08070D1A .align 2, 0 _08070CF4: .4byte gUnk_02002A40 -_08070CF8: .4byte gUnk_03003F80 +_08070CF8: .4byte gLinkState _08070CFC: ldr r0, [r4, #0x30] ldr r1, _08070D1C @ =0xFFFF7FFB @@ -2502,7 +2502,7 @@ sub_08070D38: @ 0x08070D38 ldrb r0, [r2, #0xd] adds r0, #1 strb r0, [r2, #0xd] - ldr r3, _08070D94 @ =gUnk_03003F80 + ldr r3, _08070D94 @ =gLinkState adds r0, r3, #0 adds r0, #0x38 ldrb r0, [r0] @@ -2525,7 +2525,7 @@ sub_08070D38: @ 0x08070D38 bl sub_08080964 b _08070DA2 .align 2, 0 -_08070D94: .4byte gUnk_03003F80 +_08070D94: .4byte gLinkState _08070D98: ldr r0, _08070DBC @ =0x00000C18 strh r0, [r3, #8] @@ -2533,7 +2533,7 @@ _08070D98: lsls r0, r0, #9 str r0, [r2, #0x20] _08070DA2: - ldr r0, _08070DC0 @ =gUnk_03003F80 + ldr r0, _08070DC0 @ =gLinkState movs r1, #0x80 strb r1, [r0, #2] movs r0, #0xa6 @@ -2544,7 +2544,7 @@ _08070DA2: pop {r4, pc} .align 2, 0 _08070DBC: .4byte 0x00000C18 -_08070DC0: .4byte gUnk_03003F80 +_08070DC0: .4byte gLinkState thumb_func_start sub_08070DC4 sub_08070DC4: @ 0x08070DC4 @@ -2564,7 +2564,7 @@ sub_08070DC4: @ 0x08070DC4 bl sub_08003FC4 cmp r0, #0 bne _08070E76 - ldr r6, _08070E18 @ =gUnk_03003F80 + ldr r6, _08070E18 @ =gLinkState strb r0, [r6, #2] bl sub_08078EFC adds r5, r0, #0 @@ -2583,7 +2583,7 @@ _08070E10: bl sub_080791D0 b _08070E76 .align 2, 0 -_08070E18: .4byte gUnk_03003F80 +_08070E18: .4byte gLinkState _08070E1C: ldrb r0, [r4, #0xe] subs r0, #1 @@ -2620,7 +2620,7 @@ _08070E56: ldrb r0, [r4, #0xd] adds r0, #1 strb r0, [r4, #0xd] - ldr r2, _08070E78 @ =gUnk_03003F80 + ldr r2, _08070E78 @ =gLinkState ldr r0, [r2, #0x30] movs r1, #0x80 ands r0, r1 @@ -2632,7 +2632,7 @@ _08070E56: _08070E76: pop {r4, r5, r6, pc} .align 2, 0 -_08070E78: .4byte gUnk_03003F80 +_08070E78: .4byte gLinkState thumb_func_start sub_08070E7C sub_08070E7C: @ 0x08070E7C @@ -2644,13 +2644,13 @@ sub_08070E7C: @ 0x08070E7C lsrs r1, r1, #0x18 cmp r1, #0 bne _08070E94 - ldr r0, _08070E98 @ =gUnk_03003F80 + ldr r0, _08070E98 @ =gLinkState strb r1, [r0, #2] bl sub_080791D0 _08070E94: pop {pc} .align 2, 0 -_08070E98: .4byte gUnk_03003F80 +_08070E98: .4byte gLinkState thumb_func_start sub_08070E9C sub_08070E9C: @ 0x08070E9C @@ -2662,7 +2662,7 @@ sub_08070E9C: @ 0x08070E9C bl sub_08056360 b _08070ED2 _08070EAE: - ldr r1, _08070ED4 @ =gUnk_03003F80 + ldr r1, _08070ED4 @ =gLinkState adds r2, r1, #0 adds r2, #0x27 movs r0, #4 @@ -2681,7 +2681,7 @@ _08070EAE: _08070ED2: pop {r4, pc} .align 2, 0 -_08070ED4: .4byte gUnk_03003F80 +_08070ED4: .4byte gLinkState _08070ED8: .4byte gUnk_0811BA74 thumb_func_start sub_08070EDC @@ -2704,7 +2704,7 @@ sub_08070EDC: @ 0x08070EDC movs r0, #1 strb r0, [r2, #0xd] _08070EFE: - ldr r2, _08070F14 @ =gUnk_03003F80 + ldr r2, _08070F14 @ =gLinkState ldr r0, [r2, #0x30] movs r1, #0x80 ands r0, r1 @@ -2714,7 +2714,7 @@ _08070EFE: b _08070F1C .align 2, 0 _08070F10: .4byte gTextBox -_08070F14: .4byte gUnk_03003F80 +_08070F14: .4byte gLinkState _08070F18: ldr r0, _08070F20 @ =0x00000C18 strh r0, [r2, #8] @@ -2751,7 +2751,7 @@ _08070F4C: .4byte gTextBox sub_08070F50: @ 0x08070F50 push {r4, r5, lr} adds r4, r0, #0 - ldr r0, _08070F9C @ =gUnk_03003F80 + ldr r0, _08070F9C @ =gLinkState adds r0, #0xa8 movs r1, #0x15 strb r1, [r0] @@ -2786,7 +2786,7 @@ sub_08070F50: @ 0x08070F50 _08070F9A: pop {r4, r5, pc} .align 2, 0 -_08070F9C: .4byte gUnk_03003F80 +_08070F9C: .4byte gLinkState _08070FA0: .4byte gUnk_0811BA7C thumb_func_start sub_08070FA4 @@ -2801,7 +2801,7 @@ sub_08070FA4: @ 0x08070FA4 movs r1, #0 movs r0, #4 strb r0, [r4, #0x14] - ldr r3, _08070FE8 @ =gUnk_03003F80 + ldr r3, _08070FE8 @ =gLinkState ldr r2, [r3, #0x30] movs r0, #1 orrs r2, r0 @@ -2825,7 +2825,7 @@ sub_08070FA4: @ 0x08070FA4 adds r1, #3 b _08071004 .align 2, 0 -_08070FE8: .4byte gUnk_03003F80 +_08070FE8: .4byte gLinkState _08070FEC: .4byte 0x0000045B _08070FF0: adds r0, r3, #0 @@ -2838,7 +2838,7 @@ _08070FF0: movs r1, #0xb8 lsls r1, r1, #2 _08071004: - ldr r0, _0807101C @ =gUnk_03003F80 + ldr r0, _0807101C @ =gLinkState strh r1, [r0, #8] _08071008: movs r0, #1 @@ -2848,7 +2848,7 @@ _08071008: pop {r4, pc} .align 2, 0 _08071018: .4byte 0x000001B9 -_0807101C: .4byte gUnk_03003F80 +_0807101C: .4byte gLinkState thumb_func_start sub_08071020 sub_08071020: @ 0x08071020 @@ -2893,19 +2893,19 @@ sub_08071038: @ 0x08071038 subs r0, #5 movs r1, #0xf8 strb r1, [r0] - ldr r0, _08071080 @ =gUnk_03003F80 + ldr r0, _08071080 @ =gLinkState strb r2, [r0, #2] bl sub_080791D0 _08071078: pop {r4, pc} .align 2, 0 _0807107C: .4byte gTextBox -_08071080: .4byte gUnk_03003F80 +_08071080: .4byte gLinkState thumb_func_start sub_08071084 sub_08071084: @ 0x08071084 push {lr} - ldr r1, _080710A0 @ =gUnk_03003F80 + ldr r1, _080710A0 @ =gLinkState adds r1, #0xa8 movs r2, #0xb strb r2, [r1] @@ -2917,7 +2917,7 @@ sub_08071084: @ 0x08071084 bl _call_via_r1 pop {pc} .align 2, 0 -_080710A0: .4byte gUnk_03003F80 +_080710A0: .4byte gLinkState _080710A4: .4byte gUnk_0811BA88 thumb_func_start sub_080710A8 @@ -2928,7 +2928,7 @@ sub_080710A8: @ 0x080710A8 adds r0, #1 movs r2, #0 strb r0, [r4, #0xd] - ldr r1, _080710EC @ =gUnk_03003F80 + ldr r1, _080710EC @ =gLinkState ldr r3, [r1, #0x30] movs r0, #1 orrs r3, r0 @@ -2956,7 +2956,7 @@ sub_080710A8: @ 0x080710A8 lsls r0, r0, #3 b _080710F8 .align 2, 0 -_080710EC: .4byte gUnk_03003F80 +_080710EC: .4byte gLinkState _080710F0: .4byte 0xFFFFF3FF _080710F4: movs r0, #0x81 @@ -2995,7 +2995,7 @@ sub_08071130: @ 0x08071130 bl sub_08078EFC cmp r0, #0 bne _08071206 - ldr r6, _080711B4 @ =gUnk_03003F80 + ldr r6, _080711B4 @ =gLinkState ldrb r0, [r6, #0x1b] cmp r0, #0 bne _08071158 @@ -3049,7 +3049,7 @@ _080711AC: bl sub_080791D0 b _08071206 .align 2, 0 -_080711B4: .4byte gUnk_03003F80 +_080711B4: .4byte gLinkState _080711B8: movs r0, #6 strb r0, [r5, #0xe] @@ -3098,7 +3098,7 @@ _08071206: sub_08071208: @ 0x08071208 push {r4, lr} adds r4, r0, #0 - ldr r2, _08071244 @ =gUnk_03003F80 + ldr r2, _08071244 @ =gLinkState ldrb r1, [r2, #5] ldrb r0, [r2, #0xb] orrs r0, r1 @@ -3119,19 +3119,19 @@ _08071228: lsrs r0, r0, #0x18 cmp r0, #0xff bne _08071240 - ldr r1, _08071244 @ =gUnk_03003F80 + ldr r1, _08071244 @ =gLinkState movs r0, #0 strb r0, [r1, #2] bl sub_080791D0 _08071240: pop {r4, pc} .align 2, 0 -_08071244: .4byte gUnk_03003F80 +_08071244: .4byte gLinkState thumb_func_start sub_08071248 sub_08071248: @ 0x08071248 push {lr} - ldr r3, _08071274 @ =gUnk_03003F80 + ldr r3, _08071274 @ =gLinkState adds r2, r3, #0 adds r2, #0xa8 movs r1, #0x16 @@ -3152,7 +3152,7 @@ sub_08071248: @ 0x08071248 bl _call_via_r1 pop {pc} .align 2, 0 -_08071274: .4byte gUnk_03003F80 +_08071274: .4byte gLinkState _08071278: .4byte gUnk_0811BA94 thumb_func_start sub_0807127C @@ -3167,7 +3167,7 @@ sub_0807127C: @ 0x0807127C subs r0, #0x3a ands r0, r1 strb r0, [r2] - ldr r5, _080712AC @ =gUnk_03003F80 + ldr r5, _080712AC @ =gLinkState ldr r1, [r5, #0x30] movs r0, #0x80 ands r0, r1 @@ -3181,7 +3181,7 @@ sub_0807127C: @ 0x0807127C bl PlaySFX b _080712E4 .align 2, 0 -_080712AC: .4byte gUnk_03003F80 +_080712AC: .4byte gLinkState _080712B0: .4byte 0x00000C19 _080712B4: movs r0, #0x80 @@ -3221,7 +3221,7 @@ sub_080712F0: @ 0x080712F0 adds r4, r0, #0 bl sub_080042B8 movs r5, #0 - ldr r3, _08071314 @ =gUnk_03003F80 + ldr r3, _08071314 @ =gLinkState ldr r0, [r3, #0x30] movs r2, #0x80 ands r0, r2 @@ -3235,7 +3235,7 @@ sub_080712F0: @ 0x080712F0 bne _0807133E b _08071342 .align 2, 0 -_08071314: .4byte gUnk_03003F80 +_08071314: .4byte gLinkState _08071318: adds r0, r4, #0 adds r0, #0x5a @@ -3280,7 +3280,7 @@ _08071342: rsbs r0, r0, #0 ands r0, r1 strb r0, [r4, #0x18] - ldr r2, _0807137C @ =gUnk_03003F80 + ldr r2, _0807137C @ =gLinkState ldr r0, [r2, #0x30] movs r1, #5 rsbs r1, r1, #0 @@ -3290,13 +3290,13 @@ _08071342: _0807137A: pop {r4, r5, pc} .align 2, 0 -_0807137C: .4byte gUnk_03003F80 +_0807137C: .4byte gLinkState thumb_func_start sub_08071380 sub_08071380: @ 0x08071380 push {r4, r5, lr} adds r4, r0, #0 - ldr r5, _080713E8 @ =gUnk_03003F80 + ldr r5, _080713E8 @ =gLinkState adds r1, r5, #0 adds r1, #0xa8 movs r0, #0xe @@ -3344,7 +3344,7 @@ _080713D0: bl PlaySFX b _080713FC .align 2, 0 -_080713E8: .4byte gUnk_03003F80 +_080713E8: .4byte gLinkState _080713EC: .4byte gUnk_0811BA9C _080713F0: .4byte gUnk_03000FF0 _080713F4: .4byte gUnk_02033A90 @@ -3394,7 +3394,7 @@ _08071444: bl sub_08073904 adds r0, r4, #0 bl sub_080042B8 - ldr r2, _080714A0 @ =gUnk_03003F80 + ldr r2, _080714A0 @ =gLinkState ldrb r0, [r2, #2] cmp r0, #0 bne _0807147C @@ -3436,7 +3436,7 @@ _0807149A: pop {r4, r5, pc} .align 2, 0 _0807149C: .4byte gUnk_02033A90 -_080714A0: .4byte gUnk_03003F80 +_080714A0: .4byte gLinkState _080714A4: .4byte 0x0000052C thumb_func_start sub_080714A8 @@ -3452,7 +3452,7 @@ sub_080714A8: @ 0x080714A8 ldr r0, _08071528 @ =gLinkEntity bl sub_0806F948 _080714BE: - ldr r3, _0807152C @ =gUnk_03003F80 + ldr r3, _0807152C @ =gLinkState ldrb r1, [r3, #0xd] movs r0, #0x84 ands r0, r1 @@ -3507,7 +3507,7 @@ _08071516: .align 2, 0 _08071524: .4byte gUnk_02033A90 _08071528: .4byte gLinkEntity -_0807152C: .4byte gUnk_03003F80 +_0807152C: .4byte gLinkState _08071530: .4byte 0x0000080C _08071534: .4byte 0x0000041C _08071538: @@ -3553,21 +3553,21 @@ sub_0807156C: @ 0x0807156C strb r1, [r0, #0xd] movs r1, #0x1e strb r1, [r0, #0xf] - ldr r2, _080715A8 @ =gUnk_03003F80 + ldr r2, _080715A8 @ =gLinkState movs r1, #0xe7 lsls r1, r1, #3 strh r1, [r2, #8] movs r1, #6 movs r2, #1 movs r3, #0 - bl sub_080A2988 + bl CreateObjectWithParent bl sub_08077B20 bl sub_0805E544 pop {pc} .align 2, 0 _080715A0: .4byte gRoomControls _080715A4: .4byte gUnk_02034490 -_080715A8: .4byte gUnk_03003F80 +_080715A8: .4byte gLinkState thumb_func_start sub_080715AC sub_080715AC: @ 0x080715AC @@ -3578,7 +3578,7 @@ sub_080715AC: @ 0x080715AC bne _080715CC adds r0, r4, #0 bl sub_080042B8 - ldr r0, _080715D0 @ =gUnk_03003F80 + ldr r0, _080715D0 @ =gLinkState ldr r0, [r0, #0x30] movs r1, #0x80 ands r0, r1 @@ -3589,7 +3589,7 @@ sub_080715AC: @ 0x080715AC _080715CC: pop {r4, pc} .align 2, 0 -_080715D0: .4byte gUnk_03003F80 +_080715D0: .4byte gLinkState thumb_func_start sub_080715D4 sub_080715D4: @ 0x080715D4 @@ -3623,7 +3623,7 @@ sub_080715D4: @ 0x080715D4 adds r1, r2, #0 movs r3, #0 bl sub_0805EC9C - ldr r2, _08071628 @ =gUnk_03003F80 + ldr r2, _08071628 @ =gLinkState ldr r0, _0807162C @ =0x000002C3 strh r0, [r2, #8] ldr r0, [r2, #0x30] @@ -3634,7 +3634,7 @@ sub_080715D4: @ 0x080715D4 bl PlaySFX pop {pc} .align 2, 0 -_08071628: .4byte gUnk_03003F80 +_08071628: .4byte gLinkState _0807162C: .4byte 0x000002C3 _08071630: .4byte 0x0000016F @@ -3919,7 +3919,7 @@ sub_080717F8: @ 0x080717F8 movs r1, #9 strb r1, [r0, #0xc] strb r4, [r0, #0xd] - ldr r3, _0807185C @ =gUnk_03003F80 + ldr r3, _0807185C @ =gLinkState ldr r1, [r3, #0x30] movs r2, #0x21 rsbs r2, r2, #0 @@ -3928,13 +3928,13 @@ sub_080717F8: @ 0x080717F8 orrs r1, r2 str r1, [r3, #0x30] bl sub_0805EC60 - bl sub_0805E564 + bl UnfreezeTime pop {r4, pc} .align 2, 0 _08071850: .4byte gUnk_02033A90 _08071854: .4byte gUnk_0811BAC4 _08071858: .4byte gUnk_02034490 -_0807185C: .4byte gUnk_03003F80 +_0807185C: .4byte gLinkState thumb_func_start sub_08071860 sub_08071860: @ 0x08071860 @@ -3947,7 +3947,7 @@ sub_08071860: @ 0x08071860 bl sub_08071A6C b _08071896 _08071876: - ldr r0, _08071898 @ =gUnk_03003F80 + ldr r0, _08071898 @ =gLinkState adds r0, #0xa8 movs r1, #0x13 strb r1, [r0] @@ -3965,7 +3965,7 @@ _08071876: _08071896: pop {r4, pc} .align 2, 0 -_08071898: .4byte gUnk_03003F80 +_08071898: .4byte gLinkState _0807189C: .4byte gUnk_0811BAD4 thumb_func_start sub_080718A0 @@ -3989,7 +3989,7 @@ sub_080718A0: @ 0x080718A0 ands r0, r1 orrs r0, r2 strb r0, [r4, #0x11] - ldr r5, _080718F4 @ =gUnk_03003F80 + ldr r5, _080718F4 @ =gLinkState ldr r0, [r5, #0x30] movs r1, #0x80 ands r0, r1 @@ -4008,7 +4008,7 @@ sub_080718A0: @ 0x080718A0 .align 2, 0 _080718EC: .4byte gUnk_03000B80 _080718F0: .4byte gUnk_03003DC0 -_080718F4: .4byte gUnk_03003F80 +_080718F4: .4byte gLinkState _080718F8: ldrb r0, [r5, #2] cmp r0, #0 @@ -4066,21 +4066,21 @@ sub_0807193C: @ 0x0807193C movs r1, #6 movs r2, #0 movs r3, #0 - bl sub_080A2988 + bl CreateObjectWithParent str r0, [r4, #0x54] cmp r0, #0 beq _08071986 ldrb r0, [r4, #0x14] cmp r0, #2 bne _0807197C - ldr r1, _08071978 @ =gUnk_03003F80 + ldr r1, _08071978 @ =gLinkState movs r0, #0xf3 lsls r0, r0, #2 b _08071980 .align 2, 0 -_08071978: .4byte gUnk_03003F80 +_08071978: .4byte gLinkState _0807197C: - ldr r1, _08071988 @ =gUnk_03003F80 + ldr r1, _08071988 @ =gLinkState ldr r0, _0807198C @ =0x000003C7 _08071980: strh r0, [r1, #8] @@ -4088,7 +4088,7 @@ _08071980: _08071986: pop {r4, pc} .align 2, 0 -_08071988: .4byte gUnk_03003F80 +_08071988: .4byte gLinkState _0807198C: .4byte 0x000003C7 thumb_func_start sub_08071990 @@ -4104,7 +4104,7 @@ sub_08071990: @ 0x08071990 ldrb r0, [r2, #0xd] adds r0, #1 strb r0, [r2, #0xd] - ldr r3, _080719C4 @ =gUnk_03003F80 + ldr r3, _080719C4 @ =gLinkState ldr r0, [r3, #0x30] movs r1, #0x80 ands r0, r1 @@ -4118,7 +4118,7 @@ sub_08071990: @ 0x08071990 b _08071A4A .align 2, 0 _080719C0: .4byte gTextBox -_080719C4: .4byte gUnk_03003F80 +_080719C4: .4byte gLinkState _080719C8: .4byte 0x000003CD _080719CC: ldr r0, _080719D4 @ =0x000003C9 @@ -4131,7 +4131,7 @@ _080719D8: bl sub_08079258 b _08071A4A _080719E2: - ldr r4, _08071A20 @ =gUnk_03003F80 + ldr r4, _08071A20 @ =gLinkState ldr r0, [r4, #0x30] movs r1, #0x80 ands r0, r1 @@ -4163,7 +4163,7 @@ _080719F8: strh r0, [r4, #8] b _08071A4A .align 2, 0 -_08071A20: .4byte gUnk_03003F80 +_08071A20: .4byte gLinkState _08071A24: adds r0, r3, #0 adds r0, #0xc7 @@ -4223,7 +4223,7 @@ _08071A88: .4byte gLinkEntity thumb_func_start sub_08071A8C sub_08071A8C: @ 0x08071A8C push {lr} - ldr r1, _08071AA8 @ =gUnk_03003F80 + ldr r1, _08071AA8 @ =gLinkState adds r1, #0xa8 movs r2, #0x19 strb r2, [r1] @@ -4235,7 +4235,7 @@ sub_08071A8C: @ 0x08071A8C bl _call_via_r1 pop {pc} .align 2, 0 -_08071AA8: .4byte gUnk_03003F80 +_08071AA8: .4byte gLinkState _08071AAC: .4byte gUnk_0811BAE4 thumb_func_start sub_08071AB0 @@ -4245,7 +4245,7 @@ sub_08071AB0: @ 0x08071AB0 ldrb r0, [r3, #0xd] adds r0, #1 strb r0, [r3, #0xd] - ldr r1, _08071AD8 @ =gUnk_03003F80 + ldr r1, _08071AD8 @ =gLinkState ldr r2, [r1, #0x30] movs r0, #1 orrs r2, r0 @@ -4260,7 +4260,7 @@ sub_08071AB0: @ 0x08071AB0 strb r4, [r3, #0xf] b _08071AE8 .align 2, 0 -_08071AD8: .4byte gUnk_03003F80 +_08071AD8: .4byte gLinkState _08071ADC: movs r0, #0x80 ands r2, r0 @@ -4278,7 +4278,7 @@ _08071AE8: sub_08071AF0: @ 0x08071AF0 push {r4, r5, lr} adds r4, r0, #0 - ldr r5, _08071B34 @ =gUnk_03003F80 + ldr r5, _08071B34 @ =gLinkState adds r0, r5, #0 adds r0, #0x80 movs r1, #0 @@ -4310,7 +4310,7 @@ sub_08071AF0: @ 0x08071AF0 strb r0, [r4, #0xe] b _08071B58 .align 2, 0 -_08071B34: .4byte gUnk_03003F80 +_08071B34: .4byte gLinkState _08071B38: .4byte gUnk_0811BAF0 _08071B3C: ldrb r0, [r4, #0xd] @@ -4338,7 +4338,7 @@ _08071B5C: sub_08071B60: @ 0x08071B60 push {r4, r5, lr} adds r4, r0, #0 - ldr r5, _08071BAC @ =gUnk_03003F80 + ldr r5, _08071BAC @ =gLinkState movs r2, #0 movs r0, #2 strb r0, [r5, #6] @@ -4373,7 +4373,7 @@ sub_08071B60: @ 0x08071B60 _08071BA8: pop {r4, r5, pc} .align 2, 0 -_08071BAC: .4byte gUnk_03003F80 +_08071BAC: .4byte gLinkState thumb_func_start sub_08071BB0 sub_08071BB0: @ 0x08071BB0 @@ -4388,20 +4388,20 @@ sub_08071BB0: @ 0x08071BB0 adds r1, r1, r2 ldr r1, [r1] bl _call_via_r1 - ldr r0, _08071BD8 @ =gUnk_03003F80 + ldr r0, _08071BD8 @ =gLinkState adds r0, #0xa8 movs r1, #0x12 strb r1, [r0] pop {pc} .align 2, 0 _08071BD4: .4byte gUnk_0811BB2C -_08071BD8: .4byte gUnk_03003F80 +_08071BD8: .4byte gLinkState thumb_func_start sub_08071BDC sub_08071BDC: @ 0x08071BDC push {r4, r5, lr} adds r4, r0, #0 - ldr r5, _08071C10 @ =gUnk_03003F80 + ldr r5, _08071C10 @ =gLinkState ldr r0, [r5, #0x30] movs r1, #0x88 lsls r1, r1, #1 @@ -4424,7 +4424,7 @@ sub_08071BDC: @ 0x08071BDC strh r0, [r5, #8] b _08071C9C .align 2, 0 -_08071C10: .4byte gUnk_03003F80 +_08071C10: .4byte gLinkState _08071C14: movs r0, #0x81 lsls r0, r0, #4 @@ -4462,7 +4462,7 @@ _08071C4C: beq _08071C5A ldr r0, _08071CA0 @ =0x00000459 _08071C5A: - ldr r2, _08071CA4 @ =gUnk_03003F80 + ldr r2, _08071CA4 @ =gLinkState movs r3, #0 strh r0, [r2, #8] ldr r0, [r2, #0x30] @@ -4496,7 +4496,7 @@ _08071C9C: pop {r4, r5, pc} .align 2, 0 _08071CA0: .4byte 0x00000459 -_08071CA4: .4byte gUnk_03003F80 +_08071CA4: .4byte gLinkState _08071CA8: .4byte 0xFEDBF2FE thumb_func_start sub_08071CAC @@ -4512,7 +4512,7 @@ sub_08071CAC: @ 0x08071CAC ands r0, r1 cmp r0, #0 beq _08071CFE - ldr r1, _08071CE0 @ =gUnk_03003F80 + ldr r1, _08071CE0 @ =gLinkState ldr r2, [r1, #0x30] adds r0, r2, #0 ands r0, r3 @@ -4526,7 +4526,7 @@ sub_08071CAC: @ 0x08071CAC ldr r0, _08071CE8 @ =0x0000045A b _08071CEE .align 2, 0 -_08071CE0: .4byte gUnk_03003F80 +_08071CE0: .4byte gLinkState _08071CE4: .4byte 0x000002BD _08071CE8: .4byte 0x0000045A _08071CEC: @@ -4578,7 +4578,7 @@ _08071D3A: movs r2, #0 movs r0, #3 strb r0, [r5, #0xd] - ldr r1, _08071D70 @ =gUnk_03003F80 + ldr r1, _08071D70 @ =gLinkState adds r0, r1, #0 adds r0, #0x3c strb r2, [r0] @@ -4596,7 +4596,7 @@ _08071D3A: b _08071D7A .align 2, 0 _08071D6C: .4byte gUnk_02002A40 -_08071D70: .4byte gUnk_03003F80 +_08071D70: .4byte gLinkState _08071D74: ldr r1, _08071D7C @ =gUnk_030010A0 movs r0, #1 @@ -4611,7 +4611,7 @@ sub_08071D80: @ 0x08071D80 push {r4, r5, lr} adds r4, r0, #0 bl sub_080042B8 - ldr r5, _08071DB4 @ =gUnk_03003F80 + ldr r5, _08071DB4 @ =gLinkState movs r0, #1 strb r0, [r5, #0x14] adds r0, r4, #0 @@ -4627,12 +4627,12 @@ sub_08071D80: @ 0x08071D80 adds r1, #0x3d movs r0, #0xe2 strb r0, [r1] - bl sub_0805E564 + bl UnfreezeTime bl sub_080791D0 _08071DB2: pop {r4, r5, pc} .align 2, 0 -_08071DB4: .4byte gUnk_03003F80 +_08071DB4: .4byte gLinkState thumb_func_start sub_08071DB8 sub_08071DB8: @ 0x08071DB8 @@ -4651,7 +4651,7 @@ _08071DCC: .4byte gUnk_0811BB3C sub_08071DD0: @ 0x08071DD0 push {lr} adds r2, r0, #0 - ldr r1, _08071DF4 @ =gUnk_03003F80 + ldr r1, _08071DF4 @ =gLinkState adds r0, r1, #0 adds r0, #0x38 ldrb r0, [r0] @@ -4668,7 +4668,7 @@ sub_08071DD0: @ 0x08071DD0 adds r0, #0xfe b _08071E00 .align 2, 0 -_08071DF4: .4byte gUnk_03003F80 +_08071DF4: .4byte gLinkState _08071DF8: movs r0, #1 strb r0, [r2, #0xd] @@ -4685,7 +4685,7 @@ sub_08071E04: @ 0x08071E04 ldr r0, [r4, #0x34] cmp r0, #0 beq _08071E38 - ldr r5, _08071E34 @ =gUnk_03003F80 + ldr r5, _08071E34 @ =gLinkState ldrb r0, [r5, #0x14] cmp r0, #0 bne _08071E38 @@ -4703,7 +4703,7 @@ sub_08071E04: @ 0x08071E04 bl sub_080791BC b _08071E72 .align 2, 0 -_08071E34: .4byte gUnk_03003F80 +_08071E34: .4byte gLinkState _08071E38: adds r0, r4, #0 bl sub_080042B8 @@ -4776,7 +4776,7 @@ sub_08071EB0: @ 0x08071EB0 bl sub_08077C3C cmp r0, #0 beq _08071F12 - ldr r3, _08071EE4 @ =gUnk_03003F80 + ldr r3, _08071EE4 @ =gLinkState adds r2, r3, #0 adds r2, #0x38 ldrb r1, [r2] @@ -4792,7 +4792,7 @@ sub_08071EB0: @ 0x08071EB0 strh r0, [r3, #8] b _08071F12 .align 2, 0 -_08071EE4: .4byte gUnk_03003F80 +_08071EE4: .4byte gLinkState _08071EE8: .4byte 0x00000614 _08071EEC: cmp r0, #0x20 @@ -4827,14 +4827,14 @@ sub_08071F14: @ 0x08071F14 ands r0, r1 cmp r0, #0 beq _08071F32 - ldr r1, _08071F34 @ =gUnk_03003F80 + ldr r1, _08071F34 @ =gLinkState movs r0, #0 str r0, [r1, #0x2c] bl sub_0807921C _08071F32: pop {r4, pc} .align 2, 0 -_08071F34: .4byte gUnk_03003F80 +_08071F34: .4byte gLinkState thumb_func_start sub_08071F38 sub_08071F38: @ 0x08071F38 @@ -4861,7 +4861,7 @@ sub_08071F50: @ 0x08071F50 ldrb r1, [r0, #0xd] adds r1, #1 strb r1, [r0, #0xd] - ldr r1, _08071F78 @ =gUnk_03003F80 + ldr r1, _08071F78 @ =gLinkState movs r0, #0xa5 lsls r0, r0, #2 strh r0, [r1, #8] @@ -4870,7 +4870,7 @@ sub_08071F50: @ 0x08071F50 bl PlaySFX pop {pc} .align 2, 0 -_08071F78: .4byte gUnk_03003F80 +_08071F78: .4byte gLinkState _08071F7C: .4byte 0x00000195 thumb_func_start sub_08071F80 @@ -4885,7 +4885,7 @@ sub_08071F80: @ 0x08071F80 bne _08071FB8 adds r0, r4, #0 bl UpdateSpriteOrderAndFlip - ldr r0, _08071FB4 @ =gUnk_03003F80 + ldr r0, _08071FB4 @ =gLinkState strb r5, [r0, #2] ldrb r0, [r0, #0x14] cmp r0, #0 @@ -4897,7 +4897,7 @@ sub_08071F80: @ 0x08071F80 bl sub_08072008 b _08072004 .align 2, 0 -_08071FB4: .4byte gUnk_03003F80 +_08071FB4: .4byte gLinkState _08071FB8: bl sub_08079B24 cmp r0, #0 @@ -4906,7 +4906,7 @@ _08071FB8: bl sub_08079708 b _08071FFE _08071FC8: - ldr r0, _08071FEC @ =gUnk_03003F80 + ldr r0, _08071FEC @ =gLinkState ldr r0, [r0, #0x30] movs r1, #0x80 lsls r1, r1, #4 @@ -4924,7 +4924,7 @@ _08071FC8: movs r0, #2 b _08071FF4 .align 2, 0 -_08071FEC: .4byte gUnk_03003F80 +_08071FEC: .4byte gLinkState _08071FF0: adds r1, r4, #0 adds r1, #0x62 @@ -4960,7 +4960,7 @@ sub_08072008: @ 0x08072008 adds r0, r3, #0 adds r0, #0x62 strb r2, [r0] - ldr r2, _08072044 @ =gUnk_03003F80 + ldr r2, _08072044 @ =gLinkState ldr r0, [r2, #0x30] ldr r1, _08072048 @ =0xFFFFF7FE ands r0, r1 @@ -4972,7 +4972,7 @@ sub_08072008: @ 0x08072008 bl sub_080791BC pop {pc} .align 2, 0 -_08072044: .4byte gUnk_03003F80 +_08072044: .4byte gLinkState _08072048: .4byte 0xFFFFF7FE thumb_func_start sub_0807204C @@ -4997,7 +4997,7 @@ sub_08072064: @ 0x08072064 movs r1, #0x7f ands r1, r2 strb r1, [r0, #0x10] - ldr r2, _08072094 @ =gUnk_03003F80 + ldr r2, _08072094 @ =gLinkState adds r1, r2, #0 adds r1, #0x3a ldrb r1, [r1] @@ -5013,7 +5013,7 @@ sub_08072064: @ 0x08072064 bl sub_08077B2C pop {pc} .align 2, 0 -_08072094: .4byte gUnk_03003F80 +_08072094: .4byte gLinkState thumb_func_start sub_08072098 sub_08072098: @ 0x08072098 @@ -5086,7 +5086,7 @@ sub_08072100: @ 0x08072100 strh r0, [r4, #0x24] ldr r0, _08072148 @ =gUnk_08114F88 str r0, [r4, #0x48] - ldr r2, _0807214C @ =gUnk_03003F80 + ldr r2, _0807214C @ =gLinkState adds r0, r2, #0 adds r0, #0x38 ldrb r0, [r0] @@ -5114,7 +5114,7 @@ _0807213A: b _08072158 .align 2, 0 _08072148: .4byte gUnk_08114F88 -_0807214C: .4byte gUnk_03003F80 +_0807214C: .4byte gLinkState _08072150: .4byte 0x00000404 _08072154: movs r0, #0x82 @@ -5147,7 +5147,7 @@ sub_08072168: @ 0x08072168 _0807218A: adds r0, r4, #0 bl sub_08003FC4 - ldr r0, _080721A4 @ =gUnk_03003F80 + ldr r0, _080721A4 @ =gLinkState adds r0, #0x3a ldrb r0, [r0] cmp r0, #0 @@ -5156,11 +5156,11 @@ _0807218A: bl sub_0806F69C b _080721AC .align 2, 0 -_080721A4: .4byte gUnk_03003F80 +_080721A4: .4byte gLinkState _080721A8: bl sub_08079E08 _080721AC: - ldr r1, _080721E0 @ =gUnk_03003F80 + ldr r1, _080721E0 @ =gLinkState ldrb r0, [r4, #0x15] strb r0, [r1, #0xd] bl sub_08019840 @@ -5185,12 +5185,12 @@ _080721AC: _080721DE: pop {r4, pc} .align 2, 0 -_080721E0: .4byte gUnk_03003F80 +_080721E0: .4byte gLinkState thumb_func_start sub_080721E4 sub_080721E4: @ 0x080721E4 push {lr} - ldr r1, _08072208 @ =gUnk_03003F80 + ldr r1, _08072208 @ =gLinkState adds r1, #0xa8 movs r2, #0x1a strb r2, [r1] @@ -5206,7 +5206,7 @@ sub_080721E4: @ 0x080721E4 strb r1, [r0] pop {pc} .align 2, 0 -_08072208: .4byte gUnk_03003F80 +_08072208: .4byte gLinkState _0807220C: .4byte gUnk_0811BB68 _08072210: .4byte gUnk_0200AF00 @@ -5218,7 +5218,7 @@ sub_08072214: @ 0x08072214 strb r0, [r3, #0xd] movs r0, #0x80 strh r0, [r3, #0x24] - ldr r2, _08072244 @ =gUnk_03003F80 + ldr r2, _08072244 @ =gLinkState adds r0, r2, #0 adds r0, #0x38 ldrb r0, [r0] @@ -5237,7 +5237,7 @@ sub_08072214: @ 0x08072214 lsls r0, r0, #2 b _0807224A .align 2, 0 -_08072244: .4byte gUnk_03003F80 +_08072244: .4byte gLinkState _08072248: ldr r0, _0807225C @ =0x00000944 _0807224A: @@ -5256,7 +5256,7 @@ _0807225C: .4byte 0x00000944 sub_08072260: @ 0x08072260 push {r4, r5, lr} adds r4, r0, #0 - ldr r5, _0807229C @ =gUnk_03003F80 + ldr r5, _0807229C @ =gLinkState adds r1, r5, #0 adds r1, #0x80 movs r0, #0 @@ -5283,7 +5283,7 @@ sub_08072260: @ 0x08072260 lsls r0, r0, #2 b _080722A2 .align 2, 0 -_0807229C: .4byte gUnk_03003F80 +_0807229C: .4byte gLinkState _080722A0: ldr r0, _080722B4 @ =0x00000944 _080722A2: @@ -5301,7 +5301,7 @@ _080722B4: .4byte 0x00000944 thumb_func_start sub_080722B8 sub_080722B8: @ 0x080722B8 push {lr} - ldr r1, _080722D4 @ =gUnk_03003F80 + ldr r1, _080722D4 @ =gLinkState adds r1, #0xa8 movs r2, #0xa strb r2, [r1] @@ -5313,7 +5313,7 @@ sub_080722B8: @ 0x080722B8 bl _call_via_r1 pop {pc} .align 2, 0 -_080722D4: .4byte gUnk_03003F80 +_080722D4: .4byte gLinkState _080722D8: .4byte gUnk_0811BB70 thumb_func_start sub_080722DC @@ -5324,7 +5324,7 @@ sub_080722DC: @ 0x080722DC movs r0, #0x7f ands r0, r1 strb r0, [r4, #0x10] - ldr r2, _08072318 @ =gUnk_03003F80 + ldr r2, _08072318 @ =gLinkState ldr r0, [r2, #0x30] movs r1, #0x80 ands r0, r1 @@ -5348,7 +5348,7 @@ _0807230E: strh r0, [r5, #8] b _08072332 .align 2, 0 -_08072318: .4byte gUnk_03003F80 +_08072318: .4byte gLinkState _0807231C: ldrb r1, [r4, #0x18] movs r0, #4 @@ -5409,7 +5409,7 @@ sub_08072354: @ 0x08072354 strb r0, [r4, #0xd] movs r0, #0x3c strb r0, [r4, #0xe] - ldr r2, _080723C4 @ =gUnk_03003F80 + ldr r2, _080723C4 @ =gLinkState ldr r0, _080723C8 @ =0x000002C1 strh r0, [r2, #8] ldr r0, [r2, #0x30] @@ -5428,7 +5428,7 @@ sub_08072354: @ 0x08072354 _080723C0: pop {r4, pc} .align 2, 0 -_080723C4: .4byte gUnk_03003F80 +_080723C4: .4byte gLinkState _080723C8: .4byte 0x000002C1 _080723CC: .4byte 0xFFFFFBFF @@ -5484,7 +5484,7 @@ sub_0807240C: @ 0x0807240C adds r1, #0x3d movs r0, #0x14 strb r0, [r1] - ldr r2, _0807244C @ =gUnk_03003F80 + ldr r2, _0807244C @ =gLinkState ldr r0, [r2, #0x30] ldr r1, _08072450 @ =0xFFFFFBFF ands r0, r1 @@ -5496,7 +5496,7 @@ sub_0807240C: @ 0x0807240C _08072448: pop {pc} .align 2, 0 -_0807244C: .4byte gUnk_03003F80 +_0807244C: .4byte gLinkState _08072450: .4byte 0xFFFFFBFF thumb_func_start sub_08072454 @@ -5517,7 +5517,7 @@ sub_0807246C: @ 0x0807246C push {lr} movs r1, #1 strb r1, [r0, #0xd] - ldr r2, _0807248C @ =gUnk_03003F80 + ldr r2, _0807248C @ =gLinkState adds r1, r2, #0 adds r1, #0x38 ldrb r1, [r1] @@ -5529,7 +5529,7 @@ sub_0807246C: @ 0x0807246C bl PlaySFX pop {pc} .align 2, 0 -_0807248C: .4byte gUnk_03003F80 +_0807248C: .4byte gLinkState thumb_func_start sub_08072490 sub_08072490: @ 0x08072490 @@ -5584,7 +5584,7 @@ sub_080724DC: @ 0x080724DC bl sub_080002B8 cmp r0, #0x29 beq _0807254C - ldr r1, _08072530 @ =gUnk_03003F80 + ldr r1, _08072530 @ =gLinkState adds r0, r1, #0 adds r0, #0x89 ldrb r0, [r0] @@ -5613,10 +5613,10 @@ _08072512: bl sub_080728AC b _08072588 .align 2, 0 -_08072530: .4byte gUnk_03003F80 +_08072530: .4byte gLinkState _08072534: .4byte gRoomControls _08072538: - ldr r0, _08072548 @ =gUnk_03003F80 + ldr r0, _08072548 @ =gLinkState ldrb r0, [r0, #0x1c] cmp r0, #0 bne _08072588 @@ -5624,7 +5624,7 @@ _08072538: bl sub_080042B8 b _08072588 .align 2, 0 -_08072548: .4byte gUnk_03003F80 +_08072548: .4byte gLinkState _0807254C: ldrb r0, [r4, #0x18] movs r1, #3 @@ -5636,7 +5636,7 @@ _0807254C: ldrb r0, [r0] cmp r0, #0 bne _08072588 - ldr r2, _08072574 @ =gUnk_03003F80 + ldr r2, _08072574 @ =gLinkState ldr r0, [r2, #0x30] movs r1, #0x80 ands r0, r1 @@ -5646,7 +5646,7 @@ _0807254C: b _08072580 .align 2, 0 _08072570: .4byte gUnk_02034350 -_08072574: .4byte gUnk_03003F80 +_08072574: .4byte gLinkState _08072578: .4byte 0x00000C18 _0807257C: movs r0, #0x82 @@ -5676,7 +5676,7 @@ sub_0807258C: @ 0x0807258C bl sub_080797C4 cmp r0, #0 beq _080725DC - ldr r2, _080725D4 @ =gUnk_03003F80 + ldr r2, _080725D4 @ =gLinkState ldr r1, _080725D8 @ =gLinkEntity ldrh r0, [r1, #0x2e] strh r0, [r2, #0x16] @@ -5694,14 +5694,14 @@ sub_0807258C: @ 0x0807258C b _08072604 .align 2, 0 _080725D0: .4byte gRoomControls -_080725D4: .4byte gUnk_03003F80 +_080725D4: .4byte gLinkState _080725D8: .4byte gLinkEntity _080725DC: adds r0, r4, #0 bl sub_080042B8 b _08072604 _080725E4: - ldr r2, _08072624 @ =gUnk_03003F80 + ldr r2, _08072624 @ =gLinkState ldr r1, _08072628 @ =gLinkEntity ldrh r0, [r1, #0x2e] strh r0, [r2, #0x16] @@ -5717,7 +5717,7 @@ _080725E4: adds r0, r4, #0 bl sub_080728AC _08072604: - ldr r1, _08072624 @ =gUnk_03003F80 + ldr r1, _08072624 @ =gLinkState adds r0, r1, #0 adds r0, #0x89 ldrb r0, [r0] @@ -5733,13 +5733,13 @@ _08072604: _08072620: pop {r4, pc} .align 2, 0 -_08072624: .4byte gUnk_03003F80 +_08072624: .4byte gLinkState _08072628: .4byte gLinkEntity thumb_func_start sub_0807262C sub_0807262C: @ 0x0807262C push {lr} - ldr r1, _08072648 @ =gUnk_03003F80 + ldr r1, _08072648 @ =gLinkState adds r1, #0xa8 movs r2, #9 strb r2, [r1] @@ -5751,14 +5751,14 @@ sub_0807262C: @ 0x0807262C bl _call_via_r1 pop {pc} .align 2, 0 -_08072648: .4byte gUnk_03003F80 +_08072648: .4byte gLinkState _0807264C: .4byte gUnk_0811BB90 thumb_func_start sub_08072650 sub_08072650: @ 0x08072650 push {r4, r5, lr} adds r4, r0, #0 - ldr r5, _08072698 @ =gUnk_03003F80 + ldr r5, _08072698 @ =gLinkState ldr r0, [r5, #0x30] movs r1, #0x80 lsls r1, r1, #0xe @@ -5791,7 +5791,7 @@ _0807266E: ldr r0, _080726A0 @ =0x00000C08 b _080726BE .align 2, 0 -_08072698: .4byte gUnk_03003F80 +_08072698: .4byte gLinkState _0807269C: .4byte gLinkEntity _080726A0: .4byte 0x00000C08 _080726A4: @@ -5811,13 +5811,13 @@ _080726BA: lsls r0, r0, #2 _080726BE: strh r0, [r5, #8] - ldr r2, _080726E0 @ =gUnk_03003F80 + ldr r2, _080726E0 @ =gLinkState ldr r0, [r2, #0x30] movs r1, #0x80 lsls r1, r1, #0xb orrs r0, r1 str r0, [r2, #0x30] - bl sub_08000E50 + bl Random movs r1, #1 ands r1, r0 cmp r1, #0 @@ -5826,7 +5826,7 @@ _080726BE: bl PlaySFX b _080726EA .align 2, 0 -_080726E0: .4byte gUnk_03003F80 +_080726E0: .4byte gLinkState _080726E4: movs r0, #0x78 bl PlaySFX @@ -5840,7 +5840,7 @@ _080726EA: sub_080726F4: @ 0x080726F4 push {r4, r5, lr} adds r4, r0, #0 - ldr r3, _08072744 @ =gUnk_03003F80 + ldr r3, _08072744 @ =gLinkState ldr r2, [r3, #0x30] movs r0, #0xc0 lsls r0, r0, #0xc @@ -5879,7 +5879,7 @@ _08072730: _08072740: b _080727E0 .align 2, 0 -_08072744: .4byte gUnk_03003F80 +_08072744: .4byte gLinkState _08072748: .4byte 0xFFFBFFFF _0807274C: ldrb r1, [r4, #0x14] @@ -5887,7 +5887,7 @@ _0807274C: ands r0, r1 lsls r0, r0, #2 strb r0, [r4, #0x15] - ldr r0, _080727A0 @ =gUnk_03003F80 + ldr r0, _080727A0 @ =gLinkState ldr r0, [r0, #0x30] movs r1, #0x80 ands r0, r1 @@ -5907,7 +5907,7 @@ _0807274C: movs r0, #4 strb r0, [r4, #0xe] _0807277E: - ldr r5, _080727A0 @ =gUnk_03003F80 + ldr r5, _080727A0 @ =gLinkState ldr r0, [r5, #0x30] movs r1, #2 ands r0, r1 @@ -5924,7 +5924,7 @@ _0807278E: str r0, [r5, #0x30] b _080728A0 .align 2, 0 -_080727A0: .4byte gUnk_03003F80 +_080727A0: .4byte gLinkState _080727A4: .4byte gLinkEntity _080727A8: .4byte 0xFFFBFFFF _080727AC: @@ -6015,7 +6015,7 @@ _08072844: ands r0, r1 cmp r0, #0 bne _08072860 - ldr r0, _080728A4 @ =gUnk_03003F80 + ldr r0, _080728A4 @ =gLinkState ldr r1, [r0, #0x30] movs r0, #0x80 ands r1, r0 @@ -6038,7 +6038,7 @@ _08072870: ands r0, r1 cmp r0, #0 bne _08072882 - ldr r0, _080728A4 @ =gUnk_03003F80 + ldr r0, _080728A4 @ =gLinkState ldrb r0, [r0, #4] cmp r0, #0 beq _08072886 @@ -6050,7 +6050,7 @@ _08072886: ands r0, r1 cmp r0, #0 beq _0807289A - ldr r0, _080728A4 @ =gUnk_03003F80 + ldr r0, _080728A4 @ =gLinkState ldr r1, [r0, #0x30] ldr r2, _080728A8 @ =0xFFDBFFFF ands r1, r2 @@ -6061,7 +6061,7 @@ _0807289A: _080728A0: pop {r4, r5, pc} .align 2, 0 -_080728A4: .4byte gUnk_03003F80 +_080728A4: .4byte gLinkState _080728A8: .4byte 0xFFDBFFFF thumb_func_start sub_080728AC @@ -6069,7 +6069,7 @@ sub_080728AC: @ 0x080728AC push {r4, r5, lr} adds r4, r0, #0 bl sub_08079938 - ldr r0, _080728C8 @ =gUnk_03003F80 + ldr r0, _080728C8 @ =gLinkState ldr r0, [r0, #0x30] movs r1, #0x80 ands r0, r1 @@ -6079,11 +6079,11 @@ sub_080728AC: @ 0x080728AC bl sub_0807B068 b _080728D0 .align 2, 0 -_080728C8: .4byte gUnk_03003F80 +_080728C8: .4byte gLinkState _080728CC: bl sub_08078F60 _080728D0: - ldr r1, _08072940 @ =gUnk_03003F80 + ldr r1, _08072940 @ =gLinkState adds r0, r1, #0 adds r0, #0x26 ldrb r0, [r0] @@ -6133,7 +6133,7 @@ _08072910: _08072928: bl sub_080791D0 _0807292C: - ldr r0, _08072940 @ =gUnk_03003F80 + ldr r0, _08072940 @ =gLinkState ldr r0, [r0, #0x30] movs r1, #2 ands r0, r1 @@ -6143,14 +6143,14 @@ _0807292C: _0807293C: pop {r4, r5, pc} .align 2, 0 -_08072940: .4byte gUnk_03003F80 +_08072940: .4byte gLinkState _08072944: .4byte gLinkEntity _08072948: .4byte gRoomControls thumb_func_start sub_0807294C sub_0807294C: @ 0x0807294C push {lr} - ldr r1, _08072968 @ =gUnk_03003F80 + ldr r1, _08072968 @ =gLinkState adds r1, #0xa8 movs r2, #0x17 strb r2, [r1] @@ -6162,7 +6162,7 @@ sub_0807294C: @ 0x0807294C bl _call_via_r1 pop {pc} .align 2, 0 -_08072968: .4byte gUnk_03003F80 +_08072968: .4byte gLinkState _0807296C: .4byte gUnk_0811BB98 thumb_func_start sub_08072970 @@ -6203,7 +6203,7 @@ sub_08072970: @ 0x08072970 ands r0, r1 strb r0, [r2] strb r3, [r5, #0xe] - ldr r2, _080729D8 @ =gUnk_03003F80 + ldr r2, _080729D8 @ =gLinkState ldr r0, [r2, #0x30] movs r1, #0x80 lsls r1, r1, #0xd @@ -6220,7 +6220,7 @@ sub_08072970: @ 0x08072970 adds r6, #0x38 b _08072A14 .align 2, 0 -_080729D8: .4byte gUnk_03003F80 +_080729D8: .4byte gLinkState _080729DC: ldr r0, _08072A50 @ =0x0000061C strh r0, [r2, #8] @@ -6306,17 +6306,17 @@ sub_08072A60: @ 0x08072A60 movs r1, #8 orrs r0, r1 strb r0, [r2] - ldr r1, _08072A94 @ =gUnk_03003F80 + ldr r1, _08072A94 @ =gLinkState ldr r0, _08072A98 @ =0x00000624 strh r0, [r1, #8] b _08072ACA .align 2, 0 -_08072A94: .4byte gUnk_03003F80 +_08072A94: .4byte gLinkState _08072A98: .4byte 0x00000624 _08072A9C: movs r0, #2 strb r0, [r2, #0xd] - ldr r2, _08072AB4 @ =gUnk_03003F80 + ldr r2, _08072AB4 @ =gLinkState ldr r0, [r2, #0x30] movs r1, #8 ands r0, r1 @@ -6326,7 +6326,7 @@ _08072A9C: strh r0, [r2, #8] b _08072ACA .align 2, 0 -_08072AB4: .4byte gUnk_03003F80 +_08072AB4: .4byte gLinkState _08072AB8: .4byte 0x00000954 _08072ABC: movs r0, #0xc4 @@ -6343,7 +6343,7 @@ _08072ACA: sub_08072ACC: @ 0x08072ACC push {r4, r5, lr} adds r4, r0, #0 - ldr r5, _08072AE0 @ =gUnk_03003F80 + ldr r5, _08072AE0 @ =gLinkState ldrb r3, [r5, #0xd] lsls r2, r3, #0x18 lsrs r0, r2, #0x18 @@ -6352,7 +6352,7 @@ sub_08072ACC: @ 0x08072ACC movs r0, #0 b _08072B56 .align 2, 0 -_08072AE0: .4byte gUnk_03003F80 +_08072AE0: .4byte gLinkState _08072AE4: ldrb r1, [r4, #0xf] cmp r1, #7 @@ -6486,7 +6486,7 @@ _08072B82: ldr r0, [r5, #0x34] subs r0, #1 str r0, [r5, #0x34] - ldr r1, _08072C0C @ =gUnk_03003F80 + ldr r1, _08072C0C @ =gLinkState movs r0, #0x41 strb r0, [r1, #2] movs r2, #0xc @@ -6499,7 +6499,7 @@ _08072B82: .align 2, 0 _08072C04: .4byte 0x00004021 _08072C08: .4byte gRoomControls -_08072C0C: .4byte gUnk_03003F80 +_08072C0C: .4byte gLinkState _08072C10: bl sub_08052620 cmp r0, #0 @@ -6517,7 +6517,7 @@ _08072C1E: movs r0, #0x80 lsls r0, r0, #1 strh r0, [r5, #0x24] - ldr r1, _08072C44 @ =gUnk_03003F80 + ldr r1, _08072C44 @ =gLinkState movs r0, #0x81 lsls r0, r0, #4 strh r0, [r1, #8] @@ -6526,7 +6526,7 @@ _08072C1E: _08072C40: pop {r4, r5, r6, pc} .align 2, 0 -_08072C44: .4byte gUnk_03003F80 +_08072C44: .4byte gLinkState thumb_func_start sub_08072C48 sub_08072C48: @ 0x08072C48 @@ -6544,7 +6544,7 @@ sub_08072C48: @ 0x08072C48 adds r0, r4, #0 movs r1, #7 bl sub_08008790 - ldr r4, _08072C90 @ =gUnk_03003F80 + ldr r4, _08072C90 @ =gLinkState ldrb r0, [r4, #0x14] cmp r0, #0 beq _08072C94 @@ -6561,7 +6561,7 @@ sub_08072C48: @ 0x08072C48 bl sub_080791BC b _08072C98 .align 2, 0 -_08072C90: .4byte gUnk_03003F80 +_08072C90: .4byte gLinkState _08072C94: bl sub_0807921C _08072C98: @@ -6571,7 +6571,7 @@ _08072C98: thumb_func_start sub_08072C9C sub_08072C9C: @ 0x08072C9C push {lr} - ldr r1, _08072CB8 @ =gUnk_03003F80 + ldr r1, _08072CB8 @ =gLinkState adds r1, #0xa8 movs r2, #0x11 strb r2, [r1] @@ -6583,7 +6583,7 @@ sub_08072C9C: @ 0x08072C9C bl _call_via_r1 pop {pc} .align 2, 0 -_08072CB8: .4byte gUnk_03003F80 +_08072CB8: .4byte gLinkState _08072CBC: .4byte gUnk_0811BBAC thumb_func_start sub_08072CC0 @@ -6594,7 +6594,7 @@ sub_08072CC0: @ 0x08072CC0 movs r1, #0x7f ands r1, r2 strb r1, [r0, #0x10] - ldr r3, _08072CF4 @ =gUnk_03003F80 + ldr r3, _08072CF4 @ =gLinkState adds r1, r3, #0 adds r1, #0x3a ldrb r1, [r1] @@ -6614,7 +6614,7 @@ sub_08072CC0: @ 0x08072CC0 strb r2, [r3, #5] bx lr .align 2, 0 -_08072CF4: .4byte gUnk_03003F80 +_08072CF4: .4byte gLinkState _08072CF8: .4byte 0x00000524 thumb_func_start sub_08072CFC @@ -6636,7 +6636,7 @@ sub_08072CFC: @ 0x08072CFC _08072D1C: movs r0, #2 strb r0, [r4, #0xd] - ldr r2, _08072D50 @ =gUnk_03003F80 + ldr r2, _08072D50 @ =gLinkState adds r1, r2, #0 adds r1, #0x38 ldrb r0, [r1] @@ -6662,7 +6662,7 @@ _08072D30: _08072D4E: pop {r4, pc} .align 2, 0 -_08072D50: .4byte gUnk_03003F80 +_08072D50: .4byte gLinkState thumb_func_start sub_08072D54 sub_08072D54: @ 0x08072D54 @@ -6840,7 +6840,7 @@ _08072EB0: adds r0, r4, #0 movs r1, #7 bl sub_08008790 - ldr r5, _08072EDC @ =gUnk_03003F80 + ldr r5, _08072EDC @ =gLinkState ldrb r0, [r5, #0x14] cmp r0, #0 beq _08072EE0 @@ -6857,7 +6857,7 @@ _08072EB0: bl sub_080791BC b _08072F10 .align 2, 0 -_08072EDC: .4byte gUnk_03003F80 +_08072EDC: .4byte gLinkState _08072EE0: ldr r0, [r5, #0x30] movs r1, #8 @@ -6913,7 +6913,7 @@ sub_08072F34: @ 0x08072F34 bl sub_08078EFC cmp r0, #0 bne _08072F86 - ldr r6, _08072F88 @ =gUnk_03003F80 + ldr r6, _08072F88 @ =gLinkState adds r1, r6, #0 adds r1, #0xa8 movs r0, #0x18 @@ -6948,7 +6948,7 @@ sub_08072F34: @ 0x08072F34 _08072F86: pop {r4, r5, r6, pc} .align 2, 0 -_08072F88: .4byte gUnk_03003F80 +_08072F88: .4byte gLinkState _08072F8C: .4byte gUnk_0811BBE4 _08072F90: .4byte 0x000002CF @@ -6956,7 +6956,7 @@ _08072F90: .4byte 0x000002CF sub_08072F94: @ 0x08072F94 push {r4, lr} adds r4, r0, #0 - ldr r0, _08072FB4 @ =gUnk_03003F80 + ldr r0, _08072FB4 @ =gLinkState ldrb r1, [r0, #0x12] adds r3, r0, #0 cmp r1, #0x1e @@ -6971,7 +6971,7 @@ _08072FAE: bl sub_0807921C b _0807308C .align 2, 0 -_08072FB4: .4byte gUnk_03003F80 +_08072FB4: .4byte gLinkState _08072FB8: adds r2, r4, #0 adds r2, #0x29 @@ -7118,7 +7118,7 @@ sub_08073094: @ 0x08073094 bl sub_08019840 cmp r0, #0 bne _080731A4 - ldr r0, _08073100 @ =gUnk_03003F80 + ldr r0, _08073100 @ =gLinkState ldrb r1, [r0, #6] movs r2, #0x80 eors r1, r2 @@ -7133,7 +7133,7 @@ _080730DE: bl sub_08078EFC cmp r0, #0 bne _080731A4 - ldr r1, _08073100 @ =gUnk_03003F80 + ldr r1, _08073100 @ =gLinkState ldrb r0, [r1, #0x12] subs r0, #0x19 adds r2, r1, #0 @@ -7146,7 +7146,7 @@ _080730DE: mov pc, r0 .align 2, 0 _080730FC: .4byte gUnk_0811BBEC -_08073100: .4byte gUnk_03003F80 +_08073100: .4byte gLinkState _08073104: .4byte _08073108 _08073108: @ jump table .4byte _0807316C @ case 0 @@ -7213,7 +7213,7 @@ _080731A4: sub_080731A8: @ 0x080731A8 push {r4, lr} adds r4, r0, #0 - ldr r0, _080731D0 @ =gUnk_03003F80 + ldr r0, _080731D0 @ =gLinkState adds r0, #0xa8 movs r1, #0x1c strb r1, [r0] @@ -7229,5 +7229,5 @@ sub_080731A8: @ 0x080731A8 bl _call_via_r1 pop {r4, pc} .align 2, 0 -_080731D0: .4byte gUnk_03003F80 +_080731D0: .4byte gLinkState _080731D4: .4byte gUnk_0811BBF8 diff --git a/asm/code_080732D0.s b/asm/code_080732D0.s index 0a00a89b..6f04bfc3 100644 --- a/asm/code_080732D0.s +++ b/asm/code_080732D0.s @@ -30,8 +30,8 @@ _080732EE: movs r1, #0x70 movs r2, #1 movs r3, #0 - bl sub_080A2988 - ldr r0, _08073318 @ =gUnk_03003F80 + bl CreateObjectWithParent + ldr r0, _08073318 @ =gLinkState adds r0, #0x39 ldrb r0, [r0] cmp r0, #7 @@ -40,7 +40,7 @@ _080732EE: bl PlaySFX b _08073328 .align 2, 0 -_08073318: .4byte gUnk_03003F80 +_08073318: .4byte gLinkState _0807331C: .4byte 0x00000187 _08073320: movs r0, #0xc4 @@ -55,7 +55,7 @@ sub_0807332C: @ 0x0807332C push {r4, lr} adds r4, r0, #0 bl sub_080042B8 - ldr r0, _08073344 @ =gUnk_03003F80 + ldr r0, _08073344 @ =gLinkState adds r0, #0x39 ldrb r0, [r0] cmp r0, #7 @@ -63,7 +63,7 @@ sub_0807332C: @ 0x0807332C movs r0, #0 b _0807334A .align 2, 0 -_08073344: .4byte gUnk_03003F80 +_08073344: .4byte gLinkState _08073348: movs r0, #0x1c _0807334A: @@ -73,7 +73,7 @@ _0807334A: ands r0, r1 cmp r0, #0xf beq _08073386 - ldr r0, _08073368 @ =gUnk_03003F80 + ldr r0, _08073368 @ =gLinkState adds r0, #0x39 ldrb r0, [r0] cmp r0, #7 @@ -83,7 +83,7 @@ _0807334A: movs r0, #4 b _0807337C .align 2, 0 -_08073368: .4byte gUnk_03003F80 +_08073368: .4byte gLinkState _0807336C: movs r0, #6 strb r0, [r4, #0x14] @@ -100,7 +100,7 @@ _0807337E: bl sub_0806F69C b _080733B6 _08073386: - ldr r0, _0807339C @ =gUnk_03003F80 + ldr r0, _0807339C @ =gLinkState adds r0, #0x38 ldrb r0, [r0] cmp r0, #0 @@ -110,7 +110,7 @@ _08073386: bl sub_080791BC b _080733B6 .align 2, 0 -_0807339C: .4byte gUnk_03003F80 +_0807339C: .4byte gLinkState _080733A0: .4byte gRoomControls _080733A4: ldr r0, _080733B8 @ =gUnk_03001000 @@ -194,7 +194,7 @@ sub_08073420: @ 0x08073420 ands r1, r0 orrs r1, r2 strb r1, [r4, #0x19] - ldr r0, _08073460 @ =gUnk_03003F80 + ldr r0, _08073460 @ =gLinkState adds r0, #0xa8 movs r1, #8 strb r1, [r0] @@ -208,14 +208,14 @@ sub_08073420: @ 0x08073420 _0807345E: pop {r4, pc} .align 2, 0 -_08073460: .4byte gUnk_03003F80 +_08073460: .4byte gLinkState _08073464: .4byte gUnk_0811BC08 thumb_func_start sub_08073468 sub_08073468: @ 0x08073468 push {r4, r5, lr} adds r4, r0, #0 - ldr r5, _080734CC @ =gUnk_03003F80 + ldr r5, _080734CC @ =gLinkState movs r1, #0 movs r0, #0xe0 lsls r0, r0, #3 @@ -245,7 +245,7 @@ sub_08073468: @ 0x08073468 movs r1, #0x61 movs r2, #0 movs r3, #0 - bl sub_080A2988 + bl CreateObjectWithParent _080734AC: bl sub_08077B2C ldr r0, [r4, #0x20] @@ -264,7 +264,7 @@ _080734C0: _080734C8: pop {r4, r5, pc} .align 2, 0 -_080734CC: .4byte gUnk_03003F80 +_080734CC: .4byte gLinkState _080734D0: .4byte 0xFFFF0000 thumb_func_start sub_080734D4 @@ -276,7 +276,7 @@ sub_080734D4: @ 0x080734D4 ldr r0, [r4, #0x20] cmp r0, #0 bgt _080734EE - ldr r0, _08073500 @ =gUnk_03003F80 + ldr r0, _08073500 @ =gLinkState adds r0, #0x38 ldrb r0, [r0] cmp r0, #1 @@ -292,7 +292,7 @@ _080734FA: pop {r4, pc} .align 2, 0 _080734FC: .4byte 0xFFFFF000 -_08073500: .4byte gUnk_03003F80 +_08073500: .4byte gLinkState thumb_func_start sub_08073504 sub_08073504: @ 0x08073504 @@ -331,7 +331,7 @@ _08073516: strb r2, [r0] subs r0, #1 strb r2, [r0] - ldr r0, _08073580 @ =gUnk_03003F80 + ldr r0, _08073580 @ =gLinkState movs r1, #0xe1 lsls r1, r1, #3 strh r1, [r0, #8] @@ -357,13 +357,13 @@ _08073576: bl sub_080042B8 pop {r4, pc} .align 2, 0 -_08073580: .4byte gUnk_03003F80 +_08073580: .4byte gLinkState thumb_func_start sub_08073584 sub_08073584: @ 0x08073584 push {r4, r5, r6, lr} adds r4, r0, #0 - ldr r2, _080735DC @ =gUnk_03003F80 + ldr r2, _080735DC @ =gLinkState adds r0, r2, #0 adds r0, #0x92 ldrh r1, [r0] @@ -404,7 +404,7 @@ _080735C0: strh r0, [r6, #8] b _08073794 .align 2, 0 -_080735DC: .4byte gUnk_03003F80 +_080735DC: .4byte gLinkState _080735E0: ldr r0, _0807360C @ =gUnk_0200AF00 adds r0, #0x2f @@ -443,7 +443,7 @@ _08073620: .4byte gUnk_02033A90 _08073624: strh r5, [r4, #0x24] _08073626: - ldr r3, _08073650 @ =gUnk_03003F80 + ldr r3, _08073650 @ =gLinkState ldrb r1, [r3, #0xd] movs r0, #0x80 ands r0, r1 @@ -464,7 +464,7 @@ _08073626: subs r0, #0x20 b _08073658 .align 2, 0 -_08073650: .4byte gUnk_03003F80 +_08073650: .4byte gLinkState _08073654: ldr r0, [r2] adds r0, #0x20 @@ -517,7 +517,7 @@ _08073696: _080736A8: strb r3, [r4, #0x14] movs r5, #0 - ldr r1, _080736E4 @ =gUnk_03003F80 + ldr r1, _080736E4 @ =gLinkState ldrb r2, [r1, #0xd] lsrs r3, r2, #2 mov r6, ip @@ -547,7 +547,7 @@ _080736CA: movs r5, #2 b _080736FA .align 2, 0 -_080736E4: .4byte gUnk_03003F80 +_080736E4: .4byte gLinkState _080736E8: movs r0, #6 ands r0, r3 @@ -618,7 +618,7 @@ _08073762: rsbs r0, r0, #0 cmp r1, r0 bne _08073784 - ldr r2, _08073780 @ =gUnk_03003F80 + ldr r2, _08073780 @ =gLinkState ldrb r1, [r2, #2] movs r0, #0x40 orrs r0, r1 @@ -626,7 +626,7 @@ _08073762: bl sub_0807921C b _08073794 .align 2, 0 -_08073780: .4byte gUnk_03003F80 +_08073780: .4byte gLinkState _08073784: adds r0, r1, #0 movs r1, #0x14 @@ -691,7 +691,7 @@ _080737E4: bl sub_080002D0 cmp r0, #0 bne _08073804 - ldr r2, _08073808 @ =gUnk_03003F80 + ldr r2, _08073808 @ =gLinkState ldrb r1, [r2, #2] movs r0, #0x40 orrs r0, r1 @@ -700,7 +700,7 @@ _080737E4: _08073804: pop {r4, pc} .align 2, 0 -_08073808: .4byte gUnk_03003F80 +_08073808: .4byte gLinkState thumb_func_start sub_0807380C sub_0807380C: @ 0x0807380C @@ -720,7 +720,7 @@ sub_0807380C: @ 0x0807380C lsls r0, r0, #2 strb r0, [r4, #0x15] _0807382A: - ldr r2, _08073858 @ =gUnk_03003F80 + ldr r2, _08073858 @ =gLinkState ldr r1, _0807385C @ =gUnk_0811BC38 ldrb r0, [r4, #0x14] lsrs r0, r0, #1 @@ -741,7 +741,7 @@ _0807382A: b _0807387A .align 2, 0 _08073854: .4byte gUnk_030010A0 -_08073858: .4byte gUnk_03003F80 +_08073858: .4byte gLinkState _0807385C: .4byte gUnk_0811BC38 _08073860: ldrb r0, [r4, #0xe] @@ -781,7 +781,7 @@ sub_08073884: @ 0x08073884 lsls r0, r0, #2 strb r0, [r4, #0x15] _080738A2: - ldr r2, _080738E0 @ =gUnk_03003F80 + ldr r2, _080738E0 @ =gLinkState ldr r1, _080738E4 @ =gUnk_0811BC40 ldrb r0, [r4, #0x14] lsrs r0, r0, #1 @@ -810,7 +810,7 @@ _080738A2: b _080738F0 .align 2, 0 _080738DC: .4byte gUnk_030010A0 -_080738E0: .4byte gUnk_03003F80 +_080738E0: .4byte gLinkState _080738E4: .4byte gUnk_0811BC40 _080738E8: .4byte gUnk_0813AD88 _080738EC: @@ -829,7 +829,7 @@ _08073900: .4byte 0xFFFFE800 sub_08073904: @ 0x08073904 push {lr} ldr r3, _0807391C @ =gUnk_0811BC48 - ldr r1, _08073920 @ =gUnk_03003F80 + ldr r1, _08073920 @ =gLinkState ldrb r2, [r1, #2] movs r1, #7 ands r1, r2 @@ -840,13 +840,13 @@ sub_08073904: @ 0x08073904 pop {pc} .align 2, 0 _0807391C: .4byte gUnk_0811BC48 -_08073920: .4byte gUnk_03003F80 +_08073920: .4byte gLinkState thumb_func_start sub_08073924 sub_08073924: @ 0x08073924 push {r4, lr} adds r4, r0, #0 - ldr r2, _08073964 @ =gUnk_03003F80 + ldr r2, _08073964 @ =gLinkState ldr r0, [r2, #0x30] movs r1, #0x80 lsls r1, r1, #0xb @@ -876,13 +876,13 @@ sub_08073924: @ 0x08073924 _08073962: pop {r4, pc} .align 2, 0 -_08073964: .4byte gUnk_03003F80 +_08073964: .4byte gLinkState thumb_func_start sub_08073968 sub_08073968: @ 0x08073968 push {r4, r5, lr} adds r5, r0, #0 - ldr r4, _08073998 @ =gUnk_03003F80 + ldr r4, _08073998 @ =gLinkState ldrb r1, [r4, #2] movs r0, #0xc0 ands r0, r1 @@ -905,7 +905,7 @@ _0807397C: ldr r0, _0807399C @ =0x0000041C b _080739BA .align 2, 0 -_08073998: .4byte gUnk_03003F80 +_08073998: .4byte gLinkState _0807399C: .4byte 0x0000041C _080739A0: movs r0, #0x80 @@ -925,7 +925,7 @@ _080739B8: _080739BA: strh r0, [r4, #8] _080739BC: - ldr r0, _080739E8 @ =gUnk_03003F80 + ldr r0, _080739E8 @ =gLinkState ldrb r1, [r0, #2] movs r0, #0xc0 ands r0, r1 @@ -937,7 +937,7 @@ _080739CE: movs r0, #0x7c bl PlaySFX _080739D4: - ldr r2, _080739E8 @ =gUnk_03003F80 + ldr r2, _080739E8 @ =gLinkState ldrb r1, [r2, #2] movs r0, #0xf8 ands r0, r1 @@ -947,13 +947,13 @@ _080739D4: pop {r4, r5, pc} .align 2, 0 _080739E4: .4byte 0x0000080C -_080739E8: .4byte gUnk_03003F80 +_080739E8: .4byte gLinkState thumb_func_start sub_080739EC sub_080739EC: @ 0x080739EC push {r4, r5, lr} adds r4, r0, #0 - ldr r1, _08073A14 @ =gUnk_03003F80 + ldr r1, _08073A14 @ =gLinkState ldrb r2, [r1, #2] movs r0, #0xc0 ands r0, r2 @@ -973,7 +973,7 @@ _08073A0E: lsls r2, r2, #6 b _08073A48 .align 2, 0 -_08073A14: .4byte gUnk_03003F80 +_08073A14: .4byte gLinkState _08073A18: movs r2, #0xc rsbs r2, r2, #0 @@ -1061,7 +1061,7 @@ _08073AB4: ldr r0, [r0, #0x34] cmp r0, #0 beq _08073AC8 - ldr r1, _08073AD0 @ =gUnk_03003F80 + ldr r1, _08073AD0 @ =gLinkState movs r0, #0 strb r0, [r1, #2] adds r0, r4, #0 @@ -1070,7 +1070,7 @@ _08073AC8: pop {r4, pc} .align 2, 0 _08073ACC: .4byte gLinkEntity -_08073AD0: .4byte gUnk_03003F80 +_08073AD0: .4byte gLinkState thumb_func_start sub_08073AD4 sub_08073AD4: @ 0x08073AD4 @@ -1094,7 +1094,7 @@ sub_08073AD4: @ 0x08073AD4 orrs r1, r2 strb r1, [r4, #0x19] _08073AFA: - ldr r6, _08073B48 @ =gUnk_03003F80 + ldr r6, _08073B48 @ =gLinkState ldrb r5, [r6, #2] movs r0, #0xc1 rsbs r0, r0, #0 @@ -1120,7 +1120,7 @@ _08073AFA: adds r0, r4, #0 bl sub_08073B60 _08073B32: - ldr r2, _08073B48 @ =gUnk_03003F80 + ldr r2, _08073B48 @ =gLinkState adds r0, r5, #1 strb r0, [r2, #2] ldr r0, [r2, #0x30] @@ -1131,7 +1131,7 @@ _08073B32: ldr r0, _08073B4C @ =0x00000424 b _08073B54 .align 2, 0 -_08073B48: .4byte gUnk_03003F80 +_08073B48: .4byte gLinkState _08073B4C: .4byte 0x00000424 _08073B50: movs r0, #0x82 @@ -1148,7 +1148,7 @@ _08073B5C: sub_08073B60: @ 0x08073B60 push {r4, r5, lr} adds r5, r0, #0 - ldr r4, _08073B88 @ =gUnk_03003F80 + ldr r4, _08073B88 @ =gLinkState movs r0, #0 strb r0, [r4, #0x1b] strb r0, [r4, #4] @@ -1165,13 +1165,13 @@ sub_08073B60: @ 0x08073B60 _08073B86: pop {r4, r5, pc} .align 2, 0 -_08073B88: .4byte gUnk_03003F80 +_08073B88: .4byte gLinkState thumb_func_start sub_08073B8C sub_08073B8C: @ 0x08073B8C push {r4, r5, lr} adds r4, r0, #0 - ldr r5, _08073BCC @ =gUnk_03003F80 + ldr r5, _08073BCC @ =gLinkState ldrb r0, [r5, #4] cmp r0, #0 beq _08073C04 @@ -1201,7 +1201,7 @@ _08073BB8: strb r0, [r4, #0xe] b _08073C28 .align 2, 0 -_08073BCC: .4byte gUnk_03003F80 +_08073BCC: .4byte gLinkState _08073BD0: movs r1, #0x80 lsls r1, r1, #7 @@ -1232,7 +1232,7 @@ _08073C04: bl sub_08073B60 b _08073C28 _08073C0C: - ldr r1, _08073C2C @ =gUnk_03003F80 + ldr r1, _08073C2C @ =gLinkState ldrb r0, [r1, #2] adds r0, #1 strb r0, [r1, #2] @@ -1247,13 +1247,13 @@ _08073C0C: _08073C28: pop {r4, r5, pc} .align 2, 0 -_08073C2C: .4byte gUnk_03003F80 +_08073C2C: .4byte gLinkState thumb_func_start sub_08073C30 sub_08073C30: @ 0x08073C30 push {lr} adds r2, r0, #0 - ldr r0, _08073C54 @ =gUnk_03003F80 + ldr r0, _08073C54 @ =gLinkState ldrb r0, [r0, #4] cmp r0, #0 beq _08073C4A @@ -1269,7 +1269,7 @@ _08073C4A: bl sub_08073B60 b _08073C66 .align 2, 0 -_08073C54: .4byte gUnk_03003F80 +_08073C54: .4byte gLinkState _08073C58: ldrb r0, [r2, #0x10] movs r1, #0x80 @@ -1297,7 +1297,7 @@ _08073C7C: .4byte gUnk_0811BC60 sub_08073C80: @ 0x08073C80 push {r4, r5, r6, r7, lr} adds r4, r0, #0 - ldr r2, _08073D00 @ =gUnk_03003F80 + ldr r2, _08073D00 @ =gLinkState ldr r0, [r2, #0x30] movs r1, #0x80 orrs r0, r1 @@ -1358,7 +1358,7 @@ sub_08073C80: @ 0x08073C80 strb r6, [r4, #0xd] b _08073D1E .align 2, 0 -_08073D00: .4byte gUnk_03003F80 +_08073D00: .4byte gLinkState _08073D04: .4byte 0x00000C18 _08073D08: .4byte gUnk_0811BC80 _08073D0C: .4byte gRoomControls @@ -1377,7 +1377,7 @@ sub_08073D20: @ 0x08073D20 mov r7, r8 push {r7} adds r4, r0, #0 - ldr r5, _08073D70 @ =gUnk_03003F80 + ldr r5, _08073D70 @ =gLinkState movs r0, #0xa8 adds r0, r0, r5 mov r8, r0 @@ -1412,7 +1412,7 @@ _08073D60: bl sub_08079708 b _08073EFC .align 2, 0 -_08073D70: .4byte gUnk_03003F80 +_08073D70: .4byte gLinkState _08073D74: bl sub_08078EFC adds r6, r0, #0 @@ -1504,10 +1504,10 @@ _08073E10: adds r1, r0, #0 cmp r1, #0 bne _08073E32 - ldr r0, _08073E74 @ =gUnk_03003F80 + ldr r0, _08073E74 @ =gLinkState strb r1, [r0, #2] _08073E32: - ldr r2, _08073E74 @ =gUnk_03003F80 + ldr r2, _08073E74 @ =gLinkState ldrb r1, [r2, #7] movs r3, #0x80 adds r0, r3, #0 @@ -1538,7 +1538,7 @@ _08073E32: bl sub_08079E08 b _08073E90 .align 2, 0 -_08073E74: .4byte gUnk_03003F80 +_08073E74: .4byte gLinkState _08073E78: ldrb r1, [r2, #0xd] strb r1, [r4, #0x15] @@ -1552,7 +1552,7 @@ _08073E78: strb r0, [r1] bl sub_08079E08 _08073E90: - ldr r5, _08073EF0 @ =gUnk_03003F80 + ldr r5, _08073EF0 @ =gLinkState ldrb r0, [r5, #0xb] cmp r0, #0 bne _08073E9E @@ -1595,7 +1595,7 @@ _08073EDC: bl sub_08008AC6 b _08073EFC .align 2, 0 -_08073EF0: .4byte gUnk_03003F80 +_08073EF0: .4byte gLinkState _08073EF4: adds r1, r5, #0 adds r1, #0xa8 @@ -1633,7 +1633,7 @@ sub_08073F04: @ 0x08073F04 movs r1, #0x80 lsls r1, r1, #1 strh r1, [r0, #0x24] - ldr r2, _08073F48 @ =gUnk_03003F80 + ldr r2, _08073F48 @ =gLinkState ldr r0, [r2, #0x30] movs r1, #0x81 rsbs r1, r1, #0 @@ -1642,7 +1642,7 @@ sub_08073F04: @ 0x08073F04 bl sub_08077B2C pop {pc} .align 2, 0 -_08073F48: .4byte gUnk_03003F80 +_08073F48: .4byte gLinkState thumb_func_start sub_08073F4C sub_08073F4C: @ 0x08073F4C @@ -1703,13 +1703,13 @@ _08073F88: strb r0, [r4, #0x19] adds r0, r4, #0 bl sub_08074018 - ldr r1, _08073FC8 @ =gUnk_03003F80 + ldr r1, _08073FC8 @ =gLinkState ldr r0, _08073FCC @ =0x0000073C strh r0, [r1, #8] _08073FC6: pop {r4, r5, pc} .align 2, 0 -_08073FC8: .4byte gUnk_03003F80 +_08073FC8: .4byte gLinkState _08073FCC: .4byte 0x0000073C thumb_func_start sub_08073FD0 @@ -1833,7 +1833,7 @@ sub_08074060: @ 0x08074060 movs r0, #0x80 lsls r0, r0, #0xa str r0, [r4, #0x20] - ldr r1, _080740C8 @ =gUnk_03003F80 + ldr r1, _080740C8 @ =gLinkState ldr r0, _080740CC @ =0x0000080C strh r0, [r1, #8] adds r0, r4, #0 @@ -1841,7 +1841,7 @@ sub_08074060: @ 0x08074060 b _080740D6 .align 2, 0 _080740C4: .4byte gUnk_08114F88 -_080740C8: .4byte gUnk_03003F80 +_080740C8: .4byte gLinkState _080740CC: .4byte 0x0000080C _080740D0: adds r0, r4, #0 @@ -1976,7 +1976,7 @@ _080741C2: thumb_func_start sub_080741C4 sub_080741C4: @ 0x080741C4 push {lr} - ldr r0, _080741F0 @ =gUnk_03003F80 + ldr r0, _080741F0 @ =gLinkState ldrb r1, [r0, #2] adds r2, r0, #0 cmp r1, #0 @@ -1999,7 +1999,7 @@ _080741E0: movs r0, #1 b _080741FA .align 2, 0 -_080741F0: .4byte gUnk_03003F80 +_080741F0: .4byte gLinkState _080741F4: .4byte gLinkEntity _080741F8: movs r0, #0 @@ -2026,13 +2026,13 @@ sub_08074200: @ 0x08074200 cmp r0, #3 beq _08074226 bl sub_08077B2C - ldr r1, _08074228 @ =gUnk_03003F80 + ldr r1, _08074228 @ =gLinkState movs r0, #3 strb r0, [r1, #0xc] _08074226: pop {r4, pc} .align 2, 0 -_08074228: .4byte gUnk_03003F80 +_08074228: .4byte gLinkState thumb_func_start sub_0807422C sub_0807422C: @ 0x0807422C @@ -2056,7 +2056,7 @@ sub_08074244: @ 0x08074244 adds r4, r0, #0 adds r6, r1, #0 adds r7, r2, #0 - ldr r5, _0807428C @ =gUnk_03003F80 + ldr r5, _0807428C @ =gLinkState ldrb r0, [r5, #0x12] subs r0, #0x28 lsls r0, r0, #0x18 @@ -2088,7 +2088,7 @@ _08074278: ldrb r0, [r5, #0xd] b _08074294 .align 2, 0 -_0807428C: .4byte gUnk_03003F80 +_0807428C: .4byte gLinkState _08074290: ldrb r0, [r4, #0x14] lsls r0, r0, #2 @@ -2098,7 +2098,7 @@ _08074294: cmp r7, r0 beq _080742A6 _0807429C: - ldr r1, _080742A8 @ =gUnk_03003F80 + ldr r1, _080742A8 @ =gLinkState adds r1, #0x80 ldrh r0, [r1] subs r0, #0x50 @@ -2106,13 +2106,13 @@ _0807429C: _080742A6: pop {r4, r5, r6, r7, pc} .align 2, 0 -_080742A8: .4byte gUnk_03003F80 +_080742A8: .4byte gLinkState thumb_func_start sub_080742AC sub_080742AC: @ 0x080742AC push {lr} adds r2, r0, #0 - ldr r0, _080742E0 @ =gUnk_03003F80 + ldr r0, _080742E0 @ =gLinkState adds r1, r0, #0 adds r1, #0x26 ldrb r0, [r1] @@ -2137,7 +2137,7 @@ _080742C0: strb r0, [r2] pop {pc} .align 2, 0 -_080742E0: .4byte gUnk_03003F80 +_080742E0: .4byte gLinkState thumb_func_start sub_080742E4 sub_080742E4: @ 0x080742E4 @@ -2146,7 +2146,7 @@ sub_080742E4: @ 0x080742E4 bl sub_080741C4 cmp r0, #0 bne _0807430E - ldr r2, _08074310 @ =gUnk_03003F80 + ldr r2, _08074310 @ =gLinkState ldr r0, [r2, #0x30] movs r1, #0x80 ands r0, r1 @@ -2159,11 +2159,11 @@ sub_080742E4: @ 0x080742E4 movs r1, #0xe movs r2, #0 movs r3, #0 - bl sub_080A2988 + bl CreateObjectWithParent _0807430E: pop {r4, pc} .align 2, 0 -_08074310: .4byte gUnk_03003F80 +_08074310: .4byte gLinkState thumb_func_start sub_08074314 sub_08074314: @ 0x08074314 @@ -2252,7 +2252,7 @@ _080743A0: thumb_func_start sub_080743A4 sub_080743A4: @ 0x080743A4 push {lr} - ldr r3, _080743D0 @ =gUnk_03003F80 + ldr r3, _080743D0 @ =gLinkState ldr r1, [r3, #0x30] movs r2, #0x40 orrs r1, r2 @@ -2273,7 +2273,7 @@ sub_080743A4: @ 0x080743A4 bl sub_08077B2C pop {pc} .align 2, 0 -_080743D0: .4byte gUnk_03003F80 +_080743D0: .4byte gLinkState thumb_func_start sub_080743D4 sub_080743D4: @ 0x080743D4 @@ -2297,7 +2297,7 @@ sub_080743D4: @ 0x080743D4 strh r0, [r5, #0x24] movs r0, #0x10 strb r0, [r5, #0x15] - ldr r2, _08074418 @ =gUnk_03003F80 + ldr r2, _08074418 @ =gLinkState ldrb r1, [r2, #0xa] movs r0, #0x80 orrs r0, r1 @@ -2308,13 +2308,13 @@ sub_080743D4: @ 0x080743D4 _08074416: pop {r4, r5, pc} .align 2, 0 -_08074418: .4byte gUnk_03003F80 +_08074418: .4byte gLinkState thumb_func_start sub_0807441C sub_0807441C: @ 0x0807441C push {r4, r5, r6, r7, lr} adds r7, r0, #0 - ldr r0, _08074440 @ =gUnk_03003F80 + ldr r0, _08074440 @ =gLinkState adds r0, #0xa0 ldrb r0, [r0] cmp r0, #4 @@ -2329,7 +2329,7 @@ sub_0807441C: @ 0x0807441C ldrb r0, [r4] b _0807444E .align 2, 0 -_08074440: .4byte gUnk_03003F80 +_08074440: .4byte gLinkState _08074444: .4byte gUnk_02002A40 _08074448: adds r0, r6, #0 @@ -2388,7 +2388,7 @@ _080744A6: movs r1, #0x10 adds r2, r4, #0 movs r3, #0 - bl sub_080A2988 + bl CreateObjectWithParent adds r3, r0, #0 ldr r1, _080744D0 @ =gUnk_03004040 lsls r0, r4, #2 @@ -2398,12 +2398,12 @@ _080744A6: beq _08074502 adds r0, r7, #0 adds r1, r3, #0 - bl sub_0806FA24 + bl CopyPosition b _08074502 .align 2, 0 _080744D0: .4byte gUnk_03004040 _080744D4: - ldr r2, _08074504 @ =gUnk_03003F80 + ldr r2, _08074504 @ =gLinkState ldrb r1, [r2, #0x1b] movs r0, #0x80 orrs r0, r1 @@ -2428,7 +2428,7 @@ _080744D4: _08074502: pop {r4, r5, r6, r7, pc} .align 2, 0 -_08074504: .4byte gUnk_03003F80 +_08074504: .4byte gLinkState _08074508: .4byte 0xFFF00000 thumb_func_start sub_0807450C @@ -2438,7 +2438,7 @@ sub_0807450C: @ 0x0807450C bl sub_080741C4 cmp r0, #0 bne _0807457A - ldr r7, _0807457C @ =gUnk_03003F80 + ldr r7, _0807457C @ =gLinkState ldrb r0, [r7, #0x14] cmp r0, #0 bne _0807457A @@ -2487,7 +2487,7 @@ _08074568: _0807457A: pop {r4, r5, r6, r7, pc} .align 2, 0 -_0807457C: .4byte gUnk_03003F80 +_0807457C: .4byte gLinkState _08074580: .4byte 0x0000FFF0 thumb_func_start sub_08074584 @@ -2497,7 +2497,7 @@ sub_08074584: @ 0x08074584 bl sub_080741C4 cmp r0, #0 bne _080745AC - ldr r0, _080745B0 @ =gUnk_03003F80 + ldr r0, _080745B0 @ =gLinkState adds r0, #0x35 ldrb r1, [r0] movs r0, #0x80 @@ -2514,7 +2514,7 @@ _080745A8: _080745AC: pop {r4, pc} .align 2, 0 -_080745B0: .4byte gUnk_03003F80 +_080745B0: .4byte gLinkState thumb_func_start sub_080745B4 sub_080745B4: @ 0x080745B4 @@ -2523,7 +2523,7 @@ sub_080745B4: @ 0x080745B4 bl sub_080741C4 cmp r0, #0 bne _08074636 - ldr r0, _080745E4 @ =gUnk_03003F80 + ldr r0, _080745E4 @ =gLinkState mov ip, r0 ldr r3, [r0, #0x30] movs r0, #0x80 @@ -2540,7 +2540,7 @@ sub_080745B4: @ 0x080745B4 bl sub_0807479C b _08074636 .align 2, 0 -_080745E4: .4byte gUnk_03003F80 +_080745E4: .4byte gLinkState _080745E8: mov r5, ip adds r5, #0x26 @@ -2589,7 +2589,7 @@ _08074636: sub_08074638: @ 0x08074638 push {r4, r5, lr} adds r4, r0, #0 - ldr r0, _08074674 @ =gUnk_03003F80 + ldr r0, _08074674 @ =gLinkState adds r5, r0, #0 adds r5, #0x26 ldrb r0, [r5] @@ -2618,7 +2618,7 @@ sub_08074638: @ 0x08074638 _08074670: pop {r4, r5, pc} .align 2, 0 -_08074674: .4byte gUnk_03003F80 +_08074674: .4byte gLinkState thumb_func_start sub_08074678 sub_08074678: @ 0x08074678 @@ -2627,12 +2627,12 @@ sub_08074678: @ 0x08074678 bl sub_080741C4 cmp r0, #0 beq _08074690 - ldr r0, _0807468C @ =gUnk_03003F80 + ldr r0, _0807468C @ =gLinkState movs r1, #0 strb r1, [r0, #0x11] b _080746CE .align 2, 0 -_0807468C: .4byte gUnk_03003F80 +_0807468C: .4byte gLinkState _08074690: adds r0, r4, #0 adds r0, #0x45 @@ -2644,13 +2644,13 @@ _08074690: adds r1, r0, #0 cmp r1, #0 bne _080746B0 - ldr r0, _080746AC @ =gUnk_03003F80 + ldr r0, _080746AC @ =gLinkState strb r1, [r0, #0x11] b _080746CE .align 2, 0 -_080746AC: .4byte gUnk_03003F80 +_080746AC: .4byte gLinkState _080746B0: - ldr r3, _080746D4 @ =gUnk_03003F80 + ldr r3, _080746D4 @ =gLinkState ldr r1, [r3, #0x30] movs r0, #0x80 ands r1, r0 @@ -2670,11 +2670,11 @@ _080746CE: strb r1, [r0] b _08074792 .align 2, 0 -_080746D4: .4byte gUnk_03003F80 +_080746D4: .4byte gLinkState _080746D8: bl sub_08077B20 _080746DC: - ldr r1, _08074700 @ =gUnk_03003F80 + ldr r1, _08074700 @ =gLinkState adds r0, r1, #0 adds r0, #0x37 ldrb r0, [r0] @@ -2684,14 +2684,14 @@ _080746DC: movs r1, #0x70 movs r2, #0 movs r3, #0 - bl sub_080A2988 + bl CreateObjectWithParent adds r0, r4, #0 movs r1, #0x52 movs r2, #0 bl CreateFX b _08074714 .align 2, 0 -_08074700: .4byte gUnk_03003F80 +_08074700: .4byte gLinkState _08074704: adds r0, r1, #0 adds r0, #0x92 @@ -2717,7 +2717,7 @@ _08074720: ldr r0, _08074764 @ =0x00000161 bl PlaySFX _08074732: - ldr r2, _08074768 @ =gUnk_03003F80 + ldr r2, _08074768 @ =gLinkState adds r1, r2, #0 adds r1, #0x80 ldrh r0, [r1] @@ -2743,9 +2743,9 @@ _08074732: .align 2, 0 _08074760: .4byte gUnk_030010A0 _08074764: .4byte 0x00000161 -_08074768: .4byte gUnk_03003F80 +_08074768: .4byte gLinkState _0807476C: - ldr r2, _08074794 @ =gUnk_03003F80 + ldr r2, _08074794 @ =gLinkState ldr r0, [r2, #0x30] ldr r1, _08074798 @ =0xFFFBFFFF ands r0, r1 @@ -2764,7 +2764,7 @@ _0807476C: _08074792: pop {r4, pc} .align 2, 0 -_08074794: .4byte gUnk_03003F80 +_08074794: .4byte gLinkState _08074798: .4byte 0xFFFBFFFF thumb_func_start sub_0807479C @@ -2775,7 +2775,7 @@ sub_0807479C: @ 0x0807479C adds r2, r0, #0 cmp r2, #0 bne _08074804 - ldr r1, _080747C0 @ =gUnk_03003F80 + ldr r1, _080747C0 @ =gLinkState ldrb r0, [r1, #0x14] adds r3, r1, #0 cmp r0, #0 @@ -2786,7 +2786,7 @@ sub_0807479C: @ 0x0807479C strb r0, [r1] b _080747E6 .align 2, 0 -_080747C0: .4byte gUnk_03003F80 +_080747C0: .4byte gLinkState _080747C4: adds r0, r3, #0 adds r0, #0x26 @@ -2834,7 +2834,7 @@ sub_08074808: @ 0x08074808 adds r3, r0, #0 cmp r3, #1 bne _080748B8 - ldr r1, _08074838 @ =gUnk_03003F80 + ldr r1, _08074838 @ =gLinkState adds r2, r1, #0 adds r2, #0x26 ldrb r0, [r2] @@ -2849,7 +2849,7 @@ sub_08074808: @ 0x08074808 strb r3, [r2] b _08074840 .align 2, 0 -_08074838: .4byte gUnk_03003F80 +_08074838: .4byte gLinkState _0807483C: movs r0, #8 strb r0, [r2] @@ -2857,7 +2857,7 @@ _08074840: movs r1, #0 movs r0, #0 strh r0, [r6, #0x24] - ldr r0, _080748AC @ =gUnk_03003F80 + ldr r0, _080748AC @ =gLinkState adds r2, r0, #0 adds r2, #0x89 strb r1, [r2] @@ -2875,7 +2875,7 @@ _08074862: bl PlaySFX bl sub_08077B2C _0807486C: - ldr r5, _080748AC @ =gUnk_03003F80 + ldr r5, _080748AC @ =gLinkState adds r4, r5, #0 adds r4, #0x26 ldrb r1, [r4] @@ -2907,28 +2907,28 @@ _0807488A: strh r7, [r1] b _080748BE .align 2, 0 -_080748AC: .4byte gUnk_03003F80 +_080748AC: .4byte gLinkState _080748B0: .4byte 0x000001A5 _080748B4: .4byte 0xFFFFF3FF _080748B8: - ldr r1, _080748C0 @ =gUnk_03003F80 + ldr r1, _080748C0 @ =gLinkState movs r0, #0x14 strb r0, [r1, #0xc] _080748BE: pop {r4, r5, r6, r7, pc} .align 2, 0 -_080748C0: .4byte gUnk_03003F80 +_080748C0: .4byte gLinkState thumb_func_start sub_080748C4 sub_080748C4: @ 0x080748C4 - ldr r1, _080748D0 @ =gUnk_03003F80 + ldr r1, _080748D0 @ =gLinkState adds r1, #0x3f ldrb r0, [r1] subs r0, #2 strb r0, [r1] bx lr .align 2, 0 -_080748D0: .4byte gUnk_03003F80 +_080748D0: .4byte gLinkState thumb_func_start sub_080748D4 sub_080748D4: @ 0x080748D4 @@ -2951,7 +2951,7 @@ sub_080748DC: @ 0x080748DC ldrh r0, [r4, #0x32] adds r0, #0xc strh r0, [r4, #0x32] - ldr r0, _08074914 @ =gUnk_03003F80 + ldr r0, _08074914 @ =gLinkState ldr r0, [r0, #0x30] movs r1, #0x80 ands r0, r1 @@ -2966,7 +2966,7 @@ _0807490A: _08074910: pop {r4, pc} .align 2, 0 -_08074914: .4byte gUnk_03003F80 +_08074914: .4byte gLinkState thumb_func_start sub_08074918 sub_08074918: @ 0x08074918 @@ -2979,13 +2979,13 @@ sub_08074918: @ 0x08074918 bl sub_08079C30 cmp r0, #0 beq _08074934 - ldr r1, _08074938 @ =gUnk_03003F80 + ldr r1, _08074938 @ =gLinkState movs r0, #0x11 strb r0, [r1, #0xc] _08074934: pop {r4, pc} .align 2, 0 -_08074938: .4byte gUnk_03003F80 +_08074938: .4byte gLinkState thumb_func_start sub_0807493C sub_0807493C: @ 0x0807493C @@ -3007,12 +3007,12 @@ _08074952: movs r2, #0 orrs r0, r1 strh r0, [r4, #0x32] - ldr r0, _08074968 @ =gUnk_03003F80 + ldr r0, _08074968 @ =gLinkState strb r2, [r0, #0x12] _08074966: pop {r4, pc} .align 2, 0 -_08074968: .4byte gUnk_03003F80 +_08074968: .4byte gLinkState thumb_func_start sub_0807496C sub_0807496C: @ 0x0807496C @@ -3022,7 +3022,7 @@ sub_0807496C: @ 0x0807496C adds r3, r0, #0 cmp r3, #0 bne _080749A2 - ldr r0, _080749A4 @ =gUnk_03003F80 + ldr r0, _080749A4 @ =gLinkState strb r3, [r0, #2] ldrb r2, [r4, #0x19] movs r1, #0x3f @@ -3044,7 +3044,7 @@ sub_0807496C: @ 0x0807496C _080749A2: pop {r4, pc} .align 2, 0 -_080749A4: .4byte gUnk_03003F80 +_080749A4: .4byte gLinkState thumb_func_start sub_080749A8 sub_080749A8: @ 0x080749A8 @@ -3064,12 +3064,12 @@ _080749BE: ands r0, r1 movs r1, #0 strh r0, [r4, #0x32] - ldr r0, _080749D0 @ =gUnk_03003F80 + ldr r0, _080749D0 @ =gLinkState strb r1, [r0, #0x12] _080749CE: pop {r4, pc} .align 2, 0 -_080749D0: .4byte gUnk_03003F80 +_080749D0: .4byte gLinkState thumb_func_start sub_080749D4 sub_080749D4: @ 0x080749D4 @@ -3095,7 +3095,7 @@ sub_080749D4: @ 0x080749D4 adds r1, #0x38 movs r0, #3 strb r0, [r1] - ldr r5, _08074A2C @ =gUnk_03003F80 + ldr r5, _08074A2C @ =gLinkState adds r0, r5, #0 adds r0, #0x26 strb r3, [r0] @@ -3116,7 +3116,7 @@ sub_080749D4: @ 0x080749D4 strb r0, [r4, #0x15] b _08074A3C .align 2, 0 -_08074A2C: .4byte gUnk_03003F80 +_08074A2C: .4byte gLinkState _08074A30: .4byte 0x000002D3 _08074A34: movs r1, #0 @@ -3134,7 +3134,7 @@ _08074A44: .4byte 0x000002D6 sub_08074A48: @ 0x08074A48 push {r4, r5, lr} adds r4, r0, #0 - ldr r5, _08074A90 @ =gUnk_03003F80 + ldr r5, _08074A90 @ =gLinkState adds r0, r5, #0 adds r0, #0x26 ldrb r1, [r0] @@ -3146,7 +3146,7 @@ sub_08074A48: @ 0x08074A48 movs r1, #0 movs r2, #0x54 movs r3, #0 - bl sub_080A2988 + bl CreateObjectWithParent adds r1, r0, #0 cmp r1, #0 beq _08074A86 @@ -3165,7 +3165,7 @@ _08074A86: bl sub_0807479C pop {r4, r5, pc} .align 2, 0 -_08074A90: .4byte gUnk_03003F80 +_08074A90: .4byte gLinkState _08074A94: .4byte gLinkEntity thumb_func_start nullsub_504 @@ -3180,7 +3180,7 @@ sub_08074A9C: @ 0x08074A9C bl sub_080741C4 cmp r0, #0 bne _08074AF0 - ldr r2, _08074AE0 @ =gUnk_03003F80 + ldr r2, _08074AE0 @ =gLinkState adds r0, r2, #0 adds r0, #0x80 ldrh r1, [r0] @@ -3205,16 +3205,16 @@ _08074ACA: movs r1, #0x21 movs r2, #1 movs r3, #0 - bl sub_080A2988 + bl CreateObjectWithParent b _08074AF0 .align 2, 0 -_08074AE0: .4byte gUnk_03003F80 +_08074AE0: .4byte gLinkState _08074AE4: adds r0, r4, #0 movs r1, #0x21 movs r2, #1 movs r3, #1 - bl sub_080A2988 + bl CreateObjectWithParent _08074AF0: pop {r4, pc} .align 2, 0 @@ -3223,14 +3223,14 @@ _08074AF0: sub_08074AF4: @ 0x08074AF4 push {lr} adds r3, r0, #0 - ldr r1, _08074B04 @ =gUnk_03003F80 + ldr r1, _08074B04 @ =gLinkState ldrb r0, [r1, #0x1e] cmp r0, #0 bne _08074B08 ldrb r2, [r1, #0xd] b _08074B0C .align 2, 0 -_08074B04: .4byte gUnk_03003F80 +_08074B04: .4byte gLinkState _08074B08: ldrb r0, [r3, #0x14] lsls r2, r0, #2 @@ -3245,7 +3245,7 @@ _08074B0C: sub_08074B18: @ 0x08074B18 push {r4, r5, lr} adds r5, r0, #0 - ldr r4, _08074B40 @ =gUnk_03003F80 + ldr r4, _08074B40 @ =gLinkState ldrb r0, [r4, #0x14] cmp r0, #0 bne _08074B48 @@ -3261,7 +3261,7 @@ sub_08074B18: @ 0x08074B18 bl sub_08074200 b _08074B48 .align 2, 0 -_08074B40: .4byte gUnk_03003F80 +_08074B40: .4byte gLinkState _08074B44: movs r0, #0x1a strb r0, [r4, #0xc] @@ -3276,7 +3276,7 @@ sub_08074B4C: @ 0x08074B4C bl sub_080741C4 cmp r0, #0 bne _08074B6E - ldr r0, _08074B70 @ =gUnk_03003F80 + ldr r0, _08074B70 @ =gLinkState ldr r1, [r0, #0x30] movs r0, #0x80 ands r1, r0 @@ -3289,7 +3289,7 @@ sub_08074B4C: @ 0x08074B4C _08074B6E: pop {r4, pc} .align 2, 0 -_08074B70: .4byte gUnk_03003F80 +_08074B70: .4byte gLinkState thumb_func_start sub_08074B74 sub_08074B74: @ 0x08074B74 @@ -3298,7 +3298,7 @@ sub_08074B74: @ 0x08074B74 bl sub_080741C4 cmp r0, #0 bne _08074B9A - ldr r0, _08074B9C @ =gUnk_03003F80 + ldr r0, _08074B9C @ =gLinkState ldr r0, [r0, #0x30] movs r1, #0x80 ands r0, r1 @@ -3313,7 +3313,7 @@ sub_08074B74: @ 0x08074B74 _08074B9A: pop {r4, pc} .align 2, 0 -_08074B9C: .4byte gUnk_03003F80 +_08074B9C: .4byte gLinkState thumb_func_start sub_08074BA0 sub_08074BA0: @ 0x08074BA0 @@ -3322,7 +3322,7 @@ sub_08074BA0: @ 0x08074BA0 bl sub_080741C4 cmp r0, #0 bne _08074BC6 - ldr r0, _08074BC8 @ =gUnk_03003F80 + ldr r0, _08074BC8 @ =gLinkState ldr r0, [r0, #0x30] movs r1, #0x80 ands r0, r1 @@ -3337,7 +3337,7 @@ sub_08074BA0: @ 0x08074BA0 _08074BC6: pop {r4, pc} .align 2, 0 -_08074BC8: .4byte gUnk_03003F80 +_08074BC8: .4byte gLinkState thumb_func_start sub_08074BCC sub_08074BCC: @ 0x08074BCC @@ -3346,7 +3346,7 @@ sub_08074BCC: @ 0x08074BCC bl sub_080741C4 cmp r0, #0 bne _08074BF2 - ldr r0, _08074BF4 @ =gUnk_03003F80 + ldr r0, _08074BF4 @ =gLinkState ldr r0, [r0, #0x30] movs r1, #0x80 ands r0, r1 @@ -3361,7 +3361,7 @@ sub_08074BCC: @ 0x08074BCC _08074BF2: pop {r4, pc} .align 2, 0 -_08074BF4: .4byte gUnk_03003F80 +_08074BF4: .4byte gLinkState thumb_func_start sub_08074BF8 sub_08074BF8: @ 0x08074BF8 @@ -3378,7 +3378,7 @@ sub_08074BF8: @ 0x08074BF8 movs r0, #0xa0 lsls r0, r0, #1 strh r0, [r4, #0x24] - ldr r1, _08074C40 @ =gUnk_03003F80 + ldr r1, _08074C40 @ =gLinkState ldr r0, [r1, #0x30] movs r2, #0x80 lsls r2, r2, #0x12 @@ -3399,7 +3399,7 @@ sub_08074BF8: @ 0x08074BF8 bl sub_0806F69C pop {r4, pc} .align 2, 0 -_08074C40: .4byte gUnk_03003F80 +_08074C40: .4byte gLinkState thumb_func_start sub_08074C44 sub_08074C44: @ 0x08074C44 @@ -3428,7 +3428,7 @@ sub_08074C68: @ 0x08074C68 adds r6, #0x68 movs r2, #0 strb r2, [r6] - ldr r5, _08074CA0 @ =gUnk_03003F80 + ldr r5, _08074CA0 @ =gLinkState adds r0, r5, #0 adds r0, #0x38 ldrb r3, [r0] @@ -3448,7 +3448,7 @@ sub_08074C68: @ 0x08074C68 bl sub_08074CF8 b _08074CF2 .align 2, 0 -_08074CA0: .4byte gUnk_03003F80 +_08074CA0: .4byte gLinkState _08074CA4: .4byte gUnk_02022750 _08074CA8: ldrb r1, [r4, #0x18] @@ -3632,7 +3632,7 @@ _08074DE0: _08074DEA: b _08074EF0 _08074DEC: - ldr r2, _08074E00 @ =gUnk_03003F80 + ldr r2, _08074E00 @ =gLinkState ldr r0, [r2, #0x30] movs r1, #8 ands r0, r1 @@ -3643,12 +3643,12 @@ _08074DEC: strh r0, [r2, #8] b _08074EF0 .align 2, 0 -_08074E00: .4byte gUnk_03003F80 +_08074E00: .4byte gLinkState _08074E04: strh r7, [r2, #8] b _08074EF0 _08074E08: - ldr r2, _08074E1C @ =gUnk_03003F80 + ldr r2, _08074E1C @ =gLinkState ldr r0, [r2, #0x30] movs r1, #8 ands r0, r1 @@ -3658,7 +3658,7 @@ _08074E08: strh r0, [r2, #8] b _08074EF0 .align 2, 0 -_08074E1C: .4byte gUnk_03003F80 +_08074E1C: .4byte gLinkState _08074E20: .4byte 0x00000404 _08074E24: movs r0, #0x82 @@ -3666,7 +3666,7 @@ _08074E24: strh r0, [r2, #8] b _08074EF0 _08074E2C: - ldr r1, _08074E3C @ =gUnk_03003F80 + ldr r1, _08074E3C @ =gLinkState ldr r0, [r1, #0x30] ands r0, r2 cmp r0, #0 @@ -3674,7 +3674,7 @@ _08074E2C: ldr r0, _08074E40 @ =0x0000041C b _08074E46 .align 2, 0 -_08074E3C: .4byte gUnk_03003F80 +_08074E3C: .4byte gLinkState _08074E40: .4byte 0x0000041C _08074E44: ldr r0, _08074E50 @ =0x0000080C @@ -3837,7 +3837,7 @@ sub_08074F44: @ 0x08074F44 beq _08074F5A bl sub_0805E7BC _08074F5A: - ldr r2, _08074F78 @ =gUnk_03003F80 + ldr r2, _08074F78 @ =gLinkState adds r0, r2, #0 adds r0, #0x39 ldrb r0, [r0] @@ -3852,7 +3852,7 @@ _08074F5A: b _08074F84 .align 2, 0 _08074F74: .4byte gLinkEntity -_08074F78: .4byte gUnk_03003F80 +_08074F78: .4byte gLinkState _08074F7C: .4byte 0x0000073B _08074F80: ldr r0, _08074F88 @ =0x00000737 @@ -3894,7 +3894,7 @@ _08074FAC: strb r0, [r4, #0xe] movs r0, #4 strb r0, [r4, #0x14] - ldr r1, _08074FE0 @ =gUnk_03003F80 + ldr r1, _08074FE0 @ =gLinkState adds r0, r1, #0 adds r0, #0x39 ldrb r0, [r0] @@ -3905,7 +3905,7 @@ _08074FAC: b _08074FE8 .align 2, 0 _08074FDC: .4byte gUnk_02033280 -_08074FE0: .4byte gUnk_03003F80 +_08074FE0: .4byte gLinkState _08074FE4: movs r0, #0x80 lsls r0, r0, #1 @@ -3932,14 +3932,14 @@ sub_08074FEC: @ 0x08074FEC strb r0, [r1] movs r0, #4 strb r0, [r4, #0xe] - ldr r0, _08075018 @ =gUnk_03003F80 + ldr r0, _08075018 @ =gLinkState adds r0, #0x3a ldrb r0, [r0] strb r0, [r4, #0x14] _08075016: pop {r4, pc} .align 2, 0 -_08075018: .4byte gUnk_03003F80 +_08075018: .4byte gLinkState thumb_func_start sub_0807501C sub_0807501C: @ 0x0807501C @@ -3951,7 +3951,7 @@ sub_0807501C: @ 0x0807501C lsls r0, r0, #0x18 cmp r0, #0 bne _08075086 - ldr r1, _08075044 @ =gUnk_03003F80 + ldr r1, _08075044 @ =gLinkState adds r0, r1, #0 adds r0, #0x3a ldrb r0, [r0] @@ -3964,7 +3964,7 @@ sub_0807501C: @ 0x0807501C ldr r0, _08075048 @ =0x0000041C b _0807504E .align 2, 0 -_08075044: .4byte gUnk_03003F80 +_08075044: .4byte gLinkState _08075048: .4byte 0x0000041C _0807504C: ldr r0, _08075088 @ =0x0000080C @@ -4016,7 +4016,7 @@ sub_0807508C: @ 0x0807508C bl sub_0806F69C b _080750F2 _080750AA: - ldr r2, _080750BC @ =gUnk_03003F80 + ldr r2, _080750BC @ =gLinkState adds r0, r2, #0 adds r0, #0x39 ldrb r0, [r0] @@ -4026,7 +4026,7 @@ _080750AA: lsls r0, r0, #3 b _080750CE .align 2, 0 -_080750BC: .4byte gUnk_03003F80 +_080750BC: .4byte gLinkState _080750C0: ldr r0, [r2, #0x30] movs r1, #9 @@ -4082,7 +4082,7 @@ sub_08075110: @ 0x08075110 ldrb r1, [r0, #0x14] strb r1, [r0, #0xf] strb r3, [r0, #0x14] - ldr r2, _08075134 @ =gUnk_03003F80 + ldr r2, _08075134 @ =gLinkState ldr r0, _08075138 @ =0x00000734 strh r0, [r2, #8] ldr r0, [r2, #0x30] @@ -4092,7 +4092,7 @@ sub_08075110: @ 0x08075110 str r0, [r2, #0x30] bx lr .align 2, 0 -_08075134: .4byte gUnk_03003F80 +_08075134: .4byte gLinkState _08075138: .4byte 0x00000734 thumb_func_start sub_0807513C @@ -4151,13 +4151,13 @@ sub_0807518C: @ 0x0807518C ldrb r0, [r1] adds r0, #1 strb r0, [r1] - ldr r1, _080751AC @ =gUnk_03003F80 + ldr r1, _080751AC @ =gLinkState ldr r0, _080751B0 @ =0x000003C9 strh r0, [r1, #8] _080751AA: pop {pc} .align 2, 0 -_080751AC: .4byte gUnk_03003F80 +_080751AC: .4byte gLinkState _080751B0: .4byte 0x000003C9 thumb_func_start sub_080751B4 @@ -4180,14 +4180,14 @@ sub_080751B4: @ 0x080751B4 adds r0, r4, #0 adds r0, #0x68 strb r1, [r0] - ldr r1, _080751E4 @ =gUnk_03003F80 + ldr r1, _080751E4 @ =gLinkState movs r0, #0x80 lsls r0, r0, #1 strh r0, [r1, #8] _080751E2: pop {r4, pc} .align 2, 0 -_080751E4: .4byte gUnk_03003F80 +_080751E4: .4byte gLinkState thumb_func_start sub_080751E8 sub_080751E8: @ 0x080751E8 @@ -4203,7 +4203,7 @@ sub_080751E8: @ 0x080751E8 ldr r0, _08075234 @ =gLinkEntity adds r0, #0x84 str r4, [r0] - ldr r2, _08075238 @ =gUnk_03003F80 + ldr r2, _08075238 @ =gLinkState movs r1, #0 movs r0, #0x1c strb r0, [r2, #0xc] @@ -4228,13 +4228,13 @@ sub_080751E8: @ 0x080751E8 .align 2, 0 _08075230: .4byte gUnk_02022750 _08075234: .4byte gLinkEntity -_08075238: .4byte gUnk_03003F80 +_08075238: .4byte gLinkState _0807523C: .4byte gUnk_08009ECC _08075240: strb r4, [r3] ldr r6, _08075290 @ =gUnk_08009EF0 _08075244: - ldr r0, _08075294 @ =gUnk_03003F80 + ldr r0, _08075294 @ =gLinkState adds r0, #0x39 ldrb r0, [r0] movs r1, #0 @@ -4250,7 +4250,7 @@ _08075252: beq _08075270 ldr r0, _08075298 @ =gLinkEntity adds r1, r4, #0 - bl sub_0806FA24 + bl CopyPosition adds r0, r4, #0 adds r1, r6, #0 bl sub_0807DAD0 @@ -4271,7 +4271,7 @@ _0807528C: pop {r4, r5, r6, r7, pc} .align 2, 0 _08075290: .4byte gUnk_08009EF0 -_08075294: .4byte gUnk_03003F80 +_08075294: .4byte gLinkState _08075298: .4byte gLinkEntity thumb_func_start sub_0807529C @@ -4345,7 +4345,7 @@ sub_08075300: @ 0x08075300 thumb_func_start sub_08075314 sub_08075314: @ 0x08075314 push {lr} - ldr r2, _08075330 @ =gUnk_03003F80 + ldr r2, _08075330 @ =gLinkState adds r2, #0xa8 movs r3, #2 strb r3, [r2] @@ -4357,7 +4357,7 @@ sub_08075314: @ 0x08075314 bl _call_via_r2 pop {pc} .align 2, 0 -_08075330: .4byte gUnk_03003F80 +_08075330: .4byte gLinkState _08075334: .4byte gUnk_0811BD44 thumb_func_start sub_08075338 @@ -4365,7 +4365,7 @@ sub_08075338: @ 0x08075338 push {r4, r5, r6, r7, lr} adds r5, r0, #0 adds r7, r1, #0 - ldr r4, _0807536C @ =gUnk_03003F80 + ldr r4, _0807536C @ =gLinkState ldr r1, [r4, #0x30] movs r3, #0x80 adds r0, r1, #0 @@ -4386,7 +4386,7 @@ sub_08075338: @ 0x08075338 bl PlaySFX b _080754B4 .align 2, 0 -_0807536C: .4byte gUnk_03003F80 +_0807536C: .4byte gLinkState _08075370: ldrb r2, [r4, #2] cmp r2, #0 @@ -4552,7 +4552,7 @@ sub_080754B8: @ 0x080754B8 push {r4, r5, r6, r7, lr} adds r4, r0, #0 adds r6, r1, #0 - ldr r7, _080754D4 @ =gUnk_03003F80 + ldr r7, _080754D4 @ =gLinkState ldrb r1, [r7, #0x1b] movs r0, #0x80 ands r0, r1 @@ -4563,13 +4563,13 @@ sub_080754B8: @ 0x080754B8 bl sub_08075694 b _0807557E .align 2, 0 -_080754D4: .4byte gUnk_03003F80 +_080754D4: .4byte gLinkState _080754D8: ldrb r0, [r7, #4] cmp r0, #0 beq _08075576 adds r0, r4, #0 - bl sub_08077E24 + bl UpdateItemAnim ldrb r0, [r4, #0xe] cmp r0, #0 beq _080754F2 @@ -4619,7 +4619,7 @@ _08075538: ands r0, r1 cmp r0, #0 beq _0807557E - ldr r1, _08075568 @ =gUnk_03003F80 + ldr r1, _08075568 @ =gLinkState ldr r0, [r1, #0x30] ands r0, r2 cmp r0, #0 @@ -4637,7 +4637,7 @@ _0807555C: bl sub_080759B8 b _0807557E .align 2, 0 -_08075568: .4byte gUnk_03003F80 +_08075568: .4byte gLinkState _0807556C: adds r0, r4, #0 adds r1, r6, #0 @@ -4658,7 +4658,7 @@ sub_08075580: @ 0x08075580 bl sub_08077EFC cmp r0, #0 beq _080755E6 - ldr r2, _080755C8 @ =gUnk_03003F80 + ldr r2, _080755C8 @ =gLinkState ldrb r3, [r2, #2] cmp r3, #0 bne _080755E6 @@ -4687,7 +4687,7 @@ sub_08075580: @ 0x08075580 movs r0, #0x28 b _080755CE .align 2, 0 -_080755C8: .4byte gUnk_03003F80 +_080755C8: .4byte gLinkState _080755CC: movs r0, #0x50 _080755CE: @@ -4720,7 +4720,7 @@ sub_080755F0: @ 0x080755F0 bl sub_08077EC8 cmp r0, #0 bne _0807564A - ldr r2, _08075634 @ =gUnk_03003F80 + ldr r2, _08075634 @ =gLinkState ldrb r3, [r2, #0x1b] ldrb r0, [r2, #4] orrs r0, r3 @@ -4743,7 +4743,7 @@ sub_080755F0: @ 0x080755F0 strb r0, [r2, #0x1b] b _0807564A .align 2, 0 -_08075634: .4byte gUnk_03003F80 +_08075634: .4byte gLinkState _08075638: adds r0, r4, #0 adds r1, r5, #0 @@ -4761,7 +4761,7 @@ sub_0807564C: @ 0x0807564C push {r4, r5, r6, lr} adds r4, r0, #0 adds r6, r1, #0 - ldr r5, _08075668 @ =gUnk_03003F80 + ldr r5, _08075668 @ =gLinkState ldrb r1, [r5, #0x1b] ldrb r0, [r5, #4] orrs r0, r1 @@ -4772,7 +4772,7 @@ sub_0807564C: @ 0x0807564C bl sub_080759B8 b _08075692 .align 2, 0 -_08075668: .4byte gUnk_03003F80 +_08075668: .4byte gLinkState _0807566C: adds r0, r4, #0 bl sub_08077EC8 @@ -4801,7 +4801,7 @@ sub_08075694: @ 0x08075694 adds r5, r1, #0 movs r3, #1 strb r3, [r4, #7] - ldr r2, _080756C4 @ =gUnk_03003F80 + ldr r2, _080756C4 @ =gLinkState ldr r1, [r2, #0x30] movs r0, #0x80 lsls r0, r0, #0x14 @@ -4819,7 +4819,7 @@ sub_08075694: @ 0x08075694 bl sub_08077DF4 b _080756E0 .align 2, 0 -_080756C4: .4byte gUnk_03003F80 +_080756C4: .4byte gLinkState _080756C8: .4byte 0xF7FFFFFF _080756CC: .4byte 0xFFFBFFFF _080756D0: @@ -4831,7 +4831,7 @@ _080756D0: adds r0, r4, #0 bl sub_08077DF4 _080756E0: - ldr r2, _08075730 @ =gUnk_03003F80 + ldr r2, _08075730 @ =gLinkState movs r0, #8 asrs r0, r5 ldrb r1, [r2, #0xa] @@ -4870,7 +4870,7 @@ _08075726: bl PlaySFX pop {r4, r5, pc} .align 2, 0 -_08075730: .4byte gUnk_03003F80 +_08075730: .4byte gLinkState _08075734: .4byte gLinkEntity thumb_func_start sub_08075738 @@ -4878,7 +4878,7 @@ sub_08075738: @ 0x08075738 push {r4, r5, r6, r7, lr} adds r4, r0, #0 adds r6, r1, #0 - ldr r5, _08075750 @ =gUnk_03003F80 + ldr r5, _08075750 @ =gLinkState ldrb r0, [r5, #4] cmp r0, #0 bne _08075754 @@ -4886,10 +4886,10 @@ sub_08075738: @ 0x08075738 bl sub_080759B8 b _0807588C .align 2, 0 -_08075750: .4byte gUnk_03003F80 +_08075750: .4byte gLinkState _08075754: adds r0, r4, #0 - bl sub_08077E24 + bl UpdateItemAnim adds r0, r4, #0 bl sub_08077F10 cmp r0, #0 @@ -4995,7 +4995,7 @@ _08075816: ands r0, r1 cmp r0, #0 beq _0807587A - ldr r2, _08075894 @ =gUnk_03003F80 + ldr r2, _08075894 @ =gLinkState ldrb r3, [r2, #0x1b] movs r0, #0x80 ands r0, r3 @@ -5049,13 +5049,13 @@ _0807588C: pop {r4, r5, r6, r7, pc} .align 2, 0 _08075890: .4byte gLinkEntity -_08075894: .4byte gUnk_03003F80 +_08075894: .4byte gLinkState thumb_func_start sub_08075898 sub_08075898: @ 0x08075898 push {lr} adds r2, r0, #0 - ldr r0, _080758AC @ =gUnk_03003F80 + ldr r0, _080758AC @ =gLinkState ldrb r0, [r0, #4] cmp r0, #0 bne _080758AA @@ -5064,13 +5064,13 @@ sub_08075898: @ 0x08075898 _080758AA: pop {pc} .align 2, 0 -_080758AC: .4byte gUnk_03003F80 +_080758AC: .4byte gLinkState thumb_func_start sub_080758B0 sub_080758B0: @ 0x080758B0 push {r4, r5, lr} adds r4, r0, #0 - ldr r5, _080758C4 @ =gUnk_03003F80 + ldr r5, _080758C4 @ =gLinkState ldrb r0, [r5, #4] cmp r0, #0 bne _080758C8 @@ -5078,10 +5078,10 @@ sub_080758B0: @ 0x080758B0 bl sub_080759B8 b _080758F8 .align 2, 0 -_080758C4: .4byte gUnk_03003F80 +_080758C4: .4byte gLinkState _080758C8: adds r0, r4, #0 - bl sub_08077E24 + bl UpdateItemAnim ldrb r1, [r4, #0xe] movs r0, #0x80 ands r0, r1 @@ -5100,7 +5100,7 @@ _080758EA: movs r0, #5 _080758EC: strb r0, [r4, #4] - ldr r2, _080758FC @ =gUnk_03003F80 + ldr r2, _080758FC @ =gLinkState ldrb r1, [r2, #0x1b] movs r0, #0xf7 ands r0, r1 @@ -5108,14 +5108,14 @@ _080758EC: _080758F8: pop {r4, r5, pc} .align 2, 0 -_080758FC: .4byte gUnk_03003F80 +_080758FC: .4byte gLinkState thumb_func_start sub_08075900 sub_08075900: @ 0x08075900 push {r4, r5, r6, lr} adds r4, r0, #0 adds r6, r1, #0 - ldr r5, _08075920 @ =gUnk_03003F80 + ldr r5, _08075920 @ =gLinkState ldrb r0, [r5, #0x12] cmp r0, #0x11 bne _08075928 @@ -5128,11 +5128,11 @@ sub_08075900: @ 0x08075900 bl sub_080759B8 b _080759B2 .align 2, 0 -_08075920: .4byte gUnk_03003F80 +_08075920: .4byte gLinkState _08075924: .4byte 0xFFFBFFFF _08075928: adds r0, r4, #0 - bl sub_08077E24 + bl UpdateItemAnim ldrb r1, [r5, #0x1b] movs r2, #0x80 adds r0, r2, #0 @@ -5205,7 +5205,7 @@ sub_080759B8: @ 0x080759B8 push {r4, lr} adds r3, r0, #0 adds r4, r1, #0 - ldr r2, _080759E8 @ =gUnk_03003F80 + ldr r2, _080759E8 @ =gLinkState ldr r1, [r2, #0x30] movs r0, #0x80 ands r1, r0 @@ -5227,7 +5227,7 @@ _080759D0: bl sub_08077E78 pop {r4, pc} .align 2, 0 -_080759E8: .4byte gUnk_03003F80 +_080759E8: .4byte gLinkState _080759EC: .4byte gLinkEntity _080759F0: .4byte 0xF7FFFFFF @@ -5252,7 +5252,7 @@ sub_08075A0C: @ 0x08075A0C ldrb r0, [r4, #1] bl sub_0805436C adds r6, r0, #0 - ldr r1, _08075A64 @ =gUnk_03003F80 + ldr r1, _08075A64 @ =gLinkState ldrb r0, [r1, #5] cmp r0, #0 bne _08075A3E @@ -5274,7 +5274,7 @@ _08075A3E: movs r0, #0xf adds r1, r6, #0 bl sub_08054414 - ldr r0, _08075A64 @ =gUnk_03003F80 + ldr r0, _08075A64 @ =gLinkState ldr r1, [r0, #0x30] ldr r2, _08075A68 @ =0xFF7FFFFF ands r1, r2 @@ -5287,7 +5287,7 @@ _08075A3E: bl sub_08077E78 b _08075AD0 .align 2, 0 -_08075A64: .4byte gUnk_03003F80 +_08075A64: .4byte gLinkState _08075A68: .4byte 0xFF7FFFFF _08075A6C: ldrb r1, [r4, #9] @@ -5315,7 +5315,7 @@ _08075A6C: movs r1, #0x45 movs r2, #1 movs r3, #0 - bl sub_080A2988 + bl CreateObjectWithParent adds r2, r0, #0 cmp r2, #0 beq _08075AD0 @@ -5346,7 +5346,7 @@ sub_08075ADC: @ 0x08075ADC push {r4, r5, lr} adds r4, r0, #0 adds r5, r1, #0 - ldr r2, _08075B44 @ =gUnk_03003F80 + ldr r2, _08075B44 @ =gLinkState ldr r0, [r2, #0x2c] cmp r0, #0 bne _08075B08 @@ -5370,7 +5370,7 @@ _08075B08: ldrb r0, [r4, #4] adds r0, #1 strb r0, [r4, #4] - ldr r3, _08075B44 @ =gUnk_03003F80 + ldr r3, _08075B44 @ =gLinkState ldr r0, [r3, #0x30] movs r1, #0x80 lsls r1, r1, #0x10 @@ -5395,11 +5395,11 @@ _08075B08: bl PlaySFX b _08075B52 .align 2, 0 -_08075B44: .4byte gUnk_03003F80 +_08075B44: .4byte gLinkState _08075B48: .4byte 0x0000013D _08075B4C: adds r0, r4, #0 - bl sub_08077E24 + bl UpdateItemAnim _08075B52: pop {r4, r5, pc} @@ -5411,7 +5411,7 @@ sub_08075B54: @ 0x08075B54 push {r6, r7} adds r6, r0, #0 mov sb, r1 - ldr r5, _08075BB0 @ =gUnk_03003F80 + ldr r5, _08075BB0 @ =gLinkState ldr r0, [r5, #0x30] movs r1, #0x88 lsls r1, r1, #1 @@ -5448,10 +5448,10 @@ _08075B86: bl PlaySFX b _08075C80 .align 2, 0 -_08075BB0: .4byte gUnk_03003F80 +_08075BB0: .4byte gLinkState _08075BB4: .4byte 0xFF7FFFFF _08075BB8: - ldr r0, _08075C88 @ =gUnk_03003F80 + ldr r0, _08075C88 @ =gLinkState mov r8, r0 ldrb r0, [r0, #0xc] cmp r0, #0x18 @@ -5513,7 +5513,7 @@ _08075BB8: movs r1, #0x45 movs r2, #1 movs r3, #0 - bl sub_080A2988 + bl CreateObjectWithParent adds r2, r0, #0 cmp r2, #0 beq _08075C60 @@ -5555,7 +5555,7 @@ _08075C80: mov sb, r4 pop {r4, r5, r6, r7, pc} .align 2, 0 -_08075C88: .4byte gUnk_03003F80 +_08075C88: .4byte gLinkState _08075C8C: .4byte gLinkEntity _08075C90: .4byte gUnk_08126EEC _08075C94: .4byte gRoomControls @@ -5566,7 +5566,7 @@ sub_08075C9C: @ 0x08075C9C push {r4, r5, lr} adds r4, r0, #0 adds r5, r1, #0 - bl sub_08077E24 + bl UpdateItemAnim ldrb r1, [r4, #0xe] movs r0, #0x10 ands r0, r1 @@ -5595,7 +5595,7 @@ _08075CCA: ldrb r0, [r4, #4] subs r0, #1 strb r0, [r4, #4] - ldr r2, _08075D00 @ =gUnk_03003F80 + ldr r2, _08075D00 @ =gLinkState movs r1, #8 asrs r1, r5 mvns r1, r1 @@ -5610,7 +5610,7 @@ _08075CCA: .align 2, 0 _08075CF8: .4byte gLinkEntity _08075CFC: .4byte gUnk_08126EEC -_08075D00: .4byte gUnk_03003F80 +_08075D00: .4byte gLinkState _08075D04: ldr r1, _08075D10 @ =gLinkEntity adds r1, #0x7a @@ -5640,7 +5640,7 @@ sub_08075D2C: @ 0x08075D2C push {r4, r5, r6, lr} adds r4, r0, #0 adds r6, r1, #0 - ldr r5, _08075D74 @ =gUnk_03003F80 + ldr r5, _08075D74 @ =gLinkState ldrb r1, [r5, #4] movs r0, #8 ands r0, r1 @@ -5669,7 +5669,7 @@ sub_08075D2C: @ 0x08075D2C strb r0, [r5, #4] b _08075D84 .align 2, 0 -_08075D74: .4byte gUnk_03003F80 +_08075D74: .4byte gLinkState _08075D78: .4byte gLinkEntity _08075D7C: adds r0, r4, #0 @@ -5684,7 +5684,7 @@ sub_08075D88: @ 0x08075D88 push {r4, r5, lr} adds r4, r0, #0 adds r5, r1, #0 - ldr r2, _08075DBC @ =gUnk_03003F80 + ldr r2, _08075DBC @ =gLinkState ldrb r1, [r2, #4] movs r3, #0x80 adds r0, r3, #0 @@ -5707,10 +5707,10 @@ sub_08075D88: @ 0x08075D88 bl sub_08078F60 b _08075DD8 .align 2, 0 -_08075DBC: .4byte gUnk_03003F80 +_08075DBC: .4byte gLinkState _08075DC0: adds r0, r4, #0 - bl sub_08077E24 + bl UpdateItemAnim ldrb r1, [r4, #0xe] movs r0, #0x80 ands r0, r1 @@ -5742,7 +5742,7 @@ sub_08075DF4: @ 0x08075DF4 push {r4, r5, r6, lr} adds r4, r0, #0 adds r5, r1, #0 - ldr r6, _08075E2C @ =gUnk_03003F80 + ldr r6, _08075E2C @ =gLinkState ldrb r1, [r6, #4] movs r0, #8 ands r0, r1 @@ -5765,7 +5765,7 @@ sub_08075DF4: @ 0x08075DF4 strb r0, [r1] b _08075E3C .align 2, 0 -_08075E2C: .4byte gUnk_03003F80 +_08075E2C: .4byte gLinkState _08075E30: .4byte gLinkEntity _08075E34: adds r0, r4, #0 @@ -5782,7 +5782,7 @@ sub_08075E40: @ 0x08075E40 push {r7} adds r4, r0, #0 mov r8, r1 - ldr r0, _08075EA0 @ =gUnk_03003F80 + ldr r0, _08075EA0 @ =gLinkState adds r1, r0, #0 adds r1, #0x21 ldrb r1, [r1] @@ -5798,7 +5798,7 @@ sub_08075E40: @ 0x08075E40 cmp r7, #0 bne _08075EA8 adds r0, r4, #0 - bl sub_08077E24 + bl UpdateItemAnim ldrb r1, [r4, #0xe] adds r0, r5, #0 ands r0, r1 @@ -5824,7 +5824,7 @@ sub_08075E40: @ 0x08075E40 strb r0, [r6, #0xa] b _08075EB8 .align 2, 0 -_08075EA0: .4byte gUnk_03003F80 +_08075EA0: .4byte gLinkState _08075EA4: .4byte gUnk_02002A40 _08075EA8: adds r1, r6, #0 @@ -5854,7 +5854,7 @@ sub_08075EC0: @ 0x08075EC0 beq _08075F0C cmp r5, #0 beq _08075F0C - ldr r2, _08075F08 @ =gUnk_03003F80 + ldr r2, _08075F08 @ =gLinkState ldrb r1, [r2, #4] movs r0, #0x80 ands r0, r1 @@ -5876,9 +5876,9 @@ _08075EF0: b _08075F32 .align 2, 0 _08075F04: .4byte gUnk_02002A40 -_08075F08: .4byte gUnk_03003F80 +_08075F08: .4byte gLinkState _08075F0C: - ldr r2, _08075F34 @ =gUnk_03003F80 + ldr r2, _08075F34 @ =gLinkState movs r0, #8 asrs r0, r6 ldrb r1, [r2, #0xa] @@ -5899,14 +5899,14 @@ _08075F0C: _08075F32: pop {r4, r5, r6, pc} .align 2, 0 -_08075F34: .4byte gUnk_03003F80 +_08075F34: .4byte gLinkState thumb_func_start sub_08075F38 sub_08075F38: @ 0x08075F38 push {r4, lr} adds r4, r0, #0 adds r3, r1, #0 - ldr r2, _08075F6C @ =gUnk_03003F80 + ldr r2, _08075F6C @ =gLinkState ldrb r1, [r2, #4] movs r0, #0x80 ands r0, r1 @@ -5918,7 +5918,7 @@ sub_08075F38: @ 0x08075F38 cmp r0, #0 beq _08075F70 adds r0, r4, #0 - bl sub_08077E24 + bl UpdateItemAnim ldrb r1, [r4, #0xe] movs r0, #1 ands r0, r1 @@ -5928,7 +5928,7 @@ sub_08075F38: @ 0x08075F38 strb r0, [r4, #4] b _08075F80 .align 2, 0 -_08075F6C: .4byte gUnk_03003F80 +_08075F6C: .4byte gLinkState _08075F70: adds r1, r2, #0 adds r1, #0x21 @@ -5946,7 +5946,7 @@ sub_08075F84: @ 0x08075F84 push {r4, r5, lr} adds r4, r0, #0 adds r5, r1, #0 - ldr r2, _08075FB4 @ =gUnk_03003F80 + ldr r2, _08075FB4 @ =gLinkState ldrb r1, [r2, #4] movs r0, #0x80 ands r0, r1 @@ -5966,10 +5966,10 @@ sub_08075F84: @ 0x08075F84 bl sub_08077E3C b _08075FBE .align 2, 0 -_08075FB4: .4byte gUnk_03003F80 +_08075FB4: .4byte gLinkState _08075FB8: adds r0, r4, #0 - bl sub_08077E24 + bl UpdateItemAnim _08075FBE: ldrb r1, [r4, #0xe] movs r0, #0x80 @@ -5977,7 +5977,7 @@ _08075FBE: cmp r0, #0 beq _08075FD8 _08075FC8: - ldr r0, _08075FDC @ =gUnk_03003F80 + ldr r0, _08075FDC @ =gLinkState adds r0, #0x21 movs r1, #0 strb r1, [r0] @@ -5987,7 +5987,7 @@ _08075FC8: _08075FD8: pop {r4, r5, pc} .align 2, 0 -_08075FDC: .4byte gUnk_03003F80 +_08075FDC: .4byte gLinkState thumb_func_start sub_08075FE0 sub_08075FE0: @ 0x08075FE0 @@ -6007,7 +6007,7 @@ sub_08075FF8: @ 0x08075FF8 push {r4, r5, r6, r7, lr} adds r6, r0, #0 adds r7, r1, #0 - ldr r0, _08076018 @ =gUnk_03003F80 + ldr r0, _08076018 @ =gLinkState ldrb r1, [r0, #2] ldrb r0, [r0, #4] orrs r0, r1 @@ -6020,7 +6020,7 @@ sub_08075FF8: @ 0x08075FF8 bl sub_0805EB00 b _08076026 .align 2, 0 -_08076018: .4byte gUnk_03003F80 +_08076018: .4byte gLinkState _0807601C: adds r5, #1 adds r0, r4, #0 @@ -6060,7 +6060,7 @@ _08076036: bl PositionRelative movs r0, #1 rsbs r0, r0, #0 - bl sub_080542F4 + bl ModBombs movs r0, #0x82 lsls r0, r0, #1 bl PlaySFX @@ -6095,7 +6095,7 @@ _080760A4: strb r1, [r3, #0xd] _080760AA: str r3, [r4, #0x18] - ldr r0, _080760C4 @ =gUnk_03003F80 + ldr r0, _080760C4 @ =gLinkState ldr r0, [r0, #0x30] movs r1, #8 ands r0, r1 @@ -6106,7 +6106,7 @@ _080760AA: bl sub_08077DF4 b _080760D6 .align 2, 0 -_080760C4: .4byte gUnk_03003F80 +_080760C4: .4byte gLinkState _080760C8: .4byte 0x00000928 _080760CC: movs r1, #0xce @@ -6114,7 +6114,7 @@ _080760CC: adds r0, r4, #0 bl sub_08077DF4 _080760D6: - ldr r3, _08076130 @ =gUnk_03003F80 + ldr r3, _08076130 @ =gLinkState movs r0, #0 mov r8, r0 movs r7, #3 @@ -6159,7 +6159,7 @@ _080760D6: strb r0, [r4, #0xf] b _0807614A .align 2, 0 -_08076130: .4byte gUnk_03003F80 +_08076130: .4byte gLinkState _08076134: .4byte gLinkEntity _08076138: movs r1, #8 @@ -6239,7 +6239,7 @@ sub_080761C0: @ 0x080761C0 push {r4, r5, r6, lr} adds r4, r0, #0 adds r6, r1, #0 - ldr r5, _08076220 @ =gUnk_03003F80 + ldr r5, _08076220 @ =gLinkState ldrb r0, [r5, #4] cmp r0, #0 bne _080762B8 @@ -6283,7 +6283,7 @@ _080761DE: bl sub_08076088 b _080762C0 .align 2, 0 -_08076220: .4byte gUnk_03003F80 +_08076220: .4byte gLinkState _08076224: .4byte 0x00001201 _08076228: .4byte gLinkEntity _0807622C: .4byte gUnk_03003BE0 @@ -6366,20 +6366,20 @@ _080762C0: sub_080762C4: @ 0x080762C4 push {lr} str r1, [r0, #0x18] - ldr r1, _080762D4 @ =gUnk_03003F80 + ldr r1, _080762D4 @ =gLinkState strb r2, [r1, #5] adds r1, r3, #0 bl sub_08077D38 pop {pc} .align 2, 0 -_080762D4: .4byte gUnk_03003F80 +_080762D4: .4byte gLinkState thumb_func_start sub_080762D8 sub_080762D8: @ 0x080762D8 push {r4, r5, r6, r7, lr} adds r5, r0, #0 adds r6, r1, #0 - ldr r4, _08076334 @ =gUnk_03003F80 + ldr r4, _08076334 @ =gLinkState ldrb r0, [r4, #5] movs r1, #0xcf ands r1, r0 @@ -6422,11 +6422,11 @@ _080762F6: strb r0, [r2, #0xd] b _08076376 .align 2, 0 -_08076334: .4byte gUnk_03003F80 +_08076334: .4byte gLinkState _08076338: .4byte gLinkEntity _0807633C: .4byte 0x00000502 _08076340: - ldr r2, _08076364 @ =gUnk_03003F80 + ldr r2, _08076364 @ =gLinkState adds r1, r2, #0 adds r1, #0xa8 movs r0, #5 @@ -6445,7 +6445,7 @@ _0807635A: bne _08076394 b _08076380 .align 2, 0 -_08076364: .4byte gUnk_03003F80 +_08076364: .4byte gLinkState _08076368: .4byte gUnk_0200AF00 _0807636C: ldr r1, [r5, #0x18] @@ -6475,7 +6475,7 @@ _08076394: lsrs r0, r0, #1 lsls r3, r0, #1 adds r1, r3, r1 - ldr r4, _080763FC @ =gUnk_03003F80 + ldr r4, _080763FC @ =gLinkState adds r2, r4, #0 adds r2, #0x90 ldrh r0, [r1] @@ -6484,7 +6484,7 @@ _08076394: cmp r0, #0 beq _08076400 adds r0, r5, #0 - bl sub_08077E24 + bl UpdateItemAnim ldr r0, [r4, #0x30] movs r1, #8 ands r0, r1 @@ -6520,7 +6520,7 @@ _080763EC: .align 2, 0 _080763F4: .4byte gUnk_0811BE38 _080763F8: .4byte gLinkEntity -_080763FC: .4byte gUnk_03003F80 +_080763FC: .4byte gLinkState _08076400: ldr r0, _08076418 @ =gUnk_0811BE40 adds r0, r3, r0 @@ -6566,7 +6566,7 @@ _0807644C: cmp r1, r0 bne _08076476 adds r0, r5, #0 - bl sub_08077E24 + bl UpdateItemAnim b _08076486 .align 2, 0 _0807645C: .4byte 0x0000093C @@ -6621,7 +6621,7 @@ sub_08076488: @ 0x08076488 bne _08076510 _080764B8: adds r0, r4, #0 - bl sub_08077E24 + bl UpdateItemAnim ldrb r1, [r4, #0xe] movs r0, #0x80 ands r0, r1 @@ -6632,7 +6632,7 @@ _080764B8: movs r0, #0x80 orrs r0, r1 strb r0, [r2, #0x10] - ldr r2, _08076500 @ =gUnk_03003F80 + ldr r2, _08076500 @ =gLinkState movs r0, #4 strb r0, [r2, #5] movs r1, #8 @@ -6653,19 +6653,19 @@ _080764B8: .align 2, 0 _080764F8: .4byte gUnk_030010A0 _080764FC: .4byte gLinkEntity -_08076500: .4byte gUnk_03003F80 +_08076500: .4byte gLinkState _08076504: subs r0, #1 strb r0, [r4, #7] _08076508: - ldr r0, _08076514 @ =gUnk_03003F80 + ldr r0, _08076514 @ =gLinkState adds r0, #0xa8 movs r1, #4 strb r1, [r0] _08076510: pop {r4, r5, r6, pc} .align 2, 0 -_08076514: .4byte gUnk_03003F80 +_08076514: .4byte gLinkState thumb_func_start sub_08076518 sub_08076518: @ 0x08076518 @@ -6677,7 +6677,7 @@ sub_08076518: @ 0x08076518 bl sub_08077F64 cmp r0, #0 beq _080765D4 - ldr r5, _0807655C @ =gUnk_03003F80 + ldr r5, _0807655C @ =gLinkState adds r1, r5, #0 adds r1, #0xa8 movs r0, #4 @@ -6701,7 +6701,7 @@ sub_08076518: @ 0x08076518 bl sub_08077F50 b _080765D4 .align 2, 0 -_0807655C: .4byte gUnk_03003F80 +_0807655C: .4byte gLinkState _08076560: .4byte gLinkEntity _08076564: adds r0, r5, #0 @@ -6748,7 +6748,7 @@ _080765B4: adds r0, r4, #0 bl sub_08077DF4 _080765BE: - ldr r2, _080765DC @ =gUnk_03003F80 + ldr r2, _080765DC @ =gLinkState movs r1, #8 mov r0, r8 asrs r1, r0 @@ -6764,7 +6764,7 @@ _080765D4: mov r8, r3 pop {r4, r5, r6, r7, pc} .align 2, 0 -_080765DC: .4byte gUnk_03003F80 +_080765DC: .4byte gLinkState thumb_func_start sub_080765E0 sub_080765E0: @ 0x080765E0 @@ -6785,7 +6785,7 @@ sub_080765E0: @ 0x080765E0 b _08076608 _08076602: adds r0, r4, #0 - bl sub_08077E24 + bl UpdateItemAnim _08076608: pop {r4, r5, pc} .align 2, 0 @@ -6795,7 +6795,7 @@ sub_0807660C: @ 0x0807660C push {r4, r5, lr} adds r4, r0, #0 adds r5, r1, #0 - bl sub_08077E24 + bl UpdateItemAnim ldrb r0, [r4, #7] subs r0, #1 strb r0, [r4, #7] @@ -6803,12 +6803,12 @@ sub_0807660C: @ 0x0807660C lsrs r0, r0, #0x18 cmp r0, #0xff beq _0807662C - ldr r0, _0807663C @ =gUnk_03003F80 + ldr r0, _0807663C @ =gLinkState ldrb r0, [r0, #1] cmp r0, #0 bne _0807663A _0807662C: - ldr r1, _0807663C @ =gUnk_03003F80 + ldr r1, _0807663C @ =gLinkState movs r0, #0 strb r0, [r1, #1] adds r0, r4, #0 @@ -6817,7 +6817,7 @@ _0807662C: _0807663A: pop {r4, r5, pc} .align 2, 0 -_0807663C: .4byte gUnk_03003F80 +_0807663C: .4byte gLinkState thumb_func_start sub_08076640 sub_08076640: @ 0x08076640 @@ -6831,7 +6831,7 @@ sub_08076640: @ 0x08076640 bl sub_08076758 b _08076754 _08076654: - ldr r0, _080766BC @ =gUnk_03003F80 + ldr r0, _080766BC @ =gLinkState ldr r1, [r0, #0x2c] adds r2, r0, #0 cmp r1, #0 @@ -6886,7 +6886,7 @@ _08076694: str r0, [r5, #0x20] b _0807673C .align 2, 0 -_080766BC: .4byte gUnk_03003F80 +_080766BC: .4byte gLinkState _080766C0: .4byte gLinkEntity _080766C4: ldrb r0, [r2, #0x1b] @@ -6970,7 +6970,7 @@ _08076754: sub_08076758: @ 0x08076758 push {r4, r5, lr} adds r4, r0, #0 - ldr r5, _080767C0 @ =gUnk_03003F80 + ldr r5, _080767C0 @ =gLinkState movs r0, #0 strb r0, [r5, #0xe] ldrb r2, [r5, #2] @@ -7019,7 +7019,7 @@ sub_08076758: @ 0x08076758 bl PlaySFX b _080767FE .align 2, 0 -_080767C0: .4byte gUnk_03003F80 +_080767C0: .4byte gLinkState _080767C4: .4byte gLinkEntity _080767C8: ldr r1, _080767D4 @ =gLinkEntity @@ -7066,7 +7066,7 @@ sub_08076800: @ 0x08076800 ldrh r0, [r0] cmp r0, #0 beq _08076834 - ldr r1, _08076830 @ =gUnk_03003F80 + ldr r1, _08076830 @ =gLinkState movs r0, #0 strb r0, [r1, #0x1e] strb r0, [r1, #0xe] @@ -7076,7 +7076,7 @@ sub_08076800: @ 0x08076800 b _080768EC .align 2, 0 _0807682C: .4byte gLinkEntity -_08076830: .4byte gUnk_03003F80 +_08076830: .4byte gLinkState _08076834: ldrb r0, [r6, #7] subs r0, #1 @@ -7089,7 +7089,7 @@ _08076834: movs r0, #0x7d bl PlaySFX _0807684A: - ldr r2, _08076880 @ =gUnk_03003F80 + ldr r2, _08076880 @ =gLinkState ldr r0, [r2, #0x30] movs r1, #0x80 ands r0, r1 @@ -7116,7 +7116,7 @@ _0807684A: bl CreateFX b _080768DA .align 2, 0 -_08076880: .4byte gUnk_03003F80 +_08076880: .4byte gLinkState _08076884: adds r0, r4, #0 movs r1, #0x11 @@ -7131,11 +7131,11 @@ _08076884: ldrb r0, [r6, #4] cmp r0, #2 beq _080768DA - bl sub_08000E50 + bl Random adds r4, r0, #0 movs r0, #3 ands r4, r0 - bl sub_08000E50 + bl Random movs r7, #1 ands r0, r7 cmp r0, #0 @@ -7145,11 +7145,11 @@ _080768B8: ldrh r0, [r5, #0x32] adds r0, r0, r4 strh r0, [r5, #0x32] - bl sub_08000E50 + bl Random adds r4, r0, #0 mov r0, r8 ands r4, r0 - bl sub_08000E50 + bl Random ands r0, r7 cmp r0, #0 beq _080768D4 @@ -7180,7 +7180,7 @@ sub_080768F8: @ 0x080768F8 push {r4, r5, lr} adds r4, r0, #0 adds r5, r1, #0 - ldr r3, _08076934 @ =gUnk_03003F80 + ldr r3, _08076934 @ =gLinkState ldrb r1, [r3, #0x1c] ldrb r0, [r3, #4] orrs r1, r0 @@ -7208,7 +7208,7 @@ sub_080768F8: @ 0x080768F8 strb r0, [r4, #7] b _0807693C .align 2, 0 -_08076934: .4byte gUnk_03003F80 +_08076934: .4byte gLinkState _08076938: ldr r0, _08076950 @ =0x00000C14 strh r0, [r3, #8] @@ -7248,12 +7248,12 @@ _08076978: ldr r7, [r0, #0x34] cmp r7, #0 bne _08076A70 - ldr r5, _080769C8 @ =gUnk_03003F80 + ldr r5, _080769C8 @ =gLinkState ldrb r0, [r5, #0x1e] cmp r0, #0 beq _08076A70 adds r0, r4, #0 - bl sub_08077E24 + bl UpdateItemAnim ldr r0, [r5, #0x30] movs r1, #0x80 mov r8, r1 @@ -7261,7 +7261,7 @@ _08076978: cmp r0, #0 bne _080769A0 adds r0, r4, #0 - bl sub_08077E24 + bl UpdateItemAnim _080769A0: ldrb r0, [r5, #0x1e] adds r0, #1 @@ -7282,7 +7282,7 @@ _080769A0: b _08076A7E .align 2, 0 _080769C4: .4byte gLinkEntity -_080769C8: .4byte gUnk_03003F80 +_080769C8: .4byte gLinkState _080769CC: movs r0, #0x40 strb r0, [r5, #0x1e] @@ -7344,7 +7344,7 @@ _08076A3E: strb r1, [r0] b _08076A7E _08076A46: - ldr r0, _08076A5C @ =gUnk_03003F80 + ldr r0, _08076A5C @ =gLinkState ldr r0, [r0, #0x30] movs r1, #0x80 ands r0, r1 @@ -7355,17 +7355,17 @@ _08076A46: bl sub_08077DF4 b _08076A7E .align 2, 0 -_08076A5C: .4byte gUnk_03003F80 +_08076A5C: .4byte gLinkState _08076A60: - ldr r1, _08076A6C @ =gUnk_03003F80 + ldr r1, _08076A6C @ =gLinkState movs r0, #0xc1 lsls r0, r0, #4 strh r0, [r1, #8] b _08076A7E .align 2, 0 -_08076A6C: .4byte gUnk_03003F80 +_08076A6C: .4byte gLinkState _08076A70: - ldr r1, _08076A84 @ =gUnk_03003F80 + ldr r1, _08076A84 @ =gLinkState movs r0, #0 strb r0, [r1, #0x1e] adds r0, r4, #0 @@ -7376,7 +7376,7 @@ _08076A7E: mov r8, r3 pop {r4, r5, r6, r7, pc} .align 2, 0 -_08076A84: .4byte gUnk_03003F80 +_08076A84: .4byte gLinkState thumb_func_start sub_08076A88 sub_08076A88: @ 0x08076A88 @@ -7386,7 +7386,7 @@ sub_08076A88: @ 0x08076A88 bl sub_08077EFC cmp r0, #0 beq _08076B64 - ldr r1, _08076AB4 @ =gUnk_03003F80 + ldr r1, _08076AB4 @ =gLinkState ldrb r0, [r1, #0x1e] adds r3, r1, #0 cmp r0, #0 @@ -7401,7 +7401,7 @@ sub_08076A88: @ 0x08076A88 lsls r0, r0, #2 b _08076AC2 .align 2, 0 -_08076AB4: .4byte gUnk_03003F80 +_08076AB4: .4byte gLinkState _08076AB8: .4byte gLinkEntity _08076ABC: ldr r1, _08076B00 @ =gLinkEntity @@ -7486,12 +7486,12 @@ _08076B52: ldrb r0, [r4, #0xb] strb r0, [r3, #0xd] adds r0, r4, #0 - bl sub_08077E24 + bl UpdateItemAnim b _08076B72 .align 2, 0 _08076B60: .4byte gUnk_0811BE38 _08076B64: - ldr r1, _08076B74 @ =gUnk_03003F80 + ldr r1, _08076B74 @ =gLinkState movs r0, #0 strb r0, [r1, #0x1e] adds r0, r4, #0 @@ -7500,2031 +7500,4 @@ _08076B64: _08076B72: pop {r4, r5, r6, r7, pc} .align 2, 0 -_08076B74: .4byte gUnk_03003F80 - - thumb_func_start sub_08076B78 -sub_08076B78: @ 0x08076B78 - push {lr} - ldr r3, _08076B94 @ =gUnk_0811BDD8 - ldrb r2, [r0, #4] - lsls r2, r2, #2 - adds r2, r2, r3 - ldr r2, [r2] - bl _call_via_r2 - ldr r1, _08076B98 @ =gLinkEntity - adds r1, #0x7a - ldrh r0, [r1] - adds r0, #1 - strh r0, [r1] - pop {pc} - .align 2, 0 -_08076B94: .4byte gUnk_0811BDD8 -_08076B98: .4byte gLinkEntity - - thumb_func_start sub_08076B9C -sub_08076B9C: @ 0x08076B9C - push {r4, r5, lr} - adds r4, r0, #0 - adds r5, r1, #0 - ldr r3, _08076BB4 @ =gUnk_03003F80 - ldrb r0, [r3, #0xc] - cmp r0, #0x18 - bne _08076BB8 - adds r0, r4, #0 - bl sub_08077E78 - b _08076C1C - .align 2, 0 -_08076BB4: .4byte gUnk_03003F80 -_08076BB8: - ldrb r1, [r4, #9] - movs r0, #0xf - orrs r0, r1 - strb r0, [r4, #9] - ldr r1, _08076C20 @ =gLinkEntity - movs r0, #4 - strb r0, [r1, #0x14] - ldrb r2, [r1, #0x18] - subs r0, #0x45 - ands r0, r2 - strb r0, [r1, #0x18] - ldrb r2, [r1, #0x10] - movs r0, #0x7f - ands r0, r2 - strb r0, [r1, #0x10] - adds r1, #0x7a - movs r0, #2 - strh r0, [r1] - ldr r0, [r3, #0x30] - movs r1, #0x80 - lsls r1, r1, #0x15 - orrs r0, r1 - str r0, [r3, #0x30] - adds r1, r3, #0 - adds r1, #0x27 - movs r0, #0xff - strb r0, [r1] - ldr r1, _08076C24 @ =gUnk_02034490 - movs r0, #1 - strb r0, [r1] - movs r1, #8 - asrs r1, r5 - ldrb r2, [r3, #0xa] - adds r0, r1, #0 - orrs r0, r2 - strb r0, [r3, #0xa] - ldrb r0, [r3, #0xb] - orrs r1, r0 - strb r1, [r3, #0xb] - bl sub_08078F60 - adds r0, r4, #0 - adds r1, r5, #0 - bl sub_08077D38 - ldr r0, _08076C28 @ =0x00000216 - bl PlaySFX - bl sub_0805E544 -_08076C1C: - pop {r4, r5, pc} - .align 2, 0 -_08076C20: .4byte gLinkEntity -_08076C24: .4byte gUnk_02034490 -_08076C28: .4byte 0x00000216 - - thumb_func_start sub_08076C2C -sub_08076C2C: @ 0x08076C2C - push {r4, r5, r6, lr} - adds r5, r0, #0 - adds r6, r1, #0 - bl sub_08077E24 - ldrb r1, [r5, #0xe] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _08076C6E - ldr r0, _08076C70 @ =gLinkEntity - ldrb r2, [r0, #0x10] - movs r4, #0 - movs r1, #0x80 - orrs r1, r2 - strb r1, [r0, #0x10] - ldr r2, _08076C74 @ =gUnk_03003F80 - ldr r1, [r2, #0x30] - ldr r3, _08076C78 @ =0xEFFFFFFF - ands r1, r3 - str r1, [r2, #0x30] - adds r2, #0x27 - strb r4, [r2] - ldr r1, _08076C7C @ =gUnk_02034490 - strb r4, [r1] - bl sub_0809D700 - bl sub_0805E564 - adds r0, r5, #0 - adds r1, r6, #0 - bl sub_08077E78 -_08076C6E: - pop {r4, r5, r6, pc} - .align 2, 0 -_08076C70: .4byte gLinkEntity -_08076C74: .4byte gUnk_03003F80 -_08076C78: .4byte 0xEFFFFFFF -_08076C7C: .4byte gUnk_02034490 - - thumb_func_start sub_08076C80 -sub_08076C80: @ 0x08076C80 - push {lr} - ldr r3, _08076C94 @ =gUnk_0811BDE0 - ldrb r2, [r0, #4] - lsls r2, r2, #2 - adds r2, r2, r3 - ldr r2, [r2] - bl _call_via_r2 - pop {pc} - .align 2, 0 -_08076C94: .4byte gUnk_0811BDE0 - - thumb_func_start sub_08076C98 -sub_08076C98: @ 0x08076C98 - push {r4, lr} - adds r4, r0, #0 - ldrb r2, [r4, #9] - movs r0, #0xf - orrs r0, r2 - strb r0, [r4, #9] - adds r0, r4, #0 - bl sub_08077D38 - ldr r0, _08076CB8 @ =gLinkEntity - bl sub_0806F948 - adds r0, r4, #0 - bl sub_08077BB8 - pop {r4, pc} - .align 2, 0 -_08076CB8: .4byte gLinkEntity - - thumb_func_start sub_08076CBC -sub_08076CBC: @ 0x08076CBC - push {r4, lr} - adds r4, r0, #0 - ldrb r2, [r4, #0xe] - movs r0, #0x80 - ands r0, r2 - cmp r0, #0 - beq _08076CD2 - adds r0, r4, #0 - bl sub_08077E78 - b _08076CE8 -_08076CD2: - movs r0, #0x40 - ands r0, r2 - cmp r0, #0 - beq _08076CE2 - adds r0, r4, #0 - movs r1, #0x12 - bl sub_08077C3C -_08076CE2: - adds r0, r4, #0 - bl sub_08077E24 -_08076CE8: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_08076CEC -sub_08076CEC: @ 0x08076CEC - push {lr} - ldr r3, _08076D00 @ =gUnk_0811BDE8 - ldrb r2, [r0, #4] - lsls r2, r2, #2 - adds r2, r2, r3 - ldr r2, [r2] - bl _call_via_r2 - pop {pc} - .align 2, 0 -_08076D00: .4byte gUnk_0811BDE8 - - thumb_func_start sub_08076D04 -sub_08076D04: @ 0x08076D04 - push {r4, r5, lr} - adds r4, r0, #0 - adds r5, r1, #0 - ldr r1, _08076D2C @ =gUnk_03003F80 - movs r0, #0x81 - strb r0, [r1, #3] - movs r0, #2 - strb r0, [r4, #9] - ldr r0, _08076D30 @ =gLinkEntity - bl sub_0806F948 - adds r0, r4, #0 - adds r1, r5, #0 - bl sub_08077D38 - adds r0, r4, #0 - bl sub_08077BB8 - pop {r4, r5, pc} - .align 2, 0 -_08076D2C: .4byte gUnk_03003F80 -_08076D30: .4byte gLinkEntity - - thumb_func_start sub_08076D34 -sub_08076D34: @ 0x08076D34 - push {r4, r5, r6, lr} - adds r4, r0, #0 - adds r6, r1, #0 - bl sub_08077EFC - adds r1, r0, #0 - cmp r1, #0 - beq _08076D80 - ldr r5, _08076D78 @ =gUnk_03003F80 - ldrb r0, [r5, #3] - movs r1, #1 - orrs r1, r0 - strb r1, [r5, #3] - adds r0, r4, #0 - bl sub_08077E24 - ldrb r0, [r4, #0xe] - cmp r0, #0 - beq _08076D8C - ldrb r0, [r4, #4] - adds r0, #1 - strb r0, [r4, #4] - movs r0, #0 - strb r0, [r4, #0xf] - movs r1, #8 - asrs r1, r6 - ldrb r0, [r5, #0xa] - bics r0, r1 - strb r0, [r5, #0xa] - ldr r0, _08076D7C @ =0x0000015D - bl PlaySFX - b _08076D8C - .align 2, 0 -_08076D78: .4byte gUnk_03003F80 -_08076D7C: .4byte 0x0000015D -_08076D80: - ldr r0, _08076D90 @ =gUnk_03003F80 - strb r1, [r0, #3] - adds r0, r4, #0 - adds r1, r6, #0 - bl sub_08077E78 -_08076D8C: - pop {r4, r5, r6, pc} - .align 2, 0 -_08076D90: .4byte gUnk_03003F80 - - thumb_func_start sub_08076D94 -sub_08076D94: @ 0x08076D94 - push {r4, r5, lr} - adds r4, r0, #0 - adds r5, r1, #0 - bl sub_08077EFC - adds r1, r0, #0 - cmp r1, #0 - beq _08076DBC - ldr r2, _08076DB8 @ =gUnk_03003F80 - ldrb r1, [r2, #3] - movs r0, #1 - orrs r0, r1 - strb r0, [r2, #3] - adds r0, r4, #0 - bl sub_08077E24 - b _08076DC8 - .align 2, 0 -_08076DB8: .4byte gUnk_03003F80 -_08076DBC: - ldr r0, _08076DCC @ =gUnk_03003F80 - strb r1, [r0, #3] - adds r0, r4, #0 - adds r1, r5, #0 - bl sub_08077E78 -_08076DC8: - pop {r4, r5, pc} - .align 2, 0 -_08076DCC: .4byte gUnk_03003F80 - - thumb_func_start sub_08076DD0 -sub_08076DD0: @ 0x08076DD0 - push {lr} - ldr r2, _08076DEC @ =gUnk_03003F80 - adds r2, #0xa8 - movs r3, #3 - strb r3, [r2] - ldr r3, _08076DF0 @ =gUnk_0811BDF4 - ldrb r2, [r0, #4] - lsls r2, r2, #2 - adds r2, r2, r3 - ldr r2, [r2] - bl _call_via_r2 - pop {pc} - .align 2, 0 -_08076DEC: .4byte gUnk_03003F80 -_08076DF0: .4byte gUnk_0811BDF4 - - thumb_func_start sub_08076DF4 -sub_08076DF4: @ 0x08076DF4 - push {r4, r5, r6, r7, lr} - mov r7, r8 - push {r7} - adds r4, r0, #0 - adds r7, r1, #0 - ldr r0, _08076E48 @ =gLinkEntity - mov r8, r0 - bl sub_0807A894 - cmp r0, #0x29 - beq _08076E50 - ldr r6, _08076E4C @ =gUnk_03003F80 - ldrb r0, [r6, #0x12] - cmp r0, #0x12 - beq _08076E50 - cmp r0, #0x13 - beq _08076E50 - ldrb r5, [r6, #2] - cmp r5, #0 - bne _08076E50 - adds r0, r4, #0 - adds r1, r7, #0 - bl sub_08077D38 - strb r5, [r4, #7] - mov r1, r8 - ldrb r0, [r1, #0x14] - strb r0, [r4, #0xa] - ldrb r1, [r4, #9] - movs r0, #0x80 - orrs r0, r1 - adds r0, #1 - strb r0, [r4, #9] - movs r0, #1 - strb r0, [r6, #0x1d] - mov r1, r8 - str r5, [r1, #0x74] - strb r0, [r6, #0x1c] - adds r0, r4, #0 - bl sub_08077BB8 - b _08076E58 - .align 2, 0 -_08076E48: .4byte gLinkEntity -_08076E4C: .4byte gUnk_03003F80 -_08076E50: - adds r0, r4, #0 - adds r1, r7, #0 - bl sub_08077E78 -_08076E58: - pop {r3} - mov r8, r3 - pop {r4, r5, r6, r7, pc} - .align 2, 0 - - thumb_func_start sub_08076E60 -sub_08076E60: @ 0x08076E60 - push {r4, r5, r6, lr} - adds r4, r0, #0 - adds r6, r1, #0 - ldr r5, _08076EB4 @ =gUnk_03003F80 - ldrb r1, [r5, #0x1c] - movs r0, #0xf - ands r0, r1 - cmp r0, #0 - bne _08076E7A - adds r0, r4, #0 - adds r1, r6, #0 - bl sub_08077E78 -_08076E7A: - ldrb r1, [r4, #0xe] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _08076EC0 - movs r0, #2 - strb r0, [r4, #4] - ldr r1, _08076EB8 @ =0x00000504 - adds r0, r4, #0 - bl sub_08077DF4 - movs r1, #8 - asrs r1, r6 - ldrb r0, [r5, #0xa] - bics r0, r1 - strb r0, [r5, #0xa] - movs r0, #0x10 - movs r1, #0 - movs r2, #0 - movs r3, #0 - bl sub_08077CB8 - adds r1, r0, #0 - cmp r1, #0 - beq _08076EC6 - ldr r0, _08076EBC @ =gLinkEntity - str r0, [r1, #0x50] - b _08076EC6 - .align 2, 0 -_08076EB4: .4byte gUnk_03003F80 -_08076EB8: .4byte 0x00000504 -_08076EBC: .4byte gLinkEntity -_08076EC0: - adds r0, r4, #0 - bl sub_08077E24 -_08076EC6: - pop {r4, r5, r6, pc} - - thumb_func_start sub_08076EC8 -sub_08076EC8: @ 0x08076EC8 - push {r4, r5, r6, lr} - adds r4, r0, #0 - adds r6, r1, #0 - ldr r5, _08076EE4 @ =gUnk_03003F80 - ldrb r1, [r5, #0x1c] - movs r0, #0xf - ands r0, r1 - cmp r0, #0 - bne _08076EE8 - adds r0, r4, #0 - adds r1, r6, #0 - bl sub_08077E78 - b _08076F60 - .align 2, 0 -_08076EE4: .4byte gUnk_03003F80 -_08076EE8: - adds r0, r4, #0 - bl sub_08077EFC - cmp r0, #0 - beq _08076F50 - ldrb r0, [r4, #7] - cmp r0, #0xef - bls _08076EFC - movs r0, #3 - b _08076F0E -_08076EFC: - adds r0, #1 - strb r0, [r4, #7] - lsls r0, r0, #0x18 - lsrs r0, r0, #0x18 - cmp r0, #0x77 - bls _08076F0C - movs r0, #2 - b _08076F0E -_08076F0C: - movs r0, #1 -_08076F0E: - strb r0, [r5, #0x1d] - ldr r0, _08076F1C @ =gLinkEntity - ldrb r0, [r0, #0xd] - cmp r0, #0x1b - bne _08076F24 - ldr r1, _08076F20 @ =0x00000524 - b _08076F36 - .align 2, 0 -_08076F1C: .4byte gLinkEntity -_08076F20: .4byte 0x00000524 -_08076F24: - ldr r0, _08076F44 @ =gUnk_03003F80 - ldrb r1, [r0, #0xd] - movs r0, #0x80 - ands r0, r1 - movs r1, #0xa3 - lsls r1, r1, #3 - cmp r0, #0 - beq _08076F36 - subs r1, #0x14 -_08076F36: - ldrh r0, [r4, #0x10] - cmp r1, r0 - beq _08076F48 - adds r0, r4, #0 - bl sub_08077DF4 - b _08076F60 - .align 2, 0 -_08076F44: .4byte gUnk_03003F80 -_08076F48: - adds r0, r4, #0 - bl sub_08077E24 - b _08076F60 -_08076F50: - ldrb r0, [r4, #4] - adds r0, #1 - strb r0, [r4, #4] - movs r0, #8 - asrs r0, r6 - ldrb r1, [r5, #0xa] - orrs r0, r1 - strb r0, [r5, #0xa] -_08076F60: - pop {r4, r5, r6, pc} - .align 2, 0 - - thumb_func_start sub_08076F64 -sub_08076F64: @ 0x08076F64 - push {r4, r5, r6, lr} - adds r4, r0, #0 - adds r6, r1, #0 - ldr r1, _08076F84 @ =gUnk_03003F80 - ldrb r0, [r1, #0x1c] - movs r2, #0xf - ands r2, r0 - adds r3, r1, #0 - cmp r2, #7 - bls _08076F7A - b _080770EC -_08076F7A: - lsls r0, r2, #2 - ldr r1, _08076F88 @ =_08076F8C - adds r0, r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_08076F84: .4byte gUnk_03003F80 -_08076F88: .4byte _08076F8C -_08076F8C: @ jump table - .4byte _08077100 @ case 0 - .4byte _080770EC @ case 1 - .4byte _080770EC @ case 2 - .4byte _0807704C @ case 3 - .4byte _08077052 @ case 4 - .4byte _08076FAC @ case 5 - .4byte _080770B8 @ case 6 - .4byte _080770D0 @ case 7 -_08076FAC: - ldrb r1, [r4, #0xe] - movs r5, #0x80 - adds r0, r5, #0 - ands r0, r1 - cmp r0, #0 - beq _0807700E - ldrb r0, [r4, #8] - cmp r0, #0 - beq _08077004 - movs r0, #0 - strb r0, [r4, #8] - strb r0, [r4, #7] - movs r1, #1 - strb r1, [r3, #0x1d] - ldr r5, _08076FFC @ =gLinkEntity - str r0, [r5, #0x74] - strb r1, [r3, #0x1c] - movs r1, #8 - asrs r1, r6 - ldrb r0, [r3, #0xa] - bics r0, r1 - strb r0, [r3, #0xa] - movs r0, #2 - strb r0, [r4, #4] - ldr r1, _08077000 @ =0x00000504 - adds r0, r4, #0 - bl sub_08077DF4 - movs r0, #0x10 - movs r1, #0 - movs r2, #0 - movs r3, #0 - bl sub_08077CB8 - cmp r0, #0 - bne _08076FF6 - b _08077110 -_08076FF6: - str r5, [r0, #0x50] - b _08077110 - .align 2, 0 -_08076FFC: .4byte gLinkEntity -_08077000: .4byte 0x00000504 -_08077004: - movs r0, #6 - strb r0, [r3, #0x1c] - movs r1, #0xa2 - lsls r1, r1, #3 - b _080770F2 -_0807700E: - adds r0, r4, #0 - bl sub_08077EFC - cmp r0, #0 - beq _0807701C - movs r0, #1 - strb r0, [r4, #8] -_0807701C: - adds r0, r4, #0 - bl sub_08077E24 - ldr r0, _08077044 @ =gUnk_03003F80 - ldr r0, [r0, #0x30] - movs r1, #2 - ands r0, r1 - cmp r0, #0 - bne _08077110 - ldr r0, _08077048 @ =gLinkEntity - ldrb r1, [r0, #0x14] - lsls r1, r1, #2 - movs r2, #0x10 - eors r1, r2 - strb r1, [r0, #0x15] - strh r5, [r0, #0x24] - bl sub_08079E08 - b _08077110 - .align 2, 0 -_08077044: .4byte gUnk_03003F80 -_08077048: .4byte gLinkEntity -_0807704C: - ldr r1, _080770B0 @ =gUnk_03003F80 - movs r0, #4 - strb r0, [r1, #0x1c] -_08077052: - adds r0, r4, #0 - bl sub_08077EFC - cmp r0, #0 - beq _08077060 - movs r0, #1 - strb r0, [r4, #8] -_08077060: - adds r0, r4, #0 - bl sub_08077E24 - ldrb r1, [r4, #0xe] - movs r0, #1 - ands r0, r1 - cmp r0, #0 - beq _0807708C - ldr r1, _080770B0 @ =gUnk_03003F80 - movs r2, #0 - movs r0, #5 - strb r0, [r1, #0x1c] - ldr r0, _080770B4 @ =gLinkEntity - str r2, [r0, #0x70] - ldrb r0, [r1, #0x1d] - cmp r0, #0 - beq _0807708C - movs r0, #0x11 - movs r1, #0 - movs r3, #0 - bl sub_08077CB8 -_0807708C: - ldr r0, _080770B0 @ =gUnk_03003F80 - ldr r0, [r0, #0x30] - movs r1, #2 - ands r0, r1 - cmp r0, #0 - bne _08077110 - ldr r2, _080770B4 @ =gLinkEntity - ldrb r0, [r2, #0x14] - lsls r0, r0, #2 - movs r1, #0x10 - eors r0, r1 - strb r0, [r2, #0x15] - movs r0, #0x80 - strh r0, [r2, #0x24] - bl sub_08079E08 - b _08077110 - .align 2, 0 -_080770B0: .4byte gUnk_03003F80 -_080770B4: .4byte gLinkEntity -_080770B8: - adds r0, r4, #0 - bl sub_08077E24 - ldrb r1, [r4, #0xe] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _08077110 - ldr r3, _080770CC @ =gUnk_03003F80 - b _08077100 - .align 2, 0 -_080770CC: .4byte gUnk_03003F80 -_080770D0: - ldr r1, _080770E4 @ =0x00000514 - adds r0, r4, #0 - bl sub_08077DF4 - ldr r1, _080770E8 @ =gUnk_03003F80 - movs r2, #0 - movs r0, #3 - strb r0, [r1, #0x1c] - strb r2, [r1, #0x1d] - b _08077110 - .align 2, 0 -_080770E4: .4byte 0x00000514 -_080770E8: .4byte gUnk_03003F80 -_080770EC: - movs r0, #3 - strb r0, [r3, #0x1c] - ldr r1, _080770FC @ =0x00000514 -_080770F2: - adds r0, r4, #0 - bl sub_08077DF4 - b _08077110 - .align 2, 0 -_080770FC: .4byte 0x00000514 -_08077100: - movs r1, #0 - strb r1, [r3, #0x1c] - ldr r0, _08077114 @ =gLinkEntity - str r1, [r0, #0x70] - adds r0, r4, #0 - adds r1, r6, #0 - bl sub_08077E78 -_08077110: - pop {r4, r5, r6, pc} - .align 2, 0 -_08077114: .4byte gLinkEntity - - thumb_func_start sub_08077118 -sub_08077118: @ 0x08077118 - push {lr} - ldr r3, _0807712C @ =gUnk_0811BE04 - ldrb r2, [r0, #4] - lsls r2, r2, #2 - adds r2, r2, r3 - ldr r2, [r2] - bl _call_via_r2 - pop {pc} - .align 2, 0 -_0807712C: .4byte gUnk_0811BE04 - - thumb_func_start sub_08077130 -sub_08077130: @ 0x08077130 - push {r4, r5, r6, lr} - adds r4, r0, #0 - ldr r5, _0807718C @ =gUnk_03003F80 - ldrb r0, [r5, #2] - cmp r0, #0 - bne _080771B6 - adds r0, r4, #0 - bl sub_08077D38 - adds r0, r5, #0 - adds r0, #0x3d - movs r6, #1 - strb r6, [r0] - ldrb r1, [r4, #9] - movs r0, #0x80 - orrs r0, r1 - strb r0, [r4, #9] - bl sub_080774A0 - adds r5, r0, #0 - cmp r5, #0 - beq _080771A8 - ldrb r0, [r4, #7] - cmp r0, #0 - bne _080771C4 - ldr r1, _08077190 @ =0x0000050C - adds r0, r4, #0 - bl sub_08077DF4 - movs r0, #2 - strb r0, [r4, #4] - cmp r5, #0x56 - bne _080771C4 - ldr r2, _08077194 @ =gLinkEntity - ldrb r1, [r2, #0x14] - ands r0, r1 - cmp r0, #0 - beq _08077198 - ldrh r0, [r2, #0x32] - movs r1, #0x10 - rsbs r1, r1, #0 - ands r1, r0 - movs r0, #6 - orrs r1, r0 - strh r1, [r2, #0x32] - b _080771C4 - .align 2, 0 -_0807718C: .4byte gUnk_03003F80 -_08077190: .4byte 0x0000050C -_08077194: .4byte gLinkEntity -_08077198: - ldrh r0, [r2, #0x2e] - movs r1, #0x10 - rsbs r1, r1, #0 - ands r1, r0 - movs r0, #8 - orrs r1, r0 - strh r1, [r2, #0x2e] - b _080771C4 -_080771A8: - movs r1, #0xa1 - lsls r1, r1, #3 - adds r0, r4, #0 - bl sub_08077DF4 - strb r6, [r4, #4] - b _080771C4 -_080771B6: - adds r0, r4, #0 - bl sub_08077E78 - adds r1, r5, #0 - adds r1, #0x3d - movs r0, #0 - strb r0, [r1] -_080771C4: - pop {r4, r5, r6, pc} - .align 2, 0 - - thumb_func_start sub_080771C8 -sub_080771C8: @ 0x080771C8 - push {r4, r5, lr} - adds r4, r0, #0 - adds r5, r1, #0 - bl sub_08077E24 - ldrb r1, [r4, #0xe] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _080771F4 - adds r0, r4, #0 - adds r1, r5, #0 - bl sub_08077E78 - ldr r0, _080771F0 @ =gUnk_03003F80 - adds r0, #0x3d - movs r1, #0 - strb r1, [r0] - b _080772A4 - .align 2, 0 -_080771F0: .4byte gUnk_03003F80 -_080771F4: - movs r0, #0x20 - ands r0, r1 - cmp r0, #0 - beq _0807720E - ldrb r0, [r4, #8] - cmp r0, #0xff - bne _0807720E - ldr r0, _08077240 @ =gLinkEntity - ldrb r2, [r4, #0xe] - movs r1, #0x1e - movs r3, #1 - bl sub_080A2988 -_0807720E: - ldrb r1, [r4, #0xe] - movs r0, #0x10 - ands r0, r1 - cmp r0, #0 - beq _080772A4 - ldr r5, _08077240 @ =gLinkEntity - adds r0, r5, #0 - movs r1, #0xd - adds r2, r4, #0 - bl sub_0800875A - cmp r0, #0 - bne _08077248 - movs r1, #0xa4 - lsls r1, r1, #3 - adds r0, r4, #0 - bl sub_08077DF4 - movs r0, #3 - strb r0, [r4, #4] - ldr r0, _08077244 @ =0x00000107 - bl PlaySFX - b _080772A4 - .align 2, 0 -_08077240: .4byte gLinkEntity -_08077244: .4byte 0x00000107 -_08077248: - ldrb r0, [r4, #8] - cmp r0, #0xff - beq _0807728C - ldrb r3, [r4, #3] - adds r0, r5, #0 - movs r1, #0x1f - movs r2, #0 - bl sub_080A2988 - adds r3, r0, #0 - cmp r3, #0 - beq _0807729C - ldrb r0, [r4, #7] - movs r2, #0 - strb r0, [r3, #0xe] - ldrb r0, [r4, #8] - strb r0, [r3, #0xf] - ldrb r1, [r5, #0x14] - movs r0, #6 - ands r0, r1 - strb r0, [r3, #0x14] - adds r0, r5, #0 - adds r0, #0x5a - strb r2, [r0] - ldr r1, _08077288 @ =gUnk_0811BE14 - ldrb r0, [r4, #8] - adds r0, r0, r1 - ldrb r1, [r0] - adds r0, r5, #0 - adds r0, #0x59 - strb r1, [r0] - b _0807729C - .align 2, 0 -_08077288: .4byte gUnk_0811BE14 -_0807728C: - ldrb r0, [r4, #3] - cmp r0, #0xf - bne _0807729C - ldrb r0, [r4, #7] - cmp r0, #0x17 - bne _0807729C - movs r0, #0 - strb r0, [r4, #8] -_0807729C: - movs r0, #0x84 - lsls r0, r0, #1 - bl PlaySFX -_080772A4: - pop {r4, r5, pc} - .align 2, 0 - - thumb_func_start sub_080772A8 -sub_080772A8: @ 0x080772A8 - push {r4, r5, r6, lr} - adds r4, r0, #0 - adds r6, r1, #0 - ldrb r1, [r4, #0xe] - movs r0, #8 - ands r0, r1 - cmp r0, #0 - beq _080772C6 - adds r0, r4, #0 - bl sub_08077F10 - cmp r0, #0 - beq _080772C6 - movs r0, #1 - strb r0, [r4, #7] -_080772C6: - movs r0, #0x71 - bl GetInventoryValue - cmp r0, #1 - bne _08077318 - ldrb r1, [r4, #0xe] - movs r5, #7 - adds r0, r5, #0 - ands r0, r1 - cmp r0, #3 - beq _08077300 - adds r0, r4, #0 - movs r1, #2 - bl sub_08077E3C - ldr r3, _080772F8 @ =gLinkEntity - ldr r2, _080772FC @ =gUnk_0811BE16 - ldrb r1, [r4, #0xe] - adds r0, r5, #0 - ands r0, r1 - lsls r0, r0, #1 - adds r0, r0, r2 - ldrh r0, [r0] - lsls r0, r0, #1 - b _0807732E - .align 2, 0 -_080772F8: .4byte gLinkEntity -_080772FC: .4byte gUnk_0811BE16 -_08077300: - adds r0, r4, #0 - bl sub_08077E24 - ldr r3, _08077310 @ =gLinkEntity - ldr r2, _08077314 @ =gUnk_0811BE16 - ldrb r1, [r4, #0xe] - adds r0, r5, #0 - b _08077326 - .align 2, 0 -_08077310: .4byte gLinkEntity -_08077314: .4byte gUnk_0811BE16 -_08077318: - adds r0, r4, #0 - bl sub_08077E24 - ldr r3, _0807736C @ =gLinkEntity - ldr r2, _08077370 @ =gUnk_0811BE16 - ldrb r1, [r4, #0xe] - movs r0, #7 -_08077326: - ands r0, r1 - lsls r0, r0, #1 - adds r0, r0, r2 - ldrh r0, [r0] -_0807732E: - strh r0, [r3, #0x24] - ldr r5, _0807736C @ =gLinkEntity - ldrb r0, [r5, #0x14] - lsls r0, r0, #2 - strb r0, [r5, #0x15] - movs r1, #0x24 - ldrsh r0, [r5, r1] - cmp r0, #0 - beq _08077344 - bl sub_08079E08 -_08077344: - ldrb r1, [r4, #0xe] - movs r0, #0x10 - ands r0, r1 - cmp r0, #0 - beq _0807738C - ldrb r0, [r4, #7] - cmp r0, #0 - beq _08077374 - adds r0, r5, #0 - adds r0, #0x59 - movs r1, #1 - strb r1, [r0] - bl sub_080774A0 - cmp r0, #0 - beq _08077374 - movs r0, #0 - strb r0, [r4, #7] - b _0807743E - .align 2, 0 -_0807736C: .4byte gLinkEntity -_08077370: .4byte gUnk_0811BE16 -_08077374: - adds r0, r4, #0 - adds r1, r6, #0 - bl sub_08077E78 - ldr r0, _08077388 @ =gUnk_03003F80 - adds r0, #0x3d - movs r1, #0 - strb r1, [r0] - b _0807743E - .align 2, 0 -_08077388: .4byte gUnk_03003F80 -_0807738C: - movs r0, #0x60 - ands r0, r1 - cmp r0, #0 - beq _0807743E - adds r0, r5, #0 - adds r0, #0x59 - movs r6, #1 - strb r6, [r0] - adds r0, r5, #0 - bl sub_0807B5B0 - cmp r0, #0 - beq _080773BC - movs r0, #0x84 - lsls r0, r0, #1 - bl PlaySFX - ldrb r2, [r4, #0xe] - adds r0, r5, #0 - movs r1, #0x1e - movs r3, #0 - bl sub_080A2988 - b _0807743E -_080773BC: - ldr r1, _08077440 @ =0x0000051C - adds r0, r4, #0 - bl sub_08077DF4 - adds r0, r5, #0 - movs r1, #0x1d - movs r2, #0 - bl CreateFX - adds r3, r0, #0 - cmp r3, #0 - beq _080773F6 - ldrb r0, [r4, #0xa] - strb r0, [r3, #0x14] - adds r0, r5, #0 - adds r0, #0x29 - ldrb r1, [r0] - lsls r1, r1, #0x1d - lsrs r1, r1, #0x1d - subs r1, #1 - adds r3, #0x29 - movs r0, #7 - ands r1, r0 - ldrb r2, [r3] - movs r0, #8 - rsbs r0, r0, #0 - ands r0, r2 - orrs r0, r1 - strb r0, [r3] -_080773F6: - adds r0, r5, #0 - movs r1, #0x1d - movs r2, #0 - bl CreateFX - adds r3, r0, #0 - cmp r3, #0 - beq _08077432 - ldrb r0, [r4, #0xa] - strb r0, [r3, #0x14] - adds r0, r5, #0 - adds r0, #0x29 - ldrb r1, [r0] - lsls r1, r1, #0x1d - lsrs r1, r1, #0x1d - subs r1, #1 - movs r0, #0x29 - adds r0, r0, r3 - mov ip, r0 - movs r0, #7 - ands r1, r0 - mov r0, ip - ldrb r2, [r0] - movs r0, #8 - rsbs r0, r0, #0 - ands r0, r2 - orrs r0, r1 - mov r1, ip - strb r0, [r1] - strb r6, [r3, #0xf] -_08077432: - movs r0, #3 - strb r0, [r4, #4] - strb r6, [r4, #5] - ldr r0, _08077444 @ =0x00000119 - bl PlaySFX -_0807743E: - pop {r4, r5, r6, pc} - .align 2, 0 -_08077440: .4byte 0x0000051C -_08077444: .4byte 0x00000119 - - thumb_func_start sub_08077448 -sub_08077448: @ 0x08077448 - push {r4, r5, lr} - adds r4, r0, #0 - adds r5, r1, #0 - ldr r2, _08077498 @ =gLinkEntity - ldrb r0, [r2, #0x14] - lsls r0, r0, #2 - movs r1, #0x10 - eors r0, r1 - strb r0, [r2, #0x15] - movs r0, #0x80 - lsls r0, r0, #1 - strh r0, [r2, #0x24] - ldrb r1, [r4, #0xe] - movs r0, #1 - ands r0, r1 - cmp r0, #0 - beq _08077474 - ldrb r0, [r4, #5] - cmp r0, #0 - beq _08077474 - bl sub_08079E08 -_08077474: - adds r0, r4, #0 - bl sub_08077E24 - ldrb r1, [r4, #0xe] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _08077494 - ldr r0, _0807749C @ =gUnk_03003F80 - adds r0, #0x3d - movs r1, #0 - strb r1, [r0] - adds r0, r4, #0 - adds r1, r5, #0 - bl sub_08077E78 -_08077494: - pop {r4, r5, pc} - .align 2, 0 -_08077498: .4byte gLinkEntity -_0807749C: .4byte gUnk_03003F80 - - thumb_func_start sub_080774A0 -sub_080774A0: @ 0x080774A0 - push {r4, r5, r6, r7, lr} - ldr r3, _080774FC @ =gLinkEntity - movs r0, #0x2e - ldrsh r2, [r3, r0] - ldr r5, _08077500 @ =gUnk_0811BE1E - ldrb r0, [r3, #0x14] - movs r1, #6 - ands r1, r0 - adds r0, r1, r5 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - adds r2, r2, r0 - ldr r4, _08077504 @ =gRoomControls - ldrh r0, [r4, #6] - subs r2, r2, r0 - asrs r6, r2, #4 - movs r2, #0x3f - ands r6, r2 - movs r7, #0x32 - ldrsh r0, [r3, r7] - adds r1, #1 - adds r1, r1, r5 - ldrb r1, [r1] - lsls r1, r1, #0x18 - asrs r1, r1, #0x18 - adds r0, r0, r1 - ldrh r1, [r4, #8] - subs r0, r0, r1 - asrs r0, r0, #4 - ands r0, r2 - lsls r0, r0, #6 - orrs r6, r0 - adds r4, r3, #0 - adds r4, #0x38 - ldrb r1, [r4] - adds r0, r6, #0 - bl sub_080002E0 - cmp r0, #0x16 - bhi _080774F6 - cmp r0, #0xe - bhi _08077508 -_080774F6: - movs r0, #0 - b _0807751A - .align 2, 0 -_080774FC: .4byte gLinkEntity -_08077500: .4byte gUnk_0811BE1E -_08077504: .4byte gRoomControls -_08077508: - adds r0, r6, #0 - ldrb r1, [r4] - bl sub_080002C8 - cmp r0, #0x56 - bne _08077518 - movs r0, #0x56 - b _0807751A -_08077518: - movs r0, #1 -_0807751A: - pop {r4, r5, r6, r7, pc} - - thumb_func_start sub_0807751C -sub_0807751C: @ 0x0807751C - push {lr} - ldr r3, _08077530 @ =gUnk_0811BE28 - ldrb r2, [r0, #4] - lsls r2, r2, #2 - adds r2, r2, r3 - ldr r2, [r2] - bl _call_via_r2 - pop {pc} - .align 2, 0 -_08077530: .4byte gUnk_0811BE28 - - thumb_func_start sub_08077534 -sub_08077534: @ 0x08077534 - push {r4, lr} - adds r4, r0, #0 - bl sub_08077D38 - ldr r0, _08077570 @ =gLinkEntity - bl sub_0806F948 - adds r0, r4, #0 - bl sub_08077BB8 - ldrb r1, [r4, #9] - movs r0, #0xf - orrs r0, r1 - strb r0, [r4, #9] - ldrb r1, [r4, #1] - ldr r0, _08077574 @ =gUnk_02002A40 - adds r0, r0, r1 - adds r0, #0x9a - ldrb r0, [r0] - strb r0, [r4, #7] - ldrb r0, [r4, #7] - subs r0, #0x20 - cmp r0, #0x11 - bhi _080775F8 - lsls r0, r0, #2 - ldr r1, _08077578 @ =_0807757C - adds r0, r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_08077570: .4byte gLinkEntity -_08077574: .4byte gUnk_02002A40 -_08077578: .4byte _0807757C -_0807757C: @ jump table - .4byte _080775C4 @ case 0 - .4byte _080775D4 @ case 1 - .4byte _080775D4 @ case 2 - .4byte _080775D4 @ case 3 - .4byte _080775D4 @ case 4 - .4byte _080775D4 @ case 5 - .4byte _080775F8 @ case 6 - .4byte _080775F8 @ case 7 - .4byte _080775F8 @ case 8 - .4byte _080775D4 @ case 9 - .4byte _080775D4 @ case 10 - .4byte _080775D4 @ case 11 - .4byte _080775D4 @ case 12 - .4byte _080775D4 @ case 13 - .4byte _080775D4 @ case 14 - .4byte _080775F8 @ case 15 - .4byte _080775F8 @ case 16 - .4byte _080775F8 @ case 17 -_080775C4: - ldr r1, _080775D0 @ =0x00000614 - adds r0, r4, #0 - bl sub_08077DF4 - b _08077610 - .align 2, 0 -_080775D0: .4byte 0x00000614 -_080775D4: - movs r0, #3 - strb r0, [r4, #4] - ldr r1, _080775F0 @ =gLinkEntity - movs r0, #4 - strb r0, [r1, #0x14] - ldrb r2, [r1, #0x18] - subs r0, #0x45 - ands r0, r2 - strb r0, [r1, #0x18] - ldr r1, _080775F4 @ =0x000002DF - adds r0, r4, #0 - bl sub_08077DF4 - b _08077606 - .align 2, 0 -_080775F0: .4byte gLinkEntity -_080775F4: .4byte 0x000002DF -_080775F8: - movs r0, #3 - strb r0, [r4, #4] - movs r1, #0xc2 - lsls r1, r1, #3 - adds r0, r4, #0 - bl sub_08077DF4 -_08077606: - ldr r2, _08077614 @ =gLinkEntity - ldrb r1, [r2, #0x10] - movs r0, #0x7f - ands r0, r1 - strb r0, [r2, #0x10] -_08077610: - pop {r4, pc} - .align 2, 0 -_08077614: .4byte gLinkEntity - - thumb_func_start sub_08077618 -sub_08077618: @ 0x08077618 - push {r4, lr} - adds r4, r0, #0 - ldrb r1, [r4, #0xe] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _08077638 - movs r1, #0xc3 - lsls r1, r1, #3 - adds r0, r4, #0 - bl sub_08077DF4 - ldrb r0, [r4, #4] - adds r0, #1 - strb r0, [r4, #4] - b _0807763E -_08077638: - adds r0, r4, #0 - bl sub_08077E24 -_0807763E: - pop {r4, pc} - - thumb_func_start sub_08077640 -sub_08077640: @ 0x08077640 - push {r4, r5, lr} - adds r4, r0, #0 - adds r5, r1, #0 - bl sub_08077E24 - ldrb r1, [r4, #0xe] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _08077666 - ldr r2, _08077668 @ =gLinkEntity - ldrb r1, [r2, #0x10] - movs r0, #0x80 - orrs r0, r1 - strb r0, [r2, #0x10] - adds r0, r4, #0 - adds r1, r5, #0 - bl sub_08077E78 -_08077666: - pop {r4, r5, pc} - .align 2, 0 -_08077668: .4byte gLinkEntity - - thumb_func_start sub_0807766C -sub_0807766C: @ 0x0807766C - push {r4, r5, lr} - adds r4, r0, #0 - adds r5, r1, #0 - bl sub_08077E24 - ldrb r1, [r4, #0xe] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _08077692 - ldr r2, _08077694 @ =gLinkEntity - ldrb r1, [r2, #0x10] - movs r0, #0x80 - orrs r0, r1 - strb r0, [r2, #0x10] - adds r0, r4, #0 - adds r1, r5, #0 - bl sub_08077E78 -_08077692: - pop {r4, r5, pc} - .align 2, 0 -_08077694: .4byte gLinkEntity - - thumb_func_start sub_08077698 -sub_08077698: @ 0x08077698 - push {r4, r5, lr} - adds r4, r0, #0 - ldr r2, _0807771C @ =gUnk_03003F80 - ldrb r1, [r2, #3] - movs r0, #0xfe - ands r0, r1 - strb r0, [r2, #3] - ldrb r1, [r2, #4] - movs r0, #0xf - ands r0, r1 - strb r0, [r2, #4] - ldrb r0, [r2, #7] - ldrb r3, [r2, #2] - orrs r0, r3 - movs r1, #0x80 - ands r0, r1 - cmp r0, #0 - bne _08077700 - movs r0, #0x40 - ands r0, r3 - cmp r0, #0 - bne _08077700 - adds r0, r2, #0 - adds r0, #0x26 - ldrb r0, [r0] - cmp r0, #0 - bne _08077700 - adds r0, r4, #0 - bl sub_08077758 - cmp r0, #0 - beq _08077700 - bl sub_080777A0 - cmp r0, #0 - bne _08077700 - ldr r4, _08077720 @ =gUnk_02002A40 - adds r0, r4, #0 - adds r0, #0xb4 - ldrb r0, [r0] - movs r1, #1 - movs r2, #0 - bl sub_08077880 - adds r4, #0xb5 - ldrb r0, [r4] - movs r1, #2 - movs r2, #0 - bl sub_08077880 - bl sub_080778CC -_08077700: - movs r5, #0 - ldr r4, _08077724 @ =gUnk_03000B80 -_08077704: - ldrb r0, [r4, #9] - cmp r0, #0 - beq _08077712 - adds r0, r4, #0 - adds r1, r5, #0 - bl sub_080752E8 -_08077712: - adds r4, #0x1c - adds r5, #1 - cmp r5, #3 - bls _08077704 - pop {r4, r5, pc} - .align 2, 0 -_0807771C: .4byte gUnk_03003F80 -_08077720: .4byte gUnk_02002A40 -_08077724: .4byte gUnk_03000B80 - - thumb_func_start sub_08077728 -sub_08077728: @ 0x08077728 - push {lr} - cmp r0, #0 - bne _08077744 - ldr r0, _08077740 @ =gUnk_02002A40 - adds r0, #0xb4 - ldrb r0, [r0] - movs r1, #1 - movs r2, #1 - bl sub_08077880 - b _08077752 - .align 2, 0 -_08077740: .4byte gUnk_02002A40 -_08077744: - ldr r0, _08077754 @ =gUnk_02002A40 - adds r0, #0xb5 - ldrb r0, [r0] - movs r1, #2 - movs r2, #1 - bl sub_08077880 -_08077752: - pop {pc} - .align 2, 0 -_08077754: .4byte gUnk_02002A40 - - thumb_func_start sub_08077758 -sub_08077758: @ 0x08077758 - push {lr} - adds r3, r0, #0 - ldr r2, _08077794 @ =gUnk_03003F80 - ldr r1, [r2, #0x30] - movs r0, #0x80 - lsls r0, r0, #7 - ands r0, r1 - cmp r0, #0 - bne _0807779C - movs r0, #0xd5 - lsls r0, r0, #4 - ands r1, r0 - cmp r1, #0 - bne _08077798 - ldrb r0, [r2, #0x1e] - ldrb r1, [r2, #0x1a] - orrs r1, r0 - adds r0, r3, #0 - adds r0, #0x7a - ldrh r0, [r0] - orrs r1, r0 - cmp r1, #0 - bne _0807779C - adds r0, r3, #0 - adds r0, #0x42 - ldrb r0, [r0] - cmp r0, #0 - bne _0807779C - movs r0, #1 - b _0807779E - .align 2, 0 -_08077794: .4byte gUnk_03003F80 -_08077798: - bl sub_0807A108 -_0807779C: - movs r0, #0 -_0807779E: - pop {pc} - - thumb_func_start sub_080777A0 -sub_080777A0: @ 0x080777A0 - push {r4, lr} - ldr r3, _080777D0 @ =gUnk_03003F80 - adds r0, r3, #0 - adds r0, #0x92 - ldrh r1, [r0] - movs r4, #0x80 - adds r0, r4, #0 - ands r0, r1 - cmp r0, #0 - beq _08077870 - ldr r1, [r3, #0x30] - movs r0, #0x80 - lsls r0, r0, #0xf - ands r0, r1 - cmp r0, #0 - beq _080777D4 - adds r1, r3, #0 - adds r1, #0xa0 - movs r0, #1 - strb r0, [r1] - bl sub_0807A108 -_080777CC: - movs r0, #1 - b _0807787C - .align 2, 0 -_080777D0: .4byte gUnk_03003F80 -_080777D4: - ldr r2, _080777F4 @ =gUnk_02033A90 - ldrb r0, [r2, #0x18] - cmp r0, #2 - beq _080777FC - cmp r0, #3 - beq _08077810 - ldr r0, _080777F8 @ =gUnk_0200AF00 - adds r0, #0x2c - ldrb r0, [r0] - cmp r0, #0xc - bne _0807787A - adds r2, r3, #0 - ldrb r0, [r2, #0x1c] - cmp r0, #0 - bne _0807787A - b _08077838 - .align 2, 0 -_080777F4: .4byte gUnk_02033A90 -_080777F8: .4byte gUnk_0200AF00 -_080777FC: - ldrb r0, [r2, #0x1a] - cmp r0, #0 - bne _080777CC - ldr r1, _0807780C @ =gLinkEntity - ldrb r0, [r1, #0xd] - adds r0, #1 - strb r0, [r1, #0xd] - b _080777CC - .align 2, 0 -_0807780C: .4byte gLinkEntity -_08077810: - ldrb r0, [r2, #0x1a] - cmp r0, #0 - bne _0807787A - ands r1, r4 - cmp r1, #0 - beq _0807787A - ldr r0, _08077834 @ =gLinkEntity - ldrb r1, [r0, #0xd] - adds r1, #1 - strb r1, [r0, #0xd] - ldrb r2, [r0, #0x10] - movs r1, #0x7f - ands r1, r2 - strb r1, [r0, #0x10] - movs r1, #0xb4 - bl sub_0805E4E0 - b _080777CC - .align 2, 0 -_08077834: .4byte gLinkEntity -_08077838: - ldrb r0, [r2, #0x12] - cmp r0, #0x11 - beq _0807787A - adds r0, r2, #0 - adds r0, #0x90 - ldrh r1, [r0] - movs r0, #0xf0 - lsls r0, r0, #4 - ands r0, r1 - cmp r0, #0 - beq _0807787A - ldr r0, [r2, #0x30] - ldr r1, _0807786C @ =0x00040400 - ands r0, r1 - cmp r0, #0 - bne _0807787A - ldrb r0, [r2, #2] - cmp r0, #0 - bne _0807787A - ldrb r0, [r2, #4] - cmp r0, #0 - bne _0807787A - movs r0, #0x18 - strb r0, [r2, #0xc] - b _0807787A - .align 2, 0 -_0807786C: .4byte 0x00040400 -_08077870: - ldr r0, [r3, #0x30] - movs r1, #0x20 - ands r0, r1 - cmp r0, #0 - bne _080777CC -_0807787A: - movs r0, #0 -_0807787C: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_08077880 -sub_08077880: @ 0x08077880 - push {r4, r5, r6, lr} - adds r4, r0, #0 - adds r6, r1, #0 - subs r0, r4, #1 - cmp r0, #0x1e - bhi _080778C0 - lsls r0, r4, #1 - adds r0, r0, r4 - lsls r0, r0, #2 - ldr r1, _080778C4 @ =gUnk_0811BE48 - adds r5, r0, r1 - ldr r1, _080778C8 @ =gUnk_03004010 - ldrb r0, [r5] - cmp r0, #0 - beq _080778A0 - adds r1, #2 -_080778A0: - ldrh r0, [r1] - ands r0, r6 - cmp r0, #0 - bne _080778AC - cmp r2, #0 - beq _080778C0 -_080778AC: - adds r0, r4, #0 - bl sub_0807794C - adds r1, r0, #0 - cmp r1, #0 - beq _080778C0 - ldrb r0, [r5, #1] - strb r0, [r1, #9] - strb r4, [r1, #1] - strb r6, [r1, #3] -_080778C0: - pop {r4, r5, r6, pc} - .align 2, 0 -_080778C4: .4byte gUnk_0811BE48 -_080778C8: .4byte gUnk_03004010 - - thumb_func_start sub_080778CC -sub_080778CC: @ 0x080778CC - push {lr} - ldr r2, _08077920 @ =gUnk_03003F80 - ldr r0, [r2, #0x30] - ldr r1, _08077924 @ =0x000400A0 - ands r0, r1 - cmp r0, #0 - bne _0807791C - ldr r0, _08077928 @ =gLinkEntity - adds r0, #0x79 - ldrb r0, [r0] - cmp r0, #0 - bne _080778FA - ldrb r0, [r2, #5] - cmp r0, #0 - bne _080778FA - adds r0, r2, #0 - adds r0, #0x92 - ldrh r1, [r0] - movs r0, #0x80 - lsls r0, r0, #8 - ands r0, r1 - cmp r0, #0 - beq _0807791C -_080778FA: - bl sub_080789A8 - cmp r0, #0 - bne _08077910 - ldr r0, _08077920 @ =gUnk_03003F80 - adds r0, #0x90 - ldrh r1, [r0] - ldr r0, _0807792C @ =0x00000F03 - ands r0, r1 - cmp r0, #0 - bne _0807791C -_08077910: - movs r0, #0x1b - bl sub_0807794C - adds r1, r0, #0 - cmp r1, #0 - bne _08077930 -_0807791C: - movs r0, #0 - b _08077940 - .align 2, 0 -_08077920: .4byte gUnk_03003F80 -_08077924: .4byte 0x000400A0 -_08077928: .4byte gLinkEntity -_0807792C: .4byte 0x00000F03 -_08077930: - movs r0, #0x1b - strb r0, [r1, #1] - ldr r0, _08077944 @ =gUnk_0811BE48 - ldr r2, _08077948 @ =0x00000145 - adds r0, r0, r2 - ldrb r0, [r0] - strb r0, [r1, #9] - movs r0, #1 -_08077940: - pop {pc} - .align 2, 0 -_08077944: .4byte gUnk_0811BE48 -_08077948: .4byte 0x00000145 - - thumb_func_start sub_0807794C -sub_0807794C: @ 0x0807794C - push {lr} - adds r2, r0, #0 - ldr r0, _080779B8 @ =gUnk_03003F80 - ldrb r1, [r0, #0xc] - adds r3, r0, #0 - cmp r1, #0x18 - bne _0807795E - cmp r2, #0x1b - bne _080779B2 -_0807795E: - ldr r0, [r3, #0x30] - movs r1, #0x88 - lsls r1, r1, #0xf - ands r0, r1 - cmp r0, #0 - beq _0807796E - cmp r2, #6 - bhi _080779B2 -_0807796E: - ldrb r0, [r3, #2] - cmp r0, #0 - bne _0807797C - ldr r0, _080779BC @ =gLinkEntity - ldr r0, [r0, #0x34] - cmp r0, #0 - beq _08077980 -_0807797C: - cmp r2, #6 - bhi _080779B2 -_08077980: - ldr r0, [r3, #0x30] - movs r1, #0x80 - ands r0, r1 - cmp r0, #0 - beq _0807799A - ldr r0, _080779C0 @ =gUnk_0811BE48 - lsls r1, r2, #1 - adds r1, r1, r2 - lsls r1, r1, #2 - adds r1, r1, r0 - ldrb r0, [r1, #8] - cmp r0, #0 - beq _080779B2 -_0807799A: - ldrb r0, [r3, #0x12] - cmp r0, #0x11 - bne _080779C4 - adds r0, r3, #0 - adds r0, #0x37 - ldrb r0, [r0] - cmp r0, #0 - beq _080779C4 - adds r0, r2, #0 - subs r0, #0x14 - cmp r0, #1 - bls _080779C4 -_080779B2: - movs r0, #0 - b _080779DE - .align 2, 0 -_080779B8: .4byte gUnk_03003F80 -_080779BC: .4byte gLinkEntity -_080779C0: .4byte gUnk_0811BE48 -_080779C4: - ldr r1, _080779E0 @ =gUnk_0811BE48 - lsls r0, r2, #1 - adds r0, r0, r2 - lsls r0, r0, #2 - adds r0, r0, r1 - ldrb r0, [r0, #2] - ldr r1, _080779E4 @ =gUnk_0811BFC8 - lsls r0, r0, #2 - adds r0, r0, r1 - ldr r1, [r0] - adds r0, r2, #0 - bl _call_via_r1 -_080779DE: - pop {pc} - .align 2, 0 -_080779E0: .4byte gUnk_0811BE48 -_080779E4: .4byte gUnk_0811BFC8 - - thumb_func_start sub_080779E8 -sub_080779E8: @ 0x080779E8 - movs r0, #0 - bx lr - - thumb_func_start sub_080779EC -sub_080779EC: @ 0x080779EC - push {lr} - ldr r1, _08077A00 @ =gUnk_03000B80 - adds r0, r1, #0 - adds r0, #0x25 - ldrb r0, [r0] - cmp r0, #0 - bne _08077A04 - adds r0, r1, #0 - adds r0, #0x1c - b _08077A16 - .align 2, 0 -_08077A00: .4byte gUnk_03000B80 -_08077A04: - adds r0, r1, #0 - adds r0, #0x41 - ldrb r0, [r0] - cmp r0, #0 - beq _08077A12 - movs r0, #0 - b _08077A16 -_08077A12: - adds r0, r1, #0 - adds r0, #0x38 -_08077A16: - pop {pc} - - thumb_func_start sub_08077A18 -sub_08077A18: @ 0x08077A18 - push {lr} - adds r1, r0, #0 - ldr r0, _08077A3C @ =gUnk_03003F80 - ldrb r0, [r0, #5] - cmp r0, #0 - bne _08077A44 - ldr r0, _08077A40 @ =gUnk_03000B80 - ldrb r2, [r0, #0x1d] - cmp r1, r2 - beq _08077A44 - adds r0, #0x39 - ldrb r0, [r0] - cmp r1, r0 - beq _08077A44 - adds r0, r1, #0 - bl sub_080779EC - b _08077A46 - .align 2, 0 -_08077A3C: .4byte gUnk_03003F80 -_08077A40: .4byte gUnk_03000B80 -_08077A44: - movs r0, #0 -_08077A46: - pop {pc} - - thumb_func_start sub_08077A48 -sub_08077A48: @ 0x08077A48 - push {r4, r5, r6, lr} - adds r2, r0, #0 - ldr r6, _08077A88 @ =gUnk_03003F80 - ldrb r0, [r6, #5] - cmp r0, #0 - bne _08077A94 - ldrb r1, [r6, #2] - movs r0, #0x20 - ands r0, r1 - lsls r0, r0, #0x18 - lsrs r4, r0, #0x18 - cmp r4, #0 - bne _08077A94 - ldr r0, _08077A8C @ =gUnk_0811BE48 - lsls r1, r2, #1 - adds r1, r1, r2 - lsls r1, r1, #2 - adds r1, r1, r0 - ldr r5, _08077A90 @ =gUnk_03000B80 - ldrb r0, [r1, #1] - ldrb r1, [r5, #9] - cmp r0, r1 - blo _08077A94 - adds r0, r5, #0 - movs r1, #0 - bl sub_08077E78 - strb r4, [r6, #1] - strb r4, [r6, #0x1c] - strb r4, [r6, #0x1b] - adds r0, r5, #0 - b _08077A96 - .align 2, 0 -_08077A88: .4byte gUnk_03003F80 -_08077A8C: .4byte gUnk_0811BE48 -_08077A90: .4byte gUnk_03000B80 -_08077A94: - movs r0, #0 -_08077A96: - pop {r4, r5, r6, pc} - - thumb_func_start sub_08077A98 -sub_08077A98: @ 0x08077A98 - push {lr} - ldr r0, _08077AB8 @ =gUnk_02002A40 - adds r0, #0xac - ldrb r0, [r0] - cmp r0, #0 - beq _08077AC4 - ldr r0, _08077ABC @ =gUnk_03003F80 - ldrb r0, [r0, #5] - cmp r0, #0 - bne _08077AC4 - ldr r1, _08077AC0 @ =gUnk_03000B80 - ldrb r0, [r1, #9] - cmp r0, #0 - bne _08077AC4 - adds r0, r1, #0 - b _08077AC6 - .align 2, 0 -_08077AB8: .4byte gUnk_02002A40 -_08077ABC: .4byte gUnk_03003F80 -_08077AC0: .4byte gUnk_03000B80 -_08077AC4: - movs r0, #0 -_08077AC6: - pop {pc} - - thumb_func_start sub_08077AC8 -sub_08077AC8: @ 0x08077AC8 - push {lr} - movs r2, #0 - ldr r1, _08077AD8 @ =gUnk_03000B80 -_08077ACE: - ldrb r0, [r1, #9] - cmp r0, #0 - beq _08077ADC - movs r0, #0 - b _08077AE6 - .align 2, 0 -_08077AD8: .4byte gUnk_03000B80 -_08077ADC: - adds r1, #0x1c - adds r2, #1 - cmp r2, #3 - bls _08077ACE - ldr r0, _08077AE8 @ =gUnk_03000BD4 -_08077AE6: - pop {pc} - .align 2, 0 -_08077AE8: .4byte gUnk_03000BD4 - - thumb_func_start sub_08077AEC -sub_08077AEC: @ 0x08077AEC - push {lr} - ldr r0, _08077B14 @ =gUnk_03000BD4 - movs r1, #3 - bl sub_08077E78 - ldr r2, _08077B18 @ =gUnk_03003F80 - ldr r0, [r2, #0x30] - ldr r1, _08077B1C @ =0xFF7FFFFF - ands r0, r1 - str r0, [r2, #0x30] - movs r0, #0x10 - bl sub_0805436C - adds r1, r0, #0 - cmp r1, #2 - beq _08077B12 - movs r0, #0xf - bl sub_08054414 -_08077B12: - pop {pc} - .align 2, 0 -_08077B14: .4byte gUnk_03000BD4 -_08077B18: .4byte gUnk_03003F80 -_08077B1C: .4byte 0xFF7FFFFF - - thumb_func_start sub_08077B20 -sub_08077B20: @ 0x08077B20 - push {lr} - bl sub_08077B2C - bl sub_08077AEC - pop {pc} +_08076B74: .4byte gLinkState diff --git a/asm/code_08076C80.s b/asm/code_08076C80.s new file mode 100644 index 00000000..a8ae34cc --- /dev/null +++ b/asm/code_08076C80.s @@ -0,0 +1,1908 @@ + .include "asm/macros.inc" + + .include "constants/constants.inc" + + .syntax unified + + .text + + thumb_func_start sub_08076C80 +sub_08076C80: @ 0x08076C80 + push {lr} + ldr r3, _08076C94 @ =gUnk_0811BDE0 + ldrb r2, [r0, #4] + lsls r2, r2, #2 + adds r2, r2, r3 + ldr r2, [r2] + bl _call_via_r2 + pop {pc} + .align 2, 0 +_08076C94: .4byte gUnk_0811BDE0 + + thumb_func_start sub_08076C98 +sub_08076C98: @ 0x08076C98 + push {r4, lr} + adds r4, r0, #0 + ldrb r2, [r4, #9] + movs r0, #0xf + orrs r0, r2 + strb r0, [r4, #9] + adds r0, r4, #0 + bl sub_08077D38 + ldr r0, _08076CB8 @ =gLinkEntity + bl sub_0806F948 + adds r0, r4, #0 + bl sub_08077BB8 + pop {r4, pc} + .align 2, 0 +_08076CB8: .4byte gLinkEntity + + thumb_func_start sub_08076CBC +sub_08076CBC: @ 0x08076CBC + push {r4, lr} + adds r4, r0, #0 + ldrb r2, [r4, #0xe] + movs r0, #0x80 + ands r0, r2 + cmp r0, #0 + beq _08076CD2 + adds r0, r4, #0 + bl sub_08077E78 + b _08076CE8 +_08076CD2: + movs r0, #0x40 + ands r0, r2 + cmp r0, #0 + beq _08076CE2 + adds r0, r4, #0 + movs r1, #0x12 + bl sub_08077C3C +_08076CE2: + adds r0, r4, #0 + bl UpdateItemAnim +_08076CE8: + pop {r4, pc} + .align 2, 0 + + thumb_func_start sub_08076CEC +sub_08076CEC: @ 0x08076CEC + push {lr} + ldr r3, _08076D00 @ =gUnk_0811BDE8 + ldrb r2, [r0, #4] + lsls r2, r2, #2 + adds r2, r2, r3 + ldr r2, [r2] + bl _call_via_r2 + pop {pc} + .align 2, 0 +_08076D00: .4byte gUnk_0811BDE8 + + thumb_func_start sub_08076D04 +sub_08076D04: @ 0x08076D04 + push {r4, r5, lr} + adds r4, r0, #0 + adds r5, r1, #0 + ldr r1, _08076D2C @ =gLinkState + movs r0, #0x81 + strb r0, [r1, #3] + movs r0, #2 + strb r0, [r4, #9] + ldr r0, _08076D30 @ =gLinkEntity + bl sub_0806F948 + adds r0, r4, #0 + adds r1, r5, #0 + bl sub_08077D38 + adds r0, r4, #0 + bl sub_08077BB8 + pop {r4, r5, pc} + .align 2, 0 +_08076D2C: .4byte gLinkState +_08076D30: .4byte gLinkEntity + + thumb_func_start sub_08076D34 +sub_08076D34: @ 0x08076D34 + push {r4, r5, r6, lr} + adds r4, r0, #0 + adds r6, r1, #0 + bl sub_08077EFC + adds r1, r0, #0 + cmp r1, #0 + beq _08076D80 + ldr r5, _08076D78 @ =gLinkState + ldrb r0, [r5, #3] + movs r1, #1 + orrs r1, r0 + strb r1, [r5, #3] + adds r0, r4, #0 + bl UpdateItemAnim + ldrb r0, [r4, #0xe] + cmp r0, #0 + beq _08076D8C + ldrb r0, [r4, #4] + adds r0, #1 + strb r0, [r4, #4] + movs r0, #0 + strb r0, [r4, #0xf] + movs r1, #8 + asrs r1, r6 + ldrb r0, [r5, #0xa] + bics r0, r1 + strb r0, [r5, #0xa] + ldr r0, _08076D7C @ =0x0000015D + bl PlaySFX + b _08076D8C + .align 2, 0 +_08076D78: .4byte gLinkState +_08076D7C: .4byte 0x0000015D +_08076D80: + ldr r0, _08076D90 @ =gLinkState + strb r1, [r0, #3] + adds r0, r4, #0 + adds r1, r6, #0 + bl sub_08077E78 +_08076D8C: + pop {r4, r5, r6, pc} + .align 2, 0 +_08076D90: .4byte gLinkState + + thumb_func_start sub_08076D94 +sub_08076D94: @ 0x08076D94 + push {r4, r5, lr} + adds r4, r0, #0 + adds r5, r1, #0 + bl sub_08077EFC + adds r1, r0, #0 + cmp r1, #0 + beq _08076DBC + ldr r2, _08076DB8 @ =gLinkState + ldrb r1, [r2, #3] + movs r0, #1 + orrs r0, r1 + strb r0, [r2, #3] + adds r0, r4, #0 + bl UpdateItemAnim + b _08076DC8 + .align 2, 0 +_08076DB8: .4byte gLinkState +_08076DBC: + ldr r0, _08076DCC @ =gLinkState + strb r1, [r0, #3] + adds r0, r4, #0 + adds r1, r5, #0 + bl sub_08077E78 +_08076DC8: + pop {r4, r5, pc} + .align 2, 0 +_08076DCC: .4byte gLinkState + + thumb_func_start sub_08076DD0 +sub_08076DD0: @ 0x08076DD0 + push {lr} + ldr r2, _08076DEC @ =gLinkState + adds r2, #0xa8 + movs r3, #3 + strb r3, [r2] + ldr r3, _08076DF0 @ =gUnk_0811BDF4 + ldrb r2, [r0, #4] + lsls r2, r2, #2 + adds r2, r2, r3 + ldr r2, [r2] + bl _call_via_r2 + pop {pc} + .align 2, 0 +_08076DEC: .4byte gLinkState +_08076DF0: .4byte gUnk_0811BDF4 + + thumb_func_start sub_08076DF4 +sub_08076DF4: @ 0x08076DF4 + push {r4, r5, r6, r7, lr} + mov r7, r8 + push {r7} + adds r4, r0, #0 + adds r7, r1, #0 + ldr r0, _08076E48 @ =gLinkEntity + mov r8, r0 + bl sub_0807A894 + cmp r0, #0x29 + beq _08076E50 + ldr r6, _08076E4C @ =gLinkState + ldrb r0, [r6, #0x12] + cmp r0, #0x12 + beq _08076E50 + cmp r0, #0x13 + beq _08076E50 + ldrb r5, [r6, #2] + cmp r5, #0 + bne _08076E50 + adds r0, r4, #0 + adds r1, r7, #0 + bl sub_08077D38 + strb r5, [r4, #7] + mov r1, r8 + ldrb r0, [r1, #0x14] + strb r0, [r4, #0xa] + ldrb r1, [r4, #9] + movs r0, #0x80 + orrs r0, r1 + adds r0, #1 + strb r0, [r4, #9] + movs r0, #1 + strb r0, [r6, #0x1d] + mov r1, r8 + str r5, [r1, #0x74] + strb r0, [r6, #0x1c] + adds r0, r4, #0 + bl sub_08077BB8 + b _08076E58 + .align 2, 0 +_08076E48: .4byte gLinkEntity +_08076E4C: .4byte gLinkState +_08076E50: + adds r0, r4, #0 + adds r1, r7, #0 + bl sub_08077E78 +_08076E58: + pop {r3} + mov r8, r3 + pop {r4, r5, r6, r7, pc} + .align 2, 0 + + thumb_func_start sub_08076E60 +sub_08076E60: @ 0x08076E60 + push {r4, r5, r6, lr} + adds r4, r0, #0 + adds r6, r1, #0 + ldr r5, _08076EB4 @ =gLinkState + ldrb r1, [r5, #0x1c] + movs r0, #0xf + ands r0, r1 + cmp r0, #0 + bne _08076E7A + adds r0, r4, #0 + adds r1, r6, #0 + bl sub_08077E78 +_08076E7A: + ldrb r1, [r4, #0xe] + movs r0, #0x80 + ands r0, r1 + cmp r0, #0 + beq _08076EC0 + movs r0, #2 + strb r0, [r4, #4] + ldr r1, _08076EB8 @ =0x00000504 + adds r0, r4, #0 + bl sub_08077DF4 + movs r1, #8 + asrs r1, r6 + ldrb r0, [r5, #0xa] + bics r0, r1 + strb r0, [r5, #0xa] + movs r0, #0x10 + movs r1, #0 + movs r2, #0 + movs r3, #0 + bl sub_08077CB8 + adds r1, r0, #0 + cmp r1, #0 + beq _08076EC6 + ldr r0, _08076EBC @ =gLinkEntity + str r0, [r1, #0x50] + b _08076EC6 + .align 2, 0 +_08076EB4: .4byte gLinkState +_08076EB8: .4byte 0x00000504 +_08076EBC: .4byte gLinkEntity +_08076EC0: + adds r0, r4, #0 + bl UpdateItemAnim +_08076EC6: + pop {r4, r5, r6, pc} + + thumb_func_start sub_08076EC8 +sub_08076EC8: @ 0x08076EC8 + push {r4, r5, r6, lr} + adds r4, r0, #0 + adds r6, r1, #0 + ldr r5, _08076EE4 @ =gLinkState + ldrb r1, [r5, #0x1c] + movs r0, #0xf + ands r0, r1 + cmp r0, #0 + bne _08076EE8 + adds r0, r4, #0 + adds r1, r6, #0 + bl sub_08077E78 + b _08076F60 + .align 2, 0 +_08076EE4: .4byte gLinkState +_08076EE8: + adds r0, r4, #0 + bl sub_08077EFC + cmp r0, #0 + beq _08076F50 + ldrb r0, [r4, #7] + cmp r0, #0xef + bls _08076EFC + movs r0, #3 + b _08076F0E +_08076EFC: + adds r0, #1 + strb r0, [r4, #7] + lsls r0, r0, #0x18 + lsrs r0, r0, #0x18 + cmp r0, #0x77 + bls _08076F0C + movs r0, #2 + b _08076F0E +_08076F0C: + movs r0, #1 +_08076F0E: + strb r0, [r5, #0x1d] + ldr r0, _08076F1C @ =gLinkEntity + ldrb r0, [r0, #0xd] + cmp r0, #0x1b + bne _08076F24 + ldr r1, _08076F20 @ =0x00000524 + b _08076F36 + .align 2, 0 +_08076F1C: .4byte gLinkEntity +_08076F20: .4byte 0x00000524 +_08076F24: + ldr r0, _08076F44 @ =gLinkState + ldrb r1, [r0, #0xd] + movs r0, #0x80 + ands r0, r1 + movs r1, #0xa3 + lsls r1, r1, #3 + cmp r0, #0 + beq _08076F36 + subs r1, #0x14 +_08076F36: + ldrh r0, [r4, #0x10] + cmp r1, r0 + beq _08076F48 + adds r0, r4, #0 + bl sub_08077DF4 + b _08076F60 + .align 2, 0 +_08076F44: .4byte gLinkState +_08076F48: + adds r0, r4, #0 + bl UpdateItemAnim + b _08076F60 +_08076F50: + ldrb r0, [r4, #4] + adds r0, #1 + strb r0, [r4, #4] + movs r0, #8 + asrs r0, r6 + ldrb r1, [r5, #0xa] + orrs r0, r1 + strb r0, [r5, #0xa] +_08076F60: + pop {r4, r5, r6, pc} + .align 2, 0 + + thumb_func_start sub_08076F64 +sub_08076F64: @ 0x08076F64 + push {r4, r5, r6, lr} + adds r4, r0, #0 + adds r6, r1, #0 + ldr r1, _08076F84 @ =gLinkState + ldrb r0, [r1, #0x1c] + movs r2, #0xf + ands r2, r0 + adds r3, r1, #0 + cmp r2, #7 + bls _08076F7A + b _080770EC +_08076F7A: + lsls r0, r2, #2 + ldr r1, _08076F88 @ =_08076F8C + adds r0, r0, r1 + ldr r0, [r0] + mov pc, r0 + .align 2, 0 +_08076F84: .4byte gLinkState +_08076F88: .4byte _08076F8C +_08076F8C: @ jump table + .4byte _08077100 @ case 0 + .4byte _080770EC @ case 1 + .4byte _080770EC @ case 2 + .4byte _0807704C @ case 3 + .4byte _08077052 @ case 4 + .4byte _08076FAC @ case 5 + .4byte _080770B8 @ case 6 + .4byte _080770D0 @ case 7 +_08076FAC: + ldrb r1, [r4, #0xe] + movs r5, #0x80 + adds r0, r5, #0 + ands r0, r1 + cmp r0, #0 + beq _0807700E + ldrb r0, [r4, #8] + cmp r0, #0 + beq _08077004 + movs r0, #0 + strb r0, [r4, #8] + strb r0, [r4, #7] + movs r1, #1 + strb r1, [r3, #0x1d] + ldr r5, _08076FFC @ =gLinkEntity + str r0, [r5, #0x74] + strb r1, [r3, #0x1c] + movs r1, #8 + asrs r1, r6 + ldrb r0, [r3, #0xa] + bics r0, r1 + strb r0, [r3, #0xa] + movs r0, #2 + strb r0, [r4, #4] + ldr r1, _08077000 @ =0x00000504 + adds r0, r4, #0 + bl sub_08077DF4 + movs r0, #0x10 + movs r1, #0 + movs r2, #0 + movs r3, #0 + bl sub_08077CB8 + cmp r0, #0 + bne _08076FF6 + b _08077110 +_08076FF6: + str r5, [r0, #0x50] + b _08077110 + .align 2, 0 +_08076FFC: .4byte gLinkEntity +_08077000: .4byte 0x00000504 +_08077004: + movs r0, #6 + strb r0, [r3, #0x1c] + movs r1, #0xa2 + lsls r1, r1, #3 + b _080770F2 +_0807700E: + adds r0, r4, #0 + bl sub_08077EFC + cmp r0, #0 + beq _0807701C + movs r0, #1 + strb r0, [r4, #8] +_0807701C: + adds r0, r4, #0 + bl UpdateItemAnim + ldr r0, _08077044 @ =gLinkState + ldr r0, [r0, #0x30] + movs r1, #2 + ands r0, r1 + cmp r0, #0 + bne _08077110 + ldr r0, _08077048 @ =gLinkEntity + ldrb r1, [r0, #0x14] + lsls r1, r1, #2 + movs r2, #0x10 + eors r1, r2 + strb r1, [r0, #0x15] + strh r5, [r0, #0x24] + bl sub_08079E08 + b _08077110 + .align 2, 0 +_08077044: .4byte gLinkState +_08077048: .4byte gLinkEntity +_0807704C: + ldr r1, _080770B0 @ =gLinkState + movs r0, #4 + strb r0, [r1, #0x1c] +_08077052: + adds r0, r4, #0 + bl sub_08077EFC + cmp r0, #0 + beq _08077060 + movs r0, #1 + strb r0, [r4, #8] +_08077060: + adds r0, r4, #0 + bl UpdateItemAnim + ldrb r1, [r4, #0xe] + movs r0, #1 + ands r0, r1 + cmp r0, #0 + beq _0807708C + ldr r1, _080770B0 @ =gLinkState + movs r2, #0 + movs r0, #5 + strb r0, [r1, #0x1c] + ldr r0, _080770B4 @ =gLinkEntity + str r2, [r0, #0x70] + ldrb r0, [r1, #0x1d] + cmp r0, #0 + beq _0807708C + movs r0, #0x11 + movs r1, #0 + movs r3, #0 + bl sub_08077CB8 +_0807708C: + ldr r0, _080770B0 @ =gLinkState + ldr r0, [r0, #0x30] + movs r1, #2 + ands r0, r1 + cmp r0, #0 + bne _08077110 + ldr r2, _080770B4 @ =gLinkEntity + ldrb r0, [r2, #0x14] + lsls r0, r0, #2 + movs r1, #0x10 + eors r0, r1 + strb r0, [r2, #0x15] + movs r0, #0x80 + strh r0, [r2, #0x24] + bl sub_08079E08 + b _08077110 + .align 2, 0 +_080770B0: .4byte gLinkState +_080770B4: .4byte gLinkEntity +_080770B8: + adds r0, r4, #0 + bl UpdateItemAnim + ldrb r1, [r4, #0xe] + movs r0, #0x80 + ands r0, r1 + cmp r0, #0 + beq _08077110 + ldr r3, _080770CC @ =gLinkState + b _08077100 + .align 2, 0 +_080770CC: .4byte gLinkState +_080770D0: + ldr r1, _080770E4 @ =0x00000514 + adds r0, r4, #0 + bl sub_08077DF4 + ldr r1, _080770E8 @ =gLinkState + movs r2, #0 + movs r0, #3 + strb r0, [r1, #0x1c] + strb r2, [r1, #0x1d] + b _08077110 + .align 2, 0 +_080770E4: .4byte 0x00000514 +_080770E8: .4byte gLinkState +_080770EC: + movs r0, #3 + strb r0, [r3, #0x1c] + ldr r1, _080770FC @ =0x00000514 +_080770F2: + adds r0, r4, #0 + bl sub_08077DF4 + b _08077110 + .align 2, 0 +_080770FC: .4byte 0x00000514 +_08077100: + movs r1, #0 + strb r1, [r3, #0x1c] + ldr r0, _08077114 @ =gLinkEntity + str r1, [r0, #0x70] + adds r0, r4, #0 + adds r1, r6, #0 + bl sub_08077E78 +_08077110: + pop {r4, r5, r6, pc} + .align 2, 0 +_08077114: .4byte gLinkEntity + + thumb_func_start sub_08077118 +sub_08077118: @ 0x08077118 + push {lr} + ldr r3, _0807712C @ =gUnk_0811BE04 + ldrb r2, [r0, #4] + lsls r2, r2, #2 + adds r2, r2, r3 + ldr r2, [r2] + bl _call_via_r2 + pop {pc} + .align 2, 0 +_0807712C: .4byte gUnk_0811BE04 + + thumb_func_start sub_08077130 +sub_08077130: @ 0x08077130 + push {r4, r5, r6, lr} + adds r4, r0, #0 + ldr r5, _0807718C @ =gLinkState + ldrb r0, [r5, #2] + cmp r0, #0 + bne _080771B6 + adds r0, r4, #0 + bl sub_08077D38 + adds r0, r5, #0 + adds r0, #0x3d + movs r6, #1 + strb r6, [r0] + ldrb r1, [r4, #9] + movs r0, #0x80 + orrs r0, r1 + strb r0, [r4, #9] + bl sub_080774A0 + adds r5, r0, #0 + cmp r5, #0 + beq _080771A8 + ldrb r0, [r4, #7] + cmp r0, #0 + bne _080771C4 + ldr r1, _08077190 @ =0x0000050C + adds r0, r4, #0 + bl sub_08077DF4 + movs r0, #2 + strb r0, [r4, #4] + cmp r5, #0x56 + bne _080771C4 + ldr r2, _08077194 @ =gLinkEntity + ldrb r1, [r2, #0x14] + ands r0, r1 + cmp r0, #0 + beq _08077198 + ldrh r0, [r2, #0x32] + movs r1, #0x10 + rsbs r1, r1, #0 + ands r1, r0 + movs r0, #6 + orrs r1, r0 + strh r1, [r2, #0x32] + b _080771C4 + .align 2, 0 +_0807718C: .4byte gLinkState +_08077190: .4byte 0x0000050C +_08077194: .4byte gLinkEntity +_08077198: + ldrh r0, [r2, #0x2e] + movs r1, #0x10 + rsbs r1, r1, #0 + ands r1, r0 + movs r0, #8 + orrs r1, r0 + strh r1, [r2, #0x2e] + b _080771C4 +_080771A8: + movs r1, #0xa1 + lsls r1, r1, #3 + adds r0, r4, #0 + bl sub_08077DF4 + strb r6, [r4, #4] + b _080771C4 +_080771B6: + adds r0, r4, #0 + bl sub_08077E78 + adds r1, r5, #0 + adds r1, #0x3d + movs r0, #0 + strb r0, [r1] +_080771C4: + pop {r4, r5, r6, pc} + .align 2, 0 + + thumb_func_start sub_080771C8 +sub_080771C8: @ 0x080771C8 + push {r4, r5, lr} + adds r4, r0, #0 + adds r5, r1, #0 + bl UpdateItemAnim + ldrb r1, [r4, #0xe] + movs r0, #0x80 + ands r0, r1 + cmp r0, #0 + beq _080771F4 + adds r0, r4, #0 + adds r1, r5, #0 + bl sub_08077E78 + ldr r0, _080771F0 @ =gLinkState + adds r0, #0x3d + movs r1, #0 + strb r1, [r0] + b _080772A4 + .align 2, 0 +_080771F0: .4byte gLinkState +_080771F4: + movs r0, #0x20 + ands r0, r1 + cmp r0, #0 + beq _0807720E + ldrb r0, [r4, #8] + cmp r0, #0xff + bne _0807720E + ldr r0, _08077240 @ =gLinkEntity + ldrb r2, [r4, #0xe] + movs r1, #0x1e + movs r3, #1 + bl CreateObjectWithParent +_0807720E: + ldrb r1, [r4, #0xe] + movs r0, #0x10 + ands r0, r1 + cmp r0, #0 + beq _080772A4 + ldr r5, _08077240 @ =gLinkEntity + adds r0, r5, #0 + movs r1, #0xd + adds r2, r4, #0 + bl sub_0800875A + cmp r0, #0 + bne _08077248 + movs r1, #0xa4 + lsls r1, r1, #3 + adds r0, r4, #0 + bl sub_08077DF4 + movs r0, #3 + strb r0, [r4, #4] + ldr r0, _08077244 @ =0x00000107 + bl PlaySFX + b _080772A4 + .align 2, 0 +_08077240: .4byte gLinkEntity +_08077244: .4byte 0x00000107 +_08077248: + ldrb r0, [r4, #8] + cmp r0, #0xff + beq _0807728C + ldrb r3, [r4, #3] + adds r0, r5, #0 + movs r1, #0x1f + movs r2, #0 + bl CreateObjectWithParent + adds r3, r0, #0 + cmp r3, #0 + beq _0807729C + ldrb r0, [r4, #7] + movs r2, #0 + strb r0, [r3, #0xe] + ldrb r0, [r4, #8] + strb r0, [r3, #0xf] + ldrb r1, [r5, #0x14] + movs r0, #6 + ands r0, r1 + strb r0, [r3, #0x14] + adds r0, r5, #0 + adds r0, #0x5a + strb r2, [r0] + ldr r1, _08077288 @ =gUnk_0811BE14 + ldrb r0, [r4, #8] + adds r0, r0, r1 + ldrb r1, [r0] + adds r0, r5, #0 + adds r0, #0x59 + strb r1, [r0] + b _0807729C + .align 2, 0 +_08077288: .4byte gUnk_0811BE14 +_0807728C: + ldrb r0, [r4, #3] + cmp r0, #0xf + bne _0807729C + ldrb r0, [r4, #7] + cmp r0, #0x17 + bne _0807729C + movs r0, #0 + strb r0, [r4, #8] +_0807729C: + movs r0, #0x84 + lsls r0, r0, #1 + bl PlaySFX +_080772A4: + pop {r4, r5, pc} + .align 2, 0 + + thumb_func_start sub_080772A8 +sub_080772A8: @ 0x080772A8 + push {r4, r5, r6, lr} + adds r4, r0, #0 + adds r6, r1, #0 + ldrb r1, [r4, #0xe] + movs r0, #8 + ands r0, r1 + cmp r0, #0 + beq _080772C6 + adds r0, r4, #0 + bl sub_08077F10 + cmp r0, #0 + beq _080772C6 + movs r0, #1 + strb r0, [r4, #7] +_080772C6: + movs r0, #0x71 + bl GetInventoryValue + cmp r0, #1 + bne _08077318 + ldrb r1, [r4, #0xe] + movs r5, #7 + adds r0, r5, #0 + ands r0, r1 + cmp r0, #3 + beq _08077300 + adds r0, r4, #0 + movs r1, #2 + bl sub_08077E3C + ldr r3, _080772F8 @ =gLinkEntity + ldr r2, _080772FC @ =gUnk_0811BE16 + ldrb r1, [r4, #0xe] + adds r0, r5, #0 + ands r0, r1 + lsls r0, r0, #1 + adds r0, r0, r2 + ldrh r0, [r0] + lsls r0, r0, #1 + b _0807732E + .align 2, 0 +_080772F8: .4byte gLinkEntity +_080772FC: .4byte gUnk_0811BE16 +_08077300: + adds r0, r4, #0 + bl UpdateItemAnim + ldr r3, _08077310 @ =gLinkEntity + ldr r2, _08077314 @ =gUnk_0811BE16 + ldrb r1, [r4, #0xe] + adds r0, r5, #0 + b _08077326 + .align 2, 0 +_08077310: .4byte gLinkEntity +_08077314: .4byte gUnk_0811BE16 +_08077318: + adds r0, r4, #0 + bl UpdateItemAnim + ldr r3, _0807736C @ =gLinkEntity + ldr r2, _08077370 @ =gUnk_0811BE16 + ldrb r1, [r4, #0xe] + movs r0, #7 +_08077326: + ands r0, r1 + lsls r0, r0, #1 + adds r0, r0, r2 + ldrh r0, [r0] +_0807732E: + strh r0, [r3, #0x24] + ldr r5, _0807736C @ =gLinkEntity + ldrb r0, [r5, #0x14] + lsls r0, r0, #2 + strb r0, [r5, #0x15] + movs r1, #0x24 + ldrsh r0, [r5, r1] + cmp r0, #0 + beq _08077344 + bl sub_08079E08 +_08077344: + ldrb r1, [r4, #0xe] + movs r0, #0x10 + ands r0, r1 + cmp r0, #0 + beq _0807738C + ldrb r0, [r4, #7] + cmp r0, #0 + beq _08077374 + adds r0, r5, #0 + adds r0, #0x59 + movs r1, #1 + strb r1, [r0] + bl sub_080774A0 + cmp r0, #0 + beq _08077374 + movs r0, #0 + strb r0, [r4, #7] + b _0807743E + .align 2, 0 +_0807736C: .4byte gLinkEntity +_08077370: .4byte gUnk_0811BE16 +_08077374: + adds r0, r4, #0 + adds r1, r6, #0 + bl sub_08077E78 + ldr r0, _08077388 @ =gLinkState + adds r0, #0x3d + movs r1, #0 + strb r1, [r0] + b _0807743E + .align 2, 0 +_08077388: .4byte gLinkState +_0807738C: + movs r0, #0x60 + ands r0, r1 + cmp r0, #0 + beq _0807743E + adds r0, r5, #0 + adds r0, #0x59 + movs r6, #1 + strb r6, [r0] + adds r0, r5, #0 + bl sub_0807B5B0 + cmp r0, #0 + beq _080773BC + movs r0, #0x84 + lsls r0, r0, #1 + bl PlaySFX + ldrb r2, [r4, #0xe] + adds r0, r5, #0 + movs r1, #0x1e + movs r3, #0 + bl CreateObjectWithParent + b _0807743E +_080773BC: + ldr r1, _08077440 @ =0x0000051C + adds r0, r4, #0 + bl sub_08077DF4 + adds r0, r5, #0 + movs r1, #0x1d + movs r2, #0 + bl CreateFX + adds r3, r0, #0 + cmp r3, #0 + beq _080773F6 + ldrb r0, [r4, #0xa] + strb r0, [r3, #0x14] + adds r0, r5, #0 + adds r0, #0x29 + ldrb r1, [r0] + lsls r1, r1, #0x1d + lsrs r1, r1, #0x1d + subs r1, #1 + adds r3, #0x29 + movs r0, #7 + ands r1, r0 + ldrb r2, [r3] + movs r0, #8 + rsbs r0, r0, #0 + ands r0, r2 + orrs r0, r1 + strb r0, [r3] +_080773F6: + adds r0, r5, #0 + movs r1, #0x1d + movs r2, #0 + bl CreateFX + adds r3, r0, #0 + cmp r3, #0 + beq _08077432 + ldrb r0, [r4, #0xa] + strb r0, [r3, #0x14] + adds r0, r5, #0 + adds r0, #0x29 + ldrb r1, [r0] + lsls r1, r1, #0x1d + lsrs r1, r1, #0x1d + subs r1, #1 + movs r0, #0x29 + adds r0, r0, r3 + mov ip, r0 + movs r0, #7 + ands r1, r0 + mov r0, ip + ldrb r2, [r0] + movs r0, #8 + rsbs r0, r0, #0 + ands r0, r2 + orrs r0, r1 + mov r1, ip + strb r0, [r1] + strb r6, [r3, #0xf] +_08077432: + movs r0, #3 + strb r0, [r4, #4] + strb r6, [r4, #5] + ldr r0, _08077444 @ =0x00000119 + bl PlaySFX +_0807743E: + pop {r4, r5, r6, pc} + .align 2, 0 +_08077440: .4byte 0x0000051C +_08077444: .4byte 0x00000119 + + thumb_func_start sub_08077448 +sub_08077448: @ 0x08077448 + push {r4, r5, lr} + adds r4, r0, #0 + adds r5, r1, #0 + ldr r2, _08077498 @ =gLinkEntity + ldrb r0, [r2, #0x14] + lsls r0, r0, #2 + movs r1, #0x10 + eors r0, r1 + strb r0, [r2, #0x15] + movs r0, #0x80 + lsls r0, r0, #1 + strh r0, [r2, #0x24] + ldrb r1, [r4, #0xe] + movs r0, #1 + ands r0, r1 + cmp r0, #0 + beq _08077474 + ldrb r0, [r4, #5] + cmp r0, #0 + beq _08077474 + bl sub_08079E08 +_08077474: + adds r0, r4, #0 + bl UpdateItemAnim + ldrb r1, [r4, #0xe] + movs r0, #0x80 + ands r0, r1 + cmp r0, #0 + beq _08077494 + ldr r0, _0807749C @ =gLinkState + adds r0, #0x3d + movs r1, #0 + strb r1, [r0] + adds r0, r4, #0 + adds r1, r5, #0 + bl sub_08077E78 +_08077494: + pop {r4, r5, pc} + .align 2, 0 +_08077498: .4byte gLinkEntity +_0807749C: .4byte gLinkState + + thumb_func_start sub_080774A0 +sub_080774A0: @ 0x080774A0 + push {r4, r5, r6, r7, lr} + ldr r3, _080774FC @ =gLinkEntity + movs r0, #0x2e + ldrsh r2, [r3, r0] + ldr r5, _08077500 @ =gUnk_0811BE1E + ldrb r0, [r3, #0x14] + movs r1, #6 + ands r1, r0 + adds r0, r1, r5 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + adds r2, r2, r0 + ldr r4, _08077504 @ =gRoomControls + ldrh r0, [r4, #6] + subs r2, r2, r0 + asrs r6, r2, #4 + movs r2, #0x3f + ands r6, r2 + movs r7, #0x32 + ldrsh r0, [r3, r7] + adds r1, #1 + adds r1, r1, r5 + ldrb r1, [r1] + lsls r1, r1, #0x18 + asrs r1, r1, #0x18 + adds r0, r0, r1 + ldrh r1, [r4, #8] + subs r0, r0, r1 + asrs r0, r0, #4 + ands r0, r2 + lsls r0, r0, #6 + orrs r6, r0 + adds r4, r3, #0 + adds r4, #0x38 + ldrb r1, [r4] + adds r0, r6, #0 + bl sub_080002E0 + cmp r0, #0x16 + bhi _080774F6 + cmp r0, #0xe + bhi _08077508 +_080774F6: + movs r0, #0 + b _0807751A + .align 2, 0 +_080774FC: .4byte gLinkEntity +_08077500: .4byte gUnk_0811BE1E +_08077504: .4byte gRoomControls +_08077508: + adds r0, r6, #0 + ldrb r1, [r4] + bl sub_080002C8 + cmp r0, #0x56 + bne _08077518 + movs r0, #0x56 + b _0807751A +_08077518: + movs r0, #1 +_0807751A: + pop {r4, r5, r6, r7, pc} + + thumb_func_start sub_0807751C +sub_0807751C: @ 0x0807751C + push {lr} + ldr r3, _08077530 @ =gUnk_0811BE28 + ldrb r2, [r0, #4] + lsls r2, r2, #2 + adds r2, r2, r3 + ldr r2, [r2] + bl _call_via_r2 + pop {pc} + .align 2, 0 +_08077530: .4byte gUnk_0811BE28 + + thumb_func_start sub_08077534 +sub_08077534: @ 0x08077534 + push {r4, lr} + adds r4, r0, #0 + bl sub_08077D38 + ldr r0, _08077570 @ =gLinkEntity + bl sub_0806F948 + adds r0, r4, #0 + bl sub_08077BB8 + ldrb r1, [r4, #9] + movs r0, #0xf + orrs r0, r1 + strb r0, [r4, #9] + ldrb r1, [r4, #1] + ldr r0, _08077574 @ =gUnk_02002A40 + adds r0, r0, r1 + adds r0, #0x9a + ldrb r0, [r0] + strb r0, [r4, #7] + ldrb r0, [r4, #7] + subs r0, #0x20 + cmp r0, #0x11 + bhi _080775F8 + lsls r0, r0, #2 + ldr r1, _08077578 @ =_0807757C + adds r0, r0, r1 + ldr r0, [r0] + mov pc, r0 + .align 2, 0 +_08077570: .4byte gLinkEntity +_08077574: .4byte gUnk_02002A40 +_08077578: .4byte _0807757C +_0807757C: @ jump table + .4byte _080775C4 @ case 0 + .4byte _080775D4 @ case 1 + .4byte _080775D4 @ case 2 + .4byte _080775D4 @ case 3 + .4byte _080775D4 @ case 4 + .4byte _080775D4 @ case 5 + .4byte _080775F8 @ case 6 + .4byte _080775F8 @ case 7 + .4byte _080775F8 @ case 8 + .4byte _080775D4 @ case 9 + .4byte _080775D4 @ case 10 + .4byte _080775D4 @ case 11 + .4byte _080775D4 @ case 12 + .4byte _080775D4 @ case 13 + .4byte _080775D4 @ case 14 + .4byte _080775F8 @ case 15 + .4byte _080775F8 @ case 16 + .4byte _080775F8 @ case 17 +_080775C4: + ldr r1, _080775D0 @ =0x00000614 + adds r0, r4, #0 + bl sub_08077DF4 + b _08077610 + .align 2, 0 +_080775D0: .4byte 0x00000614 +_080775D4: + movs r0, #3 + strb r0, [r4, #4] + ldr r1, _080775F0 @ =gLinkEntity + movs r0, #4 + strb r0, [r1, #0x14] + ldrb r2, [r1, #0x18] + subs r0, #0x45 + ands r0, r2 + strb r0, [r1, #0x18] + ldr r1, _080775F4 @ =0x000002DF + adds r0, r4, #0 + bl sub_08077DF4 + b _08077606 + .align 2, 0 +_080775F0: .4byte gLinkEntity +_080775F4: .4byte 0x000002DF +_080775F8: + movs r0, #3 + strb r0, [r4, #4] + movs r1, #0xc2 + lsls r1, r1, #3 + adds r0, r4, #0 + bl sub_08077DF4 +_08077606: + ldr r2, _08077614 @ =gLinkEntity + ldrb r1, [r2, #0x10] + movs r0, #0x7f + ands r0, r1 + strb r0, [r2, #0x10] +_08077610: + pop {r4, pc} + .align 2, 0 +_08077614: .4byte gLinkEntity + + thumb_func_start sub_08077618 +sub_08077618: @ 0x08077618 + push {r4, lr} + adds r4, r0, #0 + ldrb r1, [r4, #0xe] + movs r0, #0x80 + ands r0, r1 + cmp r0, #0 + beq _08077638 + movs r1, #0xc3 + lsls r1, r1, #3 + adds r0, r4, #0 + bl sub_08077DF4 + ldrb r0, [r4, #4] + adds r0, #1 + strb r0, [r4, #4] + b _0807763E +_08077638: + adds r0, r4, #0 + bl UpdateItemAnim +_0807763E: + pop {r4, pc} + + thumb_func_start sub_08077640 +sub_08077640: @ 0x08077640 + push {r4, r5, lr} + adds r4, r0, #0 + adds r5, r1, #0 + bl UpdateItemAnim + ldrb r1, [r4, #0xe] + movs r0, #0x80 + ands r0, r1 + cmp r0, #0 + beq _08077666 + ldr r2, _08077668 @ =gLinkEntity + ldrb r1, [r2, #0x10] + movs r0, #0x80 + orrs r0, r1 + strb r0, [r2, #0x10] + adds r0, r4, #0 + adds r1, r5, #0 + bl sub_08077E78 +_08077666: + pop {r4, r5, pc} + .align 2, 0 +_08077668: .4byte gLinkEntity + + thumb_func_start sub_0807766C +sub_0807766C: @ 0x0807766C + push {r4, r5, lr} + adds r4, r0, #0 + adds r5, r1, #0 + bl UpdateItemAnim + ldrb r1, [r4, #0xe] + movs r0, #0x80 + ands r0, r1 + cmp r0, #0 + beq _08077692 + ldr r2, _08077694 @ =gLinkEntity + ldrb r1, [r2, #0x10] + movs r0, #0x80 + orrs r0, r1 + strb r0, [r2, #0x10] + adds r0, r4, #0 + adds r1, r5, #0 + bl sub_08077E78 +_08077692: + pop {r4, r5, pc} + .align 2, 0 +_08077694: .4byte gLinkEntity + + thumb_func_start sub_08077698 +sub_08077698: @ 0x08077698 + push {r4, r5, lr} + adds r4, r0, #0 + ldr r2, _0807771C @ =gLinkState + ldrb r1, [r2, #3] + movs r0, #0xfe + ands r0, r1 + strb r0, [r2, #3] + ldrb r1, [r2, #4] + movs r0, #0xf + ands r0, r1 + strb r0, [r2, #4] + ldrb r0, [r2, #7] + ldrb r3, [r2, #2] + orrs r0, r3 + movs r1, #0x80 + ands r0, r1 + cmp r0, #0 + bne _08077700 + movs r0, #0x40 + ands r0, r3 + cmp r0, #0 + bne _08077700 + adds r0, r2, #0 + adds r0, #0x26 + ldrb r0, [r0] + cmp r0, #0 + bne _08077700 + adds r0, r4, #0 + bl sub_08077758 + cmp r0, #0 + beq _08077700 + bl sub_080777A0 + cmp r0, #0 + bne _08077700 + ldr r4, _08077720 @ =gUnk_02002A40 + adds r0, r4, #0 + adds r0, #0xb4 + ldrb r0, [r0] + movs r1, #1 + movs r2, #0 + bl sub_08077880 + adds r4, #0xb5 + ldrb r0, [r4] + movs r1, #2 + movs r2, #0 + bl sub_08077880 + bl sub_080778CC +_08077700: + movs r5, #0 + ldr r4, _08077724 @ =gUnk_03000B80 +_08077704: + ldrb r0, [r4, #9] + cmp r0, #0 + beq _08077712 + adds r0, r4, #0 + adds r1, r5, #0 + bl sub_080752E8 +_08077712: + adds r4, #0x1c + adds r5, #1 + cmp r5, #3 + bls _08077704 + pop {r4, r5, pc} + .align 2, 0 +_0807771C: .4byte gLinkState +_08077720: .4byte gUnk_02002A40 +_08077724: .4byte gUnk_03000B80 + + thumb_func_start sub_08077728 +sub_08077728: @ 0x08077728 + push {lr} + cmp r0, #0 + bne _08077744 + ldr r0, _08077740 @ =gUnk_02002A40 + adds r0, #0xb4 + ldrb r0, [r0] + movs r1, #1 + movs r2, #1 + bl sub_08077880 + b _08077752 + .align 2, 0 +_08077740: .4byte gUnk_02002A40 +_08077744: + ldr r0, _08077754 @ =gUnk_02002A40 + adds r0, #0xb5 + ldrb r0, [r0] + movs r1, #2 + movs r2, #1 + bl sub_08077880 +_08077752: + pop {pc} + .align 2, 0 +_08077754: .4byte gUnk_02002A40 + + thumb_func_start sub_08077758 +sub_08077758: @ 0x08077758 + push {lr} + adds r3, r0, #0 + ldr r2, _08077794 @ =gLinkState + ldr r1, [r2, #0x30] + movs r0, #0x80 + lsls r0, r0, #7 + ands r0, r1 + cmp r0, #0 + bne _0807779C + movs r0, #0xd5 + lsls r0, r0, #4 + ands r1, r0 + cmp r1, #0 + bne _08077798 + ldrb r0, [r2, #0x1e] + ldrb r1, [r2, #0x1a] + orrs r1, r0 + adds r0, r3, #0 + adds r0, #0x7a + ldrh r0, [r0] + orrs r1, r0 + cmp r1, #0 + bne _0807779C + adds r0, r3, #0 + adds r0, #0x42 + ldrb r0, [r0] + cmp r0, #0 + bne _0807779C + movs r0, #1 + b _0807779E + .align 2, 0 +_08077794: .4byte gLinkState +_08077798: + bl sub_0807A108 +_0807779C: + movs r0, #0 +_0807779E: + pop {pc} + + thumb_func_start sub_080777A0 +sub_080777A0: @ 0x080777A0 + push {r4, lr} + ldr r3, _080777D0 @ =gLinkState + adds r0, r3, #0 + adds r0, #0x92 + ldrh r1, [r0] + movs r4, #0x80 + adds r0, r4, #0 + ands r0, r1 + cmp r0, #0 + beq _08077870 + ldr r1, [r3, #0x30] + movs r0, #0x80 + lsls r0, r0, #0xf + ands r0, r1 + cmp r0, #0 + beq _080777D4 + adds r1, r3, #0 + adds r1, #0xa0 + movs r0, #1 + strb r0, [r1] + bl sub_0807A108 +_080777CC: + movs r0, #1 + b _0807787C + .align 2, 0 +_080777D0: .4byte gLinkState +_080777D4: + ldr r2, _080777F4 @ =gUnk_02033A90 + ldrb r0, [r2, #0x18] + cmp r0, #2 + beq _080777FC + cmp r0, #3 + beq _08077810 + ldr r0, _080777F8 @ =gUnk_0200AF00 + adds r0, #0x2c + ldrb r0, [r0] + cmp r0, #0xc + bne _0807787A + adds r2, r3, #0 + ldrb r0, [r2, #0x1c] + cmp r0, #0 + bne _0807787A + b _08077838 + .align 2, 0 +_080777F4: .4byte gUnk_02033A90 +_080777F8: .4byte gUnk_0200AF00 +_080777FC: + ldrb r0, [r2, #0x1a] + cmp r0, #0 + bne _080777CC + ldr r1, _0807780C @ =gLinkEntity + ldrb r0, [r1, #0xd] + adds r0, #1 + strb r0, [r1, #0xd] + b _080777CC + .align 2, 0 +_0807780C: .4byte gLinkEntity +_08077810: + ldrb r0, [r2, #0x1a] + cmp r0, #0 + bne _0807787A + ands r1, r4 + cmp r1, #0 + beq _0807787A + ldr r0, _08077834 @ =gLinkEntity + ldrb r1, [r0, #0xd] + adds r1, #1 + strb r1, [r0, #0xd] + ldrb r2, [r0, #0x10] + movs r1, #0x7f + ands r1, r2 + strb r1, [r0, #0x10] + movs r1, #0xb4 + bl sub_0805E4E0 + b _080777CC + .align 2, 0 +_08077834: .4byte gLinkEntity +_08077838: + ldrb r0, [r2, #0x12] + cmp r0, #0x11 + beq _0807787A + adds r0, r2, #0 + adds r0, #0x90 + ldrh r1, [r0] + movs r0, #0xf0 + lsls r0, r0, #4 + ands r0, r1 + cmp r0, #0 + beq _0807787A + ldr r0, [r2, #0x30] + ldr r1, _0807786C @ =0x00040400 + ands r0, r1 + cmp r0, #0 + bne _0807787A + ldrb r0, [r2, #2] + cmp r0, #0 + bne _0807787A + ldrb r0, [r2, #4] + cmp r0, #0 + bne _0807787A + movs r0, #0x18 + strb r0, [r2, #0xc] + b _0807787A + .align 2, 0 +_0807786C: .4byte 0x00040400 +_08077870: + ldr r0, [r3, #0x30] + movs r1, #0x20 + ands r0, r1 + cmp r0, #0 + bne _080777CC +_0807787A: + movs r0, #0 +_0807787C: + pop {r4, pc} + .align 2, 0 + + thumb_func_start sub_08077880 +sub_08077880: @ 0x08077880 + push {r4, r5, r6, lr} + adds r4, r0, #0 + adds r6, r1, #0 + subs r0, r4, #1 + cmp r0, #0x1e + bhi _080778C0 + lsls r0, r4, #1 + adds r0, r0, r4 + lsls r0, r0, #2 + ldr r1, _080778C4 @ =gUnk_0811BE48 + adds r5, r0, r1 + ldr r1, _080778C8 @ =gUnk_03004010 + ldrb r0, [r5] + cmp r0, #0 + beq _080778A0 + adds r1, #2 +_080778A0: + ldrh r0, [r1] + ands r0, r6 + cmp r0, #0 + bne _080778AC + cmp r2, #0 + beq _080778C0 +_080778AC: + adds r0, r4, #0 + bl sub_0807794C + adds r1, r0, #0 + cmp r1, #0 + beq _080778C0 + ldrb r0, [r5, #1] + strb r0, [r1, #9] + strb r4, [r1, #1] + strb r6, [r1, #3] +_080778C0: + pop {r4, r5, r6, pc} + .align 2, 0 +_080778C4: .4byte gUnk_0811BE48 +_080778C8: .4byte gUnk_03004010 + + thumb_func_start sub_080778CC +sub_080778CC: @ 0x080778CC + push {lr} + ldr r2, _08077920 @ =gLinkState + ldr r0, [r2, #0x30] + ldr r1, _08077924 @ =0x000400A0 + ands r0, r1 + cmp r0, #0 + bne _0807791C + ldr r0, _08077928 @ =gLinkEntity + adds r0, #0x79 + ldrb r0, [r0] + cmp r0, #0 + bne _080778FA + ldrb r0, [r2, #5] + cmp r0, #0 + bne _080778FA + adds r0, r2, #0 + adds r0, #0x92 + ldrh r1, [r0] + movs r0, #0x80 + lsls r0, r0, #8 + ands r0, r1 + cmp r0, #0 + beq _0807791C +_080778FA: + bl sub_080789A8 + cmp r0, #0 + bne _08077910 + ldr r0, _08077920 @ =gLinkState + adds r0, #0x90 + ldrh r1, [r0] + ldr r0, _0807792C @ =0x00000F03 + ands r0, r1 + cmp r0, #0 + bne _0807791C +_08077910: + movs r0, #0x1b + bl sub_0807794C + adds r1, r0, #0 + cmp r1, #0 + bne _08077930 +_0807791C: + movs r0, #0 + b _08077940 + .align 2, 0 +_08077920: .4byte gLinkState +_08077924: .4byte 0x000400A0 +_08077928: .4byte gLinkEntity +_0807792C: .4byte 0x00000F03 +_08077930: + movs r0, #0x1b + strb r0, [r1, #1] + ldr r0, _08077944 @ =gUnk_0811BE48 + ldr r2, _08077948 @ =0x00000145 + adds r0, r0, r2 + ldrb r0, [r0] + strb r0, [r1, #9] + movs r0, #1 +_08077940: + pop {pc} + .align 2, 0 +_08077944: .4byte gUnk_0811BE48 +_08077948: .4byte 0x00000145 + + thumb_func_start sub_0807794C +sub_0807794C: @ 0x0807794C + push {lr} + adds r2, r0, #0 + ldr r0, _080779B8 @ =gLinkState + ldrb r1, [r0, #0xc] + adds r3, r0, #0 + cmp r1, #0x18 + bne _0807795E + cmp r2, #0x1b + bne _080779B2 +_0807795E: + ldr r0, [r3, #0x30] + movs r1, #0x88 + lsls r1, r1, #0xf + ands r0, r1 + cmp r0, #0 + beq _0807796E + cmp r2, #6 + bhi _080779B2 +_0807796E: + ldrb r0, [r3, #2] + cmp r0, #0 + bne _0807797C + ldr r0, _080779BC @ =gLinkEntity + ldr r0, [r0, #0x34] + cmp r0, #0 + beq _08077980 +_0807797C: + cmp r2, #6 + bhi _080779B2 +_08077980: + ldr r0, [r3, #0x30] + movs r1, #0x80 + ands r0, r1 + cmp r0, #0 + beq _0807799A + ldr r0, _080779C0 @ =gUnk_0811BE48 + lsls r1, r2, #1 + adds r1, r1, r2 + lsls r1, r1, #2 + adds r1, r1, r0 + ldrb r0, [r1, #8] + cmp r0, #0 + beq _080779B2 +_0807799A: + ldrb r0, [r3, #0x12] + cmp r0, #0x11 + bne _080779C4 + adds r0, r3, #0 + adds r0, #0x37 + ldrb r0, [r0] + cmp r0, #0 + beq _080779C4 + adds r0, r2, #0 + subs r0, #0x14 + cmp r0, #1 + bls _080779C4 +_080779B2: + movs r0, #0 + b _080779DE + .align 2, 0 +_080779B8: .4byte gLinkState +_080779BC: .4byte gLinkEntity +_080779C0: .4byte gUnk_0811BE48 +_080779C4: + ldr r1, _080779E0 @ =gUnk_0811BE48 + lsls r0, r2, #1 + adds r0, r0, r2 + lsls r0, r0, #2 + adds r0, r0, r1 + ldrb r0, [r0, #2] + ldr r1, _080779E4 @ =gUnk_0811BFC8 + lsls r0, r0, #2 + adds r0, r0, r1 + ldr r1, [r0] + adds r0, r2, #0 + bl _call_via_r1 +_080779DE: + pop {pc} + .align 2, 0 +_080779E0: .4byte gUnk_0811BE48 +_080779E4: .4byte gUnk_0811BFC8 + + thumb_func_start sub_080779E8 +sub_080779E8: @ 0x080779E8 + movs r0, #0 + bx lr + + thumb_func_start sub_080779EC +sub_080779EC: @ 0x080779EC + push {lr} + ldr r1, _08077A00 @ =gUnk_03000B80 + adds r0, r1, #0 + adds r0, #0x25 + ldrb r0, [r0] + cmp r0, #0 + bne _08077A04 + adds r0, r1, #0 + adds r0, #0x1c + b _08077A16 + .align 2, 0 +_08077A00: .4byte gUnk_03000B80 +_08077A04: + adds r0, r1, #0 + adds r0, #0x41 + ldrb r0, [r0] + cmp r0, #0 + beq _08077A12 + movs r0, #0 + b _08077A16 +_08077A12: + adds r0, r1, #0 + adds r0, #0x38 +_08077A16: + pop {pc} + + thumb_func_start sub_08077A18 +sub_08077A18: @ 0x08077A18 + push {lr} + adds r1, r0, #0 + ldr r0, _08077A3C @ =gLinkState + ldrb r0, [r0, #5] + cmp r0, #0 + bne _08077A44 + ldr r0, _08077A40 @ =gUnk_03000B80 + ldrb r2, [r0, #0x1d] + cmp r1, r2 + beq _08077A44 + adds r0, #0x39 + ldrb r0, [r0] + cmp r1, r0 + beq _08077A44 + adds r0, r1, #0 + bl sub_080779EC + b _08077A46 + .align 2, 0 +_08077A3C: .4byte gLinkState +_08077A40: .4byte gUnk_03000B80 +_08077A44: + movs r0, #0 +_08077A46: + pop {pc} + + thumb_func_start sub_08077A48 +sub_08077A48: @ 0x08077A48 + push {r4, r5, r6, lr} + adds r2, r0, #0 + ldr r6, _08077A88 @ =gLinkState + ldrb r0, [r6, #5] + cmp r0, #0 + bne _08077A94 + ldrb r1, [r6, #2] + movs r0, #0x20 + ands r0, r1 + lsls r0, r0, #0x18 + lsrs r4, r0, #0x18 + cmp r4, #0 + bne _08077A94 + ldr r0, _08077A8C @ =gUnk_0811BE48 + lsls r1, r2, #1 + adds r1, r1, r2 + lsls r1, r1, #2 + adds r1, r1, r0 + ldr r5, _08077A90 @ =gUnk_03000B80 + ldrb r0, [r1, #1] + ldrb r1, [r5, #9] + cmp r0, r1 + blo _08077A94 + adds r0, r5, #0 + movs r1, #0 + bl sub_08077E78 + strb r4, [r6, #1] + strb r4, [r6, #0x1c] + strb r4, [r6, #0x1b] + adds r0, r5, #0 + b _08077A96 + .align 2, 0 +_08077A88: .4byte gLinkState +_08077A8C: .4byte gUnk_0811BE48 +_08077A90: .4byte gUnk_03000B80 +_08077A94: + movs r0, #0 +_08077A96: + pop {r4, r5, r6, pc} + + thumb_func_start sub_08077A98 +sub_08077A98: @ 0x08077A98 + push {lr} + ldr r0, _08077AB8 @ =gUnk_02002A40 + adds r0, #0xac + ldrb r0, [r0] + cmp r0, #0 + beq _08077AC4 + ldr r0, _08077ABC @ =gLinkState + ldrb r0, [r0, #5] + cmp r0, #0 + bne _08077AC4 + ldr r1, _08077AC0 @ =gUnk_03000B80 + ldrb r0, [r1, #9] + cmp r0, #0 + bne _08077AC4 + adds r0, r1, #0 + b _08077AC6 + .align 2, 0 +_08077AB8: .4byte gUnk_02002A40 +_08077ABC: .4byte gLinkState +_08077AC0: .4byte gUnk_03000B80 +_08077AC4: + movs r0, #0 +_08077AC6: + pop {pc} + + thumb_func_start sub_08077AC8 +sub_08077AC8: @ 0x08077AC8 + push {lr} + movs r2, #0 + ldr r1, _08077AD8 @ =gUnk_03000B80 +_08077ACE: + ldrb r0, [r1, #9] + cmp r0, #0 + beq _08077ADC + movs r0, #0 + b _08077AE6 + .align 2, 0 +_08077AD8: .4byte gUnk_03000B80 +_08077ADC: + adds r1, #0x1c + adds r2, #1 + cmp r2, #3 + bls _08077ACE + ldr r0, _08077AE8 @ =gUnk_03000BD4 +_08077AE6: + pop {pc} + .align 2, 0 +_08077AE8: .4byte gUnk_03000BD4 + + thumb_func_start sub_08077AEC +sub_08077AEC: @ 0x08077AEC + push {lr} + ldr r0, _08077B14 @ =gUnk_03000BD4 + movs r1, #3 + bl sub_08077E78 + ldr r2, _08077B18 @ =gLinkState + ldr r0, [r2, #0x30] + ldr r1, _08077B1C @ =0xFF7FFFFF + ands r0, r1 + str r0, [r2, #0x30] + movs r0, #0x10 + bl sub_0805436C + adds r1, r0, #0 + cmp r1, #2 + beq _08077B12 + movs r0, #0xf + bl sub_08054414 +_08077B12: + pop {pc} + .align 2, 0 +_08077B14: .4byte gUnk_03000BD4 +_08077B18: .4byte gLinkState +_08077B1C: .4byte 0xFF7FFFFF + + thumb_func_start sub_08077B20 +sub_08077B20: @ 0x08077B20 + push {lr} + bl sub_08077B2C + bl sub_08077AEC + pop {pc} \ No newline at end of file diff --git a/asm/code_08077B98.s b/asm/code_08077B98.s index 58071cf9..85fda771 100644 --- a/asm/code_08077B98.s +++ b/asm/code_08077B98.s @@ -10,7 +10,7 @@ sub_08077B98: @ 0x08077B98 push {r4, lr} adds r1, r0, #0 - ldr r4, _08077BB4 @ =gUnk_03003F80 + ldr r4, _08077BB4 @ =gLinkState ldr r0, [r4, #0x2c] cmp r0, #0 beq _08077BAA @@ -24,7 +24,7 @@ _08077BAA: _08077BB2: pop {r4, pc} .align 2, 0 -_08077BB4: .4byte gUnk_03003F80 +_08077BB4: .4byte gLinkState thumb_func_start sub_08077BB8 sub_08077BB8: @ 0x08077BB8 @@ -36,11 +36,11 @@ sub_08077BB8: @ 0x08077BB8 movs r0, #0x20 strb r0, [r1, #0x10] _08077BC8: - ldr r0, _08077BD0 @ =gUnk_03003F80 + ldr r0, _08077BD0 @ =gLinkState str r1, [r0, #0x2c] pop {pc} .align 2, 0 -_08077BD0: .4byte gUnk_03003F80 +_08077BD0: .4byte gLinkState thumb_func_start sub_08077BD4 sub_08077BD4: @ 0x08077BD4 @@ -243,7 +243,7 @@ sub_08077D38: @ 0x08077D38 push {r7} adds r4, r0, #0 mov r8, r1 - ldr r3, _08077D94 @ =gUnk_03003F80 + ldr r3, _08077D94 @ =gLinkState movs r7, #8 adds r1, r7, #0 mov r0, r8 @@ -285,7 +285,7 @@ _08077D6A: beq _08077DAC b _08077DB4 .align 2, 0 -_08077D94: .4byte gUnk_03003F80 +_08077D94: .4byte gLinkState _08077D98: .4byte gLinkEntity _08077D9C: .4byte gUnk_0811BE48 _08077DA0: @@ -318,7 +318,7 @@ _08077DCC: ldrb r0, [r5, #7] cmp r0, #0 beq _08077DE8 - ldr r2, _08077DF0 @ =gUnk_03003F80 + ldr r2, _08077DF0 @ =gLinkState movs r0, #8 mov r1, r8 asrs r0, r1 @@ -332,7 +332,7 @@ _08077DE8: mov r8, r3 pop {r4, r5, r6, r7, pc} .align 2, 0 -_08077DF0: .4byte gUnk_03003F80 +_08077DF0: .4byte gLinkState thumb_func_start sub_08077DF4 sub_08077DF4: @ 0x08077DF4 @@ -360,8 +360,8 @@ _08077E0A: .align 2, 0 _08077E20: .4byte gLinkEntity - thumb_func_start sub_08077E24 -sub_08077E24: @ 0x08077E24 + thumb_func_start UpdateItemAnim +UpdateItemAnim: @ 0x08077E24 push {r4, lr} adds r4, r0, #0 ldr r0, _08077E38 @ =gLinkEntity @@ -410,7 +410,7 @@ sub_08077E78: @ 0x08077E78 push {r4, r5, lr} adds r5, r0, #0 adds r3, r1, #0 - ldr r4, _08077EC4 @ =gUnk_03003F80 + ldr r4, _08077EC4 @ =gLinkState cmp r3, #0 bne _08077E9A ldr r2, [r4, #0x2c] @@ -446,13 +446,13 @@ _08077E9A: bl sub_0801D630 pop {r4, r5, pc} .align 2, 0 -_08077EC4: .4byte gUnk_03003F80 +_08077EC4: .4byte gLinkState thumb_func_start sub_08077EC8 sub_08077EC8: @ 0x08077EC8 push {r4, lr} adds r4, r0, #0 - ldr r0, _08077EDC @ =gUnk_03003F80 + ldr r0, _08077EDC @ =gLinkState ldrb r1, [r0, #0x1b] movs r0, #8 ands r0, r1 @@ -461,7 +461,7 @@ sub_08077EC8: @ 0x08077EC8 movs r0, #0 b _08077EF8 .align 2, 0 -_08077EDC: .4byte gUnk_03003F80 +_08077EDC: .4byte gLinkState _08077EE0: movs r1, #0xb8 lsls r1, r1, #1 @@ -481,24 +481,24 @@ _08077EF8: thumb_func_start sub_08077EFC sub_08077EFC: @ 0x08077EFC push {lr} - ldr r1, _08077F0C @ =gUnk_03003F80 + ldr r1, _08077F0C @ =gLinkState adds r1, #0x90 ldrh r1, [r1] bl sub_08077F24 pop {pc} .align 2, 0 -_08077F0C: .4byte gUnk_03003F80 +_08077F0C: .4byte gLinkState thumb_func_start sub_08077F10 sub_08077F10: @ 0x08077F10 push {lr} - ldr r1, _08077F20 @ =gUnk_03003F80 + ldr r1, _08077F20 @ =gLinkState adds r1, #0x92 ldrh r1, [r1] bl sub_08077F24 pop {pc} .align 2, 0 -_08077F20: .4byte gUnk_03003F80 +_08077F20: .4byte gLinkState thumb_func_start sub_08077F24 sub_08077F24: @ 0x08077F24 @@ -543,7 +543,7 @@ sub_08077F50: @ 0x08077F50 sub_08077F64: @ 0x08077F64 push {lr} adds r2, r0, #0 - ldr r0, _08077F7C @ =gUnk_03003F80 + ldr r0, _08077F7C @ =gLinkState ldrb r0, [r0, #5] cmp r0, #0 bne _08077F80 @@ -552,7 +552,7 @@ sub_08077F64: @ 0x08077F64 movs r0, #0 b _08077F82 .align 2, 0 -_08077F7C: .4byte gUnk_03003F80 +_08077F7C: .4byte gLinkState _08077F80: movs r0, #1 _08077F82: @@ -582,7 +582,7 @@ sub_08077F84: @ 0x08077F84 bhi _08077FDE adds r0, r4, #0 bl sub_0807AA80 - ldr r2, _08077FE8 @ =gUnk_03003F80 + ldr r2, _08077FE8 @ =gLinkState ldrb r1, [r2, #2] movs r0, #8 orrs r0, r1 @@ -607,7 +607,7 @@ _08077FDE: .align 2, 0 _08077FE0: .4byte gLinkEntity _08077FE4: .4byte 0xFFFFFCBD -_08077FE8: .4byte gUnk_03003F80 +_08077FE8: .4byte gLinkState thumb_func_start sub_08077FEC sub_08077FEC: @ 0x08077FEC @@ -652,7 +652,7 @@ _0807802E: _08078036: cmp r2, #0 beq _08078068 - ldr r0, _08078064 @ =gUnk_03003F80 + ldr r0, _08078064 @ =gLinkState ldrb r1, [r0, #0x1b] movs r0, #0x20 ands r0, r1 @@ -673,7 +673,7 @@ _08078036: b _0807806C .align 2, 0 _08078060: .4byte gUnk_02002A40 -_08078064: .4byte gUnk_03003F80 +_08078064: .4byte gLinkState _08078068: movs r0, #0 strb r0, [r4, #1] @@ -685,7 +685,7 @@ _0807806C: sub_08078070: @ 0x08078070 push {lr} adds r2, r0, #0 - ldr r3, _08078098 @ =gUnk_03003F80 + ldr r3, _08078098 @ =gLinkState ldrb r1, [r3, #0x1b] movs r0, #0x20 ands r0, r1 @@ -703,7 +703,7 @@ sub_08078070: @ 0x08078070 adds r0, #0xc b _080780A0 .align 2, 0 -_08078098: .4byte gUnk_03003F80 +_08078098: .4byte gLinkState _0807809C: ldrh r0, [r2, #4] adds r0, #6 @@ -745,7 +745,7 @@ _080780DA: sub_080780E0: @ 0x080780E0 push {lr} adds r2, r0, #0 - ldr r0, _080780F4 @ =gUnk_03003F80 + ldr r0, _080780F4 @ =gLinkState ldrb r1, [r0, #0x1b] movs r0, #0x40 ands r0, r1 @@ -754,7 +754,7 @@ sub_080780E0: @ 0x080780E0 movs r0, #5 b _08078102 .align 2, 0 -_080780F4: .4byte gUnk_03003F80 +_080780F4: .4byte gLinkState _080780F8: movs r0, #0x20 ands r0, r1 @@ -827,7 +827,7 @@ _0807815C: thumb_func_start sub_08078160 sub_08078160: @ 0x08078160 push {lr} - ldr r1, _08078178 @ =gUnk_03003F80 + ldr r1, _08078178 @ =gLinkState adds r1, #0xa8 strb r0, [r1] ldr r2, _0807817C @ =gLinkEntity @@ -838,7 +838,7 @@ sub_08078160: @ 0x08078160 bl sub_08078B48 pop {pc} .align 2, 0 -_08078178: .4byte gUnk_03003F80 +_08078178: .4byte gLinkState _0807817C: .4byte gLinkEntity thumb_func_start sub_08078180 @@ -854,7 +854,7 @@ sub_08078180: @ 0x08078180 b _080782BC _08078192: movs r4, #0 - ldr r5, _080781CC @ =gUnk_03003F80 + ldr r5, _080781CC @ =gLinkState ldrb r0, [r5, #2] cmp r0, #0 beq _0807819E @@ -885,7 +885,7 @@ _080781C4: b _080782B6 .align 2, 0 _080781C8: .4byte gUnk_0200AF00 -_080781CC: .4byte gUnk_03003F80 +_080781CC: .4byte gLinkState _080781D0: .4byte 0x00104D00 _080781D4: adds r1, r6, #0 @@ -1002,7 +1002,7 @@ _080782BC: thumb_func_start sub_080782C0 sub_080782C0: @ 0x080782C0 push {r4, r5, r6, lr} - ldr r1, _080782D8 @ =gUnk_03003F80 + ldr r1, _080782D8 @ =gLinkState adds r2, r1, #0 adds r2, #0xa8 ldrb r0, [r2] @@ -1014,7 +1014,7 @@ sub_080782C0: @ 0x080782C0 ldrb r0, [r0] b _080782DE .align 2, 0 -_080782D8: .4byte gUnk_03003F80 +_080782D8: .4byte gLinkState _080782DC: ldrb r0, [r2] _080782DE: @@ -1112,7 +1112,7 @@ _080783A6: beq _080783B6 b _080784AC _080783B6: - ldr r2, _08078408 @ =gUnk_03003F80 + ldr r2, _08078408 @ =gLinkState adds r0, r2, #0 adds r0, #0x92 ldrh r1, [r0] @@ -1151,7 +1151,7 @@ _080783B6: .align 2, 0 _08078400: .4byte gLinkEntity _08078404: .4byte 0x00000206 -_08078408: .4byte gUnk_03003F80 +_08078408: .4byte gLinkState _0807840C: .4byte gUnk_03003DF0 _08078410: .4byte gUnk_02002A40 _08078414: .4byte 0x0000012B @@ -1270,7 +1270,7 @@ sub_080784E4: @ 0x080784E4 .align 2, 0 _080784FC: .4byte gUnk_03003DF0 _08078500: - ldr r2, _08078528 @ =gUnk_03003F80 + ldr r2, _08078528 @ =gLinkState adds r0, r2, #0 adds r0, #0x27 adds r3, r2, #0 @@ -1290,7 +1290,7 @@ _08078500: ldrb r0, [r0] b _0807852E .align 2, 0 -_08078528: .4byte gUnk_03003F80 +_08078528: .4byte gLinkState _0807852C: ldrb r0, [r1] _0807852E: @@ -1448,7 +1448,7 @@ _08078674: @ jump table .4byte _080786A0 @ case 9 .4byte _080786D4 @ case 10 _080786A0: - ldr r0, _080786B0 @ =gUnk_03003F80 + ldr r0, _080786B0 @ =gLinkState ldr r0, [r0, #0x30] movs r1, #0x80 ands r0, r1 @@ -1456,15 +1456,15 @@ _080786A0: bne _08078714 b _080786D4 .align 2, 0 -_080786B0: .4byte gUnk_03003F80 +_080786B0: .4byte gLinkState _080786B4: - ldr r0, _080786C0 @ =gUnk_03003F80 + ldr r0, _080786C0 @ =gLinkState ldr r0, [r0, #0x30] movs r1, #0x80 ands r0, r1 b _080786D0 .align 2, 0 -_080786C0: .4byte gUnk_03003F80 +_080786C0: .4byte gLinkState _080786C4: ldrb r0, [r5, #3] b _080786D0 @@ -1904,7 +1904,7 @@ sub_080789A8: @ 0x080789A8 .align 2, 0 _080789BC: .4byte gUnk_03003BE0 _080789C0: - ldr r0, _08078A5C @ =gUnk_03003F80 + ldr r0, _08078A5C @ =gLinkState ldr r0, [r0, #0x30] movs r1, #0x80 ands r0, r1 @@ -1923,7 +1923,7 @@ _080789C0: cmp r0, #0xf beq _08078A56 _080789E6: - ldr r0, _08078A5C @ =gUnk_03003F80 + ldr r0, _08078A5C @ =gLinkState ldrb r0, [r0, #0x12] cmp r0, #0x12 beq _08078A56 @@ -1983,7 +1983,7 @@ _08078A56: movs r0, #0 b _08078A88 .align 2, 0 -_08078A5C: .4byte gUnk_03003F80 +_08078A5C: .4byte gLinkState _08078A60: .4byte gLinkEntity _08078A64: .4byte gUnk_080084BC _08078A68: .4byte gUnk_03003BE0 @@ -2011,7 +2011,7 @@ _08078A88: sub_08078A90: @ 0x08078A90 push {lr} adds r1, r0, #0 - ldr r0, _08078AA4 @ =gUnk_03003F80 + ldr r0, _08078AA4 @ =gLinkState adds r2, r0, #0 adds r2, #0x8b ldrb r0, [r2] @@ -2021,11 +2021,11 @@ sub_08078A90: @ 0x08078A90 _08078AA2: pop {pc} .align 2, 0 -_08078AA4: .4byte gUnk_03003F80 +_08078AA4: .4byte gLinkState thumb_func_start sub_08078AA8 sub_08078AA8: @ 0x08078AA8 - ldr r3, _08078AB8 @ =gUnk_03003F80 + ldr r3, _08078AB8 @ =gLinkState movs r2, #0x16 strb r2, [r3, #0xc] ldr r2, _08078ABC @ =gUnk_030010A0 @@ -2034,13 +2034,13 @@ sub_08078AA8: @ 0x08078AA8 strb r1, [r2] bx lr .align 2, 0 -_08078AB8: .4byte gUnk_03003F80 +_08078AB8: .4byte gLinkState _08078ABC: .4byte gUnk_030010A0 thumb_func_start sub_08078AC0 sub_08078AC0: @ 0x08078AC0 push {r4, lr} - ldr r3, _08078AEC @ =gUnk_03003F80 + ldr r3, _08078AEC @ =gLinkState mov ip, r3 movs r3, #0xf mov r4, ip @@ -2061,12 +2061,12 @@ sub_08078AC0: @ 0x08078AC0 strb r0, [r1] pop {r4, pc} .align 2, 0 -_08078AEC: .4byte gUnk_03003F80 +_08078AEC: .4byte gLinkState thumb_func_start sub_08078AF0 sub_08078AF0: @ 0x08078AF0 push {r4, lr} - ldr r3, _08078B40 @ =gUnk_03003F80 + ldr r3, _08078B40 @ =gLinkState mov ip, r3 adds r3, #0x38 movs r4, #0 @@ -2104,13 +2104,13 @@ sub_08078AF0: @ 0x08078AF0 bl sub_0807A108 pop {r4, pc} .align 2, 0 -_08078B40: .4byte gUnk_03003F80 +_08078B40: .4byte gLinkState _08078B44: .4byte gLinkEntity thumb_func_start sub_08078B48 sub_08078B48: @ 0x08078B48 push {lr} - ldr r1, _08078B80 @ =gUnk_03003F80 + ldr r1, _08078B80 @ =gLinkState ldrb r0, [r1, #7] movs r2, #0x80 orrs r0, r2 @@ -2138,7 +2138,7 @@ sub_08078B48: @ 0x08078B48 ldr r0, [r0] mov pc, r0 .align 2, 0 -_08078B80: .4byte gUnk_03003F80 +_08078B80: .4byte gLinkState _08078B84: .4byte _08078B88 _08078B88: @ jump table .4byte _08078C04 @ case 0 @@ -2197,7 +2197,7 @@ _08078C20: .4byte gLinkEntity thumb_func_start sub_08078C24 sub_08078C24: @ 0x08078C24 push {lr} - ldr r3, _08078CAC @ =gUnk_03003F80 + ldr r3, _08078CAC @ =gLinkState movs r2, #0 strb r2, [r3] strb r2, [r3, #1] @@ -2263,13 +2263,13 @@ sub_08078C24: @ 0x08078C24 bl sub_0801D630 pop {pc} .align 2, 0 -_08078CAC: .4byte gUnk_03003F80 +_08078CAC: .4byte gLinkState _08078CB0: .4byte gUnk_03003DF0 thumb_func_start sub_08078CB4 sub_08078CB4: @ 0x08078CB4 push {lr} - ldr r0, _08078CCC @ =gUnk_03003F80 + ldr r0, _08078CCC @ =gLinkState ldrb r0, [r0, #5] subs r0, #3 lsls r0, r0, #0x18 @@ -2280,7 +2280,7 @@ sub_08078CB4: @ 0x08078CB4 _08078CC8: pop {pc} .align 2, 0 -_08078CCC: .4byte gUnk_03003F80 +_08078CCC: .4byte gLinkState thumb_func_start sub_08078CD0 sub_08078CD0: @ 0x08078CD0 @@ -2305,7 +2305,7 @@ sub_08078CD0: @ 0x08078CD0 adds r0, #0x38 strb r1, [r0] ldr r1, _08078D28 @ =gUnk_0811C01C - ldr r0, _08078D2C @ =gUnk_03003F80 + ldr r0, _08078D2C @ =gLinkState ldr r0, [r0, #0x2c] ldrb r0, [r0, #0x1e] adds r0, r0, r1 @@ -2330,7 +2330,7 @@ sub_08078CD0: @ 0x08078CD0 b _08078D3C .align 2, 0 _08078D28: .4byte gUnk_0811C01C -_08078D2C: .4byte gUnk_03003F80 +_08078D2C: .4byte gLinkState _08078D30: .4byte gUnk_0811C0B0 _08078D34: movs r0, #0 @@ -2352,7 +2352,7 @@ _08078D3C: cmp r1, #0 beq _08078D5E adds r0, r4, #0 - bl sub_0806FA24 + bl CopyPosition _08078D5E: pop {r4, r5, pc} @@ -2435,7 +2435,7 @@ _08078DE0: adds r0, r5, #0 adds r1, r4, #0 bl sub_0806FAB0 - ldr r0, _08078E34 @ =gUnk_03003F80 + ldr r0, _08078E34 @ =gLinkState ldrb r0, [r0, #5] cmp r0, #4 bne _08078E4C @@ -2464,7 +2464,7 @@ _08078DE0: beq _08078E44 b _08078E82 .align 2, 0 -_08078E34: .4byte gUnk_03003F80 +_08078E34: .4byte gLinkState _08078E38: .4byte gUnk_030010A0 _08078E3C: ldrh r0, [r4, #0x2e] @@ -2562,7 +2562,7 @@ _08078EE2: thumb_func_start sub_08078EE4 sub_08078EE4: @ 0x08078EE4 ldr r2, _08078EF4 @ =gLinkEntity - ldr r1, _08078EF8 @ =gUnk_03003F80 + ldr r1, _08078EF8 @ =gLinkState ldrh r0, [r1, #0x16] strh r0, [r2, #0x2e] ldrh r0, [r1, #0x18] @@ -2570,12 +2570,12 @@ sub_08078EE4: @ 0x08078EE4 bx lr .align 2, 0 _08078EF4: .4byte gLinkEntity -_08078EF8: .4byte gUnk_03003F80 +_08078EF8: .4byte gLinkState thumb_func_start sub_08078EFC sub_08078EFC: @ 0x08078EFC push {lr} - ldr r3, _08078F18 @ =gUnk_03003F80 + ldr r3, _08078F18 @ =gLinkState ldrb r2, [r3, #0xc] cmp r2, #0 beq _08078F20 @@ -2588,7 +2588,7 @@ sub_08078EFC: @ 0x08078EFC movs r0, #1 b _08078F22 .align 2, 0 -_08078F18: .4byte gUnk_03003F80 +_08078F18: .4byte gLinkState _08078F1C: .4byte gLinkEntity _08078F20: movs r0, #0 @@ -2598,7 +2598,7 @@ _08078F22: thumb_func_start sub_08078F24 sub_08078F24: @ 0x08078F24 push {r4, lr} - ldr r4, _08078F38 @ =gUnk_03003F80 + ldr r4, _08078F38 @ =gLinkState ldrb r3, [r4, #0xd] movs r0, #0x80 ands r0, r3 @@ -2607,7 +2607,7 @@ sub_08078F24: @ 0x08078F24 bl sub_08078F60 b _08078F5A .align 2, 0 -_08078F38: .4byte gUnk_03003F80 +_08078F38: .4byte gLinkState _08078F3C: ldr r2, _08078F5C @ =gUnk_080C9160 lsls r0, r3, #4 @@ -2631,7 +2631,7 @@ _08078F5C: .4byte gUnk_080C9160 thumb_func_start sub_08078F60 sub_08078F60: @ 0x08078F60 - ldr r0, _08078F70 @ =gUnk_03003F80 + ldr r0, _08078F70 @ =gLinkState adds r1, r0, #0 adds r1, #0x8c movs r2, #0 @@ -2640,7 +2640,7 @@ sub_08078F60: @ 0x08078F60 strh r2, [r0] bx lr .align 2, 0 -_08078F70: .4byte gUnk_03003F80 +_08078F70: .4byte gLinkState thumb_func_start sub_08078F74 sub_08078F74: @ 0x08078F74 @@ -2650,7 +2650,7 @@ sub_08078F74: @ 0x08078F74 ldrb r0, [r0, #0x18] cmp r0, #3 bne _08078FAC - ldr r3, _08078FA8 @ =gUnk_03003F80 + ldr r3, _08078FA8 @ =gLinkState adds r0, r3, #0 adds r0, #0x35 ldrb r0, [r0] @@ -2669,7 +2669,7 @@ sub_08078F74: @ 0x08078F74 b _08078FAE .align 2, 0 _08078FA4: .4byte gUnk_02033A90 -_08078FA8: .4byte gUnk_03003F80 +_08078FA8: .4byte gLinkState _08078FAC: movs r0, #0 _08078FAE: @@ -2679,7 +2679,7 @@ _08078FAE: sub_08078FB0: @ 0x08078FB0 push {r4, r5, r6, lr} adds r4, r0, #0 - ldr r5, _08078FE0 @ =gUnk_03003F80 + ldr r5, _08078FE0 @ =gLinkState ldrb r1, [r5, #6] movs r6, #0x80 adds r0, r6, #0 @@ -2701,7 +2701,7 @@ _08078FCA: movs r2, #0x58 b _08078FFA .align 2, 0 -_08078FE0: .4byte gUnk_03003F80 +_08078FE0: .4byte gLinkState _08078FE4: ands r1, r6 cmp r1, #0 @@ -2716,7 +2716,7 @@ _08078FEE: bne _08078FFA movs r2, #0x34 _08078FFA: - ldr r0, _08079014 @ =gUnk_03003F80 + ldr r0, _08079014 @ =gLinkState adds r3, r0, #0 ldrb r1, [r0, #8] cmp r2, r1 @@ -2730,7 +2730,7 @@ _08078FFA: orrs r0, r1 b _08079020 .align 2, 0 -_08079014: .4byte gUnk_03003F80 +_08079014: .4byte gLinkState _08079018: ldrb r1, [r4, #0x18] movs r0, #0x41 @@ -2779,7 +2779,7 @@ _08079062: sub_08079064: @ 0x08079064 push {r4, r5, r6, lr} adds r6, r0, #0 - ldr r0, _0807909C @ =gUnk_03003F80 + ldr r0, _0807909C @ =gLinkState ldr r1, [r0, #0x30] ldr r2, _080790A0 @ =0x00100080 ands r1, r2 @@ -2807,7 +2807,7 @@ _08079086: strh r4, [r2, #8] b _080790DE .align 2, 0 -_0807909C: .4byte gUnk_03003F80 +_0807909C: .4byte gLinkState _080790A0: .4byte 0x00100080 _080790A4: .4byte gUnk_03000B80 _080790A8: @@ -2848,7 +2848,7 @@ _080790E0: .4byte 0x00000404 sub_080790E4: @ 0x080790E4 push {r4, r5, lr} adds r4, r0, #0 - ldr r5, _08079128 @ =gUnk_03003F80 + ldr r5, _08079128 @ =gLinkState ldrb r0, [r5, #0xb] cmp r0, #0 bne _08079182 @@ -2877,7 +2877,7 @@ sub_080790E4: @ 0x080790E4 bl PlaySFX b _08079182 .align 2, 0 -_08079128: .4byte gUnk_03003F80 +_08079128: .4byte gLinkState _0807912C: ldrb r1, [r5, #6] movs r0, #0x80 @@ -2901,7 +2901,7 @@ _08079150: subs r0, r1, #1 strb r0, [r5, #6] _08079154: - ldr r2, _08079174 @ =gUnk_03003F80 + ldr r2, _08079174 @ =gLinkState ldrb r0, [r4, #0x14] adds r1, r2, #0 adds r1, #0x35 @@ -2917,7 +2917,7 @@ _08079154: ldr r0, _08079178 @ =0x0000093C b _08079180 .align 2, 0 -_08079174: .4byte gUnk_03003F80 +_08079174: .4byte gLinkState _08079178: .4byte 0x0000093C _0807917C: movs r0, #0xcf @@ -2929,7 +2929,7 @@ _08079182: thumb_func_start sub_08079184 sub_08079184: @ 0x08079184 - ldr r0, _08079194 @ =gUnk_03003F80 + ldr r0, _08079194 @ =gLinkState movs r1, #0 strb r1, [r0, #5] strb r1, [r0, #1] @@ -2937,13 +2937,13 @@ sub_08079184: @ 0x08079184 str r1, [r0, #0x74] bx lr .align 2, 0 -_08079194: .4byte gUnk_03003F80 +_08079194: .4byte gLinkState _08079198: .4byte gLinkEntity thumb_func_start sub_0807919C sub_0807919C: @ 0x0807919C push {lr} - ldr r0, _080791B0 @ =gUnk_03003F80 + ldr r0, _080791B0 @ =gLinkState ldr r0, [r0, #0x30] movs r1, #0x80 ands r0, r1 @@ -2952,7 +2952,7 @@ sub_0807919C: @ 0x0807919C bl sub_080791BC b _080791B8 .align 2, 0 -_080791B0: .4byte gUnk_03003F80 +_080791B0: .4byte gLinkState _080791B4: bl sub_08079258 _080791B8: @@ -2974,7 +2974,7 @@ _080791CC: .4byte gLinkEntity thumb_func_start sub_080791D0 sub_080791D0: @ 0x080791D0 push {lr} - ldr r3, _0807920C @ =gUnk_03003F80 + ldr r3, _0807920C @ =gLinkState ldr r0, [r3, #0x30] movs r1, #0x40 ands r0, r1 @@ -3003,7 +3003,7 @@ _080791E8: bl sub_0807921C b _08079218 .align 2, 0 -_0807920C: .4byte gUnk_03003F80 +_0807920C: .4byte gLinkState _08079210: .4byte gLinkEntity _08079214: bl sub_08079258 @@ -3023,7 +3023,7 @@ sub_0807921C: @ 0x0807921C movs r1, #3 orrs r0, r1 strb r0, [r4, #0x18] - ldr r2, _08079250 @ =gUnk_03003F80 + ldr r2, _08079250 @ =gLinkState ldr r0, [r2, #0x30] ldr r1, _08079254 @ =0xFECBF6FA ands r0, r1 @@ -3035,13 +3035,13 @@ sub_0807921C: @ 0x0807921C pop {r4, pc} .align 2, 0 _0807924C: .4byte gLinkEntity -_08079250: .4byte gUnk_03003F80 +_08079250: .4byte gLinkState _08079254: .4byte 0xFECBF6FA thumb_func_start sub_08079258 sub_08079258: @ 0x08079258 push {r4, lr} - ldr r4, _080792AC @ =gUnk_03003F80 + ldr r4, _080792AC @ =gLinkState ldr r0, [r4, #0x30] movs r1, #0x40 ands r0, r1 @@ -3082,7 +3082,7 @@ _08079278: bl sub_0805E374 pop {r4, pc} .align 2, 0 -_080792AC: .4byte gUnk_03003F80 +_080792AC: .4byte gLinkState _080792B0: .4byte gLinkEntity _080792B4: .4byte 0x00000C18 _080792B8: .4byte 0xFECFFEFA @@ -3090,7 +3090,7 @@ _080792B8: .4byte 0xFECFFEFA thumb_func_start sub_080792BC sub_080792BC: @ 0x080792BC push {r4, lr} - ldr r3, _080792D0 @ =gUnk_03003F80 + ldr r3, _080792D0 @ =gLinkState movs r4, #0x13 strb r4, [r3, #0xc] adds r3, #0x38 @@ -3100,7 +3100,7 @@ sub_080792BC: @ 0x080792BC strb r1, [r2, #0x15] pop {r4, pc} .align 2, 0 -_080792D0: .4byte gUnk_03003F80 +_080792D0: .4byte gLinkState _080792D4: .4byte gLinkEntity thumb_func_start sub_080792D8 @@ -3115,7 +3115,7 @@ sub_080792D8: @ 0x080792D8 ldrb r2, [r5, #0xc] cmp r2, #0xb beq _08079338 - ldr r0, _08079348 @ =gUnk_03003F80 + ldr r0, _08079348 @ =gLinkState ldrb r1, [r0, #0x1e] adds r6, r0, #0 cmp r1, #0 @@ -3161,7 +3161,7 @@ _08079338: b _080793E0 .align 2, 0 _08079344: .4byte gLinkEntity -_08079348: .4byte gUnk_03003F80 +_08079348: .4byte gLinkState _0807934C: cmp r2, #0x1d bne _0807935E @@ -3247,7 +3247,7 @@ _080793E0: sub_080793E4: @ 0x080793E4 push {r4, r5, lr} adds r5, r0, #0 - ldr r0, _080793FC @ =gUnk_03003F80 + ldr r0, _080793FC @ =gLinkState adds r0, #0x26 ldrb r0, [r0] cmp r0, #0 @@ -3258,7 +3258,7 @@ sub_080793E4: @ 0x080793E4 lsrs r0, r0, #1 b _08079410 .align 2, 0 -_080793FC: .4byte gUnk_03003F80 +_080793FC: .4byte gLinkState _08079400: .4byte gUnk_0811C0F8 _08079404: .4byte gLinkEntity _08079408: @@ -3273,7 +3273,7 @@ _08079410: bl sub_08079778 cmp r0, #0 beq _08079454 - ldr r0, _08079450 @ =gUnk_03003F80 + ldr r0, _08079450 @ =gLinkState adds r0, #0x90 ldrh r0, [r0] ands r0, r4 @@ -3295,7 +3295,7 @@ _08079442: .align 2, 0 _08079448: .4byte gUnk_0811C0F8 _0807944C: .4byte gLinkEntity -_08079450: .4byte gUnk_03003F80 +_08079450: .4byte gLinkState _08079454: movs r0, #0 _08079456: @@ -3314,7 +3314,7 @@ sub_08079458: @ 0x08079458 adds r0, #0x42 strb r1, [r0] bl sub_08078EE4 - ldr r2, _0807949C @ =gUnk_03003F80 + ldr r2, _0807949C @ =gLinkState ldr r1, [r2, #0x30] movs r0, #0x80 lsls r0, r0, #0xa @@ -3336,7 +3336,7 @@ sub_08079458: @ 0x08079458 b _08079514 .align 2, 0 _08079498: .4byte gLinkEntity -_0807949C: .4byte gUnk_03003F80 +_0807949C: .4byte gLinkState _080794A0: ldr r2, _080794DC @ =gLinkEntity ldr r0, [r4] @@ -3406,7 +3406,7 @@ _0807951C: .4byte gLinkEntity sub_08079520: @ 0x08079520 push {lr} adds r1, r0, #0 - ldr r0, _08079538 @ =gUnk_03003F80 + ldr r0, _08079538 @ =gLinkState ldrb r0, [r0, #0xd] cmp r0, #0x7f ble _08079532 @@ -3417,19 +3417,19 @@ _08079532: strb r0, [r1, #0x15] pop {pc} .align 2, 0 -_08079538: .4byte gUnk_03003F80 +_08079538: .4byte gLinkState thumb_func_start sub_0807953C sub_0807953C: @ 0x0807953C ldr r1, _08079548 @ =0x00000F38 - ldr r0, _0807954C @ =gUnk_03003F80 + ldr r0, _0807954C @ =gLinkState adds r0, #0x92 ldrh r0, [r0] ands r0, r1 bx lr .align 2, 0 _08079548: .4byte 0x00000F38 -_0807954C: .4byte gUnk_03003F80 +_0807954C: .4byte gLinkState thumb_func_start sub_08079550 sub_08079550: @ 0x08079550 @@ -3443,7 +3443,7 @@ sub_08079550: @ 0x08079550 beq _08079562 b _080796FC _08079562: - ldr r2, _080795AC @ =gUnk_03003F80 + ldr r2, _080795AC @ =gLinkState ldrb r0, [r2, #0x1e] cmp r0, #0 beq _08079576 @@ -3482,7 +3482,7 @@ _080795A0: b _080796FE .align 2, 0 _080795A8: .4byte gUnk_03004030 -_080795AC: .4byte gUnk_03003F80 +_080795AC: .4byte gLinkState _080795B0: .4byte gLinkEntity _080795B4: bl sub_08079778 @@ -3603,7 +3603,7 @@ _0807965E: adds r3, r0, #0 cmp r3, #0 beq _080796FC - ldr r1, _080796F4 @ =gUnk_03003F80 + ldr r1, _080796F4 @ =gLinkState ldrb r2, [r1, #6] movs r0, #0x80 orrs r0, r2 @@ -3639,7 +3639,7 @@ _080796C8: .align 2, 0 _080796EC: .4byte gRoomControls _080796F0: .4byte gUnk_0811C1E8 -_080796F4: .4byte gUnk_03003F80 +_080796F4: .4byte gLinkState _080796F8: .4byte gLinkEntity _080796FC: movs r0, #0 @@ -3653,7 +3653,7 @@ _080796FE: thumb_func_start sub_08079708 sub_08079708: @ 0x08079708 push {r4, lr} - ldr r4, _08079740 @ =gUnk_03003F80 + ldr r4, _08079740 @ =gLinkState adds r2, r4, #0 adds r2, #0xa8 movs r3, #0 @@ -3680,7 +3680,7 @@ sub_08079708: @ 0x08079708 _0807973E: pop {r4, pc} .align 2, 0 -_08079740: .4byte gUnk_03003F80 +_08079740: .4byte gLinkState thumb_func_start sub_08079744 sub_08079744: @ 0x08079744 @@ -3720,7 +3720,7 @@ _08079774: thumb_func_start sub_08079778 sub_08079778: @ 0x08079778 push {lr} - ldr r0, _08079790 @ =gUnk_03003F80 + ldr r0, _08079790 @ =gLinkState adds r0, #0x26 ldrb r0, [r0] cmp r0, #0 @@ -3731,7 +3731,7 @@ sub_08079778: @ 0x08079778 lsrs r0, r0, #1 b _080797A4 .align 2, 0 -_08079790: .4byte gUnk_03003F80 +_08079790: .4byte gLinkState _08079794: .4byte gUnk_0811C108 _08079798: .4byte gLinkEntity _0807979C: @@ -3782,7 +3782,7 @@ _080797E8: .4byte gLinkEntity thumb_func_start sub_080797EC sub_080797EC: @ 0x080797EC push {r4, r5, lr} - ldr r4, _08079804 @ =gUnk_03003F80 + ldr r4, _08079804 @ =gLinkState ldr r1, [r4, #0x30] movs r0, #8 ands r0, r1 @@ -3794,7 +3794,7 @@ sub_080797EC: @ 0x080797EC ldr r5, _08079808 @ =0x00000934 b _0807991E .align 2, 0 -_08079804: .4byte gUnk_03003F80 +_08079804: .4byte gLinkState _08079808: .4byte 0x00000934 _0807980C: ldrb r0, [r4, #3] @@ -3945,7 +3945,7 @@ _0807990A: movs r5, #0xc1 lsls r5, r5, #3 _0807991E: - ldr r0, _08079930 @ =gUnk_03003F80 + ldr r0, _08079930 @ =gLinkState strh r5, [r0, #8] ldrb r0, [r0, #3] cmp r0, #0 @@ -3955,13 +3955,13 @@ _0807991E: _0807992E: pop {r4, r5, pc} .align 2, 0 -_08079930: .4byte gUnk_03003F80 +_08079930: .4byte gLinkState _08079934: .4byte gLinkEntity thumb_func_start sub_08079938 sub_08079938: @ 0x08079938 push {r4, lr} - ldr r3, _08079954 @ =gUnk_03003F80 + ldr r3, _08079954 @ =gLinkState ldr r2, [r3, #0x30] movs r0, #8 ands r0, r2 @@ -3974,7 +3974,7 @@ sub_08079938: @ 0x08079938 ldr r4, _08079958 @ =0x0000092C b _08079AD8 .align 2, 0 -_08079954: .4byte gUnk_03003F80 +_08079954: .4byte gLinkState _08079958: .4byte 0x0000092C _0807995C: mov r0, ip @@ -4218,14 +4218,14 @@ _08079AF0: ldr r0, _08079B1C @ =gLinkEntity bl sub_080042B8 _08079B10: - ldr r0, _08079B20 @ =gUnk_03003F80 + ldr r0, _08079B20 @ =gLinkState strb r4, [r0] _08079B14: pop {r4, pc} .align 2, 0 _08079B18: .4byte gUnk_03000B80 _08079B1C: .4byte gLinkEntity -_08079B20: .4byte gUnk_03003F80 +_08079B20: .4byte gLinkState thumb_func_start sub_08079B24 sub_08079B24: @ 0x08079B24 @@ -4239,7 +4239,7 @@ sub_08079B24: @ 0x08079B24 ldrb r3, [r0] cmp r3, #0 bne _08079BD4 - ldr r4, _08079B64 @ =gUnk_03003F80 + ldr r4, _08079B64 @ =gLinkState ldr r1, [r4, #0x30] ldr r0, _08079B68 @ =0xFEFFFFFF ands r1, r0 @@ -4259,7 +4259,7 @@ sub_08079B24: @ 0x08079B24 b _08079BC0 .align 2, 0 _08079B60: .4byte gLinkEntity -_08079B64: .4byte gUnk_03003F80 +_08079B64: .4byte gLinkState _08079B68: .4byte 0xFEFFFFFF _08079B6C: ldrb r0, [r4, #0x14] @@ -4373,7 +4373,7 @@ sub_08079C30: @ 0x08079C30 mov r7, r8 push {r7} adds r6, r0, #0 - ldr r0, _08079C68 @ =gUnk_03003F80 + ldr r0, _08079C68 @ =gLinkState ldrb r1, [r0, #0x14] adds r7, r0, #0 cmp r1, #0 @@ -4399,7 +4399,7 @@ _08079C44: ldr r0, [r0] mov pc, r0 .align 2, 0 -_08079C68: .4byte gUnk_03003F80 +_08079C68: .4byte gLinkState _08079C6C: .4byte _08079C70 _08079C70: @ jump table .4byte _08079D36 @ case 0 @@ -4518,7 +4518,7 @@ sub_08079D84: @ 0x08079D84 cmp r0, #0x18 bne _08079DBE _08079D92: - ldr r2, _08079DC4 @ =gUnk_03003F80 + ldr r2, _08079DC4 @ =gLinkState adds r1, r2, #0 adds r1, #0x38 movs r0, #0x9c @@ -4542,7 +4542,7 @@ _08079DBE: pop {pc} .align 2, 0 _08079DC0: .4byte gLinkEntity -_08079DC4: .4byte gUnk_03003F80 +_08079DC4: .4byte gLinkState _08079DC8: .4byte 0x00000193 thumb_func_start sub_08079DCC @@ -4552,7 +4552,7 @@ sub_08079DCC: @ 0x08079DCC ldrb r0, [r0, #0xc] cmp r0, #1 bne _08079DF8 - ldr r3, _08079E00 @ =gUnk_03003F80 + ldr r3, _08079E00 @ =gLinkState adds r1, r3, #0 adds r1, #0x38 movs r2, #0 @@ -4572,7 +4572,7 @@ _08079DF8: pop {pc} .align 2, 0 _08079DFC: .4byte gLinkEntity -_08079E00: .4byte gUnk_03003F80 +_08079E00: .4byte gLinkState _08079E04: .4byte 0x00000193 thumb_func_start sub_08079E08 @@ -4585,7 +4585,7 @@ sub_08079E08: @ 0x08079E08 adds r4, r0, #0 cmp r1, #0 beq _08079E2E - ldr r0, _08079E54 @ =gUnk_03003F80 + ldr r0, _08079E54 @ =gLinkState adds r0, #0x80 ldrh r0, [r0] adds r0, r2, r0 @@ -4613,7 +4613,7 @@ _08079E40: pop {r4, pc} .align 2, 0 _08079E50: .4byte gLinkEntity -_08079E54: .4byte gUnk_03003F80 +_08079E54: .4byte gLinkState thumb_func_start sub_08079E58 sub_08079E58: @ 0x08079E58 @@ -4783,7 +4783,7 @@ _08079F88: .4byte gLinkEntity thumb_func_start sub_08079F8C sub_08079F8C: @ 0x08079F8C push {lr} - ldr r2, _08079FB4 @ =gUnk_03003F80 + ldr r2, _08079FB4 @ =gLinkState ldr r0, [r2, #0x30] ldr r1, _08079FB8 @ =0x22189B75 ands r0, r1 @@ -4804,7 +4804,7 @@ _08079FB0: movs r0, #0 b _08079FC2 .align 2, 0 -_08079FB4: .4byte gUnk_03003F80 +_08079FB4: .4byte gLinkState _08079FB8: .4byte 0x22189B75 _08079FBC: .4byte gLinkEntity _08079FC0: @@ -4891,7 +4891,7 @@ _0807A04C: .4byte gUnk_080082DC thumb_func_start sub_0807A050 sub_0807A050: @ 0x0807A050 push {lr} - ldr r3, _0807A088 @ =gUnk_03003F80 + ldr r3, _0807A088 @ =gLinkState ldrb r2, [r3, #0xf] cmp r2, #0 beq _0807A06A @@ -4907,7 +4907,7 @@ _0807A06A: movs r0, #0 bl sub_0807A094 adds r1, r0, #0 - ldr r0, _0807A088 @ =gUnk_03003F80 + ldr r0, _0807A088 @ =gLinkState adds r0, #0x83 ldrb r2, [r0] cmp r1, r2 @@ -4918,7 +4918,7 @@ _0807A06A: _0807A084: pop {pc} .align 2, 0 -_0807A088: .4byte gUnk_03003F80 +_0807A088: .4byte gLinkState _0807A08C: .4byte gTextBox _0807A090: .4byte gLinkEntity @@ -4927,7 +4927,7 @@ sub_0807A094: @ 0x0807A094 push {r4, r5, lr} adds r3, r0, #0 movs r2, #0x16 - ldr r0, _0807A0AC @ =gUnk_03003F80 + ldr r0, _0807A0AC @ =gLinkState ldrb r0, [r0, #0xf] cmp r0, #0 beq _0807A0B0 @@ -4937,7 +4937,7 @@ sub_0807A094: @ 0x0807A094 movs r2, #0x1a b _0807A104 .align 2, 0 -_0807A0AC: .4byte gUnk_03003F80 +_0807A0AC: .4byte gLinkState _0807A0B0: ldr r0, _0807A0F0 @ =gUnk_02002A40 adds r1, r0, #0 @@ -4997,7 +4997,7 @@ sub_0807A108: @ 0x0807A108 str r0, [r1] str r0, [r1, #4] str r0, [r1, #8] - ldr r2, _0807A14C @ =gUnk_03003F80 + ldr r2, _0807A14C @ =gLinkState ldr r0, [r2, #0x30] ldr r1, _0807A150 @ =0xFFBFFFFF ands r0, r1 @@ -5026,7 +5026,7 @@ _0807A144: pop {pc} .align 2, 0 _0807A148: .4byte gUnk_03004040 -_0807A14C: .4byte gUnk_03003F80 +_0807A14C: .4byte gLinkState _0807A150: .4byte 0xFFBFFFFF _0807A154: .4byte gLinkEntity @@ -5089,7 +5089,7 @@ sub_0807A1B8: @ 0x0807A1B8 movs r1, #0 movs r2, #0 bl sub_0807A1E8 - ldr r1, _0807A1E0 @ =gUnk_03003F80 + ldr r1, _0807A1E0 @ =gLinkState strb r0, [r1, #0x12] ldr r2, _0807A1E4 @ =gUnk_0811C120 ldrb r0, [r1, #0x12] @@ -5101,7 +5101,7 @@ sub_0807A1B8: @ 0x0807A1B8 pop {r4, pc} .align 2, 0 _0807A1DC: .4byte gLinkEntity -_0807A1E0: .4byte gUnk_03003F80 +_0807A1E0: .4byte gLinkState _0807A1E4: .4byte gUnk_0811C120 thumb_func_start sub_0807A1E8 @@ -5135,7 +5135,7 @@ sub_0807A1E8: @ 0x0807A1E8 ldrb r2, [r2] bl sub_080002A4 adds r2, r0, #0 - ldr r1, _0807A290 @ =gUnk_03003F80 + ldr r1, _0807A290 @ =gLinkState ldrh r0, [r1, #0x24] cmp r2, r0 beq _0807A23A @@ -5152,7 +5152,7 @@ _0807A23A: cmp r4, r0 beq _0807A24E _0807A242: - ldr r0, _0807A290 @ =gUnk_03003F80 + ldr r0, _0807A290 @ =gLinkState movs r1, #0 strh r4, [r0, #0x22] strh r2, [r0, #0x24] @@ -5190,7 +5190,7 @@ _0807A26A: .align 2, 0 _0807A288: .4byte gRoomControls _0807A28C: .4byte gLinkEntity -_0807A290: .4byte gUnk_03003F80 +_0807A290: .4byte gLinkState _0807A294: .4byte gUnk_08007CAC thumb_func_start sub_0807A298 @@ -5201,7 +5201,7 @@ sub_0807A298: @ 0x0807A298 movs r2, #3 orrs r1, r2 strb r1, [r0, #0x18] - ldr r2, _0807A2B4 @ =gUnk_03003F80 + ldr r2, _0807A2B4 @ =gLinkState ldr r0, [r2, #0x30] movs r1, #0x41 rsbs r1, r1, #0 @@ -5209,7 +5209,7 @@ sub_0807A298: @ 0x0807A298 str r0, [r2, #0x30] bx lr .align 2, 0 -_0807A2B4: .4byte gUnk_03003F80 +_0807A2B4: .4byte gLinkState thumb_func_start sub_0807A2B8 sub_0807A2B8: @ 0x0807A2B8 @@ -5220,7 +5220,7 @@ sub_0807A2B8: @ 0x0807A2B8 movs r0, #1 b _0807A2EC _0807A2C6: - ldr r0, _0807A2F0 @ =gUnk_03003F80 + ldr r0, _0807A2F0 @ =gLinkState ldrb r1, [r0, #2] movs r0, #0xc8 ands r0, r1 @@ -5236,13 +5236,13 @@ _0807A2C6: movs r1, #0x44 movs r2, #0 movs r3, #0 - bl sub_080A2988 + bl CreateObjectWithParent _0807A2EA: movs r0, #0 _0807A2EC: pop {pc} .align 2, 0 -_0807A2F0: .4byte gUnk_03003F80 +_0807A2F0: .4byte gLinkState _0807A2F4: .4byte gLinkEntity thumb_func_start sub_0807A2F8 @@ -5614,7 +5614,7 @@ sub_0807A5B8: @ 0x0807A5B8 mov r6, r8 push {r6, r7} mov sb, r0 - ldr r2, _0807A5F8 @ =gUnk_03003F80 + ldr r2, _0807A5F8 @ =gLinkState ldrb r3, [r2, #2] movs r4, #0x80 adds r0, r4, #0 @@ -5644,7 +5644,7 @@ _0807A5EA: ldr r7, _0807A5FC @ =gUnk_0800833C b _0807A63A .align 2, 0 -_0807A5F8: .4byte gUnk_03003F80 +_0807A5F8: .4byte gLinkState _0807A5FC: .4byte gUnk_0800833C _0807A600: movs r0, #0x80 @@ -6051,7 +6051,7 @@ sub_0807A8D8: @ 0x0807A8D8 mov r6, r8 push {r6, r7} adds r5, r0, #0 - ldr r0, _0807AA5C @ =gUnk_03003F80 + ldr r0, _0807AA5C @ =gLinkState ldr r0, [r0, #0x30] movs r1, #0x80 ands r0, r1 @@ -6237,7 +6237,7 @@ _0807AA4C: bl sub_0807AABC b _0807AA76 .align 2, 0 -_0807AA5C: .4byte gUnk_03003F80 +_0807AA5C: .4byte gLinkState _0807AA60: .4byte gRoomControls _0807AA64: .4byte gLinkEntity _0807AA68: @@ -6258,7 +6258,7 @@ _0807AA76: sub_0807AA80: @ 0x0807AA80 push {lr} adds r3, r0, #0 - ldr r0, _0807AAB8 @ =gUnk_03003F80 + ldr r0, _0807AAB8 @ =gLinkState ldr r0, [r0, #0x30] movs r1, #0x40 ands r0, r1 @@ -6286,13 +6286,13 @@ sub_0807AA80: @ 0x0807AA80 _0807AAB6: pop {pc} .align 2, 0 -_0807AAB8: .4byte gUnk_03003F80 +_0807AAB8: .4byte gLinkState thumb_func_start sub_0807AABC sub_0807AABC: @ 0x0807AABC push {lr} adds r3, r0, #0 - ldr r0, _0807AAF4 @ =gUnk_03003F80 + ldr r0, _0807AAF4 @ =gLinkState ldr r0, [r0, #0x30] movs r1, #0x40 ands r0, r1 @@ -6320,7 +6320,7 @@ sub_0807AABC: @ 0x0807AABC _0807AAF2: pop {pc} .align 2, 0 -_0807AAF4: .4byte gUnk_03003F80 +_0807AAF4: .4byte gLinkState thumb_func_start sub_0807AAF8 sub_0807AAF8: @ 0x0807AAF8 @@ -6337,7 +6337,7 @@ sub_0807AAF8: @ 0x0807AAF8 lsls r0, r0, #0x1e orrs r2, r0 movs r3, #0 - ldr r0, _0807AB40 @ =gUnk_03003F80 + ldr r0, _0807AB40 @ =gLinkState ldr r1, [r0, #0x40] adds r4, r0, #0 cmp r1, r2 @@ -6363,7 +6363,7 @@ _0807AB32: _0807AB3C: pop {r4, pc} .align 2, 0 -_0807AB40: .4byte gUnk_03003F80 +_0807AB40: .4byte gLinkState thumb_func_start sub_0807AB44 sub_0807AB44: @ 0x0807AB44 @@ -6499,7 +6499,7 @@ _0807AC50: .4byte 0x0000404F sub_0807AC54: @ 0x0807AC54 push {lr} adds r2, r0, #0 - ldr r0, _0807AC74 @ =gUnk_03003F80 + ldr r0, _0807AC74 @ =gLinkState ldrb r1, [r0, #0x11] adds r3, r0, #0 cmp r1, #0 @@ -6513,7 +6513,7 @@ sub_0807AC54: @ 0x0807AC54 beq _0807AC82 b _0807ACC6 .align 2, 0 -_0807AC74: .4byte gUnk_03003F80 +_0807AC74: .4byte gLinkState _0807AC78: cmp r0, #0x2b beq _0807AC90 @@ -6590,7 +6590,7 @@ _0807ACF4: cmp r1, r0 ble _0807AD18 strh r1, [r4, #0x24] - ldr r0, _0807AD14 @ =gUnk_03003F80 + ldr r0, _0807AD14 @ =gLinkState ldrb r1, [r0, #0xd] strb r1, [r4, #0x15] adds r0, #0x26 @@ -6601,13 +6601,13 @@ _0807ACF4: bne _0807ADB4 b _0807AD1E .align 2, 0 -_0807AD14: .4byte gUnk_03003F80 +_0807AD14: .4byte gLinkState _0807AD18: ldrh r0, [r4, #0x24] subs r0, #4 strh r0, [r4, #0x24] _0807AD1E: - ldr r2, _0807AD3C @ =gUnk_03003F80 + ldr r2, _0807AD3C @ =gLinkState adds r1, r2, #0 adds r1, #0x89 ldrb r0, [r1] @@ -6621,7 +6621,7 @@ _0807AD1E: bl sub_0807AE20 b _0807AD74 .align 2, 0 -_0807AD3C: .4byte gUnk_03003F80 +_0807AD3C: .4byte gLinkState _0807AD40: subs r0, #1 strb r0, [r1] @@ -6649,7 +6649,7 @@ _0807AD52: ldr r0, _0807ADA0 @ =0x00000163 bl PlaySFX _0807AD74: - ldr r0, _0807ADA4 @ =gUnk_03003F80 + ldr r0, _0807ADA4 @ =gLinkState adds r0, #0x26 ldrb r1, [r0] movs r0, #0x80 @@ -6672,7 +6672,7 @@ _0807AD74: b _0807ADB2 .align 2, 0 _0807ADA0: .4byte 0x00000163 -_0807ADA4: .4byte gUnk_03003F80 +_0807ADA4: .4byte gLinkState _0807ADA8: adds r2, r4, #0 adds r2, #0x3c @@ -6689,7 +6689,7 @@ _0807ADB4: sub_0807ADB8: @ 0x0807ADB8 push {r4, lr} adds r2, r0, #0 - ldr r3, _0807ADF4 @ =gUnk_03003F80 + ldr r3, _0807ADF4 @ =gLinkState adds r0, r3, #0 adds r0, #0x92 ldrh r1, [r0] @@ -6717,7 +6717,7 @@ sub_0807ADB8: @ 0x0807ADB8 strb r0, [r1] b _0807AE0E .align 2, 0 -_0807ADF4: .4byte gUnk_03003F80 +_0807ADF4: .4byte gLinkState _0807ADF8: adds r2, #0x29 ldrb r1, [r2] @@ -6749,7 +6749,7 @@ sub_0807AE20: @ 0x0807AE20 ldrb r0, [r4, #0xc] cmp r0, #0x17 bne _0807AE32 - ldr r0, _0807AE58 @ =gUnk_03003F80 + ldr r0, _0807AE58 @ =gLinkState ldrb r0, [r0, #0xa] cmp r0, #0 bne _0807AE74 @@ -6758,7 +6758,7 @@ _0807AE32: ldrh r0, [r0] cmp r0, #0 bne _0807AE74 - ldr r0, _0807AE58 @ =gUnk_03003F80 + ldr r0, _0807AE58 @ =gLinkState adds r0, #0x92 ldrh r1, [r0] movs r0, #8 @@ -6773,7 +6773,7 @@ _0807AE32: lsls r0, r0, #1 b _0807AE64 .align 2, 0 -_0807AE58: .4byte gUnk_03003F80 +_0807AE58: .4byte gLinkState _0807AE5C: .4byte gRoomControls _0807AE60: movs r0, #0xc0 @@ -6844,7 +6844,7 @@ _0807AEE0: .4byte gUnk_030010A0 thumb_func_start sub_0807AEE4 sub_0807AEE4: @ 0x0807AEE4 push {r4, lr} - ldr r0, _0807AFE4 @ =gUnk_03003F80 + ldr r0, _0807AFE4 @ =gLinkState adds r4, r0, #0 adds r4, #0xac movs r0, #0 @@ -6947,7 +6947,7 @@ _0807AFAC: bl GetInventoryValue cmp r0, #1 bne _0807AFC6 - ldr r0, _0807AFE4 @ =gUnk_03003F80 + ldr r0, _0807AFE4 @ =gLinkState adds r0, #0xac ldrh r2, [r0] movs r3, #0x80 @@ -6960,7 +6960,7 @@ _0807AFC6: bl GetInventoryValue cmp r0, #1 bne _0807AFE0 - ldr r0, _0807AFE4 @ =gUnk_03003F80 + ldr r0, _0807AFE4 @ =gLinkState adds r0, #0xac ldrh r2, [r0] movs r3, #0x80 @@ -6971,7 +6971,7 @@ _0807AFC6: _0807AFE0: pop {r4, pc} .align 2, 0 -_0807AFE4: .4byte gUnk_03003F80 +_0807AFE4: .4byte gLinkState thumb_func_start sub_0807AFE8 sub_0807AFE8: @ 0x0807AFE8 @@ -6988,18 +6988,18 @@ sub_0807AFE8: @ 0x0807AFE8 adds r0, #1 strh r0, [r1, #0x32] _0807B004: - ldr r1, _0807B010 @ =gUnk_03003F80 + ldr r1, _0807B010 @ =gLinkState movs r0, #9 strb r0, [r1, #0xc] pop {pc} .align 2, 0 _0807B00C: .4byte gLinkEntity -_0807B010: .4byte gUnk_03003F80 +_0807B010: .4byte gLinkState thumb_func_start sub_0807B014 sub_0807B014: @ 0x0807B014 push {lr} - ldr r2, _0807B03C @ =gUnk_03003F80 + ldr r2, _0807B03C @ =gLinkState adds r0, r2, #0 adds r0, #0xac ldrh r1, [r0] @@ -7018,7 +7018,7 @@ sub_0807B014: @ 0x0807B014 movs r0, #0xf b _0807B066 .align 2, 0 -_0807B03C: .4byte gUnk_03003F80 +_0807B03C: .4byte gLinkState _0807B040: .4byte gUnk_02002A40 _0807B044: adds r0, r2, #0 @@ -7045,7 +7045,7 @@ _0807B066: thumb_func_start sub_0807B068 sub_0807B068: @ 0x0807B068 push {lr} - ldr r2, _0807B090 @ =gUnk_03003F80 + ldr r2, _0807B090 @ =gLinkState ldrb r1, [r2, #0x1e] ldrb r0, [r2, #4] orrs r0, r1 @@ -7064,7 +7064,7 @@ sub_0807B068: @ 0x0807B068 strh r0, [r2, #8] b _0807B0C2 .align 2, 0 -_0807B090: .4byte gUnk_03003F80 +_0807B090: .4byte gLinkState _0807B094: .4byte 0x00000C1C _0807B098: ldr r0, _0807B0A0 @ =0x00000C0C @@ -7136,14 +7136,14 @@ _0807B110: .4byte gUnk_0811C27C sub_0807B114: @ 0x0807B114 movs r1, #1 strb r1, [r0, #0xd] - ldr r1, _0807B124 @ =gUnk_03003F80 + ldr r1, _0807B124 @ =gLinkState adds r1, #0x38 ldrb r1, [r1] adds r0, #0x6c strb r1, [r0] bx lr .align 2, 0 -_0807B124: .4byte gUnk_03003F80 +_0807B124: .4byte gLinkState thumb_func_start sub_0807B128 sub_0807B128: @ 0x0807B128 @@ -7178,13 +7178,13 @@ sub_0807B144: @ 0x0807B144 movs r1, #0x80 lsls r1, r1, #0xb str r1, [r0, #0x20] - ldr r1, _0807B170 @ =gUnk_03003F80 + ldr r1, _0807B170 @ =gLinkState movs r0, #0x81 strb r0, [r1, #2] bl sub_080791BC pop {pc} .align 2, 0 -_0807B170: .4byte gUnk_03003F80 +_0807B170: .4byte gLinkState thumb_func_start nullsub_506 nullsub_506: @ 0x0807B174 @@ -7208,13 +7208,13 @@ sub_0807B178: @ 0x0807B178 movs r1, #0x80 lsls r1, r1, #0xb str r1, [r0, #0x20] - ldr r1, _0807B1A4 @ =gUnk_03003F80 + ldr r1, _0807B1A4 @ =gLinkState movs r0, #0x81 strb r0, [r1, #2] bl sub_080791BC pop {pc} .align 2, 0 -_0807B1A4: .4byte gUnk_03003F80 +_0807B1A4: .4byte gLinkState thumb_func_start sub_0807B1A8 sub_0807B1A8: @ 0x0807B1A8 @@ -7271,13 +7271,13 @@ sub_0807B1EC: @ 0x0807B1EC movs r0, #0x80 lsls r0, r0, #9 str r0, [r2, #0x20] - ldr r1, _0807B214 @ =gUnk_03003F80 + ldr r1, _0807B214 @ =gLinkState ldr r0, _0807B218 @ =0x000002C2 strh r0, [r1, #8] _0807B212: pop {pc} .align 2, 0 -_0807B214: .4byte gUnk_03003F80 +_0807B214: .4byte gLinkState _0807B218: .4byte 0x000002C2 thumb_func_start sub_0807B21C diff --git a/asm/code_0807CC3C.s b/asm/code_0807CC3C.s index 750f998b..f1b2422a 100644 --- a/asm/code_0807CC3C.s +++ b/asm/code_0807CC3C.s @@ -2089,7 +2089,7 @@ sub_0807DB2C: @ 0x0807DB2C ldr r0, _0807DB60 @ =gLinkEntity adds r0, #0x84 str r4, [r0] - ldr r2, _0807DB64 @ =gUnk_03003F80 + ldr r2, _0807DB64 @ =gLinkState movs r1, #0 movs r0, #0x1c strb r0, [r2, #0xc] @@ -2104,7 +2104,7 @@ sub_0807DB2C: @ 0x0807DB2C .align 2, 0 _0807DB5C: .4byte gUnk_02022750 _0807DB60: .4byte gLinkEntity -_0807DB64: .4byte gUnk_03003F80 +_0807DB64: .4byte gLinkState thumb_func_start sub_0807DB68 sub_0807DB68: @ 0x0807DB68 @@ -2529,7 +2529,7 @@ _0807DE44: ands r0, r1 cmp r0, #0 bne _0807DDEC - bl sub_08000E50 + bl Random ldr r2, _0807DE6C @ =gUnk_0811E510 movs r1, #3 ands r1, r0 @@ -3201,7 +3201,7 @@ sub_0807E30C: @ 0x0807E30C ands r0, r1 cmp r0, #0 bne _0807E348 - ldr r0, _0807E374 @ =gUnk_03003F80 + ldr r0, _0807E374 @ =gLinkState ldr r0, [r0, #0x30] movs r1, #0x80 ands r0, r1 @@ -3241,7 +3241,7 @@ _0807E348: strb r0, [r5, #0x14] b _0807E37E .align 2, 0 -_0807E374: .4byte gUnk_03003F80 +_0807E374: .4byte gLinkState _0807E378: .4byte gLinkEntity _0807E37C: str r0, [r4, #0x14] @@ -3497,7 +3497,7 @@ sub_0807E538: @ 0x0807E538 adds r4, r1, #0 ldr r0, [r4] bl sub_08016998 - ldr r1, _0807E55C @ =gUnk_03003F80 + ldr r1, _0807E55C @ =gLinkState ldr r1, [r1, #0x30] ands r0, r1 rsbs r1, r0, #0 @@ -3511,12 +3511,12 @@ sub_0807E538: @ 0x0807E538 strb r0, [r2, #7] pop {r4, pc} .align 2, 0 -_0807E55C: .4byte gUnk_03003F80 +_0807E55C: .4byte gLinkState _0807E560: .4byte gUnk_02033280 thumb_func_start sub_0807E564 sub_0807E564: @ 0x0807E564 - ldr r0, _0807E57C @ =gUnk_03003F80 + ldr r0, _0807E57C @ =gLinkState ldr r0, [r0, #0x30] lsrs r0, r0, #7 movs r2, #1 @@ -3529,7 +3529,7 @@ sub_0807E564: @ 0x0807E564 strb r0, [r2, #7] bx lr .align 2, 0 -_0807E57C: .4byte gUnk_03003F80 +_0807E57C: .4byte gLinkState _0807E580: .4byte gUnk_02033280 thumb_func_start sub_0807E584 @@ -3964,41 +3964,41 @@ sub_0807E858: @ 0x0807E858 thumb_func_start sub_0807E864 sub_0807E864: @ 0x0807E864 push {lr} - ldr r0, _0807E874 @ =gUnk_03003F80 + ldr r0, _0807E874 @ =gLinkState adds r0, #0x8b movs r1, #3 strb r1, [r0] bl sub_08078B48 pop {pc} .align 2, 0 -_0807E874: .4byte gUnk_03003F80 +_0807E874: .4byte gLinkState thumb_func_start sub_0807E878 sub_0807E878: @ 0x0807E878 - ldr r0, _0807E884 @ =gUnk_03003F80 + ldr r0, _0807E884 @ =gLinkState adds r0, #0x8b movs r1, #1 strb r1, [r0] bx lr .align 2, 0 -_0807E884: .4byte gUnk_03003F80 +_0807E884: .4byte gLinkState thumb_func_start sub_0807E888 sub_0807E888: @ 0x0807E888 - ldr r0, _0807E894 @ =gUnk_03003F80 + ldr r0, _0807E894 @ =gLinkState adds r0, #0x8b movs r1, #3 strb r1, [r0] bx lr .align 2, 0 -_0807E894: .4byte gUnk_03003F80 +_0807E894: .4byte gLinkState thumb_func_start sub_0807E898 sub_0807E898: @ 0x0807E898 push {lr} ldr r0, [r1] bl sub_08016998 - ldr r3, _0807E8C0 @ =gUnk_03003F80 + ldr r3, _0807E8C0 @ =gLinkState strb r0, [r3, #0xc] lsrs r2, r0, #8 adds r1, r3, #0 @@ -4014,7 +4014,7 @@ sub_0807E898: @ 0x0807E898 strb r0, [r1] pop {pc} .align 2, 0 -_0807E8C0: .4byte gUnk_03003F80 +_0807E8C0: .4byte gLinkState thumb_func_start sub_0807E8C4 sub_0807E8C4: @ 0x0807E8C4 @@ -4027,13 +4027,13 @@ sub_0807E8C4: @ 0x0807E8C4 thumb_func_start sub_0807E8D4 sub_0807E8D4: @ 0x0807E8D4 - ldr r2, _0807E8E0 @ =gUnk_03003F80 + ldr r2, _0807E8E0 @ =gLinkState ldr r0, [r1] ldrh r0, [r0, #2] strh r0, [r2, #8] bx lr .align 2, 0 -_0807E8E0: .4byte gUnk_03003F80 +_0807E8E0: .4byte gLinkState thumb_func_start sub_0807E8E4 sub_0807E8E4: @ 0x0807E8E4 @@ -4204,7 +4204,7 @@ sub_0807E9F0: @ 0x0807E9F0 beq _0807EA24 cmp r0, #2 bne _0807EA40 - ldr r0, _0807EA1C @ =gUnk_03003F80 + ldr r0, _0807EA1C @ =gLinkState adds r0, #0x8b movs r1, #3 strb r1, [r0] @@ -4214,7 +4214,7 @@ sub_0807E9F0: @ 0x0807E9F0 b _0807EA28 .align 2, 0 _0807EA18: .4byte gUnk_02022740 -_0807EA1C: .4byte gUnk_03003F80 +_0807EA1C: .4byte gLinkState _0807EA20: .4byte gUnk_02034490 _0807EA24: movs r0, #0 @@ -4223,13 +4223,13 @@ _0807EA28: cmp r2, #0 beq _0807EA40 bl sub_0807919C - ldr r0, _0807EA3C @ =gUnk_03003F80 + ldr r0, _0807EA3C @ =gLinkState adds r0, #0x8b movs r1, #1 strb r1, [r0] b _0807EA46 .align 2, 0 -_0807EA3C: .4byte gUnk_03003F80 +_0807EA3C: .4byte gLinkState _0807EA40: ldr r1, _0807EA48 @ =gUnk_02033280 movs r0, #0 @@ -4509,7 +4509,7 @@ sub_0807EC08: @ 0x0807EC08 push {lr} adds r1, r0, #0 ldr r0, _0807EC14 @ =gLinkEntity - bl sub_0806FA24 + bl CopyPosition pop {pc} .align 2, 0 _0807EC14: .4byte gLinkEntity @@ -5210,7 +5210,7 @@ _0807F0E8: .4byte gUnk_03000FF0 sub_0807F0EC: @ 0x0807F0EC push {r4, lr} adds r4, r1, #0 - bl sub_08000E50 + bl Random ldr r1, [r4, #4] bl __modsi3 str r0, [r4, #4] @@ -5222,7 +5222,7 @@ sub_0807F100: @ 0x0807F100 push {r4, r5, lr} adds r4, r0, #0 adds r5, r1, #0 - bl sub_08000E50 + bl Random movs r2, #6 adds r1, r0, #0 ands r1, r2 @@ -5243,7 +5243,7 @@ sub_0807F128: @ 0x0807F128 push {r4, r5, lr} adds r4, r0, #0 adds r5, r1, #0 - bl sub_08000E50 + bl Random ldr r2, _0807F150 @ =gUnk_0811E758 movs r3, #7 adds r1, r0, #0 @@ -5327,7 +5327,7 @@ _0807F1C0: .4byte gUnk_02033280 thumb_func_start sub_0807F1C4 sub_0807F1C4: @ 0x0807F1C4 push {lr} - ldr r2, _0807F1D8 @ =gUnk_03003F80 + ldr r2, _0807F1D8 @ =gLinkState ldr r0, [r2, #0x30] movs r1, #8 ands r0, r1 @@ -5336,7 +5336,7 @@ sub_0807F1C4: @ 0x0807F1C4 ldr r0, _0807F1DC @ =0x00000459 b _0807F1E4 .align 2, 0 -_0807F1D8: .4byte gUnk_03003F80 +_0807F1D8: .4byte gLinkState _0807F1DC: .4byte 0x00000459 _0807F1E0: movs r0, #0xde @@ -5348,7 +5348,7 @@ _0807F1E4: thumb_func_start sub_0807F1E8 sub_0807F1E8: @ 0x0807F1E8 push {lr} - ldr r2, _0807F1FC @ =gUnk_03003F80 + ldr r2, _0807F1FC @ =gLinkState ldr r0, [r2, #0x30] movs r1, #8 ands r0, r1 @@ -5357,7 +5357,7 @@ sub_0807F1E8: @ 0x0807F1E8 ldr r0, _0807F200 @ =0x0000045A b _0807F206 .align 2, 0 -_0807F1FC: .4byte gUnk_03003F80 +_0807F1FC: .4byte gLinkState _0807F200: .4byte 0x0000045A _0807F204: ldr r0, _0807F20C @ =0x000002BD @@ -5370,7 +5370,7 @@ _0807F20C: .4byte 0x000002BD thumb_func_start sub_0807F210 sub_0807F210: @ 0x0807F210 push {lr} - ldr r2, _0807F224 @ =gUnk_03003F80 + ldr r2, _0807F224 @ =gLinkState ldr r0, [r2, #0x30] movs r1, #8 ands r0, r1 @@ -5379,7 +5379,7 @@ sub_0807F210: @ 0x0807F210 ldr r0, _0807F228 @ =0x0000041C b _0807F22E .align 2, 0 -_0807F224: .4byte gUnk_03003F80 +_0807F224: .4byte gLinkState _0807F228: .4byte 0x0000041C _0807F22C: ldr r0, _0807F234 @ =0x0000080C @@ -5391,12 +5391,12 @@ _0807F234: .4byte 0x0000080C thumb_func_start sub_0807F238 sub_0807F238: @ 0x0807F238 - ldr r2, _0807F240 @ =gUnk_03003F80 + ldr r2, _0807F240 @ =gLinkState ldr r0, [r1, #4] strh r0, [r2, #8] bx lr .align 2, 0 -_0807F240: .4byte gUnk_03003F80 +_0807F240: .4byte gLinkState thumb_func_start sub_0807F244 sub_0807F244: @ 0x0807F244 @@ -5455,7 +5455,7 @@ sub_0807F29C: @ 0x0807F29C thumb_func_start sub_0807F2A8 sub_0807F2A8: @ 0x0807F2A8 push {lr} - ldr r0, _0807F2C0 @ =gUnk_03003F80 + ldr r0, _0807F2C0 @ =gLinkState adds r0, #0x9c ldr r0, [r0] cmp r0, #0 @@ -5467,7 +5467,7 @@ sub_0807F2A8: @ 0x0807F2A8 strb r0, [r2, #7] b _0807F2CE .align 2, 0 -_0807F2C0: .4byte gUnk_03003F80 +_0807F2C0: .4byte gLinkState _0807F2C4: .4byte gUnk_02033280 _0807F2C8: ldr r1, _0807F2D0 @ =gUnk_02033280 @@ -5593,7 +5593,7 @@ sub_0807F36C: @ 0x0807F36C adds r1, r4, #0 movs r2, #0 bl PositionRelative - bl sub_08000E50 + bl Random movs r5, #1 ands r0, r5 cmp r0, #0 @@ -5603,7 +5603,7 @@ sub_0807F36C: @ 0x0807F36C orrs r0, r1 strb r0, [r4, #0x18] _0807F3B0: - bl sub_08000E50 + bl Random ands r0, r5 cmp r0, #0 beq _0807F3C2 @@ -5875,7 +5875,7 @@ _0807F590: .4byte gLinkEntity thumb_func_start sub_0807F594 sub_0807F594: @ 0x0807F594 push {lr} - ldr r0, _0807F5A8 @ =gUnk_03003F80 + ldr r0, _0807F5A8 @ =gLinkState adds r0, #0xa8 ldrb r0, [r0] cmp r0, #0 @@ -5886,18 +5886,18 @@ sub_0807F594: @ 0x0807F594 _0807F5A6: pop {pc} .align 2, 0 -_0807F5A8: .4byte gUnk_03003F80 +_0807F5A8: .4byte gLinkState _0807F5AC: .4byte gUnk_02033280 thumb_func_start sub_0807F5B0 sub_0807F5B0: @ 0x0807F5B0 - ldr r0, _0807F5BC @ =gUnk_03003F80 + ldr r0, _0807F5BC @ =gLinkState ldr r1, [r1, #4] adds r0, #0x27 strb r1, [r0] bx lr .align 2, 0 -_0807F5BC: .4byte gUnk_03003F80 +_0807F5BC: .4byte gLinkState thumb_func_start sub_0807F5C0 sub_0807F5C0: @ 0x0807F5C0 @@ -5972,13 +5972,13 @@ sub_0807F634: @ 0x0807F634 ldrh r2, [r3, #2] ldrh r3, [r3, #4] bl sub_0801DFB4 - ldr r0, _0807F64C @ =gUnk_03003F80 + ldr r0, _0807F64C @ =gLinkState adds r0, #0x8b movs r1, #3 strb r1, [r0] pop {pc} .align 2, 0 -_0807F64C: .4byte gUnk_03003F80 +_0807F64C: .4byte gLinkState thumb_func_start sub_0807F650 sub_0807F650: @ 0x0807F650 @@ -5994,14 +5994,14 @@ sub_0807F650: @ 0x0807F650 ldrh r3, [r0, #4] adds r0, r4, #0 bl sub_0801DFB4 - ldr r0, _0807F67C @ =gUnk_03003F80 + ldr r0, _0807F67C @ =gLinkState adds r0, #0x8b movs r1, #3 strb r1, [r0] pop {r4, pc} .align 2, 0 _0807F678: .4byte gUnk_08001A7C -_0807F67C: .4byte gUnk_03003F80 +_0807F67C: .4byte gLinkState thumb_func_start sub_0807F680 sub_0807F680: @ 0x0807F680 @@ -6061,25 +6061,25 @@ _0807F6E4: .4byte gUnk_02033280 thumb_func_start sub_0807F6E8 sub_0807F6E8: @ 0x0807F6E8 - ldr r2, _0807F6F4 @ =gUnk_03003F80 + ldr r2, _0807F6F4 @ =gLinkState ldr r0, [r2, #0x30] ldr r1, [r1, #4] orrs r0, r1 str r0, [r2, #0x30] bx lr .align 2, 0 -_0807F6F4: .4byte gUnk_03003F80 +_0807F6F4: .4byte gLinkState thumb_func_start sub_0807F6F8 sub_0807F6F8: @ 0x0807F6F8 - ldr r2, _0807F704 @ =gUnk_03003F80 + ldr r2, _0807F704 @ =gLinkState ldr r1, [r1, #4] ldr r0, [r2, #0x30] bics r0, r1 str r0, [r2, #0x30] bx lr .align 2, 0 -_0807F704: .4byte gUnk_03003F80 +_0807F704: .4byte gLinkState thumb_func_start sub_0807F708 sub_0807F708: @ 0x0807F708 @@ -6350,7 +6350,7 @@ sub_0807F8E8: @ 0x0807F8E8 movs r1, #0xa6 movs r2, #0 movs r3, #0 - bl sub_080A2988 + bl CreateObjectWithParent adds r2, r0, #0 cmp r2, #0 beq _0807F912 @@ -6463,7 +6463,7 @@ sub_0807F994: @ 0x0807F994 thumb_func_start sub_0807F9A4 sub_0807F9A4: @ 0x0807F9A4 push {lr} - ldr r0, _0807F9BC @ =gUnk_03003F80 + ldr r0, _0807F9BC @ =gLinkState adds r0, #0xa8 ldrb r0, [r0] subs r0, #5 @@ -6475,7 +6475,7 @@ sub_0807F9A4: @ 0x0807F9A4 ldr r0, [r0] mov pc, r0 .align 2, 0 -_0807F9BC: .4byte gUnk_03003F80 +_0807F9BC: .4byte gLinkState _0807F9C0: .4byte _0807F9C4 _0807F9C4: @ jump table .4byte _0807FA24 @ case 0 @@ -6523,7 +6523,7 @@ _0807FA3C: .4byte gUnk_02033280 thumb_func_start sub_0807FA40 sub_0807FA40: @ 0x0807FA40 push {lr} - ldr r0, _0807FA58 @ =gUnk_03003F80 + ldr r0, _0807FA58 @ =gLinkState adds r0, #0xa8 ldrb r0, [r0] subs r0, #5 @@ -6535,7 +6535,7 @@ sub_0807FA40: @ 0x0807FA40 ldr r0, [r0] mov pc, r0 .align 2, 0 -_0807FA58: .4byte gUnk_03003F80 +_0807FA58: .4byte gLinkState _0807FA5C: .4byte _0807FA60 _0807FA60: @ jump table .4byte _0807FAC0 @ case 0 @@ -6669,7 +6669,7 @@ _0807FB70: .4byte gLinkEntity thumb_func_start sub_0807FB74 sub_0807FB74: @ 0x0807FB74 - ldr r0, _0807FB8C @ =gUnk_03003F80 + ldr r0, _0807FB8C @ =gLinkState adds r0, #0x26 movs r1, #0 strb r1, [r0] @@ -6681,7 +6681,7 @@ sub_0807FB74: @ 0x0807FB74 strb r0, [r1] bx lr .align 2, 0 -_0807FB8C: .4byte gUnk_03003F80 +_0807FB8C: .4byte gLinkState _0807FB90: .4byte gLinkEntity thumb_func_start sub_0807FB94 @@ -6707,14 +6707,14 @@ _0807FBB0: .4byte gRoomControls thumb_func_start sub_0807FBB4 sub_0807FBB4: @ 0x0807FBB4 - ldr r2, _0807FBC0 @ =gUnk_03003F80 + ldr r2, _0807FBC0 @ =gLinkState ldrb r1, [r2, #0x1a] movs r0, #0x80 orrs r0, r1 strb r0, [r2, #0x1a] bx lr .align 2, 0 -_0807FBC0: .4byte gUnk_03003F80 +_0807FBC0: .4byte gLinkState thumb_func_start sub_0807FBC4 sub_0807FBC4: @ 0x0807FBC4 diff --git a/asm/code_08080974.s b/asm/code_08080974.s index 5b47a799..742a0e04 100644 --- a/asm/code_08080974.s +++ b/asm/code_08080974.s @@ -133,7 +133,7 @@ sub_08080A40: @ 0x08080A40 beq _08080A50 b _08080B5C _08080A50: - ldr r0, _08080A78 @ =gUnk_03003F80 + ldr r0, _08080A78 @ =gLinkState ldrb r0, [r0, #2] cmp r0, #0 beq _08080A5A @@ -153,7 +153,7 @@ _08080A64: .align 2, 0 _08080A70: .4byte gRoomControls _08080A74: .4byte gLinkEntity -_08080A78: .4byte gUnk_03003F80 +_08080A78: .4byte gLinkState _08080A7C: .4byte _08080A80 _08080A80: @ jump table .4byte _08080AFA @ case 0 @@ -511,7 +511,7 @@ _08080DA4: strb r0, [r5] b _08080E00 _08080DB4: - bl sub_08000E50 + bl Random movs r1, #0x1f ands r0, r1 adds r0, #0xa @@ -821,7 +821,7 @@ _0808107C: strb r0, [r1, #0xb] _0808109A: adds r0, r4, #0 - bl sub_0806FA24 + bl CopyPosition bl sub_0805E780 _080810A4: pop {r4, r5, pc} @@ -899,7 +899,7 @@ _0808110E: strb r0, [r1] ldr r0, _08081130 @ =gLinkEntity adds r1, r2, #0 - bl sub_0806FA24 + bl CopyPosition _0808112E: pop {pc} .align 2, 0 @@ -1150,7 +1150,7 @@ _080812E4: sub_080812E8: @ 0x080812E8 push {r4, lr} adds r4, r0, #0 - ldr r3, _0808131C @ =gUnk_03003F80 + ldr r3, _0808131C @ =gLinkState adds r0, r3, #0 adds r0, #0x26 ldrb r1, [r0] @@ -1173,7 +1173,7 @@ sub_080812E8: @ 0x080812E8 _08081318: pop {r4, pc} .align 2, 0 -_0808131C: .4byte gUnk_03003F80 +_0808131C: .4byte gLinkState _08081320: .4byte gLinkEntity thumb_func_start nullsub_510 @@ -1198,7 +1198,7 @@ sub_08081328: @ 0x08081328 _08081342: adds r0, r2, #0 adds r1, r4, #0 - bl sub_0806FA24 + bl CopyPosition ldrh r0, [r4, #0x36] subs r0, #1 strh r0, [r4, #0x36] @@ -1573,7 +1573,7 @@ _080815AC: ldr r0, _08081618 @ =gLinkEntity str r0, [r4, #0x54] adds r1, r4, #0 - bl sub_0806FA24 + bl CopyPosition ldrh r0, [r4, #0x36] subs r0, #4 strh r0, [r4, #0x36] @@ -1968,13 +1968,13 @@ _080818C0: ldr r1, _080818E8 @ =gUnk_02034350 movs r0, #1 str r0, [r1, #0x68] - ldr r1, _080818EC @ =gUnk_03003F80 + ldr r1, _080818EC @ =gLinkState movs r0, #7 strb r0, [r1, #0xc] b _08081920 .align 2, 0 _080818E8: .4byte gUnk_02034350 -_080818EC: .4byte gUnk_03003F80 +_080818EC: .4byte gLinkState _080818F0: adds r1, r4, #0 adds r1, #0x39 @@ -1987,7 +1987,7 @@ _080818F0: strb r0, [r4, #0xd] bl sub_08078B48 bl sub_08077B2C - ldr r1, _08081924 @ =gUnk_03003F80 + ldr r1, _08081924 @ =gLinkState movs r0, #4 strb r0, [r1, #5] ldr r0, _08081928 @ =gLinkEntity @@ -2000,7 +2000,7 @@ _080818F0: _08081920: pop {r4, pc} .align 2, 0 -_08081924: .4byte gUnk_03003F80 +_08081924: .4byte gLinkState _08081928: .4byte gLinkEntity _0808192C: .4byte gUnk_0200AF00 @@ -2022,7 +2022,7 @@ sub_08081930: @ 0x08081930 ands r0, r2 orrs r0, r1 strb r0, [r4, #0x18] - ldr r5, _08081970 @ =gUnk_03003F80 + ldr r5, _08081970 @ =gLinkState ldrb r0, [r5, #5] cmp r0, #0 beq _0808195E @@ -2036,7 +2036,7 @@ _0808195E: .align 2, 0 _08081968: .4byte gUnk_0200AF00 _0808196C: .4byte gLinkEntity -_08081970: .4byte gUnk_03003F80 +_08081970: .4byte gLinkState _08081974: bl sub_080784E4 adds r1, r0, #0 @@ -2056,7 +2056,7 @@ _08081974: cmp r0, #0 bne _080819AC _08081998: - ldr r0, _080819B0 @ =gUnk_03003F80 + ldr r0, _080819B0 @ =gLinkState adds r0, #0x92 ldrh r1, [r0] movs r0, #0x98 @@ -2068,7 +2068,7 @@ _08081998: _080819AC: pop {r4, r5, r6, pc} .align 2, 0 -_080819B0: .4byte gUnk_03003F80 +_080819B0: .4byte gLinkState thumb_func_start sub_080819B4 sub_080819B4: @ 0x080819B4 @@ -2089,7 +2089,7 @@ sub_080819B4: @ 0x080819B4 _080819D0: bl sub_0805E780 _080819D4: - ldr r0, _08081A4C @ =gUnk_03003F80 + ldr r0, _08081A4C @ =gLinkState movs r2, #0 strb r2, [r0, #5] ldr r4, _08081A50 @ =gLinkEntity @@ -2147,7 +2147,7 @@ _080819D4: pop {r4, r5, r6, pc} .align 2, 0 _08081A48: .4byte gUnk_02034350 -_08081A4C: .4byte gUnk_03003F80 +_08081A4C: .4byte gLinkState _08081A50: .4byte gLinkEntity _08081A54: .4byte gUnk_0200AF00 _08081A58: .4byte gRoomControls @@ -2376,7 +2376,7 @@ sub_08081BE0: @ 0x08081BE0 strb r0, [r4, #0xc] movs r0, #1 strb r0, [r4, #0xf] - ldr r1, _08081C1C @ =gUnk_03003F80 + ldr r1, _08081C1C @ =gLinkState ldrb r0, [r1, #5] cmp r0, #2 beq _08081C16 @@ -2392,7 +2392,7 @@ _08081C16: strb r0, [r4, #0xe] b _08081C2C .align 2, 0 -_08081C1C: .4byte gUnk_03003F80 +_08081C1C: .4byte gLinkState _08081C20: movs r0, #8 strb r0, [r4, #0xe] @@ -2593,7 +2593,7 @@ _08081D8E: bl sub_08081E0C cmp r0, #0 beq _08081DB4 - ldr r0, _08081DAC @ =gUnk_03003F80 + ldr r0, _08081DAC @ =gLinkState ldr r0, [r0, #0x30] movs r1, #0x90 ands r0, r1 @@ -2602,10 +2602,10 @@ _08081D8E: ldr r6, _08081DB0 @ =gLinkEntity b _08081E06 .align 2, 0 -_08081DAC: .4byte gUnk_03003F80 +_08081DAC: .4byte gLinkState _08081DB0: .4byte gLinkEntity _08081DB4: - ldr r0, _08081DD8 @ =gUnk_03003F80 + ldr r0, _08081DD8 @ =gLinkState ldr r0, [r0, #0x30] movs r1, #0x80 lsls r1, r1, #0xf @@ -2623,7 +2623,7 @@ _08081DB4: ldr r6, [r5] b _08081E06 .align 2, 0 -_08081DD8: .4byte gUnk_03003F80 +_08081DD8: .4byte gLinkState _08081DDC: .4byte gUnk_03004040 _08081DE0: ldr r1, [r5, #4] @@ -2998,7 +2998,7 @@ sub_08082058: @ 0x08082058 sub_08082098: @ 0x08082098 push {r4, r5, r6, r7, lr} adds r4, r0, #0 - ldr r0, _08082100 @ =gUnk_03003F80 + ldr r0, _08082100 @ =gLinkState ldr r0, [r0, #0x30] movs r1, #0x80 ands r0, r1 @@ -3047,7 +3047,7 @@ _080820AC: beq _0808212A b _0808212E .align 2, 0 -_08082100: .4byte gUnk_03003F80 +_08082100: .4byte gLinkState _08082104: .4byte gLinkEntity _08082108: cmp r0, #0x16 @@ -3083,7 +3083,7 @@ _0808212E: adds r3, #8 b _080821EE _0808213E: - ldr r2, _0808215C @ =gUnk_03003F80 + ldr r2, _0808215C @ =gLinkState ldrb r1, [r2, #2] adds r6, r1, #0 cmp r6, #0 @@ -3098,7 +3098,7 @@ _0808213E: adds r3, #0x19 b _080821F2 .align 2, 0 -_0808215C: .4byte gUnk_03003F80 +_0808215C: .4byte gLinkState _08082160: adds r0, r2, #0 adds r0, #0xa8 @@ -3439,7 +3439,7 @@ _080823D8: strb r0, [r5, #0xe] movs r0, #4 strb r0, [r5, #0xc] - ldr r0, _0808243C @ =gUnk_03003F80 + ldr r0, _0808243C @ =gLinkState ldr r0, [r0, #0x30] movs r1, #0x80 ands r0, r1 @@ -3480,7 +3480,7 @@ _08082400: b _080824F6 .align 2, 0 _08082438: .4byte 0xFFFFBFFF -_0808243C: .4byte gUnk_03003F80 +_0808243C: .4byte gLinkState _08082440: .4byte gRoomControls _08082444: .4byte 0x0000010F _08082448: @@ -3525,7 +3525,7 @@ _0808249A: ldr r0, _080824E4 @ =0x00004005 cmp r4, r0 bne _080824D8 - ldr r0, _080824E8 @ =gUnk_03003F80 + ldr r0, _080824E8 @ =gLinkState adds r0, #0xab movs r1, #4 strb r1, [r0] @@ -3559,7 +3559,7 @@ _080824D8: b _080824F6 .align 2, 0 _080824E4: .4byte 0x00004005 -_080824E8: .4byte gUnk_03003F80 +_080824E8: .4byte gLinkState _080824EC: .4byte gRoomControls _080824F0: adds r0, r5, #0 @@ -3709,7 +3709,7 @@ sub_080825E8: @ 0x080825E8 sub_080825F0: @ 0x080825F0 push {lr} adds r1, r0, #0 - ldr r0, _08082604 @ =gUnk_03003F80 + ldr r0, _08082604 @ =gLinkState ldrb r0, [r0, #5] cmp r0, #0 bne _08082602 @@ -3718,7 +3718,7 @@ sub_080825F0: @ 0x080825F0 _08082602: pop {pc} .align 2, 0 -_08082604: .4byte gUnk_03003F80 +_08082604: .4byte gLinkState thumb_func_start sub_08082608 sub_08082608: @ 0x08082608 @@ -3753,7 +3753,7 @@ _08082638: bne _080826DC movs r0, #1 strb r0, [r5, #0xc] - ldr r0, _080826A4 @ =gUnk_03003F80 + ldr r0, _080826A4 @ =gLinkState ldr r0, [r0, #0x30] movs r1, #0x80 ands r0, r1 @@ -3798,7 +3798,7 @@ _08082658: bl sub_08082850 b _080826DC .align 2, 0 -_080826A4: .4byte gUnk_03003F80 +_080826A4: .4byte gLinkState _080826A8: .4byte gRoomControls _080826AC: movs r0, #0x80 @@ -3856,7 +3856,7 @@ sub_080826FC: @ 0x080826FC sub_0808270C: @ 0x0808270C push {r4, r5, r6, lr} adds r5, r0, #0 - ldr r0, _08082768 @ =gUnk_03003F80 + ldr r0, _08082768 @ =gLinkState ldrb r1, [r0, #0x1c] movs r0, #0xf ands r0, r1 @@ -3900,7 +3900,7 @@ _0808272A: bl sub_0800015E b _08082776 .align 2, 0 -_08082768: .4byte gUnk_03003F80 +_08082768: .4byte gLinkState _0808276C: .4byte gRoomControls _08082770: adds r0, r5, #0 @@ -3948,7 +3948,7 @@ sub_08082778: @ 0x08082778 ldrb r2, [r2] bl sub_0800015E _080827C4: - ldr r0, _080827EC @ =gUnk_03003F80 + ldr r0, _080827EC @ =gLinkState ldrb r1, [r0, #0x1c] movs r0, #0xf ands r0, r1 @@ -3968,7 +3968,7 @@ _080827DE: b _080827F6 .align 2, 0 _080827E8: .4byte gRoomControls -_080827EC: .4byte gUnk_03003F80 +_080827EC: .4byte gLinkState _080827F0: adds r0, r5, #0 bl sub_0806F3E4 @@ -3979,7 +3979,7 @@ _080827F6: sub_080827F8: @ 0x080827F8 push {lr} adds r1, r0, #0 - ldr r0, _08082810 @ =gUnk_03003F80 + ldr r0, _08082810 @ =gLinkState ldrb r0, [r0, #0x1c] cmp r0, #0 bne _0808280C @@ -3989,7 +3989,7 @@ sub_080827F8: @ 0x080827F8 _0808280C: pop {pc} .align 2, 0 -_08082810: .4byte gUnk_03003F80 +_08082810: .4byte gLinkState thumb_func_start nullsub_512 nullsub_512: @ 0x08082814 @@ -4083,7 +4083,7 @@ _080828AA: movs r1, #0 adds r2, r4, #0 adds r3, r5, #0 - bl sub_080A2988 + bl CreateObjectWithParent adds r2, r0, #0 cmp r2, #0 beq _080828D6 @@ -4307,7 +4307,7 @@ _08082A4A: ands r0, r1 cmp r0, #0 beq _08082A9C - bl sub_08000E50 + bl Random ldr r4, _08082A74 @ =gUnk_0811F16C movs r1, #9 bl __modsi3 @@ -4357,7 +4357,7 @@ _08082AB4: sub_08082AB8: @ 0x08082AB8 push {r4, r5, lr} adds r4, r0, #0 - ldr r0, _08082B10 @ =gUnk_03003F80 + ldr r0, _08082B10 @ =gLinkState ldr r0, [r0, #0x30] movs r5, #0x80 ands r0, r5 @@ -4388,7 +4388,7 @@ _08082ACC: movs r1, #0x79 adds r2, r5, #0 movs r3, #0 - bl sub_080A2988 + bl CreateObjectWithParent adds r1, r0, #0 str r1, [r4, #0x54] cmp r1, #0 @@ -4398,7 +4398,7 @@ _08082ACC: str r1, [r4, #0x50] b _08082B18 .align 2, 0 -_08082B10: .4byte gUnk_03003F80 +_08082B10: .4byte gLinkState _08082B14: ldr r0, [r4, #0x50] str r0, [r1, #0x50] @@ -4444,13 +4444,13 @@ _08082B5C: ands r0, r1 cmp r0, #0 beq _08082B98 - bl sub_08000E50 + bl Random movs r1, #3 ands r0, r1 strb r0, [r4, #0xe] cmp r0, #0 beq _08082B98 - bl sub_08000E50 + bl Random movs r1, #1 ands r1, r0 lsls r1, r1, #6 @@ -4612,9 +4612,9 @@ _08082CB0: ands r0, r1 cmp r0, #0 beq _08082D0C - bl sub_08000E50 + bl Random adds r4, r0, #0 - bl sub_08000E50 + bl Random adds r1, r0, #0 ldr r2, _08082CE0 @ =gUnk_0811F18C movs r0, #3 @@ -6126,7 +6126,7 @@ _08083868: .4byte gUnk_0811F730 sub_0808386C: @ 0x0808386C push {r4, lr} adds r4, r0, #0 - ldr r0, _080838C8 @ =gUnk_03003F80 + ldr r0, _080838C8 @ =gLinkState adds r0, #0x27 ldrb r1, [r0] rsbs r0, r1, #0 @@ -6172,7 +6172,7 @@ _080838B6: bl _call_via_r1 pop {r4, pc} .align 2, 0 -_080838C8: .4byte gUnk_03003F80 +_080838C8: .4byte gLinkState _080838CC: .4byte gUnk_02022740 _080838D0: .4byte gTextBox _080838D4: .4byte gUnk_03003DF0 @@ -7203,7 +7203,7 @@ sub_080840A8: @ 0x080840A8 adds r6, r0, #0 adds r7, r1, #0 ldr r4, _0808413C @ =gUnk_0811F838 - bl sub_08000E50 + bl Random movs r1, #7 ands r1, r0 adds r1, r1, r4 @@ -7216,20 +7216,20 @@ sub_080840A8: @ 0x080840A8 beq _08084138 movs r0, #6 strb r0, [r5, #0xe] - bl sub_08000E50 + bl Random movs r1, #7 ands r0, r1 adds r0, #0xc movs r1, #0x80 orrs r0, r1 strb r0, [r5, #0x15] - bl sub_08000E50 + bl Random movs r1, #0xf ands r1, r0 lsls r1, r1, #1 adds r1, #0x20 strh r1, [r5, #0x24] - bl sub_08000E50 + bl Random ldr r1, _08084140 @ =gUnk_0811F840 movs r4, #3 ands r0, r4 @@ -7237,7 +7237,7 @@ sub_080840A8: @ 0x080840A8 adds r0, r0, r1 ldr r0, [r0] str r0, [r5, #0x20] - bl sub_08000E50 + bl Random ldr r1, _08084144 @ =gUnk_0811F850 ands r0, r4 adds r0, r0, r1 @@ -7784,7 +7784,7 @@ _08084524: ldrb r4, [r5, #0xa] cmp r4, #3 bne _08084538 - bl sub_08000E50 + bl Random ldr r1, _080845AC @ =gUnk_0811FAC8 ands r4, r0 adds r1, r4, r1 @@ -7794,7 +7794,7 @@ _08084538: ldrb r0, [r5, #0xa] cmp r0, #0x17 bne _0808454E - bl sub_08000E50 + bl Random ldr r2, _080845B0 @ =gUnk_0811FACC movs r1, #3 ands r1, r0 @@ -8279,7 +8279,7 @@ _080848C4: .4byte 0x00004016 sub_080848C8: @ 0x080848C8 push {r4, r5, lr} adds r4, r0, #0 - ldr r0, _08084980 @ =gUnk_03003F80 + ldr r0, _08084980 @ =gLinkState adds r0, #0xa0 ldrb r0, [r0] cmp r0, #5 @@ -8346,7 +8346,7 @@ _0808493C: bl sub_08000152 ldrb r1, [r4, #0xa] adds r1, #1 - ldr r0, _08084980 @ =gUnk_03003F80 + ldr r0, _08084980 @ =gLinkState ldr r0, [r0, #0x2c] adds r0, #0x68 ldrb r3, [r0] @@ -8366,7 +8366,7 @@ _0808496A: bl sub_080849D8 b _080849D6 .align 2, 0 -_08084980: .4byte gUnk_03003F80 +_08084980: .4byte gLinkState _08084984: .4byte gUnk_08120574 _08084988: .4byte gLinkEntity _0808498C: .4byte gUnk_03004040 @@ -8425,7 +8425,7 @@ _080849F2: subs r0, #1 strb r0, [r4, #0xf] _080849F6: - ldr r2, _08084A3C @ =gUnk_03003F80 + ldr r2, _08084A3C @ =gLinkState adds r3, r2, #0 adds r3, #0xa0 ldrb r0, [r3] @@ -8462,7 +8462,7 @@ _08084A04: strb r0, [r3] b _08084AF8 .align 2, 0 -_08084A3C: .4byte gUnk_03003F80 +_08084A3C: .4byte gLinkState _08084A40: .4byte gUnk_03004040 _08084A44: .4byte gLinkEntity _08084A48: @@ -8548,13 +8548,13 @@ _08084AE4: strb r0, [r4, #0xe] b _08084B16 _08084AEA: - ldr r0, _08084AF4 @ =gUnk_03003F80 + ldr r0, _08084AF4 @ =gLinkState adds r0, #0xa0 movs r1, #1 strb r1, [r0] b _08084B16 .align 2, 0 -_08084AF4: .4byte gUnk_03003F80 +_08084AF4: .4byte gLinkState _08084AF8: bl sub_0807A108 adds r0, r4, #0 @@ -8679,8 +8679,8 @@ sub_08084B1C: @ 0x08084B1C strb r1, [r0] ldr r1, [r4, #0x54] adds r0, r4, #0 - bl sub_0806FA24 - ldr r5, _08084CA8 @ =gUnk_03003F80 + bl CopyPosition + ldr r5, _08084CA8 @ =gLinkState ldrb r0, [r5, #4] cmp r0, #0 beq _08084C6A @@ -8766,7 +8766,7 @@ _08084C6A: pop {r4, r5, r6, r7, pc} .align 2, 0 _08084CA4: .4byte gLinkEntity -_08084CA8: .4byte gUnk_03003F80 +_08084CA8: .4byte gLinkState thumb_func_start sub_08084CAC sub_08084CAC: @ 0x08084CAC @@ -8985,7 +8985,7 @@ _08084E58: .4byte 0x00004022 sub_08084E5C: @ 0x08084E5C push {r4, r5, lr} adds r4, r0, #0 - ldr r0, _08084EAC @ =gUnk_03003F80 + ldr r0, _08084EAC @ =gLinkState ldrb r1, [r0, #0x1c] movs r0, #0xf ands r0, r1 @@ -9023,7 +9023,7 @@ _08084E7A: _08084EA8: pop {r4, r5, pc} .align 2, 0 -_08084EAC: .4byte gUnk_03003F80 +_08084EAC: .4byte gLinkState _08084EB0: .4byte gRoomControls thumb_func_start sub_08084EB4 @@ -9104,7 +9104,7 @@ sub_08084EFC: @ 0x08084EFC ldrb r2, [r2] bl sub_0807B9B8 _08084F42: - ldr r0, _08084F80 @ =gUnk_03003F80 + ldr r0, _08084F80 @ =gLinkState ldrb r1, [r0, #0x1c] movs r0, #0xf ands r0, r1 @@ -9135,7 +9135,7 @@ _08084F7A: pop {r4, r5, r6, pc} .align 2, 0 _08084F7C: .4byte gRoomControls -_08084F80: .4byte gUnk_03003F80 +_08084F80: .4byte gLinkState thumb_func_start sub_08084F84 sub_08084F84: @ 0x08084F84 @@ -9171,7 +9171,7 @@ _08084FAE: ldrb r1, [r0, #0xb] ldrb r2, [r0, #0xe] movs r3, #0 - bl sub_080A2988 + bl CreateObjectWithParent _08084FB8: bl sub_0805E780 pop {pc} @@ -9992,7 +9992,7 @@ sub_080855E8: @ 0x080855E8 adds r1, r0, #0 cmp r1, #0 beq _080856EE - ldr r3, _08085650 @ =gUnk_03003F80 + ldr r3, _08085650 @ =gLinkState ldr r0, [r3, #0x30] movs r1, #2 orrs r0, r1 @@ -10028,7 +10028,7 @@ _08085634: b _0808565A .align 2, 0 _0808564C: .4byte gLinkEntity -_08085650: .4byte gUnk_03003F80 +_08085650: .4byte gLinkState _08085654: adds r0, r6, #0 bl sub_08004542 @@ -10059,7 +10059,7 @@ _08085664: str r2, [r7, #0x70] str r2, [r7, #0x6c] _0808568C: - ldr r2, _080856B8 @ =gUnk_03003F80 + ldr r2, _080856B8 @ =gLinkState ldrb r0, [r2, #0x1c] cmp r0, #3 beq _08085696 @@ -10083,7 +10083,7 @@ _08085696: beq _080856D6 b _080857CE .align 2, 0 -_080856B8: .4byte gUnk_03003F80 +_080856B8: .4byte gLinkState _080856BC: .4byte gUnk_08120620 _080856C0: .4byte gLinkEntity _080856C4: @@ -10155,7 +10155,7 @@ _080856FC: adds r2, r5, #0 bl sub_080045D4 strb r0, [r7, #0x15] - ldr r0, _0808575C @ =gUnk_03003F80 + ldr r0, _0808575C @ =gLinkState ldrb r0, [r0, #0x1d] cmp r0, #2 beq _0808576A @@ -10166,7 +10166,7 @@ _080856FC: b _08085774 .align 2, 0 _08085758: .4byte gUnk_08126EE4 -_0808575C: .4byte gUnk_03003F80 +_0808575C: .4byte gLinkState _08085760: cmp r0, #3 bne _08085774 @@ -10409,7 +10409,7 @@ _0808592E: _08085930: strb r0, [r2] _08085932: - ldr r0, _0808595C @ =gUnk_03003F80 + ldr r0, _0808595C @ =gLinkState ldr r0, [r0, #0x30] movs r1, #2 ands r0, r1 @@ -10430,7 +10430,7 @@ _08085944: movs r0, #0 b _08085964 .align 2, 0 -_0808595C: .4byte gUnk_03003F80 +_0808595C: .4byte gLinkState _08085960: adds r0, r1, #0 adds r0, #0x80 @@ -10548,7 +10548,7 @@ sub_08085A1C: @ 0x08085A1C adds r1, r1, r2 ldr r1, [r1] bl _call_via_r1 - ldr r2, _08085A40 @ =gUnk_03003F80 + ldr r2, _08085A40 @ =gLinkState ldr r0, [r2, #0x30] movs r1, #2 orrs r0, r1 @@ -10557,7 +10557,7 @@ sub_08085A1C: @ 0x08085A1C pop {pc} .align 2, 0 _08085A3C: .4byte gUnk_0812062C -_08085A40: .4byte gUnk_03003F80 +_08085A40: .4byte gLinkState thumb_func_start sub_08085A44 sub_08085A44: @ 0x08085A44 @@ -10672,7 +10672,7 @@ _08085B22: movs r1, #0x2b movs r2, #0 movs r3, #0 - bl sub_080A2988 + bl CreateObjectWithParent ldr r0, _08085B3C @ =0x0000012D bl PlaySFX _08085B34: @@ -10836,7 +10836,7 @@ sub_08085C5C: @ 0x08085C5C strb r0, [r5, #0x15] adds r0, r5, #0 bl sub_0806F69C - ldr r2, _08085CA4 @ =gUnk_03003F80 + ldr r2, _08085CA4 @ =gLinkState ldr r0, [r2, #0x30] movs r1, #2 orrs r0, r1 @@ -10851,7 +10851,7 @@ sub_08085C5C: @ 0x08085C5C b _08085CAE .align 2, 0 _08085CA0: .4byte gLinkEntity -_08085CA4: .4byte gUnk_03003F80 +_08085CA4: .4byte gLinkState _08085CA8: adds r0, r5, #0 bl sub_08004542 @@ -10926,7 +10926,7 @@ _08085D26: sub_08085D28: @ 0x08085D28 push {r4, r5, lr} adds r4, r0, #0 - ldr r1, _08085D5C @ =gUnk_03003F80 + ldr r1, _08085D5C @ =gLinkState adds r0, r1, #0 adds r0, #0xa8 ldrb r0, [r0] @@ -10950,7 +10950,7 @@ sub_08085D28: @ 0x08085D28 _08085D5A: pop {r4, r5, pc} .align 2, 0 -_08085D5C: .4byte gUnk_03003F80 +_08085D5C: .4byte gLinkState thumb_func_start sub_08085D60 sub_08085D60: @ 0x08085D60 @@ -10958,7 +10958,7 @@ sub_08085D60: @ 0x08085D60 mov r7, r8 push {r7} adds r5, r0, #0 - ldr r2, _08085D94 @ =gUnk_03003F80 + ldr r2, _08085D94 @ =gLinkState ldr r0, [r2, #0x30] movs r1, #2 ands r0, r1 @@ -10981,7 +10981,7 @@ sub_08085D60: @ 0x08085D60 adds r4, r6, #0 b _08085DB0 .align 2, 0 -_08085D94: .4byte gUnk_03003F80 +_08085D94: .4byte gLinkState _08085D98: movs r0, #0x10 ands r0, r1 @@ -11147,7 +11147,7 @@ _08085EBE: strh r0, [r1, #0x30] ldrb r0, [r2, #0x15] strb r0, [r1, #0x15] - ldr r1, _08085EF4 @ =gUnk_03003F80 + ldr r1, _08085EF4 @ =gLinkState movs r0, #0x80 lsls r0, r0, #1 strh r0, [r1, #8] @@ -11162,7 +11162,7 @@ _08085EE8: pop {pc} .align 2, 0 _08085EF0: .4byte gLinkEntity -_08085EF4: .4byte gUnk_03003F80 +_08085EF4: .4byte gLinkState _08085EF8: .4byte gRoomControls thumb_func_start sub_08085EFC @@ -11217,7 +11217,7 @@ sub_08085F48: @ 0x08085F48 lsrs r3, r0, #0x18 cmp r3, #0 beq _08085F8C - ldr r5, _08085F80 @ =gUnk_03003F80 + ldr r5, _08085F80 @ =gLinkState ldrb r0, [r5, #0x12] cmp r0, #0x17 bne _08085F6A @@ -11235,13 +11235,13 @@ _08085F6A: lsls r2, r2, #0xc b _08085FF8 .align 2, 0 -_08085F80: .4byte gUnk_03003F80 +_08085F80: .4byte gLinkState _08085F84: .4byte 0x0127FFFF _08085F88: movs r0, #0 b _08086006 _08085F8C: - ldr r0, _08085FAC @ =gUnk_03003F80 + ldr r0, _08085FAC @ =gLinkState ldr r1, [r0, #0x30] movs r0, #2 ands r1, r0 @@ -11258,7 +11258,7 @@ _08085F8C: lsls r2, r2, #8 b _08085FF8 .align 2, 0 -_08085FAC: .4byte gUnk_03003F80 +_08085FAC: .4byte gLinkState _08085FB0: .4byte 0x011FFFFF _08085FB4: strb r3, [r4, #0xe] @@ -11515,7 +11515,7 @@ sub_08086168: @ 0x08086168 bl sub_08079F8C cmp r0, #0 beq _080861A8 - ldr r0, _080861A4 @ =gUnk_03003F80 + ldr r0, _080861A4 @ =gLinkState movs r1, #1 strb r1, [r0, #0x14] movs r1, #0x36 @@ -11527,7 +11527,7 @@ sub_08086168: @ 0x08086168 .align 2, 0 _0808619C: .4byte gUnk_08120658 _080861A0: .4byte gLinkEntity -_080861A4: .4byte gUnk_03003F80 +_080861A4: .4byte gLinkState _080861A8: movs r0, #0 _080861AA: @@ -11593,7 +11593,7 @@ sub_080861C4: @ 0x080861C4 ands r2, r1 orrs r2, r0 strb r2, [r4, #0x1b] - bl sub_08000E50 + bl Random ands r0, r5 strb r0, [r4, #0xa] adds r0, r4, #0 @@ -11632,7 +11632,7 @@ _0808625E: bl sub_0805E780 b _0808627E _0808626E: - ldr r0, _08086280 @ =gUnk_03003F80 + ldr r0, _08086280 @ =gLinkState ldrb r1, [r0, #0x1c] movs r0, #0xf ands r0, r1 @@ -11642,7 +11642,7 @@ _0808626E: _0808627E: pop {r4, pc} .align 2, 0 -_08086280: .4byte gUnk_03003F80 +_08086280: .4byte gLinkState thumb_func_start sub_08086284 sub_08086284: @ 0x08086284 @@ -11732,7 +11732,7 @@ _08086324: movs r1, #0x18 adds r2, r5, #0 movs r3, #0 - bl sub_080A2988 + bl CreateObjectWithParent adds r1, r0, #0 str r1, [r4, #0x54] cmp r1, #0 @@ -12569,7 +12569,7 @@ sub_08086954: @ 0x08086954 ldrb r0, [r0, #0x14] cmp r0, #0 bne _080869A0 - ldr r2, _08086998 @ =gUnk_03003F80 + ldr r2, _08086998 @ =gLinkState adds r0, r2, #0 adds r0, #0x90 ldrh r1, [r0] @@ -12585,7 +12585,7 @@ sub_08086954: @ 0x08086954 b _0808699E .align 2, 0 _08086994: .4byte gLinkEntity -_08086998: .4byte gUnk_03003F80 +_08086998: .4byte gLinkState _0808699C: movs r0, #8 _0808699E: @@ -12656,7 +12656,7 @@ sub_080869DC: @ 0x080869DC str r4, [r1, #0x50] str r1, [r4, #0x54] adds r0, r4, #0 - bl sub_0806FA24 + bl CopyPosition adds r0, r4, #0 bl sub_08086A6C _08086A20: @@ -12689,7 +12689,7 @@ _08086A4C: bl sub_080AEF88 ldr r1, [r4, #0x54] adds r0, r4, #0 - bl sub_0806FA24 + bl CopyPosition _08086A5A: pop {r4, pc} @@ -12707,7 +12707,7 @@ sub_08086A5C: @ 0x08086A5C sub_08086A6C: @ 0x08086A6C push {r4, lr} adds r4, r0, #0 - bl sub_08000E50 + bl Random movs r1, #0xa0 lsls r1, r1, #0xa str r1, [r4, #0x20] @@ -12907,7 +12907,7 @@ sub_08086BC4: @ 0x08086BC4 cmp r1, #0 beq _08086C0C adds r0, r4, #0 - bl sub_0806FA24 + bl CopyPosition movs r0, #6 movs r1, #4 bl DoFade @@ -13174,7 +13174,7 @@ sub_08086DCC: @ 0x08086DCC beq _08086E00 adds r0, r5, #0 adds r1, r4, #0 - bl sub_0806FA24 + bl CopyPosition str r5, [r4, #0x50] adds r0, r5, #0 bl sub_08087380 @@ -13302,7 +13302,7 @@ sub_08086ED0: @ 0x08086ED0 adds r4, r0, #0 ldr r0, [r4, #0x50] adds r1, r4, #0 - bl sub_0806FA24 + bl CopyPosition movs r0, #0x36 ldrsh r1, [r4, r0] movs r0, #0x14 @@ -13866,7 +13866,7 @@ sub_080872AC: @ 0x080872AC adds r1, r4, #0 adds r1, #0x6a strh r0, [r1] - bl sub_08000E50 + bl Random movs r1, #0x1f ands r0, r1 strb r0, [r4, #0x15] @@ -13914,7 +13914,7 @@ _0808732A: ldrsh r3, [r3, r5] bl sub_080045D4 strb r0, [r4, #0x15] - bl sub_08000E50 + bl Random ldr r2, _08087378 @ =gUnk_081207AC movs r1, #3 ands r1, r0 @@ -14003,7 +14003,7 @@ _080873DE: cmp r1, #0 beq _080873F8 adds r0, r4, #0 - bl sub_0806FA24 + bl CopyPosition movs r0, #0x30 _080873F6: strb r0, [r4, #0xe] @@ -14048,7 +14048,7 @@ sub_08087424: @ 0x08087424 ldr r0, _0808745C @ =gLinkEntity str r0, [r4, #0x50] adds r1, r4, #0 - bl sub_0806FA24 + bl CopyPosition adds r0, r4, #0 movs r1, #2 bl sub_0805E3A0 @@ -14486,12 +14486,12 @@ sub_0808776C: @ 0x0808776C beq _08087788 subs r0, #1 str r0, [r4, #0x6c] - ldr r0, _08087784 @ =gUnk_03003F80 + ldr r0, _08087784 @ =gLinkState adds r0, #0x3d ldrb r0, [r0] b _08087798 .align 2, 0 -_08087784: .4byte gUnk_03003F80 +_08087784: .4byte gLinkState _08087788: adds r0, r4, #0 bl sub_080AEFE0 @@ -14560,7 +14560,7 @@ _080877F8: ldrb r2, [r4, #0xe] adds r0, r4, #0 movs r3, #0 - bl sub_080A2988 + bl CreateObjectWithParent _08087804: bl sub_0805E780 pop {r4, pc} @@ -14904,7 +14904,7 @@ _08087A76: str r0, [r4, #0x48] strb r2, [r4, #0x1c] _08087AA0: - bl sub_08000E50 + bl Random ldr r2, _08087AE8 @ =gUnk_08120A7A movs r3, #3 adds r1, r0, #0 @@ -16028,7 +16028,7 @@ sub_08088328: @ 0x08088328 adds r6, r0, #0 movs r4, #0x7f _08088332: - bl sub_08000E50 + bl Random adds r5, r0, #0 ands r5, r4 cmp r5, #0x63 @@ -16038,7 +16038,7 @@ _08088332: ldrb r0, [r0] rsbs r0, r0, #0 bl sub_080542C0 - bl sub_08000E50 + bl Random movs r1, #0x7f ands r1, r0 adds r4, r1, #1 @@ -16904,7 +16904,7 @@ sub_080889A8: @ 0x080889A8 strb r0, [r1] movs r5, #1 _080889CA: - ldr r0, _08088A48 @ =gUnk_03003F80 + ldr r0, _08088A48 @ =gLinkState ldr r0, [r0, #0x30] movs r1, #0x80 lsls r1, r1, #0xf @@ -16965,7 +16965,7 @@ _08088A3A: .align 2, 0 _08088A40: .4byte gLinkEntity _08088A44: .4byte gUnk_08120BEC -_08088A48: .4byte gUnk_03003F80 +_08088A48: .4byte gLinkState _08088A4C: .4byte gUnk_03004040 thumb_func_start sub_08088A50 @@ -17557,7 +17557,7 @@ _08088EB4: movs r1, #0x2a movs r2, #0 movs r3, #0x1e - bl sub_080A2988 + bl CreateObjectWithParent adds r4, r0, #0 cmp r4, #0 beq _08088F14 @@ -17583,7 +17583,7 @@ _08088EB4: ldrb r0, [r4, #0x1b] ands r1, r0 strb r1, [r4, #0x1b] - bl sub_08000E50 + bl Random ldr r2, _08088F1C @ =gUnk_08120C52 movs r1, #3 ands r1, r0 @@ -18054,7 +18054,7 @@ _08089294: cmp r1, #0 beq _080892AA adds r0, r4, #0 - bl sub_0806FA24 + bl CopyPosition _080892AA: adds r0, r4, #0 bl sub_080894FC @@ -18083,7 +18083,7 @@ sub_080892C4: @ 0x080892C4 bl sub_080895C0 b _080892F6 _080892D8: - ldr r0, _080892F8 @ =gUnk_03003F80 + ldr r0, _080892F8 @ =gLinkState ldrb r0, [r0, #5] cmp r0, #0 bne _080892E4 @@ -18101,7 +18101,7 @@ _080892E4: _080892F6: pop {pc} .align 2, 0 -_080892F8: .4byte gUnk_03003F80 +_080892F8: .4byte gLinkState _080892FC: .4byte gUnk_08120CAC thumb_func_start sub_08089300 @@ -18172,7 +18172,7 @@ _0808937C: cmp r1, #0 beq _08089392 adds r0, r5, #0 - bl sub_0806FA24 + bl CopyPosition _08089392: adds r0, r5, #0 bl sub_080894FC @@ -18185,7 +18185,7 @@ _080893A0: bl sub_080896B0 cmp r0, #0 beq _080893D6 - ldr r2, _080893D8 @ =gUnk_03003F80 + ldr r2, _080893D8 @ =gLinkState movs r3, #0 movs r0, #0x10 strb r0, [r2, #0xc] @@ -18210,7 +18210,7 @@ _080893A0: _080893D6: pop {r4, r5, pc} .align 2, 0 -_080893D8: .4byte gUnk_03003F80 +_080893D8: .4byte gLinkState _080893DC: .4byte gLinkEntity thumb_func_start sub_080893E0 @@ -18506,7 +18506,7 @@ _080895FE: cmp r1, #0 beq _08089614 adds r0, r4, #0 - bl sub_0806FA24 + bl CopyPosition _08089614: ldrb r1, [r4, #0x18] movs r0, #4 @@ -18598,7 +18598,7 @@ _080896AC: thumb_func_start sub_080896B0 sub_080896B0: @ 0x080896B0 push {r4, r5, r6, r7, lr} - ldr r0, _08089750 @ =gUnk_03003F80 + ldr r0, _08089750 @ =gLinkState ldrb r1, [r0, #5] movs r0, #0x1f ands r0, r1 @@ -18676,7 +18676,7 @@ sub_080896B0: @ 0x080896B0 movs r0, #1 b _0808976A .align 2, 0 -_08089750: .4byte gUnk_03003F80 +_08089750: .4byte gLinkState _08089754: .4byte gLinkEntity _08089758: .4byte gUnk_080B4468 _0808975C: .4byte gUnk_080B4488 @@ -18819,7 +18819,7 @@ sub_08089848: @ 0x08089848 ldr r1, [r0] adds r0, r4, #0 bl _call_via_r1 - bl sub_08000E50 + bl Random movs r1, #1 ands r1, r0 adds r1, #1 @@ -18867,7 +18867,7 @@ _080898B4: movs r1, #0x29 movs r2, #0 movs r3, #0xff - bl sub_080A2988 + bl CreateObjectWithParent ldrb r0, [r4, #0xa] cmp r0, #0 beq _080898FA @@ -18876,7 +18876,7 @@ _080898C8: adds r0, r4, #0 movs r1, #0x29 movs r2, #0 - bl sub_080A2988 + bl CreateObjectWithParent adds r1, r0, #0 str r1, [r4, #0x54] cmp r1, #0 @@ -19027,7 +19027,7 @@ _0808999E: movs r0, #1 strb r0, [r1, #0xc] _080899EC: - ldr r1, _08089A78 @ =gUnk_03003F80 + ldr r1, _08089A78 @ =gLinkState movs r0, #1 strb r0, [r1, #0x14] ldrh r0, [r5, #0x32] @@ -19098,7 +19098,7 @@ _08089A62: _08089A76: pop {r4, r5, r6, pc} .align 2, 0 -_08089A78: .4byte gUnk_03003F80 +_08089A78: .4byte gLinkState thumb_func_start sub_08089A7C sub_08089A7C: @ 0x08089A7C @@ -19119,7 +19119,7 @@ sub_08089A7C: @ 0x08089A7C bl sub_080041A0 cmp r0, #0 beq _08089AB8 - ldr r2, _08089AB4 @ =gUnk_03003F80 + ldr r2, _08089AB4 @ =gLinkState movs r0, #1 strb r0, [r2, #0x14] ldr r0, [r2, #0x30] @@ -19129,7 +19129,7 @@ sub_08089A7C: @ 0x08089A7C b _08089AD0 .align 2, 0 _08089AB0: .4byte gLinkEntity -_08089AB4: .4byte gUnk_03003F80 +_08089AB4: .4byte gLinkState _08089AB8: movs r2, #1 strb r2, [r4, #0xc] @@ -19162,14 +19162,14 @@ sub_08089AE0: @ 0x08089AE0 bl sub_080041A0 cmp r0, #0 beq _08089AF6 - ldr r1, _08089AFC @ =gUnk_03003F80 + ldr r1, _08089AFC @ =gLinkState movs r0, #1 strb r0, [r1, #0x14] _08089AF6: pop {pc} .align 2, 0 _08089AF8: .4byte gLinkEntity -_08089AFC: .4byte gUnk_03003F80 +_08089AFC: .4byte gLinkState thumb_func_start sub_08089B00 sub_08089B00: @ 0x08089B00 @@ -19236,7 +19236,7 @@ _08089B66: _08089B72: ldr r0, [r4, #0x50] adds r1, r4, #0 - bl sub_0806FA24 + bl CopyPosition b _08089B96 _08089B7C: adds r0, r4, #0 @@ -19355,7 +19355,7 @@ _08089C58: _08089C68: ldr r0, [r5, #0x50] adds r1, r5, #0 - bl sub_0806FA24 + bl CopyPosition b _08089CBA _08089C72: adds r0, r5, #0 @@ -19979,7 +19979,7 @@ _0808A0F6: ble _0808A0FC b _0808A202 _0808A0FC: - ldr r0, _0808A118 @ =gUnk_03003F80 + ldr r0, _0808A118 @ =gLinkState ldrb r0, [r0, #0x12] cmp r0, #0x1e bne _0808A1DA @@ -19992,7 +19992,7 @@ _0808A0FC: beq _0808A1DC b _0808A1B0 .align 2, 0 -_0808A118: .4byte gUnk_03003F80 +_0808A118: .4byte gLinkState _0808A11C: .4byte gLinkEntity _0808A120: ldrb r0, [r5, #0xe] @@ -20166,7 +20166,7 @@ sub_0808A220: @ 0x0808A220 movs r1, #0x15 movs r2, #0 movs r3, #0 - bl sub_080A2988 + bl CreateObjectWithParent adds r3, r0, #0 cmp r3, #0 beq _0808A2D4 @@ -20221,7 +20221,7 @@ _0808A2D4: movs r1, #0x2c movs r2, #9 movs r3, #0 - bl sub_080A2988 + bl CreateObjectWithParent pop {r4, r5, r6, r7, pc} .align 2, 0 _0808A2E4: .4byte gRoomControls @@ -20271,7 +20271,7 @@ _0808A316: ands r0, r2 orrs r0, r1 strb r0, [r5, #0x19] - ldr r0, _0808A390 @ =gUnk_03003F80 + ldr r0, _0808A390 @ =gLinkState ldrb r0, [r0, #0x12] cmp r0, #0x1e bne _0808A39C @@ -20312,7 +20312,7 @@ _0808A316: b _0808A3EC .align 2, 0 _0808A38C: .4byte gLinkEntity -_0808A390: .4byte gUnk_03003F80 +_0808A390: .4byte gLinkState _0808A394: .4byte 0x00004014 _0808A398: .4byte gRoomControls _0808A39C: @@ -20390,7 +20390,7 @@ _0808A41E: lsls r0, r0, #0x18 cmp r0, #0 bne _0808A466 - bl sub_08000E50 + bl Random movs r1, #0x1f ands r0, r1 movs r1, #0x40 @@ -20405,8 +20405,8 @@ _0808A41E: beq _0808A466 adds r0, r4, #0 adds r1, r5, #0 - bl sub_0806FA24 - bl sub_08000E50 + bl CopyPosition + bl Random ldr r2, _0808A468 @ =gUnk_08121068 movs r1, #7 ands r1, r0 @@ -21764,7 +21764,7 @@ _0808AE80: sub_0808AE84: @ 0x0808AE84 push {lr} adds r2, r0, #0 - ldr r0, _0808AEA8 @ =gUnk_03003F80 + ldr r0, _0808AEA8 @ =gLinkState ldrb r0, [r0, #5] cmp r0, #0 bne _0808AE94 @@ -21781,7 +21781,7 @@ _0808AE94: bl _call_via_r1 pop {pc} .align 2, 0 -_0808AEA8: .4byte gUnk_03003F80 +_0808AEA8: .4byte gLinkState _0808AEAC: .4byte gUnk_081211DC thumb_func_start sub_0808AEB0 @@ -21795,7 +21795,7 @@ sub_0808AEB0: @ 0x0808AEB0 adds r0, r4, #0 bl sub_0808B1F0 adds r6, r0, #0 - ldr r5, _0808AF10 @ =gUnk_03003F80 + ldr r5, _0808AF10 @ =gLinkState adds r2, r5, #0 adds r2, #0x90 ldr r1, _0808AF14 @ =gUnk_081211E4 @@ -21831,7 +21831,7 @@ _0808AF08: strb r0, [r4, #0xf] b _0808AFD0 .align 2, 0 -_0808AF10: .4byte gUnk_03003F80 +_0808AF10: .4byte gLinkState _0808AF14: .4byte gUnk_081211E4 _0808AF18: .4byte gLinkEntity _0808AF1C: .4byte 0x0000012F @@ -21953,7 +21953,7 @@ sub_0808AFF0: @ 0x0808AFF0 ldr r1, [r0] adds r0, r4, #0 bl _call_via_r1 - ldr r0, _0808B058 @ =gUnk_03003F80 + ldr r0, _0808B058 @ =gLinkState ldrb r1, [r0, #0x1c] movs r0, #0xf ands r0, r1 @@ -21995,7 +21995,7 @@ _0808B050: pop {r4, r5, pc} .align 2, 0 _0808B054: .4byte gUnk_081211EC -_0808B058: .4byte gUnk_03003F80 +_0808B058: .4byte gLinkState thumb_func_start sub_0808B05C sub_0808B05C: @ 0x0808B05C @@ -22091,7 +22091,7 @@ _0808B0DE: ldrb r0, [r6, #0xc] cmp r0, #1 bne _0808B162 - ldr r4, _0808B150 @ =gUnk_03003F80 + ldr r4, _0808B150 @ =gLinkState adds r0, r4, #0 adds r0, #0x26 ldrb r0, [r0] @@ -22118,7 +22118,7 @@ _0808B0DE: .align 2, 0 _0808B148: .4byte gLinkEntity _0808B14C: .4byte gUnk_08126EE4 -_0808B150: .4byte gUnk_03003F80 +_0808B150: .4byte gLinkState _0808B154: movs r0, #0x40 strh r0, [r5, #0x24] @@ -22246,7 +22246,7 @@ sub_0808B21C: @ 0x0808B21C movs r1, #0x32 movs r2, #1 movs r3, #0 - bl sub_080A2988 + bl CreateObjectWithParent adds r1, r0, #0 str r1, [r4, #0x54] cmp r1, #0 @@ -22275,7 +22275,7 @@ _0808B26E: movs r1, #0x32 movs r2, #2 movs r3, #0 - bl sub_080A2988 + bl CreateObjectWithParent adds r1, r0, #0 str r1, [r4, #0x50] cmp r1, #0 @@ -22999,7 +22999,7 @@ _0808B7C0: sub_0808B7C8: @ 0x0808B7C8 push {r4, r5, lr} adds r5, r0, #0 - ldr r2, _0808B824 @ =gUnk_03003F80 + ldr r2, _0808B824 @ =gLinkState ldr r0, [r2, #0x30] movs r1, #0x80 ands r0, r1 @@ -23041,7 +23041,7 @@ _0808B81E: movs r0, #1 b _0808B82E .align 2, 0 -_0808B824: .4byte gUnk_03003F80 +_0808B824: .4byte gLinkState _0808B828: .4byte gLinkEntity _0808B82C: movs r0, #0 @@ -23076,7 +23076,7 @@ sub_0808B830: @ 0x0808B830 str r4, [r2, #0x50] adds r0, r4, #0 adds r1, r2, #0 - bl sub_0806FA24 + bl CopyPosition _0808B86A: pop {r4, pc} @@ -23177,7 +23177,7 @@ sub_0808B910: @ 0x0808B910 adds r1, r1, r2 ldr r1, [r1] bl _call_via_r1 - ldr r2, _0808B930 @ =gUnk_03003F80 + ldr r2, _0808B930 @ =gLinkState ldrb r1, [r2, #0x1a] movs r0, #0x80 orrs r0, r1 @@ -23185,7 +23185,7 @@ sub_0808B910: @ 0x0808B910 pop {pc} .align 2, 0 _0808B92C: .4byte gUnk_081213DC -_0808B930: .4byte gUnk_03003F80 +_0808B930: .4byte gLinkState thumb_func_start sub_0808B934 sub_0808B934: @ 0x0808B934 @@ -23646,7 +23646,7 @@ _0808BCA0: ands r2, r6 cmp r2, #0 beq _0808BCCA - bl sub_08000E50 + bl Random movs r4, #3 ands r0, r4 ldr r1, _0808BCDC @ =0x0000FFFE @@ -23654,7 +23654,7 @@ _0808BCA0: ldrh r1, [r5, #0x2e] adds r0, r0, r1 strh r0, [r5, #0x2e] - bl sub_08000E50 + bl Random ands r0, r4 ldr r1, _0808BCE0 @ =0x0000FFFF adds r0, r0, r1 @@ -24128,7 +24128,7 @@ _0808C050: strb r0, [r2, #0x17] cmp r5, #1 bne _0808C0A6 - ldr r3, _0808C070 @ =gUnk_03003F80 + ldr r3, _0808C070 @ =gLinkState ldr r0, [r3, #0x30] movs r1, #0x20 ands r0, r1 @@ -24141,7 +24141,7 @@ _0808C050: b _0808C082 .align 2, 0 _0808C06C: .4byte gUnk_02033A90 -_0808C070: .4byte gUnk_03003F80 +_0808C070: .4byte gLinkState _0808C074: bl sub_08057810 cmp r0, #0 @@ -26334,7 +26334,7 @@ _0808D0F4: _0808D0FA: movs r4, #1 strb r4, [r5, #0xc] - bl sub_08000E50 + bl Random movs r1, #0x1f ands r0, r1 movs r1, #0x40 @@ -26369,7 +26369,7 @@ _0808D12C: strb r0, [r5, #0xf] movs r0, #2 strb r0, [r5, #0xc] - bl sub_08000E50 + bl Random movs r1, #3 ands r0, r1 strb r0, [r5, #0x14] @@ -26391,7 +26391,7 @@ _0808D150: strb r0, [r5, #0x1e] movs r0, #1 strb r0, [r5, #0xc] - bl sub_08000E50 + bl Random movs r1, #0x1f ands r0, r1 movs r1, #0x40 @@ -27324,7 +27324,7 @@ sub_0808D88C: @ 0x0808D88C lsls r0, r0, #0x18 cmp r0, #0 bne _0808D910 - bl sub_08000E50 + bl Random adds r5, r0, #0 ldrb r0, [r4, #0x10] movs r1, #0x80 @@ -27434,7 +27434,7 @@ sub_0808D958: @ 0x0808D958 _0808D972: adds r0, r2, #0 adds r1, r4, #0 - bl sub_0806FA24 + bl CopyPosition ldrh r0, [r4, #0x36] subs r0, #1 strh r0, [r4, #0x36] @@ -27662,7 +27662,7 @@ _0808DAE0: ldr r0, _0808DB28 @ =gLinkEntity str r0, [r4, #0x54] adds r1, r4, #0 - bl sub_0806FA24 + bl CopyPosition pop {r4, pc} .align 2, 0 _0808DB28: .4byte gLinkEntity @@ -27684,7 +27684,7 @@ sub_0808DB2C: @ 0x0808DB2C movs r0, #1 strb r0, [r2] ldr r0, _0808DB50 @ =gLinkEntity - bl sub_0806FA24 + bl CopyPosition pop {pc} .align 2, 0 _0808DB50: .4byte gLinkEntity @@ -27825,7 +27825,7 @@ _0808DC4E: ldrsh r0, [r7, r3] cmp r1, r0 bge _0808DCDC - ldr r0, _0808DCCC @ =gUnk_03003F80 + ldr r0, _0808DCCC @ =gLinkState ldrb r0, [r0, #0x12] cmp r0, #0x1e bne _0808DC66 @@ -27879,7 +27879,7 @@ _0808DC74: b _0808DD72 .align 2, 0 _0808DCC8: .4byte gLinkEntity -_0808DCCC: .4byte gUnk_03003F80 +_0808DCCC: .4byte gLinkState _0808DCD0: .4byte 0x00004017 _0808DCD4: .4byte 0x00004023 _0808DCD8: .4byte gRoomControls @@ -28041,7 +28041,7 @@ _0808DE04: ldrb r0, [r5, #0xf] cmp r0, #0x1e bhi _0808DE1C - ldr r0, _0808DE8C @ =gUnk_03003F80 + ldr r0, _0808DE8C @ =gLinkState ldr r0, [r0, #0x30] ldr r1, _0808DE90 @ =0x00001810 ands r0, r1 @@ -28051,7 +28051,7 @@ _0808DE04: cmp r0, #0 bne _0808DE2A _0808DE1C: - ldr r0, _0808DE8C @ =gUnk_03003F80 + ldr r0, _0808DE8C @ =gLinkState ldr r1, [r0, #0x30] ldr r2, _0808DE94 @ =0xFFFFFBFF ands r1, r2 @@ -28096,7 +28096,7 @@ _0808DE2A: ands r1, r2 orrs r1, r0 strb r1, [r5, #0x1b] - ldr r0, _0808DE8C @ =gUnk_03003F80 + ldr r0, _0808DE8C @ =gLinkState ldr r0, [r0, #0x30] movs r1, #0x80 lsls r1, r1, #3 @@ -28107,7 +28107,7 @@ _0808DE2A: bl sub_08004274 b _0808DEA4 .align 2, 0 -_0808DE8C: .4byte gUnk_03003F80 +_0808DE8C: .4byte gLinkState _0808DE90: .4byte 0x00001810 _0808DE94: .4byte 0xFFFFFBFF _0808DE98: .4byte gLinkEntity @@ -28232,7 +28232,7 @@ _0808DF78: movs r1, #1 orrs r0, r1 strb r0, [r5, #0x18] - ldr r0, _0808DF9C @ =gUnk_03003F80 + ldr r0, _0808DF9C @ =gLinkState adds r0, #0xac ldrh r1, [r0] movs r0, #0x80 @@ -28243,7 +28243,7 @@ _0808DF78: movs r0, #0x28 b _0808DFA2 .align 2, 0 -_0808DF9C: .4byte gUnk_03003F80 +_0808DF9C: .4byte gLinkState _0808DFA0: movs r0, #0x50 _0808DFA2: @@ -28260,7 +28260,7 @@ sub_0808DFAC: @ 0x0808DFAC ldrb r0, [r4, #0xb] cmp r0, #0 beq _0808E00E - ldr r1, _0808DFF0 @ =gUnk_03003F80 + ldr r1, _0808DFF0 @ =gLinkState adds r0, r1, #0 adds r0, #0x21 ldrb r0, [r0] @@ -28274,7 +28274,7 @@ sub_0808DFAC: @ 0x0808DFAC _0808DFCC: bl sub_0805E780 _0808DFD0: - ldr r0, _0808DFF0 @ =gUnk_03003F80 + ldr r0, _0808DFF0 @ =gLinkState adds r2, r0, #0 adds r2, #0x21 ldrb r0, [r2] @@ -28291,7 +28291,7 @@ _0808DFD0: ldr r7, _0808DFF4 @ =gUnk_081217D8 b _0808E038 .align 2, 0 -_0808DFF0: .4byte gUnk_03003F80 +_0808DFF0: .4byte gLinkState _0808DFF4: .4byte gUnk_081217D8 _0808DFF8: cmp r0, #0 @@ -28306,7 +28306,7 @@ _0808E008: bl sub_0805E780 b _0808E038 _0808E00E: - ldr r5, _0808E02C @ =gUnk_03003F80 + ldr r5, _0808E02C @ =gLinkState ldrb r0, [r5, #4] cmp r0, #0 bne _0808E01A @@ -28321,7 +28321,7 @@ _0808E01A: ldr r7, _0808E030 @ =gUnk_081217D0 b _0808E038 .align 2, 0 -_0808E02C: .4byte gUnk_03003F80 +_0808E02C: .4byte gLinkState _0808E030: .4byte gUnk_081217D0 _0808E034: bl sub_0805E780 @@ -28341,7 +28341,7 @@ _0808E03E: ldrb r0, [r4, #0xb] cmp r0, #0 bne _0808E068 - ldr r0, _0808E080 @ =gUnk_03003F80 + ldr r0, _0808E080 @ =gLinkState adds r0, #0xac ldrh r1, [r0] movs r0, #0x80 @@ -28364,7 +28364,7 @@ _0808E068: strh r0, [r5] b _0808E0E4 .align 2, 0 -_0808E080: .4byte gUnk_03003F80 +_0808E080: .4byte gLinkState _0808E084: adds r5, r4, #0 adds r5, #0x72 @@ -28499,7 +28499,7 @@ _0808E17A: ldrb r0, [r4, #0xb] cmp r0, #0 bne _0808E1BA - ldr r0, _0808E1AC @ =gUnk_03003F80 + ldr r0, _0808E1AC @ =gLinkState ldrb r1, [r0, #0x1b] movs r0, #0x40 ands r0, r1 @@ -28518,7 +28518,7 @@ _0808E17A: strb r0, [r4, #0xc] b _0808E1BA .align 2, 0 -_0808E1AC: .4byte gUnk_03003F80 +_0808E1AC: .4byte gLinkState _0808E1B0: bl sub_0805E780 b _0808E1BA @@ -28573,7 +28573,7 @@ sub_0808E208: @ 0x0808E208 bl sub_08079BD8 adds r0, r4, #0 bl sub_08004274 - ldr r0, _0808E240 @ =gUnk_03003F80 + ldr r0, _0808E240 @ =gLinkState ldrb r0, [r0, #0x1b] cmp r0, #0 beq _0808E248 @@ -28594,7 +28594,7 @@ sub_0808E208: @ 0x0808E208 strb r0, [r4, #0x1a] b _0808E24C .align 2, 0 -_0808E240: .4byte gUnk_03003F80 +_0808E240: .4byte gLinkState _0808E244: .4byte gUnk_030010A0 _0808E248: bl sub_0805E780 @@ -29269,7 +29269,7 @@ sub_0808E764: @ 0x0808E764 push {r4, lr} adds r4, r0, #0 bl sub_08080CB4 - ldr r0, _0808E79C @ =gUnk_03003F80 + ldr r0, _0808E79C @ =gLinkState ldr r0, [r0, #0x30] movs r1, #0x80 ands r0, r1 @@ -29291,7 +29291,7 @@ sub_0808E764: @ 0x0808E764 _0808E79A: pop {r4, pc} .align 2, 0 -_0808E79C: .4byte gUnk_03003F80 +_0808E79C: .4byte gLinkState thumb_func_start sub_0808E7A0 sub_0808E7A0: @ 0x0808E7A0 @@ -30562,7 +30562,7 @@ sub_0808F0D0: @ 0x0808F0D0 movs r1, #0x49 movs r2, #2 movs r3, #0 - bl sub_080A2988 + bl CreateObjectWithParent str r0, [r5, #0x54] cmp r0, #0 bne _0808F0E8 @@ -30572,11 +30572,11 @@ _0808F0E8: strb r6, [r5, #0xc] ldr r0, _0808F148 @ =0x0000FF40 strh r0, [r5, #0x36] - bl sub_08000E50 + bl Random adds r4, r0, #0 movs r0, #0x3f ands r4, r0 - bl sub_08000E50 + bl Random ands r0, r6 cmp r0, #0 beq _0808F106 @@ -30586,11 +30586,11 @@ _0808F106: ldrh r0, [r0, #0x2e] adds r0, r0, r4 strh r0, [r5, #0x2e] - bl sub_08000E50 + bl Random adds r4, r0, #0 movs r0, #0x1f ands r4, r0 - bl sub_08000E50 + bl Random ands r0, r6 cmp r0, #0 beq _0808F124 @@ -30934,7 +30934,7 @@ _0808F388: rsbs r1, r1, #0 cmp r0, r1 bne _0808F3DA - bl sub_08000E50 + bl Random ldr r2, _0808F3C0 @ =gUnk_08121EA0 movs r1, #1 ands r1, r0 @@ -31039,7 +31039,7 @@ _0808F456: movs r1, #0x49 movs r2, #8 movs r3, #0 - bl sub_080A2988 + bl CreateObjectWithParent adds r1, r0, #0 cmp r1, #0 beq _0808F486 @@ -31089,7 +31089,7 @@ _0808F4C2: bne _0808F4D4 bl sub_0805E780 _0808F4D4: - ldr r0, _0808F4E8 @ =gUnk_03003F80 + ldr r0, _0808F4E8 @ =gLinkState ldrb r0, [r0, #0x1c] cmp r0, #1 beq _0808F550 @@ -31097,7 +31097,7 @@ _0808F4D4: b _0808F550 .align 2, 0 _0808F4E4: .4byte gUnk_030010A0 -_0808F4E8: .4byte gUnk_03003F80 +_0808F4E8: .4byte gLinkState _0808F4EC: movs r0, #1 strb r0, [r5, #0xc] @@ -31115,7 +31115,7 @@ _0808F4FE: ldrh r0, [r5, #0x2e] subs r0, r0, r1 strh r0, [r5, #0x2e] - bl sub_08000E50 + bl Random ldr r4, [r5, #0x50] ldr r1, [r4, #0x48] ldrb r1, [r1, #6] @@ -31129,7 +31129,7 @@ _0808F4FE: ldrh r0, [r5, #0x32] subs r0, r0, r1 strh r0, [r5, #0x32] - bl sub_08000E50 + bl Random ldr r1, [r5, #0x50] ldr r1, [r1, #0x48] ldrb r1, [r1, #7] @@ -31235,7 +31235,7 @@ sub_0808F5EC: @ 0x0808F5EC movs r1, #0x49 movs r2, #5 movs r3, #0 - bl sub_080A2988 + bl CreateObjectWithParent adds r1, r0, #0 cmp r1, #0 beq _0808F608 @@ -31247,7 +31247,7 @@ _0808F608: movs r1, #0x49 movs r2, #6 movs r3, #0 - bl sub_080A2988 + bl CreateObjectWithParent adds r1, r0, #0 cmp r1, #0 beq _0808F620 @@ -31259,7 +31259,7 @@ _0808F620: movs r1, #0x49 movs r2, #7 movs r3, #0 - bl sub_080A2988 + bl CreateObjectWithParent adds r1, r0, #0 cmp r1, #0 beq _0808F638 @@ -31339,7 +31339,7 @@ sub_0808F658: @ 0x0808F658 adds r0, #0x7a strh r1, [r0] strb r4, [r5, #0x14] - bl sub_08000E50 + bl Random movs r1, #0xf ands r0, r1 lsls r0, r0, #4 @@ -31388,7 +31388,7 @@ sub_0808F70C: @ 0x0808F70C bne _0808F75C movs r0, #1 strb r0, [r4, #0xd] - bl sub_08000E50 + bl Random movs r1, #7 ands r0, r1 lsls r0, r0, #3 @@ -31411,7 +31411,7 @@ _0808F73C: ldrb r0, [r4, #0xa] cmp r0, #2 bne _0808F75C - bl sub_08000E50 + bl Random ldr r3, _0808F778 @ =gUnk_08121EB3 ldrb r1, [r4, #0xb] lsls r1, r1, #1 @@ -32201,7 +32201,7 @@ _0808FD1A: movs r0, #0x18 _0808FD1C: strb r0, [r4, #0xe] - ldr r0, _0808FD3C @ =gUnk_03003F80 + ldr r0, _0808FD3C @ =gLinkState ldr r0, [r0, #0x30] movs r1, #0x80 ands r0, r1 @@ -32216,7 +32216,7 @@ _0808FD30: movs r0, #1 b _0808FD42 .align 2, 0 -_0808FD3C: .4byte gUnk_03003F80 +_0808FD3C: .4byte gLinkState _0808FD40: movs r0, #0 _0808FD42: @@ -32249,7 +32249,7 @@ _0808FD6C: adds r0, #0x70 _0808FD70: ldrh r5, [r0] - ldr r0, _0808FD84 @ =gUnk_03003F80 + ldr r0, _0808FD84 @ =gLinkState ldr r0, [r0, #0x30] movs r1, #0x80 ands r0, r1 @@ -32259,7 +32259,7 @@ _0808FD70: strh r0, [r4, #0x24] b _0808FDB2 .align 2, 0 -_0808FD84: .4byte gUnk_03003F80 +_0808FD84: .4byte gLinkState _0808FD88: strh r1, [r4, #0x24] movs r0, #0x10 @@ -32268,7 +32268,7 @@ _0808FD8E: adds r0, r4, #0 adds r0, #0x7c ldrh r5, [r0] - ldr r0, _0808FDAC @ =gUnk_03003F80 + ldr r0, _0808FDAC @ =gLinkState ldr r0, [r0, #0x30] movs r1, #0x80 ands r0, r1 @@ -32280,7 +32280,7 @@ _0808FD8E: strb r1, [r4, #0xe] b _0808FDB6 .align 2, 0 -_0808FDAC: .4byte gUnk_03003F80 +_0808FDAC: .4byte gLinkState _0808FDB0: strh r1, [r4, #0x24] _0808FDB2: @@ -32428,7 +32428,7 @@ sub_0808FECC: @ 0x0808FECC push {r4, r5, lr} adds r2, r0, #0 movs r4, #1 - ldr r0, _0808FF18 @ =gUnk_03003F80 + ldr r0, _0808FF18 @ =gLinkState ldr r0, [r0, #0x30] movs r1, #0x80 ands r0, r1 @@ -32465,7 +32465,7 @@ _0808FF12: adds r0, r4, #0 pop {r4, r5, pc} .align 2, 0 -_0808FF18: .4byte gUnk_03003F80 +_0808FF18: .4byte gLinkState _0808FF1C: .4byte gLinkEntity thumb_func_start sub_0808FF20 @@ -32488,7 +32488,7 @@ sub_0808FF20: @ 0x0808FF20 beq _0808FF4A str r4, [r1, #0x50] adds r0, r4, #0 - bl sub_0806FA24 + bl CopyPosition _0808FF4A: pop {r4, pc} @@ -33900,7 +33900,7 @@ _08090AB0: adds r0, #8 cmp r1, r0 bge _08090B14 - ldr r0, _08090B04 @ =gUnk_03003F80 + ldr r0, _08090B04 @ =gLinkState ldrb r0, [r0, #0x12] cmp r0, #0x1e beq _08090B60 @@ -33930,7 +33930,7 @@ _08090AB0: b _08090B60 .align 2, 0 _08090B00: .4byte gLinkEntity -_08090B04: .4byte gUnk_03003F80 +_08090B04: .4byte gLinkState _08090B08: .4byte 0x00004017 _08090B0C: .4byte 0x00004026 _08090B10: .4byte 0x0000403D @@ -34451,7 +34451,7 @@ sub_08090F00: @ 0x08090F00 bne _08090F1C bl sub_0805E780 _08090F1C: - ldr r6, _08090F64 @ =gUnk_03003F80 + ldr r6, _08090F64 @ =gLinkState ldr r0, [r6, #0x30] movs r1, #0x80 ands r0, r1 @@ -34486,7 +34486,7 @@ _08090F1C: _08090F62: pop {r4, r5, r6, pc} .align 2, 0 -_08090F64: .4byte gUnk_03003F80 +_08090F64: .4byte gLinkState _08090F68: .4byte gLinkEntity _08090F6C: .4byte gUnk_0812225C @@ -34814,7 +34814,7 @@ _080911DA: ldrb r2, [r4, #0xe] adds r0, r4, #0 movs r3, #0 - bl sub_080A2988 + bl CreateObjectWithParent _080911E4: bl sub_0805E780 _080911E8: @@ -34913,7 +34913,7 @@ sub_08091264: @ 0x08091264 movs r0, #2 strh r0, [r2] adds r0, r6, #0 - bl sub_0806FA24 + bl CopyPosition movs r2, #1 strb r5, [r6, #0xc] ldrb r1, [r6, #0x18] @@ -34967,7 +34967,7 @@ _080912CE: strh r0, [r1] adds r0, r6, #0 adds r1, r7, #0 - bl sub_0806FA24 + bl CopyPosition adds r0, r6, #0 adds r0, #0x7e ldrb r0, [r0] @@ -35081,7 +35081,7 @@ _080913E0: ldrb r3, [r4, #0xb] cmp r0, r3 bne _0809142A - ldr r1, _08091434 @ =gUnk_03003F80 + ldr r1, _08091434 @ =gLinkState adds r0, r1, #0 adds r0, #0xa8 ldrb r0, [r0] @@ -35116,7 +35116,7 @@ _0809142A: .align 2, 0 _0809142C: .4byte gLinkEntity _08091430: .4byte gUnk_081222B8 -_08091434: .4byte gUnk_03003F80 +_08091434: .4byte gLinkState thumb_func_start sub_08091438 sub_08091438: @ 0x08091438 @@ -35513,7 +35513,7 @@ sub_080916EC: @ 0x080916EC ldrb r1, [r7, #4] cmp r0, r1 bne _08091716 - ldr r0, _080917D0 @ =gUnk_03003F80 + ldr r0, _080917D0 @ =gLinkState ldr r0, [r0, #0x30] movs r1, #0x80 lsls r1, r1, #5 @@ -35611,7 +35611,7 @@ _0809171A: .align 2, 0 _080917C8: .4byte gUnk_030010EC _080917CC: .4byte gRoomControls -_080917D0: .4byte gUnk_03003F80 +_080917D0: .4byte gLinkState _080917D4: .4byte gUnk_080FD310 _080917D8: .4byte 0x00004022 @@ -35646,7 +35646,7 @@ _08091810: bl sub_0800445C cmp r0, #0 beq _0809184A - ldr r2, _08091840 @ =gUnk_03003F80 + ldr r2, _08091840 @ =gLinkState ldr r0, [r2, #0x30] ldr r1, _08091844 @ =0x00040080 ands r0, r1 @@ -35665,7 +35665,7 @@ _08091810: adds r0, #1 b _0809184A .align 2, 0 -_08091840: .4byte gUnk_03003F80 +_08091840: .4byte gLinkState _08091844: .4byte 0x00040080 _08091848: movs r0, #0 @@ -35680,7 +35680,7 @@ _0809184A: ldrb r0, [r4, #0xc] adds r0, #1 strb r0, [r4, #0xc] - ldr r2, _08091894 @ =gUnk_03003F80 + ldr r2, _08091894 @ =gLinkState movs r0, #0x81 strb r0, [r2, #2] ldr r0, [r2, #0x30] @@ -35705,7 +35705,7 @@ _0809184A: bl PlaySFX b _080918A0 .align 2, 0 -_08091894: .4byte gUnk_03003F80 +_08091894: .4byte gLinkState _08091898: .4byte gLinkEntity _0809189C: movs r0, #0 @@ -35741,7 +35741,7 @@ sub_080918A4: @ 0x080918A4 ldrb r0, [r4, #0x14] lsls r0, r0, #1 strb r0, [r5, #0x14] - ldr r2, _08091968 @ =gUnk_03003F80 + ldr r2, _08091968 @ =gLinkState ldr r0, [r2, #0x30] movs r1, #0x80 lsls r1, r1, #0x13 @@ -35809,7 +35809,7 @@ sub_080918A4: @ 0x080918A4 b _0809197E .align 2, 0 _08091964: .4byte gLinkEntity -_08091968: .4byte gUnk_03003F80 +_08091968: .4byte gLinkState _0809196C: .4byte gRoomControls _08091970: .4byte 0x00000137 _08091974: @@ -35853,7 +35853,7 @@ sub_080919AC: @ 0x080919AC mov r8, r0 movs r0, #7 strb r0, [r1, #0xe] - ldr r0, _080919D8 @ =gUnk_03003F80 + ldr r0, _080919D8 @ =gLinkState ldr r0, [r0, #0x30] movs r1, #0x80 lsls r1, r1, #5 @@ -35865,7 +35865,7 @@ sub_080919AC: @ 0x080919AC b _08091C04 .align 2, 0 _080919D4: .4byte gRoomControls -_080919D8: .4byte gUnk_03003F80 +_080919D8: .4byte gLinkState _080919DC: ldr r4, _08091A14 @ =gLinkEntity adds r6, r4, #0 @@ -35882,7 +35882,7 @@ _080919DC: strb r0, [r5, #0x10] adds r0, r5, #0 adds r1, r4, #0 - bl sub_0806FA24 + bl CopyPosition ldrb r1, [r6] movs r0, #0xf0 ands r0, r1 @@ -35912,7 +35912,7 @@ _08091A22: bl sub_0806F69C adds r0, r5, #0 adds r1, r4, #0 - bl sub_0806FA24 + bl CopyPosition adds r0, r5, #0 adds r0, #0x29 ldrb r1, [r0] @@ -36040,7 +36040,7 @@ _08091B2C: strb r0, [r5, #0xc] adds r0, r5, #0 bl sub_08017744 - ldr r2, _08091BAC @ =gUnk_03003F80 + ldr r2, _08091BAC @ =gLinkState movs r0, #0x41 strb r0, [r2, #2] ldr r0, [r2, #0x30] @@ -36078,7 +36078,7 @@ _08091B2C: bl PlaySFX b _08091C04 .align 2, 0 -_08091BAC: .4byte gUnk_03003F80 +_08091BAC: .4byte gLinkState _08091BB0: .4byte gLinkEntity _08091BB4: .4byte 0x00000139 _08091BB8: @@ -36129,7 +36129,7 @@ sub_08091C0C: @ 0x08091C0C bl sub_08004168 ldr r1, _08091C30 @ =gLinkEntity adds r0, r4, #0 - bl sub_0806FA24 + bl CopyPosition adds r0, r4, #0 bl sub_080002B8 cmp r0, #0x68 @@ -36212,7 +36212,7 @@ sub_08091C98: @ 0x08091C98 ldr r5, _08091CC0 @ =gLinkEntity adds r0, r4, #0 adds r1, r5, #0 - bl sub_0806FA24 + bl CopyPosition ldr r1, _08091CC4 @ =gRoomControls ldrh r0, [r1] cmp r0, #0 @@ -36233,7 +36233,7 @@ _08091CC4: .4byte gRoomControls sub_08091CC8: @ 0x08091CC8 push {r4, r5, r6, lr} adds r6, r0, #0 - ldr r2, _08091D58 @ =gUnk_03003F80 + ldr r2, _08091D58 @ =gLinkState ldrb r0, [r2, #2] cmp r0, #0 bne _08091D64 @@ -36302,7 +36302,7 @@ sub_08091CC8: @ 0x08091CC8 bl sub_0800015E b _08091D8A .align 2, 0 -_08091D58: .4byte gUnk_03003F80 +_08091D58: .4byte gLinkState _08091D5C: .4byte gRoomControls _08091D60: .4byte 0x00004022 _08091D64: @@ -37192,14 +37192,14 @@ _080923F8: strb r0, [r4, #0x10] movs r0, #0x14 strb r0, [r4, #0xe] - ldr r0, _0809241C @ =gUnk_03003F80 + ldr r0, _0809241C @ =gLinkState adds r0, #0x3f movs r1, #0xfd strb r1, [r0] _0809241A: pop {r4, pc} .align 2, 0 -_0809241C: .4byte gUnk_03003F80 +_0809241C: .4byte gLinkState thumb_func_start sub_08092420 sub_08092420: @ 0x08092420 @@ -37208,7 +37208,7 @@ sub_08092420: @ 0x08092420 bl sub_0809269C cmp r0, #0 beq _08092434 - ldr r0, _08092464 @ =gUnk_03003F80 + ldr r0, _08092464 @ =gLinkState adds r0, #0x3f movs r1, #0xfd strb r1, [r0] @@ -37237,7 +37237,7 @@ _08092434: _08092462: pop {r4, pc} .align 2, 0 -_08092464: .4byte gUnk_03003F80 +_08092464: .4byte gLinkState _08092468: .4byte 0x0000017B thumb_func_start sub_0809246C @@ -37385,14 +37385,14 @@ _08092570: bl sub_0809264C cmp r5, #0 beq _0809258A - ldr r0, _0809258C @ =gUnk_03003F80 + ldr r0, _0809258C @ =gLinkState adds r0, #0x3f movs r1, #0xfd strb r1, [r0] _0809258A: pop {r4, r5, pc} .align 2, 0 -_0809258C: .4byte gUnk_03003F80 +_0809258C: .4byte gLinkState thumb_func_start sub_08092590 sub_08092590: @ 0x08092590 @@ -37485,7 +37485,7 @@ sub_08092620: @ 0x08092620 strb r4, [r0] str r5, [r1, #0x54] adds r0, r5, #0 - bl sub_0806FA24 + bl CopyPosition strb r4, [r5, #0xc] strb r6, [r5, #0xd] adds r1, r5, #0 @@ -37544,7 +37544,7 @@ _08092674: sub_0809269C: @ 0x0809269C push {r4, r5, r6, lr} adds r4, r0, #0 - ldr r6, _080926D8 @ =gUnk_03003F80 + ldr r6, _080926D8 @ =gLinkState ldr r0, [r6, #0x30] movs r1, #0x80 ands r0, r1 @@ -37571,7 +37571,7 @@ sub_0809269C: @ 0x0809269C movs r0, #1 b _080926E2 .align 2, 0 -_080926D8: .4byte gUnk_03003F80 +_080926D8: .4byte gLinkState _080926DC: .4byte gLinkEntity _080926E0: movs r0, #0 @@ -37887,7 +37887,7 @@ _08092912: movs r1, #0x5b movs r2, #4 movs r3, #0 - bl sub_080A2988 + bl CreateObjectWithParent b _08092928 _08092920: ldrb r0, [r2] @@ -38030,7 +38030,7 @@ _08092A08: movs r0, #0xc0 lsls r0, r0, #9 str r0, [r5, #0x20] - bl sub_08000E50 + bl Random movs r1, #7 ands r0, r1 lsls r0, r0, #0xa @@ -38321,7 +38321,7 @@ _08092C20: ldrb r1, [r1, #0x14] cmp r0, r1 bne _08092C78 - ldr r0, _08092C70 @ =gUnk_03003F80 + ldr r0, _08092C70 @ =gLinkState adds r0, #0x90 ldrh r1, [r0] ldrh r0, [r5, #2] @@ -38334,7 +38334,7 @@ _08092C20: .align 2, 0 _08092C68: .4byte gUnk_081227CC _08092C6C: .4byte gLinkEntity -_08092C70: .4byte gUnk_03003F80 +_08092C70: .4byte gLinkState _08092C74: movs r0, #8 _08092C76: @@ -38488,7 +38488,7 @@ _08092D92: beq _08092E84 adds r0, r5, #0 bl sub_08004274 - ldr r6, _08092E04 @ =gUnk_03003F80 + ldr r6, _08092E04 @ =gLinkState ldr r0, [r6, #0x30] movs r3, #0x80 ands r0, r3 @@ -38538,7 +38538,7 @@ _08092DC8: bgt _08092E84 b _08092E16 .align 2, 0 -_08092E04: .4byte gUnk_03003F80 +_08092E04: .4byte gLinkState _08092E08: .4byte gLinkEntity _08092E0C: ldr r0, _08092E88 @ =gLinkEntity @@ -38550,7 +38550,7 @@ _08092E16: ldr r4, _08092E88 @ =gLinkEntity adds r0, r5, #0 adds r1, r4, #0 - bl sub_0806FA24 + bl CopyPosition adds r0, r5, #0 bl sub_08004542 adds r0, r4, #0 @@ -38563,7 +38563,7 @@ _08092E16: movs r0, #0x80 orrs r0, r1 strb r0, [r4, #0x10] - ldr r1, _08092E8C @ =gUnk_03003F80 + ldr r1, _08092E8C @ =gLinkState movs r0, #0x1f strb r0, [r1, #0xc] ldrb r2, [r5, #0xb] @@ -38600,7 +38600,7 @@ _08092E84: pop {r4, r5, r6, pc} .align 2, 0 _08092E88: .4byte gLinkEntity -_08092E8C: .4byte gUnk_03003F80 +_08092E8C: .4byte gLinkState _08092E90: .4byte 0x00000153 thumb_func_start sub_08092E94 @@ -38917,7 +38917,7 @@ sub_080930F4: @ 0x080930F4 bl sub_08093280 b _08093174 _08093104: - ldr r5, _0809315C @ =gUnk_03003F80 + ldr r5, _0809315C @ =gLinkState ldrb r0, [r5, #5] cmp r0, #0x12 bne _08093168 @@ -38960,7 +38960,7 @@ _08093104: bl sub_08093248 b _08093174 .align 2, 0 -_0809315C: .4byte gUnk_03003F80 +_0809315C: .4byte gLinkState _08093160: .4byte gLinkEntity _08093164: .4byte 0x0000010F _08093168: @@ -39272,7 +39272,7 @@ sub_08093364: @ 0x08093364 str r5, [r4, #0x50] adds r0, r5, #0 adds r1, r4, #0 - bl sub_0806FA24 + bl CopyPosition ldrb r1, [r5, #0x15] movs r0, #0x10 ands r0, r1 @@ -39364,7 +39364,7 @@ _08093424: .4byte gUnk_081228B8 sub_08093428: @ 0x08093428 push {r4, lr} adds r4, r0, #0 - ldr r0, _0809345C @ =gUnk_03003F80 + ldr r0, _0809345C @ =gLinkState ldr r0, [r0, #0x30] movs r1, #0x80 lsls r1, r1, #0x11 @@ -39389,7 +39389,7 @@ _0809344A: bl _call_via_r1 pop {r4, pc} .align 2, 0 -_0809345C: .4byte gUnk_03003F80 +_0809345C: .4byte gLinkState _08093460: .4byte gRoomControls _08093464: .4byte gLinkEntity _08093468: .4byte gUnk_081228C8 @@ -39432,7 +39432,7 @@ sub_0809346C: @ 0x0809346C movs r1, #0x61 movs r2, #1 movs r3, #0 - bl sub_080A2988 + bl CreateObjectWithParent _080934B8: adds r0, r4, #0 bl sub_080934C8 @@ -39611,7 +39611,7 @@ _080935FE: ldr r4, _0809364C @ =gLinkEntity adds r0, r4, #0 adds r1, r5, #0 - bl sub_0806FA24 + bl CopyPosition ldrb r2, [r4, #0x1b] lsrs r2, r2, #6 lsls r2, r2, #6 @@ -39668,7 +39668,7 @@ sub_08093650: @ 0x08093650 _08093674: adds r0, r5, #0 adds r1, r4, #0 - bl sub_0806FA24 + bl CopyPosition ldrb r2, [r5, #0x1b] lsrs r2, r2, #6 lsls r2, r2, #6 @@ -39925,7 +39925,7 @@ _08093854: beq _0809387A str r4, [r1, #0x50] adds r0, r4, #0 - bl sub_0806FA24 + bl CopyPosition b _0809387A _0809386A: movs r0, #0 @@ -40434,7 +40434,7 @@ sub_08093C70: @ 0x08093C70 ldrh r0, [r3] cmp r0, #0 beq _08093CE8 - ldr r0, _08093CE0 @ =gUnk_03003F80 + ldr r0, _08093CE0 @ =gLinkState ldrb r0, [r0, #5] cmp r0, #0 beq _08093D5C @@ -40478,10 +40478,10 @@ sub_08093C70: @ 0x08093C70 bl sub_0800015E b _08093D5C .align 2, 0 -_08093CE0: .4byte gUnk_03003F80 +_08093CE0: .4byte gLinkState _08093CE4: .4byte 0x00004022 _08093CE8: - ldr r0, _08093D60 @ =gUnk_03003F80 + ldr r0, _08093D60 @ =gLinkState ldrb r0, [r0, #5] cmp r0, #0 bne _08093D5C @@ -40536,7 +40536,7 @@ _08093CE8: _08093D5C: pop {r4, r5, r6, pc} .align 2, 0 -_08093D60: .4byte gUnk_03003F80 +_08093D60: .4byte gLinkState _08093D64: .4byte 0x0000403D _08093D68: .4byte 0x00004027 _08093D6C: .4byte 0x00004029 @@ -40638,7 +40638,7 @@ sub_08093E10: @ 0x08093E10 push {r4, r5, lr} adds r4, r0, #0 adds r5, r1, #0 - bl sub_0806FA24 + bl CopyPosition str r4, [r5, #0x50] str r5, [r4, #0x54] ldr r0, [r4, #0x20] @@ -40793,7 +40793,7 @@ _08093F0A: ldr r0, [r5, #0x50] str r0, [r1, #0x50] adds r0, r5, #0 - bl sub_0806FA24 + bl CopyPosition b _08093F8E _08093F40: adds r0, r5, #0 @@ -40817,7 +40817,7 @@ _08093F40: ldr r0, [r5, #0x50] str r0, [r1, #0x50] adds r0, r5, #0 - bl sub_0806FA24 + bl CopyPosition _08093F72: ldrb r1, [r6] movs r0, #0x80 @@ -41170,7 +41170,7 @@ _08094200: ldrb r0, [r4, #0xb] cmp r0, #3 bhi _08094230 - bl sub_08000E50 + bl Random ldr r1, _0809422C @ =0x0001FFFF ands r1, r0 movs r0, #0xa0 @@ -41194,7 +41194,7 @@ _08094230: movs r0, #0x80 lsls r0, r0, #1 strh r0, [r4, #0x24] - bl sub_08000E50 + bl Random movs r1, #3 ands r0, r1 ldrb r1, [r4, #0x15] @@ -41212,7 +41212,7 @@ _08094254: movs r1, #0x67 movs r2, #1 movs r3, #0x80 - bl sub_080A2988 + bl CreateObjectWithParent adds r1, r0, #0 str r1, [r4, #0x54] cmp r1, #0 @@ -41947,7 +41947,7 @@ _080947B8: _080947EE: ldr r0, [r5, #0x54] adds r1, r5, #0 - bl sub_0806FA24 + bl CopyPosition ldr r1, _08094814 @ =0x00004032 ldr r2, _08094818 @ =0x00004033 adds r0, r5, #0 @@ -41996,7 +41996,7 @@ _0809485A: bne _080948C6 ldr r0, [r5, #0x54] adds r1, r5, #0 - bl sub_0806FA24 + bl CopyPosition strb r4, [r5, #0xe] adds r2, r5, #0 adds r2, #0x29 @@ -42100,12 +42100,12 @@ sub_080948E8: @ 0x080948E8 ands r0, r3 orrs r0, r1 strb r0, [r2] - bl sub_08000E50 + bl Random movs r1, #1 ands r1, r0 cmp r1, #0 beq _08094960 - bl sub_08000E50 + bl Random ldr r2, [r4, #0x54] movs r1, #0xf ands r0, r1 @@ -42116,7 +42116,7 @@ sub_080948E8: @ 0x080948E8 .align 2, 0 _0809495C: .4byte 0xFFFFC000 _08094960: - bl sub_08000E50 + bl Random ldr r2, [r4, #0x54] movs r1, #0xf ands r0, r1 @@ -42432,7 +42432,7 @@ sub_08094B94: @ 0x08094B94 beq _08094BD2 ldr r0, _08094BD4 @ =gLinkEntity adds r1, r4, #0 - bl sub_0806FA24 + bl CopyPosition ldr r0, _08094BD8 @ =0x0000FFD0 strh r0, [r4, #0x36] ldr r1, _08094BDC @ =gUnk_0800AEDC @@ -42472,7 +42472,7 @@ sub_08094BE0: @ 0x08094BE0 beq _08094C22 ldr r0, _08094C28 @ =gLinkEntity adds r1, r4, #0 - bl sub_0806FA24 + bl CopyPosition ldr r0, _08094C2C @ =0x0000FFF4 strh r0, [r4, #0x36] ldrh r0, [r4, #0x32] @@ -42532,7 +42532,7 @@ _08094C44: _08094C74: adds r0, r5, #0 adds r1, r4, #0 - bl sub_0806FA24 + bl CopyPosition adds r0, r4, #0 bl sub_080042B8 pop {r4, r5, pc} @@ -42793,14 +42793,14 @@ _08094E48: bne _08094E5A b _08094F94 _08094E5A: - bl sub_08000E50 + bl Random ldr r4, _08094E84 @ =gRoomControls movs r1, #0xf0 bl __modsi3 ldrh r1, [r4, #0xa] adds r1, r1, r0 strh r1, [r5, #0x2e] - bl sub_08000E50 + bl Random movs r1, #0xa0 bl __modsi3 ldrh r1, [r4, #0xc] @@ -43004,7 +43004,7 @@ _08094FF0: strb r0, [r4, #0xc] adds r0, r4, #0 bl sub_080788E0 - ldr r0, _08095020 @ =gUnk_03003F80 + ldr r0, _08095020 @ =gLinkState movs r1, #0xc strb r1, [r0, #0xc] adds r0, #0x38 @@ -43014,7 +43014,7 @@ _08094FF0: bl sub_08078A90 b _08095086 .align 2, 0 -_08095020: .4byte gUnk_03003F80 +_08095020: .4byte gLinkState _08095024: movs r0, #0x36 bl GetInventoryValue @@ -43372,7 +43372,7 @@ _080952F0: beq _080952FE adds r0, r3, #0 adds r1, r4, #0 - bl sub_0806FA24 + bl CopyPosition _080952FE: adds r0, r4, #0 bl sub_080042B8 @@ -43415,7 +43415,7 @@ sub_08095330: @ 0x08095330 str r5, [r4, #0x50] adds r0, r5, #0 adds r1, r4, #0 - bl sub_0806FA24 + bl CopyPosition ldr r0, _08095360 @ =0x0000FFF0 strh r0, [r4, #0x36] adds r0, r4, #0 @@ -43584,7 +43584,7 @@ sub_0809545C: @ 0x0809545C beq _080954A6 adds r0, r5, #0 adds r1, r4, #0 - bl sub_0806FA24 + bl CopyPosition str r5, [r4, #0x50] _080954A6: pop {r4, r5, r6, pc} @@ -43604,7 +43604,7 @@ sub_080954AC: @ 0x080954AC beq _080954D6 adds r0, r5, #0 adds r1, r4, #0 - bl sub_0806FA24 + bl CopyPosition ldr r1, _080954D8 @ =gUnk_08015B14 adds r0, r4, #0 bl sub_0807DAD0 @@ -43696,7 +43696,7 @@ _0809550A: bl sub_08004260 adds r0, r4, #0 bl sub_08095754 - bl sub_08000E50 + bl Random movs r1, #6 bl __modsi3 movs r1, #0xde @@ -43951,7 +43951,7 @@ sub_08095754: @ 0x08095754 str r5, [r4, #0x50] adds r0, r5, #0 adds r1, r4, #0 - bl sub_0806FA24 + bl CopyPosition adds r0, r5, #0 adds r1, r4, #0 bl sub_0806FAD8 @@ -44002,7 +44002,7 @@ sub_080957B4: @ 0x080957B4 str r5, [r4, #0x50] adds r0, r5, #0 adds r1, r4, #0 - bl sub_0806FA24 + bl CopyPosition adds r0, r5, #0 adds r1, r4, #0 bl sub_0806FAD8 @@ -44048,7 +44048,7 @@ sub_08095810: @ 0x08095810 str r5, [r4, #0x50] adds r0, r5, #0 adds r1, r4, #0 - bl sub_0806FA24 + bl CopyPosition adds r0, r5, #0 adds r1, r4, #0 bl sub_0806FAB0 @@ -44533,7 +44533,7 @@ sub_08095BE0: @ 0x08095BE0 beq _08095BFC str r4, [r1, #0x50] adds r0, r4, #0 - bl sub_0806FA24 + bl CopyPosition _08095BFC: pop {r4, pc} .align 2, 0 @@ -44593,7 +44593,7 @@ sub_08095C48: @ 0x08095C48 str r1, [r4, #0x54] str r4, [r1, #0x50] adds r0, r4, #0 - bl sub_0806FA24 + bl CopyPosition _08095C66: pop {r4, pc} @@ -44653,7 +44653,7 @@ sub_08095CB0: @ 0x08095CB0 str r5, [r4, #0x50] adds r0, r5, #0 adds r1, r4, #0 - bl sub_0806FA24 + bl CopyPosition movs r0, #0x10 strb r0, [r4, #0xe] ldrb r0, [r5, #0x1e] @@ -44736,7 +44736,7 @@ sub_08095D54: @ 0x08095D54 beq _08095D86 ldr r0, _08095D88 @ =gLinkEntity adds r1, r4, #0 - bl sub_0806FA24 + bl CopyPosition adds r1, r4, #0 adds r1, #0x38 movs r0, #2 @@ -44766,7 +44766,7 @@ sub_08095D8C: @ 0x08095D8C beq _08095DB8 adds r0, r5, #0 adds r1, r4, #0 - bl sub_0806FA24 + bl CopyPosition ldr r1, [r6, #4] adds r0, r4, #0 bl sub_0807DAD0 @@ -44886,7 +44886,7 @@ sub_08095E7C: @ 0x08095E7C beq _08095EA8 adds r0, r5, #0 adds r1, r4, #0 - bl sub_0806FA24 + bl CopyPosition ldr r1, [r6, #4] adds r0, r4, #0 bl sub_0807DAD0 @@ -44931,7 +44931,7 @@ _08095EE0: lsls r0, r0, #0xb mov sl, r0 ldr r4, _08095F34 @ =gUnk_08122B0E - bl sub_08000E50 + bl Random movs r1, #7 ands r1, r0 lsls r1, r1, #1 @@ -44942,11 +44942,11 @@ _08095EE0: movs r0, #0xff strb r0, [r5, #0xb] _08095F02: - bl sub_08000E50 + bl Random adds r4, r0, #0 ands r4, r6 subs r4, r7, r4 - bl sub_08000E50 + bl Random ands r6, r0 subs r3, r7, r6 lsls r4, r4, #0x10 @@ -45032,7 +45032,7 @@ _08095FA6: strb r0, [r4, #0xf] ldr r0, _08096024 @ =gLinkEntity adds r1, r4, #0 - bl sub_0806FA24 + bl CopyPosition adds r2, r4, #0 adds r2, #0x29 ldrb r1, [r2] @@ -45169,7 +45169,7 @@ _080960A0: cmp r0, #0 beq _080960C0 adds r1, r4, #0 - bl sub_0806FA24 + bl CopyPosition _080960C0: pop {r4, pc} .align 2, 0 @@ -45189,7 +45189,7 @@ sub_080960C4: @ 0x080960C4 str r5, [r4, #0x50] adds r0, r5, #0 adds r1, r4, #0 - bl sub_0806FA24 + bl CopyPosition ldr r1, _08096160 @ =gUnk_08114F34 ldrb r0, [r5, #0x19] lsrs r0, r0, #6 @@ -45221,7 +45221,7 @@ _08096110: str r5, [r4, #0x50] adds r0, r5, #0 adds r1, r4, #0 - bl sub_0806FA24 + bl CopyPosition ldr r1, _08096164 @ =gUnk_08114F30 ldrb r0, [r5, #0x19] lsrs r0, r0, #6 @@ -45304,10 +45304,10 @@ _080961B8: beq _080961E6 adds r0, r7, #0 adds r1, r4, #0 - bl sub_0806FA24 + bl CopyPosition lsls r0, r5, #5 strb r0, [r4, #0x15] - bl sub_08000E50 + bl Random movs r2, #0xf8 lsls r2, r2, #1 adds r1, r2, #0 @@ -45643,7 +45643,7 @@ _08096450: movs r1, #0x6b movs r2, #1 movs r3, #0 - bl sub_080A2988 + bl CreateObjectWithParent adds r1, r0, #0 str r1, [r5, #0x54] cmp r1, #0 @@ -45770,7 +45770,7 @@ _0809653C: _0809655C: .4byte 0xFFE40000 _08096560: .4byte 0xFFD80000 _08096564: - ldr r0, _0809657C @ =gUnk_03003F80 + ldr r0, _0809657C @ =gLinkState ldrb r1, [r0, #0xd] movs r0, #0x80 ands r0, r1 @@ -45782,7 +45782,7 @@ _08096570: bl sub_08004260 b _08096586 .align 2, 0 -_0809657C: .4byte gUnk_03003F80 +_0809657C: .4byte gLinkState _08096580: adds r0, r6, #0 bl sub_08004274 @@ -45828,7 +45828,7 @@ _080965C8: bl sub_0805EC9C b _080966F6 _080965D6: - ldr r1, _080965FC @ =gUnk_03003F80 + ldr r1, _080965FC @ =gLinkState ldrb r2, [r1, #0x1a] movs r0, #0x80 orrs r0, r2 @@ -45847,7 +45847,7 @@ _080965D6: bl sub_08004260 b _08096606 .align 2, 0 -_080965FC: .4byte gUnk_03003F80 +_080965FC: .4byte gLinkState _08096600: adds r0, r6, #0 bl sub_08004274 @@ -45922,7 +45922,7 @@ _08096676: adds r0, r6, #0 bl sub_08096A78 _0809669C: - ldr r2, _08096700 @ =gUnk_03003F80 + ldr r2, _08096700 @ =gLinkState adds r0, r2, #0 adds r0, #0x92 ldrh r1, [r0] @@ -45970,7 +45970,7 @@ _080966F6: .align 2, 0 _080966F8: .4byte gUnk_0200AF00 _080966FC: .4byte gLinkEntity -_08096700: .4byte gUnk_03003F80 +_08096700: .4byte gLinkState thumb_func_start sub_08096704 sub_08096704: @ 0x08096704 @@ -46062,7 +46062,7 @@ sub_08096780: @ 0x08096780 bne _080967DC adds r0, r5, #0 bl sub_08004274 - ldr r2, _080967D8 @ =gUnk_03003F80 + ldr r2, _080967D8 @ =gLinkState ldrb r0, [r2, #0xb] movs r1, #0x80 orrs r0, r1 @@ -46088,7 +46088,7 @@ sub_08096780: @ 0x08096780 b _080967E0 .align 2, 0 _080967D4: .4byte gUnk_0812319C -_080967D8: .4byte gUnk_03003F80 +_080967D8: .4byte gLinkState _080967DC: movs r0, #0xc0 strb r0, [r5, #0xe] @@ -46288,7 +46288,7 @@ sub_08096904: @ 0x08096904 ldrb r1, [r5, #0xf] cmp r0, r1 bne _08096980 - ldr r2, _0809697C @ =gUnk_03003F80 + ldr r2, _0809697C @ =gLinkState ldrb r1, [r2, #0xb] movs r0, #0x7f ands r0, r1 @@ -46301,7 +46301,7 @@ sub_08096904: @ 0x08096904 .align 2, 0 _08096974: .4byte gUnk_081231AE _08096978: .4byte gRoomControls -_0809697C: .4byte gUnk_03003F80 +_0809697C: .4byte gLinkState _08096980: movs r0, #0xf _08096982: @@ -46675,7 +46675,7 @@ sub_08096C3C: @ 0x08096C3C cmp r0, #0 bne _08096CAE _08096C56: - ldr r0, _08096C80 @ =gUnk_03003F80 + ldr r0, _08096C80 @ =gLinkState ldr r0, [r0, #0x30] movs r1, #0x80 lsls r1, r1, #5 @@ -46695,7 +46695,7 @@ _08096C56: beq _08096CAE b _08096C9C .align 2, 0 -_08096C80: .4byte gUnk_03003F80 +_08096C80: .4byte gLinkState _08096C84: .4byte gLinkEntity _08096C88: ldrb r0, [r4, #0xe] @@ -46767,7 +46767,7 @@ sub_08096CEC: @ 0x08096CEC cmp r0, #0 bne _08096D60 _08096D06: - ldr r0, _08096D40 @ =gUnk_03003F80 + ldr r0, _08096D40 @ =gLinkState ldr r0, [r0, #0x30] movs r1, #0x80 lsls r1, r1, #5 @@ -46797,7 +46797,7 @@ _08096D06: ldrsh r3, [r4, r5] b _08096D58 .align 2, 0 -_08096D40: .4byte gUnk_03003F80 +_08096D40: .4byte gLinkState _08096D44: .4byte gLinkEntity _08096D48: movs r1, #0x2e @@ -47077,7 +47077,7 @@ sub_08096F30: @ 0x08096F30 bl sub_08097144 b _08096F62 _08096F44: - ldr r0, _08096F64 @ =gUnk_03003F80 + ldr r0, _08096F64 @ =gLinkState ldrb r0, [r0, #5] cmp r0, #0 bne _08096F50 @@ -47095,7 +47095,7 @@ _08096F50: _08096F62: pop {pc} .align 2, 0 -_08096F64: .4byte gUnk_03003F80 +_08096F64: .4byte gLinkState _08096F68: .4byte gUnk_0812326C thumb_func_start sub_08096F6C @@ -47127,7 +47127,7 @@ _08096F98: bl sub_080896B0 cmp r0, #0 beq _08096FD4 - ldr r2, _08096FE0 @ =gUnk_03003F80 + ldr r2, _08096FE0 @ =gLinkState movs r3, #0 movs r0, #0x10 strb r0, [r2, #0xc] @@ -47154,7 +47154,7 @@ _08096FD4: .align 2, 0 _08096FD8: .4byte gLinkEntity _08096FDC: .4byte gUnk_08123274 -_08096FE0: .4byte gUnk_03003F80 +_08096FE0: .4byte gLinkState thumb_func_start sub_08096FE4 sub_08096FE4: @ 0x08096FE4 @@ -47211,7 +47211,7 @@ sub_08097008: @ 0x08097008 cmp r1, #0 beq _0809706A adds r0, r5, #0 - bl sub_0806FA24 + bl CopyPosition b _0809706A .align 2, 0 _08097048: .4byte 0x00004036 @@ -47809,7 +47809,7 @@ sub_080974A4: @ 0x080974A4 ldr r0, [r3, #0x34] cmp r0, #0 bne _080974E8 - ldr r2, _08097544 @ =gUnk_03003F80 + ldr r2, _08097544 @ =gLinkState ldrb r1, [r2, #0x1e] movs r0, #0x40 ands r0, r1 @@ -47849,7 +47849,7 @@ _080974FA: str r0, [r4, #0x2c] ldr r0, [r2, #0x30] str r0, [r4, #0x30] - ldr r0, _08097544 @ =gUnk_03003F80 + ldr r0, _08097544 @ =gLinkState ldrb r0, [r0, #2] cmp r0, #0 bne _08097584 @@ -47880,7 +47880,7 @@ _080974FA: b _08097584 .align 2, 0 _08097540: .4byte gLinkEntity -_08097544: .4byte gUnk_03003F80 +_08097544: .4byte gLinkState _08097548: adds r1, r4, #0 adds r1, #0x29 @@ -48548,7 +48548,7 @@ sub_08097A5C: @ 0x08097A5C strb r0, [r5, #0xc] movs r0, #0x5a strb r0, [r5, #0xe] - bl sub_08000E50 + bl Random strb r0, [r5, #0xf] lsrs r0, r0, #0x10 movs r1, #3 @@ -48602,7 +48602,7 @@ _08097ADA: sub_08097ADC: @ 0x08097ADC push {r4, r5, lr} adds r2, r0, #0 - ldr r5, _08097B18 @ =gUnk_03003F80 + ldr r5, _08097B18 @ =gLinkState ldr r0, [r5, #0x30] movs r1, #0x80 ands r0, r1 @@ -48628,7 +48628,7 @@ sub_08097ADC: @ 0x08097ADC movs r0, #1 b _08097B22 .align 2, 0 -_08097B18: .4byte gUnk_03003F80 +_08097B18: .4byte gLinkState _08097B1C: .4byte gLinkEntity _08097B20: movs r0, #0 @@ -49230,7 +49230,7 @@ _08097F7E: sub_08097F84: @ 0x08097F84 push {r4, lr} adds r4, r0, #0 - ldr r0, _08097FAC @ =gUnk_03003F80 + ldr r0, _08097FAC @ =gLinkState ldr r0, [r0, #0x30] movs r1, #0x80 ands r0, r1 @@ -49247,7 +49247,7 @@ _08097F98: bl _call_via_r1 pop {r4, pc} .align 2, 0 -_08097FAC: .4byte gUnk_03003F80 +_08097FAC: .4byte gLinkState _08097FB0: .4byte gUnk_08123410 thumb_func_start sub_08097FB4 @@ -49366,7 +49366,7 @@ sub_08098084: @ 0x08098084 lsls r0, r0, #0xd cmp r1, r0 bls _080980A8 - ldr r0, _080980A4 @ =gUnk_03003F80 + ldr r0, _080980A4 @ =gLinkState ldr r1, [r0, #0x30] movs r2, #0x80 orrs r1, r2 @@ -49374,7 +49374,7 @@ sub_08098084: @ 0x08098084 bl sub_0805E780 b _0809812E .align 2, 0 -_080980A4: .4byte gUnk_03003F80 +_080980A4: .4byte gLinkState _080980A8: ldrb r0, [r4, #0xa] cmp r0, #0 @@ -49452,7 +49452,7 @@ sub_08098130: @ 0x08098130 adds r4, r0, #0 ldr r0, _08098160 @ =gLinkEntity adds r1, r4, #0 - bl sub_0806FA24 + bl CopyPosition adds r0, r4, #0 adds r0, #0x72 ldrh r0, [r0] @@ -49498,7 +49498,7 @@ sub_08098168: @ 0x08098168 orrs r0, r1 strb r0, [r4, #0x19] strb r3, [r4, #0xe] - bl sub_08000E50 + bl Random movs r1, #0xf ands r0, r1 strb r0, [r4, #0xf] @@ -49664,7 +49664,7 @@ sub_08098294: @ 0x08098294 bl sub_08079F8C cmp r0, #0 beq _080982FA - ldr r2, _080982FC @ =gUnk_03003F80 + ldr r2, _080982FC @ =gLinkState movs r0, #0x90 strb r0, [r2, #6] movs r0, #5 @@ -49682,7 +49682,7 @@ sub_08098294: @ 0x08098294 _080982FA: pop {r4, r5, pc} .align 2, 0 -_080982FC: .4byte gUnk_03003F80 +_080982FC: .4byte gLinkState _08098300: .4byte gLinkEntity thumb_func_start sub_08098304 @@ -50154,7 +50154,7 @@ _080986C4: ldrb r0, [r4, #0xa] cmp r0, #0 beq _080986E6 - ldr r0, _080986DC @ =gUnk_03003F80 + ldr r0, _080986DC @ =gLinkState adds r0, #0xac ldrh r1, [r0] movs r0, #8 @@ -50163,7 +50163,7 @@ _080986C4: beq _08098702 b _080986E6 .align 2, 0 -_080986DC: .4byte gUnk_03003F80 +_080986DC: .4byte gLinkState _080986E0: ldrb r0, [r4, #0xa] cmp r0, #0 @@ -50298,7 +50298,7 @@ sub_080987B4: @ 0x080987B4 sub_080987BC: @ 0x080987BC push {lr} adds r1, r0, #0 - ldr r0, _080987D0 @ =gUnk_03003F80 + ldr r0, _080987D0 @ =gLinkState ldrb r0, [r0, #5] cmp r0, #0 bne _080987CE @@ -50307,7 +50307,7 @@ sub_080987BC: @ 0x080987BC _080987CE: pop {pc} .align 2, 0 -_080987D0: .4byte gUnk_03003F80 +_080987D0: .4byte gLinkState thumb_func_start sub_080987D4 sub_080987D4: @ 0x080987D4 @@ -50358,7 +50358,7 @@ sub_08098810: @ 0x08098810 sub_08098820: @ 0x08098820 push {lr} adds r2, r0, #0 - ldr r0, _0809884C @ =gUnk_03003F80 + ldr r0, _0809884C @ =gLinkState ldrb r1, [r0, #0x1c] movs r0, #0xf ands r0, r1 @@ -50380,7 +50380,7 @@ _0809883E: strb r0, [r2, #0xc] b _08098856 .align 2, 0 -_0809884C: .4byte gUnk_03003F80 +_0809884C: .4byte gLinkState _08098850: adds r0, r2, #0 bl sub_0806F4E8 @@ -50406,7 +50406,7 @@ sub_08098858: @ 0x08098858 ldr r0, [r4, #0x50] str r1, [r0, #0x54] _08098878: - ldr r0, _0809889C @ =gUnk_03003F80 + ldr r0, _0809889C @ =gLinkState ldrb r1, [r0, #0x1c] movs r0, #0xf ands r0, r1 @@ -50424,7 +50424,7 @@ _08098892: bl sub_080989C0 b _080988B4 .align 2, 0 -_0809889C: .4byte gUnk_03003F80 +_0809889C: .4byte gLinkState _080988A0: adds r0, r4, #0 bl sub_0806F3E4 @@ -50442,7 +50442,7 @@ _080988B4: sub_080988B8: @ 0x080988B8 push {lr} adds r2, r0, #0 - ldr r0, _080988CC @ =gUnk_03003F80 + ldr r0, _080988CC @ =gLinkState ldrb r0, [r0, #0x1c] cmp r0, #0 bne _080988D0 @@ -50450,7 +50450,7 @@ sub_080988B8: @ 0x080988B8 bl sub_080989C0 b _080988D8 .align 2, 0 -_080988CC: .4byte gUnk_03003F80 +_080988CC: .4byte gLinkState _080988D0: ldrb r1, [r2, #0x10] movs r0, #0x7f @@ -50514,7 +50514,7 @@ sub_08098918: @ 0x08098918 _0809892E: adds r0, r6, #0 adds r1, r4, #0 - bl sub_0806FA24 + bl CopyPosition ldrb r1, [r6, #0x10] movs r0, #0x80 ands r0, r1 @@ -50711,7 +50711,7 @@ sub_08098A90: @ 0x08098A90 movs r0, #2 _08098A9C: strb r0, [r4, #0xc] - bl sub_08000E50 + bl Random movs r1, #0x7f ands r0, r1 adds r0, #0x7f @@ -50884,7 +50884,7 @@ sub_08098BE0: @ 0x08098BE0 sub_08098BE8: @ 0x08098BE8 push {r4, r5, r6, lr} adds r5, r0, #0 - ldr r6, _08098C28 @ =gUnk_03003F80 + ldr r6, _08098C28 @ =gLinkState ldr r0, [r6, #0x30] movs r1, #0x80 ands r0, r1 @@ -50913,7 +50913,7 @@ sub_08098BE8: @ 0x08098BE8 _08098C26: pop {r4, r5, r6, pc} .align 2, 0 -_08098C28: .4byte gUnk_03003F80 +_08098C28: .4byte gLinkState _08098C2C: .4byte gLinkEntity thumb_func_start sub_08098C30 @@ -50988,7 +50988,7 @@ sub_08098C80: @ 0x08098C80 adds r0, r4, #0 adds r0, #0x80 strh r1, [r0] - ldr r0, _08098CCC @ =gUnk_03003F80 + ldr r0, _08098CCC @ =gLinkState ldr r0, [r0, #0x30] movs r1, #0x80 ands r0, r1 @@ -51001,7 +51001,7 @@ sub_08098C80: @ 0x08098C80 b _08098CD6 .align 2, 0 _08098CC8: .4byte gRoomControls -_08098CCC: .4byte gUnk_03003F80 +_08098CCC: .4byte gLinkState _08098CD0: adds r0, r4, #0 adds r0, #0x38 @@ -51149,7 +51149,7 @@ sub_08098DC4: @ 0x08098DC4 beq _08098E24 adds r0, r5, #0 adds r1, r6, #0 - bl sub_0806FA24 + bl CopyPosition adds r0, r5, #0 bl sub_08004542 adds r0, r6, #0 @@ -51161,7 +51161,7 @@ sub_08098DC4: @ 0x08098DC4 adds r0, r5, #0 adds r1, r6, #0 bl sub_0806FAB0 - ldr r1, _08098E30 @ =gUnk_03003F80 + ldr r1, _08098E30 @ =gLinkState movs r0, #0x1f strb r0, [r1, #0xc] adds r0, r1, #0 @@ -51186,7 +51186,7 @@ _08098E24: pop {r4, r5, r6, pc} .align 2, 0 _08098E2C: .4byte gLinkEntity -_08098E30: .4byte gUnk_03003F80 +_08098E30: .4byte gLinkState thumb_func_start sub_08098E34 sub_08098E34: @ 0x08098E34 @@ -51341,7 +51341,7 @@ sub_08098F14: @ 0x08098F14 bl sub_08079F8C cmp r0, #0 beq _08098F84 - ldr r2, _08098F88 @ =gUnk_03003F80 + ldr r2, _08098F88 @ =gLinkState movs r0, #0x98 strb r0, [r2, #6] movs r0, #5 @@ -51359,7 +51359,7 @@ sub_08098F14: @ 0x08098F14 _08098F84: pop {r4, r5, r6, pc} .align 2, 0 -_08098F88: .4byte gUnk_03003F80 +_08098F88: .4byte gLinkState _08098F8C: .4byte gLinkEntity thumb_func_start sub_08098F90 @@ -51786,7 +51786,7 @@ _080992DC: cmp r1, #0 beq _080992F2 adds r0, r4, #0 - bl sub_0806FA24 + bl CopyPosition _080992F2: adds r0, r4, #0 adds r0, #0x6c @@ -51951,7 +51951,7 @@ _08099400: adds r6, r0, #0 cmp r6, #0 beq _08099466 - bl sub_08000E50 + bl Random adds r4, r0, #0 asrs r0, r4, #0x10 movs r1, #9 @@ -52326,7 +52326,7 @@ _080996CE: beq _08099706 movs r0, #0 strb r0, [r2] - bl sub_08000E50 + bl Random movs r1, #0x78 ands r0, r1 adds r0, #0x78 @@ -52574,7 +52574,7 @@ _080998A4: adds r6, r0, #0 cmp r6, #0 beq _0809990E - bl sub_08000E50 + bl Random adds r4, r0, #0 asrs r0, r4, #0x10 movs r1, #0x21 @@ -53135,7 +53135,7 @@ _08099D6A: beq _08099DA2 movs r0, #0 strb r0, [r2] - bl sub_08000E50 + bl Random movs r1, #0x78 ands r0, r1 adds r0, #0x78 @@ -53312,8 +53312,8 @@ sub_08099ECC: @ 0x08099ECC movs r1, #1 strb r1, [r0, #0xd] ldr r1, _08099EF4 @ =gLinkEntity - bl sub_0806FA24 - ldr r2, _08099EF8 @ =gUnk_03003F80 + bl CopyPosition + ldr r2, _08099EF8 @ =gLinkState movs r0, #3 strb r0, [r2, #0xc] adds r0, r2, #0 @@ -53327,7 +53327,7 @@ sub_08099ECC: @ 0x08099ECC pop {r4, pc} .align 2, 0 _08099EF4: .4byte gLinkEntity -_08099EF8: .4byte gUnk_03003F80 +_08099EF8: .4byte gLinkState thumb_func_start sub_08099EFC sub_08099EFC: @ 0x08099EFC @@ -53398,12 +53398,12 @@ _08099F82: adds r0, #0x80 rsbs r0, r0, #0 strb r0, [r5, #0x15] - bl sub_08000E50 + bl Random movs r1, #1 ands r1, r0 cmp r1, #0 beq _08099FCE - bl sub_08000E50 + bl Random adds r1, r0, #0 movs r0, #3 ands r1, r0 @@ -53434,7 +53434,7 @@ _08099FC8: _08099FCC: strb r0, [r5, #0x15] _08099FCE: - bl sub_08000E50 + bl Random movs r1, #0x3f ands r0, r1 movs r1, #0xf0 @@ -53472,12 +53472,12 @@ _0809A00C: ldrb r2, [r5, #0x15] adds r0, r5, #0 bl sub_0806F62C - bl sub_08000E50 + bl Random movs r1, #1 ands r1, r0 cmp r1, #0 beq _0809A040 - bl sub_08000E50 + bl Random movs r1, #0x3f ands r0, r1 ldrb r1, [r5, #0x15] @@ -53485,7 +53485,7 @@ _0809A00C: strb r0, [r5, #0x15] b _0809A04E _0809A040: - bl sub_08000E50 + bl Random movs r1, #0x3f ands r0, r1 ldrb r1, [r5, #0x15] @@ -53497,24 +53497,24 @@ _0809A04E: bl sub_08004260 b _0809A1B6 _0809A058: - bl sub_08000E50 + bl Random movs r1, #0x2f ands r1, r0 movs r4, #0x30 subs r4, r4, r1 lsls r4, r4, #8 - bl sub_08000E50 + bl Random movs r2, #0xff ands r2, r0 adds r0, r5, #0 adds r1, r4, #0 bl sub_0806F62C - bl sub_08000E50 + bl Random movs r1, #1 ands r1, r0 cmp r1, #0 beq _0809A092 - bl sub_08000E50 + bl Random movs r1, #0x3f ands r0, r1 ldrb r1, [r5, #0x15] @@ -53522,7 +53522,7 @@ _0809A058: strb r0, [r5, #0x15] b _0809A0A0 _0809A092: - bl sub_08000E50 + bl Random movs r1, #0x3f ands r0, r1 ldrb r1, [r5, #0x15] @@ -53597,7 +53597,7 @@ _0809A11C: bl sub_08004260 ldr r0, [r5, #0x50] adds r1, r5, #0 - bl sub_0806FA24 + bl CopyPosition b _0809A1B6 _0809A132: ldr r0, [r5, #0x50] @@ -53724,7 +53724,7 @@ _0809A208: adds r0, r7, #0 movs r1, #0x87 movs r2, #1 - bl sub_080A2988 + bl CreateObjectWithParent adds r1, r0, #0 str r1, [r7, #0x54] cmp r1, #0 @@ -53811,7 +53811,7 @@ _0809A2CC: strb r0, [r7, #0xc] movs r0, #0xf0 strb r0, [r7, #0xe] - bl sub_08000E50 + bl Random ldr r6, _0809A330 @ =gUnk_0812384C ldrb r2, [r7, #0xb] movs r3, #0xf @@ -53824,7 +53824,7 @@ _0809A2CC: ldrb r1, [r1] adds r0, r0, r1 strb r0, [r7, #0x15] - bl sub_08000E50 + bl Random ldrb r1, [r7, #0xb] ands r4, r1 lsls r4, r4, #1 @@ -53987,7 +53987,7 @@ _0809A432: _0809A436: ldr r0, [r7, #0x50] adds r1, r7, #0 - bl sub_0806FA24 + bl CopyPosition ldr r4, _0809A468 @ =gUnk_0812388C ldrb r3, [r7, #0xb] lsls r0, r3, #1 @@ -54017,7 +54017,7 @@ _0809A46C: ldr r0, [r7, #0x50] _0809A474: adds r1, r7, #0 - bl sub_0806FA24 + bl CopyPosition b _0809A632 _0809A47C: ldrb r0, [r7, #0xe] @@ -54901,7 +54901,7 @@ _0809AB22: beq _0809AB9C adds r0, r5, #0 adds r1, r4, #0 - bl sub_0806FA24 + bl CopyPosition str r4, [r5, #0x54] ldr r2, _0809AB68 @ =gUnk_030010A0 adds r0, r2, #0 @@ -55191,7 +55191,7 @@ _0809AD3A: ldr r1, _0809AD5C @ =gRoomControls ldr r0, _0809AD60 @ =gLinkEntity str r0, [r1, #0x30] - ldr r0, _0809AD64 @ =gUnk_03003F80 + ldr r0, _0809AD64 @ =gLinkState adds r0, #0x8b movs r1, #1 strb r1, [r0] @@ -55201,7 +55201,7 @@ _0809AD58: .align 2, 0 _0809AD5C: .4byte gRoomControls _0809AD60: .4byte gLinkEntity -_0809AD64: .4byte gUnk_03003F80 +_0809AD64: .4byte gLinkState thumb_func_start sub_0809AD68 sub_0809AD68: @ 0x0809AD68 @@ -56168,7 +56168,7 @@ _0809B4C0: strh r0, [r4, #0x24] movs r0, #0x10 strb r0, [r4, #0x15] - ldr r2, _0809B510 @ =gUnk_03003F80 + ldr r2, _0809B510 @ =gLinkState movs r0, #0x9e strb r0, [r2, #6] movs r0, #5 @@ -56187,7 +56187,7 @@ _0809B4C0: bl sub_08004488 b _0809B520 .align 2, 0 -_0809B510: .4byte gUnk_03003F80 +_0809B510: .4byte gLinkState _0809B514: .4byte gLinkEntity _0809B518: .4byte 0x0000010F _0809B51C: @@ -56277,7 +56277,7 @@ _0809B5B0: sub_0809B5B4: @ 0x0809B5B4 push {r4, lr} adds r4, r0, #0 - ldr r0, _0809B5CC @ =gUnk_03003F80 + ldr r0, _0809B5CC @ =gLinkState ldr r0, [r0, #0x30] movs r1, #0x80 ands r0, r1 @@ -56287,7 +56287,7 @@ sub_0809B5B4: @ 0x0809B5B4 bl sub_0800445C b _0809B5EA .align 2, 0 -_0809B5CC: .4byte gUnk_03003F80 +_0809B5CC: .4byte gLinkState _0809B5D0: adds r0, r4, #0 bl sub_08017850 @@ -56397,7 +56397,7 @@ sub_0809B688: @ 0x0809B688 adds r1, r0, #0 cmp r1, #1 bne _0809B6A4 - ldr r0, _0809B6AC @ =gUnk_03003F80 + ldr r0, _0809B6AC @ =gLinkState ldrb r0, [r0, #0xd] cmp r0, #0x10 beq _0809B6A4 @@ -56407,7 +56407,7 @@ _0809B6A4: pop {pc} .align 2, 0 _0809B6A8: .4byte gLinkEntity -_0809B6AC: .4byte gUnk_03003F80 +_0809B6AC: .4byte gLinkState thumb_func_start sub_0809B6B0 sub_0809B6B0: @ 0x0809B6B0 @@ -57597,7 +57597,7 @@ _0809BFE0: adds r5, r0, #0 cmp r5, #0 beq _0809C044 - bl sub_08000E50 + bl Random adds r4, r0, #0 asrs r0, r4, #0x10 ands r0, r6 @@ -57641,7 +57641,7 @@ _0809C044: adds r5, r0, #0 cmp r5, #0 beq _0809C09A - bl sub_08000E50 + bl Random adds r4, r0, #0 asrs r1, r4, #0x10 ands r1, r6 @@ -58150,7 +58150,7 @@ _0809C4C6: movs r1, #0x91 adds r2, r6, #0 movs r3, #0 - bl sub_080A2988 + bl CreateObjectWithParent str r0, [r4, #0x54] cmp r0, #0 beq _0809C4EE @@ -58172,7 +58172,7 @@ _0809C4EE: movs r1, #0x91 movs r2, #5 movs r3, #0 - bl sub_080A2988 + bl CreateObjectWithParent str r0, [r4, #0x54] cmp r0, #0 beq _0809C510 @@ -58186,7 +58186,7 @@ _0809C510: movs r1, #0x91 movs r2, #6 movs r3, #0 - bl sub_080A2988 + bl CreateObjectWithParent str r0, [r4, #0x50] cmp r0, #0 beq _0809C5A4 @@ -58522,7 +58522,7 @@ _0809C7B0: .4byte 0xFFFFD000 _0809C7B4: ldr r0, [r5, #0x50] adds r1, r5, #0 - bl sub_0806FA24 + bl CopyPosition _0809C7BC: adds r0, r5, #0 adds r0, #0x76 @@ -58629,7 +58629,7 @@ sub_0809C854: @ 0x0809C854 movs r1, #0x91 movs r2, #7 movs r3, #0 - bl sub_080A2988 + bl CreateObjectWithParent adds r1, r0, #0 cmp r1, #0 beq _0809C892 @@ -58740,7 +58740,7 @@ sub_0809C924: @ 0x0809C924 movs r1, #0x87 movs r2, #6 movs r3, #0 - bl sub_080A2988 + bl CreateObjectWithParent b _0809C980 _0809C948: movs r0, #4 @@ -58862,7 +58862,7 @@ _0809CA16: movs r1, #0x87 movs r2, #2 movs r3, #0 - bl sub_080A2988 + bl CreateObjectWithParent _0809CA30: adds r2, r4, #0 adds r2, #0x79 @@ -59497,7 +59497,7 @@ _0809CF0C: ldrb r0, [r4] cmp r0, #0xff bne _0809CF20 - bl sub_08000E50 + bl Random movs r1, #0xf ands r0, r1 adds r0, #0x10 @@ -59776,7 +59776,7 @@ sub_0809D10C: @ 0x0809D10C sub_0809D130: @ 0x0809D130 push {lr} adds r2, r0, #0 - ldr r0, _0809D148 @ =gUnk_03003F80 + ldr r0, _0809D148 @ =gLinkState ldr r0, [r0, #0x30] movs r1, #0x80 ands r0, r1 @@ -59786,7 +59786,7 @@ sub_0809D130: @ 0x0809D130 bl sub_0800445C b _0809D170 .align 2, 0 -_0809D148: .4byte gUnk_03003F80 +_0809D148: .4byte gLinkState _0809D14C: adds r0, r2, #0 bl sub_08017850 @@ -59835,12 +59835,12 @@ _0809D19C: ands r0, r1 cmp r0, #0 beq _0809D1E8 - bl sub_08000E50 + bl Random movs r1, #3 ands r1, r0 adds r0, r4, #0 bl sub_08004260 - bl sub_08000E50 + bl Random movs r1, #0xf ands r0, r1 adds r0, #0x10 @@ -59852,7 +59852,7 @@ _0809D19C: rsbs r0, r0, #0 ands r0, r1 strb r0, [r4, #0x18] - bl sub_08000E50 + bl Random movs r1, #1 ands r1, r0 cmp r1, #0 diff --git a/asm/code_0809D498.s b/asm/code_0809D498.s index 4d85b36a..792c63e8 100644 --- a/asm/code_0809D498.s +++ b/asm/code_0809D498.s @@ -176,7 +176,7 @@ _0809D5E6: orrs r0, r1 strb r0, [r6, #0x18] bl sub_080791D0 - bl sub_0805E564 + bl UnfreezeTime ldr r1, _0809D664 @ =gUnk_02034490 movs r0, #0 strb r0, [r1] @@ -302,8 +302,8 @@ _0809D6FA: _0809D6FE: pop {r4, pc} - thumb_func_start sub_0809D700 -sub_0809D700: @ 0x0809D700 + thumb_func_start CreateBird +CreateBird: @ 0x0809D700 push {r4, lr} sub sp, #4 bl sub_08052654 @@ -425,7 +425,7 @@ sub_0809D7A8: @ 0x0809D7A8 ldrb r0, [r5, #0x15] cmp r0, #0x81 bne _0809D80C - bl sub_08000E50 + bl Random ldr r1, _0809D820 @ =gLinkEntity ldrb r1, [r1, #0x14] lsls r1, r1, #2 @@ -538,7 +538,7 @@ sub_0809D8C8: @ 0x0809D8C8 push {r4, r5, r6, lr} adds r5, r0, #0 adds r6, r1, #0 - ldr r0, _0809D8E4 @ =gUnk_03003F80 + ldr r0, _0809D8E4 @ =gLinkState ldr r0, [r0, #0x30] movs r1, #0x80 ands r0, r1 @@ -548,7 +548,7 @@ sub_0809D8C8: @ 0x0809D8C8 bl sub_0800445C b _0809D90A .align 2, 0 -_0809D8E4: .4byte gUnk_03003F80 +_0809D8E4: .4byte gLinkState _0809D8E8: adds r0, r5, #0 bl sub_08017850 @@ -1379,7 +1379,7 @@ _0809DF16: cmp r1, #0 beq _0809DF52 adds r0, r5, #0 - bl sub_0806FA24 + bl CopyPosition _0809DF52: adds r0, r5, #0 bl sub_0805E79C @@ -1475,7 +1475,7 @@ _0809DFF4: b _0809E034 _0809E008: strb r0, [r4, #0xc] - bl sub_08000E50 + bl Random ldr r2, _0809E024 @ =gUnk_08124146 movs r1, #1 ands r1, r0 @@ -1567,7 +1567,7 @@ sub_0809E0A0: @ 0x0809E0A0 strb r0, [r5, #0xf] ldr r0, _0809E0CC @ =gLinkEntity adds r1, r4, #0 - bl sub_0806FA24 + bl CopyPosition ldr r0, _0809E0D0 @ =0x0000FFF8 strh r0, [r4, #0x36] _0809E0C8: @@ -1755,14 +1755,14 @@ sub_0809E210: @ 0x0809E210 movs r1, #0xfe ands r0, r1 strb r0, [r4, #0x14] - ldr r1, _0809E234 @ =gUnk_03003F80 + ldr r1, _0809E234 @ =gLinkState movs r0, #0x80 lsls r0, r0, #1 strh r0, [r1, #8] pop {r4, pc} .align 2, 0 _0809E230: .4byte gLinkEntity -_0809E234: .4byte gUnk_03003F80 +_0809E234: .4byte gLinkState thumb_func_start sub_0809E238 sub_0809E238: @ 0x0809E238 @@ -2189,7 +2189,7 @@ _0809E52E: adds r4, r0, #0 adds r0, r6, #0 adds r1, r4, #0 - bl sub_0806FA24 + bl CopyPosition adds r5, #1 movs r0, #0x9a movs r1, #0xff @@ -2214,7 +2214,7 @@ _0809E52E: adds r4, r0, #0 adds r0, r6, #0 adds r1, r4, #0 - bl sub_0806FA24 + bl CopyPosition b _0809E5C4 .align 2, 0 _0809E5A0: .4byte gUnk_03003DBC @@ -2233,7 +2233,7 @@ _0809E5BA: strb r5, [r6, #0x1e] adds r0, r6, #0 adds r1, r4, #0 - bl sub_0806FA24 + bl CopyPosition _0809E5C4: adds r0, r6, #0 bl sub_0809E5F0 @@ -3156,7 +3156,7 @@ sub_0809EC4C: @ 0x0809EC4C beq _0809ED14 str r1, [r6, #0x54] adds r0, r6, #0 - bl sub_0806FA24 + bl CopyPosition b _0809ED14 .align 2, 0 _0809ECF4: .4byte gUnk_080FD168 @@ -3977,7 +3977,7 @@ sub_0809F318: @ 0x0809F318 adds r4, r0, #0 movs r1, #0 bl sub_08004260 - bl sub_08000E50 + bl Random movs r1, #0x10 ands r1, r0 cmp r1, #0 @@ -4131,7 +4131,7 @@ _0809F444: .4byte gUnk_02000080 sub_0809F448: @ 0x0809F448 push {r4, r5, r6, r7, lr} adds r6, r0, #0 - bl sub_08000E50 + bl Random adds r5, r0, #0 ldrb r0, [r6, #0xf] lsls r2, r0, #1 @@ -4473,7 +4473,7 @@ sub_0809F6CC: @ 0x0809F6CC lsls r0, r0, #0x18 cmp r0, #0 bne _0809F6F4 - ldr r0, _0809F6FC @ =gUnk_03003F80 + ldr r0, _0809F6FC @ =gLinkState adds r0, #0x8b movs r1, #1 strb r1, [r0] @@ -4482,7 +4482,7 @@ _0809F6F4: pop {pc} .align 2, 0 _0809F6F8: .4byte gRoomControls -_0809F6FC: .4byte gUnk_03003F80 +_0809F6FC: .4byte gLinkState thumb_func_start sub_0809F700 sub_0809F700: @ 0x0809F700 @@ -4493,7 +4493,7 @@ sub_0809F700: @ 0x0809F700 bne _0809F722 movs r0, #1 strb r0, [r4, #0xc] - bl sub_08000E50 + bl Random movs r1, #0x1e ands r0, r1 adds r0, #8 @@ -4509,7 +4509,7 @@ _0809F722: ands r0, r1 cmp r0, #0 bne _0809F750 - bl sub_08000E50 + bl Random ldr r3, _0809F76C @ =gUnk_081247C0 movs r2, #7 adds r1, r0, #0 @@ -4555,7 +4555,7 @@ sub_0809F770: @ 0x0809F770 adds r0, r5, #0 adds r1, r4, #0 bl sub_0806FA30 - bl sub_08000E50 + bl Random ldrh r2, [r4, #0x2e] subs r2, #0x10 movs r3, #0x1f @@ -4592,7 +4592,7 @@ _0809F7C4: adds r4, r0, #0 cmp r4, #0 beq _0809F7E8 - bl sub_08000E50 + bl Random movs r1, #3 ands r1, r0 lsls r1, r1, #1 @@ -4740,7 +4740,7 @@ _0809F8C6: str r7, [r4, #0x54] adds r0, r6, #0 adds r1, r4, #0 - bl sub_0806FA24 + bl CopyPosition adds r1, r4, #0 adds r1, #0x68 adds r3, r5, #1 @@ -5091,7 +5091,7 @@ sub_0809FB90: @ 0x0809FB90 sub_0809FBA4: @ 0x0809FBA4 push {lr} adds r2, r0, #0 - ldr r0, _0809FBC8 @ =gUnk_03003F80 + ldr r0, _0809FBC8 @ =gLinkState ldrb r1, [r0, #0x1c] movs r0, #0xf ands r0, r1 @@ -5109,7 +5109,7 @@ _0809FBC2: strb r0, [r2, #0xc] b _0809FBD2 .align 2, 0 -_0809FBC8: .4byte gUnk_03003F80 +_0809FBC8: .4byte gLinkState _0809FBCC: adds r0, r2, #0 bl sub_0806F4E8 @@ -5120,7 +5120,7 @@ _0809FBD2: sub_0809FBD4: @ 0x0809FBD4 push {r4, r5, lr} adds r4, r0, #0 - ldr r0, _0809FBFC @ =gUnk_03003F80 + ldr r0, _0809FBFC @ =gLinkState ldrb r1, [r0, #0x1c] movs r0, #0xf ands r0, r1 @@ -5139,7 +5139,7 @@ _0809FBF4: strb r0, [r4, #0xc] b _0809FC22 .align 2, 0 -_0809FBFC: .4byte gUnk_03003F80 +_0809FBFC: .4byte gLinkState _0809FC00: adds r0, r4, #0 bl sub_0806F3E4 @@ -5171,7 +5171,7 @@ sub_0809FC28: @ 0x0809FC28 lsls r0, r0, #0x18 cmp r0, #0 bne _0809FCAC - bl sub_08000E50 + bl Random adds r5, r0, #0 ldrb r0, [r4, #0x10] movs r1, #0x80 @@ -5287,7 +5287,7 @@ _0809FD18: .4byte 0x00000B08 _0809FD1C: adds r0, r2, #0 adds r1, r4, #0 - bl sub_0806FA24 + bl CopyPosition ldrh r0, [r4, #0x36] subs r0, #1 strh r0, [r4, #0x36] @@ -5340,7 +5340,7 @@ sub_0809FD4C: @ 0x0809FD4C movs r0, #0xfb strb r0, [r2] ldr r0, [r1, #0x54] - bl sub_0806FA24 + bl CopyPosition pop {pc} .align 2, 0 @@ -5886,8 +5886,8 @@ sub_080A0190: @ 0x080A0190 movs r1, #1 strb r1, [r0, #0xd] ldr r1, _080A01B8 @ =gLinkEntity - bl sub_0806FA24 - ldr r2, _080A01BC @ =gUnk_03003F80 + bl CopyPosition + ldr r2, _080A01BC @ =gLinkState movs r0, #3 strb r0, [r2, #0xc] adds r0, r2, #0 @@ -5901,7 +5901,7 @@ sub_080A0190: @ 0x080A0190 pop {r4, pc} .align 2, 0 _080A01B8: .4byte gLinkEntity -_080A01BC: .4byte gUnk_03003F80 +_080A01BC: .4byte gLinkState thumb_func_start sub_080A01C0 sub_080A01C0: @ 0x080A01C0 @@ -5992,7 +5992,7 @@ _080A0246: adds r0, r4, #0 movs r1, #0xad movs r3, #0 - bl sub_080A2988 + bl CreateObjectWithParent cmp r0, #0 beq _080A027A str r4, [r0, #0x50] @@ -6191,7 +6191,7 @@ sub_080A03E8: @ 0x080A03E8 bne _080A041A movs r0, #0x5a bl sub_0805E510 - ldr r0, _080A0420 @ =gUnk_03003F80 + ldr r0, _080A0420 @ =gLinkState adds r0, #0x8b movs r1, #1 strb r1, [r0] @@ -6203,7 +6203,7 @@ _080A041A: pop {pc} .align 2, 0 _080A041C: .4byte gTextBox -_080A0420: .4byte gUnk_03003F80 +_080A0420: .4byte gLinkState thumb_func_start sub_080A0424 sub_080A0424: @ 0x080A0424 @@ -6521,7 +6521,7 @@ sub_080A0640: @ 0x080A0640 _080A065E: ldr r0, [r4, #0x50] adds r1, r4, #0 - bl sub_0806FA24 + bl CopyPosition _080A0666: movs r0, #0 strh r0, [r4, #0x36] @@ -7294,7 +7294,7 @@ _080A0C08: beq _080A0C40 adds r0, r5, #0 adds r1, r4, #0 - bl sub_0806FA24 + bl CopyPosition movs r0, #0x68 strh r0, [r4, #0x32] adds r0, r5, #0 @@ -7335,7 +7335,7 @@ _080A0C6E: beq _080A0C92 adds r0, r5, #0 adds r1, r4, #0 - bl sub_0806FA24 + bl CopyPosition movs r0, #0x68 strh r0, [r4, #0x32] adds r0, r5, #0 @@ -7494,7 +7494,7 @@ sub_080A0D70: @ 0x080A0D70 strb r1, [r5, #0x1b] movs r0, #0xb strb r0, [r5, #0x1e] - bl sub_08000E50 + bl Random ands r0, r4 adds r0, #0x40 strb r0, [r5, #0xe] @@ -7524,7 +7524,7 @@ _080A0DC4: ldrb r0, [r0] cmp r0, #0xff bne _080A0E02 - bl sub_08000E50 + bl Random movs r1, #0x3f ands r0, r1 adds r0, #0x40 @@ -8021,14 +8021,14 @@ _080A11A8: movs r1, #1 strb r1, [r2, #0xc] strb r0, [r2, #0xd] - ldr r0, _080A11BC @ =gUnk_03003F80 + ldr r0, _080A11BC @ =gLinkState adds r0, #0x8b strb r1, [r0] - bl sub_0805E564 + bl UnfreezeTime _080A11BA: pop {r4, pc} .align 2, 0 -_080A11BC: .4byte gUnk_03003F80 +_080A11BC: .4byte gLinkState thumb_func_start sub_080A11C0 sub_080A11C0: @ 0x080A11C0 @@ -8238,7 +8238,7 @@ _080A132E: mov r0, sb adds r0, #0x6a strh r6, [r0] - ldr r0, _080A136C @ =gUnk_03003F80 + ldr r0, _080A136C @ =gLinkState adds r0, #0x27 movs r1, #0xff strb r1, [r0] @@ -8255,7 +8255,7 @@ _080A132E: bl sub_08050384 b _080A1376 .align 2, 0 -_080A136C: .4byte gUnk_03003F80 +_080A136C: .4byte gLinkState _080A1370: ldr r1, _080A1384 @ =gUnk_02033280 movs r0, #0 @@ -8831,7 +8831,7 @@ _080A171E: adds r0, #0x39 mov r2, sb strb r2, [r0] - ldr r2, _080A183C @ =gUnk_03003F80 + ldr r2, _080A183C @ =gLinkState ldr r0, [r2, #0x30] movs r1, #0x80 lsls r1, r1, #0xa @@ -8868,7 +8868,7 @@ _080A182C: .4byte gRoomControls _080A1830: .4byte gLCDControls _080A1834: .4byte 0x00001E07 _080A1838: .4byte gUnk_030010A0 -_080A183C: .4byte gUnk_03003F80 +_080A183C: .4byte gLinkState _080A1840: .4byte 0x80100000 _080A1844: .4byte gUnk_02033A90 _080A1848: .4byte 0x00000864 @@ -8896,7 +8896,7 @@ sub_080A184C: @ 0x080A184C adds r0, #0x45 strb r2, [r0] _080A1874: - ldr r2, _080A1894 @ =gUnk_03003F80 + ldr r2, _080A1894 @ =gLinkState ldr r1, _080A1898 @ =gRoomControls movs r3, #0x80 lsls r3, r3, #2 @@ -8912,7 +8912,7 @@ _080A1874: strh r0, [r2, #0x18] pop {pc} .align 2, 0 -_080A1894: .4byte gUnk_03003F80 +_080A1894: .4byte gLinkState _080A1898: .4byte gRoomControls thumb_func_start sub_080A189C @@ -8953,7 +8953,7 @@ sub_080A189C: @ 0x080A189C movs r1, #1 bl sub_08080964 _080A18E6: - ldr r2, _080A1904 @ =gUnk_03003F80 + ldr r2, _080A1904 @ =gLinkState ldr r1, _080A1908 @ =gRoomControls movs r3, #0x80 lsls r3, r3, #2 @@ -8969,7 +8969,7 @@ _080A18E6: strh r0, [r2, #0x18] pop {pc} .align 2, 0 -_080A1904: .4byte gUnk_03003F80 +_080A1904: .4byte gLinkState _080A1908: .4byte gRoomControls thumb_func_start sub_080A190C @@ -9009,7 +9009,7 @@ sub_080A190C: @ 0x080A190C movs r1, #0x18 strb r1, [r0] _080A1956: - ldr r2, _080A1974 @ =gUnk_03003F80 + ldr r2, _080A1974 @ =gLinkState ldr r1, _080A1978 @ =gRoomControls movs r3, #0x80 lsls r3, r3, #2 @@ -9025,10 +9025,10 @@ _080A1956: strh r0, [r2, #0x18] b _080A1988 .align 2, 0 -_080A1974: .4byte gUnk_03003F80 +_080A1974: .4byte gLinkState _080A1978: .4byte gRoomControls _080A197C: - ldr r1, _080A198C @ =gUnk_03003F80 + ldr r1, _080A198C @ =gLinkState ldrh r0, [r2, #0x2e] strh r0, [r1, #0x16] ldr r0, [r3, #8] @@ -9037,7 +9037,7 @@ _080A197C: _080A1988: pop {r4, pc} .align 2, 0 -_080A198C: .4byte gUnk_03003F80 +_080A198C: .4byte gLinkState thumb_func_start sub_080A1990 sub_080A1990: @ 0x080A1990 @@ -9075,7 +9075,7 @@ sub_080A1990: @ 0x080A1990 movs r1, #1 bl sub_08080964 _080A19D6: - ldr r2, _080A19F4 @ =gUnk_03003F80 + ldr r2, _080A19F4 @ =gLinkState ldr r1, _080A19F8 @ =gRoomControls movs r3, #0x80 lsls r3, r3, #2 @@ -9091,7 +9091,7 @@ _080A19D6: strh r0, [r2, #0x18] pop {pc} .align 2, 0 -_080A19F4: .4byte gUnk_03003F80 +_080A19F4: .4byte gLinkState _080A19F8: .4byte gRoomControls thumb_func_start sub_080A19FC @@ -9131,7 +9131,7 @@ sub_080A19FC: @ 0x080A19FC movs r1, #0x18 strb r1, [r0] _080A1A46: - ldr r2, _080A1A64 @ =gUnk_03003F80 + ldr r2, _080A1A64 @ =gLinkState ldr r1, _080A1A68 @ =gRoomControls movs r3, #0x80 lsls r3, r3, #2 @@ -9147,10 +9147,10 @@ _080A1A46: strh r0, [r2, #0x18] b _080A1A78 .align 2, 0 -_080A1A64: .4byte gUnk_03003F80 +_080A1A64: .4byte gLinkState _080A1A68: .4byte gRoomControls _080A1A6C: - ldr r1, _080A1A7C @ =gUnk_03003F80 + ldr r1, _080A1A7C @ =gLinkState ldrh r0, [r2, #0x2e] strh r0, [r1, #0x16] ldr r0, [r3, #0xc] @@ -9159,7 +9159,7 @@ _080A1A6C: _080A1A78: pop {r4, pc} .align 2, 0 -_080A1A7C: .4byte gUnk_03003F80 +_080A1A7C: .4byte gLinkState thumb_func_start sub_080A1A80 sub_080A1A80: @ 0x080A1A80 @@ -9194,7 +9194,7 @@ sub_080A1A80: @ 0x080A1A80 movs r1, #1 bl sub_08080964 _080A1AC0: - ldr r2, _080A1AE0 @ =gUnk_03003F80 + ldr r2, _080A1AE0 @ =gLinkState ldr r1, _080A1AE4 @ =gRoomControls movs r3, #0x80 lsls r3, r3, #2 @@ -9210,7 +9210,7 @@ _080A1AC0: strh r0, [r2, #0x18] pop {pc} .align 2, 0 -_080A1AE0: .4byte gUnk_03003F80 +_080A1AE0: .4byte gLinkState _080A1AE4: .4byte gRoomControls thumb_func_start sub_080A1AE8 @@ -9244,7 +9244,7 @@ sub_080A1AE8: @ 0x080A1AE8 movs r1, #0xc strb r1, [r0] _080A1B24: - ldr r2, _080A1B44 @ =gUnk_03003F80 + ldr r2, _080A1B44 @ =gLinkState ldr r1, _080A1B48 @ =gRoomControls movs r3, #0x80 lsls r3, r3, #2 @@ -9260,7 +9260,7 @@ _080A1B24: strh r0, [r2, #0x18] pop {r4, pc} .align 2, 0 -_080A1B44: .4byte gUnk_03003F80 +_080A1B44: .4byte gLinkState _080A1B48: .4byte gRoomControls thumb_func_start sub_080A1B4C @@ -9315,20 +9315,20 @@ _080A1B80: strb r6, [r4, #0x15] movs r0, #0x60 strh r0, [r4, #0x24] - ldr r2, _080A1BF8 @ =gUnk_03003F80 + ldr r2, _080A1BF8 @ =gLinkState ldr r0, [r2, #0x30] ldr r1, _080A1BFC @ =0xFFFDFFFF ands r0, r1 str r0, [r2, #0x30] adds r0, r3, #0 adds r1, r4, #0 - bl sub_0806FA24 + bl CopyPosition ldr r0, _080A1C00 @ =gRoomControls str r4, [r0, #0x30] movs r0, #2 bl sub_08078A90 _080A1BD0: - ldr r2, _080A1BF8 @ =gUnk_03003F80 + ldr r2, _080A1BF8 @ =gLinkState ldr r1, _080A1C00 @ =gRoomControls movs r3, #0x80 lsls r3, r3, #2 @@ -9346,7 +9346,7 @@ _080A1BD0: .align 2, 0 _080A1BF0: .4byte gUnk_030010A0 _080A1BF4: .4byte gLinkEntity -_080A1BF8: .4byte gUnk_03003F80 +_080A1BF8: .4byte gLinkState _080A1BFC: .4byte 0xFFFDFFFF _080A1C00: .4byte gRoomControls @@ -9683,7 +9683,7 @@ sub_080A1E54: @ 0x080A1E54 adds r4, r0, #0 cmp r4, #0 beq _080A1ECA - bl sub_08000E50 + bl Random ldr r3, _080A1ECC @ =gRoomControls movs r1, #0xf0 adds r2, r0, #0 @@ -9902,7 +9902,7 @@ sub_080A1FF0: @ 0x080A1FF0 adds r4, r0, #0 cmp r4, #0 beq _080A2066 - bl sub_08000E50 + bl Random ldr r3, _080A209C @ =gRoomControls movs r1, #0x78 ands r0, r1 @@ -10001,7 +10001,7 @@ _080A20C4: ldrb r0, [r0] cmp r0, #0 bne _080A20EC - ldr r0, _080A20F4 @ =gUnk_03003F80 + ldr r0, _080A20F4 @ =gLinkState ldrb r1, [r0, #0x14] rsbs r0, r1, #0 orrs r0, r1 @@ -10011,7 +10011,7 @@ _080A20EC: b _080A20FA .align 2, 0 _080A20F0: .4byte gLinkEntity -_080A20F4: .4byte gUnk_03003F80 +_080A20F4: .4byte gLinkState _080A20F8: movs r0, #0 _080A20FA: @@ -10292,7 +10292,7 @@ _080A22FC: strb r5, [r4, #0xf] ldrb r0, [r4, #0x1e] strb r0, [r4, #0xd] - bl sub_08000E50 + bl Random movs r1, #3 ands r0, r1 lsls r0, r0, #4 @@ -10306,7 +10306,7 @@ _080A231C: lsls r0, r0, #0x10 cmp r0, #0 bne _080A233E - bl sub_08000E50 + bl Random movs r1, #7 ands r0, r1 lsls r0, r0, #4 @@ -10570,7 +10570,7 @@ sub_080A2508: @ 0x080A2508 ldrb r2, [r4, #0xa] movs r1, #0 movs r3, #0 - bl sub_080A2988 + bl CreateObjectWithParent adds r2, r0, #0 cmp r2, #0 beq _080A252C @@ -10594,7 +10594,7 @@ sub_080A2534: @ 0x080A2534 ldrb r2, [r4, #0xa] movs r1, #0 movs r3, #0 - bl sub_080A2988 + bl CreateObjectWithParent adds r2, r0, #0 cmp r2, #0 beq _080A2558 @@ -10635,7 +10635,7 @@ sub_080A2578: @ 0x080A2578 thumb_func_start sub_080A2584 sub_080A2584: @ 0x080A2584 push {lr} - bl sub_0805E564 + bl UnfreezeTime ldr r1, _080A2598 @ =gUnk_02034490 movs r0, #0 strb r0, [r1] @@ -10737,7 +10737,7 @@ _080A25E6: adds r0, r4, #0 movs r1, #6 bl sub_0805E3A0 - ldr r0, _080A2670 @ =gUnk_03003F80 + ldr r0, _080A2670 @ =gLinkState ldr r0, [r0, #0x30] movs r1, #8 ands r0, r1 @@ -10751,7 +10751,7 @@ _080A25E6: adds r1, #3 b _080A2688 .align 2, 0 -_080A2670: .4byte gUnk_03003F80 +_080A2670: .4byte gLinkState _080A2674: .4byte 0x0000045B _080A2678: ldrb r0, [r4, #0xa] @@ -10821,7 +10821,7 @@ _080A26B4: adds r0, r5, #0 adds r0, #0x3d strb r1, [r0] - ldr r1, _080A2768 @ =gUnk_03003F80 + ldr r1, _080A2768 @ =gLinkState adds r0, r4, #0 adds r0, #0x6b ldrb r0, [r0] @@ -10873,7 +10873,7 @@ _080A2762: pop {r4, r5, r6, r7, pc} .align 2, 0 _080A2764: .4byte gTextBox -_080A2768: .4byte gUnk_03003F80 +_080A2768: .4byte gLinkState thumb_func_start sub_080A276C sub_080A276C: @ 0x080A276C @@ -10905,7 +10905,7 @@ sub_080A276C: @ 0x080A276C ldr r4, _080A2828 @ =gLinkEntity adds r0, r4, #0 adds r1, r6, #0 - bl sub_0806FA24 + bl CopyPosition ldr r0, _080A282C @ =gUnk_03003DC0 mov r1, r8 strb r1, [r0] @@ -10926,7 +10926,7 @@ sub_080A276C: @ 0x080A276C ldrb r0, [r0] adds r1, #2 strb r0, [r1] - ldr r1, _080A2834 @ =gUnk_03003F80 + ldr r1, _080A2834 @ =gLinkState ldrb r0, [r1, #7] adds r2, r6, #0 adds r2, #0x6b @@ -10972,4 +10972,4 @@ _080A2820: _080A2828: .4byte gLinkEntity _080A282C: .4byte gUnk_03003DC0 _080A2830: .4byte gUnk_02034490 -_080A2834: .4byte gUnk_03003F80 \ No newline at end of file +_080A2834: .4byte gLinkState \ No newline at end of file diff --git a/asm/code_080A29BC.s b/asm/code_080A29BC.s index b6b3df12..e12500a9 100644 --- a/asm/code_080A29BC.s +++ b/asm/code_080A29BC.s @@ -72,7 +72,7 @@ sub_080A2A20: @ 0x080A2A20 adds r3, r2, #0 movs r1, #0 adds r2, r4, #0 - bl sub_080A2988 + bl CreateObjectWithParent adds r1, r0, #0 cmp r1, #0 beq _080A2A38 @@ -91,7 +91,7 @@ sub_080A2A3C: @ 0x080A2A3C movs r1, #0 adds r2, r4, #0 adds r3, r5, #0 - bl sub_080A2988 + bl CreateObjectWithParent adds r1, r0, #0 cmp r1, #0 beq _080A2A5E @@ -132,7 +132,7 @@ sub_080A2A84: @ 0x080A2A84 adds r6, r0, #0 cmp r6, #0 beq _080A2AD2 - bl sub_08000E50 + bl Random adds r4, r0, #0 adds r5, #1 adds r1, r5, #0 @@ -196,7 +196,7 @@ sub_080A2AF4: @ 0x080A2AF4 adds r6, r0, #0 cmp r6, #0 beq _080A2B74 - bl sub_08000E50 + bl Random adds r7, r0, #0 subs r1, r4, r5 adds r1, #1 @@ -262,7 +262,7 @@ sub_080A2B80: @ 0x080A2B80 adds r4, r0, #0 cmp r4, #0 beq _080A2BE0 - bl sub_08000E50 + bl Random adds r3, r0, #0 movs r1, #0xf adds r2, r3, #0 @@ -496,7 +496,7 @@ sub_080A2D2C: @ 0x080A2D2C beq _080A2D6E adds r0, r5, #0 adds r1, r4, #0 - bl sub_0806FA24 + bl CopyPosition adds r0, r5, #0 adds r1, r4, #0 bl sub_0806FAB0 @@ -541,7 +541,7 @@ _080A2D94: .4byte gUnk_081271D4 sub_080A2D98: @ 0x080A2D98 push {r4, lr} adds r4, r0, #0 - ldr r0, _080A2DD0 @ =gUnk_03003F80 + ldr r0, _080A2DD0 @ =gLinkState str r4, [r0, #0x2c] movs r2, #0 movs r0, #1 @@ -568,7 +568,7 @@ sub_080A2D98: @ 0x080A2D98 str r1, [r4, #0x7c] b _080A2DDA .align 2, 0 -_080A2DD0: .4byte gUnk_03003F80 +_080A2DD0: .4byte gLinkState _080A2DD4: .4byte gUnk_081271DC _080A2DD8: str r2, [r4, #0x70] @@ -626,7 +626,7 @@ _080A2E1A: strb r2, [r3] strb r2, [r5] _080A2E40: - ldr r0, _080A2E94 @ =gUnk_03003F80 + ldr r0, _080A2E94 @ =gLinkState ldrb r3, [r0, #3] adds r7, r0, #0 cmp r3, #0 @@ -667,7 +667,7 @@ _080A2E40: b _080A2F30 .align 2, 0 _080A2E90: .4byte gLinkEntity -_080A2E94: .4byte gUnk_03003F80 +_080A2E94: .4byte gLinkState _080A2E98: .4byte gUnk_08127240 _080A2E9C: adds r0, r4, #0 @@ -827,7 +827,7 @@ _080A2FA2: ldr r1, [r4, #0x7c] adds r2, r1, r0 ldrb r0, [r2] - ldr r7, _080A3020 @ =gUnk_03003F80 + ldr r7, _080A3020 @ =gLinkState cmp r0, #0xff bne _080A2FEC ldrb r1, [r7, #3] @@ -868,7 +868,7 @@ _080A2FEC: b _080A303E .align 2, 0 _080A301C: .4byte gLinkEntity -_080A3020: .4byte gUnk_03003F80 +_080A3020: .4byte gLinkState _080A3024: .4byte gUnk_081271DC _080A3028: ldr r0, _080A3060 @ =gLinkEntity @@ -934,7 +934,7 @@ sub_080A3084: @ 0x080A3084 strb r5, [r4, #0xc] ldr r0, [r4, #0x50] adds r1, r4, #0 - bl sub_0806FA24 + bl CopyPosition ldrb r0, [r4, #0xa] cmp r0, #0 bne _080A30F8 diff --git a/asm/code_080A3BD0.s b/asm/code_080A3BD0.s index 13cd5c0d..8532a55c 100644 --- a/asm/code_080A3BD0.s +++ b/asm/code_080A3BD0.s @@ -3101,7 +3101,7 @@ _080A53E0: blo _080A542E cmp r3, #8 bhi _080A5414 - ldr r0, _080A5410 @ =gUnk_080FD5A0 + ldr r0, _080A5410 @ =gBombBagSizes adds r1, r4, #0 adds r1, #0xae ldrb r1, [r1] @@ -3117,11 +3117,11 @@ _080A5400: .4byte gUnk_03001010 _080A5404: .4byte gUnk_02002A40 _080A5408: .4byte gUnk_02000080 _080A540C: .4byte gUnk_08128B64 -_080A5410: .4byte gUnk_080FD5A0 +_080A5410: .4byte gBombBagSizes _080A5414: cmp r3, #0xa bhi _080A542E - ldr r0, _080A552C @ =gUnk_080FD5A4 + ldr r0, _080A552C @ =gQuiverSizes adds r1, r4, #0 adds r1, #0xaf ldrb r1, [r1] @@ -3261,7 +3261,7 @@ _080A5522: mov sl, r5 pop {r4, r5, r6, r7, pc} .align 2, 0 -_080A552C: .4byte gUnk_080FD5A4 +_080A552C: .4byte gQuiverSizes _080A5530: .4byte gUnk_03001010 _080A5534: .4byte gUnk_080FDFD8 _080A5538: .4byte gUnk_02000080 diff --git a/asm/code_080A5574.s b/asm/code_080A5574.s index 7e14835a..de64b0a3 100644 --- a/asm/code_080A5574.s +++ b/asm/code_080A5574.s @@ -1851,7 +1851,7 @@ _080A6392: bl __divsi3 adds r0, #0xc strh r0, [r5, #2] - ldr r0, _080A642C @ =gUnk_03003F80 + ldr r0, _080A642C @ =gLinkState ldr r0, [r0, #0x30] movs r1, #8 ands r0, r1 @@ -1891,7 +1891,7 @@ _080A63EA: _080A6420: .4byte gUnk_02000080 _080A6424: .4byte gUnk_03001010 _080A6428: .4byte gUnk_030010A0 -_080A642C: .4byte gUnk_03003F80 +_080A642C: .4byte gLinkState _080A6430: .4byte 0x000001FB _080A6434: .4byte gUnk_08128DE8 @@ -2475,7 +2475,7 @@ _080A68D0: .4byte gUnk_02019EE0 thumb_func_start sub_080A68D4 sub_080A68D4: @ 0x080A68D4 push {r4, r5, r6, lr} - ldr r0, _080A690C @ =gUnk_03003F80 + ldr r0, _080A690C @ =gLinkState ldr r0, [r0, #0x30] movs r1, #8 ands r0, r1 @@ -2501,7 +2501,7 @@ _080A68E6: movs r5, #0 b _080A693A .align 2, 0 -_080A690C: .4byte gUnk_03003F80 +_080A690C: .4byte gLinkState _080A6910: .4byte gUnk_030010A0 _080A6914: .4byte 0x000001FB _080A6918: .4byte gUnk_02002A40 @@ -2807,7 +2807,7 @@ sub_080A6B04: @ 0x080A6B04 movs r2, #0x80 lsls r2, r2, #5 bl sub_0801D5EC - ldr r0, _080A6C0C @ =gUnk_03003F80 + ldr r0, _080A6C0C @ =gLinkState ldr r0, [r0, #0x30] movs r1, #8 ands r0, r1 @@ -2874,7 +2874,7 @@ _080A6BFC: .4byte gUnk_02000080 _080A6C00: .4byte 0x0000475F _080A6C04: .4byte 0x00005001 _080A6C08: .4byte gUnk_02001A40 -_080A6C0C: .4byte gUnk_03003F80 +_080A6C0C: .4byte gLinkState _080A6C10: .4byte gUnk_030010A0 _080A6C14: .4byte 0x000001FB _080A6C18: .4byte gUnk_08128E94 @@ -3738,7 +3738,7 @@ sub_080A7250: @ 0x080A7250 adds r0, #0x2f ldrb r0, [r0] strb r0, [r1, #0xd] - ldr r0, _080A7318 @ =gUnk_03003F80 + ldr r0, _080A7318 @ =gLinkState adds r0, #0x8b ldrb r0, [r0] strb r0, [r1, #0xc] @@ -3768,7 +3768,7 @@ _080A7308: .4byte gRoomControls _080A730C: .4byte gUnk_03000420 _080A7310: .4byte gUnk_02033280 _080A7314: .4byte gUnk_030010A0 -_080A7318: .4byte gUnk_03003F80 +_080A7318: .4byte gLinkState _080A731C: .4byte gUnk_02017654 _080A7320: .4byte gUnk_02025EB0 _080A7324: .4byte gUnk_0200B650 @@ -3839,7 +3839,7 @@ _080A73B4: ldr r5, _080A7470 @ =gUnk_02032EC0 ldr r0, [r5, #0x10] str r0, [r1] - ldr r0, _080A7474 @ =gUnk_03003F80 + ldr r0, _080A7474 @ =gLinkState ldrb r1, [r5, #0xc] adds r0, #0x8b strb r1, [r0] @@ -3912,7 +3912,7 @@ _080A73B4: _080A7468: .4byte gUnk_03000FD0 _080A746C: .4byte gUnk_02017654 _080A7470: .4byte gUnk_02032EC0 -_080A7474: .4byte gUnk_03003F80 +_080A7474: .4byte gLinkState _080A7478: .4byte gUnk_02025EB0 _080A747C: .4byte gUnk_0200B650 _080A7480: .4byte gUnk_02033280 @@ -4042,7 +4042,7 @@ sub_080A758C: @ 0x080A758C ldrb r0, [r5, #0xa] cmp r0, #0 bne _080A75AC - ldr r1, _080A7654 @ =gUnk_03003F80 + ldr r1, _080A7654 @ =gLinkState ldrb r0, [r1, #4] cmp r0, #0 bne _080A75AC @@ -4103,7 +4103,7 @@ _080A75BA: ldrb r0, [r5, #0xa] cmp r0, #0 bne _080A76BC - ldr r2, _080A7654 @ =gUnk_03003F80 + ldr r2, _080A7654 @ =gLinkState ldrb r1, [r2, #2] movs r0, #0x20 ands r0, r1 @@ -4135,7 +4135,7 @@ _080A75BA: movs r0, #0x1a b _080A766A .align 2, 0 -_080A7654: .4byte gUnk_03003F80 +_080A7654: .4byte gLinkState _080A7658: .4byte gLinkEntity _080A765C: adds r1, r5, #0 @@ -4167,7 +4167,7 @@ _080A767A: adds r0, r5, #0 bl sub_080A76CC _080A7692: - ldr r0, _080A76B0 @ =gUnk_03003F80 + ldr r0, _080A76B0 @ =gLinkState str r5, [r0, #0x2c] adds r0, r5, #0 bl sub_08079BD8 @@ -4180,7 +4180,7 @@ _080A7692: bl PlaySFX b _080A76C2 .align 2, 0 -_080A76B0: .4byte gUnk_03003F80 +_080A76B0: .4byte gLinkState _080A76B4: .4byte gUnk_0812906C _080A76B8: .4byte gUnk_08129068 _080A76BC: @@ -4201,7 +4201,7 @@ sub_080A76CC: @ 0x080A76CC beq _080A76D8 b _080A77DC _080A76D8: - ldr r5, _080A771C @ =gUnk_03003F80 + ldr r5, _080A771C @ =gLinkState ldr r0, [r5, #0x2c] cmp r0, r4 beq _080A76E4 @@ -4235,7 +4235,7 @@ _080A76F2: movs r0, #0xa b _080A7726 .align 2, 0 -_080A771C: .4byte gUnk_03003F80 +_080A771C: .4byte gLinkState _080A7720: movs r0, #8 b _080A7726 @@ -4280,7 +4280,7 @@ _080A7762: _080A7768: strb r0, [r1] _080A776A: - ldr r0, _080A77D0 @ =gUnk_03003F80 + ldr r0, _080A77D0 @ =gLinkState adds r0, #0x3e ldrb r0, [r0] movs r2, #3 @@ -4332,11 +4332,11 @@ _080A77C4: bl sub_080A78B8 b _080A7806 .align 2, 0 -_080A77D0: .4byte gUnk_03003F80 +_080A77D0: .4byte gLinkState _080A77D4: .4byte gLinkEntity _080A77D8: .4byte gUnk_081292E2 _080A77DC: - ldr r1, _080A7810 @ =gUnk_03003F80 + ldr r1, _080A7810 @ =gLinkState ldrb r0, [r1, #4] cmp r0, #0 beq _080A7814 @@ -4361,7 +4361,7 @@ _080A7806: bl sub_080A7A84 b _080A7820 .align 2, 0 -_080A7810: .4byte gUnk_03003F80 +_080A7810: .4byte gLinkState _080A7814: movs r0, #0xff strb r0, [r4, #0x1e] @@ -4377,7 +4377,7 @@ _080A7820: sub_080A7824: @ 0x080A7824 push {r4, r5, r6, lr} adds r4, r0, #0 - ldr r5, _080A7860 @ =gUnk_03003F80 + ldr r5, _080A7860 @ =gLinkState ldr r0, [r5, #0x2c] cmp r0, r4 beq _080A7834 @@ -4405,7 +4405,7 @@ _080A7846: bl sub_0805E780 b _080A78B4 .align 2, 0 -_080A7860: .4byte gUnk_03003F80 +_080A7860: .4byte gLinkState _080A7864: .4byte gLinkEntity _080A7868: adds r0, r4, #0 @@ -4457,7 +4457,7 @@ sub_080A78B8: @ 0x080A78B8 push {r7} adds r4, r0, #0 adds r6, r1, #0 - ldr r0, _080A78E8 @ =gUnk_03003F80 + ldr r0, _080A78E8 @ =gLinkState ldrb r1, [r0, #0x1b] movs r0, #0x20 ands r0, r1 @@ -4477,7 +4477,7 @@ sub_080A78B8: @ 0x080A78B8 adds r1, #0xb1 b _080A78F2 .align 2, 0 -_080A78E8: .4byte gUnk_03003F80 +_080A78E8: .4byte gLinkState _080A78EC: .4byte gUnk_030010A0 _080A78F0: ldrb r1, [r4, #0x1e] @@ -4498,7 +4498,7 @@ _080A78FC: adds r0, r4, #0 bl sub_080042D0 _080A7912: - ldr r2, _080A792C @ =gUnk_03003F80 + ldr r2, _080A792C @ =gLinkState ldrb r1, [r2, #0x1b] movs r0, #0x40 ands r0, r1 @@ -4511,7 +4511,7 @@ _080A7912: ands r0, r1 b _080A7958 .align 2, 0 -_080A792C: .4byte gUnk_03003F80 +_080A792C: .4byte gLinkState _080A7930: ldrb r1, [r6, #0x14] movs r0, #2 @@ -4718,7 +4718,7 @@ sub_080A7A84: @ 0x080A7A84 adds r0, r0, r2 movs r5, #0 ldrsb r5, [r0, r5] - ldr r2, _080A7AE8 @ =gUnk_03003F80 + ldr r2, _080A7AE8 @ =gLinkState ldrb r1, [r2, #0x1b] movs r0, #0xc0 ands r0, r1 @@ -4747,7 +4747,7 @@ _080A7AC4: .align 2, 0 _080A7AE0: .4byte gLinkEntity _080A7AE4: .4byte gUnk_08129072 -_080A7AE8: .4byte gUnk_03003F80 +_080A7AE8: .4byte gLinkState _080A7AEC: ldr r0, [r4, #0x34] cmp r0, #0 @@ -4838,7 +4838,7 @@ sub_080A7B98: @ 0x080A7B98 mov r5, r8 push {r5, r6, r7} adds r6, r0, #0 - ldr r0, _080A7BFC @ =gUnk_03003F80 + ldr r0, _080A7BFC @ =gLinkState adds r0, #0xac ldrh r1, [r0] movs r0, #8 @@ -4884,7 +4884,7 @@ _080A7BCE: mov sl, r5 pop {r4, r5, r6, r7, pc} .align 2, 0 -_080A7BFC: .4byte gUnk_03003F80 +_080A7BFC: .4byte gLinkState thumb_func_start sub_080A7C00 sub_080A7C00: @ 0x080A7C00 @@ -6409,7 +6409,7 @@ _080A8700: ands r0, r1 cmp r0, #3 bne _080A8768 - ldr r0, _080A875C @ =gUnk_03003F80 + ldr r0, _080A875C @ =gLinkState ldrb r0, [r0, #0xf] cmp r0, #0 beq _080A876E @@ -6446,7 +6446,7 @@ _080A8700: bl sub_0805E780 b _080A876E .align 2, 0 -_080A875C: .4byte gUnk_03003F80 +_080A875C: .4byte gLinkState _080A8760: .4byte gRoomControls _080A8764: .4byte gLinkEntity _080A8768: @@ -6496,7 +6496,7 @@ _080A87A4: _080A87B6: adds r0, r4, #0 adds r1, r5, #0 - bl sub_0806FA24 + bl CopyPosition ldrh r0, [r5, #0x36] adds r0, #2 strh r0, [r5, #0x36] @@ -6565,7 +6565,7 @@ sub_080A881C: @ 0x080A881C ldrb r0, [r0] cmp r0, #0x80 bne _080A884A - ldr r0, _080A8850 @ =gUnk_03003F80 + ldr r0, _080A8850 @ =gLinkState movs r1, #0xf0 strb r1, [r0, #0xf] movs r0, #2 @@ -6575,7 +6575,7 @@ _080A884A: bl sub_0805E780 b _080A8866 .align 2, 0 -_080A8850: .4byte gUnk_03003F80 +_080A8850: .4byte gLinkState _080A8854: ldrb r0, [r1, #0xc] cmp r0, #1 @@ -6691,7 +6691,7 @@ _080A890E: bl sub_08078954 ldr r1, [r4, #0x54] adds r0, r4, #0 - bl sub_0806FA24 + bl CopyPosition ldrb r0, [r4, #0xe] adds r1, r0, #1 strb r1, [r4, #0xe] @@ -6767,7 +6767,7 @@ _080A89A6: bl sub_08078954 adds r0, r5, #0 adds r1, r4, #0 - bl sub_0806FA24 + bl CopyPosition _080A89B4: movs r1, #0xa0 lsls r1, r1, #6 @@ -6939,7 +6939,7 @@ _080A8AE6: bne _080A8B2E adds r0, r5, #0 adds r1, r4, #0 - bl sub_0806FA24 + bl CopyPosition ldrb r0, [r5, #0x15] adds r2, r0, #4 movs r0, #0x18 @@ -7098,7 +7098,7 @@ _080A8C16: bne _080A8C42 adds r0, r5, #0 adds r1, r4, #0 - bl sub_0806FA24 + bl CopyPosition ldrb r0, [r4, #0xe] cmp r0, #0 beq _080A8C42 @@ -7243,7 +7243,7 @@ _080A8D2A: bne _080A8D56 adds r0, r5, #0 adds r1, r4, #0 - bl sub_0806FA24 + bl CopyPosition ldrb r0, [r4, #0xe] cmp r0, #0 beq _080A8D56 @@ -7382,7 +7382,7 @@ sub_080A8E28: @ 0x080A8E28 beq _080A8E6E ldr r0, [r5, #0x50] adds r1, r5, #0 - bl sub_0806FA24 + bl CopyPosition movs r1, #0x80 lsls r1, r1, #5 ldrb r2, [r5, #0x15] @@ -7430,7 +7430,7 @@ _080A8E8E: ldrb r6, [r5, #0xa] cmp r6, #1 bne _080A8ECE - bl sub_08000E50 + bl Random adds r2, r0, #0 ldr r0, _080A8EC4 @ =0x000001FF ands r2, r0 @@ -7478,7 +7478,7 @@ _080A8EF2: _080A8F02: ldr r0, _080A8F64 @ =0xFF600000 str r0, [r5, #0x34] - bl sub_08000E50 + bl Random ands r4, r0 lsls r2, r4, #1 ldr r1, _080A8F68 @ =gUnk_08129978 @@ -7501,7 +7501,7 @@ _080A8F02: ands r2, r0 cmp r2, #0 beq _080A8F74 - bl sub_08000E50 + bl Random ldr r2, _080A8F6C @ =gUnk_08129988 movs r1, #0xf ands r1, r0 @@ -7511,7 +7511,7 @@ _080A8F02: ldrh r2, [r5, #0x2e] adds r0, r0, r2 strh r0, [r5, #0x2e] - bl sub_08000E50 + bl Random ldr r2, _080A8F70 @ =gUnk_08129980 movs r1, #7 ands r1, r0 @@ -7527,7 +7527,7 @@ _080A8F68: .4byte gUnk_08129978 _080A8F6C: .4byte gUnk_08129988 _080A8F70: .4byte gUnk_08129980 _080A8F74: - bl sub_08000E50 + bl Random ldr r2, _080A8FB0 @ =gUnk_08129980 movs r1, #7 ands r1, r0 @@ -7537,7 +7537,7 @@ _080A8F74: ldrh r1, [r5, #0x2e] adds r0, r0, r1 strh r0, [r5, #0x2e] - bl sub_08000E50 + bl Random ldr r2, _080A8FB4 @ =gUnk_08129988 movs r1, #0xf ands r1, r0 @@ -7817,7 +7817,7 @@ _080A91A4: str r0, [r5, #0x48] adds r0, r4, #0 adds r1, r5, #0 - bl sub_0806FA24 + bl CopyPosition adds r0, r4, #0 adds r0, #0x3d ldrb r0, [r0] @@ -7851,7 +7851,7 @@ sub_080A91E0: @ 0x080A91E0 bne _080A9204 movs r0, #1 strb r0, [r4, #0xc] - bl sub_08000E50 + bl Random strb r0, [r4, #0xe] ldrb r1, [r4, #0x18] movs r0, #4 @@ -7874,7 +7874,7 @@ _080A9218: _080A921C: ldr r0, [r4, #0x50] adds r1, r4, #0 - bl sub_0806FA24 + bl CopyPosition ldrb r0, [r4, #0xf] cmp r0, #0 beq _080A9230 @@ -7919,7 +7919,7 @@ _080A9230: str r0, [r5, #0x50] adds r0, r4, #0 adds r1, r5, #0 - bl sub_0806FA24 + bl CopyPosition b _080A92F6 .align 2, 0 _080A9284: .4byte gUnk_081299C8 @@ -8457,7 +8457,7 @@ _080A9660: movs r1, #6 orrs r0, r1 strb r0, [r2] - bl sub_08000E50 + bl Random ldr r2, _080A96C8 @ =0x000001FF adds r1, r2, #0 ands r0, r1 @@ -8465,14 +8465,14 @@ _080A9660: adds r1, r2, #0 adds r0, r0, r1 strh r0, [r4, #0x24] - bl sub_08000E50 + bl Random ldr r1, _080A96CC @ =0x00001FFF ands r1, r0 movs r0, #0xc0 lsls r0, r0, #9 adds r1, r1, r0 str r1, [r4, #0x20] - bl sub_08000E50 + bl Random movs r1, #7 ands r0, r1 subs r0, #4 @@ -8495,11 +8495,11 @@ _080A9660: _080A96C8: .4byte 0x000001FF _080A96CC: .4byte 0x00001FFF _080A96D0: - bl sub_08000E50 + bl Random ands r0, r5 cmp r0, #0 beq _080A96EA - bl sub_08000E50 + bl Random movs r1, #7 ands r0, r1 ldrb r1, [r4, #0x15] @@ -8507,7 +8507,7 @@ _080A96D0: strb r0, [r4, #0x15] b _080A96F8 _080A96EA: - bl sub_08000E50 + bl Random movs r1, #7 ands r0, r1 ldrb r1, [r4, #0x15] @@ -8531,7 +8531,7 @@ _080A96F8: _080A9718: ldr r0, _080A9760 @ =gLinkEntity adds r1, r4, #0 - bl sub_0806FA24 + bl CopyPosition ldr r0, _080A9764 @ =0xFF600000 str r0, [r4, #0x34] ldrh r0, [r4, #0x2e] @@ -8540,13 +8540,13 @@ _080A9718: ldrh r0, [r4, #0x32] adds r0, #0x40 strh r0, [r4, #0x32] - bl sub_08000E50 + bl Random movs r1, #0xc0 bl __modsi3 ldrh r1, [r4, #0x2e] subs r1, r1, r0 strh r1, [r4, #0x2e] - bl sub_08000E50 + bl Random movs r1, #0x7f ands r1, r0 ldrh r0, [r4, #0x32] @@ -8771,7 +8771,7 @@ _080A98D0: strb r0, [r1, #0x15] ldr r1, [r4, #0x54] adds r0, r4, #0 - bl sub_0806FA24 + bl CopyPosition _080A98FC: adds r5, #1 cmp r5, #2 @@ -10071,7 +10071,7 @@ sub_080AA270: @ 0x080AA270 push {r4, r5, r6, lr} adds r5, r0, #0 ldr r4, [r5, #0x50] - bl sub_08000E50 + bl Random ldr r1, _080AA2A4 @ =gUnk_08129CA4 movs r6, #7 ands r0, r6 @@ -10096,7 +10096,7 @@ sub_080AA270: @ 0x080AA270 _080AA2A4: .4byte gUnk_08129CA4 _080AA2A8: .4byte gUnk_08129CF4 _080AA2AC: - bl sub_08000E50 + bl Random ldr r1, _080AA2D8 @ =gUnk_08129CAC ands r0, r6 adds r0, r0, r1 @@ -10346,7 +10346,7 @@ _080AA474: cmp r1, #0 beq _080AA48A adds r0, r4, #0 - bl sub_0806FA24 + bl CopyPosition _080AA48A: adds r0, r4, #0 bl sub_0805E7BC @@ -10952,7 +10952,7 @@ _080AA920: ldrb r2, [r4, #0xa] cmp r0, r2 bne _080AA99A - ldr r1, _080AA9A4 @ =gUnk_03003F80 + ldr r1, _080AA9A4 @ =gLinkState adds r0, r1, #0 adds r0, #0xa8 ldrb r0, [r0] @@ -11011,7 +11011,7 @@ _080AA99A: .align 2, 0 _080AA99C: .4byte gLinkEntity _080AA9A0: .4byte gUnk_0812A064 -_080AA9A4: .4byte gUnk_03003F80 +_080AA9A4: .4byte gLinkState _080AA9A8: .4byte gUnk_0812A06C thumb_func_start sub_080AA9AC @@ -11300,7 +11300,7 @@ sub_080AABB0: @ 0x080AABB0 ldr r5, [r4, #0x50] adds r0, r5, #0 adds r1, r4, #0 - bl sub_0806FA24 + bl CopyPosition ldrb r1, [r5, #0x14] lsls r1, r1, #1 ldr r0, _080AABEC @ =gUnk_080C9160 @@ -11409,7 +11409,7 @@ _080AAC84: bl sub_0806FAB0 _080AAC8C: bl sub_08077B2C - ldr r2, _080AACB4 @ =gUnk_03003F80 + ldr r2, _080AACB4 @ =gLinkState ldrb r1, [r2, #0x1a] movs r0, #0x80 orrs r1, r0 @@ -11428,14 +11428,14 @@ _080AACA0: strb r1, [r0] b _080AACCA .align 2, 0 -_080AACB4: .4byte gUnk_03003F80 +_080AACB4: .4byte gLinkState _080AACB8: .4byte gLinkEntity _080AACBC: ldr r0, _080AACDC @ =0x00000119 bl PlaySFX ldr r0, [r4, #0x50] adds r1, r4, #0 - bl sub_0806FA24 + bl CopyPosition _080AACCA: adds r1, r4, #0 adds r1, #0x42 @@ -11671,7 +11671,7 @@ _080AAE64: strb r0, [r5, #0x10] ldr r0, [r5, #0x50] adds r1, r5, #0 - bl sub_0806FA24 + bl CopyPosition _080AAE7C: ldrb r1, [r5, #0xa] adds r0, r5, #0 @@ -11735,7 +11735,7 @@ _080AAEE0: _080AAEEE: ldr r0, [r4, #0x50] adds r1, r4, #0 - bl sub_0806FA24 + bl CopyPosition _080AAEF6: adds r0, r4, #0 bl sub_080AB034 @@ -11757,7 +11757,7 @@ sub_080AAF10: @ 0x080AAF10 adds r4, r0, #0 ldr r0, [r4, #0x50] adds r1, r4, #0 - bl sub_0806FA24 + bl CopyPosition adds r0, r4, #0 bl sub_080AB034 ldr r3, [r4, #0x50] @@ -11813,7 +11813,7 @@ sub_080AAF74: @ 0x080AAF74 bl sub_0807953C cmp r0, #0 beq _080AAF94 - bl sub_08000E50 + bl Random adds r3, r5, #0 adds r3, #0x80 ldrb r1, [r3] @@ -11869,7 +11869,7 @@ _080AAFE0: adds r0, #0x3d movs r1, #0xf0 strb r1, [r0] - ldr r0, _080AB000 @ =gUnk_03003F80 + ldr r0, _080AB000 @ =gLinkState strb r2, [r0, #0x1a] adds r0, r5, #0 adds r0, #0x45 @@ -11877,10 +11877,10 @@ _080AAFE0: b _080AB028 .align 2, 0 _080AAFFC: .4byte gLinkEntity -_080AB000: .4byte gUnk_03003F80 +_080AB000: .4byte gLinkState _080AB004: bl sub_08077B2C - ldr r2, _080AB02C @ =gUnk_03003F80 + ldr r2, _080AB02C @ =gLinkState ldrb r1, [r2, #0x1a] movs r0, #0x80 orrs r1, r0 @@ -11891,14 +11891,14 @@ _080AB004: ldr r4, _080AB030 @ =gLinkEntity adds r0, r4, #0 adds r1, r5, #0 - bl sub_0806FA24 + bl CopyPosition ldrh r0, [r4, #0x36] subs r0, #4 strh r0, [r5, #0x36] _080AB028: pop {r4, r5, pc} .align 2, 0 -_080AB02C: .4byte gUnk_03003F80 +_080AB02C: .4byte gLinkState _080AB030: .4byte gLinkEntity thumb_func_start sub_080AB034 @@ -12325,7 +12325,7 @@ sub_080AB318: @ 0x080AB318 strh r1, [r0] ldr r0, [r6, #0x50] adds r1, r6, #0 - bl sub_0806FA24 + bl CopyPosition movs r1, #0x80 lsls r1, r1, #5 ldrb r2, [r6, #0x15] @@ -12365,7 +12365,7 @@ sub_080AB318: @ 0x080AB318 adds r2, r7, #0 bl sub_080041DC adds r4, r0, #0 - bl sub_08000E50 + bl Random adds r1, r0, #0 ldr r0, _080AB3E4 @ =0x000001FF ands r1, r0 @@ -13087,7 +13087,7 @@ sub_080AB8E8: @ 0x080AB8E8 ldrb r0, [r4, #0xa] cmp r0, #0 bne _080AB90E - bl sub_08000E50 + bl Random movs r1, #0x18 ands r0, r1 strb r0, [r4, #0x15] @@ -13109,7 +13109,7 @@ _080AB90E: str r0, [r1, #0x50] str r4, [r1, #0x54] adds r0, r4, #0 - bl sub_0806FA24 + bl CopyPosition _080AB936: adds r1, r4, #0 adds r1, #0x68 @@ -13151,7 +13151,7 @@ sub_080AB950: @ 0x080AB950 cmp r0, #0 beq _080AB9D4 _080AB980: - bl sub_08000E50 + bl Random ldr r2, _080AB998 @ =gUnk_0812A6BC movs r1, #1 ands r1, r0 @@ -13605,13 +13605,13 @@ sub_080ABCC4: @ 0x080ABCC4 movs r4, #0 movs r0, #1 strb r0, [r5, #0xc] - bl sub_08000E50 + bl Random movs r1, #0x3f ands r0, r1 adds r0, #0x30 strb r0, [r5, #0xe] strb r4, [r5, #0xf] - bl sub_08000E50 + bl Random movs r1, #0x1f ands r0, r1 strb r0, [r5, #0x15] @@ -13760,7 +13760,7 @@ _080ABE00: sub_080ABE04: @ 0x080ABE04 push {r4, r5, lr} adds r4, r0, #0 - bl sub_08000E50 + bl Random adds r5, r0, #0 movs r0, #0xff ands r5, r0 @@ -13857,7 +13857,7 @@ sub_080ABEA8: @ 0x080ABEA8 ldrb r0, [r4, #0xb] cmp r0, #0 bne _080ABEDA - bl sub_08000E50 + bl Random movs r1, #0xf ands r0, r1 lsls r0, r0, #1 @@ -14213,7 +14213,7 @@ sub_080AC168: @ 0x080AC168 movs r0, #4 strb r0, [r4, #0xc] strb r0, [r4, #0xe] - bl sub_08000E50 + bl Random adds r5, r0, #0 movs r0, #7 ands r5, r0 @@ -14298,7 +14298,7 @@ sub_080AC200: @ 0x080AC200 ldr r0, [r4, #0x50] str r0, [r1, #0x50] adds r0, r4, #0 - bl sub_0806FA24 + bl CopyPosition _080AC23C: ldrb r0, [r4, #0xf] subs r0, #1 @@ -14459,7 +14459,7 @@ sub_080AC340: @ 0x080AC340 ands r0, r1 orrs r0, r2 strb r0, [r5, #0x18] - bl sub_08000E50 + bl Random ldr r1, _080AC384 @ =gUnk_0812A9B4 ands r0, r4 lsls r0, r0, #1 @@ -15072,7 +15072,7 @@ sub_080AC7C4: @ 0x080AC7C4 beq _080AC7E4 ldr r0, [r4, #0x50] adds r1, r5, #0 - bl sub_0806FA24 + bl CopyPosition b _080AC7E6 _080AC7E4: ldr r5, [r4, #0x50] @@ -15602,7 +15602,7 @@ _080ACBC8: .4byte 0x00000119 sub_080ACBCC: @ 0x080ACBCC push {r4, lr} adds r4, r0, #0 - ldr r0, _080ACBFC @ =gUnk_03003F80 + ldr r0, _080ACBFC @ =gLinkState ldrb r1, [r0, #0x1c] movs r0, #0x7f ands r0, r1 @@ -15623,7 +15623,7 @@ _080ACBE0: strb r0, [r1] pop {r4, pc} .align 2, 0 -_080ACBFC: .4byte gUnk_03003F80 +_080ACBFC: .4byte gLinkState _080ACC00: .4byte gUnk_0812AA80 thumb_func_start sub_080ACC04 @@ -15789,7 +15789,7 @@ _080ACD32: adds r6, r0, #0 cmp r6, #0 beq _080ACDAE - bl sub_08000E50 + bl Random adds r2, r0, #0 movs r0, #0xf ands r2, r0 @@ -16161,7 +16161,7 @@ _080ACFE8: bl sub_0805E780 b _080AD03C _080ACFF8: - ldr r0, _080AD02C @ =gUnk_03003F80 + ldr r0, _080AD02C @ =gLinkState ldrb r0, [r0, #5] cmp r0, #0 beq _080AD00E @@ -16188,7 +16188,7 @@ _080AD00E: str r2, [r4, #0x20] b _080AD03C .align 2, 0 -_080AD02C: .4byte gUnk_03003F80 +_080AD02C: .4byte gLinkState _080AD030: .4byte gLinkEntity _080AD034: bl sub_08079184 @@ -16361,7 +16361,7 @@ _080AD16A: ldrb r2, [r4, #0xe] adds r0, r4, #0 movs r3, #0 - bl sub_080A2988 + bl CreateObjectWithParent b _080AD1DA _080AD178: ldrb r0, [r4, #0xe] @@ -16439,7 +16439,7 @@ _080AD202: bl sub_0806F8DC adds r0, r4, #0 adds r1, r5, #0 - bl sub_0806FA24 + bl CopyPosition ldr r0, [r4, #0x20] str r0, [r5, #0x20] ldrb r0, [r4, #0x15] @@ -16462,7 +16462,7 @@ _080AD220: .align 2, 0 _080AD240: .4byte gLinkEntity _080AD244: - ldr r0, _080AD270 @ =gUnk_03003F80 + ldr r0, _080AD270 @ =gLinkState ldrb r0, [r0, #5] cmp r0, #0 beq _080AD25A @@ -16486,7 +16486,7 @@ _080AD25A: _080AD26E: pop {r4, r5, pc} .align 2, 0 -_080AD270: .4byte gUnk_03003F80 +_080AD270: .4byte gLinkState thumb_func_start sub_080AD274 sub_080AD274: @ 0x080AD274 diff --git a/asm/code_080AD90C.s b/asm/code_080AD90C.s index ec5f7029..c3866093 100644 --- a/asm/code_080AD90C.s +++ b/asm/code_080AD90C.s @@ -160,7 +160,7 @@ _080ADA2C: .4byte gUnk_03001010 sub_080ADA30: @ 0x080ADA30 push {r4, lr} adds r4, r0, #0 - ldr r1, _080ADA60 @ =gUnk_03003F80 + ldr r1, _080ADA60 @ =gLinkState ldr r0, [r1, #0x2c] cmp r0, r4 bne _080ADA42 @@ -182,7 +182,7 @@ _080ADA46: bl sub_08078E84 pop {r4, pc} .align 2, 0 -_080ADA60: .4byte gUnk_03003F80 +_080ADA60: .4byte gLinkState _080ADA64: .4byte gUnk_08132700 _080ADA68: .4byte gLinkEntity @@ -244,7 +244,7 @@ _080ADAD2: sub_080ADAD4: @ 0x080ADAD4 push {r4, r5, lr} adds r4, r0, #0 - ldr r3, _080ADAF4 @ =gUnk_03003F80 + ldr r3, _080ADAF4 @ =gLinkState ldrb r1, [r3, #0x1c] adds r0, r1, #0 cmp r0, #3 @@ -258,7 +258,7 @@ sub_080ADAD4: @ 0x080ADAD4 adds r1, #8 b _080ADB0C .align 2, 0 -_080ADAF4: .4byte gUnk_03003F80 +_080ADAF4: .4byte gLinkState _080ADAF8: .4byte gLinkEntity _080ADAFC: cmp r0, #6 @@ -366,7 +366,7 @@ _080ADBB0: movs r2, #1 movs r5, #0xe7 _080ADBCA: - ldr r0, _080ADC0C @ =gUnk_03003F80 + ldr r0, _080ADC0C @ =gLinkState ldrb r1, [r0, #0x1c] movs r0, #0xf ands r0, r1 @@ -403,14 +403,14 @@ _080ADBF6: _080ADC08: pop {r4, r5, pc} .align 2, 0 -_080ADC0C: .4byte gUnk_03003F80 +_080ADC0C: .4byte gLinkState _080ADC10: .4byte gLinkEntity thumb_func_start sub_080ADC14 sub_080ADC14: @ 0x080ADC14 push {r4, lr} adds r4, r0, #0 - ldr r0, _080ADC40 @ =gUnk_03003F80 + ldr r0, _080ADC40 @ =gLinkState ldrb r0, [r0, #0x1c] movs r1, #0xf ands r1, r0 @@ -429,7 +429,7 @@ sub_080ADC14: @ 0x080ADC14 bl sub_080042AC b _080ADC5C .align 2, 0 -_080ADC40: .4byte gUnk_03003F80 +_080ADC40: .4byte gLinkState _080ADC44: .4byte gLinkEntity _080ADC48: adds r0, r4, #0 diff --git a/asm/cowInteract.s b/asm/cowInteract.s index 06339348..c2c6ca03 100644 --- a/asm/cowInteract.s +++ b/asm/cowInteract.s @@ -15,7 +15,7 @@ sub_0806924C: @ 0x0806924C ldrsb r2, [r0, r2] cmp r2, #0 beq _0806929C - ldr r0, _08069278 @ =gUnk_03003F80 + ldr r0, _08069278 @ =gLinkState ldr r0, [r0, #0x30] movs r1, #0x80 ands r0, r1 @@ -29,7 +29,7 @@ sub_0806924C: @ 0x0806924C bl sub_0806F118 b _0806928E .align 2, 0 -_08069278: .4byte gUnk_03003F80 +_08069278: .4byte gLinkState _0806927C: adds r0, r4, #0 bl sub_080691F8 diff --git a/asm/createBobomb.s b/asm/createBobomb.s index a4703571..0d9d9c17 100644 --- a/asm/createBobomb.s +++ b/asm/createBobomb.s @@ -23,7 +23,7 @@ sub_0802B204: @ 0x0802B204 beq _0802B22E adds r0, r5, #0 adds r1, r4, #0 - bl sub_0806FA24 + bl CopyPosition ldr r0, [r5, #0x50] str r0, [r4, #0x50] _0802B22E: diff --git a/asm/createBombPeahat.s b/asm/createBombPeahat.s index cea8d39b..c3d46c4f 100644 --- a/asm/createBombPeahat.s +++ b/asm/createBombPeahat.s @@ -27,7 +27,7 @@ sub_0802ADDC: @ 0x0802ADDC str r5, [r4, #0x54] adds r0, r4, #0 adds r1, r5, #0 - bl sub_0806FA24 + bl CopyPosition adds r1, r4, #0 adds r1, #0x81 movs r0, #1 diff --git a/asm/createBowEntity.s b/asm/createBowEntity.s index 4b0d25d4..9da98b61 100644 --- a/asm/createBowEntity.s +++ b/asm/createBowEntity.s @@ -177,7 +177,7 @@ _080190FC: ands r0, r2 orrs r0, r1 strb r0, [r4, #0x18] - ldr r0, _0801916C @ =gUnk_03003F80 + ldr r0, _0801916C @ =gLinkState str r4, [r0, #0x2c] adds r0, r4, #0 movs r1, #1 @@ -200,11 +200,11 @@ _080190FC: cmp r1, #0 beq _08019172 adds r0, r4, #0 - bl sub_0806FA24 + bl CopyPosition b _08019172 .align 2, 0 _08019168: .4byte gUnk_080B3E40 -_0801916C: .4byte gUnk_03003F80 +_0801916C: .4byte gLinkState _08019170: str r5, [r4, #0x78] _08019172: diff --git a/asm/createFx.s b/asm/createFx.s index 6c2b7289..064eb24c 100644 --- a/asm/createFx.s +++ b/asm/createFx.s @@ -9,5 +9,5 @@ CreateFX: @ 0x080A29AC adds r3, r2, #0 movs r1, #0xf adds r2, r4, #0 - bl sub_080A2988 + bl CreateObjectWithParent pop {r4, pc} \ No newline at end of file diff --git a/asm/createMadderpillar.s b/asm/createMadderpillar.s index bf104342..58a4138e 100644 --- a/asm/createMadderpillar.s +++ b/asm/createMadderpillar.s @@ -87,7 +87,7 @@ sub_0802999C: @ 0x0802999C movs r0, #0x80 orrs r0, r1 strb r0, [r7, #0x10] - bl sub_08000E50 + bl Random movs r1, #0x18 ands r0, r1 strb r0, [r7, #0x15] diff --git a/asm/cuccoInteract.s b/asm/cuccoInteract.s index e52804f7..1dd8eddf 100644 --- a/asm/cuccoInteract.s +++ b/asm/cuccoInteract.s @@ -15,7 +15,7 @@ sub_0806E65C: @ 0x0806E65C ldrsb r2, [r0, r2] cmp r2, #0 beq _0806E6A6 - ldr r0, _0806E688 @ =gUnk_03003F80 + ldr r0, _0806E688 @ =gLinkState ldr r0, [r0, #0x30] movs r1, #0x80 ands r0, r1 @@ -29,7 +29,7 @@ sub_0806E65C: @ 0x0806E65C bl sub_0806F118 b _0806E698 .align 2, 0 -_0806E688: .4byte gUnk_03003F80 +_0806E688: .4byte gLinkState _0806E68C: adds r0, r4, #0 bl sub_0806E6A8 diff --git a/asm/doItemTrade.s b/asm/doItemTrade.s index c53c377e..78d56885 100644 --- a/asm/doItemTrade.s +++ b/asm/doItemTrade.s @@ -65,7 +65,7 @@ _08028D5C: cmp r1, #0xff bne _08028D70 ldr r4, _08028D98 @ =gUnk_080CC9C0 - bl sub_08000E50 + bl Random movs r1, #7 ands r1, r0 adds r1, r1, r4 diff --git a/asm/dogInteract.s b/asm/dogInteract.s index 88ffaee4..29162f97 100644 --- a/asm/dogInteract.s +++ b/asm/dogInteract.s @@ -15,7 +15,7 @@ sub_0806A028: @ 0x0806A028 ldrsb r2, [r0, r2] cmp r2, #0 beq _0806A07E - ldr r0, _0806A054 @ =gUnk_03003F80 + ldr r0, _0806A054 @ =gLinkState ldr r0, [r0, #0x30] movs r1, #0x80 ands r0, r1 @@ -29,7 +29,7 @@ sub_0806A028: @ 0x0806A028 bl sub_0806F118 b _0806A076 .align 2, 0 -_0806A054: .4byte gUnk_03003F80 +_0806A054: .4byte gLinkState _0806A058: adds r0, r4, #0 bl sub_0806A080 diff --git a/asm/fastTravel.s b/asm/fastTravel.s index a8f65209..13d518f0 100644 --- a/asm/fastTravel.s +++ b/asm/fastTravel.s @@ -141,7 +141,7 @@ _0809D2D6: beq _0809D3A8 cmp r0, #9 beq _0809D3A8 - ldr r7, _0809D438 @ =gUnk_03003F80 + ldr r7, _0809D438 @ =gLinkState adds r0, r7, #0 adds r0, #0xa8 ldrb r0, [r0] @@ -286,7 +286,7 @@ _0809D3DA: .align 2, 0 _0809D430: .4byte gLinkEntity _0809D434: .4byte gTextBox -_0809D438: .4byte gUnk_03003F80 +_0809D438: .4byte gLinkState _0809D43C: .4byte gUnk_03003DC0 _0809D440: .4byte gUnk_02034490 _0809D444: .4byte 0xFFF80000 @@ -295,7 +295,7 @@ _0809D448: strb r0, [r5, #0xe] adds r0, r2, #0 adds r1, r4, #0 - bl sub_0806FA24 + bl CopyPosition _0809D454: adds r0, r5, #0 bl sub_080040A8 diff --git a/asm/horseInteract.s b/asm/horseInteract.s index 307615d9..44dd24cc 100644 --- a/asm/horseInteract.s +++ b/asm/horseInteract.s @@ -15,7 +15,7 @@ sub_08065AA4: @ 0x08065AA4 ldrsb r2, [r0, r2] cmp r2, #0 beq _08065B18 - ldr r0, _08065AD0 @ =gUnk_03003F80 + ldr r0, _08065AD0 @ =gLinkState ldr r0, [r0, #0x30] movs r1, #0x80 ands r0, r1 @@ -29,7 +29,7 @@ sub_08065AA4: @ 0x08065AA4 bl sub_0806F118 b _08065AE6 .align 2, 0 -_08065AD0: .4byte gUnk_03003F80 +_08065AD0: .4byte gLinkState _08065AD4: movs r0, #3 strb r0, [r4, #0xc] diff --git a/asm/mainLoop.s b/asm/mainLoop.s index 64a954ac..00932b59 100644 --- a/asm/mainLoop.s +++ b/asm/mainLoop.s @@ -31,7 +31,7 @@ MainLoop: @ 0x08055E6C bl sub_0804FF84 bl sub_08056418 bl sub_080ADD30 - ldr r1, _08055EFC @ =gUnk_03001150 + ldr r1, _08055EFC @ =gRand ldr r0, _08055F00 @ =0x01234567 str r0, [r1] ldr r4, _08055F04 @ =gUnk_03001000 @@ -61,7 +61,7 @@ _08055EEC: .4byte gUnk_02000010 _08055EF0: .4byte 0x040000D4 _08055EF4: .4byte gUnk_020176A0 _08055EF8: .4byte 0x84000080 -_08055EFC: .4byte gUnk_03001150 +_08055EFC: .4byte gRand _08055F00: .4byte 0x01234567 _08055F04: .4byte gUnk_03001000 _08055F08: diff --git a/asm/modArrows.s b/asm/modArrows.s new file mode 100644 index 00000000..a15219f5 --- /dev/null +++ b/asm/modArrows.s @@ -0,0 +1,40 @@ + .include "asm/macros.inc" + + .include "constants/constants.inc" + + .syntax unified + + .text + + thumb_func_start ModArrows +ModArrows: @ 0x08054330 + push {lr} + adds r3, r0, #0 + ldr r1, _08054354 @ =gUnk_02002A40 + adds r0, r1, #0 + adds r0, #0xad + ldrb r0, [r0] + adds r3, r3, r0 + ldr r2, _08054358 @ =gQuiverSizes + adds r0, r1, #0 + adds r0, #0xaf + ldrb r0, [r0] + adds r0, r0, r2 + ldrb r2, [r0] + cmp r3, #0 + bge _0805435C + movs r3, #0 + b _08054362 + .align 2, 0 +_08054354: .4byte gUnk_02002A40 +_08054358: .4byte gQuiverSizes +_0805435C: + cmp r2, r3 + bge _08054362 + adds r3, r2, #0 +_08054362: + adds r0, r1, #0 + adds r0, #0xad + strb r3, [r0] + pop {pc} + .align 2, 0 \ No newline at end of file diff --git a/asm/modBombs.s b/asm/modBombs.s new file mode 100644 index 00000000..21409307 --- /dev/null +++ b/asm/modBombs.s @@ -0,0 +1,40 @@ + .include "asm/macros.inc" + + .include "constants/constants.inc" + + .syntax unified + + .text + + thumb_func_start ModBombs +ModBombs: @ 0x080542F4 + push {lr} + adds r3, r0, #0 + ldr r1, _08054318 @ =gUnk_02002A40 + adds r0, r1, #0 + adds r0, #0xac + ldrb r0, [r0] + adds r3, r3, r0 + ldr r2, _0805431C @ =gBombBagSizes + adds r0, r1, #0 + adds r0, #0xae + ldrb r0, [r0] + adds r0, r0, r2 + ldrb r2, [r0] + cmp r3, #0 + bge _08054320 + movs r3, #0 + b _08054326 + .align 2, 0 +_08054318: .4byte gUnk_02002A40 +_0805431C: .4byte gBombBagSizes +_08054320: + cmp r2, r3 + bge _08054326 + adds r3, r2, #0 +_08054326: + adds r0, r1, #0 + adds r0, #0xac + strb r3, [r0] + pop {pc} + .align 2, 0 \ No newline at end of file diff --git a/asm/ocarina.s b/asm/ocarina.s new file mode 100644 index 00000000..fcfae82a --- /dev/null +++ b/asm/ocarina.s @@ -0,0 +1,150 @@ + .include "asm/macros.inc" + + .include "constants/constants.inc" + + .syntax unified + + .text + + thumb_func_start Ocarina +Ocarina: @ 0x08076B78 + push {lr} + + ldr r3, _08076B94 @ =gOcarinaStates + + ldrb r2, [r0, #4] + lsls r2, r2, #2 + adds r2, r2, r3 + ldr r2, [r2] + bl _call_via_r2 + + ldr r1, _08076B98 @ =gLinkEntity + adds r1, #0x7a + ldrh r0, [r1] + adds r0, #1 + strh r0, [r1] + + pop {pc} + .align 2, 0 +_08076B94: .4byte gOcarinaStates +_08076B98: .4byte gLinkEntity + + thumb_func_start OcarinaUse +OcarinaUse: @ 0x08076B9C + push {r4, r5, lr} + adds r4, r0, #0 + adds r5, r1, #0 + ldr r3, _08076BB4 @ =gLinkState + ldrb r0, [r3, #0xc] + cmp r0, #0x18 + bne _08076BB8 + adds r0, r4, #0 + bl sub_08077E78 + b _08076C1C + .align 2, 0 +_08076BB4: .4byte gLinkState +_08076BB8: + ldrb r1, [r4, #9] + movs r0, #0xf + orrs r0, r1 + strb r0, [r4, #9] + ldr r1, _08076C20 @ =gLinkEntity + movs r0, #4 + strb r0, [r1, #0x14] + ldrb r2, [r1, #0x18] + subs r0, #0x45 + ands r0, r2 + strb r0, [r1, #0x18] + + ldrb r2, [r1, #0x10] + movs r0, #0x7f + ands r0, r2 + strb r0, [r1, #0x10] + + adds r1, #0x7a + movs r0, #2 + strh r0, [r1] + + ldr r0, [r3, #0x30] + movs r1, #0x80 + lsls r1, r1, #0x15 + orrs r0, r1 + str r0, [r3, #0x30] + + adds r1, r3, #0 + adds r1, #0x27 + movs r0, #0xff + strb r0, [r1] + + ldr r1, _08076C24 @ =gUnk_02034490 + movs r0, #1 + strb r0, [r1] + + movs r1, #8 + asrs r1, r5 + + ldrb r2, [r3, #0xa] + adds r0, r1, #0 + orrs r0, r2 + strb r0, [r3, #0xa] + + ldrb r0, [r3, #0xb] + orrs r1, r0 + strb r1, [r3, #0xb] + + bl sub_08078F60 + + adds r0, r4, #0 + adds r1, r5, #0 + bl sub_08077D38 + + ldr r0, _08076C28 @ =0x00000216 + bl PlaySFX + + bl sub_0805E544 + +_08076C1C: + pop {r4, r5, pc} + .align 2, 0 +_08076C20: .4byte gLinkEntity +_08076C24: .4byte gUnk_02034490 +_08076C28: .4byte 0x00000216 + + thumb_func_start OcarinaUpdate +OcarinaUpdate: @ 0x08076C2C + push {r4, r5, r6, lr} + adds r5, r0, #0 + adds r6, r1, #0 + bl UpdateItemAnim + ldrb r1, [r5, #0xe] + movs r0, #0x80 + ands r0, r1 + cmp r0, #0 + beq _08076C6E + ldr r0, _08076C70 @ =gLinkEntity + ldrb r2, [r0, #0x10] + movs r4, #0 + movs r1, #0x80 + orrs r1, r2 + strb r1, [r0, #0x10] + ldr r2, _08076C74 @ =gLinkState + ldr r1, [r2, #0x30] + ldr r3, _08076C78 @ =0xEFFFFFFF + ands r1, r3 + str r1, [r2, #0x30] + adds r2, #0x27 + strb r4, [r2] + ldr r1, _08076C7C @ =gUnk_02034490 + strb r4, [r1] + bl CreateBird + bl UnfreezeTime + adds r0, r5, #0 + adds r1, r6, #0 + bl sub_08077E78 +_08076C6E: + pop {r4, r5, r6, pc} + .align 2, 0 +_08076C70: .4byte gLinkEntity +_08076C74: .4byte gLinkState +_08076C78: .4byte 0xEFFFFFFF +_08076C7C: .4byte gUnk_02034490 \ No newline at end of file diff --git a/asm/ocarinaUpdate.s b/asm/ocarinaUpdate.s new file mode 100644 index 00000000..005d7f38 --- /dev/null +++ b/asm/ocarinaUpdate.s @@ -0,0 +1,46 @@ + .include "asm/macros.inc" + + .include "constants/constants.inc" + + .syntax unified + + .text + + thumb_func_start OcarinaUpdate +OcarinaUpdate: @ 0x08076C2C + push {r4, r5, r6, lr} + adds r5, r0, #0 + adds r6, r1, #0 + bl UpdateItemAnim + ldrb r1, [r5, #0xe] + movs r0, #0x80 + ands r0, r1 + cmp r0, #0 + beq _08076C6E + ldr r0, _08076C70 @ =gLinkEntity + ldrb r2, [r0, #0x10] + movs r4, #0 + movs r1, #0x80 + orrs r1, r2 + strb r1, [r0, #0x10] + ldr r2, _08076C74 @ =gLinkState + ldr r1, [r2, #0x30] + ldr r3, _08076C78 @ =0xEFFFFFFF + ands r1, r3 + str r1, [r2, #0x30] + adds r2, #0x27 + strb r4, [r2] + ldr r1, _08076C7C @ =gUnk_02034490 + strb r4, [r1] + bl CreateBird + bl UnfreezeTime + adds r0, r5, #0 + adds r1, r6, #0 + bl sub_08077E78 +_08076C6E: + pop {r4, r5, r6, pc} + .align 2, 0 +_08076C70: .4byte gLinkEntity +_08076C74: .4byte gLinkState +_08076C78: .4byte 0xEFFFFFFF +_08076C7C: .4byte gUnk_02034490 \ No newline at end of file diff --git a/asm/respawnLink.s b/asm/respawnLink.s index 00998f77..75e1650b 100644 --- a/asm/respawnLink.s +++ b/asm/respawnLink.s @@ -19,7 +19,7 @@ _08077B32: adds r4, #1 cmp r4, #2 bls _08077B32 - ldr r2, _08077B8C @ =gUnk_03003F80 + ldr r2, _08077B8C @ =gLinkState adds r0, r2, #0 adds r0, #0x3d movs r3, #0 @@ -58,6 +58,6 @@ _08077B86: pop {r4, r5, pc} .align 2, 0 _08077B88: .4byte gUnk_03000B80 -_08077B8C: .4byte gUnk_03003F80 +_08077B8C: .4byte gLinkState _08077B90: .4byte 0xF7FBFFFF _08077B94: .4byte gLinkEntity \ No newline at end of file diff --git a/asm/stairsInteract.s b/asm/stairsInteract.s index fbffae32..4d78fe0e 100644 --- a/asm/stairsInteract.s +++ b/asm/stairsInteract.s @@ -28,7 +28,7 @@ sub_080731D8: @ 0x080731D8 orrs r0, r7 strh r0, [r4, #0x2e] strh r2, [r4, #0x2c] - ldr r6, _08073214 @ =gUnk_03003F80 + ldr r6, _08073214 @ =gLinkState adds r0, r6, #0 adds r0, #0x38 ldrb r0, [r0] @@ -38,7 +38,7 @@ sub_080731D8: @ 0x080731D8 strb r0, [r4, #0xd] b _0807329A .align 2, 0 -_08073214: .4byte gUnk_03003F80 +_08073214: .4byte gLinkState _08073218: ldrb r0, [r4, #0x18] movs r1, #3 @@ -57,7 +57,7 @@ _08073218: movs r1, #0x70 movs r2, #1 movs r3, #0 - bl sub_080A2988 + bl CreateObjectWithParent str r0, [r4, #0x54] adds r0, r6, #0 adds r0, #0x39 @@ -103,7 +103,7 @@ _08073294: adds r0, r4, #0 bl sub_08066DE4 _0807329A: - ldr r2, _080732AC @ =gUnk_03003F80 + ldr r2, _080732AC @ =gLinkState ldr r0, [r2, #0x30] movs r1, #8 ands r0, r1 @@ -112,7 +112,7 @@ _0807329A: ldr r0, _080732B0 @ =0x00000404 b _080732B8 .align 2, 0 -_080732AC: .4byte gUnk_03003F80 +_080732AC: .4byte gLinkState _080732B0: .4byte 0x00000404 _080732B4: movs r0, #0x82 diff --git a/asm/sub_080A2988.s b/asm/sub_080A2988.s deleted file mode 100644 index 64ce09c9..00000000 --- a/asm/sub_080A2988.s +++ /dev/null @@ -1,26 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .syntax unified - - .text - - thumb_func_start sub_080A2988 -sub_080A2988: @ 0x080A2988 - push {r4, r5, lr} - adds r5, r0, #0 - adds r0, r1, #0 - adds r1, r2, #0 - adds r2, r3, #0 - bl CreateObject - adds r4, r0, #0 - cmp r4, #0 - beq _080A29A6 - str r5, [r4, #0x50] - adds r0, r5, #0 - adds r1, r4, #0 - bl sub_0806FA24 -_080A29A6: - adds r0, r4, #0 - pop {r4, r5, pc} - .align 2, 0 \ No newline at end of file diff --git a/data/data_8.s b/data/data_8.s index 825a7b15..6b904dc2 100644 --- a/data/data_8.s +++ b/data/data_8.s @@ -21457,10 +21457,10 @@ gUnk_080FD588:: @ 080FD588 gWalletSizes:: @ 080FD590 .incbin "baserom.gba", 0x0FD590, 0x0000010 -gUnk_080FD5A0:: @ 080FD5A0 +gBombBagSizes:: @ 080FD5A0 .incbin "baserom.gba", 0x0FD5A0, 0x0000004 -gUnk_080FD5A4:: @ 080FD5A4 +gQuiverSizes:: @ 080FD5A4 .incbin "baserom.gba", 0x0FD5A4, 0x0000004 gUnk_080FD5A8:: @ 080FD5A8 @@ -32602,7 +32602,7 @@ gUnk_0811BDB4:: @ 0811BDB4 gUnk_0811BDCC:: @ 0811BDCC .incbin "baserom.gba", 0x11BDCC, 0x000000C -gUnk_0811BDD8:: @ 0811BDD8 +gOcarinaStates:: @ 0811BDD8 .incbin "baserom.gba", 0x11BDD8, 0x0000008 gUnk_0811BDE0:: @ 0811BDE0 diff --git a/include/entity.h b/include/entity.h index 3c0a6bb7..abed6056 100644 --- a/include/entity.h +++ b/include/entity.h @@ -4,7 +4,11 @@ #ifndef ENTITY_H #define ENTITY_H - +typedef struct { + void *entity1; + void *entity2; + u8 filler[14]; +} UnkStruct; typedef struct { u8 type; @@ -18,11 +22,6 @@ union SplitWord { s16 LO, HI; }; -typedef struct { - u16 LO; - u16 HI; -} Pos; - typedef struct { u32 *field_0x0; @@ -73,7 +72,7 @@ typedef struct u8 field_0x4d; u8 field_0x4e; u8 field_0x4f; - u32 * spritePtr; + void * parent; u32 * attachedEntity; u8 field_0x58; u8 field_0x59; @@ -90,8 +89,11 @@ typedef struct u32 * otherEntity; u8 filler2[8]; u32 * heldObjectPtr; - u8 filler[12]; - u32 * field_0x84; + u8 filler3[2]; + u16 itemCooldown; + u32 field_0x7c; + UnkStruct *unkStruct; + u32 *field_0x84; } Entity; diff --git a/include/item.h b/include/item.h index 381443ea..4ef90ee3 100644 --- a/include/item.h +++ b/include/item.h @@ -2,6 +2,9 @@ #ifndef ITEM_H #define ITEM_H + +/* On hold until naming conflicts are resolved */ +/* enum { Untyped, @@ -123,4 +126,16 @@ FastSplit = 0x74, LongSpin = 0x75 } ItemType; +*/ + typedef struct { + u8 unk; + u8 behaviorID; + u8 unk2; + u8 unk3; + u8 stateID; + u8 filler[4]; + u8 unk4; + u8 filler2[4]; + u8 unk5; + } ItemBehavior; #endif \ No newline at end of file diff --git a/include/link.h b/include/link.h new file mode 100644 index 00000000..ed08f123 --- /dev/null +++ b/include/link.h @@ -0,0 +1,47 @@ +#ifndef LINK_H +#define LINK_H + +#include "global.h" + +typedef struct { + u8 filler[2]; + u8 jumpStatus; + u8 filler2[2]; + u8 heldObject; + u8 pushedObject; + u8 unk; + u16 unk2; + u8 unk3; + u8 keepFacing; + u8 linkAction; + u8 filler3[2]; + u8 hurtBlinkSpeed; + u8 filler4[4]; + u16 filler5[3]; + u8 filler6[8]; + u16 filler7[2]; + u8 swimState; + u8 filler8[5]; + u8 *unk4; + union { + u32 all; + u32 filler9:3; + u32 noMinishCap:1; + u32 pullingState:1; + u32 windyState:1; + u32 filler10:4; + u32 slipperyState:1; + u32 filler11:5; + u32 filler11b:16; + } flags; + u8 filler12[6]; + u16 unk5; + u8 filler13[2]; + u8 swordGoldParticle:1; + u8 swordBlueParticle:1; + u8 filler14:6; + u8 unk6; +} LinkState; + + +#endif \ No newline at end of file diff --git a/include/mainLoop.h b/include/mainLoop.h index 69c48cea..3414c9c3 100644 --- a/include/mainLoop.h +++ b/include/mainLoop.h @@ -38,7 +38,7 @@ extern s32 sub_08050154(s32); extern s32 sub_080A3480(s32); extern s32 gUnk_02000010; -extern s32 gUnk_03001150; +extern s32 gRand; extern MainStruct gUnk_03001000; extern s32 gUnk_08100CBC; #endif \ No newline at end of file diff --git a/include/stats.h b/include/stats.h index 2c83ba6f..ae9f97aa 100644 --- a/include/stats.h +++ b/include/stats.h @@ -9,7 +9,11 @@ typedef struct { u8 heartPieces; u8 health; u8 maxHealth; - u8 filler[8]; + u8 bombCount; + u8 arrowCount; + u8 bombBagType; + u8 quiverType; + u8 filler[4]; u8 itemOnA; u8 itemonB; u8 filler2[10]; diff --git a/linker.ld b/linker.ld index 2ae6afe2..b214ce10 100644 --- a/linker.ld +++ b/linker.ld @@ -179,7 +179,7 @@ SECTIONS { . = 0x000010D8; gUnk_030010D8 = .; . = 0x000010EC; gUnk_030010EC = .; . = 0x0000110C; gUnk_0300110C = .; - . = 0x00001150; gUnk_03001150 = .; + . = 0x00001150; gRand = .; . = 0x00001160; gLinkEntity = .; . = 0x00001198; gUnk_03001198 = .; . = 0x000011E8; gUnk_030011E8 = .; @@ -201,7 +201,7 @@ SECTIONS { . = 0x00003DE4; gUnk_03003DE4 = .; . = 0x00003DF0; gUnk_03003DF0 = .; . = 0x00003DF8; gUnk_03003DF8 = .; - . = 0x00003F80; gUnk_03003F80 = .; + . = 0x00003F80; gLinkState = .; . = 0x00003FC0; gUnk_03003FC0 = .; . = 0x00004010; gUnk_03004010 = .; . = 0x00004020; gUnk_03004020 = .; @@ -353,6 +353,9 @@ SECTIONS { src/modHealth.o(.text); src/modRupees.o(.text); asm/code_080526F8.o(.text); + asm/modBombs.o(.text); + asm/modArrows.o(.text); + asm/code_0805436C.o(.text); src/sub_08055E08.o(.text); asm/sub_08055E24.o(.text); asm/mainLoop.o(.text); @@ -382,12 +385,14 @@ SECTIONS { asm/code_0806ED78.o(.text); src/sub_0806F9EC.o(.text); src/sub_0806FA04.o(.text); - src/sub_0806FA24.o(.text); + src/copyPosition.o(.text); src/sub_0806FA30.o(.text); src/positionRelative.o(.text); asm/code_0806FA6C.o(.text); asm/stairsInteract.o(.text); asm/code_080732D0.o(.text); + asm/ocarina.o(.text); + asm/code_08076C80.o(.text); asm/respawnLink.o(.text); asm/code_08077B98.o(.text); src/sub_0807B7D8.o(.text); @@ -409,7 +414,7 @@ SECTIONS { asm/sub_080A2838.o(.text); asm/sub_080A285C.o(.text); src/createObject.o(.text); - asm/sub_080A2988.o(.text); + src/createObjectWithParent.o(.text); asm/createFx.o(.text); asm/code_080A29BC.o(.text); asm/playSFX.o(.text); diff --git a/tools/minishmaker-license.txt b/minishmaker-license.txt similarity index 100% rename from tools/minishmaker-license.txt rename to minishmaker-license.txt diff --git a/src/copyPosition.c b/src/copyPosition.c new file mode 100644 index 00000000..cb70c380 --- /dev/null +++ b/src/copyPosition.c @@ -0,0 +1,11 @@ +#include "global.h" +#include "entity.h" + +extern void PositionRelative(); + +void CopyPosition(Entity *param_1,Entity *param_2) + +{ + PositionRelative(param_1,param_2,0,0); + return; +} \ No newline at end of file diff --git a/src/createObjectWithParent.c b/src/createObjectWithParent.c new file mode 100644 index 00000000..f7eb9814 --- /dev/null +++ b/src/createObjectWithParent.c @@ -0,0 +1,18 @@ +#include "global.h" +#include "entity.h" + +extern Entity * CreateObject(); +extern void CopyPosition(); + +Entity * CreateObjectWithParent(Entity *parentEnt,u32 subtype,u32 param1, u32 param2) +{ + Entity *ent; + + ent = CreateObject(subtype, param1, param2); + if (ent != NULL) { + ent->parent = parentEnt; + CopyPosition(parentEnt,ent); + } + + return ent; +} \ No newline at end of file diff --git a/src/mainLoop.c b/src/mainLoop.c index 460321e8..e4fb08b8 100644 --- a/src/mainLoop.c +++ b/src/mainLoop.c @@ -37,7 +37,7 @@ void MainLoop() v5 = sub_0804FF84(1); v6 = sub_08056418(v5); sub_080ADD30(v6); - gUnk_03001150 = 19088743; + gRand = 19088743; v9 = sub_0801D630(50335744, in_r2, 16); for ( i = sub_08056010(0); ; i = sub_08016E78(v9) ) { diff --git a/src/ocarina.c b/src/ocarina.c new file mode 100644 index 00000000..7115f679 --- /dev/null +++ b/src/ocarina.c @@ -0,0 +1,54 @@ +#include "global.h" +#include "item.h" +#include "entity.h" +#include "link.h" + +extern void _call_via_r2(); +extern void sub_08077E78(ItemBehavior *, u32); +extern void PlaySFX(u32); +extern void sub_08078F60(void); +extern void sub_08077D38(ItemBehavior *, u32); +extern void sub_0805E544(void); +extern void UpdateItemAnim(ItemBehavior *); +extern void CreateBird(void); +extern void UnfreezeTime(void); + +extern Entity gLinkEntity; +extern LinkState gLinkState; +extern void gOcarinaStates; +extern u8 gUnk_02034490; + +void Ocarina(ItemBehavior *pItemBeh,u32 inputFlags) + +{ + u32 *ocarinaStates = &gOcarinaStates; + _call_via_r2(pItemBeh, inputFlags,(ocarinaStates)[pItemBeh->stateID]); + gLinkEntity.itemCooldown = gLinkEntity.itemCooldown + 1; +} + +void OcarinaUse(ItemBehavior *itemBeh,s32 inputFlags) + +{ + u32 bVar1; + + if (gLinkState.linkAction == 24) { + sub_08077E78(itemBeh,inputFlags); + } + else { + itemBeh->unk4 = itemBeh->unk4 | 15; + gLinkEntity.animationState = 4; + gLinkEntity.shadowSize = gLinkEntity.animationState & (gLinkEntity.shadowSize - 0x45); + gLinkEntity.flags = gLinkEntity.flags & 127; + gLinkEntity.itemCooldown = 2; + gLinkState.flags.all = (gLinkState.flags.all | 0x10000000); + gLinkState.filler8[0] = 255; + gUnk_02034490 = 1; + bVar1 = (8 >> inputFlags); + gLinkState.unk3 = bVar1 | gLinkState.unk3; + gLinkState.keepFacing = bVar1 | gLinkState.keepFacing; + sub_08078F60(); + sub_08077D38(itemBeh,inputFlags); + PlaySFX(534); + sub_0805E544(); + } +} \ No newline at end of file diff --git a/src/sub_0806FA24.c b/src/sub_0806FA24.c index 4de2c20f..015b773d 100644 --- a/src/sub_0806FA24.c +++ b/src/sub_0806FA24.c @@ -3,7 +3,7 @@ #include "entity.h" void PositionRelative(Entity *, Entity *, s32, s32); -void sub_0806FA24(Entity *param_1,Entity *param_2) +void CopyPosition(Entity *param_1,Entity *param_2) { PositionRelative(param_1, param_2, 0, 0);