summaryrefslogtreecommitdiff
path: root/src/to_clt/obj.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/to_clt/obj.rs')
-rw-r--r--src/to_clt/obj.rs50
1 files changed, 27 insertions, 23 deletions
diff --git a/src/to_clt/obj.rs b/src/to_clt/obj.rs
index 1b605cc..7ce9f32 100644
--- a/src/to_clt/obj.rs
+++ b/src/to_clt/obj.rs
@@ -16,33 +16,33 @@ pub struct ObjProps {
pub max_hp: u16, // player only
pub collide_with_nodes: bool,
pub weight: f32, // deprecated
- pub collision_box: RangeInclusive<[f32; 3]>,
- pub selection_box: RangeInclusive<[f32; 3]>,
+ pub collision_box: Aabb3<f32>,
+ pub selection_box: Aabb3<f32>,
pub pointable: bool,
pub visual: ObjVisual,
- pub visual_size: [f32; 3],
+ pub visual_size: Vector3<f32>,
pub textures: Vec<String>,
- pub sprite_sheet_size: [i16; 2], // in sprites
- pub sprite_pos: [i16; 2], // in sprite sheet
+ pub sprite_sheet_size: Vector2<i16>, // in sprites
+ pub sprite_pos: Point2<i16>, // in sprite sheet
pub visible: bool,
pub make_footstep_sounds: bool,
- pub rotate_speed: f32, // in radians per second
+ pub rotate_speed: Rad<f32>, // per second
pub mesh: String,
pub colors: Vec<Color>,
pub collide_with_objs: bool,
pub step_height: f32,
pub face_rotate_dir: bool,
- pub face_rotate_dir_off: f32, // in degrees
+ pub face_rotate_dir_off: Deg<f32>,
pub backface_cull: bool,
pub nametag: String,
pub nametag_color: Color,
- pub face_rotate_speed: f32, // in degrees per second
+ pub face_rotate_speed: Deg<f32>, // per second
pub infotext: String,
pub itemstring: String,
pub glow: i8,
- pub max_breath: u16, // player only
- pub eye_height: f32, // player only
- pub zoom_fov: f32, // in degrees. player only
+ pub max_breath: u16, // player only
+ pub eye_height: f32, // player only
+ pub zoom_fov: Deg<f32>, // player only
pub use_texture_alpha: bool,
pub dmg_texture_mod: String, // suffix
pub shaded: bool,
@@ -52,10 +52,13 @@ pub struct ObjProps {
#[mt_derive(to = "clt")]
pub struct ObjPos {
- pub pos: [f32; 3],
- pub vel: [f32; 3],
- pub acc: [f32; 3],
- pub rot: [f32; 3],
+ #[mt(multiplier = "BS")]
+ pub pos: Point3<f32>,
+ #[mt(multiplier = "BS")]
+ pub vel: Vector3<f32>,
+ #[mt(multiplier = "BS")]
+ pub acc: Vector3<f32>,
+ pub rot: Euler<Deg<f32>>,
pub interpolate: bool,
pub end: bool,
pub update_interval: f32,
@@ -63,7 +66,7 @@ pub struct ObjPos {
#[mt_derive(to = "clt")]
pub struct ObjSprite {
- pub frame0: [i16; 2],
+ pub frame_0: Point2<i16>,
pub frames: u16,
pub frame_duration: f32,
pub view_angle_frames: bool,
@@ -71,7 +74,7 @@ pub struct ObjSprite {
#[mt_derive(to = "clt")]
pub struct ObjAnim {
- pub frames: [i32; 2],
+ pub frames: Vector2<i32>,
pub speed: f32,
pub blend: f32,
pub no_loop: bool,
@@ -79,16 +82,16 @@ pub struct ObjAnim {
#[mt_derive(to = "clt")]
pub struct ObjBonePos {
- pub pos: [f32; 3],
- pub rot: [f32; 3],
+ pub pos: Point3<f32>,
+ pub rot: Euler<Deg<f32>>,
}
#[mt_derive(to = "clt")]
pub struct ObjAttach {
pub parent_id: u16,
pub bone: String,
- pub pos: [f32; 3],
- pub rot: [f32; 3],
+ pub pos: Point3<f32>,
+ pub rot: Euler<Deg<f32>>,
pub force_visible: bool,
}
@@ -152,8 +155,9 @@ pub struct ObjInitData {
pub name: String,
pub is_player: bool,
pub id: u16,
- pub pos: [f32; 3],
- pub rot: [f32; 3],
+ #[mt(multiplier = "BS")]
+ pub pos: Point3<f32>,
+ pub rot: Euler<Deg<f32>>,
pub hp: u16,
#[mt(len = "u8")]
pub msgs: Vec<ObjInitMsg>,