Changeset - r3556:90f0e353cb51
[Not reviewed]
master
0 2 0
Darkvater - 18 years ago 2006-04-15 16:07:00
darkvater@openttd.org
(svn r4430) - NewGRF: Use the bridge's sprite layout for drawing high pillars. This fixes newgrf's high-bridge pillars drawing. Also remove the now obsolete _bridge_poles_table which was already integrated into the bridge sprite tables
2 files changed with 10 insertions and 277 deletions:
0 comments (0 inline, 0 general)
table/bridge_land.h
Show inline comments
 
@@ -20,9 +20,6 @@
 
  * <li>X direction, south end, sloped</li>
 
  * <li>Y direction, south end, sloped</li></ol>
 
  * This is repeated 4 times, for rail, road, monorail, maglev</li>
 
  * <li>_bridge_sprite_table_n_poles. Defines all the sprites needed for the pylons. The first 6 elements are for each
 
  * bridge piece (max 5 currently) in X direction, the next 6 elements are for the bridge pieces in Y direction.
 
  * The last two elements are used for cantilever bridges</li>
 
  * </ul>
 
  */
 

	
 
@@ -40,25 +37,6 @@ static const PalSpriteID _bridge_sprite_
 
	0x110F | PALETTE_TO_STRUCT_WHITE, 0x1111 | PALETTE_TO_STRUCT_WHITE, 0x110E | PALETTE_TO_STRUCT_WHITE, 0x1110 | PALETTE_TO_STRUCT_WHITE, 0x1113 | PALETTE_TO_STRUCT_WHITE, 0x1115 | PALETTE_TO_STRUCT_WHITE, 0x1112 | PALETTE_TO_STRUCT_WHITE, 0x1114 | PALETTE_TO_STRUCT_WHITE,
 
};
 

	
 
static const PalSpriteID _bridge_sprite_table_2_poles[] = {
 
	SPR_PILLARS_BASE + 6 * 3 + 3,
 
	SPR_PILLARS_BASE + 6 * 3 + 3,
 
	SPR_PILLARS_BASE + 6 * 3 + 3,
 
	SPR_PILLARS_BASE + 6 * 3 + 3,
 
	SPR_PILLARS_BASE + 6 * 3 + 5,
 
	0x0,
 

	
 
	SPR_PILLARS_BASE + 6 * 3 + 0,
 
	SPR_PILLARS_BASE + 6 * 3 + 0,
 
	SPR_PILLARS_BASE + 6 * 3 + 0,
 
	SPR_PILLARS_BASE + 6 * 3 + 0,
 
	SPR_PILLARS_BASE + 6 * 3 + 2,
 
	0x0,
 

	
 
	0x0,
 
	0x0,
 
};
 

	
 
static const PalSpriteID _bridge_sprite_table_4_0[] = {
 
	    0x9A9,     0x99F,     0x9B1,       0x0,     0x9A5,     0x997,     0x9AD,       0x0,
 
	    0x99D,     0x99F,     0x9B1,       0x0,     0x995,     0x997,     0x9AD,       0x0,
 
@@ -108,25 +86,6 @@ static const PalSpriteID _bridge_sprite_
 
	   0x110F,    0x1111,    0x110E,    0x1110,    0x1113,    0x1115,    0x1112,    0x1114,
 
};
 

	
 
static const PalSpriteID _bridge_sprite_table_4_poles[] = {
 
	SPR_PILLARS_BASE + 6 * 0 + 3,
 
	SPR_PILLARS_BASE + 6 * 0 + 4,
 
	SPR_PILLARS_BASE + 6 * 0 + 4,
 
	SPR_PILLARS_BASE + 6 * 0 + 3,
 
	SPR_PILLARS_BASE + 6 * 0 + 5,
 
	0x0,
 

	
 
	SPR_PILLARS_BASE + 6 * 0 + 0,
 
	SPR_PILLARS_BASE + 6 * 0 + 1,
 
	SPR_PILLARS_BASE + 6 * 0 + 1,
 
	SPR_PILLARS_BASE + 6 * 0 + 0,
 
	SPR_PILLARS_BASE + 6 * 0 + 2,
 
	0x0,
 

	
 
	0x0,
 
	0x0,
 
};
 

	
 
