mirror of
https://gitlab.com/veloren/veloren.git
synced 2024-08-30 18:12:32 +00:00
Merge branch 'slipped/aesthetics' into 'master'
Assets update, aesthetics, minor fixes See merge request veloren/veloren!529
This commit is contained in:
commit
2d492460fe
Binary file not shown.
Before Width: | Height: | Size: 514 KiB After Width: | Height: | Size: 526 KiB |
Binary file not shown.
BIN
assets/voxygen/element/frames/banner.vox
Normal file
BIN
assets/voxygen/element/frames/banner.vox
Normal file
Binary file not shown.
BIN
assets/voxygen/element/frames/banner_top.vox
Normal file
BIN
assets/voxygen/element/frames/banner_top.vox
Normal file
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
assets/voxygen/element/icons/item_apple.vox
Normal file
BIN
assets/voxygen/element/icons/item_apple.vox
Normal file
Binary file not shown.
BIN
assets/voxygen/element/icons/item_flower.vox
Normal file
BIN
assets/voxygen/element/icons/item_flower.vox
Normal file
Binary file not shown.
BIN
assets/voxygen/element/icons/item_grass.vox
Normal file
BIN
assets/voxygen/element/icons/item_grass.vox
Normal file
Binary file not shown.
BIN
assets/voxygen/element/icons/item_mushroom.vox
Normal file
BIN
assets/voxygen/element/icons/item_mushroom.vox
Normal file
Binary file not shown.
BIN
assets/voxygen/font/alkhemikal.ttf
Normal file
BIN
assets/voxygen/font/alkhemikal.ttf
Normal file
Binary file not shown.
4
assets/voxygen/font/license.txt
Normal file
4
assets/voxygen/font/license.txt
Normal file
@ -0,0 +1,4 @@
|
||||
The FontStruction “Wizard”
|
||||
(https://fontstruct.com/fontstructions/show/1506403) by “Omegaville” is
|
||||
licensed under a Creative Commons Attribution Share Alike license
|
||||
(http://creativecommons.org/licenses/by-sa/3.0/).
|
BIN
assets/voxygen/font/pf_ronda_seven.ttf
Normal file
BIN
assets/voxygen/font/pf_ronda_seven.ttf
Normal file
Binary file not shown.
BIN
assets/voxygen/font/pf_ronda_seven_bold.ttf
Normal file
BIN
assets/voxygen/font/pf_ronda_seven_bold.ttf
Normal file
Binary file not shown.
BIN
assets/voxygen/font/wizard.ttf
Normal file
BIN
assets/voxygen/font/wizard.ttf
Normal file
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
assets/voxygen/voxel/char_template.vox
Normal file
BIN
assets/voxygen/voxel/char_template.vox
Normal file
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
assets/voxygen/voxel/figure/hair/elf/female-21.vox
Normal file
BIN
assets/voxygen/voxel/figure/hair/elf/female-21.vox
Normal file
Binary file not shown.
Binary file not shown.
BIN
assets/voxygen/voxel/figure/hair/human/female-19.vox
Normal file
BIN
assets/voxygen/voxel/figure/hair/human/female-19.vox
Normal file
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -40,6 +40,7 @@
|
||||
Some(("figure.hair.human.female-16", (1, 1, 1))),
|
||||
Some(("figure.hair.human.female-17", (1, -2, -2))),
|
||||
Some(("figure.hair.human.female-18", (1, 0, -7))),
|
||||
Some(("figure.hair.human.female-19", (-5, 0, -1))),
|
||||
],
|
||||
beard: [None],
|
||||
accessory: [
|
||||
@ -95,12 +96,10 @@
|
||||
offset: (-8.0, -4.0, -6.0),
|
||||
head: ("figure.head.elf.female", (0, 2, 0)),
|
||||
eyes: ("figure.eyes.elf.female-0", (3, 9, 2)),
|
||||
hair: [
|
||||
Some(("figure.hair.elf.female-19", (2, 0, -2))),
|
||||
Some(("figure.hair.elf.female-20", (1, -3, 0))),
|
||||
hair: [
|
||||
Some(("figure.hair.elf.female-0", (0, -2, 0))),
|
||||
Some(("figure.hair.elf.female-1", (2, 1, -1))),
|
||||
Some(("figure.hair.elf.female-2", (2, 1, -1))),
|
||||
Some(("figure.hair.elf.female-2", (2, 1, 0))),
|
||||
Some(("figure.hair.elf.female-3", (2, 0, -7))),
|
||||
Some(("figure.hair.elf.female-4", (3, 0, -1))),
|
||||
Some(("figure.hair.elf.female-5", (2, 1, 0))),
|
||||
@ -117,6 +116,9 @@
|
||||
Some(("figure.hair.elf.female-16", (2, 0, 0))),
|
||||
Some(("figure.hair.elf.female-17", (2, -3, -2))),
|
||||
Some(("figure.hair.elf.female-18", (2, -1, -7))),
|
||||
Some(("figure.hair.elf.female-19", (2, 0, -2))),
|
||||
Some(("figure.hair.elf.female-20", (1, -3, 0))),
|
||||
Some(("figure.hair.elf.female-21", (-4, -1, -1))),
|
||||
],
|
||||
beard: [None],
|
||||
accessory: [
|
||||
@ -164,8 +166,7 @@
|
||||
head: ("figure.head.dwarf.female", (0, 3, 0)),
|
||||
eyes: ("figure.eyes.dwarf.female-0", (1, 10, 2)),
|
||||
hair: [
|
||||
Some(("figure.hair.dwarf.female-0", (1, 0, -7))),
|
||||
Some(("figure.hair.dwarf.female-0", (1, 0, -7))),
|
||||
Some(("figure.hair.dwarf.female-0", (0, 0, -7))),
|
||||
],
|
||||
beard: [None],
|
||||
accessory: [
|
||||
@ -200,15 +201,15 @@
|
||||
),
|
||||
(Danari, Male): (
|
||||
offset: (-9.0, -4.0, -7.5),
|
||||
head: ("figure.head.danari.male", (0, 2, 3)),
|
||||
eyes: ("figure.eyes.danari.male-0", (5, 9, 5)),
|
||||
head: ("figure.head.danari.male", (0, 2, 2)),
|
||||
eyes: ("figure.eyes.danari.male-0", (5, 9, 4)),
|
||||
hair: [
|
||||
Some(("figure.hair.danari.male", (3, 1, 3))),
|
||||
Some(("figure.hair.danari.male", (3, 1, 3))),
|
||||
Some(("figure.hair.danari.male", (3, 1, 2))),
|
||||
Some(("figure.hair.danari.male", (3, 1, 2))),
|
||||
],
|
||||
beard: [None],
|
||||
accessory: [
|
||||
Some(("figure.accessory.danari.horns-0", (4, 8, 9))),]
|
||||
Some(("figure.accessory.danari.horns-0", (4, 8, 8))),]
|
||||
),
|
||||
(Danari, Female): (
|
||||
offset: (-9.0, -4.0, -7.5),
|
||||
|
Binary file not shown.
BIN
assets/voxygen/voxel/sprite/flowers/flower_blue_6.vox
Normal file
BIN
assets/voxygen/voxel/sprite/flowers/flower_blue_6.vox
Normal file
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -221,23 +221,22 @@ pub const DWARF_SKIN_COLORS: [Skin; 5] = [
|
||||
Skin::Steel,
|
||||
];
|
||||
pub const ELF_SKIN_COLORS: [Skin; 7] = [
|
||||
Skin::Pale,
|
||||
Skin::ElfOne,
|
||||
Skin::ElfTwo,
|
||||
Skin::ElfThree,
|
||||
Skin::White,
|
||||
Skin::Tanned,
|
||||
Skin::Brown,
|
||||
Skin::TannedBrown,
|
||||
];
|
||||
pub const HUMAN_SKIN_COLORS: [Skin; 6] = [
|
||||
pub const HUMAN_SKIN_COLORS: [Skin; 5] = [
|
||||
Skin::Pale,
|
||||
Skin::White,
|
||||
Skin::Tanned,
|
||||
Skin::Brown,
|
||||
Skin::TannedBrown,
|
||||
Skin::TannedDarkBrown,
|
||||
];
|
||||
pub const ORC_SKIN_COLORS: [Skin; 3] = [Skin::OrcOne, Skin::OrcTwo, Skin::OrcThree];
|
||||
pub const ORC_SKIN_COLORS: [Skin; 4] = [Skin::OrcOne, Skin::OrcTwo, Skin::OrcThree, Skin::Brown];
|
||||
pub const UNDEAD_SKIN_COLORS: [Skin; 3] = [Skin::UndeadOne, Skin::UndeadTwo, Skin::UndeadThree];
|
||||
|
||||
// Eye colors
|
||||
@ -333,11 +332,11 @@ impl Race {
|
||||
match (self, body_type) {
|
||||
(Race::Danari, BodyType::Female) => 1,
|
||||
(Race::Danari, BodyType::Male) => 1,
|
||||
(Race::Dwarf, BodyType::Female) => 2,
|
||||
(Race::Dwarf, BodyType::Female) => 1,
|
||||
(Race::Dwarf, BodyType::Male) => 3,
|
||||
(Race::Elf, BodyType::Female) => 21,
|
||||
(Race::Elf, BodyType::Female) => 22,
|
||||
(Race::Elf, BodyType::Male) => 1,
|
||||
(Race::Human, BodyType::Female) => 19,
|
||||
(Race::Human, BodyType::Female) => 20,
|
||||
(Race::Human, BodyType::Male) => 3,
|
||||
(Race::Orc, BodyType::Female) => 1,
|
||||
(Race::Orc, BodyType::Male) => 2,
|
||||
@ -393,13 +392,15 @@ pub enum Chest {
|
||||
Dark,
|
||||
Green,
|
||||
Orange,
|
||||
Midnight,
|
||||
}
|
||||
pub const ALL_CHESTS: [Chest; 5] = [
|
||||
pub const ALL_CHESTS: [Chest; 6] = [
|
||||
Chest::Blue,
|
||||
Chest::Brown,
|
||||
Chest::Dark,
|
||||
Chest::Green,
|
||||
Chest::Orange,
|
||||
Chest::Midnight,
|
||||
];
|
||||
|
||||
#[derive(Copy, Clone, Debug, PartialEq, Eq, Hash, Serialize, Deserialize)]
|
||||
@ -547,13 +548,13 @@ impl Skin {
|
||||
Self::DanariTwo => (30, 149, 201),
|
||||
Self::DanariThree => (57, 120, 148),
|
||||
Self::DanariFour => (40, 85, 105),
|
||||
Self::ElfOne => (176, 161, 181),
|
||||
Self::ElfOne => (178, 164, 186),
|
||||
Self::ElfTwo => (132, 139, 161),
|
||||
Self::ElfThree => (148, 128, 202),
|
||||
Self::OrcOne => (61, 130, 42),
|
||||
Self::OrcTwo => (82, 117, 36),
|
||||
Self::OrcThree => (71, 94, 42),
|
||||
Self::UndeadOne => (255, 255, 255),
|
||||
Self::UndeadOne => (240, 243, 239),
|
||||
Self::UndeadTwo => (178, 178, 178),
|
||||
Self::UndeadThree => (145, 135, 121),
|
||||
};
|
||||
@ -561,53 +562,53 @@ impl Skin {
|
||||
}
|
||||
pub fn light_rgb(self) -> Rgb<u8> {
|
||||
let color = match self {
|
||||
Self::Pale => (255, 165, 165),
|
||||
Self::White => (255, 165, 165),
|
||||
Self::Tanned => (222, 181, 151),
|
||||
Self::Brown => (123, 80, 45),
|
||||
Self::TannedBrown => (135, 70, 50),
|
||||
Self::TannedDarkBrown => (116, 61, 43),
|
||||
Self::Iron => (135, 113, 95),
|
||||
Self::Steel => (108, 94, 86),
|
||||
Self::DanariOne => (104, 168, 196),
|
||||
Self::DanariTwo => (30, 149, 201),
|
||||
Self::DanariThree => (57, 120, 148),
|
||||
Self::DanariFour => (40, 85, 105),
|
||||
Self::ElfOne => (176, 161, 181),
|
||||
Self::ElfTwo => (132, 139, 161),
|
||||
Self::ElfThree => (148, 128, 202),
|
||||
Self::Pale => (255, 227, 193),
|
||||
Self::White => (255, 210, 180),
|
||||
Self::Tanned => (239, 197, 164),
|
||||
Self::Brown => (150, 104, 68),
|
||||
Self::TannedBrown => (148, 85, 64),
|
||||
Self::TannedDarkBrown => (132, 74, 56),
|
||||
Self::Iron => (144, 125, 106),
|
||||
Self::Steel => (120, 107, 99),
|
||||
Self::DanariOne => (116, 176, 208),
|
||||
Self::DanariTwo => (42, 158, 206),
|
||||
Self::DanariThree => (70, 133, 160),
|
||||
Self::DanariFour => (53, 96, 116),
|
||||
Self::ElfOne => (190, 176, 199), //178, 164, 186
|
||||
Self::ElfTwo => (137, 144, 167),
|
||||
Self::ElfThree => (156, 138, 209),
|
||||
Self::OrcOne => (83, 165, 56),
|
||||
Self::OrcTwo => (85, 124, 37),
|
||||
Self::OrcThree => (73, 100, 43),
|
||||
Self::UndeadOne => (255, 255, 255),
|
||||
Self::UndeadTwo => (178, 178, 178),
|
||||
Self::UndeadThree => (145, 135, 121),
|
||||
Self::OrcTwo => (92, 132, 46),
|
||||
Self::OrcThree => (84, 110, 54),
|
||||
Self::UndeadOne => (254, 252, 251),
|
||||
Self::UndeadTwo => (190, 192, 191),
|
||||
Self::UndeadThree => (160, 151, 134),
|
||||
};
|
||||
Rgb::from(color)
|
||||
}
|
||||
pub fn dark_rgb(self) -> Rgb<u8> {
|
||||
let color = match self {
|
||||
Self::Pale => (207, 173, 147),
|
||||
Self::White => (212, 162, 138),
|
||||
Self::Tanned => (222, 181, 151),
|
||||
Self::Brown => (123, 80, 45),
|
||||
Self::TannedBrown => (135, 70, 50),
|
||||
Self::TannedDarkBrown => (116, 61, 43),
|
||||
Self::Iron => (135, 113, 95),
|
||||
Self::Steel => (108, 94, 86),
|
||||
Self::DanariOne => (104, 168, 196),
|
||||
Self::DanariTwo => (30, 149, 201),
|
||||
Self::DanariThree => (57, 120, 148),
|
||||
Self::DanariFour => (40, 85, 105),
|
||||
Self::ElfOne => (176, 161, 181),
|
||||
Self::ElfTwo => (132, 139, 161),
|
||||
Self::ElfThree => (148, 128, 202),
|
||||
Self::OrcOne => (61, 119, 40),
|
||||
Self::OrcTwo => (77, 111, 34),
|
||||
Self::OrcThree => (68, 91, 40),
|
||||
Self::UndeadOne => (255, 255, 255),
|
||||
Self::UndeadTwo => (178, 178, 178),
|
||||
Self::UndeadThree => (145, 135, 121),
|
||||
Self::Pale => (229, 192, 163),
|
||||
Self::White => (239, 179, 150),
|
||||
Self::Tanned => (208, 167, 135),
|
||||
Self::Brown => (106, 63, 30),
|
||||
Self::TannedBrown => (122, 58, 40),
|
||||
Self::TannedDarkBrown => (100, 47, 32),
|
||||
Self::Iron => (124, 99, 82),
|
||||
Self::Steel => (96, 81, 72),
|
||||
Self::DanariOne => (92, 155, 183),
|
||||
Self::DanariTwo => (25, 142, 192),
|
||||
Self::DanariThree => (52, 115, 143),
|
||||
Self::DanariFour => (34, 80, 99),
|
||||
Self::ElfOne => (170, 155, 175), //170, 157, 179
|
||||
Self::ElfTwo => (126, 132, 153),
|
||||
Self::ElfThree => (137, 121, 194),
|
||||
Self::OrcOne => (55, 114, 36),
|
||||
Self::OrcTwo => (70, 104, 29),
|
||||
Self::OrcThree => (60, 83, 32),
|
||||
Self::UndeadOne => (229, 231, 230),
|
||||
Self::UndeadTwo => (165, 166, 164),
|
||||
Self::UndeadThree => (130, 122, 106),
|
||||
};
|
||||
Rgb::from(color)
|
||||
}
|
||||
|
@ -169,8 +169,8 @@ impl From<&DotVoxData> for MatSegment {
|
||||
1 => MatCell::Mat(Material::Hair),
|
||||
2 => MatCell::Mat(Material::EyeDark),
|
||||
3 => MatCell::Mat(Material::EyeLight),
|
||||
4 => MatCell::Mat(Material::SkinLight),
|
||||
5 => MatCell::Mat(Material::SkinDark),
|
||||
4 => MatCell::Mat(Material::SkinDark),
|
||||
5 => MatCell::Mat(Material::SkinLight),
|
||||
7 => MatCell::Mat(Material::EyeWhite),
|
||||
//6 => MatCell::Mat(Material::Clothing),
|
||||
index => {
|
||||
|
@ -43,7 +43,7 @@ impl BlockKind {
|
||||
pub fn is_air(&self) -> bool {
|
||||
match self {
|
||||
BlockKind::Air => true,
|
||||
BlockKind::LargeCactus => false,
|
||||
BlockKind::LargeCactus => true,
|
||||
BlockKind::BarrelCactus => true,
|
||||
BlockKind::RoundCactus => true,
|
||||
BlockKind::ShortCactus => true,
|
||||
|
@ -710,7 +710,7 @@ fn handle_lantern(server: &mut Server, entity: EcsEntity, args: String, action:
|
||||
light.strength = s.max(0.1).min(10.0);
|
||||
server.clients.notify(
|
||||
entity,
|
||||
ServerMsg::private(String::from("You played with flame strength.")),
|
||||
ServerMsg::private(String::from("You adjusted flame strength.")),
|
||||
);
|
||||
}
|
||||
} else {
|
||||
@ -744,7 +744,7 @@ fn handle_lantern(server: &mut Server, entity: EcsEntity, args: String, action:
|
||||
|
||||
server.clients.notify(
|
||||
entity,
|
||||
ServerMsg::private(String::from("You lighted your lantern.")),
|
||||
ServerMsg::private(String::from("You lit your lantern.")),
|
||||
);
|
||||
}
|
||||
}
|
||||
|
@ -233,11 +233,11 @@ impl Animation for BlockAnimation {
|
||||
//next.r_foot.ori = Quaternion::rotation_x(0.3);
|
||||
//next.r_foot.scale = Vec3::one();
|
||||
|
||||
next.l_shoulder.offset = Vec3::new(-5.0, 0.0, 4.7);
|
||||
next.l_shoulder.offset = Vec3::new(-5.0, 0.0, 5.0);
|
||||
next.l_shoulder.ori = Quaternion::rotation_x(0.0);
|
||||
next.l_shoulder.scale = Vec3::one() * 1.1;
|
||||
|
||||
next.r_shoulder.offset = Vec3::new(5.0, 0.0, 4.7);
|
||||
next.r_shoulder.offset = Vec3::new(5.0, 0.0, 5.0);
|
||||
next.r_shoulder.ori = Quaternion::rotation_x(0.0);
|
||||
next.r_shoulder.scale = Vec3::one() * 1.1;
|
||||
|
||||
|
@ -232,11 +232,11 @@ impl Animation for BlockIdleAnimation {
|
||||
next.r_foot.ori = Quaternion::rotation_x(0.3);
|
||||
next.r_foot.scale = Vec3::one();
|
||||
|
||||
next.l_shoulder.offset = Vec3::new(-5.0, 0.0, 4.7);
|
||||
next.l_shoulder.offset = Vec3::new(-5.0, 0.0, 5.0);
|
||||
next.l_shoulder.ori = Quaternion::rotation_x(0.0);
|
||||
next.l_shoulder.scale = Vec3::one() * 1.1;
|
||||
|
||||
next.r_shoulder.offset = Vec3::new(5.0, 0.0, 4.7);
|
||||
next.r_shoulder.offset = Vec3::new(5.0, 0.0, 5.0);
|
||||
next.r_shoulder.ori = Quaternion::rotation_x(0.0);
|
||||
next.r_shoulder.scale = Vec3::one() * 1.1;
|
||||
|
||||
|
@ -240,11 +240,11 @@ impl Animation for CidleAnimation {
|
||||
next.r_foot.ori = Quaternion::rotation_x(wave_ultra_slow * 0.015);
|
||||
next.r_foot.scale = Vec3::one();
|
||||
|
||||
next.l_shoulder.offset = Vec3::new(-5.0, 0.0, 4.7);
|
||||
next.l_shoulder.offset = Vec3::new(-5.0, 0.0, 5.0);
|
||||
next.l_shoulder.ori = Quaternion::rotation_x(0.0);
|
||||
next.l_shoulder.scale = Vec3::one() * 1.1;
|
||||
|
||||
next.r_shoulder.offset = Vec3::new(5.0, 0.0, 4.7);
|
||||
next.r_shoulder.offset = Vec3::new(5.0, 0.0, 5.0);
|
||||
next.r_shoulder.ori = Quaternion::rotation_x(0.0);
|
||||
next.r_shoulder.scale = Vec3::one() * 1.1;
|
||||
|
||||
|
@ -91,11 +91,11 @@ impl Animation for IdleAnimation {
|
||||
next.weapon.ori = Quaternion::rotation_y(2.5) * Quaternion::rotation_z(1.57);
|
||||
next.weapon.scale = Vec3::one() + wave_ultra_slow_abs * -0.05;
|
||||
|
||||
next.l_shoulder.offset = Vec3::new(-5.0, 0.0, 4.7);
|
||||
next.l_shoulder.offset = Vec3::new(-5.0, 0.0, 5.0);
|
||||
next.l_shoulder.ori = Quaternion::rotation_x(0.0);
|
||||
next.l_shoulder.scale = (Vec3::one() + wave_ultra_slow_abs * -0.05) * 1.15;
|
||||
|
||||
next.r_shoulder.offset = Vec3::new(5.0, 0.0, 4.7);
|
||||
next.r_shoulder.offset = Vec3::new(5.0, 0.0, 5.0);
|
||||
next.r_shoulder.ori = Quaternion::rotation_x(0.0);
|
||||
next.r_shoulder.scale = (Vec3::one() + wave_ultra_slow_abs * -0.05) * 1.15;
|
||||
|
||||
|
@ -89,12 +89,22 @@ impl Animation for RunAnimation {
|
||||
next.shorts.ori = Quaternion::rotation_z(wave * 0.6);
|
||||
next.shorts.scale = Vec3::one();
|
||||
|
||||
next.l_hand.offset = Vec3::new(-6.0, -0.25 + wave_cos * 2.0, 5.0 - wave * 1.5);
|
||||
next.l_hand.ori = Quaternion::rotation_x(0.8 + wave_cos * 1.2);
|
||||
next.l_hand.offset = Vec3::new(
|
||||
-6.0 + wave_stop * -1.0,
|
||||
-0.25 + wave_cos * 2.0,
|
||||
5.0 - wave * 1.5,
|
||||
);
|
||||
next.l_hand.ori =
|
||||
Quaternion::rotation_x(0.8 + wave_cos * 1.2) * Quaternion::rotation_y(wave_stop * 0.1);
|
||||
next.l_hand.scale = Vec3::one();
|
||||
|
||||
next.r_hand.offset = Vec3::new(6.0, -0.25 - wave_cos * 2.0, 5.0 + wave * 1.5);
|
||||
next.r_hand.ori = Quaternion::rotation_x(0.8 + wave_cos * -1.2);
|
||||
next.r_hand.offset = Vec3::new(
|
||||
6.0 + wave_stop * 1.0,
|
||||
-0.25 - wave_cos * 2.0,
|
||||
5.0 + wave * 1.5,
|
||||
);
|
||||
next.r_hand.ori = Quaternion::rotation_x(0.8 + wave_cos * -1.2)
|
||||
* Quaternion::rotation_y(wave_stop * -0.1);
|
||||
next.r_hand.scale = Vec3::one();
|
||||
|
||||
next.l_foot.offset = Vec3::new(-3.4, 0.0 + wave_cos * 1.0, 6.0 - wave_cos_dub * 0.7);
|
||||
|
@ -90,11 +90,11 @@ impl Animation for StandAnimation {
|
||||
next.weapon.ori = Quaternion::rotation_y(2.5) * Quaternion::rotation_z(1.57);
|
||||
next.weapon.scale = Vec3::one() + wave_ultra_slow_abs * -0.05;
|
||||
|
||||
next.l_shoulder.offset = Vec3::new(-5.0, 0.0, 4.7);
|
||||
next.l_shoulder.offset = Vec3::new(-5.0, 0.0, 5.0);
|
||||
next.l_shoulder.ori = Quaternion::rotation_x(0.0);
|
||||
next.l_shoulder.scale = (Vec3::one() + wave_ultra_slow_abs * -0.05) * 1.15;
|
||||
|
||||
next.r_shoulder.offset = Vec3::new(5.0, 0.0, 4.7);
|
||||
next.r_shoulder.offset = Vec3::new(5.0, 0.0, 5.0);
|
||||
next.r_shoulder.ori = Quaternion::rotation_x(0.0);
|
||||
next.r_shoulder.scale = (Vec3::one() + wave_ultra_slow_abs * -0.05) * 1.15;
|
||||
|
||||
|
@ -114,7 +114,7 @@ impl<'a> From<&'a comp::humanoid::Body> for SkeletonAttr {
|
||||
(Dwarf, Female) => 0.0,
|
||||
(Undead, Male) => 0.5,
|
||||
(Undead, Female) => 0.5,
|
||||
(Danari, Male) => 0.0,
|
||||
(Danari, Male) => 0.5,
|
||||
(Danari, Female) => 0.5,
|
||||
},
|
||||
neck_forward: match (body.race, body.body_type) {
|
||||
|
@ -206,8 +206,8 @@ impl<'a> Widget for Bag<'a> {
|
||||
}
|
||||
// Item
|
||||
if item.is_some() {
|
||||
Button::image(self.imgs.potion_red) // TODO: Insert variable image depending on the item displayed in that slot
|
||||
.w_h(4.0 * 4.4, 7.0 * 4.4) // TODO: Fix height and scale width correctly to that to avoid a stretched item image
|
||||
Button::image(self.imgs.flower) // TODO: Insert variable image depending on the item displayed in that slot
|
||||
.w_h(28.0, 28.0) // TODO: Fix height and scale width correctly to that to avoid a stretched item image
|
||||
.middle_of(state.ids.inv_slots[i]) // TODO: Items need to be assigned to a certain slot and then placed like in this example
|
||||
.label("5x") // TODO: Quantity goes here...
|
||||
.label_font_id(self.fonts.opensans)
|
||||
|
@ -146,7 +146,7 @@ impl<'a> Widget for CharacterWindow<'a> {
|
||||
// TODO: Use an actual character name.
|
||||
Text::new("Character Name")
|
||||
.mid_top_with_margin_on(state.charwindow_frame, 6.0)
|
||||
.font_id(self.fonts.metamorph)
|
||||
.font_id(self.fonts.ronda)
|
||||
.font_size(14)
|
||||
.color(TEXT_COLOR)
|
||||
.set(state.charwindow_title, ui);
|
||||
|
@ -106,8 +106,15 @@ image_ids! {
|
||||
twohaxe_m2: "voxygen.element.icons.2haxe_m2",
|
||||
flyingrod_m1: "voxygen.element.icons.debug_wand_m1",
|
||||
flyingrod_m2: "voxygen.element.icons.debug_wand_m2",
|
||||
|
||||
////////////////////////////////////////////////////////////////////////
|
||||
<VoxelMs9Graphic>
|
||||
// Icons
|
||||
flower: "voxygen.element.icons.item_flower",
|
||||
grass: "voxygen.element.icons.item_grass",
|
||||
apple: "voxygen.element.icons.item_apple",
|
||||
mushroom: "voxygen.element.icons.item_mushroom",
|
||||
|
||||
// Map
|
||||
map_indicator: "voxygen.element.buttons.map_indicator",
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
use super::{img_ids::Imgs, Fonts, Show, TEXT_COLOR_2};
|
||||
use super::{img_ids::Imgs, Fonts, Show, TEXT_COLOR};
|
||||
use client::{self, Client};
|
||||
use common::comp;
|
||||
use conrod_core::{
|
||||
@ -31,7 +31,7 @@ pub struct Map<'a> {
|
||||
client: &'a Client,
|
||||
|
||||
imgs: &'a Imgs,
|
||||
_fonts: &'a Fonts,
|
||||
fonts: &'a Fonts,
|
||||
#[conrod(common_builder)]
|
||||
common: widget::CommonBuilder,
|
||||
}
|
||||
@ -41,7 +41,7 @@ impl<'a> Map<'a> {
|
||||
_show: show,
|
||||
imgs,
|
||||
client,
|
||||
_fonts: fonts,
|
||||
fonts: fonts,
|
||||
common: widget::CommonBuilder::default(),
|
||||
}
|
||||
}
|
||||
@ -119,15 +119,16 @@ impl<'a> Widget for Map<'a> {
|
||||
// Location Name
|
||||
match self.client.current_chunk() {
|
||||
Some(chunk) => Text::new(chunk.meta().name())
|
||||
.mid_top_with_margin_on(state.ids.map_bg, 40.0)
|
||||
.font_size(40)
|
||||
.color(TEXT_COLOR_2)
|
||||
.mid_top_with_margin_on(state.ids.map_bg, 70.0)
|
||||
.font_size(20)
|
||||
.color(TEXT_COLOR)
|
||||
.parent(state.ids.map_frame_r)
|
||||
.set(state.ids.location_name, ui),
|
||||
None => Text::new(" ")
|
||||
.mid_top_with_margin_on(state.ids.map_bg, 3.0)
|
||||
.font_size(40)
|
||||
.color(TEXT_COLOR_2)
|
||||
.font_id(self.fonts.alkhemi)
|
||||
.color(TEXT_COLOR)
|
||||
.set(state.ids.location_name, ui),
|
||||
}
|
||||
// Map Image
|
||||
@ -150,8 +151,8 @@ impl<'a> Widget for Map<'a> {
|
||||
let y = player_pos.y as f64 / worldsize * 700.0;
|
||||
// Indicator
|
||||
Image::new(self.imgs.map_indicator)
|
||||
.bottom_left_with_margins_on(state.ids.grid, y, x - 11.5)
|
||||
.w_h(23.0, 25.0)
|
||||
.bottom_left_with_margins_on(state.ids.grid, y, x - (12.0 * 1.4) / 2.0)
|
||||
.w_h(12.0 * 1.4, 21.0 * 1.4)
|
||||
.floating(true)
|
||||
.parent(ui.window)
|
||||
.set(state.ids.indicator, ui);
|
||||
|
@ -29,7 +29,7 @@ pub struct MiniMap<'a> {
|
||||
client: &'a Client,
|
||||
|
||||
imgs: &'a Imgs,
|
||||
_fonts: &'a Fonts,
|
||||
fonts: &'a Fonts,
|
||||
#[conrod(common_builder)]
|
||||
common: widget::CommonBuilder,
|
||||
}
|
||||
@ -40,7 +40,7 @@ impl<'a> MiniMap<'a> {
|
||||
show,
|
||||
client,
|
||||
imgs,
|
||||
_fonts: fonts,
|
||||
fonts: fonts,
|
||||
common: widget::CommonBuilder::default(),
|
||||
}
|
||||
}
|
||||
@ -176,12 +176,14 @@ impl<'a> Widget for MiniMap<'a> {
|
||||
// Region Name
|
||||
Text::new(state.last_region_name.as_ref().unwrap_or(&"".to_owned()))
|
||||
.mid_top_with_margin_on(ui.window, 200.0)
|
||||
.font_size(80)
|
||||
.font_size(70)
|
||||
.font_id(self.fonts.alkhemi)
|
||||
.color(Color::Rgba(0.0, 0.0, 0.0, fade))
|
||||
.set(state.ids.zone_display_bg, ui);
|
||||
Text::new(state.last_region_name.as_ref().unwrap_or(&"".to_owned()))
|
||||
.top_left_with_margins_on(state.ids.zone_display_bg, -2.5, -2.5)
|
||||
.font_size(80)
|
||||
.font_size(70)
|
||||
.font_id(self.fonts.alkhemi)
|
||||
.color(Color::Rgba(1.0, 1.0, 1.0, fade))
|
||||
.set(state.ids.zone_display, ui);
|
||||
}
|
||||
@ -197,13 +199,14 @@ impl<'a> Widget for MiniMap<'a> {
|
||||
// Title
|
||||
match self.client.current_chunk() {
|
||||
Some(chunk) => Text::new(chunk.meta().name())
|
||||
.mid_top_with_margin_on(state.ids.mmap_frame, 3.0)
|
||||
.font_size(14)
|
||||
.mid_top_with_margin_on(state.ids.mmap_frame, 0.0)
|
||||
.font_size(18)
|
||||
.font_id(self.fonts.ronda)
|
||||
.color(TEXT_COLOR)
|
||||
.set(state.ids.mmap_location, ui),
|
||||
None => Text::new(" ")
|
||||
.mid_top_with_margin_on(state.ids.mmap_frame, 3.0)
|
||||
.font_size(14)
|
||||
.mid_top_with_margin_on(state.ids.mmap_frame, 0.0)
|
||||
.font_size(18)
|
||||
.color(TEXT_COLOR)
|
||||
.set(state.ids.mmap_location, ui),
|
||||
}
|
||||
|
@ -55,7 +55,7 @@ use crate::{discord, discord::DiscordUpdate};
|
||||
|
||||
const XP_COLOR: Color = Color::Rgba(0.59, 0.41, 0.67, 1.0);
|
||||
const TEXT_COLOR: Color = Color::Rgba(1.0, 1.0, 1.0, 1.0);
|
||||
const TEXT_COLOR_2: Color = Color::Rgba(0.0, 0.0, 0.0, 1.0);
|
||||
//const TEXT_COLOR_2: Color = Color::Rgba(0.0, 0.0, 0.0, 1.0);
|
||||
const TEXT_COLOR_3: Color = Color::Rgba(1.0, 1.0, 1.0, 0.1);
|
||||
//const BG_COLOR: Color = Color::Rgba(1.0, 1.0, 1.0, 0.8);
|
||||
const HP_COLOR: Color = Color::Rgba(0.33, 0.63, 0.0, 1.0);
|
||||
@ -136,8 +136,12 @@ widget_ids! {
|
||||
|
||||
font_ids! {
|
||||
pub struct Fonts {
|
||||
opensans: "voxygen.font.OpenSans-Regular",
|
||||
opensans: "voxygen.font.pf_ronda_seven",
|
||||
metamorph: "voxygen.font.Metamorphous-Regular",
|
||||
alkhemi: "voxygen.font.Alkhemikal",
|
||||
ronda_b: "voxygen.font.pf_ronda_seven_bold",
|
||||
wizard: "voxygen.font.wizard",
|
||||
ronda:"voxygen.font.pf_ronda_seven",
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -95,7 +95,7 @@ impl<'a> Widget for Quest<'a> {
|
||||
// TODO: Use an actual character name.
|
||||
Text::new("Quest")
|
||||
.mid_top_with_margin_on(state.quest_frame, 6.0)
|
||||
.font_id(self.fonts.metamorph)
|
||||
.font_id(self.fonts.ronda)
|
||||
.font_size(14)
|
||||
.color(TEXT_COLOR)
|
||||
.set(state.quest_title, ui);
|
||||
|
@ -90,7 +90,7 @@ pub enum ResourceType {
|
||||
pub struct Skillbar<'a> {
|
||||
global_state: &'a GlobalState,
|
||||
imgs: &'a Imgs,
|
||||
_fonts: &'a Fonts,
|
||||
fonts: &'a Fonts,
|
||||
stats: &'a Stats,
|
||||
#[conrod(common_builder)]
|
||||
common: widget::CommonBuilder,
|
||||
@ -106,7 +106,7 @@ impl<'a> Skillbar<'a> {
|
||||
) -> Self {
|
||||
Self {
|
||||
imgs,
|
||||
_fonts: fonts,
|
||||
fonts: fonts,
|
||||
stats,
|
||||
global_state,
|
||||
current_resource: ResourceType::Mana,
|
||||
@ -229,6 +229,7 @@ impl<'a> Widget for Skillbar<'a> {
|
||||
Text::new(&level_up_text)
|
||||
.middle_of(state.ids.level_align)
|
||||
.font_size(30)
|
||||
.font_id(self.fonts.ronda)
|
||||
.color(Color::Rgba(1.0, 1.0, 1.0, fade_level))
|
||||
.set(state.ids.level_message, ui);
|
||||
Image::new(self.imgs.level_up)
|
||||
@ -248,6 +249,7 @@ impl<'a> Widget for Skillbar<'a> {
|
||||
Text::new("You Died")
|
||||
.mid_top_with_margin_on(ui.window, 60.0)
|
||||
.font_size(40)
|
||||
.font_id(self.fonts.ronda)
|
||||
.color(Color::Rgba(0.0, 0.0, 0.0, 1.0))
|
||||
.set(state.ids.death_message_1_bg, ui);
|
||||
Text::new(&format!(
|
||||
@ -256,12 +258,14 @@ impl<'a> Widget for Skillbar<'a> {
|
||||
))
|
||||
.mid_bottom_with_margin_on(state.ids.death_message_1, -30.0)
|
||||
.font_size(15)
|
||||
.font_id(self.fonts.ronda)
|
||||
.color(Color::Rgba(0.0, 0.0, 0.0, 1.0))
|
||||
.set(state.ids.death_message_2_bg, ui);
|
||||
|
||||
Text::new("You Died")
|
||||
.top_left_with_margins_on(state.ids.death_message_1_bg, -2.0, -2.0)
|
||||
.font_size(40)
|
||||
.font_id(self.fonts.ronda)
|
||||
.color(CRITICAL_HP_COLOR)
|
||||
.set(state.ids.death_message_1, ui);
|
||||
Text::new(&format!(
|
||||
@ -298,11 +302,13 @@ impl<'a> Widget for Skillbar<'a> {
|
||||
Text::new(&level)
|
||||
.bottom_left_with_margins_on(state.ids.xp_bar_left, 3.5 * scale, 4.0 * scale)
|
||||
.font_size(10)
|
||||
.font_id(self.fonts.ronda)
|
||||
.color(Color::Rgba(1.0, 1.0, 1.0, 1.0))
|
||||
.set(state.ids.level_text, ui);
|
||||
Text::new(&next_level)
|
||||
.bottom_right_with_margins_on(state.ids.xp_bar_right, 3.5 * scale, 4.0 * scale)
|
||||
.font_size(10)
|
||||
.font_id(self.fonts.ronda)
|
||||
.color(Color::Rgba(1.0, 1.0, 1.0, 1.0))
|
||||
.set(state.ids.next_level_text, ui);
|
||||
// M1 Slot
|
||||
@ -370,6 +376,7 @@ impl<'a> Widget for Skillbar<'a> {
|
||||
4.0 * scale * 1.5,
|
||||
)
|
||||
.font_size(17)
|
||||
.font_id(self.fonts.ronda)
|
||||
.color(Color::Rgba(1.0, 1.0, 1.0, fade_xp))
|
||||
.set(state.ids.level_text, ui);
|
||||
Text::new(&next_level)
|
||||
@ -379,6 +386,7 @@ impl<'a> Widget for Skillbar<'a> {
|
||||
4.0 * scale * 1.5,
|
||||
)
|
||||
.font_size(17)
|
||||
.font_id(self.fonts.ronda)
|
||||
.color(Color::Rgba(1.0, 1.0, 1.0, fade_xp))
|
||||
.set(state.ids.next_level_text, ui);
|
||||
// Alignment for hotbar
|
||||
@ -538,61 +546,73 @@ impl<'a> Widget for Skillbar<'a> {
|
||||
Text::new("1")
|
||||
.top_right_with_margins_on(state.ids.slot1_bg, 1.0, 1.0)
|
||||
.font_size(8)
|
||||
.font_id(self.fonts.ronda)
|
||||
.color(TEXT_COLOR)
|
||||
.set(state.ids.slot1_text, ui);
|
||||
Text::new("2")
|
||||
.top_right_with_margins_on(state.ids.slot2_bg, 1.0, 1.0)
|
||||
.font_size(8)
|
||||
.font_id(self.fonts.ronda)
|
||||
.color(TEXT_COLOR)
|
||||
.set(state.ids.slot2_text, ui);
|
||||
Text::new("3")
|
||||
.top_right_with_margins_on(state.ids.slot3_bg, 1.0, 1.0)
|
||||
.font_size(8)
|
||||
.font_id(self.fonts.ronda)
|
||||
.color(TEXT_COLOR)
|
||||
.set(state.ids.slot3_text, ui);
|
||||
Text::new("4")
|
||||
.top_right_with_margins_on(state.ids.slot4_bg, 1.0, 1.0)
|
||||
.font_size(8)
|
||||
.font_id(self.fonts.ronda)
|
||||
.color(TEXT_COLOR)
|
||||
.set(state.ids.slot4_text, ui);
|
||||
Text::new("5")
|
||||
.top_right_with_margins_on(state.ids.slot5_bg, 1.0, 1.0)
|
||||
.font_size(8)
|
||||
.font_id(self.fonts.ronda)
|
||||
.color(TEXT_COLOR)
|
||||
.set(state.ids.slot5_text, ui);
|
||||
Text::new("M1")
|
||||
.top_left_with_margins_on(state.ids.m1_slot, 5.0, 5.0)
|
||||
.font_size(8)
|
||||
.font_id(self.fonts.ronda)
|
||||
.color(TEXT_COLOR)
|
||||
.set(state.ids.m1_text, ui);
|
||||
Text::new("M2")
|
||||
.top_right_with_margins_on(state.ids.m2_slot, 5.0, 5.0)
|
||||
.font_size(8)
|
||||
.font_id(self.fonts.ronda)
|
||||
.color(TEXT_COLOR)
|
||||
.set(state.ids.m2_text, ui);
|
||||
Text::new("6")
|
||||
.top_left_with_margins_on(state.ids.slot6_bg, 1.0, 1.0)
|
||||
.font_size(8)
|
||||
.font_id(self.fonts.ronda)
|
||||
.color(TEXT_COLOR)
|
||||
.set(state.ids.slot6_text, ui);
|
||||
Text::new("7")
|
||||
.top_left_with_margins_on(state.ids.slot7_bg, 1.0, 1.0)
|
||||
.font_size(8)
|
||||
.font_id(self.fonts.ronda)
|
||||
.color(TEXT_COLOR)
|
||||
.set(state.ids.slot7_text, ui);
|
||||
Text::new("8")
|
||||
.top_left_with_margins_on(state.ids.slot8_bg, 1.0, 1.0)
|
||||
.font_size(8)
|
||||
.font_id(self.fonts.ronda)
|
||||
.color(TEXT_COLOR)
|
||||
.set(state.ids.slot8_text, ui);
|
||||
Text::new("9")
|
||||
.top_left_with_margins_on(state.ids.slot9_bg, 1.0, 1.0)
|
||||
.font_size(8)
|
||||
.font_id(self.fonts.ronda)
|
||||
.color(TEXT_COLOR)
|
||||
.set(state.ids.slot9_text, ui);
|
||||
Text::new("Q")
|
||||
.top_left_with_margins_on(state.ids.slotq_bg, 1.0, 1.0)
|
||||
.font_size(8)
|
||||
.font_id(self.fonts.ronda)
|
||||
.color(TEXT_COLOR)
|
||||
.set(state.ids.slotq_text, ui);
|
||||
};
|
||||
@ -638,6 +658,7 @@ impl<'a> Widget for Skillbar<'a> {
|
||||
Text::new(&hp_text)
|
||||
.mid_top_with_margin_on(state.ids.healthbar_bg, 5.0 * scale)
|
||||
.font_size(14)
|
||||
.font_id(self.fonts.ronda)
|
||||
.color(TEXT_COLOR)
|
||||
.set(state.ids.health_text, ui);
|
||||
let energy_text = format!(
|
||||
@ -648,6 +669,7 @@ impl<'a> Widget for Skillbar<'a> {
|
||||
Text::new(&energy_text)
|
||||
.mid_top_with_margin_on(state.ids.energybar_bg, 5.0 * scale)
|
||||
.font_size(14)
|
||||
.font_id(self.fonts.ronda)
|
||||
.color(TEXT_COLOR)
|
||||
.set(state.ids.energy_text, ui);
|
||||
}
|
||||
@ -657,12 +679,14 @@ impl<'a> Widget for Skillbar<'a> {
|
||||
Text::new(&hp_text)
|
||||
.mid_top_with_margin_on(state.ids.healthbar_bg, 5.0 * scale)
|
||||
.font_size(14)
|
||||
.font_id(self.fonts.ronda)
|
||||
.color(TEXT_COLOR)
|
||||
.set(state.ids.health_text, ui);
|
||||
let energy_text = format!("{}%", energy_percentage as u32);
|
||||
Text::new(&energy_text)
|
||||
.mid_top_with_margin_on(state.ids.energybar_bg, 5.0 * scale)
|
||||
.font_size(14)
|
||||
.font_id(self.fonts.ronda)
|
||||
.color(TEXT_COLOR)
|
||||
.set(state.ids.energy_text, ui);
|
||||
}
|
||||
|
@ -117,7 +117,7 @@ impl<'a> Widget for Social<'a> {
|
||||
// Title
|
||||
Text::new("Social")
|
||||
.mid_top_with_margin_on(ids.social_frame, 6.0)
|
||||
.font_id(self.fonts.metamorph)
|
||||
.font_id(self.fonts.ronda)
|
||||
.font_size(14)
|
||||
.color(TEXT_COLOR)
|
||||
.set(ids.social_title, ui);
|
||||
|
@ -95,7 +95,7 @@ impl<'a> Widget for Spell<'a> {
|
||||
// TODO: Use an actual character name.
|
||||
Text::new("Spell")
|
||||
.mid_top_with_margin_on(state.spell_frame, 6.0)
|
||||
.font_id(self.fonts.metamorph)
|
||||
.font_id(self.fonts.ronda)
|
||||
.font_size(14)
|
||||
.color(TEXT_COLOR)
|
||||
.set(state.spell_title, ui);
|
||||
|
@ -43,6 +43,7 @@ widget_ids! {
|
||||
info_ok,
|
||||
info_no,
|
||||
delete_text,
|
||||
space,
|
||||
|
||||
// REMOVE THIS AFTER IMPLEMENTATION
|
||||
daggers_grey,
|
||||
@ -217,6 +218,10 @@ font_ids! {
|
||||
pub struct Fonts {
|
||||
opensans: "voxygen.font.OpenSans-Regular",
|
||||
metamorph: "voxygen.font.Metamorphous-Regular",
|
||||
alkhemi: "voxygen.font.Alkhemikal",
|
||||
ronda:"voxygen.font.pf_ronda_seven",
|
||||
ronda_b: "voxygen.font.pf_ronda_seven_bold",
|
||||
wizard: "voxygen.font.wizard",
|
||||
}
|
||||
}
|
||||
|
||||
@ -300,6 +305,7 @@ impl CharSelectionUi {
|
||||
})
|
||||
.title_font_size(15)
|
||||
.desc_font_size(10)
|
||||
.font_id(self.fonts.ronda)
|
||||
.title_text_color(TEXT_COLOR)
|
||||
.desc_text_color(TEXT_COLOR_2);
|
||||
|
||||
@ -319,7 +325,8 @@ impl CharSelectionUi {
|
||||
InfoContent::Deletion => {
|
||||
Text::new("Permanently delete this Character?")
|
||||
.mid_top_with_margin_on(self.ids.info_frame, 40.0)
|
||||
.font_size(20)
|
||||
.font_size(24)
|
||||
.font_id(self.fonts.ronda)
|
||||
.color(TEXT_COLOR)
|
||||
.set(self.ids.delete_text, ui_widgets);
|
||||
if Button::image(self.imgs.button)
|
||||
@ -329,6 +336,7 @@ impl CharSelectionUi {
|
||||
.press_image(self.imgs.button_press)
|
||||
.label_y(Relative::Scalar(2.0))
|
||||
.label("No")
|
||||
.label_font_id(self.fonts.ronda)
|
||||
.label_font_size(18)
|
||||
.label_color(TEXT_COLOR)
|
||||
.set(self.ids.info_no, ui_widgets)
|
||||
@ -344,6 +352,7 @@ impl CharSelectionUi {
|
||||
.label_y(Relative::Scalar(2.0))
|
||||
.label("Yes")
|
||||
.label_font_size(18)
|
||||
.label_font_id(self.fonts.ronda)
|
||||
.label_color(Color::Rgba(1.0, 1.0, 1.0, 0.1))
|
||||
.set(self.ids.info_ok, ui_widgets)
|
||||
.was_clicked()
|
||||
@ -386,8 +395,8 @@ impl CharSelectionUi {
|
||||
// Server Name
|
||||
Text::new(&client.server_info.name)
|
||||
.mid_top_with_margin_on(self.ids.server_frame_bg, 5.0)
|
||||
.font_size(24)
|
||||
.font_id(self.fonts.metamorph)
|
||||
.font_size(26)
|
||||
.font_id(self.fonts.ronda)
|
||||
.color(TEXT_COLOR)
|
||||
.set(self.ids.server_name_text, ui_widgets);
|
||||
//Change Server
|
||||
@ -399,6 +408,7 @@ impl CharSelectionUi {
|
||||
.press_image(self.imgs.button_press)
|
||||
.label("Change Server")
|
||||
.label_color(TEXT_COLOR)
|
||||
.label_font_id(self.fonts.ronda)
|
||||
.label_font_size(18)
|
||||
.label_y(conrod_core::position::Relative::Scalar(3.0))
|
||||
.set(self.ids.change_server, ui_widgets)
|
||||
@ -415,7 +425,8 @@ impl CharSelectionUi {
|
||||
.press_image(self.imgs.button_press)
|
||||
.label("Enter World")
|
||||
.label_color(TEXT_COLOR)
|
||||
.label_font_size(22)
|
||||
.label_font_size(26)
|
||||
.label_font_id(self.fonts.ronda)
|
||||
.label_y(conrod_core::position::Relative::Scalar(3.0))
|
||||
.set(self.ids.enter_world_button, ui_widgets)
|
||||
.was_clicked()
|
||||
@ -430,8 +441,9 @@ impl CharSelectionUi {
|
||||
.hover_image(self.imgs.button_hover)
|
||||
.press_image(self.imgs.button_press)
|
||||
.label("Logout")
|
||||
.label_font_id(self.fonts.ronda)
|
||||
.label_color(TEXT_COLOR)
|
||||
.label_font_size(18)
|
||||
.label_font_size(20)
|
||||
.label_y(conrod_core::position::Relative::Scalar(3.0))
|
||||
.set(self.ids.logout_button, ui_widgets)
|
||||
.was_clicked()
|
||||
@ -446,6 +458,7 @@ impl CharSelectionUi {
|
||||
.hover_image(self.imgs.button_hover)
|
||||
.press_image(self.imgs.button_press)
|
||||
.label("Create Character")
|
||||
.label_font_id(self.fonts.ronda)
|
||||
.label_color(TEXT_COLOR)
|
||||
.label_font_size(20)
|
||||
.label_y(conrod_core::position::Relative::Scalar(3.0))
|
||||
@ -460,7 +473,7 @@ impl CharSelectionUi {
|
||||
Text::new(version)
|
||||
.top_right_with_margins_on(ui_widgets.window, 5.0, 5.0)
|
||||
.font_size(14)
|
||||
.font_id(self.fonts.opensans)
|
||||
.font_id(self.fonts.ronda)
|
||||
.color(TEXT_COLOR)
|
||||
.set(self.ids.version, ui_widgets);
|
||||
|
||||
@ -471,6 +484,7 @@ impl CharSelectionUi {
|
||||
.image_color(Color::Rgba(1.0, 1.0, 1.0, 0.8))
|
||||
.hover_image(self.imgs.selection)
|
||||
.press_image(self.imgs.selection)
|
||||
.label_font_id(self.fonts.ronda)
|
||||
.label_y(conrod_core::position::Relative::Scalar(20.0))
|
||||
.set(self.ids.character_box_1, ui_widgets)
|
||||
.was_clicked()
|
||||
@ -490,21 +504,21 @@ impl CharSelectionUi {
|
||||
Text::new("Human Default")
|
||||
.top_left_with_margins_on(self.ids.character_box_1, 6.0, 9.0)
|
||||
.font_size(19)
|
||||
.font_id(self.fonts.metamorph)
|
||||
.font_id(self.fonts.ronda)
|
||||
.color(TEXT_COLOR)
|
||||
.set(self.ids.character_name_1, ui_widgets);
|
||||
|
||||
Text::new("Level 1")
|
||||
.down_from(self.ids.character_name_1, 4.0)
|
||||
.font_size(17)
|
||||
.font_id(self.fonts.opensans)
|
||||
.font_id(self.fonts.ronda)
|
||||
.color(TEXT_COLOR)
|
||||
.set(self.ids.character_level_1, ui_widgets);
|
||||
|
||||
Text::new("Uncanny Valley")
|
||||
.down_from(self.ids.character_level_1, 4.0)
|
||||
.font_size(17)
|
||||
.font_id(self.fonts.opensans)
|
||||
.font_id(self.fonts.ronda)
|
||||
.color(TEXT_COLOR)
|
||||
.set(self.ids.character_location_1, ui_widgets);
|
||||
|
||||
@ -522,21 +536,21 @@ impl CharSelectionUi {
|
||||
Text::new("Example 2nd Char")
|
||||
.top_left_with_margins_on(self.ids.character_box_2, 6.0, 9.0)
|
||||
.font_size(19)
|
||||
.font_id(self.fonts.metamorph)
|
||||
.font_id(self.fonts.ronda)
|
||||
.color(TEXT_COLOR)
|
||||
.set(self.ids.character_name_2, ui_widgets);
|
||||
|
||||
Text::new("Level ??")
|
||||
.down_from(self.ids.character_name_2, 4.0)
|
||||
.font_size(17)
|
||||
.font_id(self.fonts.opensans)
|
||||
.font_id(self.fonts.ronda)
|
||||
.color(TEXT_COLOR)
|
||||
.set(self.ids.character_level_2, ui_widgets);
|
||||
|
||||
Text::new("Plains of Uncertainty")
|
||||
.down_from(self.ids.character_level_2, 4.0)
|
||||
.font_size(17)
|
||||
.font_id(self.fonts.opensans)
|
||||
.font_id(self.fonts.ronda)
|
||||
.color(TEXT_COLOR)
|
||||
.set(self.ids.character_location_2, ui_widgets);
|
||||
}
|
||||
@ -549,8 +563,9 @@ impl CharSelectionUi {
|
||||
.hover_image(self.imgs.button_hover)
|
||||
.press_image(self.imgs.button_press)
|
||||
.label("Back")
|
||||
.label_font_id(self.fonts.ronda)
|
||||
.label_color(TEXT_COLOR)
|
||||
.label_font_size(18)
|
||||
.label_font_size(20)
|
||||
.label_y(conrod_core::position::Relative::Scalar(3.0))
|
||||
.set(self.ids.back_button, ui_widgets)
|
||||
.was_clicked()
|
||||
@ -564,8 +579,9 @@ impl CharSelectionUi {
|
||||
.hover_image(self.imgs.button_hover)
|
||||
.press_image(self.imgs.button_press)
|
||||
.label("Create")
|
||||
.label_font_id(self.fonts.ronda)
|
||||
.label_color(TEXT_COLOR)
|
||||
.label_font_size(18)
|
||||
.label_font_size(20)
|
||||
.label_y(conrod_core::position::Relative::Scalar(3.0))
|
||||
.set(self.ids.create_button, ui_widgets)
|
||||
.was_clicked()
|
||||
@ -586,9 +602,10 @@ impl CharSelectionUi {
|
||||
.w_h(300.0, 60.0)
|
||||
.mid_top_with_margin_on(self.ids.name_input, 2.0)
|
||||
.font_size(26)
|
||||
.font_id(self.fonts.metamorph)
|
||||
.font_id(self.fonts.ronda)
|
||||
.center_justify()
|
||||
.text_color(TEXT_COLOR)
|
||||
.font_id(self.fonts.ronda)
|
||||
.color(TRANSPARENT)
|
||||
.border_color(TRANSPARENT)
|
||||
.set(self.ids.name_field, ui_widgets)
|
||||
@ -623,7 +640,7 @@ impl CharSelectionUi {
|
||||
Text::new("Character Creation")
|
||||
.mid_top_with_margin_on(self.ids.creation_alignment, 10.0)
|
||||
.font_size(24)
|
||||
.font_id(self.fonts.metamorph)
|
||||
.font_id(self.fonts.ronda)
|
||||
.color(TEXT_COLOR)
|
||||
.set(self.ids.bodyrace_text, ui_widgets);
|
||||
// Alignment
|
||||
@ -967,7 +984,7 @@ impl CharSelectionUi {
|
||||
|
||||
// Sliders
|
||||
let (metamorph, slider_indicator, slider_range) = (
|
||||
self.fonts.metamorph,
|
||||
self.fonts.ronda,
|
||||
self.imgs.slider_indicator,
|
||||
self.imgs.slider_range,
|
||||
);
|
||||
@ -1102,7 +1119,7 @@ impl CharSelectionUi {
|
||||
Text::new("Beard")
|
||||
.mid_bottom_with_margin_on(self.ids.accessories_slider, -40.0)
|
||||
.font_size(18)
|
||||
.font_id(self.fonts.metamorph)
|
||||
.font_id(self.fonts.ronda)
|
||||
.color(TEXT_COLOR_2)
|
||||
.set(self.ids.beard_text, ui_widgets);
|
||||
ImageSlider::discrete(5, 0, 10, self.imgs.nothing, self.imgs.slider_range)
|
||||
@ -1119,7 +1136,7 @@ impl CharSelectionUi {
|
||||
let current_chest = self.character_body.chest;
|
||||
if let Some(new_val) = char_slider(
|
||||
self.ids.beard_slider,
|
||||
"Chest",
|
||||
"Chest Color",
|
||||
self.ids.chest_text,
|
||||
humanoid::ALL_CHESTS.len() - 1,
|
||||
humanoid::ALL_CHESTS
|
||||
@ -1132,7 +1149,7 @@ impl CharSelectionUi {
|
||||
self.character_body.chest = humanoid::ALL_CHESTS[new_val];
|
||||
}
|
||||
// Pants
|
||||
let current_pants = self.character_body.pants;
|
||||
/*let current_pants = self.character_body.pants;
|
||||
if let Some(new_val) = char_slider(
|
||||
self.ids.chest_slider,
|
||||
"Pants",
|
||||
@ -1146,7 +1163,10 @@ impl CharSelectionUi {
|
||||
ui_widgets,
|
||||
) {
|
||||
self.character_body.pants = humanoid::ALL_PANTS[new_val];
|
||||
}
|
||||
}*/
|
||||
Rectangle::fill_with([20.0, 20.0], color::TRANSPARENT)
|
||||
.down_from(self.ids.chest_slider, 15.0)
|
||||
.set(self.ids.space, ui_widgets);
|
||||
} // Char Creation fin
|
||||
|
||||
events
|
||||
|
@ -21,6 +21,8 @@ widget_ids! {
|
||||
bg,
|
||||
v_logo,
|
||||
alpha_version,
|
||||
banner,
|
||||
banner_top,
|
||||
// Disclaimer
|
||||
disc_window,
|
||||
disc_text_1,
|
||||
@ -71,6 +73,8 @@ image_ids! {
|
||||
button_press: "voxygen.element.buttons.button_press",
|
||||
disclaimer: "voxygen.element.frames.disclaimer",
|
||||
info_frame: "voxygen.element.frames.info_frame_2",
|
||||
banner: "voxygen.element.frames.banner",
|
||||
banner_top: "voxygen.element.frames.banner_top",
|
||||
|
||||
<ImageGraphic>
|
||||
bg: "voxygen.background.bg_main",
|
||||
@ -94,6 +98,10 @@ font_ids! {
|
||||
pub struct Fonts {
|
||||
opensans: "voxygen.font.OpenSans-Regular",
|
||||
metamorph: "voxygen.font.Metamorphous-Regular",
|
||||
alkhemi: "voxygen.font.Alkhemikal",
|
||||
ronda:"voxygen.font.pf_ronda_seven",
|
||||
ronda_b: "voxygen.font.pf_ronda_seven_bold",
|
||||
wizard: "voxygen.font.wizard",
|
||||
}
|
||||
}
|
||||
|
||||
@ -195,18 +203,33 @@ impl MainMenuUi {
|
||||
.desc_text_color(TEXT_COLOR_2);
|
||||
|
||||
// Background image, Veloren logo, Alpha-Version Label
|
||||
|
||||
Image::new(self.imgs.bg)
|
||||
.middle_of(ui_widgets.window)
|
||||
.set(self.ids.bg, ui_widgets);
|
||||
|
||||
Image::new(self.imgs.banner)
|
||||
.w_h(65.0 * 6.0, 100.0 * 6.0)
|
||||
.middle_of(self.ids.bg)
|
||||
.color(Some(Color::Rgba(1.0, 1.0, 1.0, 0.9)))
|
||||
.set(self.ids.banner, ui_widgets);
|
||||
|
||||
Image::new(self.imgs.banner_top)
|
||||
.w_h(65.0 * 6.0, 1.0 * 6.0)
|
||||
.mid_top_with_margin_on(self.ids.banner, 0.0)
|
||||
.set(self.ids.banner_top, ui_widgets);
|
||||
|
||||
// Logo
|
||||
Image::new(self.imgs.v_logo)
|
||||
.w_h(123.0 * 3.0, 35.0 * 3.0)
|
||||
.top_right_with_margins(30.0, 30.0)
|
||||
.w_h(123.0 * 2.5, 35.0 * 2.5)
|
||||
.mid_top_with_margin_on(self.ids.banner_top, 40.0)
|
||||
.color(Some(Color::Rgba(1.0, 1.0, 1.0, 0.95)))
|
||||
.set(self.ids.v_logo, ui_widgets);
|
||||
|
||||
Text::new(version)
|
||||
.top_right_with_margins_on(ui_widgets.window, 5.0, 5.0)
|
||||
.font_size(14)
|
||||
.font_id(self.fonts.opensans)
|
||||
.font_id(self.fonts.ronda)
|
||||
.color(TEXT_COLOR)
|
||||
.set(self.ids.version, ui_widgets);
|
||||
|
||||
@ -220,9 +243,8 @@ impl MainMenuUi {
|
||||
|
||||
Text::new("Disclaimer")
|
||||
.top_left_with_margins_on(self.ids.disc_window, 30.0, 40.0)
|
||||
.font_id(self.fonts.metamorph)
|
||||
.font_size(35)
|
||||
.font_id(self.fonts.metamorph)
|
||||
.font_id(self.fonts.alkhemi)
|
||||
.color(TEXT_COLOR)
|
||||
.set(self.ids.disc_text_1, ui_widgets);
|
||||
Text::new(
|
||||
@ -249,9 +271,8 @@ impl MainMenuUi {
|
||||
\n\
|
||||
~ The Veloren Devs")
|
||||
.top_left_with_margins_on(self.ids.disc_window, 110.0, 40.0)
|
||||
.font_id(self.fonts.metamorph)
|
||||
.font_size(26)
|
||||
.font_id(self.fonts.opensans)
|
||||
.font_id(self.fonts.ronda)
|
||||
.color(TEXT_COLOR)
|
||||
.set(self.ids.disc_text_2, ui_widgets);
|
||||
if Button::image(self.imgs.button)
|
||||
@ -261,8 +282,9 @@ impl MainMenuUi {
|
||||
.press_image(self.imgs.button_press)
|
||||
.label_y(Relative::Scalar(2.0))
|
||||
.label("Accept")
|
||||
.label_font_size(18)
|
||||
.label_font_size(22)
|
||||
.label_color(TEXT_COLOR)
|
||||
.label_font_id(self.fonts.ronda)
|
||||
.set(self.ids.disc_button, ui_widgets)
|
||||
.was_clicked()
|
||||
{
|
||||
@ -305,7 +327,7 @@ impl MainMenuUi {
|
||||
|
||||
// Username
|
||||
Rectangle::fill_with([320.0, 50.0], color::rgba(0.0, 0.0, 0.0, 0.97))
|
||||
.middle_of(ui_widgets.window)
|
||||
.mid_top_with_margin_on(self.ids.banner_top, 160.0)
|
||||
.set(self.ids.usrnm_bg, ui_widgets);
|
||||
Image::new(self.imgs.input_bg)
|
||||
.w_h(337.0, 67.0)
|
||||
@ -315,7 +337,7 @@ impl MainMenuUi {
|
||||
.w_h(290.0, 30.0)
|
||||
.mid_bottom_with_margin_on(self.ids.username_bg, 44.0 / 2.0)
|
||||
.font_size(22)
|
||||
.font_id(self.fonts.opensans)
|
||||
.font_id(self.fonts.ronda)
|
||||
.text_color(TEXT_COLOR)
|
||||
// transparent background
|
||||
.color(TRANSPARENT)
|
||||
@ -344,7 +366,7 @@ impl MainMenuUi {
|
||||
.w_h(290.0, 30.0)
|
||||
.mid_bottom_with_margin_on(self.ids.password_bg, 44.0 / 2.0)
|
||||
.font_size(22)
|
||||
.font_id(self.fonts.opensans)
|
||||
.font_id(self.fonts.ronda)
|
||||
.text_color(TEXT_COLOR)
|
||||
// transparent background
|
||||
.color(TRANSPARENT)
|
||||
@ -365,15 +387,15 @@ impl MainMenuUi {
|
||||
if let Some(popup_data) = &self.popup {
|
||||
let text = Text::new(&popup_data.msg)
|
||||
.rgba(1.0, 1.0, 1.0, 1.0)
|
||||
.font_size(30)
|
||||
.font_id(self.fonts.opensans);
|
||||
Rectangle::fill_with([400.0, 100.0], color::TRANSPARENT)
|
||||
.font_size(25)
|
||||
.font_id(self.fonts.ronda);
|
||||
Rectangle::fill_with([65.0 * 6.0, 100.0], color::TRANSPARENT)
|
||||
.rgba(0.1, 0.1, 0.1, 1.0)
|
||||
.parent(ui_widgets.window)
|
||||
.mid_top_with_margin_on(self.ids.username_bg, -35.0)
|
||||
.up_from(self.ids.banner_top, 20.0)
|
||||
.set(self.ids.login_error_bg, ui_widgets);
|
||||
Image::new(self.imgs.info_frame)
|
||||
.w_h(400.0, 100.0)
|
||||
.w_h(65.0 * 6.0, 100.0)
|
||||
.middle_of(self.ids.login_error_bg)
|
||||
.set(self.ids.error_frame, ui_widgets);
|
||||
text.mid_top_with_margin_on(self.ids.error_frame, 10.0)
|
||||
@ -385,7 +407,8 @@ impl MainMenuUi {
|
||||
.press_image(self.imgs.button_press)
|
||||
.label_y(Relative::Scalar(2.0))
|
||||
.label(&popup_data.button_text)
|
||||
.label_font_size(10)
|
||||
.label_font_id(self.fonts.ronda)
|
||||
.label_font_size(15)
|
||||
.label_color(TEXT_COLOR)
|
||||
.set(self.ids.button_ok, ui_widgets)
|
||||
.was_clicked()
|
||||
@ -435,6 +458,7 @@ impl MainMenuUi {
|
||||
.label_y(Relative::Scalar(2.0))
|
||||
.label(&text)
|
||||
.label_font_size(20)
|
||||
.label_font_id(self.fonts.ronda)
|
||||
.label_color(TEXT_COLOR),
|
||||
ui_widgets,
|
||||
)
|
||||
@ -453,6 +477,7 @@ impl MainMenuUi {
|
||||
.label_y(Relative::Scalar(2.0))
|
||||
.label("Close")
|
||||
.label_font_size(20)
|
||||
.label_font_id(self.fonts.ronda)
|
||||
.label_color(TEXT_COLOR)
|
||||
.set(self.ids.servers_close, ui_widgets)
|
||||
.was_clicked()
|
||||
@ -472,7 +497,7 @@ impl MainMenuUi {
|
||||
.w_h(290.0, 30.0)
|
||||
.mid_bottom_with_margin_on(self.ids.address_bg, 44.0 / 2.0)
|
||||
.font_size(22)
|
||||
.font_id(self.fonts.opensans)
|
||||
.font_id(self.fonts.ronda)
|
||||
.text_color(TEXT_COLOR)
|
||||
// transparent background
|
||||
.color(TRANSPARENT)
|
||||
@ -496,8 +521,9 @@ impl MainMenuUi {
|
||||
.down_from(self.ids.address_bg, 20.0)
|
||||
.align_middle_x_of(self.ids.address_bg)
|
||||
.label("Login")
|
||||
.label_font_id(self.fonts.ronda)
|
||||
.label_color(TEXT_COLOR)
|
||||
.label_font_size(24)
|
||||
.label_font_size(26)
|
||||
.label_y(Relative::Scalar(5.0))
|
||||
/*.with_tooltip(
|
||||
tooltip_manager,
|
||||
@ -522,6 +548,7 @@ impl MainMenuUi {
|
||||
.down_from(self.ids.login_button, 20.0)
|
||||
.align_middle_x_of(self.ids.address_bg)
|
||||
.label("Singleplayer")
|
||||
.label_font_id(self.fonts.ronda)
|
||||
.label_color(TEXT_COLOR)
|
||||
.label_font_size(22)
|
||||
.label_y(Relative::Scalar(5.0))
|
||||
@ -539,6 +566,7 @@ impl MainMenuUi {
|
||||
.hover_image(self.imgs.button_hover)
|
||||
.press_image(self.imgs.button_press)
|
||||
.label("Quit")
|
||||
.label_font_id(self.fonts.ronda)
|
||||
.label_color(TEXT_COLOR)
|
||||
.label_font_size(20)
|
||||
.label_y(Relative::Scalar(3.0))
|
||||
@ -555,6 +583,7 @@ impl MainMenuUi {
|
||||
//.hover_image(self.imgs.button_hover)
|
||||
//.press_image(self.imgs.button_press)
|
||||
.label("Settings")
|
||||
.label_font_id(self.fonts.ronda)
|
||||
.label_color(TEXT_COLOR_2)
|
||||
.label_font_size(20)
|
||||
.label_y(Relative::Scalar(3.0))
|
||||
@ -571,6 +600,7 @@ impl MainMenuUi {
|
||||
.hover_image(self.imgs.button_hover)
|
||||
.press_image(self.imgs.button_press)
|
||||
.label("Servers")
|
||||
.label_font_id(self.fonts.ronda)
|
||||
.label_color(TEXT_COLOR)
|
||||
.label_font_size(20)
|
||||
.label_y(Relative::Scalar(3.0))
|
||||
|
@ -58,8 +58,8 @@ fn color_segment(
|
||||
// TODO move some of the colors to common
|
||||
mat_segment.to_segment(|mat| match mat {
|
||||
Material::Skin => skin.rgb(),
|
||||
Material::SkinDark => skin.light_rgb(),
|
||||
Material::SkinLight => skin.dark_rgb(),
|
||||
Material::SkinDark => skin.dark_rgb(),
|
||||
Material::SkinLight => skin.light_rgb(),
|
||||
Material::Hair => hair_color,
|
||||
// TODO add back multiple colors
|
||||
Material::EyeLight => eye_color.light_rgb(),
|
||||
@ -201,11 +201,12 @@ pub fn mesh_chest(
|
||||
eye_color: u8,
|
||||
) -> Mesh<FigurePipeline> {
|
||||
let chest_color = match chest {
|
||||
Chest::Blue => (28, 66, 109),
|
||||
Chest::Brown => (54, 30, 26),
|
||||
Chest::Dark => (24, 19, 17),
|
||||
Chest::Green => (49, 95, 59),
|
||||
Chest::Orange => (148, 52, 33),
|
||||
Chest::Blue => (44, 74, 109),
|
||||
Chest::Brown => (90, 49, 43),
|
||||
Chest::Dark => (73, 63, 59),
|
||||
Chest::Green => (59, 95, 67),
|
||||
Chest::Orange => (109, 58, 58),
|
||||
Chest::Midnight => (29, 26, 33),
|
||||
};
|
||||
|
||||
let color = |mat_segment| {
|
||||
|
@ -82,7 +82,7 @@ fn sprite_config_for(kind: BlockKind) -> Option<SpriteConfig> {
|
||||
}),
|
||||
|
||||
BlockKind::BlueFlower => Some(SpriteConfig {
|
||||
variations: 5,
|
||||
variations: 6,
|
||||
wind_sway: 0.1,
|
||||
}),
|
||||
BlockKind::PinkFlower => Some(SpriteConfig {
|
||||
@ -237,7 +237,7 @@ impl<V: RectRasterableVol> Terrain<V> {
|
||||
(BlockKind::LargeCactus, 0),
|
||||
make_model(
|
||||
"voxygen.voxel.sprite.cacti.large_cactus",
|
||||
Vec3::new(-6.0, -6.0, 0.0),
|
||||
Vec3::new(-13.5, -5.5, 0.0),
|
||||
),
|
||||
),
|
||||
(
|
||||
@ -319,6 +319,13 @@ impl<V: RectRasterableVol> Terrain<V> {
|
||||
Vec3::new(-6.0, -6.0, 0.0),
|
||||
),
|
||||
),
|
||||
(
|
||||
(BlockKind::BlueFlower, 5),
|
||||
make_model(
|
||||
"voxygen.voxel.sprite.flowers.flower_blue_6",
|
||||
Vec3::new(-6.0, -6.0, 0.0),
|
||||
),
|
||||
),
|
||||
(
|
||||
(BlockKind::PinkFlower, 0),
|
||||
make_model(
|
||||
|
Loading…
x
Reference in New Issue
Block a user