TomTom is your personal navigation assistant in World of Warcraft. This addon is very simple, but provides a nice set of functionality.
Thanks to Esamynn for Astrolabe, which used to do the bulk of the work in this addon, before Blizzard changed the mapping system.
Thanks to Nevcairiel for HereBeDragons, which now does the bulk of the work in this addon,
Bugs and Support (PLEASE READ)
Unfortunately I have been forced to disable user comments on Curse.com. For some absurd reason the site has stopped sending me emails when you guys post a new comment, making me completely unable to provide support via this means. I am still happy to provide assistance, both on Curseforge and Wowinterface:
http://wow.curseforge.com/addons/tomtom/tickets
http://www.wowinterface.com/downloads/fileinfo.php?id=7032
TomTom offers the following major features:
- Set waypoints via command, or by clicking on the world map
- A draggable coordinate display with customizable accuracy. This frame can be hidden or locked.
- Player and cursor coordinates on the World Map (these can be hidden)
- A floating "crazy-taxi" style arrow that points you to your destination
- Displaying the "crazy-taxi" arrow or coordinate block in compatible LDB displays, such as NinjaPanel
- Show a waypoint that points you towards your corpse for easy recovery
- Can set waypoints by clicking on quest objective POIs on the World Map and watch frame.
Please also check out LightHeaded
Slash Commands:
/tomtom - Opens configuration GUI
In addition you can use the /way command to add and reset waypoints. In order to overcome conflicts with the Cartographer /way command, you can also use /tway to access TomTom's waypoint command. The following slash commands are available:
Slash Command | Description | |
---|---|---|
/tway 14.78 23.9 | Add a new waypoint at 14.78, 23.90 | |
/tway Nagrand 45 50 | Add a new waypoint in Nagrand at 45, 50 | |
/tway 14.78 23.90 This is a waypoint! | Add a new waypoint with a description | |
/tway reset all | Remove ALL current waypoints | |
/tway reset Nagrand | Remove all waypoints in Nagrand | |
/wayb or /wayback | Sets a waypoint at the current location | |
/cway or /closestway | Set the crazy arrow to the closest waypoint | |
/tway list | List the current known waypoints | |
/tway arrow | Print the status of the Crazy Arrow |
TomTom has been designed to publish the Crazy-Arrow and Coordinate Block as LDB feeds, allowing them to be displayed in compatible display addons. I've written a very simple, easy-to-configure panel that is capable of displaying these called NinjaPanel.
If you're looking to bulk import waypoints (to track achievements, etc), a community member has provided a great addon that lets you do this easily. Take a look at Paste.
Donations:
Some folks have asked for how they can donate money, and for many years I've enjoyed hearing about how my addons have helped other people enjoy World of Warcraft. If you would like to donate, I'd ask you to make a donation to the Colorectal Cancer Alliance, a worthy organisation that helped my sister immensely from her diagnosis through her final years. If you or a family member suspect you might have something not right in your butt, please have a doctor check it out. Colorectal cancer is one of the most preventable cancers in the world.
In reply to jnwhiteh:
Fully uninstalled mod and reinstalled and cannot get the arrow to auto go away.
In reply to Vampyrr:
Once you've changed that setting it only applies to arrows set after the fact. If you create a new waypoint then you'll see it should clear automatically. Under the general options there's a button that will reapply your settings to all of your existing waypoints. It's a bit confusing, but hopefully that helps.
Hi,
Is there a reason the arrow disappears after a few seconds randomly, or when I open my world map? This only happens to an arrow related to a quest in another zone, but on the same continent.
In reply to Bigrezdog:
That sounds like you have another addon that is changing your map temporarily and then flipping it back, to be completely honest. I'd suggest seeing if you can reproduce the issue with just TomTom installed and then slowly re-enable addons until you can reproduce it and then you'll have the likely cause of the issue. If you see this behaviour with just TomTom then it may be a bug and I can try to look into it!
I have uploaded a new version (3.3.4-release) which should resolve some/most/all of the issues folks are seeing with ADDON_ACTION_FORBIDDEN. With some help of the folks on the UIDev discord I was able to track down an issue that was caused by the WorldMap integration that lets you click to set waypoints. The approach I was using broke really badly with Edit Mode and caused some unpredictable issues.
To reproduce you could open the world map, right-click on the world map, and then close the world map. Then open Edit mode. Press escape to close edit mode. You might need to do this multiple times but TomTom should get blamed.
The good news is I've replaced this with a version that should be safe from that issue. If you've been having issues with TomTom getting blamed with taint unpredictable, please update and see if this resolves your issue!
5x [ADDON_ACTION_FORBIDDEN] 插件 'TomTom' 尝试调用保护功能 'UseAction()'。
[string "@Interface/AddOns/!BugGrabber/BugGrabber.lua"]:480: in function <Interface/AddOns/!BugGrabber/BugGrabber.lua:480>
[string "=[C]"]: in function `UseAction'
[string "@Interface/FrameXML/SecureTemplates.lua"]:364: in function `handler'
[string "@Interface/FrameXML/SecureTemplates.lua"]:690: in function <Interface/FrameXML/SecureTemplates.lua:672>
[string "@Interface/FrameXML/SecureTemplates.lua"]:704: in function <Interface/FrameXML/SecureTemplates.lua:697>
[string "@Interface/FrameXML/SecureTemplates.lua"]:746: in function `SecureActionButton_OnClick'
[string "@Interface/FrameXML/ActionButton.lua"]:109: in function `TryUseActionButton'
[string "@Interface/FrameXML/MultiActionBars.lua"]:14: in function `MultiActionButtonDown'
[string "MULTIACTIONBAR3BUTTON12"]:2: in function <[string "MULTIACTIONBAR3BUTTON12"]:1>
4x TomTom\TomTom_Config.lua:941: attempt to call field 'OpenToCategory' (a nil value)
[string "@TomTom\TomTom_Config.lua"]:941: in function `?'
[string "@FrameXML\ChatFrame.lua"]:4933: in function <FrameXML\ChatFrame.lua:4879>
[string "=[C]"]: ?
[string "=[C]"]: in function `ChatEdit_ParseText'
[string "@FrameXML\ChatFrame.lua"]:4596: in function <FrameXML\ChatFrame.lua:4595>
[string "=[C]"]: in function `ChatEdit_SendText'
[string "@FrameXML\ChatFrame.lua"]:4632: in function `ChatEdit_OnEnterPressed'
[string "*:OnEnterPressed"]:1: in function <[string "*:OnEnterPressed"]:1>
Locals:
msg = ""
(*temporary) = nil
(*temporary) = "TomTom"
(*temporary) = "attempt to call field 'OpenToCategory' (a nil value)"
Is there a testable version in the beta for levelling in dragonflight?
In reply to Soul_w:
The retail version should work fine on beta, is something not working?
After recent updates of TomTom and MinimapButtonButton I ran into an issue - MBB collects TomTom's minimap arrows into itself, when there are a lot of directions it results in huge fps drop, can somebody look into it?
Disabling minimap arrows in TomTom doesn't help because they are not actually disabled, just appear hidden and MBB still reserving space for them.
MBB author made a hotfix to exclude TomTom buttons, but I still think maybe smth is wrong on TomTom side regarding not disabling minimap buttons correctly.
In reply to endo_morphine:
Interesting, I wonder what changed in MBB or the minimap implementation to cause that.
The way the "Enable waypoints on minimap" option is a bit confusing, but it's working as intended. When a waypoint is added to TomTom, that's when the world map and minimap options are set. This is because TomTom can be used to set waypoints, but also provide an API for other addons to set their waypoints. These will always use the options provided by the addon.
The options under World/Minimap in the options menu only refer to the waypoints that are set by TomTom using the /way command, the corpse arrow integration or similar. So if you change the option then any waypoints set after that will respect the option. Under the General Options tab there is even a button that will "reset" any waypoints to match your new options. Bad user experience and super confusing. I'm not sure I'll change it right now but I'll look into it.
You can test by setting a waypoint and then changing the display options (change the icon or disable minimap) and then go out and click the "Reset waypoint display options to current". This doesn't solve the issue that they're getting sorted into MBB (I haven't changed anything with that) but at least explains the other issue you were seeing.
The minimap setting is per arrow and will persist between reloads of TomTom, so I think you're correct in that the waypoints are still there.
1x [ADDON_ACTION_BLOCKED] AddOn 'TomTom' hat versucht die geschützte Funktion 'MainMenuBar:SetPointBase()' aufzurufen.
[string "@Interface/AddOns/!BugGrabber/BugGrabber.lua"]:480: in function <Interface/AddOns/!BugGrabber/BugGrabber.lua:480>
[string "=[C]"]: in function `SetPointBase'
[string "@Interface/FrameXML/EditModeSystemTemplates.lua"]:62: in function `SetPoint'
[string "@Interface/FrameXML/EditModeManager.lua"]:624: in function `UpdateBottomActionBarPositions'
[string "@Interface/FrameXML/EditModeManager.lua"]:555: in function `UpdateActionBarLayout'
[string "@Interface/FrameXML/ActionBar.lua"]:351: in function `UpdateVisibility'
[string "@Interface/FrameXML/ActionBar.lua"]:317: in function `Hide'
[string "@Interface/FrameXML/PetActionBar.lua"]:182: in function <Interface/FrameXML/PetActionBar.lua:120>
[string "=[C]"]: ?
[string "=[C]"]: in function `Update'
[string "@Interface/FrameXML/PetActionBar.lua"]:84: in function <Interface/FrameXML/PetActionBar.lua:70>
[string "=[C]"]: ?
In reply to GeoRam2016:
No easy fix for this right now, I'm afraid. If you have a reliable way to reproduce this every single time I will do my best to track it down and fix the issue
In reply to jnwhiteh:
Not sure if its helpful but I have a similar issue and can usually reproduce it simply by changing spec. Each time I change specs on my paladin or druid if I don't do a reload before each time in combat after a spec swap I always have this issue.
I have the latest version of Tom Tom in retail and had to disable it today in order for my action bars to work. This is the error:
1x [ADDON_ACTION_BLOCKED] AddOn 'TomTom' tried to call the protected function 'UIParentRightManagedFrameContainer:SetPoint()'.
[string "@Interface/AddOns/!BugGrabber/BugGrabber.lua"]:480: in function <Interface/AddOns/!BugGrabber/BugGrabber.lua:480>
[string "=[C]"]: in function `SetPoint'
[string "@Interface/SharedXML/AnchorUtil.lua"]:34: in function `SetPoint'
[string "@Interface/FrameXML/UIParent.lua"]:3086: in function `UIParentManageFramePositions'
[string "@Interface/FrameXML/UIParent.lua"]:2561: in function <Interface/FrameXML/UIParent.lua:2548>
[string "=[C]"]: in function `SetAttribute'
[string "@Interface/FrameXML/UIParent.lua"]:3104: in function `UIParent_ManageFramePositions'
[string "@Interface/FrameXML/EditModeManager.lua"]:641: in function `UpdateBottomActionBarPositions'
[string "@Interface/FrameXML/EditModeManager.lua"]:555: in function `UpdateActionBarLayout'
[string "@Interface/FrameXML/EditModeSystemTemplates.lua"]:655: in function `UpdateGridLayout'
[string "@Interface/FrameXML/StanceBar.lua"]:73: in function `UpdateState'
In reply to pshelton2:
If you open edit mode you'll have any number of addons that will cause this issue. You can always /reload to fix it. Blizzard's systems are mess right now. If you have a 100% reliably way to reproduce this, please let me know.
I have had the same issues in retail as posted by others that TomTom is interfering with the action bars. I am also getting this error today as well, though did not have to disable the addon. I use this addon constantly and hope it can be fixed for Dragonflight. - Thank you!
1x [ADDON_ACTION_BLOCKED] AddOn 'TomTom' tried to call the protected function 'UIParentRightManagedFrameContainer:SetPoint()'.
[string "@Interface/AddOns/!BugGrabber/BugGrabber.lua"]:480: in
UPDATE: I got this error again and this time had to disable TomTom to use my action bar
In reply to pshelton2:
I don't know why TomTom is being blamed in this case. If you can reliably reproduce this, please let me know the minimal reproduction steps. It probably has something to do with opening Edit mode, it's a taint monster. Alternatively you can /console taintLog 1, reload, and then send me the taint.log from your logs directly if you can reproduce this.
In reply to jnwhiteh:
I have the same issue as pshelton2 and others, also having taint issues with other addons (could be 10.0 "feature"?;-). This is from taint.log:
11/5 07:55:41.824 Global variable UIDROPDOWNMENU_MENU_LEVEL tainted by TomTom - Interface/SharedXML/UIDropDownMenu.lua:37
11/5 07:55:41.824 securecall()
11/5 07:55:41.824 Interface/SharedXML/UIDropDownMenu.lua:73 UIDropDownMenu_Initialize()
11/5 07:55:41.824 Interface/AddOns/Blizzard_WorldMap/Blizzard_WorldMapTemplates.lua:11 Frame:Refresh()
11/5 07:55:41.824 Interface/AddOns/Blizzard_WorldMap/Blizzard_WorldMap.lua:284
11/5 07:55:41.824 WorldMapFrame:RefreshOverlayFrames()
11/5 07:55:41.824 Interface/AddOns/Blizzard_WorldMap/Blizzard_WorldMap.lua:232
11/5 07:55:41.824 WorldMapFrame:OnMapChanged()
11/5 07:55:41.824 Interface/AddOns/Blizzard_MapCanvas/Blizzard_MapCanvas.lua:60 WorldMapFrame:SetMapID()
11/5 07:55:41.824 Interface/AddOns/Blizzard_WorldMap/Blizzard_WorldMap.lua:242
11/5 07:55:41.824 WorldMapFrame:Show()
11/5 07:55:41.824 Interface/FrameXML/UIParent.lua:2844 Frame:SetUIPanel()
11/5 07:55:41.824 Interface/FrameXML/UIParent.lua:2687 Frame:ShowUIPanel()
11/5 07:55:41.824 Interface/FrameXML/UIParent.lua:2552
11/5 07:55:41.824 Frame:SetAttribute()
11/5 07:55:41.824 Interface/FrameXML/UIParent.lua:3150 ShowUIPanel()
11/5 07:55:41.824 Interface/FrameXML/QuestLogOwnerMixin.lua:103 WorldMapFrame:SetDisplayState()
11/5 07:55:41.824 Interface/FrameXML/QuestLogOwnerMixin.lua:41 WorldMapFrame:HandleUserActionToggleSelf()
11/5 07:55:41.824 Interface/AddOns/Blizzard_WorldMap/Blizzard_WorldMap.lua:439 ToggleWorldMap()
11/5 07:55:41.824 TOGGLEWORLDMAP:1
11/5 07:55:41.824 Execution tainted by TomTom while reading UIDROPDOWNMENU_MENU_LEVEL - Interface/SharedXML/UIDropDownMenu.lua:953 UIDropDownMenu_GetSelectedID()
11/5 07:55:41.824 Interface/SharedXML/UIDropDownMenu.lua:827 UIDropDownMenu_Refresh()
11/5 07:55:41.824 Interface/SharedXML/UIDropDownMenu.lua:932 UIDropDownMenu_SetSelectedValue()
11/5 07:55:41.824 Interface/AddOns/Blizzard_WorldMap/Blizzard_WorldMapTemplates.lua:12 Frame:Refresh()
11/5 07:55:41.824 Interface/AddOns/Blizzard_WorldMap/Blizzard_WorldMap.lua:284
11/5 07:55:41.824 WorldMapFrame:RefreshOverlayFrames()
11/5 07:55:41.824 Interface/AddOns/Blizzard_WorldMap/Blizzard_WorldMap.lua:232
11/5 07:55:41.824 WorldMapFrame:OnMapChanged()
11/5 07:55:41.824 Interface/AddOns/Blizzard_MapCanvas/Blizzard_MapCanvas.lua:60 WorldMapFrame:SetMapID()
11/5 07:55:41.824 Interface/AddOns/Blizzard_WorldMap/Blizzard_WorldMap.lua:242
11/5 07:55:41.824 WorldMapFrame:Show()
11/5 07:55:41.824 Interface/FrameXML/UIParent.lua:2844 Frame:SetUIPanel()
11/5 07:55:41.824 Interface/FrameXML/UIParent.lua:2687 Frame:ShowUIPanel()
11/5 07:55:41.824 Interface/FrameXML/UIParent.lua:2552
11/5 07:55:41.824 Frame:SetAttribute()
11/5 07:55:41.824 Interface/FrameXML/UIParent.lua:3150 ShowUIPanel()
11/5 07:55:41.824 Interface/FrameXML/QuestLogOwnerMixin.lua:103 WorldMapFrame:SetDisplayState()
11/5 07:55:41.824 Interface/FrameXML/QuestLogOwnerMixin.lua:41 WorldMapFrame:HandleUserActionToggleSelf()
11/5 07:55:41.824 Interface/AddOns/Blizzard_WorldMap/Blizzard_WorldMap.lua:439 ToggleWorldMap()
11/5 07:55:41.824 TOGGLEWORLDMAP:1
11/5 07:55:41.824 Interface/FrameXML/ActionButton.lua:1053 UpdateFlyout()
11/5 07:55:41.824 An action was blocked because of taint from TomTom -
11/5 07:55:41.824 UseAction()
11/5 07:55:41.824 Interface/FrameXML/SecureTemplates.lua:364 handler()
11/5 07:55:41.824 Interface/FrameXML/SecureTemplates.lua:690 PerformAction()
11/5 07:55:41.824 Interface/FrameXML/SecureTemplates.lua:704 OnActionButtonClick()
11/5 07:55:41.824 Interface/FrameXML/SecureTemplates.lua:746 SecureActionButton_OnClick()
11/5 07:55:41.824 Interface/FrameXML/ActionButton.lua:109 TryUseActionButton()
11/5 07:55:41.824 Interface/FrameXML/MultiActionBars.lua:22 MultiActionButtonUp()
11/5 07:55:41.824 MULTIACTIONBAR1BUTTON2:4
11/5 07:55:43.356 Interface/FrameXML/ActionButton.lua:1053 UpdateFlyout()
11/5 07:55:43.356 An action was blocked because of taint from TomTom -
11/5 07:55:43.356 UseAction()
11/5 07:55:43.356 Interface/FrameXML/SecureTemplates.lua:364 handler()
11/5 07:55:43.356 Interface/FrameXML/SecureTemplates.lua:690 PerformAction()
11/5 07:55:43.356 Interface/FrameXML/SecureTemplates.lua:704 OnActionButtonClick()
11/5 07:55:43.356 Interface/FrameXML/SecureTemplates.lua:746 SecureActionButton_OnClick()
11/5 07:55:43.356 Interface/FrameXML/ActionButton.lua:109 TryUseActionButton()
11/5 07:55:43.356 Interface/FrameXML/MultiActionBars.lua:22 MultiActionButtonUp()
11/5 07:55:43.356 MULTIACTIONBAR1BUTTON2:4
11/5 07:55:46.590 Interface/FrameXML/ActionButton.lua:1053 UpdateFlyout()
11/5 07:55:46.590 An action was blocked because of taint from TomTom -
11/5 07:55:46.590 UseAction()
11/5 07:55:46.590 Interface/FrameXML/SecureTemplates.lua:364 handler()
11/5 07:55:46.590 Interface/FrameXML/SecureTemplates.lua:690 PerformAction()
11/5 07:55:46.590 Interface/FrameXML/SecureTemplates.lua:704 OnActionButtonClick()
11/5 07:55:46.590 Interface/FrameXML/SecureTemplates.lua:746 SecureActionButton_OnClick()
11/5 07:55:46.590 Interface/FrameXML/ActionButton.lua:109 TryUseActionButton()
11/5 07:55:46.590 Interface/FrameXML/ActionButton.lua:157 ActionButtonUp()
11/5 07:55:46.590 ACTIONBUTTON2:4
11/5 07:57:40.811 Interface/FrameXML/ActionButton.lua:1053 UpdateFlyout()
11/5 07:57:40.811 An action was blocked because of taint from TomTom -
11/5 07:57:40.811 UseAction()
11/5 07:57:40.811 Interface/FrameXML/SecureTemplates.lua:364 handler()
11/5 07:57:40.811 Interface/FrameXML/SecureTemplates.lua:690 PerformAction()
11/5 07:57:40.811 Interface/FrameXML/SecureTemplates.lua:704 OnActionButtonClick()
11/5 07:57:40.811 Interface/FrameXML/SecureTemplates.lua:746 SecureActionButton_OnClick()
11/5 07:57:40.811 Interface/FrameXML/ActionButton.lua:109 TryUseActionButton()
11/5 07:57:40.811 Interface/FrameXML/ActionButton.lua:157 ActionButtonUp()
11/5 07:57:40.811 ACTIONBUTTON2:4
In reply to sth_dev:
That looks like an old version of TomTom. UIDROPDOWNMENU_MENU_LEVEL does not exist anywhere in TomTom anymore, and I've replaced the implementation entirely.