static const PalSpriteID _bridge_sprite_table_5_0[] = {
 
	0x9A9 | PALETTE_TO_STRUCT_YELLOW, 0x99F | PALETTE_TO_STRUCT_YELLOW, 0x9B1 | PALETTE_TO_STRUCT_YELLOW,       0x0, 0x9A5 | PALETTE_TO_STRUCT_YELLOW, 0x997 | PALETTE_TO_STRUCT_YELLOW, 0x9AD | PALETTE_TO_STRUCT_YELLOW,       0x0,
 
	0x99D | PALETTE_TO_STRUCT_YELLOW, 0x99F | PALETTE_TO_STRUCT_YELLOW, 0x9B1 | PALETTE_TO_STRUCT_YELLOW,       0x0, 0x995 | PALETTE_TO_STRUCT_YELLOW, 0x997 | PALETTE_TO_STRUCT_YELLOW, 0x9AD | PALETTE_TO_STRUCT_YELLOW,       0x0,
 
@@ -183,25 +142,6 @@ static const PalSpriteID _bridge_sprite_
 
	0x0, SPR_PILLARS_BASE + 2,
 
};
 

	
 
static const PalSpriteID _bridge_sprite_table_5_poles[] = {
 
	SPR_PILLARS_BASE + 6 * 0 + 3 + (PALETTE_MODIFIER_COLOR | PALETTE_TO_STRUCT_YELLOW),
 
	SPR_PILLARS_BASE + 6 * 0 + 4 + (PALETTE_MODIFIER_COLOR | PALETTE_TO_STRUCT_YELLOW),
 
	SPR_PILLARS_BASE + 6 * 0 + 4 + (PALETTE_MODIFIER_COLOR | PALETTE_TO_STRUCT_YELLOW),
 
	SPR_PILLARS_BASE + 6 * 0 + 3 + (PALETTE_MODIFIER_COLOR | PALETTE_TO_STRUCT_YELLOW),
 
	SPR_PILLARS_BASE + 6 * 0 + 5 + (PALETTE_MODIFIER_COLOR | PALETTE_TO_STRUCT_YELLOW),
 
	0x0,
 

	
 
	SPR_PILLARS_BASE + 6 * 0 + 0 + (PALETTE_MODIFIER_COLOR | PALETTE_TO_STRUCT_YELLOW),
 
	SPR_PILLARS_BASE + 6 * 0 + 1 + (PALETTE_MODIFIER_COLOR | PALETTE_TO_STRUCT_YELLOW),
 
	SPR_PILLARS_BASE + 6 * 0 + 1 + (PALETTE_MODIFIER_COLOR | PALETTE_TO_STRUCT_YELLOW),
 
	SPR_PILLARS_BASE + 6 * 0 + 0 + (PALETTE_MODIFIER_COLOR | PALETTE_TO_STRUCT_YELLOW),
 
	SPR_PILLARS_BASE + 6 * 0 + 2 + (PALETTE_MODIFIER_COLOR | PALETTE_TO_STRUCT_YELLOW),
 
	0x0,
 

	
 
	0x0,
 
	0x0,
 
};
 

	
 
