diff options
author | peter1138 <peter1138@openttd.org> | 2006-03-01 23:14:03 +0000 |
---|---|---|
committer | peter1138 <peter1138@openttd.org> | 2006-03-01 23:14:03 +0000 |
commit | 741fc265225e879d77515d14f056c8969f6fde82 (patch) | |
tree | 5d55a4f5db80674d8bee645029acf2132b708c08 /vehicle.c | |
parent | 4367870b18782051c9262e7d599341749c2206fa (diff) | |
download | openttd-741fc265225e879d77515d14f056c8969f6fde82.tar.xz |
(svn r3717) - [2cc] Add 2cc colour maps and use for newgrf engines requiring them. Currently the second colour is fixed to be the player's colour.
Diffstat (limited to 'vehicle.c')
-rw-r--r-- | vehicle.c | 16 |
1 files changed, 11 insertions, 5 deletions
@@ -2040,20 +2040,26 @@ UnitID GetFreeUnitNumber(byte type) return unit; } -// XXX Temporary stub -- will be expanded -static PalSpriteID GetEngineColourMap(PlayerID player) +static PalSpriteID GetEngineColourMap(EngineID engine_type, PlayerID player) { - return SPRITE_PALETTE(PLAYER_SPRITE_COLOR(player)); + SpriteID map; + byte colour = _player_colors[player]; + + /* XXX Magic 0x307 is the first company colour remap sprite */ + map = HASBIT(_engine_info[engine_type].misc_flags, EF_USES_2CC) ? + (SPR_2CCMAP_BASE + colour + colour * 16) : (0x307 + colour); + + return SPRITE_PALETTE(map << PALETTE_SPRITE_START); } PalSpriteID GetEnginePalette(EngineID engine_type, PlayerID player) { - return GetEngineColourMap(player); + return GetEngineColourMap(engine_type, player); } PalSpriteID GetVehiclePalette(const Vehicle *v) { - return GetEngineColourMap(v->owner); + return GetEngineColourMap(v->engine_type, v->owner); } // Save and load of vehicles |