rust/lib-hedgewars-engine/src/render/map.rs
changeset 16084 36862a9ec59b
parent 15762 84c07aa94b61
--- a/rust/lib-hedgewars-engine/src/render/map.rs	Mon Feb 03 16:32:44 2025 +0100
+++ b/rust/lib-hedgewars-engine/src/render/map.rs	Mon Feb 03 16:52:05 2025 +0100
@@ -82,7 +82,7 @@
     tile_layout: InputLayout,
 
     tile_size: Size,
-    num_tile_x: usize,
+    num_tile_x: u32,
 }
 
 impl MapRenderer {
@@ -147,8 +147,8 @@
 
         let tw = self.tile_size.width;
         let th = self.tile_size.height;
-        let lw = land.width();
-        let lh = land.height();
+        let lw = land.width() as u32;
+        let lh = land.height() as u32;
         let num_tile_x = lw / tw;
         let num_tile_y = lh / th;
 
@@ -156,14 +156,14 @@
 
         for y in 0..num_tile_y {
             for x in 0..num_tile_x {
-                let idx = x + y * num_tile_x;
+                let idx = (x + y * num_tile_x) as usize;
 
                 let (data, stride) = {
                     let bpp = 4;
 
                     let offset = x * tw * bpp + y * th * lw * bpp;
 
-                    let data = unsafe { &land.as_bytes()[offset..] };
+                    let data = unsafe { &land.as_bytes()[offset as usize..] };
                     let stride = land.width();
 
                     (data, NonZeroU32::new(stride as u32))
@@ -187,7 +187,7 @@
                 } else {
                     let texture_region = Rect::at_origin(self.tile_size);
 
-                    self.textures[idx].update(
+                    self.textures[idx as usize].update(
                         texture_region,
                         data,
                         stride,
@@ -219,8 +219,8 @@
         self.index_offset = 0;
 
         for (idx, tile) in self.tiles.iter().enumerate() {
-            let tile_x = idx % self.num_tile_x;
-            let tile_y = idx / self.num_tile_x;
+            let tile_x = idx as u32 % self.num_tile_x;
+            let tile_y = idx as u32 / self.num_tile_x;
             let tile_w = self.tile_size.width;
             let tile_h = self.tile_size.width;