mirror of
https://github.com/OpenTTD/OpenTTD.git
synced 2026-07-24 12:06:41 +00:00
(svn r16246) [0.7] -Backport from trunk:
- Fix: [Squirrel] the traps variable wasn't restored, causing try/catch blocks to be 'forgotten' during a suspend (r16181) - Add: [NoAI] Two new error codes to AITile: ERR_AREA_ALREADY_FLAT and ERR_EXCAVATION_WOULD_DAMAGE (r16171) - Add: [NoAI] AITile::Get(Min|Max|Corner)Height (r16166) - Add: [NoAI] Several functions to AIOrder to check the what kind of order an order is [FS#2801] (r16165) - Fix: [NoAI] AIOrder::GetOrderDestination and AIOrder::GetOrderFlags didn't work on ORDER_CURRENT when the vehicle was loading/leaving in a station (r16165) - Fix: [NoAI] Change WAYPOINT_INVALID to 0xFFFF from -1 as that is the value the AIs got (due to casting) (r16150)
This commit is contained in:
+25
-1
@@ -11,6 +11,7 @@
|
||||
#include "../../water_map.h"
|
||||
#include "../../clear_map.h"
|
||||
#include "../../town.h"
|
||||
#include "../../landscape.h"
|
||||
|
||||
/* static */ bool AITile::IsBuildable(TileIndex tile)
|
||||
{
|
||||
@@ -132,11 +133,34 @@
|
||||
|
||||
/* static */ int32 AITile::GetHeight(TileIndex tile)
|
||||
{
|
||||
if (!::IsValidTile(tile)) return false;
|
||||
if (!::IsValidTile(tile)) return -1;
|
||||
|
||||
return ::TileHeight(tile);
|
||||
}
|
||||
|
||||
/* static */ int32 AITile::GetMinHeight(TileIndex tile)
|
||||
{
|
||||
if (!::IsValidTile(tile)) return -1;
|
||||
|
||||
return ::GetTileZ(tile) / ::TILE_HEIGHT;
|
||||
}
|
||||
|
||||
/* static */ int32 AITile::GetMaxHeight(TileIndex tile)
|
||||
{
|
||||
if (!::IsValidTile(tile)) return -1;
|
||||
|
||||
return ::GetTileMaxZ(tile) / ::TILE_HEIGHT;
|
||||
}
|
||||
|
||||
/* static */ int32 AITile::GetCornerHeight(TileIndex tile, Corner corner)
|
||||
{
|
||||
if (!::IsValidTile(tile) || !::IsValidCorner((::Corner)corner)) return -1;
|
||||
|
||||
uint z;
|
||||
::Slope slope = ::GetTileSlope(tile, &z);
|
||||
return (z + ::GetSlopeZInCorner(slope, (::Corner)corner)) / ::TILE_HEIGHT;
|
||||
}
|
||||
|
||||
/* static */ AICompany::CompanyID AITile::GetOwner(TileIndex tile)
|
||||
{
|
||||
if (!::IsValidTile(tile)) return AICompany::COMPANY_INVALID;
|
||||
|
||||
Reference in New Issue
Block a user