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

Function tileClearFunction

src/OpenLoco/src/Map/TileClearance.cpp:445–472  ·  view source on GitHub ↗

0x00469E07, 0x00468949, 0x004C4DAD, 0x0042D5E5, 0x0049434F

Source from the content-addressed store, hash-verified

443
444 // 0x00469E07, 0x00468949, 0x004C4DAD, 0x0042D5E5, 0x0049434F
445 static ClearFuncResult tileClearFunction(World::TileElement& el, const World::Pos2 pos, RemovedBuildings& removedBuildings, const uint8_t flags, currency32_t& cost, bool defaultCollision)
446 {
447 switch (el.type())
448 {
449 case ElementType::surface:
450 return ClearFuncResult::noCollision;
451 case ElementType::tree:
452 {
453 auto* elTree = el.as<TreeElement>();
454 if (elTree == nullptr)
455 {
456 return ClearFuncResult::noCollision;
457 }
458 return clearTreeCollision(*elTree, pos, flags, cost);
459 }
460 case ElementType::building:
461 {
462 auto* elBuilding = el.as<BuildingElement>();
463 if (elBuilding == nullptr)
464 {
465 return ClearFuncResult::noCollision;
466 }
467 return clearBuildingCollision(*elBuilding, pos, removedBuildings, flags, cost);
468 }
469 default:
470 return defaultCollision ? ClearFuncResult::collision : ClearFuncResult::noCollision;
471 }
472 };
473
474 ClearFuncResult clearWithDefaultCollision(World::TileElement& el, const World::Pos2 pos, RemovedBuildings& removedBuildings, const uint8_t flags, currency32_t& cost)
475 {

Callers 2

Calls 3

clearTreeCollisionFunction · 0.85
clearBuildingCollisionFunction · 0.85
typeMethod · 0.80

Tested by

no test coverage detected