tree_cmd.c
changeset 1202 7d8b86bd8ba2
parent 1093 e8d26c7dc42f
child 1209 a1ac96655b79
equal deleted inserted replaced
1201:790c46deeba4 1202:7d8b86bd8ba2
    88 	} while (--i);
    88 	} while (--i);
    89 }
    89 }
    90 
    90 
    91 static void PlaceMoreTrees(void)
    91 static void PlaceMoreTrees(void)
    92 {
    92 {
    93 	int i = (Random() & 0x1F) + 25;
    93 	int i = ScaleByMapSize((Random() & 0x1F) + 25);
    94 	do {
    94 	do {
    95 		DoPlaceMoreTrees(TILE_MASK(Random()));
    95 		DoPlaceMoreTrees(TILE_MASK(Random()));
    96 	} while (--i);
    96 	} while (--i);
    97 }
    97 }
    98 
    98 
   100 {
   100 {
   101 	int i;
   101 	int i;
   102 	uint32 r;
   102 	uint32 r;
   103 	uint tile;
   103 	uint tile;
   104 
   104 
   105 	i = 1000;
   105 	i = ScaleByMapSize(1000);
   106 	do {
   106 	do {
   107 		r = Random();
   107 		r = Random();
   108 		tile = TILE_MASK(r);
   108 		tile = TILE_MASK(r);
   109 		/* Only on clear tiles, and NOT on farm-tiles or rocks */
   109 		/* Only on clear tiles, and NOT on farm-tiles or rocks */
   110 		if (IsTileType(tile, MP_CLEAR) && (_map5[tile] & 0x1F) != 0x0F && (_map5[tile] & 0x1C) != 8) {
   110 		if (IsTileType(tile, MP_CLEAR) && (_map5[tile] & 0x1F) != 0x0F && (_map5[tile] & 0x1C) != 8) {
   112 		}
   112 		}
   113 	} while (--i);
   113 	} while (--i);
   114 
   114 
   115 	/* place extra trees at rainforest area */
   115 	/* place extra trees at rainforest area */
   116 	if (_opt.landscape == LT_DESERT) {
   116 	if (_opt.landscape == LT_DESERT) {
   117 		i = 15000;
   117 		i = ScaleByMapSize(15000);
   118 
   118 
   119 		do {
   119 		do {
   120 			r = Random();
   120 			r = Random();
   121 			tile = TILE_MASK(r);
   121 			tile = TILE_MASK(r);
   122 			if (IsTileType(tile, MP_CLEAR) && GetMapExtraBits(tile) == 2) {
   122 			if (IsTileType(tile, MP_CLEAR) && GetMapExtraBits(tile) == 2) {