veloren_voxygen/settings/
hud_position.rs1use serde::{Deserialize, Serialize};
2use vek::Vec2;
3
4pub const DEFAULT_OWN_BAG_WIDTH: f64 = 424.0;
5pub const DEFAULT_OWN_BAG_HEIGHT: f64 = 708.0;
6pub const DEFAULT_OTHER_BAG_WIDTH: f64 = 424.0;
7pub const DEFAULT_OTHER_BAG_HEIGHT: f64 = 548.0;
8
9pub const DEFAULT_OWN_BAG_POSITION_MARGIN_BOTTOM: f64 = 70.0;
10pub const DEFAULT_OWN_BAG_POSITION_MARGIN_RIGHT: f64 = 5.0;
11pub const DEFAULT_OTHER_BAG_POSITION_MARGIN_BOTTOM: f64 = 230.0;
12pub const DEFAULT_OTHER_BAG_POSITION_MARGIN_LEFT: f64 = 5.0;
13
14pub const MINIMAP_POSITION_MARGIN_TOP: f64 = 5.0;
15pub const MINIMAP_POSITION_MARGIN_RIGHT: f64 = 5.0;
16
17pub const CRAFTING_POSITION_MARGIN_BOTTOM: f64 = 308.0;
18pub const CRAFTING_POSITION_MARGIN_RIGHT: f64 = 450.0;
19
20pub const SOCIAL_POSITION_MARGIN_LEFT: f64 = 25.0;
21pub const SOCIAL_POSITION_MARGIN_BOTTOM: f64 = 308.0;
22
23#[derive(Clone, Debug, Serialize, Deserialize)]
24#[serde(default)]
25pub struct BagHudPosition {
26 pub own: Vec2<f64>,
27 pub other: Vec2<f64>,
28}
29
30impl Default for BagHudPosition {
31 fn default() -> Self {
32 Self {
33 own: [
34 DEFAULT_OWN_BAG_POSITION_MARGIN_RIGHT,
35 DEFAULT_OWN_BAG_POSITION_MARGIN_BOTTOM,
36 ]
37 .into(),
38 other: [
39 DEFAULT_OTHER_BAG_POSITION_MARGIN_LEFT,
40 DEFAULT_OTHER_BAG_POSITION_MARGIN_BOTTOM,
41 ]
42 .into(),
43 }
44 }
45}
46
47#[derive(Clone, Debug, Serialize, Deserialize)]
48#[serde(default)]
49pub struct HudPositionSettings {
50 pub bag: BagHudPosition,
51 pub minimap: Vec2<f64>,
52 pub crafting: Vec2<f64>,
53 pub social: Vec2<f64>,
54}
55
56impl Default for HudPositionSettings {
57 fn default() -> Self {
58 Self {
59 bag: BagHudPosition::default(),
60 minimap: [MINIMAP_POSITION_MARGIN_RIGHT, MINIMAP_POSITION_MARGIN_TOP].into(),
61 crafting: [
62 CRAFTING_POSITION_MARGIN_RIGHT,
63 CRAFTING_POSITION_MARGIN_BOTTOM,
64 ]
65 .into(),
66 social: [SOCIAL_POSITION_MARGIN_LEFT, SOCIAL_POSITION_MARGIN_BOTTOM].into(),
67 }
68 }
69}