ref: ca48571c51e92fa4b7635ea84f8a9f9a076bf25b
dir: /engine/map_setup.asm/
RunMapSetupScript:: ; 15363 ld a, [$ff9f] and $f dec a ld c, a ld b, 0 ld hl, MapSetupScripts add hl, bc add hl, bc ld a, [hli] ld h, [hl] ld l, a call ReadMapSetupScript ret ; 15377 MapSetupScripts: ; 15377 dw MapSetupScript1 dw MapSetupScript2 dw MapSetupScript3 dw MapSetupScript4 dw MapSetupScript5 dw MapSetupScript6 dw MapSetupScript7 dw MapSetupScript8 dw MapSetupScript9 dw MapSetupScript10 dw MapSetupScript11 dw MapSetupScript12 ; 1538f ; Command descriptions from Condensation water's scripting compendium. const_def const map_lcd_on ; 00 = Turn LCD on const map_lcd_off ; 01 = Turn LCD off const map_sound_off ; 02 = Turn speakers off const map_music ; 03 = Music check for current map/ special check for bug catcher contest const map_start_music ; 04 = Start map music anew const map_fade_music ; 05 = Music check for current map / special check for Bug Contest/ music with FadeOut (old) and FadeIn const map_fade ; 06 = Fade out music + screen const map_bike_music ; 07 = If HIRO is on bike = bike music, else play map music const map_music_force ; 08 = Play map music const map_max_volume ; 09 = Turn music to highest volume const map_load_blocks ; 0A = Write map data to MapRAM const map_connection_blocks ; 0B = Compute map’s connection pars and write into MapRAM const map_save_screen ; 0C = Write current part of map into temporary memory const map_buffer_screen ; 0D = Write current part of map into read-from memory const map_load_graphics ; 0E = Write tileset header to ram/ load tileset/ load sprite tiles/ load special tiles const map_load_tileset_header ; 0F = Write tileset header to ram const map_time_of_day ; 10 = Compute time of day/ Update screen const map_palettes ; 11 = Load map palettes const map_wildmons ; 12 = Load probabilities for wild Pokémon battles const map_sprites ; 13 = Delete sprite data and draw new sprites const map_change_callback ; 14 = Check 2nd script header for 05 and 03 callbacks const map_start_callback ; 15 = Check 2nd script header for 03 callbacks const map_load_objects ; 16 = Analyze people data anew and check 2nd script header for 02 callbacks const map_load_spawn ; 17 = Writes arrival data for arrival by flying/Blackout from table 05:5319 to ram const map_load_connection ; 18 = Writes arrival data for entering a map by connection to ram const map_load_warp ; 19 = Write warp data to ram when entering warp const map_attributes ; 1A = Load complete map data (primary, secondary, event, script headers) const map_attributes_2 ; 1B = Same as 1A, but some settings aren’t loaded new from the rom, such as hide function of the people events const map_clear_bg_palettes ; 1C = Fill palette data with FFFF (=white) const map_fade_out_palettes ; 1D = All BG pallet color are converted to 0|0 (Pal0, Col0), all sprite colors to x|0 (FadeOut) const map_fade_in_palettes ; 1E = Palette FadeIn const map_anchor_screen ; 1F = Compute position of upper left-most block visible on screen const map_warp_face ; 20 = Position computation when HIRO leaves a warp const map_face_down ; 21 = Set HIRO’s facing to “down” const map_spawn_coord ; 22 = Prepare HIRO data for arrival by flight const map_player_coord ; 23 = Compute HIRO x/y data anew const map_prolong_sprites ; 24 = Prolong old sprites before removing them const map_delay_sprites ; 25 = Delay rendering new sprites const map_update_roam ; 26 = Compute chances to meet Raikou, Entei or Suicune const map_keep_roam ; 27 = Recover chances to meet Raikou, Entei or Suicune const map_fade_out_music ; 28 = Temporarily stop music playing const map_animations_on ; 29 = Activate animations const map_animations_off ; 2A = Deactivate animations const map_keep_palettes ; 2B = Recover all palettes const map_text_scroll_off ; 2C = Turn off text scroll (for town name overlays) const map_stop_script ; 2D = Deactivate code prolonging MapSetupScript4: ; 1538f db map_prolong_sprites MapSetupScript12: ; 15390 db map_fade_out_palettes db map_keep_roam MapSetupScript1: ; 15392 db map_lcd_off db map_sound_off db map_load_spawn db map_attributes db map_change_callback db map_spawn_coord db map_player_coord db map_anchor_screen db map_load_blocks db map_buffer_screen db map_load_graphics db map_time_of_day db map_load_objects db map_lcd_on db map_palettes db map_face_down db map_sprites db map_bike_music db map_max_volume db map_fade_in_palettes db map_animations_on db map_wildmons db -1 MapSetupScript11: ; 153a9 db map_load_spawn db map_attributes db map_change_callback db map_spawn_coord db map_player_coord db map_anchor_screen db map_load_blocks db map_buffer_screen db map_lcd_off db map_load_graphics db map_time_of_day db map_fade_out_music db map_lcd_on db map_load_objects db map_palettes db map_face_down db map_sprites db map_fade_music db map_fade_in_palettes db map_animations_on db map_wildmons db -1 MapSetupScript7: ; 153bf db map_animations_off db map_load_connection db map_attributes db map_change_callback db map_player_coord db map_load_blocks db map_load_tileset_header db map_save_screen db map_load_objects db map_fade_music db map_palettes db map_stop_script db map_keep_palettes db map_wildmons db map_update_roam db map_animations_on db -1 MapSetupScript6: ; 153d0 db map_prolong_sprites MapSetupScript5: ; 153d1 db map_fade_out_palettes MapSetupScript9: ; 153d2 db map_load_warp db map_attributes db map_warp_face db map_change_callback db map_player_coord db map_load_blocks db map_buffer_screen db map_lcd_off db map_load_graphics db map_time_of_day db map_fade_out_music db map_lcd_on db map_load_objects db map_palettes db map_sprites db map_fade_music db map_fade_in_palettes db map_animations_on db map_wildmons db map_update_roam db -1 MapSetupScript3: ; 153e7 db map_fade db map_clear_bg_palettes db map_lcd_off db map_sound_off db map_load_blocks db map_connection_blocks db map_load_graphics db map_time_of_day db map_lcd_on db map_palettes db map_sprites db map_music_force db map_fade_in_palettes db map_animations_on db map_wildmons db -1 MapSetupScript8: ; 153f7 db map_fade db map_lcd_off db map_sound_off db map_change_callback db map_load_blocks db map_buffer_screen db map_load_graphics db map_time_of_day db map_lcd_on db map_palettes db map_sprites db map_bike_music db map_fade_in_palettes db map_animations_on db map_wildmons db map_text_scroll_off db -1 MapSetupScript2: ; 15408 db map_lcd_off db map_sound_off db map_attributes_2 db map_anchor_screen db map_start_callback db map_load_blocks db map_connection_blocks db map_buffer_screen db map_load_graphics db map_time_of_day db map_lcd_on db map_palettes db map_sprites db map_bike_music db map_fade_in_palettes db map_animations_on db map_wildmons db -1 MapSetupScript10: ; 1541a db map_load_blocks db map_connection_blocks db -1 ReadMapSetupScript: ; 1541d .loop ld a, [hli] cp -1 ret z push hl ld c, a ld b, 0 ld hl, MapSetupCommands add hl, bc add hl, bc add hl, bc ; bank ld b, [hl] inc hl ; address ld a, [hli] ld h, [hl] ld l, a ; Bit 7 of the bank indicates a parameter. ; This is left unused. bit 7, b jr z, .go pop de ld a, [de] ld c, a inc de push de .go ld a, b and $7f rst FarCall pop hl jr .loop ; 15440 MapSetupCommands: ; 15440 dbw BANK(EnableLCD), EnableLCD dbw BANK(DisableLCD), DisableLCD dbw BANK(SoundRestart), SoundRestart dbw BANK(PlayMapMusic), PlayMapMusic dbw BANK(RestartMapMusic), RestartMapMusic dbw BANK(FadeToMapMusic), FadeToMapMusic dbw BANK(Function15574), Function15574 dbw BANK(EnterMapMusic), EnterMapMusic dbw BANK(Function15587), Function15587 dbw BANK(Function3cae), Function3cae dbw BANK(Function24cd), Function24cd dbw BANK(Function28e3), Function28e3 dbw BANK(Function289d), Function289d dbw BANK(Function2879), Function2879 dbw BANK(Function1047cf), Function1047cf dbw BANK(LoadTilesetHeader), LoadTilesetHeader dbw BANK(Function104750), Function104750 dbw BANK(Function1047eb), Function1047eb dbw BANK(Function29ff8), Function29ff8 dbw BANK(Function1047f0), Function1047f0 dbw BANK(Function1045b0), Function1045b0 dbw BANK(Function1045c4), Function1045c4 dbw BANK(Function154d7), Function154d7 dbw BANK(LoadSpawnPoint), LoadSpawnPoint dbw BANK(EnterMapConnection), EnterMapConnection dbw BANK(Function1046c6), Function1046c6 dbw BANK(Function2309), Function2309 dbw BANK(Function2317), Function2317 dbw BANK(WhiteBGMap), WhiteBGMap dbw BANK(Function8c084), Function8c084 dbw BANK(Function8c079), Function8c079 dbw BANK(Function10486d), Function10486d dbw BANK(Function248a), Function248a dbw BANK(Function57d9), Function57d9 dbw BANK(Function8029), Function8029 dbw BANK(Function80b8), Function80b8 dbw BANK(Function154eb), Function154eb dbw BANK(Function154f1), Function154f1 dbw BANK(Function2a30d), Function2a30d dbw BANK(Function2a394), Function2a394 dbw BANK(Function15567), Function15567 dbw BANK(Function154cf), Function154cf dbw BANK(Function154d3), Function154d3 dbw BANK(Function1556d), Function1556d dbw BANK(Function154ca), Function154ca dbw BANK(Functionb8000), Functionb8000 ; 154ca Function154ca: ; 154ca xor a ld [wc2d7], a ret ; 154cf Function154cf: ; 154cf ld a, $1 ld [$ffde], a ret ; 154d3 Function154d3: ; 154d3 xor a ld [$ffde], a ret ; 154d7 Function154d7: ; 154d7 ld a, $2 call Function263b callba Function2454f callba Function8177 ret ; 154ea (5:54ea) Function154ea: ; 154ea ret ; 154eb Function154eb: ; 154eb ld hl, wd45b set 7, [hl] ret ; 154f1 Function154f1: ; 154f1 ld hl, wd45b set 6, [hl] ret Function154f7: ; 154f7 nop call Function1550c jr c, .asm_15508 call Function1554e jr c, .asm_15508 call Function1551a jr c, .asm_15508 ret .asm_15508 call Functione4a ret Function1550c: ; 1550c (5:550c) and a ld hl, BikeFlags bit 1, [hl] ret z ld a, $1 ld [PlayerState], a scf ret Function1551a: ; 1551a (5:551a) ld a, [PlayerState] cp $0 jr z, .asm_1554c cp $2 jr z, .asm_1554c cp $4 jr z, .asm_15545 cp $8 jr z, .asm_15545 call GetMapPermission cp $3 jr z, .asm_1553e cp $5 jr z, .asm_1553e cp $7 jr z, .asm_1553e jr .asm_1554c .asm_1553e ld a, [PlayerState] cp $1 jr nz, .asm_1554c .asm_15545 ld a, $0 ld [PlayerState], a scf ret .asm_1554c and a ret Function1554e: ; 1554e (5:554e) call Function1852 jr nz, .asm_15565 ld a, [PlayerState] cp $4 jr z, .asm_15563 cp $8 jr z, .asm_15563 ld a, $4 ld [PlayerState], a .asm_15563 scf ret .asm_15565 and a ret ; 15567 Function15567: ; 15567 ld a, 6 call SkipMusic ret ; 1556d Function1556d: ; 1556d callba _UpdateTimePals ret Function15574: ; 15574 ld e, 0 ld a, [MusicFadeIDLo] ld d, 0 ld a, [MusicFadeIDHi] ld a, $4 ld [MusicFade], a call Function4b6 ret ; 15587 Function15587: ; 15587 ld a, [PlayerState] cp $1 jr nz, .asm_15596 call VolumeOff ld a, $88 ld [MusicFade], a .asm_15596 call Function3d2f ret ; 1559a