Skip to content

Commit

Permalink
Add OpenTTD#5377: [script] ScriptTile::IsRiverTile (based on patch by…
Browse files Browse the repository at this point in the history
… krinn)
  • Loading branch information
Leffe108 committed Apr 26, 2018
1 parent 8e4bce5 commit d9ab89f
Show file tree
Hide file tree
Showing 6 changed files with 20 additions and 0 deletions.
1 change: 1 addition & 0 deletions src/script/api/ai/ai_tile.hpp.sq
Original file line number Diff line number Diff line change
Expand Up @@ -84,6 +84,7 @@ void SQAITile_Register(Squirrel *engine)
SQAITile.DefSQStaticMethod(engine, &ScriptTile::IsBuildable, "IsBuildable", 2, ".i");
SQAITile.DefSQStaticMethod(engine, &ScriptTile::IsBuildableRectangle, "IsBuildableRectangle", 4, ".iii");
SQAITile.DefSQStaticMethod(engine, &ScriptTile::IsWaterTile, "IsWaterTile", 2, ".i");
SQAITile.DefSQStaticMethod(engine, &ScriptTile::IsRiverTile, "IsRiverTile", 2, ".i");
SQAITile.DefSQStaticMethod(engine, &ScriptTile::IsCoastTile, "IsCoastTile", 2, ".i");
SQAITile.DefSQStaticMethod(engine, &ScriptTile::IsStationTile, "IsStationTile", 2, ".i");
SQAITile.DefSQStaticMethod(engine, &ScriptTile::IsSteepSlope, "IsSteepSlope", 2, ".i");
Expand Down
2 changes: 2 additions & 0 deletions src/script/api/ai_changelog.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,8 @@
* \b 1.9.0
*
* 1.9.0 is not yet released. The following changes are not set in stone yet.
* API additions:
* \li GSTile::IsRiverTile
*
* \b 1.8.0
*
Expand Down
1 change: 1 addition & 0 deletions src/script/api/game/game_tile.hpp.sq
Original file line number Diff line number Diff line change
Expand Up @@ -84,6 +84,7 @@ void SQGSTile_Register(Squirrel *engine)
SQGSTile.DefSQStaticMethod(engine, &ScriptTile::IsBuildable, "IsBuildable", 2, ".i");
SQGSTile.DefSQStaticMethod(engine, &ScriptTile::IsBuildableRectangle, "IsBuildableRectangle", 4, ".iii");
SQGSTile.DefSQStaticMethod(engine, &ScriptTile::IsWaterTile, "IsWaterTile", 2, ".i");
SQGSTile.DefSQStaticMethod(engine, &ScriptTile::IsRiverTile, "IsRiverTile", 2, ".i");
SQGSTile.DefSQStaticMethod(engine, &ScriptTile::IsCoastTile, "IsCoastTile", 2, ".i");
SQGSTile.DefSQStaticMethod(engine, &ScriptTile::IsStationTile, "IsStationTile", 2, ".i");
SQGSTile.DefSQStaticMethod(engine, &ScriptTile::IsSteepSlope, "IsSteepSlope", 2, ".i");
Expand Down
1 change: 1 addition & 0 deletions src/script/api/game_changelog.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,7 @@
* \li GSViewport::ScrollEveryoneTo
* \li GSViewport::ScrollCompanyClientsTo
* \li GSViewport::ScrollClientTo
* \li GSTile::IsRiverTile
*
* \b 1.8.0
*
Expand Down
7 changes: 7 additions & 0 deletions src/script/api/script_tile.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -67,6 +67,13 @@
return ::IsTileType(tile, MP_WATER) && !::IsCoast(tile);
}

/* static */ bool ScriptTile::IsRiverTile(TileIndex tile)
{
if (!::IsValidTile(tile)) return false;

return ::IsTileType(tile, MP_WATER) && ::IsRiver(tile);
}

/* static */ bool ScriptTile::IsCoastTile(TileIndex tile)
{
if (!::IsValidTile(tile)) return false;
Expand Down
8 changes: 8 additions & 0 deletions src/script/api/script_tile.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -165,6 +165,14 @@ class ScriptTile : public ScriptObject {
*/
static bool IsWaterTile(TileIndex tile);

/**
* Checks whether the given tile is actually a river tile.
* @param tile The tile to check on.
* @pre ScriptMap::IsValidTile(tile).
* @return True if and only if the tile is a river tile.
*/
static bool IsRiverTile(TileIndex tile);

/**
* Checks whether the given tile is actually a coast tile.
* @param tile The tile to check.
Expand Down

0 comments on commit d9ab89f

Please sign in to comment.