MCPcopy Create free account
hub / github.com/OpenRCT2/OpenRCT2 / TrackDesignSaveAddTileElement

Function TrackDesignSaveAddTileElement

src/openrct2/ride/TrackDesignSave.cpp:389–409  ·  view source on GitHub ↗

* * rct2: 0x006D2B3C */

Source from the content-addressed store, hash-verified

387 * rct2: 0x006D2B3C
388 */
389static 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 *

Calls 11

FailFunction · 0.85
TrackDesignSaveAddWallFunction · 0.85
getTypeMethod · 0.45
asSmallSceneryMethod · 0.45
asLargeSceneryMethod · 0.45
asWallMethod · 0.45
asPathMethod · 0.45

Tested by

no test coverage detected