diff --git a/godot/native/libroutes_native.so b/godot/native/libroutes_native.so index 06496e7..1c0105a 100755 Binary files a/godot/native/libroutes_native.so and b/godot/native/libroutes_native.so differ diff --git a/routes-native/src/stateserver/world.rs b/routes-native/src/stateserver/world.rs index 4b78618..1b689e2 100644 --- a/routes-native/src/stateserver/world.rs +++ b/routes-native/src/stateserver/world.rs @@ -6,13 +6,13 @@ pub struct World { xsize: usize, ysize: usize, zsize: usize, - tiles: Vec>>, + tiles: Vec>>, } impl World { pub fn get_tile_at(&self, x: usize, y: usize, z: usize) -> u16{ //TODO: error handling, or maybe just do that in godot - self.tiles[x][y][z] + self.tiles[x][y][z] as u16 } pub fn generate(&mut self) -> Vector3Array{ self.tiles = get_vec3(self.xsize, self.ysize, self.zsize); @@ -21,7 +21,7 @@ impl World { for y in 0..self.ysize { for z in 0..self.zsize { ret.push(Vector3::new(x as f32, y as f32, z as f32)); - self.tiles[x][y][z] = tiles::Tiletypes::Dirt as u16; + self.tiles[x][y][z] = tiles::Tiletypes::Dirt; } } } @@ -37,14 +37,14 @@ impl World { } } -fn get_vec3(xsize: usize, ysize: usize, zsize: usize) -> Vec>> { - let mut zvec: Vec = Vec::with_capacity(zsize); - zvec.resize(zsize, 0); +fn get_vec3(xsize: usize, ysize: usize, zsize: usize) -> Vec>> { + let mut zvec: Vec = Vec::with_capacity(zsize); + zvec.resize(zsize, tiles::Tiletypes::Air); - let mut yvec: Vec> = Vec::with_capacity(ysize); + let mut yvec: Vec> = Vec::with_capacity(ysize); yvec.resize(ysize, zvec.clone()); - let mut xvec: Vec>> = Vec::with_capacity(xsize); + let mut xvec: Vec>> = Vec::with_capacity(xsize); xvec.resize(ysize, yvec.clone()); yvec.push(zvec); diff --git a/routes-native/src/stateserver/world/tiles.rs b/routes-native/src/stateserver/world/tiles.rs index fa824b8..dd126f2 100644 --- a/routes-native/src/stateserver/world/tiles.rs +++ b/routes-native/src/stateserver/world/tiles.rs @@ -1,8 +1,8 @@ use derive_builder::Builder; use strum::{AsRefStr, EnumDiscriminants, EnumIter, FromRepr}; -#[derive(AsRefStr, EnumIter, FromRepr, EnumDiscriminants, Clone)] -#[repr(u16)] +#[derive(AsRefStr, EnumIter, FromRepr, EnumDiscriminants, Clone, Copy)] +#[repr(u8)] pub enum Tiletypes { Air, Water,