fix clippy warnings

This commit is contained in:
Marcel Märtens 2021-07-11 20:41:52 +02:00
parent fb4f50002e
commit 9b3b21f368
102 changed files with 592 additions and 595 deletions

View File

@ -59,7 +59,7 @@ where
{ {
use crate::error::Error; use crate::error::Error;
let mut participant = None; let mut participant = None;
for addr in resolve(&address, prefer_ipv6) for addr in resolve(address, prefer_ipv6)
.await .await
.map_err(Error::HostnameLookupFailed)? .map_err(Error::HostnameLookupFailed)?
{ {

View File

@ -8,7 +8,7 @@ trait TabComplete {
impl TabComplete for ArgumentSpec { impl TabComplete for ArgumentSpec {
fn complete(&self, part: &str, client: &Client) -> Vec<String> { fn complete(&self, part: &str, client: &Client) -> Vec<String> {
match self { match self {
ArgumentSpec::PlayerName(_) => complete_player(part, &client), ArgumentSpec::PlayerName(_) => complete_player(part, client),
ArgumentSpec::Float(_, x, _) => { ArgumentSpec::Float(_, x, _) => {
if part.is_empty() { if part.is_empty() {
vec![format!("{:.1}", x)] vec![format!("{:.1}", x)]
@ -25,7 +25,7 @@ impl TabComplete for ArgumentSpec {
}, },
ArgumentSpec::Any(_, _) => vec![], ArgumentSpec::Any(_, _) => vec![],
ArgumentSpec::Command(_) => complete_command(part), ArgumentSpec::Command(_) => complete_command(part),
ArgumentSpec::Message(_) => complete_player(part, &client), ArgumentSpec::Message(_) => complete_player(part, client),
ArgumentSpec::SubCommand => complete_command(part), ArgumentSpec::SubCommand => complete_command(part),
ArgumentSpec::Enum(_, strings, _) => strings ArgumentSpec::Enum(_, strings, _) => strings
.iter() .iter()
@ -100,27 +100,27 @@ pub fn complete(line: &str, client: &Client) -> Vec<String> {
} else if let Ok(cmd) = cmd.parse::<ChatCommand>() { } else if let Ok(cmd) = cmd.parse::<ChatCommand>() {
if let Some(arg) = cmd.data().args.get(i - 1) { if let Some(arg) = cmd.data().args.get(i - 1) {
// Complete ith argument // Complete ith argument
arg.complete(word, &client) arg.complete(word, client)
} else { } else {
// Complete past the last argument // Complete past the last argument
match cmd.data().args.last() { match cmd.data().args.last() {
Some(ArgumentSpec::SubCommand) => { Some(ArgumentSpec::SubCommand) => {
if let Some(index) = nth_word(line, cmd.data().args.len()) { if let Some(index) = nth_word(line, cmd.data().args.len()) {
complete(&line[index..], &client) complete(&line[index..], client)
} else { } else {
vec![] vec![]
} }
}, },
Some(ArgumentSpec::Message(_)) => complete_player(word, &client), Some(ArgumentSpec::Message(_)) => complete_player(word, client),
_ => vec![], // End of command. Nothing to complete _ => vec![], // End of command. Nothing to complete
} }
} }
} else { } else {
// Completing for unknown chat command // Completing for unknown chat command
complete_player(word, &client) complete_player(word, client)
} }
} else { } else {
// Not completing a command // Not completing a command
complete_player(word, &client) complete_player(word, client)
} }
} }

View File

@ -723,7 +723,7 @@ impl Client {
let token_or_username = match &self.server_info.auth_provider { let token_or_username = match &self.server_info.auth_provider {
Some(addr) => { Some(addr) => {
// Query whether this is a trusted auth server // Query whether this is a trusted auth server
if auth_trusted(&addr) { if auth_trusted(addr) {
let (scheme, authority) = match addr.split_once("://") { let (scheme, authority) = match addr.split_once("://") {
Some((s, a)) => (s, a), Some((s, a)) => (s, a),
None => return Err(Error::AuthServerUrlInvalid(addr.to_string())), None => return Err(Error::AuthServerUrlInvalid(addr.to_string())),

View File

@ -237,7 +237,7 @@ lazy_static! {
for entry in std::fs::read_dir(path)? { for entry in std::fs::read_dir(path)? {
let path = entry?.path(); let path = entry?.path();
if path.is_dir(){ if path.is_dir(){
list_items(&path, &base, &mut items)?; list_items(&path, base, &mut items)?;
} else if let Ok(path) = path.strip_prefix(base) { } else if let Ok(path) = path.strip_prefix(base) {
let path = path.to_string_lossy().trim_end_matches(".ron").replace('/', ".").replace('\\', "."); let path = path.to_string_lossy().trim_end_matches(".ron").replace('/', ".").replace('\\', ".");
items.push(path); items.push(path);
@ -793,6 +793,7 @@ pub enum ArgumentSpec {
} }
impl ArgumentSpec { impl ArgumentSpec {
#[allow(clippy::nonstandard_macro_braces)] //tmp as of false positive !?
pub fn usage_string(&self) -> String { pub fn usage_string(&self) -> String {
match self { match self {
ArgumentSpec::PlayerName(req) => { ArgumentSpec::PlayerName(req) => {

View File

@ -1,3 +1,4 @@
#![allow(clippy::nonstandard_macro_braces)] //tmp as of false positive !?
use crate::{make_case_elim, make_proj_elim}; use crate::{make_case_elim, make_proj_elim};
use rand::{seq::SliceRandom, thread_rng, Rng}; use rand::{seq::SliceRandom, thread_rng, Rng};
use serde::{Deserialize, Serialize}; use serde::{Deserialize, Serialize};

View File

@ -1,3 +1,4 @@
#![allow(clippy::nonstandard_macro_braces)] //tmp as of false positive !?
use crate::uid::Uid; use crate::uid::Uid;
use core::{cmp::Ordering, time::Duration}; use core::{cmp::Ordering, time::Duration};
#[cfg(not(target_arch = "wasm32"))] #[cfg(not(target_arch = "wasm32"))]
@ -421,7 +422,7 @@ impl Buffs {
// Intentionally sorted in reverse so that the strongest buffs are earlier in // Intentionally sorted in reverse so that the strongest buffs are earlier in
// the vector // the vector
buff_order buff_order
.sort_by(|a, b| buffs[&b].partial_cmp(&buffs[&a]).unwrap_or(Ordering::Equal)); .sort_by(|a, b| buffs[b].partial_cmp(&buffs[a]).unwrap_or(Ordering::Equal));
} }
} }
} }

View File

@ -187,8 +187,8 @@ impl<G> GenericChatMsg<G> {
pub fn get_group(&self) -> Option<&G> { pub fn get_group(&self) -> Option<&G> {
match &self.chat_type { match &self.chat_type {
ChatType::GroupMeta(g) => Some(&g), ChatType::GroupMeta(g) => Some(g),
ChatType::Group(_, g) => Some(&g), ChatType::Group(_, g) => Some(g),
_ => None, _ => None,
} }
} }
@ -326,7 +326,7 @@ impl SpeechBubble {
{ {
match &self.message { match &self.message {
SpeechBubbleMessage::Plain(m) => m.to_string(), SpeechBubbleMessage::Plain(m) => m.to_string(),
SpeechBubbleMessage::Localized(k, i) => i18n_variation(&k, *i), SpeechBubbleMessage::Localized(k, i) => i18n_variation(k, *i),
} }
} }
} }

View File

@ -416,7 +416,7 @@ impl TryFrom<(&Item, &AbilityMap, &MaterialStatManifest)> for ItemConfig {
.cloned(); .cloned();
let abilities = if let Some(set_key) = item.ability_spec() { let abilities = if let Some(set_key) = item.ability_spec() {
if let Some(set) = ability_map.get_ability_set(set_key) { if let Some(set) = ability_map.get_ability_set(set_key) {
set.clone().modified_by_tool(&tool, msm, &item.components) set.clone().modified_by_tool(tool, msm, &item.components)
} else { } else {
error!( error!(
"Custom ability set: {:?} references non-existent set, falling back to \ "Custom ability set: {:?} references non-existent set, falling back to \
@ -426,7 +426,7 @@ impl TryFrom<(&Item, &AbilityMap, &MaterialStatManifest)> for ItemConfig {
tool_default.unwrap_or_default() tool_default.unwrap_or_default()
} }
} else if let Some(set) = tool_default { } else if let Some(set) = tool_default {
set.modified_by_tool(&tool, msm, &item.components) set.modified_by_tool(tool, msm, &item.components)
} else { } else {
error!( error!(
"No ability set defined for tool: {:?}, falling back to default ability set.", "No ability set defined for tool: {:?}, falling back to default ability set.",
@ -781,7 +781,7 @@ impl Item {
pub fn slots_mut(&mut self) -> &mut [InvSlot] { &mut self.slots } pub fn slots_mut(&mut self) -> &mut [InvSlot] { &mut self.slots }
pub fn item_config_expect(&self) -> &ItemConfig { pub fn item_config_expect(&self) -> &ItemConfig {
&self self
.item_config .item_config
.as_ref() .as_ref()
.expect("Item was expected to have an ItemConfig") .expect("Item was expected to have an ItemConfig")

View File

@ -427,7 +427,7 @@ impl assets::Compound for AbilityMap {
kind.clone(), kind.clone(),
// expect cannot fail because CharacterAbility always // expect cannot fail because CharacterAbility always
// provides a default value in case of failure // provides a default value in case of failure
set.map_ref(|s| cache.load_expect(&s).cloned()), set.map_ref(|s| cache.load_expect(s).cloned()),
) )
}) })
.collect(), .collect(),

View File

@ -71,10 +71,10 @@ pub enum ItemSpec {
impl ItemSpec { impl ItemSpec {
pub fn try_to_item(&self, asset_specifier: &str, rng: &mut impl Rng) -> Option<Item> { pub fn try_to_item(&self, asset_specifier: &str, rng: &mut impl Rng) -> Option<Item> {
match self { match self {
ItemSpec::Item(specifier) => Some(Item::new_from_asset_expect(&specifier)), ItemSpec::Item(specifier) => Some(Item::new_from_asset_expect(specifier)),
ItemSpec::Choice(items) => { ItemSpec::Choice(items) => {
choose(&items, asset_specifier, rng) choose(items, asset_specifier, rng)
.as_ref() .as_ref()
.and_then(|e| match e { .and_then(|e| match e {
entry @ ItemSpec::Item { .. } => entry.try_to_item(asset_specifier, rng), entry @ ItemSpec::Item { .. } => entry.try_to_item(asset_specifier, rng),
@ -471,7 +471,7 @@ impl LoadoutBuilder {
let rng = &mut rand::thread_rng(); let rng = &mut rand::thread_rng();
match preset { match preset {
Preset::HuskSummon => { Preset::HuskSummon => {
self = self.with_asset_expect("common.loadout.dungeon.tier-5.husk", rng) self = self.with_asset_expect("common.loadout.dungeon.tier-5.husk", rng);
}, },
} }

View File

@ -787,7 +787,7 @@ impl Inventory {
pub fn can_swap(&self, inv_slot_id: InvSlotId, equip_slot: EquipSlot) -> bool { pub fn can_swap(&self, inv_slot_id: InvSlotId, equip_slot: EquipSlot) -> bool {
// Check if loadout slot can hold item // Check if loadout slot can hold item
if !self.get(inv_slot_id).map_or(true, |item| { if !self.get(inv_slot_id).map_or(true, |item| {
self.loadout.slot_can_hold(equip_slot, Some(&item.kind())) self.loadout.slot_can_hold(equip_slot, Some(item.kind()))
}) { }) {
trace!("can_swap = false, equip slot can't hold item"); trace!("can_swap = false, equip slot can't hold item");
return false; return false;

View File

@ -970,7 +970,7 @@ impl Skill {
/// note direct prerequisites) /// note direct prerequisites)
pub fn prerequisite_skills(&self) -> impl Iterator<Item = (Skill, Option<u16>)> { pub fn prerequisite_skills(&self) -> impl Iterator<Item = (Skill, Option<u16>)> {
SKILL_PREREQUISITES SKILL_PREREQUISITES
.get(&self) .get(self)
.into_iter() .into_iter()
.flatten() .flatten()
.map(|(skill, level)| (*skill, *level)) .map(|(skill, level)| (*skill, *level))
@ -984,12 +984,12 @@ impl Skill {
/// Returns the maximum level a skill can reach, returns None if the skill /// Returns the maximum level a skill can reach, returns None if the skill
/// doesn't level /// doesn't level
pub fn max_level(&self) -> Option<u16> { SKILL_MAX_LEVEL.get(&self).copied().flatten() } pub fn max_level(&self) -> Option<u16> { SKILL_MAX_LEVEL.get(self).copied().flatten() }
/// Returns the skill group type for a skill from the static skill group /// Returns the skill group type for a skill from the static skill group
/// definitions. /// definitions.
pub fn skill_group_kind(&self) -> Option<SkillGroupKind> { pub fn skill_group_kind(&self) -> Option<SkillGroupKind> {
SKILL_GROUP_LOOKUP.get(&self).copied() SKILL_GROUP_LOOKUP.get(self).copied()
} }
} }

View File

@ -125,7 +125,7 @@ impl assets::Compound for RecipeBook {
) -> Result<(RecipeInput, u32), assets::Error> { ) -> Result<(RecipeInput, u32), assets::Error> {
let def = match &spec.0 { let def = match &spec.0 {
RawRecipeInput::Item(name) => { RawRecipeInput::Item(name) => {
RecipeInput::Item(Arc::<ItemDef>::load_cloned(&name)?) RecipeInput::Item(Arc::<ItemDef>::load_cloned(name)?)
}, },
RawRecipeInput::Tag(tag) => RecipeInput::Tag(*tag), RawRecipeInput::Tag(tag) => RecipeInput::Tag(*tag),
}; };

View File

@ -82,7 +82,7 @@ impl Queue {
where where
F: FnOnce() + Send + Sync + 'static, F: FnOnce() + Send + Sync + 'static,
{ {
let internal = Arc::clone(&internal); let internal = Arc::clone(internal);
let name_cloned = name.to_owned(); let name_cloned = name.to_owned();
Self { Self {
id, id,

View File

@ -37,7 +37,7 @@ impl CharacterBehavior for Data {
let mut update = StateUpdate::from(data); let mut update = StateUpdate::from(data);
handle_orientation(data, &mut update, 1.0); handle_orientation(data, &mut update, 1.0);
handle_move(&data, &mut update, 0.4); handle_move(data, &mut update, 0.4);
match self.stage_section { match self.stage_section {
StageSection::Buildup => { StageSection::Buildup => {

View File

@ -44,7 +44,7 @@ impl CharacterBehavior for Data {
fn manipulate_loadout(&self, data: &JoinData, inv_action: InventoryAction) -> StateUpdate { fn manipulate_loadout(&self, data: &JoinData, inv_action: InventoryAction) -> StateUpdate {
let mut update = StateUpdate::from(data); let mut update = StateUpdate::from(data);
handle_manipulate_loadout(&data, &mut update, inv_action); handle_manipulate_loadout(data, &mut update, inv_action);
update update
} }
} }

View File

@ -84,7 +84,7 @@ impl CharacterBehavior for Data {
{ {
update.character = CharacterState::Idle; update.character = CharacterState::Idle;
update.ori = update.ori.to_horizontal(); update.ori = update.ori.to_horizontal();
} else if !handle_climb(&data, &mut update) { } else if !handle_climb(data, &mut update) {
let air_flow = data let air_flow = data
.physics .physics
.in_fluid .in_fluid

View File

@ -64,7 +64,7 @@ impl CharacterBehavior for Data {
fn manipulate_loadout(&self, data: &JoinData, inv_action: InventoryAction) -> StateUpdate { fn manipulate_loadout(&self, data: &JoinData, inv_action: InventoryAction) -> StateUpdate {
let mut update = StateUpdate::from(data); let mut update = StateUpdate::from(data);
handle_manipulate_loadout(&data, &mut update, inv_action); handle_manipulate_loadout(data, &mut update, inv_action);
update update
} }
} }

View File

@ -64,7 +64,7 @@ impl CharacterBehavior for Data {
fn manipulate_loadout(&self, data: &JoinData, inv_action: InventoryAction) -> StateUpdate { fn manipulate_loadout(&self, data: &JoinData, inv_action: InventoryAction) -> StateUpdate {
let mut update = StateUpdate::from(data); let mut update = StateUpdate::from(data);
handle_manipulate_loadout(&data, &mut update, inv_action); handle_manipulate_loadout(data, &mut update, inv_action);
update update
} }
} }

View File

@ -44,7 +44,7 @@ impl CharacterBehavior for Data {
fn manipulate_loadout(&self, data: &JoinData, inv_action: InventoryAction) -> StateUpdate { fn manipulate_loadout(&self, data: &JoinData, inv_action: InventoryAction) -> StateUpdate {
let mut update = StateUpdate::from(data); let mut update = StateUpdate::from(data);
handle_manipulate_loadout(&data, &mut update, inv_action); handle_manipulate_loadout(data, &mut update, inv_action);
update update
} }
} }

View File

@ -63,7 +63,7 @@ impl CharacterBehavior for Data {
fn manipulate_loadout(&self, data: &JoinData, inv_action: InventoryAction) -> StateUpdate { fn manipulate_loadout(&self, data: &JoinData, inv_action: InventoryAction) -> StateUpdate {
let mut update = StateUpdate::from(data); let mut update = StateUpdate::from(data);
handle_manipulate_loadout(&data, &mut update, inv_action); handle_manipulate_loadout(data, &mut update, inv_action);
update update
} }
} }

View File

@ -49,7 +49,7 @@ impl CharacterBehavior for Data {
fn manipulate_loadout(&self, data: &JoinData, inv_action: InventoryAction) -> StateUpdate { fn manipulate_loadout(&self, data: &JoinData, inv_action: InventoryAction) -> StateUpdate {
let mut update = StateUpdate::from(data); let mut update = StateUpdate::from(data);
handle_manipulate_loadout(&data, &mut update, inv_action); handle_manipulate_loadout(data, &mut update, inv_action);
update update
} }
} }

View File

@ -687,7 +687,7 @@ fn handle_ability(data: &JoinData, update: &mut StateUpdate, input: InputKind) {
}) })
.map(|a| { .map(|a| {
let tool = unwrap_tool_data(data, equip_slot).map(|t| t.kind); let tool = unwrap_tool_data(data, equip_slot).map(|t| t.kind);
a.adjusted_by_skills(&data.skill_set, tool) a.adjusted_by_skills(data.skill_set, tool)
}) })
.filter(|ability| ability.requirements_paid(data, update)) .filter(|ability| ability.requirements_paid(data, update))
{ {
@ -758,7 +758,7 @@ pub fn handle_block_input(data: &JoinData, update: &mut StateUpdate) {
/// attempts to perform their dodge ability /// attempts to perform their dodge ability
pub fn handle_dodge_input(data: &JoinData, update: &mut StateUpdate) { pub fn handle_dodge_input(data: &JoinData, update: &mut StateUpdate) {
if input_is_pressed(data, InputKind::Roll) && data.body.is_humanoid() { if input_is_pressed(data, InputKind::Roll) && data.body.is_humanoid() {
let ability = CharacterAbility::default_roll().adjusted_by_skills(&data.skill_set, None); let ability = CharacterAbility::default_roll().adjusted_by_skills(data.skill_set, None);
if ability.requirements_paid(data, update) { if ability.requirements_paid(data, update) {
update.character = CharacterState::from(( update.character = CharacterState::from((
&ability, &ability,
@ -790,7 +790,7 @@ pub fn is_strafing(data: &JoinData, update: &StateUpdate) -> bool {
pub fn unwrap_tool_data<'a>(data: &'a JoinData, equip_slot: EquipSlot) -> Option<&'a Tool> { pub fn unwrap_tool_data<'a>(data: &'a JoinData, equip_slot: EquipSlot) -> Option<&'a Tool> {
if let Some(ItemKind::Tool(tool)) = data.inventory.equipped(equip_slot).map(|i| i.kind()) { if let Some(ItemKind::Tool(tool)) = data.inventory.equipped(equip_slot).map(|i| i.kind()) {
Some(&tool) Some(tool)
} else { } else {
None None
} }

View File

@ -14,9 +14,9 @@ impl CharacterBehavior for Data {
let mut update = StateUpdate::from(data); let mut update = StateUpdate::from(data);
handle_orientation(data, &mut update, 1.0); handle_orientation(data, &mut update, 1.0);
handle_move(&data, &mut update, 1.0); handle_move(data, &mut update, 1.0);
handle_climb(&data, &mut update); handle_climb(data, &mut update);
attempt_input(&data, &mut update); attempt_input(data, &mut update);
update update
} }
@ -70,7 +70,7 @@ impl CharacterBehavior for Data {
}, },
_ => (), _ => (),
} }
handle_manipulate_loadout(&data, &mut update, inv_action); handle_manipulate_loadout(data, &mut update, inv_action);
update update
} }
} }

View File

@ -284,7 +284,7 @@ impl<'a, T: ReadVol> Iterator for DefaultVolIterator<'a, T> {
type Item = (Vec3<i32>, &'a T::Vox); type Item = (Vec3<i32>, &'a T::Vox);
fn next(&mut self) -> Option<(Vec3<i32>, &'a T::Vox)> { fn next(&mut self) -> Option<(Vec3<i32>, &'a T::Vox)> {
while let Some(pos) = self.pos_iter.next() { for pos in &mut self.pos_iter {
if let Ok(vox) = self.vol.get(pos) { if let Ok(vox) = self.vol.get(pos) {
return Some((pos, vox)); return Some((pos, vox));
} }

View File

@ -186,7 +186,7 @@ impl<'a, V: RectRasterableVol + ReadVol> CachedVolGrid2d<'a, V> {
.get(&ck) .get(&ck)
.ok_or(VolGrid2dError::NoSuchChunk)?; .ok_or(VolGrid2dError::NoSuchChunk)?;
// Store most recently looked up chunk in the cache // Store most recently looked up chunk in the cache
self.cache = Some((ck, Arc::clone(&chunk))); self.cache = Some((ck, Arc::clone(chunk)));
chunk chunk
}; };
let co = VolGrid2d::<V>::chunk_offs(pos); let co = VolGrid2d::<V>::chunk_offs(pos);

View File

@ -57,7 +57,7 @@ impl Plugin {
.map_err(PluginError::Io)?; .map_err(PluginError::Io)?;
let data = toml::de::from_slice::<PluginData>( let data = toml::de::from_slice::<PluginData>(
&files files
.get(Path::new("plugin.toml")) .get(Path::new("plugin.toml"))
.ok_or(PluginError::NoConfig)?, .ok_or(PluginError::NoConfig)?,
) )

View File

@ -216,7 +216,7 @@ impl State {
let num_cpu = num_cpus::get() as u64; let num_cpu = num_cpus::get() as u64;
let slow_limit = (num_cpu / 2 + num_cpu / 4).max(1); let slow_limit = (num_cpu / 2 + num_cpu / 4).max(1);
tracing::trace!(?slow_limit, "Slow Thread limit"); tracing::trace!(?slow_limit, "Slow Thread limit");
ecs.insert(SlowJobPool::new(slow_limit, Arc::clone(&thread_pool))); ecs.insert(SlowJobPool::new(slow_limit, Arc::clone(thread_pool)));
// TODO: only register on the server // TODO: only register on the server
ecs.insert(EventBus::<ServerEvent>::default()); ecs.insert(EventBus::<ServerEvent>::default());

View File

@ -275,24 +275,24 @@ impl<'a> System<'a> for Sys {
let mut join_struct = JoinStruct { let mut join_struct = JoinStruct {
entity, entity,
uid: &uid, uid,
char_state, char_state,
pos: &mut pos, pos: &mut pos,
vel: &mut vel, vel: &mut vel,
ori: &mut ori, ori: &mut ori,
mass: &mass, mass,
density: &mut density, density: &mut density,
energy, energy,
inventory, inventory,
controller: &mut controller, controller: &mut controller,
health, health,
body: &body, body,
physics: &physics, physics,
melee_attack: read_data.melee_attacks.get(entity), melee_attack: read_data.melee_attacks.get(entity),
beam: read_data.beams.get(entity), beam: read_data.beams.get(entity),
stat: &stat, stat,
skill_set: &skill_set, skill_set,
combo: &combo, combo,
alignment: read_data.alignments.get(entity), alignment: read_data.alignments.get(entity),
terrain: &read_data.terrain, terrain: &read_data.terrain,
}; };

View File

@ -255,25 +255,25 @@ impl ProtocolMetricCache {
let finished = RemoveReason::Finished.to_str(); let finished = RemoveReason::Finished.to_str();
let dropped = RemoveReason::Dropped.to_str(); let dropped = RemoveReason::Dropped.to_str();
CacheLine { CacheLine {
smsg_it: m.smsg_it.with_label_values(&[&cid, &s]), smsg_it: m.smsg_it.with_label_values(&[cid, &s]),
smsg_ib: m.smsg_ib.with_label_values(&[&cid, &s]), smsg_ib: m.smsg_ib.with_label_values(&[cid, &s]),
smsg_ot: [ smsg_ot: [
m.smsg_ot.with_label_values(&[&cid, &s, &finished]), m.smsg_ot.with_label_values(&[cid, &s, finished]),
m.smsg_ot.with_label_values(&[&cid, &s, &dropped]), m.smsg_ot.with_label_values(&[cid, &s, dropped]),
], ],
smsg_ob: [ smsg_ob: [
m.smsg_ob.with_label_values(&[&cid, &s, &finished]), m.smsg_ob.with_label_values(&[cid, &s, finished]),
m.smsg_ob.with_label_values(&[&cid, &s, &dropped]), m.smsg_ob.with_label_values(&[cid, &s, dropped]),
], ],
rmsg_it: m.rmsg_it.with_label_values(&[&cid, &s]), rmsg_it: m.rmsg_it.with_label_values(&[cid, &s]),
rmsg_ib: m.rmsg_ib.with_label_values(&[&cid, &s]), rmsg_ib: m.rmsg_ib.with_label_values(&[cid, &s]),
rmsg_ot: [ rmsg_ot: [
m.rmsg_ot.with_label_values(&[&cid, &s, &finished]), m.rmsg_ot.with_label_values(&[cid, &s, finished]),
m.rmsg_ot.with_label_values(&[&cid, &s, &dropped]), m.rmsg_ot.with_label_values(&[cid, &s, dropped]),
], ],
rmsg_ob: [ rmsg_ob: [
m.rmsg_ob.with_label_values(&[&cid, &s, &finished]), m.rmsg_ob.with_label_values(&[cid, &s, finished]),
m.rmsg_ob.with_label_values(&[&cid, &s, &dropped]), m.rmsg_ob.with_label_values(&[cid, &s, dropped]),
], ],
} }
}) })
@ -353,24 +353,24 @@ impl Drop for ProtocolMetricCache {
let dropped = RemoveReason::Dropped.to_str(); let dropped = RemoveReason::Dropped.to_str();
for (sid, _) in self.cache.drain() { for (sid, _) in self.cache.drain() {
let s = sid.to_string(); let s = sid.to_string();
let _ = m.smsg_it.remove_label_values(&[&cid, &s]); let _ = m.smsg_it.remove_label_values(&[cid, &s]);
let _ = m.smsg_ib.remove_label_values(&[&cid, &s]); let _ = m.smsg_ib.remove_label_values(&[cid, &s]);
let _ = m.smsg_ot.remove_label_values(&[&cid, &s, &finished]); let _ = m.smsg_ot.remove_label_values(&[cid, &s, finished]);
let _ = m.smsg_ot.remove_label_values(&[&cid, &s, &dropped]); let _ = m.smsg_ot.remove_label_values(&[cid, &s, dropped]);
let _ = m.smsg_ob.remove_label_values(&[&cid, &s, &finished]); let _ = m.smsg_ob.remove_label_values(&[cid, &s, finished]);
let _ = m.smsg_ob.remove_label_values(&[&cid, &s, &dropped]); let _ = m.smsg_ob.remove_label_values(&[cid, &s, dropped]);
let _ = m.rmsg_it.remove_label_values(&[&cid, &s]); let _ = m.rmsg_it.remove_label_values(&[cid, &s]);
let _ = m.rmsg_ib.remove_label_values(&[&cid, &s]); let _ = m.rmsg_ib.remove_label_values(&[cid, &s]);
let _ = m.rmsg_ot.remove_label_values(&[&cid, &s, &finished]); let _ = m.rmsg_ot.remove_label_values(&[cid, &s, finished]);
let _ = m.rmsg_ot.remove_label_values(&[&cid, &s, &dropped]); let _ = m.rmsg_ot.remove_label_values(&[cid, &s, dropped]);
let _ = m.rmsg_ob.remove_label_values(&[&cid, &s, &finished]); let _ = m.rmsg_ob.remove_label_values(&[cid, &s, finished]);
let _ = m.rmsg_ob.remove_label_values(&[&cid, &s, &dropped]); let _ = m.rmsg_ob.remove_label_values(&[cid, &s, dropped]);
} }
let _ = m.ping.remove_label_values(&[&cid]); let _ = m.ping.remove_label_values(&[cid]);
let _ = m.sdata_frames_t.remove_label_values(&[&cid]); let _ = m.sdata_frames_t.remove_label_values(&[cid]);
let _ = m.sdata_frames_b.remove_label_values(&[&cid]); let _ = m.sdata_frames_b.remove_label_values(&[cid]);
let _ = m.rdata_frames_t.remove_label_values(&[&cid]); let _ = m.rdata_frames_t.remove_label_values(&[cid]);
let _ = m.rdata_frames_b.remove_label_values(&[&cid]); let _ = m.rdata_frames_b.remove_label_values(&[cid]);
} }
} }

View File

@ -443,7 +443,7 @@ impl Network {
/// [`ListenAddr`]: crate::api::ListenAddr /// [`ListenAddr`]: crate::api::ListenAddr
#[instrument(name="network", skip(self), fields(p = %self.local_pid))] #[instrument(name="network", skip(self), fields(p = %self.local_pid))]
pub async fn connected(&self) -> Result<Participant, NetworkError> { pub async fn connected(&self) -> Result<Participant, NetworkError> {
let participant = self.connected_receiver.lock().await.recv().await?; let participant = self.connected_receiver.lock().await.recv().await.ok_or(NetworkError::NetworkClosed)?;
self.participant_disconnect_sender.lock().await.insert( self.participant_disconnect_sender.lock().await.insert(
participant.remote_pid, participant.remote_pid,
Arc::clone(&participant.a2s_disconnect_s), Arc::clone(&participant.a2s_disconnect_s),
@ -1196,14 +1196,6 @@ impl<T> From<crossbeam_channel::SendError<T>> for NetworkError {
fn from(_err: crossbeam_channel::SendError<T>) -> Self { NetworkError::NetworkClosed } fn from(_err: crossbeam_channel::SendError<T>) -> Self { NetworkError::NetworkClosed }
} }
impl From<std::option::NoneError> for StreamError {
fn from(_err: std::option::NoneError) -> Self { StreamError::StreamClosed }
}
impl From<std::option::NoneError> for NetworkError {
fn from(_err: std::option::NoneError) -> Self { NetworkError::NetworkClosed }
}
impl<T> From<mpsc::error::SendError<T>> for NetworkError { impl<T> From<mpsc::error::SendError<T>> for NetworkError {
fn from(_err: mpsc::error::SendError<T>) -> Self { NetworkError::NetworkClosed } fn from(_err: mpsc::error::SendError<T>) -> Self { NetworkError::NetworkClosed }
} }

View File

@ -2,7 +2,6 @@
#![cfg_attr(test, deny(rust_2018_idioms))] #![cfg_attr(test, deny(rust_2018_idioms))]
#![cfg_attr(test, deny(warnings))] #![cfg_attr(test, deny(warnings))]
#![deny(clippy::clone_on_ref_ptr)] #![deny(clippy::clone_on_ref_ptr)]
#![feature(try_trait)]
//! Crate to handle high level networking of messages with different //! Crate to handle high level networking of messages with different
//! requirements and priorities over a number of protocols //! requirements and priorities over a number of protocols

View File

@ -229,19 +229,19 @@ impl NetworkMetrics {
for no in 0..5 { for no in 0..5 {
let _ = self let _ = self
.participants_channel_ids .participants_channel_ids
.remove_label_values(&[&remote_p, &no.to_string()]); .remove_label_values(&[remote_p, &no.to_string()]);
} }
let _ = self let _ = self
.channels_connected_total .channels_connected_total
.remove_label_values(&[&remote_p]); .remove_label_values(&[remote_p]);
let _ = self let _ = self
.channels_disconnected_total .channels_disconnected_total
.remove_label_values(&[&remote_p]); .remove_label_values(&[remote_p]);
let _ = self let _ = self
.participants_bandwidth .participants_bandwidth
.remove_label_values(&[&remote_p]); .remove_label_values(&[remote_p]);
let _ = self.streams_opened_total.remove_label_values(&[&remote_p]); let _ = self.streams_opened_total.remove_label_values(&[remote_p]);
let _ = self.streams_closed_total.remove_label_values(&[&remote_p]); let _ = self.streams_closed_total.remove_label_values(&[remote_p]);
} }
} }

View File

@ -441,7 +441,7 @@ impl BParticipant {
}; };
let remove_c = |recv_protocols: &mut HashMap<Cid, JoinHandle<()>>, cid: &Cid| { let remove_c = |recv_protocols: &mut HashMap<Cid, JoinHandle<()>>, cid: &Cid| {
match recv_protocols.remove(&cid) { match recv_protocols.remove(cid) {
Some(h) => { Some(h) => {
h.abort(); h.abort();
debug!(?cid, "remove protocol"); debug!(?cid, "remove protocol");

View File

@ -39,7 +39,7 @@ impl<'a> Write for TuiLog<'a> {
Output::TextBlock(text) => { Output::TextBlock(text) => {
// search for newlines // search for newlines
for t in text.split_inclusive('\n') { for t in text.split_inclusive('\n') {
span.content.to_mut().push_str(&t); span.content.to_mut().push_str(t);
if t.ends_with('\n') && span.content.len() != 0 { if t.ends_with('\n') && span.content.len() != 0 {
spans.push(std::mem::replace(&mut span, Span::raw(""))); spans.push(std::mem::replace(&mut span, Span::raw("")));
lines.push(std::mem::take(&mut spans)); lines.push(std::mem::take(&mut spans));

View File

@ -266,7 +266,7 @@ pub fn handle_inventory(server: &mut Server, entity: EcsEntity, manip: comp::Inv
}); });
if is_equippable { if is_equippable {
if let Some(lantern) = lantern_opt { if let Some(lantern) = lantern_opt {
swap_lantern(&mut state.ecs().write_storage(), entity, &lantern); swap_lantern(&mut state.ecs().write_storage(), entity, lantern);
} }
if let Some(pos) = state.ecs().read_storage::<comp::Pos>().get(entity) { if let Some(pos) = state.ecs().read_storage::<comp::Pos>().get(entity) {
dropped_items.extend(inventory.equip(slot).into_iter().map(|x| { dropped_items.extend(inventory.equip(slot).into_iter().map(|x| {
@ -557,7 +557,7 @@ pub fn handle_inventory(server: &mut Server, entity: EcsEntity, manip: comp::Inv
let ability_map = &state.ecs().read_resource::<AbilityMap>(); let ability_map = &state.ecs().read_resource::<AbilityMap>();
let msm = state.ecs().read_resource::<MaterialStatManifest>(); let msm = state.ecs().read_resource::<MaterialStatManifest>();
let item = match slot { let item = match slot {
Slot::Inventory(slot) => inventory.take_half(slot, &ability_map, &msm), Slot::Inventory(slot) => inventory.take_half(slot, ability_map, &msm),
Slot::Equip(_) => None, Slot::Equip(_) => None,
}; };

View File

@ -66,7 +66,7 @@ impl Server {
pos, pos,
explosion, explosion,
owner, owner,
} => handle_explosion(&self, pos, explosion, owner), } => handle_explosion(self, pos, explosion, owner),
ServerEvent::Shoot { ServerEvent::Shoot {
entity, entity,
dir, dir,
@ -87,21 +87,21 @@ impl Server {
ori, ori,
} => handle_beam(self, properties, pos, ori), } => handle_beam(self, properties, pos, ori),
ServerEvent::Knockback { entity, impulse } => { ServerEvent::Knockback { entity, impulse } => {
handle_knockback(&self, entity, impulse) handle_knockback(self, entity, impulse)
}, },
ServerEvent::Damage { entity, change } => handle_damage(&self, entity, change), ServerEvent::Damage { entity, change } => handle_damage(self, entity, change),
ServerEvent::PoiseChange { ServerEvent::PoiseChange {
entity, entity,
change, change,
kb_dir, kb_dir,
} => handle_poise(&self, entity, change, kb_dir), } => handle_poise(self, entity, change, kb_dir),
ServerEvent::Delete(entity) => handle_delete(self, entity), ServerEvent::Delete(entity) => handle_delete(self, entity),
ServerEvent::Destroy { entity, cause } => handle_destroy(self, entity, cause), ServerEvent::Destroy { entity, cause } => handle_destroy(self, entity, cause),
ServerEvent::InventoryManip(entity, manip) => handle_inventory(self, entity, manip), ServerEvent::InventoryManip(entity, manip) => handle_inventory(self, entity, manip),
ServerEvent::GroupManip(entity, manip) => handle_group(self, entity, manip), ServerEvent::GroupManip(entity, manip) => handle_group(self, entity, manip),
ServerEvent::Respawn(entity) => handle_respawn(&self, entity), ServerEvent::Respawn(entity) => handle_respawn(self, entity),
ServerEvent::LandOnGround { entity, vel } => { ServerEvent::LandOnGround { entity, vel } => {
handle_land_on_ground(&self, entity, vel) handle_land_on_ground(self, entity, vel)
}, },
ServerEvent::EnableLantern(entity) => handle_lantern(self, entity, true), ServerEvent::EnableLantern(entity) => handle_lantern(self, entity, true),
ServerEvent::DisableLantern(entity) => handle_lantern(self, entity, false), ServerEvent::DisableLantern(entity) => handle_lantern(self, entity, false),
@ -203,12 +203,12 @@ impl Server {
buff_change, buff_change,
} => handle_buff(self, entity, buff_change), } => handle_buff(self, entity, buff_change),
ServerEvent::EnergyChange { entity, change } => { ServerEvent::EnergyChange { entity, change } => {
handle_energy_change(&self, entity, change) handle_energy_change(self, entity, change)
}, },
ServerEvent::ComboChange { entity, change } => { ServerEvent::ComboChange { entity, change } => {
handle_combo_change(&self, entity, change) handle_combo_change(self, entity, change)
}, },
ServerEvent::RequestSiteInfo { entity, id } => handle_site_info(&self, entity, id), ServerEvent::RequestSiteInfo { entity, id } => handle_site_info(self, entity, id),
ServerEvent::MineBlock { entity, pos, tool } => { ServerEvent::MineBlock { entity, pos, tool } => {
handle_mine_block(self, entity, pos, tool) handle_mine_block(self, entity, pos, tool)
}, },
@ -216,7 +216,7 @@ impl Server {
entity, entity,
target, target,
max_range, max_range,
} => handle_teleport_to(&self, entity, target, max_range), } => handle_teleport_to(self, entity, target, max_range),
ServerEvent::CreateSafezone { range, pos } => { ServerEvent::CreateSafezone { range, pos } => {
self.state.create_safezone(range, pos).build(); self.state.create_safezone(range, pos).build();
}, },

View File

@ -295,11 +295,11 @@ impl Server {
}, },
..WorldOpts::default() ..WorldOpts::default()
}, },
&state.thread_pool(), state.thread_pool(),
); );
#[cfg(feature = "worldgen")] #[cfg(feature = "worldgen")]
let map = world.get_map_data(index.as_index_ref(), &state.thread_pool()); let map = world.get_map_data(index.as_index_ref(), state.thread_pool());
#[cfg(not(feature = "worldgen"))] #[cfg(not(feature = "worldgen"))]
let (world, index) = World::generate(settings.world_seed); let (world, index) = World::generate(settings.world_seed);
@ -773,7 +773,7 @@ impl Server {
None, None,
pos, pos,
&slow_jobs, &slow_jobs,
Arc::clone(&world), Arc::clone(world),
index.clone(), index.clone(),
*ecs.read_resource::<TimeOfDay>(), *ecs.read_resource::<TimeOfDay>(),
); );
@ -785,7 +785,7 @@ impl Server {
let end_of_server_tick = Instant::now(); let end_of_server_tick = Instant::now();
// 8) Update Metrics // 8) Update Metrics
run_now::<sys::metrics::Sys>(&self.state.ecs()); run_now::<sys::metrics::Sys>(self.state.ecs());
{ {
// Report timing info // Report timing info
@ -861,7 +861,7 @@ impl Server {
) )
.send(ServerInit::GameSync { .send(ServerInit::GameSync {
// Send client their entity // Send client their entity
entity_package: TrackedComps::fetch(&self.state.ecs()) entity_package: TrackedComps::fetch(self.state.ecs())
.create_entity_package(entity, None, None, None) .create_entity_package(entity, None, None, None)
.expect( .expect(
"We just created this entity as marked() (using create_entity_synced) so \ "We just created this entity as marked() (using create_entity_synced) so \

View File

@ -142,7 +142,7 @@ impl LoginProvider {
{ {
// Plugin player join hooks execute for all players, but are only allowed to // Plugin player join hooks execute for all players, but are only allowed to
// filter non-admins. // filter non-admins.
match plugin_manager.execute_event(&world, &PlayerJoinEvent { match plugin_manager.execute_event(world, &PlayerJoinEvent {
player_name: username.clone(), player_name: username.clone(),
player_id: *uuid.as_bytes(), player_id: *uuid.as_bytes(),
}) { }) {

View File

@ -137,7 +137,7 @@ pub fn load_character_data(
)?; )?;
let char_waypoint = character_data.waypoint.as_ref().and_then(|x| { let char_waypoint = character_data.waypoint.as_ref().and_then(|x| {
match convert_waypoint_from_database_json(&x) { match convert_waypoint_from_database_json(x) {
Ok(w) => Some(w), Ok(w) => Some(w),
Err(e) => { Err(e) => {
warn!( warn!(
@ -240,7 +240,7 @@ pub fn load_character_list(player_uuid_: &str, connection: &Connection) -> Chara
characters characters
.iter() .iter()
.map(|character_data| { .map(|character_data| {
let char = convert_character_from_database(&character_data); let char = convert_character_from_database(character_data);
let db_body; let db_body;

View File

@ -33,6 +33,7 @@ pub type PersistedComponents = (
// This macro is called at build-time, and produces the necessary migration info // This macro is called at build-time, and produces the necessary migration info
// for the `run_migrations` call below. // for the `run_migrations` call below.
mod embedded { mod embedded {
#![allow(clippy::nonstandard_macro_braces)] //tmp as of false positive !?
use refinery::embed_migrations; use refinery::embed_migrations;
embed_migrations!("./src/migrations"); embed_migrations!("./src/migrations");
} }
@ -210,7 +211,7 @@ pub(crate) fn establish_connection(
set_log_mode(connection, settings.sql_log_mode); set_log_mode(connection, settings.sql_log_mode);
veloren_connection.sql_log_mode = settings.sql_log_mode; veloren_connection.sql_log_mode = settings.sql_log_mode;
rusqlite::vtab::array::load_module(&connection).expect("Failed to load sqlite array module"); rusqlite::vtab::array::load_module(connection).expect("Failed to load sqlite array module");
connection.set_prepared_statement_cache_capacity(100); connection.set_prepared_statement_cache_capacity(100);

View File

@ -135,7 +135,7 @@ impl Settings {
/// path: Directory that contains the server config directory /// path: Directory that contains the server config directory
pub fn singleplayer(path: &Path) -> Self { pub fn singleplayer(path: &Path) -> Self {
let load = Self::load(&path); let load = Self::load(path);
Self { Self {
//BUG: theoretically another process can grab the port between here and server //BUG: theoretically another process can grab the port between here and server
// creation, however the timewindow is quite small // creation, however the timewindow is quite small

View File

@ -726,7 +726,7 @@ impl StateExt for State {
if let Some(msg) = msg.take() { if let Some(msg) = msg.take() {
lazy_msg = Some(client.prepare(msg)); lazy_msg = Some(client.prepare(msg));
} }
lazy_msg.as_ref().map(|ref msg| client.send_prepared(&msg)); lazy_msg.as_ref().map(|msg| client.send_prepared(msg));
} }
} }
@ -743,7 +743,7 @@ impl StateExt for State {
if let Some(msg) = msg.take() { if let Some(msg) = msg.take() {
lazy_msg = Some(client.prepare(msg)); lazy_msg = Some(client.prepare(msg));
} }
lazy_msg.as_ref().map(|ref msg| client.send_prepared(&msg)); lazy_msg.as_ref().map(|msg| client.send_prepared(msg));
} }
} }

View File

@ -666,19 +666,19 @@ impl<'a> AgentData<'a> {
DEFAULT_INTERACTION_TIME DEFAULT_INTERACTION_TIME
}) })
{ {
self.interact(agent, controller, &read_data, event_emitter); self.interact(agent, controller, read_data, event_emitter);
} else { } else {
agent.action_state.timer = 0.0; agent.action_state.timer = 0.0;
agent.target = None; agent.target = None;
controller.actions.push(ControlAction::Stand); controller.actions.push(ControlAction::Stand);
self.idle(agent, controller, &read_data); self.idle(agent, controller, read_data);
} }
} else if thread_rng().gen::<f32>() < 0.1 { } else if thread_rng().gen::<f32>() < 0.1 {
self.choose_target(agent, controller, &read_data, event_emitter); self.choose_target(agent, controller, read_data, event_emitter);
} else if agent.awareness > AWARENESS_INVESTIGATE_THRESHOLD { } else if agent.awareness > AWARENESS_INVESTIGATE_THRESHOLD {
self.handle_elevated_awareness(agent, controller, read_data); self.handle_elevated_awareness(agent, controller, read_data);
} else { } else {
self.idle(agent, controller, &read_data); self.idle(agent, controller, read_data);
} }
} }
@ -725,7 +725,7 @@ impl<'a> AgentData<'a> {
} else { } else {
agent.action_state.timer = 0.0; agent.action_state.timer = 0.0;
agent.target = None; agent.target = None;
self.idle(agent, controller, &read_data); self.idle(agent, controller, read_data);
} }
// If not fleeing, attack the hostile entity! // If not fleeing, attack the hostile entity!
@ -750,7 +750,7 @@ impl<'a> AgentData<'a> {
} else if read_data.time.0 - selected_at > RETARGETING_THRESHOLD_SECONDS } else if read_data.time.0 - selected_at > RETARGETING_THRESHOLD_SECONDS
&& matches!(self.alignment, Some(Alignment::Enemy)) && matches!(self.alignment, Some(Alignment::Enemy))
{ {
self.choose_target(agent, controller, &read_data, event_emitter); self.choose_target(agent, controller, read_data, event_emitter);
} else { } else {
// TODO Add utility for attacking vs leaving target alone // TODO Add utility for attacking vs leaving target alone
let target_data = TargetData { let target_data = TargetData {
@ -758,7 +758,7 @@ impl<'a> AgentData<'a> {
body: read_data.bodies.get(target), body: read_data.bodies.get(target),
scale: read_data.scales.get(target), scale: read_data.scales.get(target),
}; };
self.attack(agent, controller, &target_data, &read_data); self.attack(agent, controller, &target_data, read_data);
} }
} }
} }
@ -1538,7 +1538,7 @@ impl<'a> AgentData<'a> {
&& e != self.entity && e != self.entity
&& !e_health.is_dead && !e_health.is_dead
&& !invulnerability_is_in_buffs(read_data.buffs.get(*e)) && !invulnerability_is_in_buffs(read_data.buffs.get(*e))
&& (try_owner_alignment(self.alignment, &read_data).and_then(|a| try_owner_alignment(*e_alignment, &read_data).map(|b| a.hostile_towards(*b))).unwrap_or(false) || ( && (try_owner_alignment(self.alignment, read_data).and_then(|a| try_owner_alignment(*e_alignment, read_data).map(|b| a.hostile_towards(*b))).unwrap_or(false) || (
if let Some(rtsim_entity) = &self.rtsim_entity { if let Some(rtsim_entity) = &self.rtsim_entity {
if agent.behavior.can(BehaviorCapability::SPEAK) { if agent.behavior.can(BehaviorCapability::SPEAK) {
if rtsim_entity.brain.remembers_fight_with_character(&e_stats.name) { if rtsim_entity.brain.remembers_fight_with_character(&e_stats.name) {
@ -1800,32 +1800,32 @@ impl<'a> AgentData<'a> {
// depending on the distance from the agent to the target // depending on the distance from the agent to the target
match tactic { match tactic {
Tactic::Melee => { Tactic::Melee => {
self.handle_melee_attack(agent, controller, &attack_data, &tgt_data, &read_data) self.handle_melee_attack(agent, controller, &attack_data, tgt_data, read_data)
}, },
Tactic::Axe => { Tactic::Axe => {
self.handle_axe_attack(agent, controller, &attack_data, &tgt_data, &read_data) self.handle_axe_attack(agent, controller, &attack_data, tgt_data, read_data)
}, },
Tactic::Hammer => { Tactic::Hammer => {
self.handle_hammer_attack(agent, controller, &attack_data, &tgt_data, &read_data) self.handle_hammer_attack(agent, controller, &attack_data, tgt_data, read_data)
}, },
Tactic::Sword => { Tactic::Sword => {
self.handle_sword_attack(agent, controller, &attack_data, &tgt_data, &read_data) self.handle_sword_attack(agent, controller, &attack_data, tgt_data, read_data)
}, },
Tactic::Bow => { Tactic::Bow => {
self.handle_bow_attack(agent, controller, &attack_data, &tgt_data, &read_data) self.handle_bow_attack(agent, controller, &attack_data, tgt_data, read_data)
}, },
Tactic::Staff => { Tactic::Staff => {
self.handle_staff_attack(agent, controller, &attack_data, &tgt_data, &read_data) self.handle_staff_attack(agent, controller, &attack_data, tgt_data, read_data)
}, },
Tactic::Sceptre => { Tactic::Sceptre => {
self.handle_sceptre_attack(agent, controller, &attack_data, &tgt_data, &read_data) self.handle_sceptre_attack(agent, controller, &attack_data, tgt_data, read_data)
}, },
Tactic::StoneGolem => self.handle_stone_golem_attack( Tactic::StoneGolem => self.handle_stone_golem_attack(
agent, agent,
controller, controller,
&attack_data, &attack_data,
&tgt_data, tgt_data,
&read_data, read_data,
), ),
Tactic::CircleCharge { Tactic::CircleCharge {
radius, radius,
@ -1834,8 +1834,8 @@ impl<'a> AgentData<'a> {
agent, agent,
controller, controller,
&attack_data, &attack_data,
&tgt_data, tgt_data,
&read_data, read_data,
radius, radius,
circle_time, circle_time,
), ),
@ -1843,126 +1843,126 @@ impl<'a> AgentData<'a> {
agent, agent,
controller, controller,
&attack_data, &attack_data,
&tgt_data, tgt_data,
&read_data, read_data,
), ),
Tactic::TailSlap => { Tactic::TailSlap => {
self.handle_tail_slap_attack(agent, controller, &attack_data, &tgt_data, &read_data) self.handle_tail_slap_attack(agent, controller, &attack_data, tgt_data, read_data)
}, },
Tactic::QuadLowQuick => self.handle_quadlow_quick_attack( Tactic::QuadLowQuick => self.handle_quadlow_quick_attack(
agent, agent,
controller, controller,
&attack_data, &attack_data,
&tgt_data, tgt_data,
&read_data, read_data,
), ),
Tactic::QuadLowBasic => self.handle_quadlow_basic_attack( Tactic::QuadLowBasic => self.handle_quadlow_basic_attack(
agent, agent,
controller, controller,
&attack_data, &attack_data,
&tgt_data, tgt_data,
&read_data, read_data,
), ),
Tactic::QuadMedJump => self.handle_quadmed_jump_attack( Tactic::QuadMedJump => self.handle_quadmed_jump_attack(
agent, agent,
controller, controller,
&attack_data, &attack_data,
&tgt_data, tgt_data,
&read_data, read_data,
), ),
Tactic::QuadMedBasic => self.handle_quadmed_basic_attack( Tactic::QuadMedBasic => self.handle_quadmed_basic_attack(
agent, agent,
controller, controller,
&attack_data, &attack_data,
&tgt_data, tgt_data,
&read_data, read_data,
), ),
Tactic::QuadLowBeam => self.handle_quadlow_beam_attack( Tactic::QuadLowBeam => self.handle_quadlow_beam_attack(
agent, agent,
controller, controller,
&attack_data, &attack_data,
&tgt_data, tgt_data,
&read_data, read_data,
), ),
Tactic::Theropod => { Tactic::Theropod => {
self.handle_theropod_attack(agent, controller, &attack_data, &tgt_data, &read_data) self.handle_theropod_attack(agent, controller, &attack_data, tgt_data, read_data)
}, },
Tactic::Turret => { Tactic::Turret => {
self.handle_turret_attack(agent, controller, &attack_data, &tgt_data, &read_data) self.handle_turret_attack(agent, controller, &attack_data, tgt_data, read_data)
}, },
Tactic::FixedTurret => self.handle_fixed_turret_attack( Tactic::FixedTurret => self.handle_fixed_turret_attack(
agent, agent,
controller, controller,
&attack_data, &attack_data,
&tgt_data, tgt_data,
&read_data, read_data,
), ),
Tactic::RotatingTurret => self.handle_rotating_turret_attack( Tactic::RotatingTurret => self.handle_rotating_turret_attack(
agent, agent,
controller, controller,
&attack_data, &attack_data,
&tgt_data, tgt_data,
&read_data, read_data,
), ),
Tactic::Tornado => self.handle_tornado_attack(controller), Tactic::Tornado => self.handle_tornado_attack(controller),
Tactic::Mindflayer => self.handle_mindflayer_attack( Tactic::Mindflayer => self.handle_mindflayer_attack(
agent, agent,
controller, controller,
&attack_data, &attack_data,
&tgt_data, tgt_data,
&read_data, read_data,
), ),
Tactic::BirdLargeFire => self.handle_birdlarge_fire_attack( Tactic::BirdLargeFire => self.handle_birdlarge_fire_attack(
agent, agent,
controller, controller,
&attack_data, &attack_data,
&tgt_data, tgt_data,
&read_data, read_data,
), ),
// Mostly identical to BirdLargeFire but tweaked for flamethrower instead of shockwave // Mostly identical to BirdLargeFire but tweaked for flamethrower instead of shockwave
Tactic::BirdLargeBreathe => self.handle_birdlarge_breathe_attack( Tactic::BirdLargeBreathe => self.handle_birdlarge_breathe_attack(
agent, agent,
controller, controller,
&attack_data, &attack_data,
&tgt_data, tgt_data,
&read_data, read_data,
), ),
Tactic::BirdLargeBasic => self.handle_birdlarge_basic_attack( Tactic::BirdLargeBasic => self.handle_birdlarge_basic_attack(
agent, agent,
controller, controller,
&attack_data, &attack_data,
&tgt_data, tgt_data,
&read_data, read_data,
), ),
Tactic::Minotaur => { Tactic::Minotaur => {
self.handle_minotaur_attack(agent, controller, &attack_data, &tgt_data, &read_data) self.handle_minotaur_attack(agent, controller, &attack_data, tgt_data, read_data)
}, },
Tactic::ClayGolem => self.handle_clay_golem_attack( Tactic::ClayGolem => self.handle_clay_golem_attack(
agent, agent,
controller, controller,
&attack_data, &attack_data,
&tgt_data, tgt_data,
&read_data, read_data,
), ),
Tactic::TidalWarrior => self.handle_tidal_warrior_attack( Tactic::TidalWarrior => self.handle_tidal_warrior_attack(
agent, agent,
controller, controller,
&attack_data, &attack_data,
&tgt_data, tgt_data,
&read_data, read_data,
), ),
Tactic::RadialTurret => self.handle_radial_turret_attack( Tactic::RadialTurret => self.handle_radial_turret_attack(
agent, agent,
controller, controller,
&attack_data, &attack_data,
&tgt_data, tgt_data,
&read_data, read_data,
), ),
Tactic::Yeti => { Tactic::Yeti => {
self.handle_yeti_attack(agent, controller, &attack_data, &tgt_data, &read_data) self.handle_yeti_attack(agent, controller, &attack_data, tgt_data, read_data)
}, },
Tactic::Harvester => { Tactic::Harvester => {
self.handle_harvester_attack(agent, controller, &attack_data, &tgt_data, &read_data) self.handle_harvester_attack(agent, controller, &attack_data, tgt_data, read_data)
}, },
} }
} }
@ -3945,7 +3945,7 @@ impl<'a> AgentData<'a> {
) { ) {
// Currently this means that we are in a safezone // Currently this means that we are in a safezone
if invulnerability_is_in_buffs(read_data.buffs.get(*self.entity)) { if invulnerability_is_in_buffs(read_data.buffs.get(*self.entity)) {
self.idle(agent, controller, &read_data); self.idle(agent, controller, read_data);
return; return;
} }
@ -3962,7 +3962,7 @@ impl<'a> AgentData<'a> {
self.follow(agent, controller, &read_data.terrain, &sound_pos); self.follow(agent, controller, &read_data.terrain, &sound_pos);
} else { } else {
// TODO: Change this to a search action instead of idle // TODO: Change this to a search action instead of idle
self.idle(agent, controller, &read_data); self.idle(agent, controller, read_data);
} }
} else if self.flees { } else if self.flees {
let aggro = agent.psyche.aggro; let aggro = agent.psyche.aggro;
@ -3972,10 +3972,10 @@ impl<'a> AgentData<'a> {
if close_enough && (aggro <= 0.5 || (aggro <= 0.7 && loud_sound)) { if close_enough && (aggro <= 0.5 || (aggro <= 0.7 && loud_sound)) {
self.flee(agent, controller, &read_data.terrain, &sound_pos); self.flee(agent, controller, &read_data.terrain, &sound_pos);
} else { } else {
self.idle(agent, controller, &read_data); self.idle(agent, controller, read_data);
} }
} else { } else {
self.idle(agent, controller, &read_data); self.idle(agent, controller, read_data);
} }
} }
} }

View File

@ -228,7 +228,7 @@ impl<'a> System<'a> for Sys {
}), }),
))); )));
} }
lazy_msg.as_ref().map(|ref msg| client.send_prepared(&msg)); lazy_msg.as_ref().map(|msg| client.send_prepared(msg));
} }
} }
} }

View File

@ -80,7 +80,7 @@ impl<'a> System<'a> for Sys {
client.send(ServerGeneral::TerrainChunkUpdate { client.send(ServerGeneral::TerrainChunkUpdate {
key, key,
chunk: Ok(SerializedTerrainChunk::via_heuristic( chunk: Ok(SerializedTerrainChunk::via_heuristic(
&chunk, chunk,
presence.lossy_terrain_compression, presence.lossy_terrain_compression,
)), )),
})?; })?;

View File

@ -54,15 +54,15 @@ impl LazyTerrainMessage {
key: *chunk_key, key: *chunk_key,
chunk: Ok(match generate_chunk() { chunk: Ok(match generate_chunk() {
Ok(chunk) => SerializedTerrainChunk::via_heuristic( Ok(chunk) => SerializedTerrainChunk::via_heuristic(
&chunk, chunk,
presence.lossy_terrain_compression, presence.lossy_terrain_compression,
), ),
Err(e) => return Err(e), Err(e) => return Err(e),
}), }),
})); }));
} }
lazy_msg.as_ref().map(|ref msg| { lazy_msg.as_ref().map(|msg| {
let _ = client.send_prepared(&msg); let _ = client.send_prepared(msg);
if presence.lossy_terrain_compression { if presence.lossy_terrain_compression {
network_metrics.chunks_served_lossy.inc(); network_metrics.chunks_served_lossy.inc();
} else { } else {
@ -326,8 +326,8 @@ impl<'a> System<'a> for Sys {
lazy_msg lazy_msg
.prepare_and_send::<!, _>( .prepare_and_send::<!, _>(
&network_metrics, &network_metrics,
&client, client,
&presence, presence,
&key, &key,
|| Ok(&*chunk), || Ok(&*chunk),
) )

View File

@ -37,8 +37,8 @@ impl<'a> System<'a> for Sys {
{ {
if let Err(()) = lazy_msg.prepare_and_send( if let Err(()) = lazy_msg.prepare_and_send(
&network_metrics, &network_metrics,
&client, client,
&presence, presence,
chunk_key, chunk_key,
|| terrain.get_key(*chunk_key).ok_or(()), || terrain.get_key(*chunk_key).ok_or(()),
) { ) {
@ -58,7 +58,7 @@ impl<'a> System<'a> for Sys {
CompressedData::compress(&terrain_changes.modified_blocks, 1), CompressedData::compress(&terrain_changes.modified_blocks, 1),
))); )));
} }
lazy_msg.as_ref().map(|ref msg| client.send_prepared(&msg)); lazy_msg.as_ref().map(|msg| client.send_prepared(msg));
} }
} }
} }

View File

@ -362,7 +362,7 @@ pub fn maintain_egui_inner(
ui.label("-"); ui.label("-");
} }
if let Some(body) = body { if let Some(body) = body {
ui.label(body_species(&body)); ui.label(body_species(body));
} else { } else {
ui.label("-"); ui.label("-");
} }

View File

@ -181,7 +181,7 @@ impl AudioFrontend {
// Fade the existing channel out. It will be removed when the fade completes. // Fade the existing channel out. It will be removed when the fade completes.
existing_channel.set_fader(Fader::fade_out(fade_out, music_volume)); existing_channel.set_fader(Fader::fade_out(fade_out, music_volume));
let mut next_music_channel = MusicChannel::new(&audio_stream); let mut next_music_channel = MusicChannel::new(audio_stream);
next_music_channel.set_fader(Fader::fade_in(fade_in, self.get_music_volume())); next_music_channel.set_fader(Fader::fade_in(fade_in, self.get_music_volume()));

View File

@ -72,7 +72,7 @@ impl EventMapper for CombatEventMapper {
let sfx_state = self.event_history.entry(entity).or_default(); let sfx_state = self.event_history.entry(entity).or_default();
let mapped_event = inventory.map_or(SfxEvent::Idle, |inv| { let mapped_event = inventory.map_or(SfxEvent::Idle, |inv| {
Self::map_event(character, sfx_state, &inv) Self::map_event(character, sfx_state, inv)
}); });
// Check for SFX config entry for this movement // Check for SFX config entry for this movement

View File

@ -661,7 +661,7 @@ impl<'a> Widget for Bag<'a> {
self.stats.name.to_string(), self.stats.name.to_string(),
self.client.entity(), self.client.entity(),
true, true,
&inventory, inventory,
&state.bg_ids, &state.bg_ids,
) )
.set(state.ids.inventory_scroller, ui); .set(state.ids.inventory_scroller, ui);
@ -699,7 +699,7 @@ impl<'a> Widget for Bag<'a> {
let expand_btn_top = if self.show.bag_inv { 53.0 } else { 460.0 }; let expand_btn_top = if self.show.bag_inv { 53.0 } else { 460.0 };
if expand_btn if expand_btn
.top_right_with_margins_on(state.bg_ids.bg_frame, expand_btn_top, 37.0) .top_right_with_margins_on(state.bg_ids.bg_frame, expand_btn_top, 37.0)
.with_tooltip(self.tooltip_manager, &txt, "", &bag_tooltip, TEXT_COLOR) .with_tooltip(self.tooltip_manager, txt, "", &bag_tooltip, TEXT_COLOR)
.set(state.ids.bag_expand_btn, ui) .set(state.ids.bag_expand_btn, ui)
.was_clicked() .was_clicked()
{ {
@ -772,7 +772,7 @@ impl<'a> Widget for Bag<'a> {
self.health, self.health,
self.skill_set, self.skill_set,
*self.body, *self.body,
&self.msm, self.msm,
) )
.min(999.9); .min(999.9);
let indicator_col = cr_color(combat_rating); let indicator_col = cr_color(combat_rating);
@ -825,8 +825,8 @@ impl<'a> Widget for Bag<'a> {
}; };
btn.with_tooltip( btn.with_tooltip(
self.tooltip_manager, self.tooltip_manager,
&tooltip_head, tooltip_head,
&tooltip_txt, tooltip_txt,
&bag_tooltip, &bag_tooltip,
TEXT_COLOR, TEXT_COLOR,
) )

View File

@ -99,6 +99,7 @@ pub struct State {
ids: Ids, ids: Ids,
} }
#[allow(clippy::enum_variant_names)] //think about renaming to ToogleEvent
pub enum Event { pub enum Event {
ToggleBag, ToggleBag,
ToggleSettings, ToggleSettings,
@ -172,7 +173,7 @@ impl<'a> Widget for Buttons<'a> {
self.tooltip_manager, self.tooltip_manager,
&localized_strings &localized_strings
.get("hud.bag.inventory") .get("hud.bag.inventory")
.replace("{playername}", &self.stats.name.to_string().as_str()), .replace("{playername}", &self.stats.name),
"", "",
&button_tooltip, &button_tooltip,
TEXT_COLOR, TEXT_COLOR,
@ -190,7 +191,7 @@ impl<'a> Widget for Buttons<'a> {
{ {
self.create_new_button_with_shadow( self.create_new_button_with_shadow(
ui, ui,
&bag, bag,
state.ids.bag, state.ids.bag,
state.ids.bag_text_bg, state.ids.bag_text_bg,
state.ids.bag_text, state.ids.bag_text,
@ -228,7 +229,7 @@ impl<'a> Widget for Buttons<'a> {
.press_image(self.imgs.settings_press) .press_image(self.imgs.settings_press)
.with_tooltip( .with_tooltip(
self.tooltip_manager, self.tooltip_manager,
&localized_strings.get("common.settings"), localized_strings.get("common.settings"),
"", "",
&button_tooltip, &button_tooltip,
TEXT_COLOR, TEXT_COLOR,
@ -246,7 +247,7 @@ impl<'a> Widget for Buttons<'a> {
{ {
self.create_new_button_with_shadow( self.create_new_button_with_shadow(
ui, ui,
&settings, settings,
state.ids.settings_button, state.ids.settings_button,
state.ids.settings_text_bg, state.ids.settings_text_bg,
state.ids.settings_text, state.ids.settings_text,
@ -261,7 +262,7 @@ impl<'a> Widget for Buttons<'a> {
.press_image(self.imgs.social_press) .press_image(self.imgs.social_press)
.with_tooltip( .with_tooltip(
self.tooltip_manager, self.tooltip_manager,
&localized_strings.get("hud.social"), localized_strings.get("hud.social"),
"", "",
&button_tooltip, &button_tooltip,
TEXT_COLOR, TEXT_COLOR,
@ -279,7 +280,7 @@ impl<'a> Widget for Buttons<'a> {
{ {
self.create_new_button_with_shadow( self.create_new_button_with_shadow(
ui, ui,
&social, social,
state.ids.social_button, state.ids.social_button,
state.ids.social_text_bg, state.ids.social_text_bg,
state.ids.social_text, state.ids.social_text,
@ -293,7 +294,7 @@ impl<'a> Widget for Buttons<'a> {
.press_image(self.imgs.map_press) .press_image(self.imgs.map_press)
.with_tooltip( .with_tooltip(
self.tooltip_manager, self.tooltip_manager,
&localized_strings.get("hud.map.map_title"), localized_strings.get("hud.map.map_title"),
"", "",
&button_tooltip, &button_tooltip,
TEXT_COLOR, TEXT_COLOR,
@ -311,7 +312,7 @@ impl<'a> Widget for Buttons<'a> {
{ {
self.create_new_button_with_shadow( self.create_new_button_with_shadow(
ui, ui,
&map, map,
state.ids.map_button, state.ids.map_button,
state.ids.map_text_bg, state.ids.map_text_bg,
state.ids.map_text, state.ids.map_text,
@ -330,7 +331,7 @@ impl<'a> Widget for Buttons<'a> {
.press_image(self.imgs.spellbook_press) .press_image(self.imgs.spellbook_press)
.with_tooltip( .with_tooltip(
self.tooltip_manager, self.tooltip_manager,
&localized_strings.get("hud.diary"), localized_strings.get("hud.diary"),
"", "",
&button_tooltip, &button_tooltip,
TEXT_COLOR, TEXT_COLOR,
@ -348,7 +349,7 @@ impl<'a> Widget for Buttons<'a> {
{ {
self.create_new_button_with_shadow( self.create_new_button_with_shadow(
ui, ui,
&spell, spell,
state.ids.spellbook_button, state.ids.spellbook_button,
state.ids.spellbook_text_bg, state.ids.spellbook_text_bg,
state.ids.spellbook_text, state.ids.spellbook_text,
@ -362,14 +363,14 @@ impl<'a> Widget for Buttons<'a> {
.mid_top_with_margin_on(state.ids.spellbook_button, -12.0 + arrow_ani as f64) .mid_top_with_margin_on(state.ids.spellbook_button, -12.0 + arrow_ani as f64)
.color(Some(QUALITY_LEGENDARY)) .color(Some(QUALITY_LEGENDARY))
.set(state.ids.sp_arrow, ui); .set(state.ids.sp_arrow, ui);
Text::new(&localized_strings.get("hud.sp_arrow_txt")) Text::new(localized_strings.get("hud.sp_arrow_txt"))
.mid_top_with_margin_on(state.ids.sp_arrow, -18.0) .mid_top_with_margin_on(state.ids.sp_arrow, -18.0)
.graphics_for(state.ids.spellbook_button) .graphics_for(state.ids.spellbook_button)
.font_id(self.fonts.cyri.conrod_id) .font_id(self.fonts.cyri.conrod_id)
.font_size(self.fonts.cyri.scale(14)) .font_size(self.fonts.cyri.scale(14))
.color(BLACK) .color(BLACK)
.set(state.ids.sp_arrow_txt_bg, ui); .set(state.ids.sp_arrow_txt_bg, ui);
Text::new(&localized_strings.get("hud.sp_arrow_txt")) Text::new(localized_strings.get("hud.sp_arrow_txt"))
.graphics_for(state.ids.spellbook_button) .graphics_for(state.ids.spellbook_button)
.bottom_right_with_margins_on(state.ids.sp_arrow_txt_bg, 1.0, 1.0) .bottom_right_with_margins_on(state.ids.sp_arrow_txt_bg, 1.0, 1.0)
.font_id(self.fonts.cyri.conrod_id) .font_id(self.fonts.cyri.conrod_id)
@ -385,7 +386,7 @@ impl<'a> Widget for Buttons<'a> {
.press_image(self.imgs.crafting_icon_press) .press_image(self.imgs.crafting_icon_press)
.with_tooltip( .with_tooltip(
self.tooltip_manager, self.tooltip_manager,
&localized_strings.get("hud.crafting"), localized_strings.get("hud.crafting"),
"", "",
&button_tooltip, &button_tooltip,
TEXT_COLOR, TEXT_COLOR,
@ -403,7 +404,7 @@ impl<'a> Widget for Buttons<'a> {
{ {
self.create_new_button_with_shadow( self.create_new_button_with_shadow(
ui, ui,
&crafting, crafting,
state.ids.crafting_button, state.ids.crafting_button,
state.ids.crafting_text_bg, state.ids.crafting_text_bg,
state.ids.crafting_text, state.ids.crafting_text,

View File

@ -107,7 +107,7 @@ impl<'a> Chat<'a> {
pub fn prepare_tab_completion(mut self, input: String) -> Self { pub fn prepare_tab_completion(mut self, input: String) -> Self {
self.force_completions = if let Some(index) = input.find('\t') { self.force_completions = if let Some(index) = input.find('\t') {
Some(cmd::complete(&input[..index], &self.client)) Some(cmd::complete(&input[..index], self.client))
} else { } else {
None None
}; };
@ -291,7 +291,7 @@ impl<'a> Widget for Chat<'a> {
if let Some(replacement) = &s.completions.get(s.completions_index.unwrap()) { if let Some(replacement) = &s.completions.get(s.completions_index.unwrap()) {
let (completed, offset) = let (completed, offset) =
do_tab_completion(cursor, &s.input.message, replacement); do_tab_completion(cursor, &s.input.message, replacement);
force_cursor = cursor_offset_to_index(offset, &completed, &ui, &self.fonts); force_cursor = cursor_offset_to_index(offset, &completed, ui, self.fonts);
s.input.message = completed; s.input.message = completed;
} }
}); });
@ -321,8 +321,8 @@ impl<'a> Widget for Chat<'a> {
force_cursor = cursor_offset_to_index( force_cursor = cursor_offset_to_index(
s.input.message.len(), s.input.message.len(),
&s.input.message, &s.input.message,
&ui, ui,
&self.fonts, self.fonts,
); );
} else { } else {
s.input.message.clear(); s.input.message.clear();
@ -350,7 +350,7 @@ impl<'a> Widget for Chat<'a> {
}); });
} }
let (color, icon) = render_chat_mode(&state.input.mode, &self.imgs); let (color, icon) = render_chat_mode(&state.input.mode, self.imgs);
Image::new(icon) Image::new(icon)
.w_h(CHAT_ICON_WIDTH, CHAT_ICON_HEIGHT) .w_h(CHAT_ICON_WIDTH, CHAT_ICON_HEIGHT)
.top_left_with_margin_on(state.ids.chat_input_bg, 2.0) .top_left_with_margin_on(state.ids.chat_input_bg, 2.0)
@ -448,7 +448,7 @@ impl<'a> Widget for Chat<'a> {
}) })
.filter(|m| { .filter(|m| {
if let Some(chat_tab) = current_chat_tab { if let Some(chat_tab) = current_chat_tab {
chat_tab.filter.satisfies(&m, &group_members) chat_tab.filter.satisfies(m, &group_members)
} else { } else {
true true
} }
@ -468,7 +468,7 @@ impl<'a> Widget for Chat<'a> {
// This would be easier if conrod used the v-metrics from rusttype. // This would be easier if conrod used the v-metrics from rusttype.
if item.i < messages.len() { if item.i < messages.len() {
let message = &messages[item.i]; let message = &messages[item.i];
let (color, icon) = render_chat_line(&message.chat_type, &self.imgs); let (color, icon) = render_chat_line(&message.chat_type, self.imgs);
// For each ChatType needing localization get/set matching pre-formatted // For each ChatType needing localization get/set matching pre-formatted
// localized string. This string will be formatted with the data // localized string. This string will be formatted with the data
// provided in ChatType in the client/src/mod.rs // provided in ChatType in the client/src/mod.rs
@ -542,7 +542,7 @@ impl<'a> Widget for Chat<'a> {
.hover_image(self.imgs.selection_hover) .hover_image(self.imgs.selection_hover)
.hover_image(self.imgs.selection_press) .hover_image(self.imgs.selection_press)
.image_color(shading) .image_color(shading)
.label(&self.localized_strings.get("hud.chat.all")) .label(self.localized_strings.get("hud.chat.all"))
.label_font_size(self.fonts.cyri.scale(14)) .label_font_size(self.fonts.cyri.scale(14))
.label_font_id(self.fonts.cyri.conrod_id) .label_font_id(self.fonts.cyri.conrod_id)
.label_color(TEXT_COLOR.alpha(alpha)) .label_color(TEXT_COLOR.alpha(alpha))
@ -601,7 +601,7 @@ impl<'a> Widget for Chat<'a> {
.set(state.ids.chat_tab_tooltip_bg, ui); .set(state.ids.chat_tab_tooltip_bg, ui);
Text::new( Text::new(
&self self
.localized_strings .localized_strings
.get("hud.chat.chat_tab_hover_tooltip"), .get("hud.chat.chat_tab_hover_tooltip"),
) )
@ -724,7 +724,7 @@ fn cursor_offset_to_index(offset: usize, text: &str, ui: &Ui, fonts: &Fonts) ->
// Width and font must match that of the chat TextEdit // Width and font must match that of the chat TextEdit
let font = ui.fonts.get(fonts.opensans.conrod_id)?; let font = ui.fonts.get(fonts.opensans.conrod_id)?;
let font_size = fonts.opensans.scale(15); let font_size = fonts.opensans.scale(15);
let infos = text::line::infos(&text, &font, font_size).wrap_by_whitespace(CHAT_BOX_INPUT_WIDTH); let infos = text::line::infos(text, font, font_size).wrap_by_whitespace(CHAT_BOX_INPUT_WIDTH);
cursor::index_before_char(infos, offset) cursor::index_before_char(infos, offset)
} }

View File

@ -316,7 +316,7 @@ impl<'a> Widget for Crafting<'a> {
} }
// Title // Title
Text::new(&self.localized_strings.get("hud.crafting")) Text::new(self.localized_strings.get("hud.crafting"))
.mid_top_with_margin_on(state.ids.window_frame, 9.0) .mid_top_with_margin_on(state.ids.window_frame, 9.0)
.font_id(self.fonts.cyri.conrod_id) .font_id(self.fonts.cyri.conrod_id)
.font_size(self.fonts.cyri.scale(20)) .font_size(self.fonts.cyri.scale(20))
@ -391,7 +391,7 @@ impl<'a> Widget for Crafting<'a> {
}) })
.with_tooltip( .with_tooltip(
self.tooltip_manager, self.tooltip_manager,
&self.localized_strings.get(crafting_tab.name_key()), self.localized_strings.get(crafting_tab.name_key()),
"", "",
&tabs_tooltip, &tabs_tooltip,
TEXT_COLOR, TEXT_COLOR,
@ -471,7 +471,7 @@ impl<'a> Widget for Crafting<'a> {
} }
for (i, (name, recipe, is_craftable)) in ordered_recipes for (i, (name, recipe, is_craftable)) in ordered_recipes
.into_iter() .into_iter()
.filter(|(_, recipe, _)| self.show.crafting_tab.satisfies(&recipe)) .filter(|(_, recipe, _)| self.show.crafting_tab.satisfies(recipe))
.enumerate() .enumerate()
{ {
let button = Button::image(if state.selected_recipe.as_ref() == Some(name) { let button = Button::image(if state.selected_recipe.as_ref() == Some(name) {
@ -552,7 +552,7 @@ impl<'a> Widget for Crafting<'a> {
.and_then(|rn| self.client.recipe_book().get(rn.as_str()).map(|r| (rn, r))) .and_then(|rn| self.client.recipe_book().get(rn.as_str()).map(|r| (rn, r)))
{ {
// Title // Title
Text::new(&recipe.output.0.name()) Text::new(recipe.output.0.name())
.mid_top_with_margin_on(state.ids.align_ing, -22.0) .mid_top_with_margin_on(state.ids.align_ing, -22.0)
.font_id(self.fonts.cyri.conrod_id) .font_id(self.fonts.cyri.conrod_id)
.font_size(self.fonts.cyri.scale(14)) .font_size(self.fonts.cyri.scale(14))
@ -582,7 +582,7 @@ impl<'a> Widget for Crafting<'a> {
.then_some(self.imgs.button_press) .then_some(self.imgs.button_press)
.unwrap_or(self.imgs.button), .unwrap_or(self.imgs.button),
) )
.label(&self.localized_strings.get("hud.crafting.craft")) .label(self.localized_strings.get("hud.crafting.craft"))
.label_y(conrod_core::position::Relative::Scalar(1.0)) .label_y(conrod_core::position::Relative::Scalar(1.0))
.label_color(can_perform.then_some(TEXT_COLOR).unwrap_or(TEXT_GRAY_COLOR)) .label_color(can_perform.then_some(TEXT_COLOR).unwrap_or(TEXT_GRAY_COLOR))
.label_font_size(self.fonts.cyri.scale(12)) .label_font_size(self.fonts.cyri.scale(12))
@ -650,7 +650,7 @@ impl<'a> Widget for Crafting<'a> {
for (row, chunk) in CraftingTab::iter() for (row, chunk) in CraftingTab::iter()
.filter(|crafting_tab| match crafting_tab { .filter(|crafting_tab| match crafting_tab {
CraftingTab::All => false, CraftingTab::All => false,
_ => crafting_tab.satisfies(&recipe), _ => crafting_tab.satisfies(recipe),
}) })
.filter(|crafting_tab| crafting_tab != &self.show.crafting_tab) .filter(|crafting_tab| crafting_tab != &self.show.crafting_tab)
.collect::<Vec<_>>() .collect::<Vec<_>>()
@ -673,7 +673,7 @@ impl<'a> Widget for Crafting<'a> {
}; };
icon.with_tooltip( icon.with_tooltip(
self.tooltip_manager, self.tooltip_manager,
&self.localized_strings.get(crafting_tab.name_key()), self.localized_strings.get(crafting_tab.name_key()),
"", "",
&tabs_tooltip, &tabs_tooltip,
TEXT_COLOR, TEXT_COLOR,
@ -684,7 +684,7 @@ impl<'a> Widget for Crafting<'a> {
// Crafting Station Info // Crafting Station Info
if recipe.craft_sprite.is_some() { if recipe.craft_sprite.is_some() {
Text::new( Text::new(
&self self
.localized_strings .localized_strings
.get("hud.crafting.req_crafting_station"), .get("hud.crafting.req_crafting_station"),
) )
@ -727,7 +727,7 @@ impl<'a> Widget for Crafting<'a> {
Some(SpriteKind::TanningRack) => "hud.crafting.tanning_rack", Some(SpriteKind::TanningRack) => "hud.crafting.tanning_rack",
_ => "", _ => "",
}; };
Text::new(&self.localized_strings.get(station_name)) Text::new(self.localized_strings.get(station_name))
.right_from(state.ids.req_station_img, 10.0) .right_from(state.ids.req_station_img, 10.0)
.font_id(self.fonts.cyri.conrod_id) .font_id(self.fonts.cyri.conrod_id)
.font_size(self.fonts.cyri.scale(14)) .font_size(self.fonts.cyri.scale(14))
@ -741,7 +741,7 @@ impl<'a> Widget for Crafting<'a> {
.set(state.ids.req_station_txt, ui); .set(state.ids.req_station_txt, ui);
} }
// Ingredients Text // Ingredients Text
let mut ing_txt = Text::new(&self.localized_strings.get("hud.crafting.ingredients")) let mut ing_txt = Text::new(self.localized_strings.get("hud.crafting.ingredients"))
.font_id(self.fonts.cyri.conrod_id) .font_id(self.fonts.cyri.conrod_id)
.font_size(self.fonts.cyri.scale(18)) .font_size(self.fonts.cyri.scale(18))
.color(TEXT_COLOR); .color(TEXT_COLOR);
@ -864,13 +864,13 @@ impl<'a> Widget for Crafting<'a> {
// Align "Required" Text below last ingredient // Align "Required" Text below last ingredient
if *amount == 0 { if *amount == 0 {
// Catalysts/Tools // Catalysts/Tools
Text::new(&self.localized_strings.get("hud.crafting.tool_cata")) Text::new(self.localized_strings.get("hud.crafting.tool_cata"))
.down_from(state.ids.ingredient_frame[i - 1], 20.0) .down_from(state.ids.ingredient_frame[i - 1], 20.0)
.font_id(self.fonts.cyri.conrod_id) .font_id(self.fonts.cyri.conrod_id)
.font_size(self.fonts.cyri.scale(14)) .font_size(self.fonts.cyri.scale(14))
.color(TEXT_COLOR) .color(TEXT_COLOR)
.set(state.ids.req_text[i], ui); .set(state.ids.req_text[i], ui);
Text::new(&item_def.name()) Text::new(item_def.name())
.right_from(state.ids.ingredient_frame[i], 10.0) .right_from(state.ids.ingredient_frame[i], 10.0)
.font_id(self.fonts.cyri.conrod_id) .font_id(self.fonts.cyri.conrod_id)
.font_size(self.fonts.cyri.scale(14)) .font_size(self.fonts.cyri.scale(14))
@ -934,7 +934,7 @@ impl<'a> Widget for Crafting<'a> {
events.push(Event::SearchRecipe(Some(string))); events.push(Event::SearchRecipe(Some(string)));
} }
} else { } else {
Text::new(&self.localized_strings.get("hud.crafting.recipes")) Text::new(self.localized_strings.get("hud.crafting.recipes"))
.mid_top_with_margin_on(state.ids.align_rec, -22.0) .mid_top_with_margin_on(state.ids.align_rec, -22.0)
.font_id(self.fonts.cyri.conrod_id) .font_id(self.fonts.cyri.conrod_id)
.font_size(self.fonts.cyri.scale(14)) .font_size(self.fonts.cyri.scale(14))

View File

@ -317,7 +317,7 @@ impl<'a> Widget for Diary<'a> {
// Title // Title
self.create_new_text( self.create_new_text(
&self.localized_strings.get("hud.diary"), self.localized_strings.get("hud.diary"),
state.frame, state.frame,
3.0, 3.0,
29, 29,
@ -372,7 +372,7 @@ impl<'a> Widget for Diary<'a> {
let tooltip_txt = if !locked { let tooltip_txt = if !locked {
"" ""
} else { } else {
&self.localized_strings.get("hud.skill.not_unlocked") self.localized_strings.get("hud.skill.not_unlocked")
}; };
img.w_h(50.0, 50.0).set(state.weapon_imgs[i.0], ui); img.w_h(50.0, 50.0).set(state.weapon_imgs[i.0], ui);
// Lock Image // Lock Image
@ -425,7 +425,7 @@ impl<'a> Widget for Diary<'a> {
.with_tooltip( .with_tooltip(
self.tooltip_manager, self.tooltip_manager,
i.1, i.1,
&tooltip_txt, tooltip_txt,
&diary_tooltip, &diary_tooltip,
TEXT_COLOR, TEXT_COLOR,
) )
@ -513,7 +513,7 @@ impl<'a> Widget for Diary<'a> {
}, },
_ => "Unknown", _ => "Unknown",
}; };
self.create_new_text(&tree_title, state.content_align, 2.0, 34, TEXT_COLOR) self.create_new_text(tree_title, state.content_align, 2.0, 34, TEXT_COLOR)
.set(state.tree_title_txt, ui); .set(state.tree_title_txt, ui);
// Skill Trees // Skill Trees
// Alignment Placing // Alignment Placing
@ -816,8 +816,8 @@ impl<'a> Widget for Diary<'a> {
.mid_top_with_margin_on(state.skills_bot_l[0], 3.0) .mid_top_with_margin_on(state.skills_bot_l[0], 3.0)
.with_tooltip( .with_tooltip(
self.tooltip_manager, self.tooltip_manager,
&self.localized_strings.get("hud.skill.dodge_title"), self.localized_strings.get("hud.skill.dodge_title"),
&self.localized_strings.get("hud.skill.dodge"), self.localized_strings.get("hud.skill.dodge"),
&diary_tooltip, &diary_tooltip,
TEXT_COLOR, TEXT_COLOR,
) )
@ -858,8 +858,8 @@ impl<'a> Widget for Diary<'a> {
.mid_top_with_margin_on(state.skills_bot_r[0], 3.0) .mid_top_with_margin_on(state.skills_bot_r[0], 3.0)
.with_tooltip( .with_tooltip(
self.tooltip_manager, self.tooltip_manager,
&self.localized_strings.get("hud.skill.climbing_title"), self.localized_strings.get("hud.skill.climbing_title"),
&self.localized_strings.get("hud.skill.climbing"), self.localized_strings.get("hud.skill.climbing"),
&diary_tooltip, &diary_tooltip,
TEXT_COLOR, TEXT_COLOR,
) )
@ -890,8 +890,8 @@ impl<'a> Widget for Diary<'a> {
.mid_top_with_margin_on(state.skills_bot_r[3], 3.0) .mid_top_with_margin_on(state.skills_bot_r[3], 3.0)
.with_tooltip( .with_tooltip(
self.tooltip_manager, self.tooltip_manager,
&self.localized_strings.get("hud.skill.swim_title"), self.localized_strings.get("hud.skill.swim_title"),
&self.localized_strings.get("hud.skill.swim"), self.localized_strings.get("hud.skill.swim"),
&diary_tooltip, &diary_tooltip,
TEXT_COLOR, TEXT_COLOR,
) )
@ -929,8 +929,8 @@ impl<'a> Widget for Diary<'a> {
.mid_top_with_margin_on(state.skills_top_l[0], 3.0) .mid_top_with_margin_on(state.skills_top_l[0], 3.0)
.with_tooltip( .with_tooltip(
self.tooltip_manager, self.tooltip_manager,
&self.localized_strings.get("hud.skill.sw_trip_str_title"), self.localized_strings.get("hud.skill.sw_trip_str_title"),
&self.localized_strings.get("hud.skill.sw_trip_str"), self.localized_strings.get("hud.skill.sw_trip_str"),
&diary_tooltip, &diary_tooltip,
TEXT_COLOR, TEXT_COLOR,
) )
@ -981,8 +981,8 @@ impl<'a> Widget for Diary<'a> {
.mid_top_with_margin_on(state.skills_top_r[0], 3.0) .mid_top_with_margin_on(state.skills_top_r[0], 3.0)
.with_tooltip( .with_tooltip(
self.tooltip_manager, self.tooltip_manager,
&self.localized_strings.get("hud.skill.sw_dash_title"), self.localized_strings.get("hud.skill.sw_dash_title"),
&self.localized_strings.get("hud.skill.sw_dash"), self.localized_strings.get("hud.skill.sw_dash"),
&diary_tooltip, &diary_tooltip,
TEXT_COLOR, TEXT_COLOR,
) )
@ -1132,10 +1132,10 @@ impl<'a> Widget for Diary<'a> {
.mid_top_with_margin_on(state.skills_top_l[0], 3.0) .mid_top_with_margin_on(state.skills_top_l[0], 3.0)
.with_tooltip( .with_tooltip(
self.tooltip_manager, self.tooltip_manager,
&self self
.localized_strings .localized_strings
.get("hud.skill.axe_double_strike_title"), .get("hud.skill.axe_double_strike_title"),
&self.localized_strings.get("hud.skill.axe_double_strike"), self.localized_strings.get("hud.skill.axe_double_strike"),
&diary_tooltip, &diary_tooltip,
TEXT_COLOR, TEXT_COLOR,
) )
@ -1186,8 +1186,8 @@ impl<'a> Widget for Diary<'a> {
.mid_top_with_margin_on(state.skills_top_r[0], 3.0) .mid_top_with_margin_on(state.skills_top_r[0], 3.0)
.with_tooltip( .with_tooltip(
self.tooltip_manager, self.tooltip_manager,
&self.localized_strings.get("hud.skill.axe_spin_title"), self.localized_strings.get("hud.skill.axe_spin_title"),
&self.localized_strings.get("hud.skill.axe_spin"), self.localized_strings.get("hud.skill.axe_spin"),
&diary_tooltip, &diary_tooltip,
TEXT_COLOR, TEXT_COLOR,
) )
@ -1316,10 +1316,10 @@ impl<'a> Widget for Diary<'a> {
.mid_top_with_margin_on(state.skills_top_l[0], 3.0) .mid_top_with_margin_on(state.skills_top_l[0], 3.0)
.with_tooltip( .with_tooltip(
self.tooltip_manager, self.tooltip_manager,
&self self
.localized_strings .localized_strings
.get("hud.skill.hmr_single_strike_title"), .get("hud.skill.hmr_single_strike_title"),
&self.localized_strings.get("hud.skill.hmr_single_strike"), self.localized_strings.get("hud.skill.hmr_single_strike"),
&diary_tooltip, &diary_tooltip,
TEXT_COLOR, TEXT_COLOR,
) )
@ -1370,10 +1370,10 @@ impl<'a> Widget for Diary<'a> {
.mid_top_with_margin_on(state.skills_top_r[0], 3.0) .mid_top_with_margin_on(state.skills_top_r[0], 3.0)
.with_tooltip( .with_tooltip(
self.tooltip_manager, self.tooltip_manager,
&self self
.localized_strings .localized_strings
.get("hud.skill.hmr_charged_melee_title"), .get("hud.skill.hmr_charged_melee_title"),
&self.localized_strings.get("hud.skill.hmr_charged_melee"), self.localized_strings.get("hud.skill.hmr_charged_melee"),
&diary_tooltip, &diary_tooltip,
TEXT_COLOR, TEXT_COLOR,
) )
@ -1501,8 +1501,8 @@ impl<'a> Widget for Diary<'a> {
.mid_top_with_margin_on(state.skills_top_l[0], 3.0) .mid_top_with_margin_on(state.skills_top_l[0], 3.0)
.with_tooltip( .with_tooltip(
self.tooltip_manager, self.tooltip_manager,
&self.localized_strings.get("hud.skill.bow_charged_title"), self.localized_strings.get("hud.skill.bow_charged_title"),
&self.localized_strings.get("hud.skill.bow_charged"), self.localized_strings.get("hud.skill.bow_charged"),
&diary_tooltip, &diary_tooltip,
TEXT_COLOR, TEXT_COLOR,
) )
@ -1563,8 +1563,8 @@ impl<'a> Widget for Diary<'a> {
.mid_top_with_margin_on(state.skills_top_r[0], 3.0) .mid_top_with_margin_on(state.skills_top_r[0], 3.0)
.with_tooltip( .with_tooltip(
self.tooltip_manager, self.tooltip_manager,
&self.localized_strings.get("hud.skill.bow_repeater_title"), self.localized_strings.get("hud.skill.bow_repeater_title"),
&self.localized_strings.get("hud.skill.bow_repeater"), self.localized_strings.get("hud.skill.bow_repeater"),
&diary_tooltip, &diary_tooltip,
TEXT_COLOR, TEXT_COLOR,
) )
@ -1684,8 +1684,8 @@ impl<'a> Widget for Diary<'a> {
.mid_top_with_margin_on(state.skills_top_l[0], 3.0) .mid_top_with_margin_on(state.skills_top_l[0], 3.0)
.with_tooltip( .with_tooltip(
self.tooltip_manager, self.tooltip_manager,
&self.localized_strings.get("hud.skill.st_fireball_title"), self.localized_strings.get("hud.skill.st_fireball_title"),
&self.localized_strings.get("hud.skill.st_fireball"), self.localized_strings.get("hud.skill.st_fireball"),
&diary_tooltip, &diary_tooltip,
TEXT_COLOR, TEXT_COLOR,
) )
@ -1726,10 +1726,10 @@ impl<'a> Widget for Diary<'a> {
.mid_top_with_margin_on(state.skills_top_r[0], 3.0) .mid_top_with_margin_on(state.skills_top_r[0], 3.0)
.with_tooltip( .with_tooltip(
self.tooltip_manager, self.tooltip_manager,
&self self
.localized_strings .localized_strings
.get("hud.skill.st_flamethrower_title"), .get("hud.skill.st_flamethrower_title"),
&self.localized_strings.get("hud.skill.st_flamethrower"), self.localized_strings.get("hud.skill.st_flamethrower"),
&diary_tooltip, &diary_tooltip,
TEXT_COLOR, TEXT_COLOR,
) )
@ -1848,8 +1848,8 @@ impl<'a> Widget for Diary<'a> {
.mid_top_with_margin_on(state.skills_top_l[0], 3.0) .mid_top_with_margin_on(state.skills_top_l[0], 3.0)
.with_tooltip( .with_tooltip(
self.tooltip_manager, self.tooltip_manager,
&self.localized_strings.get("hud.skill.sc_lifesteal_title"), self.localized_strings.get("hud.skill.sc_lifesteal_title"),
&self.localized_strings.get("hud.skill.sc_lifesteal"), self.localized_strings.get("hud.skill.sc_lifesteal"),
&diary_tooltip, &diary_tooltip,
TEXT_COLOR, TEXT_COLOR,
) )
@ -1900,8 +1900,8 @@ impl<'a> Widget for Diary<'a> {
.mid_top_with_margin_on(state.skills_top_r[0], 3.0) .mid_top_with_margin_on(state.skills_top_r[0], 3.0)
.with_tooltip( .with_tooltip(
self.tooltip_manager, self.tooltip_manager,
&self.localized_strings.get("hud.skill.sc_heal_title"), self.localized_strings.get("hud.skill.sc_heal_title"),
&self.localized_strings.get("hud.skill.sc_heal"), self.localized_strings.get("hud.skill.sc_heal"),
&diary_tooltip, &diary_tooltip,
TEXT_COLOR, TEXT_COLOR,
) )
@ -2010,8 +2010,8 @@ impl<'a> Widget for Diary<'a> {
.mid_top_with_margin_on(state.skills_top_l[0], 3.0) .mid_top_with_margin_on(state.skills_top_l[0], 3.0)
.with_tooltip( .with_tooltip(
self.tooltip_manager, self.tooltip_manager,
&self.localized_strings.get("hud.skill.pick_strike_title"), self.localized_strings.get("hud.skill.pick_strike_title"),
&self.localized_strings.get("hud.skill.pick_strike"), self.localized_strings.get("hud.skill.pick_strike"),
&diary_tooltip, &diary_tooltip,
TEXT_COLOR, TEXT_COLOR,
) )
@ -2176,25 +2176,25 @@ impl<'a> Diary<'a> {
if create_skill_button( if create_skill_button(
id, id,
conrod_widget_id, conrod_widget_id,
&self.skill_set, self.skill_set,
skill, skill,
self.fonts, self.fonts,
&get_skill_label(skill, &self.skill_set), &get_skill_label(skill, self.skill_set),
) )
.with_tooltip( .with_tooltip(
self.tooltip_manager, self.tooltip_manager,
&self self
.localized_strings .localized_strings
.get(&format!("hud.skill.{}_title", skill_key)), .get(&format!("hud.skill.{}_title", skill_key)),
&format_skill_description( &format_skill_description(
&self self
.localized_strings .localized_strings
.get(&format!("hud.skill.{}", skill_key)), .get(&format!("hud.skill.{}", skill_key)),
skill, skill,
&self.skill_set, self.skill_set,
&self.localized_strings, self.localized_strings,
), ),
&diary_tooltip, diary_tooltip,
TEXT_COLOR, TEXT_COLOR,
) )
.set(widget_id, ui) .set(widget_id, ui)

View File

@ -87,7 +87,7 @@ impl<'a> Widget for EscMenu<'a> {
.w_h(210.0, 50.0) .w_h(210.0, 50.0)
.hover_image(self.imgs.button_hover) .hover_image(self.imgs.button_hover)
.press_image(self.imgs.button_press) .press_image(self.imgs.button_press)
.label(&self.localized_strings.get("common.resume")) .label(self.localized_strings.get("common.resume"))
.label_y(conrod_core::position::Relative::Scalar(3.0)) .label_y(conrod_core::position::Relative::Scalar(3.0))
.label_color(TEXT_COLOR) .label_color(TEXT_COLOR)
.label_font_size(self.fonts.cyri.scale(20)) .label_font_size(self.fonts.cyri.scale(20))
@ -104,7 +104,7 @@ impl<'a> Widget for EscMenu<'a> {
.w_h(210.0, 50.0) .w_h(210.0, 50.0)
.hover_image(self.imgs.button_hover) .hover_image(self.imgs.button_hover)
.press_image(self.imgs.button_press) .press_image(self.imgs.button_press)
.label(&self.localized_strings.get("common.settings")) .label(self.localized_strings.get("common.settings"))
.label_y(conrod_core::position::Relative::Scalar(3.0)) .label_y(conrod_core::position::Relative::Scalar(3.0))
.label_color(TEXT_COLOR) .label_color(TEXT_COLOR)
.label_font_size(self.fonts.cyri.scale(20)) .label_font_size(self.fonts.cyri.scale(20))
@ -120,7 +120,7 @@ impl<'a> Widget for EscMenu<'a> {
.w_h(210.0, 50.0) .w_h(210.0, 50.0)
.hover_image(self.imgs.button_hover) .hover_image(self.imgs.button_hover)
.press_image(self.imgs.button_press) .press_image(self.imgs.button_press)
.label(&self.localized_strings.get("common.controls")) .label(self.localized_strings.get("common.controls"))
.label_y(conrod_core::position::Relative::Scalar(3.0)) .label_y(conrod_core::position::Relative::Scalar(3.0))
.label_color(TEXT_COLOR) .label_color(TEXT_COLOR)
.label_font_size(self.fonts.cyri.scale(20)) .label_font_size(self.fonts.cyri.scale(20))
@ -136,7 +136,7 @@ impl<'a> Widget for EscMenu<'a> {
.w_h(210.0, 50.0) .w_h(210.0, 50.0)
.hover_image(self.imgs.button_hover) .hover_image(self.imgs.button_hover)
.press_image(self.imgs.button_press) .press_image(self.imgs.button_press)
.label(&self.localized_strings.get("common.characters")) .label(self.localized_strings.get("common.characters"))
.label_y(conrod_core::position::Relative::Scalar(3.0)) .label_y(conrod_core::position::Relative::Scalar(3.0))
.label_color(TEXT_COLOR) .label_color(TEXT_COLOR)
.label_font_size(self.fonts.cyri.scale(20)) .label_font_size(self.fonts.cyri.scale(20))
@ -152,7 +152,7 @@ impl<'a> Widget for EscMenu<'a> {
.w_h(210.0, 50.0) .w_h(210.0, 50.0)
.hover_image(self.imgs.button_hover) .hover_image(self.imgs.button_hover)
.press_image(self.imgs.button_press) .press_image(self.imgs.button_press)
.label(&self.localized_strings.get("esc_menu.logout")) .label(self.localized_strings.get("esc_menu.logout"))
.label_y(conrod_core::position::Relative::Scalar(3.0)) .label_y(conrod_core::position::Relative::Scalar(3.0))
.label_color(TEXT_COLOR) .label_color(TEXT_COLOR)
.label_font_size(self.fonts.cyri.scale(20)) .label_font_size(self.fonts.cyri.scale(20))
@ -168,7 +168,7 @@ impl<'a> Widget for EscMenu<'a> {
.w_h(210.0, 50.0) .w_h(210.0, 50.0)
.hover_image(self.imgs.button_hover) .hover_image(self.imgs.button_hover)
.press_image(self.imgs.button_press) .press_image(self.imgs.button_press)
.label(&self.localized_strings.get("esc_menu.quit_game")) .label(self.localized_strings.get("esc_menu.quit_game"))
.label_y(conrod_core::position::Relative::Scalar(3.0)) .label_y(conrod_core::position::Relative::Scalar(3.0))
.label_color(TEXT_COLOR) .label_color(TEXT_COLOR)
.label_font_size(self.fonts.cyri.scale(20)) .label_font_size(self.fonts.cyri.scale(20))

View File

@ -375,7 +375,7 @@ impl<'a> Widget for Group<'a> {
(stats, skill_set, inventory, health, body) (stats, skill_set, inventory, health, body)
{ {
let combat_rating = let combat_rating =
combat::combat_rating(inventory, health, skill_set, *body, &self.msm); combat::combat_rating(inventory, health, skill_set, *body, self.msm);
let char_name = stats.name.to_string(); let char_name = stats.name.to_string();
let health_perc = let health_perc =
health.current() as f64 / health.base_max().max(health.maximum()) as f64; health.current() as f64 / health.base_max().max(health.maximum()) as f64;
@ -421,7 +421,7 @@ impl<'a> Widget for Group<'a> {
} }
if health.is_dead { if health.is_dead {
// Death Text // Death Text
Text::new(&self.localized_strings.get("hud.group.dead")) Text::new(self.localized_strings.get("hud.group.dead"))
.mid_top_with_margin_on(state.ids.member_panels_bg[i], 1.0) .mid_top_with_margin_on(state.ids.member_panels_bg[i], 1.0)
.font_size(20) .font_size(20)
.font_id(self.fonts.cyri.conrod_id) .font_id(self.fonts.cyri.conrod_id)
@ -526,7 +526,7 @@ impl<'a> Widget for Group<'a> {
cur.as_secs_f32() / max.as_secs_f32() * 1000.0 cur.as_secs_f32() / max.as_secs_f32() * 1000.0
}) })
}) as u32; // Percentage to determine which frame of the timer overlay is displayed }) as u32; // Percentage to determine which frame of the timer overlay is displayed
let buff_img = hud::get_buff_image(buff.kind, &self.imgs); let buff_img = hud::get_buff_image(buff.kind, self.imgs);
let buff_widget = Image::new(buff_img).w_h(15.0, 15.0); let buff_widget = Image::new(buff_img).w_h(15.0, 15.0);
let buff_widget = if let Some(id) = prev_id { let buff_widget = if let Some(id) = prev_id {
buff_widget.right_from(id, 1.0) buff_widget.right_from(id, 1.0)
@ -606,7 +606,7 @@ impl<'a> Widget for Group<'a> {
.color(Some(UI_HIGHLIGHT_0)) .color(Some(UI_HIGHLIGHT_0))
.set(state.ids.member_panels_frame[i], ui); .set(state.ids.member_panels_frame[i], ui);
// Panel Text // Panel Text
Text::new(&self.localized_strings.get("hud.group.out_of_range")) Text::new(self.localized_strings.get("hud.group.out_of_range"))
.mid_top_with_margin_on(state.ids.member_panels_bg[i], 3.0) .mid_top_with_margin_on(state.ids.member_panels_bg[i], 3.0)
.font_size(16) .font_size(16)
.font_id(self.fonts.cyri.conrod_id) .font_id(self.fonts.cyri.conrod_id)
@ -625,7 +625,7 @@ impl<'a> Widget for Group<'a> {
.press_image(self.imgs.button) .press_image(self.imgs.button)
.label_color(TEXT_COLOR_GREY) .label_color(TEXT_COLOR_GREY)
.image_color(TEXT_COLOR_GREY) .image_color(TEXT_COLOR_GREY)
.label(&self.localized_strings.get("hud.group.add_friend")) .label(self.localized_strings.get("hud.group.add_friend"))
.label_font_id(self.fonts.cyri.conrod_id) .label_font_id(self.fonts.cyri.conrod_id)
.label_font_size(self.fonts.cyri.scale(10)) .label_font_size(self.fonts.cyri.scale(10))
.set(state.ids.btn_friend, ui) .set(state.ids.btn_friend, ui)
@ -636,7 +636,7 @@ impl<'a> Widget for Group<'a> {
.bottom_right_with_margins_on(state.ids.bg, 5.0, 5.0) .bottom_right_with_margins_on(state.ids.bg, 5.0, 5.0)
.hover_image(self.imgs.button_hover) .hover_image(self.imgs.button_hover)
.press_image(self.imgs.button_press) .press_image(self.imgs.button_press)
.label(&self.localized_strings.get("hud.group.leave")) .label(self.localized_strings.get("hud.group.leave"))
.label_color(TEXT_COLOR) .label_color(TEXT_COLOR)
.label_font_id(self.fonts.cyri.conrod_id) .label_font_id(self.fonts.cyri.conrod_id)
.label_font_size(self.fonts.cyri.scale(10)) .label_font_size(self.fonts.cyri.scale(10))
@ -654,7 +654,7 @@ impl<'a> Widget for Group<'a> {
.mid_bottom_with_margin_on(state.ids.btn_friend, -27.0) .mid_bottom_with_margin_on(state.ids.btn_friend, -27.0)
.hover_image(self.imgs.button_hover) .hover_image(self.imgs.button_hover)
.press_image(self.imgs.button_press) .press_image(self.imgs.button_press)
.label(&self.localized_strings.get("hud.group.assign_leader")) .label(self.localized_strings.get("hud.group.assign_leader"))
.label_color(if state.selected_member.is_some() { .label_color(if state.selected_member.is_some() {
TEXT_COLOR TEXT_COLOR
} else { } else {
@ -677,7 +677,7 @@ impl<'a> Widget for Group<'a> {
.mid_bottom_with_margin_on(state.ids.btn_leader, -27.0) .mid_bottom_with_margin_on(state.ids.btn_leader, -27.0)
.hover_image(self.imgs.button) .hover_image(self.imgs.button)
.press_image(self.imgs.button) .press_image(self.imgs.button)
.label(&self.localized_strings.get("hud.group.link_group")) .label(self.localized_strings.get("hud.group.link_group"))
.hover_image(self.imgs.button) .hover_image(self.imgs.button)
.press_image(self.imgs.button) .press_image(self.imgs.button)
.label_color(TEXT_COLOR_GREY) .label_color(TEXT_COLOR_GREY)
@ -693,7 +693,7 @@ impl<'a> Widget for Group<'a> {
.down_from(state.ids.btn_link, 5.0) .down_from(state.ids.btn_link, 5.0)
.hover_image(self.imgs.button_hover) .hover_image(self.imgs.button_hover)
.press_image(self.imgs.button_press) .press_image(self.imgs.button_press)
.label(&self.localized_strings.get("hud.group.kick")) .label(self.localized_strings.get("hud.group.kick"))
.label_color(if state.selected_member.is_some() { .label_color(if state.selected_member.is_some() {
TEXT_COLOR TEXT_COLOR
} else { } else {
@ -735,7 +735,7 @@ impl<'a> Widget for Group<'a> {
// List member names // List member names
for (i, &uid) in group_members.iter().copied().enumerate() { for (i, &uid) in group_members.iter().copied().enumerate() {
let selected = state.selected_member.map_or(false, |u| u == uid); let selected = state.selected_member.map_or(false, |u| u == uid);
let char_name = uid_to_name_text(uid, &self.client); let char_name = uid_to_name_text(uid, self.client);
// TODO: Do something special visually if uid == leader // TODO: Do something special visually if uid == leader
if Button::image(if selected { if Button::image(if selected {
self.imgs.selection self.imgs.selection
@ -784,7 +784,7 @@ impl<'a> Widget for Group<'a> {
// TODO: add group name here too // TODO: add group name here too
// Invite text // Invite text
let name = uid_to_name_text(invite_uid, &self.client); let name = uid_to_name_text(invite_uid, self.client);
let invite_text = match kind { let invite_text = match kind {
InviteKind::Group => self InviteKind::Group => self
.localized_strings .localized_strings
@ -816,7 +816,7 @@ impl<'a> Widget for Group<'a> {
.label(&format!( .label(&format!(
"[{}] {}", "[{}] {}",
&accept_key, &accept_key,
&self.localized_strings.get("common.accept") self.localized_strings.get("common.accept")
)) ))
.label_color(TEXT_COLOR) .label_color(TEXT_COLOR)
.label_font_id(self.fonts.cyri.conrod_id) .label_font_id(self.fonts.cyri.conrod_id)
@ -841,7 +841,7 @@ impl<'a> Widget for Group<'a> {
.label(&format!( .label(&format!(
"[{}] {}", "[{}] {}",
&decline_key, &decline_key,
&self.localized_strings.get("common.decline") self.localized_strings.get("common.decline")
)) ))
.label_color(TEXT_COLOR) .label_color(TEXT_COLOR)
.label_font_id(self.fonts.cyri.conrod_id) .label_font_id(self.fonts.cyri.conrod_id)

View File

@ -72,9 +72,9 @@ enum ImageSpec {
impl ImageSpec { impl ImageSpec {
fn create_graphic(&self) -> Graphic { fn create_graphic(&self) -> Graphic {
match self { match self {
ImageSpec::Png(specifier) => Graphic::Image(graceful_load_img(&specifier), None), ImageSpec::Png(specifier) => Graphic::Image(graceful_load_img(specifier), None),
ImageSpec::Vox(specifier) => Graphic::Voxel( ImageSpec::Vox(specifier) => Graphic::Voxel(
graceful_load_segment_no_skin(&specifier), graceful_load_segment_no_skin(specifier),
Transform { Transform {
stretch: false, stretch: false,
..Default::default() ..Default::default()
@ -82,7 +82,7 @@ impl ImageSpec {
SampleStrat::None, SampleStrat::None,
), ),
ImageSpec::VoxTrans(specifier, offset, [rot_x, rot_y, rot_z], zoom) => Graphic::Voxel( ImageSpec::VoxTrans(specifier, offset, [rot_x, rot_y, rot_z], zoom) => Graphic::Voxel(
graceful_load_segment_no_skin(&specifier), graceful_load_segment_no_skin(specifier),
Transform { Transform {
ori: Quaternion::rotation_x(rot_x * std::f32::consts::PI / 180.0) ori: Quaternion::rotation_x(rot_x * std::f32::consts::PI / 180.0)
.rotated_y(rot_y * std::f32::consts::PI / 180.0) .rotated_y(rot_y * std::f32::consts::PI / 180.0)
@ -140,7 +140,7 @@ impl ItemImgs {
// Load new graphic // Load new graphic
let graphic = spec.create_graphic(); let graphic = spec.create_graphic();
// See if we already have an id we can use // See if we already have an id we can use
match self.map.get(&kind) { match self.map.get(kind) {
Some(id) => ui.replace_graphic(*id, graphic), Some(id) => ui.replace_graphic(*id, graphic),
// Otherwise, generate new id and insert it into our Id -> ItemKey map // Otherwise, generate new id and insert it into our Id -> ItemKey map
None => { None => {

View File

@ -158,7 +158,7 @@ impl VoxelMinimap {
&& delta.y < VOXEL_MINIMAP_SIDELENGTH / TerrainChunkSize::RECT_SIZE.y && delta.y < VOXEL_MINIMAP_SIDELENGTH / TerrainChunkSize::RECT_SIZE.y
&& !self.chunk_minimaps.contains_key(&key) && !self.chunk_minimaps.contains_key(&key)
{ {
if let Some((_, column)) = self.keyed_jobs.spawn(Some(&pool), key, || { if let Some((_, column)) = self.keyed_jobs.spawn(Some(pool), key, || {
let arc_chunk = Arc::clone(chunk); let arc_chunk = Arc::clone(chunk);
move |_| { move |_| {
let mut layers = Vec::new(); let mut layers = Vec::new();

View File

@ -964,7 +964,7 @@ impl Hud {
span!(_guard, "update_layout", "Hud::update_layout"); span!(_guard, "update_layout", "Hud::update_layout");
let mut events = core::mem::take(&mut self.events); let mut events = core::mem::take(&mut self.events);
if global_state.settings.interface.map_show_voxel_map { if global_state.settings.interface.map_show_voxel_map {
self.voxel_minimap.maintain(&client, &mut self.ui); self.voxel_minimap.maintain(client, &mut self.ui);
} }
let (ref mut ui_widgets, ref mut item_tooltip_manager, ref mut tooltip_manager) = let (ref mut ui_widgets, ref mut item_tooltip_manager, ref mut tooltip_manager) =
&mut self.ui.set_widgets(); &mut self.ui.set_widgets();
@ -1356,13 +1356,13 @@ impl Hud {
.mid_top_with_margin_on(self.ids.player_rank_up, 8.0) .mid_top_with_margin_on(self.ids.player_rank_up, 8.0)
.set(self.ids.player_rank_up_txt_number, ui_widgets); .set(self.ids.player_rank_up_txt_number, ui_widgets);
// Static "New Rank!" text // Static "New Rank!" text
Text::new(&i18n.get("hud.rank_up")) Text::new(i18n.get("hud.rank_up"))
.font_size(40) .font_size(40)
.font_id(self.fonts.cyri.conrod_id) .font_id(self.fonts.cyri.conrod_id)
.color(Color::Rgba(0.0, 0.0, 0.0, fade)) .color(Color::Rgba(0.0, 0.0, 0.0, fade))
.mid_bottom_with_margin_on(self.ids.player_rank_up, 20.0) .mid_bottom_with_margin_on(self.ids.player_rank_up, 20.0)
.set(self.ids.player_rank_up_txt_0_bg, ui_widgets); .set(self.ids.player_rank_up_txt_0_bg, ui_widgets);
Text::new(&i18n.get("hud.rank_up")) Text::new(i18n.get("hud.rank_up"))
.font_size(40) .font_size(40)
.font_id(self.fonts.cyri.conrod_id) .font_id(self.fonts.cyri.conrod_id)
.color(Color::Rgba(1.0, 1.0, 1.0, fade)) .color(Color::Rgba(1.0, 1.0, 1.0, fade))
@ -1370,14 +1370,14 @@ impl Hud {
.set(self.ids.player_rank_up_txt_0, ui_widgets); .set(self.ids.player_rank_up_txt_0, ui_widgets);
// Variable skilltree text // Variable skilltree text
let skill = match display.skill_tree { let skill = match display.skill_tree {
General => &i18n.get("common.weapons.general"), General => i18n.get("common.weapons.general"),
Weapon(ToolKind::Hammer) => &i18n.get("common.weapons.hammer"), Weapon(ToolKind::Hammer) => i18n.get("common.weapons.hammer"),
Weapon(ToolKind::Axe) => &i18n.get("common.weapons.axe"), Weapon(ToolKind::Axe) => i18n.get("common.weapons.axe"),
Weapon(ToolKind::Sword) => &i18n.get("common.weapons.sword"), Weapon(ToolKind::Sword) => i18n.get("common.weapons.sword"),
Weapon(ToolKind::Sceptre) => &i18n.get("common.weapons.sceptre"), Weapon(ToolKind::Sceptre) => i18n.get("common.weapons.sceptre"),
Weapon(ToolKind::Bow) => &i18n.get("common.weapons.bow"), Weapon(ToolKind::Bow) => i18n.get("common.weapons.bow"),
Weapon(ToolKind::Staff) => &i18n.get("common.weapons.staff"), Weapon(ToolKind::Staff) => i18n.get("common.weapons.staff"),
Weapon(ToolKind::Pick) => &i18n.get("common.tool.mining"), Weapon(ToolKind::Pick) => i18n.get("common.tool.mining"),
_ => "Unknown", _ => "Unknown",
}; };
Text::new(skill) Text::new(skill)
@ -1442,7 +1442,7 @@ impl Hud {
1.0 1.0
}; };
Text::new(&i18n.get("hud.sct.block")) Text::new(i18n.get("hud.sct.block"))
.font_size(font_size) .font_size(font_size)
.font_id(self.fonts.cyri.conrod_id) .font_id(self.fonts.cyri.conrod_id)
.color(Color::Rgba(0.0, 0.0, 0.0, fade)) .color(Color::Rgba(0.0, 0.0, 0.0, fade))
@ -1451,7 +1451,7 @@ impl Hud {
ui_widgets.win_h * (-0.3) + y - 3.0, ui_widgets.win_h * (-0.3) + y - 3.0,
) )
.set(player_sct_bg_id, ui_widgets); .set(player_sct_bg_id, ui_widgets);
Text::new(&i18n.get("hud.sct.block")) Text::new(i18n.get("hud.sct.block"))
.font_size(font_size) .font_size(font_size)
.font_id(self.fonts.cyri.conrod_id) .font_id(self.fonts.cyri.conrod_id)
.color(Color::Rgba(0.69, 0.82, 0.88, fade)) .color(Color::Rgba(0.69, 0.82, 0.88, fade))
@ -1494,7 +1494,7 @@ impl Hud {
quality, quality,
distance, distance,
fonts, fonts,
&i18n, i18n,
&global_state.settings.controls, &global_state.settings.controls,
properties, properties,
pulse, pulse,
@ -1554,7 +1554,7 @@ impl Hud {
overitem::TEXT_COLOR, overitem::TEXT_COLOR,
pos.distance_squared(player_pos), pos.distance_squared(player_pos),
&self.fonts, &self.fonts,
&i18n, i18n,
&global_state.settings.controls, &global_state.settings.controls,
overitem_properties, overitem_properties,
self.pulse, self.pulse,
@ -1579,7 +1579,7 @@ impl Hud {
overitem::TEXT_COLOR, overitem::TEXT_COLOR,
pos.distance_squared(player_pos), pos.distance_squared(player_pos),
&self.fonts, &self.fonts,
&i18n, i18n,
&global_state.settings.controls, &global_state.settings.controls,
overitem_properties, overitem_properties,
self.pulse, self.pulse,
@ -1929,7 +1929,7 @@ impl Hud {
.hover_image(self.imgs.button_hover) .hover_image(self.imgs.button_hover)
.press_image(self.imgs.button_press) .press_image(self.imgs.button_press)
.bottom_left_with_margins_on(ui_widgets.window, 200.0, 120.0) .bottom_left_with_margins_on(ui_widgets.window, 200.0, 120.0)
.label(&i18n.get("hud.tutorial_btn")) .label(i18n.get("hud.tutorial_btn"))
.label_font_id(self.fonts.cyri.conrod_id) .label_font_id(self.fonts.cyri.conrod_id)
.label_font_size(self.fonts.cyri.scale(18)) .label_font_size(self.fonts.cyri.scale(18))
.label_color(TEXT_COLOR) .label_color(TEXT_COLOR)
@ -1977,8 +1977,8 @@ impl Hud {
Intro::Show => { Intro::Show => {
if self.show.intro { if self.show.intro {
self.show.want_grab = false; self.show.want_grab = false;
let quest_headline = &i18n.get("hud.temp_quest_headline"); let quest_headline = i18n.get("hud.temp_quest_headline");
let quest_text = &i18n.get("hud.temp_quest_text"); let quest_text = i18n.get("hud.temp_quest_text");
Image::new(self.imgs.quest_bg) Image::new(self.imgs.quest_bg)
.w_h(404.0, 858.0) .w_h(404.0, 858.0)
.middle_of(ui_widgets.window) .middle_of(ui_widgets.window)
@ -2017,7 +2017,7 @@ impl Hud {
.hover_image(self.imgs.button_hover) .hover_image(self.imgs.button_hover)
.press_image(self.imgs.button_press) .press_image(self.imgs.button_press)
.mid_bottom_with_margin_on(self.ids.q_text_bg, -80.0) .mid_bottom_with_margin_on(self.ids.q_text_bg, -80.0)
.label(&i18n.get("common.close")) .label(i18n.get("common.close"))
.label_font_id(self.fonts.cyri.conrod_id) .label_font_id(self.fonts.cyri.conrod_id)
.label_font_size(self.fonts.cyri.scale(22)) .label_font_size(self.fonts.cyri.scale(22))
.label_color(TEXT_COLOR) .label_color(TEXT_COLOR)
@ -2041,14 +2041,14 @@ impl Hud {
) )
.color(Some(QUALITY_LEGENDARY)) .color(Some(QUALITY_LEGENDARY))
.set(self.ids.tut_arrow, ui_widgets); .set(self.ids.tut_arrow, ui_widgets);
Text::new(&i18n.get("hud.tutorial_elements")) Text::new(i18n.get("hud.tutorial_elements"))
.mid_top_with_margin_on(self.ids.tut_arrow, -50.0) .mid_top_with_margin_on(self.ids.tut_arrow, -50.0)
.font_id(self.fonts.cyri.conrod_id) .font_id(self.fonts.cyri.conrod_id)
.font_size(self.fonts.cyri.scale(40)) .font_size(self.fonts.cyri.scale(40))
.color(BLACK) .color(BLACK)
.floating(true) .floating(true)
.set(self.ids.tut_arrow_txt_bg, ui_widgets); .set(self.ids.tut_arrow_txt_bg, ui_widgets);
Text::new(&i18n.get("hud.tutorial_elements")) Text::new(i18n.get("hud.tutorial_elements"))
.bottom_right_with_margins_on(self.ids.tut_arrow_txt_bg, 1.0, 1.0) .bottom_right_with_margins_on(self.ids.tut_arrow_txt_bg, 1.0, 1.0)
.font_id(self.fonts.cyri.conrod_id) .font_id(self.fonts.cyri.conrod_id)
.font_size(self.fonts.cyri.scale(40)) .font_size(self.fonts.cyri.scale(40))
@ -2372,8 +2372,8 @@ impl Hud {
&self.rot_imgs, &self.rot_imgs,
tooltip_manager, tooltip_manager,
i18n, i18n,
&player_stats, player_stats,
&skill_set, skill_set,
self.pulse, self.pulse,
) )
.set(self.ids.buttons, ui_widgets) .set(self.ids.buttons, ui_widgets)
@ -2397,7 +2397,7 @@ impl Hud {
&self.fonts, &self.fonts,
i18n, i18n,
self.pulse, self.pulse,
&global_state, global_state,
tooltip_manager, tooltip_manager,
&msm, &msm,
) )
@ -2430,7 +2430,7 @@ impl Hud {
&self.world_map, &self.world_map,
&self.fonts, &self.fonts,
camera.get_orientation(), camera.get_orientation(),
&global_state, global_state,
self.show.location_marker, self.show.location_marker,
&self.voxel_minimap, &self.voxel_minimap,
) )
@ -2450,7 +2450,7 @@ impl Hud {
&self.fonts, &self.fonts,
&global_state.i18n, &global_state.i18n,
&global_state.settings, &global_state.settings,
&prompt_dialog_settings, prompt_dialog_settings,
&global_state.window.key_layout, &global_state.window.key_layout,
) )
.set(self.ids.prompt_dialog, ui_widgets) .set(self.ids.prompt_dialog, ui_widgets)
@ -2521,10 +2521,10 @@ impl Hud {
&self.item_imgs, &self.item_imgs,
&self.fonts, &self.fonts,
&self.rot_imgs, &self.rot_imgs,
&health, health,
&inventory, inventory,
&energy, energy,
&skillset, skillset,
//&character_state, //&character_state,
self.pulse, self.pulse,
//&controller, //&controller,
@ -2559,12 +2559,12 @@ impl Hud {
&mut self.slot_manager, &mut self.slot_manager,
self.pulse, self.pulse,
i18n, i18n,
&player_stats, player_stats,
&skill_set, skill_set,
&health, health,
&energy, energy,
&self.show, &self.show,
&body, body,
&msm, &msm,
) )
.set(self.ids.bag, ui_widgets) .set(self.ids.bag, ui_widgets)
@ -2637,11 +2637,11 @@ impl Hud {
&self.rot_imgs, &self.rot_imgs,
tooltip_manager, tooltip_manager,
i18n, i18n,
&player_buffs, player_buffs,
self.pulse, self.pulse,
&global_state, global_state,
&health, health,
&energy, energy,
) )
.set(self.ids.buffs, ui_widgets) .set(self.ids.buffs, ui_widgets)
{ {
@ -2663,7 +2663,7 @@ impl Hud {
&self.rot_imgs, &self.rot_imgs,
item_tooltip_manager, item_tooltip_manager,
&self.item_imgs, &self.item_imgs,
&inventory, inventory,
&msm, &msm,
tooltip_manager, tooltip_manager,
&mut self.show, &mut self.show,
@ -2709,7 +2709,7 @@ impl Hud {
if global_state.settings.interface.toggle_chat { if global_state.settings.interface.toggle_chat {
for event in Chat::new( for event in Chat::new(
&mut self.new_messages, &mut self.new_messages,
&client, client,
global_state, global_state,
self.pulse, self.pulse,
&self.imgs, &self.imgs,
@ -2778,7 +2778,7 @@ impl Hud {
// Settings // Settings
if let Windows::Settings = self.show.open_windows { if let Windows::Settings = self.show.open_windows {
for event in SettingsWindow::new( for event in SettingsWindow::new(
&global_state, global_state,
&self.show, &self.show,
&self.imgs, &self.imgs,
&self.fonts, &self.fonts,
@ -2872,7 +2872,7 @@ impl Hud {
for event in Diary::new( for event in Diary::new(
&self.show, &self.show,
client, client,
&skill_set, skill_set,
&self.imgs, &self.imgs,
&self.item_imgs, &self.item_imgs,
&self.fonts, &self.fonts,
@ -2908,7 +2908,7 @@ impl Hud {
&self.fonts, &self.fonts,
self.pulse, self.pulse,
i18n, i18n,
&global_state, global_state,
tooltip_manager, tooltip_manager,
self.show.location_marker, self.show.location_marker,
) )

View File

@ -250,7 +250,7 @@ impl<'a> Widget for Overhead<'a> {
cur.as_secs_f32() / max.as_secs_f32() * 1000.0 cur.as_secs_f32() / max.as_secs_f32() * 1000.0
}) })
}) as u32; // Percentage to determine which frame of the timer overlay is displayed }) as u32; // Percentage to determine which frame of the timer overlay is displayed
let buff_img = get_buff_image(buff.kind, &self.imgs); let buff_img = get_buff_image(buff.kind, self.imgs);
let buff_widget = Image::new(buff_img).w_h(20.0, 20.0); let buff_widget = Image::new(buff_img).w_h(20.0, 20.0);
// Sort buffs into rows of 5 slots // Sort buffs into rows of 5 slots
let x = i % 5; let x = i % 5;
@ -452,9 +452,9 @@ impl<'a> Widget for Overhead<'a> {
// Speech bubble // Speech bubble
if let Some(bubble) = self.bubble { if let Some(bubble) = self.bubble {
let dark_mode = self.settings.speech_bubble_dark_mode; let dark_mode = self.settings.speech_bubble_dark_mode;
let localizer = |s: &str, i| -> String { self.i18n.get_variation(&s, i).to_string() }; let localizer = |s: &str, i| -> String { self.i18n.get_variation(s, i).to_string() };
let bubble_contents: String = bubble.message(localizer); let bubble_contents: String = bubble.message(localizer);
let (text_color, shadow_color) = bubble_color(&bubble, dark_mode); let (text_color, shadow_color) = bubble_color(bubble, dark_mode);
let mut text = Text::new(&bubble_contents) let mut text = Text::new(&bubble_contents)
.color(text_color) .color(text_color)
.font_id(self.fonts.cyri.conrod_id) .font_id(self.fonts.cyri.conrod_id)
@ -585,7 +585,7 @@ impl<'a> Widget for Overhead<'a> {
} }
text_shadow.set(state.ids.speech_bubble_shadow, ui); text_shadow.set(state.ids.speech_bubble_shadow, ui);
let icon = if self.settings.speech_bubble_icon { let icon = if self.settings.speech_bubble_icon {
bubble_icon(&bubble, &self.imgs) bubble_icon(bubble, self.imgs)
} else { } else {
self.imgs.nothing self.imgs.nothing
}; };

View File

@ -141,7 +141,7 @@ impl<'a> Widget for Chat<'a> {
.set(state.ids.window_r, ui); .set(state.ids.window_r, ui);
// General Title // General Title
Text::new(&self.localized_strings.get("hud.settings.general")) Text::new(self.localized_strings.get("hud.settings.general"))
.top_left_with_margins_on(state.ids.window, 5.0, 5.0) .top_left_with_margins_on(state.ids.window, 5.0, 5.0)
.font_size(self.fonts.cyri.scale(18)) .font_size(self.fonts.cyri.scale(18))
.font_id(self.fonts.cyri.conrod_id) .font_id(self.fonts.cyri.conrod_id)
@ -150,7 +150,7 @@ impl<'a> Widget for Chat<'a> {
// Chat Transp // Chat Transp
Text::new( Text::new(
&self self
.localized_strings .localized_strings
.get("hud.settings.background_transparency"), .get("hud.settings.background_transparency"),
) )
@ -178,7 +178,7 @@ impl<'a> Widget for Chat<'a> {
// "Show character names in chat" toggle button // "Show character names in chat" toggle button
Text::new( Text::new(
&self self
.localized_strings .localized_strings
.get("hud.settings.chat_character_name"), .get("hud.settings.chat_character_name"),
) )
@ -211,7 +211,7 @@ impl<'a> Widget for Chat<'a> {
.hover_image(self.imgs.button_hover) .hover_image(self.imgs.button_hover)
.press_image(self.imgs.button_press) .press_image(self.imgs.button_press)
.down_from(state.ids.char_name_text, 20.0) .down_from(state.ids.char_name_text, 20.0)
.label(&self.localized_strings.get("hud.settings.reset_chat")) .label(self.localized_strings.get("hud.settings.reset_chat"))
.label_font_size(self.fonts.cyri.scale(14)) .label_font_size(self.fonts.cyri.scale(14))
.label_color(TEXT_COLOR) .label_color(TEXT_COLOR)
.label_font_id(self.fonts.cyri.conrod_id) .label_font_id(self.fonts.cyri.conrod_id)
@ -223,7 +223,7 @@ impl<'a> Widget for Chat<'a> {
} }
// Tabs Title // Tabs Title
Text::new(&self.localized_strings.get("hud.settings.chat_tabs")) Text::new(self.localized_strings.get("hud.settings.chat_tabs"))
.top_left_with_margins_on(state.ids.window_r, 5.0, 5.0) .top_left_with_margins_on(state.ids.window_r, 5.0, 5.0)
.font_size(self.fonts.cyri.scale(18)) .font_size(self.fonts.cyri.scale(18))
.font_id(self.fonts.cyri.conrod_id) .font_id(self.fonts.cyri.conrod_id)
@ -326,7 +326,7 @@ impl<'a> Widget for Chat<'a> {
{ {
let mut updated_chat_tab = chat_tab.clone(); let mut updated_chat_tab = chat_tab.clone();
Text::new(&self.localized_strings.get("hud.settings.label")) Text::new(self.localized_strings.get("hud.settings.label"))
.top_left_with_margins_on(state.ids.tab_content_align, 5.0, 25.0) .top_left_with_margins_on(state.ids.tab_content_align, 5.0, 25.0)
.font_size(self.fonts.cyri.scale(16)) .font_size(self.fonts.cyri.scale(16))
.font_id(self.fonts.cyri.conrod_id) .font_id(self.fonts.cyri.conrod_id)
@ -354,7 +354,7 @@ impl<'a> Widget for Chat<'a> {
.hover_image(self.imgs.button_hover) .hover_image(self.imgs.button_hover)
.press_image(self.imgs.button_press) .press_image(self.imgs.button_press)
.w_h(100.0, 30.0) .w_h(100.0, 30.0)
.label(&self.localized_strings.get("hud.settings.delete")) .label(self.localized_strings.get("hud.settings.delete"))
.label_font_size(self.fonts.cyri.scale(14)) .label_font_size(self.fonts.cyri.scale(14))
.label_font_id(self.fonts.cyri.conrod_id) .label_font_id(self.fonts.cyri.conrod_id)
.label_color(TEXT_COLOR) .label_color(TEXT_COLOR)
@ -409,7 +409,7 @@ impl<'a> Widget for Chat<'a> {
}; };
//Messages //Messages
Text::new(&self.localized_strings.get("hud.settings.messages")) Text::new(self.localized_strings.get("hud.settings.messages"))
.font_id(self.fonts.cyri.conrod_id) .font_id(self.fonts.cyri.conrod_id)
.font_size(self.fonts.cyri.scale(16)) .font_size(self.fonts.cyri.scale(16))
.color(TEXT_COLOR) .color(TEXT_COLOR)
@ -432,7 +432,7 @@ impl<'a> Widget for Chat<'a> {
updated_chat_tab.filter.message_all = !chat_tab.filter.message_all; updated_chat_tab.filter.message_all = !chat_tab.filter.message_all;
}; };
Text::new(&self.localized_strings.get("hud.settings.show_all")) Text::new(self.localized_strings.get("hud.settings.show_all"))
.font_id(self.fonts.cyri.conrod_id) .font_id(self.fonts.cyri.conrod_id)
.font_size(self.fonts.cyri.scale(16)) .font_size(self.fonts.cyri.scale(16))
.color(TEXT_COLOR) .color(TEXT_COLOR)
@ -450,7 +450,7 @@ impl<'a> Widget for Chat<'a> {
} }
create_toggle_text( create_toggle_text(
&self.localized_strings.get("hud.settings.group"), self.localized_strings.get("hud.settings.group"),
!chat_tab.filter.message_all, !chat_tab.filter.message_all,
) )
.right_from(state.ids.btn_messages_group, 5.0) .right_from(state.ids.btn_messages_group, 5.0)
@ -474,7 +474,7 @@ impl<'a> Widget for Chat<'a> {
} }
create_toggle_text( create_toggle_text(
&self.localized_strings.get("hud.settings.faction"), self.localized_strings.get("hud.settings.faction"),
!chat_tab.filter.message_all, !chat_tab.filter.message_all,
) )
.right_from(state.ids.btn_messages_faction, 5.0) .right_from(state.ids.btn_messages_faction, 5.0)
@ -495,7 +495,7 @@ impl<'a> Widget for Chat<'a> {
} }
create_toggle_text( create_toggle_text(
&self.localized_strings.get("hud.settings.world"), self.localized_strings.get("hud.settings.world"),
!chat_tab.filter.message_all, !chat_tab.filter.message_all,
) )
.right_from(state.ids.btn_messages_world, 5.0) .right_from(state.ids.btn_messages_world, 5.0)
@ -516,7 +516,7 @@ impl<'a> Widget for Chat<'a> {
} }
create_toggle_text( create_toggle_text(
&self.localized_strings.get("hud.settings.region"), self.localized_strings.get("hud.settings.region"),
!chat_tab.filter.message_all, !chat_tab.filter.message_all,
) )
.right_from(state.ids.btn_messages_region, 5.0) .right_from(state.ids.btn_messages_region, 5.0)
@ -537,7 +537,7 @@ impl<'a> Widget for Chat<'a> {
} }
create_toggle_text( create_toggle_text(
&self.localized_strings.get("hud.settings.say"), self.localized_strings.get("hud.settings.say"),
!chat_tab.filter.message_all, !chat_tab.filter.message_all,
) )
.right_from(state.ids.btn_messages_say, 5.0) .right_from(state.ids.btn_messages_say, 5.0)
@ -548,7 +548,7 @@ impl<'a> Widget for Chat<'a> {
.set(state.ids.icon_messages_say, ui); .set(state.ids.icon_messages_say, ui);
//Activity //Activity
Text::new(&self.localized_strings.get("hud.settings.activity")) Text::new(self.localized_strings.get("hud.settings.activity"))
.top_left_with_margins_on(state.ids.tab_content_align_r, 0.0, 5.0) .top_left_with_margins_on(state.ids.tab_content_align_r, 0.0, 5.0)
.align_middle_y_of(state.ids.text_messages) .align_middle_y_of(state.ids.text_messages)
.font_size(self.fonts.cyri.scale(16)) .font_size(self.fonts.cyri.scale(16))
@ -599,7 +599,7 @@ impl<'a> Widget for Chat<'a> {
} }
//Death //Death
Text::new(&self.localized_strings.get("hud.settings.death")) Text::new(self.localized_strings.get("hud.settings.death"))
.down_from(state.ids.list_activity, 20.0) .down_from(state.ids.list_activity, 20.0)
.font_size(self.fonts.cyri.scale(16)) .font_size(self.fonts.cyri.scale(16))
.font_id(self.fonts.cyri.conrod_id) .font_id(self.fonts.cyri.conrod_id)

View File

@ -182,7 +182,7 @@ impl<'a> Widget for Controls<'a> {
.hover_image(self.imgs.button_hover) .hover_image(self.imgs.button_hover)
.press_image(self.imgs.button_press) .press_image(self.imgs.button_press)
.down_from(prev_id, 20.0) .down_from(prev_id, 20.0)
.label(&self.localized_strings.get("hud.settings.reset_keybinds")) .label(self.localized_strings.get("hud.settings.reset_keybinds"))
.label_font_size(self.fonts.cyri.scale(14)) .label_font_size(self.fonts.cyri.scale(14))
.label_color(TEXT_COLOR) .label_color(TEXT_COLOR)
.label_font_id(self.fonts.cyri.conrod_id) .label_font_id(self.fonts.cyri.conrod_id)

View File

@ -123,7 +123,7 @@ impl<'a> Widget for Gameplay<'a> {
let display_clamp = self.global_state.settings.gameplay.camera_clamp_angle; let display_clamp = self.global_state.settings.gameplay.camera_clamp_angle;
// Mouse Pan Sensitivity // Mouse Pan Sensitivity
Text::new(&self.localized_strings.get("hud.settings.pan_sensitivity")) Text::new(self.localized_strings.get("hud.settings.pan_sensitivity"))
.top_left_with_margins_on(state.ids.window, 10.0, 10.0) .top_left_with_margins_on(state.ids.window, 10.0, 10.0)
.font_size(self.fonts.cyri.scale(14)) .font_size(self.fonts.cyri.scale(14))
.font_id(self.fonts.cyri.conrod_id) .font_id(self.fonts.cyri.conrod_id)
@ -155,7 +155,7 @@ impl<'a> Widget for Gameplay<'a> {
.set(state.ids.mouse_pan_value, ui); .set(state.ids.mouse_pan_value, ui);
// Mouse Zoom Sensitivity // Mouse Zoom Sensitivity
Text::new(&self.localized_strings.get("hud.settings.zoom_sensitivity")) Text::new(self.localized_strings.get("hud.settings.zoom_sensitivity"))
.down_from(state.ids.mouse_pan_slider, 10.0) .down_from(state.ids.mouse_pan_slider, 10.0)
.font_size(self.fonts.cyri.scale(14)) .font_size(self.fonts.cyri.scale(14))
.font_id(self.fonts.cyri.conrod_id) .font_id(self.fonts.cyri.conrod_id)
@ -188,7 +188,7 @@ impl<'a> Widget for Gameplay<'a> {
// Camera clamp angle // Camera clamp angle
Text::new( Text::new(
&self self
.localized_strings .localized_strings
.get("hud.settings.camera_clamp_angle"), .get("hud.settings.camera_clamp_angle"),
) )
@ -241,7 +241,7 @@ impl<'a> Widget for Gameplay<'a> {
} }
Text::new( Text::new(
&self self
.localized_strings .localized_strings
.get("hud.settings.invert_scroll_zoom"), .get("hud.settings.invert_scroll_zoom"),
) )
@ -271,7 +271,7 @@ impl<'a> Widget for Gameplay<'a> {
} }
Text::new( Text::new(
&self self
.localized_strings .localized_strings
.get("hud.settings.invert_mouse_y_axis"), .get("hud.settings.invert_mouse_y_axis"),
) )
@ -301,7 +301,7 @@ impl<'a> Widget for Gameplay<'a> {
} }
Text::new( Text::new(
&self self
.localized_strings .localized_strings
.get("hud.settings.invert_controller_y_axis"), .get("hud.settings.invert_controller_y_axis"),
) )
@ -331,7 +331,7 @@ impl<'a> Widget for Gameplay<'a> {
} }
Text::new( Text::new(
&self self
.localized_strings .localized_strings
.get("hud.settings.enable_mouse_smoothing"), .get("hud.settings.enable_mouse_smoothing"),
) )
@ -344,7 +344,7 @@ impl<'a> Widget for Gameplay<'a> {
// Free look behaviour // Free look behaviour
Text::new( Text::new(
&self self
.localized_strings .localized_strings
.get("hud.settings.free_look_behavior"), .get("hud.settings.free_look_behavior"),
) )
@ -355,10 +355,10 @@ impl<'a> Widget for Gameplay<'a> {
.set(state.ids.free_look_behavior_text, ui); .set(state.ids.free_look_behavior_text, ui);
let mode_label_list = [ let mode_label_list = [
&self self
.localized_strings .localized_strings
.get("hud.settings.press_behavior.toggle"), .get("hud.settings.press_behavior.toggle"),
&self self
.localized_strings .localized_strings
.get("hud.settings.press_behavior.hold"), .get("hud.settings.press_behavior.hold"),
]; ];
@ -383,7 +383,7 @@ impl<'a> Widget for Gameplay<'a> {
// Auto walk behavior // Auto walk behavior
Text::new( Text::new(
&self self
.localized_strings .localized_strings
.get("hud.settings.auto_walk_behavior"), .get("hud.settings.auto_walk_behavior"),
) )
@ -413,7 +413,7 @@ impl<'a> Widget for Gameplay<'a> {
// Camera clamp behavior // Camera clamp behavior
Text::new( Text::new(
&self self
.localized_strings .localized_strings
.get("hud.settings.camera_clamp_behavior"), .get("hud.settings.camera_clamp_behavior"),
) )
@ -443,7 +443,7 @@ impl<'a> Widget for Gameplay<'a> {
// Player physics behavior // Player physics behavior
Text::new( Text::new(
&self self
.localized_strings .localized_strings
.get("hud.settings.player_physics_behavior"), .get("hud.settings.player_physics_behavior"),
) )
@ -499,7 +499,7 @@ impl<'a> Widget for Gameplay<'a> {
} }
Text::new( Text::new(
&self self
.localized_strings .localized_strings
.get("hud.settings.stop_auto_walk_on_input"), .get("hud.settings.stop_auto_walk_on_input"),
) )
@ -528,7 +528,7 @@ impl<'a> Widget for Gameplay<'a> {
)); ));
} }
Text::new(&self.localized_strings.get("hud.settings.auto_camera")) Text::new(self.localized_strings.get("hud.settings.auto_camera"))
.right_from(state.ids.auto_camera_button, 10.0) .right_from(state.ids.auto_camera_button, 10.0)
.font_size(self.fonts.cyri.scale(14)) .font_size(self.fonts.cyri.scale(14))
.font_id(self.fonts.cyri.conrod_id) .font_id(self.fonts.cyri.conrod_id)
@ -542,7 +542,7 @@ impl<'a> Widget for Gameplay<'a> {
.hover_image(self.imgs.button_hover) .hover_image(self.imgs.button_hover)
.press_image(self.imgs.button_press) .press_image(self.imgs.button_press)
.down_from(state.ids.camera_clamp_behavior_list, 12.0) .down_from(state.ids.camera_clamp_behavior_list, 12.0)
.label(&self.localized_strings.get("hud.settings.reset_gameplay")) .label(self.localized_strings.get("hud.settings.reset_gameplay"))
.label_font_size(self.fonts.cyri.scale(14)) .label_font_size(self.fonts.cyri.scale(14))
.label_color(TEXT_COLOR) .label_color(TEXT_COLOR)
.label_font_id(self.fonts.cyri.conrod_id) .label_font_id(self.fonts.cyri.conrod_id)

View File

@ -164,7 +164,7 @@ impl<'a> Widget for Interface<'a> {
let crosshair_type = self.global_state.settings.interface.crosshair_type; let crosshair_type = self.global_state.settings.interface.crosshair_type;
let ui_scale = self.global_state.settings.interface.ui_scale; let ui_scale = self.global_state.settings.interface.ui_scale;
Text::new(&self.localized_strings.get("hud.settings.general")) Text::new(self.localized_strings.get("hud.settings.general"))
.top_left_with_margins_on(state.ids.window, 5.0, 5.0) .top_left_with_margins_on(state.ids.window, 5.0, 5.0)
.font_size(self.fonts.cyri.scale(18)) .font_size(self.fonts.cyri.scale(18))
.font_id(self.fonts.cyri.conrod_id) .font_id(self.fonts.cyri.conrod_id)
@ -187,7 +187,7 @@ impl<'a> Widget for Interface<'a> {
events.push(ToggleHelp(show_help)); events.push(ToggleHelp(show_help));
} }
Text::new(&self.localized_strings.get("hud.settings.help_window")) Text::new(self.localized_strings.get("hud.settings.help_window"))
.right_from(state.ids.button_help, 10.0) .right_from(state.ids.button_help, 10.0)
.font_size(self.fonts.cyri.scale(14)) .font_size(self.fonts.cyri.scale(14))
.font_id(self.fonts.cyri.conrod_id) .font_id(self.fonts.cyri.conrod_id)
@ -213,7 +213,7 @@ impl<'a> Widget for Interface<'a> {
)); ));
} }
Text::new(&self.localized_strings.get("hud.settings.loading_tips")) Text::new(self.localized_strings.get("hud.settings.loading_tips"))
.right_from(state.ids.load_tips_button, 10.0) .right_from(state.ids.load_tips_button, 10.0)
.font_size(self.fonts.cyri.scale(14)) .font_size(self.fonts.cyri.scale(14))
.font_id(self.fonts.cyri.conrod_id) .font_id(self.fonts.cyri.conrod_id)
@ -236,7 +236,7 @@ impl<'a> Widget for Interface<'a> {
events.push(ToggleDebug(show_debug)); events.push(ToggleDebug(show_debug));
} }
Text::new(&self.localized_strings.get("hud.settings.debug_info")) Text::new(self.localized_strings.get("hud.settings.debug_info"))
.right_from(state.ids.debug_button, 10.0) .right_from(state.ids.debug_button, 10.0)
.font_size(self.fonts.cyri.scale(14)) .font_size(self.fonts.cyri.scale(14))
.font_id(self.fonts.cyri.conrod_id) .font_id(self.fonts.cyri.conrod_id)
@ -260,7 +260,7 @@ impl<'a> Widget for Interface<'a> {
events.push(ToggleHitboxes(show_hitboxes)); events.push(ToggleHitboxes(show_hitboxes));
} }
Text::new(&self.localized_strings.get("hud.settings.show_hitboxes")) Text::new(self.localized_strings.get("hud.settings.show_hitboxes"))
.right_from(state.ids.hitboxes_button, 10.0) .right_from(state.ids.hitboxes_button, 10.0)
.font_size(self.fonts.cyri.scale(14)) .font_size(self.fonts.cyri.scale(14))
.font_id(self.fonts.cyri.conrod_id) .font_id(self.fonts.cyri.conrod_id)
@ -284,7 +284,7 @@ impl<'a> Widget for Interface<'a> {
events.push(ToggleChat(show_chat)); events.push(ToggleChat(show_chat));
} }
Text::new(&self.localized_strings.get("hud.settings.show_chat")) Text::new(self.localized_strings.get("hud.settings.show_chat"))
.right_from(state.ids.chat_button, 10.0) .right_from(state.ids.chat_button, 10.0)
.font_size(self.fonts.cyri.scale(14)) .font_size(self.fonts.cyri.scale(14))
.font_id(self.fonts.cyri.conrod_id) .font_id(self.fonts.cyri.conrod_id)
@ -293,7 +293,7 @@ impl<'a> Widget for Interface<'a> {
.set(state.ids.chat_button_label, ui); .set(state.ids.chat_button_label, ui);
// Ui Scale // Ui Scale
Text::new(&self.localized_strings.get("hud.settings.ui_scale")) Text::new(self.localized_strings.get("hud.settings.ui_scale"))
.down_from(state.ids.chat_button, 20.0) .down_from(state.ids.chat_button, 20.0)
.font_size(self.fonts.cyri.scale(18)) .font_size(self.fonts.cyri.scale(18))
.font_id(self.fonts.cyri.conrod_id) .font_id(self.fonts.cyri.conrod_id)
@ -539,13 +539,13 @@ impl<'a> Widget for Interface<'a> {
.graphics_for(state.ids.ch_3_bg) .graphics_for(state.ids.ch_3_bg)
.set(state.ids.crosshair_inner_3, ui); .set(state.ids.crosshair_inner_3, ui);
// Crosshair Transparency Text and Slider // Crosshair Transparency Text and Slider
Text::new(&self.localized_strings.get("hud.settings.crosshair")) Text::new(self.localized_strings.get("hud.settings.crosshair"))
.down_from(state.ids.absolute_scale_button, 20.0) .down_from(state.ids.absolute_scale_button, 20.0)
.font_size(self.fonts.cyri.scale(18)) .font_size(self.fonts.cyri.scale(18))
.font_id(self.fonts.cyri.conrod_id) .font_id(self.fonts.cyri.conrod_id)
.color(TEXT_COLOR) .color(TEXT_COLOR)
.set(state.ids.ch_title, ui); .set(state.ids.ch_title, ui);
Text::new(&self.localized_strings.get("hud.settings.transparency")) Text::new(self.localized_strings.get("hud.settings.transparency"))
.right_from(state.ids.ch_3_bg, 20.0) .right_from(state.ids.ch_3_bg, 20.0)
.font_size(self.fonts.cyri.scale(14)) .font_size(self.fonts.cyri.scale(14))
.font_id(self.fonts.cyri.conrod_id) .font_id(self.fonts.cyri.conrod_id)
@ -578,7 +578,7 @@ impl<'a> Widget for Interface<'a> {
.set(state.ids.ch_transp_value, ui); .set(state.ids.ch_transp_value, ui);
// Hotbar text // Hotbar text
Text::new(&self.localized_strings.get("hud.settings.hotbar")) Text::new(self.localized_strings.get("hud.settings.hotbar"))
.down_from(state.ids.ch_1_bg, 20.0) .down_from(state.ids.ch_1_bg, 20.0)
.font_size(self.fonts.cyri.scale(18)) .font_size(self.fonts.cyri.scale(18))
.font_id(self.fonts.cyri.conrod_id) .font_id(self.fonts.cyri.conrod_id)
@ -613,7 +613,7 @@ impl<'a> Widget for Interface<'a> {
ShortcutNumbers::Off => events.push(ToggleShortcutNumbers(ShortcutNumbers::On)), ShortcutNumbers::Off => events.push(ToggleShortcutNumbers(ShortcutNumbers::On)),
} }
} }
Text::new(&self.localized_strings.get("hud.settings.toggle_shortcuts")) Text::new(self.localized_strings.get("hud.settings.toggle_shortcuts"))
.right_from(state.ids.show_shortcuts_button, 10.0) .right_from(state.ids.show_shortcuts_button, 10.0)
.font_size(self.fonts.cyri.scale(14)) .font_size(self.fonts.cyri.scale(14))
.font_id(self.fonts.cyri.conrod_id) .font_id(self.fonts.cyri.conrod_id)
@ -641,7 +641,7 @@ impl<'a> Widget for Interface<'a> {
{ {
events.push(BuffPosition(BuffPosition::Bar)) events.push(BuffPosition(BuffPosition::Bar))
} }
Text::new(&self.localized_strings.get("hud.settings.buffs_skillbar")) Text::new(self.localized_strings.get("hud.settings.buffs_skillbar"))
.right_from(state.ids.buff_pos_bar_button, 10.0) .right_from(state.ids.buff_pos_bar_button, 10.0)
.font_size(self.fonts.cyri.scale(14)) .font_size(self.fonts.cyri.scale(14))
.font_id(self.fonts.cyri.conrod_id) .font_id(self.fonts.cyri.conrod_id)
@ -668,7 +668,7 @@ impl<'a> Widget for Interface<'a> {
{ {
events.push(BuffPosition(BuffPosition::Map)) events.push(BuffPosition(BuffPosition::Map))
} }
Text::new(&self.localized_strings.get("hud.settings.buffs_mmap")) Text::new(self.localized_strings.get("hud.settings.buffs_mmap"))
.right_from(state.ids.buff_pos_map_button, 10.0) .right_from(state.ids.buff_pos_map_button, 10.0)
.font_size(self.fonts.cyri.scale(14)) .font_size(self.fonts.cyri.scale(14))
.font_id(self.fonts.cyri.conrod_id) .font_id(self.fonts.cyri.conrod_id)
@ -690,7 +690,7 @@ impl<'a> Widget for Interface<'a> {
*/ */
// SCT/ Scrolling Combat Text // SCT/ Scrolling Combat Text
Text::new( Text::new(
&self self
.localized_strings .localized_strings
.get("hud.settings.scrolling_combat_text"), .get("hud.settings.scrolling_combat_text"),
) )
@ -715,7 +715,7 @@ impl<'a> Widget for Interface<'a> {
events.push(Sct(!self.global_state.settings.interface.sct)) events.push(Sct(!self.global_state.settings.interface.sct))
} }
Text::new( Text::new(
&self self
.localized_strings .localized_strings
.get("hud.settings.scrolling_combat_text"), .get("hud.settings.scrolling_combat_text"),
) )
@ -739,7 +739,7 @@ impl<'a> Widget for Interface<'a> {
.set(state.ids.sct_single_dmg_radio, ui); .set(state.ids.sct_single_dmg_radio, ui);
Text::new( Text::new(
&self self
.localized_strings .localized_strings
.get("hud.settings.single_damage_number"), .get("hud.settings.single_damage_number"),
) )
@ -766,7 +766,7 @@ impl<'a> Widget for Interface<'a> {
!self.global_state.settings.interface.sct_damage_batch, !self.global_state.settings.interface.sct_damage_batch,
)) ))
} }
Text::new(&self.localized_strings.get("hud.settings.cumulated_damage")) Text::new(self.localized_strings.get("hud.settings.cumulated_damage"))
.right_from(state.ids.sct_show_batch_radio, 10.0) .right_from(state.ids.sct_show_batch_radio, 10.0)
.font_size(self.fonts.cyri.scale(14)) .font_size(self.fonts.cyri.scale(14))
.font_id(self.fonts.cyri.conrod_id) .font_id(self.fonts.cyri.conrod_id)
@ -785,7 +785,7 @@ impl<'a> Widget for Interface<'a> {
.press_images(self.imgs.checkbox_press, self.imgs.checkbox_checked) .press_images(self.imgs.checkbox_press, self.imgs.checkbox_checked)
.set(state.ids.sct_inc_dmg_radio, ui); .set(state.ids.sct_inc_dmg_radio, ui);
Text::new(&self.localized_strings.get("hud.settings.incoming_damage")) Text::new(self.localized_strings.get("hud.settings.incoming_damage"))
.right_from(state.ids.sct_inc_dmg_radio, 10.0) .right_from(state.ids.sct_inc_dmg_radio, 10.0)
.font_size(self.fonts.cyri.scale(14)) .font_size(self.fonts.cyri.scale(14))
.font_id(self.fonts.cyri.conrod_id) .font_id(self.fonts.cyri.conrod_id)
@ -810,7 +810,7 @@ impl<'a> Widget for Interface<'a> {
)) ))
} }
Text::new( Text::new(
&self self
.localized_strings .localized_strings
.get("hud.settings.cumulated_incoming_damage"), .get("hud.settings.cumulated_incoming_damage"),
) )
@ -823,7 +823,7 @@ impl<'a> Widget for Interface<'a> {
} }
// Speech bubble dark mode // Speech bubble dark mode
Text::new(&self.localized_strings.get("hud.settings.speech_bubble")) Text::new(self.localized_strings.get("hud.settings.speech_bubble"))
.down_from( .down_from(
if self.global_state.settings.interface.sct { if self.global_state.settings.interface.sct {
state.ids.sct_batch_inc_radio state.ids.sct_batch_inc_radio
@ -852,7 +852,7 @@ impl<'a> Widget for Interface<'a> {
events.push(SpeechBubbleDarkMode(speech_bubble_dark_mode)); events.push(SpeechBubbleDarkMode(speech_bubble_dark_mode));
} }
Text::new( Text::new(
&self self
.localized_strings .localized_strings
.get("hud.settings.speech_bubble_dark_mode"), .get("hud.settings.speech_bubble_dark_mode"),
) )
@ -876,7 +876,7 @@ impl<'a> Widget for Interface<'a> {
events.push(SpeechBubbleIcon(speech_bubble_icon)); events.push(SpeechBubbleIcon(speech_bubble_icon));
} }
Text::new( Text::new(
&self self
.localized_strings .localized_strings
.get("hud.settings.speech_bubble_icon"), .get("hud.settings.speech_bubble_icon"),
) )
@ -888,7 +888,7 @@ impl<'a> Widget for Interface<'a> {
// Energybars Numbers // Energybars Numbers
// Hotbar text // Hotbar text
Text::new(&self.localized_strings.get("hud.settings.energybar_numbers")) Text::new(self.localized_strings.get("hud.settings.energybar_numbers"))
.down_from(state.ids.speech_bubble_icon_button, 20.0) .down_from(state.ids.speech_bubble_icon_button, 20.0)
.font_size(self.fonts.cyri.scale(18)) .font_size(self.fonts.cyri.scale(18))
.font_id(self.fonts.cyri.conrod_id) .font_id(self.fonts.cyri.conrod_id)
@ -918,7 +918,7 @@ impl<'a> Widget for Interface<'a> {
{ {
events.push(ToggleBarNumbers(BarNumbers::Off)) events.push(ToggleBarNumbers(BarNumbers::Off))
} }
Text::new(&self.localized_strings.get("hud.settings.none")) Text::new(self.localized_strings.get("hud.settings.none"))
.right_from(state.ids.show_bar_numbers_none_button, 10.0) .right_from(state.ids.show_bar_numbers_none_button, 10.0)
.font_size(self.fonts.cyri.scale(14)) .font_size(self.fonts.cyri.scale(14))
.font_id(self.fonts.cyri.conrod_id) .font_id(self.fonts.cyri.conrod_id)
@ -949,7 +949,7 @@ impl<'a> Widget for Interface<'a> {
{ {
events.push(ToggleBarNumbers(BarNumbers::Values)) events.push(ToggleBarNumbers(BarNumbers::Values))
} }
Text::new(&self.localized_strings.get("hud.settings.values")) Text::new(self.localized_strings.get("hud.settings.values"))
.right_from(state.ids.show_bar_numbers_values_button, 10.0) .right_from(state.ids.show_bar_numbers_values_button, 10.0)
.font_size(self.fonts.cyri.scale(14)) .font_size(self.fonts.cyri.scale(14))
.font_id(self.fonts.cyri.conrod_id) .font_id(self.fonts.cyri.conrod_id)
@ -980,7 +980,7 @@ impl<'a> Widget for Interface<'a> {
{ {
events.push(ToggleBarNumbers(BarNumbers::Percent)) events.push(ToggleBarNumbers(BarNumbers::Percent))
} }
Text::new(&self.localized_strings.get("hud.settings.percentages")) Text::new(self.localized_strings.get("hud.settings.percentages"))
.right_from(state.ids.show_bar_numbers_percentage_button, 10.0) .right_from(state.ids.show_bar_numbers_percentage_button, 10.0)
.font_size(self.fonts.cyri.scale(14)) .font_size(self.fonts.cyri.scale(14))
.font_id(self.fonts.cyri.conrod_id) .font_id(self.fonts.cyri.conrod_id)
@ -994,7 +994,7 @@ impl<'a> Widget for Interface<'a> {
.hover_image(self.imgs.button_hover) .hover_image(self.imgs.button_hover)
.press_image(self.imgs.button_press) .press_image(self.imgs.button_press)
.down_from(state.ids.buff_pos_map_button, 12.0) .down_from(state.ids.buff_pos_map_button, 12.0)
.label(&self.localized_strings.get("hud.settings.reset_interface")) .label(self.localized_strings.get("hud.settings.reset_interface"))
.label_font_size(self.fonts.cyri.scale(14)) .label_font_size(self.fonts.cyri.scale(14))
.label_color(TEXT_COLOR) .label_color(TEXT_COLOR)
.label_font_id(self.fonts.cyri.conrod_id) .label_font_id(self.fonts.cyri.conrod_id)

View File

@ -150,7 +150,7 @@ impl<'a> Widget for Language<'a> {
events.push(ToggleEnglishFallback(show_english_fallback)); events.push(ToggleEnglishFallback(show_english_fallback));
} }
Text::new(&self.localized_strings.get("hud.settings.english_fallback")) Text::new(self.localized_strings.get("hud.settings.english_fallback"))
.right_from(state.ids.english_fallback_button, 10.0) .right_from(state.ids.english_fallback_button, 10.0)
.font_size(self.fonts.cyri.scale(14)) .font_size(self.fonts.cyri.scale(14))
.font_id(self.fonts.cyri.conrod_id) .font_id(self.fonts.cyri.conrod_id)

View File

@ -106,7 +106,7 @@ impl<'a> Widget for Sound<'a> {
let inactive_master_volume_perc = let inactive_master_volume_perc =
self.global_state.settings.audio.inactive_master_volume_perc; self.global_state.settings.audio.inactive_master_volume_perc;
let inactive_val = format!("{:2.0}%", inactive_master_volume_perc * 100.0); let inactive_val = format!("{:2.0}%", inactive_master_volume_perc * 100.0);
Text::new(&self.localized_strings.get("hud.settings.master_volume")) Text::new(self.localized_strings.get("hud.settings.master_volume"))
.top_left_with_margins_on(state.ids.window, 10.0, 10.0) .top_left_with_margins_on(state.ids.window, 10.0, 10.0)
.font_size(self.fonts.cyri.scale(14)) .font_size(self.fonts.cyri.scale(14))
.font_id(self.fonts.cyri.conrod_id) .font_id(self.fonts.cyri.conrod_id)
@ -137,7 +137,7 @@ impl<'a> Widget for Sound<'a> {
.set(state.ids.master_volume_number, ui); .set(state.ids.master_volume_number, ui);
// Master Volume (inactive window) ---------------------------------- // Master Volume (inactive window) ----------------------------------
Text::new( Text::new(
&self self
.localized_strings .localized_strings
.get("hud.settings.inactive_master_volume_perc"), .get("hud.settings.inactive_master_volume_perc"),
) )
@ -170,7 +170,7 @@ impl<'a> Widget for Sound<'a> {
.color(TEXT_COLOR) .color(TEXT_COLOR)
.set(state.ids.inactive_master_volume_number, ui); .set(state.ids.inactive_master_volume_number, ui);
// Music Volume ----------------------------------------------------- // Music Volume -----------------------------------------------------
Text::new(&self.localized_strings.get("hud.settings.music_volume")) Text::new(self.localized_strings.get("hud.settings.music_volume"))
.down_from(state.ids.inactive_master_volume_slider, 10.0) .down_from(state.ids.inactive_master_volume_slider, 10.0)
.font_size(self.fonts.cyri.scale(14)) .font_size(self.fonts.cyri.scale(14))
.font_id(self.fonts.cyri.conrod_id) .font_id(self.fonts.cyri.conrod_id)
@ -196,7 +196,7 @@ impl<'a> Widget for Sound<'a> {
// SFX Volume ------------------------------------------------------- // SFX Volume -------------------------------------------------------
Text::new( Text::new(
&self self
.localized_strings .localized_strings
.get("hud.settings.sound_effect_volume"), .get("hud.settings.sound_effect_volume"),
) )
@ -227,7 +227,7 @@ impl<'a> Widget for Sound<'a> {
// -------------------------------------------- // --------------------------------------------
// let device = &self.global_state.audio.device; // let device = &self.global_state.audio.device;
//let device_list = &self.global_state.audio.device_list; //let device_list = &self.global_state.audio.device_list;
//Text::new(&self.localized_strings.get("hud.settings.audio_device" //Text::new(self.localized_strings.get("hud.settings.audio_device"
// )) .down_from(state.ids.sfx_volume_slider, 10.0) // )) .down_from(state.ids.sfx_volume_slider, 10.0)
// .font_size(self.fonts.cyri.scale(14)) // .font_size(self.fonts.cyri.scale(14))
// .font_id(self.fonts.cyri.conrod_id) // .font_id(self.fonts.cyri.conrod_id)
@ -256,7 +256,7 @@ impl<'a> Widget for Sound<'a> {
.hover_image(self.imgs.button_hover) .hover_image(self.imgs.button_hover)
.press_image(self.imgs.button_press) .press_image(self.imgs.button_press)
.down_from(state.ids.sfx_volume_slider, 12.0) .down_from(state.ids.sfx_volume_slider, 12.0)
.label(&self.localized_strings.get("hud.settings.reset_sound")) .label(self.localized_strings.get("hud.settings.reset_sound"))
.label_font_size(self.fonts.cyri.scale(14)) .label_font_size(self.fonts.cyri.scale(14))
.label_color(TEXT_COLOR) .label_color(TEXT_COLOR)
.label_font_id(self.fonts.cyri.conrod_id) .label_font_id(self.fonts.cyri.conrod_id)

View File

@ -230,7 +230,7 @@ impl<'a> Widget for Video<'a> {
} }
// View Distance // View Distance
Text::new(&self.localized_strings.get("hud.settings.view_distance")) Text::new(self.localized_strings.get("hud.settings.view_distance"))
.top_left_with_margins_on(state.ids.window, 10.0, 10.0) .top_left_with_margins_on(state.ids.window, 10.0, 10.0)
.font_size(self.fonts.cyri.scale(14)) .font_size(self.fonts.cyri.scale(14))
.font_id(self.fonts.cyri.conrod_id) .font_id(self.fonts.cyri.conrod_id)
@ -267,7 +267,7 @@ impl<'a> Widget for Video<'a> {
.set(state.ids.vd_value, ui); .set(state.ids.vd_value, ui);
// Max FPS // Max FPS
Text::new(&self.localized_strings.get("hud.settings.maximum_fps")) Text::new(self.localized_strings.get("hud.settings.maximum_fps"))
.down_from(state.ids.vd_slider, 10.0) .down_from(state.ids.vd_slider, 10.0)
.font_size(self.fonts.cyri.scale(14)) .font_size(self.fonts.cyri.scale(14))
.font_id(self.fonts.cyri.conrod_id) .font_id(self.fonts.cyri.conrod_id)
@ -305,7 +305,7 @@ impl<'a> Widget for Video<'a> {
let render_mode = &self.global_state.settings.graphics.render_mode; let render_mode = &self.global_state.settings.graphics.render_mode;
// Present Mode // Present Mode
Text::new(&self.localized_strings.get("hud.settings.present_mode")) Text::new(self.localized_strings.get("hud.settings.present_mode"))
.down_from(state.ids.vd_slider, 10.0) .down_from(state.ids.vd_slider, 10.0)
.right_from(state.ids.max_fps_value, 30.0) .right_from(state.ids.max_fps_value, 30.0)
.font_size(self.fonts.cyri.scale(14)) .font_size(self.fonts.cyri.scale(14))
@ -349,7 +349,7 @@ impl<'a> Widget for Video<'a> {
} }
// FOV // FOV
Text::new(&self.localized_strings.get("hud.settings.fov")) Text::new(self.localized_strings.get("hud.settings.fov"))
.down_from(state.ids.max_fps_slider, 10.0) .down_from(state.ids.max_fps_slider, 10.0)
.font_size(self.fonts.cyri.scale(14)) .font_size(self.fonts.cyri.scale(14))
.font_id(self.fonts.cyri.conrod_id) .font_id(self.fonts.cyri.conrod_id)
@ -381,7 +381,7 @@ impl<'a> Widget for Video<'a> {
.set(state.ids.fov_value, ui); .set(state.ids.fov_value, ui);
// LoD detail // LoD detail
Text::new(&self.localized_strings.get("hud.settings.lod_detail")) Text::new(self.localized_strings.get("hud.settings.lod_detail"))
.down_from(state.ids.fov_slider, 10.0) .down_from(state.ids.fov_slider, 10.0)
.font_size(self.fonts.cyri.scale(14)) .font_size(self.fonts.cyri.scale(14))
.font_id(self.fonts.cyri.conrod_id) .font_id(self.fonts.cyri.conrod_id)
@ -419,7 +419,7 @@ impl<'a> Widget for Video<'a> {
.set(state.ids.lod_detail_value, ui); .set(state.ids.lod_detail_value, ui);
// Gamma // Gamma
Text::new(&self.localized_strings.get("hud.settings.gamma")) Text::new(self.localized_strings.get("hud.settings.gamma"))
.down_from(state.ids.lod_detail_slider, 10.0) .down_from(state.ids.lod_detail_slider, 10.0)
.font_size(self.fonts.cyri.scale(14)) .font_size(self.fonts.cyri.scale(14))
.font_id(self.fonts.cyri.conrod_id) .font_id(self.fonts.cyri.conrod_id)
@ -470,7 +470,7 @@ impl<'a> Widget for Video<'a> {
events.push(GraphicsChange::ChangeExposure(new_val as f32 / 16.0)); events.push(GraphicsChange::ChangeExposure(new_val as f32 / 16.0));
} }
Text::new(&self.localized_strings.get("hud.settings.exposure")) Text::new(self.localized_strings.get("hud.settings.exposure"))
.up_from(state.ids.exposure_slider, 8.0) .up_from(state.ids.exposure_slider, 8.0)
.font_size(self.fonts.cyri.scale(14)) .font_size(self.fonts.cyri.scale(14))
.font_id(self.fonts.cyri.conrod_id) .font_id(self.fonts.cyri.conrod_id)
@ -507,7 +507,7 @@ impl<'a> Widget for Video<'a> {
{ {
events.push(GraphicsChange::ChangeAmbiance(new_val as f32)); events.push(GraphicsChange::ChangeAmbiance(new_val as f32));
} }
Text::new(&self.localized_strings.get("hud.settings.ambiance")) Text::new(self.localized_strings.get("hud.settings.ambiance"))
.up_from(state.ids.ambiance_slider, 8.0) .up_from(state.ids.ambiance_slider, 8.0)
.font_size(self.fonts.cyri.scale(14)) .font_size(self.fonts.cyri.scale(14))
.font_id(self.fonts.cyri.conrod_id) .font_id(self.fonts.cyri.conrod_id)
@ -544,7 +544,7 @@ impl<'a> Widget for Video<'a> {
events.push(GraphicsChange::AdjustSpriteRenderDistance(new_val)); events.push(GraphicsChange::AdjustSpriteRenderDistance(new_val));
} }
Text::new( Text::new(
&self self
.localized_strings .localized_strings
.get("hud.settings.sprites_view_distance"), .get("hud.settings.sprites_view_distance"),
) )
@ -584,7 +584,7 @@ impl<'a> Widget for Video<'a> {
events.push(GraphicsChange::AdjustFigureLoDRenderDistance(new_val)); events.push(GraphicsChange::AdjustFigureLoDRenderDistance(new_val));
} }
Text::new( Text::new(
&self self
.localized_strings .localized_strings
.get("hud.settings.figures_view_distance"), .get("hud.settings.figures_view_distance"),
) )
@ -608,7 +608,7 @@ impl<'a> Widget for Video<'a> {
.set(state.ids.figure_dist_value, ui); .set(state.ids.figure_dist_value, ui);
// AaMode // AaMode
Text::new(&self.localized_strings.get("hud.settings.antialiasing_mode")) Text::new(self.localized_strings.get("hud.settings.antialiasing_mode"))
.down_from(state.ids.gamma_slider, 8.0) .down_from(state.ids.gamma_slider, 8.0)
.font_size(self.fonts.cyri.scale(14)) .font_size(self.fonts.cyri.scale(14))
.font_id(self.fonts.cyri.conrod_id) .font_id(self.fonts.cyri.conrod_id)
@ -650,7 +650,7 @@ impl<'a> Widget for Video<'a> {
} }
// Upscaling factor // Upscaling factor
Text::new(&self.localized_strings.get("hud.settings.upscale_factor")) Text::new(self.localized_strings.get("hud.settings.upscale_factor"))
.down_from(state.ids.aa_mode_list, 8.0) .down_from(state.ids.aa_mode_list, 8.0)
.font_size(self.fonts.cyri.scale(14)) .font_size(self.fonts.cyri.scale(14))
.font_id(self.fonts.cyri.conrod_id) .font_id(self.fonts.cyri.conrod_id)
@ -693,7 +693,7 @@ impl<'a> Widget for Video<'a> {
// CloudMode // CloudMode
Text::new( Text::new(
&self self
.localized_strings .localized_strings
.get("hud.settings.cloud_rendering_mode"), .get("hud.settings.cloud_rendering_mode"),
) )
@ -712,20 +712,20 @@ impl<'a> Widget for Video<'a> {
CloudMode::Ultra, CloudMode::Ultra,
]; ];
let mode_label_list = [ let mode_label_list = [
&self.localized_strings.get("common.none"), self.localized_strings.get("common.none"),
&self self
.localized_strings .localized_strings
.get("hud.settings.cloud_rendering_mode.minimal"), .get("hud.settings.cloud_rendering_mode.minimal"),
&self self
.localized_strings .localized_strings
.get("hud.settings.cloud_rendering_mode.low"), .get("hud.settings.cloud_rendering_mode.low"),
&self self
.localized_strings .localized_strings
.get("hud.settings.cloud_rendering_mode.medium"), .get("hud.settings.cloud_rendering_mode.medium"),
&self self
.localized_strings .localized_strings
.get("hud.settings.cloud_rendering_mode.high"), .get("hud.settings.cloud_rendering_mode.high"),
&self self
.localized_strings .localized_strings
.get("hud.settings.cloud_rendering_mode.ultra"), .get("hud.settings.cloud_rendering_mode.ultra"),
]; ];
@ -749,7 +749,7 @@ impl<'a> Widget for Video<'a> {
// FluidMode // FluidMode
Text::new( Text::new(
&self self
.localized_strings .localized_strings
.get("hud.settings.fluid_rendering_mode"), .get("hud.settings.fluid_rendering_mode"),
) )
@ -761,10 +761,10 @@ impl<'a> Widget for Video<'a> {
let mode_list = [FluidMode::Cheap, FluidMode::Shiny]; let mode_list = [FluidMode::Cheap, FluidMode::Shiny];
let mode_label_list = [ let mode_label_list = [
&self self
.localized_strings .localized_strings
.get("hud.settings.fluid_rendering_mode.cheap"), .get("hud.settings.fluid_rendering_mode.cheap"),
&self self
.localized_strings .localized_strings
.get("hud.settings.fluid_rendering_mode.shiny"), .get("hud.settings.fluid_rendering_mode.shiny"),
]; ];
@ -788,7 +788,7 @@ impl<'a> Widget for Video<'a> {
// LightingMode // LightingMode
Text::new( Text::new(
&self self
.localized_strings .localized_strings
.get("hud.settings.lighting_rendering_mode"), .get("hud.settings.lighting_rendering_mode"),
) )
@ -804,13 +804,13 @@ impl<'a> Widget for Video<'a> {
LightingMode::Lambertian, LightingMode::Lambertian,
]; ];
let mode_label_list = [ let mode_label_list = [
&self self
.localized_strings .localized_strings
.get("hud.settings.lighting_rendering_mode.ashikhmin"), .get("hud.settings.lighting_rendering_mode.ashikhmin"),
&self self
.localized_strings .localized_strings
.get("hud.settings.lighting_rendering_mode.blinnphong"), .get("hud.settings.lighting_rendering_mode.blinnphong"),
&self self
.localized_strings .localized_strings
.get("hud.settings.lighting_rendering_mode.lambertian"), .get("hud.settings.lighting_rendering_mode.lambertian"),
]; ];
@ -834,7 +834,7 @@ impl<'a> Widget for Video<'a> {
// ShadowMode // ShadowMode
Text::new( Text::new(
&self self
.localized_strings .localized_strings
.get("hud.settings.shadow_rendering_mode"), .get("hud.settings.shadow_rendering_mode"),
) )
@ -851,13 +851,13 @@ impl<'a> Widget for Video<'a> {
ShadowMode::Map(shadow_map_mode.unwrap_or_default()), ShadowMode::Map(shadow_map_mode.unwrap_or_default()),
]; ];
let mode_label_list = [ let mode_label_list = [
&self self
.localized_strings .localized_strings
.get("hud.settings.shadow_rendering_mode.none"), .get("hud.settings.shadow_rendering_mode.none"),
&self self
.localized_strings .localized_strings
.get("hud.settings.shadow_rendering_mode.cheap"), .get("hud.settings.shadow_rendering_mode.cheap"),
&self self
.localized_strings .localized_strings
.get("hud.settings.shadow_rendering_mode.map"), .get("hud.settings.shadow_rendering_mode.map"),
]; ];
@ -882,7 +882,7 @@ impl<'a> Widget for Video<'a> {
if let Some(shadow_map_mode) = shadow_map_mode { if let Some(shadow_map_mode) = shadow_map_mode {
// Display the shadow map mode if selected. // Display the shadow map mode if selected.
Text::new( Text::new(
&self self
.localized_strings .localized_strings
.get("hud.settings.shadow_rendering_mode.map.resolution"), .get("hud.settings.shadow_rendering_mode.map.resolution"),
) )
@ -925,7 +925,7 @@ impl<'a> Widget for Video<'a> {
} }
// GPU Profiler // GPU Profiler
Text::new(&self.localized_strings.get("hud.settings.gpu_profiler")) Text::new(self.localized_strings.get("hud.settings.gpu_profiler"))
.font_size(self.fonts.cyri.scale(14)) .font_size(self.fonts.cyri.scale(14))
.font_id(self.fonts.cyri.conrod_id) .font_id(self.fonts.cyri.conrod_id)
.down_from(state.ids.shadow_mode_list, 8.0) .down_from(state.ids.shadow_mode_list, 8.0)
@ -951,7 +951,7 @@ impl<'a> Widget for Video<'a> {
} }
// Particles // Particles
Text::new(&self.localized_strings.get("hud.settings.particles")) Text::new(self.localized_strings.get("hud.settings.particles"))
.font_size(self.fonts.cyri.scale(14)) .font_size(self.fonts.cyri.scale(14))
.font_id(self.fonts.cyri.conrod_id) .font_id(self.fonts.cyri.conrod_id)
.down_from(state.ids.gpu_profiler_label, 8.0) .down_from(state.ids.gpu_profiler_label, 8.0)
@ -975,7 +975,7 @@ impl<'a> Widget for Video<'a> {
// Lossy terrain compression // Lossy terrain compression
Text::new( Text::new(
&self self
.localized_strings .localized_strings
.get("hud.settings.lossy_terrain_compression"), .get("hud.settings.lossy_terrain_compression"),
) )
@ -1021,7 +1021,7 @@ impl<'a> Widget for Video<'a> {
.dedup() .dedup()
.collect(); .collect();
Text::new(&self.localized_strings.get("hud.settings.resolution")) Text::new(self.localized_strings.get("hud.settings.resolution"))
.font_size(self.fonts.cyri.scale(14)) .font_size(self.fonts.cyri.scale(14))
.font_id(self.fonts.cyri.conrod_id) .font_id(self.fonts.cyri.conrod_id)
.down_from(state.ids.particles_label, 8.0) .down_from(state.ids.particles_label, 8.0)
@ -1080,7 +1080,7 @@ impl<'a> Widget for Video<'a> {
.dedup() .dedup()
.collect(); .collect();
Text::new(&self.localized_strings.get("hud.settings.bit_depth")) Text::new(self.localized_strings.get("hud.settings.bit_depth"))
.font_size(self.fonts.cyri.scale(14)) .font_size(self.fonts.cyri.scale(14))
.font_id(self.fonts.cyri.conrod_id) .font_id(self.fonts.cyri.conrod_id)
.down_from(state.ids.particles_label, 8.0) .down_from(state.ids.particles_label, 8.0)
@ -1134,7 +1134,7 @@ impl<'a> Widget for Video<'a> {
.dedup() .dedup()
.collect(); .collect();
Text::new(&self.localized_strings.get("hud.settings.refresh_rate")) Text::new(self.localized_strings.get("hud.settings.refresh_rate"))
.font_size(self.fonts.cyri.scale(14)) .font_size(self.fonts.cyri.scale(14))
.font_id(self.fonts.cyri.conrod_id) .font_id(self.fonts.cyri.conrod_id)
.down_from(state.ids.particles_label, 8.0) .down_from(state.ids.particles_label, 8.0)
@ -1174,7 +1174,7 @@ impl<'a> Widget for Video<'a> {
} }
// Fullscreen // Fullscreen
Text::new(&self.localized_strings.get("hud.settings.fullscreen")) Text::new(self.localized_strings.get("hud.settings.fullscreen"))
.font_size(self.fonts.cyri.scale(14)) .font_size(self.fonts.cyri.scale(14))
.font_id(self.fonts.cyri.conrod_id) .font_id(self.fonts.cyri.conrod_id)
.down_from(state.ids.resolution, 8.0) .down_from(state.ids.resolution, 8.0)
@ -1200,7 +1200,7 @@ impl<'a> Widget for Video<'a> {
} }
// Fullscreen Mode // Fullscreen Mode
Text::new(&self.localized_strings.get("hud.settings.fullscreen_mode")) Text::new(self.localized_strings.get("hud.settings.fullscreen_mode"))
.down_from(state.ids.fullscreen_label, 8.0) .down_from(state.ids.fullscreen_label, 8.0)
.font_size(self.fonts.cyri.scale(14)) .font_size(self.fonts.cyri.scale(14))
.font_id(self.fonts.cyri.conrod_id) .font_id(self.fonts.cyri.conrod_id)
@ -1242,7 +1242,7 @@ impl<'a> Widget for Video<'a> {
.hover_image(self.imgs.button_hover) .hover_image(self.imgs.button_hover)
.press_image(self.imgs.button_press) .press_image(self.imgs.button_press)
.down_from(state.ids.fullscreen_mode_list, 12.0) .down_from(state.ids.fullscreen_mode_list, 12.0)
.label(&self.localized_strings.get("hud.settings.save_window_size")) .label(self.localized_strings.get("hud.settings.save_window_size"))
.label_font_size(self.fonts.cyri.scale(14)) .label_font_size(self.fonts.cyri.scale(14))
.label_color(TEXT_COLOR) .label_color(TEXT_COLOR)
.label_font_id(self.fonts.cyri.conrod_id) .label_font_id(self.fonts.cyri.conrod_id)
@ -1266,7 +1266,7 @@ impl<'a> Widget for Video<'a> {
.press_image(self.imgs.button_press) .press_image(self.imgs.button_press)
.down_from(state.ids.fullscreen_mode_list, 12.0) .down_from(state.ids.fullscreen_mode_list, 12.0)
.right_from(state.ids.save_window_size_button, 12.0) .right_from(state.ids.save_window_size_button, 12.0)
.label(&self.localized_strings.get("hud.settings.reset_graphics")) .label(self.localized_strings.get("hud.settings.reset_graphics"))
.label_font_size(self.fonts.cyri.scale(14)) .label_font_size(self.fonts.cyri.scale(14))
.label_color(TEXT_COLOR) .label_color(TEXT_COLOR)
.label_font_id(self.fonts.cyri.conrod_id) .label_font_id(self.fonts.cyri.conrod_id)

View File

@ -258,7 +258,7 @@ impl<'a> Widget for Skillbar<'a> {
.controls .controls
.get_binding(GameInput::Respawn) .get_binding(GameInput::Respawn)
{ {
Text::new(&localized_strings.get("hud.you_died")) Text::new(localized_strings.get("hud.you_died"))
.middle_of(ui.window) .middle_of(ui.window)
.font_size(self.fonts.cyri.scale(50)) .font_size(self.fonts.cyri.scale(50))
.font_id(self.fonts.cyri.conrod_id) .font_id(self.fonts.cyri.conrod_id)
@ -274,7 +274,7 @@ impl<'a> Widget for Skillbar<'a> {
.font_id(self.fonts.cyri.conrod_id) .font_id(self.fonts.cyri.conrod_id)
.color(Color::Rgba(0.0, 0.0, 0.0, 1.0)) .color(Color::Rgba(0.0, 0.0, 0.0, 1.0))
.set(state.ids.death_message_2_bg, ui); .set(state.ids.death_message_2_bg, ui);
Text::new(&localized_strings.get("hud.you_died")) Text::new(localized_strings.get("hud.you_died"))
.bottom_left_with_margins_on(state.ids.death_message_1_bg, 2.0, 2.0) .bottom_left_with_margins_on(state.ids.death_message_1_bg, 2.0, 2.0)
.font_size(self.fonts.cyri.scale(50)) .font_size(self.fonts.cyri.scale(50))
.font_id(self.fonts.cyri.conrod_id) .font_id(self.fonts.cyri.conrod_id)

View File

@ -164,7 +164,7 @@ impl<'a> Widget for Social<'a> {
Rectangle::fill_with([212.0, 42.0], color::TRANSPARENT) Rectangle::fill_with([212.0, 42.0], color::TRANSPARENT)
.top_left_with_margins_on(state.ids.frame, 2.0, 44.0) .top_left_with_margins_on(state.ids.frame, 2.0, 44.0)
.set(state.ids.title_align, ui); .set(state.ids.title_align, ui);
Text::new(&self.localized_strings.get("hud.social")) Text::new(self.localized_strings.get("hud.social"))
.middle_of(state.ids.title_align) .middle_of(state.ids.title_align)
.font_id(self.fonts.cyri.conrod_id) .font_id(self.fonts.cyri.conrod_id)
.font_size(self.fonts.cyri.scale(20)) .font_size(self.fonts.cyri.scale(20))
@ -189,7 +189,7 @@ impl<'a> Widget for Social<'a> {
.set(state.ids.scrollbar, ui); .set(state.ids.scrollbar, ui);
// Online Text // Online Text
Text::new(&self.localized_strings.get("hud.social.online")) Text::new(self.localized_strings.get("hud.social.online"))
.bottom_left_with_margins_on(state.ids.frame, 18.0, 10.0) .bottom_left_with_margins_on(state.ids.frame, 18.0, 10.0)
.font_id(self.fonts.cyri.conrod_id) .font_id(self.fonts.cyri.conrod_id)
.font_size(self.fonts.cyri.scale(14)) .font_size(self.fonts.cyri.scale(14))

View File

@ -116,13 +116,13 @@ impl<'a> Trade<'a> {
} }
fn title(&mut self, state: &mut ConrodState<'_, State>, ui: &mut UiCell<'_>) { fn title(&mut self, state: &mut ConrodState<'_, State>, ui: &mut UiCell<'_>) {
Text::new(&self.localized_strings.get("hud.trade.trade_window")) Text::new(self.localized_strings.get("hud.trade.trade_window"))
.mid_top_with_margin_on(state.ids.bg_frame, 9.0) .mid_top_with_margin_on(state.ids.bg_frame, 9.0)
.font_id(self.fonts.cyri.conrod_id) .font_id(self.fonts.cyri.conrod_id)
.font_size(self.fonts.cyri.scale(20)) .font_size(self.fonts.cyri.scale(20))
.color(Color::Rgba(0.0, 0.0, 0.0, 1.0)) .color(Color::Rgba(0.0, 0.0, 0.0, 1.0))
.set(state.ids.trade_title_bg, ui); .set(state.ids.trade_title_bg, ui);
Text::new(&self.localized_strings.get("hud.trade.trade_window")) Text::new(self.localized_strings.get("hud.trade.trade_window"))
.top_left_with_margins_on(state.ids.trade_title_bg, 2.0, 2.0) .top_left_with_margins_on(state.ids.trade_title_bg, 2.0, 2.0)
.font_id(self.fonts.cyri.conrod_id) .font_id(self.fonts.cyri.conrod_id)
.font_size(self.fonts.cyri.scale(20)) .font_size(self.fonts.cyri.scale(20))
@ -142,7 +142,7 @@ impl<'a> Trade<'a> {
TradePhase::Complete => self.localized_strings.get("hud.trade.phase3_description"), TradePhase::Complete => self.localized_strings.get("hud.trade.phase3_description"),
}; };
Text::new(&phase_text) Text::new(phase_text)
.mid_top_with_margin_on(state.ids.bg, 70.0) .mid_top_with_margin_on(state.ids.bg, 70.0)
.font_id(self.fonts.cyri.conrod_id) .font_id(self.fonts.cyri.conrod_id)
.font_size(self.fonts.cyri.scale(20)) .font_size(self.fonts.cyri.scale(20))
@ -314,7 +314,7 @@ impl<'a> Trade<'a> {
name, name,
entity, entity,
false, false,
&inventory, inventory,
&state.bg_ids, &state.bg_ids,
) )
.set(state.ids.inventory_scroller, ui); .set(state.ids.inventory_scroller, ui);
@ -462,7 +462,7 @@ impl<'a> Trade<'a> {
.hover_image(self.imgs.button_hover) .hover_image(self.imgs.button_hover)
.press_image(self.imgs.button_press) .press_image(self.imgs.button_press)
.bottom_left_with_margins_on(state.ids.bg, 80.0, 60.0) .bottom_left_with_margins_on(state.ids.bg, 80.0, 60.0)
.label(&self.localized_strings.get("hud.trade.accept")) .label(self.localized_strings.get("hud.trade.accept"))
.label_font_size(self.fonts.cyri.scale(14)) .label_font_size(self.fonts.cyri.scale(14))
.label_color(TEXT_COLOR) .label_color(TEXT_COLOR)
.label_font_id(self.fonts.cyri.conrod_id) .label_font_id(self.fonts.cyri.conrod_id)
@ -478,7 +478,7 @@ impl<'a> Trade<'a> {
.hover_image(self.imgs.button_hover) .hover_image(self.imgs.button_hover)
.press_image(self.imgs.button_press) .press_image(self.imgs.button_press)
.right_from(state.ids.accept_button, 20.0) .right_from(state.ids.accept_button, 20.0)
.label(&self.localized_strings.get("hud.trade.decline")) .label(self.localized_strings.get("hud.trade.decline"))
.label_font_size(self.fonts.cyri.scale(14)) .label_font_size(self.fonts.cyri.scale(14))
.label_color(TEXT_COLOR) .label_color(TEXT_COLOR)
.label_font_id(self.fonts.cyri.conrod_id) .label_font_id(self.fonts.cyri.conrod_id)
@ -558,16 +558,16 @@ impl<'a> Widget for Trade<'a> {
self.background(&mut state, ui); self.background(&mut state, ui);
self.title(&mut state, ui); self.title(&mut state, ui);
self.phase_indicator(&mut state, ui, &trade); self.phase_indicator(&mut state, ui, trade);
event = self event = self
.item_pane(&mut state, ui, &trade, &prices, false) .item_pane(&mut state, ui, trade, prices, false)
.or(event); .or(event);
event = self event = self
.item_pane(&mut state, ui, &trade, &prices, true) .item_pane(&mut state, ui, trade, prices, true)
.or(event); .or(event);
event = self event = self
.accept_decline_buttons(&mut state, ui, &trade) .accept_decline_buttons(&mut state, ui, trade)
.or(event); .or(event);
event = self.close_button(&mut state, ui).or(event); event = self.close_button(&mut state, ui).or(event);

View File

@ -56,11 +56,11 @@ pub fn price_desc(
pub fn kind_text<'a>(kind: &ItemKind, i18n: &'a Localization) -> Cow<'a, str> { pub fn kind_text<'a>(kind: &ItemKind, i18n: &'a Localization) -> Cow<'a, str> {
match kind { match kind {
ItemKind::Armor(armor) => Cow::Borrowed(armor_kind(&armor, &i18n)), ItemKind::Armor(armor) => Cow::Borrowed(armor_kind(armor, i18n)),
ItemKind::Tool(tool) => Cow::Owned(format!( ItemKind::Tool(tool) => Cow::Owned(format!(
"{} ({})", "{} ({})",
tool_kind(&tool, i18n), tool_kind(tool, i18n),
tool_hands(&tool, i18n) tool_hands(tool, i18n)
)), )),
ItemKind::ModularComponent(_mc) => Cow::Borrowed(i18n.get("common.bag.shoulders")), ItemKind::ModularComponent(_mc) => Cow::Borrowed(i18n.get("common.bag.shoulders")),
ItemKind::Glider(_glider) => Cow::Borrowed(i18n.get("common.kind.glider")), ItemKind::Glider(_glider) => Cow::Borrowed(i18n.get("common.kind.glider")),

View File

@ -50,7 +50,7 @@ fn main() {
let panic_info_payload = panic_info.payload(); let panic_info_payload = panic_info.payload();
let payload_string = panic_info_payload.downcast_ref::<String>(); let payload_string = panic_info_payload.downcast_ref::<String>();
let reason = match payload_string { let reason = match payload_string {
Some(s) => &s, Some(s) => s,
None => { None => {
let payload_str = panic_info_payload.downcast_ref::<&str>(); let payload_str = panic_info_payload.downcast_ref::<&str>();
match payload_str { match payload_str {

View File

@ -1158,7 +1158,7 @@ impl Controls {
TextInput::new( TextInput::new(
name_input, name_input,
i18n.get("character_window.character_name"), i18n.get("character_window.character_name"),
&name, name,
Message::Name, Message::Name,
) )
.size(25) .size(25)
@ -1568,7 +1568,7 @@ impl CharSelectionUi {
let (mut messages, _) = self.ui.maintain( let (mut messages, _) = self.ui.maintain(
self.controls self.controls
.view(&global_state.settings, &client, &self.error, &i18n), .view(&global_state.settings, client, &self.error, &i18n),
global_state.window.renderer_mut(), global_state.window.renderer_mut(),
None, None,
&mut global_state.clipboard, &mut global_state.clipboard,

View File

@ -16,6 +16,7 @@ use tokio::runtime;
use tracing::{trace, warn}; use tracing::{trace, warn};
#[derive(Debug)] #[derive(Debug)]
#[allow(clippy::enum_variant_names)] //TODO: evaluate ClientError ends with Enum name
pub enum Error { pub enum Error {
ClientError { ClientError {
error: ClientError, error: ClientError,

View File

@ -289,7 +289,7 @@ impl Controls {
} => screen.view( } => screen.view(
&self.fonts, &self.fonts,
&self.imgs, &self.imgs,
&connection_state, connection_state,
self.time, self.time,
&self.i18n.read(), &self.i18n.read(),
button_style, button_style,
@ -486,7 +486,7 @@ impl MainMenuUi {
) )
.unwrap(); .unwrap();
let fonts = Fonts::load(&i18n.fonts(), &mut ui).expect("Impossible to load fonts"); let fonts = Fonts::load(i18n.fonts(), &mut ui).expect("Impossible to load fonts");
let bg_img_spec = BG_IMGS.choose(&mut thread_rng()).unwrap(); let bg_img_spec = BG_IMGS.choose(&mut thread_rng()).unwrap();
@ -508,7 +508,7 @@ impl MainMenuUi {
let font = load_font(&i18n.fonts().get("cyri").unwrap().asset_key); let font = load_font(&i18n.fonts().get("cyri").unwrap().asset_key);
self.ui.clear_fonts(font); self.ui.clear_fonts(font);
self.controls.fonts = self.controls.fonts =
Fonts::load(&i18n.fonts(), &mut self.ui).expect("Impossible to load fonts!"); Fonts::load(i18n.fonts(), &mut self.ui).expect("Impossible to load fonts!");
let language_metadatas = crate::i18n::list_localizations(); let language_metadatas = crate::i18n::list_localizations();
self.controls.selected_language_index = language_metadatas self.controls.selected_language_index = language_metadatas
.iter() .iter()

View File

@ -120,7 +120,7 @@ pub fn create_col_lights(
&texture_info, &texture_info,
&view_info, &view_info,
&sampler_info, &sampler_info,
bytemuck::cast_slice(&col_lights), bytemuck::cast_slice(col_lights),
) )
} }

View File

@ -85,7 +85,7 @@ pub(in super::super) fn create_verts_buffer(
) -> SpriteVerts { ) -> SpriteVerts {
// TODO: type Buffer by wgpu::BufferUsage // TODO: type Buffer by wgpu::BufferUsage
SpriteVerts(Buffer::new( SpriteVerts(Buffer::new(
&device, device,
wgpu::BufferUsage::STORAGE, wgpu::BufferUsage::STORAGE,
mesh.vertices(), mesh.vertices(),
)) ))

View File

@ -1099,7 +1099,7 @@ impl Renderer {
sampler_info: &wgpu::SamplerDescriptor, sampler_info: &wgpu::SamplerDescriptor,
data: &[u8], data: &[u8],
) -> Texture { ) -> Texture {
let tex = Texture::new_raw(&self.device, &texture_info, &view_info, &sampler_info); let tex = Texture::new_raw(&self.device, texture_info, view_info, sampler_info);
let size = texture_info.size; let size = texture_info.size;
let block_size = texture_info.format.describe().block_size; let block_size = texture_info.format.describe().block_size;

View File

@ -484,7 +484,7 @@ impl<'frame> Drop for Drawer<'frame> {
}, },
); );
render_pass.set_pipeline(&blit.pipeline); render_pass.set_pipeline(&blit.pipeline);
render_pass.set_bind_group(0, &screenshot.bind_group(), &[]); render_pass.set_bind_group(0, screenshot.bind_group(), &[]);
render_pass.draw(0..3, 0..1); render_pass.draw(0..3, 0..1);
drop(render_pass); drop(render_pass);
// Issues a command to copy from the texture to a buffer and then sends the // Issues a command to copy from the texture to a buffer and then sends the
@ -518,7 +518,7 @@ impl<'pass> ShadowPassDrawer<'pass> {
.scope("direcred_figure_shadows", self.borrow.device); .scope("direcred_figure_shadows", self.borrow.device);
render_pass.set_pipeline(&self.shadow_renderer.figure_directed_pipeline.pipeline); render_pass.set_pipeline(&self.shadow_renderer.figure_directed_pipeline.pipeline);
set_quad_index_buffer::<terrain::Vertex>(&mut render_pass, &self.borrow); set_quad_index_buffer::<terrain::Vertex>(&mut render_pass, self.borrow);
FigureShadowDrawer { render_pass } FigureShadowDrawer { render_pass }
} }
@ -529,7 +529,7 @@ impl<'pass> ShadowPassDrawer<'pass> {
.scope("direcred_terrain_shadows", self.borrow.device); .scope("direcred_terrain_shadows", self.borrow.device);
render_pass.set_pipeline(&self.shadow_renderer.terrain_directed_pipeline.pipeline); render_pass.set_pipeline(&self.shadow_renderer.terrain_directed_pipeline.pipeline);
set_quad_index_buffer::<terrain::Vertex>(&mut render_pass, &self.borrow); set_quad_index_buffer::<terrain::Vertex>(&mut render_pass, self.borrow);
TerrainShadowDrawer { render_pass } TerrainShadowDrawer { render_pass }
} }
@ -583,7 +583,7 @@ impl<'pass> FirstPassDrawer<'pass> {
let mut render_pass = self.render_pass.scope("skybox", self.borrow.device); let mut render_pass = self.render_pass.scope("skybox", self.borrow.device);
render_pass.set_pipeline(&self.pipelines.skybox.pipeline); render_pass.set_pipeline(&self.pipelines.skybox.pipeline);
set_quad_index_buffer::<skybox::Vertex>(&mut render_pass, &self.borrow); set_quad_index_buffer::<skybox::Vertex>(&mut render_pass, self.borrow);
render_pass.set_vertex_buffer(0, model.buf().slice(..)); render_pass.set_vertex_buffer(0, model.buf().slice(..));
render_pass.draw(0..model.len() as u32, 0..1); render_pass.draw(0..model.len() as u32, 0..1);
} }
@ -592,7 +592,7 @@ impl<'pass> FirstPassDrawer<'pass> {
let mut render_pass = self.render_pass.scope("debug", self.borrow.device); let mut render_pass = self.render_pass.scope("debug", self.borrow.device);
render_pass.set_pipeline(&self.pipelines.debug.pipeline); render_pass.set_pipeline(&self.pipelines.debug.pipeline);
set_quad_index_buffer::<debug::Vertex>(&mut render_pass, &self.borrow); set_quad_index_buffer::<debug::Vertex>(&mut render_pass, self.borrow);
DebugDrawer { DebugDrawer {
render_pass, render_pass,
@ -604,7 +604,7 @@ impl<'pass> FirstPassDrawer<'pass> {
let mut render_pass = self.render_pass.scope("lod_terrain", self.borrow.device); let mut render_pass = self.render_pass.scope("lod_terrain", self.borrow.device);
render_pass.set_pipeline(&self.pipelines.lod_terrain.pipeline); render_pass.set_pipeline(&self.pipelines.lod_terrain.pipeline);
set_quad_index_buffer::<lod_terrain::Vertex>(&mut render_pass, &self.borrow); set_quad_index_buffer::<lod_terrain::Vertex>(&mut render_pass, self.borrow);
render_pass.set_vertex_buffer(0, model.buf().slice(..)); render_pass.set_vertex_buffer(0, model.buf().slice(..));
render_pass.draw_indexed(0..model.len() as u32 / 4 * 6, 0, 0..1); render_pass.draw_indexed(0..model.len() as u32 / 4 * 6, 0, 0..1);
} }
@ -614,7 +614,7 @@ impl<'pass> FirstPassDrawer<'pass> {
render_pass.set_pipeline(&self.pipelines.figure.pipeline); render_pass.set_pipeline(&self.pipelines.figure.pipeline);
// Note: figures use the same vertex type as the terrain // Note: figures use the same vertex type as the terrain
set_quad_index_buffer::<terrain::Vertex>(&mut render_pass, &self.borrow); set_quad_index_buffer::<terrain::Vertex>(&mut render_pass, self.borrow);
FigureDrawer { render_pass } FigureDrawer { render_pass }
} }
@ -623,7 +623,7 @@ impl<'pass> FirstPassDrawer<'pass> {
let mut render_pass = self.render_pass.scope("terrain", self.borrow.device); let mut render_pass = self.render_pass.scope("terrain", self.borrow.device);
render_pass.set_pipeline(&self.pipelines.terrain.pipeline); render_pass.set_pipeline(&self.pipelines.terrain.pipeline);
set_quad_index_buffer::<terrain::Vertex>(&mut render_pass, &self.borrow); set_quad_index_buffer::<terrain::Vertex>(&mut render_pass, self.borrow);
TerrainDrawer { TerrainDrawer {
render_pass, render_pass,
@ -635,7 +635,7 @@ impl<'pass> FirstPassDrawer<'pass> {
let mut render_pass = self.render_pass.scope("particles", self.borrow.device); let mut render_pass = self.render_pass.scope("particles", self.borrow.device);
render_pass.set_pipeline(&self.pipelines.particle.pipeline); render_pass.set_pipeline(&self.pipelines.particle.pipeline);
set_quad_index_buffer::<particle::Vertex>(&mut render_pass, &self.borrow); set_quad_index_buffer::<particle::Vertex>(&mut render_pass, self.borrow);
ParticleDrawer { render_pass } ParticleDrawer { render_pass }
} }
@ -648,7 +648,7 @@ impl<'pass> FirstPassDrawer<'pass> {
let mut render_pass = self.render_pass.scope("sprites", self.borrow.device); let mut render_pass = self.render_pass.scope("sprites", self.borrow.device);
render_pass.set_pipeline(&self.pipelines.sprite.pipeline); render_pass.set_pipeline(&self.pipelines.sprite.pipeline);
set_quad_index_buffer::<sprite::Vertex>(&mut render_pass, &self.borrow); set_quad_index_buffer::<sprite::Vertex>(&mut render_pass, self.borrow);
render_pass.set_bind_group(0, &globals.bind_group, &[]); render_pass.set_bind_group(0, &globals.bind_group, &[]);
render_pass.set_bind_group(2, &col_lights.bind_group, &[]); render_pass.set_bind_group(2, &col_lights.bind_group, &[]);
@ -662,7 +662,7 @@ impl<'pass> FirstPassDrawer<'pass> {
let mut render_pass = self.render_pass.scope("fluid", self.borrow.device); let mut render_pass = self.render_pass.scope("fluid", self.borrow.device);
render_pass.set_pipeline(&self.pipelines.fluid.pipeline); render_pass.set_pipeline(&self.pipelines.fluid.pipeline);
set_quad_index_buffer::<fluid::Vertex>(&mut render_pass, &self.borrow); set_quad_index_buffer::<fluid::Vertex>(&mut render_pass, self.borrow);
FluidDrawer { render_pass } FluidDrawer { render_pass }
} }
@ -857,7 +857,7 @@ impl<'pass> ThirdPassDrawer<'pass> {
let mut render_pass = self.render_pass.scope("ui", self.borrow.device); let mut render_pass = self.render_pass.scope("ui", self.borrow.device);
render_pass.set_pipeline(&ui.pipeline); render_pass.set_pipeline(&ui.pipeline);
set_quad_index_buffer::<ui::Vertex>(&mut render_pass, &self.borrow); set_quad_index_buffer::<ui::Vertex>(&mut render_pass, self.borrow);
Some(UiDrawer { render_pass }) Some(UiDrawer { render_pass })
} }

View File

@ -733,7 +733,7 @@ pub(super) fn initial_create_pipelines(
sc_desc: &sc_desc, sc_desc: &sc_desc,
}; };
let pipelines = create_ingame_and_shadow_pipelines(needs, &pool, progress.create_tasks()); let pipelines = create_ingame_and_shadow_pipelines(needs, pool, progress.create_tasks());
pipeline_send.send(pipelines).expect("Channel disconnected"); pipeline_send.send(pipelines).expect("Channel disconnected");
}); });
@ -798,11 +798,11 @@ pub(super) fn recreate_pipelines(
}; };
// Create interface pipelines // Create interface pipelines
let interface = create_interface_pipelines(needs, &pool, interface_tasks); let interface = create_interface_pipelines(needs, pool, interface_tasks);
// Create the rest of the pipelines // Create the rest of the pipelines
let IngameAndShadowPipelines { ingame, shadow } = let IngameAndShadowPipelines { ingame, shadow } =
create_ingame_and_shadow_pipelines(needs, &pool, ingame_and_shadow_tasks); create_ingame_and_shadow_pipelines(needs, pool, ingame_and_shadow_tasks);
// Send them // Send them
result_send result_send
@ -843,7 +843,7 @@ impl Progress {
/// total reflects the amount of tasks that will need to be completed /// total reflects the amount of tasks that will need to be completed
pub fn create_task(&self) -> Task { pub fn create_task(&self) -> Task {
self.total.fetch_add(1, Ordering::Relaxed); self.total.fetch_add(1, Ordering::Relaxed);
Task { progress: &self } Task { progress: self }
} }
/// Helper method for creating tasks to do in bulk /// Helper method for creating tasks to do in bulk

View File

@ -43,7 +43,7 @@ impl ShadowMap {
{ {
let (point_depth, directed_depth) = shadow_views; let (point_depth, directed_depth) = shadow_views;
let layout = shadow::ShadowLayout::new(&device); let layout = shadow::ShadowLayout::new(device);
Self::Enabled(ShadowMapRenderer { Self::Enabled(ShadowMapRenderer {
directed_depth, directed_depth,
@ -56,7 +56,7 @@ impl ShadowMap {
layout, layout,
}) })
} else { } else {
let (dummy_point, dummy_directed) = Self::create_dummy_shadow_tex(&device, &queue); let (dummy_point, dummy_directed) = Self::create_dummy_shadow_tex(device, queue);
Self::Disabled { Self::Disabled {
dummy_point, dummy_point,
dummy_directed, dummy_directed,

View File

@ -470,7 +470,7 @@ impl Camera {
// This is horribly frame time dependent, but so is most of the game // This is horribly frame time dependent, but so is most of the game
let delta = self.last_time.replace(time).map_or(0.0, |t| time - t); let delta = self.last_time.replace(time).map_or(0.0, |t| time - t);
if (self.dist - self.tgt_dist).abs() > 0.01 { if (self.dist - self.tgt_dist).abs() > 0.01 {
self.dist = f32::lerp( self.dist = vek::Lerp::lerp(
self.dist, self.dist,
self.tgt_dist, self.tgt_dist,
0.65 * (delta as f32) / self.interp_time(), 0.65 * (delta as f32) / self.interp_time(),
@ -478,7 +478,7 @@ impl Camera {
} }
if (self.fov - self.tgt_fov).abs() > 0.01 { if (self.fov - self.tgt_fov).abs() > 0.01 {
self.fov = f32::lerp( self.fov = vek::Lerp::lerp(
self.fov, self.fov,
self.tgt_fov, self.tgt_fov,
0.65 * (delta as f32) / self.interp_time(), 0.65 * (delta as f32) / self.interp_time(),

View File

@ -41,7 +41,7 @@ fn graceful_load_vox(mesh_name: &str) -> AssetHandle<DotVoxAsset> {
graceful_load_vox_fullspec(&full_specifier) graceful_load_vox_fullspec(&full_specifier)
} }
fn graceful_load_vox_fullspec(full_specifier: &str) -> AssetHandle<DotVoxAsset> { fn graceful_load_vox_fullspec(full_specifier: &str) -> AssetHandle<DotVoxAsset> {
match DotVoxAsset::load(&full_specifier) { match DotVoxAsset::load(full_specifier) {
Ok(dot_vox) => dot_vox, Ok(dot_vox) => dot_vox,
Err(_) => { Err(_) => {
error!(?full_specifier, "Could not load vox file for figure"); error!(?full_specifier, "Could not load vox file for figure");
@ -880,11 +880,11 @@ impl HumMainWeaponSpec {
use ModularComponentSpec::*; use ModularComponentSpec::*;
let damagespec = match modular_components.0.get(&*damage) { let damagespec = match modular_components.0.get(&*damage) {
Some(Damage(spec)) => spec, Some(Damage(spec)) => spec,
_ => return not_found(&damage), _ => return not_found(damage),
}; };
let heldspec = match modular_components.0.get(&*held) { let heldspec = match modular_components.0.get(&*held) {
Some(Held(spec)) => spec, Some(Held(spec)) => spec,
_ => return not_found(&held), _ => return not_found(held),
}; };
let damage_asset = graceful_load_vox(&damagespec.0).read(); let damage_asset = graceful_load_vox(&damagespec.0).read();
let held_asset = graceful_load_vox(&heldspec.0).read(); let held_asset = graceful_load_vox(&heldspec.0).read();
@ -4494,7 +4494,7 @@ make_vox_spec!(
impl ObjectCentralSpec { impl ObjectCentralSpec {
fn mesh_bone0(&self, obj: &object::Body) -> BoneMeshes { fn mesh_bone0(&self, obj: &object::Body) -> BoneMeshes {
let spec = match self.0.get(&obj) { let spec = match self.0.get(obj) {
Some(spec) => spec, Some(spec) => spec,
None => { None => {
error!("No specification exists for {:?}", obj); error!("No specification exists for {:?}", obj);
@ -4507,7 +4507,7 @@ impl ObjectCentralSpec {
} }
fn mesh_bone1(&self, obj: &object::Body) -> BoneMeshes { fn mesh_bone1(&self, obj: &object::Body) -> BoneMeshes {
let spec = match self.0.get(&obj) { let spec = match self.0.get(obj) {
Some(spec) => spec, Some(spec) => spec,
None => { None => {
error!("No specification exists for {:?}", obj); error!("No specification exists for {:?}", obj);
@ -4525,7 +4525,7 @@ fn mesh_ship_bone<K: fmt::Debug + Eq + Hash, V, F: Fn(&V) -> &ShipCentralSubSpec
obj: &K, obj: &K,
f: F, f: F,
) -> BoneMeshes { ) -> BoneMeshes {
let spec = match map.get(&obj) { let spec = match map.get(obj) {
Some(spec) => spec, Some(spec) => spec,
None => { None => {
error!("No specification exists for {:?}", obj); error!("No specification exists for {:?}", obj);

View File

@ -148,52 +148,52 @@ impl FigureMgrStates {
match body { match body {
Body::Humanoid(_) => self Body::Humanoid(_) => self
.character_states .character_states
.get_mut(&entity) .get_mut(entity)
.map(DerefMut::deref_mut), .map(DerefMut::deref_mut),
Body::QuadrupedSmall(_) => self Body::QuadrupedSmall(_) => self
.quadruped_small_states .quadruped_small_states
.get_mut(&entity) .get_mut(entity)
.map(DerefMut::deref_mut), .map(DerefMut::deref_mut),
Body::QuadrupedMedium(_) => self Body::QuadrupedMedium(_) => self
.quadruped_medium_states .quadruped_medium_states
.get_mut(&entity) .get_mut(entity)
.map(DerefMut::deref_mut), .map(DerefMut::deref_mut),
Body::QuadrupedLow(_) => self Body::QuadrupedLow(_) => self
.quadruped_low_states .quadruped_low_states
.get_mut(&entity) .get_mut(entity)
.map(DerefMut::deref_mut), .map(DerefMut::deref_mut),
Body::BirdMedium(_) => self Body::BirdMedium(_) => self
.bird_medium_states .bird_medium_states
.get_mut(&entity) .get_mut(entity)
.map(DerefMut::deref_mut), .map(DerefMut::deref_mut),
Body::FishMedium(_) => self Body::FishMedium(_) => self
.fish_medium_states .fish_medium_states
.get_mut(&entity) .get_mut(entity)
.map(DerefMut::deref_mut), .map(DerefMut::deref_mut),
Body::Theropod(_) => self Body::Theropod(_) => self
.theropod_states .theropod_states
.get_mut(&entity) .get_mut(entity)
.map(DerefMut::deref_mut), .map(DerefMut::deref_mut),
Body::Dragon(_) => self.dragon_states.get_mut(&entity).map(DerefMut::deref_mut), Body::Dragon(_) => self.dragon_states.get_mut(entity).map(DerefMut::deref_mut),
Body::BirdLarge(_) => self Body::BirdLarge(_) => self
.bird_large_states .bird_large_states
.get_mut(&entity) .get_mut(entity)
.map(DerefMut::deref_mut), .map(DerefMut::deref_mut),
Body::FishSmall(_) => self Body::FishSmall(_) => self
.fish_small_states .fish_small_states
.get_mut(&entity) .get_mut(entity)
.map(DerefMut::deref_mut), .map(DerefMut::deref_mut),
Body::BipedLarge(_) => self Body::BipedLarge(_) => self
.biped_large_states .biped_large_states
.get_mut(&entity) .get_mut(entity)
.map(DerefMut::deref_mut), .map(DerefMut::deref_mut),
Body::BipedSmall(_) => self Body::BipedSmall(_) => self
.biped_small_states .biped_small_states
.get_mut(&entity) .get_mut(entity)
.map(DerefMut::deref_mut), .map(DerefMut::deref_mut),
Body::Golem(_) => self.golem_states.get_mut(&entity).map(DerefMut::deref_mut), Body::Golem(_) => self.golem_states.get_mut(entity).map(DerefMut::deref_mut),
Body::Object(_) => self.object_states.get_mut(&entity).map(DerefMut::deref_mut), Body::Object(_) => self.object_states.get_mut(entity).map(DerefMut::deref_mut),
Body::Ship(_) => self.ship_states.get_mut(&entity).map(DerefMut::deref_mut), Body::Ship(_) => self.ship_states.get_mut(entity).map(DerefMut::deref_mut),
} }
} }
@ -203,23 +203,23 @@ impl FigureMgrStates {
Q: Hash + Eq, Q: Hash + Eq,
{ {
match body { match body {
Body::Humanoid(_) => self.character_states.remove(&entity).map(|e| e.meta), Body::Humanoid(_) => self.character_states.remove(entity).map(|e| e.meta),
Body::QuadrupedSmall(_) => self.quadruped_small_states.remove(&entity).map(|e| e.meta), Body::QuadrupedSmall(_) => self.quadruped_small_states.remove(entity).map(|e| e.meta),
Body::QuadrupedMedium(_) => { Body::QuadrupedMedium(_) => {
self.quadruped_medium_states.remove(&entity).map(|e| e.meta) self.quadruped_medium_states.remove(entity).map(|e| e.meta)
}, },
Body::QuadrupedLow(_) => self.quadruped_low_states.remove(&entity).map(|e| e.meta), Body::QuadrupedLow(_) => self.quadruped_low_states.remove(entity).map(|e| e.meta),
Body::BirdMedium(_) => self.bird_medium_states.remove(&entity).map(|e| e.meta), Body::BirdMedium(_) => self.bird_medium_states.remove(entity).map(|e| e.meta),
Body::FishMedium(_) => self.fish_medium_states.remove(&entity).map(|e| e.meta), Body::FishMedium(_) => self.fish_medium_states.remove(entity).map(|e| e.meta),
Body::Theropod(_) => self.theropod_states.remove(&entity).map(|e| e.meta), Body::Theropod(_) => self.theropod_states.remove(entity).map(|e| e.meta),
Body::Dragon(_) => self.dragon_states.remove(&entity).map(|e| e.meta), Body::Dragon(_) => self.dragon_states.remove(entity).map(|e| e.meta),
Body::BirdLarge(_) => self.bird_large_states.remove(&entity).map(|e| e.meta), Body::BirdLarge(_) => self.bird_large_states.remove(entity).map(|e| e.meta),
Body::FishSmall(_) => self.fish_small_states.remove(&entity).map(|e| e.meta), Body::FishSmall(_) => self.fish_small_states.remove(entity).map(|e| e.meta),
Body::BipedLarge(_) => self.biped_large_states.remove(&entity).map(|e| e.meta), Body::BipedLarge(_) => self.biped_large_states.remove(entity).map(|e| e.meta),
Body::BipedSmall(_) => self.biped_small_states.remove(&entity).map(|e| e.meta), Body::BipedSmall(_) => self.biped_small_states.remove(entity).map(|e| e.meta),
Body::Golem(_) => self.golem_states.remove(&entity).map(|e| e.meta), Body::Golem(_) => self.golem_states.remove(entity).map(|e| e.meta),
Body::Object(_) => self.object_states.remove(&entity).map(|e| e.meta), Body::Object(_) => self.object_states.remove(entity).map(|e| e.meta),
Body::Ship(_) => self.ship_states.remove(&entity).map(|e| e.meta), Body::Ship(_) => self.ship_states.remove(entity).map(|e| e.meta),
} }
} }
@ -4998,7 +4998,7 @@ impl FigureMgr {
if let Some((bound, model_entry)) = match body { if let Some((bound, model_entry)) = match body {
Body::Humanoid(body) => character_states Body::Humanoid(body) => character_states
.get(&entity) .get(&entity)
.filter(|state| filter_state(&*state)) .filter(|state| filter_state(*state))
.map(move |state| { .map(move |state| {
( (
state.bound(), state.bound(),
@ -5014,7 +5014,7 @@ impl FigureMgr {
}), }),
Body::QuadrupedSmall(body) => quadruped_small_states Body::QuadrupedSmall(body) => quadruped_small_states
.get(&entity) .get(&entity)
.filter(|state| filter_state(&*state)) .filter(|state| filter_state(*state))
.map(move |state| { .map(move |state| {
( (
state.bound(), state.bound(),
@ -5030,7 +5030,7 @@ impl FigureMgr {
}), }),
Body::QuadrupedMedium(body) => quadruped_medium_states Body::QuadrupedMedium(body) => quadruped_medium_states
.get(&entity) .get(&entity)
.filter(|state| filter_state(&*state)) .filter(|state| filter_state(*state))
.map(move |state| { .map(move |state| {
( (
state.bound(), state.bound(),
@ -5046,7 +5046,7 @@ impl FigureMgr {
}), }),
Body::QuadrupedLow(body) => quadruped_low_states Body::QuadrupedLow(body) => quadruped_low_states
.get(&entity) .get(&entity)
.filter(|state| filter_state(&*state)) .filter(|state| filter_state(*state))
.map(move |state| { .map(move |state| {
( (
state.bound(), state.bound(),
@ -5062,7 +5062,7 @@ impl FigureMgr {
}), }),
Body::BirdMedium(body) => bird_medium_states Body::BirdMedium(body) => bird_medium_states
.get(&entity) .get(&entity)
.filter(|state| filter_state(&*state)) .filter(|state| filter_state(*state))
.map(move |state| { .map(move |state| {
( (
state.bound(), state.bound(),
@ -5078,7 +5078,7 @@ impl FigureMgr {
}), }),
Body::FishMedium(body) => fish_medium_states Body::FishMedium(body) => fish_medium_states
.get(&entity) .get(&entity)
.filter(|state| filter_state(&*state)) .filter(|state| filter_state(*state))
.map(move |state| { .map(move |state| {
( (
state.bound(), state.bound(),
@ -5094,7 +5094,7 @@ impl FigureMgr {
}), }),
Body::Theropod(body) => theropod_states Body::Theropod(body) => theropod_states
.get(&entity) .get(&entity)
.filter(|state| filter_state(&*state)) .filter(|state| filter_state(*state))
.map(move |state| { .map(move |state| {
( (
state.bound(), state.bound(),
@ -5110,7 +5110,7 @@ impl FigureMgr {
}), }),
Body::Dragon(body) => dragon_states Body::Dragon(body) => dragon_states
.get(&entity) .get(&entity)
.filter(|state| filter_state(&*state)) .filter(|state| filter_state(*state))
.map(move |state| { .map(move |state| {
( (
state.bound(), state.bound(),
@ -5126,7 +5126,7 @@ impl FigureMgr {
}), }),
Body::BirdLarge(body) => bird_large_states Body::BirdLarge(body) => bird_large_states
.get(&entity) .get(&entity)
.filter(|state| filter_state(&*state)) .filter(|state| filter_state(*state))
.map(move |state| { .map(move |state| {
( (
state.bound(), state.bound(),
@ -5142,7 +5142,7 @@ impl FigureMgr {
}), }),
Body::FishSmall(body) => fish_small_states Body::FishSmall(body) => fish_small_states
.get(&entity) .get(&entity)
.filter(|state| filter_state(&*state)) .filter(|state| filter_state(*state))
.map(move |state| { .map(move |state| {
( (
state.bound(), state.bound(),
@ -5158,7 +5158,7 @@ impl FigureMgr {
}), }),
Body::BipedLarge(body) => biped_large_states Body::BipedLarge(body) => biped_large_states
.get(&entity) .get(&entity)
.filter(|state| filter_state(&*state)) .filter(|state| filter_state(*state))
.map(move |state| { .map(move |state| {
( (
state.bound(), state.bound(),
@ -5174,7 +5174,7 @@ impl FigureMgr {
}), }),
Body::BipedSmall(body) => biped_small_states Body::BipedSmall(body) => biped_small_states
.get(&entity) .get(&entity)
.filter(|state| filter_state(&*state)) .filter(|state| filter_state(*state))
.map(move |state| { .map(move |state| {
( (
state.bound(), state.bound(),
@ -5190,7 +5190,7 @@ impl FigureMgr {
}), }),
Body::Golem(body) => golem_states Body::Golem(body) => golem_states
.get(&entity) .get(&entity)
.filter(|state| filter_state(&*state)) .filter(|state| filter_state(*state))
.map(move |state| { .map(move |state| {
( (
state.bound(), state.bound(),
@ -5206,7 +5206,7 @@ impl FigureMgr {
}), }),
Body::Object(body) => object_states Body::Object(body) => object_states
.get(&entity) .get(&entity)
.filter(|state| filter_state(&*state)) .filter(|state| filter_state(*state))
.map(move |state| { .map(move |state| {
( (
state.bound(), state.bound(),
@ -5222,7 +5222,7 @@ impl FigureMgr {
}), }),
Body::Ship(body) => ship_states Body::Ship(body) => ship_states
.get(&entity) .get(&entity)
.filter(|state| filter_state(&*state)) .filter(|state| filter_state(*state))
.map(move |state| { .map(move |state| {
( (
state.bound(), state.bound(),

View File

@ -62,7 +62,7 @@ impl Lod {
pub fn render<'a>(&'a self, drawer: &mut FirstPassDrawer<'a>) { pub fn render<'a>(&'a self, drawer: &mut FirstPassDrawer<'a>) {
if let Some((_, model)) = self.model.as_ref() { if let Some((_, model)) = self.model.as_ref() {
drawer.draw_lod_terrain(&model); drawer.draw_lod_terrain(model);
} }
} }
} }

View File

@ -390,9 +390,9 @@ impl Scene {
audio: &mut AudioFrontend, audio: &mut AudioFrontend,
) { ) {
span!(_guard, "handle_outcome", "Scene::handle_outcome"); span!(_guard, "handle_outcome", "Scene::handle_outcome");
self.particle_mgr.handle_outcome(&outcome, &scene_data); self.particle_mgr.handle_outcome(outcome, scene_data);
self.sfx_mgr self.sfx_mgr
.handle_outcome(&outcome, audio, scene_data.client); .handle_outcome(outcome, audio, scene_data.client);
match outcome { match outcome {
Outcome::Explosion { Outcome::Explosion {
@ -540,7 +540,7 @@ impl Scene {
// Maintain the particles. // Maintain the particles.
self.particle_mgr self.particle_mgr
.maintain(renderer, &scene_data, &self.terrain, lights); .maintain(renderer, scene_data, &self.terrain, lights);
// Update light constants // Update light constants
lights.extend( lights.extend(
@ -576,7 +576,7 @@ impl Scene {
); );
lights.sort_by_key(|light| light.get_pos().distance_squared(player_pos) as i32); lights.sort_by_key(|light| light.get_pos().distance_squared(player_pos) as i32);
lights.truncate(MAX_LIGHT_COUNT); lights.truncate(MAX_LIGHT_COUNT);
renderer.update_consts(&mut self.data.lights, &lights); renderer.update_consts(&mut self.data.lights, lights);
// Update event lights // Update event lights
let dt = ecs.fetch::<DeltaTime>().0; let dt = ecs.fetch::<DeltaTime>().0;
@ -664,7 +664,7 @@ impl Scene {
// Maintain the terrain. // Maintain the terrain.
let (_visible_bounds, visible_light_volume, visible_psr_bounds) = self.terrain.maintain( let (_visible_bounds, visible_light_volume, visible_psr_bounds) = self.terrain.maintain(
renderer, renderer,
&scene_data, scene_data,
focus_pos, focus_pos,
self.loaded_distance, self.loaded_distance,
&self.camera, &self.camera,

View File

@ -370,7 +370,7 @@ impl Scene {
figure_drawer.draw( figure_drawer.draw(
lod, lod,
self.figure_state.bound(), self.figure_state.bound(),
&self.col_lights.texture(model), self.col_lights.texture(model),
); );
} }
} }
@ -378,7 +378,7 @@ impl Scene {
if let Some((model, state)) = &self.backdrop { if let Some((model, state)) = &self.backdrop {
if let Some(lod) = model.lod_model(0) { if let Some(lod) = model.lod_model(0) {
figure_drawer.draw(lod, state.bound(), &self.col_lights.texture(model)); figure_drawer.draw(lod, state.bound(), self.col_lights.texture(model));
} }
} }
drop(figure_drawer); drop(figure_drawer);

View File

@ -1024,7 +1024,7 @@ impl PlayState for SessionState {
&self.client.borrow(), &self.client.borrow(),
global_state, global_state,
&debug_info, &debug_info,
&self.scene.camera(), self.scene.camera(),
global_state.clock.get_stable_dt(), global_state.clock.get_stable_dt(),
HudInfo { HudInfo {
is_aiming, is_aiming,

View File

@ -18,13 +18,13 @@ impl Event {
impl<'a> conrod_winit::WinitWindow for WindowRef<'a> { impl<'a> conrod_winit::WinitWindow for WindowRef<'a> {
fn get_inner_size(&self) -> Option<(u32, u32)> { fn get_inner_size(&self) -> Option<(u32, u32)> {
Some( Some(
winit::window::Window::inner_size(&self.0) winit::window::Window::inner_size(self.0)
.to_logical::<u32>(self.hidpi_factor()) .to_logical::<u32>(self.hidpi_factor())
.into(), .into(),
) )
} }
fn hidpi_factor(&self) -> f64 { winit::window::Window::scale_factor(&self.0) } fn hidpi_factor(&self) -> f64 { winit::window::Window::scale_factor(self.0) }
} }
convert_event!(event, &WindowRef(window)).map(Self) convert_event!(event, &WindowRef(window)).map(Self)
} }

View File

@ -425,7 +425,7 @@ fn draw_graphic(
border_color, border_color,
)), )),
Graphic::Voxel(ref segment, trans, sample_strat) => Some(( Graphic::Voxel(ref segment, trans, sample_strat) => Some((
renderer::draw_vox(&segment, dims, trans, sample_strat), renderer::draw_vox(segment, dims, trans, sample_strat),
None, None,
)), )),
Graphic::Blank => None, Graphic::Blank => None,
@ -487,7 +487,7 @@ fn upload_image(renderer: &mut Renderer, aabr: Aabr<u16>, tex: &Texture, image:
size, size,
// NOTE: Rgba texture, so each pixel is 4 bytes, ergo this cannot fail. // NOTE: Rgba texture, so each pixel is 4 bytes, ergo this cannot fail.
// We make the cast parameters explicit for clarity. // We make the cast parameters explicit for clarity.
bytemuck::cast_slice::<u8, [u8; 4]>(&image), bytemuck::cast_slice::<u8, [u8; 4]>(image),
); );
} }

View File

@ -351,9 +351,9 @@ impl<'a> ItemTooltip<'a> {
image_frame, image_frame,
image: None, image: None,
image_dims: None, image_dims: None,
client: &client, client,
imgs: &imgs, imgs,
item_imgs: &item_imgs, item_imgs,
pulse, pulse,
localized_strings, localized_strings,
} }
@ -667,7 +667,7 @@ impl<'a> Widget for ItemTooltip<'a> {
util::comparison(combat_rating, equipped_combat_rating); util::comparison(combat_rating, equipped_combat_rating);
if (equipped_combat_rating - combat_rating).abs() > f32::EPSILON { if (equipped_combat_rating - combat_rating).abs() > f32::EPSILON {
widget::Text::new(&diff_main_stat.0) widget::Text::new(diff_main_stat.0)
.right_from(state.ids.main_stat_text, H_PAD) .right_from(state.ids.main_stat_text, H_PAD)
.graphics_for(id) .graphics_for(id)
.parent(id) .parent(id)
@ -863,7 +863,7 @@ impl<'a> Widget for ItemTooltip<'a> {
let stealth_diff = let stealth_diff =
util::comparison(&armor.stealth(), &equipped_armor.stealth()); util::comparison(&armor.stealth(), &equipped_armor.stealth());
if diff.protection() != Protection::Normal(0.0) { if diff.protection() != Protection::Normal(0.0) {
widget::Text::new(&protection_diff.0) widget::Text::new(protection_diff.0)
.right_from(state.ids.main_stat_text, H_PAD) .right_from(state.ids.main_stat_text, H_PAD)
.graphics_for(id) .graphics_for(id)
.parent(id) .parent(id)
@ -945,7 +945,7 @@ impl<'a> Widget for ItemTooltip<'a> {
widget::Text::new(&util::modular_component_desc( widget::Text::new(&util::modular_component_desc(
mc, mc,
item.components(), item.components(),
&self.msm, self.msm,
item.description(), item.description(),
)) ))
.x_align_to(state.ids.item_frame, conrod_core::position::Align::Start) .x_align_to(state.ids.item_frame, conrod_core::position::Align::Start)
@ -1080,7 +1080,7 @@ impl<'a> Widget for ItemTooltip<'a> {
let price_h: f64 = if let Some((buy, sell, _)) = util::price_desc( let price_h: f64 = if let Some((buy, sell, _)) = util::price_desc(
self.prices, self.prices,
item.item_definition_id(), item.item_definition_id(),
&self.localized_strings, self.localized_strings,
) { ) {
//Get localized tooltip strings (gotten here because these should only show if //Get localized tooltip strings (gotten here because these should only show if
// in a trade- aka if buy/sell prices are present) // in a trade- aka if buy/sell prices are present)

View File

@ -605,7 +605,7 @@ where
if state.cached_images.as_ref().map(|c| &c.0) != image_key.as_ref() { if state.cached_images.as_ref().map(|c| &c.0) != image_key.as_ref() {
state.update(|state| { state.update(|state| {
state.cached_images = image_key.map(|key| { state.cached_images = image_key.map(|key| {
let image_ids = K::image_ids(&key, &image_source); let image_ids = K::image_ids(&key, image_source);
(key, image_ids) (key, image_ids)
}); });
}); });

View File

@ -707,7 +707,7 @@ impl Window {
// Handle screenshots and toggling fullscreen // Handle screenshots and toggling fullscreen
if self.take_screenshot { if self.take_screenshot {
self.take_screenshot = false; self.take_screenshot = false;
self.take_screenshot(&settings); self.take_screenshot(settings);
} }
if self.toggle_fullscreen { if self.toggle_fullscreen {
self.toggle_fullscreen = false; self.toggle_fullscreen = false;

View File

@ -82,7 +82,7 @@ impl<'a> CanvasInfo<'a> {
wpos: Vec2::broadcast(0), wpos: Vec2::broadcast(0),
column_grid: &zcache_grid, column_grid: &zcache_grid,
column_grid_border: 0, column_grid_border: 0,
chunks: &sim, chunks: sim,
index, index,
chunk: &sim_chunk, chunk: &sim_chunk,
}) })

View File

@ -194,7 +194,7 @@ impl Civs {
WorldSite::settlement(Settlement::generate(wpos, Some(ctx.sim), &mut rng)) WorldSite::settlement(Settlement::generate(wpos, Some(ctx.sim), &mut rng))
}, },
SiteKind::Dungeon => WorldSite::dungeon(site2::Site::generate_dungeon( SiteKind::Dungeon => WorldSite::dungeon(site2::Site::generate_dungeon(
&Land::from_sim(&ctx.sim), &Land::from_sim(ctx.sim),
&mut rng, &mut rng,
wpos, wpos,
)), )),
@ -202,12 +202,12 @@ impl Civs {
WorldSite::castle(Castle::generate(wpos, Some(ctx.sim), &mut rng)) WorldSite::castle(Castle::generate(wpos, Some(ctx.sim), &mut rng))
}, },
SiteKind::Refactor => WorldSite::refactor(site2::Site::generate_city( SiteKind::Refactor => WorldSite::refactor(site2::Site::generate_city(
&Land::from_sim(&ctx.sim), &Land::from_sim(ctx.sim),
&mut rng, &mut rng,
wpos, wpos,
)), )),
SiteKind::Tree => { SiteKind::Tree => {
WorldSite::tree(Tree::generate(wpos, &Land::from_sim(&ctx.sim), &mut rng)) WorldSite::tree(Tree::generate(wpos, &Land::from_sim(ctx.sim), &mut rng))
}, },
}); });
sim_site.site_tmp = Some(site); sim_site.site_tmp = Some(site);
@ -845,7 +845,7 @@ fn find_site_loc(
}); });
for offset in Spiral2d::new().take((size * 2 + 1).pow(2) as usize) { for offset in Spiral2d::new().take((size * 2 + 1).pow(2) as usize) {
if loc_suitable_for_site(&ctx.sim, test_loc + offset) { if loc_suitable_for_site(ctx.sim, test_loc + offset) {
return Some(test_loc); return Some(test_loc);
} }
} }

View File

@ -51,7 +51,7 @@ pub struct IndexRef<'a> {
impl<'a> Deref for IndexRef<'a> { impl<'a> Deref for IndexRef<'a> {
type Target = Index; type Target = Index;
fn deref(&self) -> &Self::Target { &self.index } fn deref(&self) -> &Self::Target { self.index }
} }
impl Index { impl Index {

View File

@ -337,7 +337,7 @@ impl World {
let lpos = Vec3::new(x, y, z); let lpos = Vec3::new(x, y, z);
let wpos = Vec3::from(chunk_wpos2d) + lpos; let wpos = Vec3::from(chunk_wpos2d) + lpos;
if let Some(block) = sampler.get_with_z_cache(wpos, Some(&z_cache)) { if let Some(block) = sampler.get_with_z_cache(wpos, Some(z_cache)) {
let _ = chunk.set(lpos, block); let _ = chunk.set(lpos, block);
} }
}); });

View File

@ -2620,12 +2620,12 @@ pub fn do_erosion(
let max_uplift = uplift let max_uplift = uplift
.into_par_iter() .into_par_iter()
.cloned() .cloned()
.max_by(|a, b| a.partial_cmp(&b).unwrap()) .max_by(|a, b| a.partial_cmp(b).unwrap())
.unwrap(); .unwrap();
let max_g = g let max_g = g
.into_par_iter() .into_par_iter()
.cloned() .cloned()
.max_by(|a, b| a.partial_cmp(&b).unwrap()) .max_by(|a, b| a.partial_cmp(b).unwrap())
.unwrap(); .unwrap();
debug!("Max uplift: {:?}", max_uplift); debug!("Max uplift: {:?}", max_uplift);
debug!("Max g: {:?}", max_g); debug!("Max g: {:?}", max_g);

Some files were not shown because too many files have changed in this diff Show More