Treat map setup commands like trade script commands

Fixes #736
This commit is contained in:
Rangi 2020-07-22 13:37:43 -04:00
parent b17255fe3f
commit 212846af57
5 changed files with 199 additions and 247 deletions

View File

@ -1,48 +1,52 @@
add_mapsetup: MACRO
\1_MapSetupCmd:
dba \1
ENDM
MapSetupCommands:
; entries correspond to map_*_command constants (see macros/scripts/map_setup.asm)
dba EnableLCD ; 00
dba DisableLCD ; 01
dba InitSound ; 02
dba PlayMapMusic ; 03
dba RestartMapMusic ; 04
dba FadeToMapMusic ; 05
dba FadeMapMusicAndPalettes ; 06
dba PlayMapMusicBike ; 07
dba ForceMapMusic ; 08
dba FadeInToMusic ; 09
dba LoadBlockData ; 0a (callback 1)
dba LoadConnectionBlockData ; 0b
dba SaveScreen ; 0c
dba BufferScreen ; 0d
dba LoadMapGraphics ; 0e
dba LoadMapTileset ; 0f
dba LoadMapTimeOfDay ; 10
dba LoadMapPalettes ; 11
dba LoadWildMonData ; 12
dba RefreshMapSprites ; 13
dba HandleNewMap ; 14
dba HandleContinueMap ; 15
dba LoadMapObjects ; 16
dba EnterMapSpawnPoint ; 17
dba EnterMapConnection ; 18
dba EnterMapWarp ; 19
dba LoadMapAttributes ; 1a
dba LoadMapAttributes_SkipObjects ; 1b
dba ClearBGPalettes ; 1c
dba FadeOutPalettes ; 1d
dba FadeInPalettes ; 1e
dba GetMapScreenCoords ; 1f
dba GetWarpDestCoords ; 20
dba SpawnInFacingDown ; 21
dba SpawnPlayer ; 22
dba RefreshPlayerCoords ; 23
dba ResetPlayerObjectAction ; 24
dba SkipUpdateMapSprites ; 25
dba UpdateRoamMons ; 26
dba JumpRoamMons ; 27
dba FadeOutMapMusic ; 28
dba ActivateMapAnims ; 29
dba SuspendMapAnims ; 2a
dba ApplyMapPalettes ; 2b
dba EnableTextAcceleration ; 2c
dba InitMapNameSign ; 2d
add_mapsetup EnableLCD ; 00
add_mapsetup DisableLCD ; 01
add_mapsetup InitSound ; 02
add_mapsetup PlayMapMusic ; 03
add_mapsetup RestartMapMusic ; 04
add_mapsetup FadeToMapMusic ; 05
add_mapsetup FadeMapMusicAndPalettes ; 06
add_mapsetup PlayMapMusicBike ; 07
add_mapsetup ForceMapMusic ; 08
add_mapsetup FadeInToMusic ; 09
add_mapsetup LoadBlockData ; 0a (callback 1)
add_mapsetup LoadConnectionBlockData ; 0b
add_mapsetup SaveScreen ; 0c
add_mapsetup BufferScreen ; 0d
add_mapsetup LoadMapGraphics ; 0e
add_mapsetup LoadMapTileset ; 0f
add_mapsetup LoadMapTimeOfDay ; 10
add_mapsetup LoadMapPalettes ; 11
add_mapsetup LoadWildMonData ; 12
add_mapsetup RefreshMapSprites ; 13
add_mapsetup HandleNewMap ; 14
add_mapsetup HandleContinueMap ; 15
add_mapsetup LoadMapObjects ; 16
add_mapsetup EnterMapSpawnPoint ; 17
add_mapsetup EnterMapConnection ; 18
add_mapsetup EnterMapWarp ; 19
add_mapsetup LoadMapAttributes ; 1a
add_mapsetup LoadMapAttributes_SkipObjects ; 1b
add_mapsetup ClearBGPalettes ; 1c
add_mapsetup FadeOutPalettes ; 1d
add_mapsetup FadeInPalettes ; 1e
add_mapsetup GetMapScreenCoords ; 1f
add_mapsetup GetWarpDestCoords ; 20
add_mapsetup SpawnInFacingDown ; 21
add_mapsetup SpawnPlayer ; 22
add_mapsetup RefreshPlayerCoords ; 23
add_mapsetup ResetPlayerObjectAction ; 24
add_mapsetup SkipUpdateMapSprites ; 25
add_mapsetup UpdateRoamMons ; 26
add_mapsetup JumpRoamMons ; 27
add_mapsetup FadeOutMapMusic ; 28
add_mapsetup ActivateMapAnims ; 29
add_mapsetup SuspendMapAnims ; 2a
add_mapsetup ApplyMapPalettes ; 2b
add_mapsetup EnableTextAcceleration ; 2c
add_mapsetup InitMapNameSign ; 2d

