summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorLizzy Fleckenstein <eliasfleckenstein@web.de>2023-04-10 19:08:30 +0200
committerLizzy Fleckenstein <eliasfleckenstein@web.de>2023-04-10 19:08:30 +0200
commit5bfa731a508492ac414a5b04bd453d528777bc1a (patch)
tree358709055e691dc0f0e40ba8c62cc8cd8ed87c60 /src
parenta87186860ec602c19f0d11528bef2d5123bc7e48 (diff)
downloadmt_client-5bfa731a508492ac414a5b04bd453d528777bc1a.tar.xz
Param1 light and allfaces
Diffstat (limited to 'src')
-rw-r--r--src/gfx/map.rs19
1 files changed, 15 insertions, 4 deletions
diff --git a/src/gfx/map.rs b/src/gfx/map.rs
index d95a4d2..dbedb77 100644
--- a/src/gfx/map.rs
+++ b/src/gfx/map.rs
@@ -19,11 +19,12 @@ pub struct MapRender {
struct Vertex {
pos: [f32; 3],
tex_coords: [f32; 2],
+ light: f32,
}
impl Vertex {
- const ATTRIBS: [wgpu::VertexAttribute; 2] =
- wgpu::vertex_attr_array![0 => Float32x3, 1 => Float32x2];
+ const ATTRIBS: [wgpu::VertexAttribute; 3] =
+ wgpu::vertex_attr_array![0 => Float32x3, 1 => Float32x2, 2 => Float32];
fn desc<'a>() -> wgpu::VertexBufferLayout<'a> {
wgpu::VertexBufferLayout {
@@ -62,11 +63,20 @@ impl MapRender {
};
use lerp::Lerp;
- use mt_net::DrawType;
+ use mt_net::{DrawType, Param1Type};
use std::array::from_fn as array;
match def.draw_type {
- DrawType::Cube => {
+ DrawType::Cube | DrawType::AllFaces | DrawType::AllFacesOpt => {
+ let light = match def.param1_type {
+ Param1Type::Light => {
+ println!("{}", block.param_1[index]);
+
+ block.param_1[index] as f32 / 15.0
+ }
+ _ => 1.0,
+ };
+
let pos: [i16; 3] = array(|i| ((index >> (4 * i)) & 0xf) as i16);
for (f, face) in CUBE.iter().enumerate() {
let dir = FACE_DIR[f];
@@ -98,6 +108,7 @@ impl MapRender {
vertices.push(Vertex {
pos: array(|i| pos[i] as f32 - 8.5 + vertex.0[i]),
tex_coords: array(|i| rect[i].start.lerp(rect[i].end, vertex.1[i])),
+ light,
})
}
}