summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorscnorton <scnorton@biociphers.org>2017-07-11 12:29:45 -0400
committerscnorton <scnorton@biociphers.org>2017-07-11 12:29:45 -0400
commit9f084d86595f4c7777221e063739171a3e1694d6 (patch)
treec9f52ed1876a4ecc088cfb482a6da7740b0f85a4
parent20f8a5dd5971fedf01ea49f4f26a8fb74a79acf9 (diff)
sub_80BC474
-rw-r--r--asm/secret_base.s80
-rw-r--r--src/secret_base.c24
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;
+ }
+ }
+}