View File

@ -13,164 +13,169 @@ MapSetupScripts:
dw MapSetupScript_BadWarp
dw MapSetupScript_Fly
; valid commands are listed in MapSetupCommands (see data/maps/setup_script_pointers.asm)
mapsetup: MACRO
db (\1_MapSetupCmd - MapSetupCommands) / 3
ENDM
MapSetupScript_Teleport:
map_reset_player_object_action
mapsetup ResetPlayerObjectAction
MapSetupScript_Fly:
map_fade_out_palettes
map_jump_roam_mons
mapsetup FadeOutPalettes
mapsetup JumpRoamMons
MapSetupScript_Warp:
map_disable_lcd
map_init_sound
map_enter_spawn_point
map_load_attributes
map_handle_new
map_spawn_player
map_refresh_player_coords
map_get_screen_coords
map_load_block_data
map_buffer_screen
map_load_graphics
map_load_time_of_day
map_load_objects
map_enable_lcd
map_load_palettes
map_spawn_in_facing_down
map_refresh_sprites
map_play_music_bike
map_fade_in_to_music
map_fade_in_palettes
map_activate_anims
map_load_wild_mon_data
map_end
mapsetup DisableLCD
mapsetup InitSound
mapsetup EnterMapSpawnPoint
mapsetup LoadMapAttributes
mapsetup HandleNewMap
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 FadeInPalettes
mapsetup ActivateMapAnims
mapsetup LoadWildMonData
db -1 ; end
MapSetupScript_BadWarp:
map_enter_spawn_point
map_load_attributes
map_handle_new
map_spawn_player
map_refresh_player_coords
map_get_screen_coords
map_load_block_data
map_buffer_screen
map_disable_lcd
map_load_graphics
map_load_time_of_day
map_fade_out_music
map_enable_lcd
map_load_objects
map_load_palettes
map_spawn_in_facing_down
map_refresh_sprites
map_fade_to_music
map_fade_in_palettes
map_activate_anims
map_load_wild_mon_data
map_end
mapsetup EnterMapSpawnPoint
mapsetup LoadMapAttributes
mapsetup HandleNewMap
mapsetup SpawnPlayer
mapsetup RefreshPlayerCoords
mapsetup GetMapScreenCoords
mapsetup LoadBlockData
mapsetup BufferScreen
mapsetup DisableLCD
mapsetup LoadMapGraphics
mapsetup LoadMapTimeOfDay
mapsetup FadeOutMapMusic
mapsetup EnableLCD
mapsetup LoadMapObjects
mapsetup LoadMapPalettes
mapsetup SpawnInFacingDown
mapsetup RefreshMapSprites
mapsetup FadeToMapMusic
mapsetup FadeInPalettes
mapsetup ActivateMapAnims
mapsetup LoadWildMonData
db -1 ; end
MapSetupScript_Connection:
map_suspend_anims
map_enter_connection
map_load_attributes
map_handle_new
map_refresh_player_coords
map_load_block_data
map_load_tileset
map_save_screen
map_load_objects
map_fade_to_music
map_load_palettes
map_init_name_sign
map_apply_palettes
map_load_wild_mon_data
map_update_roam_mons
map_activate_anims
map_end
mapsetup SuspendMapAnims
mapsetup EnterMapConnection
mapsetup LoadMapAttributes
mapsetup HandleNewMap
mapsetup RefreshPlayerCoords
mapsetup LoadBlockData
mapsetup LoadMapTileset
mapsetup SaveScreen
mapsetup LoadMapObjects
mapsetup FadeToMapMusic
mapsetup LoadMapPalettes
mapsetup InitMapNameSign
mapsetup ApplyMapPalettes
mapsetup LoadWildMonData
mapsetup UpdateRoamMons
mapsetup ActivateMapAnims
db -1 ; end
MapSetupScript_Fall:
map_reset_player_object_action
mapsetup ResetPlayerObjectAction
MapSetupScript_Door:
map_fade_out_palettes
mapsetup FadeOutPalettes
MapSetupScript_Train:
map_enter_warp
map_load_attributes
map_get_warp_dest_coords
map_handle_new
map_refresh_player_coords
map_load_block_data
map_buffer_screen
map_disable_lcd
map_load_graphics
map_load_time_of_day
map_fade_out_music
map_enable_lcd
map_load_objects
map_load_palettes
map_refresh_sprites
map_fade_to_music
map_fade_in_palettes
map_activate_anims
map_load_wild_mon_data
map_update_roam_mons
map_end
mapsetup EnterMapWarp
mapsetup LoadMapAttributes
mapsetup GetWarpDestCoords
mapsetup HandleNewMap
mapsetup RefreshPlayerCoords
mapsetup LoadBlockData
mapsetup BufferScreen
mapsetup DisableLCD
mapsetup LoadMapGraphics
mapsetup LoadMapTimeOfDay
mapsetup FadeOutMapMusic
mapsetup EnableLCD
mapsetup LoadMapObjects
mapsetup LoadMapPalettes
mapsetup RefreshMapSprites
mapsetup FadeToMapMusic
mapsetup FadeInPalettes
mapsetup ActivateMapAnims
mapsetup LoadWildMonData
mapsetup UpdateRoamMons
db -1 ; end
MapSetupScript_ReloadMap:
map_fade_music_and_palettes
map_clear_bg_palettes
map_disable_lcd
map_init_sound
map_load_block_data
map_load_connection_block_data
map_load_graphics
map_load_time_of_day
map_enable_lcd
map_load_palettes
map_refresh_sprites
map_force_music
map_fade_in_palettes
map_activate_anims
map_load_wild_mon_data
map_end
mapsetup FadeMapMusicAndPalettes
mapsetup ClearBGPalettes
mapsetup DisableLCD
mapsetup InitSound
mapsetup LoadBlockData
mapsetup LoadConnectionBlockData
mapsetup LoadMapGraphics
mapsetup LoadMapTimeOfDay
mapsetup EnableLCD
mapsetup LoadMapPalettes
mapsetup RefreshMapSprites
mapsetup ForceMapMusic
mapsetup FadeInPalettes
mapsetup ActivateMapAnims
mapsetup LoadWildMonData
db -1 ; end
MapSetupScript_LinkReturn:
map_fade_music_and_palettes
map_disable_lcd
map_init_sound
map_handle_new
map_load_block_data
map_buffer_screen
map_load_graphics
map_load_time_of_day
map_enable_lcd
map_load_palettes
map_refresh_sprites
map_play_music_bike
map_fade_in_palettes
map_activate_anims
map_load_wild_mon_data
map_enable_text_acceleration
map_end
mapsetup FadeMapMusicAndPalettes
mapsetup DisableLCD
mapsetup InitSound
mapsetup HandleNewMap
mapsetup LoadBlockData
mapsetup BufferScreen
mapsetup LoadMapGraphics
mapsetup LoadMapTimeOfDay
mapsetup EnableLCD
mapsetup LoadMapPalettes
mapsetup RefreshMapSprites
mapsetup PlayMapMusicBike
mapsetup FadeInPalettes
mapsetup ActivateMapAnims
mapsetup LoadWildMonData
mapsetup EnableTextAcceleration
db -1 ; end
MapSetupScript_Continue:
map_disable_lcd
map_init_sound
map_load_attributes_no_objects
map_get_screen_coords
map_handle_continue
map_load_block_data
map_load_connection_block_data
map_buffer_screen
map_load_graphics
map_load_time_of_day
map_enable_lcd
map_load_palettes
map_refresh_sprites
map_play_music_bike
map_fade_in_palettes
map_activate_anims
map_load_wild_mon_data
map_end
mapsetup DisableLCD
mapsetup InitSound
mapsetup LoadMapAttributes_SkipObjects
mapsetup GetMapScreenCoords
mapsetup HandleContinueMap
mapsetup LoadBlockData
mapsetup LoadConnectionBlockData
mapsetup BufferScreen
mapsetup LoadMapGraphics
mapsetup LoadMapTimeOfDay
mapsetup EnableLCD
mapsetup LoadMapPalettes
mapsetup RefreshMapSprites
mapsetup PlayMapMusicBike
mapsetup FadeInPalettes
mapsetup ActivateMapAnims
mapsetup LoadWildMonData
db -1 ; end
MapSetupScript_Submenu:
map_load_block_data
map_load_connection_block_data
map_end
mapsetup LoadBlockData
mapsetup LoadConnectionBlockData
db -1 ; end

