summaryrefslogtreecommitdiff
path: root/src/station_cmd.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/station_cmd.cpp')
-rw-r--r--src/station_cmd.cpp14
1 files changed, 7 insertions, 7 deletions
diff --git a/src/station_cmd.cpp b/src/station_cmd.cpp
index 482b95462..ac78064d4 100644
--- a/src/station_cmd.cpp
+++ b/src/station_cmd.cpp
@@ -1109,13 +1109,13 @@ static inline byte *CreateMulti(byte *layout, int n, byte b)
* @param plat_len The length of the platforms.
* @param statspec The specification of the station to (possibly) get the layout from.
*/
-void GetStationLayout(byte *layout, int numtracks, int plat_len, const StationSpec *statspec)
+void GetStationLayout(byte *layout, uint numtracks, uint plat_len, const StationSpec *statspec)
{
- if (statspec != nullptr && statspec->lengths >= plat_len &&
- statspec->platforms[plat_len - 1] >= numtracks &&
- statspec->layouts[plat_len - 1][numtracks - 1]) {
+ if (statspec != nullptr && statspec->layouts.size() >= plat_len &&
+ statspec->layouts[plat_len - 1].size() >= numtracks &&
+ !statspec->layouts[plat_len - 1][numtracks - 1].empty()) {
/* Custom layout defined, follow it. */
- memcpy(layout, statspec->layouts[plat_len - 1][numtracks - 1],
+ memcpy(layout, statspec->layouts[plat_len - 1][numtracks - 1].data(),
plat_len * numtracks);
return;
}
@@ -1124,9 +1124,9 @@ void GetStationLayout(byte *layout, int numtracks, int plat_len, const StationSp
CreateSingle(layout, numtracks);
} else {
if (numtracks & 1) layout = CreateSingle(layout, plat_len);
- numtracks >>= 1;
+ int n = numtracks >> 1;
- while (--numtracks >= 0) {
+ while (--n >= 0) {
layout = CreateMulti(layout, plat_len, 4);
layout = CreateMulti(layout, plat_len, 6);
}