32 # define MN(a) {a, PAL_NONE}
33 # define MR(a) {a, PALETTE_TO_STRUCT_RED}
34 # define MW(a) {a, PALETTE_TO_STRUCT_WHITE}
35 # define MC(a) {a, PALETTE_TO_STRUCT_CONCRETE}
38 { SPR_AQUEDUCT_MIDDLE_X, PAL_NONE }, { 0x0, PAL_NONE }, { SPR_AQUEDUCT_PILLAR_X, PAL_NONE }, { 0x0, PAL_NONE },
39 { SPR_AQUEDUCT_MIDDLE_Y, PAL_NONE }, { 0x0, PAL_NONE }, { SPR_AQUEDUCT_PILLAR_Y, PAL_NONE }, { 0x0, PAL_NONE },
40 { SPR_AQUEDUCT_RAMP_SW, PAL_NONE }, { SPR_AQUEDUCT_RAMP_SE, PAL_NONE }, { SPR_AQUEDUCT_RAMP_NE, PAL_NONE }, { SPR_AQUEDUCT_RAMP_NW, PAL_NONE },
43 static const PalSpriteID _bridge_sprite_table_4_0[] = {
44 { 0x9A9, PAL_NONE }, { 0x99F, PAL_NONE }, { 0x9B1, PAL_NONE }, { 0x0, PAL_NONE },
45 { 0x9A5, PAL_NONE }, { 0x997, PAL_NONE }, { 0x9AD, PAL_NONE }, { 0x0, PAL_NONE },
46 { 0x99D, PAL_NONE }, { 0x99F, PAL_NONE }, { 0x9B1, PAL_NONE }, { 0x0, PAL_NONE },
47 { 0x995, PAL_NONE }, { 0x997, PAL_NONE }, { 0x9AD, PAL_NONE }, { 0x0, PAL_NONE },
48 { 0x10F2, PAL_NONE }, { 0x99F, PAL_NONE }, { 0x9B1, PAL_NONE }, { 0x0, PAL_NONE },
49 { 0x10EE, PAL_NONE }, { 0x997, PAL_NONE }, { 0x9AD, PAL_NONE }, { 0x0, PAL_NONE },
50 { 0x111A, PAL_NONE }, { 0x99F, PAL_NONE }, { 0x9B1, PAL_NONE }, { 0x0, PAL_NONE },
51 { 0x1116, PAL_NONE }, { 0x997, PAL_NONE }, { 0x9AD, PAL_NONE }, { 0x0, PAL_NONE },
54 static const PalSpriteID _bridge_sprite_table_4_1[] = {
55 { 0x9AA, PAL_NONE }, { 0x9A0, PAL_NONE }, { 0x9B2, PAL_NONE }, { 0x0, PAL_NONE },
56 { 0x9A6, PAL_NONE }, { 0x998, PAL_NONE }, { 0x9AE, PAL_NONE }, { 0x0, PAL_NONE },
57 { 0x99E, PAL_NONE }, { 0x9A0, PAL_NONE }, { 0x9B2, PAL_NONE }, { 0x0, PAL_NONE },
58 { 0x996, PAL_NONE }, { 0x998, PAL_NONE }, { 0x9AE, PAL_NONE }, { 0x0, PAL_NONE },
59 { 0x10F3, PAL_NONE }, { 0x9A0, PAL_NONE }, { 0x9B2, PAL_NONE }, { 0x0, PAL_NONE },
60 { 0x10EF, PAL_NONE }, { 0x998, PAL_NONE }, { 0x9AE, PAL_NONE }, { 0x0, PAL_NONE },
61 { 0x111B, PAL_NONE }, { 0x9A0, PAL_NONE }, { 0x9B2, PAL_NONE }, { 0x0, PAL_NONE },
62 { 0x1117, PAL_NONE }, { 0x998, PAL_NONE }, { 0x9AE, PAL_NONE }, { 0x0, PAL_NONE },
65 static const PalSpriteID _bridge_sprite_table_4_2[] = {
66 { 0x9AC, PAL_NONE }, { 0x9A4, PAL_NONE }, { 0x9B4, PAL_NONE }, { 0x0, PAL_NONE },
67 { 0x9A8, PAL_NONE }, { 0x99C, PAL_NONE }, { 0x9B0, PAL_NONE }, { 0x0, PAL_NONE },
68 { 0x9A2, PAL_NONE }, { 0x9A4, PAL_NONE }, { 0x9B4, PAL_NONE }, { 0x0, PAL_NONE },
69 { 0x99A, PAL_NONE }, { 0x99C, PAL_NONE }, { 0x9B0, PAL_NONE }, { 0x0, PAL_NONE },
70 { 0x10F5, PAL_NONE }, { 0x9A4, PAL_NONE }, { 0x9B4, PAL_NONE }, { 0x0, PAL_NONE },
71 { 0x10F1, PAL_NONE }, { 0x99C, PAL_NONE }, { 0x9B0, PAL_NONE }, { 0x0, PAL_NONE },
72 { 0x111D, PAL_NONE }, { 0x9A4, PAL_NONE }, { 0x9B4, PAL_NONE }, { 0x0, PAL_NONE },
73 { 0x1119, PAL_NONE }, { 0x99C, PAL_NONE }, { 0x9B0, PAL_NONE }, { 0x0, PAL_NONE },
76 static const PalSpriteID _bridge_sprite_table_4_3[] = {
77 { 0x9AB, PAL_NONE }, { 0x9A3, PAL_NONE }, { 0x9B3, PAL_NONE }, { 0x0, PAL_NONE },
78 { 0x9A7, PAL_NONE }, { 0x99B, PAL_NONE }, { 0x9AF, PAL_NONE }, { 0x0, PAL_NONE },
79 { 0x9A1, PAL_NONE }, { 0x9A3, PAL_NONE }, { 0x9B3, PAL_NONE }, { 0x0, PAL_NONE },
80 { 0x999, PAL_NONE }, { 0x99B, PAL_NONE }, { 0x9AF, PAL_NONE }, { 0x0, PAL_NONE },
81 { 0x10F4, PAL_NONE }, { 0x9A3, PAL_NONE }, { 0x9B3, PAL_NONE }, { 0x0, PAL_NONE },
82 { 0x10F0, PAL_NONE }, { 0x99B, PAL_NONE }, { 0x9AF, PAL_NONE }, { 0x0, PAL_NONE },
83 { 0x111C, PAL_NONE }, { 0x9A3, PAL_NONE }, { 0x9B3, PAL_NONE }, { 0x0, PAL_NONE },
84 { 0x1118, PAL_NONE }, { 0x99B, PAL_NONE }, { 0x9AF, PAL_NONE }, { 0x0, PAL_NONE },
87 static const PalSpriteID _bridge_sprite_table_4_4[] = {
88 { 0x9B6, PAL_NONE }, { 0x9BA, PAL_NONE }, { 0x9BC, PAL_NONE }, { 0x0, PAL_NONE },
89 { 0x9B5, PAL_NONE }, { 0x9B9, PAL_NONE }, { 0x9BB, PAL_NONE }, { 0x0, PAL_NONE },
90 { 0x9B8, PAL_NONE }, { 0x9BA, PAL_NONE }, { 0x9BC, PAL_NONE }, { 0x0, PAL_NONE },
91 { 0x9B7, PAL_NONE }, { 0x9B9, PAL_NONE }, { 0x9BB, PAL_NONE }, { 0x0, PAL_NONE },
92 { 0x10F7, PAL_NONE }, { 0x9BA, PAL_NONE }, { 0x9BC, PAL_NONE }, { 0x0, PAL_NONE },
93 { 0x10F6, PAL_NONE }, { 0x9B9, PAL_NONE }, { 0x9BB, PAL_NONE }, { 0x0, PAL_NONE },
94 { 0x111F, PAL_NONE }, { 0x9BA, PAL_NONE }, { 0x9BC, PAL_NONE }, { 0x0, PAL_NONE },
95 { 0x111E, PAL_NONE }, { 0x9B9, PAL_NONE }, { 0x9BB, PAL_NONE }, { 0x0, PAL_NONE },
98 static const PalSpriteID _bridge_sprite_table_4_5[] = {
99 { 0x9BD, PAL_NONE }, { 0x9C1, PAL_NONE }, { 0x0, PAL_NONE }, { 0x0, PAL_NONE },
100 { 0x9BE, PAL_NONE }, { 0x9C2, PAL_NONE }, { 0x0, PAL_NONE }, { 0x0, PAL_NONE },
101 { 0x9BF, PAL_NONE }, { 0x9C1, PAL_NONE }, { 0x0, PAL_NONE }, { 0x0, PAL_NONE },
102 { 0x9C0, PAL_NONE }, { 0x9C2, PAL_NONE }, { 0x0, PAL_NONE }, { 0x0, PAL_NONE },
103 { 0x10F8, PAL_NONE }, { 0x9C1, PAL_NONE }, { 0x0, PAL_NONE }, { 0x0, PAL_NONE },
104 { 0x10F9, PAL_NONE }, { 0x9C2, PAL_NONE }, { 0x0, PAL_NONE }, { 0x0, PAL_NONE },
105 { 0x1120, PAL_NONE }, { 0x9C1, PAL_NONE }, { 0x0, PAL_NONE }, { 0x0, PAL_NONE },
106 { 0x1121, PAL_NONE }, { 0x9C2, PAL_NONE }, { 0x0, PAL_NONE }, { 0x0, PAL_NONE },
109 static const PalSpriteID _bridge_sprite_table_4_6[] = {
110 { 0x986, PAL_NONE }, { 0x988, PAL_NONE }, { 0x985, PAL_NONE }, { 0x987, PAL_NONE },
111 { 0x98A, PAL_NONE }, { 0x98C, PAL_NONE }, { 0x989, PAL_NONE }, { 0x98B, PAL_NONE },
112 { 0x98E, PAL_NONE }, { 0x990, PAL_NONE }, { 0x98D, PAL_NONE }, { 0x98F, PAL_NONE },
113 { 0x992, PAL_NONE }, { 0x994, PAL_NONE }, { 0x991, PAL_NONE }, { 0x993, PAL_NONE },
114 { 0x10E7, PAL_NONE }, { 0x10E9, PAL_NONE }, { 0x10E6, PAL_NONE }, { 0x10E8, PAL_NONE },
115 { 0x10EB, PAL_NONE }, { 0x10ED, PAL_NONE }, { 0x10EA, PAL_NONE }, { 0x10EC, PAL_NONE },
116 { 0x110F, PAL_NONE }, { 0x1111, PAL_NONE }, { 0x110E, PAL_NONE }, { 0x1110, PAL_NONE },
117 { 0x1113, PAL_NONE }, { 0x1115, PAL_NONE }, { 0x1112, PAL_NONE }, { 0x1114, PAL_NONE },
120 static const PalSpriteID _bridge_sprite_table_5_0[] = {
131 static const PalSpriteID _bridge_sprite_table_5_1[] = {
142 static const PalSpriteID _bridge_sprite_table_5_2[] = {
153 static const PalSpriteID _bridge_sprite_table_5_3[] = {
164 static const PalSpriteID _bridge_sprite_table_5_4[] = {
175 static const PalSpriteID _bridge_sprite_table_5_5[] = {
186 static const PalSpriteID _bridge_sprite_table_5_6[] = {
187 { 0x986, PAL_NONE }, { 0x988, PAL_NONE }, { 0x985, PAL_NONE }, { 0x987, PAL_NONE },
188 { 0x98A, PAL_NONE }, { 0x98C, PAL_NONE }, { 0x989, PAL_NONE }, { 0x98B, PAL_NONE },
197 static const PalSpriteID _bridge_sprite_table_6_0[] = {
198 { 0x9CD, PAL_NONE }, { 0x9D9, PAL_NONE }, { 0x0, PAL_NONE }, { 0x0, PAL_NONE },
199 { 0x9CE, PAL_NONE }, { 0x9DA, PAL_NONE }, { 0x0, PAL_NONE }, { 0x0, PAL_NONE },
200 { 0x9D3, PAL_NONE }, { 0x9D9, PAL_NONE }, { 0x0, PAL_NONE }, { 0x0, PAL_NONE },
201 { 0x9D4, PAL_NONE }, { 0x9DA, PAL_NONE }, { 0x0, PAL_NONE }, { 0x0, PAL_NONE },
202 { 0x10FC, PAL_NONE }, { 0x9D9, PAL_NONE }, { 0x0, PAL_NONE }, { 0x0, PAL_NONE },
203 { 0x10FD, PAL_NONE }, { 0x9DA, PAL_NONE }, { 0x0, PAL_NONE }, { 0x0, PAL_NONE },
204 { 0x1124, PAL_NONE }, { 0x9D9, PAL_NONE }, { 0x0, PAL_NONE }, { 0x0, PAL_NONE },
205 { 0x1125, PAL_NONE }, { 0x9DA, PAL_NONE }, { 0x0, PAL_NONE }, { 0x0, PAL_NONE },
208 static const PalSpriteID _bridge_sprite_table_6_1[] = {
209 { 0x9CB, PAL_NONE }, { 0x9D7, PAL_NONE }, { 0x9DD, PAL_NONE }, { 0x0, PAL_NONE },
210 { 0x9D0, PAL_NONE }, { 0x9DC, PAL_NONE }, { 0x9E0, PAL_NONE }, { 0x0, PAL_NONE },
211 { 0x9D1, PAL_NONE }, { 0x9D7, PAL_NONE }, { 0x9DD, PAL_NONE }, { 0x0, PAL_NONE },
212 { 0x9D6, PAL_NONE }, { 0x9DC, PAL_NONE }, { 0x9E0, PAL_NONE }, { 0x0, PAL_NONE },
213 { 0x10FA, PAL_NONE }, { 0x9D7, PAL_NONE }, { 0x9DD, PAL_NONE }, { 0x0, PAL_NONE },
214 { 0x10FF, PAL_NONE }, { 0x9DC, PAL_NONE }, { 0x9E0, PAL_NONE }, { 0x0, PAL_NONE },
215 { 0x1122, PAL_NONE }, { 0x9D7, PAL_NONE }, { 0x9DD, PAL_NONE }, { 0x0, PAL_NONE },
216 { 0x1127, PAL_NONE }, { 0x9DC, PAL_NONE }, { 0x9E0, PAL_NONE }, { 0x0, PAL_NONE },
219 static const PalSpriteID _bridge_sprite_table_6_2[] = {
220 { 0x9CC, PAL_NONE }, { 0x9D8, PAL_NONE }, { 0x9DE, PAL_NONE }, { 0x0, PAL_NONE },
221 { 0x9CF, PAL_NONE }, { 0x9DB, PAL_NONE }, { 0x9DF, PAL_NONE }, { 0x0, PAL_NONE },
222 { 0x9D2, PAL_NONE }, { 0x9D8, PAL_NONE }, { 0x9DE, PAL_NONE }, { 0x0, PAL_NONE },
223 { 0x9D5, PAL_NONE }, { 0x9DB, PAL_NONE }, { 0x9DF, PAL_NONE }, { 0x0, PAL_NONE },
224 { 0x10FB, PAL_NONE }, { 0x9D8, PAL_NONE }, { 0x9DE, PAL_NONE }, { 0x0, PAL_NONE },
225 { 0x10FE, PAL_NONE }, { 0x9DB, PAL_NONE }, { 0x9DF, PAL_NONE }, { 0x0, PAL_NONE },
226 { 0x1123, PAL_NONE }, { 0x9D8, PAL_NONE }, { 0x9DE, PAL_NONE }, { 0x0, PAL_NONE },
227 { 0x1126, PAL_NONE }, { 0x9DB, PAL_NONE }, { 0x9DF, PAL_NONE }, { 0x0, PAL_NONE },
230 static const PalSpriteID _bridge_sprite_table_6_3[] = {
231 { 0x986, PAL_NONE }, { 0x988, PAL_NONE }, { 0x985, PAL_NONE }, { 0x987, PAL_NONE },
232 { 0x98A, PAL_NONE }, { 0x98C, PAL_NONE }, { 0x989, PAL_NONE }, { 0x98B, PAL_NONE },
233 { 0x98E, PAL_NONE }, { 0x990, PAL_NONE }, { 0x98D, PAL_NONE }, { 0x98F, PAL_NONE },
234 { 0x992, PAL_NONE }, { 0x994, PAL_NONE }, { 0x991, PAL_NONE }, { 0x993, PAL_NONE },
235 { 0x10E7, PAL_NONE }, { 0x10E9, PAL_NONE }, { 0x10E6, PAL_NONE }, { 0x10E8, PAL_NONE },
236 { 0x10EB, PAL_NONE }, { 0x10ED, PAL_NONE }, { 0x10EA, PAL_NONE }, { 0x10EC, PAL_NONE },
237 { 0x110F, PAL_NONE }, { 0x1111, PAL_NONE }, { 0x110E, PAL_NONE }, { 0x1110, PAL_NONE },
238 { 0x1113, PAL_NONE }, { 0x1115, PAL_NONE }, { 0x1112, PAL_NONE }, { 0x1114, PAL_NONE },
241 static const PalSpriteID _bridge_sprite_table_7_0[] = {
252 static const PalSpriteID _bridge_sprite_table_7_1[] = {
263 static const PalSpriteID _bridge_sprite_table_7_2[] = {
274 static const PalSpriteID _bridge_sprite_table_7_3[] = {
275 { 0x986, PAL_NONE }, { 0x988, PAL_NONE }, { 0x985, PAL_NONE }, { 0x987, PAL_NONE },
276 { 0x98A, PAL_NONE }, { 0x98C, PAL_NONE }, { 0x989, PAL_NONE }, { 0x98B, PAL_NONE },
285 static const PalSpriteID _bridge_sprite_table_8_0[] = {
296 static const PalSpriteID _bridge_sprite_table_8_1[] = {
307 static const PalSpriteID _bridge_sprite_table_8_2[] = {
318 static const PalSpriteID _bridge_sprite_table_8_3[] = {
319 { 0x986, PAL_NONE }, { 0x988, PAL_NONE }, { 0x985, PAL_NONE }, { 0x987, PAL_NONE },
320 { 0x98A, PAL_NONE }, { 0x98C, PAL_NONE }, { 0x989, PAL_NONE }, { 0x98B, PAL_NONE },
329 static const PalSpriteID _bridge_sprite_table_wood_middle[] = {
330 MN( SPR_BTWDN_RAIL_X_REAR ), MN( SPR_BTWDN_X_FRONT ), MN( SPR_BTWDN_X_PILLAR ), MN( 0x0 ),
331 MN( SPR_BTWDN_RAIL_Y_REAR ), MN( SPR_BTWDN_Y_FRONT ), MN( SPR_BTWDN_Y_PILLAR ), MN( 0x0 ),
332 MN( SPR_BTWDN_ROAD_X_REAR ), MN( SPR_BTWDN_X_FRONT ), MN( SPR_BTWDN_X_PILLAR ), MN( 0x0 ),
333 MN( SPR_BTWDN_ROAD_Y_REAR ), MN( SPR_BTWDN_Y_FRONT ), MN( SPR_BTWDN_Y_PILLAR ), MN( 0x0 ),
334 MN( SPR_BTWDN_MONO_X_REAR ), MN( SPR_BTWDN_X_FRONT ), MN( SPR_BTWDN_X_PILLAR ), MN( 0x0 ),
335 MN( SPR_BTWDN_MONO_Y_REAR ), MN( SPR_BTWDN_Y_FRONT ), MN( SPR_BTWDN_Y_PILLAR ), MN( 0x0 ),
336 MN( SPR_BTWDN_MGLV_X_REAR ), MN( SPR_BTWDN_X_FRONT ), MN( SPR_BTWDN_X_PILLAR ), MN( 0x0 ),
337 MN( SPR_BTWDN_MGLV_Y_REAR ), MN( SPR_BTWDN_Y_FRONT ), MN( SPR_BTWDN_Y_PILLAR ), MN( 0x0 ),
340 static const PalSpriteID _bridge_sprite_table_wood_heads[] = {
341 MN( SPR_BTWDN_RAIL_X_SLOPE_UP ), MN( SPR_BTWDN_RAIL_Y_SLOPE_UP ), MN( SPR_BTWDN_RAIL_X_SLOPE_DOWN ), MN( SPR_BTWDN_RAIL_Y_SLOPE_DOWN ),
342 MN( SPR_BTWDN_RAIL_RAMP_X_DOWN ), MN( SPR_BTWDN_RAIL_RAMP_Y_DOWN ), MN( SPR_BTWDN_RAIL_RAMP_X_UP ), MN( SPR_BTWDN_RAIL_RAMP_Y_UP ),
343 MN( SPR_BTWDN_ROAD_X_SLOPE_UP ), MN( SPR_BTWDN_ROAD_Y_SLOPE_UP ), MN( SPR_BTWDN_ROAD_X_SLOPE_DOWN ), MN( SPR_BTWDN_ROAD_Y_SLOPE_DOWN ),
344 MN( SPR_BTWDN_ROAD_RAMP_X_DOWN ), MN( SPR_BTWDN_ROAD_RAMP_Y_DOWN ), MN( SPR_BTWDN_ROAD_RAMP_X_UP ), MN( SPR_BTWDN_ROAD_RAMP_Y_UP ),
345 MN( SPR_BTWDN_MONO_X_SLOPE_UP ), MN( SPR_BTWDN_MONO_Y_SLOPE_UP ), MN( SPR_BTWDN_MONO_X_SLOPE_DOWN ), MN( SPR_BTWDN_MONO_Y_SLOPE_DOWN ),
346 MN( SPR_BTWDN_MONO_RAMP_X_DOWN ), MN( SPR_BTWDN_MONO_RAMP_Y_DOWN ), MN( SPR_BTWDN_MONO_RAMP_X_UP ), MN( SPR_BTWDN_MONO_RAMP_Y_UP ),
347 MN( SPR_BTWDN_MGLV_X_SLOPE_UP ), MN( SPR_BTWDN_MGLV_Y_SLOPE_UP ), MN( SPR_BTWDN_MGLV_X_SLOPE_DOWN ), MN( SPR_BTWDN_MGLV_Y_SLOPE_DOWN ),
348 MN( SPR_BTWDN_MGLV_RAMP_X_DOWN ), MN( SPR_BTWDN_MGLV_RAMP_Y_DOWN ), MN( SPR_BTWDN_MGLV_RAMP_X_UP ), MN( SPR_BTWDN_MGLV_RAMP_Y_UP ),
351 static const PalSpriteID _bridge_sprite_table_concrete_middle[] = {
352 MR( SPR_BTCON_RAIL_X ),
MR( SPR_BTCON_X_FRONT ), MN( SPR_BTCON_X_PILLAR ), MN( 0x0 ),
353 MR( SPR_BTCON_RAIL_Y ),
MR( SPR_BTCON_Y_FRONT ), MN( SPR_BTCON_Y_PILLAR ), MN( 0x0 ),
354 MR( SPR_BTCON_ROAD_X ),
MR( SPR_BTCON_X_FRONT ), MN( SPR_BTCON_X_PILLAR ), MN( 0x0 ),
355 MR( SPR_BTCON_ROAD_Y ),
MR( SPR_BTCON_Y_FRONT ), MN( SPR_BTCON_Y_PILLAR ), MN( 0x0 ),
356 MR( SPR_BTCON_MONO_X ),
MR( SPR_BTCON_X_FRONT ), MN( SPR_BTCON_X_PILLAR ), MN( 0x0 ),
357 MR( SPR_BTCON_MONO_Y ),
MR( SPR_BTCON_Y_FRONT ), MN( SPR_BTCON_Y_PILLAR ), MN( 0x0 ),
358 MR( SPR_BTCON_MGLV_X ),
MR( SPR_BTCON_X_FRONT ), MN( SPR_BTCON_X_PILLAR ), MN( 0x0 ),
359 MR( SPR_BTCON_MGLV_Y ),
MR( SPR_BTCON_Y_FRONT ), MN( SPR_BTCON_Y_PILLAR ), MN( 0x0 ),
362 static const PalSpriteID _bridge_sprite_table_concrete_heads[] = {
363 MN( SPR_BTGEN_RAIL_X_SLOPE_UP ), MN( SPR_BTGEN_RAIL_Y_SLOPE_UP ), MN( SPR_BTGEN_RAIL_X_SLOPE_DOWN ), MN( SPR_BTGEN_RAIL_Y_SLOPE_DOWN ),
364 MN( SPR_BTGEN_RAIL_RAMP_X_DOWN ), MN( SPR_BTGEN_RAIL_RAMP_Y_DOWN ), MN( SPR_BTGEN_RAIL_RAMP_X_UP ), MN( SPR_BTGEN_RAIL_RAMP_Y_UP ),
365 MR( SPR_BTGEN_ROAD_X_SLOPE_UP ),
MR( SPR_BTGEN_ROAD_Y_SLOPE_UP ),
MR( SPR_BTGEN_ROAD_X_SLOPE_DOWN ),
MR( SPR_BTGEN_ROAD_Y_SLOPE_DOWN ),
366 MR( SPR_BTGEN_ROAD_RAMP_X_DOWN ),
MR( SPR_BTGEN_ROAD_RAMP_Y_DOWN ),
MR( SPR_BTGEN_ROAD_RAMP_X_UP ),
MR( SPR_BTGEN_ROAD_RAMP_Y_UP ),
367 MR( SPR_BTGEN_MONO_X_SLOPE_UP ),
MR( SPR_BTGEN_MONO_Y_SLOPE_UP ),
MR( SPR_BTGEN_MONO_X_SLOPE_DOWN ),
MR( SPR_BTGEN_MONO_Y_SLOPE_DOWN ),
368 MR( SPR_BTGEN_MONO_RAMP_X_DOWN ),
MR( SPR_BTGEN_MONO_RAMP_Y_DOWN ),
MR( SPR_BTGEN_MONO_RAMP_X_UP ),
MR( SPR_BTGEN_MONO_RAMP_Y_UP ),
369 MR( SPR_BTGEN_MGLV_X_SLOPE_UP ),
MR( SPR_BTGEN_MGLV_Y_SLOPE_UP ),
MR( SPR_BTGEN_MGLV_X_SLOPE_DOWN ),
MR( SPR_BTGEN_MGLV_Y_SLOPE_DOWN ),
370 MR( SPR_BTGEN_MGLV_RAMP_X_DOWN ),
MR( SPR_BTGEN_MGLV_RAMP_Y_DOWN ),
MR( SPR_BTGEN_MGLV_RAMP_X_UP ),
MR( SPR_BTGEN_MGLV_RAMP_Y_UP ),
373 static const PalSpriteID _bridge_sprite_table_archgirder_middle[] = {
374 MN( SPR_BTSGA_RAIL_X_REAR ), MN( SPR_BTSGA_X_FRONT ), MN( SPR_BTSGA_X_PILLAR ), MN( 0x0 ),
375 MN( SPR_BTSGA_RAIL_Y_REAR ), MN( SPR_BTSGA_Y_FRONT ), MN( SPR_BTSGA_Y_PILLAR ), MN( 0x0 ),
376 MN( SPR_BTSGA_ROAD_X_REAR ), MN( SPR_BTSGA_X_FRONT ), MN( SPR_BTSGA_X_PILLAR ), MN( 0x0 ),
377 MN( SPR_BTSGA_ROAD_Y_REAR ), MN( SPR_BTSGA_Y_FRONT ), MN( SPR_BTSGA_Y_PILLAR ), MN( 0x0 ),
378 MN( SPR_BTSGA_MONO_X_REAR ), MN( SPR_BTSGA_X_FRONT ), MN( SPR_BTSGA_X_PILLAR ), MN( 0x0 ),
379 MN( SPR_BTSGA_MONO_Y_REAR ), MN( SPR_BTSGA_Y_FRONT ), MN( SPR_BTSGA_Y_PILLAR ), MN( 0x0 ),
380 MN( SPR_BTSGA_MGLV_X_REAR ), MN( SPR_BTSGA_X_FRONT ), MN( SPR_BTSGA_X_PILLAR ), MN( 0x0 ),
381 MN( SPR_BTSGA_MGLV_Y_REAR ), MN( SPR_BTSGA_Y_FRONT ), MN( SPR_BTSGA_Y_PILLAR ), MN( 0x0 ),
384 static const PalSpriteID _bridge_sprite_table_archgirder_heads[] = {
385 MN( SPR_BTGEN_RAIL_X_SLOPE_UP ), MN( SPR_BTGEN_RAIL_Y_SLOPE_UP ), MN( SPR_BTGEN_RAIL_X_SLOPE_DOWN ), MN( SPR_BTGEN_RAIL_Y_SLOPE_DOWN ),
386 MN( SPR_BTGEN_RAIL_RAMP_X_DOWN ), MN( SPR_BTGEN_RAIL_RAMP_Y_DOWN ), MN( SPR_BTGEN_RAIL_RAMP_X_UP ), MN( SPR_BTGEN_RAIL_RAMP_Y_UP ),
387 MW( SPR_BTGEN_ROAD_X_SLOPE_UP ),
MW( SPR_BTGEN_ROAD_Y_SLOPE_UP ),
MW( SPR_BTGEN_ROAD_X_SLOPE_DOWN ),
MW( SPR_BTGEN_ROAD_Y_SLOPE_DOWN ),
388 MW( SPR_BTGEN_ROAD_RAMP_X_DOWN ),
MW( SPR_BTGEN_ROAD_RAMP_Y_DOWN ),
MW( SPR_BTGEN_ROAD_RAMP_X_UP ),
MW( SPR_BTGEN_ROAD_RAMP_Y_UP ),
389 MW( SPR_BTGEN_MONO_X_SLOPE_UP ),
MW( SPR_BTGEN_MONO_Y_SLOPE_UP ),
MW( SPR_BTGEN_MONO_X_SLOPE_DOWN ),
MW( SPR_BTGEN_MONO_Y_SLOPE_DOWN ),
390 MW( SPR_BTGEN_MONO_RAMP_X_DOWN ),
MW( SPR_BTGEN_MONO_RAMP_Y_DOWN ),
MW( SPR_BTGEN_MONO_RAMP_X_UP ),
MW( SPR_BTGEN_MONO_RAMP_Y_UP ),
391 MW( SPR_BTGEN_MGLV_X_SLOPE_UP ),
MW( SPR_BTGEN_MGLV_Y_SLOPE_UP ),
MW( SPR_BTGEN_MGLV_X_SLOPE_DOWN ),
MW( SPR_BTGEN_MGLV_Y_SLOPE_DOWN ),
392 MW( SPR_BTGEN_MGLV_RAMP_X_DOWN ),
MW( SPR_BTGEN_MGLV_RAMP_Y_DOWN ),
MW( SPR_BTGEN_MGLV_RAMP_X_UP ),
MW( SPR_BTGEN_MGLV_RAMP_Y_UP ),
395 static const PalSpriteID _bridge_sprite_table_concrete_suspended_A[] = {
396 MC( SPR_BTSUS_RAIL_X_REAR_TILE_A ),
MC( SPR_BTSUS_X_FRONT_TILE_A ),
MC( SPR_BTSUS_X_PILLAR_TILE_A ), MN( 0x0 ),
397 MC( SPR_BTSUS_RAIL_Y_REAR_TILE_A ),
MC( SPR_BTSUS_Y_FRONT_TILE_A ),
MC( SPR_BTSUS_Y_PILLAR_TILE_A ), MN( 0x0 ),
398 MC( SPR_BTSUS_ROAD_X_REAR_TILE_A ),
MC( SPR_BTSUS_X_FRONT_TILE_A ),
MC( SPR_BTSUS_X_PILLAR_TILE_A ), MN( 0x0 ),
399 MC( SPR_BTSUS_ROAD_Y_REAR_TILE_A ),
MC( SPR_BTSUS_Y_FRONT_TILE_A ),
MC( SPR_BTSUS_Y_PILLAR_TILE_A ), MN( 0x0 ),
400 MC( SPR_BTSUS_MONO_X_REAR_TILE_A ),
MC( SPR_BTSUS_X_FRONT_TILE_A ),
MC( SPR_BTSUS_X_PILLAR_TILE_A ), MN( 0x0 ),
401 MC( SPR_BTSUS_MONO_Y_REAR_TILE_A ),
MC( SPR_BTSUS_Y_FRONT_TILE_A ),
MC( SPR_BTSUS_Y_PILLAR_TILE_A ), MN( 0x0 ),
402 MC( SPR_BTSUS_MGLV_X_REAR_TILE_A ),
MC( SPR_BTSUS_X_FRONT_TILE_A ),
MC( SPR_BTSUS_X_PILLAR_TILE_A ), MN( 0x0 ),
403 MC( SPR_BTSUS_MGLV_Y_REAR_TILE_A ),
MC( SPR_BTSUS_Y_FRONT_TILE_A ),
MC( SPR_BTSUS_Y_PILLAR_TILE_A ), MN( 0x0 ),
406 static const PalSpriteID _bridge_sprite_table_concrete_suspended_B[] = {
407 MC( SPR_BTSUS_RAIL_X_REAR_TILE_B ),
MC( SPR_BTSUS_X_FRONT_TILE_B ),
MC( SPR_BTSUS_X_PILLAR_TILE_B ), MN( 0x0 ),
408 MC( SPR_BTSUS_RAIL_Y_REAR_TILE_B ),
MC( SPR_BTSUS_Y_FRONT_TILE_B ),
MC( SPR_BTSUS_Y_PILLAR_TILE_B ), MN( 0x0 ),
409 MC( SPR_BTSUS_ROAD_X_REAR_TILE_B ),
MC( SPR_BTSUS_X_FRONT_TILE_B ),
MC( SPR_BTSUS_X_PILLAR_TILE_B ), MN( 0x0 ),
410 MC( SPR_BTSUS_ROAD_Y_REAR_TILE_B ),
MC( SPR_BTSUS_Y_FRONT_TILE_B ),
MC( SPR_BTSUS_Y_PILLAR_TILE_B ), MN( 0x0 ),
411 MC( SPR_BTSUS_MONO_X_REAR_TILE_B ),
MC( SPR_BTSUS_X_FRONT_TILE_B ),
MC( SPR_BTSUS_X_PILLAR_TILE_B ), MN( 0x0 ),
412 MC( SPR_BTSUS_MONO_Y_REAR_TILE_B ),
MC( SPR_BTSUS_Y_FRONT_TILE_B ),
MC( SPR_BTSUS_Y_PILLAR_TILE_B ), MN( 0x0 ),
413 MC( SPR_BTSUS_MGLV_X_REAR_TILE_B ),
MC( SPR_BTSUS_X_FRONT_TILE_B ),
MC( SPR_BTSUS_X_PILLAR_TILE_B ), MN( 0x0 ),
414 MC( SPR_BTSUS_MGLV_Y_REAR_TILE_B ),
MC( SPR_BTSUS_Y_FRONT_TILE_B ),
MC( SPR_BTSUS_Y_PILLAR_TILE_B ), MN( 0x0 ),
417 static const PalSpriteID _bridge_sprite_table_concrete_suspended_C[] = {
418 MC( SPR_BTSUS_RAIL_X_REAR_TILE_C ),
MC( SPR_BTSUS_X_FRONT_TILE_C ),
MC( SPR_BTSUS_X_PILLAR_TILE_C ), MN( 0x0 ),
419 MC( SPR_BTSUS_RAIL_Y_REAR_TILE_C ),
MC( SPR_BTSUS_Y_FRONT_TILE_C ),
MC( SPR_BTSUS_Y_PILLAR_TILE_C ), MN( 0x0 ),
420 MC( SPR_BTSUS_ROAD_X_REAR_TILE_C ),
MC( SPR_BTSUS_X_FRONT_TILE_C ),
MC( SPR_BTSUS_X_PILLAR_TILE_C ), MN( 0x0 ),
421 MC( SPR_BTSUS_ROAD_Y_REAR_TILE_C ),
MC( SPR_BTSUS_Y_FRONT_TILE_C ),
MC( SPR_BTSUS_Y_PILLAR_TILE_C ), MN( 0x0 ),
422 MC( SPR_BTSUS_MONO_X_REAR_TILE_C ),
MC( SPR_BTSUS_X_FRONT_TILE_C ),
MC( SPR_BTSUS_X_PILLAR_TILE_C ), MN( 0x0 ),
423 MC( SPR_BTSUS_MONO_Y_REAR_TILE_C ),
MC( SPR_BTSUS_Y_FRONT_TILE_C ),
MC( SPR_BTSUS_Y_PILLAR_TILE_C ), MN( 0x0 ),
424 MC( SPR_BTSUS_MGLV_X_REAR_TILE_C ),
MC( SPR_BTSUS_X_FRONT_TILE_C ),
MC( SPR_BTSUS_X_PILLAR_TILE_C ), MN( 0x0 ),
425 MC( SPR_BTSUS_MGLV_Y_REAR_TILE_C ),
MC( SPR_BTSUS_Y_FRONT_TILE_C ),
MC( SPR_BTSUS_Y_PILLAR_TILE_C ), MN( 0x0 ),
428 static const PalSpriteID _bridge_sprite_table_concrete_suspended_D[] = {
429 MC( SPR_BTSUS_RAIL_X_REAR_TILE_D ),
MC( SPR_BTSUS_X_FRONT_TILE_D ),
MC( SPR_BTSUS_X_PILLAR_TILE_D ), MN( 0x0 ),
430 MC( SPR_BTSUS_RAIL_Y_REAR_TILE_D ),
MC( SPR_BTSUS_Y_FRONT_TILE_D ),
MC( SPR_BTSUS_Y_PILLAR_TILE_D ), MN( 0x0 ),
431 MC( SPR_BTSUS_ROAD_X_REAR_TILE_D ),
MC( SPR_BTSUS_X_FRONT_TILE_D ),
MC( SPR_BTSUS_X_PILLAR_TILE_D ), MN( 0x0 ),
432 MC( SPR_BTSUS_ROAD_Y_REAR_TILE_D ),
MC( SPR_BTSUS_Y_FRONT_TILE_D ),
MC( SPR_BTSUS_Y_PILLAR_TILE_D ), MN( 0x0 ),
433 MC( SPR_BTSUS_MONO_X_REAR_TILE_D ),
MC( SPR_BTSUS_X_FRONT_TILE_D ),
MC( SPR_BTSUS_X_PILLAR_TILE_D ), MN( 0x0 ),
434 MC( SPR_BTSUS_MONO_Y_REAR_TILE_D ),
MC( SPR_BTSUS_Y_FRONT_TILE_D ),
MC( SPR_BTSUS_Y_PILLAR_TILE_D ), MN( 0x0 ),
435 MC( SPR_BTSUS_MGLV_X_REAR_TILE_D ),
MC( SPR_BTSUS_X_FRONT_TILE_D ),
MC( SPR_BTSUS_X_PILLAR_TILE_D ), MN( 0x0 ),
436 MC( SPR_BTSUS_MGLV_Y_REAR_TILE_D ),
MC( SPR_BTSUS_Y_FRONT_TILE_D ),
MC( SPR_BTSUS_Y_PILLAR_TILE_D ), MN( 0x0 ),
439 static const PalSpriteID _bridge_sprite_table_concrete_suspended_E[] = {
440 MC( SPR_BTSUS_RAIL_X_REAR_TILE_E ),
MC( SPR_BTSUS_X_FRONT_TILE_E ),
MC( SPR_BTSUS_X_PILLAR_TILE_E ), MN( 0x0 ),
441 MC( SPR_BTSUS_RAIL_Y_REAR_TILE_E ),
MC( SPR_BTSUS_Y_FRONT_TILE_E ),
MC( SPR_BTSUS_Y_PILLAR_TILE_E ), MN( 0x0 ),
442 MC( SPR_BTSUS_ROAD_X_REAR_TILE_E ),
MC( SPR_BTSUS_X_FRONT_TILE_E ),
MC( SPR_BTSUS_X_PILLAR_TILE_E ), MN( 0x0 ),
443 MC( SPR_BTSUS_ROAD_Y_REAR_TILE_E ),
MC( SPR_BTSUS_Y_FRONT_TILE_E ),
MC( SPR_BTSUS_Y_PILLAR_TILE_E ), MN( 0x0 ),
444 MC( SPR_BTSUS_MONO_X_REAR_TILE_E ),
MC( SPR_BTSUS_X_FRONT_TILE_E ),
MC( SPR_BTSUS_X_PILLAR_TILE_E ), MN( 0x0 ),
445 MC( SPR_BTSUS_MONO_Y_REAR_TILE_E ),
MC( SPR_BTSUS_Y_FRONT_TILE_E ),
MC( SPR_BTSUS_Y_PILLAR_TILE_E ), MN( 0x0 ),
446 MC( SPR_BTSUS_MGLV_X_REAR_TILE_E ),
MC( SPR_BTSUS_X_FRONT_TILE_E ),
MC( SPR_BTSUS_X_PILLAR_TILE_E ), MN( 0x0 ),
447 MC( SPR_BTSUS_MGLV_Y_REAR_TILE_E ),
MC( SPR_BTSUS_Y_FRONT_TILE_E ),
MC( SPR_BTSUS_Y_PILLAR_TILE_E ), MN( 0x0 ),
450 static const PalSpriteID _bridge_sprite_table_concrete_suspended_F[] = {
451 MC( SPR_BTSUS_RAIL_X_REAR_TILE_F ),
MC( SPR_BTSUS_X_FRONT ), MN( 0x0 ), MN( 0x0 ),
452 MC( SPR_BTSUS_RAIL_Y_REAR_TILE_F ),
MC( SPR_BTSUS_Y_FRONT ), MN( 0x0 ), MN( 0x0 ),
453 MC( SPR_BTSUS_ROAD_X_REAR_TILE_F ),
MC( SPR_BTSUS_X_FRONT ), MN( 0x0 ), MN( 0x0 ),
454 MC( SPR_BTSUS_ROAD_Y_REAR_TILE_F ),
MC( SPR_BTSUS_Y_FRONT ), MN( 0x0 ), MN( 0x0 ),
455 MC( SPR_BTSUS_MONO_X_REAR_TILE_F ),
MC( SPR_BTSUS_X_FRONT ), MN( 0x0 ), MN( 0x0 ),
456 MC( SPR_BTSUS_MONO_Y_REAR_TILE_F ),
MC( SPR_BTSUS_Y_FRONT ), MN( 0x0 ), MN( 0x0 ),
457 MC( SPR_BTSUS_MGLV_X_REAR_TILE_F ),
MC( SPR_BTSUS_X_FRONT ), MN( 0x0 ), MN( 0x0 ),
458 MC( SPR_BTSUS_MGLV_Y_REAR_TILE_F ),
MC( SPR_BTSUS_Y_FRONT ), MN( 0x0 ), MN( 0x0 ),
461 static const PalSpriteID _bridge_sprite_table_concrete_suspended_heads[] = {
462 MN( SPR_BTGEN_RAIL_X_SLOPE_UP ), MN( SPR_BTGEN_RAIL_Y_SLOPE_UP ), MN( SPR_BTGEN_RAIL_X_SLOPE_DOWN ), MN( SPR_BTGEN_RAIL_Y_SLOPE_DOWN ),
463 MN( SPR_BTGEN_RAIL_RAMP_X_DOWN ), MN( SPR_BTGEN_RAIL_RAMP_Y_DOWN ), MN( SPR_BTGEN_RAIL_RAMP_X_UP ), MN( SPR_BTGEN_RAIL_RAMP_Y_UP ),
464 MC( SPR_BTGEN_ROAD_X_SLOPE_UP ),
MC( SPR_BTGEN_ROAD_Y_SLOPE_UP ),
MC( SPR_BTGEN_ROAD_X_SLOPE_DOWN ),
MC( SPR_BTGEN_ROAD_Y_SLOPE_DOWN ),
465 MC( SPR_BTGEN_ROAD_RAMP_X_DOWN ),
MC( SPR_BTGEN_ROAD_RAMP_Y_DOWN ),
MC( SPR_BTGEN_ROAD_RAMP_X_UP ),
MC( SPR_BTGEN_ROAD_RAMP_Y_UP ),
466 MC( SPR_BTGEN_MONO_X_SLOPE_UP ),
MC( SPR_BTGEN_MONO_Y_SLOPE_UP ),
MC( SPR_BTGEN_MONO_X_SLOPE_DOWN ),
MC( SPR_BTGEN_MONO_Y_SLOPE_DOWN ),
467 MC( SPR_BTGEN_MONO_RAMP_X_DOWN ),
MC( SPR_BTGEN_MONO_RAMP_Y_DOWN ),
MC( SPR_BTGEN_MONO_RAMP_X_UP ),
MC( SPR_BTGEN_MONO_RAMP_Y_UP ),
468 MC( SPR_BTGEN_MGLV_X_SLOPE_UP ),
MC( SPR_BTGEN_MGLV_Y_SLOPE_UP ),
MC( SPR_BTGEN_MGLV_X_SLOPE_DOWN ),
MC( SPR_BTGEN_MGLV_Y_SLOPE_DOWN ),
469 MC( SPR_BTGEN_MGLV_RAMP_X_DOWN ),
MC( SPR_BTGEN_MGLV_RAMP_Y_DOWN ),
MC( SPR_BTGEN_MGLV_RAMP_X_UP ),
MC( SPR_BTGEN_MGLV_RAMP_Y_UP ),
472 static const PalSpriteID _bridge_sprite_table_9_0[] = {
473 { 0x9F9, PAL_NONE }, { 0x9FD, PAL_NONE }, { 0x9C9, PAL_NONE }, { 0x0, PAL_NONE },
474 { 0x9FA, PAL_NONE }, { 0x9FE, PAL_NONE }, { 0x9CA, PAL_NONE }, { 0x0, PAL_NONE },
475 { 0x9FB, PAL_NONE }, { 0x9FD, PAL_NONE }, { 0x9C9, PAL_NONE }, { 0x0, PAL_NONE },
476 { 0x9FC, PAL_NONE }, { 0x9FE, PAL_NONE }, { 0x9CA, PAL_NONE }, { 0x0, PAL_NONE },
477 { 0x110A, PAL_NONE }, { 0x9FD, PAL_NONE }, { 0x9C9, PAL_NONE }, { 0x0, PAL_NONE },
478 { 0x110B, PAL_NONE }, { 0x9FE, PAL_NONE }, { 0x9CA, PAL_NONE }, { 0x0, PAL_NONE },
479 { 0x1132, PAL_NONE }, { 0x9FD, PAL_NONE }, { 0x9C9, PAL_NONE }, { 0x0, PAL_NONE },
480 { 0x1133, PAL_NONE }, { 0x9FE, PAL_NONE }, { 0x9CA, PAL_NONE }, { 0x0, PAL_NONE },
483 static const PalSpriteID _bridge_sprite_table_10_0[] = {
484 { 0xA0B, PAL_NONE }, { 0xA01, PAL_NONE }, { 0x0, PAL_NONE }, { 0x0, PAL_NONE },
485 { 0xA0C, PAL_NONE }, { 0xA02, PAL_NONE }, { 0x0, PAL_NONE }, { 0x0, PAL_NONE },
486 { 0xA11, PAL_NONE }, { 0xA01, PAL_NONE }, { 0x0, PAL_NONE }, { 0x0, PAL_NONE },
487 { 0xA12, PAL_NONE }, { 0xA02, PAL_NONE }, { 0x0, PAL_NONE }, { 0x0, PAL_NONE },
488 { 0xA17, PAL_NONE }, { 0xA01, PAL_NONE }, { 0x0, PAL_NONE }, { 0x0, PAL_NONE },
489 { 0xA18, PAL_NONE }, { 0xA02, PAL_NONE }, { 0x0, PAL_NONE }, { 0x0, PAL_NONE },
490 { 0xA1D, PAL_NONE }, { 0xA01, PAL_NONE }, { 0x0, PAL_NONE }, { 0x0, PAL_NONE },
491 { 0xA1E, PAL_NONE }, { 0xA02, PAL_NONE }, { 0x0, PAL_NONE }, { 0x0, PAL_NONE },
494 static const PalSpriteID _bridge_sprite_table_10_1[] = {
495 { 0xA09, PAL_NONE }, { 0x9FF, PAL_NONE }, { 0xA05, PAL_NONE }, { 0x0, PAL_NONE },
496 { 0xA0E, PAL_NONE }, { 0xA04, PAL_NONE }, { 0xA08, PAL_NONE }, { 0x0, PAL_NONE },
497 { 0xA0F, PAL_NONE }, { 0x9FF, PAL_NONE }, { 0xA05, PAL_NONE }, { 0x0, PAL_NONE },
498 { 0xA14, PAL_NONE }, { 0xA04, PAL_NONE }, { 0xA08, PAL_NONE }, { 0x0, PAL_NONE },
499 { 0xA15, PAL_NONE }, { 0x9FF, PAL_NONE }, { 0xA05, PAL_NONE }, { 0x0, PAL_NONE },
500 { 0xA1A, PAL_NONE }, { 0xA04, PAL_NONE }, { 0xA08, PAL_NONE }, { 0x0, PAL_NONE },
501 { 0xA1B, PAL_NONE }, { 0x9FF, PAL_NONE }, { 0xA05, PAL_NONE }, { 0x0, PAL_NONE },
502 { 0xA20, PAL_NONE }, { 0xA04, PAL_NONE }, { 0xA08, PAL_NONE }, { 0x0, PAL_NONE },
505 static const PalSpriteID _bridge_sprite_table_10_2[] = {
506 { 0xA0A, PAL_NONE }, { 0xA00, PAL_NONE }, { 0xA06, PAL_NONE }, { 0x0, PAL_NONE },
507 { 0xA0D, PAL_NONE }, { 0xA03, PAL_NONE }, { 0xA07, PAL_NONE }, { 0x0, PAL_NONE },
508 { 0xA10, PAL_NONE }, { 0xA00, PAL_NONE }, { 0xA06, PAL_NONE }, { 0x0, PAL_NONE },
509 { 0xA13, PAL_NONE }, { 0xA03, PAL_NONE }, { 0xA07, PAL_NONE }, { 0x0, PAL_NONE },
510 { 0xA16, PAL_NONE }, { 0xA00, PAL_NONE }, { 0xA06, PAL_NONE }, { 0x0, PAL_NONE },
511 { 0xA19, PAL_NONE }, { 0xA03, PAL_NONE }, { 0xA07, PAL_NONE }, { 0x0, PAL_NONE },
512 { 0xA1C, PAL_NONE }, { 0xA00, PAL_NONE }, { 0xA06, PAL_NONE }, { 0x0, PAL_NONE },
513 { 0xA1F, PAL_NONE }, { 0xA03, PAL_NONE }, { 0xA07, PAL_NONE }, { 0x0, PAL_NONE },
516 static const PalSpriteID _bridge_sprite_table_11_0[] = {
527 static const PalSpriteID _bridge_sprite_table_11_1[] = {
538 static const PalSpriteID _bridge_sprite_table_11_2[] = {
549 static const PalSpriteID _bridge_sprite_table_12_0[] = {
560 static const PalSpriteID _bridge_sprite_table_12_1[] = {
571 static const PalSpriteID _bridge_sprite_table_12_2[] = {
582 static const PalSpriteID *
const _bridge_sprite_table_archgirder[] = {
583 _bridge_sprite_table_archgirder_middle,
584 _bridge_sprite_table_archgirder_middle,
585 _bridge_sprite_table_archgirder_middle,
586 _bridge_sprite_table_archgirder_middle,
587 _bridge_sprite_table_archgirder_middle,
588 _bridge_sprite_table_archgirder_middle,
589 _bridge_sprite_table_archgirder_heads,
592 static const PalSpriteID *
const _bridge_sprite_table_4[] = {
593 _bridge_sprite_table_4_0,
594 _bridge_sprite_table_4_1,
595 _bridge_sprite_table_4_2,
596 _bridge_sprite_table_4_3,
597 _bridge_sprite_table_4_4,
598 _bridge_sprite_table_4_5,
599 _bridge_sprite_table_4_6,
602 static const PalSpriteID *
const _bridge_sprite_table_5[] = {
603 _bridge_sprite_table_5_0,
604 _bridge_sprite_table_5_1,
605 _bridge_sprite_table_5_2,
606 _bridge_sprite_table_5_3,
607 _bridge_sprite_table_5_4,
608 _bridge_sprite_table_5_5,
609 _bridge_sprite_table_5_6,
612 static const PalSpriteID *
const _bridge_sprite_table_concrete_suspended[] = {
613 _bridge_sprite_table_concrete_suspended_A,
614 _bridge_sprite_table_concrete_suspended_B,
615 _bridge_sprite_table_concrete_suspended_C,
616 _bridge_sprite_table_concrete_suspended_D,
617 _bridge_sprite_table_concrete_suspended_E,
618 _bridge_sprite_table_concrete_suspended_F,
619 _bridge_sprite_table_concrete_suspended_heads,
622 static const PalSpriteID *
const _bridge_sprite_table_6[] = {
623 _bridge_sprite_table_6_0,
624 _bridge_sprite_table_6_1,
625 _bridge_sprite_table_6_2,
626 _bridge_sprite_table_6_2,
627 _bridge_sprite_table_6_2,
628 _bridge_sprite_table_6_2,
629 _bridge_sprite_table_6_3,
632 static const PalSpriteID *
const _bridge_sprite_table_7[] = {
633 _bridge_sprite_table_7_0,
634 _bridge_sprite_table_7_1,
635 _bridge_sprite_table_7_2,
636 _bridge_sprite_table_7_2,
637 _bridge_sprite_table_7_2,
638 _bridge_sprite_table_7_2,
639 _bridge_sprite_table_7_3,
642 static const PalSpriteID *
const _bridge_sprite_table_8[] = {
643 _bridge_sprite_table_8_0,
644 _bridge_sprite_table_8_1,
645 _bridge_sprite_table_8_2,
646 _bridge_sprite_table_8_2,
647 _bridge_sprite_table_8_2,
648 _bridge_sprite_table_8_2,
649 _bridge_sprite_table_8_3,
652 static const PalSpriteID *
const _bridge_sprite_table_wood[] = {
653 _bridge_sprite_table_wood_middle,
654 _bridge_sprite_table_wood_middle,
655 _bridge_sprite_table_wood_middle,
656 _bridge_sprite_table_wood_middle,
657 _bridge_sprite_table_wood_middle,
658 _bridge_sprite_table_wood_middle,
659 _bridge_sprite_table_wood_heads,
662 static const PalSpriteID *
const _bridge_sprite_table_concrete[] = {
663 _bridge_sprite_table_concrete_middle,
664 _bridge_sprite_table_concrete_middle,
665 _bridge_sprite_table_concrete_middle,
666 _bridge_sprite_table_concrete_middle,
667 _bridge_sprite_table_concrete_middle,
668 _bridge_sprite_table_concrete_middle,
669 _bridge_sprite_table_concrete_heads,
672 static const PalSpriteID *
const _bridge_sprite_table_9[] = {
673 _bridge_sprite_table_9_0,
674 _bridge_sprite_table_9_0,
675 _bridge_sprite_table_9_0,
676 _bridge_sprite_table_9_0,
677 _bridge_sprite_table_9_0,
678 _bridge_sprite_table_9_0,
679 _bridge_sprite_table_4_6,
682 static const PalSpriteID *
const _bridge_sprite_table_10[] = {
683 _bridge_sprite_table_10_0,
684 _bridge_sprite_table_10_1,
685 _bridge_sprite_table_10_2,
686 _bridge_sprite_table_10_2,
687 _bridge_sprite_table_10_2,
688 _bridge_sprite_table_10_2,
689 _bridge_sprite_table_4_6,
692 static const PalSpriteID *
const _bridge_sprite_table_11[] = {
693 _bridge_sprite_table_11_0,
694 _bridge_sprite_table_11_1,
695 _bridge_sprite_table_11_2,
696 _bridge_sprite_table_11_2,
697 _bridge_sprite_table_11_2,
698 _bridge_sprite_table_11_2,
699 _bridge_sprite_table_5_6,
702 static const PalSpriteID *
const _bridge_sprite_table_12[] = {
703 _bridge_sprite_table_12_0,
704 _bridge_sprite_table_12_1,
705 _bridge_sprite_table_12_2,
706 _bridge_sprite_table_12_2,
707 _bridge_sprite_table_12_2,
708 _bridge_sprite_table_12_2,
709 _bridge_sprite_table_concrete_suspended_heads,
713 _bridge_sprite_table_wood,
714 _bridge_sprite_table_concrete,
715 _bridge_sprite_table_archgirder,
716 _bridge_sprite_table_concrete_suspended,
717 _bridge_sprite_table_4,
718 _bridge_sprite_table_5,
719 _bridge_sprite_table_6,
720 _bridge_sprite_table_7,
721 _bridge_sprite_table_8,
722 _bridge_sprite_table_9,
723 _bridge_sprite_table_10,
724 _bridge_sprite_table_11,
725 _bridge_sprite_table_12
741 #define MBR(y, mnl, mxl, p, mxs, spr, plt, dsc, nrl, nrd) \
742 {y, mnl, mxl, p, mxs, spr, plt, dsc, { nrl, nrd }, nullptr, 0}
755 MBR( 0, 0, 0xFFFF, 80, 32, 0xA24, PAL_NONE,
756 STR_BRIDGE_NAME_WOODEN, STR_LAI_BRIDGE_DESCRIPTION_RAIL_WOODEN, STR_LAI_BRIDGE_DESCRIPTION_ROAD_WOODEN),
759 STR_BRIDGE_NAME_CONCRETE, STR_LAI_BRIDGE_DESCRIPTION_RAIL_CONCRETE, STR_LAI_BRIDGE_DESCRIPTION_ROAD_CONCRETE),
761 MBR(1930, 0, 5, 144, 64, 0xA25, PAL_NONE,
762 STR_BRIDGE_NAME_GIRDER_STEEL, STR_LAI_BRIDGE_DESCRIPTION_RAIL_GIRDER_STEEL, STR_LAI_BRIDGE_DESCRIPTION_ROAD_GIRDER_STEEL),
765 STR_BRIDGE_NAME_SUSPENSION_CONCRETE, STR_LAI_BRIDGE_DESCRIPTION_RAIL_SUSPENSION_CONCRETE, STR_LAI_BRIDGE_DESCRIPTION_ROAD_SUSPENSION_CONCRETE),
767 MBR(1930, 3, 0xFFFF, 185, 96, 0xA22, PAL_NONE,
768 STR_BRIDGE_NAME_SUSPENSION_STEEL, STR_LAI_BRIDGE_DESCRIPTION_RAIL_SUSPENSION_STEEL, STR_LAI_BRIDGE_DESCRIPTION_ROAD_SUSPENSION_STEEL),
771 STR_BRIDGE_NAME_SUSPENSION_STEEL, STR_LAI_BRIDGE_DESCRIPTION_RAIL_SUSPENSION_STEEL, STR_LAI_BRIDGE_DESCRIPTION_ROAD_SUSPENSION_STEEL),
773 MBR(1930, 3, 7, 224, 160, 0xA23, PAL_NONE,
774 STR_BRIDGE_NAME_CANTILEVER_STEEL, STR_LAI_BRIDGE_DESCRIPTION_RAIL_CANTILEVER_STEEL, STR_LAI_BRIDGE_DESCRIPTION_ROAD_CANTILEVER_STEEL),
777 STR_BRIDGE_NAME_CANTILEVER_STEEL, STR_LAI_BRIDGE_DESCRIPTION_RAIL_CANTILEVER_STEEL, STR_LAI_BRIDGE_DESCRIPTION_ROAD_CANTILEVER_STEEL),
780 STR_BRIDGE_NAME_CANTILEVER_STEEL, STR_LAI_BRIDGE_DESCRIPTION_RAIL_CANTILEVER_STEEL, STR_LAI_BRIDGE_DESCRIPTION_ROAD_CANTILEVER_STEEL),
782 MBR(1930, 0, 2, 240, 256, 0xA27, PAL_NONE,
783 STR_BRIDGE_NAME_GIRDER_STEEL, STR_LAI_BRIDGE_DESCRIPTION_RAIL_GIRDER_STEEL, STR_LAI_BRIDGE_DESCRIPTION_ROAD_GIRDER_STEEL),
785 MBR(1995, 2, 0xFFFF, 255, 320, 0xA28, PAL_NONE,
786 STR_BRIDGE_NAME_TUBULAR_STEEL, STR_LAI_BRIDGE_DESCRIPTION_RAIL_TUBULAR_STEEL, STR_LAI_BRIDGE_DESCRIPTION_ROAD_TUBULAR_STEEL),
789 STR_BRIDGE_NAME_TUBULAR_STEEL, STR_LAI_BRIDGE_DESCRIPTION_RAIL_TUBULAR_STEEL, STR_LAI_BRIDGE_DESCRIPTION_ROAD_TUBULAR_STEEL),
792 STR_BRIDGE_TUBULAR_SILICON, STR_LAI_BRIDGE_DESCRIPTION_RAIL_TUBULAR_STEEL, STR_LAI_BRIDGE_DESCRIPTION_ROAD_TUBULAR_STEEL)
static const uint MAX_BRIDGES
Maximal number of available bridge specs.
#define MBR(y, mnl, mxl, p, mxs, spr, plt, dsc, nrl, nrd)
Describes the data that defines each bridge in the game.
#define MR(a, b, c, d, e, f)
Writes the properties of a road vehicle into the EngineInfo struct.
#define MW(a, b, c, d, e, f)
Writes the properties of a train carriage into the EngineInfo struct.
#define MC(col_break)
Macro for a height legend entry with configurable colour.
static const PaletteID PALETTE_TO_STRUCT_RED
sets bridge or structure to red (e.g. concrete and cantilever bridge)
static const PaletteID PALETTE_TO_STRUCT_CONCRETE
Sets the suspension bridge to concrete, also other structures use it.
static const PaletteID PALETTE_TO_STRUCT_YELLOW
Sets the bridge colour to yellow (suspension and tubular)
static const PaletteID PALETTE_TO_STRUCT_BROWN
sets bridge or structure to brown (e.g. cantilever bridge)
Struct containing information about a single bridge type.
Combination of a palette sprite and a 'real' sprite.