summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/debug/tomomichi_debug_menu.c2
-rw-r--r--src/decoration.c4
-rw-r--r--src/field_control_avatar.c22
-rw-r--r--src/secret_base.c46
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;
}