Hi, thanks for this great algorithm & addon! I would like to propose a new function to edit given routes or even create own routes. Sometimes, I just don't like many of the random results all that much, or add a short-cut here and there. If I could eventually run these edited routes through your random optimizations again, that would be incredibly awesome!
Another nice feature would be compatibility with the Carbonite map addon. Currently, routes won't show up on that map. Don't know if this is the fault of Routes or Carbonite though. edit: I just looked very closely again, and it sure seems like Carbonite displays the route after all, but just 1 pixel thick and very hard to see. None of Routes' 3 thickness sliders seems to adjust this line right there. Damn!
One more thing, would be nice to access the addon's interface through the normal game interface menu, where all other addons are listed, not having to type /routes every time.
Good evening!
1. You can already edit a route manually by clicking the "Edit Route" button somewhere in one of the tabs inside a route. The interface is exactly the same as how you would drag nodes in Google Maps. Click a "intermediate smaller node" to insert a node, right click a node to delete it.
2. You can create your own routes by creating a BARE ROUTE from the Add Route section, then editing it manually. You can then optimize this easily.
3. Currently I have no plans to support Carbonite or any external map addon, nor any future plans to do so. Routes will work on only the default UI's map (which most map addons modify without interference to Routes).
4. The default user interface's options is too small to fit Route's various options.
Just edit the local Routes.toc, it works fine with 4.1
Or click the "Load out of Date addons" checkbox, you know. It's there so you don't actually have to edit the TOC, so you can actually know which addons are potentially broken/outdated.
You can look at the code of Fubar_RoutesFu. It's quite a small addon. Other than that, no, there isn't any API, since I'm accessing the database in Routes _directly_ in the code, like...
zone_data = CR.db.global.routes[zone]
Routes' db format is in comments at the top of Routes.lua. A route is an array of coordinates, with a possible metadata table for clustered routes (where it stores what each clustered node original nodes are). Look in your SavedVariables.
Re-optimizing do not add the newly discovered nodes and I'm using Gatherer so I guess I'm out of luck.
That's correct, Gatherer does not have any method to inform other addons when it finds a new node. I've been talking to Esamynn on and off about it, he's interested in implementing something, but he's really busy.
Routes is currently bugging out when using HandyNotes as a data source.
Have not used the mod since long before HandyNotes was last updated, so may be related to one of its updates. Routes v1.2.8a-4-ga72021e, HandyNotes v1.1.5, GatherMate r691, Ace3 r965 (disembedded).
1. Load the mod options panel by typing /routes (no prior saved variables present).
2. Click the Add button (first error below occurs then).
3. Then uncheck "HandyNotes" in the Select Sources of Data section (GatherMate is the other data source available here; it has no issues with Routes).
4. Close the options box. Reopen it and recheck "HandyNotes" in the area above (second error below occurs then).
["message"] = "Routes-v1.2.8a-4-ga72021e\\Plugins\\HandyNotes.lua:41: table index is nil\nRoutes-v1.2.8a-4-ga72021e\\Routes.lua:2132: in function `member'\nAceConfigDialog-3.0-49:251: in function <...nfig-3.0\\AceConfigDialog-3.0\\AceConfigDialog-3.0.lua:199>\nAceConfigDialog-3.0-49:1191: in function <...nfig-3.0\\AceConfigDialog-3.0\\AceConfigDialog-3.0.lua:1051>\nAceConfigDialog-3.0-49:1538: in function `FeedGroup'\nAceConfigDialog-3.0-49:1463: in function <...nfig-3.0\\AceConfigDialog-3.0\\AceConfigDialog-3.0.lua:1443>\n(tail call): ?:\n<in C code>: ?\n<string>:\"safecall Dispatcher[3]\":9: in function <[string \"safecall Dispatcher[3]\"]:5>\n(tail call): ?:\nAceGUI-3.0-33 (Ace3):314: in function `Fire'\n...ce3\\AceGUI-3.0\\widgets\\AceGUIContainer-TreeGroup.lua:473: in function `SetSelected':\n...ce3\\AceGUI-3.0\\widgets\\AceGUIContainer-TreeGroup.lua:192: in function <...ce3\\AceGUI-3.0\\widgets\\AceGUIContainer-TreeGroup.lua:188>:\n\n ---",
["type"] = "error",
["session"] = 732,
["counter"] = 1,
}, -- [221]
[FONT=monospace][FONT=verdana]
After doing steps 3. & 4. above:
[/FONT][/FONT]
["message"] = {
"Routes-v1.2.8a-4-ga72021e\\Plugins\\HandyNotes.lua:41: table index is nil\nRoutes-v1.2.8a-4-ga72021e\\Routes.lua:2132: in function `member'\nAceConfigDialog-3.0-49:251: in function <...nfig-3.0\\AceConfigDialog-3.0\\AceConfigDialog-3.0.lua:199>\nAceConfigDialog-3.0-49:1191: in function <...nfig-3.0\\AceConfigDialog-3.0\\AceConfigDialog-3.0.lua:1051>\nAceConfigDialog-3.0-49:1538: in function `FeedGroup'\nAceConfigDialog-3.0-49:1463: in function <...nfig-3.0\\AceConfigDialog-3.0\\AceConfigDialog-3.0.lua:1443>\n(tail call): ?:\n<in C code>: ?\n<string>:\"safecall Dispatcher[3]\":9: in function <[string \"safecall Dispatcher[3]\"]:5>\n(tail call): ?:\nAceGUI-3.0-33 (Ace3):314: in function `Fire'\n...ce3\\AceGUI-3.0\\widgets\\AceGUIContainer-TreeGroup.lua:486: in function `Select':\n...ce3\\AceGUI-3.0\\widgets\\AceGUIContainer-TreeGroup.lua:494: in function `SelectByValue':\nAceConfigDialog-3.0-49:1638: in function `FeedGroup'\nAceConfigDialog-3.0-49:1814: in function `Open'\nAceConfigDialog-3.0-49:862: ", -- [1]
"in function <...nfig-3.0\\AceConfigDialog-3.0\\AceConfigDialog-3.0.lua:854>\n(tail call): ?:\n<in C code>: ?\n<string>:\"safecall Dispatcher[3]\":9: in function <[string \"safecall Dispatcher[3]\"]:5>\n(tail call): ?:\nAceGUI-3.0-33 (Ace3):314: in function `Fire'\n...ns\\Ace3\\AceGUI-3.0\\widgets\\AceGUIWidget-CheckBox.lua:68: in function <...ns\\Ace3\\AceGUI-3.0\\widgets\\AceGUIWidget-CheckBox.lua:57>:\n\n ---", -- [2]
},
["type"] = "error",
["session"] = 732,
["counter"] = 1,
}, -- [222]
There were for sure no invalid HandyNotes present in the zones these errors occurred on; they occurred in 4 different zones tried. No problems after either deleting the HandyNotes.lua Routes module or commenting it out in the TOC. And no problems using GatherMate alone as the data source[FONT=monospace].
[/FONT]
I know this is a bit slow in replies, but I took a look at your case (and your ticket), and concluded that it is an invalid report. What happens is that you have a HandyNote with a nil title, which is a symptom that when you imported data from Cartographer_Notes, the import was improperly done. HandyNotes by default will not have a nil title, if the title was left blank, it would be an empty string "".
Granted, I will probably add a nil check now just to avoid it. [This nil check will be in a alpha commit after the v1.3.0 tag]
Anyone have a patch or idea for the AutoShow module? There's a couple out if date API calls in there. I know Xin's prolly busy ATM and I was just wondering if someone had a workaround.
The way I understand it is that Routes selects the nearest node which is included in a route, and starts from that one.
So, to change to e.g. mining nodes when you are on a herb route, stand next to a mining node with no herb nodes immediately nearby, so you can be sure it's the nearest, and "start" again.
vociferoy, that error means that you have Carbonite installed. Carbonite pretends to be Cartographer to other addons for some map purposes, and it fails pretty badly, since Routes is trying to ask Cartographer to see if it has a module called "WayPoints" installed, and Carbonite's imitation of Cartographer doesn't have this function.
In other words, Routes and Cartographer (the real one) works perfectly fine. Routes and Carbonite does not since it tries to pretend that Cartographer exists.
I could probably add in a check to see if Carbonite is loaded, since this issue comes up again and again. I don't know if you want to try Carbonite's own implementation of Routes anyway, I think it generates less efficient routes and doesn't have many useful features like taboo regions. :D
Meanwhile, you can disable Carbonite, create/edit your routes, then enable Carbonite again.
is where your routes are stored. They are not character or server specific, any route created can be viewed on any character on any server on any faction, if the appropriate auto-show/hide settings are set (if auto-show/hide is on).
All addon saved data are stored in your WTF folder as plain text files. If you don't touch your WTF folders, no data should ever be lost. What goes into your Interface folder are just the addon code and graphic/sound files.
Can you guys provide any insight to the "TexCoord out of range" error? Is there something in common perhaps, that makes that error occur? The DrawLine() code has not changed at all for a year, and we're kinda totally stumped ourselves why the error occurs.
Good evening!
1. You can already edit a route manually by clicking the "Edit Route" button somewhere in one of the tabs inside a route. The interface is exactly the same as how you would drag nodes in Google Maps. Click a "intermediate smaller node" to insert a node, right click a node to delete it.
2. You can create your own routes by creating a BARE ROUTE from the Add Route section, then editing it manually. You can then optimize this easily.
3. Currently I have no plans to support Carbonite or any external map addon, nor any future plans to do so. Routes will work on only the default UI's map (which most map addons modify without interference to Routes).
4. The default user interface's options is too small to fit Route's various options.
Will probably look at this some time this week.
Or click the "Load out of Date addons" checkbox, you know. It's there so you don't actually have to edit the TOC, so you can actually know which addons are potentially broken/outdated.
zone_data = CR.db.global.routes[zone]
Routes' db format is in comments at the top of Routes.lua. A route is an array of coordinates, with a possible metadata table for clustered routes (where it stores what each clustered node original nodes are). Look in your SavedVariables.
That's correct, Gatherer does not have any method to inform other addons when it finds a new node. I've been talking to Esamynn on and off about it, he's interested in implementing something, but he's really busy.
Well, turns out the thing wasn't too hard to fix. So its all fixed now.
And yeah Dethling!
I know this is a bit slow in replies, but I took a look at your case (and your ticket), and concluded that it is an invalid report. What happens is that you have a HandyNote with a nil title, which is a symptom that when you imported data from Cartographer_Notes, the import was improperly done. HandyNotes by default will not have a nil title, if the title was left blank, it would be an empty string "".
Granted, I will probably add a nil check now just to avoid it. [This nil check will be in a alpha commit after the v1.3.0 tag]
Yeah I have to prepare to go to Blizzcon! :P
^ This. :)
In other words, Routes and Cartographer (the real one) works perfectly fine. Routes and Carbonite does not since it tries to pretend that Cartographer exists.
I could probably add in a check to see if Carbonite is loaded, since this issue comes up again and again. I don't know if you want to try Carbonite's own implementation of Routes anyway, I think it generates less efficient routes and doesn't have many useful features like taboo regions. :D
Meanwhile, you can disable Carbonite, create/edit your routes, then enable Carbonite again.
is where your routes are stored. They are not character or server specific, any route created can be viewed on any character on any server on any faction, if the appropriate auto-show/hide settings are set (if auto-show/hide is on).