Define map setup commands as macros like other script commands

This commit is contained in:
Rangi 2020-07-13 20:44:16 -04:00
parent d626a0dc3b
commit eca33ef190
8 changed files with 394 additions and 241 deletions

View File

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

View File

@ -0,0 +1,48 @@
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

View File

@ -14,163 +14,163 @@ MapSetupScripts:
dw MapSetupScript_Fly
MapSetupScript_Teleport:
db map_reset_player_object_action
map_reset_player_object_action
MapSetupScript_Fly:
db map_fade_out_palettes
db map_jump_roam_mons
map_fade_out_palettes
map_jump_roam_mons
MapSetupScript_Warp:
db map_disable_lcd
db map_init_sound
db map_enter_spawn_point
db map_load_attributes
db map_handle_new
db map_spawn_player
db map_refresh_player_coords
db map_get_screen_coords
db map_load_block_data
db map_buffer_screen
db map_load_graphics
db map_load_time_of_day
db map_load_objects
db map_enable_lcd
db map_load_palettes
db map_spawn_in_facing_down
db map_refresh_sprites
db map_play_music_bike
db map_fade_in_to_music
db map_fade_in_palettes
db map_activate_anims
db map_load_wild_mon_data
db map_end
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
MapSetupScript_BadWarp:
db map_enter_spawn_point
db map_load_attributes
db map_handle_new
db map_spawn_player
db map_refresh_player_coords
db map_get_screen_coords
db map_load_block_data
db map_buffer_screen
db map_disable_lcd
db map_load_graphics
db map_load_time_of_day
db map_fade_out_music
db map_enable_lcd
db map_load_objects
db map_load_palettes
db map_spawn_in_facing_down
db map_refresh_sprites
db map_fade_to_music
db map_fade_in_palettes
db map_activate_anims
db map_load_wild_mon_data
db map_end
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
MapSetupScript_Connection:
db map_suspend_anims
db map_enter_connection
db map_load_attributes
db map_handle_new
db map_refresh_player_coords
db map_load_block_data
db map_load_tileset
db map_save_screen
db map_load_objects
db map_fade_to_music
db map_load_palettes
db map_init_name_sign
db map_apply_palettes
db map_load_wild_mon_data
db map_update_roam_mons
db map_activate_anims
db map_end
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
MapSetupScript_Fall:
db map_reset_player_object_action
map_reset_player_object_action
MapSetupScript_Door:
db map_fade_out_palettes
map_fade_out_palettes
MapSetupScript_Train:
db map_enter_warp
db map_load_attributes
db map_get_warp_dest_coords
db map_handle_new
db map_refresh_player_coords
db map_load_block_data
db map_buffer_screen
db map_disable_lcd
db map_load_graphics
db map_load_time_of_day
db map_fade_out_music
db map_enable_lcd
db map_load_objects
db map_load_palettes
db map_refresh_sprites
db map_fade_to_music
db map_fade_in_palettes
db map_activate_anims
db map_load_wild_mon_data
db map_update_roam_mons
db map_end
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
MapSetupScript_ReloadMap:
db map_fade_music_and_palettes
db map_clear_bg_palettes
db map_disable_lcd
db map_init_sound
db map_load_block_data
db map_load_connection_block_data
db map_load_graphics
db map_load_time_of_day
db map_enable_lcd
db map_load_palettes
db map_refresh_sprites
db map_force_music
db map_fade_in_palettes
db map_activate_anims
db map_load_wild_mon_data
db map_end
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
MapSetupScript_LinkReturn:
db map_fade_music_and_palettes
db map_disable_lcd
db map_init_sound
db map_handle_new
db map_load_block_data
db map_buffer_screen
db map_load_graphics
db map_load_time_of_day
db map_enable_lcd
db map_load_palettes
db map_refresh_sprites
db map_play_music_bike
db map_fade_in_palettes
db map_activate_anims
db map_load_wild_mon_data
db map_enable_text_acceleration
db map_end
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
MapSetupScript_Continue:
db map_disable_lcd
db map_init_sound
db map_load_attributes_no_objects
db map_get_screen_coords
db map_handle_continue
db map_load_block_data
db map_load_connection_block_data
db map_buffer_screen
db map_load_graphics
db map_load_time_of_day
db map_enable_lcd
db map_load_palettes
db map_refresh_sprites
db map_play_music_bike
db map_fade_in_palettes
db map_activate_anims
db map_load_wild_mon_data
db map_end
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
MapSetupScript_Submenu:
db map_load_block_data
db map_load_connection_block_data
db map_end
map_load_block_data
map_load_connection_block_data
map_end

View File

@ -13,6 +13,7 @@ These pages are for documenting pieces of the [pokecrystal](https://github.com/p
- [event_commands.md](event_commands.md)
- [movement_commands.md](movement_commands.md)
- [text_commands.md](text_commands.md)
- [map_setup_scripts.md](map_setup_scripts.md)
## Other types of scripts

144
docs/map_setup_scripts.md Normal file
View File

@ -0,0 +1,144 @@
# Map Setup Commands
Defined in [macros/scripts/map_setup.asm](https://github.com/pret/pokecrystal/blob/master/macros/scripts/map_setup.asm) and [data/maps/setup_script_pointers.asm:MapSetupCommands](https://github.com/pret/pokecrystal/blob/master/data/maps/setup_script_pointers.asm).
## `$00`: `map_enable_lcd`
## `$01`: `map_disable_lcd`
## `$02`: `map_init_sound`
## `$03`: `map_play_music`
## `$04`: `map_restart_music`
## `$05`: `map_fade_to_music`
## `$06`: `map_fade_music_and_palettes`
## `$07`: `map_play_music_bike`
## `$08`: `map_force_music`
## `$09`: `map_fade_in_to_music`
## `$0A`: `map_load_block_data`
## `$0B`: `map_load_connection_block_data`
## `$0C`: `map_save_screen`
## `$0D`: `map_buffer_screen`
## `$0E`: `map_load_graphics`
## `$0F`: `map_load_tileset`
## `$10`: `map_load_time_of_day`
## `$11`: `map_load_palettes`
## `$12`: `map_load_wild_mon_data`
## `$13`: `map_refresh_sprites`
## `$14`: `map_handle_new`
## `$15`: `map_handle_continue`
## `$16`: `map_load_objects`
## `$17`: `map_enter_spawn_point`
## `$18`: `map_enter_connection`
## `$19`: `map_enter_warp`
## `$1A`: `map_load_attributes`
## `$1B`: `map_load_attributes_no_objects`
## `$1C`: `map_clear_bg_palettes`
## `$1D`: `map_fade_out_palettes`
## `$1E`: `map_fade_in_palettes`
## `$1F`: `map_get_screen_coords`
## `$20`: `map_get_warp_dest_coords`
## `$21`: `map_spawn_in_facing_down`
## `$22`: `map_spawn_player`
## `$23`: `map_refresh_player_coords`
## `$24`: `map_reset_player_object_action`
## `$25`: `map_skip_update_sprites`
## `$26`: `map_update_roam_mons`
## `$27`: `map_jump_roam_mons`
## `$28`: `map_fade_out_music`
## `$29`: `map_activate_anims`
## `$2A`: `map_suspend_anims`
## `$2B`: `map_apply_palettes`
## `$2C`: `map_enable_text_acceleration`
## `$2D`: `map_init_name_sign`
## `$FF`: `map_end`

View File

@ -18,7 +18,7 @@ INCLUDE "data/maps/setup_scripts.asm"
ReadMapSetupScript:
.loop
ld a, [hli]
cp map_end
cp map_end_command
ret z
push hl
@ -58,54 +58,7 @@ ReadMapSetupScript:
pop hl
jr .loop
MapSetupCommands:
; entries correspond to command indexes in constants/map_setup_constants.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
INCLUDE "data/maps/setup_script_pointers.asm"
EnableTextAcceleration:
xor a

View File

@ -11,6 +11,7 @@ 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/trade_anims.asm"

View File

@ -0,0 +1,56 @@
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