WoWInterface (
-   General Authoring Discussion (
-   -   Add New Code in New File to Existing Addon (

eoblaed 07-19-18 02:02 PM

Add New Code in New File to Existing Addon
I have several addons that still use the old GetMapNameByID() API call. This is now a 'nil'.

I wrote a thin wrapper function that looks up the old worldID, converts it to the new style UiMapID, and returns C_Map.GetMapInfo(newid).name. The code works when I embed it directly into the various .lua files of the addon (but, that's not a great solution).

What I'm trying to do is create a new file, MapCompat.lua, in such a way that will allow the other pre-existing lua files in the addon to see the GetMapNameByID() call in that new .lua file.

Not having authored an addon before, there's a seemingly labyrinthine combination of .xml, .toc, etc, and I haven't quite hit on the right combination of things to do what I want to do.

Any pointers?


Kanegasi 07-19-18 02:09 PM

No need to change or mess with any addons. If what you have works, just make a separate addon with the code and all addons will see it. You may have to name the addon with a ! in front to make sure it loads first. Those functions are global objects, so addons will see your change.

To make it even simpler, go to, paste your code, and unzip it like any other addon.

Fizzlemizz 07-19-18 02:30 PM

Also, for future reference, if you want to pass information between modules (.lua files) within the same addon, each .lua file is "passed" two parameters, the name of the addon and a table that is exlcusive to that addon.

To use them, at the top of each file add


local addonName, addonTable = ...
the names can be anything you like.

You can create a function

function addonTable:GetMapNameByID()

Anywhere within your addon .lua files you can now call:


eoblaed 07-19-18 03:37 PM

Thanks for the responses!

I've got things working now with the 'make an addon with the functions I'd like to be global' approach. I wasn't aware the scoping was that permissive. It's working now, though. Thanks!

All times are GMT -6. The time now is 04:28 PM.

vBulletin © 2019, Jelsoft Enterprises Ltd
© 2004 - 2019 MMOUI