mirror of
https://github.com/Kelsidavis/WoWee.git
synced 2026-05-02 15:53:51 +00:00
feat: show discovered taxi nodes as markers on the world map
Add gold diamond markers for every flight master the player has already discovered (knownTaxiMask_), read from TaxiNodes.dbc and filtered to the current continent/map being displayed: - WorldMapTaxiNode struct carries canonical WoW coords + known flag - WorldMap::setTaxiNodes() accepts the per-frame list from game_screen - renderImGuiOverlay() projects each known node to UV, draws a gold diamond (AddQuadFilled) with a dark outline, and shows the node name as a tooltip on hover - GameHandler::isKnownTaxiNode(id) checks knownTaxiMask_[] efficiently - Markers update live — newly discovered nodes appear without reopening the map
This commit is contained in:
parent
488ec945b6
commit
d60d296b77
4 changed files with 75 additions and 0 deletions
|
|
@ -1919,6 +1919,11 @@ public:
|
|||
float x = 0, y = 0, z = 0;
|
||||
};
|
||||
const std::unordered_map<uint32_t, TaxiNode>& getTaxiNodes() const { return taxiNodes_; }
|
||||
bool isKnownTaxiNode(uint32_t nodeId) const {
|
||||
if (nodeId == 0 || nodeId > 384) return false;
|
||||
uint32_t idx = nodeId - 1;
|
||||
return (knownTaxiMask_[idx / 32] & (1u << (idx % 32))) != 0;
|
||||
}
|
||||
uint32_t getTaxiCostTo(uint32_t destNodeId) const;
|
||||
bool taxiNpcHasRoutes(uint64_t guid) const {
|
||||
auto it = taxiNpcHasRoutes_.find(guid);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue