WoWInterface

WoWInterface (https://www.wowinterface.com/forums/index.php)
-   AddOn Search/Requests (https://www.wowinterface.com/forums/forumdisplay.php?f=6)
-   -   Minimap Textures Library? (https://www.wowinterface.com/forums/showthread.php?t=58096)

LudiusMaximus 07-14-20 09:18 AM

Minimap Textures Library?
 
I've been pondering the idea of a "satellite view" map. Just like https://wow.tools/maps but in-game. Has something like that been done before? I know Atlas, but I think it is mainly for dungeons using its own grahics; not necessarily the actual minimap textures.

I think there is no way in the API to arbitratily browse the minimap textures, right?
Then one would have to export the textures and put the files into the addon folder and somehow do the mapping between coordinates and the textures. Has this been done before or even as a library?

Seerah 07-14-20 11:39 AM

This has been done a couple of times. I can't remember the names of any atm... Basically you have to patch it all together yourself.

LudiusMaximus 07-14-20 11:41 AM

Quote:

Originally Posted by Seerah (Post 336341)
This has been done a couple of times. I can't remember the names of any atm... Basically you have to patch it all together yourself.

All right, so there is nothing which is still maintained up to today, or anything one could use as a start off point?

jeffy162 07-14-20 02:25 PM

Check Carbonite Maps. That might be something similar to what you want. At the very least it with give you some ideas.

DISCLAIMER : Carbonite is a quest helping addon that has it's own maps.

elcius 07-14-20 04:21 PM

The minimap textures are stored in /World/Minimaps/, iirc addons were forbidden from accessing files outside of /Interface in a recent patch, so you'll have to make a copy in the addons folder.

Texture files are separated into folders. prior to the C_Map overhaul, the map folder names were exposed ingame, but i don't think that is the case anymore, so you'll probably need to create a lookup table for converting map ids to folder names.

Inside the map folders you'll find a mess of 256x256 texture fragments, you'll need to piece them together, just place them on a 64x64 grid as they are numbered (there will be lots missing, even on continent maps), tile 32_32 will be the map center (it's also where the 0,0 world position is in-game).

mini-map overlays (indoor stuff, buildings caves, etc) are also available in those folders, but their use is heavily tied to 3D world positioning and information about them has never been exposed to the lua engine.

LudiusMaximus 07-14-20 04:36 PM

Quote:

Originally Posted by elcius (Post 336347)
Inside the map folders you'll find a mess of 256x256 texture fragments, you'll need to piece them together, just place them on a 64x64 grid as they are numbered (there will be lots missing, even on continent maps), tile 32_32 will be the map center (it's also where the 0,0 world position is in-game).

Thanks! I thought maybe it is easier to use the ready-made 512x512 minimap tiles you can export with wow.export?

LudiusMaximus 07-14-20 05:38 PM

Quote:

Originally Posted by elcius (Post 336347)
just place them on a 64x64 grid as they are numbered

If I wanted to do this, I would need the fileID of every tile, right?


I can do
Code:

local testFrame = CreateFrame("Frame", nil, UIParent)
testFrame:SetSize(512, 512)
testFrame:SetPoint("CENTER", 0, 0)

local box = testFrame:CreateTexture()
box:SetAllPoints()
box:SetTexture(207980)


But
Code:

box:SetTexture("world/minimaps/kalimdor/map32_31.blp")
does not work (any more?).


So I guess I would need a mapping from filename -> fileId somewhere in my lua code?
Is there a conveniant way to get this?

EDIT: Is there a more conveniant way than to manually create a file like this?
https://gist.github.com/LudiusMaximu...e8ea53d85ec11f

elcius 07-14-20 07:16 PM

if you want to use the file ids, then you'll need to make a lookup table like the one you linked. I'm pretty sure that data is stored in /dbfilesclient/texturefiledata.db2 (could be wrong, just guessing), you can extract it using CASCExplorer and a db2 reader, you'll probably have to figure out how it's formatted, or find someone who has done it already.


All times are GMT -6. The time now is 07:23 PM.

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