Merge pull request #522 from cbt6/overworld

Document src/overworld.c
This commit is contained in:
GriffinR
2022-07-16 18:18:48 -04:00
committed by GitHub
8 changed files with 253 additions and 271 deletions
+11 -21
View File
@@ -10,29 +10,23 @@
#define LINK_KEY_CODE_DPAD_UP 0x13 #define LINK_KEY_CODE_DPAD_UP 0x13
#define LINK_KEY_CODE_DPAD_LEFT 0x14 #define LINK_KEY_CODE_DPAD_LEFT 0x14
#define LINK_KEY_CODE_DPAD_RIGHT 0x15 #define LINK_KEY_CODE_DPAD_RIGHT 0x15
#define LINK_KEY_CODE_UNK_2 0x16 #define LINK_KEY_CODE_READY 0x16
#define LINK_KEY_CODE_EXIT_ROOM 0x17 #define LINK_KEY_CODE_EXIT_ROOM 0x17
#define LINK_KEY_CODE_START_BUTTON 0x18 #define LINK_KEY_CODE_START_BUTTON 0x18
#define LINK_KEY_CODE_A_BUTTON 0x19 #define LINK_KEY_CODE_A_BUTTON 0x19
#define LINK_KEY_CODE_UNK_4 0x1A // I'd guess this is the B button? #define LINK_KEY_CODE_IDLE 0x1A
// These two are a hack to stop user input until link stuff can be // These two are a hack to stop user input until link stuff can be
// resolved. // resolved.
#define LINK_KEY_CODE_HANDLE_RECV_QUEUE 0x1B #define LINK_KEY_CODE_HANDLE_RECV_QUEUE 0x1B
#define LINK_KEY_CODE_HANDLE_SEND_QUEUE 0x1C #define LINK_KEY_CODE_HANDLE_SEND_QUEUE 0x1C
#define LINK_KEY_CODE_UNK_7 0x1D
#define LINK_KEY_CODE_UNK_8 0x1E #define LINK_KEY_CODE_EXIT_SEAT 0x1D
#define MOVEMENT_MODE_FREE 0 #define MOVEMENT_MODE_FREE 0
#define MOVEMENT_MODE_FROZEN 1 #define MOVEMENT_MODE_FROZEN 1
#define MOVEMENT_MODE_SCRIPTED 2 #define MOVEMENT_MODE_SCRIPTED 2
struct UnkPlayerStruct
{
u8 player_field_0;
u8 player_field_1;
};
struct LinkPlayerObjectEvent struct LinkPlayerObjectEvent
{ {
u8 active; u8 active;
@@ -53,14 +47,14 @@ struct CreditsOverworldCmd
#define MUSIC_DISABLE_STOP 1 #define MUSIC_DISABLE_STOP 1
#define MUSIC_DISABLE_KEEP 2 #define MUSIC_DISABLE_KEEP 2
extern const struct UCoords32 gDirectionToVectors[]; extern const struct Coords32 gDirectionToVectors[];
extern struct LinkPlayerObjectEvent gLinkPlayerObjectEvents[4]; extern struct LinkPlayerObjectEvent gLinkPlayerObjectEvents[4];
extern MainCallback gFieldCallback; extern MainCallback gFieldCallback;
extern struct WarpData gLastUsedWarp; extern struct WarpData gLastUsedWarp;
extern u8 gUnknown_2031DE0; extern u8 gExitStairsMovementDisabled;
extern u8 gFieldLinkPlayerCount; extern u8 gFieldLinkPlayerCount;
extern u8 gLocalLinkPlayerId; extern u8 gLocalLinkPlayerId;
@@ -83,8 +77,6 @@ u8 IsMapTypeOutdoors(u8 mapType);
void Overworld_ClearSavedMusic(void); void Overworld_ClearSavedMusic(void);
bool32 Overworld_MusicCanOverrideMapMusic(u16 song); bool32 Overworld_MusicCanOverrideMapMusic(u16 song);
void player_avatar_init_params_reset(void);
void Overworld_SetFlashLevel(s32 a1); void Overworld_SetFlashLevel(s32 a1);
u8 Overworld_GetFlashLevel(void); u8 Overworld_GetFlashLevel(void);
@@ -102,9 +94,7 @@ void CB2_ReturnToFieldContinueScriptPlayMapMusic(void);
void WarpIntoMap(void); void WarpIntoMap(void);
u8 GetMapTypeByGroupAndId(s8 mapGroup, s8 mapNum); u8 GetMapTypeByGroupAndId(s8 mapGroup, s8 mapNum);
void SetWarpDestinationToMapWarp(s8 mapGroup, s8 mapNum, s8 warpNum); void SetWarpDestinationToMapWarp(s8 mapGroup, s8 mapNum, s8 warpNum);
void c2_load_new_map(void);
void SetWarpDestinationToDynamicWarp(u8 unused); void SetWarpDestinationToDynamicWarp(u8 unused);
void mapldr_default(void);
u32 GetGameStat(u8 statId); u32 GetGameStat(u8 statId);
void SetGameStat(u8 statId, u32 value); void SetGameStat(u8 statId, u32 value);
@@ -174,13 +164,13 @@ bool32 Overworld_RecvKeysFromLinkIsRunning(void);
void OverworldWhiteOutGetMoneyLoss(void); void OverworldWhiteOutGetMoneyLoss(void);
u8 GetCurrentMapBattleScene(void); u8 GetCurrentMapBattleScene(void);
void Overworld_ResetStateAfterFly(void); void Overworld_ResetStateAfterFly(void);
bool8 sub_8055B38(u16 metatileBehavior); bool8 MetatileBehavior_IsSurfableInSeafoamIslands(u16 metatileBehavior);
void Overworld_ResetMapMusic(void); void Overworld_ResetMapMusic(void);
u16 QueueExitLinkRoomKey(void); u16 QueueExitLinkRoomKey(void);
u16 sub_8057F34(void); u16 SetInCableClubSeat(void);
u32 sub_8057EC0(void); u32 GetCableClubPartnersReady(void);
u16 sub_8057F70(void); u16 SetStartedCableClubActivity(void);
u16 sub_8057F48(void); u16 SetLinkWaitingForScript(void);
void SetMainCallback1(MainCallback cb); void SetMainCallback1(MainCallback cb);
void CB1_Overworld(void); void CB1_Overworld(void);
void CB2_ReturnToFieldContinueScript(void); void CB2_ReturnToFieldContinueScript(void);
+4 -4
View File
@@ -782,20 +782,20 @@ static void Task_EnterCableClubSeat(u8 taskId)
case 1: case 1:
if (IsFieldMessageBoxHidden()) if (IsFieldMessageBoxHidden())
{ {
sub_8057F34(); SetInCableClubSeat();
SetLocalLinkPlayerId(gSpecialVar_0x8005); SetLocalLinkPlayerId(gSpecialVar_0x8005);
task->data[0] = 2; task->data[0] = 2;
} }
break; break;
case 2: case 2:
switch (sub_8057EC0()) switch (GetCableClubPartnersReady())
{ {
case 0: case 0:
break; break;
case 1: case 1:
HideFieldMessageBox(); HideFieldMessageBox();
task->data[0] = 0; task->data[0] = 0;
sub_8057F70(); SetStartedCableClubActivity();
SwitchTaskToFollowupFunc(taskId); SwitchTaskToFollowupFunc(taskId);
break; break;
case 2: case 2:
@@ -804,7 +804,7 @@ static void Task_EnterCableClubSeat(u8 taskId)
} }
break; break;
case 3: case 3:
sub_8057F48(); SetLinkWaitingForScript();
sub_80F771C(TRUE); sub_80F771C(TRUE);
DestroyTask(taskId); DestroyTask(taskId);
EnableBothScriptContexts(); EnableBothScriptContexts();
+1 -2
View File
@@ -1278,8 +1278,7 @@ static bool8 FallWarpEffect_7(struct Task * task)
UnfreezeObjectEvents(); UnfreezeObjectEvents();
InstallCameraPanAheadCallback(); InstallCameraPanAheadCallback();
PlayerGetDestCoords(&x, &y); PlayerGetDestCoords(&x, &y);
// Seafoam Islands if (MetatileBehavior_IsSurfableInSeafoamIslands(MapGridGetMetatileBehaviorAt(x, y)) == TRUE)
if (sub_8055B38(MapGridGetMetatileBehaviorAt(x, y)) == TRUE)
{ {
VarSet(VAR_TEMP_1, 1); VarSet(VAR_TEMP_1, 1);
SetPlayerAvatarTransitionFlags(PLAYER_AVATAR_FLAG_SURFING); SetPlayerAvatarTransitionFlags(PLAYER_AVATAR_FLAG_SURFING);
+2 -2
View File
@@ -264,7 +264,7 @@ static void SetUpWarpExitTask(bool8 playerNotMoving)
func = Task_ExitNonAnimDoor; func = Task_ExitNonAnimDoor;
else if (MetatileBehavior_IsDirectionalStairWarp(metatileBehavior) == TRUE) else if (MetatileBehavior_IsDirectionalStairWarp(metatileBehavior) == TRUE)
{ {
u8 tmp = gUnknown_2031DE0; u8 tmp = gExitStairsMovementDisabled;
func = Task_ExitNonDoor; func = Task_ExitNonDoor;
if (!tmp) if (!tmp)
func = Task_ExitStairs; func = Task_ExitStairs;
@@ -272,7 +272,7 @@ static void SetUpWarpExitTask(bool8 playerNotMoving)
else else
func = Task_ExitNonDoor; func = Task_ExitNonDoor;
} }
gUnknown_2031DE0 = FALSE; gExitStairsMovementDisabled = FALSE;
CreateTask(func, 10); CreateTask(func, 10);
} }
+1 -1
View File
@@ -221,7 +221,7 @@ static bool8 sub_80A1194(void)
ScriptContext2_Enable(); ScriptContext2_Enable();
FadeInFromBlack(); FadeInFromBlack();
CreateTask(sub_80A11C0, 10); CreateTask(sub_80A11C0, 10);
gUnknown_2031DE0 = 0; gExitStairsMovementDisabled = FALSE;
return TRUE; return TRUE;
} }
+2 -2
View File
@@ -468,7 +468,7 @@ static void Task_ExecuteMainMenuSelection(u8 taskId)
{ {
default: default:
case MAIN_MENU_NEWGAME: case MAIN_MENU_NEWGAME:
gUnknown_2031DE0 = 0; gExitStairsMovementDisabled = FALSE;
FreeAllWindowBuffers(); FreeAllWindowBuffers();
DestroyTask(taskId); DestroyTask(taskId);
StartNewGameScene(); StartNewGameScene();
@@ -476,7 +476,7 @@ static void Task_ExecuteMainMenuSelection(u8 taskId)
case MAIN_MENU_CONTINUE: case MAIN_MENU_CONTINUE:
gPlttBufferUnfaded[0] = RGB_BLACK; gPlttBufferUnfaded[0] = RGB_BLACK;
gPlttBufferFaded[0] = RGB_BLACK; gPlttBufferFaded[0] = RGB_BLACK;
gUnknown_2031DE0 = 0; gExitStairsMovementDisabled = FALSE;
FreeAllWindowBuffers(); FreeAllWindowBuffers();
TrySetUpQuestLogScenes_ElseContinueFromSave(taskId); TrySetUpQuestLogScenes_ElseContinueFromSave(taskId);
break; break;
+230 -237
View File
File diff suppressed because it is too large Load Diff
+2 -2
View File
@@ -1416,7 +1416,7 @@ static void InitRegionMap(u8 type)
} }
else else
{ {
gUnknown_2031DE0 = TRUE; gExitStairsMovementDisabled = TRUE;
sRegionMap->type = type; sRegionMap->type = type;
sRegionMap->mainState = 0; sRegionMap->mainState = 0;
sRegionMap->openState = 0; sRegionMap->openState = 0;
@@ -1435,7 +1435,7 @@ void InitRegionMapWithExitCB(u8 type, MainCallback cb)
} }
else else
{ {
gUnknown_2031DE0 = TRUE; gExitStairsMovementDisabled = TRUE;
sRegionMap->type = type; sRegionMap->type = type;
sRegionMap->mainState = 0; sRegionMap->mainState = 0;
sRegionMap->openState = 0; sRegionMap->openState = 0;