summaryrefslogtreecommitdiff
path: root/src/water_map.h
diff options
context:
space:
mode:
authorrubidium <rubidium@openttd.org>2009-10-20 12:31:11 +0000
committerrubidium <rubidium@openttd.org>2009-10-20 12:31:11 +0000
commit06c55863ca6b5bff147c2b11f08f7193fc2a9f81 (patch)
treee0fb63960f5f733fb24b066f452a67f4551f8f67 /src/water_map.h
parent9696e3e39bcfa5092221e1db9d75769700f0482b (diff)
downloadopenttd-06c55863ca6b5bff147c2b11f08f7193fc2a9f81.tar.xz
(svn r17817) -Codechange: MakeWater actually made sea tiles, so rename it to MakeSea and unduplicate the code to make sea, rivers and canals.
Diffstat (limited to 'src/water_map.h')
-rw-r--r--src/water_map.h59
1 files changed, 36 insertions, 23 deletions
diff --git a/src/water_map.h b/src/water_map.h
index 7210c90ca..b266aecc1 100644
--- a/src/water_map.h
+++ b/src/water_map.h
@@ -148,18 +148,6 @@ static inline byte GetWaterTileRandomBits(TileIndex t)
}
-static inline void MakeWater(TileIndex t)
-{
- SetTileType(t, MP_WATER);
- SetTileOwner(t, OWNER_WATER);
- _m[t].m2 = 0;
- _m[t].m3 = WATER_CLASS_SEA;
- _m[t].m4 = 0;
- _m[t].m5 = 0;
- SB(_m[t].m6, 2, 4, 0);
- _me[t].m7 = 0;
-}
-
static inline void MakeShore(TileIndex t)
{
SetTileType(t, MP_WATER);
@@ -172,29 +160,54 @@ static inline void MakeShore(TileIndex t)
_me[t].m7 = 0;
}
-static inline void MakeRiver(TileIndex t, uint8 random_bits)
+/**
+ * Helper function for making a watery tile.
+ * @param t The tile to change into water
+ * @param o The owner of the water
+ * @param wc The class of water the tile has to be
+ * @param random_bits Eventual random bits to be set for this tile
+ */
+static inline void MakeWater(TileIndex t, Owner o, WaterClass wc, uint8 random_bits)
{
SetTileType(t, MP_WATER);
- SetTileOwner(t, OWNER_WATER);
+ SetTileOwner(t, o);
_m[t].m2 = 0;
- _m[t].m3 = WATER_CLASS_RIVER;
+ _m[t].m3 = wc;
_m[t].m4 = random_bits;
_m[t].m5 = 0;
SB(_m[t].m6, 2, 4, 0);
_me[t].m7 = 0;
}
+/**
+ * Make a sea tile.
+ * @param t The tile to change into sea
+ */
+static inline void MakeSea(TileIndex t)
+{
+ MakeWater(t, OWNER_WATER, WATER_CLASS_SEA, 0);
+}
+
+/**
+ * Make a river tile
+ * @param t The tile to change into river
+ * @param random_bits Random bits to be set for this tile
+ */
+static inline void MakeRiver(TileIndex t, uint8 random_bits)
+{
+ MakeWater(t, OWNER_WATER, WATER_CLASS_RIVER, random_bits);
+}
+
+/**
+ * Make a canal tile
+ * @param t The tile to change into canal
+ * @param o The owner of the canal
+ * @param random_bits Random bits to be set for this tile
+ */
static inline void MakeCanal(TileIndex t, Owner o, uint8 random_bits)
{
assert(o != OWNER_WATER);
- SetTileType(t, MP_WATER);
- SetTileOwner(t, o);
- _m[t].m2 = 0;
- _m[t].m3 = WATER_CLASS_CANAL;
- _m[t].m4 = random_bits;
- _m[t].m5 = 0;
- SB(_m[t].m6, 2, 4, 0);
- _me[t].m7 = 0;
+ MakeWater(t, o, WATER_CLASS_CANAL, random_bits);
}
static inline void MakeShipDepot(TileIndex t, Owner o, DepotID did, DepotPart base, Axis a, WaterClass original_water_class)