diff options
author | PikalaxALT <pikalax1@gmail.com> | 2017-05-16 14:22:59 -0400 |
---|---|---|
committer | PikalaxALT <pikalax1@gmail.com> | 2017-05-16 14:22:59 -0400 |
commit | 5c434e133dafd2705bb0ecb012b141d3bbcc863a (patch) | |
tree | 59d909af8b257897386edbe404433c2fbe981b7b /src | |
parent | 63a0ce6c0e99c667379b40b3d2fa76b8f6badca9 (diff) |
sub_80BBA48
Diffstat (limited to 'src')
-rwxr-xr-x | src/secret_base_80bb4ac.c | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/src/secret_base_80bb4ac.c b/src/secret_base_80bb4ac.c index c83af2bfc..21fcbe9b5 100755 --- a/src/secret_base_80bb4ac.c +++ b/src/secret_base_80bb4ac.c @@ -8,6 +8,8 @@ #include "field_camera.h" #include "string_util.h" #include "map_constants.h" +#include "task.h" +#include "palette.h" extern u8 gUnknown_020387DC; extern u16 gSpecialVar_0x8004; @@ -18,6 +20,7 @@ extern const struct { u16 unk_083D1358_1; } gUnknown_083D1358[7]; extern const u8 gUnknown_083D1374[48]; +extern void *gUnknown_0300485C; void sub_80BB4AC(struct SecretBaseRecord *record) { // 080bb4ac @@ -201,3 +204,27 @@ void sub_80BBA14(void) { s8 idx = 4 * (gUnknown_020387DC / 10); warp1_set_2(MAP_GROUP_SECRET_BASE_RED_CAVE1, gUnknown_083D1374[idx], gUnknown_083D1374[idx + 1]); } + +void sub_80BBA48(u8 taskid) { + u16 curbaseid; + switch (gTasks[taskid].data[0]) { + case 0: + gTasks[taskid].data[0] = 1; + break; + case 1: + if (!gPaletteFade.active) { + gTasks[taskid].data[0] = 2; + } + break; + case 2: + curbaseid = VarGet(VAR_0x4054); + if (gSaveBlock1.secretBases[curbaseid].sbr_field_10 < 0xff) + gSaveBlock1.secretBases[curbaseid].sbr_field_10 ++; + sub_80BBA14(); + warp_in(); + gUnknown_0300485C = sub_8080990; + SetMainCallback2(CB2_LoadMap); + DestroyTask(taskid); + break; + } +} |