summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--asm/secret_base.s76
-rw-r--r--src/secret_base.c22
2 files changed, 19 insertions, 79 deletions
diff --git a/asm/secret_base.s b/asm/secret_base.s
index b6684b9fe..834a63350 100644
--- a/asm/secret_base.s
+++ b/asm/secret_base.s
@@ -1316,82 +1316,6 @@ _080BC18A:
thumb_func_end sub_80BC14C
.section .text_80BC1D0
- thumb_func_start sub_80BC268
-sub_80BC268: @ 80BC268
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _080BC288 @ =gSaveBlock1
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 5
- adds r1, r2
- ldr r0, _080BC28C @ =0x00001a09
- adds r1, r0
- ldrb r0, [r1]
- lsrs r0, 6
- cmp r0, 0
- bne _080BC290
- movs r0, 0
- b _080BC292
- .align 2, 0
-_080BC288: .4byte gSaveBlock1
-_080BC28C: .4byte 0x00001a09
-_080BC290:
- movs r0, 0x1
-_080BC292:
- pop {r1}
- bx r1
- thumb_func_end sub_80BC268
-
- thumb_func_start sub_80BC298
-sub_80BC298: @ 80BC298
- push {r4,r5,lr}
- adds r5, r0, 0
- movs r1, 0x1A
- bl GetMonData
- adds r4, r0, 0
- lsls r4, 16
- lsrs r4, 16
- adds r0, r5, 0
- movs r1, 0x1B
- bl GetMonData
- adds r4, r0
- lsls r4, 16
- lsrs r4, 16
- adds r0, r5, 0
- movs r1, 0x1C
- bl GetMonData
- adds r4, r0
- lsls r4, 16
- lsrs r4, 16
- adds r0, r5, 0
- movs r1, 0x1D
- bl GetMonData
- adds r4, r0
- lsls r4, 16
- lsrs r4, 16
- adds r0, r5, 0
- movs r1, 0x1E
- bl GetMonData
- adds r4, r0
- lsls r4, 16
- lsrs r4, 16
- adds r0, r5, 0
- movs r1, 0x1F
- bl GetMonData
- adds r4, r0
- lsls r4, 16
- lsrs r4, 16
- adds r0, r4, 0
- movs r1, 0x6
- bl __udivsi3
- lsls r0, 24
- lsrs r0, 24
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_80BC298
thumb_func_start sub_80BC300
sub_80BC300: @ 80BC300
diff --git a/src/secret_base.c b/src/secret_base.c
index 63c08d629..ccedcfe0c 100644
--- a/src/secret_base.c
+++ b/src/secret_base.c
@@ -8,7 +8,7 @@ extern u8 gUnknown_020387DC;
u8 sub_80BB8A8(void *);
-u8 *sub_80BC190(u8 *dest, u8 arg1) {
+u8 *sub_80BC190(u8 *dest, u8 arg1) { // 80bc190
u8 local1;
u8 *str;
@@ -20,15 +20,31 @@ u8 *sub_80BC190(u8 *dest, u8 arg1) {
return StringAppend(dest, gOtherText_PlayersBase);
}
-u8 *GetSecretBaseMapName(u8 *dest) {
+u8 *GetSecretBaseMapName(u8 *dest) { // 80bc1d0
gUnknown_020387DC = gSaveBlock1.secretBases[VarGet(0x4054)].sbr_field_0;
return sub_80BC190(dest, VarGet(0x4054));
}
-void sub_80BC224(void) {
+void sub_80BC224(void) { // 80bc224
u8 *var0 = gSaveBlock1.secretBases[(u8)VarGet(0x4054)].sbr_field_2;
u8 *var1 = gStringVar1;
u8 var2 = sub_80BB8A8(var0);
u8 *var3 = StringCopyN(var1, var0, var2);
*var3 = EOS;
}
+
+u8 sub_80BC268(u8 foo) { // 80bc268
+ if (gSaveBlock1.secretBases[foo].sbr_field_1_6)
+ return 1;
+ return 0;
+}
+
+u8 sub_80BC298(struct Pokemon *mon) { // 80bc298
+ u16 evsum = GetMonData(mon, MON_DATA_HP_EV);
+ evsum += GetMonData(mon, MON_DATA_ATK_EV);
+ evsum += GetMonData(mon, MON_DATA_DEF_EV);
+ evsum += GetMonData(mon, MON_DATA_SPD_EV);
+ evsum += GetMonData(mon, MON_DATA_SPATK_EV);
+ evsum += GetMonData(mon, MON_DATA_SPDEF_EV);
+ return (u8)(evsum / 6);
+}