Tracerestrict: Add enum type for TRIT_LONG_RESERVE values

This commit is contained in:
Jonathan G Rennison
2023-10-03 18:11:41 +01:00
parent 4280c413a6
commit b299c4dce8
3 changed files with 35 additions and 7 deletions

View File

@@ -678,10 +678,18 @@ void TraceRestrictProgram::Execute(const Train* v, const TraceRestrictProgramInp
break;
case TRIT_LONG_RESERVE:
if (GetTraceRestrictValue(item)) {
out.flags &= ~TRPRF_LONG_RESERVE;
} else {
out.flags |= TRPRF_LONG_RESERVE;
switch (static_cast<TraceRestrictLongReserveValueField>(GetTraceRestrictValue(item))) {
case TRLRVF_LONG_RESERVE:
out.flags |= TRPRF_LONG_RESERVE;
break;
case TRLRVF_CANCEL_LONG_RESERVE:
out.flags &= ~TRPRF_LONG_RESERVE;
break;
default:
NOT_REACHED();
break;
}
break;