diff options
author | peter1138 <peter1138@openttd.org> | 2006-11-08 12:17:14 +0000 |
---|---|---|
committer | peter1138 <peter1138@openttd.org> | 2006-11-08 12:17:14 +0000 |
commit | 0aa8c0123a827e6aa74dc9f88824aa810a1e1df9 (patch) | |
tree | 1e7c5d1234332f86f7b7b1377dba55c22375ca0c /newgrf.c | |
parent | c73578aae6cd14c04a5bd19ab1b1016f3e6bcda9 (diff) | |
download | openttd-0aa8c0123a827e6aa74dc9f88824aa810a1e1df9.tar.xz |
(svn r7113) -Codechange: [NewStations] Add support for copying custom station layouts
Diffstat (limited to 'newgrf.c')
-rw-r--r-- | newgrf.c | 13 |
1 files changed, 10 insertions, 3 deletions
@@ -952,6 +952,8 @@ static bool StationChangeInfo(uint stid, int numinfo, int prop, byte **bufp, int FOR_EACH_OBJECT { StationSpec *statspec = _cur_grffile->stations[stid + i]; + statspec->copied_layouts = false; + while (buf < *bufp + len) { byte length = grf_load_byte(&buf); byte number = grf_load_byte(&buf); @@ -1001,11 +1003,16 @@ static bool StationChangeInfo(uint stid, int numinfo, int prop, byte **bufp, int break; case 0x0F: /* Copy custom layout */ - /* TODO */ FOR_EACH_OBJECT { - grf_load_byte(&buf); + StationSpec *statspec = _cur_grffile->stations[stid + i]; + byte srcid = grf_load_byte(&buf); + const StationSpec *srcstatspec = _cur_grffile->stations[srcid]; + + statspec->lengths = srcstatspec->lengths; + statspec->platforms = srcstatspec->platforms; + statspec->layouts = srcstatspec->layouts; + statspec->copied_layouts = true; } - ret = true; break; case 0x10: /* Little/lots cargo threshold */ |