static const PalSpriteID _bridge_sprite_table_3_0[] = {
 
	0x9A9 | PALETTE_TO_STRUCT_CONCRETE, 0x99F | PALETTE_TO_STRUCT_CONCRETE, 0x9B1 | PALETTE_TO_STRUCT_CONCRETE,       0x0, 0x9A5 | PALETTE_TO_STRUCT_CONCRETE, 0x997 | PALETTE_TO_STRUCT_CONCRETE, 0x9AD | PALETTE_TO_STRUCT_CONCRETE,       0x0,
 
	0x99D | PALETTE_TO_STRUCT_CONCRETE, 0x99F | PALETTE_TO_STRUCT_CONCRETE, 0x9B1 | PALETTE_TO_STRUCT_CONCRETE,       0x0, 0x995 | PALETTE_TO_STRUCT_CONCRETE, 0x997 | PALETTE_TO_STRUCT_CONCRETE, 0x9AD | PALETTE_TO_STRUCT_CONCRETE,       0x0,
 
@@ -252,25 +192,6 @@ static const PalSpriteID _bridge_sprite_
 
	0x0, SPR_PILLARS_BASE + 2,
 
};
 

	
 
static const PalSpriteID _bridge_sprite_table_3_poles[] = {
 
	SPR_PILLARS_BASE + 6 * 0 + 3 + (PALETTE_MODIFIER_COLOR | PALETTE_TO_STRUCT_CONCRETE),
 
	SPR_PILLARS_BASE + 6 * 0 + 4 + (PALETTE_MODIFIER_COLOR | PALETTE_TO_STRUCT_CONCRETE),
 
	SPR_PILLARS_BASE + 6 * 0 + 4 + (PALETTE_MODIFIER_COLOR | PALETTE_TO_STRUCT_CONCRETE),
 
	SPR_PILLARS_BASE + 6 * 0 + 3 + (PALETTE_MODIFIER_COLOR | PALETTE_TO_STRUCT_CONCRETE),
 
	SPR_PILLARS_BASE + 6 * 0 + 5 + (PALETTE_MODIFIER_COLOR | PALETTE_TO_STRUCT_CONCRETE),
 
	0x0,
 

	
 
	SPR_PILLARS_BASE + 6 * 0 + 0 + (PALETTE_MODIFIER_COLOR | PALETTE_TO_STRUCT_CONCRETE),
 
	SPR_PILLARS_BASE + 6 * 0 + 1 + (PALETTE_MODIFIER_COLOR | PALETTE_TO_STRUCT_CONCRETE),
 
	SPR_PILLARS_BASE + 6 * 0 + 1 + (PALETTE_MODIFIER_COLOR | PALETTE_TO_STRUCT_CONCRETE),
 
	SPR_PILLARS_BASE + 6 * 0 + 0 + (PALETTE_MODIFIER_COLOR | PALETTE_TO_STRUCT_CONCRETE),
 
	SPR_PILLARS_BASE + 6 * 0 + 2 + (PALETTE_MODIFIER_COLOR | PALETTE_TO_STRUCT_CONCRETE),
 
	0x0,
 

	
 
	0x0,
 
	0x0,
 
};
 

	
 
static const PalSpriteID _bridge_sprite_table_1_1[] = {
 
	    0x986,     0x988,     0x985,     0x987,     0x98A,     0x98C,     0x989,     0x98B,
 
	0x98E | PALETTE_TO_STRUCT_RED, 0x990 | PALETTE_TO_STRUCT_RED, 0x98D | PALETTE_TO_STRUCT_RED, 0x98F | PALETTE_TO_STRUCT_RED, 0x992 | PALETTE_TO_STRUCT_RED, 0x994 | PALETTE_TO_STRUCT_RED, 0x991 | PALETTE_TO_STRUCT_RED, 0x993 | PALETTE_TO_STRUCT_RED,
 
@@ -278,26 +199,6 @@ static const PalSpriteID _bridge_sprite_
 
	0x110F | PALETTE_TO_STRUCT_RED, 0x1111 | PALETTE_TO_STRUCT_RED, 0x110E | PALETTE_TO_STRUCT_RED, 0x1110 | PALETTE_TO_STRUCT_RED, 0x1113 | PALETTE_TO_STRUCT_RED, 0x1115 | PALETTE_TO_STRUCT_RED, 0x1112 | PALETTE_TO_STRUCT_RED, 0x1114 | PALETTE_TO_STRUCT_RED,
 
};
 

	
 
