diff --git a/asm/region_map.s b/asm/region_map.s index ea19702e5d..ff3696fc20 100644 --- a/asm/region_map.s +++ b/asm/region_map.s @@ -5,44 +5,6 @@ .text - thumb_func_start sub_8124A70 -sub_8124A70: @ 8124A70 - push {r4,r5,lr} - sub sp, 0x8 - ldr r0, =gUnknown_085A1D68 - ldr r5, =gUnknown_0203A148 - ldr r1, [r5] - ldr r4, =0x0000088c - adds r1, r4 - bl LZ77UnCompWram - ldr r0, [r5] - adds r0, r4 - str r0, [sp] - ldr r1, =0xffff0000 - ldr r0, [sp, 0x4] - ands r0, r1 - movs r1, 0xE0 - lsls r1, 1 - orrs r0, r1 - ldr r1, =0x0000ffff - ands r0, r1 - movs r1, 0x80 - lsls r1, 10 - orrs r0, r1 - str r0, [sp, 0x4] - mov r0, sp - bl LoadSpriteSheet - ldr r0, =gUnknown_085A1F10 - bl LoadSpritePalette - bl sub_8124AD4 - bl sub_8124BE4 - add sp, 0x8 - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8124A70 - thumb_func_start sub_8124AD4 sub_8124AD4: @ 8124AD4 push {r4-r7,lr} diff --git a/src/region_map.c b/src/region_map.c index b2cb25a595..07ddd7477a 100644 --- a/src/region_map.c +++ b/src/region_map.c @@ -46,7 +46,7 @@ EWRAM_DATA struct { /*0x004*/ u16 unk_004; /*0x006*/ u16 mapSecId; /*0x008*/ struct RegionMap regionMap; - /*0x88c*/ u8 filler_88c[0x1c0]; + /*0x88c*/ u8 unk_88c[0x1c0]; /*0xa4c*/ u8 unk_a4c[0x28]; } *gUnknown_0203A148 = NULL; // a74 @@ -81,6 +81,8 @@ void sub_81248D4(void); void sub_81248F4(void func(void)); void sub_8124904(void); void sub_8124A70(void); +void sub_8124AD4(void); +void sub_8124BE4(void); void sub_8124D14(void); // .rodata @@ -106,16 +108,18 @@ extern const struct SpriteTemplate gUnknown_085A1C08; extern const struct OamData gUnknown_085A1C20; extern const union AnimCmd *const gUnknown_085A1C30[]; extern const u8 gUnknown_085A1C34[]; -extern const struct BgTemplate gUnknown_085A1EE4[]; -extern const struct WindowTemplate gUnknown_085A1EF0[]; +extern const u16 gUnknown_085A1C38[]; extern const u8 gUnknown_085A1C58[]; extern const u8 gUnknown_085A1C90[]; -extern const u16 gUnknown_085A1C38[]; +extern const u8 gUnknown_085A1D68[]; +extern const struct BgTemplate gUnknown_085A1EE4[]; +extern const struct WindowTemplate gUnknown_085A1EF0[]; extern const struct { const u8 *const *name; u16 mapSecId; u16 flag; } gUnknown_085A1EDC[]; +extern const struct SpritePalette gUnknown_085A1F10; // .text @@ -1459,3 +1463,18 @@ void sub_8124904(void) gUnknown_03001180 = FALSE; } } + + +void sub_8124A70(void) +{ + struct SpriteSheet sheet; + + LZ77UnCompWram(gUnknown_085A1D68, gUnknown_0203A148->unk_88c); + sheet.data = gUnknown_0203A148->unk_88c; + sheet.size = 0x1c0; + sheet.tag = 2; + LoadSpriteSheet(&sheet); + LoadSpritePalette(&gUnknown_085A1F10); + sub_8124AD4(); + sub_8124BE4(); +}