diff --git a/constants/map_constants.asm b/constants/map_constants.asm index 4c986575..44a0ad28 100644 --- a/constants/map_constants.asm +++ b/constants/map_constants.asm @@ -99,7 +99,7 @@ DEF FIRST_INDOOR_MAP EQU const_value map_const CELESTE_HILL, 12, 12 ; $4D - Was copy of above & unused map_const ROUTE_7_GATE, 3, 4 ; $4E map_const UNDERGROUND_PATH_ROUTE_7, 4, 4 ; $4F - map_const CITRINE_ROCKET_HOUSE, 5, 5 ; $50 - Unused, was UNDERGROUND_PATH_ROUTE_7_COPY + map_const CITRINE_ROCKET_HOUSE, 5, 5 ; $50 - was UNDERGROUND_PATH_ROUTE_7_COPY map_const ROUTE_8_GATE, 3, 4 ; $51 map_const UNDERGROUND_PATH_ROUTE_8, 4, 4 ; $52 map_const ROCK_TUNNEL_POKECENTER, 7, 4 ; $53 @@ -185,7 +185,7 @@ DEF FIRST_INDOOR_MAP EQU const_value map_const SEAFOAM_ISLANDS_B3F, 15, 9 ; $A3 map_const SEAFOAM_ISLANDS_B4F, 15, 9 ; $A4 map_const CITRINE_TRADEBACK_HOUSE, 4, 4 ; $A5 - Was Vermillion Old Rod house - map_const CITRINE_POKECENTER, 7, 4 ; $A6 - Was Fuschia Good Rod house + map_const CITRINE_POKECENTER, 7, 4 ; $A6 - Was Fuschia Good Rod house map_const POKEMON_MANSION_1F, 15, 14 ; $A7 map_const CINNABAR_GYM, 10, 9 ; $A8 map_const CINNABAR_LAB, 9, 4 ; $A9 @@ -257,7 +257,7 @@ DEF FIRST_INDOOR_MAP EQU const_value map_const SILPH_CO_10F, 8, 9 ; $EB map_const SILPH_CO_11F, 9, 9 ; $EC map_const SILPH_CO_ELEVATOR, 2, 2 ; $ED - map_const GARNET_CAVERN_2F, 15, 9 ; $EE - was UNUSED_MAP_ED + map_const GARNET_CAVERN_2F, 15, 9 ; $EE - was UNUSED_MAP_ED map_const UNDERWATER_TUNNEL, 15, 9 ; $EF - Was UNUSED_MAP_EE map_const TRADE_CENTER, 5, 4 ; $F0 map_const COLOSSEUM, 5, 4 ; $F1 @@ -267,6 +267,7 @@ DEF FIRST_INDOOR_MAP EQU const_value map_const LORELEIS_ROOM, 5, 6 ; $F5 map_const BRUNOS_ROOM, 5, 6 ; $F6 map_const AGATHAS_ROOM, 5, 6 ; $F7 - Maps F8 - FE currently have no data, bear in mind we need room for everything in citrine + map_const CINNABAR_VOLCANO_FLOORS, 20, 20 ; $F8 DEF NUM_MAPS EQU const_value ; Indoor maps, such as houses, use this as the Map ID in their exit warps diff --git a/data/maps/dungeon_maps.asm b/data/maps/dungeon_maps.asm index f3a37c3e..6d0919a0 100644 --- a/data/maps/dungeon_maps.asm +++ b/data/maps/dungeon_maps.asm @@ -12,6 +12,7 @@ DungeonMaps1: db POWER_PLANT db DIGLETTS_CAVE db UNDERWATER_TUNNEL + db CINNABAR_VOLCANO_FLOORS db -1 ; end ; GetBattleTransitionID_IsDungeonMap checks if wCurMap diff --git a/data/maps/headers/CinnabarVolcanoFloors.asm b/data/maps/headers/CinnabarVolcanoFloors.asm new file mode 100644 index 00000000..797fdc24 --- /dev/null +++ b/data/maps/headers/CinnabarVolcanoFloors.asm @@ -0,0 +1,2 @@ + map_header CinnabarVolcanoFloors, CINNABAR_VOLCANO_FLOORS, CAVERN, 0 + end_map_header diff --git a/data/maps/hide_show_data.asm b/data/maps/hide_show_data.asm index c9182840..c4ccad8e 100644 --- a/data/maps/hide_show_data.asm +++ b/data/maps/hide_show_data.asm @@ -251,6 +251,7 @@ MapHSPointers: dw NoHS dw NoHS dw NoHS + dw NoHS assert_table_length NUM_MAPS dw -1 ; end diff --git a/data/maps/map_header_banks.asm b/data/maps/map_header_banks.asm index 54815834..fe909db0 100644 --- a/data/maps/map_header_banks.asm +++ b/data/maps/map_header_banks.asm @@ -249,4 +249,5 @@ MapHeaderBanks:: db BANK(LoreleisRoom_h) db BANK(BrunosRoom_h) db BANK(AgathasRoom_h) + db BANK(CinnabarVolcanoFloors_h) assert_table_length NUM_MAPS diff --git a/data/maps/map_header_pointers.asm b/data/maps/map_header_pointers.asm index 8d06cd56..9f093fc6 100644 --- a/data/maps/map_header_pointers.asm +++ b/data/maps/map_header_pointers.asm @@ -249,4 +249,5 @@ MapHeaderPointers:: dw LoreleisRoom_h dw BrunosRoom_h dw AgathasRoom_h + dw CinnabarVolcanoFloors_h assert_table_length NUM_MAPS diff --git a/data/maps/objects/CinnabarIsland.asm b/data/maps/objects/CinnabarIsland.asm index 35cf018b..66dc0c0a 100644 --- a/data/maps/objects/CinnabarIsland.asm +++ b/data/maps/objects/CinnabarIsland.asm @@ -2,12 +2,12 @@ CinnabarIsland_Object: db $43 ; border block def_warp_events - warp_event 6, 15, POKEMON_MANSION_1F, 2 + warp_event 6, 15, POKEMON_MANSION_1F, 2 warp_event 20, 9, CINNABAR_GYM, 1 - warp_event 6, 21, CINNABAR_LAB, 1 + warp_event 6, 21, CINNABAR_LAB, 1 warp_event 15, 17, CINNABAR_POKECENTER, 1 warp_event 21, 19, CINNABAR_MART, 1 - warp_event 14, 11, CINNABAR_VOLCANO, 1 + warp_event 14, 11, CINNABAR_VOLCANO_FLOORS, 1 def_bg_events bg_event 11, 15, 3 ; CinnabarIslandText3 diff --git a/data/maps/objects/CinnabarVolcanoFloors.asm b/data/maps/objects/CinnabarVolcanoFloors.asm new file mode 100644 index 00000000..2feb6342 --- /dev/null +++ b/data/maps/objects/CinnabarVolcanoFloors.asm @@ -0,0 +1,19 @@ +CinnabarVolcanoFloors_Object: + db $03 ; border block + + def_warp_events + warp_event 3, 15, LAST_MAP, 6 + warp_event 2, 15, LAST_MAP, 6 + warp_event 2, 2, CINNABAR_VOLCANO_FLOORS, 4 + warp_event 25, 3, CINNABAR_VOLCANO_FLOORS, 5 + warp_event 27, 12, CINNABAR_VOLCANO_FLOORS, 6 + warp_event 25, 37, CINNABAR_VOLCANO_FLOORS, 7 + warp_event 25, 25, CINNABAR_VOLCANO_FLOORS, 8 + warp_event 3, 25, CINNABAR_VOLCANO_FLOORS, 9 + warp_event 15, 25, CINNABAR_VOLCANO, 1 + + def_bg_events + + def_object_events + + def_warps_to CINNABAR_VOLCANO_FLOORS diff --git a/data/maps/songs.asm b/data/maps/songs.asm index d6c5d4cf..20d3b0f7 100644 --- a/data/maps/songs.asm +++ b/data/maps/songs.asm @@ -248,4 +248,5 @@ MapSongBanks:: db MUSIC_GYM, 0 ; LORELEIS_ROOM db MUSIC_DUNGEON1, 0 ; BRUNOS_ROOM db MUSIC_POKEMON_TOWER, 0 ; AGATHAS_ROOM + db MUSIC_DUNGEON3, 0 ; CINNABAR_VOLCANO_FLOORS assert_table_length NUM_MAPS diff --git a/data/maps/town_map_entries.asm b/data/maps/town_map_entries.asm index 738b8a49..abe403c4 100644 --- a/data/maps/town_map_entries.asm +++ b/data/maps/town_map_entries.asm @@ -125,4 +125,5 @@ InternalMapEntries: internal_map CELADON_UNIVERSITY_POKECENTER, 7, 4, CeladonUniversityName internal_map BILLS_GARDEN, 12, 0, SeaCottageName internal_map AGATHAS_ROOM, 0, 2, PokemonLeagueName + internal_map CINNABAR_VOLCANO_FLOORS, 3, 14, CinnabarVolcanoName db -1 ; end diff --git a/data/wild/grass_water.asm b/data/wild/grass_water.asm index 17966abd..e8363d3c 100644 --- a/data/wild/grass_water.asm +++ b/data/wild/grass_water.asm @@ -248,6 +248,7 @@ WildDataPointers: dw NothingWildMons dw NothingWildMons dw NothingWildMons + dw CinnabarVolcanoFloorsWildMons assert_table_length NUM_MAPS dw -1 ; end @@ -338,3 +339,4 @@ INCLUDE "data/wild/maps/BrunswickTrail.asm" INCLUDE "data/wild/maps/GarnetCavern1F.asm" INCLUDE "data/wild/maps/GarnetCavernB1F.asm" INCLUDE "data/wild/maps/GarnetCavern2F.asm" +INCLUDE "data/wild/maps/CinnabarVolcanoFloors.asm" diff --git a/data/wild/maps/CinnabarVolcanoFloors.asm b/data/wild/maps/CinnabarVolcanoFloors.asm new file mode 100644 index 00000000..62545cee --- /dev/null +++ b/data/wild/maps/CinnabarVolcanoFloors.asm @@ -0,0 +1,16 @@ +CinnabarVolcanoFloorsWildMons: + def_grass_wildmons 10 ; encounter rate + db 37, VULPIX + db 38, PONYTA + db 37, GROWLITHE + db 37, PONYTA + db 38, GROWLITHE + db 41, RAPIDASH + db 33, CHARMANDER + db 38, MAGMAR + db 39, MAGMAR + db 40, CHARMELEON + end_grass_wildmons + + def_water_wildmons 0 ; encounter rate + end_water_wildmons diff --git a/gfx/blocksets/cavern.bst b/gfx/blocksets/cavern.bst index 9857f72b..d1da799d 100644 Binary files a/gfx/blocksets/cavern.bst and b/gfx/blocksets/cavern.bst differ diff --git a/gfx/tilesets.asm b/gfx/tilesets.asm index c18b2432..9bbc64e7 100644 --- a/gfx/tilesets.asm +++ b/gfx/tilesets.asm @@ -49,8 +49,8 @@ SECTION "Tilesets 3", ROMX Cemetery_GFX:: INCBIN "gfx/tilesets/cemetery.2bpp" Cemetery_Block:: INCBIN "gfx/blocksets/cemetery.bst" -Cavern_GFX:: INCBIN "gfx/tilesets/cavern.2bpp" -Cavern_Block:: INCBIN "gfx/blocksets/cavern.bst" +PreGym_GFX:: INCBIN "gfx/tilesets/pregym.2bpp" ; swapped as cavern grew too big +PreGym_Block:: INCBIN "gfx/blocksets/pregym.bst" Lobby_GFX:: INCBIN "gfx/tilesets/lobby.2bpp" Lobby_Block:: INCBIN "gfx/blocksets/lobby.bst" Ship_GFX:: INCBIN "gfx/tilesets/ship.2bpp" @@ -63,8 +63,8 @@ Underground_GFX:: INCBIN "gfx/tilesets/underground.2bpp" Underground_Block:: INCBIN "gfx/blocksets/underground.bst" SECTION "Tilesets 4", ROMX -PreGym_GFX:: INCBIN "gfx/tilesets/pregym.2bpp" -PreGym_Block:: INCBIN "gfx/blocksets/pregym.bst" +Cavern_GFX:: INCBIN "gfx/tilesets/cavern.2bpp" +Cavern_Block:: INCBIN "gfx/blocksets/cavern.bst" Citrine_GFX:: INCBIN "gfx/tilesets/citrine.2bpp" Citrine_Block:: INCBIN "gfx/blocksets/citrine.bst" diff --git a/maps.asm b/maps.asm index c24a4c7f..3a6347eb 100644 --- a/maps.asm +++ b/maps.asm @@ -1250,6 +1250,11 @@ INCLUDE "scripts/AgathasRoom.asm" INCLUDE "data/maps/objects/AgathasRoom.asm" AgathasRoom_Blocks: INCBIN "maps/AgathasRoom.blk" +INCLUDE "data/maps/headers/CinnabarVolcanoFloors.asm" +INCLUDE "scripts/CinnabarVolcanoFloors.asm" +INCLUDE "data/maps/objects/CinnabarVolcanoFloors.asm" +CinnabarVolcanoFloors_Blocks: INCBIN "maps/CinnabarVolcanoFloors.blk" + SECTION "Maps 22", ROMX ; Made this because the previous bank was filled to max. INCLUDE "data/maps/headers/CeladonUniversityOutside.asm" diff --git a/maps/CinnabarVolcanoFloors.blk b/maps/CinnabarVolcanoFloors.blk new file mode 100644 index 00000000..78dd1fd1 --- /dev/null +++ b/maps/CinnabarVolcanoFloors.blk @@ -0,0 +1,2 @@ +,€€€€€€€+,€€€€€€€+#bzx, + i vvvvvvvvvvvvvvvvfvvvvvfvvvv)yv $jkkkkL ,€€€€€€€+,€€€€€€€+|‚< "€€€€+vvv)vvvv-vvvvvvv-v "vvvv--tƒƒƒƒ{h^= \ No newline at end of file diff --git a/scripts/CinnabarVolcanoFloors.asm b/scripts/CinnabarVolcanoFloors.asm new file mode 100644 index 00000000..0de14c1b --- /dev/null +++ b/scripts/CinnabarVolcanoFloors.asm @@ -0,0 +1,6 @@ +CinnabarVolcanoFloors_Script: + jp EnableAutoTextBoxDrawing + +CinnabarVolcanoFloors_TextPointers: + + text_end ; unused