summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--asm/secret_base.s83
-rw-r--r--include/secret_base.h2
-rw-r--r--src/secret_base.c26
3 files changed, 27 insertions, 84 deletions
diff --git a/asm/secret_base.s b/asm/secret_base.s
index e9c45b403..a7596f85b 100644
--- a/asm/secret_base.s
+++ b/asm/secret_base.s
@@ -6,89 +6,6 @@
.section .text_80BC1D0
- thumb_func_start sub_80BCCE8
-sub_80BCCE8: @ 80BCCE8
- push {lr}
- ldr r0, _080BCD08 @ =0x00004054
- bl VarGet
- lsls r0, 24
- lsrs r0, 24
- bl sub_80BCCA4
- lsls r0, 24
- lsrs r0, 24
- adds r1, r0, 0
- cmp r0, 0
- bne _080BCD10
- ldr r0, _080BCD0C @ =UnknownString_81A1BB2
- b _080BCD72
- .align 2, 0
-_080BCD08: .4byte 0x00004054
-_080BCD0C: .4byte UnknownString_81A1BB2
-_080BCD10:
- cmp r0, 0x1
- bne _080BCD1C
- ldr r0, _080BCD18 @ =UnknownString_81A1F67
- b _080BCD72
- .align 2, 0
-_080BCD18: .4byte UnknownString_81A1F67
-_080BCD1C:
- cmp r0, 0x2
- bne _080BCD28
- ldr r0, _080BCD24 @ =UnknownString_81A2254
- b _080BCD72
- .align 2, 0
-_080BCD24: .4byte UnknownString_81A2254
-_080BCD28:
- cmp r0, 0x3
- bne _080BCD34
- ldr r0, _080BCD30 @ =UnknownString_81A25C3
- b _080BCD72
- .align 2, 0
-_080BCD30: .4byte UnknownString_81A25C3
-_080BCD34:
- cmp r0, 0x4
- bne _080BCD40
- ldr r0, _080BCD3C @ =UnknownString_81A2925
- b _080BCD72
- .align 2, 0
-_080BCD3C: .4byte UnknownString_81A2925
-_080BCD40:
- cmp r0, 0x5
- bne _080BCD4C
- ldr r0, _080BCD48 @ =UnknownString_81A1D74
- b _080BCD72
- .align 2, 0
-_080BCD48: .4byte UnknownString_81A1D74
-_080BCD4C:
- cmp r0, 0x6
- bne _080BCD58
- ldr r0, _080BCD54 @ =UnknownString_81A20C9
- b _080BCD72
- .align 2, 0
-_080BCD54: .4byte UnknownString_81A20C9
-_080BCD58:
- cmp r0, 0x7
- bne _080BCD64
- ldr r0, _080BCD60 @ =UnknownString_81A2439
- b _080BCD72
- .align 2, 0
-_080BCD60: .4byte UnknownString_81A2439
-_080BCD64:
- cmp r1, 0x8
- beq _080BCD70
- ldr r0, _080BCD6C @ =UnknownString_81A2B2A
- b _080BCD72
- .align 2, 0
-_080BCD6C: .4byte UnknownString_81A2B2A
-_080BCD70:
- ldr r0, _080BCD78 @ =UnknownString_81A2754
-_080BCD72:
- pop {r1}
- bx r1
- .align 2, 0
-_080BCD78: .4byte UnknownString_81A2754
- thumb_func_end sub_80BCCE8
-
thumb_func_start unref_sub_80BCD7C
unref_sub_80BCD7C: @ 80BCD7C
push {r4-r7,lr}
diff --git a/include/secret_base.h b/include/secret_base.h
index 4b02cf0d2..7dd279c7f 100644
--- a/include/secret_base.h
+++ b/include/secret_base.h
@@ -8,7 +8,7 @@ void sub_80BBCCC(u8);
void sub_80BC038(s16 *, struct MapEvents *);
u8 sub_80BC050();
void sub_80BC300();
-u8 *sub_80BCCE8(void);
+const u8 *sub_80BCCE8(void);
void sub_80BCF1C(u8);
void sub_80BD674(void *, u32, u8);
diff --git a/src/secret_base.c b/src/secret_base.c
index 16ff656c1..20bf02ded 100644
--- a/src/secret_base.c
+++ b/src/secret_base.c
@@ -31,6 +31,17 @@
extern u8 gUnknown_0815F399[];
extern u8 gUnknown_0815F49A[];
+extern const u8 UnknownString_81A1BB2[];
+extern const u8 UnknownString_81A1F67[];
+extern const u8 UnknownString_81A2254[];
+extern const u8 UnknownString_81A25C3[];
+extern const u8 UnknownString_81A2925[];
+extern const u8 UnknownString_81A1D74[];
+extern const u8 UnknownString_81A20C9[];
+extern const u8 UnknownString_81A2439[];
+extern const u8 UnknownString_81A2754[];
+extern const u8 UnknownString_81A2B2A[];
+
void sub_80BCA84(u8);
void sub_80BCBF8(u8);
void sub_80BCB90(u8);
@@ -1442,3 +1453,18 @@ u8 sub_80BCCA4(u8 sbid)
{
return (gSaveBlock1.secretBases[sbid].trainerId[0] % 5) + gSaveBlock1.secretBases[sbid].gender * 5;
}
+
+const u8 *sub_80BCCE8(void)
+{
+ u8 param = sub_80BCCA4(VarGet(VAR_0x4054));
+ if (param == 0) return UnknownString_81A1BB2;
+ if (param == 1) return UnknownString_81A1F67;
+ if (param == 2) return UnknownString_81A2254;
+ if (param == 3) return UnknownString_81A25C3;
+ if (param == 4) return UnknownString_81A2925;
+ if (param == 5) return UnknownString_81A1D74;
+ if (param == 6) return UnknownString_81A20C9;
+ if (param == 7) return UnknownString_81A2439;
+ if (param == 8) return UnknownString_81A2754;
+ return UnknownString_81A2B2A;
+}