diff -r a4cbc6926439 -r 5d302b12d837 rust/landgen/src/wavefront_collapse/generator.rs --- a/rust/landgen/src/wavefront_collapse/generator.rs Tue Jan 28 10:37:46 2025 +0100 +++ b/rust/landgen/src/wavefront_collapse/generator.rs Tue Jan 28 15:49:45 2025 +0100 @@ -91,10 +91,8 @@ let mut reader = decoder.read_info()?; let info = reader.info(); - let mut tiles_image = vec2d::Vec2D::new( - &Size::new(info.width as usize, info.height as usize), - parameters.zero, - ); + let mut tiles_image = + vec2d::Vec2D::new(&Size::new(info.width, info.height), parameters.zero); let mut buf = vec![0; reader.output_buffer_size()]; let info = reader.next_frame(&mut buf)?; @@ -325,19 +323,20 @@ // render tiles into resulting land array let mut result = land2d::Land2D::new(&self.template.size, parameters.zero); - let offset_y = result.height() - result.play_height(); - let offset_x = (result.width() - result.play_width()) / 2; + let offset_y = result.height() - result.play_height() as usize; + let offset_x = (result.width() - result.play_width() as usize) / 2; - for row in 0..wfc_size.height { - for column in 0..wfc_size.width { + for row in 0..wfc_size.height as usize { + for column in 0..wfc_size.width as usize { if let Some(Tile::Numbered(tile_index)) = wfc.grid().get(row, column) { let tile = &tiles[*tile_index]; - for tile_row in 0..tile.size().height { - for tile_column in 0..tile.size().width { + for tile_row in 0..tile.size().height as usize { + for tile_column in 0..tile.size().width as usize { result.map( - (row * tile.size().height + tile_row + offset_y) as i32, - (column * tile.size().width + tile_column + offset_x) as i32, + (row * tile.size().height as usize + tile_row + offset_y) as i32, + (column * tile.size().width as usize + tile_column + offset_x) + as i32, |p| { *p = *tile.get(tile_row, tile_column).unwrap_or(¶meters.zero)