rail_cmd.c
changeset 393 e1128b94f3fb
parent 389 16ee9854091e
child 395 788a9bba0889
equal deleted inserted replaced
392:93119c39b984 393:e1128b94f3fb
  1618 		if (image & 0x8000) image |= ormod;
  1618 		if (image & 0x8000) image |= ormod;
  1619 		DrawSprite(image + railtype, x + pt.x, y + pt.y);
  1619 		DrawSprite(image + railtype, x + pt.x, y + pt.y);
  1620 	}
  1620 	}
  1621 }
  1621 }
  1622 
  1622 
       
  1623 void DrawCheckpointSprite(int x, int y, int stat_id)
       
  1624 {
       
  1625 	// TODO: We should use supersets with cargo-id FF, if available. --pasky
       
  1626 	DrawTileSprites *cust = GetCustomStation('WAYP', stat_id);
       
  1627 	DrawTileSeqStruct const *seq;
       
  1628 	uint32 ormod, img;
       
  1629 
       
  1630 	assert(cust);
       
  1631 
       
  1632 	// emulate station tile - open with building
       
  1633 	// add 1 to get the other direction
       
  1634 	cust = &cust[2];
       
  1635 
       
  1636 	ormod = SPRITE_PALETTE(PLAYER_SPRITE_COLOR(_local_player));
       
  1637 
       
  1638 	x += 33;
       
  1639 	y += 17;
       
  1640 
       
  1641 	img = cust->ground_sprite;
       
  1642 	if (img & 0x8000) img = (img & 0x7FFF);
       
  1643 	DrawSprite(img, x, y);
       
  1644 
       
  1645 	foreach_draw_tile_seq(seq, cust->seq) {
       
  1646 		Point pt = RemapCoords(seq->delta_x, seq->delta_y, seq->delta_z);
       
  1647 		DrawSprite((seq->image&0x3FFF) | ormod, x + pt.x, y + pt.y);
       
  1648 	}
       
  1649 }
       
  1650 
       
  1651 
  1623 #define NUM_SSD_ENTRY 256
  1652 #define NUM_SSD_ENTRY 256
  1624 #define NUM_SSD_STACK 32
  1653 #define NUM_SSD_STACK 32
  1625 
  1654 
  1626 typedef struct SetSignalsData {
  1655 typedef struct SetSignalsData {
  1627 	int cur;
  1656 	int cur;