From f5d43ffdf8444f967e71597bdb11fb295f118e15 Mon Sep 17 00:00:00 2001 From: SamuXarick <43006711+SamuXarick@users.noreply.github.com> Date: Thu, 30 Jan 2025 13:28:12 +0000 Subject: [PATCH] Change: [Script] GetWaypointID to return the StationID of any waypoint Modified ScriptWaypoint::GetWaypointID to also return the StationID of any waypoint (including road waypoint). --- src/script/api/ai_changelog.hpp | 1 + src/script/api/game_changelog.hpp | 1 + src/script/api/script_waypoint.cpp | 3 +-- src/script/api/script_waypoint.hpp | 5 +++-- 4 files changed, 6 insertions(+), 4 deletions(-) diff --git a/src/script/api/ai_changelog.hpp b/src/script/api/ai_changelog.hpp index 111474d3de..1aecd1a3d9 100644 --- a/src/script/api/ai_changelog.hpp +++ b/src/script/api/ai_changelog.hpp @@ -24,6 +24,7 @@ * * Other changes: * \li AIBridge::GetBridgeID renamed to AIBridge::GetBridgeType + * \li AIWaypoint::GetWaypointID now returns the StationID of any type of waypoint * * \b 14.0 * diff --git a/src/script/api/game_changelog.hpp b/src/script/api/game_changelog.hpp index 59ad146d29..249b610586 100644 --- a/src/script/api/game_changelog.hpp +++ b/src/script/api/game_changelog.hpp @@ -24,6 +24,7 @@ * * Other changes: * \li GSBridge::GetBridgeID renamed to GSBridge::GetBridgeType + * \li GSWaypoint::GetWaypointID now returns the StationID of any type of waypoint * * \b 14.0 * diff --git a/src/script/api/script_waypoint.cpp b/src/script/api/script_waypoint.cpp index 84c2a4aeb6..8de6bb12a2 100644 --- a/src/script/api/script_waypoint.cpp +++ b/src/script/api/script_waypoint.cpp @@ -24,8 +24,7 @@ /* static */ StationID ScriptWaypoint::GetWaypointID(TileIndex tile) { - if (!ScriptRail::IsRailWaypointTile(tile) && !ScriptMarine::IsBuoyTile(tile)) return STATION_INVALID; - + if (!::IsValidTile(tile) || !::IsTileType(tile, MP_STATION) || ::Waypoint::GetByTile(tile) == nullptr) return INVALID_STATION; return ::GetStationIndex(tile); } diff --git a/src/script/api/script_waypoint.hpp b/src/script/api/script_waypoint.hpp index 62f9e6c875..79220544fc 100644 --- a/src/script/api/script_waypoint.hpp +++ b/src/script/api/script_waypoint.hpp @@ -54,10 +54,11 @@ public: static bool IsValidWaypoint(StationID waypoint_id); /** - * Get the StationID of a tile. + * Get the StationID of a tile, if there is a waypoint. * @param tile The tile to find the StationID of. - * @pre ScriptRail::IsRailWaypointTile(tile). + * @pre IsValidTile(tile). * @return StationID of the waypoint. + * @post Use IsValidWaypoint() to see if the waypoint is valid. */ static StationID GetWaypointID(TileIndex tile);