diff options
author | PikalaxALT <PikalaxALT@gmail.com> | 2020-01-04 14:26:01 -0500 |
---|---|---|
committer | PikalaxALT <PikalaxALT@gmail.com> | 2020-01-04 14:26:01 -0500 |
commit | 550f7f8482407fa7bb8be24dd74df24cb3969284 (patch) | |
tree | 181a534b2978c923a257e403817c75baab41631a | |
parent | 5cc480bc1765abaaadad2ddd2109a808c7fb960d (diff) |
sub_80C1E94
-rw-r--r-- | asm/region_map.s | 109 | ||||
-rw-r--r-- | src/region_map.c | 33 |
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; +} |