| 662 | } |
| 663 | |
| 664 | void OnPlaceObject([[maybe_unused]] Point pt, TileIndex tile) override |
| 665 | { |
| 666 | switch (this->last_user_action) { |
| 667 | case WID_RAT_BUILD_NS: |
| 668 | VpStartPlaceSizing(tile, VPM_FIX_VERTICAL | VPM_RAILDIRS, DDSP_PLACE_RAIL); |
| 669 | break; |
| 670 | |
| 671 | case WID_RAT_BUILD_X: |
| 672 | VpStartPlaceSizing(tile, VPM_FIX_Y | VPM_RAILDIRS, DDSP_PLACE_RAIL); |
| 673 | break; |
| 674 | |
| 675 | case WID_RAT_BUILD_EW: |
| 676 | VpStartPlaceSizing(tile, VPM_FIX_HORIZONTAL | VPM_RAILDIRS, DDSP_PLACE_RAIL); |
| 677 | break; |
| 678 | |
| 679 | case WID_RAT_BUILD_Y: |
| 680 | VpStartPlaceSizing(tile, VPM_FIX_X | VPM_RAILDIRS, DDSP_PLACE_RAIL); |
| 681 | break; |
| 682 | |
| 683 | case WID_RAT_AUTORAIL: |
| 684 | VpStartPlaceSizing(tile, VPM_RAILDIRS, DDSP_PLACE_RAIL); |
| 685 | break; |
| 686 | |
| 687 | case WID_RAT_DEMOLISH: |
| 688 | PlaceProc_DemolishArea(tile); |
| 689 | break; |
| 690 | |
| 691 | case WID_RAT_BUILD_DEPOT: |
| 692 | Command<CMD_BUILD_TRAIN_DEPOT>::Post(STR_ERROR_CAN_T_BUILD_TRAIN_DEPOT, CcRailDepot, tile, _cur_railtype, _build_depot_direction); |
| 693 | break; |
| 694 | |
| 695 | case WID_RAT_BUILD_WAYPOINT: |
| 696 | PlaceRail_Waypoint(tile); |
| 697 | break; |
| 698 | |
| 699 | case WID_RAT_BUILD_STATION: |
| 700 | PlaceRail_Station(tile); |
| 701 | break; |
| 702 | |
| 703 | case WID_RAT_BUILD_SIGNALS: |
| 704 | VpStartPlaceSizing(tile, VPM_SIGNALDIRS, DDSP_BUILD_SIGNALS); |
| 705 | break; |
| 706 | |
| 707 | case WID_RAT_BUILD_BRIDGE: |
| 708 | PlaceRail_Bridge(tile, this); |
| 709 | break; |
| 710 | |
| 711 | case WID_RAT_BUILD_TUNNEL: |
| 712 | Command<CMD_BUILD_TUNNEL>::Post(STR_ERROR_CAN_T_BUILD_TUNNEL_HERE, CcBuildRailTunnel, tile, TRANSPORT_RAIL, _cur_railtype); |
| 713 | break; |
| 714 | |
| 715 | case WID_RAT_CONVERT_RAIL: |
| 716 | VpStartPlaceSizing(tile, VPM_X_AND_Y, DDSP_CONVERT_RAIL); |
| 717 | break; |
| 718 | |
| 719 | default: NOT_REACHED(); |
| 720 | } |
| 721 | } |
nothing calls this directly
no test coverage detected