Tracerestrict: Remove TRPISP_PBS_RES_END_RELEASE

This commit is contained in:
Jonathan G Rennison
2024-01-20 22:24:19 +00:00
parent 7d1e350b94
commit 24fc4e3e3f
3 changed files with 5 additions and 6 deletions

View File

@@ -1540,7 +1540,7 @@ void PBSWaitingPositionRestrictedSignalState::TraceRestrictExecuteResEndSlotIntl
if (prog->actions_used_flags & actions_used_flags) { if (prog->actions_used_flags & actions_used_flags) {
TraceRestrictProgramResult out; TraceRestrictProgramResult out;
TraceRestrictProgramInput input(this->tile, this->trackdir, &VehiclePosTraceRestrictPreviousSignalCallback, nullptr); TraceRestrictProgramInput input(this->tile, this->trackdir, &VehiclePosTraceRestrictPreviousSignalCallback, nullptr);
input.permitted_slot_operations = TRPISP_PBS_RES_END_ACQUIRE | TRPISP_PBS_RES_END_RELEASE; input.permitted_slot_operations = TRPISP_PBS_RES_END_ACQUIRE;
if (tb_entrance_slots) input.permitted_slot_operations = TRPISP_ACQUIRE; if (tb_entrance_slots) input.permitted_slot_operations = TRPISP_ACQUIRE;
prog->Execute(v, input, out); prog->Execute(v, input, out);
} }

View File

@@ -774,7 +774,7 @@ void TraceRestrictProgram::Execute(const Train* v, const TraceRestrictProgramInp
break; break;
case TRSCOF_PBS_RES_END_RELEASE: case TRSCOF_PBS_RES_END_RELEASE:
if (input.permitted_slot_operations & TRPISP_PBS_RES_END_RELEASE) { if (input.permitted_slot_operations & TRPISP_PBS_RES_END_ACQUIRE) {
slot->Vacate(v->index); slot->Vacate(v->index);
} else if ((input.permitted_slot_operations & TRPISP_PBS_RES_END_ACQ_DRY) && (this->actions_used_flags & TRPAUF_PBS_RES_END_SIMULATE)) { } else if ((input.permitted_slot_operations & TRPISP_PBS_RES_END_ACQ_DRY) && (this->actions_used_flags & TRPAUF_PBS_RES_END_SIMULATE)) {
slot->VacateUsingTemporaryState(v->index, &pbs_res_end_acq_dry_slot_temporary_state); slot->VacateUsingTemporaryState(v->index, &pbs_res_end_acq_dry_slot_temporary_state);

View File

@@ -486,11 +486,10 @@ enum TraceRestrictProgramInputSlotPermissions : uint8_t {
TRPISP_ACQUIRE = 1 << 0, ///< Slot acquire is permitted TRPISP_ACQUIRE = 1 << 0, ///< Slot acquire is permitted
TRPISP_RELEASE_BACK = 1 << 1, ///< Slot release (back) is permitted TRPISP_RELEASE_BACK = 1 << 1, ///< Slot release (back) is permitted
TRPISP_RELEASE_FRONT = 1 << 2, ///< Slot release (front) is permitted TRPISP_RELEASE_FRONT = 1 << 2, ///< Slot release (front) is permitted
TRPISP_PBS_RES_END_ACQUIRE = 1 << 3, ///< Slot acquire (PBS reservations ending at this signal) is permitted TRPISP_PBS_RES_END_ACQUIRE = 1 << 3, ///< Slot acquire/release (PBS reservations ending at this signal) is permitted
TRPISP_PBS_RES_END_ACQ_DRY = 1 << 4, ///< Dry-run slot acquire (PBS reservations ending at this signal) is permitted TRPISP_PBS_RES_END_ACQ_DRY = 1 << 4, ///< Dry-run slot acquire/release (PBS reservations ending at this signal) is permitted
TRPISP_PBS_RES_END_RELEASE = 1 << 5, ///< Slot release (PBS reservations ending at this signal) is permitted TRPISP_ACQUIRE_TEMP_STATE = 1 << 5, ///< Slot acquire/release is permitted, using temporary state, TraceRestrictProgramInput::slot_temporary_state must be set
TRPISP_CHANGE_COUNTER = 1 << 6, ///< Change counter value is permitted TRPISP_CHANGE_COUNTER = 1 << 6, ///< Change counter value is permitted
TRPISP_ACQUIRE_TEMP_STATE = 1 << 7, ///< Slot acquire is permitted, using temporary state, TraceRestrictProgramInput::slot_temporary_state must be set
}; };
DECLARE_ENUM_AS_BIT_SET(TraceRestrictProgramInputSlotPermissions) DECLARE_ENUM_AS_BIT_SET(TraceRestrictProgramInputSlotPermissions)