static const PalSpriteID _bridge_sprite_table_1_poles[] = {
 
	SPR_PILLARS_BASE + 6 * 3 + 3,
 
	SPR_PILLARS_BASE + 6 * 3 + 4,
 
	SPR_PILLARS_BASE + 6 * 3 + 4,
 
	SPR_PILLARS_BASE + 6 * 3 + 3,
 
	SPR_PILLARS_BASE + 6 * 3 + 5,
 
	0x0,
 

	
 
	SPR_PILLARS_BASE + 6 * 3 + 0,
 
	SPR_PILLARS_BASE + 6 * 3 + 1,
 
	SPR_PILLARS_BASE + 6 * 3 + 1,
 
	SPR_PILLARS_BASE + 6 * 3 + 0,
 
	SPR_PILLARS_BASE + 6 * 3 + 2,
 
	0x0,
 

	
 
	0x0,
 
	0x0,
 
};
 

	
 

	
 
static const PalSpriteID _bridge_sprite_table_6_0[] = {
 
	    0x9CD,     0x9D9,       0x0,       0x0,     0x9CE,     0x9DA,       0x0,       0x0,
 
	    0x9D3,     0x9D9,       0x0,       0x0,     0x9D4,     0x9DA,       0x0,       0x0,
 
@@ -326,26 +227,6 @@ static const PalSpriteID _bridge_sprite_
 
	   0x110F,    0x1111,    0x110E,    0x1110,    0x1113,    0x1115,    0x1112,    0x1114,
 
};
 

	
 
static const PalSpriteID _bridge_sprite_table_6_poles[] = {
 
	0x0,
 
	0x0,
 
	0x0,
 
	0x0,
 
	0x0,
 
	0x0,
 

	
 
	0x0,
 
	0x0,
 
	0x0,
 
	0x0,
 
	0x0,
 
	0x0,
 

	
 
	2526,
 
	2528,
 
};
 

	
 

	
 
static const PalSpriteID _bridge_sprite_table_7_0[] = {
 
	0x9CD | PALETTE_TO_STRUCT_BROWN, 0x9D9 | PALETTE_TO_STRUCT_BROWN,       0x0,       0x0, 0x9CE | PALETTE_TO_STRUCT_BROWN, 0x9DA | PALETTE_TO_STRUCT_BROWN,       0x0,       0x0,
 
	0x9D3 | PALETTE_TO_STRUCT_BROWN, 0x9D9 | PALETTE_TO_STRUCT_BROWN,       0x0,       0x0, 0x9D4 | PALETTE_TO_STRUCT_BROWN, 0x9DA | PALETTE_TO_STRUCT_BROWN,       0x0,       0x0,
 
@@ -374,25 +255,6 @@ static const PalSpriteID _bridge_sprite_
 
	0x110F | PALETTE_TO_STRUCT_BROWN, 0x1111 | PALETTE_TO_STRUCT_BROWN, 0x110E | PALETTE_TO_STRUCT_BROWN, 0x1110 | PALETTE_TO_STRUCT_BROWN, 0x1113 | PALETTE_TO_STRUCT_BROWN, 0x1115 | PALETTE_TO_STRUCT_BROWN, 0x1112 | PALETTE_TO_STRUCT_BROWN, 0x1114 | PALETTE_TO_STRUCT_BROWN,
 
};
 

	
 
static const PalSpriteID _bridge_sprite_table_7_poles[] = {
 
	0x0,
 
	0x0,
 
	0x0,
 
	0x0,
 
	0x0,
 
	0x0,
 

	
 
	0x0,
 
	0x0,
 
	0x0,
 
	0x0,
 
	0x0,
 
	0x0,
 

	
 
	2526,
 
	2528,
 
};
 

	
 
