mirror of
https://gitlab.com/veloren/veloren.git
synced 2024-08-30 18:12:32 +00:00
Add toggle for minimap, fix scaling formula, reduce minimap VD for better performance, and add changelog entry.
This commit is contained in:
parent
1214715c21
commit
cbe7521259
@ -59,6 +59,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|||||||
- /skill_preset command which allows you to apply skill presets
|
- /skill_preset command which allows you to apply skill presets
|
||||||
- Added timed bans and ban history.
|
- Added timed bans and ban history.
|
||||||
- Added non-admin moderators with limit privileges and updated the security model to reflect this.
|
- Added non-admin moderators with limit privileges and updated the security model to reflect this.
|
||||||
|
- Added a minimap mode that visualizes terrain within a chunk.
|
||||||
- Chat tabs
|
- Chat tabs
|
||||||
- NPC's now hear certain sounds
|
- NPC's now hear certain sounds
|
||||||
- Renamed Animal Trainers to Beastmasters and gave them their own set of armor to wear
|
- Renamed Animal Trainers to Beastmasters and gave them their own set of armor to wear
|
||||||
|
@ -14,6 +14,7 @@
|
|||||||
"hud.map.caves": "Caves",
|
"hud.map.caves": "Caves",
|
||||||
"hud.map.cave": "Cave",
|
"hud.map.cave": "Cave",
|
||||||
"hud.map.peaks": "Mountains",
|
"hud.map.peaks": "Mountains",
|
||||||
|
"hud.map.voxel_map": "Voxel map",
|
||||||
"hud.map.trees": "Giant Trees",
|
"hud.map.trees": "Giant Trees",
|
||||||
"hud.map.tree": "Giant Tree",
|
"hud.map.tree": "Giant Tree",
|
||||||
"hud.map.town": "Town",
|
"hud.map.town": "Town",
|
||||||
|
@ -65,6 +65,9 @@ widget_ids! {
|
|||||||
show_peaks_img,
|
show_peaks_img,
|
||||||
show_peaks_box,
|
show_peaks_box,
|
||||||
show_peaks_text,
|
show_peaks_text,
|
||||||
|
show_voxel_map_img,
|
||||||
|
show_voxel_map_box,
|
||||||
|
show_voxel_map_text,
|
||||||
show_difficulty_img,
|
show_difficulty_img,
|
||||||
show_difficulty_box,
|
show_difficulty_box,
|
||||||
show_difficulty_text,
|
show_difficulty_text,
|
||||||
@ -200,6 +203,7 @@ impl<'a> Widget for Map<'a> {
|
|||||||
let show_caves = self.global_state.settings.interface.map_show_caves;
|
let show_caves = self.global_state.settings.interface.map_show_caves;
|
||||||
let show_trees = self.global_state.settings.interface.map_show_trees;
|
let show_trees = self.global_state.settings.interface.map_show_trees;
|
||||||
let show_peaks = self.global_state.settings.interface.map_show_peaks;
|
let show_peaks = self.global_state.settings.interface.map_show_peaks;
|
||||||
|
let show_voxel_map = self.global_state.settings.interface.map_show_voxel_map;
|
||||||
let show_topo_map = self.global_state.settings.interface.map_show_topo_map;
|
let show_topo_map = self.global_state.settings.interface.map_show_topo_map;
|
||||||
let mut events = Vec::new();
|
let mut events = Vec::new();
|
||||||
let i18n = &self.localized_strings;
|
let i18n = &self.localized_strings;
|
||||||
@ -636,6 +640,40 @@ impl<'a> Widget for Map<'a> {
|
|||||||
.graphics_for(state.ids.show_peaks_box)
|
.graphics_for(state.ids.show_peaks_box)
|
||||||
.color(TEXT_COLOR)
|
.color(TEXT_COLOR)
|
||||||
.set(state.ids.show_peaks_text, ui);
|
.set(state.ids.show_peaks_text, ui);
|
||||||
|
// Voxel map
|
||||||
|
Image::new(self.imgs.mmap_poi_peak)
|
||||||
|
.down_from(state.ids.show_peaks_img, 10.0)
|
||||||
|
.w_h(20.0, 20.0)
|
||||||
|
.set(state.ids.show_voxel_map_img, ui);
|
||||||
|
if Button::image(if show_voxel_map {
|
||||||
|
self.imgs.checkbox_checked
|
||||||
|
} else {
|
||||||
|
self.imgs.checkbox
|
||||||
|
})
|
||||||
|
.w_h(18.0, 18.0)
|
||||||
|
.hover_image(if show_voxel_map {
|
||||||
|
self.imgs.checkbox_checked_mo
|
||||||
|
} else {
|
||||||
|
self.imgs.checkbox_mo
|
||||||
|
})
|
||||||
|
.press_image(if show_voxel_map {
|
||||||
|
self.imgs.checkbox_checked
|
||||||
|
} else {
|
||||||
|
self.imgs.checkbox_press
|
||||||
|
})
|
||||||
|
.right_from(state.ids.show_voxel_map_img, 10.0)
|
||||||
|
.set(state.ids.show_voxel_map_box, ui)
|
||||||
|
.was_clicked()
|
||||||
|
{
|
||||||
|
events.push(Event::SettingsChange(MapShowVoxelMap(!show_voxel_map)));
|
||||||
|
}
|
||||||
|
Text::new(i18n.get("hud.map.voxel_map"))
|
||||||
|
.right_from(state.ids.show_voxel_map_box, 10.0)
|
||||||
|
.font_size(self.fonts.cyri.scale(14))
|
||||||
|
.font_id(self.fonts.cyri.conrod_id)
|
||||||
|
.graphics_for(state.ids.show_voxel_map_box)
|
||||||
|
.color(TEXT_COLOR)
|
||||||
|
.set(state.ids.show_voxel_map_text, ui);
|
||||||
// Map icons
|
// Map icons
|
||||||
if state.ids.mmap_poi_icons.len() < self.client.pois().len() {
|
if state.ids.mmap_poi_icons.len() < self.client.pois().len() {
|
||||||
state.update(|state| {
|
state.update(|state| {
|
||||||
|
@ -52,7 +52,7 @@ pub struct VoxelMinimap {
|
|||||||
keyed_jobs: KeyedJobs<Vec2<i32>, MinimapColumn>,
|
keyed_jobs: KeyedJobs<Vec2<i32>, MinimapColumn>,
|
||||||
}
|
}
|
||||||
|
|
||||||
const VOXEL_MINIMAP_SIDELENGTH: u32 = 512;
|
const VOXEL_MINIMAP_SIDELENGTH: u32 = 256;
|
||||||
impl VoxelMinimap {
|
impl VoxelMinimap {
|
||||||
pub fn new(ui: &mut Ui) -> Self {
|
pub fn new(ui: &mut Ui) -> Self {
|
||||||
let mut composited = RgbaImage::new(VOXEL_MINIMAP_SIDELENGTH, VOXEL_MINIMAP_SIDELENGTH);
|
let mut composited = RgbaImage::new(VOXEL_MINIMAP_SIDELENGTH, VOXEL_MINIMAP_SIDELENGTH);
|
||||||
@ -394,8 +394,7 @@ impl<'a> Widget for MiniMap<'a> {
|
|||||||
let show_minimap = self.global_state.settings.interface.minimap_show;
|
let show_minimap = self.global_state.settings.interface.minimap_show;
|
||||||
let is_facing_north = self.global_state.settings.interface.minimap_face_north;
|
let is_facing_north = self.global_state.settings.interface.minimap_face_north;
|
||||||
let show_topo_map = self.global_state.settings.interface.map_show_topo_map;
|
let show_topo_map = self.global_state.settings.interface.map_show_topo_map;
|
||||||
//let show_voxel_map = self.global_state.settings.interface.map_show_voxel_map;
|
let show_voxel_map = self.global_state.settings.interface.map_show_voxel_map;
|
||||||
let show_voxel_map = true;
|
|
||||||
let orientation = if is_facing_north {
|
let orientation = if is_facing_north {
|
||||||
Vec3::new(0.0, 1.0, 0.0)
|
Vec3::new(0.0, 1.0, 0.0)
|
||||||
} else {
|
} else {
|
||||||
@ -563,7 +562,7 @@ impl<'a> Widget for MiniMap<'a> {
|
|||||||
} else {
|
} else {
|
||||||
self.voxel_minimap.image_id.source_north
|
self.voxel_minimap.image_id.source_north
|
||||||
};
|
};
|
||||||
let scaling = (VOXEL_MINIMAP_SIDELENGTH as f64 / 32.0) * max_zoom / zoom;
|
let scaling = 32.0 * max_zoom / zoom;
|
||||||
let cmod: Vec2<f64> = (player_pos.xy() % 32.0).as_();
|
let cmod: Vec2<f64> = (player_pos.xy() % 32.0).as_();
|
||||||
let rect_src = position::Rect::from_xy_dim(
|
let rect_src = position::Rect::from_xy_dim(
|
||||||
[
|
[
|
||||||
|
@ -122,6 +122,7 @@ pub enum Interface {
|
|||||||
MapShowCaves(bool),
|
MapShowCaves(bool),
|
||||||
MapShowTrees(bool),
|
MapShowTrees(bool),
|
||||||
MapShowPeaks(bool),
|
MapShowPeaks(bool),
|
||||||
|
MapShowVoxelMap(bool),
|
||||||
|
|
||||||
ResetInterfaceSettings,
|
ResetInterfaceSettings,
|
||||||
}
|
}
|
||||||
@ -511,6 +512,9 @@ impl SettingsChange {
|
|||||||
Interface::MapShowPeaks(map_show_peaks) => {
|
Interface::MapShowPeaks(map_show_peaks) => {
|
||||||
settings.interface.map_show_peaks = map_show_peaks;
|
settings.interface.map_show_peaks = map_show_peaks;
|
||||||
},
|
},
|
||||||
|
Interface::MapShowVoxelMap(map_show_voxel_map) => {
|
||||||
|
settings.interface.map_show_voxel_map = map_show_voxel_map;
|
||||||
|
},
|
||||||
Interface::ResetInterfaceSettings => {
|
Interface::ResetInterfaceSettings => {
|
||||||
// Reset Interface Settings
|
// Reset Interface Settings
|
||||||
let tmp = settings.interface.intro_show;
|
let tmp = settings.interface.intro_show;
|
||||||
|
@ -34,6 +34,7 @@ pub struct InterfaceSettings {
|
|||||||
pub map_show_caves: bool,
|
pub map_show_caves: bool,
|
||||||
pub map_show_trees: bool,
|
pub map_show_trees: bool,
|
||||||
pub map_show_peaks: bool,
|
pub map_show_peaks: bool,
|
||||||
|
pub map_show_voxel_map: bool,
|
||||||
pub minimap_show: bool,
|
pub minimap_show: bool,
|
||||||
pub minimap_face_north: bool,
|
pub minimap_face_north: bool,
|
||||||
pub minimap_zoom: f64,
|
pub minimap_zoom: f64,
|
||||||
@ -67,6 +68,7 @@ impl Default for InterfaceSettings {
|
|||||||
map_show_caves: true,
|
map_show_caves: true,
|
||||||
map_show_trees: false,
|
map_show_trees: false,
|
||||||
map_show_peaks: false,
|
map_show_peaks: false,
|
||||||
|
map_show_voxel_map: false,
|
||||||
minimap_show: true,
|
minimap_show: true,
|
||||||
minimap_face_north: false,
|
minimap_face_north: false,
|
||||||
minimap_zoom: 10.0,
|
minimap_zoom: 10.0,
|
||||||
|
Loading…
Reference in New Issue
Block a user