summaryrefslogtreecommitdiff
path: root/src/ai/api/ai_order.cpp
diff options
context:
space:
mode:
authoryexo <yexo@openttd.org>2011-02-06 12:15:17 +0000
committeryexo <yexo@openttd.org>2011-02-06 12:15:17 +0000
commit6f730b11246ab085d3b6092175f6785702a756d7 (patch)
treeca15128f6332f860b207f9f62597adec40289095 /src/ai/api/ai_order.cpp
parent3bb7f7ebe4d097fe6061db5abf3bdc4fc10f9353 (diff)
downloadopenttd-6f730b11246ab085d3b6092175f6785702a756d7.tar.xz
(svn r21992) -Fix [FS#4467]: AIs trying to change the AIOF_GOTO_NEAREST_DEPOT flag for existing orders triggered an assert. Explicitly forbid this as precondition for SetOrderFlags
Diffstat (limited to 'src/ai/api/ai_order.cpp')
-rw-r--r--src/ai/api/ai_order.cpp2
1 files changed, 2 insertions, 0 deletions
diff --git a/src/ai/api/ai_order.cpp b/src/ai/api/ai_order.cpp
index 3bde539be..752291751 100644
--- a/src/ai/api/ai_order.cpp
+++ b/src/ai/api/ai_order.cpp
@@ -509,6 +509,8 @@ static void _DoCommandReturnSetOrderFlags(class AIInstance *instance)
AIOrderFlags current = GetOrderFlags(vehicle_id, order_position);
+ EnforcePrecondition(false, (order_flags & AIOF_GOTO_NEAREST_DEPOT) == (current & AIOF_GOTO_NEAREST_DEPOT));
+
if ((current & AIOF_NON_STOP_FLAGS) != (order_flags & AIOF_NON_STOP_FLAGS)) {
return AIObject::DoCommand(0, vehicle_id | (order_position << 20), (order_flags & AIOF_NON_STOP_FLAGS) << 4 | MOF_NON_STOP, CMD_MODIFY_ORDER, NULL, &_DoCommandReturnSetOrderFlags);
}