static const PalSpriteID _bridge_sprite_table_8_0[] = {
 
	0x9CD | PALETTE_TO_STRUCT_RED, 0x9D9 | PALETTE_TO_STRUCT_RED,       0x0,       0x0, 0x9CE | PALETTE_TO_STRUCT_RED, 0x9DA | PALETTE_TO_STRUCT_RED,       0x0,       0x0,
 
	0x9D3 | PALETTE_TO_STRUCT_RED, 0x9D9 | PALETTE_TO_STRUCT_RED,       0x0,       0x0, 0x9D4 | PALETTE_TO_STRUCT_RED, 0x9DA | PALETTE_TO_STRUCT_RED,       0x0,       0x0,
 
@@ -421,25 +283,6 @@ static const PalSpriteID _bridge_sprite_
 
	0x110F | PALETTE_TO_STRUCT_RED, 0x1111 | PALETTE_TO_STRUCT_RED, 0x110E | PALETTE_TO_STRUCT_RED, 0x1110 | PALETTE_TO_STRUCT_RED, 0x1113 | PALETTE_TO_STRUCT_RED, 0x1115 | PALETTE_TO_STRUCT_RED, 0x1112 | PALETTE_TO_STRUCT_RED, 0x1114 | PALETTE_TO_STRUCT_RED,
 
};
 

	
 
static const PalSpriteID _bridge_sprite_table_8_poles[] = {
 
	0x0,
 
	0x0,
 
	0x0,
 
	0x0,
 
	0x0,
 
	0x0,
 

	
 
	0x0,
 
	0x0,
 
	0x0,
 
	0x0,
 
	0x0,
 
	0x0,
 

	
 
	2526,
 
	2528,
 
};
 

	
 
static const PalSpriteID _bridge_sprite_table_0_0[] = {
 
	    0x9F2,     0x9F6,     0x9F8,       0x0,     0x9F1,     0x9F5,     0x9F7,       0x0,
 
	    0x9F4,     0x9F6,     0x9F8,       0x0,     0x9F3,     0x9F5,     0x9F7,       0x0,
 
@@ -454,26 +297,6 @@ static const PalSpriteID _bridge_sprite_
 
	   0x112D,    0x112C,    0x112F,    0x112E,    0x1129,    0x1128,    0x112A,    0x112B,
 
};
 

	
 
static const PalSpriteID _bridge_sprite_table_0_poles[] = {
 
	SPR_PILLARS_BASE + 6 * 1 + 3,
 
	SPR_PILLARS_BASE + 6 * 1 + 3,
 
	SPR_PILLARS_BASE + 6 * 1 + 3,
 
	SPR_PILLARS_BASE + 6 * 1 + 3,
 
	SPR_PILLARS_BASE + 6 * 1 + 5,
 
	0x0,
 

	
 
	SPR_PILLARS_BASE + 6 * 1 + 0,
 
	SPR_PILLARS_BASE + 6 * 1 + 0,
 
	SPR_PILLARS_BASE + 6 * 1 + 0,
 
	SPR_PILLARS_BASE + 6 * 1 + 0,
 
	SPR_PILLARS_BASE + 6 * 1 + 2,
 
	0x0,
 

	
 
	0x0,
 
	0x0,
 
};
 

	
 

	
 
static const PalSpriteID _bridge_sprite_table_1_0[] = {
 
	0x9BD | PALETTE_TO_STRUCT_RED, 0x9C1 | PALETTE_TO_STRUCT_RED,     0x9C9,       0x0, 0x9BE | PALETTE_TO_STRUCT_RED, 0x9C2 | PALETTE_TO_STRUCT_RED,     0x9CA,       0x0,
 
	0x9BF | PALETTE_TO_STRUCT_RED, 0x9C1 | PALETTE_TO_STRUCT_RED,     0x9C9,       0x0, 0x9C0 | PALETTE_TO_STRUCT_RED, 0x9C2 | PALETTE_TO_STRUCT_RED,     0x9CA,       0x0,
 
@@ -509,25 +332,6 @@ static const PalSpriteID _bridge_sprite_
 
	    0xA1C,     0xA00,     0xA06,       0x0,     0xA1F,     0xA03,     0xA07,       0x0,
 
};
 

	
 
