Merge branch 'tracerestrict-sx' into jgrpp

Conflicts:
	src/saveload/extended_ver_sl.cpp
	src/tracerestrict.h
	src/tracerestrict_gui.cpp
	src/train_cmd.cpp
This commit is contained in:
Jonathan G Rennison
2016-01-20 22:19:15 +00:00
7 changed files with 191 additions and 48 deletions

View File

@@ -395,6 +395,14 @@ 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;
}
break;
default:
NOT_REACHED();
}
@@ -498,6 +506,10 @@ CommandCost TraceRestrictProgram::Validate(const std::vector<TraceRestrictItem>
actions_used_flags |= TRPAUF_RESERVE_THROUGH;
break;
case TRIT_LONG_RESERVE:
actions_used_flags |= TRPAUF_LONG_RESERVE;
break;
default:
return_cmd_error(STR_TRACE_RESTRICT_ERROR_VALIDATE_UNKNOWN_INSTRUCTION);
}
@@ -550,6 +562,7 @@ void SetTraceRestrictValueDefault(TraceRestrictItem &item, TraceRestrictValueTyp
case TRVT_SPEED:
case TRVT_TILE_INDEX:
case TRVT_RESERVE_THROUGH:
case TRVT_LONG_RESERVE:
SetTraceRestrictValue(item, 0);
SetTraceRestrictAuxField(item, 0);
break;