diff options
author | BigBrotherNii <nicochr1004@gmail.com> | 2024-07-16 18:48:37 +0200 |
---|---|---|
committer | BigBrotherNii <nicochr1004@gmail.com> | 2024-07-16 18:48:37 +0200 |
commit | 4be5accf7d1d664c19eb3946a85741b630979266 (patch) | |
tree | aab5a4fede64ab410c22cba212afcb2a394c5bf0 /light-client/src/tilemap.rs | |
parent | f4de3a810769d902e8fd880f727b17b0bff60caa (diff) | |
parent | 4064c56783bd78b96b0e79d5a7b15b1fb0d8edad (diff) | |
download | hurrycurry-4be5accf7d1d664c19eb3946a85741b630979266.tar hurrycurry-4be5accf7d1d664c19eb3946a85741b630979266.tar.bz2 hurrycurry-4be5accf7d1d664c19eb3946a85741b630979266.tar.zst |
updated textures for light-client
Diffstat (limited to 'light-client/src/tilemap.rs')
-rw-r--r-- | light-client/src/tilemap.rs | 28 |
1 files changed, 11 insertions, 17 deletions
diff --git a/light-client/src/tilemap.rs b/light-client/src/tilemap.rs index e84db8b1..e7341efa 100644 --- a/light-client/src/tilemap.rs +++ b/light-client/src/tilemap.rs @@ -15,15 +15,19 @@ along with this program. If not, see <https://www.gnu.org/licenses/>. */ -use crate::sprite_renderer::SpriteRenderer; use hurrycurry_protocol::{glam::IVec2, TileIndex}; -use sdl2::rect::{FRect, Rect}; +use sdl2::rect::Rect; use std::collections::HashMap; +use crate::render::{ + sprite::{Sprite, SpriteDraw}, + SpriteRenderer, +}; + #[derive(Default)] pub struct Tilemap { tile_srcs: Vec<[Rect; 16]>, - tiles: HashMap<IVec2, (Rect, FRect)>, + tiles: HashMap<IVec2, SpriteDraw>, } impl Tilemap { @@ -72,23 +76,13 @@ impl Tilemap { idx |= 0b0010 * (Some(tile) == neighbors[3]) as usize; let src = self.tile_srcs[tile.0][idx]; - self.tiles.insert( - pos, - ( - src, - FRect::new( - pos.x as f32, - pos.y as f32 + 1. - src.height() as f32 / 24., - src.width() as f32 / 32., - src.height() as f32 / 24., - ), - ), - ); + self.tiles + .insert(pos, Sprite::new_tile(src).at(pos.as_vec2())); } pub fn draw(&self, ctx: &mut SpriteRenderer) { - for &(src, dst) in self.tiles.values() { - ctx.draw(dst.y + dst.h, src, dst); + for &sprite in self.tiles.values() { + ctx.draw_world(sprite); } } } |