MapSetupScripts: ; entries correspond to MAPSETUP_* constants (see constants/map_setup_constants.asm) table_width 2, MapSetupScripts dw MapSetupScript_Warp dw MapSetupScript_Continue dw MapSetupScript_ReloadMap dw MapSetupScript_Teleport dw MapSetupScript_Door dw MapSetupScript_Fall dw MapSetupScript_Connection dw MapSetupScript_LinkReturn dw MapSetupScript_Train dw MapSetupScript_Submenu dw MapSetupScript_BadWarp dw MapSetupScript_Fly dw MapSetupScript_EnterLevel dw MapSetupScript_ExitViewMap assert_table_length NUM_MAPSETUP_SCRIPTS ; valid commands are listed in MapSetupCommands (see data/maps/setup_script_pointers.asm) MACRO mapsetup db (\1_MapSetupCmd - MapSetupCommands) / 3 ENDM MapSetupScript_EnterLevel: ; same as MapSetupScript_Warp, but includes ResetLevelScopedEventFlags and ConstructAndEnableOverworldHUD mapsetup DisableLCD mapsetup InitSound mapsetup EnterMapSpawnPoint mapsetup LoadMapAttributes mapsetup HandleNewMap mapsetup ResetLevelScopedEventFlags mapsetup SpawnPlayer mapsetup RefreshPlayerCoords mapsetup GetMapScreenCoords mapsetup LoadBlockData mapsetup BufferScreen mapsetup LoadMapGraphics mapsetup LoadMapTimeOfDay mapsetup LoadMapObjects mapsetup EnableLCD mapsetup LoadMapPalettes mapsetup SpawnInFacingDown mapsetup RefreshMapSprites mapsetup PlayMapMusicBike mapsetup FadeInToMusic mapsetup FadeInFromWhite mapsetup ConstructAndEnableOverworldHUD mapsetup ActivateMapAnims mapsetup LoadWildMonData mapsetup MapCallbackAtEndMapSetup db -1 ; end MapSetupScript_Teleport: mapsetup ResetPlayerObjectAction MapSetupScript_Fly: mapsetup FadeOutToWhite mapsetup JumpRoamMons MapSetupScript_Warp: mapsetup DisableLCD mapsetup InitSound mapsetup BackupMapObjects mapsetup EnterMapSpawnPoint mapsetup LoadMapAttributes mapsetup HandleNewMap mapsetup SpawnPlayer mapsetup RefreshPlayerCoords mapsetup GetMapScreenCoords mapsetup LoadBlockData mapsetup LoadDisabledSpaces mapsetup BufferScreen mapsetup LoadMapGraphics mapsetup LoadMapTimeOfDay mapsetup LoadMapObjects mapsetup EnableLCD mapsetup LoadMapPalettes mapsetup SpawnInFacingDown mapsetup RefreshMapSprites mapsetup PlayMapMusicBike mapsetup FadeInToMusic mapsetup FadeInFromWhite mapsetup ActivateMapAnims mapsetup LoadWildMonData mapsetup AnchorPointAfterWarp mapsetup MapCallbackAtEndMapSetup db -1 ; end MapSetupScript_BadWarp: mapsetup BackupMapObjects mapsetup EnterMapSpawnPoint mapsetup LoadMapAttributes mapsetup HandleNewMap mapsetup SpawnPlayer mapsetup RefreshPlayerCoords mapsetup GetMapScreenCoords mapsetup LoadBlockData mapsetup LoadDisabledSpaces mapsetup BufferScreen mapsetup DisableLCD mapsetup LoadMapGraphics mapsetup LoadMapTimeOfDay mapsetup FadeOutMapMusic mapsetup EnableLCD mapsetup LoadMapObjects mapsetup LoadMapPalettes mapsetup SpawnInFacingDown mapsetup RefreshMapSprites mapsetup FadeToMapMusic mapsetup FadeInFromWhite mapsetup ActivateMapAnims mapsetup LoadWildMonData mapsetup AnchorPointAfterWarp mapsetup MapCallbackAtEndMapSetup db -1 ; end MapSetupScript_Connection: mapsetup SuspendMapAnims mapsetup BackupMapObjects mapsetup EnterMapConnection mapsetup LoadMapAttributes mapsetup HandleNewMap mapsetup RefreshPlayerCoords mapsetup LoadBlockData mapsetup LoadDisabledSpaces mapsetup RepositionMockedPlayerObject mapsetup LoadMapTileset mapsetup SaveScreen mapsetup LoadMapObjects mapsetup FadeToMapMusic mapsetup LoadMapPalettes mapsetup ApplyMapPalettes mapsetup LoadWildMonData mapsetup UpdateRoamMons mapsetup ActivateMapAnims mapsetup MapCallbackAtEndMapSetup db -1 ; end MapSetupScript_Fall: mapsetup ResetPlayerObjectAction MapSetupScript_Door: mapsetup FadeOutToWhite MapSetupScript_Train: mapsetup BackupMapObjects mapsetup EnterMapWarp mapsetup LoadMapAttributes mapsetup GetWarpDestCoords mapsetup HandleNewMap mapsetup RefreshPlayerCoords mapsetup LoadBlockData mapsetup LoadDisabledSpaces mapsetup BufferScreen mapsetup DisableLCD mapsetup LoadMapGraphics mapsetup LoadMapTimeOfDay mapsetup FadeOutMapMusic mapsetup EnableLCD mapsetup LoadMapObjects mapsetup LoadMapPalettes mapsetup RefreshMapSprites mapsetup FadeToMapMusic mapsetup FadeInFromWhite mapsetup ActivateMapAnims mapsetup LoadWildMonData mapsetup UpdateRoamMons mapsetup AnchorPointAfterWarp mapsetup MapCallbackAtEndMapSetup db -1 ; end MapSetupScript_ReloadMap: mapsetup FadeMapMusicAndPalettes mapsetup ClearBGPalettes mapsetup DisableLCD mapsetup InitSound mapsetup LoadBlockData mapsetup LoadConnectionBlockData mapsetup LoadDisabledSpaces mapsetup LoadMapGraphics mapsetup LoadMapTimeOfDay mapsetup EnableLCD mapsetup LoadMapPalettes mapsetup RefreshMapSprites mapsetup ForceMapMusic mapsetup FadeInFromWhite mapsetup EnableOverworldHUD mapsetup ActivateMapAnims mapsetup LoadWildMonData mapsetup MapCallbackAtEndMapSetup db -1 ; end MapSetupScript_ExitViewMap: mapsetup ClearBGPalettes mapsetup DisableLCD mapsetup EnterMapSpawnPoint mapsetup LoadMapAttributes mapsetup SpawnPlayer mapsetup RefreshPlayerCoords mapsetup GetMapScreenCoords mapsetup LoadBlockData mapsetup LoadDisabledSpaces mapsetup BufferScreen mapsetup LoadMapGraphics mapsetup LoadMapTimeOfDay mapsetup LoadMapObjects mapsetup EnableLCD mapsetup LoadMapPalettes mapsetup SpawnInCustomFacing ; restore player's facing if in branch space mapsetup RefreshMapSprites mapsetup FadeInFromWhite mapsetup EnableOverworldHUD mapsetup ActivateMapAnims mapsetup LoadWildMonData mapsetup MapCallbackAtEndMapSetup db -1 ; end MapSetupScript_LinkReturn: mapsetup FadeMapMusicAndPalettes mapsetup DisableLCD mapsetup InitSound mapsetup HandleNewMap mapsetup LoadBlockData mapsetup LoadDisabledSpaces mapsetup BufferScreen mapsetup LoadMapGraphics mapsetup LoadMapTimeOfDay mapsetup EnableLCD mapsetup LoadMapPalettes mapsetup RefreshMapSprites mapsetup PlayMapMusicBike mapsetup FadeInFromWhite mapsetup ActivateMapAnims mapsetup LoadWildMonData mapsetup EnableTextAcceleration mapsetup MapCallbackAtEndMapSetup db -1 ; end MapSetupScript_Continue: mapsetup DisableLCD mapsetup InitSound mapsetup LoadMapAttributes_SkipObjects mapsetup GetMapScreenCoords mapsetup HandleContinueMap mapsetup LoadBlockData mapsetup LoadConnectionBlockData mapsetup LoadDisabledSpaces mapsetup BufferScreen mapsetup LoadMapGraphics mapsetup LoadMapTimeOfDay mapsetup EnableLCD mapsetup LoadMapPalettes mapsetup RefreshMapSprites mapsetup PlayMapMusicBike mapsetup FadeInFromWhite mapsetup ConstructAndEnableOverworldHUD mapsetup ActivateMapAnims mapsetup LoadWildMonData mapsetup MapCallbackAtEndMapSetup db -1 ; end MapSetupScript_Submenu: mapsetup LoadBlockData mapsetup LoadConnectionBlockData mapsetup LoadDisabledSpaces db -1 ; end