mirror of
https://github.com/JGRennison/OpenTTD-patches.git
synced 2024-11-17 21:25:40 +00:00
(svn r4720) - Newstations: instead of literally copying sprite layout data, just copy the pointer to the existing data.
This commit is contained in:
parent
62e6493dd0
commit
2ad6bfefda
24
newgrf.c
24
newgrf.c
@ -847,31 +847,9 @@ static bool StationChangeInfo(uint stid, int numinfo, int prop, byte **bufp, int
|
||||
StationSpec *statspec = &_cur_grffile->stations[stid + i];
|
||||
byte srcid = grf_load_byte(&buf);
|
||||
const StationSpec *srcstatspec = &_cur_grffile->stations[srcid];
|
||||
uint t;
|
||||
|
||||
statspec->tiles = srcstatspec->tiles;
|
||||
statspec->renderdata = calloc(statspec->tiles, sizeof(*statspec->renderdata));
|
||||
for (t = 0; t < statspec->tiles; t++) {
|
||||
DrawTileSprites *dts = &statspec->renderdata[t];
|
||||
const DrawTileSprites *sdts = &srcstatspec->renderdata[t];
|
||||
DrawTileSeqStruct const *sdtss = sdts->seq;
|
||||
int seq_count = 0;
|
||||
|
||||
dts->seq = NULL;
|
||||
dts->ground_sprite = sdts->ground_sprite;
|
||||
if (dts->ground_sprite == 0) continue;
|
||||
|
||||
while (true) {
|
||||
DrawTileSeqStruct *dtss;
|
||||
|
||||
// no relative bounding box support
|
||||
dts->seq = realloc((void*)dts->seq, ++seq_count * sizeof(DrawTileSeqStruct));
|
||||
dtss = (DrawTileSeqStruct*) &dts->seq[seq_count - 1];
|
||||
*dtss = *sdtss;
|
||||
if ((byte) dtss->delta_x == 0x80) break;
|
||||
sdtss++;
|
||||
}
|
||||
}
|
||||
statspec->renderdata = srcstatspec->renderdata;
|
||||
}
|
||||
break;
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user