diff options
Diffstat (limited to 'station_cmd.c')
-rw-r--r-- | station_cmd.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/station_cmd.c b/station_cmd.c index d7cc53116..3b13c0fdb 100644 --- a/station_cmd.c +++ b/station_cmd.c @@ -918,7 +918,7 @@ static void GetStationLayout(byte *layout, int numtracks, int plat_len, StationS } /** Build railroad station - * @param x_org,y_org starting position of station dragging/placement + * @param x,y starting position of station dragging/placement * @param p1 various bitstuffed elements * - p1 = (bit 0) - orientation (p1 & 1) * - p1 = (bit 8-15) - number of tracks (p1 >> 8) & 0xFF) @@ -960,6 +960,8 @@ int32 CmdBuildRailroadStation(int x, int y, uint32 flags, uint32 p1, uint32 p2) h_org = numtracks; } + if (h_org > _patches.station_spread || w_org > _patches.station_spread) return CMD_ERROR; + // these values are those that will be stored in train_tile and station_platforms finalvalues[0] = tile_org; finalvalues[1] = w_org; |