static const PalSpriteID _bridge_sprite_table_10_poles[] = {
 
	SPR_PILLARS_BASE + 6 * 2 + 3,
 
	SPR_PILLARS_BASE + 6 * 2 + 3,
 
	SPR_PILLARS_BASE + 6 * 2 + 3,
 
	SPR_PILLARS_BASE + 6 * 2 + 3,
 
	SPR_PILLARS_BASE + 6 * 2 + 5,
 
	0x0,
 

	
 
	SPR_PILLARS_BASE + 6 * 2 + 0,
 
	SPR_PILLARS_BASE + 6 * 2 + 0,
 
	SPR_PILLARS_BASE + 6 * 2 + 0,
 
	SPR_PILLARS_BASE + 6 * 2 + 0,
 
	SPR_PILLARS_BASE + 6 * 2 + 2,
 
	0x0,
 

	
 
	0x0,
 
	0x0,
 
};
 

	
 
static const PalSpriteID _bridge_sprite_table_11_0[] = {
 
    0xA0B | PALETTE_TO_STRUCT_YELLOW,     0xA01 | PALETTE_TO_STRUCT_YELLOW,       0x0,       0x0,     0xA0C | PALETTE_TO_STRUCT_YELLOW,     0xA02 | PALETTE_TO_STRUCT_YELLOW,       0x0,       0x0,
 
    0xA11 | PALETTE_TO_STRUCT_YELLOW,     0xA01 | PALETTE_TO_STRUCT_YELLOW,       0x0,       0x0,     0xA12 | PALETTE_TO_STRUCT_YELLOW,     0xA02 | PALETTE_TO_STRUCT_YELLOW,       0x0,       0x0,
 
@@ -549,25 +353,6 @@ static const PalSpriteID _bridge_sprite_
 
    0xA1C | PALETTE_TO_STRUCT_YELLOW,     0xA00 | PALETTE_TO_STRUCT_YELLOW,     0xA06 | PALETTE_TO_STRUCT_YELLOW,       0x0,     0xA1F | PALETTE_TO_STRUCT_YELLOW,     0xA03 | PALETTE_TO_STRUCT_YELLOW,     0xA07 | PALETTE_TO_STRUCT_YELLOW,       0x0,
 
};
 

	
 
static const PalSpriteID _bridge_sprite_table_11_poles[] = {
 
	SPR_PILLARS_BASE + 6 * 2 + 3 + (PALETTE_MODIFIER_COLOR | PALETTE_TO_STRUCT_YELLOW),
 
	SPR_PILLARS_BASE + 6 * 2 + 3 + (PALETTE_MODIFIER_COLOR | PALETTE_TO_STRUCT_YELLOW),
 
	SPR_PILLARS_BASE + 6 * 2 + 3 + (PALETTE_MODIFIER_COLOR | PALETTE_TO_STRUCT_YELLOW),
 
	SPR_PILLARS_BASE + 6 * 2 + 3 + (PALETTE_MODIFIER_COLOR | PALETTE_TO_STRUCT_YELLOW),
 
	SPR_PILLARS_BASE + 6 * 2 + 5 + (PALETTE_MODIFIER_COLOR | PALETTE_TO_STRUCT_YELLOW),
 
	0x0,
 

	
 
	SPR_PILLARS_BASE + 6 * 2 + 0 + (PALETTE_MODIFIER_COLOR | PALETTE_TO_STRUCT_YELLOW),
 
	SPR_PILLARS_BASE + 6 * 2 + 0 + (PALETTE_MODIFIER_COLOR | PALETTE_TO_STRUCT_YELLOW),
 
	SPR_PILLARS_BASE + 6 * 2 + 0 + (PALETTE_MODIFIER_COLOR | PALETTE_TO_STRUCT_YELLOW),
 
	SPR_PILLARS_BASE + 6 * 2 + 0 + (PALETTE_MODIFIER_COLOR | PALETTE_TO_STRUCT_YELLOW),
 
	SPR_PILLARS_BASE + 6 * 2 + 2 + (PALETTE_MODIFIER_COLOR | PALETTE_TO_STRUCT_YELLOW),
 
	0x0,
 

	
 
	0x0,
 
	0x0,
 
};
 

	
 
