diff options
-rw-r--r-- | asm/secret_base.s | 76 | ||||
-rw-r--r-- | src/secret_base.c | 22 |
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); +} |