(svn r15290) -Codechange: Isolate size and section of the UnMovable HQ object, in order to keep the Unmovable type free of any irrelevant data

This commit is contained in:
belugas
2009-01-28 19:57:23 +00:00
parent bfde9f7eef
commit 3671ed9e4f
6 changed files with 78 additions and 36 deletions

View File

@@ -167,6 +167,7 @@ static void DrawTile_Unmovable(TileInfo *ti)
{
switch (GetUnmovableType(ti->tile)) {
default: NOT_REACHED(); break;
case UNMOVABLE_TRANSMITTER:
case UNMOVABLE_LIGHTHOUSE: {
const DrawTileSeqStruct *dtu = &_draw_tile_transmitterlighthouse_data[GetUnmovableType(ti->tile)];
@@ -205,13 +206,13 @@ static void DrawTile_Unmovable(TileInfo *ti)
DrawBridgeMiddle(ti);
break;
default: {
case UNMOVABLE_HQ:{
assert(IsCompanyHQ(ti->tile));
if (ti->tileh != SLOPE_FLAT) DrawFoundation(ti, FOUNDATION_LEVELED);
SpriteID palette = COMPANY_SPRITE_COLOR(GetTileOwner(ti->tile));
const DrawTileSprites *t = &_unmovable_display_datas[GetCompanyHQSection(ti->tile)];
const DrawTileSprites *t = &_unmovable_display_datas[GetCompanyHQSize(ti->tile) << 2 | GetCompanyHQSection(ti->tile)];
DrawGroundSprite(t->ground.sprite, palette);
if (IsInvisibilitySet(TO_STRUCTURES)) break;