(svn r3195) Use bitfields instead of explicit shifting/masking

This commit is contained in:
tron 2005-11-16 11:55:06 +00:00
parent 1806293e46
commit 8d57bfc921
2 changed files with 9 additions and 7 deletions

View File

@ -48,8 +48,10 @@ typedef struct DrawIndustryTileStruct {
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 @@ static void DrawTile_Industry(TileInfo *ti)
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);

View File

@ -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),