tree_cmd.c
changeset 1059 fe97d81a1b4f
parent 1035 812f837ee03f
child 1093 4fdc46eaf423
equal deleted inserted replaced
1058:e522c5d6ff69 1059:fe97d81a1b4f
    57 			_map2[tile] = (byte)(r >> 24)&0x1F; // randomize counter and ground
    57 			_map2[tile] = (byte)(r >> 24)&0x1F; // randomize counter and ground
    58 		}
    58 		}
    59 
    59 
    60 
    60 
    61 		// make it tree class
    61 		// make it tree class
    62 		_map_type_and_height[tile] |= MP_TREES << 4;
    62 		SetTileType(tile, MP_TREES);
    63 	}
    63 	}
    64 }
    64 }
    65 
    65 
    66 static void DoPlaceMoreTrees(uint tile)
    66 static void DoPlaceMoreTrees(uint tile)
    67 {
    67 {
   529 					_map2[tile] = 0;
   529 					_map2[tile] = 0;
   530 				}
   530 				}
   531 
   531 
   532 				_map3_lo[tile] = m3;
   532 				_map3_lo[tile] = m3;
   533 				_map3_hi[tile] = 0;
   533 				_map3_hi[tile] = 0;
   534 				_map_type_and_height[tile] &= 0xF;
   534 				SetTileType(tile, MP_TREES);
   535 				_map_type_and_height[tile] |= MP_TREES << 4;
       
   536 
   535 
   537 				m5 = 0;
   536 				m5 = 0;
   538 				break;
   537 				break;
   539 			}
   538 			}
   540 
   539 
   547 		if (m5 & 0xC0) {
   546 		if (m5 & 0xC0) {
   548 			/* more than one tree, delete it? */
   547 			/* more than one tree, delete it? */
   549 			m5 = ((m5 - 6) - 0x40) + 3;
   548 			m5 = ((m5 - 6) - 0x40) + 3;
   550 		} else {
   549 		} else {
   551 			/* just one tree, change type into MP_CLEAR */
   550 			/* just one tree, change type into MP_CLEAR */
   552 			_map_type_and_height[tile] = (_map_type_and_height[tile]&~0xF0) | (MP_CLEAR<<4);
   551 			SetTileType(tile, MP_CLEAR);
   553 
   552 
   554 			m5 = 3;
   553 			m5 = 3;
   555 			m2 = _map2[tile];
   554 			m2 = _map2[tile];
   556 			if ((m2&0x30) != 0) { // on snow/desert or rough land
   555 			if ((m2&0x30) != 0) { // on snow/desert or rough land
   557 				m5 = (m2 >> 6) | 0x10;
   556 				m5 = (m2 >> 6) | 0x10;