diff options
author | Bryan Bishop <kanzure@gmail.com> | 2014-02-01 17:59:39 -0800 |
---|---|---|
committer | Bryan Bishop <kanzure@gmail.com> | 2014-02-01 17:59:39 -0800 |
commit | 80465fc6e6f1455f4ae65b5c0db54b9953ca0cc5 (patch) | |
tree | 95247b8f85c28ff738d936747c8700b522975e7d | |
parent | 0a16a7aef04c60ff64dcbded28f7db9c45067125 (diff) | |
parent | 821f2c2ea0f9dc482520f2cf9c45ccfaca8bbb29 (diff) |
Merge pull request #227 from yenatch/master
Map setup scripts
-rw-r--r-- | engine/events.asm | 2 | ||||
-rw-r--r-- | home/map.asm | 9 | ||||
-rw-r--r-- | main.asm | 584 |
3 files changed, 502 insertions, 93 deletions
diff --git a/engine/events.asm b/engine/events.asm index 966b389c4..9e4c1e98a 100644 --- a/engine/events.asm +++ b/engine/events.asm @@ -134,7 +134,7 @@ EnterMap: ; 9673e ld [$d453], a ld [$d454], a call Function968d1 - callba Function15363 + callba RunMapSetupScript call Function966cb ld a, [$ff9f] diff --git a/home/map.asm b/home/map.asm index 79af8ffc1..6094332e7 100644 --- a/home/map.asm +++ b/home/map.asm @@ -214,7 +214,7 @@ endr Function222a: ; 222a ld a, $fa ld [$ff9f], a - callba Function15363 + callba RunMapSetupScript xor a ld [$ff9f], a ret @@ -1489,7 +1489,7 @@ Function289d: ; 289d .asm_28ce ld b, $6 ld c, $4 - jr .asm_28f7 + jr Function28f7 .asm_28d4 ld de, $dcba @@ -1502,8 +1502,10 @@ Function289d: ; 289d .asm_28dd ld b, $5 ld c, $5 - jr .asm_28f7 + jr Function28f7 + +Function28e3: ; 28e3 ld hl, $d194 ld a, [hli] ld h, [hl] @@ -1515,6 +1517,7 @@ Function289d: ; 289d ld b, $6 ld c, $5 +Function28f7: ; 28f7 .asm_28f7 push bc push hl @@ -9853,7 +9853,7 @@ Functioncc78: ; cc78 ld d, a ld a, [$dcb3] ld e, a - callba Function15344 + callba IsSpawnPoint jr nc, .asm_cc99 ld a, c ld [$d001], a @@ -17429,7 +17429,7 @@ Function12527: ; 12527 ld d, a ld a, [$dcb3] ld e, a - callba Function15344 + callba IsSpawnPoint ld a, c jr c, .asm_12539 xor a @@ -20391,13 +20391,13 @@ SECTION "bank5", ROMX, BANK[$5] Function14000: ; 14000 ld a, $a - ld [$0000], a + ld [MBC3SRamEnable], a call LatchClock ld a, $c - ld [Function14000], a - ld a, [$a000] + ld [MBC3SRamBank], a + ld a, [MBC3RTC] set 6, a - ld [$a000], a + ld [MBC3RTC], a call CloseSRAM ret ; 14019 @@ -20406,13 +20406,13 @@ Function14000: ; 14000 Function14019: ; 14019 ld a, $a - ld [$0000], a + ld [MBC3SRamEnable], a call LatchClock ld a, $c - ld [Function14000], a - ld a, [$a000] + ld [MBC3SRamBank], a + ld a, [MBC3RTC] res 6, a - ld [$a000], a + ld [MBC3RTC], a call CloseSRAM ret ; 14032 @@ -20472,14 +20472,14 @@ Function14056: ; 14056 Function1406a: ; 1406a ld a, $a - ld [$0000], a + ld [MBC3SRamEnable], a call LatchClock - ld hl, $a000 + ld hl, MBC3RTC ld a, $c - ld [Function14000], a + ld [MBC3SRamBank], a res 7, [hl] ld a, $0 - ld [Function14000], a + ld [MBC3SRamBank], a xor a ld [$ac60], a call CloseSRAM @@ -23147,7 +23147,7 @@ SpawnPoints: ; 0x152ab db -1, -1, -1, -1 -Function1531f: ; 1531f +LoadSpawnPoint: ; 1531f push hl push de ld a, [$d001] @@ -23174,7 +23174,7 @@ Function1531f: ; 1531f ; 15344 -Function15344: ; 15344 +IsSpawnPoint: ; 15344 ld hl, SpawnPoints ld c, 0 .asm_15349 @@ -23206,69 +23206,364 @@ Function15344: ; 15344 ; 15363 -Function15363: ; 15363 +RunMapSetupScript: ; 15363 ld a, [$ff9f] and $f dec a ld c, a - ld b, $0 - ld hl, $5377 + ld b, 0 + ld hl, MapSetupScripts add hl, bc add hl, bc ld a, [hli] ld h, [hl] ld l, a - call Function1541d + call ReadMapSetupScript ret ; 15377 -INCBIN "baserom.gbc",$15377,$1541d - $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 -Function1541d: ; 1541d -.asm_1541d +ReadMapSetupScript: ; 1541d +.loop ld a, [hli] - cp $ff + cp -1 ret z + push hl + ld c, a - ld b, $0 - ld hl, $5440 + 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, .asm_15439 + jr z, .go + pop de ld a, [de] ld c, a inc de push de -.asm_15439 +.go ld a, b and $7f rst FarCall + pop hl - jr .asm_1541d + jr .loop ; 15440 -INCBIN "baserom.gbc",$15440,$154cf - $15440 +MapSetupCommands: ; 15440 + dbw BANK(EnableLCD), EnableLCD + dbw BANK(DisableLCD), DisableLCD + dbw BANK(SoundRestart), SoundRestart + dbw BANK(Function3cdf), Function3cdf + dbw BANK(Function3d47), Function3d47 + dbw BANK(Function3cbc), Function3cbc + dbw BANK(Function15574), Function15574 + dbw BANK(Function3d03), Function3d03 + 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 [$c2d7], a + ret +; 154cf Function154cf: ; 154cf ld a, $1 - ld [$FF00+$de], a + ld [$ffde], a ret ; 154d3 Function154d3: ; 154d3 xor a - ld [$FF00+$de], a + ld [$ffde], a ret ; 154d7 @@ -23368,19 +23663,30 @@ Function1554e: ; 1554e (5:554e) .asm_15565 and a ret +; 15567 + +Function15567: ; 15567 ld a, $6 call Function3cb4 ret +; 1556d + +Function1556d: ; 1556d callba _UpdateTimePals ret - ld e, $0 + +Function15574: ; 15574 + ld e, 0 ld a, [MusicFadeIDLo] ; $c2a9 - ld d, $0 + ld d, 0 ld a, [MusicFadeIDHi] ; $c2aa ld a, $4 ld [MusicFade], a ; $c2a7 call Function4b6 ret +; 15587 + +Function15587: ; 15587 ld a, [PlayerState] ; $d95d cp $1 jr nz, .asm_15596 @@ -23390,6 +23696,8 @@ Function1554e: ; 1554e (5:554e) .asm_15596 call Function3d2f ret +; 1559a + Function1559a: ; 1559a call Function15650 @@ -24058,7 +24366,7 @@ VendingMachine: ; 15ac4 ld hl, UnknownText_0x15f83 call Function15fcd call Function15c62 - ld hl, $5fb4 + ld hl, UnknownText_0x15fb4 call Function15fcd ret ; 15aee @@ -24131,7 +24439,7 @@ Function15b62: ; 15b62 ; 15b6e Function15b6e: ; 15b6e - ld hl, $5f88 + ld hl, MenuDataHeader_0x15f88 call Function1d3c call Function1d81 jr c, .asm_15b84 @@ -24169,7 +24477,7 @@ Function15b9a: ; 15b9a Function15ba3: ; 15ba3 call Function1c07 - ld hl, $5fb4 + ld hl, UnknownText_0x15fb4 call Function15fcd ld a, $ff ret @@ -24529,9 +24837,11 @@ Function15df9: ; 15df9 ; 15e0e INCBIN "baserom.gbc",$15e0e,$15e30 - $15e0e + +Function15e30: ; 15e30 ld a, [$cf77] ld c, a - ld b, $0 + ld b, 0 ld hl, DefaultFlypoint ; $d002 add hl, bc add hl, bc @@ -24599,7 +24909,7 @@ Function15efd: ; 15efd ld a, [$d142] and a jr z, .asm_15f11 - ld hl, $5faf + ld hl, UnknownText_0x15faf call PrintText and a ret @@ -24651,14 +24961,59 @@ UnknownText_0x15f78: ; 0x15f78 db "@" ; 0x15f7d -INCBIN "baserom.gbc",$15f7d,$15f83 - $15f7d +String15f7d: ; 15f7d + db "!ダミー!@" UnknownText_0x15f83: ; 0x15f83 text_jump UnknownText_0x1c4f62 db "@" ; 0x15f88 -INCBIN "baserom.gbc",$15f88,$15fb9 - $15f88 +MenuDataHeader_0x15f88: ; 0x15f88 + db $40 ; flags + db 00, 00 ; start coords + db 08, 07 ; end coords + dw MenuData2_0x15f90 + db 1 ; default option +; 0x15f90 + +MenuData2_0x15f90: ; 0x15f90 + db $80 ; flags + db 3 ; items + db "BUY@" + db "SELL@" + db "QUIT@" +; 0x15f96 + +UnknownText_0x15fa0: ; 0x15fa0 + ; Here you are. Thank you! + text_jump UnknownText_0x1c4f80 + db "@" +; 0x15fa5 + +UnknownText_0x15fa5: ; 0x15fa5 + ; You don't have enough money. + text_jump UnknownText_0x1c4f9a + db "@" +; 0x15faa + +UnknownText_0x15faa: ; 0x15faa + ; You can't carry any more items. + text_jump UnknownText_0x1c4fb7 + db "@" +; 0x15faf + +UnknownText_0x15faf: ; 0x15faf + ; Sorry, I can't buy that from you. + text_jump UnknownText_0x1c4fd7 + db "@" +; 0x15fb4 + +UnknownText_0x15fb4: ; 0x15fb4 + ; Please come again! + text_jump UnknownText_0x1c4ff9 + db "@" +; 0x15fb9 UnknownText_0x15fb9: ; 0x15fb9 text_jump UnknownText_0x1c500d @@ -31107,7 +31462,7 @@ Function28000: ; 28000 ld e, l callba Function4d35b ld hl, $c56c - ld de, $4419 + ld de, String28419 call PlaceString call Function28eff call Function3200 @@ -31555,7 +31910,7 @@ Function28177: ; 28177 ; 283b2 Function283b2: ; 283b2 - ld de, $43ed + ld de, Unknown_283ed ld b, $a .asm_283b7 call DelayFrame @@ -31586,6 +31941,7 @@ Function283b2: ; 283b2 ret ; 283ed +Unknown_283ed: INCBIN "baserom.gbc",$283ed,$283f2 - $283ed Function283f2: ; 283f2 @@ -31622,7 +31978,9 @@ Function283f2: ; 283f2 ret ; 28419 -INCBIN "baserom.gbc",$28419,$28426 - $28419 +String28419: ; 28419 + db "PLEASE WAIT!@" +; 28426 Function28426: ; 28426 ld hl, OverworldMap @@ -31815,11 +32173,11 @@ Function284f6: ; 284f6 .asm_28530 push bc dec a - ld hl, $542b - ld bc, $0020 + ld hl, BaseData + 7 ; type + ld bc, BaseData1 - BaseData0 call AddNTimes - ld bc, $0002 - ld a, $14 + ld bc, 2 + ld a, BANK(BaseData) call FarCopyBytes pop bc @@ -31827,7 +32185,7 @@ Function284f6: ; 284f6 push bc ld hl, $0001 add hl, bc - ld bc, OBJECT_SPRITE_Y_OFFSET + ld bc, $1a call CopyBytes pop bc ld hl, $001f @@ -31849,9 +32207,9 @@ Function284f6: ; 284f6 push bc ld b, $0 ld c, a - ld hl, $7656 + ld hl, Unknown_fb656 add hl, bc - ld a, $3e + ld a, BANK(Unknown_fb656) call GetFarByte ld [BaseSpecialAttack], a pop bc @@ -32171,7 +32529,7 @@ Function28771: ; 28771 and a ret z push hl - ld hl, $4785 + ld hl, Unknown_28785 .asm_28778 ld a, [hli] and a @@ -32189,6 +32547,7 @@ Function28771: ; 28771 ret ; 28785 +Unknown_28785: ; 28785 INCBIN "baserom.gbc",$28785,$2879e - $28785 Function2879e: ; 2879e @@ -32422,7 +32781,7 @@ Function28926: ; 28926 ld c, $12 call Function28eef ld hl, $c5e2 - ld de, $4ab4 + ld de, String28ab4 call PlaceString callba Function4d354 @@ -32531,7 +32890,7 @@ Function28926: ; 28926 ld c, $12 call Function28eef callba Function4d354 - ld hl, $4aaf + ld hl, UnknownText_0x28aaf ld bc, $c5b9 call Function13e5 jr .asm_28a89 @@ -32553,7 +32912,7 @@ Function28926: ; 28926 ld c, $12 call Function28eef callba Function4d354 - ld hl, $4ac4 + ld hl, UnknownText_0x28ac4 ld bc, $c5b9 call Function13e5 @@ -32563,7 +32922,7 @@ Function28926: ; 28926 ld c, $12 call Function28eef ld hl, $c5b9 - ld de, $4ece + ld de, String28ece call PlaceString ld a, $1 ld [$cf56], a @@ -32573,7 +32932,22 @@ Function28926: ; 28926 jp Function287e3 ; 28aaf -INCBIN "baserom.gbc",$28aaf,$28ac9 - $28aaf + +UnknownText_0x28aaf: ; 0x28aaf + ; If you trade that #MON, you won't be able to battle. + text_jump UnknownText_0x1c41b1 + db "@" +; 0x28ab4 + +String28ab4: ; 28ab4 + db "STATS TRADE@" + +UnknownText_0x28ac4: ; 0x28ac4 + ; Your friend's @ appears to be abnormal! + text_jump UnknownText_0x1c41e6 + db "@" +; 0x28ac9 + Function28ac9: ; 28ac9 ld a, [$cfa9] @@ -32699,7 +33073,7 @@ Function28b87: ; 28b87 ld a, [hl] ld [$d265], a call GetPokemonName - ld hl, $4eb8 + ld hl, UnknownText_0x28eb8 ld bc, $c5b9 call Function13e5 call Function1d6e @@ -32707,7 +33081,7 @@ Function28b87: ; 28b87 ld b, $3 ld c, $7 call Function28eef - ld de, $4eab + ld de, String28eab ld hl, $c54c call PlaceString ld a, $8 @@ -32748,7 +33122,7 @@ Function28b87: ; 28b87 ld c, $12 call Function28eef ld hl, $c5b9 - ld de, $4ece + ld de, String28ece call PlaceString callba Function16d6ce jp Function28ea3 @@ -32765,7 +33139,7 @@ Function28b87: ; 28b87 ld c, $12 call Function28eef ld hl, $c5b9 - ld de, $4ece + ld de, String28ece call PlaceString jp Function28ea3 @@ -32998,7 +33372,7 @@ Function28b87: ; 28b87 ld c, $12 call Function28eef ld hl, $c5b9 - ld de, $4ebd + ld de, String28ebd call PlaceString callba Function4d354 ld c, $32 @@ -33010,12 +33384,26 @@ Function28b87: ; 28b87 ; 28ea3 Function28ea3: ; 28ea3 - ld c, $64 + ld c, 100 call DelayFrames jp Function287e3 ; 28eab -INCBIN "baserom.gbc",$28eab,$28eef - $28eab +String28eab: ; 28eab + db "TRADE", $4e, "CANCEL@" + +UnknownText_0x28eb8: ; 0x28eb8 + ; Trade @ for @ ? + text_jump UnknownText_0x1c4212 + db "@" +; 0x28ebd + +String28ebd: ; 28ebd + db "Trade completed!@" + +String28ece: ; 28ece + db "Too bad! The trade", $4e, "was canceled!@" + Function28eef: ; 28eef ld d, h @@ -33259,8 +33647,8 @@ Function29082: ; 29082 Function290a0: ; 290a0 ld a, [$cf63] ld e, a - ld d, $0 - ld hl, $50af + ld d, 0 + ld hl, JumpTable290af add hl, de add hl, de ld a, [hli] @@ -33269,6 +33657,7 @@ Function290a0: ; 290a0 jp [hl] ; 290af +JumpTable290af: ; 290af INCBIN "baserom.gbc",$290af,$29491 - $290af Function29491: ; 29491 @@ -34010,6 +34399,8 @@ Function29f47: ; 29f47 ; 29f54 INCBIN "baserom.gbc",$29f54,$29ff8 - $29f54 + +Function29ff8: ; 29ff8 call Function2a205 jr c, .asm_2a006 ld hl, $d25a @@ -34674,7 +35065,7 @@ Function2a355: ; 2a355 ld l, e call Random and $1f - jr z, asm_2a3cd + jr z, Function2a3cd and $3 cp [hl] jr nc, .asm_2a36e @@ -34702,36 +35093,37 @@ Function2a394: ; 2a394 ld a, [RoamMon1MapGroup] cp $ff jr z, .asm_2a3a6 - call asm_2a3cd + call Function2a3cd ld a, b ld [RoamMon1MapGroup], a ld a, c ld [RoamMon1MapNumber], a - .asm_2a3a6 + ld a, [RoamMon2MapGroup] cp $ff jr z, .asm_2a3b8 - call asm_2a3cd + call Function2a3cd ld a, b ld [RoamMon2MapGroup], a ld a, c ld [RoamMon2MapNumber], a - .asm_2a3b8 + ld a, [RoamMon3MapGroup] cp $ff jr z, .asm_2a3ca - call asm_2a3cd + call Function2a3cd ld a, b ld [RoamMon3MapGroup], a ld a, c ld [RoamMon3MapNumber], a - .asm_2a3ca + jp Function2a3f6 -asm_2a3cd +Function2a3cd: ; 2a3cd +.asm_2a3cd ld hl, $640f .asm_2a3d0 call Random @@ -34756,7 +35148,7 @@ asm_2a3cd inc hl ld a, [MapNumber] cp [hl] - jr z, asm_2a3cd + jr z, .asm_2a3cd dec hl .asm_2a3f2 @@ -41650,7 +42042,7 @@ Function4484a: ; 0x4484a jr c, .asm_44860 ld a, [$cfa9] dec a - ld hl, $4861 + ld hl, .JumpTable rst JumpTable .asm_44860 @@ -71101,6 +71493,7 @@ Functionb800a: ; b800a ld [$c2d9], a call Functionb8089 jr z, .asm_b8024 + call GetMapPermission cp $6 jr nz, .asm_b8029 @@ -71114,12 +71507,15 @@ Functionb800a: ; b800a bit 1, [hl] res 1, [hl] jr nz, .asm_b8054 + call Functionb8064 jr z, .asm_b8054 + ld a, [$c2d9] ld [$c2d8], a call Functionb8070 jr z, .asm_b8054 + ld a, $3c ld [$c2da], a call Functionb80c6 @@ -71149,19 +71545,19 @@ Functionb8064: ; b8064 ; b8070 Functionb8070: ; b8070 - cp $ff + cp -1 ret z - cp $0 + cp SPECIAL_MAP ret z - cp $11 + cp RADIO_TOWER ret z - cp $46 + cp LAV_RADIO_TOWER ret z - cp $3b + cp UNDERGROUND ret z - cp $5a + cp INDIGO_PLATEAU ret z - cp $44 + cp POWER_PLANT ret z ld a, $1 and a @@ -71170,12 +71566,12 @@ Functionb8070: ; b8070 Functionb8089: ; b8089 ld a, [MapGroup] - cp $a + cp GROUP_ROUTE_35_NATIONAL_PARK_GATE ret nz ld a, [MapNumber] - cp $f + cp MAP_ROUTE_35_NATIONAL_PARK_GATE ret z - cp $11 + cp MAP_ROUTE_36_NATIONAL_PARK_GATE ret ; b8098 @@ -80123,6 +80519,7 @@ Functionfb634: ; fb634 jr .asm_fb636 ; fb656 +Unknown_fb656: ; fb656 INCBIN "baserom.gbc",$fb656,$fb6ed - $fb656 @@ -81899,7 +82296,7 @@ Function1002c9: ; 1002c9 Function1002dc: ; 1002dc ld a, $f8 ld [$ff9f], a - callba Function15363 + callba RunMapSetupScript xor a ld [$ff9f], a call Functione51 @@ -84545,9 +84942,11 @@ Function10433a: ; 10433a (41:433a) jr nz, .asm_10433c ret + INCBIN "gfx/ow/misc.2bpp" +Function1045b0: ; 1045b0 call Function210f call Function2e50 call Function2e5d @@ -84555,6 +84954,8 @@ INCBIN "gfx/ow/misc.2bpp" call Function2e56 ld a, $5 call Function263b + +Function1045c4: ; 1045c4 callba Function97df9 ld a, $3 call Function263b @@ -84710,7 +85111,7 @@ EnteredConnection: ; 1046c4 ret ; 1046c6 - +Function1046c6: ; 1046c6 call Function1046df call Function104718 ld a, [$d146] @@ -84779,6 +85180,8 @@ Function104718: ; 104718 (41:4718) ld a, [$d14b] ld [$dcb3], a ret + +Function104750: ; 104750 ld hl, VramState ; $d0ed res 6, [hl] ld a, $1 @@ -84847,6 +85250,8 @@ Function1047b4: ; 1047b4 (41:47b4) ld a, $0 ld [rVBK], a ; $ff00+$4f ret + +Function1047cf: ; 1047cf call LoadTilesetHeader call Function2821 xor a @@ -84863,6 +85268,7 @@ Function1047eb: ; 1047eb jp GetSGBLayout ; 1047f0 +Function1047f0: ; 1047f0 call ClearSprites callba Functionb8000 call Function2914 @@ -88198,7 +88604,7 @@ INCBIN "baserom.gbc",$114000,$114243 - $114000 Function114243: ; 114243 ld a, $a - ld [$0000], a + ld [MBC3SRamEnable], a ld a, [$ff8c] push af push de |