aboutsummaryrefslogtreecommitdiffstats
path: root/data/maps/special_warps.asm
diff options
context:
space:
mode:
Diffstat (limited to 'data/maps/special_warps.asm')
-rwxr-xr-xdata/maps/special_warps.asm182
1 files changed, 77 insertions, 105 deletions
diff --git a/data/maps/special_warps.asm b/data/maps/special_warps.asm
index 6b536b67..80f88cc4 100755
--- a/data/maps/special_warps.asm
+++ b/data/maps/special_warps.asm
@@ -2,118 +2,90 @@
; 00: target map ID
; 01: which dungeon warp in the source map was used
DungeonWarpList:
- db SEAFOAM_ISLANDS_B1F,$01
- db SEAFOAM_ISLANDS_B1F,$02
- db SEAFOAM_ISLANDS_B2F,$01
- db SEAFOAM_ISLANDS_B2F,$02
- db SEAFOAM_ISLANDS_B3F,$01
- db SEAFOAM_ISLANDS_B3F,$02
- db SEAFOAM_ISLANDS_B4F,$01
- db SEAFOAM_ISLANDS_B4F,$02
- db VICTORY_ROAD_2F,$02
- db POKEMON_MANSION_1F,$01
- db POKEMON_MANSION_1F,$02
- db POKEMON_MANSION_2F,$03
- db $FF
+ db SEAFOAM_ISLANDS_B1F, 1
+ db SEAFOAM_ISLANDS_B1F, 2
+ db SEAFOAM_ISLANDS_B2F, 1
+ db SEAFOAM_ISLANDS_B2F, 2
+ db SEAFOAM_ISLANDS_B3F, 1
+ db SEAFOAM_ISLANDS_B3F, 2
+ db SEAFOAM_ISLANDS_B4F, 1
+ db SEAFOAM_ISLANDS_B4F, 2
+ db VICTORY_ROAD_2F, 2
+ db POKEMON_MANSION_1F, 1
+ db POKEMON_MANSION_1F, 2
+ db POKEMON_MANSION_2F, 3
+ db -1 ; end
+
+
+fly_warp: MACRO
+ event_displacement \1_WIDTH, \2, \3
+ db ((\3) & $01) ;sub-block Y
+ db ((\2) & $01) ;sub-block X
+ENDM
DungeonWarpData:
- FLYWARP_DATA SEAFOAM_ISLANDS_B1F_WIDTH,7,18
- FLYWARP_DATA SEAFOAM_ISLANDS_B1F_WIDTH,7,23
- FLYWARP_DATA SEAFOAM_ISLANDS_B2F_WIDTH,7,19
- FLYWARP_DATA SEAFOAM_ISLANDS_B2F_WIDTH,7,22
- FLYWARP_DATA SEAFOAM_ISLANDS_B3F_WIDTH,7,18
- FLYWARP_DATA SEAFOAM_ISLANDS_B3F_WIDTH,7,19
- FLYWARP_DATA SEAFOAM_ISLANDS_B4F_WIDTH,14,4
- FLYWARP_DATA SEAFOAM_ISLANDS_B4F_WIDTH,14,5
- FLYWARP_DATA VICTORY_ROAD_2F_WIDTH,16,22
- FLYWARP_DATA POKEMON_MANSION_1F_WIDTH,14,16
- FLYWARP_DATA POKEMON_MANSION_1F_WIDTH,14,16
- FLYWARP_DATA POKEMON_MANSION_2F_WIDTH,14,18
+ fly_warp SEAFOAM_ISLANDS_B1F, 18, 7
+ fly_warp SEAFOAM_ISLANDS_B1F, 23, 7
+ fly_warp SEAFOAM_ISLANDS_B2F, 19, 7
+ fly_warp SEAFOAM_ISLANDS_B2F, 22, 7
+ fly_warp SEAFOAM_ISLANDS_B3F, 18, 7
+ fly_warp SEAFOAM_ISLANDS_B3F, 19, 7
+ fly_warp SEAFOAM_ISLANDS_B4F, 4, 14
+ fly_warp SEAFOAM_ISLANDS_B4F, 5, 14
+ fly_warp VICTORY_ROAD_2F, 22, 16
+ fly_warp POKEMON_MANSION_1F, 16, 14
+ fly_warp POKEMON_MANSION_1F, 16, 14
+ fly_warp POKEMON_MANSION_2F, 18, 14
-;Format:
-; db Map_id
-; FLYWARP_DATA [Map Width][Y-pos][X-pos]
-; db Tileset_id
-FirstMapSpec:
- db REDS_HOUSE_2F
- FLYWARP_DATA REDS_HOUSE_2F_WIDTH,6,3
- db REDS_HOUSE_2
-TradeCenterSpec1:
- db TRADE_CENTER
- FLYWARP_DATA TRADE_CENTER_WIDTH,4,3
- db CLUB
+special_warp_spec: MACRO
+ db \1
+ fly_warp \1, \2, \3
+ db \4
+ENDM
-TradeCenterSpec2:
- db TRADE_CENTER
- FLYWARP_DATA TRADE_CENTER_WIDTH,4,6
- db CLUB
+FirstMapSpec:
+ special_warp_spec REDS_HOUSE_2F, 3, 6, REDS_HOUSE_2
+TradeCenterSpec1:
+ special_warp_spec TRADE_CENTER, 3, 4, CLUB
+TradeCenterSpec2:
+ special_warp_spec TRADE_CENTER, 6, 4, CLUB
+ColosseumSpec1:
+ special_warp_spec COLOSSEUM, 3, 4, CLUB
+ColosseumSpec2:
+ special_warp_spec COLOSSEUM, 6, 4, CLUB
-ColosseumSpec1:
- db COLOSSEUM
- FLYWARP_DATA COLOSSEUM_WIDTH,4,3
- db CLUB
-ColosseumSpec2:
- db COLOSSEUM
- FLYWARP_DATA COLOSSEUM_WIDTH,4,6
- db CLUB
+fly_warp_spec: MACRO
+ db \1, 0
+ dw \2
+ENDM
FlyWarpDataPtr:
- db PALLET_TOWN, 0
- dw PalletTownFlyWarp
- db VIRIDIAN_CITY, 0
- dw ViridianCityFlyWarp
- db PEWTER_CITY, 0
- dw PewterCityFlyWarp
- db CERULEAN_CITY, 0
- dw CeruleanCityFlyWarp
- db LAVENDER_TOWN, 0
- dw LavenderTownFlyWarp
- db VERMILION_CITY, 0
- dw VermilionCityFlyWarp
- db CELADON_CITY, 0
- dw CeladonCityFlyWarp
- db FUCHSIA_CITY, 0
- dw FuchsiaCityFlyWarp
- db CINNABAR_ISLAND, 0
- dw CinnabarIslandFlyWarp
- db INDIGO_PLATEAU, 0
- dw IndigoPlateauFlyWarp
- db SAFFRON_CITY, 0
- dw SaffronCityFlyWarp
- db ROUTE_4, 0
- dw Route4FlyWarp
- db ROUTE_10, 0
- dw Route10FlyWarp
+ fly_warp_spec PALLET_TOWN, .PalletTown
+ fly_warp_spec VIRIDIAN_CITY, .ViridianCity
+ fly_warp_spec PEWTER_CITY, .PewterCity
+ fly_warp_spec CERULEAN_CITY, .CeruleanCity
+ fly_warp_spec LAVENDER_TOWN, .LavenderTown
+ fly_warp_spec VERMILION_CITY, .VermilionCity
+ fly_warp_spec CELADON_CITY, .CeladonCity
+ fly_warp_spec FUCHSIA_CITY, .FuchsiaCity
+ fly_warp_spec CINNABAR_ISLAND, .CinnabarIsland
+ fly_warp_spec INDIGO_PLATEAU, .IndigoPlateau
+ fly_warp_spec SAFFRON_CITY, .SaffronCity
+ fly_warp_spec ROUTE_4, .Route4
+ fly_warp_spec ROUTE_10, .Route10
-; Original Format:
-; [Event Displacement][Y-block][X-block][Y-sub_block][X-sub_block]
-; Macro Format:
-; FLYWARP_DATA [Map Width][Y-pos][X-pos]
-PalletTownFlyWarp:
- FLYWARP_DATA PALLET_TOWN_WIDTH, 6, 5
-ViridianCityFlyWarp:
- FLYWARP_DATA VIRIDIAN_CITY_WIDTH, 26, 23
-PewterCityFlyWarp:
- FLYWARP_DATA PEWTER_CITY_WIDTH, 26, 13
-CeruleanCityFlyWarp:
- FLYWARP_DATA CERULEAN_CITY_WIDTH, 18, 19
-LavenderTownFlyWarp:
- FLYWARP_DATA LAVENDER_TOWN_WIDTH, 6, 3
-VermilionCityFlyWarp:
- FLYWARP_DATA VERMILION_CITY_WIDTH, 4, 11
-CeladonCityFlyWarp:
- FLYWARP_DATA CELADON_CITY_WIDTH, 10, 41
-FuchsiaCityFlyWarp:
- FLYWARP_DATA FUCHSIA_CITY_WIDTH, 28, 19
-CinnabarIslandFlyWarp:
- FLYWARP_DATA CINNABAR_ISLAND_WIDTH, 12, 11
-IndigoPlateauFlyWarp:
- FLYWARP_DATA INDIGO_PLATEAU_WIDTH, 6, 9
-SaffronCityFlyWarp:
- FLYWARP_DATA SAFFRON_CITY_WIDTH, 30, 9
-Route4FlyWarp:
- FLYWARP_DATA ROUTE_4_WIDTH, 6, 11
-Route10FlyWarp:
- FLYWARP_DATA ROUTE_10_WIDTH, 20, 11
+.PalletTown: fly_warp PALLET_TOWN, 5, 6
+.ViridianCity: fly_warp VIRIDIAN_CITY, 23, 26
+.PewterCity: fly_warp PEWTER_CITY, 13, 26
+.CeruleanCity: fly_warp CERULEAN_CITY, 19, 18
+.LavenderTown: fly_warp LAVENDER_TOWN, 3, 6
+.VermilionCity: fly_warp VERMILION_CITY, 11, 4
+.CeladonCity: fly_warp CELADON_CITY, 41, 10
+.FuchsiaCity: fly_warp FUCHSIA_CITY, 19, 28
+.CinnabarIsland: fly_warp CINNABAR_ISLAND, 11, 12
+.IndigoPlateau: fly_warp INDIGO_PLATEAU, 9, 6
+.SaffronCity: fly_warp SAFFRON_CITY, 9, 30
+.Route4: fly_warp ROUTE_4, 11, 6
+.Route10: fly_warp ROUTE_10, 11, 20