Document src/overworld.c
This commit is contained in:
+11
-21
@@ -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
@@ -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
@@ -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);
|
||||||
|
|||||||
@@ -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
@@ -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 = 0;
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
+2
-2
@@ -468,7 +468,7 @@ static void Task_ExecuteMainMenuSelection(u8 taskId)
|
|||||||
{
|
{
|
||||||
default:
|
default:
|
||||||
case MAIN_MENU_NEWGAME:
|
case MAIN_MENU_NEWGAME:
|
||||||
gUnknown_2031DE0 = 0;
|
gExitStairsMovementDisabled = 0;
|
||||||
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 = 0;
|
||||||
FreeAllWindowBuffers();
|
FreeAllWindowBuffers();
|
||||||
TrySetUpQuestLogScenes_ElseContinueFromSave(taskId);
|
TrySetUpQuestLogScenes_ElseContinueFromSave(taskId);
|
||||||
break;
|
break;
|
||||||
|
|||||||
+230
-237
File diff suppressed because it is too large
Load Diff
+2
-2
@@ -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;
|
||||||
|
|||||||
Reference in New Issue
Block a user