I'm a bit overwhelmed by writting AddOns, but I'm determined to learn. I've read tutorial after tutorial and though they make since, they don't seem to help. So I'm wondering if you (the gurus) could give me step by step instructions for writting a simple AddOn with comments as to why/how you did things.

The AddOn I'd like to create is a MiniMap AddOn that does a few things:

Make the MiniMap frame moveable, hideable (I know it's in the game already), and scalable.

Change the artwork for it, along with options for pre-determined "schemes".

Change the shape (Circle, Box, Diamond, and maybe Octogon).

Change the shape, size, and alpha of the buttons around the MiniMap.

I know the very basics, like creating a TOC file and what goes in it, but I have no idea how to structure the XML file(s). Also, I'm a big confused on how the LUA code correlates to the XML script tags.

2. Change the artwork for it, along with options for pre-determined "schemes".

Put all the replacement textures in your addon folder and then :SetTexture to each artwork element. This will only work for elements that have a name. (I believe all do in the minimap cluster now)

3. Change the shape (Circle, Box, Diamond, and maybe Octogon).

Make the artwork above cover more of the minimap in the desired shape. The round minimap is untouchable by mods.

4. Change the shape, size, and alpha of the buttons around the MiniMap.

You can change the size with :SetHeight and :SetWidth. The shape you can overlay an image but you generally won't be able to alter the existing artwork of non-default buttons without enumerating the child windows it and hoping the textures are named. To get the buttons you can enumerate through the child windows of the Minimap frame.