View File

@ -18,7 +18,7 @@ INCLUDE "data/maps/setup_scripts.asm"
ReadMapSetupScript:
.loop
ld a, [hli]
cp map_end_command
cp -1 ; end?
ret z
push hl

View File

@ -11,7 +11,6 @@ INCLUDE "macros/scripts/maps.asm"
INCLUDE "macros/scripts/events.asm"
INCLUDE "macros/scripts/text.asm"
INCLUDE "macros/scripts/movement.asm"
INCLUDE "macros/scripts/map_setup.asm"
INCLUDE "macros/scripts/battle_commands.asm"
INCLUDE "macros/scripts/battle_anims.asm"
INCLUDE "macros/scripts/gfx_anims.asm"

View File

@ -1,56 +0,0 @@
setup_command: MACRO
const \1_command
\1 EQUS "db \1_command"
ENDM
; MapSetupCommands indexes (see data/maps/setup_script_pointers.asm)
const_def
setup_command map_enable_lcd ; 00
setup_command map_disable_lcd ; 01
setup_command map_init_sound ; 02
setup_command map_play_music ; 03
setup_command map_restart_music ; 04
setup_command map_fade_to_music ; 05
setup_command map_fade_music_and_palettes ; 06
setup_command map_play_music_bike ; 07
setup_command map_force_music ; 08
setup_command map_fade_in_to_music ; 09
setup_command map_load_block_data ; 0a
setup_command map_load_connection_block_data ; 0b
setup_command map_save_screen ; 0c
setup_command map_buffer_screen ; 0d
setup_command map_load_graphics ; 0e
setup_command map_load_tileset ; 0f
setup_command map_load_time_of_day ; 10
setup_command map_load_palettes ; 11
setup_command map_load_wild_mon_data ; 12
setup_command map_refresh_sprites ; 13
setup_command map_handle_new ; 14
setup_command map_handle_continue ; 15
setup_command map_load_objects ; 16
setup_command map_enter_spawn_point ; 17
setup_command map_enter_connection ; 18
setup_command map_enter_warp ; 19
setup_command map_load_attributes ; 1a
setup_command map_load_attributes_no_objects ; 1b
setup_command map_clear_bg_palettes ; 1c
setup_command map_fade_out_palettes ; 1d
setup_command map_fade_in_palettes ; 1e
setup_command map_get_screen_coords ; 1f
setup_command map_get_warp_dest_coords ; 20
setup_command map_spawn_in_facing_down ; 21
setup_command map_spawn_player ; 22
setup_command map_refresh_player_coords ; 23
setup_command map_reset_player_object_action ; 24
setup_command map_skip_update_sprites ; 25
setup_command map_update_roam_mons ; 26
setup_command map_jump_roam_mons ; 27
setup_command map_fade_out_music ; 28
setup_command map_activate_anims ; 29
setup_command map_suspend_anims ; 2a
setup_command map_apply_palettes ; 2b
setup_command map_enable_text_acceleration ; 2c
setup_command map_init_name_sign ; 2d
const_def -1, -1
setup_command map_end ; ff