huge refactor of overmap-local map travel

This commit is contained in:
Llywelwyn 2023-08-27 16:21:15 +01:00
parent 02be487334
commit 8e3ed5cead
9 changed files with 103 additions and 145 deletions

View file

@ -4,6 +4,7 @@ pub mod prefab_levels;
pub mod prefab_sections;
pub mod prefab_vaults;
use std::collections::HashSet;
use crate::data::ids::*;
#[derive(PartialEq, Copy, Clone)]
#[allow(dead_code)]
@ -178,10 +179,10 @@ impl PrefabBuilder {
build_data.map.tiles[idx] = TileType::ImpassableMountain;
}
'1' => {
build_data.map.tiles[idx] = TileType::ToTown;
build_data.map.tiles[idx] = TileType::ToLocal(ID_TOWN);
}
'2' => {
build_data.map.tiles[idx] = TileType::ToInfinite;
build_data.map.tiles[idx] = TileType::ToLocal(ID_INFINITE);
}
_ => {
rltk::console::log(format!("Unknown glyph '{}' when loading overmap", ch as u8 as char));

View file

@ -75,7 +75,7 @@ impl TownBuilder {
y: wall_gap_y,
});
let overmap_entrance = build_data.map.xy_idx(build_data.width - 2, wall_gap_y);
build_data.map.tiles[overmap_entrance] = TileType::ToOvermap;
build_data.map.tiles[overmap_entrance] = TileType::ToOvermap(build_data.map.id);
build_data.take_snapshot();
}