Mercurial > hg > openttd
changeset 19707:61f3434b2ee3 draft
(svn r24628) -Fix: Document and enforce precondition start != end for ScriptRoad::RemoveRoad and ScriptRoad::RemoveRoadFull
author | zuu <zuu@openttd.org> |
---|---|
date | Thu, 25 Oct 2012 19:25:31 +0000 |
parents | fd51aec2ae5f |
children | 8bed18a6134e |
files | src/script/api/script_road.cpp src/script/api/script_road.hpp |
diffstat | 2 files changed, 4 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- a/src/script/api/script_road.cpp +++ b/src/script/api/script_road.cpp @@ -537,6 +537,7 @@ /* static */ bool ScriptRoad::RemoveRoad(TileIndex start, TileIndex end) { EnforcePrecondition(false, ScriptObject::GetCompany() != OWNER_DEITY); + EnforcePrecondition(false, start != end); EnforcePrecondition(false, ::IsValidTile(start)); EnforcePrecondition(false, ::IsValidTile(end)); EnforcePrecondition(false, ::TileX(start) == ::TileX(end) || ::TileY(start) == ::TileY(end)); @@ -548,6 +549,7 @@ /* static */ bool ScriptRoad::RemoveRoadFull(TileIndex start, TileIndex end) { EnforcePrecondition(false, ScriptObject::GetCompany() != OWNER_DEITY); + EnforcePrecondition(false, start != end); EnforcePrecondition(false, ::IsValidTile(start)); EnforcePrecondition(false, ::IsValidTile(end)); EnforcePrecondition(false, ::TileX(start) == ::TileX(end) || ::TileY(start) == ::TileY(end));
--- a/src/script/api/script_road.hpp +++ b/src/script/api/script_road.hpp @@ -418,6 +418,7 @@ * Removes a road from the center of tile start to the center of tile end. * @param start The start tile of the road. * @param end The end tile of the road. + * @pre 'start' is not equal to 'end'. * @pre ScriptMap::IsValidTile(start). * @pre ScriptMap::IsValidTile(end). * @pre 'start' and 'end' are in a straight line, i.e. @@ -437,6 +438,7 @@ * included). * @param start The start tile of the road. * @param end The end tile of the road. + * @pre 'start' is not equal to 'end'. * @pre ScriptMap::IsValidTile(start). * @pre ScriptMap::IsValidTile(end). * @pre 'start' and 'end' are in a straight line, i.e.