static const PalSpriteID _bridge_sprite_table_12_0[] = {
 
    0xA0B | PALETTE_TO_STRUCT_GREY,     0xA01 | PALETTE_TO_STRUCT_GREY,       0x0,       0x0,     0xA0C | PALETTE_TO_STRUCT_GREY,     0xA02 | PALETTE_TO_STRUCT_GREY,       0x0,       0x0,
 
    0xA11 | PALETTE_TO_STRUCT_GREY,     0xA01 | PALETTE_TO_STRUCT_GREY,       0x0,       0x0,     0xA12 | PALETTE_TO_STRUCT_GREY,     0xA02 | PALETTE_TO_STRUCT_GREY,       0x0,       0x0,
 
@@ -589,25 +374,6 @@ static const PalSpriteID _bridge_sprite_
 
    0xA1C | PALETTE_TO_STRUCT_GREY,     0xA00 | PALETTE_TO_STRUCT_GREY,     0xA06 | PALETTE_TO_STRUCT_GREY,       0x0,     0xA1F | PALETTE_TO_STRUCT_GREY,     0xA03 | PALETTE_TO_STRUCT_GREY,     0xA07 | PALETTE_TO_STRUCT_GREY,       0x0,
 
};
 

	
 
static const PalSpriteID _bridge_sprite_table_12_poles[] = {
 
	SPR_PILLARS_BASE + 6 * 2 + 3 + (PALETTE_MODIFIER_COLOR | PALETTE_TO_STRUCT_GREY),
 
	SPR_PILLARS_BASE + 6 * 2 + 3 + (PALETTE_MODIFIER_COLOR | PALETTE_TO_STRUCT_GREY),
 
	SPR_PILLARS_BASE + 6 * 2 + 3 + (PALETTE_MODIFIER_COLOR | PALETTE_TO_STRUCT_GREY),
 
	SPR_PILLARS_BASE + 6 * 2 + 3 + (PALETTE_MODIFIER_COLOR | PALETTE_TO_STRUCT_GREY),
 
	SPR_PILLARS_BASE + 6 * 2 + 5 + (PALETTE_MODIFIER_COLOR | PALETTE_TO_STRUCT_GREY),
 
	0x0,
 

	
 
	SPR_PILLARS_BASE + 6 * 2 + 0 + (PALETTE_MODIFIER_COLOR | PALETTE_TO_STRUCT_GREY),
 
	SPR_PILLARS_BASE + 6 * 2 + 0 + (PALETTE_MODIFIER_COLOR | PALETTE_TO_STRUCT_GREY),
 
	SPR_PILLARS_BASE + 6 * 2 + 0 + (PALETTE_MODIFIER_COLOR | PALETTE_TO_STRUCT_GREY),
 
	SPR_PILLARS_BASE + 6 * 2 + 0 + (PALETTE_MODIFIER_COLOR | PALETTE_TO_STRUCT_GREY),
 
	SPR_PILLARS_BASE + 6 * 2 + 2 + (PALETTE_MODIFIER_COLOR | PALETTE_TO_STRUCT_GREY),
 
	0x0,
 

	
 
	0x0,
 
	0x0,
 
};
 

	
 
static const uint32 * const _bridge_sprite_table_2[] = {
 
	_bridge_sprite_table_2_0,
 
	_bridge_sprite_table_2_0,
 
@@ -753,19 +519,3 @@ static const uint32 * const * const _bri
 
	_bridge_sprite_table_11,
 
	_bridge_sprite_table_12
 
};
 

	
 
