diff options
author | PikalaxALT <pikalaxalt@gmail.com> | 2017-10-24 21:27:46 -0400 |
---|---|---|
committer | PikalaxALT <pikalaxalt@gmail.com> | 2017-10-24 21:27:46 -0400 |
commit | 0b0926f127628105edc65c68ce9015c77b6f6742 (patch) | |
tree | 4a329c52a234fa30f7777a2c6e704b043ea27852 /src | |
parent | 6558af388b547adf730eacdab4e2fba31e1d548c (diff) |
through sub_80E909C
Diffstat (limited to 'src')
-rw-r--r-- | src/secret_base.c | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/src/secret_base.c b/src/secret_base.c index 2da00067b..190962c51 100644 --- a/src/secret_base.c +++ b/src/secret_base.c @@ -1,6 +1,8 @@ // Includes #include "global.h" +#include "task.h" +#include "palette.h" #include "list_menu.h" #include "map_constants.h" #include "decoration.h" @@ -9,6 +11,8 @@ #include "fieldmap.h" #include "field_camera.h" #include "field_player_avatar.h" +#include "field_screen.h" +#include "field_weather.h" #include "text.h" #include "string_util.h" #include "event_data.h" @@ -256,3 +260,46 @@ void sub_80E8F9C(void) idx = sCurSecretBaseId / 10 * 4; warp1_set_2(MAP_GROUP_SECRET_BASE_RED_CAVE1, gUnknown_0858CFE8[idx], gUnknown_0858CFE8[idx + 1]); } + +void sub_80E8FD0(u8 taskId) +{ + u16 sbrId; + + switch (gTasks[taskId].data[0]) + { + case 0: + if (!gPaletteFade.active) + { + gTasks[taskId].data[0] = 1; + } + break; + case 1: + sbrId = VarGet(VAR_0x4054); + if (gSaveBlock1Ptr->secretBases[sbrId].sbr_field_10 < 255) + { + gSaveBlock1Ptr->secretBases[sbrId].sbr_field_10 ++; + } + sub_80E8F9C(); + warp_in(); + gFieldCallback = sub_80AF168; + SetMainCallback2(c2_load_new_map); + DestroyTask(taskId); + break; + } +} + +void sub_80E9068(void) +{ + CreateTask(sub_80E8FD0, 0); + fade_screen(1, 0); + saved_warp2_set(0, gSaveBlock1Ptr->location.mapGroup, gSaveBlock1Ptr->location.mapNum, -1); +} + +bool8 sub_80E909C(void) +{ + if (gMapHeader.mapType == MAP_TYPE_SECRET_BASE && VarGet(VAR_0x4097) == 0) + { + return FALSE; + } + return TRUE; +} |