From 20aee17e94862a1307622822d32ae37db957b939 Mon Sep 17 00:00:00 2001 From: Monty Marz Date: Fri, 1 May 2020 21:27:12 +0000 Subject: [PATCH] Shoulder offsets, meta.ron versioning --- assets/voxygen/element/buttons/inv_slot.png | Bin 320 -> 320 bytes .../voxygen/voxel/armor/chest/chest_none.vox | Bin 57075 -> 2632 bytes assets/voxygen/voxel/armor/chest/cultist.vox | Bin 2792 -> 2792 bytes .../humanoid_armor_shoulder_manifest.ron | 8 +++--- common/src/comp/inventory/item/tool.rs | 3 ++ voxygen/src/anim/character/mod.rs | 27 +++++++++--------- voxygen/src/meta.rs | 12 ++++++-- 7 files changed, 30 insertions(+), 20 deletions(-) diff --git a/assets/voxygen/element/buttons/inv_slot.png b/assets/voxygen/element/buttons/inv_slot.png index 0501fe790bfa59c659cc03a05ab2947658a9ee6a..a3d9292e4e393b6a1e8e6db25d47b94b91eb73fa 100644 GIT binary patch delta 168 zcmV;Z09XIO0>A>0e^ZfEOykO9MDh}u!X2c66`UpoT;a-6PQLry7X?q;*P#RB5aB+K zJN#60hE|36no{RK+xCP5ImD&)HiT|{@V@i5@$YptW{Pot&GX?V|I!rWa*@&`N<&Xj z0ToaIB?HpAm6IHzj-3Jk>01dW*$}kE0s!gz948IlYl$WFLB<)hn!z*1PVV0j-vIys W@I7^q70fUI0000A>0e^cR(XL&EPM_PVV0jp8)_% WF+D;h2Wim&00003P^BE<|PI`WHHQy8OO}BUx*>g{)5FV`{m{Hqx)qGaX;+SJaX#WR$3g)wDiZ z)&lj2)B~C0k}+=_b#jvt$vEodsFR~kuJuQq9CdQk$x$aqog8&?)X7mNRzEMi_0laI zJOUyTGD=ja(LftaYmvah!6P6dA)`cv8V$6;v=$aD96SOd5;96u-ccvcLmMoM(FO9M z4Twm{C{YosX?=98C&zkn)QNhagg2f#dG?KGJ$d$xr%t{}WvPOvPM$h>>g1`Dr%s+a zdFte;6APIIZ{aL+X#*k>GD=j$YT5=`o5R96=F)c5!nbx&`U=?gL=mCWgzWZvu0oB^Zx2aQ(r zE!XXD808V8wh5!T$Ba5&Gg>=PYsbMk8h&Q3CeMFK+sBOtPa1vytkF{+a_(TK79Z%+ zvhg0RpY7G6(ROtm?Nraq60N$lT=VxBEqli3_ESciFBq8zxc{LnbMgk6bL~2^{6?Mm z>O6h)jYZOqFKZJi_v0`4J5D}nboND~i)W19f0KT%(dj;;x9&H(y5DG+{*yyS#~x*T z%xGJ;(cZ5ajcqsj*QJ*=xVBRV`nq&z@HU;=w_4-7Ht5u2+jL^zR_XF-t+=H_n^!N< zJ>R@d`-V1XWQWnjca5fhWOU&LqxFkB)!(yBd)D8f(d`>G)YG8@YZvM0UAJm>?@A4S zXRAgYzE|Tg5`p znxmtyw(HFg7wW2(d=@|c!(qMh<45%R)WQGA|7X5s4e-}$duvqr}^ zOl#$;)7o_8uog}%)TLh;ee@7ZcVHJHdzr&|HSv!jt z>-e)LwPn)@Jv#NA7VMp`4_?1j=Z6>S1U38b`VS6V(C%GVw0q}ejXowl_0kzl{CZZ; zpZmRj{_Yj6d*X<;9G=!azr3KGZ(LDtZ?CTLC?-Rn$Xzk|`0dZ1?_<{2|BC;63+lS< iJ2Ri{!Ry9|w8pSy-BC1+^s! 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 diff --git a/assets/voxygen/voxel/armor/chest/cultist.vox b/assets/voxygen/voxel/armor/chest/cultist.vox index 0fab598becca0c1d73b1cf61eb0a886240d29f40..9fb8eade665c72af8022db748ec8881a2caaf329 100644 GIT binary patch delta 106 zcmaDM`a*PrKNDl-q~YfS41Axqz6NnKgignYD285!PnLqRAd?-i(Z!r?7>v003^E8#Mp` diff --git a/assets/voxygen/voxel/humanoid_armor_shoulder_manifest.ron b/assets/voxygen/voxel/humanoid_armor_shoulder_manifest.ron index fc41ce56ac..cf01dba1b4 100644 --- a/assets/voxygen/voxel/humanoid_armor_shoulder_manifest.ron +++ b/assets/voxygen/voxel/humanoid_armor_shoulder_manifest.ron @@ -113,21 +113,21 @@ ), CultistPurple: ( left: ( - vox_spec: ("armor.shoulder.cultist_right", (-2.0, -3.5, 1.0)), + vox_spec: ("armor.shoulder.cultist_right", (-2.0, -3.5, 0.0)), color: Some((30, 0, 64)) ), right: ( - vox_spec: ("armor.shoulder.cultist_right", (-2.9, -3.5, 1.0)), + vox_spec: ("armor.shoulder.cultist_right", (-2.9, -3.5, 0.0)), color: Some((30, 0, 64)) ) ), CultistBlue: ( left: ( - vox_spec: ("armor.shoulder.cultist_right", (-2.0, -3.5, 1.0)), + vox_spec: ("armor.shoulder.cultist_right", (-2.0, -3.5, 0.0)), color: Some((57, 81, 132)) ), right: ( - vox_spec: ("armor.shoulder.cultist_right", (-2.9, -3.5, 1.0)), + vox_spec: ("armor.shoulder.cultist_right", (-2.9, -3.5, 0.0)), color: Some((57, 81, 132)) ) ), diff --git a/common/src/comp/inventory/item/tool.rs b/common/src/comp/inventory/item/tool.rs index 275b78f912..2a6aa52f6d 100644 --- a/common/src/comp/inventory/item/tool.rs +++ b/common/src/comp/inventory/item/tool.rs @@ -1,3 +1,6 @@ +// Note: If you changes here "break" old character saves you can change the +// version in voxygen\src\meta.rs in order to reset save files to being empty + use crate::comp::{ body::object, projectile, Body, CharacterAbility, Gravity, HealthChange, HealthSource, LightEmitter, Projectile, diff --git a/voxygen/src/anim/character/mod.rs b/voxygen/src/anim/character/mod.rs index 0265ffcb16..a3ff928ea7 100644 --- a/voxygen/src/anim/character/mod.rs +++ b/voxygen/src/anim/character/mod.rs @@ -31,6 +31,7 @@ pub use self::{ use super::{Bone, Skeleton}; use crate::render::FigureBoneData; use common::comp; + #[derive(Clone, Default)] pub struct CharacterSkeleton { head: Bone, @@ -167,18 +168,18 @@ impl SkeletonAttr { pub fn calculate_scale(body: &comp::humanoid::Body) -> f32 { use comp::humanoid::{BodyType::*, Race::*}; match (body.race, body.body_type) { - (Orc, Male) => 0.95 * 1.2, - (Orc, Female) => 0.85 * 1.2, - (Human, Male) => 0.85 * 1.2, - (Human, Female) => 0.8 * 1.2, - (Elf, Male) => 0.85 * 1.2, - (Elf, Female) => 0.8 * 1.2, - (Dwarf, Male) => 0.7 * 1.2, - (Dwarf, Female) => 0.65 * 1.2, - (Undead, Male) => 0.8 * 1.2, - (Undead, Female) => 0.75 * 1.2, - (Danari, Male) => 0.58 * 1.2, - (Danari, Female) => 0.58 * 1.2, + (Orc, Male) => 1.14, + (Orc, Female) => 1.02, + (Human, Male) => 1.02, + (Human, Female) => 0.96, + (Elf, Male) => 1.02, + (Elf, Female) => 0.96, + (Dwarf, Male) => 0.84, + (Dwarf, Female) => 0.78, + (Undead, Male) => 0.96, + (Undead, Female) => 0.9, + (Danari, Male) => 0.696, + (Danari, Female) => 0.696, } } } @@ -206,7 +207,7 @@ impl<'a> From<&'a comp::humanoid::Body> for SkeletonAttr { (Orc, Male) => (0.0, 14.0), (Orc, Female) => (0.0, 14.0), (Human, Male) => (0.3, 13.5), - (Human, Female) => (-0.6, 13.5), + (Human, Female) => (0.0, 13.8), (Elf, Male) => (0.0, 13.5), (Elf, Female) => (0.0, 13.5), (Dwarf, Male) => (0.0, 14.5), diff --git a/voxygen/src/meta.rs b/voxygen/src/meta.rs index af884eee76..71d66087f9 100644 --- a/voxygen/src/meta.rs +++ b/voxygen/src/meta.rs @@ -4,6 +4,7 @@ use log::warn; use serde_derive::{Deserialize, Serialize}; use std::{fs, io::Write, path::PathBuf}; +const VALID_VERSION: u32 = 0; // Change this if you broke charsaves #[derive(Clone, Debug, Serialize, Deserialize)] #[repr(C)] pub struct CharacterData { @@ -13,11 +14,12 @@ pub struct CharacterData { } #[derive(Clone, Debug, Default, Serialize, Deserialize)] -#[serde(default)] +//#[serde(default)] #[repr(C)] pub struct Meta { pub characters: Vec, pub selected_character: usize, + pub version: u32, } impl Meta { @@ -38,8 +40,12 @@ impl Meta { let path = Self::get_meta_path(); if let Ok(file) = fs::File::open(&path) { - match ron::de::from_reader(file) { - Ok(s) => return s, + match ron::de::from_reader::<_, Meta>(file) { + Ok(s) => { + if s.version == VALID_VERSION { + return s; + } + }, Err(e) => { log::warn!("Failed to parse meta file! Fallback to default. {}", e); // Rename the corrupted settings file