src/ai/api/ai_order.hpp
branchnoai
changeset 10146 ddbb8d2ae3ea
parent 10096 780921b39016
child 10149 a273c164cfab
--- a/src/ai/api/ai_order.hpp	Sat Apr 12 21:38:49 2008 +0000
+++ b/src/ai/api/ai_order.hpp	Sat Apr 12 22:28:07 2008 +0000
@@ -36,18 +36,34 @@
 		/** Just go to the station/depot, stop unload if possible and load if needed. */
 		AIOF_NONE              = 0,
 
-		/** Transfer instead of deliver the goods; only for stations. */
-		AIOF_TRANSFER          = 1 << 0,
-		/** Always unload the vehicle; only for stations. Cannot be set when AIOF_FULL_LOAD is set. */
-		AIOF_UNLOAD            = 1 << 1,
-		/** Wait till the the vehicle is fully loaded; only for stations. Cannot be set when AIOF_UNLOAD is set. */
-		AIOF_FULL_LOAD         = 1 << 2,
+		/** Do not stop at the stations that are passed when going to the destination. */
+		AIOF_NON_STOP_AT_INTERMEDIATE_STATIONS = 1 << 0,
+		/** Do not stop at the destionation station. */
+		AIOF_NON_STOP_AT_DESTINATION_STATION   = 1 << 1,
+
+		/** Always unload the vehicle; only for stations. Cannot be set when AIOF_TRANSFER or AIOF_NO_UNLOAD is set. */
+		AIOF_UNLOAD            = 1 << 2,
+		/** Transfer instead of deliver the goods; only for stations. Cannot be set when AIOF_UNLOAD or AIOF_NO_UNLOAD is set. */
+		AIOF_TRANSFER          = 1 << 3,
+		/** Never unload the vehicle; only for stations. Cannot be set when AIOF_UNLOAD, AIOF_TRANSFER or AIOF_NO_LOAD is set. */
+		AIOF_NO_UNLOAD         = 1 << 4,
+
+		/** Wait till the vehicle is fully loaded; only for stations. Cannot be set when AIOF_NO_LOAD is set. */
+		AIOF_FULL_LOAD         = 2 << 5,
+		/** Wait till at least one cargo of the vehicle is fully loaded; only for stations. Cannot be set when AIOF_NO_LOAD is set. */
+		AIOF_FULL_LOAD_ANY     = 3 << 5,
+		/** Do not load any cargo; only for stations. Cannot be set when AIOF_NO_UNLOAD, AIOF_FULL_LOAD or AIOF_FULL_LOAD_ANY is set. */
+		AIOF_NO_LOAD           = 1 << 7,
 
 		/** Service the vehicle when needed, otherwise skip this order; only for depots. */
 		AIOF_SERVICE_IF_NEEDED = 1 << 2,
 
-		/** Do not stop at the stations that are passed when going to the destination. */
-		AIOF_NON_STOP          = 1 << 3,
+		/** All flags related to non-stop settings. */
+		AIOF_NON_STOP_FLAGS    = AIOF_NON_STOP_AT_INTERMEDIATE_STATIONS | AIOF_NON_STOP_AT_DESTINATION_STATION,
+		/** All flags related to unloading. */
+		AIOF_UNLOAD_FLAGS      = AIOF_TRANSFER | AIOF_UNLOAD | AIOF_NO_UNLOAD,
+		/** All flags related to loading. */
+		AIOF_LOAD_FLAGS        = AIOF_FULL_LOAD | AIOF_FULL_LOAD_ANY | AIOF_NO_LOAD,
 
 		/** For marking invalid order flags */
 		AIOF_INVALID           = 0xFFFF,