summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPikalaxALT <PikalaxALT@gmail.com>2020-01-04 14:26:01 -0500
committerPikalaxALT <PikalaxALT@gmail.com>2020-01-04 14:26:01 -0500
commit550f7f8482407fa7bb8be24dd74df24cb3969284 (patch)
tree181a534b2978c923a257e403817c75baab41631a
parent5cc480bc1765abaaadad2ddd2109a808c7fb960d (diff)
sub_80C1E94
-rw-r--r--asm/region_map.s109
-rw-r--r--src/region_map.c33
2 files changed, 31 insertions, 111 deletions
diff --git a/asm/region_map.s b/asm/region_map.s
index 0228baa3e..61f676e34 100644
--- a/asm/region_map.s
+++ b/asm/region_map.s
@@ -5,115 +5,6 @@
.text
- thumb_func_start sub_80C1E94
-sub_80C1E94: @ 80C1E94
- push {r4-r6,lr}
- bl sub_80C4BE4
- movs r0, 0
- movs r1, 0x11
- movs r2, 0xC0
- bl sub_80C4C2C
- ldr r5, _080C1F58 @ =gUnknown_20399DC
- ldr r0, [r5]
- ldr r1, _080C1F5C @ =0x00003e14
- adds r0, r1
- ldrh r0, [r0]
- bl sub_80C4C48
- movs r0, 0
- movs r1, 0xD
- bl sub_80C4C74
- movs r0, 0x3B
- bl sub_80C4C88
- movs r0, 0x1
- movs r1, 0
- bl sub_80C4C9C
- bl sub_80C3508
- adds r4, r0, 0
- lsls r4, 16
- lsrs r4, 16
- bl sub_80C3514
- lsls r0, 16
- ldr r5, [r5]
- lsls r4, 3
- adds r4, 0x20
- ldr r2, _080C1F60 @ =0x00003e16
- adds r1, r5, r2
- strh r4, [r1]
- lsrs r0, 13
- adds r0, 0x18
- ldr r3, _080C1F64 @ =0x00003e18
- adds r2, r5, r3
- strh r0, [r2]
- ldrh r0, [r1]
- adds r0, 0x8
- ldr r4, _080C1F68 @ =0x00003e1a
- adds r3, r5, r4
- strh r0, [r3]
- ldrh r0, [r2]
- adds r0, 0x8
- ldr r6, _080C1F6C @ =0x00003e1c
- adds r4, r5, r6
- strh r0, [r4]
- ldrh r1, [r1]
- movs r0, 0x10
- subs r0, r1
- cmp r0, 0
- bge _080C1F0E
- adds r0, 0x7
-_080C1F0E:
- asrs r1, r0, 3
- ldr r6, _080C1F70 @ =0x00003e1e
- adds r0, r5, r6
- strh r1, [r0]
- ldrh r1, [r2]
- movs r0, 0x20
- subs r0, r1
- cmp r0, 0
- bge _080C1F22
- adds r0, 0x7
-_080C1F22:
- asrs r1, r0, 3
- ldr r2, _080C1F74 @ =0x00003e20
- adds r0, r5, r2
- strh r1, [r0]
- ldrh r1, [r3]
- movs r0, 0xE0
- subs r0, r1
- cmp r0, 0
- bge _080C1F36
- adds r0, 0x7
-_080C1F36:
- asrs r1, r0, 3
- ldr r3, _080C1F78 @ =0x00003e22
- adds r0, r5, r3
- strh r1, [r0]
- ldrh r1, [r4]
- movs r0, 0x88
- subs r0, r1
- cmp r0, 0
- bge _080C1F4A
- adds r0, 0x7
-_080C1F4A:
- asrs r1, r0, 3
- ldr r4, _080C1F7C @ =0x00003e24
- adds r0, r5, r4
- strh r1, [r0]
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080C1F58: .4byte gUnknown_20399DC
-_080C1F5C: .4byte 0x00003e14
-_080C1F60: .4byte 0x00003e16
-_080C1F64: .4byte 0x00003e18
-_080C1F68: .4byte 0x00003e1a
-_080C1F6C: .4byte 0x00003e1c
-_080C1F70: .4byte 0x00003e1e
-_080C1F74: .4byte 0x00003e20
-_080C1F78: .4byte 0x00003e22
-_080C1F7C: .4byte 0x00003e24
- thumb_func_end sub_80C1E94
-
thumb_func_start sub_80C1F80
sub_80C1F80: @ 80C1F80
push {r4-r6,lr}
diff --git a/src/region_map.c b/src/region_map.c
index 74fdad074..8a9d91205 100644
--- a/src/region_map.c
+++ b/src/region_map.c
@@ -97,12 +97,19 @@ struct UnkStruct_20399DC
u8 field_3D4B;
u8 field_3D4C;
u16 field_3D4E[0x30];
- u8 field_3DAE[0x60];
+ u8 filler_3DAE[0x60];
u16 field_3E0E;
u16 field_3E10;
u16 field_3E12;
u16 field_3E14;
- u8 filler_3E16[0x12];
+ u16 field_3E16;
+ u16 field_3E18;
+ u16 field_3E1A;
+ u16 field_3E1C;
+ u16 field_3E1E;
+ u16 field_3E20;
+ u16 field_3E22;
+ u16 field_3E24;
}; // size = 0x3E28
EWRAM_DATA struct UnkStruct_20399D4 * gUnknown_20399D4 = NULL;
@@ -1398,3 +1405,25 @@ void sub_80C1E78(u8 bgId, const u16 * tilemap)
{
CopyToBgTilemapBufferRect(2, tilemap, 0, 0, 32, 20);
}
+
+void sub_80C1E94(void)
+{
+ u16 r4;
+ u16 r0;
+ sub_80C4BE4();
+ sub_80C4C2C(0, 17, 192);
+ sub_80C4C48(gUnknown_20399DC->field_3E14);
+ sub_80C4C74(0, 13);
+ sub_80C4C88(59);
+ sub_80C4C9C(1, 0);
+ r4 = sub_80C3508();
+ r0 = sub_80C3514();
+ gUnknown_20399DC->field_3E16 = 8 * r4 + 32;
+ gUnknown_20399DC->field_3E18 = 8 * r0 + 24;
+ gUnknown_20399DC->field_3E1A = gUnknown_20399DC->field_3E16 + 8;
+ gUnknown_20399DC->field_3E1C = gUnknown_20399DC->field_3E18 + 8;
+ gUnknown_20399DC->field_3E1E = (0x10 - gUnknown_20399DC->field_3E16) / 8;
+ gUnknown_20399DC->field_3E20 = (0x20 - gUnknown_20399DC->field_3E18) / 8;
+ gUnknown_20399DC->field_3E22 = (0xE0 - gUnknown_20399DC->field_3E1A) / 8;
+ gUnknown_20399DC->field_3E24 = (0x88 - gUnknown_20399DC->field_3E1C) / 8;
+}