From 1af0230d641eae5d47baee1424a26376169722b2 Mon Sep 17 00:00:00 2001 From: Ludovicus Date: Tue, 13 Aug 2019 18:55:16 -0400 Subject: [PATCH] First draft of README --- README.md | 124 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 123 insertions(+), 1 deletion(-) mode change 100644 => 100755 README.md diff --git a/README.md b/README.md old mode 100644 new mode 100755 index 346f754..6a6f292 --- a/README.md +++ b/README.md @@ -1,8 +1,130 @@ # TomTom Acts as your portable navigation assistant for World of Warcraft -## Supported Commands +## Supported Console Commands + +### /way /tway /tomtomway + +This command sets waypoints and lets you perform simple operations. +In case /way is used by some other addon, /tway and /tomtomway are aliases. +Subcommands are: + +#### /tomtomway local +List all the waypoints in the local zone. + +#### /tomtomway list +List all the waypoints everywhere. + +#### /tomtomway arrow +Print the status of the crazy arrow. + +#### /tomtomway block +Print the status of the coordinate block. + +#### /tomtomway reset \[all]|\[zone] +Reset either all the waypoints or just the ones in a specific zone. + +#### /tomtomway +Create a waypoint in the current zone. +Coordinates are currently use a '.' as the decimal separator. +The description is whatever is after the y coordinate. + +#### /tomtomway +Create a waypoint in the specified zone. +Coordinates are currently use a '.' as the decimal separator. +The description is whatever is after the y coordinate. + +### /cway +Set the active waypoint to be the closest one. + +# /wayb +Drop a waypoint at your current location. + +### /tomtom +Open the TomTom Interface options. ## Zone Naming Conventions +TBD + + ## Supported Addon API + +Definitions: + +* **map**: a integer representing the mapID + See https://wowwiki.fandom.com/wiki/MapID . +* **x**: The horizontal coordinate, normally from 0..1 . + Can be negative, for Baa'l secret. +* **y**: The vertical coordinate, normally from 0..1 . + Can be negative, for Baa'l secret. +* **uid**: A table representing the waypoint. + Since you are going to look anyways, it currently looks like: + * \[1]: map + * \[2]: x + * \[3]: y + * title: The description of the waypoint + * \: All the rest of the options. +* **callbacks**: A table used to describe the functions that will be called +as a waypoint is approached. The table is structured as follows: + * distance: a table indexed by distance. + * minimap: a table with the following subkeys: + * onclick: a function called with (event, uid, self, button) when the icon is clicked. + * tooltip_show: a function called when the tooltip is initially shown with (event, tooltip, uid, dist) + * tooltip_update: a function called on tooltip update with (event, tooltip, uid, dist) + * world: a table with the following subkeys: + * onclick: a function called with (event, uid, self, button) when the icon is clicked. + * tooltip_show: a function called when the tooltip is initially shown with (event, tooltip, uid, dist) + * tooltip_update: a function called on tooltip update with (event, tooltip, uid, dist) + +### uid = TomTom:AddWaypoint(map, x, y, options) +AddWaypoint creates a new waypoint. The options are: +* title: Required string describing the waypoint +* source: Required string describing who is setting the waypoint. + This will be displayed when mosuing over the arrow or waypoint. +* persistent: Optional boolean saying if the waypoint should persist across logins. +* minimap: Optional Boolean that defaults to the profile.minimap.enable +* minimap_icon: Optional texture that defaults to profile.minimap.icon +* minimap_icon_size: Optional texture that defaults to profile.minimap.icon_size +* world: Optional Boolean that defaults to the profile.worldmap.enable +* worldmap_icon: Optional Boolean that defaults to the profile.worldmap.icon +* worldmap_icon_size: Optional Boolean that defaults to the profile.worldmap.icon_size +* crazy: Optional Boolean that defaults to profile.arrow.autoqueue +* cleardistance: Optional number that defaults to profile.persistence.cleardistance +* arrivaldistance: Optional number that defaults to profile.arrow.arrival +* silent: Optional Boolean that suppresses announcing the creation of the waypoint +* callbacks: Overrides for the default callbacks + + +### callbacks = TomTom:DefaultCallbacks(opts) +Generate the default callback tables using the given options table. + +### uid = TomTom:AddWaypointToCurrentZone(x, y, desc) +AddWaypointToCurrentZone creates a waypoint in the current zone with all default options except for the description. + +### TomTom:RemoveWaypoint(uid) +RemoveWaypoint removes the waypoint identified by the uid from the world-map, mini-map and crazy arrow. +It will also be removed from the persistence list. + +### TomTom:HideWaypoint(uid, minimap, worldmap) +HideWaypoint on either the mini-map or world-map. + +### TomTom:ShowWaypoint(uid) +ShowWaypoint as per the options. + +### TomTom:ClearWaypoint(uid) +ClearWaypoint deactivates the waypoint. + +### yards = TomTom:GetDistanceToWaypoint(uid) +Return the number of yards to reach the waypoint. + +### angle = TomTom:GetDirectionToWaypoint(uid) +Return the angle (in radians) to the waypoint. + +### TomTom:SetClosestWaypoint(verbose) +Set the arrow to the closest waypoint. +If verbose is true, announce in chat. + +### m, x, y = TomTom:GetCurrentPlayerPosition() +Return the current map, x, and y coordinates of the player. + -- 1.7.9.5