MCPcopy Create free account
hub / github.com/OpenTTD/OpenTTD / RebuildViewportKdtree

Function RebuildViewportKdtree

src/viewport.cpp:2438–2463  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

2436}
2437
2438void RebuildViewportKdtree()
2439{
2440 /* Reset biggest size sign seen */
2441 _viewport_sign_maxwidth = 0;
2442
2443 std::vector<ViewportSignKdtreeItem> items;
2444 items.reserve(BaseStation::GetNumItems() + Town::GetNumItems() + Sign::GetNumItems());
2445
2446 for (const Station *st : Station::Iterate()) {
2447 if (st->sign.kdtree_valid) items.push_back(ViewportSignKdtreeItem::MakeStation(st->index));
2448 }
2449
2450 for (const Waypoint *wp : Waypoint::Iterate()) {
2451 if (wp->sign.kdtree_valid) items.push_back(ViewportSignKdtreeItem::MakeWaypoint(wp->index));
2452 }
2453
2454 for (const Town *town : Town::Iterate()) {
2455 if (town->cache.sign.kdtree_valid) items.push_back(ViewportSignKdtreeItem::MakeTown(town->index));
2456 }
2457
2458 for (const Sign *sign : Sign::Iterate()) {
2459 if (sign->sign.kdtree_valid) items.push_back(ViewportSignKdtreeItem::MakeSign(sign->index));
2460 }
2461
2462 _viewport_sign_kdtree.Build(items.begin(), items.end());
2463}
2464
2465
2466static bool CheckClickOnLandscape(const Viewport &vp, int x, int y)

Callers 3

InitializeGameFunction · 0.85
UpdateAllVirtCoordsFunction · 0.85
AfterLoadGameFunction · 0.85

Calls 6

MakeStationFunction · 0.85
reserveMethod · 0.80
push_backMethod · 0.80
BuildMethod · 0.80
beginMethod · 0.45
endMethod · 0.45

Tested by

no test coverage detected