* * rct2: 0x006D2B3C */
| 387 | * rct2: 0x006D2B3C |
| 388 | */ |
| 389 | static TrackDesignAddStatus TrackDesignSaveAddTileElement(const CoordsXY& loc, TileElement* tileElement) |
| 390 | { |
| 391 | if (!TrackDesignSaveCanAddTileElement(tileElement)) |
| 392 | { |
| 393 | return TrackDesignAddStatus::Fail(STR_SAVE_TRACK_SCENERY_TOO_MANY_ITEMS_SELECTED); |
| 394 | } |
| 395 | |
| 396 | switch (tileElement->getType()) |
| 397 | { |
| 398 | case TileElementType::SmallScenery: |
| 399 | return TrackDesignSaveAddSmallScenery(loc, tileElement->asSmallScenery()); |
| 400 | case TileElementType::LargeScenery: |
| 401 | return TrackDesignSaveAddLargeScenery(loc, tileElement->asLargeScenery()); |
| 402 | case TileElementType::Wall: |
| 403 | return TrackDesignSaveAddWall(loc, tileElement->asWall()); |
| 404 | case TileElementType::Path: |
| 405 | return TrackDesignSaveAddFootpath(loc, tileElement->asPath()); |
| 406 | default: |
| 407 | return TrackDesignAddStatus::Fail(STR_UNKNOWN_OBJECT_TYPE); |
| 408 | } |
| 409 | } |
| 410 | |
| 411 | /** |
| 412 | * |
no test coverage detected