newtypes
This commit is contained in:
parent
567ce86370
commit
5e644c7eed
@ -8,8 +8,8 @@ pub struct Aabb{
|
|||||||
impl Into<strafesnet_common::aabb::Aabb> for Aabb{
|
impl Into<strafesnet_common::aabb::Aabb> for Aabb{
|
||||||
fn into(self)->strafesnet_common::aabb::Aabb{
|
fn into(self)->strafesnet_common::aabb::Aabb{
|
||||||
strafesnet_common::aabb::Aabb::new(
|
strafesnet_common::aabb::Aabb::new(
|
||||||
strafesnet_common::integer::Planar64Vec3::raw(self.min[0],self.min[1],self.min[2]),
|
strafesnet_common::integer::Planar64Vec3::raw_array(self.min),
|
||||||
strafesnet_common::integer::Planar64Vec3::raw(self.max[0],self.max[1],self.max[2]),
|
strafesnet_common::integer::Planar64Vec3::raw_array(self.max),
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -30,9 +30,9 @@ impl Into<strafesnet_common::gameplay_style::StyleModifiers> for StyleModifiers{
|
|||||||
walk:self.walk.map(Into::into),
|
walk:self.walk.map(Into::into),
|
||||||
ladder:self.ladder.map(Into::into),
|
ladder:self.ladder.map(Into::into),
|
||||||
swim:self.swim.map(Into::into),
|
swim:self.swim.map(Into::into),
|
||||||
gravity:strafesnet_common::integer::Planar64Vec3::raw(self.gravity[0],self.gravity[1],self.gravity[2]),
|
gravity:strafesnet_common::integer::Planar64Vec3::raw_array(self.gravity),
|
||||||
hitbox:self.hitbox.into(),
|
hitbox:self.hitbox.into(),
|
||||||
camera_offset:strafesnet_common::integer::Planar64Vec3::raw(self.camera_offset[0],self.camera_offset[1],self.camera_offset[2]),
|
camera_offset:strafesnet_common::integer::Planar64Vec3::raw_array(self.camera_offset),
|
||||||
mass:strafesnet_common::integer::Planar64::raw(self.mass),
|
mass:strafesnet_common::integer::Planar64::raw(self.mass),
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -211,7 +211,7 @@ pub struct Hitbox{
|
|||||||
impl Into<strafesnet_common::gameplay_style::Hitbox> for Hitbox{
|
impl Into<strafesnet_common::gameplay_style::Hitbox> for Hitbox{
|
||||||
fn into(self)->strafesnet_common::gameplay_style::Hitbox{
|
fn into(self)->strafesnet_common::gameplay_style::Hitbox{
|
||||||
strafesnet_common::gameplay_style::Hitbox{
|
strafesnet_common::gameplay_style::Hitbox{
|
||||||
halfsize:strafesnet_common::integer::Planar64Vec3::raw(self.halfsize[0],self.halfsize[1],self.halfsize[2]),
|
halfsize:strafesnet_common::integer::Planar64Vec3::raw_array(self.halfsize),
|
||||||
mesh:self.mesh.into(),
|
mesh:self.mesh.into(),
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -24,7 +24,7 @@ pub struct Polygon{
|
|||||||
pub struct PolygonGroup{
|
pub struct PolygonGroup{
|
||||||
pub count:u32,
|
pub count:u32,
|
||||||
#[br(count=count)]
|
#[br(count=count)]
|
||||||
pub vertices:Vec<Polygon>,
|
pub polys:Vec<Polygon>,
|
||||||
}
|
}
|
||||||
#[binrw::binrw]
|
#[binrw::binrw]
|
||||||
#[brw(little)]
|
#[brw(little)]
|
||||||
@ -75,6 +75,42 @@ pub struct Mesh{
|
|||||||
#[br(count=header.physics_groups)]
|
#[br(count=header.physics_groups)]
|
||||||
pub physics_groups:Vec<IndexedPhysicsGroup>,
|
pub physics_groups:Vec<IndexedPhysicsGroup>,
|
||||||
}
|
}
|
||||||
|
impl Into<strafesnet_common::model::Mesh> for Mesh{
|
||||||
|
fn into(self)->strafesnet_common::model::Mesh{
|
||||||
|
strafesnet_common::model::Mesh{
|
||||||
|
unique_pos:self.unique_pos.into_iter().map(strafesnet_common::integer::Planar64Vec3::raw_array).collect(),
|
||||||
|
unique_normal:self.unique_normal.into_iter().map(strafesnet_common::integer::Planar64Vec3::raw_array).collect(),
|
||||||
|
unique_tex:self.unique_tex.into_iter().map(strafesnet_common::model::TextureCoordinate::from_array).collect(),
|
||||||
|
unique_color:self.unique_color.into_iter().map(strafesnet_common::model::Color4::from_array).collect(),
|
||||||
|
unique_vertices:self.unique_vertices.into_iter().map(|vert|strafesnet_common::model::IndexedVertex{
|
||||||
|
pos:strafesnet_common::model::PositionId::new(vert.pos),
|
||||||
|
tex:strafesnet_common::model::TextureCoordinateId::new(vert.tex),
|
||||||
|
normal:strafesnet_common::model::NormalId::new(vert.normal),
|
||||||
|
color:strafesnet_common::model::ColorId::new(vert.color),
|
||||||
|
}).collect(),
|
||||||
|
polygon_groups:self.polygon_groups.into_iter().map(|group|
|
||||||
|
strafesnet_common::model::PolygonGroup::PolygonList(
|
||||||
|
strafesnet_common::model::PolygonList::new(
|
||||||
|
group.polys.into_iter().map(|vert|
|
||||||
|
vert.vertices.into_iter().map(strafesnet_common::model::VertexId::new).collect()
|
||||||
|
).collect()
|
||||||
|
)
|
||||||
|
)
|
||||||
|
).collect(),
|
||||||
|
graphics_groups:self.graphics_groups.into_iter().map(|group|
|
||||||
|
strafesnet_common::model::IndexedGraphicsGroup{
|
||||||
|
render:strafesnet_common::model::RenderConfigId::new(group.render),
|
||||||
|
groups:group.groups.into_iter().map(strafesnet_common::model::PolygonGroupId::new).collect(),
|
||||||
|
}
|
||||||
|
).collect(),
|
||||||
|
physics_groups:self.physics_groups.into_iter().map(|group|
|
||||||
|
strafesnet_common::model::IndexedPhysicsGroup{
|
||||||
|
groups:group.groups.into_iter().map(strafesnet_common::model::PolygonGroupId::new).collect(),
|
||||||
|
}
|
||||||
|
).collect(),
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
#[binrw::binrw]
|
#[binrw::binrw]
|
||||||
#[brw(little)]
|
#[brw(little)]
|
||||||
@ -93,11 +129,11 @@ impl Into<strafesnet_common::model::Model> for Model{
|
|||||||
color:strafesnet_common::model::Color4::from_array(self.color),
|
color:strafesnet_common::model::Color4::from_array(self.color),
|
||||||
transform:strafesnet_common::integer::Planar64Affine3::new(
|
transform:strafesnet_common::integer::Planar64Affine3::new(
|
||||||
strafesnet_common::integer::Planar64Mat3::from_cols(
|
strafesnet_common::integer::Planar64Mat3::from_cols(
|
||||||
strafesnet_common::integer::Planar64Vec3::raw(_0,_1,_2),
|
strafesnet_common::integer::Planar64Vec3::raw_xyz(_0,_1,_2),
|
||||||
strafesnet_common::integer::Planar64Vec3::raw(_3,_4,_5),
|
strafesnet_common::integer::Planar64Vec3::raw_xyz(_3,_4,_5),
|
||||||
strafesnet_common::integer::Planar64Vec3::raw(_6,_7,_8)
|
strafesnet_common::integer::Planar64Vec3::raw_xyz(_6,_7,_8)
|
||||||
),
|
),
|
||||||
strafesnet_common::integer::Planar64Vec3::raw(_9,_a,_b)
|
strafesnet_common::integer::Planar64Vec3::raw_xyz(_9,_a,_b)
|
||||||
),
|
),
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user