--- 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,