mirror of https://github.com/OpenTTD/OpenTTD.git
(svn r17817) -Codechange: MakeWater actually made sea tiles, so rename it to MakeSea and unduplicate the code to make sea, rivers and canals.
This commit is contained in:
parent
9696e3e39b
commit
06c55863ca
|
@ -926,7 +926,7 @@ bool AfterLoadGame()
|
||||||
MakeShore(t);
|
MakeShore(t);
|
||||||
} else {
|
} else {
|
||||||
if (GetTileOwner(t) == OWNER_WATER) {
|
if (GetTileOwner(t) == OWNER_WATER) {
|
||||||
MakeWater(t);
|
MakeSea(t);
|
||||||
} else {
|
} else {
|
||||||
MakeCanal(t, GetTileOwner(t), Random());
|
MakeCanal(t, GetTileOwner(t), Random());
|
||||||
}
|
}
|
||||||
|
@ -1484,7 +1484,7 @@ bool AfterLoadGame()
|
||||||
if (IsWater(t)) {
|
if (IsWater(t)) {
|
||||||
Owner o = GetTileOwner(t);
|
Owner o = GetTileOwner(t);
|
||||||
if (o == OWNER_WATER) {
|
if (o == OWNER_WATER) {
|
||||||
MakeWater(t);
|
MakeSea(t);
|
||||||
} else {
|
} else {
|
||||||
MakeCanal(t, o, Random());
|
MakeCanal(t, o, Random());
|
||||||
}
|
}
|
||||||
|
|
|
@ -165,7 +165,7 @@ void MakeWaterKeepingClass(TileIndex tile, Owner o)
|
||||||
if (wc == WATER_CLASS_SEA && z > 0) wc = WATER_CLASS_CANAL;
|
if (wc == WATER_CLASS_SEA && z > 0) wc = WATER_CLASS_CANAL;
|
||||||
|
|
||||||
switch (wc) {
|
switch (wc) {
|
||||||
case WATER_CLASS_SEA: MakeWater(tile); break;
|
case WATER_CLASS_SEA: MakeSea(tile); break;
|
||||||
case WATER_CLASS_CANAL: MakeCanal(tile, o, Random()); break;
|
case WATER_CLASS_CANAL: MakeCanal(tile, o, Random()); break;
|
||||||
case WATER_CLASS_RIVER: MakeRiver(tile, Random()); break;
|
case WATER_CLASS_RIVER: MakeRiver(tile, Random()); break;
|
||||||
default: DoClearSquare(tile); break;
|
default: DoClearSquare(tile); break;
|
||||||
|
@ -337,7 +337,7 @@ CommandCost CmdBuildCanal(TileIndex tile, DoCommandFlag flags, uint32 p1, uint32
|
||||||
|
|
||||||
if (flags & DC_EXEC) {
|
if (flags & DC_EXEC) {
|
||||||
if (TileHeight(tile) == 0 && p2 == 1) {
|
if (TileHeight(tile) == 0 && p2 == 1) {
|
||||||
MakeWater(tile);
|
MakeSea(tile);
|
||||||
} else if (p2 == 2) {
|
} else if (p2 == 2) {
|
||||||
MakeRiver(tile, Random());
|
MakeRiver(tile, Random());
|
||||||
} else {
|
} else {
|
||||||
|
@ -947,7 +947,7 @@ void DoFloodTile(TileIndex target)
|
||||||
|
|
||||||
/* flood flat tile */
|
/* flood flat tile */
|
||||||
if (CmdSucceeded(DoCommand(target, 0, 0, DC_EXEC, CMD_LANDSCAPE_CLEAR))) {
|
if (CmdSucceeded(DoCommand(target, 0, 0, DC_EXEC, CMD_LANDSCAPE_CLEAR))) {
|
||||||
MakeWater(target);
|
MakeSea(target);
|
||||||
MarkTileDirtyByTile(target);
|
MarkTileDirtyByTile(target);
|
||||||
flooded = true;
|
flooded = true;
|
||||||
}
|
}
|
||||||
|
@ -1067,7 +1067,7 @@ void ConvertGroundTilesIntoWaterTiles()
|
||||||
* during the generation. */
|
* during the generation. */
|
||||||
switch (slope) {
|
switch (slope) {
|
||||||
case SLOPE_FLAT:
|
case SLOPE_FLAT:
|
||||||
MakeWater(tile);
|
MakeSea(tile);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case SLOPE_N:
|
case SLOPE_N:
|
||||||
|
|
|
@ -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)
|
static inline void MakeShore(TileIndex t)
|
||||||
{
|
{
|
||||||
SetTileType(t, MP_WATER);
|
SetTileType(t, MP_WATER);
|
||||||
|
@ -172,29 +160,54 @@ static inline void MakeShore(TileIndex t)
|
||||||
_me[t].m7 = 0;
|
_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);
|
SetTileType(t, MP_WATER);
|
||||||
SetTileOwner(t, OWNER_WATER);
|
SetTileOwner(t, o);
|
||||||
_m[t].m2 = 0;
|
_m[t].m2 = 0;
|
||||||
_m[t].m3 = WATER_CLASS_RIVER;
|
_m[t].m3 = wc;
|
||||||
_m[t].m4 = random_bits;
|
_m[t].m4 = random_bits;
|
||||||
_m[t].m5 = 0;
|
_m[t].m5 = 0;
|
||||||
SB(_m[t].m6, 2, 4, 0);
|
SB(_m[t].m6, 2, 4, 0);
|
||||||
_me[t].m7 = 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)
|
static inline void MakeCanal(TileIndex t, Owner o, uint8 random_bits)
|
||||||
{
|
{
|
||||||
assert(o != OWNER_WATER);
|
assert(o != OWNER_WATER);
|
||||||
SetTileType(t, MP_WATER);
|
MakeWater(t, o, WATER_CLASS_CANAL, random_bits);
|
||||||
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;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static inline void MakeShipDepot(TileIndex t, Owner o, DepotID did, DepotPart base, Axis a, WaterClass original_water_class)
|
static inline void MakeShipDepot(TileIndex t, Owner o, DepotID did, DepotPart base, Axis a, WaterClass original_water_class)
|
||||||
|
|
Loading…
Reference in New Issue