shithub: zelda3

ref: 02754b2f0937d94bb90f7f742f4f7aa6dad06bd4
dir: /src/overworld.h/

View raw version
#pragma once
#include "zelda_rtl.h"
#include "variables.h"

const uint8 *GetMap8toTileAttr(void);
const uint16 *GetMap16toMap8Table(void);
bool LookupInOwEntranceTab(uint16 r0, uint16 r2);
int LookupInOwEntranceTab2(uint16 pos);
bool CanEnterWithTagalong(int e);
int DirToEnum(int dir);
void Overworld_ResetMosaicDown(void);
void Overworld_Func1D(void);
void Overworld_Func1E(void);
uint16 Overworld_GetSignText(int area);
const uint8 *GetOverworldSpritePtr(int area);
uint8 GetOverworldBgPalette(int idx);
void Sprite_LoadGraphicsProperties(void);
void Sprite_LoadGraphicsProperties_light_world_only(void);
void InitializeMirrorHDMA(void);
void MirrorWarp_BuildWavingHDMATable(void);
void MirrorWarp_BuildDewavingHDMATable(void);
void TakeDamageFromPit(void);
void Module08_OverworldLoad(void);
void PreOverworld_LoadProperties(void);
void AdjustLinkBunnyStatus(void);
void ForceNonbunnyStatus(void);
void RecoverPositionAfterDrowning(void);
void Module0F_SpotlightClose(void);
void Dungeon_PrepExitWithSpotlight(void);
void Spotlight_ConfigureTableAndControl(void);
void OpenSpotlight_Next2(void);
void Module10_SpotlightOpen(void);
void Module10_00_OpenIris(void);
void SetTargetOverworldWarpToPyramid(void);
void ResetAncillaAndCutscene(void);
void Module09_Overworld(void);
void OverworldOverlay_HandleRain(void);
void Module09_00_PlayerControl(void);
void OverworldHandleTransitions(void);
void Overworld_LoadGFXAndScreenSize(void);
void ScrollAndCheckForSOWExit(void);
void Module09_LoadAuxGFX(void);
void Overworld_FinishTransGfx(void);
void Module09_LoadNewMapAndGFX(void);
void Overworld_RunScrollTransition(void);
void Module09_LoadNewSprites(void);
void Overworld_StartScrollTransition(void);
void Overworld_EaseOffScrollTransition(void);
void Module09_0A_WalkFromExiting_FacingDown(void);
void Module09_0B_WalkFromExiting_FacingUp(void);
void Module09_09_OpenBigDoorFromExiting(void);
void Overworld_DoMapUpdate32x32_B(void);
void Module09_0C_OpenBigDoor(void);
void Overworld_DoMapUpdate32x32_conditional(void);
void Overworld_DoMapUpdate32x32(void);
void Overworld_StartMosaicTransition(void);
void Overworld_LoadOverlays(void);
void PreOverworld_LoadOverlays(void);
void Overworld_LoadOverlays2(void);
void Module09_FadeBackInFromMosaic(void);
void Overworld_Func1C(void);
void OverworldMosaicTransition_LoadSpriteGraphicsAndSetMosaic(void);
void Overworld_Func22(void);
void Overworld_Func18(void);
void Overworld_Func19(void);
void Module09_MirrorWarp(void);
void MirrorWarp_FinalizeAndLoadDestination(void);
void Overworld_DrawScreenAtCurrentMirrorPosition(void);
void MirrorWarp_LoadSpritesAndColors(void);
void Overworld_Func2B(void);
void Overworld_WeathervaneExplosion(void);
void Module09_2E_Whirlpool(void);
void Overworld_Func2F(void);
void Module09_2A_RecoverFromDrowning(void);
void Module09_2A_00_ScrollToLand(void);
void Overworld_OperateCameraScroll(void);
int OverworldCameraBoundaryCheck(int xa, int ya, int vd, int r8);
int OverworldScrollTransition(void);
void Overworld_SetCameraBoundaries(int big, int area);
void Overworld_FinalizeEntryOntoScreen(void);
void Overworld_Func1F(void);
void ConditionalMosaicControl(void);
void Overworld_ResetMosaic_alwaysIncrease(void);
void Overworld_SetSongList(void);
void LoadOverworldFromDungeon(void);
void Overworld_LoadNewScreenProperties(void);
void LoadCachedEntranceProperties(void);
void Overworld_EnterSpecialArea(void);
void LoadOverworldFromSpecialOverworld(void);
void FluteMenu_LoadTransport(void);
void Overworld_LoadBirdTravelPos(int k);
void FluteMenu_LoadSelectedScreenPalettes(void);
void FindPartnerWhirlpoolExit(void);
void Overworld_LoadAmbientOverlay(bool load_map_data);
void Overworld_LoadAmbientOverlayFalse(void);
void Overworld_LoadAndBuildScreen(void);
void Module08_02_LoadAndAdvance(void);
void Overworld_DrawQuadrantsAndOverlays(void);
void Overworld_HandleOverlaysAndBombDoors(void);
void TriggerAndFinishMapLoadStripe_Y(int n);
void TriggerAndFinishMapLoadStripe_X(int n);
void SomeTileMapChange(void);
void CreateInitialNewScreenMapToScroll(void);
void CreateInitialOWScreenView_Big_North(void);
void CreateInitialOWScreenView_Big_South(void);
void CreateInitialOWScreenView_Big_West(void);
void CreateInitialOWScreenView_Big_East(void);
void CreateInitialOWScreenView_Small_North(void);
void CreateInitialOWScreenView_Small_South(void);
void CreateInitialOWScreenView_Small_West(void);
void CreateInitialOWScreenView_Small_East(void);
void OverworldTransitionScrollAndLoadMap(void);
uint16 *BuildFullStripeDuringTransition_North(uint16 *dst);
uint16 *BuildFullStripeDuringTransition_South(uint16 *dst);
uint16 *BuildFullStripeDuringTransition_West(uint16 *dst);
uint16 *BuildFullStripeDuringTransition_East(uint16 *dst);
void OverworldHandleMapScroll(void);
uint16 *CheckForNewlyLoadedMapAreas_North(uint16 *dst);
uint16 *CheckForNewlyLoadedMapAreas_South(uint16 *dst);
uint16 *CheckForNewlyLoadedMapAreas_West(uint16 *dst);
uint16 *CheckForNewlyLoadedMapAreas_East(uint16 *dst);
uint16 *BufferAndBuildMap16Stripes_X(uint16 *dst);
uint16 *BufferAndBuildMap16Stripes_Y(uint16 *dst);
void Overworld_DecompressAndDrawAllQuadrants(void);
void Overworld_DecompressAndDrawOneQuadrant(uint16 *dst, int screen);
void Overworld_ParseMap32Definition(uint16 *dst, uint16 input);
void OverworldLoad_LoadSubOverlayMap32(void);
void LoadOverworldOverlay(void);
void Map16ToMap8(const uint8 *src, int r20);
void OverworldCopyMap16ToBuffer(const uint8 *src, uint16 r20, int r14, uint16 *r10);
void MirrorBonk_RecoverChangedTiles(void);
void DecompressEnemyDamageSubclasses(void);
int Decompress_bank02(uint8 *dst, const uint8 *src);
uint8 Overworld_ReadTileAttribute(uint16 x, uint16 y);
void Overworld_SetFixedColAndScroll(void);
void Overworld_Memorize_Map16_Change(uint16 pos, uint16 value);
void HandlePegPuzzles(uint16 pos);
void GanonTowerEntrance_Func1(void);
void Overworld_CheckSpecialSwitchArea(void);
const uint16 *Overworld_GetMap16OfLink_Mult8(void);
void Palette_AnimGetMasterSword(void);
void Palette_AnimGetMasterSword2(void);
void Palette_AnimGetMasterSword3(void);
void Overworld_DwDeathMountainPaletteAnimation(void);
void Overworld_LoadEventOverlay(void);
void Ancilla_TerminateWaterfallSplashes(void);
void Overworld_GetPitDestination(void);
void Overworld_UseEntrance(void);
uint16 Overworld_ToolAndTileInteraction(uint16 x, uint16 y);
void Overworld_PickHammerSfx(uint16 a);
uint16 Overworld_GetLinkMap16Coords(Point16U *xy);
uint8 Overworld_HandleLiftableTiles(Point16U *pt_arg);
uint8 Overworld_LiftingSmallObj(uint16 a, uint16 pos, uint16 y, Point16U pt);
int Overworld_SmashRockPile(bool down_one_tile, Point16U *pt);
uint8 SmashRockPile_fromLift(uint16 a, uint16 pos, uint16 y, Point16U pt);
void Overworld_BombTiles32x32(uint16 x, uint16 y);
void Overworld_BombTile(int x, int y);
void Overworld_AlterWeathervane(void);
void OpenGargoylesDomain(void);
void CreatePyramidHole(void);
uint16 Overworld_RevealSecret(uint16 pos);
void AdjustSecretForPowder(void);
void Overworld_DrawMap16_Persist(uint16 pos, uint16 value);
void Overworld_DrawMap16(uint16 pos, uint16 value);
void Overworld_AlterTileHardcore(uint16 pos, uint16 value);
uint16 Overworld_FindMap16VRAMAddress(uint16 addr);
void Overworld_AnimateEntrance(void);
void Overworld_AnimateEntrance_PoD(void);
void Overworld_AnimateEntrance_Skull(void);
void Overworld_AnimateEntrance_Mire(void);
void Overworld_AnimateEntrance_TurtleRock(void);
void OverworldEntrance_PlayJingle(void);
void OverworldEntrance_DrawManyTR(void);
void Overworld_AnimateEntrance_GanonsTower(void);
void OverworldEntrance_AdvanceAndBoom(void);