From 3cbc3121304a0dfb34566a16b828dda96c474700 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Tue, 12 Nov 2019 11:21:49 -0500 Subject: [PATCH] Dump field_door data; start field_door decomp --- asm/field_door.s | 183 -------- baserom.ips | Bin 398518 -> 363962 bytes data/field_door.s | 539 +++++++++++++++++++++++- data/metatile_behavior.s | 6 - graphics/door_anims/frame_8353088_1.png | Bin 0 -> 139 bytes graphics/door_anims/frame_8353088_2.png | Bin 0 -> 124 bytes graphics/door_anims/frame_8353088_3.png | Bin 0 -> 102 bytes graphics/door_anims/frame_8353228_1.png | Bin 0 -> 105 bytes graphics/door_anims/frame_8353228_2.png | Bin 0 -> 116 bytes graphics/door_anims/frame_8353228_3.png | Bin 0 -> 103 bytes graphics/door_anims/frame_83533C8_1.png | Bin 0 -> 121 bytes graphics/door_anims/frame_83533C8_2.png | Bin 0 -> 128 bytes graphics/door_anims/frame_83533C8_3.png | Bin 0 -> 103 bytes graphics/door_anims/frame_8353568_1.png | Bin 0 -> 147 bytes graphics/door_anims/frame_8353568_2.png | Bin 0 -> 130 bytes graphics/door_anims/frame_8353568_3.png | Bin 0 -> 102 bytes graphics/door_anims/frame_8353708_1.png | Bin 0 -> 144 bytes graphics/door_anims/frame_8353708_2.png | Bin 0 -> 127 bytes graphics/door_anims/frame_8353708_3.png | Bin 0 -> 102 bytes graphics/door_anims/frame_83538A8_1.png | Bin 0 -> 131 bytes graphics/door_anims/frame_83538A8_2.png | Bin 0 -> 123 bytes graphics/door_anims/frame_83538A8_3.png | Bin 0 -> 108 bytes graphics/door_anims/frame_8353A48_1.png | Bin 0 -> 146 bytes graphics/door_anims/frame_8353A48_2.png | Bin 0 -> 130 bytes graphics/door_anims/frame_8353A48_3.png | Bin 0 -> 102 bytes graphics/door_anims/frame_8353BE8_1.png | Bin 0 -> 140 bytes graphics/door_anims/frame_8353BE8_2.png | Bin 0 -> 124 bytes graphics/door_anims/frame_8353BE8_3.png | Bin 0 -> 103 bytes graphics/door_anims/frame_8353D88_1.png | Bin 0 -> 125 bytes graphics/door_anims/frame_8353D88_2.png | Bin 0 -> 130 bytes graphics/door_anims/frame_8353D88_3.png | Bin 0 -> 95 bytes graphics/door_anims/frame_8353F28_1.png | Bin 0 -> 145 bytes graphics/door_anims/frame_8353F28_2.png | Bin 0 -> 133 bytes graphics/door_anims/frame_8353F28_3.png | Bin 0 -> 103 bytes graphics/door_anims/frame_83540C8_1.png | Bin 0 -> 141 bytes graphics/door_anims/frame_83540C8_2.png | Bin 0 -> 125 bytes graphics/door_anims/frame_83540C8_3.png | Bin 0 -> 103 bytes graphics/door_anims/frame_8354268_1.png | Bin 0 -> 138 bytes graphics/door_anims/frame_8354268_2.png | Bin 0 -> 130 bytes graphics/door_anims/frame_8354268_3.png | Bin 0 -> 103 bytes graphics/door_anims/frame_8354408_1.png | Bin 0 -> 146 bytes graphics/door_anims/frame_8354408_2.png | Bin 0 -> 138 bytes graphics/door_anims/frame_8354408_3.png | Bin 0 -> 119 bytes graphics/door_anims/frame_83545A8_1.png | Bin 0 -> 122 bytes graphics/door_anims/frame_83545A8_2.png | Bin 0 -> 129 bytes graphics/door_anims/frame_83545A8_3.png | Bin 0 -> 105 bytes graphics/door_anims/frame_8354748_1.png | Bin 0 -> 151 bytes graphics/door_anims/frame_8354748_2.png | Bin 0 -> 129 bytes graphics/door_anims/frame_8354748_3.png | Bin 0 -> 103 bytes graphics/door_anims/frame_83548E8_1.png | Bin 0 -> 150 bytes graphics/door_anims/frame_83548E8_2.png | Bin 0 -> 131 bytes graphics/door_anims/frame_83548E8_3.png | Bin 0 -> 90 bytes graphics/door_anims/frame_8354A88_1.png | Bin 0 -> 140 bytes graphics/door_anims/frame_8354A88_2.png | Bin 0 -> 127 bytes graphics/door_anims/frame_8354A88_3.png | Bin 0 -> 98 bytes graphics/door_anims/frame_8354C28_1.png | Bin 0 -> 130 bytes graphics/door_anims/frame_8354C28_2.png | Bin 0 -> 127 bytes graphics/door_anims/frame_8354C28_3.png | Bin 0 -> 104 bytes graphics/door_anims/frame_8354F48_1.png | Bin 0 -> 139 bytes graphics/door_anims/frame_8354F48_2.png | Bin 0 -> 141 bytes graphics/door_anims/frame_8354F48_3.png | Bin 0 -> 130 bytes graphics/door_anims/frame_8355268_1.png | Bin 0 -> 137 bytes graphics/door_anims/frame_8355268_2.png | Bin 0 -> 137 bytes graphics/door_anims/frame_8355268_3.png | Bin 0 -> 115 bytes graphics/door_anims/frame_8355588_1.png | Bin 0 -> 177 bytes graphics/door_anims/frame_8355588_2.png | Bin 0 -> 160 bytes graphics/door_anims/frame_8355588_3.png | Bin 0 -> 123 bytes graphics/door_anims/frame_8359588_1.png | Bin 0 -> 79 bytes graphics/door_anims/frame_8359588_2.png | Bin 0 -> 79 bytes graphics/door_anims/frame_8359788_1.png | Bin 0 -> 101 bytes graphics/door_anims/frame_8359788_2.png | Bin 0 -> 100 bytes graphics/door_anims/frame_8359788_3.png | Bin 0 -> 88 bytes graphics/door_anims/frame_8359788_4.png | Bin 0 -> 80 bytes graphics/door_anims/frame_8359988_1.png | Bin 0 -> 104 bytes graphics/door_anims/frame_8359988_2.png | Bin 0 -> 112 bytes graphics/door_anims/frame_8359988_3.png | Bin 0 -> 102 bytes graphics/door_anims/frame_8359988_4.png | Bin 0 -> 90 bytes graphics/door_anims/frame_8359B88_1.png | Bin 0 -> 105 bytes graphics/door_anims/frame_8359B88_2.png | Bin 0 -> 109 bytes graphics/door_anims/frame_8359B88_3.png | Bin 0 -> 109 bytes graphics/door_anims/frame_8359B88_4.png | Bin 0 -> 89 bytes graphics/door_anims/frame_8359CA8_1.png | Bin 0 -> 139 bytes graphics/door_anims/frame_8359CA8_2.png | Bin 0 -> 139 bytes graphics/door_anims/frame_8359CA8_3.png | Bin 0 -> 117 bytes graphics/door_anims/frame_8359FC8_1.png | Bin 0 -> 132 bytes graphics/door_anims/frame_8359FC8_2.png | Bin 0 -> 125 bytes graphics/door_anims/frame_8359FC8_3.png | Bin 0 -> 103 bytes graphics/door_anims/frame_835A168_1.png | Bin 0 -> 121 bytes graphics/door_anims/frame_835A168_2.png | Bin 0 -> 127 bytes graphics/door_anims/frame_835A168_3.png | Bin 0 -> 104 bytes graphics/door_anims/frame_835A308_1.png | Bin 0 -> 128 bytes graphics/door_anims/frame_835A308_2.png | Bin 0 -> 130 bytes graphics/door_anims/frame_835A308_3.png | Bin 0 -> 104 bytes graphics/door_anims/frame_835A4A8_1.png | Bin 0 -> 132 bytes graphics/door_anims/frame_835A4A8_2.png | Bin 0 -> 125 bytes graphics/door_anims/frame_835A4A8_3.png | Bin 0 -> 103 bytes graphics/door_anims/frame_835A648_1.png | Bin 0 -> 144 bytes graphics/door_anims/frame_835A648_2.png | Bin 0 -> 130 bytes graphics/door_anims/frame_835A648_3.png | Bin 0 -> 103 bytes graphics/door_anims/frame_835A7E8_1.png | Bin 0 -> 140 bytes graphics/door_anims/frame_835A7E8_2.png | Bin 0 -> 138 bytes graphics/door_anims/frame_835A7E8_3.png | Bin 0 -> 107 bytes graphics/door_anims/frame_835A988_1.png | Bin 0 -> 132 bytes graphics/door_anims/frame_835A988_2.png | Bin 0 -> 125 bytes graphics/door_anims/frame_835A988_3.png | Bin 0 -> 103 bytes graphics/door_anims/frame_835AB28_1.png | Bin 0 -> 223 bytes graphics/door_anims/frame_835AB28_2.png | Bin 0 -> 212 bytes graphics/door_anims/frame_835AB28_3.png | Bin 0 -> 192 bytes graphics/door_anims/frame_835AE48_1.png | Bin 0 -> 141 bytes graphics/door_anims/frame_835AE48_2.png | Bin 0 -> 141 bytes graphics/door_anims/frame_835AE48_3.png | Bin 0 -> 119 bytes graphics/door_anims/frame_835B168_1.png | Bin 0 -> 137 bytes graphics/door_anims/frame_835B168_2.png | Bin 0 -> 137 bytes graphics/door_anims/frame_835B168_3.png | Bin 0 -> 115 bytes include/field_camera.h | 1 + include/metatile_behavior.h | 1 - ld_script.txt | 3 +- src/field_door.c | 102 +++++ src/metatile_behavior.c | 37 +- 119 files changed, 675 insertions(+), 197 deletions(-) delete mode 100644 data/metatile_behavior.s create mode 100644 graphics/door_anims/frame_8353088_1.png create mode 100644 graphics/door_anims/frame_8353088_2.png create mode 100644 graphics/door_anims/frame_8353088_3.png create mode 100644 graphics/door_anims/frame_8353228_1.png create mode 100644 graphics/door_anims/frame_8353228_2.png create mode 100644 graphics/door_anims/frame_8353228_3.png create mode 100644 graphics/door_anims/frame_83533C8_1.png create mode 100644 graphics/door_anims/frame_83533C8_2.png create mode 100644 graphics/door_anims/frame_83533C8_3.png create mode 100644 graphics/door_anims/frame_8353568_1.png create mode 100644 graphics/door_anims/frame_8353568_2.png create mode 100644 graphics/door_anims/frame_8353568_3.png create mode 100644 graphics/door_anims/frame_8353708_1.png create mode 100644 graphics/door_anims/frame_8353708_2.png create mode 100644 graphics/door_anims/frame_8353708_3.png create mode 100644 graphics/door_anims/frame_83538A8_1.png create mode 100644 graphics/door_anims/frame_83538A8_2.png create mode 100644 graphics/door_anims/frame_83538A8_3.png create mode 100644 graphics/door_anims/frame_8353A48_1.png create mode 100644 graphics/door_anims/frame_8353A48_2.png create mode 100644 graphics/door_anims/frame_8353A48_3.png create mode 100644 graphics/door_anims/frame_8353BE8_1.png create mode 100644 graphics/door_anims/frame_8353BE8_2.png create mode 100644 graphics/door_anims/frame_8353BE8_3.png create mode 100644 graphics/door_anims/frame_8353D88_1.png create mode 100644 graphics/door_anims/frame_8353D88_2.png create mode 100644 graphics/door_anims/frame_8353D88_3.png create mode 100644 graphics/door_anims/frame_8353F28_1.png create mode 100644 graphics/door_anims/frame_8353F28_2.png create mode 100644 graphics/door_anims/frame_8353F28_3.png create mode 100644 graphics/door_anims/frame_83540C8_1.png create mode 100644 graphics/door_anims/frame_83540C8_2.png create mode 100644 graphics/door_anims/frame_83540C8_3.png create mode 100644 graphics/door_anims/frame_8354268_1.png create mode 100644 graphics/door_anims/frame_8354268_2.png create mode 100644 graphics/door_anims/frame_8354268_3.png create mode 100644 graphics/door_anims/frame_8354408_1.png create mode 100644 graphics/door_anims/frame_8354408_2.png create mode 100644 graphics/door_anims/frame_8354408_3.png create mode 100644 graphics/door_anims/frame_83545A8_1.png create mode 100644 graphics/door_anims/frame_83545A8_2.png create mode 100644 graphics/door_anims/frame_83545A8_3.png create mode 100644 graphics/door_anims/frame_8354748_1.png create mode 100644 graphics/door_anims/frame_8354748_2.png create mode 100644 graphics/door_anims/frame_8354748_3.png create mode 100644 graphics/door_anims/frame_83548E8_1.png create mode 100644 graphics/door_anims/frame_83548E8_2.png create mode 100644 graphics/door_anims/frame_83548E8_3.png create mode 100644 graphics/door_anims/frame_8354A88_1.png create mode 100644 graphics/door_anims/frame_8354A88_2.png create mode 100644 graphics/door_anims/frame_8354A88_3.png create mode 100644 graphics/door_anims/frame_8354C28_1.png create mode 100644 graphics/door_anims/frame_8354C28_2.png create mode 100644 graphics/door_anims/frame_8354C28_3.png create mode 100644 graphics/door_anims/frame_8354F48_1.png create mode 100644 graphics/door_anims/frame_8354F48_2.png create mode 100644 graphics/door_anims/frame_8354F48_3.png create mode 100644 graphics/door_anims/frame_8355268_1.png create mode 100644 graphics/door_anims/frame_8355268_2.png create mode 100644 graphics/door_anims/frame_8355268_3.png create mode 100644 graphics/door_anims/frame_8355588_1.png create mode 100644 graphics/door_anims/frame_8355588_2.png create mode 100644 graphics/door_anims/frame_8355588_3.png create mode 100644 graphics/door_anims/frame_8359588_1.png create mode 100644 graphics/door_anims/frame_8359588_2.png create mode 100644 graphics/door_anims/frame_8359788_1.png create mode 100644 graphics/door_anims/frame_8359788_2.png create mode 100644 graphics/door_anims/frame_8359788_3.png create mode 100644 graphics/door_anims/frame_8359788_4.png create mode 100644 graphics/door_anims/frame_8359988_1.png create mode 100644 graphics/door_anims/frame_8359988_2.png create mode 100644 graphics/door_anims/frame_8359988_3.png create mode 100644 graphics/door_anims/frame_8359988_4.png create mode 100644 graphics/door_anims/frame_8359B88_1.png create mode 100644 graphics/door_anims/frame_8359B88_2.png create mode 100644 graphics/door_anims/frame_8359B88_3.png create mode 100644 graphics/door_anims/frame_8359B88_4.png create mode 100644 graphics/door_anims/frame_8359CA8_1.png create mode 100644 graphics/door_anims/frame_8359CA8_2.png create mode 100644 graphics/door_anims/frame_8359CA8_3.png create mode 100644 graphics/door_anims/frame_8359FC8_1.png create mode 100644 graphics/door_anims/frame_8359FC8_2.png create mode 100644 graphics/door_anims/frame_8359FC8_3.png create mode 100644 graphics/door_anims/frame_835A168_1.png create mode 100644 graphics/door_anims/frame_835A168_2.png create mode 100644 graphics/door_anims/frame_835A168_3.png create mode 100644 graphics/door_anims/frame_835A308_1.png create mode 100644 graphics/door_anims/frame_835A308_2.png create mode 100644 graphics/door_anims/frame_835A308_3.png create mode 100644 graphics/door_anims/frame_835A4A8_1.png create mode 100644 graphics/door_anims/frame_835A4A8_2.png create mode 100644 graphics/door_anims/frame_835A4A8_3.png create mode 100644 graphics/door_anims/frame_835A648_1.png create mode 100644 graphics/door_anims/frame_835A648_2.png create mode 100644 graphics/door_anims/frame_835A648_3.png create mode 100644 graphics/door_anims/frame_835A7E8_1.png create mode 100644 graphics/door_anims/frame_835A7E8_2.png create mode 100644 graphics/door_anims/frame_835A7E8_3.png create mode 100644 graphics/door_anims/frame_835A988_1.png create mode 100644 graphics/door_anims/frame_835A988_2.png create mode 100644 graphics/door_anims/frame_835A988_3.png create mode 100644 graphics/door_anims/frame_835AB28_1.png create mode 100644 graphics/door_anims/frame_835AB28_2.png create mode 100644 graphics/door_anims/frame_835AB28_3.png create mode 100644 graphics/door_anims/frame_835AE48_1.png create mode 100644 graphics/door_anims/frame_835AE48_2.png create mode 100644 graphics/door_anims/frame_835AE48_3.png create mode 100644 graphics/door_anims/frame_835B168_1.png create mode 100644 graphics/door_anims/frame_835B168_2.png create mode 100644 graphics/door_anims/frame_835B168_3.png create mode 100644 src/field_door.c diff --git a/asm/field_door.s b/asm/field_door.s index bcb8a6082..b4541ffaf 100644 --- a/asm/field_door.s +++ b/asm/field_door.s @@ -5,189 +5,6 @@ .text - thumb_func_start sub_805AF14 -sub_805AF14: @ 805AF14 - push {r4-r7,lr} - adds r4, r0, 0 - adds r5, r1, 0 - adds r6, r2, 0 - adds r7, r3, 0 - ldrh r1, [r5, 0x2] - ldr r0, _0805AF34 @ =0x0000ffff - cmp r1, r0 - bne _0805AF38 - adds r0, r4, 0 - adds r1, r6, 0 - adds r2, r7, 0 - bl sub_805AF54 - b _0805AF4E - .align 2, 0 -_0805AF34: .4byte 0x0000ffff -_0805AF38: - ldrh r1, [r5, 0x2] - ldr r0, [r4, 0x4] - adds r0, r1 - bl sub_805AF80 - ldr r3, [r4, 0x8] - adds r0, r4, 0 - adds r1, r6, 0 - adds r2, r7, 0 - bl sub_805AF94 -_0805AF4E: - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_805AF14 - - thumb_func_start sub_805AF54 -sub_805AF54: @ 805AF54 - push {r4,r5,lr} - adds r5, r1, 0 - adds r4, r2, 0 - ldrb r0, [r0, 0x3] - cmp r0, 0 - bne _0805AF6A - adds r0, r5, 0 - adds r1, r4, 0 - bl CurrentMapDrawMetatileAt - b _0805AF7A -_0805AF6A: - adds r0, r5, 0 - adds r1, r4, 0 - bl CurrentMapDrawMetatileAt - subs r1, r4, 0x1 - adds r0, r5, 0 - bl CurrentMapDrawMetatileAt -_0805AF7A: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_805AF54 - - thumb_func_start sub_805AF80 -sub_805AF80: @ 805AF80 - push {lr} - ldr r1, _0805AF90 @ =0x06007f00 - movs r2, 0x40 - bl CpuFastSet - pop {r0} - bx r0 - .align 2, 0 -_0805AF90: .4byte 0x06007f00 - thumb_func_end sub_805AF80 - - thumb_func_start sub_805AF94 -sub_805AF94: @ 805AF94 - push {r4-r6,lr} - sub sp, 0x10 - adds r5, r1, 0 - adds r6, r2, 0 - adds r4, r3, 0 - ldrb r0, [r0, 0x3] - cmp r0, 0 - bne _0805AFB2 - movs r1, 0xFE - lsls r1, 2 - mov r0, sp - adds r2, r4, 0 - bl sub_805AFE8 - b _0805AFD4 -_0805AFB2: - movs r1, 0xFE - lsls r1, 2 - mov r0, sp - adds r2, r4, 0 - bl sub_805AFE8 - subs r1, r6, 0x1 - adds r0, r5, 0 - mov r2, sp - bl sub_805A91C - movs r1, 0xFF - lsls r1, 2 - adds r2, r4, 0x4 - mov r0, sp - bl sub_805AFE8 -_0805AFD4: - adds r0, r5, 0 - adds r1, r6, 0 - mov r2, sp - bl sub_805A91C - add sp, 0x10 - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_805AF94 - - thumb_func_start sub_805AFE8 -sub_805AFE8: @ 805AFE8 - push {r4-r6,lr} - adds r6, r0, 0 - lsls r1, 16 - lsrs r5, r1, 16 - movs r4, 0 - adds r1, r6, 0 -_0805AFF4: - ldrb r0, [r2] - lsls r0, 28 - lsrs r3, r0, 16 - adds r2, 0x1 - adds r0, r5, r4 - orrs r3, r0 - strh r3, [r1] - adds r1, 0x2 - adds r4, 0x1 - cmp r4, 0x3 - ble _0805AFF4 - cmp r4, 0x7 - bgt _0805B022 - lsls r0, r4, 1 - adds r1, r0, r6 -_0805B012: - ldrb r0, [r2] - lsls r3, r0, 12 - adds r2, 0x1 - strh r3, [r1] - adds r1, 0x2 - adds r4, 0x1 - cmp r4, 0x7 - ble _0805B012 -_0805B022: - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_805AFE8 - - thumb_func_start sub_805B028 -sub_805B028: @ 805B028 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - lsls r2, r4, 2 - adds r2, r4 - lsls r2, 3 - ldr r0, _0805B05C @ =gTasks+0x8 - adds r2, r0 - ldrh r1, [r2] - lsls r1, 16 - ldrh r0, [r2, 0x2] - orrs r1, r0 - ldrh r0, [r2, 0x4] - lsls r0, 16 - ldrh r3, [r2, 0x6] - orrs r0, r3 - bl sub_805B060 - cmp r0, 0 - bne _0805B056 - adds r0, r4, 0 - bl DestroyTask -_0805B056: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0805B05C: .4byte gTasks+0x8 - thumb_func_end sub_805B028 - thumb_func_start sub_805B060 sub_805B060: @ 805B060 push {r4-r6,lr} diff --git a/baserom.ips b/baserom.ips index c7c4f9714efde94fbf9491844cff3f48712c5072..7c99bf40b99f70e9ff8d76162b54a0b95c0aa7f0 100644 GIT binary patch delta 36 ncmdnCQexL^u?;1ES+=Jzv9y=8Faj|X5HkZY%l48MR;LL7AlnYL delta 16506 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 literal 0 HcmV?d00001 diff --git a/graphics/door_anims/frame_8353088_2.png b/graphics/door_anims/frame_8353088_2.png new file mode 100644 index 0000000000000000000000000000000000000000..981aaa7fd02e69cab353519f1709f5ad286795dd GIT binary patch literal 124 zcmeAS@N?(olHy`uVBq!ia0vp^0wBx+BpCi@`0fEx&YmugAsjPfPaPCIpuoWzxXV0* zA*wM?d7Eg-g9(2wON&(|T|4{qP~8Qu+S}s0j5L4Rd|-O(&=|RZ_1Hn32Swg{vq?p*JAyp{j_K?Zob`njxgN@xNAACMl2 literal 0 HcmV?d00001 diff --git a/graphics/door_anims/frame_8353228_1.png b/graphics/door_anims/frame_8353228_1.png new file mode 100644 index 0000000000000000000000000000000000000000..2f7b80495da6a698be70d75ff225d776265e4b8c GIT binary patch literal 105 zcmeAS@N?(olHy`uVBq!ia0vp^0wBx+BpCi@`0fEx2A(dCAsjQ4Uo{JdUx0Vhd{=8 My85}Sb4q9e0QSuzS^xk5 literal 0 HcmV?d00001 diff --git a/graphics/door_anims/frame_8353228_3.png b/graphics/door_anims/frame_8353228_3.png new file mode 100644 index 0000000000000000000000000000000000000000..97a87ea4c5c841a7150a5fd2448f1493c44a0509 GIT binary patch literal 103 zcmeAS@N?(olHy`uVBq!ia0vp^0wBx+BpCi@`0fExdY&$hAsjQ4Uo{xW8XqqL+Xirx^mvv4FO#py$B`g2{ literal 0 HcmV?d00001 diff --git a/graphics/door_anims/frame_83533C8_3.png b/graphics/door_anims/frame_83533C8_3.png new file mode 100644 index 0000000000000000000000000000000000000000..97a87ea4c5c841a7150a5fd2448f1493c44a0509 GIT binary patch literal 103 zcmeAS@N?(olHy`uVBq!ia0vp^0wBx+BpCi@`0fExdY&$hAsjQ4UoelF{r5}E*v%r;j5 literal 0 HcmV?d00001 diff --git a/graphics/door_anims/frame_8353568_2.png b/graphics/door_anims/frame_8353568_2.png new file mode 100644 index 0000000000000000000000000000000000000000..93b6e18f597bb00343c9491a25c5ef3aae06180e GIT binary patch literal 130 zcmeAS@N?(olHy`uVBq!ia0vp^0wBx+BpCi@`0fExo}Mm_AsjP9Pi+)DpuofIu-@V1 zj*`Nc=L{GxirwUq&Uv@!mA{a!*h|-!4*wEXvj5c<|9xgXi-5!hmRZe=XIN$>TBI>~ cRd4JPi0Dyr4Vss0b{S;2r>mdKI;Vst0GbObq5uE@ literal 0 HcmV?d00001 diff --git a/graphics/door_anims/frame_8353568_3.png b/graphics/door_anims/frame_8353568_3.png new file mode 100644 index 0000000000000000000000000000000000000000..a4edcdc0b6d6a793a211d56c8cae165fe6a151b4 GIT binary patch literal 102 zcmeAS@N?(olHy`uVBq!ia0vp^0wBx+BpCi@`0fExx}GkMAsjQ4Uo{vq?p*JAyp{j_K?Zob`njxgN@xNAACMl2 literal 0 HcmV?d00001 diff --git a/graphics/door_anims/frame_8353708_1.png b/graphics/door_anims/frame_8353708_1.png new file mode 100644 index 0000000000000000000000000000000000000000..e56c2f31e20468c1e18b8d1321b64ba892a9e785 GIT binary patch literal 144 zcmeAS@N?(olHy`uVBq!ia0vp^0wBx+BpCi@`0fEx;hrvzAsjP(PjBQspuppDG5hic zS>+UQby40)3r{f2Q{7zAHpkF)UDdB?ikGU^_CM-hJdg9skp_PCb=!C5Php)mA;Tdu rz<@O`k;`ZCqtiV~%UVSQEn45!PL6T*6k301KFBIhS3j3^P6PzU ZH!|A&cgZ*u&u0WO+0)g}Wt~$(69D6JDUARC literal 0 HcmV?d00001 diff --git a/graphics/door_anims/frame_8353708_3.png b/graphics/door_anims/frame_8353708_3.png new file mode 100644 index 0000000000000000000000000000000000000000..a4edcdc0b6d6a793a211d56c8cae165fe6a151b4 GIT binary patch literal 102 zcmeAS@N?(olHy`uVBq!ia0vp^0wBx+BpCi@`0fExx}GkMAsjQ4Uo{vq?p*JAyp{j_K?Zob`njxgN@xNAACMl2 literal 0 HcmV?d00001 diff --git a/graphics/door_anims/frame_83538A8_1.png b/graphics/door_anims/frame_83538A8_1.png new file mode 100644 index 0000000000000000000000000000000000000000..117acac1d289e88c641382bf065cdcef8d4784a8 GIT binary patch literal 131 zcmeAS@N?(olHy`uVBq!ia0vp^0wBx+BpCi@`0fExUY;(FAsjPf&ukPtpuofIz(2j| z*efGp=gTBqo9pp=VE7pO!sv4b6Mw<&;$S~k1nhL literal 0 HcmV?d00001 diff --git a/graphics/door_anims/frame_83538A8_2.png b/graphics/door_anims/frame_83538A8_2.png new file mode 100644 index 0000000000000000000000000000000000000000..58aa0d45696af276ce79a386e2f88ac30a0021bc GIT binary patch literal 123 zcmeAS@N?(olHy`uVBq!ia0vp^0wBx+BpCi@`0fExPM$7~AsjQ4E7)1&WM%7ken|Q& zU6ABhDIL)E-j?I>$-BGt5AfXIUH-mN!hvytz=Vg~Nq0UcGjQM8`}+6;?&LeIOboIw VV|b@{wYY;!^>p=fS?83{1OWW+Cu#ry literal 0 HcmV?d00001 diff --git a/graphics/door_anims/frame_83538A8_3.png b/graphics/door_anims/frame_83538A8_3.png new file mode 100644 index 0000000000000000000000000000000000000000..a9f2c98f55c09aa33990ad89e24ceebaeaed6040 GIT binary patch literal 108 zcmeAS@N?(olHy`uVBq!ia0vp^0wBx+BpCi@`0fEx#-1*YAsjQ4E7%$9cvOsIVqy;T zsF%OL$7)=&kY@tJjECH*4Xh44@fyrZ3@JYjNt7>SUmdKI;Vst E06%mbZvX%Q literal 0 HcmV?d00001 diff --git a/graphics/door_anims/frame_8353A48_1.png b/graphics/door_anims/frame_8353A48_1.png new file mode 100644 index 0000000000000000000000000000000000000000..5ea623f10099656274489d8c401411888f261cce GIT binary patch literal 146 zcmeAS@N?(olHy`uVBq!ia0vp^0wBx+BpCi@`0fExk)AG&AsjPJPj3`#FyLrSEK};W z^=0#T$nZ`m*U<6|$C*a~P95uiy?fpewR7rUu^AfneFv^F^FMoL5x;EDgpNlojBY-{ tP19t;w?2```lKH^IdO&efo5Na>vok>9TFFv`SBNInWw9t%Q~loCIA@IHUaDr6PHxbKWg_bzf1g>;A|P>rWmYre8J1az7HLdg c)f>A6BGk&=)eOVdae@r@boFyt=akR{09Yd^)c^nh literal 0 HcmV?d00001 diff --git a/graphics/door_anims/frame_8353A48_3.png b/graphics/door_anims/frame_8353A48_3.png new file mode 100644 index 0000000000000000000000000000000000000000..a4edcdc0b6d6a793a211d56c8cae165fe6a151b4 GIT binary patch literal 102 zcmeAS@N?(olHy`uVBq!ia0vp^0wBx+BpCi@`0fExx}GkMAsjQ4Uo{vq?p*JAyp{j_K?Zob`njxgN@xNAACMl2 literal 0 HcmV?d00001 diff --git a/graphics/door_anims/frame_8353BE8_1.png b/graphics/door_anims/frame_8353BE8_1.png new file mode 100644 index 0000000000000000000000000000000000000000..3b8a603969e1590a35797ea6dd4102f8e2c7797b GIT binary patch literal 140 zcmeAS@N?(olHy`uVBq!ia0vp^0wBx+BpCi@`0fEx!JaOTAsjPp&m81EV8Frb@b9MZ zE=I{l!%tZ%{S4YEE2d4lvVO9zLIT(8r&9v-Hr&kH!LV`GwY#e$KhHlmHN)Q5RwiJo n3wMo#V53X-lwh&^IZ4kMXKe8?uw8g!A;=m}S3j3^P6 Vu-}>nsXPymv7WAeF6*2UngEbTC_exI literal 0 HcmV?d00001 diff --git a/graphics/door_anims/frame_8353BE8_3.png b/graphics/door_anims/frame_8353BE8_3.png new file mode 100644 index 0000000000000000000000000000000000000000..de5e8c3561e6e722df755585f67d26398253bc35 GIT binary patch literal 103 zcmeAS@N?(olHy`uVBq!ia0vp^0wBx+BpCi@`0fExdY&$hAsjQ4BUl+@cz#IoI54CY zyuY_s`bfkE>A44c&oP`{V6fw&q=2MCvbhKY1ADTkq3`u_UXTf%u6{1-oD!M<GS}19&t;ucLK6UFTqY#| literal 0 HcmV?d00001 diff --git a/graphics/door_anims/frame_8353D88_2.png b/graphics/door_anims/frame_8353D88_2.png new file mode 100644 index 0000000000000000000000000000000000000000..405f027b09f0cf80d8cff97a53f9c30828ba7cad GIT binary patch literal 130 zcmeAS@N?(olHy`uVBq!ia0vp^0wBx+BpCi@`0fExo}Mm_AsjQ44Ys{uXgYa}r=TrU zrNhv421D|*Gcz6B?wsz6Tpf0{noEe$=z!AP)eDpq*aD8+5IVvTeUUY>q~XfCS1%GG cSXm3$7z|ULxM%0Dn*lQ1)78&qol`;+0E+l3J^%m! literal 0 HcmV?d00001 diff --git a/graphics/door_anims/frame_8353D88_3.png b/graphics/door_anims/frame_8353D88_3.png new file mode 100644 index 0000000000000000000000000000000000000000..052c556069fa55aa4d0ff7ea565206380edcb427 GIT binary patch literal 95 zcmeAS@N?(olHy`uVBq!ia0vp^0wBx+BpCi@`0fExYMw5RAsjQ4UoQn rD;JA|l~wpcNOq4hG2?UongR__TcQ{9!YM)hK= sX`%D=!w)Yw%=YGZqGoke@p|oZW|nD|7gpx+hk)$zboFyt=akR{01HtuBme*a literal 0 HcmV?d00001 diff --git a/graphics/door_anims/frame_8353F28_2.png b/graphics/door_anims/frame_8353F28_2.png new file mode 100644 index 0000000000000000000000000000000000000000..2337f80df9ed786f115490c999b1b3630972d306 GIT binary patch literal 133 zcmeAS@N?(olHy`uVBq!ia0vp^0wBx+BpCi@`0fExKAtX)AsjPf&u$bvpuofIu%4mE zr#bqPfIowj^5mmsK3pMxJzG~~vPh)7*lDq2I`j9>%9a(e@rOA$+_)A%qDmnw-|=8DYF;a@&~;BFuMW9} o`u7}g>gP~#TcQzJv(V)!>({Hko)Ndb>p}K-y85}Sb4q9e0J%#r%K!iX literal 0 HcmV?d00001 diff --git a/graphics/door_anims/frame_83540C8_2.png b/graphics/door_anims/frame_83540C8_2.png new file mode 100644 index 0000000000000000000000000000000000000000..b23db61c5cf58878a1696bc493d1204baa4588f0 GIT binary patch literal 125 zcmeAS@N?(olHy`uVBq!ia0vp^0wBx+BpCi@`0fExE}kxqAsjPfPZ4Pa zWfq%lW8Uk7O?)CJ*WcT4LU?nYp7^)suvfSDU6|^5@_D0p20PaoCS3!*G{))Ck5rz- X38sf6eQ>>e17xnJtDnm{r-UW|`$j6u literal 0 HcmV?d00001 diff --git a/graphics/door_anims/frame_83540C8_3.png b/graphics/door_anims/frame_83540C8_3.png new file mode 100644 index 0000000000000000000000000000000000000000..8870077b3ac4821263613ca366b039466e418d3b GIT binary patch literal 103 zcmeAS@N?(olHy`uVBq!ia0vp^0wBx+BpCi@`0fExdY&$hAsjQ4XK*rVOMWm8V`QAM zvFiJ~y9&qF+HUV%*TboFyt=akR{06SbB AZvX%Q literal 0 HcmV?d00001 diff --git a/graphics/door_anims/frame_8354268_1.png b/graphics/door_anims/frame_8354268_1.png new file mode 100644 index 0000000000000000000000000000000000000000..5a09abac07ef0c2552a4e30b14107eeb4be85a1f GIT binary patch literal 138 zcmeAS@N?(olHy`uVBq!ia0vp^0wBx+BpCi@`0fExfu1goAsjP9PaPC(P~c&{pcna? zMYgdgp^z!1<=mlwZA|RNzw|k0b{cF6bgFdjm(N+)w>l@mU*q$c1MR}+kK`tJmYA!o ks@Aw*dsU;`Lpi>Zk+;V&(B|U$T_8(5UHx3vIVCg!0ItL>ZvX%Q literal 0 HcmV?d00001 diff --git a/graphics/door_anims/frame_8354268_2.png b/graphics/door_anims/frame_8354268_2.png new file mode 100644 index 0000000000000000000000000000000000000000..e46d8b0afe4a42832fd389ce2073bc2430587ef1 GIT binary patch literal 130 zcmeAS@N?(olHy`uVBq!ia0vp^0wBx+BpCi@`0fExo}Mm_AsjPfPafnwpuppNQ76*S z^C-szPN^9TdpNQMCs+o|pZ7=g_dfMmIV}aw{HK06T2F3Tv0=JHQ~-mnkVoIH3w#Ni cy5pJhm?U4iAE}Vtz7k}(r>mdKI;Vst04T00rvLx| literal 0 HcmV?d00001 diff --git a/graphics/door_anims/frame_8354268_3.png b/graphics/door_anims/frame_8354268_3.png new file mode 100644 index 0000000000000000000000000000000000000000..97a87ea4c5c841a7150a5fd2448f1493c44a0509 GIT binary patch literal 103 zcmeAS@N?(olHy`uVBq!ia0vp^0wBx+BpCi@`0fExdY&$hAsjQ4Uo`3U l%x8pi7uGL08T?GO=dRHT&+CDkYTQ7Uc)I$ztaD0e0suKuFUCkh!R66A+mr(;u_d7qu2cBKCO&n@m)`Wzopr0J8umrT_o{ literal 0 HcmV?d00001 diff --git a/graphics/door_anims/frame_83545A8_1.png b/graphics/door_anims/frame_83545A8_1.png new file mode 100644 index 0000000000000000000000000000000000000000..46de34aafb9fe1c8da4e8e47e478f32212e3a192 GIT binary patch literal 122 zcmeAS@N?(olHy`uVBq!ia0vp^0wBx+BpCi@`0fExj-D=#AsjQ4GlDL?c)=jVGovRh zxx0@~!BJ$fsmY?n%pMJ{R*6cR9h4mI?BqJ~;>C*@Te&<8O4czoi}I{qz;KR%VMCNf Th?1^_2FOrPS3j3^P64^Kskk z>hAvh%t^6?V{1asuIM=zs?l?eW5JnK*ElAe&{@F|z^1~K-e9sm>gvUV43C%(agTe~DWM4fU(+bb literal 0 HcmV?d00001 diff --git a/graphics/door_anims/frame_83545A8_3.png b/graphics/door_anims/frame_83545A8_3.png new file mode 100644 index 0000000000000000000000000000000000000000..f2de21913f27ebbfd9b20229f9bc2b94ca421f32 GIT binary patch literal 105 zcmeAS@N?(olHy`uVBq!ia0vp^0wBx+BpCi@`0fEx2A(dCAsjQ4UoHJo6OT)lwd90LPqq3=A8i&Gzf%< zsn*27pRoDV$Ej*>I$zVw0u8{tyPL|K{k52`njxgN@xNAyU{sj literal 0 HcmV?d00001 diff --git a/graphics/door_anims/frame_8354748_2.png b/graphics/door_anims/frame_8354748_2.png new file mode 100644 index 0000000000000000000000000000000000000000..f6b3644b847ae8e0b38b58a89201cb7312c6c4f5 GIT binary patch literal 129 zcmeAS@N?(olHy`uVBq!ia0vp^0wBx+BpCi@`0fEx9-c0aAsjPvPjBR9P~>sGIK?F8 zUC5c@1{|zYmkv bPL_b$@0-Hbmlv*G0W#au)z4*}Q$iB}PSq** literal 0 HcmV?d00001 diff --git a/graphics/door_anims/frame_8354748_3.png b/graphics/door_anims/frame_8354748_3.png new file mode 100644 index 0000000000000000000000000000000000000000..eec2567a1125ac48f15b5bf7ecbee3caa554bb15 GIT binary patch literal 103 zcmeAS@N?(olHy`uVBq!ia0vp^0wBx+BpCi@`0fExdY&$hAsjQ4E7%!pcz#IoI54Dr zxVN`j{76NC_}qit=NL{eFsQgFDIlrvSWkq3VG(=mPv&E*IzT3Py85}Sb4q9e01M9@ Ae*gdg literal 0 HcmV?d00001 diff --git a/graphics/door_anims/frame_83548E8_1.png b/graphics/door_anims/frame_83548E8_1.png new file mode 100644 index 0000000000000000000000000000000000000000..22566a901439ed2f54fbde8e02ab2005a477586e GIT binary patch literal 150 zcmeAS@N?(olHy`uVBq!ia0vp^0wBx+BpCi@`0fExv7RoDAsjPv&mQD$P~c&`u>U`s z>A~F+5)O;18&;MZma#<}%zLx2vi*N_h`dWz|Br)vy54jvNd_Icx=~YS@sC65tP3uz xC~yc1DLONAi=AX!+037{7ZsJx>?$ap{g`o)N>Wrw@xelng`Tc{F6*2UngCa_I9&h$ literal 0 HcmV?d00001 diff --git a/graphics/door_anims/frame_83548E8_2.png b/graphics/door_anims/frame_83548E8_2.png new file mode 100644 index 0000000000000000000000000000000000000000..35f772671450d91818bbef76c6f3fec0fb5275dc GIT binary patch literal 131 zcmeAS@N?(olHy`uVBq!ia0vp^0wBx+BpCi@`0fExUY;(FAsjQ4E4F@<6}S_1yy0ZU zUhyM4_VPbUb~gqmfoJ$aGIvKbLh*2~7Y*vMnh9 literal 0 HcmV?d00001 diff --git a/graphics/door_anims/frame_83548E8_3.png b/graphics/door_anims/frame_83548E8_3.png new file mode 100644 index 0000000000000000000000000000000000000000..226fe6bb044f6298cfeca8e75b8cf7bb1ed172c0 GIT binary patch literal 90 zcmeAS@N?(olHy`uVBq!ia0vp^0wBx+BpCi@`0fExik>cxAsjQ4E7)0iM2saI8u&Xu mKG5U1AsjQ4Uore1 uj)^hlm`(|s3)@UX?zxOp9h25Lr86)XJ@l(k6+RjT((LK#=d#Wzp$Pyg!WicO literal 0 HcmV?d00001 diff --git a/graphics/door_anims/frame_8354C28_1.png b/graphics/door_anims/frame_8354C28_1.png new file mode 100644 index 0000000000000000000000000000000000000000..cd6285a64389e94d3d66892c1b2a4b8375ea6e5e GIT binary patch literal 130 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<50wfrI3wa3wDNj!q#}J9B$rbFZJVzLIBqeJk z?BHhQ*%+=UaIiu9-HR7{zkhRcXBTs;tbDt7`}NbOUmiU0tY=^O`#1*4_xJYht^O`| eVP(Pl0}>2tyk?r*;QVzGWVolRpUXO@geCyezc4lc literal 0 HcmV?d00001 diff --git a/graphics/door_anims/frame_8354C28_2.png b/graphics/door_anims/frame_8354C28_2.png new file mode 100644 index 0000000000000000000000000000000000000000..11a1c36e00d3e0981fbc498a720523b93fb4a83e GIT binary patch literal 127 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<50wfrI3wa3wDK}3S#}J9B$rbFZJVzLIBqeJk z?BHhQ*%+=UaIiu9T?O}|cclr5Q=BE9Zb{g)xB9!B(PHL9FC3EgFdN=0HE75X;C?78 Z!OS4Vw^2q+baDj9WKUN=mvv4FO#t_?B%A;M literal 0 HcmV?d00001 diff --git a/graphics/door_anims/frame_8354C28_3.png b/graphics/door_anims/frame_8354C28_3.png new file mode 100644 index 0000000000000000000000000000000000000000..c0d626d068c3648bca97daf5ccd472fb5489052a GIT binary patch literal 104 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<50wfrI3wa3wDSb~D#}J9B$rbFZJVzLIBqeJk z?BHhQ*%+=UaIisJPU2Yfio*guyI=HdmjIGH3?hyPuAW?T8)O!Pr>mdKI;Vst0Lb{fxIrQvyDB#!l%5$jV(>q-s74c&`xKnMKjTF2Z cdUgjeFm(Uj_@wx9fF;OqPgg&ebxsLQ02IR}&;S4c literal 0 HcmV?d00001 diff --git a/graphics/door_anims/frame_8355268_1.png b/graphics/door_anims/frame_8355268_1.png new file mode 100644 index 0000000000000000000000000000000000000000..d752d94ef640b08e3b60e8b8e49b81693ada6f71 GIT binary patch literal 137 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<50wfrI3wa3wsQ^zG#}J9B$rjA4Ji8Y%$Sd=5 zNt{~9aIj%@qjbeLJ{Bd3_X`>t8ymmhyUoqR!_l^2!JEC?#aUTj9(33=_x;`7><+K) l?%rPh{vNZ{8$FQ&k_@&Bd;UB#OPmCtAL@4OI^K}L;Uv)%l49fSecCy7&)(|qauW_RBr@dI kvnTCozL0P&R-?g~L8ohr&$QKNO+j{ey85}Sb4q9e0EvMrq5uE@ literal 0 HcmV?d00001 diff --git a/graphics/door_anims/frame_8355268_3.png b/graphics/door_anims/frame_8355268_3.png new file mode 100644 index 0000000000000000000000000000000000000000..19a595cd0d340cab81c835fb4ceeb93265785579 GIT binary patch literal 115 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<50wfrI3wa3wDJxGG#}J9B$rjA4Ji8Y%$Sd=5 zNt{~9aIj%@qjbeLJ{Bd3_X`^IdeQ@yD@kOQA7nUKF|GUDj%x8|^|AhiGh literal 0 HcmV?d00001 diff --git a/graphics/door_anims/frame_8355588_1.png b/graphics/door_anims/frame_8355588_1.png new file mode 100644 index 0000000000000000000000000000000000000000..b8ee1eb421ab9c2ea5cb2afd95bc1502e77801d3 GIT binary patch literal 177 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<50wfrI3wa3wsR~aQ#}J9By=ONHHXHD?CiXU% zcerMm&ok5Bz*O$Dpv~@NY)0`l9*&ocysY(K=jz=4;#9)UylaNWqHiDfsrM;gJ)`+_ z)5DVv@jn@_FfeaEX_(qIxA5hOkN*o7=x|Az$l;iz1_MJN W-}&kLs-l`frh2;ixvX#Xb6Mw<&;$UoLme6b literal 0 HcmV?d00001 diff --git a/graphics/door_anims/frame_8359788_3.png b/graphics/door_anims/frame_8359788_3.png new file mode 100644 index 0000000000000000000000000000000000000000..f103be5a1386113ba2200facc1fa4ce28d6a97c2 GIT binary patch literal 88 zcmeAS@N?(olHy`uVBq!ia0vp^0zk~c0wfp&-k$XWQu3ZIjv*W~lPlO+dGg;k9kgX( k)?-x?nJV&Cfk!llhaovhk8xH^Zw5$mdKI;Vst0O0ErSpWb4 literal 0 HcmV?d00001 diff --git a/graphics/door_anims/frame_8359788_4.png b/graphics/door_anims/frame_8359788_4.png new file mode 100644 index 0000000000000000000000000000000000000000..36f6cf135efeeb0618ffa5b361593f8a42f3c85d GIT binary patch literal 80 zcmeAS@N?(olHy`uVBq!ia0vp^0zk~c0wfp&-k$XWQsSO2jv*W~lPlO+dGg;k9kgX( c)^lZHX3+U+HQDxeqCH5dr>mdKI;Vst09pPK@&Et; literal 0 HcmV?d00001 diff --git a/graphics/door_anims/frame_8359988_1.png b/graphics/door_anims/frame_8359988_1.png new file mode 100644 index 0000000000000000000000000000000000000000..75a43b9fbc9c0c0e7dadb34307b0c39547861206 GIT binary patch literal 104 zcmeAS@N?(olHy`uVBq!ia0vp^0zk~c0wfp&-k$XWQu>}Qjv*W~lPgXvU}52^;o+B@ zvNk-|E%m@s5eW&2hMw&P$4;{cth~-I!ph1j`hy{km;dL@OVbm-vG`-7phe_CI*Fs2(=ioG$=8=SSH2!xcAT*kWrql KelF{r5}E+{R3zpA literal 0 HcmV?d00001 diff --git a/graphics/door_anims/frame_8359988_3.png b/graphics/door_anims/frame_8359988_3.png new file mode 100644 index 0000000000000000000000000000000000000000..d7abc49baaace058a2b29dc170f2422790c3d012 GIT binary patch literal 102 zcmeAS@N?(olHy`uVBq!ia0vp^0zk~c0wfp&-k$XWQo5cljv*W~lPlO+_@|0|m1y|# zx|UzDr+oLqp6&1D93{#{L=$;B9&Jxwpd`S?@Rv>Pk$}VrVUPiyu6{1-oD!M<)PEc* literal 0 HcmV?d00001 diff --git a/graphics/door_anims/frame_8359988_4.png b/graphics/door_anims/frame_8359988_4.png new file mode 100644 index 0000000000000000000000000000000000000000..1af99db238499b12ffbba4799f0be74abf82ac91 GIT binary patch literal 90 zcmeAS@N?(olHy`uVBq!ia0vp^0zk~c0wfp&-k$XWQi`4~jv*W~lPlO+c~10fFMoe; nFMHY?%VM@OJDSfioK!Gmkltp|Vo{V?1=8f{>gTe~DWM4fpd}cm literal 0 HcmV?d00001 diff --git a/graphics/door_anims/frame_8359B88_1.png b/graphics/door_anims/frame_8359B88_1.png new file mode 100644 index 0000000000000000000000000000000000000000..a5208db18dec0cea5330f67af2b3e36ab139c709 GIT binary patch literal 105 zcmeAS@N?(olHy`uVBq!ia0vp^0zk~c0wfp&-k$XWQU;zbjv*W~lPmr@aB_(JkchJn zNJvOvFuHe8f?sk$5Wl1dD=X_n$@dEy9=?q=*ul=Q>AYm^+joIwATvB&{an^LB{Ts5 D>|h-y literal 0 HcmV?d00001 diff --git a/graphics/door_anims/frame_8359B88_2.png b/graphics/door_anims/frame_8359B88_2.png new file mode 100644 index 0000000000000000000000000000000000000000..e3ecef0fe4fc9cb4f5dd6b3f82d27de7a2ff5614 GIT binary patch literal 109 zcmeAS@N?(olHy`uVBq!ia0vp^0zk~c0wfp&-k$XWQYM}*jv*W~O^bP0 Hl+XkKtk)m@ literal 0 HcmV?d00001 diff --git a/graphics/door_anims/frame_8359B88_3.png b/graphics/door_anims/frame_8359B88_3.png new file mode 100644 index 0000000000000000000000000000000000000000..d4be7a81fb7d3359e985f49a8f7d5d57f97bca4e GIT binary patch literal 109 zcmeAS@N?(olHy`uVBq!ia0vp^0zk~c0wfp&-k$XWQYM}*jv*W~lPkWzJ2$i3tE-Af z;n>V}g=4pk)6dOmHaus;V)U*-;(0=kaTQO3gTe~ HDWM4fPTwKH literal 0 HcmV?d00001 diff --git a/graphics/door_anims/frame_8359B88_4.png b/graphics/door_anims/frame_8359B88_4.png new file mode 100644 index 0000000000000000000000000000000000000000..4ba80f9981c898e52abb42b85afcb34ed957cb2b GIT binary patch literal 89 zcmeAS@N?(olHy`uVBq!ia0vp^0zk~c0wfp&-k$XWQVO0fjv*W~lPkWzJ142I<9I{D m9^2+~JDSfmoM4blU%b`^-NROwhpUXO@geCyQxfw

literal 0 HcmV?d00001 diff --git a/graphics/door_anims/frame_8359CA8_2.png b/graphics/door_anims/frame_8359CA8_2.png new file mode 100644 index 0000000000000000000000000000000000000000..800bb92c455f53af0817feaee1c1eec7a787cd76 GIT binary patch literal 139 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<50wfrI3wa3wsUS}m#}J9B$v1dec~&oAkUuQJ zC7`4iaDc)5Igg0JoW0DA9LKCR5)vx77rir7kZ2NUQxKIrf9cYv0LlFK_x7@<7&u5c m+`iu^@m|4XMyWX010III_8WMNXB6v$Z1HsUb6Mw<&;$T!K`7Dy literal 0 HcmV?d00001 diff --git a/graphics/door_anims/frame_8359CA8_3.png b/graphics/door_anims/frame_8359CA8_3.png new file mode 100644 index 0000000000000000000000000000000000000000..e2f16ef25236bebf94276de57fa952bd7881117e GIT binary patch literal 117 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<50wfrI3wa3wDH~50#}J9B$v1dec~&oAkUuQJ zC7`4iaDc)5Igg0JoW0DA9LKCR7H~g~l#);|y!5V#vFW3Z_}s$pdQ!{`!kdq)w`FF4 PjAQV0^>bP0l+XkK`LrI% literal 0 HcmV?d00001 diff --git a/graphics/door_anims/frame_8359FC8_1.png b/graphics/door_anims/frame_8359FC8_1.png new file mode 100644 index 0000000000000000000000000000000000000000..9428b111a72f7c1d3acd4d19289f2a249dd79119 GIT binary patch literal 132 zcmeAS@N?(olHy`uVBq!ia0vp^0wBx+BpCi@`0fEx-kvUwAsjP9&u-*pP~>4g@W#Gt zf4_i#Z%|6>{in&ytn2*zRHO|yUE=)^8QIany*|I@9^aoit1cD0E|4sG_{RQ( z=n{WH8^?2B&oVnYdfZt*FDKKOL66fo`hxtga>x6-rm)H!X_{1Hro{Mci=f`mGcggo X)f-~=-$-CM1~S*v)z4*}Q$iB}eH$pV literal 0 HcmV?d00001 diff --git a/graphics/door_anims/frame_8359FC8_3.png b/graphics/door_anims/frame_8359FC8_3.png new file mode 100644 index 0000000000000000000000000000000000000000..467c04f7f7be4732e988ce2538163346fc563b07 GIT binary patch literal 103 zcmeAS@N?(olHy`uVBq!ia0vp^0wBx+BpCi@`0fExdY&$hAsjQ4BUl-COMEacV`iMO z@%fpV#tO$?8NcYUeZjMVhbx)iidl&{Wlkd#Lq|dEyx0G`%0VW0y85}Sb4q9e02cop A@c;k- literal 0 HcmV?d00001 diff --git a/graphics/door_anims/frame_835A168_1.png b/graphics/door_anims/frame_835A168_1.png new file mode 100644 index 0000000000000000000000000000000000000000..f23474512d40b8c8e1d1ae68b2d913712920a167 GIT binary patch literal 121 zcmeAS@N?(olHy`uVBq!ia0vp^0wBx+BpCi@`0fEx4xTQKAsjQ4GlDL?c)=jVQz3Eo zn3$}rLz9Wy`I*A9a~+x%et*~77wN!s4v*}6e z?&~`@^Q>6Hu{EI?J?BDS^h74Oo#zx-{G7%4J@0}utL{m2uz7r56)G#sqhKenCLw~A YmBH<`^AaIj`)H8Kp00i_>zopr0Qt3(~#o@Q}I&p#iY*Cik$JYD@<);T3K0RTGo B9Wwv` literal 0 HcmV?d00001 diff --git a/graphics/door_anims/frame_835A308_1.png b/graphics/door_anims/frame_835A308_1.png new file mode 100644 index 0000000000000000000000000000000000000000..c11c06156efbcc2a519d33772a18368d9077bf26 GIT binary patch literal 128 zcmeAS@N?(olHy`uVBq!ia0vp^0wBx+BpCi@`0fEx?w&4=AsjQ4GcLVgXj0>CQ&Uyo z_DD!Hk&Z4YVc=XOv38-LtgHjmnHMaEQ86}FX^fl`Jf3S!;J9!sa&-fX^K&hOh=Uur axES_bHrsP&+xb->qdi^yT-G@yGywqbKqc@1 literal 0 HcmV?d00001 diff --git a/graphics/door_anims/frame_835A308_2.png b/graphics/door_anims/frame_835A308_2.png new file mode 100644 index 0000000000000000000000000000000000000000..3d825f587d522452249e57e921aa9a653b4d1ff8 GIT binary patch literal 130 zcmeAS@N?(olHy`uVBq!ia0vp^0wBx+BpCi@`0fExo}Mm_AsjQ4GcLVgXj0>4v*}6e z?&~`@^Q>6Hu{EI?J?BC-daiLSIJ4>+2g~B4%o>|l0STrg23Ln!;cH*LNMQKbn812i bOM`*o`YDGUMFuI#Aj3Uf{an^LB{Ts5sn06j literal 0 HcmV?d00001 diff --git a/graphics/door_anims/frame_835A308_3.png b/graphics/door_anims/frame_835A308_3.png new file mode 100644 index 0000000000000000000000000000000000000000..e87798cd2de056662d621ee3cdd308fa54fc181b GIT binary patch literal 104 zcmeAS@N?(olHy`uVBq!ia0vp^0wBx+BpCi@`0fEx`kpS1AsjQ4Uot3(~#o@Q}I&p#iY*Cik$JYD@<);T3K0RTGo B9Wwv` literal 0 HcmV?d00001 diff --git a/graphics/door_anims/frame_835A4A8_1.png b/graphics/door_anims/frame_835A4A8_1.png new file mode 100644 index 0000000000000000000000000000000000000000..9428b111a72f7c1d3acd4d19289f2a249dd79119 GIT binary patch literal 132 zcmeAS@N?(olHy`uVBq!ia0vp^0wBx+BpCi@`0fEx-kvUwAsjP9&u-*pP~>4g@W#Gt zf4_i#Z%|6>{in&ytn2*zRHO|yUE=)^8QIany*|I@9^aoit1cD0E|4sG_{RQ( z=n{WH8^?2B&oVnYdfZt*FDKKOL66fo`hxtga>x6-rm)H!X_{1Hro{Mci=f`mGcggo X)f-~=-$-CM1~S*v)z4*}Q$iB}eH$pV literal 0 HcmV?d00001 diff --git a/graphics/door_anims/frame_835A4A8_3.png b/graphics/door_anims/frame_835A4A8_3.png new file mode 100644 index 0000000000000000000000000000000000000000..467c04f7f7be4732e988ce2538163346fc563b07 GIT binary patch literal 103 zcmeAS@N?(olHy`uVBq!ia0vp^0wBx+BpCi@`0fExdY&$hAsjQ4BUl-COMEacV`iMO z@%fpV#tO$?8NcYUeZjMVhbx)iidl&{Wlkd#Lq|dEyx0G`%0VW0y85}Sb4q9e02cop A@c;k- literal 0 HcmV?d00001 diff --git a/graphics/door_anims/frame_835A648_1.png b/graphics/door_anims/frame_835A648_1.png new file mode 100644 index 0000000000000000000000000000000000000000..7cac61ead5b42f8893b9a96652175a902330c7af GIT binary patch literal 144 zcmeAS@N?(olHy`uVBq!ia0vp^0wBx+BpCi@`0fEx;hrvzAsjPJ&ukPupuoWr5O#t0 zNY|z3lcrw^IU+bi)!Fqz%-8#}{7i09flTiXwVD^bmbPV`cd7hy-=D?vJb%b=dpn4) rN^Vk>^K*V+WNfi)=afAWftx1t-#u!<-l%!zHOMMYS3j3^P6i literal 0 HcmV?d00001 diff --git a/graphics/door_anims/frame_835A648_2.png b/graphics/door_anims/frame_835A648_2.png new file mode 100644 index 0000000000000000000000000000000000000000..618b958b96bbda6d81f8ab74fdf6a59df9affd97 GIT binary patch literal 130 zcmeAS@N?(olHy`uVBq!ia0vp^0wBx+BpCi@`0fExo}Mm_AsjPfPj2KrV8G!L7}n7H zSZmA54eAQ!Zff0}Zqq)kUT$rb&b~QtLFb=?o&P)(#rLj{5#dfgY_HJ}_Thko536}s cdRog>?zU$RE*H3#9|ali>FVdQ&MBb@0ExaUg8%>k literal 0 HcmV?d00001 diff --git a/graphics/door_anims/frame_835A648_3.png b/graphics/door_anims/frame_835A648_3.png new file mode 100644 index 0000000000000000000000000000000000000000..28942389b3fa3c0ec08dbed2f586ab7c92d51a1f GIT binary patch literal 103 zcmeAS@N?(olHy`uVBq!ia0vp^0wBx+BpCi@`0fExdY&$hAsjQ4UoS^|rUMXi#>teAD056x&j*KmSCa`gfRhJ~#@aqdpKNgxwEUHx3vIVCg!043!e AQ2+n{ literal 0 HcmV?d00001 diff --git a/graphics/door_anims/frame_835A7E8_1.png b/graphics/door_anims/frame_835A7E8_1.png new file mode 100644 index 0000000000000000000000000000000000000000..2b51bba5fc5f502c0c7445e043ad68d4ad8d356d GIT binary patch literal 140 zcmeAS@N?(olHy`uVBq!ia0vp^0wBx+BpCi@`0fEx!JaOTAsjQ4BZ{A0SrzKgl=${; z^y)B1&Nf%CCBsu%QJO?T)CT^;t;l37LK h+8oB_V4m~^3=D2JePe%q`(6gJ#?#f$Wt~$(695RQE!hA7 literal 0 HcmV?d00001 diff --git a/graphics/door_anims/frame_835A7E8_2.png b/graphics/door_anims/frame_835A7E8_2.png new file mode 100644 index 0000000000000000000000000000000000000000..b29303c1bc69e35996b90665dab1b245f88935ce GIT binary patch literal 138 zcmeAS@N?(olHy`uVBq!ia0vp^0wBx+BpCi@`0fExfu1goAsjPf&m81EV8Frb@GQ~f z*rSQ;jhwSM1%wTJ6}v>X*3C`1xj;{}bVE)AQ*yH)n<-oFndb>d`Hl5vRPE!s(cWsc kWzDl@Irol+V|~tZ_Be}$)!voRxCpYu)78&qol`;+0Bn6M@Bjb+ literal 0 HcmV?d00001 diff --git a/graphics/door_anims/frame_835A7E8_3.png b/graphics/door_anims/frame_835A7E8_3.png new file mode 100644 index 0000000000000000000000000000000000000000..55e1b2db9aee2f9e0cb27207836736ea98f2c667 GIT binary patch literal 107 zcmeAS@N?(olHy`uVBq!ia0vp^0wBx+BpCi@`0fExMxHK?AsjQ4BUo8^en_q^e}8W; z_mLaL&(6#YKGAbE{eoom1<3?Skz;Zi$!8@s9`lGWFckfdT^-S)GYe#jr>mdKI;Vst E02g^7qyPW_ literal 0 HcmV?d00001 diff --git a/graphics/door_anims/frame_835A988_1.png b/graphics/door_anims/frame_835A988_1.png new file mode 100644 index 0000000000000000000000000000000000000000..9428b111a72f7c1d3acd4d19289f2a249dd79119 GIT binary patch literal 132 zcmeAS@N?(olHy`uVBq!ia0vp^0wBx+BpCi@`0fEx-kvUwAsjP9&u-*pP~>4g@W#Gt zf4_i#Z%|6>{in&ytn2*zRHO|yUE=)^8QIany*|I@9^aoit1cD0E|4sG_{RQ( z=n{WH8^?2B&oVnYdfZt*FDKKOL66fo`hxtga>x6-rm)H!X_{1Hro{Mci=f`mGcggo X)f-~=-$-CM1~S*v)z4*}Q$iB}eH$pV literal 0 HcmV?d00001 diff --git a/graphics/door_anims/frame_835A988_3.png b/graphics/door_anims/frame_835A988_3.png new file mode 100644 index 0000000000000000000000000000000000000000..467c04f7f7be4732e988ce2538163346fc563b07 GIT binary patch literal 103 zcmeAS@N?(olHy`uVBq!ia0vp^0wBx+BpCi@`0fExdY&$hAsjQ4BUl-COMEacV`iMO z@%fpV#tO$?8NcYUeZjMVhbx)iidl&{Wlkd#Lq|dEyx0G`%0VW0y85}Sb4q9e02cop A@c;k- literal 0 HcmV?d00001 diff --git a/graphics/door_anims/frame_835AB28_1.png b/graphics/door_anims/frame_835AB28_1.png new file mode 100644 index 0000000000000000000000000000000000000000..73f90730c1aceb7b61958ff5625cb59300ee2c1a GIT binary patch literal 223 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<50wfrI3wa3wsb!unjv*3LL(kZ99dZz8d$=-) z?Q%rdGo5Q?+om<%N#Qsc#1W_PX5N8Vet{3lxmW>1!k{?9s8L3`*Z`I79`AOy%1WNo8M#DAbaJ=#+QqqYb`2p z+2C;c%}3u!Yj^)VRc*ko-Cc7eb@u{MR<{T`YyhiGO(vO5T#ijnCr6yfM zKK#D7qSCT?B}27CHGCZyuP_u=v+2pQFVGY`xR7B%_9?SF9UKB|JFiCFyEyfe;7yjg zBgr%UKm2iy+IjwPjLqkV(lbBs-^qE$u2XeF;I7$5-Mi%*Yoqouh%&62WIiXj1ms*# LS3j3^P6gTe~DWM4f0r*U< literal 0 HcmV?d00001 diff --git a/graphics/door_anims/frame_835AE48_1.png b/graphics/door_anims/frame_835AE48_1.png new file mode 100644 index 0000000000000000000000000000000000000000..6d9956306e907ce3f6ea0c1198f0f792092e6d7d GIT binary patch literal 141 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<50wfrI3wa3wsSr;W#}J9B$rjA4Ji8Y%$S-E* zl1Ou6Jj~PKpzg$b=fLK21%ZPV?5sRIJbS+1i%UpwFkoR#eZP0FhK2_}+oZQO@9)_% o1iinvcW?D~xeJNq3mMKaFl_qMzcufe*fo$np00i_>zopr0M`;MkN^Mx literal 0 HcmV?d00001 diff --git a/graphics/door_anims/frame_835AE48_2.png b/graphics/door_anims/frame_835AE48_2.png new file mode 100644 index 0000000000000000000000000000000000000000..62b93f79e2adb3355070f96333fe74b3bfc6021d GIT binary patch literal 141 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<50wfrI3wa3wsSr;W#}J9B$rjA4Ji8Y%$S-E* zl1Ou6Jj~PKpzg$b=fLK21%ZPV?5sRI`Hoj?*;t$f4hbw#dK?)QC8zcH?cLqq8+h0_ om@|G`3p|!>VcY!9iE$1i!@{TASzAK`EkO2oy85}Sb4q9e06tqM(f|Me literal 0 HcmV?d00001 diff --git a/graphics/door_anims/frame_835AE48_3.png b/graphics/door_anims/frame_835AE48_3.png new file mode 100644 index 0000000000000000000000000000000000000000..a980732357d7674dd66648d4a9c38461d90d091c GIT binary patch literal 119 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<50wfrI3wa3wDLYRW#}J9B$rjA4Ji8Y%$S-E* zl1Ou6Jj~PKpzg$b=fLK21%ZPV?5rh;Hr~w4DsH!84IB*SJzZq{?w)Hh1H%rla|$y5 Rq|!kqdb;|#taD0e0ssmjA65VW literal 0 HcmV?d00001 diff --git a/graphics/door_anims/frame_835B168_1.png b/graphics/door_anims/frame_835B168_1.png new file mode 100644 index 0000000000000000000000000000000000000000..7c75282d6cf5473a15c3de8d2b7b0a10cb80fdb8 GIT binary patch literal 137 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<50wfrI3wa3wsQ^zG#}J9B$r|lUY(8z=A_;WI%R{H`a(%<#r{-*N-xVsDUX Mp00i_>zopr0Nl_YMF0Q* literal 0 HcmV?d00001 diff --git a/include/field_camera.h b/include/field_camera.h index d2165780a..2ba583a52 100644 --- a/include/field_camera.h +++ b/include/field_camera.h @@ -30,5 +30,6 @@ void sub_805A658(s16 *x, s16 *y); void SetCameraPanningCallback(void (*cb)(void)); void SetCameraPanning(s16 x, s16 y); void InstallCameraPanAheadCallback(void); +void sub_805A91C(int x, int y, const u16 *data); #endif //GUARD_FIELD_CAMERA_H diff --git a/include/metatile_behavior.h b/include/metatile_behavior.h index df03001bf..d567ab77c 100644 --- a/include/metatile_behavior.h +++ b/include/metatile_behavior.h @@ -151,6 +151,5 @@ bool8 MetatileBehavior_IsImpressiveMachine(u8 metatileBehavior); bool8 MetatileBehavior_IsVideoGame(u8 metatileBehavior); bool8 MetatileBehavior_IsBurglary(u8 metatileBehavior); bool8 MetatileBehavior_IsMBA3(u8 metatileBehavior); -extern u8 gUnknown_8353068[]; #endif // GUARD_METATILE_BEHAVIOR diff --git a/ld_script.txt b/ld_script.txt index 856155aa8..fe60a90e3 100644 --- a/ld_script.txt +++ b/ld_script.txt @@ -93,6 +93,7 @@ SECTIONS { src/fieldmap.o(.text); src/metatile_behavior.o(.text); asm/field_camera.o(.text); + src/field_door.o(.text); asm/field_door.o(.text); asm/field_player_avatar.o(.text); asm/field_map_obj.o(.text); @@ -408,7 +409,7 @@ SECTIONS { data/maps.o(.rodata); src/fieldmap.o(.rodata); src/metatile_behavior.o(.rodata); - data/metatile_behavior.o(.rodata); + src/field_door.o(.rodata); data/field_door.o(.rodata); data/field_player_avatar.o(.rodata); data/field_map_obj.o(.rodata); diff --git a/src/field_door.c b/src/field_door.c new file mode 100644 index 000000000..116cdddee --- /dev/null +++ b/src/field_door.c @@ -0,0 +1,102 @@ +#include "global.h" +#include "field_camera.h" +#include "task.h" + +struct DoorAnimFrame +{ + u8 unk_0; + u16 unk_2; +}; + +struct DoorGraphics +{ + u16 unk_0; + u8 unk_2; + u8 unk_3; + const u8 * unk_4; + const u8 * unk_8; +}; + +void sub_805AF54(const struct DoorGraphics * a0, int a1, int a2); +void sub_805AF80(const u8 *a0); +void sub_805AF94(const struct DoorGraphics * a0, int a1, int a2, const u8 *a3); +void sub_805AFE8(u16 *a0, u16 a1, const u8 *a2); +bool32 sub_805B060(const struct DoorGraphics * gfx, const struct DoorAnimFrame * frames, u16 *data); + +extern const struct DoorAnimFrame gUnknown_835B488[]; +extern const struct DoorAnimFrame gUnknown_835B49C[]; +extern const struct DoorAnimFrame gUnknown_835B4B0[]; +extern const struct DoorAnimFrame gUnknown_835B4C4[]; +extern const struct DoorGraphics gUnknown_835B5D8[]; + +void sub_805AF14(const struct DoorGraphics * a0, const struct DoorAnimFrame * a1, int a2, int a3) +{ + if (a1->unk_2 == 0xFFFF) + { + sub_805AF54(a0, a2, a3); + } + else + { + sub_805AF80(&a0->unk_4[a1->unk_2]); + sub_805AF94(a0, a2, a3, a0->unk_8); + } +} + +void sub_805AF54(const struct DoorGraphics * a0, int a1, int a2) +{ + if (a0->unk_3 == 0) + { + CurrentMapDrawMetatileAt(a1, a2); + } + else + { + CurrentMapDrawMetatileAt(a1, a2); + CurrentMapDrawMetatileAt(a1, a2 - 1); + } +} + +void sub_805AF80(const u8 *a0) +{ + CpuFastCopy(a0, (void *)(BG_VRAM + 0x7F00), 0x100); +} + +void sub_805AF94(const struct DoorGraphics * a0, int a1, int a2, const u8 *a3) +{ + u16 sp00[8]; + if (a0->unk_3 == 0) + { + sub_805AFE8(sp00, 0x3F8, a3); + } + else + { + sub_805AFE8(sp00, 0x3F8, a3); + sub_805A91C(a1, a2 - 1, sp00); + sub_805AFE8(sp00, 0x3FC, a3 + 4); + } + sub_805A91C(a1, a2, sp00); +} + +void sub_805AFE8(u16 *a0, u16 a1, const u8 *a2) +{ + int i; + u16 tile; + for (i = 0; i < 4; i++) + { + tile = *(a2++) << 12; + a0[i] = tile | (a1 + i); + } + for (; i < 8; i++) + { + tile = *(a2++) << 12; + a0[i] = tile; + } +} + +void sub_805B028(u8 taskId) +{ + u16 *data = (void *)gTasks[taskId].data; + const struct DoorAnimFrame * frames = (const void *)((data[0] << 16) | data[1]); + const struct DoorGraphics * gfx = (const void *)((data[2] << 16) | data[3]); + if (!sub_805B060(gfx, frames, data)) + DestroyTask(taskId); +} diff --git a/src/metatile_behavior.c b/src/metatile_behavior.c index bca99d38f..8e07c1c97 100644 --- a/src/metatile_behavior.c +++ b/src/metatile_behavior.c @@ -16,6 +16,41 @@ static const bool8 sTileSurfable[METATILE_COUNT] = { [MB_SOUTHWARD_CURRENT] = TRUE }; +static const u8 sTileBitAttributes[] = { + 0x00, + 0x01, + 0x02, + 0x04, + 0x08, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00 +}; + bool8 MetatileBehavior_UnusedReturnTrue(u8 metatileBehavior) { return TRUE; @@ -736,7 +771,7 @@ bool8 MetatileBehavior_UnusedReturnFalse_13(u8 metatileBehavior) { return FALSE; bool8 sub_805A2BC(u8 arg1, u8 arg2) { - if(gUnknown_8353068[arg1] & arg2) + if(sTileBitAttributes[arg1] & arg2) return TRUE; else return FALSE;