(svn r1353) -Fix: [1092707] placing rocks in scenario editor. You can place rocks on trees and vice versa
--- a/main_gui.c Mon Jan 03 21:05:03 2005 +0000
+++ b/main_gui.c Mon Jan 03 21:26:09 2005 +0000
@@ -1202,11 +1202,10 @@
static void PlaceProc_RockyArea(uint tile)
{
- if (!IS_TILETYPE(tile, MP_CLEAR))
+ if (!IS_TILETYPE(tile, MP_CLEAR) && !IS_TILETYPE(tile, MP_TREES))
return;
- _map5[tile] = (_map5[tile] & ~0x1C) | 0xB;
- MarkTileDirtyByTile(tile);
+ ModifyTile(tile, MP_SETTYPE(MP_CLEAR) | MP_MAP5, (_map5[tile] & ~0x1C) | 0xB);
SndPlayTileFx(SND_1F_SPLAT, tile);
}
--- a/tree_cmd.c Mon Jan 03 21:05:03 2005 +0000
+++ b/tree_cmd.c Mon Jan 03 21:26:09 2005 +0000
@@ -181,14 +181,14 @@
// 2x as expensive to add more trees to an existing tile
cost += _price.build_trees * 2;
} else {
- // don't allow building on rocks
- if (ti.type != MP_CLEAR || _map_owner[ti.tile] != OWNER_NONE || (ti.map5 & 0x1C) == 8) {
+ if (ti.type != MP_CLEAR || _map_owner[ti.tile] != OWNER_NONE) {
_error_message = STR_2804_SITE_UNSUITABLE;
continue;
}
// it's expensive to clear farmland
if ((ti.map5 & 0x1F) == 0xF) cost += _price.clear_3;
+ else if ((ti.map5 & 0x1C) == 8) cost += _price.clear_2;
if (flags & DC_EXEC) {
int m2;