summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPikalaxALT <pikalaxalt@gmail.com>2017-10-15 10:27:48 -0400
committerPikalaxALT <pikalaxalt@gmail.com>2017-10-15 10:27:48 -0400
commitba3934b56f4bba4ddb1a7df4d4362d34d35a12d2 (patch)
tree2dc72b5d860b353593a8de3bc17cb137dd859e73
parentacf2820efce9893e71700c8892b00f9acceb9477 (diff)
sub_8123C40
-rw-r--r--asm/cable_car.s54
-rw-r--r--src/scene/cable_car.c19
2 files changed, 18 insertions, 55 deletions
diff --git a/asm/cable_car.s b/asm/cable_car.s
index 72c1c9eda..c9d2b377a 100644
--- a/asm/cable_car.s
+++ b/asm/cable_car.s
@@ -6,60 +6,6 @@
.text
- thumb_func_start sub_8123C40
-sub_8123C40: @ 8123C40
- push {r4,lr}
- ldr r1, _08123C9C @ =0x040000d4
- ldr r0, _08123CA0 @ =gUnknown_02039274
- ldr r2, [r0]
- adds r0, r2, 0
- adds r0, 0xFC
- str r0, [r1]
- ldr r0, _08123CA4 @ =0x0600e000
- str r0, [r1, 0x4]
- ldr r3, _08123CA8 @ =0x80000400
- str r3, [r1, 0x8]
- ldr r0, [r1, 0x8]
- ldr r4, _08123CAC @ =0x000008fc
- adds r0, r2, r4
- str r0, [r1]
- ldr r0, _08123CB0 @ =0x0600f800
- str r0, [r1, 0x4]
- str r3, [r1, 0x8]
- ldr r0, [r1, 0x8]
- subs r1, 0xB8
- ldrb r0, [r2, 0x14]
- strh r0, [r1]
- adds r1, 0x2
- ldrb r0, [r2, 0x15]
- strh r0, [r1]
- subs r1, 0xA
- ldrb r0, [r2, 0xC]
- strh r0, [r1]
- adds r1, 0x2
- ldrb r0, [r2, 0xD]
- strh r0, [r1]
- subs r1, 0x6
- ldrb r0, [r2, 0x8]
- strh r0, [r1]
- adds r1, 0x2
- ldrb r0, [r2, 0x9]
- strh r0, [r1]
- bl LoadOam
- bl ProcessSpriteCopyRequests
- bl TransferPlttBuffer
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08123C9C: .4byte 0x040000d4
-_08123CA0: .4byte gUnknown_02039274
-_08123CA4: .4byte 0x0600e000
-_08123CA8: .4byte 0x80000400
-_08123CAC: .4byte 0x000008fc
-_08123CB0: .4byte 0x0600f800
- thumb_func_end sub_8123C40
-
thumb_func_start nullsub_76
nullsub_76: @ 8123CB4
bx lr
diff --git a/src/scene/cable_car.c b/src/scene/cable_car.c
index 4d762af1a..6e4fe608e 100644
--- a/src/scene/cable_car.c
+++ b/src/scene/cable_car.c
@@ -23,7 +23,9 @@ struct Unk_2017000 {
u8 unk_0003;
u16 unk_0004;
u16 unk_0006;
- u8 filler_0008[4];
+ u8 unk_0008;
+ u8 unk_0009;
+ u8 filler_000a[2];
u8 unk_000c;
u8 unk_000d;
u8 filler_0000e[6];
@@ -429,3 +431,18 @@ void sub_8123AF8(u8 taskId)
gUnknown_08396FC4->unknown_6FC = (gUnknown_08396FC4->unknown_6FC + 247) % 248;
}
}
+
+void sub_8123C40(void)
+{
+ DmaCopy16(3, gUnknown_02039274->unk_00fc, BG_SCREEN_ADDR(28), 0x800);
+ DmaCopy16(3, gUnknown_02039274->unk_08fc, BG_SCREEN_ADDR(31), 0x800);
+ REG_BG3HOFS = gUnknown_02039274->unk_0014;
+ REG_BG3VOFS = gUnknown_02039274->unk_0015;
+ REG_BG1HOFS = gUnknown_02039274->unk_000c;
+ REG_BG1VOFS = gUnknown_02039274->unk_000d;
+ REG_BG0HOFS = gUnknown_02039274->unk_0008;
+ REG_BG0VOFS = gUnknown_02039274->unk_0009;
+ LoadOam();
+ ProcessSpriteCopyRequests();
+ TransferPlttBuffer();
+}