From 02a02382d63258e96a685ef9e8b3a14462a9f85d Mon Sep 17 00:00:00 2001
From: P. J. McDermott <pj@pehjota.net>
Date: Thu, 25 Mar 2021 15:10:14 -0400
Subject: map: Set rects in fewer lines

---
(limited to 'src')

diff --git a/src/map.c b/src/map.c
index 2ac3ebd..8a23915 100644
--- a/src/map.c
+++ b/src/map.c
@@ -525,12 +525,10 @@ _db_map_render_layer(struct db_map *map, struct db_map_layer *layer,
 			continue;
 		}
 		tile_found = SDL_FALSE;
-		layer_rect.x  = i % map->w;
-		layer_rect.y  = i / map->w;
-		layer_rect.w  = map->tw;
-		layer_rect.h  = map->th;
-		layer_rect.x *= layer_rect.w;
-		layer_rect.y *= layer_rect.h;
+		layer_rect.x = map->tw * (i % map->w);
+		layer_rect.y = map->th * (i / map->w);
+		layer_rect.w = map->tw;
+		layer_rect.h = map->th;
 		for (tileset = map->tileset_head; tileset != NULL;
 				tileset = db_tileset_next(tileset)) {
 			firstgid = db_tileset_firstgid(tileset);
@@ -538,12 +536,10 @@ _db_map_render_layer(struct db_map *map, struct db_map_layer *layer,
 			if (gid >= firstgid && gid < lastgid) {
 				columns = db_tileset_columns(tileset);
 				gid -= firstgid;
-				tile_rect.x  = gid % columns;
-				tile_rect.y  = gid / columns;
+				tile_rect.x  = map->tw * (gid % columns);
+				tile_rect.y  = map->th * (gid / columns);
 				tile_rect.w  = map->tw;
 				tile_rect.h  = map->th;
-				tile_rect.x *= tile_rect.w;
-				tile_rect.y *= tile_rect.h;
 				db_dbg("Blitting %dx%d tile at (%d,%d) "
 						"onto %dx%d area of layer at "
 						"(%d,%d)...",
--
cgit v0.9.1