diff options
author | GriffinR <griffin.g.richards@gmail.com> | 2020-04-24 15:23:48 -0400 |
---|---|---|
committer | GriffinR <griffin.g.richards@gmail.com> | 2020-04-24 15:23:48 -0400 |
commit | faf8130585a19ec0394295dc26dcc8dd2a9f7bbd (patch) | |
tree | d91dff9bc29ac4bd7c91db1d259e75853695432e /src | |
parent | 21b8fb4fbd85796df30c7211b98a2c557c35a69e (diff) |
Sync shared_secret_base.inc
Diffstat (limited to 'src')
-rw-r--r-- | src/debug/tomomichi_debug_menu.c | 2 | ||||
-rw-r--r-- | src/decoration.c | 4 | ||||
-rw-r--r-- | src/field_control_avatar.c | 22 | ||||
-rw-r--r-- | src/secret_base.c | 46 |
4 files changed, 42 insertions, 32 deletions
diff --git a/src/debug/tomomichi_debug_menu.c b/src/debug/tomomichi_debug_menu.c index c9804c638..a7ec192a9 100644 --- a/src/debug/tomomichi_debug_menu.c +++ b/src/debug/tomomichi_debug_menu.c @@ -1561,7 +1561,7 @@ static const u16 sControlWorks_SaveWork_ItemArrays[][9] = { {VAR_TRICK_HOUSE_ENTRANCE_STATE_2, VAR_TRICK_HOUSE_PRIZE_PICKUP, VAR_TRICK_HOUSE_STATE, VAR_TRICK_HOUSE_ENTRANCE_STATE_3, VAR_TRICK_HOUSE_ENTRANCE_STATE}, {VAR_TRICK_HOUSE_PUZZLE_1_STATE, VAR_TRICK_HOUSE_PUZZLE_2_STATE, VAR_TRICK_HOUSE_PUZZLE_3_STATE, VAR_TRICK_HOUSE_PUZZLE_4_STATE, VAR_TRICK_HOUSE_PUZZLE_5_STATE, VAR_TRICK_HOUSE_PUZZLE_6_STATE, VAR_TRICK_HOUSE_PUZZLE_7_STATE, VAR_TRICK_HOUSE_PUZZLE_8_STATE, VAR_TRICK_HOUSE_PUZZLE_7_STATE_2}, {VAR_BRINEY_HOUSE_STATE, VAR_GLASS_WORKSHOP_STATE}, - {VAR_0x4089, VAR_BOARD_BRINEY_BOAT_ROUTE104_STATE, VAR_BRINEY_LOCATION, VAR_0x4097, VAR_LILYCOVE_CONTEST_LOBBY_STATE, VAR_ELITE_4_STATE, VAR_CABLE_CAR_STATION_STATE, VAR_SAFARI_ZONE_STATE, VAR_CYCLING_CHALLENGE_STATE}, + {VAR_SECRET_BASE_INITIALIZED, VAR_BOARD_BRINEY_BOAT_ROUTE104_STATE, VAR_BRINEY_LOCATION, VAR_INIT_SECRET_BASE, VAR_LILYCOVE_CONTEST_LOBBY_STATE, VAR_ELITE_4_STATE, VAR_CABLE_CAR_STATION_STATE, VAR_SAFARI_ZONE_STATE, VAR_CYCLING_CHALLENGE_STATE}, {VAR_WEATHER_INSTITUTE_STATE, VAR_SLATEPORT_FAN_CLUB_STATE, 0x40BB, VAR_BRAVO_TRAINER_BATTLE_TOWER_ON, VAR_GAME_CORNER_STATE, VAR_WHICH_FOSSIL_REVIVED} }; diff --git a/src/decoration.c b/src/decoration.c index 8dde2834d..4dd7e0f12 100644 --- a/src/decoration.c +++ b/src/decoration.c @@ -1430,7 +1430,7 @@ const struct YesNoFuncTable gUnknown_083EC634[] = { // text -extern u8 gUnknown_0815F399[]; +extern u8 SecretBase_EventScript_PCCancel[]; void sub_80FE1DC(void) { @@ -1524,7 +1524,7 @@ void gpu_pal_decompress_alloc_tag_and_upload(u8 taskId) FreeSpritePaletteByTag(6); if (ewram_1f000.isPlayerRoom == 0) { - ScriptContext1_SetupScript(gUnknown_0815F399); + ScriptContext1_SetupScript(SecretBase_EventScript_PCCancel); DestroyTask(taskId); } else { diff --git a/src/field_control_avatar.c b/src/field_control_avatar.c index 7c74debab..b67f11ae2 100644 --- a/src/field_control_avatar.c +++ b/src/field_control_avatar.c @@ -49,8 +49,8 @@ u8 gSelectedObjectEvent; extern u8 gUnknown_081A2C51[]; extern u8 gUnknown_0815281E[]; extern u8 gUnknown_08152C39[]; -extern u8 gUnknown_0815F36C[]; -extern u8 gUnknown_0815F43A[]; +extern u8 SecretBase_EventScript_PC[]; +extern u8 SecretBase_EventScript_RecordMixingPC[]; extern u8 gUnknown_081A0009[]; extern u8 gUnknown_081C6C02[]; extern u8 HiddenItemScript[]; @@ -69,10 +69,8 @@ extern u8 VaseScript[]; extern u8 TrashCanScript[]; extern u8 ShopShelfScript[]; extern u8 BlueprintScript[]; -extern u8 gUnknown_0815F36C[]; -extern u8 gUnknown_0815F43A[]; -extern u8 gUnknown_0815F523[]; -extern u8 gUnknown_0815F528[]; +extern u8 SecretBase_EventScript_SandOrnament[]; +extern u8 SecretBase_EventScript_ShieldOrToyTV[]; extern u8 UseSurfScript[]; extern u8 S_UseWaterfall[]; extern u8 S_CannotUseWaterfall[]; @@ -320,8 +318,8 @@ static bool8 TryStartInteractionScript(struct MapPosition *position, u16 metatil // Play computer noise for PC-related scripts. if (script != gUnknown_0815281E && script != gUnknown_08152C39 - && script != gUnknown_0815F36C - && script != gUnknown_0815F43A + && script != SecretBase_EventScript_PC + && script != SecretBase_EventScript_RecordMixingPC && script != gUnknown_081A0009) PlaySE(5); @@ -490,13 +488,13 @@ static u8 *GetInteractedMetatileScript(struct MapPosition *position, u8 metatile if (height == MapGridGetZCoordAt(position->x, position->y)) { if (MetatileBehavior_IsSecretBasePC(metatileBehavior) == TRUE) - return gUnknown_0815F36C; + return SecretBase_EventScript_PC; if (MetatileBehavior_IsRecordMixingSecretBasePC(metatileBehavior) == TRUE) - return gUnknown_0815F43A; + return SecretBase_EventScript_RecordMixingPC; if (MetatileBehavior_IsSecretBaseSandOrnament(metatileBehavior) == TRUE) - return gUnknown_0815F523; + return SecretBase_EventScript_SandOrnament; if (MetatileBehavior_IsSecretBaseShieldOrToyTV(metatileBehavior) == TRUE) - return gUnknown_0815F528; + return SecretBase_EventScript_ShieldOrToyTV; } return NULL; diff --git a/src/secret_base.c b/src/secret_base.c index d4a44de54..21dd83dd2 100644 --- a/src/secret_base.c +++ b/src/secret_base.c @@ -51,9 +51,10 @@ static void sub_80BCBC0(u8); static void sub_80BCBF8(u8 taskId); static void sub_80BCC54(u8 taskId); static void Task_SecretBasePC_Registry(u8 taskId); +static u8 GetSecretBaseOwnerType(u8 secretBaseIndex); -extern u8 gUnknown_0815F399[]; -extern u8 gUnknown_0815F49A[]; +extern u8 SecretBase_EventScript_PCCancel[]; +extern u8 SecretBase_EventScript_ShowRegisterMenu[]; EWRAM_DATA u8 gCurrentSecretBaseId = 0; const struct @@ -108,8 +109,19 @@ const struct YesNoFuncTable gUnknown_083D13E4 = { sub_80BCBC0 }; -const u8 gUnknown_083D13EC[] = { - 0x23,0x24,0xF,0x1F,0x21,0x2F,0xE,0x14,0x20,0x22,0x0,0x0 +static const u8 sSecretBaseOwnerGfxIds[] = { + // Male + OBJ_EVENT_GFX_YOUNGSTER, + OBJ_EVENT_GFX_BUG_CATCHER, + OBJ_EVENT_GFX_BOY_4, + OBJ_EVENT_GFX_CAMPER, + OBJ_EVENT_GFX_MAN_4, + // Female + OBJ_EVENT_GFX_LASS, + OBJ_EVENT_GFX_GIRL_3, + OBJ_EVENT_GFX_WOMAN_3, + OBJ_EVENT_GFX_PICNICKER, + OBJ_EVENT_GFX_WOMAN_7, }; extern u8 gUnknown_081A2E14[]; @@ -381,7 +393,7 @@ void sub_80BBAF0(void) bool8 sub_80BBB24(void) { - if (gMapHeader.mapType == MAP_TYPE_SECRET_BASE && VarGet(VAR_0x4097) == 0) + if (gMapHeader.mapType == MAP_TYPE_SECRET_BASE && VarGet(VAR_INIT_SECRET_BASE) == 0) return FALSE; return TRUE; } @@ -463,7 +475,7 @@ void sub_80BBCCC(u8 flagIn) sub_80BB764(&x, &y, 0x220); MapGridSetMetatileIdAt(x + 7, y + 7, 0xe21); } - else if (flagIn == 1 && VarGet(VAR_0x4089) == 1) + else if (flagIn == 1 && VarGet(VAR_SECRET_BASE_INITIALIZED) == 1) { sub_80BB764(&x, &y, 0x220); MapGridSetMetatileIdAt(x + 7, y + 7, 0xe0a); @@ -528,10 +540,10 @@ void sub_80BBDD0(void) } } -void sub_80BBFA4(void) +void SetSecretBaseOwnerGfxId(void) { int curBase = VarGet(VAR_CURRENT_SECRET_BASE); - VarSet(VAR_OBJ_GFX_ID_F, gUnknown_083D13EC[sub_80BCCA4(curBase)]); + VarSet(VAR_OBJ_GFX_ID_F, sSecretBaseOwnerGfxIds[GetSecretBaseOwnerType(curBase)]); } void SetCurrentSecretBaseFromPosition(struct MapPosition *position, struct MapEvents *events) @@ -705,7 +717,7 @@ void sub_80BC440(void) sub_80BC0F8(); } -void SecretBasePC_PackUp(void) +void MoveOutOfSecretBase(void) { IncrementGameStat(GAME_STAT_MOVED_SECRET_BASE); sub_80BC440(); @@ -766,7 +778,7 @@ u8 sub_80BC538(void) return retVal; } -void sub_80BC56C(void) +void GetCurSecretBaseRegistrationValidity(void) { if (sub_80BC268(sub_80BC14C(gCurrentSecretBaseId)) == TRUE) gSpecialVar_Result = 1; @@ -776,10 +788,10 @@ void sub_80BC56C(void) gSpecialVar_Result = 0; } -void sub_80BC5BC(void) +void ToggleCurSecretBaseRegistry(void) { gSaveBlock1.secretBases[sub_80BC14C(gCurrentSecretBaseId)].sbr_field_1_6 ^= 1; - FlagSet(FLAG_DECORATION_16); + FlagSet(FLAG_SECRET_BASE_REGISTRY_ENABLED); } void SecretBasePC_Decoration(void) @@ -1077,14 +1089,14 @@ void sub_80BCC54(u8 taskId) DestroyVerticalScrollIndicator(BOTTOM_ARROW); if (curBaseIndex == 0) - ScriptContext1_SetupScript(gUnknown_0815F399); + ScriptContext1_SetupScript(SecretBase_EventScript_PCCancel); else - ScriptContext1_SetupScript(gUnknown_0815F49A); + ScriptContext1_SetupScript(SecretBase_EventScript_ShowRegisterMenu); DestroyTask(taskId); } -u8 sub_80BCCA4(u8 secretBaseIndex) +static u8 GetSecretBaseOwnerType(u8 secretBaseIndex) { return (gSaveBlock1.secretBases[secretBaseIndex].playerName[OT_NAME_LENGTH] % 5) + gSaveBlock1.secretBases[secretBaseIndex].gender * 5; @@ -1092,7 +1104,7 @@ u8 sub_80BCCA4(u8 secretBaseIndex) const u8 *GetSecretBaseTrainerLoseText(void) { - u8 param = sub_80BCCA4(VarGet(VAR_CURRENT_SECRET_BASE)); + u8 param = GetSecretBaseOwnerType(VarGet(VAR_CURRENT_SECRET_BASE)); if (param == 0) return UnknownString_81A1BB2; if (param == 1) return UnknownString_81A1F67; if (param == 2) return UnknownString_81A2254; @@ -1148,7 +1160,7 @@ void sub_80BCE90() FlagSet(FLAG_DAILY_UNKNOWN_8C2); } - gSpecialVar_0x8004 = sub_80BCCA4(curBaseIndex); + gSpecialVar_0x8004 = GetSecretBaseOwnerType(curBaseIndex); gSpecialVar_Result = gSaveBlock1.secretBases[curBaseIndex].sbr_field_1_5; } |