diff -r 56ee7da4ad56 -r ddbb8d2ae3ea src/ai/api/ai_order.hpp --- 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,