MCPcopy Create free account
hub / github.com/OpenLoco/OpenLoco / paintTileElements2

Function paintTileElements2

src/OpenLoco/src/Paint/PaintTile.cpp:377–441  ·  view source on GitHub ↗

0x004617C6

Source from the content-addressed store, hash-verified

375
376 // 0x004617C6
377 void paintTileElements2(PaintSession& session, const World::Pos2& loc)
378 {
379 if (!World::drawableCoords(loc))
380 {
381 return;
382 }
383
384 const auto vpPos = paintTileElementsSetup(session, loc);
385 if (!vpPos)
386 {
387 return;
388 }
389
390 auto tile = TileManager::get(loc);
391 for (auto& el : tile)
392 {
393 session.setUnkVpY(vpPos->y - el.baseHeight());
394 session.setCurrentItem(&el);
395 switch (el.type())
396 {
397 case World::ElementType::surface:
398 case World::ElementType::track:
399 case World::ElementType::signal:
400 case World::ElementType::wall:
401 case World::ElementType::road:
402 continue;
403
404 case World::ElementType::station:
405 {
406 auto& elStation = el.get<StationElement>();
407 switch (elStation.stationType())
408 {
409 case StationType::airport:
410 case StationType::docks:
411 paintStation(session, elStation);
412 break;
413 default:
414 case StationType::roadStation:
415 case StationType::trainStation:
416 continue;
417 }
418 break;
419 }
420 case World::ElementType::building:
421 {
422 auto& elBuilding = el.get<BuildingElement>();
423 paintBuilding(session, elBuilding);
424 break;
425 }
426 case World::ElementType::tree:
427 {
428 auto& elTree = el.get<TreeElement>();
429 paintTree(session, elTree);
430 break;
431 }
432 case World::ElementType::industry:
433 {
434 auto& elIndustry = el.get<IndustryElement>();

Callers 1

Calls 13

drawableCoordsFunction · 0.85
paintTileElementsSetupFunction · 0.85
paintStationFunction · 0.85
paintBuildingFunction · 0.85
paintTreeFunction · 0.85
paintIndustryFunction · 0.85
paintTileElementsEndLoopFunction · 0.85
setUnkVpYMethod · 0.80
baseHeightMethod · 0.80
setCurrentItemMethod · 0.80
typeMethod · 0.80
stationTypeMethod · 0.80

Tested by

no test coverage detected