static const uint32 * const _bridge_poles_table[] = {
 
	_bridge_sprite_table_0_poles,
 
	_bridge_sprite_table_1_poles,
 
	_bridge_sprite_table_2_poles,
 
	_bridge_sprite_table_3_poles,
 
	_bridge_sprite_table_4_poles,
 
	_bridge_sprite_table_5_poles,
 
	_bridge_sprite_table_6_poles,
 
	_bridge_sprite_table_7_poles,
 
	_bridge_sprite_table_8_poles,
 
	_bridge_sprite_table_2_poles,
 
	_bridge_sprite_table_10_poles,
 
	_bridge_sprite_table_11_poles,
 
	_bridge_sprite_table_12_poles
 
};
tunnelbridge_cmd.c
Show inline comments
 
@@ -98,6 +98,7 @@ static inline const PalSpriteID *GetBrid
 
	}
 
}
 

	
 
static inline byte GetBridgeFlags(int index) { return _bridge[index].flags;}
 

	
 
/**	check if bridge can be built on slope
 
 *	direction 0 = X-axis, direction 1 = Y-axis
 
@@ -817,30 +818,13 @@ static const byte _bridge_foundations[2]
 

	
 
extern const byte _road_sloped_sprites[14];
 

	
 
static void DrawBridgePillars(const TileInfo *ti, int x, int y, int z)
 
static void DrawBridgePillars(PalSpriteID image, const TileInfo *ti, int x, int y, int z)
 
{
 
	Axis axis = GetBridgeAxis(ti->tile);
 
	const PalSpriteID *b;
 
	PalSpriteID image;
 
	int piece;
 

	
 
	b = _bridge_poles_table[GetBridgeType(ti->tile)];
 

	
 
	// Draw first piece
 
	// (necessary for cantilever bridges)
 

	
 
	image = b[axis == AXIS_X ? 12 : 13];
 
	piece = GetBridgePiece(ti->tile);
 

	
 
	if (image != 0 && piece != 0) {
 
		if (_display_opt & DO_TRANS_BUILDINGS) MAKE_TRANSPARENT(image);
 
		DrawGroundSpriteAt(image, x, y, z);
 
	}
 

	
 
	image = b[piece + (axis == AXIS_X ? 0 : 6)];
 

	
 
	if (image != 0) {
 
		int back_height, front_height, i=z;
 
		Axis axis = GetBridgeAxis(ti->tile);
 
		bool drawfarpillar = !HASBIT(GetBridgeFlags(GetBridgeType(ti->tile)), 0);
 
		int back_height, front_height;
 
		int i = z;
 
		const byte *p;
 

	
 
		static const byte _tileh_bits[4][8] = {
 
@@ -862,12 +846,11 @@ static void DrawBridgePillars(const Tile
 
		}
 

	
 
		for (; z >= front_height || z >= back_height; z = z - 8) {
 
			if (z >= front_height) {
 
				// front facing pillar
 
			if (z >= front_height) { // front facing pillar
 
				AddSortableSpriteToDraw(image, x,y, p[4], p[5], 0x28, z);
 
			}
 
			if (z >= back_height && z < i - 8) {
 
				// back facing pillar
 

	
 
			if (drawfarpillar && z >= back_height && z < i - 8) { // back facing pillar
 
				AddSortableSpriteToDraw(image, x - p[6], y - p[7], p[4], p[5], 0x28, z);
 
			}
 
		}
 
@@ -1066,7 +1049,7 @@ static void DrawTile_TunnelBridge(TileIn
 
				}
 
			} else if (_patches.bridge_pillars) {
 
				// draw pillars below for high bridges
 
				DrawBridgePillars(ti, x, y, z);
 
				DrawBridgePillars(b[2], ti, x, y, z);
 
			}
 
		}
 
	}
0 comments (0 inline, 0 general)