Help window, UI fixes, asset fixes

This commit is contained in:
Monty Marz 2019-10-06 19:19:08 +00:00
parent e5c246e25e
commit b3862278af
15 changed files with 218 additions and 99 deletions

BIN
assets/voxygen/element/help.png (Stored with Git LFS) Normal file

Binary file not shown.

BIN
assets/voxygen/element/icons/bow_m1.vox (Stored with Git LFS)

Binary file not shown.

Binary file not shown.

Binary file not shown.

BIN
assets/voxygen/voxel/figure/hair/elf/male-1.vox (Stored with Git LFS) Normal file

Binary file not shown.

Binary file not shown.

Binary file not shown.

BIN
assets/voxygen/voxel/figure/hair/human/male-3.vox (Stored with Git LFS) Normal file

Binary file not shown.

View File

@ -7,6 +7,7 @@
Some(("figure.hair.human.male-0", (1, 1, 1))),
Some(("figure.hair.human.male-1", (1, 1, 1))),
Some(("figure.hair.human.male-2", (0, -1, 0))),
Some(("figure.hair.human.male-3", (0, -1, 0))),
],
beard: [
None,
@ -29,7 +30,7 @@
Some(("figure.hair.human.female-5", (1, 2, 0))),
Some(("figure.hair.human.female-6", (1, 0, -7))),
Some(("figure.hair.human.female-7", (-1, 0, -1))),
Some(("figure.hair.human.female-8", (1, 2, -1))),
Some(("figure.hair.human.female-8", (0, 0, 0))),
Some(("figure.hair.human.female-9", (0, 2, -1))),
Some(("figure.hair.human.female-10", (-1, -1, 0))),
Some(("figure.hair.human.female-11", (1, 2, 0))),
@ -86,6 +87,7 @@
eyes: ("figure.eyes.elf.male-0", (4, 9, 2)),
hair: [
Some(("figure.hair.elf.male-0", (2, 1, 1))),
Some(("figure.hair.elf.male-1", (1, -1, 0))),
],
beard: [None],
accessory: [
@ -105,7 +107,7 @@
Some(("figure.hair.elf.female-5", (2, 1, 0))),
Some(("figure.hair.elf.female-6", (2, -1, -7))),
Some(("figure.hair.elf.female-7", (0, -1, -1))),
Some(("figure.hair.elf.female-8", (2, 1, -1))),
Some(("figure.hair.elf.female-8", (1, -1, 0))),
Some(("figure.hair.elf.female-9", (1, 1, -1))),
Some(("figure.hair.elf.female-10", (0, -2, 0))),
Some(("figure.hair.elf.female-11", (2, 1, 0))),

View File

@ -335,9 +335,9 @@ impl Race {
(Race::Dwarf, BodyType::Female) => 1,
(Race::Dwarf, BodyType::Male) => 3,
(Race::Elf, BodyType::Female) => 21,
(Race::Elf, BodyType::Male) => 1,
(Race::Elf, BodyType::Male) => 2,
(Race::Human, BodyType::Female) => 19,
(Race::Human, BodyType::Male) => 3,
(Race::Human, BodyType::Male) => 4,
(Race::Orc, BodyType::Female) => 1,
(Race::Orc, BodyType::Male) => 2,
(Race::Undead, BodyType::Female) => 4,

View File

@ -343,7 +343,7 @@ impl<'a> Widget for CharacterWindow<'a> {
// Level
Text::new(&level)
.mid_top_with_margin_on(state.charwindow_rectangle, 10.0)
.font_id(self.fonts.opensans)
.font_id(self.fonts.cyri)
.font_size(30)
.color(TEXT_COLOR)
.set(state.charwindow_tab1_level, ui);
@ -367,7 +367,7 @@ impl<'a> Widget for CharacterWindow<'a> {
// Exp-Text
Text::new(&exp_treshold)
.mid_top_with_margin_on(state.charwindow_tab1_expbar, 10.0)
.font_id(self.fonts.opensans)
.font_id(self.fonts.cyri)
.font_size(15)
.color(TEXT_COLOR)
.set(state.charwindow_tab1_exp, ui);
@ -390,7 +390,7 @@ impl<'a> Widget for CharacterWindow<'a> {
Intelligence",
)
.top_left_with_margins_on(state.charwindow_rectangle, 140.0, 5.0)
.font_id(self.fonts.opensans)
.font_id(self.fonts.cyri)
.font_size(16)
.color(TEXT_COLOR)
.set(state.charwindow_tab1_statnames, ui);
@ -406,7 +406,7 @@ impl<'a> Widget for CharacterWindow<'a> {
124124",
)
.top_right_with_margins_on(state.charwindow_rectangle, 140.0, 5.0)
.font_id(self.fonts.opensans)
.font_id(self.fonts.cyri)
.font_size(16)
.color(TEXT_COLOR)
.set(state.charwindow_tab1_stats, ui);

View File

@ -223,6 +223,8 @@ image_ids! {
<ImageGraphic>
help:"voxygen.element.help",
charwindow_gradient:"voxygen.element.misc_bg.charwindow",
map_placeholder: "voxygen.background.map",

View File

@ -34,7 +34,7 @@ use spell::Spell;
use crate::{
render::{AaMode, Consts, Globals, Renderer},
scene::camera::Camera,
settings::ControlSettings,
//settings::ControlSettings,
ui::{Ingameable, ScaleMode, Ui},
window::{Event as WinEvent, GameInput},
GlobalState,
@ -103,7 +103,7 @@ widget_ids! {
// Help
help,
help_bg,
help_info,
// Window Frames
window_frame_0,
@ -444,28 +444,30 @@ impl Hud {
if self.show.ingame {
// Crosshair
Image::new(
// TODO: Do we want to match on this every frame?
match global_state.settings.gameplay.crosshair_type {
CrosshairType::Round => self.imgs.crosshair_outer_round,
CrosshairType::RoundEdges => self.imgs.crosshair_outer_round_edges,
CrosshairType::Edges => self.imgs.crosshair_outer_edges,
},
)
.w_h(21.0 * 1.5, 21.0 * 1.5)
.middle_of(ui_widgets.window)
.color(Some(Color::Rgba(
1.0,
1.0,
1.0,
global_state.settings.gameplay.crosshair_transp,
)))
.set(self.ids.crosshair_outer, ui_widgets);
Image::new(self.imgs.crosshair_inner)
.w_h(21.0 * 2.0, 21.0 * 2.0)
.middle_of(self.ids.crosshair_outer)
.color(Some(Color::Rgba(1.0, 1.0, 1.0, 0.6)))
.set(self.ids.crosshair_inner, ui_widgets);
if !self.show.help {
Image::new(
// TODO: Do we want to match on this every frame?
match global_state.settings.gameplay.crosshair_type {
CrosshairType::Round => self.imgs.crosshair_outer_round,
CrosshairType::RoundEdges => self.imgs.crosshair_outer_round_edges,
CrosshairType::Edges => self.imgs.crosshair_outer_edges,
},
)
.w_h(21.0 * 1.5, 21.0 * 1.5)
.middle_of(ui_widgets.window)
.color(Some(Color::Rgba(
1.0,
1.0,
1.0,
global_state.settings.gameplay.crosshair_transp,
)))
.set(self.ids.crosshair_outer, ui_widgets);
Image::new(self.imgs.crosshair_inner)
.w_h(21.0 * 2.0, 21.0 * 2.0)
.middle_of(self.ids.crosshair_outer)
.color(Some(Color::Rgba(1.0, 1.0, 1.0, 0.6)))
.set(self.ids.crosshair_inner, ui_widgets);
}
// Nametags and healthbars
let ecs = client.state().ecs();
@ -584,21 +586,21 @@ impl Hud {
Text::new(&version)
.top_left_with_margins_on(ui_widgets.window, 5.0, 5.0)
.font_size(14)
.font_id(self.fonts.opensans)
.font_id(self.fonts.cyri)
.color(TEXT_COLOR)
.set(self.ids.version, ui_widgets);
// Ticks per second
Text::new(&format!("FPS: {:.0}", debug_info.tps))
.color(TEXT_COLOR)
.down_from(self.ids.version, 5.0)
.font_id(self.fonts.opensans)
.font_id(self.fonts.cyri)
.font_size(14)
.set(self.ids.fps_counter, ui_widgets);
// Ping
Text::new(&format!("Ping: {:.0}ms", debug_info.ping_ms))
.color(TEXT_COLOR)
.down_from(self.ids.fps_counter, 5.0)
.font_id(self.fonts.opensans)
.font_id(self.fonts.cyri)
.font_size(14)
.set(self.ids.ping, ui_widgets);
// Player's position
@ -612,7 +614,7 @@ impl Hud {
Text::new(&coordinates_text)
.color(TEXT_COLOR)
.down_from(self.ids.ping, 5.0)
.font_id(self.fonts.opensans)
.font_id(self.fonts.cyri)
.font_size(14)
.set(self.ids.coordinates, ui_widgets);
// Player's velocity
@ -629,7 +631,7 @@ impl Hud {
Text::new(&velocity_text)
.color(TEXT_COLOR)
.down_from(self.ids.coordinates, 5.0)
.font_id(self.fonts.opensans)
.font_id(self.fonts.cyri)
.font_size(14)
.set(self.ids.velocity, ui_widgets);
// Loaded distance
@ -639,7 +641,7 @@ impl Hud {
))
.color(TEXT_COLOR)
.down_from(self.ids.velocity, 5.0)
.font_id(self.fonts.opensans)
.font_id(self.fonts.cyri)
.font_size(14)
.set(self.ids.loaded_distance, ui_widgets);
// Time
@ -655,9 +657,17 @@ impl Hud {
))
.color(TEXT_COLOR)
.down_from(self.ids.loaded_distance, 5.0)
.font_id(self.fonts.opensans)
.font_id(self.fonts.cyri)
.font_size(14)
.set(self.ids.time, ui_widgets);
// Help Window
Text::new("Press 'F1' to show Keybindings")
.color(TEXT_COLOR)
.down_from(self.ids.time, 5.0)
.font_id(self.fonts.cyri)
.font_size(14)
.set(self.ids.help_info, ui_widgets);
}
// Add Bag-Space Button.
@ -681,23 +691,18 @@ impl Hud {
}
// Help Text
if self.show.help {
Image::new(self.imgs.window_frame_2)
.top_left_with_margins_on(ui_widgets.window, 3.0, 3.0)
.w_h(300.0, 190.0)
.set(self.ids.help_bg, ui_widgets);
Text::new(get_help_text(&global_state.settings.controls).as_str())
.color(TEXT_COLOR)
.top_left_with_margins_on(self.ids.help_bg, 20.0, 20.0)
.font_id(self.fonts.opensans)
.font_size(18)
if self.show.help && !self.show.map && !self.show.esc_menu {
Image::new(self.imgs.help)
.middle_of(ui_widgets.window)
.w_h(1260.0, 519.0)
.set(self.ids.help, ui_widgets);
// X-button
if Button::image(self.imgs.close_button)
.w_h(100.0 * 0.2, 100.0 * 0.2)
.w_h(40.0, 40.0)
.hover_image(self.imgs.close_button_hover)
.press_image(self.imgs.close_button_press)
.top_right_with_margins_on(self.ids.help_bg, 4.0, 4.0)
.top_right_with_margins_on(self.ids.help, 0.0, 0.0)
.color(Color::Rgba(1.0, 1.0, 1.0, 0.8))
.set(self.ids.button_help2, ui_widgets)
.was_clicked()
{
@ -1120,7 +1125,7 @@ impl Hud {
// Get the text to show in the help window and use the
// length of the longest line to resize the window.
fn get_help_text(cs: &ControlSettings) -> String {
/*fn get_help_text(cs: &ControlSettings) -> String {
format!(
"{free_cursor:?} = Free cursor\n\
{escape:?} = Open/close menus\n\
@ -1136,4 +1141,4 @@ fn get_help_text(cs: &ControlSettings) -> String {
toggle_interface = cs.toggle_interface,
chat = cs.enter
)
}
}*/

View File

@ -299,18 +299,73 @@ impl<'a> Widget for Skillbar<'a> {
.top_left_with_margins_on(state.ids.xp_bar_left, 2.0 * scale, 10.0 * scale)
.set(state.ids.xp_bar_filling, ui);
// Level Display
Text::new(&level)
.bottom_left_with_margins_on(state.ids.xp_bar_left, 3.5 * scale, 4.0 * scale)
.font_size(10)
.font_id(self.fonts.cyri)
.color(Color::Rgba(1.0, 1.0, 1.0, 1.0))
.set(state.ids.level_text, ui);
Text::new(&next_level)
.bottom_right_with_margins_on(state.ids.xp_bar_right, 3.5 * scale, 4.0 * scale)
.font_size(10)
.font_id(self.fonts.cyri)
.color(Color::Rgba(1.0, 1.0, 1.0, 1.0))
.set(state.ids.next_level_text, ui);
if self.stats.level.level() < 10 {
Text::new(&level)
.bottom_left_with_margins_on(
state.ids.xp_bar_left,
3.5 * scale,
4.0 * scale,
)
.font_size(10)
.font_id(self.fonts.cyri)
.color(Color::Rgba(1.0, 1.0, 1.0, 1.0))
.set(state.ids.level_text, ui);
Text::new(&next_level)
.bottom_right_with_margins_on(
state.ids.xp_bar_right,
3.5 * scale,
4.0 * scale,
)
.font_size(10)
.font_id(self.fonts.cyri)
.color(Color::Rgba(1.0, 1.0, 1.0, 1.0))
.set(state.ids.next_level_text, ui);
} else if self.stats.level.level() < 100 {
// Change offset and fontsize for levels > 9
Text::new(&level)
.bottom_left_with_margins_on(
state.ids.xp_bar_left,
3.5 * scale,
3.0 * scale,
)
.font_size(9)
.font_id(self.fonts.cyri)
.color(Color::Rgba(1.0, 1.0, 1.0, 1.0))
.set(state.ids.level_text, ui);
Text::new(&next_level)
.bottom_right_with_margins_on(
state.ids.xp_bar_right,
3.5 * scale,
3.0 * scale,
)
.font_size(9)
.font_id(self.fonts.cyri)
.color(Color::Rgba(1.0, 1.0, 1.0, 1.0))
.set(state.ids.next_level_text, ui);
} else {
// Change offset and fontsize for levels > 9
Text::new(&level)
.bottom_left_with_margins_on(
state.ids.xp_bar_left,
3.5 * scale,
2.5 * scale,
)
.font_size(8)
.font_id(self.fonts.cyri)
.color(Color::Rgba(1.0, 1.0, 1.0, 1.0))
.set(state.ids.level_text, ui);
Text::new(&next_level)
.bottom_right_with_margins_on(
state.ids.xp_bar_right,
3.5 * scale,
2.5 * scale,
)
.font_size(8)
.font_id(self.fonts.cyri)
.color(Color::Rgba(1.0, 1.0, 1.0, 1.0))
.set(state.ids.next_level_text, ui);
}
// M1 Slot
Image::new(self.imgs.skillbar_slot_big)
.w_h(40.0 * scale, 40.0 * scale)
@ -369,26 +424,72 @@ impl<'a> Widget for Skillbar<'a> {
)
.set(state.ids.xp_bar_filling_top, ui);
// Level Display
Text::new(&level)
.bottom_left_with_margins_on(
state.ids.xp_bar_left_top,
3.0 * scale * 1.5,
4.0 * scale * 1.5,
)
.font_size(17)
.font_id(self.fonts.cyri)
.color(Color::Rgba(1.0, 1.0, 1.0, fade_xp))
.set(state.ids.level_text, ui);
Text::new(&next_level)
.bottom_right_with_margins_on(
state.ids.xp_bar_right_top,
3.0 * scale * 1.5,
4.0 * scale * 1.5,
)
.font_size(17)
.font_id(self.fonts.cyri)
.color(Color::Rgba(1.0, 1.0, 1.0, fade_xp))
.set(state.ids.next_level_text, ui);
if self.stats.level.level() < 10 {
Text::new(&level)
.bottom_left_with_margins_on(
state.ids.xp_bar_left_top,
3.0 * scale * 1.5,
4.0 * scale * 1.5,
)
.font_size(17)
.font_id(self.fonts.cyri)
.color(Color::Rgba(1.0, 1.0, 1.0, fade_xp))
.set(state.ids.level_text, ui);
Text::new(&next_level)
.bottom_right_with_margins_on(
state.ids.xp_bar_right_top,
3.0 * scale * 1.5,
4.0 * scale * 1.5,
)
.font_size(15)
.font_id(self.fonts.cyri)
.color(Color::Rgba(1.0, 1.0, 1.0, fade_xp))
.set(state.ids.next_level_text, ui);
} else if self.stats.level.level() < 100 {
// Change offset and fontsize for levels > 9
Text::new(&level)
.bottom_left_with_margins_on(
state.ids.xp_bar_left_top,
3.0 * scale * 1.5,
3.0 * scale * 1.5,
)
.font_size(15)
.font_id(self.fonts.cyri)
.color(Color::Rgba(1.0, 1.0, 1.0, fade_xp))
.set(state.ids.level_text, ui);
Text::new(&next_level)
.bottom_right_with_margins_on(
state.ids.xp_bar_right_top,
3.0 * scale * 1.5,
3.0 * scale * 1.5,
)
.font_size(15)
.font_id(self.fonts.cyri)
.color(Color::Rgba(1.0, 1.0, 1.0, fade_xp))
.set(state.ids.next_level_text, ui);
} else {
// Change offset and fontsize for levels > 9
Text::new(&level)
.bottom_left_with_margins_on(
state.ids.xp_bar_left_top,
3.0 * scale * 1.5,
2.75 * scale * 1.5,
)
.font_size(12)
.font_id(self.fonts.cyri)
.color(Color::Rgba(1.0, 1.0, 1.0, fade_xp))
.set(state.ids.level_text, ui);
Text::new(&next_level)
.bottom_right_with_margins_on(
state.ids.xp_bar_right_top,
3.0 * scale * 1.5,
2.75 * scale * 1.5,
)
.font_size(12)
.font_id(self.fonts.cyri)
.color(Color::Rgba(1.0, 1.0, 1.0, fade_xp))
.set(state.ids.next_level_text, ui);
}
// Alignment for hotbar
Rectangle::fill_with([80.0 * scale, 1.0], color::TRANSPARENT)
.mid_bottom_with_margin_on(ui.window, 9.0)

View File

@ -192,7 +192,7 @@ impl<'a> Widget for Social<'a> {
Text::new(&player.alias)
.down_from(ids.online_title, count as f64 * (15.0 + 3.0))
.font_size(15)
.font_id(self.fonts.opensans)
.font_id(self.fonts.cyri)
.color(TEXT_COLOR)
.set(ids.player_names[count], ui);
@ -201,7 +201,7 @@ impl<'a> Widget for Social<'a> {
Text::new(&format!("{} player(s) online\n", count))
.top_left_with_margins_on(ids.content_align, -2.0, 7.0)
.font_size(14)
.font_id(self.fonts.opensans)
.font_id(self.fonts.cyri)
.color(TEXT_COLOR)
.set(ids.online_title, ui);
}
@ -241,7 +241,7 @@ impl<'a> Widget for Social<'a> {
Text::new("Not yet available")
.middle_of(ids.content_align)
.font_size(18)
.font_id(self.fonts.opensans)
.font_id(self.fonts.cyri)
.color(TEXT_COLOR_3)
.set(ids.friends_test, ui);
}
@ -271,7 +271,7 @@ impl<'a> Widget for Social<'a> {
Text::new("Not yet available")
.middle_of(ids.content_align)
.font_size(18)
.font_id(self.fonts.opensans)
.font_id(self.fonts.cyri)
.color(TEXT_COLOR_3)
.set(ids.faction_test, ui);
}