|
@@ -826,19 +826,10 @@ static bool StationChangeInfo(uint stid,
|
|
|
for (t = 0; t < statspec->tiles; t++) {
|
|
|
DrawTileSprites *dts = &statspec->renderdata[t];
|
|
|
uint seq_count = 0;
|
|
|
PalSpriteID ground_sprite;
|
|
|
|
|
|
dts->seq = NULL;
|
|
|
ground_sprite = grf_load_dword(&buf);
|
|
|
if (ground_sprite == 0) continue;
|
|
|
|
|
|
if (HASBIT(ground_sprite, 31)) {
|
|
|
// Bit 31 indicates that we should use a custom sprite.
|
|
|
dts->ground_sprite = GB(ground_sprite, 0, 15) - 0x42D;
|
|
|
dts->ground_sprite += _cur_grffile->first_spriteset;
|
|
|
} else {
|
|
|
dts->ground_sprite = ground_sprite;
|
|
|
}
|
|
|
dts->ground_sprite = grf_load_dword(&buf);
|
|
|
if (dts->ground_sprite == 0) continue;
|
|
|
|
|
|
while (buf < *bufp + len) {
|
|
|
DrawTileSeqStruct *dtss;
|
|
@@ -856,13 +847,15 @@ static bool StationChangeInfo(uint stid,
|
|
|
dtss->unk = grf_load_byte(&buf);
|
|
|
dtss->image = grf_load_dword(&buf);
|
|
|
|
|
|
/* Remap the colour map bit from 14 to 31 */
|
|
|
/* Remap flags as ours collide */
|
|
|
if (HASBIT(dtss->image, 31)) {
|
|
|
CLRBIT(dtss->image, 31);
|
|
|
SETBIT(dtss->image, 30);
|
|
|
}
|
|
|
if (HASBIT(dtss->image, 14)) {
|
|
|
CLRBIT(dtss->image, 14);
|
|
|
SETBIT(dtss->image, 31);
|
|
|
}
|
|
|
|
|
|
dtss->image -= 0x42D;
|
|
|
}
|
|
|
}
|
|
|
}
|
|
@@ -1500,11 +1493,6 @@ static void NewSpriteGroup(byte *buf, in
|
|
|
return;
|
|
|
}
|
|
|
|
|
|
if (_cur_grffile->first_spriteset == 0) {
|
|
|
DEBUG(grf, 6) ("NewSpriteGroup: Setting 0x%X as first Sprite ID", _cur_grffile->spriteset_start);
|
|
|
_cur_grffile->first_spriteset = _cur_grffile->spriteset_start;
|
|
|
}
|
|
|
|
|
|
check_length(bufend - buf, 2 * num_loaded + 2 * num_loading, "NewSpriteGroup (Real) (1)");
|
|
|
|
|
|
group = AllocateSpriteGroup();
|
|
@@ -1628,6 +1616,7 @@ static void NewVehicle_SpriteGroupMappin
|
|
|
StationSpec *statspec = _cur_grffile->stations[stid];
|
|
|
|
|
|
statspec->spritegroup[GC_DEFAULT] = _cur_grffile->spritegroups[groupid];
|
|
|
statspec->groundgroup = _cur_grffile->spritegroups[0];
|
|
|
statspec->grfid = _cur_grffile->grfid;
|
|
|
statspec->localidx = stid;
|
|
|
SetCustomStationSpec(statspec);
|