clear_cmd.c
changeset 2140 a04d0142ad65
parent 2051 e369160ce2f3
child 2150 f710b959b1c4
equal deleted inserted replaced
2139:63d965b6e229 2140:a04d0142ad65
   468 void DrawHillyLandTile(TileInfo *ti)
   468 void DrawHillyLandTile(TileInfo *ti)
   469 {
   469 {
   470 	if (ti->tileh != 0) {
   470 	if (ti->tileh != 0) {
   471 		DrawGroundSprite(0xFA0 + _tileh_to_sprite[ti->tileh]);
   471 		DrawGroundSprite(0xFA0 + _tileh_to_sprite[ti->tileh]);
   472 	} else {
   472 	} else {
   473 		DrawGroundSprite(_landscape_clear_sprites[((ti->x^ti->y) >> 4) & 0x7]);
   473 		DrawGroundSprite(_landscape_clear_sprites[GB(ti->x ^ ti->y, 4, 3)]);
   474 	}
   474 	}
   475 }
   475 }
   476 
   476 
   477 void DrawClearLandFence(TileInfo *ti, byte img)
   477 void DrawClearLandFence(TileInfo *ti, byte img)
   478 {
   478 {
   483 		if (ti->tileh == 0x17)
   483 		if (ti->tileh == 0x17)
   484 			z += 8;
   484 			z += 8;
   485 	}
   485 	}
   486 
   486 
   487 	if (img & 0x38) {
   487 	if (img & 0x38) {
   488 		DrawGroundSpriteAt(_clear_land_fence_sprites_1[((img >> 3) & 7) - 1] + _fence_mod_by_tileh[ti->tileh], ti->x, ti->y, z);
   488 		DrawGroundSpriteAt(_clear_land_fence_sprites_1[GB(img, 3, 3) - 1] + _fence_mod_by_tileh[ti->tileh], ti->x, ti->y, z);
   489 	}
   489 	}
   490 
   490 
   491 	if (img & 0x7) {
   491 	if (img & 0x7) {
   492 		DrawGroundSpriteAt(_clear_land_fence_sprites_1[(img & 7) - 1] + _fence_mod_by_tileh_2[ti->tileh], ti->x, ti->y, z);
   492 		DrawGroundSpriteAt(_clear_land_fence_sprites_1[GB(img, 0, 3) - 1] + _fence_mod_by_tileh_2[ti->tileh], ti->x, ti->y, z);
   493 	}
   493 	}
   494 }
   494 }
   495 
   495 
   496 static void DrawTile_Clear(TileInfo *ti)
   496 static void DrawTile_Clear(TileInfo *ti)
   497 {
   497 {
   783 	i = ScaleByMapSize((Random() & 0x7F) + 0x80);
   783 	i = ScaleByMapSize((Random() & 0x7F) + 0x80);
   784 	do {
   784 	do {
   785 		r = Random();
   785 		r = Random();
   786 		tile = RandomTileSeed(r);
   786 		tile = RandomTileSeed(r);
   787 		if (IsTileType(tile, MP_CLEAR)) {
   787 		if (IsTileType(tile, MP_CLEAR)) {
   788 			j = ((r >> 16) & 0xF) + 5;
   788 			j = GB(r, 16, 4) + 5;
   789 			for(;;) {
   789 			for(;;) {
   790 				TileIndex tile_new;
   790 				TileIndex tile_new;
   791 
   791 
   792 				_m[tile].m5 = (byte)((_m[tile].m5 & ~(3<<2)) | (2<<2));
   792 				_m[tile].m5 = (byte)((_m[tile].m5 & ~(3<<2)) | (2<<2));
   793 				do {
   793 				do {