From f4e0e611143cc9ee896b70ce179e9a7adf3211ab Mon Sep 17 00:00:00 2001 From: yenatch Date: Wed, 11 Feb 2015 14:01:04 -0800 Subject: [PATCH] Split out the map setup scripts. --- engine/map_setup.asm | 489 ++++++++++++++++++++++++++++++++++++++++++ main.asm | 491 +------------------------------------------ 2 files changed, 490 insertions(+), 490 deletions(-) create mode 100644 engine/map_setup.asm diff --git a/engine/map_setup.asm b/engine/map_setup.asm new file mode 100644 index 000000000..8c10954b3 --- /dev/null +++ b/engine/map_setup.asm @@ -0,0 +1,489 @@ + +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 diff --git a/main.asm b/main.asm index adb4518ce..e4fd63d10 100644 --- a/main.asm +++ b/main.asm @@ -23675,496 +23675,7 @@ UnknownText_0x152a6: ; 0x152a6 INCLUDE "engine/spawn_points.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 - +INCLUDE "engine/map_setup.asm" Function1559a: ; 1559a call Function15650