summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorrubidium <rubidium@openttd.org>2010-08-19 20:34:51 +0000
committerrubidium <rubidium@openttd.org>2010-08-19 20:34:51 +0000
commit983883a2b91b161035842a2b50e134136ea0fd64 (patch)
tree9bb61ed102ef0bf07076379682ef845c63441a80
parent64c178467d602c6b4d225dc28d774076311e4805 (diff)
downloadopenttd-983883a2b91b161035842a2b50e134136ea0fd64.tar.xz
(svn r20570) -Codechange: free/reserve some bits in the timetable commands to increase the vehicle pool limit
-rw-r--r--src/timetable_cmd.cpp22
-rw-r--r--src/timetable_gui.cpp2
2 files changed, 12 insertions, 12 deletions
diff --git a/src/timetable_cmd.cpp b/src/timetable_cmd.cpp
index fff2fd5fb..0f8fc39e9 100644
--- a/src/timetable_cmd.cpp
+++ b/src/timetable_cmd.cpp
@@ -49,12 +49,12 @@ static void ChangeTimetable(Vehicle *v, VehicleOrderID order_number, uint16 time
* @param tile Not used.
* @param flags Operation to perform.
* @param p1 Various bitstuffed elements
- * - p1 = (bit 0-15) - Vehicle with the orders to change.
- * - p1 = (bit 16-23) - Order index to modify.
- * - p1 = (bit 24) - Whether to change the waiting time or the travelling
+ * - p1 = (bit 0-19) - Vehicle with the orders to change.
+ * - p1 = (bit 20-27) - Order index to modify.
+ * - p1 = (bit 28) - Whether to change the waiting time or the travelling
* time.
* @param p2 The amount of time to wait.
- * - p2 = (bit 0-15) - Waiting or travelling time as specified by p1 bit 24
+ * - p2 = (bit 0-15) - Waiting or travelling time as specified by p1 bit 28
* @param text unused
* @return the cost of this operation or an error
*/
@@ -62,7 +62,7 @@ CommandCost CmdChangeTimetable(TileIndex tile, DoCommandFlag flags, uint32 p1, u
{
if (!_settings_game.order.timetabling) return CMD_ERROR;
- VehicleID veh = GB(p1, 0, 16);
+ VehicleID veh = GB(p1, 0, 20);
Vehicle *v = Vehicle::GetIfValid(veh);
if (v == NULL || !v->IsPrimaryVehicle()) return CMD_ERROR;
@@ -70,11 +70,11 @@ CommandCost CmdChangeTimetable(TileIndex tile, DoCommandFlag flags, uint32 p1, u
CommandCost ret = CheckOwnership(v->owner);
if (ret.Failed()) return ret;
- VehicleOrderID order_number = GB(p1, 16, 8);
+ VehicleOrderID order_number = GB(p1, 20, 8);
Order *order = v->GetOrder(order_number);
if (order == NULL) return CMD_ERROR;
- bool is_journey = HasBit(p1, 24);
+ bool is_journey = HasBit(p1, 28);
int wait_time = order->wait_time;
int travel_time = order->travel_time;
@@ -112,7 +112,7 @@ CommandCost CmdChangeTimetable(TileIndex tile, DoCommandFlag flags, uint32 p1, u
* @param tile Not used.
* @param flags Operation to perform.
* @param p1 Various bitstuffed elements
- * - p1 = (bit 0-15) - Vehicle with the orders to change.
+ * - p1 = (bit 0-19) - Vehicle with the orders to change.
* @param p2 unused
* @param text unused
* @return the cost of this operation or an error
@@ -121,7 +121,7 @@ CommandCost CmdSetVehicleOnTime(TileIndex tile, DoCommandFlag flags, uint32 p1,
{
if (!_settings_game.order.timetabling) return CMD_ERROR;
- VehicleID veh = GB(p1, 0, 16);
+ VehicleID veh = GB(p1, 0, 20);
Vehicle *v = Vehicle::GetIfValid(veh);
if (v == NULL || !v->IsPrimaryVehicle()) return CMD_ERROR;
@@ -150,7 +150,7 @@ CommandCost CmdSetTimetableStart(TileIndex tile, DoCommandFlag flags, uint32 p1,
{
if (!_settings_game.order.timetabling) return CMD_ERROR;
- Vehicle *v = Vehicle::GetIfValid(GB(p1, 0, 16));
+ Vehicle *v = Vehicle::GetIfValid(GB(p1, 0, 20));
if (v == NULL || !v->IsPrimaryVehicle()) return CMD_ERROR;
CommandCost ret = CheckOwnership(v->owner);
@@ -191,7 +191,7 @@ CommandCost CmdAutofillTimetable(TileIndex tile, DoCommandFlag flags, uint32 p1,
{
if (!_settings_game.order.timetabling) return CMD_ERROR;
- VehicleID veh = GB(p1, 0, 16);
+ VehicleID veh = GB(p1, 0, 20);
Vehicle *v = Vehicle::GetIfValid(veh);
if (v == NULL || !v->IsPrimaryVehicle()) return CMD_ERROR;
diff --git a/src/timetable_gui.cpp b/src/timetable_gui.cpp
index 7b2ece1d7..0a470a7b0 100644
--- a/src/timetable_gui.cpp
+++ b/src/timetable_gui.cpp
@@ -497,7 +497,7 @@ struct TimetableWindow : Window {
if (order_number >= v->GetNumOrders()) order_number = 0;
- return v->index | (order_number << 16) | (is_journey << 24);
+ return v->index | (order_number << 20) | (is_journey << 28);
}
virtual void OnClick(Point pt, int widget, int click_count)