Adjust CmdModifyOrder p2 bit allocation

This commit is contained in:
Jonathan G Rennison
2022-10-12 18:09:59 +01:00
parent 846cd7e228
commit 91af0c82d3
4 changed files with 46 additions and 46 deletions

View File

@@ -385,7 +385,7 @@ static int ScriptOrderPositionToRealOrderPosition(VehicleID vehicle_id, ScriptOr
EnforcePrecondition(false, IsValidVehicleOrder(vehicle_id, jump_to) && jump_to != ORDER_CURRENT);
int order_pos = ScriptOrderPositionToRealOrderPosition(vehicle_id, order_position);
return ScriptOrderModifyOrder(vehicle_id, order_pos, MOF_COND_DESTINATION | (jump_to << 4));
return ScriptOrderModifyOrder(vehicle_id, order_pos, MOF_COND_DESTINATION | (jump_to << 8));
}
/* static */ bool ScriptOrder::SetOrderCondition(VehicleID vehicle_id, OrderPosition order_position, OrderCondition condition)
@@ -395,7 +395,7 @@ static int ScriptOrderPositionToRealOrderPosition(VehicleID vehicle_id, ScriptOr
EnforcePrecondition(false, condition >= OC_LOAD_PERCENTAGE && condition <= OC_REMAINING_LIFETIME);
int order_pos = ScriptOrderPositionToRealOrderPosition(vehicle_id, order_position);
return ScriptOrderModifyOrder(vehicle_id, order_pos, MOF_COND_VARIABLE | (condition << 4));
return ScriptOrderModifyOrder(vehicle_id, order_pos, MOF_COND_VARIABLE | (condition << 8));
}
/* static */ bool ScriptOrder::SetOrderCompareFunction(VehicleID vehicle_id, OrderPosition order_position, CompareFunction compare)
@@ -405,7 +405,7 @@ static int ScriptOrderPositionToRealOrderPosition(VehicleID vehicle_id, ScriptOr
EnforcePrecondition(false, compare >= CF_EQUALS && compare <= CF_IS_FALSE);
int order_pos = ScriptOrderPositionToRealOrderPosition(vehicle_id, order_position);
return ScriptOrderModifyOrder(vehicle_id, order_pos, MOF_COND_COMPARATOR | (compare << 4));
return ScriptOrderModifyOrder(vehicle_id, order_pos, MOF_COND_COMPARATOR | (compare << 8));
}
/* static */ bool ScriptOrder::SetOrderCompareValue(VehicleID vehicle_id, OrderPosition order_position, int32 value)
@@ -416,7 +416,7 @@ static int ScriptOrderPositionToRealOrderPosition(VehicleID vehicle_id, ScriptOr
if (GetOrderCondition(vehicle_id, order_position) == OC_MAX_SPEED) value = value * 10 / 16;
int order_pos = ScriptOrderPositionToRealOrderPosition(vehicle_id, order_position);
return ScriptOrderModifyOrder(vehicle_id, order_pos, MOF_COND_VALUE | (value << 4));
return ScriptOrderModifyOrder(vehicle_id, order_pos, MOF_COND_VALUE | (value << 8));
}
/* static */ bool ScriptOrder::SetStopLocation(VehicleID vehicle_id, OrderPosition order_position, StopLocation stop_location)
@@ -429,7 +429,7 @@ static int ScriptOrderPositionToRealOrderPosition(VehicleID vehicle_id, ScriptOr
order_position = ScriptOrder::ResolveOrderPosition(vehicle_id, order_position);
int order_pos = ScriptOrderPositionToRealOrderPosition(vehicle_id, order_position);
return ScriptOrderModifyOrder(vehicle_id, order_pos, MOF_STOP_LOCATION | (stop_location << 4));
return ScriptOrderModifyOrder(vehicle_id, order_pos, MOF_STOP_LOCATION | (stop_location << 8));
}
/* static */ bool ScriptOrder::SetOrderRefit(VehicleID vehicle_id, OrderPosition order_position, CargoID refit_cargo)
@@ -591,7 +591,7 @@ static void _DoCommandReturnSetOrderFlags(class ScriptInstance *instance)
EnforcePrecondition(false, (order_flags & OF_GOTO_NEAREST_DEPOT) == (current & OF_GOTO_NEAREST_DEPOT));
if ((current & OF_NON_STOP_FLAGS) != (order_flags & OF_NON_STOP_FLAGS)) {
return ScriptOrderModifyOrder(vehicle_id, order_pos, (order_flags & OF_NON_STOP_FLAGS) << 4 | MOF_NON_STOP, &::_DoCommandReturnSetOrderFlags);
return ScriptOrderModifyOrder(vehicle_id, order_pos, (order_flags & OF_NON_STOP_FLAGS) << 8 | MOF_NON_STOP, &::_DoCommandReturnSetOrderFlags);
}
switch (order->GetType()) {
@@ -600,16 +600,16 @@ static void _DoCommandReturnSetOrderFlags(class ScriptInstance *instance)
uint data = DA_ALWAYS_GO;
if (order_flags & OF_SERVICE_IF_NEEDED) data = DA_SERVICE;
if (order_flags & OF_STOP_IN_DEPOT) data = DA_STOP;
return ScriptOrderModifyOrder(vehicle_id, order_pos, (data << 4) | MOF_DEPOT_ACTION, &::_DoCommandReturnSetOrderFlags);
return ScriptOrderModifyOrder(vehicle_id, order_pos, (data << 8) | MOF_DEPOT_ACTION, &::_DoCommandReturnSetOrderFlags);
}
break;
case OT_GOTO_STATION:
if ((current & OF_UNLOAD_FLAGS) != (order_flags & OF_UNLOAD_FLAGS)) {
return ScriptOrderModifyOrder(vehicle_id, order_pos, (order_flags & OF_UNLOAD_FLAGS) << 2 | MOF_UNLOAD, &::_DoCommandReturnSetOrderFlags);
return ScriptOrderModifyOrder(vehicle_id, order_pos, (order_flags & OF_UNLOAD_FLAGS) << 6 | MOF_UNLOAD, &::_DoCommandReturnSetOrderFlags);
}
if ((current & OF_LOAD_FLAGS) != (order_flags & OF_LOAD_FLAGS)) {
return ScriptOrderModifyOrder(vehicle_id, order_pos, (order_flags & OF_LOAD_FLAGS) >> 1 | MOF_LOAD, &::_DoCommandReturnSetOrderFlags);
return ScriptOrderModifyOrder(vehicle_id, order_pos, (order_flags & OF_LOAD_FLAGS) << 3 | MOF_LOAD, &::_DoCommandReturnSetOrderFlags);
}
break;