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.