mirror of https://github.com/OpenTTD/OpenTTD.git
(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
This commit is contained in:
parent
5c9acdb182
commit
e21b7eebfa
|
@ -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_table_2_1[] = {
|
|||
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_table_4_6[] = {
|
|||
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_table_5_6[] = {
|
|||
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_table_3_6[] = {
|
|||
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_table_1_1[] = {
|
|||
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_table_6_3[] = {
|
|||
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_table_7_3[] = {
|
|||
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_table_8_3[] = {
|
|||
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_table_0_1[] = {
|
|||
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_table_10_2[] = {
|
|||
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_table_11_2[] = {
|
|||
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_table_12_2[] = {
|
|||
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 _bridge_sprite_table[MAX_BRIDGES] = {
|
|||
_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
|
||||
};
|
||||
|
|
|
@ -98,6 +98,7 @@ static inline const PalSpriteID *GetBridgeSpriteTable(int index, byte table)
|
|||
}
|
||||
}
|
||||
|
||||
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][16] = {
|
|||
|
||||
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 TileInfo *ti, int x, int y, int z)
|
|||
}
|
||||
|
||||
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(TileInfo *ti)
|
|||
}
|
||||
} else if (_patches.bridge_pillars) {
|
||||
// draw pillars below for high bridges
|
||||
DrawBridgePillars(ti, x, y, z);
|
||||
DrawBridgePillars(b[2], ti, x, y, z);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue