(svn r3195) Use bitfields instead of explicit shifting/masking
authortron
Wed, 16 Nov 2005 11:55:06 +0000
changeset 2653 b1945642bf27
parent 2652 733e6877ccb1
child 2654 1370de8783d3
(svn r3195) Use bitfields instead of explicit shifting/masking
industry_cmd.c
table/industry_land.h
--- a/industry_cmd.c	Wed Nov 16 11:52:21 2005 +0000
+++ b/industry_cmd.c	Wed Nov 16 11:55:06 2005 +0000
@@ -48,8 +48,10 @@
 	uint32 sprite_1;
 	uint32 sprite_2;
 
-	byte subtile_xy;
-	byte width_height;
+	byte subtile_x:4;
+	byte subtile_y:4;
+	byte width:4;
+	byte height:4;
 	byte dz;
 	byte proc;
 } DrawIndustryTileStruct;
@@ -377,10 +379,10 @@
 		if (_display_opt & DO_TRANS_BUILDINGS) MAKE_TRANSPARENT(image);
 
 		AddSortableSpriteToDraw(image,
-			ti->x | (dits->subtile_xy>>4),
-			ti->y | (dits->subtile_xy&0xF),
-			(dits->width_height>>4)+1,
-			(dits->width_height&0xF)+1,
+			ti->x + dits->subtile_x,
+			ti->y + dits->subtile_y,
+			dits->width  + 1,
+			dits->height + 1,
 			dits->dz,
 			z);
 
--- a/table/industry_land.h	Wed Nov 16 11:52:21 2005 +0000
+++ b/table/industry_land.h	Wed Nov 16 11:55:06 2005 +0000
@@ -1,6 +1,6 @@
 /* $Id$ */
 
-#define M(s1,s2,sx,sy,w,h,dz,p) {s1,s2,(sx<<4)|sy,((w-1)<<4)|(h-1),dz,p}
+#define M(s1, s2, sx, sy, w, h, dz, p) { s1, s2, sx, sy, w - 1, h - 1, dz, p }
 
 static const DrawIndustryTileStruct _industry_draw_tile_data[700] = {
 	M(     0xf54,      0x7db,  7,  0,  9,  9,  10, 0),