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

Function TrackDesignPreviewClearMap

src/openrct2/ride/TrackDesign.cpp:2171–2197  ·  view source on GitHub ↗

* Resets all the map elements to surface tiles for track preview. * rct2: 0x006D1D9A */

Source from the content-addressed store, hash-verified

2169 * rct2: 0x006D1D9A
2170 */
2171static void TrackDesignPreviewClearMap()
2172{
2173 auto numTiles = kMaximumMapSizeTechnical * kMaximumMapSizeTechnical;
2174
2175 auto& gameState = getGameState();
2176 gameState.mapSize = TRACK_DESIGN_PREVIEW_MAP_SIZE;
2177
2178 // Reserve ~8 elements per tile
2179 std::vector<TileElement> tileElements;
2180 tileElements.reserve(numTiles * 8);
2181
2182 for (int32_t i = 0; i < numTiles; i++)
2183 {
2184 auto* element = &tileElements.emplace_back();
2185 element->ClearAs(TileElementType::Surface);
2186 element->setLastForTile(true);
2187 element->asSurface()->SetSlope(kTileSlopeFlat);
2188 element->asSurface()->SetWaterHeight(0);
2189 element->asSurface()->SetSurfaceObjectIndex(0);
2190 element->asSurface()->SetEdgeObjectIndex(0);
2191 element->asSurface()->SetGrassLength(GRASS_LENGTH_CLEAR_0);
2192 element->asSurface()->SetOwnership(OWNERSHIP_OWNED);
2193 element->asSurface()->SetParkFences(0);
2194 }
2195
2196 SetTileElements(gameState, std::move(tileElements));
2197}
2198
2199bool TrackDesignAreEntranceAndExitPlaced()
2200{

Callers 1

TrackDesignDrawPreviewFunction · 0.85

Calls 11

SetTileElementsFunction · 0.85
ClearAsMethod · 0.80
setLastForTileMethod · 0.80
SetWaterHeightMethod · 0.80
SetSurfaceObjectIndexMethod · 0.80
SetEdgeObjectIndexMethod · 0.80
SetOwnershipMethod · 0.80
SetParkFencesMethod · 0.80
SetSlopeMethod · 0.45
asSurfaceMethod · 0.45
SetGrassLengthMethod · 0.45

Tested by

no test coverage detected