diff options
author | scnorton <scnorton@biociphers.org> | 2017-07-11 12:29:45 -0400 |
---|---|---|
committer | scnorton <scnorton@biociphers.org> | 2017-07-11 12:29:45 -0400 |
commit | 9f084d86595f4c7777221e063739171a3e1694d6 (patch) | |
tree | c9f52ed1876a4ecc088cfb482a6da7740b0f85a4 | |
parent | 20f8a5dd5971fedf01ea49f4f26a8fb74a79acf9 (diff) |
sub_80BC474
-rw-r--r-- | asm/secret_base.s | 80 | ||||
-rw-r--r-- | src/secret_base.c | 24 |
2 files changed, 24 insertions, 80 deletions
diff --git a/asm/secret_base.s b/asm/secret_base.s index 9fd741aa0..3292992ed 100644 --- a/asm/secret_base.s +++ b/asm/secret_base.s @@ -6,86 +6,6 @@ .section .text_80BC1D0 - thumb_func_start sub_80BC474 -sub_80BC474: @ 80BC474 - push {r4-r7,lr} - ldr r0, _080BC4CC @ =gMapHeader - ldr r4, [r0, 0x4] - movs r6, 0 - ldrb r0, [r4, 0x3] - cmp r6, r0 - bcs _080BC504 - ldr r3, _080BC4D0 @ =gSaveBlock1 + 0x1A08 -_080BC484: - ldr r2, [r4, 0x10] - lsls r1, r6, 1 - adds r0, r1, r6 - lsls r0, 2 - adds r2, r0, r2 - ldrb r0, [r2, 0x5] - adds r7, r1, 0 - cmp r0, 0x8 - bne _080BC4F8 - ldrb r1, [r3] - ldr r0, [r2, 0x8] - cmp r1, r0 - bne _080BC4F8 - ldrh r0, [r2] - adds r0, 0x7 - ldrh r1, [r2, 0x2] - adds r1, 0x7 - bl MapGridGetMetatileIdAt - movs r1, 0 - ldr r5, _080BC4D4 @ =gUnknown_083D1358 - lsls r0, 16 - asrs r2, r0, 16 -_080BC4B2: - lsls r0, r1, 2 - adds r3, r0, r5 - ldrh r0, [r3, 0x2] - cmp r0, r2 - beq _080BC4D8 - adds r0, r1, 0x1 - lsls r0, 16 - lsrs r1, r0, 16 - cmp r1, 0x6 - bls _080BC4B2 -_080BC4C6: - bl DrawWholeMapView - b _080BC504 - .align 2, 0 -_080BC4CC: .4byte gMapHeader -_080BC4D0: .4byte gSaveBlock1 + 0x1A08 -_080BC4D4: .4byte gUnknown_083D1358 -_080BC4D8: - ldr r0, [r4, 0x10] - adds r1, r7, r6 - lsls r1, 2 - adds r1, r0 - ldrh r0, [r1] - adds r0, 0x7 - ldrh r1, [r1, 0x2] - adds r1, 0x7 - ldrh r3, [r3] - movs r4, 0xC0 - lsls r4, 4 - adds r2, r4, 0 - orrs r2, r3 - bl MapGridSetMetatileIdAt - b _080BC4C6 -_080BC4F8: - adds r0, r6, 0x1 - lsls r0, 16 - lsrs r6, r0, 16 - ldrb r0, [r4, 0x3] - cmp r6, r0 - bcc _080BC484 -_080BC504: - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_80BC474 - thumb_func_start sub_80BC50C sub_80BC50C: @ 80BC50C push {r4,r5,lr} diff --git a/src/secret_base.c b/src/secret_base.c index 17377a287..0488a3bf3 100644 --- a/src/secret_base.c +++ b/src/secret_base.c @@ -1023,3 +1023,27 @@ void SecretBasePC_PackUp(void) IncrementGameStat(20); sub_80BC440(); } + +void sub_80BC474(void) +{ + u16 i, j; + s16 metatileId; + struct MapEvents *mapEvents = gMapHeader.events; + for (i=0; i<mapEvents->bgEventCount; i++) + { + if (mapEvents->bgEvents[i].kind == 8 && gSaveBlock1.secretBases[0].sbr_field_0 == mapEvents->bgEvents[i].bgUnion.secretBaseId) + { + metatileId = MapGridGetMetatileIdAt(mapEvents->bgEvents[i].x + 7, mapEvents->bgEvents[i].y + 7); + for (j=0; j<7; j++) + { + if (gUnknown_083D1358[j].unk_083D1358_1 == metatileId) + { + MapGridSetMetatileIdAt(mapEvents->bgEvents[i].x + 7, mapEvents->bgEvents[i].y + 7, gUnknown_083D1358[j].unk_083D1358_0 | 0xc00); + break; + } + } + DrawWholeMapView(); + break; + } + } +} |