(svn r288) Fix: new checkpoint graphics now also work for monorail/maglev
authordominik
Fri, 17 Sep 2004 20:49:47 +0000
changeset 282 e99c878e7e18
parent 281 915988de3012
child 283 1ab67e2e4907
(svn r288) Fix: new checkpoint graphics now also work for monorail/maglev
rail_cmd.c
--- a/rail_cmd.c	Fri Sep 17 20:34:51 2004 +0000
+++ b/rail_cmd.c	Fri Sep 17 20:49:47 2004 +0000
@@ -1510,15 +1510,17 @@
 		}
 		}
 	} else {
+		/* draw depots / checkpoints */
 		const byte *s;
 		const DrawTrackSeqStruct *drss;
+		byte type = m5 & 0x3F; // 0-3: depots, 4-5: checkpoints
 
 		if (!(m5 & (RAIL_TYPE_MASK&~RAIL_TYPE_SPECIAL)))
 			return;
 
 		if (ti->tileh != 0) { DrawFoundation(ti, ti->tileh); }
 
-		s = _track_depot_layout_table[m5 & 0x3F];
+		s = _track_depot_layout_table[type];
 
 		image = *(const uint16*)s;
 		if (image & 0x8000) image = (image & 0x7FFF) + tracktype_offs;
@@ -1540,7 +1542,7 @@
 		while ((image=drss->image) != 0) {
 			if (image & 0x8000)
 				image |= _drawtile_track_palette;
-			image += tracktype_offs;
+			image += (type<4)?tracktype_offs:0;
 			if (!(_display_opt & DO_TRANS_BUILDINGS)) // show transparent depots
 				image = (image & 0x3FFF) | 0x3224000;
 			AddSortableSpriteToDraw(image, ti->x | drss->subcoord_x,